Ubuntu 22.04 ROS2使用教程-01环境配置


背景

时至今日,ROS已经广泛用于各种机器人的开发,无论是机械臂、移动机器人、水下机器人,还是人形机器人、复合机器人,统统都可以看到ROS的身影,ROS已经成为机器人领域的普遍标准。

正如一家做汽车的公司,从零制造汽车并不是一个明智的做法,他们通常会采购A家的轮子、B家的引擎、C家的多媒体系统,最后把这些整合到一起做成汽车。同理,我们也可以将ROS社区中已有的各种软件集合到一起,在此之上去实现自己的创意,同时还可以将自己的成果分享给别人,这样大家都可以站在巨人的肩膀上,向前走的更远,一步一步,智能机器人才会有更多沉淀和更长远的进步。

围绕这个核心目标,ROS在自身的设计上也尽量做到了模块化,由通信机制、开发工具、应用功能、生态系统四大部分组成。同时ROS具备多项特点,这里的ROS是ROS1和ROS2的总称, 比如:

  • 社区是全球化的,那就可以集合全人类的智慧来推进机器人的智能化发展;

  • 这些智慧的结晶都会以各种各样的应用案例在社区中沉淀下来;

  • ROS本身也是完全开源的,商业许可证非常宽松

  • 对商业应用功能友好,这就代表着公司可以直接使用ROS开发商业化的机器人产品,缩短了产品的上市时间

  • ROS也可以跨平台使用,Linux、Windows、嵌入式系统都可以跑;

  • ROS2中也新增了很多支持工业应用的新特性和新技术,促使ROS在越来越多领域中被使用。

准备工作

修改源

修改/etc/apt/source.list文件换为国内源,建议用sudo gedit编辑

deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse   deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse   deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse   deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
$ sudo apt update $ sudo apt upgrade

ROS2系统安装

接下来,我们就可以把ROS2安装到Ubuntu系统中了。安装步骤如下:

1. 设置编码

$ 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.UTF-8  $ export.UTF-8

2. 添加源

$ 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

如遇报错“Failed to connect to raw.githubusercontent.com”,可参考https://www.guyuehome.com/37844

3. 安装ROS2

$ sudo apt update $ sudo apt upgrade $ sudo apt install ros-humble-desktop

4. 设置环境变量

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

ROS2就已经在系统中安装好了。

ROS2示例测试

为了验证ROS2安装成功,我们可以通过以下示例进行测试。

示例一:命令行示例

先来试试ROS2最为重要的底层通信系统DDS是否正常吧。

启动第一个终端,通过以下命令启动一个数据的发布者节点:

$ ros2 run demo_nodes_cpp talker

启动第二个终端,通过以下命令启动一个数据的订阅者节点:

$ ros2 run demo_nodes_py listener

如果“Hello World”字符串在两个终端中正常传输,说明通信系统没有问题。

示例二:小海龟仿真示例

再来试一试ROS中的经典示例——小海龟仿真器。

启动两个终端,分别运行如下指令:

$ ros2 run turtlesim turtlesim_node $ ros2 run turtlesim turtle_teleop_key

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

关于小海龟中蕴藏的ROS奥义,我们在后续教程中将持续探索。

示例三:RVIZ2

ROS2安装成功,还是Linux系统上省心。


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容