一种多模态陆空两栖车辆平台仿真系统

文档序号:25088400发布日期:2021-05-18 19:05阅读:270来源:国知局
一种多模态陆空两栖车辆平台仿真系统

1.本发明涉及陆空两栖车辆技术领域,尤其涉及一种多模态陆空两栖车辆平台仿真系统。


背景技术:

2.陆空两栖车辆是一种既可以在路面行驶,也可以在空中飞行的移动平台。陆空两栖的特性赋予其较一般地面车辆优秀的机动能力和较无人机更长的续航能力。但是在实际应用过程中,陆空两栖车辆受限于开发成本高,飞行管控等,使得该技术发展缓慢。
3.而仿真系统可以实现对陆空两栖车辆运动过程的仿真,但是现有技术中没有一个仿真系统既可以对陆空两栖车辆的飞行过程仿真,同时也对路面行驶过程进行仿真。


技术实现要素:

4.本发明的目的在于提供一种多模态陆空两栖车辆平台仿真系统,用于实现陆空两栖车辆的飞行仿真和路面行驶仿真。
5.为了实现上述目的,本发明提供一种多模态陆空两栖车辆平台仿真系统包括:仿真平台以及与仿真平台通信的运动控制器。仿真平台包括仿真环境以及位于仿真环境内的陆空两栖车辆。陆空两栖车辆的描述模型包括耦合的飞行动力学模型和车辆动力学模型。运动控制器用于根据运动指令向仿真平台发送控制指令,仿真平台用于根据控制指令控制陆空两栖车辆在仿真环境内运行。运动控制器还用于采集仿真平台的感知信息,根据感知信息更新控制指令。感知信息包括仿真环境的状态和陆空两栖车辆的状态。
6.与现有技术相比,本发明提供的多模态陆空两栖车辆平台仿真系统,包括仿真平台以及与仿真平台通信的运动控制器,仿真平台包括仿真环境以及位于仿真环境内的陆空两栖车辆。在实际应用时,运动控制器可以接收外界传输的运动指令,根据运动指令向仿真平台发送控制指令,使仿真平台根据控制指令控制陆空两栖车辆在仿真环境内运行。并且,运动控制器还可以采集仿真平台的感知信息,根据感知信息可以更新控制指令,使陆空两栖车辆在仿真环境内的仿真运行过程不断变化。此时用户可以多角度的观察陆空两栖车辆在仿真环境内的仿真过程,以便于后期针对陆空两栖车辆在仿真过程出现为问题进行改进,即有利于对真实陆空两栖车辆的进一步研发和改进,同时该多模态陆空两栖车辆平台仿真系统还可以避免利用真实陆空两栖车辆运动带来的成本问题以及飞行管控问题。
附图说明
7.此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
8.图1示出了本发明实施例提供的多模态陆空两栖车辆平台仿真系统的结构示意图;
9.图2示出了本发明实施例提供的软件在环仿真系统的结构示意图;
10.图3示出了本发明实施例提供的硬件在环仿真系统的结构示意图;
11.图4示出了本发明实施例提供的多模态陆空两栖车辆平台仿真系统的另一种结构示意图;
12.图5示出了本发明实施例提供的陆空两栖车辆的结构示意图;
13.图6示出了本发明实施例提供的陆空两栖车辆的四种运动状态的结构示意图;
14.图7示出了本发明实施例提供的模型之间相互耦合的结构示意图;
15.图8示出了本发明实施例提供的陆空两栖车辆的旋翼部分的受力示意图;
16.图9示出了本发明实施例提供的陆空两栖车辆的旋翼部分的状态更新示意图;
17.图10示出了本发明实施例提供的陆空两栖车辆的车轮部分的状态更新示意图;
18.图11示出了本发明实施例提供的陆空两栖车辆的车身受力分析图;
19.图12示出了本发明实施例提供的陆空两栖车辆的整车7自由度悬架模型的受力分析图;
20.图13示出了本发明实施例提供的陆空两栖车辆的车身及旋翼支架部分的状态更新示意图。
21.附图标记:
22.1为计算机,2为仿真平台,20为仿真环境,21为陆空两栖车辆,22为运动控制插件,23为位姿采集传感器,24为环境感知传感器,3为运动控制器,30为感知模块,300为位姿采集传感器话题,301为环境感知传感器话题,31为控制模块,310为飞行控制节点,311为底盘控制节点,32为飞行控制器,33为底盘控制器,4为运动指令,5为控制指令,6为感知信息,7为软件在环仿真系统,8为硬件在环仿真系统,9为仿真接口,10为仿真接口插件,11为硬件接口,12为飞行车辆,120为车辆,1201为悬架,1202为车轮,121为旋翼;13为旋翼动力学模型,14为车辆动力学模型,15为真实陆空两栖车辆,150为位姿采集器,151为环境感知器,152为飞行执行系统,153为底盘执行系统。
具体实施方式
23.为了便于清楚描述本发明实施例的技术方案,在本发明的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一阈值和第二阈值仅仅是为了区分不同的阈值,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
24.需要说明的是,本发明中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
25.本发明中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b的情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,
b,c,a和b的结合,a和c的结合,b和c的结合,或a、b和c的结合,其中a,b,c可以是单个,也可以是多个。
26.在介绍本发明实施例之前首先对本发明实施例中涉及到的相关名词作如下释义:
27.硬件在环仿真:是以实时处理器运行仿真模型来模拟受控对象的运行状态,通过i/o接口与被测对象相连接。
28.双轨模型:是指针对四轮车辆,考虑车辆宽度,针对车辆左右轮间受力不平衡、悬架发生滚转等进行分析的模型。
29.魔术公式:是用三角函数的组合公式拟合轮胎试验数据,用一套形式相同的公式就可以完整地表达轮胎的纵向力、侧向力、回正力矩、翻转力矩、阻力矩以及纵向力、侧向力的联合作用情况故称为“魔术公式”。
30.gazebo:是一款3d动态模拟器,能够在复杂的室内和室外环境中准确有效地模拟机器人群。与游戏引擎提供高保真度的视觉模拟类似,gazebo提供高保真度的物理模拟,并且大量开发者贡献了丰富的模型和插件资源,对用户和程序是一种非常友好的交互方式。
31.ros control:ros control是ros(robot operating system,机器人操作系统)为用户提供的应用与机器人之间的中间件,包含一系列控制器接口、传动装置接口、硬件接口、控制器工具箱等,可以帮助机器人应用快速落地,提高开发效率。
32.octomap:一种基于八叉树的三维地图创建工具,可以显示包含无障碍区域及未映射区域的完整3d图形,而且基于占有率栅格的传感器数据可以在多次测量中实现融合和更新;地图可提供多种分辨率,数据可压缩,存储紧凑。
33.陆空两栖车辆是一种既可以在路面行驶,也可以在空中飞行的移动平台。陆空两栖的特性赋予其较一般地面车辆优秀的机动能力和较无人机更长的续航能力。但是在实际应用过程中,陆空两栖车辆受限于开发成本高,飞行管控等,使得该技术发展缓慢。而仿真系统可以实现对陆空两栖车辆运动过程的仿真,但是现有技术中没有一个仿真系统既可以对陆空两栖车辆的飞行过程仿真,同时也对路面行驶过程进行仿真。
34.为了解决上述技术问题,本发明实施例提供一种多模态陆空两栖车辆平台仿真系统。参见图1,该多模态陆空两栖车辆平台仿真系统包括:仿真平台2以及与仿真平台2通信的运动控制器3。仿真平台2包括仿真环境20以及位于仿真环境20内的陆空两栖车辆21。陆空两栖车辆21的描述模型包括耦合的飞行动力学模型和车辆动力学模型。运动控制器3用于根据运动指令4向仿真平台2发送控制指令5,仿真平台2用于根据控制指令5控制陆空两栖车辆21在仿真环境20内运行。运动控制器3还用于采集仿真平台2的感知信息6,根据感知信息6更新控制指令5。感知信息6包括仿真环境的状态和陆空两栖车辆的状态。
35.上述仿真环境的状态可以包括仿真环境中的风速、压强、路面环境(例如路面坡度、有无障碍物)、空中环境(例如光照、云雾)等。陆空两栖车辆的状态可以包括陆空两栖车辆的位置,陆空两栖车辆的姿态等信息。上述仿真平台可以是gazebo。
36.参见图1,本发明实施例提供的多模态陆空两栖车辆平台仿真系统,包括仿真平台2以及与仿真平台2通信的运动控制器3,仿真平台2包括仿真环境20以及位于仿真环境20内的陆空两栖车辆21。在实际应用时,运动控制器3可以接收外界传输的运动指令4,根据上述运动指令4向仿真平台2发送控制指令5,使仿真平台2根据控制指令5控制陆空两栖车辆21在仿真环境20内运行。并且,上述运动控制器3还可以采集仿真平台2的感知信息6,根据感
知信息6可以更新控制指令5,使陆空两栖车辆21在仿真环境20内的仿真运行过程不断变化。此时用户可以多角度的观察陆空两栖车辆21在仿真环境20内的仿真过程,以便于后期针对陆空两栖车辆21在仿真过程出现为问题进行改进,即有利于对真实陆空两栖车辆的进一步研发和改进,同时该多模态陆空两栖车辆平台仿真系统还可以避免利用真实陆空两栖车辆运动带来的成本问题以及飞行管控问题。
37.作为一种可能的实现方式,参见图2,上述运动控制器3与仿真平台2构成软件在环仿真系统7。
38.示例性的,参见图2,运动控制器3与仿真平台2位于同一台计算机1内。此时外界输入运动指令4向给到运动控制器3,接着运动控制器3根据上述运动指令4生成控制指令5,并将控制指令5发送给仿真平台2。位于仿真平台2的仿真环境中的陆空两栖车辆会根据上述控制指令5运行,即进行仿真。运动控制器3还用于采集仿真平台2的感知信息6,根据感知信息6更新控制指令5。应理解,上述运动控制器3为设置在计算机1内的虚拟的运动控制器。通过软件在环仿真,可以将运动指令4或控制指令5在软件中实施,避免硬件(例如真实陆空两栖车辆等)的参与。此时外界的干扰更少,可以减少或避免对实物、硬件的破坏,提高用户研发和改进的进度,同时还可以节约成本。软件在环仿真系统7中的运动控制器可以是ros系统。
39.作为另一种可能的实现方式,参见图3,上述运动控制器3与仿真平台2构成硬件在环仿真系统8。
40.示例性的,参见图3,此时仅有仿真平台2位于计算机1内,运动控制器3与仿真平台2分开。举例说明,上述运动控制器3可以是来源于真实陆空两栖车辆上的控制器,该运动控制器3主要用于控制位于仿真环境内的陆空两栖车辆飞行或在路面行驶。此时上述运动控制器3可以包括飞行控制器32和底盘控制器33。进一步地,上述运动控制器3可以通过硬件接口与仿真平台2通信。运行仿真平台2的设备可以通过tcp/udp协议向运动控制器3传输感知信息6,由于运动控制器3可以根据感知信息6更新控制指令5,此时仿真平台2还可以接收由运动控制器3传回的控制指令5,以实现硬件在环仿真。通过硬件在环仿真,可以将运动控制器3本身具有的固有属性(可能会影响仿真结果的性质)考虑在内,更加真实准确,更加接近实际情况,更有利于用户研发改进真实陆空两栖车辆。
41.作为一种可能的实现方式,上述陆空两栖车辆的仿真系统为可视化仿真系统。
42.示例性的,对陆空两栖车辆运动过程的仿真,主要是为了研究真实陆空两栖车辆在运动过程中是否存在问题以及存在问题的地方,以便于后期对实际的陆空两栖车辆的结构或控制过程进行修改完善。因此,在对仿真平台内的陆空两栖车辆进行仿真时,需要实时观察陆空两栖车辆在不同状态下的运动过程,并记录上述运动过程中,陆空两栖车辆出现的问题。基于此,本发明实施例提供的陆空两栖车辆的仿真系统需要是可视化仿真系统。例如,上述仿真平台可以是可视化的gazebo。
43.作为一种可能的实现方式,上述运动控制器包括:与陆空两栖车辆通信的感知模块,用于采集仿真平台的感知信息。与感知模块和陆空两栖车辆通信的控制模块,用于根据运动指令控制陆空两栖车辆在仿真环境内运行。根据感知信息控制陆空两栖车辆在仿真环境内运行。
44.示例性的,参见图1和图4,由于运动控制器3可以采集仿真平台2的感知信息6,所
以运动控制器3具有感知模块30。举例说明,由于上述感知信息6可以由仿真平台2内的虚拟传感器采集获得,运动控制器3为了采集获得上述感知信息6,可以在感知模块30中设置与虚拟传感器相对应的传感器话题,从仿真接口9中订阅虚拟传感器感知数据。上述虚拟传感器可以感知、模拟外部环境信息。上述虚拟传感器可以包括位姿采集传感器23和环境感知传感器24(具体的,上述可以在仿真平台2内生成的虚拟传感器包括视觉摄像头、激光雷达、gps等)。上述传感器话题可以是位姿采集传感器话题300和环境感知传感器话题301。
45.进一步地,参见图1和图4,运动控制器3还包括控制模块31。由于运动控制器3可以接收外界输入的运动指令4,并根据运动指令4向仿真平台2发送控制指令5,接着仿真平台2会根据控制指令5控制陆空两栖车辆21在仿真环境20内运行。即运动控制器3中的控制模块31可以根据运动指令4间接控制陆空两栖车辆21在仿真环境20内运行。此时在控制模块31内对应设置有飞行控制节点310和底盘控制节点311,其中飞行控制节点310主要用于控制陆空两栖车辆21的飞行,底盘控制节点311主要用于控制陆空两栖车辆21在路面行驶。
46.参见图1和图4,又由于仿真平台2内的感知信息6会因陆空两栖车辆21的运动不断变化,此时会使运动控制器3内的生成的控制指令5相应的发生变化。例如,由于感知信息6包括仿真环境20的状态和陆空两栖车辆21的状态。当陆空两栖车辆21由起飞状态变为飞行状态时,陆空两栖车辆21相对于地面的位置,距离均会发生变化。在飞行过程中,陆空两栖车辆21的姿态也可能会发生变化,相应的陆空两栖车辆21周围的仿真环境20的状态也会发生变化(例如风速,压强等)。由于感知信息6的变化会促使运动控制器3内生成的控制指令5相应的发生变化,此时控制模块31需要根据更新后的控制指令5控制陆空两栖车辆21在仿真环境20内运行,即控制模块31根据感知信息6控制陆空两栖车辆21在仿真环境20内运行。
47.参见图1和图4,在仿真平台2内还设置有与运动控制器3相对应的运动控制插件22,运动控制插件22与设置在仿真平台2内的仿真接口插件10连接。运动控制器3内的飞行控制节点310和底盘控制节点311与仿真接口9连接,仿真接口9与仿真接口插件10连接。此时便于信息通过仿真接口插件10传输至运动控制插件22中,以控制位于仿真环境20内的陆空两栖车辆21(即真实陆空两栖车辆的三维模型)进行仿真。进一步地,上述位姿采集传感器23和环境感知传感器24也与仿真接口插件10连接,位姿采集传感器话题300和环境感知传感器话题301与仿真接口9连接,仿真接口9与仿真接口插件10连接。此时位姿采集传感器23和环境感知传感器24可以通过仿真接口插件10和仿真接口9,将信息传输给位姿采集传感器话题300和环境感知传感器话题301。进一步地,上述位姿采集传感器话题300和环境感知传感器话题301分别与飞行控制节点310和底盘控制节点311进行数据传输,此时可以形成闭环结构。将由位姿采集传感器话题300和环境感知传感器话题301采集的位姿、环境信息传输给飞行控制节点310和底盘控制节点311,以用于调整控制输出。
48.参见图3和图4,当运动控制器3与仿真平台2构成硬件在环仿真系统8时,位姿采集传感器23和环境感知传感器24通过仿真接口插件10和仿真接口9,将信息传输给位姿采集传感器话题300和环境感知传感器话题301。接着通过硬件接口11将信息传输给飞行控制器32和底盘控制器33,即可以体现图3中“感知信息6”的传输过程。之后,飞行控制器32和底盘控制器33再次通过硬件接口11、仿真接口9和仿真接口插件10,传输给运动控制插件22,进而将飞行控制器32和底盘控制器33传回的控制指令5在仿真平台2中执行。
49.参见图3和图4,进一步地,上述位姿采集器150和环境感知器151为各种传感器,用
于采集真实陆空两栖车辆15的姿态以及周围环境信息等,并将上述信息传输给飞行控制器32和底盘控制器33,此时可以形成闭环结构。接着飞行控制器32将上述信息传输给飞行执行系统152,底盘控制器33将上述信息传输给底盘执行系统153。上述飞行控制器32和底盘控制器33通过计算将运动指令4转化为控制指令5。例如,可以将底盘前进速度转化为底盘电机电压/占空比。飞行执行系统152和底盘执行系统153用于执行从飞行控制器32和底盘控制器33传入的控制指令5。图4中的运动控制器3可以是机器人操作系统ros。
50.作为一种可能的实现方式,上述控制指令可以包括车轮控制信息和旋翼控制信息。
51.示例性的,利用车轮控制信息可以控制车辆动力学模型中的部分模型,利用旋翼控制信息可以用于控制飞行动力学模型,又由于飞行动力学模型和车辆动力学模型相互耦合,上述车轮控制信息和旋翼控制信息作为控制指令可以控制陆空两栖车辆在起飞、飞行、着陆和路面行驶四种状态下运动。
52.在一种示例中,上述车轮控制信息可以包括轮胎转向信息、轮胎的力学信息。其中,轮胎转向信息可以包括转向角,转向角是每个轮胎绕z轴转动的角度。轮胎的力学信息可以包括轮胎驱动力矩和轮胎制动力矩。上述旋翼控制信息可以包括旋翼电机转矩。当然,上述车轮控制信息和旋翼控制信息中包括的信息还可以根据实际需要进行设置,不限于上述信息。
53.作为一种可能的实现方式,参见图5,上述陆空两栖车辆可以是飞行车辆12,飞行车辆12可以包括车辆120以及设在车辆120上的旋翼121,车辆120可以包括悬架1201以及设在悬架1201上的车轮1202。
54.示例性的,参见图5,上述车辆120主要为飞行车辆12提供路面行驶的驱动力,使飞行车辆12能够在路面行驶。应理解,车辆120可以是四轮汽车,也可以是六轮汽车,还可以是两轮摩托车等,只要具有路面行驶能力即可,本发明实施例对车辆120的具体结构不做具体限定。上述车辆120可以为无人驾驶交通工具,也可以为有人驾驶的交通工具。交通工具可以为汽车,也可可以为其它车辆或采取其它车辆形式的装置,诸如轿车、卡车、摩托车、公交车等。
55.参见图5,上述旋翼121主要为飞行车辆12提供飞行驱动力,使飞行车辆12能够在空中飞行。应理解,旋翼可以是六旋翼、四旋翼等,也可以是其他具有飞行功能的旋翼。并且上述旋翼为对称的刚体,旋翼121与车辆120为刚性连接。
56.参见图6,上述陆空两栖车辆在实际运动过程中,具有起飞、飞行、着陆和路面行驶四种运动状态,尤其是在起降期间往往伴随着许多很难分析的瞬态过程,用户需要找到一个合理的模型来描述陆空两栖车辆在不同运动状态下的动力学特性。例如,在起飞状态下,会同时涉及旋翼和车辆(即涉及旋翼动力学模型13和车辆动力学模型14)。由车辆和旋翼为陆空两栖车辆提供动力,并共同控制陆空两栖车辆运动。在飞行状态下,主要涉及旋翼(即涉及旋翼动力学模型13)。由旋翼为陆空两栖车辆提供动力,并控制陆空两栖车辆运动。在着陆状态下,也会同时涉及旋翼和车辆(即涉及旋翼动力学模型13和车辆动力学模型14)。由车辆和旋翼为陆空两栖车辆提供动力,并共同控制陆空两栖车辆运动。在路面行驶状态下,主要涉及车辆(即涉及车辆动力学模型14)。由车辆为陆空两栖车辆提供动力,并控制陆空两栖车辆运动。当车辆和旋翼共同为陆空两栖车辆提供动力时,车辆和旋翼会相互影响,
此时陆空两栖车辆的运动过程较为复杂。为了可以更好的研发改进陆空两栖车辆,本发明实施例选择处于着陆状态下的陆空两栖车辆进行分析。
57.作为一种可能的实现方式,参见图7,上述飞行动力学模型为旋翼动力学模型,车辆动力学模型包括车轮模型和车身及旋翼支架模型,车身及旋翼支架模型分别与车轮模型和旋翼动力学模型相互耦合。
58.示例性的,参见图7,上述将车轮控制信息以及其他信息(例如路面激励)输入车轮模型,获得车轮模型的输出信息。接着车轮模型的输出信息传输给车身及旋翼支架模型,即作为车身及旋翼支架模型的第一输入。将旋翼控制信息输入旋翼动力学模型,获得旋翼动力学模型的输出信息。接着旋翼动力学模型的输出信息也传输给车身及旋翼支架模型,即作为车身及旋翼支架模型的第二输入。将上述车身及旋翼支架模型的第一输入和第二输入同时输入车身及旋翼支架模型中,获得车身及旋翼支架模型的输出信息。接着车身及旋翼支架模型的输出信息反馈给车轮模型和旋翼动力学模型。由上述内容可知,车身及旋翼支架模型分别与车轮模型和旋翼动力学模型相互耦合,共同作用于陆空两栖车辆并影响其运动。
59.在一种示例中,参见图7,上述车轮模型的输入信息可以包括轮胎转向信息、轮胎的力学信息以及车身及旋翼支架模型的输出信息。车轮模型的输出信息可以包括悬架弹簧力、悬架阻尼力、轮胎纵向力和轮胎侧向力。旋翼动力学模型的输入信息可以包括旋翼电机转矩和车身及旋翼支架模型的输出信息。旋翼动力学模型的输出信息可以包括旋翼升力及力矩,以及旋翼旋转速度。车身及旋翼支架模型的输入信息可以包括车轮模型的输出信息和旋翼动力学模型的输出信息。
60.示例性的,参见图7,由前文描述可知,轮胎转向信息、轮胎的力学信息属于车轮控制信息。其中,轮胎转向信息可以包括转向角。轮胎的力学信息可以包括轮胎驱动力矩和轮胎制动力矩。旋翼电机转矩属于旋翼控制信息。车身及旋翼支架模型的输出信息可以包括车体姿态和重心位置。
61.在一种示例中,对陆空两栖车辆进行参数识别,以确定相关参数。例如,上述参数可以是车辆质量、转动惯量、旋翼质量,空气动力学参数、轮胎及悬架的刚度和阻尼等。接着,利用旋翼动力学模型、车轮模型、车身及旋翼支架模型分别对旋翼部分、车轮部分、车身及旋翼支架部分进行分析以及状态更新。
62.示例性的,参见图8,当旋翼部分采用六旋翼无人机时,六旋翼无人机的六个旋翼布置在一个六边形的顶点位置上,采用六个旋翼的拉力作操纵力,可以设计六个旋翼的旋转方向不同,通过改变旋翼转速来改变六旋翼无人机的姿态和位置。定义本车坐标系b(o

xyz)(即以o
b
作为原点的坐标系)中的x轴在六旋翼无人机左右对称面内,x轴的正方向指向六旋翼无人机的机头方向。z轴在机体左右对称面内,z轴的正方向由六旋翼无人机中心指向六旋翼无人机的上方。与x轴呈90
°
夹角的y轴垂直于xz平面,y轴的正方向指向六旋翼无人机的右侧。如图8所示,1、3、5旋翼顺时针旋转,为“正桨”,2、4、6旋翼逆时针旋转,为“反桨”。正是由于六个旋翼转速的差动匹配,才实现了六旋翼无人机的各种飞行动作变化。
63.参见图8,为了方便描述和控制,将陆空两栖车辆进行简化。例如,上述车辆质量、转动惯量、旋翼质量的数值不变。空气阻力与线速度成正比。同时,为了方便各个坐标系的统一,定义全局坐标系n(o

xyz)(即以o
n
作为原点的坐标系)以及本车坐标系b(o

xyz),利
用旋转矩阵
n
t
b
可以得到上述两个坐标系的位置间的相互转换关系:
[0064][0065]
其中,φ表示陆空两栖车辆绕全局坐标系中x轴的滚动角,θ表示陆空两栖车辆绕全局坐标系中y轴的俯仰角,ψ表示陆空两栖车辆绕全局坐标系中z轴的偏航角。
[0066]
利用旋转矩阵
n
d
b
可以得到两个坐标系之间的转速转换关系:
[0067][0068]
同理,φ表示陆空两栖车辆绕全局坐标系中x轴的滚动角,θ表示陆空两栖车辆绕全局坐标系中y轴的俯仰角,ψ表示陆空两栖车辆绕全局坐标系中z轴的偏航角。
[0069]
根据牛顿运动定律,可知旋翼动力学模型满足以下方程组:
[0070][0071][0072][0073][0074][0075][0076]
其中,k1表示第一个空气动力学阻尼参数,k2表示第二个空气动力学阻尼参数,k3表示第三个空气动力学阻尼参数,k4表示第四个空气动力学阻尼参数,k5表示第五个空气动力学阻尼参数,k6表示第六个空气动力学阻尼参数;m
r
表示陆空两栖车辆中旋翼的质量,g表示重力加速度;v
x
表示陆空两栖车辆在全局坐标系中x轴方向上的速度,v
y
表示陆空两栖车辆在全局坐标系中y轴方向上的速度,v
z
表示陆空两栖车辆在全局坐标系中z轴方向上的速度;表示陆空两栖车辆在全局坐标系中x轴方向的加速度,表示陆空两栖车辆在全局坐标系中y轴方向的加速度,表示陆空两栖车辆在全局坐标系中z轴方向的加速度;φ表示陆空两栖车辆绕全局坐标系中x轴的滚动角,θ表示陆空两栖车辆绕全局坐标系中y轴的俯仰角,ψ表示陆空两栖车辆绕全局坐标系中z轴的偏航角;j
x
表示绕空两栖车辆x轴相对于质心的转动惯量,j
y
表示绕陆空两栖车辆y轴相对于质心的转动惯量,j
z
表示绕陆空两栖车辆z轴相对于质心的转动惯量;l表示陆空两栖车辆的旋翼支架半径;u1表示基于本车坐标系陆空两栖车辆在飞行状态垂向运动的动力输入,u2表示基于本车坐标系陆空两栖车辆在飞行状态滚动运动的动力输入,u3表示基于本车坐标系陆空两栖车辆在飞行状态俯仰运动的动力输入,u4表示基于本车坐标系陆空两栖车辆在飞行状态偏航运动的动力输入;p表示本车坐标系中车身滚动角速度,表示本车坐标系中车身滚动角加速度,q表示本车坐标系中车身俯仰角速度,表示本车坐标系中车身俯仰角加速度,r表示本车坐标系中车身横摆
角速度;表示本车坐标系中车身横摆角加速度。
[0077]
在一种示例中,参见图8,上述六旋翼无人机的飞行动作主要有四种。
[0078]
垂向运动:通过改变油门指令信号使得六个旋翼的转速同时增加或同时减小,即可实现六旋翼无人机相对于大地坐标系向上或向下的纵向运动,特别的是当6个旋翼提供的升力等于六旋翼无人机自身的重力时,六旋翼无人机处于悬停飞行状态,并以u1来表示。
[0079]
滚动运动:当有滚转指令信号产生时,1、3、5旋翼的转速增加(或减小),同时2、4、6旋翼的转速减小(或增加),由于机身两侧的空气动力矩无法抵消,故产生相对于机体轴的滚转力矩,引起六旋翼无人机沿机体x轴方向的横滚运动,并以u2来表示。
[0080]
俯仰运动:当有俯仰指令信号产生时,1、2旋翼的转速增加(或减小),同时4、5旋翼的转速减小(或增加),3、6旋翼的转速不变,从而产生相对于机体轴的俯仰力矩,引起六旋翼无人机的俯仰运动。俯仰运动产生时,也会引起六旋翼无人机在水平面内沿机体y轴方向的水平运动,并以u3来表示。
[0081]
偏航运动:当顺时针旋转的三个旋翼产生的逆时针方向的反扭矩和逆时针旋转的三个旋翼产生的顺时针的反扭矩无法抵消时,便会产生偏航力矩引起飞行器的偏航运动。当有偏航指令信号时,1、3、5旋翼(正桨)的转速增加(或减小),同时2、4、6旋翼(反桨)的转速减小(或增加),正桨与反桨产生的反扭矩大小不同,从而产生绕机体z轴的偏航力矩,引起六旋翼无人机的偏航运动,并以u4来表示。
[0082]
为了获得各个旋翼电机的转速,可以使用六旋翼无人机的控制效率矩阵对所需产生的总体旋翼升力和力矩进行分配,即:
[0083][0084]
其中,c
ω
=3.5
×
10
‑5表示旋翼电机的转速与推力之间的转换系数,m6表示六旋翼无人机的控制效率矩阵,ω
a
(a=1...6)表示每个旋翼电机的转速,a为旋翼的编号。
[0085]
为了提高陆空两栖车辆在降落过程中旋翼电机的利用率,将陆空两栖车辆的旋翼电机作为执行器对其降落过程进行稳定性控制,将旋翼所需提供的旋翼升力和力矩通过合理的控制分配算法进行控制分配。例如。本发明实施例主要采取伪逆法对六旋翼进行控制分配以达到相应的控制效果。六旋翼无人机的控制效率矩阵m6如下:
[0086][0087]
获得六旋翼无人机的控制效率矩阵m6的伪逆并进行如下的控制分配,最终得到各个旋翼电机的转速:
[0088][0089]
其中,c
r
表示旋翼电机的升力系数,l表示陆空两栖车辆的旋翼支架半径,c
m
表示旋
翼电机的横摆增益系数,f表示旋翼产生的升力(即图8中的f1至f6之和),m
x
表示旋翼绕x轴扭矩,m
y
表示旋翼绕y轴扭矩,m
z
表示旋翼绕z轴扭矩,α=30
°
表示各个机臂安装夹角的一半。
[0090]
根据上述公式以及信息可以得到陆空两栖车辆的旋翼部分的状态更新过程。参见图9,利用t

