基于二维激光雷达的三维激光扫描系统的设计与实现

2023-05-16

CSDN话题挑战赛第2期
参赛话题:学习笔记

学习之路,长路漫漫,写学习笔记的过程就是把知识讲给自己听的过程。这个过程中,我们去记录思考的过程,便于日后复习,梳理自己的思路。学习之乐,独乐乐,不如众乐乐,把知识讲给更多的人听,何乐而不为呢?

激光雷达目前依然是移动机器人和特种机器人导航定位比较理想的设备之一,和其他传感器诸如摄像机、超声波传感器不同,激光雷达以其测距速度快、精度高、获取信息直观的特点,使其比摄像机和超声波传感器在航空、军事和生活等领域得到了更多的使用。机器人通过串口等连接方式获得激光扫描采集的距离和角度信息,经过CPU 的处理计算,从而得到机器人所处环境的2D/3D点云信息。如果再运用诸如SLAM 等定位算法,甚至可以得到机器人在所处环境中的方位,同时创建出机器人搜索过路径的地图。激光测距雷达在特种移动机器人的研究中已成为了和超声波传感器、相机等一样不可缺少的感知周围环境的工具。

激光雷达主要分为二维激光雷达与三维激光雷达两类。二维激光雷达扫描时采用单束点状激光,因此只能单纯采集一个平面的距离信息,他们的原理大同小异,一般都是运用了高速光学振镜来激光扫描大范围的角度,同时通过主动发射和接收反射激光束,计算两束激光相位差来得到距离信息,都是很成熟的工业级产品,拥有一般10Hz 以上的扫描频率和可靠的性能,在精度上也能达到毫米级别,唯一的缺点是他们高昂的价格让人们望而却步。

三维激光雷达,顾名思义就是可以直接得到机器人周围环境的三维立体信息,原理有两种,其中第一种是利用一个二维激光雷达在扫描平面的同时,整个雷达还在另一个平面进行旋转,从而通过两个维度的旋转来得到三维信息。第二种原理是同时有多个激光发射器排列在装置上,同时发出多道激光,64 线激光雷就是其中的代表,此激光雷达能通过64 个激光发射器同时发出64 道激光,其中激光发射器垂直安装排列在旋转的装置上,每个相邻的激光发射器之间有0.4的角度间隔。因为3D激光雷达与2D激光雷达相比能直接得到周围环境的3D 距离信息,所以现在被广泛地应用于三维重建、环境感知、路径规划等领域。但是,三维激光雷达因为其高复杂度的装置构造,自然价格是普通二维激光雷达的几十倍。

本设计中提出了一种低成本3D 激光雷达解决方案并加以实现,原理是以一个普通二维扫描激光雷达为基本设备,再在其下安装一个舵机俯仰装置,将普通二维激光雷达和数字舵机相结合,通过数字舵机在另一个轴的旋转,来对3D扫描雷达的功能进行实现。本设计中的俯仰扫描装置采用数字舵机来实现,通过单片机来控制舵机的转速和转角。

在考虑了成本、精度和稳定性等因素之后,本设计中的三维激光雷达采用了国内团队开发的低成本二维激光雷达(LIDAR)解决方案,价格便宜,而且精度稳定性较好,性价比较高。360 度2D 激光雷达能在6米范围内进行全角度激光测距扫描,能够获取所在平面包含角度和距离信息的
点云地图。在每旋转一周采样360 点的配置下,此激光雷达拥有5.5hz 的扫描频率,特殊情况下的最高扫描频率能达到10hz。此激光雷达是基于激光三角测距的原理,同时搭配一个高速的视觉采集处理装置,每秒可进行高达两千次的测距行为。启动测距功能时,经过处理的红外激光信号从激光雷达发出,此红外激光信号在碰到待测物体后将产生发射光LIDAR 的视觉采集系统可以把反射光接收。LIDAR 内部嵌有DSP 处理器,可以实时对反射光的信息进行解算,最后被照射的待测物体和激光雷达之间的距离值以及此时的转角信息将从串口或者USB 接口中输出。

在这里插入图片描述
本解决方案的3D 激光扫描测距系统组成如图1 所示。整个3D 激光扫描系统主要有三部分组成,分别为一个普通的2D 激光测距雷达、数字舵机俯仰装置、对数字舵机进行控制和对激光雷达数据进行采集的单片机系统。

