You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Use the Cartesian waypoint seed when solving IK in the OMPL move profile
OMPLRealVectorMoveProfile solved start/goal states for CartesianWaypoints by
calling calcInvKin with a hardcoded zero seed, ignoring any seed state attached
to the waypoint (e.g. populated by MinLengthTask's interpolation). For
seed-dependent solvers that return a single solution (e.g. the KDL-LMA plugin),
the zero-seed solution can land outside the joint limits; calcInvKin's limit
filter then empties the goal set and the planner aborts with "All goal states
are either in collision or outside limits", even though the waypoint is
reachable and its seed would solve cleanly.
Honor the waypoint's attached seed (CartesianWaypointPoly::getSeed()) as the IK
seed when it is present and sized to the manipulator, falling back to the
previous zero seed otherwise. The seed is threaded through the KinGroupIKInput
applyStartStates/applyGoalStates overloads via an optional trailing parameter,
so the existing API and behavior for callers that pass no seed are unchanged.
Fixes#762
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
0 commit comments