Skip to content

宇树四足狗 仿真实例

quadruped-robot介绍

项目提供了控制四足机器人的架构和许多关键算法,包括状态估计、步态生成、姿态和摆动腿控制器。目前支持宇树科技的 A1 机器人(Unitree-Robotics)和 Lite2A 机器人(Deep-Robotics)。并且该项目可轻松扩展以支持其他四足机器人,如 AlienGO/GO1 (Unitree-Robotics)、Jueying/X20(Deep-Robotics)和 Anymal。有关四足机器人的更多信息,请访问以下网站

develop分支

该分支提供了控制四足机器人的架构和许多关键算法,包括状态估计、步态生成、姿态和摆动腿控制器。目前支持宇树科技的 A1 机器人(Unitree-Robotics)和 Lite2A 机器人(Deep-Robotics)。

1.启动gazebo仿真环境

roslaunch unitree_gazebo normal.launch use_lidar:=true use_camera:=true

2.启动控制器

rosrun demo demo_publish_odom

显示效果如下

3.此时会创建cmd_vel和odom,启动odom与base的tf是断开的,可通过参数接口控制

rosparam set /publishOdomTF true

4.启动point_to_laserscan

roslaunch slam pointcloud_to_laser.launch

5.启动gmapping仿真

roslaunch slam gmapping_demo.launch

6.在gazebo中添加一些障碍物

源码:https://github.com/TopHillRobotics/quadruped-robot/tree/develop

mpc-wbc分支

注意

该分支源码未在ROS2GO中预置

该分支集成了一些先进的算法,如 MPC 和 WBC,以控制四足机器人。 本项目支持在 Unitree A1 和 DeepRobotics Lite3 上进行测试。如需对 MPC 和 WBC 算法进行微调,可以调整相应参数(如 quadruped/src/controllers/wbc/task_set 中的 KP 和 KD 或 WBC 运动控制器中的权重)。

1.启动gazebo仿真环境

roslaunch qr_gazebo gazebo_startup.launch wname:=earth
roslaunch qr_gazebo model_spawn.launch rname:=a1 use_xacro:=true use_camera:=false

2.启动控制器

rosrun examples example_a1_sim

3.开启按键后,按下l键,再按j键,按下k切换模式即可进行控制

rosrun examples example_keyboard

显示效果如下

K: 切换控制模式

J: 改变步态

W``A``S``D: 前进,向左,向后, 向右

Q``E: 旋转

L: 停步

I: 坐下,退出

源码:https://github.com/TopHillRobotics/quadruped-robot/tree/mpc-wbc