GithubHelp home page GithubHelp logo

stereo_inertial error about hyperslam HOT 6 CLOSED

vis4rob-lab avatar vis4rob-lab commented on September 26, 2024
stereo_inertial error

from hyperslam.

Comments (6)

WuZihao12 avatar WuZihao12 commented on September 26, 2024

Hi, can you run stereo-inertial mode correctly? I can't run it correctly

from hyperslam.

WuZihao12 avatar WuZihao12 commented on September 26, 2024

@zzwu29

from hyperslam.

zzwu29 avatar zzwu29 commented on September 26, 2024

Hi, can you run stereo-inertial mode correctly? I can't run it correctly

Sorry, I can't. If you have a method, please contact me.

from hyperslam.

JzHuai0108 avatar JzHuai0108 commented on September 26, 2024

I am grappling with the same problem. Have you folks conquer this pitfall?

from hyperslam.

ZzhYgwh avatar ZzhYgwh commented on September 26, 2024

I am also running the stereo + IMU version, but there is also an error, which seems to come from optimizer.cpp:

auto CeresOptimizer::updateSensor(IMU& /* imu /, const Range& / range */) -> void {
CHECK(false);
}

Backtracking this function, I can be found:

auto AbstractOptimizer::process(const InertialMeasurement& message) -> void {
// Fetch parameters.
const auto& stamp = message.stamp();
auto& imu = const_cast<IMU&>(message.sensor());

// Update gyroscope bias.
const auto& gyroscope_bias = imu.gyroscopeBias();
const auto& accelerometer_bias = imu.accelerometerBias();
if (gyroscope_bias.elements().empty() ||
accelerometer_bias.elements().empty() ||
!gyroscope_bias.range().contains(stamp) ||
!accelerometer_bias.range().contains(stamp)) {
updateSensor(imu, window_);
}
DCHECK(gyroscope_bias.range().contains(stamp));
DCHECK(accelerometer_bias.range().contains(stamp));

// Create observation and residual.
auto& observation = mutableEnvironment().addInertialMeasurement(message);
add(observation);
}

Although I haven't read the entire project file, I feel that this is the content of the IMU update, so I suspect that the current version of the code has not yet released the inertia content. The author should have left an interface, and the assertion failed when the interface was called, which may be the reason for the error.
I hope the author can open source this part. If the above statement is wrong, please correct it!

from hyperslam.

McEmzi avatar McEmzi commented on September 26, 2024

@ZzhYgwh is correct in assuming that the IMU support would have been added (or rather ported) in a future patch. Compared to its original internal version, HyperSLAM underwent extensive structural remodeling before its release, resulting in the sub-repositories now available on GitHub. However, development on HyperSLAM has largely been discontinued due to limited resources and manpower.

Attached, you will find the exact original version of HyperSLAM used for our evaluations (to the best of my knowledge). Please note, however, that its overall structure significantly differs from the publicly available version and is provided as is.

HyperDevelop-IROS2022.zip

In favor of further developing HyperSLAM, we shifted our focus to eliminating the associated complexity of spline residual evaluations altogether as well as implementing a distributed optimization framework. The soon-to-be-released Hyperion includes far superior auto-generated residual/cost implementations which you might find helpful to quickly develop a continuous-time pipeline tailored to your needs.

from hyperslam.

Related Issues (14)

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.