(1)ADS-B接收机

news2024/11/21 2:23:51

文章目录

前言

1.1 所需硬件

1.2 连接到自动驾驶仪

1.3 设置

1.4 ADSB输出配置

1.5 启用载人飞行器避障功能

1.6 飞行器数据库

1.7 开发者信息包括模拟


前言

本文介绍了如何安装和配置 ADS-B 模块,以便你的飞机能够知道附近的其他飞机和空中交通管制,并/或向其传送信息。这也使地面上的飞行员能够知道附近的有人驾驶飞机,并可选择让飞行器自动避开它们。


ADS-B(又称自动依赖监视广播)(Automatic Dependent Surveillance Broadcast)是一种空中交通监视技术,使飞机能够被空中交通管制员和其他飞行员准确跟踪,而不需要传统雷达。

Warning

避让功能是仍在开发中的新功能,应谨慎使用。如果启用了 ADSB 避让功能,强烈建议设置RCx_OPTION = 38 (ADSB Avoidance En)功能,以便在空中时轻松禁用,如果有此需要。

1.1 所需硬件

这些传感器可以直接从 uAvionix 或 Sagetech 购买,也可以从以下经销商处购买:

  • USA:Unmanned Systems Source
  • R Cubed Engineering
  • U.K:Unmanned Tech
  • Germany:UAV Store

1.2 连接到自动驾驶仪

ADSB 接收机应连接到自动驾驶仪的串行端口。接收器的安装应使天线呈垂直方向。

1.3 设置

设置 ADSB_TYPE 参数,以配合接收机的串行通信协议。

接收器所连接的串口应配置成也与 ADSB 接收器的协议相匹配:

ADSB Protocol

ADSB_TYPE

SERIALx_PROTOCOL

SERIALx_BAUD

MAVLINK

1

MAVLink2 (2)

57600

Sagetech

2

ADSB (35)

UCP

3

115200

Sagetech MX

4

例如,如果你将 uAvionix Ping2020i 插入自动驾驶仪上指定为 SERIAL4UART,你会设置:

  • SERIAL4_PROTOCOL2(指 MAVLink2);
  • SERIAL4_BAUD 57(指 57600)。
  • Note

ADSB 接收机的规格可能只说明 MAVLink 为协议。在这种情况下,首先尝试 MAVLink2,如果不成功,就用 MAVLink 作为串口协议。

在做出这些改变后,你需要重新启动你的板子。

为了使 ADSB 数据流向 GCS,你要检查你的 StreamRate 参数。在某些情况下,它已经被设置好了,但最好还是检查一下。这些速率在每个遥测中都是可以调整的,比如在连接高带宽和低带宽的情况下。调整速率的参数将取决于你的 GCS 连接到哪一个。在大多数情况下,它是 telem1

  • SR1_ADSB 5(指 5Hz)。

一旦投入使用,大约 50 公里范围内的飞机应出现在地面站地图上。

为了测试系统,你可以与 flightradar24.com 上显示的航班进行比较。

1.4 ADSB输出配置

Warning

确保你有正确的权限,使用能够发射的 ADSB 硬件。你将会在空中交通管制员的机场雷达上显示出来!

以下参数用于配置 ADS-B 输出:

  • ADSB_ICAO_IDICAO_ID 该飞机的唯一飞行器识别号码。这是一个限制在 24 位的整数。如果设置为 0,那么将随机生成一个。如果设置为 -1,则不发送静态信息,假设收发器是预编程的;
  • ADSB_EMIT_TYPE:ADSB 对发射转发器信号的飞行器类型的分类。默认值为 14UAV);
  • ADSB_LEN_WIDTH:飞机的长度和宽度尺寸选项,长度和宽度单位为米。在大多数情况下,使用 1 的值表示最小的尺寸;
  • ADSB_OFFSET_LAT:GPS 天线的横向偏移。这描述了飞机上 GPS 天线中心的物理位置偏移;
  • ADSB_OFFSET_LON:GPS 天线的纵向偏移。这通常被设置为 1,由传感器应用;
  • ADSB_RF_SELECT:收发器射频选择 Rx 启用和/或 Tx 启用。这只影响可以 Tx 和/或 Rx 的设备。只有 Rx 的设备会覆盖这一点,使其总是只有 Rx
  • ADSB_SQUAWK:向 ATC 广播的 Squawk/Transponder(模式 3/A)代码,通常由你的 ATC 为某一特定航班分配。在美国/加拿大,默认的 Squawk 代码是针对 VFR 的,是 1200。欧洲和澳大利亚的大部分地区使用 7000。如果设置了一个无效的八进制数字,那么它将被重置为 1200
  • ADSB_OPTIONS:允许启用某些设备的特定功能,并允许在某些飞行器失控保护"鸣叫"紧急代码。

