arm_navigation reports JOINT_LIMITS_VIOLATED often
I'm trying to use the arm_navigation stack to do some motion planning on the pr2, and I notice that I often get an error code of JOINT_LIMITS_VIOLATED. [I'm not really sure what this is about, but it seems like it's based on the initial joint state because I can fix this by moving the arm around until I get to a good state (specifically, it seems to not like the wrist being at a 90 degree angle with the forearm). Is this actually what the error means?] Update: Oops yeah, should have checked rosout, the error is indeed Start state violates joint limits, can't plan.
.
If the arm is in a state that is physically possible (I'm working on a real PR2), it shouldn't be violating joint limits, right?
For some reason I can't seem to plan for the left arm at all. No matter what I do I get this error. I'm guessing maybe I have something copied and pasted from the right arm stuff that needs to be changed, but I'm not seeing it. I have started both arm planners using roslaunch pr2_3dnav both_arms_navigation.launch
and I am sending the request to the move_left_arm
service.
https://github.com/rll/berkeley_utils/blob/master/rll_utils/src/rll_utils/MoveArmUtils.py is what I wrote to construct and send a MoveArmGoal, just a convenience wrapper that populates some sensible defaults for a lot of fields. I hope others who prefer to use python over C++ when possible find it useful :)
Any help is appreciated! Thanks!
Edit: Here's the MoveArmGoal that I'm sending:
https://gist.github.com/1495429/8abcc19fb109f2dd813356cefb48a68e9159beb6
Edit2: Rosout is good, I should check it more. Here are the joints that are violating limits (as I suspected, it's the wrists):
https://gist.github.com/e9a379199e7a348a0f4f
Related to that, why is there both move_arm_msgs/MoveArmGoal and arm_navigation_msgs/MoveArmGoal which only differ in that the latter takes in a planning_scene_diff? I guess hopefully it doesn't make a difference if you don't populate it. Is the move_arm_msgs
version a relic from Diamondback? If so, perhaps it shouldn't be listed on http://www.ros.org/wiki/move_arm .