ROS 安装详细教程 —— Ubuntu22.0.4 LTS 安装

Posted ppqppl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ROS 安装详细教程 —— Ubuntu22.0.4 LTS 安装相关的知识,希望对你有一定的参考价值。

ROS 安装详细教程 —— Ubuntu22.0.4 LTS 安装

ROS 简介

官方文档对 ROS 的介绍如下:

The Robot Operating System (ROS) is a set of software libraries and tools that help you build robot applications. From drivers to state-of-the-art algorithms, and with powerful developer tools, ROS has what you need for your next robotics project. And it's all open source.

简单来说 ROS 就是一款开源的机器人操作系统,可以实现在 Linux 或 Dock 下安装并进行使用。这里我们选择在 Ubuntu 22.04LTS 下进行安装。

版本选择

ROS 目前主要支持 Linux 和 MacOS 系统,新发布的 ROS2 也支持 Windows 和 RTOS 系统。

对 ROS 兼容性最好的当属 Ubuntu 系统。从 ROS 发布以来,每版的 Ubuntu 系统版本都有与之对应 ROS 版本的,每一版 ROS 都有其对应版本的 Ubuntu 版本,切记不可随便装。

ROS 和 Ubuntu 之间的版本对应关系如下:

UbuntuROS 1.0ROS 2.0
16.04 LTSKinetic LTSArdent
18.04 LTSMelodic LTSDashing LTS
20.04 LTSNoetic LTSFoxy LTS
22.04 LTSNoetic NinjemysHumble Hawksbill

这里我们使用的是 Ubuntu 22.04 LTS 系统,所以这里我们选择 Humble Hawksbill 系统进行安装

安装过程

设置编码

安装代码如下:

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

只有我们设置为 UTF-8 的英文编码才能正常安装运行于显示,设置后显示如下:

添加镜像源

## 通过检查此命令的输出,确保已启用Ubuntu Universe存储库。
apt-cache policy | grep universe

输出应如下:

若没有看到像上面这样的输出行,依次执行如下命令:

sudo apt install software-properties-common
sudo add-apt-repository universe

这里的命令就是添加 apt 软件源,这里会基本添加好所有的国内的 apt 软件源

然后继续执行上面的命令即可,在全部命令执行成功后,执行如下命令:

## 继续执行如下命令:
sudo apt update && sudo apt install curl gnupg 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 $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

这里如果出现如下界面:

就需要执行如下命令:

sudo rm /var/chche/apt/archives/lock
sudo rm /var/lib/dpkg/lock-frontend  #注意自己无法获得锁的路径
sudo apt install -y gcc nasm

如果报错:ubuntu curl: (56) Recv failure: 连接被对方重设,说明已有程序占用该端口,我们直接重启即可

我们把所有的环境准备做好,就可以开始安装 ROS2 了

安装 ROS2

sudo apt update
sudo apt upgrade
## 推荐桌面版,比较推荐。
sudo apt install ros-humble-desktop
## 安装时间可能较长,安心等待。

在我们安装好之后,需要设置以下环境变量:

source /opt/ros/humble/setup.bash
echo " source /opt/ros/humble/setup.bash" >> ~/.bashrc

到此,我们已经完整安装了 ROS2 ,我们就可以直接使用了

示例测试

示例一:通信测试

首先我们来测试以下 ROS2 最为重要的底层通信系统 DDS 是否正常,我们启动一个终端并通过命令新建一个数据的发布者节点:

ros2 run demo_nodes_cpp talker

接下来,在这个终端不关闭进程的情况下,打开第二个终端,通过以下命令启动一个数据的订阅者节点:

ros2 run demo_nodes_py listener

这里可以看出来,我们的 Hello World 字符串在两个终端中正常传输,说明通信系统没有问题

示例二:小海龟仿真测试

这里我们需要用到两个终端,分别使用如下命令:

# 终端一
ros2 run turtlesim turtlesim_node
# 终端二
ros2 run turtlesim turtle_teleop_key

第一句指令将启动一个蓝色背景的海龟仿真器,第二句指令将启动一个键盘控制节点,在该终端中点击键盘上的“上下左右”按键,就可以控制小海龟运动了

参考资料

  1. ubuntu22.04安装ROS2 详细教程

Turtlebot2 ROS配置超详细教程 ubuntu16.04

1. kobuki ros驱动安装

1)硬件连接示意图,硬件连接接口都有防误插,连接到kobuki上的如图所示,一个为kinect的12V 5A供电接口,一个为与计算机通信的USB接口。


