?

一款桌面級群控機器人系統設計與開發

2023-09-18 14:18朱松毅周涵巍黃梅濤張執南
機械設計與研究 2023年3期
關鍵詞:機器人系統

梁 帥, 朱松毅, 周涵巍, 石 尚, 黃梅濤, 張執南*,

(1.上海交通大學 機械與動力工程學院,上海 200240,E-mail: robot-dreamer@sjtu.edu.cn;2.上海交通大學 航空航天學院,上海 200240;3.上海交通大學 電子信息與電氣工程學院,上海 200240)

多機器人系統是一類面向科學前沿、多學科交叉的技術集成平臺,在工業制造、倉儲物流、偵查監控和應急救災等應用領域展現出單個機器人無可比擬的優勢,由于其獨特的優勢和廣泛的用途,其在學術研究上的熱度逐年攀升[1]。多機器人協作中呈現的簡單、分布式的特征使其比單個機器人更具魯棒性[2],可以執行遠超出單個機器人能力的任務,效率也顯著提高[3]。

為了將多機器人變為現實,研究者付出了巨大的努力。瑞士洛桑聯邦理工學院開發了Alice機器人,作為移動機器人的定位和導航、半自主操作控制策略的研究平臺[4],后來又開發了S-bot機器人,通過夾具相互連接共同完成穿越間隙或移動物體等任務,旨在研究群機器人團隊合作和機器人間通信[5]。Bonani等人設計了一款軟硬件開源的差速輪式機器人E-puck,用于教育和科學目的[6]。Alonso-Mora等人借助E-puck開展多機器人圖案編隊的研究工作[7],完成了10個物理機器人的實驗。但此類多機器人系統數量較少,尺寸相對較大。

隨著研究的深入,多機器人系統逐漸向大規模方向發展。哈佛大學開發的Kilobot[8]使用振動電機和剛性支撐腿移動,通過感知紅外信號的強度估算和其他個體之間的距離,這種獨特的設計進一步減小了單個機器人的尺寸和成本,使其成為大規模多機器人研究的理想選擇。Li等人[9]受細菌等微生物的啟發,設計了一款可以隨環境改變自身尺寸的機器人,并通過磁鐵與其他機器人形成耦合,為大規模群體機器人系統提供了全新的途徑。

與此同時,多機器人系統也向小尺寸方向發展,并探索人類和多機器人交互的方式。Suzuki等人設計的群體機器人ShapeBot[10],是多機器人和可重構機器人的組合,每個單獨的ShapeBot都可以通過線性執行器實現外形變化,使得整個多機器人系統呈現出復雜的隊形。Le Goc等人通過數個直徑只有2.6cm的Zooids[11]機器人,實現了群體繪圖、群體動畫、繪圖可視化等人機交互界面。

目前國內已有較多單體機器人的研究[12-13],但應用于機器人集群控制和教學的機器人產品品類較少、價格昂貴、尺寸龐大、移動緩慢,且還需額外增加光學三維動作捕捉系統或UWB定位系統的輔助才能實現機器人定位,對場地環境要求苛刻,進一步增加了成本,提高了研究者的開發門檻。

基于以上現狀分析,減小單個機器人尺寸是降低多機器人系統成本、降低使用開發門檻的最有效措施。因此,本文設計開發了一款桌面級群控機器人系統——CoCube,在滿足多機器人控制算法部署的前提下,兼顧了系統成本、便攜性和易用性。本文將對系統各部分硬件和軟件配置進行詳細介紹,并驗證本系統性能。

1 方案設計

按照從底層到頂層的順序,介紹CoCube桌面級群控機器人系統的設計與開發方法。

1.1 硬件電路設計

CoCube機器人硬件電路結構框圖如圖 1,分為機器人主電路板、燈板電路板和外接串口燒錄器,一塊鋰電池和兩只直流減速電機。

▲圖1 CoCube機器人硬件電路結構框圖

對于通信功能,系統中每一個機器人都應當具備與上位機或其他機器人無線通信的能力。CoCube選用集成2.4G Wi-Fi、傳統藍牙和低功耗藍牙功能的ESP32-WROOM-32U微控制器,該微控制器內置雙核CPU,具備4M集成SPI Flash,26個GPIO和最高240 MHz時鐘頻率,滿足外圍擴展和快速計算的需要。

對于運動控制,CoCube選用兩個H橋電機驅動器MS8837,通過微控制器輸出PWM信號分別控制兩個電機的旋轉方向和速度。此外,通過兩個槽型透射式光中斷器GP1S196HCZ0F測量兩個電機轉子軸的轉速,可實現閉環控制。

對于方向感測,CoCube設計有MPU6050慣性測量單元,可檢測三軸陀螺儀和三軸加速度,進一步控制機器人的運動。

對于聲音提醒,CoCube安裝有一個蜂鳴器DET402,以提供與用戶交互的聲音。

