We want to use our AGX Orin with ROS 2 to educate our students in robotics. I am unsure how we can make the development more sustainable. On one hand, the current version of Jetpack (5.1) is based on Ubuntu 20.04 and thus ROS 2 Foxy by default. On the other hand, the Isaac ROS Developer Preview is programmed on ROS 2 Humble, which was developed for Ubuntu 22.04 (and thus should not be directly usable on the Orin).
Since most of our students have never worked with ROS before, I think using Docker is too much for now.
Hi @s.stapperfend, in theory you can compile ROS2 Humble from source outside of container in a similar way that it’s done in container (see this Humble dockerfile for Jetson), however it could be time-consuming if you have multiple Jetson’s and building it on each one of your boards (you could make a script that did it though - AGX Orin is pretty fast at compiling).
JetPack 6.0 will bring support for Ubuntu 22.04, and at that point you’ll be able to install the pre-built Humble packages from ROS’s apt repo the same way that you can today with Foxy on 20.04 (see Jetson Software Roadmap for 2023 for more info)
Thank you for the fast response.
We have currently 4 AGX Orins, so building Humble from source on these shouldn’t be too time consuming. Do you know if there will be any known issues by using Humble on ROS 20.04? I am thinking of classical errors like wrong CUDA version and such stuff.
Hi @s.stapperfend, I’ve not encountered core errors like that (with CUDA/ect) when building Humble for 20.04. When Humble was first released, I did have some trouble building it’s desktop packages on 20.04, but those were later resolved. If you encounter any issues, let me know - good luck!
we tried building ROS 2 Humble from source on our AGX Orin DevKit with Ubuntu 20.04 and Jetpack 5.1.1 on a freshly flashed system.
Sadly, we always encounter the same error while executing the colcon build --symlink-install command.
If it involves pybind, you could try upgrading pybind11, but I haven’t had to do that for JetPack 5 (I do for JetPack 4 though)
I also only build this in the containers to keep my environment sane (and to be able to distribute the builds)