Benewake(北醒) TF02-i-CAN 雷达在Ardupilot (APM)上基于PixHawk的运用

一、前言

TF02-i CAN PixHawk1 CAN 端口或任何已刷新 Ardupilot 固件并具有 CAN 接口的飞控连接。
从 Copter 4.1.4 开始,Ardupilot 固件添加了对 CAN 协议的支持,用于避障和高度保持。

二、TF02-i-CAN 配置

需要注意的是TF02-i有485和CAN两种不同的硬件版本
所以在购买激光雷达时,请注意购买带CAN接口的激光雷达。
多个 LiDAR 可以连接到单个 CAN 总线。 我们需要为每个 LiDAR 分配不同的 CAN ID。
每个 LiDAR 的波特率需要设置为相同的值。
在 LiDAR 端,我们有两种类型的 CAN ID:

  • Send ID:它在 CAN 总线端成为 Receive ID(如果我们连接多个 LiDAR,我们需要将此 ID 设置为新值。)
  • Receive ID:它成为 Send ID 在 CAN 总线方面,我将考虑三个 LiDAR 示例

但 Ardupilot 最多支持 10 个传感器。
这些命令在 LiDAR 手册中有详细提及,但为了方便起见,我将在此处添加它们。
仍然建议仔细阅读 LiDAR 的手册,其中有一些要点。

5A 0E 51 00 08 03 00 00 00 04 00 00 00 C8 [将发送 ID 更改为 04]
5A 0E 51 00 08 03 00 00 00 05 00 00 00 C9 [将发送 ID 更改为 05]
5A 0E 51 00 08 03 00 00 00 06 00 00 00 CA [将发送 ID 更改为 06]
5A 04 11 6F [保存设置]
5A 05 60 01 C0 [启用 120Ω 终端电阻]
5A 05 60 00 BF [禁用(默认)120Ω 终端电阻]
5A 0E 51 00 08 03 00 00 00 03 00 00 00 C7 [将发送 ID 更改回默认 03]

关于 LiDAR 上的终端电阻的一些细节:
虽然 LiDAR 上的电阻默认禁用并且 LiDAR 在不启用电阻的情况下工作,但添加电阻有助于降低传输的等效电阻,因为并联增加更多的电阻会降低等效电阻。 因此,如果您在数据稳定性方面遇到任何问题,那么您可以通过发送我在上面添加的命令来启用 LiDAR 上的电阻器。
发送上述命令需要CAN分析仪。
如果不太清晰如果使用CAN分析仪发送指令可以参考:
【快速测试】TF02-i-CAN通过CAN分析仪与电脑通信操作教程]
完成上述设置后,就可以进行物理连接和 Ardupilot 固件设置了。

三、接线

下图展示了如何将 TF02-i CAN 与 PixHawk 飞控连接。
在这里插入图片描述

  • 请注意将正确的线连接到飞控的正确引脚。 看控制器的pinout,pin配置是从左到右开始的

在这里插入图片描述

  • 相关连接器需用户自行购买,LiDAR连接器为1.25mm间距的7针JST。
  • 如果激光雷达朝下,请注意镜头与地面的距离,应大于激光雷达的盲区(10cm)。
  • 如果需要连接更多的激光雷达(可以连接10个激光雷达),方法相同。
  • 电源应满足产品说明书电流电压要求:7V至30V,大于100mA*激光雷达数量。 我用的是 12V 电源

四、飞控参数设定

4.1 避障的常用设置

AVOID_ENABLE= 3
AVOID_MARGIN=4
PRX_TYPE=4

CAN-1 端口设置:

CAN_P1_DRIVER = 1
CAN_D1_PROTOCOL = 11 CAN_P1_BITRATE = [ 波特率:对于 TF02-i ,它是 250000]

对于 pixhawk1,我们只有一个 CAN 接口,但如果有多个接口 然后配置CAN-2接口的参数。
CAN-2 端口设置:

CAN_P2_DRIVER = 1
CAN_D2_PROTOCOL = 11
CAN_P2_BITRATE = [波特率:TF02-i 为 250000]

第一个 TF02-i :

RNGFND1_RECV_ID = 3 [CAN 发送ID 十进制]
RNGFND1_GNDCLEAR=15 [单位:cm,取决于模块的安装高度,应大于 LiDAR 盲区。]
RNGFND1_MAX_CM = 400 [可根据实际需要更改,但应小于激光雷达的有效测量范围,单位为厘米]
RNGFND1_MIN_CM =30 [可根据实际需要更改,应大于激光雷达非探测区,单位为厘米]
RNGFND1_ORIENT=0 [#1 TF02-i 真实方向]
RNGFND1_TYPE = 34

第二个 TF02-i :

RNGFND2_RECV_ID = 4 [CAN 发送ID 十进制]
RNGFND2_MAX_CM=400
RNGFND2_MIN_CM=30
RNGFND2_ORIENT = 6 [#2 TF02-i 真实方向]
RNGFND2_TYPE = 34

第三个 TF02-i :

RNGFND3_RECV_ID = 5 [CAN 发送ID 十进制]
RNGFND3_MAX_CM=400
RNGFND3_MIN_CM=30
RNGFND3_ORIENT = 4 [#3 TF02-i 真实方向]
RNGFND3_TYPE = 34

设置好这些参数后,点击软件右侧的Write Params完成

4.2 避障测试

如何查看激光雷达的目标距离:在键盘上按Ctrl+F键,会弹出如下窗口:
在这里插入图片描述
点击按钮Proximity,会出现如下窗口

在这里插入图片描述
绿色数字表示避障模式下距离激光雷达的距离,当距离变化或窗口打开、关闭、放大或缩小时,该数字会刷新。
编写本教程是 v1.3.72。

4.3 定高的常用设置

假设我们使用第四个激光雷达来保持高度。
将飞控板连接到任务平面,从下栏选择左侧的【完整参数列表】-【CONFIG/TUNING】。 查找并修改以下参数:

PRX_TYPE = 0 [如果 RNGFND4_ORIENT = 25 等于 4 也给出值]
RNGFND4_RECV_ID = 6 [CAN 发送ID 十进制]
RNGFND4_GNDCLEAR = 15 [单位: cm,取决于模块的安装高度, 定高需要此参数。]
RNGFND4_MAX_CM = 400 [可根据实际需要更改,但应小于激光雷达的有效测量范围,单位为厘米]
RNGFND4_MIN_CM = 30 [可根据实际情况更改,应 大于 LiDAR 非探测区域,单位 cm]
RNGFND4_ORIENT = 25 [#4 TF02-i 真实方向]
RNGFND4_TYPE = 34

4.4 定高测试

选择选项 sonarrange,见下图
在这里插入图片描述
距离 LiDAR 的高度距离会以 Sonar Range(米)显示,见下图
在这里插入图片描述

五、常见问题

如果出现“Bad LiDAR Health”的错误信息,请检查连接是否正确,电源是否正常。
配置好参数后请让飞控完全重新上电,否则不会发生更改。 如果您的电池已连接到您的飞行控制器,请同时断开

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值