Soma Takahashi / prototype01
Committer:
piroro4560
Date:
Thu Aug 22 14:07:24 2019 +0000
Revision:
3:c46f084010aa
Parent:
prototype01.h@2:95ef998b5a62
Child:
4:40c5ac00bb5b
change name

Who changed what in which revision?

UserRevisionLine numberNew 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 0:92d6abcc2b52 11 public:
piroro4560 0:92d6abcc2b52 12
piroro4560 0:92d6abcc2b52 13 /**
piroro4560 0:92d6abcc2b52 14 * コンストラクタ
piroro4560 0:92d6abcc2b52 15 * @param accdis_ 加速距離
piroro4560 0:92d6abcc2b52 16 * @param decdis_ 減速距離(誤差あり。大きめに調整すると良い)
piroro4560 0:92d6abcc2b52 17 * @param maxspeed_ 最大速度(?)
piroro4560 0:92d6abcc2b52 18 */
piroro4560 3:c46f084010aa 19 Proto1(double accdis_, double decdis_, double maxspeed_, double s_vector_);
piroro4560 0:92d6abcc2b52 20
piroro4560 0:92d6abcc2b52 21 /**
piroro4560 0:92d6abcc2b52 22 * 目標点の設定
piroro4560 0:92d6abcc2b52 23 * @param targetx_ 目標点のx座標
piroro4560 0:92d6abcc2b52 24 * @param targety_ 目標点のy座標
piroro4560 0:92d6abcc2b52 25 * @param startx_ 開始地点のx座標
piroro4560 0:92d6abcc2b52 26 * @param starty_ 開始地点のy座標
piroro4560 0:92d6abcc2b52 27 */
piroro4560 0:92d6abcc2b52 28 void target_xy(int targetx_, int targety_, int startx_, int starty_);
piroro4560 0:92d6abcc2b52 29
piroro4560 0:92d6abcc2b52 30 /**
piroro4560 0:92d6abcc2b52 31 * S字に変化する速度を計算
piroro4560 0:92d6abcc2b52 32 * @param now_x 現在地点のx座標
piroro4560 0:92d6abcc2b52 33 * @param now_y 現在地点のy座標
piroro4560 0:92d6abcc2b52 34 */
piroro4560 0:92d6abcc2b52 35 void calculate(int now_x, int now_y);
piroro4560 0:92d6abcc2b52 36
piroro4560 0:92d6abcc2b52 37 double getvalue_x();
piroro4560 0:92d6abcc2b52 38
piroro4560 0:92d6abcc2b52 39 double getvalue_y();
piroro4560 0:92d6abcc2b52 40
piroro4560 0:92d6abcc2b52 41 /***
piroro4560 0:92d6abcc2b52 42 * accDis : 加速中に進む距離
piroro4560 0:92d6abcc2b52 43 * decDis : 減速中に進む距離
piroro4560 0:92d6abcc2b52 44 * maxspeed : 最大速度
piroro4560 0:92d6abcc2b52 45 **/
piroro4560 0:92d6abcc2b52 46 double accdis;
piroro4560 0:92d6abcc2b52 47 double decdis;
piroro4560 0:92d6abcc2b52 48 double accdis2;
piroro4560 0:92d6abcc2b52 49 double decdis2;
piroro4560 0:92d6abcc2b52 50 double maxspeed;
piroro4560 0:92d6abcc2b52 51
piroro4560 0:92d6abcc2b52 52 double accsec;
piroro4560 0:92d6abcc2b52 53 double decsec;
piroro4560 0:92d6abcc2b52 54
piroro4560 0:92d6abcc2b52 55 double s_vector;
piroro4560 0:92d6abcc2b52 56 // s_vector : start speed
piroro4560 0:92d6abcc2b52 57 double vector;
piroro4560 0:92d6abcc2b52 58
piroro4560 0:92d6abcc2b52 59 double targetx;
piroro4560 0:92d6abcc2b52 60 double targety;
piroro4560 0:92d6abcc2b52 61 double startx;
piroro4560 0:92d6abcc2b52 62 double starty;
piroro4560 0:92d6abcc2b52 63 double nowx;
piroro4560 0:92d6abcc2b52 64 double nowy;
piroro4560 0:92d6abcc2b52 65
piroro4560 0:92d6abcc2b52 66 /***
piroro4560 0:92d6abcc2b52 67 * tergetDis : 開始地点から目標点までの距離
piroro4560 0:92d6abcc2b52 68 * tergetRad : 現在地と目標点がなす角度
piroro4560 0:92d6abcc2b52 69 * nowDis : 進んだ距離
piroro4560 0:92d6abcc2b52 70 **/
piroro4560 0:92d6abcc2b52 71 double targetDis;
piroro4560 0:92d6abcc2b52 72 double targetRad;
piroro4560 0:92d6abcc2b52 73 double nowDis;
piroro4560 0:92d6abcc2b52 74 double middledis;
piroro4560 0:92d6abcc2b52 75 double counter;
piroro4560 0:92d6abcc2b52 76
piroro4560 0:92d6abcc2b52 77 };
piroro4560 0:92d6abcc2b52 78
piroro4560 0:92d6abcc2b52 79 #endif