CN116184859A - 一种模拟无人机的外设仿真系统及方法 - Google Patents

一种模拟无人机的外设仿真系统及方法 Download PDF

Info

Publication number
CN116184859A
CN116184859A CN202310251039.XA CN202310251039A CN116184859A CN 116184859 A CN116184859 A CN 116184859A CN 202310251039 A CN202310251039 A CN 202310251039A CN 116184859 A CN116184859 A CN 116184859A
Authority
CN
China
Prior art keywords
simulator
firmware
sensor
unmanned aerial
aerial vehicle
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310251039.XA
Other languages
English (en)
Inventor
杨超
王越
晋超
魏大卫
魏晓敏
马建峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Original Assignee
Xidian University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN202310251039.XA priority Critical patent/CN116184859A/zh
Publication of CN116184859A publication Critical patent/CN116184859A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B17/00Systems involving the use of models or simulators of said systems
    • G05B17/02Systems involving the use of models or simulators of said systems electric
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T90/00Enabling technologies or technologies with a potential or indirect contribution to GHG emissions mitigation

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及无人机模拟技术领域,公开了一种模拟无人机的外设仿真系统及方法,该系统,将硬件传感器和执行器替换为解释器,实现模拟器和固件之间的数据交换。本发明解决了现有技术存在的难以便捷实现无人机固件和飞行模拟器之间的交互等问题。

Description

