NHK2017 octopus robot

Dependencies:   2017NHKpin_config mbed FEP ikarashiMDC PID jy901 omni HMC6352 omni_wheel

Fork of KANI2017v2 by NagaokaRoboticsClub_mbedTeam

Committer:
number_key
Date:
Wed Oct 25 03:25:06 2017 +0900
Revision:
26:7258d5ad0bff
Parent:
25:d199d621ecca
no message

Who changed what in which revision?

UserRevisionLine numberNew 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 26:7258d5ad0bff 4 omni(4),
number_key 23:37bb9afe9fdc 5 wheels({
number_key 26:7258d5ad0bff 6 ikarashiMDC({RS485Controller, 0, 1, SM, RS485}),
number_key 26:7258d5ad0bff 7 ikarashiMDC({RS485Controller, 0, 2, SM, RS485}),
number_key 26:7258d5ad0bff 8 ikarashiMDC({RS485Controller, 0, 3, SM, RS485}),
number_key 26:7258d5ad0bff 9 ikarashiMDC({RS485Controller, 0, 0, SM, RS485})
number_key 23:37bb9afe9fdc 10 })
number_key 23:37bb9afe9fdc 11 {
number_key 26:7258d5ad0bff 12 omni.wheel[0].setRadian(PI / 4.0 * 5.0);
number_key 26:7258d5ad0bff 13 omni.wheel[1].setRadian(PI / 4.0 * 7.0);
number_key 26:7258d5ad0bff 14 omni.wheel[2].setRadian(PI / 4.0 * 1.0);
number_key 26:7258d5ad0bff 15 omni.wheel[3].setRadian(PI / 4.0 * 3.0);
number_key 23:37bb9afe9fdc 16 for(int i = 0; i < 4; i++) {
number_key 23:37bb9afe9fdc 17 wheels[i].braking = true;
number_key 23:37bb9afe9fdc 18 }
number_key 23:37bb9afe9fdc 19 }
number_key 23:37bb9afe9fdc 20
number_key 23:37bb9afe9fdc 21 void WheelUnit::moveXY(float X, float Y, float moment)
number_key 23:37bb9afe9fdc 22 {
number_key 26:7258d5ad0bff 23 omni.computeXY(X, Y, moment);
number_key 23:37bb9afe9fdc 24 for(int i = 0; i < 4; i++) {
number_key 26:7258d5ad0bff 25 wheels[i].setSpeed(omni.wheel[i]);
number_key 26:7258d5ad0bff 26 }
number_key 26:7258d5ad0bff 27 }
number_key 26:7258d5ad0bff 28
number_key 26:7258d5ad0bff 29 void WheelUnit::moveXY(float X, float Y, float gX, float gY, float moment)
number_key 26:7258d5ad0bff 30 {
number_key 26:7258d5ad0bff 31 omni.computeXY(X, Y, gX, gY, moment);
number_key 26:7258d5ad0bff 32 for(int i = 0; i < 4; i++) {
number_key 26:7258d5ad0bff 33 wheels[i].setSpeed(omni.wheel[i]);
number_key 23:37bb9afe9fdc 34 }
number_key 23:37bb9afe9fdc 35 }
number_key 23:37bb9afe9fdc 36
number_key 23:37bb9afe9fdc 37 void WheelUnit::moveCircular(float r, float radian, float moment)
number_key 23:37bb9afe9fdc 38 {
number_key 26:7258d5ad0bff 39 omni.computeCircular(r, radian, moment);
number_key 23:37bb9afe9fdc 40 for(int i = 0; i < 4; i++) {
number_key 26:7258d5ad0bff 41 wheels[i].setSpeed(omni.wheel[i]);
number_key 23:37bb9afe9fdc 42 }
number_key 23:37bb9afe9fdc 43 }
number_key 26:7258d5ad0bff 44
number_key 26:7258d5ad0bff 45 void WheelUnit::moveCircular(float r, float radian, float gX, float gY, float moment)
number_key 26:7258d5ad0bff 46 {
number_key 26:7258d5ad0bff 47 omni.computeCircular(r, radian, gX, gY, moment);
number_key 26:7258d5ad0bff 48 for(int i = 0; i < 4; i++) {
number_key 26:7258d5ad0bff 49 wheels[i].setSpeed(omni.wheel[i]);
number_key 26:7258d5ad0bff 50 }
number_key 26:7258d5ad0bff 51 }