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.
Odometry/Odometry.h
- Committer:
- sype
- Date:
- 2015-11-16
- Revision:
- 0:ad9600df4a70
- Child:
- 2:abdf8c6823a1
File content as of revision 0:ad9600df4a70:
#ifndef ODOMETRY_H
#define ODOMETRY_H
#include "mbed.h"
#include "RoboClaw.h"
#define PI 3.1415926535897932384626433832795
/*
* Author : Benjamin Bertelone, reworked by Simon Emarre
*/
class Odometry
{
public:
Odometry(double diameter_right, double diameter_left, double v);
void setPos(double x, double y, double theta);
void setX(double x);
void setY(double y);
void setTheta(double theta);
void GotoXYT(double x, double y, double theta_goal);
void GotoThet(double theta_goal);
double getX() {return x;}
double getY() {return y;}
double getTheta() {return theta;} // ]-PI;PI]
double getVitLeft() {return m_vitLeft;}
double getVitRight() {return m_vitRight;}
double getDistLeft() {return m_distLeft;}
double getDistRight() {return m_distRight;}
void setDistLeft(double dist) {m_distLeft = dist;}
void setDistRight(double dist) {m_distRight = dist;}
void update_odo(void);
double calcul_distance(double x, double y, double theta_goal);
long getPulsesLeft(void) {return m_pulses_left;}
long getPulsesRight(void) {return m_pulses_right;}
private:
long m_pulses_left;
long m_pulses_right;
double x, y, theta;
double m_vitLeft, m_vitRight;
double m_distLeft, m_distRight;
double m_distPerTick_left, m_distPerTick_right, m_v;
};
#endif