Changelog
All notable changes to kinetic are documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
Added
PlannerOutputInvaliderror variant for safety gate failuresSingularityLockuperror variant for servo singularity detectionDimensionMismatcherror variant with context stringIKSolution.degradedflag for solver fallback detectionIKSolution.condition_numberfor singularity proximity monitoringExecutionConfig::safe()constructor with auto-configured safetySafetyWatchdogfor real-time execution monitoringPlanExecuteLoopfor automatic replanning on failure
[0.1.0] - 2026-03-29
Initial release of the kinetic motion planning library.
Added
Core (kinetic-core)
Pose,JointValues,Trajectory,Goal,ConstrainttypesKineticErrorwith 20+ variants andis_retryable()/is_input_error()PlannerConfigwithdefault(),realtime(),offline()presetsFrameTreeandStampedTransformfor coordinate frame managementTwistandWrenchspatial vector types
Robot (kinetic-robot)
- URDF parser with full joint/link/collision geometry support
- SRDF parser for planning groups and collision pairs
- MJCF and SDF loaders
- 52 built-in robot configurations
Robot::from_name(),Robot::from_urdf(),Robot::from_path()kinetic.tomlconfiguration format
Kinematics (kinetic-kinematics)
- Forward kinematics (
forward_kinematics,forward_kinematics_all) - Jacobian computation (
jacobian) - Manipulability index (
manipulability) - 6 IK solvers: DLS, FABRIK, OPW, Subproblem, Subproblem7DOF, BioIK
- Cached IK solver for repeated queries
- IKFast codegen support
- Batch IK (
solve_ik_batch) - Workspace analysis (
ReachabilityMap)
Collision (kinetic-collision)
- SIMD-vectorized sphere-sphere collision (AVX-512/AVX2/SSE4.1)
- CAPT broadphase acceleration
RobotSphereModelwithSphereGenConfig(coarse/default/fine)CollisionEnvironmentwith margin-based checkingAllowedCollisionMatrixfor self-collision filtering- Contact point computation
Planning (kinetic-planning)
- 8 sampling-based planners: RRT-Connect, RRT*, BiRRT*, BiTRRT, EST, KPIECE, PRM, GCS
- Constrained RRT with orientation/position constraints
- Cartesian planner (linear and arc paths)
- Dual-arm planner (Independent, Synchronized, Coordinated modes)
- Path shortcutting and B-spline smoothing
Plannerfacade with auto chain detectionPlannerTypeenum for algorithm selection- One-line
plan()convenience function PlanningPipelinewith pre/post-processors and planner racing
Trajectory (kinetic-trajectory)
- Trapezoidal time parameterization
- TOTP (Time-Optimal Path Parameterization)
- Jerk-limited S-curve profiles
- Cubic spline interpolation
- Trajectory blending
- CSV and JSON import/export
TrajectoryValidatorwith per-joint limit checkingExecutionMonitorwith deviation detection
Scene (kinetic-scene)
- Collision object management (add, remove, attach, detach)
- Shape primitives: Cuboid, Cylinder, Sphere, HalfSpace
- Point cloud ingestion with voxel downsampling
- Depth image to point cloud conversion
- Octree spatial indexing
- Outlier removal (statistical and radius)
Reactive (kinetic-reactive)
- Servo controller (Twist, JointJog, PoseTracking modes)
ServoConfigpresets: teleop, tracking, precise- Riemannian Motion Policies (RMP)
- Collision deceleration
- Singularity avoidance
- Smoothing filters (EMA, Butterworth)
Task (kinetic-task)
- Pick and Place task planning
- Multi-stage task sequencing
- Grasp generation
- Approach/retreat motion primitives
- Gripper command integration
GPU (kinetic-gpu)
- cuRobo-style parallel trajectory optimization via wgpu
- Batch FK on GPU
- GPU collision checking with SDF
GpuConfigpresets: balanced, speed, qualityCpuOptimizerfallback for non-GPU environments
Execution (kinetic-execution)
CommandSinktrait for hardware driversFeedbackSourcetrait for encoder readingRealTimeExecutorwith 500 Hz command streamingSimExecutorfor testing without hardwareLogExecutorfor recording commanded trajectoriesSafetyWatchdogwith configurable timeout actions
HORUS Bridge (horus-kinetic)
PlannerNodefor motion planning via HORUS IPCServoNodefor reactive control via HORUS IPCSceneNodefor collision world via HORUS IPC- Channel-based API for standalone use
Python (kinetic-python)
- PyO3 bindings with numpy interop
- Robot, Planner, Scene, Servo, Task, Trajectory classes
- One-line
kinetic.plan()function - Grasp generation and gripper types
- Frame tree management
Supported Robots (52)
ABB IRB1200, ABB IRB4600, ABB YuMi (left/right), ALOHA (left/right), Baxter (left/right), Denso VS068, Dobot CR5, Elite EC66, Fanuc CRX-10iA, Fanuc LR Mate 200iD, Fetch, Flexiv Rizon4, Franka Panda, Jaco2 6DOF, Kinova Gen3, Kinova Gen3 Lite, Koch v1, KUKA iiwa7, KUKA iiwa14, KUKA KR6, LeRobot SO-100, Meca500, myCobot 280, Niryo Ned2, Open Manipulator X, Open Manipulator P, PR2, Sawyer, SO-ARM100, Staubli TX2-60, Stretch RE2, Techman TM5-700, TIAGo, Trossen PX100, Trossen RX150, Trossen WX250s, UR3e, UR5e, UR10e, UR16e, UR20, UR30, ViperX 300, WidowX 250, xArm5, xArm6, xArm7, Yaskawa GP7, Yaskawa HC10.