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 之间的版本对应关系如下:
Ubuntu | ROS 1.0 | ROS 2.0 |
---|---|---|
16.04 LTS | Kinetic LTS | Ardent |
18.04 LTS | Melodic LTS | Dashing LTS |
20.04 LTS | Noetic LTS | Foxy LTS |
22.04 LTS | Noetic Ninjemys | Humble 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
第一句指令将启动一个蓝色背景的海龟仿真器,第二句指令将启动一个键盘控制节点,在该终端中点击键盘上的“上下左右”按键,就可以控制小海龟运动了
参考资料
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