2015b/Member

はじめに

課題は書道ロボットの作成。

  • 文字は地元の住所の一文字(但し七画以上)
  • A4の紙に書く(文字の大きさは自由)
  • ペンの種類はなんでもあり

今回は「里」という漢字を書きました。

ペンは後述の理由で筆ペンを使いました。

ロボットの説明

2.JPG

三輪車の前にペンをつけた形です。

ペン先が地面に垂直ではないので、カスレ対策として筆ペンを使用しました。

ペンは輪ゴムで固定しています。

ロボットの動作・プログラミングの説明

書道ロボットに必要な動きは

  • ペンの上げ下げ
  • 横方向の動き
  • 縦方向の動き   の三種類です。

今回、以下のように再現しました。

(以下のプログラミングの最後にoff,Waitがついていますが

  • Offを入れないとまれに誤作動を起こす(相方談,要検証)
  • Waitを入れないと動作が終わる前に次の動作に行ってしまう

ため、入れています)

ペンの上げ下げ

ロボット前方のモーターの回転によって制御しました。

プログラミング的には

「RotateMotor」をつかってモーターの回転数で制御しました。

{使い方はRotateMotor(OUT_モーターの接続場所の記号,パワーのパーセント、回転角)}

  • ペンを上げる
    #define up 
    RotateMotor(OUT_C,40,30);
    Off(OUT_C);
    Wait(300);
  • ペンを下げる
    #define down 
    RotateMotor(OUT_C,25,-30);
    Off(OUT_C)
    Wait(300);

横方向の動き

右と左のタイヤを反対に同時に回転させました。

曲線を描きますが、小さな範囲では気にならない程度だと考えました。

  • 左から右に線を引く
    #define yoko(a)
    down;Off(OUT_ABC);
    OnFwd(OUT_B,30);
    OnRev(OUT_A,30);
    Wait(a);
    Off(OUT_AB);
    Wait(300);
  • ペンを左に持ってくる
    #define yokor(d) 
    OnRev(OUT_B,30);
    OnFwd(OUT_A,30);
    Wait(d);
    Off(OUT_AB);
    Wait(300);

縦方向の動き

右と左のタイヤを後ろに回転させました。

問題は中心から外れた縦線ですが、

「里」いう漢字の構造上、まっすぐでなくてもよいと判断しました。

  • 後進
    #define back(b) 
    OnRev(OUT_AB,30);
    Wait(b);
    Off(OUT_AB);
    Wait(300);
  • 前進
    #define go(c) 
    OnFwd(OUT_AB,30);
    Wait(c);
    Off(OUT_AB);
    Wait(300);

書き順

「里」の書き順をそのまま再現しました。

プログラム

定義は前述したものだけです。(因みにyokorのrはreverseのr)

#define up RotateMotor(OUT_C,40,30);Off(OUT_C);Wait(300);
#define down RotateMotor(OUT_C,25,-30);Wait(300);
#define yoko(a) down;Off(OUT_ABC);OnFwd(OUT_B,30);OnRev(OUT_A,30);Wait(a);
                Off(OUT_AB);Wait(300);
#define yokor(d) OnRev(OUT_B,30);OnFwd(OUT_A,30);Wait(d);Off(OUT_AB);Wait(300);
#define back(b) OnRev(OUT_AB,30);Wait(b);Off(OUT_AB);Wait(300);
#define go(c) OnFwd(OUT_AB,30);Wait(c);Off(OUT_AB);Wait(300);
task main()
{
 Off(OUT_ABC)

一画目(左の縦棒 l )

up;
back(100);
OnRev(OUT_B,30);
Wait(250);
Off(OUT_ABC);
down;
back(350);
up;//一画目

二画目(横縦棒  ̄l)

go(350);
yoko(400);
back(500);
up;//二画目

三画目(田の中横棒ー)

go(250);
yokor(300);
yoko(300);
up;//三画目

四画目(田の下横棒ー)

back(250);
yokor(300);
yoko(300);
up;//四画目

五画目(真ん中縦棒l)

yokor(300);
go(500);
down;
back(1000);
up;//五画目

六画目(下の短横棒-)

go(250);
yokor(150);
yoko(300);
up;//六画目

七画目(下の長横棒ー)

back(250);
yokor(250);
yoko(500);
up;//七画目
}

fin

1.JPG

考察

書くたびに文字のゆがむ場所が変わっていた。

前方部分を突貫工事で改善(改悪?)したのが

原因だと思われる。

時間があれば構造を見直してみたい。

また、今回の課題について考えてみと

漢字は直線的な縦と横の動きで書けるが

手元には回転系のモーターが3つあるだけである。

ということは、3つのモーターを、

  • ペンの上下
  • 縦の動き
  • 横の動き にそれぞれ割り当て、

さらに、いかに回転の動きを直線的な動きに変えるか

が今回の課題の肝であったと考える。

となると、今回のようなロボットはあまり適していなかったかもしれない。

感想・

相方との意思の疎通がなかなか図れず、

無駄に時間を消費してしまった。

「報告、連絡、相談」は大事である。

講師のアドバイスでもあるが

キットは交互に持ち帰ったほうがいいと感じた。さもないと惨劇をうむ(かもしれない)。


添付ファイル: file2.JPG 76件 [詳細] file1.JPG 66件 [詳細] fileWIN_20151127_034752.JPG 33件 [詳細] fileWIN_20151127_034622.JPG 33件 [詳細]

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