test
TrapezoidControl.h@0:2e7bf7fce378, 2019-07-16 (annotated)
- Committer:
- M_souta
- Date:
- Tue Jul 16 06:46:52 2019 +0000
- Revision:
- 0:2e7bf7fce378
test
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
M_souta | 0:2e7bf7fce378 | 1 | #ifndef TRAPEZOIDCONTROL_H_ |
M_souta | 0:2e7bf7fce378 | 2 | #define TRAPEZOIDCONTROL_H_ |
M_souta | 0:2e7bf7fce378 | 3 | |
M_souta | 0:2e7bf7fce378 | 4 | #include "mbed.h" |
M_souta | 0:2e7bf7fce378 | 5 | #include <stdio.h> |
M_souta | 0:2e7bf7fce378 | 6 | |
M_souta | 0:2e7bf7fce378 | 7 | class TrapezoidControl { |
M_souta | 0:2e7bf7fce378 | 8 | public: |
M_souta | 0:2e7bf7fce378 | 9 | //いつもの1 |
M_souta | 0:2e7bf7fce378 | 10 | TrapezoidControl(); |
M_souta | 0:2e7bf7fce378 | 11 | //いつもの2 |
M_souta | 0:2e7bf7fce378 | 12 | TrapezoidControl(float maxAcceleration, //最大加速度 |
M_souta | 0:2e7bf7fce378 | 13 | float maxVelocity); //最大速度 |
M_souta | 0:2e7bf7fce378 | 14 | //いつもの3 |
M_souta | 0:2e7bf7fce378 | 15 | TrapezoidControl(float maxAcceleration, //最大加速度 |
M_souta | 0:2e7bf7fce378 | 16 | float maxVelocity, //最大速度 |
M_souta | 0:2e7bf7fce378 | 17 | float strVerocity, //初期速度 |
M_souta | 0:2e7bf7fce378 | 18 | float endVerocity, //終点速度 |
M_souta | 0:2e7bf7fce378 | 19 | float tarDistance); //目標距離 |
M_souta | 0:2e7bf7fce378 | 20 | //最大加速度と最大速度の設定・変更 |
M_souta | 0:2e7bf7fce378 | 21 | void setParameter(float maxAcceleration, float maxVelocity); |
M_souta | 0:2e7bf7fce378 | 22 | //目標値の設定・変更 |
M_souta | 0:2e7bf7fce378 | 23 | void setDis(float tarDistance, float endVerocity); |
M_souta | 0:2e7bf7fce378 | 24 | //目標値の初期化 |
M_souta | 0:2e7bf7fce378 | 25 | void reset(); |
M_souta | 0:2e7bf7fce378 | 26 | //台形制御の開始 |
M_souta | 0:2e7bf7fce378 | 27 | void start(); |
M_souta | 0:2e7bf7fce378 | 28 | //速度の取得 |
M_souta | 0:2e7bf7fce378 | 29 | float getVel(); |
M_souta | 0:2e7bf7fce378 | 30 | //距離(理論値)の取得 |
M_souta | 0:2e7bf7fce378 | 31 | float getDis(); |
M_souta | 0:2e7bf7fce378 | 32 | private: |
M_souta | 0:2e7bf7fce378 | 33 | float maxAcceleration_; |
M_souta | 0:2e7bf7fce378 | 34 | float maxVelocity_; |
M_souta | 0:2e7bf7fce378 | 35 | float strVerocity_; |
M_souta | 0:2e7bf7fce378 | 36 | float endVerocity_; |
M_souta | 0:2e7bf7fce378 | 37 | float tarDistance_; |
M_souta | 0:2e7bf7fce378 | 38 | float time; |
M_souta | 0:2e7bf7fce378 | 39 | Timer sampling; |
M_souta | 0:2e7bf7fce378 | 40 | }; |
M_souta | 0:2e7bf7fce378 | 41 | |
M_souta | 0:2e7bf7fce378 | 42 | #endif //TRAPEZOIDCONTROL_H_ |