一种四旋翼无人机故障容错控制器的设计方法及系统

文档序号:32163817发布日期:2022-11-12 03:36阅读:178来源:国知局
一种四旋翼无人机故障容错控制器的设计方法及系统

1.本技术涉及无人机控制技术领域,具体而言,涉及一种四旋翼无人机故障容错控制器的设计方法及系统。


背景技术:

2.近年来,随着通信、计算机、网络等领域技术的快速发展,四旋翼无人机的相关课题已经成为自动控制领域的一个新的研究方向。四旋翼无人机可以以较低的成本,较高的灵活性完成大范围复杂环境下的各种任务,这使得四旋翼无人机在军事和民用领域的地位不断提高。因此,为了更好地利用四旋翼无人机协助完成各项任务,四旋翼无人机的控制问题越来越受到研究者的关注。
3.现行主流的四旋翼无人机姿态稳定、或跟踪方法主要包括控制结构、反步法、基于理论的控制方法以及自适应控制等。虽然,现有的控制方法能够提高无人机在飞行过程中的稳定性;但是,这些控制方法都是基于四旋翼无人机系统无故障的情况下的控制方法,而由于无人机在高速运行的过程中,随着部件老化或驱动电机、螺旋桨损坏等情况的出现,很容易使得驱动电机-螺旋桨系统出现故障,致使四旋翼无人机无法完成既定任务,甚至失控产生安全问题,这使得在探讨四旋翼无人机的控制问题的同时,需保证其在正常条件下、以及故障条件下,都能达到理想性能。
4.目前,传统的fda体系结构通常采用故障检测、隔离和评估(fdie算法)机制,提供已发生故障的诊断信息。早期,故障检测和隔离可能有助于避免出现更严重的故障,并且在故障诊断过程中生成的详细故障信息,这些信息对基于状态的维护和冗余管理非常有价值。但是,此类容错控制方法的整体性能,直接受到故障发生和故障隔离之间的时间延迟、以及fdie算法准确性的影响,当同时出现多个故障时,fdie算法的准确性将很难保证,存在控制精准度不高的问题。


技术实现要素:

