Soma Takahashi / prototype01
Committer:
piroro4560
Date:
Thu Aug 22 06:47:21 2019 +0000
Revision:
0:92d6abcc2b52
Child:
1:ad711893a3a7
s-shape control

Who changed what in which revision?

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