3D Map generated by the database
Grid Map generated by the database
.RoboND_Map_My_World Inside "catkin_ws/src" # Project 04: Map My World
├── my_robot # my_robot package
│ ├── launch
│ │ ├── mapping.launch # Launch robot mapping (without rtabmapviz)
│ │ ├── localization.launch # Launch robot localization (with rtabmapviz)
│ │ ├── robot_description.launch
│ │ ├── world.launch # Launch empty world (with rtabmapviz)
│ │ └── teleop.launch # Launch empty world (with rtabmapviz)
│ ├── meshes
│ │ └── hokuyo.dae
│ ├── urdf
│ │ ├── my_robot.gazebo
│ │ └── my_robot.xacro
│ ├── worlds
│ │ ├── my.world # The world for robot mapping and localization
│ │ └── ... # Other worlds I created
│ ├── CMakeLists.txt
│ └── package.xml
├── teleop_twist_keyboard # teleop_twist_keyboard package
│ ├── CHANGELOG.rst
│ ├── CMakeLists.txt
│ ├── package.xml
│ ├── README.md
│ └── teleop_twist_keyboard.py
└── CMakeLists.txt
git clone https://github.com/HanyuWu/RoboND_Map_My_World
This can be done by launching world.launch
file:
$ cd RoboND_Map_My_World/catkin_ws/
$ catkin_make
$ source devel/setup.bash
$ roslaunch my_robot world.launch
In another terminal:
$ cd RoboND_Map_My_World/catkin_ws/
$ source devel/setup.bash
$ roslaunch my_robot teleop.launch
In another terminal:
$ cd RoboND_Map_My_World/catkin_ws/
$ catkin_make
$ source devel/setup.bash
$ roslaunch my_robot mapping.launch
After we got the rtabmap.db, put the db file inside catkin_ws/outputs.
$ cd RoboND_Map_My_World/catkin_ws/
$ catkin_make
$ source devel/setup.bash
$ roslaunch my_robot localization.launch
Download the map first when doing localization.
Localization (yellow frusturm for robot)
Robot Current Position
Please download the rtabmap.db, and put it inside catkin_ws/outputs. Then you can run rtabmap-databaseViewer on the database file.
When looking into the loop closures link, we can find Most of the global loop closures are very accurate based on the SURF detector/descriptor.