What’s better than a PX4FLOW?

The Raspberry Pi camera of course:

RaspiCam Video motion blocks

RaspiCam Video motion blocks

A very similar walk around the garden as before, but running the Raspberry Pi camera, ground facing, videoing at 10 frames per second at 320 x 320 resolution, producing 16 x 16 macro-blocks per frame, which are averaged per frame and logged.

The macro blocks give the pixel shift between one frame and the next to help with the frame compression; I’m not sure whether the units are in pixels or macro blocks, but that’s simple to resolve.  Combined with the height from the LEDDAR, and the focal length of the lens, it’ll be trivial to convert these readings to a distance in meters.

The results here are at least as good as the PX4FLOW, if not better, and the processing of the macro-blocks to distance is very lightweight.

This is definitely worth pursuing as it’s much more in keeping with how I want this to work.  The PX4FLOW has served its purpose well in that with my understanding how it worked, it opened up how it could be replaced with the RPi Camera.

There are further bonuses too: because of the video fixed frame rate, the macro blocks are producing distance increments, whereas the PX4FLOW only produced velocities, and that means I can add in horizontal distance PIDs to kill drift and ensure the quad always hovers over the same spot.  And even better, I’m no longer gated on the arrival of the new PCBs: these were required for X8 and I2C for the PX4FLOW; I’ll need them eventually for X8 but for now, the current PCB provides everything I need.

We are most definitely on a roll again!

2 thoughts on “What’s better than a PX4FLOW?

  1. Hi
    I am very interested in your work with the LEDDAR device.
    I have looked at their product page and they have won a host of awards for this and the performance seems to be borne out in your own testing.

    Have you managed to fix the device to your copter and checked how it actually performs in flight?
    In particular, I am interested in how it performs when attempting to hold a fixed position hover.
    I am currently using a barometer for this, which is inaccurate when it comes to approximating height.
    I am looking to use the PX4Flow.

    I am using a Raspberry Pi 2 based, Erle Brain 2 as my flight controller, so the underlying hardware is similar to what you are using.

    Here is a thread of my current build:

    • LEDDAR works perfectly for me – the only down side was it doesn’t use normal serial: instead it the modbus protocol so that multiple devices can attach to the serial port.

      I’ve used ultrasonic range finders but they weren’t as good and often didn’t support I2C as fast as the IMU.

      I’ve had mixed success with the PX4FLOW with a build in URF – I had an original which worked well, and I bought a couple of cheaper chinese ones from ebay, and neither produced all the possible data. Still enough to manage, lateral, but the URF didn’t work at all. I didn’t follow this very far though as I changed to try the camera for lateral movement and it’s working ok so far.

      Hope you have better luck than I did!

Leave a Reply

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