999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于ROS的智能工業機器人系統開發平臺①

2017-10-20 03:08:19楊東升廉夢佳王麗娜
計算機系統應用 2017年10期
關鍵詞:智能化系統

劉 鳳 ,楊東升 ,廉夢佳 ,張 展 ,王麗娜

1(中國科學院 沈陽計算技術研究所,沈陽 110168)2(中國科學院大學,北京 100049)

基于ROS的智能工業機器人系統開發平臺①

劉 鳳1,2,楊東升1,廉夢佳1,2,張 展1,2,王麗娜1,2

1(中國科學院 沈陽計算技術研究所,沈陽 110168)2(中國科學院大學,北京 100049)

目前,工業機器人對于機器視覺、自主路徑規劃等智能化功能需求日益增長.然而在傳統工業機器人系統中添加智能化功能模塊時需要修改大量的源碼,浪費了人力和成本.本文提出的基于ROS的易擴展機器人系統開發平臺,能為開發者開發智能工業機器人系統提供了方便.本平臺分為服務器端和機器人端.將機器人端作為一級節點,與安裝ROS的PC服務器端進行通信.機器人一級節點由二級功能節點與功能模塊組成.根據此平臺開發實現的JPB06六自由度工業機器人系統具有機器視覺、自主定位、語音控制等智能化功能,可以滿足工業機器人對于智能化和實時控制的需求.

工業機器人; ROS; 系統開發平臺; 智能化

社會對于工業機器人智能化、自動化需求的逐漸增長,促進了智能機器人相關基礎領域的成熟,如計算機視覺、語音識別與合成、室內移動機器人算法等,但是這些基礎領域不能很好的結合,導致了機器人研究過程中需要統一開發測試平臺.為此,Williow Garage發布了開源分布式軟件框架ROS[1](robot operating systerm).

ROS起源于2007年斯坦福大學人工智能實驗室與 Williow Garage 公司合作的 PR(personal robot)項目,是運行在主操作系統上的中間件,從本質上它是一種分布式模塊化的開源軟件框架.ROS為機器人研發領域提高代碼復用率,為工業機器人智能化的發展提供了方便.ROS主要有以下幾個特點.一、所有進程以及他們所進行的數據處理,將會通過一種點對點的網絡形式表現出來.二、支持多種語言開發.三、集成已有的開源項目代碼.四、工具包豐富.五、開源且免費.但是其缺點是基于Linux的ROS實時性不能滿足工業需求.

現如今主要有四種解決方法:第一種是將實時系統嵌入ROS中,如美國西南研究院(SwRI)推出ROSIndustrial[2].第二種是在實時系統中植入ROS功能包[3].第三種是開發實時軟件框架,比如北京航空航天大學推出的 RGMP-ROS[4](RTOS and GTOS on Multi Processors-ROS)將ROS節點分為實時節點與非實時節點,并分別運行在實時系統和非實時系統中.第四種是2016年發布的符合工業級標準的ROS2.0[5],因為ROS2.0內部的DDS(數據分發服務)消耗過大,并且其穩定性比ROS1.0低,所以本文選取ROS1.0.

本文結合中國科學院沈陽計算技術研究所工業機器人與數控機床數控系統已有的工業機器人系統開發技術,提出新型易擴展的智能化工業機器人系統開發平臺.該平臺能夠提高工業機器人系統開發的靈活性.

1 ROS 開源平臺

ROS的主要目標是為機器人研究和開發提供代碼復用的支持,其最重要的貢獻是提供基于異構計算集群的主機操作系統的結構化通信標準,并且通過使用節點將代碼和功能解耦,提高了系統容錯能力和可維護性,使系統簡化.目前,開發者和開源 ROS 開發人員為ROS共享社區貢獻了各個領域的軟件包,如SLAM定位算法、坐標轉換tf庫、機器視覺開源庫OpenCV和OpenNI等.由于ROS代碼的高可重用性和可擴展性,基于ROS的機器人系統可以通過利用社區中已有的代碼方便地用于二次開發和復雜應用,實現了成熟的基礎領域結合.目前支持ROS的機器人已經有40多種,包括FANUC、ABB、安川、ADEPT等大型企業的工業機器人.以下分析傳統工業機器人開發平臺和單純基于ROS的機器人開發平臺的利弊,并給出本文提出的系統開發平臺結構.

