能力風(fēng)暴機(jī)器人編程.doc_第1頁(yè)
能力風(fēng)暴機(jī)器人編程.doc_第2頁(yè)
能力風(fēng)暴機(jī)器人編程.doc_第3頁(yè)
能力風(fēng)暴機(jī)器人編程.doc_第4頁(yè)
能力風(fēng)暴機(jī)器人編程.doc_第5頁(yè)
已閱讀5頁(yè),還剩92頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第一節(jié) 圖形化交互式C語(yǔ)言簡(jiǎn)介4.1.1 VJC簡(jiǎn)介圖形化交互式C語(yǔ)言(簡(jiǎn)稱(chēng)VJC)是用于能力風(fēng)暴智能機(jī)器人系列產(chǎn)品的軟件開(kāi)發(fā)系統(tǒng),具有基于流程圖的編程語(yǔ)言和交互式C語(yǔ)言(簡(jiǎn)稱(chēng)JC)。VJC為開(kāi)發(fā)智能機(jī)器人項(xiàng)目、程序與算法、教學(xué)等提供了簡(jiǎn)單而又功能強(qiáng)大的平臺(tái),是全球開(kāi)創(chuàng)性的具有自主知識(shí)產(chǎn)權(quán)的產(chǎn)品。在VJC中,不僅可以用直觀的流程圖編程,也可以用JC語(yǔ)言編寫(xiě)更高級(jí)的機(jī)器人程序。流程圖和JC語(yǔ)言雙劍合壁,既能領(lǐng)讀者輕松入門(mén),又能夠讓讀者在編程中發(fā)揮最大的創(chuàng)造力。VJC操作簡(jiǎn)便,有活潑明快的圖案和簡(jiǎn)短的文字說(shuō)明。讀者可以使用形象化的模塊,由頂向下搭建流程圖,搭建流程圖的同時(shí),動(dòng)態(tài)生成無(wú)語(yǔ)法錯(cuò)誤的JC代碼。流程圖搭建完畢,程序就已經(jīng)編寫(xiě)完成,可以立即下載到機(jī)器人中運(yùn)行。已入門(mén)的讀者可以直接在JC代碼編輯環(huán)境中編寫(xiě)程序,還可以邊寫(xiě)邊試,發(fā)現(xiàn)錯(cuò)誤,校正修改,十分方便。VJC能讓你在豐富多彩的機(jī)器人世界里,邊玩邊學(xué),愉快地掌握許多有用的科技知識(shí)。用常規(guī)的計(jì)算機(jī)編程語(yǔ)言(如C、FORTRAN、JAVA)編程,需要輸入復(fù)雜的程序代碼,并且編寫(xiě)的程序還要符合特定的語(yǔ)法。而流程圖編程不需要記憶計(jì)算機(jī)語(yǔ)言的語(yǔ)法,不需要使用鍵盤(pán)輸入程序代碼,只需要按照“先作什么,后作什么”的設(shè)想,就可以編出程序。VJC正是按這個(gè)思想設(shè)計(jì)的。使用VJC軟件,學(xué)生們不用關(guān)心語(yǔ)言實(shí)現(xiàn)的細(xì)節(jié),同時(shí)也有效避免了語(yǔ)法錯(cuò)誤,有利于集中精力尋求解決問(wèn)題的方法。VJC的流程圖模型由以下幾種基本形狀的模塊及帶有箭頭的方向線組成: VJC的模塊包括:執(zhí)行器模塊(藍(lán)色矩形)、單功能傳感器模塊(紫色平行四邊形)、帶判斷功能的傳感器模塊(紫色菱形)、控制模塊(紅色菱形)和程序模塊(黃色矩形或橢圓形)五種。VJC流程圖支持多任務(wù)程序、子程序調(diào)用、浮點(diǎn)數(shù)和整數(shù)、全局變量、簡(jiǎn)單表達(dá)式、復(fù)合條件判斷以及循環(huán)嵌套等。每一個(gè)模塊都可以完成一定的功能。只要按清晰的思路連接這些模塊,就可以很快地完成一個(gè)程序的編寫(xiě)。一般的程序甚至是復(fù)雜的滅火程序都能夠用流程圖實(shí)現(xiàn)。JC語(yǔ)言交互式C語(yǔ)言(簡(jiǎn)稱(chēng)JC)是用于能力風(fēng)暴智能機(jī)器人的專(zhuān)用開(kāi)發(fā)語(yǔ)言。JC由兩部分組成:編譯環(huán)境和能力風(fēng)暴操作系統(tǒng)ASOS。JC實(shí)現(xiàn)了標(biāo)準(zhǔn)C語(yǔ)言的一個(gè)子集,它包括控制語(yǔ)句(for,while,if else)、局部變量和全局變量、數(shù)組、指針、16位和32位整數(shù)以及32位浮點(diǎn)數(shù)。JC不直接編譯生成針對(duì)特定處理器的機(jī)器代碼,而是先編譯生成基于堆棧虛擬機(jī)的偽代碼。然后這種偽代碼由能力風(fēng)暴操作系統(tǒng)解釋執(zhí)行。JC這種不尋常的編譯方式有以下優(yōu)點(diǎn):1) 解釋執(zhí)行:允許檢查運(yùn)行錯(cuò)誤。例如:JC在運(yùn)行時(shí),數(shù)組下標(biāo)的檢查。2) 代碼更精簡(jiǎn):偽代碼比機(jī)器代碼更簡(jiǎn)短。3) 多任務(wù):由于偽代碼是完全基于堆棧的,進(jìn)程狀態(tài)完全由它的堆棧和程序計(jì)數(shù)器所決定。因此只需要裝載新的堆棧指針和程序計(jì)數(shù)器就可以方便地實(shí)現(xiàn)任務(wù)切換。任務(wù)切換由操作系統(tǒng)處理,而不是編譯器。JC與標(biāo)準(zhǔn)C對(duì)比:JC語(yǔ)言是建立在ANSI C標(biāo)準(zhǔn)上的。但是它們有些重要的區(qū)別。許多區(qū)別是因?yàn)镴C比標(biāo)準(zhǔn)C更“安全”。例如,JC在運(yùn)行時(shí)要檢查數(shù)組下標(biāo),所以數(shù)組不能被變?yōu)橹羔?,也不可以進(jìn)行指針運(yùn)算。另一些區(qū)別是由于JC的運(yùn)行時(shí)間更短更高效。例如,JC的printf函數(shù)就沒(méi)有ANSI C中的許多不常用的格式化選項(xiàng)。系統(tǒng)特點(diǎn)-圖形化編程-完全的圖形化編程方法,簡(jiǎn)單直觀,用鼠標(biāo)就可以進(jìn)行操作機(jī)器人控制程序流程圖,由頂向下搭建,符合國(guó)際標(biāo)準(zhǔn)-圖形模塊-系統(tǒng)圖形模塊包括執(zhí)行器模塊、傳感器模塊、控制模塊、程序模塊、AS多功能擴(kuò)展卡模塊以及通訊模塊支持四則運(yùn)算表達(dá)式支持雙重條件判斷支持多重循環(huán)嵌套支持16個(gè)多任務(wù)程序支持10個(gè)子程序調(diào)用提供10個(gè)常用系統(tǒng)子程序提供傳感器類(lèi)、浮點(diǎn)數(shù)和整數(shù)等共幾十個(gè)全局變量“變量百寶箱”集中管理變量,直觀方便-JC語(yǔ)言-從流程圖自動(dòng)生成正確JC代碼JC語(yǔ)言符合標(biāo)準(zhǔn)C語(yǔ)言語(yǔ)法標(biāo)準(zhǔn)可以直接輸出JC程序文件增強(qiáng)了JC代碼編輯功能,完全支持漢字可同時(shí)打開(kāi)編輯多個(gè)JC程序文件可以從編譯錯(cuò)誤信息窗口跳到出錯(cuò)JC程序文件的錯(cuò)誤語(yǔ)句所在行查找,替換功能,跳轉(zhuǎn)指定行JC語(yǔ)言關(guān)鍵字顏色顯示狀態(tài)欄顯示光標(biāo)位置的行數(shù)和列數(shù)交互運(yùn)行JC語(yǔ)句方式-智能下載-智能選擇串口與機(jī)器人通訊,無(wú)須設(shè)置串口“一鍵”智能下載程序“一鍵”智能下載操作系統(tǒng)ASOS-操作系統(tǒng)ASOS2002-實(shí)時(shí)多任務(wù)機(jī)器人操作系統(tǒng)高性能虛擬機(jī)設(shè)計(jì)運(yùn)行錯(cuò)誤檢測(cè)4.1.2 安裝和運(yùn)行VJC1.6操作系統(tǒng):VJC1.6可運(yùn)行在Windows 95 /98 /ME /NT4 /2000/2003/XP平臺(tái)。硬件要求:任何一臺(tái)可以運(yùn)行以上操作系統(tǒng)的個(gè)人電腦,硬盤(pán)有20M以上的可用空間,最好有一個(gè)空余的串口,以及配套的能力風(fēng)暴智能機(jī)器人,一個(gè)24倍速以上的光驅(qū)。 安裝VJC1.6把VJC1.6開(kāi)發(fā)版安裝光盤(pán)放入電腦光驅(qū)中,VJC1.6就能自動(dòng)安裝到電腦上。如果未能自動(dòng)安裝,請(qǐng)打開(kāi)“我的電腦”,打開(kāi)“光盤(pán)”,運(yùn)行光盤(pán)中安裝程序“VJC1.6Setup.exe”,然后按照安裝向?qū)У奶崾疽徊讲讲僮?,就可以將VJC1.6安裝上了。(1)雙擊光盤(pán)中的(2)出現(xiàn)如下的界面時(shí),點(diǎn)擊(3)出現(xiàn)如下的界面時(shí),點(diǎn)擊(4)在下面界面中選擇安裝路徑,如下圖是默認(rèn)安裝在C盤(pán)根目錄下;(5)點(diǎn)擊,完成安裝;(6)安裝成功之后會(huì)在桌面上出現(xiàn)如下圖標(biāo) ,即可以使用了。 連接串口通信線在許多情況下,如下載程序或調(diào)試程序時(shí),機(jī)器人與計(jì)算機(jī)要用串口通信線連接起來(lái)。連接的方法是:將串口通信線的一端與電腦機(jī)箱后面的9針串口相連,另一端連在機(jī)器人的下載口上??赡芘龅降膯?wèn)題:如果電腦機(jī)箱后面沒(méi)有多余的9針串口,可以先挪用一個(gè)暫時(shí)不用的9針串口。如果電腦機(jī)箱后面根本就沒(méi)有9針串口,可以到電腦配件商店去買(mǎi)一個(gè)USB232轉(zhuǎn)接線,接在串口通信線上,就可以將機(jī)器人與電腦連接了。 軟件的使用雙擊桌面上的VJC1.6圖標(biāo),會(huì)出現(xiàn)以下對(duì)話框:默認(rèn)的選項(xiàng)是“新建流程圖”,單擊確定,即可進(jìn)入流程圖界面。 配置機(jī)器人型號(hào)VJC1.6是能力風(fēng)暴機(jī)器人專(zhuān)用的編程軟件。VJC1.6安裝好之后,需要配置機(jī)器人型號(hào),也就是使編程軟件中機(jī)器人型號(hào)與使用的機(jī)器人型號(hào)相匹配。配置機(jī)器人型號(hào)是編寫(xiě)程序之前必須要做的工作,否則程序就不能正確地下載運(yùn)行。這一點(diǎn)請(qǐng)務(wù)必注意!假設(shè)您用的是AS-UII能力風(fēng)暴機(jī)器人,下面來(lái)說(shuō)說(shuō)為VJC1.6配置型號(hào)的操作方法。其它型號(hào)可以類(lèi)似配置。操作步驟如下:(1)打開(kāi)流程圖界面。雙擊桌面上的VJC1.6圖標(biāo),會(huì)出現(xiàn)以下對(duì)話框:默認(rèn)的選項(xiàng)是“新建流程圖”,單擊確定,即可進(jìn)入流程圖界面,如圖所示:(2)單擊菜單欄中的“工具(T)”選項(xiàng)卡,在下拉菜單中單擊“設(shè)置選項(xiàng)”,隨之會(huì)彈出一個(gè)設(shè)置對(duì)話框。(3)在設(shè)置對(duì)話框中,單擊“機(jī)器人型號(hào)”下的箭頭,會(huì)彈出一串型號(hào),單擊“ASUII”。(4)單擊“確定”按鈕,退出設(shè)置。(5)關(guān)閉窗口,回到桌面,重新打開(kāi)流程圖界面,為機(jī)器人配置的型號(hào)“ASU”就生效了。注:VJC1.6共支持AS-EI、AS-InfoM、AS-InfoX、AS-M、AS-MII、AS-UII六種能力風(fēng)暴智能機(jī)器人。 設(shè)置程序保存路徑設(shè)置對(duì)話框中,還可以設(shè)置保存程序的路徑。VJC1.6將把程序保存在這里設(shè)定的路徑當(dāng)中。將來(lái)您保存的程序也可以到這里來(lái)尋找。編寫(xiě)程序如果編寫(xiě)流程圖程序,則在打開(kāi)VJC1.6窗口時(shí),選擇“新建流程圖程序”(參見(jiàn)圖21),進(jìn)入流程圖編輯界面,就可以編寫(xiě)流程圖了。詳見(jiàn)3.1節(jié)和第5章。如果編寫(xiě)JC代碼程序,則在打開(kāi)VJC1.6窗口時(shí),選擇“新建JC代碼程序”(參見(jiàn)圖21),進(jìn)入JC代碼編輯界面,就可以編寫(xiě)JC代碼程序了。詳見(jiàn)3.2節(jié)和第6章。 下載程序程序編好后,須下載到機(jī)器人中去運(yùn)行。下載當(dāng)前程序可按下述步驟進(jìn)行:1) 連接串口通信線(參見(jiàn)2.3節(jié))。2) 打開(kāi)機(jī)器人電源開(kāi)關(guān)。3) 單擊菜單欄中“工具(T)”按鈕,在彈出的下拉菜單中單擊“下載當(dāng)前程序(D)”,隨后會(huì)彈出“智能下載程序”對(duì)話框,并顯示下載進(jìn)程。4) 此時(shí)注意觀察下載程序是否正常。 5) 當(dāng)對(duì)話框中出現(xiàn)“成功下載 ”字樣后,單擊對(duì)話框上的“關(guān)閉”按鈕即可。成功下載當(dāng)前程序后,拔下串口通信線,按一下機(jī)器人運(yùn)行鍵,即可運(yùn)行該程序。注:下載程序也可以使用工具欄中的“下載”快捷按鈕,下載流程圖程序用,下載JC代碼程序用。下載程序可能碰到的問(wèn)題如下表所示:現(xiàn) 象原 因解決方法下載 程 序 錯(cuò) 誤下載時(shí)沒(méi)有進(jìn)度顯示操作系統(tǒng)崩潰重新下載操作系統(tǒng)機(jī)器人死機(jī)重新復(fù)位或者重新開(kāi)機(jī)下載到一半后提示中斷錯(cuò)誤下載過(guò)程中按下復(fù)位鍵重新下載一次程序無(wú)法下載型號(hào)不匹配配置機(jī)器人型號(hào) 運(yùn)行程序程序下載好之后,拔掉串口通信線,按一下運(yùn)行鍵就可以運(yùn)行了?;蛘呦汝P(guān)機(jī),再開(kāi)機(jī),然后按運(yùn)行鍵。 更新操作系統(tǒng)更新操作系統(tǒng)又叫下載操作系統(tǒng)。能力風(fēng)暴機(jī)器人在出廠時(shí),里面已經(jīng)下載了操作系統(tǒng)ASOS。如果在使用的過(guò)程中,操作系統(tǒng)ASOS不慎丟失或崩潰了,就須更新操作系統(tǒng)。注:操作系統(tǒng)崩潰的最主要的表現(xiàn)就是在機(jī)器人的顯示屏上只顯示兩排黑色的方塊。更新操作系統(tǒng)的方法如下:1)連接串口通信線;2)打開(kāi)機(jī)器人電源開(kāi)關(guān);3)打開(kāi)流程圖界面;4)單擊菜單欄中“工具(T)”選項(xiàng)卡,在彈出的下拉菜單中單擊“更新操作系統(tǒng)(U)”,隨后會(huì)彈出“智能更新操作系統(tǒng)”對(duì)話框。5) 5)按下機(jī)器人“復(fù)位(ASOS)”鍵,此時(shí)在對(duì)話框中會(huì)顯示下載進(jìn)程。同時(shí)機(jī)器人主控制板上的黃色發(fā)光二極管閃動(dòng),表示數(shù)據(jù)正在傳送。6) 6)當(dāng)對(duì)話框中出現(xiàn)“成功下載ASOS,系統(tǒng)更新完成”后,單擊對(duì)話框上的“關(guān)閉”按鈕即可。 自檢運(yùn)行自檢程序可以檢查機(jī)器人各部分功能是否正常。自檢程序中共有9個(gè)程序,每運(yùn)行完一個(gè)程序,需再按一下運(yùn)行鍵,才能運(yùn)行下一個(gè)程序。如果是剛出廠的機(jī)器人,尚未使用過(guò),則打開(kāi)電源開(kāi)關(guān),按下運(yùn)行鍵,就可以運(yùn)行自檢程序了。如果機(jī)器人已經(jīng)使用過(guò)了,通常需要先下載自檢程序,再運(yùn)行。方法如下: 1) 連接串口通信線;2) 打開(kāi)機(jī)器人電源開(kāi)關(guān);3) 打開(kāi)流程圖界面;4) 單擊菜單欄中“工具(T)”按鈕,在彈出的下拉菜單中單擊“機(jī)器人自檢程序(S)”,隨后會(huì)彈出“智能下載程序”對(duì)話框,并顯示下載進(jìn)程;5) 當(dāng)對(duì)話框中出現(xiàn)“成功下載”字樣后,關(guān)閉對(duì)話框;6) 成功下載自檢程序后, 拔下串口通信線,按一下運(yùn)行鍵即可運(yùn)行。4.1.3 VJC1.6界面介紹雙擊桌面上的“能力風(fēng)暴VJC1.6開(kāi)發(fā)版”圖標(biāo),打開(kāi)新建對(duì)話框,這里有兩個(gè)界面供選擇,一個(gè)是流程圖程序編輯界面,另一個(gè)是JC代碼程序編輯界面。您可以根據(jù)自己的需要加以選擇。 流程圖編輯界面選擇“新建流程圖程序”,就進(jìn)入了流程圖編輯界面。它由這樣幾個(gè)部分組成:菜單欄、工具欄、模塊庫(kù) 、垃圾箱、流程圖生成區(qū)、JC代碼顯示區(qū)(單擊“JC代碼”快捷按鈕即可顯示)。 菜單欄菜單欄中包含了各種操作項(xiàng)。文件:“新建”、“打開(kāi)”、“ 保存”、“關(guān)閉”這些都是對(duì)文檔最基本的操作;“輸出JC程序”可以將編好的程序以JC代碼的形式存儲(chǔ)。編輯:在編寫(xiě)復(fù)雜程序的過(guò)程中,經(jīng)常會(huì)用到多個(gè)子程序服務(wù)于一個(gè)主程序,這時(shí)編輯菜單中的“主程序”、“刪除子程序”就為編程帶來(lái)了便利。“編輯JC代碼”可以把流程圖程序的JC代碼轉(zhuǎn)換到JC代碼編輯窗口中進(jìn)行編輯修改。視圖:可以隱藏/顯示VJC1.6界面中的工具條、JC代碼顯示區(qū);“連接指示”則可以在流程圖生成區(qū)各個(gè)模塊的可連接位置顯示/隱藏指示紅點(diǎn),幫助初學(xué)者掌握模塊連接的技巧;可以用“流程圖背景”為流程圖生成區(qū)更換背景;通過(guò)“放大、縮小流程圖”、“全圖縮放”來(lái)調(diào)整流程圖大小。工具:分為“下載當(dāng)前程序”、“下載JC程序文件”、“機(jī)器人自檢程序”、“機(jī)器人表演程序”、“更新操作系統(tǒng)”、“設(shè)置選項(xiàng)”六個(gè)功能項(xiàng)?!跋螺d當(dāng)前程序”指將當(dāng)前流程圖程序下載到機(jī)器人中去;“機(jī)器人自檢程序”提供了檢測(cè)機(jī)器人各部分功能的程序;“更新操作系統(tǒng)”可以恢復(fù)機(jī)器人的操作系統(tǒng)ASOS。圖3-2 流程圖編程界面 工具欄工具欄上有若干快捷按鈕,使用起來(lái)很方便。各快捷按鈕的作用如下圖所示: 模塊庫(kù)區(qū)模塊庫(kù)可以用鼠標(biāo)點(diǎn)擊打開(kāi)。圖33是AS-InfoM機(jī)器人的模塊庫(kù)展開(kāi)圖。如果機(jī)器人型號(hào)不同,模塊庫(kù)會(huì)略有不同。垃圾箱JC代碼顯示區(qū) (a) (b) (c) (d)圖3-3 模塊庫(kù) 流程圖生成區(qū)圖32中最大一個(gè)窗口就是流程圖生成區(qū),模塊庫(kù)區(qū)的模塊可以移入到這個(gè)區(qū)域,連接生成流程圖程序。連接好的模塊會(huì)成為一個(gè)整體,可以一起移動(dòng)。也可以斷開(kāi)模塊之間的連接,刪除或插入模塊。 JC代碼顯示區(qū)VJC1.6可以根據(jù)流程圖程序自動(dòng)生成JC語(yǔ)言的源程序。流程圖編好后,點(diǎn)擊“JC代碼”快捷按鈕,在“JC代碼顯示區(qū)”中就會(huì)顯示與流程圖對(duì)應(yīng)的JC代碼。 垃圾箱在編程的過(guò)程中,可以將不用的模塊移到“垃圾箱”處,在“垃圾箱”上點(diǎn)擊一下,即可刪除此模塊。圖3-4 垃圾箱 JC代碼程序編輯界面在圖31所示對(duì)話框中,選擇“新建JC代碼程序”,就進(jìn)入了JC代碼程序編輯界面(如圖3-5所示)。它由這樣幾個(gè)部分組成的:菜單欄、工具欄、狀態(tài)欄、JC代碼編輯窗口、JC語(yǔ)句交互輸入?yún)^(qū)以及交互信息窗口。圖3-5 JC代碼編輯界面 菜單欄菜單欄中包含了各種操作項(xiàng),如下所述。文件:“新建”、“打開(kāi)”、“ 保存”、”另存為”“關(guān)閉”這些都是對(duì)JC程序文件最基本的操作;編輯:提供了在JC代碼編輯環(huán)境中所需要的命令,包括:撤銷(xiāo)、重復(fù)、剪切、復(fù)制、粘貼、查找、查找下一個(gè)、查找上一個(gè)、替換、轉(zhuǎn)到行。視圖:分為工具欄、狀態(tài)欄、顯示JC代碼、流程圖背景、連接指示、放大流程圖、縮小流程圖、全圖縮放。它們具有隱藏/顯示工具欄、狀態(tài)欄、模塊上的紅點(diǎn)等功能。工具:分為“下載當(dāng)前程序”、“下載JC程序文件”、“機(jī)器人自檢程序”、“機(jī)器人表演程序”、“更新操作系統(tǒng)”五個(gè)功能項(xiàng)?!跋螺d當(dāng)前程序”可將當(dāng)前JC程序下載到機(jī)器人中去;“機(jī)器人自檢程序”提供了檢測(cè)機(jī)器人各部分功能的程序;“更新操作系統(tǒng)”可以恢復(fù) 機(jī)器人的軟件系統(tǒng)ASOS。窗口:分為“流程圖窗口”、“層疊”、“水平平鋪”、“垂直平鋪”、以及打開(kāi)JC程序窗口的選項(xiàng)。. 工具欄工具欄上有若干快捷按鈕,使用起來(lái)很方便。各快捷按鈕的作用如下圖所示: JC代碼編輯窗口在JC代碼編輯窗口中,可以同時(shí)打開(kāi)多個(gè)JC程序進(jìn)行編輯(在菜單欄“窗口”選項(xiàng)卡中選擇“層疊”、“水平平鋪”或“垂直平鋪”選項(xiàng))。支持剪貼板功能,自動(dòng)縮進(jìn),關(guān)鍵字顏色顯示,雙擊選詞。 圖3-6 JC程序編輯窗口 交互信息窗口交互信息窗口可以顯示編譯結(jié)果、機(jī)器人程序中的全局變量、函數(shù)名列表、機(jī)器人正在運(yùn)行的進(jìn)程表、交互輸入語(yǔ)句的執(zhí)行結(jié)果,如圖37所示。JC語(yǔ)句交互輸入?yún)^(qū)結(jié)果輸出區(qū)輸出項(xiàng)目選擇列表 圖3-7 交互信息窗口如果下載的JC程序有語(yǔ)法錯(cuò)誤,在結(jié)果輸出區(qū)會(huì)顯示出來(lái)。用鼠標(biāo)雙擊“編譯結(jié)果”窗口中的編譯錯(cuò)誤,光標(biāo)會(huì)自動(dòng)跳轉(zhuǎn)到出錯(cuò)的JC語(yǔ)句所在行,如圖38所示。圖3-8 編譯結(jié)果信息 兩個(gè)界面之間的切換在流程圖編輯界面中,點(diǎn)擊工具欄上“編輯JC代碼”快捷按鈕,會(huì)切換到JC代碼編輯界面。在JC代碼編輯界面中,點(diǎn)擊工具欄上“流程圖窗口”快捷按鈕,可以切換到流程圖編輯界面。任何時(shí)候,通過(guò)“窗口”菜單可以直接選擇JC代碼編輯界面或者流程圖編輯界面。使用鍵盤(pán)上的“F12” 鍵可以快速地在兩個(gè)界面之間來(lái)回切換。第二節(jié) 快速入門(mén) 走四邊形的機(jī)器人 4.2.1編程思路機(jī)器人走四邊形,就是讓機(jī)器人完成“前進(jìn)轉(zhuǎn)彎前進(jìn)轉(zhuǎn)彎前進(jìn)轉(zhuǎn)彎前進(jìn)轉(zhuǎn)彎”的動(dòng)作,也就是說(shuō)機(jī)器人需要完成四個(gè)“前進(jìn)轉(zhuǎn)彎”動(dòng)作。而要讓機(jī)器人完成一個(gè)“前進(jìn)轉(zhuǎn)彎”,需要啟動(dòng)電機(jī),使機(jī)器人以一定的速度向前運(yùn)行一段路程,然后停下,旋轉(zhuǎn)90,再停下。這樣就走完了四邊形的一邊。要讓機(jī)器人走四個(gè)邊,有一個(gè)簡(jiǎn)便的方法,這就是循環(huán)。上述步驟循環(huán)4次,機(jī)器人就能夠走出一個(gè)四邊形了。4.2.2程序編寫(xiě)1.1.1 流程圖編程進(jìn)入VJC1.6的流程圖編輯界面,編寫(xiě)此程序的步驟如下:用鼠標(biāo)點(diǎn)擊左邊“控制模塊庫(kù)”,從中選擇“多次循環(huán)”模塊。將它拖到流程圖生成區(qū),與“主程序”相連,如圖4-1(a)所示。鼠標(biāo)右鍵點(diǎn)擊此模塊,就會(huì)出現(xiàn)圖4-1(b)所示對(duì)話框,在對(duì)話框中將循環(huán)次數(shù)寫(xiě)為4,這意味著下面的循環(huán)體要重復(fù)執(zhí)行4次。 (a) (b)圖4-1 多次循環(huán)點(diǎn)擊“執(zhí)行器模塊庫(kù)”,從中選擇“直行”模塊(如圖4-2(a)所示),連接在流程圖中。在模塊上右擊鼠標(biāo),打開(kāi)參數(shù)設(shè)置對(duì)話框(圖4-2(b))。在對(duì)話框中可設(shè)置速度和時(shí)間,根據(jù)要求選擇合適的值,機(jī)器人就可以完成走一條邊的任務(wù)。(a) ((b)圖4-2 直行再點(diǎn)擊“執(zhí)行器模塊庫(kù)”,選擇“轉(zhuǎn)向”模塊(如圖4-3(a)所示),連接在流程圖中,在模塊上點(diǎn)擊鼠標(biāo)右鍵打開(kāi)參數(shù)設(shè)置對(duì)話框,在“速度”和“時(shí)間”狀態(tài)欄內(nèi),分別填寫(xiě)適當(dāng)?shù)闹担箼C(jī)器人向右旋轉(zhuǎn)90(圖43(b))。 (a) (b)圖4-3 轉(zhuǎn)向最后,打開(kāi)程序模塊庫(kù),將“結(jié)束”模塊添加上去,放在循環(huán)體外,就完成了走四邊形的流程圖的編寫(xiě)(圖43(a))。程序編寫(xiě)完畢,接下來(lái)就要下載到機(jī)器人里運(yùn)行、調(diào)試了。首先把機(jī)器人和計(jì)算機(jī)用串口通信線連接起來(lái),打開(kāi)機(jī)器人電源開(kāi)關(guān),然后點(diǎn)擊工具欄中的“下載”快捷按鈕,就會(huì)出現(xiàn)一個(gè)“智能下載程序”對(duì)話框,并顯示下載進(jìn)程,待看到“下載成功”等字樣時(shí),說(shuō)明程序已經(jīng)下載到機(jī)器人中。運(yùn)行程序時(shí),拔下串口通信線,將機(jī)器人帶到開(kāi)闊平坦的地方,按下機(jī)器人身上的“運(yùn)行”鍵,機(jī)器人就開(kāi)始走四邊形了。也許你會(huì)發(fā)現(xiàn)機(jī)器人走的不很規(guī)則,轉(zhuǎn)彎的角度不正確,那么就需要修改“直行”和“轉(zhuǎn)向”模塊中的參數(shù),對(duì)機(jī)器人進(jìn)行反復(fù)調(diào)試,最后他一定能走個(gè)漂亮的四邊形!1.1.2 JC代碼編程接下來(lái)讓我們看看JC代碼編程的相關(guān)知識(shí)。在流程圖編輯界面中,點(diǎn)擊菜單欄中的“文件”選項(xiàng)卡,在下拉菜單中選擇“新建”,這時(shí)就會(huì)出現(xiàn)一個(gè)可供選擇的對(duì)話框,請(qǐng)選擇“JC代碼程序”,確定,就進(jìn)入了JC代碼的編輯界面,在編輯窗口中鍵入:void main()int i;for(i=0 ; i4 ; i+)drive( 80 , 0 );wait( 0.500000 );stop();drive( 0 , 80 );wait( 0.100000 );stop();這就是走四邊形的JC代碼程序,與前面的流程圖是一致的。下面我們就來(lái)看看該程序中JC代碼的含義。1) main是系統(tǒng)定義的一個(gè)函數(shù),每一個(gè)JC程序總是從main函數(shù)開(kāi)始執(zhí)行的;所以第一句就可以理解為一個(gè)程序的“開(kāi)頭”;main函數(shù)的開(kāi)始和結(jié)尾分別有個(gè)“”和“”;2) void可以理解為“不帶返回值”; 3) 程序中每一句結(jié)尾都要加“;”這是C語(yǔ)言語(yǔ)法規(guī)定!4) for(i=0 ; i4 ; i+) 循環(huán)體 這是一個(gè)循環(huán)語(yǔ)句,4是循環(huán)次數(shù),只要循環(huán)次數(shù)沒(méi)有達(dá)到4次就執(zhí)行中的語(yǔ)句(稱(chēng)為循環(huán)體),執(zhí)行完4次循環(huán)體之后,就去執(zhí)行后面的語(yǔ)句。在這個(gè)例子中,我們是要機(jī)器人走一個(gè)四邊形,因此執(zhí)行完4次就可以結(jié)束了。5) drive( 80 , 0 );drive(a , b)是讓機(jī)器人移動(dòng)的庫(kù)函數(shù),可以決定左右電機(jī)的速度,左電機(jī)速度=a+b,右電機(jī)速度=a-b。本句的意思是讓機(jī)器人以80的速度向前直行;wait( 0.500000 );wait(t)是讓機(jī)器人延續(xù)時(shí)間的庫(kù)函數(shù),與上句結(jié)合起來(lái)可以理解為讓機(jī)器人向前走0.5秒;stop();這是讓機(jī)器人停止的庫(kù)函數(shù),上面三句意為讓機(jī)器人以80的速度向前走0.5秒然后停下來(lái);庫(kù)函數(shù)drive(a , b)和wait(t)中的參數(shù)a、b和t可以由你根據(jù)編程的需要自行設(shè)定。6) drive( 0 , 80 );本句的意思是讓機(jī)器人右轉(zhuǎn),您可以計(jì)算驗(yàn)證一下;理解了嗎?如果你還有什么疑問(wèn),可以參看本書(shū)的第6章,相信你一定能很快掌握J(rèn)C語(yǔ)言!接下來(lái)就要把JC代碼程序下載到機(jī)器人里運(yùn)行、調(diào)試了,點(diǎn)擊工具欄中的“下載”快捷按鈕,會(huì)出現(xiàn)一個(gè)“智能下載程序”對(duì)話框,并顯示下載進(jìn)程,待看到“下載成功”等字樣,就可以讓機(jī)器人運(yùn)行這個(gè)程序了。 程序的下載及運(yùn)行下載程序須按照下述方法:用串口通信線一端接機(jī)器人的下載口,另一端接計(jì)算機(jī)機(jī)箱后面的一個(gè)九針串口,打開(kāi)機(jī)器人電源開(kāi)關(guān),單擊菜單欄中“工具(T)”選項(xiàng)卡,在彈出的下拉菜單中單擊“ 下載當(dāng)前程序(D)”,就可以下載程序了。注:下載程序也可以使用工具欄上的“下載”快捷按鈕(下載流程圖)或(下載JC代碼程序)。圖4-5 下載對(duì)話框按照上述步驟操作后,會(huì)出現(xiàn)一個(gè)智能下載程序?qū)υ捒?,并顯示下載進(jìn)程,等出現(xiàn)“下載成功!”字樣時(shí),程序已經(jīng)下載到機(jī)器人中了。關(guān)閉對(duì)話框,拔下串口通信線,按下機(jī)器人身上的“運(yùn)行”按鈕,機(jī)器人就會(huì)運(yùn)行所下載的程序。 調(diào)試程序程序下載運(yùn)行時(shí),注意檢查機(jī)器人運(yùn)行狀態(tài)是否符合要求,比如前進(jìn)的距離、轉(zhuǎn)向的角度是否恰當(dāng)。如不合要求,就需要調(diào)整參數(shù),甚至修改程序,再下載運(yùn)行,直到滿意為止。第三節(jié) 流程圖編程方法4.3.1模塊的基本操作模塊是編程的基本單元,對(duì)模塊的操作也是經(jīng)常要用到的。因此本章對(duì)模塊的基本操作進(jìn)行詳細(xì)介紹。 模塊的新增、連接和插入1.模塊的新增、連接和插入從模塊庫(kù)內(nèi)選擇一個(gè)模塊的圖標(biāo),把它移入流程圖生成區(qū),你的程序就新增了一個(gè)模塊。要使這個(gè)模塊在程序中變?yōu)橛行?,就需要將此模塊連接到程序主體上。要在程序的末端新增一個(gè)模塊,先在模塊庫(kù)中點(diǎn)擊需要增加的模塊,模塊就可隨光標(biāo)移動(dòng)了,將新增模塊拖到流程圖生成區(qū)中,放在程序末端,光標(biāo)的頂點(diǎn)放在上方模塊的紅點(diǎn)處,單擊鼠標(biāo),新增模塊就與程序主體連接上了。(注:單擊菜單欄中的“視圖”選項(xiàng)卡,在下拉菜單中選擇“連接指示”選項(xiàng),可以顯示/隱藏模塊上的紅點(diǎn))模塊連接上之后,會(huì)出現(xiàn)以下標(biāo)志:a) 模塊之間有箭頭連接起來(lái);b) 上方模塊的“紅點(diǎn)”消失;c) JC代碼顯示區(qū)自動(dòng)生成與新增模塊對(duì)應(yīng)的JC代碼。在某個(gè)模塊后面插入一個(gè)新增模塊時(shí),先把這個(gè)模塊后面的部分移開(kāi),把新的模塊連接在這個(gè)模塊后面,再把前邊移開(kāi)的部分連接在新模塊的后面。 模塊的移動(dòng)調(diào)整模塊的前后順序。以要操作的第一個(gè)模塊為界,把原流程圖分成兩個(gè)部分,把兩個(gè)操作模塊都移開(kāi),再以與原來(lái)相反的順序把它們插入即可.將模塊從一個(gè)任務(wù)移動(dòng)到另外一個(gè)任務(wù)。把要插入的模塊從原任務(wù)中移出來(lái),然后插入到目標(biāo)任務(wù)中去。 模塊的復(fù)制無(wú)法直接復(fù)制一段流程圖程序,如果某一段流程圖程序重復(fù)使用次數(shù)很多,建議將它編成子程序,就可以在主程序中很方便地調(diào)用。 模塊的刪除流程圖生成區(qū)中的模塊均可以刪除( “主程序”、“子程序”模塊除外),刪除的方法為:將要?jiǎng)h除的部分從程序主體中“拿起”,再將其拖到垃圾箱處,鼠標(biāo)在垃圾箱上點(diǎn)擊一下,此部分就會(huì)自動(dòng)消失。另:從模塊庫(kù)中取出的模塊在沒(méi)有“放下”之前,可以通過(guò)點(diǎn)擊鼠標(biāo)右鍵取消。4.3.2模塊的功能和使用VJC的模塊分八類(lèi):執(zhí)行器模塊庫(kù)、傳感器模塊庫(kù)、控制模塊庫(kù)、程序模塊庫(kù)、AS多功能擴(kuò)展卡、伺服電機(jī)驅(qū)動(dòng)卡、伺服電機(jī)驅(qū)動(dòng)卡(A) 及通訊模塊。不同型號(hào)的機(jī)器人能用的模塊略有不同,下面分別對(duì)各模塊庫(kù)加以介紹。(通訊模塊和伺服電機(jī)驅(qū)動(dòng)模塊在此不做介紹) 執(zhí)行器模塊庫(kù)執(zhí)行器模塊和機(jī)器人的動(dòng)作有關(guān),其中包括:直行、轉(zhuǎn)向、啟動(dòng)電機(jī)、停止電機(jī)、延時(shí)等待、發(fā)音、顯示、計(jì)算、設(shè)置眼睛以及自定義模塊等。AS-EI型號(hào)的機(jī)器人,執(zhí)行器模塊不包含直行、轉(zhuǎn)向模塊,但增加了馬達(dá)啟動(dòng)、馬達(dá)停止模塊,啟動(dòng)電機(jī)以及停止電機(jī)模塊也與其它型號(hào)機(jī)器人有所不同,這些模塊該如何使用呢? 直行圖標(biāo)模塊對(duì)話框 功能:“直行”模塊主要用于控制機(jī)器人前進(jìn)、后退。 操作:將“直行”模塊移到流程圖生成區(qū),并連接在程序中的相應(yīng)位置。設(shè)置參數(shù)時(shí),右擊“直行”模塊,在彈出的對(duì)話框中輸入速度與時(shí)間。 設(shè)置參數(shù)說(shuō)明:速度:有兩種方式進(jìn)行設(shè)置??稍趯?duì)話框中直接輸入速度值,也可以用鼠標(biāo)拖動(dòng)速度標(biāo)尺上的游標(biāo)來(lái)設(shè)置速度。當(dāng)輸入值為正時(shí),機(jī)器人前進(jìn);輸入值為0時(shí),機(jī)器人停止;輸入值為負(fù)時(shí),機(jī)器人后退。輸入值的絕對(duì)值越大,機(jī)器人移動(dòng)速度就越快。這里設(shè)置的速度為一個(gè)占空比,因此沒(méi)有單位。注意:模塊的名稱(chēng)會(huì)隨著不同的速度而變化,分別為“前進(jìn)”、“后退”、“停止”。時(shí)間:在對(duì)話框中輸入機(jī)器人移動(dòng)的時(shí)間,單位為秒;你也可以選中“隨機(jī)時(shí)間”,它可產(chǎn)生小于輸入值的隨機(jī)時(shí)間。 轉(zhuǎn)向圖標(biāo)模塊對(duì)話框 功能:“轉(zhuǎn)向”模塊主要用于控制機(jī)器人轉(zhuǎn)向。 操作:將“轉(zhuǎn)向”模塊移到流程圖生成區(qū),并連接在程序中的相應(yīng)位置。設(shè)置時(shí),右擊“轉(zhuǎn)向”模塊,在彈出的對(duì)話框中輸入速度和時(shí)間。 設(shè)置參數(shù)說(shuō)明:速度:可用兩種方式進(jìn)行設(shè)置??稍趯?duì)話框中直接輸入速度值;也可以拖動(dòng)速度標(biāo)尺上的游標(biāo)進(jìn)行設(shè)置。當(dāng)輸入值為正時(shí),機(jī)器人右轉(zhuǎn);值為0時(shí),機(jī)器人停止;值為負(fù)時(shí),機(jī)器人左轉(zhuǎn);輸入值的絕對(duì)值越大,機(jī)器人轉(zhuǎn)動(dòng)速度就越快。 注意:模塊的名稱(chēng)會(huì)隨著不同的速度而變化,如果設(shè)置右轉(zhuǎn)速度,模塊名稱(chēng)為“右轉(zhuǎn)”;如果設(shè)置左轉(zhuǎn)速度,模塊名稱(chēng)為“左轉(zhuǎn)”;如果設(shè)置速度為0,模塊名稱(chēng)為“停止”。時(shí)間:在時(shí)間輸入對(duì)話框中輸入機(jī)器人轉(zhuǎn)向的時(shí)間,單位為秒;你也可以選中“隨機(jī)時(shí)間”,它可產(chǎn)生小于輸入值的隨機(jī)時(shí)間。在機(jī)器人沒(méi)有安裝特定的角度傳感器之前,機(jī)器人的轉(zhuǎn)角是由速度和時(shí)間兩個(gè)參數(shù)共同決定的。 啟動(dòng)、停止電機(jī)圖標(biāo)模塊對(duì)話框 功能:“啟動(dòng)電機(jī)”模塊主要用于控制機(jī)器人的左右電機(jī)功率。此模塊可實(shí)現(xiàn)左右兩只主動(dòng)輪按不同速度、不同方向行走,如直行、旋轉(zhuǎn)、走弧線等。 “停止電機(jī)”模塊主要用于停止驅(qū)動(dòng)電機(jī)和擴(kuò)展電機(jī)。 操作:用鼠標(biāo)將“啟動(dòng)電機(jī)”模塊移到流程圖生成區(qū),并連接在程序中的相應(yīng)位置。設(shè)置時(shí),右擊“啟動(dòng)電機(jī)”模塊,在彈出的對(duì)話框中輸入左/右電機(jī)功率。 設(shè)置參數(shù)說(shuō)明:左/右電機(jī)功率設(shè)置:可用兩種方式進(jìn)行設(shè)置:直接輸入左/右電機(jī)功率值,或拖動(dòng)游標(biāo)進(jìn)行設(shè)置。擴(kuò)展電機(jī)設(shè)置:擴(kuò)展電機(jī)的速度是固定的,速度值為100。如果要改變擴(kuò)展電機(jī)的轉(zhuǎn)向,需將擴(kuò)展電機(jī)的接線端子拔下來(lái),調(diào)個(gè)方向。 延時(shí)等待圖標(biāo)模塊對(duì)話框 功能:“延時(shí)等待”模塊主要是讓機(jī)器人的前一個(gè)狀態(tài)保持一段時(shí)間。 操作:用鼠標(biāo)將“延時(shí)等待”模塊移到流程圖生成區(qū),并連接在程序中的相應(yīng)位置。設(shè)置時(shí),右擊“延時(shí)等待”模塊,在彈出的對(duì)話框中輸入時(shí)間參數(shù),以“秒”為時(shí)間單位。 設(shè)置參數(shù)說(shuō)明:時(shí)間:在對(duì)話框中輸入機(jī)器人延時(shí)的時(shí)間,單位為秒;你也可以選中“隨機(jī)時(shí)間”, 它可產(chǎn)生小于輸入值的隨機(jī)時(shí)間。 發(fā)音圖標(biāo)模塊對(duì)話框 功能:“發(fā)音”模塊主要用于讓機(jī)器人發(fā)音,唱一個(gè)音符。 操作:用鼠標(biāo)將“發(fā)音”模塊移到流程圖生成區(qū),并連接在程序中的相應(yīng)位置。設(shè)置時(shí),右擊“發(fā)音”模塊,在彈出的對(duì)話框中可選擇簡(jiǎn)譜的節(jié)拍(如二分之一音符)及音階(如1、2、3),也可直接輸入時(shí)間與音頻參數(shù)。 設(shè)置參數(shù)說(shuō)明: 時(shí)間:在對(duì)話框中輸入機(jī)器人發(fā)音的持續(xù)時(shí)間,單位為秒。二分之一音符代表發(fā)音0.5秒,四分之一音符代表發(fā)音0.25秒,其余以此類(lèi)推。發(fā)音頻率設(shè)置:這是機(jī)器人發(fā)音的音階,單位為赫茲。1、2、3等,代表用簡(jiǎn)譜音階。休止符,表示不發(fā)聲,需指定時(shí)間間隔。自定義,用于在音頻輸入對(duì)話框直接輸入發(fā)音的頻率, 顯示圖標(biāo)模塊對(duì)話框 功能:在機(jī)器人LCD液晶顯示屏上顯示信息。 操作:用鼠標(biāo)將“顯示”模塊移到流程圖生成區(qū),并連接在程序中的相應(yīng)位置。設(shè)置時(shí),右擊“顯示”模塊,在彈出的對(duì)話框中輸入顯示信息。注意:機(jī)器人的LCD不能顯示中文 設(shè)置參數(shù)說(shuō)明:顯示信息設(shè)置:直接在顯示信息輸入對(duì)話框中輸入英文、數(shù)字等信息??梢燥@示兩行信息,每行最多顯示16個(gè)字符。如果選擇了“引用變量”,會(huì)彈出一個(gè)如下圖的變量百寶箱,可以選擇要顯示的數(shù)據(jù)。 計(jì)算圖標(biāo)模塊對(duì)話框 功能:可用于加減乘除計(jì)算,或?qū)ψ兞窟M(jìn)行賦值。 操作:用鼠標(biāo)將“計(jì)算”模塊移到流程圖生成區(qū)并連接在程序中的相應(yīng)位置。設(shè)置時(shí),右擊“計(jì)算”模塊,在彈出的對(duì)話框中輸入計(jì)算表達(dá)式。 設(shè)置參數(shù)說(shuō)明:計(jì)算結(jié)果賦值設(shè)置:點(diǎn)擊整型變量按鈕,彈出“變量百寶箱”對(duì)話框,在變量百寶箱對(duì)話框中選擇變量,用來(lái)存放計(jì)算的結(jié)果。運(yùn)算符號(hào)設(shè)置:在下拉列表框中選擇運(yùn)算符號(hào)。計(jì)算數(shù)設(shè)置:在輸入框中輸入整數(shù)或小數(shù),也可以引用變量。 自定義模塊圖標(biāo)模塊對(duì)話框(1)功能:提供用戶自定義功能,利用該模塊直接用JC代碼進(jìn)行編寫(xiě)程序。(2)操作:用鼠標(biāo)將“自定義”模塊移到流程圖生成區(qū)并連接在程序中的相應(yīng)位置。設(shè)置時(shí),右擊“自定義”模塊,在彈出的對(duì)話框中編寫(xiě)JC代碼。(3)設(shè)置參數(shù)說(shuō)明:在文本框中編寫(xiě)所需JC代碼。注意:編寫(xiě)JC代碼時(shí)應(yīng)確保語(yǔ)法無(wú)誤,否則流程圖文件無(wú)法下載。下面介紹一下AS-EI機(jī)器人執(zhí)行器模塊中的電機(jī)啟動(dòng)、電機(jī)停止、馬達(dá)啟動(dòng)、馬達(dá)停止模塊。電機(jī)啟動(dòng)圖標(biāo) 模塊 對(duì)話框 1) 功能:“電機(jī)啟動(dòng)”模塊主要用于控制EI控制器調(diào)速電機(jī)1和調(diào)速電機(jī)2,分別控制電機(jī)運(yùn)轉(zhuǎn)的快慢和方向。 2) 操作:用鼠標(biāo)將“啟動(dòng)電機(jī)”模塊移到流程圖生成區(qū),并連接在程序中。此時(shí)系統(tǒng)默認(rèn)啟動(dòng)電機(jī)1,速度100,方向正轉(zhuǎn)。右擊“電機(jī)啟動(dòng)”模塊,在彈出的對(duì)話框中輸入電機(jī)功率參數(shù),可以控制調(diào)速電機(jī)1和調(diào)速電機(jī)2,按不同速度、不同方向運(yùn)轉(zhuǎn)。3) 設(shè)置參數(shù)說(shuō)明:調(diào)速電機(jī)1/2設(shè)置:可用兩種方式進(jìn)行設(shè)置。可在對(duì)話框中直接輸入調(diào)速電機(jī)1/2功率值;也可通過(guò)游標(biāo)設(shè)置,用鼠標(biāo)拖動(dòng)游標(biāo)到要求設(shè)置的速度值。注意,電機(jī)啟動(dòng)模塊默認(rèn)情況下啟動(dòng)電機(jī)1,調(diào)速電機(jī)前的多選框能選擇電機(jī)1、電機(jī)2或同時(shí)選擇電機(jī)1、電機(jī)2。機(jī)型AS_UII AS_M AS_MII AS_INFOMAS_INFOXAS-EI是否適用否否否否否是電機(jī)停止圖標(biāo) 模塊 對(duì)話框 1) 功能:“電機(jī)停止”模塊主要用于停止EI控制器可調(diào)速電機(jī)。 2) 操作:將“電機(jī)停止”模塊移到流程圖生成區(qū),并連接在程序中。右擊“電機(jī)停止”模塊,在彈出的對(duì)話框中選擇要停止的電機(jī)。機(jī)型AS_UII AS_M AS_MII AS_INFOMAS_INFOXAS-EI是否適用否否否否否是馬達(dá)啟動(dòng)圖標(biāo) 模塊 對(duì)話框 1) 功能:“馬達(dá)啟動(dòng)”模塊控制EI控制器上四個(gè)馬達(dá)的正轉(zhuǎn)、反轉(zhuǎn)。2) 操作:“馬達(dá)啟動(dòng)”模塊移到流程圖生成區(qū),并連接在程序中。右擊“馬達(dá)啟動(dòng)”模塊,在彈出的對(duì)話框中選擇要啟動(dòng)馬達(dá)和轉(zhuǎn)動(dòng)的方向。機(jī)型AS_UII AS_M AS_MII AS_INFOMAS_INFOXAS-EI是否適用否否否否否是馬達(dá)停止圖標(biāo) 模塊 對(duì)話框 1) 功能:“馬達(dá)停止”模塊主要用于停止EI控制器不可調(diào)速電機(jī)。 2) 操作:將“馬達(dá)停止”模塊移到流程圖生成區(qū),并連接在程序中。右擊“馬達(dá)停止”模塊,在彈出的對(duì)話框中選擇要停止的電機(jī)。注意:“馬達(dá)停止”缺省設(shè)置為馬達(dá)1停止。機(jī)型AS_UII AS_M AS_MII AS_INFOMAS_INFOXAS-EI是否適用否否否否否是 傳感器模塊庫(kù)傳感器模塊包括兩類(lèi):一類(lèi)模塊具有傳感器模塊的基本功能,即讀取傳感器檢測(cè)值,稱(chēng)為單功能模塊;另一類(lèi)模塊具有讀取傳感器檢測(cè)值和進(jìn)行條件判斷兩種功能,稱(chēng)為帶判斷功能模塊。帶判斷功能模塊可以根據(jù)傳感器檢測(cè)到的數(shù)值,進(jìn)行條件判斷,其作用相當(dāng)于單功能模塊與條件判斷模塊的結(jié)合。1) 單功能模塊與帶判斷功能模塊概述單功能模塊右圖所示,形狀為紫色平行四邊形。該類(lèi)模塊的功能是檢測(cè)傳感器數(shù)值,其功能簡(jiǎn)單,只需要設(shè)置一個(gè)參數(shù),即獲取傳感器檢測(cè)數(shù)值的變量。設(shè)置方法如下(以“碰撞檢測(cè)”模塊為例): 用鼠標(biāo)右鍵單擊傳感器模塊,彈出下圖所示對(duì)話框 左鍵單擊“碰撞變量一”按鈕,彈出“變量百寶箱”對(duì)話框: 在變量百寶箱中,單擊所需要的變量,即可選中該變量(三個(gè)變量任選)。注:只有當(dāng)該變量旁出現(xiàn)一把鑰匙時(shí)選擇才是有效的除此之外,大多數(shù)單功能模塊不需進(jìn)行其它設(shè)置,亮度檢測(cè)、轉(zhuǎn)角檢測(cè)模塊例外,下文將會(huì)詳述。帶判斷功能模塊如右圖所示,形狀為紫色菱形。這類(lèi)模塊除了設(shè)置變量外,還可設(shè)置一定的判斷條件。2) 兩類(lèi)模塊之間的功能切換當(dāng)傳感器模塊從模塊庫(kù)移動(dòng)到流程圖生成區(qū)時(shí),是單功能模塊,即只具有傳感器數(shù)值檢測(cè)功能,我們想要獲得帶判斷功能的傳感器模塊,必須進(jìn)行功能切換。切換的步驟如下 在單功能模塊上單擊鼠標(biāo)右鍵,彈出下圖所示對(duì)話框: 左鍵單擊“檢測(cè)完成后,進(jìn)行條件判斷”按鈕,出現(xiàn)以下對(duì)話框: 設(shè)置條件判斷表達(dá)式(如“碰撞變量一 = 前”之類(lèi))。設(shè)置完成后單擊“確定”,則帶判斷功能的傳感器模塊就生成了。模塊形狀相應(yīng)也發(fā)生變化,如下圖所示:注意,以上為不可逆過(guò)程,帶判斷功能的傳感器模塊不能切換成單功能模塊。下面將對(duì)VJC1.6傳感器模塊庫(kù)進(jìn)行詳細(xì)說(shuō)明。 紅外測(cè)障圖標(biāo)模塊參數(shù)設(shè)置對(duì)話框 功能:紅外傳感器包括兩個(gè)紅外發(fā)射傳感器和一個(gè)紅外接收模塊,能夠檢測(cè)到機(jī)器人左前/右前/正前方是否有障礙物。 操作:將“紅外測(cè)障”模塊移到流程圖生成區(qū),并連接在程序中的相應(yīng)位置。設(shè)置時(shí),右擊“紅外測(cè)障”模塊,在彈出的對(duì)話框中設(shè)置相應(yīng)的參數(shù)。 設(shè)置參數(shù)說(shuō)明: 單功能模塊紅外變量一:存儲(chǔ)紅外傳感器檢測(cè)值的變量。若要更換存儲(chǔ)變量,左鍵單擊該變量,可在彈出的變量百寶箱中選擇其它變量名稱(chēng)。 帶判斷功能的模塊紅外變量一:功能同上。 條件判斷表達(dá)式例:“紅外變量一 = 左”代表如果檢測(cè)到障礙在左邊,條件判斷成功,執(zhí)行“是”一側(cè)連接的模塊;其他任何情況下,條件判斷失敗,執(zhí)行“否”一側(cè)連接的模塊。注:“=”和“!=”的含義為“有”和“沒(méi)有”或者“在”和“不在” 碰撞檢測(cè)圖標(biāo)模塊對(duì)話框功能:用于檢測(cè)機(jī)器人是否碰到障礙物,它能判斷左/右/前/后/左前/左后/右前/右后等方向。 操作:將“碰撞檢測(cè)”模塊移到流程圖生成區(qū),并連接在程序中的相應(yīng)位置。設(shè)置時(shí),右擊“碰撞檢測(cè)”模塊,在彈出的對(duì)話框中設(shè)置相應(yīng)的參數(shù)設(shè)置參數(shù)說(shuō)明: 單功能模塊“碰撞變量一”按鈕:存儲(chǔ)碰撞傳感器檢測(cè)值的變量。若要更換存儲(chǔ)變量,鼠標(biāo)左鍵單擊該按鈕,在彈出的變量百寶箱中可選擇其它變量。 帶判斷功能模塊“碰撞變量一”按鈕:功能同上 條件判斷表達(dá)式例:“碰撞變量三 = 左”代表如果檢測(cè)到左邊發(fā)生碰撞,條件判斷成功,執(zhí)行“是”一側(cè)連接的模塊;否則條件判斷失敗,執(zhí)行“否”一側(cè)連接的模塊。 亮度檢測(cè)圖標(biāo)模塊對(duì)話框功能:用于檢測(cè)環(huán)境的光線明暗,傳感器的返回值為0255,值越大,說(shuō)明光線越暗。操作:將“亮度檢測(cè)”模塊移到流程圖生成區(qū),并連接在程序的相應(yīng)位置。設(shè)置時(shí),右擊“亮度檢測(cè)”模塊,在彈出的對(duì)話框中設(shè)置相應(yīng)的參數(shù) 設(shè)置參數(shù)說(shuō)明: 單功能模塊“方式”單選按鈕,如下表所示:平均檢測(cè)左右兩個(gè)光敏,再取平均值左檢測(cè)左側(cè)光敏右檢測(cè)右側(cè)光敏偏差左亮度檢測(cè)值與右亮度檢測(cè)值的差值“亮度變量一”按鈕:存儲(chǔ)光敏傳感器檢測(cè)值的變量。若要更換存儲(chǔ)變量,可點(diǎn)擊它,在彈出的變量百寶箱中選擇其它變量。 帶判斷功能的模塊“方式”單選按鈕:功能同上“亮度變量一”按鈕:功能同上條件比較關(guān)系:設(shè)置左邊的亮度變量與右邊的參數(shù)如何進(jìn)行比較。例: “平均 200”代表地面檢測(cè)值大于200,即地面灰度比200灰度更暗的時(shí)候,條件判斷成功,執(zhí)行“是”一側(cè)連接的模塊;否則條件判斷失敗,執(zhí)行“否”一側(cè)連接的模塊。 聲音檢測(cè)圖標(biāo)模塊對(duì)話框 功能:用于檢測(cè)聲音的大小,反饋的檢測(cè)值為0255之間的整數(shù),值越大,聲音越響,值越小,聲音越弱。 操作:將“聲音檢測(cè)”模塊移到流程圖生成區(qū),并連接在程序的相應(yīng)位置。設(shè)置時(shí),鼠標(biāo)右鍵單擊“聲音檢測(cè)”模塊,在彈出的對(duì)話框中設(shè)置相應(yīng)的參數(shù)。 設(shè)置參數(shù)說(shuō)明: 單功能模塊聲音變量一:存儲(chǔ)聲音傳感器檢測(cè)值的變量。若要更換存儲(chǔ)變量,鼠標(biāo)左鍵單擊該按鈕,可選擇其它變量。 帶判斷功能的模塊 聲音變量一:功能同上 條件比較關(guān)系:設(shè)置左邊的聲音變量與右邊的參數(shù)如何進(jìn)行比較。例: “聲音變量一 50”代表聲音檢測(cè)值大于50,即檢測(cè)到的聲音比50更響(需要持續(xù)對(duì)機(jī)器人說(shuō)話)的時(shí)候,條件判斷成功,執(zhí)行“是”一側(cè)連接的模塊;否則條件判斷失敗,執(zhí)行“否”一側(cè)連接的模塊。 系統(tǒng)時(shí)間圖標(biāo)模塊對(duì)話框 功能:“時(shí)間”模塊主要用于檢測(cè)機(jī)器人運(yùn)行的時(shí)間。程序開(kāi)始運(yùn)行,則計(jì)時(shí)開(kāi)始。下載程序和按下復(fù)位鍵都會(huì)使時(shí)間恢復(fù)從零開(kāi)始。 操作:將“系統(tǒng)時(shí)間”模塊移到流程圖生成區(qū),并連接在程序的相應(yīng)位置。設(shè)置時(shí),鼠標(biāo)右鍵單擊“系統(tǒng)時(shí)間”模塊,在彈出的對(duì)話框中設(shè)置相應(yīng)的參數(shù)。 設(shè)置參數(shù)說(shuō)明: 單功能模塊“時(shí)間變量一”按鈕:用來(lái)存儲(chǔ)系統(tǒng)時(shí)間的變量,存放的是從程序開(kāi)始到本次檢測(cè)(該模塊投入運(yùn)行)為止的時(shí)間。若要更換存儲(chǔ)變量,可點(diǎn)擊它,選擇其它變量。 帶判斷功能的模塊“時(shí)間變量一”按鈕:功能同上;條件比較關(guān)系:設(shè)置左邊的時(shí)間變量與右邊的參數(shù)如何進(jìn)行比較。例: “時(shí)間變量一 10.00”代表檢測(cè)到的時(shí)間大于10秒的時(shí)候,條件判斷成功,執(zhí)行“是”一側(cè)連接的模塊;否則條件判斷失敗,執(zhí)行“否”一側(cè)連接的模塊。 轉(zhuǎn)角檢測(cè) 圖標(biāo) 模塊 對(duì)話框 編碼器清零編碼器檢測(cè) 功能:檢測(cè)左右輪子旋轉(zhuǎn)的角度,并可用于編碼計(jì)數(shù)器置零。傳感器的返回值為計(jì)數(shù)器累加值。輪子轉(zhuǎn)一圈,有33個(gè)計(jì)數(shù)脈沖,一個(gè)計(jì)數(shù)脈沖對(duì)應(yīng)旋轉(zhuǎn)角度360/3311度。光電編碼器采用的是16位計(jì)數(shù)器,最大計(jì)數(shù)65535個(gè)脈沖,計(jì)數(shù)器溢出后自動(dòng)復(fù)位為0,并且從頭開(kāi)始計(jì)數(shù)。在編程時(shí)應(yīng)注意這個(gè)特性。 操作:將“轉(zhuǎn)角檢測(cè)”模塊移到流程圖生成區(qū),并連接在程序的相應(yīng)位置。設(shè)置時(shí),右擊“轉(zhuǎn)角檢測(cè)”模塊,在彈出的對(duì)話框中設(shè)置參數(shù)。 設(shè)置參數(shù)說(shuō)明: 單功能模塊 檢測(cè)對(duì)象: 左 檢測(cè)左輪轉(zhuǎn)角 右 檢測(cè)右輪轉(zhuǎn)角 功能選擇:可用來(lái)檢測(cè)編碼器值,即檢測(cè)轉(zhuǎn)角;也可以進(jìn)行編碼器清零,即令編碼計(jì)數(shù)器的值恢復(fù)為零,從頭開(kāi)始計(jì)數(shù)。“轉(zhuǎn)角變量一”按鈕:用來(lái)存儲(chǔ)編碼器計(jì)數(shù)值的變量。若要更換存儲(chǔ)變量,可點(diǎn)擊它,可選擇其它變量 。 帶判斷功能的模塊 檢測(cè)對(duì)象:功能同上 條件比較關(guān)系:設(shè)置左邊的轉(zhuǎn)角變量與右邊的參數(shù)如何進(jìn)行比較。 注:以上過(guò)程不可逆,即先設(shè)置“編碼器清零”后,不能重新設(shè)置為“編碼器檢測(cè)”。同樣如先選擇為“編碼器檢測(cè)”,則不能重新設(shè)置為“編碼器清零”。 控制模塊庫(kù)程序結(jié)構(gòu)一般是由順序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、選擇結(jié)構(gòu)這三種結(jié)構(gòu)組成。在編寫(xiě)程序過(guò)程中,最基本的結(jié)構(gòu)是順序結(jié)構(gòu),即從上往下依次執(zhí)行。當(dāng)遇到一組模塊需要重復(fù)執(zhí)行時(shí),就可以使用循環(huán)結(jié)構(gòu),按照指定方式重復(fù)執(zhí)行。選擇結(jié)構(gòu)是在程序執(zhí)行時(shí),根據(jù)設(shè)置的判斷條件,在兩組模塊中選

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論