查看ubuntu系统版本支持的ros

我使用的是20.04,所以我下载的是ros Noetic和ros2 foxy两个版本。在同一个系统上面下载这两个版本不冲突,并且还可以在终端中选择不同的ros版本进行操作。

我下载时出现了”ubuntu 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系“,在下载两个版本的ros时都出现了这个问题,这个问题可以由sudo aptitude install ros-foxy-desktop这个命令进行解决,如果没有下载aptitude,就sudo apt install一下就可以,在第一个提供的方案中选择n,其他选择y就可以了。。

下载ros1

1.设置下载源:

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'

2.设置key

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

3.安装即可

sudo apt update 
sudo apt install ros-noetic-desktop-full

4.注意:不要在这里配置.bashrc脚本。。为后面选择做准备

下载ros2

1.设置local

sudo apt update && sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8

2.设置下载源

添加ROS2 GPG key
sudo apt install curl gnupg2 lsb-release
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key  -o /usr/share/keyrings/ros-archive-keyring.gpg
添加仓库到源列表
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

3.安装就可以了
sudo apt install ros-foxy-desktop

在ros2中python的包空间中,必须包含三个文件setup.py和package.xml和setup.cfg这三个文件,没有cfg这个找不到执行文件,cfg里面包含着一些元数据标准

注意: 我在编译的时候ros2出现了一个问题,colcon应该是没有下载,显示没有这个指令,下载这个指令就可以了。。。

sudo apt update
sudo apt install python3-colcon-common-extensions

设置终端中选择ros版本

在~/.bashrc中编辑,加入一些命令。

echo "ros noetic(1) or ros2 foxy(2)?"
read edition
if [ "$edition" -eq "1" ];then
 source /opt/ros/noetic/setup.bash
else
 source /opt/ros/foxy/setup.bash
fi

将这个命令加入进去就可以在终端启动时选择不同的ros版本。,。。。

或者第二种方法就是新建一个bash文件,将选择ros版本的选择在sh文件中进行实现,每次想启动时就运行sh文件

Logo

更多推荐