Giter Club home page Giter Club logo

Comments (12)

ForLoveandPeace avatar ForLoveandPeace commented on August 30, 2024 1

Hi, I have tried it and it worked well. Maybe you need to check the config of euroc.

from dynavins.

lihanlun avatar lihanlun commented on August 30, 2024 1

Problem solved! I replace the yaml "cam0_pinhole.yaml" and "cam1_pinhole.yaml" with "cam0_mei.yaml" and "cam0_mei.yaml", it work and output the right trajectory! I dont know why "cam0_pinhole.yaml" and "cam1_pinhole.yaml" are not work, but glad this code can work with "cam0_mei.yaml" and "cam0_mei.yaml"! Thank you for share this code very much! 图片

I have tried this method,but the result is still wrose than vins-fusion. Have you evaluated the results on Euroc datasets.

from dynavins.

lihanlun avatar lihanlun commented on August 30, 2024

I have checked it, and can not find the problem. My euroc config file as flows, could you help me check it?

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.

body_T_cam0: !!opencv-matrix
rows: 4
cols: 4
dt: d
data: [0.0148655429818, -0.999880929698, 0.00414029679422, -0.0216401454975,
0.999557249008, 0.0149672133247, 0.025715529948, -0.064676986768,
-0.0257744366974, 0.00375618835797, 0.999660727178, 0.00981073058949,
0.0, 0.0, 0.0, 1.0]

body_T_cam1: !!opencv-matrix
rows: 4
cols: 4
dt: d
data: [0.0125552670891, -0.999755099723, 0.0182237714554, -0.0198435579556,
0.999598781151, 0.0130119051815, 0.0251588363115, 0.0453689425024,
-0.0253898008918, 0.0179005838253, 0.999517347078, 0.00786212447038,
0.0, 0.0, 0.0, 1.0]

#Multiple thread support
multiple_thread: 1

#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: 10.0 # max estimated depth (m)
show_track: 1
show_image_feat_weight: 1

publish tracking image as topic

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: 0.3 # max solver itration time (ms), 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.2 # accelerometer measurement noise standard deviation.
gyr_n: 0.05 # gyroscope measurement noise standard deviation.
acc_w: 0.02 # accelerometer bias random work noise standard deviation.
gyr_w: 4.0e-5 # gyroscope bias random work noise standard deviation.
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)

from dynavins.

lihanlun avatar lihanlun commented on August 30, 2024

cam0 config file as fellows:
model_type: PINHOLE
camera_name: camera
image_width: 752
image_height: 480
distortion_parameters:
k1: -2.9545645106987750e-01
k2: 8.6623215640186171e-02
p1: 2.0132892276082517e-06
p2: 1.3924531371276508e-05
projection_parameters:
fx: 4.6115862106007575e+02
fy: 4.5975286598073296e+02
cx: 3.6265929181685937e+02
cy: 2.4852105668448124e+02

from dynavins.

lihanlun avatar lihanlun commented on August 30, 2024

cam1 config file as fellows:
model_type: PINHOLE
camera_name: camera
image_width: 752
image_height: 480
distortion_parameters:
k1: -2.9294124381930947e-01
k2: 8.4798002331543665e-02
p1: -2.9984646536002372e-04
p2: 3.0028216325237329e-04
projection_parameters:
fx: 4.6009781682258682e+02
fy: 4.5890983492218902e+02
cx: 3.7314916359808268e+02
cy: 2.5440734973672119e+02

from dynavins.

lihanlun avatar lihanlun commented on August 30, 2024

Or, Could you share your euroc config files?

from dynavins.

ForLoveandPeace avatar ForLoveandPeace commented on August 30, 2024

I have used evo to evaluate dynaVINS on Machine Hall dataset. As result, VINS-Fusion's performance is better than dynaVINS's.
Actually, your config file is almost same with mine. Could you show more information about the error?

from dynavins.

lihanlun avatar lihanlun commented on August 30, 2024

Thank you for your share information. When I use euroc MH01, at the beginning it is OK, then show the wrong traj ( traj as straight line). Now I find that, I should change some code:
while(costDiff<DYN_ALT_CONV && iteration<5)
{
optimizeVIO(true,costDiff);
optimizeVIO(false,costDiff);
std::cout<<"COSTDIFF:"<<costDiff<<std::endl;
iteration++;
}
To

while(costDiff<DYN_ALT_CONV && iteration<5)
{
optimizeVIO(false,costDiff);
optimizeVIO(true,costDiff);
std::cout<<"COSTDIFF:"<<costDiff<<std::endl;
iteration++;
}

It can get a correct traj, but worse than vins-fusion.

from dynavins.

lihanlun avatar lihanlun commented on August 30, 2024

I think the code should fix feature_weight first then fix others and optimize feature_weight. A very big problem is that the results get worse.

from dynavins.

zhipengak avatar zhipengak commented on August 30, 2024

I have the same problem, DynaVins can't get the reasonable result with Euroc dataset.
Also I try it with my dataset I acquired from my chassis, bad trajectory I got.
But both Euroc dataset and my dataset I can run well in VINS-fusions!

from dynavins.

ForLoveandPeace avatar ForLoveandPeace commented on August 30, 2024

I have the same problem, DynaVins can't get the reasonable result with Euroc dataset.
Also I try it with my dataset I acquired from my chassis, bad trajectory I got.
But both Euroc dataset and my dataset I can run well in VINS-fusions!

Hi, could you show more details? Thanks!

from dynavins.

zhipengak avatar zhipengak commented on August 30, 2024

Problem solved!
I replace the yaml "cam0_pinhole.yaml" and "cam1_pinhole.yaml" with "cam0_mei.yaml" and "cam0_mei.yaml", it work and output the right trajectory! I dont know why "cam0_pinhole.yaml" and "cam1_pinhole.yaml" are not work, but glad this code can work with "cam0_mei.yaml" and "cam0_mei.yaml"!
Thank you for share this code very much!
图片

from dynavins.

Related Issues (14)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.