- Notifications
You must be signed in to change notification settings - Fork14
Simple differential drive robot for indoor environments simulated using ROS and Gazebo.
License
adipandas/indoor_bot
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
indoor_bot
is simple differential drive robot for indoor environments simulated using GazeboSim and ROS. Currently, it simulates a 2D-LiDAR sensor, an IMU and a simple camera as gazebo plugins.
This package includes some demos explaining use of this package for SLAM and Localization.
GazeboSim | Cartographer-SLAM |
---|---|
![]() | ![]() |
GazeboSim | Autonomous-SLAM |
---|---|
![]() | ![]() |
Gazebo | Rviz |
---|---|
![]() | ![]() |
This package was developed for ROS-melodic. But should be compatible for other versions of ROS1.
Install ROS:http://wiki.ros.org/ROS/Installation
Install the packages by executing the following commands in your terminal:
source /opt/ros/melodic/setup.bashsudo apt-get install ros-${ROS_DISTRO}-gazebo-*sudo apt-get install ros-${ROS_DISTRO}-navigationsudo apt-get install ros-${ROS_DISTRO}-joint-state-*sudo apt-get install ros-${ROS_DISTRO}-visualization-msgssudo apt-get install ros-${ROS_DISTRO}-cartographer-*sudo apt install ros-${ROS_DISTRO}-multirobot-map-merge sudo apt install ros-${ROS_DISTRO}-explore-litesudo apt-get install ros-${ROS_DISTRO}-teleop-twist-keyboard
Clone this repo and build the package.
source /opt/ros/melodic/setup.bashmkdir -p~/catkin_ws/srccd~/catkin_ws/srcgit clone https://github.com/adipandas/indoor_bot.gitcd~/catkin_wscatkin_makesource devel/setup.bash
Launch SLAM and Map the environment using teleoperation.
source /opt/ros/melodic/setup.bashsource~/catkin_ws/devel/setup.bashroslaunch indoor_bot cartographer_slam_teleop.launch
Instead of manually building the map, you may prefer also try to use RRT-exploration to autonomously map the robot frontier. For more documentation, please referthis page.
source /opt/ros/melodic/setup.bashsource~/catkin_ws/devel/setup.bashroslaunch indoor_bot cartographer_slam_rrt_exploration.launch
Once mapping is complete use map-server to save the map. In onother terminal execute the following to save your map:
source /opt/ros/melodic/setup.bashsource~/catkin_ws/devel/setup.bashroscd indoor_botcd mapsrosrun map_server map_saver -f<robotworldname>
To localize using the map generated from SLAM you can use the following command:
source /opt/ros/melodic/setup.bashsource~/catkin_ws/devel/setup.bashroslaunch indoor_bot amcl_localization.launch map_file:=/path/to/map.yaml world_file:=/path/to/your_gazebo.world
About
Simple differential drive robot for indoor environments simulated using ROS and Gazebo.