APM:Libraries
|
#include <AP_L1_Control.h>
Public Member Functions | |
AP_L1_Control (AP_AHRS &ahrs, const AP_SpdHgtControl *spdHgtControl) | |
AP_L1_Control (const AP_L1_Control &other)=delete | |
AP_L1_Control & | operator= (const AP_L1_Control &)=delete |
int32_t | nav_roll_cd (void) const |
float | lateral_acceleration (void) const |
int32_t | nav_bearing_cd (void) const |
int32_t | bearing_error_cd (void) const |
float | crosstrack_error (void) const |
float | crosstrack_error_integrator (void) const |
int32_t | target_bearing_cd (void) const |
float | turn_distance (float wp_radius) const |
float | turn_distance (float wp_radius, float turn_angle) const |
float | loiter_radius (const float loiter_radius) const |
void | update_waypoint (const struct Location &prev_WP, const struct Location &next_WP, float dist_min=0.0f) |
void | update_loiter (const struct Location ¢er_WP, float radius, int8_t loiter_direction) |
void | update_heading_hold (int32_t navigation_heading_cd) |
void | update_level_flight (void) |
bool | reached_loiter_target (void) |
void | set_default_period (float period) |
void | set_data_is_stale (void) |
bool | data_is_stale (void) const |
void | set_reverse (bool reverse) |
Static Public Attributes | |
static const struct AP_Param::GroupInfo | var_info [] |
Private Member Functions | |
void | _prevent_indecision (float &Nu) |
float | get_yaw () |
float | get_yaw_sensor () |
Private Attributes | |
AP_AHRS & | _ahrs |
const AP_SpdHgtControl * | _spdHgtControl |
float | _latAccDem |
float | _L1_dist |
bool | _WPcircle |
float | _nav_bearing |
float | _bearing_error |
float | _crosstrack_error |
int32_t | _target_bearing_cd |
AP_Float | _L1_period |
AP_Float | _L1_damping |
float | _last_Nu |
float | _L1_xtrack_i = 0 |
AP_Float | _L1_xtrack_i_gain |
float | _L1_xtrack_i_gain_prev = 0 |
uint32_t | _last_update_waypoint_us |
bool | _data_is_stale = true |
AP_Float | _loiter_bank_limit |
bool | _reverse = false |
Additional Inherited Members | |
![]() | |
enum | ControllerType { CONTROLLER_DEFAULT = 0, CONTROLLER_L1 = 1 } |
Definition at line 22 of file AP_L1_Control.h.
|
inline |
|
delete |
|
private |
prevent indecision in our turning by using our previous turn decision if we are in a narrow angle band pointing away from the target and the turn angle has changed sign
Definition at line 182 of file AP_L1_Control.cpp.
Referenced by update_loiter(), and update_waypoint().
|
virtual |
Implements AP_Navigation.
Definition at line 101 of file AP_L1_Control.cpp.
Referenced by AP_L1_Control().
|
inlinevirtual |
Implements AP_Navigation.
Definition at line 46 of file AP_L1_Control.h.
|
inlinevirtual |
Reimplemented from AP_Navigation.
Definition at line 47 of file AP_L1_Control.h.
|
inlinevirtual |
Implements AP_Navigation.
Definition at line 67 of file AP_L1_Control.h.
|
private |
Definition at line 56 of file AP_L1_Control.cpp.
Referenced by update_waypoint().
|
private |
Definition at line 67 of file AP_L1_Control.cpp.
Referenced by _prevent_indecision().
|
virtual |
Implements AP_Navigation.
Definition at line 91 of file AP_L1_Control.cpp.
Referenced by AP_L1_Control().
|
virtual |
Implements AP_Navigation.
Definition at line 138 of file AP_L1_Control.cpp.
Referenced by crosstrack_error_integrator(), and update_loiter().
|
virtual |
Implements AP_Navigation.
Definition at line 96 of file AP_L1_Control.cpp.
Referenced by AP_L1_Control().
|
virtual |
Implements AP_Navigation.
Definition at line 79 of file AP_L1_Control.cpp.
Referenced by AP_L1_Control().
|
delete |
|
virtual |
Implements AP_Navigation.
Definition at line 172 of file AP_L1_Control.cpp.
Referenced by crosstrack_error_integrator().
|
inlinevirtual |
Implements AP_Navigation.
Definition at line 64 of file AP_L1_Control.h.
|
inline |
Definition at line 60 of file AP_L1_Control.h.
|
inlinevirtual |
Implements AP_Navigation.
Definition at line 74 of file AP_L1_Control.h.
|
virtual |
Implements AP_Navigation.
Definition at line 106 of file AP_L1_Control.cpp.
Referenced by crosstrack_error_integrator().
|
virtual |
Implements AP_Navigation.
Definition at line 114 of file AP_L1_Control.cpp.
Referenced by crosstrack_error_integrator(), and turn_distance().
|
virtual |
Implements AP_Navigation.
Definition at line 128 of file AP_L1_Control.cpp.
|
virtual |
Implements AP_Navigation.
Definition at line 446 of file AP_L1_Control.cpp.
Referenced by crosstrack_error_integrator().
|
virtual |
Implements AP_Navigation.
Definition at line 487 of file AP_L1_Control.cpp.
Referenced by crosstrack_error_integrator().
|
virtual |
Implements AP_Navigation.
Definition at line 333 of file AP_L1_Control.cpp.
Referenced by crosstrack_error_integrator().
|
virtual |
Implements AP_Navigation.
Definition at line 198 of file AP_L1_Control.cpp.
Referenced by crosstrack_error_integrator().
|
private |
Definition at line 80 of file AP_L1_Control.h.
Referenced by get_yaw(), get_yaw_sensor(), loiter_radius(), nav_roll_cd(), turn_distance(), update_heading_hold(), update_level_flight(), update_loiter(), and update_waypoint().
|
private |
Definition at line 99 of file AP_L1_Control.h.
Referenced by bearing_error_cd(), update_heading_hold(), update_level_flight(), update_loiter(), and update_waypoint().
|
private |
Definition at line 102 of file AP_L1_Control.h.
Referenced by crosstrack_error(), update_heading_hold(), update_level_flight(), update_loiter(), and update_waypoint().
|
private |
Definition at line 124 of file AP_L1_Control.h.
Referenced by data_is_stale(), set_data_is_stale(), update_heading_hold(), update_level_flight(), update_loiter(), and update_waypoint().
|
private |
Definition at line 110 of file AP_L1_Control.h.
Referenced by update_loiter(), and update_waypoint().
|
private |
Definition at line 90 of file AP_L1_Control.h.
Referenced by turn_distance(), update_heading_hold(), update_loiter(), and update_waypoint().
|
private |
Definition at line 108 of file AP_L1_Control.h.
Referenced by set_default_period(), update_heading_hold(), update_loiter(), and update_waypoint().
|
private |
Definition at line 120 of file AP_L1_Control.h.
Referenced by crosstrack_error_integrator(), and update_waypoint().
|
private |
Definition at line 121 of file AP_L1_Control.h.
Referenced by update_waypoint().
|
private |
Definition at line 122 of file AP_L1_Control.h.
Referenced by update_waypoint().
|
private |
Definition at line 113 of file AP_L1_Control.h.
Referenced by _prevent_indecision(), update_loiter(), and update_waypoint().
|
private |
Definition at line 123 of file AP_L1_Control.h.
Referenced by update_waypoint().
|
private |
Definition at line 87 of file AP_L1_Control.h.
Referenced by lateral_acceleration(), nav_roll_cd(), update_heading_hold(), update_level_flight(), update_loiter(), and update_waypoint().
|
private |
Definition at line 126 of file AP_L1_Control.h.
Referenced by loiter_radius().
|
private |
Definition at line 96 of file AP_L1_Control.h.
Referenced by nav_bearing_cd(), update_heading_hold(), update_level_flight(), update_loiter(), and update_waypoint().
|
private |
Definition at line 128 of file AP_L1_Control.h.
Referenced by get_yaw(), get_yaw_sensor(), and set_reverse().
|
private |
Definition at line 83 of file AP_L1_Control.h.
Referenced by loiter_radius().
|
private |
Definition at line 105 of file AP_L1_Control.h.
Referenced by _prevent_indecision(), target_bearing_cd(), update_heading_hold(), update_level_flight(), update_loiter(), and update_waypoint().
|
private |
Definition at line 93 of file AP_L1_Control.h.
Referenced by reached_loiter_target(), update_heading_hold(), update_level_flight(), update_loiter(), and update_waypoint().
|
static |
Definition at line 72 of file AP_L1_Control.h.
Referenced by AP_L1_Control().