前言

之前记录了一下在 Jetson 上通过 Docker 安装任意版本 ROS2 的方法:

https://patzer0.com/archives/nvidia-jetson-xaiver-nx-install-latest-version-of-ros2-by-docker

但安装好之后自然还需要对应的开发环境,在 Jetson 上直接用 VSCode 开发显然是不太现实的,孱弱的 6 核 NVIDIA Carmel CPU 和标称 8G 但可用只有 7G 的内存,开 Firefox 都不算流畅,装 IDE 就更别想了,因此最好还是在高性能笔记本或 PC 上通过 SSH 连接远程开发。

安装 VSCode

这部分不过多赘述了,安装教程网络上一抓一大把,挂个下载链接吧:

https://code.visualstudio.com/

注意是在你开发使用的电脑上安装,而不是 Jetson 上安装。

连接到远程主机

打开 VSCode,点击左下角的小箭头按钮,连接到远程主机 - 添加新的 SSH 主机

之后会要求输入 SSH 连接命令,参考格式:

ssh 用户名@IP地址
# Example: ssh jetson@192.168.0.2
Bash

输入之后回车,配置文件选择默认即可。

添加完成之后,右下角会弹出连接,可以直接点击连接,也可以重新点击左下角小箭头连接。

接下来就是一些简单的操作,跟着图片步骤走即可。

等待进度跑完(下方),窗口不再滚动,一般就是配置完成了。

安装 VSCode 扩展

必备的扩展:ROS、Docker、Dev Containers、Python、C/C++

在左侧找到扩展的页面,进去分别搜索安装这几个插件就行。

连接到 Docker 容器

点击之后可能会弹出警告,确认即可。

之后我们还需要重新开启一下之前安装的扩展(除了 Docker,因为容器内没有 Docker),因为工作区切换,VSCode 默认会禁用扩展。

至此,就可以使用 VSCode 远程开发容器内的 ROS 了。

提示:在创建容器时,最好建立一个目录与主机链接,后续的代码都保存在此目录中(例如我这里代码都放在容器内的 /home/workspace 内,连接到外部的 /home/jetson/ros2_ws),防止容器删除导致文件丢失。