kobbled / RoboND-HomeServiceRobot-Project

Udacity Software Robotics Nanodegree project involving SLAM and path planning to move the turtlebot from a pickup to dropoff location within an environment.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RoboND-HomeServiceRobot-Project

Udacity's Robotics Software Engineer Nanodegree Term 2: Home Service Robot Project

Working Environment

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!

Install

  • 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

Repositories Used

Package Tree


        ├──                                # 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
        │   ├── ...
        └──

Images

gif1 Testing ROS Navigation stack

gif2 Home service robot reaching goal position

Pickup Block Dropoff Block
pickup dropoff

About

Udacity Software Robotics Nanodegree project involving SLAM and path planning to move the turtlebot from a pickup to dropoff location within an environment.


Languages

Language:CMake 56.5%Language:C++ 36.6%Language:Shell 6.9%