Kinect DK相机和VLP-16雷达外参标定(用autoware的calibration_toolkit联合标定)

2023-05-16

Kinect DK相机和VLP-16雷达外参标定

  • 一、播放bag
    • 1.1 回放提前雷达相机录制好的bag
    • 1.2 启动标定工具
    • 1.3 修改Pattern Size和Number参数
    • 1.4 返回bag终端下空格播放数据
  • 二、开始外参标定
    • 2.1 在bag终端按空格继续回放数据
    • 2.2 点击[Grab]进行捕捉
    • 2.3 选择标定区域
    • 2.4 按“2”切回正交投影,按“-”不断放大直至看清
    • 2.5 不断调整选择圆形区域
    • 2.6 重复上述2.1-2.5的步骤
  • 三、结束外参标定,生成标定结果
    • 3.1 点击[Calibrate],计算生成外参矩阵数据;
    • 3.2 点击[Project]查看标定结果
    • 3.3 点击[save]保存标定结果

一、播放bag

1.1 回放提前雷达相机录制好的bag

标定工具订阅的是/points_raw话题,需要将激光雷达的原始节点名称改为/points_raw,即在如下命令后添加 /velodyne_points:=/points_raw

roscore
#在存放录制好的bag所在文件下新建终端
rosbag play --pause image_lidar_calibration.bag /velodyne_points:=/points_raw

在这里插入图片描述PAUSED表示停止播放状态,后面需要时按空格键进行播放和暂停控制。

1.2 启动标定工具

新建终端

source ~/calibration_toolkit/calibration/devel/setup.bash
rosrun calibration_camera_lidar calibration_toolkit

在这里插入图片描述在这里插入图片描述

1.3 修改Pattern Size和Number参数

配置标定板棋盘格参数:
·Pattern Size(m):标定板单元格边长,单位m,此处实验使用的标定板是0.097×0.097;
·Pattern Number:棋盘格标定板(每列单元格的个数-1)‎‎×(每行单元格的个数-1),即实际7×9——实验使用的标定板为6×8;
·修改Pattern Size和Number后关闭再重新运行上述命令,启动标定工具
配置标定板棋盘格参数;
·点击Load导入相机内参YAML文件(此处需先在ROS下进行Kinect相机的内参标定实验来得到.ymal文件)。
在这里插入图片描述

1.4 返回bag终端下空格播放数据

可以看到对应标定工具下出现image画面
在这里插入图片描述

二、开始外参标定

2.1 在bag终端按空格继续回放数据

选择到认为较好图像时按空格暂停
在黑色窗口下按键调试直至出现清晰的激光雷达扫描情况
(一般先按“2”看到出现稀疏点云后,按减号“-”放大,然后不断通过“a、d、w、s、q、e”进行旋转点云直至与左边图像角度基本一致)

调整视图操作按键
移动点云↑、↓、←、→、PageUp、PageDown
旋转点云a、d、w、s、q、e
切换视角“1”透视投影 ,“2”正交投影
放大放小“-”放大 ,“+”缩小
点云大小“o”点云变小 ,“p”点云变大
改变点云窗口背景颜色b

在这里插入图片描述

2.2 点击[Grab]进行捕捉

就可以得到相机标定面和对应的雷达点云图
在这里插入图片描述

2.3 选择标定区域

在右下角的点云图中,在标定板的中心位置左键选择圆形标定区域,尽可能与左图一致
在这里插入图片描述

2.4 按“2”切回正交投影,按“-”不断放大直至看清

在这里插入图片描述在这里插入图片描述

2.5 不断调整选择圆形区域

不断调整选择圆形区域,直至符合即表示完成一帧的标定

2.6 重复上述2.1-2.5的步骤

在录制的每个位置(大概9个)均选择多张(大概3-4张)进行标定,直至bag播放完毕
在这里插入图片描述

三、结束外参标定,生成标定结果

3.1 点击[Calibrate],计算生成外参矩阵数据;

在这里插入图片描述

3.2 点击[Project]查看标定结果

左下图中会散落红点到标定板上,根据标定版上红点投影情况以及重投影误差来判断标定结果的准确性;

在这里插入图片描述

3.3 点击[save]保存标定结果

保存的结果会生成.yaml文件,其中存放了Kinect相机和激光雷达各自的内参标定结果以及联合标定的外参结果。
在这里插入图片描述在这里插入图片描述在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Kinect DK相机和VLP-16雷达外参标定(用autoware的calibration_toolkit联合标定) 的相关文章

  • 【Uni-App】点击分享,生成海报带二维码,保存到本地图片,写入文字

    目录 一 xff1a 需求二 xff1a 分析三 xff1a 准备工作1 qrcode准备2 并且在main js去挂载 四 xff1a 页面构建1 html2 data3 js 二维码嵌入文字 一 xff1a 需求 1 产品需要这个商品
  • 【Uni-App】uniapp使用uview实现弹出键盘输入密码/验证码功能

    目录 xff08 一 xff09 效果图 xff08 二 xff09 使用组件说明keyboard属性 xff1a keyboard事件 xff1a xff08 五 xff09 js代码实现 xff08 一 xff09 效果图 xff08
  • printf 缓冲区原理 (你想知道的C语言 1.4)

    Q 缓冲区究竟是什么概念 A 缓冲 顾名思义 表示可以酌情商量有回旋余地 可以想象一种只能强制遵守且说一不二的情形 xff0c 一种可以协商开发此消彼长的模式 区 理解成可以协助存储 处理的物理位置 xff0c 一般理解成内存 计算机科学的
  • 【面试题】京东面试查漏补缺

    目录 一 xff1a 笔试题1 如何获取URL中的参数方法一方法二 2 怎么平铺多维数组方法一方法二 xff1a 递归方法三 xff1a flat 和 flatMap 二 xff1a 面试题1 promise相关问题2 vue nextTi
  • 【Vue3】element-plus中el-tree的递归处理赋值回显问题

    目录 一 xff1a 先获取所有权限tree二 xff1a 在获取所有该角色能有的权限tree三 xff1a 递归处理勾选tree节点 由于项目是从0 1开始构建的 rbac都需要重新构建对接 所以涉及到了权限管理和菜单管理 一级菜单包含多
  • 【ChatGPT】体验一下ChatGPT

    体验一下ChatGPT 可以帮你写代码 写邮件 编故事的神器 最近OpenAI 发布了备受期待的原型通用 ChatGPT xff0c 这是一种基于对话的 AI 聊天界面 xff0c 算是GPT 3 Generative Pre traine
  • vant进度条框架报错,百家云移动端h5点播SDK, 二维码分享

    vant进度条框架报错 错误信息 xff1a Invalid prop type check failed for prop percentage Expected Number 网上查找问题原因 xff1a 1 xff0c 因为vant进
  • 51单片机上数码管的静态显示和动态显示

    一 TX1C数码管介绍 共阴极和共阳极数码管 xff0c 实验板上是共阴极数码管 xff0c 6位一体的数码管 连接原理图如下面两图 xff1a 连在一起的段线 xff08 段选线即abcdefgh xff09 控制数码管亮什么数字 xff
  • 51单片机的键盘检测原理

    一 独立键盘检测 1 按键的检测原理 单片机的I O口既可以作为输出也可以作为输入使用 xff0c 检测按键时用的是输入功能 把按键的一端接地 xff0c 另一端与单片机的某个I O口相连 xff0c 开始时先给该I O口赋一个高电平 xf
  • 51单片机上AD和DA操作

    一 ADC0804的操作 1 试验板上ADC0804的接线图 AD芯片上的第5管脚INTR没有接线 xff0c 因为该实验板读取A D数据没有用中断法 xff0c 所以可以不接该引脚 2 芯片的操作时序图如下 操作芯片时基本按照此顺序操作各
  • ESP32上对flash的读取操作

    通过按键控制一个LED灯的亮和灭 xff0c 每次重启时读上一次的状态 span class token macro property span class token directive hash span span class toke
  • 正点原子stm32F407学习笔记6——外部中断实验

    一 GPIO与中断线的映射关系 GPIO 的管脚GPIOx 0 GPIOx 15 x 61 A B C D E xff0c F G H I 分别对应中断线 0 15 这样每个中断线对应了最多 9 个 IO 口 xff0c 以线 0 为例 x
  • 通俗易懂的socket select模型讲解

    通俗易懂的socket select模型讲解 FFFF ireCore 前面一篇介绍了服务器端使用多线程的方式来处理多个客户端的请求的 xff0c 但是当客户端数量增多时线程数量会急剧增加 xff0c 导致消耗大量的资源 于是就引出了服务器
  • 【esp32学习之路7——硬件定时器】

    一 概述 ESP32 的定时器分为 2 组 xff0c 每组 2 个 ESP32 内置 4 个 64 bit 通用定时器 每个定时器包含一个 16 bit 预分频器和一个64 bit 可自动重新加载向上 xff0f 向下计数器 详情可参考乐
  • gcc编译器与Makefile入门

    在Windows下开发通常使用各种IDE xff0c 但在Linux下进行C编程编译代码的话需要用到GCC编译器 一 编译流程 GCC 编译器的编译流程是 xff1a 预处理 编译 汇编和链接 预处理就是展开所有的头文件 替换程序中的宏 解
  • Linux中HTTP的请求

    HTTP请求的步骤 xff1a 1 建立TCP 通信连接 2 制定HTTP协议例如 xff1a GET HTTP 1 1 r nHost www baidu com r n r n 3 发送制定好的HTTP协议 4 接收服务器所返回的数据
  • Ubuntu安装RealSense驱动SDK

    Ubuntu安装RealSense驱动SDK 参考链接 官方链接 1 添加key span class token function sudo span apt key adv span class token parameter vari
  • (2)LOAM的安装运行——安装及运行问题解决

    真是一言难尽 xff0c 安装一步一个坎 xff0c 算吧差不多花了一天时间 xff0c 还好最后成功啦 xff01 上一篇对PCL的安装及测试进行了介绍 xff0c 下面开始安装LOAM和利用bag运行 参照https blog csdn
  • http是什么_作用以及报文详情_http的常见状态码

    http是什么 xff1f 一 http的定义 xff1a http Hypertext transfer protocol 超文本传输协议 xff0c 通过浏览器和服务器进行数据交互 xff0c 进行超文本 xff08 文本 图片 视频等
  • C++ string与int类型的转换

    Int转String 1 int 43 39 0 39 为对应的ASCLL码 可以通过强制类型转换将ASCLL码转成对应的字符 int digit 61 1 cout lt lt digit 43 39 0 39 lt lt endl 49

