NHK2017 octopus robot
Dependencies: 2017NHKpin_config mbed FEP ikarashiMDC PID jy901 omni HMC6352 omni_wheel
Fork of KANI2017v2 by
bot/wheel_unit/wheel_unit.cpp@25:d199d621ecca, 2017-09-30 (annotated)
- Committer:
- number_key
- Date:
- Sat Sep 30 17:59:10 2017 +0900
- Revision:
- 25:d199d621ecca
- Parent:
- 24:9a4ca5442717
- Child:
- 26:7258d5ad0bff
save
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
number_key |
23:37bb9afe9fdc | 1 | #include "wheel_unit.h" |
number_key |
23:37bb9afe9fdc | 2 | |
number_key |
23:37bb9afe9fdc | 3 | WheelUnit::WheelUnit(DigitalOut* RS485Controller, Serial* RS485) : |
number_key |
23:37bb9afe9fdc | 4 | Omni(4), |
number_key |
23:37bb9afe9fdc | 5 | wheels({ |
number_key |
23:37bb9afe9fdc | 6 | {RS485Controller, 0, 1, SM, RS485}, |
number_key |
23:37bb9afe9fdc | 7 | {RS485Controller, 0, 2, SM, RS485}, |
number_key |
25:d199d621ecca | 8 | {RS485Controller, 0, 3, SM, RS485}, |
number_key |
25:d199d621ecca | 9 | {RS485Controller, 0, 0, SM, RS485} |
number_key |
23:37bb9afe9fdc | 10 | }) |
number_key |
23:37bb9afe9fdc | 11 | { |
number_key |
24:9a4ca5442717 | 12 | Omni::setWheelRadian(PI / 4.0, 3 * PI / 4.0, 5 * PI / 4.0, 7 * PI / 4.0); |
number_key |
24:9a4ca5442717 | 13 | //Omni::setWheelRadian(PI / 4.0, PI / 4.0, PI / 4.0, PI / 4.0); |
number_key |
23:37bb9afe9fdc | 14 | for(int i = 0; i < 4; i++) { |
number_key |
23:37bb9afe9fdc | 15 | wheels[i].braking = true; |
number_key |
23:37bb9afe9fdc | 16 | } |
number_key |
23:37bb9afe9fdc | 17 | } |
number_key |
23:37bb9afe9fdc | 18 | |
number_key |
23:37bb9afe9fdc | 19 | void WheelUnit::moveXY(float X, float Y, float moment) |
number_key |
23:37bb9afe9fdc | 20 | { |
number_key |
23:37bb9afe9fdc | 21 | Omni::computeXY(X, Y, moment); |
number_key |
23:37bb9afe9fdc | 22 | for(int i = 0; i < 4; i++) { |
number_key |
23:37bb9afe9fdc | 23 | wheels[i].setSpeed(Omni::getOutput(i)); |
number_key |
23:37bb9afe9fdc | 24 | } |
number_key |
23:37bb9afe9fdc | 25 | } |
number_key |
23:37bb9afe9fdc | 26 | |
number_key |
23:37bb9afe9fdc | 27 | void WheelUnit::moveCircular(float r, float radian, float moment) |
number_key |
23:37bb9afe9fdc | 28 | { |
number_key |
23:37bb9afe9fdc | 29 | Omni::computeCircular(r, radian, moment); |
number_key |
23:37bb9afe9fdc | 30 | for(int i = 0; i < 4; i++) { |
number_key |
23:37bb9afe9fdc | 31 | wheels[i].setSpeed(Omni::getOutput(i)); |
number_key |
23:37bb9afe9fdc | 32 | } |
number_key |
23:37bb9afe9fdc | 33 | } |