図面 (/)

技術 軌道生成方法、軌道生成装置、ロボット装置、プログラム及び記録媒体

出願人 キヤノン株式会社
発明者 木村弦
出願日 2014年9月12日 (5年0ヶ月経過) 出願番号 2014-185867
公開日 2016年4月21日 (3年4ヶ月経過) 公開番号 2016-055404
状態 特許登録済
技術分野 マニプレータ 数値制御
主要キーワード 専用LSI 円筒部品 数値微分 動作体 タスク空間 速度関数 収束解 繋ぎ合せ
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2016年4月21日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (18)

課題

2つの補間経路繋ぎ合せ経路を辿るロボットが停止しない、物理的制約を守った最適な軌道を生成する。

解決手段

所定の階数まで媒介変数sにより微分した微分値の変化が連続な、教示点Q11から教示点Q12に向かう関節補間経路を、関節補間により生成する。所定の階数まで媒介変数により微分した微分値の変化が連続な、教示点Q21から教示点Q22に向かう直線補間経路を、直線補間により生成する。所定の階数まで媒介変数sにより微分した微分値の変化が連続な、教示点Q1aから教示点Q2aに向かう繋ぎ合せ経路を生成する。教示点Q11と教示点Q1aとの間の経路と、教示点Q2aと教示点Q22との間の経路とを、繋ぎ合せ経路で繋ぎ合せた経路に対し、所定の物理的制約を守るようロボットの動作時間を最適化する最適化計算によって、ロボットの軌道を求める。

概要

背景

ロボット補間動作には、主に直線補間円弧補間及び関節補間の3種が知られている。直線補間は、目標点ツールセンターポイント(TCP)を直進させる補間方法である。円弧補間は、意図的に2点間直路から外れた位置に参照ポイントを与え、3点を通る一義的な円弧に沿ってTCPを移動させる補間方法である。この円弧補間と直線補間はタスク空間で補間を行うので、本質的には同じものである。

関節補間は、TCPの直線性や円弧性は問わず、目標関節角度に向かって各軸が原則的に同時に動き出し、同時に目標点に到達する補間方法である。すなわち、関節補間は、関節空間コンフィグレーション空間ともいう)で経路を生成する手法である。関節補間によれば、各関節の100%の動作性能を発揮する制御が容易であり、また、直線補間や円弧補間で問題となる、特異点問題が起きないので、高速動作が必要な移動区間で多用される。ただし、関節ごとの速度制御となるために、TCPの経路や速度はユーザが簡単に予測できるものでない。

ロボットの動作は、その移動の都度、その間の動作や目的にふさわしい補間方式採択される。例えば、円筒部品をロボットが把持し、円筒部品を円筒状の穴の上まで移動させ、円筒部品をその穴に嵌め込む場合がある。この場合、把持した後のロボットの移動は、関節補間で高速に動作し、円筒状の穴の上から円筒部品を穴に嵌め込む動作は直線補間を用いて、真っ直ぐに嵌め込むことが望まれる。

ところで、各移動区間における補間動作は、補間経路上をどのような速度で移動するかを決める速度関数で与えられる。移動開始時移動終了時にロボットが停止しているとすると、移動開始後は、加速をして移動速度を上げ、移動終了前には減速をして停止するという動作となる。

ここで、2つの異なる経路を連続して動かす方法として、経路のつなぎ目で停止することが考えられる。例えば、円筒部品を穴に嵌め込む例の場合、関節補間経路で加速をして移動を行い、関節補間経路の終了前に減速して経路のつなぎ目で停止し、直線補間経路で徐々に速度を上げるようにしておけば、2つの補間経路上を連続して動作させることができる。しかし、2つの補間経路の間でのロボットの厳格な停止は、無用であるだけでなく、この部分での停滞気味挙動がロボットの動作の時間を長引かせることになる。もちろん、作業時間節約のために急減速や急加速させるとすれば、それはロボットの振動を助長させるもとになり好ましいことではない。

そこで、例えば、直線補間と直線補間とを連続して動作させる場合、それぞれの直線補間経路上での速度関数を先に導きだした後に、先の移動区間の減速域と後の移動区間の加速域とを繋ぎ合せる。そして、両区間繋ぎ点もしくはその近傍を先の移動区間の減速中の速度と後の移動区間の加速中の速度との和で通過させればよい。これにより、次の教示点に到達させる時間を縮めることができる。このような速度の重ね処理は、先の移動区間の補間方法と後の移動区間の補間方法とが同種である場合、その速度関数自体を繋ぎ合せることによってある意味では容易に達成される。直線補間と直線補間の場合には、タスク空間上で、先の並進速度関数と後の並進速度関数とを、先の回転速度関数と後の回転速度関数とを、それぞれ減速域と加速域とでそれぞれの全部もしくは一部を重ねればよい。

関節補間で動作させる場合は、6軸ロボットであれば関節(軸)ごとに速度関数が与えられる。この場合でも関節補間同士の速度の重ね処理は、それぞれの関節補間経路上での速度関数を求めた後に、第1関節の先の速度関数の減速域と後の速度関数の加速域とを、第2関節の先の速度関数と後の速度関数とをといったように関節ごとを対象にして行えばよい。従って、6自由度のマニピュレータであれば、6つの組合せ全部で重ねられることになる。

しかし、ロボットの動作が関節補間から直線補間に移る場合は、補間をする空間がそれぞれ、関節空間とタスク空間とで異なり、関節補間の関節角速度と、直線補間のTCPの並進速度及び回転速度の繋ぎ合せ処理がそのままではできない。

そこで、特許文献1では、関節補間から直線補間に移る場合、直線補間をしてTCPの並進速度及び回転速度を出した後、逆キネマティクス計算を行い各軸の関節の角速度に直してから、関節補間軌道との速度の繋ぎ合せを行っている。直線補間の速度を関節の角速度に直して速度を繋ぎ合せるため、関節角速度の繋ぎ合せが可能となる。

一方、非特許文献1では、与えられた経路上で、各種物的制約守り動作時間最短にするロボットの最適な動作速度を計算する最適速度計算方法が述べられている。与えられた経路で、ロボットの動作速度を調整し動作軌道を作成するには、通常、各種物理的制約を守りつつ、ロボットの動作時間が短くなるように、ユーザが速度値を何度も調整する必要があった。しかし、人間が速度値の調整をすると、軌道が最適にならず、動作時間が長くなってしまうと同時に、軌道開発工数がかかってしまう。そこで、各種物理的制約を守り、動作時間を最短にするロボットの最適な動作速度の計算を自動で行うことが望まれる。

ロボットの関節トルク制約を守りつつ、与えられた経路に対し、できる限り動作時間の短い軌道を生成する最適速度計算方法について非特許文献1に記載されている。

概要

2つの補間経路を繋ぎ合せた経路を辿るロボットが停止しない、物理的制約を守った最適な軌道を生成する。所定の階数まで媒介変数sにより微分した微分値の変化が連続な、教示点Q11から教示点Q12に向かう関節補間経路を、関節補間により生成する。所定の階数まで媒介変数により微分した微分値の変化が連続な、教示点Q21から教示点Q22に向かう直線補間経路を、直線補間により生成する。所定の階数まで媒介変数sにより微分した微分値の変化が連続な、教示点Q1aから教示点Q2aに向かう繋ぎ合せ経路を生成する。教示点Q11と教示点Q1aとの間の経路と、教示点Q2aと教示点Q22との間の経路とを、繋ぎ合せ経路で繋ぎ合せた経路に対し、所定の物理的制約を守るようロボットの動作時間を最適化する最適化計算によって、ロボットの軌道を求める。

目的

本発明は、2つの補間経路を繋ぎ合せた経路を辿るロボットが停止しない、物理的制約を守った最適な軌道を生成することを目的とする

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

演算部が、多関節のロボット軌道を生成する軌道生成方法であって、前記演算部が、媒介変数関数であって、所定の階数まで前記媒介変数で微分した微分値の変化が連続な、第1教示点から第1補助点に向かう第1補間経路を、第1補間方法により生成する第1補間経路生成工程と、前記演算部が、前記媒介変数の関数であって、前記所定の階数まで前記媒介変数で微分した微分値の変化が連続な、第2補助点から第2教示点に向かう第2補間経路を、第2補間方法により生成する第2補間経路生成工程と、前記演算部が、前記媒介変数の関数であって、前記所定の階数まで前記媒介変数で微分した微分値の変化が連続な、前記第1補間経路上の第1途中点から前記第2補間経路上の第2途中点に向かう繋ぎ合せ経路を生成する繋ぎ合せ工程と、前記演算部が、前記第1補間経路における前記第1教示点と前記第1途中点との間の第1局所経路と、前記第2補間経路における前記第2途中点と前記第2教示点との間の第2局所経路とを、前記繋ぎ合せ経路で繋ぎ合せた経路に対し、所定の物理的制約を守るよう前記ロボットの動作時間を最適化する最適化計算によって、前記ロボットの前記軌道を求める最適化計算工程と、を備えたことを特徴とする軌道生成方法。

請求項2

前記所定の階数は、3であることを特徴とする請求項1記載の軌道生成方法。

請求項3

