Vins-application: D435i + vins_fusion рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдЬрд╛рдирдХрд╛рд░реА

рдХреЛ рдирд┐рд░реНрдорд┐рдд 16 рд╕рд┐рддре░ 2020  ┬╖  9рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: engcang/vins-application

рдЪреВрдВрдХрд┐ рдЖрдк рдЙрди рдЧрд┐рдиреЗ-рдЪреБрдиреЗ рд▓реЛрдЧреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИрдВ рдЬреЛ рд╡реАрдЖрдИрдУ рдореЛрдб рдкрд░ рд╡реАрдЖрдИрдПрдирдПрд╕-рдлреНрдпреВрдЬрд╝рди рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗ, рдореИрдВ рдХреБрдЫ рдмрд┐рдВрджреБрдУрдВ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ рдкрд╛рд╕ рд╡рд╛рдкрд╕ рдЖрддрд╛ рд╣реВрдВ рдФрд░ рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдорд╛рдВрдЧрддрд╛ рд╣реВрдВред

рдореИрдВ D435i рдХреЗ рд╕рд╛рде VINS FUSION рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ (рдЬреИрд╕реЗ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрдИ рд▓реЛрдЧ)ред рдЙрдкрд▓рдмреНрдз рд▓реЙрдиреНрдЪ realsense_stereo_imu_config.yaml рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореИрдВрдиреЗ рдЕрдиреБрднрд╡ рдХрд┐рдпрд╛ рдХрд┐ рд▓реЛрдЧ рдХреНрдпрд╛ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рд╣реА рдЖрдк рдХреИрдорд░реЗ рдХреЛ рдЫреВрддреЗ рд╣реИрдВ, рдЧрдгрдирд╛ рдХреА рдЧрдИ рдореБрджреНрд░рд╛ рдкрд╛рдЧрд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИред

рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдХрд▓рд┐рдмреНрд░ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛:

  • рдХреИрдорд░реЛрдВ рдХреЛ рдХреИрд▓рд┐рдмреНрд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдореБрдЭреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓реЗ:
cam0:
  cam_overlaps: [1]
  camera_model: pinhole
  distortion_coeffs: [0.3775752250096366, -0.08329757139021714, 0.6504570262599587, -0.4530039925701512]
  distortion_model: equidistant
  intrinsics: [395.5922288679944, 395.5957501002353, 319.88738279106286, 239.07386401539998]
  resolution: [640, 480]
  rostopic: /camera/infra1/image_rect_raw
cam1:
  T_cn_cnm1:
  - [0.9999953397168069, 9.448668958037214e-05, 0.0030514942108417595, -0.04984248508758902]
  - [-9.749429725933605e-05, 0.9999995096576434, 0.0009854843073503579, 6.189814698173665e-05]
  - [-0.0030513995994150846, -0.0009857772179980872, 0.9999948585886561, 0.00015202509092000083]
  - [0.0, 0.0, 0.0, 1.0]
  cam_overlaps: [0]
  camera_model: pinhole
  distortion_coeffs: [0.31220975539351176, 0.48299676137352554, -1.4010717249687126, 2.191483852686]
  distortion_model: equidistant
  intrinsics: [396.5827833428163, 396.75838144377565, 319.1950768721882, 238.53973946284336]
  resolution: [640, 480]
  rostopic: /camera/infra2/image_rect_raw

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдВрд╢рд╛рдВрдХрди рдареАрдХ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЬрдм рдореИрдВ рдЗрди рдорд╛рдкрджрдВрдбреЛрдВ (imu = 0) рдХреЗ рд╕рд╛рде VINS_FUSION рдЪрд▓рд╛рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдорд┐рд▓рд╛ред рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдореБрдЭреЗ рдЖрдкрдХреЗ рд╕рд╛рде рдкреАрдбреАрдПрдл рд░рд┐рдкреЛрд░реНрдЯ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреА рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЙрд╕ рдХреНрд╖реЗрддреНрд░ рдХрд╛ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдирд╣реАрдВ рд╣реВрдВред

  • рдХреИрдорд░рд╛ IMu рдХреИрд▓рд┐рдмреНрд░реЗрд╢рди, рдЗрддрдирд╛ рд╕реАрдзрд╛ рдирд╣реАрдВ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рд╢реЛрд░ рдШрдирддреНрд╡ рдФрд░ рд░реИрдВрдбрдо рд╡реЙрдХ рд╡реИрд▓реНрдпреВ рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдПрд▓рди рд╡рд┐рдЪрд░рдг рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдФрд░ рдореИрдЯрд▓реИрдм рд╕реЗ рдХреБрдЫ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдФрд░ рдореБрдЭреЗ рдпрд╣ рддреНрд╡рд░рдг рдХреЗ рд▓рд┐рдП рдорд┐рд▓рд╛
    allan_acc