在许多情况下,默认值是可以的,除了 ADSB_RF_SELECT 需要打开发射机外,你不需要改变任何这些。ADSB_RF_SELECT 发射位在启动时被清空,以确保你只在有意启用时进行发射。

uavionix.xml 中为 ADSB 提供了额外的 MAVLink 信息,允许 GCS 设置所有这些选项。即 msg UAVIONIX_ADSB_OUT_CFGUAVIONIX_ADSB_OUT_DYNAMIC,其中 _cfg 是唯一可以指定自定义呼号的地方。

Note

Mission Planner 的转发器标签不会向 SagetechXP 系列转发器发送正确的信息。为了改变工作模式,可以使用 Sagetech 的工程 GUI 将转发器设置为 ALT 模式,以确保传输与飞行控制器的工作。

1.5 启用载人飞行器避障功能

ArduPilot 包括一个飞行模式,AVOID_ADSB,它试图根据 ADS-B 传感器的输出来避免有人驾驶的飞行器。当有必要根据下面的参数进行避让时,自动进入该模式。当威胁过去后也会自动退出。

要启用该功能,请与地面站连接并设置以下参数:

  • AVD_ENABLE设置为"1"以启用基于 ADS-B 的避让(设置后可能需要刷新参数);
  • AVD_F_DIST_XY:以米为单位的水平距离,应被认为是近失误;
  • AVD_F_DIST_Z:在飞行器上方或下方的垂直距离,以米为单位,应被视为近似事故;
  • AVD_F_TIME:在预计发生近距离碰撞前多少秒(基于飞行器的当前位置和速度),飞行器应开始 AVD_F_ACTION
  • AVD_F_ACTION:控制飞行器应如何应对预计的近距离碰撞(即 2:爬升或下降,3:水平移动,4:垂直 3D 移动,5RTL6:悬停);
  • AVD_F_RCVRY:设置飞行器在清除了近失区后的行为方式(即 1 = 恢复以前的飞行模式)。

注意:有同等的"警告"参数(即 AVD_W_DIST_XY),可用于调整何时在地面站出现对飞行员的警告。

ArduPilot 固件 4.0 及以后的版本中,可以通过 RC 通道的开关来启用或禁用进入该模式,通过设置 RCx_OPTION = 38 (ADSB Avoidance En)。如果 RCPWM > 1800us,那么如果有威胁出现,就会启用进入该模式。

1.6 飞行器数据库

当启用时,ADS-B 库最多可以存储 50 个由 ADS-B 接收器探测到的飞行器信息,但可以通过 ADSB_LIST_MAX 参数进一步限制。由于其他功能的一些实验性工作,如 EKF2,可用的 RAM 可能会受到限制。值得注意的是,当 ADSB 被禁用时(ADSB_TYPE = 0),那么内存就会被释放,有效地释放出大约 1KBRAM。当启用时,检测到的飞行器列表每秒钟检查一次,以发现潜在的冲突。

1.7 开发者信息包括模拟

数据是通过 ADSB_VEHICLE 消息(ADSB_VEHICLE message)传输的。当 ArduPilot 收到时,它将使用 SRx_ADSB 值进行流式传输,其中x是遥测端口号,该值是每秒要流式传输多少飞行器。如果使用 telem1,流率参数将是 SR1_ADSB。列表将不会重复超过 1 秒的速度。这种灵活性对于节省数据链路的带宽很有用,但也允许高速链路的最大更新率,如机载配套计算机。

ArduPilotSITL 包括对支持 ADS-B 的飞机进行模拟。要启用这个功能,你必须有 pymavlink v1.1.70 或更高版本。如果你有一个旧版本,请使用:

sudo pip install --upgrade pymavlink MAVProxy

使用 SIM_ADSB_COUNT 参数设置要模拟的飞机数量。可以通过设置参数'SIM_ADSB_TX'来启用 Ping2020 模拟支持。ADS-B 的其他模拟选项也存在,都以 SIM_ADSB_ 开头。

使用 USB-Serial 转换器将硬件 ADS-B 接收器插入你的计算机,或使用 PingUSB,将允许你在模拟中叠加真实的 ADS-B 交通。你可以通过这种方式调用 SITL 来实现这种效果:

