1. 课程导入与AUV建模全景
自主水下航行器(Autonomous Underwater Vehicle,AUV)在海洋测绘、管线巡检、环境监测等任务中,需要在没有外部实时干预的条件下自主完成姿态保持、航向跟踪与轨迹跟踪。控制器之所以能“知道”该给推进器多少推力、该偏转多少舵角,前提是它内部有一个能够描述载体运动的数学模型。六自由度动力学模型正是这个模型的核心:它把AUV在三维空间中的平移与转动统一到一组微分方程中,回答“在当前推力、舵角、水动力与外界扰动共同作用下,载体下一时刻的位置、姿态和速度会怎样变化”。
从工程位置上看,六自由度模型处在设计、控制与仿真三条主线的交汇处。在总体设计阶段,模型用于评估推进功率、舵面积、稳心高度是否满足机动性指标;在控制设计阶段,模型是LQR、滑模、模型预测控制等算法的被控对象,也是观测器与状态估计器的先验;在仿真与试验阶段,模型用于离线验证任务规划、故障注入与参数敏感性分析,减少昂贵的水池与湖海试验次数。可以说,没有可信的六自由度模型,控制器的性能评估就缺乏可复现的基准。
本课程采用的建模路线遵循“物理对象→坐标系与运动学→受力分析→动力学方程→参数辨识→仿真验证”的完整链条。第一步明确AUV的几何外形、质量分布、推进与操纵面布局;第二步建立惯性坐标系与载体坐标系,并约定姿态角、速度分量的正方向;第三步把重力与浮力、水动力、推进力、环境扰动力逐项写出;第四步依据牛顿—欧拉方程组装六自由度动力学方程;第五步通过经验公式、CFD或试验数据确定水动力系数;第六步在仿真环境中施加典型工况,检查响应是否与物理直觉和试验趋势一致。这条链条中任何一环的符号约定或量纲出错,都会在后续环节被放大,因此课程会在每一环都强调约定的一致性与可检查性。
为了让后续章节的推导有明确的对象依托,课程设定一个教学示例AUV:鱼雷型回转体,长1.8 m、直径0.2 m,质量约45 kg,采用微正浮力配置,尾部单螺旋桨推进,艉部十字舵提供俯仰与偏航操纵,搭载IMU、深度计与DVL。上述几何与质量参数属于为教学而设定的合理假设,并非某一型号的实测数据;在参数辨识章节中,我们会说明如何用经验公式估算附加质量与阻尼系数,并指出哪些系数必须依靠约束模型试验或CFD才能可靠获得。
坐标系约定是整门课程的第一条“纪律”。课程统一采用右手惯性坐标系 \(O_e\)(北—东—地,或工程中常用的x向前、y向右、z向下)与载体坐标系 \(O_b\)(原点取在载体重心,x轴指向艏部,y轴指向右舷,z轴指向下方)。姿态角按Z-Y-X顺序定义为艏向角ψ、纵倾角θ、横滚角φ,速度分量记为u、v、w与p、q、r。所有受力、力矩与运动方程都在这两套坐标系下表达,图示与公式中的正方向必须一致;一旦某章需要切换到“z轴向上”的表述,会显式说明并给出换算关系,避免读者在符号上产生混淆。
工具链方面,课程不依赖商业软件即可完成全部核心推导:用Python与NumPy把六自由度方程写成可读的函数,用SciPy的solve_ivp做定步长或变步长积分,用Matplotlib绘制轨迹、姿态角与速度响应;若读者所在团队使用Simulink,也可将同一组方程封装为S-Function或状态空间模块。关键在于方程本身与参数表保持单一来源,仿真脚本只负责调用,而不是在脚本里重复硬编码系数。
本课程后续将沿着这条建模链条逐环展开:先建立运动学关系,再逐项分析重力浮力、水动力与推进力,随后组装六自由度方程,最后进入参数辨识与典型工况仿真。读者在完成全部章节后,应能独立为一个给定外形与推进布局的AUV写出可运行的六自由度模型,并能判断仿真响应是否合理。