- 機(jī)械安全:電氣、電子和可編程電子控制系統(tǒng)軟件功能安全標(biāo)準(zhǔn)解析與實(shí)踐
- 工業(yè)和信息化部電子第五研究所組編
- 7168字
- 2024-01-18 12:06:43
1.1 機(jī)械/工業(yè)機(jī)器人控制系統(tǒng)及軟件
1.1.1 機(jī)械/工業(yè)機(jī)器人控制系統(tǒng)
數(shù)控機(jī)床、自動(dòng)化設(shè)備和機(jī)械/工業(yè)機(jī)器人等產(chǎn)品主要由主體、驅(qū)動(dòng)系統(tǒng)和控制系統(tǒng)3個(gè)基本模塊組成。主體即機(jī)座和執(zhí)行機(jī)構(gòu),包括機(jī)械臂、夾具、旋轉(zhuǎn)機(jī)構(gòu)、行走機(jī)構(gòu)等。大多數(shù)機(jī)械/工業(yè)機(jī)器人有3~6個(gè)自由度,驅(qū)動(dòng)系統(tǒng)包括動(dòng)力裝置和窗洞機(jī)構(gòu),用以驅(qū)動(dòng)執(zhí)行機(jī)構(gòu)產(chǎn)生動(dòng)作。控制系統(tǒng)按照輸入的程序?qū)︱?qū)動(dòng)系統(tǒng)和執(zhí)行機(jī)構(gòu)發(fā)出指令信號(hào),并進(jìn)行控制。
傳統(tǒng)的機(jī)械/工業(yè)機(jī)器人控制系統(tǒng)的功能如下。
● 記憶:存儲(chǔ)作業(yè)順序、運(yùn)動(dòng)路徑、運(yùn)動(dòng)方式、運(yùn)動(dòng)速度和與生產(chǎn)工藝相關(guān)的信息。
● 示教:離線編程、在線示教等。
● 與外圍設(shè)備聯(lián)網(wǎng):輸入/輸出、通信網(wǎng)絡(luò)及同步接口。
● 故障診斷安全保護(hù):運(yùn)動(dòng)時(shí)的系統(tǒng)狀態(tài)監(jiān)視、故障狀態(tài)下的安全保護(hù)和故障自診斷。
●位置伺服:機(jī)器人多軸聯(lián)動(dòng)、運(yùn)動(dòng)控制、速度和加速度控制、動(dòng)態(tài)補(bǔ)償?shù)取?/p>
● 其他:坐標(biāo)設(shè)置、人機(jī)接口和傳感器接口。
1.控制系統(tǒng)硬件結(jié)構(gòu)
控制系統(tǒng)是自動(dòng)化裝備的核心。近年來(lái)隨著微電子技術(shù)的發(fā)展,微處理器的性能越來(lái)越高,而價(jià)格越來(lái)越低,目前市場(chǎng)上已經(jīng)出現(xiàn)了1~2美元的32位微處理器。高性價(jià)比的微處理器為機(jī)器人控制系統(tǒng)帶來(lái)了新的發(fā)展機(jī)遇,使開發(fā)低成本、高性能的機(jī)器人控制器成為可能。為了保證系統(tǒng)具有足夠的計(jì)算與存儲(chǔ)能力,機(jī)器人控制器多采用計(jì)算能力較強(qiáng)的芯片,如ARM系列、DSP系列、POWER PC系列、Intel系列等。此外,已有的通用芯片在功能和性能上不能完全滿足某些機(jī)器人系統(tǒng)在價(jià)格、性能、集成度和接口等方面的要求,催生了機(jī)器人系統(tǒng)對(duì)片上系統(tǒng)(System on Chip,SoC)技術(shù)的需求。將特定的處理器與所需要的接口集成在一起,可簡(jiǎn)化系統(tǒng)外圍電路設(shè)計(jì),縮小尺寸,并降低成本。例如,Actel公司將NEOS或ARM7的處理器內(nèi)核集成在FPGA產(chǎn)品上,形成了一個(gè)完整的SoC。在機(jī)器人運(yùn)動(dòng)控制器方面,研究團(tuán)隊(duì)主要集中在美國(guó)和日本,如美國(guó)的DELTA TAU公司、日本的朋立株式會(huì)社等,它們都有成熟的產(chǎn)品面世。運(yùn)動(dòng)控制器以DSP(數(shù)字信號(hào)處理)技術(shù)為核心,采用基于PC的開放式結(jié)構(gòu)。
2.控制系統(tǒng)體系結(jié)構(gòu)
在控制系統(tǒng)體系結(jié)構(gòu)方面,研究重點(diǎn)是功能劃分和功能之間的信息交換。開放式控制系統(tǒng)體系結(jié)構(gòu)有兩種基本類型:一種是基于硬件層次劃分的體系結(jié)構(gòu),該類型體系結(jié)構(gòu)比較簡(jiǎn)單,如三菱重工株式會(huì)社生產(chǎn)的PA210 可攜帶式通用智能臂式機(jī)器人;另一種是基于功能劃分的體系結(jié)構(gòu),它將軟件、硬件一同考慮進(jìn)來(lái),這是控制系統(tǒng)體系結(jié)構(gòu)研究和發(fā)展的方向。
當(dāng)代機(jī)械/工業(yè)機(jī)器人涉及力學(xué)、感知、優(yōu)化、控制、計(jì)算機(jī)、通信等多個(gè)專業(yè)學(xué)科門類,又涉及各種各樣的軟件、硬件,還涉及復(fù)雜多變的應(yīng)用場(chǎng)景,要求控制系統(tǒng)的軟件體系結(jié)構(gòu)具備高適用性、高穩(wěn)定性、高可擴(kuò)展性,對(duì)控制系統(tǒng)提出了諸多挑戰(zhàn),例如:
● 支持機(jī)器人各種控制策略的實(shí)現(xiàn)與切換;
● 實(shí)現(xiàn)多層級(jí)/多模塊間的實(shí)時(shí)數(shù)據(jù)交互;
● 保證諸多功能的并行不悖;
● 進(jìn)行長(zhǎng)時(shí)間穩(wěn)定運(yùn)行而不進(jìn)入錯(cuò)誤狀態(tài);
● 設(shè)計(jì)友好的人機(jī)交互。
3.控制系統(tǒng)軟件開發(fā)環(huán)境
在軟件開發(fā)環(huán)境方面,一般的機(jī)械/工業(yè)機(jī)器人公司都有自己獨(dú)立的開發(fā)環(huán)境和獨(dú)立的機(jī)器人編程語(yǔ)言,如日本的Motoman 公司、德國(guó)的KUKA 公司、美國(guó)的Adept 公司、瑞典的ABB 公司等。很多大學(xué)在機(jī)器人開發(fā)環(huán)境(Robot Development Environment)方面已進(jìn)行了大量的研究工作,提供了很多開放的源代碼,可在部分機(jī)器人硬件結(jié)構(gòu)下進(jìn)行集成和控制操作,目前已在實(shí)驗(yàn)室環(huán)境中進(jìn)行了許多相關(guān)實(shí)驗(yàn)。國(guó)內(nèi)外現(xiàn)有的機(jī)器人開發(fā)環(huán)境有TeamBots、ARIA、Player/Stage、Pyro、CARMEN、MissionLab、ADE、Miro.v.CVS、MARIE、FlowDesigner、RobotFlow 等。從機(jī)器人產(chǎn)業(yè)發(fā)展來(lái)看,對(duì)軟件開發(fā)環(huán)境的需求來(lái)自機(jī)器人最終用戶,他們不僅使用機(jī)器人,而且希望通過(guò)編程賦予機(jī)器人更多的功能,這往往需要采用可視化編程環(huán)境來(lái)實(shí)現(xiàn),如樂(lè)高 MindStorms NXT的圖形化編程環(huán)境和微軟Robotics Studio提供的可視化編程環(huán)境。
4.專用操作系統(tǒng)
(1)VxWorks。VxWorks是美國(guó)WindRiver公司于1983年設(shè)計(jì)、開發(fā)的一種嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS),是 Tornado 嵌入式開發(fā)環(huán)境的關(guān)鍵組成部分。VxWorks 具有可裁剪微內(nèi)核結(jié)構(gòu);任務(wù)管理高效;任務(wù)間通信靈活;中斷處理是微秒級(jí)的;支持 POSIX1003.1b 實(shí)時(shí)擴(kuò)展標(biāo)準(zhǔn);支持多種物理介質(zhì)、標(biāo)準(zhǔn)及完整的TCP/IP網(wǎng)絡(luò)協(xié)議等。
(2)Windows CE。Windows CE 與 Windows 系列操作系統(tǒng)有較好的兼容性,這無(wú)疑是Windows CE推廣的一大優(yōu)勢(shì)。Windows CE為建立針對(duì)掌上設(shè)備、無(wú)線設(shè)備的動(dòng)態(tài)應(yīng)用程序和服務(wù)提供了一種功能豐富的操作系統(tǒng)平臺(tái),它能在多種處理器體系結(jié)構(gòu)上運(yùn)行,并且適用于那些對(duì)內(nèi)存占用具有一定限制的設(shè)備。
(3)嵌入式 Linux。由于其源代碼公開,人們可以任意修改,以滿足自己的應(yīng)用需求。其中大部分修改都遵從 GPL,嵌入式 Linux是開放源代碼并且免費(fèi)的,用戶稍加修改后就可以應(yīng)用于自己的系統(tǒng)。嵌入式 Linux 有龐大的開發(fā)人員群體,不需要專門的人才,只要懂UNIX/Linux 和 C 語(yǔ)言即可,支持的硬件數(shù)量龐大。嵌入式 Linux 和普通 Linux 并無(wú)本質(zhì)區(qū)別,PC 上用到的硬件幾乎都支持嵌入式 Linux,而且各種硬件的驅(qū)動(dòng)程序源代碼都可以得到,這為用戶編寫自己專有硬件的驅(qū)動(dòng)程序帶來(lái)很大的方便。
(4)μC/OS-Ⅱ。μC/OS-Ⅱ是著名的源代碼公開的實(shí)時(shí)內(nèi)核,是專為嵌入式應(yīng)用設(shè)計(jì)的,可用于8位、16位、32位單片機(jī)或數(shù)字信號(hào)處理器(DSP)。它的主要特點(diǎn)是源代碼公開、可移植性好、可固化、可裁剪,以及具有占先式內(nèi)核、可確定性等。
(5)DSP/BIOS。DSP/BIOS是 TI 公司特別為 TMS320C6000TM、TMS320C5000TM 和TMS320C28x 系列 DSP 平臺(tái)設(shè)計(jì)開發(fā)的一個(gè)尺寸可裁剪的實(shí)時(shí)多任務(wù)操作系統(tǒng)內(nèi)核,是 TI公司Code Composer Studio開發(fā)工具的組成部分之一。DSP/BIOS主要由3部分組成:多線程實(shí)時(shí)內(nèi)核;實(shí)時(shí)分析工具;芯片支持庫(kù)。利用實(shí)時(shí)操作系統(tǒng)開發(fā)程序,可以方便、快速地開發(fā)復(fù)雜的DSP應(yīng)用程序。
5.伺服通信總線技術(shù)
目前,國(guó)際上還沒(méi)有專用于機(jī)器人系統(tǒng)的伺服通信總線,在實(shí)際應(yīng)用過(guò)程中,人們通常根據(jù)系統(tǒng)需求,把常用的一些總線技術(shù),如以太網(wǎng)、CAN、1394、SERCOS、USB、RS-485等用于機(jī)器人系統(tǒng)中。目前,伺服通信總線大致有兩類,即基于 RS-485 和線驅(qū)動(dòng)技術(shù)的串行總線及基于實(shí)時(shí)工業(yè)以太網(wǎng)的高速串行總線。
1.1.2 機(jī)械/工業(yè)機(jī)器人控制軟件及其重要性
控制軟件被譽(yù)為系統(tǒng)的“靈魂”。機(jī)器人的控制軟件由3部分組成:常用動(dòng)作執(zhí)行軟件、多信息綜合處理軟件和外部信息識(shí)別軟件。機(jī)器人的常用動(dòng)作執(zhí)行軟件的功能就是前進(jìn)、后退、轉(zhuǎn)向、夾取物件等。機(jī)器人在執(zhí)行任務(wù)時(shí),各種因素都會(huì)影響執(zhí)行結(jié)果,因此多信息綜合處理軟件要對(duì)外部信息、數(shù)據(jù)庫(kù)中的信息進(jìn)行比較后再?zèng)Q策,決策結(jié)果就是及時(shí)調(diào)整機(jī)器人的各種動(dòng)作。軟件是決定機(jī)器人功能和性能的關(guān)鍵因素。
可以毫不夸張地說(shuō),機(jī)械/工業(yè)機(jī)器人的每個(gè)動(dòng)作的完成都離不開控制軟件的支持,操作者的每個(gè)意圖都必須依靠控制軟件才能實(shí)現(xiàn)。同時(shí),控制軟件還有一個(gè)明顯的發(fā)展趨勢(shì),那就是它所完成的功能將越來(lái)越多。隨著大數(shù)據(jù)、云計(jì)算、移動(dòng)互聯(lián)網(wǎng)等新一代信息技術(shù)同機(jī)器人技術(shù)相互融合速度的加快,3D 打印、人工智能迅猛發(fā)展,機(jī)械/工業(yè)機(jī)器人的軟件復(fù)雜性越來(lái)越高,控制軟件的功能安全受到企業(yè)和用戶的極大關(guān)注。
1.1.3 機(jī)械/工業(yè)機(jī)器人控制軟件體系結(jié)構(gòu)
機(jī)械/工業(yè)機(jī)器人控制軟件系統(tǒng)十分復(fù)雜。這是因?yàn)闄C(jī)器人需要在一個(gè)充滿噪聲和具有不確定性的環(huán)境里實(shí)現(xiàn)傳感器的實(shí)時(shí)感知、控制器的實(shí)時(shí)控制。而且,機(jī)器人控制軟件系統(tǒng)需要在完成指定任務(wù)的同時(shí),監(jiān)控并對(duì)意外情況采取措施,這些功能的協(xié)調(diào)、異步執(zhí)行,增加了系統(tǒng)的復(fù)雜性。一個(gè)嚴(yán)謹(jǐn)、完善的軟件體系結(jié)構(gòu),加上支撐軟件體系結(jié)構(gòu)的編程工具,可以很好地應(yīng)對(duì)機(jī)器人控制軟件系統(tǒng)的復(fù)雜性,但是目前尚無(wú)適合所有應(yīng)用的通用軟件體系結(jié)構(gòu)。不同的體系結(jié)構(gòu)有不同的優(yōu)缺點(diǎn)。
1.軟件體系結(jié)構(gòu)發(fā)展
機(jī)器人編程始于1960年,斯坦福大學(xué)研究團(tuán)隊(duì)開發(fā)了名為Shakey的機(jī)器人。Shakey由攝像頭、測(cè)距儀、碰撞傳感器組成,其通過(guò)音頻和視頻接口連接到DEC PDP-10和PDP-15,如圖1-1所示。
Shakey的軟件體系結(jié)構(gòu)分解為3個(gè)功能模塊,分別是感知(Sensing)、計(jì)劃(Planning)和執(zhí)行(Acting)。感知模塊把攝像頭采集的圖像轉(zhuǎn)換成內(nèi)在環(huán)境模型;計(jì)劃模塊結(jié)合環(huán)境模型和目標(biāo),生成一個(gè)能達(dá)到目標(biāo)的計(jì)劃;執(zhí)行模塊拿到計(jì)劃后,發(fā)送指令給機(jī)器人。整個(gè)體系結(jié)構(gòu)被稱為感知-計(jì)劃-執(zhí)行(Sense-Plan-Act,SPA)結(jié)構(gòu),如圖1-2所示。在之后的多年內(nèi),幾乎所有的機(jī)器人控制軟件體系都遵循這種SPA結(jié)構(gòu)。
20世紀(jì)80年代,SPA結(jié)構(gòu)的問(wèn)題逐步出現(xiàn)。首先,計(jì)劃生成在任何真實(shí)的環(huán)境中都要花費(fèi)很長(zhǎng)的時(shí)間,機(jī)器人可能會(huì)一直等待計(jì)劃模塊完成任務(wù)而停止所有的動(dòng)作。其次,也是最重要的是,執(zhí)行一個(gè)計(jì)劃但沒(méi)有實(shí)時(shí)感知周遭環(huán)境(與傳感器聯(lián)動(dòng))在動(dòng)態(tài)場(chǎng)景下是非常危險(xiǎn)的。在這種情況下,一些新的機(jī)器人控制軟件體系結(jié)構(gòu)開始出現(xiàn),包括無(wú)功規(guī)劃,計(jì)劃可迅速生成,并且更依賴傳感數(shù)據(jù)而不是內(nèi)在的環(huán)境模型。當(dāng)時(shí)最有影響力的是Brooks的包容式體系結(jié)構(gòu),共由不同層次互相作用的有限狀態(tài)機(jī)組成,實(shí)現(xiàn)從傳感器到執(zhí)行器的直連。包容式體系結(jié)構(gòu)示例如圖1-3所示。

圖1-1 機(jī)器人Shakey

圖1-2 SPA結(jié)構(gòu)

圖1-3 包容式體系結(jié)構(gòu)示例
在包容式體系結(jié)構(gòu)中,多種行為可能在任何時(shí)候都處于活動(dòng)狀態(tài),因此該體系結(jié)構(gòu)包含了一種仲裁機(jī)制——可以使較高級(jí)別行為搶占較低級(jí)別行為的信號(hào)。例如,簡(jiǎn)單地驅(qū)動(dòng)機(jī)器人在隨機(jī)方向上運(yùn)動(dòng),更高級(jí)別的行為可能需要傳感器輸入、檢測(cè)障礙物并引導(dǎo)機(jī)器人避開障礙物。在沒(méi)有障礙的環(huán)境中,更高級(jí)別的行為不會(huì)產(chǎn)生信號(hào)。但是,如果它檢測(cè)到障礙物,則會(huì)覆蓋較低級(jí)別的行為并引導(dǎo)機(jī)器人避障。一旦障礙消失并且較高級(jí)別的行為停止發(fā)送信號(hào),較低級(jí)別的行為就會(huì)再次取得控制權(quán)。由此,可以構(gòu)建多個(gè)相互作用的行為層,以生產(chǎn)越來(lái)越復(fù)雜的機(jī)器人。
然而,這種基于行為的機(jī)器人能力很快就達(dá)到了極限,實(shí)現(xiàn)長(zhǎng)期目標(biāo)行為非常困難,并且機(jī)器人的行為幾乎不可能再優(yōu)化。例如,在辦公樓內(nèi)投遞郵件的機(jī)器人,可以通過(guò)在辦公樓周圍徘徊來(lái)尋找房間,然后進(jìn)入房間投遞郵件。但是,使用基于行為的體系結(jié)構(gòu)來(lái)設(shè)計(jì)這樣一個(gè)系統(tǒng),安排當(dāng)天的郵件以最優(yōu)的順序訪問(wèn)辦公室,以最大限度地減少交付時(shí)間,是非常困難的。從本質(zhì)上講,機(jī)器人需要早期體系結(jié)構(gòu)的規(guī)劃功能,這些功能必須與基于行為的體系結(jié)構(gòu)的反應(yīng)性相結(jié)合,因此促進(jìn)了多層機(jī)器人控制軟件體系結(jié)構(gòu)的發(fā)展。
2.多層機(jī)器人控制軟件體系結(jié)構(gòu)
國(guó)外科學(xué)家設(shè)計(jì)了一種開始于底層的機(jī)器人結(jié)構(gòu),機(jī)器人行為在 Rex 語(yǔ)言中被編程為同步電路。中間層是一個(gè)條件序列器,基于并行程序語(yǔ)言實(shí)現(xiàn),它將持續(xù)激活和停用 Rex 技能,直到機(jī)器人的任務(wù)完成。這種三層(3T)結(jié)構(gòu)(計(jì)劃、執(zhí)行和行為控制)已被多代機(jī)器人應(yīng)用,如圖1-4所示。

