I'm trying to do cartesian control with a simulated PR2 robot in pybullet. In pybullet, the function calculateInverseKinematics(...) optionally takes joint lower limits, upper limits, joint ranges and rest poses in order to do null space control.
First of all, what practical benefit do you get using null space control instead of "regular" inverse kinematics?
Secondly, why do you need to specify joint ranges, isn't that fully determined by the lower and upper limits? What is the range of a continuous joint?
What exactly are rest poses? Is it just the initial pose before the robot starts to do a task?