Difference between revisions of "Test Tasks"
m |
m |
||
Line 20: | Line 20: | ||
===Test Tasks=== | ===Test Tasks=== | ||
<br/> | <br/> | ||
− | ===Input Data=== | + | ====Input Data==== |
<font size='2'> | <font size='2'> | ||
* [http://www.analog.com/en/mems-sensors/mems-inertial-measurement-units/adis16375/products/product.html ADIS16375 Datasheet] | * [http://www.analog.com/en/mems-sensors/mems-inertial-measurement-units/adis16375/products/product.html ADIS16375 Datasheet] | ||
Line 34: | Line 34: | ||
'''NumPoints''' - applies to images only | '''NumPoints''' - applies to images only | ||
'''RMS''' - applies to images only | '''RMS''' - applies to images only | ||
− | ** Calibration log files | + | ** Calibration log files - ''test.log-00001...00015'': |
A log file contains 3 types of records (events): | A log file contains 3 types of records (events): | ||
a. (2.460kHz) IMU data | a. (2.460kHz) IMU data | ||
Line 74: | Line 74: | ||
===Links=== | ===Links=== | ||
* [[10338|10338 Sensor board]] | * [[10338|10338 Sensor board]] | ||
+ | * IMU [http://www.analog.com/en/mems-sensors/mems-inertial-measurement-units/adis16488/products/product.html ADIS16488] | ||
+ | * [http://community.elphel.com/files/imu/00:0E:64:08:1B:89/ Calibration Data] for an Eyesis4π camera |
Revision as of 15:42, 14 September 2012
Area: IMU Data Processing
About
"An Inertial Measurement Unit (IMU) is an electronic device that measures and reports on a craft's velocity, orientation, and gravitational forces, using a combination of accelerometers and gyroscopes, sometimes also magnetometers..." © Wikipedia
We use ADIS16375 (fully compatible with ADIS16488) with a tri-axis gyroscope and a tri-axis accelerometer.
Our projects
1. Images Relative Orientation
The goal is to find how the camera rotated/moved (Rotation Matrix) between the shots. Knowing the images' relative orientation allows to use this information for further 3D reconstruction.
2. ERS Correction
Our sensor is Aptina's MT9P006 - CMOS, 5MP, 1/2.5". It has an ERS (Electronic Rolling Shutter) - the image scan time is about 1/15 s (~66 ms) while IMU samples data at 2.460 kHz (T = 0.406 ms) which makes it possible to reconstruct how the camera moved during the image acquisition and correct the ERS effect by placing each pixel according to the sensor orientation at each moment of time. This only corrects the movement/rotation of the camera but not the ERS effect from the fast moving objects.
Test Tasks
Input Data
- ADIS16375 Datasheet
- Reference Java Program - with an already written parser.
- Calibration Data of an Eyesis4π camera:
- Camera_parameters.csv - just to look up some constants that might be needed: lenses parameters, calibration machine (goniometer) parameters.
- ImageSet_orientation.csv
timestamp - timestamp of an image set taken at certain camera orientation during the calibration process. Seconds since January 1, 1970, the Time Zone is GMT axial - angle in degrees about Z-axis (Fig.3) tilt - angle in degrees about Y-axis (Fig.3) Motor2 - motor 2 state in its steps Motor3 - motor 3 state in its steps NumPoints - applies to images only RMS - applies to images only
- Calibration log files - test.log-00001...00015:
A log file contains 3 types of records (events): a. (2.460kHz) IMU data - [localTimeStamp,GMT]: IMU:[gyroX][gyroY][gyroZ][angleX][angleY][angleZ][accelX][accelY][accelZ][veloX][veloY][veloZ][temperature] where original parameters are angular velocities and accelerations - delta angles and delta velocities represent an integration of original parameters. b. (5Hz) GPS data - [localTimeStamp,GMT]: GPS: $GPRMC,231112.2,A,4043.36963,N,11155.90616,W,000.00,089.0,250811,013.2,E c. (rare) Image-acquired event registered at local clock. - [localTimeStamp,GMT]: SRC: [masterTimeStamp,GMT][localTimeStamp,GMT], knowing the master's timestamp is important for matching the events with the taken images - each image has a master timestamp in its EXIF header. The local timestamp is just the time at which an event was registered.
Requirements
- Programming language - Java
Task 1. Estimating biases (zero drifts) of the IMU Data
Description
- Learn how the log data parser works from the reference program.
- Determine the time intervals of when the camera is at rest.
- Estimate the average biases (zero drifts) of ADIS16375 IMU output data when at rest. The formulas can be retrieved from the reference program.
Comments
- The Camera-IMU system can be considered at rest within some time range from the image registration event - SRC-record in the log file. This range is also to be determined/estimated.
- The first SRC-record is found in test.log-00002
Output
Estimated zero drifts stored in a public variable and in an XML file
Task 2. Calculating the IMU parameters more precisely
Description
- Calculate the IMU parameters with a better precision using the IMU data log and the calibration machine orientation log - ImageSet_orientation.csv
Comments
- Calculate the relative IMU rotation matrices for each state at which the pictures were acquired considering the calibration machine angles to be precise enough.
- Knowledge of the precise initial IMU orientation is not needed - can be defined arbitrarily.
- The first SRC-record is found in test.log-00002
Output
Calculated with a better precision IMU parameters in a public variable and in an XML file.
Links
- 10338 Sensor board
- IMU ADIS16488
- Calibration Data for an Eyesis4π camera