This project was completed on Udacity Workspace, therefore assumes catkin_ws
is located at /home/workspace/catkin_ws
.
First, initialize catkin_ws
:
cd /home/workspace
mkdir -p catkin_ws/src
cd catkin_ws
catkin_make
source devel/setup.bash
Then, clone this repository into 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. Their dependencies must be installed to succesfully use this repository:
cd /home/workspace/catkin_ws/src
git clone https://github.com/hemingchen/RoboND-Home-Service-Robot-Project.git
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_make
To run the home_service.sh
script or any other shell scripts located at the root directory, open a new terminal window and run the following commands.
cd /home/workspace/catkin_ws
source devel/setup.bash
cd src
./home_service.sh
The custom world and map file generated by ROS navigation package can be found in World
folder.
A short video as the final result of the project can be found below, where the robot moves to object location, picks it up and eventually carries it to the destination.