一种模拟无人机的外设仿真系统及方法
技术领域
本发明涉及无人机模拟技术领域,具体是一种模拟无人机的外设仿真系统及方法。
背景技术
为了模拟无人机的飞行状态,现有的方法大多依赖于修改飞控程序的源代码。具体来说,将传感器和执行器的交互接口替换为飞行模拟器的相应接口。修改后的代码被进一步重新编译为自适应控制程序。图3显示了这个过程。原始固件调用传感器和执行器来管理真正的无人机(图3a),而自适应固件调用应用程序接口来管理飞行模拟器中的虚拟无人机(图3b)。虽然这些模拟方法成功地应用于模拟无人机飞行,例如Ardupilot和PX4,但它们的局限性也很简单:为了适应所设计的模拟器,研究人员需要手动分析控制程序的源代码,修改交互界面。不幸的是,只有有限的制造商提供控制程序代码。
现有技术有如下缺点:
通过修改飞控程序的源代码并编译为自适应固件,自适应固件调用应用程序接口来管理飞行模拟器中的虚拟无人机。虽然这些模拟方法成功地应用于模拟无人机飞行,例如Ardupilot和PX4,但它们的局限性也很简单:为了适应所设计的模拟器,研究人员需要手动分析控制程序的源代码,修改交互界面。不幸的是,只有有限的制造商提供控制程序代码。
模拟飞行状态不准确。由于接口修改,原处理传感器原始数据的代码被打乱,修改后的自适应固件处理数据实际上与实际情况不同,在模拟时没有考虑物理影响。
模拟器只指定特定品牌的无人机。由于无人机的发展不统一,制造商普遍按照不同的原则设计和实施不同的飞行控制方案。因此,传感器和执行器的数据交互接口可能不同。
根据现有模拟器的要求,研究人员需要对每个品牌的无人机进行分析,确定使用什么飞控程序,并进一步进行接口更改,以匹配模拟器的接口。这种手工检查是不可扩展和耗时的。
发明内容
为克服现有技术的不足,本发明提供了一种模拟无人机的外设仿真系统及方法,解决现有技术存在的难以便捷实现无人机固件和飞行模拟器之间的交互等问题。
本发明解决上述问题所采用的技术方案是:
一种模拟无人机的外设仿真系统,将硬件传感器和执行器替换为解释器,实现模拟器和固件之间的数据交换。
作为一种优选的技术方案,利用模拟器来执行固件并劫持固件访问片上外设,解释器处理固件访问片上外设以模拟传感器或执行器,固件访问、解释和转换仿真相关数据;其中,一个单独的解释器是根据供应商发布的数据表半自动构建的,负责处理访问单一型号的传感器或执行器的固件。
作为一种优选的技术方案,包括依次电连接的传感器识别器、仿真器生成器、无人机模拟器,还包括与仿真器生成器电连接的执行器识别器;
其中,传感器识别器,用以:识别无人机微控制器单元上的传感器;仿真器生成器,用以:半自动生成和分配附加传感器和执行器的仿真器;无人机模拟器,用以:执行无人机固件和模拟无人机飞行;执行器识别器位于无人机微控制器单元上,用以:识别执行器。
一种模拟无人机的外设仿真方法,基于所述的一种模拟无人机的外设仿真系统,将硬件传感器和执行器替换为解释器,实现模拟器和固件之间的数据交换。
作为一种优选的技术方案,首先识别连接到无人机的所有传感器和执行器的模型;然后分配这些传感器和执行器的仿真器,仿真器提供转换数据的功能;最后,利用分配的仿真器来应用飞行模拟。
一种模拟无人机的外设仿真方法,采用如下所述的一种模拟无人机的外设仿真系统:依次电连接的传感器识别器、仿真器生成器、无人机模拟器,还包括与仿真器生成器电连接的执行器识别器;
其中,传感器识别器,用以:识别无人机微控制器单元上的传感器;仿真器生成器,用以:半自动生成和分配附加传感器和执行器的仿真器;无人机模拟器,用以:执行无人机固件和模拟无人机飞行;执行器识别器位于无人机微控制器单元上,用以:识别执行器。
作为一种优选的技术方案,进行外设仿真时,包括以下步骤:
A1,传感器识别器识别传感器的模型,根据传感器数据表构建传感器的数据库记录功能,并通过动态分析固件提取传感器的特征;然后将特征与数据库进行比较,获得所附传感器的模型;
A2,执行器识别器通过捕获和评估控制信号的波形来获得所附执行器的信息;
A3,仿真器生成器利用传感器识别器和执行器识别器提供的获得信息半自动地生成或分配传感器和执行器的仿真器;
A4,无人机模拟器执行固件并模拟无人机飞行,利用模拟器生成器分配的传感器模拟器和/或执行器模拟器在固件模拟器与飞行模拟器之间传输数据,实现在无人机固件上进行飞行模拟。
作为一种优选的技术方案,步骤A2中,执行器识别器使用固件模拟器执行固件,并通过劫持固件与PWM的交互捕获波形;以及,执行器识别器通过分析时域特性中的波形来区分协议:对于数字ESC,两个值之间的每个脉冲跳变的高电平占用时间是固定的;对于模拟ESC,每个脉冲的高电平的时间占用是不固定的。
作为一种优选的技术方案,步骤A3中,仿真器生成器在对传感器和执行器进行识别后,仿真器生成器获取所附传感器和执行器的信息,然后分配仿真器模块;其中,由仿真器生成器分配的模拟器模块可重用。
作为一种优选的技术方案,步骤A4中,无人机模拟器实现依次沿固件模拟器、执行器模拟器、飞行模拟器、传感器模拟器、固件模拟器传输信号的仿真循环。
本发明相比于现有技术,具有以下有益效果:
(1)本发明DVATAR能够成功地识别无人机上的传感器和执行器。DVATAR具有仿真无人机传感器和执行器的能力,在飞行仿真和固件之间转换仿真相关数据;本发明解决了固件和飞行模拟器接口不兼容问题;
(2)本发明固件最初的设计是操作芯片上的外设,而不是飞行模拟器,导致接口不兼容。由于固件在近源环境下不可修改,很难满足接口的一致性要求;为了传输数据,需要解释器来协调不一致;一方面,解释器需要模拟真实传感器和执行器的逻辑,为固件的正确执行提供通信环境;另一方面,解释器充当中介,处理固件模拟器与飞行模拟器之间的数据传输;
(3)本发明解决无人机传感器和执行器公共信息不足,生成解析器困难且解析器种类繁多人力消耗大的问题。
附图说明
图1为无人机的软硬件堆栈示意图;
图2为飞行模拟过程示意图;
图3为飞行模拟应用的概念图;
图4为本发明方法的概念说明示意图;
图5为本发明Dvatar的结构示意图;
图6为受数据寄存器(DR)、身份寄存器(IR)和状态寄存器(SR)影响的执行路径示意图;
图7为传感器仿真器和执行器仿真器的概念图;
图8为评估可靠性实验示意图;
图9为Dvatar整体流程示意图。
具体实施方式
下面结合实施例及附图,对本发明作进一步的详细说明,但本发明的实施方式不限于此。
实施例1
如图1至图9所示,本发明要解决无人机固件和飞行模拟器之间进行交互的问题,使模拟无人机在虚拟的三维空间中飞行,在虚拟空间触发漏洞时可以观察到无人机在物理空间中的异常,从而在固件执行时捕获物理空间的漏洞。为了解决类似的问题本发明提出一种称为芯片外外围仿真技术,在无人机固件和飞行模拟器之间加一层代理进行数据处理,即实现解析器来模拟无人机固件上的传感器和执行器。
整体问题是解决无人机固件和飞行模拟器进行交互,在解决这个大问题的过程中会需要解决一些其他技术问题,如无人机固件和飞行模拟器接口不兼容问题;无人机传感器和执行器公共信息不足,生成解析器困难且解析器种类繁多,人力消耗大的问题。
(1)、实现无人机固件和飞行模拟器之间的交互
主要思想是模拟无人机上的传感器和执行器,将硬件传感器和执行器替换为解释器,即传感器模拟器和执行器模拟器,帮助固件和飞行模拟器之间进行数据交换。
(2)、针对无人机固件和飞行模拟器接口不兼容问题
固件最初的设计是操作芯片上的外设,而不是飞行模拟器,导致接口不兼容。由于固件在近源环境下不可修改,很难满足接口的一致性要求。为了传输数据,需要解释器来协调不一致。一方面,解释器需要模拟真实传感器和执行器的逻辑,为固件的正确执行提供通信环境;另一方面,解释器充当中介,处理固件模拟器与飞行模拟器之间的数据传输。
(3)、针对无人机传感器和执行器公共信息不足,生成解析器困难且解析器种类繁多人力消耗大的问题
应用解释器需要真实硬件的信息,因为解释器模拟传感器和执行器的逻辑。然而,无人机供应商很少公开其产品的传感器和执行器的精确模型。这些信息的缺失阻碍了分析人员获取传感器和执行器的模型信息,导致他们无法应用解释器。由于无人机可能使用来自广泛供应商的传感器或执行器,对不同型号的传感器和执行器构建解析器人力消耗大。
本发明提出了一种工具来自动分析固件,然后提取有关传感器和执行器的信息。由于不同的无人机可能使用相同型号的传感器或驱动器,一个单一的解释器可重用,以协助不同的固件与飞行模拟器交换数据。为了帮助新固件与飞行模拟器交互,分析人员只需要组装不同的解释器。解释器的这种可重用性和可组合性解决了多样性的挑战,本发明提出了一个半自动构建解释器的框架,从而减少了人力。
1、本发明达到的目的:
本发明以一种可伸缩、不中断和源代码不依赖的方式解决了无人机固件与飞行模拟器交互的需求,是一种新颖且可扩展的基于仿真的技术,通过构造解释器在无人机固件和飞行模拟器之间转换数据,从而使飞行模拟适用于二进制无人机固件,进而辅助飞行仿真。
解释器的构建解决了不兼容接口的问题。本发明提出一种工具来自动分析固件,然后提取有关传感器和执行器的信息,解决公共信息不足的问题。解释器的可重用性和可组合性解决了多样性的挑战,本发明提出一个半自动构建解释器的框架,从而减少人力。通过实施并集成了基于仿真的技术,以创建一个名为DVATAR的原型系统。
2、相关背景知识介绍:
值得说明的是,为了更清楚地介绍本发明,结合本领域的一些背景知识,对本发明描述如下:
介绍技术背景,并描述已有的与本发明最相近的实现方案。
2.1、背景知识:
2.1.1、软硬件
无人机的软件和硬件堆栈如图1所示。硬件包含一个微控制器单元(MCU)和片外外围设备。MCU是片上系统(Soc),通常基于ARM处理器(例如,STM32系列)。
除了处理器之外,还有内部的片上外设(例如,I2C,SPI,PWM),它们协助处理器与片外外设(如传感器、执行器)通信。处理器通过片上外围设备的中间辅助调用传感器和执行器。该软件是一个控制程序,编译为二进制固件,存储在MCU内部供处理器执行。利用硬件,控制程序执行逻辑来管理无人机飞行。
本发明概括如何控制程序调用传感器和执行器来管理无人机飞行:首先,固件操纵SPI或I2C调用传感器(例如,加速度计、陀螺仪)来测量环境因素的数据。然后,固件融合这些数据以估计无人机的状态。利用估计,固件确定响应当前状态的反应。最后,固件调用执行器通过操纵PWM来实现反应(即控制电机的速度)。固件循环执行这三个步骤,并持续控制无人机在空中移动。
2.1.2、飞行模拟器
飞行模拟器,如Airsim或Gazebo,是模拟无人机在虚拟三维(3D)空间飞行的工具。类似于构建3D空间的计算机游戏,玩家控制虚拟角色在空间中奔跑或跳跃。飞行模拟器为控制程序提供接口,以与3D空间中的虚拟无人机交互。
有两个重要的接口支持控制虚拟无人机的控制程序:(1)一个用于控制虚拟无飞机的执行器,(2)另一个用于获取虚拟无人机状态数据(例如,加速度或角速度)。飞行模拟的图示如图2所示,其中包含控制程序、飞行模拟器及其数据交互。详细地,控制程序与飞行模拟器并行循环执行,执行以下过程:(1)控制程序从飞行模拟器获取虚拟无人机的状态。(2)控制程序计算无人机的状态,确定反应,然后生成实现反应的控制策略。(3)控制程序将控制策略上传到飞行模拟器,然后飞行模拟器根据控制策略模拟无人机运动。
2.1.3、固件模拟器
固件模拟器为动态测试固件提供了执行环境和监视器。由于固件操作的是片上外设,固件模拟器提供了对片上外设的仿真,以满足这一要求。最近的固件模拟技术,如P2IM[1]和Halucinator[2],模拟片上外设,为固件提供读/写数据的接口。总的来说,最新的固件模拟器能够在虚拟化环境中执行固件,并提供接口来劫持固件读/写数据到芯片外外设。
2.2、技术背景
如今,无人机被广泛应用于各种场景(例如,监视、货物运输);因此,它们的可靠性和安全性已成为用户和运营商关注的主要问题。为了评估无人机嵌入式系统的安全性,提出了利用软件漏洞(如内存损坏、堆栈溢出)进行动态测试,但在验证分析结果的正确性时,对真实的无人机设备进行利用攻击是不合适的,甚至是不可行的,因为有些漏洞可能会引发严重的偏差,甚至导致无人机坠毁。
为了将动态测试的范围扩展到嵌入式系统(例如,基于STM32的系统,包括无人机),研究人员提出了基于仿真的方法称为rehosting,也称为固件仿真([1],[2])。通过模拟执行环境,目标系统的固件在模拟环境中执行(例如,QEMU)。仿真环境提供了与现有动态测试工具(例如AFL)协作工作的能力。
最近的研究提出了探索物理空间漏洞的方法([3]),这些方法利用了一种称为飞行模拟的技术,通过模拟执行固件并模拟无人机在虚拟3D物理空间中飞行,分析人员捕捉到无人机在虚拟3D物理空间中的异常情况,然后报告漏洞。但该技术仅适用于少数开源无人机,因为飞行仿真需要修改无人机固件以适应飞行模拟器的接口。对于大多数近源无人机或开源无人机,飞行模拟不适用,阻碍了分析人员探索物理空间漏洞。
一般来说,飞行模拟利用称为飞行模拟器的工具(如图2所示)。固件与飞行模拟器协同执行,交换基本数据。飞行模拟器通过不断交换这些数据,模拟无人机在虚拟的三维物理空间中运动。这个过程需要固件适应飞行模拟器提供的接口。不兼容的接口阻止固件直接与飞行模拟器交换数据。
之前关于固件重托管[1]的研究,[2]提出了工具固件模拟器(参见2.1.3)来执行和劫持固件访问片上外设的固件。基于该特性,分析人员能够创建虚拟化的片上外设,如I2C、SPI或PWM,以与固件交互。无人机的传感器和执行器是片外外设,利用片外外设与固件进行通信(见图1)。所有固件与传感器或执行器交换的数据都跨片外外设,这些数据包含状态和控制数据,但如果不了解传感器或执行器,数据的格式和含义是未知的。如果本发明能够理解这些数据并对其进行解释以适应飞行模拟器,数据交换将是可行的。本发明设计了一种新颖的可扩展方法,以实现固件和飞行模拟器之间的数据交换。
3、以下,结合附图对本发明技术方案进行详细阐述。
一、设计方法
本发明的方法解决了无人机固件与飞行模拟器交互的需求,以一种可伸缩、不中断和源代码不依赖的方式,称为DVATAR。
不同于现有的基于代码修改的方法通过修改和重新编译源代码来实现交互。DVATAR构造解释器来帮助在固件和飞行模拟器之间转换数据,图4显示了概念说明。DVATAR利用固件重托管技术(如P2IM[1]或Halucinator[2])提出的固件模拟器来执行固件,并劫持固件访问片上外设。解释器处理固件访问片上外设以模拟传感器或执行器,固件访问、解释和转换仿真相关数据(控制和状态数据)。一个单独的解释器是根据供应商发布的数据表半自动构建的,负责处理访问单一型号的传感器或执行器的固件。由于不同的无人机可能使用相同型号的传感器或驱动器,一个单一的解释器可重用,以协助不同的固件与飞行模拟器交换数据。为了帮助新固件与飞行模拟器交互,分析人员只需要组装不同的解释器。
本发明称解释器为传感器模拟器或执行器模拟器,这取决于模拟器是解释传感器还是执行器。解释器的提议解决了不兼容接口的挑战。为了解决公共信息不足的问题,本发明提出了一种工具来自动分析固件,然后提取有关传感器和执行器的信息。解释器的可重用性和可组合性解决了多样性的挑战,本发明提出了一个半自动构建解释器的框架,从而减少了人力。
二、设计方案
为了在未修改的二进制无人机固件上实现飞行模拟目标,本发明的系统首先识别无人机的附加传感器和执行器(第C节和第D节)。然后生成传感器和执行器的仿真器(第E节),用于引导数据。最后,本发明使用传感器模拟器和执行器模拟器连接固件模拟器和飞行模拟器。
DVATAR(图5)包含四个组成部分。传感器识别器(Sensor Identifier),是用于识别无人机微控制器单元(MCU)上的传感器的模块。执行器识别器(Actuator Identifier)是无人机MCU上用于识别执行器的模块。仿真器生成器(Simulator generator),用于半自动生成和分配附加传感器和执行器的仿真器的模块。无人机模拟器(Drone Simulation),执行无人机固件和模拟无人机飞行的模块。
DVATAR的整个过程如下:传感器识别器识别传感器的模型,它要求根据传感器数据表(Sensors Datasheets)构建传感器的数据库记录功能(①生成传感器功能数据库Sensors Feature Database,②生成标识符Identifier)。通过动态分析固件(Firmware),它提取传感器的特征(③传感器特征提取Sensors Feature Extraction,④传感器功能Sensors Feature),然后将特征与数据库进行比较(⑤⑥),以获得所附传感器(AttachedSensors)的模型。执行器识别器通过捕获和评估控制信号的波形来获得所附执行器的信息(⑦执行器特征提取Actuators Feature Extraction,⑧得到执行器功能ActuatorsFeature,⑨得到所附执行器Attached Actuators的模型)。之后,仿真器生成器利用传感器识别器和执行器识别器提供的获得信息半自动地生成或分配传感器和执行器的仿真器(⑩生成仿真器分配仿真Sensors Emulator Allocation,
Figure BDA0004127890170000111
生成执行器仿真器分配ActuatorsEmulator Allocation)。最后,无人机模拟器执行固件并模拟无人机飞行,利用模拟器生成器(/>
Figure BDA0004127890170000112
生成传感器模拟器Sensors Emulator Module,/>
Figure BDA0004127890170000113
生成执行器模拟器ActuatorsEmulator Module)分配的传感器模拟器和执行器模拟器的中间助手在固件模拟器(Firmware Simulator)和飞行模拟器Flight Simulator/>
Figure BDA0004127890170000114
之间传输数据,并进行仿真循环(Simulation loop),达到在二进制无人机固件上应用飞行模拟的目标。
B.前提条件
本发明的系统需要固件模拟器和飞行模拟器。本节介绍为什么需要它们:
传感器识别器需要固件模拟器。基于动态分析的传感器识别器,通过执行固件,观察固件读写SPI和I2C,传感器识别器有关连接传感器的准确信息。固件模拟器用于辅助固件执行和动态劫持SPI,I2C接入。
执行器识别器需要固件模拟器。基于动态分析的执行器识别器,通过执行固件,观察固件写入PWM,执行器识别附加执行器的确切信息。固件模拟器用于辅助固件执行和动态劫持PWM加入。
无人机模拟器需要固件模拟器和飞行模拟器。无人机模拟器执行固件并协同模拟无人机飞行。固件执行器协助执行固件,飞行模拟器协助模拟无人机飞行。
C.传感器识别器
本发明的系统需要获取MCU上的传感器信息。更确切地说,通过对固件的分析,本发明的系统可以识别传感器的厂商和产品型号(例如,Pixhawk4应用BMI055传感器)。为了从固件中获取附加传感器的模型,首先通过动态分析提取传感器的特征,然后通过与公共传感器数据表建立的数据库进行匹配来获取传感器的信息。本小节首先介绍了传感器的特征,然后介绍了本发明的动态推断传感器信息的方法,最后介绍了数据库的构建和匹配方法。
1)传感器的特点:固件通过I2C或SPI连接到MCU的传感器。这里,本发明总结了过程固件与传感器的交互。通常,传感器以寄存器地址从0x00到0xFF的格式提供接口,以供固件读取或写入。通过读/写这些寄存器,固件调用传感器的功能。例如MPU6050传感器,它测量加速度和角速度。地址0x19中的寄存器用于加速度采样率配置,固件写入特定值以告知传感器在特定采样率下测量加速度;地址0x3B-0x40中的寄存器提供加速度测量的原始数据,固件从这些寄存器读取值,然后处理这些数据以获得加速度值。传感器之间的寄存器定义明显不同,这使得寄存器的定义能够表示传感器的特征。例如,与MPU6050相比,ICM-42670P从地址0x0B0x16中的寄存器获取加速度,该地址不同于MPU60500x3B-0x40,尽管它们实现了相同的功能。
虽然传感器包含专用于不同功能的寄存器,但根据其功能可将其分为四种类型:数据寄存器(DR)、控制寄存器(CR)、状态寄存器(SR)和身份寄存器(IR)。
数据寄存器(DR):DR是提供传感器测量数据的寄存器。
控制寄存器(CR):CR是用于控制或配置传感器的寄存器。固件通过将特定值写入CR来控制或调整传感器(例如,测量刻度或采样率)。
状态寄存器(SR):SR是一组标志,指示传感器的状态,当传感器状态发生变化以通知固件状态时,SR更新的值。在执行某些操作之前,固件读取相应的SR,以确保传感器已就绪。
身份寄存器(IR):IR是一个寄存器,包含传感器供应商设置的常量值,该寄存器是只读的。这样的设计是为了方便硬件完整性验证。固件检查IR值是否等于供应商,以确保传感器的存在,这通常发生在固件启动时。如果固件检查的值不等于供应商设置的值,则拒绝无人机起飞并报告异常情况。
作为寄存器,内部传感器具有其唯一的地址,并可根据其功能标记为DR、CR、SR或IR。本发明可以将传感器的寄存器描述为地址函数映射对,本发明将其简化为AFMP。例如,MPU6050的CR位于地址0x19,DR位于地址0x3B-0x40,IR位于地址0x75,供应商设置值为0x68,SR位于地址0x36。根据规则,AFMP可以描述为{0x19:CR,0x36:SR,0x3B:DR,0x3C:DR,0x1D:DR,x33E:DR,0x3F:DR,x40:DR,0x75:0x68}。注意,对于IR,本发明还记录了供应商设置值,这对于进一步识别很有用。
2)特征提取器:特征提取器是用来从固件中提取传感器的AFMP的工具,帮助传感器识别器区分不同传感器型号。传感器识别器利用AFMP区分传感器。为了确定附加传感器的型号,首先从固件中提取传感器的AFMP进行进一步匹配。本节将展示提取的工作原理。
通常,固件读取DR、IR和SR,写入CR。读取操作会带来寄存器的值,这可能会影响固件执行路径,因为从IR或SR读取值通常遵循条件判断。固件根据值决定要执行的路径。本发明总结了DR、IR和SR值如何影响执行的模式,如图6所示。方框中的十六进制表示单个寄存器的每个可能值,而循环中的字母表示从寄存器读取固件值后的可能执行路径。此图显示了固件从不同寄存器读取值后可能执行的路径。对于DR(见图6a),执行路径不受该值的影响;对于IR(见图6b),执行路径受该值影响,因为只有当IR值等于供应商设置时,固件才能确认传感器存在并继续下一步操作;对于SR(见图6c),受该值影响的执行路径,作为传感器的固件检查状态,通过判断SR值的特定位,满足特定位的值导致固件执行路径B,如图所示,另一方面执行路径A。
上述属性有助于特征提取器判断所访问寄存器的类型。
特征提取器的目标是从固件中推断出尽可能接近真实的各传感器的AFMP。特性提取器利用固件模拟器来执行固件并劫持SPI或I2C接入。固件模拟器能够劫持一个与固件通信的未知传感器的固件读写,并过滤其他传感器。
例如,如果MPU6050和BMI055传感器都与固件通信,固件模拟器只能劫持与BMI055的通信,而忽略与MPU6050的通信。基于上述特征,特征提取器对每个附加传感器分别进行分析,以探索寄存器的类型。接下来,本发明介绍了特征提取器如何在一节中探索单个传感器的寄存器类型。
特征提取器执行固件并劫持访问要评估的传感器的固件,当读或写接入发生在一个未知的寄存器,固件执行暂停来判断寄存器的类型:对于写接入,被访问的目标寄存器必须是CR,因为写接入只发生在CR上。
对于读接入,被访问的目标寄存器可能是DR、IR或SR,由于固件执行路径受SR和IR的影响,为了推断被访问寄存器的提取类型,需要测试不同的值,然后观察这些值引起的执行路径。为了处理这种情况,特征提取器对执行进行快照,并尝试向快照输入从0x00到0xFF的不同值。特征提取器通过观察不同值生成的执行路径,推断出寄存器的类型。
特征提取器持续执行固件并探索寄存器,直到未知寄存器不出现。最后,特征提取器结合每个寄存器的类型来构造传感器的AFMP。
3)数据库:传感器识别器收集供应商发布的传感器数据表,以建立数据库,识别传感器模型(见图5中的①和②)。存储数据表由相应传感器的AFMP索引。根据数据表对寄存器功能的描述,手工构造其AFMP。一些供应商甚至将寄存器的功能总结为一个表,这有助于简化细化工作。
4)Matcher:匹配器用于在数据库中搜索由特征提取器推断的相应传感器的AFMP。
Matcher通过比较IR、CR、SR、DR对数据库进行搜索。通过这种方法,Matcher逐渐缩小搜索范围,最终命中目标。匹配顺序的原因如下:IR的最初目的是为了识别,供应商生产一种新的传感器模型,通常会尝试设置不同于现有传感器的IR地址和值。这样的现实因素使IR成为区分传感器的最佳寄存器。CR是四种类型寄存器中唯一由固件编写的寄存器,这使得它与SR和DR区别开来,很难被误解。SR和DR有时会相互混淆。例如,固件可能会从SR读取一个值以检查可用的寄存器,但不遵循进一步的判断,在这种情况下,SR可能会被误认为DR。
D.执行器识别器
本发明的系统需要获取MCU所附执行器的信息。无人机的执行器(如四轴或六轴直升机)是接收来自固件的控制信号并控制电机速度的装置。关键是确定用于控制执行器速度的协议。
控制电机速度的协议称为电子速度控制(ESC)协议。ESC协议通过调制方波将转速传递给电机。ESC协议分为模拟ESC和数字ESC:模拟ESC通过调节高电平占用时间来表示模拟值,高电平占用时间越长表示电机转速越快。数字ESC通过调制高电平占用时间来表示位值,通常情况下,一个脉冲中小于25%的高电平占用时间表示0,大于75%的高电平占用时间表示1。数字系列ESC协议通过将模拟值编码成二进制来传输速度值。
由于片上外围PWM被用来产生可调方波,固件操纵PWM产生信号来控制电机。执行器识别器使用固件模拟器执行固件,并通过劫持固件与PWM的交互捕获波形。执行器识别器通过分析时域特性中的波形来区分协议:对于数字ESC,两个值之间的每个脉冲跳变的高电平占用时间是固定的;对于模拟ESC,每个脉冲的高电平的时间占用是不固定的。
E、仿真器生成器
在对传感器和执行器进行识别后,仿真器生成器获取所附传感器和执行器的信息(见图5中的⑩和
Figure BDA0004127890170000151
步骤),然后分配仿真器模块。由仿真器生成器分配的模拟器模块是手动构造的,但可重用。如果所配的传感器或执行器已经构造好,则由模拟器生成器直接分配,否则需要手动操作。下一小节本发明将介绍如何构造仿真器模块。
1)传感器模拟器:图7a显示了传感器的概念图,该传感器通过接收控制参数(例如,测量比例)进行配置和控制,然后测量物理因素(例如,加速度),最后生成原始数据。
传感器仿真器模拟这样一个过程,传感器仿真器模拟单个传感器的结构如图7c所示。传感器仿真器分为两个部分:寄存器部分保存一个表来记录寄存器的值,处理固件的读写;逻辑部分负责生成SR和DR值,逻辑部分根据CR提供的值,将飞行模拟器提供的无人机状态数据转换为SR和DR值。寄存器部分对每个传感器都是通用的,构建一个新的传感器模拟器的唯一努力就是逻辑部分的实现。
2)执行器模拟器:图7b显示了执行器的概念图,该执行器处理控制信号,然后调整电机速度。执行器仿真器的设计是直截了当的,它首先使用解调器解调固件生成的信号以恢复输出值,然后使用缩放器调整值(见图7d)。解调值应通过缩放器进行调整,例如模拟ESC信号的值范围为0到1,然而,飞行模拟器需要电机的转速,缩放器调整到与飞行模拟器一致的值。最后,执行器仿真器输出电机转速值。
4.本发明的关键点如下:
4.1、一种新颖且可扩展的基于仿真的技术DVATAR,用于在无人机固件和飞行模拟器之间转换数据,从而使飞行模拟适用于二进制无人机固件。
4.2、传感器识别器,是用于识别无人机MCU上的传感器的模块。
特征提取器通过动态分析从固件中推断出尽可能接近真实的各传感器的寄存器地址映射对;
收集供应商发布的传感器数据表,以建立数据库,识别传感器模型;
在数据库中搜索由特征提取器推断的相应传感器的寄存器地址映射对,确定传感器类型。
4.3、执行器识别器,是无人机MCU上用于识别执行器的模块。关键是确定用于控制执行器速度的协议。
执行器识别器使用固件模拟器执行固件,并通过劫持固件与PWM的交互捕获波形,通过分析时域特性中的波形来区分协议。
4.4、仿真器生成器,用于半自动生成和分配附加传感器和执行器的仿真器的模块。
生成传感器模拟器的流程;
生成执行器模拟器的流程。
5、与所属的最好的现有技术相比,本发明有以下优点:
本发明提出了一种工具(传感器识别器和执行器识别器)来自动分析固件,然后提取有关传感器和执行器的信息。由于不同的无人机可能使用相同型号的传感器或驱动器,一个单一的解释器可重用,以协助不同的固件与飞行模拟器交换数据。为了帮助新固件与飞行模拟器交互,分析人员只需要组装不同的解释器。解释器的这种可重用性和可组合性解决了多样性的挑战,本发明提出了一个半自动构建解释器的框架(仿真器生成器),从而减少了人力。
5.4、能识别未知传感器的模型。
匹配。在特征提取器推断出单个未知传感器的寄存器类型后,构造表示传感器特征的寄存器地址函数映射对。然后,传感器识别器与数据库中的未知传感器匹配。
实施例2
如图1至图9所示,作为实施例1的进一步优化,在实施例1的基础上,本实施例还包括以下技术特征:
A.环境设置
本发明的系统需要固件模拟器和飞行模拟器。本发明使用Halucinator[2]作为固件模拟器,Airsim作为飞行模拟器。为了建立传感器识别数据库,本发明收集了80个传感器数据表。这些数据表是关于广泛应用于开源无人机项目的传感器,如PX4,Ardupilot和Betaflight。
示例设置。本发明使用Ardupilot项目提供的代码进行实验。Ardupilot是一个应用广泛的飞控程序,已经移植到许多免费或商业平台,包括开发板或完整的无人机。它是可定制的,提供许多驱动模块,以适应不同的传感器。这些驱动程序处理固件与它们的硬件传感器交互的逻辑和IO操作。本发明从Ardupilot中选择29个驱动程序进行评估。这些驱动程序操作相应的传感器并输出测量数据。29个传感器的数据表包含在本发明收集的80个数据表中。
B.识别附加传感器
为了评估DVATAR能否正确识别传感器,本发明首先评估传感器识别器在推断未知传感器寄存器类型时的准确性,然后验证它能否在数据库中正确匹配传感器。
类型推断。对于29个驱动程序对应29个不同的传感器,本发明使用Halucinator独立执行每个驱动程序。Halucinator劫持驱动器访问传感器,应用传感器识别器中提出的方法推断驱动器访问的各个寄存器的类型。然后根据传感器的数据表对结果进行验证。表1列出了本发明评估的传感器,Name代表传感器的供应商命名,Usage代表传感器的使用情况,其中Acc代表加速度计,Gyro代表陀螺仪,Acc&Gyro代表能够测量加速度和角速度的多功能传感器。注意,这里有重复的名称,例如BMI055,但是用于用法Acc的BMI055是用于用法陀螺的不同传感器。Baro代表气压计,Mag代表磁强计。Num表示固件在执行期间访问的寄存器总数。“正确”和“不正确”表示正确识别或错误识别的寄存器数量。斜杠表示这种寄存器不存在。
从总体上看,在29个传感器中,传感器识别器正确识别了96.4%的IR,100%的CR,75%的SR和92.1%的DR。该表也证实了推断SR和DR类型的准确性相对低于IR和CR,在数据库中搜索传感器模型时,应优先考虑IR和CR。
匹配。在特征提取器推断出单个未知传感器的寄存器类型后,构造表示传感器特征的AFMP。然后,传感器识别器与数据库中的未知传感器匹配。本发明对识别未知传感器的传感器识别器进行了精度评估。首先,利用80个数据表构建数据库,供匹配器进行搜索。
然后,将特征提取器提取的29个AFMP在数据库中进行匹配,计算准确率。结果如表3所示,本发明在matched列中检查了正确匹配的传感器。总的来说,本发明在29个传感器中正确匹配了27个。匹配结果表明,通过分析固件,传感器识别器能够识别附加的传感器,即使某些寄存器的类型是错误的。
表1DVATAR识别传感器的性能分析表
Figure BDA0004127890170000191
C.状态数据转换
作为DVATAR在飞行模拟器中使用传感器模拟器对虚拟无人机的状态数据进行转换,本发明建立了这个实验来评估数据转换的有效性,说明传感器模拟器可以正确地将飞行模拟器的状态数据转换到固件。
评估单个传感器模拟器的过程如图8所示。本发明在Airsim中控制一架执行飞行任务的虚拟无人机,并记录任务的状态数据(图8的①)。然后利用传感器模拟器(②,③)将状态数据重放到传感器执行器,并收集执行器输出(④)。同时,本发明选择与被评估传感器模拟器相关的数据作为预期输出(⑤)。例如,如果本发明评估一个加速度计,本发明选择关于加速度的状态数据。
最后,本发明比较了驱动输出的相似度和期望输出,以评估传感器转换数据的有效性。如果驱动程序输出性能类似于except输出,则它是否证明传感器模拟器有效地表示真实的传感器并正确地转换数据。
图9中,系统首先识别无人机的附加传感器和(舵机)执行器。然后生成传感器和执行器的仿真器,用于引导数据。最后,本发明使用传感器模拟器和执行器模拟器连接固件模拟器和飞行模拟器。
为了量化输入和输出数据的相似度,本发明应用Pearson相关方法对5个传感器模拟器进行了评估,结果如表2所示。x,y,z表示在这些轴上的比较结果,注意BMP085是一个只输出一维数据的晴雨表。对于Pearson相关方法,r>0.7被认为是强的相关,p<0.05认为差异有统计学意义。结果表明,所构建的仿真器可以将状态数据转换为固件。
表2DVATAR在识别传感器中的性能表
Figure BDA0004127890170000201
D.手动工作
传感器模拟器结构是半自动的。由于涉及手册,在本节中,本发明将评估构建单个传感器仿真器的手动工作。构造传感器的仿真器是手动编码逻辑部分,本质上,处理固件访问传感器是处理固件读取或写入寄存器。然而,通过时间或代码复杂性来量化人工工作,这些索引并不能反映开发人员必须了解的传感器知识量。当逻辑部分操纵寄存器的值时,开发人员必须理解导入寄存器的功能。本发明将实验中使用的寄存器值操纵分为3类:
简单的处理程序,返回一个常量值或简单地记录该值,这不会实现任何逻辑。IR是只返回常量值的寄存器。不涉及数据转换的CR部分通过简单地记录值来处理(例如,用于配置传感器功率的CR)。
转换处理程序通常将CR值转换为数据转换的参数,而数据转换不实现任何逻辑。逻辑处理器通常用于生成SR和DR的值,这需要理解传感器的内部逻辑。
本发明评估了Ardupilot项目中8个传感器的寄存器,,计算要处理的寄存器,并对处理器类型进行了分类,结果如表III所示。从表中,本发明得出结论,对于加速计或陀螺仪,大多数处理器都是Trivial或Translation,逻辑低于30%。然而,对于气压计或磁力计,,逻辑高于80%和50%,这是因为对于气压计和磁力计,需要从DR读取更多校准参数。
表3构建仿真器的人工工作结果表
Figure BDA0004127890170000211
E.案例研究
在本节中,本发明将展示如何使用本发明的技术模拟无人机固件飞行。本发明研究了一个真实的无人机固件[4],一个STM32目标无人机固件,可以由固件模拟器Halucinator[2]执行。本发明利用本发明的方法连接固件飞行模拟器Airsim进行模拟。
识别和分配。本发明首先利用传感器识别器对无人机正在使用的传感器进行扫描,结果如表四所示,其中传感器识别器检测到的AFMP和相应的传感器。根据传感器识别器给出的信息,分配相应的传感器仿真器进行数据传输。
表4附加传感器的AFMP表
Figure BDA0004127890170000221
同步。固件的执行应该与飞行模拟器同步。通常,飞行模拟器可以与现实世界的时间同步运行。但是,固件不能与现实世界的时间同步执行。给出了基于QEMU的固件模拟器。依赖于固件模拟器的QEMU在计时方面受到限制,它只提供固件执行的统计时钟tick。时钟滴答间隔不与实时同步(有时快或有时慢)。为了同步固件和飞行模拟器,本发明给QEMU打补丁,将时钟滴答间隔转换为时间间隔。最后,本发明对飞行模拟器进行了修改,使其与QEMU的转换时间间隔同步。
此外,对本发明相关工作介绍如下:
A、固件模拟
在虚拟环境中执行固件是动态测试中被广泛讨论的问题。早期的研究Avatar提出了一种使用混合仿真和concolic执行的解决方案。代理改进了Avatar的性能,并支持近乎实时的模拟。最近的研究主要集中在无硬件的嵌入式系统的动态测试和模糊执行固件。它们遵循模拟芯片上外围设备或高级模拟行为的方法。P2IM[1]是一个自动建模外设I/O行为的框架,同时将外设本身视为黑匣子。Emu是一个自动查找访问未知外设的适当响应的框架。Halucinator[2]是一个使用高级仿真来模拟HAL层固件的框架。在商用硬件上对驻留抽象MCU,并对通用MCU行为建模,支持hal启用的硬件逻辑。相比之下,DVATAR将无人机固件连接到飞行模拟器,致力于探索物理空间漏洞。
B.无人机物理空间漏洞检测
物理空间漏洞威胁无人机安全。最近的研究关注到了这种脆弱性。RVFuzzer[3]提出了一个控制程序测试系统,揭示了动态可调控制参数的非法但可接受的取值范围。相比之下,DVATAR为这些方法提供了一个模拟无人机状态的工具,从而将其方法扩展到更广泛的无人机固件中。
系统首先识别无人机的附加传感器和(舵机)执行器。然后生成传感器和执行器的仿真器,用于引导数据。最后,本发明使用传感器模拟器和执行器模拟器连接固件模拟器和飞行模拟器。
本发明的应用前景如下:
物理空间漏洞威胁无人机安全。最近的研究关注到了这种脆弱性。RVFuzzer[3]提出了一个控制程序测试系统,揭示了动态可调控制参数的非法但可接受的取值范围,即当系统接受到一组带有非法参数值的篡改命令时,无人机会执行此类命令导致其任务受到影响。这种由软件引起的、影响无人机在物理空间性能的异常称为物理空间漏洞。与破坏程序执行的传统软件漏洞(如内存破坏)不同,可以通过运行时监视器(如QEMU)捕捉到导致无人机异常,物理空间漏洞只能通过在物理空间中飞行并观察无人机行为来捕获。
无人机物理空间漏洞检测需要飞行仿真的辅助,但大部分无人机固件中都有相关技术。本发明提出了一种新的模拟无人机的片外外设仿真技术,通过仿真无人机的传感器和执行器来辅助飞行仿真应用。在飞行仿真和固件之间转换仿真相关数据,模拟无人机在虚拟的三维空间中飞行,在触发虚拟空间漏洞时可以观察到无人机在物理空间中的异常,从而在固件执行时捕获物理空间的漏洞。为分析探索物理空间漏洞带来了新的有效方式。
该技术能够在不同传感器的无人机上辅助飞行模拟。尽管本发明的方法需要人工构建仿真器,但这些仿真器可以重复使用来模拟不同的无人机。本发明相信,与分析师合作维护仿真器的人工工作将非常重要。
本发明引证文献如下:
[1]B.Feng,A.Mera,and L.Lu,“{P2IM}:Scalable and hardware-independentfirmware testing via automatic peripheral interface modeling,”in 29th USENIXSecurity Symposium(USENIX Security 20),2020,pp.1237–1254.
[2]A.A.Clements,E.Gustafson,T.Scharnowski,P.Grosen,D.Fritz,C.Kruegel,G.Vigna,S.Bagchi,and M.Payer,“{HALucinator}:Firmware re-hosting throughabstraction layer emulation,”in 29th USENIX Security Symposium(USENIXSecurity 20),2020,pp.1201–1218.
[3]T.Kim,C.H.Kim,J.Rhee,F.Fei,Z.Tu,G.Walkup,X.Zhang,X.Deng,and D.Xu,“{RVFuzzer}:Finding input validation bugs in robotic vehicles through{Control-Guided}testing,”in 28th USENIX Security Symposium(USENIX Security19),2019,pp.425–442.
[4]“eysip-2017control and algorithms development for quadcopter,”2017.[Online].Available:https://github.com/eYSIP-2017/eYSIP2017_Control_and_Algorithms_development_for_Quadcopter
如上所述,可较好地实现本发明。
本说明书中所有实施例公开的所有特征,或隐含公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合和/或扩展、替换。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,依据本发明的技术实质,在本发明的精神和原则之内,对以上实施例所作的任何简单的修改、等同替换与改进等,均仍属于本发明技术方案的保护范围之内。