accelerometer_noise_density: 0.0011060    #Noise density (continuous-time)
accelerometer_random_walk:   8.6056e-05    #Bias random walk

рд▓реЗрдХрд┐рди рдЬрд╛рдЗрд░реЛ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдВрджреЗрд╣ рд╣реИ:
allan_gyro

рдХреНрдпреЛрдВрдХрд┐ рдорд╛рди рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИрдВ:

gyroscope_noise_density:     50.427    #Noise density (continuous-time)
gyroscope_random_walk:       0.3480    #Bias random walk

рдпрд╣рд╛рдБ рдореИрдВ рдЗрди рдореВрд▓реНрдпреЛрдВ рдкрд░ рдЖрдкрдХреА рд░рд╛рдп рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдБ?

рд╣рд╛рд▓рд╛рдБрдХрд┐ рдореИрдВ рдПрдХ рдЗрдореВ-рдХреИрдорд░рд╛ рдЕрдВрд╢рд╛рдВрдХрди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛:

cam0:
  T_cam_imu:
  - [0.999848715163262, 0.0018345448477758066, 0.017296856118190283, -0.009035083963879727]
  - [-0.001867318311452875, 0.999996491602708, 0.0018788040335944412, 0.002129300542443833]
  - [-0.01729334868368733, -0.0019108185351930207, 0.9998486329759259, -0.005593943362795322]
  - [0.0, 0.0, 0.0, 1.0]
  cam_overlaps: [1]
  camera_model: pinhole
  distortion_coeffs: [0.3775752250096366, -0.08329757139021714, 0.6504570262599587,
    -0.4530039925701512]
  distortion_model: equidistant
  intrinsics: [395.5922288679944, 395.5957501002353, 319.88738279106286, 239.07386401539998]
  resolution: [640, 480]
  rostopic: /camera/infra1/image_rect_raw
  timeshift_cam_imu: -0.028184396371617668
cam1:
  T_cam_imu:
  - [0.9997911085949877, 0.0019231918046627172, 0.020347985347160178, -0.058894395640646836]
  - [-0.0019818392674274344, 0.999993939322739, 0.0028624519050287085, 0.0021865657711008357]
  - [-0.02034235698054308, -0.002902180399802527, 0.9997888606407872, -0.005416418875488448]
  - [0.0, 0.0, 0.0, 1.0]
  T_cn_cnm1:
  - [0.9999953397168102, 9.448668958037212e-05, 0.003051494210841759, -0.04984248508758902]
  - [-9.749429725933604e-05, 0.9999995096576467, 0.0009854843073503574, 6.189814698173665e-05]
  - [-0.003051399599415084, -0.0009857772179980868, 0.9999948585886594, 0.00015202509092000083]
  - [0.0, 0.0, 0.0, 1.0]
  cam_overlaps: [0]
  camera_model: pinhole
  distortion_coeffs: [0.31220975539351176, 0.48299676137352554, -1.4010717249687126,
    2.191483852686]
  distortion_model: equidistant
  intrinsics: [396.5827833428163, 396.75838144377565, 319.1950768721882, 238.53973946284336]
  resolution: [640, 480]
  rostopic: /camera/infra2/image_rect_raw
  timeshift_cam_imu: -0.028184788415138273

