Nooploop空循环 基于ArduPilot开源自动驾驶仪平台(APM固件)的TOFSense/-F/-M全系列激光测距传感器应用图文教程

这篇具有很好参考价值的文章主要介绍了Nooploop空循环 基于ArduPilot开源自动驾驶仪平台(APM固件)的TOFSense/-F/-M全系列激光测距传感器应用图文教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1 前言

自2023/7/10日起ArduPilot飞控固件开始支持深圳空循环科技有限公司的TOFSense系列产品。从Plane/Copter/Rover 4.5 开始,Ardupilot 固件添加了对 TOFSense协议的支持,用于避障和高度保持。用户如果使用低于该版本的固件需要自行将相关文件进行移植与适当修改,才能支持TOFSense,TOFSense传感器驱动文件位置如下,移植可以根据使用模块的型号与模式参考下述分支链接的文件改动来进行移植。
TOFSense UART驱动分支链接
TOFSense CAN驱动分支链接
TOFSense-F IIC驱动分支链接
TOFSense-M LUA脚本驱动分支链接
APMGithub源码链接,M系列以lua脚本存在可以找官方技术支持获取
PS:以上链接为Github链接无法打开可以尝试更换网络或者等待一段时间再访问
apm固件,物联网,无人机,嵌入式硬件

2 TOFSense系列

使用Pixhawk 4飞控板作为演示

2.1 UART

2.1.1TOFSense 参数设置

使用UART模式进行通信,保持默认出厂参数即可,以下图设置为例
apm固件,物联网,无人机,嵌入式硬件

2.1.2 接线

用户需提前查看飞控UART接口线序,并自行准备一根6 to 4 pin的转接线,一般飞控会赠送,但是线序和端子可能并不匹配TOFSense需要手动更改一下线序,TOFSense标准接口为4P GH1.25,端子和线序为

TOFSense 飞控Pixhawk
VCC 5V
GND GND
RX TX
TX RX

下图以Pixhawk 4为例
apm固件,物联网,无人机,嵌入式硬件
注意:飞控板接口使用的线序与TOFSense系列的线序并不相同,用户需按照飞控板的数据手册提前自行准备好转接线,不要直接接上TOFSense可能会将TOFSense烧坏

2.1.3 飞控参数设定

打开Mission Planner,连接飞控,点击配置与调试,点击左侧全部参数表,在右侧搜索框中搜索下述参数名称并更改。

SERIALx_PROTOCOL = 9 
SERIALx_BAUDRATE = 921
RNGFND1_TYPE = 37
// x代表所选串口号
// 例如使用串口4获取数据则进行下述设置
SERIAL4_PROTOCOL = 9 
SERIAL4_BAUD = 921
RNGFND1_TYPE = 37

apm固件,物联网,无人机,嵌入式硬件
完成上述设置后点击右侧写入参数,然后重启飞控,Mission Planner重新连接飞控后,点击左上角的飞控数据,在快速页面双击后选择rangefinder1即可看到模块数据,或者点击状态找到rangefinder1也可以看到模块的数据。
apm固件,物联网,无人机,嵌入式硬件apm固件,物联网,无人机,嵌入式硬件

2.2 CAN(支持级联)

支持TOFSense/P/PS等型号

2.2.1 TOFSense 参数设置

TOFSense出厂默认模式为UART模式,CAN模式需要先使用NAssistant上位机对模块的参数进行一下更改,可以参考对应型号的用户手册,下述示例为3个TOFSense级联,ID分别设置为1、2、3
apm固件,物联网,无人机,嵌入式硬件apm固件,物联网,无人机,嵌入式硬件apm固件,物联网,无人机,嵌入式硬件

2.2.1 接线

注意:飞控板CAN使用的线序与TOFSense系列的线序并不相同,所以TOFSense自带的双头GH1.25的数据线并不能直接插上使用,用户需按照飞控板的数据手册提前自行准备好转接线,冒然接上可能会导致TOFSense烧坏等问题
下图为测试使用pixhawk 4 CAN接口定义
apm固件,物联网,无人机,嵌入式硬件

TOFSense 飞控Pixhawk
VCC 5V
GND GND
CAN_H CAN_H
CAN_L CAN_L

apm固件,物联网,无人机,嵌入式硬件
级联示意图
apm固件,物联网,无人机,嵌入式硬件

2.2.2 飞控参数设定

打开Mission Planner,连接飞控,点击配置与调试,点击左侧全部参数表,在右侧搜索框中搜索下述参数名称并更改。
以下以CAN1作为示例设置参数:

