在奇摩知識有人問到如何讓機器人以繞蚊香的方式移動,
(或許這又是老師的作業,但是這位同學自己有先用心寫出了程式,況且題目也蠻有趣的,所以可以在這裡做一個討論)
在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等其他程式語言完成喔!
沒有留言:
張貼留言
探奇歡迎大家留言討論!謝謝分享你的意見。