本發(fā)明涉及機器人技術(shù),尤其涉及一種乒乓球機器人及其控制方法。
背景技術(shù):
現(xiàn)隨著機器視覺的高速發(fā)展,其在機器人領(lǐng)域的應(yīng)用也越來越普遍。乒乓球機器人作為機器人視覺在機器人領(lǐng)域的一個典型案例,主要用于教育、娛樂等業(yè)務(wù)場合,并為未來在工業(yè)機器人領(lǐng)域的應(yīng)用進行技術(shù)儲備。典型的乒乓球機器人是由機器人本體、視覺系統(tǒng)、控制系統(tǒng)三部分組成,屬于高端智能機器人裝備范疇?,F(xiàn)有專利201310254377.5公開了一種用于乒乓球機器人預(yù)測乒乓球軌跡的方法和裝置。該專利主要用于類人型機器人裝置,類人型機器人關(guān)節(jié)較多,結(jié)構(gòu)十分復(fù)雜。另外,目前的乒乓球機器人由于機械臂的限制,普遍存在機器人本體覆蓋范圍有限的問題,實用性不高。
技術(shù)實現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題在于提供一種可以增大本體覆蓋范圍的乒乓球機器人及其控制方法。
為解決上述技術(shù)問題,本發(fā)明采用如下技術(shù)方案。
一種乒乓球機器人,其包括有:
機器人本體,包括有固定于乒乓球臺橫側(cè)的導(dǎo)軌、安裝于所述導(dǎo)軌上的可沿所述導(dǎo)軌移動的關(guān)節(jié)式機械手以及安裝于所述關(guān)節(jié)式機械手上的乒乓球拍;
機器人視覺系統(tǒng),用于獲取乒乓球的實時圖像數(shù)據(jù);
機器人控制系統(tǒng),用于基于機器人視覺系統(tǒng)所獲取的乒乓球的實時圖像數(shù)據(jù)而得到關(guān)節(jié)式機械手在導(dǎo)軌上的位移量生成并輸出用以控制關(guān)節(jié)式機械手沿導(dǎo)軌運動的導(dǎo)軌運動控制指令;基于機器人視覺系統(tǒng)所獲取的乒乓球的實時圖像數(shù)據(jù)而得到關(guān)節(jié)式機械手各相鄰機械臂之間的相對角位移量生成并輸出用以控制關(guān)節(jié)式機械手各關(guān)節(jié)旋轉(zhuǎn)運動的關(guān)節(jié)運動控制指令。
一種乒乓球機器人的控制方法,其包括以下步驟:
獲取乒乓球的實時圖像數(shù)據(jù);
基于獲取的乒乓球的實時圖像數(shù)據(jù)計算得到乒乓球的實時動態(tài)坐標(biāo);
基于乒乓球的實時動態(tài)坐標(biāo)計算得到乒乓球的預(yù)測運行軌跡;
基于乒乓球的預(yù)測運行軌跡,計算擊球點坐標(biāo);
基于擊球點坐標(biāo)計算關(guān)節(jié)式機械手在導(dǎo)軌上的位移量和關(guān)節(jié)式機械手各相鄰機械臂之間的相對角位移量;
基于關(guān)節(jié)式機械手在導(dǎo)軌上的位移量生成并輸出用以控制關(guān)節(jié)式機械手沿導(dǎo)軌運動的導(dǎo)軌運動控制指令;
基于關(guān)節(jié)式機械手各相鄰機械臂之間的相對角位移量生成并輸出用以控制關(guān)節(jié)式機械手各關(guān)節(jié)旋轉(zhuǎn)運動的關(guān)節(jié)運動控制指令。
一種乒乓球機器人的控制系統(tǒng),其包括有:
圖像數(shù)據(jù)獲取裝置,用于獲取乒乓球的實時圖像數(shù)據(jù);
機器人控制裝置,用于基于所述圖像數(shù)據(jù)獲取裝置獲取的乒乓球的實時圖像數(shù)據(jù)生成并輸出控制機器人運動控制指令;其中,所述機器人控制裝置包括有,
圖像處理模塊,用于于獲取的乒乓球的實時圖像數(shù)據(jù)計算得到乒乓球的實時動態(tài)坐標(biāo);
軌跡預(yù)測模塊,用于基于乒乓球的實時動態(tài)坐標(biāo)計算得到乒乓球的預(yù)測運行軌跡;基于乒乓球的預(yù)測運行軌跡,計算擊球點坐標(biāo);
運動伺服模塊,用于基于擊球點坐標(biāo)計算關(guān)節(jié)式機械手在導(dǎo)軌上的位移量和關(guān)節(jié)式機械手各相鄰機械臂之間的相對角位移量;基于關(guān)節(jié)式機械手在導(dǎo)軌上的位移量生成并輸出用以控制關(guān)節(jié)式機械手沿導(dǎo)軌運動的導(dǎo)軌運動控制指令;基于關(guān)節(jié)式機械手各相鄰機械臂之間的相對角位移量生成并輸出用以控制關(guān)節(jié)式機械手各關(guān)節(jié)旋轉(zhuǎn)運動的關(guān)節(jié)運動控制指令。
本發(fā)明的技術(shù)效果是:上述乒乓球機器人,機器人本體包括導(dǎo)軌和關(guān)節(jié)式機械手,關(guān)節(jié)式機械手可以沿導(dǎo)軌做橫向運動,采用導(dǎo)軌結(jié)合關(guān)節(jié)式機械手的方式,達(dá)到了在不增長關(guān)節(jié)式機械手機械臂長度的情況下增大機器人本體的覆蓋范圍的技術(shù)效果。
附圖說明
圖1為本發(fā)明一個實施例中乒乓球機器人的功能結(jié)構(gòu)框圖;
圖2為本發(fā)明一個實施例中機器人本體的結(jié)構(gòu)示意圖;
圖3為本發(fā)明一個實施例中關(guān)節(jié)式機械手的結(jié)構(gòu)示意圖;
圖4為本發(fā)明另一個實施例中乒乓球機器人的功能結(jié)構(gòu)框圖;
圖5為本發(fā)明另一個實施例中乒乓球機器人的功能結(jié)構(gòu)框圖;
圖6為本發(fā)明一個實施例中乒乓球機器人的工作流程圖;
圖7為本發(fā)明一個實施例中乒乓球機器人控制系統(tǒng)的功能結(jié)構(gòu)框圖;
圖8為本發(fā)明另一個實施例中乒乓球機器人控制系統(tǒng)的功能結(jié)構(gòu)框圖;
圖9為本發(fā)明另一個實施例中乒乓球機器人控制系統(tǒng)的功能結(jié)構(gòu)框圖;
圖10為本發(fā)明另一個實施例中乒乓球機器人控制系統(tǒng)的功能結(jié)構(gòu)框圖。
具體實施方式
為使本領(lǐng)域的普通技術(shù)人員更加清楚地理解本發(fā)明的目的、技術(shù)方案和優(yōu)點,以下結(jié)合附圖和實施例對本發(fā)明做進一步的闡述。
在本發(fā)明的一個實施例中,如圖1所示,該乒乓球機器人其包括有機器人視覺系統(tǒng)10、機器人控制系統(tǒng)20及機器人本體30,其中,機器人本體30,包括有固定于乒乓球臺橫側(cè)的導(dǎo)軌31、安裝于所述導(dǎo)軌31上的可沿所述導(dǎo)軌移動的關(guān)節(jié)式機械手33以及安裝于所述關(guān)節(jié)式機械手33上的乒乓球拍34;機器人視覺系統(tǒng)10用于獲取乒乓球的實時圖像數(shù)據(jù);機器人控制系統(tǒng)20用于基于機器人視覺系統(tǒng)10所獲取的乒乓球的實時圖像數(shù)據(jù)而得到關(guān)節(jié)式機械手33在導(dǎo)軌31上的位移量用以生成并輸出控制關(guān)節(jié)式機械手33沿導(dǎo)軌運動的控制指令?;跈C器人視覺系統(tǒng)10所獲取的乒乓球的實時圖像數(shù)據(jù)而得到關(guān)節(jié)式機械手33各相鄰機械臂之間的相對角位移量用以生成并輸出控制關(guān)節(jié)式機械手33各關(guān)節(jié)旋轉(zhuǎn)運動的控制指令。
上述乒乓球機器人,機器人本體包括導(dǎo)軌和關(guān)節(jié)式機械手,關(guān)節(jié)式機械手可以沿導(dǎo)軌做橫向運動,在不增長關(guān)節(jié)式機械手機械臂長度的情況下增大了機器人本體的覆蓋范圍。
如圖2所示,在一些實施例中,該乒乓球機器人機器人本體30包括有導(dǎo)軌31、關(guān)節(jié)式機械手33和乒乓球拍34,還包括有伺服電機32。導(dǎo)軌31安裝于乒乓球臺4橫側(cè),關(guān)節(jié)式機械手33和伺服電機32相對固定安裝。關(guān)節(jié)式機械手33內(nèi)部包含一個伺服驅(qū)動器,伺服驅(qū)動器接收機器人控制系統(tǒng)20輸出的控制指令,驅(qū)動伺服電機32帶動關(guān)節(jié)式機械手33沿著導(dǎo)軌31橫向移動,乒乓球拍34固定在關(guān)節(jié)式機械手33末端,跟隨關(guān)節(jié)式機械手33運動。
優(yōu)選的,為了避免關(guān)節(jié)式機械手33在橫向移動時甩出臺面,在導(dǎo)軌31兩端各安裝一個限位塊311。
如圖3所示,在一些實施例中,該關(guān)節(jié)式機械手33含有五個自由度,包括A1、A2、A3、A4、A5五個旋轉(zhuǎn)關(guān)節(jié)。其中,關(guān)節(jié)式機械手33通過螺栓固定在導(dǎo)軌31滑動架上,關(guān)節(jié)式機械手33末端固定有用于擊打的乒乓球拍34。這五個旋轉(zhuǎn)關(guān)節(jié)均由伺服電機32驅(qū)動控制,伺服電機32的控制線纜和供電線纜連接在伺服驅(qū)動器上,伺服驅(qū)動器接收機器人控制系統(tǒng)20輸出的運動控制指令,驅(qū)動伺服電機32控制關(guān)節(jié)式機械手33各關(guān)節(jié)作旋轉(zhuǎn)運動,進而帶動關(guān)節(jié)式機械手33機械臂的擺動。
上述乒乓球機器人采用5自由度關(guān)節(jié)式機械手,減少了現(xiàn)有概念乒乓球機器人的運動自由度,保證了乒乓球機器人實施的方便性,同時減少了機器人控制系統(tǒng)的逆運動學(xué)解算負(fù)擔(dān),保證了乒乓球機器人運行的高度可靠性。
如圖4所示,在一些實施例中,該機器人視覺系統(tǒng)10包括有兩臺攝像機11,安裝在乒乓球臺后側(cè)上方,實時拍攝乒乓球臺上的影像。
優(yōu)選的,該機器人視覺系統(tǒng)10還包括有圖像處理器12。處理器12選用基于FPGA的數(shù)字解碼處理器集成與攝像機11攝像頭中,對攝像機11采集到的影像進行數(shù)據(jù)粗處理,通過色差梯度法對乒乓球進行邊緣檢測,提取乒乓球的輪廓數(shù)據(jù)進而得到乒乓球的實時圖像數(shù)據(jù),然后通過HDMI通信線纜傳輸至機器人控制系統(tǒng)20。
上述乒乓球機器人在機器人視覺系統(tǒng)內(nèi)置圖像處理器,可以有效地減少機器人控制系統(tǒng)的運算負(fù)擔(dān),保證了乒乓球高速運動所需要的高速圖像處理的可能性。
如圖5所示,在一些實施例中,機器人控制系統(tǒng)20選用嵌入式PC控制器,包括如下功能模塊:圖像處理模塊21、軌跡預(yù)測模塊22、伺服控制模塊23。
圖像處理模塊21,用于基于機器人視覺系統(tǒng)10獲取的乒乓球的實時圖像數(shù)據(jù),通過雙目視覺定位原理計算得到乒乓球的實時動態(tài)坐標(biāo);也可以通過多目視覺定位原理計算乒乓球的實時動態(tài)坐標(biāo)。
軌跡預(yù)測模塊22,用于基于圖像處理模塊21計算得到的乒乓球的實時動態(tài)坐標(biāo),通過軌跡預(yù)測算法結(jié)合飛行動力學(xué)模型計算得到乒乓球在空中飛行和在桌面反彈后的預(yù)測運行軌跡曲線。基于乒乓球反彈后的預(yù)測運行軌跡,計算擊球點坐標(biāo)。
運動伺服模塊23,包括宏伺服和微伺服兩部分,其中宏伺服主要指的是關(guān)節(jié)式機械手33在導(dǎo)軌31上的運動控制,微伺服只要指的是關(guān)節(jié)式機械手33機械臂的運動伺服?;谲壽E預(yù)測模塊22計算得到的擊球點坐標(biāo),結(jié)合擊打模型,計算得到乒乓球拍34擊球時的最佳位姿信息。位姿包括位置和姿勢。結(jié)合當(dāng)前乒乓球拍34的位姿信息,可以得到乒乓球拍34在擊球過程中的位姿變化,即乒乓球拍34的位姿變量。對乒乓球拍34的位姿變量進行分解,得到關(guān)節(jié)式機械手33在導(dǎo)軌31上的位移量,同時利用逆運動學(xué)算法,得到連桿模型的雅克比矩陣,結(jié)合關(guān)節(jié)式機械手的約束條件,得到關(guān)節(jié)式機械手33各相鄰機械臂之間的相對角位移量;最后根據(jù)關(guān)節(jié)式機械手33在導(dǎo)軌31上的位移量生成并輸出控制關(guān)節(jié)式機械手33沿導(dǎo)軌31運動的控制指令;根據(jù)關(guān)節(jié)式機械手33各相鄰機械臂之間的相對角位移量生成并輸出控制關(guān)節(jié)式機械手33各關(guān)節(jié)旋轉(zhuǎn)運動的控制指令。
優(yōu)選的,機器人控制系統(tǒng)20包括有圖像處理模塊21、軌跡預(yù)測模塊22、伺服控制模塊23,還包括有顯示模塊24,用于顯示乒乓球機器人工作狀態(tài)、機器人視覺系統(tǒng)10獲取的實時乒乓球圖像數(shù)據(jù)、乒乓球機器人運動軌跡預(yù)測信息。乒乓球機器人工作狀態(tài)包括當(dāng)前關(guān)節(jié)式機械手33在導(dǎo)軌31上的運動狀態(tài)和關(guān)節(jié)式機械手33末關(guān)節(jié)的位姿(乒乓球拍34的位置和姿態(tài))。乒乓球機器人運動軌跡預(yù)測信息即基于乒乓球的預(yù)測運行軌跡,結(jié)合擊打模型模擬計算得到的關(guān)節(jié)式機械手33在導(dǎo)軌31上的運動和擊打乒乓球的過程。
圖6示出了根據(jù)本發(fā)明一個實施例中乒乓球機器人的工作流程圖。如圖6所示,一種乒乓球機器人的控制方法,包括以下步驟:
S100:獲取乒乓球的實時圖像數(shù)據(jù)。
拍攝乒乓球臺上的實時影像,然后基于拍攝到的乒乓球臺上的實時影像,通過色差梯度法對乒乓球進行邊緣檢測,提取乒乓球的輪廓數(shù)據(jù)進而得到乒乓球的實時圖像數(shù)據(jù)。
S200:基于獲取的乒乓球的實時圖像數(shù)據(jù)計算得到乒乓球的實時動態(tài)坐標(biāo)。
接收步驟S100獲取的乒乓球的實時圖像數(shù)據(jù),通過雙目視覺定位原理計算得到乒乓球的實時動態(tài)坐標(biāo);也可以通過多目視覺定位原理計算乒乓球的實時動態(tài)坐標(biāo)。
S300:基于乒乓球的實時動態(tài)坐標(biāo)計算得到乒乓球的預(yù)測運行軌跡。
接收步驟S200計算得到的乒乓球的實時動態(tài)坐標(biāo),通過軌跡預(yù)測算法結(jié)合飛行動力學(xué)模型計算得到乒乓球在空中飛行和在桌面反彈后的預(yù)測運行軌跡曲線。
S400:基于乒乓球的預(yù)測運行軌跡,計算擊球點坐標(biāo)。
S500:基于擊球點坐標(biāo)計算關(guān)節(jié)式機械手在導(dǎo)軌上的位移量和關(guān)節(jié)式機械手各相鄰機械臂之間的相對角位移量。
基于擊球點坐標(biāo),結(jié)合擊打模型,計算得到乒乓球拍擊球時的最佳位姿信息。位姿包括位置和姿勢。結(jié)合當(dāng)前乒乓球拍的位姿信息,可以得到乒乓球拍在擊球過程中的位姿變化,即乒乓球拍的位姿變量。對乒乓球拍的位姿變量進行分解,得到關(guān)節(jié)式機械手在導(dǎo)軌上的位移量,同時利用逆運動學(xué)算法,得到連桿模型的雅克比矩陣,結(jié)合關(guān)節(jié)式機械手的約束條件,得到關(guān)節(jié)式機械手各相鄰機械臂之間的相對角位移量。
S600:基于關(guān)節(jié)式機械手在導(dǎo)軌上的位移量生成并輸出控制指令控制關(guān)節(jié)式機械手沿導(dǎo)軌運動。
基于關(guān)節(jié)式機械手在導(dǎo)軌上的位移量生成并輸出控制指令至伺服驅(qū)動器,伺服驅(qū)動器驅(qū)動伺服電機,伺服電機帶動關(guān)節(jié)式機械手沿導(dǎo)軌橫向移動。
S700:基于關(guān)節(jié)式機械手各相鄰機械臂之間的相對角位移量生成并輸出控制指令控制關(guān)節(jié)式機械手各關(guān)節(jié)旋轉(zhuǎn)運動。
基于關(guān)節(jié)式機械手各相鄰機械臂之間的相對角位移量生成并輸出控制指令至伺服驅(qū)動器,伺服驅(qū)動器驅(qū)動關(guān)節(jié)式機械手各個關(guān)節(jié)伺服電機,伺服電機帶動關(guān)節(jié)式機械手各關(guān)節(jié)做旋轉(zhuǎn)運動,進而帶動關(guān)節(jié)式機械手機械臂的擺動。
在本發(fā)明的一個實施例中,如圖7所示,一種乒乓球機器人的控制系統(tǒng),包括有圖像數(shù)據(jù)獲取裝置100和機器人控制裝置200。
圖像數(shù)據(jù)獲取裝置100,用于對乒乓球臺進行拍攝,獲取包括乒乓球圖像的實時圖像數(shù)據(jù)。
機器人控制裝置200,用于基于所述圖像數(shù)據(jù)獲取裝置100獲取的乒乓球的實時圖像數(shù)據(jù)生成并輸出的控制機器人運動的控制指令;其中,所述機器人控制裝置200包括有,
圖像處理模塊210,接收圖像數(shù)據(jù)獲取裝置100獲取的乒乓球的實時圖像數(shù)據(jù),通過雙目視覺定位原理計算得到乒乓球的實時動態(tài)坐標(biāo);也可以通過多目視覺定位原理計算乒乓球的實時動態(tài)坐標(biāo)。
軌跡預(yù)測模塊220,接收圖像處理模塊210計算得到的乒乓球的實時動態(tài)坐標(biāo),通過軌跡預(yù)測算法結(jié)合飛行動力學(xué)模型計算得到乒乓球在空中飛行和在桌面反彈后的預(yù)測運行軌跡曲線?;谄古仪虻念A(yù)測運行軌跡,計算擊球點坐標(biāo);
運動伺服模塊230,接收軌跡預(yù)測模塊220計算得到的擊球點坐標(biāo),基于擊球點坐標(biāo),結(jié)合擊打模型,計算得到乒乓球拍擊球時的最佳位姿信息。位姿包括位置和姿勢。結(jié)合當(dāng)前乒乓球拍的位姿信息,可以得到乒乓球拍在擊球過程中的位姿變化,即乒乓球拍的位姿變量。對乒乓球拍的位姿變量進行分解,得到關(guān)節(jié)式機械手在導(dǎo)軌上的位移量,同時利用逆運動學(xué)算法,得到連桿模型的雅克比矩陣,結(jié)合關(guān)節(jié)式機械手的約束條件,得到關(guān)節(jié)式機械手各相鄰機械臂之間的相對角位移量;最后根據(jù)關(guān)節(jié)式機械手在導(dǎo)軌上的位移量生成并輸出控制關(guān)節(jié)式機械手沿導(dǎo)軌運動的控制指令;根據(jù)關(guān)節(jié)式機械手各相鄰機械臂之間的相對角位移量生成并輸出控制關(guān)節(jié)式機械手各關(guān)節(jié)旋轉(zhuǎn)運動的控制指令。
如圖8所示,在一些實施例中,該乒乓球機器人的控制系統(tǒng),包括有圖像數(shù)據(jù)獲取裝置100和機器人控制裝置200。
所述機器人控制裝置200包括圖像處理模塊210、軌跡預(yù)測模塊220、運動伺服模塊230,還包括有顯示模塊240。該顯示模塊240用于顯示乒乓球機器人工作狀態(tài)、圖像數(shù)據(jù)獲取裝置獲取的實時乒乓球圖像數(shù)據(jù)、乒乓球機器人運動軌跡預(yù)測信息。乒乓球機器人工作狀態(tài)包括當(dāng)前關(guān)節(jié)式機械手33在導(dǎo)軌31上的運動狀態(tài)和關(guān)節(jié)式機械手33末關(guān)節(jié)的位姿(乒乓球拍34的位置和姿態(tài))。乒乓球機器人運動軌跡預(yù)測信息即基于乒乓球的預(yù)測運行軌跡,結(jié)合擊打模型模擬計算得到的關(guān)節(jié)式機械手33在導(dǎo)軌31上的運動和擊打乒乓球的過程。
如圖9所示,在一些實施例中,該乒乓球機器人的控制系統(tǒng),包括有圖像數(shù)據(jù)獲取裝置100和機器人控制裝置200。
所述數(shù)據(jù)獲取裝置100包括有攝影模塊110和預(yù)處理模塊120。
攝影模塊110,用于對乒乓球臺進行拍攝,實時拍攝乒乓球臺上的影像。
預(yù)處理模塊120,接收攝影模塊110實時拍攝的乒乓球臺上的影像,通過色差梯度法對乒乓球進行邊緣檢測,提取乒乓球的輪廓數(shù)據(jù)進而得到乒乓球的實時圖像數(shù)據(jù)。
所述機器人控制裝置200包括圖像處理模塊210、軌跡預(yù)測模塊220、運動伺服模塊230、顯示模塊240。
圖像處理模塊210,接收圖像數(shù)據(jù)獲取裝置100獲取的乒乓球的實時圖像數(shù)據(jù),通過雙目視覺定位原理計算得到乒乓球的實時動態(tài)坐標(biāo);也可以通過多目視覺定位原理計算乒乓球的實時動態(tài)坐標(biāo)。
軌跡預(yù)測模塊220,接收圖像處理模塊210計算得到的乒乓球的實時動態(tài)坐標(biāo),通過軌跡預(yù)測算法結(jié)合飛行動力學(xué)模型計算得到乒乓球在空中飛行和在桌面反彈后的預(yù)測運行軌跡曲線?;谄古仪虻念A(yù)測運行軌跡,計算擊球點坐標(biāo);
運動伺服模塊230,接收軌跡預(yù)測模塊220計算得到的擊球點坐標(biāo),基于擊球點坐標(biāo),結(jié)合擊打模型,計算得到乒乓球拍擊球時的最佳位姿信息。位姿包括位置和姿勢。結(jié)合當(dāng)前乒乓球拍的位姿信息,可以得到乒乓球拍在擊球過程中的位姿變化,即乒乓球拍的位姿變量。對乒乓球拍的位姿變量進行分解,得到關(guān)節(jié)式機械手在導(dǎo)軌上的位移量,同時利用逆運動學(xué)算法,得到連桿模型的雅克比矩陣,結(jié)合關(guān)節(jié)式機械手的約束條件,得到關(guān)節(jié)式機械手各相鄰機械臂之間的相對角位移量;最后根據(jù)關(guān)節(jié)式機械手在導(dǎo)軌上的位移量生成并輸出控制關(guān)節(jié)式機械手沿導(dǎo)軌運動的控制指令;根據(jù)關(guān)節(jié)式機械手各相鄰機械臂之間的相對角位移量生成并輸出控制關(guān)節(jié)式機械手各關(guān)節(jié)旋轉(zhuǎn)運動的控制指令。
如圖10所示,在一些實施例中,該乒乓球機器人的控制系統(tǒng),包括有圖像數(shù)據(jù)獲取裝置100和機器人控制裝置200。
所述數(shù)據(jù)獲取裝置100包括有攝影模塊110和預(yù)處理模塊120。
攝影模塊110,用于對乒乓球臺進行拍攝,實時拍攝乒乓球臺上的影像。
預(yù)處理模塊120,接收攝影模塊110實時拍攝的乒乓球臺上的影像,通過色差梯度法對乒乓球進行邊緣檢測,提取乒乓球的輪廓數(shù)據(jù)進而得到乒乓球的實時圖像數(shù)據(jù)。
所述機器人控制裝置200包括圖像處理模塊210、軌跡預(yù)測模塊220、運動伺服模塊230、顯示模塊240。
圖像處理模塊210,接收圖像數(shù)據(jù)獲取裝置100獲取的乒乓球的實時圖像數(shù)據(jù),通過雙目視覺定位原理計算得到乒乓球的實時動態(tài)坐標(biāo);也可以通過多目視覺定位原理計算乒乓球的實時動態(tài)坐標(biāo)。
軌跡預(yù)測模塊220,接收圖像處理模塊210計算得到的乒乓球的實時動態(tài)坐標(biāo),通過軌跡預(yù)測算法結(jié)合飛行動力學(xué)模型計算得到乒乓球在空中飛行和在桌面反彈后的預(yù)測運行軌跡曲線?;谄古仪虻念A(yù)測運行軌跡,計算擊球點坐標(biāo);
運動伺服模塊230,接收軌跡預(yù)測模塊220計算得到的擊球點坐標(biāo),基于擊球點坐標(biāo),結(jié)合擊打模型,計算得到乒乓球拍擊球時的最佳位姿信息。位姿包括位置和姿勢。結(jié)合當(dāng)前乒乓球拍的位姿信息,可以得到乒乓球拍在擊球過程中的位姿變化,即乒乓球拍的位姿變量。對乒乓球拍的位姿變量進行分解,得到關(guān)節(jié)式機械手在導(dǎo)軌上的位移量,同時利用逆運動學(xué)算法,得到連桿模型的雅克比矩陣,結(jié)合關(guān)節(jié)式機械手的約束條件,得到關(guān)節(jié)式機械手各相鄰機械臂之間的相對角位移量;最后根據(jù)關(guān)節(jié)式機械手在導(dǎo)軌上的位移量生成并輸出控制關(guān)節(jié)式機械手沿導(dǎo)軌運動的控制指令;根據(jù)關(guān)節(jié)式機械手各相鄰機械臂之間的相對角位移量生成并輸出控制關(guān)節(jié)式機械手各關(guān)節(jié)旋轉(zhuǎn)運動的控制指令。
顯示模塊240,用于顯示乒乓球機器人工作狀態(tài)、圖像數(shù)據(jù)獲取裝置獲取的實時乒乓球圖像數(shù)據(jù)、乒乓球機器人運動軌跡預(yù)測信息。乒乓球機器人工作狀態(tài)包括當(dāng)前關(guān)節(jié)式機械手33在導(dǎo)軌31上的運動狀態(tài)和關(guān)節(jié)式機械手33末關(guān)節(jié)的位姿(乒乓球拍34的位置和姿態(tài))。乒乓球機器人運動軌跡預(yù)測信息即基于乒乓球的預(yù)測運行軌跡,結(jié)合擊打模型模擬計算得到的關(guān)節(jié)式機械手33在導(dǎo)軌31上的運動和擊打乒乓球的過程。
以上所述僅為本發(fā)明的優(yōu)選實施例,而非對本發(fā)明做任何形式上的限制。本領(lǐng)域的技術(shù)人員可在上述實施例的基礎(chǔ)上施以各種等同的更改和改進,凡在權(quán)利要求范圍內(nèi)所做的等同變化或修飾,均應(yīng)落入本發(fā)明的保護范圍之內(nèi)。