We decided to go ahead with the PSO planner because we thought the obstacles we had to deal with necessitated the use of PSO. However, after meeting with professor Maxim Likhachev, he challenged our assumption. Professor Maxim gave us many insights on how to modify the planner to deal with the obstacles pertinent to our use case. He suggested that we use higher dimensional lattice-based graphs not only to plan in x and y coordinates but also in theta coordinates. To deal with the directionality of obstacles, we can assign a different cost to each edge depending on whether the robot’s orientation is such that it can easily go over the obstacles or not.
Prof Max was in favor of using grid-based planners. However, he also outlined the disadvantages, namely that grid-based planners don’t scale well with the increase in motion primitives of the robot since the number of nodes and edges in the graph blows up with the increase in motion primitives. He also outlined some non-trivial challenges we might face while implementing our planning algorithm, like deciding the grid-cell size.
Hence, after a lot of deliberation, we decide to pivot away from PSO to RRT* for our planning algorithm.