随机推荐

  • 设计性大作业(1) 简单路由器程序的设计

    简单路由器程序设计实验的具体要求为 xff1a 可在虚拟机上实现 xff0c 源码和操作文档加企鹅2805531180 xff08 1 xff09 设计和实现一个路由器程序 xff0c 要求完成的路由器程序能和现有的路由器产品 xff08
  • 堆和栈的存放内容

    栈 栈存放的是基本数据类型 43 引用变量名 int a 61 1 这里的a和1都存放在栈中 String b 61 abc 这里只有b存放在栈中 xff0c 而 34 abc 34 则存放在堆中 堆 堆存放的是new出来的对象 上述的St
  • 大字节序和小字节序

    一 基本概念 大字节序和小字节序是数据存储规则 小字节序是高位数据存储在内存高位地址 xff0c 低位数据存储在低位地址 大字节序是高位数据存储在内存低位地址 xff0c 低位数据存储在高位地址 二 程序判断 include lt iost
  • IMU让无人机控制变得更轻松

    多翼无人机广泛应用于监视和侦察 航空摄影和测量 搜索和救援任务 通信中继和环境监测 目前无人机的手动控制大部分基于视觉反馈 xff0c 所以操作环境中的障碍物会造成干扰 因此 xff0c 需要其他感官反馈 xff0c 例如触觉 xff0c
  • DB2reorg 和runstats使用

    DB2中 xff0c 如果使用alter更改表结构后 xff0c 需要执行reorg 命令消除碎片 xff0c 进行重组 xff1b 创建索引后 xff0c 需要执行RUNSTATS更新统计信息 xff0c 使索引生效 xff1b 如果修改
  • HTTP的8种请求方式及常用请求方式的解析

    一 什么是HTTP xff1f HTTP xff0c 即超文本传输协议 xff0c 是一种实现客户端和服务器之间通信的响应协议 xff0c 它是用作客户端和服务器之间的请求 客户端 xff08 浏览器 xff09 会向服务器提交HTTP请求
  • 星网宇达(惯导+IMU)设备实现自动采点

    一 创建和打开gps Road txt文件 xff0c 准备往里写数据 FILE span class token operator span p span class token operator 61 span span class t
  • 车辆自动采点

    一 整体思路 xff1a 车辆自动踩点需要获取千寻差分数据 xff0c 差分数据有两种格式 xff1a 分别是GPGGA和GRHDT xff0c GPGGA内存在车辆经纬度定位信息 xff0c GRHDT内存在转向角信息 xff0c 分别进
  • 安卓实现串口通信

    1 串口通信232的接线 一般通讯使用232串口的话 xff0c 我们会用到2 3 5接口 xff0c 根据安卓平板的标记依次接线 xff08 小白注意 xff1a 接收端要与发送端接入 xff0c 不要根据名称一样就接线 xff09 2
  • vins-mono编译报错

    vins mono 报错 xff08 opencv3 gt opencv4 xff09 报错原因error CV RGB2GRAY was not declared in this scopeerror CV BGR2GRAY was no
  • http协议之libcurl

    一 libcurl简介 libcurl是一个跨平台的网络协议库 xff0c 支持http https ftp gopher telnet dict file 和ldap 协议 libcurl同样支持HTTPS证书授权 xff0c HTTP
  • Vue项目实现页面加载进度条&分布阶段去除console

    目录 进度条 xff08 1 xff09 下载nprogress依赖 xff08 2 xff09 在main js中导入nprogress包 xff08 3 xff09 在request拦截器中 xff0c 展示进度条 xff08 4 xf
  • Jeston XAVIER NX 使用sudo apt-get install 安装ros过程中出现以下问题

    the following packages have unmet dependencies ros noetic desktop full Depends ros noetic desktop but it is not going to
  • esp32(ardunio环境)+python实现网关

    esp32 ardunio环境 xff09 43 python实现网关 使用ardunio 和VScode 以ESP32为客户端 xff0c 电脑为服务端收发消息 硬件准备 1 ESP32开发板 xff0c 数据线 环境准备 ardunio
  • Ubuntu18.04下 用lidar_align实现激光雷达VLP-16和Imu联合标定(未完成)

    Ubuntu18 04下 用lidar align实现激光雷达VLP 16和Imu联合标定 一 实现所用设备二 安装依赖 配环境2 1 依赖2 2 下载 Lidar 43 IMU 标定工具 xff1a lidar align xff0c 编
  • 记录学习过程中遇到的各种令人烦躁的问题(一)在ROS下安装GPS驱动 nmea_navsat_driver

    记录学习过程中遇到的各种令人烦躁的问题 1 在ROS下安装GPS驱动 nmea navsat driver 20201216问题 xff1a 解决方法 xff1a 每次在一个新系统下就会遇到莫名其妙的问题 xff0c 在另一个系统明明安装的
  • Pytorch深度学习神经网络(对CIFAR-10 dataset分类)

    Pytorch深度学习神经网络 一 PyCharm下新建python文件二 对CIFAR 10 dataset分类的神经网络代码1 依据网络图及计算公式2 具体代码详情 三 终端输入命令打开tensorboard可视化1 tensorboa
  • Pytorch深度学习——优化器

    Pytorch深度学习 优化器 一 PyCham下新建文件二 代码模块三 运行结果分析 继昨天损失函数Loss Functions学习后 xff0c 在此基础上加入优化Optimization 一 PyCham下新建文件 二 代码模块 就是
  • Panoptic-DeepLab: A Simple, Strong, and Fast Baseline for Bottom-Up Panoptic Seg论文复现

    Panoptic DeepLab A Simple Strong and Fast Baseline for Bottom Up Panoptic Segmentation论文复现 一 下载 二 环境配置 2 1 按照下方 how to u
  • Kinect DK相机和VLP-16雷达外参标定(用autoware的calibration_toolkit联合标定)

    Kinect DK相机和VLP 16雷达外参标定 一 播放bag1 1 回放提前雷达相机录制好的bag1 2 启动标定工具1 3 修改Pattern Size和Number参数1 4 返回bag终端下空格播放数据 二 开始外参标定2 1 在