松灵学院 | 在松灵 LIMO 上使用 Docker 进行 ROS2 开发

本文介绍了如何利用Docker在Jetson Nano上搭建Ubuntu 20.04环境,进行ROS2开发。通过Docker解决Jetson Nano缺少ROS2固件的问题,并详细阐述了如何选用Docker镜像、搭建开发环境、启动容器,以及如何在VSCode中配置Dockerfile和devcontainer.json。此外,文章还提到了图形界面的查看方法、实用插件介绍,以及远程开发实战,帮助开发者实现快速一致的开发环境。
摘要由CSDN通过智能技术生成

截至目前,Jetson Nano 平台官方仍不提供 Ubuntu 20.04 固件,所以使用 Jetson Nano 平台开发 ROS2 存在巨大的困难,但是好在 Docker 提供的容器技术,让我们能非常方便的虚拟出一个 Ubuntu 20.04 环境进行 ROS2 开发并通过云端快速分享自己的开发环境,本文我将以松灵 LIMO 为例向大家演示如何使用 Docker 进行 ROS2 开发以及这种开发模式的优越性。

此外,在 ROS 开发过程中(尤其是在多人团队协同中)你一定遇到过这样的问题:需要快速(在不同架构机器上)部署相同开发环境、别人电脑上可以编译但到了自己这里就会报错、无法复现别人的 Bug、经常会出现缺少支持库或者支持库冲突的情况,尤其是一台电脑上需要做多种任务的情况(比如 深度学习、QT 开发、ROS1、ROS2)则会更糟糕…… 这个时候我们就有必要使用 Docker 进行开发

本文分为两部分,1-6节讲解 使用 Docker+VSCode 开发方式,7 节将带领大家在 LIMO 平台进行实战

无论您之前使用什么样的方式进行开发,笔者在这里都推荐您尝试 Docker + VSCode,虽然这可能需要两三个下午的时间进行学习,但请相信这一切都是值得的!

如果您不会使用 docker 或者没有尝试过类似的操作,请您先阅读 《Docker 配合 VSC 开发最佳实践》(https://anthonysun256.github.io/docker-with-vsc_best-practice/)

1. 镜像选取

Docker 官方镜像服务器上有很多的 ROS 开发镜像,这里我们可以有如下选择(这几个镜像也是笔者常用的):

• ROS 官方镜像:https://hub.docker.com/_/ros 

内含所有 ROS 发行版的基础开发镜像,而且支持多种架构,非常适合在多种架构的机器上进行部署。

• althack 的开发镜像 https://hub.docker.com/u/althack

althack 提供了 VSCode 的开发工作环境模板:https://github.com/athackst/vscode_ros2_workspace

虽然模板是 ROS2 但是只要简单修改 Dockerfile 中引用的镜像名称即可改成 ROS1 环境

Dockerfile 源码:https://github.com/athackst/dockerfiles

这个镜像优点是提供了 ROS-desktop-full 的开发环境,省去了自行安装的麻烦,非常适合学习使用。缺点是只支持 PC,如果其他环境需要自己使用 Dockerfile 编译。

2. 开发环境搭建

我们新建的工作空间目录格式如下:

.
├── .devcontainer # docker 配置文件
│   ├── devcontainer.json
│   └── Dockerfile
└── src # ROS 源码目录

 VSCode 会自动读取 .devcontainer 中的配置文件。对于我个人学习而言我一直使用的是 https://hub.docker.com/u/althack 的镜像和配置,下面的配置文件也是改变于此,各位读者可以根据自己的需要进行修改:

Dockerfile

# 改编自 https://github.com/athackst/vscode_ros2_workspace
# 我使用的 ROS 学习镜像,根据您的喜好可以自行更改
FROM althack/ros:melodic-gazebo as gazebo 

# ** [可选] 取消注释安装其他组件 **
#
# ENV DEBIAN_FRONTEND=noninteractive
# RUN apt-get update \
#    && apt-get -y install --no-install-recommends <your-package-list-here> \
#    #
#    # Clean up
#    && apt-get autoremove -y \
#    && apt-get clean -y \
#    && rm -rf /var/lib/apt/lists/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值