robot

Dependencies:   FastPWM3 mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers Transforms.cpp Source File

Transforms.cpp

00001 #include "math.h"
00002 #include "Transforms.h"
00003 
00004 void clarke(float a, float b, float *alpha, float *beta) {
00005     *alpha = a;
00006     *beta = 1 / sqrtf(3.0f) * a + 2 / sqrtf(3.0f) * b;
00007 }
00008 
00009 void park(float alpha, float beta, float sin_p, float cos_p, float *d, float *q) {
00010     *d = alpha * cos_p + beta * sin_p;
00011     *q = -alpha * sin_p + beta * cos_p;
00012 }
00013 
00014 void invpark(float d, float q, float sin_p, float cos_p, float *alpha, float *beta) {
00015     *alpha = d * cos_p - q * sin_p;
00016     *beta = d * sin_p + q * cos_p;
00017 }
00018 
00019 void invclarke(float alpha, float beta, float *a, float *b) {
00020     *a = alpha;
00021     *b = -0.5f * alpha + sqrtf(3) / 2.0f * beta;
00022 }