Ubuntu 22.04 apt 安装 ros1 ros Noetic Ninjemys

众所周知 ros2还有很多功能没有移植,而ros1官方不再支持 ubuntu 20.04 之后的版本。另一方面Ubuntu 22.04 更新了很多对新硬件的驱动,有更好的兼容性和体验,这就变的很纠结。

如果想在 22.04 使用最新版本的 ros noetic 只有自己编译一个办法。编译整套 ros。 对于初学者来说是个不小的挑战, 需要解决数量众多的库依赖和 C++ 版本兼容问题。

今天偶然发现 Autolabor 官方编译的一个ros noetic ninjemys 安装包,经测试可用,并且还包含 navgation stack,针对学习机器人导航和 SLAM 的需要可以直接安装使用.

安装方法如下:

添加源

echo "deb [trusted=yes arch=amd64] http://deb.repo.autolabor.com.cn jammy main" | sudo tee /etc/apt/sources.list.d/autolabor.list

更新源

sudo apt update

安装

安装过程有点长,因为这个版本会帮助安装所有需要的依赖,有些库的比较大。如果中间出现包无法下载的情况,请重试。

sudo apt install ros-noetic-autolabor


当出现 ros-noetic-autolabor installed 的字样,意味着安装已经完成,下面我们来验证下工作是否正常。

验证安装

打开一个新的控制台 ,执行

roscore

再打开另一个新的控制台

rosrun rviz rviz

如果看到 rviz 已经成功启动了,意味着已经安装成功

ros 会被安装在 /opt/ros/noetic 目录下,并且会在~/.bashrc 中添加 source /opt/ros/noetic/setup.bash 的引用

这个版本包含了完整的 ros desktop full, navgation 以及对 gazibo 的支持,比较全,无需像官方的一个个包单独安装。

创建工作空间

mkdir -p ~/catkin_ws/src

cd ~/catkin_ws/

初始化工作空间

catkin init

创建一个Package

cd src

使用 catkin create 创建一个名为my_package 的包,依赖于roscpp , std_msgs

catkin create pkg my_package roscpp std_msgs

编译工作空间

cd ~/catkin_ws

catkin build

单独编译包

cd ~/catkin_ws/src/my_package

catkin build --this

至此我们已经成功在 ubuntu 22.04 安装了 ros1 noetic,并且验证工作正常。

卸载

sudo apt remove ros-noetic-autolabor