面向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

4 篇文章

作家榜 »

  1. 尹懋龙 10 文章
  2. LH 9 文章
  3. mingze 8 文章
  4. admin 6 文章
  5. hcshen 5 文章
  6. Marco Legend 4 文章
  7. 旺仔牛奶opo 3 文章
  8. Hao98 2 文章