рдпрд╣рд╛рдВ рдореИрдВ рднреА рд╣реИрд░рд╛рди рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдЯрд╛рдЗрдорд╢рд┐рдлреНрдЯ рдиреЗрдЧреЗрдЯрд┐рд╡ рд╣реИ! рдХреНрдпрд╛ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ?
рдХреИрдорд░рд╛ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, VINS_FUSION рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдПрдХ рд╕реВрддреНрд░ рд╕реЗ, рдореИрдВ рд╕рдордЭ рдЧрдпрд╛ рдХрд┐ body_T_cam0/1 рдХреИрдорд░рд╛ рдлреНрд░реЗрдо рд╕реЗ IMU рдлреНрд░реЗрдо рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╣реИ

p = body_T_cam0 * q
p: point in IMU coordinates
q: point in camera coordinates

рдФрд░ рдХрд▓рд┐рдмреНрд░ рдХреЗ рд╕рд╛рде T_cam_imu IMU рдПрдХреНрд╕рдЯреНрд░рд┐рдВрд╕рд┐рдХреНрд╕ рд╣реИ: IMU рд╕реЗ рдХреИрдорд░рд╛ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ (T_c_i) рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди, рд▓реЗрдХрд┐рди рдореИрдВ рдЕрднреА рддрдХ VINS_FUSION рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рд╣реА рдкреНрд░рд╛рд░реВрдк рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИрд░рд╛рди рд╣реВрдВред

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрддрдиреЗ рд╕рд╛рд░реЗ рдХрд╛рдо рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдореИрдВ рдЕрднреА рднреА IMU рдХреЗ рд╕рд╛рде VINS рдирд╣реАрдВ рдЪрд▓рд╛ рдкрд╛ рд░рд╣рд╛ рд╣реВрдБред рдЗрддрдиреЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЖрдкрдХреЛ рдпрд╣рд╛рдВ рдХреБрдЫ рдЧрдбрд╝рдмрдбрд╝ рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣реА рд╣реИ рдЬреЛ рдмрддрд╛ рд╕рдХрддреА рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рдо рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ?

рдмрд╣реБрдд - рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

@FaboNo рд╣рд╛рдпред

  • рд╣рд╛рдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ Pixhawk4 рдорд┐рдиреА рдореЗрдВ D435i рд╕реЗ рдмреЗрд╣рддрд░ IMU рд╣реИред рдХреНрдпреЛрдВрдХрд┐ рдкрд┐рдХреНрд╕рд╣реЙрдХ 4 рдорд┐рдиреА рджреЛ 6DOF IMU рдФрд░ рдПрдХ рдореИрдЧреНрдиреЗрдЯреЛрдореАрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ ROS рд╡рд┐рд╖рдп рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рддрд╛ рд╣реИ (рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП 100% рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдирдХреЗ рдкрд╛рд╕ рджреЛ IMU рд╣реИрдВ)ред
  • рдореИрдВрдиреЗ 100 рд╣рд░реНрдЯреНрдЬ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ред
  • рд╣рд╛рдВ, рдореИрдВрдиреЗ рдкреАрдПрдХреНрд╕4 рдФрд░ рдорд╛рд╡рд░реЛрд╕ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рд╣реИред рдореБрдЭреЗ рдпрд╛рдж рд╣реИ рдХрд┐ рдореИрдВ рд▓рдЧрднрдЧ 150Hz рдЕрдзрд┐рдХрддрдо рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдХрд╣реАрдВ рд╕реЗ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ IMU рдФрд░ рдХреИрдорд░рд╛ FPS рдХреЗ рд▓рд┐рдП 3:1 рдХрд╛ рдЕрдиреБрдкрд╛рдд VINS рдХреЗ рд▓рд┐рдП рдЗрд╖реНрдЯрддрдо рд╣реИред рд╣рдо рдЖрдорддреМрд░ рдкрд░ 30Hz рдХреИрдорд░рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ 100Hz рдЙрдЪрд┐рдд рд╣реИред

рд╕рднреА 9 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

@FaboNo рдореИрдВ рдЗрд╕реЗ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛, рдореБрдЭреЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЕрдВрд╢рд╛рдВрдХрди рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рдереА рдФрд░, рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдпрд╣ рдЙрдЪрд┐рдд рдЕрдВрд╢рд╛рдВрдХрди рдХреЗ рд╕рд╛рде рдмреЗрд╣рддрд░ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╡рд┐рдЪрд▓рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ

рдореИрдВрдиреЗ рдЗрд╕ рд░реЗрдкреЛ рдореЗрдВ рджрд┐рдП рдЧрдП left.yaml рдФрд░ right.yaml рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ

рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдк рдСрдЯреЛ рдПрдХреНрд╕рдкреЛрдЬрд░ рдХреЛ рдмрдВрдж рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рд░реАрдпрд▓рд╕реЗрдВрд╕ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рдЖрдИрдЖрд░ рдПрдорд┐рдЯрд░ рдХреЛ рдмрдВрдж рдХрд░ рд░рд╣реЗ рд╣реИрдВ,

%YAML:1.0

#common parameters
#support: 1 imu 1 cam; 1 imu 2 cam: 2 cam; 
imu: 1
num_of_cam: 2

imu_topic: "/camera/imu"
image0_topic: "/camera/infra1/image_rect_raw"
image1_topic: "/camera/infra2/image_rect_raw"
output_path: "/home/dji/output/"

cam0_calib: "left.yaml"
cam1_calib: "right.yaml"
image_width: 640
image_height: 480


# Extrinsic parameter between IMU and Camera.
estimate_extrinsic: 1   # 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.

body_T_cam0: !!opencv-matrix
   rows: 4
   cols: 4
   dt: d
   data: [  1,0,0,0.00552,
            0,1,0,-0.0051,
            0,0,1,-0.01174,
            0., 0., 0., 1. ]

body_T_cam1: !!opencv-matrix
   rows: 4
   cols: 4
   dt: d
   data: [ 1,0,0,-0.04464144,
           0,1,0,-0.0051,
           0,0,1,-0.01174,
           0., 0., 0., 1. ]

#Multiple thread support
multiple_thread: 1

#feature traker paprameters
max_cnt: 150            # max feature number in feature tracking
min_dist: 30            # 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
flow_back: 1            # perform forward and backward optical flow to improve feature tracking accuracy

#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.1          # accelerometer measurement noise standard deviation. #0.2   0.04
gyr_n: 0.01         # gyroscope measurement noise standard deviation.     #0.05  0.004
acc_w: 0.001         # accelerometer bias random work noise standard deviation.  #0.002
gyr_w: 0.0001       # gyroscope bias random work noise standard deviation.     #4.0e-5
g_norm: 9.805         # gravity magnitude

#unsynchronization parameters
estimate_td: 1                      # online estimate time offset between camera and imu
td: -0.072                             # initial value of time offset. unit: s. readed image clock + td = real image clock (IMU clock)

#loop closure parameters
load_previous_pose_graph: 0        # load and reuse previous pose graph; load from 'pose_graph_save_path'
pose_graph_save_path: "/home/dji/output/pose_graph/" # save and load path
save_image: 0                   # save image in pose graph for visualization prupose; you can close this function by setting 0 

