- 博客(19)
- 收藏
- 关注
原创 FAST-LIVO2 深度技术解析
├─ SO(3): 旋转矩阵(3维)├─ R³: 位置(3维)├─ R³: 速度(3维)├─ R³: 陀螺仪零偏(3维)├─ R³: 加速度计零偏(3维)├─ R³: 重力向量(3维)└─ R: 时间偏移/曝光参数(1维)总维度:19旋转在 SO(3) 流形上,避免奇异性在线估计重力向量,适应初始对齐误差估计光度参数(τ),增强光照适应性理论创新:序列化更新 ESIKF 解决维度失配工程优化:扫描重组实现时间硬同步精度突破:激光辅助的直接视觉法,7mm 级精度效率领先。
2025-12-17 16:42:12
681
原创 深入理解PX4飞控系统:多线程并发、原子操作与单例模式完全指南
当多个线程同时访问共享资源时,如果没有适当的同步机制,就会出现数据竞争原子操作(Atomic Operation):一个不可分割、不可中断的操作,要么完全执行,要么完全不执行,不存在"执行到一半"的中间状态。单例(Singleton) = 全局只有一个实例的类// 飞机上的飞控系统: ✓ 只能有一个姿态控制器(不能同时有两个争夺控制权) ✓ 只能有一个位置控制器✓ 只能有一个电机混控器如果有两个姿态控制器:控制器A : "向左倾斜10度!" 控制器B : "向右倾斜15度!" 飞机 : "我该听谁的。
2025-12-02 09:24:26
1160
原创 Kalman Filter卡尔曼滤波器之估计误差的协方差矩阵推导
A状态矩阵B控制矩阵H传输矩阵wk计算误差Vk测量误差Q过程噪声wk的协方差矩阵R测量噪声Vk的协方差矩阵&A: 状态矩阵\\&B: 控制矩阵\\&H: 传输矩阵\\&w_k: 计算误差\\&V_k: 测量误差\\&Q: 过程噪声w_k的协方差矩阵\\&R: 测量噪声V_k的协方差矩阵A状态矩阵B控制矩阵H传输矩阵wk计算误差Vk测量误差Q过程噪声wk的协方差矩阵R测量噪声Vk。
2025-11-26 17:35:03
699
原创 深入理解多旋翼飞行器姿态控制中的倾转分离
在多旋翼飞行器的姿态控制中,我们通常使用欧拉角(Roll、Pitch、Yaw)或四元数来描述飞行器的姿态。然而,从控制的角度来看,这三个自由度并不是同等重要的。倾转分离运动类型英文术语物理含义对应轴倾斜(Tilt)机体Z轴方向的改变,即推力矢量方向旋转(Torsion)Yaw绕机体Z轴的旋转运动,即航向角Yaw倾斜决定了飞行器"往哪个方向加速"旋转决定了飞行器"机头朝向哪里"步骤公式目的效果1构造qredq_{red}qred分离Roll/Pitch和Yaw。
2025-11-25 11:49:58
817
原创 PX4飞控源码解析:欧拉角与四元数相互转换的工程实现
方面要点设计模式转换构造函数实现类型转换四元数→欧拉角通过DCM提取,需处理万向锁欧拉角→四元数ZYX顺序,半角公式性能优化避免重复转换,利用编译器优化数值稳定性归一化、容差检查、角度归一化。
2025-11-25 11:28:16
599
原创 PX4姿态控制数学基础:欧拉角变化率与角速度的本质关系深度解析
本质区别欧拉角变化率是参数空间的速度角速度是流形切空间的速度通过依赖姿态的转换矩阵WϕθWϕθ非线性关联数学根源SO(3)的非欧几何结构李群-李代数对应欧拉角序贯旋转的非交换性工程实践四元数+角速度架构避免奇异性直接对应物理定律和传感器测量计算高效,数值稳定控制设计小角度线性化适用PID大机动需非线性方法(滑模/反步)四元数提供几何直观的控制律。
2025-11-24 16:27:49
1118
原创 PX4基于陀螺仪数据回调触发的飞行器角速率控制器的执行流程
系统架构:启动、初始化、运行、退出的生命周期主循环:Run()函数的详细执行路径ACRO模式:手动控制的特殊处理流程PID算法:核心控制律的计算过程电池补偿:电压降低时的输出调整抗饱和:执行器饱和的检测与处理数据流:各模块间的数据传递关系时序:单次控制周期的时间安排状态机:系统状态的转换逻辑生命周期:完整的运行周期。
2025-11-20 14:49:07
951
原创 PX4多旋翼角速率控制器(mc_rate_control)源码深度解析
是PX4飞控系统中最底层、最高频的控制器,直接控制多旋翼飞行器的三轴角速率(roll rate, pitch rate, yaw rate)。位置控制器 → 速度控制器 → 姿态控制器 → [角速率控制器] → 混控器 → 电机↑ 你在这里场景:飞行器执行大角度机动1. 期望角速率很大 → 误差e很大2. 积分项快速累积:I += Ki × e × dt3. 电机达到PWM上限 → 执行器饱和4. 但误差仍存在 → 积分继续累积!
2025-11-20 14:06:29
1072
原创 深入理解PX4中的WorkItem与线程池机制
线程池 ≠ ThreadThread是单个线程,线程池是多个线程的集合WorkItem不是线程,是轻量级任务单元任务队列是桥梁生产者:WorkItem调度入队消费者:工作线程取任务执行通过锁和信号量同步选对工作队列很重要高频实时任务 → hp_default控制器 → rate_ctrl低优先级任务 → lp_defaultRun()要快速返回不要阻塞或无限循环使用Schedule系列函数实现周期执行。
2025-11-18 15:26:07
1039
原创 深入理解PX4姿态控制流程图
fill:#333;color:#333;color:#333;fill:none;输入q, qdReduced构造奇异性检测Yaw分离饱和限制误差计算P控制前馈叠加限幅保护输出ω_sp主流程图:完整的控制流程参数预补偿:增益设置的特殊处理数据流图:变量如何传递层次图:在整个控制系统中的位置决策树:关键判断分支时序图:各模块交互变量变换:关键变量的演变参数补偿:yaw_w的作用机制。
2025-11-11 09:40:48
688
原创 分离yaw轴的姿态控制器
步骤目的效果(2.6)分离Roll/Pitch和Yaw只关心倾斜,不管朝向(2.7)提取纯Yaw误差单独处理Yaw(2.8)对Yaw加饱和限制防止突变,平滑旋转(2.9)计算最终姿态误差准备PID控制(2.10)P控制生成角速度姿态→角速度转换核心优势✅ 分层控制:Roll/Pitch快速,Yaw慢速✅ 饱和保护:防止视觉SLAM失效✅ 优先级明确:位置控制优先,朝向其次。
2025-11-08 14:45:01
762
原创 深入理解PX4无人机中的四元数导数与角速度关系
姿态变化的本质角速度ω\omegaω描述的是刚体在体坐标系中的旋转速率四元数描述的是从参考坐标系到体坐标系的旋转四元数的变化率自然就由当前姿态和角速度共同决定为什么是 1/2 倍关系?这源于四元数的数学性质四元数用单位长度表示旋转,实际旋转角度是四元数"角度"的2倍因此导数关系中出现 1/2 的系数为什么需要四元数乘法?简单的线性关系q˙kωq˙kω无法正确描述旋转的叠加四元数乘法正确地处理了坐标系之间的变换四元数导数的本质:描述姿态在四维单位球面上的运动速率。
2025-11-08 10:23:53
1225
原创 Ubuntu20.04 PX4V1.13+Gazebo+Mavros2+ROS2Foxy+QGC+FAST-DDS联合仿真环境搭建
Px4环境配置
2025-03-02 21:20:04
1984
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