基于WSL2 & ROS2 humble上安装gazebo及调试

前提:ROS2 基于WSL2已经安装完成,并测试可以显示小乌龟;WSL2的Ubuntu版本22.04;已经安装conda。

目前,humble对应的是Ubuntu22,jazzy版本较新,对应Ubuntu24。

1)建立python3.10虚拟环境

$ conda create -n ros2 python=3.10

成功后,激活ros2。因为ros2内的一些库文件是用python 3.10编译的,所以,最好用3.10版。

$ conda activate ros2

2)安装gazebo

$ sudo apt-get install ros-humble-gazebo-ros ros-humble-gazebo-ros2-control

安装完成,在console输入gazebo测试一下,是否能看到界面。

3)安装需要用到的python组件

$ pip install catkin_pkg

$ pip install empy==3.3.2

注意上面的empy版本,指定3.3.2,目前默认是4.2,太高编译会报错。

$ pip install lark

$ pip install numpy

$ sudo apt-get install python3-rosdep

$ sudo apt install python3-colcon-common-extensions

如果后面编译过程中,提示缺失什么库,用pip安装即可。

4)下载测试项目

此处下载的是GitHub - legubiao/quadruped_ros2_control: ROS2-Control implementations for Quadruped robots

作者legubiao整理并开发了用于gazebo的开源代码,用来做例子。

$ git clone https://github.com/legubiao/quadruped_ros2_control.git

5)编译项目的过程

$ cd path/to/quadruped_ros2_control/../

$ rosdep install --from-paths quadruped_ros2_control --ignore-src -r -y

$ sudo apt-get install ros-humble-imu-sensor-broadcaster

$ sudo apt install ros-humble-joint-state-broadcaster

$ cd path/to/quadruped_ros2_control

$ colcon build --packages-up-to unitree_guide_controller go2_description keyboard_input 

$ colcon build --packages-up-to leg_pd_controller

启动仿真界面:

$ source path/to/quadruped_ros2_control/install/setup.bash

$ ros2 launch unitree_guide_controller gazebo_classic.launch.py

启动控制界面:

$ source path/to/quadruped_ros2_control/install/setup.bash

$ ros2 run keyboard_input keyboard_input

 


欢迎转载,本文地址: https://blog.prodrich.com/detail/89/

带着使命来到世上的你,给他人提供价值,才有价值