PREEMPT_RT Kernel for Jetson
We provide a PREEMPT_RT kernel for Jetpack 6.0
. This kernel is recommended only for use with robot manipulators, as many manipulator manufacturers recommend a low-latency kernel for interfacing with their robots.
Install PREEMPT_RT kernel from apt server
Follow instructions from Developer guide to install PREEMPT_RT kernel on Jetson.
Check if PREEMPT_RT kernel is active by running the below command which should return text that contains
PREEMPT RT
.uname -a
Reduce Ethernet Latency
When connecting your robot through Ethernet, it’s helpful to reduce the latency by running the following commands.
Install Ethernet tools.
sudo apt-get install ethtool net-tools
Bring down the Ethernet interface.
ifconfig eth1 down
Tune the
rx-usecs
parameter usingethtool
.sudo ethtool -C eth1 rx-usecs 64
Bring up the interface.
ifconfig eth1 up
Check if the new value is reflected as
rx-usecs: 64
in the output ofethtool
.ethtool -c eth1 | grep rx-usecs
Now ping your robot’s IP address (
<ROBOT_IP_ADDRESS>
) to check the latency.sudo ping <ROBOT_IP_ADDRESS> -i 0.001 -D -c 10000 -s 1200
Uninstall PREEMPT_RT kernel
Remove kernel headers and modules
sudo apt remove nvidia-l4t-rt-kernel nvidia-l4t-rt-kernel-headers nvidia-l4t-rt-kernel-oot-modules nvidia-l4t-display-rt-kernel
Reboot your machine
sudo reboot
Verify the kernel version does not include
PREEMPT RT
.uname -a