Obstacle avoidance/SLAM deck initial testing

A few weeks ago we wrote about a new prototype that we call “the obstacle avoidance deck”. Basically it’s a deck fitted with multiple VL53L0x ToF distance sensors that measures the distance front/back, right/left and up of the Crazyflie 2.0. Combined with the Flow deck this gives you an X/Y/Z robot that you can program fly around avoiding obstacles which doesn’t need any external positioning system.

After implementing firmware support for the deck (see #253 and #254) we’ve finally had a chance to do some initial testing, see the video below. In the current implementation we’re doing the measurements in the firmware but using the logging framework to get all the distances into a Python script which does the movement control. Since we have the Flow deck attached we can control the Crazyflie 2.0 in velocity mode, which means we can say things like “Go forward with 0.5 m/s until the forward sensor shows a distance lower than 50cm” or “Go forward 1 m/s for 1s and rotate to measure the distance to all objects”. Since there’s no real-time requirements we can move the complexity of the algorithm from the firmware into external scripting which makes it a lot easier to develop. Now we’re really eager to start setting up obstacle courses and time how fast we can move though them ๐Ÿ™‚

The results from the testing shows that our two main concerns aren’t an issue: The sensors doesn’t seem to interfere with each other and we can sample them all at high-enough frequency without occupying the bus too heavily (currently we’re doing 20Hz). The next step is figuring out the requirements (i.e how many VL53L0x sensors are needed, do we really need the back one?) and a mechanical solution for attaching the sensors in production. If there’s any feedback let us know now and we’ll try to get it into the design. Also, we really need a new name for the board. Any suggestions?

9 comments on “Obstacle avoidance/SLAM deck initial testing

  • If possible you guys should try and add a terminal enabling an external GPS to be attached (like in the Big Quad deck).

    • Hi Luke,

      Unfortunately not on this deck. But you could add it using a prototyping deck that you attach at the same time as the OA deck.

      Best regards,

  • Hello, long time no see,
    Chiming in to say how wonderful this deck is!
    You got 5 LIDARs on the prototype right?
    Name suggestions : “VCSELcraze”, “CrazyLidar”, “CrazyDar” ?

    • Hi Maxzor! Glad that you like it ๐Ÿ™‚ Thanks for the suggestions, we’ll add them to the list!

      • I like VCSEL-Craze a lot actually ๐Ÿ™‚
        Indeed this deck might not be used for obstacle avoidance only. Even if the VL53L0x has low ranging capabilities, the deck could theoretically be used for “SLAMming” a little house with proper remote calculations? And if one day you fuse this deck with a Loco one …!

        • Yes, using it for SLAM is a really appealing idea. The current prototype is compatible with the LPS deck (if you place the OA deck on-top of the LPS deck) ๐Ÿ™‚

  • Hi,
    Just wanted to ask. Is it possible to obtain this deck like early access?
    I am working on Bachelor thesis and I would like to combine this deck with flow how u did and get some results.

    Thanks for answering.

Leave a Reply

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