CN113191032B - 一种视角仿真方法、装置、系统和存储介质 - Google Patents

一种视角仿真方法、装置、系统和存储介质 Download PDF

Info

Publication number
CN113191032B
CN113191032B CN202110748230.6A CN202110748230A CN113191032B CN 113191032 B CN113191032 B CN 113191032B CN 202110748230 A CN202110748230 A CN 202110748230A CN 113191032 B CN113191032 B CN 113191032B
Authority
CN
China
Prior art keywords
simulation
camera
coordinate system
platform
simulation platform
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.)
Active
Application number
CN202110748230.6A
Other languages
English (en)
Other versions
CN113191032A (zh
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.)
Beijing Yuandu Internet Technology Co ltd
Original Assignee
Beijing Yuandu Internet Technology Co ltd
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 Beijing Yuandu Internet Technology Co ltd filed Critical Beijing Yuandu Internet Technology Co ltd
Priority to CN202110748230.6A priority Critical patent/CN113191032B/zh
Publication of CN113191032A publication Critical patent/CN113191032A/zh
Application granted granted Critical
Publication of CN113191032B publication Critical patent/CN113191032B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明实施例提供了一种视角仿真方法、装置、系统和存储介质,通过根据测试人员设置的视角模式,计算并设置相机在仿真平台中的位置和姿态,并通过仿真平台获得相机拍摄的仿真环境中的图像,从而在仿真测试期间,可以在硬件资源受限的情况下实现多视角的切换,分时地从不同地视角观察仿真平台中的仿真对象,解决了在现有技术中在硬件资源受限情况下,无法从多个视角对测试进行观察的问题,达到提高测试效率,更全面,更方便的评估控制系统的效果。

Description

