当前位置: 首页 > news >正文

LVI-SAM、VINS-Mono、LIO-SAM算法的阅读参考和m2dgr数据集上的复现(留作学习使用)

ROS一键安装参考:

ROS的最简单安装——鱼香一键安装_鱼香ros一键安装-CSDN博客

opencv官网下载4.2.0参考:https://opencv.org/releases/page/3/

nvidia驱动安装:ubuntu18.04 安装显卡驱动 - 开始战斗 - 博客园

cuda搭配使用1+2

cuda安装1:Ubuntu18.04 下安装CUDA_ubuntu18.04安装cuda-CSDN博客

cuda下载2:

https://zhuanlan.zhihu.com/p/664729624

lvi-sam的evo评价参考:

SLAM_轨迹算法精度评价指标(ATE、RPE)_绝对轨迹误差-CSDN博客

LVI-SAM在KITTI数据集上的整合与评估,

LVI-SAM评估_3d_追_光-开放原子开发者工作坊

Evo评测工具对VIORBSLAM2进行评估(详细步骤!!!)_viorbslam王京-CSDN博客

evo多路径画图:

轨迹评估工具使用:evo安装以及学习_evo轨迹评估-CSDN博客

(注意将保存的txt文件时间戳对应)

LVI-SAM代码阅读参考:(文章末)

老板:2周搞定激光雷达-视觉-IMU多传感器融合方案!我该如何动手?

https://www.zhihu.com/people/gao-li-dong-62

https://www.zhihu.com/people/yu-you-wei-42/posts

古月居 - ROS机器人知识分享社区

注释代码详解:GitHub - electech6/LVI-SAM_detailed_comments: LVI-SAM: Tightly-coupled Lidar-Visual-Inertial Odometry via Smoothing and Mapping

LIO-SAM阅读: 

源码解析参考:https://zhuanlan.zhihu.com/p/352039509

GitHub - smilefacehh/LIO-SAM-DetailedNote: LIO-SAM源码详细注释,3D SLAM融合激光、IMU、GPS

跑自己的数据集:LIO-SAM从0到1运行自己的数据集-CSDN博客

将KITTI数据集转为LIO-SAM算法可运行的.bag文件_kitti05-CSDN博客

VINS-Mono参考:

SLAM算法总结——经典SLAM算法框架总结_视觉slam算法-CSDN博客

数据集下载:

参考:KITTI数据集无法下载的解决方法_kitti数据集下载-CSDN博客

网站(代下载):下载

kitti数据集: The KITTI Vision Benchmark Suite

m2dgr数据集:GitHub - SJTU-ViSYS/M2DGR: M2DGR: a Multi-modal and Multi-scenario Dataset for Ground Robots(RA-L2021 & ICRA2022)

evo报错:

python版本切换: sudo update-alternatives --config python

python 版本:python --version

pip版本: pip -V

python版本与pip 版本不对应:大概率是因为python2和python3共存,pip下载的版本都进到python3。更改:python -m pip install --user --upgrade pip==9.0.3

报错qt:pip install PySide2

python3.6.9+pip9.0.3+Pyside2+pip3 intstall PyQt5==5.14.0

LVI-SAM算法跑m2dgr:GitHub - hongyeah314/LVI-SAM-large-scale: LVI-SAM for easier using (更简单的使用LVI-SAM的方法)

VINS-Mono算法跑m2dgr:(最简单的办法是将上面lvi-sam算法中的M2DGR_camera.yaml放进去,修改一下路径问题如euroc_config.yaml中保存路径)

VINS-Mono运行 - 似剑非攻 - 博客园

m2dgr数据集在vins mono运行_vins-mono跑m2dr的数据集-CSDN博客

M2DGR数据集在一些SLAM框架上的配置与运行:ORB-SLAM系列、VINS-Mono、LOAM系列、FAST-LIO系列、hdl_graph_slam-CSDN博客

保存路径输出为tum格式,修改visualization.cpp文件中的ofstream为

ofstream foutC("XX/XXX/XX输出路径.txt", ios::app);

foutC.setf(ios::fixed, ios::floatfield);

foutC << header.stamp.toSec() << " ";

foutC.precision(5);

foutC << estimator.Ps[WINDOW_SIZE].x() << " "

