微軟 Robotic Developer Studio 2008 R3 機器人開發 英文版 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= 軟體名稱:微軟RoboticDeveloperStudio2008R3 語系版本:英文版 光碟片數:單片裝 破解說明:無 系統支援:WindowsXP/Vista/7 軟體類型:機器人開發 更新日期:2010.07.25 軟體發行:microsoft 官方網站:http://www.microsoft.com/robotics/ 中文網站:http://twcd01.com 軟體簡介:(以官方網站為準) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= 眾所周知,微軟公司(MicrosoftCorp.)的Windows系列作業系統已經在個人電腦領 域佔據了主導地位。無論您的機器是何種品牌、何種型號、何種配置,Windows作 業系統都能夠輕鬆應對並為您提供想要的服務。同時,友好的用戶介面也贏得了廣 大用戶的青睞,使Windows成為個人電腦領域最受歡迎的作業系統。如今,這一傳 統正在進入欣欣發展的機器人行業,而且不僅僅局限於家用機器人領域,在工業機 器人領域也已經嶄露頭角。這就是微軟機器人工作室推出的機器人作業系統── MicrosoftRoboticStudio。 在目前機器人行業的生產和開發過程中,還沒有統一的平臺和標準,不同公司按照 不同的標準和技術路線生產和開發機器人設備。對於機器人的初學者而言進入的門 檻過高,每一個開發人員都要從底層硬體入手再到上層的控制軟體,大量的人力物 力消耗在了重複的設計中,為了改變這一局面,為機器人開發人員能減少一些麻煩 的工作和創建不同類型硬體的標準,簡化對機器人的編程,把更多的精力投入機器 人智慧領域的研究,2006年6月微軟公司推出了“MicrosoftRoboticStudio”機 器人開發軟體,邁出了向機器人行業進軍的第一步。 微軟公司於2008年5月19日在匹茲堡舉辦的RoboBusinessConferenceandExposition (機器人商業大會暨展覽會)上首次發佈了其機器人技術編程平臺的最新版本Microsoft RoboticsDeveloperStudio2008的社區技術預覽版(CTP)。MicrosoftRobotics DeveloperStudio2008包含對齊運行時間性能、分散式計算功能以及工具的改進。 這個被稱為“MicrosoftRoboticsStudio”(微軟機器人技術工作室)的新平臺主要 用於機器人技術的開發,適合學術、理論和商業研究等領域。 1MicrosoftRoboticStudio的特點 MicrosoftRoboticStudio(MSRS)是一個用於機器人專案的軟體發展包(SDK), 它主要包括視覺化編程語言,機器人服務和機器人仿真三個主要部分,運行時環境 可以工作在目前的機器人技術中使用的各種8、16和32位處理器上。該軟體重點是 讓用戶編寫簡單的模組化命令程式,並如同服務那樣動作。這種程式一般不在目標 機器人的有限處理器和記憶體上運行,而是通過機器人定義的許多通信協議中的一 種與機器人進行交互。基於MRS開發機器人控制軟體是使用“服務”概念的程式, 就是將機器人的每一個子功能和任務設計成一個個獨立的“服務”,該服務可以通 過PC與機器人實體有線或者無線的連結來得到機器人實體上感測器的資料,並進行 處理,可以向機器人實體發送控制命令,控制機器人的運動。這樣的控制軟體結構 對應了機器人控制中基於行為的控制方法,其中的“服務”就是“行為”的軟體實 現。在開發機器人軟體時還可以使用Microsoft提供的視覺化編程語言,這是一種 基於資料流程的編程模型,使得編程的過程更加直接易懂,方便沒有編程基礎的用 戶學習使用。MRS還提供機器人環境仿真,該仿真使用Ageia技術公司提供的PhysX 物理引擎,能夠使我們充分利用強大的物理仿真技術,實現機器人的高保真度、高可 2MicrosoftRoboticStudio的功能 2.1機器人服務(RoboticServer) MicrosoftRoboticsStudio是基於Windows平臺,使學生、愛好者和商業開發者們 都能夠很容易的創建跨硬體平臺的機器人技術應用。MicrosoftRoboticsStudio 仿真運行時技術提供的運行環境能夠滿足了大部分機器人應用的需求: 1.當程式運行時,它必須能夠監控狀態和與單個元件進行互動。 2.當程式運行時,它必須能夠發現、創建、停止和重起元件。 3.它必須能夠處理從多個感測器來的併發輸入,並將這些輸入變成互不幹擾的任 務列表。 4.它必須能夠處理自治系統,也能夠在本地或者通過網路控制機器人應用。 5.運行時必須是羽量級的並能夠運行在不同的環境中。 6.應用環境必須具有可擴展性和靈活性,來適應多種不同的軟硬體環境。 為了滿足這些需求,MicrosoftRoboticsStudio運行時提供一個面向服務的架構 ,它結合了傳統基於WEB架構的主要理念和WEB服務來提供高靈活性和羽量級,分散 式的應用模型。Web架構主要著眼於輕便性,互操作性和松耦合性。運行在Http協 議之上,基於Web的應用已經證明是可伸縮的,具備互操作性,並且能夠靈活的適 應多種不同的應用場景。根據微軟《RoboticsStudio用戶指南》,運行時環境包 括了CCR(併發與協調運行時)與DSS(分散軟體服務)部件,而這些部件必須滿足 下列需求集:必須能監控狀態;當應用運行時能與部件交互;能發現、創建、終止 和重新啟動部件;能併發地處理多個感測器的輸入,並將這些輸入組織為任務,而 不會有這些任務之間無意幹擾的風險;能通過網路同時處理本地與遠端的自動與受 控機器人應用;運行時重量必須足夠輕,從而能在廣泛的環境中執行;應用環境必 須為可擴展,並有足夠的靈活性,以適應各種硬體與軟體環境的交互。CCR通過一 個面向資訊的變成模型支援非同步與併發操作,該模型可以自動揭示出並行硬體與 協定資訊,而無需使用手工線程、鎖定或信標。這種方案使設計者能夠建立起更鬆 散耦合的軟體模組或部件。獨立的CCR.NETDLL可以從任何面向.NET2.0CLR(公 共語言運行時)的語言中訪問。微軟在CCR上建立了DSS運行時,且DSS並不依賴於 微軟RoboticsStudio中的任何其他部件。它為管理服務提供了一個主控環境,以 及一組架構服務,可以用於服務創建、發現、記錄、調試、監控與安全。DSS支援 一種羽量級的面向服務應用模型,它結合了傳統REST基於Web的架構,以及部分Web 服務架構。DSS定義了一個應用模型,它建立在REST模型上,通過它們的狀態和對 該狀態的一組統一操作而展示服務,但通過增加結構化資料操作、事件通知以及服 務組織擴展了HTTP(超文本傳輸協定)應用模型。DSS的主要目標時提供服務之間 的互操作性,不管這些服務是否運行在相同結點或網路上。DSS用HTTP和DSSP(分 散軟體服務協定)作為服務間交互的基礎。基於DSSP的羽量級SOAP(簡單物件存取 協定)支援結構化狀態與事件模型的操作,這改變了結構化狀態的驅動。 2.2視覺化編程語言(VisualProgrammingLanguage) 微軟VPL(虛擬編程語言)圖形編輯開發環境採用一種資料流程編程模型,而不是 控制流模型。一個VPL資料流程包括一個連接的動作序列,資料流程將其表示為帶 輸入和輸出的塊,可以將它們連接到其他動作塊上。動作可以表示為預構的服務、 資料流程控制項、函數或其他代碼模組;動作也可以包含其他動作的組合。VPL面 向初級程式師,但該編程語言也吸引高級程式師用作快速原型開發或代碼開發。 Microsoft視覺化編程語言(VPL)是一種應用程式開發環境,它基於圖形化的資 料流程式編程模型基礎上設計,而不是傳統編程中常用的控制流。資料流程程式更 像生產線上接到材料後完成其所負責任務的一組工人,而不是順序執行的一系列強 制命令。因此,VPL很適合於各種並行或分散式處理情況下的編程。 VPL面向的是對變數和邏輯等概念有基本理解的初級編程人員。但是,VPL並不是 僅供初學者使用。此編程語言的組合特性對於追求快速原型設計和代碼開發的高級 編程人員也極具吸引力。另外,儘管它的工具箱是專為開發機器人應用程式而設計 的,但其基礎結構並不僅限於機器人編程,還可以用於其他用途。因此,VPL受到 包括學生、熱衷者和業餘愛好者在內的眾多用戶的廣泛歡迎,有些web開發人員以 及專業程式師也為之所深深吸引。 在MicrosoftRoboticsStudio中,即使不懂編程的愛好者都可以用視覺化編程語 言(VPL)像堆積木一樣,選擇一些服務(比如LegoNXT已經被很好支援),把這些 服務按順序連接,給出輸入參數,定義一些計算方法,然後運行,就可以控制一台 LegoNXT這樣簡單的機器人了。 2.3機器人仿真(RoboticSimulation) MicrosoftRoboticsStudio目標是使廣大的愛好者能夠加快機器人技術的開發和 使用。他所提供的一個重要組成部分就是運行時仿真技術。PC和遊戲技術的成熟運 用,使機器人仿真技術變得可行,並為大量使用鋪平了道路。設計類比運行時的目 的是將其用於各種對保真度、視覺化、比例要求很高的高級方案中。同時,不懂編 程或編程經驗極淺的初學者也可使用模擬功能,在類似遊戲的環境中開發有趣的應 用程式。集成的Ageia技術和PhysX引擎能夠使我們使用充分利用強大的物理仿真技 術,這些無疑對機器人技術的發展和成熟有著不可估量的價值。物理渲染的引擎基 於可管理的DirectX技術。 機器人設計最困難的問題之一在於如何讓機器人與周圍環境交互。現在你可以在仿 真環境中建立不同的地形,添加不同的物體,然後讓你的機器人在其中運行。每種 物體背後實際上是一個獨立的物理模型。比如你可以添加3張桌子,但第一張桌子 的物理模型就是桌子形狀,第二張桌子的物理模型是個圓球,第三張桌子的物理模 型是個立方體,那麼一旦他們受到外力,三張桌子會以不同的方式運動,或翻倒, 或滾動,或位移。你可以操縱機器人,或者看機器人自動運行,碰撞到或者通過感 測器檢測到周圍物體後如何動作,從而設計機器人的運動方式。這比摸黑寫好程式 ,輸入機器人,發現問題再回去摸黑改,改好了再輸入機器人試運行的方式方便多 了。 RoboticsStudio仿真運行時包含了仿真引擎服務、受控物理引擎封裝器、原生的 物理引擎庫,以及與物理引擎和在仿真世界中表示硬體與物理物件的渲染引擎介面 的部件。仿真引擎服務負責渲染實體、加快物理引擎仿真時間。它跟蹤整個仿真的 狀態,為仿真提供一個服務/分佈前端。受控物理引擎封裝器將用戶從低級物理引 擎API中抽象出來,為物理仿真提供一個受控介面。 3結束語 微軟在這個新領域的第一個合作夥伴是Lego(樂高),後者的MindstormsNXT產品將 充分發揮微軟新平臺的優勢,提供更多新功能.微軟表示新平臺已經得到了業界的 積極回應,還有數家學術和商業合作夥伴支援其機器人軟體,包括卡耐基梅隆大學 、CoroWare、KUKARobotGroup、Robosoft、MobileRobots等。微軟認為機器人技 術有著巨大的發展潛力,因此開始致力於提供一種更簡單的方法,用於創建新的機 器人程式,由此誕生了RoboticsStudio。隨著處理器和廉價感測器的改進,機器 人技術有望取得更大的進展。希望MicrosoftRoboticsStudio能像當年的Windows 推動個人電腦一樣推動機器人技術的發展,使機器人早日進入千家萬戶。 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=