[[2004/A6/練習問題]]


-------------------------------------------------------------------------------------
/*  &heart;を描くプログラム  */
/*  Aは右足                */
/*  Bは左足                */


task main()
{
    OnFwd(OUT_A);     
    OnFwd(OUT_C);     //   まっすぐ移動
    Wait(x);                 //  まっすぐ x 秒移動

    Off(OUT_A);     
    OnFwd(OUT_C);     //  右に移動
    Wait(y);                 //  右に y 秒移動(180度分)
             //&heart;の中心
    OnFwd(OUT_A);     
    OnRev(OUT_C);      //  左に回転
    Wait(z);                 //  まっすぐ z 秒移動(90度分)

    Off(OUT_A);     
    OnFwd(OUT_C);     //  右に移動
    Wait(y);                 //  右に y 秒移動(180度分)

    OnFwd(OUT_A);     
    OnFwd(OUT_C);     //   まっすぐ移動
    Wait(x);                 //  まっすぐ x 秒移動
                      
    Off(OUT_A+OUT_C); //  A と C 出力のモータを止める
}

-------------------------------------------------------------------------------------
苦労した点:絨毯の上と紙の上だと摩擦が違って同じプログラムでも違う形になってしまう。
なので、今回は数値をx y zにした。決してプログラムをなくしたとかではないのであしからず。
このプログラムの注意点:うまく数値があうと、とてもきれいに書けるので、実際に手でハートを書いてみて、1秒あたりの移動距離と1秒あたりの回転角をはかって(モーターが片方なのとモーターが両方の回転角をはかる)さらに、回転半径もはかる。それをうまく利用することがこのプログラムを使用する上での最優先事項よ&heart;





最終的にできました!http://yakushi.shinshu-u.ac.jp/robotics/?plugin=attach&pcmd=open&file=%A5%CF%A1%BC%A5%C8%A5%DE%A1%BC%A5%AF.jpg&refer=2004%2FA6%2F6%C8%C9%B2%DD%C2%EA1

結果→
&ref(ハートマーク.jpg);

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS