陳銳
摘 要 機(jī)器人競賽中,巡線就是讓機(jī)器人沿著給定的線路(一般是白底黑線)行駛的過程。巡線能力是機(jī)器人的基本能力,也是難點(diǎn)之一,如何把這部分內(nèi)容教好?本文以初次參賽的青少年為教學(xué)對象,從基本技能培養(yǎng)、巡線方法講解、實(shí)踐練習(xí)三個(gè)方面對如何做好機(jī)器人巡線任務(wù)教學(xué)的方法進(jìn)行了探究, 重點(diǎn)研究了針對中小學(xué)生特點(diǎn)的教學(xué)流程和訓(xùn)練辦法。提出了在教學(xué)中夯實(shí)學(xué)生的基本技能培訓(xùn)、由淺入深地探究、有針對性地自主練習(xí)是完成巡線教學(xué)任務(wù)的有效方法。
關(guān)鍵詞 機(jī)器人 競賽 巡線 教學(xué) 樂高
中圖分類號:G424文獻(xiàn)標(biāo)識碼:A
在機(jī)器人競賽中,巡線就是讓機(jī)器人沿著給定的線路(一般是白底黑線)行駛的過程。無論在WER還是樂高系列機(jī)器人競賽中,巡線既可以是一項(xiàng)單獨(dú)的競賽內(nèi)容,同時(shí)也是完成其它競賽任務(wù)的基礎(chǔ)。因此,讓參賽的學(xué)生學(xué)會巡線任務(wù)是機(jī)器人競賽培訓(xùn)的一項(xiàng)基礎(chǔ)內(nèi)容。
機(jī)器人實(shí)現(xiàn)巡線的基本原理一般是通過測量機(jī)器人的光傳感器數(shù)值,據(jù)此判斷機(jī)器人與線路的相對位置,再通過一定的算法調(diào)整機(jī)器人左右馬達(dá)的動力,從而實(shí)現(xiàn)讓機(jī)器人沿規(guī)劃線路移動。
機(jī)器人的巡線從原理上來說起來并不復(fù)雜,但完成這項(xiàng)任務(wù)的學(xué)生大多是第一次把軟件與硬件的結(jié)合起來完成任務(wù),第一次從機(jī)器的角度思考問題,要讓他們理解這里面的邏輯原理,學(xué)會用程序自動控制機(jī)器人完成巡線任務(wù)還是有很大的難度。要讓學(xué)生快速準(zhǔn)確地掌握機(jī)器人巡線技術(shù),我認(rèn)為在教學(xué)過程中要做好以下幾點(diǎn):
1夯實(shí)學(xué)生的基本技能
學(xué)生的能力發(fā)展往往是從簡單到復(fù)雜,因此在完成巡線任務(wù)教學(xué)前,要做好學(xué)生基本技能的培訓(xùn)。學(xué)生有了一定的基礎(chǔ),在學(xué)習(xí)巡線任務(wù)時(shí)就會得心應(yīng)手?;炯寄苤饕C(jī)器人小車的搭建、小車轉(zhuǎn)向的原理、傳感器的使用、馬達(dá)的控制、常用編程語句的使用等方面。
其中,最直觀的就是機(jī)器人小車的搭建。在教學(xué)過程中可以從小車搭建過程入手,在機(jī)器人不斷成型過程中,學(xué)生的成就感,興趣會得到逐漸提高。教師要充分利用學(xué)生的興趣,在搭建過程中講解各部分的原理,特別是要著重講解如何利用左右輪的差速來實(shí)現(xiàn)小車的轉(zhuǎn)彎。
程序是機(jī)器人的靈魂,學(xué)生的機(jī)器人小車搭建好后,就可以讓他們學(xué)習(xí)簡單編程語句。首先,可以利用驅(qū)動馬達(dá)語句實(shí)現(xiàn)機(jī)器人小車的移動。然后,讓學(xué)生探究左右電機(jī)輸出不同的功率與轉(zhuǎn)向的關(guān)系。一般先讓學(xué)生實(shí)現(xiàn)左右轉(zhuǎn)向,再練習(xí)180度調(diào)頭和其它精確度數(shù)轉(zhuǎn)向,逐步掌握轉(zhuǎn)向的方法。
基本技能訓(xùn)練里面?zhèn)鞲衅鞯氖褂檬请y點(diǎn),為了破解這個(gè)難點(diǎn),不同的機(jī)器人可以采用不同的教學(xué)方法。這里我們以樂高機(jī)器人為例,設(shè)計(jì)了三個(gè)任務(wù),把傳感器的使用和基本程序模塊調(diào)用結(jié)合在一起進(jìn)行教學(xué)。
第一個(gè)任務(wù)是利用程序控制顯示屏。此任務(wù)的目標(biāo)是讓學(xué)生顯示自己的名字在顯示屏上。
第二個(gè)任務(wù)是讓學(xué)生讀取顏色傳感器的反射值。學(xué)生通過操控顏色傳感器,能夠?qū)W會傳感器與控制器的連接方法,并能體會到顏色傳感器就是機(jī)器人的“眼睛”,要讓它來感知環(huán)境就要靠學(xué)生設(shè)計(jì)的程序。完成了這項(xiàng)任務(wù),學(xué)生在學(xué)會了傳感器的使用同時(shí)還初步掌握了循環(huán)語句的使用。
第三個(gè)任務(wù)則是讀取顏色傳感器看到的顏色,并用文字顯示在顯示屏上。此任務(wù)對顏色傳感器的使用進(jìn)行了更深入的探究,更為重要的是,在這個(gè)任務(wù)里的程序還用到了判斷邏輯,也就是樂高編程里面的切換模塊。
通過這三個(gè)任務(wù),學(xué)生基本能掌握機(jī)器人巡線的基礎(chǔ)技術(shù),當(dāng)教師在進(jìn)行下一步教學(xué)時(shí),學(xué)生能較易理解各種巡線技術(shù)的原理,而不再是照抄網(wǎng)上的或者老師的程序。
2由淺入深地學(xué)習(xí)各種巡線方法
機(jī)器人巡線有多種多樣的方法,但一般都要先要偵測自己的位置,確定和線的關(guān)系,然后驅(qū)動馬達(dá)調(diào)整位置并前進(jìn)。
從使用傳感器數(shù)目上來分類可以分為:單傳感器巡線、雙傳感器巡線以及更多的傳感器巡線。從巡線效果上來說,當(dāng)然是傳感器越多效果越好。但是,一方面中小學(xué)生所參加的競賽活動大部分都限制顏色傳感器數(shù)目;另一方面,傳感器使用得越多,設(shè)備購置費(fèi)用越高,所以參賽時(shí)以3個(gè)以下的顏色傳感器為主。
從巡線所使用的邏輯上來說有兩段式、三段式、斜率式、PID巡線。這幾種巡線邏輯難度是逐步遞增,當(dāng)然巡線效率、機(jī)器人行走的平滑度也是依次提高。
從多次培訓(xùn)的經(jīng)驗(yàn)上看,要想取得良好的培訓(xùn)效果,一定要讓學(xué)生按從單傳感器到多傳感器,從兩段式巡線到其它高級巡線的方式進(jìn)行培訓(xùn)。如果一開始就講最難的巡線方法,學(xué)生往往只能聽得一頭霧水。
在培訓(xùn)中,讓學(xué)生在學(xué)會先利用一個(gè)傳感器讀取反射值,根據(jù)反射值的大與小,來調(diào)節(jié)AB電機(jī)的轉(zhuǎn)動,其偽代碼如下:
While 沒到終點(diǎn) do
Begin
If 傳感器在黑線上? ? ?then
驅(qū)動A電機(jī)離開黑線
Else
運(yùn)動B電機(jī)靠近黑線
End
這樣就可以控制機(jī)器人沿著黑線左搖右擺地前進(jìn),這就是二段式巡線法。雖然機(jī)器人還很慢,但總歸是開始巡線了。
學(xué)生學(xué)會了二段式巡線,在實(shí)踐中就會發(fā)現(xiàn)這種巡線方式很慢,不能通過虛線和一些復(fù)雜的路口。此時(shí)引導(dǎo)學(xué)生探究,引入三段式巡線,即機(jī)器人不僅只能左右擺動,還有直行的機(jī)會。
其偽代碼如下:
Begin
While 沒到終點(diǎn) do
Begin
If 傳感器在黑線上? ? ?then
驅(qū)動A電機(jī)離開黑線
Else
If 傳感器靠近黑線 Then
同時(shí)驅(qū)動AB電機(jī)直行
Else
驅(qū)動B電機(jī)靠近黑線
End
學(xué)會三段式巡線后,應(yīng)逐步增加傳感器,可以提高巡線的精度。傳感器增加后就會形成判斷語句嵌套,因?yàn)閷W(xué)生編程接觸的少,教師要在這里對邏輯進(jìn)行重點(diǎn)講解。
有了前面的基礎(chǔ),對于有能力的學(xué)生還可繼續(xù)研究斜率巡線和PID巡線。
3在實(shí)踐中不斷練習(xí),鍛煉學(xué)生的邏輯思維
學(xué)生學(xué)會了巡線的基礎(chǔ)知識,更重要的是要讓他們多練習(xí)。學(xué)生在實(shí)踐過程中一定會遇到多種多樣的情況,比如各種路線:直線、S彎、大折線、虛線、左路口、右路口、T字路口、十字路口。比如環(huán)境光線的變化、路面摩擦力的改變、機(jī)器人電力的大小等。指導(dǎo)教師一定要讓學(xué)生多發(fā)現(xiàn)問題,先讓其嘗試自行解決,當(dāng)他們實(shí)在沒有辦法時(shí)再給出思路提示。
以上是對競賽機(jī)器人巡線任務(wù)教學(xué)方法一些經(jīng)驗(yàn)總結(jié),巡線任務(wù)是機(jī)器人一項(xiàng)基礎(chǔ)功能,雖然對于初學(xué)者有一定的難度,但只要教師按文中所提的方法施教一定能取得良好的教學(xué)效果。