1时刻的车身及旋翼支架模型的输出信息(即车体姿态和重心位置),计算t时刻的各个旋翼电机的升力系数c
t
。同时利用t

1时刻的旋翼旋转速度计算t时刻的旋翼的转动阻力,由于在t时刻,外界(例如驾驶员或控制器)向旋翼动力学模型输入旋翼电机转矩这一参数信息,利用t时刻的旋翼电机转矩和t时刻的旋翼的转动阻力可以计算获得t时刻的旋翼的转动加速度,之后根据t时刻旋翼的转动加速度获得t时刻旋翼转动积分。接着利用t时刻的旋翼转动积分和t时刻的各个旋翼电机的升力系数c
t
计算获得t时刻的旋翼升力及力矩,利用t时刻的旋翼转动积分获得t时刻的旋翼旋转速度。上述t时刻的旋翼升力及力矩、t时刻的旋翼旋转速度均用于t+1时刻。至此完成陆空两栖车辆的旋翼部分的状态更新。
[0091]
在另一种示例中,对陆空两栖车辆的车轮部分进行分析,并确定状态更新过程。参见图10,通过利用t

1时刻的轮胎纵向力,t时刻外界(例如驾驶员或控制器)向车轮模型输入的轮胎驱动力矩和轮胎制动力矩(即轮胎的力学信息)以及t时刻的车轮垂向力,计算获得t时刻的车轮的角加速度。之后利用车轮的角加速度计算获得车轮滚动积分,接着利用车轮滚动积分以及车身及旋翼支架模型的输出信息(即车体姿态和重心位置)计算获得车轮的滑移率。同时利用t时刻外界(例如驾驶员或控制器)向车轮模型输入的转向角(即轮胎转向信息)以及t

