Robot's source code
Dependencies: mbed
Odometry/Odometry.h
- Committer:
- Jagang
- Date:
- 2015-04-09
- Revision:
- 57:ab13f4e7a2b2
- Parent:
- 48:cb3ebbc27db3
- Child:
- 63:fd9af0693e50
File content as of revision 57:ab13f4e7a2b2:
#ifndef ODOMETRY_H #define ODOMETRY_H #include "mbed.h" #include "QEI.h" class Odometry { public: Odometry(QEI *qei_left, QEI *qei_right, float radius_left, float radius_right, float v); void setPos(float x, float y, float theta); void setVit(float Vx, float Vy, float W); void setVitPhi(float phi_r, float phi_l); void setX(float x); void setY(float Y); void setTheta(float theta); float getX() {return x;} float getY() {return y;} float getTheta() {return theta;} void reset(); float getVx() {return Vx;} float getVy() {return Vy;} float getW() {return W;} float getPhiright() { phi_r = (m_distPerTick_right/radius_right)*(delta_right/dt); return phi_r; } float getPhileft() { phi_l = (m_distPerTick_left/radius_left)*(delta_left/dt); return phi_l; } float getVitLeft() {return m_vitLeft;} float getVitRight() {return m_vitRight;} private: QEI* m_qei_left; int m_pulses_left; QEI* m_qei_right; int m_pulses_right; int delta_right; int delta_left; float radius_left; float radius_right; float x, y, theta; float m_vitLeft, m_vitRight; float offsetVx, offsetVy; bool initoffset; float Vx,Vy,W; float phi_r,phi_l; float dt; Timer timer; float m_distPerTick_left, m_distPerTick_right, m_v; Ticker updater; void update(); }; #endif