i2nav-whu / ic-gvins Goto Github PK
View Code? Open in Web Editor NEWA Robust, Real-time, INS-Centric GNSS-Visual-Inertial Navigation System
License: GNU General Public License v3.0
A Robust, Real-time, INS-Centric GNSS-Visual-Inertial Navigation System
License: GNU General Public License v3.0
打开了百度网盘 urban38链接,但是链接里面的内容没有bag文件但是有几个zip压缩文件,请告诉下如何使用数据集,多谢!
could you tell me how to solve this problem?
And the following is my gvins.yaml:
outputpath: "/home/liuyong/gvins_ws/result/"
is_make_outputdir: true
initlength: 1
imudatarate: 200
iswithearth: true
#antlever: [-0.37, 0.008, 0.353]
antlever: [-0.52, 0.000, 0.000]
imumodel:
arw: 0.00015641921981365443
vrw: 0.0007853161973805388
gbstd: 5.837129494278657e-05
abstd: 3.2064659601889169e-04
corrtime: 1.0 # hr
isusegnssoutage: false
#gnssoutagetime: 0
gnssoutagetime: 364461.5
gnssthreshold: 20
is_use_visualization: true
track_check_histogram: false # 直方图检查, 避免出现光照变化较大的图像 (Check histogram for drastic illumulation change)
track_min_parallax: 20 # 关键帧最小像素视差 (The minmum parallax in pixels to choose a keyframe)
track_max_interval: 0.5 # 最大的关键帧间隔, 超过则插入观测帧, s (The maximum lenght to choose a observation frame)
track_max_features: 200 # 最大提取特征数量 (The maximum features to detect, may be more or less, see tracking.cc)
reprojection_error_std: 1.5 # 像素重投影误差 (The reprojection error std for optimizition and outlier culling)
optimize_windows_size: 10 # 滑动窗口大小 (The size of the sliding window, number of the keyframes )
optimize_num_iterations: 20 # 优化迭代次数 (The iterations in total)
optimize_estimate_extrinsic: true # 是否估计相机和IMU的外参 (Estimate the extrinsic)
optimize_estimate_td: true # 否估计相机和IMU之间的时间间隔 (Estimate the time delay)
cam0:
# 内参 [fx, fy, cx, cy(, skew)]
# Intrinsic parameters, pinhole model
#intrinsic: [787.1611861559479, 787.3928431375225, 664.4061078354368, 519.5129292754456]
intrinsic: [519.1029197155882, 515.6197310158666, 337.4581737211765, 246.2314274977031]
# 畸变参数 [k1, k2, p1, p2(, k3)]
# Distortion parameters
#distortion: [-0.0917403092279957, 0.08134715036932794, 0.00017620136958692255, 0.00016737385248865412]
distortion: [-0.015230266432204792, -0.014585751011126085, 0.004316174021897651, 0.005858538434865227]
# 图像分辨率
# Resolution
#resolution: [1278, 1022]
resolution: [640, 480]
# 相机IMU外参 (Camera-IMU extrinsic)
# Pb = q_b_c * Pc + t_b_c
# q (x, y, z, w)
#q_b_c: [0.497766, 0.502679, 0.501396, 0.498141]
#t_b_c: [0.074, -0.030, 0.128]
q_b_c: [0.498, 0.502, 0.501, 0.498]
t_b_c: [-0.088, -4.668, 0.148]
# IMU和相机时间延时 (The time delay between the IMU and camera)
# t_i = t_c + td
#td_b_c: 0.0
td_b_c: -0.005256070059517965
Excuse me, how did you get the ground truth file for the urban38 and urban39 data sets you used? I didn't find the standard translation + rotation quaternion ground truth file in this link:https://sites.google.com/view/complex-urban-dataset/format#h.o7j0to6pss89? What if I want to get ground truth value using imu+ camera + wheel speed meter?
Thank you very much.
你好!近期在运行贵校开源的IC-GVINS时,原有urban38数据集可以实现,但我们采用自己采集的数据集时,出现了三个问题。虽然已经初步了解了基本源码,但依旧没有找到问题所在,故望请指导。
-下方是所用的配置文件,外参已修改,imu坐标系也调整过:
syl_ic_gvins.txt
在你们的KF-GINS中,你们的原始数据是线速度和角速度增量,在这个中我们的IMU测量出来的数据是加速度计的加速度,陀螺仪的角速度,我想知道怎么转换为你们的增量的呢?直接时间间隔乘加速度?
GPS的接收后,得到的是上一次请求的结果,如何推导至当前时刻呢
尊敬的作者,你好!经过您的指导,我们修改了初始化速度阈值(0.5m/s->0.2m/s)和imu噪声参数(imu参数如下)。
imumodel:
arw: 0.9179
vrw: 0.6720
gbstd: 25.8421
abstd: 27.3610
corrtime: 1.0
实验结果与真值有了很好的重合度(此路段全线为Opensky开阔环境)。如下图所示:且没有任何ERROR信息和重要的WARNNING信息出现
但依旧有三个小问题,想咨询您的意见
1.在某些机动过程中,如下图车辆进行了掉头(此路段对应于上图左下角),IC-GVINS估计的轨迹出现了锯齿状,想知道此现象发生的原因和有无对应的解决方法。
2.在某些路段,IC-GVINS估计的高度(Z轴位置)发生了较大的误差,想知道此现象发生的原因和有无对应的解决方法。
3.上述所有结果,均在imu和相机外参估计关闭后跑出的,因为我们发现,在我们的数据集中,如果开启估计,误差将会较大。且会报告ERROR信息,错误信息如下方第三张图所示。
万分感谢作者百忙之中给予回复!下方为我们所用的配置文件。
ic_gvins_yaml.txt
您好,我使用您提供的数据集都可以跑通,但是使用kaist urban39自己制作的的rosbag,会出现错误,
1)使用gps_fix会报错,这里我发现gps_fix数据是5hz的
OpenCV Error: Assertion failed (0 <= _colRange.start && _colRange.start <= _colRange.end && _colRange.end <= m.cols) in Mat, file /build/opencv-L2vuMj/opencv-3.2.0+dfsg/modules/core/src/matrix.cpp, line 491
terminate called after throwing an instance of 'cv::Exception'
what(): /build/opencv-L2vuMj/opencv-3.2.0+dfsg/modules/core/src/matrix.cpp:491: error: (-215) 0 <= _colRange.start && _colRange.start <= _colRange.end && _colRange.end <= m.cols in function Mat
[ic_gvins_node-2] process has died [pid 7090, exit code -6, cmd /home/lingyue/gvins_ws/devel/lib/ic_gvins/ic_gvins_ros __name:=ic_gvins_node __log:=/home/lingyue/.ros/log/255db9e4-4d7e-11ee-b091-f48e38f96320/ic_gvins_node-2.log].
log file: /home/lingyue/.ros/log/255db9e4-4d7e-11ee-b091-f48e38f96320/ic_gvins_node-2*.log
2)将rtk的数据转换成sensor_msgs/NavSatFix之后,终端会循环打印
I0907 21:05:11.355453 7636 fusion_ros.cc:232] Raw data time 367215.615833, 0.000000, 367215.613807
但是rviz里是没有反应的,同时我发现kaist的imu数据可能是前左上的,我想咨询一下如何正确地使用kaist的数据
如题
执行roslaunch时出错:
roslaunch ic_gvins ic_gvins.launch configfile:=/work/vision/vio/IC-GVINS-data/campus/IC-GVINS/gvins.yaml
下面是错误信息:
ERROR: cannot launch node of type [tf2_ros/static_transform_publisher]: tf2_ros
ROS path [0]=/opt/ros/noetic/share/ros
ROS path [1]=/work/vision/vio/gvins_ws/src
ROS path [2]=/opt/ros/noetic/share
ERROR: cannot launch node of type [rviz/rviz]: rviz
ROS path [0]=/opt/ros/noetic/share/ros
ROS path [1]=/work/vision/vio/gvins_ws/src
ROS path [2]=/opt/ros/noetic/share
Fusion process is started...
Check thread is started...
terminate called after throwing an instance of 'boost::filesystem::filesystem_error'
what(): boost::filesystem::create_directory: No such file or directory: "path/campus/IC-GVINS"
[ic_gvins_node-1] process has died [pid 945, exit code -6, cmd /work/vision/vio/gvins_ws/devel/lib/ic_gvins/ic_gvins_ros __name:=ic_gvins_node __log:=/root/.ros/log/d4803a14-716e-11ee-9b31-0242ac120002/ic_gvins_node-1.log].
log file: /root/.ros/log/d4803a14-716e-11ee-9b31-0242ac120002/ic_gvins_node-1*.log
hello, If GNSS is missing from the beginning, can the system support it?
我在进行跑demo时,在roslaunch命令时,出现下面的错误,学生在寻找解决方案时,没有找到有效的解决方案,所以想请老师指导一下,下面是出现的错误:
[ic_gvins_node-2] process has died [pid 2717, exit code -6, cmd /home/scc/gvins_ws/devel/lib/ic_gvins/ic_gvins_ros __name:=ic_gvins_node __log:=/home/scc/.ros/log/70fe380e-4f8d-11ee-b8cb-1599f70f4e49/ic_gvins_node-2.log].
log file: /home/scc/.ros/log/70fe380e-4f8d-11ee-b8cb-1599f70f4e49/ic_gvins_node-2*.log
outputpath: "/home/scc/gvins_ws/output"
is_make_outputdir: true
initlength: 1
imudatarate: 100
iswithearth: true
antlever: [0.07, 0, -0.23]
imumodel:
arw: 0.2 # deg/sqrt(hr)
vrw: 0.5 # m/s/sqrt(hr)
gbstd: 10.0 # deg/hr
abstd: 150.0 # mGal
corrtime: 1.0 # hr
isusegnssoutage: false
gnssoutagetime: 364461.5
gnssthreshold: 5
is_use_visualization: true
track_check_histogram: false # 直方图检查, 避免出现光照变化较大的图像 (Check histogram for drastic illumulation change)
track_min_parallax: 15 # 关键帧最小像素视差 (The minmum parallax in pixels to choose a keyframe)
track_max_interval: 0.5 # 最大的关键帧间隔, 超过则插入观测帧, s (The maximum lenght to choose a observation frame)
track_max_features: 200 # 最大提取特征数量 (The maximum features to detect, may be more or less, see tracking.cc)
reprojection_error_std: 1.5 # 像素重投影误差 (The reprojection error std for optimizition and outlier culling)
optimize_windows_size: 10 # 滑动窗口大小 (The size of the sliding window, number of the keyframes )
optimize_num_iterations: 20 # 优化迭代次数 (The iterations in total)
optimize_estimate_extrinsic: true # 是否估计相机和IMU的外参 (Estimate the extrinsic)
optimize_estimate_td: true # 否估计相机和IMU之间的时间间隔 (Estimate the time delay)
cam0:
# 内参 [fx, fy, cx, cy(, skew)]
# Intrinsic parameters, pinhole model
intrinsic:
[
8.1640221474060002e+02,
8.1738388562809996e+02,
6.0882658427579997e+02,
2.6668865652440002e+02,
-2.3882017757999998e+00,
]
# 畸变参数 [k1, k2, p1, p2(, k3)]
# Distortion parameters
distortion:
[
-5.0040485799999999e-02,
1.2001217170000000e-01,
-6.2598060000000004e-04,
-1.1825064000000000e-03,
-6.3505207999999994e-02,
]
# 图像分辨率
# Resolution
resolution: [1280, 560]
# 相机IMU外参 (Camera-IMU extrinsic)
# Pb = q_b_c * Pc + t_b_c
# q (x, y, z, w)
q_b_c: [0.49452151768306785, 0.4977818081111032, 0.5055845943507494, 0.5020417891144757]
t_b_c: [1.71239, -0.247401, 0.11589]
# IMU和相机时间延时 (The time delay between the IMU and camera)
# t_i = t_c + td
td_b_c: 0.0
sorry, i make a mistake in my code
非常感谢你们的工作,我是初学slam的小白。我采用ic-gvins模型,有imu和gnss数据,但gps数据不稳定,在第三帧丢失了,但是 GINS initialization is finished,看着像模型初始化完成了。
如下图所示是我的bag包,gnss的话题为 /rtk/fix
导致算法模型在计算GVINS::addNewKeyFrameTimeNode时,出现start>end的情况。如下图所示。
我想用timelist_的前一帧时间戳来作为start,但此时
end - start: 0.982638
E0403 18:29:12.098510 26569 misc.cc:317] Failed to get right IMU series 371781.357392 to 371782.340030
报了这个错误。
请问该如何处理这个情况,请给个建议,非常感谢!
Hello,
The last couple of days I have been trying to test the IC-GVINS code on my own dataset. However, my Camera-IMU coordinate systems transformation is not working. In the image below I added the setup of my system. My IMU-Coordinate system is not setup as suggested for the IC-GVINS and doesn't conform to Front(x)-Right(y)-Down(z). Because I tested this setup on VINS-Fusion with calibration of camera, and camera-IMU with Kalibr I was hoping that still would work, however it doesn't. To get my system in the Front-Right-Down format I tried:
My question now: How do I properly configure and calibrate the coordinate frames of each system?
请问trajectory.txt中的time与kaist数据集即bag里提供left图像的时间戳有对应关系吗
Thank you so much for the amazing code. However, is that any option that I can convert the fused trajectory back in GNSS msg [sensor_msgs/NavSatFix]. Thank you
Hi, thanks for your great work !
Unfortunately, I don’t understand Chinese and I can’t download the datasets from the link provided in the Readme.
Could you please upload these rosbags into google cloud ?
我通过调整imu噪声的参数,现在能跑完我采集的数据了,我看到了机器人跑的轨迹。请问模型是否考虑了建图,根据轨迹识别道路。为下次运行跑同样的地图提供帮助?
I find that this file does not contain data and code that described in your paper
我们自己的数据集的imu坐标系是右前上,
修改了imucallback函数的这一处:
imu_.dtheta[0] = imumsg->angular_velocity.y * imu_.dt;
imu_.dtheta[1] = imumsg->angular_velocity.x * imu_.dt;
imu_.dtheta[2] = (-1)*imumsg->angular_velocity.z * imu_.dt;
imu_.dvel[0] = imumsg->linear_acceleration.y * imu_.dt;
imu_.dvel[1] = imumsg->linear_acceleration.x * imu_.dt;
imu_.dvel[2] = (-1)*imumsg->linear_acceleration.z * imu_.dt;
但不能成功运行,请问需要做哪些调整,感谢!
我的机器人小车采用的是1千500多元的MEMS IMU,采用imu_utils标定的结果如下:
Gyr:
unit: " rad/s"
avg-axis:
gyr_n: 1.8933385090752749e-04
gyr_w: 7.2972481573027919e-07
Acc:
unit: " m/s^2"
avg-axis:
acc_n: 1.0407961802605373e-02
acc_w: 1.8161057505407526e-04
转换一下,陀螺仪的零偏大概39°/h,加速度计的零偏大概1040mGal.我用kalibr标定的相机和imu的结果在0.4个像素之内。相机采用的是zed2i相机,分辨率为640x360,跑的结果如下图所示:
小车跑了20秒左右,在划红线的部分应该是直角转弯的地方,开始发散了。发散到弧线了。下面的是我的yaml文件的配置。其中imu噪声模型我把程序里的单位转换删除了。直接用的imu_utils标定的结果。请教下怎么改进现在的配置,提高精度?
outputpath: "/Data/workspace/JW/gvins_ws/test/"
is_make_outputdir: true
initlength: 1
imudatarate: 500
iswithearth: true
antlever: [-0.22297, 0.008, -0.06795]
imumodel:
arw : 0.00000072972481573027919
gbstd: 0.00018933385090752749
vrw : 0.00018161057505407526
abstd: 0.010407961802605373
corrtime : 1.0
isusegnssoutage: false
gnssoutagetime: 0
gnssthreshold: 20
is_use_visualization: true
track_check_histogram: true # 直方图检查, 避免出现光照变化较大的图像 (Check histogram for drastic illumulation change)
track_min_parallax: 10 # 关键帧最小像素视差 (The minmum parallax in pixels to choose a keyframe)
track_max_interval: 0.5 # 最大的关键帧间隔, 超过则插入观测帧, s (The maximum lenght to choose a observation frame)
track_max_features: 200 # 最大提取特征数量 (The maximum features to detect, may be more or less, see tracking.cc)
reprojection_error_std: 1.5 # 像素重投影误差 (The reprojection error std for optimizition and outlier culling)
optimize_windows_size: 30 # 滑动窗口大小 (The size of the sliding window, number of the keyframes )
optimize_num_iterations: 25 # 优化迭代次数 (The iterations in total)
optimize_estimate_extrinsic: false # 是否估计相机和IMU的外参 (Estimate the extrinsic)
optimize_estimate_td: false # 否估计相机和IMU之间的时间间隔 (Estimate the time delay)
cam0:
# 内参 [fx, fy, cx, cy(, skew)]
# Intrinsic parameters, pinhole model
intrinsic: [260.43896, 260.43896, 319.3829, 177.6054]
# 畸变参数 [k1, k2, p1, p2(, k3)]
# Distortion parameters
distortion: [0.0, 0.0, 0.0, 0.0]
# 图像分辨率
# Resolution
resolution: [640, 360]
# 相机IMU外参 (Camera-IMU extrinsic)
# Pb = q_b_c * Pc + t_b_c
# q (x, y, z, w)
q_b_c: [0.50291563,0.49477625,0.50032398,0.50194446]
t_b_c: [0.17948435 ,-0.06008578 , -0.10578209]
# IMU和相机时间延时 (The time delay between the IMU and camera)
# t_i = t_c + td
td_b_c: 0.019530032247611233
感谢你们的开源!
但是,我使用命令roslaunch ic_gvins ic_gvins.launch configfile:=/home/qqstar/catkin_loam/src/IC-GVINS/config/gvins.yaml出现问题,报错如下:
ERROR: flag 'logtostderr' was defined more than once (in files 'src/logging.cc' and '/home/qqstar/lib/glog/src/logging.cc').
[ic_gvins_node-2] process has died [pid 13164, exit code 1, cmd /home/qqstar/catkin_loam/devel/lib/ic_gvins/ic_gvins_ros __name:=ic_gvins_node __log:=/home/qqstar/.ros/log/8816be48-9891-11ed-83c4-cdbabb5b49ff/ic_gvins_node-2.log].
log file: /home/qqstar/.ros/log/8816be48-9891-11ed-83c4-cdbabb5b49ff/ic_gvins_node-2*.log
我的yaml文件如下:
outputpath: "/home/qqstar/catkin_loam/src/IC-GVINS/output/"
is_make_outputdir: true
其余参数均为默认,请问为何会出现这个问题呢
你好,我使用官方提供的urban39数据集,始终出现以下报错:
Hi, the question as in the title - Is it possible to run on a UAV's dataset ? Or is it adapted only for a UGV ?
In particular, I'm wondering about the dataset "FGI Masala Stereo-Visual-Inertial Dataset 2021 Dataset tags".
Here the camera is pointed down towards the surface of the earth. The dataset also contains imu and gps.
You can have a look at the video of the dataset here https://youtu.be/gGd-oN505mo
I perhaps already figured out what's going on. So close this issue.
[ic_gvins_node-2] process has died [pid 11612, exit code -6, cmd /home/scc/gvins_ws/devel/lib/ic_gvins/ic_gvins_ros __name:=ic_gvins_node __log:=/home/scc/.ros/log/b3d82f80-4f7a-11ee-89b7-2fa6373f3065/ic_gvins_node-2.log].
log file: /home/scc/.ros/log/b3d82f80-4f7a-11ee-89b7-2fa6373f3065/ic_gvins_node-2*.log
outputpath: "path/gvins_ws/output"
is_make_outputdir: true
initlength: 1
imudatarate: 100
iswithearth: true
antlever: [0.07, 0, -0.23]
imumodel:
arw: 0.2 # deg/sqrt(hr)
vrw: 0.5 # m/s/sqrt(hr)
gbstd: 10.0 # deg/hr
abstd: 150.0 # mGal
corrtime: 1.0 # hr
isusegnssoutage: false
gnssoutagetime: 364461.5
gnssthreshold: 5
is_use_visualization: true
track_check_histogram: false # 直方图检查, 避免出现光照变化较大的图像 (Check histogram for drastic illumulation change)
track_min_parallax: 15 # 关键帧最小像素视差 (The minmum parallax in pixels to choose a keyframe)
track_max_interval: 0.5 # 最大的关键帧间隔, 超过则插入观测帧, s (The maximum lenght to choose a observation frame)
track_max_features: 200 # 最大提取特征数量 (The maximum features to detect, may be more or less, see tracking.cc)
reprojection_error_std: 1.5 # 像素重投影误差 (The reprojection error std for optimizition and outlier culling)
optimize_windows_size: 10 # 滑动窗口大小 (The size of the sliding window, number of the keyframes )
optimize_num_iterations: 20 # 优化迭代次数 (The iterations in total)
optimize_estimate_extrinsic: true # 是否估计相机和IMU的外参 (Estimate the extrinsic)
optimize_estimate_td: true # 否估计相机和IMU之间的时间间隔 (Estimate the time delay)
cam0:
# 内参 [fx, fy, cx, cy(, skew)]
# Intrinsic parameters, pinhole model
intrinsic:
[
8.1640221474060002e+02,
8.1738388562809996e+02,
6.0882658427579997e+02,
2.6668865652440002e+02,
-2.3882017757999998e+00,
]
# 畸变参数 [k1, k2, p1, p2(, k3)]
# Distortion parameters
distortion:
[
-5.0040485799999999e-02,
1.2001217170000000e-01,
-6.2598060000000004e-04,
-1.1825064000000000e-03,
-6.3505207999999994e-02,
]
# 图像分辨率
# Resolution
resolution: [1280, 560]
# 相机IMU外参 (Camera-IMU extrinsic)
# Pb = q_b_c * Pc + t_b_c
# q (x, y, z, w)
q_b_c: [0.49452151768306785, 0.4977818081111032, 0.5055845943507494, 0.5020417891144757]
t_b_c: [1.71239, -0.247401, 0.11589]
# IMU和相机时间延时 (The time delay between the IMU and camera)
# t_i = t_c + td
td_b_c: 0.0
how to solve this issue
In file included from /home/adham/catkin_wsicgvins/src/IC-GVINS/ic_gvins/ic_gvins/ic_gvins.cc:23:
In file included from /home/adham/catkin_wsicgvins/src/IC-GVINS/ic_gvins/ic_gvins/ic_gvins.h:32:
In file included from /home/adham/catkin_wsicgvins/src/IC-GVINS/ic_gvins/ic_gvins/factors/marginalization_info.h:26:
In file included from /home/adham/catkin_wsicgvins/src/IC-GVINS/ic_gvins/ic_gvins/factors/residual_block_info.h:29:
In file included from /usr/local/include/ceres/ceres.h:37:
/usr/local/include/ceres/autodiff_cost_function.h:208:11: error: qualified name refers into a specialization of function template 'internal::VariadicEvaluate'
::Call(*functor_, parameters, residuals);
^
/usr/local/include/ceres/internal/variadic_evaluate.h:103:13: note: function template 'VariadicEvaluate' declared here
inline bool VariadicEvaluate(const Functor& functor,
^
In file included from /home/adham/catkin_wsicgvins/src/IC-GVINS/ic_gvins/ic_gvins/ic_gvins.cc:23:
In file included from /home/adham/catkin_wsicgvins/src/IC-GVINS/ic_gvins/ic_gvins/ic_gvins.h:32:
In file included from /home/adham/catkin_wsicgvins/src/IC-GVINS/ic_gvins/ic_gvins/factors/marginalization_info.h:26:
In file included from /home/adham/catkin_wsicgvins/src/IC-GVINS/ic_gvins/ic_gvins/factors/residual_block_info.h:29:
In file included from /usr/local/include/ceres/ceres.h:37:
/usr/local/include/ceres/autodiff_cost_function.h:210:22: error: no member named 'AutoDiff' in namespace 'ceres::internal'
return internal::AutoDiff<CostFunctor, double,
~~~~~~~~~~^
/usr/local/include/ceres/autodiff_cost_function.h:210:31: error: 'CostFunctor' does not refer to a value
return internal::AutoDiff<CostFunctor, double,
^
/usr/local/include/ceres/autodiff_cost_function.h:154:20: note: declared here
template <typename CostFunctor,
^
[ 77%] Linking CXX shared library ../../../../../devel/lib/libabsl_synchronization.so
[ 77%] Building CXX object IC-GVINS/ic_gvins/CMakeFiles/ic_gvins_core.dir/ic_gvins/tracking/camera.cc.o
[ 77%] Built target absl_synchronization
[ 78%] Building CXX object IC-GVINS/ic_gvins/abseil-cpp/absl/container/CMakeFiles/absl_hashtablez_sampler.dir/internal/hashtablez_sampler.cc.o
In file included from /home/adham/catkin_wsicgvins/src/IC-GVINS/ic_gvins/ic_gvins/ic_gvins.cc:34:
/home/adham/catkin_wsicgvins/src/IC-GVINS/ic_gvins/ic_gvins/factors/pose_parameterization.h:30:44: error: expected class name
class PoseParameterization : public ceres::LocalParameterization {
^
[ 78%] Building CXX object IC-GVINS/ic_gvins/abseil-cpp/absl/container/CMakeFiles/absl_hashtablez_sampler.dir/internal/hashtablez_sampler_force_weak_definition.cc.o
/home/adham/catkin_wsicgvins/src/IC-GVINS/ic_gvins/ic_gvins/ic_gvins.cc:1747:5: error: no type named 'LocalParameterization' in namespace 'ceres'; did you mean 'PoseParameterization'?
ceres::LocalParameterization *parameterization = new (PoseParameterization);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
PoseParameterization
/home/adham/catkin_wsicgvins/src/IC-GVINS/ic_gvins/ic_gvins/factors/pose_parameterization.h:30:7: note: 'PoseParameterization' declared here
class PoseParameterization : public ceres::LocalParameterization {
^
/home/adham/catkin_wsicgvins/src/IC-GVINS/ic_gvins/ic_gvins/ic_gvins.cc:1858:9: error: no type named 'LocalParameterization' in namespace 'ceres'; did you mean 'PoseParameterization'?
ceres::LocalParameterization *parameterization = new (PoseParameterization);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
PoseParameterization
/home/adham/catkin_wsicgvins/src/IC-GVINS/ic_gvins/ic_gvins/factors/pose_parameterization.h:30:7: note: 'PoseParameterization' declared here
class PoseParameterization : public ceres::LocalParameterization {
Can you please help me solve this problems?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.