[[2009a]]
#contents
*ロボットの概要 [#pc50e9d5]
-目標
--仲間の似顔絵を書く
---しっかりと特徴をとらえシンプルでわかりやすいものをつくる。
--機体の初期設定
---シンプルな車体の上に3つ目のモーターを取り付けてそこから輪ゴムを使いブロックにペンを固定する。
---ペンは機体の先端に取り付ける。
*ロボット制作 [#f01f3578]
-過程1
--本体の制作
---本体には余計な飾りをつけずシンプルで軽量化。それによってスムースな移動を可能になった。
-過程2
--モーターの装着
---モーターは初期設定通り車体の上に取り付けることができ車体のバランスが良くなった。ペンが激しく上下し繋ぎ目がゆるくなってしまうためブロックを使い補強した。
-過程3
--ペンの取付
---当初ペンは輪ゴムで止める予定だったがそれではペンが固定されずにグラグラ、そのため試行錯誤の上小さなはタイヤを使って固定するという奇抜な発想を思いついた。その結果グラグラは収まり、固定が難しい太くて重いサインペンも使うことが可能に。
-過程4
--ブロックの固定
---ペンが激しく上下し繋ぎ目がゆるくなってしまうためブロックを使い補強した。


*プログラムの紹介 [#v5634dea]
-個人のページ
*目次 [#o18a8d3e]
#contents
*課題 [#yd5cc038]
**課題1 お絵描きロボット [#t79c203a]
A3の紙に相棒の似顔絵を書くロボットを作成せよ。&size(15px){A3の紙に相棒の似顔絵を書くロボットを作成せよ};

 #define PEN 5  //ペンの上げ下げの時間の定義
~・ひとりにつき一つ以上のプログラムを作成すること。 
~・ペン以外はキットに含まれる部品を使うこと。 
~・キットに付属の高価な輪ゴムは切れやすいので切れないように十分注意すること。 
~・改良や調整をしやすくするため、ロボット本体だけでなく、プログラムについても可能な部分についてはサブルーチンや関数、マクロなどを使って部品に分けること。

 sub up()          //ペンを上げる動作
 {
 OnFwd(OUT_B);
 Wait(PEN);
 Off(OUT_B);
 }
 
 sub down()    //ペンを下げる動作
 {
 OnRev(OUT_B);
 Wait(PEN);
 Off(OUT_B);
 }
 
 
 task main()
 {              
 OnFwd(OUT_A+OUT_C);  //輪郭の描き始め
 Wait(110);
 
 up();
  
 Off(OUT_A);
 Wait(155);
 Off(OUT_C);
 OnRev(OUT_A+OUT_C);
 Wait(80);
 Off(OUT_A+OUT_C);
 
 down();
 
 OnFwd(OUT_A+OUT_C);
 Wait(80);
 
 up();
 
 Off(OUT_A);
 Wait(140);
 Off(OUT_C);
 OnRev(OUT_A+OUT_C);
 Wait(75);
 Off(OUT_A+OUT_C);
 
 down();
 
 OnFwd(OUT_A+OUT_C);
 Wait(80);
 
 up();
 
 Off(OUT_A);
 Wait(155);
 Off(OUT_C);
 OnRev(OUT_A+OUT_C);
 Wait(75);
 Off(OUT_A+OUT_C);
 
 down();
 
 OnFwd(OUT_A+OUT_C);
 Wait(110);
 
 Off(OUT_A);
 Wait(370);
 Off(OUT_C);
 Wait(20);  //輪郭の描き終わり
 
 up();
 
 OnRev(OUT_A+OUT_C);
 Wait(100);
 Off(OUT_A+OUT_C);
 
 down();
 
 OnFwd(OUT_C);  //髪の毛(右側)
 Wait(200);
 Off(OUT_C);
 
 up();
 
 OnRev(OUT_A+OUT_C);
 Wait(80);
 Off(OUT_A+OUT_C);
 
 down();
 
 OnFwd(OUT_A);  //髪の毛(左側)
 OnRev(OUT_C);
 Wait(100);
 Off(OUT_A+OUT_C);
 
 up();
 
 OnRev(OUT_A);
 OnFwd(OUT_C);
 Wait(30);
 Off(OUT_A+OUT_C);
 
 OnFwd(OUT_A+OUT_C);
 Wait(100);
 Off(OUT_A+OUT_C);
 
 OnFwd(OUT_A);
 OnRev(OUT_C);
 Wait(120);
 
 OnRev(OUT_A+OUT_C);  //目の描き始め
 Wait(40);
 
 down();
 Wait(25);
 
 up();
 Wait(20);
 
 down();
 Wait(25);  //目の描き終わり
 
 up();
 
 OnRev(OUT_A);
 OnFwd(OUT_C);
 Wait(100);
 Off(OUT_A+OUT_C);
 
 OnFwd(OUT_A+OUT_C);
 Wait(80);
 Off(OUT_A+OUT_C);
 
 OnFwd(OUT_A);
 OnRev(OUT_C);
 Wait(85);
 Off(OUT_A+OUT_C);
 
 OnFwd(OUT_A+OUT_C);  //口の描き始め
 Wait(10);
 down();
 Wait(35);
 up();     //口の描き終わり
 
 Off(OUT_A+OUT_C);
 }


*考察と感想 [#se48cf81]
-問題点とその攻略方法
あごを角張らせようとしたが、向きを変えたところでペンの位置がずれてしまうことに気づいた。ずれをなくすためにバックさせたりして微調整をしました。(小林)
-一番こだわったところ
もちろん一番苦労した「あご」と髪の毛の分け目です。(小林)
-課題1を終えて
昨年の人たちの作品を見たとき、正直言って「似顔絵ってこんなもんでいいのか」と思ったのですが、実際に作ってみたらとても大変で、少し複雑なものにしようと思っただけで頭が混乱しました。苦労はしたけれど自分としては納得のいく作品ができたと思います。(小林)

コメントどうぞ
*ロボットの概略 [#q115b59b]
**ペンの取り付け [#vcd11d3f]
**工夫 [#q13ec8a2]
**基本操作  [#u5d9db14]
*似顔絵 [#o7a3a983]
**完成予定図 [#ac09b57e]
**実際には・・・ [#s224b73b]
*まとめ [#x9f3b023]
*コメント [#ne0ff67a]
コメントをどうぞ
#comment

CENTER:本日の訪問者&counter(today);
CENTER:昨日の訪問者&counter(yesterday);
CENTER:今までの訪問者&counter(all);


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS