前提: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
带着使命来到世上的你,给他人提供价值,才有价值