APM:Libraries
|
#include <AC_Circle.h>
Classes | |
struct | circle_flags |
Public Member Functions | |
AC_Circle (const AP_InertialNav &inav, const AP_AHRS_View &ahrs, AC_PosControl &pos_control) | |
Constructor. More... | |
void | init (const Vector3f ¢er) |
void | init () |
void | set_center (const Vector3f ¢er) |
set_circle_center in cm from home More... | |
const Vector3f & | get_center () const |
get_circle_center in cm from home More... | |
float | get_radius () |
get_radius - returns radius of circle in cm More... | |
void | set_radius (float radius_cm) |
set_radius - sets circle radius in cm More... | |
void | set_rate (float deg_per_sec) |
set_circle_rate - set circle rate in degrees per second More... | |
float | get_angle_total () const |
get_angle_total - return total angle in radians that vehicle has circled More... | |
void | update () |
update - update circle controller More... | |
int32_t | get_roll () const |
get desired roll, pitch which should be fed into stabilize controllers More... | |
int32_t | get_pitch () const |
int32_t | get_yaw () const |
void | get_closest_point_on_circle (Vector3f &result) |
float | get_distance_to_target () const |
get horizontal distance to loiter target in cm More... | |
int32_t | get_bearing_to_target () const |
get bearing to target in centi-degrees More... | |
Static Public Attributes | |
static const struct AP_Param::GroupInfo | var_info [] |
Private Member Functions | |
void | calc_velocities (bool init_velocity) |
void | init_start_angle (bool use_heading) |
Private Attributes | |
struct AC_Circle::circle_flags | _flags |
const AP_InertialNav & | _inav |
const AP_AHRS_View & | _ahrs |
AC_PosControl & | _pos_control |
AP_Float | _radius |
AP_Float | _rate |
Vector3f | _center |
float | _yaw |
float | _angle |
float | _angle_total |
float | _angular_vel |
float | _angular_vel_max |
float | _angular_accel |
Definition at line 14 of file AC_Circle.h.
AC_Circle::AC_Circle | ( | const AP_InertialNav & | inav, |
const AP_AHRS_View & | ahrs, | ||
AC_PosControl & | pos_control | ||
) |
|
private |
Definition at line 204 of file AC_Circle.cpp.
Referenced by init(), and set_rate().
|
inline |
get_angle_total - return total angle in radians that vehicle has circled
Definition at line 44 of file AC_Circle.h.
|
inline |
get bearing to target in centi-degrees
Definition at line 65 of file AC_Circle.h.
|
inline |
get_circle_center in cm from home
Definition at line 33 of file AC_Circle.h.
void AC_Circle::get_closest_point_on_circle | ( | Vector3f & | result | ) |
Definition at line 170 of file AC_Circle.cpp.
Referenced by get_yaw().
|
inline |
get horizontal distance to loiter target in cm
Definition at line 62 of file AC_Circle.h.
|
inline |
|
inline |
get_radius - returns radius of circle in cm
Definition at line 36 of file AC_Circle.h.
|
inline |
get desired roll, pitch which should be fed into stabilize controllers
Definition at line 50 of file AC_Circle.h.
|
inline |
void AC_Circle::init | ( | const Vector3f & | center | ) |
init - initialise circle controller setting center specifically caller should set the position controller's x,y and z speeds and accelerations before calling this
Definition at line 52 of file AC_Circle.cpp.
void AC_Circle::init | ( | ) |
init - initialise circle controller setting center using stopping point and projecting out based on the copter's heading caller should set the position controller's x,y and z speeds and accelerations before calling this
Definition at line 74 of file AC_Circle.cpp.
|
private |
Definition at line 231 of file AC_Circle.cpp.
Referenced by init().
|
inline |
set_circle_center in cm from home
Definition at line 30 of file AC_Circle.h.
|
inline |
set_radius - sets circle radius in cm
Definition at line 38 of file AC_Circle.h.
void AC_Circle::set_rate | ( | float | deg_per_sec | ) |
set_circle_rate - set circle rate in degrees per second
Definition at line 101 of file AC_Circle.cpp.
Referenced by set_radius().
void AC_Circle::update | ( | ) |
update - update circle controller
Definition at line 110 of file AC_Circle.cpp.
Referenced by get_angle_total().
|
private |
Definition at line 89 of file AC_Circle.h.
Referenced by get_closest_point_on_circle(), init(), and init_start_angle().
|
private |
Definition at line 99 of file AC_Circle.h.
Referenced by init_start_angle(), and update().
|
private |
Definition at line 100 of file AC_Circle.h.
Referenced by get_angle_total(), init_start_angle(), and update().
|
private |
Definition at line 103 of file AC_Circle.h.
Referenced by calc_velocities(), and update().
|
private |
Definition at line 101 of file AC_Circle.h.
Referenced by calc_velocities(), and update().
|
private |
Definition at line 102 of file AC_Circle.h.
Referenced by calc_velocities(), and update().
|
private |
Definition at line 97 of file AC_Circle.h.
Referenced by get_center(), get_closest_point_on_circle(), init(), init_start_angle(), set_center(), and update().
|
private |
Referenced by AC_Circle().
|
private |
Definition at line 88 of file AC_Circle.h.
Referenced by get_closest_point_on_circle(), and init_start_angle().
|
private |
Definition at line 90 of file AC_Circle.h.
Referenced by calc_velocities(), get_bearing_to_target(), get_distance_to_target(), get_pitch(), get_roll(), init(), and update().
|
private |
Definition at line 93 of file AC_Circle.h.
Referenced by calc_velocities(), get_closest_point_on_circle(), get_radius(), init(), init_start_angle(), set_radius(), and update().
|
private |
Definition at line 94 of file AC_Circle.h.
Referenced by calc_velocities(), and set_rate().
|
private |
Definition at line 98 of file AC_Circle.h.
|
static |