27 CO_errorReport(CO->em, CO_EM_GENERIC_SOFTWARE_ERROR, CO_EMC_SOFTWARE_INTERNAL, info);
28 fprintf(stderr,
"canopend generic error: 0x%X\n", info);
35 cout <<
">>> Creating ExoRobot" << endl;
40 <<
">>> Current Robot Position (expected value: all joints 0) >>>" << endl;
44 cout <<
">>> Print Trajectory Parameters (Expected Value 0.2, 0)>>>" << endl;
45 exo.printTrajectoryParam();
47 cout <<
">>> Load new Trajectory Parameters >>>" << endl;
49 cout <<
">>> Print Trajectory Parameters (Expected Value ???? ) >>>" << endl;
50 exo.printTrajectoryParam();
57 cout <<
">>> Initialsing Position Control >>> \n" 63 cout <<
">>> Current Robot Position (expected value: all joints 0) >>>" << endl;
66 cout <<
">>> Updating all Joint Values >>>" << endl;
69 cout <<
">>> Current Robot Position (expected value: all joints 100 + Joint ID) >>>" << endl;
73 cout <<
"Test keyboard input w/ w,a,s,d,x. Type q to exit keyboard test" << endl;
78 std::cout <<
"PRESS A to move through traj" << std::endl;
80 std::cout <<
"Trajectory complete" << std::endl;
bool initPositionControl()
Initialises all joints to position control mode.
Example implementation of the Robot class, representing an X2 Exoskeleton, using DummyActuatedJoint a...
bool getS()
Getter method for private S key state.
bool moveThroughTraj()
For each joint, move through(send appropriate commands to joints) the Currently generated trajectory ...
pthread_mutex_t CO_CAN_VALID_mtx
volatile uint32_t CO_timer1ms
void printStatus()
print out status of robot and all of its joints
void startNewTraj()
Begin a new trajectory with the currently loaded trajectory paramaters. Using the ExoRobot current co...
bool getQ()
Getter method for private Q key state.
void CO_error(const uint32_t info)
bool getW()
Getter method for private W key state.
void CO_errExit(char *msg)
void updateRobot()
update current state of the robot, including input and output devices. Overloaded Method from the Rob...