<< estimator.Ps[WINDOW_SIZE].y() << " "

<< estimator.Ps[WINDOW_SIZE].z() << " "

<< tmp_Q.w() << " "

<< tmp_Q.x() << " "

<< tmp_Q.y() << " "

<< tmp_Q.z() << endl;

// << estimator.Vs[WINDOW_SIZE].x() << ","

// << estimator.Vs[WINDOW_SIZE].y() << ","

// << estimator.Vs[WINDOW_SIZE].z() << ","

foutC.close();

lio-sam算法跑M2DGR数据集:

修改三个文件:

1.加入M2DGR.yaml文件(复制param.yaml文件中的内容,将部分内容修改为参考中的lio-sam中的yaml。参考:M2DGR数据集在一些SLAM框架上的配置与运行:ORB-SLAM系列、VINS-Mono、LOAM系列、FAST-LIO系列、hdl_graph_slam-CSDN博客)

2.根据上面1中的参考修改run.launch

3.修改mapOptimization.cpp,输出路径文件。(注意输出的时间戳是当前时间与初始时间的差值,可以更改输出为绝对时间,问deepseek)

//保存轨迹,path_save是文件目录,txt文件提前建好,/home/xxx/xxx.txt,

 std::ofstream pose1("XXX/XXXXX/XX.txt", std::ios::app);

pose1.setf(std::ios::scientific, std::ios::floatfield);

pose1.precision(9);

// if(flag_tum=1){

static double timeStart = laserOdometryROS.header.stamp.toSec();

// flag_tum=0;

// }

auto T1 =ros::Time().fromSec(timeStart) ;

// tf::Quaternion quat;

// tf::createQuaternionMsgFromRollPitchYaw(double r, double p, double y);//返回四元数

pose1<< laserOdometryROS.header.stamp -T1<< " "

<< -laserOdometryROS.pose.pose.position.x << " "

<<- laserOdometryROS.pose.pose.position.z << " "

<< -laserOdometryROS.pose.pose.position.y<< " "

<< laserOdometryROS.pose.pose.orientation.x << " "

<< laserOdometryROS.pose.pose.orientation.y << " "

<< laserOdometryROS.pose.pose.orientation.z << " "

<< laserOdometryROS.pose.pose.orientation.w << std::endl;

pose1.close();

相关文章:

  • python广度优先搜索(BFS)算法
  • 16.使用读写包操作Excel文件:XlsxWriter 包
  • 《灵珠觉醒:从零到算法金仙的C++修炼》卷三·天劫试炼(47)乾坤图演路径 - 欧拉路径(Hierholzer 算法)
  • 完善机器人:让 DeepSeek 使用Vue Element UI快速搭建 AI 交互页面
  • vue埋点
  • LinuX---进程线程类
  • DFS深度优先搜索
  • 完善机器人:让 DeepSeek 生成 API 接口,并在网页上调用
  • 浅谈数据分析及数据思维
  • Android/AOSP源码编译错误:TEMPORARY_DISABLE_PATH_RESTRICTIONS
  • Linux从零搭建Dify智能体平台(包含网络代理、docker安装、docker镜像地址设置)
  • flinkOracleCdc源码介绍
  • Java8的新特性
  • python如何获取三个小时之前的时间并输出
  • MCP,你的大模型USB通用接口
  • 知网研学赋能研究生教育:提升科研素质与创新能力的实践与探索
  • Vue 3 组件库主题化与可扩展性深度剖析:设计模式与实现策略 - 构建灵活适应多场景的组件库架构
  • 【SpringMVC】常用注解:@RequestParam
  • 大数据面试之路 (二) hive小文件合并优化方法
  • 写一个简单的SQL生成工具
  • 80后女博士黄双燕拟提名为内蒙古盟市政府(行署)副职人选
  • “80后”萍乡市安源区区长邱伟,拟任县(区)委书记
  • 中欧互动中的合作与分歧:务实需求将克服泛安全化的“政治钟摆”
  • 新城悦服务:独董许新民辞任,新任独董与另两人组成调查委员会将调查与关联方资金往来
  • 佩斯科夫:俄方代表团15日将在伊斯坦布尔等候乌克兰代表团
  • 绿景中国地产:洛杉矶酒店出售事项未能及时披露纯属疏忽,已采取补救措施