(2009a

目次

課題1 似顔絵ロボットを作成せよ

ロボットについて

本体部分

本体写真

パーツをあまり多く使わず、付属の本に載っていた形を基本として、ペンが持てる構造にアレンジしました。車輪は前輪2、後輪2の全4輪で小回りが利くようにしました。

RCXと車体の接続が弱く、外れてしまうことが多くありました。

ペン部分

ペン部分写真

どのようにペンを固定するかで悩みました。 車体にあまり負担がかからないようにシンプルな形にしました。

線の書きやすさを考慮して、ロボット後部でペンを使うことにしました。

試走でペン部分が丸ごと外れる場面が何度も見られ、全体的に強度に問題があることがわかり補強に大分時間をかけました。RCXとペン部分の補強には大分苦労しました。最初は車体とペン部分を固定していたのですが、ペンの上げ下げの際の衝撃に耐えられず、外れてしまうことが多くあったので、ペン部分とRCXの接続を補強し、衝撃に耐えられるようにしました。

プログラムについて

MOMOのプログラム

#define back(t) OnFwd(OUT_B);OnRev(OUT_C);Wait(t);Off(OUT_B+OUT_C); //後退
#define go(t) OnRev(OUT_B);Onfwd(OUT_C);Wait(t);Off(OUT_B+OUT_C); //前進
#define turn_right(t) OnFwd(OUT_B+OUT_C);Wait(t);Off(OUT_B+OUT_C); //右回5転
#define turn_left(t) OnRev(OUT_B+OUT_C);Wait(t);Off(OUT_B+OUT_C); //左回転
#define up OnFwd(OUT_A);Wait(10);Off(OUT_A); //ペンを上げる
#define down OnRev(OUT_A);Wait(6);Off(OUT_A); //ペンを下ろす
task main()
{
  OnFwd(OUT_C); //輪郭を描く
  Wait(750);
  up;
  turn_left(89); //位置調整
  go(60);
 repeat(2){ //両目を描く
  down;
  back(25); //目を描く
  up;
  back(35); //位置調整
  }
  Float(OUT_B+OUT_C); //一旦停止
  go(90); //位置調整
  down;
  go(20); //鼻を描く
  back(100); //位置調整
  turn_right(110);
  down;
  turn_right(85); //口を描く
  Off(OUT_A+OUT_B+OUT_C);
}
ロボットが描いた絵

・変ににやけた顔になってしまったが、なんとか顔っぽいものは描けた。

・口から何か垂れている様になってしまっているのは、描き終わった後ロボットをどかそうとしたときに付いてしまったものです。

・プログラムをわかりやすく簡素化するためにマクロを使ってみました。

Matchのプログラム

 #define back(t) OnFwd(OUT_B);OnRev(OUT_C);Wait(t);Off(OUT_B+OUT_C); //後退
 #define go(t) OnRev(OUT_B);Onfwd(OUT_C);Wait(t);Off(OUT_B+OUT_C); //前進
 #define turn_right(t) OnFwd(OUT_B+OUT_C);Wait(t);Off(OUT_B+OUT_C); //右回5転
 #define turn_left(t) OnRev(OUT_B+OUT_C);Wait(t);Off(OUT_B+OUT_C); //左回転
 #define up OnFwd(OUT_A);Wait(10);Off(OUT_A); //ペンを上げる
 #define down OnRev(OUT_A);Wait(6);Off(OUT_A); //ペンを下ろす
 task main()
 {
  OnRev(OUT_B);    //輪郭を描く
  Wait(650);
  turn_left(85);    //その場回転
  back(20);    //位置調整
  down;    //ペンを下ろす
  back(180);    //髪の毛を描く
  up;    //ペンを上げる
  turn_left(90);    //その場回転
  go(25);    //位置調整
  turn_right(90);    //その場回転
  go(10);    //位置調整
 repeat(2){
  Wait(30);
  down;    //ペンを下ろす
  go(20);    //目を描く
  up;    //ペンを上げる
  }
  Wait(20);
  turn_right(180);    //その場回転
  back(120);    //位置調整
  turn_right(90);    //その場回転
  go(20);    //位置調整
  turn_right(120);    //その場回転
  back(160);    //位置調整
  down;            //ペンを下ろす
  back(30);    //口を描く
  up;              //ペンを上げる
  go(115);    //位置調整
  turn_right(100);    //その場回転
  back(40);    //位置調整
  down;            //ペンを下ろす
  back(3);    //鼻を描く
  up;    //ペンを上げる
  Float(OUT_B+OUT_C);    //停止
 }
ロボットが描いた絵2

・マクロを使っても長いプログラムになった。  顔のバランスに気にしすぎたため、何度も微調整をし直した結果である。

・帽子が大きすぎたため、顔のパーツの間隔が狭くなってしまった。

まさとのプログラム

 #define back(t) OnFwd(OUT_B);OnRev(OUT_C);Wait(t);Off(OUT_B+OUT_C);
 #define go(t) OnRev(OUT_B);Onfwd(OUT_C);Wait(t);Off(OUT_B+OUT_C);
 #define turn_right(t) OnFwd(OUT_B+OUT_C);Wait(t);Off(OUT_B+OUT_C);
 #define turn_left(t) OnRev(OUT_B+OUT_C);Wait(t);Off(OUT_B+OUT_C);
 #define up OnFwd(OUT_A);Wait(10);Off(OUT_A);
 #define down OnOev(OUT_A);Wait(6);Off(OUT_A);

 On Fwd(OUT_C); //輪郭をかく
 Wait(750);
 up; //ペンを上げる
 turn_left(89); //その場で回転
 go(60);
 repeat(2){
 down; //ペンを置く
 back(25); //右目をかく
 up; //ペンを上げる
 back(35); //再び前進
 }
 Float(OUT_B+OUT_C);
 back(20);
 turn_right(89); //回転
 Float(OUT_B+OUT_C);
 go(90); 
 down; //ペンを置く
 go(20); //鼻をかく
 up; //ペンを上げる
 back(60);
 turn_right(95); //回転
 go(10);
 down; //ペンを置く
 go(60); //口をかく
 Off(OUT_A+OUT_B+OUT_C);
}
ロボットのが描いた絵

・グループの二人にたくさんのサポートをしてもらってやっとできた作品。  正直、機械音痴の僕にはこれがいっぱいいっぱいです。

・ものすごく単純な作りになっているので、これから少しずつ表情に変化をつけてみたい。

工夫した点

ペンを上げたり、下ろしたりする衝撃でペン部分が外れることが多くあったため、ペン部分とRCXをつなぎ、補強をしっかりしました。

pic1

ペンとつながっている部分やギヤの動きを妨げるわけにはいかないので、なかなか頑丈に作ることができず、だいぶ悪戦苦闘しましたが、こうすることでペン部分が本体から外れることはほとんどなくなりました。

かなりシンプルな形にして、持ち運びで壊れにくく、パーツが外れてもすぐに元に戻せるようにしました。

工夫というよりは苦労したところですが、モーターのつなぎ方が悪かったらしく、プログラムでOnFwdと打ち込んでも片方の車輪が逆回転をしてしまったので、それを考慮しながらプログラムを作るのが大変でした。ペンを上げ下げする時間の長さの調節に苦労しました。

コメント欄

ご自由にどうぞ^^

  • 書くべきことは書けています。あとは、詳しくわかりやすくを目指して、より優れたレポートにしてください。過去のホームページも参考になります -- FI? 2009-05-21 (木) 20:08:56
  • ロボット、プログラムともにある程度説明が書けていますが、工夫した点をより詳しくするなどのアピールが欲しいところです。 -- こさか? 2009-05-21 (木) 23:17:38
  • プログラムの説明は詳しく、マクロの使い方も良いと思います。ペン部分の苦労した点が画像ではどこなのか詳しい説明が欲しいです。 -- こさか? 2009-05-28 (木) 23:20:00
  • 詳しくわかりやすいレポートにするには、図や写真に書き込んだり、ある問題点について考察をしたり等いろいろ方法はあると思います。 -- FI? 2009-06-05 (金) 10:07:39


添付ファイル: filePA0_0001.JPG 247件 [詳細] fileGRP_0000.JPG 257件 [詳細] file200905201212001.jpg 274件 [詳細] file200905201212000.jpg 258件 [詳細] file200905201144001.jpg 262件 [詳細] fileHI3D0029.JPG 262件 [詳細]

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