Resubmission for Udacity's Home Service Bot Project
Final Project for Udacity's Robotics Nanodegree that simulates a robot operating on ROS to find an object and deliver it to a goal
The shell scripts are accessed by the following command
./<catkin_dir>/src/scripts/<shell name>.sh
- This script utilizes the gmapping package which uses a robot’s laser sensor and pose data to map its environment while being navigated by the user.
- Gmapping uses Rao-Blackwellized particle filters in which each particle contains its own map of the environment which learns a grid map.
- This script tests the navigation package which uses Adaptive Monte Carlo Localization (AMCL) to localize the robot given a map generated by laser sensor (from gmapping) and move_base which uses the navigation stack to command the robot to a given position.
- AMCL initializes a number of vectors that guess where the robot could be then converges on where the robot is, based on sensor data and motion commands.
- The navigation stack uses Dijkstra’s Algorithm, a variant of the Uniform Cost Search Algorithm which is a tree search algorithm that assigns costs to edges between nodes and searches paths starting from low to high total cost.
- This script simulates the robot receiving commands to pick-up a package and deliver it to a second location. The navigation package is used to move the robot to the destinations.