1时刻车身及旋翼支架模型的输出信息(即车体姿态和重心位置),计算出相应的车轮的侧偏角。之后利用车轮的滑移率,车轮的侧偏角,车轮垂向力,以及魔术轮胎公式,计算获得t时刻的轮胎纵向力和轮胎侧向力,并用于t+1时刻。
[0092]
参见图10,利用t

1时刻的车身及旋翼支架模型的输出信息(即车体姿态和重心位置),以及t

1时刻的车轮垂向位置、t

1时刻的车轮垂向速度,计算获得t时刻的悬架弹簧力和悬架阻尼力。同时利用t

1时刻的车轮垂向位置、t

1时刻的车轮垂向速度,以及t时刻的路面激励,计算获得t时刻的轮胎弹簧力。接着利用t时刻的轮胎弹簧力和t时刻的悬架弹簧力和悬架阻尼力,计算获得t时刻的车轮的加速度。接着,利用t时刻的车轮的加速度、t

1时刻的车轮垂向位置、t

1时刻的车轮垂向速度,计算获得t时刻的车轮垂向运动积分。之后,利用t时刻的车轮垂向运动积分计算获得t时刻的车轮垂向力、车轮垂向位置、车轮垂向速度。上述t时刻的车轮垂向位置、车轮垂向速度、轮胎纵向力、轮胎侧向力、悬架弹簧力、悬架阻尼力均用于t+1时刻。至此完成陆空两栖车辆的车轮部分的状态更新。
[0093]
参见图10,上述更新过程中,通过参数拟合获得魔术轮胎公式的参数,并用魔术轮胎公式来近似计算轮胎侧向力。之后根据轮胎和悬架的相对形变量分析并计算每个车轮所受的地面支持力,进而求得轮胎可能受到的最大作用力。此外还计算了轮胎所受的弹簧力(即轮胎弹簧力),悬架弹簧力和悬架阻尼力,从而结合路面激励得到车轮垂向运动的加速度。
[0094]
在上述过程中,涉及车轮模型的多个方程。例如,车轮模型中的轮胎侧向力的魔术方程、轮胎支持力方程和轮胎垂向动力学方程。
[0095]
示例性的,轮胎侧向力的魔术方程满足:
[0096]
f
yi
=d
·
sin[c
·
arctan{bα
i

e(bα
i

arctan(bα
i
))}];
[0097]
其中,f
yi
表示轮胎侧向力,b,d,e表示经过参数拟合后获得的魔术公式参数,c表示
曲线形状因子,α
i
表示轮胎侧偏角。
[0098]
轮胎支持力方程满足:
[0099][0100]
其中,i={fl,fr,rl,rr}分别表示陆空两栖车辆的四个车轮,fl表示陆空两栖车辆中左前车轮,fr表示陆空两栖车辆中右前车轮,rl表示陆空两栖车辆中左后车轮,rr表示陆空两栖车辆中右后车轮;f
ni
(i={fl,fr,rl,rr})表示陆空两栖车辆中四个车轮所受的地面支持力,f
nfl
表示陆空两栖车辆中左前车轮所受的地面支持力,f
nfr
表示陆空两栖车辆中右前车轮所受的地面支持力,f
nrl
表示陆空两栖车辆中左后车轮所受的地面支持力,f
nrr
表示陆空两栖车辆中右后车轮所受的地面支持力;m
i
表示陆空两栖车辆中每个车轮的质量,z
i
表示陆空两栖车辆中每个车轮的垂向位置;表示陆空两栖车辆中每个车轮的速度;表示陆空两栖车辆中每个车轮的加速度;z

