美章網 資料文庫 工業機器人嵌入式實時控制系統范文

工業機器人嵌入式實時控制系統范文

本站小編為你精心準備了工業機器人嵌入式實時控制系統參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。

工業機器人嵌入式實時控制系統

1控制系統結構

工業機器人控制系統是一個多任務并行并具有很高實時性的系統。目前主流控制系統大致分為兩種結構[10]。一是多處理器主從式的控制系統。主機一般為IPC,使用INTEL的CPU,運行的是非實時操作系統,例如windows。在主CPU中主要運算一些非實時任務。從機可能是運動控制卡或運動控制器,負責執行伺服控制等實時性高的任務,其CPU一般為嵌入式的DSP,負責復雜的信號處理和伺服控制等運算,再加上FPGA芯片負責系統I/O信號處理。第二種系統結構是單處理器配合實時操作系統。在這種控制器中,所有的任務都要在一個CPU上進行,這就對各個任務如何合理使用CPU時間提出了很高的要求。一開始的機器人多采用單個處理器,但由于當時處理器性能不高,且不能運行實時操作系統,難以滿足對機器人實時性以及復雜的伺服控制的要求。所以隨著時間的推移,多處理器結構占據了主流。近年來,嵌入式實時操作系統的發展給單機處理器完成機器人控制任務提供了可能。通過實時操作系統對所有任務進行CPU時間分配,達到多任務并行處理的效果和極短的中斷響應時間,可以達到機器人控制需求。

本文開發的工業機器人控制系統中的運動控制器是采用上述第二種結構,采用意法半導體公司的STM32F4高性能MCU作為控制器處理器,以嵌入式實時操作系統μC/OS-III作為軟件平臺,在系統中加入不同的任務模塊,完成對四軸搬運機器人的運動控制。μC/OS-III是Micrium公司推出的第三代實時操作系統[11],不同于前一代μC/OS-II,專門對Cortex-M4內核CPU進行優化,能夠利用Cortex-M4的NVIC實現硬件級的中斷響應。同時,能夠實現1ms的系統時鐘節拍,具有搶占式和時間片輪轉任務切換,支持無限個進程優先級,能夠以最短的時間進入中斷,每個任務之間的切換時間為微秒級別。同時它采用標準C語言進行編寫,方便用戶進行編程,任務增減和算法修改。工業機器人控制系統結構如圖1所示。STM32F4是采用當下最高性能的Cortex-M4微控制器內核的MCU,通過MCU自身具有PWM波形生成功能的定時器生成PWM互補信號,發送給伺服驅動器來控制伺服電機;通過帶有增量編碼器接口功能的定時器計算驅動器返回的增量編碼器AB向脈沖信息,由此可計算得到電機每個時刻的位置、速度、加速度信息;通過擁有5V容忍的I/O引腳處理機器人系統數字輸入信號以及給機器人系統發送數字輸出信號;通過MCU自身的A/D外設將傳感器信號轉為MCU可以識別的數字量;通過MCU的USART外設與示教器進行串口通信。此外,MCU提供的CAN總線和Ethernet接口使機器人系統具有可拓展性,可以連接其他各種設備進行通信。由于STM32F4自身帶有的多種外部設備和相當數量的I/O接口,不需要再添加其他的外設芯片便可以滿足一臺工業機器人的控制需要。大大減少了控制器結構的復雜程度,降低了成本。

控制系統對輸入數字信號的處理和伺服電機的控制等都在μC/OS-III中編寫用戶應用代碼來完成。要使用μC/OS-III,首先要完成μC/OS-III在STM32F4上的移植。這其中涉及對源代碼中與CPU相關的代碼的修改,包括μC/OS-III中CPU相關代碼和μC/CPU中相關代碼。移植好后,通過系統配置模塊來給μC/OS-III相應模塊和用戶代碼文件進行參數設置,便可在μC/OS-III系統下,利用μC/OS-III提供的豐富的API函數來編寫用戶任務代碼。BSP文件包含控制板上所有外設的初始化,這樣用戶才能使用這些外設來輸出輸入相應的信號。對用戶代碼,即軟件結構的分析將在下一節進行。這樣,系統軟硬件架構都是具有模塊化和開放性特征,便于修改和升級。

2控制系統軟件結構

在實時操作系統中,需要把要完成的工作分為多個任務來實現。每個任務負責其中一部分工作,由μC/OS-III負責多任務的管理。每個任務都調用μC/OS-III的APIOSTaskCreate()來創建。創建一個任務時,系統為每個任務分配了一個任務控制塊(TCB)、一個堆棧、一個優先級和其他一些重要參數。任務一般設計為無限循環類型任務,每個任務必須調用μC/OS-III的服務函數,使該任務進入等待某個事件的狀態。機器人系統需要有中斷處理,每個中斷服務程序都按照μC/OS-III中中斷函數進行定義。各個任務和中斷服務程序間通過系統信號量OS_SEM和消息隊列OS_Q等進行通信。利用實時操作系統的任務調度來實現任務的合理分配,滿足系統硬實時性要求和多任務并行的要求。機器人控制系統會有很多中斷請求,比如USART接收到數據、以太網控制器接收到數據幀、ADC轉換器完成傳感器信號轉換等,這些外設會向系統請求中斷,系統會在極短的時間內掛起當前運行的任務,進入中斷服務程序。每個中斷服務程序將給不同的任務信息,使等待該中斷的任務進入運行態。整個控制系統軟件是采用模塊化的編寫,用戶可以很方便增減模塊,修改軟件功能。整個控制系統的軟件結構如圖2所示,每個矩形框代表一個模塊。本文的控制系統軟件是用一臺四軸工業機器人的具體應用作為示范。由上圖可知,軟件在運行時,每個系統周期觸發一次系統節拍中斷,系統中斷將使能系統狀態監控、系統狀態顯示和增量編碼器信號處理等任務。通信中斷服務負責接收由示教器或者遠程主機下發的數據幀,并交給任務定義代碼進行數據幀的解析,從而得知用戶希望機器人控制器進行的任務,如系統初始化、系統參數設置、原點復位、數據記錄、手動示教和自動碼垛等。軌跡規劃任務負責對碼垛機器人在抓取點和碼垛點之間的運動軌跡進行規劃,規劃好的軌跡會發送給伺服控制任務,伺服控制任務負責四軸電機的閉環控制,使電機精確跟隨規劃好的軌跡進行運動。外部中斷服務主要是響應數字輸入口的信號變化,外部中斷服務將觸發報警任務、模式切換任務等。每個任務模塊根據重要性不同分配不同的優先級。例如系統狀態顯示任務不需要很高的實時性,給予其較低的優先級;伺服控制任務是極其重要的任務,決定了機器人的運動速度和精度,給予其較高的優先級。機器人系統運行時出錯必須急停,所以報警急停任務使用最高優先級。對于其他用途的工業機器人,系統軟件結構與本文結構并無太大差別,用戶自行增減任務和修改算法便可實現對不同機器人的控制。

