Skip to content

feat: ROS2 Humble migration + MuJoCo physics simulation bridge#98

Open
cometyang wants to merge 1 commit into
mike4192:masterfrom
cometyang:feature/mujoco-simulation
Open

feat: ROS2 Humble migration + MuJoCo physics simulation bridge#98
cometyang wants to merge 1 commit into
mike4192:masterfrom
cometyang:feature/mujoco-simulation

Conversation

@cometyang
Copy link
Copy Markdown

This commit migrates the entire spotMicro stack from ROS1 to ROS2 Humble and adds a new MuJoCo-based physics simulation package.

ROS2 Migration

  • Converted all packages from catkin to ament_cmake/ament_python
  • Replaced roscpp with rclcpp, rospy with rclpy
  • Updated all launch files from .launch XML to Python launch descriptions
  • Updated message/service types to ROS2 interfaces
  • Added missing dependencies (tf2_eigen, Eigen3)
  • Fixed smfsm library link dependencies in spot_micro_motion_cmd
  • Added missing #include and #include to spot_micro_state.h
  • Fixed ServosConfig.srv response field (bool success)
  • Created i2cpwm_board ROS2 package with custom servo messages/services

New Package: spot_micro_mujoco_sim

  • MJCF model with 12 position actuators and freejoint root
  • Bridges ROS2 servo commands (/servos_proportional) to MuJoCo actuators
  • Publishes /joint_states and /tf at 50Hz
  • Steps physics at 500Hz with stable kp=100/kv=10 actuator gains
  • Handles servo config service (/config_servos)
  • Supports offscreen video recording (optional parameter)
  • Includes launch file with robot_state_publisher and RViz2 integration

This commit migrates the entire spotMicro stack from ROS1 to ROS2 Humble
and adds a new MuJoCo-based physics simulation package.

## ROS2 Migration
- Converted all packages from catkin to ament_cmake/ament_python
- Replaced roscpp with rclcpp, rospy with rclpy
- Updated all launch files from .launch XML to Python launch descriptions
- Updated message/service types to ROS2 interfaces
- Added missing dependencies (tf2_eigen, Eigen3)
- Fixed smfsm library link dependencies in spot_micro_motion_cmd
- Added missing #include <memory> and #include <string> to spot_micro_state.h
- Fixed ServosConfig.srv response field (bool success)
- Created i2cpwm_board ROS2 package with custom servo messages/services

## New Package: spot_micro_mujoco_sim
- MJCF model with 12 position actuators and freejoint root
- Bridges ROS2 servo commands (/servos_proportional) to MuJoCo actuators
- Publishes /joint_states and /tf at 50Hz
- Steps physics at 500Hz with stable kp=100/kv=10 actuator gains
- Handles servo config service (/config_servos)
- Supports offscreen video recording (optional parameter)
- Includes launch file with robot_state_publisher and RViz2 integration
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