MicroMouse Control Module  v1.3.2-2-ge2c6882
trajectory.h
[詳解]
1 
8 #pragma once
9 
10 #include <ctrl/accel_designer.h>
11 #include <ctrl/state.h>
12 
16 namespace ctrl {
17 
21 namespace straight {
22 
28 class Trajectory : public AccelDesigner {
29  public:
41  void update(struct State& s, const float t) const {
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  }
47 };
48 
49 } // namespace straight
50 } // namespace ctrl
距離の拘束を満たす加減速走行軌道を生成するクラスを保持するファイル
拘束条件を満たす曲線加減速の軌道を生成するクラス
Definition: accel_designer.h:33
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
straight::Trajectory 直線の軌道生成器
Definition: trajectory.h:28
void update(struct State &s, const float t) const
状態の更新
Definition: trajectory.h:41
Trajectory()
空のコンストラクタ。 基底クラスの AccelDesigner::reset() により初期化すること。
Definition: trajectory.h:34
制御関係の名前空間
Definition: accel_curve.h:54
軌道制御の状態変数
位置姿勢の座標
Definition: pose.h:18
軌道制御の状態変数
Definition: state.h:20
Pose dq
Definition: state.h:22
Pose q
Definition: state.h:21
Pose dddq
Definition: state.h:24
Pose ddq
Definition: state.h:23