ROS 2边学边练(1)-- 安装Iron Irwini

        其实是从去年的一个机缘巧合才开始了解到ROS,但也仅限于此了(看了古月居的入门21讲),今年买了几本关于ROS相关的书籍,比如《精通ROS机器人编程 Lentin Joseph&Jonathan Cacace》、《ROS 2机器人编程实战-基于现代C++和Python 3 徐海望&高佳丽》,头一本主要讲的是ROS 1,里面的代码运行在ubuntu20.04上(noetic)还是需要修改一下才能正常运行,有些内容即使修改了运行的结果也与书本描述的不一致(个人水平有限),不过借此(试错、修改)过程也熟悉了ROS 1的一些基本内容,后一本讲的是ROS 2,作者写的很细,但需要一定的门槛(我暂时放下,机缘成熟之时再启动)。

        上述主要是我的ROS前期探秘之旅,无甚特别大的感触和收获,内心不免有些失落,就此决定从ROS 2小白开始边学边练(ROS 2未来应该是主流了,毕竟优化了很多内容),以期能有个里程式的大突破,后面的内容主要是围绕官方文档手册的内容和节奏来进行练习和记录(灵魂翻译 + 问题记录 + 解决方法等),方便监督自己走下去。

        废话不多说,我们就从昨天(20240325)刚发布的iron版本走起吧,Let's Go!!

环境

Ubuntu 22.04(amd64) + ROS 2 Iron Irwini(二进制安装)

区域设置(编码设置)

通过下面的命令检查设置编码,使得系统环境支持UTF-8编码(如果系统支持则下面非必须)。

$locale  # check for UTF-8

$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

$locale  # verify settings

使能必要的软件仓库

确保Ubuntu通用仓库启用

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

添加ROS 2 GPG key(apt)

$sudo apt update && sudo apt install curl -y
$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 $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

安装开发工具(可选)

$sudo apt update && sudo apt install ros-dev-tools

安装ROS 2

更新源

$sudo apt update

更新系统(可选)

$sudo apt upgrade

桌面版安装(2G左右大小,包含ROS/RVIZ/例子/教程)

$sudo apt install ros-iron-desktop

ROS-Base安装(包含通信库/消息包/命令行工具,无图形界面工具)

$sudo apt install ros-iron-ros-base

安装额外的RMW实现(中间件,可选,具体参考源文档链接)

此处省略。

通过上面的步骤后ROS 2会被默认安装到/opt/ros路径下,如图所示,

测试ROS 2

设置环境变量(每个新打开的终端窗口必须都得来一遍)

# Replace ".bash" with your shell if you're not using bash
# Possible values are: setup.bash, setup.sh, setup.zsh
$source /opt/ros/iron/setup.bash

测试例子

启动talker
$source /opt/ros/iron/setup.bash
$ros2 run demo_nodes_cpp talker
启动listener
$source /opt/ros/iron/setup.bash
$ros2 run demo_nodes_cpp listener

效果如下(CPP&PY节点)。

使用ROS 1桥(可选)

利用ROS 1桥可以连接从ROS 1到ROS 2的主题,反之亦然。具体使用方法请参考官方文档,此处略。

卸载ROS 2

当由于各种原因需要卸载ROS 2时(比如要切换到源码方式安装),执行下面语句即可,

$sudo apt remove ~nros-iron-* && sudo apt autoremove

卸载软件库

送佛送到西,卸载卸到底。

sudo rm /etc/apt/sources.list.d/ros2.list
sudo apt update
sudo apt autoremove
# Consider upgrading for packages previously shadowed.
$sudo apt upgrade

本篇完。

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-03-30 20:12:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-30 20:12:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-30 20:12:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-30 20:12:02       18 阅读

热门阅读

  1. Android 多层级列表实现

    2024-03-30 20:12:02       20 阅读
  2. python绘制直方图

    2024-03-30 20:12:02       19 阅读
  3. 蓝桥杯2023年第十四届省赛真题-飞机降落

    2024-03-30 20:12:02       26 阅读
  4. 软考系统架构设计师(摘抄)01

    2024-03-30 20:12:02       18 阅读
  5. MySQL5.7源码分析--解析

    2024-03-30 20:12:02       17 阅读
  6. 软件测试中的顶级测试覆盖率技术

    2024-03-30 20:12:02       16 阅读