void GoToReferencePosition (void) { DirectKinematics(); //calculate and amplify the errors ReferenceGlobalSpeed[X] = Kp_Pos * (ReferencePosition[X] - Position[X]); ReferenceGlobalSpeed[Y] = Kp_Pos * (ReferencePosition[Y] - Position[Y]); ReferenceGlobalSpeed[G] = Kp_Pos * (ReferencePosition[G] - Position[G]); InverseKinematics(); RotationalSpeedControl(M1); RotationalSpeedControl(M2); RotationalSpeedControl(M3); }
############################################################################################################################ */ void timeTick(void) { /* **************************************************************************************************************************** */ static double lastTime = 0.; double deltaT; /* **************************************************************************************************************************** */ // calcul du pas if (lastTime == 0.) { lastTime = getTime(); deltaT = 0.; } else { double currentTime = getTime(); deltaT = currentTime - lastTime; lastTime = currentTime; } /* **************************************************************************************************************************** */ // mise-à-jour du squelette : DirectKinematics(deltaT); /* **************************************************************************************************************************** */ glutPostRedisplay();