Let’s summarize what should be done in this project to simulate a home service robot:
- Design a simple environment with the Building Editor in Gazebo.
- Teleoperate your robot and manually test SLAM.
- Create a wall_follower node that autonomously drives your robot to map your environment.
- Use the ROS navigation stack and manually commands your robot using the 2D Nav Goal arrow in rviz to move to 2 different desired positions and orientations.
- Write a pick_objects node that commands your robot to move to the desired pickup and drop off zones.
- Write an add_markers node that subscribes to your robot odometry, keeps track of your robot pose, and publishes markers to rviz.
$ sudo apt-get update
$ sudo apt-get install ros-kinetic-navigation
$ sudo apt-get install xterm
For this setup, catkin_ws is the name of the active ROS workspace.
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
cd ..
catkin_make
source devel/setup.bash
Clone the required repository to the ~/catkin_ws/src
folder. Note that this repository already includes official ROS packages compatible with this repository: gmapping, turtlebot_teleop, turtlebot_rviz_launchers, and turtlebot_gazebo.
-
gmapping: With the
gmapping_demo.launch
file, you can easily perform SLAM and build a map of the environment with a robot equipped with laser range finder sensors or RGB-D cameras. -
turtlebot_teleop: With the
keyboard_teleop.launch
file, you can manually control a robot using keyboard commands. -
turtlebot_rviz_launchers: With the
view_navigation.launch
file, you can load a preconfigured rviz workspace. You’ll save a lot of time by launching this file, because it will automatically load the robot model, trajectories, and map for you. -
turtlebot_gazebo: With the
turtlebot_world.launch
you can deploy a turtlebot in a gazebo environment by linking the world file to it.
cd ~/catkin_ws/src
git clone https://github.com/CarSanoja/Home-Service-Robot
sudo apt-get update
rosdep -i install gmapping -y
rosdep -i install turtlebot_teleop -y
rosdep -i install turtlebot_rviz_launchers -y
rosdep -i install turtlebot_gazebo -y
$ cd ~/catkin_ws
$ catkin_make
$ echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
$ source ~/.bashrc
$ cd ~/catkin_ws/src/folders/ShellScripts
$ ./home_service.sh
Video: https://youtu.be/e1sITd4z_jg