趙家進 文漢云
摘要:在諸如污染物泄露、排爆現(xiàn)場、狹小作業(yè)空間等不宜人員出現(xiàn)的危險場景中,可遠程控制并且能將現(xiàn)場圖像傳輸回操作人員眼前的設(shè)備尤為重要?,F(xiàn)有的此類設(shè)備中,其特點多為履帶式底盤,越障能力強;附帶可控機械抓手、視頻采集與傳輸單元;各個單元之間的依賴性較高,需要運行在一個穩(wěn)定的操作系統(tǒng)上。機器人操作系統(tǒng)ROS對現(xiàn)有傳感器數(shù)據(jù)類型進行了分類封裝、定義了各個功能節(jié)點程序之間的通訊方式,能有效組織機器人運動、控制、傳感器數(shù)據(jù)采集等各個功能之間的協(xié)調(diào)穩(wěn)定運行。在ROS的基礎(chǔ)上設(shè)計了一臺具有圖像傳輸、可控抓手、運送物體功能的可視化移動抓取設(shè)備,并構(gòu)造了一臺具有完整功能的設(shè)備樣車。
關(guān)鍵詞:運動學(xué)分析;圖像傳輸;機械臂;ROS
中圖分類號:TP391? ? ? ? ?文獻標識碼: A
文章編號:1009-3044(2021)06-0001-03
Abstract: In dangerous scenes such as pollution leakage, explosion removal sites, and small working spaces that are not suitable for personnel, it is particularly important to remotely control and transmit on-site images back to the operators equipment. Most of the existing equipment of this type is characterized by a crawler-type chassis with strong obstacle surpassing ability; with a controllable mechanical gripper, a video capture and transmission unit; the dependence between each unit is high, and it needs to operate in a stable Operating system. The robot operating system ROS classifies and encapsulates the existing sensor data types, defines the communication mode between each function node program, and can effectively organize the coordinated and stable operation of various functions such as robot motion, control, and sensor data collection. On the basis of ROS, a visual mobile grasping device with image transmission, controllable gripper, and object transportation functions was designed, and a prototype vehicle with complete functions was constructed.
Key words: kinematics analysis; image transmission; robotic arm; ROS
1引言
移動機器人的研究一直是國內(nèi)外各大實驗室的重點研究方向;在他們的不斷努力下,機器人技術(shù)不斷發(fā)展,讓遠程手術(shù)機器人[1]、深海作業(yè)機器人[2]、月球探測機器人[3]的實現(xiàn)成為可能。在日常生產(chǎn)生活中,不免會出現(xiàn)工廠污染物泄露、轉(zhuǎn)移易燃易爆等危險物品、探測狹小空間等可能對人員造成傷害或不宜人員進入的場景?;诂F(xiàn)有技術(shù)和上述場景需求,構(gòu)建一臺具有圖像傳輸、可控機械臂、良好的靈活性的設(shè)備尤為重要;其中,操作系統(tǒng)是管理和實現(xiàn)上述各功能的重要支撐。機器人操作系統(tǒng)ROS的分布式節(jié)點管理機制能夠?qū)⒎稚⒌母鱾€功能節(jié)點聯(lián)系起來;動態(tài)的節(jié)點注冊機制又不會影響各自的獨立性。與此同時,ROS封裝了通用的傳感器數(shù)據(jù)和控制命令類型,在此基礎(chǔ)上能夠快速開發(fā)并實現(xiàn)相應(yīng)的功能。
設(shè)備采用兩輪差速的驅(qū)動方式以及圓形雙層的底盤結(jié)構(gòu),能最小化轉(zhuǎn)彎半徑和保證其靈活性。采用單片機直接控制輪式電機和機械臂的各個舵機;使用樹莓派3B+作為運行ROS和傳輸圖像的硬件設(shè)備;利用WiFi傳輸數(shù)據(jù)于設(shè)備和控制人員之間,人員根據(jù)傳回的圖像操作控制手柄,設(shè)備上的樹莓派主機收到控制指令,通過數(shù)據(jù)線傳輸給單片機,進而控制設(shè)備移動和機械臂抓取。
2底座的運動學(xué)模型
為了能夠最大限度地保證設(shè)備的靈活性,構(gòu)造了如圖5所示的兩輪差速圓形移動底座。該底座由四個輪組成,為兩個驅(qū)動輪和兩個支撐導(dǎo)向輪。驅(qū)動輪電機輸出軸末端帶有編碼器可供測速和調(diào)速以及底座移動里程計算的測量數(shù)據(jù);整個結(jié)構(gòu)一共分為兩層,第一層集成了控制器、電源、驅(qū)動器以及相關(guān)電路。第二層上部分擺放著一枚旋轉(zhuǎn)式測距儀,滿足底座探測四周障礙物功能,便于脫困。
根據(jù)設(shè)想和圖5構(gòu)造的實體,可將底座的運動學(xué)分析[4]繪制如圖2所示。該圖描述了?t時間間隔內(nèi),底座從實線處移動至虛線處。根據(jù)左右驅(qū)動輪被測量的編碼計數(shù)信息可計算?t時間間隔內(nèi)左右輪的平均速度VL,VR,以及整個底座旋轉(zhuǎn)的平均角速度ω和線速度v。具體的計算過程如下所示:
為了提高底座的精準控制程度,需要對兩驅(qū)動輪進行調(diào)速控制,這里使用經(jīng)典的PID(Proportion-Integral-Derivative比例-積分-微分控制器)算法[5],以驅(qū)動輪附屬的編碼器測量值作為輸入反饋,實時輸出電機驅(qū)動器所需的PWM信號實現(xiàn)速度控制。如圖2所示:該算法利用編碼值作為反饋,通過比例系數(shù)、積分系數(shù)、微分系數(shù)三個運算,能較快速地輸出驅(qū)動電機所需的PWM信號,進而控制電機達到目標速度。
頂層的旋轉(zhuǎn)式測距雷達采用飛行時間差(Time of Fly)ToF原理,該原理計量電磁波從發(fā)射到返回的時間差,根據(jù)波速可算出障礙物距離信息;
為輔助人員對移動底座的操作,將移動底座的實時速度信息作為輸入,通過速度對時間的積分推算出移動底座的當前位置,為設(shè)備定位以及返航提供幫助。如圖1所示,若已知上一時刻移動底座的位置位于實線模型處,經(jīng)過Δt時間間隔,可根據(jù)這段時間內(nèi)的左右輪編碼值計算左右輪平均速度,并根據(jù)式(1)可得出底座圓心處的平均線速度和平均角速度。 若該時間間隔Δt充分短,那么可認為該平均速度為瞬時速度;由此,根據(jù)積分學(xué)的思想,即可計算出虛線模型相對于實線模型的位置(x,y)和姿態(tài)θ,推導(dǎo)過程如公式(2)所示:
3圖像壓縮與數(shù)據(jù)傳輸
在如圖5所示的移動底座上安裝了圖像采集攝像頭,由樹莓派處理器采集圖像數(shù)據(jù)并完成壓縮與傳輸。由于樹莓派的WiFi元件的發(fā)射功率有限,以及本著節(jié)約無線傳輸帶寬的目的,這里將攝像頭采集的每一幀圖像都采用JPEG壓縮算法[6]處理,然后再按照一定的幀率傳輸。該圖像壓縮算法的流程圖如圖3所示:
具體的過程為:將需要壓縮的圖像數(shù)據(jù)劃分為8×8的小塊,這樣圖像就被劃分成許多的小塊,每個小塊包含64像素值;小塊大小劃分依據(jù)是方便進行離散余弦(Discrete Cosine Transform)DCT變換[7],變換之后使用統(tǒng)一的量子化表格對變換后的系數(shù)進行量子化,量子化就是選用合適的系數(shù),將構(gòu)成8×8的量子化表,與經(jīng)DCT變換之后的對應(yīng)位置系數(shù)作除運算;最后進行熵編碼以進一步壓縮;最后輸出被壓縮的圖像數(shù)據(jù)。
機器人操作系統(tǒng)ROS的分布式節(jié)點管理機制可以保證節(jié)點之間的數(shù)據(jù)傳輸,而且其核心功能包提供了網(wǎng)絡(luò)通信的TCP和UDP兩種方式,其中ROSUDP適合WiFi等不穩(wěn)定的無線網(wǎng)絡(luò)。因此,將前期通過JPEG算法壓縮的圖像通過ROSUDP方式,以Topic的方式發(fā)布,其余節(jié)點就可以訂閱被壓縮的圖像話題數(shù)據(jù),按照JPEG壓縮的逆過程對其進行還原。
設(shè)備和控制端之間的聯(lián)系如圖4所示,除了傳輸被壓縮的圖像數(shù)據(jù)之外,整個移動底座的控制指令、機械手關(guān)節(jié)電機的轉(zhuǎn)動指令、移動底座的編碼值數(shù)據(jù)均會使用WiFi傳輸??刂贫酥鳈C連接手柄,實時采集手柄信號,然后通過ROS節(jié)點間的Topic通訊方式被設(shè)備主機上的訂閱節(jié)點獲取,該控制信號被設(shè)備主機節(jié)點程序訂閱。然后將具體的執(zhí)行指令通過串口線傳輸給單片機,進而控制機械臂或移動底座的運動。
4機械臂運動學(xué)分析
如圖5所示,這里將一款4自由度的機械臂安裝在底座的第二層上,機械臂的各個關(guān)節(jié)采用的是大功率伺服舵機驅(qū)動,由單片機控制板直接輸出控制信號,轉(zhuǎn)動指定角度。機械臂后方放置的是帶有2自由度的攝像頭,方便終端操作人員查看移動底座四周環(huán)境,以及輔助操作人員抓取物品,攝像頭第一視角畫面在左側(cè)的右上角。
為了便于理解機械臂的構(gòu)造,在上圖右側(cè)繪制了簡易的模型圖。上面右圖中,紅圈代表關(guān)節(jié),關(guān)節(jié)與關(guān)節(jié)之間黑色部分為連桿,箭頭標識了關(guān)節(jié)可旋轉(zhuǎn)的姿態(tài)和角度;末端為一個抓手,負責夾緊待抓取物品。按照Denavit和Hartenberg于1955年提出的對機器人進行表示和建模D-H方法[8],建立了如圖紅色部分所示的坐標系。并根據(jù)機械臂的參數(shù)確定了D-H參數(shù)如上表1所示。
初始狀態(tài)下,也就是圖6所示情況下,θi的數(shù)值如式(2)所示:
可以根據(jù)式(4)所示的變換矩陣[8],求解出坐標系0與坐標系5之間的變換關(guān)系:
5總結(jié)
經(jīng)過研究和實踐,該設(shè)備具有靈活的移動底座、圖像壓縮傳輸、可控制機械臂,三個功能來實現(xiàn)可視化的抓取與搬運動作;旋轉(zhuǎn)測距雷達和編碼器能實現(xiàn)設(shè)備的輔助定位,協(xié)助人員更好地操控底座移動與脫困。為了保證各個功能的穩(wěn)定運行與節(jié)約實現(xiàn)時間,各個子功能節(jié)點程序都是運行在以ROS為操作系統(tǒng)的移動端和控制端主機中,降低了程序的耦合性。
采用4自由度可控機械臂,對其做了基于D-H方法的機械臂運動學(xué)分析,可實現(xiàn)機械臂正逆向求解,為后期自動化抓取提供理論基礎(chǔ)。
綜上所述,從原理技術(shù)層面上對該設(shè)備的功能進行了研究,并且利用現(xiàn)有設(shè)備搭建了一臺簡易的具有完整功能的設(shè)備。
參考文獻:
[1] 閆志遠,梁云雷,杜志江.遠程手術(shù)機器人研究與關(guān)鍵技術(shù)分析[J].機器人技術(shù)與應(yīng)用,2020(2):15-18.
[2] 吳杰,王志東,凌宏杰,等.深海作業(yè)型帶纜水下機器人關(guān)鍵技術(shù)綜述[J].江蘇科技大學(xué)學(xué)報(自然科學(xué)版),2020,34(4):1-12.
[3]劉宏,孫奎,謝宗武,等. 月球及行星探測的機器人技術(shù)[A]. 中國宇航學(xué)會深空探測技術(shù)專業(yè)委員會.中國宇航學(xué)會深空探測技術(shù)專業(yè)委員會第七屆學(xué)術(shù)年會論文集[C].中國宇航學(xué)會深空探測技術(shù)專業(yè)委員會:中國宇航學(xué)會深空探測技術(shù)專業(yè)委員會,2010:9.
[4] 王維新.兩輪差速機器人運動學(xué)分析和控制研究[J].現(xiàn)代電子技術(shù),2012,35(10):93-96.
[5] 鄧良益,易佳,王浩,等.一種基于PID算法的智能小車設(shè)計[J].科技創(chuàng)新與應(yīng)用,2019(30):93-94.
[6] 熊哲源,樊曉平,劉少強,等.一種適用于無線多媒體傳感器網(wǎng)絡(luò)的JPEG圖像編碼算法[J].傳感技術(shù)學(xué)報,2011,24(10):1489-1495.
[7] Cappellini V,del Re E.Image data compression by the discrete cosine transform[J].Mathematics and Computers in Simulation,1985,27(5/6):599-608.
[8]Tony Owen. Introduction to Robotics[J]. Robotica,1991,9(4).
【通聯(lián)編輯:梁書】