tesseract-robotics/trajopt

Trajectory Optimization Motion Planner for ROS

What it solves

TrajOpt is an optimizing path planner for ROS (Robot Operating System) that solves motion planning problems. It enables robots to find efficient paths while satisfying specific constraints, such as avoiding collisions or maintaining a specific end-effector orientation (e.g., keeping a glass upright).

How it works

The project uses sequential convex optimization to solve motion planning. Specifically, it employs a penalty method to optimize joint velocities while adhering to a set of constraints. To perform these calculations, it relies on convex solvers capable of solving linearly constrained quadratic problems, supporting solvers such as OSQP (default), BPMPD, Gurobi, and qpOASES.

Who it’s for

It is designed for robotics developers and engineers working within the ROS ecosystem who need to implement complex manipulation tasks, such as pick-and-place operations or industrial deburring, especially when dealing with redundancy or external axes.

Highlights

  • Multi-Solver Support: Compatible with several convex solvers including OSQP, Gurobi, and qpOASES.
  • Constraint Handling: Capable of managing competing costs and constraints to achieve specific movement goals.
  • Collision Avoidance: Supports collision checking against octomaps generated from point clouds.
  • Complex Task Support: Demonstrated capability in handling redundancy and external axes for industrial applications like car seat assembly.

Related

  • Project
  • Project
  • Project
  • Project
  • Project