Skip to content

32l/C-SLAM

 
 

Repository files navigation

C_SLAM

C_SLAM, Is a Cognitive Self Localization And Mapping fremework, that works using knowledge about the world to recognise objects,, create a map and localize the robot. The aim of this project is to work get a realiable SLAM system in noisy and mutable envirorment to perform navigation and path plannning tasks with low computational power, not to get a high precision SLAM system.

USAGE

You need to install the ROS middleware to compile and execute the code in this repository. Furthermore, some part of the code need the OpenCV libraries to be installed on your system (this should be automatically done by ROS), flex and bison.

COMPILING

The system can be build using the ros build tool catkin. Just create a catkin workspace, put the content of this repository in the src repository and run catkin_make to build the system. check this tutorial to get more info on catkin.

RUNNING THE REASONER

The reasoner can be used either to evaluate fuzzy rules from a knowledge base or for classify objects by using a fuzzy classifier tree, for which you must specify both a knowledge base for the fuzzy rules and the file of the classifier.

To run the reasoner node:

rosrun c_fuzzy c_fuzzy_reasoner < KNOWLEDGEBASE_PATH > < KNOWLEDGEBASE_CLASSIFIER_PATH > < CLASSIFIER_PATH >

the reasoner will activate two services:

  • /classification
  • /reasoning

RUNNING THE SYSTEM

There is a launch file that can be used to launch the system, that can be used with the AR Drone ROS driver, or with rqt_bag to test the system using AR Drone bags. It also launch the image_proc node to rectify the AR drone input image. You can use the launch file with the following command:

roslaunch c_slam c_slam.launch

Copyright & contacts

This project is distributed under the GNU GPL license, version 3.

(C) 2012-2014 Davide Tateo

(C) 2012-2014 Politecnico Di Milano

For further information, please contact davide.tateo90@gmail.com

Releases

No releases published

Packages

No packages published

Languages

  • C++ 83.2%
  • MATLAB 7.6%
  • CMake 3.5%
  • Yacc 2.0%
  • Lex 1.2%
  • Python 1.1%
  • Other 1.4%