已閱讀5頁,還剩74頁未讀, 繼續(xù)免費閱讀
(電力電子與電力傳動專業(yè)論文)機器人運動控制系統(tǒng)的軟件設(shè)計.pdf.pdf 免費下載
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
東南人學(xué)碩 j 學(xué)位論文 a b s t r a c t a tt h eb a s i so fe x i s t e dh a r d w a r ep l a t f o r m ,t h i sp a p e rd e v e l o p e sac o m p l e t es e to f r o b o tm o t i o nc o n t r o ls y s t e ms o f t w a r e f i r s t l y , t h i sp a p e ri m p r o v e sr e v e r s ek i n e m a t i c s s o l u t i o no fr o b o ta n di n t r o d u c e sp a t hp l a n n i n gi nj o i n ts p a c ea n dr e c t a n g u l a rc o o r d i n a t e s s p a c e a n dt h e n ,s o f t w a r e so fip ca n dd s p , a sw e l la sc o m m u n i c a t i o np r o t o c o lb e t w e e n i p ca n dd s pi sd e s i g n e d t h es o f t w a r eo fd s pa d o p t ss t r u c t u r e dp r o g r a mm e t h o d a n d a c c o r d i n gt ot h ep r i n c i p l eo fh i g hc o h e s i o na n dl o wc o u p l i n g ,r e a s o n a b l em o d u l e sd i v i s i o n i sm a d e d e t a i l e di n t r o d u c t i o n sa r em a d eo nt h ed e s i g na n di m p l e m e n t a t i o no fe v e r y m o d u l e t h es o f t w a r eo fi p ca d o p t st h ei d e ao fo o p f u n c t i o n a lr e q u i r e m e n t so fi p c s o f t w a r ea r ei m p l e m e n t e db yc l a s s e sa n di n t e r a c t i o nb e t w e e nc l a s s e s a tt h es a m et i m e t h ep a p e rd i s c u s s e st h ea p p l i c a t i o n so fd e s i g np a t t e r na n dc + + s t lo ni p cs o f t w a r e a n d o nt h i sb a s i s ,as e to fc o m m u n i c a t i o np r o t o c o lf o rt h es i x - j o i n tr o b o tm o t i o nc o n t r o li s d e s i g n e d b a s e do nt h er e s e a r c ho f r o b o tp o s i t o nl o o pc o n t r o la l g o r i t h m ,t h i sp a p e r i n t r o d u c e st h ed e s i g na n di m p l e m e n t a t i o no fp o s i t o nf u z z yc o n t r o l l e ri nd e t a i l a tl a s t , d e b u g g i n go fs i n g l ej o i n t ,m u l t i p l ej o i n t s ,l i n em o v e ,a r cm o v ea n d f u n c t i o no f t e a c h - p l a y b a c ka r em a d et ot h er o b o tm o t i o nc o n t r o ls y s t e m t h i si s s u eh a ss u c c e s s f u l l ys e tu pas o f t w a r ep l a t f o r mf o rs i x - j o i n tr o b o tm o t i o nc o n t r o l s y s t e m ,a n dp a s st h ed e b u g g i n g ,w h i c hh a sl a i dag o o df o u n d a t i o nf o rt h en e x tp h a s eo f r e s e a r c hw o r k k e y w o r d :r o b o t ,p a t hp l a n n i n g ,o o p , d e s i g np a t t e m ,f u z z yc o n t r o l i l 東南大學(xué)學(xué)位論文獨創(chuàng)性聲明 本人聲明所呈交的學(xué)位論文是我個人在導(dǎo)師指導(dǎo)下進行的研究工作及取得 的研究成果。盡我所知,除了文中特別加以標(biāo)注和致謝的地方外,論文中不包含 其他人已經(jīng)發(fā)表或撰寫過的研究成果,也不包含為獲得東南大學(xué)或其它教育機構(gòu) 的學(xué)位或證書而使用過的材料。與我一同工作的同志對本研究所做的任何貢獻均 已在論文中作了明確的說明并表示了謝意。 研究生簽名:c 驂毳民同期: 少繆一丫一2 艿 東南大學(xué)學(xué)位論文使用授權(quán)聲明 東南大學(xué)、中國科學(xué)技術(shù)信息研究所、國家圖書館有權(quán)保留本人所送交學(xué)位 論文的復(fù)印件和電子文檔,可以采用影印、縮印或其他復(fù)制手段保存論文。本人 電子文檔的內(nèi)容和紙質(zhì)論文的內(nèi)容相一致。除在保密期內(nèi)的保密論文外,允許論 文被查閱和借閱,可以公布( 包括刊登) 論文的全部或部分內(nèi)容。論文的公布( 包 括刊登) 授權(quán)東南大學(xué)研究生院辦理。 研究生簽名:c 蓮盟導(dǎo)師簽名 第一章緒論 1 1 引言 第一章緒論 工業(yè)機器人,是“在工業(yè)領(lǐng)域應(yīng)用的一種可重復(fù)編程的( 至少具有三個可重復(fù)編程軸) , 具有多種用途的自動機器”( 國際機器人聯(lián)合會的定義) 。它所處的環(huán)境為制造環(huán)境,即所謂 的“結(jié)構(gòu)化”環(huán)境。由于具有可重復(fù)編程的特點,特別適合于多品種、變批量的柔性生產(chǎn), 它已被廣泛應(yīng)用在工業(yè)生產(chǎn)線上。 工業(yè)機器人系統(tǒng)包括機械本體和控制器兩大部分。目前,機器人的機械本體方面的設(shè)計 與制造技術(shù)已相當(dāng)成熟,主要應(yīng)用開發(fā)與研究方向集中在機器人的控制器。控制器是機器人 系統(tǒng)的指揮中樞,負責(zé)信息處理和與人交互,它接收來自傳感器的信號,對其進行數(shù)據(jù)處理, 并按照預(yù)存信息、機器人的狀態(tài)及其環(huán)境情況等,產(chǎn)生出控制信號去驅(qū)動機器人各個關(guān)節(jié)。 控制器決定了機器人性能的優(yōu)劣。 開發(fā)“具有開放式結(jié)構(gòu)的模塊化、標(biāo)準(zhǔn)化機器人控制器”是當(dāng)前機器人控制器一個重要 發(fā)展方向。所謂開放式結(jié)構(gòu)是指控制器沒計的各個層次對用戶開放,用戶可以方便的擴展和 改進其性能。其主要思想是: ( 1 ) 利用基于1 f 封閉式計算機平臺的開發(fā)系統(tǒng),如s u n ,s g i 。p c s 有效利用標(biāo)準(zhǔn)計 算機平臺的軟、硬件資源為控制器擴展創(chuàng)造條件。 ( 2 ) 利用標(biāo)準(zhǔn)的操作系統(tǒng),如u n i x ,v x w o r k s 和標(biāo)準(zhǔn)的控制語言,如c ,c + + 。采片j 標(biāo) 準(zhǔn)操作系統(tǒng)和控制語言,從而可以改變各種專用機器人語言并存且互不兼容的局面。 ( 3 ) 采用標(biāo)準(zhǔn)總線結(jié)構(gòu),使得為擴展控制器性能而必須的硬件,如各種傳感器,i ,o 板、運動控制板可以很容易的集成到原系統(tǒng)。 ( 4 ) 利用網(wǎng)絡(luò)通訊,實現(xiàn)資源共享或遠程通訊目前,幾乎所有的控制器都沒有網(wǎng)絡(luò) 功能,利用網(wǎng)絡(luò)通訊功能可以提高系統(tǒng)變化的柔性。 開放式控制器包含硬件和軟件兩個部分,硬件是實現(xiàn)機器人控制功能的實體。軟件是實 現(xiàn)操作者對機器人控制的軟環(huán)境。通過軟件把機器人控制器的硬件同操作者聯(lián)系起來,操作 者通過軟件來實現(xiàn)對機器人的操作,完成各種作業(yè)任務(wù)。 控制器軟件系統(tǒng)功能的好壞關(guān)系到是否可以最大限度的發(fā)揮硬件系統(tǒng)的功能,好的軟件 系統(tǒng)甚至可以彌補一些硬件性能方面的不足,提高機器人的作業(yè)能力。 1 2 國內(nèi)外機器人控制軟件研究現(xiàn)狀 國外關(guān)于工業(yè)機器人的控制器的研究已經(jīng)比較成熟了,機器人控制器的研究已經(jīng)由硬件 過渡到軟件,當(dāng)前機器人控制器軟件系統(tǒng)主要采用以下六種結(jié)構(gòu)方式: ( 1 ) 基于任務(wù)描述型 把整個系統(tǒng)軟件按照任務(wù)劃分為不同的任務(wù)模塊,對單獨的任務(wù)模塊進行編程,最后通 過任務(wù)優(yōu)先級和定時的方式來完成對每一個任務(wù)的調(diào)度。由于是基于明確任務(wù)型的,因此, 其專用性比較強。 ( 2 ) 基于部件描述型 按照機器人所實現(xiàn)的功能,把整個控制軟件系統(tǒng)劃分為幾大部件,每個部件完成一項單 東南人學(xué)碩l j 學(xué)位論文 獨的任務(wù)。這種部件描述犁軟t t :結(jié)構(gòu)提高了軟件系統(tǒng)的通削性和升放性,h j 戶町以通過具體 的需要添加新的功能郜仆。與此l 叫u 寸,由j :丌發(fā)出束的郜f i 乓仃 醍蝕的獨立性,w 此,u j 以 在開發(fā)新的軟件系統(tǒng)時重用這些現(xiàn)成的部件。 ( 3 ) 基丁多代理( a g e n t ) 描述的模型 由t - a g e n t 具有自治性、開放性、反應(yīng)能力和主動性,因此近年米它鈹j 泛地應(yīng)用在智 能領(lǐng)域。 ( 4 ) 基于端口對象動態(tài)重新配置的軟件結(jié)構(gòu) 這種方法將面向?qū)ο蟮脑O(shè)計同數(shù)字控制系統(tǒng)的端口設(shè)計相結(jié)合。一個基丁端口的對象被 定義為具有通信功能端口的對象,每一個端口對象的輸入輸出表示一個狀態(tài)變量串。對其 他對象而言,隱藏了內(nèi)部的狀態(tài)和方法。該結(jié)構(gòu)和框架設(shè)置了一個全局狀態(tài)信息庫,所有對 象端口變量的狀態(tài)以表格的形式存在該庫中。 ( 5 ) 面向通訊的機器人軟件系統(tǒng) 美國s a n d i a 國家實驗室與其他能源實驗部分合作,并由d o e 的機器人技術(shù)發(fā)展( r t d p ) 資助,開發(fā)通用智能系統(tǒng)控制器( g i s c ) ,g i s c 采用基于面向通訊的概念,并按照這樣一 個概念,將一組能夠相互通信的、具有互補能力的和半自主式的子系統(tǒng)合成為一個監(jiān)督系統(tǒng)。 每一個子系統(tǒng)有定義良好的命令和接口,并且通過各子系統(tǒng)的接口由一個監(jiān)督控制程序直轄 市系統(tǒng)的整個活動。單獨的子系統(tǒng)也具有適時低層次控制功能,可以采用自主方式和異步方 式來實現(xiàn)。 ( 6 ) 分布式控制和管理系統(tǒng) 美國c i m f l e x 技術(shù)公司將新技術(shù)基礎(chǔ)和相關(guān)方法用于高性能智能控制器的快速開發(fā)過 程,研制了一種分布式智能控制和管理( d i c a m ) 系統(tǒng)。這種通用控制結(jié)構(gòu)結(jié)合面向任務(wù) 的、帶有元控制器的領(lǐng)域控制器,元控制器可以在一個領(lǐng)域內(nèi)調(diào)度活動。本項目包括四個部 分:用丁智能控制的參考模型的形式化;在開發(fā)上作空間中應(yīng)用程序的構(gòu)建,工作空間中系 統(tǒng)的要求通過選擇設(shè)計組件來滿足,設(shè)計組件是通用參考結(jié)構(gòu)組件的專門化和詳細化;應(yīng)用 庫中再使用模塊的構(gòu)建;豐富大量的開發(fā)工具的創(chuàng)建,融合了從軟件工程( 控制定律說明符、 代碼發(fā)生器、協(xié)議、編輯器和調(diào)試器) 和知識丁程( 領(lǐng)域模型器、規(guī)則管理器、基于知識的 設(shè)計助理) 中的大量技術(shù)。 前兩種軟件結(jié)構(gòu)一般用于示教再現(xiàn)型工業(yè)機器人。后四種軟件結(jié)構(gòu)形式主要應(yīng)用在機器 人的智能控制器。本課題的研究對象屬于示教再現(xiàn)型工業(yè)機器人,本課題的任務(wù)是在師兄設(shè) 計的基于i p c ( 工控機) + d s p 的開放式控制器硬件平臺及部分軟件的基礎(chǔ)上開發(fā)出一套 完整的具有界面友好,開放性和通用性強的機器人運動控制系統(tǒng)軟件。為了提高軟件的重用 性,我們采用了第二種基于部件描述的軟件結(jié)構(gòu)。 1 3 課題的研究對象和內(nèi)容 本課題的研究對象是一個6 關(guān)節(jié)機器人手臂,由底座主體、大臂、小臂和手腕等幾個部 分組成,其結(jié)構(gòu)如圖1 1 所示,連桿參數(shù)如表1 1 所示。本課題是在2 0 0 2 界師兄研究工作 的基礎(chǔ)上進行進一步工作,2 0 0 2 屆師兄完成了機器人運動控制卡的設(shè)計,以及部分軟件設(shè) 計,這其中包括:下位機的c p l d 程序、上位機p c i 驅(qū)動程序、兩關(guān)節(jié)的運動控制的上下 位機程序、機器人運動學(xué)正逆解解析表達式的推導(dǎo)等。本課題延續(xù)他的工作,完成的主要內(nèi) 容有如下幾個方面: ( 1 ) 對機器人運動學(xué)逆解進行完善。 ( 2 ) 開發(fā)一套完整的機器人運動控制系統(tǒng)軟件并設(shè)計工控機和d s p 運動控制卡的通 訊協(xié)議。 2 第一章緒論 ( 2 ) 對機器人位置環(huán)控制算法進行研究,主要針對p i d 控制與模糊控制。 ( 3 ) 完成機器人六關(guān)1 ,軟硬件調(diào)試。 本課題設(shè)計中使剛的軟件開發(fā)i :具主要有:t ic c 4 0 ,v i s u a lc + + 6 0 ,m i c r o s o f ts q l s e r v e r 2 0 0 0 。i :控機操作系統(tǒng)采川m i c r o s o f t 公司的w i n d o w s2 0 0 0 。 一i :控機c p u 配置為p e n t u i m 川1 0 g h z ,內(nèi)存大小為2 5 6 m 。d s p 仿真器使用聞亭公 司的t d s 5 1 0j t a g 仿真器。機器人各關(guān)節(jié)上面安裝有交流伺服電機,電機額定轉(zhuǎn)速為3 0 0 0 轉(zhuǎn),分,帶有光電碼盤和制動器,和伺服電機配套的是日本安川i 公司的s g d m a 伺服驅(qū)動器。 r o t ( s ) 圖1 1 機器人結(jié)構(gòu)圖 表1 1 連桿參數(shù) s tf l a n g e 桿號關(guān)節(jié)變量 qi ( 度) a i ( m m )d i ( m m ) 轉(zhuǎn)角范圍 oi ( 度) ( 度) 101 9 0 1 5 0 ( a 1 ) 0 1 7 0 2 e2 ( 一9 0 ) 1 8 0 2 6 0 ( a 2 ) 01 3 5 + 6 0 3 0 3 9 0 6 0 ( a 3 ) 0- 7 0+ 1 9 0 4 o4 9 0 0 - 2 6 0 ( d 4 ) 1 8 0 5 0 5 9 0 00 1 3 5 6 06 1 8 00 - 9 0 ( d 6 ) 3 5 0 注:oi :繞z i 1 從x i 1 到x i 轉(zhuǎn)角,以逆時針為正;c ii :繞x i 從乙1 到z i 轉(zhuǎn)角,以逆時針為正; a i :沿x i 從z i 1 平移到z i 的距離,與) ( i 正方向一致時為正;d i :沿乙1 從1 平移到 x i 的距離,與z i 1 正方向一致時為正。 將圖1 1 所示的機器人結(jié)構(gòu)圖與實際的機器人相對比,我們發(fā)現(xiàn)表1 1 中的連桿參數(shù) a 3 應(yīng)由原來的6 0 改為一6 0 。 1 4 章節(jié)安排 全文共分為五章,內(nèi)容如下: 3 東南人學(xué)頌i :學(xué)位論文 第一章 第二章 第二章 第四章 第五章 第八章 緒論。介紹j ,i 業(yè)機器人技術(shù)和開放式機器人控制器,給出j ,本課題的研 歹寸象f l j 內(nèi)彳。 機器人理論基礎(chǔ)。完善了解析法求解機器人運動學(xué)逆解,介糾了機器人大 節(jié)空間與直角坐標(biāo)空間軌跡規(guī)劃。 軟件設(shè)計。運用結(jié)構(gòu)化以及面向?qū)ο蟮木庯椒ň帉懥瞬肺粰C和上位機軟 件。 機器人控制算法。詳細介紹了模糊控制算法在本課題中的應(yīng)剛。 機器人調(diào)試。完成機器人單關(guān)節(jié)、多關(guān)節(jié)、直線與圓弧運動以及示教再現(xiàn) 功能的調(diào)試。 結(jié)論與展望。對本課題的設(shè)計做出總結(jié),對f 一步的上作做了展望。 4 第二章機器人理論旗礎(chǔ) 第二章機器人理論基礎(chǔ) 2 1 機器人運動學(xué) 機器人的運動學(xué),看重研究機器人各個坐標(biāo)系之間的運動關(guān)系,是對機器人進行運動控 制的理論基礎(chǔ)。機器人運動學(xué)主要描述了以下兩個基本問題: 1 ) 運動學(xué)正問題。對一個給定的機器人,已知機器人的幾何尺寸和關(guān)節(jié)空間的值,求 末端執(zhí)行機構(gòu)相對于給定直角坐標(biāo)系的位置和姿態(tài)。 2 ) 運動學(xué)逆問題。已知機器人幾何尺寸和末端執(zhí)行機構(gòu)相對于給定直角坐標(biāo)系的位置 和姿態(tài),確定關(guān)節(jié)空間變量的值。 在參考文獻【1 】f 2 】中,對運動學(xué)的正解與逆解的求解進行了詳細討論和計算,我通過仔 細研究后發(fā)現(xiàn)在運動學(xué)逆解的求解過程中,存在一個小問題。同時文獻f 1 】的正解的解析表 達式存在一些筆誤,在此將更正后的正解解析表達式列出如下: n 。= c l s 2 3 ( c 4 c 5 c 6 - $ 4 s 6 ) - c 2 3 s 5 c 6 卜s l ( $ 4 c 5 c 6 + c 4 s 6 ) 船,= s 1 【s 2 3 ( c 4 c 5 c 6 - s 4 s 6 ) - c 2 3 s 5 c 6 】+ c l ( s 4 c 5 c 6 + c 4 s 6 ) 刀:= c 2 3 ( c 4 c 5 c 6 - s 4 s 6 ) + $ 2 3 s 5 c 6 0 ,= c l 【s 2 3 ( c 4 c 5 s 6 + s 4 c 6 ) - c 2 3 s 5 s 6 卜s l ( s 4 c 5 s 6 - c 4 c 6 ) 0 ,= s l 【s 2 3 ( c 4 c 5 s 6 + s 4 c 6 ) 一c 2 3 s 5 s 6 】+ c l ( s 4 c 5 s 6 c 4 c 6 ) 0 z = c 2 3 ( c 4 c 5 s 6 + s 4 c 6 ) + s 2 3 s 5 s 6 a ,= c l ( s 2 3 c 4 s 5 + c 2 3 c 5 ) 一s l s 4 s 5 口v = s l ( s 2 3 c 4 s 5 + c 2 3 c 5 ) + c l s 4 s 5 a := c 2 3 c 4 s 5 - $ 2 3 c s 只= d 6 ( c l s 2 3 c 4 s 5 + s l s 4 s 5 一c l c 2 3 c 5 ) 一d 4 c l c 2 3 + a 3 c 1 s 2 3 + a 2 c 】s 2 + a 1 c 1 只2 d 6 ( 一s l s 2 3 c 4 s 5 一c l s 4 s 5 - s 1 c 2 3 c 5 ) 一d 4 s l c 2 3 + a 3 s l s 2 3 + a 2 s 1 s 2 + a l s l = 一d 6 ( c 2 3 c 4 s 5 $ 2 3 c 5 ) + d 4 s 2 3 + a 3 c 2 3 + a 2 c 2 其中:s ,= s i n o , c f = c o s o ji = 0 - - 6 ,c 2 3 = c o s ( 0 2 一島) ,s 2 3 = s i n ( 0 2 一秒3 ) 文獻【1 】在求解逆解過程中,由式( 2 1 ) 、( 2 2 ) 可以導(dǎo)出見,而由式( 2 - 3 ) 、( 2 _ 4 ) 可以導(dǎo) 出皖。 s 2 3 ( c l 以+ s l a j ,) + c 2 3 口j = c 4 s 5 一s 1 c i j + c a y5 $ 4 s 5 一c 2 3 ( c i g x + s 1 y ) + s 2 3 刀2 = s 5 c 6 一c 2 3 ( c 1 0 膏+ 5 1 0 j ,) + s 2 3 0 := $ 5 5 6 5 ( 2 1 ) ( 2 - 2 ) ( 2 - 3 ) ( 2 - 4 ) 東南人學(xué)碩i :學(xué)位論文 將( 2 2 ) 式除以( 2 1 ) 式,( 2 - 4 ) 式除以( 2 3 ) 式從而得劍: cla 。一s1aj 釓=盯m卸而i再兩汀面(2-5s2 3 as 1c c2 3a ) ( ci j+ y ) + z 0 6 一c t a n 專籌羔糕 陋6 , 當(dāng)s i n0 ,= 0 時,文獻【1 】中得出的結(jié)論是:良、嚷有無數(shù)個解,分別取與前一插補點 相同的關(guān):節(jié)角度。 在用程序?qū)崿F(xiàn)運動學(xué)逆解過程中,我們用正解來驗證逆解求出來的結(jié)果是否正確時發(fā) 現(xiàn):當(dāng)s i n9 ,= 0 時文獻 1 l q b 的結(jié)論是錯誤的。我們通過仔細觀察和認真研究機器人的正 解表達式時發(fā)現(xiàn): 由于俠的范圍為1 3 5 一+ 1 3 5 ,因此當(dāng)且僅當(dāng)0 5 = 0 時,s i no ,= 0 。 1 、當(dāng)s i no s = 0 ,c o s0 s = 1 ,c 2 3 0 時,? :、0 :分別為: 以:= c 2 3 ( c 4 c 6 一$ 4 s 6 ) = c ”c o s ( a , + 8 6 ) 0 z = c 2 3 ( c 4 s 6 + s 4 c 6 ) = c 2 3 s i n ( 0 4 + 優(yōu)) 由式( 2 - 7 ) 和( 2 8 ) 可得: c 2 3 0 時,0 4 + 8 6 = a r c t a n 2 ( 0 :,l :) c 2 3 0 時,吼+ 眈= a r c t a n 2 ( 一0 z :, - - v i :) 2 、s i n0 5 = 0 ,c o s 9 ,= 1 ,c 2 3 = 0 時,i ,、 y 分別為: 1 。= c l s 2 3c o s ( 0 4 + 見) 一s ls i n ( 0 4 + 眈) 刀) j = c 1 5 2 3c o s ( 0 4 + 眈) 一s ls i n ( 0 4 + 優(yōu)) 由式( 2 1 1 ) 和( 2 1 2 ) 可得 s 2 3 = 1 時,幺+ 吼= a r c t a n 2 ( n y ,z ,) 一只 s 2 3 = 一1 時,幺+ 皖= q a r c t a n 2 ( 一刀y ,一刀,) ( 2 7 ) ( 2 8 ) ( 2 9 ) ( 2 - 1 0 ) ( 2 - 1 1 ) ( 2 1 2 ) ( 2 1 3 ) ( 2 - 1 4 ) 綜上所述,當(dāng)s i n0 ,= 0 時,幺與哦有無窮解,但它們之間存在上述約束關(guān)系。在求 解時,幺或皖取與前一插補點相同的關(guān):爺角度,另一個關(guān)節(jié)角度可根據(jù)上面給出約束關(guān)系 求出。 6 第_ 二章機器人理論皋礎(chǔ) 2 2 機器人運動軌跡規(guī)劃 所謂軌跡,是指操作臂在運動過程中的位移、速度和加速度對時間t 的運動規(guī)律。機器 人運動軌跡規(guī)劃,就是根據(jù)機器人操作臂要完成的一段作業(yè)來設(shè)計機器人預(yù)期的運動軌跡。 通常將操作臂的運動看作是工具坐標(biāo)系相對于:作坐標(biāo)系的運動。機器人作業(yè)分成兩類:一 類為點到點的運動( p t p ) ,只需要規(guī)定操作臂在t 作坐標(biāo)系的起始位置和目標(biāo)位置。一類 為連續(xù)路徑運動( c p ) 不僅要規(guī)定操作臂的起始點和終止點,而且要指明兩點之間的若干點 ( 路徑點) ,必須沿特定路徑運動。軌跡規(guī)劃既可在關(guān)符空間也可在直角坐標(biāo)空間中進行,一 般情況下,關(guān)節(jié)空間的軌跡規(guī)劃用于實現(xiàn)點到點運動,而直角坐標(biāo)空間的軌跡規(guī)劃用于實現(xiàn) 連續(xù)路徑運動。下面我們將分別介紹關(guān)節(jié)空間和直角坐標(biāo)空間的軌跡規(guī)劃。 2 2 1 關(guān)節(jié)空間軌跡規(guī)劃 一般地,為了控制機器人的關(guān)節(jié)空間運動量,并使關(guān)節(jié)運動軌跡平滑,關(guān)節(jié)運動平衡, 需要對機器人的關(guān)節(jié)運動進行規(guī)劃,主要內(nèi)容包括關(guān)節(jié)運動軌跡的選擇和關(guān)節(jié)運動位置的插 值。所謂關(guān)節(jié)位置的插值,是指對于給定關(guān)節(jié)空間的起始位置和目標(biāo)位置,通過插值計算中 間時刻的關(guān)節(jié)位置。 常見的關(guān)節(jié)空間的位置插補算法有:3 次多項式值、過路徑點的三次多項式插值、高階 多項式插值、b 樣條插值、用拋物線過渡的線性插值、過路徑點的用拋物線過渡的線性插值 等。 本課題在實現(xiàn)點到點運動時,采用的關(guān)節(jié)空間位置插補算法為用拋物線過渡的線性插 值,下面詳細介紹用拋物線過渡的線性插值。 如圖2 - 1 所示,用拋物線過渡的線性插值,其中間線段利用直線插值,兩端利用拋物線 過渡。一般地,關(guān)節(jié)加速度9 為已知的,需要求取的是拋物線與直線過渡點位置。 圖2 1 拋物線過渡的線性插值 圖2 1 中,由直線段可以求出關(guān)節(jié)速度為 免= 等 , 一, ( 2 1 5 ) 其中,厶是時間中間點,厶= ( t o + t d 2 ;o h 是關(guān)節(jié)初始位置和目標(biāo)位置的中間點j 7 東南人學(xué)幀i j 學(xué)位論文 皖= ( 釀+ 秒,) 2 :,。是拋物線向直線過渡的時刻。 而根據(jù)拋物線的方程,厶時刻的關(guān)節(jié)何置可以川式( 2 1 6 ) 表示。 皖= 島+ 抄 ( 2 1 6 ) 由式( 2 - 1 6 ) ,可以得到,6 時刻的關(guān)筲速度,見式( 2 1 7 ) 。 皖= 研6 ( 2 1 7 ) 將式( 2 1 6 ) 和式( 2 1 7 ) 代入式( 2 1 5 ) 中,經(jīng)整理得到,6 的一兀二次方程,見式( 2 1 8 ) a 其解見式( 2 1 9 ) 鉚;一8 t ,6 + ( 口r 一島) = 0 ( 2 - 1 8 ) 仁一t s 一墮i 二終生二型( 2 - 1 9 )。 22 口 如圖2 1 所示,利朋拋物線過渡的兩端是對稱的,即起始段的過渡時刻為t 6 ,結(jié)束段的 過渡時刻為r ,一,6 。當(dāng)口= 4 ( 夠一吼) ,;時,6 = ,2 時,無直線段。加速度越大,拋物 線過渡段越短。另外,為了保證有直線段,加速度不應(yīng)該太小,應(yīng)保證口4 ( 口,一島) f ;。 路徑軌跡見式( 2 2 0 ) 。 r 吼+ 圭旃2 ,曬 乙 i 一 目( ,) = _ 見+ 8 t 6 u 一吒) ,乙,t i 一,6 ( 2 2 0 ) l 巳一l 痧( t i 一,) 2 ,一乙, m a x p u l s e ) 止向溢出 為了確保該方法是創(chuàng)建這個類型的對象的唯一途徑,需要將構(gòu)造函數(shù)定義為保護 ( p r o t e c t e d ) 或私有( p r i v a t e ) 類型。 在本課題中,雙口r a m 類c d p r a m 會在很多地方使用,但他們所使用的數(shù)據(jù)應(yīng)當(dāng)一致。 因此,應(yīng)當(dāng)使用s i n g l e t o n 模式,確保上位機程序中使用的是同一個c d p r a m 對象。這樣不 僅能保證他們的數(shù)據(jù)一致性,而且節(jié)省了內(nèi)存空間,因為第個對象都要占用一定的內(nèi)存空間; 同時義節(jié)約了時間,因為構(gòu)造每個對象都需要花費一定的c p u 時間。s i n g l e t o n 模式是對全 局變量的一種改進,它避免了那些存儲唯一實例的全局變量造成的名字空間污染。代碼示例 2 6 第二三章軟件設(shè)計 如下: c d p r a m p u b l i c : s t a t i cc d p r a m + i n s t a n c e ( ) ; p r i v a t e : c d p r a m 0 ; s t a t i cc d p r a m 。m _ p d p r a m ; ) : c d p r a m + c d p r a m :l n s t a n c e 0 i f ( ! m _ p d p r a m ) m _ p d p r a m = n e wc d p r a m ; ) r e t u r nm _ p d p r a m ; ) 在需要使用類c d p r a m 對象時,通過i n s t a n c e ( ) 方法獲得雙口f 認m 類c d p r a m 的唯一 實例。 3 5 4 2c c o m m a n d 類 操作人員通過上位機提供的人機界面向下位機發(fā)出控制命令,一種直觀的方法是將上位 機命令散布在各個界面類中,將上位機命令以成員函數(shù)的形式封裝于各個界面類中。如果上 位機命令較少,采用這種方法是完全可行的;而當(dāng)上位機命令較多,并且可能發(fā)生變化時, 程序的修改和維護將變得異常困難。 上位機命令類c c o m m a n d 將上位機命令即將上位機到下位機的協(xié)議內(nèi)容封裝起來,當(dāng) 上位機到下位機的協(xié)議內(nèi)容發(fā)生變化時,不需要改變c c o m m a n d 的接1 3 ,而只需改變 c c o m m a n d 類的實現(xiàn),使得變化限制在c c o m m a n d 類中,從而有效的封裝了變化,提高 了程序的易修改性和可維護性。 3 5 4 3c m o t i o n d a t a 類 c m o t i o n d a t a 類的主要功能是接收運動過程數(shù)據(jù),它對上、下位機之間的同步策略以 及數(shù)據(jù)交換方法進行封裝,當(dāng)我們需要改變上、下位機通訊的同步策略或數(shù)據(jù)交換方法時, 只需改變c m o t i o n d a t a 類的實現(xiàn),而程序的其他部分不會受到影響。 c m o t i o n d a t a 類是用于接收運動過程數(shù)據(jù),在機器人運動過程中,下位機將采集到的 數(shù)據(jù)放入雙1 3r a m 中,為了讓上位機在接收數(shù)據(jù)的同時不影響對用戶操作的響應(yīng), c m o t i o n d a t a 類可以用兩種方法來接收數(shù)據(jù):定時接收法和多線程接收法。 ( 1 ) 定時接收法 定時接收法是指在上位機程序中設(shè)定一個軟件定時器,每隔一定的時間間隔發(fā)出一個 w m j 。i m e r 消息,在處理w m t i m e r 消息的過程中讀一次雙口r a m ,這種方式實現(xiàn)起 來比較簡單。但是,由于w m t i m e r 消息的優(yōu)先級較低,只有當(dāng)消息隊列中沒有其他消息 東南人學(xué)壩l j 學(xué)位論文 時,系統(tǒng)才響應(yīng)w m _ t i m e r 消息,也就是說實際響應(yīng)的時間有時會遠大r 定時時l 硼。在機 器入選動過程l | ,d s p 每隔。段u 寸f u j 向從i - ir a m - ,:與組數(shù)據(jù),當(dāng)數(shù)掂量較人h 寸,上位機 如果不能及時地將數(shù)據(jù)從雙口r a m 中讀出,就會造成數(shù)據(jù)丟失。定時接收法的優(yōu)點是它的 程序邏輯比較簡單,實現(xiàn)起來比較容易。因而,在數(shù)據(jù)量比較少的情況下我們用定時接收法。 ( 2 ) 多線程接收法 多線程接收法采用w i n 3 2 應(yīng)用程序的多線程技術(shù),專門開辟一個線程用丁二接收運動過 程數(shù)據(jù)。該線程在機器人停止運動時處于掛起狀態(tài),基本上不占用系統(tǒng)資源。一旦發(fā)出機器 人運動命令,馬上啟動該線程直劍運動結(jié)束。在機器人運動過程中,該線程循環(huán)檢測雙口 r a m 中的數(shù)據(jù)標(biāo)志,根據(jù)數(shù)據(jù)標(biāo)志來讀取雙口r a m 中的數(shù)據(jù),當(dāng)雙口r a m 中無數(shù)據(jù)時, 讓該線程睡眠,從而讓主線程響應(yīng)用戶操作。 在m f c 中,線程分為兩種類型:用戶界面( u 1 ) 線程( u s e ri n t e r f a c et h r e a d s ) 和工 作者線程( w o r k e rt h r e a d s ) 。兩者的不同之處在于u i 線程具有消息循環(huán)而工作者線程沒 有。u i 線程可以創(chuàng)建窗口并處理發(fā)送給這些窗口的消息;工作者線程執(zhí)行后臺任務(wù),因其 不接收用戶的直接輸入,所以不需要窗口和消息循環(huán)。 工作者線程非常適合于執(zhí)行那些可以從應(yīng)用程序中分離出來的獨立任務(wù)以及在后臺中 執(zhí)行的任務(wù)。上位機接收運動過程數(shù)據(jù)是一個相對獨立的任務(wù),也不需要窗口和消息循環(huán), 因此,我們創(chuàng)建一個工作者線程用于接收運動過程數(shù)據(jù)。我們采用下面這個m f c 提供的函 數(shù)創(chuàng)建一個上作者線程: c w i n t h r e a d + a f x b e g i n t h r e a d ( a f x _ t h r e a d p r o cp f n t h r e a d p r o c , l p v o i dp p a r a m , i n tn pr i or i t y = t h r e a d _ p r i o r i t 、,- n o r m a l , u n tn s t a c k s i z e = 0 , d w o r d d w c r e a t e f l a g s = 0 , l p s e c u r i 、j 汛r i b u t e si p s e c u r i t y a t t r s = n u l l ) ; 返同值: 一個指向新線程的線程對象。 p f n t h r e a d p r o c :線程的入口函數(shù),聲明一定要如下: u i n tm y t h r e a d f u n c t i o n ( l p v o i dp p a r a m ) ; p p a r a m : 傳遞給線程的參數(shù),注意它的類型為:l p v o i d ,所以我們可以傳遞一個結(jié) 構(gòu)體給線程。 n p r i o r i t y :線程的優(yōu)先級,一般設(shè)置為0 ,讓它和主線程具有相同的優(yōu)先級。 n s t a c k s i z e :指定新創(chuàng)建的線程的棧的大小。如果為0 ,新創(chuàng)建的線程具有和主線程一 樣的大小的棧。 d w c r e a t e f l a g s :指定創(chuàng)建線程以后的狀態(tài), 有兩個狀態(tài):一是 c r e a t e ,線程創(chuàng)建以后,會處于掛起狀態(tài),真到調(diào)用_suspended r e s u m e t h r e a d ; 二是0 ,創(chuàng)建線程后就開始運行。 i p s e c u r i t y a t t r s ;指向一個s e c u r i t ya 1 _ r r i b u t e s 的結(jié)構(gòu)體,用它來標(biāo)識新創(chuàng)建 線程的安全性。如果為n u l l ,那么新創(chuàng)建的線程就具有和主線程一樣的安全性。 線程的掛起操作采用m f c 類c w i n t h r e a d 的成員函數(shù)s u s p e n d t h r e a d o 實現(xiàn)。 當(dāng)數(shù)據(jù)量較大時,相對于定時接收法,采用多線程接收法的數(shù)據(jù)丟失率低。多線程接收 法的缺點是程序邏輯較為復(fù)雜,在使用多線程接收法時,還要注意線程間的同步問題。當(dāng)上、 下位機間數(shù)據(jù)傳遞量較大時,我們采用多線程接收法。 第三章軟件沒計 3 5 5 數(shù)據(jù)庫訪問模塊 在機器人運動過程中,下位機會采集大量的數(shù)據(jù)送入上位機,上位機首先將這些數(shù)據(jù)存 入文件中,運動結(jié)束后,將保存在文件中的數(shù)據(jù)寫入數(shù)據(jù)庫。數(shù)據(jù)庫訪問模塊的功能主要有 兩個:一是將保存在文件中的運動過程數(shù)據(jù)寫入數(shù)據(jù)庫,二是提取數(shù)據(jù)庫中數(shù)據(jù)用于進一步 分析。 3 5 5 1 數(shù)據(jù)庫訪問技術(shù)的選擇 本課題使用的數(shù)據(jù)庫是目前使用比較廣泛的m i c r o s o f ts q ls e r v e r 2 0 0 0 。在v c 6 0 中 常用的數(shù)據(jù)庫訪問技術(shù)有:o d b c 、d a o 、o l ed b 、a d o 。 o d b c ( o p e nd a t a b a s ec o n n e c t i v i t y ) ,開放式數(shù)據(jù)庫互連。它提供了一個通用的編 程接口,允許程序與多種不同的數(shù)據(jù)庫連接。它為o r a c l e ,s q ls e r v e r ,m se x c e l 等提供 了驅(qū)動程序,使得用戶可以使用s q l 語句對數(shù)據(jù)庫進行直接的底層功能操作。o d b c 的特 點是功能強大,提供了異步操作、事務(wù)處理等高級功能,但相應(yīng)的編程比較復(fù)雜、工作量大。 與此同時,o d b c 只能用于訪問關(guān)系數(shù)據(jù)庫,很難訪問對象數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫、順序 文件等系統(tǒng)。 d a o ( d a t aa c c e s so b j e c t ) ,數(shù)據(jù)訪問對象。d a o 就是一組基于m i c r o s o f ta c c e s s j e t 數(shù)據(jù)庫引擎的c o m 自動化接口。如果系統(tǒng)使用a c c e s s 數(shù)據(jù)庫,則用d a o 編程比較方便。 o l ed b ,對象鏈接與嵌入數(shù)據(jù)庫。o l ed b 在兩個方面對o d b c 進行了擴展。首先, o l ed b 提供了一個數(shù)據(jù)庫編程的c o m 接口;其次,o l ed b 提供了一個可用于關(guān)系型和 非關(guān)系型數(shù)據(jù)源的接口。o l ed b 的兩個基本結(jié)構(gòu)是o l ed b 提供程序( p r o v i d e r ) 和o l e d b 用戶程序( c o n s u m e r ) 。直接使用o l ed b 來設(shè)計數(shù)據(jù)庫應(yīng)用程序需要大量的代碼。 a d o ( a c t i v e xd a t ao b j e c t ) ,a c t i v e x 數(shù)據(jù)對象。a d o 技術(shù)是基于o l ed b 的訪問 接口,它繼承了o l ed b 技術(shù)的優(yōu)點,并且,a d o 對o l ed b 的接口作了封裝,定義了 a d o 對象,使程序開發(fā)得到簡化,a d o 技術(shù)屬于數(shù)據(jù)庫訪問的高層接口。 綜上所述,o d b c 與o l ed b 功能強大,但使用起來比較復(fù)雜,程序編碼量大。d a o 只能用于訪問m i c r o s o f ta c c e s s m e t 數(shù)據(jù)庫,而a d o 基于o l ed b 技術(shù)而且使用起來比較 簡單。因此,我們使用a d o 作為數(shù)據(jù)庫訪問技術(shù)。 3 5 5 2 在v c 中使用a d o 要在v c 中使用a d o ,在使用前必須作一些初始化的工作: ( 1 ) c o m 庫的初始化 由于a d o 是基于c o m 技術(shù)的,我們可以使用a f x o l e l n i t 0 來初始化c o m 庫,這項工 作通常在c w i n a p p :l n i t l n s t a n c e 0 的重載函數(shù)中完成,代碼示例如下: b o o lc r o b o t a p p :l n i t l n s t a n c e ( ) c u r s o r l o c a t i o n = a d u s e c l i e n t ; ,游標(biāo)類型 ,設(shè)置連接字符串,必須是b s t r 型或- b s r _ t 類型 b s t rts t r c o n n e c t = ”p r o v i d e r = s q l o l e d b 1 :p e r s i s ts e c u r i t yi n f o = f a l s e ;” “u s e ri d = s a ;i n i t i a lc a t a l o g = r o b o t m o t i o n d a t a ;d a t as o u r c e = 1 7 2 2 1 5 1 9 ”: m _ p c o n n e c u o n 一 o p e n ( s t r c o n n e c t 。,a d m o d e u n k n o w n ) ;打開數(shù)據(jù)庫 r e t u mt r u e ; ) | l 捕捉異糠 c a t c h ( _ c o r n _ e r r o re ) ,顯示錯誤信息 a f x m e s s a g e b o x ( e d e s c n p t i o n 0 ) ; r e t u r nf a l s e : 3 l 東南人學(xué)頎 j 學(xué)位論文 ) 其中m _ p c o n n e c t i o n 為_ c o n n e c t i o n p t r 接u 時象。我們征析構(gòu)函數(shù) j 火| = d j 數(shù)據(jù)庫連接。 為了霄約內(nèi)存空間,更為了防i 卜頻繁進行數(shù)據(jù)庫的連接與關(guān)閉操作,我們將s i n g l e t o n 模式應(yīng)用于類f a c a d e a d o ,在整個應(yīng)用程序中只實例化一次f a c a d e a d o 類即整個應(yīng)用程 序中只存在唯一一個f a c a d e a d o 的對象。 3 5 6 曲線顯示模塊 曲線顯示模塊顧名思義主要功能是用于顯示曲線。曲線顯示有靜態(tài)顯示和動態(tài)顯示之 分。靜態(tài)顯示的曲線是一個靜止圖形;而動態(tài)顯示的曲線是一個變化圖形,能夠?qū)崿F(xiàn)對變化 數(shù)據(jù)的實時顯示。曲線顯示模塊既要進行靜態(tài)曲線顯示也要進行動態(tài)曲線的顯示。動態(tài)曲線 用于顯示實時顯示運動過程中位置與轉(zhuǎn)速的變化;而靜態(tài)曲線可用于觀察整個運動過程機器 人位置與轉(zhuǎn)速的變化趨勢。曲線顯示模塊是由類c p i o t 來實現(xiàn)的,它繼承自m f c 的窗口類 c w n d ,同時使用其他的一些m f c 類來實現(xiàn)輔助功能。 圖3 1 4c p i o t 類的界面 c p i o t 類的界面如圖3 1 4 所示。在界面中,有一個垂直滾動條和一個水平滾動條,利用 它們來實現(xiàn)曲線的垂直和水平滾動,左上角和右下角的s p i n 控件分別用于對y 軸和x 軸進 行縮放。動態(tài)的彈出式菜單能實現(xiàn)曲線的動態(tài)放大和平移以便于數(shù)據(jù)的觀察與分析。 3 5 6 1 曲線的動態(tài)顯示 為了實時觀察機器人各關(guān)節(jié)的運動情況,在機器人運動過程中,我們將運動過程中采集 到的位置與轉(zhuǎn)速信息在上位機中以曲線的形式顯示出來,由于上位機不斷地接收來自下位機 的數(shù)據(jù),所以曲線不可能在有限的顯示屏中一次性地全部顯示出來,曲線只能以動態(tài)的形式 通過顯示屏幕,而且每個時刻可以看到的都應(yīng)該是最近剛接收的n 個數(shù)據(jù)( 假設(shè)一屏能顯 示n 個數(shù)據(jù)點) 所畫出來的曲線,為了實現(xiàn)“在有限的顯示屏中動態(tài)顯示曲線”這一功能, 我們將從下位機接收到的數(shù)據(jù)保存起來,每隔一段時間進行一次曲線刷新,我們將最新接收 到的n 個數(shù)據(jù)取出來繪制在屏幕上,從而實現(xiàn)曲線的動態(tài)顯示。 3 5 6 2 位圖雙緩沖技術(shù)的使用 我們的繪圖過程大多放在o n p a i n t 函數(shù)中,當(dāng)窗口由于某種原因需要重繪時,首先用 3 2 第j 幸軟件設(shè)計 背景色將顯示區(qū)清除,然后才調(diào)用o n p a i n t ,而背景色往往與繪圖內(nèi)容反差很大,這樣在短 時問內(nèi)背景色與顯示圖形的交替出現(xiàn)即出現(xiàn)屏幕閃爍現(xiàn)象,尤其是繪制點數(shù)較多時,這種現(xiàn) 象更加嚴重。為了解決這個問題,我們采用“雙緩沖”技術(shù),
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版農(nóng)業(yè)產(chǎn)業(yè)化合同管理與農(nóng)產(chǎn)品質(zhì)量安全協(xié)議3篇
- 二零二五版智能廣告終端設(shè)備投放與維護合同3篇
- 二零二五年綠色環(huán)保抵押貸款合同范本分享3篇
- 二零二五版一期臨床試驗統(tǒng)計分析合同3篇
- 二零二五年度辣椒種植與冷鏈物流運輸合同3篇
- 二零二五版餐廳智能點餐系統(tǒng)維護與升級合同3篇
- 二零二五年度餐飲企業(yè)承包經(jīng)營與品牌升級合同3篇
- 二零二五版智能簽約二手房購房合同范本2篇
- 二零二五版新能源汽車電池購銷合同樣本3篇
- 二零二五版保安人員消防安全培訓(xùn)合同2篇
- 冬春季呼吸道傳染病防控
- 中介費合同范本(2025年)
- 《kdigo專家共識:補體系統(tǒng)在腎臟疾病的作用》解讀
- 生產(chǎn)調(diào)度員崗位面試題及答案(經(jīng)典版)
- 【物 理】2024-2025學(xué)年八年級上冊物理寒假作業(yè)人教版
- 交通運輸安全生產(chǎn)管理規(guī)范
- 電力行業(yè) 電力施工組織設(shè)計(施工方案)
- 《法制宣傳之盜竊罪》課件
- 通信工程單位勞動合同
- 查對制度 課件
- 2024-2030年中國豬肉市場銷售規(guī)模及競爭前景預(yù)測報告~
評論
0/150
提交評論