支架和旋转轴组成的俯仰扫描装置由一个数字舵机来进行驱动。本设计采用STM32 单片机实现激光雷达数据的采集和对数字舵机的控制。STM32 单片机系统可以看作计算机上位机和激光雷达、数字舵机数据通信的桥梁。一方面,STM32 单片机系统通过无线网络或者RS-232 串口和计算机上位机进行数据通信,计算机上位机发送指令信号给单片机系统,单片机系统得到指令则将指令转化为数字舵机与激光雷达的控制信号,从而控制数字舵机回到起始角度、转动指定角度,同时控制激光雷达离开扫描采样模式进入空闲状态、测距核心软重启、进入扫描采样状态、进入扫描采样状态强制数据输出、获取设备序列号等信息、获取设备健康状态等等。另一方面,STM32 单片机通过串口接收2D激光雷达发送的距离值以及当前的转角值,然后向上位机发送当前舵机俯仰角、2D 激光雷达测出的距离值以及当前的转角。 在这里插入图片描述
上图为三维激光扫描雷达的实物图。

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

基于二维激光雷达的三维激光扫描系统的设计与实现 的相关文章

  • 【ROS】的单线程Spinning和多线程Spinning

    参考 xff1a https www cnblogs com feixiao5566 p 5288206 htmlhttps www freesion com article 9499126134 https blog csdn net y
  • Intel RealSense D435i 深度相机介绍

    参考 xff1a https www sohu com a 340984033 715754https www chiphell com thread 1945054 1 1 htmlhttps blog csdn net cherry y
  • 【ROS】rosnode信息命令

    参考 xff1a https www cnblogs com kay2018 p 10314741 html 一 概述 ROS信息命令用于识别话题 服务 节点和参数等信息 尤其是rostopic rosservice rosnode和ros
  • 【ROS】launch文件详解

    参考 xff1a https www cnblogs com fuzhuoxin p 12588402 html 在节点少 xff0c 程序小的情况下可以一个一个节点来启动 xff0c 测试运行效果 xff1b 但是当工程规模大 xff0c
  • uC/OS-II的任务同步与通信

    在多任务合作过程中的 xff0c 操作系统应解决两个问题 xff1a 一是各任务之间应具有一种互斥关系 xff0c 即对于某个共享资源的共享 xff0c 如果一个任务正在使用 xff0c 则其他任务只能等待 xff0c 等到该任务释放该资源
  • Jetson Xavier NX系统烧录(使用NVIDIA SDK Manager)

    目录 一 在host主机下安装NVIDIA SDK Manager 二 安装系统镜像 三 设置SSD为系统启动项 四 安装CUDA等环境的包 注意 xff1a 本文使用的是国产开发套件 xff0c 不支持SD卡镜像文件烧录 一 在host主
  • 使用Spring Security,在登陆页面没有跳转的问题。(ssm)

    首先检查有没有在spring security xml中配置成功页面和失败页面 其次判断web xml中是否引用了spring security xml文件 最后 xff0c 如果上两步都没问题 xff0c 删去spring securit
  • for 循环嵌套性能的比较

    有人对着汇编语言不够一屑 xff0c 认为那已经是古老的低级语言 xff0c 是当今的非主流语言 xff0c 学了也不知道有什么用 是的 xff0c 我们不得不承认 xff0c 作为一门古老的语言 xff0c 汇编已经完成了历史赋予它的使命
  • 同一个单片机系统要做到共地

    同一系统可以不同的电源供电 xff0c 但是要做到共地 原因 xff1a 不同的仪器要连接成一个电气系统 共地就是建立一个共同的电位参考点 否则没有标准如何能够测量 同时 公共地一般也是接大地的地线 仪器外壳接地可以消除干扰信号
  • STM32串口下载程序

    STM32 串口下载程序 引言 xff1a 如果我们用下载器下载程序很快 xff0c 很方便 xff0c 但是需要购买下载器 xff0c 很破费 为此我们用串口 下载程序 xff0c 省去了购买下载器的麻烦 下面介绍用串口下载程序的方法 x
  • Python实现微信自动回复

    先安装 itchat requests itchat uos itchat uos主要解决微信提示禁止网页登录导致登录失败的问题 以下有三种可玩方式 xff1a 1 回复好友 源代码如下 xff1a wechat autoreply imp
  • linux屏幕录像

    安装 sudo apt get install kazam 功能 屏幕录像 屏幕截图 区域 全屏 窗口 自定义区域 音频 光标 扬声器 麦克风 配置 帧率 录音源 保存位置
  • 安卓串口通讯工具库封装及使用

    串口通讯 引言 对于安卓开发的小伙伴来说 xff0c 很少用到串口通信开发 主要用来外接一些硬件设备 xff0c 例如扫码器 xff0c 读卡器 xff0c 体温枪等一些硬件设备 这些设备与安卓之间通过串口来交换数据 如果有安卓串口开发这方
  • shell启动程序的四种方式

    需要执行script sh 文件 方式一 xff1a script sh 执行shell脚本时是在当前shell xff08 称为父shell xff09 开启一个子shell环境 xff0c 此shell脚本就在这个子shell环境中执行
  • ZED深度相机的使用--zed-ros-wrapper

    ZED相机能做什么 可以获取3D RGB点云用于生成地图 xff0c 带有imu传感器可以获取位姿与移动轨迹 xff0c 下面是厂家的宣传内容 下载并安装ZED SDK ZED SDK 3 6 Download Stereolabs Dev
  • 卡尔曼滤波(Kalman Filter)

    卡尔曼滤波 Kalman Filter 微信公众号 xff1a 幼儿园的学霸 个人的学习笔记 xff0c 关于OpenCV 关于机器学习 问题或建议 xff0c 请公众号留言 目录 TOC what is Kalman Filter 举个例
  • git提交Dockerfile到github并关联Dockerhub

    1 注册 amp 登录dockerhub https hub docker com 有账号的直接上边的Sign In登录 xff0c 没有的填写下面的信息 xff0c 进行注册 2 dockerhub方发起与github的账号关联 登录后右
  • 【时间规划】C/C++发展之路--读书

    0 xff1a 图书馆的N本C xff0c C 43 43 书 1 xff1a C语言深度解剖 2 xff1a 高质量C 43 43 c编程指南 3 xff1a C 43 43 primer第四版 4 xff1a Windows程序设计 5
  • 结构体对齐

    C程序结构体对齐 关于结构体对齐我把我的理解写下来 xff1b 结构体对齐的步骤 xff1a 1 xff0c 结构体各个成员对齐 xff1b 2 xff0c 结构体圆整 首先要了解几个概念 xff1a 1 xff0c 指定对齐值 xff1a
  • 全局变量-函数内部不允许修改局部变量的值

    全局变量 num 61 10 def demo1 希望修改全局变量的值 在 python 中 xff0c 是不允许直接修改全局变量的值 如果使用赋值语句 xff0c 会在函数内部 xff0c 定义一个局部变量 num 61 99 print

