Project Paint / Mbed 2 deprecated arm_control

Dependencies:   mbed QEI biquadFilter

Committer:
Jankoekenpan
Date:
Thu Nov 03 15:59:30 2016 +0000
Revision:
17:1aabad4ad986
Parent:
7:a80cb6b06320
determine h; add nice ascii representation of our setup

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Jankoekenpan 17:1aabad4ad986 1
Jankoekenpan 17:1aabad4ad986 2 /* The setup:
Jankoekenpan 17:1aabad4ad986 3
Jankoekenpan 17:1aabad4ad986 4 - +C---\ r1 = (30 -- 50)
Jankoekenpan 17:1aabad4ad986 5 | | ----\
Jankoekenpan 17:1aabad4ad986 6 | | ----\
Jankoekenpan 17:1aabad4ad986 7 | | ---\
Jankoekenpan 17:1aabad4ad986 8 d=30 +D- - - - - - +B
Jankoekenpan 17:1aabad4ad986 9 | | ---/
Jankoekenpan 17:1aabad4ad986 10 | | ----/
Jankoekenpan 17:1aabad4ad986 11 | | ----/
Jankoekenpan 17:1aabad4ad986 12 - +A---/ r2 = (30 -- 50)
Jankoekenpan 17:1aabad4ad986 13 | |
Jankoekenpan 17:1aabad4ad986 14 | |
Jankoekenpan 17:1aabad4ad986 15 | |
Jankoekenpan 17:1aabad4ad986 16 h=20 |
Jankoekenpan 17:1aabad4ad986 17 | |
Jankoekenpan 17:1aabad4ad986 18 | |
Jankoekenpan 17:1aabad4ad986 19 | |
Jankoekenpan 17:1aabad4ad986 20 - O
Jankoekenpan 17:1aabad4ad986 21
Jankoekenpan 17:1aabad4ad986 22 xB = DB
Jankoekenpan 17:1aabad4ad986 23 yB = OD = h + 0.5*d
Jankoekenpan 17:1aabad4ad986 24
Jankoekenpan 17:1aabad4ad986 25 */
Jankoekenpan 17:1aabad4ad986 26
Jankoekenpan 17:1aabad4ad986 27
Jankoekenpan 17:1aabad4ad986 28
ronvbree 2:fc869e45e672 29 /*
ronvbree 2:fc869e45e672 30 Constants
ronvbree 2:fc869e45e672 31 */
ronvbree 2:fc869e45e672 32
ronvbree 2:fc869e45e672 33 const float L_max = 50.0; // Max arm length
ronvbree 2:fc869e45e672 34 const float L_min = 30.0; // Min arm length
ronvbree 2:fc869e45e672 35
ronvbree 2:fc869e45e672 36 const float d = 30.0; // Distance between arm centres of rotation
Jankoekenpan 17:1aabad4ad986 37 const float h = 20.0; // Height of lower arm centre of rotation
ronvbree 2:fc869e45e672 38
ronvbree 2:fc869e45e672 39 const float reach = 2*sqrt(pow(L_max,2)-pow(L_min,2))-d; // Total length of wall that can be covered
ronvbree 2:fc869e45e672 40
ronvbree 2:fc869e45e672 41 const float y_max = (2*h + d)/2 + reach/2;
ronvbree 2:fc869e45e672 42 const float y_min = (2*h + d)/2 - reach/2;
ronvbree 2:fc869e45e672 43
ronvbree 2:fc869e45e672 44 const float x_min = L_min;
ronvbree 2:fc869e45e672 45 const float x_max = 0;
ronvbree 2:fc869e45e672 46
ronvbree 2:fc869e45e672 47 /*
ronvbree 2:fc869e45e672 48 Methods
ronvbree 2:fc869e45e672 49 */
ronvbree 0:494acf21d3bc 50
ronvbree 0:494acf21d3bc 51 void getArmLengthsForRollerPosition(float x, float y, float &upper, float &lower);
ronvbree 7:a80cb6b06320 52 void getRollerPositionForArmLengths(float upper, float lower, float &x, float &y);