Capstone Project at Cooper Union: Preference-Based Path-Planning for Autonomous Robots
Capstone Project at Cooper Union
This past spring, I graduated from Cooper Union- the past four years have been incredibly rewarding, and I am so thankful to my professors, fiance, friends, and family for all of the support. Cooper is a really excellent place that really pushed me to work harder than I ever thought was possible.
During senior year, every student creates a capstone project. I am super proud of my team and our project, and wanted to write up a small summary of our project, which is called “Preference-Based Path-Planning for Autonomous Robots”.
PB*: Preference-Based Path-Planning for Autonomous Robots
While brainstorming for ideas, my teammates and I settled on some basic requirements:
- The project has to be cool
- There should be a balance of mechanical engineering, electrical engineering, and computer science, as our team consisted of two electrical engineers and one mechanical engineer
With these robust, specific requirements we decided our project should be a cave-exploration robot, loosley based on the DARPA’s subterrenean challenge. We started our research and within a few weeks immediately realized how difficult
- creating a robot from scratch
- building SLAM (simultaneous localization and mapping)
- writing a pathfinding script
- implementing underground communication systems
- testing the robot
would all be. So, we had to adjust our scope, and we decided to focus on one of these things: pathfinding.
While researching pathfinding algorithms, we noticed that most papers about pathfinding algorithms focus on optimizing for very specific criteria. For example, the Mars rovers optimize mainly for safety, as repairing them would be near impossible, while many of the DARPA robots balanced safety and speed. After reading many papers on pathfinding, we concluded that there are three main criteria people optimize for while deciding the path a robot should take:
- Speed: the robot should find the fastest
- Energy: the robot should find the most energy-efficient path
- Safety: the robot should find the safest path
However, we noticed that there weren’t many papers that focused on all three. This is where our algorithm, PB* (short for preference-based), comes in. PB* can optimize for all three criteria; of course, the user may not want to optimize for all three of them equally, as they may care more about speed than safety, for example, so the user can specifiy how much they care about each criterion (hence the title, preference-based).
These preferences can also be adjusted dynamically, which can be helpful for various situations- for example, if a user deploys a swarm of exploration robots, they may care for speed at first so they can explore as quickly as possible. But, as the swarm loses its members, the user may care about safety more so that they can prolong the exploration.
Finally, of course, it would be impossible to know what the “safest path” is without understanding how the robot works. What if the robot is really large and can drive over big crevices? What if the robot is reall tall and heavy, and is prone to flipping on sharp turns? The same ideas apply to speed and safety; the user must input the specifications of their robot, because without understanding the robot, the algorithm would have no idea how to optimize the path.
Project Demo
We developed a web ui to allow the user to interact with our algorithm.
The image above is a screenshot of our web ui. The image on the left is a theoretical map, where blue is higher ground and red is lower ground. The algorithm generated the best path from the top left to the bottom right.
On the right side are the options that are exposed to the user, such as the robot specifications, mag generation preferences, and their preference for speed, safety, and energy. Visit pathplanning.online for a live demo!
Conclusion
If you are interested in the technical details, you can read our paper here. You can also see our project in action on our website, at pathplanning.online! I am also excited to say that we won the award for the Best Interdiscplinary Project!