MicroMouse Control Module  v1.3.2-2-ge2c6882
公開メンバ関数 | 全メンバ一覧
ctrl::straight::Trajectory クラス

straight::Trajectory 直線の軌道生成器 [詳解]

#include <trajectory.h>

ctrl::straight::Trajectory の継承関係図
Inheritance graph
[凡例]
ctrl::straight::Trajectory 連携図
Collaboration graph
[凡例]

公開メンバ関数

 Trajectory ()
 空のコンストラクタ。 基底クラスの AccelDesigner::reset() により初期化すること。 [詳解]
 
void update (struct State &s, const float t) const
 状態の更新 [詳解]
 
- 基底クラス ctrl::AccelDesigner に属する継承公開メンバ関数
 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 ()
 とりあえずインスタンス化を行う空のコンストラクタ [詳解]
 
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] [詳解]
 
float t_1 () const
 最高速度に達する時刻 [s] [詳解]
 
float t_2 () const
 曲線減速の開始時刻 [s] [詳解]
 
float t_3 () const
 曲線減速の終了時刻 [s] [詳解]
 
const std::array< float, 8 > getTimeStamps () const
 曲線加速の境界のタイムスタンプを取得 [詳解]
 
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を出力する関数。 [詳解]
 

その他の継承メンバ

- 基底クラス ctrl::AccelDesigner に属する継承限定公開変数類
float t0
 
float t1
 
float t2
 
float t3
 境界点の時刻 [s] [詳解]
 
float x0
 
float x3
 境界点の位置 [m] [詳解]
 
AccelCurve ac
 曲線加速用オブジェクト [詳解]
 
AccelCurve dc
 曲線減速用オブジェクト [詳解]
 

詳解

straight::Trajectory 直線の軌道生成器

ctrl::TrajectoryTracker のために用意されたクラス

構築子と解体子

◆ Trajectory()

ctrl::straight::Trajectory::Trajectory ( )
inline

空のコンストラクタ。 基底クラスの AccelDesigner::reset() により初期化すること。

34 {}

関数詳解

◆ update()

void ctrl::straight::Trajectory::update ( struct State s,
const float  t 
) const
inline

状態の更新

引数
[out]s状態変数
[in]t現在時刻
41  {
42  s.q = Pose(x(t), 0, 0);
43  s.dq = Pose(v(t), 0, 0);
44  s.ddq = Pose(a(t), 0, 0);
45  s.dddq = Pose(j(t), 0, 0);
46  }
float j(const float t) const
任意の時刻 t [s] における躍度 j [m/s/s/s] を返す関数
Definition: accel_designer.h:167
float a(const float t) const
任意の時刻 t [s] における加速度 a [m/s/s] を返す関数
Definition: accel_designer.h:178
float x(const float t) const
任意の時刻 t [s] における位置 x [m] を返す関数
Definition: accel_designer.h:200
float v(const float t) const
任意の時刻 t [s] における速度 v [m/s] を返す関数
Definition: accel_designer.h:189
呼び出し関係図:

このクラス詳解は次のファイルから抽出されました: