Udacity's Robotics Software Engineer last project.
The objective: this project is the exemplification of some the concepts learned throughout the course "Robotics Software Engineer", these concepts involve, localization, mapping and navigation.
First create you catkin_ws, src and init the catkin workspace
Clone this repo and paste all the content from "src" inside your own catkin_ws/src
Do "catkin_make" at catkin_ws and source devel/setup.bash
chmod +x home_service.sh
./home_service.sh
Watch the little bot retriev a bomb and take it to a safe zone outside the house.
Important: don't forget to "add"->"markers" inside rviz
Autonomously map the environment you designed earlier with the Building Editor in Gazebo. But before you tackle autonomous mapping, it’s important to test if you are able to manually perform SLAM by teleoperating your robot. The goal of this step is to manually test SLAM.
We will be using the ROS Navigation stack, which is based on the Dijkstra's, a variant of the Uniform Cost Search algorithm, to plan our robot trajectory from start to goal position. The ROS navigation stack permits your robot to avoid any obstacle on its path by re-planning a new trajectory once your robot encounters them. You are familiar with this navigation stack from the localization project where you interfaced with it and sent a specific goal for your robot to reach while localizing itself with AMCL
The ROS navigation stack creates a path for your robot based on Dijkstra's algorithm, a variant of the Uniform Cost Search algorithm, while avoiding obstacles on its path.
The virtual object is the one being picked and delivered by the robot, thus it should first appear in its pickup zone, and then in its drop off zone once the robot reaches it.
Initially show the marker at the pickup zone Hide the marker once your robot reaches the pickup zone Show the marker at the drop off zone once your robot reaches it
Ross Wiki:
Reference list: