ArtSteer Class Reference

List of all members.

Public Member Functions

 ArtSteer ()
void run ()
 ~ArtSteer ()

Private Types

typedef art_msgs::DriverState DriverState

Private Member Functions

int calibrate_wheel_position (void)
void close ()
float degrees2volts (float degrees)
void GetCmd (const art_msgs::SteeringCommand::ConstPtr &cmdIn)
void GetPos (const art_msgs::IOadrState::ConstPtr &ioIn)
int open ()
void PublishStatus (void)
void read_wheel_angle (void)
float volts2degrees (float volts)

Private Attributes

bool angle_known_
boost::shared_ptr< Polynomial > apoly_
int calibration_cycle_
int calibration_periods_
double cur_sensor_time_
boost::shared_ptr< devsteerdev_
bool diagnostic_
DriverState::_state_type driver_state_
ros::Subscriber ioadr_state_
double last_sensor_time_
float last_set_point_
float mean_voltage_
double sensor_timeout_
float set_point_
bool simulate_
float steering_angle_
ros::Subscriber steering_cmd_
ros::Publisher steering_diag_
float steering_sensor_
ros::Publisher steering_state_
boost::shared_ptr< testwheeltw_
boost::shared_ptr< Polynomial > vpoly_
bool wheel_calibrated_
bool wheel_tested_

Detailed Description

Definition at line 76 of file steering.cc.


Member Typedef Documentation

typedef art_msgs::DriverState ArtSteer::DriverState [private]

Definition at line 120 of file steering.cc.


Constructor & Destructor Documentation

ArtSteer::ArtSteer (  ) 

Todo:
use this to detect when ioadr driver hung or not responding

Definition at line 164 of file steering.cc.

ArtSteer::~ArtSteer (  ) 

Definition at line 238 of file steering.cc.


Member Function Documentation

int ArtSteer::calibrate_wheel_position ( void   )  [private]

Definition at line 323 of file steering.cc.

void ArtSteer::close (  )  [private]

close the device.

Postcondition:
driver_state_ is CLOSED

Definition at line 271 of file steering.cc.

float ArtSteer::degrees2volts ( float  degrees  )  [inline, private]

Definition at line 158 of file steering.cc.

void ArtSteer::GetCmd ( const art_msgs::SteeringCommand::ConstPtr &  cmdIn  )  [private]

Definition at line 278 of file steering.cc.

void ArtSteer::GetPos ( const art_msgs::IOadrState::ConstPtr &  ioIn  )  [private]

Definition at line 299 of file steering.cc.

int ArtSteer::open (  )  [private]

open the device.

Returns:
0 if successful.
Postcondition:
state is OPENED (if successful)

Definition at line 251 of file steering.cc.

void ArtSteer::PublishStatus ( void   )  [private]

publish current device status

Definition at line 374 of file steering.cc.

void ArtSteer::read_wheel_angle ( void   )  [private]

Get simulated wheel angle from driver

Only required when simulating the position sensor (even when using the real steering device).

Bug:
this should NOT be called until after calibrate_wheel_position
Postcondition:
when simulate_ is true, tries to set steering_angle_, steering_sensor_, cur_sensor_time_, angle_known_

Definition at line 359 of file steering.cc.

void ArtSteer::run (  ) 

Definition at line 394 of file steering.cc.

float ArtSteer::volts2degrees ( float  volts  )  [inline, private]

Definition at line 147 of file steering.cc.


Member Data Documentation

bool ArtSteer::angle_known_ [private]

Definition at line 131 of file steering.cc.

boost::shared_ptr<Polynomial> ArtSteer::apoly_ [private]

Definition at line 139 of file steering.cc.

Definition at line 116 of file steering.cc.

Definition at line 99 of file steering.cc.

double ArtSteer::cur_sensor_time_ [private]

Definition at line 110 of file steering.cc.

boost::shared_ptr<devsteer> ArtSteer::dev_ [private]

Definition at line 135 of file steering.cc.

bool ArtSteer::diagnostic_ [private]

Definition at line 97 of file steering.cc.

DriverState::_state_type ArtSteer::driver_state_ [private]

Definition at line 121 of file steering.cc.

ros::Subscriber ArtSteer::ioadr_state_ [private]

Definition at line 103 of file steering.cc.

double ArtSteer::last_sensor_time_ [private]

Definition at line 111 of file steering.cc.

float ArtSteer::last_set_point_ [private]

Definition at line 113 of file steering.cc.

float ArtSteer::mean_voltage_ [private]

Definition at line 117 of file steering.cc.

double ArtSteer::sensor_timeout_ [private]

Definition at line 100 of file steering.cc.

float ArtSteer::set_point_ [private]

Definition at line 112 of file steering.cc.

bool ArtSteer::simulate_ [private]

Definition at line 98 of file steering.cc.

float ArtSteer::steering_angle_ [private]

Definition at line 108 of file steering.cc.

ros::Subscriber ArtSteer::steering_cmd_ [private]

Definition at line 104 of file steering.cc.

ros::Publisher ArtSteer::steering_diag_ [private]

Definition at line 106 of file steering.cc.

float ArtSteer::steering_sensor_ [private]

Definition at line 109 of file steering.cc.

ros::Publisher ArtSteer::steering_state_ [private]

Definition at line 105 of file steering.cc.

boost::shared_ptr<testwheel> ArtSteer::tw_ [private]

Definition at line 136 of file steering.cc.

boost::shared_ptr<Polynomial> ArtSteer::vpoly_ [private]

Definition at line 141 of file steering.cc.

Definition at line 132 of file steering.cc.

bool ArtSteer::wheel_tested_ [private]

Definition at line 133 of file steering.cc.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines


art_servo
Author(s): Austin Robot Technology, Jack O'Quin
autogenerated on Fri Jan 11 10:00:00 2013