This is a fork of the moveit_servo
package from MoveIt 2, extracted as a standalone
repository so it can be consumed via vcs/dependencies.repos alongside binary MoveIt
packages.
Base: moveit_servo 2.12.4, imported from
moveit/moveit2@1ade0e9
(the 2.12.4 tag), path moveit_ros/moveit_servo.
Kept intentionally minimal — one reviewable patch on top of the pristine import:
-
check_singularityparameter (defaulttrue, i.e. upstream behaviour). Whenfalse, the singularity condition-number check and its velocity scaling/halting are skipped entirely injointDeltaFromTwistandjointDeltaFromPose.Rationale:
velocityScalingFactorForSingularityindexes the Jacobian SVD withdims = target_delta_x.size()(always 6), but for a move group with fewer than 6 joints the thin SVD of the 6×N Jacobian has only N singular values and a 6×N U matrix —singularValues()(dims - 1)andmatrixU().col(dims - 1)read out of bounds (undefined behaviour in release builds; garbage condition numbers that can spuriously scale or halt motion regardless of threshold configuration). Setting the thresholds high does not avoid this, because the computation runs before the comparison. An upstream fix is in review at moveit/moveit2#3750; once it ships in a release this fork can be retired. -
Launch-based integration tests off by default (
MOVEIT_SERVO_LAUNCH_TESTS=OFF). Thelaunch_testing-based tests error at collection in environments that disable pytest plugin autoloading or ship pytest ≥ 9. Re-enable with-DMOVEIT_SERVO_LAUNCH_TESTS=ON.
# 1. Fetch the new upstream tag and extract the package
curl -sL https://github.com/moveit/moveit2/archive/refs/tags/<TAG>.tar.gz | tar -xz
# 2. On a branch, replace the tree with moveit2-<TAG>/moveit_ros/moveit_servo
# (keep this README), commit as "Import moveit_servo <TAG> from moveit/moveit2@<sha>"
# 3. Re-apply the fork delta (cherry-pick the patch commit; resolve if upstream moved)
# 4. If upstream has fixed the sub-6-DOF singularity indexing, drop patch 1 and plan
# retirement of this fork.BSD-3-Clause, unchanged from upstream. See package.xml for authors and maintainers
of the original package.