ardupilot开发 --- 避障篇

2023-09-21 15:25:52

避障的类型

  • 空中防碰撞ADSB,主要是防止与其他飞行器的碰撞;
  • 避障,防止与天花板地板障碍物的碰撞;

实现避障必要的传感器

  • ADSB receivers
  • Rangefinders or Proximity Sensors or Realsense Depth Camera

ADSB

https://ardupilot.org/copter/docs/common-ads-b-receiver.html#common-ads-b-receiver

路径规划和避障功能

这些方法用于避开接近传感器检测到的障碍物以及地面站设置的围栏;

传感器选择

  • Proximity Sensors 接近传感器
  • Rangefinders 测距仪
  • Realsense Depth Camera 深度相机(Realsense 品牌)

用户经常将测距仪与接近传感器混淆。测距仪通常是一维传感器,可以提供距离非常窄的光线的距离。接近传感器通常是360激光雷达和其他FOV更宽的传感器的名称。两类传感器使用的设置和参数不同。

Proximity Sensors 接近传感器

ArduPilot最多支持4个传感器。
360度激光雷达通常作为接近传感器用于物体规避,但多个测距仪传感器或立体深度相机也可用于接近检测。
选定一个接近传感器然后配置飞控并测试:
https://ardupilot.org/copter/docs/common-proximity-landingpage.html#common-proximity-landingpage

Avoidance Types 配置

Simple Object Avoidance

Copter支持水平和向上的简单物体回避;
简单目标规避可以使用地理围栏和围栏信标作为接近传感器,根据AVOID_ENABLE参数的设置;

算法介绍:

proximity sensor source 只能有一个:

  • 要么是一个360deg的雷达;
  • 要么是9个测距仪(rangefinders);

避障用于哪些飞行模式?

  • Horizontal object avoidance works in AltHold and Loiter modes.
  • Upward object avoidance works in LOITER, ALTHOLD modes only.
  • For Object Avoidance in AUTO and GUIDED modes in Copter and Rover, see Object Avoidance with Bendy Ruler or Object Avoidance with Dijkstra’s

原理与实现

any sensor capable of providing distances using the MAVLink DISTANCE_SENSOR message.
ardupilot需要距离传感器提供哪些数据?
源码:The AP_Proximity 和 AC_Avoidance.
待续:https://ardupilot.org/dev/docs/code-overview-object-avoidance.html#code-overview-object-avoidance

更多推荐

优化代码,提升代码性能

文章目录一、方法1.尽量指定类、方法的final修饰符二、变量1.循环内不要不断创建对象引用2.基本类型转换成字符串3.如果变量的初值会被覆盖,就没有必要给变量赋初值4.尽量使用基本数据类型,避免不必要的装箱、拆箱和空指针判断三、常量1.将常量声明为staticfinal,并以大写命名2.禁止使用JSON转化对象四、对

nvme prp模型代码处理流程分析

以下函数是prp相关的源码。/**prp模型,除了第一个dmaaddr不是page_size对齐的其余的dmaaddr都要求是page_size对齐的*/staticblk_status_tnvme_pci_setup_prps(structnvme_dev*dev,structrequest*req,structnv

Google Data Fusion构建数据ETL任务

Google云平台提供了一个DataFusion的产品,是基于开源的CDAP做的一个图形化的编辑工具,可以很方便的来完成数据处理的任务,而无需编写代码。假设我们现在要构建一个ETL的任务,从Kafka中消费一些数据,经过处理之后把数据存放到Bigquery中。首先我们要准备一些测试数据发送到Kafka。这里我是在GKE

2023年腾讯云轻量应用服务器16核32G28M配置测评

腾讯云轻量应用服务器16核32G28M配置优惠价3468元15个月(支持免费续3个月/送同配置3个月),轻量应用服务器具有100%CPU性能,系统盘为380GBSSD盘,28M带宽下载速度3584KB/秒,月流量6000GB,折合每天200GB流量,超出月流量包的流量按照0.8元每GB的价格支付流量费,地域节点可选广州

【自学开发之旅】Flask-restful-Jinjia页面编写template-回顾(五)

restful是web编程里重要的概念–一种接口规范也是一种接口设计风格设计接口:要考虑:数据返回、接收数据的方式、url、方法统一风格rest–表现层状态转移web–每一类数据–资源资源通过http的动作来实现状态转移GET、PUT、POST、DELETEpath组成:/{version}/{resources}/{

分布式运用之企业级日志ELFK+logstash的过滤模块

一、ELFK集群部署(Filebeat+ELK)在搭建ELK的基础上安装Filebeat服务,Filebeat服务可以布置在以下任意一台主机,本次实验将布置在apache服务器的节点上步骤一:安装Filebeat(在apache节点操作)#上传软件包filebeat-6.7.2-linux-x86_64.tar.gz到

面向对象进阶

文章目录面向对象进阶一.static1.静态变量2.静态方法3.static的注意事项二.继承1.概述2.特点3.子类可以继承父类中的内容4.继承中成员变量的访问特点5.继承中成员方法的访问特点6.继承中构造方法的访问特点7.this和super使用总结三.多态1.认识多态2.多态中调用成员的特点3.多态的优势和弊端四

Bigemap如何添加谷歌历史影像

工具Bigemapgisoffice地图软件BIGEMAPGISOffice-全能版BigemapAPP_卫星地图APP_高清卫星地图APP很多粉丝私信都在问怎么才可以看到谷歌的历史影像,其实这个图源目前是没有对大陆网络ip进行开放,所以如果需要查看,也是需要看你当前的网络是否允许查看,如果可以查看的话,就可以通过bi

AI也需要透明度?是的,需要

文章目录什么是AI透明度为什么需要AI透明度AI透明度的弱点如何做好AI透明度推荐阅读什么是AI透明度AI透明度指的是人工智能(AI)系统的工作原理和决策过程能够被理解、解释和追踪的程度。它包括以下几个方面:可解释性(Explainability)追踪性(Traceability)公平性和偏见检测(Fairnessan

【校招VIP】测试方案之测试需求分析

考点介绍:需求分析就是要弄清楚用户需要的是什么功能,用户会怎样使用系统。这样我们测试的时候才能更加清楚的知道系统该怎么样运行,才能更好的设计测试用例,才能更好的测试。测试方案之测试需求分析-相关题目及解析内容可点击文章末尾链接查看!一、考点试题1.有ABC三个员工,每个员工都有一个任务;任务类型有普通型和困难型;三个员

前端VUE---JS实现数据的模糊搜索

实现背景因为后端实现人员列表返回,每次返回的数据量在100以内,要求前端自己进行模糊搜索页面实现因为是实时更新数据的,就不需要搜索和重置按钮了代码HTML<el-dialogtitle="团队人员详情":visible.sync="centerDialogVisible"width="30%"center:close-

热文推荐