Skip to content

Path and motion planning #30

@baggepinnen

Description

@baggepinnen

This issue summarizes the available ecosystem when it comes to path and motion planning. We exclude the kind of motion planning that includes dynamics more complicated than a chain of integrators, i.e., we include trajectory generation with acceleration limits, but not with force/torque limits.

The current capabilities of Multibody.jl are documented here https://juliacomputing.github.io/Multibody.jl/dev/#Trajectory-planning

  • Path planning: Find a path from one point to another that avoids obstacles. The typical metric is shortest distance, but non-uniform cost over space is sometimes considered.
  • Motion planning: Turn a path into a trajectory, i.e., plan the velocity and acceleration profiles with which to follow the path.
  • The primary difference between motion planning and path planning is thus that time is not considered in path planning.
  • Trajectory optimization / optimal control additionally considers the dynamical model of the system.
Type Package Comments
Path RRTStar.jl No tests, only 2d
Path MotionPlanning.jl No docs. Type unstable code. A couple of different algorithms.
Path AStarSearch.jl Only A*, limited docs
Path Eikonal.jl Fast marching method (FMM / FSM)
Path Agents.jl Only A*
Path HybridAStar.jl Only A* (variant)
Path ProbabilisticRoadMap.jl Only PRMs
Motion JSC traj opt High-order polynomial, 6DOF
Motion TrajectoryLimiters.jl Post-processing of heuristic trajectories up to bounded acceleration
Motion traj5 et al. Trivial polynomial generation
Motion JuMP A lot of motion-planning algorithms can be cast as convex optimization algorithms (often QPs)

https://github.com/alexander-leong/MotionPlanningOptimization.jl

See also

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions