[[2018a/Member/kota]]
*課題の概要 [#ted73f26]
初回の課題は、文字を書くロボットを作成でした。
初回の課題は,文字を書くロボットの作成.

詳しい説明としては,合計10画以上となるような漢字を2文字,作成したロボットで書くという内容.

今回は「山岳」と書かせることにした.

*ロボットの説明 [#he493118]
今回作ったロボットは,土台となる車体にペンを付けただけのシンプルな構造である.アームのリーチを短くすることで余分にロボットが移動してしまうことを避け,小回りの利く車体を創り上げた.

*文字の書き順について [#w0596d24]
文字の書き順は,ロボットが効率よく進めるような順序を探し,ロボット本体の移動をできる限り最小限に留めることを心掛けた.

*ロボットの動作・プログラミングについて [#eb69a538]
今回,プログラミングは一文字一文字微調整しながら文字を書いた.そのため定義する動作が多くなってしまった.うまくまとめる方法を見つけられなかったことが,今回プログラミングをしたうえでの課題だと思った.

**ペンの上げ下げ [#h25c42cd]
#contents
#define down OnFwd(OUT_A,10);Wait(700);Off(OUT_A);   //ペンを下げる
#define up OnRev(OUT_A,10);Wait(700);Off(OUT_A);        //ペンを上げる




*まとめ [#n687e445]
**考察・問題点 [#yf8e1e0a]
今回初めての課題ではロボットはシンプルであるのに対し,前・後ろ・回転など様々な動作を与える必要があったのでプログラミング自体が全体的に複雑になってしまい,思うようにまとめられなかった.微調整をするがゆえに,プログラミングをする中で様々な書き足しをしてしまい,見栄えも悪くなってしまった.

他にも,何度も試行錯誤をしていたので電池の消耗に伴う直進する長さ,回転する角度等を見極めることが難しく,余計に時間がかかってしまうという問題もあった.

**感想 [#k88399e6]
今回は微調節をしなければならない箇所が数多くあり,プログラミングが非常に難しかった.そのため,文字が完全にかけず良くない結果に終わってしまった.また,ロボットについて工夫している点が少なかったので,もっとロボットの作成に時間をかけ,外の班と違った工夫を凝らしたものを考えられたらよかったと思う,
次回の課題では今回とは違う,工夫を凝らしたロボットを創り,プログラミングもうまくまとめられたらいいと思う.


























































#define down OnFwd(OUT_A,10);Wait(700);Off(OUT_A);
#define up OnRev(OUT_A,10);Wait(700);Off(OUT_A);
#define atyokusin OnRev(OUT_BC,50);Wait(400);Off(OUT_BC);   
#define btyokusin OnRev(OUT_BC,50);Wait(450);Off(OUT_BC);
#define ctyokusin OnRev(OUT_BC,50);Wait(600);Off(OUT_BC);
#define dtyokusin OnFwd(OUT_BC,50);Wait(600);Off(OUT_BC);
#define etyokusin OnFwd(OUT_BC,50);Wait(200);Off(OUT_BC);
#define ftyokusin OnRev(OUT_BC,50);Wait(250);Off(OUT_BC); 
#define gtyokusin OnFwd(OUT_BC,50);Wait(600);Off(OUT_BC);
#define htyokusin OnRev(OUT_BC,50);Wait(700);Off(OUT_BC);
#define ityokusin OnFwd(OUT_BC,50);Wait(400);Off(OUT_BC);
#define jtyokusin OnRev(OUT_BC,50);Wait(150);Off(OUT_BC); 
#define ktyokusin OnFwd(OUT_BC,50);Wait(750);Off(OUT_BC);
#define ltyokusin OnRev(OUT_BC,50);Wait(1000);Off(OUT_BC);
#define fkaitenB OnFwd(OUT_B,35);OnRev(OUT_C,35);Wait(400);Off(OUT_BC);
#define fkaitenC OnFwd(OUT_C,35);OnRev(OUT_B,35);Wait(400);Off(OUT_BC);
#define nkaitenB OnFwd(OUT_B,35);OnRev(OUT_C,35);Wait(700);Off(OUT_BC);
#define nkaitenC OnFwd(OUT_C,35);OnRev(OUT_B,35);Wait(800);Off(OUT_BC);
task main()
{   
    down;
    atyokusin;
    up;
    fkaitenB;
    etyokusin;
    fkaitenC;
    down;
    jtyokusin;
    up;
    ktyokusin;
    nkaitenB;
    OnRev(OUT_BC,50);
    Wait(600);
    Off(OUT_BC);
    down;
    atyokusin;
    up;
    ktyokusin;
    nkaitenC;
    btyokusin;
    down;
    jtyokusin;
    up;
    fkaitenC;...
    ftyokusin;
    down;
    atyokusin;
    up;
    ityokusin;
    fkaitenB;
    atyokusin;
    down;
    atyokusin;
    up;
    dtyokusin;
    nkaitenB;
    htyokusin;
    down;
    htyokusin;
    up;
    dtyokusin;
    nkaitenB;
    ctyokusin;
    down;
    ftyokusin;
    up;
    dtyokusin;
    nkaitenB;
    ctyokusin;
    down;
    btyokusin;
    up; 
    ktyokusin;
    nkaitenB;
    ltyokusin;
    down;
    ftyokusin;
    up;
    fkaitenB;
    ityokusin;
    fkaitenC;
    down;
    ftyokusin;
    up;
    gtyokusin;
    nkaitenB;
    OnRev(OUT_BC,50);
    Wait(550);
    Off(OUT_BC);
    down;
    atyokusin;
    up;
    gtyokusin;
    nkaitenC;
    atyokusin;
    down;
    ftyokusin;
    up;
}


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS