Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
mecanum_4.cpp@0:b7d3adaffc0a, 2018-05-07 (annotated)
- Committer:
- himarsmty
- Date:
- Mon May 07 06:57:22 2018 +0000
- Revision:
- 0:b7d3adaffc0a
a
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| himarsmty | 0:b7d3adaffc0a | 1 | #include "mecanum_4.h" |
| himarsmty | 0:b7d3adaffc0a | 2 | |
| himarsmty | 0:b7d3adaffc0a | 3 | //four motors |
| himarsmty | 0:b7d3adaffc0a | 4 | Motor_3 front_left(PB_3,PB_4,PB_1); |
| himarsmty | 0:b7d3adaffc0a | 5 | Motor_3 front_right(PA_12,PA_15,PB_0); |
| himarsmty | 0:b7d3adaffc0a | 6 | Motor_3 back_left(PB_13,PB_12,PA_6); |
| himarsmty | 0:b7d3adaffc0a | 7 | Motor_3 back_right(PB_15,PB_14,PA_7); |
| himarsmty | 0:b7d3adaffc0a | 8 | |
| himarsmty | 0:b7d3adaffc0a | 9 | void mecanum_4::mv_x(float speed) |
| himarsmty | 0:b7d3adaffc0a | 10 | { |
| himarsmty | 0:b7d3adaffc0a | 11 | front_left.mv(speed); front_right.mv(speed); |
| himarsmty | 0:b7d3adaffc0a | 12 | back_left.mv(speed); back_right.mv(speed); |
| himarsmty | 0:b7d3adaffc0a | 13 | } |
| himarsmty | 0:b7d3adaffc0a | 14 | void mecanum_4::mv_y(float speed) |
| himarsmty | 0:b7d3adaffc0a | 15 | { |
| himarsmty | 0:b7d3adaffc0a | 16 | float speed1=-speed; |
| himarsmty | 0:b7d3adaffc0a | 17 | front_left.mv(speed1); front_right.mv(speed); |
| himarsmty | 0:b7d3adaffc0a | 18 | back_left.mv(speed); back_right.mv(speed1); |
| himarsmty | 0:b7d3adaffc0a | 19 | } |
| himarsmty | 0:b7d3adaffc0a | 20 | void mecanum_4::rotate(float speed) |
| himarsmty | 0:b7d3adaffc0a | 21 | { |
| himarsmty | 0:b7d3adaffc0a | 22 | float speed1=-speed; |
| himarsmty | 0:b7d3adaffc0a | 23 | front_left.mv(speed1); front_right.mv(speed); |
| himarsmty | 0:b7d3adaffc0a | 24 | back_left.mv(speed1); back_right.mv(speed); |
| himarsmty | 0:b7d3adaffc0a | 25 | } |
| himarsmty | 0:b7d3adaffc0a | 26 | void mecanum_4::r_ob(float speed) |
| himarsmty | 0:b7d3adaffc0a | 27 | { |
| himarsmty | 0:b7d3adaffc0a | 28 | front_left.mv(speed); front_right.mv(0); |
| himarsmty | 0:b7d3adaffc0a | 29 | back_left.mv(0); back_right.mv(speed); |
| himarsmty | 0:b7d3adaffc0a | 30 | } |
| himarsmty | 0:b7d3adaffc0a | 31 | void mecanum_4::i_ob(float speed) |
| himarsmty | 0:b7d3adaffc0a | 32 | { |
| himarsmty | 0:b7d3adaffc0a | 33 | front_left.mv(0); front_right.mv(speed); |
| himarsmty | 0:b7d3adaffc0a | 34 | back_left.mv(speed); back_right.mv(0); |
| himarsmty | 0:b7d3adaffc0a | 35 | } |
| himarsmty | 0:b7d3adaffc0a | 36 | void mecanum_4::any_degree(float degree,float time) |
| himarsmty | 0:b7d3adaffc0a | 37 | { |
| himarsmty | 0:b7d3adaffc0a | 38 | if(degree>=0&°ree<=90) |
| himarsmty | 0:b7d3adaffc0a | 39 | { |
| himarsmty | 0:b7d3adaffc0a | 40 | float degree1=(-degree)/90*200+100; |
| himarsmty | 0:b7d3adaffc0a | 41 | front_left.mv(100); front_right.mv(degree1); |
| himarsmty | 0:b7d3adaffc0a | 42 | back_left.mv(degree1); back_right.mv(100); |
| himarsmty | 0:b7d3adaffc0a | 43 | } |
| himarsmty | 0:b7d3adaffc0a | 44 | else if(degree>=90&°ree<=180) |
| himarsmty | 0:b7d3adaffc0a | 45 | { |
| himarsmty | 0:b7d3adaffc0a | 46 | float degree1=(-degree)/90*200+300; |
| himarsmty | 0:b7d3adaffc0a | 47 | front_left.mv(degree1); front_right.mv(-100); |
| himarsmty | 0:b7d3adaffc0a | 48 | back_left.mv(-100); back_right.mv(degree1); |
| himarsmty | 0:b7d3adaffc0a | 49 | } |
| himarsmty | 0:b7d3adaffc0a | 50 | else if(degree>=180&°ree<=270) |
| himarsmty | 0:b7d3adaffc0a | 51 | { |
| himarsmty | 0:b7d3adaffc0a | 52 | float degree1=degree/90*200-500; |
| himarsmty | 0:b7d3adaffc0a | 53 | front_left.mv(-100); front_right.mv(degree1); |
| himarsmty | 0:b7d3adaffc0a | 54 | back_left.mv(degree1); back_right.mv(-100); |
| himarsmty | 0:b7d3adaffc0a | 55 | } |
| himarsmty | 0:b7d3adaffc0a | 56 | else if(degree>=270&°ree<=360) |
| himarsmty | 0:b7d3adaffc0a | 57 | { |
| himarsmty | 0:b7d3adaffc0a | 58 | float degree1=degree/90*200-700; |
| himarsmty | 0:b7d3adaffc0a | 59 | front_left.mv(degree1); front_right.mv(100); |
| himarsmty | 0:b7d3adaffc0a | 60 | back_left.mv(100); back_right.mv(degree1); |
| himarsmty | 0:b7d3adaffc0a | 61 | } |
| himarsmty | 0:b7d3adaffc0a | 62 | wait(time); |
| himarsmty | 0:b7d3adaffc0a | 63 | front_left.stop(); |
| himarsmty | 0:b7d3adaffc0a | 64 | front_right.stop(); |
| himarsmty | 0:b7d3adaffc0a | 65 | back_left.stop(); |
| himarsmty | 0:b7d3adaffc0a | 66 | back_right.stop(); |
| himarsmty | 0:b7d3adaffc0a | 67 | } |