今回の課題は、ロボットアームを自動仕分け機に改造することです。

 

 前回では、ボタン操作によって、白ブロック、青ブロックを所定の位置に

 

 動かすプログラミングを行いました。

 

 

 「白色ブロックを台の上に置いたとき、ロボットアームがそれを判別し、白色の台の場所へ

 

 つかんで移動させる・・・」

 

 「青色ブロックを台の上に置いたとき、ロボットアームがそれを判別し、青色の台の場所へ

 

 つかんで移動させる・・・」

 

 

 このように、ロボットアームが動けば成功です。

 

 今回使うロボットアームの改造を、前回やっておきましたので、今回は

 

 プログラミングだけに集中できます。

 

 

 が、初めて出てくる用語(●●関数をコールするなど)が難しいようでしたので、

 

 事前に少々解説。。。 それでも??? の様子でした。

 

 

 まずは、私が作成したロボットを使い、一つ一つのロボットの動きとの関連性を、質問しながら

 

 進めていきました。

 

 ① まずは、基本姿勢では、サーボモータはそれぞれの角度を何度にすればいいのか?

 

 ② ブロックを置いた・・・

 

 ③ すぐアームを動かしていいのか?

 

 ④ ブロックを置いた状態で、センサー(赤外線フォトリフレクタ)が読み取る数字は?

 

 ⑤ その数字によって 青ブロックをつかむ動作、白ブロックをつかむ動作が発生。その数字は?

 

                                 (テストモードで検証)

 

 ⑥ ブロックをつかむ動作は、3つあるサーボモータのどれをどの角度にするといいのか?

 

 ⑦ つかんだあとは、どのサーボモータを使い、何度の角度にすると持ち上げる動作になるのか?

 

 ⑧ 持ち上げた後、どのサーボモータを使って、何度の角度にして・・・

 ・

 ・

 ・

 

 このように、一連の動作を、手動でロボットアームを動かしながら、質問しながら、説明です。

 

 動きは理解したようですが、

 

 プログラミングの中で出てくる用語が、難しい・・・「●●関数をコール」

 

 

 メインプログラムの中に入れて、プログラミングをすっきりした形に整える手法なんですが。。。

 

 

 (これから先にも、まだまだ同じようなものが出てくるでしょうから、

 

 その都度やっていけば自然と身につくと思っています。)

 

 

  テキストを見ながら、そして私の教えを求めながら、なんとかプログラミングを終えました。

 

 

 ※ロボットは以下の動画でご覧になれます。

 

 

 初めは、青ブロックを置いたとき、、白の場所に動いたり、白ブロックを置いたとき、

 

 青の場所に動いたりと、誤作動していました。それぞれ若干の修正を加えることで、

 

 とりあえず、うまく判別するロボットアームを2人とも作ることができました。

 

 

 次回(3月)は「犬型歩行ロボ」の研究です。