url-kaist / dynavins Goto Github PK
View Code? Open in Web Editor NEWDynaVINS : A Visual-Inertial SLAM for Dynamic Environments
License: GNU General Public License v3.0
DynaVINS : A Visual-Inertial SLAM for Dynamic Environments
License: GNU General Public License v3.0
since
**residual = sel * sqrt_info * reprojection_error,
so when calculating the jacobians about td, (jacobian_td)
assuming (reduce) has not multiplied by (sqrt_info) yet
it should be
**jacobian_td = sel * sqrt_info * ( reduce * ric.transpose() * Rj.transpose() * Ri * ric * velocity_i / inv_dep_i * -1.0 + velocity_j.head(2) )
(velocity_j.head(2)) should multiply by (sel * sqrt_info)
**sel * sqrt_info * velocity_j.head(2)
but in the code
**jacobian_td = sel * reduce * ric.transpose() * Rj.transpose() * Ri * ric * velocity_i / inv_dep_i * -1.0 + sqrt_info * velocity_j.head(2)
(sqrt_info * velocity_j.head(2)) has not multiplied by (sel) yet, why??
do I misunderstand anything?
if estimate_extrinsic =2 in config file, will it work like VINS mono or VINS fusion?
setting /run_id to aa40f6e2-4bc9-11ed-b6cc-39fbbb89194e
WARNING: Package name "dynaVINS" does not follow the naming conventions. It should start with a lower case letter and only contain lower case letters, digits, underscores, and dashes.
process[rosout-1]: started with pid [41566]
started core service [/rosout]
process[vins_estimator-2]: started with pid [41569]
process[rviz_dynaVINS-3]: started with pid [41573]
[ INFO] [1665756504.065368265]: init begins
config_file: /home/djx/dynavins_ws/src/dynaVINS-main/config/viode/calibration_mono.yaml
USE_IMU: 1←
IMU_TOPIC: /imu0
result path /home/seungwon/.ros/dynaVINS/vio.csv
[ WARN] [1665756504.071695999]: fix extrinsic param
camera number 1
[ INFO] [1665756504.072343587]: Synchronized sensors, fix time offset: 0
[ INFO] [1665756504.072363637]: ROW: 480 COL: 752
exitrinsic cam 0
0 0 1
1 0 0
0 1 0
0 0 0
set g 0 0 9.81007
[ INFO] [1665756504.072422199]: reading paramerter of camera /home/djx/dynavins_ws/src/dynaVINS-main/config/viode/cam0_pinhole.yaml
and then the process has died
[vins_estimator-2] process has died [pid 41569, exit code -11, cmd /home/djx/dynavins_ws/devel/lib/dynaVINS/vins_node /home/djx/dynavins_ws/src/dynaVINS-main/config/viode/calibration_mono.yaml __name:=vins_estimator __log:=/home/djx/.ros/log/aa40f6e2-4bc9-11ed-b6cc-39fbbb89194e/vins_estimator-2.log].
log file: /home/djx/.ros/log/aa40f6e2-4bc9-11ed-b6cc-39fbbb89194e/vins_estimator-2*.log
help me pls ! 3q.
This ideo is expired.
I have used VIODE datasets to test the dynaVINS, and got results as better as the paper write. However, when I use the Euroc datasets to test the dynaVINS, I find that, the dynaVINS cannot get a correct results, the results is not convergence. Have you tried other datasets except other open datasets except the paper used.
could you please provide the VIODE_Dataset groundtruth to me or any link to download?
Hi, I want to test your code but I don't know how to set the camera_models
package in workspace, should I specify in Cmakelist or try other way?
When I run in kitii data set, why are the weighted feature full of red dots?I modified config with reference to the mono file.
%YAML:1.0
#common parameters
imu: 1
num_of_cam: 1
imu_topic: "/imu_raw"
image0_topic: "/kitti/camera_gray_left/image_raw"
image1_topic: "/kitti/camera_gray_left/image_raw"
output_path: "/home/gzy/dynavins_ws/src/output/"
cam0_calib: "cam04-12.yaml"
cam1_calib: "cam04-12.yaml"
image_width: 1241
image_height: 376
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.
body_T_cam0: !!opencv-matrix
rows: 4
cols: 4
dt: d
data: [1, 0, 0, 0,
0, 1, 0, 0,
0, 0, 1, 0,
0, 0, 0, 1]
body_T_cam1: !!opencv-matrix
rows: 4
cols: 4
dt: d
data: [1, 0, 0, 0.537150653267924,
0, 1, 0, 0,
0, 0, 1, 0,
0, 0, 0, 1]
#Multiple thread support
multiple_thread: 4
#feature traker paprameters
max_cnt: 150 # max feature number in feature tracking
min_dist: 15 # 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: 2.0 # ransac threshold (pixel)
max_depth: 5.0 # max estimated depth (m)
show_track: 1 # publish tracking image as topic
show_image_feat_weight: 1
flow_back: 1 # perform forward and backward optical flow to improve feature tracking accuracy
#dynaVINS parameters
dyna_on: true # do not change it to false
regularization_lambda: 2.0
momentum_on: true
momentum_lambda: 0.2
alternating_converge: 0.9
margin_feature_thresh: 0.1
#optimization parameters
max_solver_time: 3 # max solver itration time (s), to guarantee real time
max_num_iterations: 10 # 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.02
gyr_w: 1.0e-4 # gyroscope bias random work noise standard deviation. #4.0e-5
g_norm: 9.81007 # gravity magnitude
#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)
Look forward to your advice
How do I run the actual scenario using Realsence D455? Need to do some configuration?
can u please help us in finding package camera_models
Hi, thanks for your great work!
But when I visit the link of Our dataset,I got an network error. Could you please upload Our dataset to GoogleDrive or OneDrive?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.