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

基于Eclipse平臺的機器人開發環境設計

2018-03-09 08:26:50陳磊張建榮余秋香王健
科技創新與應用 2018年7期

陳磊+張建榮+余秋香+王健

摘 要:目前機器人控制軟件開發過程中,還沒有統一的平臺和標準,并且對初學者的進入門檻過高,同時大量的人力物力消耗在重復的設計過程中。文章提出了在Windows環境下,使用Eclipse及OpenGL開發出一套開發環境,并成功應用于機器人中。首先介紹了三款主流的機器人軟件開發環境并分析了各自的優缺點;然后詳細闡述了如何在Windows環境下使用Eclipse的方法實現圖形化編程及可視化仿真。

關鍵詞:機器人;開發環境;圖形化編程;可視化仿真

中圖分類號:TP242 文獻標志碼:A 文章編號:2095-2945(2018)07-0118-03

Abstract: At present, in the process of developing the robot control software, there is no unified platform and standards, and the threshold of entry for beginners is too high, while a lot of manpower and material resources are consumed in the repeated process of designing. In this paper, a set of development environments is created using Eclipse and OpenGL in the environment of Windows, and it is successfully applied to robot. Firstly, three kinds of mainstream robot software development environment are introduced and their advantages and disadvantages are analyzed. Then the paper describes how to realize graphical programming and visual simulation using Eclipse in Windows environment in detail.

Keywords: robot; development environment; graphical programming; visual simulation

引言

在個人電腦領域微軟公司的Windows系列操作系統占據了絕對的主導地位。然而在服務機器人[1]行業的生產和開發過程中,還沒有統一的標準及平臺,不同的企業按照不同的標準和路線開發服務機器人設備。對于初學者而言,每一個開發人員都需要從底層硬件(單片機或ARM版)入手再到上層的交互軟件或控制軟件,大量的資源消耗在了重復的設計中。

機器人軟件開發平臺是用來給機器人設備開發程序的軟件,一般包括:統一的編程環境、統一的編譯執行環境、模塊庫、仿真環境。目前具有代表性的機器人集成開發環境包括微軟的MRDS(Microsoft Robotics Studio)、ROS(Robot Operating System)以及MRPT(Mobile Robot Programming Toolkit)。

OpenGL開放圖形庫是由 SGI開發的一套獨立于操作系統和硬件環境的三維圖形(二維亦可)軟件庫。OpenGL的最大優點是用它編寫的軟件可以在各個操作系統之間方便地移植[2]。

1 機器人開發平臺對比分析

1.1 ROS操作系統

2010年開源機器人操作系統ROS(robot operating system)[3]發布了,它提供了硬件抽象、設備驅動、可視化工具、消息傳遞等諸多功能。ROS的首要設計目標是在機器人研發領域提高代碼復用率。ROS主要特點有:點對點設計、不依賴編程語言、精簡與集成ROS-agnostic庫、便于測試、規模、開源。

1.2 微軟MRDS開發環境

微軟公司于2008年首次發布了其機器人系統軟件平臺Microsoft Robotic Studio,它使用了Windows窗口作為控制界面,開發人員可以直接通過軟件平臺控制機器人的運動方向。Microsoft Robotic Studio帶有多種傳感器的數據和驅動,開放人員在編程中可以方便的調用,同時微軟公司還與多家機器人生產廠商進行合作,越來越多的機器人型號和傳感器型號將會添加到這個開發環境中,使開發者在開發的過程中更加方便快捷。Microsoft Robotic Studio含有多種功能組件:Visual Programming Language、Microsoft DSS Manifest Editor、虛擬環境組成[4]。

1.3 MRPT數據庫

Mobile Robot Programming Toolkit 是一個廣泛使用、跨平臺、開源的C++數據庫[5]。MRPT為開發人員提供便攜和良好測試的應用程序和庫,涵蓋了數據結構和常用機器人研究領域采用的算法。MRPT主要目的是幫助機器人設計者在即時定位與地圖構建、計算機視覺和路徑規劃等領域設計算法。MRPT本身提供了強大的應用程序,不過這些應用程序都只是源代碼,如果要使用需要自行編譯。MRPT中已有庫的依賴圖譜,用戶可以僅選擇依賴的部分庫,減少編譯時間和以后的依賴問題。

1.4 各個軟件開發環境對比

通過上面的軟件介紹,我們對這3款開發環境進行了對比,如表1所示。

2 圖形化開發環境的設計

針對上述產品存在的問題,本文設計的圖形化開發環境具有以下特點:(1)不依賴特定硬件的結構,所有硬件的子程序都為獨立模塊。(2)程序編寫部分基于標準C++和Linux系統庫,無需依賴特定運行環境。(3)生成的Windows下的可執行性文件,用于可視化仿真對機器人進行實時的仿真。(4)該軟件平臺開源的特性,將必定促進各個模塊的改進,不斷的更新。endprint

