Udacity's Robotics Software Engineer Nanodegree Term 2: Home Service Robot Project
The home service robot project has been tested in three different working environments:
- Udacity Workspace: LUbuntu
- Virtual Machine: LUbuntu
- Jetson Tx2: Ubuntu
Therefore, for this project, you have the choice of working on the Udacity Workspace which is highly recommended. Optionally you can chose to work on your Virtual Machine, or Jetson TX2. Keep in mind that the location of your catkin workspace is different in each. Here’s the directory of the catkin_ws for each of the provided working environments:
- Lubuntu Udacity Workspace:
/home/workspace
- LUbuntu VM:
/home/robond
- Jetson Tx2:
/home/nvidia
Working in the provided Udacity Workspace is highly recommended, because it's has a dedicated GPU and we can provide support for it. If you choose to work in the Udacity Workspace, refer to these instructions, move to the next concept, enable GPU, and GO TO DESKTOP!
- Run
sudo apt-get update
- Run
sudo apt-get install ros-kinetic-navigation
- Create a catkin_ws with this repository in the src file
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
$ catkin_init_workspace
$ cd ~/catkin_ws
$ catkin_make
- https://github.com/ros-perception/slam_gmapping.git
- https://github.com/turtlebot/turtlebot.git
- https://github.com/turtlebot/turtlebot_interactions.git
- https://github.com/turtlebot/turtlebot_simulator.git
├── # Official ROS packages
|
├── slam_gmapping # gmapping_demo.launch file
│ ├── gmapping
│ ├── ...
├── turtlebot # keyboard_teleop.launch file
│ ├── turtlebot_teleop
│ ├── ...
├── turtlebot_interactions # view_navigation.launch file
│ ├── turtlebot_rviz_launchers
│ ├── ...
├── turtlebot_simulator # turtlebot_world.launch file
│ ├── turtlebot_gazebo
│ ├── ...
├── # Your packages and direcotries
|
├── World # world files
│ ├── ...
├── ShellScripts # shell scripts files
│ ├── ...
├──RvizConfig # rviz configuration files
│ ├── ...
├──wall_follower # wall_follower C++ node
│ ├── src/wall_follower.cpp
│ ├── ...
├──pick_objects # pick_objects C++ node
│ ├── src/pick_objects.cpp
│ ├── ...
├──add_markers # add_marker C++ node
│ ├── src/add_markers.cpp
│ ├── ...
└──
Home service robot reaching goal position
Pickup Block | Dropoff Block |
---|---|