ARM64 架构的Ubuntu22.04系统上安装ROS2和Docker ROS1

0. 概述目的

基于Jetson orin nano的Ubuntu22.04系统,由于官方不再维护,通常情况下Ubuntu22.04无法安装ROS1。介绍如何在Ubuntu22.04上安装ROS1的教程有很多,但是经过测试,均不能在ARM架构下正常安装。因此考虑到兼容性和后续学习,直接安装ROS2,再通过docker部署ROS1的镜像容器,ROS1和ROS2均可运行,后续也可进行相互通信。话不多说,具体看下面的说明。

1. Ubuntu22.04 安装 ROS2-humble

利用鱼香ROS提供的工具一键安装:

wget http://fishros.com/install -O fishros && . fishros

按照终端提示分别选择:

选择安装ROS2-humble:

若无法正常安装,大概率是rosdep的问题,重新运行上述的工具,选择一键rosdep后,再次安装。

2. Ubuntu22.04 安装 Docker

由于科学上网的原因,docker镜像源会经常失效,因此需要根据情况设置有效的镜像源。

目前,发现轩辕大佬这个docker镜像源全面且比较稳定:

DockerHub镜像加速器 - 免费Docker镜像源国内加速 - DockerHub加速国内解决方案https://docker.xuanyuan.me/同样利用上述的一键安装工具:

wget http://fishros.com/install -O fishros && . fishros

 首先,选择一键安装Docker:

然后,配置Docker代理,需要再次运行工具:

wget http://fishros.com/install -O fishros && . fishros

选择一键配置:Docker代理:

选择服务模式:

输入上述的代理网址:

3. Ubuntu22.04 安装 Docker-ROS1

安装docker ros,再次运行安装工具,选择一键安装:ROS Docker版:

在这里,选择安装了noetic(ROS1):

安装完毕!

4. 测试 ROS2 和 ROS1

4.1 ROS2 测试

在这里,验证一下ROS2的功能是否正常,经典乌龟测试:

启动新终端:

ros2 run turtlesim turtlesim_node

显示小乌龟的界面:

再启动新终端,打开键盘控制:

ros2 run turtlesim turtle_teleop_key

鼠标光标置于终端内,键盘方向键控制小乌龟的移动(↑   ↓   ←   →)

4.2 ROS1 测试

进入Docker,测试ROS1安装是否成功:

我的镜像容器命名为 noetic-image,启动容器,选择启动(s),然后进入,roscore:

Docker内 ROS1的基本功能正常!

5. 小结

上述流程是针对基于ARM的系统进行的,AMD架构的系统安装ROS1是比较简单的。不过,目前还存在一些问题,大部分ROS1的镜像源都是阉割版的,仅包含ROS核心组件,没有rviz和gazebo等必要组件,只能做一些特定任务,如果有更高的需求,可以自行替换desktop-full的镜像源。后续可能会再写一篇如何替换镜像源的说明。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值