Public Member Functions | Private Member Functions | Private Attributes | List of all members
XbotManager Class Reference

Keyboard remote control for our robot core (mobile base). More...

Public Member Functions

std::string & getFirmwareVersion ()
 
std::string & getHardwareVersion ()
 
ecl::Pose2D< double > getPose ()
 
ecl::Pose2D< double > getPose ()
 
std::string & getSoftwareVersion ()
 
std::string & getUDID ()
 
bool init ()
 Initialises the node. More...
 
bool isAcquired ()
 
void processMotion ()
 
void processStreamData ()
 
void processStreamData ()
 
void processStreamData ()
 
void spin ()
 Worker thread loop; sends current velocity command at a fixed rate. More...
 
void spin ()
 
 XbotManager ()
 Default constructor, needs initialisation. More...
 
 XbotManager ()
 
 XbotManager (const std::string &device_port)
 
 XbotManager ()
 
 XbotManager ()
 
 ~XbotManager ()
 
 ~XbotManager ()
 
 ~XbotManager ()
 

Private Member Functions

void decrementAngularVelocity ()
 If not already mined, decrement the angular velocities.. More...
 
void decrementLinearVelocity ()
 If not already minned, decrement the linear velocities.. More...
 
void incrementAngularVelocity ()
 If not already maxxed, increment the angular velocities.. More...
 
void incrementLinearVelocity ()
 If not already maxxed, increment the command velocities.. More...
 
void keyboardInputLoop ()
 The worker thread function that accepts input keyboard commands. More...
 
void processKeyboardInput (char c)
 Process individual keyboard inputs. More...
 
void resetVelocity ()
 
void restoreTerminal ()
 

Private Attributes

volatile bool acquired
 
float angular_vel_max
 
float angular_vel_step
 
double dth
 
double dx
 
std::string firmware
 
std::string hardware
 
int key_file_descriptor
 
float linear_vel_max
 
float linear_vel_step
 
std::string name
 
struct termios original_terminal_state
 
ecl::Pose2D< double > pose
 
bool quit_requested
 
ecl::Slot slot_stream_data
 
std::string software
 
ecl::Thread thread
 
std::string udid
 
float vx
 
float wz
 
xbot::Xbot xbot
 

Detailed Description

Keyboard remote control for our robot core (mobile base).

Definition at line 14 of file initialisation.cpp.

Constructor & Destructor Documentation

XbotManager::XbotManager ( )
inline

Default constructor, needs initialisation.

Definition at line 16 of file initialisation.cpp.

XbotManager::XbotManager ( )
inline

Definition at line 21 of file sigslots.cpp.

XbotManager::XbotManager ( )
inline

Definition at line 26 of file simple_loop.cpp.

XbotManager::~XbotManager ( )
inline

Definition at line 39 of file simple_loop.cpp.

XbotManager::XbotManager ( )
XbotManager::~XbotManager ( )
XbotManager::XbotManager ( const std::string &  device_port)
inline

Definition at line 24 of file version_info.cpp.

XbotManager::~XbotManager ( )
inline

Definition at line 34 of file version_info.cpp.

Member Function Documentation

void XbotManager::decrementAngularVelocity ( )
private

If not already mined, decrement the angular velocities..

Definition at line 342 of file simple_keyop.cpp.

void XbotManager::decrementLinearVelocity ( )
private

If not already minned, decrement the linear velocities..

Definition at line 318 of file simple_keyop.cpp.

std::string& XbotManager::getFirmwareVersion ( )
inline

Definition at line 41 of file version_info.cpp.

std::string& XbotManager::getHardwareVersion ( )
inline

Definition at line 40 of file version_info.cpp.

ecl::Pose2D< double > XbotManager::getPose ( )
inline

Definition at line 69 of file simple_loop.cpp.

ecl::Pose2D<double> XbotManager::getPose ( )
std::string& XbotManager::getSoftwareVersion ( )
inline

Definition at line 42 of file version_info.cpp.

