#include <PowerCubeCtrl.h>
Public Types | |
enum | PC_CTRL_STATE { PC_CTRL_OK = 0, PC_CTRL_NOT_REFERENCED = -1, PC_CTRL_ERR = -2, PC_CTRL_POW_VOLT_ERR = -3 } |
Public Member Functions | |
bool | Close () |
bool | doHoming () |
Waits until all Modules are homed, writes status comments to out. | |
bool | dontWaitForSync () |
Execute move commands immediately from now on: | |
bool | getConfig (std::vector< double > &result) |
Returns the current Joint Angles. | |
std::string | getErrorMessage () const |
bool | getJointVelocities (std::vector< double > &result) |
Returns the current Angular velocities (Rad/s). | |
bool | getStatus (PC_CTRL_STATE &error, std::vector< std::string > &errorMessages) |
bool | HomingDone () |
bool | Init (PowerCubeCtrlParams *params) |
bool | isInitialized () const |
bool | MoveJointSpaceSync (const std::vector< double > &Angle) |
same as MoveJointSpace, but final angles should by reached simultaniously! Returns the time that the movement will take | |
bool | MoveVel (const std::vector< double > &Vel) |
Moves all cubes by the given velocities. | |
PowerCubeCtrl () | |
bool | Recover () |
Recovery after emergency stop or power supply failure. | |
bool | setMaxAcceleration (const std::vector< double > &radPerSecSquared) |
bool | setMaxAcceleration (double radPerSecSquared) |
Sets the maximum angular acceleration (rad/s^2) for the Joints, use with care! A Value of 0.5 is already pretty fast, you probably don't want anything more than one... | |
bool | setMaxVelocity (const std::vector< double > &radpersec) |
bool | setMaxVelocity (double radpersec) |
Sets the maximum angular velocity (rad/s) for the Joints, use with care! A Value of 0.5 is already pretty fast, you probably don't want anything more than one... | |
bool | statusAcc () |
Returs true if any of the Joints are accelerating. | |
bool | statusDec () |
Returns true if any of the Joints are decelerating. | |
bool | statusMoving () |
Returns true if any of the Joints are still moving Should also return true if Joints are accelerating or decelerating. | |
bool | Stop () |
Stops the Manipulator immediately. | |
bool | waitForSync () |
Tells the Modules not to start moving until PCubel_startMotionAll is called. | |
~PowerCubeCtrl () | |
Protected Member Functions | |
void | millisleep (unsigned int milliseconds) const |
Returns the time for a ramp-move about dtheta with v, a would take, assuming the module is currently moving at vnow. | |
Protected Attributes | |
bool | m_CANDeviceOpened |
int | m_Dev |
int | m_DOF |
std::string | m_ErrorMessage |
std::vector< int > | m_IdModules |
bool | m_Initialized |
std::vector< double > | m_maxAcc |
std::vector< double > | m_maxVel |
Definition at line 203 of file PowerCubeCtrl.h.
Definition at line 274 of file PowerCubeCtrl.h.
PowerCubeCtrl::PowerCubeCtrl | ( | ) |
Definition at line 80 of file PowerCubeCtrl.cpp.
PowerCubeCtrl::~PowerCubeCtrl | ( | ) |
The Deconstructor
Definition at line 255 of file PowerCubeCtrl.cpp.
bool PowerCubeCtrl::Close | ( | ) |
Definition at line 683 of file PowerCubeCtrl.cpp.
bool PowerCubeCtrl::doHoming | ( | ) |
Waits until all Modules are homed, writes status comments to out.
does homing for all Modules
Definition at line 564 of file PowerCubeCtrl.cpp.
bool PowerCubeCtrl::dontWaitForSync | ( | ) |
Execute move commands immediately from now on:
Definition at line 616 of file PowerCubeCtrl.cpp.
bool PowerCubeCtrl::getConfig | ( | std::vector< double > & | result | ) |
Returns the current Joint Angles.
Definition at line 264 of file PowerCubeCtrl.cpp.
std::string PowerCubeCtrl::getErrorMessage | ( | ) | const [inline] |
Definition at line 214 of file PowerCubeCtrl.h.
bool PowerCubeCtrl::getJointVelocities | ( | std::vector< double > & | result | ) |
Returns the current Angular velocities (Rad/s).
Definition at line 283 of file PowerCubeCtrl.cpp.
bool PowerCubeCtrl::getStatus | ( | PC_CTRL_STATE & | error, | |
std::vector< std::string > & | errorMessages | |||
) |
bool PowerCubeCtrl::HomingDone | ( | ) |
Wait functions which is waiting that all cubes have done their homing
Definition at line 579 of file PowerCubeCtrl.cpp.
bool PowerCubeCtrl::Init | ( | PowerCubeCtrlParams * | params | ) |
Definition at line 89 of file PowerCubeCtrl.cpp.
bool PowerCubeCtrl::isInitialized | ( | ) | const [inline] |
Definition at line 212 of file PowerCubeCtrl.h.
void PowerCubeCtrl::millisleep | ( | unsigned int | milliseconds | ) | const [protected] |
Returns the time for a ramp-move about dtheta with v, a would take, assuming the module is currently moving at vnow.
Definition at line 700 of file PowerCubeCtrl.cpp.
bool PowerCubeCtrl::MoveJointSpaceSync | ( | const std::vector< double > & | Angle | ) |
same as MoveJointSpace, but final angles should by reached simultaniously! Returns the time that the movement will take
Definition at line 299 of file PowerCubeCtrl.cpp.
bool PowerCubeCtrl::MoveVel | ( | const std::vector< double > & | Vel | ) |
Moves all cubes by the given velocities.
Definition at line 410 of file PowerCubeCtrl.cpp.
bool PowerCubeCtrl::Recover | ( | ) |
Recovery after emergency stop or power supply failure.
Definition at line 710 of file PowerCubeCtrl.cpp.
bool PowerCubeCtrl::setMaxAcceleration | ( | const std::vector< double > & | radPerSecSquared | ) |
Definition at line 496 of file PowerCubeCtrl.cpp.
bool PowerCubeCtrl::setMaxAcceleration | ( | double | radPerSecSquared | ) |
Sets the maximum angular acceleration (rad/s^2) for the Joints, use with care! A Value of 0.5 is already pretty fast, you probably don't want anything more than one...
Definition at line 483 of file PowerCubeCtrl.cpp.
bool PowerCubeCtrl::setMaxVelocity | ( | const std::vector< double > & | radpersec | ) |
Definition at line 468 of file PowerCubeCtrl.cpp.
bool PowerCubeCtrl::setMaxVelocity | ( | double | radpersec | ) |
Sets the maximum angular velocity (rad/s) for the Joints, use with care! A Value of 0.5 is already pretty fast, you probably don't want anything more than one...
Definition at line 456 of file PowerCubeCtrl.cpp.
bool PowerCubeCtrl::statusAcc | ( | ) |
Returs true if any of the Joints are accelerating.
Definition at line 547 of file PowerCubeCtrl.cpp.
bool PowerCubeCtrl::statusDec | ( | ) |
Returns true if any of the Joints are decelerating.
Definition at line 529 of file PowerCubeCtrl.cpp.
bool PowerCubeCtrl::statusMoving | ( | ) |
Returns true if any of the Joints are still moving Should also return true if Joints are accelerating or decelerating.
Returns true if some cubes are still moving.
Definition at line 512 of file PowerCubeCtrl.cpp.
bool PowerCubeCtrl::Stop | ( | ) |
Stops the Manipulator immediately.
Definition at line 439 of file PowerCubeCtrl.cpp.
bool PowerCubeCtrl::waitForSync | ( | ) |
Tells the Modules not to start moving until PCubel_startMotionAll is called.
Definition at line 597 of file PowerCubeCtrl.cpp.
bool PowerCubeCtrl::m_CANDeviceOpened [protected] |
Definition at line 299 of file PowerCubeCtrl.h.
int PowerCubeCtrl::m_Dev [protected] |
Definition at line 297 of file PowerCubeCtrl.h.
int PowerCubeCtrl::m_DOF [protected] |
Definition at line 296 of file PowerCubeCtrl.h.
std::string PowerCubeCtrl::m_ErrorMessage [protected] |
Definition at line 306 of file PowerCubeCtrl.h.
std::vector<int> PowerCubeCtrl::m_IdModules [protected] |
Definition at line 301 of file PowerCubeCtrl.h.
bool PowerCubeCtrl::m_Initialized [protected] |
Definition at line 298 of file PowerCubeCtrl.h.
std::vector<double> PowerCubeCtrl::m_maxAcc [protected] |
Definition at line 304 of file PowerCubeCtrl.h.
std::vector<double> PowerCubeCtrl::m_maxVel [protected] |
Definition at line 303 of file PowerCubeCtrl.h.