• 
    

    
    

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

      17自由度仿真人形教育機(jī)器人控制系統(tǒng)設(shè)計(jì)

      2020-05-08 09:36:52楊劍黃澤鵬吳昶華李昆
      機(jī)械工程師 2020年4期
      關(guān)鍵詞:通信協(xié)議舵機(jī)上位

      楊劍,黃澤鵬,吳昶華,李昆

      (華南理工大學(xué) 廣州學(xué)院,廣州510800)

      0 引 言

      目前機(jī)器人應(yīng)用主要面向制造業(yè)和娛樂(lè)行業(yè),隨著全國(guó)各地機(jī)器人大賽的舉辦和普及,各大、中、小學(xué)校越來(lái)越重視機(jī)器人教育與培訓(xùn)。本文設(shè)計(jì)了一款應(yīng)用于普及機(jī)器人知識(shí)的17自由度仿真人形教育機(jī)器人。

      1 系統(tǒng)概述

      控制器系統(tǒng)以ARM7處理器為核心通過(guò)串口下載和傳輸控制信息,主要由17路舵機(jī)控制驅(qū)動(dòng)電路接口、串口通信調(diào)試電路、遙控接口及電源等幾部分組成。通過(guò)UBT12HB 舵機(jī)總線半雙工串口UART通信協(xié)議,采用定時(shí)器產(chǎn)生17路PWM驅(qū)動(dòng)信號(hào),控制機(jī)器人各種姿態(tài)下的舵機(jī)角度和速度。該系統(tǒng)具有運(yùn)動(dòng)形態(tài)新穎、運(yùn)動(dòng)效果優(yōu)異、操作反應(yīng)靈敏、體態(tài)特征豐富等特點(diǎn),可應(yīng)用于機(jī)器人知識(shí)普及和教學(xué)。

      2 硬件設(shè)計(jì)

      2.1 舵機(jī)控制設(shè)計(jì)

      舵機(jī)是一種位置角度伺服驅(qū)動(dòng)器,含控制電路、驅(qū)動(dòng)馬達(dá)、差速器、位置檢測(cè)器和外殼等部件,其中控制電路上有用于驅(qū)動(dòng)馬達(dá)與進(jìn)行信號(hào)通信的IC電路,內(nèi)部齒輪一般采用金屬材質(zhì),能夠在提供大轉(zhuǎn)矩的同時(shí)保證結(jié)構(gòu)上的穩(wěn)固。舵機(jī)結(jié)構(gòu)如圖1所示。

      2.2 舵機(jī)選擇

      本文采用的舵機(jī)是UBT12HB 串行總線伺服舵機(jī),舵機(jī)輸出轉(zhuǎn)矩為0.8 N·m(6.5 V),1.2 N·m (8.5 V),最大可以提供0.198 s/60°的轉(zhuǎn)速,角度偏轉(zhuǎn)范圍為-30°~240°。滿載電流為0.9 A,采用半雙工串口UART通信協(xié)議。URAT串口波特率:115 200;數(shù)據(jù)位位:8;停止位:1;校驗(yàn)位:0;流量控制:NONE。采用TTL電平多層連接,共用總線,最多可以連接240個(gè)舵機(jī)。舵機(jī)主要通信協(xié)議部分參數(shù)如表1所示。

      圖1 舵機(jī)結(jié)構(gòu)圖

      2.3 機(jī)器人控制上位機(jī)設(shè)計(jì)

      上位機(jī)通過(guò)winform平臺(tái)下提供的接口發(fā)送串口數(shù)據(jù),經(jīng)簡(jiǎn)單硬件轉(zhuǎn)換成半雙工串口傳輸信號(hào)與舵機(jī)通信。17自由度串行總線舵機(jī)機(jī)器人控制上位機(jī)的主要功能如圖2所示。

      上位機(jī)依靠串口通信,在進(jìn)行通信之前需要對(duì)串口進(jìn)行檢測(cè),檢查舵機(jī)機(jī)器連接狀態(tài)及通信狀態(tài)是否穩(wěn)定,在連接穩(wěn)定之后才能進(jìn)行下一步的操作。舵機(jī)控制模塊由舵機(jī)編號(hào)(id)選擇、角度、速度,以及批處理功能模塊組成,能夠?qū)?7路總線舵機(jī)組中的單個(gè)或多個(gè)進(jìn)行單獨(dú)或批量控制和通信。在控制信號(hào)發(fā)送之前需要對(duì)控制信號(hào)及指令進(jìn)行檢查校驗(yàn)其合法性及是否具有實(shí)際意義。篩選過(guò)濾無(wú)用指令,計(jì)算整理后由串口發(fā)送之后交給串口控制模塊檢查通信情況。

      圖2 上位機(jī)整體主要功能圖

      表1 舵機(jī)主要通信協(xié)議部分參數(shù)

      3 軟件設(shè)計(jì)

      3.1 界面設(shè)計(jì)

      軟件主界面如圖3所示:左半界面是與17路串行伺服舵機(jī)實(shí)際對(duì)應(yīng)位置圖,用于顯示實(shí)際控制中的舵機(jī)機(jī)器人的狀態(tài),以及能夠以某些交互方式提高舵機(jī)選擇效率與定位;右側(cè)為數(shù)據(jù)控制與舵機(jī)操控面板,右下為信息面板,用于顯示各種交互信息和反饋數(shù)據(jù)。

      圖3 軟件主界面

      3.2 串口檢測(cè)

      在Visual C#平臺(tái)下,利用.NET Framework 中的SerialPort組件,可以實(shí)現(xiàn)底層的串口通信,使用之前引入相應(yīng)的命名空間System.IO.Ports,利用SerialPort屬性:PortName、BaudRate、DataBits、StopBits、Parity 等 進(jìn) 行 串口的配置,采用DataReceived方法進(jìn)行數(shù)據(jù)接收和通信檢查。配置部分代碼如圖4所示。

      由于SerialPort接收數(shù)據(jù)是同步阻塞調(diào)用,所以使用Invoke自動(dòng)創(chuàng)建線程,接收來(lái)自串口的數(shù)據(jù)之后通過(guò)緩存數(shù)據(jù)幀再在程序線程內(nèi)部檢查格式,匹配舵機(jī)機(jī)器人的應(yīng)答指令。

      3.3 串口通信與校驗(yàn)

      在舵機(jī)機(jī)器人的連接過(guò)程中,需要進(jìn)行通信的應(yīng)答,來(lái)判斷舵機(jī)組的連接情況與通信情況,在判斷之前需要校驗(yàn)接收數(shù)據(jù)的格式,部分代碼如圖5所示。

      3.4 伺服舵機(jī)控制指令

      根據(jù)舵機(jī)通信協(xié)議,將某些控制指令定義在屬性上,部分代碼如圖6所示。

      代碼中的幀頭內(nèi)容對(duì)應(yīng)舵機(jī)文檔協(xié)議,stop、test、read等字節(jié)數(shù)組內(nèi)存放常用指令,在程序內(nèi)部通過(guò)線程使用相應(yīng)的屬性,可以達(dá)到一個(gè)基本的控制效果。

      圖4 Serial Port配置部分代碼

      3.5 指令格式轉(zhuǎn)換

      上位機(jī)通過(guò)串口發(fā)送字節(jié)指令,接收來(lái)自舵機(jī)機(jī)器人應(yīng)答信號(hào)處理通信問(wèn)題,但是程序內(nèi)部字節(jié)指令不能直觀地進(jìn)行操作和交互,需轉(zhuǎn)換成字符、十進(jìn)制或者其他格式交互操作,部分指令格式轉(zhuǎn)換的代碼如圖7所示。

      常見(jiàn)的幾種轉(zhuǎn)換方法有textWork16、str10to16、str16to10等,由于交互界面上的指令數(shù)據(jù)基本是text,在獲取輸入數(shù)據(jù)之后,調(diào)用相關(guān)方法將string指令轉(zhuǎn)換為byte指令存入指令表中以獲取操作數(shù),并將指令缺失的字節(jié)操作碼補(bǔ)全。

      3.6 指令編輯

      圖5 串口檢查校驗(yàn)部分代碼圖

      圖6 通信1協(xié)議部分圖

      圖7 部分指令轉(zhuǎn)換方法代碼

      上位機(jī)的指令編輯可以分為單路伺服舵機(jī)的指令編輯與多路舵機(jī)指令的批量編輯。部分編輯的指令存放如圖8所示。

      圖8 部分指令存放結(jié)構(gòu)圖

      單個(gè)舵機(jī)的指令編輯比較簡(jiǎn)單,并沒(méi)有太多的操作限制,對(duì)于批量舵機(jī)的操作,關(guān)系到舵機(jī)機(jī)器人的姿態(tài)及批量操作中的舵機(jī)id,會(huì)存在重復(fù)、不規(guī)范、無(wú)意義的情況,所以需要對(duì)姿態(tài)的操作做一個(gè)結(jié)構(gòu)上的定義和編輯上的限制。

      4 姿態(tài)動(dòng)作設(shè)計(jì)

      對(duì)于17路伺服舵機(jī)機(jī)器人的姿態(tài)(主要是在某一時(shí)刻狀態(tài)和連續(xù)的動(dòng)作時(shí)對(duì)相關(guān)舵機(jī)的操作角度、回讀角度、持續(xù)時(shí)間、延時(shí)等情況)進(jìn)行描述,舵機(jī)組控制指令編輯流程如圖9所示。

      圖9 舵機(jī)組控制指令編輯流程圖

      對(duì)于舵機(jī)機(jī)器人姿態(tài)控制,可以分為靜態(tài)和動(dòng)態(tài)狀態(tài),連續(xù)的靜態(tài)姿態(tài)組成一個(gè)基本的動(dòng)態(tài),多個(gè)動(dòng)態(tài)組成一個(gè)動(dòng)作指令集,對(duì)于多個(gè)靜態(tài)姿態(tài)組成的動(dòng)態(tài),在編輯的時(shí)候?qū)⑵浞譃槎鄠€(gè)動(dòng)作組,不同的動(dòng)作組之間互不影響,相同的動(dòng)作組內(nèi)應(yīng)該是舵機(jī)的最小集合,對(duì)于指令的編輯的增、刪、改,有跨組編輯和組內(nèi)編輯,應(yīng)該考慮不同情況下操作合法性和合理性。

      指令編輯操作完成后需要更新數(shù)據(jù),其次刷新現(xiàn)有動(dòng)作組,然后提交給異步線程處理,可以在異步線程中執(zhí)行指令或者保存指令,在執(zhí)行指令時(shí)可能會(huì)有一些誤差,可以在執(zhí)行過(guò)程中給指令進(jìn)度添加一進(jìn)度條,方便對(duì)當(dāng)前執(zhí)行狀態(tài)的觀察及后續(xù)數(shù)據(jù)調(diào)整。部分執(zhí)行代碼如圖10所示。

      圖10 部分執(zhí)行指令進(jìn)度代碼

      5 結(jié)語(yǔ)

      區(qū)別于普通的通過(guò)控制板控制伺服舵機(jī),文章研究了在.net平臺(tái)下利用總線串口直觀地控制一種17伺服舵機(jī)組成的機(jī)器人姿態(tài),通過(guò)指令集及對(duì)指令集的操作,可以直接獲取到控制所需的字節(jié)指令,方便指令的移植及機(jī)器人姿態(tài)的研究,對(duì)于獲取到的動(dòng)作指令,內(nèi)容包括舵機(jī)號(hào)、舵機(jī)角度、速度及持續(xù)時(shí)間,得到的數(shù)據(jù)可以適用于其他型號(hào)的總線型伺服舵機(jī),能夠縮短舵機(jī)組動(dòng)作姿態(tài)開(kāi)發(fā)的進(jìn)度。

      猜你喜歡
      通信協(xié)議舵機(jī)上位
      含齒隙彈載舵機(jī)的全局反步模糊自適應(yīng)控制
      特斯拉 風(fēng)云之老阿姨上位
      車(chē)迷(2018年12期)2018-07-26 00:42:22
      基于dsPIC單片機(jī)的飛艇舵機(jī)控制實(shí)現(xiàn)
      電子制作(2018年1期)2018-04-04 01:48:14
      基于Z-Stack通信協(xié)議棧的紅外地溫采集電路設(shè)計(jì)
      基于高速同步485總線通信的多通道舵機(jī)控制器設(shè)計(jì)
      “三扶”齊上位 決戰(zhàn)必打贏
      基于ZigBee和VC上位機(jī)的教室智能監(jiān)測(cè)管理系統(tǒng)
      基于DMX512通信協(xié)議的多路轉(zhuǎn)發(fā)器設(shè)計(jì)與研究
      基于NS-3的PLC多頻通信協(xié)議仿真平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)
      以新思路促推現(xiàn)代農(nóng)業(yè)上位
      察雅县| 卢氏县| 广河县| 南郑县| 浦城县| 三穗县| 北碚区| 山阴县| 班玛县| 井陉县| 张掖市| 湘阴县| 河南省| 溧阳市| 万全县| 马关县| 虞城县| 江孜县| 三门峡市| 邵阳县| 博白县| 温州市| 阿荣旗| 浪卡子县| 宜兰市| 陆丰市| 兴国县| 盐源县| 濉溪县| 永年县| 防城港市| 连城县| 白银市| 福鼎市| 万宁市| 南宫市| 巨野县| 娄底市| 关岭| 阳东县| 云林县|