CORC Project
CANOpen Robot Controller Software Documentation
Robot.h
Go to the documentation of this file.
1 
20 #ifndef ROBOT_H_INCLUDED
21 #define ROBOT_H_INCLUDED
22 #include <vector>
23 
24 #include "InputDevice.h"
25 #include "Joint.h"
26 #include "TrajectoryGenerator.h"
27 using namespace std;
28 
34 class Robot {
35  protected:
43  vector<Joint *> joints;
44 
45  vector<InputDevice *> inputs;
51 
52  public:
53  //Setup
58  ~Robot();
69  bool initialise();
75  virtual bool initialiseJoints() = 0;
81  virtual bool initialiseInputs() = 0;
91  virtual bool initialiseNetwork() = 0;
92 
93  //Robot objects
94 
95  //Core functions
101  virtual void updateRobot();
106  void printStatus();
111  void getJointStatus(int J_i);
112 
114 
118  void initialiseLog();
123  void logDataPoint(std::string data);
128  bool closeLog();
129 };
130 
131 #endif //ROBOT_H
TrajectoryGenerator * trajectoryGenerator
Trajectory Generator.
Definition: Robot.h:50
Abstract Class representing a robot. Includes vectors of Joint and InputDevice.
Definition: Robot.h:34
vector< Joint * > joints
Vector of pointers to Abstract <class>Joint<class> Objects, number and type must be specified by Soft...
Definition: Robot.h:43
Base class of Trajectory Generator. Will always be extended with specific implementations, and is relatively scarce, given the differences expected in the different trajectories.
The Joint class is a abstract class which represents a joint in a Robot objec. This class can be used...
The Input class is a abstract class which represents an input device. The Update function is called i...
Abstract class which is used to generate trajectorys for a Robot to follow.
vector< InputDevice * > inputs
Definition: Robot.h:45