小米杯考核:四足机器人仿真环境搭建
一、考核目的
本考核旨在检验参赛者对机器人仿真环境的基本搭建能力以及对 ROS2 与 Gazebo 仿真系统的基础使用能力。
参赛者需要完成以下任务:
- 在本地电脑成功搭建 Cyberdog 仿真环境
- 成功运行 Gazebo + RViz2 仿真程序
- 启动 运动控制管理程序
- 在仿真环境中使 机器狗正常运动
完成以上内容即可判定为 考核合格。
二、考核环境要求
1. 操作系统
推荐使用:
- Ubuntu 20.04
环境部署方式允许以下三种:
- 双系统(Windows + Ubuntu)
- 虚拟机(VMware / VirtualBox)
- WSL(Windows Subsystem for Linux)
系统安装可参考以下教程:
2. 软件环境
需要安装:
- Docker 20.10.21
- ROS2 Galactic(已包含在 Docker 镜像中)
Docker 安装教程:
3. 推荐硬件配置
建议电脑配置如下:
| 硬件 | 推荐配置 |
|---|---|
| CPU | 4核心及以上 |
| 内存 | 16GB 及以上 |
| GPU | NVIDIA 独立显卡(推荐) |
| 存储 | 50GB 以上空间(SSD 推荐) |
该仿真环境基于 Gazebo 仿真器,因此对显卡和内存要求较高。
三、考核任务
参赛者需要完成以下任务:
- 安装 Ubuntu 系统
- 安装 Docker
- 导入 Cyberdog 仿真 Docker 镜像
- 启动 Gazebo 仿真环境
- 启动机器狗控制程序
- 成功运行仿真并观察机器狗运动
教程位置:
四、环境搭建步骤
下载 Docker 镜像
下载镜像文件:
Plain Text
cyberdog_race.tar镜像大小约 10GB。
下载完成后,将文件放在 Ubuntu 系统目录中。
五、导入 Docker 镜像
打开终端,执行:
Bash
sudo docker load -i cyberdog_race.tar导入完成后,可通过以下命令查看镜像:
Bash
docker images六、授权 X Server
为了使 Docker 内部程序能够打开图形界面(Gazebo / RViz),需要授权 X Server。
执行:
Bash
xhost +七、运行 Docker 容器
运行仿真环境容器:
Bash
sudo docker run -it \
--shm-size="1g" \
--privileged=true \
-e DISPLAY=$DISPLAY \
-v /tmp/.X11-unix:/tmp/.X11-unix \
cyberdog_sim:v1运行后进入 Docker 内部终端。
八、运行仿真环境
在 Docker 终端中执行:
Bash
cd /home/cyberdog_sim
python3 src/cyberdog_simulator/cyberdog_gazebo/script/launchsim.py该脚本将启动完整仿真系统。
启动后会出现三个窗口:
- cyberdog_gazebo Gazebo 仿真环境窗口
- cyberdog_control 机器人控制程序窗口
- cyberdog_visual RViz2 可视化窗口
Gazebo 用于仿真机器人与环境交互,RViz 用于显示机器人状态与传感器数据。
九、启动运动控制程序
打开 新的终端(Docker 内)
执行:
Bash
cd /home/cyberdog_ws
source /opt/ros/galactic/setup.bash
source install/setup.bash
ros2 run motion_manager motion_manager该程序提供 ROS2 Topic 控制接口,可将 ROS2 控制指令转换为 LCM 指令发送给控制程序。
十、仿真通信结构简介(了解)
仿真系统中主要包含两种通信方式:
1. LCM 通信
用于机器人控制程序与仿真系统之间的通信。
2. ROS2 Topic
用于:
- 机器人状态
- 传感器数据
- 控制命令
常见 topic 包括:
Plain Text
/joint_states
/tf
/imu
/scanGazebo 会将仿真传感器数据发布为 ROS2 Topic。
十一、常见问题解决
Gazebo 无法正常关闭
如果 Gazebo 无法关闭,可以执行:
Bash
killall -9 gazebo
killall -9 gzserver
killall -9 gzclient