Looking for pitfalls with multiple Orbbec Astra cameras in installation

Hey everyone,

I’m building out an installation that requires the use of 3 depth cameras and after mapping out my space it turns out the specs of the Orbbec Astra (regular, not the S or Pro versions) works better for me than any other depth camera. Particularly useful are the narrower FOV and higher resolution than the KinectV2 as well as the fact that they’re USB powered. As far as how they will be used, I really only need the raw depth maps and will only occasionally need the RGB images. So other features that might take up more USB bandwidth won’t be needed.

I just wanted to know if anyone out there has run into issues with using multiple Astras on one machine or if there are any pitfalls I should be aware of before sinking the money and buying 3 of them. I’ll be developing on a Mac Pro with fairly competent specs so not worried about hardware performance, per se.

Any thing I should know before spending the $500 on cameras? Thanks!

Hi!

I have a project where I need to run 2 Astra S on a Mac Pro and I having troubles even to have only one working… Works fine on my Macbook Pro but black screen on my Mac Pro and the System info doesn’t totally recognize the Astra S (no bandwidth or power info).

Did you got your cameras?

Ben

Hey Ben,

Yeah, I received them a few days ago! Sad to hear you’re having issues. I saw your multicam issue on Matt’s ofxOrbbecAstra add-on. I was able to get 3 cameras working well on my MBP, but haven’t tried them on the Mac Pro yet.

Do you have any leads on what the issue might be?

Best,
Adiel

Hey,

No I don’t have any leads yet. I posted on Orbbec forum as well:
https://3dclub.orbbec3d.com/t/astra-s-on-osx-mac-pro-2013/579

Maybe something about power.

I also run into strange problems with the Astra. If I use 10m USB extender it works well on my Macbook Pro but it is not stable at all on a Mac Mini. Even worst if I plug 2 Astras with extender… Never had this kind of trouble with the Kinect.

Best regards,

Ben

Yeah, the kinects have always treated me very well. This is worrying me a bit. My timeline is a bit tight and I was hoping to not spend much time debugging the cameras. Yikes!

I’m doing all my dev on my MBP for now since I don’t have access to the Mac Pro I’ll be using yet. I’ll definitely keep you posted on what I find when I get it. Good luck in the mean time!

I am currently working with 4 astras on a single computer. So far I have no problem although they are all on the same usb bus. It’s a desktop computer running arch linux though.

Though I had to exchange one of them because it kept failing after a few minutes. I guess that was a hardware fault…

Did you finally were able to test on your Mac Pro? Still no luck for me. I am switching to Mac Mini for the moment but I am not really happy with performance…

Haven’t been able to just yet! The plan is to test it on Monday.

What is your workflow like for pulling/analyzing the camera feeds? The processing is a little on the slow side, especially if you have enableDepthImage(false) (a known issue with the add-on), but I’ve had decent success with multi-threading. Here’s a link to an example I worked up. It was just a quick test so it’s a bit sloppy and needs commenting, but you’re welcome to take a peak if it helps.

Will keep you posted on whatever happens with the Mac Pro on Monday.

Yup, Astra/Mac Pro issue confirmed. The camera’s aren’t recognized and they show up in the USB devices exactly like yours. Technically they’re there but the specs are different. Will continue to dive into it tomorrow. Do you have any leads you’ve found?

Still no leads. Thanks a lot for your example. Indeed I am not using any thread for reading and processing the image. I will work on this today, I am sure it will greatly help with my performances.

I regreating a bit my choice to switch to Astra, never had so much problems with gool old Kinect. To bad I already have 2 astras integrated in the furniture otherwise I would have switch back to Kinect.

Hi all,

Just wondering what the 2017 consensus is here.
Anyone tried 2+ 3? 4? Astra’s at the same time on the same machine?

Thanks!
Theo

Hi Theo,
I’m currently playing with 2 Astras, on a MacBookPro. No particulary problem here, my code is based on @mattfelsen addon ofxOrbbecAstra except i notice a substantial drop on the fps (60 to 30/25) as i use more than one on the machine, especially with the “point stream” activated (astra.initPointStream() method)

I’m currently dealing with ofThread, i’ll let you know if i get good results.

Note i don’t have a MacPro right now to test a sample code with multiple Astras…

I also plan to quickly port my code on windows, i’ll come back with a note about that :wink:

Thanks for the report!!
That sounds promising.

Theo

I confirm it’s working on windows, too!

Talking about threading, i had a hard time trying to run the addon in a separate thread. It’s essentially due to the fact it uses textures, so it breaks the openGl state…

Finally decided to thread the computation part, so i get a decent FPS (around 35).

Hey All,

I followed through and used the Orbbec cameras for the installation I referenced in the original post. Still have mixed feelings about them. On the one hand, they’re cheap enough and easy to work with. However, my general experience with them was not great.

Issues:

  1. Quality control #1: Cameras had weird aberrations that would phase in and out and manifested themselves as blacked out bars across the image. May have been related to overlapping light fields but it wasn’t clear and was hard to get rid of.
  2. Quality control #2: I also had one camera with a sensor drift issue. Over time, the image would drift brighter on one side and dimmer on the other which would make everything appear closer/farther from the camera. This happened gradually over long periods of time (18-24 hours of use) and would only be fixed by a hard power cycle.
  3. I don’t know about now, but when I was using them Orbbec didn’t include official support in the API for addressing cameras by some kind of unique ID. That means that you could only address cameras based on how the serial port enumerated them. That means I had to be sure to plug cameras into the computer in the correct order so the app wouldn’t switch cameras around. This had to be done again whenever the computer was shut down/restarted or cameras were unplugged. This alone might be a deal breaker if you’re making a permanent installation.
  4. After contacting their devs in the forums, Orbbec never even tried to look into support for a MacPro (I even offered to lend them MY MacPro for testing!). This was a huge pain as I ended up having to run the whole install off a Mac Mini instead. I tried running the cameras from a mac mini and sending touch data to my MacPro via OSC, but wasn’t quite happy with the results.

They’ve just recently added skeleton tracking to their SDK so that might make it a bit more appealing, but I don’t have experience with that aspect.

Regarding frame rate issues, I ran 3 cameras off a single mac mini and had no issues running smoothly at 60 fps. However, I wasn’t using the point cloud data, only the depth image and I was doing the conversion of the raw depth image (from the ofShortPixels object to a regular 8-bit ofPixels) on three separate threads, one for each cam.

In summary: if you’re just using a single camera and/or don’t plan on doing anything permanent, they can be decent and easy to work with. But they definitely left a bad taste in my mouth due to computer incompatibility and the enumeration issue.

Hope that helps!

1 Like