sim_vehicle.py -v ArduCopter -A "--uartC uart:$SERIAL_DEVICE:57600"

其中 SERIAL_DEVICE Linux 系统上可能是/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A4008ZND-if00-port0(用命令 ls /dev/serial/by-id/* 或 ls /dev/ttyS* 查找有效的串行设备列表,用于 CygwinCOM 端口)。一旦 SITL 启动,可能需要设置 SERIAL3_ 参数:

:ref:`SERIAL3_PROTOCOL<SERIAL3_PROTOCOL>` 1

:ref:`SERIAL3_BAUD<SERIAL3_BAUD>` 57600

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

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

相关文章

高性能消息中间件 RabbitMQ

一、RabbitMQ概念 1.1 MQ是什么 消息队列 MQ全称Message Queue&#xff08;消息队列&#xff09;&#xff0c;是在消息的传输过程中保存消息的容器。多用于系统之间的异步通信。 同步通信相当于两个人当面对话&#xff0c;你一言我一语。必须及时回复&#xff1a; 异步通信相…

用API Key保护Spring Boot 接口的安全

1、概述 安全性在REST API开发中扮演着重要的角色。一个不安全的REST API可以直接访问到后台系统中的敏感数据。因此&#xff0c;企业组织需要关注API安全性。 Spring Security 提供了各种机制来保护我们的 REST API。其中之一是 API 密钥。API 密钥是客户端在调用 API 调用时提…

DAY 79 云原生DOCKER的基本原理及镜像管理

Docker概述 云计算涌现出很多改变传统IT架构和运维方式的新技术&#xff0c;比如虚拟机、容器、微服务、Serverless&#xff08;无服务&#xff09;&#xff0c;无论这些技术应用在哪些场景&#xff0c;降低成本、提升效率是云服务永恒的主题。 1.运行物理机&#xff0c;也称…

【历史上的今天】6 月 26 日:EDSAC 计算机之父诞生;B 站成立;Skype 创始人出生

整理 | 王启隆 透过「历史上的今天」&#xff0c;从过去看未来&#xff0c;从现在亦可以改变未来。 今天是 2023 年 6 月 26 日&#xff0c;在 1911 年的今天&#xff0c;计算机先驱弗雷德里克威廉姆斯&#xff08;Frederic Williams&#xff09;出生。威廉姆斯是一位英国工程…

1: BDF(Bus,Device,Function)

目录 1.概述 2.BUS&#xff1a;总线号 3.Device&#xff1a;设备号 4.Function&#xff1a;功能号 1.概述 PCIe总线中的每一个功能都有一个唯一的标识符与之对应。这个标识符就是BDF&#xff08;Bus&#xff0c;Device&#xff0c;Function&#xff09; 2.BUS&#xff1a;总…

如何在 Spring Boot 中使用 WebMvc

如何在 Spring Boot 中使用 WebMvc 引言 Spring Boot 是一个快速、简单的开发框架&#xff0c;可以帮助我们快速地搭建一个基于 Spring 的 Web 应用程序。在 Spring Boot 中&#xff0c;我们可以使用 WebMvc 来构建 Web 应用程序。WebMvc 是 Spring 框架中的一个模块&#xf…

【案例实战】SpringBoot整合Redisson实现RedLock分布式锁同步

思考&#xff1a;生产环境下Redis集群环境&#xff0c;怎么保证锁的同步&#xff1f; 我们先来回顾一下分布式锁的作用&#xff1a;就是保证同一时间只有一个客户端可以对共享资源进行操作。 当我们集群环境部署的时候&#xff0c;假如节点一在主节点获取分布式锁成功。Redis…

【微服务架构模式】构建应用程序的顶级微服务设计模式

在当今市场上&#xff0c;微服务已成为构建应用程序的首选解决方案。众所周知&#xff0c;它们可以解决各种挑战&#xff0c;但是&#xff0c;熟练的专业人员在使用此架构时经常面临挑战。因此&#xff0c;相反&#xff0c;开发人员可以探索这些问题中的常见模式&#xff0c;并…

简单的Image Picker:使用Jetpack Compose无需权限申请

简单的Image Picker&#xff1a;使用Jetpack Compose无需权限申请 学习如何在Android应用中轻松选择、存储和加载本地图像&#xff0c;无需繁琐的权限处理。 作为一名Android开发者&#xff0c;我知道在应用中实现本地图像选择时处理权限可能会让人感到沮丧。这就是为什么我想…

Juc04_阻塞队列概述、方法、实现类、Linked和Array区别、注意事项

文章目录 ①. 什么是阻塞队列②. BlockingQueue的主要方法③. BlockingQueue的实现类④. Linked和Array区别⑤. 不推荐使用快捷的线程池 ①. 什么是阻塞队列 ①.阻塞队列:从名字可以看出,它也是队列的一种,那么它肯定是一个先进先出FIFO的数据结构。与普通队列不同的是,他支持两…

Flask新手教程

Flask简介 Flask是一个轻量级的可定制框架&#xff0c;使用Python语言编写&#xff0c;较其他同类型框架更为灵活、轻便、安全且容易上手。 Flask 可以很好地结合MVC模式进行开发&#xff0c;开发人员分工合作&#xff0c;小型团队在短时间内就可以完成功能丰富的中小型网站或…

正点原子uboot分析

知识点 为终端不输出command line&#xff1a;终端输入如果变量quiet为空的话&#xff0c;整个命令都会输出。 如果变量 quiet为“ quiet_”的话&#xff0c;仅输出短版本。 如果变量 quiet为“ silent_”的话&#xff0c;整个命令都不会输出。sinclude&#xff1a;读取的文件…

Java通过JNI调用dll动态库详细步骤

目录 目标具体示例1、编写java代码&#xff1a;定义native接口2、根据java编写的native接口生成.h头文件3、使用Visual Studio编写c代码实现头文件接口并生成dll文件4、将生成的jni.dll文件放入jdk bin下5、编写java测试类&#xff0c;调用dll 附&#xff1a;问题java测试类执行…

上门家教app小程序源码开发的前景如何?

随着我国生活水平的提高&#xff0c;教育方面的问题也越来越受到家长们的重视&#xff0c;很多家庭都开始通过家教以及辅导班等方式增强学生的学业知识&#xff0c;因此家教app开发是拥有很大一部分用户市场的。那么家教app开发主要适合什么行业呢&#xff1f; 上门家教服务或…

Zabbix-客户端部署全过程

本文已收录于专栏 《中间件合集》 目录 概念说明什么是Zabbix 功能介绍配置过程1.在linux下的admin文件夹下创建zabbix文件夹2.把agent端压缩包放置到home/admin/zabbix路径下3.解压安装包4.创建zabbix日志文件5.进入到conf文件夹下&#xff0c;修改配置文件&#xff0c;与serv…

Linux系统下网络性能监控指令(iftop、nload)

文章目录 iftop参数快捷键iftop界面说明&#xff1a; nload参数示例 iftop 参数 -i 设定监测的网卡&#xff0c;如&#xff1a;# iftop -i eth1 -B 以bytes为单位显示流量(默认是bits)&#xff0c;如&#xff1a;# iftop -B -n 使host信息默认直接都显示IP&#xff0c;如&…

今天给大家安利几款非常好用的文件迁移工具

文件迁移是我们平时经常需要处理的问题之一。在日常生活中&#xff0c;我们可能需要将一些文件从电脑上的一个位置迁移到另一个位置&#xff0c;或者将文件转移到外部硬盘或云端存储空间。而为了更加高效地完成这项任务&#xff0c;使用一款好用的文件迁移工具显得尤为重要。今…

基于smardaten无代码开发解决光伏电站项目

文章目录 前言一、事故背景二、解决方案三、工具加持四、配置要点解析1、光伏导航菜单搭建2、运行监控组件布局3、员工填报表单创建4、数据接入清洗5、复杂数据展示5、地图大屏组装6、定制页面集成 五、挖掘更多惊喜1、模拟数据生成2、智能分析结果3、草图智能识别4、日期排班设…

el-dialog设置滚动条不生效记录【草稿版,待优化】

目录 前言一、scrollTop是什么&#xff1f;二、解决步骤总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 技术栈 element-plus vue3 js 记录el-dialog的弹窗中&#xff0c;通过js控制滚动条不生效。 我这次的需求是这样的&#xff0c;点击某个按钮…

SSM-Spring项目使用Tomcat:7插件运行项目注意事项

文章目录 配置Tomcat:7插件&#xff08;注意Path&#xff09;运行tomcat:7第一种方式第二种方式 测试路径&#xff08;注意&#xff09;正确请求方式&#xff08;注意路径&#xff09; 配置Tomcat:7插件&#xff08;注意Path&#xff09; 作为演示&#xff0c;我这里特别配置了…