Git Product home page Git Product logo

Comments (20)

liqile avatar liqile commented on September 25, 2024

I know what's the reason now.
orbslam will use the velocity of last 2 frames, this influence may be remained after changing a direction, so I just remove the utilizing of velocity, and it works well.

from orb_slam.

Gingol avatar Gingol commented on September 25, 2024

Hi @liqile
I notice the same problem, can you tell me what kind of changes you done?

from orb_slam.

liqile avatar liqile commented on September 25, 2024

hi @Gingol
in the source file "Tracking.cc", you can find the function
void Tracking::GrabImage(const sensor_msgs::ImageConstPtr& msg)
on the line 229~236, you can find following code:

229: if(!mbMotionModel || mpMap->KeyFramesInMap()<4 || mVelocity.empty() || mCurrentFrame.mnId<mnLastRelocFrameId+2)
230: bOK = TrackPreviousFrame();
231: else
232: {
233: bOK = TrackWithMotionModel();
234: if(!bOK)
235: bOK = TrackPreviousFrame();
236: }
what I have done is that to change the code above to following:
bOK=TrackingPreviousFrame();

from orb_slam.

liqile avatar liqile commented on September 25, 2024

@Gingol
you can try to combine orb slam with imu, this may also deal with that problem

from orb_slam.

liqile avatar liqile commented on September 25, 2024

@Gingol do you have QQ?

from orb_slam.

Gingol avatar Gingol commented on September 25, 2024

@liqile

  1. I've tried to change the code like you said but it doesn't work. After a turning the distance between the poses of the camera in rviz are very small or in some cases it seems that the camera doesn't move at all.
  2. In our project we want to use only the camera.
  3. No I haven't QQ.

from orb_slam.

liqile avatar liqile commented on September 25, 2024

@Gingol what's the number of features in your proj.? I set the feature amount to 8000

from orb_slam.

Gingol avatar Gingol commented on September 25, 2024

@liqile I kept the default number 1000.
Can you tell me which camera and which lens you are using?

from orb_slam.

liqile avatar liqile commented on September 25, 2024

@Gingol
720 x 1280

from orb_slam.

liqile avatar liqile commented on September 25, 2024

@Gingol
can you give me your ros bag with the camera calibration?
[email protected]

from orb_slam.

liqile avatar liqile commented on September 25, 2024

@Gingol
I think you can use the camera on your iphone

from orb_slam.

Oblynx avatar Oblynx commented on September 25, 2024

Hello @liqile,
You mentioned combining Orbslam with an IMU. How do you propose to implement that, perhaps with a Kalman filter?

from orb_slam.

versatran01 avatar versatran01 commented on September 25, 2024

@Oblynx the easiest the approach would be to replace the constant velocity motion model with imu motion model.

from orb_slam.

mhkabir avatar mhkabir commented on September 25, 2024

@versatran01 Can you elaborate on how we can do that?
Would metric scale estimation be possible with such a approach?

from orb_slam.

shabhu18 avatar shabhu18 commented on September 25, 2024

I am also facing the same problem . Has anyone come up with a solution .I donot have the IMU in my case.

from orb_slam.

liqile avatar liqile commented on September 25, 2024

@shabhu18
hi, I think you can take utilization of a new camera. I used the camera on a xiaomi phone , and it worked well

from orb_slam.

versatran01 avatar versatran01 commented on September 25, 2024

@mhkabir To start with, you could just integrate the inter-frame gyro readings as the guess of inter-frame rotation. The accelerometer readings are probably too noisy to estimate translation.

from orb_slam.

haoanw avatar haoanw commented on September 25, 2024

@liqile hello, about your comment here:
#######
"in the source file "Tracking.cc", you can find the function
void Tracking::GrabImage(const sensor_msgs::ImageConstPtr& msg)
on the line 229~236, you can find following code:

229: if(!mbMotionModel || mpMap->KeyFramesInMap()<4 || mVelocity.empty() || mCurrentFrame.mnId<mnLastRelocFrameId+2)
230: bOK = TrackPreviousFrame();
231: else
232: {
233: bOK = TrackWithMotionModel();
234: if(!bOK)
235: bOK = TrackPreviousFrame();
236: }
what I have done is that to change the code above to following:
bOK=TrackingPreviousFrame(); "
#######

how did you observe this line was in charge of the model velocity? and how did this velocity been determined? could you please give me some hints? i still could't find out how the scale of map been calculated. thx

from orb_slam.

AlexandreBorowczyk avatar AlexandreBorowczyk commented on September 25, 2024

Hi @mhkabir, did you end up looking in to changing the velocity motion model? I've experimented the combinaition of ORB_SLAM with MSF but the results are still inconclusive.

from orb_slam.

mhkabir avatar mhkabir commented on September 25, 2024

@AlexandreBorowczyk No, I gave up on it. Rolled our own visual-inertial odometry system.

from orb_slam.

Related Issues (20)

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.