一、ros的安装:

我安装时完全按照这篇文章安装的,两个版本都可以比较简单地成功安装。

ROS篇——Ubuntu快速一键安装ROS或ROS2(通用)_ros一键安装_易Yi的博客-CSDN博客

安装完成后,在/opt/ros/路径下会出现两个文件夹,名称分别是上面选择安装的ros1和ros2的版本名称。如图所示:

二、 共存与切换

按上面这篇文章安装第二个版本时,安装程序会检测到系统里存在两个版本的ROS,并会在两个版本都安装好后自动在~/.bashrc文件最后添加切换版本的指令:

# >>> fishros initialize >>>
echo "ros: noetic(1) foxy(2)?"
read choose
case $choose in
1) source  /opt/ros/noetic/setup.bash;;
2) source  /opt/ros/foxy/setup.bash;;
esac
# <<< fishros initialize <<<

这样,每次打开新的终端都会要求用户选择ros的版本,自动配置被选择的ros环境,

注:打开这个.bashrc文件的命令是: sudo gedit ~/.bashrc,这个文件会在每次打开新的终端时执行文件内部写好的命令。

每次打开终端都要先选择ROS,难免让人心烦,毕竟我们不是每次打开终端都要使用ros,所以我把这段改成了:

# >>> type in ros to choose which to initialize >>>
ros(){
  echo "ros: noetic(1) foxy(2)?"
  read choose
  case $choose in
  1) source  /opt/ros/noetic/setup.bash;;
  2) source  /opt/ros/foxy/setup.bash;;
  esac
}
# <<< type in ros/ros2 to initialize <<<

路径中的noetic和foxy要替换成实际安装的ros版本名称。修改完成后,在当前终端中输入source ~/.bashrc使修改生效,或者打开新的终端自动生效。

这样改的效果是,当需要启动ros环境时,在终端中键入:ros,然后回车,才会弹出选择版本的提示。

下面两张截图就是先尝试配置ros1,后尝试配置ros2,并成功运行了ros2的测试。在改到ros2时,会有一个提醒,不用在意。

结束。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