Ask Your Question

Cross compile my ROS package for Nvidia jetson TX2

asked 2020-07-21 05:35:44 -0500

teshansj gravatar image

updated 2020-07-21 05:44:43 -0500

I have some ROS packages developed for a robot which I want to deploy on a jetson TX2(ARM® Cortex®-A57 MPCore) with ROS melodic (the robot has a TX2 for its computer). I want the packages to be compiled on a PC (running Ubuntu 18 presumably) and deploy them on the TX2 to be run on it.

  1. Basically I want the output of catkin_make install for TX2, in my PC so that I can put the install/ directory into the robot from the build machine
  2. I only need to cross compile my own packages. ROS and other dependencies will be pre installed on the TX2

I am an absolute noob to this cross compilation. The most straightforward guide I have found so far is this article for raspberry pi. This other article cross compiles ROS for PX2 but it is not very clear to me. Many other resources are outdated.

Can someone please show me the path I should follow for this? Where do I begin? Which toolchains do I use? What options do I set (catkinm CMake...)? Any insight related to this is much appreciated

What I have found so far (Are these what I need? I have no idea)

  1. GCC toolchain for 64bit BSP
  2. L4T Sources for GCC Tool Chain for 64 bit BSP
  3. TX2 is aarch64
edit retag flag offensive close merge delete



I know this is not the answer you are looking for, but what I ended up doing is setting up an arm emulator on my x86 host machine and run a docker container with ROS to compile my packages. It is almost as slow as compiling on target but works for what we need. I got the idea from here

Martin Peris gravatar image Martin Peris  ( 2020-07-21 23:46:58 -0500 )edit

Does ros-tooling/cross_compile not cover this use-case?

gvdhoorn gravatar image gvdhoorn  ( 2020-07-29 09:24:41 -0500 )edit

@gvdhoom just came across that a few hours ago and it works pretty well. No hassle. I don't know how I missed that. Thanks anyways

teshansj gravatar image teshansj  ( 2020-07-29 10:55:36 -0500 )edit

1 Answer

Sort by » oldest newest most voted

answered 2020-07-29 07:41:11 -0500

teshansj gravatar image

updated 2020-07-29 10:56:41 -0500

Until a good answer comes up, check the thread I started in nvidia developer forum if someone is stuck with a similar problem. I'm still halfway from getting everything right but got some stuff to work.

EDIT: No need to do it from the scratch. Use ros-tooling/cross_compile

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2020-07-21 05:35:44 -0500

Seen: 506 times

Last updated: Jul 29 '20