先记住一句话
可控性由 (A,B) 决定 actuator reach,可观性由 (A,C) 决定 sensor information;它们首先是系统结构与布置问题。
1. 同一个 A/B/C/D 图
xₖ₊₁=Axₖ+Buₖ, yₖ=Cxₖ+Duₖ若 state 是 [position, velocity],encoder 的 C 可能只选 position;但随时间的 position sequence 仍包含 velocity 信息。可观性不是问“一帧 sensor 是否量到全部 state”,而是问一段输入已知的输出 history 能否恢复 state。
2. Controllability matrix
𝒞=[B, AB, A²B, …, Aⁿ⁻¹B]若 rank(𝒞)=n,有限时间内可用 input 把任意 state 移到任意目标。B 是立即作用,AB 是 input 经一次 dynamics 耦合后的作用,以此类推。
3. 可控不等于好控制
rank test 是 yes/no;接近 singular 的 controllability matrix/Gramian 说明某个方向虽理论可达,却需要巨大 energy。机器人还有限 torque、joint limit 与 contact constraint,所以数学可控不保证物理可行。
4. Stabilizability 更接近控制目标
并非所有 mode 都必须可控:只要所有不可控 mode 本身稳定,仍可让 closed-loop stable,称 stabilizable。同理,estimator 只要求不可观 mode 是稳定的,称 detectable。LQR 与 Kalman 的常用存在条件通常写成 stabilizability/detectability,而非最强的完全可控/可观。
5. Observability matrix
𝒪=[C; CA; CA²; …; CAⁿ⁻¹]若 rank(𝒪)=n,无噪声理想条件下可由有限输出 history 唯一恢复 initial state。若两个 state 沿 dynamics 产生完全相同 output,它们对该 sensor placement 不可区分。
6. Pole placement 做什么
state feedback u=−Kx 使 closed-loop matrix 为 A−BK。可控时可指定它的 eigenvalues;observer error 的 A−LC 类似。pole placement 给“放哪里”,却不自动平衡 control effort、noise amplification 与 robustness;LQR/Kalman 用 cost/noise covariance 提供更系统的选择。
7. 非线性机器人只在局部成立
对 nonlinear system 的 controllability/observability 更复杂。实际常沿 operating point/trajectory 线性化检查 A_t,B_t,C_t。contact mode 一变,约束和 actuation map 也变:双脚站立、单脚支撑与腾空的 controllable directions 不同。
8. Actuator 与 sensor placement 例子
- 柔性臂的 motor 远离某个 vibration node,可能很难激发/抑制该 mode;
- IMU 只有 angular velocity 与 specific force,global position/yaw 会漂,需要视觉、GNSS 或 contact constraint;
- encoder 在 motor side,gear compliance 后的 link angle/torque 未必直接可见;
- humanoid floating base 没有直接 base actuator,靠 contact wrench 间接控制。
9. 数值 rank 的陷阱
不同 state unit 和 scale 会让矩阵 condition number 很差。不要只打印默认 tolerance 下的 rank;先 nondimensionalize/scale,再看 singular values、Gramian 与有限时域所需 energy,并结合 actuator limit 判断。
10. 四个 rank 与 mode 计算
例 1:可控矩阵满秩
A=[[1,1],[0,1]], B=[[0],[1]],AB=[1,1]ᵀ,所以 controllability matrix [[0,1],[1,1]] determinant=-1,rank=2,系统可控。
例 2:不可控例子
A=diag(1,2), B=[1,0]ᵀ,AB=[1,0]ᵀ;两列相同,rank=1。第二个 state 不受 input 影响。
例 3:可观矩阵
同一 A,取 C=[1,0],CA=[1,1];observability matrix [[1,0],[1,1]] determinant=1,rank=2。
例 4:数值上“几乎不可控”
矩阵 singular values 为 [10, 0.00001],数学 rank 仍可能是 2,但 condition number=1,000,000;弱方向需巨大控制能量,工程上不能只报 rank。
“全身每个关节都有电机,所以 humanoid fully actuated”不正确。floating base 六自由度不能直接施加 actuator torque,只能通过足/手接触产生 wrench;无接触时动量约束决定可做什么。
自测
1. 只测 position,velocity 一定不可观吗?
不一定;若 dynamics 让 velocity 影响之后的 position,连续测量 history 可以恢复 velocity。
2. 为什么 stabilizable 比 controllable 弱?
它允许不可控 mode 存在,只要求这些 mode 自己不发散。
3. full rank 为什么仍可能难控制?
某些 singular direction 的 controllability 极弱,有限 actuator 下所需 energy 可能不可实现。
学习资料
MIT Underactuated Robotics 的线性系统 controllability推导了 [B,AB,…] rank 条件;密歇根大学的 State-Space Design串联 stability、controllability/observability、pole placement 与 observer。