19 CO_errorReport(CO->em, CO_EM_GENERIC_SOFTWARE_ERROR, CO_EMC_SOFTWARE_INTERNAL, info);
20 fprintf(stderr,
"canopend generic error: 0x%X\n", info);
27 cout <<
">>> Creating ExoRobot" << endl;
32 <<
">>> Current Robot Position (expected value: all joints 0) >>>" << endl;
36 cout <<
">>> Print Trajectory Parameters (Expected Value 0.2, 0)>>>" << endl;
37 exo.printTrajectoryParam();
39 cout <<
">>> Load new Trajectory Parameters >>>" << endl;
41 cout <<
">>> Print Trajectory Parameters (Expected Value ???? ) >>>" << endl;
42 exo.printTrajectoryParam();
49 cout <<
">>> Initialsing Position Control >>> \n" 55 cout <<
">>> Current Robot Position (expected value: all joints 0) >>>" << endl;
58 cout <<
">>> Updating all Joint Values >>>" << endl;
61 cout <<
">>> Current Robot Position (expected value: all joints 100 + Joint ID) >>>" << endl;
65 cout <<
"Test keyboard input w/ w,a,s,d,x. Type q to exit keyboard test" << endl;
70 std::cout <<
"PRESS A to move through traj" << std::endl;
72 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
Testing ExoRobot new classes.
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...