前記繋ぎ合せ工程では、前記演算部が、前記第1途中点から前記第1補助点までの各第1補間点に対して、前記第1教示点に近い側の第1補間点から順に、1から0に順次遷移する第1重み係数をかけ、前記第2補助点から前記第2途中点までの各第2補間点に対して、前記第2補助点に近い側の第2補間点から順に、1から前記第1重み係数を引いた値となるよう0から1に順次遷移する第2重み係数をかけ、前記第1補間点に前記第1重み係数をかけて求めた点と、前記第2補間点に前記第2重み係数をかけて求めた点とを足し合わせて、前記繋ぎ合せ経路を生成することを特徴とする請求項1又は2に記載の軌道生成方法。

請求項4

前記繋ぎ合せ工程では、前記演算部が、前記媒介変数の関数であって、前記所定の階数まで前記媒介変数による微分値の変化が連続な、第1重み関数を用いて、前記第1重み係数を求め、前記所定の階数まで前記媒介変数による微分値の変化が連続な、第2重み関数を用いて、前記第2重み係数を求めることを特徴とする請求項3に記載の軌道生成方法。

請求項5

前記繋ぎ合せ工程では、前記演算部が、シグモイド関数を用いて、前記第1重み係数を求め、シグモイド関数を用いて、前記第2重み係数を求めることを特徴とする請求項3又は4に記載の軌道生成方法。

請求項6

前記演算部が、前記第1途中点及び前記第2途中点のうち、少なくとも一方の途中点がユーザにより設定される設定工程を更に備えたことを特徴とする請求項1乃至5のいずれか1項に記載の軌道生成方法。

請求項7

前記第1補間方法及び前記第2補間方法がそれぞれタスク空間で補間経路を生成する方法及び関節空間で補間経路を生成する方法のうちいずれかであり、前記繋ぎ合せ工程では、前記演算部が、前記第1補間経路及び前記第2補間経路を、前記タスク空間及び前記関節空間のうちいずれかの空間における経路に統一して、前記統一した空間において繋ぎ合せ経路の生成を行うことを特徴とする請求項1乃至6のいずれか1項に記載の軌道生成方法。

請求項8

前記所定の物理的制約は、前記ロボットの関節角速度制約及び前記ロボットの先端の速度の制約のうち少なくとも1つを含むほか、前記ロボットの関節トルクの制約、前記ロボットの関節角加速度の制約、前記ロボットの関節角加加速度の制約及び前記ロボットの先端の加速度の制約のうち少なくとも1つを含むことを特徴とする請求項1乃至7のいずれか1項に記載の軌道生成方法。

請求項9

請求項1乃至8のいずれか1項に記載の軌道生成方法の各工程を実行する前記演算部を備えた軌道生成装置

請求項10

前記多関節のロボットと、請求項9に記載の軌道生成装置と、を備え、前記軌道生成装置により生成した軌道に基づき、前記ロボットの動作を制御することを特徴とするロボット装置

請求項11

コンピュータに、請求項1乃至8のいずれか1項に記載の軌道生成方法の各工程を実行させるためのプログラム

請求項12

請求項11に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体

技術分野

0001

本発明は、ロボット軌道を生成する軌道生成方法軌道生成装置ロボット装置プログラム及び記録媒体に関する。

背景技術

0002

ロボットの補間動作には、主に直線補間円弧補間及び関節補間の3種が知られている。直線補間は、目標点ツールセンターポイント(TCP)を直進させる補間方法である。円弧補間は、意図的に2点間直路から外れた位置に参照ポイントを与え、3点を通る一義的な円弧に沿ってTCPを移動させる補間方法である。この円弧補間と直線補間はタスク空間で補間を行うので、本質的には同じものである。

0003

関節補間は、TCPの直線性や円弧性は問わず、目標関節角度に向かって各軸が原則的に同時に動き出し、同時に目標点に到達する補間方法である。すなわち、関節補間は、関節空間コンフィグレーション空間ともいう)で経路を生成する手法である。関節補間によれば、各関節の100%の動作性能を発揮する制御が容易であり、また、直線補間や円弧補間で問題となる、特異点問題が起きないので、高速動作が必要な移動区間で多用される。ただし、関節ごとの速度制御となるために、TCPの経路や速度はユーザが簡単に予測できるものでない。

0004

ロボットの動作は、その移動の都度、その間の動作や目的にふさわしい補間方式採択される。例えば、円筒部品をロボットが把持し、円筒部品を円筒状の穴の上まで移動させ、円筒部品をその穴に嵌め込む場合がある。この場合、把持した後のロボットの移動は、関節補間で高速に動作し、円筒状の穴の上から円筒部品を穴に嵌め込む動作は直線補間を用いて、真っ直ぐに嵌め込むことが望まれる。

0005

ところで、各移動区間における補間動作は、補間経路上をどのような速度で移動するかを決める速度関数で与えられる。移動開始時移動終了時にロボットが停止しているとすると、移動開始後は、加速をして移動速度を上げ、移動終了前には減速をして停止するという動作となる。

0006

ここで、2つの異なる経路を連続して動かす方法として、経路のつなぎ目で停止することが考えられる。例えば、円筒部品を穴に嵌め込む例の場合、関節補間経路で加速をして移動を行い、関節補間経路の終了前に減速して経路のつなぎ目で停止し、直線補間経路で徐々に速度を上げるようにしておけば、2つの補間経路上を連続して動作させることができる。しかし、2つの補間経路の間でのロボットの厳格な停止は、無用であるだけでなく、この部分での停滞気味挙動がロボットの動作の時間を長引かせることになる。もちろん、作業時間節約のために急減速や急加速させるとすれば、それはロボットの振動を助長させるもとになり好ましいことではない。

0007

そこで、例えば、直線補間と直線補間とを連続して動作させる場合、それぞれの直線補間経路上での速度関数を先に導きだした後に、先の移動区間の減速域と後の移動区間の加速域とを繋ぎ合せる。そして、両区間繋ぎ点もしくはその近傍を先の移動区間の減速中の速度と後の移動区間の加速中の速度との和で通過させればよい。これにより、次の教示点に到達させる時間を縮めることができる。このような速度の重ね処理は、先の移動区間の補間方法と後の移動区間の補間方法とが同種である場合、その速度関数自体を繋ぎ合せることによってある意味では容易に達成される。直線補間と直線補間の場合には、タスク空間上で、先の並進速度関数と後の並進速度関数とを、先の回転速度関数と後の回転速度関数とを、それぞれ減速域と加速域とでそれぞれの全部もしくは一部を重ねればよい。

0008

関節補間で動作させる場合は、6軸ロボットであれば関節(軸)ごとに速度関数が与えられる。この場合でも関節補間同士の速度の重ね処理は、それぞれの関節補間経路上での速度関数を求めた後に、第1関節の先の速度関数の減速域と後の速度関数の加速域とを、第2関節の先の速度関数と後の速度関数とをといったように関節ごとを対象にして行えばよい。従って、6自由度のマニピュレータであれば、6つの組合せ全部で重ねられることになる。

0009

しかし、ロボットの動作が関節補間から直線補間に移る場合は、補間をする空間がそれぞれ、関節空間とタスク空間とで異なり、関節補間の関節角速度と、直線補間のTCPの並進速度及び回転速度の繋ぎ合せ処理がそのままではできない。

0010

そこで、特許文献1では、関節補間から直線補間に移る場合、直線補間をしてTCPの並進速度及び回転速度を出した後、逆キネマティクス計算を行い各軸の関節の角速度に直してから、関節補間軌道との速度の繋ぎ合せを行っている。直線補間の速度を関節の角速度に直して速度を繋ぎ合せるため、関節角速度の繋ぎ合せが可能となる。

0011

一方、非特許文献1では、与えられた経路上で、各種物的制約守り動作時間最短にするロボットの最適な動作速度を計算する最適速度計算方法が述べられている。与えられた経路で、ロボットの動作速度を調整し動作軌道を作成するには、通常、各種物理的制約を守りつつ、ロボットの動作時間が短くなるように、ユーザが速度値を何度も調整する必要があった。しかし、人間が速度値の調整をすると、軌道が最適にならず、動作時間が長くなってしまうと同時に、軌道開発工数がかかってしまう。そこで、各種物理的制約を守り、動作時間を最短にするロボットの最適な動作速度の計算を自動で行うことが望まれる。

0012

ロボットの関節トルク制約を守りつつ、与えられた経路に対し、できる限り動作時間の短い軌道を生成する最適速度計算方法について非特許文献1に記載されている。

0013

特開2004−252814号公報

先行技術

0014

Verscheure,Diederik,et al. “Time−optimal path tracking for robots: a convex optimization approach.” Automatic Control,IEEE Transactions on 54.10 (2009): 2318−2327.

発明が解決しようとする課題

0015

しかしながら、上記特許文献1及び上記非特許文献1によっても、2つの補間経路を繋ぎ合せたときに物理的制約を考慮にいれた最適な軌道を生成することができなかった。

0016

非特許文献1には、生成した2つの補間経路を、媒介変数に関して滑らかさを保って繋ぐ方法については記載されていない。また、引用文献1でも、2つの補間経路を繋げる方法は開示されているが、2つの補間経路を媒介変数sに関して滑らかさ(所定の階数まで微分した微分値の変化が連続な滑らかさ)をもたせたまま繋げることについては、記載されていない。

0017

つまり、従来、第1補間方法で生成した第1補間経路と第2補間方法で生成した第2補間経路とを媒介変数sに関して滑らかさ(所定の階数まで微分した微分値の変化が連続な滑らかさ)をもたせたまま繋げることは、これまで行われていなかった。例えば、関節補間と直線補間という経路を補間する空間がそれぞれ違う2つの補間経路や、円弧補間と直線補間といった形状が違う2つの補間経路を媒介変数sに関して滑らかさをもたせたまま繋げることは、行われていなかった。

