slalom::Trajectory スラローム軌道を生成するクラス
[詳解]
#include <trajectory.h>
slalom::Trajectory スラローム軌道を生成するクラス
スラローム形状 Shape と並進速度をもとに、各時刻における位置や速度を提供する。
◆ Trajectory()
ctrl::slalom::Trajectory::Trajectory |
( |
const Shape & |
shape, |
|
|
const bool |
mirror_x = false |
|
) |
| |
|
inline |
コンストラクタ
- 引数
-
[in] | shape | スラローム形状 |
[in] | mirror_x | スラローム形状を$x$軸反転(進行方向に対して左右反転)する |
Shape shape
スラロームの形状
Definition: trajectory.h:85
Pose mirror_x() const
Definition: pose.h:27
Pose total
前後の直線を含めた移動位置姿勢
Definition: slalom.h:49
Pose curve
カーブ部分の移動位置姿勢
Definition: slalom.h:50
◆ getAccelDesigner()
const AccelDesigner& ctrl::slalom::Trajectory::getAccelDesigner |
( |
| ) |
const |
|
inline |
角速度設計器を取得
AccelDesigner ad
角速度用の曲線加速生成器
Definition: trajectory.h:86
◆ getShape()
const Shape& ctrl::slalom::Trajectory::getShape |
( |
| ) |
const |
|
inline |
◆ getTimeCurve()
float ctrl::slalom::Trajectory::getTimeCurve |
( |
| ) |
const |
|
inline |
ターンの合計時間を取得
float t_end() const
終点時刻 [s]
Definition: accel_designer.h:209
◆ getVelocity()
float ctrl::slalom::Trajectory::getVelocity |
( |
| ) |
const |
|
inline |
並進速度を取得
float velocity
並進速度
Definition: trajectory.h:87
◆ reset()
void ctrl::slalom::Trajectory::reset |
( |
const float |
velocity, |
|
|
const float |
th_start = 0 , |
|
|
const float |
t_start = 0 |
|
) |
| |
|
inline |
並進速度を設定して軌道を初期化する関数
- 引数
-
velocity | 並進速度 [m/s] |
th_start | 初期姿勢 [rad] (オプション) |
t_start | 初期時刻 [s] (オプション) |
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)
引数の拘束条件から曲線を生成する関数
Definition: accel_designer.h:70
float th
theta 成分 [rad]
Definition: pose.h:21
float v_ref
カーブ部分の基準速度 [m/s]
Definition: slalom.h:53
float dddth_max
最大角躍度の大きさ [rad/s/s/s]
Definition: slalom.h:54
float ddth_max
最大角加速度の大きさ [rad/s/s]
Definition: slalom.h:55
float dth_max
最大角速度の大きさ [rad/s]
Definition: slalom.h:56
◆ update()
void ctrl::slalom::Trajectory::update |
( |
State & |
state, |
|
|
const float |
t, |
|
|
const float |
Ts, |
|
|
const float |
k_slip = 0 |
|
) |
| const |
|
inline |
軌道の更新
- 引数
-
[in,out] | state | 次の時刻に更新する現在状態 |
[in] | t | 現在時刻 [s] |
[in] | Ts | 積分時間 [s] |
[in] | k_slip | スリップ角の比例定数 |
static void integrate(const AccelDesigner &ad, State &s, const float v, const float t, const float Ts, const float k_slip=0)
軌道の積分を行う関数。ルンゲクッタ法を使用して数値積分を行う。
Definition: slalom.h:144
◆ ad
◆ shape
Shape ctrl::slalom::Trajectory::shape |
|
protected |
◆ velocity
float ctrl::slalom::Trajectory::velocity |
|
protected |
このクラス詳解は次のファイルから抽出されました: