前言
在参考ROS2的官方教程学习urdf时,运行urdf_tutorial的例程很容易会因为一些依赖的库没有安装遇到问题,这里记录一下我踩坑之后总结的过程。
一、安装依赖库
这里得先说一下,我的ROS2的版本(distro)是foxy。首先我们得安装urdf_tutorial里面用到的一些库,不然在运行里面的文件的时候会出问题。我们需要安装joint-state-publisher-gui,joint-state-publisher,以及xacro这三个库,安装命令如下。
sudo apt install ros-foxy-joint-state-publisher-gui ros-foxy-joint-state-publisher
sudo apt install ros-foxy-xacro
二、下载源代码
安装完依赖库之后,我们需要将urdf_tutorial的源代码下载到我们本地的工作空间中。我之前已经建立过了一个colcon工作空间,在dev_ws目录下,因此,我需要将代码拉到这个目录里。
cd ~/dev_ws
git clone -b ros2 https://github.com/ros/urdf_tutorial.git src/urdf_tutorial
输入以上命令后,在~/dev_ws/src/目录应该能看到一个名为urdr_tutorial的文件夹,这就是我们下载的工程源文件所在的文件夹。
三、编译源代码
接下来我们需要对urdf_tutorial这个功能包的源代码进行编译,命令如下:
colcon build --packages-select urdf_tutorial
我们需要先安装了colcon才能使用colcon对功能包进行编译,假如还没安装的话,需要先进行安装,命令如下:
sudo apt install python3-colcon-common-extensions
四、运行urdf_tutorial功能包例程
至此,urdf_tutorial功能包构建完成,下面运行其中的一个例子试试,看看结果怎样。命令如下:
cd ~/dev_ws
source install/local_setup.bash #需要先source这个bash文件,否则后面launch会无法识别urdf_tutorial
cd ~/dev_ws/src/urdf_tutorial
ros2 launch urdf_tutorial display.launch.py model:=urdf/01-myfirst.urdf
上面的命令中,model:=
后面接的是要导入到rviz中的urdf模型文件的路径,这里我要导入的是urdf_tutorial/urdf目录下的01-myfirst.urdf
文件,因为当前的工作目录就是urdf_tutorial,因此模型文件路径为urdf/01-myfirst.urdf
。不知道哪里的设置有问题,看起来似乎并不是那么的像圆柱形(cylinder),暂时先这样。
五、参考文献
[1] Building a Visual Robot Model with URDF from Scratch
[2] How to launch rviz2 using urdf like urdf_tutorial of ROS1
[3] urdf_tutorial Github仓库
[4] fail to run the example in RoS2 foxy