@FaboNo рд╣рд╛рдп рдлреИрдмреЛрдиреЛред рджреЗрд░ рд╕реЗ рдЙрддреНрддрд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдмрд╣реБрдд рдЦреЗрдж рд╣реИред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдерд╛ рдХрд┐ рдореБрдЭреЗ рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдорд┐рд▓рд╛ рд╣реИред

  1. рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдХреИрдорд░рд╛ рдореЙрдбрд▓ рдХреЛ pinhold-radtan рд╕рд╛рде рдХреИрд▓рд┐рдмреНрд░реЗрд╢рди рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ, рди рдХрд┐ equidistant , рдЬрд┐рд╕рдХрд╛ рдЖрдкрдиреЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛ред

  2. рд╕рд╣реА рдХреИрдорд░рд╛ рдХреИрд▓рд┐рдмреНрд░реЗрд╢рди рдХреЗ рдмрд╛рдж, рдХреГрдкрдпрд╛ VINS-Fusion рдХреЛ 2 рдХреИрдорд░рд╛ рдФрд░ 0 imu рдореЛрдб рдХреЗ рд╕рд╛рде рдЪрд▓рд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред
    рдЗрд╕реЗ рдкрд╣рд▓реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП (рдЖрд╕рд╛рди рдЧрддрд┐ рдХреЗ рддрд╣рдд, рддреЗрдЬ рдЧрддрд┐ рдпрд╛ рд╢реБрджреНрдз рд░реЛрдЯреЗрд╢рди рдХреЗ рдмрд┐рдирд╛)

  3. рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХрд╛ body_T_cam рд╕реЗрдЯ рдЖрдкрдХреЗ рдХреИрд▓рд┐рдмрд░ рдкрд░рд┐рдгрд╛рдо рд╕реЗ T_cam_imu рдХрд╛ рдЙрд▓рдЯрд╛ рдореИрдЯреНрд░рд┐рдХреНрд╕ рд╣реИред
    рдХреЗрд╡рд▓ 2 рдХреИрдорд░рд╛ рдореЛрдб (рдКрдкрд░) рдЪрд▓рд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЕрдкрдирд╛ body_T_cam0 рдФрд░ 1 рднреА рдЬрд╛рдВрдЪреЗрдВред

  4. рдирдХрд╛рд░рд╛рддреНрдордХ timeshift_cam_imu d435i рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рдореВрд▓реНрдп рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдХреИрдорд░рд╛ IMU рд╕реЗ рдмрд╛рдж рдореЗрдВ рд╣реИред

  5. рдЖрдкрдХреЛ рдЕрдкрдиреЗ IMU рдХреИрд▓рд┐рдмреНрд░реЗрдЯрди рдХреЗ рд▓рд┐рдП Kalibr Allan рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЬреЛ рдореЗрд░реЗ рдЕрдиреБрднрд╡ рдХреЗ рд▓рд┐рдП d435i рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рдерд╛,
    рдмрд▓реНрдХрд┐ рдореБрдЭреЗ d435i рдХрд╛ IMU рдореЙрдбрд▓ рдорд┐рд▓рд╛ рдФрд░ рдлрд┐рд░ рдЙрд╕ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдореЙрдбрд▓ рдХреЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╣рд╛рдБ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛

  6. рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВ рддреЛ рдмрд╕ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддреЗ рд╣реИрдВ imu parameters рдХреЗ рд░реВрдк рдореЗрдВ рдпрд╣рд╛рдБ
    рдЙрдиреНрд╣реЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред (рдпрд╛, рдмрд╕ рдЙрдиреНрд╣реЗрдВ рдереЛрдбрд╝рд╛ рдмрдврд╝рд╛ рджреЗрдВ, рдЬреИрд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рдиреЛрдВ рдХрд╛ 3 рдЧреБрдирд╛)

  7. рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ D435i SDK рд╕реЗ IMU calibration рдЪрд▓рд╛рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ

@FaboNo
рд╡реИрд╕реЗ, рдореИрдВрдиреЗ рдкрд╣рд▓реЗ D435i рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдореВрд▓ рд▓реЗрдЦрдХреЛрдВ рд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреИрд░рд╛рдореАрдЯрд░/yaml рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХреА рдереАред
рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕рднреА 0 рд╡рд┐рд░реВрдкрдг рдореВрд▓реНрдпреЛрдВ рдФрд░ рдХреЗрд╡рд▓ рдлреЛрдХрд▓ рд▓рдВрдмрд╛рдИ/рдкреНрд░рд┐рдВрд╕рд┐рдкрд▓ рдкреЙрдЗрдВрдЯ рдорд╛рдиреЛрдВ рдФрд░ рдирд╛рдордорд╛рддреНрд░ body_T_cam рдорд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рднреАред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ equidistant рдХреИрдорд░рд╛ рдЖрдВрддрд░рд┐рдХ рдЕрдВрд╢рд╛рдВрдХрди рдкрд░рд┐рдгрд╛рдо рд╡рд┐рд╢рд╛рд▓ рд╡рд┐рд░реВрдкрдг рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛ рд╣реИред

@engcang рдЖрдкрдХреЗ рд╕рдВрджреЗрд╢ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдкрд╣рд▓реЗ рд╣реА рдареАрдХ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЙрд╕ рдкрд░ рдХрд▓рд┐рдмреНрд░ рдЪрд▓рд╛рдирд╛ рд▓рдЧрднрдЧ рдмреЗрдХрд╛рд░ рд╣реИ, рдирд╣реАрдВ?
рдЬреИрд╕реЗ рд╣реА рдЙрдиреНрд╣реЗрдВ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╡рд┐рд░реВрдкрдг рднреА 0 рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

@marufino рдЖрдкрдХреЗ рд╕рдВрджреЗрд╢ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд-рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж, рдореИрдВ рдЗрд╕реЗ рдХрд▓ рдмрддрд╛ рджреВрдВрдЧрд╛

@FaboNo
рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЦрдмрд░? рдХреНрдпрд╛ рдЖрдкрдХреЛ рдпрд╣ рдХрд╛рдо рдорд┐рд▓рд╛?
рдореБрдЭреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ Intel D435i рдХреЗ рд╕рд╛рде VINS-Fusion (рд╕реНрдЯреАрд░рд┐рдпреЛ) рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХрд╛ рдореМрдХрд╛ рдорд┐рд▓рд╛ рдФрд░ рдпрджрд┐ рдЖрдк рдЕрднреА рддрдХ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдкрд░рд┐рдгрд╛рдо рдХреНрд▓рд┐рдк рдпрд╣рд╛рдВ рд╣реИред

@engcang рдореБрдЭреЗ рдЗрддрдиреА рджреЗрд░ рд╕реЗ рдЙрддреНрддрд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИред рдореИрдВрдиреЗ рд╡реАрдбрд┐рдпреЛ рджреЗрдЦрд╛ рдФрд░ рдпрд╣ рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА рд╣реИред рдЗрд╕рд▓рд┐рдП рдореЗрд░реЗ рдкрд╛рд╕ рдЖрдкрдХреЗ рд▓рд┐рдП рдХреБрдЫ рдкреНрд░рд╢реНрди рд╣реИрдВ, рдореБрдЦреНрдпрддрдГ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ PixHawk4 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИред

  • рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ IMU рд╕рдЯреАрдХрддрд╛ D435i рд╡рд╛рд▓реЗ рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИ?
  • рдЖрдк рдХрд┐рд╕ рдЖрд╡реГрддреНрддрд┐ рдкрд░ IMU рдбреЗрдЯрд╛ 100hz, 200hz рдкрдврд╝ рд░рд╣реЗ рд╣реИрдВ?
  • рдХреНрдпрд╛ рдЖрдкрдиреЗ PX4 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рдХреНрдпрд╛ рдЖрдкрдиреЗ рдбреЗрдЯрд╛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рд╡рд░реЛрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛? рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдореИрдВрдиреЗ PixHawk2 рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдпрд╣ рдЖрд╢реНрд╡рд╕реНрдд рдирд╣реАрдВ рдерд╛ рдФрд░ рдореИрдВ IMU рдЖрд╡реГрддреНрддрд┐ рдХреЛ 100Hz рд╕реЗ рдЕрдзрд┐рдХ рдмрдврд╝рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рдерд╛
    рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо!