1.1 傳統工業機器人系統開發平臺

傳統工業機器人系統開發平臺如圖1所示.中間件為應用軟件共享資源提供支撐,提供其運行與開發環境.實時操作系統實現對硬件部件的編程控制和接口操作,為應用軟件提供一個實時的執行環境和對硬件的虛擬接口,滿足工業機器人對實時性需求.依據模塊化和分層結構思想,有利于系統整體的開放性和模塊化設計.但是使用傳統工業機器人系統開發平臺有以下缺點.其一,各大機器人公司的軟件非開源,使得開發一個機器人系統困難重重,成本巨大.其二,不同的機器人廠商使用的操作系統、中間件以及編程語言各有區別,使得各種先進的基礎領域不能直接共享.其三,模塊間聯系緊密,不利于添加或刪除某一模塊.其四,不同的控制系統,導致了機器人系統不具備可移植性.其五,人機交互界面不統一使得開發者和使用者需要具備更專業水平.綜上所述,傳統工業機器人系統開發平臺并不有利于開發智能化工業機器人系統.

圖1 傳統工業機器人系統開發平臺

1.2 單純基于ROS的工業機器人系統開發平臺

單純基于ROS的工業機器人系統開發平臺如圖2所示.此平臺提供機器人開發的統一標準,并且由于ROS內部節點的概念,使得開發者可以利用ROS社區共享的豐富軟件包快速開發機器人系統或者修改、添加、刪除功能節點.但是,由于ROS是運行在Linux之上的中間件,所以通過該平臺開發的機器人系統在實時性上滿足不了工業機器人需求,并且大部分功能包針對 PC 設計,相比于嵌入式,靈活性低.所以本文提出新型基于ROS的智能工業機器人系統開發平臺.

圖2 單純基于ROS的工業機器人系統開發平臺

1.3 基于ROS的工業機器人系統開發平臺

基于ROS的工業機器人系統開發平臺如圖3所示.該平臺通過使用統一的軟件開發框架ROS為開發者開發智能化工業機器人系統過程中方便地添加、刪除智能化模塊,并且本平臺利用傳統工業機器人系統的中間件與RTOS執行實時任務,滿足工業機器人對于實時性需求.該平臺不僅能滿足工業機器人系統的需求,也可開發非工業機器人、多機器人系統.

2 基于ROS的工業機器人系統開發平臺

此平臺主要有一下幾個特點.第一,平臺主要分為PC服務器端和機器人端.運行ROS的服務器端作為開發平臺的核心,提供路徑規劃、視覺、避障等復雜計算的功能,控制機器人端的運動軌跡,并實時展現機器人狀態.相比于傳統基于ROS的機器人系統開發平臺中的將所有節點運行在一起,將高消耗的節點運行在服務器端會分散CPU壓力,提高系統穩定性.第二,在此平臺中將一個要開發的機器人看成一個單獨的一級節點與服務器端通信,而不是將機器人內部各個傳感器、各功能模塊單獨看做一個節點.機器人一級節點由功能二級節點與傳統工業機器人各個模塊組成,主要控制機器人的運動.使用機器人一級節點比繁多的二級節點更便于多機器人系統開發.第三,相比于圖2,此平臺通過傳統工業機器人中間件和RTOS為智能化工業機器人系統開發提供實時性.第四,相比于圖1,此平臺利用ROS可以方便的添加智能化模塊,并進行傳感器數據獲取與數據處理等.

圖3 基于ROS的工業機器人系統開發平臺

2.1 硬件層

工業機器人的硬件層主要是執行器、傳感器和外圍設備.執行器包括輔助機器人完成運動和動作的電機和臂,對于底盤固定的工業機器人最主要的控制量就是控制機器手臂等關節的移動,所以機器人驅動器中最根本和本質的問題就是控制電機,控制電機轉的圈數,即控制機器人六個關節軸,就可以控制機器人移動的距離和方向、機械手臂的彎曲的程度或者移動的距離等.同時為了保證控制量的精確度,需要各種傳感器反饋,及時對于機械臂控制做出調整.傳感器,是機器人和現實世界之間的紐帶,包括視覺傳感器、激光傳感器、里程計等.視覺傳感器微軟Kinect可以提供真實環境的三維深度數據.由超聲波和激光傳感器組成距離傳感器以提高碰撞檢測時環境數據的精確度.取向傳感器,例如加速度計,里程表和陀螺儀,用于檢測機器人的位姿.

2.2 驅動層

驅動層的作用是為系統層程序提供硬件的操作接口,并且實現硬件的驅動程序.驅動層主要包括總線驅動、伺服驅動、傳感器驅動和網絡模塊驅動等.在驅動層利用控制器板如Arduino或Raspberry Pi來管理驅動器和外設.Arduino主要應用于控制電機驅動和各類傳感器(比如超聲波、IMU等),然后和ROS的上機位通訊,交換數據.rosserial_arduino 包允許 Arduino 作為一個ROS的節點,可以直接發布和訂閱ROS的消息,發布TF變換,以及獲取ROS的系統時間.

2.3 系統層

在系統層,采用基于Linux的ROS核心庫與基于RTOS的傳統模塊結合的方式.機器人一級節點通過ROS核心庫與服務器通信,并且具有一定的自主運動控制機器人能力.ROS核心庫主要運行在嵌入式Linux中,用于接收服務器的命令,通過驅動通信向模塊發送目標位姿等信息,并且通過驅動接收各種傳感器的數據用于自身的局部路徑規劃和碰撞檢測等,同時傳送傳感器數據給服務器用于建立現實環境的三維模型.保留基于RTOS的傳統模塊化結構是為了保障機器人的實時性和可靠性.

2.4 服務器層

服務器收集來自傳感器的數據來維護機器人周圍環境的三維數據,進行復雜的數據處理得出機器人目標位姿.并將目標位姿信息傳遞給機器人一級節點,用于運動規劃,進而控制機器臂的運動.同時服務器通過三維可視化工具RVIZ顯示三維模型和機器人實時狀態.ROS master(節點管理器)運行在服務器上,控制所有機器人一級節點與其他功能節點通信.用戶可以使用ROS開源社區提供的功能軟件包來開發所需的功能,如自主導航、圖像處理、碰撞檢測等.服務器中的節點與機器人一級節點通信通過配置master節點的ROS_MASTER_URI來通信.基于PC的服務器在保證整個系統的操作能力外,具有更便利的人機交互能力和在復雜和動態環境下,比機器人主機更容易配置的優點.此開發平臺也可滿足多機器人系統的開發,只要將其他機器人一級節點與master節點通信即可.

3 JPB06 機器人系統

利用以上設計的機器人系統開發平臺,本節實現了六自由度串聯工業機器人JPB06系統.JPB06機器人由機器人本體、PC、控制柜組成,具有視覺、可視化、自主運動規劃、自主定位等功能,如圖4所示.以下通過PC和控制柜說明本文提出的平臺的應用示例,并給出實驗結果.

圖4 工業機器人 JPB06

3.1 PC

PC機作為服務器端運行Ubuntu14.04與ROS hydro.主要有兩個功能:通過Zynq中采集的數據維護機器人工作的三維環境、提供機器人全局路徑規劃功能,并將目標位姿信息傳送到Zynq中對應的節點.提供人機交互服務.

3.2 控制柜

控制柜中主要有兩部分組成,運行ROS的Zynq-7000 EPP,和機器人控制器.

Zynq-7000可擴展處理平臺(EPP)中運行Ubuntu-14.04,并且安裝ROS核心包.Zynq接收底層傳感器的高速數據,傳感器包括激光傳感器、Kinect傳感器、里程計、陀螺儀、加速度計等.Kinect傳感器數據用于服務器端生成三維地圖.激光傳感器用于地圖數據更精確,同時也為機器人在局部運動規劃時提供更可靠的數據.里程計、陀螺儀與加速度計用于控制機器人位姿.

工業機器人功能二級節點很多,節點間的信息交互很頻繁,并且信息量大,為了提升系統通信性能,做了以下兩點變化.一、在機器人節點內部使用共享內存方法把傳感器數據memory-map到內存中,只傳遞數據的地址和大小信息.相比同一機器中的ROS節點間的通信使用網絡棧的loop-back機制,即每一個數據包都需要經過多層軟件棧處理,數據延遲已經控制在20us以內.二、使用輕量級的序列化程序.將ROS的通信棧中傳輸數據損耗最大的序列化延時降低50%.

