目次

課題1:似顔絵を書くロボット

目標:ペアの人の似顔絵を書くロボットを作成する。-----

作成したロボット

ロボットの外形

ロボ

基本構造のロボットにペンをあげさげする構造をロボットの進行方向に装着した。
進むパーツはタイヤを用いて、曲線をうまく書ける様にした。 進むパーツはタイヤを用いて、曲線をうまく書ける様にした。


ペンを持たせる構造

ペン

モーターから直接力をかけてペンをあげさげする。
どうしてもペンの重さで、あげた瞬間に下がってしまうので、途中にタイヤを輪ゴムでつけた。

作成したプログラム

プログラム1

#define back(t) OnRev(OUT_A+OUT_C); Wait(t); Off(OUT_A+OUT_C);           //tだけ後退する
#define go(t) OnFwd(OUT_A+OUT_C); Wait(t); Off(OUT_A+OUT_C);             //tだけ前進する
#define turn_l(t) OnFwd(OUT_A); OnRev(OUT_C); Wait(t); Off(OUT_A+OUT_C); //tだけ左に曲がる
#define turn_r(t) OnFwd(OUT_C); OnRev(OUT_A); Wait(t); Off(OUT_A+OUT_C); //tだけ右に曲がる
#define age SetPower(OUT_B,3); OnFwd(OUT_B); Wait(30); Off(OUT_B);       //ペンを上げる
#define sage SetPower(OUT_B,2); OnRev(OUT_B); Wait(30); Off(OUT_B);   //ペンを下げる

task main()
{
 sage; turn_r(30); turn_l(60); turn_r(30); age; //口を描く
 go(30);                    //移動
 sage; go(30); age;               //鼻を描く
 back(30); turn_r(85); go(50);         //移動
 sage; go(30); age; go(25); sage; go(30); age;  //目を描く
 back(60); turn_l(170); go(50);         //移動
 sage; go(200); age;               //前髪を描く
}

プログラム・2

#define circle OnFwd(OUT_A); OnRev(OUT_C); Wait(400); Off(OUT_A+OUT_C);  //円を描く
#define back(t) OnRev(OUT_A+OUT_C); Wait(t); Off(OUT_A+OUT_C);           //tだけ後退する
#define go(t) OnFwd(OUT_A+OUT_C); Wait(t); Off(OUT_A+OUT_C);             //tだけ前進する
#define turn_l(t) OnFwd(OUT_A); OnRev(OUT_C); Wait(t); Off(OUT_A+OUT_C); //tだけ左折する
#define turn_r(t) OnFwd(OUT_C); OnRev(OUT_A); Wait(t); Off(OUT_A+OUT_C); //tだけ右折する
#define age SetPower(OUT_B,3); OnFwd(OUT_B); Wait(30); Off(OUT_B);       //ペンを上げる
#define sage SetPower(OUT_B,1); OnRev(OUT_B); Wait(30); Off(OUT_B);      //ペンを下げる

task main()
{
 sage; circle; age;               //円を使って輪郭を描く
 go(20);                     //移動
 sage; turn_l(20); turn_r(40); turn_l(20); age; //口を描く
 go(40);                      //移動
 sage; go(20); age;                              //鼻を描く
 back(10); turn_r(85); go(50);             //移動する
 sage; go(30); age; go(25); sage; go(30); age;  //目を描く
}

かけた似顔絵

顔1
顔2

苦労した点・工夫した点

・ペンを持たせる構造
・なるべく定義を用いてプログラムを簡単にする。
・プログラムの微調整が少し面倒だった。

未解決な点・今後への課題

・ペンがロボットの中心軸からずれていて、線がうまく引けない。
→ロボットを縦型にする、または高さをつける。
・ペンを持たせる構造が単純すぎて、スピードが速い。
→ペンを持たせる構造にギアをかませる。
・似顔絵に特徴が出ない。
→特徴を探す????

課題1を終えての感想

・やってみると以外と難しく、時間だけが過ぎていった。
解決されてない問題点がたくさんあったので、次は解決したい。

コメントお願いします。


良かった点

  1. 書くべきことは概ね書けています
  2. 関数をうまく用いてプログラムを作っています。

改善点

  1. プログラムをうまく貼れていないようなので、直してみてください。
  2. 未解決点に対してどんな解決方法があるか等、案を考えてみてもいいかもしれません。

添付ファイル: fileP1010120.JPG 160件 [詳細] fileP1010119.JPG 292件 [詳細] fileP1010118.JPG 347件 [詳細] filekao1.JPG 295件 [詳細] filekao2.JPG 308件 [詳細]

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2008-05-30 (金) 01:16:11