#include "robot.h" #define NUM_RUNS 3 int main(void) { // IBM Variables array double ibm_jold[4] = {0,0,0,0}, ibm_jnew[4], ibm_tm[4][4], ibm_etm[4][4], ibm_ready2[4] = {120.0,143.0,-0.21,0}, ibm_PickupPos[3][2] = {319, 387, 271.5, 370, 224, 363}; // IBM 7575 Configuration int ibm_conf = FLIP; // PUMA Variables array double puma_jold[6] = {0,0,0,0,0,0}, puma_jnew[6], puma_tm[4][4], puma_etm[4][4], puma_DropoffPos[3] = {-643, -702, -765}; // Puma 560 Configuration int puma_conf = FLIP|ABOVE|RIGHT; // Drop off transformation matrix array double puma_DropoffTM[4][4] = {-0.996195, -0.087156, -0.000000, 270.00, -0.087156, 0.996195, 0.000000, -646.00, -0.000000, -0.000000, -1.000000, -200.00, 0.000000, 0.000000, 0.000000, 1.00}; // Pickup transformation matrix array double puma_PickupTM[4][4] = {0.358368, 0.933580, 0.000000, -653.00, 0.933580, -0.358368, 0.000000, 315.00, 0.000000, 0.000000, -1.000000, -250.00, 0.000000, 0.000000, 0.000000, 1.00}; // Conveyer Variables array double conveyorPos[3] = {427, 203, 200}, conveyorDisp[1] = {0}; // Helper variables int status, j; class CRobot ibm = CRobot(ROBOT2, RUN_REALTIME), puma = CRobot(ROBOT1, RUN_REALTIME), conveyor = CRobot(CONVEYOR1, RUN_REALTIME); status = puma.Calibrate(); status = ibm.Calibrate(); status = conveyor.Calibrate(); status = ibm.Drive(ibm_ready2); status = ibm.MoveWait(); status = ibm.MoveReady(); status = ibm.MoveWait(); while(1) { for(j=0; j