cisst-saw
|
A clas for a WAM device. More...
#include <mtsWAM.h>
Public Member Functions | |
mtsWAM (const std::string &name, osaCANBus *canbus, osaWAM::Configuration configuration=WAM_7DOF, osaCPUMask cpumask=OSA_CPUANY, int priority=80) | |
void | Configure (const std::string &CMN_UNUSED(argv)="") |
void | Startup () |
void | Run () |
void | Cleanup () |
![]() | |
mtsTaskContinuous (const std::string &name, unsigned int sizeStateTable=256, bool newThread=true) | |
mtsTaskContinuous (const mtsTaskContinuousConstructorArg &arg) | |
virtual | ~mtsTaskContinuous () |
void | Create (void *data=0) |
void | Start (void) |
void | Suspend (void) |
void | Kill (void) |
![]() | |
mtsTask (const std::string &name, unsigned int sizeStateTable=256) | |
virtual | ~mtsTask () |
virtual void | OnStartupException (const std::exception &excp) |
virtual void | OnRunException (const std::exception &excp) |
virtual void | Configure (const std::string &CMN_UNUSED(filename)="") |
void | SetInitializationDelay (double delay) |
void | Create (void) |
double | GetAveragePeriod (void) const |
const std::string | GetDefaultStateTableName (void) const |
mtsStateTable * | GetDefaultStateTable (void) |
mtsInterfaceRequired * | AddInterfaceRequiredWithoutSystemEventHandlers (const std::string &interfaceRequiredName, mtsRequiredType required=MTS_REQUIRED) |
mtsInterfaceProvided * | AddInterfaceProvidedWithoutSystemEvents (const std::string &newInterfaceName, mtsInterfaceQueueingPolicy queueingPolicy=MTS_COMPONENT_POLICY, bool isProxy=false) |
virtual bool | WaitToStart (double timeout) |
virtual bool | WaitToTerminate (double timeout) |
virtual void | WaitForWakeup (void) |
virtual void | Wakeup (void) |
void | ProcessManagerCommandsIfNotActive () |
bool | CheckForOwnThread (void) const |
virtual bool | IsPeriodic (void) const |
virtual bool | IsOverranPeriod (void) const |
virtual void | ResetOverranPeriod (void) |
![]() | |
mtsComponent (const std::string &deviceName) | |
virtual | ~mtsComponent () |
const std::string & | GetName (void) const |
void | GetName (std::string &placeHolder) const |
void | SetName (const std::string &componentName) |
virtual void | Configure (const std::string &filename="") |
bool | CreateAndWait (double timeoutInSeconds) |
bool | StartAndWait (double timeoutInSeconds) |
bool | KillAndWait (double timeoutInSeconds) |
mtsInterfaceProvided * | AddInterfaceProvided (const std::string &interfaceProvidedName, mtsInterfaceQueueingPolicy queueingPolicy=MTS_COMPONENT_POLICY) |
CISST_DEPRECATED mtsInterfaceProvided * | AddProvidedInterface (const std::string &interfaceProvidedName) |
virtual mtsInterfaceOutput * | AddInterfaceOutput (const std::string &interfaceOutputName) |
bool | InterfaceExists (const std::string &interfaceName, cmnLogLevel lod=CMN_LOG_LEVEL_INIT_VERBOSE) const |
bool | InterfaceProvidedOrOutputExists (const std::string &interfaceName, cmnLogLevel lod=CMN_LOG_LEVEL_INIT_VERBOSE) const |
bool | InterfaceRequiredOrInputExists (const std::string &interfaceName, cmnLogLevel lod=CMN_LOG_LEVEL_INIT_VERBOSE) const |
mtsInterfaceProvided * | GetInterfaceProvided (const std::string &interfaceProvidedName) const |
mtsInterfaceOutput * | GetInterfaceOutput (const std::string &interfaceOutputName) const |
size_t | GetNumberOfInterfacesProvided (void) const |
size_t | GetNumberOfInterfacesOutput (void) const |
bool | RemoveInterfaceProvided (const std::string &interfaceProvidedName, const bool skipDisconnect=false) |
mtsInterfaceRequired * | AddInterfaceRequired (const std::string &interfaceRequiredName, mtsRequiredType isRequired=MTS_REQUIRED) |
CISST_DEPRECATED mtsInterfaceRequired * | AddRequiredInterface (const std::string &requiredInterfaceName) |
virtual mtsInterfaceInput * | AddInterfaceInput (const std::string &interfaceInputName) |
const mtsInterfaceProvided * | GetInterfaceProvidedFor (const std::string &interfaceRequiredName) |
mtsInterfaceRequired * | GetInterfaceRequired (const std::string &interfaceRequiredName) |
mtsInterfaceInput * | GetInterfaceInput (const std::string &interfaceInputName) const |
size_t | GetNumberOfInterfacesRequired (void) const |
size_t | GetNumberOfInterfacesInput (void) const |
bool | RemoveInterfaceRequired (const std::string &interfaceRequiredName, const bool skipDisconnect=false) |
const mtsManagerComponentServices * | GetManagerComponentServices (void) const |
mtsManagerComponentServices * | GetManagerComponentServices (void) |
mtsStateTable * | GetStateTable (const std::string &stateTableName) |
bool | AddStateTable (mtsStateTable *existingStateTable, bool addInterfaceProvided=true) |
void | UseSeparateLogFileDefault (bool forwardToLogger=true) |
void | UseSeparateLogFileDefaultWithDate (bool forwardToLogger=true) |
void | UseSeparateLogFile (const std::string &filename, bool forwardToLogger=true) |
cmnLogger::StreamBufType * | GetLogMultiplexer (void) const |
bool | IsRunning (void) const |
bool CISST_DEPRECATED | Running (void) const |
bool | IsStarted (void) const |
bool | IsTerminated (void) const |
bool | IsEndTask (void) const |
const mtsComponentState & | GetState (void) const |
void | GetState (mtsComponentState &state) const |
void | ToStream (std::ostream &outputStream) const |
bool | SetReplayMode (void) |
bool | SetReplayData (const std::string &stateTableName, const std::string &fileName) |
bool | SetReplayTime (const double time) |
std::vector< std::string > | GetNamesOfInterfacesProvidedOrOutput (void) const |
std::vector< std::string > | GetNamesOfInterfacesProvided (void) const |
std::vector< std::string > | GetNamesOfInterfacesOutput (void) const |
std::vector< std::string > | GetNamesOfInterfacesRequiredOrInput (void) const |
std::vector< std::string > | GetNamesOfInterfacesRequired (void) const |
std::vector< std::string > | GetNamesOfInterfacesInput (void) const |
![]() | |
virtual | ~cmnGenericObject (void) |
virtual const cmnClassServicesBase * | Services (void) const =0 |
bool | ReconstructFrom (const cmnGenericObject &other) |
std::string | ToString (void) const |
virtual void | ToStreamRaw (std::ostream &outputStream, const char delimiter= ' ', bool headerOnly=false, const std::string &headerPrefix="") const |
virtual bool | FromStreamRaw (std::istream &inputStream, const char delimiter= ' ') |
virtual void | SerializeRaw (std::ostream &outputStream) const |
virtual void | DeSerializeRaw (std::istream &inputStream) |
virtual size_t | ScalarNumber (void) const |
virtual bool | ScalarNumberIsFixed (void) const |
virtual double | Scalar (const size_t CMN_UNUSED(index)) const throw (std::out_of_range) |
virtual std::string | ScalarDescription (const size_t CMN_UNUSED(index), const std::string &CMN_UNUSED(userDescription)) const |
![]() | |
osaWAM (osaCANBus *canbus, osaWAM::Configuration configuration=WAM_7DOF) | |
Default constructor. More... | |
~osaWAM () | |
Default destructor. More... | |
osaWAM::Errno | Initialize () |
Initialize the arm. More... | |
osaWAM::Configuration | GetConfiguration () const |
Return the configuration of the WAM (4/7DOF) More... | |
osaWAM::Errno | GetPositions (vctDynamicVector< double > &positions) |
Get joints positions. More... | |
osaWAM::Errno | SetPositions (const vctDynamicVector< double > &positions) |
Send joints positions. More... | |
osaWAM::Errno | SetTorques (const vctDynamicVector< double > &torques) |
Set joints torques. More... | |
osaWAM::Errno | SetVelocityWarning (Barrett::Value velocitywarning) |
Set velocity warning. More... | |
osaWAM::Errno | SetVelocityFault (Barrett::Value velocityfault) |
Set velocity fault. More... | |
osaWAM::Errno | SetTorqueWarning (Barrett::Value torquewarning) |
Set torque warning. More... | |
osaWAM::Errno | SetTorqueFault (Barrett::Value torquefault) |
Set torque fault. More... | |
osaWAM::Errno | SetMode (Barrett::Value mode) |
Set the modes of the pucks. More... | |
osaWAM::Errno | GetMode (osaWAM::Mode &mode) |
A clas for a WAM device.
Whole Arm Manipulator (WAM) is a 4-7DOF robot manufactured by Barrett Tech. From a device perspective the WAM can be interfaced from either an ethernet device (wired or wireless) or a CAN device. On the WAM, the ethernet device is connected to a PC104. Thus, when using ethernet you can communicate with the onboard computer through a shell or client/server. The downside of this is that the PC104 does all the (CAN) communication with the motors and much of the computation as well. The PC104 can be bypassed and the motor can be controlled by an external PC (see the documentation on how to configure the switches). For this, the external PC must have a CAN device and the communication with the hardware must be established and maintained. The mtsWAM class implements a WAM that can be controlled from an external PC. Thus it manages the CAN bus, the pucks present on the CAN bus and the WAM's safety module. Operations are pretty basic: set motors torques, set motor positions and get motor positions.
mtsWAM::mtsWAM | ( | const std::string & | name, |
osaCANBus * | canbus, | ||
osaWAM::Configuration | configuration = WAM_7DOF , |
||
osaCPUMask | cpumask = OSA_CPUANY , |
||
int | priority = 80 |
||
) |
|
inlinevirtual |
Virtual method that gets overloaded, and is run after the component gets killed using Kill() method.
Reimplemented from mtsComponent.
|
inline |
|
virtual |
Pure virtual method that gets overloaded to run the actual task.
Implements mtsTask.
|
virtual |
Virtual method that gets overloaded, and is run before the component is started.
Reimplemented from mtsComponent.