單驅動自主拳擊模型機器人及該機器人的自主對抗方法
【技術領域】
[0001] 本發明涉及拳擊模型機器人的控制技術。
【背景技術】
[0002] 拳擊是一項驚險刺激的體育運動,所以常被用來作為新裝置的主題。這些裝置可 以分成幾類,第一類是與拳擊功能相關的裝置,如模擬拳擊動作的裝置,供人作為擊打對象 之用,采用類似原理的還有電子系統虛擬顯示拳擊動作的裝置;第二類是可以對拳擊動作 進行輔助的裝置;第三類,將拳擊用作娛樂玩具,還有可以人在其中操作的機械拳擊裝置, 有兩人可以分別操作的仿拳擊小機構,或單體仿拳擊動作小機構作為觀賞之用,但目前這 類產品結構復雜、動作不靈活,且難以實現對左右臂分別控制,不能進行自主對抗。
【發明內容】
[0003] 本發明的目的是為了解決現有的拳擊模型機器人結構復雜、動作不靈活,且難以 實現使用同一個電機對左右臂分別控制、以及不能進行自主對抗的問題,提供一種單驅動 自主拳擊模型機器人及該機器人的自主對抗方法。
[0004] 本發明所述的單驅動自主拳擊模型機器人包括頭部1、頸部2、身體3、左出拳機構 4、右出拳機構5、前行走機構6、后行走機構7和中間升高凸輪8 ;
[0005] 頭部1設置有頭部被擊打區域、紅外發射與接收測距單元和聲光顯示裝置和外部 目標傳感器,該外部目標傳感器包括圖像傳感器和解碼器;
[0006] 身體3的內部設置有旋轉凸輪,該旋轉凸輪位于左出拳機構4和右出拳機構5之 間,用于帶動左出拳機構4和右出拳機構5動作,身體3內還設置有分別用于驅動頭部1、頸 部2、旋轉凸輪、前行走機構6、后行走機構7和中間升高凸輪8的電動機以驅動各電動機的 電動機驅動電路,身體3的內部還設置有聲光驅動電路、一號微處理器和身體振動傳感器, 身體的胸部設置有被擊打區域9,其中被擊打區域由能夠感受壓力的壓力傳感器或壓力傳 感器陣列構成;
[0007] 所述中間升高凸輪8位于身體3底部的中間;
[0008] 所述的一號微處理器內嵌入有軟件實現的自主對抗模塊,所述自主對抗模塊包括 以下單元:
[0009] 設置單元:設置頭部擺角、路徑數組和初始值、目標特征庫、測距特征庫及紅外照 射光數組,所述路徑數組包括接近目標路徑數組和躲避路徑數組,目標特征庫包括各朝向 的特征;
[0010] 目標識別和路徑規劃子模塊調用單元:調用目標識別和路徑規劃子模塊;
[0011] 被擊打傳感處理子模塊調用單元:調用被擊打傳感處理子模塊;
[0012] 所述被擊打傳感處理子模塊為:初始化被擊打傳感器,讀取被擊打傳感器發來的 數據,根據該數據判斷頭部1或身體3是否被擊打,如果判斷結果為是,則設置頭部被擊打 標志或身體被擊打標志,否則,結束被擊打傳感處理子模塊;
[0013] 身體振動傳感子模塊調用單元:調用身體振動傳感子模塊;
[0014] 所述身體振動傳感子模塊為:初始化振動傳感器,讀取振動傳感器發來的數據,根 據該數據判斷是否有振動,如果判斷結果為是,則設置相應的"標志",否則結束身體振動傳 感子模塊;
[0015] 驅動與顯示子模塊調用單元:調用驅動與顯示子模塊;
[0016] 停止判斷單元:判斷是否接收到停止信號,并在判斷結果為是時結束該自主對抗 模塊,在判斷結果為否時執行目標識別和路徑規劃子模塊調用單元;
[0017] 所述目標識別和路徑規劃子模塊包括以下單元:
[0018] 路徑提取單元:提取設置的路徑數組作為當前軌跡數據,并設置相應的"標志";
[0019] 頭部擺動單元:按預置的頭部擺角控制頭部1左右擺動,并設置相應的"標志";
[0020] 目標判斷單元:提取圖像傳感器所攝錄的傳感圖像,對該傳感圖像進行預處理,然 后進行特征提取,將提取的特征與目標特征庫中的特征相吻合,如果判斷結果為是,則認為 發現目標,并執行頭部調整單元,否則,結束目標識別和路徑規劃子模塊;
[0021] 頭部調整單元:調整頭部1的轉角,使面部朝向目標;
[0022] 目標距離測定子模塊:測量機器人與目標的距離;
[0023] 目標接近單元:按照"接近目標路徑數組"控制機器人接近目標,并設置相應"標 志";
[0024] 距離判斷單元:判斷機器人與目標的距離是否小于或等于可擊打距離,如果判斷 結果為是,則執行擊打單元,否則,執行躲避判斷單元;
[0025] 擊打單元:設定機器人自身高度與朝向,并設置相應"標志",然后控制機器人發出 擊打動作;
[0026] 躲避判斷單元:根據對方朝向及被擊打振動情況是否需要躲避,如果判斷結果為 是,則執行躲避控制單元,否則,結束目標識別和路徑規劃子模塊;
[0027] 躲避控制單元:根據躲避路徑數組控制機器人發出躲避動作,并設置相應的"標 志";
[0028] 所述的目標距離測定子模塊包括以下單元:
[0029] 紅外光圖像發射單元:根據紅外照射光數組,控制紅外發射部件發射預定的紅外 光圖像,同時,接收紅外接收陣列接收到的紅外光圖像;
[0030] 目標圖像重構及特征提取單元:將發射的紅外光圖像和接收的紅外光圖像進行編 碼比較并重構目標圖像,然后對該目標圖像進行特征提取;
[0031] 目標特征判斷單元:提取的特征與目標特征進行比較,判斷二者是否相吻合,如果 判斷結果為是,則執行距離計算單元,否則,返回執行紅外光圖像發射單元;
[0032] 距離計算單元:計算機器人與目標的距離;
[0033] 所述驅動與顯示子模塊包括以下單元:
[0034] 初始化單元:初始化電動機驅動端口;
[0035] "標志"數據讀取單元:讀取"標志"數據;
[0036] 動作事件判斷單元:根據"標志"數據判斷是否有動作事件發生,如果判斷結果為 是,則執行標志位置位及驅動單元,否則,執行顯示判斷單元;
[0037] 所述動作事件包括后退、前進、前右轉/右行、前左轉/左行、凸輪前轉升高、凸輪 后轉升高、擊打、頭部左轉及頭部右轉;
[0038] 標志位置位及驅動單元:把動作標志寄存器相應的動作標志位置位,并通過電動 機驅動電路驅動機器人發出相應動作;
[0039] 顯示判斷單元:判斷是否有需要顯示的"標志",如果判斷結果為是,則將顯示標志 寄存器的相應標志位置位,并將顯示內容發送至數據寄存器,以控制聲光顯示裝置顯示相 應的信息,然后結束驅動與顯示子模塊,否則,結束驅動與顯示子模塊。
[0040] 上述機器人的自主對抗方法包括以下步驟:
[0041] 設置步驟:設置路徑數組和初始值、目標特征庫、測距特征庫及紅外照射光數組, 所述路徑數組包括接近目標路徑數組和躲避路徑數組,目標特征庫包括各朝向的特征,并 在該步驟結束之后執行目標識別和路徑規劃子過程調用步驟,初始值包括頭部擺角;
[0042] 目標識別和路徑規劃子過程調用步驟:調用目標識別和路徑規劃子過程,并在該 步驟結束之后執行被擊打傳感處理子過程調用步驟;
[0043] 被擊打傳感處理子過程調用步驟:調用被擊打傳感處理子過程,并在該步驟結束 之后執行身體振動傳感子過程調用步驟;
[0044] 所述被擊打傳感處理子過程為:初始化被擊打傳感器,讀取被擊打傳感器發來的 數據,根據該數據判斷頭部1或身體3是否被擊打,如果判斷結果為是,則設置頭部被擊打 標志或身體被擊打標志,否則,結束被擊打傳感處理子過程;
[0045] 身體振動傳感子過程調用步驟:調用身體振動傳感子過程,并在該步驟結束之后 執行驅動與顯示子過程調用步驟;
[0046] 所述身體振動傳感子過程為:初始化振動傳感器,讀取振動傳感器發來的數據,根 據該數據判斷是否有振動,如果判斷結果為是,則設置相應的"標志",否則結束身體振動傳 感子過程;
[0047] 驅動與顯示子過程調用步驟:調用驅動與顯示子過程,并在該過程結束之后執行 停止判斷步驟;
[0048] 停止判斷步驟:判斷是否接收到停止信號,并在判斷結果為是時結束該自主對抗 方法,在判斷結果為否時執行目標識別和路徑規劃子過程調用步驟;
[0049] 所述目標識別和路徑規劃子過程包括以下步驟:
[0050] 路徑提取步驟:提取設置的路徑數組作為當前軌跡數據,并設置相應的"標志",并 在該步驟結束之后執行頭部擺動步驟;
[0051] 頭部擺動步驟:按預置的頭部擺角控制頭部1左右擺動,并設置相應的"標志",并 在該步驟結束之后執行目標判斷步驟;
[0052] 目標判斷步驟:提取圖像傳感器所攝錄的傳感圖像,對該傳感圖像進行預處理,然 后進行特征提取,將提取的特征與目標特征庫中的特征相吻合,如果判斷結果為是,則認為 發現目標,并執行頭部調整步驟,否則,結束目標識別和路徑規劃子過程;
[0053] 頭部調整步驟:調整頭部1的轉角,使面部朝向目標,并在該步驟結