亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于ROS和IgH主站的多關(guān)節(jié)機器人控制系統(tǒng)設(shè)計

        2022-04-19 10:02:42張小勇王通德
        儀表技術(shù)與傳感器 2022年3期
        關(guān)鍵詞:系統(tǒng)

        張 洪,黃 昭,張小勇,王通德

        (1.江南大學(xué)機械工程學(xué)院,江蘇省食品先進制造裝備技術(shù)重點實驗室,江蘇無錫 214122;2.江蘇南瑞恒馳電氣裝備有限公司,江蘇無錫 214161)

        0 引言

        隨著智能制造的快速發(fā)展和機器人應(yīng)用范圍的擴大,機器人面臨的環(huán)境越來越復(fù)雜,對機器人的性能要求也越來越高。工業(yè)機器人通常由機械臂與固定底座構(gòu)成,在當(dāng)?shù)氐墓ぷ骺臻g內(nèi)執(zhí)行一系列任務(wù)[1]。智能、網(wǎng)絡(luò)化、高精度、高速正成為工業(yè)機器人未來的發(fā)展趨勢。網(wǎng)絡(luò)化控制實現(xiàn)了伺服驅(qū)動器、控制器和傳感器之間的相互通信,以及生產(chǎn)線上各機器人之間的信息交換,簡化了系統(tǒng)結(jié)構(gòu),實現(xiàn)了協(xié)同操作。此外,多關(guān)節(jié)機器人的網(wǎng)絡(luò)化運動控制器是實現(xiàn)高精度、智能化控制的重要因素。然而,傳統(tǒng)機器人系統(tǒng)的開放性和可擴展性較差,大多數(shù)不具備網(wǎng)絡(luò)能力。其控制器通常具有特定的功能,特殊的封閉特性限制了系統(tǒng)的擴展和改進。傳統(tǒng)的機器人控制器軟件難以從一個系統(tǒng)轉(zhuǎn)移到另一個系統(tǒng),且由于控制器的封閉結(jié)構(gòu),難以根據(jù)需求進行擴展。

        機器人開源操作系統(tǒng)(robot operating system,ROS)對于機器人的各種軟硬件進行了封裝,對于不同類型的機器人,通過ROS可以使用相同的方式表示,ROS為用戶提供模塊化的通信機制,用戶可以方便地替換系統(tǒng)內(nèi)的各種模塊,從而促使機器人的研發(fā)周期顯著縮減。實時工業(yè)以太網(wǎng)具有高精度、高實時性以及數(shù)據(jù)傳輸性能強等優(yōu)點,在高精度機器人控制系統(tǒng)中得到廣泛的關(guān)注與應(yīng)用[2]。

        針對現(xiàn)有工業(yè)機器人研發(fā)周期長、實時性差、擴展性能低等問題,本文通過IgH主站與ROS融合,結(jié)合分布式時鐘同步技術(shù),設(shè)計了一種實時性強、同步性高和性能穩(wěn)定的多關(guān)節(jié)機器人控制系統(tǒng)。

        1 控制系統(tǒng)硬件組成

        為了控制系統(tǒng)能夠?qū)崿F(xiàn)高效性和快速傳輸性,采用支持實時工業(yè)以太網(wǎng)EtherCAT的驅(qū)動器進行通訊,多關(guān)節(jié)機器人為典型的串聯(lián)機器人。上位機采用帶有Linux系統(tǒng)以及IgH主站的PC機,機器人控制系統(tǒng)采用一主多從的線性網(wǎng)絡(luò)拓撲結(jié)構(gòu),通過網(wǎng)線將上位機和伺服驅(qū)動器連接。

        2 控制系統(tǒng)軟件架構(gòu)設(shè)計

        控制系統(tǒng)軟件架構(gòu)在帶有IgH主站和ROS的Linux系統(tǒng)下實現(xiàn),軟件架構(gòu)如圖1所示。其中ROS主要提供Moveit!功能包集和ros_control框架,Moveit!作為上層通過插件進行運動規(guī)劃,可以和不同的運動規(guī)劃庫鏈接;ros_control作為下層提供控制器管理器、控制器、硬件資源接口以及硬件抽象層,實現(xiàn)中間控制環(huán)節(jié);IgH主站通過EtherCAT總線與伺服驅(qū)動器進行通信。利用多線程通信,將IgH主站和ROS平臺融合,實現(xiàn)驅(qū)動器編碼器數(shù)據(jù)與多關(guān)節(jié)機器人關(guān)節(jié)角度的傳輸與轉(zhuǎn)換。

        圖1 控制系統(tǒng)軟件框架

        3 控制系統(tǒng)實現(xiàn)

        控制系統(tǒng)實現(xiàn)內(nèi)容主要包括底層驅(qū)動的實現(xiàn),ROS平臺和IgH主站的融合。

        3.1 底層驅(qū)動控制實現(xiàn)

        基于ROS和IgH主站的多關(guān)節(jié)機器人控制系統(tǒng)底層驅(qū)動需要實現(xiàn)以下功能:

        (1)通過EtherCAT通信技術(shù)實現(xiàn)伺服驅(qū)動器與上位機的通信;

        (2)通過分布式時鐘(distributed clock,DC)控制各從站任務(wù)同步執(zhí)行;

        (3)通過硬件交互層為控制器提供硬件抽象層接口,并完成機器人關(guān)節(jié)角度到電機目標(biāo)位置的映射。

        3.1.1 EtherCAT通信實現(xiàn)

        EtherCAT數(shù)據(jù)通過以太網(wǎng)數(shù)據(jù)幀進行傳輸,數(shù)據(jù)幀由主站發(fā)起控制各驅(qū)動器數(shù)據(jù)的接收和發(fā)送,由于以太網(wǎng)設(shè)備具有獨立處理雙向傳輸?shù)墓δ躘3],在一個運行周期內(nèi),各驅(qū)動器可以對主站發(fā)送的下行報文進行直接處理,并從報文中讀取或?qū)懭胂嚓P(guān)用戶數(shù)據(jù),然后將報文數(shù)據(jù)傳輸給下一個驅(qū)動器,當(dāng)所有驅(qū)動器完成數(shù)據(jù)幀的處理后,由最后一個驅(qū)動器從后向前依次發(fā)回報文至主站[4]。工業(yè)機器人通信系統(tǒng)要求能夠在規(guī)定時間內(nèi)完成數(shù)據(jù)的收發(fā),如各軸的狀態(tài)反饋信息,要求數(shù)據(jù)精確且通信延遲抖動低。標(biāo)準(zhǔn)的Linux內(nèi)核只滿足軟實時的要求,由于機器人控制系統(tǒng)對實時性要求較高,所以采用帶有Xenomai實時補丁的內(nèi)核,并將IgH用戶層周期性執(zhí)行任務(wù)移植到Xenomai實時內(nèi)核中[5],通過創(chuàng)建實時任務(wù)的線程,設(shè)定調(diào)度優(yōu)先級,完成Xenomai周期任務(wù),主站和伺服驅(qū)動器通信過程如圖2所示。

        圖2 EtherCAT通信過程

        主站和上位機實現(xiàn)通信后,過程數(shù)據(jù)的讀寫通過EtherCAT應(yīng)用程序來實現(xiàn),PDO通過“數(shù)據(jù)域指針+地址偏移量”的方式直接讀寫[6];再將數(shù)據(jù)域的所有報文插入到主站的報文序列;最后將所有報文發(fā)送到傳輸序列,從而實現(xiàn)主站和伺服驅(qū)動器的數(shù)據(jù)交互。從站的周期性數(shù)據(jù)根據(jù)CiA402去配置,應(yīng)用層采用CoE協(xié)議[7]。本文驅(qū)動器的控制模式為周期性同步位置模式(CSP)。所需配置的PDO以及對象字典如表1所示。

        表1 PDO配置

        3.1.2 分布式時鐘實現(xiàn)

        多關(guān)節(jié)機器人控制系統(tǒng)在實際應(yīng)用中存在多軸聯(lián)動的情況,以執(zhí)行相對復(fù)雜的曲線運動,若關(guān)節(jié)不同步,會產(chǎn)生誤差,因此各從站需要使用相同的系統(tǒng)時間,使從站同步執(zhí)行任務(wù),可以通過分布式時鐘產(chǎn)生同步的輸出信號,同步主從站之間的時鐘,從而實現(xiàn)多軸同步運動。由圖3所示,以n個從站節(jié)點說明各從站時鐘同步過程,包括傳輸延遲計算、時鐘偏移補償和時鐘漂移補償[8],其中選擇從站1為參考時鐘。

        下行報文到達每個從站后,從站寄存器會記錄到達時刻,假設(shè)報文由主站傳輸至參考時鐘從站的時刻記為T1,到達從站n的時刻為T2(n),則有以下關(guān)系:

        T2(n)-T1=Tdelay(n)+Toffset(n)

        (1)

        式中:Tdelay(n)為傳輸延時;Toffset(n)為初始偏移量。

        整理式(1)可得:

        Toffset(n)=T2(n)-T1-Tdelay(n)

        (2)

        上行報文返回主站時,假設(shè)到達從站n的時刻為T3(n),到達參考時鐘的時刻為T4,由于線纜傳輸報文延時均勻,且各從站處理和轉(zhuǎn)發(fā)報文時間一致,可得傳輸延時為

        Tdelay={(T4-T1)-[T3(n)-T2(n)]}/2

        (3)

        根據(jù)式(2)和式(3)可得初始偏移Toffset:

        Toffset=[T2(n)+T3(n)-(T1+T4)]/2

        (4)

        主站發(fā)送報文讀取相關(guān)寄存器得到傳輸延時和時鐘偏移的數(shù)值后,寫入對應(yīng)從站,由于不同時間讀寫寄存器,每個從站會與參考從站產(chǎn)生漂移,因此需要對時鐘漂移進行補償,從而實現(xiàn)時鐘同步。首先系統(tǒng)的本地時間Tsys_local(n)和參考時間要維持同步關(guān)系,可得本地系統(tǒng)時間為

        Tsys_local(n)=Tlocal(n)-Toffset(n)

        (5)

        式中Tlocal(n)為每個從站的本地時間。

        其次將參考時鐘的系統(tǒng)時間Tsys_ref寫入到其他從時鐘設(shè)備中,然后利用參考時鐘系統(tǒng)時間Tsys_ref和傳輸延時Tdelay(n),得到時鐘漂移補償Δt:

        Δt=Tlocal(n)-Toffset(n)-Tdelay(n)-Tsys_ref

        (6)

        根據(jù)時鐘漂移補償?shù)臄?shù)值,從站本地時鐘需要調(diào)整其運行速度,即在每個運行周期通過增加ΔT的值來補償時間偏差,ΔT的取值方法如下:

        (7)

        為保證多關(guān)節(jié)機器人控制系統(tǒng)的同步性,首先控制整個系統(tǒng)和伺服驅(qū)動器同時上電,避免通訊部分因非同步上電造成失同步故障。其次,通過初始化時鐘完成系統(tǒng)時間的同步,包括傳輸延時的測量、時鐘偏差和時鐘漂移的補償[9]。然后,通過初始化同步信號完成DC從站的同步,設(shè)置同步信號的周期時間,同步信號的周期時間和控制系統(tǒng)關(guān)節(jié)位置插補周期保持一致。最后控制寄存器,設(shè)置同步信號的開始時間,并激活同步信號。同步信號激活后,機器人控制系統(tǒng)在中斷服務(wù)程序中進行插補運算,然后將數(shù)據(jù)發(fā)給從站,從站接收到同步信號后,對數(shù)據(jù)進行處理,并轉(zhuǎn)發(fā)給主站,完成周期性數(shù)據(jù)交換。

        3.1.3 硬件交互層

        ros_control定義了機器人硬件接口,控制器通過硬件接口與機器人硬件連接,通過接口層自定義機器人并使用控制器管理器進行控制[10]。

        使用硬件交互層與機器人硬件連接首先需要初始化,獲取機器人的關(guān)節(jié)名,并對關(guān)節(jié)的位置、速度、力矩等信息重新分配空間;然后連接并注冊機器人的狀態(tài)接口和位置接口[11]。完成初始化工作后,對機器人的信息進行讀取和寫入。通過API讀接口,主站可以在從站設(shè)備中獲取數(shù)據(jù)幀并處理報文,讀取各從站的狀態(tài)字、當(dāng)前位置以及當(dāng)前速度;通過API寫接口,主站將控制字、目標(biāo)位置寫入機器人系統(tǒng),從而控制機器人運動。其中目標(biāo)位置是由關(guān)節(jié)角度轉(zhuǎn)化為電機脈沖,再通過中間變量轉(zhuǎn)發(fā)給從站實現(xiàn)運動,目標(biāo)位置與關(guān)節(jié)角度的轉(zhuǎn)換關(guān)系為

        (8)

        式中:W(n)為各從站的目標(biāo)位置(n=1,2,3,4,5,6);θ(n)為每個關(guān)節(jié)的關(guān)節(jié)角度(n=1,2,3,4,5,6);P為電機轉(zhuǎn)一圈指令脈沖數(shù);R為減速比。

        上位機讀取關(guān)節(jié)角度的反饋只需反解此式。

        完成硬件交互后,在循環(huán)中,分別執(zhí)行讀取和發(fā)送任務(wù),并周期性地更新控制器的狀態(tài),保證實時任務(wù)的更迭。

        3.2 ROS平臺和IgH主站的融合

        ROS平臺和IgH主站是兩個獨立的架構(gòu),都采用模塊化設(shè)計[12]。為實現(xiàn)ROS和IgH主站的數(shù)據(jù)交互,將IgH主站模塊封裝為ROS下的驅(qū)動節(jié)點。在相應(yīng)的節(jié)點中,將需要傳遞的數(shù)據(jù)保存在自定義消息中,以發(fā)布和訂閱話題的形式,將所需的機器人關(guān)節(jié)位置等狀態(tài)參數(shù)傳遞至主站,在主站的周期性任務(wù)中實現(xiàn)過程數(shù)據(jù)的交換。同時,通過多線程通信,允許多個節(jié)點同時存在,不同的功能由不同的線程執(zhí)行。ROS平臺和IgH主站的融合流程如圖4所示。

        圖4 ROS平臺和IgH主站融合流程

        多線程通信的頻率對系統(tǒng)的延遲、實時性以及穩(wěn)定性具有一定的影響,頻率越大,控制系統(tǒng)數(shù)據(jù)的傳輸速率越高,但頻率過大會造成系統(tǒng)的損壞。為選取合適的多線程通信頻率,展開實驗,觀察不同頻率下,系統(tǒng)的運行情況,實驗結(jié)果如表2所示。

        由表2可知,多線程通信頻率過高,會引起控制系統(tǒng)的卡死,頻率過低,會增大系統(tǒng)的延遲,降低實時性,控制效果不佳。因此,將多線程通信頻率控制在1 000~1 250 Hz。

        4 實驗

        本系統(tǒng)運行在ROS平臺和IgH主站中,運行環(huán)境為Ubuntu14.04+Xenomai2.6.5 +IGH EtherCAT Master,上位機采用一臺華碩筆記本,采用一主多從的線性拓撲結(jié)構(gòu)將驅(qū)動器和多關(guān)節(jié)機器人連接,多關(guān)節(jié)機器人實驗平臺如圖5所示。

        圖5 控制系統(tǒng)實驗平臺

        4.1 系統(tǒng)實時性測試

        在機器人的控制系統(tǒng)中,提高系統(tǒng)的實時性是關(guān)鍵問題,本文通過多線程通信,將系統(tǒng)任務(wù)劃分為實時域和非實時域。對本文設(shè)計的控制系統(tǒng)進行實時性能評估,將系統(tǒng)程序分別運行在Linux內(nèi)核和Xenomai實時內(nèi)核下,測量并記錄IgH主站運行周期時間,結(jié)果如圖6所示。由圖6(a)可知,在Linux內(nèi)核下,周期在0.2~6.5 ms波動;由圖6(b)可知,在Xenomai實時內(nèi)核下,周期波動基本穩(wěn)定在0.04 ms,表明在Xenomai內(nèi)核下,IgH主站的周期抖動性更小,EtherCAT的通信更加穩(wěn)定,實時性更強,保證了數(shù)據(jù)傳輸?shù)木_性。

        通過實時性測試工具Latency,設(shè)置實時任務(wù)周期為1 ms,分別對系統(tǒng)在用戶、內(nèi)核以及定時器中斷模式下的任務(wù)調(diào)度延遲進行測試,測試結(jié)果如表3所示。由表3可知,用戶模式下,實時任務(wù)調(diào)度最大延遲為11.038 μs,占整個測試周期的0.11%;內(nèi)核模式下,實時任務(wù)調(diào)度最大延遲為8.672 μs,占整個測試周期的0.08%;定時器中斷模式下,實時任務(wù)調(diào)度最大延遲為5.691 μs,占整個測試周期的0.05%。由測試結(jié)果可知,系統(tǒng)任務(wù)調(diào)度延遲從用戶、內(nèi)核到定時器中斷模式依次降低,系統(tǒng)實時性依次增強,說明該系統(tǒng)具有良好的實時性。

        (a)Linux內(nèi)核運行周期

        (b)Xcnomai內(nèi)核運行周期圖6 主站周期分布

        表3 系統(tǒng)任務(wù)調(diào)度延遲測試 μs

        4.2 關(guān)節(jié)同步性測試

        多關(guān)節(jié)機器人在執(zhí)行較復(fù)雜的任務(wù)時,關(guān)節(jié)間的同步性影響著機器人軌跡規(guī)劃的精度:同步性越好,精度越高。為驗證關(guān)節(jié)間的同步性,對各關(guān)節(jié)設(shè)置相同的目標(biāo)位置,觀察機器人從初始位置到目標(biāo)位置的軌跡變化,根據(jù)各關(guān)節(jié)軌跡變化的一致度,判斷關(guān)節(jié)的同步性能。在實際應(yīng)用中,機器人不會一直處于無負載狀態(tài),因此,進行了無負載狀態(tài)和有負載狀態(tài)下關(guān)節(jié)同步性能的測試。利用基于Qt的應(yīng)用程序PlotJuggler,記錄關(guān)節(jié)的軌跡變化,直觀反映關(guān)節(jié)間的同步誤差。無負載和有負載狀態(tài)下關(guān)節(jié)同步性的測試結(jié)果如圖7和圖8所示。

        (a)關(guān)節(jié)原始測量角度

        (b)編碼器輸出數(shù)值圖7 無負載關(guān)節(jié)同步性能測試

        (a)關(guān)節(jié)原始測量角度

        (b)編碼器輸出數(shù)值圖8 有負載關(guān)節(jié)同步性能測試

        由圖7(a)可知,無負載狀態(tài)下,在關(guān)節(jié)剛接收到控制指令運動后,兩關(guān)節(jié)的輸出角度誤差在0.001 25 rad左右,短暫時間后,各關(guān)節(jié)軌跡曲線重合。由圖7(b)可知,將關(guān)節(jié)角度處理成電機的編碼器數(shù)值輸出,電機的編碼器數(shù)值曲線重合。

        由圖8(a)可知,有負載狀態(tài)下,各關(guān)節(jié)軌跡未重合,關(guān)節(jié)間的輸出角度誤差穩(wěn)定在0.001 rad。將關(guān)節(jié)角度處理成編碼器數(shù)值后,由圖8(b)可知,由于誤差極小,編碼器數(shù)值曲線重合。由測試結(jié)果分析可知,無負載和有負載狀態(tài)下,關(guān)節(jié)間均呈現(xiàn)出較高的同步性,滿足工業(yè)機器人的控制要求。

        4.3 軌跡規(guī)劃誤差測試

        完成控制系統(tǒng)的實時性和同步性測試后,需要對多關(guān)節(jié)機器人的軌跡規(guī)劃誤差進行測試,設(shè)置機器人各關(guān)節(jié)角度的期望值,采用改進的快速擴張隨機樹算法進行運動規(guī)劃,測試結(jié)果如圖9所示。

        圖9 關(guān)節(jié)軌跡誤差

        由圖9可知,各關(guān)節(jié)的期望值為[0.2,0.1,-0.1,-0.15],運行結(jié)果為[0.199 993,0.099 977 2,-0.100 054,-0.150 023],誤差較小。為驗證控制系統(tǒng)的穩(wěn)定性,設(shè)置60個不同的位姿,得出每個關(guān)節(jié)軌跡誤差的平均值,測試結(jié)果如表4所示。

        表4 關(guān)節(jié)軌跡誤差測試

        由表4可知,關(guān)節(jié)1到關(guān)節(jié)4的平均軌跡誤差值分別為1.2×10-4rad、1.7×10-4rad、3.0×10-5rad和2.0×10-5rad,軌跡規(guī)劃精度較高,滿足控制要求。

        5 結(jié)論

        本文針對現(xiàn)有工業(yè)機器人控制系統(tǒng)存在的實時性差、同步性低以及軌跡規(guī)劃精度低等問題,設(shè)計了基于ROS和IgH主站的多關(guān)節(jié)機器人控制系統(tǒng),采用多線程通信,將IgH主站、Moveit!以及ros_control融合,選取合適的任務(wù)控制周期,在IgH主站下采用分布式時鐘,使該機器人得到有效控制。通過對系統(tǒng)的實時性、同步性以及軌跡規(guī)劃誤差進行測試:該機器人控制系統(tǒng)運行周期波動穩(wěn)定在0.04 ms;關(guān)節(jié)間的輸出角度誤差穩(wěn)定在0.001 rad;關(guān)節(jié)1到關(guān)節(jié)4的平均軌跡誤差值為1.2×10-4rad、1.7×10-4rad、3.0×10-5rad和2.0×10-5rad。表明該多關(guān)節(jié)機器人控制系統(tǒng)具有良好的實時性、同步性以及可靠性。

        猜你喜歡
        系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機系統(tǒng)
        ZC系列無人機遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        基于PowerPC+FPGA顯示系統(tǒng)
        基于UG的發(fā)射箱自動化虛擬裝配系統(tǒng)開發(fā)
        半沸制皂系統(tǒng)(下)
        FAO系統(tǒng)特有功能分析及互聯(lián)互通探討
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        一德系統(tǒng) 德行天下
        PLC在多段調(diào)速系統(tǒng)中的應(yīng)用
        www夜插内射视频网站| 国产毛片A啊久久久久| 伊人久久大香线蕉综合av| 日韩人妻中文字幕高清在线| 国产永久免费高清在线| 国产精品成人av在线观看| 五月天无码| 成人av一区二区三区四区| 精品国品一二三产品区别在线观看| 中文亚洲成a人片在线观看| 亚洲AV无码专区国产H小说| 精品国产日产av在线| 中文无码人妻有码人妻中文字幕 | 亚洲一区二区三区播放| 国产三级欧美| 蜜臀久久久精品国产亚洲av| 国产精品18久久久白浆| 国产精品无码av天天爽 | 国内色精品视频在线网址| 久久精品日本不卡91| 久久久精品人妻无码专区不卡 | 亚洲美女国产精品久久久久久久久| 成人一区二区三区激情视频| 国产特黄级aaaaa片免| 国产偷国产偷亚洲清高| 中文字幕五月久久婷热| 亚洲国产综合久久天堂| 奇米影视777撸吧| 福利视频一二区| 九一精品少妇一区二区三区| 日韩精品专区av无码| 人妻人人澡人人添人人爽人人玩| 蜜桃一区二区免费视频观看 | 久久精品国产成人午夜福利| 丁香五香天堂网| 区无码字幕中文色| 亚洲中文字幕剧情类别| 久久er99热精品一区二区| 婷婷激情六月| 少妇人妻精品久久888| 国产日产精品一区二区三区四区的特点 |