Path Planning - ovgu-FINken/driving_swarm_infrastructure GitHub Wiki
Path planning and execution with Driving Swarm
The goal of path planning and execution is for one robot to come up with a route from a robot's current state to a goal pose. This is a process consisting of two components: A trajectory follower and a trajectory planner.
Relevant topics and services:
nav/goala topic which communicates the goal pose to each robotnav/follow_trajectorya service, which allows the trajectory planner to submit a new planned trajectory to the trajectory followernav/replana service which lets the trajectory follower request a new plan
The two services are used such that a planner can continuously run and update a trajectory, but also an 'expensive' planner can be requested to compute its plan once, in case a new plan is required.
Trajectory Follower
The trajectory follower is responsible for making a request to the planner, in case a new goal arrives, and execute a given trajectory as received by the planner.
Trajectory Planner
The planner is responsible for making a new plan. The simplest planner is the 'direct planner' which does not consider any obstacles but uses a vehicle model to compute a direct route from start to finish. Some other more complex planners are available as well.
Multi-Robot Planning
Work in progress see polygonal roadmaps for implementation of the algorithm and the driving_swarm_nav_graph for use with driving swarm.