tesseract-robotics/trajopt

Trajectory Optimization Motion Planner for ROS

What it solves

TrajOpt is an optimizing path planner for ROS (Robot Operating System) designed to solve motion planning problems. It enables robots to find efficient paths while satisfying specific constraints, such as avoiding collisions, maintaining a specific end-effector orientation (e.g., keeping a glass upright), or managing complex manipulation tasks involving external axes and redundancy.

How it works

The project implements sequential convex optimization to solve motion planning. It uses a penalty method to optimize joint velocities while adhering to a set of constraints. Internally, it relies on convex solvers to handle linearly constrained quadratic problems. It supports several solvers, including OSQP (the default), Gurobi, BPMPD, PIQP, and qpOASES.

Who it’s for

It is intended for robotics developers and engineers working with ROS who need a high-performance motion planner capable of handling complex constraints and industrial applications like pick-and-place or deburring.

Highlights

  • Multi-solver support: Compatible with various convex solvers including OSQP, Gurobi, and PIQP.
  • Constraint-aware planning: Capable of handling competing costs and constraints, such as collision avoidance and orientation maintenance.
  • Industrial application focus: Demonstrated through examples like car seat manipulation and puzzle piece deburring.
  • Redundancy handling: Supports planning using external axes and robot redundancy to solve complex tasks.

Related

  • Project
  • Project
  • Project
  • Project
  • Project