2)需要安装相应的源,可以参考indigo版本的安装说明,http://wiki.ros.org/turtlebot/Tutorials/indigo/Turtlebot%20Installation,操作基本类似,名称需要相应的改为kinetic版本,还有安装的依赖项不同。

3)打开终端,运行如下命令:  (可以下载编码进行编译)

sudo apt-get update sudo apt-get install ros-kinetic-turtlebot ros-kinetic-turtlebot-apps ros-kinetic-turtlebot-interactions ros-kinetic-kobuki-ftdi ros-kinetic-ar-track-alvar-msgs ros-kinetic-turtlebot-simulator

还有ros-kinetic-rocon-remocon ros-kinetic-rocon-qt-library没有安装,如果尝试安装会提示无法定位软件源,因此需要手动安装。

4)ros-kinetic-rocon-remocon ros-kinetic-rocon-qt-library无法定位软件源,手动安装,使用git下载软件源码到ros工作目录catkin_ws/src/下(创建方法参考http://wiki.ros.org/ROS/Tutorials/InstallingandConfiguringROSEnvironment),等待编译。git clone https://github.com/robotics-in-concert/rocon_qt_gui.git

5)下载完成,在编译之前需要添加编译依赖资源,pyrcc5,pyrcc4,因此手动安装这两个依赖项,

sudo apt-get install pyqt4-dev-tools sudo apt-get install pyqt5-dev-tools

 然后编译该工作目录cd ~/catkin_ws/catkin_make至此,Turtlebot就成功安装。 

6)检查别名:启动ros:roscore输入检测命令:ls /dev/kobuki   会显示有对应的设备/dev/kobuki   如果没有,添加别名:rosrun kobuki_ftdi create_udev_rules  重插USB线,在进行上述的检测命令

7)通过遥控移动(仅TurtleBot,通过Turtlebot的上网本操作)打开Turtlebot开关,状态点亮。启动Turtlebot,在上网本,打开一个新终端,运行如下命令:

roslaunch turtlebot_bringup minimal.launch 

启动键盘遥控,在上网本,打开另一个新终端,运行如下命令:

roslaunch turtlebot_teleop keyboard_teleop.launch点

击键盘“i”前进。 问题: 启动Turtlebot后会出现Error,可是也可以正常使用  问题是由usb3.0导致


https://blog.csdn.net/sunyoop/article/details/78023700

https://answers.ros.org/question/262557/kobuki-malformed-subpayload/

https://answers.ros.org/question/54513/turtlebot-2kobuki-installation-problems/https://answers.ros.org/question/52203/kobuki-malformed-subpayload/  https://answers.ros.org/question/54513/turtlebot-2kobuki-installation-problems/https://answers.ros.org/question/52203/kobuki-malformed-subpayload/

https://github.com/search?q=Kobuki+%3A+malformed+sub-payload+detected.+&type=Issues

2. kinect v1 ros驱动安装 

以下2种方式,任选一种即可,当然全部安装也没有问题

1)使用openni_launch

sudo apt-get install ros-kinetic-openni-camera ros-kinetic-openni-launch

注意:openni2_launch已经不再支持Kinect任何产品。

2)使用 freenect_launch

sudo apt-get install ros-kinetic-freenect-camera ros-kinetic-freenect-stack ros-kinetic-freenect-launch

测试安装是否成功: 

参考 https://blog.csdn.net/x_r_su/article/details/52904113

1.roscore

2. 如果用openni_launch,命令如下:

roslaunch openni_launch openni.launch

如果用freenect_launch,命令如下:

roslaunch freenect_launch freenect.launch

3.测试rgb或者depth

rosrun rqt_image_view rqt_image_view

rosrun rviz rviz

如果只是查看特定的输出,可以命令行选择:

rosrun image_view image_view image:=/camera/rgb/image_raw


以上是关于ROS 安装详细教程 —— Ubuntu22.0.4 LTS 安装的主要内容,如果未能解决你的问题,请参考以下文章

详细介绍如何在ubuntu20.04中安装ROS系统,超快完成安装(最新版教程)

Turtlebot2 ROS配置超详细教程 ubuntu16.04

Turtlebot2 ROS配置超详细教程 ubuntu16.04

ubuntu20.04安装ros2,并与ros1共存

探索之路机器人篇-ROS系统并创建工作空间和项目

ROS安装与卸载教程