std::string& XbotManager::getUDID ( )
inline

Definition at line 43 of file version_info.cpp.

void XbotManager::incrementAngularVelocity ( )
private

If not already maxxed, increment the angular velocities..

Definition at line 330 of file simple_keyop.cpp.

void XbotManager::incrementLinearVelocity ( )
private

If not already maxxed, increment the command velocities..

Definition at line 306 of file simple_keyop.cpp.

bool XbotManager::init ( )

Initialises the node.

Definition at line 147 of file simple_keyop.cpp.

bool XbotManager::isAcquired ( )
inline

Definition at line 39 of file version_info.cpp.

void XbotManager::keyboardInputLoop ( )
private

The worker thread function that accepts input keyboard commands.

This is ok here - but later it might be a good idea to make a node which posts keyboard events to a topic. Recycle common code if used by many!

Definition at line 217 of file simple_keyop.cpp.

void XbotManager::processKeyboardInput ( char  c)
private

Process individual keyboard inputs.

Parameters
ckeyboard input.

Definition at line 251 of file simple_keyop.cpp.

void XbotManager::processMotion ( )
inline

Definition at line 58 of file simple_loop.cpp.

void XbotManager::processStreamData ( )
inline

Definition at line 44 of file simple_loop.cpp.

void XbotManager::processStreamData ( )
inline

Definition at line 46 of file sigslots.cpp.

void XbotManager::processStreamData ( )
void XbotManager::resetVelocity ( )
private

Definition at line 351 of file simple_keyop.cpp.

void XbotManager::restoreTerminal ( )
private
void XbotManager::spin ( )
inline

Worker thread loop; sends current velocity command at a fixed rate.

It also process ros functions as well as aborting when requested.

Definition at line 32 of file sigslots.cpp.

void XbotManager::spin ( )

Member Data Documentation

volatile bool XbotManager::acquired
private

Definition at line 46 of file version_info.cpp.

float XbotManager::angular_vel_max
private

Definition at line 92 of file simple_keyop.cpp.

float XbotManager::angular_vel_step
private

Definition at line 92 of file simple_keyop.cpp.

double XbotManager::dth
private

Definition at line 74 of file simple_loop.cpp.

double XbotManager::dx
private

Definition at line 74 of file simple_loop.cpp.

std::string XbotManager::firmware
private

Definition at line 48 of file version_info.cpp.

std::string XbotManager::hardware
private

Definition at line 48 of file version_info.cpp.

int XbotManager::key_file_descriptor
private

Definition at line 112 of file simple_keyop.cpp.

float XbotManager::linear_vel_max
private

Definition at line 91 of file simple_keyop.cpp.

float XbotManager::linear_vel_step
private

Definition at line 91 of file simple_keyop.cpp.

std::string XbotManager::name
private

Definition at line 93 of file simple_keyop.cpp.

struct termios XbotManager::original_terminal_state
private

Definition at line 113 of file simple_keyop.cpp.

ecl::Pose2D< double > XbotManager::pose
private

Definition at line 75 of file simple_loop.cpp.

bool XbotManager::quit_requested
private

Definition at line 111 of file simple_keyop.cpp.

ecl::Slot XbotManager::slot_stream_data
private

Definition at line 53 of file sigslots.cpp.

std::string XbotManager::software
private

Definition at line 48 of file version_info.cpp.

ecl::Thread XbotManager::thread
private

Definition at line 114 of file simple_keyop.cpp.

std::string XbotManager::udid
private

Definition at line 48 of file version_info.cpp.

float XbotManager::vx
private

Definition at line 86 of file simple_keyop.cpp.

float XbotManager::wz
private

Definition at line 86 of file simple_keyop.cpp.

xbot::Xbot XbotManager::xbot
private

Definition at line 36 of file initialisation.cpp.


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


xbot_driver
Author(s): Roc, wangpeng@droid.ac.cn
autogenerated on Sat Oct 10 2020 03:27:38