Used for the Biorobotics Project: Calculates the position of the hands based on the shoulder rotations and vice versa.

Fork of compute by Erik Steenman

Committer:
AeroKev
Date:
Tue Nov 03 10:15:30 2015 +0000
Revision:
10:546ff4637306
Parent:
9:10f360732eb0
Last Commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dolcaer 0:30c99bc31f7c 1 #ifndef M_PI
dolcaer 0:30c99bc31f7c 2 #define M_PI 3.14159265358979323846
dolcaer 0:30c99bc31f7c 3 #endif
dolcaer 0:30c99bc31f7c 4
dolcaer 0:30c99bc31f7c 5 #ifndef lround
dolcaer 0:30c99bc31f7c 6 #define lround(var) (long)(var+0.5f)
dolcaer 0:30c99bc31f7c 7 #endif
dolcaer 0:30c99bc31f7c 8
AeroKev 7:a301b6123068 9 double calcGamma(double ApBp);
AeroKev 7:a301b6123068 10 double calcOmega(double Apx, double Apy, double Bpx, double Bpy);
AeroKev 7:a301b6123068 11 double homogenousX(double omega, double fPx, double fPy, double Apx);
AeroKev 7:a301b6123068 12 double homogenousY(double omega, double fPx, double fPy, double Apy);
AeroKev 7:a301b6123068 13 double calcTanDifference(double Ax, double Ay, double Bx, double By);
AeroKev 7:a301b6123068 14 double calcLengthPoints(double Ax, double Ay, double Bx, double By);
AeroKev 7:a301b6123068 15 double calcCosAngle(double line);
AeroKev 7:a301b6123068 16 double calcTanDirected(double Ax, double Ay, double Bx, double By, double Ox, double Oy);
AeroKev 7:a301b6123068 17 bool checkArm(double arm);
AeroKev 7:a301b6123068 18 int rad2deg(double rad);
AeroKev 7:a301b6123068 19 double deg2rad(double deg);
AeroKev 7:a301b6123068 20 void Angles2Point(double alpha, double beta, double& Px, double& Py);
dolcaer 0:30c99bc31f7c 21 void Point2Angles(double Px, double Py, double& a, double& b);
AeroKev 9:10f360732eb0 22 int compute_max(char dir, int pos);