5.本技术实施例的目的在基于提供一种四旋翼无人机故障容错控制器的设计方法及系统,可以保证四旋翼无人机多故障同时发生时的精确跟踪控制。
6.本技术实施例还提供了一种四旋翼无人机故障容错控制器的设计方法,包括以下步骤:
7.s1、在考虑故障对转子产生影响的情况下,结合故障分布情况以及无人机的转子转速,构建用于反映无人机飞行状况的目标运动模型;
8.s2、设定随模型的控制输入变化而同步发生变化的相对阈值、以及固定阈值;
9.s3、结合事件触发特性,通过所述相对阈值、以及所述固定阈值调整模型的控制输入,以使得无人机的飞行轨迹趋近于预设的目标飞行轨迹;
10.s4、调整过程中,采用反步法递推设计出相应的虚拟控制律以及实际控制律,以使得模型趋近渐近稳定。
11.第二方面,本技术实施例还提供了一种四旋翼无人机故障容错控制器的设计系统,其特征在于,所述系统包括运动模型构建模块、阈值设定模块、控制输入调整模块以及反步递推设计模块,其中:
12.所述运动模型构建模块,用于在考虑故障对转子产生影响的情况下,结合故障分布情况以及无人机的转子转速,构建用于反映无人机飞行状况的目标运动模型;
13.所述阈值设定模块,用于设定随模型的控制输入变化而同步发生变化的相对阈值、以及固定阈值;
14.所述控制输入调整模块,用于结合事件触发特性,通过所述相对阈值、以及所述固定阈值调整模型的控制输入,以使得无人机的飞行轨迹趋近于预设的目标飞行轨迹;
15.所述反步递推设计模块,用于调整过程中,采用反步法递推设计出相应的虚拟控制律以及实际控制律,以使得模型趋近渐近稳定。
16.第三方面,本技术提供的一种可读存储介质,所述可读存储介质中包括四旋翼无人机故障容错控制器的设计方法程序,所述四旋翼无人机故障容错控制器的设计方法程序被处理器执行时,实现如上述任一项所述的方法的步骤。
17.由上可知,本技术实施例提供的一种四旋翼无人机故障容错控制器的设计方法、系统以及可读存储介质,考虑了故障对转子的影响,通过故障参数对故障进行模拟,且采用综合相对阈值控制、以及固定阈值控制的事件触发机制,相比于传统的控制方式,能最大程度的减少事件触发次数,在保证控制效果的同时,还能够节约通信资源。在保证事件触发机制的情况下,采用反步法递推设计出相应的虚拟控制律以及实际控制律,能够使系统实现渐近稳定,保证四旋翼无人机多故障同时发生时的精确跟踪控制。
18.本技术的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术实施例了解。本技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
19.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
20.图1为本技术实施例提供的一种四旋翼无人机故障容错控制器的设计方法的流程图;
21.图2为基于四旋翼无人机故障容错控制器的设计方法进行仿真调试的结果示意图;
22.图3为本技术实施例提供的一种四旋翼无人机故障容错控制器的设计系统的结构示意图。
具体实施方式
23.下面将结合本技术实施例中附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。通常在
此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
24.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本技术的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
25.请参照图1,图1是本技术一些实施例中的一种四旋翼无人机故障容错控制器的设计方法的流程图。该方法包括以下步骤:
26.步骤s1,在考虑故障对转子产生影响的情况下,结合故障分布情况以及无人机的转子转速,构建用于反映无人机飞行状况的目标运动模型。
27.步骤s2,设定随模型的控制输入变化而同步发生变化的相对阈值、以及固定阈值。
28.步骤s3,结合事件触发特性,通过所述相对阈值、以及所述固定阈值调整模型的控制输入,以使得无人机的飞行轨迹趋近于预设的目标飞行轨迹。
29.步骤s4,调整过程中,采用反步法递推设计出相应的虚拟控制律以及实际控制律,以使得模型趋近渐近稳定。
30.由上可知,本技术公开的一种四旋翼无人机故障容错控制器的设计方法,考虑了故障对转子的影响,通过故障参数对故障进行模拟,且采用综合相对阈值控制、以及固定阈值控制的事件触发机制,相比于传统的控制方式,能最大程度的减少事件触发次数,在保证控制效果的同时,还能够节约通信资源。在保证事件触发机制的情况下,采用反步法递推设计出相应的虚拟控制律以及实际控制律,能够使系统实现渐近稳定,保证四旋翼无人机多故障同时发生时的精确跟踪控制。
31.在其中一个实施例中,步骤s1中,所述在考虑故障对转子产生影响的情况下,结合故障分布情况以及无人机的转子转速,构建用于反映无人机飞行状况的目标运动模型,包括:
32.步骤s11,结合故障对转子产生的影响,定义相应的故障参数,其中,所述故障参数的定义方式包括:
[0033][0034]
其中,αs表示故障程度,为定义的故障参数。
[0035]
具体的,当时表示当前转子是正常运转的;其他情况下,则表示转子在运转的过程中产生了故障,且会产生对应程度的推力损失。
[0036]
步骤s12,根据所述故障参数、故障分布情况以及无人机的转子转速,确定同步产生的推力和扭矩,其中,所述推力和扭矩的定义方式包括:
[0037][0038]
其中,u表示推力,即模型的控制输入;τ
φ

θ

