上級

分岐と貨車を制御しよう

次の分岐方向と貨車の切り離しをコードから制御し、複数のコマンドを安全な順番へ組みます。

今日はここまで

下の目標を確認し、無理のない区切りで終えて構いません。

  • SteeringDecisionを正しい場所から読み込める
  • 次の分岐だけ方向を指定できる
  • 停止してから貨車を切り離せる

始める前に

接続・走行・停止と、Pythonのimportを理解していること。

用意するもの

  • 接続できるスマートトレイン本体
  • 貨車
  • 分岐を含む線路
  • Pythonファイルを編集できる環境
1

分岐方向の定数を読み込む

公式の定数はintelino.trainlib.enumsから読み込みます。LEFT・RIGHT・STRAIGHTなど、意味の分かる名前を使います。古い資料のtrainlib.enumsだけを直接読み込む書き方は使いません。

from intelino.trainlib import TrainScanner
from intelino.trainlib.enums import SteeringDecision
2

次の分岐を左へする

set_next_split_steering_decisionで指定した方向は、次に検知する分岐へ使われます。線路上の方向スナップやランダムな選択より優先されます。

with TrainScanner() as train:
    train.set_next_split_steering_decision(
        SteeringDecision.LEFT
    )
    train.drive_at_speed(30)
    input("停止するにはEnter: ")
    train.stop_driving()
3

貨車を切り離す

貨車を連結し、停止した状態でdecouple_wagonを実行します。線路の傾きや周囲を確認し、貨車が転がらない場所で試します。

with TrainScanner() as train:
    train.stop_driving()
    train.decouple_wagon()
4

コマンドを順番へ戻す

課題を「接続 → 分岐方向を設定 → 走行 → 停止 → 貨車を切り離す」に分けます。最初から一つの長いコードにせず、各部分を単独で確認してから組み合わせます。