In my Quantitative Engineering Analysis class, I was challenged with programming a vacuum robot to traverse a course of obstacles autonomously. Using LIDAR data of the obstacle course taken by the robot, I turned the obstacle course into a gradient field in MATLAB. This gradient field provided the robot with the areas it could go through without hitting an obstacle. In the gradient path, each object the robot had to avoid was assigned a positive value so that the robot would be effectively “pushed” away from that area; the object that acted as the objective at the end of the course was assigned a negative value, effectively “pulling” the robot towards it. Therefore, rather than the robot having a net zero gradient force acting on its programming, it was moving towards a goal. I then applied a simulation function to the code to calculate a pathway between the obstacles. After tweaking and ensuring the simulation was correct, I applied it to the robot, starting at a specific X and Y value and ending at the “goal” object. 

You may also like

Back to Top