激光雷达研究笔记1:资料整理与学习_windows机对其评估使用

到手了一款型号为LDROBOT LiDAR LD19 的单线激光雷达模块,现对其进行学习使用:

1.对产品手册的研究:

 通读产品手册后,我提炼了几方面有用的信息:

 

1.测量依据:

 以下是激光雷达点云扫描示意图:

上电 后 3 秒内转速可稳定至 10±0.1Hz

LD19 测距核心采用 DTOF 技术,可进行每秒 4500 次的测距

每次测距时, LD19 朝前发射出红外激光,激光遇到目标物体后被反射到单光子接收单元。由 此,我们获取到了激光的发出时间单光子接收单元收到激光的时间,两者的时间 差即光的飞行时间,飞行时间再结合光速即可解算出距离。

 

2.pwm可控转速:

内部控速:

在 PWM 引 脚接地时,默认为内部调速,默认转速为 10±0.1Hz。 

外部控速:

外部控速需要在 PWM 引脚接入方波信号,可通过 PWM 信号占空比控制电机的启、停和转速。

a、输入 PWM 频率 20-50K,推荐 30K;

b、占空比在(45%, 55%)区 间内(不包含 45%和 55%),

c、最少 100ms 持续输入时间。

触发外部控速后就一直 处于外部控速状态,除非断电重启才会恢复内部控速;同时可以通过调节 PWM 占空比进行转速控制。 

3.串口单向发送数据:

LD19 采用单向通讯,稳定工作后,即开始发送测量数据包,不需要发送任 何指令。

测试数据表格式如下:

 起始符:     长度 1 Byte,值固定为 0x54,表示数据包的开始; 

VerLen:     长度 1 Byte,高三位表示帧类型,目前固定为 1,低五位表示 一个包的测量点数,

                    目前固定为 12,故该字节值固定为 0x2C;

雷达转速:  长度 2 Byte,单位为度每秒;

起始角度:     长度 2 Byte,单位为 0.01 度;

数据:          一个测量数据长度为 3 个字节,详细解析请见下一小节;

结束角度:   长度 2 Byte,单位为 0.01 度;

时间戳:       长度 2 Byte,单位为 ms,最大为 30000,到达 30000 会重新 计数;

CRC 校验:  前面所有数据的校验和;

解算示例:

 4. 坐标系:

LD19 使用左手坐标系,旋转中心为坐标原点,传感器的正前方定义为零度 方向,旋转角度沿着顺时针方向增大,具体如下图所示。

5.板载USB驱动:

USB 转接板采用了 CP2102 USB 转串口信 号芯片,电脑上需要安装对应USB驱动程序

安装成功后就可以在  此电脑-管理-设备管理器  查找到该设备了:

 

 2.Windows上位机对其的初步评测使用:

最简单的,在Windows上可以使用厂家提供的软件对其直接进行初步的评估使用:

软件下载地址如下:

Releases · ldrobotSensorTeam/ld_desktop_tool · GitHub

 这个软件没什么技术含量,连上电脑就能使用:

注意雷达的摆放和朝向、选择正确的device就行:

 空白处右键鼠标可以设置画面各个元素显示的颜色什么的:

 

 

 

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

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

相关文章

Linux信号机制(二)

目录 一、信号的阻塞 二、信号集操作函数 三、sigprocmask函数 四、pause函数 五、sigsuspend函数 一、信号的阻塞 有时候不希望在接到信号时就立即停止当前执行,去处理信号,同时也不希望忽略该信号,而是延时一段时间去调用信号处理函数。…

【Sql Server】通过Sql语句批量处理数据,使用变量且遍历数据进行逻辑处理

欢迎来到《小5讲堂》,大家好,我是全栈小5。 这是《Sql Server》系列文章,每篇文章将以博主理解的角度展开讲解, 特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对…

Qt配置OpenCV,无需编译

网上很多关于Qt配置OpenCV的教程都需要下载CMake编译Opencv,但是这种做法出错的概率很大,很多时候会受CMake或者Opencv版本的影响,又或者是没有使用Qt自带的Cmake-gui.exe程序,我在编译的时候也是频繁出错。 本文推荐的方法是使用…

【EDK II】作为UEFI的实现,EDK II 的架构是什么样的

目录 前言 EDK II 架构 配置文件 结语 前言 基本输入输出系统 (Basic Input Output System, BIOS) 最早由 IBM(International Business Machines Corporation) 公司于1981年提出并开发,后来成为个人计算机(PC)的标准固件接口。但受限于传统BIOS (Le…

MySQL的用户管理以及权限设置

用户管理 账户管理 我们在数据库里面创建用户,修改用户,删除用户,本质上就是对mysql数据库下的user表进行增删查改,用户的所有信息都存在这张表里,我们想要创建用户可以往user表insert,删除用户可以delet…

【Java基础概述-10】IO流、字节流、字符流、缓冲流、转换流、序列化、打印流、Properties属性集对象

目录 1、IO流概述 2、字节流的使用 2.1、FileInputStream字节输入流 2.1.1、读取方式一 2.1.2、读取方式二 2.1.3、字节流读取数据如何避免中文乱码 2.2、OutputStream字节输出流 2.3、案例:复制粘贴小案例 3、字符流 3.1、FileReader字符输入流 3.1.1、读…

打卡学习kubernetes——kubernetes架构原理

接上一篇的内容,除了核心组件,还有一些推荐的Add-ons: kube-dns 负责为整个集群提供DNS服务Ingress Controller 为服务提供外网入口Heapster 提供资源监控(没用过这个,但是用过grafana,很方便&#xf…

MySQL的事务隔离是如何实现的?

目录 从一个例子说起 快照读和当前读 事务的启动时机和读视图生成的时刻 MVCC 隐藏字段 Undo Log回滚日志 Read View - 读视图 可重复读(RC)隔离级别下的MVCC 读提交(RR)隔离级别下的MCC 关于MVCC的一些疑问 1.为什么需要 MVCC ?如果没有 MVCC 会怎样&am…

ov多域名SSL数字证书1200元一年送一月

随着互联网的发展,不论是个人用户还是企事业单位都不止有一个网站,为了保护网站安全,就需要为网站安装SSL证书,而SSL证书中的通配符SSL证书和多域名SSL证书都可以同时保护多个域名站点。其中,多域名SSL证书可以同时保护…

POS 之 验证者如何才能提议区块

验证者提议区块 验证者帐户提议区块。 验证者帐户由节点运营商(可以是AWS等待云服务商)管理,节点运营商运行验证者软件作为其执行和共识客户端的一部分,并且已经向存款合约中存入了至少 32 个以太币 然而,每个验证者只是偶尔负责提议一个区块…

jvm题库详解

1、JVM内存模型 注意:这个是基于jdk1.8之前的虚拟机,在jdk1.8后 已经没有方法区,一并合并到堆中的元空间了 JVM内存区域总共分为两种类型 线程私有区域:程序计数器、本地方法栈和虚拟机栈 线程共享区域:堆&#xff08…

android MMKV数据持久化缓存集合

前言 最近在使用mmkv缓存的时候 发现没有集合缓存 非常不方便 自己写一个方法 MMKV public class MmkvUtils {private MmkvUtils() {throw new UnsupportedOperationException("u cant instantiate me...");}public static void init() {MMKV.initialize(LeoUtils…

脚本.py文件转.exe文件遇见的问题,打开exe文件出现弹窗: No module named ‘xxx‘

目录 1 问题2 问题分析3 解决过程3.1 确保Pillow库存在3.2 迷惑阶段3.3 解决问题 4 希望大佬解答 1 问题 今天做了一个使用Python写的脚本文件.py,打算把它转换成.exe文件。点击生成的exe文件时,出现了如下弹窗。 2 问题分析 根据错误描述&#xff1…

国际黄金在哪里买?

国际黄金可以在以下几个主要的市场和渠道进行购买: 1. 黄金交易所:国际上有多个黄金交易所,其中最知名的是伦敦金属交易所(London Bullion Market Association,简称LBMA)。LBMA是全球最大的黄金交易市场&am…

Arrays --Java学习笔记

Arrays 用来操作数组的一个工具类 Arrays类提供的常见方法: 代码演示: import java.util.Arrays; import java.util.function.IntToDoubleFunction; import java.util.function.IntUnaryOperator;public class Arrays类 {public static void main(Str…

[JAVAEE]—进程和多线程的认识

文章目录 什么是线程什么是进程进程的组成什么是pcb 进程概括线程线程与进程的关系线程的特点 创建线程创建线程方法创建线程的第二种方法对比 其他的方式匿名内部类创建线程匿名内部类创建Runable的子类lambda表达式创建一个线程 多线程的优势 什么是线程 什么是进程 首先想…

OpenCASCADE开发指南<七>:OCC 中的数学基本类型和数学算法

1 标准对象的集合容器 在处理现实问题时,经常将问题抽象成一个数学模型,接着对模型求解, 然后将解提取出来以解决现实问题。 其实在 CAD 软件中, 主要解决的就是数学模型。因此,本节将描述 OCC 的数学基本类型和数学算…

JavaWeb06-MVC和三层架构

目录 一、MVC模式 1.概述 2.好处 二、三层架构 1.概述 三、MVC与三层架构 四、练习 一、MVC模式 1.概述 MVC是一种分层开发的模式,其中 M:Model,业务模型,处理业务 V: View,视图,界面展…

【LeetCode每日一题】2789. 合并后数组中的最大元素

文章目录 [2789. 合并后数组中的最大元素](https://leetcode.cn/problems/largest-element-in-an-array-after-merge-operations/)思虑&#xff1a;代码&#xff1a; 2789. 合并后数组中的最大元素 思虑&#xff1a; 1.因为要合并的条件之一是&#xff0c;num[i]<num[i1].所…