This repo containts various projects that ultimately leads up to Home Serive Robot. All of these projects are located in appropriately named branches. I call my robot Chakra. Consequently the model I have built to house my robot, is called chakra-world. This model is developed using Gazebo. These would be recommeneded steps to go through if want to understand how to build a robot in a simulated enviroment.
- Build My World uses Gazebo to build a robot model as well as a model of the environment where the robot is going to live in, the chakraWorld.
- EKF uses EKF ROS package to localize Chakra inside of the chakraWorld
- MCL uses particle filter based approach to localize the robot
- Where Am I uses a flavor of MCL called Adaptive Monte Carlo localization which can recover from kidnapped robot problem in a very few iterations.
- Occupancy Grid Mapping uses an inverse sensor model to create a map of the world
- Map My World uses an appearance based RTAB-Mapping technique to map the chakarWorld. Read more about RTAB-Mapping here and about GraphSLAM here
- A star is a popular path planning algorithm that finds a shortest path from source to destination for holonomic systems
- Home Service Robot uses all the techniques that are seen above to safely navigate the robot from a start location to pick up an object. And then drop off that object at another desired location. It uses AMCL to localize the robot, RTAB-Mapping to map its environment and Dijkstra's Algorithm to perform navigation.