[[px4-analyse-position]]

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
px4-analyse-position [2018/10/27 21:56]
natwati [Other Functions]
px4-analyse-position [2018/10/27 22:02] (current)
natwati
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 328: Line 333:
 Update desired altitude base on user pitch stick input based on _manual.x (from manual_control_setpoint) and a dt (delta time) argument. Update desired altitude base on user pitch stick input based on _manual.x (from manual_control_setpoint) and a dt (delta time) argument.
  
-==== control_takeoff() ==== 
-Not examined yet 
-==== control_landing() ==== 
-Not examined yet 
 ==== handle_command() ==== ==== handle_command() ====
-Not examined yet +This funcion solely handles the VEHICLE_CMD_DO_GO_AROUND. 
-==== tecs_update_pitch_throttle() ==== +It  abort landing before point of no return ​(horizontal and verticalby setting _fw_pos_ctrl_status.abort_landing to true. 
-Not examined yet+
  
 ==== airspeed_poll() ==== ==== airspeed_poll() ====
Line 345: Line 346:
  
 TECS is notified if airspeed is still valid by calling _tecs.enable_airspeed(_airspeed_valid). TECS is notified if airspeed is still valid by calling _tecs.enable_airspeed(_airspeed_valid).
-===== Copyright ===== 
  
 +==== control_takeoff() ====
 +Not examined yet
 +==== control_landing() ====
 +Not examined yet
 +==== tecs_update_pitch_throttle() ====
 +Not examined yet
 +
 +===== Copyright =====
  
 The following copyright applies to all sourcecode shown on this page: The following copyright applies to all sourcecode shown on this page:
  • px4-analyse-position.1540670192.txt.gz
  • Last modified: 2018/10/27 21:56
  • by natwati