当前位置: 首页 > news >正文

(3)(3.1) 英特尔Realsense深度摄像头(二)

文章目录

前言

5 配置ArduPilot

6 地面测试:飞行前验证

7 飞行测试

8 实验

9 数据闪存记录


前言

本文介绍如何将英特尔 Realsense 深度摄像头(Intel Realsense Depth Camera)与 ArduPilot 配合使用,以实现避障(obstacle avoidance)。该方法使用在配套计算机上运行的 Python 脚本(非 ROS)向 ArduPilot 发送距离信息。


5 配置ArduPilot

用地面站(如 Mission Planner)连接自动驾驶仪,检查是否设置了以下参数:

  • SERIAL2_PROTOCOL  = 2MAVLink2)。请注意,这是假定配套计算机连接到 AutoPilot "Telem2"端口;
  • SERIAL2_BAUD = 921 (921600 baud)。 

启用你自己选择的任何避障(obstacle avoidance)行为。本 wiki 将以简单的避障行为(Simple avoidance behavior)(停止/滑行)为例:

下面是第一个接近传感器的设置示例:

  • PRX1_TYPE  = 2: for MAVLink
  • AVOID_ENABLE = 7:"全部",使用所有障碍物信息源,包括"接近"传感器。 

LoiterAltHold 模式的具体示例:

  • AVOID_MARGIN  =1.5:飞行器在距离障碍物多少米处会尝试停车或沿障碍物滑行;
  • AVOID_BEHAVE = 1:飞行器应在障碍物前停止 (1),还是绕过障碍物滑行 (0);
  • AVOID_DIST_MAX = 1.5:在 AltHold 状态下,飞行器开始偏离障碍物的距离;
  • AVOID_ANGLE_MAX = 3000:飞行器尽量偏离障碍物的程度。 

可选项:你可以指定一个 RC 开关来启用"避让",而不是默认的始终打开。在 Mission Planner 中设置 RC7 以打开"避让"的示例:

修改参数后,重新启动自动驾驶仪

6 地面测试:飞行前验证

要验证 APSync 映像是否正常工作以及一切配置是否正确,请确保 ArduPilot 接收到 OBSTACLE_DISTANCE 消息,在 Mission Planner 上:按下 Ctrl+F 并单击 "Mavlink Inspector"(Mavlink 检查器),你应该可以看到输入的数据:

  •  如果遥测连接稳定,OBSTACLE_DISTANCE 信息的数据频率应接近 15hz。如果不是,请使用 USB 电缆连接 APGCS,确保 AP 按预期接收到避障数据后再继续操作。 

Mission Planner 中,打开 Proximity view (Ctrl-F > Proximity):

  •  将飞行器/深度摄像头置于一些障碍物前方,检查距离最近的障碍物的距离是否准确,并显示在"接近"视图中; 

  •  近距离视图会将弧度在 45 度以内的所有距离集中在一起(飞行器周围共有 8 个象限),因此在任何时候,近距离窗口上最多只能显示 3 个最近的障碍物(因为摄像机的视场角小于 90 度)。 

7 飞行测试

第一次飞行:

  •  测试过程: 起飞 -> AltHold / Loiter -> 向障碍物移动;
  • 只能轻推飞行器并观察其反应;
  • 预期行为:飞行器应在距离障碍物一定距离(根据飞行模式由 AVOID_MARGIN/AVOID_DIST_MAX 设置)时停止/滑行(由 AVOID_BEHAVE 设置)。 

如果一切正常,下一步就是测试特定传感器/飞行器/环境的安全系数:

  •  由于摄像头的视场角和最小/最大深度范围有限,因此必须测试其极限值,以确保飞行器在实际环境中的安全;
  • 飞行员应该对这些余量有一个粗略的估计,并在飞行任务计划中加入一些开销。 

8 实验

首次手动测试:确认存在障碍物时的预期行为,以及飞行器和摄像机的视场角和安全裕度。飞行在 Loiter 模式下进行:

自主飞行测试:下面的视频短片总结了实际实验中的主要步骤以及工作系统应该如何运行。在此示例中,飞行器将尝试按照方形模式飞行,但会在任何障碍物前停下。

9 数据闪存记录

深度相机的相关信息是 PRX.CAnPRX.CDist,分别代表最近物体的角度和距离。

你还可以查看每个象限(D0D45D315,即 0 度、45 度和 315 度)的距离数据。请注意,CAn 的数值范围是 360 度,而 CDist 和其他 Dangle 的数值范围只有几米,因此你可能需要分别查看。

相关文章:

(3)(3.1) 英特尔Realsense深度摄像头(二)

文章目录 前言 5 配置ArduPilot 6 地面测试:飞行前验证 7 飞行测试 8 实验 9 数据闪存记录 前言 本文介绍如何将英特尔 Realsense 深度摄像头(Intel Realsense Depth Camera)与 ArduPilot 配合使用,以实现避障(obstacle avoidance)。该方法使用在…...

go interface{} 作为函数参数

在 Go 中,将 interface{} 作为函数参数的意义在于使函数接受任意类型的参数。这种参数类型称为空接口,因为它不限制参数的具体类型,可以接受任何类型的值。 使用空接口作为函数参数具有以下几个意义: 通用性: 空接口允…...

Django之REST Client插件

一、接口测试工具介绍 在开发前后端分离项目时,无论是开发后端,还是前端,基本都是需要测试API接口的内容,而目前我们需要开发遵循RESTFul规范的项目,也是必然的(自己不开发前端页面)。 在网上有很多这样的工具,常用的postman,但还是需要下载安装。在这我们介绍一个VSCod…...

java实现UDP数据交互

