Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
px4-analyse-position [2018/10/27 21:56] natwati [Other Functions] |
px4-analyse-position [2018/10/27 22:02] natwati [handle_command()] |
||
---|---|---|---|
Line 308: | Line 308: | ||
</code> | </code> | ||
A previously calculated _groundspeed_undershoot value is added to the airspeed. The returned airspeed is constrained to a value between FW_AIRSPD_MAX and an increased FW_AIRSPD_MIN. FW_AIRSPEED_MIN is increased to ensure the increased demand for lift if the plane (current _att_sp) has a roll angle is met. This increase is only applied if airspeed is vaild (_airspeed_valid). | A previously calculated _groundspeed_undershoot value is added to the airspeed. The returned airspeed is constrained to a value between FW_AIRSPD_MAX and an increased FW_AIRSPD_MIN. FW_AIRSPEED_MIN is increased to ensure the increased demand for lift if the plane (current _att_sp) has a roll angle is met. This increase is only applied if airspeed is vaild (_airspeed_valid). | ||
+ | |||
+ | ==== calculate_gndspeed_undershoot() ==== | ||
<code c++ FixedwingPositionControl.hpp> | <code c++ FixedwingPositionControl.hpp> | ||
Line 314: | Line 316: | ||
The minimum desired ground speed is the minimum airspeed projected on to the ground using the altitude and horizontal difference between the waypoints if available. _groundspeed_undershoot ensures that a plane (as long as its throttle capability is not exceeded) travels towards a waypoint (and is not pushed more and more away by wind). Not countering this would lead to a fly-away. | The minimum desired ground speed is the minimum airspeed projected on to the ground using the altitude and horizontal difference between the waypoints if available. _groundspeed_undershoot ensures that a plane (as long as its throttle capability is not exceeded) travels towards a waypoint (and is not pushed more and more away by wind). Not countering this would lead to a fly-away. | ||
+ | ==== get_waypoint_heading_distance() ==== | ||
<code c++ FixedwingPositionControl.hpp> | <code c++ FixedwingPositionControl.hpp> | ||
static constexpr float HDG_HOLD_DIST_NEXT = 3000.0f; // initial distance of waypoint in front of plane in heading hold mode | static constexpr float HDG_HOLD_DIST_NEXT = 3000.0f; // initial distance of waypoint in front of plane in heading hold mode | ||
Line 323: | Line 326: | ||
If flag_init is false the passed waypoint_next and waypoint_prev are used to generate a line. The waypoint_prev is generated on the line 1100 meters behind waypoint_next and the new waypoint_next is generated on the line 4000 meters ahead of the old waypoint_next.\\ | If flag_init is false the passed waypoint_next and waypoint_prev are used to generate a line. The waypoint_prev is generated on the line 1100 meters behind waypoint_next and the new waypoint_next is generated on the line 4000 meters ahead of the old waypoint_next.\\ | ||
_hold_alt is used for all waypoints. | _hold_alt is used for all waypoints. | ||
+ | |||
+ | ==== update_desired_altitude() ==== | ||
<code c++ FixedwingPositionControl.hpp> | <code c++ FixedwingPositionControl.hpp> | ||
bool update_desired_altitude(float dt); | bool update_desired_altitude(float dt); | ||
Line 333: | Line 338: | ||
Not examined yet | Not examined yet | ||
==== handle_command() ==== | ==== handle_command() ==== | ||
- | Not examined yet | + | This funcion solely handles the VEHICLE_CMD_DO_GO_AROUND. |
+ | It abort landing before point of no return (horizontal and vertical) by setting _fw_pos_ctrl_status.abort_landing to true. | ||
==== tecs_update_pitch_throttle() ==== | ==== tecs_update_pitch_throttle() ==== | ||
Not examined yet | Not examined yet |