對于燈光顯示,CoCube設計有8×8大小的WS2812燈板矩陣,用于顯示彩色圖案、文字符號以及視覺標記。

對于電源管理,CoCube使用高壓LiPo電池(3.7 V,1 600 mAh)供電,采用IP5306芯片管理電池充放電,并將電池電壓升壓為5 V為電機驅動器、蜂鳴器和燈板矩陣供電。采用RT9080-33GJ5線性穩壓器將5 V降為3.3 V,為微控制器和其他模塊供電。此外,PCB上設計有分壓電路,微控制器能檢測鋰電池電壓以防電池過度放電。

考慮到機器人主電路板的尺寸限制和為多個機器人燒錄程序的便捷性,USB轉串口電路并未放置于機器人主電路板內,而是單獨設計為一塊串口燒錄器。

1.2 機械結構設計

CoCube機器人長43 mm,寬43 mm,高35 mm,重80 g。外殼和底座采用黑色樹脂3D打印,表面噴彩色模型漆。其機械結構如圖2所示,主要包含以下三部分:

▲圖2 CoCube機器人機械結構爆炸圖

(1) 移動底盤:CoCube采用三輪構型。驅動輪裝有橡膠O形圈以增加與地面間的摩擦力,位于底盤后部同軸排布,由兩臺旋轉對稱安放的微型直流減速電機通過齒輪傳動;從動輪由一顆4 mm直徑不銹鋼球充當,由內向外嵌入底盤前部,并被一塊尼龍3D打印件固定,起到防止脫落和自潤滑的作用。

(2) 主電路板:考慮到PCBA生產工藝,除槽型透射式光中斷器外,其余電子元件全部設計于PCB正面,方便單面SMT、降低成本。在PCB背面留有4個觸點,電機的簧片可以直接與觸點接觸實現供電。

(3) 燈板與外殼:外殼頂部設計為格柵狀,防止各個燈珠發出的光相互干擾。頂部粘貼的PET磨砂面板,可使透過的光均勻柔和,呈現更好的視覺效果。外殼后部在Type C母座和滑動開關處留有孔位,方便充電、燒錄程序與開關機。

1.3 定位系統與通信環境配置

對于集中式集群機器人系統而言,精準的機器人定位與低延遲通信至關重要。如圖3展示了CoCube定位系統與通信環境配置,包含一臺上位機電腦、路由器、攝像頭、俯拍相機支架、桌墊以及數個CoCube機器人。

系統通過機器視覺識別各CoCube機器人頂部燈板顯示的標記來跟蹤各機器人的位置和方向。為了高效地識別并區分機器人,本項目選用4×4編碼的ArUco基準標記圖案標識機器人的ID和位姿,共可編碼50個不同的ID,且恰好能在8×8大小的燈板上完整顯示,呈現出較強的視覺觀賞性。系統也保留了直接在機器人頂部粘貼ArUco卡片的方法,在調試階段有更強的易用性。

系統選用羅技C930C攝像頭,在720 p和1080 p分辨率下,最高可達到60 Hz和30 Hz的刷新率。將其用俯拍相機支架固定于距離桌面的高度50 cm的位置時,捕捉畫面的實際尺寸大約為86 cm×48 cm。上位機電腦連接攝像頭后,借助Python的OpenCV庫,可以快速計算出畫面內各個ArUco圖案的ID和位姿。由于ArUco圖案位于機器人頂部,且機器人的高度不可忽略,還需根據透視原理對機器人實際位置進行一定的校正。

此外,系統定制了低反光率、表面摩擦系數大、易于收納的TPU墊作為CoCube機器人的移動平面,保證在實際光場情況下,不會干擾攝像頭對ArUco圖案的識別,也可以減少CoCube機器人驅動輪和移動平面之間的打滑。

系統使用一臺路由器實現局域網的構建。為方便對數量眾多的機器人管理,可登錄路由器管理界面為各個CoCube機器人獨立命名和編號,并綁定一個靜態IP地址,以便節省機器人開機后獲取IP的時間,大大縮短連接等待時間,方便上位機程序中通過IP地址直接對應某一個CoCube。為進一步保證通信質量、降低通信延遲,還應當用網線將電腦與路由器直接連接,并避免CoCube機器人和路由器之間距離過遠。

2 軟件與算法開發

2.1 機器人運動行為校準

如圖 4所示雙輪驅動的運動學模型[14],當機器人的兩個驅動輪分別以vL和vR勻速轉動時,有:

其中:

由于硬件差異,各個機器人的運動行為存在著一定的差異,需要對關鍵參數進行校準。如圖 5所示,首先對機器人電機的最小轉速占空比進行校準,使得機器人剛好能夠克服摩擦力而運動;其次對電機的偏好速度占空比和電機之間的差異進行校準,以保證機器人能夠以標稱的7.5 cm/s的速度移動,且移動3 s產生的橫向偏移不超過2 cm。

