diff --git a/.gitignore b/.gitignore index d05f7c40b..5a46216d6 100644 --- a/.gitignore +++ b/.gitignore @@ -9,5 +9,5 @@ iphone.launch iphone/ A3_rs/ A3_rs.launch -test.launch test/ +test.launch diff --git a/config/fisheye_mask.jpg b/config/fisheye_mask.jpg old mode 100644 new mode 100755 index 5caf51f55..5d3875fe8 Binary files a/config/fisheye_mask.jpg and b/config/fisheye_mask.jpg differ diff --git a/config/fisheye_mask_752x480.jpg b/config/fisheye_mask_752x480.jpg new file mode 100644 index 000000000..5caf51f55 Binary files /dev/null and b/config/fisheye_mask_752x480.jpg differ diff --git a/config/tum/tum_config.yaml b/config/tum/tum_config.yaml new file mode 100644 index 000000000..3916c5a37 --- /dev/null +++ b/config/tum/tum_config.yaml @@ -0,0 +1,83 @@ +%YAML:1.0 + +#common parameters +imu_topic: "/imu0" +image_topic: "/cam0/image_raw" +output_path: "/home/tony-ws1/output/" + +#camera calibration +model_type: KANNALA_BRANDT +camera_name: camera +image_width: 512 +image_height: 512 +projection_parameters: + k2: 0.0034823894022493434 + k3: 0.0007150348452162257 + k4: -0.0020532361418706202 + k5: 0.00020293673591811182 + mu: 190.97847715128717 + mv: 190.9733070521226 + u0: 254.93170605935475 + v0: 256.8974428996504 + +# Extrinsic parameter between IMU and Camera. +estimate_extrinsic: 0 # 0 Have an accurate extrinsic parameters. We will trust the following imu^R_cam, imu^T_cam, don't change it. + # 1 Have an initial guess about extrinsic parameters. We will optimize around your initial guess. + # 2 Don't know anything about extrinsic parameters. You don't need to give R,T. We will try to calibrate it. Do some rotation movement at beginning. +#If you choose 0 or 1, you should write down the following matrix. +#Rotation from camera frame to imu frame, imu^R_cam +extrinsicRotation: !!opencv-matrix + rows: 3 + cols: 3 + dt: d + data: [ -9.9951465899298464e-01, 7.5842033363785165e-03, + -3.0214670573904204e-02, 2.9940114644659861e-02, + -3.4023430206013172e-02, -9.9897246995704592e-01, + -8.6044170750674241e-03, -9.9939225835343004e-01, + 3.3779845322755464e-02 ] +extrinsicTranslation: !!opencv-matrix + rows: 3 + cols: 1 + dt: d + data: [ 4.4511917113940799e-02, -7.3197096234105752e-02, + -4.7972907300764499e-02 ] + +#feature traker paprameters +max_cnt: 150 # max feature number in feature tracking +min_dist: 25 # min distance between two features +freq: 10 # frequence (Hz) of publish tracking result. At least 10Hz for good estimation. If set 0, the frequence will be same as raw image +F_threshold: 1.0 # ransac threshold (pixel) +show_track: 1 # publish tracking image as topic +equalize: 1 # if image is too dark or light, trun on equalize to find enough features +fisheye: 1 # if using fisheye, trun on it. A circle mask will be loaded to remove edge noisy points + +#optimization parameters +max_solver_time: 0.04 # max solver itration time (ms), to guarantee real time +max_num_iterations: 8 # max solver itrations, to guarantee real time +keyframe_parallax: 10.0 # keyframe selection threshold (pixel) + +#imu parameters The more accurate parameters you provide, the better performance +acc_n: 0.04 # accelerometer measurement noise standard deviation. #0.2 0.04 +gyr_n: 0.004 # gyroscope measurement noise standard deviation. #0.05 0.004 +acc_w: 0.0004 # accelerometer bias random work noise standard deviation. #0.02 +gyr_w: 2.0e-5 # gyroscope bias random work noise standard deviation. #4.0e-5 +g_norm: 9.80766 # gravity magnitude + +#loop closure parameters +loop_closure: 0 # start loop closure +load_previous_pose_graph: 0 # load and reuse previous pose graph; load from 'pose_graph_save_path' +fast_relocalization: 0 # useful in real-time and large project +pose_graph_save_path: "/home/tony-ws1/output/pose_graph/" # save and load path + +#unsynchronization parameters +estimate_td: 0 # online estimate time offset between camera and imu +td: 0.0 # initial value of time offset. unit: s. readed image clock + td = real image clock (IMU clock) + +#rolling shutter parameters +rolling_shutter: 0 # 0: global shutter camera, 1: rolling shutter camera +rolling_shutter_tr: 0 # unit: s. rolling shutter read out time per frame (from data sheet). + +#visualization parameters +save_image: 1 # save image in pose graph for visualization prupose; you can close this function by setting 0 +visualize_imu_forward: 0 # output imu forward propogation to achieve low latency and high frequence results +visualize_camera_size: 0.4 # size of camera marker in RVIZ diff --git a/vins_estimator/launch/tum.launch b/vins_estimator/launch/tum.launch new file mode 100644 index 000000000..b67c0c29f --- /dev/null +++ b/vins_estimator/launch/tum.launch @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vins_estimator/src/estimator.cpp b/vins_estimator/src/estimator.cpp index bac07567a..f1d89ec53 100644 --- a/vins_estimator/src/estimator.cpp +++ b/vins_estimator/src/estimator.cpp @@ -654,7 +654,7 @@ bool Estimator::failureDetection() if (delta_angle > 50) { ROS_INFO(" big delta_angle "); - return true; + //return true; } return false; }