Етапи заходу на вертикальну посадку
Що пише ArduPilot:
- VTOL position2 started v=N.N d=N.N h=N.N
- VTOL Position1 d=N.N
- VTOL approach d=N.N
- VTOL position1 v=N.N d=N.N sd=N.N h=N.N
- VTOL airbrake v=N.N d=N.N sd=N.N h=N.N
- VTOL position1 d=N.N r=N.N
Тут пояснено ще: 1
- VTOL position1 v=N.N d=N.N h=N.N dc=N.N
Вертикальна посадка (QRTL або пункт місії VTOL_LAND) оголошує кожен етап. Approach: політ до точки на крилі. Airbrake: підйомні мотори розкручуються як гальмо, щонайменше на 1 с. Position1: зворотний перехід; підйомні мотори несуть апарат і гальмують його з прискоренням Q_TRANS_DECEL. Position2: ближче 10 м і повільніше 9 м/с він стає над точкою, як мультикоптер. У рядках v — шляхова швидкість (м/с), d — відстань до точки (м), sd — гальмівний шлях, h — висота над землею, dc — бажана швидкість зближення, r — радіус, усередині якого QRTL лишається на підйомних моторах.
«VTOL Position1 d=…» без інших чисел означає, що approach і airbrake пропущено: у Q_OPTIONS встановлено біт 16, точка ближче за Q_APPROACH_DIST або підйомні мотори вже працювали поблизу неї. r — це 1.5 від більшого з RTL_RADIUS і WP_LOITER_RAD. Тейлситери етап airbrake не використовують ніколи.
Параметри, на які варто глянути
| Параметр | Що це |
|---|---|
Q_TRANS_DECEL | Transition deceleration |
Q_APPROACH_DIST | Q mode approach distance |
Q_OPTIONS | quadplane options |
RTL_RADIUS | RTL loiter radius |
WP_LOITER_RAD | Waypoint Loiter Radius |
Код, який це надсилає
VTOL position2 started v=N.N d=N.N h=N.N
ArduPlane/quadplane.cpp QuadPlane::vtol_position_controller() · Відкрити в ArduPilot Plane-4.7.1
VTOL Position1 d=N.N
ArduPlane/quadplane.cpp QuadPlane::poscontrol_init_approach() · Відкрити в ArduPilot Plane-4.7.1
VTOL approach d=N.N
ArduPlane/quadplane.cpp QuadPlane::poscontrol_init_approach() · Відкрити в ArduPilot Plane-4.7.1
VTOL position1 v=N.N d=N.N sd=N.N h=N.N
ArduPlane/quadplane.cpp QuadPlane::vtol_position_controller() · Відкрити в ArduPilot Plane-4.7.1
І ще 3 повідомлень, що надсилаються з тих самих місць.