APM2.8 Rover 自动巡航车设计(超声波和红外测距仪的安装和设置)

2023-05-16

(转载)

4.1 ROVER自动巡航车自主壁障的设置

APM2.8的飞控驾驶仪的传感器接入支持超声波,电压传感器,电流传感器,光流传感器,红外传感器。其中超声波和红外传感器是模拟数据采集口(有电子技术基础的朋友应该知道),所以我们只能使用模拟信号输出的测距传感器。

board

图4.1 APM2.8自动驾驶仪传感器接入图

图上所示APM2.8的传感器可以接入的传感器非常多,有极好的扩展性,也有把APM的自动驾驶仪移植到树莓派和一些其他的嵌入式Linux系统之上,据说有一款APM的移植自动驾驶仪支持ROS系统,至于什么是ROS(机器人系统),可以百度。这些都是我们在以后教程中会和大家分享的,总之会非常好玩和有趣。 那么我们先从简单的开始,一步一步来,给大家展示好玩和专业的无人机设计制作教程。

1 硬件连接
APM控制板支持模拟输出的测距传感器,这里测试采用的是GP2Y0A02YK0F 20-150CM夏普的一款模拟输出红外传感器,超声波传感器的设置在下一章节中讲述。cgq

图4.1 夏普模拟测距传感器

该款模拟传感器的硬件连接十分简单,传感器的硬件三个引脚,分别是信号线,阳极,阴极。插入如图4.1中的A0,A1引脚即可,A0和A1的端口支持模拟电压信号的采集,巡航车左右各一个传感器。

2 模块校准和软设置

cejucgq

图4.2 测距传感器的设置选项

打开地面站软件MP,并且用USB线连接APM2.8的飞控驾驶板,在设置调试页面中,如果软件没有汉化就是在Standard Params和Advanced params的选项列表找到Rangefinder这个选项,一个基本选项和高级选项里面都有壁障模块的设置参数,一定要看仔细。可以看到Rangefinder function,Rangefinder pin,Rangefinder type,Rangefinder trigger distance(有障碍物的触发距离),  Rangefinder  triggerangle等等选项。比较重要的是测距模块的硬件引脚选择和触发距离。这里更具各种的传感器参数做出选择。

ranfg

图4.3  Full Parameter Tree 参数列表选项

其实在Full Parameter Tree在这个参数列表中可以看到更方便调整这些参数,mission planner做了归类。在全部的参数列表中(Full Parameter Tree),对测距仪的参数设置做了完整归类,找到RNGFND选项。在RNGFND中是全部的测距仪的参数调整,可以看到RNGFND和RNGFND2两个选项列表,说明这个版本的ROVER支持两个测距传感器,一般是巡航车的左右各一个。其中RNGFND_PIN是引脚选择和测距功能使能选项,如果选择-1就是关闭测距功能。接好传感器然后在这个选项里面输入0,也就是选择A0号端口,同时对应把传感器的信号线接入自动驾驶仪的A0号端。点击写入参数这个按钮之后,这时候一般都会写入成功,然后打开初始化设置的Sonar(声呐)校准这个选项,切换到Analog(模拟)选项,如图4.4所示。就会看见数据的变化,这时候遮挡测距传感器就会有数据变化,可以看见数据随着距离的变化而变化,这时候的采集到的距离数据不一定准确,可以调整图上所示的RNGFND_SCALING(电压距离转换转换比例系数),学过模拟电子的朋友知道这个传感器采集到的电压大小代表距离的远近,当然里面有个比例的关系,比如电压每上升0.1V标示,距离增加或减少0.1M,他们的比例关系就是1。当然这里还和电压采集的精度和传感器的精度有关系,我的这个传感器我设置的比例关系是40.还有其他的参数,请参考图4.3。还有这个网址是全部的参数说明:
http://rover.ardupilot.com/wiki/apmrover2-parameters/#l1_control_period_navl1_period

大家也可以参考这个官方网站的英文说明。

cessdsdsd

图4.4 声呐传感器校准
可以看到,电压可以随距离的变化而变化,更具这个关系,调整转换参数RNGFND_SETTLE。我目前用的夏普的一个模拟外测距传感器GP2Y0A02YK0F 20-150CM。这个传感器的是非线性传感器如图的系数:0到20 cm,一个阶段,20到150一个阶段。比例系数设置的40,没有太高的精度要求,加上这个传感器不是严格的线性传感器所以就设置了这个参数。这个参数可以基本的检测出20cm到110cm的距离,我设置的障碍物触发参数为50cm也就是小车感知到前方50cm左右有障碍物就45度角转向壁障。


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

APM2.8 Rover 自动巡航车设计(超声波和红外测距仪的安装和设置) 的相关文章

  • 【无人机】地面站QGC:软件架构

    版本信息 软件版本QGCV3 4Qt5 11 0Visual Studio2015 软件架构 main cc内209行 QGCApplication span class token operator span app span class
  • 【OpenCV】Python广角摄像头的畸变矫正

    效果图 三幅图像分别为矫正前 校正后和裁减后的图片 矫正后的图像有些奇怪 xff0c 需要把无用的部分裁剪掉 代码 步骤一 xff1a 拍摄棋盘图片 运行该程序 xff0c 按空格键拍摄棋盘信息 xff08 注意拍摄的棋盘要完整 xff09
  • 【Python】SimpleITK使用笔记

    文章目录 1 概念1 1 nii格式1 2 SimpleITK1 3 SimpleITK 图像 2 基本操作2 1 常见属性2 1 读取和保存图像2 2 SimpleITK图像数据和Numpy矩阵数据之间的转换 1 概念 1 1 nii格式
  • 【Python】SimpleITK 针对于 LiTS 数据集,获取最大肝脏面积的切片

    效果图 文章目录 1 window transform2 extract max slice3 extract max slice with seg 1 window transform 可以让图片更好看一点 span class toke
  • C# 中 yield return 和 yield break 关键字的用法

    yield 关键字向编译器指示它所在的方法是迭代器块 编译器生成一个类来实现迭代器块中表示的行为 在迭代器块中 xff0c yield 关键字与 return 关键字结合使用 xff0c 向枚举器对象提供值 这是一个返回值 xff0c 例如
  • 匿名飞控(拓空者)屏蔽遥控

    目录 一 理论程序中需要修改的部分 二 实操1 注意2 标记更改前更改后 3 CH N 赋值更改前更改后结果 三 注意 一 理论 程序中需要修改的部分 1 xff0c 先找到所有rc loss的标记 xff0c 赋值0 xff0c 不要让他
  • 【Python】使用VTK实现3D可视化医学图像(格式.nii.gz)

    需要安装依赖 itk 和 vtk xff0c 效果如下 代码 span class token keyword import span itk span class token keyword from span vtkmodules sp
  • 【vite】配置vite打包入口

    项目目录 vite的配置都在根目录下面的vite config ts里面 xff0c 在没有对其进行打包配置时 xff0c 默认的打包的入口就是根目录的 index html 这时候我们直接运行 npm run build就会打包相应的文件
  • Tomcat彻底卸载干净方法

    Tomcat软件自带卸载工具无法将自身卸载干净 xff0c 卸载后注册表 服务项仍然存在 xff0c 导致后续安装的新版本Tomcat无法正常使用 提供卸载方法如下 xff1a xff08 1 xff09 直接删除Tomcat安装所处的总文
  • Java 对象转化为Map

    方式一 利用FastJson 把对象转化为Map 64 MethodName getUserInfoDataByUserId 64 Description 根据useId查询用户信息 xff0c 封装成map key xff1a 属性名 x
  • Linux命令之mv命令

    mv命令是move的缩写 xff0c 可以用来移动文件或者将文件改名 xff08 move rename files xff09 命令格式 mv 选项 源文件或目录 目标文件或目录 1 当mv命令中的第二个参数类型 xff08 目标 xff
  • Linux查看当前时间

    一 查看和修改Linux的时区 1 查看当前时区 命令 xff1a date R 2 修改设置Linux服务器时区 方法 A 命令 xff1a tzselect 方法 B 仅限于RedHat Linux 和 CentOS 命令 xff1a
  • 如何查看redis版本号

    Windows下查看redis版本号 1 打开redis所在目录启动 redis server 服务器端 2 启动 redis cli 客户端 3 客户端输入 xff1a info 结果如下 xff1a linux下查看redis的版本号
  • 三个练手的软件测试实战项目(附全套视频跟源码)偷偷卷死他们

    项目一 xff1a 12306抢票项目 项目测试目的 学会Selenium定位web元素的方法 熟练浏览器调试工具使用 项目主体步骤 1 xff09 人工走一遍流程 xff0c 对自动化的流程心中有数 2 xff09 按步骤拆分 xff0c
  • 基于LSTM的多变量温度预测(python从入门到入坑)

    基于LSTM的多变量温度预测 xff08 python xff09 我保证他能够运行 xff0c 而且结果能够让你满意 xff08 如果你和我一样都是一个新手的话 xff09 这里写目录标题 基于LSTM的多变量温度预测 xff08 pyt
  • 安装RabbitMQ出现Plugin configuration unchanged.问题

    安装RabbitMQ出现Plugin configuration unchanged 问题 rabbitmq server和opt版本 出现问题 xff1a 在安装RabbitMQ并配置好环境之后运行命令rabbitmq plugins e