一种视角仿真方法、装置、系统和存储介质
技术领域
本发明涉及无人机仿真领域,尤其涉及一种视角仿真方法、装置、系统和存储介质。
背景技术
仿真系统可以提供一个虚拟环境,在这个环境下可以模拟各种模型(例如飞机,汽车等)的运动。仿真系统主要分硬件在环和软件在环仿真,硬件在环(hardware-in-loop)仿真主要用于测试控制器系统(真实控制器+虚拟设备),软件在环(software-in-loop)仿真主要测试控制器模型与控制器模型代码实现之间的一致性。仿真系统(ue4,gazebo等)提供各种接口作为用户扩展使用,用户的软件主要是使用仿真系统提供的接口来实现对模型(飞机,相机等)的控制。为了在多个角度了解仿真中模型(飞机)的状态,一般把观察视角分为以下三个:跟随视角,即相机在飞机后方,朝向飞机方向观察视角;俯视视角,即相机在飞机上方,垂直向下的观察视角;吊舱视角,即相机在机头下方的吊舱的位置,等效吊舱视角。云台是安装、固定摄像机的支撑设备。相机在云台上可以沿3个轴(横滚,俯仰,航向)旋转,这样相机在载体(飞机)不同的姿态下可以保持相对稳定。目前现有技术显示的视角主要有2种情况:第一,显示设备上多个视角同时显示(需要在仿真环境中的虚拟飞行器上设置多个虚拟相机组件传感器);第二,仿真环境只把吊舱视角输出外部显示设备上。
在实现本发明过程中,申请人发现现有技术中至少存在如下问题:
针对上述第一种情况,由于硬件环境是复用飞机内本身的cpu,所以受cpu算力和内存制约,没有资源来使用多相机组件,多相机多场景同时显示需要大量的cpu和内存资源;
针对上述第二种情况,单相机单一场景不能实现多视角切换。
发明内容
本发明实施例提供一种视角仿真方法、装置、系统和存储介质,以解决资源受限的仿真环境下的无法以多视角观察仿真环境内的仿真对象的问题;
为达上述目的,一方面,本发明实施例提供了一种视角仿真方法,包括:
根据当前的观察视角获得相机在仿真平台坐标系中的相机姿态数据;所述仿真平台坐标系为仿真平台定义的以预设点为原点的地理坐标系;所述仿真平台用于仿真仿真对象的运动;
根据所述观察视角以及所述仿真对象在所述仿真平台坐标系中的仿真对象位置坐标和仿真对象姿态数据,确定相机在所述仿真平台坐标系中的相机位置坐标;所述仿真对象姿态数据包括所述仿真对象绕所述仿真平台坐标系的三个轴旋转的角度;以及,
将所述相机位置坐标和所述相机姿态数据发送至所述仿真平台,以使所述仿真平台在仿真平台坐标系中设置相机的位置和姿态;
从所述仿真平台获得并转发相机在所述位置和姿态下拍摄的图像。
进一步地,所述根据所述观察视角以及所述仿真对象在所述仿真平台坐标系中的仿真对象位置坐标和仿真对象姿态数据,确定相机在所述仿真平台坐标系中的相机位置坐标,包括:
根据所述观察视角,获得相机在仿真对象坐标系下的第一位置坐标;
获取所述仿真平台中的所述仿真对象的所述仿真对象姿态数据;
将矩阵运算应用于所述第一位置坐标和所述仿真对象姿态数据,得到相机在所述仿真平台坐标系中相对于所述仿真对象的第一相对坐标;
获取所述仿真对象在所述仿真平台坐标系中的所述仿真对象位置坐标,并将所述第一相对坐标叠加到所述仿真对象位置坐标,得到相机在所述仿真平台坐标系中的所述相机位置坐标。
进一步地,所述将矩阵运算应用于所述第一位置坐标和所述仿真对象姿态数据,得到相机在所述仿真平台坐标系中相对于所述仿真对象的第一相对坐标,具体为:
根据所述仿真对象姿态数据构造变换矩阵,并将所述变换矩阵与所述第一位置坐标相乘,得到所述第一相对坐标。
进一步地,所述视角仿真方法还包括:
接收到控制装置发送的转速信息,将所述转速信息转换为动力参数;
将所述动力参数传送至所述仿真平台,以使所述仿真平台根据所述动力参数生成所述仿真对象在所述仿真平台坐标系中的仿真对象位置坐标和仿真对象姿态数据;
调用所述仿真平台的接口,获取到所述仿真对象在所述仿真平台坐标系中的仿真对象位置坐标和仿真对象姿态数据。
进一步地,所述观察视角包括:跟随视角、俯视视角以及吊舱视角中的至少一个。
进一步地,当所述观察视角包括所述跟随视角时,所述根据当前的观察视角获得相机在仿真平台坐标系中的相机姿态数据,具体包括:根据所述仿真对象姿态数据中的航向方向上的数据得到所述相机姿态数据;和/或者,
当所述观察视角包括所述吊舱视角时,所述根据当前的观察视角获得相机在仿真平台坐标系中的相机姿态数据,具体还包括:通过接口获取吊舱姿态数据作为所述相机姿态数据;和/或者,
当所述观察视角包括所述俯视视角时,所述根据当前的观察视角获得相机在仿真平台坐标系中的相机姿态数据,具体还包括:将所述仿真对象姿态数据中的俯仰方向上的数据叠加90度后得到所述相机姿态数据,使相机镜头正对所述仿真对象。
进一步地,根据所述观察视角,获得相机在仿真对象坐标系下的第一位置坐标,具体包括:
根据在观察视角时预设置的所述相机与所述仿真对象的位置关系,获得相机在仿真对象坐标系下的第一位置坐标。
另一方面,本发明实施例还提供了一种视角仿真装置,其特征在于,包括:
相机姿态获取单元,用于根据当前的观察视角获得相机在仿真平台坐标系中的相机姿态数据;所述仿真平台坐标系为仿真平台定义的以预设点为原点的地理坐标系;所述仿真平台用于仿真仿真对象的运动;
相机位置获取单元,用于根据所述观察视角以及所述仿真对象在所述仿真平台坐标系中的仿真对象位置坐标和仿真对象姿态数据,确定相机在所述仿真平台坐标系中的相机位置坐标;所述仿真对象姿态数据包括所述仿真对象绕所述仿真平台坐标系的三个轴旋转的角度;
位姿数据发送单元,用于将所述相机位置坐标和所述相机姿态数据发送至所述仿真平台,以使所述仿真平台在仿真平台坐标系中设置相机的位置和姿态;
相机图像获取单元,用于从所述仿真平台获得并转发相机在所述位置和姿态下拍摄的图像。
进一步地,所述相机位置获取单元,包括:
相机预置位置获取模块,用于根据所述观察视角,获得相机在仿真对象坐标系下的第一位置坐标;
仿真对象姿态获取模块,用于获取所述仿真平台中的所述仿真对象的所述仿真对象姿态数据;
相机相对位置获取模块,用于将矩阵运算应用于所述第一位置坐标和所述仿真对象姿态数据,得到相机在所述仿真平台坐标系中相对于所述仿真对象的第一相对坐标;
相机绝对位置获取模块,用于获取所述仿真对象在所述仿真平台坐标系中的所述仿真对象位置坐标,并将所述第一相对坐标叠加到所述仿真对象位置坐标,得到相机在所述仿真平台坐标系中的所述相机位置坐标。
进一步地,所述相机相对位置获取模块,配置为:根据所述仿真对象姿态数据构造变换矩阵,并将所述变换矩阵与所述第一位置坐标相乘,得到所述第一相对坐标。
进一步地,所述视角仿真装置,还包括:
收发单元,用于接收到控制装置发送的转速信息,将所述转速信息转换为动力参数;以及,将所述动力参数传送至所述仿真平台,以使所述仿真平台根据所述动力参数生成所述仿真对象在所述仿真平台坐标系中的仿真对象位置坐标和仿真对象姿态数据;
调用单元,用于调用所述仿真平台的接口,获取到所述仿真对象在所述仿真平台坐标系中的仿真对象位置坐标和仿真对象姿态数据。
进一步地,所述观察视角包括:跟随视角、俯视视角以及吊舱视角中的至少一个。
进一步地,当所述观察视角包括所述跟随视角时,所述相机姿态获取单元,具体用于:根据所述仿真对象姿态数据中的航向方向的数据得到所述相机姿态数据;和/或者,
当所述观察视角包括所述吊舱视角时,所述相机姿态获取单元,具体还用于:通过接口获取吊舱姿态数据作为所述相机姿态数据;和/或者,
当所述观察视角包括所述俯视视角时,所述相机姿态获取单元,具体还用于:将所述仿真对象姿态数据中的俯仰方向上的数据叠加90度后得到所述相机姿态数据,使相机镜头正对所述仿真对象。
进一步地, 所述相机预置位置获取模块,具体用于:
根据在观察视角时预设置的所述相机与所述仿真对象的位置关系,获得相机在仿真对象坐标系下的第一位置坐标。
另一方面,本发明实施例还提供了一种视角仿真系统,包括:如前述的任意一种视角仿真装置,仿真平台以及控制显示设备;
所述视角仿真装置与所述控制显示设备连接;所述控制显示设备用于接收来自所述视角仿真装置的图像,并显示所述图像;
所述视角仿真装置与所述仿真平台连接;所述仿真平台用于仿真仿真对象的运动;所述仿真平台还用于根据所述视角仿真装置传送的动力参数生成所述仿真对象在仿真平台坐标系中的仿真对象位置坐标和仿真对象姿态数据,以使所述视角仿真装置获取到所述仿真对象位置坐标和所述仿真对象姿态数据,所述仿真平台还用于根据所述视角仿真装置发送的相机位置坐标和所述相机姿态数据在仿真平台坐标系中设置相机的位置和姿态,所述仿真平台还用于获取相机在所述位置和姿态下拍摄的图像。
另一方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前述的任意一项所述的视角仿真方法。
上述技术方案具有如下有益效果:本发明提供了一种视角仿真方法、装置、系统和存储介质,根据当前的至少一个观察视角实时地计算各观察视角对应的相机在仿真平台中的位置和姿态,实时地通过仿真平台获得各相机在各自的位置和姿态下拍摄的仿真环境中的图像,并且在实时观察期间,可以更改各相机的观察视角,实现从多个观察角度下观察仿真对象,达到对仿真对象的控制系统进行更全面的观察评估的效果。特别地,在仿真测试期间,也可以只使用一个相机,分时的设置为不同的观察视角,能够以较低的资源消耗实现多视角观察仿真对象,留给仿真控制逻辑更多的执行时间,从而提高了仿真的实时性;在直接使用仿真对象(例如无人机)自身的处理器搭建在环仿真环境时,可以在硬件资源受限的情况下实现相机多视角切换,分时地从不同地视角观察仿真平台中的仿真对象,在不增加算力的基础上,解决了在现有技术中在资源受限情况下无法从多个视角对测试进行观察的问题,实现了单相机多场景,达到提高测试效率,更全面,更方便的评估控制系统的效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例之一的视角仿真系统的一种架构示意图;
图2是本发明实施例之一的视角仿真方法的一种流程图;
图3是本发明实施例之一的确定相机的相机位置坐标一种流程图;
图4是本发明实施例之一的仿真对象坐标系的一种示意图;
图5是本发明实施例之一的视角仿真装置的一种结构示意图;
图6是本发明实施例之一的视角仿真方法的另一种流程图;
图7是本发明实施例之一的观察视角为跟随视角时的一种流程图;
图8是本发明实施例之一的观察视角为跟随视角时相机位置示意图;
图9是本发明实施例之一的观察视角为吊舱视角时的一种流程图;
图10是本发明实施例之一的观察视角为吊舱视角时相机位置示意图;
图11是本发明实施例之一的观察视角为俯视视角时的一种流程图;
图12是本发明实施例之一的观察视角为俯视视角时相机位置示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合图1对本发明实施例提供的视角仿真系统进行说明。
如图1所示,本发明实施例提供了一种视角仿真系统,包括:视角仿真装置,仿真平台以及控制显示设备。
其中,视角仿真装置与控制显示设备连接,控制显示设备用于接收来自所述视角仿真装置的图像,并显示所述图像。
视角仿真装置与仿真平台连接,仿真平台用于仿真仿真对象的运动;仿真平台还用于根据视角仿真装置传送的动力参数生成仿真对象在仿真平台坐标系中的仿真对象位置坐标和仿真对象姿态数据,以使视角仿真装置获取到仿真对象位置坐标和仿真对象姿态数据,仿真平台还用于根据视角仿真装置发送的相机位置坐标和相机姿态数据在仿真平台坐标系中设置相机的位置和姿态,仿真平台还用于获取相机在所述位置和姿态下拍摄的图像。仿真平台可以是虚幻引擎(UNREAL ENGINE),虚幻引擎是一个实时3D创作平台;仿真平台还可以是凉亭平台(GAZEBO)。
在一个实施例中,视角仿真装置和仿真平台可以被部署于相同或不同的处理单元中。例如,对于无人机的仿真测试,一般情况下,无人机的主板上一共有两个系统级芯片(System on Chip,SOC),视角仿真装置与飞控位于不同的系统级芯片上,在此情况下,可以将视角仿真装置和仿真平台都部署实现在无人机的同一个系统级芯片上,由该系统级芯片实现视角仿真装置和仿真平台,此时,该无人机能够实现仿真;或者将仿真平台设置在PC上,此时,无人机需要配合该PC实现仿真。
本发明实施中,能够根据操作者设置的观察视角模式,计算相机在仿真平台中的位置和姿态,并通过仿真平台获得相机拍摄的仿真环境中的图像,从而在仿真测试期间,能够以较低的资源消耗实现多视角观察仿真对象,留给仿真控制逻辑更多的执行时间,提高了仿真的实时性;特别地,在直接使用仿真对象(例如无人机)自身的处理器搭建在环仿真环境时,可以在硬件资源受限的情况下实现相机多视角切换,分时地从不同地视角观察仿真平台中的仿真对象,在不增加算力的基础上,解决了在现有技术中在资源受限情况下无法从多个视角对测试进行观察的问题,实现了单相机多场景,达到提高测试效率,更全面,更方便的评估控制系统的效果,同时减少了测试所需的硬件物资,降低了测试的物料成本。
如图1所示,视角仿真系统还包括:图传装置。
图1中视角仿真装置可以通过图传装置与控制显示设备连接;视角仿真装置将相机拍摄的图像通过图传装置发送至控制显示设备,在其他实施例中,视角仿真装置也可以直接通过有线方式将相机拍摄的图像发送至控制显示设备。
如图1所示,视角仿真系统还包括:控制装置。
图1中视角仿真装置与控制装置连接;控制装置可以是仿真对象中的控制器或处理器,或模拟控制器;视角仿真装置从控制装置接收到控制命令,并将控制命令转发给仿真平台;仿真平台根据收到的控制命令更新仿真对象的运动,仿真平台还通过视角仿真装置将仿真对象的传感器信息(例如, GPS定位信息,磁力计、IMU等信息)实时反馈给控制装置。针对不同的仿真对象,控制装置可以不同,例如,当仿真对象为无人机,控制装置可以为无人机的飞控(相当于控制装置)。
多相机多场景的同时显示需要大量的算力和内存资源,此时设置有仿真平台的处理单元受到算力和内存制约,没有足够的资源来处理多相机组件的功能,使用本发明实施例的方案可以实现利用一个相机进行多观察视角的仿真,解除了系统资源制约的问题,达到提高测试效率,更全面,更方便的评估控制系统的效果。
如图2所示,本发明实施例提供了一种视角仿真方法,应用于视角仿真装置,该视角仿真装置可以是任意的具有计算功能的终端或服务器,该视角仿真装置可以设置于仿真平台以及控制装置之间,用于在仿真平台以及控制装置之间进行数据交互。该方法可以包括但不限于以下流程:
步骤S200,根据当前的观察视角获得相机在仿真平台坐标系中的相机姿态数据;仿真平台坐标系为仿真平台定义的以预设点为原点的地理坐标系;仿真平台用于仿真仿真对象的运动;
在一个实施例中,当前的观察视角可以通过多种途径设置,且可以在实时仿真过程中根据具体观察的需要设置当前的观察视角。例如在仿真开始前或者在实时仿真期间测试人员可以使用PAD或者PC机等具有控制通信能力和显示能力的控制显示设备发出视角切换命令,上述控制显示设备可以通过有线或无线的方式与视角仿真装置连接;视角切换命令用于从预置的几个观察视角中为仿真环境中的至少一个相机中的各相机设置各自的当前的观察视角。还可以在视角仿真装置中为至少一个相机中的各相机各自预置几个观察视角,并且设置各观察视角的有效时间范围,在实时仿真测试期间各观察视角根据有效时间范围自动依次切换为各相机的当前的观察视角。例如对于无人机系统的仿真测试,观察视角可以包括:跟随视角、俯视视角、吊舱视角中的至少一个。在跟随视角下,相机被设置为跟随仿真对象的运动,并且相机的镜头朝向仿真对象,在俯视视角下,相机被设置于仿真对象的正上方,并且相机镜头从上方垂直并正对于仿真对象,在吊舱视角下,相机被放置在无人机的机体周围的固定位置处理,跟随无人机的运动,例如,现有技术中的无人机机头下方的吊舱。对于汽车系统的仿真测试,观察视角可以包括:跟随视角、俯视视角、驾驶室视角中的至少一个;上述关于观察视角的举例不作为对本发明实施例的限制,在其他实施例中,可根据具体情况预置可选的其他观察视角。并且跟随视角、俯视视角和吊舱视角不限于用于无人机或其他类型飞机,也可以作为本实施例未公开的其他设备装置的观察视角。
在一个实施例中,仿真对象可以是无人机,在其他实施例中仿真对象可以是由仿真平台仿真的其他设备;仿真平台根据接收到的来自仿真对象的控制装置发出的控制命令,在仿真环境中控制仿真对象完成与控制命令对应的动作,在实时仿真期间,当需要改变仿真环境中的仿真对象的运动状态时,可以通过控制装置向视角仿真装置发出控制命令,视角仿真装置收到控制命令后与仿真平台通信,使仿真平台改变仿真环境中的仿真对象的运动状态。例如,仿真对象为无人机,仿真对象的控制装置为飞控,当需要改变无人机的飞行状态时,飞控向视角仿真装置发出控制命令,视角仿真装置收到控制命令后与仿真平台通信,使仿真环境中的无人机做出与该控制命令对应的动作。
仿真平台可以创建仿真环境,仿真平台坐标系是以仿真环境中的预设点为原点建立的地理坐标系,其中,x轴正方向为东,y轴正方向为北,z轴正方向为地。
仿真平台在仿真环境中仿真出仿真对象的运动,可以使用仿真平台坐标系中的仿真对象姿态数据表示出在仿真环境下的仿真对象的姿态,仿真平台坐标系中的仿真对象姿态数据可以通过仿真平台的应用程序接口获得,例如,仿真平台根据无人机的飞控发送的控制命令,仿真出无人机在仿真平台坐标系中的姿态。仿真对象姿态数据包括仿真环境中的仿真对象绕仿真平台坐标系x轴、y轴以及z轴方向转动的角度。相机在观察视角位置观察记录仿真对象的运动;相机在仿真平台坐标系中的相机姿态数据包括仿真环境中的相机绕仿真平台坐标系x轴、y轴和z轴方向转动的角度。通过确定观察视角,可以确定相机姿态与仿真对象姿态的相对关系,从而确定相机姿态数据。
本发明实施例中,可以根据观察视角以及仿真对象姿态数据获取到相机在仿真平台坐标系中的相机姿态数据。其中,仿真对象姿态数据可以调用仿真平台的接口,例如api(application programming interface,应用程序编程接口)函数接口,获取仿真对象的仿真对象姿态数据,其中,不同的观察视角确定相机在仿真平台坐标系中的相机姿态数据的方式不同。
需要指出的是,不同的观察视角,获得的相机在仿真平台坐标系中的相机姿态数据不同。在确定相机在仿真平台坐标系中的相机姿态数据时,可以根据不同的观察视角以及仿真对象姿态数据,获取到不同观察视角下相机在仿真平台坐标系中的相机姿态数据。
步骤S201,根据观察视角以及仿真对象在仿真平台坐标系中的仿真对象位置坐标和仿真对象姿态数据,确定相机在仿真平台坐标系中的相机位置坐标;仿真对象姿态数据包括仿真对象绕仿真平台坐标系的三个轴旋转的角度。
在一个实施例中,在实时仿真期间,当具体测试需要改变仿真对象的运动时,可以通过控制装置向视角仿真装置发送控制命令,视角仿真装置收到控制命令后与仿真平台通信,使仿真平台改变仿真环境中的仿真对象的运动状态。仿真平台坐标系中的仿真对象姿态数据表示在仿真环境下的仿真对象的姿态;仿真平台坐标系中的仿真对象姿态数据可以通过仿真平台的应用程序接口获得仿真对象姿态数据;仿真平台坐标系中的仿真对象位置坐标表示出仿真对象在仿真环境中的位置信息;可以通过仿真平台的应用程序接口获得仿真对象位置坐标;例如,仿真平台根据无人机的飞控发送的控制命令在仿真环境中仿真出无人机的运动,可以通过仿真平台的应用程序接口获得无人机在仿真平台坐标系中的仿真对象位置坐标和仿真对象姿态数据。仿真对象位置坐标包括:在仿真环境中仿真对象在仿真平台坐标系x轴、y轴以及z轴上的数值。相机在观察视角位置观察记录仿真对象的运动;相机在仿真平台坐标系中的相机位置坐标包括:在仿真环境中相机在仿真平台坐标系x轴、y轴以及z轴上的数值。
在一个实施例中,在确定相机在仿真平台坐标系中的相机位置坐标时,在具体的观察视角下,可以获取到相机在仿真对象坐标系下的第一位置坐标,例如,若仿真对象为无人机,则该第一位置坐标为相机在机体坐标下的位置坐标。从仿真平台中读取仿真对象的仿真对象位置坐标和仿真对象姿态数据,通过对该第一位置坐标和仿真对象姿态数据执行矩阵平移和旋转运算,得到相机在仿真平台坐标系中的相对于仿真对象的第一相对坐标,将该第一相对坐标叠加到仿真对象位置坐标,得到相机在仿真平台坐标系中的相机位置坐标。
步骤S202,将相机位置坐标和相机姿态数据发送至仿真平台,以使仿真平台在仿真平台坐标系中设置相机的位置和姿态。
在一个实施例中,视角仿真装置在获取到相机在仿真平台坐标系中的相机姿态数据以及相机位置坐标后,可以将其发送至仿真平台,仿真平台根据该仿真平台坐标系中的相机位置坐标和相机姿态数据设置相机的位置和姿态。
步骤S203,从仿真平台获得并转发相机在所述位置和姿态下拍摄的图像。
在一个实施例中,仿真平台在设置相机的位置和姿态后,可以根据该位置和姿态得到相机在仿真环境中对应的图像,视角仿真装置获取该图像,并将图像传输给控制显示设备,从而完成在控制显示设备上选择观察视角,并获得观察视角下的图像的任务。用户选择不同观察视角后,根据设置的观察视角计算出相机应该所处的位置和姿态,并将该相机的位置和姿态转发至仿真平台,根据仿真平台中的相机相关的回调函数会返回对应位置和姿态下的图像,将图像传输到外部控制显示设备上就可以实现场景切换的功能。
需要指出的是,本发明实施例中可以设置一个或多个当前的观察视角,若设置多个当前的观察视角,则可以获取到多个相机在仿真平台坐标系中的相机姿态数据以及相机位置坐标,从而将每一相机的相机位置坐标和相机姿态数据发送至所述仿真平台,以使所述仿真平台在仿真平台坐标系中设置每一相机的位置和姿态,进而从所述仿真平台获得并转发每一相机在所述位置和姿态下拍摄的图像。
步骤S200和步骤S201的顺序可以是先执行步骤S200,再执行步骤S201;也可以是先执行步骤S201,再执行步骤S200。
步骤S200、步骤S201以及步骤S202可以作为一个整体被视角仿真装置按第一指定频率周期性地执行,从而实时更新仿真环境中的相机和仿真对象各自的位置和姿态;步骤203可以按第二指定频率周期性地执行,从而实时获得仿真环境中的相机拍摄到的图像;例如在无人机仿真系统中,可以以固定频率计算并更新相机的位置,比如迭代频率使用500赫兹即第一指定频率为500赫兹,每2毫秒计算一次相机位置和姿态,并调用仿真平台应用程序接口设置相机到计算出的位置和姿态;仿真平台在仿真环境中的相机都会有对应的回调函数,仿真环境中的相机有效后,仿真平台会以预设的频率例如30赫兹即第二指定频率,调用回调函数,在回调函数中会把相机朝向的图像传输出来。在步骤S200、步骤S201、步骤S202以及步骤S203周期性循环执行期间,可以在需要更改观察视角时,更改各相机的观察视角,例如在观察无人机仿真飞行期间,当希望从跟随视角切换到吊舱视角观察时,可以在实时仿真期间,通过预留的设置观察视角的途径更改观察视角。具体地,为了保持一次循环中各步骤之间的数据一致性,在视角仿真装置收到对各相机当前观察视角的设置命令时,先将收到的各相机的新设置的观察视角缓存,当下一个循环执行到步骤S200(每个周期循环都是先执行步骤S200时)或者S201(每个周期循环都是先执行步骤S201时)时,再将各相机缓存的观察视角设置为各相机对应的当前的观察视角。
本发明实施例具有如下有益效果:通过根据当前的视角模式,确定相机在仿真平台中的位置和姿态,并通过仿真平台获得相机拍摄的仿真环境中的图像,从而在仿真测试期间,能够以较低的资源消耗实现多视角观察仿真对象,留给仿真控制逻辑更多的执行时间,从而提高了仿真的实时性;特别地,在直接使用仿真对象(例如无人机)自身的处理器搭建在环仿真环境时,可以在硬件资源受限的情况下实现相机多视角切换,分时地从不同地视角观察仿真环境中的仿真对象,在不增加算力的基础上,解决了在现有技术中在资源受限情况下无法从多个视角对仿真环境下的仿真对象进行观察的问题,达到了以较低的资源消耗实现更全面、更方便评估控制系统的效果。
进一步地,如图3所示,根据观察视角以及仿真对象在仿真平台坐标系中的仿真对象位置坐标和仿真对象姿态数据,确定相机在仿真平台坐标系中的相机位置坐标,可以包括但不限于以下步骤:
步骤S30,根据观察视角,获得相机在仿真对象坐标系下的第一位置坐标。
在一个实施例中,仿真对象坐标系用于确定相机与仿真对象的相对位置;仿真对象坐标系以仿真对象的中心为原点,x轴正方向为仿真对象的头部方向,y轴正方向为仿真对象右侧垂直于该头部的方向,z轴正方向为指向天空的与该x轴和y轴均垂直的方向。例如,仿真对象为无人机时,仿真对象坐标系即为机体坐标系,x轴正方向为机头方向,y轴正方向为无人机右侧机翼方向,z轴为指向天空的方向。
在一个实施例中,可以基于仿真对象的中心作为原点建立仿真对象坐标系,并根据不同的观察视角选择预置的相机位置,这个相机位置通过相机与仿真对象的相对位置来确定,具体可以通过在仿真对象坐标系中指定相机的第一位置坐标来确定。以仿真对象为飞机的情况举例说明,其他仿真对象可以根据仿真对象本身的特点建立仿真对象坐标系,本实施例不作为对本发明保护范围的限制,如图4所示,以飞机的中心为原点,以飞机的机身的长度方向为x轴,以机翼的长度方向为y轴,以垂直于x轴和y轴的方向为z轴,建立仿真对象坐标系,即机体坐标系;可以将飞机机头朝向的方向作为x轴的正方向;将机头方向的右翼一侧为y轴的正方向;以飞机的机背一侧为z轴的正方向。
下面以观察视角为跟随视角或吊舱视角或俯视视角为例,说明不同视角下确定相机在仿真对象坐标系下的第一位置坐标的方法,以下列举的视角不作为对本发明实施例的限制,具体实施时,还可根据具体应用定义其他视角。
在跟随视角下,可以将相机一直保持在飞机的后上方,因此当观察视角为跟随视角时,在仿真对象坐标系中,将相机的第一位置坐标预置为(R,0,H);其中,R为相机中心与飞机中心(即仿真对象的中心,即仿真对象坐标系的原点)在仿真对象坐标系的x轴方向上的坐标预设值;H为相机中心与飞机中心在仿真对象坐标系的z轴方向上的坐标预设值;相机中心与飞机中心在仿真对象坐标系的y轴方向上的相对距离为0,若R小于0,且H大于0,说明相机位于飞机的正后的上方。
在吊舱视角下,吊舱一般设置在飞机机头正下方,因此,当观察视角为吊舱视角时,吊舱相对飞机中心,在仿真对象坐标系的y轴偏移为0,在仿真对象坐标系的x轴和仿真对象坐标系的z轴都是已经设置好的预设值,因此,当观察视角为吊舱视角时,在仿真对象坐标系下相机的第一位置坐标预置为(Gimbal_x,0,Gimbal_z),其中,Gimbal_x表示在仿真对象坐标系的x轴方向上的坐标预设值,0表示在仿真对象坐标系的y轴方向上的坐标预设值,Gimbal_z表示在仿真对象坐标系的z轴方向上的坐标预设值。
在俯视视角下,相机处于飞机的正上方,视角朝下。可以将相机在仿真对象坐标系下的第一位置坐标预置为(B_x,B_y,B_z),其中,B_x为相机中心和飞机(即仿真对象)中心在仿真对象坐标系的x轴上的距离,B_y为相机中心和飞机(即仿真对象)中心在仿真对象坐标系中的y轴上的距离,B_z为相机中心和飞机(即仿真对象)中心在仿真对象坐标系的z轴上的距离。因此,当观察视角为俯视视角时,在仿真对象坐标系下相机的第一位置坐标预置为(B_x,B_y,B_z),其中,B_x为相机的中心与仿真对象的中心在仿真对象坐标系的x轴方向上的坐标预设值,B_y为相机的中心与仿真对象的中心在仿真对象坐标系中的y轴方向上的坐标预设值,B_z为相机的中心与仿真对象的中心在仿真对象坐标系的z轴方向上的坐标预设值。
步骤S31,获取仿真平台中的仿真对象的仿真对象姿态数据。
仿真平台中仿真了仿真对象,并在仿真平台坐标系中跟踪记录着仿真对象的姿态数据,可以通过仿真平台提供的接口例如api函数接口即应用程序编程接口(api即application programming interface)获取仿真对象的仿真对象姿态数据;从仿真平台中获取的仿真对象的仿真对象姿态数据为
Figure 680157DEST_PATH_IMAGE001
,其中仿真对象姿态数据的定义为以仿真对象的中心为转动中心的情况下,
Figure 564674DEST_PATH_IMAGE002
为仿真对象绕仿真平台坐标系x轴方向转动的角度(对于飞机即横滚角),
Figure 547674DEST_PATH_IMAGE003
为绕仿真平台坐标系y轴方向转动的角度(对于飞机即俯仰角)和
Figure 880566DEST_PATH_IMAGE004
为绕仿真平台坐标系z轴方向转动的角度(对于飞机即航向角);
步骤S32,将矩阵运算应用于第一位置坐标和仿真对象姿态数据,得到相机在仿真平台坐标系中相对于仿真对象的第一相对坐标;
在一个实施例中,第一位置坐标记录的是相机在仿真对象坐标系中的相机位置,仿真对象姿态数据则记录了仿真对象在仿真平台坐标系中的角度姿态,所以可以通过仿真对象姿态数据构造旋转矩阵,即变换矩阵,将第一位置坐标转换为在仿真平台坐标系中相机相对于仿真对象的相对位置坐标即第一相对坐标。
步骤S33,获取仿真对象在仿真平台坐标系中的仿真对象位置坐标,并将第一相对坐标叠加到仿真对象位置坐标,得到相机在仿真平台坐标系中的相机位置坐标。
在一个实施例中,通过调用仿真平台的接口例如api函数接口获取仿真对象在仿真平台坐标系中的仿真对象位置坐标(Xplane ,Yplane ,Zplane );第一相对坐标是在仿真平台坐标系中相机相对于仿真对象的相对坐标,将第一相对坐标叠加到仿真对象位置坐标上,即可得到仿真平台坐标系中的相机位置坐标(Xcamera ,Ycamera ,Zcamera );下面还是以跟随视角、吊舱视角、俯仰视角为例说明;
当观察视角为跟随视角时,根据如下公式(1)计算相机位置坐标:
Xcamera = Xplane + X;Ycamera = Yplane + Y;Zcamera = Zplane + Z; (1)
其中,(X,Y,Z)是相机在仿真平台坐标系下的第一相对坐标的数值;
当观察视角为吊舱视角时,根据如下公式(2)计算相机位置坐标:
Xcamera = Xplane + GX;Ycamera = Yplane + GY;Zcamera = Zplane + GZ; (2)
其中,(GX,GY,GZ)是相机在仿真平台坐标系下的第一相对坐标的数值;
当观察视角为俯视视角时,根据如下公式(3)计算相机位置坐标:
Xcamera = Xplane + DX;Ycamera = Yplane + DY;Zcamera = Zplane + DZ; (3)
其中,(DX,DY,DZ)是相机在仿真平台坐标系下的第一相对坐标的数值;
本发明实施例具有如下有益效果:在本发明实施例中,针对不同的观察视角预置了在仿真对象坐标系中相机相对于仿真对象的位置坐标,从而降低了在实施时定义相机位置的复杂性,同时确定了在仿真平台坐标系中相机相对于仿真对象的相对位置,即第一相对坐标,以便可以计算相机在仿真平台坐标系中的位置坐标。通过指定在仿真对象坐标系中相机与仿真对象的相对位置坐标即第一位置坐标,可以实现在仿真对象运动时,相机始终按照指定的相对位置关系跟随仿真对象同步运动。
进一步地,将矩阵运算应用于第一位置坐标和仿真对象姿态数据,得到相机在仿真平台坐标系中相对于仿真对象的第一相对坐标,具体为:
根据仿真对象姿态数据构造变换矩阵,并将变换矩阵与第一位置坐标相乘,得到第一相对坐标;
在一个实施例中,变换矩阵为:
Figure 272102DEST_PATH_IMAGE005
(4)
其中,
Figure 32247DEST_PATH_IMAGE006
为仿真对象的仿真对象姿态数据;
Figure 502543DEST_PATH_IMAGE007
为仿真对象绕仿真平台坐标系x轴方向转动的角度;
Figure 639126DEST_PATH_IMAGE008
为仿真对象绕仿真平台坐标系y轴方向转动的角度;
Figure 275382DEST_PATH_IMAGE009
为仿真对象绕仿真平台坐标系z轴方向转动的角度。
通过上述变换矩阵(4)将仿真对象坐标系中的第一位置坐标变换为在仿真平台坐标系中相机相对于仿真对象的相对位置的第一相对坐标;将上述变换矩阵(4)与第一位置坐标执行矩阵相乘运算,变换得到第一相对坐标。下面以飞机为仿真对象为例,分别就跟随视角、吊舱视角、俯视视角说明上述坐标变换过程。
在跟随视角下,调用仿真平台的接口例如api函数接口,获取飞机当前姿态即仿真对象姿态数据
Figure 409691DEST_PATH_IMAGE010
,通过一个旋转矩阵(即指定的矩阵即变换矩阵(4))就可以把相机在机体坐标系(即仿真对象坐标系)下的坐标(R,0,H)(即第一位置坐标)转换为在仿真平台坐标系中相机相对于飞机原点(即仿真对象的中心)的相对位置的第一相对坐标(X,Y,Z)。
Figure 368549DEST_PATH_IMAGE011
(5)
其中,以上公式(5)中,(R,0,H)是相机在机体坐标系(即仿真对象坐标系)下的位置坐标(即第一位置坐标)。(X,Y,Z)是在仿真平台坐标系中相机相对于飞机原点的相对位置的第一相对坐标。
在跟随视角下,相机不随飞机俯仰和横滚姿态变化,所以仿真对象姿态数据
Figure 839982DEST_PATH_IMAGE012
中的
Figure 799585DEST_PATH_IMAGE013
Figure 167113DEST_PATH_IMAGE014
的值与相机位置无关,因此,可以将这两个值简化成0,从而将前述变换矩阵(4)中的仿真对象姿态数据
Figure 346421DEST_PATH_IMAGE015
简化为
Figure 559228DEST_PATH_IMAGE016
,带入上述公式(5),整理得到如下公式(6),从而得到第一相对坐标(X,Y,Z);即在观察视角为跟随视角时,依据公式(6)将第一位置坐标变换为第一相对坐标:
Figure 842179DEST_PATH_IMAGE017
(6)
其中,(X,Y,Z)是在仿真平台坐标系中相机相对于飞机原点的相对位置的第一相对坐标;(R,0,H)是相机在仿真对象坐标系下的第一位置坐标;
Figure 380608DEST_PATH_IMAGE018
为仿真对象的仿真对象姿态数据;且
Figure 375109DEST_PATH_IMAGE019
简化为
Figure 657186DEST_PATH_IMAGE020
在吊舱视角下,调用仿真平台的接口例如api函数接口获取飞机当前姿态
Figure 92846DEST_PATH_IMAGE019
(即仿真对象姿态数据),依据公式(7),通过一个旋转矩阵(即前述变换矩阵(4))就可以把相机在机体坐标系(即仿真对象坐标系)下的第一位置坐标(Gimbal_x,0,Gimbal_z)转换为在仿真平台坐标系中相机相对于飞机原点的相对位置的第一相对坐标(GX,GY,GZ)。即当观察视角为吊舱视角时,依据如下公式(7)将第一位置坐标变换为第一相对坐标:
Figure 503974DEST_PATH_IMAGE021
(7)
其中,(GX,GY,GZ)是在仿真平台坐标系中相机相对于飞机原点的相对位置的第一相对坐标;(Gimbal_x,0,Gimbal_z)是相机在仿真对象坐标系下的第一位置坐标;
Figure 392295DEST_PATH_IMAGE019
为仿真对象的虚拟姿态数据。
在俯视视角下,调用仿真平台的接口例如api函数接口,获取飞机当前姿态
Figure 478063DEST_PATH_IMAGE019
(即仿真对象姿态数据),依据如下公式(8),通过一个旋转矩阵(即前述变换矩阵(4))就可以把相机在机体坐标系(即仿真对象坐标系)下的第一位置坐标(B_x,B_y,B_z)转换为在仿真平台坐标系中相机相对于飞机原点的相对位置的第一相对坐标(DX,DY,DZ)。
即当观察视角为吊舱视角时,依据如下公式(8)将第一位置坐标变换为第一相对坐标:
Figure 96126DEST_PATH_IMAGE022
(8)
其中:(DX,DY,DZ)是在仿真平台坐标系中相机相对于飞机原点的相对位置的第一相对坐标;(B_x,B_y,B_z)是相机在仿真对象坐标系下的第一位置坐标;
Figure 152856DEST_PATH_IMAGE019
为仿真对象的仿真对象姿态数据。
本发明实施例具有如下有益效果:根据仿真对象坐标系与仿真平台坐标系之间的旋转关系,构建变换矩阵,将仿真对象坐标系下的相机第一位置坐标变换为在仿真平台坐标系中相机相对于飞机原点的相对位置的第一相对坐标,矩阵操作更适合计算机系统的处理,可提高处理速度。
进一步地,视角仿真装置还可以接收到控制装置发送的转速信息,将转速信息转换为动力参数,将动力参数传送至仿真平台,以使仿真平台根据动力参数生成仿真对象在仿真平台坐标系中的仿真对象位置坐标和仿真对象姿态数据。在仿真过程中,视角仿真装置会周期性调用仿真平台的接口,实时获取到仿真对象在仿真平台坐标系中的仿真对象位置坐标和仿真对象姿态数据。
需要指出的是,仿真对象的控制装置可以向视角仿真装置发送转速信息,例如,以仿真对象为无人机为例,控制装置为飞控,飞控发送的该转速信息可以是无人机的每个机翼电机的转速信息,视角仿真装置将该转速信息转换为动力参数,动力参数可以是针对仿真对象的各种组件模型计算出的拉力,阻力,扭矩等,视角仿真装置将该动力参数发送至仿真平台,仿真平台根据该动力参数,在仿真环境中仿真出仿真对象的运动,得到仿真对象在仿真平台坐标系的仿真对象姿态数据以及仿真对象位置坐标。
本发明实施例中,视角仿真装置可以周期性的或者在接收到视角切换命令后,调用仿真平台的接口,获取到仿真对象姿态数据以及仿真对象位置坐标。需要指出的是,视角仿真装置从仿真平台获取到仿真对象姿态数据以及仿真对象位置坐标的接口可以是相同的接口,也可以是不同的接口。
需要注意的是,仿真平台在仿真仿真对象的运动时,可以实时的仿真出仿真对象的传感器(例如,IMU、GPS)参数,视角仿真装置可以周期性的或实时的获取到该传感器参数。视角仿真装置可以将仿真对象姿态数据以及仿真对象位置坐标以及该传感器参数转发到控制装置,从而控制装置可以获取到仿真对象在仿真过程中的数据。进而在控制装置、视角仿真装置以及仿真平台之间实现闭环的数据链路。
控制装置可以是真实控制器也可以是模拟控制器;在硬件在环的仿真中,可以从真实控制器接收到真实的控制指令;在软件在环的仿真中,可以接收到模拟控制器发出的控制指令;根据接收到的控制指令控制仿真对象在仿真环境中的运动,并将仿真对象的运动信息返回给真实控制器或模拟控制器,模拟真实环境下的测试条件,有针对性完成仿真测试。例如可以使用真实的飞控装置,从飞控装置接收到控制指令发送给仿真平台中仿真环境中的无人机,控制无人机在仿真环境中的飞行运动。
本发明实施例具有如下有益效果:基于硬件在环的测试,结合可切换的多视角对仿真环境中的仿真对象的运动观察,更准确更直观的观测测试结果,提高测试效率以及测试准确度;基于软件在环的测试,结合可切换的多视角对仿真环境中的仿真对象的运动观察,可以在模拟控制器中以较低的时间和物资成本实现模型一致性的多种测试条件下的测试,提高测试效率,降低测试成本;
进一步地,观察视角包括:跟随视角、俯视视角以及吊舱视角中的至少一个;
在一个实施例中,可以根据观察视角以及仿真对象姿态数据获取到相机在仿真平台坐标系中的相机姿态数据。其中,不同的观察视角确定相机在仿真平台坐标系中的相机姿态数据的方式不同:
(1)当观察视角包括跟随视角时,根据观察视角获得相机在仿真平台坐标系中的相机姿态数据,具体包括:根据仿真对象姿态数据中的航向方向的数据得到相机姿态数据;
在一个实施例中,在跟随视角下,相机被设置为跟随仿真对象的运动,并且相机的镜头朝向仿真对象,相机不随仿真对象的俯仰轴和横滚轴变化,相机的姿态与简化后的飞机(即仿真对象)的姿态相同,所以将仿真对象的仿真对象姿态数据数值作为相机的相机姿态数据的对应数值,在跟随模式下的相机姿态数据的取值具体为;其中为以相机中心为中心,绕仿真平台坐标系z轴方向转动的角度即航向方向。
(2)当观察视角包括吊舱视角时,根据观察视角获得相机在仿真平台坐标系中的相机姿态数据,具体还包括:通过接口获取吊舱的姿态数据作为相机姿态数据;
在一个实施例中,吊舱可以是真实吊舱,在其他实施例中,吊舱还可以是模拟吊舱;在吊舱视角下,相机被设置在吊舱中,随吊舱同步运动,在仿真过程中,可以使用真实吊舱也可以使用模拟吊舱,通过接口例如串口或网口从真实吊舱中读取吊舱的姿态数据作为吊舱视角下的相机姿态数据
Figure 856370DEST_PATH_IMAGE023
,也可以通过能够访问模拟吊舱姿态数据的接口例如api函数接口等读取模拟吊舱的姿态数据作为吊舱视角下的相机姿态数据
Figure 480249DEST_PATH_IMAGE024
,其中,相机姿态数据以相机中心为中心,
Figure 890502DEST_PATH_IMAGE025
为绕仿真平台坐标系x轴方向转动的角度,
Figure 144897DEST_PATH_IMAGE026
为绕仿真平台坐标系y轴方向转动的角度,
Figure 771925DEST_PATH_IMAGE027
为绕仿真平台坐标系z轴方向转动的角度。
(3)当观察视角包括俯视视角时,根据观察视角获得相机在仿真平台坐标系中的相机姿态数据,具体还包括:获取仿真对象姿态数据的数值,并将仿真对象姿态数据数值中的绕仿真平台坐标系y轴方向(即俯仰方向)转动的角度叠加90度后得到相机姿态数据,使相机镜头正对仿真对象;通过仿真平台的接口获取的仿真对象的仿真对象姿态数据为
Figure 261812DEST_PATH_IMAGE028
,在俯视视角下,将相机的相机姿态数据设置为
Figure 260992DEST_PATH_IMAGE029
进一步地,根据观察视角,获得相机在仿真对象坐标系下的第一位置坐标,具体包括:根据在观察视角时预设置的相机与仿真对象的位置关系,获得相机在仿真对象坐标系下的第一位置坐标。
下面以跟随视角、吊舱视角和俯视视角为例进行具体说明如何获得第一位置坐标。
当观察视角包括跟随视角时,跟随视角对应的相机位于仿真对象的正后的上方,在仿真对象坐标系中,将相机的第一位置坐标预置为(R,0,H);其中,R为相机中心与仿真对象的中心在仿真对象坐标系的x轴方向的坐标预设值;H为相机中心与仿真对象的中心在仿真对象坐标系的z轴方向的坐标预设值;相机中心与仿真对象的中心在仿真对象坐标系的y轴方向上的相对距离为0;和/或者,
当观察视角包括吊舱视角时,吊舱视角对应的相机在仿真对象坐标系下的第一位置坐标预置为(Gimbal_x,0,Gimbal_z),其中,Gimbal_x表示在仿真对象坐标系的x轴方向上的坐标预设值,0表示在仿真对象坐标系的y轴方向上的坐标预设值,Gimbal_z表示在仿真对象坐标系的z轴方向上的坐标预设值;和/或者,
当观察视角包括俯视视角时,俯视视角对应的相机在仿真对象坐标系下的第一位置坐标预置为(B_x,B_y,B_z),其中,B_x为相机的中心与仿真对象的中心在仿真对象坐标系的x轴方向上的坐标预设值,B_y为相机的中心与仿真对象的中心在仿真对象坐标系中的y轴方向上的坐标预设值,B_z为相机的中心与仿真对象的中心在仿真对象坐标系的z轴方向上的坐标预设值。
本发明实施例具有如下有益效果:在本发明实施例中,定义了三个观察视角,并说明了各视角下相机的姿态数据和相对于仿真对象的相对位置(即第一位置坐标)的确定方法,从而确定了在各观察视角下,相机相对于仿真对象的相对姿态和相对位置,进而在仿真对象运动时,相机始终能保持观察视角定义的姿态和与仿真对象的相对位置采集仿真对象的图像。
另一方面,如图5所示,基于同一发明构思,本发明实施例还提供了一种视角仿真装置,包括:
相机姿态获取单元500,用于根据当前的观察视角获得相机在仿真平台坐标系中的相机姿态数据;仿真平台坐标系为仿真平台定义的以预设点为原点的地理坐标系;仿真平台用于仿真仿真对象的运动;
相机位置获取单元501,用于根据观察视角以及仿真对象在仿真平台坐标系中的仿真对象位置坐标和仿真对象姿态数据,确定相机在仿真平台坐标系中的相机位置坐标;仿真对象姿态数据包括仿真对象绕仿真平台坐标系的三个轴旋转的角度;
位姿数据发送单元502,用于将相机位置坐标和相机姿态数据发送至仿真平台,以使仿真平台在仿真平台坐标系中设置相机的位置和姿态;
相机图像获取单元503,用于从仿真平台获得并转发相机在所述位置和姿态下拍摄的图像。
进一步地,相机位置获取单元501,包括:
相机预置位置获取模块,用于根据观察视角,获得相机在仿真对象坐标系下的第一位置坐标;
仿真对象姿态获取模块,用于获取仿真平台中的仿真对象的仿真对象姿态数据;
相机相对位置获取模块,用于将矩阵运算应用于第一位置坐标和仿真对象姿态数据,得到相机在仿真平台坐标系中相对于仿真对象的第一相对坐标;
相机绝对位置获取模块,用于获取仿真对象在仿真平台坐标系中的仿真对象位置坐标,并将第一相对坐标叠加到仿真对象位置坐标,得到相机在仿真平台坐标系中的相机位置坐标。
进一步地,相机相对位置获取模块,配置为:根据仿真对象姿态数据构造变换矩阵;将变换矩阵与第一位置坐标相乘,得到第一相对坐标。其中,所述变换矩阵为变换矩阵(4)。
进一步地,所述视角仿真装置,还包括:
收发单元,用于接收到控制装置发送的转速信息,将所述转速信息转换为动力参数;以及,将所述动力参数传送至所述仿真平台,以使所述仿真平台根据所述动力参数生成所述仿真对象在所述仿真平台坐标系中的仿真对象位置坐标和仿真对象姿态数据;
调用单元,用于调用所述仿真平台的接口,获取到所述仿真对象在所述仿真平台坐标系中的仿真对象位置坐标和仿真对象姿态数据。
进一步地,所述观察视角包括:跟随视角、俯视视角以及吊舱视角中的至少一个。
进一步地,当观察视角包括跟随视角时,相机姿态获取单元,具体用于:根据仿真对象姿态数据中的航向方向的数据得到相机姿态数据;和/或者,
当观察视角包括吊舱视角时,相机姿态获取单元,具体还用于:通过接口获取吊舱的姿态数据作为相机姿态数据;和/或者,
当观察视角包括俯视视角时,相机姿态获取单元,具体还用于:将仿真对象姿态数据中的俯仰方向上的数据叠加90度后得到相机姿态数据,使相机镜头正对仿真对象。
进一步地,所述相机预置位置获取模块,具体用于:根据在观察视角时预设置的相机与仿真对象的位置关系,获得相机在仿真对象坐标系下的第一位置坐标。
下面以跟随视角、吊舱视角和俯视视角为例进行具体说明如何获得第一位置坐标。
当观察视角包括跟随视角时,跟随视角对应的相机位于仿真对象的正后的上方,在仿真对象坐标系中,将相机的第一位置坐标预置为(R,0,H);其中,R为相机中心与仿真对象的中心在仿真对象坐标系的x轴方向的坐标预设值;H为相机中心与仿真对象的中心在仿真对象坐标系的z轴方向的坐标预设值;相机中心与仿真对象的中心在仿真对象坐标系的y轴方向上的相对距离为0;和/或者,
当观察视角包括吊舱视角时,吊舱视角对应的相机在仿真对象坐标系下的第一位置坐标预置为(Gimbal_x,0,Gimbal_z),其中,Gimbal_x表示在仿真对象坐标系的x轴方向上的坐标预设值,0表示在仿真对象坐标系的y轴方向上的坐标预设值,Gimbal_z表示在仿真对象坐标系的z轴方向上的坐标预设值;和/或者,
当观察视角包括俯视视角时,俯视视角对应的相机在仿真对象坐标系下的第一位置坐标预置为(B_x,B_y,B_z),其中,B_x为相机的中心与仿真对象的中心在仿真对象坐标系的x轴方向上的坐标预设值,B_y为相机的中心与仿真对象的中心在仿真对象坐标系中的y轴方向上的坐标预设值,B_z为相机的中心与仿真对象的中心在仿真对象坐标系的z轴方向上的坐标预设值。
本领域技术人员可以根据关于一种视角仿真方法的实施例说明理解一种视角仿真装置对应的实施例,在此不再赘述。
另一方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前所述的任意一项视角仿真方法。
上述技术方案具有如下有益效果:本发明提供了一种视角仿真方法、装置、系统和存储介质,通过根据操作者设置的观察视角,计算相机在仿真平台中的位置和姿态,并通过仿真平台获得相机拍摄的仿真世界中的图像,从而在仿真测试期间,可以在硬件资源受限的情况下实现相机多视角切换,分时地从不同地视角观察仿真平台中的虚拟设备,在不增加算力的基础上,解决了在现有技术中在资源受限情况下无法从多个视角对测试进行观察的问题,实现了单相机多场景,达到提高测试效率,更全面,更方便的评估控制系统的效果。
下面结合又一具体的应用实例对本发明实施例上述技术方案进行详细说明,实施过程中没有介绍到的技术细节,可以参考前文的相关描述。
本发明实施例主要为了实现单相机,多场景的实现。如图1所示,交互过程是用户在地面站(PC或pad)(即控制显示设备)上选择观察视角,可以包括:跟随视角,俯视视角或吊舱视角;用户选择不同视角后,会根据设置的观察视角计算出相机下一时刻应该所处的位置和姿态,设置相机的位置和姿态后,仿真平台中的仿真环境中相机相关的回调函数会返回对应位置和姿态下的图像,将图像传输到外部控制显示设备上就可以实现场景切换的功能。仿真系统(即仿真平台)可以选择游戏设计平台(虚幻引擎)也可以选择物理仿真平台(Gazebo),它们的共同点是都集成了物理引擎、高质量的图形渲染、方便的编程与图形接口。本方法通过单相机在仿真环境的不同位置实现了之前需要多相机才能实现的多场景切换。
本方法可以应用于硬件在环和软件在环仿真,下面以半实物仿真为例进行详细说明。在仿真系统中程序可以以固定频率计算并更新相机的位置,比如下面方法中迭代频率使用500hz,每2ms计算一次相机位置,并调用仿真平台api设置相机到计算出的位置和姿态。仿真平台内的相机模型都会有对应的回调函数,相机模型有效后,仿真平台会以预设的频率(30hz)调用回调函数,在回调函数中会把相机朝向的图像传输出来。
下面以在仿真系统对飞控系统的测试为例,说明本发明实施例的技术方案;
如图6所示的流程,首先,S61.用户选择观察视角,对于飞控系统,待选视角可以包括:跟随视角、吊舱视角和俯视视角;
S62.根据所选择的观察视角、飞机在仿真环境中的位置和姿态、实际吊舱的姿态以及机体坐标系(即仿真对象坐标系)下相机的位置,计算出相机在仿真环境中的位姿(即位置和姿态)即得到相机位置坐标和相机姿态数据;
S63.再调用仿真平台的系统api,设置相机在仿真环境中的位置和姿态;
S64.通过仿真平台中相机的回调函数得到用户所选择的观察视角的图像,并通过无线链路传输到外部的显示设备(即控制显示设备)上供用户使用。
下面开始具体介绍此方法的实现过程:
对如下符号进行约定:
Figure 748605DEST_PATH_IMAGE030
:绕x轴转动角度(对应横滚);
Figure 98815DEST_PATH_IMAGE031
:绕y轴转动角度(对应俯仰);
Figure 969557DEST_PATH_IMAGE032
:绕z轴转动角度(对应航向)。
可按照具体实施时使用的仿真平台的要求定义仿真平台坐标系;本实施例用gazebo平台举例,x轴正方向,y轴正方向,以及z轴正方向,遵循右手定则。
当用户选择跟随视角时,如图7的流程图所示,完成如下步骤:
S71.确认相机在机体坐标系(即仿真对象坐标系)下的位置:
如图8所示,比如在本发明实施例中希望相机一直保持在飞机的后上方(R,0,H)的位置(R为相机中心和飞机中心在机体坐标系x轴上的距离,H为相机中心和飞机中心在机体坐标系z轴距离)。
S72.调用仿真平台api获取飞机当前姿态
Figure 823244DEST_PATH_IMAGE033
,如公式(5)所示,通过一个旋转矩阵(即前述的变换矩阵(4))就可以把相机在机体坐标系下的坐标(R,0,H)转换为以飞机原点为中心参考坐标系下的坐标(X,Y,Z)(即第一相对坐标)。其中,公式(5)中,(R,0,H)是相机在机体坐标系(即仿真对象坐标系)下的位置坐标(即第一位置坐标)。(X,Y,Z)是相机在参考坐标系(以飞机原点为中心)下的位置坐标(即第一相对坐标)。
由于在跟随视角下,相机不随飞机俯仰和横滚姿态变化,所以变换矩阵(4)中姿态角为
Figure 950600DEST_PATH_IMAGE034
,带入上述公式(5),整理得到公式(6)。
S73. 每次计算相机位置坐标时,都需要调用仿真平台api来获取飞机当前在仿真环境参考坐标系(即仿真平台坐标系)中的位置坐标(Xplane,Yplane,Zplane)(即仿真对象位置坐标的值),再通过公式(1)把(X,Y,Z)加到(Xplane,Yplane,Zplane)上,就可以得到相机应该在仿真环境参考坐标系下的位置(Xcamera,Ycamera,Zcamera)(即相机位置坐标的值);
S74. 调用仿真系统设置位置的api,设置相机位置到(Xcamera,Ycamera ,Zcamera )(即相机位置坐标的值),相机姿态与飞机的姿态相同
Figure 286641DEST_PATH_IMAGE035
,即相机姿态数据取值为
Figure 174788DEST_PATH_IMAGE035
,平台相机回调函数中反馈的图像即可实现相机跟随视角效果。
当用户选择吊舱视角时,如图9的流程图所示,完成如下步骤:
S91. 确认相机在机体坐标系下的位置(把相机放到吊舱位置);
如图10所示,吊舱一般设置在飞机机头整下方,因此,相对飞机中心,y轴偏移为0,x轴和z轴都是已经设置好的预设值,因此,机体坐标系下相机的坐标为(Gimbal_x,0,Gimbal_z),其中,Gimbal_x表示机体坐标系下x轴上的预设值,0表示机体坐标系下y轴的坐标,Gimbal_z表示机体坐标系下z轴的预设值。
通过串口或网口,可以获取外部设备提供的真实吊仓(或模拟吊舱)的姿态
Figure 742036DEST_PATH_IMAGE036
(即相机姿态数据的值)。
S92.调用仿真平台api获取飞机当前姿态
Figure 804407DEST_PATH_IMAGE037
(即仿真对象姿态数据的取值),根据公式(7)通过一个旋转矩阵(即变换矩阵(4))就可以把相机在机体坐标系下的坐标(Gimbal_x,0,Gimbal_z)(即第一位置坐标的取值)转换为以飞机原点为中心参考坐标系下的坐标(GX,GY,GZ)(即第一相对坐标)。
S93. 每次计算相机位置坐标时,都需要调用仿真平台api来获取飞机当前在仿真环境参考坐标系(即仿真平台坐标系)中的位置(Xplane,Yplane,Zplane)(即仿真对象位置坐标的取值),再通过公式(2)把(GX,GY,GZ)加到(Xplane,Yplane,Zplane)上,就可以得到相机应该在仿真环境参考坐标系下的位置(Xcamera,Ycamera,Zcamera)(即相机位置坐标的取值):
S94. 调用仿真系统(即仿真平台)设置位置的api,设置相机位置到(Xcamera,Ycamera ,Zcamera )姿态为
Figure 332472DEST_PATH_IMAGE038
,仿真平台相机回调函数中反馈的图像即可实现相机吊舱视角效果。
当用户选择俯视视角时,如图11的流程图所示,完成如下步骤:
S111. 确认相机在机体坐标系下的位置,俯视视角下相机处于飞机的正上方,视角朝下。
如图12所示,相机处于飞机的正上方,视角朝下,预设相机在机体坐标系下的坐标是(B_x,B_y,B_z)(B_x为相机中心和飞机中心在机体坐标系下x轴上的距离,B_y为相机中心和飞机中心在机体坐标系下y轴上的距离,B_z为相机中心和飞机中心在机体坐标系下z轴距离)。
S112.调用仿真平台api获取飞机当前姿态
Figure 639956DEST_PATH_IMAGE039
,根据公式(8)通过一个旋转矩阵(即前述的变换矩阵(4))就可以把相机在机体坐标系(即仿真对象坐标系)下的坐标(B_x,B_y,B_z)(即第一位置坐标的值)转换为以飞机原点为中心参考坐标系下的坐标(DX,DY,DZ)(即第一相对坐标);
S113. 每次计算相机位置坐标时,都需要调用仿真平台api来获取飞机当前在仿真环境参考坐标系(即仿真平台坐标系)中的位置(Xplane,Yplane,Zplane)(即仿真对象位置坐标的值),再通过公式(3)把(DX,DY,DZ)加到(Xplane,Yplane,Zplane)上,就可以得到相机应该在仿真环境参考坐标系下的位置(Xcamera,Ycamera,Zcamera)(即相机位置坐标的值);
S114. 调用仿真系统(即仿真平台)设置位置的api,设置相机位置到(Xcamera,Ycamera,Zcamera),在飞机姿态(即仿真对象姿态数据)的基础上,将相机姿态设置为
Figure 999393DEST_PATH_IMAGE040
(即相机姿态数据的值);仿真平台中相机回调函数中反馈的图像即可实现相机俯视视角效果。
上述技术方案具有如下有益效果:本发明提供了一种视角仿真方法、装置、系统和存储介质,通过根据操作者设置的视角模式,计算相机在仿真平台中的位置和姿态,并通过仿真平台获得相机拍摄的仿真环境中的图像,从而在仿真测试期间,可以在硬件资源受限的情况下实现相机多视角切换,分时地从不同地视角观察仿真平台中的虚拟设备,在不增加算力的基础上,解决了在现有技术中在资源受限情况下无法从多个视角对测试进行观察的问题,实现了单相机多场景,达到提高测试效率,更全面,更方便的评估控制系统的效果。
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要比清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
为使本领域内的任何技术人员能够实现或者使用本发明,上面对所公开实施例进行了描述。对于本领域技术人员来说;这些实施例的各种修改方式都是显而易见的,并且本文定义的一般原理也可以在不脱离本公开的精神和保护范围的基础上适用于其它实施例。因此,本公开并不限于本文给出的实施例,而是与本申请公开的原理和新颖性特征的最广范围相一致。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。
本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrative logical block),单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换性(interchangeability),上述的各种说明性部件(illustrative components),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。
本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模块、或者这两者的结合。软件模块可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中,ASIC可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。
在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、DVD、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种视角仿真方法,其特征在于,包括:
根据当前的观察视角获得相机在仿真平台坐标系中的相机姿态数据;所述仿真平台坐标系为仿真平台定义的以预设点为原点的地理坐标系;所述仿真平台用于仿真仿真对象的运动;
根据所述观察视角以及所述仿真对象在所述仿真平台坐标系中的仿真对象位置坐标和仿真对象姿态数据,确定相机在所述仿真平台坐标系中的相机位置坐标;所述仿真对象姿态数据包括所述仿真对象绕所述仿真平台坐标系的三个轴旋转的角度;
将所述相机位置坐标和所述相机姿态数据发送至所述仿真平台,以使所述仿真平台在仿真平台坐标系中设置相机的位置和姿态;
从所述仿真平台获得并转发相机在所述位置和姿态下拍摄的图像。
2.如权利要求1所述的视角仿真方法,其特征在于,所述根据所述观察视角以及所述仿真对象在所述仿真平台坐标系中的仿真对象位置坐标和仿真对象姿态数据,确定相机在所述仿真平台坐标系中的相机位置坐标,包括:
根据所述观察视角,获得相机在仿真对象坐标系下的第一位置坐标;
获取所述仿真平台中的所述仿真对象的所述仿真对象姿态数据;
将矩阵运算应用于所述第一位置坐标和所述仿真对象姿态数据,得到相机在所述仿真平台坐标系中相对于所述仿真对象的第一相对坐标;
获取所述仿真对象在所述仿真平台坐标系中的所述仿真对象位置坐标,并将所述第一相对坐标叠加到所述仿真对象位置坐标,得到相机在所述仿真平台坐标系中的所述相机位置坐标。
3.如权利要求2所述的视角仿真方法,其特征在于,所述将矩阵运算应用于所述第一位置坐标和所述仿真对象姿态数据,得到相机在所述仿真平台坐标系中相对于所述仿真对象的第一相对坐标,具体为:
根据所述仿真对象姿态数据构造变换矩阵,并将所述变换矩阵与所述第一位置坐标相乘,得到所述第一相对坐标。
4.如权利要求1所述的视角仿真方法,其特征在于,所述方法还包括:
接收到控制装置发送的转速信息,将所述转速信息转换为动力参数;
将所述动力参数传送至所述仿真平台,以使所述仿真平台根据所述动力参数生成所述仿真对象在所述仿真平台坐标系中的仿真对象位置坐标和仿真对象姿态数据;
调用所述仿真平台的接口,获取到所述仿真对象在所述仿真平台坐标系中的仿真对象位置坐标和仿真对象姿态数据。
5.如权利要求1-4任意一项所述的视角仿真方法,其特征在于,所述观察视角包括:跟随视角、俯视视角以及吊舱视角中的至少一个。
6.如权利要求5所述的视角仿真方法,其特征在于,
当所述观察视角包括所述跟随视角时,所述根据当前的观察视角获得相机在仿真平台坐标系中的相机姿态数据,具体包括:根据所述仿真对象姿态数据中的航向方向上的数据得到所述相机姿态数据;和/或者,
当所述观察视角包括所述吊舱视角时,所述根据当前的观察视角获得相机在仿真平台坐标系中的相机姿态数据,具体还包括:通过接口获取吊舱姿态数据作为所述相机姿态数据;和/或者,
当所述观察视角包括所述俯视视角时,所述根据当前的观察视角获得相机在仿真平台坐标系中的相机姿态数据,具体还包括:将所述仿真对象姿态数据中的俯仰方向上的数据叠加90度后得到所述相机姿态数据,使相机镜头正对所述仿真对象。
7.如权利要求2所述的视角仿真方法,其特征在于,根据所述观察视角,获得相机在仿真对象坐标系下的第一位置坐标,具体包括:
根据在观察视角时预设置的所述相机与所述仿真对象的位置关系,获得相机在仿真对象坐标系下的第一位置坐标。
8.一种视角仿真装置,其特征在于,包括:
相机姿态获取单元,用于根据当前的观察视角获得相机在仿真平台坐标系中的相机姿态数据;所述仿真平台坐标系为仿真平台定义的以预设点为原点的地理坐标系;所述仿真平台用于仿真仿真对象的运动;
相机位置获取单元,用于根据所述观察视角以及所述仿真对象在所述仿真平台坐标系中的仿真对象位置坐标和仿真对象姿态数据,确定相机在所述仿真平台坐标系中的相机位置坐标;所述仿真对象姿态数据包括所述仿真对象绕所述仿真平台坐标系的三个轴旋转的角度;
位姿数据发送单元,用于将所述相机位置坐标和所述相机姿态数据发送至所述仿真平台,以使所述仿真平台在仿真平台坐标系中设置相机的位置和姿态;
相机图像获取单元,用于从所述仿真平台获得并转发相机在所述位置和姿态下拍摄的图像。
9.一种视角仿真系统,其特征在于,包括:如权利要求8所述的视角仿真装置,仿真平台以及控制显示设备;
所述视角仿真装置与所述控制显示设备连接;所述控制显示设备用于接收来自所述视角仿真装置的图像,并显示所述图像;
所述视角仿真装置与所述仿真平台连接;所述仿真平台用于仿真仿真对象的运动;所述仿真平台还用于根据所述视角仿真装置传送的动力参数生成所述仿真对象在仿真平台坐标系中的仿真对象位置坐标和仿真对象姿态数据,以使所述视角仿真装置获取到所述仿真对象位置坐标和所述仿真对象姿态数据,所述仿真平台还用于根据所述视角仿真装置发送的相机位置坐标和所述相机姿态数据在仿真平台坐标系中设置相机的位置和姿态,所述仿真平台还用于获取相机在所述位置和姿态下拍摄的图像。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-7中任意一项所述的方法。
CN202110748230.6A 2021-07-02 2021-07-02 一种视角仿真方法、装置、系统和存储介质 Active CN113191032B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110748230.6A CN113191032B (zh) 2021-07-02 2021-07-02 一种视角仿真方法、装置、系统和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110748230.6A CN113191032B (zh) 2021-07-02 2021-07-02 一种视角仿真方法、装置、系统和存储介质