随机推荐

  • Docker镜像仓库

    Docker镜像仓库 搭建镜像仓库可以基于Docker官方提供的DockerRegistry来实现 官网地址 xff1a Docker Hub 简化版镜像仓库 Docker官方的Docker Registry是一个基础版本的Docker镜像
  • Intel 深度摄像D435i 的标定

    这个官方的标定链接 xff0c 先下载这个的pdf 文件在本地容易学习 xff1a https www intel com content www us en support articles 000032303 emerging tech
  • 树莓派Raspberry Pi上安装intel realsense 深度摄像头D435i

    全部按照官方 xff1a https github com IntelRealSense librealsense blob master doc installation raspbian md 更新系统到最新 xff0c 然后再启动 x
  • ROS应用开发入门 服务数据的定义和使用

    ROS是机器人操作系统的简称 xff0c 本文介绍ROS应用开发入门 xff0c 服务数据的定义和使用 客户端和服务端 之间通讯都使用服务数据 service data 本文先定义一个服务数据 xff0c 编译成功后 xff0c 用一个服务
  • ROS应用开发入门 tf 坐标系广播与监听的编程(python)

    ROS是机器人操作系统的简称 xff0c 本文介绍ROS应用开发入门 xff0c TF坐标系广播与监听的编程 小乌龟仿真中有2只乌龟 xff0c 键盘控制第1只乌龟走动 xff0c 2只乌龟都都广播自己的坐标 监听器听取2个乌龟的坐标 xf
  • 计算机保研面试常见问题(408数据结构简答题)

    1 什么是时间复杂度 xff1f O xff08 n xff09 的O代表了什么 xff1f 答 xff1a 时间复杂度是指执行算法所需要的计算工作量 xff0c 可以用于描述一个程序的规模 O xff08 n xff09 中的O表示的是最
  • 计算机保研面试常见问题(408操作系统简答题)

    1 操作系统的特点和功能是什么 xff1f 答 xff1a 操作系统的特点是并发 共享 虚拟 异步 其中 xff0c 并发和共享是操作系统主要的特点 操作系统的功能主要包括 xff1a 处理机管理 存储器管理 设备管理和文件管理等 操作系统
  • 计算机保研面试常见问题(408计算机网络简答题)

    1 能介绍一下OSI七层模型各层之间的功能与对应的协议吗 xff1f 答 xff1a OSI七层模型自底向上依次是 xff1a 物理层 数据链路层 网络层 运输层 会话层 表示层 应用层 各层的功能与相应的协议有 xff1a 物理层 xff
  • 从高考到程序员

    记得当年进入考场的时候也是志气满满 xff0c 心里念叨着一定要考上自己理想的大学 xff0c 光宗耀祖 当时坐在学校安排的bus上向考场的方向行进 xff0c 看到路边的交警叔叔 xff0c 情不自禁的喊了一声 xff0c 交警大哥辛苦了
  • 【姿态估计】Pose estimation algorithm 之 Robust Planar Pose (RPP)algorithm

    The RPP algorithm gives a more stable tracking less jitter than ARToolKit 39 s pose estimation algorithm The robust pose
  • STM32中,关于中断函数调用全局变量的问题

    本人菜鸟小白一枚 xff0c 第一次记录自己在学习中遇到的问题 xff0c 也当是与各位交流交流 首先是问题的描述 xff1a 硬件单片机型号 xff0c STM32F103VET6 xff0c IDE xff1a keil 5 想通过它实
  • 关于FreeRTOS操作系统遇到的一些小问题

    1 故障描述 今天在学习FreeRTOS操作系统关于计数量信号实验这一块的时候遇到了一个非常有意思的实验现象 就是程序任务的启动流程都是设置正确的 xff0c 但是两任务会有一个任务进不去 程序代码如下 include 34 bsp con
  • geometry_msgs::PointStamped

    geometry msgs PointStamped geometry msgs PointStamped File geometry msgs PointStamped msg PointStamped代表了一个带有参考坐标系和时间戳的点
  • 2030年的人工智能与生活(AI and Life in 2030)

    作者 xff1a Anqi 链接 xff1a https zhuanlan zhihu com p 22308870 来源 xff1a 知乎 著作权归作者所有 商业转载请联系作者获得授权 xff0c 非商业转载请注明出处 第一部分 xff1
  • FreeRTOS学习-day01

    FreeRTOS学习 day00 xff08 废话篇 xff09 书籍是 xff1a 使用两本书 正点原子 和 野火 野火 FreeRTOS 内核实现与应用开发实战 基于STM32 教程 正点 FreeRTOS源码与应用 STM32F1 F
  • 要写好综述类论文?这几个点你需要注意

    一 引 言 不管是哪种学科的哪种研究 xff0c 文献综述必不可少 文献综述具有承上启下的作用 xff0c 是学术研究和学术论文写作的一个重要环节 通过文献综述 xff0c 我们可以了解相关领域的研究现状 xff0c 在前人研究的基础上确定
  • 文献综述难点解析

    文献综述难在三点 xff1a 在研究的不同阶段 xff0c 读文献的目的是不同的 xff0c 如何搜索 如何选择文献 如何阅读 如何做笔记等的策略也是不同的 xff0c 需要我们不断换挡 xff1b 综合 xff08 synthesizin
  • gitee团队合作,上传文件到别人的Gitee仓库

    首先要确保在别人的Gitee项目中 项目创建人可以通过邀请拉其他人进入Gitee项目中 下面开始上传 第一步 xff0c 在任意位置 xff0c 基本上选择桌面 新建一个文件夹 xff0c 在里面点击右键 xff0c 选择 Git Bash
  • ROS教程(四):RVIZ使用教程(详细图文)

    ros教程 xff1a rviz使用教程 文章目录 前言一 RVIZ介绍1 数据类型介绍2 界面介绍 二 发送基础形状至RVIZ xff08 C 43 43 xff09 1 创建程序包2 创建节点3 编辑代码如下 xff08 示例 xff0
  • 基于二维激光雷达的三维激光扫描系统的设计与实现

    CSDN话题挑战赛第2期 参赛话题 xff1a 学习笔记 学习之路 xff0c 长路漫漫 xff0c 写学习笔记的过程就是把知识讲给自己听的过程 这个过程中 xff0c 我们去记录思考的过程 xff0c 便于日后复习 xff0c 梳理自己的