We are looking to research if Gordon’s vector implementation would still be valid, or should we come up with completely new code for Path Manager zp 3.5, Assuming that the input comes from FreeRTOS queue, and show our approach.
We will be assuming that the inputs will be FreeRTOS queues.
Previous research we could refer, and possibly extend from:
Existing Information:
Landing Procedure
Takeoff Procedure
Functions
double getTakeoffAltitudeTarget(double currentAltitude);
When first called set the current height as ground, then return the takeoff altitude target (ground height + TAKEOFF_TARGET).
double getLandingAltitudeTarget(double currentAltitude);
This function returns the ground height set during takeoff and uses it as the target landing altitude.
AM::AttitudeManagerInput createLandingWaypoint(const LOS::LosSFData & input);
Calculates the waypoints that the drone should follow during landing. Missing horizontal components as of now.
AM::AttitudeManagerInput createTakeoffWaypoint(const LOS::LosSFData & input);
Returns the waypoints that should be followed for takeoff.
double getSpeedTarget(double currentAltitude, double rangeConstant);
Return desired climb speed for both landing and takeoff.
double getRangeConstant(double midpointAltitude);
Returns range constant to calculate velocity.
Question : Does PM output speed to AM? Or does AM computes the speed
Should still PM generate waypoints for landing/takeoff?
Do we want to drone to respond to changes like wind during take off/landing?
Useful Documents to look over:
https://liu.diva-portal.org/smash/get/diva2:1055556/FULLTEXT01.pdf
https://link-springer-com.proxy.lib.uwaterloo.ca/article/10.1007/s10846-017-0512-y
https://www.sciencedirect.com/science/article/pii/S2405896316315026
Add Comment