# マイクロマクイーン ライト(micro:Maqueen Lite)自動運転(ライントラッキング)




# 10.1. 目標




ライントラッキング機能を使って、黒い路線が書かれているマップの上で、マイクロマクイーン ライト(micro:Maqueen Lite)を自律的に運転させるためのプログラミング方法を把握します。


# 10.2. 必要な機材




# PC利用時に必要な機材

No. 名称 個数 HW/SW 用途 補足
01 micro:bit(v2)本体 1 HW マイクロマクイーンのコントロール用とプログラミング
02 micro:bit保護ケース 1 HW micro:bit保護
03 micro:bit用 USBケーブル 1 HW micro:bitとPCの接続
03 マイクロマクイーン ライト(micro:Maqueen Lite) 1 HW 車体本体
04 単4型乾電池 3 HW マイクロマクイーンとmicro:bitへの電源供給
05 Chromebook、MacOS、WindowsのPC 1 HW MakeCode操作用
06 Google Chrome 1 SW MakeCodeアクセス用
07 USB変換アダプタ 1 HW PC接続用 PCのUSBポートがType-Cのみの場合、TypeC ⇄ TypeA変換アダプタが必要
08 路線マップ 1 車体が走る路線として利用 自作でも可能

# タブレット・スマートフォン利用時に必要な機材

No. 名称 個数 HW/SW 用途 補足
01 micro:bit(v2)本体 1 HW マイクロマクイーンのコントロール用とプログラミング
02 micro:bit保護ケース 1 HW micro:bit保護
03 マイクロマクイーン ライト(micro:Maqueen Lite) 1 HW 車体本体
04 単4型乾電池 3 HW マイクロマクイーンとmicro:bitへの電源供給
05 タブレット・スマートフォン 1 HW micro:bitアプリ操作用
06 micro:bit アプリ 1 SW micro:bitプログラミング用
07 路線マップ 1 車体が走る路線として利用 自作でも可能



# 10.3. MakeCodeブロックの概要




No. ブロック 概要 機能
01 ROB0148-iftiny-Micro-Maqueen-Tutorial-Ultrasonic-Obstacle-Avoiding-291 ライントラッキングセンサー用ブロック 車体底部の2つのライントラッキングセンサーのデータを取得。
具体的には、黒い線を検知した場合、インジケーターをOFFにしたうえ、0を出力。白い部分を検知した場合、インジケーターをONにしたうえ、1を出力。

・ センサーの選択:左、右
・ 戻り値:0、1



# 10.4. 動作イメージ




黒い路線に沿って、マイクロマクイーン ライト(micro:Maqueen Lite)が自動運転します。 マップを自作することも可能です。黒いテープなどである程度太い線を作ることが必要です。

参考情報


  • マップを自作することも可能です。黒いテープなどである程度太い線を作ることが必要です。

ROB0148 Micro:Maqueen イントラッキングによる自動運転 プログラム 動作イメージ


# 10.5. プログラミング例




# MakeCodeプログラミング例(ブロック)





# MakeCodeプログラミング例(JavaScript)

basic.forever(function () {
    if (maqueen.readPatrol(maqueen.Patrol.PatrolLeft) == 0 && maqueen.readPatrol(maqueen.Patrol.PatrolRight) == 0) {
        maqueen.motorRun(maqueen.Motors.All, maqueen.Dir.CW, 50)
    } else if (maqueen.readPatrol(maqueen.Patrol.PatrolLeft) == 1 && maqueen.readPatrol(maqueen.Patrol.PatrolRight) == 0) {
        maqueen.motorRun(maqueen.Motors.M1, maqueen.Dir.CW, 30)
        maqueen.motorRun(maqueen.Motors.M2, maqueen.Dir.CW, 10)
    } else if (maqueen.readPatrol(maqueen.Patrol.PatrolLeft) == 0 && maqueen.readPatrol(maqueen.Patrol.PatrolRight) == 1) {
        maqueen.motorRun(maqueen.Motors.M1, maqueen.Dir.CW, 10)
        maqueen.motorRun(maqueen.Motors.M2, maqueen.Dir.CW, 30)
    }
})




# MakeCodeプログラミング例(python)

def on_forever():
    if maqueen.read_patrol(maqueen.Patrol.PATROL_LEFT) == 0 and maqueen.read_patrol(maqueen.Patrol.PATROL_RIGHT) == 0:
        maqueen.motor_run(maqueen.Motors.ALL, maqueen.Dir.CW, 50)
    elif maqueen.read_patrol(maqueen.Patrol.PATROL_LEFT) == 1 and maqueen.read_patrol(maqueen.Patrol.PATROL_RIGHT) == 0:
        maqueen.motor_run(maqueen.Motors.M1, maqueen.Dir.CW, 30)
        maqueen.motor_run(maqueen.Motors.M2, maqueen.Dir.CW, 10)
    elif maqueen.read_patrol(maqueen.Patrol.PATROL_LEFT) == 0 and maqueen.read_patrol(maqueen.Patrol.PATROL_RIGHT) == 1:
        maqueen.motor_run(maqueen.Motors.M1, maqueen.Dir.CW, 10)
        maqueen.motor_run(maqueen.Motors.M2, maqueen.Dir.CW, 30)
basic.forever(on_forever)




# MakeCodeプログラミング例のQRコード

ROB0148 Micro:Maqueen イントラッキングによる自動運転 プログラムサンプル QRコード





# 10.6. ライントレーサーのキャリブレーション




ライントラッキングは、Maqueenの底面についている二つのライントレーサー(赤外線グレースケールセンサー)が利用されます。
校正された状態で出荷されるため、基本的には再校正の必要はありませんが、センサーが黒い線をうまく認識できていない場合には、以下の手順でセンサーのキャリブレーション(校正)と確認を行うことができます。




# ライントレーサーのキャリブレーション手順




以下の手順でキャリブレーション(校正)を行うことができます。
No. 画像 手順 確認
01 トラッキングセンサーのキャリブレーション 製品に付属されているトラッックマップの裏面にあるマイクロマクイーン (micro:Maqueen)のキャリブレーションエリアに車体を置きます。 左右のライントレーサーが、黒いエリアに入っていることを確認します。
02 トラッキングセンサーのキャリブレーション キャリブレーションボタン(Link-Key)を約1秒間押します。
03 トラッキングセンサーのキャリブレーション 2つの青色LEDライントラッキングインジケーターが点滅し、キャリブレーションが完了します。



# キャリブレーション結果の確認




キャリブレーションが問題なく完了したかを確認することができます。
下記の手順通りでインジケーターが点灯・消灯する場合、センサーが正常に動作されています。
No. 画像 手順 確認
01 トラッキングセンサーのキャリブレーション マイクロマクイーン (micro:Maqueen)を白い場所に置きます。 2つのライントラッキングインジケーターが点灯します。
02 トラッキングセンサーのキャリブレーション マイクロマクイーン (micro:Maqueen)を黒い場所に置きます。 2つのライントラッキングインジケーターが消灯します。






Last Updated: 10/4/2023, 6:22:02 AM