Skip to content

A collision avoidance controller to steer a robot away from obstacles

License

Notifications You must be signed in to change notification settings

Salman-H/avoid-obstacles-controller

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

avoid-obstacles-controller

A controller that steers the robot away from obstacles to avoid a collision. Implemented as part of a Georgia Tech Mobile Robotics course project.

Simiam is a MATLAB-based educational bridge between theory and practice in robotics created at Georgia Tech GRITS Lab.


1. Transformation of Coordinate Reference Systems

A robot is seen from the world's perspective. To avoid obstacles, they need to be observed on this world reference frame on which the robot is located. To achieve this, obstacle coordinates for each InfraRed sensor are transformed from their local sensor frame to the robot reference frame, and then from the robot frame to the world frame.

After successfully doing these transformations, the points detected by each of the five IR sensors can be located on the world frame:




2. Obstacle Avoidance Heading

Vectors are computed from the center of the robot to each of the transformed IR sensor points, then weighed and summed to produce a resultant vector, u_ao, that points in the direction of free space (away from the obstacle). A heading, theta_ao, is then computed using this vector and the PID controller used to steer the robot to this heading to avoid a collision.




About

A collision avoidance controller to steer a robot away from obstacles

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published