ROS2 学习
学习自b站课程:https://www.bilibili.com/video/BV16B4y1Q7jQ?p=1 (up主:古月居GYH)
ROS 介绍
Robot OS,为机器人开发提供了相对完善的 middleware,工具,软件等。
ROS1 对嵌入式设备有许多缺陷,如实时性问题,依赖大带宽稳定网络,仅仅适用于单机器人等。
ROS2 支持小型嵌入式设备,支持多机器人,支持实时控制,支持非理想网络环境等,很大程度上我觉得就是给嵌入式开发用的。
具体的一些协议等内容后面学习到了再具体阐述。
ROS2 安装
Linus 写的 Linux kernel,Linux 发行版其实就是把 Linux 内核和其他 Application 打包而成。比如 Ubuntu Centos。
ROS2 是基于 Ubuntu 系统的。安装虚拟机环境这里就不再赘述。
ROS2 安装过程中我碰到了挺多问题,安装了一天。不过也因此可以总结一些安装过程中出现的常见问题:
-
尽量依照官网 ubuntu 安装 ROS2 教程安装。因为虽然大多数博客和视频教程都很详细,但是会出现许多问题,比如不同版本 Ubuntu 的问题,网络配置不一样的问题……因此,最最保险的方案我认为还是先按官方教程安装,在途中遇到的任何问题再单独去搜索解决方案。官方 ubuntu 安装教程如下:Ubuntu (Debian packages) — ROS 2 Documentation: Rolling documentation
-
出现 raw.githubusercontent.com 连接问题,需要通过 www.ipaddress.com 查询 raw.githubusercontent.com 的 ip 地址,再把对应的 domain ip 对应关系添加到 /etc/hosts 中。
-
apt update 的时候一定要仔细看看是否成功。最开始我用清华源更新的时候其实报错了,提示说找不到 ros 的源。后续下载包等等步骤都失败了。我当时的解决办法是先尝试换源,然后升级了一下 ubuntu 系统。
-
有一些需要下载的 ros 的软件在不同版本 ubuntu 下名字是不一样的。比如 ros-foxy-desktop 是适配在 ubuntu 20 版本中的桌面软件,而 ubuntu 22.04 中适配的是 ros-humble-desktop,这些如果提示找不到这个软件,先看看源有无正常更新,再搜一下看看是不是自己的版本不适配问题。
安装完成后跑发送和接收的测试案例如下:
左侧窗口发送数据,右侧接收。