Xavier(8):Xavier使用速腾聚创激光雷达运行a-loam算法部分报错与解决方案

news2025/7/8 18:57:42

文章目录

  • 1 速腾聚创激光雷达驱动
    • 报错:Project 'cv_bridge' specifies '/usr/include/opencv' as an include dir
    • Project 'grid_map_cv' specifies '/usr/include/opencv' as an include dir
  • 2 a-loam算法
    • 报错: fatal error: opencv/cv.h: 没有那个文件或目录
    • 报错:error: ‘CV_LOAD_IMAGE_GRAYSCALE’ was not declared in this scope
    • 报错:[FATAL] [1668787250.688458461]: BREAKPOINT HIT

在这里插入图片描述
左边是a-loam效果,右边是激光雷达点云。
本机使用Nvidia xavier镜像,为ubuntu18.04、ros-melodic、opencv4
a-loam经过简单的源码修改可以适用于opencv4.x

1 速腾聚创激光雷达驱动

报错:Project ‘cv_bridge’ specifies ‘/usr/include/opencv’ as an include dir

CMake Error at /opt/ros/melodic/share/cv_bridge/cmake/cv_bridgeConfig.cmake:113 (message):
  Project 'cv_bridge' specifies '/usr/include/opencv' as an include dir,
  which is not found.  It does neither exist as an absolute directory nor in
  '${{prefix}}//usr/include/opencv'. 

参考:https://blog.csdn.net/qq_53627591/article/details/126116822
原因是:NVIDIA xaiver的镜像image自带的是opencv4版本,下面把opencv命名成了opencv4
sudo gedit /opt/ros/melodic/share/cv_bridge/cmake/cv_bridgeConfig.cmake
修改前

if(NOT "include;/usr/include;/usr/include/opencv " STREQUAL " ")
  set(cv_bridge_INCLUDE_DIRS "")
  set(_include_dirs "include;/usr/include;/usr/include/opencv")

修改后

if(NOT "include;/usr/include;/usr/include/opencv4 " STREQUAL " ")
  set(cv_bridge_INCLUDE_DIRS "")
  set(_include_dirs "include;/usr/include;/usr/include/opencv4")

下面这个报错在其他程序里面出现,在编译速腾聚创激光雷达驱动没有出现,此处作为参考

Project ‘grid_map_cv’ specifies ‘/usr/include/opencv’ as an include dir

CMake Error at /opt/ros/melodic/share/grid_map_cv/cmake/grid_map_cvConfig.cmake:113 (message):
  Project 'grid_map_cv' specifies '/usr/include/opencv' as an include dir,
  which is not found.  It does neither exist as an absolute directory nor in
  '${{prefix}}//usr/include/opencv'.  Check the issue tracker
  'http://github.com/anybotics/grid_map/issues' and consider creating a
  ticket if the problem has not been reported yet.

修改上面报错的第一行中的文件的94行和96行,将opencv替换为opencv4:
修改前

if(NOT "include;/usr/include;/usr/include/opencv " STREQUAL " ")
  set(grid_map_cv_INCLUDE_DIRS "")
  set(_include_dirs "include;/usr/include;/usr/include/opencv")

修改后

if(NOT "include;/usr/include;/usr/include/opencv4 " STREQUAL " ")
  set(grid_map_cv_INCLUDE_DIRS "")
  set(_include_dirs "include;/usr/include;/usr/include/opencv4")

2 a-loam算法

报错: fatal error: opencv/cv.h: 没有那个文件或目录

xx/src/A-LOAM/src/draw_boxes.cpp:7:10: fatal error: opencv/cv.h: 没有那个文件或目录
 #include <opencv/cv.h>

修改 #include <opencv/cv.h> #include <opencv2/opencv.hpp>

报错:error: ‘CV_LOAD_IMAGE_GRAYSCALE’ was not declared in this scope

error: ‘CV_LOAD_IMAGE_GRAYSCALE’ was not declared in this scope
         cv::Mat left_image = cv::imread(left_image_path.str(), CV_LOAD_IMAGE_GRAYSCALE);

参考:https://blog.csdn.net/weixin_41560777/article/details/124138138
找到对应的kittiHelper.cpp文件,将91行与93行的CV_LOAD_IMAGE_GRAYSCALE改为cv::IMREAD_GRAYSCALE

报错:[FATAL] [1668787250.688458461]: BREAKPOINT HIT

先启动速腾雷达驱动roslaunch rslidar_sdk start.launch ,后启动a-loamroslaunch aloam_velodyne aloam_velodyne_VLP_16_c2.launch