ψ
表示无人机在偏航、俯仰以及滚转
三个方向上分别产生的角加速度,i4表示4
×
4的单位矩阵,m表示推力和扭矩与转速间的映射矩阵,λs表示预设的故障分布矩阵,ωi(i=1,2,3,4)为无人机的四个转子的转速。
[0039]
具体的,且由于转子的推力和转矩与转速的平方成正比,当前实施例中,将结合上述故障参数的定义方式,进一步确定四旋翼无人机的推力与扭矩。
[0040]
在其中一个实施例中,λs代表的是故障分布矩阵,s=1...4代表产生故障的转子编号。示例性的,当s=1时,则有λ1=diag{1,0,0,0};当s=2时,则有λ2=diag{0,1,0,0},其他情况可以以此类推,本技术实施例对此不做限定。
[0041]
步骤s13,将所确定的推力和扭矩,代入到无人机的动力学模型中进行模型转换,得到用于反映飞行状况的目标运动模型。
[0042]
具体的,无人机的动力学模型的定义方式包括:
[0043][0044]
需要说明的是,由于后续都已对上述公式中的各项参数进行了定义,当前不做过多说明。
[0045]
上述实施例,考虑了故障对转子的影响,通过故障参数对故障进行模拟,以及需要采用自适应控制消除故障的影响,保证了无人机多故障同时发生时的精确跟踪控制,进一步提高了控制效果。
[0046]
在其中一个实施例中,步骤s13中,所述目标运动模型的定义方式包括:
[0047][0048][0049]
[0050][0051]
其中,x1=[pz,φ,θ,ψ]
t
,x2=[vz,p,q,r]
t
,[φ,θ,ψ]分别表示产生的偏航角、俯仰角以及滚转角,[p,q,r]分别对应表示上述三个角的角加速度;pz表示惯性垂直位置,vz表示惯性垂直速度;r
η
(φ,ψ)表示将产生的角速度和欧拉角速度关联起来的关联矩阵,m表示无人机的机体重量,g表示产生的重力加速度;j=diag{j
x
,jy,jz}表示机体的惯性矩阵,cd表示机体的阻力系数;为参数x1的导数,为参数x2的导数。
[0052]
上述实施例,采用了二阶牛顿拉格朗日模型构建无人机的动力学模型,其中,通过旋转矩阵表征四旋翼无人机的旋转,可以更好的描述无人机的姿态,更简洁的实现无人机控制输入到无人机每个转子转速的解算。
[0053]
在其中一个实施例中,步骤s3中,所述通过所述相对阈值、以及所述固定阈值调整模型的控制输入,以使得无人机的飞行轨迹趋近于预设的目标飞行轨迹,包括:
[0054]
步骤s31,获取模型的实际控制输入,并将所述实际控制输入与预设的切换阈值控制参数进行比较。
[0055]
当前实施例中,会进一步将模型的实际控制输入与预设的切换阈值控制参数d进行比较,以确定何时切换控制策略。
[0056]
例如,在确定时,当前将切换到相对阈值策略,通过将无人机的控制输入与相对阈值进行关联,当确定无人机的控制输入比较大时,则说明无人机离目标轨迹较远,由于此时的主要任务是使无人机先追到目标飞行轨迹附近,所以不需要精细控制。
[0057]
需要说明的是,因为控制输入的取值较大,所以对应关联到的相对阈值的取值也就比较大,此时的触发门槛相对较高,触发次数也相对较少,如此,使得无人机可以以较快的追踪速度进行目标追踪。
[0058]
其他情况下,将切换到固定阈值策略,在确定无人机逼近目标飞行轨迹的时候,随着控制输入的减少,将采用固定阈值,通过增加控制次数实现高精度控制,以保证控制效果的提升。
[0059]
需要说明的是,固定阈值可以为一个取正的常数。当前实施例中,并不对其具体取值进行限定,不同实施例中,可以结合具体的实践情况,通过仿真调试,以确定其取到合适值,其目的是为了保证无人机在目标飞行轨迹附近的控制效果,同时减少触发次数,节约通信资源。
[0060]
步骤s32,在确定无人机的飞行轨迹与所述目标轨迹相距较远,且所述实际控制输入大于、或等于预设的切换阈值控制参数时,基于所述相对阈值、所述实际控制输入与不同时刻中设置的控制输入之间的间隔差值,判断是否达到第一触发时刻。
[0061]
具体的,在确定模型的实际控制输入大于、或等于预设的切换阈值控制参数d时,将进一步比较相对阈值、与所述实际控制输入与不同时刻中设置的控制输入之间的间隔差值即之间的大小。
[0062]
在其中一个实施例中,在判断是否达到第一触发时刻时,可以参考的实施方式包括:在确定第一目标时刻中取到的相对阈值大于、或等于该时刻中存在的间隔差值时,将该第一目标时刻作为第一触发时刻,后续将基于该第一触发时刻设置的设计控制输入调整模型的实际控制输入。
[0063]
步骤s33,在确定达到第一触发时刻时,基于在所述第一触发时刻中设置的控制输入,调整模型的实际控制输入,以使得无人机快速逼近目标轨迹。
[0064]
具体的,在确定达到第一触发时刻t
k+1
时,将进一步确定在该时刻t
k+1
中设置的设计控制输入ω。之后,再基于该设计控制输入ω实现对模型的实际控制输入的更新,即使得其中,在非触发时刻中即t∈[t,t
k+1
),实际控制输入将保持不变即不做更新,直到达到触发时刻t
k+1
即t=t
k+1
时,才基于该触发时刻t
k+1
中设置的设计控制输入ω进行更新。
[0065]
步骤s34,在确定无人机处于目标轨迹附近,且所述实际控制输入小于预设的切换阈值控制参数时,基于所述固定阈值、所述实际控制输入与不同时刻中设置的控制输入之间的间隔差值,判断是否达到第二触发时刻。
[0066]
具体的,在确定模型的实际控制输入小于预设的切换阈值控制参数d时,将进一步比较固定阈值、与所述实际控制输入与不同时刻中设置的控制输入之间的间隔差值即之间的大小。
[0067]
在其中一个实施例中,在判断是否达到第二触发时刻时,可以参考的实施方式包括:在确定第二目标时刻中取到的固定阈值大于、或等于该时刻中存在的间隔差值时,将该第二目标时刻作为第二触发时刻。
[0068]
步骤s35,在确定达到第二触发时刻时,基于在所述第二触发时刻中设置的控制输入,调整模型的实际控制输入。
[0069]
具体的,在确定达到第二触发时刻时,模型的实际控制输入的调整方式可以参考前述的实施方式,当前实施例中不做过多说明。
[0070]
当前实施例中,综合相对阈值控制、以及固定阈值控制的优势,使得在满足相应阈值条件的情况下,才会令控制器做出变化即更新,相比于传统的控制方式即控制器会随着系统的变化而实时发生变化,能在最大程度减少事件触发次数的同时提升控制效果。
[0071]
在其中一个实施例中,步骤s32中,所述基于所述相对阈值、所述实际控制输入与不同时刻中设置的控制输入之间的间隔差值,判断是否达到第一触发时刻,包括:
[0072]
步骤s321,在确定所述间隔差值大于或等于所述相对阈值时,通过下述公式,判断是否达到第一触发时刻:
[0073][0074]
其中,t
k+1
表示达到的第一触发时刻,t表示时间,r表示预设的实数集,表示所述实际控制输入,ω表示在时刻t中设置的控制输入,m1、m2分别表示预设的常数,“m1ω+m
2”表
示随ω变化而同步发生变化的相对阈值。
[0075]
在其中一个实施例中,步骤s34中,所述基于所述固定阈值、所述实际控制输入与不同时刻中设置的控制输入之间的间隔差值,判断是否达到第二触发时刻,包括:
[0076]
步骤s341,在确定所述间隔差值大于或等于所述固定阈值时,通过下述公式,判断是否达到第二触发时刻:
[0077][0078]
其中,m表示固定阈值。
[0079]
在其中一个实施例中,步骤s4中,所述调整过程中,采用反步法递推设计出相应的虚拟控制律,包括:
[0080]
步骤s41,基于所述目标运动模型进行坐标变化,得到:
[0081][0082]
其中,z1表示状态变量x1的坐标变换形式,z2表示状态变量x2的坐标变换形式,c1表示预设的比例增益,c2表示预设的积分增益,x1表示模型的系统状态,xd表示达到的目标状态,α表示虚拟控制律。
[0083]
具体的,当前之所以进行坐标变化,是为了方便后续反步法的设计和处理。当前实施例中,将基于自适应控制原理,选择合适的lyapunov函数,然后对其进行求导,并设计出相应的虚拟控制律。
[0084]
步骤s42,基于自适应控制原理,选择相应的第一lyapunov函数v1:
[0085][0086]
其中,σs表示自适应参数,表示故障参数的参数估计。
[0087]
步骤s43,针对所述第一lyapunov函数v1进行一阶导数的求解,得到相应的一阶导数
[0088]
步骤s44,基于使得一阶导数负定即的第一限定条件,设计出相应的虚拟控制律,以使得系统趋近渐近稳定,其中:
[0089][0090]
其中,α1表示设计处的虚拟控制律,a>0,b>0,0<δ<1均为预设的正常数,k1表示预设的误差增益。
[0091]
具体的,在对所述第一lyapunov函数v1进行一阶导数的求解之后,为了减小计算量,将对所得的一阶导数进行化简。之后,在此基础上,再进行虚拟控制律的设计,并在确定所选取的虚拟控制律能够可以使一阶导数负定时,即认为当前所设计的虚拟控制律能使得无人机系统实现渐近稳定。
[0092]
上述实施例,综合各种系统控制要求,利用反步法递推地设计出虚拟控制律,使得无人机系统能够实现渐近稳定,提升了控制效果。
[0093]
在其中一个实施例中,步骤s4中,所述调整过程中,采用反步法递推设计出相应的实际控制律,包括:
[0094]
步骤s45,基于自适应控制原理,选择相应的第二lyapunov函数v2,即:
[0095][0096]
具体的,上述公式中的各项参数在前面已进行了解释,当前不做过多说明。
[0097]
步骤s46,针对所述第二lyapunov函数v2进行一阶导数的求解,得到相应的一阶导数
[0098]
具体的,在设计出相应的实际控制律之前,可选择性的对所得的一阶导数进行化简,之后再此基础上,再基于事件触发特性、以及使得一阶导数负定的限定条件,进行实际控制律的设计。
[0099]
步骤s47,基于事件触发特性、使得一阶导数负定即的第二限定条件,设计出相应的实际控制律,以使得在故障条件下也能够完成对目标的渐近跟踪,其中:
[0100]
或其中,λi(t),i=1,...,3表示连续时变参数,其满足λi(tk)=0,λi(t
k+1
)=
±
1且|λi|≤1;δ表示预设的正参数,m1表示相对阈值控制输入增益。
[0101]
具体的,在所设计出的实际控制律能够使得时,则说明当前所提出的事件触发机制仍能使系统实现渐近稳定。在其中一个实施例中,还可以利用拉格朗日中值定理,验证事件触发机制能够避免芝诺现象,以保证控制精准度。
[0102]
在其中一个实施例中,请参考图2,为了验证本技术所设计的控制器能够使系统,其各状态跟随给定的参考信号变化,将选取以下参数:m=1kg,g=9.8m/s2,以及参考信号:进行系统仿真。
[0103]
其中,通过从图2(d)中可以看出,基于事件触发的自适应容错控制可以快速准确的使无人机系统跟踪目标估计(即目标轨迹)。需要说明的是,图2(a)-图2(d)中的实线为无人机系统实际轨迹,虚线为目标轨迹。从图中可以看出,基于事件触发的自适应控制可以快速准确的使无人机系统跟踪到目标轨迹,且跟踪误差小,跟踪效果很好。从下述表1可以看出,触发方式为切换阈值事件触发机制相比于传统时间触发机制,可以大大的减少触发次数,由此能保证无人机多故障同时发生时的精确跟踪控制,还能有效减少控制次数,节约通信资源。
[0104]
表1触发次数对比
[0105]
触发方式触发次数传统时间触发10000切换阈值事件触发326
[0106]
请参考图3,其为本技术公开的一种四旋翼无人机故障容错控制器的设计系统300,该系统300包括运动模型构建模块301、阈值设定模块302、控制输入调整模块303以及
反步递推设计模块304,其中:
[0107]
所述运动模型构建模块301,用于在考虑故障对转子产生影响的情况下,结合故障分布情况以及无人机的转子转速,构建用于反映无人机飞行状况的目标运动模型。
[0108]
所述阈值设定模块302,用于设定随模型的控制输入变化而同步发生变化的相对阈值、以及固定阈值。
[0109]
所述控制输入调整模块303,用于结合事件触发特性,通过所述相对阈值、以及所述固定阈值调整模型的控制输入,以使得无人机的飞行轨迹趋近于预设的目标飞行轨迹。
[0110]
所述反步递推设计模块304,用于调整过程中,采用反步法递推设计出相应的虚拟控制律以及实际控制律,以使得模型趋近渐近稳定。
[0111]
在其中一个实施例中,该系统中的各个模块还用于实现实施例的任一可选的实现方式中的方法,当前实施例中不做过多说明。
[0112]
由上可知,本技术公开的一种四旋翼无人机故障容错控制器的设计系统,考虑了故障对转子的影响,通过故障参数对故障进行模拟,且采用综合相对阈值控制、以及固定阈值控制的事件触发机制,相比于传统的控制方式,能最大程度的减少事件触发次数,在保证控制效果的同时,还能够节约通信资源。在保证事件触发机制的情况下,采用反步法递推设计出相应的虚拟控制律以及实际控制律,能够使系统实现渐近稳定,保证四旋翼无人机多故障同时发生时的精确跟踪控制。
[0113]
本技术实施例提供一种可读存储介质,所述计算机程序被处理器执行时,执行上述实施例的任一可选的实现方式中的方法。其中,存储介质可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(static random access memory,简称sram),电可擦除可编程只读存储器(electrically erasable programmable read-only memory,简称eeprom),可擦除可编程只读存储器(erasable programmable read only memory,简称eprom),可编程只读存储器(programmable red-only memory,简称prom),只读存储器(read-only memory,简称rom),磁存储器,快闪存储器,磁盘或光盘。
[0114]
上述可读存储介质,考虑了故障对转子的影响,通过故障参数对故障进行模拟,且采用综合相对阈值控制、以及固定阈值控制的事件触发机制,相比于传统的控制方式,能最大程度的减少事件触发次数,在保证控制效果的同时,还能够节约通信资源。在保证事件触发机制的情况下,采用反步法递推设计出相应的虚拟控制律以及实际控制律,能够使系统实现渐近稳定,保证四旋翼无人机多故障同时发生时的精确跟踪控制。
[0115]
在本技术所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0116]
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0117]
再者,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
[0118]
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
[0119]
以上所述仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1