Coder Social home page Coder Social logo

Dead reckoning with a MiR100 about mir_robot HOT 6 CLOSED

rsr152 avatar rsr152 commented on July 20, 2024
Dead reckoning with a MiR100

from mir_robot.

Comments (6)

mintar avatar mintar commented on July 20, 2024

You can use tf to get the transform from the "map" frame to the "base_footprint" frame. This is the result of the AMCL localization (i.e., the sensor fusion from laser scanners, IMU and odometry). This is what the MiR uses internally as well. You don't need to do any fusion with the /odom topic yourself, since it's already included.

from mir_robot.

rsr152 avatar rsr152 commented on July 20, 2024

Thanks, @mintar. I will give that a shot.
Really appreciate your help!

from mir_robot.

rsr152 avatar rsr152 commented on July 20, 2024

I started exploring the use of tf but wanted to get more input on whether it would help at all with better estimation of robot pose in a situation where I want to use dead reckoning to get to a target pose (using only encoder feedback, no camera feedback).

I am currently extracting the current pose of the MiR using an API call and guide it to its target pose (assuming a target pose such as a waypoint has been defined earlier). All these coordinates (x, y, theta) and (xtarget, ytarget, thetatarget) are in the "map" frame. If the robot is "suffering" from encoder errors, I feel using tf will not help overcome these. There will be a need to capture feedback from other sensors like an overhead camera, or the onboard camera (which I have not leveraged yet).

Am I missing something? The encoder errors are something we have to live with, right?
Is there any way to adjust for it? Appreciate your thoughts...

from mir_robot.

mintar avatar mintar commented on July 20, 2024

As I said, the tf pose (which should be the same that you get from the MiR via an API call) already contains a sensor fusion between odometry (= encoders), IMU and laser scanners. If you have a normal amount of encoder slip and IMU drift, this is usually corrected by referencing the laser scans to the recorded map. The onboard camera is not useful for localization, since it is pointed downwards to the floor. If you get a lot of localization errors, I would recommend re-recording the map; this usually helps. If you have a highly dynamic environment, where the map changes drastically all the time, you might have to integrate an external positioning system.

from mir_robot.

rsr152 avatar rsr152 commented on July 20, 2024

Thanks a lot for the suggestions. This is working well for now!

from mir_robot.

stevemartinov avatar stevemartinov commented on July 20, 2024

@mintar I think you need to read the question a bit more careful before replying with the same comment as you replied before.

@rsr152 Yes, that is how AMRs perform the last meter drive in. You first use AMCL to navigate to some pose then when you have arrived, you can turn off the AMCL and slowly give commands directly to the motor controllers to move forward/backward X meters. 1 meter is nothing for wheel encoders and you will probably get mm accuracy

from mir_robot.

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.