Code to let Gr20's BioRobotics2017 robot come to live.
Dependencies: FastPWM MODSERIAL QEI mbed
Diff: ref.h
- Revision:
- 0:caa8ee3bd882
- Child:
- 2:df0c6af898ac
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ref.h Sun Nov 12 00:14:05 2017 +0000 @@ -0,0 +1,45 @@ +/** + * Reference signals + */ +namespace ref +{ +const double kSampleTime = 0.01; +const double kCalibrationOmega = 20; // [deg/sec] +const double kCalibrationError = 1; +const double kCalibrationOmegaStep = kCalibrationOmega*kSampleTime; + +const double kMinX = 0.290; +const double kMaxX = 0.600; + +const double kMinY = -0.140; +const double kMaxY = 0.190; + +const double kOriginTheta1 = robot::InverseKinematicsTheta(kMinX,kMinY,1); +const double kOriginTheta2 = robot::InverseKinematicsTheta(kMinX,kMinY,2); + +const double kMaxSpeed = 0.05;// [m/s] +const double kMaxStep = kMaxSpeed*kSampleTime; + +int i_demo_coord = 0; +const int kNumDemoCoords = 9; +const double kDemoCoords[2][kNumDemoCoords] { + {kMinX, kMaxX, kMaxX, kMinX, kMinX, kMaxX, kMaxX, kMinX, kMinX}, + {kMinY, kMinY, kMaxY, kMaxY, kMinY, kMaxY, kMinY, kMaxY, kMaxY} + }; + +double theta_1 = 0; +double theta_2 = 0; + +double get_ref_x(); +double get_ref_y(); + + + +void SetPositionAsReference(); + +void UpdateReference(); + +void CalibrationReference(); +void HomingReference(); +void DemoReference(); +} \ No newline at end of file