Bayley Wang
/
foc-ed_in_the_bot_compact
robot
Diff: Transforms/Transforms.cpp
- Revision:
- 42:030e0ec4eac5
- Child:
- 192:3152a86cd108
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Transforms/Transforms.cpp Fri Jan 06 07:54:22 2017 +0000 @@ -0,0 +1,23 @@ +#include "math.h" + +#include "Transforms.h" + +void clarke(float a, float b, float *alpha, float *beta) { + *alpha = a; + *beta = 1 / sqrtf(3.0f) * a + 2 / sqrtf(3.0f) * b; +} + +void park(float alpha, float beta, float sin_p, float cos_p, float *d, float *q) { + *d = alpha * cos_p + beta * sin_p; + *q = -alpha * sin_p + beta * cos_p; +} + +void invpark(float d, float q, float sin_p, float cos_p, float *alpha, float *beta) { + *alpha = d * cos_p - q * sin_p; + *beta = d * sin_p + q * cos_p; +} + +void invclarke(float alpha, float beta, float *a, float *b) { + *a = alpha; + *b = -0.5f * alpha + sqrtf(3) / 2.0f * beta; +}