ロボティクス入門ゼミ

目次

自己紹介

工学部物質工学科の佐野美知子です。 お茶と富士山で有名な静岡県出身です。

書道ロボットを作る

字を書くロボットを作る

まずペンを上げ下げさせる仕組みを作る。

アームでペンを挟んでそれを上げ下げさせるようにした。

task main()
{   OnFwd(OUT_C);
    Wait(100);
    OnRev(OUT_C);
    Off(OUT_C);
    }

このプログラムでやってみた。ペンを持ったアームが重過ぎるのか、微動だにしない。

アーム自体を変える。ペンをキャタピラにつけてキャタピラを回転させる仕組みにした。

cimg0134_Medium.jpg

次にこのプログラムでやってみた。

task main()
{      OnFwd(OUT_B);
       Wait(10);
       
       OnFwd(OUT_A);
       OnFwd(OUT_C);
       Wait(100);
       OnRev(OUT_B);
      Wait(10); 
     
       OnFwd(OUT_A);
       OnFwd(OUT_C);
       Wait(100);
       Off(OUT_A+OUT_B+OUT_C);  }

OnFwd(OUT_B)のあとWait(t)のtをどんなに小さくしてもペンがキャタピラを半周してしまう。初めの位置を調節した。

Off(OUT_B)をつけていないから、そのあとの(100)もはいってしまっていた。そこを直してやってみた。真っ直ぐ線を書くことができた。

文字のプログラムを作る

サブルーチンを使って作ってみた。だが書かれた線の位置がまったくおかしい。

ペンの位置がロボットの真ん中ではなく右についていたためだった。

時間とgo_straight,go_backをいろいろ変えて再度挑戦してみた。上手くいった!!

それから、一画ずつとりあえず作って後で調節するというやり方でプログラムを作った。

完成したプログラム

#define down             OnFwd(OUT_B);Wait(30);Off(OUT_B);                     //ペンを下ろす  
#define  up              OnRev(OUT_B);Wait(30);Off(OUT_B);                    //ペンを挙げる   
#define  go_straight(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_right(t)   OnRev(OUT_C)+OnFwd(OUT_A);Wait(t);Off(OUT_A+OUT_C);  //右を回転する
#define  turn_left(t)    OnRev(OUT_A)+OnFwd(OUT_C);Wait(t);Off(OUT_A+OUT_C);  //左を回転する
task main()
{ 
down;
go_straight(20);   //1
up;
go_straight(10);
turn_riht(100);
gp_straight(20);
turn_right(90);
back(90);
down;
back(40);          //2
up;
go_straight(40);
turn_right(90);
back(95);
down;
go_straight(180);  //3
up;
go_straight(10);
turn_right(90);
back(55);
down;
back(40);          //4
up;
go_straight(40);
turn_right(90);
go_straight(40);
down;
back(100);         //5
up;
go_straight(140);
turn_left(90);
back(15);
down;
go_straight(100);  //6
up;
back(15);
turn_right(120);
back(95);
down;
back(30);          //7
up;
}

感想

思っていたより大変でした。でも、一つ一つしっかり丁寧にやっていけばできるので、すごく達成感があります。上手くいかなくても、どうして上手くいかないのかを考えて、その問題を解決するにはどうすればいいのかを考えて実際にやってみる。この繰り返しが面白かったです。

  • 試験的なプログラムも掲載されていて、製作の過程がよくわかります。 -- 松本(教員)? 2006-12-01 (金) 09:11:47

2006b/A2/tankn616のページ


添付ファイル: file完成した字.jpg 115件 [詳細] filecimg0134_Medium.jpg 226件 [詳細]

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