課題

書道ロボット

自分の漢字で7画以上の文字を書く。

ロボットの説明

kikai.jpg

モーターは左右のタイヤに二つとペンの上げ下げ用に一つ使いました。

まず車にペンを挟みます。

そして字を書くときはペンを下げ、字を書かない時はペンを上げ前後に動かすという仕組みです。

またペンの上げ下げの時間は長すぎるとペンがロボットにあたってしまってペンをはめた部品がはずれてしまうので、ちょうどいい時間の0.05秒にしました。

写真にはないですが字を書くときはペンをはずれにくくするために輪ゴム巻きました。

字の書き方

ji.jpg

「尾」という漢字を,ら順に番号順に書きます。

プログラムの説明

定義文

#define movetime1 200//時間
#define movetime2 5//時間
#define movetime3 110//時間
#define movetime4 40//時間
#define movetime5 55//時間
#define movetime6 90//時間
#define movetime7 70//時間
#define movetime8 92//時間
#define movetime9 30//時間
#define turntime1 110//時間
#define turntime2 111//時間
#define turn_left OnFwd(OUT_A);OnRev(OUT_C);Wait(turntime1);//左に曲がる
#define turn_right OnFwd(OUT_C);OnRev(OUT_A);Wait(turntime2);//右に曲がる
#define straight1 OnFwd(OUT_AC);Wait(movetime1);//まっすぐ進む
#define straight2 OnFwd(OUT_AC);Wait(movetime3);//まっすぐ進む 
#define straight3 OnFwd(OUT_AC);Wait(movetime4);//まっすぐ進む  
#define straight4 OnFwd(OUT_AC);Wait(movetime8);//まっすぐ進む
#define straight5 OnFwd(OUT_AC);Wait(movetime9);//まっすぐ進む
#define straight6 OnFwd(OUT_AC);Wait(movetime5);//まっすぐ進む
#define up OnFwd(OUT_B);Wait(movetime2);Off(OUT_ABC);//ペンを上げる
#define down OnRev(OUT_B);Wait(movetime2);Off(OUT_ABC);//ペンを下げる
#define back OnRev(OUT_AC);Wait(movetime5);//下がる
#define chousei1 OnRev(OUT_AC);Wait(movetime6);//少し下がる
#define chousei2 OnFwd(OUT_AC);Wait(movetime7);//少し上がる
#define chousei3 OnRev(OUT_AC);Wait(movetime7);//少し下がる
#define chousei4 OnRev(OUT_AC);Wait(movetime5);//少し下がる
#define chousei5 OnRev(OUT_AC);Wait(movetime4);//少し下がる

chouseiを使う理由はロボットの進む向きを変えた時に生じた誤差を埋めるためです。

作成したプログラム

task main ()
{
    straight1;//   ^豌萍
    up;
    chousei2;
    turn_right;
    chousei1;
    down;//     二画目
    straight2;
    up;
    chousei2;
    turn_right;
    chousei1;
    down;//        三画目
    straight3;
    up;
    chousei2;
    turn_right;
    chousei1;
    down;//        せ猷萍
    straight2;
    up;
    back;
    chousei2;
    turn_left;
    straight3; 
    chousei3;
    down;//        ジ涓萍
    straight2;
    up;
    chousei2;
    turn_left;
    chousei3; 
    down;//        ο山冖
    straight4;
    up;
    chousei2;
    turn_left;
    chousei3; 
    down;//        Ъ群萍
    straight3;
    up;
    chousei2;
    turn_left;
    straight3;
    chousei1;
    down;//       八画目
    straight2;
    up;
    chousei2;
    turn_right;
    straight6;
    chousei5;
    turn_right;
    chousei1;
    down;//       九画目
    straight2;
    up;
    chousei2;
    turn_left;
    straight5;
    chousei2;
    turn_left;
    chousei1; 
    down;//     十画目
    straight2;
    up;
    Off(OUT_ABC);
}

問題点

.蹈椒奪箸鯑阿すと紙が動く

▲蹈椒奪箸曲がると前に書いたところと線が合わない

ロボットが少し右に曲がって進む

解決法

〇罎鬟董璽廚任箸瓩

▲蹈椒奪箸鯀宛紊貌阿して前に書いた線と合うように調整する

まっすぐ進むことを願う

まとめ・感想

ロボットが曲がる時にさっきまでペンで書いていたところとズレが生じてしまい、そのズレを調整するのがたいへんでした。

字を書くときに紙が動いてしまうので紙をテープでとめました。

ロボットを動かすとまっすぐ進まずに少し曲がってしまうのでたいへんでした。


添付ファイル: fileji.jpg 84件 [詳細] filekikai.jpg 83件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-06-19 (金) 20:46:26 (1525d)