1、回显服务器 服务器端 import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.SocketException;public class UDP_Server {private DatagramSocket socketnull;public UDP_Server(int port) throws SocketExcepti…...

护眼台灯怎么选看哪些指标?不踩雷护眼台灯十大排名

平常经常面对电子屏幕的上班族、学业负担重的学生族用眼时间都比较长,再加上不健康的用眼习惯,近视人数不断增多。而在这当中,健康的光线也十分重要,良好的光线能够让眼睛更加舒服,用眼负担也会减轻不少,因…...

Web API(六)之正则表达式

Web API(六)之正则表达式 正则表达式正则基本使用元字符边界符量词范围字符类替换和修饰符change 事件判断是否有类正则表达式 正则表达式(Regular Expression)是一种字符串匹配的模式(规则) 使用场景: 例如验证表单:手机号表单要求用户只能输入11位的数字 (匹配)过滤…...

304. 前缀和技巧中的边界值处理

文章目录 题目问题反思 题目 题目如下,其实并不难,属于小而美的前缀和技巧中的体型。因为我之前做过这道题,所以重刷也马上就能写。但是对比我写的和之前看别人写的,明显我的代码不够简洁,一个核心的差异在于对DP数组…...

ios swift5 “Sign in with Apple“(使用苹果登录)怎样接入(第三方登录)集成AppleID登录

文章目录 截图1.在开发者网站的app id中添加Sign in with Apple功能2.在Xcode中添加Sign in with Apple功能3.代码:只有第一次登录的时候可以获取到用户名参考博客chatGPT答案 截图 1.在开发者网站的app id中添加Sign in with Apple功能 1.1 如果你新建app id,记得在…...

时间系列预测总结

转载自:https://mp.weixin.qq.com/s/B1eh4IcHTnEdv2y0l4MCog 拥有一种可靠的方法来预测和预测未来事件一直是人类的愿望。在数字时代,我们拥有丰富的信息,尤其是时间序列数据。 时间序列是指基于时间刻度维度(天、月、年等&…...

NineData创始人CEO叶正盛受邀参加『数据技术嘉年华』的技术大会

4月13日,NineData 创始人&CEO叶正盛受邀参加第13届『数据技术嘉年华』的技术大会。将和数据领域的技术爱好者一起相聚,并分享《NineData在10000公里跨云数据库间实时数据复制技术原理与实践》主题内容。 分享嘉宾 叶正盛,NineData CEO …...

nginx访问路径映射资源目录

Nginx映射资源目录是指在Nginx配置文件中设定规则,使得当客户端向Nginx服务器发送请求访问某个URL时,Nginx能够将该URL映射到服务器本地的实际文件目录,从而正确地提供该目录下的静态资源(如HTML、CSS、JavaScript、图片、视频等文…...

数据挖掘|序列模式挖掘及其算法的python实现

数据挖掘|序列模式挖掘及其算法的python实现 1. 序列模式挖掘2. 基本概念3. 序列模式挖掘实例4. 类Apriori算法(GSP算法)4.1 算法思想4.2 算法步骤4.3 基于Python的算法实现 1. 序列模式挖掘 序列(sequence)模式挖掘也称为序列分析。 序列模式发现&…...

3. Django 初探路由

3. 初探路由 一个完整的路由包含: 路由地址, 视图函数(或者视图类), 可选变量和路由命名. 本章讲述Django的路由编写规则与使用方法, 内容分为: 路由定义规则, 命名空间与路由命名, 路由的使用方式.3.1 路由定义规则 路由称为URL (Uniform Resource Locator, 统一资源定位符)…...

论文笔记:Large Language Models as Analogical Reasoners

iclr 2024 reviewer打分5558 1 intro 基于CoT prompt的大模型能够更好地解决复杂推理问题 然而传统CoT需要提供相关的例子作为指导,这就增加了人工标注的成本——>Zero-shot CoT避免了人工标注来引导推理 但是对于一些复杂的任务难以完成推理,例如c…...

第3章 数据定义语言DDL

文章目录 第3章 DDL语言:数据定义语言3.1 MySQL的数据类型3.2 表的创建:create3.3 表的删除:drop3.4 快速创建表3.5 快速删除表中的数据:truncate3.6 修改表结构:alter 第5章 约束5.1 非空约束:not null5.2…...

C#操作MySQL从入门到精通(7)——对查询数据进行简单过滤

前言 我们在查询数据库中数据的时候,有时候需要剔除一些我们不想要的数据,这时候就需要对数据进行过滤,比如学生信息中,我只需要年龄等于18的,类似这种操作,本文就是详细介绍如何对查询的数据进行初步的过滤。 1、等于操作符 本次查询student_age 等于20的数据,使用我…...

【CVE复现计划】CVE-2024-0195

CVE-2024-0195 简介: SpiderFlow是新一代开源爬虫平台,以图形化方式定义爬虫流程,不写代码即可完成爬虫。基于springbootlayui开发的前后端不分离,也可以进行二次开发。该系统/function/save接口存在RCE漏洞,攻击者可以构造恶意命…...

k8s的ca以及相关证书签发流程

k8s的ca以及相关证书签发流程 1. kube-apiserver相关证书说明2. 生成CA凭证1.1. 生成CA私钥1.2. 生成CA证书 2. 生成kube-apiserver凭证2.1. 生成kube-apiserver私钥2.2. 生成kube-apiserver证书请求2.3. 生成kube-apiserver证书 3. 疑问和思考4. 参考文档 对于网站类的应用&am…...

思迈特软件与上海德拓签署战略合作协议,携手赋能企业数字化转型

3月27日,广州思迈特软件有限公司(简称“思迈特软件”)与上海德拓信息技术有限公司(简称“德拓信息”)正式签约建立战略合作伙伴关系。双方将在数字化转型、数据服务、数据应用以及市场资源等多个领域展开深度合作&…...

【快捷部署】015_Minio(latest)

📣【快捷部署系列】015期信息 编号选型版本操作系统部署形式部署模式复检时间015MiniolatestCentOS 7.XDocker单机2024-04-09 一、快捷部署 #!/bin/bash ################################################################################# # 作者:c…...

从零构建C语言静态库:工程实践与避坑指南

1. 项目概述:为什么我们需要亲手打造一个静态库?在C语言的开发世界里,尤其是当你从编写单个文件的小程序,过渡到管理一个包含数十上百个源文件的中大型项目时,一个绕不开的话题就是代码的组织与复用。你可能有过这样的…...

Claude Code Ultraplan 远程多代理规划全解析:AI Agent、CCR远程容器、异步规划、状态机、计划传送与企业级自动化治理

一、先说结论:Ultraplan 到底解决了什么痛点?Ultraplan 可以理解为一种“远程规划模式”:用户在本地终端发起一个复杂任务,系统把规划阶段卸载到远程 CCR 容器中执行。本地终端不再被长时间占住,远程端可以使用更强模型…...

结构化提示词框架在大模型与医学影像领域的应用研究

摘要大语言模型(LLM)的爆发推动提示词工程成为人机交互的核心技术,而结构化提示词框架是提升模型输出质量与稳定性的关键。本文首先梳理碳基与硅基神经网络的核心差异、深度学习及大语言模型的基础理论;随后系统解析RTF、ICIO、RA…...

【紧急预警】传统文献管理正被淘汰!农科院最新评估:未集成NotebookLM的课题组结题延迟平均达4.8个月

更多请点击: https://codechina.net 第一章:NotebookLM农业科学研究的范式革命 传统农业科研长期依赖人工文献综述、田间数据手工录入与孤立模型验证,知识整合效率低、跨尺度分析能力弱。NotebookLM 以“文档即计算单元”的设计理念切入&…...

助力销售会议转任务,识别准整理快,任务清晰更省心

2026年做销售,若仍靠手写整理销售会议转任务,很容易面临客户信息漏记、整理效率偏低的问题,管理层要求提效并提供可量化改善方案时,也难以快速响应。AI助力销售会议转任务,可有效解决这类困扰,提升识别准确…...

MIMO AONN架构:量子干涉实现超低功耗光学神经网络

1. MIMO AONN架构的核心价值光学神经网络(AONN)正在突破传统电子计算的物理极限。在传统电子神经网络中,非线性激活函数需要消耗大量能量进行电子-光子转换,而基于量子干涉的光学非线性机制可以直接在光域实现这一关键操作。我们实…...

Robotics Toolbox for Python架构解析与工程实践指南

Robotics Toolbox for Python架构解析与工程实践指南 【免费下载链接】robotics-toolbox-python Robotics Toolbox for Python 项目地址: https://gitcode.com/gh_mirrors/ro/robotics-toolbox-python Robotics Toolbox for Python是一个面向机器人算法开发者和研究人员…...

ssm图书在线商城(10044)

有需要的同学,源代码和配套文档领取,加文章最下方的名片哦 一、项目演示 项目演示视频 二、资料介绍 完整源代码(前后端源代码SQL脚本)配套文档(LWPPT开题报告/任务书)远程调试控屏包运行一键启动项目&…...

SolidWorks二次开发踩坑记:Python调用SaveAs函数时,那些让人头疼的Errors和Warnings详解

SolidWorks二次开发实战:Python调用SaveAs函数时的错误码解析与解决方案 当你在深夜加班调试SolidWorks二次开发脚本时,SaveAs函数突然返回False,错误码像摩尔斯电码一样难以解读——这种经历恐怕每个工业软件开发者都深有体会。本文将深入剖…...

ESP32驱动LCD1602:从I2C协议到动态数据展示

1. ESP32与LCD1602的完美组合 如果你正在寻找一种简单可靠的方式在物联网项目中显示实时数据,ESP32搭配LCD1602液晶屏绝对是个不错的选择。我最近在一个智能温室项目中就用了这套方案,用来实时显示温度和湿度数据,效果非常稳定。LCD1602虽然看…...