随机推荐

  • selenium之 如何控制网页内嵌div中滚动条的滚动

    http blog csdn net huilan same article details 52131277 很多人疑惑怎么用selenium控制网页div中滚动条的滚动 xff0c 其实这个问题很简单 xff0c 用JS很简单就可以实现
  • Mysql如何设置id自增

    xff08 1 xff09 设置自增 方案一 xff1a CREATE TABLE IF NOT EXISTS user id INT UNSIGNED AUTO INCREMENT name VARCHAR 100 NOT NULL se
  • Centos安装RabbitMQ超详细(必须收藏)

    最近搞了台liunx xff08 centos xff09 服务器 xff0c 想玩一下rabbitMQ 但是发现csdn没有一个详细或者便捷的安装流程 xff0c 特此写了这么一篇文章 xff01 记得三连 万分感谢 xff01 首先Wi
  • Mysql占用CPU过高排查过程及可能优化方案

    1 查看生产DB服务器top列表 xff0c 执行 top 命令 2 使用root用户登录mysql 执行 show full processlist 查看慢查询 xff0c 反复执行 xff0c 如果发现一直有select 查询语句存在
  • SQLServer2019安装(Windows)

    目录 一 SQLServer2019下载 1 官网下载地址 2 下载安装包 2 1 选择Developer版本 立即下载 2 2 选择下载位置 3 安装 3 1 打开 SQLServer2019 x64 CHS Dev iso
  • 香橙派4在armbian上应用自启动设置

    编辑了一个qt界面 需要设置开机启动 xff0c 费了九牛二虎之力 xff0c 终于搞定了 设置开机显示命令行 开机不显示图形界面 xff0c 直接显示命令行的操作有两种方法 xff1a 多用户方法 sudo systemctl set s
  • vscode 中git解决冲突,合并代码的两种方法

    一 报错信息 有文件冲突的话 xff0c 会报错 xff1a git merge pre span class token operator span master span class token comment 合并 pre maste
  • 用Python爬取淘宝4403条大裤衩数据进行分析,终于找到可以入手的那一条

    炎炎夏日 xff0c 长裤已难以满足广大男生的需求 xff0c 为了在搬砖和摆摊的过程中增添一丝舒适感 xff0c 他们开始寻找一种神奇的存在 大裤衩 J哥在种菜的这些日子里也日益感受到大裤衩的重要性 xff0c 于是 xff0c 默默打开
  • 用户标签有哪些类型,如何进行科学分类?

    标签的分类 xff0c 是理解用户标签 理解用户画像的基础 优秀的标签分类 xff0c 将使得标签画像系统易于用户的使用 本篇文章和大家简单介绍一下标签数据的分类 按照不同的分类方法 xff0c 标签的分类也自然不同 本文主要介绍几种最常规
  • Python字符串查找函数find

    Python字符串查找函数find 比较简单 xff0c 直接上代码 总结下规则 xff0c 结果数字说明 按字符串索引下标查询 xff0c 索引从0开始 xff0c 空格会占位并且有下标结果 1 xff0c 代表没有查找到英文区分大小写
  • 闲着看看jquery.ajax源码

    框架的作用就是简化我们做的事情 xff0c 却又不失灵活性 jquery是js框架中的中流砥柱 xff0c 灵活并且强大 jquery中对ajax的封装很完美 xff0c 且不说底层的ajax函数的强大 xff0c 但是其上层的get xf
  • java 转json 报错处理机制 案例 .

    JSON lib这个Java类包用于把bean map和XML转换成JSON并能够把JSON转回成bean和DynaBean http kingpingping iteye com blog 1157771 报错处理机制 commons b
  • 关于jquery对象的remove参数中出现伪位置类选择器,出现非预期结果的研究

    记得前几天有人在论坛发帖问了一个关于jquery删除节点的问题 原帖是这样的 xff08 原帖的地址是 xff1a 原帖 xff09 lt ul gt lt li gt 1 lt li gt lt li title 61 34 a 34 g
  • linux源码阅读利器-GNU GLOBAL Source Code Tag System

    学习浏览linux源码 xff0c 如果自己用自带的文本编辑器就太麻烦了 xff0c 但是如果安装强大的lxr那就太麻烦了 xff08 对于非debian用户来说 xff09 xff0c 找了很久找到了一个用起来很不错的源码浏览工具 xff
  • android 4.0.1源码编译,学习错误解决

    主机是fedora 14 linux内核2 6 35 6 swapon交换分区1 5G make version 3 81 官方指定的make版本 xff09 jdk 1 6 磁盘预留空间大概需要大于13G 具体的编译步骤可参考 Fedor
  • android webApp 调试问题解决

    前不久做了个webapp xff0c 在pc上chrome调试都是可以的 但是手机上显示却有点问题 xff0c 所以一直是想在手机浏览器上调试 xff0c 但是一直没有相关支持 xff0c 后来google终于出了chrome beta版
  • android系统源代码分析 书评

    其实接触android应用开发差不多两年了 xff0c 但是实际上并没与多少拿得出手的作品 因为在很长一段时间里我都在问自己android是什么 xff0c 内部怎么运行的 xff0c 为什么我的java代码就可以在linux上运行 xff
  • Fedora18博通430g电信无线拨号上网

    回家折腾了有两三天 xff0c 想让fedora18 也能蹭上网 首当其冲的问题就是fedora 没有为无线网卡安装驱动 xff0c 只能自己慢慢找驱动 费了好久找到上传了驱动下载 xff0c 满心欢喜按照README 编译 xff0c 结
  • VR技术的发展趋势,未来有哪些展望?

    虚拟现实技术Virtual Reality xff0c 缩写为VR xff0c 是一项全新的实用技术 虚拟现实技术包含计算机 电子信息 仿真技术于一体 xff0c 其基本实现方式是计算机模拟虚拟环境从而给人以环境沉浸感 目前来看 xff0c
  • APM2.8 Rover 自动巡航车设计(超声波和红外测距仪的安装和设置)

    xff08 转载 xff09 4 1 ROVER自动巡航车自主壁障的设置 APM2 8的飞控驾驶仪的传感器接入支持超声波 xff0c 电压传感器 xff0c 电流传感器 xff0c 光流传感器 xff0c 红外传感器 其中超声波和红外传感器