本项目基于 ROS2 Humble + MoveIt2 Humble + Mujoco 2.3.0 实现了一个灵巧手的仿真系统。该系统能够通过 MoveIt2 进行路径规划,实现自动规划手指移动的功能。同时,项目还提供了一个 hand_shape 服务端节点,可以根据不同的手型需求进行转换。
项目集成了手部模型描述、MoveIt2 规划配置、MuJoCo 仿真启动、手型服务转换以及控制接口,适用于灵巧手动作规划、手型切换与仿真验证。
2026-03-19.141220.mp4
- ROS2 Humble
- MoveIt2 Humble
- Mujoco 2.3.0
- ubuntu 22.04
当前已经并入src中,可以删除
src/mujoco_ros2_control/并重新clone
- 需要从github上克隆mujoco_ros2_control仓库,并放置在src目录下
cd src/
git clone https://github.com/dfki-ric/mujoco_ros2_control- 编译
colcon build- 启动mujoco仿真 + moveit控制 + hand_shape手型转换服务端节点
ros2 launch hand_mujoco_launch hand_mujoco.launch.py - 使用指令呼叫hand_shape服务端,发出请求(更多手型见hand_shape.yaml)
ros2 service call /hand_shape/set_shape omnihand_node_msgs/srv/SetHandShape "{shape_name: joke}"目前的控制器配置为一个整体的hand_controller,如果需要单独控制每个手指,可以在
moveit_controllers.yaml和ros2_controllers.yaml中取消注释对应的控制器配置,并在hand_mujoco.launch.py中添加对应的控制器spawner节点。
ros2 control list_controllers
hand_controller joint_trajectory_controller/JointTrajectoryController active
joint_state_broadcaster joint_state_broadcaster/JointStateBroadcaster active请确保电脑性能足够,因为同时运行mujoco仿真和moveit路径规划可能会占用较多资源。建议在运行前关闭其他占用资源的程序,以获得更流畅的体验。
如果在运行过程中遇到任何问题,请检查ROS2和MoveIt2的安装是否正确,并确保所有依赖项都已满足。可以参考ROS2和MoveIt2的官方文档获取更多帮助。
欢迎在gihub上提交issue或pull request,以帮助改进项目!
Email: chiwayfpv@gmail.com