2.1 整體框架結構

服務機器人圖形化開發環境是用于提供機器人控制系統軟件開發環境的應用程序,包括圖形化編輯器、代碼文本編輯器、編譯器、調試器、連接程序和圖形用戶界面工具。圖形化開發環境集成了圖形化編程功能、文本代碼編寫功能、代碼分析功能、代碼調試功能、代碼編譯功能等一體化的開發軟件服務套(組)。CSCI[6]部件之間的關系如圖1所示。

機器人圖形化集成環境CSCI部件名稱功能如下:(1)初始用戶界面:初始化、建立窗口式用戶接口界面,用戶界面包括菜單、快捷鍵、狀態欄等。(2)文件:對圖形化編程的操作,包括新建、打開、保存、另存為、打印和退出功能。(3)視圖:對工具欄和停靠窗口、狀態欄以及應用程序外觀進行管理。(4)圖形化編程:通過選擇、拖拽、連接控制器與其他所需的部件完成圖形化編程工作;生成對應的Windows與Linux程序;Windows程序經過編譯與連接后生成可執行文件;Linux程序可經過交叉編譯與連接生成可執行程序并下載到飛思卡爾I.MX6Q嵌入式計算機。(5)圖形庫管理:包含部件庫和算法庫,部件庫包含圖形化編程所需的控制器類(如:I.MX6Q、樹莓派)、人機交互類(如:攝像頭)、傳感器類(如:超聲波測距傳感器、紅外測距傳感器)、驅動器類(如:L298)等部件進行維護管理;算法庫(如:Dijkstra算法、A*算法)是對自行編寫的函數進行維護管理。(6)可視化:包含積木世界構建、積木庫和機器人庫管理、遙控、路徑規劃、腳本編輯等功能。(7)樣例庫:包含一個樣例的圖形化編程圖形。(8)調試:調試Windows程序,運行過程可選擇可視化。(9)幫助:軟件使用幫助文檔等功能。

這些模塊在Eclipse平臺中進行開發,下面將對圖形化編程模塊和可視化仿真模塊進行闡述。

2.2 圖形化編程模塊

圖形化編程菜單主要是通過對部件庫中部件進行選擇、拖拽、設置屬性等,當開發者完成圖形化編程工作后,可進一步完成圖形化編程的后續工作,包括生成C程序、保存C程序、編譯與連接、交叉編譯與連接、程序下載。對于完成圖形化編程的圖形,點擊文件/保存菜單可以對圖形進行保存,保存為文本文件。

下面對形化編程模塊主要的函數名和功能進行說明:(1)MKport1IsSelected(CPoint point)觸發該函數進行接口類型識別。(2)DrawLine(CPoint point0,CPoint point1)通過觸發該函數繪制模塊之間的連線。(3)DrawNewModule(CPoint point, inti)通過觸發該函數繪制所拖入的模塊或者進行模塊拖拽操作。(4)DeleteLine(inti, CPoint point0, CPoint point1)通過觸發該函數刪除模塊之間的連線。(5)DeleteNewModule(CPoint point, inti)通過觸發該函數刪除所選中的模塊。(6)ReDrawAll()通過觸發該函數進行客戶區重繪。

2.3 可視化仿真模塊

當完成圖形化編程并且服務機器人實際運行需要可視化監控時,可以點擊圖形化編程界面的可視化菜單進入可視化模塊。為簡化對移動機器人所處實際環境的數學描述,可對現實世界采用積木世界方法進行描述。機器人所處的環境可用規定的積木圖形或者激光掃描所得到的圖形來確定。另外,為了讓現實世界的數學描述更方便存儲以及仿真過程中機器人能夠更方便的識別障礙物大小,在積木世界的基礎上又采用柵格法對仿真環境進行描述,每一塊小柵格大小可以根據實際情況自行設定。障礙物和服務機器人可以充分利用3ds Max的快速建模能力,將3DS文件的圖形信息讀入OpenGL繪圖環境中,并利用OpenGL的圖形處理功能對圖形顯示進行控制[7]。

