tesseract-robotics / trajopt

Trajectory Optimization Motion Planner for ROS
385 stars 103 forks source link

Linear cartesian path planning #335

Closed joao-pm-santos96 closed 1 year ago

joao-pm-santos96 commented 1 year ago

Hi developers! This package really seams to achieve wonderful results! Congratulations!

I have one question: is it possible to build a plan where the TCP/end-effector follows a linear trajectory?

Thank you!

marip8 commented 1 year ago

Nominally yes. Trajopt can accept joint waypoints or Cartesian waypoints, and it represents movement between these waypoints in joint space (i.e. a joint-interpolated arc, rather than a straight linear line). However, if your waypoints are spaced closely enough together and are on your linear trajectory, the joint-interpolated arc between waypoints approximates a line.

If you're using trajopt through tesseract, you can denote the MoveInstructions of your motion planning input as LINEAR moves; then the SimplePlanner (which generates a seed trajectory for Trajopt) will do linear interpolation between those waypoints at some specifiable density to approximate a line. Then Trajopt will optimize the trajectory per the other constraints that were added to the optimization

trajopt_ifopt also has a Cartesian line constraint that you could check out. I'm not entirely sure how it works or if it has been thoroughly tested though