提要:本文以慧魚避障機(jī)器人模型為對象,研究通過LLWin軟件與VB編程實(shí)現(xiàn)對其避障動(dòng)作的控制。
關(guān)鍵詞:慧魚模型 避障機(jī)器人 串行通信 LLWin
1、慧魚機(jī)器人模型簡介
慧魚創(chuàng)新組合模型(fischertechnik),又稱為“工程積木”,是一種模塊化、可拼裝的、靈活、易擴(kuò)充的創(chuàng)新教學(xué)工具,擁有一般工程機(jī)械制造所需要的各種型號和規(guī)格的零件,慧魚創(chuàng)新組合模型是由德國慧魚公司開發(fā),由機(jī)械構(gòu)件,微型電機(jī),傳感器,氣動(dòng)元件,電腦接口板以及控制軟件組成,它以機(jī)械傳動(dòng)為核心,融傳感器技術(shù),計(jì)算機(jī)技術(shù),自動(dòng)控制技術(shù),機(jī)器人技術(shù)為一體的教學(xué)及仿真模型。避障機(jī)器人模型控制系統(tǒng)實(shí)質(zhì)上是一個(gè)小型的微型機(jī)算機(jī)控制系統(tǒng)。
微型機(jī)算機(jī)控制系統(tǒng)是由計(jì)算機(jī)和對象兩大部分組成。系統(tǒng)基本框圖如圖1-1所示。
圖1-1計(jì)算機(jī)控制系統(tǒng)框圖
圖1-2避障機(jī)器人模型控制系統(tǒng)框圖
在微型機(jī)算機(jī)控制系統(tǒng)中,只要運(yùn)用各種指令,就能編出符合某種控制規(guī)律的程序。微處理器執(zhí)行這樣的程序,就能實(shí)現(xiàn)對被控對象的控制。
避障機(jī)器人模型控制系統(tǒng)框圖如圖1-2所示。微處理器中存有電腦程序,可根據(jù)不同的DI量發(fā)出相應(yīng)的指令。系統(tǒng)中的I/O量都是數(shù)字量,所以只需要使用智能接口板中的DI/O功能。根據(jù)DO量,馬達(dá)可以正轉(zhuǎn)、反轉(zhuǎn)或停止,使避障機(jī)器人模型向不同的方向運(yùn)動(dòng)。當(dāng)模型遭遇障礙時(shí),觸敏傳感器——開關(guān)被按下,反饋DI量到微處理器。
2、慧魚避障機(jī)器人模型結(jié)構(gòu)及功能
慧魚機(jī)器人模型的所有構(gòu)件主料均采用優(yōu)質(zhì)的尼龍塑料,輔料采用不銹鋼芯、鋁合金架等。
在避障機(jī)器人模型中采用了機(jī)械構(gòu)件、電器構(gòu)件。
機(jī)械構(gòu)件主要包括:齒輪、聯(lián)桿、齒軸、凸輪、曲軸、萬向節(jié)、渦輪、渦桿、差速器、齒輪箱等。
電器構(gòu)件主要包括:直流電機(jī)、傳感器(觸敏)、電腦接口電路板、可調(diào)直流變壓器。
模型實(shí)現(xiàn)的功能:
(1)開始運(yùn)行程序,機(jī)器人前進(jìn)或后退;
(2)左、右前方出現(xiàn)障礙時(shí),機(jī)器人停止——倒退——左轉(zhuǎn)——前進(jìn);
(3)正前方出現(xiàn)障礙時(shí),機(jī)器人后退——左轉(zhuǎn)——前進(jìn);
(4)后放出現(xiàn)障礙時(shí),機(jī)器人前進(jìn)。
3、基于VB的避障機(jī)器人模型控制系統(tǒng)
3.1VB簡介
VB是一種可視化的、面向?qū)ο蠛筒捎檬录?qū)動(dòng)方式的結(jié)構(gòu)化高級程序設(shè)計(jì)語言,可用于開發(fā)Windows環(huán)境下的各類應(yīng)用程序。在VB環(huán)境下,利用事件驅(qū)動(dòng)的編程機(jī)制、新穎易用的可視化設(shè)計(jì)工具,使用Windows內(nèi)部的應(yīng)用程序接口(API)函數(shù),以及動(dòng)態(tài)鏈接庫(DLL)等技術(shù),可以高效、快速地開發(fā)出Windows環(huán)境下功能強(qiáng)大、圖形界面豐富的應(yīng)用軟件系統(tǒng)。
3.2VB串行通信控件MSComm
4、屬性說明
(1)CommPort屬性:用于設(shè)置或返回通信連接端口號碼。
(2)Setting屬性:用于設(shè)置初始化參數(shù)。以字符串的形式設(shè)置或返回聯(lián)機(jī)速率、奇偶校驗(yàn)、數(shù)據(jù)位、停止為4個(gè)參數(shù)。默認(rèn)值是“9600,N,8,1”;
(3)PortOpen屬性:用于設(shè)置或返回通信連接端口的狀態(tài)。串行通信端口各項(xiàng)功能都是在PortOpen的True與False之間完成的;
(4)Input屬性:用于從輸入緩沖區(qū)返回并刪除字符;
(5)Output屬性:用于將要發(fā)送的數(shù)據(jù)輸入傳輸緩沖區(qū);
(6)InputLen屬性:用于指定由串行端口讀入的字符串長度或字節(jié)數(shù);
5、程序開發(fā)
模塊(module)是相對獨(dú)立的程序單元。在VB中主要有兩種模塊,即窗體模塊、標(biāo)準(zhǔn)模塊。
6、標(biāo)準(zhǔn)模塊設(shè)計(jì)
本程序中的標(biāo)準(zhǔn)模塊Main.bas只含有全局變量聲明而不含任何過程,VB解釋程序不對它進(jìn)行任何指令解釋。這樣的標(biāo)準(zhǔn)模塊在所有基本指令開始之前進(jìn)行處理。全局變量用Public說明。
7窗體模塊設(shè)計(jì)
本程序的窗體模塊命名為FischerMain.frm。
程序中的strHexToByteArray過程用于將字符串表示的十六進(jìn)制數(shù)據(jù)轉(zhuǎn)化為相應(yīng)的字節(jié)串并返回轉(zhuǎn)化后的字節(jié)數(shù),該過程中還將調(diào)用另一個(gè)過程ConvertHexChr將字符表示的十六進(jìn)制數(shù)轉(zhuǎn)化為相應(yīng)的整數(shù),如果錯(cuò)誤則返回-1。
8、小結(jié)
通過LLWin軟件與VB編程實(shí)現(xiàn)慧魚避障機(jī)器人避障動(dòng)作的控制,實(shí)驗(yàn)證明:基于圖形化程序設(shè)計(jì)軟件LLWin實(shí)現(xiàn)模型的避障功能,用VB開發(fā)控制系統(tǒng)中各環(huán)節(jié)的相關(guān)程序塊,并用MSComm控件實(shí)現(xiàn)RS-232串行通信控制,可以完美地實(shí)現(xiàn)慧魚機(jī)器人模型的避障功能。
參考文獻(xiàn):
[1]劉炳文,許蔓舒編著.VisualBASIC程序設(shè)計(jì)教程[M].北京:清華大學(xué)出版社,2000
[2]劉炳文編著.VisualBasic程序設(shè)計(jì)教程題解與上機(jī)指導(dǎo)[M].北京:清華大學(xué)出版社,2000
[3]范逸之,陳立元編著.VisualBasic與RS-232串行通信控制(最新版)[M].北京:清華大學(xué)出版社,2002
[4]范逸之編著.VisualBasic與分布式監(jiān)控系統(tǒng):RS-232/485串行通信[M].北京:清華大學(xué)出版社,2002
[5]臺方主編.微型計(jì)算機(jī)控制技術(shù)[M].北京:中國水利水電出版社,2001
[6]馬丁著,劉榮翻譯.機(jī)器人探索——工程實(shí)踐指南[M].北京:電子工業(yè)出版社,2004
[7]孫富春等編著.機(jī)器人學(xué)導(dǎo)論——分析、系統(tǒng)及應(yīng)用[M].北京:電子工業(yè)出版社,2004
[8]蔡自興著.機(jī)器人學(xué)(簡裝本)[M].北京:清華大學(xué)出版社,2000
[9]宗光華著.機(jī)器人的創(chuàng)意設(shè)計(jì)與實(shí)踐[M].北京:北京航空航天大學(xué)出版社,2004
[10]王棣棠著.機(jī)器人工程[M].北京:科學(xué)出版社,2001