s-shape control
proto01.h@5:b257821e4713, 2019-09-27 (annotated)
- Committer:
- piroro4560
- Date:
- Fri Sep 27 10:49:35 2019 +0000
- Revision:
- 5:b257821e4713
- Parent:
- 4:40c5ac00bb5b
adjustment
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
piroro4560 | 1:ad711893a3a7 | 1 | #ifndef PROTO01_H |
piroro4560 | 1:ad711893a3a7 | 2 | #define PROTO01_H |
piroro4560 | 0:92d6abcc2b52 | 3 | #define PI 3.141592653589793238462643383219502884 |
piroro4560 | 0:92d6abcc2b52 | 4 | |
piroro4560 | 0:92d6abcc2b52 | 5 | #include "mbed.h" |
piroro4560 | 0:92d6abcc2b52 | 6 | |
piroro4560 | 2:95ef998b5a62 | 7 | /** |
piroro4560 | 2:95ef998b5a62 | 8 | * S字制御クラス |
piroro4560 | 2:95ef998b5a62 | 9 | */ |
piroro4560 | 3:c46f084010aa | 10 | class Proto1 { |
piroro4560 | 4:40c5ac00bb5b | 11 | public: |
piroro4560 | 0:92d6abcc2b52 | 12 | |
piroro4560 | 4:40c5ac00bb5b | 13 | /** |
piroro4560 | 4:40c5ac00bb5b | 14 | * コンストラクタ |
piroro4560 | 4:40c5ac00bb5b | 15 | * @param accdis_ 加速距離 |
piroro4560 | 4:40c5ac00bb5b | 16 | * @param decdis_ 減速距離(誤差あり。大きめに調整すると良い) |
piroro4560 | 4:40c5ac00bb5b | 17 | * @param maxspeed_ 最大速度(?) |
piroro4560 | 4:40c5ac00bb5b | 18 | */ |
piroro4560 | 4:40c5ac00bb5b | 19 | Proto1(double accdis_, double decdis_, double maxspeed_, double s_vector_); |
piroro4560 | 4:40c5ac00bb5b | 20 | |
piroro4560 | 4:40c5ac00bb5b | 21 | /** |
piroro4560 | 4:40c5ac00bb5b | 22 | * 目標点を設定する |
piroro4560 | 4:40c5ac00bb5b | 23 | * @param target_ 目標点 |
piroro4560 | 4:40c5ac00bb5b | 24 | * @param start_ 開始地点 |
piroro4560 | 4:40c5ac00bb5b | 25 | */ |
piroro4560 | 4:40c5ac00bb5b | 26 | void target(double target_, double start_); |
piroro4560 | 0:92d6abcc2b52 | 27 | |
piroro4560 | 4:40c5ac00bb5b | 28 | /** |
piroro4560 | 4:40c5ac00bb5b | 29 | * xy座標で目標点を設定する |
piroro4560 | 4:40c5ac00bb5b | 30 | * @param targetx_ 目標点のx座標 |
piroro4560 | 4:40c5ac00bb5b | 31 | * @param targety_ 目標点のy座標 |
piroro4560 | 4:40c5ac00bb5b | 32 | * @param startx_ 開始地点のx座標 |
piroro4560 | 4:40c5ac00bb5b | 33 | * @param starty_ 開始地点のy座標 |
piroro4560 | 4:40c5ac00bb5b | 34 | */ |
piroro4560 | 5:b257821e4713 | 35 | void targetXY(int targetx_, int targety_, int startx_, int starty_); |
piroro4560 | 0:92d6abcc2b52 | 36 | |
piroro4560 | 4:40c5ac00bb5b | 37 | /** |
piroro4560 | 4:40c5ac00bb5b | 38 | * 現在地点を入力 |
piroro4560 | 4:40c5ac00bb5b | 39 | * @param now_ 現在地点 |
piroro4560 | 4:40c5ac00bb5b | 40 | */ |
piroro4560 | 4:40c5ac00bb5b | 41 | void Input_now(double now_); |
piroro4560 | 0:92d6abcc2b52 | 42 | |
piroro4560 | 4:40c5ac00bb5b | 43 | /** |
piroro4560 | 4:40c5ac00bb5b | 44 | * 現在地点を入力 |
piroro4560 | 4:40c5ac00bb5b | 45 | * @param now_x 現在地点のx座標 |
piroro4560 | 4:40c5ac00bb5b | 46 | * @param now_y 現在地点のy座標 |
piroro4560 | 4:40c5ac00bb5b | 47 | */ |
piroro4560 | 5:b257821e4713 | 48 | void Input_nowXY(int now_x, int now_y); |
piroro4560 | 0:92d6abcc2b52 | 49 | |
piroro4560 | 4:40c5ac00bb5b | 50 | /** |
piroro4560 | 4:40c5ac00bb5b | 51 | * S字に変化する速度を計算 |
piroro4560 | 4:40c5ac00bb5b | 52 | */ |
piroro4560 | 4:40c5ac00bb5b | 53 | void calculate(); |
piroro4560 | 4:40c5ac00bb5b | 54 | |
piroro4560 | 4:40c5ac00bb5b | 55 | /** |
piroro4560 | 4:40c5ac00bb5b | 56 | * x方向のベクトルを返す |
piroro4560 | 4:40c5ac00bb5b | 57 | */ |
piroro4560 | 4:40c5ac00bb5b | 58 | double getvalue_x(); |
piroro4560 | 0:92d6abcc2b52 | 59 | |
piroro4560 | 4:40c5ac00bb5b | 60 | /** |
piroro4560 | 4:40c5ac00bb5b | 61 | * y方向のベクトルを返す |
piroro4560 | 4:40c5ac00bb5b | 62 | */ |
piroro4560 | 4:40c5ac00bb5b | 63 | double getvalue_y(); |
piroro4560 | 0:92d6abcc2b52 | 64 | |
piroro4560 | 4:40c5ac00bb5b | 65 | /** |
piroro4560 | 4:40c5ac00bb5b | 66 | * そのまま返す |
piroro4560 | 4:40c5ac00bb5b | 67 | */ |
piroro4560 | 4:40c5ac00bb5b | 68 | double getvalue(); |
piroro4560 | 0:92d6abcc2b52 | 69 | |
piroro4560 | 4:40c5ac00bb5b | 70 | double accdis; |
piroro4560 | 4:40c5ac00bb5b | 71 | double decdis; |
piroro4560 | 4:40c5ac00bb5b | 72 | double accdis2; |
piroro4560 | 4:40c5ac00bb5b | 73 | double decdis2; |
piroro4560 | 4:40c5ac00bb5b | 74 | double accsec; |
piroro4560 | 4:40c5ac00bb5b | 75 | double decsec; |
piroro4560 | 4:40c5ac00bb5b | 76 | double maxspeed; |
piroro4560 | 4:40c5ac00bb5b | 77 | double maxspeed2; |
piroro4560 | 4:40c5ac00bb5b | 78 | |
piroro4560 | 4:40c5ac00bb5b | 79 | double s_vector; |
piroro4560 | 4:40c5ac00bb5b | 80 | double vector; |
piroro4560 | 0:92d6abcc2b52 | 81 | |
piroro4560 | 4:40c5ac00bb5b | 82 | double startx; |
piroro4560 | 4:40c5ac00bb5b | 83 | double starty; |
piroro4560 | 4:40c5ac00bb5b | 84 | double start; |
piroro4560 | 4:40c5ac00bb5b | 85 | double nowx; |
piroro4560 | 4:40c5ac00bb5b | 86 | double nowy; |
piroro4560 | 4:40c5ac00bb5b | 87 | double now; |
piroro4560 | 4:40c5ac00bb5b | 88 | |
piroro4560 | 4:40c5ac00bb5b | 89 | double targetDis; |
piroro4560 | 4:40c5ac00bb5b | 90 | double targetRad; |
piroro4560 | 4:40c5ac00bb5b | 91 | double targetx; |
piroro4560 | 4:40c5ac00bb5b | 92 | double targety; |
piroro4560 | 4:40c5ac00bb5b | 93 | double nowDis; |
piroro4560 | 4:40c5ac00bb5b | 94 | //consdis : 一定速度で走るところ |
piroro4560 | 4:40c5ac00bb5b | 95 | double consdis; |
piroro4560 | 4:40c5ac00bb5b | 96 | double counter; |
piroro4560 | 0:92d6abcc2b52 | 97 | |
piroro4560 | 0:92d6abcc2b52 | 98 | }; |
piroro4560 | 0:92d6abcc2b52 | 99 | |
piroro4560 | 0:92d6abcc2b52 | 100 | #endif |