Skip to content
Sebastian Mai edited this page Apr 20, 2023 · 2 revisions

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/goal a topic which communicates the goal pose to each robot
  • nav/follow_trajectory a service, which allows the trajectory planner to submit a new planned trajectory to the trajectory follower
  • nav/replan a 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.