Used for the Biorobotics Project: Calculates the position of the hands based on the shoulder rotations and vice versa.
Fork of compute by
compute.h@10:546ff4637306, 2015-11-03 (annotated)
- 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?
User | Revision | Line number | New 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); |