Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed QEI biquadFilter
geometry.h@17:1aabad4ad986, 2016-11-03 (annotated)
- 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?
| User | Revision | Line number | New 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); |