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@23:37bb9afe9fdc, 2017-09-13 (annotated)
- Committer:
- number_key
- Date:
- Wed Sep 13 14:26:47 2017 +0900
- Revision:
- 23:37bb9afe9fdc
- Child:
- 24:9a4ca5442717
move
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, 0, SM, RS485}, |
number_key |
23:37bb9afe9fdc | 7 | {RS485Controller, 0, 1, SM, RS485}, |
number_key |
23:37bb9afe9fdc | 8 | {RS485Controller, 0, 2, SM, RS485}, |
number_key |
23:37bb9afe9fdc | 9 | {RS485Controller, 0, 3, SM, RS485} |
number_key |
23:37bb9afe9fdc | 10 | }) |
number_key |
23:37bb9afe9fdc | 11 | { |
number_key |
23:37bb9afe9fdc | 12 | Omni::setWheelRadian(PI / 2.0, 3 * PI / 2.0, 5 * PI / 2.0, 7 * PI / 2.0); |
number_key |
23:37bb9afe9fdc | 13 | for(int i = 0; i < 4; i++) { |
number_key |
23:37bb9afe9fdc | 14 | wheels[i].braking = true; |
number_key |
23:37bb9afe9fdc | 15 | } |
number_key |
23:37bb9afe9fdc | 16 | } |
number_key |
23:37bb9afe9fdc | 17 | |
number_key |
23:37bb9afe9fdc | 18 | void WheelUnit::moveXY(float X, float Y, float moment) |
number_key |
23:37bb9afe9fdc | 19 | { |
number_key |
23:37bb9afe9fdc | 20 | Omni::computeXY(X, Y, moment); |
number_key |
23:37bb9afe9fdc | 21 | for(int i = 0; i < 4; i++) { |
number_key |
23:37bb9afe9fdc | 22 | wheels[i].setSpeed(Omni::getOutput(i)); |
number_key |
23:37bb9afe9fdc | 23 | } |
number_key |
23:37bb9afe9fdc | 24 | } |
number_key |
23:37bb9afe9fdc | 25 | |
number_key |
23:37bb9afe9fdc | 26 | void WheelUnit::moveCircular(float r, float radian, float moment) |
number_key |
23:37bb9afe9fdc | 27 | { |
number_key |
23:37bb9afe9fdc | 28 | Omni::computeCircular(r, radian, moment); |
number_key |
23:37bb9afe9fdc | 29 | for(int i = 0; i < 4; i++) { |
number_key |
23:37bb9afe9fdc | 30 | wheels[i].setSpeed(Omni::getOutput(i)); |
number_key |
23:37bb9afe9fdc | 31 | } |
number_key |
23:37bb9afe9fdc | 32 | } |