odometry
Odometry.h@1:1765665581cc, 2015-09-10 (annotated)
- Committer:
- zatakon
- Date:
- Thu Sep 10 07:37:48 2015 +0000
- Revision:
- 1:1765665581cc
- Parent:
- 0:402f8c75d394
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
zatakon | 0:402f8c75d394 | 1 | #ifndef Odometry_H |
zatakon | 0:402f8c75d394 | 2 | #define Odometry_H |
zatakon | 0:402f8c75d394 | 3 | |
zatakon | 0:402f8c75d394 | 4 | #include <vector> |
zatakon | 0:402f8c75d394 | 5 | #include "mbed.h" |
zatakon | 0:402f8c75d394 | 6 | #include "math.h" |
zatakon | 0:402f8c75d394 | 7 | #define M_PI 3.14159265358979323846 /* pi */ |
zatakon | 0:402f8c75d394 | 8 | |
zatakon | 0:402f8c75d394 | 9 | |
zatakon | 0:402f8c75d394 | 10 | class Robot |
zatakon | 0:402f8c75d394 | 11 | { |
zatakon | 0:402f8c75d394 | 12 | public: |
zatakon | 1:1765665581cc | 13 | Robot(float width, float countPerMeter); |
zatakon | 0:402f8c75d394 | 14 | |
zatakon | 0:402f8c75d394 | 15 | /* returns radius in [m]. When turning right, radius is negativ |
zatakon | 0:402f8c75d394 | 16 | * left is positive |
zatakon | 0:402f8c75d394 | 17 | */ |
zatakon | 1:1765665581cc | 18 | float getRadius(float v1, float v2); |
zatakon | 1:1765665581cc | 19 | void countRadius(float v1, float v2); |
zatakon | 0:402f8c75d394 | 20 | |
zatakon | 0:402f8c75d394 | 21 | /* returns speed in format |
zatakon | 0:402f8c75d394 | 22 | * [0] = linear x |
zatakon | 0:402f8c75d394 | 23 | * [1] = linear y |
zatakon | 0:402f8c75d394 | 24 | * [2] = angular z |
zatakon | 0:402f8c75d394 | 25 | * |
zatakon | 0:402f8c75d394 | 26 | * function needs actual R |
zatakon | 0:402f8c75d394 | 27 | */ |
zatakon | 0:402f8c75d394 | 28 | std::vector<float> getSpeed(std::vector<int> encoders); |
zatakon | 0:402f8c75d394 | 29 | |
zatakon | 1:1765665581cc | 30 | std::vector<float> getMotorRatio(float x, float z); |
zatakon | 0:402f8c75d394 | 31 | |
zatakon | 0:402f8c75d394 | 32 | private: |
zatakon | 0:402f8c75d394 | 33 | float _w; // width |
zatakon | 0:402f8c75d394 | 34 | float _R; |
zatakon | 0:402f8c75d394 | 35 | uint32_t _countPerMeter; |
zatakon | 0:402f8c75d394 | 36 | |
zatakon | 0:402f8c75d394 | 37 | std::vector<float> _odom; |
zatakon | 0:402f8c75d394 | 38 | std::vector<float> _ratio; |
zatakon | 0:402f8c75d394 | 39 | }; |
zatakon | 0:402f8c75d394 | 40 | |
zatakon | 0:402f8c75d394 | 41 | #endif |