KRAI 2017
/
Riset-Odometry
hadah
Fork of Riset-Odometry by
omniPos.h@1:0a124b4468db, 2016-11-07 (annotated)
- Committer:
- Najib_irvani
- Date:
- Mon Nov 07 13:39:32 2016 +0000
- Revision:
- 1:0a124b4468db
- Parent:
- 0:b455cd43929c
jzsdfk
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
gustavaditya | 0:b455cd43929c | 1 | #ifndef OMNIPOS_H |
gustavaditya | 0:b455cd43929c | 2 | #define OMNIPOS_H |
gustavaditya | 0:b455cd43929c | 3 | |
gustavaditya | 0:b455cd43929c | 4 | #include "mbed.h" |
gustavaditya | 0:b455cd43929c | 5 | #include "QEI.h" |
gustavaditya | 0:b455cd43929c | 6 | |
gustavaditya | 0:b455cd43929c | 7 | #define diameterRoda 10 |
gustavaditya | 0:b455cd43929c | 8 | |
gustavaditya | 0:b455cd43929c | 9 | // Deklarasi variabel encoder |
gustavaditya | 0:b455cd43929c | 10 | // Lebih jelas baca file QEI.h |
gustavaditya | 0:b455cd43929c | 11 | QEI encoderDepan( outA, outB, 2000, X2_ENCODING); //inA, inB, pin Indeks (NC = tak ada), resolusi, pembacaan |
gustavaditya | 0:b455cd43929c | 12 | QEI encoderBelakang( outA, outB, 2000, X2_ENCODING); |
gustavaditya | 0:b455cd43929c | 13 | QEI encoderKanan( outA, outB, 2000, X2_ENCODING); |
gustavaditya | 0:b455cd43929c | 14 | QEI encoderKiri( outA, outB, 2000, X2_ENCODING); |
gustavaditya | 0:b455cd43929c | 15 | |
gustavaditya | 0:b455cd43929c | 16 | class omniPos { |
gustavaditya | 0:b455cd43929c | 17 | public: |
gustavaditya | 0:b455cd43929c | 18 | |
gustavaditya | 0:b455cd43929c | 19 | /** Dkiri untuk Motor 1 |
gustavaditya | 0:b455cd43929c | 20 | * Dkanan untuk Motor 2 |
gustavaditya | 0:b455cd43929c | 21 | * Bkanan untuk Motor 3 |
gustavaditya | 0:b455cd43929c | 22 | * Bkiri untuk Motor 4 |
gustavaditya | 0:b455cd43929c | 23 | * _________________ |
gustavaditya | 0:b455cd43929c | 24 | * | DEPAN | |
gustavaditya | 0:b455cd43929c | 25 | * | 1. .2 | |
gustavaditya | 0:b455cd43929c | 26 | * | ` ` | |
gustavaditya | 0:b455cd43929c | 27 | * | . . | |
gustavaditya | 0:b455cd43929c | 28 | * | 4` `3 | |
gustavaditya | 0:b455cd43929c | 29 | * |_______________| |
gustavaditya | 0:b455cd43929c | 30 | * |
gustavaditya | 0:b455cd43929c | 31 | */ |
gustavaditya | 0:b455cd43929c | 32 | typedef enum Wheel { |
gustavaditya | 0:b455cd43929c | 33 | |
gustavaditya | 0:b455cd43929c | 34 | Dkiri, |
gustavaditya | 0:b455cd43929c | 35 | Dkanan, |
gustavaditya | 0:b455cd43929c | 36 | Bkanan, |
gustavaditya | 0:b455cd43929c | 37 | Bkiri |
gustavaditya | 0:b455cd43929c | 38 | |
gustavaditya | 0:b455cd43929c | 39 | } Wheel; |
gustavaditya | 0:b455cd43929c | 40 | |
gustavaditya | 0:b455cd43929c | 41 | // Membuat interface dari omniPos |
gustavaditya | 0:b455cd43929c | 42 | omniPos(Wheel wheel); |
gustavaditya | 0:b455cd43929c | 43 | |
gustavaditya | 0:b455cd43929c | 44 | // Set center/pusat posisi omni. |
gustavaditya | 0:b455cd43929c | 45 | // Posisi sekarang saat di reset akan dijadikan pusat (0,0) |
gustavaditya | 0:b455cd43929c | 46 | void setCenter(void); |
gustavaditya | 0:b455cd43929c | 47 | |
gustavaditya | 0:b455cd43929c | 48 | // Membaca posisi X-axis dari satu omni wheel |
gustavaditya | 0:b455cd43929c | 49 | float getX(void); |
gustavaditya | 0:b455cd43929c | 50 | |
gustavaditya | 0:b455cd43929c | 51 | // Membaca posisi Y-axis dari satu omni wheel |
gustavaditya | 0:b455cd43929c | 52 | float getY(void); |
gustavaditya | 0:b455cd43929c | 53 | |
gustavaditya | 0:b455cd43929c | 54 | // Membaca tetha atau sudut rotasi robot |
gustavaditya | 0:b455cd43929c | 55 | float getTetha(void); |
gustavaditya | 0:b455cd43929c | 56 | |
gustavaditya | 0:b455cd43929c | 57 | // Membaca posisi 1 omni wheel ==> fi (rad) |
gustavaditya | 0:b455cd43929c | 58 | float getPos(); |
gustavaditya | 0:b455cd43929c | 59 | |
gustavaditya | 0:b455cd43929c | 60 | // Membaca kecepatan angular 1 omni wheel ==> fi dot (rad/s) |
gustavaditya | 0:b455cd43929c | 61 | float getVel(int delta_t); |
gustavaditya | 0:b455cd43929c | 62 | }; |
gustavaditya | 0:b455cd43929c | 63 | |
gustavaditya | 0:b455cd43929c | 64 | #endif |