Fails to execute Pose Goal
OS: Ubuntu 18.04 LTS
ROS Distro: ROS Melodic
Package: MoveIt
Planner: OMPL
IK Solver: KDL Kinematics Plugin
After working with panda arm in MoveIt, I wanted to work on my own designed 6 DOF arm.
I have attached an image with the model in Rviz.
When working with Move Group Interface, I am able to give joint space goals. But when working with pose goals, the kinematics solver is not able to solve any pose goals provided. To be very specific, it is only able to solve configurations where position.x = 0 and rotation is also only about x-axis.
Also, when I set the start and goal pose using interactive markers in rviz, it is able to plan and execute the goals. I don't really know whether internally it is using pose goal or joint space goal.
After analysing the design difference between my model and the panda arm model, I feel that most of the joints in my model are biased to rotations about x-axis which could be a potential issue given that poses with position.x = 0 are working.
So my question is, is the issue really due to design flaw or is there something I am missing?
EDIT:
Terminal Output of demo.launch:
[ INFO] [1621137166.334511082]: Planning request received for MoveGroup action. Forwarding to planning pipeline.
[ INFO] [1621137166.504758641]: Planner configuration 'arm' will use planner 'geometric::RRTConnect'. Additional configuration parameters will be set when the planner is constructed.
[ INFO] [1621137166.556362808]: RRTConnect: Starting planning with 1 states already in datastructure
[ERROR] [1621137171.561261517]: RRTConnect: Unable to sample any valid states for goal tree
[ INFO] [1621137171.561412783]: RRTConnect: Created 1 states (1 start + 0 goal)
[ INFO] [1621137171.561477077]: No solution found after 5.005472 seconds
[ INFO] [1621137171.580672288]: Unable to solve the planning problem
[ INFO] [1621137171.634753681]: Combined planning and execution request received for MoveGroup action. Forwarding to planning and execution pipeline.
[ INFO] [1621137171.635195443]: Planning attempt 1 of at most 1
[ INFO] [1621137171.636336136]: Planner configuration 'arm' will use planner 'geometric::RRTConnect'. Additional configuration parameters will be set when the planner is constructed.
[ INFO] [1621137171.636810730]: RRTConnect: Starting planning with 1 states already in datastructure
[ERROR] [1621137176.640755824]: RRTConnect: Unable to sample any valid states for goal tree
[ INFO] [1621137176.640902036]: RRTConnect: Created 1 states (1 start + 0 goal)
[ INFO] [1621137176.640945267]: No solution found after 5.004324 seconds
[ INFO] [1621137176.659373442]: Unable to solve the planning problem
Terminal Output of My Code:
[ INFO] [1621137153.347472082]: Loading robot model 'robot'...
[ INFO] [1621137154.701934459]: Ready to take commands for planning group arm.
[ INFO] [1621137158.041919817]: RemoteControl Ready.
[ INFO] [1621137158.308677700]: Planning frame: base_link
[ INFO] [1621137158.308766541]: End effector link: gripper_attacher
[ INFO] [1621137158.308833987]: Available Planning Groups:
arm, hand,
Waiting to continue: Press 'next', in RvizVisualGui window to start the demo... continuing
[ WARN] [1621137171.581395991]: Fail: ABORTED: No motion plan found. No execution attempted.
[ INFO] [1621137171.581491845]: Visualizing plan 1 (pose goal FAILED)
[ INFO] [1621137176.660045669]: ABORTED: No motion plan found. No execution attempted.
[ INFO] [1621137176.660168757 ...
Please post your URDF and the errors from your IK solver
If you say you can drag the interactive marker and find joint configurations in the RViz window, it sounds like your IK plugin working. Are you sure it's not an incorrect orientation or choice of
endEffectorLink
? Is the planning group defined properly for your 6 robot arm joints? It looks like your group contains all of them.I used
current
command frommoveit_commander_cmdline.py
to grab the end effector pose. And it kind of worked. I had tried that even before posting the question but maybe I missed something that time. So I tried it again today and that worked. Then I realised that the end effector prefers a certain range of orientations to cover maximum space. But even that space is quite restricted. I also did my homework yesterday by adding more degrees of freedom. I removedeef_pitch_joint
and addedelbow_roll_joint
andwrist_roll_joint
making it 7 DOF. This model is working perfectly for most pose goals. I guess then the pose space is quite restricted due the design and that was the problem after all.I see, that's good. Please post the explanation as a response and accept it to mark this problem as solved.
Come to think of it, I didn't think to check if your 5 DOFs are independent (e.g. no two subsequent joints rotating in the same plane). That would have been another consideration.