Re: Crazyflie 2 with GPS
Posted: Thu Jul 21, 2016 5:15 pm
Hi,
I made a provisional imu calibration tab in cfclient for the gyro, accelerometer, and magnetometer sensors.
The layout of this tab was for feasibility purposes only, unfinished and coded at the xml level. The function imu9Read() in module imu_cf2.c was modified to setup the log_groups for the sensors and the log_group in compass.c provides the data for displaying the compass calibration factors/parameters.
The sensor values are taken with the crazyflie in a stationary position on a level surface and the mod column is the rss value of the x,y,z components.
Typically, the mod value for the gyro should be within 0.0 and 1.5. If greater than this, it needs re-calibration. The mod value for the accelerometer is typically between 0.98 and 1.02. Outside of this a re-calibration might be in order. For the compass raw values, they typically should be between -500 and +500, and the mod value between 750 and 2250. This assumes the unit of measure is gauss for the magnetic flux density. All of the above ranges are what DJI uses in their flight controllers.
Sensor data provided by the crazyflie is collected in the cfclient using callbacks from the API through QT signal/slots. The amount of logconfig data requested in the calibration tab is bumping against the memory that is currently set aside or available for obtaining log blocks from the crazyflie on port[5].
Best regards,
Jack
I made a provisional imu calibration tab in cfclient for the gyro, accelerometer, and magnetometer sensors.
The layout of this tab was for feasibility purposes only, unfinished and coded at the xml level. The function imu9Read() in module imu_cf2.c was modified to setup the log_groups for the sensors and the log_group in compass.c provides the data for displaying the compass calibration factors/parameters.
The sensor values are taken with the crazyflie in a stationary position on a level surface and the mod column is the rss value of the x,y,z components.
Typically, the mod value for the gyro should be within 0.0 and 1.5. If greater than this, it needs re-calibration. The mod value for the accelerometer is typically between 0.98 and 1.02. Outside of this a re-calibration might be in order. For the compass raw values, they typically should be between -500 and +500, and the mod value between 750 and 2250. This assumes the unit of measure is gauss for the magnetic flux density. All of the above ranges are what DJI uses in their flight controllers.
Sensor data provided by the crazyflie is collected in the cfclient using callbacks from the API through QT signal/slots. The amount of logconfig data requested in the calibration tab is bumping against the memory that is currently set aside or available for obtaining log blocks from the crazyflie on port[5].
Best regards,
Jack