robot

Dependencies:   FastPWM3 mbed

Committer:
bwang
Date:
Sat Feb 10 03:58:36 2018 +0000
Revision:
192:3152a86cd108
Parent:
42:030e0ec4eac5
02/09/2018 22:58 - everything but main.cpp and friends moved to flash configuration

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bwang 42:030e0ec4eac5 1 #include "math.h"
bwang 42:030e0ec4eac5 2 #include "Transforms.h"
bwang 42:030e0ec4eac5 3
bwang 42:030e0ec4eac5 4 void clarke(float a, float b, float *alpha, float *beta) {
bwang 42:030e0ec4eac5 5 *alpha = a;
bwang 42:030e0ec4eac5 6 *beta = 1 / sqrtf(3.0f) * a + 2 / sqrtf(3.0f) * b;
bwang 42:030e0ec4eac5 7 }
bwang 42:030e0ec4eac5 8
bwang 42:030e0ec4eac5 9 void park(float alpha, float beta, float sin_p, float cos_p, float *d, float *q) {
bwang 42:030e0ec4eac5 10 *d = alpha * cos_p + beta * sin_p;
bwang 42:030e0ec4eac5 11 *q = -alpha * sin_p + beta * cos_p;
bwang 42:030e0ec4eac5 12 }
bwang 42:030e0ec4eac5 13
bwang 42:030e0ec4eac5 14 void invpark(float d, float q, float sin_p, float cos_p, float *alpha, float *beta) {
bwang 42:030e0ec4eac5 15 *alpha = d * cos_p - q * sin_p;
bwang 42:030e0ec4eac5 16 *beta = d * sin_p + q * cos_p;
bwang 42:030e0ec4eac5 17 }
bwang 42:030e0ec4eac5 18
bwang 42:030e0ec4eac5 19 void invclarke(float alpha, float beta, float *a, float *b) {
bwang 42:030e0ec4eac5 20 *a = alpha;
bwang 42:030e0ec4eac5 21 *b = -0.5f * alpha + sqrtf(3) / 2.0f * beta;
bwang 42:030e0ec4eac5 22 }