使用Autoware标定工具包联合标定相机和激光雷达

news2024/11/24 3:02:33

前面文章介绍了,安装autoware标定工具包、ros驱动usb相机、robosense-16线激光雷达的使用,本文记录使用Autoware标定工具包联合标定相机和激光雷达的过程。

1.ros驱动相机,启动相机;启动激光雷达

2.联合录制bag包

rosbag record -a

参照大佬AdamShan的录制建议,时间长一些,调整占位动作

3.打开标定工具(此过程中相机、雷达保持开着状态)

选择相机节点,然后选择Camera->Velodyne

进入界面,根据自己标定板大小设置尺寸(Pattern Size),然后重启一下标定工具

播放点云

rosbag play bag包名称.bag /lslidar_point_cloud:=/points_raw

点击一下右侧的雷达窗口,按b键设置背景颜色,选择白色,然后参考大佬AdamShan大佬教程qweasd几个按键调整点云位置直到看到点云。

此处本人遇到问题,无法显示雷达部分的界面,雷达窗口处的时间没有变化,显示Timestamp而不是具体时间值。

4.排错、差错

(1)无法显示点云信息

bag的话题信息

git的isuue中找的方法:

rosbag play bagName.bag /YourPointCloud2Topic:=/points_raw

找到问题所在了,在播放bag的时候要添加自己的雷达话题,我的topic在RVIZ的找的

(2)无法grab抓取,抓取时没有反应

初步怀疑是数据包录制的不好,尝试录制新的数据包,新录制的bag包依然不能抓取,点云处识别不到棋盘格。

看到git上关于标定工具的讨论,作者提到,grab不到图像的原因:没有拍摄到棋盘格;棋盘格尺寸设置错误。本人通过和别人教程对比发现棋盘格设置完全错误。

第一,标定板大小设置错误,棋盘格边长是2cm,被误导了

第二,棋盘格角点数错了,也是被误导了

我打印的棋盘格下面有一行备注:www.calib.io|8✖11 Checker Size:15mm,但是实际上,边长2cm,7✖10(格子数目是8*11但是角点是7*10)

5.标定

按照前面步骤打开软件,点击点云部分,按⬇键出现坐标轴(忘了叫啥),另外评论区看到点云区域","逗号是放大 "."句号是缩小,上下左右还有那几个字母按键都可以调整;

播放点云数据,调整大小;点击grab,对照图像在右下角点云中标注点云直到出现矩阵;标定前要把抓取不好的图像remove掉;点击标定按钮;标定后可以点击project进行验证,大佬说红点分布在标定版是正确的,如果散点不再标定板上重新在右下点云上选点(下图本人选的就不是很好,过程中有几张红点都在标定板上了);最后save保存结果,保存时雷达数据、相机数据不需要保存,选否即可。

至此标定工作完成!!!!有安装Autoware的,可以查看点云-图像融合效果图(可参考下面两篇)本人是单独安装标定工具的,所以无法看融合效果。此标定工具多用几次就熟练了。

下一篇打算记录另外一个相机-雷达标定方法~可以对比一下结果、效果。

欢迎交流、欢迎打赏🤪~打赏基金将全部被我花掉!!!

提供一个制作标定板的链接:

https://calib.io/pages/camera-calibration-pattern-generator

参考教程:

https://blog.csdn.net/weixin_48657767/article/details/126054121?spm=1001.2014.3001.5502

https://blog.csdn.net/AdamShan/article/details/81670732

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

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

相关文章

由浅入深了解超文本传输协议http

