《機(jī)器人軟件結(jié)構(gòu).ppt》由會員分享,可在線閱讀,更多相關(guān)《機(jī)器人軟件結(jié)構(gòu).ppt(18頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、1 機(jī)器人軟件結(jié)構(gòu) 2 內(nèi)容簡介 機(jī)器人軟件的作用與構(gòu)成 系統(tǒng)軟件及結(jié)構(gòu) 機(jī)器人的編程語言 機(jī)器人的編程 機(jī)器人軟件的作用與構(gòu)成 機(jī)器人系統(tǒng)可大致由硬件系統(tǒng)和軟件系統(tǒng)組成。 其中硬件系統(tǒng)包括機(jī)械系統(tǒng)、傳感系統(tǒng)、驅(qū)動系統(tǒng)及計 算機(jī)與控制系統(tǒng),機(jī)器人的精度與執(zhí)行工作的速度由硬 件系統(tǒng)決定。 軟件系統(tǒng)則是所有控制程序的統(tǒng)稱,機(jī)器人執(zhí)行何種操 作、操作控制的方便性及具有的功能則由機(jī)器人的軟件 系統(tǒng)決定。 機(jī)器人的硬件系統(tǒng)己趨向于模塊化和簡單化,而且逐步 定型;機(jī)器人的軟件系統(tǒng)則由于機(jī)器人執(zhí)行任務(wù)的多樣 化而趨向于復(fù)雜化。 隨著機(jī)器人技術(shù)的發(fā)展,特別是智能
2、機(jī)器人的發(fā)展,機(jī) 器人的軟件在整個系統(tǒng)中占的比例將愈來愈大。 3 機(jī)器人軟件的作用與構(gòu)成 機(jī)器人的基本工作原理圖 4 機(jī)器人軟件的作用與構(gòu)成 很明顯,硬件系統(tǒng)則是動作的執(zhí)行者,而軟件系統(tǒng)是機(jī) 器人工作的指揮核心。 軟件系統(tǒng)可分為系統(tǒng)軟件和應(yīng)用軟件。 系統(tǒng)軟件是由機(jī)器人制造廠商提供,相當(dāng)于機(jī)器的操作 系統(tǒng),它提供了各種控制機(jī)器人動作的手段和指令系統(tǒng)。 機(jī)器人的系統(tǒng)軟件的主要功能有:提供人一機(jī)器人對話 的手段、提供控制機(jī)器人的指令系統(tǒng)與編程環(huán)境、監(jiān)控 和管理機(jī)器人完成任務(wù)的過程和實時監(jiān)控各關(guān)節(jié)的運動。 應(yīng)用軟件是由用戶編制的,它是使機(jī)器人完成具體任務(wù) 的程序。 5 系統(tǒng)軟
3、件及結(jié)構(gòu) 按系統(tǒng)軟件功能的不同,機(jī)器 人系統(tǒng)軟件可用分級的方法概 括如圖所示。機(jī)器人具有的不 同軟件級別,是區(qū)別機(jī)器人先 進(jìn)性的重要標(biāo)志。 6 系統(tǒng)軟件及結(jié)構(gòu) 系統(tǒng)的第一級,即實時監(jiān)控軟件。任何機(jī)器人至少都具 有這一級的軟件,其主要任務(wù)是將期望的關(guān)節(jié)運動轉(zhuǎn)化 成各關(guān)節(jié)的驅(qū)動力和驅(qū)動力矩,并監(jiān)視此運動的完成, 這級軟件大多由匯編語言寫成,要求有極好的實時性, 監(jiān)控整個運動的核心在這一級上。 系統(tǒng)的第二級是點位運動控制軟件。這是目前市場上多 數(shù)機(jī)器人均具有的,它只能控制點到點的運動,當(dāng)任務(wù) 復(fù)雜時,其編程比較繁瑣、困難,同時編出的程序一般 只能依順序執(zhí)行,很少有分支能力。 7 系
4、統(tǒng)軟件及結(jié)構(gòu) 系統(tǒng)的第三級是運動的控制軟件。這一級的主要任務(wù)是 進(jìn)行運動和軌跡的規(guī)劃,它保證任務(wù)的執(zhí)行過程在比較 優(yōu)化的基礎(chǔ)上進(jìn)行,指令較全,同時它可支持多設(shè)備的 協(xié)調(diào)工作,對具有這級軟件的機(jī)器人編程相對簡單一些。 系統(tǒng)的第四級是結(jié)構(gòu)化編程支持級。此級實質(zhì)上是一個 編譯系統(tǒng),它使機(jī)器人的運動控制編程可以脫離機(jī)器人, 進(jìn)行離線的調(diào)試與仿真。 8 系統(tǒng)軟件及結(jié)構(gòu) 系統(tǒng)的第五級,目前大多數(shù)機(jī)器人都不具備。在這一級 給機(jī)器人編程時是以任務(wù)為單位給定的,不必用具體的 運動來描述,這是軟件的高級層次,主要用人工智能的 手段來解決。諸如環(huán)境的區(qū)別、任務(wù)的描述、任務(wù)的劃 分等問題,均需用該層軟件
5、來解決。很明顯,在整個機(jī) 器人軟件系統(tǒng)中有不少是用于監(jiān)控機(jī)器人運動過程的, 這相當(dāng)于機(jī)器人的內(nèi)部特性。一般來講,用戶關(guān)心的是 機(jī)器人的語言,而不是語言的具體工作過程。 9 機(jī)器人的編程語言 機(jī)器人的編程語言是機(jī)器人系統(tǒng)軟件的重要組成部分, 其發(fā)展與機(jī)器人技術(shù)的發(fā)展是同步的。 機(jī)器人語言有四種主要類型,從低級到高級分別是: 1、面向點位控制的機(jī)器人語言 (如 T3 FUNKY語言等 ); 2、面向運動的機(jī)器人語言 (如 VAL.EMUY.RCL語言等 ); 3、結(jié)構(gòu)化編程語言 (如 AL.MCL.MAPL語言等 ); 4、面向任務(wù)的機(jī)器人語言 (如 AUTOPASS語言
6、等 )。 10 機(jī)器人的編程語言 每個機(jī)器人的語言大都可以歸于上述一類中。另外一種 語言則是對任何機(jī)器人都適用的,那就是實時監(jiān)控語言, 但這種語言的使用需要很高的技巧及對系統(tǒng)硬件詳盡的 了解,一般用戶不必使用,只有研究人員才應(yīng)用此級軟 件。 目前,各種機(jī)器人語言紛繁復(fù)雜,機(jī)器人語言標(biāo)準(zhǔn)化的 要求日益迫切,機(jī)器人語言一方面向完善方向發(fā)展,另 一方面則可能向標(biāo)準(zhǔn)的方向發(fā)展。 11 機(jī)器人的編程 1 機(jī)器人的示教 用機(jī)器人代替人進(jìn)行作業(yè)時,必須預(yù)先對機(jī)器人發(fā)出指 示,規(guī)定機(jī)器人進(jìn)行應(yīng)該完成的動作和作業(yè)的具體內(nèi)容。 這個過程就稱為對機(jī)器人的示教或?qū)C(jī)器人的編程。 對機(jī)器人的示教
7、有不同的方法,要想讓機(jī)器人實現(xiàn)人們 所期望的動作,必須賦予機(jī)器人各種信息,首先是機(jī)器 人動作順序的信息及外部設(shè)備的協(xié)調(diào)信息;其次是與機(jī) 器人工作時的附加條件信息;再次是機(jī)器人的位置和姿 態(tài)信息。 12 機(jī)器人的編程 (1) 直接示教 就是我們常說的手把手示教,由人直接搬動機(jī)器人的手 臂對機(jī)器人進(jìn)行示教,如示教盒示教或操作桿示教等。 在這種示教中,為了示教方便及獲取信息的快捷而準(zhǔn)確, 人們可選擇在不同的坐標(biāo)系下示教,可在關(guān)節(jié)坐標(biāo)系、 直角坐標(biāo)系 (基坐標(biāo)系 )以及工具坐標(biāo)系、工件坐標(biāo)系或 用戶自定義的坐標(biāo)系下示教。 13 機(jī)器人的編程 (2) 離線示教 不對實際作業(yè)的機(jī)器人直接進(jìn)
8、行示教,而是脫離實際作 業(yè)環(huán)境生成示教數(shù)據(jù),間接地對機(jī)器人進(jìn)行示教。在離 線示教法 (離線編程 )中,通過使用計算機(jī)內(nèi)存儲的模型 (CAD模型 ),不要求機(jī)器人實際產(chǎn)生運動,便能在示教結(jié) 果的基礎(chǔ)上對機(jī)器人的運動進(jìn)行仿真,從而確定示教內(nèi) 容是否恰當(dāng)及機(jī)器人是否按人們期望的方式運動。 14 機(jī)器人的編程 2機(jī)器人語言及其分類 機(jī)器人軟件的類型大致有三種: 伺服控制級軟件; 機(jī)器人運動控制級軟件,用于對機(jī)器人軌跡控制 插補和坐標(biāo)變換等; 周邊裝置的控制軟件。 為了讓機(jī)器人產(chǎn)生人們所期望的動作,實現(xiàn)上述三類軟 件的功能,就必須設(shè)計機(jī)器人的運動過程和編制完成這 種運動過程的
9、先后順序,這與計算機(jī)編制程序的概念是 一樣的。于是使用一種形式語言來描述機(jī)器人的運動, 這種形式語言叫做機(jī)器人語言 (Robot Language)。 15 機(jī)器人的編程 以機(jī)器人語言為線索,利用機(jī)器人語言對機(jī)器人編程, 實現(xiàn)對機(jī)器人及其周邊裝置的控制。機(jī)器人語言的含義 是,機(jī)器人語言是在人與機(jī)器人之間的一種記錄信號或 交換信息的程序語言。 關(guān)于機(jī)器人語言的分類,從不同的方面考慮有很多種分 類方法,通常人們根據(jù)作業(yè)描述水平的高低分為三級: (1)動作級 動作級語言是以機(jī)器人的運動作為描述的中心,由一系 列命令組成,一般一個命令對應(yīng)一個動作,語言簡單, 易于編程,缺點是不能進(jìn)行復(fù)雜的數(shù)學(xué)運算。 16 機(jī)器人的編程 (2)對象級 對象級語言是以描寫操作物之間的關(guān)系為中心的語言。 (3) 任務(wù)級 任務(wù)級是比較高級的機(jī)器人語言,這類語言允許使用者 對工作任務(wù)要求達(dá)到的目標(biāo)直接下命令,不需要規(guī)定機(jī) 器人所做的每一個動作的細(xì)節(jié)。只要按某種原則給出最 初的環(huán)境模型和最終的工作狀態(tài),機(jī)器人可自動進(jìn)行推 理計算,最后生成機(jī)器人的動作。 17 18