(1)(1.13) LightWare SF10/SF11激光雷达

文章目录

前言

[1 连接到自动驾驶仪](#1 连接到自动驾驶仪)

[2 测试传感器](#2 测试传感器)


前言

Lightware SF10 和 SF11 系列(Lightware SF10 and SF11)激光测距仪特别轻巧,可提供快速、精确的距离测量。虽然价格略高于其他测距仪,但开发团队成员在使用过程中取得了良好的效果。该系列包括多种型号: SF10/A(25m)、SF10/B(50m)、SF10/C(100m)和 SF11/C(120m)。


1 连接到自动驾驶仪

下图显示了传感器的输出引脚以及用于连接自动驾驶仪的彩色编码电缆(通常随附或参见此处的规格)(see spec here)。可以使用 Serial、I2C 和模拟(Analog)连接,但我们建议尽可能使用串行(Serial)连接,尤其是使用 30cm 或更长的电缆时。

! Tip

使用较长电缆时,建议使用串行连接。

SF10测距仪:输出引脚

用于SF10测距仪的主电缆

串行连接

对于串行连接,你可以使用任何备用 UART。将 UART 的 RX 线连接到激光雷达的 TX 线,再将 UART 的 TX 线连接到激光雷达的 RX 线。同时连接 GND 和 5V 线路。你不需要流量控制引脚。

下图显示了如何连接 SERIAL4。

Pixhawk 和 SF10测距仪:串行连接 (SERIAL4)

然后,你需要设置串行端口和测距仪参数。如果你使用的是 Pixhawk 上的 SERIAL4/5 端口,则需要为第一个测距仪设置以下参数(在任务规划器配置/调优 | 完整参数列表页面中完成):

  • SERIAL4_PROTOCOL = 9 (Lidar);
  • SERIAL4_BAUD = 115 (115200 baud);
  • RNGFND1_TYPE = 8 (LightWareSerial);
  • RNGFND1_SCALING = 1;
  • RNGFND1_MIN_CM = 5;
  • RNGFND1_MAX_CM = 2500(用于 SF10A)、5000(用于 SF10B)、10000(用于 SF10C)或 12000(用于 SF11C)。这是测距仪能够可靠读取的距离,单位为厘米。该值取决于激光雷达的型号;
  • RNGFND1_GNDCLEAR = 10或更精确,即飞行器着陆时测距仪到地面的距离(厘米)。该值取决于测距仪的安装方式。

如果你使用的是 Pixhawk 上的 Telem2 端口,则应设置 SERIAL2_PROTOCOL = 9 和 SERIAL2_BAUD = 115。

2018 年 5 月之前生产的 Lightware 激光雷达默认波特率为 19200。如果你的设备是在此日期之前生产的,则需要将波特率设置为 19200(参数值 19)。或者,你也可以使用 Lightware 终端应用程序重新配置 Lightware 设备,使用 115200 波特率,并使用上述设置。

I2C 连接

将激光雷达的 SDA 线连接到 Pixhawk I2C 端口的 SDA 线,将激光雷达的 SCL 线连接到 I2C 端口的 SCL 线。同时连接 GND 和 5V 线路。

Pixhawk 和 SF10 测距仪: I2C Connection

然后你需要配置测距仪参数,如下所示(在任务规划器配置/调优 | 完整参数列表页面完成):

  • RNGFND1_TYPE = 7 (LightWareI2C);
  • RNGFND1_ADDR = 102(激光雷达的 I2C 地址,十进制)。请注意,此设置为十进制,而不是激光雷达设置屏幕中显示的十六进制。默认地址为 0x66,十进制为 102;
  • RNGFND1_SCALING = 1;
  • RNGFND1_MIN_CM = 5;
  • RNGFND1_MAX_CM = 2500(用于 SF10A)、5000(用于 SF10B)、10000(用于 SF10C)或 12000(用于 SF11C)。这是测距仪能够可靠读取的距离,单位为厘米。该值取决于激光雷达的型号;
  • RNGFND1_GNDCLEAR = 10或更精确,即飞行器着陆时测距仪到地面的距离(厘米)。该值取决于测距仪的安装方式。

可能需要启用传感器的"I2C兼容模式(Pixhawk)"。具体方法是使用 USB 调试线将激光雷达连接到电脑,然后下载 Lightware Studio,连接并选中下图所示的复选框。

! Warning

旧版 LightWare 测距仪的默认 I2C 地址为 85(十六进制 0x55)。为了防止与 ArduPilot 上的其他设备发生冲突,对该地址进行了更改。请检查测距仪系统设置以确定 I2C 地址。

模拟连接

SF10 的模拟输出引脚 (5) 应连接至 Pixhawk 的 3.3V ADC(模数转换器)。Pixhawk 将使用 ADC 连接器的 5V 和 GND 引脚提供传感器所需的稳压 5V 电源。

Pixhawk 和 SF10 测距仪:模拟连接

然后你需要设置 ADC 和测距仪参数,如下所示(在任务规划器配置/调优 | 完整参数列表页面完成):

  • RNGFND1_TYPE = 1 (Analog);
  • NGFND1_PIN = 14(3.3V ADC 连接器的第 2 个引脚);
  • RNGFND1_SCALING = 9.76(SF10A),19.531(SF10B),39.06(SF10C),46.87(SF11C);
  • RNGFND1_MIN_CM = 5;
  • RNGFND1_MAX_CM = 2000(用于 SF10A)、4500(用于 SF10B)、9500(用于 SF10C)或 11500(用于 SF11C)。这是测距仪能够可靠读取的距离,单位为厘米。该值取决于激光雷达的型号。请注意,与使用串行或 I2C 协议相比,该范围小 5m,因此可以可靠地检测到范围外的情况;
  • RNGFND1_GNDCLEAR = 10或更精确,即飞行器着陆时测距仪到地面的距离(厘米)。该值取决于测距仪的安装方式。

RNGFND1_SCALING 值取决于测距仪输出引脚在最大量程时的电压。默认情况下,SF10/B 将在 50m 处输出 2.56V 电压,因此缩放因子为 50m / 2.56v ≈ 19.53(每种测距仪的模拟测距范围可在 SF10 手册中找到)(SF10 Manual)。手册中说明了如何确认和更改最大输出范围/电压。

! Tip

我们强烈建议你通过比较已知距离的输出来调整 RNGFND1_SCALING 值。

2 测试传感器

传感器读取的距离可在Mission Planner飞行数据屏幕的状态选项卡中查看。仔细查看"sonarrange"(声纳范围)。

相关推荐
不悔哥8 小时前
无人机技术栈拆解:怎么才能做一台出来
无人机
Είναι η κοπέλα10 小时前
显存计算与模型选择:你的显卡能跑多大的模型
人工智能·pytorch·python·开源·conda
miofly12 小时前
Reflection AI 发布 501B 参数开放权重模型 Beam
开源·github
m4Rk_13 小时前
【论文阅读】Agent 记忆机制(91):THEANINE——不删除过时记忆,让 Agent 记住事情是如何变化的
论文阅读·人工智能·学习·开源·github
microrain14 小时前
同一个寄存器,四种读法:SagooIoT Modbus 驱动的字节序、宽度与功能码
物联网·golang·开源·sagooiot
EatFan16 小时前
从 CUDA 到昇腾:一张对照表拆解 DeepSeek 最新开源组件(TileLang / DeepGEMM / DeepEP / TileKernels)
开源·cuda·deepseek·deepgemm·tilelang·华为昇腾
ttwuai17 小时前
Go开源后台管理系统推荐:README、源码和License应该怎么验
开发语言·golang·开源
CEZ17 小时前
中小企业上 WMS 该先上哪几块:JeeWMS 开源 Java 仓库管理系统的分批上线清单
java·开源
miofly18 小时前
Opus 5.5 智能体发现两种室温磁性半导体候选材料,其中一种已有实验验证
开源·github
斯内普吖18 小时前
(开源)宠物饲养系统实战指南 基于 Java + SSM + Vue + MySQL
java·vue.js·mysql·开源·宠物