每年这个时候,准备投大疆控制算法岗的同学都会进入一段紧张的笔试复习期。我见过不少理论底子不错的人,在笔试里栽跟头,不是不会推导,而是不清楚大疆这类做飞行器、云台、机器人的公司,到底想从一张卷子里看出什么。有人把精力全放在倒推复杂公式上,忽略了最基本的量纲和离散化;也有人背了一堆结论,遇到“电机转速到机身角速度”这种工程建模题,完全不知道怎么下手。
这篇文章不打算复述某一套具体试卷,也不做任何押题。我更想和你拆解一下,大疆控制算法笔试背后真正在考察的能力结构,以及准备这类笔试时应该建立的认知框架。你会发现,它考的绝不是单一的控制理论,而是一套从物理建模、算法设计到工程实现的完整链路。
1. 先搞清楚大疆笔试到底在筛选什么样的能力
1.1 这不是一场纯数学考试,而是一场工程抽象能力考试
控制算法岗位的笔试,表面看是在考经典控制理论和现代控制理论,比如PID参数整定、李雅普诺夫稳定性、能控能观性、LQR设计。但如果你只把它当成数学考试去准备,会漏掉一个关键信息:大疆的场景是无人机、手持云台、车载机器人、电机驱动系统。这意味着所有理论题都默认带上了一个物理背景。
举个很常见的例子。题目可能是一个简化的无人机悬停模型,给你电机推力系数、转动惯量、重力加速度、控制周期,要求设计高度控制器。很多人第一反应是套用课本上的PID公式,却忽略了电机响应延迟和执行器饱和这两个约束。在笔试答案里,如果你没有把这两个工程因素写进控制器的讨论里,哪怕公式推导得很漂亮,也很难拿到高分。
大疆笔试筛选的,本质上是能把物理系统翻译成数学模型、再把数学模型翻译成可执行控制逻辑的人。这个能力翻译过来就是:你会不会做工程抽象。
1.2 笔试题目背后隐藏的四个考察维度
我把常见的大疆控制算法笔试考察点拆成了四个维度,你可以对照自测:
- 理论功底:传递函数、状态空间、稳定性判据、频域分析、根轨迹、离散系统,这些基础不会绕过。
- 建模能力:给定一个物理系统,能不能简化成可用的数学模型。比如四旋翼的力与力矩模型、云台的摩擦模型、麦克纳姆轮底盘的运动学模型。
- 算法设计:给定一个任务,选择合适的控制策略。姿态控制用PID还是ADRC?路径跟踪用纯跟踪、Stanley还是MPC?不同方案在计算量、鲁棒性上的取舍是什么?
- 工程素养:采样周期怎么选?离散化用什么方法?传感器延迟怎么补偿?执行器饱和怎么处理?这部分的权重往往被低估,但实际笔试中出现的频率极高。
这四个维度不是孤立的。最理想的答题状态,是在做每一道题时,都能让阅卷人看出你不只是会这个知识点的表面,而是知道它在真实系统中怎么用、受什么限制、应该注意什么边界。
2. 核心算法考点拆解:从PID到MPC,每个算法考的不是名字
大疆笔试里出现的控制算法,几乎都集中在热搜词里:PID、模糊PID、LQR、ADRC、Stanley、预测控制,还有机械臂和电机控制领域常见的PID变种。但这些算法其实不是同一个层级的。你需要按“基础层、状态空间层、自抗扰层、轨迹跟踪层”来分类理解,才能摸清考点。
2.1 PID及其变体:笔试的高频地基,但总有细节坑
PID绝对是笔试中最高频的考点。常见题目包括:
- 写出位置式PID和增量式PID的离散表达式。
- 分析积分饱和产生的原因,给出抗积分饱和方案。
- 说明微分项对噪声的影响,以及如何通过低通滤波改善。
- 给定阶跃响应曲线,判断当前是超调大还是振荡频率高,并给出调参方向。
如果你以为把公式写出来就够了,那会错过一个重要的分水岭:大疆笔试里的PID,一定是放在某个实物系统里的。
例如,姿态控制通常也是内外环结构。内环是角速度环,外环是角度环。角速度环通常更快,控制周期可以到1kHz甚至更高;角度环相对较慢,控制周期可能是200Hz或500Hz。笔试里如果给出这个结构,很可能让你分析“为什么外环增益不能过大”或者“哪个环先调节”。
这里有一个经常被问到的工程细节:为什么纯微分项在无人机里很少直接使用?因为无人机姿态测量来自IMU,角速度本身已经可以由陀螺仪直接测量,而角度是积分得到的。如果对角度做微分得到角速度,相当于引入了一个噪声放大器,还会带来相位滞后。所以实际代码里,外环通常直接用比例控制,内环用PD控制,微分项取的是陀螺仪角速度而不是角度差分。
增量式PID在大疆电机控制和云台控制中比较常见。增量式PID的输出是控制量增量,不容易产生大幅积分饱和,且切换手动/自动控制时冲击较小。笔试里如果让你对比位置式和增量式的区别,可以围绕“执行器保持特性、积分饱和风险、输出限幅方式”来回答。
2.2 LQR与状态空间:考的是建模能力和权重矩阵理解
LQR在大疆笔试里属于中高频考点。如果你投的是飞控、云台或机器人控制方向,那么“状态空间建模 + LQR设计”几乎是必修。
常见考法有两种。
第一种是给你一个简化系统,比如单摆、小车或四旋翼的俯仰通道,要求建立状态空间方程,然后设计LQR控制器。这里的核心是检验建模能力。你需要明确状态变量是什么、输入是什么、输出是什么,并处理线性化问题。
第二种是直接问LQR的权重矩阵Q和R如何选择。这题考察的是理解深度,而不是计算能力。Q权重越大,表示你越在意对应状态快速收敛;R权重越大,表示你越不希望控制量过大。但笔试中真正值得展开的是:Q和R的选择本质上是性能和功耗/执行器寿命之间的权衡,没有绝对最优,只能根据任务需求调节。
还有一类容易被忽略的问题:LQR是基于线性模型的,如果系统有强非线性怎么办?答案通常是做反馈线性化或在工作点附近线性化,然后用LQR设计局部控制器。大疆笔试里如果涉及这类题目,很可能期待你写出“先线性化,再局部LQR,同时说明适用工作范围”的思路。
2.3 ADRC与自抗扰控制:热门但不适合当作万能答案
自抗扰控制(ADRC)在热搜词里出现了,并且在机器人控制、电机控制领域讨论度很高。大疆笔试也可能涉及ADRC,尤其是云台增稳和电机扰动抑制场景。
ADRC的核心思想很清晰:把未建模动态和外部扰动都视为总扰动,通过扩张状态观测器(ESO)估计出来,然后在控制律中补偿掉。这样的好处是不需要精确建模,对参数变化和外部扰动有更强的鲁棒性。
笔试里如果考ADRC,通常不会让你推导完整的ESO方程,更可能的是让你用文字说明ADRC的组成结构,或者对比ADRC和PID的区别。回答时可以抓住三个环节:跟踪微分器安排过渡过程、扩张状态观测器估计扰动、非线性反馈控制率抑制扰动。
但我要提醒一点:ADRC不是银弹。它引入了额外的观测器带宽、控制器带宽等多个参数,参数整定比PID更复杂,而且对传感器噪声更敏感。如果笔试题没有明确提示“系统存在强扰动且模型难以精确获取”,不要动不动就回答ADRC。一个更稳妥的答题策略是:先说明对象特性,再解释为什么选择ADRC,最后指出它比PID多解决什么问题。
2.4 Stanley、纯跟踪与MPC:路径跟踪方向的分层考察
大疆的机器人业务、车载平台以及部分无人机航线控制,会涉及路径跟踪算法。常见的有纯跟踪(Pure Pursuit)、Stanley方法和模型预测控制(MPC)。
Stanley算法是前轮位置跟踪的经典方法,核心思想是将横向误差和航向误差结合起来,计算前轮转角。它比纯跟踪更适合高速和平滑性要求较高的场景。笔试里的常见问法有:“Stanley算法的控制律是什么?”“当横向误差较大时,控制效果会怎样?”“为什么Stanley在倒车场景下需要特殊处理?”
MPC则是预测控制里热度最高的一个。大疆如果考MPC,通常不会要你手动推二次规划求解过程,更可能考察你对三个基本环节的理解:预测模型、滚动优化、反馈校正。以及它相对于PID的核心优势——能够处理约束,比如电机转速上限、控制量变化率限制、障碍物避让等。
但MPC也有明显短板:计算量大、依赖模型准确性、调参维度多。笔试里如果让你对比MPC和PID,正确的回答方向不是“MPC一定更好”,而是“MPC在约束优化场景下更有优势,但在模型误差大、算力受限的场景下,PID加前馈往往是更务实的选择”。
3. 从公式到笔试:把控制理论变成解题能力的三个步骤
知识清单背得再熟,如果不会解题,笔试依然会卡住。这一章我给出一个建议的复习方法和答题框架,帮助你把零散的控制理论整理成可输出的解题能力。
3.1 第一步:建立“物理-模型-离散化”的翻译能力
笔试里最常见的失分点,不是不会公式,而是不会把题目里的物理描述翻译成数学表达式。
比如题目说:“无人机在悬停状态下,电机转速增加,升力增加,机身产生俯仰力矩。”你要能迅速写出简化方程:
俯仰角加速度 ≈ 俯仰力矩 / 绕Y轴转动惯量 俯仰力矩 ≈ 升力差 × 力臂再进一步,如果考虑电机响应是一个一阶惯性环节:
电机转速响应 = K / (τ·s + 1)那么这个环节的带宽就会限制整个控制环的带宽,进而决定你P增益可以调多大。
我建议你找一份经典四旋翼飞控的简化模型,用纸笔走一遍整个链路:遥控杆量 -> 期望姿态角 -> 角度环P控制器 -> 期望角速度 -> 角速度环PID -> 期望力矩 -> 电机混控 -> 电机转速 -> 升力和力矩 -> 机身角加速度 -> 角速度积分 -> 角度积分。每一步都写清楚输入是什么、输出是什么、用什么公式连接。这个练习做完,笔试里的建模题基本能稳住了。
3.2 第二步:掌握离散化和数字实现的几种固定套路
现代控制算法全部跑在MCU或嵌入式处理器上,所以笔试一定会涉及离散化。
最简单的是一阶后向差分:
s ≈ (1 - z^-1) / T更常用的双线性变换(Tustin):
s ≈ (2/T) · (1 - z^-1) / (1 + z^-1)笔试中如果让你把连续PID变成离散PID,通常是两种形式。位置式:
u[k] = Kp·e[k] + Ki·T·Σe[i] + Kd·(e[k] - e[k-1]) / T增量式:
Δu[k] = Kp·(e[k] - e[k-1]) + Ki·T·e[k] + Kd·(e[k] - 2e[k-1] + e[k-2]) / T这两个公式是基础中的基础。但笔试里真正能拉开差距的,是你能不能写出带低通滤波的微分项,以及带积分限幅的PID。比如微分项经过一阶低通:
D(z) = Kd·(1 - z^-1) / (T + Tf·(1 - z^-1))这样写,阅卷人会知道你处理过真实系统里的噪声问题。
3.3 第三步:形成自己的笔试答题框架,而不是零散知识点
笔试答题最忌“挤牙膏”。我建议你形成一套固定的答题展开结构,无论遇到什么题都按这个顺序输出:
- 明确控制目标:是抗扰、跟踪、还是约束优化?
- 建立简化模型:写出对象模型,说明假设条件。
- 选择控制策略:说明为什么选这个方法,比什么方法好在哪。
- 设计控制器:写出核心公式或流程。
- 分析稳定性与鲁棒性:收敛条件、增益边界、扰动抑制能力。
- 说明数字化实现:采样周期、离散化方法、限幅、抗饱和、滤波。
- 给出验证方法:仿真、频响、阶跃响应、半物理试验。
这套框架用熟之后,你会发现很多题只是换了个物理场景,答题的骨架是一样的。你输出的不是某个知识点的碎片,而是一套完整的控制方案,这正是大疆技术面试官在笔试里最想看到的思维方式。
4. 笔试中的常见陷阱与排查链路
4.1 高频失分点清单
根据我和不少参加过类似笔试的同学交流的经验,失分通常不在难题,而在基础题的细节上:
| 失分点 | 典型表现 | 避免方式 |
|---|---|---|
| 量纲错误 | 把角度和弧度混用,把电流和力矩混用 | 做题时先统一单位,写清楚每一步的量纲 |
| 符号混乱 | 状态变量、控制量、扰动量的符号不区分 | 答题前先定义符号表 |
| 离散化方法不当 | 直接用连续域结论推导数字控制器 | 明确写出采用哪种离散化方法,并说明原因 |
| 忽略执行器饱和 | 算出无限大的控制量 | 在控制器设计中加入限幅和抗饱和策略 |
| 忽略传感器延迟 | 把传感器数据当成理想值 | 分析延迟对相位裕度的影响,必要时写预估/补偿 |
| 滤波滞后估计不足 | 认为滤波不影响控制质量 | 在带宽设计中留出滤波器带来的相位裕度余量 |
4.2 一套可复用的题目排查链路
遇到一道不会的题,按下面顺序排查:
- 先看问题是什么:是设计类、推导类,还是分析类。
- 再看物理场景:控制对象是飞行器、云台、车辆还是电机?运动是平面还是三维?
- 再看约束条件:有没有写控制周期、延迟、限幅、模型不确定性?
- 选择合适的工具:低维线性系统可以走经典控制;MIMO线性系统可以走状态空间+LQR;带约束的系统可以考虑MPC;强扰动且难建模的系统考虑ADRC或扰动观测器。
- 写方案时先给框架,再补细节:不要一上来就埋头推公式,先把结构写清楚。
- 完成后回查:控制量有没有超过程度限制?有没有考虑离散化误差?有没有考虑传感器噪声?
这个排查链路不只是笔试用,进到公司做真实工程项目时,排查逻辑也是一样的:先理清现象,再检查输入,再检查模型,再检查算法实现,最后检查执行端反馈。
5. 准备路线与时间安排:从新手到进阶
如果你现在准备时间有限,我建议按下面的优先级来复习。
5.1 两周快速冲刺方案
第一周重点打地基:
- 经典控制理论:传递函数、PID、频域分析、稳定性裕度。
- 状态空间法:建模、能控能观性、状态反馈、LQR。
- 离散控制:Z变换、离散化方法、采样周期选择。
第二周重点做专题:
- 无人机控制专题:姿态环、位置环、内外环结构、电机混控。
- 路径跟踪专题:纯跟踪、Stanley、MPC基本思想。
- 抗扰专题:ADRC和扰动观测器对比。
- 工程实现专题:限幅、积分饱和、低通滤波、带宽分配。
5.2 更扎实的三到四周方案
如果时间允许,加两类复习:
- 手推模型:不用任何仿真工具,手写一个四旋翼或小车模型,推导到状态空间方程。
- 真机/仿真验证:在开源飞控或仿真平台里调一次PID,记录参数变化与响应曲线变化。亲自调过的控制系统,笔试里写出来的答案会明显不一样。
5.3 复习时最容易踩的坑
- 只背公式不建模。笔试会变化的永远是场景,不变的是建模和判断能力。
- 只做计算不写分析。大疆笔试很多时候要求的是分析逻辑,而不是一个数字答案。
- 不看时间限制。笔试过程中,如果一道题超过10分钟没思路,先跳过,最后再回来。
- 忽略代码题。部分岗位可能包含简单的编程题,比如写一个PID控制器的函数实现,或者写一个状态更新函数。准备时要能快速用C++或Python写出干净的控制代码。
6. 一个可复用的笔试答题框架,以及长期成长视角
如果你从这篇文章里只带走一样东西,我希望是你对控制算法笔试这件事本身的理解发生了变化。
不要把它当成一场知识记忆测试,而要把它理解成一次“你如何面对一个真实物理系统”的预演。大疆的产品从来不是教科书里的理想模型,它们有延迟、有噪声、有饱和、有温度漂移、有装配误差。笔试考的不是你会不会背“PID公式”,而是你在工程约束下能不能设计出一个能用的控制器。
以后不管你是在学校做课题,还是进入公司做飞控、做机械臂、做自动驾驶,都可以把这个思路延伸下去:先建模,再选型,再设计,再实现,再验证。这五步是任何控制任务的公共底座。
而在这个公共底座之上,大疆招聘时看重的,一定是你有没有足够的物理直觉、数学功底和工程品味,把“能用”的东西做“可靠”。如果你现在还在复习阶段,不要急于求成。把每一个公式都问一遍“它真实的物理意义是什么”,把每一个算法都问一句“它在算力、延迟、模型误差面前还成立吗”。带着这样的思维去笔试,你的答案自然会传递出那种只有真正和系统对话过的人才有的笃定。
最后留一个建议:找一套模拟题或往年经验帖,限定时间,模拟一次完整的笔试过程。过程中记录自己卡在哪类题上、用了多少时间、在哪里开始慌乱。这个记录,比任何一份知识清单都更能帮你在真实笔试前补上最后的短板。