#include <dynamic_object.H>
Public Member Functions | |
dynamic_object_t () | |
dynamic_object_t (dSpaceID *world_space, object_info_t *object_data, rndf_tool_t *rndf_tool, access_data_t *access_data_) | |
~dynamic_object_t () | |
virtual bool | update (float curr_time) |
virtual void | get_data (vector< obstacle_data_t > *&object_info, vector< obstacle_points_data_t > *&object_points_) |
bool | read_conf (conf_t &conf_) |
void | change_controller (int type) |
void | update_speed () |
void | update_steering (float steering, float throttle, steering_data_t::gear_t gear) |
void | move_controls () |
void | set_static (bool is_static_) |
Public Attributes | |
unsigned | steering_min |
unsigned | steering_max |
unsigned | throttle_min |
unsigned | throttle_max |
double | min_wheel_angle |
double | max_wheel_angle |
double | avg_wheel_angle |
Protected Attributes | |
bool | m_static |
controller_interface_t * | m_controller |
nav_sensor_t * | m_nav_sensor |
motion_sensor_t * | m_motion_sensor |
sog_sensor_t * | m_sog_sensor |
angular_rate_sensor_t * | m_angular_rate_sensor |
acceleration_sensor_t * | m_accel_sensor |
steering_data_t | m_steering_buffer [STEER_BUFFER_SIZE] |
unsigned | m_steering_counter |
unsigned | m_steering_index |
double | m_wheel_radius |
double | m_wheel_width |
double | m_throttle |
double | m_steering_pos |
double | m_max_omega |
double | m_speed |
double | m_max_linear_velocity |
double | m_throttle_rate |
double | m_lever_rate |
steering_data_t | m_robotSteering |
steering_data_t::gear_t | m_current_gear |
Friends | |
class | controller_interface_t |
cajun::dynamic_object_t::dynamic_object_t | ( | ) |
dynamic_object_t::dynamic_object_t | ( | dSpaceID * | world_space, | |
object_info_t * | object_data, | |||
rndf_tool_t * | rndf_tool, | |||
access_data_t * | access_data_ | |||
) |
References m_accel_sensor, m_angular_rate_sensor, m_controller, m_lever_rate, m_max_linear_velocity, m_max_omega, m_motion_sensor, m_nav_sensor, m_sog_sensor, m_speed, m_static, m_steering_buffer, m_steering_counter, m_steering_index, m_throttle, m_throttle_rate, m_wheel_radius, m_wheel_width, read_conf(), and STEER_BUFFER_SIZE.
dynamic_object_t::~dynamic_object_t | ( | ) |
References m_accel_sensor, m_angular_rate_sensor, m_controller, m_motion_sensor, m_nav_sensor, and m_sog_sensor.
void dynamic_object_t::change_controller | ( | int | type | ) |
References m_controller, cajun::sim_world_object_t::m_timer, cajun::MANUAL, cajun::NONE, cajun::SCRIPT, cajun::SENSOR, and cajun::WAYPOINT.
Referenced by cajun::non_simulated_object_t::non_simulated_object_t(), cajun::simulated_object_t::simulated_object_t(), cajun::script_controller_t::steering_observer_t::timeout(), and cajun::simulated_object_t::update().
void dynamic_object_t::get_data | ( | vector< obstacle_data_t > *& | object_info, | |
vector< obstacle_points_data_t > *& | object_points_ | |||
) | [virtual] |
Implements cajun::sim_world_object_t.
Reimplemented in cajun::non_simulated_object_t, and cajun::simulated_object_t.
void dynamic_object_t::move_controls | ( | ) |
References DELAY_THROTTLE, m_max_omega, m_robotSteering, m_speed, m_steering_pos, m_throttle, and m_throttle_rate.
Referenced by cajun::steering_sensor_t::simulate_component().
bool dynamic_object_t::read_conf | ( | conf_t & | conf_ | ) |
References avg_wheel_angle, D2R, max_wheel_angle, min_wheel_angle, steering_max, steering_min, throttle_max, and throttle_min.
Referenced by dynamic_object_t().
void dynamic_object_t::set_static | ( | bool | is_static_ | ) |
References m_static.
Referenced by cajun::waypoint_controller_t::steering_observer_t::timeout(), and cajun::script_controller_t::steering_observer_t::timeout().
bool dynamic_object_t::update | ( | float | curr_time | ) | [virtual] |
Implements cajun::sim_world_object_t.
Reimplemented in cajun::non_simulated_object_t, and cajun::simulated_object_t.
void dynamic_object_t::update_speed | ( | ) |
References avg_wheel_angle, m_current_gear, cajun::sim_world_object_t::m_hing, m_robotSteering, m_speed, m_steering_pos, m_throttle, MAX_FORCE_1, MAX_FORCE_3, and NUM_WHEELS.
Referenced by cajun::steering_sensor_t::simulate_component().
void dynamic_object_t::update_steering | ( | float | steering, | |
float | throttle, | |||
steering_data_t::gear_t | gear | |||
) |
References m_robotSteering.
Referenced by cajun::steering_sensor_t::update_steering_data().
friend class controller_interface_t [friend] |
Referenced by cajun::drive_sensor_t::get_drive_data(), read_conf(), and update_speed().
Referenced by dynamic_object_t(), cajun::simulated_object_t::simulated_object_t(), and ~dynamic_object_t().
Referenced by dynamic_object_t(), cajun::simulated_object_t::simulated_object_t(), and ~dynamic_object_t().
Referenced by change_controller(), dynamic_object_t(), and ~dynamic_object_t().
steering_data_t::gear_t cajun::dynamic_object_t::m_current_gear [protected] |
Referenced by update_speed().
double cajun::dynamic_object_t::m_lever_rate [protected] |
Referenced by dynamic_object_t(), and cajun::simulated_object_t::simulated_object_t().
double cajun::dynamic_object_t::m_max_linear_velocity [protected] |
Referenced by dynamic_object_t(), and cajun::simulated_object_t::simulated_object_t().
double cajun::dynamic_object_t::m_max_omega [protected] |
Referenced by dynamic_object_t(), move_controls(), and cajun::simulated_object_t::simulated_object_t().
motion_sensor_t* cajun::dynamic_object_t::m_motion_sensor [protected] |
Referenced by dynamic_object_t(), cajun::simulated_object_t::simulated_object_t(), and ~dynamic_object_t().
nav_sensor_t* cajun::dynamic_object_t::m_nav_sensor [protected] |
Referenced by dynamic_object_t(), cajun::simulated_object_t::simulated_object_t(), and ~dynamic_object_t().
steering_data_t cajun::dynamic_object_t::m_robotSteering [protected] |
Referenced by move_controls(), update_speed(), and update_steering().
sog_sensor_t* cajun::dynamic_object_t::m_sog_sensor [protected] |
Referenced by dynamic_object_t(), cajun::simulated_object_t::simulated_object_t(), and ~dynamic_object_t().
double cajun::dynamic_object_t::m_speed [protected] |
Referenced by dynamic_object_t(), move_controls(), and update_speed().
bool cajun::dynamic_object_t::m_static [protected] |
Referenced by dynamic_object_t(), cajun::simulated_object_t::get_data(), and set_static().
steering_data_t cajun::dynamic_object_t::m_steering_buffer[STEER_BUFFER_SIZE] [protected] |
Referenced by dynamic_object_t().
unsigned cajun::dynamic_object_t::m_steering_counter [protected] |
Referenced by dynamic_object_t().
unsigned cajun::dynamic_object_t::m_steering_index [protected] |
Referenced by dynamic_object_t().
double cajun::dynamic_object_t::m_steering_pos [protected] |
Referenced by move_controls(), and update_speed().
double cajun::dynamic_object_t::m_throttle [protected] |
Referenced by dynamic_object_t(), cajun::simulated_object_t::get_throttle_pos(), move_controls(), and update_speed().
double cajun::dynamic_object_t::m_throttle_rate [protected] |
Referenced by dynamic_object_t(), move_controls(), and cajun::simulated_object_t::simulated_object_t().
double cajun::dynamic_object_t::m_wheel_radius [protected] |
double cajun::dynamic_object_t::m_wheel_width [protected] |
Referenced by dynamic_object_t(), and cajun::simulated_object_t::simulated_object_t().
Referenced by read_conf().
Referenced by read_conf().
Referenced by cajun::drive_sensor_t::get_drive_data(), and read_conf().
Referenced by cajun::drive_sensor_t::get_drive_data(), and read_conf().
Referenced by cajun::drive_sensor_t::get_drive_data(), and read_conf().
Referenced by cajun::drive_sensor_t::get_drive_data(), and read_conf().