[FATAL] [1668787250.688458461]: BREAKPOINT HIT
	file = /home/aaeon/hxz/c2_aloam/src/A-LOAM/src/laserOdometry.cpp
	line=240

[alaserOdometry-2] process has died [pid 8867, exit code -6, cmd /home/aaeon/hxz/c2_aloam/devel/lib/aloam_velodyne/alaserOdometry __name:=alaserOdometry __log:=/home/aaeon/.ros/log/2653080a-675a-11ed-a57f-48b02d185503/alaserOdometry-2.log].
log file: /home/aaeon/.ros/log/2653080a-675a-11ed-a57f-48b02d185503/alaserOdometry-2*.log

在这里插入图片描述

根据报错查看/home/aaeon/hxz/c2_aloam/src/A-LOAM/src/laserOdometry.cpp240行左右内容,怀疑是时间戳问题

            if (timeCornerPointsSharp != timeLaserCloudFullRes ||
                timeCornerPointsLessSharp != timeLaserCloudFullRes ||
                timeSurfPointsFlat != timeLaserCloudFullRes ||
                timeSurfPointsLessFlat != timeLaserCloudFullRes)
            {
                printf("unsync messeage!");
                ROS_BREAK();
            }

先启动启动a-loamroslaunch aloam_velodyne aloam_velodyne_VLP_16_my.launch,后启动速腾雷达驱动roslaunch rslidar_sdk start.launch 则不会报错,且会正常运行

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/18326.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

无线社工基础

无线社工基础 一些社会工程学密码生成器&#xff08;百度&#xff09; Crunch工具 /usr/share/crunch/charset.lstcrunch 最短长度 最长长度 字符集 选项crunch 8 12 -f /usr/share/crunch/charset.lst ualpha -o /root/pass.txt Windows下对附近无线网络进行扫描 WirelessMon…

MySQL事务/事务与数据库底层数据/多点回滚/隔离级别/悲观锁和乐观锁/锁模式和分类/相关锁总结/JDBC事务实现

文章目录MySQL事务概述事务事务与数据库底层数据事务控制语句事务处理基本测试多点回滚相关日志问题redo logundo log隔离级别常见问题事务隔离性隔离级别的范围总结隔离等级读未提交读已提交可重复读串行化并发写问题幻读问题悲观锁和乐观锁锁模式锁分类按加锁方式分类按照算法…

基于贝叶斯推理估计稳态 (ST) 和非稳态 (NS) LPIII 模型分布拟合到峰值放电(Matlab代码实现)

&#x1f468;‍&#x1f393;个人主页&#xff1a;研学社的博客 &#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜…

ShardingSphere笔记(一): 经验和踩坑总结

ShardingSphere笔记&#xff08;一&#xff09;&#xff1a; 使用经验总结 文章目录ShardingSphere笔记&#xff08;一&#xff09;&#xff1a; 使用经验总结一、背景框架选择二、ShardingSphere-jdbc 只是一个帮助你路由的框架&#xff08;踩坑总结&#xff09;1. 它默认会认…

支持末尾携带标签的多行TextView

项目开发过程中&#xff0c;遇到个UI上的需求&#xff0c;本着不重复造轮子、敏捷开发的原则&#xff0c;于是乎网上找寻了一番&#xff0c;发现还是自己搞吧&#xff0c;搜不到这样的需求&#xff0c;先看下我们的效果。 总结有以下三点需要注意&#xff1a; 末尾vip部分是…

$19服务:DTCStatusMask和statusofDTC bit 定义

诊断协议那些事儿 诊断协议那些事儿专栏系列文章&#xff0c;当ECU产生DTC时&#xff0c;我们只知道有故障发生了&#xff0c;并不清楚该故障什么时候发生&#xff0c;现在是否已经恢复、发生过几次&#xff0c;恢复过几次等信息&#xff0c;基于此ISO发布的14229-1使用DTC状态…

[附源码]SSM计算机毕业设计志愿者管理系统论文2022JAVA

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

【VTK+有限元后处理】可视化结果云图

构建vtkUnstructuredGrid对象 为了读取不同格式的有限元计算结果文件&#xff0c;我们先写一个FEDataModel类来管理有限元的几何拓扑和属性信息。 class FEDataModel:"""有限元数据模型类"""def __init__(self):self.nodes [] # 节点几何坐标…

斐波那契数列和斐波那契数

一、什么是斐波那契数列 斐波那契数列&#xff08;Fibonacci sequence&#xff09;&#xff0c;又称黄金分割数列&#xff0c;因数学家莱昂纳多斐波那契&#xff08;Leonardo Fibonacci&#xff09;以兔子繁殖为例子而引入&#xff0c;故又称为“兔子数列”&#xff0c;指的是这…