Claims (10)

1.一种模拟无人机的外设仿真系统,其特征在于,将硬件传感器和执行器替换为解释器,实现模拟器和固件之间的数据交换。
2.根据权利要求1所述的一种模拟无人机的外设仿真系统,其特征在于,利用模拟器来执行固件并劫持固件访问片上外设,解释器处理固件访问片上外设以模拟传感器或执行器,固件访问、解释和转换仿真相关数据;其中,一个单独的解释器是根据供应商发布的数据表半自动构建的,负责处理访问单一型号的传感器或执行器的固件。
3.根据权利要求1或2所述的一种模拟无人机的外设仿真系统,其特征在于,包括依次电连接的传感器识别器、仿真器生成器、无人机模拟器,还包括与仿真器生成器电连接的执行器识别器;
其中,传感器识别器,用以:识别无人机微控制器单元上的传感器;仿真器生成器,用以:半自动生成和分配附加传感器和执行器的仿真器;无人机模拟器,用以:执行无人机固件和模拟无人机飞行;执行器识别器位于无人机微控制器单元上,用以:识别执行器。
4.一种模拟无人机的外设仿真方法,其特征在于,基于权利要求1至3任一项所述的一种模拟无人机的外设仿真系统,将硬件传感器和执行器替换为解释器,实现模拟器和固件之间的数据交换。
5.根据权利要求4所述的一种模拟无人机的外设仿真方法,其特征在于,首先识别连接到无人机的所有传感器和执行器的模型;然后分配这些传感器和执行器的仿真器,仿真器提供转换数据的功能;最后,利用分配的仿真器来应用飞行模拟。
6.一种模拟无人机的外设仿真方法,其特征在于,采用如下所述的一种模拟无人机的外设仿真系统:依次电连接的传感器识别器、仿真器生成器、无人机模拟器,还包括与仿真器生成器电连接的执行器识别器;
其中,传感器识别器,用以:识别无人机微控制器单元上的传感器;仿真器生成器,用以:半自动生成和分配附加传感器和执行器的仿真器;无人机模拟器,用以:执行无人机固件和模拟无人机飞行;执行器识别器位于无人机微控制器单元上,用以:识别执行器。
7.根据权利要求6所述的一种模拟无人机的外设仿真方法,其特征在于,进行外设仿真时,包括以下步骤:
A1,传感器识别器识别传感器的模型,根据传感器数据表构建传感器的数据库记录功能,并通过动态分析固件提取传感器的特征;然后将特征与数据库进行比较,获得所附传感器的模型;
A2,执行器识别器通过捕获和评估控制信号的波形来获得所附执行器的信息;
A3,仿真器生成器利用传感器识别器和执行器识别器提供的获得信息半自动地生成或分配传感器和执行器的仿真器;
A4,无人机模拟器执行固件并模拟无人机飞行,利用模拟器生成器分配的传感器模拟器和/或执行器模拟器在固件模拟器与飞行模拟器之间传输数据,实现在无人机固件上进行飞行模拟。
8.根据权利要求7所述的一种模拟无人机的外设仿真方法,其特征在于,步骤A2中,执行器识别器使用固件模拟器执行固件,并通过劫持固件与PWM的交互捕获波形;以及,执行器识别器通过分析时域特性中的波形来区分协议:对于数字ESC,两个值之间的每个脉冲跳变的高电平占用时间是固定的;对于模拟ESC,每个脉冲的高电平的时间占用是不固定的。
9.根据权利要求7所述的一种模拟无人机的外设仿真方法,其特征在于,步骤A3中,仿真器生成器在对传感器和执行器进行识别后,仿真器生成器获取所附传感器和执行器的信息,然后分配仿真器模块;其中,由仿真器生成器分配的模拟器模块可重用。
10.根据权利要求7所述的一种模拟无人机的外设仿真方法,其特征在于,步骤A4中,无人机模拟器实现依次沿固件模拟器、执行器模拟器、飞行模拟器、传感器模拟器、固件模拟器传输信号的仿真循环。
CN202310251039.XA 2023-03-15 2023-03-15 一种模拟无人机的外设仿真系统及方法 Pending CN116184859A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310251039.XA CN116184859A (zh) 2023-03-15 2023-03-15 一种模拟无人机的外设仿真系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310251039.XA CN116184859A (zh) 2023-03-15 2023-03-15 一种模拟无人机的外设仿真系统及方法

Publications (1)

Publication Number Publication Date
CN116184859A true CN116184859A (zh) 2023-05-30

Family

ID=86434564

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310251039.XA Pending CN116184859A (zh) 2023-03-15 2023-03-15 一种模拟无人机的外设仿真系统及方法

Country Status (1)

Country Link
CN (1) CN116184859A (zh)

Similar Documents

Publication Publication Date Title
CN107491061B (zh) 一种商用车obd诊断设备的网络自动化测试系统及其方法
Bringmann et al. Model-based testing of automotive systems
US10409632B2 (en) Emulation of hardware components based on interrupt design
CN104133379A (zh) 四旋翼飞行器仿真方法
US7957951B2 (en) Address translation system for use in a simulation environment
US10585771B1 (en) Pluggable hardware simulation test execution system
CN108984403A (zh) Fpga逻辑代码的验证方法及装置
CN114036013A (zh) 一种基于uvm的应答器芯片多模块同步验证平台和验证方法
US20200133705A1 (en) Generalized virtualization platform for systems using hardware abstraction software layers
CN106094802A (zh) 一种汽车电子控制器通讯测试系统及方法
CN114326440A (zh) 一种用于运载火箭的仿真试验系统及方法
CN112947384A (zh) 一种多功能的卫星仿真测试系统及方法
CN104950688B (zh) 分布式传递对准半实物仿真系统及其方法
Cioroaica et al. (Do not) trust in ecosystems
CN116184859A (zh) 一种模拟无人机的外设仿真系统及方法
US20240176632A1 (en) Method for generating and verifying automotive embedded software based on autosar
CN117597669A (zh) 一种测试方法、系统及装置
CN111737141A (zh) 一种结合深度学习技术的黑盒自动化测试系统和方法
Wang et al. Dvatar: Simulating the Binary Firmware of Drones
Naithani et al. Development of an Automobile Hardware-inthe-Loop Test System with CAN Communication
CN108763001A (zh) 一种通用串行总线测试发包方法
Roza et al. Report out of the fidelity experimentation ISG
US20240143489A1 (en) Method for the automated performance of software tests for a program to be tested in an embedded system
KR101047119B1 (ko) 센서 노드 에뮬레이터를 연동하는 센서 네트워크 시뮬레이션 시스템
Moallemi et al. Application of RT-DEVS in Military

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination