18 #ifndef EXOROBOT_H_INCLUDED 19 #define EXOROBOT_H_INCLUDED 64 struct timeval tv, tv_diff, moving_tv, tv_changed, stationary_tv, start_traj,
last_tv;
void freeMemory()
Free robot objects vector pointer memory.
bool initPositionControl()
Initialises all joints to position control mode.
Example implementation of the Robot class, representing an X2 Exoskeleton, using DummyActuatedJoint a...
vector< CopleyDrive * > copleyDrives
Specific paramaters and naming definitions for exoskeleton robot class implementetion.
A trajectory generator to be used for testing purposes.
Abstract Class representing a robot. Includes vectors of Joint and InputDevice.
The Robot class is a abstract class which is a software representation of a Robot with a flexible rep...
bool initialiseNetwork()
Implementation of Pure Virtual function from Robot Base class. Initialize each Drive Objects underlyi...
Example InputDevice which takes input in from a keyboard. Useful for testing without any other input ...
A dummy class to test whether the actuated joint inheritence stuff works.
bool initialiseJoints()
Implementation of Pure Virtual function from Robot Base class. Create designed Joint and Driver objec...
bool moveThroughTraj()
For each joint, move through(send appropriate commands to joints) the Currently generated trajectory ...
An implementation of the Drive Object, specifically for the Copley Drive.
motorProfile posControlMotorProfile
motor drive position control profile paramaters, user defined.
ExoRobot(TrajectoryGenerator *tj)
Default ExoRobot constructor. Initialize memory for the Exoskelton Joint + sensors. Load in exoskeleton paramaters to TrajectoryGenerator..
struct to hold desired velocity, acceleration and deceleration values for a drives motor controller p...
Abstract class which is used to generate trajectorys for a Robot to follow.
void startNewTraj()
Begin a new trajectory with the currently loaded trajectory paramaters. Using the ExoRobot current co...
std::map< int, double > jointMaxMap
Joint Limit Map between Joint value and max Degrees possible.
struct timeval tv tv_diff moving_tv tv_changed stationary_tv start_traj last_tv
Timer Variables for moving through trajectories.
void updateRobot()
update current state of the robot, including input and output devices. Overloaded Method from the Rob...
bool initialiseInputs()
Implementation of Pure Virtual function from Robot Base class. Initialize each Input Object...
std::map< int, double > jointMinMap
Joint Limit Map between Joint value and min Degrees possible.