#include <AC_Avoid.h>
|
| AC_Avoid (const AP_AHRS &ahrs, const AC_Fence &fence, const AP_Proximity &proximity, const AP_Beacon *beacon=nullptr) |
| Constructor. More...
|
|
| AC_Avoid (const AC_Avoid &other)=delete |
|
AC_Avoid & | operator= (const AC_Avoid &)=delete |
|
void | adjust_velocity (float kP, float accel_cmss, Vector2f &desired_vel_cms, float dt) |
|
void | adjust_velocity (float kP, float accel_cmss, Vector3f &desired_vel_cms, float dt) |
|
void | adjust_speed (float kP, float accel, float heading, float &speed, float dt) |
|
void | adjust_velocity_z (float kP, float accel_cmss, float &climb_rate_cms, float dt) |
|
void | adjust_roll_pitch (float &roll, float &pitch, float angle_max) |
|
void | proximity_avoidance_enable (bool on_off) |
|
bool | proximity_avoidance_enabled () |
|
void | limit_velocity (float kP, float accel_cmss, Vector2f &desired_vel_cms, const Vector2f &limit_direction, float limit_distance_cm, float dt) const |
|
float | get_max_speed (float kP, float accel_cmss, float distance_cm, float dt) const |
|
|
void | adjust_velocity_circle_fence (float kP, float accel_cmss, Vector2f &desired_vel_cms, float dt) |
|
void | adjust_velocity_polygon_fence (float kP, float accel_cmss, Vector2f &desired_vel_cms, float dt) |
|
void | adjust_velocity_beacon_fence (float kP, float accel_cmss, Vector2f &desired_vel_cms, float dt) |
|
void | adjust_velocity_proximity (float kP, float accel_cmss, Vector2f &desired_vel_cms, float dt) |
|
void | adjust_velocity_polygon (float kP, float accel_cmss, Vector2f &desired_vel_cms, const Vector2f *boundary, uint16_t num_points, bool earth_frame, float margin, float dt) |
|
float | get_stopping_distance (float kP, float accel_cmss, float speed_cms) const |
|
float | distance_to_lean_pct (float dist_m) |
|
void | get_proximity_roll_pitch_pct (float &roll_positive, float &roll_negative, float &pitch_positive, float &pitch_negative) |
|
Definition at line 29 of file AC_Avoid.h.
◆ BehaviourType
Enumerator |
---|
BEHAVIOR_SLIDE | |
BEHAVIOR_STOP | |
Definition at line 82 of file AC_Avoid.h.
◆ AC_Avoid() [1/2]
◆ AC_Avoid() [2/2]
AC_Avoid::AC_Avoid |
( |
const AC_Avoid & |
other | ) |
|
|
delete |
◆ adjust_roll_pitch()
void AC_Avoid::adjust_roll_pitch |
( |
float & |
roll, |
|
|
float & |
pitch, |
|
|
float |
angle_max |
|
) |
| |
◆ adjust_speed()
void AC_Avoid::adjust_speed |
( |
float |
kP, |
|
|
float |
accel, |
|
|
float |
heading, |
|
|
float & |
speed, |
|
|
float |
dt |
|
) |
| |
◆ adjust_velocity() [1/2]
void AC_Avoid::adjust_velocity |
( |
float |
kP, |
|
|
float |
accel_cmss, |
|
|
Vector2f & |
desired_vel_cms, |
|
|
float |
dt |
|
) |
| |
◆ adjust_velocity() [2/2]
void AC_Avoid::adjust_velocity |
( |
float |
kP, |
|
|
float |
accel_cmss, |
|
|
Vector3f & |
desired_vel_cms, |
|
|
float |
dt |
|
) |
| |
◆ adjust_velocity_beacon_fence()
void AC_Avoid::adjust_velocity_beacon_fence |
( |
float |
kP, |
|
|
float |
accel_cmss, |
|
|
Vector2f & |
desired_vel_cms, |
|
|
float |
dt |
|
) |
| |
|
private |
◆ adjust_velocity_circle_fence()
void AC_Avoid::adjust_velocity_circle_fence |
( |
float |
kP, |
|
|
float |
accel_cmss, |
|
|
Vector2f & |
desired_vel_cms, |
|
|
float |
dt |
|
) |
| |
|
private |
◆ adjust_velocity_polygon()
void AC_Avoid::adjust_velocity_polygon |
( |
float |
kP, |
|
|
float |
accel_cmss, |
|
|
Vector2f & |
desired_vel_cms, |
|
|
const Vector2f * |
boundary, |
|
|
uint16_t |
num_points, |
|
|
bool |
earth_frame, |
|
|
float |
margin, |
|
|
float |
dt |
|
) |
| |
|
private |
◆ adjust_velocity_polygon_fence()
void AC_Avoid::adjust_velocity_polygon_fence |
( |
float |
kP, |
|
|
float |
accel_cmss, |
|
|
Vector2f & |
desired_vel_cms, |
|
|
float |
dt |
|
) |
| |
|
private |
◆ adjust_velocity_proximity()
void AC_Avoid::adjust_velocity_proximity |
( |
float |
kP, |
|
|
float |
accel_cmss, |
|
|
Vector2f & |
desired_vel_cms, |
|
|
float |
dt |
|
) |
| |
|
private |
◆ adjust_velocity_z()
void AC_Avoid::adjust_velocity_z |
( |
float |
kP, |
|
|
float |
accel_cmss, |
|
|
float & |
climb_rate_cms, |
|
|
float |
dt |
|
) |
| |
◆ distance_to_lean_pct()
float AC_Avoid::distance_to_lean_pct |
( |
float |
dist_m | ) |
|
|
private |
◆ get_max_speed()
float AC_Avoid::get_max_speed |
( |
float |
kP, |
|
|
float |
accel_cmss, |
|
|
float |
distance_cm, |
|
|
float |
dt |
|
) |
| const |
◆ get_proximity_roll_pitch_pct()
void AC_Avoid::get_proximity_roll_pitch_pct |
( |
float & |
roll_positive, |
|
|
float & |
roll_negative, |
|
|
float & |
pitch_positive, |
|
|
float & |
pitch_negative |
|
) |
| |
|
private |
◆ get_stopping_distance()
float AC_Avoid::get_stopping_distance |
( |
float |
kP, |
|
|
float |
accel_cmss, |
|
|
float |
speed_cms |
|
) |
| const |
|
private |
◆ limit_velocity()
void AC_Avoid::limit_velocity |
( |
float |
kP, |
|
|
float |
accel_cmss, |
|
|
Vector2f & |
desired_vel_cms, |
|
|
const Vector2f & |
limit_direction, |
|
|
float |
limit_distance_cm, |
|
|
float |
dt |
|
) |
| const |
◆ operator=()
◆ proximity_avoidance_enable()
void AC_Avoid::proximity_avoidance_enable |
( |
bool |
on_off | ) |
|
|
inline |
◆ proximity_avoidance_enabled()
bool AC_Avoid::proximity_avoidance_enabled |
( |
| ) |
|
|
inline |
◆ _ahrs
◆ _angle_max
AP_Int16 AC_Avoid::_angle_max |
|
private |
◆ _beacon
◆ _behavior
AP_Int8 AC_Avoid::_behavior |
|
private |
◆ _dist_max
AP_Float AC_Avoid::_dist_max |
|
private |
◆ _enabled
AP_Int8 AC_Avoid::_enabled |
|
private |
◆ _fence
◆ _margin
AP_Float AC_Avoid::_margin |
|
private |
◆ _proximity
◆ _proximity_enabled
bool AC_Avoid::_proximity_enabled = true |
|
private |
◆ var_info
The documentation for this class was generated from the following files: