GithubHelp home page GithubHelp logo

Comments (4)

itzsid avatar itzsid commented on September 17, 2024 1

Correct. You can directly use the odometry measurements as EDGE_SE3 since they are already noisy. VERTEX_SE3 provides an initialization for the poses and you can initialize it using odometry too (similar to how you explained). This algorithm should be robust to bad initialization as well as long as you don't have outlier measurements.

Let me know if it's still not clear.

from distributed-mapper.

itzsid avatar itzsid commented on September 17, 2024

Hi @Quest2GM,

The edges in the synthetic dataset are simulated to be noisy to reflect the realistic conditions where odometry or communication measurements have errors. If you have perfect dx (without any noise), then you don't need to use this optimizer to find the most likely estimate.

Thanks!

from distributed-mapper.

Quest2GM avatar Quest2GM commented on September 17, 2024

Right, I understand that; maybe I should provide a little more context.

My robot provides odometry measurements in a ROS topic of type nav_msgs/Odometry. This topic provides the pose calculated through odometry, as well as the covariance matrix of the pose. These odometry measurements already have Gaussian noise added to them.

When adding a VERTEX_SE3 to the g2o file, I just use the pose outputted in the above topic. When adding an EDGE_SE3, I simply calculate dx (and the other values dy, dz, etc.) by subtracting the previous pose from the current pose. In that sense, my dx value is exactly equal to the subtraction of the two corresponding VERTEX nodes.

Is this the way you would do it, or would you need to compute the VERTEX or EDGE in a different way?

Thanks again,
Quest2GM

from distributed-mapper.

Quest2GM avatar Quest2GM commented on September 17, 2024

Perfect thanks!

from distributed-mapper.

Related Issues (10)

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.