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

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

Public Member Functions

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

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
 
double angular_vel_max
 
double angular_vel_step
 
double dth
 
double dx
 
std::string firmware
 
std::string hardware
 
int key_file_descriptor
 
kobuki::Kobuki kobuki
 
double linear_vel_max
 
double linear_vel_step
 
std::string name
 
struct termios original_terminal_state
 
ecl::LegacyPose2D< double > pose
 
bool quit_requested
 
ecl::Slot slot_stream_data
 
ecl::Slot< const kobuki::VersionInfo & > slot_version_info
 
std::string software
 
ecl::Thread thread
 
std::string udid
 
double vx
 
double wz
 

Detailed Description

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

Definition at line 14 of file initialisation.cpp.

Constructor & Destructor Documentation

KobukiManager::KobukiManager ( )
inline

Default constructor, needs initialisation.

Definition at line 16 of file initialisation.cpp.

KobukiManager::KobukiManager ( )
inline

Definition at line 21 of file sigslots.cpp.

KobukiManager::KobukiManager ( )
inline

Definition at line 26 of file simple_loop.cpp.

KobukiManager::~KobukiManager ( )
inline

Definition at line 39 of file simple_loop.cpp.

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

Definition at line 24 of file version_info.cpp.

KobukiManager::~KobukiManager ( )
inline

Definition at line 36 of file version_info.cpp.

Member Function Documentation

void KobukiManager::decrementAngularVelocity ( )
private

If not already mined, decrement the angular velocities..

Definition at line 342 of file simple_keyop.cpp.

void KobukiManager::decrementLinearVelocity ( )
private

If not already minned, decrement the linear velocities..

Definition at line 318 of file simple_keyop.cpp.

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

Definition at line 51 of file version_info.cpp.

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

Definition at line 50 of file version_info.cpp.

ecl::LegacyPose2D< double > KobukiManager::getPose ( )
inline

Definition at line 64 of file simple_loop.cpp.

ecl::LegacyPose2D<double> KobukiManager::getPose ( )
std::string& KobukiManager::getSoftwareVersion ( )
inline

Definition at line 52 of file version_info.cpp.

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

Definition at line 53 of file version_info.cpp.

void KobukiManager::incrementAngularVelocity ( )
private

If not already maxxed, increment the angular velocities..

Definition at line 330 of file simple_keyop.cpp.

void KobukiManager::incrementLinearVelocity ( )
private

If not already maxxed, increment the command velocities..

Definition at line 306 of file simple_keyop.cpp.

bool KobukiManager::init ( )

Initialises the node.

Definition at line 147 of file simple_keyop.cpp.

bool KobukiManager::isAcquired ( )
inline

Definition at line 49 of file version_info.cpp.

void KobukiManager::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 KobukiManager::processKeyboardInput ( char  c)
private

Process individual keyboard inputs.

Parameters
ckeyboard input.

Definition at line 251 of file simple_keyop.cpp.

void KobukiManager::processMotion ( )
inline

Definition at line 58 of file simple_loop.cpp.

void KobukiManager::processStreamData ( )
inline

Definition at line 44 of file simple_loop.cpp.

void KobukiManager::processStreamData ( )
inline

Definition at line 46 of file sigslots.cpp.

void KobukiManager::processStreamData ( )
void KobukiManager::processVersionInfo ( const kobuki::VersionInfo version_info)
inline

Definition at line 40 of file version_info.cpp.

void KobukiManager::resetVelocity ( )
private

Definition at line 351 of file simple_keyop.cpp.

void KobukiManager::restoreTerminal ( )
private
void KobukiManager::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 KobukiManager::spin ( )

Member Data Documentation

volatile bool KobukiManager::acquired
private

Definition at line 56 of file version_info.cpp.

double KobukiManager::angular_vel_max
private

Definition at line 92 of file simple_keyop.cpp.

double KobukiManager::angular_vel_step
private

Definition at line 92 of file simple_keyop.cpp.

double KobukiManager::dth
private

Definition at line 69 of file simple_loop.cpp.

double KobukiManager::dx
private

Definition at line 69 of file simple_loop.cpp.

std::string KobukiManager::firmware
private

Definition at line 58 of file version_info.cpp.

std::string KobukiManager::hardware
private

Definition at line 58 of file version_info.cpp.

int KobukiManager::key_file_descriptor
private

Definition at line 112 of file simple_keyop.cpp.

kobuki::Kobuki KobukiManager::kobuki
private

Definition at line 40 of file initialisation.cpp.

double KobukiManager::linear_vel_max
private

Definition at line 91 of file simple_keyop.cpp.

double KobukiManager::linear_vel_step
private

Definition at line 91 of file simple_keyop.cpp.

std::string KobukiManager::name
private

Definition at line 93 of file simple_keyop.cpp.

struct termios KobukiManager::original_terminal_state
private

Definition at line 113 of file simple_keyop.cpp.

ecl::LegacyPose2D< double > KobukiManager::pose
private

Definition at line 70 of file simple_loop.cpp.

bool KobukiManager::quit_requested
private

Definition at line 111 of file simple_keyop.cpp.

ecl::Slot KobukiManager::slot_stream_data
private

Definition at line 53 of file sigslots.cpp.

ecl::Slot<const kobuki::VersionInfo&> KobukiManager::slot_version_info
private

Definition at line 59 of file version_info.cpp.

std::string KobukiManager::software
private

Definition at line 58 of file version_info.cpp.

ecl::Thread KobukiManager::thread
private

Definition at line 114 of file simple_keyop.cpp.

std::string KobukiManager::udid
private

Definition at line 58 of file version_info.cpp.

double KobukiManager::vx
private

Definition at line 86 of file simple_keyop.cpp.

double KobukiManager::wz
private

Definition at line 86 of file simple_keyop.cpp.


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


kobuki_driver
Author(s): Daniel Stonier , Younghun Ju , Jorge Santos Simon
autogenerated on Mon Mar 27 2017 01:02:59