Git Product home page Git Product logo

ob_gins's People

Contributors

ragdolloflj avatar thlsealight avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ob_gins's Issues

这是之前一位帅哥提出的issues,但是已经关闭了,我对这个问题也是不太理解,直接复制这个问题吧,可否有大佬解答一下?

请教关于文档中的noise, 与 vins之间的 noise单位上存在等价转换关系吗 , 对于系统有影响吗?
ob_gins:
arw: 0.24 # deg/sqrt(hr)
vrw: 0.24 # m/s/sqrt(hr)
gbstd: 50.0 # deg/hr
abstd: 250.0 # mGal
corrtime: 1.0 # hr
vins:
#imu parameters The more accurate parameters you provide, the better performance
acc_n: 0.1 # accelerometer measurement noise standard deviation.
gyr_n: 0.01 # gyroscope measurement noise standard deviation.
acc_w: 0.001 # accelerometer bias random work noise standard deviation.
gyr_w: 0.0001 # gyroscope bias random work noise standard deviation.

Can't finish build without 'findabsl.cmake'

First I build following instruction, while undergoing cmake step, error occurs like :
CMake Error at CMakeLists.txt:41 (find_package):
By not providing "Findabsl.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "absl", but
CMake did not find one.

Could not find a package configuration file provided by "absl" with any of
the following names:

 abslConfig.cmake
 absl-config.cmake

Add the installation prefix of "absl" to CMAKE_PREFIX_PATH or set

And I run ccmake .. to modify the path of absl to '/home/gary/Source/abseil-cpp/build/'
The ccmake .. dorp error as:

include could not find load file:

 /home/gary/Source/abseil-cpp/build/abslTargets.cmake

Call Stack (most recent call first):
CMakeLists.txt:38 (find_package)

源码中residualJacobianPose0,residualJacobianPose1是怎么得到的?

我照着论文,看了源码,主要是preintegration_earth.cc这个文件。但有不清楚的地方,请问residualJacobianPose0,residualJacobianPose1函数内的雅可比矩阵是怎么得到的?还有residualJacobianMix0及residualJacobianMix1内的矩阵。实在没看明白,冒昧请教,请不吝赐教,拜谢。

固定时间间隔的预积分因子

想请教下在没有gnss观测的时刻,为什么还要固定时间间隔的添加预积分因子?
在两个gnss观测之间,做一个预积分与做多个预积分有什么不同,有什么依据吗
没有gnss全局约束,单靠多个imu预积分不是有累积误差吗?

(Installation) make problem

I am trying to use the library however I run into this problem when using make, can anybody offer some help? Thank you!

__________$ make -j$(nproc)
[ 1%] Built target absl_civil_time
[ 2%] Built target absl_spinlock_wait
[ 3%] Built target absl_log_severity
[ 4%] Built target absl_raw_logging_internal
[ 5%] Built target absl_throw_delegate
[ 8%] Built target absl_base
[ 9%] Built target absl_int128
[ 11%] Built target absl_strings_internal
[ 18%] Built target absl_strings
[ 23%] Built target absl_time_zone
[ 26%] Built target absl_time
[ 30%] Built target absl_str_format_internal
[ 31%] Building CXX object CMakeFiles/ob_gins.dir/src/factors/pose_manifold.cc.o
In file included from ________/OB_GINS/src/factors/pose_manifold.cc:23:
________/OB_GINS/src/factors/pose_manifold.h:28:45: error: expected class-name before ‘{’ token
class PoseManifold : public ceres::Manifold {
^
________/OB_GINS/src/factors/pose_manifold.h:31:9: error: ‘int PoseManifold::AmbientSize() const’ marked ‘override’, but does not override
int AmbientSize() const override;
^~~~~~~~~~~
________/OB_GINS/src/factors/pose_manifold.h:32:9: error: ‘int PoseManifold::TangentSize() const’ marked ‘override’, but does not override
int TangentSize() const override;
^~~~~~~~~~~
________/OB_GINS/src/factors/pose_manifold.h:34:10: error: ‘bool PoseManifold::Plus(const double*, const double*, double*) const’ marked ‘override’, but does not override
bool Plus(const double x, const double delta, double x_plus_delta) const override;
^~~~
________/OB_GINS/src/factors/pose_manifold.h:35:10: error: ‘bool PoseManifold::PlusJacobian(const double
, double
) const’ marked ‘override’, but does not override
bool PlusJacobian(const double x, double jacobian) const override;
^~~~~~~~~~~~
________/OB_GINS/src/factors/pose_manifold.h:37:10: error: ‘bool PoseManifold::Minus(const double
, const double
, double
) const’ marked ‘override’, but does not override
bool Minus(const double *y, const double x, double y_minus_x) const override;
^~~~~
________/OB_GINS/src/factors/pose_manifold.h:38:10: error: ‘bool PoseManifold::MinusJacobian(const double
, double
) const’ marked ‘override’, but does not override
bool MinusJacobian(const double *x, double *jacobian) const override;
^~~~~~~~~~~~~
make[2]: *** [CMakeFiles/ob_gins.dir/build.make:63: CMakeFiles/ob_gins.dir/src/factors/pose_manifold.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:653: CMakeFiles/ob_gins.dir/all] Error 2
make: *** [Makefile:84: all] Error 2

运行时出现warning。该怎么修改呢

WARNING: Logging before InitGoogleLogging() is written to STDERR
W1206 14:23:07.306468 3990 preprocessor.cc:62] Specified options.num_threads: 4 exceeds maximum available from the threading model Ceres was compiled with: 2. Bounding to maximum number available.

warning

无法编译通过,出现错误

In file included from /home/YOng/Downloads/OB_GINS-main/src/ob_gins.cc:32:
/home/YOng/Downloads/OB_GINS-main/src/factors/pose_parameterization.h:30:44: error: invalid use of incomplete type ‘class ceres::LocalParameterization’
class PoseParameterization : public ceres::LocalParameterization {
^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/local/include/ceres/ceres.h:64,
from /home/YOng/Downloads/OB_GINS-main/src/factors/gnss_factor.h:27,
from /home/YOng/Downloads/OB_GINS-main/src/ob_gins.cc:30:
/usr/local/include/ceres/problem.h:56:7: note: forward declaration of ‘class ceres::LocalParameterization’
class LocalParameterization;
^~~~~~~~~~~~~~~~~~~~~
In file included from /home/YOng/Downloads/OB_GINS-main/src/ob_gins.cc:32:
/home/YOng/Downloads/OB_GINS-main/src/factors/pose_parameterization.h:35:10: error: ‘bool PoseParameterization::Plus(const double*, const double*, double*) const’ marked ‘override’, but does not override
bool Plus(const double x, const double delta, double x_plus_delta) const override {
^~~~
/home/YOng/Downloads/OB_GINS-main/src/factors/pose_parameterization.h:52:10: error: ‘bool PoseParameterization::ComputeJacobian(const double
, double
) const’ marked ‘override’, but does not override
bool ComputeJacobian(const double x, double jacobian) const override {
^~~~~~~~~~~~~~~
/home/YOng/Downloads/OB_GINS-main/src/factors/pose_parameterization.h:60:9: error: ‘int PoseParameterization::GlobalSize() const’ marked ‘override’, but does not override
int GlobalSize() const override {
^~~~~~~~~~
/home/YOng/Downloads/OB_GINS-main/src/factors/pose_parameterization.h:64:9: error: ‘int PoseParameterization::LocalSize() const’ marked ‘override’, but does not override
int LocalSize() const override {
^~~~~~~~~
/home/YOng/Downloads/OB_GINS-main/src/ob_gins.cc: In function ‘int main(int, char
)’:
/home/YOng/Downloads/OB_GINS-main/src/ob_gins.cc:311:95: error: cannot convert ‘PoseParameterization
’ to ‘ceres::LocalParameterization*’ in initialization
ceres::LocalParameterization parameterization = new (PoseParameterization);
^
/home/YOng/Downloads/OB_GINS-main/src/ob_gins.cc:313:63: error: no matching function for call to ‘ceres::Problem::AddParameterBlock(double [7], int, ceres::LocalParameterization
&)’
parameterization);
^
In file included from /usr/local/include/ceres/ceres.h:64,
from /home/YOng/Downloads/OB_GINS-main/src/factors/gnss_factor.h:27,
from /home/YOng/Downloads/OB_GINS-main/src/ob_gins.cc:30:
/usr/local/include/ceres/problem.h:261:8: note: candidate: ‘void ceres::Problem::AddParameterBlock(double*, int)’
void AddParameterBlock(double* values, int size);
^~~~~~~~~~~~~~~~~
/usr/local/include/ceres/problem.h:261:8: note: candidate expects 2 arguments, 3 provided
/usr/local/include/ceres/problem.h:274:8: note: candidate: ‘void ceres::Problem::AddParameterBlock(double*, int, ceres::Manifold*)’
void AddParameterBlock(double* values, int size, Manifold* manifold);
^~~~~~~~~~~~~~~~~
/usr/local/include/ceres/problem.h:274:8: note: no known conversion for argument 3 from ‘ceres::LocalParameterization*’ to ‘ceres::Manifold*’
make[2]: *** [CMakeFiles/ob_gins.dir/build.make:104:CMakeFiles/ob_gins.dir/src/ob_gins.cc.o] 错误 1
make[1]: *** [CMakeFiles/Makefile2:83:CMakeFiles/ob_gins.dir/all] 错误 2
make: *** [Makefile:91:all] 错误 2

请教关于文章中ekf好于图优化的问题

非常高兴学习这篇代码, 以下有三个问题想请教武大朋友们

  1. 请教关于图优化在网站中理论上是非常有利的
    http://www.i2nav.com/index/newListDetail_yw.do?newskind_id=f8990a24cf86440483d7821d9c2975c9&newsinfo_id=e8eee7a6c9314db5b69508f3b4539f33

exploring the Accuracy Potential of IMU Preintegration in Factor Graph Optimization 关于这篇文章中的比较
以ekf与m2相比, 似乎单纯在gnss-imu融合中, 基于优化的方式没有太多优势?

image

关于2020这篇文章的差异
https://www.mdpi.com/2072-4292/12/18/3048
这篇似乎推导更以vins为基础去补偿地球自转,柯次力等,
不过结果与exploring the Accuracy Potential of IMU Preintegration in Factor Graph Optimization稍有不同,
请教是定义上有不同,需要做什么样的调整,如旋转顺序,imu定义方向不同等

  1. 请教关于文档中的noise, 与 vins之间的 noise单位上存在等价转换关系吗 , 对于系统有影响吗?
    ob_gins:
    arw: 0.24 # deg/sqrt(hr)
    vrw: 0.24 # m/s/sqrt(hr)
    gbstd: 50.0 # deg/hr
    abstd: 250.0 # mGal
    corrtime: 1.0 # hr

vins:
#imu parameters The more accurate parameters you provide, the better performance
acc_n: 0.1 # accelerometer measurement noise standard deviation.
gyr_n: 0.01 # gyroscope measurement noise standard deviation.
acc_w: 0.001 # accelerometer bias random work noise standard deviation.
gyr_w: 0.0001 # gyroscope bias random work noise standard deviation.

数据问题

请问OB_GINS使用的IMU数据采集系统是东北天(ENU)坐标系,但是OB_GINS在实现的时候使用的导航坐标系是NED北东地坐标系,在程序中 我没有看到哪里存在转换 还是IMU数据采集本身就是NED北东地坐标系?

Question about dVel and dTheta sampling frequency

I have seen in many of your papers that icm20602 datasets are in 200hz. I would like to know the raw imu sampling freqency. is imu samples (eg 1000hz) are trapzoidql integrated to achieve dvel and dtheta. Or it is a simple devided by 200 to represent dtheta and devel?

FAILURE (Residual and Jacobain evaluation failed)

Hi,
I used OBGINS on my own dataset, but encountered the following problem. I don't know the reason and how to solve it.

image

I would appreciate if there is someone can help me.

This is my GNSS_RTK.pos:
image

And this my ADIS16465.txt:
image

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.