• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      教學(xué)用機器人移動底盤系統(tǒng)設(shè)計與實現(xiàn)

      2020-09-02 06:31張睿陳辰
      軟件導(dǎo)刊 2020年8期
      關(guān)鍵詞:底盤實踐教學(xué)機器人

      張睿 陳辰

      摘 要:高校機器人教學(xué)已經(jīng)越來越普及。為鍛煉學(xué)生實踐操作能力,提升教學(xué)效果,設(shè)計并實現(xiàn)了一種實用的教學(xué)機器人移動底盤系統(tǒng)。系統(tǒng)機械結(jié)構(gòu)采用三輪萬向結(jié)構(gòu)和無刷電機驅(qū)動方案,底盤與上位機通信接口采用WiFi協(xié)議。設(shè)計了一個完整的控制交互協(xié)議,定義不同的控制和通信幀結(jié)構(gòu),完成對機器人底盤的移動控制和信息交互,便于學(xué)生操控和開發(fā)。經(jīng)過實際測試和試用,功能可以滿足機器人教學(xué)和相關(guān)科創(chuàng)活動需求。

      關(guān)鍵詞:機器人;底盤;實踐教學(xué); 交互協(xié)議

      DOI:10. 11907/rjdk. 192655 開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):

      中圖分類號:TP319文獻(xiàn)標(biāo)識碼:A 文章編號:1672-7800(2020)008-0169-04

      Abstract:Robot teaching in universities has become more and more popular. In order to train students practical operation ability and improve teaching effect, a practical teaching robot mobile chassis system is designed and realized. The mechanical structure of the system uses a three-wheel universal structure and a brushless motor drive scheme, and the communication interface between the chassis and the host computer uses the WiFi protocol. A complete control interaction protocol is designed, which defines different control and communication frame structures to complete the mobile control and information interaction of the robot chassis, and it is convenient for students to control and develop. The testing and trial prove that the function can meet the needs of robot teaching and related scientific and technological innovation activities.

      Key Words: robot; chassis; experimental teaching; interactive protocol

      0 引言

      隨著技術(shù)的發(fā)展,機器人應(yīng)用越來越廣泛,逐漸從工業(yè)走入人們的日常生活,給人們帶來了越來越多的便利。機器人技術(shù)已經(jīng)成為科技發(fā)展前沿方向之一,我國許多高校[1-4]甚至中小學(xué)都開設(shè)了機器人相關(guān)課程[5-6],在各種各樣的機器人平臺上進(jìn)行操控和實踐。但由于機器人教學(xué)是一個全新領(lǐng)域,目前還沒有形成統(tǒng)一的機器人實驗平臺結(jié)構(gòu)和操作規(guī)范,基本上都是各自為政,由任課教師自行選擇實驗平臺。有的文獻(xiàn)[7-9]采用虛擬仿真環(huán)境進(jìn)行實驗,沒有真實的機器人平臺,要花費大量精力學(xué)習(xí)專門的機器人仿真軟件,教學(xué)效果不佳;有些機器人是用單片機或者ARM處理器[10]控制的,需要在專用嵌入式編程開發(fā)環(huán)境下操作,實驗平臺功能簡單,接口定義復(fù)雜,往往涉及到大量軟硬件參數(shù)配置和初始化工作[11],需要學(xué)生具有專業(yè)知識和實踐技能,降低了實踐教學(xué)效率。

      筆者結(jié)合多年科研和教學(xué)經(jīng)驗,對科研項目中研發(fā)的機器人平臺進(jìn)行梳理和改進(jìn),設(shè)計并實現(xiàn)了一套適合高校教學(xué)實踐的機器人移動底盤系統(tǒng)。該系統(tǒng)包括硬件底盤平臺和相應(yīng)軟件模塊,可以很方便地實現(xiàn)全向運動。為便于操控和升級,專門設(shè)計定義了一套網(wǎng)絡(luò)接口交互協(xié)議,能夠?qū)崿F(xiàn)對機器人底盤上的傳感器信息的采集和運動控制。學(xué)生不需要額外學(xué)習(xí)專門的開發(fā)軟件或仿真工具,可以選擇自己擅長的編程工具,通過socks編程方式控制機器人。經(jīng)過實際教學(xué)應(yīng)用及多項科創(chuàng)活動檢驗,驗證了系統(tǒng)平臺的功能和可靠性,證明其適合高校機器人課程應(yīng)用。

      1 系統(tǒng)結(jié)構(gòu)設(shè)計

      底盤最重要的功能是運動,目前使用的機械運動結(jié)構(gòu)主要有仿生足式、履帶式和輪式等。從實現(xiàn)復(fù)雜度和可靠性方面考慮,輪式結(jié)構(gòu)具有結(jié)構(gòu)簡單、容易實現(xiàn)、操控方便和成本低等優(yōu)點,適合于教學(xué)應(yīng)用。輪式結(jié)構(gòu)又分為四輪驅(qū)動[10]、雙輪差分驅(qū)動+隨動輪、三輪全向驅(qū)動等,根據(jù)實際使用效果和功能分析,筆者選定三輪全向驅(qū)動方式進(jìn)行移動底盤設(shè)計。其優(yōu)點是:①三輪全向結(jié)構(gòu)通過分別控制3個輪子的轉(zhuǎn)速和方向,可以驅(qū)動底盤向任意方向平移和旋轉(zhuǎn),底盤運動方向和速度調(diào)整控制算法簡單,容易實現(xiàn);②全向輪受地面影響較小,前后平移距離和旋轉(zhuǎn)角度控制比較準(zhǔn)確,運動路線不容易偏移;③全向輪結(jié)構(gòu)簡單,對加工精度要求不高,相對于另一種常用的麥克納姆輪[12]成本較低。

      機器人底盤采用圓形結(jié)構(gòu),3個全向輪在底盤圓周均勻分布,編號依次為0~2,則底盤運動的前方就是與2號輪指向圓心方向。機械安裝如圖2所示。驅(qū)動電機選用無刷電機,每個電機驅(qū)動一個全向輪。電機選擇GMP28-TEC2847-1280-100[13],12V供電,功率為5W,內(nèi)置安裝好的驅(qū)動器和減速器。全向機器人運動控制算法可以參考文獻(xiàn)[14]。

      為提高機器人對外界環(huán)境的感知能力,必須增加必要的傳感器用來探測周圍障礙物等信息,然后根據(jù)實際情況制定運動路線和控制策略,以提高機器人智能程度。從功能和成本等方面綜合考慮,筆者選用常用的紅外和聲納兩種探測器進(jìn)行底盤設(shè)計。其中紅外探測器探測范圍是10~50cm,探測距離固定,主要用于運動中的近距離障礙物探測,及時作出避障處理。而聲納的有效距離為20~1 000cm,用于較遠(yuǎn)距離的物體探測,可以探測物體的具體距離,用來做地圖構(gòu)建和路徑規(guī)劃等用途。

      筆者設(shè)計的機器人底盤共安裝了8個紅外探障傳感器和4個聲納傳感器,結(jié)構(gòu)如圖3所示。紅外傳感器沿著圓周均勻分布,按照順時針編號依次為0~7,其中0為正前方,各圓心角間隔為45度。聲納傳感器編號為A~D,分別對應(yīng)前、右、后、左4個方向。這些傳感器能夠滿足大部分探障需求。

      2 底盤系統(tǒng)軟硬件設(shè)計

      教學(xué)用機器人的目的主要是面向教學(xué)實踐以及科創(chuàng)競賽,操作者一般都是學(xué)生和科創(chuàng)項目開發(fā)人員,經(jīng)常會更改程序和進(jìn)行平臺運動測試。程序代碼均在臺式機或筆記本上進(jìn)行,傳統(tǒng)的軟件下載到機器人底盤往往需要連接專門的調(diào)試線(如網(wǎng)線、串口線或者JTAG調(diào)試線等),會帶來很多不便和安全隱患。筆者在前期教學(xué)實踐中就希望能有一款無線操控的機器人底盤,學(xué)生可以通過很簡單的API接口實現(xiàn)對機器人的控制。根據(jù)上述需求,本文設(shè)計了一款控制系統(tǒng),包括硬件電路和軟件模塊,可用于課程實踐活動。

      2.1 機器人底盤硬件結(jié)構(gòu)

      機器人底盤選用一片F(xiàn)PGA芯片(Altera公司的EP4CE6),用于傳感器信號采集和電機控制,主要功能有3個:①控制紅外信號發(fā)送和接收,結(jié)果存放在一個寄存器中,每個bit對應(yīng)一路紅外傳感器,1表示有障礙物,0表示無障礙物;②控制聲納發(fā)送和接收,返回結(jié)果為障礙物距離,聲納探測結(jié)果存放在一個16bit的寄存器中;③根據(jù)命令產(chǎn)生電機控制信號,包括方向和PWM值,同時接收電機的編碼器反饋信號,通過閉環(huán)方式調(diào)整電機速度。

      主控制器選用TI公司的MSP430F5438A[15]單片機芯片,主要進(jìn)行整個系統(tǒng)的流程控制和數(shù)據(jù)通信。主要功能有:①通過UART接口外接WiFi模塊,能夠?qū)崿F(xiàn)與上位機的無線數(shù)據(jù)交互,接收上位機命令或者向上位機傳遞反饋參數(shù);②通過總線接口和GPIO接口與FPGA芯片連接,可以實現(xiàn)對各個模塊的初始化和控制,同時接收對應(yīng)的傳感器信息或進(jìn)行電機驅(qū)動。

      硬件電路還預(yù)留了多個ADC、串口和GPIO接口,可以根據(jù)需求擴展外接設(shè)備,提升機器人底盤功能。

      2.2 機器人底盤軟件結(jié)構(gòu)

      底盤系統(tǒng)軟件采用模塊化設(shè)計,作用是接收上位機控制命令,根據(jù)命令進(jìn)行傳感器信息采集或電機驅(qū)動控制,同時把反饋信息發(fā)送給上位機。目前的標(biāo)準(zhǔn)配置包括紅外避障、聲納探障和電機驅(qū)動3個基本模塊,可滿足一般教學(xué)需求。對于高水平的教學(xué)和科創(chuàng)活動,另外開發(fā)了家電遙控、光效控制、環(huán)境探測、自身姿態(tài)定位探測和安防控制等模塊,可以酌情增減。

      機器人底盤與上位機通信采用WiFi無線網(wǎng)絡(luò)方式。設(shè)計了一個統(tǒng)一的接口控制協(xié)議,在上位機實現(xiàn)簡易API接口,通過界面參數(shù)設(shè)置的方式操控機器人。允許學(xué)生直接根據(jù)協(xié)議自行選擇編程工具,通過socks編程方式進(jìn)行自主功能開發(fā)。

      3 控制接口協(xié)議設(shè)計

      操控機器人底盤系統(tǒng)時,上位機與底盤之間必須進(jìn)行有效的命令和信息傳遞,筆者采用數(shù)據(jù)幀的格式定義控制協(xié)議。數(shù)據(jù)幀形式不受上下位機軟件系統(tǒng)限制,開發(fā)人員可以選擇任意編程語言和開發(fā)工具實現(xiàn)需要的功能。

      數(shù)據(jù)幀長度統(tǒng)一規(guī)定為10個字節(jié),具體定義如圖6所示。

      其中:Byte0~4:共5個字節(jié),為幀同步序列,采用 “ROBOT”單詞的ASCII碼(0x52,0x4F,0x42,0x4F,0x54)作為數(shù)據(jù)幀的頭部識別標(biāo)志;Byte5:為命令字,對應(yīng)不同的操作控制;Byte6-9:為命令參數(shù),根據(jù)具體命令字而定。

      Byte5命令字決定一個數(shù)據(jù)幀具體功能,定義如圖7所示。

      其中:Bit7-6:幀類型指示;

      00:主動控制命令,不需要應(yīng)答

      01:主動控制命令,需要應(yīng)答

      10:應(yīng)答幀

      Byte5-2: 命令類別,對應(yīng)不同的設(shè)備類型;

      Byte1-0: 00表示讀,01表示寫,10表示特殊操作。

      3.1 運動控制命令解析

      運動控制命令數(shù)據(jù)幀的Byte5中,命令類別定義為二進(jìn)制數(shù)值0001。操作類別取值不同,后續(xù)參數(shù)定義也不同。有3種情況:

      (1)操作類別=00。表示對電機的單個配置寄存器進(jìn)行讀操作, Byte6參數(shù)表示讀取地址。底盤接收到讀取命令(Byte5=0x04)后進(jìn)行應(yīng)答反饋,反饋幀Byte5=0x84(表示對電機讀取命令的應(yīng)答);Byte6=讀取地址;Byte7=讀取到的數(shù)據(jù)。

      (2)操作類別=01。表示對電機的單個配置寄存器進(jìn)行寫操作,命令格式為Byte5=0x05,表示電機寫入;Byte6參數(shù)為寫入地址,Byte7為寫入數(shù)據(jù)??梢跃唧w配置每個電機的參數(shù),分別控制電機轉(zhuǎn)速和方向。

      (3)操作類別=10。表示對底盤進(jìn)行整體運動控制。命令格式為Byte5=0x06;Byte6為運動方向參數(shù),有停止、平移(前、后、左、右等8個方向)、左轉(zhuǎn)、右轉(zhuǎn)等選擇;Byte7值為0~255,表示運動速度。

      上述命令中,整體運動控制命令③的使用比較簡單,可以統(tǒng)一控制底盤運動狀態(tài),適合初學(xué)者對底盤進(jìn)行操控。而命令②可以對每個電機的速度和方向進(jìn)行設(shè)置,從而實現(xiàn)一些復(fù)雜的運動控制,適合于層次較高的教學(xué)應(yīng)用和科創(chuàng)競賽活動開發(fā)。

      3.2 運動傳感器命令解析

      紅外避障傳感器和聲納都屬于運動相關(guān)的傳感器,數(shù)據(jù)幀Byte5中命令類別定義為二進(jìn)制數(shù)值0010。為統(tǒng)一管理,所有傳感器的控制參數(shù)和結(jié)果都存放在一個寄存器表中,可以對其中的每個寄存器(8bits)進(jìn)行讀寫操作。具體安排如表1所示。

      傳感器地址編號最多有256個,現(xiàn)在僅定義了上述幾種,其它編號可以用于后續(xù)改進(jìn)擴展。

      紅外避障信息采集步驟:①先打開紅外開關(guān),發(fā)送命令字Byte5=0x09,Byte6=紅外開關(guān)地址0,Byte7=啟動參數(shù);②讀取紅外結(jié)果,發(fā)送命令字Byte5=0x08,Byte6=紅外探測結(jié)果地址1;③得到應(yīng)答幀,Byte5=0x88,Byte6=紅外探測結(jié)果地址1,Byte7=探測結(jié)果數(shù)據(jù)。如果紅外開關(guān)一直打開,可以直接讀取探測結(jié)果。

      猜你喜歡
      底盤實踐教學(xué)機器人
      茶學(xué)專業(yè)校企合作實踐教學(xué)探索
      《電氣工程畢業(yè)設(shè)計》 課程的教學(xué)設(shè)計
      高職院校商務(wù)禮儀課程教學(xué)改革探索芻議
      鏗鏘回答“關(guān)鍵五問”夯實脫貧攻堅底盤
      依維柯New Daily底盤改裝房車中國首秀
      瑞風(fēng)S5車底盤異響
      峡江县| 永嘉县| 皮山县| 桐庐县| 凤城市| 华容县| 长宁区| 吐鲁番市| 屯门区| 邵武市| 宁明县| 呼图壁县| 房产| 柞水县| 文安县| 万全县| 九江县| 墨江| 奉化市| 乐陵市| 孟村| 新竹市| 侯马市| 沙坪坝区| 房产| 鲁甸县| 开原市| 天台县| 贡嘎县| 长子县| 沭阳县| 巍山| 全州县| 邓州市| 湄潭县| 浦县| 纳雍县| 盘山县| 古田县| 桃园县| 长治市|