【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的运用说明 的相关文章

  • Ardupilot IMU恒温控制代码学习

    目录 文章目录 目录 摘要 第一章原理图学习 第二章恒温代码学习 1 目标温度怎么设置 摘要 本节主要学习ardupilot的IMU恒温控制代码 采用的飞控是pixhawk v5 欢迎一起交流学习 第一章原理图学习
  • Nvidia Jetson Xavier 上使用CAN

    为了利于回忆 xff0c 将自己查询到的资料在这里记录一下 资料一 xff1a 20条消息 NVIDIA Xavier CAN weifengdq的专栏 CSDN博客 资料二 xff1a 英文版Enabling CAN on Nvidia
  • APM添加参数

    APM添加参数 参考 https ardupilot org dev docs code overview adding a new parameter html 添加应用参数模块 例如 battery Parameters h k par
  • CAN总线多帧即连续帧数据发送 拆包与重装

    1939协议支持多帧数据发送即数据超过8个的帧发送 用户可以通过ID来识别当前帧是否为多帧发送 xff08 连续帧 xff09 xff0c 如果是多帧发送ID xff0c 举例 xff1a 1C EC F4 56 其中 F4和56为目标地址
  • CAN报文格式简析

    Date xff1a 2022 5 11 Author xff1a MJQ Meta xff1a CAN CAN基础篇 CAN报文格式简析 1 Motornala和Intel格式 建议直接看图 xff0c 小白也能秒懂 xff01 注 xf
  • 大疆M3508、M2006必备CAN总线知识与配置方法

    大疆M3508 M2006必备CAN总线知识与配置方法 文章目录 大疆M3508 M2006必备CAN总线知识与配置方法前言 xff1a 0x00 需要 额外的 CAN收发器 xff01 xff01 xff01 0x01 硬件层面分析为什么
  • APM中电机输出分析

    一 APM类分析 老规矩 xff0c 先上类图 xff08 1 xff09 如图 xff08 1 xff09 所示 xff0c AP Motors是大部分电机类的父类 xff0c 是AC AttitudeControl姿态控制类的保护型成员
  • CAN 与 CANFD数据报文格式解读

    ISO 11898 1 2015 协议详细定义了CAN网络报文的格式 xff0c 包含了传统CAN与CANFD帧格式 CAN网络的帧类型共有4种 xff0c 分别为数据帧 远程帧 错误帧 过载帧 本章将主要介绍CAN网络数据帧报文的格式 x
  • Linux下配置虚拟CAN

    1 加载vcan模块 sudo modprobe vcan 2 添加vcan0网卡 sudo ip link add dev vcan0 type vcan 3 查看当前CAN网络 ifconfig a 4 开启vcan0 sudo ip
  • kvaser pcie can 在ros中使用socketcan开发

    kvaser pcie can 在ros中使用socketcan开发 0 系统配置 Ubuntu 16 04 6 LTS Linux version 4 15 0 45 generic 1 官网下载地址 https www kvaser c
  • 25B无人直升机调试(Tuning)

    要知道的直升机原理 首先要掌握的5个飞行模式 本文首先调试自稳模式 Stabilize 自稳模式 Alt Hold 定高模式 Loiter OF loiter 悬停模式 RTL Return to Launch 返航模式 Auto 自动模式
  • STM32F042 CAN使用例子

    代码如下 include mycan h CAN初始化 tsjw 重新同步跳跃时间单元 范围 1 3 CAN SJW 1tq CAN SJW 2tq CAN SJW 3tq CAN SJW 4tq tbs2 时间段2的时间单元 范围 1 8
  • 山石岩读丨前沿领域探析——汽车CAN总线协议详解及攻击面分析

    1 CAN总线的基本概念以及由来 CAN Controller Area Network 总线协议是由 BOSCH 发明的一种基于消息广播模式的串行通信总线 它起初用于实现汽车内ECU之间可靠的通信 后因其简单实用可靠等特点 而广泛应用于工
  • 百度商业大规模微服务分布式监控系统-凤睛

    导读 作为凤睛早期的接入方 后期的核心成员 笔者经历了整个项目前后四年的变迁 看过项目的艰难开端 中期的默默积累以及后期的蓬勃发展 每一次架构的变迁都带着技术浪潮的烙印 也看到项目成员利用有限资源来解决实际问题而持续不断的创新 凤睛是百度商
  • MCP2515独立控制器

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

    一 CAN接口EMC设计概述 Controller Area Network简称为CAN 多用于汽车以及工业控制 用于数据的传输控制 在应用的过程中通讯电缆容易耦合外部的干扰对信号传输造成一定的影响 单板内部的干扰也可能通过电缆形成对外辐射
  • STM32学习心得三十二:CAN通信基础知识、原理、配置及实验

    记录一下 方便以后翻阅 主要内容 1 CAN通信基础知识 2 STM32 CAN控制器简介 3 相关实验代码解读 参考资料 STM32中文参考手册 V10 第22章 控制器局域网 bxCAN 实验功能 CAN实验需要两个开发板 系统启动后
  • 难懂?这样理解SPI与CAN很简单!

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

    1 STM32中CAN1与CAN2的过滤器组 103系列14个过滤器组 104 107系列28个过滤器组 CAN FilterInitStructure CAN FilterNumber 0 0 13 2 每组过滤器组有两种工作模式 标识符
  • STM32F407 CAN1 CAN2

    注意CAN1可以单独使用 CAN2要开启CAN1时钟才能使用 u8 CAN1 Mode Init u8 mode GPIO InitTypeDef GPIO InitStructure CAN InitTypeDef CAN InitStr

随机推荐

  • 顺丰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 端口或任何已刷