My friend and I are currently working on our master thesis and using the CF2.1 with a FPV camera to land autonomously. One of the goals of the project is to attempt to account for the ground effect. In order to do this, we need accurate and precise height readings. However, we have noticed that the ToF sensor (VL53L1) of the Flowdeck v2 is inconsistent in that the height reading (range.zrange) has different behavior and offset depending on the piece (we have two cf+flowdeck setups), i.e. two drones have different readings with the same flowdeck.
According to the data sheet three different kinds of calibration can be done. Described briefly here: https://www.google.com/url?sa=t&rct=j&q ... tN4H_-E8oN and described more thoroughly here in chapter 3: https://www.st.com/resource/en/user_man ... ronics.pdf.
Example of "weird" sensor readings from one of the flowdecks:
The following graph was extracted from the client when lowering the cf slowly by hand from 10cm to 0cm. As you can see, the readings are good until a few cm off the ground where they seem to clip to zero. Then, when the drone is 0cm off the ground (i.e. stationary on ground), the readings are ~1.5 cm.
To account for this, we have tried:
1. Changing the distance mode to SHORT. In https://github.com/bitcraze/crazyflie-f ... er2.c#L123:
Code: Select all
VL53L1_SetDistanceMode(&dev, VL53L1_DISTANCEMODE_MEDIUM);
Code: Select all
VL53L1_SetDistanceMode(&dev, VL53L1_DISTANCEMODE_SHORT);
2. Adding the following code on this line: https://github.com/bitcraze/crazyflie-f ... er2.c#L125, i.e. some kind of manual offset calibration.
Code: Select all
VL53L1_GetCalibrationData(&dev, &calData);
calData.customer.mm_config__inner_offset_mm = -15;
calData.customer.mm_config__outer_offset_mm = -15;
VL53L1_SetCalibrationData(&dev, &calData);
We are wondering what kind of calibration has been done (by manufacturer/Bitcraze in/after production)/is done (e.g. at system startup) with the sensor?
Or, is this the result of filtering somewhere in the crazyflie firmware?
Thanks in advance,
Simon
EDIT: Just realized this probably was posted in the wrong category. Could a mod please move the post? (
Crazyflie NanoQuadcopter \ Developer Discussions ?)