Publications (2)

Publication Number Publication Date
CN113191032A CN113191032A (zh) 2021-07-30
CN113191032B true CN113191032B (zh) 2021-11-30

Family

ID=76976918

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110748230.6A Active CN113191032B (zh) 2021-07-02 2021-07-02 一种视角仿真方法、装置、系统和存储介质

Country Status (1)

Country Link
CN (1) CN113191032B (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6633584B2 (ja) * 2017-10-02 2020-01-22 ファナック株式会社 ロボットシステム
CN107966693B (zh) * 2017-12-05 2021-08-13 成都合纵连横数字科技有限公司 一种基于深度渲染的车载激光雷达仿真方法
CN110234003A (zh) * 2019-06-24 2019-09-13 北京润科通用技术有限公司 一种仿真无人机飞行的方法、装置、终端及系统
WO2021056352A1 (zh) * 2019-09-26 2021-04-01 深圳市大疆创新科技有限公司 无人机的仿真方法、仿真装置和计算机可读存储介质
CN111968128B (zh) * 2020-07-10 2022-12-20 北京航空航天大学 一种基于图像标记的无人机视觉姿态和位置解算方法

Also Published As

Publication number Publication date
CN113191032A (zh) 2021-07-30

Similar Documents

Publication Publication Date Title
CN106796761B (zh) 用于支持模拟移动的系统和方法
CN107390545B (zh) 一种无人机及其载荷的仿真训练系统
CN109983468A (zh) 使用特征点检测和跟踪对象的方法和系统
CN107924638A (zh) 用于云台模拟的系统和方法
WO2018193574A1 (ja) 飛行経路生成方法、情報処理装置、飛行経路生成システム、プログラム及び記録媒体
JP2022508135A (ja) 測量システム、測量方法、装置及びデバイス
WO2020014987A1 (zh) 移动机器人的控制方法、装置、设备及存储介质
WO2018187927A1 (en) Vision simulation system for simulating operations of a movable platform
CN108344401A (zh) 定位方法、装置及计算机可读存储介质
CN107466384A (zh) 一种追踪目标的方法及装置
WO2021199449A1 (ja) 位置算出方法及び情報処理システム
CN111694376A (zh) 飞行模拟方法、装置、电子设备及无人机
WO2019119426A1 (zh) 基于无人机的立体成像方法和装置
JP2022507715A (ja) 測量方法、装置及びデバイス
CN106488216A (zh) 生成物体3d模型的方法、装置和系统
CN113031462A (zh) 无人机用港机巡检航线规划系统及方法
WO2021251441A1 (ja) 方法、システムおよびプログラム
CN111885366A (zh) 一种用于虚拟现实屏幕的立体显示方法、装置、存储介质及设备
CN112204958B (zh) 用于无线电模拟的增强现实的方法、设备
CN110234003A (zh) 一种仿真无人机飞行的方法、装置、终端及系统
CN113191032B (zh) 一种视角仿真方法、装置、系统和存储介质
CN110799801A (zh) 基于无人机的测距方法、装置及无人机
JP6684012B1 (ja) 情報処理装置および情報処理方法
JP7452533B2 (ja) 情報処理装置、情報処理方法及びプログラム
WO2022188151A1 (zh) 影像拍摄方法、控制装置、可移动平台和计算机存储介质

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
GR01 Patent grant
GR01 Patent grant