特許第5806105号(P5806105)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 川崎重工業株式会社の特許一覧

<>
  • 特許5806105-パラメータ補正方法および制御システム 図000005
  • 特許5806105-パラメータ補正方法および制御システム 図000006
  • 特許5806105-パラメータ補正方法および制御システム 図000007
  • 特許5806105-パラメータ補正方法および制御システム 図000008
  • 特許5806105-パラメータ補正方法および制御システム 図000009
  • 特許5806105-パラメータ補正方法および制御システム 図000010
  • 特許5806105-パラメータ補正方法および制御システム 図000011
  • 特許5806105-パラメータ補正方法および制御システム 図000012
  • 特許5806105-パラメータ補正方法および制御システム 図000013
  • 特許5806105-パラメータ補正方法および制御システム 図000014
  • 特許5806105-パラメータ補正方法および制御システム 図000015
  • 特許5806105-パラメータ補正方法および制御システム 図000016
  • 特許5806105-パラメータ補正方法および制御システム 図000017
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5806105
(24)【登録日】2015年9月11日
(45)【発行日】2015年11月10日
(54)【発明の名称】パラメータ補正方法および制御システム
(51)【国際特許分類】
   G05B 19/404 20060101AFI20151021BHJP
   B25J 9/10 20060101ALI20151021BHJP
【FI】
   G05B19/404 G
   B25J9/10 A
