Robotics Algorithms Implementations in ROS
Robotic Algorithms
Fall 2019
While taking this course, I learned many aspects of robotics such as localization, estimation, planning, and motion control. I implemented several robotics algorithms such as the BUG, A*, VFH algorithms using laser-based sensing, and even implemented a Bayes' Filter to complete a variation of a discrete Bayes' localization using ROS packages.
These projects required the use and understanding of various ROS packages, and gave me a deep understanding of how to use ROS to pass information between nodes within a system. My most notable projects are explained below
Project Requirements
-
Extensive Python usage
-
ROS, utilization of ROS packages
-
Probability and statistics
-
Mathematics
-
Planning
-
Localization
-
Estimation
-
Motion control
-
Interdisciplinary teamwork
-
Excellent verbal and written communication skills
​
​
​
Laser-Based Perception and Navigation using Obstacle Avoidance
A 2 wheeled robot was equipped with a 2D laser range finder in order to detect obstacles in its environment. It needs to get to its charging station using a homing signal. The objective of this project was to perform perception using a laser range finder, and use the perceived avoid obstacles and navigate to the charging station in ROS. ​
A* Planning and Execution
In this project I wrote nodes to implement the VFH and A* algorithms. The objective of the project was to autonomously plan and execute a path for a robot in the ROS Stage simulator from a start location to a goal location, given a map. The global plan is given by A*, while the local planning was done using a modified Vector Field Histogram (VFH).
Grid Localization using Bayes Filter
The objective of this assignment was to utilize Grid Localization - a variant of discrete Bayes Localization. In this method, the map is an occupancy grid. At each timestep, the algorithm finds out the probabilities of the robot’s presence at every grid cell. The grid cells with maximum probabilities at each step characterize the robot’s trajectory. Grid Localization using Bayes filter runs in two iterative steps that utilize the movement data (prediction step) and observation data (update step). This project helped to further familiarize myself with the concept of a Bayes' Filter, as well as using ROS Bags and Rviz as a visualization tool.