下面對可視化模塊主要的函數名和功能進行說明:(1)OnDraw()拖入圖形后以及圖形的移動以及放大縮小時進行重繪。(2)OnLButtonDown()通過鼠標左鍵按下觸發消息響應,主要是完成圖形的拖入、已拖入的圖形的選中和選中框出現時選中四個角之一對該圖形進行放縮。(3)OnMouseMove()通過鼠標移動出發消息響應,主要是完成圖形的拖動和移動過程、放大縮小過程以及狀態欄的鼠標坐標顯示過程。(4)OnLButtonUp()通過鼠標左鍵放開觸發消息響應,主要是完成最終所確定的圖形的位置等描述的存儲和最終觸發OnDraw函數進行重繪。(5)DrawGrid()主要功能是進行背景的柵格繪制。(6)OnMouseWheel()通過鼠標滾輪觸發消息響應,主要功能是完成整個仿真區的放大縮小。(7)OnTimer()定時器消息響應函數,主要功能是在仿真的過程中,完成機器人的啟動、移動、轉彎、停止等功能。(8)OnVisualDel()刪除。在構建積木世界時刪除障礙物或機器人或者在仿真時刪除障礙物。(9)OnIdvSaveas()保存。對于已經構建好了的積木世界,將其保存為文本文件。(10)OnIdvOpen()打開。對于已經存在的XML格式的積木世界,可以在可視化模塊中打開直接使用,或者在此基礎上進行修改。

2.4 開發環境的應用

通過機器人圖形化開發環境仿真、生成路徑規劃代碼,并一鍵下載到機器人ARM[8]板中,機器人ARM運行路徑規劃代碼,進而實現服務機器人的路徑規劃,機器人界面如圖2所示。

3 結束語

通過本文的闡述可以看出利用Eclipse平臺建立機器人開發環境,不但可以比較方便地開發出可視化操作平臺,而且簡化了編寫程序的過程,提高了開發效率和程序的可靠性。

參考文獻:

[1]肖雄軍.服務機器人的發展[J].自動化博覽,2004(06).

[2]孫振海,陳利,張慶明.Delphi中OpenGL三維仿真開發環境設計及應用[J].計算機仿真,2006.

[3]張建偉,張立偉,胡穎,等.開源機器人操作系統-ROS[M].北京:科學出版社,2012.

[4]Johns, Kyle.Professional Microsoft Robotics Developer Studio[M].2008.

[5]MRPT網站[EB/OL].http://sourceforge.net/projects/mrpt/.

[6]溫昱.軟件架構設計[M].北京:電子工業出版社,2013.

[7]殷素峰,高雪強,楊勝強.在OpenGL環境下開發3DS文件瀏覽器[J].工程圖學學報,2005(6).

[8]周立功.ARM嵌入式系統基礎教程[M].北京:北京航空航天大學出版社,2008.endprint

主站蜘蛛池模板: 在线永久免费观看的毛片| 国产91高跟丝袜| 久久久波多野结衣av一区二区| 在线欧美一区| 日本亚洲成高清一区二区三区| 国产福利免费视频| 欧美精品伊人久久| 亚洲天堂啪啪| 永久天堂网Av| 无码精品国产dvd在线观看9久 | 亚洲免费三区| 国产亚洲精久久久久久无码AV| 欧美www在线观看| 成人精品亚洲| 黄色a一级视频| 久久99这里精品8国产| 毛片基地美国正在播放亚洲 | 亚洲精品欧美日本中文字幕| 国产欧美日韩va| 69免费在线视频| 在线观看91精品国产剧情免费| 日韩亚洲高清一区二区| 国产精品成人观看视频国产 | 青青久久91| 国产高颜值露脸在线观看| 精品偷拍一区二区| 国产成人综合在线观看| 毛片在线播放网址| 久热re国产手机在线观看| 亚洲动漫h| 国产成a人片在线播放| 97综合久久| 亚洲资源站av无码网址| 国产在线日本| 白浆视频在线观看| 国产精品自在拍首页视频8| 麻豆精品久久久久久久99蜜桃| 国产日韩久久久久无码精品| 国产精品自在自线免费观看| 国产精品3p视频| 日本国产在线| 亚洲激情区| 在线日本国产成人免费的| 精品国产网站| 国产成人精品免费视频大全五级| 中文字幕伦视频| 国产在线精品人成导航| 久久精品丝袜| 四虎亚洲国产成人久久精品| 亚洲综合经典在线一区二区| 欧美午夜网站| 26uuu国产精品视频| 亚洲国产精品美女| 国产一级毛片在线| 亚洲精品不卡午夜精品| 日韩人妻无码制服丝袜视频| 性喷潮久久久久久久久| 91最新精品视频发布页| 国产精品三级专区| 亚洲欧美自拍中文| 午夜性刺激在线观看免费| 91视频区| 国产成人精品2021欧美日韩| 99精品国产自在现线观看| 亚洲人成人伊人成综合网无码| 欧美伦理一区| 久久伊人操| AV在线麻免费观看网站| 中文字幕丝袜一区二区| 在线99视频| 蜜臀AV在线播放| 极品国产一区二区三区| 午夜啪啪网| 亚洲女同欧美在线| 久久精品人人做人人爽97| 中国美女**毛片录像在线| 久久久久亚洲av成人网人人软件| 男人的天堂久久精品激情| 一级毛片在线播放| 欧美日韩理论| 亚洲精品无码在线播放网站| 精品国产99久久|