目次

課題の確認

お絵描きロボット

''A3の紙に相棒の似顔絵を書くロボットを作成せよ。''

・ひとりにつき一つ以上のプログラムを作成すること。

・ペン以外はキットに含まれる部品を使うこと。

・キットに付属の高価な輪ゴムは切れやすいので切れないように細心の注意を払うこと。

・改良や調整をしやすくするため、ロボット本体だけでなく、プログラムについても可能な部分についてはサブルーチンや関数、マクロなどを使って部品に分けること。

ロボ(The Boss)について

''The Boss''となった由来

名前を決めるまでは、The Bossのことを、「ロボ」や「あれ」などと、何とも無味乾燥な呼び方をしていた。
しかし、この度名前をつけるにあたって、これから半年間お世話になる、という思いや、
また、しばしばプログラミング通りに動いてくれない気まぐれさ(後に自分のプログラミングが間違っていたことに気づくのは秘密)から、The Bossと名付けるに至った。

''The Boss''制作にあたって

''The Boss''制作にあたって以下の2つを基本指針とした。

''・コンパクトさ''
いろいろ部品をつけて機体を飾るのも良いが、"お絵描き"ロボなので、大切なのはペンでどのように書けるかということだ。
よって、今回は無駄なパーツをできるだけ排除し、サクサク動くことを目標にした。

''・頑丈さ''
無駄なパーツは排除するが、機体が脆くなっては元も子もない。何度動かしても壊れないよう、頑丈さには気をつけた。

本体

全体はこんな感じ。

機体1.JPG
機体2.JPG
機体(右).JPG
機体(左).JPG

ペン取り付け部と補強

ペン取り付け部.JPG








,縫撻鵑硫蕊瑤鯆未掘↓△縫撻鵑両緝瑤鯆未后
最後に黄色いパーツでペンを挟むことで、
輪ゴムを使わずペンを固定することができた。
ペンをはさむ部分にゆとりをもたせて、ある程度の大きさのペンを挟める汎用性を出した。













固定パーツ.JPG








ペンを上げ下げする時のアームの反動で、
モーター部が外れてしまうのを防ぐため、ブロックをつけて補強した。














苦労したところ

ギア部.JPG










ペンの上げ下げをする際に、モーターの回転が速すぎるため、
勢いよくペンが上下するので、ギア数を増やして上げ下げのスピードを
もう少し抑えることができないかと考え、ブロックをいろいろつなげたりして
試行錯誤した。
しかし、ギアとブロックがうまくかみ合わなかったりして、
結果、左写真のようになった。








似顔絵

完成予定図

としぞうの完成予定図

完成予定図(としぞう).JPG

タツヤの完成予定図

完成予定図.JPG

プログラム

としぞうのプログラム

#define up OnFwd(OUT_B);Wait(30);Off(OUT_B);    //「ペン上げ」を定義
#define down OnRev(OUT_B);Wait(30);Off(OUT_B);    //「ペン下げ」を定義
#define go(t) OnFwd(OUT_A+OUT_C);Wait(t);Off(OUT_A+OUT_C);    //「前進」を定義
#define back(t) OnRev(OUT_A+OUT_C);Wait(t);Off(OUT_A+OUT_C);    //「後退」を定義
#define turn_R(t) OnFwd(OUT_A);OnRev(OUT_C);Wait(t);Off(OUT_A+OUT_C);    //「右折(小)」を定義
#define turn_L(t) OnRev(OUT_A);OnFwd(OUT_C);Wait(t);Off(OUT_A+OUT_C);    //「左折(小)」を定義
#define right(t) OnFwd(OUT_A);Wait(t);Off(OUT_A);    //「右折(大)」を定義
#define left(t) OnFwd(OUT_C);Wait(t);Off(OUT_C);    //「左折(大)」を定義
task main()
{
   turn_R(420);    //顔
   up;    
   back(30);    //ここから右目を描くための軌道修正1
   turn_R(100);
   go(20);
   turn_L(100);
   go(90);    //軌道修正1(終)
   down;
   go(30);    //右目
   up;    
   back(50);    //ここから口を描くための軌道修正2
   turn_L(100);
   go(100);    //軌道修正2(終)
   down;
   go(50);    //口
   up;
   back(110);    //ここから左目を描くための軌道修正3
   turn_L(100);
   go(150);    //軌道修正3(終)
   down;
   go(30);    //左目
   up;
   back(80);    //ここから前髪を描くための軌道修正4
   turn_R(125);
   back(30);    //軌道修正4(終)
   down;
   repeat(3){    //前髪
   left(70);
   right(70);
   }
   back(190);    //髪の毛の上の部分
}

タツヤのプログラム

#define down OnRev(OUT_B);Wait(30);Off(OUT_B);//ペン下げ
#define up OnFwd(OUT_B);Wait(30);Off(OUT_B);//ペン上げ
#define go(t) OnFwd(OUT_A+OUT_C);Wait(t);Off(OUT_A+OUT_C);//前進
#define turn_R(t) OnFwd(OUT_A);OnRev(OUT_C);Wait(t);Off(OUT_A+OUT_C);//右回転
#define turn_L(t) OnRev(OUT_A);OnFwd(OUT_C);Wait(t);Off(OUT_A+OUT_C);//左回転
#define back(t) OnRev(OUT_A+OUT_C);Wait(t);Off(OUT_A+OUT_C);//後退
task main()
{
  go(40);   //右目
  up;
  go(25);   //眉間
  down;
  go(40);   //左目
  up;
  back(90);//目と輪郭の間隔を決めます
  turn_L(90);
  down
  go(200);    //輪郭1
  up;
  turn_L(140);    //軌道修正1(これは輪郭2に移る時ペンが輪郭1の終点からずれるので修整します
  go(70); 
  turn_R(90);
  down;
  go(70);     //輪郭2(頬1)
  up;
  turn_L(120);    //軌道修正2(軌道修正1と同じことをします
  go(50);
  turn_R(80);
  down;
  go(75);      //輪郭3(顎)
  up;
  turn_L(140);    //軌道修正3(軌道修正1.2と同じことをします
  go(60); 
  turn_R(90);
  down;
  go(40);    //輪郭4(頬2)
  up;
  turn_L(170);//ここから鼻をかくために顔の中心に移動するためのプログラムです
  go(130);     
  turn_L(110);
  go(20);
  down;
  go(50);     //鼻
  up;
  back(75);//口を書くために軌道修整します
  turn_L(100);
  go(60);
  down;
  go(50);//口
}

完成作品

薄くて見にくくて申し訳ないです。

としぞうの作品

完成図(としぞう).JPG

ラストの髪の毛が若干ずれたが、完成予定図に近い作品ができたと思う。

タツヤの作品

完成図.JPG

まとめ・反省

としぞう

本講座最初の課題ということもあって、張り切って臨んだが、
実際には、プログラムの修正→試行→修正→試行→修正→……
と、なかなか大変だった。しかし、試行錯誤した分、ロボットの動かし方
にもかなり慣れることができた。今後の課題にも生かしていきたいと思う。

タツヤ

今回の作業を一言でたとえるなら「忍耐」であろう。なぜならばアームを作るだけでも2時間以上を費やし、
プログラムを作るのには失敗に失敗を重ねそつど地道な修正を繰り返しまた失敗する、このストレスをエネ
ルギー変換できたら我が家の電気代を一ヶ月はまかなえたであろう。しかしそれに耐え完成させたときの
達成感はなかなかのもだった。貴重な体験をすることができた。

コメント

コメントをどうぞ!

  • 詳しく説明していて良いです。特に、ロボットを部分にわけて説明するというのはよいです。なお、タイヤの回転には、モータに直接くっついているギヤとタイヤに直接くっついているギヤの半径比が関与しているので、試行錯誤してみてください。 -- FI? 2010-05-21 (金) 07:45:03
  • どこをどう工夫したのか、写真で述べられていて良いと思います。さらに、続けてみて下さい -- TAKA? 2010-05-21 (金) 12:01:07


添付ファイル: file完成予定図.JPG 170件 [詳細] file完成予定図(としぞう).JPG 149件 [詳細] file完成図.JPG 153件 [詳細] file完成図(としぞう).JPG 157件 [詳細] fileペン取り付け部.JPG 159件 [詳細] file固定パーツ.JPG 147件 [詳細] file機体2.JPG 155件 [詳細] file機体1.JPG 148件 [詳細] file機体(左).JPG 151件 [詳細] file機体(右).JPG 142件 [詳細] fileギア部.JPG 151件 [詳細] fileNEC_0007.JPG 119件 [詳細] fileNEC_0006.JPG 80件 [詳細] fileNEC_0005.JPG 83件 [詳細] fileNEC_0004.JPG 103件 [詳細] fileNEC_0003.JPG 89件 [詳細] fileNEC_0002.JPG 78件 [詳細] filekao.nqc 69件 [詳細]

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