Alex exoskeleton
ALEX SoftwareDocumentation
Public Member Functions | Protected Attributes | List of all members
Robot Class Referenceabstract

Abstract Class representing a robot. Includes vectors of Joint and InputDevice. More...

#include <Robot.h>

Inheritance diagram for Robot:
Inheritance graph
Collaboration diagram for Robot:
Collaboration graph

Public Member Functions

 Robot (TrajectoryGenerator *tj)
 Default Robot constructor. More...
 
 ~Robot ()
 
bool initialise ()
 Initialize memory for the designed Robot classes specific Joint objects + sensors (if available) using the pure virtual initialiseJoints() implemented by the robot designer. Based on the given Joints, initNetwork() will configure these joints for CAN PDO messaging and Load the specififed Controller, by default set to Positio. More...
 
virtual bool initialiseJoints ()=0
 Pure Virtual function, implemeted by robot designer with specified number of each concrete joint classes for the robot hardware desired. More...
 
virtual bool initialiseInputs ()=0
 Pure Virtual function, implemeted by robot designer with specified number of each concrete input classes for the robot hardware desired. More...
 
virtual bool initialiseNetwork ()=0
 For each <class>Joint</class> in the robots joints Vector. Individually set up the underlying CANopen PDO messaging to and from the hardware attached. More...
 
virtual void updateRobot ()
 Update all of this Robot software joint positions from object dictionary entries. More...
 
void printStatus ()
 print out status of robot and all of its joints More...
 
void getJointStatus (int J_i)
 print out status of Joint J_i More...
 
void initialiseLog ()
 Initialises Logging to specified file. More...
 
void logDataPoint (std::string data)
 Log input data point to currently open log file. More...
 
bool closeLog ()
 Save and close any currently open logging files. More...
 

Protected Attributes

vector< Joint * > joints
 Vector of pointers to Abstract <class>Joint<class> Objects, number and type must be specified by Software design in <class>Robot<class> Implementation. Note: Use pointers to the joint objects here, so that the derived objects are not cast to Joint, truncating any of their explicit implementations. More...
 
vector< InputDevice * > inputs
 
TrajectoryGeneratortrajectoryGenerator
 Trajectory Generator. More...
 

Detailed Description

Abstract Class representing a robot. Includes vectors of Joint and InputDevice.

Definition at line 28 of file Robot.h.

Constructor & Destructor Documentation

Robot::Robot ( TrajectoryGenerator tj)

Default Robot constructor.

Definition at line 16 of file Robot.cpp.

Robot::~Robot ( )

Definition at line 21 of file Robot.cpp.

Member Function Documentation

bool Robot::closeLog ( )

Save and close any currently open logging files.

void Robot::getJointStatus ( int  J_i)

print out status of Joint J_i

Definition at line 51 of file Robot.cpp.

bool Robot::initialise ( )

Initialize memory for the designed Robot classes specific Joint objects + sensors (if available) using the pure virtual initialiseJoints() implemented by the robot designer. Based on the given Joints, initNetwork() will configure these joints for CAN PDO messaging and Load the specififed Controller, by default set to Positio.

Returns
true
false

Definition at line 24 of file Robot.cpp.

virtual bool Robot::initialiseInputs ( )
pure virtual

Pure Virtual function, implemeted by robot designer with specified number of each concrete input classes for the robot hardware desired.

Implemented in ExoRobot.

virtual bool Robot::initialiseJoints ( )
pure virtual

Pure Virtual function, implemeted by robot designer with specified number of each concrete joint classes for the robot hardware desired.

Implemented in ExoRobot.

void Robot::initialiseLog ( )

Initialises Logging to specified file.

virtual bool Robot::initialiseNetwork ( )
pure virtual

For each <class>Joint</class> in the robots joints Vector. Individually set up the underlying CANopen PDO messaging to and from the hardware attached.

Returns
true
false

Implemented in ExoRobot.

void Robot::logDataPoint ( std::string  data)

Log input data point to currently open log file.

void Robot::printStatus ( )

print out status of robot and all of its joints

Definition at line 44 of file Robot.cpp.

void Robot::updateRobot ( )
virtual

Update all of this Robot software joint positions from object dictionary entries.

Reimplemented in ExoRobot.

Definition at line 37 of file Robot.cpp.

Member Data Documentation

vector<InputDevice *> Robot::inputs
protected

Definition at line 39 of file Robot.h.

vector<Joint *> Robot::joints
protected

Vector of pointers to Abstract <class>Joint<class> Objects, number and type must be specified by Software design in <class>Robot<class> Implementation. Note: Use pointers to the joint objects here, so that the derived objects are not cast to Joint, truncating any of their explicit implementations.

Definition at line 37 of file Robot.h.

TrajectoryGenerator* Robot::trajectoryGenerator
protected

Trajectory Generator.

Definition at line 44 of file Robot.h.


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