JetsonHacks

Developing on NVIDIA® Jetson™ for AI on the Edge

Jetson TK1 running openFrameworks and OpenKinect

I’ve been working on porting openFrameworks to the Jetson platform. This video is a bookmark as to the progress. Looky here:

Using the ofxKinect add-on, the demo shows the ‘Kinect Delaunay Triangulation Experiment’ from:

https://github.com/kamend/KinectDelaunay

Though the video is a direct screen capture, the audio was shifted to better synch with the motion as there was about 250-400ms of lag. The processed video is from a Kinect 360 which captures the scene in 3D. The actual computational geometry processing takes place on just one ARM core, this is just the start, a bare bones port.

The port is based on information gathered here:

http://forum.openframeworks.cc/t/trying-to-compile-an-example-on-tegra-jetson-tk1/16128

and is being gathered up in the jetsonhacks Github repository:

https://github.com/jetsonhacks/openFrameworks/tree/jetson

Facebook
Twitter
LinkedIn
Reddit
Email
Print

5 Responses

    1. Hi moreteavicar,
      This is just using mostly the ARM cores. I got sidetracked on to other things, but would like to revisit the Kinect project using the GPU for mapping the scene in GLSL.

  1. Hi kangalow,

    Thanks for bringing jetson to life :). However, when i pull your repo, I cannot see the makefiles in each example and the annoying mesa lib dependency problem persists. Codeblocks example builds fine(i prefer to write in vim), but “jetson” is not identified as proper type in makefile build. I am not sure changing “raspberry pi” definitions into “jetson” will solve the problem.

    1. I don’t believe in 0.8.4 there were make files for examples per se, it’s all part of the openFrameworks build system.Typical cross platform support was through Code::Blocks and the openFrameworks Program Generator.

      In the more current releases, 0.9.2, Qt support is added and the make situation is somewhat different. I haven’t spent much time using openFrameworks, but ArturoC is working on a more modern branch: https://github.com/arturoc/openFrameworks/tree/feature-jetsontk1
      One of the keys is to set the environment variable PLATFORM_VARIANT=jetson so the proper make file is used.

      There are several issues with openFrameworks on the Jetson, first of which is openFrameworks for Armv7 normally uses OpenGL ES, whereas the Jetson prefers to use OpenGL proper. Another issue is the tesselator, one of the type casts in the library is incorrect for the Jetson, so that needs to be recompiled. As I recall, there is also an issue with the GLFW library, something with the version used by openFrameworks versus the current distribution. My suggestion would be to go to the 0.9.2 version and start figuring out what the issues are, and go from there as the version that’s in the JetsonHacks repository is rather old at this point. You’ll then be able to ask questions in the openFrameworks forum, where people seem happy to help others work through issues.

      1. I have openframeworks running on Raspbian Jessie (RPI 3 – ARM). Installing was a breeze compared to porting to the TX1. It looks like there are fixes in the works for some of the issues (see below). I believe a PLATFORM_VARIANT (e.g. Jetson) will need to be used to compile successfully on the TX1. It would be nice to see a TX1/TX2 openframeworks install blog post.

        PLATFORM_ARCH=aarch64
        PLATFORM_OS=Linux
        PLATFORM_VARIANT=jetson

        https://forum.openframeworks.cc/t/trying-to-compile-an-example-on-tegra-jetson-tk1/16128/8

Leave a Reply

Your email address will not be published. Required fields are marked *

Disclaimer

Some links here are affiliate links. If you purchase through these links I will receive a small commission at no additional cost to you. As an Amazon Associate, I earn from qualifying purchases.

Books, Ideas & Other Curiosities