為了保證ROS內節點的安全性,防止某一節點無限消耗系統內存,從而導致的系統崩潰,本平臺采用Linux Container(LXC)來管理每一個ROS節點進程,LXC有效地將單個操作系統管理的資源劃分到孤立的群組中,以更好地在孤立的群組之間平衡有沖突的資源使用需求.并且LXC消耗極少量的CPU資源.

3.3 實驗結果

本次實驗通過訊飛語音控制機器人運動驗證本文提出的智能工業機器人系統開發平臺的可行性.語音識別的工作過程如圖5所示.Wakeup節點監聽語音并將聲音信號作為消息發送到xfwakeup主題,xfasr節點訂閱了xfwakeup主題,一邊采樣聲音信號,一邊進行識別.若識別成功,則將返回的結果發送到xfunderstand主題,將失敗提示語發送到 xfsaywords主題.explain節點訂閱xfunderstand主題,通過control_cmd主題發送識別結果解析后的消息.機器人控制節點接收這一消息,并根據消息內容進行不同的控制策略.

圖5 ROS 中訊飛語音包識別語音過程

測試語音為“向下”時,訊飛語音包識別出“向下”命令,并發送給機器人控制節點.機器人控制節點在接到“向下”命令時確定機器人目標位姿,然后控制機器人運動規劃.(為方便展示,將此目標位姿在機器人控制節點中與“向下”命令對應.).圖6中間兩個截圖為運動過程中軌跡截圖.實驗顯示,JPB06能夠順利根據語音指令移動到目標位姿.此實驗表明了本文提出的機器人系統開發平臺能夠開發機器人系統.

圖6 RVIZ 中顯示的機器人運動過程

4 總結

本文提出一種能夠提高工業機器人智能化水平的機器人系統開發平臺,該平臺將運行ROS的PC作為服務器端,主要負責復雜的計算、可視化和人機交互等任務.單個機器人作為機器人一級節點,由二級功能節點和任務控制等模塊組成.這樣系統可以在智能化和可靠性上都能滿足智能工業機器人的需求.

本文主要做了語音控制運動實驗驗證了平臺的可行性.本平臺可用于開發一系列工業機器人系統,也可用于開發多機器人系統和非工業機器人系統,如足球機器人系統、服務類機器人系統、無人機系統等.使用本平臺開發其他具有更多功能模塊的機器人系統時,可以通過ROS社區提供的全球共享的開源功能包添加所需功能.

1ROS/technical overview.http://wiki.ros.org/.[2016].

2ROS/industrial.http://wiki.ros.org/Industrial.[2016].

3Huang Z.Development and implementation of a ROS-based software framework for real-time control of robots[MSc.thesis].Beijing:Beihang University,2013.

4Wei HX,Huang Z,YU Q,et al.RGMP-ROS:A real-time ROS architecture of hybrid RTOS and GPOS on multi-core processor.Proc.of 2014 IEEE International Conference on Robotics and Automation (ICRA).Hong Kong,China.2014.2482–2487.

5ROS/ROS2.0.http://design.ros2.org/.[2016].

6Joseph L.Mastering ROS for Robotics Programming.Packt Publishing Ltd.,2015.

7Yu Q,Wei HX,Liu M,et al.A novel multi-OS architecture for robot application.Proc.of 2011 IEEE International Conference on Robotics and Biomimetics (ROBIO).Karon Beach,Phuket,Thailand.2011.2301–2306.

8Hu CX,Hu C,He DX,et al.A new ROS-based hybrid architecture for heterogeneous multi-robot systems.Proc.of 2015 27th Chinese Control and Decision Conference (CCDC).Qingdao,China.2015.4721–4726.

9Boren J,Cousins S.Exponential growth of ROS[ROS Topics].IEEE Robotics & Automation Magazine,2011,18(1):19–20.

10Li XM,Yang CJ,Chen Y,et al.Hybrid event based control architecture for tele-robotic systems controlled through internet.Journal of Zhejiang University Science,2004,5(3):296–302.[doi:10.1631/jzus.2004.0296]

Development Platform of Intelligent Industrial Robot System Based on ROS

