|
CORC Project
CANOpen Robot Controller Software Documentation
|
Example implementation of the Robot class, representing an X2 Exoskeleton, using DummyActuatedJoint and DummyTrajectoryGenerator. More...
#include <ExoRobot.h>


Public Member Functions | |
| ExoRobot (TrajectoryGenerator *tj) | |
Default ExoRobot constructor. Initialize memory for the Exoskelton Joint + sensors. Load in exoskeleton paramaters to TrajectoryGenerator.. More... | |
| ~ExoRobot () | |
| bool | initPositionControl () |
| Initialises all joints to position control mode. More... | |
| bool | moveThroughTraj () |
| For each joint, move through(send appropriate commands to joints) the Currently generated trajectory of the TrajectoryGenerator object. More... | |
| void | startNewTraj () |
Begin a new trajectory with the currently loaded trajectory paramaters. Using the ExoRobot current configuration (read in from joint objects) and the trajecotry generator object, generate and save a spline to move from current to desired position. More... | |
| bool | isTrajFinished () |
| bool | initialiseJoints () |
Implementation of Pure Virtual function from Robot Base class. Create designed Joint and Driver objects and load into Robot joint vector. More... | |
| bool | initialiseNetwork () |
Implementation of Pure Virtual function from Robot Base class. Initialize each Drive Objects underlying CANOpen Networking. More... | |
| bool | initialiseInputs () |
Implementation of Pure Virtual function from Robot Base class. Initialize each Input Object. More... | |
| void | freeMemory () |
| Free robot objects vector pointer memory. More... | |
| void | updateRobot () |
| update current state of the robot, including input and output devices. Overloaded Method from the Robot Class. Example. for a keyboard input this would poll the keyboard for any button presses at this moment in time. More... | |
Public Member Functions inherited from Robot | |
| 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... | |
| void | printStatus () |
| print out status of robot and all of its joints More... | |
| void | getJointStatus (int J_i) |
print out status of Joint 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... | |
Public Attributes | |
| Keyboard | keyboard |
| vector< CopleyDrive * > | copleyDrives |
| struct timeval tv tv_diff moving_tv tv_changed stationary_tv start_traj | last_tv |
| Timer Variables for moving through trajectories. More... | |
| std::map< int, double > | jointMinMap |
| Joint Limit Map between Joint value and min Degrees possible. More... | |
| std::map< int, double > | jointMaxMap |
| Joint Limit Map between Joint value and max Degrees possible. More... | |
Private Attributes | |
| double | currTrajProgress = 0 |
| timespec | prevTime |
| motorProfile | posControlMotorProfile {4000000, 240000, 240000} |
| motor drive position control profile paramaters, user defined. More... | |
Additional Inherited Members | |
Protected Attributes inherited from Robot | |
| 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 |
| TrajectoryGenerator * | trajectoryGenerator |
| Trajectory Generator. More... | |
Example implementation of the Robot class, representing an X2 Exoskeleton, using DummyActuatedJoint and DummyTrajectoryGenerator.
Definition at line 36 of file ExoRobot.h.
| ExoRobot::ExoRobot | ( | TrajectoryGenerator * | tj | ) |
Default ExoRobot constructor. Initialize memory for the Exoskelton Joint + sensors. Load in exoskeleton paramaters to TrajectoryGenerator..
Definition at line 5 of file ExoRobot.cpp.
| ExoRobot::~ExoRobot | ( | ) |
Definition at line 8 of file ExoRobot.cpp.
| void ExoRobot::freeMemory | ( | ) |
Free robot objects vector pointer memory.
Definition at line 104 of file ExoRobot.cpp.
|
virtual |
Implementation of Pure Virtual function from Robot Base class. Initialize each Input Object.
Implements Robot.
Definition at line 100 of file ExoRobot.cpp.
|
virtual |
|
virtual |
Implementation of Pure Virtual function from Robot Base class. Initialize each Drive Objects underlying CANOpen Networking.
Implements Robot.
Definition at line 88 of file ExoRobot.cpp.
| bool ExoRobot::initPositionControl | ( | ) |
Initialises all joints to position control mode.
Definition at line 16 of file ExoRobot.cpp.
| bool ExoRobot::isTrajFinished | ( | ) |
Determine if the currently generated trajectory is complete.
| bool ExoRobot::moveThroughTraj | ( | ) |
For each joint, move through(send appropriate commands to joints) the Currently generated trajectory of the TrajectoryGenerator object.
Definition at line 45 of file ExoRobot.cpp.
| void ExoRobot::startNewTraj | ( | ) |
Begin a new trajectory with the currently loaded trajectory paramaters. Using the ExoRobot current configuration (read in from joint objects) and the trajecotry generator object, generate and save a spline to move from current to desired position.
Definition at line 37 of file ExoRobot.cpp.
|
virtual |
update current state of the robot, including input and output devices. Overloaded Method from the Robot Class. Example. for a keyboard input this would poll the keyboard for any button presses at this moment in time.
Reimplemented from Robot.
Definition at line 115 of file ExoRobot.cpp.
| vector<CopleyDrive *> ExoRobot::copleyDrives |
Definition at line 58 of file ExoRobot.h.
|
private |
Parameters associated with Trajectory Progression
Definition at line 41 of file ExoRobot.h.
| std::map<int, double> ExoRobot::jointMaxMap |
Joint Limit Map between Joint value and max Degrees possible.
| int | Joint value |
Definition at line 151 of file ExoRobot.h.
| std::map<int, double> ExoRobot::jointMinMap |
Joint Limit Map between Joint value and min Degrees possible.
| int | Joint value |
Joint Limit Map between Joint value and max Degrees possible
| int | Joint value |
Definition at line 140 of file ExoRobot.h.
| Keyboard ExoRobot::keyboard |
Definition at line 57 of file ExoRobot.h.
| struct timeval tv tv_diff moving_tv tv_changed stationary_tv start_traj ExoRobot::last_tv |
Timer Variables for moving through trajectories.
Definition at line 64 of file ExoRobot.h.
|
private |
motor drive position control profile paramaters, user defined.
Definition at line 47 of file ExoRobot.h.
|
private |
Definition at line 42 of file ExoRobot.h.
1.8.11