【考研复试】计算机专业考研复试英语常见问题三(个人选择/学业规划篇)

相关链接&#xff1a; 【考研复试】计算机专业考研复试英语常见问题一&#xff08;家庭/家乡/学校篇&#xff09;【考研复试】计算机专业考研复试英语常见问题二&#xff08;研究方向/前沿技术/本科毕设篇&#xff09;【考研复试】计算机专业考研复试英语常见问题三&#xff0…

C++---哈希

目录 1. unordered系列关联式容器 1.1 unordered_map 1.1.1 unordered_map的介绍 1.1.2 unordered_map的接口说明 1.2 unordered_set 2. 底层结构 2.1 哈希概念 2.2 哈希冲突 2.3 哈希函数 2.4 哈希冲突解决 2.4.1 闭散列 2.4.2 开散列 3. 封装unorder_map和unord…

MySQL增删改查进阶 — 表的设计

文章目录表的设计1.设计思路2.实体固定关系的套路2.1 一对一关系2.2 一对多关系2.3 多对多关系3.总结表的设计 表的设计实际上要做的工作就是明确一个程序里&#xff0c;需要使用几个数据库&#xff0c;几个表&#xff0c;表里都有哪些列。 1.设计思路 先明确实体再明确实体…

6. Design A Web Crawler

title: Notes of System Design No.10 — Design a Web Crawler description: ‘Design a Web Crawler’ date: 2022-05-13 18:01:58 tags: 系统设计 categories: 系统设计 00. What is Web Crawler? Q &#xff1a;uh just for now lets just do html pagesbut your web cr…

Explaining Deepfake Detection by Analysing Image Matching 翻译

点击查看对应的代码 摘要 本文旨在解释深度伪造检测模型在仅由二进制标签做有监督时如何学习图像的伪迹特征。为此&#xff0c;从图像匹配的角度提出如下三个假设。1、深度伪造检测模型表明基于视觉概念的真/假图片既不与源图片相关也不与目标图片相关而是与伪迹图片相关。2、…

全链路压测效能10倍提升的压测工具实践笔记

背景 创业型公司或创新型项目往往团队资源有限&#xff0c;人员能力水平有限&#xff0c;难以投入专业自动化压测人员&#xff1b; 同时部分业务&#xff08;tob/toc场景&#xff09;长期有中小型活动场景带来小规模流量并发&#xff0c;需要产研能长期保障并及时感知和解决网…

GitHub Star70K登顶,字节内部数据结构与算法笔记,限时上线

为什么学算法 不得不说&#xff0c;现在几乎所有的大厂&#xff0c;比如Google、字节、BAT&#xff0c;面试的时候都喜欢考算法、让人现场写代码&#xff0c;那你有没有真正地想过&#xff0c;为什么这些大公司都喜欢考算法呢&#xff1f; 经常有人说&#xff0c;程序员35岁之…

Java毕业设计MVC:基于SSM实现计算机硬件评测交流平台

作者主页&#xff1a;编程千纸鹤 作者简介&#xff1a;Java、前端、Pythone开发多年&#xff0c;做过高程&#xff0c;项目经理&#xff0c;架构师 主要内容&#xff1a;Java项目开发、毕业设计开发、面试技术整理、最新技术分享 收藏点赞不迷路 关注作者有好处 项目编号&…

(杂)网易云歌单导入到apple music

喜欢apple music的简洁&#xff0c;就想着把网易云的歌单捣鼓进去。 获取歌单歌曲列表&#xff1a;https://yyrcd.com/n2s/ 转移歌单&#xff1a;https://soundiiz.com/zh/&#xff0c;首次使用需要注册&#xff0c;免费版只能一次导入200首。 平台选择apple music 登录授权即可…

Linux下 man命令的使用 及 中文man手册的安装

文章目录1. man命令使用2. 安装中文man手册1. man命令使用 man命令是Linux下最核心的命令之一。而man命令也并不是英文单词“man”的意思&#xff0c;它是单词manual的缩写&#xff0c;即使用手册的意思。man命令会列出一份完整的说明。其内容包括命令语法、各选项的意义及相关…

第三章 线性模型

3.1 基本形式 给定由d个属性描述的示例x(x1; x2; x3; … ; xd)。线性模型试图学得一个通过属性的线性组合来进行预测的函数&#xff0c;即 3.2 线性回归 线性回归试图学得一个线性模型尽可能准确地预测实值输出标记。 对于如何确定w和b&#xff0c;均方误差是回归任务中最常…