LIU Feng1,2,YANG Dong-Sheng1,LIAN Meng-Jia1,2,ZHANG Zhan1,2,WANG Li-Na1,21(Shenyang Institute of Computer Technology,Chinese Academy of Sciences,Shenyang 110168,China)2(University of Chinese Academy of Sciences,Beijing 100049,China)

At present,there is an increasing demand for intelligent functions such as machine vision and autonomous path planning in industrial robots.However,adding intelligent function modules in the traditional industrial robot systems requires a lot of source code modification,wasting manpower and cost.An easy-to-extend robot system development platform based on ROS presented in this paper provides developers with the convenience of developing intelligent industrial robotic systems.The platform is divided into server-side and robot-side.The robot-side as a first-level node,communicates with the server-side installed with the ROS.The first-level node of the robot consists of the second-level functional nodes and functional modules.According to this platform,the JPB06 6-DOF industrial robot system has intelligent function modules,such as machine vision,autonomous positioning and voice control,which can meet the needs of industrial robots for intelligent and real-time control.

industrial robot; ROS; system development platform; intelligence

劉鳳,楊東升,廉夢佳,張展,王麗娜.基于ROS的智能工業機器人系統開發平臺.計算機系統應用,2017,26(10):77–81.http://www.c-sa.org.cn/1003-3254/6019.html

2017-01-09; 采用時間:2017-02-23

猜你喜歡
智能化系統
智能化戰爭多維透視
軍事文摘(2022年19期)2022-10-18 02:41:14
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
大型公共建筑智能化系統造價控制
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
智能化的“世界觀”
印刷工業(2020年4期)2020-10-27 02:46:02
印刷智能化,下一站……
印刷工業(2020年4期)2020-10-27 02:45:52
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
主站蜘蛛池模板: a毛片在线| 久久精品国产精品青草app| 日本少妇又色又爽又高潮| 亚洲二区视频| 在线色国产| 成人午夜久久| 18禁黄无遮挡免费动漫网站| www亚洲天堂| 91无码国产视频| 五月婷婷亚洲综合| 中文毛片无遮挡播放免费| 欧美日韩精品在线播放| 欧美自拍另类欧美综合图区| 黄色网站不卡无码| 精品欧美视频| 99久久免费精品特色大片| 91美女视频在线| 好吊妞欧美视频免费| 精品一区二区三区波多野结衣| 久久亚洲国产最新网站| 国产成人艳妇AA视频在线| 中文字幕欧美日韩| 成人精品午夜福利在线播放| 97超级碰碰碰碰精品| 在线99视频| 国产成人夜色91| 国产高清国内精品福利| 国产99视频免费精品是看6| 国产在线自揄拍揄视频网站| 国产丝袜91| 午夜高清国产拍精品| 久久伊人久久亚洲综合| 国产伦片中文免费观看| 国产经典免费播放视频| 在线观看网站国产| 欧美日韩亚洲综合在线观看| 欧美成人精品一级在线观看| 国产精品妖精视频| 国产丰满成熟女性性满足视频 | 日本a级免费| av在线手机播放| 激情六月丁香婷婷四房播| 国产情侣一区二区三区| 欧美黄网站免费观看| 无码丝袜人妻| 免费亚洲成人| 久99久热只有精品国产15| 91色在线视频| 国产成+人+综合+亚洲欧美| 亚洲欧美色中文字幕| 国产亚洲第一页| 日韩中文字幕亚洲无线码| 日韩欧美色综合| 国产成人久久综合777777麻豆| 欧美色伊人| 免费高清自慰一区二区三区| 人妻无码中文字幕第一区| 国产一区二区丝袜高跟鞋| 国产91色| 狼友视频国产精品首页| 亚洲人精品亚洲人成在线| 欧美特黄一级大黄录像| 日本尹人综合香蕉在线观看| A级毛片无码久久精品免费| 欧美日韩激情| 91福利免费| 国产成人区在线观看视频| 爽爽影院十八禁在线观看| 美女啪啪无遮挡| 亚洲另类国产欧美一区二区| a级免费视频| 欧美自慰一级看片免费| 亚洲精品天堂自在久久77| 精品人妻无码区在线视频| 日韩 欧美 国产 精品 综合| 色综合综合网| 亚洲天堂免费| 青青草原国产av福利网站| 国产99视频在线| 亚州AV秘 一区二区三区| 国产亚洲精品自在线| 四虎免费视频网站|