@FaboNo рд╣рд╛рдпред

  • рд╣рд╛рдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ Pixhawk4 рдорд┐рдиреА рдореЗрдВ D435i рд╕реЗ рдмреЗрд╣рддрд░ IMU рд╣реИред рдХреНрдпреЛрдВрдХрд┐ рдкрд┐рдХреНрд╕рд╣реЙрдХ 4 рдорд┐рдиреА рджреЛ 6DOF IMU рдФрд░ рдПрдХ рдореИрдЧреНрдиреЗрдЯреЛрдореАрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ ROS рд╡рд┐рд╖рдп рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рддрд╛ рд╣реИ (рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП 100% рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдирдХреЗ рдкрд╛рд╕ рджреЛ IMU рд╣реИрдВ)ред
  • рдореИрдВрдиреЗ 100 рд╣рд░реНрдЯреНрдЬ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ред
  • рд╣рд╛рдВ, рдореИрдВрдиреЗ рдкреАрдПрдХреНрд╕4 рдФрд░ рдорд╛рд╡рд░реЛрд╕ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рд╣реИред рдореБрдЭреЗ рдпрд╛рдж рд╣реИ рдХрд┐ рдореИрдВ рд▓рдЧрднрдЧ 150Hz рдЕрдзрд┐рдХрддрдо рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдХрд╣реАрдВ рд╕реЗ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ IMU рдФрд░ рдХреИрдорд░рд╛ FPS рдХреЗ рд▓рд┐рдП 3:1 рдХрд╛ рдЕрдиреБрдкрд╛рдд VINS рдХреЗ рд▓рд┐рдП рдЗрд╖реНрдЯрддрдо рд╣реИред рд╣рдо рдЖрдорддреМрд░ рдкрд░ 30Hz рдХреИрдорд░рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ 100Hz рдЙрдЪрд┐рдд рд╣реИред

@engcang рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдкрдиреЗ imu рдкреИрд░рд╛рдореАрдЯрд░ рдорд╛рдиреЛрдВ рдХреЛ realsense_stereo_imu_config.yaml рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИ рдпрд╛ рдЙрдиреНрд╣реЗрдВ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд░рдЦрд╛ рд╣реИ?
рдореИрдВ рдлрд┐рд░ рднреА рдЖрдкрдХреЗ рд╕реЗрдЯрдЕрдк рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛

@FaboNo
рдирдорд╕реНрддреЗред рдЖрдорддреМрд░ рдкрд░, рдореИрдВ yaml рдлрд╝рд╛рдЗрд▓ рдореЗрдВ IMU рдкреИрд░рд╛рдореАрдЯрд░ рдирд╣реАрдВ рдмрджрд▓рддрд╛ред рдореИрдВрдиреЗ IMU рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рднреА рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдЬреИрд╕рд╛ рдХрд┐ рдореБрдЭреЗ Kalibr_allan рд╕реЗ рдорд┐рд▓рд╛ рд╣реИ,
рд╣рд╛рд▓рд╛рдБрдХрд┐ рдореИрдВ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмреЗрд╣рддрд░ рдкреНрд░рджрд░реНрд╢рди рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛ред

рдХреЗрд╡рд▓ рдЪреМрдЧреБрдиреА рд░реЛрдмреЛрдЯ рдЬреИрд╕реЗ рдкрд╛рдЧрд▓ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЬрдореАрди рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ 10 рдЧреБрдирд╛ рдмрдбрд╝рд╛ рдпрд╛ рдХрдо рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

andersk picture andersk  ┬╖  81рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

msheridan picture msheridan  ┬╖  20рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

iJ0N45 picture iJ0N45  ┬╖  42рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

oy picture oy  ┬╖  47рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

click picture click  ┬╖  51рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