3系統實時性分析和性能測試

對于工業機器人系統朝著更高的運行速度和精度發展的趨勢,每個關節間電機運動的同步性、電機運動軌跡的精確性、對系統中斷的響應速度都非常重要。這就意味著控制系統需要很高的實時性,系統軟件必須對相關任務進行快速計算,并且任務之間的切換也要非常快。不同的任務被賦予不同的優先級,在每個系統周期內,先執行優先級高的任務,再執行優先級低的任務。一旦有中斷服務程序,CPU正在執行的任務將被掛起,先執行完中斷服務程序。如果中斷服務程序使另一個更高優先級的任務進入就緒態,則先執行該任務,后執行被中斷的任務。最后回到最低優先級任務。評定實時操作系統性能的好壞,具體指標通過任務切換時間、中斷響應時間,任務執行時間等進行評定。在本文介紹的控制系統中,系統時鐘節拍設定為為1ms,在一個系統節拍內,典型的軟件執行時序如圖3所示。圖3中,A為系統空閑任務,空閑任務執行時間越久說明CPU使用率越低;B為時鐘節拍中斷;C為時鐘節拍任務;D為系統狀態發送任務;E為串口接收中斷,接收上位機下發的指令;F為系統消息隊列;G為電機運動任務,負責閉環控制,1ms發送一次指令至驅動器。

對于系統代碼執行時間的測量,μC/OS-III提供了簡單且精確的函數OS_TS_GET(),此函數可以記下當前處理器的時間戳。在需要測量的代碼前后記錄下時間戳,二者的值之差為處理器在這段時間使用了多少個時鐘周期,對于本文使用的處理器,時鐘周期為1/168000000s。將測量的時間通過串口返回到上位機,可以得到,A到B的中斷響應時間為1μs左右,A到D的時間為5μs左右,C到D的任務切換時間為1μs左右,G任務代碼執行時間為10μs左右。對于目前工業機器人中斷響應不超過500μs的需求,本控制系統能在10μs內執行完中斷服務并使能相關任務,完全滿足需求。對于1ms的伺服控制周期來說,本系統10μs內便能發送四路電機的速度指令,每路電機運動的時間差可以忽略,可認為電機實現了同步運行。同時,在測試時,通過μC/OS-III內嵌測試功能得到的CPU使用率未超過5%,說明了MCU性能足以保證機器人正常運作,同時有足夠能力運算更復雜的控制算法。

4結束語

本文提出的工業機器人實時控制系統采用μC/OS-III實時操作系統和單MCU結構,利用該實時操作系統API進行各個任務模塊定義,通過實時內核的任務調度和中斷處理為系統硬實時性提供了保障,通過MCU強大的運算功能保證了電機運行同步性。同時整個軟件系統采用標準C語言進行編程,方便用戶添加刪除模塊,具有可拓展型和開放性。

作者:何明超 曹其新 冷春濤 單位:上海交通大學 機械與動力工程學院機器人所

主站蜘蛛池模板: 国产亚洲一区二区手机在线观看| 新婚张燕被两个局长| 免费特级黄毛片| 黄色三级免费看| 国内精品伊人久久久久av影院| 中文字幕精品在线视频| 欧美国产日本高清不卡| 免费精品无码AV片在线观看| 香港三级电影在线观看| 国产综合在线观看视频| 一级成人生活片免费看| 欧美激情视频一区二区三区| 冠希与阿娇实干13分钟视频 | 成年人性生活免费视频| 亚洲人成综合在线播放| 看免费毛片天天看| 国产一级做a爱免费视频| 中文字幕在线观看你懂的| 在线视频精品一区| 中文字幕国产在线观看| 欧美成人免费全部观看天天性色| 全部在线播放免费毛片| 91手机看片国产永久免费| 外国一级黄色毛片| 三级很黄很黄的视频| 日本阿v精品视频在线观看| 亚洲国产av美女网站| 熟妇人妻va精品中文字幕| 午夜免费小视频| 菠萝蜜视频在线观看入口| 国产精品久久久久aaaa| 97人人模人人爽人人少妇| 好紧好大好爽14p| 中文字幕免费在线观看动作大片 | 国产xx在线观看| 色之综合天天综合色天天棕色| 国产馆精品推荐在线观看| 99人中文字幕亚洲区| 天海翼大乱欲在线观看| 一个人看的www在线观看免费 | 国产精品欧美视频另类专区|