Mid level control code

Dependencies:   ros_lib_kinetic

Revision:
14:54c3759e76ed
Parent:
13:a373dfc57b89
Child:
15:59471daef4cb
--- a/main.cpp	Wed Aug 29 10:47:02 2018 +0000
+++ b/main.cpp	Wed Aug 29 16:31:42 2018 +0000
@@ -86,13 +86,17 @@
         dblTargetChambLen_mm[3] = input.psi[2][0]*1000;
         dblTargetChambLen_mm[4] = input.psi[2][1]*1000;
         dblTargetChambLen_mm[5] = input.psi[2][2]*1000;*/
+        
+        //update rear Segment
         dblTargetChambLen_mm[3] = input.psi[0][0]*1000;
-        dblTargetChambLen_mm[4] = input.psi[0][1]*1000;
-        dblTargetChambLen_mm[5] = input.psi[0][2]*1000;
-        // Update mid segment
-        dblTargetChambLen_mm[6] = input.psi[1][0]*1000;
-        dblTargetChambLen_mm[7] = dblTargetChambLen_mm[6]; // Same because two pumps are used
-        // Update rear segment
+        dblTargetChambLen_mm[5] = 0.0;//input.psi[0][1]*1000;//not used
+        dblTargetChambLen_mm[6] = 0.0;//input.psi[0][2]*1000;//not used
+        
+        //update mid segment
+        dblTargetChambLen_mm[4] = input.psi[1][0]*1000;
+        dblTargetChambLen_mm[7] = dblTargetChambLen_mm[4]; // Same because two pumps are used
+
+        // Update front segment
         dblTargetChambLen_mm[0] = input.psi[2][0]*1000;
         dblTargetChambLen_mm[1] = input.psi[2][1]*1000;
         dblTargetChambLen_mm[2] = input.psi[2][2]*1000;
@@ -114,7 +118,7 @@
         // Convert from requested chamber to actuator space and limit actuator positions
         for (ii = 0; ii< N_CHANNELS; ii++) {
             // If sent a negative requested position, do NOT replan that actuator
-            //if( dblTargetChambLen_mm[ii] < 0.0 ) continue;
+            if( dblTargetChambLen_mm[ii] < 0.0 ) continue;
             //check to see if positions are achievable
             dblTargetActPos_mm[ii] = dblTargetChambLen_mm[ii]*FLT_ACTUATOR_CONVERSION[ii];
             dblTargetActPos_mm[ii] = min( max( 0.0 , dblTargetActPos_mm[ii] ) , 25.0 );
@@ -125,7 +129,7 @@
         short sgn;
         for (ii = 0; ii< N_CHANNELS; ii++) { // Work out new velocities
             // If sent a negative requested position, do NOT replan that actuator
-            //if( dblTargetChambLen_mm[ii] < 0.0 ) continue;
+            if( dblTargetChambLen_mm[ii] < 0.0 ) continue;
             
             /*dblActPosChange = 1.0; // or = 0.0;
             _dblVelocity_mmps[ii] = 0.0;*/ // DOESN'T CRASH
@@ -180,7 +184,7 @@
         //if( dblMaxRecalculatedTime >= 0.000000001 ) { // isTimeChanged && 
         for (ii = 0; ii< N_CHANNELS; ii++) { // Work out new velocities
             // If sent a negative requested position, do NOT replan that actuator
-            //if( dblTargetChambLen_mm[ii] < 0.0 ) continue;
+            if( dblTargetChambLen_mm[ii] < 0.0 ) continue;
             
             _dblVelocity_mmps[ii] = (dblTargetActPos_mm[ii] - dblADCCurrentPosition[ii]) / dblMaxRecalculatedTime;
             dblVelocity_mmps[ii] = _dblVelocity_mmps[ii];