What to know whether the ROS (Robotic Operating System) can run well in Jetson Nano? We have tested it out!
Jetson Nano is ideal for the use in autonomous robotics as it is affordable yet high performance for AI applications. It could perform real-time computer vision and mobile-level deep learning operations at the edge thanks to its high computing power. Meanwhile, when we talked about robotics applications, especially those involved in the multi-sensory autonomous robots, ROS is the natural choice for many.
ROS Distribution Compatibility On Jetson Nano
OS Version: JetPack 4.4 / NVIDIA L4T 32.4.3 / Ubuntu 18.04
Update: 13 October 2020
Since the JetPack 4.4 is based on Ubuntu 18.04, the only supported distro for Jetson Nano is ROS Melodic. Refer to ROS’s official Target Platforms REP.
To install ROS Melodic on Jetson Nano, please refer to official instructions for the Ubuntu install of ROS Melodic.
The performance test is conducted by simulating SLAM with TurtleBot3. The tested areas include memory, CPU usage, GPU usage and temperature.
Below is the list of programs that are running before and during the performance test. Kindly note that programs such as terminals are ignored as they do not require much computational power to run.
RQT Graph (Active Nodes/Topics)
Data Collection Settings
Logging method: TegraStats Utility (Nvidia)
Sampling period: 1s
Period for executing all programs: 120s ~ 180s
Test start time: ~180s
We can see that running the Gazebo simulation framework and RViz actually takes much lesser memory than expected (only ~750MB of RAM is being used). Therefore, we still have around 1GB of RAM space to spare for running more programs, which is really impressive.
Although there is much available memory space, we can see that Jetson Nano’s CPU could not keep up with running the processes as the usage of all 4 cores are already maxed out. However, both Gazebo and RViz are still running in about 30FPS, so there is no problem on visualizing the robot and environment as well as changing the view in both programs. One thing to be noticed is that the real time factor in Gazebo has dropped to around 0.5~0.6 (usually is 1), which is a downside of using Jetson Nano for robot simulation with Gazebo if you want to obtain data from Gazebo in real time.
On the GPU side, only one thing to say — good.
From the temperature data, we can see that the overall temperature is gradually increasing over time and stabilizes at around 48°C thanks to the huge heat sink. Therefore, it is still safe to touch it!
In general, Jetson Nano is sufficient to be used for those who are just getting started with ROS and want to run some robot simulation before implementing into the real world. If you want a controller capable of running some AI applications in robot, Jetson Nano is definitely what you need!