Public Member Functions | Public Attributes | Private Member Functions | Private Attributes
VFH_Algorithm Class Reference

List of all members.

Public Member Functions

 VFH_Algorithm (double cell_size, int window_diameter, int sector_angle, double safety_dist_0ms, double safety_dist_1ms, int max_speed, int max_speed_narrow_opening, int max_speed_wide_opening, int max_acceleration, int min_turnrate, int max_turnrate_0ms, int max_turnrate_1ms, double min_turn_radius_safety_factor, double free_space_cutoff_0ms, double obs_cutoff_0ms, double free_space_cutoff_1ms, double obs_cutoff_1ms, double weight_desired_dir, double weight_current_dir)
int Init ()
int Update_VFH (double laser_ranges[361][2], int current_speed, float goal_direction, float goal_distance, float goal_distance_tolerance, int &chosen_speed, int &chosen_turnrate)
int GetMinTurnrate ()
float GetDesiredAngle ()
float GetPickedAngle ()
int GetMaxTurnrate (int speed)
int GetCurrentMaxSpeed ()
void SetRobotRadius (float robot_radius)
void SetMinTurnrate (int min_turnrate)
void SetCurrentMaxSpeed (int Current_Max_Speed)

Public Attributes

float * Hist

Private Member Functions

int VFH_Allocate ()
float Delta_Angle (int a1, int a2)
float Delta_Angle (float a1, float a2)
int Bisect_Angle (int angle1, int angle2)
bool Cant_Turn_To_Goal ()
int Calculate_Cells_Mag (double laser_ranges[361][2], int speed)
int Build_Primary_Polar_Histogram (double laser_ranges[361][2], int speed)
int Build_Binary_Polar_Histogram (int speed)
int Build_Masked_Polar_Histogram (int speed)
int Select_Candidate_Angle ()
int Select_Direction ()
int Set_Motion (int &speed, int &turnrate, int current_speed)
void Print_Cells_Dir ()
void Print_Cells_Mag ()
void Print_Cells_Dist ()
void Print_Cells_Sector ()
void Print_Cells_Enlargement_Angle ()
void Print_Hist ()
int Get_Speed_Index (int speed)
int Get_Safety_Dist (int speed)
float Get_Binary_Hist_Low (int speed)
float Get_Binary_Hist_High (int speed)

Private Attributes

float ROBOT_RADIUS
int CENTER_X
int CENTER_Y
int HIST_SIZE
float CELL_WIDTH
int WINDOW_DIAMETER
int SECTOR_ANGLE
float SAFETY_DIST_0MS
float SAFETY_DIST_1MS
int Current_Max_Speed
int MAX_SPEED
int MAX_SPEED_NARROW_OPENING
int MAX_SPEED_WIDE_OPENING
int MAX_ACCELERATION
int MIN_TURNRATE
int NUM_CELL_SECTOR_TABLES
int MAX_TURNRATE_0MS
int MAX_TURNRATE_1MS
double MIN_TURN_RADIUS_SAFETY_FACTOR
float Binary_Hist_Low_0ms
float Binary_Hist_High_0ms
float Binary_Hist_Low_1ms
float Binary_Hist_High_1ms
float U1
float U2
float Desired_Angle
float Dist_To_Goal
float Goal_Distance_Tolerance
float Picked_Angle
float Last_Picked_Angle
int Max_Speed_For_Picked_Angle
float Blocked_Circle_Radius
std::vector< std::vector< float > > Cell_Direction
std::vector< std::vector< float > > Cell_Base_Mag
std::vector< std::vector< float > > Cell_Mag
std::vector< std::vector< float > > Cell_Dist
std::vector< std::vector< float > > Cell_Enlarge
std::vector< std::vector
< std::vector< std::vector
< int > > > > 
Cell_Sector
std::vector< float > Candidate_Angle
std::vector< int > Candidate_Speed
double dist_eps
double ang_eps
float * Last_Binary_Hist
std::vector< int > Min_Turning_Radius
timeval last_update_time
int last_chosen_speed

The documentation for this class was generated from the following files:

Last updated 12 September 2005 21:38:45