i
表示表示陆空两栖车辆中车身四顶点线性化后的垂向位置;表示陆空两栖车辆中车身四顶点线性化后的速度;c
i
表示四轮悬架阻尼系数;k
i
表示四轮悬架劲度系数。
[0101]
轮胎垂向动力学方程满足:
[0102][0103]
其中,i={fl,fr,rl,rr}分别表示陆空两栖车辆的四个车轮,fl表示陆空两栖车辆中左前车轮,fr表示陆空两栖车辆中右前车轮,rl表示陆空两栖车辆中左后车轮,rr表示陆空两栖车辆中右后车轮,m
i
表示陆空两栖车辆中每个车轮的质量,z
i
表示陆空两栖车辆中每个车轮的垂向位置;表示陆空两栖车辆中每个车轮的速度;表示陆空两栖车辆中每个车轮的加速度;z

i
表示陆空两栖车辆中车身四顶点线性化后的垂向位置;表示陆空两栖车辆中车身四顶点线性化后的速度;c
i
表示四轮悬架阻尼系数;k
i
表示四轮悬架劲度系数;k
t
表示轮胎刚度系数;q
i
表示路面激励。
[0104]
在再一种示例中,对陆空两栖车辆的车身及旋翼支架部分进行分析,并确定状态更新过程。参见图11,在完成了对车轮部分的分析后,使用车身及旋翼支架模型和双轨模型对车身整体的纵向受力和侧向受力进行分析,根据牛顿运动定律得到其各个方向的加速度以及横摆运动的角加速度。之后使用整车7自由度悬架模型分析车身垂向,俯仰以及侧倾运动。
[0105]
上述7自由度,是指车身沿z轴上下运动,沿x轴的侧倾、沿y轴的俯仰,以及悬架的簧下部分(主要是轮胎的上下跳动)。
[0106]
在此过程中涉及车身及旋翼支架模型的多个方程。例如,车身及旋翼支架模型中的车身垂向动力学方程、车身俯仰动力学方程和车身侧倾动力学方程、车身总纵向力方程、车身总侧向力方程和偏航力矩方程。
[0107]
上述车身总纵向力方程满足:
[0108][0109]
上述车身总侧向力方程满足:
[0110]

