あーちゃん制御

Dependencies:   FastPWM cal_PID mbed nucleo_rotary_encoder

Committer:
Akito914
Date:
Mon Sep 25 08:23:24 2017 +0000
Revision:
1:d6e30aa7bc5b
Parent:
0:4346c5764e83
cal_PID???????

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Akito914 0:4346c5764e83 1 #ifndef _omuni_
Akito914 0:4346c5764e83 2 #define _omuni_
Akito914 0:4346c5764e83 3
Akito914 0:4346c5764e83 4 #include "speed_control.hpp"
Akito914 0:4346c5764e83 5
Akito914 0:4346c5764e83 6 #define THETA_ADDJUST 0.69f
Akito914 0:4346c5764e83 7
Akito914 0:4346c5764e83 8 class Omuni
Akito914 0:4346c5764e83 9 {
Akito914 0:4346c5764e83 10 private:
Akito914 0:4346c5764e83 11 I2C *i2c;
Akito914 0:4346c5764e83 12 speed_control *o[3];
Akito914 0:4346c5764e83 13 Timer time, t;
Akito914 0:4346c5764e83 14 float tvx, tvy, tomega;
Akito914 0:4346c5764e83 15 float vx, vy, omega, theta;
Akito914 0:4346c5764e83 16 float R, d;
Akito914 0:4346c5764e83 17 int addr[3];
Akito914 0:4346c5764e83 18 float v[3];
Akito914 0:4346c5764e83 19 bool f;
Akito914 0:4346c5764e83 20 public:
Akito914 0:4346c5764e83 21 Omuni(I2C *i, TIM_TypeDef *timer_type0, TIM_TypeDef *timer_type1, TIM_TypeDef *timer_type2, size_t pulse_per_revol, float _cy_ms, const int a[3], float _R, float _d);
Akito914 0:4346c5764e83 22 void set_pid(int n, float _kp, float _ki, float _kd);
Akito914 0:4346c5764e83 23 void set_speed(float vx, float vy);
Akito914 0:4346c5764e83 24 void set_speed(float vx, float vy, float omega);
Akito914 0:4346c5764e83 25 void set_speed(float _vx, float _vy, float _omega, bool _f);
Akito914 0:4346c5764e83 26 void renew_theta();
Akito914 0:4346c5764e83 27 bool renew_speed();
Akito914 0:4346c5764e83 28 void _set_speed();
Akito914 0:4346c5764e83 29 void drive();
Akito914 0:4346c5764e83 30 void reset_theta();
Akito914 0:4346c5764e83 31 float get_theta();
Akito914 0:4346c5764e83 32 float get_vx();
Akito914 0:4346c5764e83 33 float get_vy();
Akito914 0:4346c5764e83 34 };
Akito914 0:4346c5764e83 35
Akito914 0:4346c5764e83 36 #endif