2016a/Member 目次

課題 

今回の課題はロボットで似顔絵を描くことです。
・ひとりにつき一つのプログラム
・ペン以外はキットの部品を使い、輪ゴムの扱いに十分注意する

ロボットの説明

今回似顔絵ロボットを作成するために製作したロボットの説明をします。

ロボットの構造

 3つのモーターを用いてロボットの前後運動、右回り、左回り、ペンの上下運動を行います。

線を描く

 線を描き始める位置の真上にペンが来るようにRISを移動させる

    ↓

 ペンを下ろす

    ↓

 線を描き終える位置にRISを移動させる

    ↓

 ペンを上げる

  この一連の動作を繰り返します。           

無題1.png

ロボットの動作

似顔絵を描く上で必要となる動作の説明をします。

前後運動の動作

  RIS本体の真横につけられたモーターにギアをかませ、左右それぞれ2つずつのタイヤを回す四輪駆動タイプです。

無題5.png

ペンの上下部の動作

  RIS本体の後ろ部分につけられたモーターにタイヤ二つをそれぞれ逆方向に回転するように取り付けました。
  ひとつはギアをかませ、もうひとつは白い輪ゴムとつなげ回転させました。二つの黄色いタイヤとブロックを用いてペンを支えました。

ロボちゃん.png
無題1.png

ロボットの問題点と予想される解決策

   問題点 ロボットの重心が大分後ろに偏ったことで、ロボットが方向転換するたびにロボットの前輪が少し浮いてしまい、線の書き始めがずれてしまいました。    

   解決策 ロボットの前方を重くすること、あるいはロボットの後方を軽くすれば改善するとはず。

似顔絵プログラム

ロボティクス入門ゼミ.png

それぞれの線につけた番号とプログラムに記した番号を対応させてあります。

#define TUNE_RIGHT(t);OnFwd(OUT_A);Wait(t);Off(OUT_A);
#define TUNE_LEFT(t);OnFwd(OUT_C);Wait(t);Off(OUT_C);
#define COME_BACK(t);OnRev(OUT_A+OUT_C);Wait(t);Off(OUT_A+OUT_C);
#define UP(t);OnRev(OUT_B);Wait(t);Off(OUT_B);
#define DOWN(t);OnFwd(OUT_B);Wait(t);Off(OUT_B);
task main ()
{
      DOWN(50);
      GO_FORWARD(65); // 輪郭1
      UP(25);             
      COME_BACK(76);
      TURN_LEFT(79);
      GO_FORWARD(40);
      DOWN(50);
      GO_FORWARD(40); // 輪郭2
      UP(25);
      COME_BACK(76);
      TURN_LEFT(79);
      GO_FORWARD(40);
      DOWN(50);
      GO_FORWARD(27); // 輪郭3
      UP(25);
      COME_BACK(76);
      TURN_LEFT(79);
      GO_FORWARD(40);
      DOWN(50);
      GO_FORWARD(40); // 輪郭4
      UP(25);
      COME_BACK(76);
      TURN_LEFT(79);
      GO_FORWARD(40);
      DOWN(50);
      GO_FORWARD(65); // 輪郭5
      UP(25);
      COME_BACK(130);
      TURN_LEFT(165);
      GO_FORWARD(25);
      DOWN(50);
      GO_FORWARD(25); // 左目1
      UP(25);
      GO_FORWARD(15);
      DOWN(50);
      GO_FORWARD(25); // 右目1
      UP(25);
      COME_BACK(164);
      TU_FORWARD(15); // 右目2
      UP(25);
      GO_FORWARD(30);
      DOWN(50);
      GO_FORWARD(10); // 口4
      UP(25);
      COME_BACK(120);
      TURN_LEFT(165);
      GO_FORWARD(15);
      DOWN(50);
      GO_FORWARD(22); // 口1
      UP(25);
      COME_BACK(112);
      TURN_LEFT(165);
      DOWN(50);
      GO_FORWARD(10); // 口2
      UP(25);
      GO_FORWARD(30);
      DOWN(50);
      GO_FORWARD(15); // 左目4
      UP(25);
      COME_BACK(160);
      TURN_LEFT(165);
      GO_FORWARD(15);
      DOWN(50);
      GO_   FORWARD(22); // 口3
      UP(25);
      COME_BACK(70);
      TURN_RIGHT(152);
      GO_FORWARD(45);
      DOWN(50);
      GO_FORWARD(35); // 髪1
      UP(25);
      COME_BACK(76);
      TURN_RIGHT(70);
      GO_FORWARD(35);
      DOWN(50);
      GO_FORWARD(35); // 髪2
      UP(25);
      COME_BACK(76);
      TURN_RIGHT(67);
      GO_FORWARD(35);
      DOWN(50);
      GO_FORWARD(40); // 髪3
      UP(25);
      COME_BACK(76);
      TURN_RIGHT(67);
      GO_FORWARD(50);
      DOWN(50);
      GO_FORWARD(35); // 髪4
      UP(25);
      COME_BACK(76);
      TURN_RIGHT(65);
      GO_FORWARD(35);
      DOWN(50);
      GO_FORWARD(35); // 髪5
      UP(25);
      COME_BACK(76);
      TURN_RIGHT(60);
      GO_FORWARD(35);
      DOWN(60);
      GO_FORWARD(35); // 髪6
      UP(25);
      COME_BACK(100);
      TURN_RIGHT(120);
      GO_FORWARD(30);
      DOWN(60);
      GO_FORWARD(108);//前髪

   完成

似顔絵

 下書き

無題11.png

 完成作品

無題10.png

感想

 私はプログラムを打ち込むという経験が一度もなく、作業が思うように進まずに遅れが出てしまうこともありました。ですが、ペアの大石君と協力しプログラムを作り上げロボットが似顔絵を描き始めたときは、思わず声を上げて喜んでしまいました。次からの課題もしっかりこなしていき、自分たちの力を最終試験で発揮できるようにしていきたいと思います。


添付ファイル: file無題11.png 193件 [詳細] file無題10.png 162件 [詳細] file無題9.png 100件 [詳細] file無題7.png 77件 [詳細] file無題6.png 98件 [詳細] file無題5.png 158件 [詳細] fileロボちゃん.png 164件 [詳細] file無題2.png 92件 [詳細] file無題1.png 163件 [詳細] file無題.png 85件 [詳細] fileロボティクス入門ゼミ.png 145件 [詳細] fileロボチ.png 73件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-06-09 (木) 22:17:52