SOTA 激光相机标定velo2cam_calibration(待完成)

2023-05-16

最新激光相机标定velo2cam_calibration

  • 一、实验前提
  • 二、传感器调试
    • 1.1 相机(Kinect DK)
    • 1.2 激光雷达(Velodyne 16)
    • 1.3 调试
  • 三、通过ROS发布相机内参消息
    • 3.1 调试相机
    • 3.2 相机内参标定获得内参文件

一、实验前提

1.github上velo2cam_calibration源码
2.标定板制作,定制钢板材质
在这里插入图片描述
3. ArUco打印贴上去即可
AprilTag标记跟踪
请添加图片描述

二、传感器调试

1.1 相机(Kinect DK)

Ubuntu18.04下Azure Kinect DK 调试(SDK源码+ROS)无比详细踩坑教程

roslaunch azure_kinect_ros_driver driver.launch

此处我继续用之前做实验用的kinect,自己调试选择自己用的其他摄像头都是可以的

1.2 激光雷达(Velodyne 16)

Ubuntu18.04+ROS melodic+VLP-16激光雷达环境配置

roslaunch velodyne_pointcloud VLP16_points.launch

这里的地址ip自己用ifconfig查看
在这里插入图片描述

1.3 调试

![在这里插入图片描述](https://img-blog.csdnimg.cn/8592844d23164f8a89960aa12c39bedb.png在这里插入图片描述/home/nj/catkin_ws/src/velo2cam_calibration/include路径下velo2cam_utils.h 第30行改为#define DEBUG 1

三、通过ROS发布相机内参消息

3.1 调试相机

l连接好相机,roslaunch azure_kinect_ros_driver driver.launch
然后再开一个终端,输入rostopic list
在这里插入图片描述修改launch文件中话题
在这里插入图片描述

source devel/setup.bash
roslaunch velo2cam_calibration mono_pattern.launch

此处本应该会自动弹出一个opencv窗口进而检测到标定版的ArUco,但不知是时间戳未同步还是DK相机畸变个数问题(我的畸变参数只有5个,但是DK内有8个,不知道是不是这对应不上的原因)
换了D455i相机测试,直接就检测到了
下面就先改时间戳呐

3.2 相机内参标定获得内参文件

参考:根据相机内参向ROS发布camera_info

image_width: 720
image_height: 1280
camera_name: narrow_stereo
camera_matrix:
  rows: 3
  cols: 3
  data: [  977.1364 ,     0.     ,  1028.06099,
             0.     ,   978.37511,   773.36348,
             0.     ,     0.     ,     1.     ]
camera_model: plumb_bob
distortion_coefficients:
  rows: 1
  cols: 5
  data: [0.079672, -0.036074, -0.001217, -0.001615, 0.000000]
rectification_matrix:
  rows: 3
  cols: 3
  data: [ 1.,  0.,  0.,
          0.,  1.,  0.,
          0.,  0.,  1.]
projection_matrix:
  rows: 3
  cols: 4
  data: [ 1020.93921,     0.     ,  1023.06419,     0.     ,
             0.     ,  1023.7868 ,   770.68412,     0.     ,
             0.     ,     0.     ,     1.     ,     0.     ]

(这两行略过,不用管
c++读取yaml文件 )

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

SOTA 激光相机标定velo2cam_calibration(待完成) 的相关文章

  • 正点原子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

随机推荐