ロボットを動かそう
ライントレースロボット(英語では Line Follower Robot)とは、床面に描いたラインをロボットがセンサを利用して読み取り、ラインに沿って走行するロボットです。
ライントレース競技では、黒い床面に白いテープを貼ってコースを構成しています。もちろん、個人的に楽しむのであれば、白い床に黒いテープ、フローリングの茶色の床に白いテープなど光センサがラインと床面とを判定できる材質であれば構いません。ロボットはこのラインを光センサを利用して読み取り、ラインを追従して走行します。
図1 ラインセンサ
ライントレースロボットの中には、光センサを使用するものばかりではなく、産業用の搬送ロボットでは、床に磁石や電線を埋設したり、金属テープを貼り、電磁波などを利用して読み取って走行しているものもあります。
トレース競技のコースは、直線と曲線の組み合わせでつくります。競技によっては、直線と曲線の境にマーカが設置してあります。途中に十字に交差する場所もあります。コースは平面が一般的ですが、山あり谷ありで立体交差している競技会もあります。
図2 ライントレースコース例
ロボットはセンサがライン上に常に位置するようにして走ります。そして、センサの反応がある場所に応じてラインからどのくらい外れたのかを判断し、それを補正するように左右に旋回します。トレースロボットの制御の基本は、ラインの左側にロボットがズレたとき右旋回、右にズレたとき左旋回です。
図3 ロボットの姿勢制御
センサの反応 | ロボットの状態 | 制御ルール |
右に大きくズレた | 左急旋回 | |
右に少しズレた | 左旋回 | |
ライン中心上 | 直進 | |
左に少しズレた | 右旋回 | |
左に大きくズレた | 右急旋回 |
この制御ルールを適応すると、ロボットは直線に戻るように走ります。
図4 ロボットの運動
カーブでは、ラインの半径にあわせてロボットの旋回半径を決めると、効果的です。センサ状態からカーブの半径を割り出し、旋回半径を決定します。自然とラインに沿ってきれいな走りをしてくれます。
図5 ロボットの旋回
センサの反応 | ロボットの状態 | 制御ルール |
右R150カーブ | 左旋回・半径150mm | |
右R300カーブ | 左旋回・半径300mm | |
直線上にいる | 直進 | |
左R300カーブ | 右旋回・半径300mm | |
左R150 | 右旋回・半径150mm |
実際にプログラムするときは、センサが反応する全てのパターンを想定した、もっとたくさんの場合分けが必要です。例では、中央センサが反応したときだけ直線上を走っている、それ以外はカーブ走行中と判断して姿勢制御しています。
ただし、どれだけ場合分けを増やして、細かな旋回半径の設定をしても、あまり速い速度で走ると車輪がスリップしてコースから飛び出してしまうので注意が必要です。タイヤのグリップ力を考慮して速度設定しましょう。直線区間と曲線区間を見分けて加減速できるようになると効率よく走れ、タイムを縮ることができます。
2022.6