ut-amrl / vision_slam_frontend

SLAM frontend for a ground robot using vision and odometry
12 stars 3 forks source link

Questions #2

Closed soulslicer closed 3 years ago

soulslicer commented 3 years ago

Have 3 questions:

  1. I notice that there was a dependancy submodule (https://github.com/utamrl/amrl_shared_lib/tree/900bbc73891f6a48f03c742ebca3bb3db068b3b4). Are there any major components in there that are being used?

  2. Can you point where the GTSAM non linear opt stuff is being done in the code?

  3. I notice that in rviz, i can see the features, but they look quite sparse in the 2d Image. But the 3d points look very dense. Why is this? Also nothing is being drawn in the actual image itself in the executable.

https://drive.google.com/file/d/1LuJ4B1aMobkUkIajRBCsbeXY6IfN6coc/view?usp=sharing

  1. Is this work based on some paper published somewhere?
TheCynosure commented 3 years ago
  1. There is nothing super major in there. Just lots of helper functions for math and ros publishing. That library is open sourced though, so there shouldn't be any need to remove it. But if you are just thinking about understanding the code, then yes nothing critical is in there.
  2. So we don't do GTSAM but if you are reffering to a SLAM backend which does optimization and fuses multiple sensors (odometry and LiDAR in my case) then you will want to look here (https://github.com/ut-amrl/nautilus). The vision_slam_frontend project does not include a SLAM backend that does optimization because it is merely used to collect correspondences between stereo cameras and project an initial estimate into 3D space. This would then be fed into a backend. The backend built for this project is closed source because it is used for a graduate course. So you will have to figure out how to build that piece by looking at Nautilus (linked above) and this repository.
  3. In RViz I can see roughly 100 points in each frame. Each of these points will be projected into 3D space, so thats roughly 100 points being added every frame for what I think is a couple frames a second video (we don't use every video frame). The video itself is a couple minutes long if I remember correctly so it is expected that the pointcloud becomes quite dense.
  4. There is no paper for this work. It was just a project during my time in AMRL. There is more documentation on the Nautilus project and I would be happy to update it wherever needed. I also monitor this project now and can answer more questions if you have them.
soulslicer commented 3 years ago

Oh ic, but can I use the factor graph that was collected to solve the slam problem with GTSAM then?

TheCynosure commented 3 years ago

I mean I have never tried that, but if you could convert the data structures we use to something compatible with GTSAM then I don't see why not.