NHK2017Ateamかにろぼ
Dependencies: 2017NHKpin_config mbed FEP HMC6352 MotorDriverController PID QEI omni
\ ̄\ / ̄/ /l \ \ / / lヽ | ヽ ヽ | | / / | \ ` ‐ヽ ヽ ● ● / / ‐ / \ __ l | ||___|| / l __ / \ \ / \/ /\| 人__人 |/\ //\| |/\\ //\| |/\\ / . \_____/ \ ┏┓ ┏━┓┏┓ ┏┓ ┏┓┏┓ ┏┓ ┏┓┗┛ ┏┓ ┗┓┃┗┛ ┏┛┗━┓ ┃┃┃┃ ┃┃┏━┛┗┓┏┓┏┛┗━┓┃┃┏┓┏┓┏━━━┓ ┗┓┏━┛ ┃┃┗┛ ┃┃┗━┓┏┛┗┛┗┓┏┓┃┗┛┗┛┃┃┗━━━┛ ┏┛┃┏━┓┃┗━━┓┃┃┏━┛┗┓ ┏┛┃┃┃ ┃┃ ┃┏┛┗━┛┗━━┓┃┃┃┃┏┓┏┛ ┗━┛┃┃ ┃┃┏┓ ┃┃┏━━┓┏━━┛┃┃┃┃┗┛┃ ┏┛┃ ┃┃┃┗━━┓ ┗┛┗━━┛┗━━━┛┗┛┗━━┛ ┗━┛ ┗┛┗━━━┛
bot/motor_driver/motor_driver.cpp@8:3987aa3d016b, 2017-08-29 (annotated)
- Committer:
- uchitake
- Date:
- Tue Aug 29 10:11:02 2017 +0900
- Revision:
- 8:3987aa3d016b
- Parent:
- 6:590c9622ecf1
- Child:
- 9:cba664555161
add mech func
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
UCHITAKE | 6:590c9622ecf1 | 1 | #include "motor_driver.h" |
UCHITAKE | 6:590c9622ecf1 | 2 | |
UCHITAKE | 6:590c9622ecf1 | 3 | MotorDriver::MotorDriver() : MDC(MDSDA, MDSCL) |
UCHITAKE | 6:590c9622ecf1 | 4 | { |
UCHITAKE | 6:590c9622ecf1 | 5 | MotorSTOP(); |
uchitake |
8:3987aa3d016b | 6 | solenoid = 0; |
UCHITAKE | 6:590c9622ecf1 | 7 | } |
UCHITAKE | 6:590c9622ecf1 | 8 | |
UCHITAKE | 6:590c9622ecf1 | 9 | void MotorDriver::moveSlider(float speed) |
UCHITAKE | 6:590c9622ecf1 | 10 | { |
UCHITAKE | 6:590c9622ecf1 | 11 | write(ARM_MDC_ADDR, SLIDER_NUMBER, speed); |
UCHITAKE | 6:590c9622ecf1 | 12 | } |
UCHITAKE | 6:590c9622ecf1 | 13 | |
uchitake |
8:3987aa3d016b | 14 | void MotorDriver::swing(float speed) |
uchitake |
8:3987aa3d016b | 15 | { |
uchitake |
8:3987aa3d016b | 16 | write(ARM_MDC_ADDR, SWORD_NUMBER, speed); |
uchitake |
8:3987aa3d016b | 17 | } |
uchitake |
8:3987aa3d016b | 18 | |
uchitake |
8:3987aa3d016b | 19 | void MotorDriver::shakeHead(float speed) |
uchitake |
8:3987aa3d016b | 20 | { |
uchitake |
8:3987aa3d016b | 21 | write(ARM_MDC_ADDR, SHAKE_NUMBER, speed); |
uchitake |
8:3987aa3d016b | 22 | } |
uchitake |
8:3987aa3d016b | 23 | |
uchitake |
8:3987aa3d016b | 24 | void MotorDriver::release() |
uchitake |
8:3987aa3d016b | 25 | { |
uchitake |
8:3987aa3d016b | 26 | solenoid = 1; |
uchitake |
8:3987aa3d016b | 27 | } |
uchitake |
8:3987aa3d016b | 28 | |
UCHITAKE | 6:590c9622ecf1 | 29 | void MotorDriver::destroy(float speed) |
UCHITAKE | 6:590c9622ecf1 | 30 | { |
UCHITAKE | 6:590c9622ecf1 | 31 | write(ARM_MDC_ADDR, ARM_NUMBER, speed); |
UCHITAKE | 6:590c9622ecf1 | 32 | } |
UCHITAKE | 6:590c9622ecf1 | 33 | |
UCHITAKE | 6:590c9622ecf1 | 34 | void MotorDriver::goXY(float X, float Y, float moment) |
UCHITAKE | 6:590c9622ecf1 | 35 | { |
UCHITAKE | 6:590c9622ecf1 | 36 | quadOmni.computeXY(X, Y, moment); |
UCHITAKE | 6:590c9622ecf1 | 37 | for(int i = 0; i < 4; i++) { |
UCHITAKE | 6:590c9622ecf1 | 38 | write(WHEEL_MDC_ADDR, i, quadOmni.getOutput(i)); |
UCHITAKE | 6:590c9622ecf1 | 39 | } |
UCHITAKE | 6:590c9622ecf1 | 40 | } |
UCHITAKE | 6:590c9622ecf1 | 41 | |
UCHITAKE | 6:590c9622ecf1 | 42 | void MotorDriver::goCircular(float r, float rad, float moment) |
UCHITAKE | 6:590c9622ecf1 | 43 | { |
UCHITAKE | 6:590c9622ecf1 | 44 | quadOmni.computeCircular(r, rad, moment); |
UCHITAKE | 6:590c9622ecf1 | 45 | for(int i = 0; i < 4; i++) { |
UCHITAKE | 6:590c9622ecf1 | 46 | write(WHEEL_MDC_ADDR, i, quadOmni.getOutput(i)); |
UCHITAKE | 6:590c9622ecf1 | 47 | } |
uchitake |
8:3987aa3d016b | 48 | } |