文章来源:https://www.guyuehome.com/detail?id=1880175119840628737
0.前言
本期博客帮助大家进行宇树机器狗go2的gazebo仿真环境搭建。对于宇树go2的系统环境推荐使用实体机Ubuntu20.04,这样可以较好的同时使用ROS1和ROS2,本次主要使用ROS1 noetic。(本实验使用过两台不同的电脑进行验证和撰写,因此图片上会有一定差异)。
1.实验准备
1.ros安装
确保已经安装好了ros,如果没有安装好,可以使用以下指令进行安装:
wget http://fishros.com/install -O fishros && . fishros
1.键盘输入1
2.若是第一次安装输入按键1,若不是选择按键2(也可以选择按键1)
3.选择ros1 melodic,我笔记本电脑安装的是Ubuntu18.04,如果是20.04安装的将是noetic
4.选择桌面版,按键输入1
5.安装完毕
6.ros安装验证:
roscore
ROS moetic版本效果如下
ROS noetic版本如下
这里可以看到是ros noetic版本。
2.安装各种依赖:
1.依赖一
sudo apt-get install liblcm-dev
上述依赖一定要安装,否则会可能出现编译出现问题,gazebo仿真依然能用,但腿部控制无法使用
2.依赖二
sudo apt-get install ros-noetic-controller-interface ros-noetic-gazebo-ros-control ros-noetic-joint-state-controller ros-noetic-effort-controllers ros-noetic-joint-trajectory-controller
我这里是已经提前安装好了的。
3.创建工作空间:
mkdir -p test_ws/src
4.进入工作空间的src:
cd test_ws/src
5.unitree_legged_sdk
1.获取功能包
git clone https://github.com/unitreerobotics/unitree_legged_sdk.git
2.进入功能包并创建build文件
cd unitree_legged_sdk && mkdir build
3.进入build文件夹
cd build
4.编译功能包
cmake ..
make
5.构建 python安装包
cmake -DPYTHON_BUILD=TRUE ..
6.unitree_ros_to_real
1.获取功能包 注意:是在工作空间的src文件下执行
git clone https://github.com/unitreerobotics/unitree_ros_to_real.git
7.unitree_ros
1.获取功能包 注意:是在工作空间的src文件下执行
git clone https://github.com/unitreerobotics/unitree_ros.git
8.unitree_guide
1.获取功能包 注意:是在工作空间的src文件下执行
git clone https://github.com/unitreerobotics/unitree_guide.git
9.编译工作空间
catkin_make
1.如果一切顺利,效果将如下:
2.问题及解决: 我在test_ws工作空间下进行编译时就出现了以下问题
如何解决:
rm -rf build devel/
随后编译 :
catkin_make
3.source
source devel/setup.bash
一切顺利的话,准备工作就已经全部完成 。
2.仿真启动
1.启动
roslaunch unitree_guide gazeboSim.launch rname:=go2
2.问题与解决:
1.问题 在执行的时候如果在anconda的虚拟环境当中,就有可能会运行失败:
2.解决方法
conda deactivate
roslaunch unitree_guide gazeboSim.launch rname:=go2
3.文件修改
尽管使用最开始的命令也能使用,但我更推荐对gazeboSim.launch文件进行修改:
cd src/unitree_guide/unitree_guide/launch/
打开文件: 1.手动寻找文件(本人认为是最简单的)
2.gedit法(本人认为比较简单的)
gedit gazeboSim.launch
3.vim法(对不熟悉的人较麻烦的方法) 未安装vim是无法使用的 安装如下:
sudo apt install vim
vim gazeboSim.launch
4.将go1修改为go2(这里我使用gedit进行演示)
4.启动控制
./devel/lib/unitree_guide/junior_ctrl
按键2是站立,按键4是行走模式,按下4键后就可以使用方向wasd键进行运动控制了,jl进行转向控制。
问题: 在我使用虚拟机进行腿部控制的时候会出现如下问题,但使用实体机并未出现,暂时还未知是何种原因导致。 初步判断为虚拟机性能导致,因此在这里推荐使用实体机进行实验。
https://oss.guyuehome.com/upload/2025/01/171644435768https://bbs-object.s3.cn-north-1.jdcloud-oss.com.png
3.结尾
ok,环境已经搭建完成,后续的开发就依靠各位开发者的努力了。 参考:
暂无评论
回复评论