Detect checkpoints on floor using Flow Deck
Posted: Tue Nov 30, 2021 10:14 am
Hello, we are a team of three students who are currently working on our diploma thesis with the Crazyflie 2.1. The goal of the thesis is to find checkpoints in a room (we currently use only a square wooden surface). The drone we use is equipped with a Multi Ranger Deck and a Flow Deck. We are testing out different methods on how to check for the checkpoints.
One would be to access the image from the Optical Flow Sensor from the Flow Deck and using it to filter for example images of black and white QR codes as checkpoints. But we believe that that won't be possible due to the low resolution the optical flow sensor is able to provide (our drone will fly in a height of approximately 50 cm). - Please correct us if we are wrong and it actually does work!
Another possibility would be to constantly check the height differences from the floor to the drone and to check if it changes drastically. In this case the checkpoints would be 3D-cubes. But because of the built-in algorithm that the drone always has to keep the same distance to the ground or to what is underneath it, we of course always get about the same height when querying the values and thus cannot filter out where a cube is and where not. Is there a way to rewrite this algorithm so that the drone always flies at the same altitude (a line) no matter what is below (whether via Python or C)?
Or could you think of any other ways to look for checkpoints via the Flow Deck?
One would be to access the image from the Optical Flow Sensor from the Flow Deck and using it to filter for example images of black and white QR codes as checkpoints. But we believe that that won't be possible due to the low resolution the optical flow sensor is able to provide (our drone will fly in a height of approximately 50 cm). - Please correct us if we are wrong and it actually does work!
Another possibility would be to constantly check the height differences from the floor to the drone and to check if it changes drastically. In this case the checkpoints would be 3D-cubes. But because of the built-in algorithm that the drone always has to keep the same distance to the ground or to what is underneath it, we of course always get about the same height when querying the values and thus cannot filter out where a cube is and where not. Is there a way to rewrite this algorithm so that the drone always flies at the same altitude (a line) no matter what is below (whether via Python or C)?
Or could you think of any other ways to look for checkpoints via the Flow Deck?