etrobocon2018 feat.KatLab  770af34cce41ae9c30c41303275e1add2daae0c3 (with uncommitted changes)
 全て クラス 名前空間 ファイル 関数 変数 列挙型 列挙値 フレンド マクロ定義 ページ
公開メンバ関数 | 公開変数類 | 全メンバ一覧
Coordinate 構造体

走行体の位置情報をまとめた構造体 [詳解]

#include <WheelOdometry.h>

Coordinate 連携図
Collaboration graph

公開メンバ関数

 Coordinate ()
 
void update (float distance, float angle)
 走行体の位置情報を更新する [詳解]
 
void reset ()
 走行体の位置情報を初期化する [詳解]
 

公開変数類

float radius
 
float arg
 
float x
 
float y
 

詳解

走行体の位置情報をまとめた構造体

WheelOdometry.h16 行目に定義があります。

構築子と解体子

Coordinate::Coordinate ( )
inline

WheelOdometry.h21 行目に定義があります。

21 : radius(0.0f), arg(0.0f), x(0.0f), y(0.0f) {}
float radius
Definition: WheelOdometry.h:17

関数詳解

void Coordinate::reset ( void  )

走行体の位置情報を初期化する

[Coordinate::reset]

WheelOdometry.cpp28 行目に定義があります。

29 {
30  radius = 0.0f;
31  arg = 0.0f;
32  x = 0.0f;
33  y = 0.0f;
34 }
float radius
Definition: WheelOdometry.h:17

被呼び出し関係図:

void Coordinate::update ( float  distance,
float  angle 
)

走行体の位置情報を更新する

[Coordinate::update]

引数
走行体の移動距離(円弧)[mm]
走行体の旋回半径[deg]
覚え書き
走行体は円弧運動をするが、周期で見れば直線運動に近似できる
argは走行体が移動したときの角度(移動前の走行体の位置を原点とする)

WheelOdometry.cpp9 行目に定義があります。

10 {
11  // 移動角度
12  float theta = angle / 2.0f;
13 
14  // 直交座標の更新
15  x += distance * std::cos(arg + theta);
16  y += distance * std::sin(arg + theta);
17 
19  radius += distance;
21  arg += theta;
22 }
float radius
Definition: WheelOdometry.h:17

被呼び出し関係図:

メンバ詳解

float Coordinate::arg

WheelOdometry.h18 行目に定義があります。

float Coordinate::radius

WheelOdometry.h17 行目に定義があります。

float Coordinate::x

WheelOdometry.h19 行目に定義があります。

float Coordinate::y

WheelOdometry.h20 行目に定義があります。


この構造体詳解は次のファイルから抽出されました: