type
status
date
slug
summary
tags
category
icon
password
这里写文章的前言:
一个简单的开头,简述这篇文章讨论的问题、目标、人物、背景是什么?并简述你给出的答案。
可以说说你的故事:阻碍、努力、结果成果,意外与转折。
- The updated PPT;
- Three video clips recording of the current experiment result.
- The issues and challenges to be discussed.
Here’s a slide‑by‑slide outline you can drop into your PPT to walk your boss through this week’s code work. Feel free to adapt or reorder as you like:
Slide 1: Title & Context
- Project: Tello Autonomous Orbit & Precision Landing
- Date: Week of July 29, 2025
- Presenter: Qiyue Chen (Embedded AI Intern, CTI One)
Slide 2: Objectives
- Build a reliable orbiting routine around a mission pad
- Layered precision‑landing capability down to 10 cm
- Comprehensive flight‑data logging for post‑flight analysis
- Real‑time visual overlay of telemetry
Slide 3: High‑Level Architecture
main.py
orchestrates mission phases
drone_interface.py
abstracts Tello SDK calls & state reader
pad_tracker.py
handles AprilTag pad detection & centering
pid_controller.py
computes velocity commands from errors
precision_landing.py
drives the multi‑layer descent logic
logger.py
captures timestamped CSV logs
video_overlay.py
renders pad/metrics overlay on live feed
Slide 4: PID‑Based Orbit Control
- PIDController class with tunable Kp/Ki/Kd parameters
- In
orbit_phase()
, read pad offset → feed into PID → issue velocity commands
- Dynamically adjust threshold based on pad loss timeout (configurable)
- Benefit: smooth, stable circling even with intermittent pad visibility
Slide 5: Multi‑Layer Precision Landing
- Layer definitions from
config.LAND_ALTITUDES
(e.g. 120 cm → 50 cm → 20 cm)
- Alignment loop at each layer:
- Run up to
LAND_ALIGNMENT_ITERATIONS
, check centering error ≤LAND_CONV_RADIUS
- Fine‑tune X/Y before descending
- Descent control:
- Fixed step
LAND_DESCENT_DISTANCE
per iteration - Delay
LAND_DESCENT_DELAY
for stability
- Benefit: avoids drift, ensures pad‑centered touchdown
Slide 6: Flight Data Logging
FlightLogger
class writes CSV with fields:
time, padx, pady, error_x, error_y, vx, vy, vz, h, tof, cam
start()
/log()
/log_step()
/close()
API
- Logs on every control loop iteration
- Benefit: detailed post‑flight charts, error‑trend analysis, regression testing
Slide 7: Video Overlay & Telemetry
video_overlay.py
runs in its own thread
- Draws pad bounding box, centering error, current altitude & velocities
- Provides live feedback to operator during test flights
- Benefit: immediate visual confirmation of control logic
Slide 8: Robust Error Handling & Cleanup
- Exception traps around orbit & landing phases
emergency_land()
on any unhandled error
- Always call
logger.close()
,stop_state_reader()
,cleanup_sockets()
- Ensures no dangling threads or lost logs
Slide 9: Key Challenges & Solutions
- NameErrors in logger/precision code → unified single
FlightLogger
instance passed through modules
- Method mismatches (e.g. missing
start_time
, undefined variables) → aligned function signatures
- Pad detection noise → dynamic thresholds and retry loops
Slide 10: Next Steps
- PID tuning with live flight data (adjust Kp/Ki/Kd per altitude layer)
- Simulation harness to automate orbit & landing tests
- Sensor fusion (optical‑flow + ToF) for wind‑disturbance compensation
- Dashboard for post‑flight CSV charting & performance KPIs
Slide 11: Repo & Resources
- Config docs: covers all
config.py
parameters
- Test logs: under
log/flight_log_*.csv
Slide 12: Questions & Feedback
- Open floor for any clarifications or feature requests
Feel free to copy these bullets directly into your slides. Good luck with your presentation!
- Start Mission
- Initialize & Takeoff
- Start Video Streaming Thread
- [Side branch/annotation]
OpenCV real-time overlay
YOLACT Edge (AI detection) integration — In Progress
- Move to Orbit Start Position
- Begin Orbit (PID Control)
- (loop until orbit complete)
- Start Layered Precision Landing
- For each layer:
- Descend to Target Altitude
- Is Pad Detected?
- Yes → Begin Alignment & Landing
- No → Auto-Search Pattern
- Is Pad Detected?
- Yes → Begin Alignment & Landing
- No → Manual Keyboard Control
- Descend to Next Layer (repeat)
(WASD/arrows, system monitors for pad, press ‘L’ to resume)
- Land

- Author:Jeremy Chen
- URL:https://www.qychen.com/article/24248e57-eb37-802e-8c97-e0dd727fd84f
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!