0018

従来、2つの補間経路を媒介変数sに関して滑らかさをもたせたまま繋げていなかったので、ロボットへの時刻毎の関節角度の指令値を生成する、つまりロボットの軌道を生成する際に、軌道の最適性に大きな誤差生む原因となっていた。

0019

例えば、関節i軸の関節加加速度は、sを用いて、

0020

と書ける。もしqi(s)がsに関して滑らかでなく、単に連続である場合、qi’(s)、qi’’(s)、qi’’’(s)は不連続になるため、qi(…)(s)は、媒介変数sに関して不連続になる。

0021

このような滑らかでない(所定の階数まで微分した微分値の変化が不連続である)経路で、速度の最適化計算を行った場合、一定周期毎のロボットへの関節角度の指令値を生成する際に大きな誤差が生じていた。これにより、例えば関節加加速度が制約から大幅に外れる原因となっていた。また、これは、関節加加速度だけに限定されるものではなく、関節トルク制約、関節角速度制約、関節角加速度制約、TCP速度制約又はTCP加速度制約等の物理的制約も同様に大きな誤差を生み、制約から大幅に外れる原因となっていた。

0022

そこで、本発明は、2つの補間経路を繋ぎ合せた経路を辿るロボットが停止しない、物理的制約を守った最適な軌道を生成することを目的とする。

課題を解決するための手段

0023

本発明は、演算部が、多関節のロボットの軌道を生成する軌道生成方法であって、前記演算部が、媒介変数の関数であって、所定の階数まで前記媒介変数で微分した微分値の変化が連続な、第1教示点から第1補助点に向かう第1補間経路を、第1補間方法により生成する第1補間経路生成工程と、前記演算部が、前記媒介変数の関数であって、前記所定の階数まで前記媒介変数で微分した微分値の変化が連続な、第2補助点から第2教示点に向かう第2補間経路を、第2補間方法により生成する第2補間経路生成工程と、前記演算部が、前記媒介変数の関数であって、前記所定の階数まで前記媒介変数で微分した微分値の変化が連続な、前記第1補間経路上の第1途中点から前記第2補間経路上の第2途中点に向かう繋ぎ合せ経路を生成する繋ぎ合せ工程と、前記演算部が、前記第1補間経路における前記第1教示点と前記第1途中点との間の第1局所経路と、前記第2補間経路における前記第2途中点と前記第2教示点との間の第2局所経路とを、前記繋ぎ合せ経路で繋ぎ合せた経路に対し、所定の物理的制約を守るよう前記ロボットの動作時間を最適化する最適化計算によって、前記ロボットの前記軌道を求める最適化計算工程と、を備えたことを特徴とする。

発明の効果

0024

本発明によれば、媒介変数に関して滑らかな(所定の階数まで微分した微分値の変化が連続である)ロボットの経路を生成しているので、2つの補間経路を繋げ合せた経路を辿るロボットが停止することのない、物理的制約を守った軌道を生成することができる。

図面の簡単な説明

0025

本発明の第1実施形態に係るロボット装置の概略構成を示す説明図である。
本発明の第1実施形態に係るロボット装置のロボットを示す模式図である。
本発明の第1実施形態に係る軌道生成装置の構成を示すブロック図である。
本発明の第1実施形態における重み関数を示すグラフである。
本発明の第1実施形態におけるタスク空間でのロボットの経路を示す説明図である。
本発明の第1実施形態における関節空間でのロボットの経路を示す説明図である。
本発明の第1実施形態に係る軌道生成方法の主要なステップを示すフローチャートである。
本発明の第1実施形態に係る軌道生成方法の経路生成処理を示すフローチャートである。
本発明の第2実施形態におけるタスク空間でのロボットの経路を示す説明図である。
本発明の第2実施形態における関節空間でのロボットの経路を示す説明図である。
本発明の第2実施形態に係る軌道生成方法の経路生成処理を示すフローチャートである。
本発明の第3実施形態におけるタスク空間でのロボットの経路を示す説明図である。
本発明の第3実施形態における関節空間でのロボットの経路を示す説明図である。
本発明の第3実施形態に係る軌道生成方法の経路生成処理を示すフローチャートである。
本発明の第4実施形態におけるタスク空間でのロボットの経路を示す説明図である。
本発明の第4実施形態における関節空間でのロボットの経路を示す説明図である。
本発明の第4実施形態に係る軌道生成方法の経路生成処理を示すフローチャートである。

実施例

0026

以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。

0027

[第1実施形態]
図1は、本発明の第1実施形態に係るロボット装置の概略構成を示す説明図である。ロボット装置500は、多関節(2関節以上)のロボット200と、ロボット200の軌道を生成する軌道生成装置100と、生成された軌道に基づきロボット200の動作を制御するロボットコントローラ300と、を備えている。また、ロボット装置500は、作業者(ユーザ)の操作により軌道生成装置100にデータ入力等を行う操作部410と、軌道生成装置100から表示データを入力して画像表示を行う表示部420とを有する操作装置400を備えている。

0028

