Skip to content

Update robot model URDF/SRDF and add Curobo V2 IK solver - #39

Open
threefruits wants to merge 4 commits into
AdaCompNUS:mainfrom
threefruits:main
Open

threefruits wants to merge 4 commits into
AdaCompNUS:mainfrom
threefruits:main

Conversation

@threefruits

Copy link
Copy Markdown
Member

This pull request introduces several improvements and new features to the kinematics and planning modules, with a focus on extensibility and performance for inverse kinematics (IK) and cost management. The most significant changes include the addition of cuRoboV2 support for IK solving, new cost management utilities, and enhancements to the cost descriptor workflow. There are also some minor bug fixes and configuration updates.

Kinematics and IK Solver Improvements

  • Added support for cuRoboV2 as an IK backend, including lazy imports and integration into the create_ik_solver factory function and IKSolverBase interface. This allows users to select cuRoboV2 as a backend for IK solving with the new CuroboV2IKConfig type. [1] [2] [3] [4] [5] [6]
  • Implemented cuRoboV2-specific cost-manager extensions in the new curobo_v2_constraints.py module, including a GPU-based waist-ankle constraint and a custom cost manager for Autolife robots.

Cost Management and Planning Enhancements

  • Introduced the CompiledCost class and related utilities for handling pre-compiled CasADi costs, enabling lightweight runtime metadata management and persistent descriptor saving/loading. This helps with efficient cost reuse across processes. [1] [2]
  • Added the cost_descriptor_path utility function for standardized descriptor file paths.
  • Updated the planning module's API and internal logic to accept both Cost and CompiledCost instances, improving flexibility in cost specification. [1] [2] [3]

Minor Fixes and Configuration Updates

  • Updated default joint positions in autolife.py to use zeros instead of small offsets for certain joints, likely for improved initialization or symmetry.
  • Removed an unnecessary collision disable entry from the robot's SRDF file.

Kinematics and IK Solver Improvements

  • Added cuRoboV2 IK solver support, including new imports, backend selection logic, and configuration types, allowing users to choose cuRoboV2 as an IK backend. [1] [2] [3] [4] [5] [6]
  • Implemented cuRoboV2 cost-manager extensions with a GPU-based waist-ankle constraint and a custom cost manager for Autolife robots.

Cost Management and Planning Enhancements

  • Introduced CompiledCost class for managing pre-compiled CasADi costs, including descriptor persistence and restoration. [1] [2]
  • Added cost_descriptor_path utility for standardized descriptor file naming.
  • Updated planner APIs to accept both Cost and CompiledCost instances. [1] [2] [3]

Minor Fixes and Configuration Updates

  • Changed some default joint positions in autolife.py to zeros for improved initialization.
  • Removed an unnecessary collision disable entry from the SRDF.

- Modified inertial properties and visual representations for various links in the URDF files, including adjustments to mass, inertia, and geometry.
- Added new links and joints for Lidar and IMU components in the robot model.
- Updated collision geometries to improve accuracy in the simulation environment.
- Removed unnecessary collision disable entries in the SRDF file to streamline the configuration.
- Updated the Curobo V2 IK solver to include waist yaw limits, enhancing stability during inverse kinematics calculations.
- Modified the IK configuration to enforce constraints on waist pitch and yaw, ensuring more accurate joint positioning.
- Added support for compiled costs in the planning module, allowing for efficient cost management.
- Adjusted URDF files to correct joint axis orientations and improve collision detection.
- Enhanced documentation to reflect new constraints and configuration options.
Bring in TOPP-RA time parameterization and packaging updates; keep
local Curobo V2 / robot changes. Resolve pixi.lock using upstream.
@threefruits threefruits self-assigned this Aug 20, 2026
@threefruits
threefruits requested a review from H-tr August 20, 2026 11:13
Add cached full-body sphere and ESDF collision queries for efficient endpoint validation without enabling collision costs during IK optimization.

Co-authored-by: Cursor <cursoragent@cursor.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant