Coder Social home page Coder Social logo

msckf_mono's People

Contributors

jeffdelmerico avatar k-chaney avatar volcanoh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

msckf_mono's Issues

How to run this code?

Hi,

I am using the EuRoC dataset. I build the code on ROS kinetic on Ubuntu 16.04. I ran the exact code line which appears in the README file. However, after only two IMU callbacks, the data of my IMU is nan and 0.. I already checked my dataset and it is not empty. Please, does someone see what is going on here?
Thank you

test

Can the algorithm pass the Euroc datasets as a mono vio?

Missing Headerfile?

Currently receive an error in building the package due to a missing header file known as: "StageTiming.h"?

Is this due to missing a dependency? Or was the header file just not pushed, yet?

Recommend euroc parameter settings?

Hi
I tested the ros code on euroc with the default euroc.launch, however i cant achieve the results as shown in ICRA18_Delmerico.pdf.
I wonder if there is another recommend parameter settings for euroc?
Thanks for sharing the code.
Best wishes.

how gyro aid klt track?

in track_features function, we call calcOpticalFlowPyrLK for klt track, but the flag parameter default 0 is there an error? moreover in main loop, i think there has no difference between undistorted_pts and undistorted_prev_pts, so what the meaning?

output

how do i access the output? i'd like to plot out the pose data in matlab or something similar

How do I use other personal dataset using this code?

I want to use my personal dataset instead of asl_dataset throughout this code. I make the same format like other asl_dataset like euroc folder > demo folder(I created) > mav0 folder > cam0, cam1, imu0, pointcloud0, state_groundtruth_estimate0, vincon0, body.yaml , and I saved many image png files, which names are time stamp (nsec) from android phone camera in cam0 folder, and made data.csv files in imu folder. I set all the same with asl_dataset. However, when I run this pkg, I cannot see anything in rviz, and there are no error on console. How can I solve this problem?

rk implementation

Hi, I would like to know how you exactly implement the propogateImuStateRK method? its not the usual RK4, and I can not find any documentation on it, can you please tell any document I can refer to? Thank you very much.

build ,can't find libvtkproj4

make[2]: *** No rule to make target '/usr/lib/x86_64-linux-gnu/libvtkproj4-6.2.so.6.2.0', needed by '/home/xinzi/catkin_msckf/devel/lib/libmsckf_mono.so'. Stop.

make[2]: *** No rule to make target '/usr/lib/x86_64-linux-gnu/libvtkproj4-6.2.so.6.2.0', needed by '/home/xinzi/catkin_msckf/devel/lib/libmsckf_mono.so'. Stop.
make[2]: *** Waiting for unfinished jobs....
[ 57%] Built target msckf_mono_generate_messages_lisp
[ 60%] Generating Python from MSG msckf_mono/CamStates
[ 64%] Generating C++ code from msckf_mono/CamStates.msg
[ 64%] Built target msckf_mono_generate_messages_nodejs
[ 67%] Generating Python msg init.py for msckf_mono
[ 67%] Built target msckf_mono_generate_messages_cpp
[ 67%] Built target msckf_mono_generate_messages_py
[ 67%] Built target msckf_mono_generate_messages_eus
Scanning dependencies of target msckf_mono_generate_messages
[ 67%] Built target msckf_mono_generate_messages
CMakeFiles/Makefile2:3226: recipe for target 'msckf_mono/CMakeFiles/msckf_mono.dir/all' failed
make[1]: *** [msckf_mono/CMakeFiles/msckf_mono.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j8 -l8" failed

Using kitti dataset, I have some problem.

Thank you for sharing your code.

I have a issue.

I tried to run EUROC data --> working well!!!
I tried to run kitti unsynch data --> working well!!
But, when I tired to run kitti synch data --> trajectory can not follow GT(Ground truth).

Kitti synch data has image and IMU data at same timestamp. Both of them have 10Hz time.

So, I have some question,
If the data time between IMU and image is same, it means if the imu data does not many then image data, MSCKF can be fail?

OpenCV and C++ version

Hi,

I'm trying o run the code on visual studio and having some trouble..
I think the visual studio 2013 is not compatible with al the C++ features that are used in your code. could this be true?

in addition could you please specify what openCV version should I use?

thanks a lot,
shelef

Why you choose SPQR as the QR solver?

Hello:
In Mourikis's paper, he says givens rotation is a convenient and "can be computed efficiently" solution. When I debug a mono version of msckf, I find the H matrix is not very sparse. Is the H matrix in your code sparse or you find this method is faster than givens rotation?

MSCKF::marginalize wrong index in p_f_G_vec ?

I saw an out of bounds crash while running in Debug mode.

In msckf.h line 419 assumes that feature_tracks_to_residualize_[iter]
corresponds to p_f_G_vec[iter]

However, the loop in line 352, which push_backs to p_f_G_vec
has a continue instruction in line 358, which skips the push_back,
So the this might be false

It also seems that p_f_G_vec is not needed at all, because line 370 saves the p_f_G inside
the track itself (if it is valid)

(current commit d51c9ee)

divergence when no ground truth

Hello,
First thank you for sharing this superb work with us. I have a problem concerning the initialization, it seems very important since it is the only thing which differs between the with ground truth ( asl_msckf node) and no ground truth version (asl_msckf_no_ground_truth node ) which both use the same model coded in msckf.h.
Unfortunately if I run for example
roslaunch msckf_mono asl_msckf_with_gt.launch stand_still_end:=1403636587663555584. data_set_path:="/home/ubuntu/catkin_ws/src/msckf_mono/euroc/MH_01_easy/mav0" stand_still_start:=1403636579763555584.

and

roslaunch msckf_mono asl_msckf_with_gt.launch stand_still_end:=1403636587663555584. data_set_path:="/home/ubuntu/catkin_ws/src/msckf_mono/euroc/MH_01_easy/mav0" stand_still_start:=1403636579763555584.

which used the same data but one with and one without the ground truth to initialize, we have on rviz vizualization the no ground truth position leaving to an infite position.
Do you have any explanation to this?
Thank you very much,

How to work without Ground Truth?

I collected bag file using husky and I have image and imu message. But I do not have the ground truth. I can dump the bag file in ASL format but the code seems to require ground truth. I do not need the absolute position of the robot in world coordinate frame. I only need the relative position of the camera from the starting point.

Is there any workaround or already implemented code? Do I need to write my own wrapper?

std::vector should use Eigen::aligned_allocator

It seems that std::vector of msckf_mono::camState should use Eigen::aligned_allocator

for example in class MSCKF
std::vector<camState<_S>> cam_states_;
The same issue for
std::vector<std::tuple<double, imuReading<float>>> imu_queue_;
in class RosInterface

Information of the parameters on the launch file

Hi, thanks for publishing this code source. I have a query on the parameters that are used in the launch file.
I'm using the euroc.launch file and edited it to use it for my data set.

<param name="imu_covars/p_init" value="1e-12"/>
<param name="imu_covars/q_init" value="1e-5"/>
<param name="imu_covars/v_init" value="1e-2"/>
<param name="imu_covars/ba_init" value="1e-2"/>
<param name="imu_covars/bg_init" value="1e-2"/>

May I know how the above values are determined for the algorithm ? Are they obtained from the IMU calibration done offline ? Please provide your feedback on it. Thanks a lot.

missing StageTiming.h

Currently receive an error in building the package due to a missing header file known as: "StageTiming.h"?

Is this due to missing a dependency? Or was the header file just not pushed, yet?

doc for 2 points ransac

Do you have doc for 2 points ransac?

And I think this code does not work with the latest commit, in which you add 2 points ransac back.

It is easy to verify that your inputs to twoPointRansac are already normalized points. But inside twoPointRansac you still treat them as pixels.

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.