当前位置:首页 > 公众号精选 > 嵌入式微处理器
[导读]前言一个朋友在做服务机器人项目,用到思岚的激光雷达,于是便把淘汰的A1M8雷达送我一个,本着拿到啥就玩啥的态度,必须整一波。其实激光雷达还是搭配ROS才能发挥最大的作用,奈何资源有限,实力不足,只能依靠STM32开发板做一个及其简陋的地图扫描。思岚A1M8激光雷达这款激光雷达属于...


前言


一个朋友在做服务机器人项目,用到思岚的激光雷达,于是便把淘汰的A1M8雷达送我一个,本着拿到啥就玩啥的态度,必须整一波。其实激光雷达还是搭配ROS才能发挥最大的作用,奈何资源有限,实力不足,只能依靠STM32开发板做一个及其简陋的地图扫描。


思岚A1M8激光雷达


这款激光雷达属于低成本的360度激光扫描测距雷达,外置电机,使用皮带带动雷达转台转动,实现360度的测距扫描,电机的转速由MCU发送PWM控制。


外部系统通过 TTL 电平的 UART 串口信号与 RPLIDAR 测距核心进行通讯。通过本文档定义的通讯协议,外部系统可以实时获取 RPLIDAR 的扫描数据、设备信息、设备健康状态。并且通过相关命令调整 RPLIDAR 的工作模式。


按照不同的请求类型, RPLIDAR 具有三种不同的请求/应答模式:


标准的单次请求-单次应答模式

单次请求-多次应答模式

单次请求/无应答模式


对于停止扫描、重启测距核心这类请求命令, RPLIDAR 采用单次请求,但不做应答的通讯模式。此时外部系统需要在发送请求后等待一定的时间,待RPLIDAR 完成了上一次请求操作后方可继续执行下一次请求。否则第二次的请求将可能被 RPLIDAR 丢弃。


在此次应用中,主要采用后两种请求/应答模式,使用单次请求-多次应答模式采集测距数据,使用单次请求/无应答模式停止采样,进行数据的处理。


在单次请求-多次应答模式采集测距数据时,MCU发送采集指令,雷达会先回复一条起使应答报文,之后便会循环回复数据应答报文。



请求报文及起始应答数据格式如下:



在回复起始应答之后,雷达会循环回复测距数据。长度为5bytes。


 


例如测距数据为 3E D5 16 77 06。


第一个字节:3E,二进制为:0011 1110。代表信号质量为0x0f。信号质量不为零代表数据有效,起始标志位为0,代表不是新的一圈,该标志位只有在新的一圈的第一帧数据才会置一,该圈内的其余数据改为依旧是0。

第二个字节:D5,角度数据低七位。

第三个字节:16,角度数据高八位,加上第二个字节的低七位等于166A,再右移一位得B35。实际角度=835/64=44°,该角度表示与雷达零度的顺时针偏移角度,如下图。

第四个字节:77,距离数据低八位。

第五个字节:06,距离角度高八位。则此时距离为0x0677/4 = 413mm。



激光雷达测试:

接线:

雷达             MCU

GND----------->GND

RX------------->TX

TX------------->RX

V5.0----------->5V

GND----------->GND

MOTOCTL---->PWM

VMOTO------->5V


首先测试使用串口助手进行数据采集,这里将MOTOCTL接到5V电源,直接以最高速度进行采样。串口助手发送A5 20,可以看到数据滚动。



其中开头的七位数据对应起始应答,后面每5个字节一组,对应测距数据。雷达无损坏,开始连接开发板调试。


MCU代码:


既然是USART通信,我们先初始化USART,使用串口接收中断接收数据。


void USART_Config(void){ GPIO_InitTypeDef GPIO_InitStructure; USART_InitTypeDef USART_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; // 打开串口GPIO的时钟 DEBUG_USART_GPIO_APBxClkCmd(DEBUG_USART_GPIO_CLK, ENABLE); // 打开串口外设的时钟 DEBUG_USART_APBxClkCmd(DEBUG_USART_CLK, ENABLE); // 将USART Tx的GPIO配置为推挽复用模式 GPIO_InitStructure.GPIO_Pin = DEBUG_USART_TX_GPIO_PIN; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(DEBUG_USART_TX_GPIO_PORT,
嵌入式ARM

扫描二维码,关注更多精彩内容

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

超声雷达和激光雷达均属于先进的远程探测技术,尽管二者均依赖于发送信号至目标并分析反射回来的信息以获取距离、方位、速度等关键数据,但在物理机制、技术细节、应用领域以及优劣势上存在显著差异。

关键字: 超声雷达 激光雷达

激光雷达(Light Detection And Ranging,LiDAR)作为现代科技的产物,以其高度精准的空间感知能力在多个领域展现出了卓越的性能。激光雷达的多样性体现在多种分类方式上,本文将详尽阐述激光雷达的不同...

关键字: 激光雷达 LiDAR

激光雷达(Light Detection And Ranging,简称LiDAR)作为一项尖端的空间探测和测量技术,在众多领域中发挥着至关重要的作用,尤其是近年来在自动驾驶、机器人技术、遥感测绘、环境监测、国防安全等方面...

关键字: 激光雷达 LiDAR

激光雷达(Light Detection and Ranging,LiDAR)作为一种先进的遥感技术,通过发射和接收激光脉冲来精确测量目标的距离、速度以及形状信息,并生成高质量的三维点云数据。其中,激光雷达的测距方法是其...

关键字: 激光雷达 飞行时间

激光雷达(Light Detection And Ranging,简称LiDAR)作为一项精密的遥感技术,凭借其独特的三维空间感知能力与高度的数据准确性,在众多现代科技领域扮演着关键角色。

关键字: 激光雷达 固态激光

激光雷达(LiDAR,Light Detection and Ranging)作为一种先进的光电传感技术,凭借其精确的空间分辨率、高效的环境感知能力和丰富的信息提取手段,在地理测绘、自动驾驶、无人机、智慧城市、遥感科学等...

关键字: 激光雷达 自动驾驶

在现代科技尤其是自动驾驶、航空航天、军事侦察、遥感测绘等领域,雷达技术扮演着至关重要的角色。其中,激光雷达(LiDAR)与微波雷达虽然同属雷达家族,但在原理、性能指标以及应用场合上却有着显著的差异。本文将深入探讨激光雷达...

关键字: 激光雷达 微波雷达

在自动驾驶汽车、无人机导航、高级驾驶员辅助系统(ADAS)以及众多智能交通与测绘领域中,精准的距离探测和环境感知技术至关重要。激光雷达(LiDAR)与毫米波雷达便是两种先进的传感技术,两者各有千秋,均在现代科技中扮演着不...

关键字: 激光雷达 毫米波雷

激光雷达(LiDAR)作为一种广泛应用在无人驾驶车辆、机器人导航、地理信息系统、环境监测等领域的先进传感器,其准确性与可靠性至关重要。为了确保激光雷达提供的数据真实反映环境特征,各类校正技术被引入以消除系统误差、运动畸变...

关键字: 激光雷达 雷达校正

激光雷达(LiDAR),全称为光探测和测距系统,是一种通过发射和接收激光脉冲来获取周围环境高精度三维信息的先进技术。在自动驾驶汽车、无人机导航、地形测绘、气象研究等诸多领域中,激光雷达都起着至关重要的作用。本文将深入探讨...

关键字: 激光雷达 光学系统
关闭
关闭