圖1-4 三層結(jié)構(gòu)原型
Syndicate結(jié)構(gòu)將3T結(jié)構(gòu)擴(kuò)展到多機(jī)器人協(xié)作中。在Syndicate結(jié)構(gòu)中,每層的機(jī)器人不僅與上、下層的機(jī)器人相通,而且在同一層上也與其他機(jī)器人相通(見(jiàn)圖1-5)。通過(guò)這種方式,人們可以在多個(gè)抽象級(jí)別設(shè)計(jì)分布式控制循環(huán)。

圖1-5 Syndicate結(jié)構(gòu)
除此之外,美國(guó)國(guó)家標(biāo)準(zhǔn)局(NBS)為美國(guó)國(guó)家航空航天局(NASA)開發(fā)的NASA/NBS標(biāo)準(zhǔn)參考模型(NASREM),后來(lái)被稱為實(shí)時(shí)控制系統(tǒng)(RCS),是早期的用于遙控機(jī)器人的參考模型(見(jiàn)圖1-6)。該參考模型是一個(gè)多層結(jié)構(gòu),其中每一層都具有相同的總體結(jié)構(gòu),但是從伺服層到推理層,運(yùn)行頻率越來(lái)越低。

圖1-6 實(shí)時(shí)控制系統(tǒng)(RCS)參考模型
3.機(jī)器人軟件體系結(jié)構(gòu)實(shí)現(xiàn)
機(jī)器人軟件體系結(jié)構(gòu)提供了大概視圖,我們可根據(jù)該視圖中部件的功能分解(或組成)進(jìn)行建模。但是,使用高內(nèi)聚功能模塊構(gòu)成的概念不能被有效地描述和模塊化。例如,實(shí)時(shí)性、容錯(cuò)性和安全性等非功能性要求,是在軟件系統(tǒng)多個(gè)部分出現(xiàn)且不能被限制在單個(gè)模塊中的屬性。為了滿足這些要求,軟件開發(fā)工作主要集中在保證控制程序的高效實(shí)現(xiàn),以及利用特定硬件平臺(tái)的功能在特定操作環(huán)境中執(zhí)行特定的一組任務(wù)。
機(jī)器人軟件工程師在設(shè)計(jì)過(guò)程中有時(shí)會(huì)因關(guān)注軟件系統(tǒng)性能和代碼驗(yàn)證而忽視軟件系統(tǒng)的其他質(zhì)量屬性,如可維護(hù)性、互操作性和可重用性。因此,機(jī)器人研究實(shí)驗(yàn)室可能會(huì)以開放源代碼庫(kù)的方式提供一大批實(shí)現(xiàn)了機(jī)器人功能、算法和控制范例的應(yīng)用程序。但在稍微不同的應(yīng)用場(chǎng)景下,它們是無(wú)法重用的,因?yàn)閷?duì)操作環(huán)境的假設(shè)和約束在軟件實(shí)現(xiàn)中是被隱藏和硬編碼的。
在過(guò)去的幾年里,軟件工程的許多方法(基于組件開發(fā)和基于模型驅(qū)動(dòng)工程)已被逐步引入機(jī)器人軟件系統(tǒng)的構(gòu)建中,以簡(jiǎn)化機(jī)器人的開發(fā)并提高質(zhì)量。現(xiàn)代機(jī)器人控制系統(tǒng)通常被設(shè)計(jì)為基于組件、分布式的系統(tǒng)(邏輯上),其中組件是實(shí)現(xiàn)單元,在設(shè)計(jì)中還會(huì)考慮系統(tǒng)基于代碼的實(shí)現(xiàn)方式。
在機(jī)器人軟件體系結(jié)構(gòu)設(shè)計(jì)中,組件之間的交互通常比傳統(tǒng)業(yè)務(wù)應(yīng)用程序的更復(fù)雜。在開發(fā)機(jī)器人時(shí),軟件開發(fā)人員面臨傳感器和電機(jī)之間及多種處理算法之間基于事件、反應(yīng)和分布式交互的復(fù)雜性問(wèn)題。管理多個(gè)(分布式)活動(dòng)對(duì)共享資源的并發(fā)訪問(wèn)是主要問(wèn)題之一。出于這個(gè)原因,機(jī)器人特定的、基于組件的框架和工具包被開發(fā)出來(lái),它們提供了實(shí)時(shí)執(zhí)行、同步和異步通信、數(shù)據(jù)流和控制流管理及系統(tǒng)配置機(jī)制。
4.最新的機(jī)器人軟件體系結(jié)構(gòu)
1)敏捷機(jī)器人開發(fā)網(wǎng)絡(luò)(aRDnet)
aRDnet是德國(guó)宇航中心(DLR)機(jī)器人和機(jī)電一體化研究所開發(fā)的軟件套件,支持為具有硬實(shí)時(shí)要求的復(fù)雜機(jī)電系統(tǒng)開發(fā)基于分布式組件的系統(tǒng)。aRDnet 已用于實(shí)現(xiàn)在機(jī)器人Justin的所有51個(gè)自由度(DOF)上運(yùn)行kHz范圍內(nèi)、計(jì)算要求嚴(yán)格的控制回路,如阻抗控制和碰撞規(guī)避。機(jī)器人控制系統(tǒng)是一個(gè)由功能模塊和通信鏈路構(gòu)成的網(wǎng)絡(luò),它們分布在由千兆比特以太網(wǎng)等快速數(shù)字總線連接的計(jì)算機(jī)網(wǎng)絡(luò)上。
aRDnet 功能塊是具有多個(gè)輸入和輸出端口的軟件模塊,用于隱藏實(shí)際的傳輸協(xié)議。例如,用戶數(shù)據(jù)報(bào)協(xié)議(UDP)套接字或 EtherCAT 與互聯(lián)模塊交換數(shù)據(jù)。根據(jù)同步數(shù)據(jù)流計(jì)算模型,功能塊可以由單獨(dú)的進(jìn)程執(zhí)行或者按照同步組進(jìn)行分組(用于與機(jī)器人硬件連接的功能塊)。不同的同步組可以通過(guò)非阻塞讀取和寫入操作進(jìn)行異步交互。
2)YARP機(jī)器人平臺(tái)
YARP是一個(gè)開源項(xiàng)目,由意大利熱那亞大學(xué)的LIRA-Lab 與美國(guó)麻省理工學(xué)院的計(jì)算機(jī)科學(xué)和人工智能實(shí)驗(yàn)室(CSAIL)合作開發(fā)。它的設(shè)計(jì)思想與aRDnet相同,即高自由度機(jī)器人,如人形機(jī)構(gòu),并提供分布式控制系統(tǒng)。它包含一個(gè)輕量級(jí)的軟件庫(kù),可在多個(gè)操作系統(tǒng)上使用、測(cè)試及分布式編程。與 aRDnet類似,分布式軟件模塊通過(guò)輸入/輸出異步通信端口交換數(shù)據(jù)。與aRDnet不同的是,YARP 端口可以根據(jù)不同的協(xié)議(TCP、UDP、多播等)以不同的數(shù)據(jù)傳輸速率管理給定模塊的多個(gè)連接,從而允許配置服務(wù)質(zhì)量(QoS)模塊間的通信:輸出端口可以將數(shù)據(jù)發(fā)送到多個(gè)目的地,而輸入端口可以接收來(lái)自多個(gè)連接的數(shù)據(jù)。
3)開放機(jī)器人控制軟件(Orocos)
Orocos是自2001年以來(lái)用于機(jī)器人開發(fā)的開源框架之一。Orocos的研發(fā)重點(diǎn)一直是提供一個(gè)硬實(shí)時(shí)功能組件框架,即所謂的實(shí)時(shí)工具包(RTT),用C語(yǔ)言實(shí)現(xiàn),并且盡可能地獨(dú)立于任何通信中間件和操作系統(tǒng)。與aRDnet和YARP類似,根據(jù)數(shù)據(jù)流通信范例,組件通過(guò)無(wú)鎖輸入/輸出端口異步交換數(shù)據(jù)和事件來(lái)相互作用。
Orocos的區(qū)別性特征是組件模型的定義,它指定了并發(fā)活動(dòng)的標(biāo)準(zhǔn)行為。具有實(shí)時(shí)性、確定性和循環(huán)行為的組件獲得用于計(jì)算的固定和循環(huán)時(shí)間,并且在計(jì)算周期內(nèi)它們必須達(dá)到穩(wěn)定的中間狀態(tài)。Orocos 組件被實(shí)現(xiàn)為基類 TaskContext的擴(kuò)展(繼承),擁有自己的執(zhí)行線程,并且可以作為共享相同地址空間的對(duì)象或利用 CORBA(公共對(duì)象請(qǐng)求代理體系結(jié)構(gòu))中間件進(jìn)行通信的可執(zhí)行文件進(jìn)行部署。
4)SmartSoft
SmartSoft是一個(gè)開源框架,專門解決機(jī)器人控制系統(tǒng)軟件組件之間通信相關(guān)的問(wèn)題。與Orocos類似,它定義了一個(gè)基于端口的組件模型,具有一組豐富的標(biāo)準(zhǔn)組件接口(稱為通信模式),它具有嚴(yán)格定義的交互語(yǔ)義。
● 發(fā)送:定義與客戶端/服務(wù)器關(guān)系的單向通信。
● 查詢:定義與客戶端/服務(wù)器關(guān)系的雙向請(qǐng)求通信。
● 推送最新/推送定時(shí):具有發(fā)布者/訂閱者關(guān)系的1對(duì) n 分發(fā)(廣播)事件;具有客戶端/服務(wù)器關(guān)系的異步條件通知。
● 動(dòng)態(tài)接線:具有主/從關(guān)系的動(dòng)態(tài)組件接線。
SmartSoft是首批基于 Eclipse 建模項(xiàng)目的機(jī)器人軟件開發(fā)開源工具鏈的開源框架之一。工具鏈實(shí)現(xiàn)了一個(gè)工作流程,通過(guò)自動(dòng)建模到模型轉(zhuǎn)換,指導(dǎo)軟件開發(fā)人員實(shí)現(xiàn)從機(jī)器人軟件體系結(jié)構(gòu)的高級(jí)設(shè)計(jì)到組件的開發(fā)和部署。
5)機(jī)器人操作系統(tǒng)(ROS)
ROS是一種基于消息的點(diǎn)對(duì)點(diǎn)通信基礎(chǔ)設(shè)施,支持易于集成/獨(dú)立開發(fā)的軟件組件。因此,ROS是由一組彼此通信的節(jié)點(diǎn)組成的計(jì)算圖。節(jié)點(diǎn)是功能塊,被實(shí)現(xiàn)為封裝機(jī)器人軟件庫(kù)的類,并提供對(duì)底層基礎(chǔ)結(jié)構(gòu)(ROS 內(nèi)核)通信的訪問(wèn)機(jī)制。節(jié)點(diǎn)被組織成分組(包含庫(kù)、節(jié)點(diǎn)和消息定義的文件系統(tǒng)文件夾),這里被分組為專題堆棧,即導(dǎo)航堆棧。消息是可以嵌套到復(fù)合消息中的類型化數(shù)據(jù),并且以異步方式根據(jù)發(fā)布/訂閱通信范例在節(jié)點(diǎn)之間交換,而不需要節(jié)點(diǎn)彼此了解及同時(shí)參與交互。消息按主題組織,主題對(duì)應(yīng)于訂閱者感興趣的事件。當(dāng)節(jié)點(diǎn)收到屬于訂閱主題的消息時(shí),異步調(diào)用消息處理程序,對(duì)消息有效負(fù)載執(zhí)行某些計(jì)算并生成給定主題的新消息,以發(fā)布計(jì)算結(jié)果。
ROS的區(qū)別性特征是 ROS 庫(kù)中缺乏強(qiáng)制體系結(jié)構(gòu)。例如,ROS 節(jié)點(diǎn)被設(shè)計(jì)為可單獨(dú)重用的組件。應(yīng)用程序是通過(guò)配置各個(gè)節(jié)點(diǎn)來(lái)構(gòu)建的,以便它們交換常見(jiàn)主題的消息。這種特征有利于各種機(jī)器人子領(lǐng)域的專家對(duì)許多小型封裝進(jìn)行分散式開發(fā)。
6)GenoM/BIP
GenoM是由LAAS CNRS機(jī)器人組開發(fā)的面向組件的軟件包,用于指定和實(shí)現(xiàn)機(jī)器人系統(tǒng)體系結(jié)構(gòu)的功能級(jí)別。GenoM 組件是控制服務(wù)的集合,它執(zhí)行有限狀態(tài)自動(dòng)機(jī),并由一組稱為代碼的C 語(yǔ)言函數(shù)實(shí)現(xiàn),這些函數(shù)在特定的狀態(tài)轉(zhuǎn)換(啟動(dòng)、執(zhí)行、報(bào)錯(cuò)等)期間得到適當(dāng)調(diào)用。GenoM組件通過(guò)共享內(nèi)存區(qū)域交換數(shù)據(jù)和事件。
GenoM的典型特征是集成了行為-交互-優(yōu)先級(jí)(BIP)框架。BIP是一個(gè)軟件框架和工具集,用于正式建模和驗(yàn)證復(fù)雜、實(shí)時(shí)的基于組件的系統(tǒng),以保證機(jī)器人控制系統(tǒng)的正確構(gòu)建。BIP 用于生成正式交互模型,該模型可用于系統(tǒng)級(jí)協(xié)調(diào)以運(yùn)行(使用 BIP 引擎)由所有GenoM模塊組成的功能層。BIP允許使用連接器對(duì)復(fù)合組件進(jìn)行分層構(gòu)建,連接器將GenoM組件的端口互相連接,并為兩種基本通信模式(呼叫/提供者和廣播/收聽(tīng)者)建模。
7)機(jī)器人最佳實(shí)踐項(xiàng)目(BRICS)
BRICS是上述項(xiàng)目的補(bǔ)充,它是由歐盟委員會(huì)資助的聯(lián)合研究項(xiàng)目。其根據(jù)模型驅(qū)動(dòng)工程原理正式確定機(jī)器人的開發(fā)過(guò)程,并提供了工具、模型和功能庫(kù),允許減少機(jī)器人軟件系統(tǒng)的開發(fā)時(shí)間,特別是在機(jī)器人的開發(fā)過(guò)程中引入了組件框架和軟件產(chǎn)品線的概念。這種方法促進(jìn)了對(duì)現(xiàn)有軟件或軟件知識(shí)的常規(guī)使用,幫助構(gòu)建新的軟件,從而可以利用應(yīng)用程序之間的需求、體系結(jié)構(gòu)和設(shè)計(jì)之間的相似性來(lái)實(shí)現(xiàn)軟件質(zhì)量、生產(chǎn)力和業(yè)務(wù)性能方面的實(shí)質(zhì)性收益。
- 水利水電工程施工作業(yè)人員安全手冊(cè)
- 滅火救援效能分析與評(píng)估
- 常見(jiàn)危險(xiǎn)化學(xué)品速查手冊(cè)(第二版)
- 建筑施工安全生產(chǎn)知識(shí)題庫(kù)
- 風(fēng)險(xiǎn)分析與安全評(píng)價(jià)(第三版)
- 勞動(dòng)防護(hù)用品與應(yīng)急防護(hù)裝備實(shí)用手冊(cè)
- 如何有效消除食品殘存有害物質(zhì)
- 注塑模具設(shè)計(jì)實(shí)用教程(第二版)
- 班組安全操作規(guī)程100例
- 社區(qū)居民安全手冊(cè)
- 電力儲(chǔ)能系統(tǒng)安全技術(shù)與應(yīng)用
- 建筑消防設(shè)施檢查工作手冊(cè)
- 化工企業(yè)職業(yè)衛(wèi)生管理
- 天然氣操作技術(shù)與安全管理(第二版)
- 班組現(xiàn)場(chǎng)安全管理100例