色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 機器人開發(fā)工具中的可復用性軟件模塊

          機器人開發(fā)工具中的可復用性軟件模塊

          作者: 時間:2009-02-24 來源:網(wǎng)絡(luò) 收藏

          用于 Robotics Studio 的虛擬編程工具不像 LabView 環(huán)境那樣成熟,但工具運行良好。當執(zhí)行某些代碼時,我注意到了 Robotics Studio 中的一個有趣的問題。一個教程演示了有關(guān)循環(huán)以及將文字轉(zhuǎn)換為語音的方法。聽到系統(tǒng)的計數(shù)很有意思。但是,如果我在程序執(zhí)行時實現(xiàn)一個上下文開關(guān),則讓人不安的是程序有時會混淆編號順序。換句話說,消息傳遞會表現(xiàn)為后進先出,這樣,如果系統(tǒng)在接收一條消息時碰巧很忙,消息就可能丟失,而在亂序情況下,后面會死鎖在前面的消息上。這種怪異現(xiàn)象可能是語音合成塊的特性,但卻是一種不希望出現(xiàn)的行為。如果與我使用的代碼相比,亂序執(zhí)行不太明顯,則這種類型的行為可能影響調(diào)錯階段。

            還有一個有關(guān) Robotics Studio 開發(fā)環(huán)境接口完備性的例子,它出現(xiàn)在我在一個派生對話框中間向另一個程序作上下文切換時。當對話框在副窗口中時,有時候我無法回到對話框中,而副窗口也會鎖死,等候著派生窗口的結(jié)束。在 Windows XP 中對話框并不出現(xiàn)在任務(wù)欄上,不過我終于明白可以用 Alt 和 Tab 鍵手工選擇它。

            本項目只是一系列項目中的第一步,我希望能挨個完成,逐漸增加復雜性,要實現(xiàn)的終極目標是用一個立體檢測系統(tǒng)在噪聲環(huán)境中辨別出一個任意聲音。除了項目的目標與價值以外,的使用也提供了一個機會,能夠驗證開發(fā)人員現(xiàn)在可以使用的資源,輔助復雜控制系統(tǒng)的開發(fā)工作。一種常被表述的目標是:開發(fā)人員應(yīng)能夠設(shè)計出一種公共的硬件規(guī)范,然后能夠在跨多種平臺上通過運行時綁定使用這一規(guī)范,而無需重新設(shè)計。

            我很高興有現(xiàn)在這些可用產(chǎn)品,也期望今后幾年所有這些會有一系列后續(xù)動作,它們對于新項目的啟動,以及使開發(fā)人員能夠重用以前項目的軟硬部件都做了很好的工作。我尤其高興的是,有些開發(fā)環(huán)境正將這些系統(tǒng)看作一組可以互相交互的分布式系統(tǒng)。對于那些建立包含多機器人協(xié)同工作系統(tǒng)的設(shè)計者來說,這一特性將成為一個重要能力。

          參考文獻

          1. Cravotta, Robert, “Robots on the march,” EDN, Dec 3, 2007, pg 44, www.edn.com/article/CA6505566.


          自從本文第一部分印出以來,我知道了另外兩個機器人:CoreWare 的 CoroBot 和 Gostai 的 URBI(通用實時行為接口),CoroBot 是一種四輪滑移轉(zhuǎn)向平臺,帶一只彩色攝像頭、IR 距離傳感器和 1.2 GHz PC 級處理器,運行 Windows XP、Xubuntu Linux,也可以兩者同時運行(圖 A)。設(shè)計者可以在產(chǎn)品的塑料頂板上鉆孔,作永久性固定,還可以接受多種粘接物(如 Velcro 魔術(shù)貼)作臨時固定。系統(tǒng)為開放式,簡化了對其多個部件的訪問,但將其使用限制于室內(nèi)環(huán)境。它的重量為 12 lbs,可以接收最多 5 lbs 的負荷。

          圖ACoroBot平臺有九種配置


            CoroBot平臺有九種型號,起價為2799美元,向開發(fā)人員供應(yīng)。對于預裝Windows XP的型號,軟件開發(fā)可以采用微軟的Robotics Studio,而對預裝Xubuntu Linux的型號則使用Player。平臺現(xiàn)可選雙靴型和可選四 DOF(自由度)臂并帶一個抓頭傳感器。帶臂型號有24 個可用伺服端口,無臂型號有30個可用伺服端口?,F(xiàn)在沒有能夠支持平臺的C 或C++庫,但該公司稱它正在評審PlusPack for Microsoft Robotics Studio,以支持未來的開發(fā)。

            Gostai正在將自己的產(chǎn)品URBI腳本接口語言定位成一種用于軟件模塊的通用機器人平臺。它在客戶/服務(wù)器結(jié)構(gòu)上工作,可遠程控制一臺機器人或任何復雜系統(tǒng)。URBI給出了一種通用方法,能夠控制一臺機器人、通過插入軟件部件而增加功能,并且以一種輕便的方式開發(fā)出完全交互的復雜機器人應(yīng)用。該平臺能用于多種機器人系統(tǒng)、操作系統(tǒng)和編程語言,如C++、Java和 Matlab。

            Gostai 將面向?qū)ο蟮?URBI 基于一種原型方案,允許開發(fā)人員定義純 URBI 的對象,或者用向核心中插入 C++ 類或“UObjects”,為語言增加類,成為原生的 URBI 類。你甚至可以從核心中拔出 UObjects,將其運行為遠程自主應(yīng)用,從 URBI 引擎獲得 IP(互聯(lián)網(wǎng)協(xié)議)地址作為一個參數(shù)。

            URBI 語言中有一個重要考慮因素,那就是在語義的核心中集成了并行與事件。URBI 語言支持四種類型的命令間臨時約束條件。一是 Task B 必須在 Task A 后面執(zhí)行。第二個是 Task B 必須在 Task A 結(jié)束時開始,而第一個約束條件允許兩個任務(wù)之間有一個時間間隙。第三個約束是 Task A 和 B 必須同時開始,即,如果一個任務(wù)還未準備好,則另一個要等待前一個準備好后才開始執(zhí)行。第四個約束是 Task B 的開始必須同時或晚于 Task A,但其開始不得晚于 Task A 完成前。

          由于 URBI 是一種并行語言,它可以用互斥(互斥-排除)技術(shù)處理并行訪問,保證一個時間只有一種代碼能使用某種資源。URBI 支持七個混合模式,它們設(shè)定了系統(tǒng)應(yīng)如何處理沖突性與同步任務(wù)問題。一個混合模式的例子是加法與混合模式,它將沖突任務(wù)的計算加到或平均到結(jié)果值上。隊列模式實現(xiàn)了一種經(jīng)典的互斥機制。

            為提供更好的并行支持,時間概念成為 URBI 語義中的一部分。例如,URBI 中的一個簡單任務(wù)可以使一個變量在一個給定時間里或以某個給定速度達到一個值,否則就設(shè)為一個正弦振蕩。這些非瞬時的任務(wù)可以與其它設(shè)定同時執(zhí)行。舉例來說,考慮任務(wù) neck.val=10 time:450msleg.val= -45 speed:7.5 tail.val=14 sin:4s ampli:45;。這個任務(wù)使用 "time," "speed," "sin," 和 "ampli" 修改任務(wù)完成的方式。在本例中,"neck.val" 的值將在 450 ms內(nèi)達到10。其它支持的修飾語有 "phase," "getphase," 和 "smooth."。

            URBI 自身能夠加快并行事件的處理速度,因為多個事件可以并行發(fā)生,并觸發(fā)一些可以并行運行和重疊的代碼。實際中,對 URBI 中一個事件作出反應(yīng)的最簡單方式是使用 “at” 命令,它看似 “if” 語句,即當檢驗為真時執(zhí)行一條命令。不過,與 “if” 不同的是,”at” 命令會保持在后臺作再次觸發(fā),而并不終止。另一種這類工具是 “whenever” 語句,它循環(huán)執(zhí)行命令,直到檢驗為真。該語句類似于 “while” 語句,不同的是當檢驗為假時它保持在后臺。語言還可以忽略有參數(shù)或沒有參數(shù)的事件。


          上一頁 1 2 下一頁

          關(guān)鍵詞: 機器人 開發(fā)平臺 Labview

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