【請求項の数】10
【全頁数】28
(21)【出願番号】特願2011-281865(P2011-281865)
(22)【出願日】2011年12月22日
(65)【公開番号】特開2013-131149(P2013-131149A)
(43)【公開日】2013年7月4日
【審査請求日】2014年8月22日
(73)【特許権者】
【識別番号】000000974
【氏名又は名称】川崎重工業株式会社
(74)【代理人】
【識別番号】100101454
【弁理士】
【氏名又は名称】山田 卓二
(74)【代理人】
【識別番号】100081422
【弁理士】
【氏名又は名称】田中 光雄
(74)【代理人】
【識別番号】100132241
【弁理士】
【氏名又は名称】岡部 博史
(72)【発明者】
【氏名】中村 直弘
(72)【発明者】
【氏名】本多 文博
(72)【発明者】
【氏名】久保田 哲也
【審査官】 牧 初
(56)【参考文献】
【文献】 特開平5−266063(JP,A)
【文献】 特開平2−48188(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/18−19/416
G05B 19/42−19/46
B25J 1/00−21/02
(57)【特許請求の範囲】
【請求項1】
6個のパラメータx、y、z、α、β、γによって位置姿勢が決定される制御対象があって、制御対象が目標の位置姿勢となるようにパラメータを補正するパラメータ補正方法において、
制御対象のn(nは7以上の整数)個の実際の位置姿勢V(n)={x(n)、y(n)、z(n)、α(n)、β(n)、γ(n)}を実測する工程(1)と、
工程(1)で取得されたn個の実際の位置姿勢V(n)に含まれる誤差ΔV(n)={Δx(n)、Δy(n)、Δz(n)、Δα(n)、Δβ(n)、Δγ(n)}を算出する工程(2)と、
各パラメータの目標値を含む目標の位置姿勢V(T)={x(T)、y(T)、z(T)、α(T)、β(T)、γ(T)}を取得する工程(3)と、
工程(1)で実測された実際の位置姿勢V(n)と工程(2)で算出された誤差ΔV(n)との対応関係に基づいて、工程(3)で取得された目標の位置姿勢V(T)に対応する誤差ΔV(T)={Δx(T)、Δy(T)、Δz(T)、Δα(T)、Δβ(T)、Δγ(T)}を算出する工程(4)と、
工程(4)で算出された誤差ΔV(T)に基づいて、制御対象の実際の位置姿勢が目標の位置姿勢V(T)となるようにパラメータを補正する工程(5)と、を含み、
工程(4)が、
n個の実際の位置姿勢V(n)を、x軸、y軸、z軸、α軸、β軸、およびγ軸を備える六次元座標系におけるn個の第1の参考点P(n)(x(n)、y(n)、z(n)、α(n)、β(n)、γ(n))として定義する工程(4−1)と、
目標の位置姿勢V(T)を、前記六次元座標系における第1の補正対象点P(T)(x(T)、y(T)、z(T)、α(T)、β(T)、γ(T))として定義工程(4−2)と、
前記六次元座標系において、第1の補正対象点P(T)を内包する六次元単体を構成する7個の頂点となる、7個の第1の参考点P(n)を特定する工程(4−3)と、
誤差ΔV(n)のΔx(n)成分に基づいて、特定された7個の第1の参考点P(n)を、x軸、y軸、z軸、α軸、β軸、γ軸、およびΔx軸を備える七次元座標系における7個の第2の参考点P’(n)(x(n)、y(n)、z(n)、α(n)、β(n)、γ(n)、Δx(n))に座標変換する工程(4−4)と、
第1の補正対象点P(T)を、前記七次元座標系における第2の補正対象点P’(T)(x(T)、y(T)、z(T)、α(T)、β(T)、γ(T)、Δx(T))(Δx(T)は未知数)に座標変換する工程(4−5)と、
前記七次元座標系において、7個の第2の参考点P’(n)を含む超平面の式:B・x+B・y+B・z+B・α+B・β+B・γ+B・Δx=1(B〜Bは係数)を算出する工程(4−6)と、
超平面の式に第2の補正対象点P’(T)の座標値x(T)、y(T)、z(T)、α(T)、β(T)、γ(T)、Δx(T)を代入し、未知数である誤差成分Δx(T)を算出する工程(4−7)と、
工程(4−4)〜(4−7)を、誤差成分Δxを誤差成分Δy、Δz、Δα、Δβ、Δγそれぞれに代えて実行することにより、未知数である誤差成分Δy(T)、Δz(T)、Δα(T)、Δβ(T)、Δγ(T)それぞれを算出する工程(4−8)と、を含む、パラメータ補正方法。
【請求項2】
工程(4−3)が、
複数の第1の参考点P(n)それぞれを母点とする複数のボロノイ領域を作成する工程と、
作成したボロノイ領域に基づいて7個の頂点を備える複数のドロネー単体を作成する工程と、
第1の補正対象点P(T)を内包する1つのドロネー単体を特定する工程と、
特定されたドロネー単体を構成する7個の頂点である7個の第1の参考点P(n)を特定する工程と、を含む、請求項1に記載のパラメータ補正方法。
【請求項3】
現実空間内の現実物体の形状と仮想空間内の仮想物体の形状とが整合するように、仮想物体の表面の法線ベクトルの方向およびその法線ベクトルの表面上位置を決定するパラメータx、y、z、α、β、γを補正するパラメータ補正方法において、
現実物体の表面のn(nは7以上の整数)個の法線ベクトルの方向/表面上位置V(n)={x(n)、y(n)、z(n)、α(n)、β(n)、γ(n)}を実測する工程(1)と、
工程(1)で取得されたn個の法線ベクトルの方向/表面上位置V(n)に含まれる、理想の形状に対する誤差ΔV(n)={Δx(n)、Δy(n)、Δz(n)、Δα(n)、Δβ(n)、Δγ(n)}を算出する工程(2)と、
理想の形状の仮想物体の表面の法線ベクトルの方向/表面上位置V(T)={x(T)、y(T)、z(T)、α(T)、β(T)、γ(T)}を取得する工程(3)と、
工程(1)で実測された現実物体の法線ベクトルの方向/表面上位置V(n)と工程(2)で算出された誤差ΔV(n)との対応関係に基づいて、工程(3)で取得された仮想物体の法線ベクトルの方向/表面上位置V(T)に対応する誤差ΔV(T)={Δx(T)、Δy(T)、Δz(T)、Δα(T)、Δβ(T)、Δγ(T)}を算出する工程(4)と、
工程(4)で算出された誤差ΔV(T)に基づいて、現実物体と仮想物体とが整合するようにパラメータを補正する工程(5)と、を含み、
工程(4)が、
現実物体のn個の法線ベクトルの方向/表面上位置V(n)を、x軸、y軸、z軸、α軸、β軸、およびγ軸を備える六次元座標系におけるn個の第1の参考点P(n)(x(n)、y(n)、z(n)、α(n)、β(n)、γ(n))として定義する工程(4−1)と、
仮想物体の法線ベクトルの方向/表面上位置V(T)を、前記六次元座標系における第1の補正対象点P(T)(x(T)、y(T)、z(T)、α(T)、β(T)、γ(T))として定義する工程(4−2)と、
前記六次元座標系において、第1の補正対象点P(T)を内包する六次元単体を構成する7個の頂点となる、7個の第1の参考点P(n)を特定する工程(4−3)と、
誤差ΔV(n)のΔx(n)成分に基づいて、特定された7個の第1の参考点P(n)を、x軸、y軸、z軸、α軸、β軸、γ軸、およびΔx軸を備える七次元座標系における7個の第2の参考点P’(n)(x(n)、y(n)、z(n)、α(n)、β(n)、γ(n)、Δx(n))に座標変換する工程(4−4)と、
第1の補正対象点P(T)を、前記七次元座標系における第2の補正対象点P’(T)(x(T)、y(T)、z(T)、α(T)、β(T)、γ(T)、Δx(T))(Δx(T)は未知数)に座標変換する工程(4−5)と、
前記七次元座標系において、7個の第2の参考点P’(n)を含む超平面の式:B・x+B・y+B・z+B・α+B・β+B・γ+B・Δx=1(B〜Bは係数)を算出する工程(4−6)と、
超平面の式に第2の補正対象点P’(T)の座標値x(T)、y(T)、z(T)、α(T)、β(T)、γ(T)、Δx(T)を代入し、未知数である誤差成分Δx(T)を算出する工程(4−7)と、
工程(4−4)〜(4−7)を、誤差成分Δxを誤差成分Δy、Δz、Δα、Δβ、Δγそれぞれに代えて実行することにより、未知数である誤差成分Δy(T)、Δz(T)、Δα(T)、Δβ(T)、Δγ(T)それぞれを算出する工程(4−8)と、を含む、パラメータ補正方法。
【請求項4】
工程(4−3)が、
複数の第1の参考点P(n)それぞれを母点とする複数のボロノイ領域を作成する工程と、
作成したボロノイ領域に基づいて7個の頂点を備える複数のドロネー単体を作成する工程と、
第1の補正対象点P(T)を内包する1つのドロネー単体を特定する工程と、
特定されたドロネー単体を構成する7個の頂点である7個の第1の参考点P(n)を特定する工程と、を含む、請求項3に記載のパラメータ補正方法。
【請求項5】
m(mは2以上の整数)個のパラメータc1、c2、・・・、cmによって状態が決定される制御対象があって、制御対象が目標の状態となるようにパラメータを補正するパラメータ補正方法において、
制御対象のn(nはm+1以上の整数)個の実際の状態V(n)={c1(n)、c2(n)、・・・、cm(n)}を実測する工程(1)と、
工程(1)で取得されたn個の実際の状態V(n)に含まれる誤差ΔV(n)={Δc1(n)、Δc2(n)、・・・、Δcm(n)}を算出する工程(2)と、
各パラメータの目標値を含む目標の状態V(T)={c1(T)、c2(T)、・・・、cm(T)}を取得する工程(3)と、
工程(1)で実測された実際の状態V(n)と工程(2)で算出された誤差ΔV(n)との対応関係に基づいて、工程(3)で取得された目標の状態(T)に対応する誤差ΔV(T)={Δc1(T)、Δc2(T)、・・・、Δcm(T)}を算出する工程(4)と、
工程(4)で算出された誤差ΔV(T)に基づいて、制御対象の実際の状態が目標の状態V(T)となるようにパラメータを補正する工程(5)と、を含み、
工程(4)が、
n個の実際の状態V(n)を、c1軸、c2軸、・・・、およびcm軸を備えるm次元座標系におけるn個の第1の参考点P(n)(c1(n)、c2(n)、・・・、cm(n))として定義する工程(4−1)と、
目標の状態V(T)を、前記m次元座標系における第1の補正対象点P(T)(c1(T)、c2(T)、・・・、cm(T))として定義する工程(4−2)と、
前記m次元座標系において、第1の補正対象点P(T)を内包するm次元単体の(m+1)個の頂点となる、(m+1)個の第1の参考点P(n)を特定する工程(4−3)と、
誤差ΔV(n)のΔc1(n)成分に基づいて、工程(4−3)で特定された(m+1)個の第1の参考点P(n)を、c1軸、c2軸、・・・、cm軸、およびΔc1軸を備える(m+1)次元座標系における(m+1)個の第2の参考点P’(n)(c1(n)、c2(n)、・・・、cm(n)、Δc1(n))に座標変換する工程(4−4)と、
第1の補正対象点P(T)を、前記(m+1)次元座標系における第2の補正対象点P’(T) (c1(T)、c2(T)、・・・、cm(T)、Δc1(T)(Δc1(T)は未知数)に座標変換する工程(4−5)と、
前記(m+1)次元座標系において、(m+1)個の第2の参考点P’(n)を含む超平面の式:B・c1+B・c2+・・・・+B・cm+Bm+1・Δc1=1(B〜Bm+1は定数)を算出する工程(4−6)と、
超平面の式に第2の補正対象点P’(T)の座標値c1(T)、c2(T)、・・・、cm(T)、Δc1(T)を代入し、未知数である誤差成分Δc1(T)を算出する工程(4−7)と、
工程(4−4)〜(4−7)を、誤差成分Δc1を誤差成分Δc2、・・・、Δcmそれぞれに代えて実行することにより、未知数である誤差成分Δc2(T)、・・・、Δcm(T)それぞれを算出する工程と、を含む、パラメータ補正方法。
【請求項6】
工程(4−3)が、
複数の第1の参考点P(n)それぞれを母点とする複数のボロノイ領域を作成する工程と、
作成したボロノイ領域に基づいて(m+1)個の頂点を備える複数のドロネー単体を作成する工程と、
第1の補正対象点P(T)を内包する1つのドロネー単体を特定する工程と、
特定されたドロネー単体を構成する(m+1)個の頂点である(m+1)個の第1の参考点P(n)を特定する工程と、を含む、請求項5に記載のパラメータ補正方法。
【請求項7】
6個のパラメータx、y、z、α、β、γによって位置姿勢が決定される制御対象を有し、制御対象が目標の位置姿勢となるようにパラメータを補正する制御対象の制御システムにおいて、
予め実測された制御対象のn(nは7以上の整数)個の実際の位置姿勢V(n)={x(n)、y(n)、z(n)、α(n)、β(n)、γ(n)}と、n個の実際の位置姿勢V(n)に含まれる誤差ΔV(n)=(Δx(n)、Δy(n)、Δz(n)、Δα(n)、Δβ(n)、Δγ(n))とを保持する記憶手段と、
各パラメータの目標値を含む目標の位置姿勢V(T)={x(T)、y(T)、z(T)、α(T)、β(T)、γ(T))を指令値として取得する指令値取得手段と、
記憶手段に記憶されている、実際の位置姿勢V(n)と誤差ΔV(n)との対応関係に基づいて、指令値取得手段が取得した目標の位置姿勢V(T)に対応する誤差ΔV(T)={Δx(T)、Δy(T)、Δz(T)、Δα(T)、Δβ(T)、Δγ(T)}を算出し、
算出した誤差ΔV(T)に基づいて、制御対象の実際の位置姿勢が目標の位置姿勢V(T)となるように指令値内のパラメータを補正するパラメータ補正手段とを有し、
パラメータ補正手段が、
n個の実際の位置姿勢V(n)を、x軸、y軸、z軸、α軸、β軸、およびγ軸を備える六次元座標系におけるn個の第1の参考点P(n)(x(n)、y(n)、z(n)、α(n)、β(n)、γ(n))として定義する第1の動作と、
目標の位置姿勢V(T)を、前記六次元座標系における第1の補正対象点P(T)(x(T)、y(T)、z(T)、α(T)、β(T)、γ(T))として定義する第2の動作と、
前記六次元座標系において、第1の補正対象点P(T)を内包する六次元単体を構成する7個の頂点となる、7個の第1の参考点P(n)を特定する第3の動作と、
誤差ΔV(n)のΔx(n)成分に基づいて、特定された7個の第1の参考点P(n)を、x軸、y軸、z軸、α軸、β軸、γ軸、およびΔx軸を備える七次元座標系における7個の第2の参考点P’(n)(x(n)、y(n)、z(n)、α(n)、β(n)、γ(n)、Δx(n))に座標変換する第4の動作と、
第1の補正対象点P(T)を、前記七次元座標系における第2の補正対象点P’(T)(x(T)、y(T)、z(T)、α(T)、β(T)、γ(T)、Δx(T))(Δx(T)は未知数)に座標変換する第5の動作と、
前記七次元座標系において、7個の第2の参考点P’(n)を含む超平面の式:B・x+B・y+B・z+B・α+B・β+B・γ+B・Δx=1(B〜Bは係数)を算出する第6の動作と、
超平面の式に第2の補正対象点P’(T)の座標値x(T)、y(T)、z(T)、α(T)、β(T)、γ(T)、Δx(T)を代入し、未知数である誤差成分Δx(T)を算出する第7の動作と、
第4〜第7の動作を、誤差成分Δxを誤差成分Δy、Δz、Δα、Δβ、Δγそれぞれに代えて実行することにより、未知数である誤差成分Δy(T)、Δz(T)、Δα(T)、Δβ(T)、Δγ(T)それぞれを算出する第8の動作と、を実行する制御システム。
【請求項8】
パラメータ補正手段の第4の動作が、
複数の第1の参考点P(n)それぞれを母点とする複数のボロノイ領域を作成する動作と、
作成したボロノイ領域に基づいて7個の頂点を備える複数のドロネー単体を作成する動作と、
第1の補正対象点P(T)を内包する1つのドロネー単体を特定する動作と、
特定されたドロネー単体を構成する7個の頂点である7個の第1の参考点P(n)を特定する動作と、を含む、請求項7に記載の制御システム。
【請求項9】
現実空間内の現実物体の形状と仮想空間内の仮想物体の形状とが整合するように、仮想物体の表面の法線ベクトルの方向およびその法線ベクトルの表面上位置を決定するパラメータx、y、z、α、β、γを補正する制御システムにおいて、
現実物体の表面のn(nは7以上の整数)個の法線ベクトルの方向/表面上位置V(n)={x(n)、y(n)、z(n)、α(n)、β(n)、γ(n)}を実測する実測手段と、
実測手段によって実測されたn個の法線ベクトルの方向/表面上位置V(n)に含まれる、理想の形状に対する現実空間内の誤差ΔV(n)={Δx(n)、Δy(n)、Δz(n)、Δα(n)、Δβ(n)、Δγ(n)}を算出する誤差算出手段と、
実測手段によって実測された現実物体の法線ベクトルの方向/表面上位置V(n)と現実空間内誤差算出手段によって算出された誤差ΔV(n)との対応関係に基づいて、理想の形状の仮想物体の表面の法線ベクトルの方向/表面上位置V(T)={x(T)、y(T)、z(T)、α(T)、β(T)、γ(T)}に対応する誤差ΔV(T)={Δx(T)、Δy(T)、Δz(T)、Δα(T)、Δβ(T)、Δγ(T)}を算出し、算出した誤差ΔV(T)に基づいて現実物体と仮想物体とが整合するようにパラメータを補正するパラメータ補正手段とを有し、
パラメータ補正手段が、
現実物体のn個の法線ベクトルの方向/表面上位置V(n)を、x軸、y軸、z軸、α軸、β軸、およびγ軸を備える六次元座標系におけるn個の第1の参考点P(n)(x(n)、y(n)、z(n)、α(n)、β(n)、γ(n))として定義する第1の動作と、
仮想物体の法線ベクトルの方向/表面上位置V(T)を、前記六次元座標系における第1の補正対象点P(T)(x(T)、y(T)、z(T)、α(T)、β(T)、γ(T))として定義する第2の動作と、
前記六次元座標系において、第1の補正対象点P(T)を内包する六次元単体を構成する7個の頂点となる、7個の第1の参考点P(n)を特定する第3の動作と、
誤差ΔV(n)のΔx(n)成分に基づいて、特定された7個の第1の参考点P(n)を、x軸、y軸、z軸、α軸、β軸、γ軸、およびΔx軸を備える七次元座標系における7個の第2の参考点P’(n)(x(n)、y(n)、z(n)、α(n)、β(n)、γ(n)、Δx(n))に座標変換する第4の動作と、
第1の補正対象点P(T)を、前記七次元座標系における第2の補正対象点P’(T)(x(T)、y(T)、z(T)、α(T)、β(T)、γ(T)、Δx(T))(Δx(T)は未知数)に座標変換する第5の動作と、
前記七次元座標系において、7個の第2の参考点P’(n)を含む超平面の式:B・x+B・y+B・z+B・α+B・β+B・γ+B・Δx=1(B〜Bは係数)を算出する第6の動作と、
超平面の式に第2の補正対象点P’(T)の座標値x(T)、y(T)、z(T)、α(T)、β(T)、γ(T)、Δx(T)を代入し、未知数である誤差成分Δx(T)を算出する第7の動作と、
第4の動作〜第7の動作を、誤差成分Δxを誤差成分Δy、Δz、Δα、Δβ、Δγそれぞれに代えて実行することにより、未知数である誤差成分Δy(T)、Δz(T)、Δα(T)、Δβ(T)、Δγ(T)それぞれを算出する第8の動作と、を実行する、制御システム。
【請求項10】
パラメータ補正手段の第4の動作が、
複数の第1の参考点P(n)それぞれを母点とする複数のボロノイ領域を作成する動作と、
作成したボロノイ領域に基づいて7個の頂点を備える複数のドロネー単体を作成する動作と、
第1の補正対象点P(T)を内包する1つのドロネー単体を特定する動作と、
特定されたドロネー単体を構成する7個の頂点である7個の第1の参考点P(n)を特定する動作と、を含む、請求項9に記載の制御システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御対象の状態を決定するパラメータを、制御対象が目標の状態となるように補正するパラメータ補正方法およびパラメータを用いる制御システムに関する。
【背景技術】
【0002】
従来より、制御対象が目標の状態となるように、制御対象の状態を決定するためのパラメータを補正することが行われている。例えば、制御対象の位置姿勢を決定する複数のパラメータを含む指令値が制御対象に与えられる場合、制御対象の実際の位置姿勢が目標の位置姿勢になるように指令値内のパラメータが補正される。
【0003】
特許文献1に記載にされた、直線軸であるX軸、Y軸、およびZ軸と、回転軸であるB軸およびC軸とを備える5軸加工機の場合、位置姿勢が制御される対象としてツールヘッドを有する。この5軸加工機の場合、ツールヘッドの位置に対応する、指令値に含まれる直線軸位置パラメータx、y、zが補正される。
【0004】
具体的には、空間を格子状に分割し、複数の格子点の位置それぞれを指令値として5軸加工機に与えたときに生じる誤差(誤差ベクトル)が予め求められている。指令値が与えられると、その指令値に含まれる直線軸位置パラメータが示す位置を内包する格子ブロックが特定される。この特定した格子ブロックの8個の頂点である格子点の誤差ベクトルに基づいて、指令値の直線軸位置パラメータが補正される。これにより、ツールヘッドが目標の位置に制御される。
【0005】
また、例えば、MR(Mixed Reality:複合現実感)提供システムがある。MR提供システムでは、現実空間内の現実物体と整合するように、仮想空間内の仮想物体(3Dモデル)の位置姿勢が制御される。
【0006】
特許文献2に記載されたMR提供システムの場合、現実物体の位置姿勢と3Dモデルの位置姿勢とを整合させるために、3Dモデルの位置姿勢を決定するパラメータが補正される。
【0007】
具体的には、カメラによって撮影された現実物体と3Dモデルとをディスプレイに表示し、3Dモデル上の複数の所定の位置に対応する現実物体上の複数の位置を、ユーザーにスタイラスを介して指摘させる。このスタイラスを介するユーザーの指摘に基づいて、3Dモデルの位置姿勢パラメータを現実物体の位置姿勢に整合するように補正する。これにより、仮想空間内において、3Dモデルが現実物体の位置姿勢に対応する目標の位置姿勢に制御される。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2009−151756号公報
【特許文献2】特開2006−48639号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、特許文献1に記載された5軸加工機の場合、ツールヘッドの姿勢に対応する、指令値の回転軸位置パラメータが補正されていない。そのため、ツールヘッドの実際の位置姿勢が目標の位置姿勢と異なる可能性がある。
【0010】
また、特許文献2の場合、現実物体と3Dモデルとの間の形状誤差を考慮していない。そのため、3Dモデルの形状が、目標形状(現実物体の形状)と異なり、ユーザーに適切に複合現実感を提供できない可能性がある。
【0011】
そこで、本発明は、例えば位置、姿勢、形状などの制御対象の状態がパラメータによって決定される制御対象において、パラメータを適切に補正することにより、制御対象の状態を高精度に目標の状態にすることを課題とする。
【課題を解決するための手段】
【0012】
上述の課題を解決するために、本発明の第1の態様によれば、
6個のパラメータx、y、z、α、β、γによって位置姿勢が決定される制御対象があって、制御対象が目標の位置姿勢となるようにパラメータを補正するパラメータ補正方法において、
制御対象のn(nは7以上の整数)個の実際の位置姿勢V(n)={x(n)、y(n)、z(n)、α(n)、β(n)、γ(n)}を実測する工程(1)と、
工程(1)で取得されたn個の実際の位置姿勢V(n)に含まれる誤差ΔV(n)={Δx(n)、Δy(n)、Δz(n)、Δα(n)、Δβ(n)、Δγ(n)}を算出する工程(2)と、
各パラメータの目標値を含む目標の位置姿勢V(T)={x(T)、y(T)、z(T)、α(T)、β(T)、γ(T)}を取得する工程(3)と、
工程(1)で実測された実際の位置姿勢V(n)と工程(2)で算出された誤差ΔV(n)との対応関係に基づいて、工程(3)で取得された目標の位置姿勢V(T)に対応する誤差ΔV(T)={Δx(T)、Δy(T)、Δz(T)、Δα(T)、Δβ(T)、Δγ(T)}を算出する工程(4)と、
工程(4)で算出された誤差ΔV(T)に基づいて、制御対象の実際の位置姿勢が目標の位置姿勢V(T)となるようにパラメータを補正する工程(5)と、を含み、
工程(4)が、
n個の実際の位置姿勢V(n)を、x軸、y軸、z軸、α軸、β軸、およびγ軸を備える六次元座標系におけるn個の第1の参考点P(n)(x(n)、y(n)、z(n)、α(n)、β(n)、γ(n))として定義する工程(4−1)と、
目標の位置姿勢V(T)を、前記六次元座標系における第1の補正対象点P(T)(x(T)、y(T)、z(T)、α(T)、β(T)、γ(T))として定義する工程(4−2)と、
前記六次元座標系において、第1の補正対象点P(T)を内包する六次元単体を構成する7個の頂点となる、7個の第1の参考点P(n)を特定する工程(4−3)と、
誤差ΔV(n)のΔx(n)成分に基づいて、特定された7個の第1の参考点P(n)を、x軸、y軸、z軸、α軸、β軸、γ軸、およびΔx軸を備える七次元座標系における7個の第2の参考点P’(n)(x(n)、y(n)、z(n)、α(n)、β(n)、γ(n)、Δx(n))に座標変換する工程(4−4)と、
第1の補正対象点P(T)を、前記七次元座標系における第2の補正対象点P’(T)(x(T)、y(T)、z(T)、α(T)、β(T)、γ(T)、Δx(T))(Δx(T)は未知数)に座標変換する工程(4−5)と、
前記七次元座標系において、7個の第2の参考点P’(n)を含む超平面の式:B・x+B・y+B・z+B・α+B・β+B・γ+B・Δx=1(B〜Bは係数)を算出する工程(4−6)と、
超平面の式に第2の補正対象点P’(T)の座標値x(T)、y(T)、z(T)、α(T)、β(T)、γ(T)、Δx(T)を代入し、未知数である誤差成分Δx(T)を算出する工程(4−7)と、
工程(4−4)〜(4−7)を、誤差成分Δxを誤差成分Δy、Δz、Δα、Δβ、Δγそれぞれに代えて実行することにより、未知数である誤差成分Δy(T)、Δz(T)、Δα(T)、Δβ(T)、Δγ(T)それぞれを算出する工程(4−8)と、を含む、、パラメータ補正方法が提供される。
【0013】
本発明の第2の態様によれば、
工程(4−3)が、
複数の第1の参考点P(n)それぞれを母点とする複数のボロノイ領域を作成する工程と、
作成したボロノイ領域に基づいて7個の頂点を備える複数のドロネー単体を作成する工程と、
第1の補正対象点P(T)を内包する1つのドロネー単体を特定する工程と、
特定されたドロネー単体を構成する7個の頂点である7個の第1の参考点P(n)を特定する工程と、を含む、第1の態様に記載のパラメータ補正方法が提供される。
【0014】
本発明の第3の態様によれば、
現実空間内の現実物体の形状と仮想空間内の仮想物体の形状とが整合するように、仮想物体の表面の法線ベクトルの方向およびその法線ベクトルの表面上位置を決定するパラメータx、y、z、α、β、γを補正するパラメータ補正方法において、
現実物体の表面のn(nは7以上の整数)個の法線ベクトルの方向/表面上位置V(n)={x(n)、y(n)、z(n)、α(n)、β(n)、γ(n)}を実測する工程(1)と、
工程(1)で取得されたn個の法線ベクトルの方向/表面上位置V(n)に含まれる、理想の形状に対する誤差ΔV(n)={Δx(n)、Δy(n)、Δz(n)、Δα(n)、Δβ(n)、Δγ(n)}を算出する工程(2)と、
理想の形状の仮想物体の表面の法線ベクトルの方向/表面上位置V(T)={x(T)、y(T)、z(T)、α(T)、β(T)、γ(T)}を取得する工程(3)と、
工程(1)で実測された現実物体の法線ベクトルの方向/表面上位置V(n)と工程(2)で算出された誤差ΔV(n)との対応関係に基づいて、工程(3)で取得された仮想物体の法線ベクトルの方向/表面上位置V(T)に対応する誤差ΔV(T)={Δx(T)、Δy(T)、Δz(T)、Δα(T)、Δβ(T)、Δγ(T)}を算出する工程(4)と、
工程(4)で算出された誤差ΔV(T)に基づいて、現実物体と仮想物体とが整合するようにパラメータを補正する工程(5)と、を含み、
工程(4)が、
現実物体のn個の法線ベクトルの方向/表面上位置V(n)を、x軸、y軸、z軸、α軸、β軸、およびγ軸を備える六次元座標系におけるn個の第1の参考点P(n)(x(n)、y(n)、z(n)、α(n)、β(n)、γ(n))として定義する工程(4−1)と、
仮想物体の法線ベクトルの方向/表面上位置V(T)を、前記六次元座標系における第1の補正対象点P(T)(x(T)、y(T)、z(T)、α(T)、β(T)、γ(T))として定義する工程(4−2)と、
前記六次元座標系において、第1の補正対象点P(T)を内包する六次元単体を構成する7個の頂点となる、7個の第1の参考点P(n)を特定する工程(4−3)と、
誤差ΔV(n)のΔx(n)成分に基づいて、特定された7個の第1の参考点P(n)を、x軸、y軸、z軸、α軸、β軸、γ軸、およびΔx軸を備える七次元座標系における7個の第2の参考点P’(n)(x(n)、y(n)、z(n)、α(n)、β(n)、γ(n)、Δx(n))に座標変換する工程(4−4)と、
第1の補正対象点P(T)を、前記七次元座標系における第2の補正対象点P’(T)(x(T)、y(T)、z(T)、α(T)、β(T)、γ(T)、Δx(T))(Δx(T)は未知数)に座標変換する工程(4−5)と、
前記七次元座標系において、7個の第2の参考点P’(n)を含む超平面の式:B・x+B・y+B・z+B・α+B・β+B・γ+B・Δx=1(B〜Bは係数)を算出する工程(4−6)と、
超平面の式に第2の補正対象点P’(T)の座標値x(T)、y(T)、z(T)、α(T)、β(T)、γ(T)、Δx(T)を代入し、未知数である誤差成分Δx(T)を算出する工程(4−7)と、
工程(4−4)〜(4−7)を、誤差成分Δxを誤差成分Δy、Δz、Δα、Δβ、Δγそれぞれに代えて実行することにより、未知数である誤差成分Δy(T)、Δz(T)、Δα(T)、Δβ(T)、Δγ(T)それぞれを算出する工程(4−8)と、を含む、パラメータ補正方法が提供される。
【0015】
本発明の第4の態様によれば、
工程(4−3)が、
複数の第1の参考点P(n)それぞれを母点とする複数のボロノイ領域を作成する工程と、
作成したボロノイ領域に基づいて7個の頂点を備える複数のドロネー単体を作成する工程と、
第1の補正対象点P(T)を内包する1つのドロネー単体を特定する工程と、
特定されたドロネー単体を構成する7個の頂点である7個の第1の参考点P(n)を特定する工程と、を含む、第3の態様に記載のパラメータ補正方法が提供される。
【0016】
本発明の第5の態様によれば、
m(mは2以上の整数)個のパラメータc1、c2、・・・、cmによって状態が決定される制御対象があって、制御対象が目標の状態となるようにパラメータを補正するパラメータ補正方法において、
制御対象のn(nはm+1以上の整数)個の実際の状態V(n)={c1(n)、c2(n)、・・・、cm(n)}を実測する工程(1)と、
工程(1)で取得されたn個の実際の状態V(n)に含まれる誤差ΔV(n)={Δc1(n)、Δc2(n)、・・・、Δcm(n)}を算出する工程(2)と、
各パラメータの目標値を含む目標の状態V(T)={c1(T)、c2(T)、・・・、cm(T)}を取得する工程(3)と、
工程(1)で実測された実際の状態V(n)と工程(2)で算出された誤差ΔV(n)との対応関係に基づいて、工程(3)で取得された目標の状態(T)に対応する誤差ΔV(T)={Δc1(T)、Δc2(T)、・・・、Δcm(T)}を算出する工程(4)と、
工程(4)で算出された誤差ΔV(T)に基づいて、制御対象の実際の状態が目標の状態V(T)となるようにパラメータを補正する工程(5)と、を含み、
工程(4)が、
n個の実際の状態V(n)を、c1軸、c2軸、・・・、およびcm軸を備えるm次元座標系におけるn個の第1の参考点P(n)(c1(n)、c2(n)、・・・、cm(n))として定義する工程(4−1)と、
目標の状態V(T)を、前記m次元座標系における第1の補正対象点P(T)(c1(T)、c2(T)、・・・、cm(T))として定義する工程(4−2)と、
前記m次元座標系において、第1の補正対象点P(T)を内包するm次元単体の(m+1)個の頂点となる、(m+1)個の第1の参考点P(n)を特定する工程(4−3)と、
誤差ΔV(n)のΔc1(n)成分に基づいて、工程(4−3)で特定された(m+1)個の第1の参考点P(n)を、c1軸、c2軸、・・・、cm軸、およびΔc1軸を備える(m+1)次元座標系における(m+1)個の第2の参考点P’(n)(c1(n)、c2(n)、・・・、cm(n)、Δc1(n))に座標変換する工程(4−4)と、
第1の補正対象点P(T)を、前記(m+1)次元座標系における第2の補正対象点P’(T) (c1(T)、c2(T)、・・・、cm(T)、Δc1(T)(Δc1(T)は未知数)に座標変換する工程(4−5)と、
前記(m+1)次元座標系において、(m+1)個の第2の参考点P’(n)を含む超平面の式:B・c1+B・c2+・・・・+B・cm+Bm+1・Δc1=1(B〜Bm+1は定数)を算出する工程(4−6)と、
超平面の式に第2の補正対象点P’(T)の座標値c1(T)、c2(T)、・・・、cm(T)、Δc1(T)を代入し、未知数である誤差成分Δc1(T)を算出する工程(4−7)と、
工程(4−4)〜(4−7)を、誤差成分Δc1を誤差成分Δc2、・・・、Δcmそれぞれに代えて実行することにより、未知数である誤差成分Δc2(T)、・・・、Δcm(T)それぞれを算出する工程と、を含む、パラメータ補正方法が提供される。
【0017】
本発明の第6の態様によれば、
工程(4−3)が、
複数の第1の参考点P(n)それぞれを母点とする複数のボロノイ領域を作成する工程と、
作成したボロノイ領域に基づいて(m+1)個の頂点を備える複数のドロネー単体を作成する工程と、
第1の補正対象点P(T)を内包する1つのドロネー単体を特定する工程と、
特定されたドロネー単体を構成する(m+1)個の頂点である(m+1)個の第1の参考点P(n)を特定する工程と、を含む、第5の態様に記載のパラメータ補正方法が提供される。
【0018】
本発明の第7の態様によれば、
6個のパラメータx、y、z、α、β、γによって位置姿勢が決定される制御対象を有し、制御対象が目標の位置姿勢となるようにパラメータを補正する制御対象の制御システムにおいて、
予め実測された制御対象のn(nは7以上の整数)個の実際の位置姿勢V(n)={x(n)、y(n)、z(n)、α(n)、β(n)、γ(n)}と、n個の実際の位置姿勢V(n)に含まれる誤差ΔV(n)=(Δx(n)、Δy(n)、Δz(n)、Δα(n)、Δβ(n)、Δγ(n))とを保持する記憶手段と、
各パラメータの目標値を含む目標の位置姿勢V(T)={x(T)、y(T)、z(T)、α(T)、β(T)、γ(T))を指令値として取得する指令値取得手段と、
記憶手段に記憶されている、実際の位置姿勢V(n)と誤差ΔV(n)との対応関係に基づいて、指令値取得手段が取得した目標の位置姿勢V(T)に対応する誤差ΔV(T)={Δx(T)、Δy(T)、Δz(T)、Δα(T)、Δβ(T)、Δγ(T)}を算出し、
算出した誤差ΔV(T)に基づいて、制御対象の実際の位置姿勢が目標の位置姿勢V(T)となるように指令値内のパラメータを補正するパラメータ補正手段とを有し、
パラメータ補正手段が、
n個の実際の位置姿勢V(n)を、x軸、y軸、z軸、α軸、β軸、およびγ軸を備える六次元座標系におけるn個の第1の参考点P(n)(x(n)、y(n)、z(n)、α(n)、β(n)、γ(n))として定義する第1の動作と、
目標の位置姿勢V(T)を、前記六次元座標系における第1の補正対象点P(T)(x(T)、y(T)、z(T)、α(T)、β(T)、γ(T))として定義する第2の動作と、
前記六次元座標系において、第1の補正対象点P(T)を内包する六次元単体を構成する7個の頂点となる、7個の第1の参考点P(n)を特定する第3の動作と、
誤差ΔV(n)のΔx(n)成分に基づいて、特定された7個の第1の参考点P(n)を、x軸、y軸、z軸、α軸、β軸、γ軸、およびΔx軸を備える七次元座標系における7個の第2の参考点P’(n)(x(n)、y(n)、z(n)、α(n)、β(n)、γ(n)、Δx(n))に座標変換する第4の動作と、
第1の補正対象点P(T)を、前記七次元座標系における第2の補正対象点P’(T)(x(T)、y(T)、z(T)、α(T)、β(T)、γ(T)、Δx(T))(Δx(T)は未知数)に座標変換する第5の動作と、
前記七次元座標系において、7個の第2の参考点P’(n)を含む超平面の式:B・x+B・y+B・z+B・α+B・β+B・γ+B・Δx=1(B〜Bは係数)を算出する第6の動作と、
超平面の式に第2の補正対象点P’(T)の座標値x(T)、y(T)、z(T)、α(T)、β(T)、γ(T)、Δx(T)を代入し、未知数である誤差成分Δx(T)を算出する第7の動作と、
第4〜第7の動作を、誤差成分Δxを誤差成分Δy、Δz、Δα、Δβ、Δγそれぞれに代えて実行することにより、未知数である誤差成分Δy(T)、Δz(T)、Δα(T)、Δβ(T)、Δγ(T)それぞれを算出する第8の動作と、を実行する、制御システムが提供される。
【0019】
本発明の第8の態様によれば、
パラメータ補正手段の第4の動作が、
複数の第1の参考点P(n)それぞれを母点とする複数のボロノイ領域を作成する動作と、
作成したボロノイ領域に基づいて7個の頂点を備える複数のドロネー単体を作成する動作と、
第1の補正対象点P(T)を内包する1つのドロネー単体を特定する動作と、
特定されたドロネー単体を構成する7個の頂点である7個の第1の参考点P(n)を特定する動作と、を含む、第7の態様に記載の制御システムが提供される。
【0020】
本発明の第9の態様によれば、
現実空間内の現実物体の形状と仮想空間内の仮想物体の形状とが整合するように、仮想物体の表面の法線ベクトルの方向およびその法線ベクトルの表面上位置を決定するパラメータx、y、z、α、β、γを補正する制御システムにおいて、
現実物体の表面のn(nは7以上の整数)個の法線ベクトルの方向/表面上位置V(n)={x(n)、y(n)、z(n)、α(n)、β(n)、γ(n)}を実測する実測手段と、
実測手段によって実測されたn個の法線ベクトルの方向/表面上位置V(n)に含まれる、理想の形状に対する現実空間内の誤差ΔV(n)={Δx(n)、Δy(n)、Δz(n)、Δα(n)、Δβ(n)、Δγ(n)}を算出する誤差算出手段と、
実測手段によって実測された現実物体の法線ベクトルの方向/表面上位置V(n)と現実空間内誤差算出手段によって算出された誤差ΔV(n)との対応関係に基づいて、理想の形状の仮想物体の表面の法線ベクトルの方向/表面上位置V(T)={x(T)、y(T)、z(T)、α(T)、β(T)、γ(T)}に対応する誤差ΔV(T)={Δx(T)、Δy(T)、Δz(T)、Δα(T)、Δβ(T)、Δγ(T)}を算出し、算出した誤差ΔV(T)に基づいて現実物体と仮想物体とが整合するようにパラメータを補正するパラメータ補正手段とを有し、
パラメータ補正手段が、
現実物体のn個の法線ベクトルの方向/表面上位置V(n)を、x軸、y軸、z軸、α軸、β軸、およびγ軸を備える六次元座標系におけるn個の第1の参考点P(n)(x(n)、y(n)、z(n)、α(n)、β(n)、γ(n))として定義する第1の動作と、
仮想物体の法線ベクトルの方向/表面上位置V(T)を、前記六次元座標系における第1の補正対象点P(T)(x(T)、y(T)、z(T)、α(T)、β(T)、γ(T))として定義する第2の動作と、
前記六次元座標系において、第1の補正対象点P(T)を内包する六次元単体を構成する7個の頂点となる、7個の第1の参考点P(n)を特定する第3の動作と、
誤差ΔV(n)のΔx(n)成分に基づいて、特定された7個の第1の参考点P(n)を、x軸、y軸、z軸、α軸、β軸、γ軸、およびΔx軸を備える七次元座標系における7個の第2の参考点P’(n)(x(n)、y(n)、z(n)、α(n)、β(n)、γ(n)、Δx(n))に座標変換する第4の動作と、
第1の補正対象点P(T)を、前記七次元座標系における第2の補正対象点P’(T)(x(T)、y(T)、z(T)、α(T)、β(T)、γ(T)、Δx(T))(Δx(T)は未知数)に座標変換する第5の動作と、
前記七次元座標系において、7個の第2の参考点P’(n)を含む超平面の式:B・x+B・y+B・z+B・α+B・β+B・γ+B・Δx=1(B〜Bは係数)を算出する第6の動作と、
超平面の式に第2の補正対象点P’(T)の座標値x(T)、y(T)、z(T)、α(T)、β(T)、γ(T)、Δx(T)を代入し、未知数である誤差成分Δx(T)を算出する第7の動作と、
第4の動作〜第7の動作を、誤差成分Δxを誤差成分Δy、Δz、Δα、Δβ、Δγそれぞれに代えて実行することにより、未知数である誤差成分Δy(T)、Δz(T)、Δα(T)、Δβ(T)、Δγ(T)それぞれを算出する第8の動作と、を実行する、制御システムが提供される。
【0021】
本発明の第10の態様によれば、
パラメータ補正手段の第4の動作が、
複数の第1の参考点P(n)それぞれを母点とする複数のボロノイ領域を作成する動作と、
作成したボロノイ領域に基づいて7個の頂点を備える複数のドロネー単体を作成する動作と、
第1の補正対象点P(T)を内包する1つのドロネー単体を特定する動作と、
特定されたドロネー単体を構成する7個の頂点である7個の第1の参考点P(n)を特定する動作と、を含む、第9の態様に記載の制御システムが提供される。
【発明の効果】
【0022】
本発明によれば、例えば位置、姿勢、形状などの制御対象の状態がパラメータによって決定される制御対象において、パラメータを適切に補正することにより、制御対象の状態を高精度に目標の状態にすることができる。
【図面の簡単な説明】
【0023】
図1】本発明の実施の形態1に係るロボットシステムの構成を概略的に示す図
図2】ロボットシステムの制御系を示す図
図3】記憶部に保持されている実際位置姿勢に対応する誤差を示すテーブル図
図4】指令値の補正の流れを示すフローチャート図
図5】簡易モデルにおける、参考点を示す図
図6】簡易モデルにおける、参考点を頂点とする二次元単体を示す図
図7】簡易モデルにおける、二次元単体が補正対象点を包含しているか否かを判定する方法を説明するための図
図8】簡易モデルにおける、参考点を母点とするボロノイ図
図9】簡易モデルにおける、ドロネー図
図10】簡易モデルにおける、誤差平面を示す図
図11】本発明の実施の形態2に係るMRシステムの構成を概略的に示す図
図12】MRシステムの制御系を示す図
図13】仮想物体の法線ベクトルの位置姿勢の補正の流れを示すフローチャート図
【発明を実施するための形態】
【0024】
(実施の形態1)
本実施の形態1は、複数のパラメータによってロボットの位置姿勢を決定するロボットの制御システムに関する。具体例を挙げると、6個のパラメータx、y、z、α、β、γによって位置姿勢が決定されるロボットに、各パラメータの目標値からなる目標位置姿勢V(T)={x(T)、y(T)、z(T)、α(T)、β(T)、γ(T)}が指令値として与えられたとき、ロボットの実際の位置姿勢が、目標位置姿勢V(T)とは異なる、すなわち対応する誤差ΔV(T)={Δx(T)、Δy(T)、Δz(T)、Δα(T)、Δβ(T)、Δγ(T)}を含む姿勢{x(T)+Δx(T)、y(T)+Δy(T)、z(T)+Δz(T)、α(T)+Δα(T)、β(T)+Δβ(T)、γ(T)+Δγ(T)}となるような制御システムに関する。
【0025】
図1は、本発明の実施の形態1に係るロボットシステムの構成を概略的に示している。また、図2は、ロボットシステムの制御系を示している。
【0026】
図1および図2に示すように、ロボットシステム10は、制御対象であるロボット12を有する。ロボット12は、複数の関節12a〜12fを備える多関節ロボットであって、その先端にフランジ12gを備える。このフランジ12gに、ツール(例えば、溶接ガン)14が取り付けられている。なお、ツール14が取り付けられているフランジ12gには、Xm軸、Ym軸、およびZm軸を備えるメカニカルインターフェース座標系ΣMが定義されている。また、ロボット12は、複数の関節12a〜12fを駆動する複数のモータ16a〜16fを備える。
【0027】
また、ロボットシステム10は、ロボット12を制御する制御装置50を有する。制御装置50は、具体的には、複数のモータ16a〜16fを制御することによってロボット12の位置姿勢を変更する。これにより、ツール14の位置姿勢を所望の位置姿勢に変更する。
【0028】
制御装置50は、ロボット12の目標の位置姿勢を指令値として取得する指令値取得部52と、ロボット12の実際の位置姿勢が目標の位置姿勢になるように指令値を補正する指令値補正部54と、指令値補正部54が補正した指令値に基づいて複数のモータ16a〜16fを制御するモータ制御部56と、指令値の補正に必要なデータを保持する記憶部58とを有する。
【0029】
ロボット12の位置姿勢は、例えば、X軸、Y軸、およびZ軸を備える直交座標系であるベース座標系ΣBにおける位置姿勢で定義される。具体的には、ロボット12の位置姿勢は、ベース座標系ΣBに基づくパラメータx、y、z、α、β、γによって定義される。パラメータx、y、zは、ベース座標系ΣBにおけるツール14の先端14aの位置(座標)を示す。パラメータαはベース座標系ΣBのX軸に対するメカニカルインターフェース座標系ΣMのZm軸の角度を示し、パラメータβはY軸に対するZm軸の回転角度、パラメータγはZ軸に対するZm軸の回転角度を示す。すなわち、パラメータα、β、γは、ベース座標系ΣBにおける、メカニカルインターフェース座標系ΣMの姿勢を示している。
【0030】
指令値取得部52は、指令値Vcとして与えられたロボット12の目標の位置姿勢V(T)={x(T)、y(T)、z(T)、α(T)、β(T)、γ(T)}を取得するように構成されている。なお、x(T)、y(T)、z(T)、α(T)、β(T)、γ(T)は、パラメータx、y、z、α、β、γの目標値である。例えば、ユーザーからティーチングペンダント(図示せず)を介して目標の位置姿勢V(T)を取得する。また、例えば、外部で作成されたプログラムに含まれるロボット12の位置姿勢を、目標の位置姿勢V(T)として取得する。
【0031】
指令値補正部54は、指令値取得部52が取得した指令値Vを、ロボット12の実際の位置姿勢が目標の位置姿勢V(T)となるように補正する。簡単に説明すると、目標の位置姿勢V(T)をそのまま指令値Vとしてロボット12(モータ制御部56)に与えた場合、ロボット12に生じるたわみなどの要因によってロボット12の実際の位置姿勢は目標の位置姿勢V(T)と異なる。すなわち、ロボット12の位置姿勢に誤差が生じる。そこで、指令値補正部54は、誤差を考慮して、ロボット12の実際の位置姿勢が目標の位置姿勢V(T)となるように指令値Vを補正するように構成されている。なお、この指令値補正部54の指令値補正方法については後述する。
【0032】
モータ制御部56は、補正後の指令値V’に基づいて複数のモータ16a〜16fを制御する。これにより、複数の関節12a〜12fが駆動されることにより、また誤差が生じることにより、結果として、ロボット12の実際の位置姿勢が目標の位置姿勢V(T)に制御される。
【0033】
ここからは、指令値Vを、ロボット12の実際の位置姿勢が目標の位置姿勢V(T)となるような指令値Vc’に補正する方法について説明する。
【0034】
上述したように、指令値補正部54は、ロボット12の実際の位置姿勢が目標の位置姿勢V(T)となるように指令値Vを補正する。このとき、記憶部58に保持されているデータを参考する。
【0035】
記憶部58には、ロボット12の実際の位置姿勢が目標の位置姿勢V(T)となるように指令値Vを補正する際に参考する、予め取得されたデータが保持されている。
【0036】
具体的には、図3のテーブルに示すように、実測されたn(nは7以上の整数)個のロボット12の実際の位置姿勢V(n)={x(n)、y(n)、z(n)、α(n)、β(n)、γ(n)}と、この実測された位置姿勢V(n)に含まれる誤差ΔV(n)={Δx(n)、Δy(n)、Δz(n)、Δα(n)、Δβ(n)、Δγ(n)}とが、参考用のデータとして予め保持されている。
【0037】
なお、x(n)、y(n)、z(n)、α(n)、β(n)、γ(n)は、n番目の実際の位置姿勢V(n)における、パラメータx、y、z、α、β、γの実値である。また、Δx(n)、Δy(n)、Δz(n)、Δα(n)、Δβ(n)、Δγ(n)は、n番目の実際の位置姿勢)V(n)における、x(n)、y(n)、z(n)、α(n)、β(n)、γ(n)に含まれる誤差である。
【0038】
ロボット12のn個の実際の位置姿勢V(n)および対応する誤差ΔV(n)は、例えば、以下のようにして取得される。
【0039】
まず、ロボット12を異なる複数の位置姿勢にする複数の指令値V(n)を生成する。次に、各指令値V(n)に基づいてロボット12を制御し、制御後のロボット12の実際の位置姿勢V(n)を、例えば三次元計測機などによって実測し、パラメータx(n)、y(n)、z(n)、α(n)、β(n)、γ(n)を求める。そして、指令値V(n)と実際の位置姿勢V(n)との間の誤差ΔV(n)を算出する。なお、n個の実際の位置姿勢V(n)は、ユーザーによって任意に決定される。
【0040】
指令値補正部54は、記憶部58に保持されている実測されたn個の実際の位置姿勢V(n)と対応する誤差ΔV(n)とを参考し、すなわちこれらの対応関係に基づいて、目標の位置姿勢V(T)に対応する誤差ΔV(T)={Δx(T)、Δy(T)、Δz(T)、Δα(T)、Δβ(T)、Δγ(T)}を算出するように構成されている(詳細は後述する)。言い換えると、目標の位置姿勢V(T)が実際の位置姿勢であるときの誤差ΔV(T)を算出する。
【0041】
そして、指令値補正部54は、算出した誤差ΔV(T)に基づいて指令値Vcを補正するように構成されている。具体的には、目標の位置姿勢V(T)から誤差ΔV(T)を減算することにより、補正後の指令値V’={x(T)−Δx(T)、y(T)−Δy(T)、z(T)−Δz(T)、α(T)−Δα(T)、β(T)−Δβ(T)、γ(T)−Δγ(T)}を算出する。
【0042】
ここからは、実測された実際の位置姿勢V(n)、その対応する誤差ΔV(n)、および目標の位置姿勢V(T)に基づいて、誤差ΔV(T)を算出する方法について、指令値Vの補正の流れを示す図4のフローチャートを参照しながら具体的に説明する。
【0043】
まず、図4に示すように、ステップS100において、指令値補正部54は、記憶部58に保持されているn個の実際の位置姿勢V(n)={x(n)、y(n)、z(n)、α(n)、β(n)、γ(n)}を、六次元座標系における点(以下、「参考点」と称する)P(n)に変換する。具体的には、x軸、y軸、z軸、α軸、β軸、およびγ軸を備えるx−y−z−α−β−γ座標系(六次元座標系)における参考点P(n)(x(n)、y(n)、z(n)、α(n)、β(n)、γ(n))として定義する。すなわち、実際の位置姿勢V(n)の6個のパラメータを、六次元座標系における参考点P(n)の各座標値とみなす。
【0044】
理解を容易にするために、実際の位置姿勢V(n)が2個のパラメータx、yで決定される簡易モデルを用いて説明する。簡易モデルにおいて、n個の実際の位置姿勢V(n)={x(n)、y(n)}は、図5に示すように、x軸およびy軸を備えるx−y座標系(二次元座標系)における参考点P(n)(x(n)、y(n))として定義される。
【0045】
次に、S110において、指令値補正部54は、目標の位置姿勢V(T)={x(T)、y(T)、z(T)、α(T)、β(T)、γ(T)}を、六次元座標系における点(以下、「補正対象点」と称する)P(T)として定義する。
【0046】
簡易モデルの場合、図5に示すように、目標の位置姿勢V(T)={x(T)、y(T)}は、二次元座標系における補正対象点P(T)(x(T)、y(T))として定義する。
【0047】
なお、補足すると、厳密には、このステップS100およびS110において、指令値補正部54は、動作していない(演算処理を実行していない)。理解を容易にするために、ステップS100およびS110を設けている。
【0048】
続いて、ステップS120において、指令値補正部54は、補正対象点P(T)を内包する最小の六次元単体を構成する7個の頂点となる、7個の参考点P(n)を特定する。このことについて、簡易モデルを参照しながら説明する。
【0049】
簡易モデルの場合、すなわちx−y座標系の場合、図6に示すように、二次元単体は3個の頂点(参考点)から構成される三角形である。図6に示すように、5個の参考点P(1)〜P(5)が存在する場合、二次元単体は、=10個存在する。10個の二次元単体の中、補正対象点P(T)を包含する最小の二次元単体は、3個の参考点P(2)、P(3)、P(4)から構成される二次元単体である。
【0050】
3個の参考点P(2)、P(3)、P(4)から構成される二次元単体が補正対象点P(T)を包含しているか否かは、二次元単体の重心Gに基づいて判断することができる。具体的には、図7に示すように、まず、3個の参考点P(2)、P(3)、P(4)から構成される二次元単体の重心Gを求める。
【0051】
次に、3個の参考点P(2)、P(3)、P(4)の中の2個の参考点をそれぞれ含む3個の超平面R1、R2、R3を求める。なお、図7に示すように、x−y座標系の場合、3個の超平面R1、R2、R3は3本の直線である。
【0052】
この求めた3個の超平面(直線)R1、R2、R3と、重心Gと、補正対象点P(T)との位置関係に基づいて、3個の参考点P(2)、P(3)、P(4)から構成される二次元単体が補正対象点P(T)を包含しているか否かを判定することができる。すなわち、超平面R1によって分割形成された2つの空間のいずれか一方に重心Gと補正対象点P(T)とが存在し、且つ、超平面R2によって分割形成された2つの空間のいずれか一方に重心Gと補正対象点P(T)とが存在し、且つ、超平面R3によって分割形成された2つの空間のいずれか一方に重心Gと補正対象点P(T)とが存在すれば、補正対象点P(T)は3個の参考点P(2)、P(3)、P(4)から構成される二次元単体に包含されている。
【0053】
六次元単体の場合、例えば、7個の参考点P(1)〜P(7)から構成される六次元単体の重心Gは、数式1の式で算出することができる。
【数1】
【0054】
また、7個の参考点P(1)〜(7)の中の6個の参考点をそれぞれ含む7個の超平面の式R1〜R7それぞれは、数式2の式の形で表現される。
【数2】
【0055】
〜Aは係数である。超平面の式R1〜R7それぞれの係数A〜Aは、対応する6個の参考点の座標値それぞれを超平面の式に代入して6個の式から構成される連立方程式を作成し、その連立方程式を解くことによって算出することができる。
【0056】
重心Gと、7個の超平面の式R1〜R7と、補正対象点P(T)とに基づいて、図7を用いて説明した簡易モデルに対する方法と同等の方法で、補正対象点P(T)を内包する最小の六次元単体を構成する7個の頂点となる、7個の参考点P(n)を特定することができる。
【0057】
なお、n個の参考点P(n)から、補正対象点P(T)を内包する最小の六次元単体を構成する7個の参考点P(n)を特定するにあたり、ドロネー(Delaunay)単体分割を用いてもよい。
【0058】
x−y−z−α−β−γ座標系(六次元座標系)において、例えば、参考点P(n)が100個存在する場合(n=100の場合)、7個の参考点P(n)の組み合わせは、約160億(100)組存在する。したがって、補正対象点P(T)を内包する最小の六次元単体を構成する7個の参考点P(n)の組み合わせを特定するのに時間がかかる場合いがある。
【0059】
この対処として、まず、n個の参考点P(n)に基づいて複数のドロネー単体を作成する。次に、補正対象点P(T)を内包するドロネー単体を特定する。そして、特定したドロネー単体を構成する7個の頂点である7個の参考点P(n)を、補正対象点P(T)を内包する最小の六次元単体を構成する7個の参考点P(n)として特定する。
【0060】
ドロネー単体分割について、簡易モデルを用いて説明する。複数のドロネー単体を作成するにあたり、まず、n個の参考点P(n)を母点とする複数のボロノイ(Voronoi)領域を作成する。図5に示す複数の参考点P(1)〜P(5)のボロノイ領域F(1)〜F(5)を、図8に示す。ボロノイ領域の境界は、母点を結ぶ直線の二等分線で構成される。
【0061】
複数のボロノイ領域に基づいて、ドロネー単体を作成する。ドロネー単体は、隣接し合うボロノイ領域の母点を直線で結ぶことによって作成される。図8に示すボロノイ領域F(1)〜F(5)から、図9に示す3個のドロネー単体S(1)〜S(3)が作成される。図9に示すように、二次元座標系の場合、ドロネー単体は三角形である。
【0062】
x−y−z−α−β−γ座標系(六次元座標系)の場合、参考点P(n)が100個存在すれば(n=100の場合)、ドロネー単体は約24,000個存在する。すなわち、ドロネー単体分割を用いれば、7個の参考点P(n)の組み合わせが、約160億組から約24,000組に減少する。
【0063】
このようなドロネー単体分割を用いることにより、確認すべき7個の参考点P(n)の組み合わせ数が減少するため、補正対象点P(T)を内包する最小の六次元単体を短時間で特定することができる。その結果、7個の参考点P(n)を短時間で特定することができる。
【0064】
また、図6に示す簡易モデルにおいて補正対象点P(T)を内包する二次元単体(三角形)が複数存在するように、補正対象点P(T)を含む六次元単体が複数存在する可能性がある。この場合、複数の六次元単体の中から、最小の大きさの六次元単体を選択する必要がある。一方、ドロネー単体分割を用いる場合、補正対象点P(T)を内包するドロネー単体は一つしか存在し得ない。このことからも、ドロネー単体分割を用いれば、7個の参考点P(n)を短時間で特定することができるといえる。
【0065】
図4に戻り、ステップS130において、指令値補正部54は、ステップS120で特定した六次元座標系における7個の参考点P(n)を、x−y−z−α−β−γ−Δx座標系(七次元座標系)における参考点P’(n)(x(n)、y(n)、z(n)、α(n)、β(n)、γ(n)、Δx(n))に変換する。7個の参考点P(n)に対応する誤差成分Δx(n)は、上述したように、記憶部58に保持されている。
【0066】
ステップS140において、指令値補正部54は、補正対象点P(T)を、x−y−z−α−β−γ−Δx座標系における補正対象点P’(T)(x(T)、y(T)、z(T)、α(T)、β(T)、γ(T)、Δx(T))に変換する。なお、誤差成分Δx(T)は未知数である。
【0067】
ステップS150において、指令値補正部54は、x−y−z−α−β−γ−Δx座標系における、7個の参考点P’(n)を含む超平面(誤差平面)R(Δx)を算出する。誤差平面R(Δx)は、数式3の形で表現される。
【数3】
【0068】
〜Bは係数である。誤差平面R(Δx)の7個の係数B〜Bは、7個の参考点P’(n)の座標値それぞれを誤差平面R(Δx)の式に代入して7個の式を作成し、すなわち係数B〜Bが未知数の連立方程式を作成し、その連立方程式を解くことによって算出することができる。
【0069】
ステップS160において、指令値補正部54は、ステップS150で算出した誤差平面R(Δx)の式に補正対象点P’(T)の座標値を代入することにより、未知数である誤差Δx(T)を算出する。このことについて、簡易モデルを用いて説明する。
【0070】
図10は、x−y−Δx座標系を示し、また、超平面(誤差平面)R(Δx)を示している。参考点P’(2)〜P’(4)は、誤差平面R(Δx)に含まれている。一方、参考点P(2)〜P(4)は、x−y平面に含まれている。
【0071】
ロボット12の位置姿勢を決定するパラメータxの誤差成分Δxを線形近似して求めることとすると、補正対象点P’(T)も、参考点P’(2)〜P’(4)と同様に、誤差平面R(Δx)に含まれている。したがって、補正対象点P’(T)の座標値を誤差平面R(Δx)の式に代入すれば、未知数である誤差成分Δx(T)を求めることができる。
【0072】
ステップS170において、指令値補正部54は、誤差成分Δx(T)を算出した方法と同様に、未知数である誤差成分Δy(T)、Δz(T)、Δα(T)、Δβ(T)、Δγ(T)とを算出する。
【0073】
そして、指令値補正部54は、ステップS180において、ステップS160およびステップS170で算出した誤差成分Δx(T)、Δy(T)、Δz(T)、Δα(T)、Δβ(T)、Δγ(T)に基づいて、指令値Vcを補正する。すなわち、補正後の指令値V’={x(T)−Δx(T)、y(T)−Δy(T)、z(T)−Δz(T)、α(T)−Δα(T)、β(T)−Δβ(T)、γ(T)−Δγ(T))を算出する。
【0074】
本実施の形態1によれば、ロボット12の実際の位置姿勢が高精度に目標の位置姿勢になるように、指令値のパラメータx、y、z、α、β、γを適切に補正することができる。
【0075】
また、上記したように、指令値のパラメータを補正するときに参考とされるロボット12のn個の実際の位置姿勢V(n)をユーザーによって任意に決定することができるため、指令値のパラメータを高精度に補正することが可能である。
【0076】
例えば、指令値のパラメータを高精度に補正したい場合、ロボット12が目標の位置姿勢V(T)のときにツール14の先端14aが存在しうる位置近傍に、実際のツール14の先端14aが位置するようなn個の実際の位置姿勢V(n)を実測によって取得すればよい。なお、このとき、n個の実際の位置姿勢V(n)のときのツール14の先端14aの位置それぞれは、空間を格子状に分割して形成される格子点の位置のように、必ずしも規則性を備える必要はなく、不規則(ランダム)であってもよい。
【0077】
(実施の形態2)
本実施の形態2は、現実空間内の現実物体と仮想空間内の仮想物体とを整合させる複合現実感(MR:Mixed Reality)提供システムに関する。具体的には、現実空間内の現実物体の形状に合わせて、仮想空間内の仮想物体(以下、「3Dモデル」)を補正するものである。
【0078】
図11は、本実施の形態2に係るMR提供システムを概略的に示している。図12は、MR提供システムの制御系を示している。
【0079】
本実施の形態2に係るMRシステム210は、ヘッドマウントディスプレイ(HMD)212と、現実物体Wを含む現実空間の画像を撮影するカメラ214とを有する。また、3DモデルM(データ)を保持する3Dモデル記憶部216、現実物体Wを含む現実空間の画像と3DモデルMを含む仮想空間の画像とを重ねてHMD212に出力する画像処理部218、および3DモデルMを補正する3Dモデル補正部220を備える処理装置222を有する。さらに、現実物体Wの形状を実測する三次元測定機224を有する。
【0080】
HMD212は、ユーザーの頭部に装着されるディスプレイであって、視覚に関してユーザーに複合現実感を与えるデバイスである。
【0081】
カメラ214は、現実物体Wを含む現実空間を撮影するためのものであって、例えばHMD212に設けられている。なお、カメラ214は、省略することが可能である。
【0082】
画像処理部218は、図11のHMD212の表示画面212aに示すように、3Dモデル記憶部216に保持されている3Dモデルデータと、カメラ214が撮影した現実空間の画像とを用いて、現実空間に3DモデルMが存在する画像を形成するように構成されている。具体的には、現実空間の現実物体Wに3Dモデルを重ねた画像を形成する。
【0083】
3Dモデル補正部220は、3DモデルMの形状を、現実物体Wの形状と整合するように補正するように構成されている。
【0084】
説明すると、現実物体Wは、CADデータ(理想の形状を示すデータ)に基づいて作製されている。一方、3Dモデルも、同一のCADデータに基づいて作成されている。しかしながら、現実物体Wの形状は、製造誤差や変形などを原因とする、CADデータの形状、すなわち理想の形状に対する誤差を含んでいる(理想の形状と異なる)。一方、3Dモデルの形状は、理想の形状を備えている。
【0085】
この3DモデルMと現実物体Wとの形状の違いにより、例えば、HMD212の表示画面212a上では3DモデルMにユーザーは触れているにもかかわらず、現実空間では現実物体に触れていないために、ユーザーに触感が与えられない可能性がある。これとは逆に、表示画面上では3DモデルMに触れていないにもかかわらず、触感がユーザーに与えられる可能性がある。
【0086】
この対処として、3Dモデル補正部220は、現実物体Wの形状と整合するように、3DモデルMの形状を補正する。具体的には、3次元測定機224によって実測された、現実物体Wのn(nは7以上の整数)個の法線ベクトルの方向およびその法線ベクトルの表面上位置(方向/表面上位置)V(n)={x(n)、y(n)、z(n)、α(n)、β(n)、γ(n)}に基づいて、3DモデルMの表面の複数の法線ベクトルの方向/表面上位置V(T)={x(n)、y(n)、z(n)、α(n)、β(n)、γ(n)}を補正する。なお、法線ベクトルの表面上位置は、法線ベクトルと表面との交点位置である。
【0087】
説明すると、現実物体Wの形状および3Dモデルの形状は、表面の複数の法線ベクトルに基づいて定義することが可能である。したがって、3DモデルMの形状を補正するにあたり、法線ベクトルを使用する。なお、パラメータx、y、z、α、β、γは、例えば、CADデータ上の物体に定義されている座標系に基づいている。
【0088】
三次元測定機224によって実測された現実物体Wのn個の法線ベクトルの方向/表面上位置V(n)を、3Dモデル補正部220は取得するように構成されている。また、3Dモデル補正部220は、取得した現実物体Wの法線ベクトルの方向/表面上位置V(n)に含まれる、理想の形状に対する誤差ΔV(n)={Δx(n)、Δy(n)、Δz(n)、Δα(n)、Δβ(n)、Δγ(n)}を算出するように構成されている。すなわち、現実物体Wの法線ベクトルと、CADデータ上の物体(理想の形状の物体)の法線ベクトルとの誤差を算出する。
【0089】
3Dモデル補正部220は、現実物体Wのn個の法線ベクトルの方向/表面上位置V(n)と対応する誤差ΔV(n)とを参考し、すなわちこれらの対応関係に基づいて、3Dモデルの表面の法線ベクトルの方向/表面上位置V(T)={x(T)、y(T)、z(T)、α(T)、β(T)、γ(T)}に対応する誤差ΔV(T)={Δx(T)、Δy(T)、Δz(T)、Δα(T)、Δβ(T)、Δγ(T)}を算出するように構成されている(詳細は後述する)。
【0090】
そして、3Dモデル補正部220は、算出した誤差ΔV(T)に基づいて3Dモデルの法線ベクトルの方向/表面上位置V(T)を補正するように構成されている。具体的には、3Dモデルの法線ベクトルの方向/表面上位置V(T)から誤差V(T)を減算して補正する。すなわち、補正後の3Dモデルの法線ベクトルの方向/表面上位置V’(T)は、{x(T)−Δx(T)、y(T)−Δy(T)、z(T)−Δz(T)、α(T)−Δα(T)、β(T)−Δβ(T)、γ(T)−Δγ(T)}となる。その結果、3DモデルMの形状と、現実物体Wの形状とが整合される。
【0091】
ここからは、現実物体Wの法線ベクトルの方向/表面上位置V(n)、その対応する誤差ΔV(n)、および3Dモデルの法線ベクトルの方向/表面上位置V(T)に基づいて、誤差ΔV(T)を算出する方法について、3Dモデルの法線ベクトルの方向および表面上位置の補正の流れを示す図13のフローチャートを参照しながら具体的に説明する。
【0092】
なお、注目すべきは、図4図13を比較すればわかるように、実施の形態1のロボットシステムにおける指令値の補正方法と、本実施の形態2のMR提供システムにおける3Dモデルの法線ベクトルの方向および表面上位置の補正方法とは、実質的に同一である。したがって、本実施の形態2のMR提供システムにおける3Dモデルの法線ベクトルの方向および表面上位置の補正方法を簡単に説明する。
【0093】
図13に示すように、ステップS300において、3Dモデル補正部220は、三次元測定機224の実測によって取得した現実物体のn個のベクトルの方向/表面上位置V(n)={x(n)、y(n)、z(n)、α(n)、β(n)、γ(n)}を、六次元座標系における点(以下、「参考点」と称する)P(n)に変換する。具体的には、x軸、y軸、z軸、α軸、β軸、およびγ軸を備えるx−y−z−α−β−γ座標系(六次元座標系)における参考点P(n)(x(n)、y(n)、z(n)、α(n)、β(n)、γ(n))として定義する。
【0094】
次に、ステップS310において、3Dモデル補正部220は、仮想物体(3Dモデル)Mの法線ベクトルの方向/表面上位置V(T)={x(T)、y(T)、z(T)、α(T)、β(T)、γ(T)}を、六次元座標系における点(以下、「補正対象点」と称する)P(T)として定義する。
【0095】
続いて、ステップS320において、3Dモデル補正部220は、補正対象点P(T)を内包する最小の六次元単体を構成する7個の頂点となる、7個の参考点P(n)を特定する。なお、7個の参考点P(n)を特定するにあたり、実施の形態1と同様に、ドロネー単体分割を用いてもよい。
【0096】
ステップS330において、3Dモデル補正部220は、ステップS320で特定した六次元座標系における7個の参考点P(n)を、x−y−z−α−β−γ−Δx座標系(七次元座標系)における参考点P’(n)(x(n)、y(n)、z(n)、α(n)、β(n)、γ(n)、Δx(n))に変換する。
【0097】
ステップS340において、3Dモデル補正部220は、補正対象点P(T)を、x−y−z−α−β−γ−Δx座標系における補正対象点P’(T)(x(T)、y(T)、z(T)、α(T)、β(T)、γ(T)、Δx(T))に変換する。なお、誤差成分Δx(T)は未知数である。
【0098】
ステップS350において、3Dモデル補正部220は、x−y−z−α−β−γ−Δx座標系における、7個の参考点P’(n)を含む超平面(誤差平面)R(Δx)を算出する。
【0099】
ステップS360において、3Dモデル補正部220は、ステップS350で算出した誤差平面R(Δx)の式に補正対象点P’(T)の座標値を代入することにより、未知数である誤差Δx(T)を算出する。
【0100】
ステップS370において、3Dモデル補正部220は、誤差成分Δx(T)を算出した方法と同様に、未知数である誤差成分Δy(T)、Δz(T)、Δα(T)、Δβ(T)、Δγ(T)とを算出する。
【0101】
ステップS380において、3Dモデル補正部220は、ステップS360およびステップS370で算出した誤差成分Δx(T)、Δy(T)、Δz(T)、Δα(T)、Δβ(T)、Δγ(T)に基づいて、3DモデルMの法線ベクトルの方向/表面上位置V(T)を補正する。
【0102】
なお、ここでは、説明を簡単にするために、3DモデルMの1つの法線ベクトルの方向および表面上位置を補正しているが、実際には、同様の方法で、複数の法線ベクトルの方向および表面上位置を補正する。これにより、3DモデルMの形状と、現実物体Wの形状とが整合される。
【0103】
本実施の形態2によれば、MR提供システム210において、仮想物体(3Dモデル)Mの形状が高精度に現実物体Wの形状と整合するように、3DモデルMの法線ベクトルの方向および表面上位置を決定するパラメータx、y、z、α、β、γを適切に補正することができる。
【0104】
以上、2つの実施の形態を挙げて本発明を説明したが、本発明はこれらの実施の形態に限定されない。
【0105】
例えば、実施の形態1の場合、ロボット12の位置姿勢はパラメータx、y、z、α、β、γで決定されているが、本発明は、これに限らない。例えば、ロボット12の複数の関節12a〜12fの関節角度θ1〜θ6によって位置姿勢を決定してもよい。
【0106】
また、本発明は、複数のパラメータで位置姿勢が決定される制御対象は、実施の形態1のロボット12に限らない。本発明は、位置姿勢が変更可能であって、且つ位置姿勢が複数のパラメータによって決定される制御対象であればよい。例えば、5軸加工機のツールヘッドなどが、制御対象として挙げられる。
【0107】
さらに、上述の実施の形態1および2の場合、パラメータは6個であるが、本発明はパラメータ数を限定しない。また、複数のパラメータで決定される制御対象の状態を、位置姿勢に限らない。すなわち、本発明は、広義には、m(mは2以上の整数)個のパラメータc1、c2、・・・、cmによって状態が決定される制御対象において、制御対象が目標の状態となるようにパラメータを補正する。
【0108】
また、本発明は、広義には、制御対象のn(nはm+1以上の整数)個の実際の状態V(n)={c1(n)、c2(n)、・・・、cm(n)}を実測する工程(1)と、工程(1)で取得されたn個の実際の状態V(n)に含まれる誤差ΔV(n)={Δc1(n)、Δc2(n)、・・・、Δcm(n)}を算出する工程(2)と、各パラメータの目標値を含む目標の状態V(T)={c1(T)、c2(T)、・・・、cm(T)}を取得する工程(3)と、工程(1)で実測された実際の状態V(n)と工程(2)で算出された誤差ΔV(n)との対応関係に基づいて、工程(3)で取得された目標の状態(T)に対応する誤差ΔV(T)={Δc1(T)、Δc2(T)、・・・、Δcm(T)}を算出する工程(4)と、工程(4)で算出された誤差ΔV(T)に基づいて、制御対象の実際の状態が目標の状態V(T)となるようにパラメータを補正する工程(5)と、を含んでいる。
【0109】
そして、工程(4)が、n個の実際の状態V(n)を、c1軸、c2軸、・・・、およびcm軸を備えるm次元座標系におけるn個の第1の参考点P(n)(c1(n)、c2(n)、・・・、cm(n))として定義する工程(4−1)と、目標の状態V(T)を、前記m次元座標系における第1の補正対象点P(T)(c1(T)、c2(T)、・・・、cm(T))として定義する工程(4−2)と、前記m次元座標系において、第1の補正対象点P(T)を内包するm次元単体の(m+1)個の頂点となる、(m+1)個の第1の参考点P(n)を特定する工程(4−3)と、誤差ΔV(n)のΔc1(n)成分に基づいて、工程(4−3)で特定された(m+1)個の第1の参考点P(n)を、c1軸、c2軸、・・・、cm軸、およびΔc1軸を備える(m+1)次元座標系における(m+1)個の第2の参考点P’(n)(c1(n)、c2(n)、・・・、cm(n)、Δc1(n))に座標変換する工程(4−4)と、第1の補正対象点P(T)を、前記(m+1)次元座標系における第2の補正対象点P’(T) (c1(T)、c2(T)、・・・、cm(T)、Δc1(T)(Δc1(T)は未知数)に座標変換する工程(4−5)と、前記(m+1)次元座標系において、(m+1)個の第2の参考点P’(n)を含む超平面の式:B・c1+B・c2+・・・・+B・cm+Bm+1・Δc1=1(B〜Bm+1は定数)を算出する工程(4−6)と、超平面の式に第2の補正対象点P’(T)の座標値c1(T)、c2(T)、・・・、cm(T)、Δc1(T)を代入し、未知数である誤差成分Δc1(T)を算出する工程(4−7)と、工程(4−4)〜(4−7)を、誤差成分Δc1を誤差成分Δc2、・・・Δcmそれぞれに代えて実行することにより、未知数である誤差成分Δc2(T)、・・・、Δcm(T)それぞれを算出する工程と、を含んでいる。
【産業上の利用可能性】
【0110】
本発明は複数のパラメータによって状態が決定される制御対象に対して適用可能であり、本発明を適用することによって制御対象は目標の状態に高精度に制御される。したがって、状態が複数の制御パラメータによって決定される制御対象を有する、装置、システムに対して本発明は有益である。
【符号の説明】
【0111】
x、y、z、α、β、γ パラメータ
V(n) 実際の位置姿勢
V(T) 目標の位置姿勢
P(n) 第1の参考点
P(T) 第1の補正対象点
P’(n) 第2の参考点
P’(T) 第2の補正対象点
Δx 誤差成分
RE(Δx) 誤差平面
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13