![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
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
- Committer:
- number_key
- Date:
- 2017-10-25
- Revision:
- 26:7258d5ad0bff
- Parent:
- 25:d199d621ecca
File content as of revision 26:7258d5ad0bff:
#include "wheel_unit.h" WheelUnit::WheelUnit(DigitalOut* RS485Controller, Serial* RS485) : omni(4), wheels({ ikarashiMDC({RS485Controller, 0, 1, SM, RS485}), ikarashiMDC({RS485Controller, 0, 2, SM, RS485}), ikarashiMDC({RS485Controller, 0, 3, SM, RS485}), ikarashiMDC({RS485Controller, 0, 0, SM, RS485}) }) { omni.wheel[0].setRadian(PI / 4.0 * 5.0); omni.wheel[1].setRadian(PI / 4.0 * 7.0); omni.wheel[2].setRadian(PI / 4.0 * 1.0); omni.wheel[3].setRadian(PI / 4.0 * 3.0); for(int i = 0; i < 4; i++) { wheels[i].braking = true; } } void WheelUnit::moveXY(float X, float Y, float moment) { omni.computeXY(X, Y, moment); for(int i = 0; i < 4; i++) { wheels[i].setSpeed(omni.wheel[i]); } } void WheelUnit::moveXY(float X, float Y, float gX, float gY, float moment) { omni.computeXY(X, Y, gX, gY, moment); for(int i = 0; i < 4; i++) { wheels[i].setSpeed(omni.wheel[i]); } } void WheelUnit::moveCircular(float r, float radian, float moment) { omni.computeCircular(r, radian, moment); for(int i = 0; i < 4; i++) { wheels[i].setSpeed(omni.wheel[i]); } } void WheelUnit::moveCircular(float r, float radian, float gX, float gY, float moment) { omni.computeCircular(r, radian, gX, gY, moment); for(int i = 0; i < 4; i++) { wheels[i].setSpeed(omni.wheel[i]); } }