Open imwhocodes opened 1 year ago
Hi Luca,
Thanks for the super detailed issue! First of all, this is not related to the commit you mention, in this case you're using MoveIt! planner, and the commit only changes the in-memory python IK solver.
I tried changing planners and tweaking settings, but it keeps failing. Some planners output a bit more info that seems to point to the fact that the problem is simply too constrained to solve (despite the fact that the first two constraints are effectively redundant), but if you see this output, it really complains that the joint constraints can be satisfied but the other ones (created by the frame) are violated:
[ INFO] [1660986856.598311300]: Planner configuration 'manipulator[RRT]' will use planner 'geometric::RRT'. Additional configuration parameters will be set when the planner is constructed.
[ INFO] [1660986856.608948600]: Constraint satisfied:: Joint name: 'shoulder_pan_joint', actual value: 0.577611, desired value: 0.536553, tolerance_above: 0.043633, tolerance_below: 0.043633
[ INFO] [1660986856.609133200]: Constraint satisfied:: Joint name: 'shoulder_lift_joint', actual value: -1.019137, desired value: -1.005746, tolerance_above: 0.043633, tolerance_below: 0.043633
[ INFO] [1660986856.609173400]: Constraint satisfied:: Joint name: 'elbow_joint', actual value: 1.595917, desired value: 1.588866, tolerance_above: 0.043633, tolerance_below: 0.043633
[ INFO] [1660986856.609214600]: Constraint satisfied:: Joint name: 'wrist_1_joint', actual value: -5.254482, desired value: -5.295509, tolerance_above: 0.043633, tolerance_below: 0.043633
[ INFO] [1660986856.609256800]: Constraint satisfied:: Joint name: 'wrist_2_joint', actual value: 4.736449, desired value: 4.712389, tolerance_above: 0.043633, tolerance_below: 0.043633
[ INFO] [1660986856.609283700]: Constraint satisfied:: Joint name: 'wrist_3_joint', actual value: 1.027779, desired value: 1.034244, tolerance_above: 0.043633, tolerance_below: 0.043633
[ INFO] [1660986856.609362000]: Position constraint violated on link 'tool0'. Desired: 0.500000, 0.500000, 0.500000, current: 0.476804, 0.521981, 0.511430
[ INFO] [1660986856.609438900]: Differences 0.0231964 -0.0219812 -0.0114302
[ INFO] [1660986856.609482600]: Orientation constraint violated for link 'tool0'. Quaternion desired: 0.000000 0.000000 0.000000 1.000000, quaternion actual: -0.019405 0.008297 0.017501 0.999624, error: x=0.039100, y=0.015910, z=0.035322, tolerance: x=0.001745, y=0.001745, z=0.001745
[ INFO] [1660986856.633684300]: manipulator/manipulator[RRT]: Starting planning with 1 states already in datastructure
[ INFO] [1660986856.635383600]: manipulator/manipulator[RRT]: Starting planning with 1 states already in datastructure
[ INFO] [1660986856.635997300]: manipulator/manipulator[RRT]: Starting planning with 1 states already in datastructure
[ INFO] [1660986856.637133200]: manipulator/manipulator[RRT]: Starting planning with 1 states already in datastructure
[ WARN] [1660986886.599700400]: ParallelPlan::solve(): Unable to find solution by any of the threads in 29.975050 seconds
[ WARN] [1660986903.907469200]: More than 80% of the sampled goal states fail to satisfy the constraints imposed on the goal sampler. Is the constrained sampler working correctly?
Why would be the reason to define these goal with an redundant constraint, is it only to test?
Cheers!
Describe the bug See code snippet I'm trying to do a path planning that constrains both end effector and joint positions (within a range)
If I try to compute path planning for the to constraint separately everything work, but if try to merge them planning solution fail with:
compas_fab.backends.ros.exceptions.RosValidationError: Error code: -1; PLANNING_FAILED
The joint configuration target target is obtain from inverse kinematic
To Reproduce
Expected behavior
LOGS
Versions
MacOSX 10.15.7
3.10
conda
1.16.0
0.26.0
Am I doing something wrong? Is this related to this commit?
Thanks, Luca