Presentation is loading. Please wait.

Presentation is loading. Please wait.

専門教育入門セミナーT in KatLab 2018/10/14 平木場風太 作成

Similar presentations


Presentation on theme: "専門教育入門セミナーT in KatLab 2018/10/14 平木場風太 作成"— Presentation transcript:

1 専門教育入門セミナーT in KatLab 2018/10/14 平木場風太 作成
OnOff制御について知ろう 専門教育入門セミナーT in KatLab 2018/10/14 平木場風太 作成

2 ライントレース 目標 ライントレースを実現する方法 黒線に沿って走行する ON/OFF制御 ←今日の内容 PID制御 ←今度やる内容 その他
走行体

3 ライントレース(ON/OFF制御)の仕組み1
走行体が「黒」の上にある時 「左」に旋回 走行体が「白」の上にある時 「右」に旋回 繰り返すことで「黒線に沿って走行」できる ※上記は左エッジ(黒線の左の境界線)の場合である。

4 ライントレース(ON/OFF制御)の仕組み2
走行体が「黒」の上にあるとき 「左」に旋回 左モータ出力:前進値 - 転回値 右モータ出力:前進値 + 転回値 走行体が「白」の上にあるとき 「右」に旋回 左モータ出力:前進値 + 転回値 右モータ出力:前進値 - 転回値 ※転回値の正負は走行体によって異なる。

5 白黒判別はどうやってやるのか 光 光 セ セ ン ン サ サ 地面に光を当て、反射した光の輝度から明るさを得る。 黒の場合 白の場合
明るさ: 5 明るさ: 100 地面に光を当て、反射した光の輝度から明るさを得る。 走行体画像は より引用

6 輝度を基にした白黒の判定 判定の基準になる値(閾値)を決める サンプル:黒と白の境目の値 現在の輝度の値が閾値より大きい → 白の上とする
現在の輝度の値が閾値より大きい → 白の上とする 現在の輝度の値が閾値以下 → 黒の上とする 50 100 50より小さい 値なら「黒」 50より大きい 値なら「白」 ロボットは

7 使用プログラム: hackev_on_off_linetrace
KatLab-MiyazakiUniv/hackev_on_off_linetraceのクラス図

8 白黒閾値、前進値、転回値の設定 API 使用例 前進値、転回値の有効範囲は-100から+100
void OnOffController::setParam(const int& 閾値, const int& 前進値, const int& 転回値) 使用例 Machine::calibration()より 9行目: 黒(black)の値の取得 14行目: 白(white)の値の取得 18行目: 閾値に白と黒の平均に、前進値を30に, 転回 値を10に設定 前進値、転回値の有効範囲は-100から+100

9 各モータ出力の計算とモータ回転 API 使用例
void OnOffController::calcurate(const int& 輝度, int& 左モータ出力, int& 右モータ出力) 使用例 Machine::run()より 42行目: 輝度(brightness)の値の取得 43行目: 輝度、左モータ出力、右モータ出力を OnOffController::calcurate()に渡し、次に 取るべき左モータ出力、右モータ出力を設定 44行目: 左モータに左モータ出力(leftPwm)を設定 45行目: 右モータに右モータ出力(rightPwm)を設定


Download ppt "専門教育入門セミナーT in KatLab 2018/10/14 平木場風太 作成"

Similar presentations


Ads by Google