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 ()
 
bool isShutdown () const
 
 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 relayErrors (const std::string &message)
 
void relayWarnings (const std::string &message)
 
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 relayErrors (const std::string &message)
 
void relayWarnings (const std::string &message)
 
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< const std::string & > slot_debug_error
 
ecl::Slot< const std::string & > slot_debug_warning
 
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() [1/5]

KobukiManager::KobukiManager ( )
inline

Default constructor, needs initialisation.

Definition at line 16 of file initialisation.cpp.

◆ KobukiManager() [2/5]

KobukiManager::KobukiManager ( )
inline

Definition at line 21 of file sigslots.cpp.

◆ KobukiManager() [3/5]

KobukiManager::KobukiManager ( )
inline

Definition at line 26 of file simple_loop.cpp.

◆ ~KobukiManager() [1/3]

KobukiManager::~KobukiManager ( )
inline

Definition at line 39 of file simple_loop.cpp.

◆ KobukiManager() [4/5]

KobukiManager::KobukiManager ( )

◆ ~KobukiManager() [2/3]

KobukiManager::~KobukiManager ( )

◆ KobukiManager() [5/5]

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

Definition at line 25 of file version_info.cpp.

◆ ~KobukiManager() [3/3]

KobukiManager::~KobukiManager ( )
inline

Definition at line 40 of file version_info.cpp.

Member Function Documentation

◆ decrementAngularVelocity()

void KobukiManager::decrementAngularVelocity ( )
private

If not already mined, decrement the angular velocities..

Definition at line 372 of file simple_keyop.cpp.

◆ decrementLinearVelocity()

void KobukiManager::decrementLinearVelocity ( )
private

If not already minned, decrement the linear velocities..

Definition at line 348 of file simple_keyop.cpp.

◆ getFirmwareVersion()

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

Definition at line 61 of file version_info.cpp.

◆ getHardwareVersion()

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

Definition at line 60 of file version_info.cpp.

◆ getPose() [1/2]

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

Definition at line 64 of file simple_loop.cpp.

◆ getPose() [2/2]

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

◆ getSoftwareVersion()

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

Definition at line 62 of file version_info.cpp.

◆ getUDID()

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

Definition at line 63 of file version_info.cpp.

◆ incrementAngularVelocity()

void KobukiManager::incrementAngularVelocity ( )
private

If not already maxxed, increment the angular velocities..

Definition at line 360 of file simple_keyop.cpp.

◆ incrementLinearVelocity()

void KobukiManager::incrementLinearVelocity ( )
private

If not already maxxed, increment the command velocities..

Definition at line 336 of file simple_keyop.cpp.

◆ init()

bool KobukiManager::init ( )

Initialises the node.

Definition at line 159 of file simple_keyop.cpp.

◆ isAcquired()

bool KobukiManager::isAcquired ( )
inline

Definition at line 59 of file version_info.cpp.

◆ isShutdown()

bool KobukiManager::isShutdown ( ) const
inline

Definition at line 86 of file simple_keyop.cpp.

◆ keyboardInputLoop()

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 246 of file simple_keyop.cpp.

◆ processKeyboardInput()

void KobukiManager::processKeyboardInput ( char  c)
private

Process individual keyboard inputs.

Parameters
ckeyboard input.

Definition at line 281 of file simple_keyop.cpp.

◆ processMotion()

void KobukiManager::processMotion ( )
inline

Definition at line 58 of file simple_loop.cpp.

◆ processStreamData() [1/3]

void KobukiManager::processStreamData ( )
inline

Definition at line 44 of file simple_loop.cpp.

◆ processStreamData() [2/3]

void KobukiManager::processStreamData ( )
inline

Definition at line 46 of file sigslots.cpp.

◆ processStreamData() [3/3]

void KobukiManager::processStreamData ( )

◆ processVersionInfo()

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

Definition at line 42 of file version_info.cpp.

◆ relayErrors() [1/2]

void KobukiManager::relayErrors ( const std::string &  message)
inline

Definition at line 55 of file version_info.cpp.

◆ relayErrors() [2/2]

void KobukiManager::relayErrors ( const std::string &  message)
private

Definition at line 232 of file simple_keyop.cpp.

◆ relayWarnings() [1/2]

void KobukiManager::relayWarnings ( const std::string &  message)
inline

Definition at line 51 of file version_info.cpp.

◆ relayWarnings() [2/2]

void KobukiManager::relayWarnings ( const std::string &  message)
private

Definition at line 228 of file simple_keyop.cpp.

◆ resetVelocity()

void KobukiManager::resetVelocity ( )
private

Definition at line 381 of file simple_keyop.cpp.

◆ restoreTerminal()

void KobukiManager::restoreTerminal ( )
private

◆ spin() [1/2]

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.

◆ spin() [2/2]

void KobukiManager::spin ( )

Member Data Documentation

◆ acquired

volatile bool KobukiManager::acquired
private

Definition at line 66 of file version_info.cpp.

◆ angular_vel_max

double KobukiManager::angular_vel_max
private

Definition at line 96 of file simple_keyop.cpp.

◆ angular_vel_step

double KobukiManager::angular_vel_step
private

Definition at line 96 of file simple_keyop.cpp.

◆ dth

double KobukiManager::dth
private

Definition at line 69 of file simple_loop.cpp.

◆ dx

double KobukiManager::dx
private

Definition at line 69 of file simple_loop.cpp.

◆ firmware

std::string KobukiManager::firmware
private

Definition at line 68 of file version_info.cpp.

◆ hardware

std::string KobukiManager::hardware
private

Definition at line 68 of file version_info.cpp.

◆ key_file_descriptor

int KobukiManager::key_file_descriptor
private

Definition at line 122 of file simple_keyop.cpp.

◆ kobuki

kobuki::Kobuki KobukiManager::kobuki
private

Definition at line 40 of file initialisation.cpp.

◆ linear_vel_max

double KobukiManager::linear_vel_max
private

Definition at line 95 of file simple_keyop.cpp.

◆ linear_vel_step

double KobukiManager::linear_vel_step
private

Definition at line 95 of file simple_keyop.cpp.

◆ name

std::string KobukiManager::name
private

Definition at line 97 of file simple_keyop.cpp.

◆ original_terminal_state

struct termios KobukiManager::original_terminal_state
private

Definition at line 123 of file simple_keyop.cpp.

◆ pose

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

Definition at line 70 of file simple_loop.cpp.

◆ quit_requested

bool KobukiManager::quit_requested
private

Definition at line 121 of file simple_keyop.cpp.

◆ slot_debug_error

ecl::Slot< const std::string & > KobukiManager::slot_debug_error
private

Definition at line 92 of file simple_keyop.cpp.

◆ slot_debug_warning

ecl::Slot< const std::string & > KobukiManager::slot_debug_warning
private

Definition at line 92 of file simple_keyop.cpp.

◆ slot_stream_data

ecl::Slot KobukiManager::slot_stream_data
private

Definition at line 53 of file sigslots.cpp.

◆ slot_version_info

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

Definition at line 70 of file version_info.cpp.

◆ software

std::string KobukiManager::software
private

Definition at line 68 of file version_info.cpp.

◆ thread

ecl::Thread KobukiManager::thread
private

Definition at line 124 of file simple_keyop.cpp.

◆ udid

std::string KobukiManager::udid
private

Definition at line 68 of file version_info.cpp.

◆ vx

double KobukiManager::vx
private

Definition at line 89 of file simple_keyop.cpp.

◆ wz

double KobukiManager::wz
private

Definition at line 89 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 Feb 28 2022 22:37:15