もくじ

メンバー

  • 風魔tk
  • キングオブハート

の二人でーす。よろしーく

今回の方針

  • ペンの昇降と、マシンの移動で似顔絵を書く。
  • 方向転換の際にペンの位置がずれるのが面倒だと感じたので、マシンの回転中心にペンを配置する。
    • これによりカクカクの線がとても書きやすくなるはずである。
  • ゴムは高価なので使わないようにする。
  • なるべくスタイリッシュにする。

今回作ったロボット

PPP2.jpg
ooo.jpg

不格好だけどかなり頑丈。スタイリッシュではないが、まあ良しとしよう。

ロボット製作

まったくのオリジナルは大変だと感じたので、初めに作ったロボをちょっと分解し、左右のタイヤ間の距離を広げ、マシン中央にペンの昇降機を配置する。

P1010349_2.jpg

ペンの昇降機について

ペンをしっかり固定するために、モーター直結のタイヤ1つと、補助のタイヤ2つでペンを上下させるオーソドックスなものにした。

pen.jpg

本体について

  • タイヤ間を広げた結果、メインフレームがふにゃふにゃになったので、あまりのパーツで補強する。
    • (マシンが縦に長くなりそうだったので、フレームの下部から補強した。)
  • ペンが真ん中にくるように昇降機を配置すると、RCX本体が置けなくなり、左右非対象になってしまった。重量のバランスをとるため、反対側にブロックを大量に載せた。
  • RCX本体がやたらと外れるので上から補強しようとしたが、やめた。

似顔絵

相方の似顔絵をできる限り似せて描きます。

プログラム

風魔tkのプログラム↓

#define  down OnRev(OUT_B);Wait(5);Off(OUT_B);  //ペン5秒を下げる
#define  up  OnFwd(OUT_B);Wait(5);Off(OUT_B);  //ペンを5秒上げる
#define  go_st(t)  OnFwd(OUT_A+OUT_C);Wait(t);Off(OUT_A+OUT_C);  //t秒前に進む
#define  turn_r(t)    OnFwd(OUT_C);OnRev(OUT_A);Wait(t);Off(OUT_C+OUT_A);  //右にt秒その場で回転
#define  turn_l(t)     OnFwd(OUT_A);OnRev(OUT_C);Wait(t);Off(OUT_A+OUT_C);   //左にt秒その場で回転  
task main(){
               down;
               go_st(100);//輪郭始め
               turn_l(45);
               go_st(100);
               turn_l(130);
               go_st(100);
               turn_l(50);
               go_st(100);
               turn_l(110);
               go_st(100);//輪郭終わり
               up; 
               turn_l(147);     
               go_st(30);
               turn_l(60);
               down;
               go_st(30);//左目
               up;            
               go_st(20);
               down;
               go_st(30);//右目
               up;
               turn_r(140);
               go_st(50);
               down;
               go_st(25);//鼻
               turn_l(100);
               go_st(25);
               up;
               go_st(40);
               turn_r(137);
               down;
               go_st(40);//口
              }

キングオブハートのプログラム↓

