Difference between revisions of "Test Tasks"

From ElphelWiki
Jump to: navigation, search
m
m
Line 22: Line 22:
 
<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]
 +
* [http://community.elphel.com/files/imu/java/ Reference Java Program] - with an already written parser.
 
* [http://community.elphel.com/files/imu/00:0E:64:08:1B:89/ Calibration Data] of an Eyesis4&pi; camera:
 
* [http://community.elphel.com/files/imu/00:0E:64:08:1B:89/ Calibration Data] of an Eyesis4&pi; camera:
 
** ''Camera_parameters.csv'' - just to look up some constants that might be needed: lenses parameters, calibration machine (goniometer) parameters.
 
** ''Camera_parameters.csv'' - just to look up some constants that might be needed: lenses parameters, calibration machine (goniometer) parameters.
Line 43: Line 44:
 
       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.  
 
       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.
 
       The local timestamp is just the time at which an event was registered.
 
* [http://community.elphel.com/files/imu/java/ Reference Java Program]
 
 
</font>
 
</font>
 
====Task 1. Parsing IMU Data====
 
====Task 1. Parsing IMU Data====

Revision as of 13:06, 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.

IMU, ADIS16375 in NC353L-369 camera
IMU in Eyesis4π
Fig.3 Positive rotation angles in the calibration machine

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

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
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.

Task 1. Parsing IMU Data

Test Task 2: Finding IMU Parameters

Test Task 3: Finding the camera orientation

Test Task 4: Reconstructing camera rotation during the sensor scan

Links