最近入手了地平线旭日X3派,发现此开发板对ROS2环境有很好的支持,于是决定在原已经安装了ROS1的Ubuntu系统上再安装ROS2环境,经过一番搜寻发现这是可行的,主要参考这篇博客ubuntu20.04安装ros2,并与ros1共存。其原理就是在.bashrc文件(可在根目录下按“ctrl”+“h”显示出.bashrc文件)里写一段shell脚本,根据不同的版本source不同的环境变量。终端中输入“1”就引用ROS1的环境变量,输入其他数字就引用ROS2的环境变量。
echo "ROS noetic (1) or ROS2 foxy (2)?"
read edition
if [ "$edition" -eq "1" ];then
source /opt/ros/noetic/setup.bash #这是ros1根目录环境变量
source ~/catkin_ws/devel/setup.bash#这是ros1工作空间环境变量
echo using ros noetic
else
source /opt/ros/foxy/setup.bash #这是ros2系统环境变量
echo using ros2 foxy
fi
注意Ubuntu20.04安装的是ROS2-foxy版本,如果是Ubuntu22.04要安装ROS2-humble版本。安装完成后就可以系统地学习ROS2了,这里推荐古月居ROS2入门21讲【古月居】古月·ROS2入门21讲 | 带你认识一个全新的机器人操作系统与鱼香ROS的教程【鱼香ROS】动手学ROS2|ROS2基础入门到实践教程|小鱼带你手把手学习ROS2。古月居网页图文教程链接ROS2入门教程,鱼香ROS图文教程链接动手学ROS2。
但是在学习古月居ROS2教程的过程中,由于教程中使用的是Humble版本,我安装的是Foxy版本,我发现有一些指令还是有一些差别的(有些折腾了好久,不过幸好有GPT老师的指导),目前发现的不同有:
Foxy版本使用查看TF树的可视化工具输入的命令是:
ros2 run tf2_tools view_frames.py
而Humble版本的命令是:
ros2 run tf2_tools view_frames
Foxy版本查看URDF模型结构的命令是:
urdf_to_graphiz mbot_base.urdf # 在模型文件夹下运行
Humble版本的命令是:
urdf_to_graphviz mbot_base.urdf