30 Sep

## Frame Introduction

• Body frame: IMU Coordinate

• Cam frame: Camera Coordinate

• World frame: The firt frame of IMU frames

• Navigation frame: ENU $$(0,0,-9.81)$$

## Core Idea

1. Essential Members in IMU and Camera:

• imu_acc/imu_acc_bias/acc_noise_sigma/acc_bias_sigma;
• imu_gyro/imu_gyro_bias/gyro_noise_sigma/gyro_bias_sigma
• imu extrinsiscs: R_wb(world to body); t_wb
• camera intrinsics:f/c/image_w/image_h
• camera extrinsiscs: R_bc(body to camera); t_bc;
• camera noise: pixel_noise
• imu_frequency/imu_frequency

2. Define Motion Model = f(t), and Generate IMU Data

• establish kinematic motion equations in world frame about t, such as x=a·cos(t) y=b·sin(t) z=t.
• derivative of position = velocity (world frame), second derivative = acceleration (world frame)
• set the ruls of Rwb and twb, translated from euler angles.
• use transform (Rwb and twb) and derivatives to generate IMU groudtruth data.

3. Generate Landmarks 3D groudtruth

• read house.txt (set by prior) to generate landmarks' 3D points

4. Generate Camera groudtruth

• get Rwc = Rwb * Rbc and twc = twb + tbc
• camera.timestamp = imu.timestamp

5. Generate Camera Observation

• use Twc to transfer landmark points into pixel points and camera frame

## Introduction to generation files

1. imu_pose.txt: imu poses without noise
2. imu_pose_noise.txt: imu poses added noise
3. imu_int_pose.txt: imu integration trajectory without noise
4. imu_int_pose_noise.txt: imu integration trajectory added noise
5. cam_pose.txt: camera poses without noise
6. cam_pose_tum.txt camera poses in tum data format, used by evo
7. keyframe/camera_$(n).txt feature points and camera observations 8. keyframe/cameranoise$(n).txt feature points and camera observations with noise