軌道生成装置100は、演算部であるCPU(Central Processing Unit)101と、種々のデータを格納する記憶部106と、を備えたコンピュータで構成されている。操作装置400の表示部420は、ディスプレイであり、ロボットアーム210や作業空間を3D(3次元グラフィックス表示して、生成された動作軌道を作業者が視認できるよう構成されている。なお、操作部410と表示部420とが1つの操作装置400に組み込まれている場合について説明するが、操作部410と表示部420とが独立した装置で構成されていてもよい。また、操作部410と表示部420とが別々に構成されている場合について説明するが、操作部410と表示部420とがタッチパネルディスプレイ等の操作及び表示が可能な操作表示部で構成されていてもよい。

0029

CPU101は、後述するプログラムを読み出して実行することにより、キネマティクス計算部31、経路生成部32、経路繋ぎ合せ部33、教示点計算部34及び最適速度計算部35として機能する。

0030

図2は、本発明の第1実施形態に係るロボット装置のロボットを示す模式図である。ロボット200は、多関節(2関節以上、第1実施形態では2関節)のロボットアーム210と、ロボットアーム210の先端に取り付けられたエンドエフェクタ、例えばロボットハンド220とを有している。

0031

ロボットアーム210は、例えば2つの関節(軸)J1,J2とリンク201,202で構成される2自由度のロボットアームである。関節には回転関節直動関節の他、球体関節などさまざまな種類があるが、第1実施形態では、関節J1,J2は、回転(旋回)関節である。関節の動作はモータ等の動力源で能動的に動作する場合と、動力源を持たずに受動的に動作する場合があるが、第1実施形態では、関節J1,J2は、動力源を有する。ロボットアームは、各関節間がリンクにより結びつけられ、関節とリンクが交互に直列されたシリアルリンク型と、関節とリンクの組合せが並列となったパラレルリンク型などがあるが、第1実施形態では、回転関節を有するシリアルリンク型とする。つまり、ロボットアーム210は、ロボットアーム自体が動作するような動作体として広く観念されるものであればよく、特に限定するものではない。例えば、6軸多関節ロボットアームや直動型のロボットアームを用いてもよい。

0032

ロボットアーム210(ロボット200)の自由度を表すパラメータを関節角度として、ロボットアーム210の2軸J1,J2の関節角度をそれぞれθ1,θ2とする。ロボットアーム210のコンフィグレーションは(θ1,θ2)で表され、関節空間上では、1つの点とみなすことができる。このように、ロボットアーム210の自由度を表すパラメータ(例えば、関節角度や伸縮長さ)を座標軸の値とした場合、ロボットアーム210のコンフィグレーションは関節空間上の点として表現することができる。つまり、関節空間は、ロボットアーム210(ロボット200)の関節角度を座標軸とする空間である。

0033

また、ロボット200の先端、即ちロボットハンド220には、ツールセンターポイント(TCP)が設定されている。TCPは、位置を表す3つのパラメータ(x,y,z)と、姿勢(回転)を表す3つのパラメータ(α,β,γ)、即ち6つのパラメータ(x,y,z,α,β,γ)で表され、タスク空間上では、1つの点としてみなすことができる。つまり、タスク空間は、これら6つの座標軸で規定された空間である。

0034

図3は、本発明の第1実施形態に係る軌道生成装置100の構成を示すブロック図である。図3に示すように、コンピュータで構成されている軌道生成装置100は、演算部としてのCPU101を備えている。また軌道生成装置100は、記憶部106として、ROM(Read Only Memory)102、RAM(Random Access Memory)103及びHDD(Hard Disk Drive)104を備えている。また、軌道生成装置100は、記録ディスクドライブ105及び各種のインタフェース111〜113を備えている。

0035

CPU101には、ROM102、RAM103、HDD104、記録ディスクドライブ105及びインタフェース111〜113が、バス120を介して接続されている。

0036

ROM102には、BIOS等の起動プログラムが格納されている。RAM103は、CPU101の演算処理結果等、各種データを一時的に記憶する。HDD104には、プログラム140が格納(記録)されている。そして、CPU101は、プログラム140を読み出して実行することにより、後述する軌道生成方法の各工程を実行する。つまり、CPU101は、プログラム140を読み出して実行することにより、図1に示す各部31〜35として機能する。記録ディスクドライブ105は、記録ディスク141に記録された各種データやプログラム等を読み出すことができる。

0037

インタフェース111には、上述した操作装置400が接続されている。インタフェース112には、USBメモリ等の書き換え可能な不揮発性メモリ、或いは外付けHDD等の外部記憶装置600が接続されている。インタフェース113には、上述したロボットコントローラ300が接続されている。

0038

図1において、キネマティクス計算部31は、ロボット200(ロボットアーム210)の各関節角度情報から、ロボット200のTCPの位置及び回転(姿勢)を求める順キネマティクスを計算する。また、キネマティクス計算部31は、ロボット200のTCPの位置及び回転(姿勢)から、ロボット200(ロボットアーム210)の各関節角度を計算する逆キネマティクスを計算する。

0039

キネマティクス計算部31は、例えば、教示点として、コンフィグレーション(θ1,θ2)を与えられ、それを基準として直線補間を行う場合、コンフィグレーションを順キネマティクスによりTCPの位置及び回転にする。逆に、キネマティクス計算部31は、教示点として、TCPの位置及び回転を与えられ、関節補間をする場合は、TCPの位置及び回転を逆キネマティクスによりコンフィグレーションにする。

0040

経路生成部32は、教示点間を補間するロボット200の経路(補間経路)を生成する。ロボット200の経路とは、関節空間におけるロボット200のコンフィグレーションの軌跡、もしくはタスク空間におけるロボット200のTCPの軌跡である。換言すれば、ロボット200の経路とは、関節空間又はタスク空間の点(ポーズ)の順序集合である。ロボット200の軌道とは、時間をパラメータとしてポーズ(経路)を表したものであり、第1実施形態では、時刻毎のロボット200の関節の関節指令値(角度指令値)の集合である。ロボット200の関節は複数あるため、各関節で関節指令値の同期がとられる。

0041

教示点間を補間する補間方法としては、Spline補間、B−Spline補間、ベジェ曲線、直線補間、円弧補間、関節補間などがあり、媒介変数sの値により、ロボット200の経路上の位置を示す。つまり、媒介変数sの値にロボット200の位置(補間点)が対応付けられて、これら点の集合で一連の経路が形成される。これら補間方法により、媒介変数sをパラメータとした補間関数が、ロボット200の経路(補間経路)として求められる。

0042

関節加加速度の制約を考慮に入れる場合、媒介変数sに関して経路が3階まで微分した微分値の変化が連続である必要がある。例えば、3次のB−Spline曲線の場合、媒介変数sに対しC3級(3階まで微分した値が連続)になる。

0043

最適速度計算部35は、算出されたロボット200の経路に対し、所定の物理的制約を守りつつ、ロボット200の動作時間を最短にするという最適化問題を解き、ロボット200の最適速度を計算する。所定の物理的制約とは、第1実施形態では、ロボット200の関節トルクの制約、関節角速度の制約、関節角加速度の制約、関節角加加速度の制約、TCP速度の制約及びTCP加速度の制約である。ロボット200のTCP速度の制約とは、ロボット200の先端の速度の制約である。ロボット200のTCP加速度の制約とは、ロボット200の先端の加速度の制約である。

0044

第1実施形態では、所定の物理的制約には、これら全ての制約が含まれる場合について説明するが、これに限定するものではない。所定の物理的制約には、少なくとも、関節角速度の制約及びTCP速度の制約のうち少なくとも1つの制約が含まれている。これに加え、所定の物理的制約には、関節トルクの制約、関節角加速度の制約、関節角加加速度の制約及びTCP加速度の制約のうち少なくとも1つの制約が含まれていればよい。それぞれの制約値の中で、最も高い階数以上の階数を持った経路を生成すれば、計算上の制約値を計算するモデルも連続となり、正確に制約値を計算することができる。

0045

関節トルクの制約、関節角加速度の制約、関節角加加速度の制約及びTCP加速度の制約を条件にロボット200の軌道を求める際には、媒介変数sで経路を1〜3階微分した微分値を用いる。このため、経路は媒介変数sに対し少なくともC3級(3階微分した微分値の変化が連続)である必要がある例について説明する。つまり、所定の物理的制約には、経路を媒介変数sで1〜3階微分した微分値を用いて評価する制約が含まれており、第1実施形態では、関節トルクの制約、関節角加速度の制約、関節角加加速度の制約及びTCP加速度の制約が含まれている。

0046

最適化問題の解き方としては、公知の方法を用いればよく、例えば、パラメータを置き換えて、問題を凸問題化し、ログバリア法とニュートン法を用いて大域的収束解に高速に収束させるといった方法を用いればよい。

0047

経路繋ぎ合せ部33は、2つの補間経路それぞれに繋ぎ合せ区間(重ね合せ区間)を設け、2つの補間経路の繋ぎ合せ区間上の点に重み係数を乗じて足し合せ、2つの補間経路を所定の滑らかさ(ここではC3級の滑らかさ)で繋ぎ合せた経路を生成する。

0048

関節補間及び直線補間でそれぞれ生成された、媒介変数sに関してC3級の2つの補間経路を、経路繋ぎ合せ部33が、媒介変数sに関してC3級の滑らかさを保ち繋ぎ合せる例を以下に説明する。

0049

媒介変数sに関して滑らかに、関節空間で補間した補間経路とタスク空間で補間した補間経路とを繋ぐためには、各補間経路に繋ぎ合せ区間を設け、徐々に関節空間補間経路からタスク空間補間経路に移り変える必要がある。徐々に移り変える際に、繋ぎ合せの重みを徐々に移していくことが、滑らかに繋ぐ上で必須となる。

0050

重み関数の条件として、繋ぎ合せの区間の開始点終了点で、媒介変数sでの1〜3階の微分値が0になり(0とみなせるものも含む)、かつ媒介変数sに関して少なくともC3級での滑らかさが必要になる。そこで、C∞級であるシグモイド関数を応用して重みづけをすることを考える。

0051

シグモイド関数は、

0052

である。しかし、このままでは、定義域が−∞≦x≦∞となり扱いにくい。そこで、シグモイド関数とtan(x)との合成関数を以下のように考える。

0053

0054

更に、

0055

とする。但し、aは0より大きい実数である。

0056

この重み関数は、aを十分大きくとれば、定義域の開始点と終了点で、1〜3階微分値がほぼ0とみなせるため、異なる補間方法で作成した補間経路を媒介変数sに関してほぼC3級を保ち滑らかに繋ぐ重みづけに利用できる。

0057

図4は、a=5の時の第1重み関数fsig1(x)、第2重み関数fsig2(x)のグラフであり、図4(a)は第1重み関数fsig1(x)のグラフ、図4(b)は第2重み関数fsig2(x)のグラフである。

0058

なお、第1重み関数はxの増加に応じて0から1に順次変化する関数であり、第2重み関数はxの増加に応じて1から0に順次変化する関数であって、同じx値のときの第1重み関数の第1重み係数と、第2重み関数の第2重み係数との合計が1であればよい。このような関数であれば第1重み関数及び第2重み関数は、上記の関数に限定されるものではなく、多項式やその他の関数を用いてもよい。その際、第1重み関数は、媒介変数sの関数であって、所定の階数(例えば3階)まで媒介変数sによる微分で連続な関数であってもよい。また、第2重み関数は、媒介変数sの関数であって、所定の階数(例えば3階)まで媒介変数sによる微分で連続な関数であってもよい。

0059

図5は、第1実施形態におけるタスク空間でのロボットの経路を示す説明図であり、図6は、第1実施形態における関節空間でのロボットの経路を示す説明図である。

0060

但し、図5中のP21,P22は、直線補間経路を生成するための教示点であり、図6中のQ11,Q12は、関節補間経路を生成するための教示点である。また、図6中のQ11,Q12のタスク空間上のTCPの位置及び回転をそれぞれ図5中のP11,P12とする。TCPが図5中のP21,P22の位置及び回転にあるときのロボット200(ロボットアーム210)のコンフィグレーションをそれぞれ図6中のQ21,Q22とする。

0061

また、関節空間上の教示点Q11,Q12により関節補間をした、関節補間経路上のロボット200のコンフィグレーションを図6中のq1(s1)(0≦s1≦1)とする。タスク空間上の教示点P21,P22により直線補間をした、直線補間経路上にTCPを位置付けるロボット200のコンフィグレーションを図6中のq2(s2)(0≦s2≦1)とする。但し、s1、s2は、それぞれ関節補間経路、直線補間経路の媒介変数とする。

0062

また、ロボット200のコンフィグレーションがq1(s1)の時のTCPの位置及び回転を表すベクトル図5中のp1(s1)とする。ロボット200のコンフィグレーションがq2(s2)の時のTCPの位置及び回転を表すベクトルを図5中のp2(s2)とする。

0063

第1教示点である教示点P11(又は教示点Q11)及び第2教示点である教示点P22(又は教示点Q22)は、ロボット200を通過させる点である。これら2つの教示点P11,P22(又は教示点Q11,Q22)は、ユーザが操作部410を操作して直接、又はユーザが操作部410を操作して記憶部106に記憶させて、CPU101に指定(設定)する。

0064

一方、第1補助点である教示点P12(又は教示点Q12)及び第2補助点である教示点P21(又は教示点Q21)は、ロボット200が通過しない点であって、補助的な点である。第1実施形態では、教示点P12(又は教示点Q12)は、予め設定される点であり、教示点P21(又は教示点Q21)は、演算により求める点である。

0065

今、関節補間により求めた第1補間経路である関節補間経路を、直線補間により求めた第2補間経路である直線補間経路に繋ぎ合せることを考える。そこで、関節補間経路(第1補間経路)上のs1=s1sを繋ぎ合せ区間の開始点とする。このs1=s1sのとき点は、関節補間経路上の途中点(第1途中点)である。また、関節補間経路上のs1=s1eを繋ぎ合せ区間の終了点とする。

0066

また、直線補間経路(第2補間経路)上のs2=s2sを繋ぎ合せ区間の開始点とし、直線補間経路上のs2=s2eを繋ぎ合せ区間の終了点とする。s2=s2eのとき点は、直線補間経路上の途中点(第2途中点)である。今簡単のために各定数を、s1e=1、s2s=0、s2e−s2s=s1e−s1sつまりs2e=1−s1sとする。

0067

ユーザは、各補間経路の繋ぎ合せ区間とそうでない区間の境目となる第1途中点及び第2途中点である教示点P1a,P2a(又は教示点Q1a,Q2a)のうち少なくとも1つの途中点のパラメータ値を設定(指定)する。教示点計算部34は、その点を基に、経路補間に用いる教示点と繋ぎ合せ区間を逆算する。

0068

第1実施形態の繋ぎ合せ区間は、関節補間と直線補間とが繋ぎ合さった繋ぎ合せ経路となるため、直線にはならず、ユーザの意図した動きにならない可能性がある。

0069

そこで、ユーザが、直線補間経路のここからは直進性を確保したいという点を、直線補間経路上から指定(設定)する。その点から、教示点計算部34により、経路補間に用いる適切な教示点と、繋ぎ合せ区間を算出する。

0070

第1実施形態では、直進性を確保できる図5中の教示点P2aをユーザが指示(設定)し、そこから逆算して、教示点P21と、定数s2eを教示点計算部34により逆算を行う。具体的には、直線補間が媒介変数s=s2eの時のTCPの位置及び回転p1(s)が教示点P2aと重なるように、教示点P21と、定数s2eを逆算する。

0071

なお、定数s2eが求まれば、s2e=1−s1sであるので、定数s1sが求まる。

0072

第1実施形態では、直線補間経路の教示点及び繋ぎ合せ区間の調整のみを説明したが、それに限定するものではない。関節補間部分も、ユーザが同様に繋ぎ合せ区間とそうでない区間の境目である教示点P1a(教示点Q1a)を指定(設定)して、関節補間の特性が欲しい区間をユーザが指示できるようにしても良い。

0073

sは、2つの補間経路を繋ぎ合せたロボット200の経路の媒介変数である。この媒介変数sの値にロボット200の経路上の点が対応している。つまり、媒介変数sの値を決めると、その値に対応するロボット200の経路上の点が決まる。第1実施形態では、媒介変数sは、0から1+s1までの範囲の値である。s=0からs=1+s1まで時刻に応じて媒介変数sの値が増加するように変化させることにより、ロボット200のTCPは、教示点P11から教示点P22まで経路上を移動することとなる。

0074

0≦s<s1sの局所区間を関節補間区間、s1s≦s<1の区間を繋ぎ合せ区間、1≦s<1+s1sの局所区間を直線補間区間とする。このときの2つの補間経路を繋ぎ合せたときの関節空間上の経路q(s)は以下のようになる。

0075

0076

ここで、fsig1((s−s1s)/(1−s1s))は第1重み関数、fsig2((s−s1s)/s2e)は第2重み関数である。これら関数のsに数値代入することで、第1重み係数及び第2重み係数が求まる。

0077

媒介変数sに関してC3級で滑らかさを保つq(s)を用いれば、連続なq’(s),q’’(s),q’’’(s)を求めることが可能となる。また、q(s)を用いれば、最適速度計算(ロボット200の動作時間を最適にする最適化計算)をした後に、それに基づき、一定時間ごとの関節指令値(つまり軌道)を生成することが可能となる。

0078

式(5)に則り、図6における、繋ぎ合せ区間での繋ぎ合せ経路上の点を算出する式は図4のグラフ上の値を用いて以下のように書ける。

0079

0080

ここで、q11,q12,q13,q14,q15は、図6中、第1補間経路である関節補間経路q1(s1)上の教示点Q1aから教示点Q12までの複数の補間点(第1補間点)である。また、q21,q22,q23,q24,q25は、図6中、第2補間経路である直線補間経路q2(s2)上の教示点Q21から教示点Q2aまでの複数の補間点(第2補間点)である。

0081

図7は、第1実施形態に係る軌道生成方法の主要なステップを示すフローチャートである。以下、軌道生成装置100のCPU101により行われるロボット200の軌道生成方法の各工程について説明する。

0082

まず、CPU101は、ロボット200が作業を行う作業空間での、ロボット200のモデル及び制約条件(所定の物理的制約)を記憶部106(例えばHDD104)から読み込む(S101)。

0083

ロボット200のモデルは、ロボット200を構成する部品設計情報であり、各リンクの慣性モーメント、質量、位置、回転、軸数等である。制約条件は、ロボット200の物理的制約を定義したもので、ロボット200の関節トルクの制約、関節角速度の制約、関節角加速度の制約、関節角加加速度の制約、TCP速度の制約及びTCP加速度の制約である。

0084

次に、CPU101は、ロボット200の教示点及び補間方法を取得する(S102)。例えば、ロボット200の教示点は、TCPの位置及び回転、又は関節角度により決定することができる。教示点と同時に、どういった補間方法で、その教示点まで移動するかの情報を読み込む。

0085

第1実施形態でCPU101が取得する教示点は、第1教示点である教示点P11(又は教示点Q11)、第1補助点である教示点P12(又は教示点Q12)、第2教示点である教示点P22(又は教示点Q22)である。

0086

また、第1実施形態では、ユーザが関節補間と直線補間を指定するので、第1実施形態でCPU101が取得する補間方法は、第1補間方法である関節補間、第2補間方法である直線補間である。これら教示点及び補間方法は、記憶部106(例えばHDD104)に記憶されたロボットプログラムにて指定(設定)されている。

0087

次に、CPU101は、途中点である教示点P1a,P2aのうち、少なくとも一方、第1実施形態では教示点P2aがユーザにより設定(指定)され、繋ぎ合せ区間を設定する(S103:設定工程)。第1実施形態では、関節補間のs1s≦s1<1の区間と、直線補間の0<s2<s2eの区間を繋ぎ合せ区間とする。繋ぎ合せ区間は、任意であるが、ユーザが指定した教示点から直進性を確保する場合、教示点計算部34により、それに合わせて直線補間の経路生成に用いる教示点と繋ぎ合せ区間を調整する。

0088

具体的に説明すると、定数s1eは1に、定数s2sは0に設定される。つまり、これら定数s1e,s2sは、予め記憶部106に記憶されており、CPU101が記憶部106から読み出して設定する。

0089

第2補助点から第2教示点に向かう第2補間経路上の第2途中点である教示点P2a(パラメータ値)は、ユーザが設定(指定)する。これにより、CPU101は、第2補助点である教示点P21及び定数s2e,s1sを演算する。なお、第1実施形態では、第1教示点から第1補助点に向かう第1補間経路上の第1途中点である教示点P1aは、予め記憶部106に記憶されており、CPU101が記憶部106から読み出して設定する。

0090

以上、ステップS103により、繋ぎ合せ区間、つまり定数s1s,s2eが設定(初期化)される。

0091

次に、CPU101は、第1補間経路である関節補間経路と第2補間経路である直線補間経路とを繋ぎ合せたロボット200の経路q(s)を生成する経路生成処理を実行する(S104)。具体的には、図6において、関節補間経路における教示点Q11と教示点Q1aとの間の第1局所経路と、直線補間経路における教示点Q2aと教示点Q22との間の第2局所経路とを、繋ぎ合せ区間の繋ぎ合せ経路で繋ぎ合せた経路q(s)を生成する。ここで、第1局所経路は、q1(s)(但し0≦s<s1s)である。第2局所経路は、q2(s−s1s)(但し1≦s<1+s1s)である。繋ぎ合せ経路は、q1(s)×fsig1((s−s1s)/(1−s1s))+q2(s−s1s)×fsig2((s−s1s)/s2e)(但しs1s≦s<1)である(式(5)参照)。

0092

次に、CPU101は、速度の最適化の対象となる2つの補間経路を繋いだ経路q(s)上の評価点を決定する(S105)。例えば、s=0からs=1+s1sまで、ある一定のΔsずつ等分割したsの列を評価点とする。

0093

次に、CPU101は、補間関数、つまり経路q(s)を使って、媒介変数sに関する数値微分により、評価点におけるq’(s),q’’(s),q’’’(s)を求める(S106)。

0094

0095

次にCPU101は、q’(s),q’’(s),q’’’(s)を用い、関節トルク制約、関節角速度制約、関節角加速度制約、関節角加加速度制約、TCP速度制約及びTCP加速度制約の制約を条件に最短時間で移動する最適速度を計算する(S107)。

0096

次に、CPU101は、式(14)のように、最適速度計算により計算したs(・)(s)から、s(t)を計算し、q(s)から一定時間Δt毎の関節指令値(角度指令値)を求める(S108)。但し、s(0)=0とする。

0097

0098

以上のステップS105〜S108が最適化計算工程である。つまり、ステップS105〜S108により、経路q(s)に対し、所定の物理的制約を守るようロボット200の動作時間を最適化する最適化計算によって、時刻に対応する媒介変数sの値(つまりs(t))を求めて、ロボット200の軌道を求める。

0099

媒介変数sに関してC3級の滑らかさをもつq(s)を用いれば、q’(s)、q’’(s)、q’’’(s)が連続となり、ロボット200への関節指令値を生成する際の誤差を大幅に減らすことができる。

0100

次に、ステップS104の経路生成処理について具体的に説明する。図8は、媒介変数sを入力してコンフィグレーションq(s)を出力する、図7のステップS104における経路生成処理を示すフローチャートである。

0101

まずCPU101は、媒介変数sの数値を取得(入力)する(S201)。CPU101は、入力した媒介変数sの数値で場合分けを行う(S202)。つまり、CPU201は、このステップS202で、媒介変数sの数値の判別を行う。0≦s<s1sの場合は、関節補間区間、s1s≦s<1の場合は、関節補間と直線補間の繋ぎ合せ区間、1≦s<1+s1sの場合は、直線補間区間である。

0102

CPU101は、ステップS202の判別で0≦s<s1sの場合(補間方法が関節補間の場合)、教示点Q11,Q12により関節補間を行い、媒介変数sの関数となる関節補間経路であるq1(s)を求める(S203)。つまりCPU101は、媒介変数sの関数であり、所定の階数(例えば3階)微分した微分値の変化が連続な、教示点Q11から教示点Q12に向かう関節補間経路q1(s)を、関節補間により生成する(第1補間経路生成工程)。0≦s<s1sの区間では、第1補間経路中の教示点Q11と教示点Q1aとの間の第1局所経路q1(s)が、ロボット200の経路であり、q(s)=q1(s)となる。CPU101は、コンフィグレーションq(s)を出力する(S204)。

0103

CPU101は、ステップS202の判別でs1s≦s<1の場合(関節補間と直線補間の繋ぎ合せ区間の場合)、教示点Q11,Q12により関節補間を行い、q1(s)を求める(S205:第1補間経路生成工程)。

0104

CPU101は、教示点P21,P22によりTCPを直線補間し、p2(s−s1s)を求める(S206)。つまりCPU101は、媒介変数sの関数であり、教示点P21から教示点P22に向かう第2補間経路である直線補間経路p2(s−s1s)を、関節補間により生成する(第2補間経路生成工程)。このステップS206で生成する直線補間経路p2(s−s1s)は、所定の階数(例えば3階)まで媒介変数sにより微分した微分値の変化が連続な、媒介変数sの関数である。

0105

CPU101は、p2(s−s1s)に対し、キネマティクス計算部31により逆キネマティクス計算を行い、コンフィグレーションq2(s−s1s)を求める(S207)。つまり、CPU101は、関節補間経路及び直線補間経路を、タスク空間及び関節空間のうちいずれかの空間(第1実施形態では、関節空間)における経路に統一する。

0106

次に、CPU101は、関節補間したコンフィグレーションq1(s)に重みづけするための第1重み関数fsig1((s−s1s)/(1−s1s))から、第1重み係数を求める(S208)。また、CPU101は、直線補間したコンフィグレーションq2(s)に重みづけするための第2重み関数fsig2((s−s1s)/s2e)から第2重み係数を求める(S209)。

0107

CPU101は、q1(s)にfsig1((s−s1s)/(1−s1s))を掛け、q2(s−s1s)にfsig2((s−s1s)/s2e)を掛けて和をとって、繋ぎ合せ経路q(s)(但しs1s≦s<1)を求める(S210)。

0108

q1(s)(但しs1s≦s<1)は、式(6)〜式(10)に示す第1補間点q11,q12,q13,q14,q15の集合である。CPU101は、各補間点q11,q12,q13,q14,q15に各第1重み係数r11,r12,r13,r14,r15を掛け算する。

0109

同様に、q2(s−s1s)(但しs1s≦s<1)は、式(6)〜式(10)に示す第2補間点q21,q22,q23,q24,q25の集合である。CPU101は、各補間点q21,q22,q23,q24,q25に各第2重み係数r21,r22,r23,r24,r25を掛け算する。ここで、r11+r21=1,r12+r22=1,r13+r23=1,r14+r24=1,r15+r25=1である。

0110

各第1重み係数r11,r12,r13,r14,r15は、媒介変数sが大きくなるに従って1から0に順次遷移する。つまり、r11(=1)>r12>r13>r14>r15(=0)である。

0111

また、各第2重み係数r21,r22,r23,r24,r25は、1から各第1重み係数r11,r12,r13,r14,r15を引いた値となるよう媒介変数sが大きくなるに従って0から1に順次遷移する。つまり、r21(=0)<r22<r23<r24<r25(=1)である。

0112

即ち、CPU101は、ステップS210では、補間点q11,q12,q13,q14,q15に対して、教示点Q11に近い側の補間点から順に、1から0に順次遷移する重み係数r11,r12,r13,r14,r15をかける。また、CPU101は、補間点q21,q22,q23,q24,q25に対して、教示点Q21に近い側の補間点から順に、0から1に順次遷移する重み係数r21,r22,r23,r24,r25をかける。CPU101は、補間点q1n(n=1〜5、以下同じ)に重み係数r1nをかけて求めた点と、補間点q2nに重み係数r2nをかけて求めた点とを足し合わせて、繋ぎ合せ経路q1,q2,q3,q4,q5を生成する(図7、式(6)〜式(10))。

0113

以上のステップS206〜S210により、CPU101は、媒介変数sの関数であって、所定の階数(例えば3階)まで媒介変数sにより微分した微分値の変化が連続な、教示点Q1aから教示点Q2aに向かう繋ぎ合せ経路を生成する(繋ぎ合せ工程)。CPU101は、コンフィグレーションq(s)を出力する(S211)。

0114

なお、重み係数r1n,r2nは、ステップS208,S209で重み関数から求める場合について説明したが、これに限定するものではなく、予め重み係数r1n,r2nを計算しておいて記憶部106に記憶させておいてもよい。その際、CPU101は、ステップS208,S209では、演算を行わずに記憶部106から重み係数r1n,r2nのデータを読み出すだけでよい。

0115

次に、CPU101は、ステップS202の判別で1≦s<1+s1sの場合(補間方法が直線補間の場合)、教示点P21,P22によりTCPを直線補間し、p2(s−s1s)を求める(S212:第2補間経路生成工程)。

0116

CPU101は、p2(s−s1s)に対し、逆キネマティクス計算を行い、関節空間上のコンフィグレーションであるq2(s−s1s)を求める(S213)。1≦s<1+s1sの区間では、第2補間経路中の教示点Q2aと教示点Q22との間の第2局所経路q2(s−s1s)が、ロボット200の経路であり、q(s)=q2(s−s1s)である。CPU101は、コンフィグレーションq(s)を出力する(S214)。

0117

以上のステップS201〜S214は、媒介変数sの数値を、0から1+s1sまで変化させて繰り返し行う。これらステップS201〜S214により、式(5)に示す、ロボット200の関節空間においてC3級の経路q(s)が求まる。

0118

以上、第1実施形態によれば、ロボット200が関節補間と直線補間という異なる2つの補間経路を繋げ合せた際に、媒介変数sに関してC3級で滑らかなロボット200の関節空間における経路q(s)を生成している。これにより、2つの補間経路を繋げ合せた経路q(s)を辿るロボット200が停止することのない、物理的制約を守った軌道を生成することができる。

0119

特に、ステップS210では、CPU101が、q1n×r1n+q2n×r2n(n=1〜5)を計算して、繋ぎ合せ経路qnを生成している。これにより、繋ぎ合せ経路は、媒介変数sに関してC3級で滑らかな経路として生成される。なお、第1実施形態では、説明の都合上、n=1〜5としたが、これに限定するものではない。nの数は、多ければ多いほど精度が向上するため、繋ぎ合せ経路として、多数の点を生成するのがよい。第1実施形態では、第1及び第2重み関数に基づいて第1及び第2重み係数を計算しているので、予め大量の重み係数のデータを記憶部106に記憶させておく必要がない。よって、記憶部106のメモリ領域が圧迫されることがなく、メモリ領域を有効活用できる。

0120

また、第1実施形態によれば、ユーザが教示点P2a(Q2a)を設定(指定)しているため、経路の繋ぎ合せ区間を意識せずに、直進性が必要な区間をユーザが指定でき、使用性が上がるという効果がある。

0121

[第2実施形態]
本発明の第2実施形態に係る軌道生成方法について説明する。なお、軌道生成装置、即ちロボット装置の構成は、上記第1実施形態と同様であり、説明を省略する。第2実施形態では、上記第1実施形態と異なる補間方法の組み合わせ、即ち円弧補間と直線補間の2種類の補間方法が指定されている。

0122

図9は、第2実施形態におけるタスク空間でのロボットアームの経路を示す説明図であり、図10は、第2実施形態における関節空間でのロボットアームの経路を示す説明図である。

0123

第2実施形態では、第1補間方法を円弧補間とし、第2補間方法を、上記第1実施形態と同様、直線補間としたものである。円弧補間をした時のコンフィグレーションをq1(s)とすると、上記第1実施形態と同様、式(5)により、経路の滑らかさを保った繋ぎ合せが可能となる。式(5)に則り、図10における、繋ぎ合せ区間での繋ぎ合せ経路上の点q1〜q5を算出する式は、上記第1実施形態と同様、式(6)〜式(10)になる。

0124

上記第1実施形態と違い、円弧補間した補間経路は、タスク空間上のTCPの経路となるため、関節空間上で繋ぎ合せるためには、逆キネマティクスを行い、コンフィグレーションを求めて円弧補間経路q1(s)を求める。

0125

以上を考慮にいれ、媒介変数sからコンフィグレーションq(s)を求める流れを説明する。図11は、媒介変数sを入力してコンフィグレーションq(s)を出力する経路生成処理のフローチャートである。なお、第2実施形態では、第1補間方法がタスク空間で補間経路を生成する方法であるため、求めた第1補間経路である円弧補間経路を逆キネマティクス計算により関節空間における経路に変換する点で、上記第1実施形態と異なる。それ以外は、上記第1実施形態と同様であるため、以下、経路生成処理に関する各工程を簡略して説明する。

0126

まずCPU101は、媒介変数sを取得(入力)する(S301)。CPU101は、入力された媒介変数sの区間で場合分けを行う(S302)。0≦s<s1sの場合は、円弧補間区間、s1s≦s<1の場合は、円弧補間と直線補間の繋ぎ合せ区間、1≦s<1+s1sの場合は、直線補間区間である。

0127

CPU101は、ステップS302の判別で0≦s<s1sの場合、教示点P11,P12によりTCPを円弧補間し、p1(s)を求める(S303)。CPU101は、p1(s)に対し、逆キネマティクス計算を行い、コンフィグレーションq1(s)を求める(S304)。0≦s<s1sの区間では、第1局所経路q1(s)が、ロボット200の経路であり、q(s)=q1(s)となる。CPU101は、コンフィグレーションq(s)を出力する(S305)。

0128

次に、CPU101は、ステップS302の判別でs1s≦s<1であった場合、まず教示点P11,P12によりTCPを円弧補間し、p1(s)を求める(S306)。CPU101は、p1(s)に対し、逆キネマティクス計算を行い、コンフィグレーションq1(s)を求める(S307)。

0129

CPU101は、教示点P21,P22によりTCPを直線補間し、p2(s−s1s)を求める(S308)。CPU101は、p2(s−s1s)に対し、逆キネマティクス計算を行い、コンフィグレーションq2(s−s1s)を求める(S309)。

0130

CPU101は、円弧補間したコンフィグレーションq1(s)に重みづけするための重み関数fsig1((s−s1s)/(1−s1s))を求める(S310)。CPU101は、直線補間したコンフィグレーションq2(s)に重みづけするための重み関数fsig2((s−s1s)/s2e)を求める(S311)。

0131

CPU101は、q1(s)にfsig1((s−s1s)/(1−s1s))を掛け、q2(s−s1s)にfsig2((s−s1s)/s2e)を掛けて和をとって、q(s)を求める(S312)。CPU101は、コンフィグレーションq(s)を出力する(S313)。

0132

CPU101は、ステップS302の判別で1≦s<1+s1sであった場合、教示点P21,P22によりTCPを直線補間し、p2(s−s1s)を求める(S314)。CPU101は、p2(s−s1s)に対し、逆キネマティクス計算を行い、関節空間上のコンフィグレーションであるq2(s−s1s)を求める(S315)。1≦s<1+s1sの区間では、第2局所経路q2(s−s1s)が、ロボット200の経路であり、q(s)=q2(s−s1s)である。CPU101は、コンフィグレーションq(s)を出力する(S316)。

0133

以上、円弧補間と直線補間とをC3級を保って繋ぎ合せたコンフィグレーションq(s)が求められるので、上記第1実施形態と同様、図7の流れで、最適速度を計算することができる。

0134

また、図7のステップS103において、ユーザが円弧補間経路の円弧性と、直線補間経路の直進性を確保したい点P1a,P2a(又は点Q1a,Q2a)をそれぞれ指定(設定)する。教示点計算部34として機能するCPU101は、その点P1a,P2a(又は点Q1a,Q2a)を基に、円弧補間及び直線補間の教示点及び繋ぎ合せ区間を逆算する。

0135

繋ぎ合せ区間は、円弧補間と直線補間が繋ぎ合わさった経路となるため、純粋な円弧もしくは直線にはならず、ユーザの意図した動きにならない可能性がある。そこで、ユーザが、ここまでは円弧性を確保し、ここからは、直進性を確保したいという点を指定し、それから、教示点計算部34により適切な教示点P12,P21(又は教示点Q12,Q21)を演算する。

0136

つまり、第2実施形態では、円弧性を確保する図9上の点P1a、直進性を確保できる図9上の点P2aをユーザが指示する。CPU101は、そこから逆算して、それぞれ適当なP12,P21,s1s,s2eを求める。具体的には、円弧補間経路が、s1=s1sのときのTCPの位置及び回転p1(s)が、P1aと重なり、直線補間経路がs2=s2eの時のTCPの位置及び回転p2(s2)が、P21と重なるようにP12,P21,s1s,s2eを逆算する。

0137

以上説明したように、第2実施形態によれば、上記第1実施形態の効果に加えて、教示点に付随する補間方法が、円弧補間から直線補間に切り替わる場合にも、経路の切り替え時に停止せずに、ロボット200の各種物理的制約を守った最適な軌道を生成できる。また、第2実施形態によれば、経路の繋ぎ合せ区間を意識せずに、円弧性及び直進性が必要な区間をユーザが指定できるため、使用性が上がるという効果がある。

0138

[第3実施形態]
本発明の第3実施形態に係る軌道生成方法について説明する。なお、軌道生成装置、即ちロボット装置の構成は、上記第1,第2実施形態と同様であり、説明を省略する。第3実施形態では、上記第1,第2実施形態と異なる補間方法の組み合わせ、即ち円弧補間と関節補間の2種類の補間方法が指定されている。

0139

図12は、第3実施形態におけるタスク空間でのロボットアームの経路を示す説明図であり、図13は、第3実施形態における関節空間でのロボットアームの経路を示す説明図である。

0140

第3実施形態では、第1補間方法を円弧補間、第2補間方法を関節補間としたものである。円弧補間をした時のコンフィグレーション(補間経路)をq1(s)とし、関節補間した時のコンフィグレーション(補間経路)をq2(s)すると、上記第1実施形態と同様、式(5)により、経路の滑らかさを保った繋ぎ合せが可能となる。式(5)に則り、図13における、繋ぎ合せ区間での経路上の点q1〜q5を算出する式は、上記第1実施形態と同様、式(6)〜式(10)になる。

0141

上記第2実施形態と同様、円弧補間した経路は、タスク空間上のTCPの経路となるため、関節空間上で繋ぎ合せるためには、逆キネマティクスを行い、コンフィグレーションを求めて円弧補間経路q1(s)を求める。以上を考慮にいれ、媒介変数sからコンフィグレーションq(s)を求める流れを説明する。

0142

図14は、媒介変数sを入力してコンフィグレーションq(s)を出力する経路生成処理のフローチャートである。なお、第3実施形態では、第2補間方法が関節空間で補間経路を生成する方法であるため、第2補間経路である関節補間経路を関節空間で求める点で、上記第2実施形態と異なる。それ以外は、上記第2実施形態と同様であるため、以下、経路生成処理に関する各工程を簡略して説明する。

0143

まずCPU101は、媒介変数sを取得(入力)する(S401)。CPU101は、入力された媒介変数sの区間で場合分けを行う(S402)。0≦s<s1sの場合は、円弧補間区間、s1s≦s<1の場合は、円弧補間と関節補間の繋ぎ合せ区間、1≦s<1+s1sの場合は、関節補間区間である。

0144

CPU101は、ステップS402の判別で0≦s<s1sの場合、教示点P11,P12によりTCPを円弧補間し、p1(s)を求める(S403)。CPU101は、p1(s)に対し、逆キネマティクス計算を行い、コンフィグレーションq1(s)を求める(S404)。0≦s<s1sの区間では、第1局所経路q1(s)が、ロボット200の経路であり、q(s)=q1(s)となる。CPU101は、コンフィグレーションq(s)を出力する(S405)。

0145

次に、CPU101は、ステップS402の判別でs1s≦s<1の場合、まず教示点P11,P12によりTCPを円弧補間し、p1(s)を求める(S406)。CPU101は、p1(s)に対し、逆キネマティクス計算を行い、コンフィグレーションq1(s)を求める(S407)。

0146

CPU101は、教示点Q21,Q22により関節補間し、q2(s−s1s)を求める(S408)。

0147

CPU101は、円弧補間したコンフィグレーションq1(s)に重みづけするための重み関数fsig1((s−s1s)/(1−s1s))を求める(S409)。CPU101は、直線補間したコンフィグレーションq2(s)に重みづけするための重み関数fsig2((s−s1s)/s2e)を求める(S410)。

0148

CPU101は、q1(s)にfsig1((s−s1s)/(1−s1s))を掛け、q2(s−s1s)にfsig2((s−s1s)/s2e)を掛けて和をとって、q(s)を求める(S411)。CPU101は、コンフィグレーションq(s)を出力する(S412)。

0149

CPU101は、ステップS402の判別で1≦s<1+s1sの場合、教示点Q21,Q22により関節補間し、q2(s−s1s)を求める(S413)。1≦s<1+s1sの区間では、第2局所経路q2(s−s1s)が、ロボット200の経路であり、q(s)=q2(s−s1s)である。CPU101は、コンフィグレーションq(s)を出力する(S414)。

0150

以上、円弧補間と関節補間とをC3級を保って繋ぎ合せたコンフィグレーションq(s)を求められるので、上記第1実施形態と同様、図7の流れで、最適速度を計算することができる。

0151

また、図7のステップS103において、ユーザが円弧補間経路の円弧性を確保したい点P1a(又は点Q1a)をそれぞれ指定(設定)する。教示点計算部34として機能するCPU101は、その点P1a(又は点Q1a)を基に、円弧補間及び関節補間の教示点及び繋ぎ合せ区間を逆算する。

0152

繋ぎ合せ区間は、円弧補間と関節補間が繋ぎ合わさった経路となるため、純粋な円弧にはならず、ユーザの意図した動きにならない可能性がある。そこで、ユーザが、ここまでは円弧性を確保したいという点を指定する。そこから教示点計算部34により適切な教示点P12(又は教示点Q12)を演算する。

0153

つまり、第3実施形態では、円弧性を確保する図12上の点P1aをユーザが指示する。CPU101は、そこから逆算して、適当なP12とs1sを求める。具体的には、円弧補間経路が、s1=s1sのときのTCPの位置及び回転p1(s1)が、P1aと重なるようにP12、s1sを逆算する。

0154

以上説明したように、第3実施形態によれば、上記第1実施形態の効果に加えて、教示点に付随する補間方法が、円弧補間から関節補間に切り替わる場合にも、経路の切り替え時に停止せずに、ロボット200の各種物理的制約を守った最適な軌道を生成できる。また、第3実施形態によれば、経路の繋ぎ合せ区間を意識せずに、円弧性が必要な区間をユーザが指定できるため、使用性が上がるという効果がある。

0155

[第4実施形態]
本発明の第4実施形態に係る軌道生成方法について説明する。なお、軌道生成装置、即ちロボット装置の構成は、上記第1,第2及び第3実施形態と同様であり、説明を省略する。第4実施形態では、上記第1,第2,第3実施形態と異なる補間方法の組み合わせ、即ち直線補間と直線補間の補間方法が指定されている。

0156

図15は、第4実施形態におけるタスク空間でのロボットアームの経路を示す説明図であり、図16は、第4実施形態における関節空間でのロボットアームの経路を示す説明図である。

0157

第4実施形態では、第1補間方法を第1直線補間、第2補間方法を第2直線補間としたものである。第1直線補間をした時のコンフィグレーションをq1(s)とし、第2直線補間をした時のコンフィグレーションをq2(s)すると、上記第1実施形態と同様、式(5)により、経路の滑らかさを保った繋ぎ合せが可能となる。式(5)に則り、図16における、繋ぎ合せ区間での経路上の点q1〜q5を算出する式は、上記第1実施形態と同様、式(6)〜式(10)になる。

0158

上記第1実施形態と同様、直線補間した経路は、タスク空間上のTCPの経路となるため、関節空間上で繋ぎ合せるためには、逆キネマティクスを行い、コンフィグレーションを求めて直線補間経路q1(s),q2(s−s1s)を求める。

0159

以上を考慮にいれ、媒介変数sからコンフィグレーションq(s)を求める流れを説明する。図17は、媒介変数sを入力してコンフィグレーションq(s)を出力する経路生成処理のフローチャートである。なお、第4実施形態では、第1補間方法がタスク空間で補間経路を生成する方法であるため、求めた第1補間経路である直線補間経路を逆キネマティクス計算により関節空間における経路に変換する点で、上記第1実施形態と異なる。それ以外は、上記第1実施形態と同様であるため、以下、経路生成処理に関する各工程を簡略して説明する。

0160

まずCPU101は、媒介変数sを取得(入力)する(S501)。CPU101は、入力された媒介変数sの区間で場合分けを行う(S502)。0≦s<s1sの場合は、第1直線補間区間、s1s≦s<1の場合は、第1直線補間と第2直線補間の繋ぎ合せ区間、1≦s<1+s1sの場合は、第2直線補間区間である。

0161

CPU101は、ステップS502の判別で0≦s<s1sの場合、教示点P11,P12によりTCPを直線補間し、p1(s)を求める(S503)。CPU101は、p1(s)に対し、逆キネマティクス計算を行い、コンフィグレーションq1(s)を求める(S504)。0≦s<s1sの区間では、第1局所経路q1(s)が、ロボット200の経路であり、q(s)=q1(s)となる。CPU101は、コンフィグレーションq(s)を出力する(S505)。

0162

次に、CPU101は、ステップS502の判別でs1s≦s<1の場合、まず教示点P11,P12によりTCPを直線補間し、p1(s)を求める(S506)。CPU101は、p1(s)に対し、逆キネマティクス計算を行い、コンフィグレーションq1(s)を求める(S507)。

0163

CPU101は、教示点P21,P22によりTCPを直線補間し、p2(s−s1s)を求める(S508)。CPU101は、p2(s−s1s)に対し、逆キネマティクス計算を行い、コンフィグレーションq2(s−s1s)を求める(S509)。

0164

CPU101は、直線補間したコンフィグレーションq1(s)に重みづけするための重み関数fsig1((s−s1s)/(1−s1s))を求める(S510)。CPU101は、直線補間したコンフィグレーションq2(s)に重みづけするための重み関数fsig2((s−s1s)/s2e)を求める(S511)。

0165

CPU101は、q1(s)にfsig1((s−s1s)/(1−s1s))を掛け、q2(s−s1s)にfsig2((s−s1s)/s2e)を掛けて和をとって、q(s)を求める(S512)。CPU101は、コンフィグレーションq(s)を出力する(S513)。

0166

CPU101は、ステップS502の判別で1≦s<1+s1sの場合、教示点P21,P22によりTCPを直線補間し、p2(s−s1s)を求める(S514)。CPU101は、p2(s−s1s)に対し、逆キネマティクス計算を行い、関節空間上のコンフィグレーションであるq2(s−s1s)を求める(S515)。1≦s<1+s1sの区間では、第2局所経路q2(s−s1s)が、ロボット200の経路であり、q(s)=q2(s−s1s)である。CPU101は、コンフィグレーションq(s)を出力する(S516)。

0167

第4実施形態によれば、上記第1実施形態の効果に加えて、教示点に付随する補間方法が、第1直線補間から第2直線補間に切り替わる場合にも、経路の切り替え時に停止せずに、ロボット200の各種物理的制約を守った最適な軌道を生成できる。これは、背景技術で述べた直線補間から直線補間に移る手法と比較して、各種物理的制約を守った最適な軌道を生成できるという点で有利である。また、第4実施形態によれば、経路の繋ぎ合せ区間を意識せずに、直進性が必要な区間をユーザが指定できるため、使用性が上がるという効果がある。

0168

なお、本発明は、以上説明した実施形態に限定されるものではなく、本発明の技術的思想内で多くの変形が可能である。

0169

なお、上記実施形態では、関節空間での繋ぎ合せで説明したが、それに限定されるものではなく、タスク空間で同様の繋ぎ合せを行ってもよい。例えば、TCPの位置及び回転に対し、同様の重み関数を用いて経路の繋ぎ合せを行ってもよい。この場合、最終的には、タスク空間上の経路を、関節空間上の経路に変換して、軌道を生成すればよい。

0170

また、上記実施形態においては、軌道生成装置100が1つのコンピュータにより構成される場合について説明したが、複数のコンピュータにより構成される場合についても本発明は適用可能である。この場合、複数のCPUで本発明の演算部が構成されていてもよい。また、軌道生成装置100とロボットコントローラ300とが別のコンピュータで構成される場合について説明したが、1つのコンピュータで構成されていてもよい。この場合、該コンピュータのCPUが、ロボットの経路を生成して、生成した経路に従ってロボットの動作を制御することとなる。

0171

上記実施形態の各処理動作は具体的にはCPU101により実行されるものである。従って上述した機能を実現するプログラムを記録した記録媒体を軌道生成装置100に供給し、軌道生成装置100を構成するコンピュータ(CPUやMPU)が記録媒体に格納されたプログラムを読み出し実行することによって達成されるようにしてもよい。この場合、記録媒体から読み出されたプログラム自体が上述した実施形態の機能を実現することになり、プログラム自体及びそのプログラムを記録した記録媒体は本発明を構成することになる。

0172

また、上記実施形態では、コンピュータ読み取り可能な記録媒体がHDD104であり、HDD104にプログラム140が格納される場合について説明したが、これに限定するものではない。プログラム140は、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、プログラムを供給するための記録媒体としては、図3に示すROM102や外部記憶装置600、記録ディスク141等を用いてもよい。具体例を挙げて説明すると、記録媒体として、フレキシブルディスクハードディスク光ディスク光磁気ディスクCD−ROM、CD−R、磁気テープ不揮発性メモリカード、ROM等を用いることができる。また、上記実施形態におけるプログラムを、ネットワークを介してダウンロードしてコンピュータにより実行するようにしてもよい。

0173

また、コンピュータが読み出したプログラムコードを実行することにより、上記実施形態の機能が実現されるだけに限定するものではない。そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。

0174

さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれてもよい。そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって上記実施形態の機能が実現される場合も含まれる。

0175

また、上記実施形態では、コンピュータが記録媒体や記憶装置に記録されたプログラムを実行することにより、処理を行う場合について説明したが、これに限定するものではない。プログラムに基づいて動作する演算部の一部又は全部の機能をASICFPGA等の専用LSIで構成してもよい。なお、ASICはApplication Specific IntegratedCircuit、FPGAはField-Programmable Gate Arrayの頭字語である。

0176

100…軌道生成装置、101…CPU(演算部)、140…プログラム、200…ロボット、500…ロボット装置、P11,Q11…第1教示点、P12,Q12…第1補助点、P1a,Q1a…第1途中点、P21,Q21…第2補助点、P22,Q22…第2教示点、P2a,Q2a…第2途中点、s…媒介変数

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

該当するデータがありません

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

該当するデータがありません

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