版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
搬運(yùn)機(jī)械手控制系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)機(jī)械設(shè)計(jì)制造及其自動(dòng)化專業(yè)目錄摘要 1第1章引言 21.1課題研究趨勢(shì)與意義 21.2串聯(lián)關(guān)節(jié)機(jī)器人的發(fā)展和現(xiàn)狀 31.3本文的研究?jī)?nèi)容和主要工作 3第2章PLC控制系統(tǒng)及實(shí)現(xiàn) 52.1機(jī)械手及控制器主要參數(shù) 52.2簡(jiǎn)述機(jī)械手動(dòng)作的實(shí)現(xiàn) 62.3控制軟件的設(shè)計(jì) 62.3.1PLC的選擇 62.3.2光電編碼器 62.3.3接口電路 72.3.4控制原理及程序 73.1引言 93.2機(jī)械手運(yùn)動(dòng)學(xué)數(shù)學(xué)基礎(chǔ) 93.2.1機(jī)器人位置與姿態(tài)的描述[12] 93.3空間齊次坐標(biāo)變換 113.3.1坐標(biāo)變換 113.3.2齊次坐標(biāo)變換 123.3點(diǎn)在空間直角坐標(biāo)系中繞過(guò)原點(diǎn)任意軸的一般旋轉(zhuǎn)變換 133.4Denavt-Hartenberg(D-H)表示法 153.4.1坐標(biāo)系的建立 153.4.2幾何參數(shù)定義 163.4.3建立坐標(biāo)系和坐標(biāo)系的齊次變換矩陣 16第4章機(jī)器人運(yùn)動(dòng)學(xué)方程的求解 184.1機(jī)器人正向運(yùn)動(dòng)學(xué) 184.2機(jī)器人逆向運(yùn)動(dòng)學(xué) 20第5章機(jī)械手軌跡規(guī)劃 225.1機(jī)器人軌跡的概念 225.2軌跡的生成方式 225.2.1軌跡規(guī)劃涉及的主要問(wèn)題 225.3插補(bǔ)方式分類 235.4機(jī)器人軌跡插值計(jì)算 235.4.1三次多項(xiàng)式插值 245.4.2機(jī)械手軌跡規(guī)劃。 25第6章系統(tǒng)交流界面設(shè)計(jì) 276.1VisualBasic6.0簡(jiǎn)介 276.2VB設(shè)計(jì)任務(wù) 286.3窗體設(shè)計(jì) 286.4窗體運(yùn)行 29參考文獻(xiàn) 22致謝 33附錄=1\*ROMANI程序清單 34附錄=1\*ROMANI程序清單 50附錄=3\*ROMANIII外文原文 55搬運(yùn)機(jī)械手控制系統(tǒng)的設(shè)計(jì)摘要:本文運(yùn)用運(yùn)動(dòng)學(xué)的研究方法建立了串聯(lián)機(jī)械手運(yùn)動(dòng)模型,并用VisualBasic6.0通過(guò)逆運(yùn)動(dòng)學(xué)對(duì)其運(yùn)動(dòng)軌跡的規(guī)劃做分析。首先,本文建立了參考坐標(biāo)系和運(yùn)動(dòng)坐標(biāo)系,給出串聯(lián)機(jī)械手在這兩個(gè)坐標(biāo)系中的描述方法,并且定義了串聯(lián)機(jī)械手的機(jī)構(gòu)參數(shù),以及相關(guān)數(shù)學(xué)知識(shí)的介紹。在此基礎(chǔ)上,建立起了串聯(lián)機(jī)械手的正解模型。機(jī)械手的動(dòng)作過(guò)程由三菱公司生產(chǎn)的PLC實(shí)行控制。其次,通過(guò)利用串聯(lián)機(jī)械手的逆解模型結(jié)論,對(duì)機(jī)械手的軌跡進(jìn)行分析。此過(guò)程中,應(yīng)用了功能強(qiáng)大的VisualBasic6.0,進(jìn)行自動(dòng)運(yùn)算,并利用其可視化功能做出簡(jiǎn)單人機(jī)交流界面,計(jì)算并顯示出機(jī)械手的軌跡曲線,使得機(jī)械手的軌跡規(guī)劃更為直觀、易懂。本文的研究工作對(duì)串聯(lián)關(guān)節(jié)型機(jī)械手的設(shè)計(jì)具有一定的指導(dǎo)意義。運(yùn)用本文的研究方法,可以有效提高機(jī)械手的設(shè)計(jì)質(zhì)量和縮短設(shè)計(jì)周期。關(guān)鍵詞:機(jī)械手,正解模型,VisualBasic6.0,PLC,軌跡規(guī)劃DesignofHandingManipulatorControlSystemAbstract:ThispaperstudiestheuseofkinematicmethodofTandemmanipulatormotionmodel,usingVisualBasic6.0inversekinematicsthroughitstrajectoryplanningtodotheanalysis.First,thispapersetupareferencecoordinatesystemandcoordinatesmovement,giventhedescriptionoftandemmanipulatorinthistwocoordinates,andthedefinitionoftheseriesmanipulatorbodyparametersandtheassociatedmathematicalknowledgepresentation.Onthisbasis,establishedaseriesofpositivemanipulatormodel.MechanicalmovementofthehandsfromtheprocessofproductionofMitsubishiCorporationPLCcontrol.Secondly,throughtheuseofserialmanipulatorinversekinematicsmodelconcludesthatthemanipulatortrajectoryanalysis.Duringthisprocess,theapplicationofthepowerfulVisualBasic6.0,automaticoperation,andtheuseofvisualizationfunctionsmadesimpleman-machineinterfaceexchange,calculatedandshownmanipulatorcurves,makemanipulatortrajectoryplanningmoreintuitive,understandable.Theresearchofthispaperisveryusefulforthechain-structuredrobot.itwillimproverobotdesignqualityandshortenthedesigntime.Keywords:Manipulator,positivesolutionmodel,VisualBasic6.0,PLC,trajectoryplanning第1章引言1.1工業(yè)機(jī)器人的發(fā)展和現(xiàn)狀機(jī)器人是一種被設(shè)計(jì)用來(lái)移動(dòng)物體、部件、工具或者特定設(shè)備的,可以重復(fù)編程、具有多種功能的操作器.它通過(guò)一系列可變的程控動(dòng)作來(lái)完成各種各樣的任務(wù)。通常工業(yè)機(jī)器人大致分為以下三類:1)串聯(lián)結(jié)構(gòu)機(jī)器人2)框架結(jié)構(gòu)機(jī)器人3)并行機(jī)構(gòu)機(jī)器人從結(jié)構(gòu)上看,并行結(jié)構(gòu)機(jī)器人的運(yùn)動(dòng)平臺(tái)通過(guò)相互關(guān)聯(lián)的多個(gè)運(yùn)動(dòng)鏈與下平臺(tái)相連,這使并行結(jié)構(gòu)機(jī)器人具有剛性高、承載能力大和精度好等特點(diǎn)。它的主要缺點(diǎn)是控制復(fù)雜,使得它很難應(yīng)用高階控制方法,從而妨礙了這種機(jī)器人的應(yīng)用??蚣芙Y(jié)構(gòu)機(jī)器人工作空間比較小,操作靈活性受到限制。串聯(lián)結(jié)構(gòu)機(jī)器人具有較大的工作空間和較高的運(yùn)動(dòng)靈巧度,常用的結(jié)構(gòu)是串聯(lián)關(guān)節(jié)形式,它采用串聯(lián)鏈?zhǔn)浇Y(jié)構(gòu)和全關(guān)節(jié)驅(qū)動(dòng),容易建立運(yùn)動(dòng)學(xué)和動(dòng)力學(xué)模型,可以采用一些先進(jìn)的、實(shí)時(shí)的控制算法,其動(dòng)作靈活,避障性好。由于串聯(lián)結(jié)構(gòu)機(jī)器人采用懸臂梁式的手臂結(jié)構(gòu)和關(guān)聯(lián)的驅(qū)動(dòng)系統(tǒng),使得該類機(jī)器人存在著一些固有缺陷如操作精度性欠佳,難以完全平衡,且運(yùn)動(dòng)存在耦合等問(wèn)題,但總體數(shù)量目前應(yīng)用越來(lái)越多。在本文中研究的機(jī)器人是串聯(lián)機(jī)構(gòu)機(jī)器人的一類一一串聯(lián)關(guān)節(jié)機(jī)器人,如圖1.1所示。圖1-1垂直關(guān)節(jié)機(jī)器人示意圖這類機(jī)器人的基本結(jié)構(gòu)是串聯(lián)的六自由度開鏈?zhǔn)?,關(guān)節(jié)相互垂直或平行,每個(gè)關(guān)節(jié)都有單獨(dú)的驅(qū)動(dòng)機(jī)構(gòu)。前三個(gè)關(guān)節(jié)(包括基座、腰部和臂部)具有三個(gè)轉(zhuǎn)動(dòng)自由度,確定手部在空間的位置,這三個(gè)關(guān)節(jié)和聯(lián)接他們的桿件所構(gòu)成的機(jī)構(gòu)稱為機(jī)械手的位置機(jī)構(gòu);后三個(gè)關(guān)節(jié)(腕部)的主要功能是確定手部在空間的姿勢(shì),這三個(gè)關(guān)節(jié)和聯(lián)接他們的桿件所構(gòu)成的機(jī)構(gòu)稱作姿勢(shì)機(jī)構(gòu)。位置機(jī)構(gòu)可基本確定機(jī)械手的工作空間范圍,前三個(gè)關(guān)節(jié)的運(yùn)動(dòng)稱作機(jī)械手的主運(yùn)動(dòng);后三個(gè)關(guān)節(jié)的運(yùn)動(dòng)稱作姿態(tài)運(yùn)動(dòng),姿態(tài)機(jī)構(gòu)主要確定機(jī)械手的工作姿態(tài)。所有的關(guān)節(jié)驅(qū)動(dòng)器共同參與控制,來(lái)完成機(jī)械手的六自由度運(yùn)動(dòng),以實(shí)現(xiàn)終端執(zhí)行器按一定姿態(tài)到達(dá)工作空間的每個(gè)工作點(diǎn),本文主要討論除手指關(guān)節(jié)外的其它五個(gè)自由度。串聯(lián)關(guān)節(jié)機(jī)器人一般可用一個(gè)開環(huán)關(guān)節(jié)鏈來(lái)建模,此鏈由數(shù)個(gè)剛體(桿件)用驅(qū)動(dòng)器驅(qū)動(dòng)的移動(dòng)或轉(zhuǎn)動(dòng)關(guān)節(jié)串聯(lián)而成,開鏈的一端固接在基座上,另一端是自由的,安裝著工具(終端執(zhí)行器),用以操縱物體,或完成裝配作業(yè)。這類機(jī)械手屬于空間機(jī)構(gòu),運(yùn)動(dòng)通常只用轉(zhuǎn)動(dòng)和移動(dòng)兩類。用轉(zhuǎn)動(dòng)相聯(lián)的關(guān)節(jié)成為轉(zhuǎn)動(dòng)關(guān)節(jié);以移動(dòng)相聯(lián)的關(guān)節(jié)成為移動(dòng)關(guān)節(jié)。單獨(dú)驅(qū)動(dòng)的主動(dòng)關(guān)節(jié)數(shù)目成為機(jī)械手的自由度數(shù)。本文要研究串聯(lián)關(guān)節(jié)機(jī)器人的五個(gè)關(guān)節(jié)都是轉(zhuǎn)動(dòng)關(guān)節(jié)。隨著技術(shù)的進(jìn)步,串聯(lián)結(jié)構(gòu)機(jī)器人本體結(jié)構(gòu)近10年來(lái)發(fā)展變化很快,從開始的含有局部閉鏈的平行四邊形機(jī)構(gòu),到改變?yōu)榇髢?chǔ)采用新型的非平行四邊形的單連桿機(jī)構(gòu),工作空間有所增加,本體自重進(jìn)一步減小,變得更加輕巧,新材料的采用如輕質(zhì)鋁合金材料的應(yīng)用,大大提高了機(jī)器人的性能,并逐漸成為串聯(lián)結(jié)構(gòu)機(jī)器人普遍采用的結(jié)構(gòu)之一。1.2課題的提出及意義進(jìn)入20世紀(jì)90年代以來(lái),由于具有一般功能的傳統(tǒng)工業(yè)機(jī)器人的應(yīng)用趨向飽和,而許多高級(jí)生產(chǎn)和特種應(yīng)用則需要具有各種智能的機(jī)器人參與,因而促使智能機(jī)器人獲得較為迅速的發(fā)展。無(wú)論從國(guó)際或國(guó)內(nèi)的角度來(lái)看,復(fù)蘇和繼續(xù)發(fā)展機(jī)器人產(chǎn)業(yè)的一條重要途徑就是開發(fā)各種智能機(jī)器人,以求提高機(jī)器人的性能,擴(kuò)大其功能和應(yīng)用領(lǐng)域?;仡櫧?0多年來(lái)國(guó)內(nèi)外機(jī)器人技術(shù)的發(fā)展歷程,可以歸納出下列趨勢(shì):1)傳感型智能機(jī)器人發(fā)展較快2)開發(fā)新型智能技術(shù)3)采用模塊化設(shè)計(jì)技術(shù)4)機(jī)器人工程系統(tǒng)呈上升趨勢(shì)5)微型機(jī)器人的研究有所突破6)應(yīng)用領(lǐng)域向非制造業(yè)和服務(wù)業(yè)擴(kuò)展從整個(gè)工業(yè)領(lǐng)域來(lái)看,對(duì)工業(yè)機(jī)器人需求越來(lái)越大,性能指標(biāo)越來(lái)越高。運(yùn)動(dòng)學(xué)系統(tǒng)是工業(yè)機(jī)器人的底層核心部分,對(duì)其關(guān)鍵技術(shù),如運(yùn)動(dòng)學(xué)建模、運(yùn)動(dòng)學(xué)方程的求解、運(yùn)動(dòng)空間插值算法等的研究,將從很大程度上決定著一個(gè)機(jī)器人系統(tǒng)的基本性能。隨著科技的發(fā)展,機(jī)器人已成為工業(yè)的現(xiàn)代化程度的標(biāo)志,機(jī)器人學(xué)是一門高度交叉的前沿學(xué)科,與機(jī)械學(xué)、生物學(xué)、人類學(xué)、計(jì)算機(jī)科學(xué)與工程、控制論與控制工程學(xué)、人工智能、社會(huì)學(xué)等。機(jī)器人學(xué)包含機(jī)器人運(yùn)動(dòng)學(xué)、機(jī)器人動(dòng)力學(xué)、機(jī)器人控制、機(jī)器人智能化等領(lǐng)域有著不同層次意義的聯(lián)系,本文以對(duì)機(jī)器手的控制及運(yùn)動(dòng)學(xué)系統(tǒng)為主線,對(duì)如何實(shí)現(xiàn)機(jī)器手動(dòng)作作了較深入的研究與討論??偟恼f(shuō)來(lái),對(duì)于機(jī)器人控制及運(yùn)動(dòng)系統(tǒng)的研究在理論和應(yīng)用上都具有重要的意義。本文基于上述的串聯(lián)關(guān)節(jié)機(jī)器人為研究對(duì)象,對(duì)GR-1型教學(xué)機(jī)械手的運(yùn)動(dòng)及控制進(jìn)行研究。1.3本文的研究?jī)?nèi)容和主要工作本文以GR-1型教學(xué)機(jī)械手為研究對(duì)象,對(duì)其進(jìn)行運(yùn)動(dòng)學(xué)求解;并利用其結(jié)果對(duì)機(jī)械手的軌跡進(jìn)行規(guī)劃;最后利用其軌跡規(guī)劃的結(jié)果,對(duì)機(jī)械手的運(yùn)動(dòng)進(jìn)行自動(dòng)控制。該內(nèi)容由兩人共同完成,本人具體完成以下工作:1、對(duì)機(jī)械手進(jìn)行位姿描述,應(yīng)用D-H參數(shù)法建立串聯(lián)關(guān)節(jié)機(jī)器人桿件坐標(biāo)系,求解位姿正解。2、對(duì)機(jī)械手的軌跡進(jìn)行規(guī)劃,采用三次多項(xiàng)式插值運(yùn)算的方法,利用由機(jī)器人運(yùn)動(dòng)學(xué)解得的關(guān)節(jié)變量求得運(yùn)動(dòng)軌跡方程。3、用VisualBasic6.0軟件做出人機(jī)交互界面,在界面上顯示計(jì)算結(jié)果和軌跡曲線圖。4、編寫機(jī)械手控制程序,通過(guò)VisualBasic6.0界面將結(jié)果輸出并將控制數(shù)據(jù)輸入PLC,實(shí)現(xiàn)對(duì)機(jī)械手的自動(dòng)控制。
第2章PLC控制系統(tǒng)及實(shí)現(xiàn)2.1機(jī)械手及控制器主要參數(shù)1機(jī)械手a、自由度:5(不包括手指開閉控制)b、各關(guān)節(jié)活動(dòng)范圍:腰:≥肩:≥肘:≥270。手俯仰:≥手指旋轉(zhuǎn):≥c、最大活動(dòng)區(qū)域:垂直方向:850mm水平方向:600mmd、基本尺寸:上、下臂長(zhǎng):228mm手后部:73mme、各軸分辨率如表2-1:表2-1各軸分辨率參數(shù)軸電機(jī)代號(hào)分辨率(度/脈沖)軀干M10.14上臂M20.11下臂M30.11手俯仰M40.11手指旋轉(zhuǎn)M50.242電機(jī)工作電壓:U=12V空載轉(zhuǎn)速:n=3000r/min空載電流:I=0.15A2.2簡(jiǎn)述機(jī)械手動(dòng)作的實(shí)現(xiàn)GR—1型教學(xué)機(jī)械手主要由機(jī)械和控制兩大部分組成,本論文主要對(duì)其控制部分進(jìn)行研究。該機(jī)械手采用的是串聯(lián)式關(guān)節(jié)機(jī)械手,全部采用開鏈?zhǔn)?,結(jié)構(gòu)簡(jiǎn)單,整個(gè)機(jī)械手分5個(gè)自由度:腰、肩關(guān)節(jié)、肘關(guān)節(jié)、腕關(guān)節(jié)和手指,全部有直流電機(jī)驅(qū)動(dòng)??刂乒δ艿膶?shí)現(xiàn)主要是通過(guò)對(duì)控制器的編程,由光電編碼器檢測(cè)各電機(jī)的旋轉(zhuǎn)角位移,再結(jié)合PLC來(lái)控制各個(gè)電機(jī)的角位移,從而實(shí)現(xiàn)對(duì)機(jī)械手各個(gè)關(guān)節(jié)較精確的運(yùn)動(dòng)以實(shí)現(xiàn)機(jī)械手預(yù)期的動(dòng)作。光電編碼器起控制直流電機(jī)角位移精度作用,固定于電機(jī)轉(zhuǎn)軸上與電機(jī)同步運(yùn)轉(zhuǎn)。系統(tǒng)工作時(shí),各光電編碼器輸出一系列與直流電機(jī)運(yùn)轉(zhuǎn)角度相對(duì)應(yīng)的脈沖信號(hào),經(jīng)轉(zhuǎn)換電路將序列脈沖電壓信號(hào)轉(zhuǎn)換成PLC可以接收的開關(guān)信號(hào),在PLC內(nèi)部通過(guò)計(jì)數(shù)器計(jì)數(shù)后得到一個(gè)電機(jī)實(shí)際的角位移信號(hào),運(yùn)行PLC控制程序,獲得確定輸出,再通過(guò)外電路由PLC的輸出信號(hào)來(lái)控制電機(jī)的啟動(dòng)停止,以實(shí)現(xiàn)機(jī)械手的預(yù)期動(dòng)作。下面將對(duì)PLC如何控制直流電機(jī)來(lái)實(shí)現(xiàn)機(jī)械手動(dòng)作實(shí)現(xiàn)的方案來(lái)做說(shuō)明。2.3控制軟件的設(shè)計(jì)實(shí)現(xiàn)PLC對(duì)機(jī)械手的控制,要將各桿件的運(yùn)動(dòng)控制轉(zhuǎn)換成對(duì)機(jī)械手各電機(jī)角位移的控制。要使機(jī)械手手抓到達(dá)預(yù)期的位置就要計(jì)算出每個(gè)關(guān)節(jié)運(yùn)動(dòng)的角度,即每個(gè)電機(jī)所應(yīng)轉(zhuǎn)的角度,這可通過(guò)對(duì)各空間坐標(biāo)系的相對(duì)運(yùn)動(dòng)在運(yùn)動(dòng)學(xué)基礎(chǔ)上計(jì)算得到,最后,將其轉(zhuǎn)換成PLC內(nèi)部控制指令即可實(shí)現(xiàn)軟件控制。2.3.1PLC的選擇PLC類型的選擇主要考慮兩個(gè)方面:輸入輸出點(diǎn)的數(shù)目和存儲(chǔ)容量。容量有計(jì)算公式:指令條數(shù)=(輸入點(diǎn)數(shù)+輸出點(diǎn)數(shù))(10--12)再留有15%左右的備用量,根據(jù)外部電路的特點(diǎn)得到輸入、輸出點(diǎn)的數(shù)目,最后選定用三菱公司生產(chǎn)的FX2N—64MR型PLC。具體計(jì)算和分析過(guò)程參照同組同學(xué)畢業(yè)設(shè)計(jì)說(shuō)明書。2.3.2光電編碼器機(jī)械手各個(gè)電機(jī)角位移的準(zhǔn)確控制是通過(guò)光電編碼器反饋的信息來(lái)實(shí)現(xiàn)的,每個(gè)直流電機(jī)輸出軸上都裝有光電編碼器,通過(guò)它實(shí)現(xiàn)光電脈沖轉(zhuǎn)換及對(duì)電機(jī)轉(zhuǎn)角的檢測(cè)。光電編碼器主要是由控制電路板、光電耦合器及遮光盤組成。隨碼盤旋轉(zhuǎn),輸出一系列計(jì)數(shù)脈沖。增量式編碼器需要預(yù)先指定一個(gè)基數(shù):零位。輸出脈沖相對(duì)于基數(shù)進(jìn)行加減,從而測(cè)量出碼盤位移,即電機(jī)的角位移。碼盤固定在電機(jī)轉(zhuǎn)軸上,隨電機(jī)的旋轉(zhuǎn),編碼器產(chǎn)生代表角位移的脈沖。光電編碼器輸出包括A、B兩個(gè)頻道的信號(hào),碼盤為6孔均勻分布的金屬盤。當(dāng)總線通電時(shí),光電耦合器的發(fā)光二極管發(fā)出不可見紅外線光,通過(guò)旋轉(zhuǎn)的碼盤通光孔而被光敏器接收,光敏器件兩端由截止變?yōu)閷?dǎo)通,兩端電壓發(fā)生變化,從A、B輸出信號(hào),碼盤每旋轉(zhuǎn)一周發(fā)送12次信號(hào)2.3.3接口電路1、輸入接口輸入接口有位置傳感器信號(hào)的輸入,限位信號(hào)輸入以及手動(dòng)開關(guān)的接入。FX2N—64MR提供21個(gè)高速計(jì)數(shù)器,即C235至C255,但它們共享同一個(gè)PLC上的6個(gè)高速計(jì)數(shù)器輸入端(X0~X5)。即如果輸入已經(jīng)被某個(gè)計(jì)數(shù)器占用,它就不能再用于另一個(gè)高速計(jì)數(shù)器(或其他用途)。也就是說(shuō),由于只有6個(gè)高速計(jì)數(shù)器的輸入,因此,最多同時(shí)用6個(gè)高速計(jì)數(shù)器。在本文中將用到的是沒(méi)有啟動(dòng)/復(fù)位的單相高速計(jì)數(shù)器C235~C239。計(jì)數(shù)器端口分配如表2-2。表2-2高計(jì)數(shù)器表輸入C235C236C237C238C239X0U/DX1U/DX2U/DX3U/DX4U/D注:U—增計(jì)數(shù)輸入;D—減計(jì)數(shù)輸入。2、輸出接口輸出接口主要接電機(jī),由于五個(gè)電機(jī)都要實(shí)現(xiàn)正反轉(zhuǎn),即能實(shí)現(xiàn)正反向供電,每個(gè)電機(jī)分配4個(gè)輸出端口。接線電路及其設(shè)計(jì)參考同組同學(xué)設(shè)計(jì)說(shuō)明書。2.3.4控制原理及程序1、機(jī)械手動(dòng)作控制原理程序啟動(dòng)后,各個(gè)電機(jī)按照程序要求逐個(gè)開始運(yùn)動(dòng)使得機(jī)械手開始動(dòng)作。首先,腰部電機(jī)M1按程序指定要求正向轉(zhuǎn)動(dòng),相應(yīng)計(jì)數(shù)器開始對(duì)光電編碼器返回的信號(hào)進(jìn)行計(jì)數(shù),計(jì)數(shù)器計(jì)滿數(shù)據(jù)后,PLC輸出控制指令,使M1停止轉(zhuǎn)動(dòng),同時(shí)依次逐個(gè)啟動(dòng)控制電機(jī)M2、M3、M4、M5開始轉(zhuǎn)動(dòng),各個(gè)電機(jī)控制方式的實(shí)現(xiàn)同電機(jī)M1。當(dāng)電機(jī)M5動(dòng)作完畢后,整個(gè)機(jī)械手完成了其全部動(dòng)作,由規(guī)定的起點(diǎn)到達(dá)終點(diǎn)。流程圖如圖2-1所示。PLCPLC電機(jī)M1啟動(dòng)M1停,M2啟動(dòng)發(fā)出指令腰部轉(zhuǎn)動(dòng)計(jì)數(shù)器C235滿上臂轉(zhuǎn)動(dòng)計(jì)數(shù)器C236滿M2停,M3啟動(dòng)前臂轉(zhuǎn)動(dòng)計(jì)數(shù)器C237滿M3停,M4啟動(dòng)手腕轉(zhuǎn)動(dòng)計(jì)數(shù)器C238滿M4停,M5啟動(dòng)M5停止,整個(gè)動(dòng)作完成手指轉(zhuǎn)動(dòng)計(jì)數(shù)器C239滿圖2-1機(jī)械手動(dòng)作流程圖2編寫控制程序搬運(yùn)機(jī)械手動(dòng)作由電機(jī)驅(qū)動(dòng)各個(gè)關(guān)節(jié)實(shí)現(xiàn),轉(zhuǎn)動(dòng)角度由計(jì)數(shù)器計(jì)數(shù)控制,計(jì)數(shù)器值滿后斷電使電機(jī)停止運(yùn)轉(zhuǎn)。各計(jì)數(shù)器的值由表2-1和軌跡規(guī)劃的結(jié)果表5-4確定如表2-3。表2-3各計(jì)數(shù)器數(shù)值計(jì)數(shù)器C235C236C237C238C239數(shù)值41471183116梯形圖見附錄。
第3章機(jī)械手運(yùn)動(dòng)學(xué)系統(tǒng)3.1引言機(jī)器人運(yùn)動(dòng)學(xué)主要有以下兩個(gè)基本問(wèn)題:(1)對(duì)一給定機(jī)器人,已知桿件幾何參數(shù)和關(guān)節(jié)變量,求末端執(zhí)行器相對(duì)給定坐標(biāo)系的位置和姿態(tài)。給定坐標(biāo)系為固定在大地上的笛卡兒坐標(biāo)系,作為機(jī)器人的總坐標(biāo)系,也稱為世界坐標(biāo)系(WorldCoordinate)。(2)已知機(jī)器人的桿件參數(shù),給定末端執(zhí)行器相對(duì)于總體坐標(biāo)系的位置和姿態(tài),確定關(guān)節(jié)變量的大小。第一個(gè)問(wèn)題常稱為運(yùn)動(dòng)學(xué)正問(wèn)題(DKP-DirectKinematicProblems),第二個(gè)問(wèn)題通常稱為運(yùn)動(dòng)學(xué)逆問(wèn)題(IKP-InverseKinematicProblems)。機(jī)器人手臂的關(guān)節(jié)變量是獨(dú)立變量,而末端執(zhí)行器的作業(yè)通常在總體坐標(biāo)系中說(shuō)明。根據(jù)末端執(zhí)行器在總體坐標(biāo)系中的位姿來(lái)確定相應(yīng)各關(guān)節(jié)變量要進(jìn)行運(yùn)動(dòng)學(xué)逆題的求解。機(jī)器人運(yùn)動(dòng)學(xué)逆問(wèn)題是編制機(jī)器人運(yùn)動(dòng)控制系統(tǒng)軟件所必備的知識(shí)。3.2機(jī)械手運(yùn)動(dòng)學(xué)數(shù)學(xué)基礎(chǔ)機(jī)械手是機(jī)器人系統(tǒng)的機(jī)械運(yùn)動(dòng)部分.為了描述機(jī)械手的操作,必須建立機(jī)械手各連桿間以及機(jī)械手與周圍環(huán)境間的運(yùn)動(dòng)關(guān)系,研究機(jī)械手的運(yùn)動(dòng),不僅涉及機(jī)械手本身,而且涉及各物體間以及物體與機(jī)械手的關(guān)系,齊次坐標(biāo)及其變換就是用來(lái)表達(dá)這些關(guān)系的.齊次坐標(biāo)交換不僅能夠表示運(yùn)動(dòng)學(xué)問(wèn)題,而且能夠表達(dá)機(jī)械手控制算法、計(jì)算機(jī)視覺和計(jì)算機(jī)圖形學(xué)等問(wèn)題。3.2.1機(jī)器人位置與姿態(tài)的描述在描述物體,如零件、工具或機(jī)械手間的關(guān)系時(shí),要用到位置矢量、平面和坐標(biāo)系等概念,對(duì)于工業(yè)機(jī)器人運(yùn)動(dòng)學(xué)系統(tǒng)的描述就是建立在這些概念的基礎(chǔ)上的。1.位置描述描述物體(如零件、工具或機(jī)械手)間關(guān)系時(shí),一旦建立了一個(gè)坐標(biāo)系,我們就能夠用某個(gè)31位置矢量來(lái)確定該空間內(nèi)任一點(diǎn)的位置.對(duì)于直角坐標(biāo)系{A},空間任意一點(diǎn)的P位置可用31的列矢量圖3-1位姿表示(3.1)表示。其中,、、是點(diǎn)P在坐標(biāo)系{A}中的三個(gè)坐標(biāo)分量的上標(biāo)A代表參考坐標(biāo)系{A}。我們稱為位置矢量,如圖3-1所示。2.位姿描述為了研究機(jī)器人的運(yùn)動(dòng)與操作,往往不僅要表示空間某個(gè)點(diǎn)的位置,而且需要表示物體的方位。物體的方位可由某個(gè)固接于此物體的坐標(biāo)系描述。為了規(guī)定空間某剛體B的方位,設(shè)置一個(gè)直角坐標(biāo)系{B}與此剛體固接。用坐標(biāo)系{B}的三個(gè)單位主矢量相對(duì)于參考坐標(biāo)系{A}方向余弦組成的3×3矩陣:(3.3)來(lái)表示剛體B相對(duì)于坐標(biāo)系{A}的方位。稱為旋轉(zhuǎn)矩陣。式中,上標(biāo)A表參考坐標(biāo)系{A},下標(biāo)B代表被描述的坐標(biāo)系{B}.共有9個(gè)元素,但只有3個(gè)是獨(dú)立的.由于的三個(gè)列矢量和,都是單位矢量,且雙雙相互垂直,因而它的9個(gè)元素滿足6個(gè)約束條件(正交條件)。(3.3)(3.4)對(duì)應(yīng)于軸x,y或z作轉(zhuǎn)角為θ的旋轉(zhuǎn)變換,其旋轉(zhuǎn)矩陣分別為:(3.5)(3.6)(3.7){B}{B}{A}圖3-2方位描述式中,表示,表示。圖3-2表示一個(gè)物體的方位,此物體與坐標(biāo)系{B}固接,并相對(duì)于參考坐標(biāo)系{A}運(yùn)動(dòng)。3.3空間齊次坐標(biāo)變換3.3.1坐標(biāo)變換空間中任意點(diǎn)P在不同坐標(biāo)系中的描述是不同的。為了闡明從一個(gè)坐標(biāo)系的描到另一個(gè)坐標(biāo)系的描述關(guān)系,需要討論這種變換的數(shù)學(xué)問(wèn)題。坐標(biāo)變換一般有兩種形式:平移坐標(biāo)變換和旋轉(zhuǎn)坐標(biāo)變換。設(shè)坐標(biāo)系{B}與{A}具有相同的方位,但{B}坐標(biāo)系的原點(diǎn)與{A}的原點(diǎn)不重合。用位置矢量,描述它相對(duì)于{A}的位置,如圖3-3所示。稱為{B}相對(duì)于{A}的平移矢量。如果點(diǎn)P在坐標(biāo)系{B}中的位置為,那么它相對(duì)于坐標(biāo)系{A}的位置矢量可由矢量相加得出,即=+(3.8)式(3.8)被稱為坐標(biāo)平移方程。{{A}zAyAxAoAApApBxRoRyRzR{B}Bp圖3-3平移變換設(shè)坐標(biāo)系{B}與{A}有共同的坐標(biāo)原點(diǎn),但兩者的方位不同,如圖3-4所示.用旋轉(zhuǎn)矩陣描述{B}對(duì)于{A}的方位。同一點(diǎn)P在兩個(gè)坐標(biāo)系{A}和{B}中的描述和具有如下變換關(guān)系:=(3.9)稱(3.9)式為坐標(biāo)旋轉(zhuǎn)方程。我們可以類似地用穿R描述坐標(biāo)系{A}相對(duì)于{B}的方位。和都是正交矩陣,兩者互逆。對(duì)于最一般的情形:坐標(biāo)系{B}的原點(diǎn)與{A}的原點(diǎn)既不重合,{B}的方位與{A}的方位也不相同。用位置矢量描述{B}的坐標(biāo)原點(diǎn)相對(duì)于{A}的位置:用旋轉(zhuǎn)矩陣描述{B}相對(duì)于{A}的方位,如圖3-4所示。{{A}zAyAxAoAApApRzCzRoRxRxCyCyR{B}B圖3-4平移變換與旋轉(zhuǎn)變換對(duì)于任一點(diǎn)P在兩坐標(biāo)系{A}和{B}中的描述和具有以下變換關(guān)系:(3.10)3.3.2齊次坐標(biāo)變換己知一直角坐標(biāo)系中的某點(diǎn)坐標(biāo),那么該點(diǎn)在另一直角坐標(biāo)系中的坐標(biāo)可通過(guò)齊次坐標(biāo)變換求得。變換式(3.10)對(duì)于點(diǎn)而言是非齊次的,但是可以將其表示為等價(jià)的齊次變換形式(3.11)其中,4x1的列矢量表示三維空間的點(diǎn),稱為點(diǎn)的齊次坐標(biāo),仍然記為或??砂咽?3.11)寫成矩陣形式=(3.12)式中,齊次坐標(biāo)或是4x1的列矢量。齊次變換矩陣是4x4的方陣,具有如下形式(3.13)綜合地表示了平移變換和旋轉(zhuǎn)變換。3.3點(diǎn)在空間直角坐標(biāo)系中繞過(guò)原點(diǎn)任意軸的一般旋轉(zhuǎn)變換1.RPY角(繞固定軸X-Y-Z旋轉(zhuǎn))RPY角是描述船舶在海中航行時(shí)的姿態(tài)的一種方法。將船的行駛方向取為Z軸,則繞Z軸的旋轉(zhuǎn)(角)稱為滾動(dòng)(Roll);把繞Y軸的旋轉(zhuǎn)(角)稱為俯仰(Pitch);而把垂直方向取為X軸,將繞X軸的旋轉(zhuǎn)(角)稱為偏轉(zhuǎn)(Yaw),操作臂手抓姿態(tài)的規(guī)定方法類似,故習(xí)慣上稱為RPY角方法。2.描述活動(dòng)坐標(biāo)系方位的法則如下:活動(dòng)系的初始方位與參考系重合,首先將活動(dòng)系繞參考系的X軸旋轉(zhuǎn)角,再繞參考系的Y軸轉(zhuǎn)角,最后繞參考系的Z軸轉(zhuǎn)角,因三次旋轉(zhuǎn)都是相對(duì)于參考系的,所以得相應(yīng)的旋轉(zhuǎn)矩陣(3.14)其中。將矩陣相乘得(3.15)它表示繞固定坐標(biāo)系的三個(gè)軸依次旋轉(zhuǎn)得到的旋轉(zhuǎn)矩陣,因此稱為繞固定軸X-Y-Z旋轉(zhuǎn)的RPY角法。令:(3.16)(1)由給定的旋轉(zhuǎn)矩陣求出等價(jià)的繞固定軸X-Y-Z的旋轉(zhuǎn)角。式(3.16)中有3個(gè)未知數(shù),共9個(gè)方程,其中6個(gè)方程不獨(dú)立,因此可以利用其中3個(gè)方程解出未知數(shù)。由式(3.15)、(3.16)可以看出:(3.17)如果,則得到各個(gè)角的反正切表達(dá)式:(3.18)式中,是雙變量反正切函數(shù),用其計(jì)算arctan(y/x)的優(yōu)點(diǎn)在于利用了X和Y的符號(hào)能夠確定所得角度所在的象限這一現(xiàn)象。式(3.17)中的根式一般有兩個(gè)解,我們總是取中的一個(gè)解。(2)從給定的繞固定軸X-Y-Z的旋轉(zhuǎn)角,陣求出等價(jià)的旋轉(zhuǎn)矩陣。將給定的角代入式(3.15)與式(3.16)中元素對(duì)應(yīng)相等即可以求得所求矩陣。
3.4Denavt-Hartenberg(D-H)表示法圖3-4關(guān)節(jié)參數(shù)規(guī)定機(jī)械手由一串用轉(zhuǎn)動(dòng)或平移關(guān)節(jié)連接的剛體(桿件)組成。每一對(duì)關(guān)節(jié)-桿構(gòu)成一個(gè)自由度。桿件編號(hào)由手臂的固定機(jī)座開始,固定機(jī)座可看成桿件0,第一個(gè)運(yùn)動(dòng)體是桿件1,依次類推,最后一個(gè)桿件與工具相連;關(guān)節(jié)1處于連接桿件1和基座之間,每個(gè)桿件至多與另外兩個(gè)桿件相聯(lián),而不構(gòu)成閉環(huán)。任何桿件i都可以用兩個(gè)尺度表征,如圖2.5所示,桿件i的長(zhǎng)度,是桿件上兩個(gè)關(guān)節(jié)軸線的最短距離;桿件i的扭轉(zhuǎn)角,是兩個(gè)關(guān)節(jié)軸線的夾角。通常,在每個(gè)關(guān)節(jié)軸線上連接有兩根桿件,每個(gè)桿件各有一根和軸線垂直的法線。兩個(gè)桿件的相對(duì)位置由兩桿間的距離(關(guān)節(jié)軸上兩軸間法線的距離)和夾角(關(guān)節(jié)軸上兩個(gè)法線的夾角)確定。為描述相鄰桿件間平移和轉(zhuǎn)動(dòng)的關(guān)系。Denavit和Hatenberg(1955)提出了一種為關(guān)節(jié)鏈中的每一桿件建立附體坐標(biāo)系的矩陣方法。D-H方法是為每個(gè)關(guān)節(jié)處的桿件坐標(biāo)系建立44齊次變換矩陣,表示它與前一桿件坐標(biāo)系的關(guān)系。這樣逐次變換,有“手部坐標(biāo)”表示的末端執(zhí)行器可被變換并用機(jī)座坐標(biāo)表示。3.4.1坐標(biāo)系的建立N關(guān)節(jié)機(jī)器人需建立n+1個(gè)坐標(biāo)系,其中參考(機(jī)座)坐標(biāo)系為,機(jī)械手末端的坐標(biāo)系為,第i關(guān)節(jié)上的坐標(biāo)系為。確定和建立每個(gè)坐標(biāo)系應(yīng)根據(jù)下面3條規(guī)則:(1)軸沿著第關(guān)節(jié)軸的運(yùn)動(dòng)軸;(2)軸垂直于和軸并指向離開軸的方向;(3)按右手坐標(biāo)系的要求建立。按照這些規(guī)則,第0號(hào)坐標(biāo)系在機(jī)座上的位置和方向可任選,只要軸沿著第1關(guān)節(jié)運(yùn)動(dòng)軸。第n坐標(biāo)系可防在手的任何部位,只要軸與軸垂直。3.4.2幾何參數(shù)定義第關(guān)節(jié)根據(jù)上述對(duì)桿件參數(shù)及坐標(biāo)系的定義,描述串聯(lián)機(jī)器人相鄰坐標(biāo)系之間的關(guān)系可歸結(jié)如下4個(gè)參數(shù):圖3-5桿件的參數(shù)和坐標(biāo)系第關(guān)節(jié)第關(guān)節(jié)圖3-5桿件的參數(shù)和坐標(biāo)系第關(guān)節(jié):繞軸(右手規(guī)則)由軸向軸的關(guān)節(jié)角;:從第坐標(biāo)系的原點(diǎn)到軸和軸的交點(diǎn)沿軸的距離;:從和的交點(diǎn)到第坐標(biāo)系原點(diǎn)沿軸的偏置距離(或者說(shuō),是和兩軸間的最小距離);:繞軸(右手規(guī)則)由軸轉(zhuǎn)向軸的偏角。對(duì)于轉(zhuǎn)動(dòng)關(guān)節(jié)、和是關(guān)節(jié)參數(shù),是關(guān)節(jié)變量。移動(dòng)關(guān)節(jié)的關(guān)節(jié)參數(shù)是、和,是關(guān)節(jié)變量。3.4.3建立坐標(biāo)系和坐標(biāo)系的齊次變換矩陣將第個(gè)坐標(biāo)系的點(diǎn)在坐標(biāo)系表示,需建立坐標(biāo)系和坐標(biāo)系的齊次變換矩陣,因而需經(jīng)過(guò)以下變換:1、將坐標(biāo)系繞軸轉(zhuǎn)角,使軸與軸平行并指向同一方向;2、將坐標(biāo)系沿軸平移距離,使軸與的軸重合;3、將坐標(biāo)系沿軸平移距離,使兩坐標(biāo)系的原點(diǎn)重合;4、將坐標(biāo)系繞軸轉(zhuǎn)角,使兩坐標(biāo)系完全重合。從而,坐標(biāo)系和坐標(biāo)系的齊次變換矩陣可以根據(jù)矩陣的合成規(guī)則得到,稱為相鄰坐標(biāo)系和的變換矩陣。即(由算子左、右乘規(guī)則得)=(3.19)式中,表示,表示。對(duì)于在第個(gè)坐標(biāo)系的點(diǎn)在坐標(biāo)系表示為:確定第坐標(biāo)系相對(duì)于機(jī)座坐標(biāo)系的位置的齊次變換矩陣是各齊次變換矩陣的連乘積,可表示成式中,是固連桿在桿件上的第個(gè)坐標(biāo)系的姿態(tài)矩陣,是由機(jī)座坐標(biāo)系原點(diǎn)指向第個(gè)坐標(biāo)系原點(diǎn)的位置矢量。特別當(dāng)i=6時(shí),求得T矩陣,,它確定了機(jī)械手的末端相對(duì)于機(jī)座坐標(biāo)系的位置和狀態(tài)??梢园裈矩陣寫成式中,為手的法向矢量,為手的滑動(dòng)矢量,為手的接近矢量,為手的位置矢量。
第4章機(jī)器人運(yùn)動(dòng)學(xué)方程的求解4.1機(jī)器人正向運(yùn)動(dòng)學(xué)4.2機(jī)器人逆向運(yùn)動(dòng)學(xué)參考同組同學(xué)論文逆向運(yùn)動(dòng)學(xué)部分可得如下結(jié)果:,,,因均已知,所以可進(jìn)而求得。以上結(jié)果,給出了機(jī)械手置于任何期望位姿時(shí)所需的關(guān)節(jié)值,為下一章軌跡規(guī)劃所用。
第5章機(jī)械手軌跡規(guī)劃5.1機(jī)器人軌跡的概念機(jī)器人軌跡泛指工業(yè)機(jī)器人在運(yùn)動(dòng)過(guò)程中的運(yùn)動(dòng)軌跡,即運(yùn)動(dòng)點(diǎn)的位移、速度和加速度。機(jī)器人在作業(yè)空間要完成給定的任務(wù),其手部運(yùn)動(dòng)必須按一定的軌跡(trajectory)進(jìn)行。軌跡的生成一般是先給定軌跡上的若干個(gè)點(diǎn),將其經(jīng)運(yùn)動(dòng)學(xué)反解映射到關(guān)節(jié)空間,對(duì)關(guān)節(jié)空間中的相應(yīng)點(diǎn)建立運(yùn)動(dòng)方程,然后按這些運(yùn)動(dòng)方程對(duì)關(guān)節(jié)進(jìn)行插值,從而實(shí)現(xiàn)作業(yè)空間的運(yùn)動(dòng)要求,這一過(guò)程通常稱為軌跡規(guī)劃。工業(yè)機(jī)器人軌跡規(guī)劃屬于機(jī)器人低層規(guī)劃,基本上不涉及人工智能的問(wèn)題,本章僅討論在關(guān)節(jié)空間或笛卡爾空間中工業(yè)機(jī)器人運(yùn)動(dòng)的軌跡規(guī)劃和軌跡生成方法。機(jī)器人運(yùn)動(dòng)軌跡的描述一般是對(duì)其手部位姿的描述,此位姿值可與關(guān)節(jié)變量相互轉(zhuǎn)換??刂栖壽E也就是按時(shí)間控制手部或工具中心走過(guò)的空間路徑。5.2軌跡的生成方式運(yùn)動(dòng)軌跡的描述或生成有以下幾種方式:(1)示教-再現(xiàn)運(yùn)動(dòng)。這種運(yùn)動(dòng)由人手把手示教機(jī)器人,定時(shí)記錄各關(guān)節(jié)變量,得到沿路徑運(yùn)動(dòng)時(shí)各關(guān)節(jié)的位移時(shí)間函數(shù)q(t);再現(xiàn)時(shí),按內(nèi)存中記錄的各點(diǎn)的值產(chǎn)生序列動(dòng)作。(2)關(guān)節(jié)空間運(yùn)動(dòng)。這種運(yùn)動(dòng)直接在關(guān)節(jié)空間里進(jìn)行。由于動(dòng)力學(xué)參數(shù)及其極限值直接在關(guān)節(jié)空間里描述,所以用這種方式求最短時(shí)間運(yùn)動(dòng)很方便。(3)空間直線運(yùn)動(dòng)。這是一種直角空間里的運(yùn)動(dòng),它便于描述空間操作,計(jì)算量小,適宜簡(jiǎn)單的作業(yè)。(4)空間曲線運(yùn)動(dòng)。這是一種在描述空間中用明確的函數(shù)表達(dá)的運(yùn)動(dòng),如圓周運(yùn)動(dòng)、螺旋運(yùn)動(dòng)等。5.2.1軌跡規(guī)劃涉及的主要問(wèn)題為了描述一個(gè)完整的作業(yè),往往需要將上述運(yùn)動(dòng)進(jìn)行組合。通常這種規(guī)劃涉及到以下幾方面的問(wèn)題:(1)對(duì)工作對(duì)象及作業(yè)進(jìn)行描述,用示教方法給出軌跡上的若干個(gè)結(jié)點(diǎn)(knot)。(2)用一條軌跡通過(guò)或逼近結(jié)點(diǎn),此軌跡可按一定的原則優(yōu)化,如加速度平滑得到直角空間的位移時(shí)間函數(shù)X(t)或關(guān)節(jié)空間的位移時(shí)間函數(shù)q(t);在結(jié)點(diǎn)之間如何進(jìn)行插補(bǔ),即根據(jù)軌跡表達(dá)式在每一個(gè)采樣周期實(shí)時(shí)計(jì)算軌跡上點(diǎn)的位姿和各關(guān)節(jié)變量值。(3)以上生成的軌跡是機(jī)器人位置控制的給定值,可以據(jù)此并根據(jù)機(jī)器人的動(dòng)態(tài)參數(shù)設(shè)計(jì)一定的控制規(guī)律。(4)規(guī)劃?rùn)C(jī)器人的運(yùn)動(dòng)軌跡時(shí),尚需明確其路徑上是否存在障礙約束的組合。一般將機(jī)器人的規(guī)劃與控制方式分為四種情況,如表5-1所示。表5-1機(jī)器人的規(guī)劃與控制方式障礙約束有無(wú)路徑約束有離線無(wú)碰撞路徑規(guī)則+在線路徑跟蹤離線路徑規(guī)劃+在線路徑跟蹤無(wú)位置控制+在線障礙探測(cè)和避障位置控制本章主要討論連續(xù)路徑的無(wú)障礙軌跡規(guī)劃方法。5.3插補(bǔ)方式分類點(diǎn)位控制(PTP控制)通常沒(méi)有路徑約束,多以關(guān)節(jié)坐標(biāo)運(yùn)動(dòng)表示。點(diǎn)位控制只要求滿足起終點(diǎn)位姿,在軌跡中間只有關(guān)節(jié)的幾何限制、最大速度和加速度約束;為了保證運(yùn)動(dòng)的連續(xù)性,要求速度連續(xù),各軸協(xié)調(diào)。連續(xù)軌跡控制(CP控制)有路徑約束,因此要對(duì)路徑進(jìn)行設(shè)計(jì)。路徑控制與插補(bǔ)方式分類如表5-2所示。表5-2路徑控制與插補(bǔ)方式分類5.4機(jī)器人軌跡插值計(jì)算給出各個(gè)路徑結(jié)點(diǎn)后,軌跡規(guī)劃的任務(wù)包含解變換方程,進(jìn)行運(yùn)動(dòng)學(xué)反解和插值計(jì)算。在關(guān)節(jié)空間進(jìn)行規(guī)劃時(shí),需進(jìn)行的大量工作是對(duì)關(guān)節(jié)變量的插值計(jì)算。插補(bǔ)分為:直線插補(bǔ)、圓弧插補(bǔ)、定時(shí)插補(bǔ)、定距插補(bǔ)和關(guān)節(jié)空間插補(bǔ)等。在關(guān)節(jié)空間中進(jìn)行軌跡規(guī)劃,需要給定機(jī)器人在起始點(diǎn)和終止點(diǎn)手臂的位形。對(duì)關(guān)節(jié)進(jìn)行插值時(shí)應(yīng)滿足一系列的約束條件,例如抓取物體時(shí)手部的運(yùn)動(dòng)方向(初始點(diǎn))、提升物體離開的方向(提升點(diǎn))、放下物體(下放點(diǎn))和停止點(diǎn)等結(jié)點(diǎn)上的位姿、速度和加速度的要求;與此相應(yīng)的各個(gè)關(guān)節(jié)位移、速度、加速度在整個(gè)時(shí)間間隔內(nèi)的連續(xù)性要求以及其極值必須在各個(gè)關(guān)節(jié)變量的容許范圍之內(nèi)等。滿足所要求的約束條件之后,可以選取不同類型的關(guān)節(jié)插值函數(shù),生成不同的軌跡。常用的關(guān)節(jié)空間插補(bǔ)有:三次多項(xiàng)式插值、高階多項(xiàng)式插值、用拋物線過(guò)渡的線性插值等方法,本章重點(diǎn)對(duì)關(guān)節(jié)空間插補(bǔ)中的三次多項(xiàng)式插值進(jìn)行討論。5.4.1三次多項(xiàng)式插值在機(jī)器人運(yùn)動(dòng)過(guò)程中,若末端執(zhí)行器的起始和終止位姿已知,由逆向運(yùn)動(dòng)學(xué)即可求出對(duì)應(yīng)于兩位姿的各個(gè)關(guān)節(jié)角度。末端執(zhí)行器實(shí)現(xiàn)兩位姿的運(yùn)動(dòng)軌跡描述可在關(guān)節(jié)空間中用通過(guò)起始點(diǎn)和終止點(diǎn)關(guān)節(jié)角的一個(gè)平滑軌跡函數(shù)q(t)來(lái)表示。為實(shí)現(xiàn)系統(tǒng)的平穩(wěn)運(yùn)動(dòng),每個(gè)關(guān)節(jié)的軌跡函數(shù)q(t)至少需要滿足四個(gè)約束條件,即兩端點(diǎn)位置約束和兩端點(diǎn)速度約束。端點(diǎn)位置約束是指起始位姿和終止位姿分別所對(duì)應(yīng)的關(guān)節(jié)角度。q(t)在時(shí)刻=0時(shí)的值是起始關(guān)節(jié)角度,在終端時(shí)刻時(shí)的值是終止關(guān)節(jié)角度,即(5.1)為滿足關(guān)節(jié)運(yùn)動(dòng)速度的連續(xù)性要求,起始點(diǎn)和終止點(diǎn)的關(guān)節(jié)速度可簡(jiǎn)單地設(shè)定為零,即(5.2)上面給出的四個(gè)約束條件可以惟一地確定一個(gè)三次多項(xiàng)式(5.3)運(yùn)動(dòng)過(guò)程中的關(guān)節(jié)速度和加速度則為(5.4)為求得三次多項(xiàng)式的系數(shù)a0,a1,a2和a3,將式(5.1)和式(5.2)代以給定的約束條件,有方程組(5.5)求解該方程組,可得(5.6)對(duì)于起始速度及終止速度為零的關(guān)節(jié)運(yùn)動(dòng),滿足連續(xù)平穩(wěn)運(yùn)動(dòng)要求的三次多項(xiàng)式插值函數(shù)為5.4.2機(jī)械手軌跡規(guī)劃。本文所研究的是五自由度機(jī)械手的正運(yùn)動(dòng)問(wèn)題。在起點(diǎn)和終點(diǎn),末端關(guān)節(jié)的位姿是已知的,故可通過(guò)前文所討論的求得兩位置時(shí)各關(guān)節(jié)角度。因此,可以用平滑的插值函數(shù)來(lái)描述機(jī)械手的起始位置和目標(biāo)位置之間的運(yùn)動(dòng)軌跡。另外,為了使實(shí)際生成的軌跡平滑,在機(jī)械手的整個(gè)工作期間,除了保證其運(yùn)動(dòng)和速度的連續(xù)之外,還應(yīng)該保證加速度不發(fā)生突變,使運(yùn)動(dòng)平穩(wěn)。根據(jù)已知條件和前文的討論,選用三次多項(xiàng)式軌跡規(guī)劃方法進(jìn)行規(guī)劃。起點(diǎn)和終點(diǎn)位姿如表5-3所示表5-3機(jī)械手起點(diǎn)、終點(diǎn)給定值控制點(diǎn)起點(diǎn)151231250324560終點(diǎn)200300178205080由機(jī)械手運(yùn)動(dòng)學(xué)方程的逆解可以求得控制點(diǎn)各個(gè)關(guān)節(jié)變量值,如表5-4所示:表5-4機(jī)械手起點(diǎn)、終點(diǎn)關(guān)節(jié)變量值控制點(diǎn)起點(diǎn)56.3180.922-45.244-52.738-24.683終點(diǎn)56.828-66.00673.282-83.861-9.074各關(guān)節(jié)軌跡的生成由于在三次多項(xiàng)式的插值計(jì)算中,為實(shí)現(xiàn)系統(tǒng)的平穩(wěn)運(yùn)動(dòng),每個(gè)關(guān)節(jié)的軌跡函數(shù)至少需要滿足四個(gè)約束條件,即兩端點(diǎn)的位置約束和兩端點(diǎn)的速度約束。在機(jī)器人正運(yùn)動(dòng)過(guò)程中,末端執(zhí)行器的起始和終止位姿已經(jīng)給出,由逆向運(yùn)動(dòng)學(xué)即可求得對(duì)應(yīng)于兩位姿的各個(gè)關(guān)節(jié)角度,如表(5-4)所示;再假設(shè)在初始位置和目標(biāo)位置的速度為零,即在這兩個(gè)位置的位姿函數(shù)的導(dǎo)數(shù)為零,即有四個(gè)約束條件,滿足了解得各個(gè)關(guān)節(jié)的三次多項(xiàng)式軌跡的要求。最后,根據(jù)位移表達(dá)式(5.7)代入已知數(shù)據(jù)求得位移,再分別求一階導(dǎo)數(shù),二階導(dǎo)數(shù)即式(5.8)和(5.9)便可求得速度和加速度表達(dá)式。下一章將用VisualBasic6.0對(duì)機(jī)械手各關(guān)節(jié)的運(yùn)動(dòng)軌跡作介紹。
第6章系統(tǒng)交互界面設(shè)計(jì)在Windows平臺(tái)上使用VisualBasic6.0(以下簡(jiǎn)稱VB)對(duì)機(jī)械手的軌跡進(jìn)行規(guī)劃,由于VB擁有著可視化平臺(tái)、易學(xué)易用的集成開發(fā)環(huán)境、強(qiáng)大數(shù)據(jù)功能等特點(diǎn),使得機(jī)械手的軌跡規(guī)劃直觀、明了的顯示出來(lái),使得機(jī)械手的整個(gè)運(yùn)動(dòng)控制過(guò)程變得直觀操作更加簡(jiǎn)單,降低了對(duì)使用及控制能力的要求。6.1VisualBasic6.0簡(jiǎn)介VB中文版是Microsoft公司提供的一種可視化開發(fā)工具—VisualStudio98的一個(gè)組成部分?!癡isual”意即可視的,指的是開發(fā)像Windows操作系統(tǒng)的圖形用戶界面(GraphicUserInterface,GUI)的方法,它不需要編寫大量代碼去描述界面元素的外觀和位置,只要把預(yù)先建立好的對(duì)象拖放到屏幕上相應(yīng)位置即可。Basic指的是BASIC(BeginnersAll-PurposeSymbolicInstructionCode,初學(xué)者通用符號(hào)指令代碼)語(yǔ)言——一種在計(jì)算機(jī)技術(shù)發(fā)展歷史上應(yīng)用的最廣泛的語(yǔ)言,也是Microsoft公司開發(fā)的第一個(gè)程序設(shè)計(jì)語(yǔ)言。VisualBasic在原有的BASIC語(yǔ)言的基礎(chǔ)上進(jìn)一步發(fā)展,至今己包含了數(shù)百條語(yǔ)句、函數(shù)和關(guān)鍵詞。無(wú)論對(duì)專業(yè)人員還是初學(xué)者VB都提供了整套開發(fā)工具,可以說(shuō)是開發(fā)Windows應(yīng)用程序最迅速、最簡(jiǎn)捷的方法?,F(xiàn)在,人們可以使用VB提供的工具為自己或工作組創(chuàng)建實(shí)用程序及大型企業(yè)應(yīng)用系統(tǒng),甚至可以創(chuàng)建通過(guò)Internet遍及全球的分布式應(yīng)用程序。VB6.0是一種以對(duì)象為基礎(chǔ),以事件驅(qū)動(dòng)為編程機(jī)制的可視化程序設(shè)計(jì)語(yǔ)言,功能強(qiáng)大、簡(jiǎn)單易學(xué)。與普通的數(shù)據(jù)庫(kù)系統(tǒng)相比,用VB作為數(shù)據(jù)庫(kù)開發(fā)平臺(tái)有以下優(yōu)點(diǎn):(1)簡(jiǎn)單。VB提供了數(shù)據(jù)控件,利用該控件,用戶只要編寫少量的代碼甚至不編寫任何代碼就可以訪問(wèn)數(shù)據(jù)庫(kù),對(duì)數(shù)據(jù)庫(kù)進(jìn)行瀏覽。另外其可視化的用戶界面設(shè)計(jì)功能,把程序員從繁瑣復(fù)雜的界面設(shè)計(jì)中解脫了出來(lái)。(2)靈活。VB不像一般的數(shù)據(jù)庫(kù)(如Access)那樣局限于特定的應(yīng)用程序結(jié)構(gòu),也不需要用某些指令對(duì)當(dāng)前打開的數(shù)據(jù)庫(kù)進(jìn)行操作,因而比較靈活。(3)可擴(kuò)充。VB是一種可以擴(kuò)充的語(yǔ)言,其中包括在數(shù)據(jù)庫(kù)應(yīng)用方面的擴(kuò)充。在VisualBasic中,可以使用ActiveX控件(以前版本中稱為VBX或UUH控件),這些控件可以由Microsoft公司提供,也可以由第三方開發(fā)者提供。有了這些控件,可以很容易地在VisualBasic中增加新功能,擴(kuò)充VB數(shù)據(jù)存取控制的指令系統(tǒng)。在其它數(shù)據(jù)庫(kù)開發(fā)平臺(tái)中,目前還不具備ActiveX控件。6.2VB設(shè)計(jì)任務(wù)本系統(tǒng)中VB主要是實(shí)現(xiàn)人與控制器的交流。首先進(jìn)入的是一個(gè)分區(qū)的人機(jī)交互界面,有機(jī)械手起點(diǎn)和終點(diǎn)位姿參數(shù)輸入、各關(guān)節(jié)變量值顯示、各關(guān)節(jié)軌跡圖形的顯示和命令控制區(qū)。其中命令控制區(qū)有5個(gè)控件:計(jì)算、軌跡規(guī)劃、輸出、寫入PLC和清除。當(dāng)輸入位姿參數(shù)后,按計(jì)算控件得出關(guān)節(jié)變量,通過(guò)軌跡規(guī)劃在圖形顯示區(qū)顯示出各關(guān)節(jié)的運(yùn)動(dòng)軌跡,最后輸出并寫入PLC以實(shí)現(xiàn)對(duì)機(jī)械手的控制。其運(yùn)算流程可簡(jiǎn)要表示如圖6-1。輸入位姿參數(shù)輸入位姿參數(shù)計(jì)算關(guān)節(jié)變量軌跡規(guī)劃輸出變量值顯示位移圖形是否符合要求輸出寫入PLC開始結(jié)束清除NY圖6-1軌跡計(jì)算流程圖6.3窗體設(shè)計(jì)窗體分為5個(gè)區(qū):輸入起點(diǎn)位姿區(qū)、輸入終點(diǎn)位姿區(qū)、輸出關(guān)節(jié)變量區(qū)、命令區(qū)和關(guān)節(jié)運(yùn)動(dòng)軌跡區(qū)。下面對(duì)窗體各個(gè)區(qū)的設(shè)計(jì)過(guò)程和功能加以說(shuō)明。1位姿輸入?yún)^(qū)位姿輸入?yún)^(qū)有起點(diǎn)輸入和終點(diǎn)輸入兩個(gè)區(qū),通過(guò)這兩個(gè)區(qū)域可以輸入機(jī)械手在起點(diǎn)和終點(diǎn)兩個(gè)時(shí)刻的位姿參數(shù),并將其讀入,準(zhǔn)備計(jì)算。界面控件如圖6-1所示。圖6-1位姿參數(shù)輸入界面2輸出關(guān)節(jié)變量角該區(qū)域是變量角值的輸出區(qū)域,VB將由上述輸入?yún)^(qū)域中的位姿參數(shù)通過(guò)計(jì)算得出各個(gè)關(guān)節(jié)變量角的值顯示在相應(yīng)的文本框中。3命令區(qū)域和關(guān)節(jié)軌跡區(qū)該區(qū)域是整個(gè)窗體的控制區(qū)域,它包括計(jì)算、軌跡規(guī)劃、輸出、寫入PLC、和清除5個(gè)命令控件。計(jì)算控件是執(zhí)行將從輸入?yún)^(qū)讀取的位姿參數(shù)通過(guò)給定的算法得出關(guān)節(jié)變量值,并輸出在輸出關(guān)節(jié)變量角區(qū)的相應(yīng)文本框中;軌跡規(guī)劃控件是利用計(jì)算得來(lái)的變量角值得出各關(guān)節(jié)軌跡表達(dá)式,并根據(jù)該表達(dá)式畫出軌跡曲線,在關(guān)節(jié)運(yùn)動(dòng)軌跡區(qū)顯示各關(guān)節(jié)軌跡圖,該控件在計(jì)算前,或在數(shù)據(jù)超出范圍時(shí)呈現(xiàn)灰色,不能對(duì)其進(jìn)行操作;寫入PLC控件是實(shí)現(xiàn)PC機(jī)與PLC的通信;清除控件是對(duì)輸入、輸出區(qū)的數(shù)據(jù)進(jìn)行清除。6.4窗體運(yùn)行1按計(jì)算控件,對(duì)輸入機(jī)械手起點(diǎn)和終點(diǎn)的位姿參數(shù)進(jìn)行判斷,當(dāng)數(shù)據(jù)符合要求就會(huì)得出計(jì)算出并顯示關(guān)節(jié)變量角數(shù)值,同時(shí),軌跡控制控件回到可控狀態(tài),如圖6-2所示。圖6-2運(yùn)行計(jì)算控件2運(yùn)行軌跡規(guī)劃控件,輸出運(yùn)動(dòng)軌跡曲線,如圖6-3所示。該軌跡規(guī)劃控件在執(zhí)行計(jì)算之前顯灰色,不可用,只有通過(guò)計(jì)算,并得出輸入數(shù)據(jù)符合要求后該控件才能被操作。3.運(yùn)行輸出控件將計(jì)算結(jié)果及圖形輸出。4.寫入PLC控件的運(yùn)行是將前一步輸出的控制數(shù)據(jù)寫入PLC計(jì)數(shù)器中,以實(shí)現(xiàn)對(duì)機(jī)械手運(yùn)動(dòng)的控制。5.清除控件執(zhí)行后是將整個(gè)界面上的數(shù)據(jù)清空,為下次輸入數(shù)據(jù)做準(zhǔn)備。圖6-3軌跡曲線
參考文獻(xiàn)劉極峰,益際明.機(jī)器人技術(shù)基礎(chǔ)[M].北京:高等教育出版社,2006.張鐵,謝存喜.機(jī)器人學(xué)[M].廣州:華南理工大學(xué)出版社,2003年.從爽,李澤湘.實(shí)用運(yùn)動(dòng)控制技術(shù)[M].北京:電子工業(yè)出版社,2006.鐘肇新,范建東.可編程控制器原理及應(yīng)用[M].廣州:華南理工大學(xué)出版社,2003年.俞建家.VisualBasic6.0[M].福建:廈門大學(xué)出版社,2005年.呂偉臣.VisualBasic6.0初級(jí)編程教程[M].北京:北京大學(xué)出版社,2002年.龔沛曾.VisualBasic程序設(shè)計(jì)教程[M].北京:高等教育出版社,2004年.鄧星鐘.機(jī)電傳動(dòng)控制[M].武漢:華中科技大學(xué)出版社,2000年.張海根.機(jī)電傳動(dòng)控制[M].北京:高等教育出版社,2005年.大熊.機(jī)器人控制[M].北京:科學(xué)出版社,2002年.丹尼斯.機(jī)器人設(shè)計(jì)與控制[M].北京:科學(xué)出版社,2004年.劉極峰.計(jì)算機(jī)輔助設(shè)計(jì)與制造[M].北京:高等教育出版社,2004年.
附錄=1\*ROMANI程序清單1、機(jī)械手控制程序梯形圖軌跡規(guī)劃界面VB程序如下:Dima2,a3,a4,PI,a,b,c,d,h,m,n,max,minAsDoublePrivateSubCommand1_Click()DimPx0,Py0,Pz0,α0,β0,γ0AsSingleDimθ1,θ2,θ3,θ4,θ5,θ234AsSingle,c3AsDoubleDimPx1,Py1,Pz1,α1,β1,γ1AsSingleDimθf(wàn)1,θf(wàn)2,θf(wàn)3,θf(wàn)4,θf(wàn)5,θf(wàn)234AsSingle,cf3AsDoublea2=228a3=228a4=73PI=3.141593Px0=Val(Text1.Text)Py0=Val(Text2.Text)Pz0=Val(Text3.Text)α0=Val(Text4.Text)β0=Val(Text5.Text)γ0=Val(Text6.Text)Px1=Val(Text7.Text)Py1=Val(Text8.Text)Pz1=Val(Text9.Text)α1=Val(Text10.Text)β1=Val(Text11.Text)γ1=Val(Text12.Text)Command3.Enabled=TrueIfSqr((Px0-Px1)*(Px0-Px1)+(Py0-Py1)*(Py0-Py1))>850ThenCommand3=FalseElseIfAbs(Pz0-Pz1)>600ThenCommand3.Enabled=FalseEndIfθ1=(180/PI)*(Atn(Py0/Px0))Text13.Text=Format(θ1,"####.###")θ5=(180/PI)*(Atn((Sin(θ1)*Cos(α0)*Cos(β0)-Cos(θ1)*Sin(α0)*Cos(β0))/(Sin(θ1)*(Cos(α0)*Sin(β0)*Sin(γ0)-Sin(α0)*Cos(γ0))-Cos(θ1)*(Sin(α0)*Sin(β0)*Sin(γ0)+Cos(α0)*Cos(γ0)))))Text17.Text=Format(θ5,"####.###")θ234=(180/PI)*(Atn((Cos(β0)*Sin(γ0))/(Cos(θ1)*(Cos(α0)*Sin(β0)*Sin(γ0)-Sin(α0)*Cos(γ0))+Sin(θ1)*(Sin(α0)*Sin(β0)*Sin(γ0)+Cos(α0)*Cos(γ0)))))c3=((Px0*Cos(θ1)+Py0*Sin(θ1)-Cos(θ234)*a4)*(Px0*Cos(θ1)+Py0*Sin(θ1)-Cos(θ234)*a4)+(Pz0-Sin(θ234)*a4)*(Pz0-Sin(θ234)*a4)-a2*a2-a3*a3)/(2*a2*a3)θ3=(180/PI)*(Atn(Sqr(Abs(1-c3*c3))/c3))Text15.Text=Format(θ3,"####.###")θ2=(180/PI)*(Atn(((Cos(θ3)*a3+a2)*(Pz0-Sin(θ234)*a4)-Sin(θ3)*a3*(Px0*Cos(θ1)+Py0*Sin(θ1)+Cos(θ234)*a4))/((Cos(θ3)*a3+a2)*(Px0*Cos(θ1)+Py0*Sin(θ1)+Cos(θ234)*a4)+Sin(θ3)*a3*(Pz0-Sin(θ234)*a4))))Text14.Text=Format(θ2,"####.###")θ4=θ234-θ2-θ3Text16.Text=Format(θ4,"####.###")θf(wàn)1=(180/PI)*(Atn(Py1/Px1))Text18.Text=Format(θf(wàn)1,"####.###")θf(wàn)5=(180/PI)*(Atn((Sin(θf(wàn)1)*Cos(α0)*Cos(β0)-Cos(θf(wàn)1)*Sin(α0)*Cos(β0))/(Sin(θf(wàn)1)*(Cos(α0)*Sin(β0)*Sin(γ0)-Sin(α0)*Cos(γ0))-Cos(θf(wàn)1)*(Sin(α0)*Sin(β0)*Sin(γ0)+Cos(α0)*Cos(γ0)))))Text22.Text=Format(θf(wàn)5,"####.###")θf(wàn)234=(180/PI)*(Atn((Cos(β0)*Sin(γ0))/(Cos(θf(wàn)1)*(Cos(α0)*Sin(β0)*Sin(γ0)-Sin(α0)*Cos(γ0))+Sin(θf(wàn)1)*(Sin(α0)*Sin(β0)*Sin(γ0)+Cos(α0)*Cos(γ0)))))cf3=((Px1*Cos(θf(wàn)1)+Py1*Sin(θf(wàn)1)-Cos(θf(wàn)234)*a4)*(Px1*Cos(θf(wàn)1)+Py1*Sin(θf(wàn)1)-Cos(θf(wàn)234)*a4)+(Pz1-Sin(θf(wàn)234)*a4)*(Pz1-Sin(θf(wàn)234)*a4)-a2*a2-a3*a3)/(2*a2*a3)θf(wàn)3=(180/PI)*(Atn(Sqr(Abs(1-cf3*cf3))/cf3))Text20.Text=Format(θf(wàn)3,"####.###")θf(wàn)2=(180/PI)*(Atn(((Cos(θf(wàn)3)*a3+a2)*(Pz1-Sin(θf(wàn)234)*a4)-Sin(θf(wàn)3)*a3*(Px1*Cos(θf(wàn)1)+Py1*Sin(θf(wàn)1)+Cos(θf(wàn)234)*a4))/((Cos(θf(wàn)3)*a3+a2)*(Px1*Cos(θf(wàn)1)+Py1*Sin(θf(wàn)1)+Cos(θf(wàn)234)*a4)+Sin(θf(wàn)3)*a3*(Pz1-Sin(θf(wàn)234)*a4))))Text19.Text=Format(θf(wàn)2,"####.###")θf(wàn)4=θf(wàn)234-θf(wàn)2-θf(wàn)3Text21.Text=Format(θf(wàn)4,"####.###")EndSubPrivateSubCommand3_Click()Dimm1,m2,m3,m4,m5,n1,n2,n3,n4,n5AsDoubleFrame6.Visible=True'關(guān)節(jié)1軌跡'取值a=Text13.Textb=Text18.Textc=10d=a+(3/(c*c))*(b-a)*(10*10)-(2/(c*c*c))*(b-a)*(10*10*10)IfVal(a)>Val(d)Thenm1=an1=dElsem1=dn1=aEndIfPicture1.Cls'清空畫圖區(qū)域Picture1.Scale(0,m1+(m1-n1)/5)-(12,n1)'設(shè)置畫圖區(qū)域根據(jù)需要進(jìn)行設(shè)置大小Picture1.ForeColor=&H0Picture1.DrawWidth=1'畫X軸'Picture1.Line(0,n1)-(5,n1)'標(biāo)記t軸Picture1.CurrentX=11.5Picture1.CurrentY=n1+(m1-n1)/10Picture1.Print"t"'畫Y軸Picture1.Line(0,n1-5)-(0,m1+(m1-n1)/5)'標(biāo)記Y軸Picture1.CurrentX=0.2Picture1.CurrentY=m1+(m1-n1)/5Picture1.Print"Y"'畫坐標(biāo)DimiAsSingleFori=1To10Picture1.CurrentX=i:Picture1.CurrentY=n1+(m1-n1)/10:Picture1.PrintiPicture1.Line(i,n1)-(i,n1+(m1-n1)/15)NextiDimjAsIntegerForj=1To5Picture1.Line(0,n1+(m1-n1)/5*j)-(0.1,n1+(m1-n1)/5*j)Picture1.CurrentX=0.1:Picture1.CurrentY=n1+(m1-n1)/5*j:Picture1.PrintFix(n1+((m1-n1)/5)*j)NextjPicture1.DrawWidth=2Picture1.Line(0,0)-(0,0)'歸零收筆'開始畫圖ForX=0To10Step0.001'0.001改小可以獲得更高的精度Y=a+(3/(c*c))*(b-a)*(X*X)-(2/(c*c*c))*(b-a)*(X*X*X)'輸入函數(shù)可以寫入自己的函數(shù)Picture1.CurrentY=(m1+n1)/2Picture1.CurrentX=0.5Picture1.PSet(X,Y),vbRed'標(biāo)記X,Y軸NextPicture1.CurrentX=4Picture1.CurrentY=m1Picture1.Print"Y=θ1(t)"'將函數(shù)顯示在圖形上'關(guān)節(jié)2軌跡'取值a=Text14.Textb=Text19.Textc=10d=a+(3/(c*c))*(b-a)*(10*10)-(2/(c*c*c))*(b-a)*(10*10*10)IfVal(a)>Val(d)Thenm2=an2=dElsem2=dn2=aEndIfPicture2.Cls'清空畫圖區(qū)域Picture2.Scale(0,m2+(m2-n2)/5)-(12,n2)'設(shè)置畫圖區(qū)域根據(jù)需要進(jìn)行設(shè)置大小Picture2.ForeColor=&H0Picture2.DrawWidth=1'畫X軸Picture2.Line(0,n2)-(12,n2)'標(biāo)記t軸Picture2.CurrentX=11.5Picture2.CurrentY=n2+(m2-n2)/10Picture2.Print"t"'畫Y軸Picture2.Line(0,n2-5)-(0,m2+(m2-n2)/5)'標(biāo)記Y軸Picture2.CurrentX=0.2Picture2.CurrentY=m2+(m2-n2)/5Picture2.Print"Y"'畫坐標(biāo)Fori=1To10Picture2.CurrentX=i:Picture2.CurrentY=n2+(m2-n2)/10:Picture2.PrintiPicture2.Line(i,n2)-(i,n2+(m2-n2)/15)NextiForj=1To5Picture2.Line(0,n2+(m2-n2)/5*j)-(0.1,n2+(m2-n2)/5*j)Picture2.CurrentX=0.1:Picture2.CurrentY=n2+(m2-n2)/5*j:Picture2.PrintFix(n2+((m2-n2)/5)*j)NextjPicture2.DrawWidth=2Picture2.Line(0,0)-(0,0)'歸零收筆'開始畫圖ForX=0To10Step0.001'0.005改小可以獲得更高的精度Y=a+(3/(c*c))*(b-a)*(X*X)-(2/(c*c*c))*(b-a)*(X*X*X)'輸入函數(shù)可以寫入自己的函數(shù)Picture2.CurrentY=(m2+n2)/2Picture2.CurrentX=0.5Picture2.PSet(X,Y),vbRed'標(biāo)記X,Y軸NextPicture2.CurrentX=4Picture2.CurrentY=m2Picture2.Print"Y=θ2(t)"'將函數(shù)顯示在圖形上'關(guān)節(jié)3軌跡'取值a=Text15.Textb=Text20.Textc=10d=a+(3/(c*c))*(b-a)*(10*10)-(2/(c*c*c))*(b-a)*(10*10*10)IfVal(a)>Val(d)Thenm3=an3=dElsem3=dn3=aEndIfPicture3.Cls'清空畫圖區(qū)域Picture3.Scale(0,m3+(m3-n3)/5)-(12,n3)'設(shè)置畫圖區(qū)域根據(jù)需要進(jìn)行設(shè)置大小Picture3.ForeColor=&H0Picture3.DrawWidth=1'畫X軸Picture3.Line(0,n3)-(12,n3)'標(biāo)記t軸Picture3.CurrentX=11.5Picture3.CurrentY=n3+(m3-n3)/10Picture3.Print"t"'畫Y軸Picture3.Line(0,n3-5)-(0,m3+(m3-n3)/5)'標(biāo)記Y軸Picture3.CurrentX=0.2Picture3.CurrentY=m3+(m3-n3)/5Picture3.Print"Y"'畫坐標(biāo)Fori=1To10Picture3.CurrentX=i:Picture3.CurrentY=n3+(m3-n3)/10:Picture3.PrintiPicture3.Line(i,n3)-(i,n3+(m3-n3)/15)NextiForj=1To5Picture3.Line(0,n3+(m3-n3)/5*j)-(0.1,n3+(m3-n3)/5*j)Picture3.CurrentX=0.1:Picture3.CurrentY=n3+(m3-n3)/5*j:Picture3.PrintFix(n3+((m3-n3)/5)*j)NextjPicture3.DrawWidth=2Picture3.Line(0,0)-(0,0)'歸零收筆'開始畫圖ForX=0To10Step0.001'0.001改小可以獲得更高的精度Y=a+(3/(c*c))*(b-a)*(X*X)-(2/(c*c*c))*(b-a)*(X*X*X)'輸入函數(shù)可以寫入自己的函數(shù)Picture3.CurrentY=(m3+n3)/2Picture3.CurrentX=0.5Picture3.PSet(X,Y),vbRed'標(biāo)記X,Y軸NextPicture3.CurrentX=4Picture3.CurrentY=m3Picture3.Print"Y=θ3(t)"'將函數(shù)顯示在圖形'關(guān)節(jié)4軌跡'取值a=Text16.Textb=Text21.Textc=10d=a+(3/(c*c))*(b-a)*(10*10)-(2/(c*c*c))*(b-a)*(10*10*10)IfVal(a)>Val(d)Thenm4=an4=dElsem4=dn4=aEndIfPicture4.Cls'清空畫圖區(qū)域Picture4.Scale(0,m4+(m4-n4)/5)-(12,n4)'設(shè)置畫圖區(qū)域根據(jù)需要進(jìn)行設(shè)置大小Picture4.ForeColor=&H0Picture4.DrawWidth=1'畫X軸Picture4.Line(0,n4)-(12,n4)'標(biāo)記t軸Picture4.CurrentX=11.5Picture4.CurrentY=n4+(m4-n4)/10Picture4.Print"t"'畫Y軸Picture4.Line(0,n4-5)-(0,m4+(m4-n4)/5)'標(biāo)記Y軸Picture4.CurrentX=0.2Picture4.CurrentY=m4+(m4-n4)/5Picture4.Print"Y"'畫坐標(biāo)Fori=1To10Picture4.CurrentX=i:Picture4.CurrentY=n4+(m4-n4)/10:Picture4.PrintiPicture4.Line(i,n4)-(i,n4+(m4-n4)/15)NextiForj=1To5Picture4.Line(0,n4+(m4-n4)/5*j)-(0.1,n4+(m4-n4)/5*j)Picture4.CurrentX=0.1:Picture4.CurrentY=n4+(m4-n4)/5*j:Picture4.PrintFix(n4+((m4-n4)/5)*j)NextjPicture4.DrawWidth=2Picture4.Line(0,0)-(0,0)'歸零收筆'開始畫圖ForX=0To10Step0.001'0.005改小可以獲得更高的精度Y=a+(3/(c*c))*(b-a)*(X*X)-(2/(c*c*c))*(b-a)*(X*X*X)'輸入函數(shù)可以寫入自己的函數(shù)Picture4.CurrentY=(m4+n4)/2Picture4.CurrentX=0.5Picture4.PSet(X,Y),vbRed'標(biāo)記X,Y軸NextPicture4.CurrentX=4Picture4.CurrentY=m4Picture4.Print"Y=θ4(t)"'將函數(shù)顯示在圖形上'關(guān)節(jié)5軌跡'取值a=Text17.Textb=Text22.Textc=10d=a+(3/(c*c))*(b-a)*(10*10)-(2/(c*c*c))*(b-a)*(10*10*10)IfVal(a)>Val(d)Thenm5=an5=dElsem5=dn5=aEndIfPicture5.Cls'清空畫圖區(qū)域Picture5.Scale(0,m5+(m5-n5)/5)-(12,n5)'設(shè)置畫圖區(qū)域根據(jù)需要進(jìn)行設(shè)置大小Picture5.ForeColor=&H0Picture5.DrawWidth=1'畫X軸Picture5.Line(0,n5)-(12,n5)'標(biāo)記t軸Picture5.CurrentX=11.5Picture5.CurrentY=n5+(m5-n5)/10Picture5.Print"t"'畫Y軸Picture5.Line(0,n5-5)-(0,m5+(m5-n5)/5)'標(biāo)記Y軸Picture5.CurrentX=0.2Picture5.CurrentY=m5+(m5-n5)/5Picture5.Print"Y"'畫坐標(biāo)Fori=1To10Picture5.CurrentX=i:Picture5.CurrentY=n5+(m5-n5)/10:Picture5.PrintiPicture5.Line(i,n5)-(i,n5+(m5-n5)/15)NextiForj=1To5Picture5.Line(0,n5+(m5-n5)/5*j)-(0.1,n5+(m5-n5)/5*j)Picture5.CurrentX=0.1:Picture5.CurrentY=n5+(m5-n5)/5*j:Picture5.PrintFix(n5+((m5-n5)/5)*j)NextjPicture5.DrawWidth=2Picture5.Line(0,0)-(0,0)'歸零收筆'開始畫圖ForX=0To10Step0.001'0.005改小可以獲得更高的精度Y=a+(3/(c*c))*(b-a)*(X*X)-(2/(c*c*c))*(b-a)*(X*X*X)'輸入函數(shù)可以寫入自己的函數(shù)P
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度集成家居主材代購(gòu)服務(wù)協(xié)議3篇
- 2025年度雪花啤酒定制產(chǎn)品代理銷售合同模板3篇
- 二零二五年生態(tài)旅游區(qū)供水電安全保障與優(yōu)化服務(wù)合同3篇
- 2025年度智能社區(qū)存量房屋買賣服務(wù)合同范本3篇
- 2025年度旅游度假村項(xiàng)目合作協(xié)議2篇
- 2024深圳商鋪?zhàn)赓U合同范本:新型商業(yè)綜合體租賃3篇
- 二零二五版4S店試駕服務(wù)客戶滿意度提升合同3篇
- 二零二五年度高科技研發(fā)成果轉(zhuǎn)化合作合同范本2篇
- 二零二五年度5人合資成立影視制作公司的合伙協(xié)議3篇
- 2024離婚后子女撫養(yǎng)權(quán)協(xié)議下載全方位權(quán)益維護(hù)協(xié)議3篇
- 2024保密知識(shí)教育考試題及答案(基礎(chǔ)+提升)
- 2024-2025學(xué)年新教材高中數(shù)學(xué)第八章立體幾何初步8.6.2直線與平面垂直一同步練習(xí)含解析新人教A版必修第二冊(cè)
- 漢語(yǔ)拼音默寫表及拼讀專練
- 肌力的評(píng)定與護(hù)理
- 工業(yè)機(jī)器人論文3000字(合集4篇)
- 【中小企業(yè)融資難問(wèn)題探究的國(guó)內(nèi)外綜述5800字】
- DL∕T 2138-2020 電力專利價(jià)值評(píng)估規(guī)范
- 深圳市購(gòu)物中心租金調(diào)查
- 我國(guó)無(wú)菌包裝行業(yè)消費(fèi)量已超千億包-下游需求仍存擴(kuò)容潛力
- 大數(shù)據(jù)管理與考核制度大全
- 大學(xué)面試后感謝信
評(píng)論
0/150
提交評(píng)論