Autonomous Flying Wing
Work in progress, this post is currently being written and will be completed soon.
The project focuses on developing an autonomous flying wing, with the eventual goal of integrating a payload. While the payload specifics are still undecided, potential applications include computer vision for mapping and biome recognition. For now, the priority is on building the platform itself and making sure the flight control system works smoothly.
Introduction
Key features of the project include:
- Stable Flying: Ensuring the flying wing maintains a steady and controlled flight.
- Autonomous Navigation: Implementing a flight control system capable of following GPS-defined paths.
- Payload Integration: Designing the platform to accommodate various payloads for different applications.
Theory
Path Following Algorithm Basics
Click to add Waypoints
while simulation is running:
if no more waypoints:
stop the simulation
exit loop
get the next target waypoint
targetAngle = atan2(targetWaypoint.y - flyingWing.y, targetWaypoint.x - flyingWing.x)
angleDifference = targetAngle - flyingWing.angle
normalize angleDifference to be between -π and π
adjust flyingWing.angle based on angleDifference, limited by max turn rate
increase flyingWing.velocity until maxSpeed is reached
apply drag to reduce flyingWing.velocity slightly
flyingWing.x += cos(flyingWing.angle) * flyingWing.velocity
flyingWing.y += sin(flyingWing.angle) * flyingWing.velocity
if flyingWing is close to the target waypoint:
move to next waypoint
Hardware
