I am trying to control a 7 DOF robot (a Franka Panda). I use jacobian based control (resolved rate motion control) to generate a joint trajectory from a cartesian trajectory.

My contraints for the motion are, that I need to follow a trajectory, and I need to avoid obstacles, self collision and joint limits. I know how to satisfy each constraint independently by projecting joint velocities that avoid onto the null space.

How can I do all at the same time - is that even possible? Should I switch between constraints based on some kind of urgency?

  • 1
    $\begingroup$ Welcome to Robotics, Soren Holm. Great question, and I'm looking forward to reading responses. I would guess you could sum the projections of each constraint, but this isn't my field. Again, looking forward to responses! $\endgroup$
    – Chuck
    Apr 8, 2020 at 13:05

1 Answer 1


The way this is usually solved is by the use of a planner and a controller. The planner generates a sequence of configurations (joint states in the case of a manipulator) that satisfy the desired constraints, and the controller generates the necessary velocities to move the arm across the target configurations. The idea is that the plan is detailed enough that transitioning from one state to the other can be trivially done.

There are a number of packages that implement planning algorithms, I recommend looking into MoveIt if you're working with ROS.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.