Rosanswers logo


As is mentioned in the title, I have a Pandaboard (pandaboard.org) which features a dual core ARMv7 processor. I currently have Ubuntu 12.04 running, as well as have compiled the "full - desktop" version of ROS Fuerte for it (wiki here: www.ros.org/wiki/fuerte/Installation/Ubuntu/Source). This Pandaboard is intended to be the brain of a robot which features a Kinect sensor for SLAM.

I am currently grappling with compiling OpenNI_Camera for my platform. I have installed the latest (unstable) OpenNI drivers as per this guide (www.pansenti.com/wordpress/?page_id=1772). I have not been able to sudo apt-get install any ROS packages on the Pandaboard. Is there a repository I'm missing or something?

Not sure if that was the right move, but thats what I've attempted so far. I realize this is not ros-fuerte-openni-camera as one would sudo apt-get on a normal x86 processor, but I believe it to be a dependency for the openni_camera (ros.org/wiki/openni_camera - fuerte version) package.

I guess my question/problem is that according to sources like this (kinect-with-ros.976505.n3.nabble.com/Ros-kinect-kinect-on-ARM-td2654041.html), people have openni_camera and openni_launch compiled and running for ARM architectures but I simply cannot find out how to do it, I thought I'd start by compiling its dependencies by hand, but the libopenni-sensor-primesense-dev for example, has no ARM compilation options according to the README (github.com/jspricke/openni-sensor-primesense) as well as a quick peak into the git.

Any direction or advice for how to do this would be greatly appreciated! This is for an undergraduate senior design course, for those interested. Apologies for the lack of karma and henceforth, real links - I've been lurking around for an answer on the internet for a couple weeks now.


Having followed the directions provided here:(http://www.pansenti.com/wordpress/?page_id=1772) (openNI and kinect drivers) and here:(http://www.novemberkiloecho.com/2012/05/08/how-to-install-opencv-2-4-on-your-pandaboard-an-addendum/) (OpenCV - Hansg91 mentioned it as a dependency, not sure if its necessary) The first link basically outlines what Hansg91 has said below. I have successfully read data from the kinect on the pandaboard, as per the testing listed at the bottom of the first link. This data is not in ROS yet, but will begin to look at Hansg91's source code to see if it can read the data as I have it.

It is worth noting that to get the test to execute successfully I had to change the default USB interface. Hansg91 recommended BULK, however I needed ISO, as is mentioned under the driver installation (UsbInterface=1) in the first link. I plan on continuing to update this post as I make progress. It is still very possible that his/her code needs BULK usb interface instead (UsbInterface=2)


Moving on from The OpenNI drivers, we found we would like to use these packages in ccny_rgbd. Its faster than rgbd_slam and doesn't require openni_camera (but still requires the drivers). Unfortunately upon attempting to make this package, it requires PCL. Which is currently only working on the pandaboard in an unstable version, pcl 1.7. Which has been released, but occupies the pcl17 namespace, instead of the pcl namespace as the makefiles are going to reference. So to have this compile we would have to change all of those files in addition to compiling pcl17 and all of its dependencies from source.

We have also acquired an eee pc (first gen) which is indeed much slower, but also allows us to "sudo apt-get install" all of these things. We are advancing on this front as well. These would be used in conjunction with each other in such that the eee pc would do the imaging, and the pandaboard would do basically everything else. We would have a router onboard the robot, so that they can seemlessly communicate via a single roscore running on the (faster) pandaboard.


Alas, I seem to have succumbed to the ARM gods for the time being. It is simply not worth the time to compile all this right now, as we have several other pressing issues regarding this project, especially when the solution for this problem is to simply put a full computer in the frame to do the image processing. I personally, however, will not be giving up. Its become somewhat of an unhealthy obsession of mine to get this working. SO for the time being there may not be updates regarding progress on this front, but hopefully there will be at a later date. Good luck all.

Originally posted by aman501 on ROS Answers with karma: 33 on 2013-02-19

Post score: 3

Original comments

Comment by Claudio on 2013-02-19:
I'll follow your question: I'm using fuerte on a Panda too but didn't even try to compile the whole desktop variant.

Unfortunately there is (at this time) no repository for ROS on ARM. So no debs.

Comment by aman501 on 2013-02-20:
Yeah, that's what I assumed, hence the installation from source. Thanks.

Comment by Hansg91 on 2013-03-06:
Ah I see you have it working, very good :) You actually don't even need OpenCV, but it makes things a bit easier (and you probably need it sometime anyway). I thought I had changed it to BULK interface, but I could very well have been mistaking, ISO sounds familiar too ;)

Comment by Ivan Dryanovski on 2013-03-07:
Hello, have you made any progress with ccny_rgbd? I'd be curious to see if it worked on your setup. If you need help recompiling it against a custom pcl, let me know


1 Answer 1


Rosanswers logo

Getting a Kinect to work on a Pandaboard is possible, but I will tell you now that it is computationally very expensive for the Pandaboard to read out the Kinect data. As I said in another question, if you have the Kinect working and sending its data to the Pandaboard, there is little computational power left for SLAM, sending it over WiFi is a bad idea as well. I have not tried to use the Kinect on the Pandaboard with just SLAM, but my experience is that the Pandaboard would get hot rather quickly, scale down its CPU and then you have one very slow brain.

So to sum up: be careful if you want to do this, with what you let the Pandaboard do as calculations.

I have a Pandaboard with Ubuntu 11.10 and ROS Fuerte installed, indeed from source as none of the packages are available for ARM.

What I did was compile the OpenNI drivers from source, using (if I remember correctly) these steps:

  • Download the OpenNI source from https://github.com/OpenNI/OpenNI and compile it using the ARM compiler and install it
  • Download the NITE middleware source (for which I cannot find the link at the moment?) and compile it using ARM and install it
  • Download the avin2 SensorKinect driver (https://github.com/avin2/SensorKinect), compile it for ARM and install it

I am not sure if the NITE middleware SDK was mandatory or optional, you can try without. Also, I believe the OpenNI had to be set to use the BULK USB interface for ARM devices, otherwise it wouldn't communicate properly.

If you got this far, try one of the OpenNI samples and see if they work. If they do, it is just a matter of letting ROS know OpenNI is installed and where it is installed.

Good luck!

Originally posted by Hansg91 with karma: 1909 on 2013-02-24

This answer was ACCEPTED on the original site

Post score: 3


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.