Jetson Orin 如何安装Ubuntu22.04系统以及ROS2 Humble,并完成支持CUDA版本的Autoware.universe的编译与运行

截至目前(20230715) ,英伟达提供给Jetson Orin的最新版JetPack为5.1.1,对应Ubuntu系统为20.04。目前因为项目需要必须采用基于ROS2 Humble的Autoware.universe版本。

Autoware官方提供的ARM版本docker经测试并不能正常使用GPU相关的功能,而英伟达官方并没有提供支持Jetson Orin的Ubuntu22.04的docker。
目前正在Orin Ubuntu20.04系统中通过源码编译的方式安装 ROS2 Humble与Autoware.universe,但是遇到很多版本依赖问题,暂时也没有解决方案。
同时也想尝试自行将Orin的系统升级至Ubuntu22.04,但是没找到相关的操作文档,担心强行升级后Orin的CUDA驱动有问题,还得再刷回20.04系统。

请教大家,在英伟达官方的JetPack6.0发布(估计得到9月底)之前,有什么好办法可以让Orin中正常运行ROS2 Humble与Autoware.universe呢?

需要执行以下步骤:
1.安装ROS2 Humble和Autoware.universe:根据官方文档进行安装,确保所有依赖项都已正确安装。
2.配置ROS2环境:将ROS2环境变量添加到系统环境变量中,以便程序可以找到ROS2库和可执行文件。
3.设置ROS2的工作空间:将工作空间设置为Autoware.universe的源代码文件夹,在环境变量中添加ROS_PACKAGE_PATH。
4.构建Autoware.universe:使用colcon build命令构建Autoware.universe的包。
5.启动Autoware.universe:使用ros2 launch命令启动Autoware.universe的launch文件。
6.更新Orin的驱动程序:安装Orin的驱动程序以便其与ROS2 Humble和Autoware.universe兼容。
7.测试自动驾驶系统:连接Orin和传感器设备,执行自动驾驶的测试用例,确保系统可以正常运行并且没有错误。
总之,要让Orin中正常运行ROS2 Humble与Autoware.universe,需要确保所有依赖项被正确安装和配置,并且能够顺利地构建和启动Autoware.universe。同时,还需要更新Orin的驱动程序并测试系统的功能性。

采用chatgpt:
目前在Jetson Orin上使用Ubuntu 22.04和ROS 2 Humble以及支持CUDA版本的Autoware.universe可能会面临一些挑战,因为官方提供的JetPack版本尚未支持Ubuntu 22.04。以下是一些可能的解决方案:
1、Jetson Orin上的Ubuntu 22.04安装:目前尚未有针对Jetson Orin的Ubuntu 22.04的官方安装文档。强行升级可能导致与Orin的硬件和驱动程序不兼容的问题。建议在尝试升级之前,等待英伟达发布JetPack 6.0,并查看其是否支持Ubuntu 22.04。
2、解决版本依赖问题:如果你遇到版本依赖问题,可以尝试以下方法解决:

确保你使用的是ROS 2 Humble版本的正确源码分支。ROS 2 Humble是针对Ubuntu 20.04的特定版本,不保证与Ubuntu 22.04兼容。
确保安装了正确版本的依赖项。查看Autoware.universe和ROS 2 Humble的文档,了解其所需的依赖项版本,并确保安装正确的版本。
可以尝试使用Docker容器来构建和运行Autoware.universe。尽管你提到官方提供的ARM版本的Docker不支持GPU功能,但你可以尝试构建自定义的Docker容器,以便支持GPU功能。可以参考Docker官方文档和Autoware.universe的文档来创建适合你需求的Docker环境。
3、等待JetPack 6.0发布:英伟达通常会发布JetPack软件包,其中包含了更新的驱动程序、操作系统和软件库。等待JetPack 6.0的发布可能会提供对Ubuntu 22.04和相应的软件支持,这样你就可以在Jetson Orin上安装ROS 2 Humble和Autoware.universe。

