catchrobo2022 / Mbed 2 deprecated catchrobo2022_mbed

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

AccelDesigner Class Reference

AccelDesigner Class Reference

拘束条件を満たす曲線加減速の軌道を生成するクラス More...

#include <accel_designer.h>

Public Member Functions

 AccelDesigner (const float j_max, const float a_max, const float v_max, const float v_start, const float v_target, const float dist, const float x_start=0, const float t_start=0)
 初期化付きコンストラクタ
 AccelDesigner ()
 空のコンストラクタ.あとで reset() により初期化すること.
void reset (const float j_max, const float a_max, const float v_max, const float v_start, const float v_target, const float dist, const float x_start=0, const float t_start=0)
 引数の拘束条件から曲線を生成する. この関数によって,すべての変数が初期化される.(漏れはない)
float j (const float t) const
 時刻 t [s] における躍度 j [m/s/s/s]
float a (const float t) const
 時刻 t [s] における加速度 a [m/s/s]
float v (const float t) const
 時刻 t [s] における速度 v [m/s]
float x (const float t) const
 時刻 t [s] における位置 x [m]
float t_end () const
 終点時刻 [s]
float v_end () const
 終点速度 [m/s]
float x_end () const
 終点位置 [m]
float t_0 () const
 境界の時刻 [s]
void printCsv (const float t_interval=1e-3f) const
 stdout に軌道のcsvを出力する関数.
void printCsv (std::ostream &os, const float t_interval=1e-3f) const
 std::ostream に軌道のcsvを出力する関数.

Protected Attributes

float t0
 境界のタイムスタンプを取得
float t3
 境界点の時刻 [s]
float x3
 境界点の位置 [m]
AccelCurve ac
 曲線加速用オブジェクト
AccelCurve dc
 曲線減速用オブジェクト

Friends

std::ostream & operator<< (std::ostream &os, const AccelDesigner &obj)
 情報の表示

Detailed Description

拘束条件を満たす曲線加減速の軌道を生成するクラス

  • 移動距離の拘束条件を満たす曲線加速軌道を生成する
  • 各時刻 $t$ における躍度 $j(t)$,加速度 $a(t)$,速度 $v(t)$,位置 $x(t)$ を提供する
  • 最大加速度 $a_{\max}$ と始点速度 $v_s$ など拘束次第では目標速度 $v_t$ に達することができない場合があるので注意する

Definition at line 32 of file accel_designer.h.


Constructor & Destructor Documentation

AccelDesigner ( const float  j_max,
const float  a_max,
const float  v_max,
const float  v_start,
const float  v_target,
const float  dist,
const float  x_start = 0,
const float  t_start = 0 
)

初期化付きコンストラクタ

Parameters:
j_max最大躍度の大きさ [m/s/s/s],正であること
a_max最大加速度の大きさ [m/s/s], 正であること
v_max最大速度の大きさ [m/s],正であること
v_start始点速度 [m/s]
v_target目標速度 [m/s]
dist移動距離 [m]
x_start始点位置 [m] (オプション)
t_start始点時刻 [s] (オプション)

Definition at line 47 of file accel_designer.h.

空のコンストラクタ.あとで reset() により初期化すること.

Definition at line 56 of file accel_designer.h.


Member Function Documentation

float a ( const float  t ) const

時刻 t [s] における加速度 a [m/s/s]

Definition at line 177 of file accel_designer.h.

float j ( const float  t ) const

時刻 t [s] における躍度 j [m/s/s/s]

Definition at line 167 of file accel_designer.h.

void printCsv ( const float  t_interval = 1e-3f ) const

stdout に軌道のcsvを出力する関数.

Definition at line 226 of file accel_designer.h.

void printCsv ( std::ostream &  os,
const float  t_interval = 1e-3f 
) const

std::ostream に軌道のcsvを出力する関数.

Definition at line 233 of file accel_designer.h.

void reset ( const float  j_max,
const float  a_max,
const float  v_max,
const float  v_start,
const float  v_target,
const float  dist,
const float  x_start = 0,
const float  t_start = 0 
)

引数の拘束条件から曲線を生成する. この関数によって,すべての変数が初期化される.(漏れはない)

Parameters:
j_max最大躍度の大きさ [m/s/s/s],正であること
a_max最大加速度の大きさ [m/s/s], 正であること
v_max最大速度の大きさ [m/s],正であること
v_start始点速度 [m/s]
v_target目標速度 [m/s]
dist移動距離 [m]
x_start始点位置 [m] (オプション)
t_start始点時刻 [s] (オプション)

Definition at line 70 of file accel_designer.h.

float t_0 (  ) const

境界の時刻 [s]

Definition at line 219 of file accel_designer.h.

float t_end (  ) const

終点時刻 [s]

Definition at line 207 of file accel_designer.h.

float v ( const float  t ) const

時刻 t [s] における速度 v [m/s]

Definition at line 187 of file accel_designer.h.

float v_end (  ) const

終点速度 [m/s]

Definition at line 211 of file accel_designer.h.

float x ( const float  t ) const

時刻 t [s] における位置 x [m]

Definition at line 197 of file accel_designer.h.

float x_end (  ) const

終点位置 [m]

Definition at line 215 of file accel_designer.h.


Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const AccelDesigner obj 
) [friend]

情報の表示

Definition at line 242 of file accel_designer.h.


Field Documentation

AccelCurve ac [protected]

曲線加速用オブジェクト

Definition at line 274 of file accel_designer.h.

AccelCurve dc [protected]

曲線減速用オブジェクト

Definition at line 275 of file accel_designer.h.

float t0 [protected]

境界のタイムスタンプを取得

Definition at line 272 of file accel_designer.h.

float t3 [protected]

境界点の時刻 [s]

Definition at line 272 of file accel_designer.h.

float x3 [protected]

境界点の位置 [m]

Definition at line 273 of file accel_designer.h.