项目作者: Zerde

项目描述 :
Udacity Robotics Software Engineer Nanodegree project : Home Service Robot
高级语言: CMake
项目地址: git://github.com/Zerde/RoboND-HomeServiceRobot-Project.git
创建时间: 2018-06-26T14:32:16Z
项目社区:https://github.com/Zerde/RoboND-HomeServiceRobot-Project

开源协议:

下载


RoboND-HomeServiceRobot-Project

The goal of this project is to program a robot than can autonomously map an environment and navigate to pick up and drop off virtual objects.
List of the steps in this project :

  • Write a Shell Script
  • Design your environment with Gazebo Building Editor
  • Test SLAM
  • Wall Follower to map the environment
  • Test Navigation
  • Reach Multiple Goals
  • Model Virtual Objects
  • Put it all together

Project setup

Update your system:
sudo apt-get update

Install the ROS navigation stack:
sudo apt-get install ros-kinetic-navigation

Create catkin workspace, if you haven’t already.For this project catkin_ws is used, if your workspace name is different, change the commands accordingly.

  1. $ mkdir -p ~/catkin_ws/src
  2. $ cd ~/catkin_ws/src
  3. $ catkin_init_workspace
  4. $ cd ~/catkin_ws
  5. $ catkin_make

Clone the following repositories to catkin_ws/src:

  1. $ cd ~/catkin_ws/src
  2. $ git clone https://github.com/ros-perception/slam_gmapping.git
  3. $ git clone https://github.com/turtlebot/turtlebot.git
  4. $ git clone https://github.com/turtlebot/turtlebot_interactions.git
  5. $ git clone https://github.com/turtlebot/turtlebot_simulator.git

Install package dependencies with rosdep install [package-name]

Copy content of this repository to catkin_ws/src

Catkin workspace should look something like this:

  1. catkin_ws/src
  2. ├── slam_gmapping # gmapping_demo.launch file
  3. ├── gmapping
  4. ├── ...
  5. ├── turtlebot # keyboard_teleop.launch file
  6. ├── turtlebot_teleop
  7. ├── ...
  8. ├── turtlebot_interactions # view_navigation.launch file
  9. ├── turtlebot_rviz_launchers
  10. ├── ...
  11. ├── turtlebot_simulator # turtlebot_world.launch file
  12. ├── turtlebot_gazebo
  13. ├── ...
  14. ├── World # world files
  15. ├── ...
  16. ├── ShellScripts # shell scripts files
  17. ├── ...
  18. ├──RvizConfig # rviz configuration files
  19. ├── ...
  20. ├──wall_follower # wall_follower C++ node
  21. ├── src/wall_follower.cpp
  22. ├── ...
  23. ├──pick_objects # pick_objects C++ node
  24. ├── src/pick_objects.cpp
  25. ├── ...
  26. ├──add_markers # add_marker C++ node
  27. ├── src/add_markers.cpp
  28. ├── ...
  29. └──

Source and build the project:

  1. $ cd ~/catkin_ws
  2. $ source devel/setup.bash
  3. $ catkin_make

To run home service robot navigate to ShellScripts directory and run
./home_service.sh

After running you will see (int Rviz) robot picking up a virtual object from the pickup zone and dropping it off at the drop off zone.
Alt text
Alt text