Design an Aircraft Autopilot in Python using FlightGear

所在平台: Udemy

课程主页: https://www.udemy.com/course/design-an-aircraft-autopilot-in-python-using-flightgear-kalman/

课程评论:没有评论

第一个写评论        关注课程

课程简介

**课程名称:** 使用 Python 和 FlightGear 设计飞机自动驾驶仪 **课程概述:** 本课程是一门实践性课程,旨在教授学员如何利用 Python 和 FlightGear 飞行模拟器构建飞机自动驾驶系统。课程从飞机动力学、FlightGear 设置以及 UDP 套接字通信基础知识入手,循序渐进地引导学员编写 Python 脚本来控制副翼、升降舵和方向舵,甚至实现自动起飞。学员将深入学习使用 PID 控制器进行飞行稳定,理解惯性测量单元(IMU)的作用,并实现诸如翼面水平、高度保持和协调转弯等关键飞行机动。随着课程的深入,学员将学习如何运用 GPS 概念、Haversine 公式和航向控制来实现自动航点导航。最终,课程将探讨如互补滤波器和卡尔曼滤波器等先进传感器融合技术,以估算飞机的姿态和位置,并将其应用于自主航点导航。无论您是航空航天工程师、业余爱好者还是对自主系统感兴趣的开发者,本课程都将理论与实践相结合,帮助您实现自己的自动驾驶系统。 **课程内容:** **第一部分:引言** * Flightgear 及其 Python 接口简介 * Python 与 Flightgear 通信所使用的 UDP 套接字 * 俯仰、滚转与偏航的理解 * 在 Linux 系统中安装 Flightgear 及 Flightgear Python 库 * 控制飞机副翼、升降舵和方向舵的 Python 脚本 * 飞机自动起飞的 Python 程序 * 飞机自动起飞 Python 程序中的重要函数 **第二部分:基本飞行稳定与控制** * 使用 PID 控制器进行翼面调平 * 什么是惯性测量单元(IMU)及其功能? * 比例-积分-微分(PID)控制器 * 自动翼面调平的 Python 代码 * 如何调整 PID 控制器系数? * 不利的偏航如何触发荷兰滚? * 什么是协调转弯以避免不利的偏航? * 如何实现协调转弯? * 带有协调转弯逻辑的自动翼面调平 Python 代码 * 使用比例控制器进行飞机高度保持 * 使用比例控制器进行飞机高度保持的 Python 代码 **第三部分:自动化导航与航点跟踪** * 什么是航点跟踪? * 什么是纬度和经度? * Haversine 公式用于距离计算及代码实现 * 方位角计算及代码实现 * 用于航向调整的 PID 控制器 * 如何添加航点? * 航点切换逻辑 * 自动化航点导航的 Python 代码 **第四部分:基于 IMU 数据融合的高级飞机稳定** * 基于 IMU 数据的自动翼面调平 * IMU 测量数据的理解 * 使用加速度计数据进行滚转和俯仰姿态估算 * 使用陀螺仪数据进行滚转和俯仰姿态估算 * 用于传感器融合的互补滤波器 * 使用陀螺仪进行偏航姿态估算 * 滚转、俯仰和偏航估算的整体框图 * 用于滚转和俯仰控制的 PID 控制器 * 基于 IMU 数据的自动翼面调平 Python 程序 **第五部分:基于传感器融合的高级自动化航点导航** * 基于传感器融合的自动化航点导航 * NED(北-东-地)坐标系 * 机体坐标系 * 机体坐标系到 NED 坐标系的转换 * 卡尔曼滤波器概述 * 问题背景:飞机状态估算 * 卡尔曼滤波器的预测与更新步骤 * 卡尔曼滤波器在 Python 中的实现 * 机体坐标系到 NED 坐标系的 Python 转换 * 使用传感器融合进行自动化航点导航的 Python 代码

课程评论(0条)

课程详情

Welcome to this hands-on course where you'll learn how to build an aircraft autopilot system in Python using the FlightGear simulator. Starting with the basics of aircraft dynamics, FlightGear setup, and communication over UDP sockets, you'll gradually progress to writing Python scripts that control ailerons, elevators, and rudders, and even perform automated take-offs. You'll dive into flight stabilization using PID controllers, understand the role of IMUs, and implement key flight maneuvers like wing leveling, altitude hold, and coordinated turns. As the course advances, you'll develop automated waypoint navigation using GPS concepts, Haversine formulas, and heading control. Finally, you'll explore advanced sensor fusion techniques-like complementary and Kalman filters-to estimate aircraft orientation and position, and use it for autonomous waypoint navigation. Whether you're an aspiring aerospace engineer, a hobbyist, or a developer interested in autonomous systems, this course offers the perfect blend of theory and practical coding to bring your own autopilot system to life.Course Contents:Section 1: IntroductionIntroduction to Flightgear and its Python InterfaceUnderstanding UDP Sockets Used for Communication between Python and FlightgearUnderstanding Roll, Pitch & YawInstalling Flightgear & Flightgear Python Library in LinuxPython Script to Control the Aileron, Elevator and Rudder of an AircraftPython Program for Automated Plane Take-offImportant Functions in Python Program For Automated TakeoffSection 2: Basic Flight Stabilization & ControlWing Leveling Using PID ControllerWhat is an Inertial Measurement Unit (IMU) and its function?Proportional Integral Derivateive (PID) ControllerPython Code for Automatic Wing LevelingHow to Tune PID Controller Coefficients?How Adverse Yaw Can Trigger Dutch Roll?What is Coordinated Turn to avoid Adverse Yaw?How to Implement Coordinated Turn?Python Code for Automatic Wing Leveling with Co-ordinated Turn LogicAircraft Altitude Hold Using the Proportional ControllerPython Code for Aircraft Altitude Hold Using the Proportional ControllerSection 3: Automated Navigation & Waypoint FollowingWhat is Waypoint Following?What are Latitude and Longitude?Haversine Formula for Distance Calculation & implementation in codeBearing Calculation & implementation in codePID Controller for Heading AdjustmentHow to Add Waypoints?Waypoint Switching LogicPython Code for Automated Waypoint NavigationSection 4: Advanced Aircraft Stabilization based upon Sensor Fusion of IMU DataAutomatic Wing Leveling Based Upon IMU DataUnderstanding IMU measurementsRoll and Pitch Estimation using Accelerometer DataRoll and Pitch Estimation using Gyroscopic Data Complementary Filter for Sensor FusionYaw Estimation Using GyroscopeOverall Block Diagram for Roll, Pitch and Yaw EstimationPID Controllers for Roll and Pitch ControlPython Program Automatic Wing Leveling Based Upon IMU DataSection 5: Advanced Automated Waypoint Navigation based upon Sensor FusionAutomated Waypoint Navigation based on Sensor FusionNED (North-East-Down) Co-ordinate SystemBody Frame Co-ordinate SystemBody Frame to NED Frame ConversionOverview of Kalman FilterProblem Context: Aircraft State EstimationKalman Filter Prediction & update stepsKalman Filter implementation in Python CodeTransform from Body to NED Frame in Python CodePython Code for Automated Waypoint Navigation using Sensor Fusion

课程标签

0人关注该课程

主题相关的课程