使用 FlightGear 在 Python 中设计飞机自动驾驶仪
飞行稳定与控制、PID 调节、传感器融合(互补与卡尔曼滤波器)、自动航点导航
讲师:Dr. Moazzam Tiwana
双语IT资源独家Udemy付费课程,独家中英文字幕,配套资料齐全!
用不到1/10的价格,即可享受同样的高品质课程,且可以完全拥有,随时随地都可以任意观看和分享。
您将学到什么
- 了解 FlightGear 飞行模拟器的基础知识以及如何使用 Python 控制它
- 掌握核心飞机动力学概念:滚转、俯仰、偏航
- 用于控制飞机控制面和自动起飞的 Python 脚本
- 学习并应用 PID 控制进行机翼调平和高度保持
- 协调转弯以避免不利的偏航和荷兰滚问题
- 使用 GPS、半正矢公式和航向调整进行自动航点导航
- 互补滤波器作为传感器融合技术来估计飞机姿态
- 基于 IMU 数据传感器融合的飞机稳定性
- 用于表示飞机位置和方向的东北向下(NED)坐标系
- 身体框架到 NED 框架的转换
- 用于飞机状态估计的卡尔曼滤波器
- 基于卡尔曼滤波器作为传感器融合技术的自动航点导航
探索相关主题
要求
- Python 编程基础知识和学习承诺
描述
欢迎来到这门实践课程,您将学习如何使用 FlightGear 模拟器,用 Python 构建飞机自动驾驶系统。课程将从飞机动力学基础知识、FlightGear 设置以及通过 UDP 套接字的通信开始,逐步学习编写 Python 脚本来控制副翼、升降舵和方向舵,甚至执行自动起飞。您将深入学习使用 PID 控制器实现飞行稳定,了解 IMU 的作用,并实现关键的飞行操作,例如机翼调平、高度保持和协调转弯。随着课程的深入,您将使用 GPS 概念、半正矢公式和航向控制来开发自动航点导航。最后,您将探索先进的传感器融合技术(例如互补滤波器和卡尔曼滤波器),以估算飞机的方向和位置,并将其用于自主航点导航。无论您是一位有抱负的航空航天工程师、业余爱好者,还是对自主系统感兴趣的开发者,本课程都将理论与实践编程完美结合,助您打造自己的自动驾驶系统。
课程内容:
第 1 部分:简介
-
Flightgear 及其 Python 接口简介
-
了解 Python 与 Flightgear 之间通信使用的 UDP 套接字
-
了解滚动、俯仰和偏航
-
在 Linux 中安装 Flightgear 和 Flightgear Python 库
-
Python脚本控制飞机的副翼、升降舵和方向舵
-
Python 飞机自动起飞程序
-
Python 自动起飞程序中的重要函数
第 2 节:基本飞行稳定与控制
-
使用 PID 控制器进行机翼调平
-
什么是惯性测量单元 (IMU) 及其功能?
-
比例积分微分 (PID) 控制器
-
自动机翼调平的 Python 代码
-
如何调整 PID 控制器系数?
-
偏航角多大才会引起荷兰滚?
-
什么是协调转弯以避免逆偏航?
-
如何实施协调转弯?
-
具有协调转弯逻辑的自动机翼调平的 Python 代码
-
使用比例控制器保持飞机高度
-
使用比例控制器实现飞机高度保持的 Python 代码
第 3 部分:自动导航和航点跟踪
-
什么是航点跟随?
-
什么是纬度和经度?
-
距离计算的半正矢公式及其代码实现
-
轴承计算及代码实现
-
航向调整的 PID 控制器
-
如何添加航点?
-
航点切换逻辑
-
自动航点导航的 Python 代码
第 4 部分:基于 IMU 数据传感器融合的先进飞机稳定系统
-
基于IMU数据的自动机翼调平
-
了解 IMU 测量
-
使用加速度计数据估计滚动和俯仰
-
使用陀螺仪数据估计滚动和俯仰
-
用于传感器融合的互补滤波器
-
使用陀螺仪估计偏航角
-
横滚、俯仰和偏航估计的总体框图
-
用于横滚和俯仰控制的 PID 控制器
-
基于IMU数据的Python程序自动机翼调平
第五部分:基于传感器融合的高级自动航点导航
-
基于传感器融合的自动航点导航
-
NED(东北向下)坐标系
-
身体框架坐标系
-
车身框架到 NED 框架的转换
-
卡尔曼滤波器概述
-
问题背景:飞机状态估计
-
卡尔曼滤波器预测和更新步骤
-
卡尔曼滤波器的 Python 代码实现
-
使用 Python 代码从 Body 转换为 NED 框架
-
使用传感器融合实现自动航点导航的 Python 代码
本课程适合哪些人:
- 希望获得飞行控制系统、导航和传感器融合方面实践经验的航空航天专业学生
- 希望使用真实模拟工具了解和构建自动驾驶系统的无人机和无人驾驶飞机爱好者
- 有兴趣将其编码技能应用于飞机模拟和自主控制的 Python 开发人员
- 想要超越飞行并学习自主飞行行为背后的科学和代码的飞行模拟爱好者
- 需要基于项目的方法来教授或试验飞行动力学、稳定性和导航系统的教育工作者和研究人员
如果你有能力,请务必支持课程的原创作者,这是他们应得的报酬!
本站收取的费用,仅用来维持网站正常运行的必要支出,从本站下载任何内容,说明你已经知晓并同意此条款。