//CAN的配置
CAN_P1_DRIVER = 1
CAN_P1_BITRATE = 1000000
CAN_D1_PROTOCOL = 13

级联参数配置如下

RNGFND1/2/3/4/5_TYPE = 38
RNGFND1/2/3/4/5_RECV_ID = TOFSense模块ID

级联3个示例
RNGFND1_TYPE = 38
RNGFND1_RECV_ID = 1

RNGFND2_TYPE = 38
RNGFND2_RECV_ID = 2

RNGFND3_TYPE = 38
RNGFND3_RECV_ID = 3

PS:找不到CAN_P1_BITRATE先写入CAN_P1_DRIVER = 1重启飞控后就可以找到
完成上述设置后点击右侧写入参数,然后重启飞控,设置无误可以看到rangefinder1/2/3正常刷新
apm固件,物联网,无人机,嵌入式硬件apm固件,物联网,无人机,嵌入式硬件

3 TOFSense-F系列

3.1 UART

使用UART模式进行通信,保持默认出厂参数即可,以下图设置为例
apm固件,物联网,无人机,嵌入式硬件
其他操作与TOFSense设置操作一致,参考2.1 UART章节

3.2 IIC (支持级联)

3.2.1 TOFSense-F IIC参数设置

TOFSense-F出厂默认模式为UART模式,IIC模式需要先使用NAssistant上位机对模块的参数进行一下更改,可以参考对应型号的用户手册,下述示例为7个TOFSense-F IIC模式级联,ID分别设置为0~6,各个模块ID需要记住,后续在设置飞控参数时会用到。
下图以ID 0参数设置,其余模块除ID外剩余参数均一致
apm固件,物联网,无人机,嵌入式硬件

3.2.2 接线

注意:飞控板IIC接口线序与TOFSense系列的线序并不相同,所以TOFSense自带的双头GH1.25的数据线并不能直接插上使用,用户需按照飞控板的数据手册提前自行准备好转接线,冒然可能会将TOFSense烧坏
下图为测试使用pixhawk 4 IIC接口定义
apm固件,物联网,无人机,嵌入式硬件

TOFSense 飞控Pixhawk
VCC 5V
GND GND
SDA SDA
SCL SCL

级联接线示意图,TOFSense-F只有一个GH1.25接口,所以级联需要自行转接,可以参考如下示例接线图
apm固件,物联网,无人机,嵌入式硬件

3.2.3 飞控参数设定

打开Mission Planner,连接飞控,点击配置与调试,点击左侧全部参数表,在右侧搜索框中搜索下述参数名称并更改。

RNGFND1/2/3/4/5_TYPE = 40
RNGFND1/2/3/4/5_ADDR = TOFSense模块ID + 8

由于TOFSense-FIIC地址由0x08开始,所以RNGFNDx_ADDR需要模块id+0x08

// 7个TOFSense-F IIC级联参数设置如下
RNGFND1_TYPE = 40
RNGFND1_ADDR = 8

RNGFND2_TYPE = 40
RNGFND2_ADDR = 9

RNGFND3_TYPE = 40
RNGFND3_ADDR = 10

RNGFND4_TYPE = 40
RNGFND4_ADDR = 11

RNGFND5_TYPE = 40
RNGFND5_ADDR = 12

RNGFND6_TYPE = 40
RNGFND6_ADDR = 13

RNGFND7_TYPE = 40
RNGFND7_ADDR = 14

完成上述设置后点击右侧写入参数,然后重启飞控,操作无误的话可以看到rangefinder1~7正常刷新
PS:如果发现Mission Planner只有3个rangefinder,那么你需要更新一下Mission Planner,更新至1.3.81版本之后
apm固件,物联网,无人机,嵌入式硬件

4 TOFSense-M系列

TOFSense-M系列是比较特殊的一款模块,以LUA脚本形式进行开发,所以不局限于Ardupilot的固件版本,只需要稍微配置以及添加脚本文件即可。

4.1 UART

因为LUA脚本限制,TOFSense-M的波特率必须设置为230400才能正常通信
apm固件,物联网,无人机,嵌入式硬件

4.1.1 接线

用户需提前查看飞控UART接口线序,并自行准备一根6 to 4 pin的转接线,一般飞控会赠送一根但是线序并不匹配TOFSense-M需要手动更改一下线序,线序为

TOFSense-M 飞控Pixhawk
VCC 5V
GND GND
RX TX
TX RX

下图以Pixhawk 4为例
apm固件,物联网,无人机,嵌入式硬件

4.1.2 飞控参数设定以及添加脚本文件

建议用户先对LUA脚本的使用有个大致的了解,可以参考Ardupolit官方写的LUA脚本教程
第一次添加时先使能脚本

SCR_ENABLE = 1
SCR_HEAP_SIZE = 150000

写入参数重启飞控,在空循环官网下载或找技术支持要对应脚本文件,TOFSense-M_Serial.lua然后通过MP ftp上传脚本文件到"scripts"文件夹
也可以使用Mission Planner来上传文件,点击配置/调试,点击左边出现的MAVFtp,找到APM/scripts,将脚本文件拖到右边空白处即可完成上传,添加成功后如下图显示
PS:打开APM下面没有scripts这个文件夹怎么办
apm固件,物联网,无人机,嵌入式硬件
之后依次设置

SERIAL4_PROTOCOL = 28
SERIAL4_BAUD = 230

下面两个设置二选一
1、以1D的数据输出
此项设置是将TOFSense-M以1D的传统传感器进行输出,输出值为rangefider1,输出逻辑为输出每帧64个像素点距离中最小值

RNGFND1_TYPE = 36
TOFSENSE_S1_PRX = 0

apm固件,物联网,无人机,嵌入式硬件
2、以3D的形式输出
此项设置是将TOFSense-M以3D的接近传感器进行输出

PRX1_TYPE = 15
TOFSENSE_S1_PRX = 1

在Mission Planner按下ctrl+F出现temp页面,找到Proximity即可看到模块数据。Ardupolit目前没有针对接近数据的三维可视化。所以目前看到的只是二维数据,但实际上 ArduPilot 是以三维方式处理所有数据。
apm固件,物联网,无人机,嵌入式硬件

4.2 CAN

apm固件,物联网,无人机,嵌入式硬件

4.2.1 接线

注意:飞控板CAN使用的线序与TOFSense系列的线序并不相同,所以TOFSense自带的双头GH1.25的数据线并不能直接插上使用,用户需按照飞控板的数据手册提前自行准备好转接线,不要冒然接上TOFSense可能会将TOFSense烧坏
apm固件,物联网,无人机,嵌入式硬件

TOFSense 飞控Pixhawk
VCC 5V
GND GND
CAN_H CAN_H
CAN_L CAN_L

apm固件,物联网,无人机,嵌入式硬件

4.2.2 飞控参数设定以及添加脚本文件

建议用户先对LUA脚本的使用有个大致的了解,可以参考Ardupolit官方写的LUA教程
第一次添加时先使能脚本

SCR_ENABLE = 1
SCR_HEAP_SIZE = 150000

写入参数重启飞控,在空循环官网下载对应脚本文件,TOFSense-M_CAN.lua然后通过MP ftp上传脚本文件到"scripts"文件夹
也可以使用Mission Planner来上传文件,点击配置/调试,点击左边出现的MAVFtp,找到APM/scripts,将脚本文件拖到右边空白处即可完成上传,添加成功后如下图显示
PS:打开APM下面没有scripts这个文件夹怎么办
apm固件,物联网,无人机,嵌入式硬件

如果主控使用的CAN1连接TOFSense
CAN_D1_PROTOCOL = 10
CAN_P1_DRIVER = 1

如果主控使用的CAN2连接TOFSense
CAN_D2_PROTOCOL = 10
CAN_P2_DRIVER = 2

下面两个设置二选一
1、以1D的数据输出
此项设置是将TOFSense-M以1D的传统传感器进行输出,输出值为rangefider1,输出逻辑为输出每帧64个像素点距离中最小值

RNGFND1_TYPE = 36
TOFSENSE_PRX = 0

apm固件,物联网,无人机,嵌入式硬件
2、以3D的形式输出
此项设置是将TOFSense-M以3D的接近传感器进行输出

PRX1_TYPE = 15
TOFSENSE_PRX = 1

在Mission Planner按下ctrl+F出现temp页面,找到Proximity即可看到模块数据。Ardupolit目前没有针对接近数据的三维可视化。所以目前看到的只是二维数据,但实际上 ArduPilot 是以三维方式处理所有数据。
apm固件,物联网,无人机,嵌入式硬件文章来源地址https://www.toymoban.com/news/detail-761372.html

到了这里,关于Nooploop空循环 基于ArduPilot开源自动驾驶仪平台(APM固件)的TOFSense/-F/-M全系列激光测距传感器应用图文教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 自动驾驶国家新一代人工智能开放创新平台产业化应用

    【摘要】:当前,全球新一轮科技革命和产业变革正孕育兴起,自动驾驶作为人工智能最重要的应用载体之一,对于加快交通强国、智能汽车强国建设,具有十分突出的战略意义。我国自动驾驶研发应用,面临技术、资金、应用等诸多挑战,为此,需要打造一套符合我国国情

    2024年02月14日
    浏览(56)
  • 60+开源数据集资源大合集(医学图像、卫星图像、语义分割、自动驾驶、图像分类等)

    疟疾细胞图像数据集 下载链接:http://suo.nz/2VQTUt 皮肤癌 MNIST:HAM10000 下载链接:http://suo.nz/33n6Xy 该数据集收集了来自不同人群的皮肤镜图像,通过不同的方式获取和存储。最终数据集包含 10015 张皮肤镜图像,可用作学术机器学习目的的训练集。案例包括色素病变领域所有重

    2024年02月06日
    浏览(39)
  • ArduPilot开源飞控系统之简单介绍

    ArduPilot是一个可信赖的自动驾驶系统,为人们带来便利。为此,提供了一套全面的工具,几乎适用于任何车辆、无人机、潜艇、气球等设备。 作为一个开源项目,在用户社区的快速反馈的基础上不断发展。相应的开发团队与社区和商业合作伙伴合作,为ArduPilot添加惠及所有人

    2024年02月12日
    浏览(36)
  • Ardupilot开源飞控之Wiki修改操作

    最近为了为了增加一些Ardupilot Wiki内容,对Wiki的编辑提交步骤整理一下,以便后续工作的展开。 修改过程大致可以分为两大类: 页面编辑修改 增删页面修改 原文链接详见:Wiki Editing - Quick Edits Create a Github account if you do not have one already 没有Github账号的同学,需要首先申请G

    2024年02月05日
    浏览(46)
  • 特斯拉Dojo超算:AI训练平台的自动驾驶与通用人工智能之关键

    特斯拉公开Dojo超算架构细节,AI训练算力平台成为其自动驾驶与通用人工智能布局的关键一环 在近日举行的Hot Chips 34会议上,特斯拉披露了其自主研发的AI超算Dojo的详细信息。Dojo是一个可定制的超级计算机,从芯片到系统全部由特斯拉自主设计,主要目标是高效运行各种机

    2024年02月07日
    浏览(44)
  • 开源飞控初探(四)ArduPilot::Copter固件源码分析

    2022.5.7,基于v4.0.5的分析。官网文档没及时更新,本文对当前版本源码的描述可能和官网不一样。 上图中的Flight Code层,分为5个部分: 车机层 。一份代码通过编译配置,可以支持Rover(小车/船)、Copter(直升机,包括多旋翼)、Plane(固定翼飞机)、Sub(潜水器)、AntennaT

    2024年02月07日
    浏览(35)
  • 基于AidLux的自动驾驶智能预警应用方案

    1. 自动驾驶感知算法及AidLux相关方案介绍 1.1自动驾驶 自动驾驶汽车,又称无人驾驶车、电脑驾驶车、无人车、自驾车,是一种需要驾驶员辅助驾驶或者完全不需要操控的车辆。作为自动化载具,自动驾驶汽车可以不需要人类操作即能感知环境及导航。 1.2 自动驾驶系统的组成

    2024年02月13日
    浏览(37)
  • 自动驾驶路径规划——基于MATLAB的栅格地图

    目录 前言 1.什么是栅格地图?  1.1栅格地图用于路径规划的优势: 2.MATLAB栅格地图的绘制  MATLAB代码  声明        这个学期学校开设了相应的课程,同时也在学习古月居机器人学系列的《基于栅格地图的机器人路径规划指南》,为了巩固知识,方便自己的学习与整理,遂以

    2024年02月04日
    浏览(41)
  • 基于Matlab/Simulink开发自动驾驶的解决方案

    文章目录 处理自动驾驶数据 仿真自动驾驶场景 设计感知算法 设计规划和控制算法 生成代码和部署算法 集成和测试 参考文献         使用 MATLAB/Simulink开发自动驾驶,能够深入建模真实世界的行为、减少车辆测试并验证嵌入式软件的功能,从而推进自动驾驶感知、规划和

    2024年01月20日
    浏览(37)
  • 基于边缘计算AidLux的自动驾驶智能预警应用方案

    上传源码至AidLux(具体操作见前面AIGC帖子) 配置环境: cd YOLOP/YOLOP pip install -r requirements.txt pip install torch 1.8.1 torchvision 0.9.1 -i https://pypi.mirrors.ustc.edu.cn/simple/ pip install onnxruntime -i https://pypi.mirrors.ustc.edu.cn/simple/ 进行推理: python tools/demo.py --source inference/images 报错进行如下操作

    2024年02月12日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包