Jeffrey Cross
Jeffrey Cross

初心者ロボティクス:簡単なセンサーのしくみを理解する

ロボットが本当にロボットと見なされるためには、ロボットはその環境を感知し影響を与えることができなければなりません。センサーがロボット工学にとって非常に重要である理由はここにあります、そしてロボットをスマートにするためにそれらをどのように使うかを理解することはあらゆる出芽ロボット学者にとって不可欠です。私は最近Kickstarterを立ち上げました、そして私たちは実際に売るすべてのキットで無料のセンサーを配っています、それでそれが終わる前にそれをチェックしてください!

このスキルビルダーでは、センス>思考>行動というロボット操作を紹介します。ロボット工学で広く使用されている操作であり、ロボットのプログラミング方法を理解するのに最適な場所です。飛び込みましょう…

センサーを選ぶ

検出できる物理的なものと同じ数のセンサーがありますが、HC-SR04超音波距離センサーを使用してみましょう。安価で、シンプルで、ロボット工学で広く使用されているからです。

ロボットモデルの定義

このセンサーは距離を検出できるので、衝突を回避する簡単なロボットから始めましょう。このロボットは前後に動くことができ、どちらの方向にもその場で電源を入れることができます。ロボットの正面には距離センサーがあります。ロボットを定義したので、それをどのように動作させるかを見てみましょう。

感覚、思考、行動とは何ですか?

感覚、思考、行動は多くのロボットの問題を解決するために使用することができる決定ループです、そしてそれは非常に簡単です。この場合、ロボットは前方に障害物があるかどうかを感知する必要があります。それはそれがそれが前進できるかどうか、またはそれが後退するべきかどうかを考えなければなりません、その後それはその決定に基づいて行動するでしょう。これと同じ論理があらゆるロボットに適用でき、ほぼあらゆる行動のあらゆるセンサーに適用できます。

これを実際にロボットを制御するために書くことができるコードに変えるために、我々はより具体的である必要があります。次のようにロボットのための簡単な行動を作りましょう…

  1. 障害物が前方3cm未満にあるかどうかをロボットが感知します。
  2. 障害物がなければ前進します。
  3. 障害物があると後退します。

これはコードに変換するのが非常に簡単ですが、これはロボットが壁に達すると振動して「動かなくなる」という結果になることに気付くかもしれません。壁が見つかるまで前方に移動し、次に壁が検出されなくなるまで後方に移動した後、再び前方に移動します。次のようにして動作を変更しましょう。

  1. 障害物が前方3cm未満にあるかどうかをロボットが感知します。
  2. 障害物がなければ前進します。
  3. 障害物がある場合は、それが左に曲がってからステップ1に戻ります。

これは最終的にロボットが3cm以内に壁がない方向を見つけるまで続きます。

これで、ロボットが障害物を回避するのを支援するのに実際に役立つ可能性がある感覚モデルがあります。これは特に洗練されたモデルではありません。障害物回避を改善するために複雑さを追加することができます。

単純なロボットでも、非常に複雑な感覚、考え、行動モデルは非常にスマートな行動を生み出すように設計することができます。これがロボット工学の本質です - ソフトウェアの中のスマートなものです!

ロボットはちょうど右に曲がるために3回左に曲がる必要があるので、私たちの現在の行動は少し非効率的です。上記の3つのステップに従うための4番目のステップとして、次のように動作を変更しましょう。

4.障害物がある場合は左に曲がり、その後ステップ1に戻ります。

  1. 障害物が前方3cm未満にあるかどうかをロボットが感知します。
  2. 障害物がなければ前進します。
  3. 障害物があれば、それは左に曲がって、そしてまた感知します。
  4. 障害物がなければ、前方に移動してループがリセットされます。
  5. 障害物があると、それは右に向きを変えてまた感知します。
  6. 障害物がなければ、前方に移動してループがリセットされます。
  7. 障害物がある場合は、障害物がなくなるまでロボットは右に曲がり続けます。

今、私たちのロボットは壁があるかどうかを確かめるために両方向をチェックします。これはロボットがより効率的に動くことを意味します。単純な振る舞いでも説明が複雑になり始めていることに注意してください。ただし、この振る舞いを一連のSense、Think、Actのループとして考えると、理解しやすくなります。

そして、あなたはそれを持っています。私たちは、感覚、思考、行動の非常に単純な事例を取り上げ、それを実用的な障害物回避プログラムにまとめました。その振る舞いをコードに変換してロボット工学で遊び始めるのは非常に簡単な作業です。もちろん、距離センサーを追加したり、さまざまな種類のセンサーを追加したりして、動作をさらに洗練させることもできます。それをSense、Think、Actに分解するのを忘れないでください。そうすればあなたはそれを扱うことができるでしょう。もちろん、無料のセンサーを何トンも含むロボットキットをお探しの場合は、Kickstarterをご覧ください。

シェア

コメントを残します