▲圖4 雙輪差速移動機器人運動學模型

▲圖5 機器人運動行為校準

2.1 單機器人運動控制

上位機程序識別機器人的位姿后,實時計算出目標點距機器人的偏差距離和相對偏移方向,將上述信息以及目標點指定方向打包成JSON格式,通過用戶數據報協議(UDP)發送給機器人特定的IP地址和端口號。機器人接收到信息后,根據如圖 6所示的基于有限狀態機的位置控制策略,移動到目標位置。

▲圖6 機器人位置控制策略

2.2 多機器人隊形控制

如圖7,以多機器人系統中常用的隊形控制為例,來說明本系統在多機器人控制上的方法。

▲圖7 系統多機器人編隊控制方法

(1) 目標追蹤:通過機器視覺識別出各CoCube機器人頂部的ArUco圖案的ID和位姿,經過校正得到各個機器人實時的位置和旋轉方向。當系統中存在障礙物遮擋的情況下,可增加卡爾曼濾波對各機器人的目標位置進行預測。

(2) 隊形生成:本項目使用基于加權Voronoi圖的區域覆蓋算法,根據所導入圖片的灰度填充任意數量的點,作為多機器人的目標位置。該算法生成的目標點分布均勻、具有較強的視覺吸引力,適用于數量較多、形狀復雜的隊形生成場景。

(3) 角色分配:當機器人由一個隊形變換至另一個隊形時,需要合理為各個機器人分配目標點,避免路徑過度混亂。在本項目中采用匈牙利算法,求解出機器人移動路徑之和最短的分配方法。

(4) 路徑規劃:隨著系統中機器人數量增多,上位機需要為各個機器人設計合理的運動軌跡,避免其在移動過程中相互碰撞。本文使用最佳相互碰撞避免算法(ORCA)規劃出個機器人運動路徑的關鍵點,分次序作為各機器人的目標點。

(5) 燈板顯示:當所有機器人都移動到指定終點目標后,可以控制所有機器人的燈板整體呈現終點目標位置的顏色,或呈現呼吸燈、跑馬燈等動態效果。

2.3 交互功能

在集群機器人研究中,可以增加人機交互功能,本項目采用以下兩種方法。

第一種方法可采用機器視覺。當人手抬起機器人時,攝像頭畫面中ArUco圖案的尺寸會變大;當人移動或者旋轉機器人時,攝像頭也能夠及時捕捉到機器人位姿的變化;此外還可以通過機器視覺實現對人手或者其他物品的識別,作為與多機器人系統交互的觸發事件。

第二種方法可采用機器學習。利用機器人內置的MPU6050陀螺儀,借助TinyML和TensorFlow Lite,識別出抬起、旋轉、晃動等動作,進而控制機器人做出燈光閃爍、變換顏色或者發出聲響等交互效果。

3 應用驗證

3.1 系統應用

本桌面級群控機器人系統的實際應用如圖8所示,可將本系統應用于迷宮路徑規劃、自動跟車、隊形變換、足球機器人等場景。

▲圖8 系統實際應用圖

3.2 系統測試

本文進一步評估了CoCube桌面級群控機器人系統的技術能力,包括:

(1) 通過控制機器人在定位墊上移動固定時間并測量其移動距離,評估機器人的最大移動速度;

(2) 通過控制系統記錄機器人與目標的距離和角度偏差,評估本系統視覺定位和控制方案下機器人的位置和方向精度;

(3) 通過控制上位機以50 Hz頻率發送控制指令,控制機器人與路由器相距5 m,根據機器人單位時間收到控制指令的個數計算通信的丟包率,以評估通信魯棒性;

(4) 通過比較上位機對每個機器人視覺跟蹤、路徑規劃和發送UDP數據包的時間戳,以評估控制環的延遲。

3.3 測試結果

對上述(1)-(3)開展實驗,得到表1的技術參數表。

表1 系統技術參數表

對上述(4)開展實驗,測得平均延遲為:視覺跟蹤7 ms,為單個機器人路徑規劃并發送UDP數據包的總時間為0.65 ms。系統理論上能夠以50 Hz的頻率控制20個機器人。

4 結論

本文針對高校多機器人集群控制研究的需求,設計開發了一款桌面級群控機器人系統,機器人小巧便攜、成本可控,還可以通過機器視覺方法實現厘米級定位和運動控制。經實驗測試,本系統具有較強的魯棒性,在多機器人控制算法快速部署上具有一定的實際價值。

猜你喜歡
機器人系統
Smartflower POP 一體式光伏系統
WJ-700無人機系統
基于PowerPC+FPGA顯示系統
基于UG的發射箱自動化虛擬裝配系統開發
機器人,讓未來走近你
半沸制皂系統(下)
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
機器人來幫你
認識機器人
機器人來啦
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合