ETrobocon2017 - 片山研究所モデルベース開発推進事業部
公開メンバ関数 | 公開変数類 | 全メンバ一覧
Navigation クラス

2点間を結ぶ仮想直線をライントレースするクラス [詳解]

#include "Navigation.h"

Navigation の継承関係図
Inheritance graph
Navigation 連携図
Collaboration graph

公開メンバ関数

 Navigation (std::int32_t, std::int32_t, bool isSave=true)
 
bool setLine (float, float, float, float)
 
float getDiffLine (float, float)
 
bool checkEndOfLine ()
 
bool calculateValue (std::int32_t, std::int32_t, bool)
 
bool calculateAngle (std::int32_t, std::int32_t, bool)
 
void calculate_line_angle (bool)
 
- 基底クラス LineTracerWalker に属する継承公開メンバ関数
 LineTracerWalker ()
 
void runLine (int32_t countL, int32_t countR, int8_t light_value)
 
void setForward (int8_t setValue)
 
void setTurn (int8_t setValue)
 
int8_t getForward ()
 
int8_t getTurn ()
 
void isLeftsideLine (bool b)
 

公開変数類

SelfLocalization sl
 
int goal_angle
 
float start_x
 
float start_y
 
float goal_x
 
float goal_y
 
float current_x
 
float current_y
 
float diff_line
 
- 基底クラス LineTracerWalker に属する継承公開変数類
TurnControl turnControl
 
SpeedControl speedControl
 
int8_t minus
 

その他の継承メンバ

- 基底クラス LineTracerWalker に属する継承限定公開変数類
int8_t forward
 
int8_t turn
 

詳解

2点間を結ぶ仮想直線をライントレースするクラス

このクラスはLineTracerWalkerクラスを継承しています。

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

構築子と解体子

◆ Navigation()

Navigation::Navigation ( std::int32_t  left_degree,
std::int32_t  right_degree,
bool  isSave = true 
)

コンストラクタ

Navigation.cpp3 行目に定義があります。

呼び出し関係図:

関数詳解

◆ calculate_line_angle()

void Navigation::calculate_line_angle ( bool  isBack)

Navigation.cpp38 行目に定義があります。

被呼び出し関係図:

◆ calculateAngle()

bool Navigation::calculateAngle ( std::int32_t  left_degree,
std::int32_t  right_degree,
bool  isBack 
)

Navigation.cpp59 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ calculateValue()

bool Navigation::calculateValue ( std::int32_t  left_degree,
std::int32_t  right_degree,
bool  isBack 
)

実際の前進値と回転値を計算して格納する関数

戻り値
ラインを走破したかどうか

Navigation.cpp46 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ checkEndOfLine()

bool Navigation::checkEndOfLine ( )

仮想線を走破したかどうかをチェックする関数

戻り値
ラインを走破したかどうか

Navigation.cpp30 行目に定義があります。

被呼び出し関係図:

◆ getDiffLine()

float Navigation::getDiffLine ( float  _current_x,
float  _current_y 
)

走行体から仮想線までの最短距離を取得する関数

引数
現在地のX座標
現在地のY座標
戻り値
走行体から仮想線までの最短距離

Navigation.cpp24 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ setLine()

bool Navigation::setLine ( float  _start_x,
float  _start_y,
float  _goal_x,
float  _goal_y 
)

仮想線を定義する関数

引数
スタートのX座標
スタートのY座標
ゴールのX座標
ゴールのY座標
戻り値
正常にラインを引けたか

Navigation.cpp12 行目に定義があります。

被呼び出し関係図:

メンバ詳解

◆ current_x

float Navigation::current_x

現在のX座標

Navigation.h59 行目に定義があります。

◆ current_y

float Navigation::current_y

現在のY座標

Navigation.h61 行目に定義があります。

◆ diff_line

float Navigation::diff_line

ラインまでの距離

Navigation.h63 行目に定義があります。

◆ goal_angle

int Navigation::goal_angle

Navigation.h45 行目に定義があります。

◆ goal_x

float Navigation::goal_x

ゴールのX座標

Navigation.h55 行目に定義があります。

◆ goal_y

float Navigation::goal_y

ゴールのY座標

Navigation.h57 行目に定義があります。

◆ sl

SelfLocalization Navigation::sl

Navigation.h44 行目に定義があります。

◆ start_x

float Navigation::start_x

0.1sで進んだ距離[mm/0.1s] スタートのX座標

Navigation.h51 行目に定義があります。

◆ start_y

float Navigation::start_y

スタートのY座標

Navigation.h53 行目に定義があります。


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