面向Jetson系列硬件的ROS2装机指南和深度学习工程实践

面向Jetson系列硬件的ROS2 Foxy及其后续版本的装机指南 随着ROS2的发展,越来越多ROS2工程将于Foxy之后的版本开发。在Ubuntu操作系统上,ROS2 Foxy及之后的版本都依赖于Ubuntu20.04,但是Jetso...

面向Jetson系列硬件的ROS2 Foxy及其后续版本的装机指南

随着ROS2的发展,越来越多ROS2工程将于Foxy之后的版本开发。在Ubuntu操作系统上,ROS2 Foxy及之后的版本都依赖于Ubuntu20.04,但是Jetson系列硬件如Nano、TX2、NX和AGX的官方版本仅支持Ubuntu18.04,也并未提供官方的系统升级。

因此,要在Jetson Family上完美运行ROS2 Foxy及其之后的ROS2版本,我们需要手动升级Ubuntu操作系统并在其基础之上完成对应版本ROS2的安装。以基于Jetson NX(可推广到其它Jetson系列硬件)的ROS2 Foxy安装为例:

① 首先,我们手动将Ubuntu18.04升级到Ubuntu20.04:https://zhuanlan.zhihu.com/p/411447206
② 在升级后的Ubuntu20.04系统上安装ROS2 Foxy:https://www.guyuehome.com/10226
其中,你可能会遇到密钥错误的一步,请参考:https://zhuanlan.zhihu.com/p/411447206
③ 最后,手动安装的ROS2 Foxy不自带其编译工具colcon,使用如下命令进行安装即可:sudo apt install python3-colcon-common-extensions

通过上述步骤,我们就可以在Jetson系列硬件上编译/运行ROS2 Foxy及其后续版本的工程。


基于ROS2 Foxy的目标检测工程实践

为了验证安装ROS2 Foxy的可用性,我们借助下面的“基于ROS2和YOLO的目标检测”工程来进行测试。

① 这里我们使用来自Ar-Ray提供的开源工程,链接如下:Ar-Ray-code/YOLOX-ROS: YOLOX + ROS2 object detection package (github.com)

ps:推荐使用git命令下载完整代码(如果只是从网站下载zip包不能同时下载相关链接代码,需要手动下载和配置)。

② 按照其提供的Readme.md完成整个工程的配置。

ps:在colcon编译的过程中,将会根据用户设置自动下载对应YOLO模型的权重,如果网络不佳将导致权重下载不完整从而在后续运行时出错(因此可以提前在YOLO官方代码库中下载好对应权重:https://github.com/Megvii-BaseDetection/YOLOX)。

③ source激活环境,ros2 launch运行(用户可选是否使用摄像头)。

至此,你可以体验到用Jetson硬件在ROS2上完成深度学习任务(目标检测)的流程,体验整个流程中的“工作空间搭建(此处我们借用了别人的开源代码) → colcon编译工作空间 → run/launch运行功能包”。在拥有一定的熟练程度后,你可以手动编写和修改工程中的工作空间,添加或完善你所需要的功能。

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
Marco Legend
Marco Legend

西北工业大学

8 篇文章

作家榜 »

  1. Panda-admin 37 文章
  2. 解弘艺 17 文章
  3. 高曾谊 16 文章
  4. 旺仔牛奶opo 15 文章
  5. 胡中天 14 文章
  6. LH 14 文章
  7. 罗柏荣 13 文章
  8. 林晨 12 文章