BE@R lab / InverseLeg

Dependents:   SwitchMode Stabilizer SwitchMode

Committer:
icyzkungz
Date:
Wed Dec 23 00:32:09 2015 +0000
Revision:
3:fd037c89ba5f
Parent:
2:c9c38629be85
Child:
4:d3bb9ead2a55
lastest

Who changed what in which revision?

UserRevisionLine numberNew contents of line
icyzkungz 2:c9c38629be85 1 #include "mbed.h"
icyzkungz 3:fd037c89ba5f 2 static Serial test(SERIAL_TX,SERIAL_RX);
icyzkungz 2:c9c38629be85 3 class Kinematic
icyzkungz 1:d5cf0907f83d 4 {
icyzkungz 1:d5cf0907f83d 5 private:
icyzkungz 1:d5cf0907f83d 6 float Link_Hip; //centimeter
icyzkungz 1:d5cf0907f83d 7 float Link_Knee; //centimeter
icyzkungz 1:d5cf0907f83d 8 float Zeta_Hip; //degree
icyzkungz 1:d5cf0907f83d 9 float Zeta_Knee; //degree
icyzkungz 1:d5cf0907f83d 10 float Position_Y; //centimeter
icyzkungz 1:d5cf0907f83d 11 float Position_Z; //centimeter
icyzkungz 3:fd037c89ba5f 12 float offset_y;
icyzkungz 3:fd037c89ba5f 13 float offset_z;
icyzkungz 3:fd037c89ba5f 14 float zeta_knee_range_max;
icyzkungz 3:fd037c89ba5f 15 float zeta_knee_range_min;
icyzkungz 3:fd037c89ba5f 16 float zeta_hip_range_max;
icyzkungz 3:fd037c89ba5f 17 float zeta_hip_range_min;
icyzkungz 1:d5cf0907f83d 18 public:
icyzkungz 2:c9c38629be85 19 Kinematic(float, float);
icyzkungz 2:c9c38629be85 20 Kinematic(char, float, float, float, float);
icyzkungz 1:d5cf0907f83d 21 float get_Link_Hip() {
icyzkungz 1:d5cf0907f83d 22 return Link_Hip;
icyzkungz 1:d5cf0907f83d 23 }
icyzkungz 1:d5cf0907f83d 24 float get_Link_Knee() {
icyzkungz 1:d5cf0907f83d 25 return Link_Knee;
icyzkungz 1:d5cf0907f83d 26 }
icyzkungz 1:d5cf0907f83d 27 float get_Zeta_Hip() {
icyzkungz 1:d5cf0907f83d 28 return Zeta_Hip;
icyzkungz 1:d5cf0907f83d 29 }
icyzkungz 1:d5cf0907f83d 30 float get_Zeta_Knee() {
icyzkungz 1:d5cf0907f83d 31 return Zeta_Knee;
icyzkungz 1:d5cf0907f83d 32 }
icyzkungz 1:d5cf0907f83d 33 float get_Position_Y() {
icyzkungz 1:d5cf0907f83d 34 return Position_Y;
icyzkungz 1:d5cf0907f83d 35 }
icyzkungz 1:d5cf0907f83d 36 float get_Position_Z() {
icyzkungz 1:d5cf0907f83d 37 return Position_Z;
icyzkungz 1:d5cf0907f83d 38 }
icyzkungz 3:fd037c89ba5f 39 float get_offset_y() {
icyzkungz 3:fd037c89ba5f 40 return offset_y;
icyzkungz 3:fd037c89ba5f 41 }
icyzkungz 3:fd037c89ba5f 42 float get_offset_z() {
icyzkungz 3:fd037c89ba5f 43 return offset_z;
icyzkungz 3:fd037c89ba5f 44 }
icyzkungz 1:d5cf0907f83d 45
icyzkungz 1:d5cf0907f83d 46 void set_Link_Hip(float);
icyzkungz 1:d5cf0907f83d 47 void set_Link_Knee(float);
icyzkungz 1:d5cf0907f83d 48 void set_Zeta_Hip(float);
icyzkungz 1:d5cf0907f83d 49 void set_Zeta_Knee(float);
icyzkungz 1:d5cf0907f83d 50 void set_Position_Y(float);
icyzkungz 1:d5cf0907f83d 51 void set_Position_Z(float);
icyzkungz 3:fd037c89ba5f 52 void set_zeta_knee_range(float,float);
icyzkungz 3:fd037c89ba5f 53 void set_zeta_hip_range(float,float);
icyzkungz 3:fd037c89ba5f 54 void set_offset_YZ(float,float);
icyzkungz 3:fd037c89ba5f 55 void SumPositionWithOffset();
icyzkungz 1:d5cf0907f83d 56
icyzkungz 2:c9c38629be85 57 void ForwardKinematicCalculation();
icyzkungz 1:d5cf0907f83d 58 void InverseKinematicCalculation();
icyzkungz 3:fd037c89ba5f 59
icyzkungz 3:fd037c89ba5f 60 void print();
icyzkungz 2:c9c38629be85 61 };