機(jī)器人控制設(shè)備、機(jī)器人裝置、機(jī)器人控制方法、用于執(zhí)行機(jī)器人控制方法的程序、及在其 ...的制作方法
【專利摘要】所公開的是減少時(shí)間最優(yōu)控制所必需的計(jì)算量的技術(shù)。插值函數(shù)計(jì)算部件361計(jì)算插值函數(shù),該插值函數(shù)經(jīng)過插值在各個(gè)示教點(diǎn)之間的多個(gè)插值的示教點(diǎn)。而且,微分系數(shù)計(jì)算部件362計(jì)算通過利用插值函數(shù)的變量數(shù)對(duì)包含在每個(gè)插值的示教點(diǎn)中的每個(gè)矢量分量進(jìn)行微分而獲得的每個(gè)微分系數(shù)。而且,估計(jì)值計(jì)算部件365基于每個(gè)經(jīng)過速度和每個(gè)微分系數(shù)來計(jì)算在每個(gè)插值的示教點(diǎn)中的每個(gè)關(guān)節(jié)的估計(jì)速度。而且,時(shí)間最優(yōu)控制部件369改變各個(gè)經(jīng)過速度并且最小化目標(biāo)函數(shù),該目標(biāo)函數(shù)通過在約束條件下利用變量數(shù)對(duì)各個(gè)經(jīng)過速度的倒數(shù)進(jìn)行積分而獲得,該約束條件包括每個(gè)關(guān)節(jié)的估計(jì)速度與預(yù)定的允許速度的比率在預(yù)定約束范圍之內(nèi)的條件。位置命令產(chǎn)生部件373通過每當(dāng)經(jīng)過速度函數(shù)被利用預(yù)定時(shí)間間隔的值進(jìn)行時(shí)間積分時(shí)將積分值代入插值函數(shù)中的變量數(shù)中來產(chǎn)生位置命令。
【專利說明】機(jī)器人控制設(shè)備、機(jī)器人裝置、機(jī)器人控制方法、用于執(zhí)行 機(jī)器人控制方法的程序、及在其上記錄程序的記錄介質(zhì)
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及機(jī)器人控制設(shè)備、機(jī)器人裝置、機(jī)器人控制方法、用于執(zhí)行機(jī)器人控制 方法的程序及在其上記錄程序的記錄介質(zhì),它們產(chǎn)生其中當(dāng)關(guān)節(jié)型機(jī)器人(articulated robot)沿著由示教點(diǎn)給定的軌道移動(dòng)時(shí)操作時(shí)間最短的位置命令。
【背景技術(shù)】
[0002] 近年來,具有能夠像人手一樣實(shí)現(xiàn)復(fù)雜和高速組裝的關(guān)節(jié)型機(jī)器人的組裝裝置的 開發(fā)已經(jīng)擴(kuò)展。在這方面,關(guān)節(jié)型機(jī)器人的高速操作是重要的。
[0003] 而且,為了處理復(fù)雜和精確的組裝目標(biāo),有必要處理連接三個(gè)或更多示教點(diǎn)的復(fù) 雜的CP (連續(xù)路徑)軌道,而不是連接兩個(gè)示教點(diǎn)的簡(jiǎn)單的PTP (點(diǎn)到點(diǎn))的軌道。
[0004] 滿足這種需要的關(guān)節(jié)型機(jī)器人的時(shí)間最優(yōu)控制技術(shù)已經(jīng)被提出(參考PTL 1)。自 1980年代以來,時(shí)間最優(yōu)控制已經(jīng)在論文中被提出并且眾所周知。根據(jù)在PTL 1中所公開 的技術(shù),為了以預(yù)定的時(shí)間間隔(例如,以lms的間隔)輸出關(guān)于關(guān)節(jié)型機(jī)器人的每個(gè)關(guān)節(jié) 的位置命令(目標(biāo)位置),以預(yù)定的時(shí)間間隔在各個(gè)給定的示教點(diǎn)之間執(zhí)行插值來計(jì)算位 置命令。然后,更正每個(gè)位置命令的值以最小化操作時(shí)間。
[0005] 參考文獻(xiàn)列表
[0006] 專利文獻(xiàn)
[0007] PTL 1 :日本專利申請(qǐng)?zhí)卦S公開第H11-198072號(hào)
【發(fā)明內(nèi)容】
[0008] 技術(shù)問題
[0009] 但是,在PTL 1所公開的技術(shù)中,時(shí)間最優(yōu)控制所必需的計(jì)算量很大。具體而言, 在PTL 1所公開的技術(shù)中,指示出目標(biāo)位置的位置命令是基于每個(gè)示教點(diǎn)計(jì)算的,時(shí)間最 優(yōu)控制的計(jì)算是為計(jì)算出的位置命令執(zhí)行的,然后,產(chǎn)生校正的位置命令。
[0010] 為了抑制關(guān)節(jié)型機(jī)器人的速度和位置精度的減小,有必要以預(yù)定的微?。ɡ纾?若干毫秒)時(shí)間間隔輸出位置命令,因此,數(shù)據(jù)量大。例如,當(dāng)關(guān)節(jié)型機(jī)器人操作10秒鐘并 且位置命令以lms的間隔輸出時(shí),需要10x1000 = 10000個(gè)校正的位置命令。因此,在時(shí)間 最優(yōu)控制中經(jīng)歷計(jì)算處理的數(shù)據(jù)量必然大。而且,時(shí)間最優(yōu)控制回到解的優(yōu)化的問題,這需 要計(jì)算時(shí)間。因此,數(shù)據(jù)量的增大導(dǎo)致計(jì)算時(shí)間的增加。在計(jì)算處理中,難以操作關(guān)節(jié)型機(jī) 器人,這引起一個(gè)問題,即難以執(zhí)行關(guān)節(jié)型機(jī)器人的高速操作,而關(guān)節(jié)型機(jī)器人的高速操作 是時(shí)間最優(yōu)控制的目的。
[0011] 因此,本發(fā)明的一目的是為了減少時(shí)間最優(yōu)控制所必需的計(jì)算量。
[0012] 問題的解決方案
[0013] 根據(jù)本發(fā)明的一方面,提供了一種機(jī)器人控制設(shè)備,其以預(yù)定的時(shí)間間隔輸出位 置命令到驅(qū)動(dòng)控制單元,該驅(qū)動(dòng)控制單元控制用于驅(qū)動(dòng)關(guān)節(jié)型機(jī)器人的每個(gè)關(guān)節(jié)的每個(gè) 致動(dòng)器的操作使得每個(gè)關(guān)節(jié)被操作成順序地跟隨包括作為矢量分量的每個(gè)關(guān)節(jié)的示教位 置的多個(gè)示教點(diǎn),該機(jī)器人控制設(shè)備包括計(jì)算單元,其中該計(jì)算單元執(zhí)行:插值函數(shù)計(jì)算 處理,該處理計(jì)算經(jīng)過插值在各個(gè)示教點(diǎn)之間的多個(gè)插值的示教點(diǎn)(interpolated teach point)的插值函數(shù);微分系數(shù)計(jì)算處理,該處理計(jì)算通過利用插值函數(shù)的變量數(shù)來對(duì)在每 個(gè)插值的示教點(diǎn)中包含的每個(gè)矢量分量求微分所獲得的每個(gè)微分系數(shù);臨時(shí)設(shè)置處理,該 處理臨時(shí)設(shè)置指示出通過對(duì)在每個(gè)插值的示教點(diǎn)中的變量數(shù)求時(shí)間微分所獲得的微分值 的每個(gè)經(jīng)過速度;估計(jì)值計(jì)算處理,該處理基于每個(gè)經(jīng)過速度和每個(gè)微分系數(shù)來計(jì)算在每 個(gè)插值的示教點(diǎn)中的每個(gè)關(guān)節(jié)的估計(jì)速度;時(shí)間最優(yōu)控制處理,該處理改變各個(gè)經(jīng)過速度 并且最小化目標(biāo)函數(shù),該目標(biāo)函數(shù)通過在約束條件下利用變量數(shù)對(duì)各個(gè)經(jīng)過速度的倒數(shù)進(jìn) 行積分而獲得,該約束條件包括每個(gè)關(guān)節(jié)的估計(jì)速度與預(yù)定的允許速度的比率在預(yù)定約束 范圍之內(nèi)的條件;經(jīng)過速度函數(shù)計(jì)算處理,該處理根據(jù)在時(shí)間最優(yōu)控制處理中所獲得的每 個(gè)經(jīng)過速度來計(jì)算經(jīng)過速度函數(shù);及位置命令產(chǎn)生處理,該處理通過每當(dāng)經(jīng)過速度函數(shù)被 利用預(yù)定時(shí)間間隔的值進(jìn)行時(shí)間積分時(shí)將積分值代入插值函數(shù)中的變量數(shù)中來產(chǎn)生位置 命令。
[0014] 根據(jù)本發(fā)明的另一方面,提供了一種機(jī)器人控制方法,該方法使用包括計(jì)算單元 的機(jī)器人控制設(shè)備,該計(jì)算單元產(chǎn)生要以預(yù)定的時(shí)間間隔輸出到驅(qū)動(dòng)控制單元的位置命 令,該驅(qū)動(dòng)控制單元控制用于驅(qū)動(dòng)關(guān)節(jié)型機(jī)器人的每個(gè)關(guān)節(jié)的每個(gè)致動(dòng)器的操作使得每個(gè) 關(guān)節(jié)被操作成順序地跟隨包括作為矢量分量的每個(gè)關(guān)節(jié)的示教位置的多個(gè)示教點(diǎn),該方法 包括:由該計(jì)算單元進(jìn)行的插值函數(shù)計(jì)算處理,該處理計(jì)算經(jīng)過插值在各個(gè)示教點(diǎn)之間的 多個(gè)插值的示教點(diǎn)的插值函數(shù);由該計(jì)算單元進(jìn)行的微分系數(shù)計(jì)算處理,該處理計(jì)算通過 利用插值函數(shù)的變量數(shù)來對(duì)在每個(gè)插值的示教點(diǎn)中包含的每個(gè)矢量分量求微分所獲得的 每個(gè)微分系數(shù);由該計(jì)算單元進(jìn)行的臨時(shí)設(shè)置處理,該處理臨時(shí)設(shè)置指示出通過對(duì)在每個(gè) 插值的示教點(diǎn)中的變量數(shù)求時(shí)間微分所獲得的微分值的每個(gè)經(jīng)過速度;由該計(jì)算單元進(jìn)行 的估計(jì)值計(jì)算處理,該處理基于每個(gè)經(jīng)過速度和每個(gè)微分系數(shù)來計(jì)算在每個(gè)插值的示教點(diǎn) 中的每個(gè)關(guān)節(jié)的估計(jì)速度;由該計(jì)算單元進(jìn)行的時(shí)間最優(yōu)控制處理,該處理改變各個(gè)經(jīng)過 速度并且最小化目標(biāo)函數(shù),該目標(biāo)函數(shù)通過在約束條件下利用變量數(shù)對(duì)各個(gè)經(jīng)過速度的倒 數(shù)進(jìn)行積分而獲得,該約束條件包括每個(gè)關(guān)節(jié)的估計(jì)速度與預(yù)定的允許速度的比率在預(yù)定 約束范圍之內(nèi)的條件;由該計(jì)算單元進(jìn)行的經(jīng)過速度函數(shù)計(jì)算處理,該處理根據(jù)在時(shí)間最 優(yōu)控制處理中所獲得的每個(gè)經(jīng)過速度來計(jì)算經(jīng)過速度函數(shù);及由該計(jì)算單元進(jìn)行的位置命 令產(chǎn)生處理,該處理通過每當(dāng)經(jīng)過速度函數(shù)被利用預(yù)定時(shí)間間隔的值進(jìn)行時(shí)間積分時(shí)將積 分值代入插值函數(shù)中的變量數(shù)中來產(chǎn)生位置命令。
[0015] 發(fā)明的有利效果
[0016] 根據(jù)本發(fā)明,執(zhí)行了時(shí)間最優(yōu)控制處理,該處理關(guān)于在每個(gè)插值的示教點(diǎn)中的插 值函數(shù)的變量數(shù)改變每個(gè)經(jīng)過速度,以最小化目標(biāo)函數(shù),并且在每個(gè)預(yù)定的時(shí)間間隔的位 置命令是根據(jù)插值函數(shù)利用以這種方式計(jì)算的每個(gè)經(jīng)過速度產(chǎn)生的。以這種方式,由于位 置命令是在目標(biāo)函數(shù)最小化后計(jì)算的,因此不必要把插值的示教點(diǎn)的數(shù)量設(shè)置成與位置命 令的數(shù)量相同,并且能夠把插值的示教點(diǎn)的數(shù)量設(shè)置成小于位置命令的數(shù)量。因此,能夠 減小時(shí)間最優(yōu)控制處理所必需的計(jì)算量,并且提高計(jì)算單元中用于位置命令計(jì)算的計(jì)算速 度。
[0017] 根據(jù)以下對(duì)示例性實(shí)施例的描述并參考附圖,本發(fā)明的其它特征將變得清楚。
【專利附圖】
【附圖說明】
[0018] 圖1是示意性圖示出根據(jù)本發(fā)明第一實(shí)施例的機(jī)器人裝置的配置的示圖。
[0019] 圖2是圖示出機(jī)器人控制設(shè)備的配置的框圖。
[0020] 圖3包括圖3A和3B,圖3是機(jī)器人控制設(shè)備的功能框圖。
[0021] 圖4A是示意性圖示出示教點(diǎn)的示圖。
[0022] 圖4B是示意性圖示出插值的示教點(diǎn)和插值函數(shù)的示圖。
[0023] 圖4C是示意性圖示出經(jīng)過速度的示圖。
[0024] 圖5是示意性圖示出位置命令的示圖。
[0025] 圖6是示意性圖示出根據(jù)本發(fā)明第二實(shí)施例的機(jī)器人控制設(shè)備的微分系數(shù)計(jì)算 部件的操作的示圖。
[0026] 圖7A是示意性圖示出根據(jù)本發(fā)明第三實(shí)施例的機(jī)器人裝置的結(jié)構(gòu)的示圖。
[0027] 圖7B是示意性圖示出關(guān)于每個(gè)機(jī)器人臂的示教點(diǎn)序列的示圖。
[0028] 圖8是圖示出根據(jù)本發(fā)明第四實(shí)施例的在機(jī)器人控制設(shè)備中約束條件違反率計(jì) 算部件的處理操作的示圖。
[0029] 圖9A是圖示出根據(jù)本發(fā)明第四實(shí)施例的電動(dòng)機(jī)的模型的示圖。
[0030] 圖9B是圖示出允許的電動(dòng)機(jī)轉(zhuǎn)矩的示圖。
【具體實(shí)施方式】
[0031] 在下文中,將參考附圖詳細(xì)描述用于實(shí)現(xiàn)本發(fā)明的實(shí)施例。
[0032] 第一實(shí)施例
[0033] 圖1是示意性圖示出根據(jù)本發(fā)明第一實(shí)施例的機(jī)器人裝置的配置的示圖。在圖1 中圖示出的機(jī)器人裝置100包括作為關(guān)節(jié)型機(jī)器人的機(jī)器人臂200,及控制機(jī)器人臂200的 機(jī)器人控制設(shè)備300。而且,機(jī)器人裝置100包括示教板(teaching pendant)400,該示教 板是把有關(guān)多個(gè)示教點(diǎn)的數(shù)據(jù)傳輸?shù)綑C(jī)器人控制設(shè)備300的示教設(shè)備。示教板400是通過 用戶操作的,并且用于指定機(jī)器人臂200或機(jī)器人控制設(shè)備300的操作。
[0034] 在第一實(shí)施例中,機(jī)器人臂200是具有6個(gè)關(guān)節(jié)的機(jī)器人。機(jī)器人臂200包括多 個(gè)(6個(gè))致動(dòng)器201至206,其分別繞著各個(gè)關(guān)節(jié)軸A1至A6旋轉(zhuǎn)地驅(qū)動(dòng)各個(gè)關(guān)節(jié)J1至 J6。只要機(jī)器人臂200在可移動(dòng)的范圍之內(nèi),機(jī)器人臂200就可以使端點(diǎn)(機(jī)器人臂的末 端)能夠在任意的三維位置以任意的三向姿勢(shì)定向。一般地,機(jī)器人臂200的位置和姿勢(shì) 可以通過坐標(biāo)系來表達(dá)。在圖1中,To表示固定于機(jī)器人臂200的臺(tái)座的坐標(biāo)系,并且Te 表不固定于機(jī)器人臂200的端點(diǎn)的坐標(biāo)系。
[0035] 在本實(shí)施例中,致動(dòng)器201至206分別包括電動(dòng)機(jī)211至216及連接到電動(dòng)機(jī)211 至216的減速器221至226。致動(dòng)器201至206中的每一個(gè)的配置都不限于此,例如,可以 使用人工肌肉等。
[0036] 在第一實(shí)施例中,將描述其中各個(gè)關(guān)節(jié)J1至J6都是轉(zhuǎn)動(dòng)關(guān)節(jié)的情況。在這種情 況下,術(shù)語"關(guān)節(jié)位置"指關(guān)節(jié)的角度。每個(gè)關(guān)節(jié)都可以是移動(dòng)關(guān)節(jié)。在這種情況下,"關(guān)節(jié) 位置"是移動(dòng)關(guān)節(jié)的位置。類似地,關(guān)于其時(shí)間微分,使用術(shù)語"關(guān)節(jié)速度"、"關(guān)節(jié)加速度" 和"關(guān)節(jié)加速度變化率(jerk)"。
[0037] 機(jī)器人臂200還包括伺服控制設(shè)備230,該設(shè)備是驅(qū)動(dòng)控制單元,其控制各個(gè)致動(dòng) 器201至206的電動(dòng)機(jī)211至216的驅(qū)動(dòng)。伺服控制設(shè)備230向電動(dòng)機(jī)211至216輸出電 流命令,并且控制各個(gè)電動(dòng)機(jī)211至216的操作,使得各個(gè)關(guān)節(jié)J1至J6的位置基于輸入位 置命令(目標(biāo)位置)跟隨位置命令。
[0038] 機(jī)器人控制設(shè)備300從示教板400接收多個(gè)示教點(diǎn)(示教點(diǎn)序列)的輸入。機(jī)器 人控制設(shè)備300基于示教點(diǎn)產(chǎn)生要以預(yù)定的時(shí)間間隔輸出到伺服控制設(shè)備230的位置命 令,并且以預(yù)定的時(shí)間間隔輸出位置命令,使得機(jī)器人臂200的各個(gè)關(guān)節(jié)J1至J6被操作成 順序地跟隨多個(gè)示教點(diǎn)。
[0039] 示教點(diǎn)是包括作為矢量分量的各個(gè)關(guān)節(jié)(六個(gè)關(guān)節(jié))J1至J6的示教位置的矢量 (示教點(diǎn)矢量)。而且,在機(jī)器人控制設(shè)備300中最終計(jì)算的位置命令是包括作為矢量分量 的各個(gè)關(guān)節(jié)(六個(gè)關(guān)節(jié))J1至J6的目標(biāo)位置的矢量。在第一實(shí)施例中,示教點(diǎn)和位置命令 在點(diǎn)的數(shù)量上彼此不同,但是它們的維度(單位)是相同的。
[0040] 也就是說,機(jī)器人控制設(shè)備300根據(jù)輸入的示教點(diǎn)計(jì)算CP軌道,以產(chǎn)生沿著該軌 道的多個(gè)位置命令,并且以預(yù)定的時(shí)間間隔向伺服控制設(shè)備230輸出位置命令。
[0041] 這時(shí),關(guān)于由給定的示教點(diǎn)序列所確定的軌道,機(jī)器人控制設(shè)備300執(zhí)行關(guān)節(jié)型 機(jī)器人的時(shí)間最優(yōu)控制,該時(shí)間最優(yōu)控制用于把軌道上的經(jīng)過速度調(diào)整在不偏離約束條件 的范圍之內(nèi),其中約束條件諸如機(jī)器人臂200的各個(gè)關(guān)節(jié)J1至J6的速度、加速度、轉(zhuǎn)矩等。
[0042] 這里,兩種類型的方法可以視作通過示教的機(jī)器人臂200的操作方法。
[0043] 1在配置空間中的運(yùn)動(dòng)
[0044] 用于以機(jī)器人臂200的關(guān)節(jié)角度指定示教點(diǎn)并且把機(jī)器人沿著由指定的示教點(diǎn) 所確定的軌道移動(dòng)的方法。
[0045] 2在任務(wù)空間中的運(yùn)動(dòng)
[0046] 用于以三維位置和姿勢(shì)指定示教點(diǎn),并且把機(jī)器人臂200沿著由指定的示教點(diǎn)和 機(jī)器人臂200的端點(diǎn)所確定的軌道移動(dòng)的方法。
[0047] 在圖1中,示意性圖示出四個(gè)示教點(diǎn)pi、p2、p3和p4。在任何情況下,機(jī)器人臂 200的操作沿著由示教點(diǎn)所確定的軌道移動(dòng)。這里,示教點(diǎn)不是在所謂的三維空間中的點(diǎn)。 在關(guān)節(jié)空間移動(dòng)的情況下,示教點(diǎn)對(duì)應(yīng)于所有關(guān)節(jié)J1至J6的關(guān)節(jié)角度(所有電動(dòng)機(jī)的旋 轉(zhuǎn)角度)。在任務(wù)空間移動(dòng)的情況下,如在圖1中所圖示出的,示教點(diǎn)對(duì)應(yīng)于三維空間中的 位置和姿勢(shì),其中Pl、p2、p3和p4表示為坐標(biāo)系。
[0048] 以下,在第一實(shí)施例中,將描述關(guān)節(jié)空間移動(dòng)的情況。在關(guān)節(jié)空間移動(dòng)中,示教點(diǎn) 對(duì)應(yīng)于機(jī)器人的各個(gè)關(guān)節(jié)J1至J6的角度。因此,在6軸和6關(guān)節(jié)機(jī)器人的情況下,一個(gè)示 教點(diǎn)中包括六個(gè)矢量分量。
[0049] 圖2是圖示出機(jī)器人控制設(shè)備300的配置的框圖。在第一實(shí)施例中,機(jī)器人控制 設(shè)備300是包括CPU 301的計(jì)算機(jī),其中CPU 301是計(jì)算單元,如在圖2中所圖示出的。
[0050] 機(jī)器人控制設(shè)備300包括作為計(jì)算單元的CPU 301、ROM 302、RAM 303、HDD 304、 記錄盤驅(qū)動(dòng)器305、及各種接口 306至309。
[0051] ROM 302、RAM 303、HDD 304、記錄盤驅(qū)動(dòng)器305及各種接口 306至309通過總線 310連接到CPU 301。用于操作CPU 301的程序330存儲(chǔ)在ROM 302中。程序330是使得 CPU 301執(zhí)行各種計(jì)算處理的程序。CPU 301基于存儲(chǔ)在ROM 302中的程序330執(zhí)行各種 計(jì)算處理。RAM 303是臨時(shí)存儲(chǔ)CPU 301的計(jì)算處理結(jié)果的存儲(chǔ)單元。HDD 304是存儲(chǔ)單 元,用于存儲(chǔ)作為計(jì)算處理結(jié)果的各種類型的數(shù)據(jù)。
[0052] 示教板400連接到接口 306,并且CPU 301通過接口 306和總線310從示教板400 接收有關(guān)示教點(diǎn)的數(shù)據(jù)的輸入。
[0053] 在CPU 301的命令下,指示CPU 301中的計(jì)算結(jié)果的數(shù)據(jù)(位置命令數(shù)據(jù))等存 儲(chǔ)在HDD 304中。
[0054] 機(jī)器人臂200的伺服控制設(shè)備230連接到接口 309,并且CPU301以預(yù)定的時(shí)間間 隔通過總線310和接口 309向伺服控制設(shè)備230輸出位置命令數(shù)據(jù)。
[0055] 監(jiān)視器321連接到接口 307,并且在監(jiān)視器321上顯示各種圖像。接口 308配置成 使得諸如可重寫非易失性存儲(chǔ)器或外部HDD的外部存儲(chǔ)設(shè)備322可以連接到該接口。記錄 盤驅(qū)動(dòng)器305能夠讀取在記錄盤331中記錄的各種類型的數(shù)據(jù)、程序等。
[0056] 圖3是圖示出機(jī)器人控制設(shè)備300的功能框圖。CPU 301執(zhí)行存儲(chǔ)在ROM 302中 的程序330,以充當(dāng)各種處理部件351、352和353,其中各個(gè)處理部件執(zhí)行后面將要描述的 各種處理。即,基于程序330,CPU 301充當(dāng)在圖3中圖示出的第一插值部件351、經(jīng)過速度 計(jì)算部件352、第二插值部件353。在圖3中,圓角矩形表示數(shù)據(jù),矩形表示CPU 301的處理。
[0057] 將簡(jiǎn)要描述各個(gè)部件351、352和353的操作。首先,第一插值部件351利用插值函 數(shù)在各個(gè)示教點(diǎn)之間執(zhí)行插值,并且計(jì)算插值的示教點(diǎn)的各個(gè)位置中各個(gè)關(guān)節(jié)的位置。而 且,第一插值部件351計(jì)算一階微分值、二階微分值和三階微分值。
[0058] 經(jīng)過速度計(jì)算部件352定義在插值的示教點(diǎn)的每個(gè)位置中的經(jīng)過速度。然后,經(jīng) 過速度計(jì)算部件352計(jì)算經(jīng)過速度的一階微分值和經(jīng)過速度的二階微分值。經(jīng)過速度計(jì) 算部件352根據(jù)每個(gè)關(guān)節(jié)的位置和經(jīng)過速度的一階微分值和二階微分值、在第一插值部件 351中計(jì)算的一階微分值、二階微分值和三階微分值,計(jì)算機(jī)器人臂200的每個(gè)關(guān)節(jié)的估計(jì) 的速度、估計(jì)的加速度、估計(jì)的加速度變化率及估計(jì)的轉(zhuǎn)矩。而且,經(jīng)過速度計(jì)算部件352 計(jì)算機(jī)器人臂200的末端的估計(jì)的末端速度(在下文中稱為估計(jì)的端點(diǎn)速度),及機(jī)器人臂 200的末端的估計(jì)的旋轉(zhuǎn)速度(在下文中稱為估計(jì)的端點(diǎn)旋轉(zhuǎn)速度)。
[0059] 然后,經(jīng)過速度計(jì)算部件352計(jì)算約束條件違反率,約束條件違反率是所計(jì)算的 估計(jì)速度、估計(jì)的加速度、估計(jì)的加速度變化率、估計(jì)的轉(zhuǎn)矩和估計(jì)的端點(diǎn)速度及估計(jì)的端 點(diǎn)旋轉(zhuǎn)速度與預(yù)定的約束值的比率。
[0060] 經(jīng)過速度計(jì)算部件352求解不等式約束優(yōu)化問題,即其中計(jì)算出的約束條件違反 率的整個(gè)或者預(yù)先選擇的部分在預(yù)定的約束范圍之內(nèi)(在±1的范圍之內(nèi))的不等式約束 被滿足,并且經(jīng)過速度的倒數(shù)的總和(即,操作時(shí)間)是最短的,從而獲得經(jīng)過速度。
[0061] 第二插值部件353利用插值函數(shù),計(jì)算給予在通過以預(yù)定的時(shí)間間隔積分計(jì)算的 經(jīng)過速度所獲得的位置中的機(jī)器人臂200的每個(gè)關(guān)節(jié)的位置命令。
[0062] 這里,數(shù)學(xué)表達(dá)式中的符號(hào)定義如下。在數(shù)學(xué)表達(dá)式中,粗體字表示矢量。
[0063] Pi不教點(diǎn)。由多個(gè)矢量分量構(gòu)成的矢量。
[0064] 在機(jī)器人臂具有6軸關(guān)節(jié)的情況下,一個(gè)示教點(diǎn)由六個(gè)示教位置(關(guān)節(jié)角度)構(gòu) 成。
[0065] h(s,Pi)插值函數(shù)。
[0066] q(s)插值的示教點(diǎn)。由多個(gè)矢量分量構(gòu)成的矢量。
[0067] 在機(jī)器人臂具有6軸關(guān)節(jié)的情況下,一個(gè)插值的示教點(diǎn)由六個(gè)示教位置(關(guān)節(jié)角 度)構(gòu)成。
[0068] s指示各個(gè)插值的示教點(diǎn)的序列號(hào)的變量數(shù)。這里,s不是整數(shù)而是實(shí)數(shù)。
[0069]
【權(quán)利要求】
1. 一種機(jī)器人控制設(shè)備,其以預(yù)定的時(shí)間間隔輸出位置命令到驅(qū)動(dòng)控制單元,該驅(qū)動(dòng) 控制單元控制用于驅(qū)動(dòng)關(guān)節(jié)型機(jī)器人的每個(gè)關(guān)節(jié)的每個(gè)致動(dòng)器的操作使得每個(gè)關(guān)節(jié)被操 作成順序地跟隨包括作為矢量分量的每個(gè)關(guān)節(jié)的示教位置的多個(gè)示教點(diǎn),該機(jī)器人控制設(shè) 備包括計(jì)算單元, 其中該計(jì)算單元執(zhí)行: 插值函數(shù)計(jì)算處理,該處理計(jì)算經(jīng)過插值在各個(gè)示教點(diǎn)之間的多個(gè)插值的示教點(diǎn)的插 值函數(shù); 微分系數(shù)計(jì)算處理,該處理計(jì)算通過利用插值函數(shù)的變量數(shù)來對(duì)在每個(gè)插值的示教點(diǎn) 中包含的每個(gè)矢量分量求微分所獲得的每個(gè)微分系數(shù); 臨時(shí)設(shè)置處理,該處理臨時(shí)設(shè)置指示出通過對(duì)在每個(gè)插值的示教點(diǎn)中的變量數(shù)求時(shí)間 微分所獲得的微分值的每個(gè)經(jīng)過速度; 估計(jì)值計(jì)算處理,該處理基于每個(gè)經(jīng)過速度和每個(gè)微分系數(shù)來計(jì)算在每個(gè)插值的示教 點(diǎn)中的每個(gè)關(guān)節(jié)的估計(jì)速度; 時(shí)間最優(yōu)控制處理,該處理改變各個(gè)經(jīng)過速度并且最小化目標(biāo)函數(shù),該目標(biāo)函數(shù)通過 在約束條件下利用變量數(shù)對(duì)各個(gè)經(jīng)過速度的倒數(shù)進(jìn)行積分而獲得,該約束條件包括每個(gè)關(guān) 節(jié)的估計(jì)速度與預(yù)定的允許速度的比率在預(yù)定約束范圍之內(nèi)的條件; 經(jīng)過速度函數(shù)計(jì)算處理,該處理根據(jù)在時(shí)間最優(yōu)控制處理中所獲得的每個(gè)經(jīng)過速度來 計(jì)算經(jīng)過速度函數(shù);及 位置命令產(chǎn)生處理,該處理通過每當(dāng)經(jīng)過速度函數(shù)被利用預(yù)定時(shí)間間隔的值進(jìn)行時(shí)間 積分時(shí)將積分值代入插值函數(shù)中的變量數(shù)中來產(chǎn)生位置命令。
2. 如權(quán)利要求1所述的機(jī)器人控制設(shè)備, 其中,作為微分系數(shù)計(jì)算處理,該計(jì)算單元基于插值函數(shù)關(guān)于每個(gè)插值的示教點(diǎn)的每 個(gè)矢量分量來計(jì)算當(dāng)變量數(shù)改變比各個(gè)插值的示教點(diǎn)之間的間隔小的微小值時(shí)的每個(gè)矢 量分量,并且利用計(jì)算結(jié)果計(jì)算每個(gè)微分系數(shù)。
3. 如權(quán)利要求1或2所述的機(jī)器人控制設(shè)備, 其中,作為插值函數(shù)計(jì)算處理,該計(jì)算單元給每個(gè)示教點(diǎn)分配對(duì)應(yīng)于時(shí)間的示教點(diǎn)編 號(hào),并且利用該示教點(diǎn)編號(hào)通過樣條插值來計(jì)算插值函數(shù)。
4. 如權(quán)利要求1至3中任一項(xiàng)所述的機(jī)器人控制設(shè)備, 其中,允許的速度被設(shè)置成根據(jù)變量數(shù)的值變化的值。
5. 如權(quán)利要求4所述的機(jī)器人控制設(shè)備, 其中,允許的速度被設(shè)置成隨著變量數(shù)的值的增大而減小。
6. 如權(quán)利要求1至5中任一項(xiàng)所述的機(jī)器人控制設(shè)備, 其中,作為估計(jì)值計(jì)算處理,該計(jì)算單元進(jìn)一步基于每個(gè)經(jīng)過速度和每個(gè)微分系數(shù)關(guān) 于在每個(gè)插值的示教點(diǎn)中的每個(gè)關(guān)節(jié)來計(jì)算通過利用時(shí)間對(duì)估計(jì)速度求一階微分所獲得 的估計(jì)的加速度,及 其中,約束條件進(jìn)一步包括估計(jì)的加速度與預(yù)定的允許加速度的比率在預(yù)定約束范圍 之內(nèi)的條件。
7. 如權(quán)利要求1至6中任一項(xiàng)所述的機(jī)器人控制設(shè)備, 其中,作為估計(jì)值計(jì)算處理,該計(jì)算單元進(jìn)一步基于每個(gè)經(jīng)過速度和每個(gè)微分系數(shù)關(guān) 于每個(gè)插值的示教點(diǎn)中的每個(gè)關(guān)節(jié)來計(jì)算通過利用時(shí)間對(duì)估計(jì)速度求二階微分所獲得的 估計(jì)的加速度變化率,及 其中約束條件進(jìn)一步包括估計(jì)的加速度變化率與預(yù)定的允許加速度變化率的比率在 預(yù)定約束范圍之內(nèi)的條件。
8. 如權(quán)利要求1至7中任一項(xiàng)所述的機(jī)器人控制設(shè)備, 其中,作為估計(jì)值計(jì)算處理,該計(jì)算單元進(jìn)一步基于每個(gè)插值的示教點(diǎn)、每個(gè)經(jīng)過速度 和每個(gè)微分系數(shù)來計(jì)算在每個(gè)插值的示教點(diǎn)中的每個(gè)關(guān)節(jié)的估計(jì)的轉(zhuǎn)矩,及 其中,約束條件進(jìn)一步包括估計(jì)的轉(zhuǎn)矩與預(yù)定的允許轉(zhuǎn)矩的比率在預(yù)定約束范圍之內(nèi) 的條件。
9. 如權(quán)利要求1至8中任一項(xiàng)所述的機(jī)器人控制設(shè)備, 其中,作為估計(jì)值計(jì)算處理,該計(jì)算單元進(jìn)一步基于每個(gè)插值的示教點(diǎn)、每個(gè)經(jīng)過速度 和每個(gè)微分系數(shù)來計(jì)算在每個(gè)插值的示教點(diǎn)中的關(guān)節(jié)型機(jī)器人的末端的估計(jì)的末端速度, 及 其中,約束條件進(jìn)一步包括估計(jì)的末端速度與預(yù)定的允許末端速度的比率在預(yù)定約束 范圍之內(nèi)的條件。
10. 如權(quán)利要求1至9中任一項(xiàng)所述的機(jī)器人控制設(shè)備, 其中,作為估計(jì)值計(jì)算處理,該計(jì)算單元進(jìn)一步基于每個(gè)插值的示教點(diǎn)、每個(gè)經(jīng)過速度 和每個(gè)微分系數(shù)來計(jì)算在每個(gè)插值的示教點(diǎn)中的關(guān)節(jié)型機(jī)器人的末端的估計(jì)的旋轉(zhuǎn)速度, 及 其中,約束條件進(jìn)一步包括估計(jì)的旋轉(zhuǎn)速度與預(yù)定的允許旋轉(zhuǎn)速度的比率在預(yù)定約束 范圍之內(nèi)的條件。
11. 如權(quán)利要求1至10中任一項(xiàng)所述的機(jī)器人控制設(shè)備, 其中,致動(dòng)器包括電動(dòng)機(jī)和減速器, 其中,作為估計(jì)值計(jì)算處理,該計(jì)算單元進(jìn)一步基于減速器的減速比、每個(gè)經(jīng)過速度和 每個(gè)微分系數(shù)來計(jì)算在每個(gè)插值的示教點(diǎn)中的電動(dòng)機(jī)的估計(jì)的電動(dòng)機(jī)轉(zhuǎn)矩,及 其中,約束條件進(jìn)一步包括估計(jì)的電動(dòng)機(jī)轉(zhuǎn)矩與預(yù)定的允許電動(dòng)機(jī)轉(zhuǎn)矩的比率在預(yù)定 約束范圍之內(nèi)的條件。
12. -種機(jī)器人裝置,包括: 關(guān)節(jié)型機(jī)器人;及 根據(jù)權(quán)利要求1至11中任一項(xiàng)所述的機(jī)器人控制設(shè)備,該設(shè)備控制關(guān)節(jié)型機(jī)器人。
13. -種機(jī)器人控制方法,該方法使用包括計(jì)算單元的機(jī)器人控制設(shè)備,該計(jì)算單元產(chǎn) 生要以預(yù)定的時(shí)間間隔輸出到驅(qū)動(dòng)控制單元的的位置命令,該驅(qū)動(dòng)控制單元控制用于驅(qū)動(dòng) 關(guān)節(jié)型機(jī)器人的每個(gè)關(guān)節(jié)的每個(gè)致動(dòng)器的操作使得每個(gè)關(guān)節(jié)被操作成順序地跟隨包括作 為矢量分量的每個(gè)關(guān)節(jié)的示教位置的多個(gè)示教點(diǎn),該方法包括: 由該計(jì)算單元進(jìn)行的插值函數(shù)計(jì)算處理,該處理計(jì)算經(jīng)過插值在各個(gè)示教點(diǎn)之間的多 個(gè)插值的示教點(diǎn)的插值函數(shù); 由該計(jì)算單元進(jìn)行的微分系數(shù)計(jì)算處理,該處理計(jì)算通過利用插值函數(shù)的變量數(shù)來對(duì) 在每個(gè)插值的示教點(diǎn)中包含的每個(gè)矢量分量求微分所獲得的每個(gè)微分系數(shù); 由該計(jì)算單元進(jìn)行的臨時(shí)設(shè)置處理,該處理臨時(shí)設(shè)置指示出通過對(duì)在每個(gè)插值的示教 點(diǎn)中的變量數(shù)求時(shí)間微分所獲得的微分值的每個(gè)經(jīng)過速度; 由該計(jì)算單元進(jìn)行的估計(jì)值計(jì)算處理,該處理基于每個(gè)經(jīng)過速度和每個(gè)微分系數(shù)來計(jì) 算在每個(gè)插值的示教點(diǎn)中的每個(gè)關(guān)節(jié)的估計(jì)速度; 由該計(jì)算單元進(jìn)行的時(shí)間最優(yōu)控制處理,該處理改變各個(gè)經(jīng)過速度并且最小化目標(biāo) 函數(shù),該目標(biāo)函數(shù)通過在約束條件下利用變量數(shù)對(duì)各個(gè)經(jīng)過速度的倒數(shù)進(jìn)行積分而獲得, 該約束條件包括每個(gè)關(guān)節(jié)的估計(jì)速度與預(yù)定的允許速度的比率在預(yù)定約束范圍之內(nèi)的條 件; 由該計(jì)算單元進(jìn)行的經(jīng)過速度函數(shù)計(jì)算處理,該處理根據(jù)在時(shí)間最優(yōu)控制處理中所獲 得的每個(gè)經(jīng)過速度來計(jì)算經(jīng)過速度函數(shù);及 由該計(jì)算單元進(jìn)行的位置命令產(chǎn)生處理,該處理通過每當(dāng)經(jīng)過速度函數(shù)被利用預(yù)定時(shí) 間間隔的值進(jìn)行時(shí)間積分時(shí)將積分值代入插值函數(shù)中的變量數(shù)中來產(chǎn)生位置命令。
14. 一種使計(jì)算機(jī)執(zhí)行如權(quán)利要求13所述的機(jī)器人控制方法的各個(gè)處理的程序。
15. -種計(jì)算機(jī)可讀記錄介質(zhì),其上記錄如權(quán)利要求14所述的程序。
【文檔編號(hào)】B25J9/16GK104254430SQ201380012677
【公開日】2014年12月31日 申請(qǐng)日期:2013年2月28日 優(yōu)先權(quán)日:2012年3月7日
【發(fā)明者】根岸真人 申請(qǐng)人:佳能株式會(huì)社