JP2009134352A - ロボットの動作経路作成装置及びロボットの動作経路作成方法 - Google Patents
ロボットの動作経路作成装置及びロボットの動作経路作成方法 Download PDFInfo
- Publication number
- JP2009134352A JP2009134352A JP2007307752A JP2007307752A JP2009134352A JP 2009134352 A JP2009134352 A JP 2009134352A JP 2007307752 A JP2007307752 A JP 2007307752A JP 2007307752 A JP2007307752 A JP 2007307752A JP 2009134352 A JP2009134352 A JP 2009134352A
- Authority
- JP
- Japan
- Prior art keywords
- joint
- robot
- joints
- motion path
- joint vector
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39414—7-DOF
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40354—Singularity detection
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40367—Redundant manipulator
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
【課題】7個以上の関節を持つロボットにおいて、特異姿勢を回避した動作経路を高効率に作成するロボットの動作経路作成装置及び動作経路作成方法を提供することを課題とする。
【解決手段】7個以上の関節を持つロボットの動作経路を作成するロボットの動作経路作成装置1であって、ロボットの特定部位の位置及び姿勢を定義する経由点を設定する経由点設定手段3と、経由点に対する関節ベクトルの候補を生成する際に使用する関節の数を6個以下で設定する関節数設定手段3,5と、経由点毎に、ロボットの特定部位が経由点の位置及び姿勢となるための設定した数分の各関節の関節角度を計算し、当該各関節の関節角度からなる関節ベクトルの候補を複数生成する関節ベクトル候補生成手段6と、経由点毎の複数の関節ベクトルの候補の中からロボットが特異姿勢にならない各経由点の関節ベクトルの候補の組み合わせを選択する選択手段7とを備えることを特徴とする。
【選択図】図1
【解決手段】7個以上の関節を持つロボットの動作経路を作成するロボットの動作経路作成装置1であって、ロボットの特定部位の位置及び姿勢を定義する経由点を設定する経由点設定手段3と、経由点に対する関節ベクトルの候補を生成する際に使用する関節の数を6個以下で設定する関節数設定手段3,5と、経由点毎に、ロボットの特定部位が経由点の位置及び姿勢となるための設定した数分の各関節の関節角度を計算し、当該各関節の関節角度からなる関節ベクトルの候補を複数生成する関節ベクトル候補生成手段6と、経由点毎の複数の関節ベクトルの候補の中からロボットが特異姿勢にならない各経由点の関節ベクトルの候補の組み合わせを選択する選択手段7とを備えることを特徴とする。
【選択図】図1
Description
本発明は、7個以上の関節を持つロボットの動作経路を作成するロボットの動作経路作成装置及びロボットの動作経路作成方法に関する。
近年、各種産業用ロボットや人型ロボットなどの様々なロボットが開発されている。例えば、ロボットには、多数の関節を有し、関節間がリンクで連結され、各関節の動作によって多数の自由度を持つロボットがある。この多関節ロボットでは、特異姿勢を回避するような動作経路を作成する必要がある。特異姿勢は、ロボットがある姿勢になったときにある特定の方向に移動させることができないような姿勢である。
6個以下の関節を持つロボットの場合、通常の解析公式を用いて各関節の関節角度を求め、この関節角度と予め求めたおいた特異姿勢に対する関節角度とを比較することによって特異姿勢を回避できるか否かを判断し、特異姿勢を回避した動作経路を作成している。しかし、ロボットに対してより複雑な作業やより滑らかな動きが求められる場合、より多くの関節が必要となるが、7個以上の関節を持つロボットでは上記手法を適用できない。そこで、7個以上の関節を持つロボットの場合、反復計算によって各関節の関節角度を求め、ヤコビ行列から定義された可操作度の指標によって特異姿勢を回避できるか否かを判断し、特異姿勢を回避した動作経路を作成している(特許文献1参照)。
特開平10−329066号公報
特開2006−48372号公報
反復計算やヤコビ行列などを用いた場合、計算量が膨大となるので、リアルタイムで処理することが困難になる。しかし、7個以上の関節を持つロボットに対しても、リアルタイムで特異姿勢を回避した動作経路を作成することが要求されている。
そこで、本発明は、7個以上の関節を持つロボットにおいて、特異姿勢を回避した動作経路を高効率に作成するロボットの動作経路作成装置及び動作経路作成方法を提供することを課題とする。
本発明に係るロボットの動作経路作成装置は、7個以上の関節を持つロボットの動作経路を作成するロボットの動作経路作成装置であって、ロボットの特定部位の位置及び姿勢を定義する経由点を設定する経由点設定手段と、経由点設定手段で設定した経由点に対する関節ベクトルの候補を生成する際に使用する関節の数を6個以下で設定する関節数設定手段と、経由点設定手段で設定した経由点毎に、ロボットの特定部位が経由点の位置及び姿勢となるための関節数設定手段で設定した数分の各関節の関節角度を計算し、当該各関節の関節角度からなる関節ベクトルの候補を複数生成する関節ベクトル候補生成手段と、関節ベクトル候補生成手段で経由点毎に生成した複数の関節ベクトルの候補の中からロボットが特異姿勢にならない各経由点の関節ベクトルの候補の組み合わせを選択する選択手段とを備えることを特徴とする。
このロボットの動作経路作成装置では、経由点設定手段によりロボットの特定部位(例えば、ハンド)の位置と姿勢を定義する経由点を設定するとともに、関節数設定手段により経由点に対する関節ベクトルの候補を生成する際に7個以上の関節の中で幾つの関節を使用するかを6個以下で設定する。そして、動作経路作成装置では、関節ベクトル候補生成手段により、経由点毎に、ロボットの特定部位が経由点の位置と姿勢を実現するための設定した数の各関節の関節角度を計算し、この計算した各関節の関節角度からなる関節ベクトルの候補を複数個生成する。ここで、各経由点について、所定数(6個以下の数)の関節だけを使用した関節ベクトルの候補が複数個生成される。使用されない関節は、固定(初期状態)である。さらに、動作経路作成装置では、選択手段により経由点毎の複数の関節ベクトルの候補の中からロボットが特異姿勢とならない各経由点の関節ベクトルの候補の組み合わせを選択し、この選択した各経由点の関節ベクトルの候補を繋げた動作経路を作成する。このように、この動作経路作成装置では、7個以上の関節の中で6個以下の関節だけを使用して経由点の関節ベクトルの候補を計算するので、7個以上の関節を使用した場合のヤコビ行列や解析公式の反復計算などの処理量の膨大な手法を用いる必要がなく、処理量を軽減でき、高効率に特異姿勢を回避した動作経路を作成することができる。その結果、リアルタイムで動作経路を作成でき、その動作経路に従ってロボットをリアルタイムで動作させることができる。また、動作経路作成装置では、7個以上の関節の中で任意の6個以下の関節を使用できるので(固定する関節を変えることができるので)、実用的な動作経路(例えば、滑らかな動きができる動作経路、多様な動きの動作経路、動作時間の短い動作経路)を作成することができる。
本発明の上記ロボットの動作経路作成装置では、関節数設定手段は、関節の数として小さい数から順に設定する構成としてもよい。この動作経路作成装置では、関節ベクトル候補生成手段と選択手段での処理を関節の数として小さい数から順に(固定する関節の数が多い順に)行うことにより、処理量をより軽減でき、より高効率に特異姿勢を回避した動作経路を作成することができる。
本発明の上記ロボットの動作経路作成装置では、関節数設定手段は、関節の数として大きい数から順に設定する構成としてもよい。この動作経路作成装置では、関節ベクトル候補生成手段と選択手段での処理を関節の数として大きい数から順に(固定する関節の数が少ない順に)行うことにより、より滑らかな動きや多様な動きができる動作経路を作成することができる。
本発明の上記ロボットの動作経路作成装置では、選択手段は、特異姿勢にならない各経由点の関節ベクトルの候補の組み合わせが複数ある場合、当該複数の特異姿勢にならない各経由点の関節ベクトルの候補の組み合わせの中からロボットの動作時間が最も短くなる各経由点の関節ベクトルの候補の組み合わせを選択する構成としてもよい。この動作経路作成装置では、複数の特異姿勢にならない各経由点の関節ベクトルの候補の組み合わせの中からロボットの動作時間が最も短くなる組み合わせを選択することにより、特異姿勢を回避しかつ動作時間の短い動作経路を作成することができる。
本発明に係るロボットの動作経路作成方法は、7個以上の関節を持つロボットの動作経路を作成するロボットの動作経路作成方法であって、ロボットの特定部位の位置及び姿勢を定義する経由点を設定する経由点設定ステップと、経由点設定ステップで設定した経由点に対する関節ベクトルの候補を生成する際に使用する関節の数を6個以下で設定する関節数設定ステップと、経由点設定ステップで設定した経由点毎に、ロボットの特定部位が経由点の位置及び姿勢となるための関節数設定ステップで設定した数分の各関節の関節角度を計算し、当該各関節の関節角度からなる関節ベクトルの候補を複数生成する関節ベクトル候補生成ステップと、関節ベクトル候補生成ステップで経由点毎に生成した複数の関節ベクトルの候補の中からロボットが特異姿勢にならない各経由点の関節ベクトルの候補の組み合わせを選択する選択ステップとを含むことを特徴とする。
本発明の上記ロボットの動作経路作成方法の関節数設定ステップでは、関節の数として小さい数から順に設定する構成としてもよい。
本発明の上記ロボットの動作経路作成方法の関節数設定ステップでは、関節の数として大きい数から順に設定する構成としてもよい。
本発明の上記ロボットの動作経路作成方法の選択ステップでは、特異姿勢にならない各経由点の関節ベクトルの候補の組み合わせが複数ある場合、当該複数の特異姿勢にならない各経由点の関節ベクトルの候補の組み合わせの中からロボットの動作時間が最も短くなる各経由点の関節ベクトルの候補の組み合わせを選択する構成としてもよい。
この各ロボットの動作経路作成方法は、上記の各ロボットの動作経路作成装置と同様の作用及び効果を有する。
本発明は、7個以上の関節の中から任意の6個以下の関節を使用して経由点の関節ベクトルの候補を計算し、その経由点毎の複数の関節ベクトルの候補の中からロボットが特異姿勢にならない関節ベクトルの候補の組み合わせを選択することにより、処理量を軽減でき、特異姿勢を回避した動作経路を高効率に作成することができる。
以下、図面を参照して、本発明に係るロボットの動作経路作成装置及びロボットの動作経路作成方法の実施の形態を説明する。
本実施の形態では、本発明を、7個以上の関節を持つロボットの動作経路を作成する動作経路作成装置に適用する。本実施の形態に係る動作経路作成装置は、ロボットのスタートからゴールまで動作させるための動作経路であって、特異姿勢を回避しかつ障害物と干渉しない動作経路を生成する。
図1〜図5を参照して、本実施の形態に係る動作経路作成装置1について説明する。図1は、本実施の形態に係る動作経路作成装置の構成図である。図2は、本実施の形態で適用されるロボットの一例である。図3は、経由点に対する複数の関節ベクトルの候補の一例である。図4は、各経由点に対して選択された関節ベクトルの一例である。図5は、図1の動作作成部での処理の説明図である。
動作経路作成装置1は、特定部位(例えば、ハンド)の位置及び姿勢で定義される経由点に対する関節ベクトルを求め、スタートの関節ベクトル、各経由点の関節ベクトル、ゴールの関節ベクトルを接続する動作経路を求めることによって、スタートからゴールまでの動作経路を自動的に作成する。特に、動作経路作成装置1は、7個以上の関節を持つロボットの動作経路を高効率に作成するために、7個以上の関節の中で任意の6個以下の関節を使用して各経由点の関節ベクトルの候補を複数求め、経由点毎の複数の関節ベクトルの候補の中からロボットが特異姿勢を回避しかつ障害物と干渉しない各経由点の関節ベクトルの候補の組み合わせを選択する。
そのために、動作経路作成装置1は、データベース2、入力部3、記憶部4、関節選択部5、関節角度計算部6、動作作成部7、出力部8を備えている。動作経路作成装置1の主要部はコンピュータ上あるいはロボット内の電子制御ユニットなどに構成され、特に、関節選択部5、関節角度計算部6、動作作成部7はハードディスクあるいはROM内に格納された各アプリケーションプログラムをRAMにロードし、CPUで実行することによって構成される。
なお、本実施の形態では、入力部3が特許請求の範囲に記載する経由点設定手段に相当し、入力部3及ぶ関節選択部5が特許請求の範囲に記載する関節数設定手段に相当し、関節角度計算部6が特許請求の範囲に記載する関節ベクトル候補生成手段に相当し、動作作成部7が特許請求の範囲に記載する選択手段に相当する。
まず、本実施の形態に適用されるロボットについて説明する。図2にはロボットの一例を示している。ロボットRは、7個の関節J1,・・・,J7を備えており、関節間がリンクL1,・・・,L8で接続されている。また、ロボットRは、末端のリンクL1の一端が固定され、先端のリンクL8の一端にハンドHが取り付けられている。各関節J1,・・・,J7は、アクチュエータが内蔵されており、回転動作をそれぞれ行う。特に、関節J1,J3,J5,J7は、捩り関節であり、リンク方向と平行な回転軸を持ち、接続される2本のリンク間におけるその回転軸回りの角度a1,a3,a5,a7をそれぞれ変更する。関節J2,J4,J6は、曲げ関節であり、リンク方向と直交する回転軸を持ち、接続される2本のリンク間におけるその回転軸回りの角度a2,a4,a6をそれぞれ変更する。なお、図2に示す例では7個の関節を持つロボットRを示したが、7個以上のn個の関節を持つロボットであればよい。
このように、ロボットRは、n個の自由度(図2の例では、7個の自由度)を持つ。この自由度は、n個の角度に対して座標軸を持つn次元座標空間(関節空間)における一点(a1,・・・,an)で表される。また、ロボットRの実際の位置姿勢は、3次元空間(作業空間)におけるロボットRの特定部位の位置(図2の例では、リンクL8とハンドHとの取付部Tの座標位置(Y1,Y2,Y3))と姿勢(図2の例では、ハンドHの姿勢)で表される。
n個の関節角度a1,・・・,anによって、q=(a1,・・・,an)Tを定義し、これを関節ベクトルと呼ぶ。関節ベクトルqは、時間の関数であり、時系列で一定時間毎のq(1),・・・q(k−1),q(k),q(k+1),・・・で表される。したがって、時間tにおける関節ベクトルqは、q(t)=(a1(t),・・・,an(t))Tとなる。したがって、ロボットの動作経路としては、特定部位がスタートから各経由点を通過してゴールに至るための関節ベクトルqの時系列データからなる。
それでは、動作経路作成装置1の各部について説明する。データベース2は、ハードディスクあるいはRAMの所定の領域に構成される。データベース2には、ロボットの形状データ(ロボットの各部の形状、大きさなど)、構造データ(リンク長、関節の種類、関節の最大回転角範囲など)、ロボットが作業を行う環境データ(障害物情報、ロボットの作業対象物体情報など)、ロボットの特異姿勢データなどが格納される。障害物情報としては、障害物の位置、形状、大きさなどである。特異姿勢はロボットがある姿勢になったときにある特定の方向に移動させることができないような姿勢であるので、特異姿勢情報としてはある姿勢となる各関節の関節角度である。なお、環境データについては、データベース2に予め格納しておくのではなく、ロボットに備えられる各種センサ(ミリ波センサ、超音波センサ、レーザセンサ、レンジファインダ、カメラセンサなど)によって取得してもよい。この場合、取得した環境データは、記憶部4に記憶される。
入力部3は、作業者が入力や選択するための手段であり、例えば、マウス、キー、タッチ式である。作業者が入力部3から入力や選択するものとしては、ロボットの特定部位(例えば、ハンド(特に、手首、指先など))、特定部位のスタートとゴールの位置及び姿勢(関節ベクトルqで規定される位置及び姿勢)、特定部位の経由点(ロボットが作業を行う上で特定部位が必ず通過しなければならない点)、特定部位に線形拘束条件(特定部位を隣接する経由点間において直線上で移動させるという条件)を課した場合の隣接する経由点間の経由点、特定部位の経由点に対する関節ベクトルの候補を求める際の関節の数である。関節の数は、6個以下の正の数であり、6個以下の数であれば1つの数値(例えば、6)でもよいし、複数の数値(数値範囲でもよい)(例えば、4と5と6)でもよい。経由点の指定は、特定部位の位置と姿勢で指定され、例えば、ハンドの場合にはハンドの手首の位置とハンドの姿勢が指定される。
なお、基本となる経由点を指定した後に、入力部3のマウスなどを使ってリアルタイムで経由点間に新たな経由点を順次指定していくことも可能である。
記憶部4は、RAMの所定の領域に構成される。記憶部4には、関節選択部5、関節角度計算部6、動作作成部7における各処理結果などが一時記憶される。
関節選択部5では、入力部3で指定された関節の数に基づいて関節角度計算部6で特定部位の経由点に対する関節ベクトルの候補を計算する際に使用する関節使用数mを決定し、関節角度計算部6で関節ベクトルの候補を計算する毎にn個の関節の中からm個の関節を選択する(言い換えると、(n−m)個の固定する関節を選択する)。
入力部3で関節の数が1個だけ指定されている場合、その指定されている関節の数を関節使用数mと決定する。入力部3で関節の数が複数個指定されている場合、関節使用数mとして複数の数の中から小さい数から順に決定してよいし、あるいは、関節使用数mとして複数の数の中から大きい数から順に決定してもよい。関節使用数mを小さい数にするほど、少ない関節を使用した計算となるので、計算量を軽減できる。関節使用数mを大きい数にするほど、多くの関節を使用してロボットを動作させることができるので、より複雑な動作経路やより多様な動きの動作経路を作成できる。
m個の関節の選択方法としては、ランダムに選択してもよいし、経験的に予め決められたパターンに基づいて選択してもよい。ちなみに、図2に示す例のロボットRの場合、最も広く産業ロボットとして使用されている構造とする場合には関節J3を固定し、人間のアームに似た構造とする場合には関節J7を固定するように、関節を選択する。
例えば、入力部3で関節の数として6だけが指定された場合、関節使用数m=6と決定し、n個の関節の中から任意の6個の関節を選択する。入力部3で関節の数として4と5と6が指定された場合、計算量を軽減するために関節使用数m=4と決定し、n個の関節の中から任意の4個の関節を選択し、関節角度計算部6や動作作成部7での処理を関節使用数m=4から始めてもよいし、あるいは、より実用的な動作経路を作成するために関節使用数m=6と決定し、n個の関節の中から任意の6個の関節を選択し、関節角度計算部6や動作作成部7での処理を関節使用数m=6から処理を始めてもよい。
関節角度計算部6では、経由点毎に、特定部位が経由点の位置及び姿勢となるための関節ベクトルの候補を複数個生成する。具体的には、関節角度計算部6では、関節選択部5で選択したm個の関節だけを使用し、残りの(n−m)個の関節を固定(つまり、関節角度を初期値に固定)した状態で逆運動の解析公式で計算を行い、経由点の位置及び姿勢となるためのm個の関節の関節角度をそれぞれ求める。この逆運動の解析公式は、従来の解析公式を適用する。これによって、m個の関節の各関節角度と(n−m)個の関節の初期値の関節角度からなる関節ベクトルの候補が生成される。関節ベクトルの候補の個数は、動作経路作成装置1の処理能力を考慮してリアルタイムでの処理が可能な数が設定され、予め設定された固定値でもよいしあるいは作業者が入力部3で入力してもよい。この関節ベクトルの候補の個数は、計算量を軽減するためには少ない方がよく、より実用的な動作経路を作成するためには多い方がよい。
図3には、ハンドH(特定部位)のある経由点を定義する位置及び姿勢を実現するための複数の関節ベクトルの候補の各関節の関節角度とした場合のロボットR,・・・を示している。このように、ハンドHの位置及び姿勢は全て同じであるが、各関節の関節角度が異なる関節ベクトルの候補が複数個生成される。そして、全ての経由点に対して、各関節の関節角度が異なる関節ベクトルの候補が複数個生成される。なお、n個の関節のうち任意の(n−m)個の関節は初期角度で固定である。
図4には、ハンドHの2つの経由点1、経由点2をそれぞれ定義する位置及び姿勢を実現するための関節ベクトルの各関節の関節角度とした場合のロボットR1とロボットR2を示している。このように、各経由点についての複数の関節ベクトルの候補の中から特異姿勢にならない関節ベクトルの候補の組み合わせが選択され、各経由点について1個づつ選択された関節ベクトルにより、各経由点での各関節の関節角度が規定される。
図5には、4つに経由点1、経由点2、経由点3、経由点4に対してそれぞれ5個の関節ベクトルの候補{q11,・・・,q15}、{q21,・・・,q25}、{q31,・・・,q35}、{q41,・・・,q45}が生成された例を示しており、(a)図が関節使用数m=4の場合であり、(b)図が関節使用数m=5の場合であり、(c)図が関節使用数m=6の場合である。
動作作成部7では、経由点毎の複数の関節ベクトルの候補の中からロボットが特異姿勢にならないかつ障害物と干渉しない各経由点の関節ベクトルの候補の組み合わせを選択し、その選択した関節ベクトルの組み合わせによるスタートからゴールまでの動作経路を作成する。
具体的には、動作作成部7では、各経由点の全ての関節ベクトルの候補について、隣接する経由点の各関節ベクトルの候補間、スタートの関節ベクトルと隣接する経由点の関節ベクトルの候補間、ゴールの関節ベクトルと隣接する経由点の関節ベクトル間を接続するための動作経路(時系列の関節ベクトル)をそれぞれ計算する。この計算過程で、動作作成部7では、ロボットが特異姿勢になったか否か判定するとともに、ロボットが障害物に干渉するか否かを判定する。そして、動作作成部7では、ロボットが特異姿勢になったと判定した場合又はロボットが障害物に干渉したと判定した場合、その経由点の関節ベクトルの候補間の計算を中断し、その経由点の関節ベクトルの候補間の動作経路を無しとする。動作経路の計算方法としては、経由点間の間隔が短い場合には線形補間計算によって関節ベクトルを生成し、間隔が長い場合には順運動の解析公式による計算によって関節ベクトルを生成する。順運動の解析公式は、従来の解析公式を適用する。
なお、基本となる経由点を指定した後に、入力部3のマウスなどを使ってリアルタイムで経由点間に新たな経由点が順次指定された場合、その経由点については逆運動計算によって関節ベクトルを生成する。これによって、経由点間の間隔が短くなる。経由点間の間隔が極端に短くなると、経由点間を接続するための動作経路が必要なくなるので、逆運動計算だけで動作経路が生成される場合もある。
図5に示す例の場合、4つの経由点にそれぞれ5個の関節ベクトルの候補があるので、隣接する経由点の各関節ベクトルの候補間が75通りあり、経由点1〜経由点4における関節ベクトルの候補の全ての組み合わせとしては54通りあり、隣接する経由点の各関節ベクトルの候補間において特異姿勢を回避しかつ障害物と干渉しない動作経路を生成できた場合には線分で結んでいる。関節使用数m=4の場合、経由点1の関節ベクトルの候補q11と経由点2の関節ベクトルの候補q21、経由点1の関節ベクトルの候補q15と経由点2の関節ベクトルの候補q25などの線分で結ばれた6個の関節ベクトルの候補間において特異姿勢を回避しかつ障害物と干渉しない動作経路を生成できた。関節使用数m=5の場合、経由点1の関節ベクトルの候補q11と経由点2の関節ベクトルの候補q22、経由点1の関節ベクトルの候補q12と経由点2の関節ベクトルの候補q21などの線分で結ばれた9個の関節ベクトルの候補間において特異姿勢を回避しかつ障害物と干渉しない動作経路を生成できた。関節使用数m=6の場合、経由点1の関節ベクトルの候補q11と経由点2の関節ベクトルの候補q21、経由点1の関節ベクトルの候補q11と経由点2の関節ベクトルの候補q22などの線分で結ばれた16個の関節ベクトルの候補間において特異姿勢を回避しかつ障害物と干渉しない動作経路を生成できた。なお、図5に示していないが、スタートの関節ベクトルと経由点1の5個の関節ベクトルの候補間及び経由点4の5個の関節ベクトルの候補とゴールの関節ベクトル間を接続するための計算も行われる。
関節ベクトルの候補間を接続するための全ての計算が終了すると、動作作成部7では、関節ベクトルの候補間を接続するとともに特異姿勢を回避しかつ障害物と干渉しない動作経路を生成できたものに基づいて、スタートの関節ベクトル、ゴールの関節ベクトル及び全ての経由点の関節ベクトルの候補間を連続的に繋ぐことができる各経由点の関節ベクトルの候補の組み合わせを探索する。
図5に示す例では、4つの経由点の関節ベクトルの候補間を連続的に繋ぐことができる関節ベクトルの候補の組み合わせは、関節使用数m=4の場合には無く、関節使用数m=5の場合には関節ベクトルの候補q11、q22、q33、q42の組み合わせ、関節ベクトルの候補q11、q22、q33、q45の組み合わせ、関節ベクトルの候補q15、q23、q33、q42の組み合わせ、関節ベクトルの候補q15、q23、q33、q45の組み合わせがあり、関節使用数m=6の場合には関節ベクトルの候補q11、q22、q33、q42の組み合わせ、関節ベクトルの候補q11、q22、q33、q45の組み合わせ、関節ベクトルの候補q11、q24、q32、q41の組み合わせ、関節ベクトルの候補q11、q24、q32、q42の組み合わせ、関節ベクトルの候補q13、q25、q35、q43の組み合わせ、関節ベクトルの候補q15、q22、q33、q42の組み合わせ、関節ベクトルの候補q15、q22、q33、q45の組み合わせがある。
関節ベクトルの候補の組み合わせがある場合、動作作成部7では、組み合わせが1つの場合にはその組み合わせを確定し、組み合わせが複数個ある場合には各組み合わせによる動作経路でロボットを動作させた場合の動作時間を比較し、ロボットの動作時間が最も短くなる組み合わせを選択する。関節ベクトルの候補の組み合わせが無い場合、関節選択部5において関節使用数mを再度決定し、関節使用数mを変えて処理を行う。なお、入力部3で指定された全ての関節の数について関節ベクトルの候補の組み合わせが無い場合、作業者が経由点を再指定し、経由点を変えて処理を行う。
関節ベクトルの候補の組み合わせが唯一決定すると、動作作成部7では、その組み合わせによる各経由点の関節ベクトル及び隣接する経由点の各関節ベクトル間の動作経路(関節ベクトルの時系列)を時系列に並べ、スタートからゴールまでの時系列で連続する関節ベクトルからなる動作経路を作成する。
出力部8は、動作作成部7で作成した動作経路を出力する手段である。出力部8は、例えば、モニタ、プリンタ、ロボットを動作させる制御部との通信を行う通信装置である。また、出力部8は、ロボットを動作させる制御部としての機能を有する場合、動作経路における各関節ベクトルに従ってロボットの各関節のアクチュエータを駆動制御する。
図1を参照して、動作経路作成装置1の動作を説明する。動作経路作成装置1のデータベース2には、ロボットの形状データや構造データ、環境データ、ロボットの特異姿勢データなどが予め格納される。動作経路作成装置1では、作業者によって入力部3から、ロボットの特定部位、ロボットのスタートとゴールの位置及び姿勢(関節ベクトル)、特定部位の経由点、関節の数などが入力される。
関節選択部5では、入力部3で指定された関節の数に基づいて関節使用数m(6個以下)を決定する。例えば、関節使用数mとして、入力部3で指定された関節の数の中から小さい数から順に決定する。
関節使用数mが設定されると、関節選択部5では、n個の関節の中からm個の関節を選択する。m個の関節が選択されると、関節角度計算部6では、逆運動の解析公式により、特定部位が経由点の位置及び姿勢を実現するためのm個の関節の関節角度を計算し、そのm個の関節の関節角度と(n−m)個の関節の初期値の関節角度からなる関節ベクトルの候補を生成する。関節選択部5及び関節角度計算部6では、上記の処理を入力部3で指定された各経由点について所定回数行い、各経由点について所定個の関節ベクトルの候補を生成する。この所定個は、予め設定された個数かあるいは作業者が入力部3から指定した個数である。
各経由点について所定個の関節ベクトルの候補が計算されると、動作作成部7では、隣接する経由点の各関節ベクトルの候補間又はスタートの関節ベクトルと隣接する経由点の関節ベクトルの候補間又はゴールの関節ベクトルと隣接する経由点の関節ベクトルの候補間を接続するとともにロボットが特異姿勢を回避しかつ障害物と干渉しない動作経路を計算する。動作作成部7では、隣接する経由点の各関節ベクトルの候補間の全ての組み合わせ、スタートの関節ベクトルと隣接する経由点の関節ベクトルの候補間の全ての組み合わせ、ゴールの関節ベクトルと隣接する経由点の関節ベクトルの候補間の全ての組み合わせについて上記の処理を行う。
全ての組み合わせについて計算が終了すると、動作作成部7では、関節ベクトルの候補間を接続するとともに特異姿勢を回避しかつ障害物と干渉しない動作経路を生成できたものに基づいて、スタートの関節ベクトル、ゴールの関節ベクトル及び全ての経由点の関節ベクトルの候補間を連続的に繋ぐことができる各経由点での関節ベクトルの候補の組み合わせを探索する。
関節ベクトルの候補の組み合わせを複数個探索できた場合、動作作成部7では、各組み合わせによる動作経路でロボットを動作させた場合の動作時間を比較し、ロボットの動作時間が最も短くなる組み合わせを選択する。関節ベクトルの候補の組み合わせを1個探索できた場合、動作作成部7では、その組み合わせを確定する。
関節ベクトルの候補の組み合わせを探索できなかった場合、関節選択部5での上記処理に戻り、関節使用数mを再度決定し、関節使用数mを変えて上記処理を再度行う。
関節ベクトルの候補の組み合わせが唯一決定すると、動作作成部7では、その組み合わせによる各経由点についての関節ベクトル及び隣接する経由点の各関節ベクトル間の動作経路(関節ベクトルの時系列)を時系列に並べ、スタートからゴールまでの時系列で連続する関節ベクトルからなる動作経路を作成する。
動作経路を作成すると、動作経路作成装置1では、出力部8によって、動作経路を出力する。
この動作経路作成装置1によれば、7個以上の関節の中で6個以下の関節だけを使用して経由点の関節ベクトルの候補を計算することにより、7個以上の関節を使用した場合の複雑な計算を行う必要がなく、計算量を軽減でき、特異姿勢を回避しかつ障害物と干渉しない動作経路を計算効率良く作成することができる。その結果、リアルタイムで動作経路を作成でき、その動作経路に従ってロボットをリアルタイムで動作させることができる。また、動作経路作成装置1によれば、7個以上の関節の中で任意の6個以下の関節を使用できるので(固定する関節を変えることができるので)、滑らかな動きができる動作経路、多様な動きの動作経路、動作時間の短い動作経路などの実用的な動作経路を作成することができる。
また、動作経路作成装置1では、関節使用数mとして小さい数から順に処理を行うことにより、計算する際に使用する関節数が少なくなるので、計算量をより軽減でき、より効率良く動作経路を作成することができる。また、動作経路作成装置1では、関節使用数mとして大きい数から順に処理を行うことにより、使用する関節数が多くなるので、より滑らかな動きや多様な動きのできる実用的な動作経路を作成することができる。
また、動作経路作成装置1では、各経由点の関節ベクトルの候補の組み合わせを複数個探索できた場合にはロボットの動作時間が最も短くなる組み合わせを選択することにより、特異姿勢を回避しかつ障害物と干渉せずかつ動作時間の短い動作経路を作成することができる。
以上、本発明に係る実施の形態について説明したが、本発明は上記実施の形態に限定されることなく様々な形態で実施される。
例えば、本実施の形態では7個の関節を持つロボットの一例を示したが、7個以上の関節を持つ様々な形態のロボットに適用可能である。
また、本実施の形態では障害物との干渉判定を行い、障害物を回避する動作経路を作成する構成としたが、ロボット周辺に障害物が存在しない場合には障害物との干渉判定を行う必要はない。
また、本実施の形態では特異姿勢を回避した各経由点の関節ベクトルの候補の組み合わせが複数ある場合、ロボットの動作時間が最も短くなる組み合わせを選択する構成としたが、他の条件に基づいて組み合わせを選択するようにしてもよい。
また、マウス操作によって画面上のロボットの特定部位(手首など)を動かす場合(すなわち、経由点を作成する場合)においても、ロボットの所望の動作経路を作成できるようにする。
1…動作経路作成装置、2…データベース、3…入力部、4…記憶部、5…関節選択部、6…関節角度計算部、7…動作作成部、8…出力部
Claims (8)
- 7個以上の関節を持つロボットの動作経路を作成するロボットの動作経路作成装置であって、
ロボットの特定部位の位置及び姿勢を定義する経由点を設定する経由点設定手段と、
前記経由点設定手段で設定した経由点に対する関節ベクトルの候補を生成する際に使用する関節の数を6個以下で設定する関節数設定手段と、
前記経由点設定手段で設定した経由点毎に、ロボットの特定部位が経由点の位置及び姿勢となるための前記関節数設定手段で設定した数分の各関節の関節角度を計算し、当該各関節の関節角度からなる関節ベクトルの候補を複数生成する関節ベクトル候補生成手段と、
前記関節ベクトル候補生成手段で経由点毎に生成した複数の関節ベクトルの候補の中からロボットが特異姿勢にならない各経由点の関節ベクトルの候補の組み合わせを選択する選択手段と
を備えることを特徴とするロボットの動作経路作成装置。 - 前記関節数設定手段は、関節の数として小さい数から順に設定することを特徴とする請求項1に記載するロボットの動作経路作成装置。
- 前記関節数設定手段は、関節の数として大きい数から順に設定することを特徴とする請求項1に記載するロボットの動作経路作成装置。
- 前記選択手段は、特異姿勢にならない各経由点の関節ベクトルの候補の組み合わせが複数ある場合、当該複数の特異姿勢にならない各経由点の関節ベクトルの候補の組み合わせの中からロボットの動作時間が最も短くなる各経由点の関節ベクトルの候補の組み合わせを選択することを特徴とする請求項1〜請求項3のいずれか1項に記載するロボットの動作経路作成装置。
- 7個以上の関節を持つロボットの動作経路を作成するロボットの動作経路作成方法であって、
ロボットの特定部位の位置及び姿勢を定義する経由点を設定する経由点設定ステップと、
前記経由点設定ステップで設定した経由点に対する関節ベクトルの候補を生成する際に使用する関節の数を6個以下で設定する関節数設定ステップと、
前記経由点設定ステップで設定した経由点毎に、ロボットの特定部位が経由点の位置及び姿勢となるための前記関節数設定ステップで設定した数分の各関節の関節角度を計算し、当該各関節の関節角度からなる関節ベクトルの候補を複数生成する関節ベクトル候補生成ステップと、
前記関節ベクトル候補生成ステップで経由点毎に生成した複数の関節ベクトルの候補の中からロボットが特異姿勢にならない各経由点の関節ベクトルの候補の組み合わせを選択する選択ステップと
を含むことを特徴とするロボットの動作経路作成方法。 - 前記関節数設定ステップでは、関節の数として小さい数から順に設定することを特徴とする請求項5に記載するロボットの動作経路作成方法。
- 前記関節数設定ステップでは、関節の数として大きい数から順に設定することを特徴とする請求項5に記載するロボットの動作経路作成方法。
- 前記選択ステップでは、特異姿勢にならない各経由点の関節ベクトルの候補の組み合わせが複数ある場合、当該複数の特異姿勢にならない各経由点の関節ベクトルの候補の組み合わせの中からロボットの動作時間が最も短くなる各経由点の関節ベクトルの候補の組み合わせを選択することを特徴とする請求項5〜請求項7のいずれか1項に記載するロボットの動作経路作成方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007307752A JP2009134352A (ja) | 2007-11-28 | 2007-11-28 | ロボットの動作経路作成装置及びロボットの動作経路作成方法 |
PCT/JP2008/071442 WO2009069653A1 (ja) | 2007-11-28 | 2008-11-26 | ロボットの動作経路作成装置及びロボットの動作経路作成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007307752A JP2009134352A (ja) | 2007-11-28 | 2007-11-28 | ロボットの動作経路作成装置及びロボットの動作経路作成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009134352A true JP2009134352A (ja) | 2009-06-18 |
Family
ID=40678547
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007307752A Pending JP2009134352A (ja) | 2007-11-28 | 2007-11-28 | ロボットの動作経路作成装置及びロボットの動作経路作成方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2009134352A (ja) |
WO (1) | WO2009069653A1 (ja) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013175666A1 (ja) * | 2012-05-25 | 2013-11-28 | 大日本スクリーン製造株式会社 | 把持機構の軌道生成装置、把持機構の軌道生成方法、把持機構の軌道生成プログラム、記録媒体、ロボットプログラム作成装置 |
JP2014050952A (ja) * | 2012-09-10 | 2014-03-20 | Fanuc Robotics America Inc | 冗長ロボットを制御する方法 |
JP2016002627A (ja) * | 2014-06-18 | 2016-01-12 | 株式会社Ihi | 加工軌道生成装置と方法 |
JP2016016474A (ja) * | 2014-07-08 | 2016-02-01 | 株式会社ダイヘン | ロボット制御装置 |
US20210178590A1 (en) * | 2019-12-13 | 2021-06-17 | Edda Technology, Inc. | Fast method for robot path planning with obstacle avoidance |
CN113305881A (zh) * | 2021-05-14 | 2021-08-27 | 北京配天技术有限公司 | 机器人运动规划阶段的奇异区域检测方法 |
US11389948B2 (en) * | 2019-10-11 | 2022-07-19 | Seiko Epson Corporation | Teaching method |
JP2022190235A (ja) * | 2021-06-14 | 2022-12-26 | キヤノン株式会社 | 情報処理装置、情報処理方法、ロボットシステム、物品の製造方法、プログラム及び記録媒体 |
WO2023276149A1 (ja) * | 2021-07-02 | 2023-01-05 | ファナック株式会社 | 最適化支援装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105082134B (zh) * | 2015-08-06 | 2017-03-08 | 珞石(北京)科技有限公司 | 一种基于多判据的六自由度串联机器人奇异性处理方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6416389A (en) * | 1987-07-11 | 1989-01-19 | Agency Ind Science Techn | Control system of multi-joint type arm robot having redundancy |
JP4735795B2 (ja) * | 2003-12-26 | 2011-07-27 | 独立行政法人 宇宙航空研究開発機構 | 冗長マニピュレータの制御方法 |
JP4693643B2 (ja) * | 2006-01-30 | 2011-06-01 | 川崎重工業株式会社 | ロボットの教示支援装置及びそのためのプログラム |
-
2007
- 2007-11-28 JP JP2007307752A patent/JP2009134352A/ja active Pending
-
2008
- 2008-11-26 WO PCT/JP2008/071442 patent/WO2009069653A1/ja active Application Filing
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013175666A1 (ja) * | 2012-05-25 | 2013-11-28 | 大日本スクリーン製造株式会社 | 把持機構の軌道生成装置、把持機構の軌道生成方法、把持機構の軌道生成プログラム、記録媒体、ロボットプログラム作成装置 |
JP2014050952A (ja) * | 2012-09-10 | 2014-03-20 | Fanuc Robotics America Inc | 冗長ロボットを制御する方法 |
JP2016002627A (ja) * | 2014-06-18 | 2016-01-12 | 株式会社Ihi | 加工軌道生成装置と方法 |
JP2016016474A (ja) * | 2014-07-08 | 2016-02-01 | 株式会社ダイヘン | ロボット制御装置 |
US11389948B2 (en) * | 2019-10-11 | 2022-07-19 | Seiko Epson Corporation | Teaching method |
US20210178590A1 (en) * | 2019-12-13 | 2021-06-17 | Edda Technology, Inc. | Fast method for robot path planning with obstacle avoidance |
US11919170B2 (en) * | 2019-12-13 | 2024-03-05 | Edda Technology, Inc. | Fast method for robot path planning with obstacle avoidance |
CN113305881A (zh) * | 2021-05-14 | 2021-08-27 | 北京配天技术有限公司 | 机器人运动规划阶段的奇异区域检测方法 |
CN113305881B (zh) * | 2021-05-14 | 2022-07-12 | 北京配天技术有限公司 | 机器人运动规划阶段的奇异区域检测方法 |
JP2022190235A (ja) * | 2021-06-14 | 2022-12-26 | キヤノン株式会社 | 情報処理装置、情報処理方法、ロボットシステム、物品の製造方法、プログラム及び記録媒体 |
JP7528028B2 (ja) | 2021-06-14 | 2024-08-05 | キヤノン株式会社 | 情報処理装置、情報処理方法、ロボットシステム、物品の製造方法、プログラム及び記録媒体 |
WO2023276149A1 (ja) * | 2021-07-02 | 2023-01-05 | ファナック株式会社 | 最適化支援装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2009069653A1 (ja) | 2009-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009134352A (ja) | ロボットの動作経路作成装置及びロボットの動作経路作成方法 | |
JP5044991B2 (ja) | 経路作成装置及び経路作成方法 | |
JP4941068B2 (ja) | 経路作成方法及び経路作成装置 | |
JP2009032189A (ja) | ロボットの動作経路生成装置 | |
US8666548B2 (en) | Path planning apparatus of robot and method thereof | |
US8483874B2 (en) | Path planning apparatus of robot and method and computer-readable medium thereof | |
Palmer et al. | Real-time method for tip following navigation of continuum snake arm robots | |
US8825209B2 (en) | Method and apparatus to plan motion path of robot | |
Zha | Optimal pose trajectory planning for robot manipulators | |
Zacharias et al. | Making planned paths look more human-like in humanoid robot manipulation planning | |
JP4693643B2 (ja) | ロボットの教示支援装置及びそのためのプログラム | |
JP5580850B2 (ja) | シリアルロボットのための迅速な把持接触計算 | |
KR102300752B1 (ko) | 주어진 엔드-이펙터 경로를 정확하게 따라가기 위한 리던던트 매니퓰레이터의 충돌 없는 궤적 최적화 방법 및 장치 | |
JP2009521751A (ja) | 多関節システムの姿勢の再構築、リターゲット、軌道追従及び推定 | |
JP5361004B2 (ja) | 円滑経路生成装置および円滑経路生成方法 | |
WO2021033486A1 (ja) | モデル生成装置、モデル生成方法、制御装置及び制御方法 | |
JP2022042972A5 (ja) | ||
JP4760732B2 (ja) | 経路作成装置 | |
Waltersson et al. | Planning and control for cable-routing with dual-arm robot | |
WO2021033471A1 (ja) | 制御装置、制御方法、及び制御プログラム | |
JP2007000954A (ja) | ロボット教示装置及び方法 | |
Bouzid et al. | Investigating feed-forward back-propagation neural network with different hyperparameters for inverse kinematics of a 2-DoF robotic manipulator: A comparative study | |
JP2009274180A (ja) | ロボット動作計画方法及び装置 | |
JP7263987B2 (ja) | 制御装置、制御方法、及び制御プログラム | |
JP5447811B2 (ja) | 経路計画生成装置および該方法ならびにロボット制御装置およびロボットシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090707 |