During my time at Ross Robotics, I’ve worked on a really cool Innovate Uk project - Connect-R. The idea was to use self-assembling hydraulic structures to delivery infrastructure service for nuclear disaster or decomissioning applications. The Ross Robotics side of it was concerned with a Multi-Task-Bot that is a hopper robot designed to traverse the `Superstruct’ structure.
I was tasked with sorting out the motion and path planning side of MTB. If you glance at the cover pic, you’ll see the super struct are these cuboids with plenty of connectors that the MTB can attach itself to. If the discrete nature of the problem makes you think A* - you’re right. But don’t forget that each transition, each hop is still a complex motion in MTB joint-space that needs to be planned for. Also the arm may approach the socket in many different ways and could potentially avoid obstacles in 3D space around it when doing so. Hence this called for a more nuanced approach.
I absolutely still wanted to take advantage of how simple the problem looks at macro scale. To do that I first needed to create a graph that represents the feasible MTB states and transitions between them. This was done by computing a transition matrix which represents all reachable faces that an MTB can reach. I also wrote a little blog post via Ross Robotics on the approach.
Once I had a transition matrix, I could construct a graph of all MTB hops for a given superstruct. Here green faces are connected via blue edges if the reachability map says this transition is possible.
Now any path found through this graph still needs to be validated via replanning. This means edge costs might change during path search. And ofcourse replanning MTB motion in a 3D planning scene with collisions is quite computationally expensive. In turn this leads to an interesing A* problem, which I hope to tackle in a near future publication. However, just the results from basic A* with online costs were quite ok:
It was also quite exciting to see this software being deployed in the connect R Hardware demo at the end of the project. Even though I had nothing todo with the hardware - I wrote the hop plans :)