❶ 機器人語言的編程語言
一、VAL語言及特點
VAL語言是美國Unimation公司於1979年推出的一種機器人編程語言,主要配置在PUMA和UNIMATION等型機器人上,是一種專用的動作類描述語言。VAL語言是在BASIC語言的基礎上發展起來的,所以與BASIC語言的結構很相似。在VAL的基礎上Unimation公司推出了VALⅡ語言。
VAL語言可應用於上下兩級計算機控制的機器人系統。上位機為LSI-11/23,編程在上位機中進行,上位機進行系統的管理;下位機為6503微處理器,主要控制各關節的實時運動。編程時可以VAL語言和6503匯編語言混合編程。
VAL語言命令簡單、清晰易懂,描述機器人作業動作及與上位機的通信均較方便,實時功能強;可以在在線和離線兩種狀態下編程,適用於多種計算機控制的機器人;能夠迅速地計算出不同坐標系下復雜運動的連續軌跡,能連續生成機器人的控制信號,可以與操作者交互地在線修改程序和生成程序;VAL語言包含有一些子程序庫,通過調用各種不同的子程序可很快組合成復雜操作控制;能與外部存儲器進行快速數據傳輸以保存程序和數據。
VAL語言系統包括文本編輯、系統命令和編程語言三個部分。
在文本編輯狀態下可以通過鍵盤輸入文本程序,也可通過示教盒在示教方式下輸入程序。在輸入過程中可修改、編輯、生成程序,最後保存到存儲器中。在此狀態下也可以調用已存在的程序。
系統命令包括位置定義、程序和數據列表、程序和數據存儲、系統狀態設置和控制、系統開關控制、系統診斷和修改。
編程語言把一條條程序語句轉換執行。
二、VAL語言的指令
VAL語言包括監控指令和程序指令兩種。其中監控指令有六類,分別為位置及姿態定義指令、程序編輯指令、列表指令、存儲指令、控製程序執行指令和系統狀態控制指令。各類指令的具體形式及功能如下:
1.監控指令
1) 位置及姿態定義指令
POINT指令:執行終端位置、姿態的齊次變換或以關節位置表示的精確點位賦值。
其格式有兩種:
POINT <變數>[=<變數2>…<變數n>]
或 POINT <精確點>[=<精確點2>]
例如:
POINT PICK1=PICK2
指令的功能是置變數PICK1的值等於PICK2的值。
又如:
POINT #PARK
是准備定義或修改精確點PARK。
DPOINT指令:刪除包括精確點或變數在內的任意數量的位置變數。
HERE指令:此指令使變數或精確點的值等於當前機器人的位置。
例如:
HERE PLACK
是定義變數PLACK等於當前機器人的位置。
WHERE指令:該指令用來顯示機器人在直角坐標空間中的當前位置和關節變數值。
BASE指令:用來設置參考坐標系,系統規定參考系原點在關節1和2軸線的交點處,方向沿固定軸的方向。
格式:
BASE [<dX>],[<dY>],[<dZ>],[<Z向旋轉方向> ]
例如:
BASE 300,–50,30
是重新定義基準坐標系的位置,它從初始位置向X方向移300,沿Z的負方向移50,再繞Z軸旋轉了30°。
TOOLI指令:此指令的功能是對工具終端相對工具支承面的位置和姿態賦值。
2) 程序編輯指令
EDIT指令:此指令允許用戶建立或修改一個指定名字的程序,可以指定被編輯程序的起始行號。其格式為
EDIT [<程序名>],[<行號>]
如果沒有指定行號,則從程序的第一行開始編輯;如果沒有指定程序名,則上次最後編輯的程序被響應。
用EDIT指令進入編輯狀態後,可以用C、D、E、I、L、P、R、S、T等命令來進一步編輯。如:
C命令:改變編輯的程序,用一個新的程序代替。
D命令:刪除從當前行算起的n行程序,n預設時為刪除當前行。
E命令:退出編輯返回監控模式。
I命令:將當前指令下移一行,以便插入一條指令。
P命令:顯示從當前行往下n行的程序文本內容。
T命令:初始化關節插值程序示教模式,在該模式下,按一次示教盒上的「RECODE」按鈕就將MOVE指令插到程序中。
3) 列表指令
DIRECTORY指令:此指令的功能是顯示存儲器中的全部用戶程序名。
LISTL指令:功能是顯示任意個位置變數值。
LISTP指令:功能是顯示任意個用戶的全部程序。
4) 存儲指令
FORMAT指令:執行磁碟格式化。
STOREP指令:功能是在指定的磁碟文件內存儲指定的程序。
STOREL指令:此指令存儲用戶程序中註明的全部位置變數名和變數值。
LISTF指令:指令的功能是顯示軟盤中當前輸入的文件目錄。
LOADP指令:功能是將文件中的程序送入內存。
LOADL指令:功能是將文件中指定的位置變數送入系統內存。
DELETE指令:此指令撤銷磁碟中指定的文件。
COMPRESS指令:只用來壓縮磁碟空間。
ERASE指令:擦除磁內容並初始化。
5) 控製程序執行指令
ABORT指令:執行此指令後緊急停止(緊停)。
DO指令:執行單步指令。
EXECUTE指令:此指令執行用戶指定的程序n次,n可以從–32 768到 32 767,當n被省略時,程序執行一次。
NEXT指令:此命令控製程序在單步方式下執行。
PROCEED指令:此指令實現在某一步暫停、急停或運行錯誤後,自下一步起繼續執行程序。
RETRY指令:指令的功能是在某一步出現運行錯誤後,仍自那一步重新運行程序。
SPEED指令:指令的功能是指定程序控制下機器人的運動速度,其值從0.01到327.67,一般正常速度為100。
6) 系統狀態控制指令
CALIB指令:此指令校準關節位置感測器。
STATUS指令:用來顯示用戶程序的狀態。
FREE指令:用來顯示當前未使用的存儲容量。
ENABL指令:用於開、關系統硬體。
ZERO指令:此指令的功能是清除全部用戶程序和定義的位置,重新初始化。
DONE:此指令停止監控程序,進入硬體調試狀態。
2.程序指令
1) 運動指令
指令包括GO、MOVE、MOVEI、MOVES、DRAW、APPRO、APPROS、DEPART、DRIVE、READY、OPEN、OPENI、CLOSE、CLOSEI、RELAX、GRASP及DELAY等。
這些指令大部分具有使機器人按照特定的方式從一個位姿運動到另一個位姿的功能,部分指令表示機器人手爪的開合。例如:
MOVE #PICK!
表示機器人由關節插值運動到精確PICK所定義的位置。「!」表示位置變數已有自己的值。
MOVET <位置>,<手開度>
功能是生成關節插值運動使機器人到達位置變數所給定的位姿,運動中若手為伺服控制,則手由閉合改變到手開度變數給定的值。
又例如:
OPEN [<手開度>]
表示使機器人手爪打開到指定的開度。
2) 機器人位姿控制指令
這些指令包括RIGHTY、LEFTY、ABOVE、BELOW、FLIP及NOFLIP等。
3) 賦值指令
賦值指令有SETI、TYPEI、HERE、SET、SHIFT、TOOL、INVERSE及FRAME。
4) 控制指令
控制指令有GOTO、GOSUB、RETURN、IF、IFSIG、REACT、REACTI、IGNORE、SIGNAL、WAIT、PAUSE及STOP。
其中GOTO、GOSUB實現程序的無條件轉移,而IF指令執行有條件轉移。IF指令的格式為
IF <整型變數1> <關系式> <整型變數2> <關系式> THEN <標識符>
該指令比較兩個整型變數的值,如果關系狀態為真,程序轉到標識符指定的行去執行,否則接著下一行執行。關系表達式有EQ(等於)、NE(不等於)、LT(小於)、GT(大於)、LE(小於或等於)及GE(大於或等於)。
5) 開關量賦值指令
指令包括SPEED、COARSE、FINE、NONULL、NULL、INTOFF及INTON。
6) 其他指令
其他指令包括REMARK及TYPE。
SIGLA語言
SIGLA是一種僅用於直角坐標式SIGMA裝配型機器人運動控制時的一種編程語言,是20世紀70年代後期由義大利Olivetti公司研製的一種簡單的非文本語言。
這種語言主要用於裝配任務的控制,它可以把裝配任務劃分為一些裝配子任務,如取旋具,在螺釘上料器上取螺釘A,搬運螺釘A,定位螺釘A,裝入螺釘A,緊固螺釘等。編程時預先編制子程序,然後用子程序調用的方式來完成。
IML語言
IML也是一種著眼於末端執行器的動作級語言,由日本九州大學開發而成。IML語言的特點是編程簡單,能人機對話,適合於現場操作,許多復雜動作可由簡單的指令來實現,易被操作者掌握。
IML用直角坐標系描述機器人和目標物的位置和姿態。坐標系分兩種,一種是機座坐標系,一種是固連在機器人作業空間上的工作坐標系。語言以指令形式編程,可以表示機器人的工作點、運動軌跡、目標物的位置及姿態等信息,從而可以直接編程。往返作業可不用循環語句描述,示教的軌跡能定義成指令插到語句中,還能完成某些力的施加。
IML語言的主要指令有:運動指令MOVE、速度指令SPEED、停止指令STOP、手指開合指令OPEN及CLOSE、坐標系定義指令COORD、軌跡定義命令TRAJ、位置定義命令HERE、程序控制指令IF…THEN、FOR EACH語句、CASE語句及DEFINE等。
AL語言
一、AL語言概述
AL語言是20世紀70年代中期美國斯坦福大學人工智慧研究所開發研製的一種機器人語言,它是在WAVE的基礎上開發出來的,也是一種動作級編程語言,但兼有對象級編程語言的某些特徵,使用於裝配作業。它的結構及特點類似於PASCAL語言,可以編譯成機器語言在實時控制機上運行,具有實時編譯語言的結構和特徵,如可以同步操作、條件操作等。AL語言設計的原始目的是用於具有感測器信息反饋的多台機器人或機械手的並行或協調控制編程。
運行AL語言的系統硬體環境包括主、從兩級計算機控制,如圖所示。主機為PDP-10,主機內的管理器負責管理協調各部分的工作,編譯器負責對AL語言的指令進行編譯並檢查程序,實時介面負責主、從機之間的介面連接,裝載器負責分配程序。從機為PDP-11/45。
主機的功能是對AL語言進行編譯,對機器人的動作進行規劃;從機接受主機發出的動作規劃命令,進行軌跡及關節參數的實時計算,最後對機器人發出具體的動作指令。
二、AL語言的編程格式
(1) 程序BEGIN開始,由END結束。
(2) 語句與語句之間用分號隔開。
(3) 變數先定義說明其類型,後使用。變數名以英文字母開頭,由字母、數字和下畫線組成,字母大、小寫不分。
圖 AL語言運行的硬體環境
(4) 程序的注釋用大括弧括起來。
(5) 變數賦值語句中如所賦的內容為表達式,則先計算表達式的值,再把該值賦給等式左邊的變數。
三、AL語言中數據的類型
(1) 標量(scalar)——可以是時間、距離、角度及力等,可以進行加、減、乘、除和指數運算,也可以進行三角函數、自然對數和指數換算。
(2) 向量(vector)——與數學中的向量類似,可以由若干個量綱相同的標量來構造一個向量。
(3) 旋轉(rot)——用來描述一個軸的旋轉或繞某個軸的旋轉以表示姿態。用ROT變數表示旋轉變數時帶有兩個參數,一個代表旋轉軸的簡單矢量,另一個表示旋轉角度。
(4) 坐標系(frame)——用來建立坐標系,變數的值表示物體固連坐標系與空間作業的參考坐標系之間的相對位置與姿態。
(5) 變換(trans)——用來進行坐標變換,具有旋轉和向量兩個參數,執行時先旋轉再平移。
四、AL語言的語句介紹
1.MOVE語句
用來描述機器人手爪的運動,如手爪從一個位置運動到另一個位置。MOVE語句的格式為
MOVE <HAND> TO <目的地>
2.手爪控制語句
OPEN:手爪打開語句。
CLOSE:手爪閉合語句。
語句的格式為
OPEN <HAND> TO <SVAL>
CLOSE <HAND> TO <SVAL>
其中SVAL為開度距離值,在程序中已預先指定。
3.控制語句
與PASCAL語言類似,控制語句有下面幾種:
IF <條件> THEN <語句> ELSE <語句>
WHILE <條件> DO <語句>
CASE <語句>
DO <語句> UNTIL <條件>
FOR…STEP…UNTIL…
4.AFFIX和UNFIX語句
在裝配過程中經常出現將一個物體粘到另一個物體上或一個物體從另一個物體上剝離的操作。語句AFFIX為兩物體結合的操作,語句AFFIX為兩物體分離的操作。
例如:BEAM_BORE和BEAM分別為兩個坐標系,執行語句
AFFIX BEAM_BORE TO BEAM
後兩個坐標系就附著在一起了,即一個坐標系的運動也將引起另一個坐標系的同樣運動。然後執行下面的語句
UNFIX BEAM_BORE FROM BEAM
兩坐標系的附著關系被解除。
5.力覺的處理
在MOVE語句中使用條件監控子語句可實現使用感測器信息來完成一定的動作。
監控子語句如:
ON <條件> DO <動作>
例如:
MOVE BARM TO ⊕-0.1*INCHES ON FORCE(Z)>10*OUNCES DO STOP
表示在當前位置沿Z軸向下移動0.1英寸,如果感覺Z軸方向的力超過10盎司,則立即命令機械手停止運動。
❷ 以d 開頭的編程語言
DELPHI
Delphi是全新的可視化編程環境,為我們提供了一種方便、快捷的Windows應用程序開發工具。它使用了Microsoft Windows圖形用戶界面的許多先進特性和設計思想,採用了彈性可重復利用的完整的面向對象程序語言(Object-Oriented Language)、當今世界上最快的編輯器、最為領先的資料庫技術。對於廣大的程序開發人員來講,使用Delphi開發應用軟體,無疑會大大地提高編程效率,而且隨著應用的深入,您將會發現編程不再是枯燥無味的工作——Delphi的每一個設計細節,都將帶給您一份欣喜。
1.1 Delphi基本概念介紹
1.1.1 Delphi的基本形式
Delphi實際上是Pascal語言的一種版本,但它與傳統的Pascal語言有天壤之別。一個Delphi程序首先是應用程序框架,而這一框架正是應用程序的「骨架」。在骨架上即使沒有附著任何東西,仍可以嚴格地按照設計運行。您的工作只是在「骨架」中加入您的程序。預設的應用程序是一個空白的窗體(Form),您可以運行它,結果得到一個空白的窗口。這個窗口具有Windows窗口的全部性質:可以被放大縮小、移動、最大最小化等,但您卻沒有編寫一行程序。因此,可以說應用程序框架通過提供所有應用程序共有的東西,為用戶應用程序的開發打下了良好的基礎。Delphi已經為您做好了一切基礎工作——程序框架就是一個已經完成的可運行應用程序,只是不處理任何事情。您所需要做的,只是在程序中加入完成您所需功能的代碼而已。
在空白窗口的背後,應用程序的框架正在等待用戶的輸入。由於您並未告訴它接收到用戶輸入後作何反應,窗口除了響應Windows的基本操作(移動、縮放等)外,它只是接受用戶的輸入,然後再忽略。Delphi把Windows編程的回調、句柄處理等繁復過程都放在一個不可見的Romulam覆蓋物下面,這樣您可以不為它們所困擾,輕松從容地對可視部件進行編程。
1.1.2 面向對象編程的概念
面向對象的程序設計(Object-Oriented Programming,簡記為OOP)是Delphi誕生的基礎。OOP立意於創建軟體重用代碼,具備更好地模擬現實世界環境的能力,這使它被公認為是自上而下編程的優勝者。它通過給程序中加入擴展語句,把函數「封裝」進Windows編程所必需的「對象」中。面向對象的編程語言使得復雜的工作條理清晰、編寫容易。說它是一場革命,不是對對象本身而言,而是對它們處理工作的能力而言。對象並不與傳統程序設計和編程方法兼容,只是部分面向對象反而會使情形更糟。除非整個開發環境都是面向對象的,否則對象產生的好處還沒有帶來的麻煩多。而Delphi是完全面向對象的,這就使得Delphi成為一種觸手可及的促進軟體重用的開發工具,從而具有強大的吸引力。
一些早期的具有OOP性能的程序語言如C++,Pascal,Smalltalk等,雖然具有面向對象的特徵,但不能輕松地畫出可視化對象,與用戶交互能力較差,程序員仍然要編寫大量的代碼。Delphi的推出,填補了這項空白。您不必自己建立對象,只要在提供的程序框架中加入完成功能的代碼,其餘的都交給Delphi去做。欲生成漂亮的界面和結構良好的程序絲毫不必絞盡腦汁,Delphi將幫助您輕松地完成。它允許在一個具有真正OOP擴展的可視化編程環境中,使用它的Object Pascal語言。這種革命性的組合,使得可視化編程與面向對象的開發框架緊密地結合起來。
1.2 Delphi 快速入門
在這一節中,我們來開發一個小程序。隨著開發的過程,逐步介紹Delphi的主要部件及其操作方法。建議讀者按照本書介紹的過程,在您的電腦上直接操作。您將對Delphi的可視化編程有一個直觀、快捷的了解,必將起到事半功倍的效果。
1.2.1 進入Delphi的可視化編程環境
1.2.1.1 安裝Delphi
Delphi的安裝與其它應用軟體並無不同。2.0版必須在Windows 95以上的操作系統中使用。啟動Windows 95或Windows NT後,將Delphi的光碟放入光碟機(CD-ROM)中,運行光碟上的\INSTALL\SETUP.EXE文件,它的安裝程序會提示您正確地裝入Delphi。如果您是在微軟中文Windows環境中安裝Delphi,請參照附錄A來設置您的BDE環境,以便於處理中文數據。
1.2.1.2 進入Delphi 環境
為避免隱藏在Delphi後的Program Manager和曾經運行過的其它程序擾亂版面,分散您的注意力,不妨在啟動Delphi前關掉其它應用程序;啟動Delphi後,再最小化隱藏在後面的Delphi 2.0程序組。這樣屏幕上就只留下Delphi窗口可見了。
首次載入Delphi,屏幕上會出現四個窗口:
● 標題為「Delphi-Project1」的Delphi主窗口
● Object Inspector窗口
● 標題為「Form1」的窗體(Form)窗口
● 標題為「Unit1.PAS」的代碼編輯窗口。剛啟動時這一窗口的大部分被「Form1」窗體所掩蓋。將「Form1」窗體移開,或單擊Form1窗體下方的狀態行,可以使其全部可見。在「Form1」窗體的任意可見位置單擊滑鼠,可以恢復主窗體可見
以下我們將對這四個窗口分別進行介紹。
1.2.2 Delphi可視化編程環境介紹
1.2.2.1 主窗口(Main Form)
Delphi的主窗口位於屏幕的上端,包括Menu(菜單)、Speed Bar(加速條)和Component Panel(部件選項板)。Menu是下拉式主菜單。Speed Bar位於主窗口的左下端,由兩排共14個加速按鈕組成。這些按鈕是菜單功能的快捷方式,各種圖標直觀地表示了它能執行的動作。Component Panel由一行、若干頁對象按鈕所組成,利用它來選擇需要的部件並將它放到窗體中去。
1.2.2.2 Object Inspector(對象檢視器)
Object Inspector窗口含有兩頁:Properties頁顯示窗體中當前被選擇部件的屬性信息,並允許改變對象的屬性;Events頁列出了當前部件可以響應的事件。按動Object Inspector下端的「Events」頁標簽,使得Events頁可見,這一定的事件後邊的空白處,可以定義對象接受到相應事件時執行的動作。首次啟動時,Object Inspector窗口顯示的是當前窗體Form1的屬性。Object Inspector根據對象屬性的多少,決定是否有滾行顯示。移動滾行條,可以查看當前對象的全部屬性。
此外,Object Inspector上還有Object Selector(對象選擇器),位於Object Inspector上方的下拉式菜單中。它顯示了窗體上所有部件的名稱和類型,也包含窗體本身。您可以用Object Selector很容易地在窗體的各個部件之間切換,也可以快速地回到窗體本身。當窗體中含有較多的對象時,您會發現這是切換對象尤其是回到窗體的最快捷途徑。
想使Object Inspector一直可見,可將滑鼠移到Object Inspector上,按動右鍵,以啟動Object Inspector的彈出式菜單,將其設置為Stay On Top。這對初學者常是一個很重要的設置方式。
1.2.2.3 窗體窗口
Forms窗口是開展大部分設計的工作區域。首次啟動Delphi 2.0時顯示的是窗體Form1。可以把部件放在窗體中,通過移動位置、改變尺寸等操作隨心所欲地安排它們,以此來開發應用程序的用戶界面。您可以把窗體想像成一個可以放置其它部件的容器。窗體上有柵格(Grids),供放置部件時對齊位置用,在程序運行時Grids是不可見的。
一個真正的應用程序可能有不止一個窗口,您可以選用不同的窗體進行設計。其它窗體可以是對話框(Dialog Box)、數據錄入框等。
1.2.2.4 代碼窗口
代碼窗口一開始處於窗體窗口之下。因為在Delphi中,設計用戶界面直接在窗體中進行,運行結果和設計樣板完全一致。當部件被放到窗體上時,Delphi會自動生成大部分的用戶界面代碼。您所應做的只是在它為您生成的框架中加入完成所需功能的程序段而已。點動Form1的狀態行使代碼窗口可見。
這個窗口中是代碼編輯器。可以在其中書寫Delphi應用程序的源代碼。當程序中含有不止一個窗口時,會有幾個庫單元的源程序出現在代碼編輯器中。代碼編輯器的標題條中顯示了當前正在編輯的庫單元文件名。要查看某一特定程序的源代碼,只需用滑鼠點動寫有該庫單元文件名的頁標簽,就可以對該庫單元進行編輯了。
❸ 在英語第八課里,d開頭的詞語是什麼
英語(English),屬於印歐語系-日耳曼語族-西日耳曼語支。根據以英語作為母語的人數計算,英語是最多國家使用的官方語言,英語也是世界上最廣泛的第二語言,也是歐盟和許多國際組織和英聯邦國家的官方語言,擁有世界第三位的母語使用者人數,僅次於漢語和西班牙語母語使用者人數。
英語由古代從丹麥等斯堪的納維亞半島以及德國、荷蘭及周邊移民至不列顛群島的盎格魯、撒克遜和朱特部落的日耳曼人所說的語言演變而來,並通過英國的殖民活動傳播到了世界各地。由於在歷史上曾和多種民族語言接觸,它的詞彙從一元變為多元,語法從「多屈折」變為「少屈折」,語音也發生了規律性的變化。
在19至20世紀,英國和美國在文化、經濟、軍事、政治和科學在世界上的領先地位使得英語成為一種國際語言。如今,許多國際場合都使用英語做為溝通媒介。英語也是與電腦聯系最密切的語言,大多數編程語言都與英語有聯系,而且隨著網路的使用,英文的使用更普及。英語是聯合國的工作語言之一。 一些人認為低地蘇格蘭語是與英語最接近的一個獨立語言,而一些人則認為它是英語的一個方言。與古英語最接近的是古弗里西語,這種語言現在仍在德國北部和荷蘭的弗里斯蘭省使用。蘇格蘭語、低地撒克遜語、丹麥語、德語、荷蘭語、南非荷蘭語和英語也很接近。擁有血統的法國的諾曼人於11世紀征服英格蘭王國,帶來數萬法語詞彙和拉丁語詞彙,很大程度地豐富了英語詞彙外,相對也驅使不少原生的語匯作廢。
❹ 什麼是D編程語言呢
D語言是一門新的編程語言,包含了C++,C# 跟 Java的長處,補充了它們的不足. D語言的作者 Walter Bright (就一個人哦,暴強!!!)是大名鼎鼎的Symantec C++ compiler的作者,所以這門語言還是值得期待的. 目前的版本是D 1.0,2007-01-02.其主頁上介紹的特性很多,在我看來,主要還是其垃圾回收機制: 與C++相比,D語言採用了垃圾回收機制(GC),將程序員從指針堆里解放出來; 與C#/Java相比,其垃圾回收機制不需要虛擬機,運行速度提高,依賴性降低; 是C/C++的高效性與JAVA的安全性之結合.
❺ 中國有哪幾種編程語言
目前比較流行的編程語言:
1、Ruby
Ruby於1993年2月24日開始編寫至1995年12月才正式公開發布,一種為簡單快捷面向對象編程而創的腳本語言,Ruby是一個語法像Smalltalk一樣完全面向對象、腳本執行、又有Perl強大的文字處理功能的編程語言。
❻ 有一種編程語言,英文不知道怎麼拼,d開頭的,發音是「代夫」
delphi 老兄,大夫。。。。。。