(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 的数值范围只有几米,因此你可能需要分别查看。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/801901.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

javaScript手写专题——实现instanceof/call/apply/bind/new的过程/继承方式

目录 原型链相关 手写instanceof 实现一个_instance方法,判断对象obj是否是target的实例 测试 手写new的过程 实现一个myNew方法,接收一个构造函数以及构造函数的参数,返回构造函数创建的实例对象 测试myNew方法 手写类的继承 ES6&…

照顾宝贝的双眼:新生儿大小眼关爱手册

引言: 宝宝的眼睛是他们认知世界的窗户,眼睛的健康至关重要。大小眼,即一只眼睛比另一只眼睛大或小,是新生儿时期可能出现的一种眼部异常。尽管在新生儿中相对较少见,但家长们仍然需要了解如何正确照顾宝宝的大小眼&am…

计算机视觉之三维重建(7)---多视图几何(下)

文章目录 一、透视结构恢复问题1.1 概述1.2 透视结构恢复歧义1.3 代数方法1.4 捆绑调整 二、P3P问题三、随机采样一致性 一、透视结构恢复问题 1.1 概述 1. 透视结构恢复问题:摄像机为透视相机,内外参数均未知。 2. 问题:已知 n n n 个三维…

蓝桥杯每日一题:n-皇后问题(回溯)

n−皇后问题是指将 n 个皇后放在 nn 的国际象棋棋盘上,使得皇后不能相互攻击到,即任意两个皇后都不能处于同一行、同一列或同一斜线上。 现在给定整数 n,请你输出所有的满足条件的棋子摆法。 输入格式 共一行,包含整数 n。 输出…

主流电商平台开放接口:电商数据采集API获取淘宝商品详情描述主图SKU价格订单物流

API接口 返回值说明 item_get-获得淘宝商品详情 API 注册开通 taobao.item_get 公共参数 名称类型必须描述keyString是调用key(必须以GET方式拼接在URL中)secretString是调用密钥api_nameString是API接口名称(包括在请求地址中&#xff09…

矩阵链乘法问题

描述 输入 输入共n1行 第一行输入矩阵的总个数n[2,1000] 后n行分别输入矩阵的维数[1,100] 输出 最后一行输出少乘法次数 输入样例 1 6 30 35 35 15 15 5 5 10 10 20 20 25 输出样例1 15125 代码实现 #include<iostream> #include<vector> #include<…

基于ssm的星空游戏购买下载平台的设计与实现论文

摘 要 随着科学技术的飞速发展&#xff0c;各行各业都在努力与现代先进技术接轨&#xff0c;通过科技手段提高自身的优势&#xff0c;商品交易当然也不能排除在外&#xff0c;随着商品交易管理的不断成熟&#xff0c;它彻底改变了过去传统的经营管理方式&#xff0c;不仅使商品…

ES6中 Promise的详细讲解

文章目录 一、介绍状态特点流程 二、用法实例方法then()catchfinally() 构造函数方法all()race()allSettled()resolve()reject() 三、使用场景# 参考文献 一、介绍 Promise&#xff0c;译为承诺&#xff0c;是异步编程的一种解决方案&#xff0c;比传统的解决方案&#xff08;…

c++的学习之路:17、stack、queue与priority_queue

摘要 本文主要是介绍一下stack、queue、priority_queue的使用以及模拟实现&#xff0c;文章末附上代码以及思维导图。 目录 摘要 一、stack的介绍和使用 1、stack的介绍 2、stack的使用 3、stack的模拟实现 二、queue的介绍和使用 1、queue的介绍 2、queue的使用 3、…

uniapp引入微信小程序版本VantUI,使用VantUI的自定义tabbar,并解决自定义tabbar出现闪烁的情况

视频教程地址&#xff1a;https://www.bilibili.com/video/BV13m41167iG 1.uniapp引入微信小程序版本VantUI 去vant官网下载源码&#xff0c;源码放在github&#xff0c;自行去下载下来 https://vant-contrib.gitee.io/vant-weapp/#/home 在pages.json的globalStyle里面注册组…

打印月历 Open Judge

题面链接: http://noi.openjudge.cn/ch0113/24/ 题目描述: 评析: 大模拟题&#xff0c;考察的是你的耐心和毅力&#xff01;很不错的模拟题练习题&#xff0c;小白(like me)可以练一练 思路: 先一个月一个月的模拟&#xff0c;求出来题目问的这个一年的这一个月的第一天是星期…

欧盟网络安全局:公共数据空间中的个人数据保护设计(上)

文章目录 前言一、背景:欧盟数据空间(一)欧盟数据空间的设计原则二、欧盟数据空间中数据保护的注意事项(一)欧盟数据空间关键术语(二)数据共享环境中输入隐私和输出隐私问题(三)数据保护工程的作用(四)数据空间中的数据保护影响评估(五)问责制的主要内容(六)通过…

Day30 回溯 LeedCode 332.重新安排行程 51. N皇后 37. 解数独 蓝桥杯 与或异或

332. 重新安排行程 给你一份航线列表 tickets &#xff0c;其中 tickets[i] [fromi, toi] 表示飞机出发和降落的机场地点。请你对该行程进行重新规划排序。 所有这些机票都属于一个从 JFK&#xff08;肯尼迪国际机场&#xff09;出发的先生&#xff0c;所以该行程必须从 JFK…

Macos 部署自己的privateGpt(2024-0404)

Private Chatgpt 安装指引 https://docs.privategpt.dev/installation/getting-started/installation#base-requirements-to-run-privategpt 下载源码 git clone https://github.com/imartinez/privateGPT cd privateGPT安装软件 安装&#xff1a; Homebrew /bin/bash -c…

径流场水土流失自动监测系统的使用

TH-LS1随着环保意识的日益增强&#xff0c;水土流失问题已经成为全球关注的焦点。水土流失不仅破坏了生态环境&#xff0c;还对农业生产、水资源保护等方面产生了严重影响。为了有效监测和控制水土流失&#xff0c;径流场水土流失自动监测系统应运而生。 一、径流场水土流失自…

希尔排序解读

在算法世界中&#xff0c;排序算法是至关重要的一部分。而希尔排序&#xff08;Shell Sort&#xff09;作为一种基于插入排序的改进算法&#xff0c;通过允许交换非相邻元素&#xff0c;从而在一定程度上提高了排序效率。本文将深入探讨希尔排序的原理、实现方式以及它的性能特…

stable diffusion的从安装到使用

stable-diffusion&#xff0c;一个免费开源的文生图软件&#xff0c;文章主要讲怎么从源码开始安装&#xff0c;以及使用的方式 git地址&#xff1a;https://github.com/AUTOMATIC1111/stable-diffusion-webui 本人电脑环境win10&#xff0c;软件pycharm&#xff0c;需要提前…

jeecg-boot 3.6使用微服务启动详细配置

1&#xff1a;运行sql文件 2&#xff1a;配置host 路径如下 127.0.0.1 jeecg-boot-redis 127.0.0.1 jeecg-boot-mysql 127.0.0.1 jeecg-boot-nacos 127.0.0.1 jeecg-boot-gateway 127.0.0.1 jeecg-boot-system 127.0.0.1 jeecg-boot-xxljob 127.0.0.1 jeecg-boot-rabbitmq 3…

LeetCode第十五题:三数之和【15/1000 python】

&#x1f464;作者介绍&#xff1a;10年大厂数据\经营分析经验&#xff0c;现任大厂数据部门负责人。 会一些的技术&#xff1a;数据分析、算法、SQL、大数据相关、python 作者专栏每日更新&#xff1a; LeetCode解锁1000题: 打怪升级之旅 LeetCode解锁1000题: 打怪升级之旅htt…

【管理咨询宝藏52】AA银行企业文化策略分析报告

本报告首发于公号“管理咨询宝藏”&#xff0c;如需阅读完整版报告内容&#xff0c;请查阅公号“管理咨询宝藏”。 【管理咨询宝藏52】AA银行企业文化策略分析报告 【格式】PPT版本&#xff0c;可编辑 【关键词】战略规划、商业分析、管理咨询 【强烈推荐】这是一套市面上非常…