-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Closed
Description
Hi all,
I have a working list of planners / controllers that I've been compiling and I wanted to share them here for potential ideas if anyone's interested in developing / adapting one in particular. Feel free to ping me about this and I'll help however I can
Planners
- A* - holonomic robots or robots small relative to environment
- Dij. - holonomic robots or robots small relative to environment
-
OMPL - non-holonomic and non-circular footprint robots, potential formulation to include dynamic obstacles [IN PROGRESS]state lattice and hybrid-A* supersedes - GPS / cartesian route following - taking in a list of semantic GPS waypoints and issuing a path based on it to follow exactly. GPS waypoint navigation demo #1631 (comment). Or more generally a teach and repeat for non-GPS too. Teach via recording while moving or manual annotation.
- Hybrid-A* - non-holonomic and non-circular robots with smoothed paths
-
Vornoi / potential field planner - for a robot to stay far, far away from things as its primary goalNavFn, Theta*, and other planners can be tuned to highly penalize costed regions. While these are easy to implement, the quality is low so its not a good addition for a modern stack. Very 1990s. - Theta* - doing straight line planning based on LoS
- State Lattice - non-holonomic and non-circular robots, useful in analog situations as Hybrid-A* but for arbitrary motion models (omni, diff, non-cars, forklifts) Hybrid-A* meets this need, might be adding state lattice template node to smac
- non-zero via-point planning (e.g. calling a continuous, kinematically feasible planner from A->1->2->3->…->B and then adding them all to a single path) -- route server Route Server anologous to Planner Server #2229 ? Or new action interface in planner server to have multiple via-points to plan (!)
Controllers
- DWA - compute trajectories based on weighted heuristics
- TEB - compute trajectories based on optimal bands
- MPPI / MPC /Nonlinear MPC- compute trajectories by model simulation supporting high speeds. Exact path follower / dynamic obstacles in formulation in progress
-
LQR/iLQR/CiLQR - "MPC-lite" is the easiest way to describe it supporting high speedsMPPI supersedes - Pure Pursuit - following a carrot
Recoveries
- Spin - spin in place
- Backup - back up from pose
-
Alerts - sound, lights, etc to alert obstacle to movetoo usecase specific - Wait - wait out some duration or until event occurs
-
Push - if you know its safe, push a thing out of the waytoo usecase specific - Call for help - Slack, msgs, email, operations center request for assistance
- Clear - clear state, plans, and costmaps
-
"Get out of here" - find some permissible path using a dynamically feasible trajectory to just get out of this area some fixed distance, if any way of motion is possibletoo usecase specific
feel free to comment to add more and how they're useful
harderthan, gkhanacer, indraneelpatil, MTDzi, ksvbka and 5 more
Metadata
Metadata
Assignees
Labels
No labels