什么是超文本传输协议? 超文本传输协议(英语:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万维网的数据通信的基础。 通过HTTP或HTTPS协议请求…

8年测开经验面试28K公司后,吐血整理出1000道高频面试题和答案

1、python的数据类型有哪些 答:Python基本数据类型一般分为:数字、字符串、列表、元组、字典、集合这六种基本数据类型。 浮点型、复数类型、布尔型(布尔型就是只有两个值的整型)、这几种数字类型。列表、元组、字符串都是序列。 2、列表和元组的区别 答…

postgresql 数据库 主从切换 测试

postgresql 数据库 主从切换 测试 文章目录postgresql 数据库 主从切换 测试前言环境:主从切换1. 查看数据库状态:2. 备库切换主库3. 旧主库切换成备库;4 查看状态后记前言 因数据库等保需要,需要对老系统的数据库进行主从切换来…

【企业云端全栈开发实践-2】Spring Boot Controller

本节目录一、Web入门二、控制器1、Controller2、RestController3、路由映射4、Method匹配5、参数传递6、entity实体层一、Web入门 Spring Boot将传统Web开发的mvc、json、tomacat等框架整合,提供了spring-boot-starter-web组件,简化了Web的应用配置。 …

一条推送的背后运营逻辑

每天我们的手机都收到大量信息,大多来自各APP的推送。每收到一条推送,不只是收到了一串简单的文字,背后还有一系列的隐藏逻辑。几年前我也做过“推送背后的女人”……(其实就是干过APP消息推送运营啦~^^~)今天就来分享…

【Java 面试合集】String, StringBuffer和StringBuilder 之间的不同

String, StringBuffer和StringBuilder 之间的不同 1. 概述 嗨,大家好【Java 面试合集】又来了,今天我们分享的主题是String, StringBuffer和StringBuilder 之间的不同。 大家别看这个知识点不难,但是里面的细知识很多…

利用Python实现局部异常因子(LOF)的计算

1 LOF算法 局部异常因子(Local Outlier Factor,LOF)算法是目前比较常用的离群点检测算法,该算法通过一种模糊的手段来判断数据对象是否为异常点。 对象ppp的kkk距离:在数据集DDD中,将对象ppp与距其第kkk远的对象ooo之间的距离定义…

(二十四)、实现评论功能(4)【uniapp+uinicloud多用户社区博客实战项目(完整开发文档-从零到完整项目)】

1&#xff0c;创建reply回复页面 1.1 在comment-item子组件中添加click <view class"comment-item" click"goReply">1.2 methods中添加点击跳转回复页面的方法 //跳转去回复页面goReply() {uni.navigateTo({url: "/pages/reply/reply"})}…

Linux 基础知识之权限管理

目录一、权限的认识二、用户切换三、文件权限1.三类文件访问者2.文件权限类型3.文件访问权限4.文件权限值表示一、权限的认识 权限是对用户所能进行的操作的限制&#xff0c;如果不对用户作出限制&#xff0c;那么碰到恶意用户&#xff0c;就会损害其他用户的利益。 Linux是多用…

最新文件快递柜系统网站源码-Fastapi+Sqlite3+Vue2+ElementUI-简洁好用

## 主要特色 - [x] 轻量简洁:Fastapi+Sqlite3+Vue2+ElementUI - [x] 轻松上传:复制粘贴,拖拽选择 - [x] 多种类型:文本,文件 - [x] 防止爆破:错误次数限制 - [x] 防止滥用:IP限制上传次数 - [x] 口令分享:随机口令,存取文件,自定义次数以及有效期 - [x] 匿名分享:无…

机器学习算法竞赛实战:如何看到机器学习竞赛问题?

机器学习算法竞赛实战-竞赛问题建模 更新《机器学习算法竞赛实战》一书的阅读笔记&#xff0c;更多详细的内容请阅读原书。本文的主要内容包含&#xff1a; 竞赛问题的3个主要部分-如何理解竞赛问题机器学习的样本选择如何线下评估模型实战案例 公众号&#xff1a;尤而小屋作…

scheduling Request(SR)

欢迎关注同名微信公众号“modem协议笔记”。 UE上报BSR&#xff0c;期望网络参照BSR&#xff0c;下发UL grant给UE以便发送UL data&#xff0c;正常情况下&#xff0c;整个过程都会比较顺利。但是世事难料&#xff0c;网络难免有自己的小脾气或者发送BSR不太顺畅&#xff0c;导…

通过Buildroot自制根文件系统

前言根文件系统是Linux内核启动之后读取的一个文件系统&#xff0c;并从这个文件系统中加载第一个init应用程序并启动&#xff0c;就是Linux上俗称的root进程、根进程制作它的方式有很多&#xff0c;例如busybox、yocto&#xff0c;但是这两个方式有缺点&#xff0c;第一个是bu…

JVM级别内存屏障如何禁止指令重排序的

承接上文证明CPU指令是乱序执行的当多个cpu访问同一份数据的时候怎么保证数据的一致性&#xff1f;在最底层级别的控制有好多种&#xff1a;第一种叫关中断&#xff0c;就是访问任何数据的时候必须有一个中断信号量的存在。很多传统的cpu就是靠它实现的&#xff0c;从内存读东西…

高速风筒的IPM模块解决方案

高速吹风筒是利用高转速产生的大风量来快速吹干头发&#xff0c;同时&#xff0c;高转速也使得电机与叶轮的体积缩小&#xff0c;便于设计出灵巧便携的外形。12万转的高速风筒的整体解决方案&#xff0c;满足高速吹风筒的所有应用场景&#xff0c;让客户用芯能的功率器件能更快…

PMP认证的PDU是什么?

PDU&#xff08;Professional Development Units&#xff09;即专业发展单元&#xff0c;是指您获取认证后&#xff0c;就项目管理专业进行学习、授课、或提供志愿服务的累积时间&#xff0c;以小时为单位&#xff0c;1小时即累积1个PDU。自证书获取日起&#xff0c;以三年为A周…

Ansible 多机自动化工具 初学笔记

此文档仅张聪明同学个人笔记&#xff1b;新负责KTH-RPL Cluster GPU的漫漫学习长路 English Docs: official https://docs.ansible.com/ansible/latest/index.html 中文相关文档&#xff1a; https://ansible.leops.cn/basic/Quickstart/https://blog.csdn.net/xinshuzhan/a…

java基础学习 day44(多态的优点和劣势)

1. 多态的优势 在多态形式下&#xff0c;右边对象可以实现解耦合&#xff08;即之后的代码与右边的子类对象不绑定&#xff0c;在更改子类对象后&#xff0c;之后的代码仍可以使用&#xff09;&#xff0c;便于扩展和维护在定义方法的时候&#xff0c;使用父类型作为参数&…

北京/东莞/广州/深圳2023年上半年软考(中/高级)报名>>>

软考是全国计算机技术与软件专业技术资格&#xff08;水平&#xff09;考试&#xff08;简称软考&#xff09;项目&#xff0c;是由国家人力资源和社会保障部、工业和信息化部共同组织的国家级考试&#xff0c;既属于国家职业资格考试&#xff0c;又是职称资格考试。 系统集成…

TCP/IP体系结构、Socket、进程PID、端口Port

计算机网络小结 一、TCP/IP体系结构 首先OSI参考模型&#xff0c;OSI将网络分为七层&#xff0c;自下而上分别是物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。 TCP/IP体系结构则将网络分为四层&#xff0c;自下而上分别是网络接口层、网络层、传输层、应用…