#define up  OnFwd(OUT_B);Wait(6);Off(OUT_B); //ペン上げ
#define down  OnRev(OUT_B);Wait(6);Off(OUT_B); //ペン下げ
#define left45  OnFwd(OUT_A);OnRev(OUT_C);Wait(54);Off(OUT_A+OUT_C);//左に45°回転
#define right45  OnFwd(OUT_C);OnRev(OUT_A);Wait(53);Off(OUT_A+OUT_C);//右に45°回転
#define left90  OnFwd(OUT_A);OnRev(OUT_C);Wait(105);Off(OUT_A+OUT_C);//左に90°回転
#define right90  OnFwd(OUT_C);OnRev(OUT_A);Wait(105);Off(OUT_A+OUT_C);//右に90°回転
#define left30  OnFwd(OUT_A);OnRev(OUT_C);Wait(70);Off(OUT_A+OUT_C);//左に60°ほど回転
#define right30  OnFwd(OUT_C);OnRev(OUT_A);Wait(70);Off(OUT_A+OUT_C);//右に60°ほど回転
#define masu1  OnFwd(OUT_A+OUT_C);Wait(20);Off(OUT_A+OUT_C);//1マス進む
#define masu2  OnFwd(OUT_A+OUT_C);Wait(40);Off(OUT_A+OUT_C);//2マス進む
#define masu3  OnFwd(OUT_A+OUT_C);Wait(60);Off(OUT_A+OUT_C);//3マス進む
#define masu4  OnFwd(OUT_A+OUT_C);Wait(80);Off(OUT_A+OUT_C);//4マス進む
#define back_masu1  OnRev(OUT_A+OUT_C);Wait(20);Off(OUT_A+OUT_C);//1マス下がる
#define back_masu2  OnRev(OUT_A+OUT_C);Wait(40);Off(OUT_A+OUT_C);//2マス下がる
#define naname1  OnFwd(OUT_A+OUT_C);Wait(26);Off(OUT_A+OUT_C);//正方形1マスの対角線分すすむ
#define naname2  OnFwd(OUT_A+OUT_C);Wait(52);Off(OUT_A+OUT_C);//正方形2マスの対角線分すすむ
#define back_naname1  OnRev(OUT_A+OUT_C);Wait(26);Off(OUT_A+OUT_C);//正方形1マスの対角線分下がる

task main()
{
down;     //顔の輪郭
masu2
left45
naname2
left45
masu2
left45
naname2
left45
masu4
left45
naname2
left45
masu2
left45
naname2
left45
masu3    //顔の輪郭終了
right45   //髪を描く
back_naname1
right90
back_naname1
right90
naname1
right90
naname1
right90
back_naname1
right90
back_naname1 //髪終了
up           //左目まで移動
naname2
left45 
down         //左目
back_masu1 
up           //右目まで移動
masu4 
down         //右目
back_masu1 
up           //鼻の上まで移動
back_masu1 
left30       //鼻を描く
down
back_masu1
left90
OnRev(OUT_A+OUT_C);Wait( 10   );
Off(OUT_A+OUT_C);          //ここまで鼻
up                    //口の右端まで移動
OnRev(OUT_A+OUT_C);Wait(  10  );
Off(OUT_A+OUT_C);
left90          //口をかく
down
OnFwd(OUT_A+OUT_C);Wait( 10   );
Off(OUT_A+OUT_C);
right30
masu1           //口終了
up        //ペンをあげる
} 

@@ 方眼紙を利用してプログラムを書いたため「ななめ1マス」とか書いてありますが、ゆるしてやってください。

できた似顔絵

tk

koba.jpg

キング

king.jpg

工夫点

他とは少し違うロボにするために幅を広くしてペンをロボの中心に置いた。旋回を確かなものとするためにRCXとの重量バランスを考えてパーツを多めにした。

感想

  • 風魔tk

時間配分を間違えた。もっと余裕を持って製作したい。

  • キングオブハート

最初は戸惑ったが、なんとかうまい具合にいったような気がする。 予想より歪んだ。

コメント

なんかあったらコメントくださいねー。

  • きちんとポイントを書いていると思います。サブルーチンや関数をつくる際には、どのようにわけるかをいろいろ考えてみると良いです。例えば、二人目のプログラムでは角度ごとに作っていますが、一つの方向(モーター)について一つだけ作って秒数を変えるという方法もあります。また、45°、60°90°しか作らないのならば、15°回転をつくり、それぞれ3回、4回、6回繰り返すという方法もあります(つまり、共通部分だけ作って、違う部分だけ別の命令を行うということ)。 -- FI? 2010-05-21 (金) 08:09:16
  • 工夫点などもまとめてみて下さい -- TAKA? 2010-05-21 (金) 13:28:51


添付ファイル: filepen.jpg 229件 [詳細] filekoba.jpg 222件 [詳細] fileking.jpg 227件 [詳細] fileooo.jpg 234件 [詳細] filePPP2.jpg 229件 [詳細] filePPPP.jpg 153件 [詳細] fileP1010349_2.jpg 230件 [詳細]

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