一、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时,会有一个提醒,不用在意。
结束。