2008-06-10

NXT機器人像蚊香的旋轉移動方法

在奇摩知識有人問到如何讓機器人以繞蚊香的方式移動,

(或許這又是老師的作業,但是這位同學自己有先用心寫出了程式,況且題目也蠻有趣的,所以可以在這裡做一個討論)

在NXT-G的MOVE指令提供簡單的轉彎方法,

大家只要拉著箭頭彎曲,就可以控制機器人轉彎。

但是大家應該還是要學習如何直接控制機器人轉彎的方法。

最簡單的學習方法是就是用手抓住機器人兩邊的輪子,自己體會輪胎轉動快慢與機器人轉彎的關係。

想讓機器人轉彎就是讓兩邊輪子的馬力不相同,所以調整兩邊輪子的馬力,就可以轉彎。

至於像蚊香的方式就是兩邊輪子的馬力差別漸漸改變,

看看圓弧的彎曲程度,

轉彎時,轉愈小的圈圈,兩邊輪子馬力差別要比較大(彎曲大)。(例如B轉得快100,C轉得慢0)

轉愈大的圈圈,兩邊輪子馬力差別要比較小(彎曲小)。(例如B轉得比較快100,C轉得比較慢90)

兩邊馬達的馬力沒有差別就是走直線(理論上)。

探奇寫了這個RobotC的程式如下,請大家參考。

task main()
{
    int b=0;
    int c=60;

    for ( b=0; b<50; b++)
        {
            motor[motorB] = b;
            motor[motorC] = c;
           wait1Msec(200);
        }
}

這只是一個例子,想寫出類似的功能還有許多方式,這些參數也都可以調整,會有許多不同的結果!

大家也可以試試用NXT-G或是NXC等其他程式語言完成喔!

沒有留言:

張貼留言

探奇歡迎大家留言討論!謝謝分享你的意見。