i
f
qi
=(m
b
+m
r
+4m
i
)a
y

[0111]
上述偏航力矩方程满足:
[0112][0113]
其中,∑
i
f
li
表示陆空两栖车辆的车身总纵向力,∑
i
f
qi
表示陆空两栖车辆的车身总侧向力;i={fl,fr,rl,rr}分别表示陆空两栖车辆的四个车轮,fl表示陆空两栖车辆中左前车轮,fr表示陆空两栖车辆中右前车轮,rl表示陆空两栖车辆中左后车轮,rr表示陆空两栖车辆中右后车轮。表示陆空两栖车辆行驶时所受到的空气阻力,c
w
表示空气阻力系数,ρ表示空气密度参数,a表示陆空两栖车辆的迎风面积,v
x
表示陆空两栖车辆行驶时运动方向的速度;j
z
表示绕陆空两栖车辆z轴相对于质心的转动惯量,m
b
表示陆空两栖车辆中车身的质量,m
r
表示陆空两栖车辆中旋翼的质量,m
i
表示陆空两栖车辆中每个车轮的质量,a
x
表示陆空两栖车辆的纵向加速度;a
y
表示陆空两栖车辆的侧向加速度;u4表示基于本车坐标系陆空两栖车辆在飞行状态偏航运动的动力输入,l
f
表示陆空两栖车辆中心到前轴的距离,l
r
表示陆空两栖车辆中心到后轴的距离,b表示轮距(在本发明实施例中假设前后轴轮距相同),表示陆空两栖车辆中左右车轮中心距离的一半,f
lfl
表示陆空两栖车辆的车轮fl受到的纵向力,f
lfr
表示陆空两栖车辆的车轮fr受到的纵向力,f
lrl
表示陆空两栖车辆的车轮rl受到的纵向力,f
lrr
表示陆空两栖车辆的车轮rr受到的纵向力,f
qrl
表示陆空两栖车辆的车轮fl受到的侧向力,f
qfr
表示陆空两栖车辆的车轮fr受到的侧向力,f
qrl
表示陆空两栖车辆的车轮rl受到的侧向力,f
qrr
表示陆空两栖车辆的车轮rr受到的侧向力,r表示本车坐标系中车身横摆角速度。
[0114]
上述偏航力矩方程是考虑旋翼的输入和轮胎接触地面产生的横摆力矩后的车辆横摆运动微分公式。
[0115]
上述∑
i
f
li
与∑
i
f
qi
可以由图11中的车身受力分析图计算获得,之后可以计算获得陆空两栖车辆的车身纵向力f
li
,陆空两栖车辆的车身侧向力f
qi

[0116]
f
li
=f
xi cos(δ
i
)

f
yi sin(δ
i
);
[0117]
f
qi
=f
xi
sin(δ
i
)+f
yi
cos(δ
i
)。
[0118]
其中,δ
i
表示轮胎i的转向角,f
xi
表示车轮纵向力,f
yi
表示轮胎侧向力,i={fl,fr,rl,rr}分别表示陆空两栖车辆的四个车轮,fl表示陆空两栖车辆中左前车轮,fr表示陆空两栖车辆中右前车轮,rl表示陆空两栖车辆中左后车轮,rr表示陆空两栖车辆中右后车轮。
[0119]
上述对于车身的垂向,俯仰以及侧倾运动,使用了整车7自由度悬架模型进行分析,具体可参见图12。
[0120][0121]
其中,m
t
表示轮胎的质量,k
t
表示轮胎刚度系数,k
s
表示悬架减震器刚度,c
s
表示悬架减震器阻尼系数,z
i
表示在全局坐标系下陆空两栖车辆中四个车轮的垂向位置;表示在全局坐标系下陆空两栖车辆中四个车轮的速度;z

i
表示在全局坐标系下陆空两栖车辆中车身四顶点线性化后的垂向位置;表示在全局坐标系下陆空两栖车辆中车身四顶点线性化后的速度;q
i
表示路面激励,i={fl,fr,rl,rr}分别表示陆空两栖车辆的四个车轮,fl表示陆空两栖车辆中左前车轮,fr表示陆空两栖车辆中右前车轮,rl表示陆空两栖车辆中左后车轮,rr表示陆空两栖车辆中右后车轮。
[0122]
上述公式是基于全局坐标系中的俯仰角和滚动角的小角度假设,陆空两栖车辆在
全局坐标系中的垂向运动分析可近似等价陆空两栖车辆在本车坐标系中的垂向运动。
[0123]
上述利用整车7自由度悬架模型,结合前文中旋翼部分的力的作用,可以得到车身垂向动力学方程、车身俯仰动力学方程和车身侧倾动力学方程。注意,此处的三个方程是基于全局坐标系进行处理的。
[0124]
上述车身垂向动力学方程满足:
[0125][0126]
上述车身俯仰动力学方程满足:
[0127][0128]
上述车身侧倾动力学方程满足:
[0129][0130]
其中,m
b
表示陆空两栖车辆中车身的质量,g表示重力加速度,z
b
表示陆空两栖车辆的质心在全局坐标系下的垂向位置,(补充说明,z
b
表示陆空两栖车辆的质心在本车坐标系下的垂向位置,)z
i
表示陆空两栖车辆中四个车轮的垂向位置;表示在全局坐标系下陆空两栖车辆中四个车轮的速度;z

i
表示在全局坐标系下陆空两栖车辆中车身四顶点线性化后的垂向位置;表示在全局坐标系下陆空两栖车辆中车身四顶点线性化后的速度;c
i
表示四轮悬架阻尼系数;k
i
表示四轮悬架劲度系数;b表示轮距,表示陆空两栖车辆中左右车轮中心距离的一半;l表示陆空两栖车辆的旋翼支架半径,表示陆空两栖车辆绕全局坐标系中x轴转动的加速度(即横滚加速度);表示陆空两栖车辆绕全局坐标系中y轴转动的加速度(即俯仰加速度);l
f
表示陆空两栖车辆中心到前轴的距离;l
r
表示陆空两栖车辆中心到后轴的距离;u1表示基于本车坐标系陆空两栖车辆在飞行状态垂向运动的动力输入,u2表示基于本车坐标系陆空两栖车辆在飞行状态滚动运动的动力输入,u3表示基于本车坐标系陆空两栖车辆在飞行状态俯仰运动的动力输入,u4表示基于本车坐标系陆空两栖车辆在飞行状态偏航运动的动力输入;j
x
表示绕陆空两栖车辆x轴相对于质心的转动惯量,j
y
表示绕陆空两栖车辆y轴相对于质心的转动惯量。i={fl,fr,rl,rr}分别表示陆空两栖车辆的四个车轮,fl表示陆空两栖车辆中左前车轮,fr表示陆空两栖车辆中右前车轮,rl表示陆空两栖车辆中左后车轮,rr表示陆空两栖车辆中右后车轮。
[0131]
当俯仰角θ和滚动角φ在极小的范围内变化时,则可得到以下方程组:
[0132]
z
fl

=z
b

l
f
θ+bφ;
[0133]
z
fr

=z
b

l
f
θ

bφ;
[0134]
z
rl

=z
b
+l
r
θ+bφ;
[0135]
z
rr

=z
b
+l
r
θ

bφ;
[0136]
其中,z
fl

表示车辆悬架与车身左前方的连接点在全局坐标系下经过线性简化后的垂向位置,z
fr

表示车辆悬架与车身右前方的连接点在全局坐标系下经过线性简化后的垂向位置,z
rl

表示车辆悬架与车身左后方的连接点在全局坐标系下经过线性简化后的垂向位置,z
rr

表示车辆悬架与车身右后方的连接点在全局坐标系下经过线性简化后的垂向位置,z
b
表示陆空两栖车辆的质心在全局坐标系下的垂向位置,l
f
表示陆空两栖车辆中心到前轴的距离;l
r
表示陆空两栖车辆中心到后轴的距离;b表示轮距,φ表示陆空两栖车辆绕
全局坐标系中x轴的滚动角,θ表示陆空两栖车辆绕全局坐标系中y轴的俯仰角。
[0137]
图13示出了本发明实施例提供的陆空两栖车辆的车身及旋翼支架部分的状态更新示意图。参见图13,将t

1时刻的车身及旋翼支架模型的输出信息(即车体姿态和重心位置),t时刻的外界(例如驾驶员或控制器)提供的转向角(即轮胎转向信息)和轮胎驱动力矩和轮胎制动力矩(即轮胎的力学信息),以及t时刻的路面激励,输入车轮模型中计算获得t时刻的轮胎纵向力、轮胎侧向力、悬架弹簧力和悬架阻尼力。同时,将t

1时刻的车身及旋翼支架模型的输出信息(即车体姿态和重心位置),t时刻的外界(例如驾驶员或控制器)提供的旋翼电机转矩,输入旋翼模型中计算获得t时刻的旋翼升力及力矩和旋翼旋转速度。接着将上述计算获得的t时刻的轮胎纵向力、轮胎侧向力、悬架弹簧力、悬架阻尼力、旋翼升力及力矩和旋翼旋转速度,均由全局坐标系n(o

xyz)转换到本车坐标系b(o

xyz),之后计算获得t时刻的本车坐标系的车身角加速度。接着利用t时刻的本车坐标系的车身角加速度计算获得t时刻的车身在本车坐标系中的旋转自由度积分(即进行本地姿态更新),之后在将t时刻的车身在本车坐标系中的旋转自由度积分由本车坐标系b(o

xyz)转换到全局坐标系n(o

xyz),获得t时刻的车体姿态。
[0138]
参见图13,利用计算获得的t时刻的轮胎纵向力、轮胎侧向力、悬架弹簧力、悬架阻尼力、旋翼升力及力矩、旋翼旋转速度和重力,进一步计算获得t时刻的车身在全局坐标系下的加速度。接着利用t时刻的加速度,计算获得t时刻的车身在全局坐标系下的平移自由度积分。之后,利用t时刻的车身在全局坐标系下的平移自由度积分获得t时刻的重心位置。上述t时刻的车体姿态和t时刻的重心位置均用于t+1时刻。至此完成陆空两栖车辆的车身及旋翼支架部分的状态更新。即根据上一时刻的车身状态和当前时刻输入,先对车轮模型和旋翼模型进行更新,再将更新后的量输入车身及旋翼支架模型进行更新,如此循环。
[0139]
综合所述,根据前文描述的车身6自由度(例如车身在全局坐标系中的3平动,3转动)、旋翼单自由度(例如旋翼的旋转)以及悬架轮胎2自由度(例如车轮在本车坐标系中的垂向自由度和转向自由度(即转向角)),经过对车身,旋翼,悬架和车轮运动的分析,可知陆空两栖车辆整体状态更新过程。
[0140]
由于上述位于仿真环境内的陆空两栖车辆为动力学模型,因此在实际应用过程中,需要先对真实陆空两栖车辆进行建模。例如,在solidworks中进行三维建模并导出三维模型文件(即mesh文件)。上述mesh文件中主要包括车体、车轮、旋翼三部分。当对真实陆空两栖车辆建模完成之后,创建ros package(ros功能包),并根据真实陆空两栖车辆的仿真模型编写机器人描述文件(即urdf文件),通过urdf文件可以将上述在solidworks中完成的三维建模在gazebo中显示出来。之后,根据依赖编写cmakelists和package文件(例如ros package中某处代码调用了某个库,则需要在cmakelists和package文件中声明这个库作为依赖,否则会编译失败)。在urdf文件中,车轮与旋翼通过continuous形式的关节与车体连接。相应转动惯量、陆空两栖车辆中车身的质量、车轮的质量和旋翼的质量等参数可由solidworks计算得到。上述仿真平台中的仿真环境可以通过包括如生成mesh,编写sdf、world文件的方式进行搭建。在本发明实施例中的仿真环境是基于osrf(开源机器人基金会)所提供的citysim修改得来。
[0141]
接着,将上述陆空两栖车辆在仿真环境内仿真,运动。上述仿真包括飞行部分仿真和地面部分(底盘)仿真。具体的,上述飞行部分仿真借助陆空两栖车辆仿真ros package实
现。例如,飞行部分可以选用六旋翼的陆空两栖车辆模型,利用陆空两栖车辆仿真ros package中的lee_position_controller(定点飞行控制器)实现基本的定点飞行,并在lee_position_controller的参数文件中调整相关参数以优化飞行表现,或利用陆空两栖车辆仿真ros package提供的controller library(控制器库)自行编写定点飞行控制器。上述lee_position_controller使用rotors内置的旋翼动力学模型,应用本文提出的旋翼动力学模型需要自行编写控制器。使用时需在urdf文件中添加rotors的传感器和mavlink(micro air vehicle link,微型空中飞行器链路通讯协议)interface等必要插件。
[0142]
上述过程的原理是:利用了陆空两栖车辆仿真ros package中的里程计、惯性导航模块等gazebo插件来模拟传感器数据,再通过定点飞行控制器根据输入的目标位姿,结合传感器数据和陆空两栖车辆动力学模型计算各电机的转速,最后输出电机的gazebo插件,实现在gazebo仿真环境下的飞行。这里陆空两栖车辆仿真ros package主要起到提供gazebo插件的功能。lee_position_controller作为陆空两栖车辆仿真ros package默认的控制算法,优势是便于使用,但为后续进一步开发,可替换为其他基于ros编写的控制器。同时,陆空两栖车辆仿真ros package也提供了一套controller library,可基于其提供的模板来开发控制器。
[0143]
上述陆空两栖车辆仿真ros package还可以起到提供飞行部分仿真时必要传感器(例如里程计、imu、gps等)的gazebo插件和定点飞行控制器lee_position_controller(或用于编写自定义的定点飞行控制器的controller library)的作用。同时gazebo插件和lee_position_controller以及controller library并非绑定关系,可替换为其他controller。陆空两栖车辆仿真ros package的优点是为陆空两栖车辆的模拟仿真提供了一个较为完整的整合,同时其接口被设计为与真实系统尽可能地接近,便于开发者在仿真与真实世界间切换。本发明实施例使用陆空两栖车辆仿真ros package仅是提供了一种可行的方案,其他如hector_quadrotor等为陆空两栖车辆模拟仿真而编写的ros package同样可用。应理解,上述借由ethz开发的陆空两栖车辆仿真ros package实现的飞行控制,其中陆空两栖车辆仿真ros package提供陆空两栖车辆飞行必要的gazebo插件如惯性导航模块、电机控制等和基本的定点飞行控制器以及controller library。
[0144]
上述地面部分的底盘控制是基于ros control编写的。底盘可以使用ackermann底盘(阿克曼底盘)并依照ackermann转向模型编写控制节点。其中,ros消息(即message)的格式使用ackermann_msgs,依照车辆动力学模型编写控制节点。在节点中计算各轮转轴的速度和角度,再通过ros control进行分别控制。当然,上述底盘还可以采用如差速转向模型(例如,skid

steer)的底盘,同样可以基于ros control实现控制。在gazebo中使用ros control需在urdf中添加相应的gazebo插件。具体的,基于ros control编写的ackermann底盘控制器,通过发布整车转向和速度信息到该控制器节点,经计算后控制前轮转向和四轮速度。
[0145]
进一步地,上述感知部分(指代通过设置在仿真平台的虚拟传感器即gazebo插件模拟的传感器采集获得感知信息)利用已有的ros package,并在urdf中添加相应项目。例如,在urdf中添加了多线激光雷达(例如,velodyne hdl

32e激光雷达)、彩色、红外和深度摄像头(例如,kinect v2摄像头)等,并且使用ros control为摄像头附加单轴云台。通过与诸如octomap、loam等package相结合,可以实现更多功能。上述感知部分利用gazebo插件实
现,在本发明人实施例中,按照实物设置传感器参数可以提高仿真的真实度,但不局限于提到的两个型号的传感器。通过使用或编写其他ros节点或ros package实现更多功能,例如使用octomap实现3d建图。以上ros、gazebo部分配置完成后,使用时通过launch文件启动仿真平台,launch文件中预先设置好需要启动的节点和相关参数。
[0146]
尽管在此结合各实施例对本发明进行了描述,然而,在实施所要求保护的本发明过程中,本领域技术人员通过查看附图、公开内容、以及所附权利要求书,可理解并实现公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
[0147]
尽管结合具体特征及其实施例对本发明进行了描述,显而易见的,在不脱离本发明的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本发明的示例性说明,且视为已覆盖本发明范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1