就像你说的
1.使用 Docker 安装 ROS2 Humble 和 Autoware.universe,这种方法可以避免版本依赖问题,但是可能需要解决 GPU 的支持问题。
2.使用源码编译安装 ROS2 Humble 和 Autoware.universe,这种方法可以自定义安装选项,但是可能需要花费很多时间和精力来解决依赖问题
3.等待英伟达官方发布 JetPack 6.0,这种方法可以保证系统的稳定性和兼容性,但是可能需要耐心等待一段时间
3种情况你综合考虑下吧

对于你的情况,由于英伟达官方尚未发布支持Jetson Orin的Ubuntu 22.04的JetPack版本,而Autoware官方提供的ARM版本docker也不能正常使用GPU相关功能,目前可以考虑以下几种方案:

  1. 解决版本依赖问题:继续在Jetson Orin的Ubuntu 20.04系统中通过源码编译的方式安装ROS2 Humble与Autoware.universe。你可以尝试解决版本依赖问题,这可能需要耐心和一些调试。可以参考Autoware官方文档、论坛或者社区的讨论,看是否有其他开发者遇到相似的问题并找到了解决方案。

  2. 自行升级至Ubuntu 22.04:如果你希望尝试将Jetson Orin的系统升级至Ubuntu 22.04,确保提前做好系统备份以防意外情况发生。在进行升级之前,建议先查找相关的操作文档、讨论或社区资源,了解其他开发者在将Jetson设备升级至Ubuntu 22.04时的经验和问题解决方法。注意确保与CUDA驱动兼容性,以避免驱动问题导致的不稳定性或功能失效。

  3. 寻找其他解决方案:如果以上两种方案都不可行,你可以考虑寻找其他解决方案。例如,尝试使用其他GPU支持的版本或替代方案来运行ROS2和Autoware。你可以参考ROS2和Autoware的官方文档、社区或讨论论坛,了解是否有其他开发者在Jetson Orin上成功运行了类似的软件组合,并寻找他们的解决方案和经验。

需要注意的是,每种解决方案都有其优缺点和风险,建议在尝试之前仔细评估,并确保你具备相应的技术知识和能力。此外,与相关的开发者社区和论坛保持沟通,与其他开发者交流经验和问题,可能会有助于找到更好的解决方案。

在目前(2023年7月15日)情况下,如果英伟达官方尚未提供Jetson Orin的Ubuntu 22.04版本的Docker支持,且您也无法成功编译ROS2 Humble和Autoware.universe,以下是一些可能的临时解决方案和建议:

验证编译错误:对于编译时遇到的版本依赖问题,确保您已正确安装所需的依赖项,并且版本匹配。检查Autoware.universe和ROS2 Humble的官方文档,了解所需的依赖项和版本要求,并按照说明进行安装和配置。

查找社区支持:尝试在相关的ROS2和Autoware社区中寻求帮助。这些社区中的其他开发者可能已经遇到类似的问题,并可能提供解决方案或建议。

自行升级Ubuntu系统:如果您有经验,并且确信自行将Jetson Orin的系统升级至Ubuntu 22.04可以满足您的需求,您可以尝试进行操作。但请注意,升级操作涉及风险,并且可能导致系统不稳定或出现兼容性问题。在进行操作之前,务必备份您的数据,并确保您有恢复系统的方法,以防升级过程中出现问题。

延迟使用ROS2 Humble和Autoware.universe:如果您的项目时间允许,您可以考虑推迟使用ROS2 Humble和Autoware.universe,直到英伟达发布JetPack 6.0或官方提供针对Jetson Orin的Ubuntu 22.04支持。

请注意,这些解决方案都是临时性的,可能会涉及一些风险和挑战。为了确保最佳性能和稳定性,最好是使用官方支持的组合。同时,与相关的ROS2和Autoware社区保持联系,以获取最新的更新和支持。

目前官网没有发布Jetson Orin Ubuntu22.04版本,需要自己探索
1、强制升级 upgrade Ubuntu20.04(不带Jetpack)至Ubuntu22.04
2、去官网手动安装jetpckr35.3.1 下载完成后使用jtop查看cuda tensorrt是否安装完成
3、按照ROS2 humble版本升级指导安装https://docs.ros.org/en/humble/index.html 这步没有坑
4、参考autoware.universe官网https://autowarefoundation.github.io/autoware-documentation/main/installation/autoware/source-installation/ 安装
5、安装Autoware.universe过程中会有一些库找不到,自己手动安装即可