【Ardupilot (APM)】 Benewake(北醒) TFmini-i CAN 基于PixHawk的运用说明

2023-05-16

目录

  • 一、前言
  • 二、TFmini-i-CAN 配置
  • 三、接线
  • 四、飞控参数设定
    • 4.1 避障的常用设置
    • 4.2 避障测试
    • 4.3 定高的常用设置
    • 4.4 定高测试
  • 五、常见问题

一、前言

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

二、TFmini-i-CAN 配置

需要注意的是TFmini-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分析仪发送指令可以参考:
【快速测试】TFmini-i-CAN通过CAN分析仪与电脑通信操作教程
完成上述设置后,就可以进行物理连接和 Ardupilot 固件设置了。

三、接线

下图展示了如何将 TFmini-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 = [ 波特率:对于 TFmini-i ,它是 250000]

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

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

第一个 TFmini-i :

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

第二个 TFmini-i :

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

第三个 TFmini-i :

RNGFND3_RECV_ID = 5 [CAN 发送ID 十进制]
RNGFND3_MAX_CM=400
RNGFND3_MIN_CM=30
RNGFND3_ORIENT = 4 [#3 TFmini-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 TFmini-i 真实方向]
RNGFND4_TYPE = 34

4.4 定高测试

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

五、常见问题

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

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

【Ardupilot (APM)】 Benewake(北醒) TFmini-i CAN 基于PixHawk的运用说明 的相关文章

  • 下一代CAN通信技术CAN XL简介

    众所周知 xff0c CAN网络具有易于实现 可扩展 并支持复杂拓扑结构等诸多优点 xff0c 所以目前在各个行业特别是汽车领域 xff0c 得到了非常广泛的应用 但是 xff0c 它也存在着诸多问题 xff0c 其中最大的一点就是总线带宽
  • CAN报文格式简析

    Date xff1a 2022 5 11 Author xff1a MJQ Meta xff1a CAN CAN基础篇 CAN报文格式简析 1 Motornala和Intel格式 建议直接看图 xff0c 小白也能秒懂 xff01 注 xf
  • 在ubuntu20.4下安装ardupilot 4.3.6

    这次重新安装真的是遇到了好多坑啊 xff01 从github上靠过来按照之前的那篇文章流程做完之后 xff0c 还会有一些别的问题 首先是module里面的包都没有拷过来 xff0c 所以需要用git add将文件都添加过来 之后进行编译时
  • c#通过串口及CAN模块实现上位及下位机通讯

    目录 前言 一 串口 CAN总线 二 使用步骤 1 RS232串口通讯 xff08 指令下发与接收 xff09 2 CAN总线通讯 总结 前言 学习及工作中我们经常会遇到上位机与下位机通讯等工作 xff0c 结合场景使用不同的通讯方式实时通
  • CAN扩展帧过滤器设置

    纪要 CAN xff08 Controller Area Network xff09 总线是一种广泛应用于工业控制和汽车电子领域的串行通信协议 在CAN总线中 xff0c 节点间通过CAN总线发送和接收消息 每个CAN帧包含一个标准或扩展标
  • CAN为什么会发送失败

    CAN总线调试过程中出现报文发送失败 xff0c 很多工程师都对此只知其一不知其二 xff0c 这里就CAN报文发送失败的问题我们来做一次探讨 在了解CAN报文为什么会发送失败之前我们先看看一条正确的CAN报文到底应该是怎么样的 xff0c
  • CAN总线详解(转)

    1 简介 CAN是控制器局域网络 Controller Area Network CAN 的简称 xff0c 是一种能够实现分布式实时控制的串行通信网络 优点 xff1a 传输速度最高到1Mbps xff0c 通信距离最远到10km xff
  • Linux Socket CAN——驱动开发(转)

    Linux Socket CAN驱动开发 一 CAN总线协议 CAN是Controller Area Network 控制器局域网 的缩写 CAN通信协议在1986年由德国电气商博世公司所开发 xff0c 主要面向汽车的通信系统 现已是IS
  • CAN通信学习笔记(一)

    1 CAN通信的基本原理 1 1 基本概念 CAN 是 Controller Area Network 的缩写 xff08 以下称为 CAN xff09 xff0c 是 ISO 国际标准化的串行通信协议 在北美和西欧 xff0c CAN 总
  • Ardupilot笔记:Rover auto模式下的执行流程

    先从mode auto cpp的update 开始分析 流程如图 xff1a 进入函数update 后会执行函数navigate to waypoint mode auto cpp span class token keyword void
  • APM:ELK 与 Prometheus

    同为监控应用的两个平台 Prometheus和ELK的对比 ELK和Prometheus的对比 Prometheus ELK 轻量 部署相对简单 较重 组件较多 部署起来较麻烦 使用灵活 需要使用者会灵活运用 上手较为简单 适用于短期使用
  • Pixhawk VTOL SITL仿真

    Pixhawk VTOL 和 SITL Simulation 需求的软件 MAVProxy 下载地址 http firmware ardupilot org Tools MAVProxy MAVProxySetup latest exe C
  • CAN资料整理(三):CAN的位时间、同步、位定时

    目录 一 位时间 二 同步 1 硬同步 2 重新同步 三 位定时 1 传播段延迟时间的确定 2 位定时参数确定 由于CAN属于异步通讯 没有时钟信号线 连接在同一个总线网络中的各个节点会像串口异步通讯那样 节点间会使用约定好的波特率进行通讯
  • 各种通信接口的简单对比

    对比表 同步方式与异步方式的主要区别在于 是否传输时钟信号 只要是通訊前雙方需要設定相同波特率的 都是異步傳輸方式 异步传输 Asynchronous Transmission 每次异步传输的信息都以一个起始位开头 它通知接收方数据已经到达
  • MCP2515独立控制器

    1 简介 MCP2515 是一款独立控制器局域网络 Controller Area Network CAN 协议控制器 完全支持 CAN V2 0B 技术规范 该器件能发送和接收标准和扩展数据帧以及远程帧 MCP2515 自带的两个验收屏蔽
  • CAN总线的EMC设计方案

    一 CAN接口EMC设计概述 Controller Area Network简称为CAN 多用于汽车以及工业控制 用于数据的传输控制 在应用的过程中通讯电缆容易耦合外部的干扰对信号传输造成一定的影响 单板内部的干扰也可能通过电缆形成对外辐射
  • CAN 为什么需要收发器

    在RTL代码中集成了两个CAN node 打算直接连接将两个node的Rx和Tx对接 发现两个CAN Node无法通信 询问技术支持后才知道必须要收发器 那为什么一定需要收发器呢 除了转换单端的CAN信号用于不同的传输 收发器也会将CANT
  • CAN总线的报文分析(三)

    系列文章目录 文章目录 系列文章目录 前言 一 数据帧 最常用 1 帧起始 2 仲裁段 3 控制段 4 数据段 5 CRC段 6 ACK段 7 帧结束 二 远程帧 三 错误帧 四 过载帧 五 帧间隔 总结 前言 CAN总线上的节点发送数据都
  • 难懂?这样理解SPI与CAN很简单!

    难懂 这样理解SPI与CAN很简单 什么是串行通讯 为什么仍需使用串行通讯 SPI与CAN SPI 接口特点 CAN现场总线特点 什么是串行通讯 在正式进入主题前 我么先来介绍一下什么叫做 串行通信 串行通信是计算机的一种数据传输通信方式
  • pico示波器使用

    文章目录 Pico示波器保存波形 Pico示波器录制数据 Pico示波器解析CAN报文 Pico示波器保存波形 Pico示波器可以通过以下步骤保存波形 在示波器上选择要保存的波形 连接示波器到计算机上 可以使用USB或者Ethernet连接

随机推荐

  • 顺丰Java面试

    1 jvm中复制算法的原理 xff1b 2 线程有哪几种状态 xff1b 3 观察者模式的原理 xff1b 4 mysql中默认的隔离级别是什么 xff1b 5 redis常用的数据结构 xff1b 6 网络七层模型中的网络层的作用 xff
  • 关于双系统redhat7.6网络不可用

    博主安装的双系统是windows10和redhat7 6 xff1b 本来安装完一个星期内都是正常的 xff0c 两个都可以上网 xff0c 但是不知道是不是有一天windows自动更新了的原因 xff0c redhat突然就连不上网了 此
  • updateFill不生效

    mybatis plus core版本 xff1a 3 4 1 现象 xff1a insertFill正常 xff0c 但是updateFill一直执行不到 原因 xff1a 因为实体的参数名称没有定义为et 注 xff1a Constan
  • java指定时间,增加一年、一天、减十天等

    代码如下 xff1a span class token keyword public span span class token keyword static span span class token keyword void span
  • vue入门

    1 安装node xff08 node和npm是绑定的 xff0c 安装了node xff0c npm自然也就有了 xff09 xff1b 2 设置淘宝镜像 npm config set registry https registry np
  • 系统调用和进程切换时的寄存器信息保存在哪里?

    系统调用是什么 xff1f xff1f xff1f 系统调用是操作系统为用户提供的一系列API xff1b 系统调用将用户的请求发给内核 xff0c 内核执行完以后 xff0c 将结果返回给用户 xff1b 以open为例 xff0c 进行
  • 给一副扑克牌,求最长的顺子

    span class hljs preprocessor include lt iostream gt span span class hljs preprocessor include lt vector gt span span cla
  • lvs的四种工作模式及其优缺点比较

    1 VS NAT xff08 地址翻译实现虚拟服务器 xff09 调度器接受到客户端的请求之后 xff0c 根据调度算法 xff0c 将客户端的的请求发送给服务器 xff0c 服务器处理完请求 xff0c 查看默认路由 xff08 NAT模
  • 通过Linux学习RTOS

    通过Linux学习RTOS 原文 xff1a http blog csdn net zoomdy article details 50549901 mingdu zheng at gmail dot com RTOS应用很广 xff0c 种
  • 嵌入式软件使用POSIX接口的优缺点

    嵌入式软件使用POSIX接口的优缺点 POSIX xff0c 即Portable Operating System Interface xff0c 即可移植操作系统接口 是操作系统为应用程序提供的接口标准 POSIX标准同样适用于嵌入式软件
  • Cortex-M0/M0+屏蔽优先级低于BASEPRI设定的中断

    Cortex M3 M4 M7有BASEPRI特殊功能寄存器可以屏蔽优先级低于BASEPRI设定值的中断 xff0c 但Cortex M0 M0 43 没有BASEPRI寄存器 xff0c 不过仍然可以实现相识的功能 mingdu zhen
  • 双系统win+redhat7.6安装

    下载ISO镜像 xff1a 我从msdn itellyou cn下载了Windows10的镜像文件 xff0c 利用UltralSO刻录到U盘 xff08 打开软件 xff0c 选择菜单栏的文件 gt 打开 xff0c 选择下载的镜像 xf
  • 大道至简——RISC-V架构之魂(中)

    本文为 RISC V CPU设计 专栏和 RISC V嵌入式软件开发 专栏系列文章之一 注 xff1a 本文节选自 硅农亚历山大 所著国内第一本系统介绍CPU与RISC V设计的中文书籍 手把手教你设计CPU xff1a RISC V处理器
  • 嵌入式系统的分类

    按照嵌入式系统所使用的操作系统 xff0c 可以将嵌入式系统分成三类 xff1a Rich OS类 RTOS类 Bare metal类 mingdu zheng at gmail dot com https blog csdn net zo
  • 第04课: wiki 在 GitHub

    Git gt wiki什么人可以用 wiki xff1f wiki 本质是什么 xff1f GitHub wiki 的最佳实践 xff1f 提问 Git gt wiki GitHub 是基于 Git 的社交平台 xff0c 当然的 xff0
  • 路由器开发知识汇总

    ip route get lt address gt proc net nf contrack xff0c NAT操作只会修改回复方向 xff08 第二个 xff09 四元组 QNX route get lt address gt Wind
  • USB HS-PHY眼图调试

    1 USB2 PHY AFE 1 1 USB 2 0 FS PHY github ultraembedded core usb fs phy NOP USB transceiver for all USB transceiver which
  • USB SS-PHY Tuning

    1 USB 3 0 PIPE PHY 1 1 USB 3 0 PHY USB 3 0 PHY 61 PIPE wrapper 43 PCS 43 SerDes 1 2 SS PHY电流源 CML电流源串联在NMOS管的Source中 xff
  • TF系列在PX4上的应用

    北醒TF 系列在PX4 上的应用 PX4 有着自己独特的优势 xff0c 受到广大爱好者的喜爱 TF 系列是北醒推出的性价比极高的激光雷达 xff0c 受到广大爱好者的追捧 本文介绍TF 系列和PX4 的连接方法 本文档基于QGroundC
  • 【Ardupilot (APM)】 Benewake(北醒) TFmini-i CAN 基于PixHawk的运用说明

    目录 一 前言二 TFmini i CAN 配置三 接线四 飞控参数设定4 1 避障的常用设置4 2 避障测试4 3 定高的常用设置4 4 定高测试 五 常见问题 一 前言 TFmini i CAN PixHawk1 CAN 端口或任何已刷