横向车辆动力学模型构建:Simulink的终极应用指南
发布时间: 2025-07-11 15:13:04 阅读量: 21 订阅数: 17 


七自由度车辆动力学模型与Dugoff轮胎模型:基于Simulink的仿真与实现

# 摘要
本文系统地介绍了车辆动力学模型的基础知识,并展示了如何在Simulink环境中构建和优化这些模型。从基础车辆动力学模型的方程推导,到Simulink中模型的搭建和初步验证,再到考虑悬架系统、轮胎模型的高级模型构建和实时控制系统的集成,本文详尽地探讨了整个过程。此外,本文还探讨了如何进行仿真模型的验证、优化以及参数调优,并通过案例研究展示了动力学模型在横向稳定性控制和自动驾驶系统中的实际应用。该研究为工程师提供了一套完整的工具和方法,用于构建高效准确的车辆动力学仿真模型,并指导了模型在实际工程问题中的应用。
# 关键字
车辆动力学模型;Simulink;模型优化;参数调优;稳定性控制;自动驾驶
参考资源链接:[探索横向车辆动力学的Simulink仿真模型](https://wenku.csdn.net/doc/66ew0stxdk?spm=1055.2635.3001.10343)
# 1. 车辆动力学模型基础
在现代汽车工程中,车辆动力学模型的建立是进行车辆设计、性能分析及优化的关键步骤。本章将简要介绍车辆动力学的基本概念,并为读者建立一个初步的理解框架。
## 1.1 车辆动力学的重要性
车辆动力学是研究车辆运动行为和受力状态的学科,它涉及到车辆与道路、空气的相互作用,以及车辆各个部分之间的动态关系。对于工程师来说,掌握这一领域的知识对于提升车辆的操控性能、安全性和燃油效率至关重要。
## 1.2 动力学模型的基础组成
一个基本的车辆动力学模型通常包含几个核心部分:动力源、传动系统、悬架系统、转向系统和轮胎。每一个部分都有其特定的动力学方程描述其运动规律,这些方程共同作用,决定了整车的动态响应。
## 1.3 动力学模型的数学基础
车辆动力学模型建立的基础是力学和运动学的定律,如牛顿第二定律和刚体运动学。通过设定恰当的坐标系,我们可以推导出车辆在不同行驶条件下的运动方程,为后续的分析和仿真提供数学依据。
理解了这些基础概念之后,我们可以深入到第二章Simulink环境与工具箱的介绍,开始搭建实际的车辆动力学仿真模型。
# 2. Simulink环境与工具箱介绍
在现代车辆设计中,模拟仿真技术已成为不可或缺的一环,Simulink作为一款强大的多域仿真和基于模型的设计软件,它为工程师们提供了一个直观的图形化界面来构建、分析和模拟动态系统的功能。Simulink能够与MATLAB无缝集成,方便了复杂算法的开发和数据的处理。不仅如此,Simulink还提供了一系列工具箱(Toolbox),它们针对不同领域的专业需求进行了优化,大大扩展了Simulink的功能和适用范围。
## 2.1 Simulink环境概览
Simulink的核心功能是通过图形化编程来构建系统的动态模型,并进行仿真分析。它适用于线性、非线性系统;连续时间、离散时间或混合系统;以及多速率系统。通过拖放不同类型的块(Blocks)来构建系统,并用信号线(Signal Lines)连接这些块,用户可以快速地模拟和分析复杂的动态系统。
### 2.1.1 Simulink的用户界面
Simulink的用户界面(如图2.1)被设计得直观易用,主要包含模型窗口、模型浏览器(Model Explorer)、仿真参数设置区域和库浏览器(Library Browser)等几大部分。
```mermaid
graph TD
A[Simulink 用户界面] --> B[模型窗口]
A --> C[模型浏览器]
A --> D[仿真参数设置区域]
A --> E[库浏览器]
```
*图2.1 Simulink 用户界面各部分功能*
模型窗口是构建和修改模型的主要工作区域。模型浏览器用于查看和管理模型中的所有元素。仿真参数设置区域包含了用于配置仿真的各种参数。库浏览器则提供了对所有可用Simulink模块的访问。
### 2.1.2 建模基础:Simulink块和信号
- **Simulink块**:Simulink中的块代表了模型中的各种操作,如积分、微分、乘法、除法等。这些块可以是内置的也可以是自定义的函数块。
- **信号**:Simulink中的信号代表了数据的流动,可以是标量、向量或者矩阵。
```mermaid
graph TD
A[Simulink 块和信号] --> B[内置块]
A --> C[自定义函数块]
A --> D[信号类型]
```
*图2.2 Simulink块和信号类型*
### 2.1.3 模型配置与仿真
在模型构建完毕后,仿真前需要对模型进行配置。这包括但不限于设置仿真的步长、初始条件、仿真时间和求解器类型。Simulink提供了多种求解器,如固定步长离散求解器、变步长连续求解器等,以适应不同类型的系统。
## 2.2 Simulink工具箱
Simulink工具箱是一系列具有特定功能的Simulink块和模型的集合,它们可以被用于特定领域的建模与仿真,如信号处理、控制系统、通信系统等。
### 2.2.1 工具箱的种类与功能
| 工具箱名称 | 功能描述 |
| --- | --- |
| Aerospace Blockset | 提供飞行器设计、测试与分析的模块 |
| DSP System Toolbox | 用于数字信号处理应用的块 |
| Embedded Coder | 用于生成C代码的块 |
| Powertrain Blockset | 针对动力总成系统建模与仿真的模块 |
| Vehicle Dynamics Blockset | 车辆动力学建模、仿真的模块 |
*表2.1 Simulink工具箱列表及其功能*
### 2.2.2 使用工具箱构建模型
使用Simulink工具箱可以简化特定领域模型的搭建工作。例如,对于车辆动力学的建模,可以利用Vehicle Dynamics Blockset来快速搭建所需的车辆动力学模型。
```matlab
% 示例代码:使用Simulink创建一个简单的悬架模型
open_system('vdp'); % 打开Vehicle Dynamics Blockset中的模型
set_param(gcs,'SimulationCommand','start'); % 开始仿真
```
*代码块2.1 使用Vehicle Dynamics Blockset创建模型并运行仿真*
上面的代码块展示了如何使用MATLAB命令打开Vehicle Dynamics Blockset中的预设模型,并启动仿真的过程。
Simulink工具箱是该平台的一个重要组成部分,它不仅扩展了Simulink的核心功能,而且通过特定领域的模块化降低了工程师的建模难度,提高了模型构建的效率和仿真分析的准确性。随着工具箱的发展和完善,Simulink正变得越来越能够满足日益复杂的工程需求。
# 3. 构建基础车辆动力学模型
## 3.1 车辆动力学的基本方程
### 3.1.1 运动学方程的推导
在研究车辆动力学时,运动学方程是理解车辆在空间中的运动状态的基础。为了构建准确的运动学模型,首先需要定义车辆的运动参数,比如位置、速度、加速度等,并将这些参数与时间关联起来。
运动学方程可以用来描述车辆的直线运动和转向运动,其基本形式如下:
- 直线运动方程:
\[ v = v_0 + at \]
- 转向运动方程:
\[ \theta = \omega t + \frac{1}{2} \alpha t^2 \]
其中,\( v \) 代表速度,\( v_0 \) 代表初始速度,\( a \) 代表加速度,\( t \) 表示时间,\( \theta \) 表示转角,\( \omega \) 表示角速度,\( \alpha \) 代表角加速度。
### 3.1.2 动力学方程的推导
动力学方程在运动学方程的基础上加入了力的作用,用以描述车辆在不同力的作用下如何运动。动力学的基本方程可以表示为牛顿第二定律:
\[ F = ma \]
对于车辆系统,还需要考虑轮胎与地面间的摩擦力、空气阻力、重力分量等。因此,更详细的动力学方程通常会涉及多个方向的力,例如:
- 在直线运动中:
\[ F_{total} = F_{traction} - F_{air} - F_{slope} - F_{rolling} \]
- 在转向运动中:
\[ \tau_{total} = \tau_{steering} - \tau_{friction} - \tau_{rolling} \]
其中,\( F_{total} \) 和 \( \tau_{total} \) 分别表示总的力和力矩,\( F_{traction} \) 为牵引力,\( F_{air} \) 和 \( \tau_{friction} \) 分别为与空气阻力和轮胎摩擦力相关的量,\( F_{slope} \) 和 \( \tau_{rolling} \) 分别为重力分量和滚动阻力项。
## 3.2 Simulink中模型的搭建
### 3.2.1 基于Simulink的模型组件
在Simulink中搭建车辆动力学模型,首先需要熟悉Simulink提供的各种模型组件。Simulink提供了一系列的预定义模块,可用于构建复杂的动态系统。对于车辆动力学模型,主要组件包括积分器、增益、传递函数、查找表等。具体步骤如下:
1. 打开Simulink,并创建一个新模型。
2. 利用拖放的方式,从Simulink库中选择合适的组件,如“连续”子库中的积分器模块,用于计算速度和位置。
3. 使用“信号源”库中的信号发生器模块模拟车辆的驱动输入。
4. 利用“数学运算”库中的模块进行基本的加减乘除运算。
5. 为了模拟复杂的车辆动态行为,可能还需要使用“非线性”模块库中的查找表等高级模块。
### 3.2.2 模型参数化与仿真设置
在搭建了基础模型框架后,需要对模型进行参数化,并设置仿真环境,以便模拟真实车辆行为。以下是设置模型参数和仿真的一些关键步骤:
1. 双击积分器组件,输入初始条件,如初始速度和位置。
2. 为模型中的每个增益模块设定适当的参数值,这些值来自车辆动力学的理论计算。
3. 在仿真参数设置中,选择合适的求解器和仿真时间步长,通常选择固定步长求解器以保证仿真的准确性。
4. 运行仿真,并记录输出数据,例如车辆的位置、速度、加速度等。
## 3.3 模型的初步验证
### 3.3.1 静态性能分析
为了验证模型的静态性能,首先需要分析模型在静态条件下的表现,即在车辆受到恒定力作用下,系统的响应。静态性能分析一般包括:
- 速度-时间图表,用于验证是否达到了预期的速度。
- 位移-时间图表,用以检查车辆是否按照预期路径移动。
通过对比理论计算和模拟结果,可以评估模型的静态性能是否满足要求。
### 3.3.2 动态响应测试
动态响应测试是在模型中应用动态输入,如加速、制动或转向输入,以评估模型对动态变化的响应能力。进行动态响应测试时,应该关注以下方面:
- 车辆在动态输入下的瞬态响应,如超调量和调整时间。
- 稳态误差,确定模型是否能准确跟踪期望的输入。
- 频域分析,通过傅里叶变换和伯德图评估模型的频率特性。
要完成这些测试,可以利用Simulink的可视化工具,如示波器模块,来实时监测和记录输出数据。
为了进一步提高模型的准确性和预测能力,可以使用车辆的实验数据与仿真结果进行比较,并根据比较结果调整模型参数,直到达到满意的验证水平。
# 4. 车辆动力学高级模型构建
在第三章中,我们已经完成了基础车辆动力学模型的构建,并进行了初步验证。本章将进一步拓展模型的复杂度,讨论考虑悬架系统和轮胎动力学特性的高级模型构建,以及实时控制系统的集成。随着模型复杂性的提高,仿真精度和实用性也随之增加,为满足更专业的需求打下坚实基础。
## 4.1 考虑悬架系统的模型扩展
### 4.1.1 悬架系统动力学模型
悬架系统在车辆动力学中扮演着至关重要的角色。它不仅决定了车辆与地面接触的轮胎载荷分配,还直接影响车辆的乘坐舒适性和操纵稳定性。一个准确的悬架系统动力学模型需要考虑如下因素:
- 车辆的重量分配
- 轮胎与路面接触点的运动学关系
- 悬架刚度和阻尼特性
- 非线性因素,如轮胎弹性变形
为了建立这样的模型,我们可以采用多体动力学仿真软件,如ADAMS Car,通过软件内建的工具库来搭建悬架系统模型,并对其动态特性进行仿真。
### 4.1.2 悬架模型与整车模型的集成
悬架模型的集成需要确保车辆动力学模型中各组件之间的相互作用能够准确反映。我们使用Simulink工具箱来实现这一集成过程。首先,需要从悬架动力学模型中提取出关键的输入和输出参数,例如轮载、轮胎力、悬架动行程等。然后,在Simulink中定义这些参数的信号流程,并将其与整车模型中的对应部分连接。
在模型集成时,还需要考虑信号处理的同步性和实时性,例如使用Simulink中的Rate Transition模块来处理不同采样率之间的转换问题。以下是一个简化的示例代码块,展示如何在Simulink中实现悬架模型的参数输入和输出处理:
```matlab
% 定义悬架模型输入输出参数
input_port = Simulink.MLModelRoot('input_port', true);
output_port = Simulink.MLModelRoot('output_port', true);
% 模拟悬架模型的运动学和动力学特性
% 使用MATLAB Function模块来调用悬架系统的数学模型
% 配置模型的参数
% 这里可以定义悬架的刚度系数、阻尼系数等
% 信号处理,例如使用Rate Transition模块处理同步问题
```
在模型集成后,进行集成系统的仿真验证是必不可少的步骤。需要检查整车模型与悬架模型集成后是否能够准确反映实际物理行为,尤其是对于车辆的操控性和稳定性。
## 4.2 轮胎模型的详细分析与仿真
### 4.2.1 轮胎动力学特性
轮胎是车辆动力学中最复杂的部分之一。轮胎动力学特性包括了轮胎的静态和动态特性,例如滚动阻力、侧偏特性、轮胎刚度等。轮胎模型的精确度对于车辆动力学模型的准确性至关重要。
轮胎模型的选择需要根据实际应用需求和仿真精度要求进行权衡。简单的轮胎模型如魔术公式模型(Magic Formula),可以提供快速而可靠的仿真结果。更复杂的模型如有限元模型(FEM)则能够提供更细致的轮胎动态行为模拟。
### 4.2.2 轮胎模型的选择与配置
轮胎模型的选择需要根据不同的仿真需求和精度要求。例如,对于稳态转向的仿真,可能只需要一个简化的轮胎模型。而对于更高级的操控稳定性分析,则可能需要一个更复杂的模型来捕捉轮胎的动态特性。在Simulink中集成轮胎模型可以通过MATLAB Function模块来实现。例如:
```matlab
% 定义轮胎模型的输入输出参数
% 使用预定义的轮胎模型函数
function [Fx, Fy] = TireModel(Fz, alpha, vx, omega)
% Fz为垂直载荷,alpha为侧偏角,vx为车辆速度,omega为轮胎自转速度
% 魔术公式轮胎模型实现
% 这里省略了具体实现细节
end
% 在Simulink中调用轮胎模型
```
轮胎模型的配置要和整车模型同步,确保物理量的单位一致性和仿真运行的稳定性。轮胎模型参数的调整需要依靠试验数据进行验证和调整。
## 4.3 实时控制系统的集成
### 4.3.1 实时控制系统的概述
在现代汽车动力学仿真中,实时控制系统的集成对于验证控制策略的可行性至关重要。实时控制系统能够模拟在真实环境中车辆的动力学响应,为开发者提供一个接近实际的测试平台。
实时控制系统的集成要求具备高度的模块化,以方便与动力学模型的集成。通过Simulink,可以创建一个控制算法的框架,然后与动力学模型进行交互。
### 4.3.2 实时控制策略的设计与仿真
设计实时控制策略首先需要建立控制目标,例如车辆的稳定性控制、牵引力控制等。然后,根据控制目标来设计算法,这可能包括PID控制器、模糊控制器、滑模控制器等。在Simulink中,这些控制算法可以直接通过内置的模块实现,或者使用MATLAB Function模块来编写自定义算法。
控制策略的仿真实现,需要将控制算法模型与动力学模型连接,并通过实时模拟来测试其性能。仿真可以揭示控制策略在不同工况下的表现,包括极限情况下的性能。
以下是一个控制算法的简单实现示例:
```matlab
% 定义控制器的输入输出参数
% 使用Simulink内置的PID模块或MATLAB Function模块来实现控制算法
% 控制算法的实现
function control_output = ControlStrategy(measurement_input, setpoint)
% measurement_input为实际测量值,setpoint为目标设定值
% 控制器参数的设定
% 计算控制输出
% 这里省略了具体实现细节
end
% 将控制算法集成到整车模型中
```
在控制策略设计完成之后,进行仿真实验验证其性能是非常关键的步骤。仿真实验需要模拟各种驾驶场景,如紧急避障、车辆稳定性控制等,以确保控制策略在所有预期的工况下都能够正常工作。
通过以上各节内容的详细探讨,本章介绍的高级车辆动力学模型构建,展示了悬架系统、轮胎模型的深化分析,以及实时控制系统集成的高级实践。这些内容不仅为读者提供了深入理解车辆动力学的途径,也为其提供了将理论应用到实际仿真的方法。随着我们继续深入探讨车辆动力学模型的优化与参数调优,我们会进一步加深对这些模型的理解,并在仿真中实现更精细的性能提升。
# 5. 模型优化与参数调优
## 5.1 仿真模型的验证与优化
### 5.1.1 验证方法与工具
在车辆动力学仿真模型开发的生命周期中,验证和优化是关键环节。验证是确保模型正确反映了物理现实的过程,而优化则是提高模型性能和精度的手段。验证仿真模型通常使用实验数据、理论分析和经验公式作为参照标准。工具方面,MATLAB提供了强大的仿真验证工具,如Simulink Verification and Validation工具箱,可以用于捕捉和分析模型中的设计错误和不一致性。该工具支持模型覆盖率分析,确保在不同条件下模型均能正常工作。
代码块示例:
```matlab
% 示例代码:使用Simulink Verification and Validation工具箱的覆盖率分析功能
simулink Veronica setup % 设定覆盖率分析选项
simулink Veronica Coverage Report % 生成覆盖率报告
```
参数说明与逻辑分析:
在上面的代码块中,我们使用了两个命令行函数。`simulink Veronica setup` 是设置覆盖率分析选项的命令,它允许我们自定义哪些测试用例和数据需要被分析。`simulink Veronica Coverage Report` 是生成覆盖率报告的命令,它根据预设的选项来分析模型,然后提供一个详细报告,其中包含了代码的哪些部分已经执行,哪些没有执行,以及哪些可能存在的问题。
### 5.1.2 模型优化的策略
模型优化可以通过多种策略来实现,包括参数化、自适应建模和算法优化等。在模型参数化中,关键参数被抽象出来,以使得模型更加灵活。自适应建模通过使用机器学习技术,让模型根据实车数据自我调整。算法优化包括使用更高效的数值算法和减少计算步骤来提高仿真速度。
代码块示例:
```matlab
% 示例代码:使用遗传算法进行参数优化
options = optimoptions('ga','PopulationSize',100,'MaxGenerations',100,'PlotFcn',@gaplotbestf);
% 设置遗传算法选项
[x,fval] = ga(@fitnessfun,nvars,options); % 运行遗传算法
```
参数说明与逻辑分析:
这里使用MATLAB内置的遗传算法函数`ga`来对某个函数`fitnessfun`进行优化,目标是找到使得函数值最小的参数`x`。`nvars`变量表示参数的维度,而`options`结构体中定义了遗传算法运行时的各种选项。运行后,我们得到了一个优化后的参数向量`x`和该向量对应的函数最小值`fval`。遗传算法非常适合处理多峰和非线性的优化问题,非常适合于复杂的车辆动力学模型参数优化。
## 5.2 参数调优的理论与实践
### 5.2.1 参数调优的方法论
参数调优是调整模型参数以达到特定性能指标的过程。它包括敏感性分析、优化算法选择和性能评估。敏感性分析用于识别对系统性能影响最大的参数。优化算法如遗传算法、粒子群优化和梯度下降法可以用于自动找到最佳参数。性能评估通常涉及到模型预测值与实际测试数据的对比。
### 5.2.2 参数调优的应用实例
以调整悬架系统中的阻尼系数为例。首先进行敏感性分析,确定哪些阻尼系数对车辆响应最为敏感。随后,选择梯度下降法作为优化算法,通过迭代计算来不断调整阻尼系数值。每次迭代,计算模型输出与期望输出之间的差距,并根据这个差距调整阻尼系数,直到差距最小化。
代码块示例:
```matlab
% 示例代码:使用梯度下降法进行阻尼系数的参数调优
initial_guess = [0.5, 0.5]; % 初始猜测的阻尼系数值
options = optimset('Display','iter','TolFun',1e-6);
[damping_coeff, fval] = fminunc(@cost_func, initial_guess, options);
```
参数说明与逻辑分析:
此代码块中,我们利用MATLAB的`fminunc`函数实现了无约束优化问题的求解。`initial_guess`数组给出了阻尼系数的初始值,而`options`结构体定义了优化过程中的一些选项,如显示每次迭代的结果和设置函数的容差。`cost_func`是我们定义的一个成本函数,它返回了阻尼系数给定情况下与期望输出的差距。通过`fminunc`函数的运行,我们得到了一组最小化成本函数值的阻尼系数`damping_coeff`和该值对应的函数值`fval`。
通过这些方法和具体的应用实例,模型优化与参数调优部分不仅在理论上进行了深入探讨,也在实际操作中提供了可靠的指导。对于IT专业人士来说,这些知识和技能是他们进行仿真模型优化和性能提升的重要工具。
# 6. 案例研究与实际应用
## 6.1 横向稳定性控制的案例分析
### 6.1.1 稳定性控制策略的设计
在设计横向稳定性控制策略时,首要的任务是理解车辆在各种行驶条件下的动态响应。稳定性控制系统通常通过监测车辆的转向角度、车速、横摆角速度、侧向加速度等参数来评估车辆的稳定性状态。
在Simulink环境中,可以通过设置模块来模拟这些传感器信号。例如,使用“Lookup Table”模块来模拟侧向加速度与车速的关系,或者使用“MATLAB Function”模块来实现复杂的控制算法。
稳定性控制策略的核心在于调节制动力分配,或通过主动转向系统介入,以提高车辆的稳定性。在Simulink模型中,这可以通过修改轮胎模型的力输出来实现。例如,可以创建一个模块来计算理想制动力分配,并与实际制动力分配进行比较,差值用于指导制动系统进行干预。
### 6.1.2 策略效果的仿真验证
在策略设计完成后,需要通过仿真验证其有效性。Simulink提供了一个集成的仿真环境,可以在此环境下对稳定性控制策略进行测试。
仿真测试通常包括一系列的标准驾驶工况,比如紧急避障、高速转向和路面附着条件变化等。可以使用“Signal Builder”模块来设计这些工况下的输入信号。
为了衡量控制策略的有效性,可以设置性能指标,如车辆响应时间、侧滑距离和恢复至稳定状态的时间等。通过“Scope”和“Display”模块可以直观地观察和记录这些性能指标。
```matlab
% 示例:设置仿真时间和性能评估函数
simTime = 10; % 仿真时间10秒
performance = evaluateStabilityControl策略(仿真结果);
```
## 6.2 车辆动力学模型在自动驾驶中的应用
### 6.2.1 自动驾驶系统概述
自动驾驶系统是一个高度复杂的技术领域,它涉及到多个子系统的集成,包括感知系统、决策系统和控制系统。其中,车辆动力学模型是控制系统设计中的核心组件,用于预测车辆在不同操作条件下的行为。
在自动驾驶应用中,车辆动力学模型不仅要精确,还要实时性强,以保证算法的快速响应。例如,基于车辆动力学模型的预测控制算法可以用来优化车辆的轨迹跟踪性能。
### 6.2.2 动力学模型在自动驾驶中的角色
车辆动力学模型在自动驾驶中的作用是多方面的。首先,它可以用于离线的算法开发和验证。开发人员可以在模型上测试和优化控制算法,而无需进行实际的车辆测试,这样可以节省大量时间和成本。
其次,车辆动力学模型还可以用于实时的车辆控制。在自动驾驶汽车中,模型预测控制(MPC)经常用于生成平滑且安全的控制指令。MPC利用车辆动力学模型来预测未来一段时间内的车辆状态,并通过优化算法计算出最优控制动作。
为了实现这些应用,车辆动力学模型需要与自动驾驶软件栈紧密集成。在Simulink环境中,可以通过设置接口与外部软件进行数据交换,例如使用“To Workspace”模块将仿真数据输出到MATLAB工作空间,供其他控制算法使用。
```matlab
% 示例:集成动力学模型和MPC控制算法
% 1. 导入动力学模型
dynamicsModel = load('vehicleDynamicsModel.mat');
% 2. 设置MPC控制器参数
mpcController = createMPC(dynamicsModel, 控制参数);
% 3. 运行MPC控制循环
for t = 1:simTime
currentMeasurement = getVehicleMeasurements();
controlCommand = mpcController(currentMeasurement);
sendControlCommand(controlCommand);
end
```
通过这些方法,车辆动力学模型成为自动驾驶系统的关键,确保了车辆在各种驾驶条件下的性能和安全。
0
0
相关推荐







