2008a/MemberOnly/進行状況A

目次

課題

お絵描きロボット

・A3用紙に相棒の似顔絵を書くロボットの製作

使用したロボット

課題を行うために必要な機能

・前進後退ができる ・左右に方向転換ができる ・ペンを装着し固定できる ・モーターによってペンを上げ下げできる ・動作中に分解しない耐久性がある

この条件でロボットを制作した

ロボットの写真

080528_1857~01.jpg
080528_1857~02.jpg

このロボットでは、ギアを使ってペンを持ち上げる装置を作るのが大変だった。ギアを使ってペンを持ち上げるにはバランスなどを考えることが必要であり、うまくバランスをとるために片側を重くすることにした。

080528_1857~03.jpg

プログラム

A 08E1606H 奥沢  [#z02fabcd]

task main() {

 OnFwd(OUT_A);
 Wait(800);  
 Off(OUT_A);//輪郭を書く
 OnFwd(OUT_C);
 OnRev(OUT_A);//旋回
 Wait(100);//
 OnFwd(OUT_C);
 Wait(8);
 OnFwd(OUT_A+OUT_C);//前進
 Wait(50);
 Off(OUT_A+OUT_C);
 OnFwd(OUT_B);//ペン上げる
 Wait(50);
 Off(OUT_B);//ペン下げる
 OnFwd(OUT_C);
 OnRev(OUT_A);
 Wait(300);//旋回
 OnFwd(OUT_A+OUT_C);//前進
 Wait(200);
 OnFwd(OUT_B);ペン上げる
 Wait(50);
 OnFwd(OUT_C);
 OnRev(OUT_A);
 Wait(50);//旋回
 OnFwd(OUT_B);//ペン上げる
 Wait(50);
 Off(OUT_A+OUT_C);
 Off(OUT_B);
 }
3G0144.JPG

B 08T2100A 吉沢 [#m46702bc]

task main()

{

   OnFwd(OUT_A+OUT_C);//輪郭 前進
   Wait(180);
  
   OnFwd(OUT_B);//ペン上げ
   Wait(14);
   Off(OUT_B);
   Wait(22);
   OnRev(OUT_C);//旋回
   OnFwd(OUT_A);
   Wait(101);
   OnRev(OUT_A+OUT_C);//後退
   Wait(40);
   Off(OUT_A+OUT_C);
   Wait(30);
   OnRev(OUT_B);ペン下げ
   Wait(14);
   Off(OUT_B);
   Wait(22);           
   OnFwd(OUT_A+OUT_C);//前進
   Wait(160);
   Off(OUT_A+OUT_C);
   Wait(30);
   
   OnFwd(OUT_B);//ペン上げ
   Wait(14);
   Off(OUT_B);
   Wait(22);
   OnFwd(OUT_A+OUT_C);//前進
   Wait(30);
   Off(OUT_A+OUT_C);
   Wait(30); 
   OnRev(OUT_C);//旋回
   OnFwd(OUT_A);
   Wait(101);
   OnRev(OUT_A+OUT_C);//後退
   Wait(40);
   Off(OUT_A+OUT_C);
   Wait(30);
   OnRev(OUT_B);//ペン下げ
   Wait(14);
   Off(OUT_B);
   Wait(22);           
   OnFwd(OUT_A+OUT_C);//前進
   Wait(160);
   Off(OUT_A+OUT_C);
   Wait(30);
    OnFwd(OUT_B);//ペン上げ
    Wait(14);
    Off(OUT_B);
    Wait(22);
   
   OnRev(OUT_A+OUT_C);//目
   Wait(20);
   Off(OUT_A+OUT_C);
   Wait(20);
   OnFwd(OUT_A);//旋回
   OnRev(OUT_C);
   Wait(100);
   OnRev(OUT_A+OUT_C);//後退
   Wait(50);
   Off(OUT_A+OUT_C);
   Wait(20);
      
  OnFwd(OUT_A+OUT_C);//前進
   Wait(10);
   OnFwd(OUT_B);//ペン上げ
   Wait(14);
   Off(OUT_B);
   Wait(5);
   OnFwd(OUT_A+OUT_C);//前進
   Wait(10;;;;;;);
   OnRev(OUT_B);//ペン下げ
   Wait(14);
   Off(OUT_B);
   Wait(5);
   OnFwd(OUT_A+OUT_C);//前進
   Wait(10);
   OnFwd(OUT_B);//ペン上げ
   Wait(14);
   Off(OUT_B);
   Wait(5);
  OnFwd(OUT_A+OUT_C);//前進
   Wait(10);
   OnRev(OUT_B);//ペン下げ
   Wait(14);
   Off(OUT_B);
   Wait(5);
   OnFwd(OUT_A);//旋回
   OnRev(OUT_C);
   Wait(100);
   Off(OUT_A+OUT_C);
   Wait(20);
   
   OnFwd(OUT_A+OUT_C);//口
   Wait(70);
   Off(OUT_A+OUT_C);
   Wait(20);
   OnFwd(OUT_A);//旋回
   OnRev(OUT_C);
   Wait(101);
  OnRev(OUT_A+OUT_C);//後退
   Wait(60);
   Off(OUT_A+OUT_C);
   Wait(20);
      
   OnRev(OUT_B);//ペン下げ
   Wait(14);
   Off(OUT_B);
   Wait(22);
   OnFwd(OUT_A+OUT_C);//前進
   Wait(40);
   Off(OUT_A+OUT_C);
   Wait(20);    
   } 
080528_1855~01.jpg

顔を四角くすることにこだわっていたら、プログラムがすごく長くなってしまったので、見にくかった。これをアドバイス通り関数を使って表したいと思う。

苦労した点

問題点

1:ペンをうまく固定できない 2:ペンが紙との摩擦で変な方向に曲がってしまう 3:最後の目と口が変な方向に行ってしまう

解決策

ペンの安定性を高める為に周りをブロックで固めた。 プログラムの正確さを高めるため、何度も微調整を行った。

コメントをどうぞ

  • まず、輪郭と髪は続けて書けるので上手くいったが、目と口を書くのが難しかった。目と口を最後に書くと変な所でロボットが書き始めるので苦労した。もしかすると初めに目と口を書いてしまうと上手くいくかもしれないです。私はプログラミングは初めてでしたが、自分の試行錯誤と人の協力もあって何とかできました。良かったです。 -- 奥澤良尚(08E1606H)? 2008-05-23 (金) 18:14:51

良かった点
①ホームページに書くべきことは概ね書けています。

改善点 ①ロボットの写真ははるだけではなく、各機構に分けて説明するとわかりやすいです。 ②プログラムに関数を使ってみると、見やすいし、今後につながると思います。


添付ファイル: file080528_1857~02.jpg 124件 [詳細] file080528_1857~03.jpg 136件 [詳細] file080528_1857~01.jpg 131件 [詳細] file080528_1855~01.jpg 145件 [詳細] file3G0144.JPG 141件 [詳細] fileTS3G0144.JPEG 68件 [詳細] fileTS3G0144.JPG 72件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2008-05-29 (木) 16:23:09 (4097d)