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

ros-noetic安装lio-sam

1. 创建工作空间

mkdir -p ~/lio-sam/src
cd ~/lio-sam/

2.下载功能包

cd ~/lio-sam/src
git clone  https://mirror.ghproxy.com/https://github.com/TixiaoShan/LIO-SAM.git


3.编译依赖

参考链接

cd ~/lio-sam/srcgit clone https://mirror.ghproxy.com/https://github.com/borglab/gtsam.gitcd gtsammkdir build
cd build
cmake ..
make -j$(nproc)
sudo make install

4.添加路径+安装依赖包(如果需要)

export CMAKE_PREFIX_PATH=/path/to/gtsam:$CMAKE_PREFIX_PATH
sudo apt-get update
sudo apt-get install ros-noetic-robot-localization

5. 编译工作空间

cd ~/catkin_ws
rosdep install --from-paths src --ignore-src --rosdistro=noetic -y   (报错可以忽略)catkin_make

6.配置ROS包

package.xml:<build_depend>gtsam</build_depend>
<exec_depend>gtsam</exec_depend>CMakeLists.txt:find_package(GTSAM REQUIRED)
include_directories(${GTSAM_INCLUDE_DIRS})
link_directories(${GTSAM_LIBRARY_DIRS})

7.报错参考

7.1 指针问题

error: conversion from ‘std::shared_ptr<gtsam::PreintegrationParams>’ to non-scalar type ‘boost::shared_ptr<gtsam::PreintegrationParams>’ requested 214 | PreintegrationParams> p = gtsam::PreintegrationParams::MakeSharedU(imuGravity);

第imuPreintegration第214行改为:
std::shared_ptr<gtsam::PreintegrationParams> std_ptr = gtsam::PreintegrationParams::MakeSharedU(imuGravity);
boost::shared_ptr<gtsam::PreintegrationParams> boost_ptr(std_ptr.get(), [std_ptr](gtsam::PreintegrationParams*){});

7.2 序列化问题

error: ‘class std::unordered_map<unsigned int, std::vector<unsigned int> >’ has no member named ‘serialize’ 33 | type.serialize(ar); | ~~~~~^~~~~~~~~

flann error-CSDN博客及其评论

7.3 版本问题

error: static assertion failed: Error: GTSAM was built against a different version of Eigen 75 | GTSAM_EIGEN_VERSION_WORLD==EIGEN_WORLD_VERSION && |

static assertion failed: Error: GTSAM was built against a different version of Eigen问题修改-CSDN博客及其评论

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 把VTK窗口嵌入到Qt的窗口中显示(二)
  • 基于SpringBoot的网络海鲜市场系统的设计与实现
  • 产品文档全攻略:分类、价值及创建技巧
  • 【C++小白到大牛】红黑树那些事儿
  • 瑞友科技项目经理认证负责人杨文娟受邀为第四届中国项目经理大会演讲嘉宾︱PMO评论
  • Java的Cursor的使用
  • 基于hadoop的智慧校园数据共享与交换平台的设计与实现【Django框架、scrapy爬虫框架】
  • mysql 小表驱动大表
  • 【吸引力法则】探究人生欲:追求深度体验与宇宙链接
  • Hive3:三种常用的复杂数据类型
  • EasyCVR视频汇聚平台:深度解析GB/T 28181协议下的视频资源整合与应用
  • 腾讯云AI代码助手 —— 编程新体验,智能编码新纪元
  • 网络安全-第二阶段-linux操作系统01
  • 七大排序算法
  • 【爬虫新手村】零基础入门到实战:解锁互联网数据收集的密钥,爬虫技术全攻略
  • $translatePartialLoader加载失败及解决方式
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • 【面试系列】之二:关于js原型
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • JSONP原理
  • laravel 用artisan创建自己的模板
  • mongodb--安装和初步使用教程
  • mysql innodb 索引使用指南
  • PAT A1120
  • Python 反序列化安全问题(二)
  • tweak 支持第三方库
  • use Google search engine
  • Vue 2.3、2.4 知识点小结
  • Vue2.x学习三:事件处理生命周期钩子
  • Vue源码解析(二)Vue的双向绑定讲解及实现
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 简单实现一个textarea自适应高度
  • 将 Measurements 和 Units 应用到物理学
  • 聊聊directory traversal attack
  • 聊聊flink的BlobWriter
  • 删除表内多余的重复数据
  • 时间复杂度与空间复杂度分析
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 手写双向链表LinkedList的几个常用功能
  • 算法---两个栈实现一个队列
  • 微服务核心架构梳理
  • 小程序button引导用户授权
  • 小程序测试方案初探
  • 用jquery写贪吃蛇
  • 再谈express与koa的对比
  • C# - 为值类型重定义相等性
  • 智能情侣枕Pillow Talk,倾听彼此的心跳
  • ​​​​​​​STM32通过SPI硬件读写W25Q64
  • #include
  • #QT项目实战(天气预报)
  • #考研#计算机文化知识1(局域网及网络互联)
  • #我与Java虚拟机的故事#连载11: JVM学习之路
  • $refs 、$nextTic、动态组件、name的使用
  • (7) cmake 编译C++程序(二)
  • (C#)获取字符编码的类