The core kobuki driver class. More...
#include <kobuki.hpp>
The core kobuki driver class.
This connects to the outside world via sigslots and get accessors.
Definition at line 70 of file kobuki.hpp.
Definition at line 50 of file kobuki.cpp.
Shutdown the driver - make sure we wait for the thread to finish.
Definition at line 62 of file kobuki.cpp.
Battery kobuki::Kobuki::batteryStatus | ( | ) | const [inline] |
Definition at line 94 of file kobuki.hpp.
bool kobuki::Kobuki::disable | ( | ) |
Disable power to the motors.
Definition at line 504 of file kobuki.cpp.
bool kobuki::Kobuki::enable | ( | ) |
Enable power to the motors.
Definition at line 498 of file kobuki.cpp.
double kobuki::Kobuki::getAngularVelocity | ( | ) | const |
Definition at line 376 of file kobuki.cpp.
Cliff::Data kobuki::Kobuki::getCliffData | ( | ) | const [inline] |
Definition at line 101 of file kobuki.hpp.
CoreSensors::Data kobuki::Kobuki::getCoreSensorData | ( | ) | const [inline] |
Definition at line 99 of file kobuki.hpp.
Current::Data kobuki::Kobuki::getCurrentData | ( | ) | const [inline] |
Definition at line 102 of file kobuki.hpp.
DockIR::Data kobuki::Kobuki::getDockIRData | ( | ) | const [inline] |
Definition at line 100 of file kobuki.hpp.
GpInput::Data kobuki::Kobuki::getGpInputData | ( | ) | const [inline] |
Definition at line 104 of file kobuki.hpp.
ecl::Angle< double > kobuki::Kobuki::getHeading | ( | ) | const |
Definition at line 368 of file kobuki.cpp.
Inertia::Data kobuki::Kobuki::getInertiaData | ( | ) | const [inline] |
Definition at line 103 of file kobuki.hpp.
ThreeAxisGyro::Data kobuki::Kobuki::getRawInertiaData | ( | ) | const [inline] |
Definition at line 105 of file kobuki.hpp.
void kobuki::Kobuki::getWheelJointStates | ( | double & | wheel_left_angle, |
double & | wheel_left_angle_rate, | ||
double & | wheel_right_angle, | ||
double & | wheel_right_angle_rate | ||
) |
Definition at line 391 of file kobuki.cpp.
void kobuki::Kobuki::init | ( | Parameters & | parameters | ) | throw (ecl::StandardException) |
Definition at line 70 of file kobuki.cpp.
bool kobuki::Kobuki::isAlive | ( | ) | const [inline] |
Whether the connection to the robot is alive and currently streaming.
Definition at line 80 of file kobuki.hpp.
bool kobuki::Kobuki::isEnabled | ( | ) | const [inline] |
Whether the motor power is enabled or disabled.
Definition at line 82 of file kobuki.hpp.
bool kobuki::Kobuki::isShutdown | ( | ) | const [inline] |
Whether the worker thread is alive or not.
Definition at line 81 of file kobuki.hpp.
void kobuki::Kobuki::playSoundSequence | ( | const enum SoundSequences & | number | ) |
Definition at line 436 of file kobuki.cpp.
void kobuki::Kobuki::printSigSlotConnections | ( | ) | const |
Print a list of all relevant sigslot connections.
This includes both the kobuki driver signals as well as externally connected slots. Useful for when you need to check if any of your connections are dangling (often happens when you typo the name of the sigslots connection).
Definition at line 520 of file kobuki.cpp.
void kobuki::Kobuki::resetOdometry | ( | ) |
Definition at line 386 of file kobuki.cpp.
void kobuki::Kobuki::sendBaseControlCommand | ( | ) | [private] |
Definition at line 446 of file kobuki.cpp.
void kobuki::Kobuki::sendCommand | ( | Command | command | ) | [private] |
Send the prepared command to the serial port.
Need to be a bit careful here, because we have no control over how the user is calling this - they may be calling from different threads (this is so for kobuki_node), so we mutex protect it here rather than relying on the user to do so above.
command | : prepared command template (see Command's static member functions). |
Definition at line 468 of file kobuki.cpp.
void kobuki::Kobuki::setBaseControl | ( | const double & | linear_velocity, |
const double & | angular_velocity | ||
) |
Definition at line 441 of file kobuki.cpp.
void kobuki::Kobuki::setDigitalOutput | ( | const DigitalOutput & | digital_output | ) |
Definition at line 423 of file kobuki.cpp.
void kobuki::Kobuki::setExternalPower | ( | const DigitalOutput & | digital_output | ) |
Definition at line 427 of file kobuki.cpp.
void kobuki::Kobuki::setLed | ( | const enum LedNumber & | number, |
const enum LedColour & | colour | ||
) |
Definition at line 418 of file kobuki.cpp.
void kobuki::Kobuki::shutdown | ( | ) | [inline] |
Gently terminate the worker thread.
Definition at line 85 of file kobuki.hpp.
void kobuki::Kobuki::spin | ( | ) |
Performs a scan looking for incoming data packets.
Sits on the device waiting for incoming and then parses it, and signals that an update has occured.
Or, if in simulation, just loopsback the motor devices.
Definition at line 146 of file kobuki.cpp.
void kobuki::Kobuki::updateOdometry | ( | ecl::Pose2D< double > & | pose_update, |
ecl::linear_algebra::Vector3d & | pose_update_rates | ||
) |
Use the current sensor data (encoders and gyro) to calculate an update for the odometry.
This fuses current sensor data with the last updated odometry state to produce the new odometry state. This will be usually done in the slot callback to the stream_data signal.
It is important that this is called every time a data packet is received from the robot.
pose_update | : return the pose updates in this variable. |
pose_update_rates | : return the pose update rates in this variable. |
Definition at line 408 of file kobuki.cpp.
VersionInfo kobuki::Kobuki::versionInfo | ( | ) | const [inline] |
Definition at line 93 of file kobuki.hpp.
Definition at line 156 of file kobuki.hpp.
Cliff kobuki::Kobuki::cliff [private] |
Definition at line 164 of file kobuki.hpp.
Definition at line 186 of file kobuki.hpp.
ecl::Mutex kobuki::Kobuki::command_mutex [private] |
Definition at line 184 of file kobuki.hpp.
CoreSensors kobuki::Kobuki::core_sensors [private] |
Definition at line 161 of file kobuki.hpp.
Current kobuki::Kobuki::current [private] |
Definition at line 165 of file kobuki.hpp.
Definition at line 174 of file kobuki.hpp.
DiffDrive kobuki::Kobuki::diff_drive [private] |
Definition at line 144 of file kobuki.hpp.
DockIR kobuki::Kobuki::dock_ir [private] |
Definition at line 163 of file kobuki.hpp.
EventManager kobuki::Kobuki::event_manager [private] |
Definition at line 191 of file kobuki.hpp.
Firmware kobuki::Kobuki::firmware [private] |
Definition at line 168 of file kobuki.hpp.
GpInput kobuki::Kobuki::gp_input [private] |
Definition at line 166 of file kobuki.hpp.
Hardware kobuki::Kobuki::hardware [private] |
Definition at line 167 of file kobuki.hpp.
Inertia kobuki::Kobuki::inertia [private] |
Definition at line 162 of file kobuki.hpp.
bool kobuki::Kobuki::is_alive [private] |
Definition at line 175 of file kobuki.hpp.
bool kobuki::Kobuki::is_connected [private] |
Definition at line 151 of file kobuki.hpp.
bool kobuki::Kobuki::is_enabled [private] |
Definition at line 145 of file kobuki.hpp.
Command kobuki::Kobuki::kobuki_command [private] |
Definition at line 185 of file kobuki.hpp.
PacketFinder kobuki::Kobuki::packet_finder [private] |
Definition at line 173 of file kobuki.hpp.
Parameters kobuki::Kobuki::parameters [private] |
Definition at line 150 of file kobuki.hpp.
ecl::Serial kobuki::Kobuki::serial [private] |
Definition at line 172 of file kobuki.hpp.
bool kobuki::Kobuki::shutdown_requested [private] |
Definition at line 139 of file kobuki.hpp.
ecl::Signal<const std::string&> kobuki::Kobuki::sig_debug [private] |
Definition at line 198 of file kobuki.hpp.
ecl::Signal<const std::string&> kobuki::Kobuki::sig_error [private] |
Definition at line 198 of file kobuki.hpp.
ecl::Signal<const std::string&> kobuki::Kobuki::sig_info [private] |
Definition at line 198 of file kobuki.hpp.
Definition at line 199 of file kobuki.hpp.
Definition at line 200 of file kobuki.hpp.
ecl::Signal kobuki::Kobuki::sig_stream_data [private] |
Definition at line 196 of file kobuki.hpp.
ecl::Signal<const VersionInfo&> kobuki::Kobuki::sig_version_info [private] |
Definition at line 197 of file kobuki.hpp.
ecl::Signal<const std::string&> kobuki::Kobuki::sig_warn [private] |
Definition at line 198 of file kobuki.hpp.
ecl::Thread kobuki::Kobuki::thread [private] |
Definition at line 138 of file kobuki.hpp.
ThreeAxisGyro kobuki::Kobuki::three_axis_gyro [private] |
Definition at line 170 of file kobuki.hpp.
Definition at line 169 of file kobuki.hpp.
int kobuki::Kobuki::version_info_reminder [private] |
Definition at line 177 of file kobuki.hpp.