etrobocon2019 feat.KatLab  ece30a9a007fff7d3ad48592c0d09a74643377bb
公開メンバ関数 | 全メンバ一覧
NormalCourse クラス

#include <NormalCourse.h>

NormalCourse 連携図
Collaboration graph

公開メンバ関数

 NormalCourse (Controller &controller_, bool isLeftCourse_, int targetBrightness_)
 
void setIsLeftCourse (bool isLeftCourse_)
 
void runNormalCourse ()
 
bool getIsLeftCourse () const
 
int getTargetBrightness () const
 

詳解

NormalCourse.h12 行目に定義があります。

構築子と解体子

◆ NormalCourse()

NormalCourse::NormalCourse ( Controller controller_,
bool  isLeftCourse_,
int  targetBrightness_ 
)

コンストラクタ

引数
controller[コントローラのインスタンス]
isLeftCourse_[エッジがどっちかtrueがLeftコース]
targetBrightness_[カラーセンサーの目標値]

NormalCourse.cpp13 行目に定義があります。

14  : controller(controller_), isLeftCourse(isLeftCourse_), targetBrightness(targetBrightness_)
15 {
16 }

関数詳解

◆ getIsLeftCourse()

bool NormalCourse::getIsLeftCourse ( ) const

現在のisLeftCourse(エッジ)を返すゲッター

NormalCourse.cpp61 行目に定義があります。

62 {
63  return isLeftCourse;
64 }

◆ getTargetBrightness()

int NormalCourse::getTargetBrightness ( ) const

targetBrightness(カラーセンサの目標値)を返すゲッター

NormalCourse.cpp69 行目に定義があります。

70 {
71  return targetBrightness;
72 }

◆ runNormalCourse()

void NormalCourse::runNormalCourse ( )

実際にNormalコースを走る.

実際にNormalコースを走る. ここにパラメータを頑張って書く.

詳しく見たいならLineTracer.hを見てね. 進む距離,目標スピード,スピードpid,ターンpid

NormalCourse.cpp31 行目に定義があります。

32 {
33  // 配列の個数
34  constexpr int arraySize = 7;
35  int baseSpeed = 700;
36  std::array<NormalCourseProperty, arraySize> normalCourseProperty
41  = { {
42  { 600, baseSpeed, { 0.1, 0.0, 0.1 }, { 0.9, 0.01, 0.06 } }, // 第1区間
43  { 800, baseSpeed - 50, { 1.5, 0.0, 0.1 }, { 1.1, 0.01, 0.07 } }, // 第2区間
44  { 1200, baseSpeed - 180, { 0.3, 0.0, 0.1 }, { 1.1, 0.01, 0.05 } }, // 第3区間
45  { 2300, baseSpeed, { 0.1, 0.0, 0.1 }, { 1.2, 0.01, 0.05 } }, // 第4区間
46  { 1000, baseSpeed + 100, { 0.1, 0.0, 0.1 }, { 0.9, 0.01, 0.04 } }, // 第5区間
47  { 1300, baseSpeed + 100, { 2.0, 0.0, 0.1 }, { 1.0, 0.01, 0.05 } }, // 第6区間
48  { 2500, baseSpeed + 50, { 0.1, 0.0, 0.1 }, { 1.1, 0.01, 0.05 } }, // 第7区間
49  } };
50  LineTracer lineTracer(controller, targetBrightness, isLeftCourse);
51  for(auto& ncp : normalCourseProperty) {
52  lineTracer.run(ncp);
53  // 1区間終わるごとに音を奏でる.
54  controller.speakerPlayToneFS6(100);
55  }
56 }
static void speakerPlayToneFS6(int duration)
Definition: Controller.cpp:21
呼び出し関係図:
被呼び出し関係図:

◆ setIsLeftCourse()

void NormalCourse::setIsLeftCourse ( bool  isLeftCourse_)

左エッジ,右エッジを切り替える.

引数
isLeftCourse_[Leftコースである場合True]

NormalCourse.cpp22 行目に定義があります。

23 {
24  isLeftCourse = isLeftCourse_;
25 }

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