自動運転をはじめる(4) 列車を追いかける
手動運転と自動運転とを混ぜるということを試みた。具体的な課題は、手動である機関車を走らせる。その後を別の機関車が自動で追いかけるというものだ。前を行く機関車をゆっくり走らせれば、ゆっくり付いてくるし、速く走れば、間が開かないように速く走る。もし、前を行く機関車が止まれば、衝突しないように後ろの機関車は止まる。
カトーのユニトラックを使う。とりあえず場所がないので、いつも設置してある線路の上にエンドレスを敷いた。フォトセンサーをつけた短い線路7つを挟んで、線路をつないだ。エンドレスは1から7までの7つの区間に分けた。
機関車の初めの位置は、1番に凸EL、2番にDLとした。DLの方を手動で動かし、後ろのELの方を自動で運転する。すぐ前の番号にDLがいるときは止まっていて、次の次の番号まで前のDLが進むと、後ろのELが走り始める、というプログラムだ。差が開くと加速して、差が縮まれば速度を落とす。差が1つになれば止まる。
最初はバグがあって、急に速度が速くなりぶつかりそうになったが、意外とすぐに修正できた。
DLを運転すると、後ろをELがついてくる。まずは単純な動作だけれど、人が運転する機関車の位置を検知して、別の機関車を自動で運転することができた。
次は、列車の行き違いなどを試してみたい。でもポイントを持っていないので、ユニトラックのポイントを買ってDCC化しなくてはいけない。
2022年11月7日