Dependencies:   MeArm mbed

Fork of MeArm_Lab2_Task1 by Craig Evans

Files at this revision

API Documentation at this revision

Comitter:
eencae
Date:
Tue Jul 04 18:11:30 2017 +0000
Parent:
2:2494cdc6977a
Commit message:
Initial commit

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
diff -r 2494cdc6977a -r 13f56160c56e main.cpp
--- a/main.cpp	Tue Jul 04 16:44:47 2017 +0000
+++ b/main.cpp	Tue Jul 04 18:11:30 2017 +0000
@@ -1,4 +1,4 @@
-/* MeArm Lab 2 Task 1
+/* MeArm Lab 3 Task 1
 
 (c) Dr Craig A. Evans, University of Leeds
 
@@ -12,8 +12,6 @@
 // create MeArm object - middle, left, right, claw
 MeArm arm(p21,p22,p23,p24);
 
-AnalogIn m_pot(p17);
-
 int main()
 {
     //                             open , closed
@@ -23,21 +21,42 @@
     arm.set_right_calibration_values(2000,1000);
     arm.set_left_calibration_values(1870,850);
 
-  
+    // x stays constant
+    float x = 140.0;
+
+    // arrays to store values in trajectory
+    float y[20];
+    float z[20];
+
+    // loop through points in array
+    for(int i = 0; i < 20; i++) {
+        // this will create values in the range -100 to 100
+        y[i] = -100.0 + (200.0*i)/(20-1);
+        // scaled parabola - z = (y/10)^2 + 50
+        z[i] = pow(y[i]/10.0,2.0)+50;
+        // print to Cool Term to check - can plot in Excel
+        printf("%f , %f\n",y[i],z[i]);
+    }
+
     while(1) {
+
+        // loop through each point from y=-100 to 100
+        // and move the arm to each point
+        for(int i = 0; i < 20; i++) {
+            arm.goto_xyz(x,y[i],z[i]);
+            // small delay before moving to next point
+            wait_ms(50);
+        }
         
-        // create x value in range 100 to 200 mm
-        float x = 100.0 + 100.0*m_pot.read();
-        float y = 0.0;
-        float z = 100.0;   
-        float claw_val = 1.0;   // 0.0 to 1.0
+        // then loop back in the opposite direction
+        for(int i = 18; i > 0; i--) {
+            arm.goto_xyz(x,y[i],z[i]);
+            // small delay before moving to next point
+            wait_ms(50);
+        }
         
-        arm.set_claw(claw_val);
-        // move to co-ordinate
-        arm.goto_xyz(x,y,z);
-
-        wait(0.2);
+        // the loop then restarts so the arm will go back and forth along the trajectory
         
     }
-   
+
 }
\ No newline at end of file