s-shape control

Committer:
piroro4560
Date:
Fri Sep 27 10:49:35 2019 +0000
Revision:
5:b257821e4713
Parent:
4:40c5ac00bb5b
adjustment

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 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