Finally the last missing board from the PX4 series has been released, the PX4FLOW smart camera module. It can replace GPS in indoor and outdoor applications and provides a metric position close to the ground with only very little drift. It is essentially a microcontroller hooked up to an automotive-grade machine vision sensor that can be freely programmed.

Given the wide distribution of the AR.Drone one might ask what the purpose is, and the answer is simple and well illustrated by the video: You can use this board with PX4FMU and the PX4 native autopilot stack, but you can also interface it with any other system, including Linux onboard computers running ROS. It works indoors and outdoors and brings the same stability the AR.Drone shows in flight to any aerial robot.

It has a native resolution of 752×480 pixels and calculates optical flow on a 4x binned and cropped area at 250 Hz (bright, outdoors), giving it a very high light sensitivy. Unlike many mouse sensors, it also works indoors and in low outdoor light conditions without the need for an illumination LED at 120 Hz (dark, indoors).

  • 168 MHz Cortex M4F CPU (128 + 64 KB RAM)
  • 752×480 MT9V034 image sensor
  • L3GD20 3D Gyro
  • 16 mm M12 lens (with IR block filter)

As the aerial image with overlaid trajectory shows, the position estimate is very accurate. This is without GPS, captured in flight at 1.6 m altitude and in one pass.

The work on this module has been accepted at the International Conference on Robotics and Automation (ICRA 2013) in Karlsruhe, Germany: Dominik Honegger, Lorenz Meier, Petri Tanskanen and Marc Pollefeys. An Open Source and Open Hardware Embedded Metric Optical Flow CMOS Camera for Indoor and Outdoor Applications, ICRA2013

The module has been developed by Samuel Zihlmann, Laurens Mackay, Dominik Honegger, Petri Transkanen and Lorenz Meier.

Frequently Asked Questions

  • When will it be available? - It is available here and starts shipping next Monday, according to 3D Robotics
  • Is the software available? - The software will be made available shortly open-source licensed. The module comes pre-flashed with the latest state.
  • Is a ROS interface available? - Yes, here
  • Will you offer a low-cost version? - The module has been designed to meet scientific standards and provide a baseline for what one can achieve with a reduced design. A low cost version is not planned, but we're interested to hear if someone is willing to contribute a cell-phone camera based design.
  • Can I hook it up to robot XY? - Almost for sure, as it outputs the flow already in m/s and in MAVLink format
  • Has it been used in scientific work yet? Yes, for example in this paper by Fraundorfer et al.

More information needed?


Views: 9496

Comment by Neil Ohnemus on February 5, 2013 at 4:29pm

"You can use this board with PX4FMU and the PX4 native autopilot stack.."

Will there be/is there a plan to support the optical flow sensor with arducopter PX4 release?

(I'm assuming here (dangerously) that PX4 Native stack is not arducopter)

Comment by Gary McCray on February 5, 2013 at 4:35pm

Great to see this available.

Are Arducopter drivers going to be working with it when the PX4 version of Arducopter is released?

By the way what ever happened to the APM optical flow hardware?

Hasn't been available from 3DR for months now.

Looks like the PX4 is going to be the way forward.

Comment by Jack Crossfire on February 5, 2013 at 5:49pm

Ever since helicommand 1st commercialized optical flow, the question has been if it can only achieve that accuracy 1.6m off the ground, what's the point of having it fly?

Comment by Ryan Alexander Bahr on February 5, 2013 at 5:50pm

I've been waiting for the optical flow sensor for quite some time. I know they said here they don't plan to introduce a low cost version but I hope that the Arducopter version isn't in that category.

Comment by Adam Conway on February 5, 2013 at 7:33pm

Clearly, I have not been paying attention because previous posters are treating this as ho-hum, but this is so cool (this is the equivalent of me freaking out, like, boy-band freaking out; for those that don't know me I am a mild mannered sort of guy).  

Comment by Jason on February 5, 2013 at 7:59pm

yeesh... it has the maxb. sonar attached.... is this removable?

Comment by Greg Fletcher on February 5, 2013 at 10:14pm

With several of these surouning the craft, maybe eight of them like a spider eye system. Sense and Avoid, the big kahuna, the holey cup.

Comment by Don Park on February 5, 2013 at 10:18pm

Can someone say more about how this sensor is being used? "provides a metric position close to the ground" is not very clear. My best guess is it replaces a sonar sensor to determine position above the ground.

Comment by Adam Conway on February 5, 2013 at 10:48pm

based on what I have read, It measures ground movement below the quad copter, which means that if you quad is moving slow enough or the camera is going fast enough you can get accurate, relative 3 axis navigation (x, y, yaw) - the sonar gives you a 4th axis (z).  If you know your start position and can measure relative position accurately then you know where you are.  I suppose it is possible to get roll and pitch within reason but I suspect that the system has been simplified to just give those 4 axes... I guess we see when the source is available.

Comment by Adam Conway on February 5, 2013 at 10:51pm

I was just thinking of this and I guess it would be completely possible to get roll from these sensors by watching the distortion of the image however and with a lot less noise than a IMU.  the challenge is that it would be difficult to sense the difference between sloped earth and roll/pitch.


You need to be a member of DIY Drones to add comments!

Join DIY Drones

© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service