VINS-Fusion
VINS-Fusion یک تخمینگر حالت چند سنسوری مبتنی بر بهینهسازی است که به مکانیابی دقیق خود برای برنامههای مستقل (پهپادها، اتومبیلها و AR/VR) دست مییابد. VINS-Fusion توسعهای از VINS-Mono است که از چندین سنسور بصری-اینرسی (دوربین مونو + IMU، دوربینهای استریو + IMU، حتی فقط دوربینهای استریو) پشتیبانی میکند. ما همچنین یک نمونه اسباب بازی از ترکیب VINS با GPS را نشان می دهیم.
امکانات:
پشتیبانی از چندین سنسور (دوربین های استریو / دوربین تک + IMU / دوربین های استریو + IMU)
کالیبراسیون فضایی آنلاین (تبدیل بین دوربین و IMU)
کالیبراسیون زمانی آنلاین (تغییر زمان بین دوربین و IMU)
بسته شدن حلقه بصری
مقاله مرتبط:
کالیبراسیون زمانی آنلاین برای سیستمهای بصری-اینرسی تکچشمی، Tong Qin, Shaojie Shen, IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS, 2018)
VINS-Mono: یک تخمینگر حالت بصری-اینرسی تکچشمی قوی و همهکاره، Tong Qin, Peiliang Li, Shaojie Shen, IEEE Transactions on Robotics
پیش نیازها
اوبونتو و ROS
اوبونتو 64 بیتی 16.04 یا 18.04. ROS جنبشی یا ملودیک. نصب ROS
1.2. حل کننده سرس
نصب سرس را دنبال کنید.
ساخت VINS-Fusion
Repository و catkin_make را کلون کنید:
cd ~/catkin_ws/src
git clone https://github.com/HKUST-Aerial-Robotics/VINS-Fusion.git
cd ../
catkin_make
source ~/catkin_ws/devel/setup.bash
(اگر در این مرحله شکست خوردید، سعی کنید کامپیوتر دیگری با سیستم پاک پیدا کنید یا اوبونتو و ROS را دوباره نصب کنید)
EuRoC مثال
EuRoC MAV Dataset را در YOUR_DATASET_FOLDER دانلود کنید. برای مثال MH_01 را در نظر بگیرید، میتوانید VINS-Fusion را با سه نوع سنسور (دوربین تک چشمی + IMU، دوربینهای استریو + IMU و دوربینهای استریو) اجرا کنید. چهار پایانه را باز کنید، vins odometry، بصری حلقه بسته (اختیاری)، rviz و پخش فایل کیف را به ترتیب اجرا کنید. مسیر سبز، کیلومتر شماری VIO است. مسیر قرمز، کیلومتر شماری تحت بسته شدن حلقه بصری است.
دوربین Monocualr + IMU
roslaunch vins vins_rviz.launch
rosrun vins vins_node ~/catkin_ws/src/VINS-Fusion/config/euroc/euroc_mono_imu_config.yaml
(optional) rosrun loop_fusion loop_fusion_node ~/catkin_ws/src/VINS-Fusion/config/euroc/euroc_mono_imu_config.yaml
rosbag play YOUR_DATASET_FOLDER/MH_01_easy.bag
دوربین های استریو + IMU
roslaunch vins vins_rviz.launch
rosrun vins vins_node ~/catkin_ws/src/VINS-Fusion/config/euroc/euroc_stereo_imu_config.yaml
(optional) rosrun loop_fusion loop_fusion_node ~/catkin_ws/src/VINS-Fusion/config/euroc/euroc_stereo_imu_config.yaml
rosbag play YOUR_DATASET_FOLDER/MH_01_easy.bag
دوربین های استریو
roslaunch vins vins_rviz.launch
rosrun vins vins_node ~/catkin_ws/src/VINS-Fusion/config/euroc/euroc_stereo_config.yaml
(optional) rosrun loop_fusion loop_fusion_node ~/catkin_ws/src/VINS-Fusion/config/euroc/euroc_stereo_config.yaml
rosbag play YOUR_DATASET_FOLDER/MH_01_easy.bag
مثال KITTI
KITTI Odometry (استریو)
مجموعه داده KITTI Odometry را در YOUR_DATASET_FOLDER دانلود کنید. دنباله های 00 را برای مثال در نظر بگیرید، دو ترمینال را باز کنید، به ترتیب vins و rviz را اجرا کنید. (ما کیلومتر سنجی را بر اساس معیار KITTI بدون تابع بسته شدن حلقه ارزیابی کردیم)
roslaunch vins vins_rviz.launch
(optional) rosrun loop_fusion loop_fusion_node ~/catkin_ws/src/VINS-Fusion/config/kitti_odom/kitti_config00-02.yaml
rosrun vins kitti_odom_test ~/catkin_ws/src/VINS-Fusion/config/kitti_odom/kitti_config00-02.yaml YOUR_DATASET_FOLDER/sequences/00/
KITTI GPS Fusion (استریو + GPS)
مجموعه داده خام KITTI را در YOUR_DATASET_FOLDER دانلود کنید. برای مثال 2011_10_03_drive_0027_synced را در نظر بگیرید. به ترتیب سه ترمینال، اجرای vins، global fusion و rviz را باز کنید. مسیر سبز، کیلومتر شماری VIO است. مسیر آبی، کیلومتر شماری تحت فیوژن جهانی GPS است.
roslaunch vins vins_rviz.launch
rosrun vins kitti_gps_test ~/catkin_ws/src/VINS-Fusion/config/kitti_raw/kitti_10_03_config.yaml YOUR_DATASET_FOLDER/2011_10_03_drive_0027_sync/
rosrun global_fusion global_fusion_node
VINS-Fusion در نمایش خودرو
car bag را در YOUR_DATASET_FOLDER دانلود کنید. چهار ترمینال را باز کنید، visual loop closure، visual loop closure (اختیاری)، rviz و فایل bag را به ترتیب اجرا کنید. مسیر سبز، VIO odometry است. مسیر قرمز، odometry تحت visual loop closure است.
roslaunch vins vins_rviz.launch
rosrun vins vins_node ~/catkin_ws/src/VINS-Fusion/config/vi_car/vi_car.yaml
(optional) rosrun loop_fusion loop_fusion_node ~/catkin_ws/src/VINS-Fusion/config/vi_car/vi_car.yaml
rosbag play YOUR_DATASET_FOLDER/car.bag
در دستگاه های خود اجرا کنید
VIO نه تنها یک الگوریتم نرم افزاری است، بلکه به شدت به کیفیت سخت افزار متکی است. برای مبتدیان توصیه می کنیم VIO را با تجهیزات حرفه ای اجرا کنید که شامل دوربین های شاتر جهانی و همگام سازی سخت افزاری است.
فایل پیکربندی
یک فایل پیکربندی برای دستگاه خود بنویسید. می توانید فایل های پیکربندی EuRoC و KITTI را به عنوان مثال در نظر بگیرید.
کالیبراسیون دوربین
VINS-Fusion از چندین مدل دوربین (pinhole، mei، equidistant) پشتیبانی می کند. می توانید از مدل دوربین برای کالیبره کردن دوربین های خود استفاده کنید. ما چند نمونه از داده ها را در /camera_models/calibrationdata قرار می دهیم تا به شما بگوییم چگونه کالیبره کنید.
cd ~/catkin_ws/src/VINS-Fusion/camera_models/camera_calib_example/
rosrun camera_models Calibrations -w 12 -h 8 -s 80 -i calibrationdata --camera-model pinhole
شامل فایل کامل شبیه سازی اوبونتو و مقالات پایه
نقد و بررسیها
هیچ دیدگاهی برای این محصول نوشته نشده است.