Using Astra SDK for NVIDIA Jetson TX2 (Need proper .so files)

I have so far successfully been able to run the Orbec Astra Mini camera directly connected to my computer using many of the samples from the Astra SDK on Ubuntu 18.04. I have now moved on to trying to run on a TX2 from NIVIDIA.

The Astra SDK comes with a bunch of necessary “.so” files and no source code. Downloaded from:

The given “.so” files are not compatible with the TX2 device. I believe I need arm libraries to be transferred over to the device. At this point I can either deploy to my device with a bunch of “unwritten functions” because the I can’t transfer the current “.so” files, or just get a bunch of errors because of incompatible library types. Is the source code for the Astra SDK available anywhere so that I can build binaries for specific architectures, or are there any ARM .so library files that I can use to acheive this?

I don’t want to use openNI2 because I have read there is no real development effort going on for it. Also, I have read that the Astra SDK has more capability. Not entirely sure what it is yet, but don’t need to be stunted down the road.

I did find some source code in GIT:

https://github.com/orbbec/astra

However, this is 4 years old. Is it even still relevant, or is this the wrong source? Also, there are some many references to files that don’t even exist. This creates so many errors, I’m not sure how usable it is.

I have cloned the astra repository (git clone GitHub - nocnokneo/astra: Orbbec Astra SDK - build amazing 3D apps with Orbbec 3D cameras).

Then following suggestions from here:

I do:
“sudo apt-get install protobuf-compiler clisp-dev libprotobuf-dev libsfml-dev”

Then add “export OPENNI2_INCLUDE=~/OpenNI-Linux-x64-2.3.0.63/Include” to my .bashrc file (Note: my version of openNI is different than what was recomended in the linked command).

Then run:
git submodule update --init --recursive

I get “fatal: clone of ‘https://bitbucket.org/orbicsoft/sensekitapktest.git’ into submodule path”. Not a huge deal for me since I’m not using Android, but I can’t run cmake successfully afterwards. So I assume this has something to do with the problem. The link described above definitely matches what is in the updated gitHub repository.

Here are my steps for running cmake:
mkdir build
cd build
sudo cmake ./…

I get, “The source directory ~/astra/vendor/shinyprofiler does not contain a CMakeLists.txt file.”, which is very true.

/EDIT/
I have gotten cmake to run. I first removed the android apk submodule as such:
Delete android section in .gitmodule file
git add .gitmodules
Delete android section in .git/config file
git rm --cached android/astraapktest
git rm -rf .git/modules
rm -rf android/astraapktest

Now rerun git submodule update --ini --recursive

Then went back into the build directory I created earlier. Tried to run cmake, but got errors in “src/plugins/openni_sensor/CMakeLists.txt”
Had to add under line 1 for rows 2 and 3:
set (OPENNI2_INCLUDE ~/isaac/packages/OpenNI-Linux-x64-2.3.0.63/Include)
set (SHINY_INCLUDE ~/isaac/packages/astra/vendor/shinyprofiler/include)

Not sure why when I set the environmental variable in .bashrc.

Then also changed row 52 to “include_directories (${OPENNI2_INCLUDE})”.

Now CMAKE works from the build directory “sudo cmake ./…”
Then in same directory “sudo make”. This also works.

I have created a BUILD file that includes all the headers in the include directory as well as all the .cpp, .h, and .hpp files in the src directory.

I am using bazel to build my project. I get multiple errors. One example is that a reference to Frame.pb.h does not exist. Another, jni.h does not exist … etc. This is true. So where are the missing files? Or are there parts of this SDK that I need to exclude that are not important for what I’m trying to achieve?