JP6023517B2 - 算出装置、制御装置、及び算出方法 - Google Patents

算出装置、制御装置、及び算出方法 Download PDF

Info

Publication number
JP6023517B2
JP6023517B2 JP2012195738A JP2012195738A JP6023517B2 JP 6023517 B2 JP6023517 B2 JP 6023517B2 JP 2012195738 A JP2012195738 A JP 2012195738A JP 2012195738 A JP2012195738 A JP 2012195738A JP 6023517 B2 JP6023517 B2 JP 6023517B2
Authority
JP
Japan
Prior art keywords
shape
teaching
calculation
information
inward
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.)
Active
Application number
JP2012195738A
Other languages
English (en)
Other versions
JP2014050902A (ja
Inventor
光介 上田
光介 上田
英利 神谷
英利 神谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Daihen Corp
Original Assignee
Daihen Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Daihen Corp filed Critical Daihen Corp
Priority to JP2012195738A priority Critical patent/JP6023517B2/ja
Publication of JP2014050902A publication Critical patent/JP2014050902A/ja
Application granted granted Critical
Publication of JP6023517B2 publication Critical patent/JP6023517B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)

Description

本発明は、3次元形状を用いて内回り開始位置を算出する算出装置等に関する。
従来、産業用ロボットにおいて、ある教示点と、その前後の教示点からなる2個の軌道を合成し、内回りする軌道を生成することが行われている(例えば、特許文献1参照)。そのような内回り軌道を用いる利点は、次の通りである。ある教示点において、移動方向と速さが不連続に変化した場合には、その教示点で大きな加速度が発生する。その結果、振動が引き起こされ、所要の精度が得られなかったり、無理な力が加わることによってウェハやガラス基板等の搬送対象や機械本体の破損を招いたりする。そのような破損等を回避するため、その教示点において速度が0になるようにすると、移動に余分な時間がかかることになる。一方、内回り軌道を用いることによって、それらの問題を解決することができる。
特開平8−123531号公報
しかしながら、内回り軌道の開始点を適切に設定できないという問題があった。例えば、A点からB点までの直線軌道と、B点からC点までの直線軌道とが教示されており、B点について内回り軌道を用いる場合には、B点から内回り開始位置までの距離である内回り開始距離を設定することが行われていた。そのような場合に、すべての内回り軌道において同じ内回り開始距離を設定した場合には、干渉の起こる可能性がある。例えば、ウェハやガラス基板等の搬送対象の搬送先となるスロットは、入口の横幅に対して縦幅が小さくなっている。したがって、図10Aで示されるように、縦方向に移動する場合であって、内回り開始距離が長い場合には、ハンド3aに載置された搬送対象50がスロット52と干渉する可能性がある。一方、そのような干渉が起こらないように内回り開始距離を短くすると、図10Bで示されるように、横方向に移動する場合には、内回り軌道が必要以上に小さくなり、内回りによるタクトタイム短縮の効果が得られなくなる。すなわち、画一的な内回り開始距離の設定を行っていた場合には、干渉が発生しうるという問題があり、また、干渉を防止するためには移動時間が長くなるという問題があった。
本発明は、上記課題を解決するためになされたものであり、内回り軌道を用いる場合に、干渉を防止すると共に、移動時間の長期化を防止できる装置等を提供することを目的とする。
上記目的を達成するため、本発明による算出装置は、モータによって駆動される関節によって連結された複数のアームを有するマニピュレータの2以上の教示点を示す教示情報が記憶される教示情報記憶部と、基準点の設定された3次元形状であり、第1の方向の長さ、及び第1の方向と異なる方向である第2の方向の長さを独立して設定可能な3次元形状である位置算出用形状を示す形状情報が記憶される形状情報記憶部と、教示情報によって示される隣接する2個の教示点に関し、2個の教示点間の線分と、終点側の教示点を基準点とする、形状情報によって示される位置算出用形状との交点である内回り開始位置を算出する算出部と、を備えたものである。
このような構成により、形状情報を適切に設定することにより、移動方向に応じて内回り開始距離を変更することができる。その結果、干渉を防止できると共に、移動時間を短縮できる。
また、本発明による算出装置では、教示情報は、教示点におけるマニピュレータの先端の姿勢をも示す情報であり、位置算出用形状には、基準となる方向である基準方向も設定されており、算出部は、終点側の教示点を基準点とし、終点側の教示点におけるマニピュレータの先端の姿勢と基準方向とを合わせた位置算出用形状と、2個の教示点間の線分との交点である内回り開始位置を算出してもよい。
このような構成により、マニピュレータの先端の姿勢も考慮するため、より適切な内回り開始位置の決定を行うことができる。
また、本発明による算出装置では、第1の方向は鉛直方向であり、第2の方向は水平方向であってもよい。
このような構成により、鉛直方向と水平方向とで内回り開始距離を異なるようにすることができる。例えば、搬送ロボットがスロットにアクセスする場合などに有用である。
また、本発明による算出装置では、位置算出用形状は、鉛直方向及び水平方向の長さが異なる直方体であってもよい。
また、本発明による制御装置は、上記算出装置と、教示情報と、算出部が算出した内回り開始位置とを用いて、内回り開始位置から内回り軌道が開始されるように、モータの制御を行うサーボコントローラを制御する軌道制御部と、を備えたものである。
このような構成により、形状情報を適切に設定することにより、適切な内回り開始位置を用いた制御を行うことができるようになる。
本発明による算出装置等によれば、内回り開始位置の算出で用いる形状情報を適切に設定することにより、干渉の防止と、移動時間の短縮とを両立することができる。
本発明の実施の形態1による産業用ロボットの構成を示すブロック図 同実施の形態におけるマニピュレータとカセットとの位置関係を示す図 同実施の形態における軌道とスロットとの一例を示す図 同実施の形態における軌道とスロット等を示す図 同実施の形態における位置算出用形状について説明するための図 同実施の形態における位置算出用形状について説明するための図 同実施の形態における位置算出用形状の一例を示す図 同実施の形態における内回り軌道の一例を示す図 同実施の形態における内回り軌道の一例を示す図 同実施の形態における直線軌道に応じた速度の時間変化の一例を示す図 同実施の形態による算出装置の動作を示すフローチャート 従来の内回り軌道の一例を示す図 従来の内回り軌道の一例を示す図
以下、本発明による制御装置について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。
(実施の形態1)
本発明の実施の形態1によるマニピュレータの制御装置について、図面を参照しながら説明する。本実施の形態によるマニピュレータの制御装置は、3次元形状を用いて内回り開始位置を算出するものである。
図1は、本実施の形態による産業用ロボットの構成を示すブロック図である。本実施の形態による産業用ロボットは、制御装置1と、サーボコントローラ2と、マニピュレータ3とを備える。マニピュレータ3は、モータによって駆動される関節によって連結された複数のアームを有する。そのマニピュレータ3において、各モータとアームとは減速器を介して接続されている。また、直列に接続されたアームの先端には手先効果器(エンドエフェクタ)が設けられていてもよい。マニピュレータ3は、例えば、水平多関節ロボットのマニピュレータであってもよく、または、垂直多関節ロボットのマニピュレータであってもよい。サーボコントローラ2は、制御装置1による制御に応じて、マニピュレータ3の各軸のモータを制御する。制御装置1は、ティーチングプレイバック方式により、後述する教示情報に応じてマニピュレータ3が動作するようにサーボコントローラ2を制御する。本実施の形態による産業用ロボットは、例えば、搬送ロボットであってもよく、溶接ロボットであってもよく、組立ロボットであってもよく、塗装ロボットであってもよく、あるいは、その他の用途のロボットであってもよい。本実施の形態では、水平多関節ロボットであり、搬送ロボットである産業用ロボットについて主に説明する。すなわち、図2で示されるように、手先効果器が、搬送対象を搬送するハンド3aであり、カセット41〜43の各スロットに、ウェハやガラス基板等の搬送対象を設置したり、各スロットから搬送対象を取得したりする場合について主に説明する。
図1で示されるように、本実施の形態による制御装置1は、内回り開始位置を算出する算出装置11と、その算出された内回り開始位置を用いてサーボコントローラ2を制御する軌道制御部12とを備える。また、算出装置11は、教示情報記憶部21と、形状情報記憶部22と、算出部23とを備える。
教示情報記憶部21では、教示情報が記憶される。教示情報は、モータによって駆動される関節によって連結された複数のアームを有するマニピュレータ3の2以上の教示点を示す情報である。その教示点は、例えば、マニピュレータ3の各軸の教示点であってもよく、または、マニピュレータ3の先端の教示点であってもよい。また、教示情報は、教示点におけるマニピュレータ3の先端の姿勢をも示す情報であってもよい。すなわち、教示情報にマニピュレータ3の手先効果器の姿勢を示す情報が含まれていてもよい。その姿勢を示す情報は、例えば、水平方向における手先効果器の向きを示す角度(例えば、方位角)であってもよく、球面座標系における手先効果器の向きを示す角度(例えば、方位角と仰俯角)であってもよく、球面座標系における手先効果器の向きを示す角度と、手先効果器の方向を中心とする回転の角度であるねじり角度(例えば、手首のねじりに対応する角度)とであってもよい。例えば、産業用ロボットが搬送ロボットであり、手先効果器であるハンドのチルト等を考慮しない場合には、その姿勢を示す情報は、ハンドの向きを示す方位角のみであってもよい。また、各教示点には、その教示点において内回りをするかどうかを示すフラグ等の情報が設定されていてもよい。また、時間的に隣接する2個の教示点を結ぶ軌道に対応する速さを示す情報が教示情報に含まれていてもよい。その速さを示す情報は、例えば、50%や100%等のように、最大の速さに対する割合で示されてもよい。
教示情報記憶部21に教示情報が記憶される過程は問わない。例えば、記録媒体を介して教示情報が教示情報記憶部21で記憶されるようになってもよく、通信回線等を介して送信された教示情報が教示情報記憶部21で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された教示情報が教示情報記憶部21で記憶されるようになってもよい。教示情報記憶部21での記憶は、RAM等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。教示情報記憶部21は、所定の記録媒体(例えば、半導体メモリや磁気ディスク、光ディスクなど)によって実現されうる。
形状情報記憶部22では、位置算出用形状を示す情報である形状情報が記憶される。その位置算出用形状は、第1の方向の長さ、及びその第1の方向と異なる方向である第2の方向の長さを独立して設定可能な3次元形状である。すなわち、位置算出用形状は、少なくとも2方向について独立して長さを設定可能であるものであればよい。したがって、一方向の長さを決めれば他の方向の長さも決まる球や立方体は位置算出用形状に含まれない。また、その位置算出用形状は、基準点の設定された3次元形状である。その基準点は、内回りを行う教示点に対する位置算出用形状の位置決めのために用いられる。また、位置算出用形状には、基準となる方向である基準方向も設定されていてもよい。その基準方向は、内回りを行う教示点におけるマニピュレータ3の先端の姿勢に対する位置算出用形状の向きを決めるために用いられる。その基準方向は、位置算出用形状に設定されたローカル座標系(例えば、3次元の直交座標系等)であってもよく、あるいは、その他のものであってもよい。本実施の形態では、位置算出用形状に、基準点と、ローカル座標系である基準方向との両方が設定されている場合について主に説明する。この形状情報を用いて、内回り開始位置が算出されることになる。また、形状情報のデータ形式は問わない。形状情報において、位置算出用形状を示す情報は、位置算出用形状の頂点を示す情報であってもよく、位置算出用形状の面を示す情報であってもよく、または、その他の方法によって位置算出用形状を示す情報であってもよい。また、形状情報において、基準点は座標で示されてもよく、または、基準点の位置はあらかじめ決められていてもよい。また、形状情報において、基準方向はあらかじめ決められていてもよく、または、基準方向はベクトル等で示されてもよい。
ここで、その形状情報の設定方法について説明する。まず、搬送ロボットがカセットの各スロットに搬送対象を設置したり、各スロットから搬送対象を取得したりする動作について説明する。図3は、搬送ロボットのハンド3aの動きを示す図である。搬送対象をスロット52に設置する場合には、ハンド3aは、他のスロットの位置RA1から設置スタート位置RTに移動し、その後、トップ位置ET、ミドル位置EM、ボトム位置EB、取得スタート位置RBの順に移動して、他のスロットの位置RA2に移動する。搬送対象をスロット52から取得する場合には、ハンド3aは、逆の順に移動する。その軌道において、設置スタート位置RTから取得スタート位置RBまでは固定であるが、設置スタート位置RTまたは取得スタート位置RBまでは多様な軌跡が存在する。例えば、図4で示されるように、目標スロット52の上下のスロットからアプローチする場合や、別のカセットから横方向に、または、斜め方向にアプローチする場合などがある。そして、そのような各方向からのアプローチに対して適切な内回り開始位置となるための形状情報を設定する必要がある。図4で示されるように、搬送対象が設置されたり、取得されたりするスロット51〜53は、入口の縦幅が、横幅と比較して小さいという特徴がある。したがって、搬送対象やハンド3aがスロット51〜53と干渉しないように、鉛直方向の内回り開始距離は短くなるようにする必要がある。一方、水平方向についてはそのような制限がないため、タクトタイムを短縮するために、水平方向の内回り開始距離は長くなることが好適である。したがって、鉛直方向は長さが短く、水平方向は鉛直方向と比較して長い直方体である位置算出用形状を設定する。具体的には、図5A,図5Bで示されるように、鉛直方向については、設置スタート位置RTの高さと、上側のスロット53の底面の高さとの距離z11と、設置スタート位置RTの高さと、目標のスロット52の上面の高さとの距離z12とを用いて設定する。また、水平方向のうち、スロット52の奥行き方向については、設置スタート位置RTと、カセット41の入口との距離x11と、マニピュレータ3の旋回中心から奥行き方向に直角に延ばした直線と、設置スタート位置RTとの距離x12とを用いて設定する。また、水平方向のうち、奥行き方向に直角な横方向については、設置スタート位置と、カセット41の内壁面までの距離y11,y12を用いて設定する。なお、x11,x12,y11,y12,z11,z12は、すべて正の実数であるとする。図6は、x11等を用いて設定された、位置算出用形状55の一例を示す図である。図6において、位置算出用形状55は、ローカル座標系のxy平面を水平方向とした場合における、鉛直方向及び水平方向の長さが異なる直方体である。図6で示される位置算出用形状55は、ローカル座標系である3次元直交座標系におけるx=x1の面と、x=−x2の面と、y=y1の面と、y=−y2の面と、z=z1の面と、z=−z2の面とで囲われる直方体である。また、図6では、基準点が、そのローカル座標系における原点、すなわち(x、y、z)=(0,0,0)にあらかじめ設定されており、基準方向がそのローカル座標系そのものであるとする。したがって、この場合には、形状情報は、例えば、各面を示す情報、すなわち、x1,−x2,y1,−y2,z1,−z2であってもよい。なお、x1,x2,y1,y2,z1,z2は、それぞれx11,x12,y11,y12,z11,z12に、1より小さく、1に近い数(例えば、0.9等)を掛けた数であるとする。また、形状情報は、各頂点を示す情報、すなわち、(x1,y1,z1)、(x1,y1,−z2)、(x1,−y2,z1)、(x1,−y2,−z2)、(−x2,y1,z1)、(−x2,y1,−z2)、(−x2,−y2,z1)、(−x2,−y2,−z2)であってもよい。また、形状情報における基準位置は、x11等を測定したときの教示点の位置、すなわち設置スタート位置RTである。また、基準方向は、その教示点におけるマニピュレータ3の先端の姿勢に応じて設定される。なお、本実施の形態では、マニピュレータ3の先端(例えば、ハンド3a)についても、ローカル座標系が設定されているものとする。そして、そのローカル座標系は、図5Bで示されるように、xy平面がハンド3aの載置面方向となる3次元直交座標系であるとする。そのローカル座標系は、ハンド3aの姿勢を基準とする相対座標系であるため、ハンド3aの姿勢に応じてx軸等の方向が変わることになる。また、図5A,図5Bを用いて説明した形状情報の設定方法は一例であり、これに限定されないことは言うまでもない。例えば、x12は、上述した以外の方法によって決められてもよい。
形状情報記憶部22に形状情報が記憶される過程は問わない。例えば、記録媒体を介して形状情報が形状情報記憶部22で記憶されるようになってもよく、通信回線等を介して送信された形状情報が形状情報記憶部22で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された形状情報が形状情報記憶部22で記憶されるようになってもよい。形状情報記憶部22での記憶は、RAM等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。形状情報記憶部22は、所定の記録媒体(例えば、半導体メモリや磁気ディスク、光ディスクなど)によって実現されうる。
算出部23は、教示情報によって示される時間的に隣接する2個の教示点の終点側の教示点において内回りを行う場合には、その2個の教示点に関して、その2個の教示点間の線分と、終点側の教示点を基準点とする位置算出用形状との交点である内回り開始位置を算出する。その位置算出用形状は、形状情報記憶部22で記憶されている形状情報によって示されるものである。形状情報に基準方向も含まれており、マニピュレータ3の先端の姿勢も用いて内回り開始位置を算出する場合には、算出部23は、終点側の教示点を基準点とし、その終点側の教示点におけるマニピュレータ3の先端の姿勢と基準方向とを合わせた位置算出用形状と、その2個の教示点を結ぶ線分との交点である内回り開始位置を算出してもよい。前述のように、位置算出用形状に基準方向であるローカル座標系が設定されており、マニピュレータ3の先端にもローカル座標系が設定されている場合には、算出部23は、位置算出用形状の基準点が終点側の教示点に位置し、位置算出用形状に設定されているローカル座標系の各軸の向きが、その終点側の教示点におけるマニピュレータ3の先端の姿勢に応じたローカル座標系の各軸の向きと合うように位置算出用形状を配置してもよい。そして、算出部23は、その配置した位置算出用形状と、2個の教示点を結ぶ線分との交点である内回り開始位置を算出してもよい。なお、2個の教示点のうち、終点側の教示点とは、教示点で示される軌道において時間的に後側の教示点である。また、教示情報にマニピュレータ3の先端以外の教示点が含まれる場合であっても、この内回り開始位置の算出において用いる教示点は、通常、マニピュレータ3の先端の教示点である。また、算出される内回り開始位置の座標は、通常、グローバル座標系(絶対座標系)の座標である。その算出された内回り開始位置は、図示しない記録媒体で記憶されてもよい。
ここで、図7A,図7Bを用いて、算出部23が内回り開始位置を算出する方法について説明する。図7A,図7Bにおいて、教示された設置スタート位置RTにおけるハンド3aの向きは、設置スタート位置RTを始点としてトップ位置ETを終点とするベクトルの向きであるとする。すると、算出部23は、形状情報記憶部22から、x1,x2等の形状情報を読み出し、設置スタート位置RTが基準点となり、ハンド3aの向きが基準方向となるように位置算出用形状55を配置する。具体的には、算出部23は、位置算出用形状55を示すグローバル座標系における座標値等を算出する。そして、算出部23は、他のスロットの位置RA1と、設置スタート位置RTとを結ぶ線分と、設置された位置算出用形状55との交点を算出する。その算出された交点が、内回り開始位置SPとなる。このように、位置算出用形状55を用いて内回り開始位置SPを算出するため、鉛直方向の移動については、小さい内回りとすることによって干渉を回避することができ(図7A)、水平方向の移動については、大きい内回りとすることによってタクトタイムを短縮することができるようになる(図7B)。なお、算出部23が、位置算出用形状55のグローバル座標系における座標値等を算出する際に、他のスロットの位置RA1、及び設置スタート位置RTを結ぶ線分と交わる面についてのみ、グローバル座標系への変換を行ってもよい。
軌道制御部12は、教示情報記憶部21で記憶されている教示情報と、算出部23が算出した内回り開始位置とを用いて、内回り開始位置から内回り軌道が開始されるようにサーボコントローラ2を制御する。内回りを行う場合には、軌道制御部12は、内回り開始位置から速度の重ね合わせを行うことによって内回り軌道が開始されるようにしてもよく、または、内回り開始位置から内回り軌道を生成し、その内回り軌道をマニピュレータ3の各軸が通過するようにしてもよい。本実施の形態では、前者の場合について主に説明する。具体的には、軌道制御部12は、図7A,図7Bにおいて、内回り開始位置SPから設置スタート位置RTまでの距離を計算する。そして、ハンド3aが内回り開始位置SPの位置となる時刻を算出する。例えば、他のスロットの位置RA1から、設置スタート位置RTまでの軌道において、図8で示される速度の時間変化で移動することになっていたとする。速度の立ち上がり位置が他のスロットの位置RA1に対応し、時間「T2」の位置が設置スタート位置RTに対応する。このような場合には、軌道制御部12は、図8の斜線の面積が内回り開始位置SPから設置スタート位置RTまでの距離と等しくなる時間「T1」を求める。そして、その時間「T1」が内回りを開始する時点となるため、その時点から、設置スタート位置RTからトップ位置ETまでの速度との重ね合わせを開始し、内回り軌道が始まることになる。その速度の重ね合わせで用いられる速度の時間変化(例えば、図8で示されるもの)は、あらかじめ教示情報に含まれていてもよく、または、軌道制御部12が教示情報を用いて生成してもよい。なお、軌道制御部12は、教示情報によって示される教示点間を補間した軌道をマニピュレータ3の各軸が通過するように、サーボコントローラ2を制御してもよい。また、教示情報にマニピュレータ3の先端のみの教示点が含まれている場合には、軌道制御部12は、その教示点を用いて各軸の位置を算出してもよい。軌道制御部12による処理は、従来の内回りを行うロボットにおけるサーボコントローラの制御と同じであり、その詳細な説明を省略する。
なお、教示情報記憶部21と、形状情報記憶部22とは、同一の記録媒体によって実現されてもよく、あるいは、別々の記録媒体によって実現されてもよい。前者の場合には、教示情報を記憶している領域が教示情報記憶部21となり、形状情報を記憶している領域が形状情報記憶部22となる。
ここで、サーボコントローラ2について簡単に説明する。サーボコントローラ2は、制御装置1から、マニピュレータ3の各軸の位置の指令を受け取る。サーボコントローラ2は、その各軸の位置の指令に応じて、フィードバック制御により各軸のモータに対応するトルク指令値を生成する。マニピュレータ3の各モータは、このトルク指令値によって動作する。なお、このサーボコントローラ2によるフィードバック制御はすでに公知であり、その詳細な説明を省略する。
次に、制御装置1の動作について図9のフローチャートを用いて説明する。
(ステップS101)軌道制御部12は、教示情報記憶部21から次の移動先の教示点の情報を読み出す。なお、移動の開始時においては、軌道制御部12は、移動元の教示点の情報と移動先の教示点の情報との両方を読み出してもよい。
(ステップS102)軌道制御部12は、ステップS101で読み出した教示点、すなわち、軌道における終点側の教示点において内回りを行うかどうか判断する。そして、内回りを行う場合には、ステップS103に進み、そうでない場合には、ステップS105に進む。
(ステップS103)算出部23は、ステップS101で読み出された教示点について、内回り開始位置を算出する。具体的には、算出部23は、形状情報記憶部22から形状情報を読み出し、形状情報の示す位置算出用形状の基準点及び基準方向が、ステップS101で読み出された教示点の位置及びその教示点におけるマニピュレータ3の先端の姿勢となるように位置算出用形状を設置する。そして、算出部23は、ステップS101で読み出された教示点、及びそれよりも1個前の教示点を結ぶ線分と、その位置算出用形状との交点である内回り開始位置を算出する。
(ステップS104)軌道制御部12は、ステップS103で算出された内回り開始位置を用いて、内回りを開始する時刻を算出する。
(ステップS105)軌道制御部12は、ステップS101で読み出した教示点と、その教示点よりも1個前の教示点との間の各位置を、補間によって生成する。なお、その位置が内回り開始位置を超えた場合には、速度の重ね合わせを行うことによって、内回り軌道を通るように各位置を生成する。この位置の生成は、例えば、あらかじめ決められた時間間隔(例えば、5ms等)ごとに行われてもよい。
(ステップS106)軌道制御部12は、次の教示点の情報を読み出すかどうか判断する。そして、読み出す場合には、ステップS101に戻り、そうでない場合には、ステップS105に戻る。なお、軌道制御部12は、例えば、内回りを行う場合であって、算出する位置が内回り開始位置を超えた場合には、次の軌道の情報が必要になるため、次の教示点の情報を読み出すと判断してもよい。また、軌道制御部12は、例えば、内回りを行わない場合に、位置の算出が終点側の教示点まで終了した場合に、次の教示点の情報を読み出すと判断してもよい。なお、ステップS101に戻ると判断するまでは、軌道制御部12は、ステップS105の処理を繰り返すことによって、教示点間の補間や、内回り軌道に応じた位置の算出を繰り返すことになる。
なお、図9のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。また、図9のフローチャートにおいて、ステップS103の内回り開始位置の算出を少なくとも行うのであれば、マニピュレータ3の先端が内回り軌道を通るように制御する方法は問わない。例えば、教示情報で示される内回りを行う各教示点について、あらかじめ内回り開始位置をバッチ処理で算出し、マニピュレータ3を制御する際に、その内回り開始位置を用いて制御を行ってもよい。
次に、本実施の形態による制御装置1の動作について、具体例を用いて説明する。この具体例において、教示情報記憶部21に、次の教示情報が記憶されているものとする。
Position(1)、Pose(1)、Flag(1)
Position(2)、Pose(2)、Flag(2)
Position(3)、Pose(3)、Flag(3)


Position(10)、Pose(10)、Flag(10)
Position(11)、Pose(11)、Flag(11)
Position(12)、Pose(12)、Flag(12)

この教示情報において、Position(N)は、マニピュレータ3の各軸の位置を示す情報である。ここで、Nは1以上の整数とする。なお、そのPosition(N)に、マニピュレータ3の先端であるハンド3aの位置も含まれているものとする。また、Pose(N)は、マニピュレータ3の先端であるハンド3aの角度を示す情報である。また、Flag(N)は、N番目の教示点において内回りを行うかどうかを示すフラグである。Flag(N)が「1」である場合には内回りを行い、Flag(N)が「0」である場合には内回りを行わないことになる。すなわち、Flag(N)が「0」である場合には、それに対応するPosition(N)の示す位置をマニピュレータ3が通過することになる。また、Position(10)は、図7Bにおける他のスロットの位置RA1に対応し、Position(11)は、図7Bにおける設置スタート位置RTに対応し、Position(12)は、図7Bにおけるトップ位置ETに対応するものとする。また、Flag(10)=Flag(12)=0であり、Flag(11)=1であるとする。
また、この具体例において、形状情報記憶部22に、図6の位置算出用形状55を示す形状情報「x1,x2,y1,y2,z1,z2」が記憶されているものとする。なお、その位置算出用形状55においては、基準方向は、ローカル座標系の各軸の方向、すなわち、(x、y、z)=(1,0,0)、(0,1,0)、(0,0,1)に設定されているものとする。
軌道制御部12は、Position(1)、Pose(1)、Flag(1)から順次、教示点の情報を読み出して、適宜、内回り開始位置等を算出し、軌道を算出する(ステップS101〜S106)。そのようにして、Position(11)、Pose(11)、Flag(11)が読み出されたとする(ステップS101)。軌道制御部12は、新たな読み出しに応じて、Position(10)からPosition(11)までの速度を算出する。その速度は、例えば、図8で示されるものである。また、軌道制御部12は、Flag(11)が「1」であるかどうか判断する(ステップS102)。この場合には、Flag(11)=1であるため、軌道制御部12は、内回りを行うと判断し、算出装置11に、内回りを行う教示点を識別する情報であるN=11と、内回り開始位置の算出を行う指示とを渡す。すると、算出部23は、教示情報記憶部21で記憶されている教示情報から、N=11であるPosition(11)とPose(11)とを読み出し、また、形状情報記憶部22から形状情報「x1,x2,y1,y2,z1,z2」を読み出す。そして、算出部23は、読み出したPosition(11)で示される位置が、位置算出用形状55のローカル座標系の原点(基準点)となり、Pose(11)で示されるハンド3aの姿勢に応じたローカル座標系の各軸の方向が、位置算出用形状55のローカル座標系の方向と一致するように位置算出用形状55をグローバル座標系に配置する。また、算出部23は、Position(10)を読み出し、図7Bで示されるように、Position(10)で示されるハンド3aの位置(RA1)と、Position(11)で示されるハンド3aの位置(RT)とを結ぶ線分と、上述のようにして配置した位置算出用形状55との交点である内回り開始位置SPの座標を算出し、軌道制御部12に渡す(ステップS103)。なお、その算出された内回り開始位置SPの座標は、グローバル座標系における座標である。
軌道制御部12は、算出装置11から内回り開始位置SPを受け取ると、Position(11)で示されるハンド3aの位置から、内回り開始位置SPまでの距離である内回り開始距離を算出する。そして、軌道制御部12は、あらかじめ算出していたPosition(10)からPosition(11)までの速度変化を用いて、Position(11)までの距離が、その算出した内回り開始距離と等しくなる時刻である内回り開始時刻を算出する(ステップS104)。その後、軌道制御部12は、あらかじめ決められた補間間隔に応じて、Position(10)からPosition(11)に向かう各位置を算出し、その各位置にマニピュレータ3が移動するように、サーボコントローラ2に指示を行う(ステップS105,S106)。なお、ステップS104で算出した内回り開始時刻に対応する位置まで算出すると、軌道制御部12は、次の教示点を読み出すと判断し、トップ位置ETに対応するPosition(12)、Pose(12)、Flag(12)を読み出す(ステップS101)。そして、軌道制御部12は、Position(11)からPosition(12)までの速度を算出する。なお、この場合には、Flag(12)=0であり、内回りを行わないため、軌道制御部12は、内回り開始時刻から速度の重ね合わせを行い、Position(12)までの軌道の各位置の算出を行う(ステップS105,S106)。このようにして、教示情報に応じて順次、マニピュレータ3の位置が算出され、マニピュレータ3の制御が行われることになる。また、内回りを行う場合には、図7A,図7Bで示されるように、位置算出用形状55を用いた内回り開始位置SPの算出と、その算出された内回り開始位置SPからの速度の重ね合わせとが行われ、マニピュレータ3の先端であるハンド3aが、内回り軌道を移動するように制御される。
以上のように、本実施の形態による制御装置1によれば、形状情報を適切に設定することにより、例えば、スロットに搬送対象を設置したり、スロットから搬送対象を取得したりする際に、搬送対象やハンドとスロットとが干渉することを防止することができると共に、内回りを不要に制限することも回避でき、移動時間の長期化を防止することができる。すなわち、制御装置1は、多様な方向からのアプローチに対応する適切な内回り開始位置の算出を行うことができる。また、マニピュレータ3の先端の姿勢と基準方向とを合わせた位置算出用形状を用いて内回り開始位置を算出することによって、そのマニピュレータ3の先端の姿勢も考慮した適切な内回り開始位置の算出が可能となる。すなわち、マニピュレータ3の先端の姿勢を考慮しない位置算出用形状を用いる場合には、その向きに関係なく適切な干渉回避を実現できるようにするため、位置算出用形状を、例えば、水平方向の底辺が正方形である角柱や、水平方向の底辺が円である円柱等としなければならないこともあり、その結果として、ある方向の内回りが小さくなることもありうる。一方、マニピュレータ3の先端の姿勢に応じて配置された位置算出用形状を用いることによって、内回りを不要に制限する必要がなくなり、適切な内回りの制御を行うことができるようになりうる。
なお、本実施の形態では、位置算出用形状が、鉛直方向及び水平方向の長さが異なる直方体である場合について主に説明したが、そうでなくてもよい。位置算出用形状は、例えば、鉛直方向である第1の方向の長さと、水平方向である第2の方向の長さとを独立して設定可能な3次元形状であってもよい。なお、その位置算出用形状は、第1及び第2の方向の長さを独立して設定可能なものであれば、3以上の方向の長さを独立して設定可能なものであってもよい。2以上の方向の長さを独立して設定可能な位置算出用形状としては、具体的には、円柱や多角柱、楕円柱、円錐、角錐、楕円体等がある。位置算出用形状が円柱や円錐である場合には、高さと、底面の直径とを独立して設定可能である。また、位置算出用形状が多角柱や角錐である場合には、高さと、底面の形状とを独立して設定可能である。例えば、位置算出用形状の円柱や多角柱、楕円中、円錐、角錐の底面が水平方向であるとすると、その位置算出用形状は、鉛直方向と水平方向との2方向の長さを独立して設定可能であることになる。また、位置算出用形状が楕円体である場合には、x/a+y/b+z/c=1の方程式で示される形状であってもよい。その方程式において、a,b,cは、それぞれが独立に設定可能な係数であってもよく、または、a=bであり、a,cが独立して設定可能な係数であってもよい。a=bである場合には、鉛直方向と、水平方向との2方向の長さを独立して設定可能なことになる。ただし、xy平面が水平方向であり、z軸が鉛直方向であるとしている。
また、形状情報記憶部22で記憶される形状情報が、位置算出用形状の形状を示す方法は問わない。例えば、前述のように、頂点の位置や面の位置によって位置算出用形状を示してもよく、または、方程式によって位置算出用形状を示してもよい。
また、本実施の形態では、1個の位置算出用形状のみを用いる場合について説明したが、そうでなくてもよい。算出部23は、複数の位置算出用形状を用いて内回り開始位置を算出してもよい。その場合には、教示情報において、内回りを行う教示点に、内回り開始位置の算出で用いる形状情報を識別する形状情報識別子が対応付けられていてもよい。そして、算出部23は、ある教示点について内回り開始位置を算出する場合に、その教示点に対応する形状情報識別子で識別される形状情報を読み出し、その読み出した形状情報の示す位置算出用形状を用いて内回り開始位置の算出を行ってもよい。具体的には、教示点である設置スタート位置RTを基準点とする位置算出用形状を示す形状情報と、教示点である取得スタート位置RBを基準点とする位置算出用形状を示す形状情報とが異なる場合には、それらの教示点に応じた形状情報を用いて内回り開始位置の算出が行われてもよい。また、カセットごとにスロット間の高さが異なる場合には、カセットごとに、そのスロット間の高さに応じた形状情報を用いて内回り開始位置の算出が行われてもよい。
また、本実施の形態では、位置算出用形状に基準方向も設定されており、その基準方向を用いて内回り開始位置を算出する場合について主に説明したが、そうでなくてもよい。位置算出用形状に基準方向が設定されておらず、その基準方向を用いないで内回り開始位置が算出されてもよい。その場合には、例えば、マニピュレータ3の先端の姿勢に関わらず、同じ形状となる位置算出用形状、例えば、水平方向が底面である円柱等であってもよく、または、そうでなくてもよい。
また、本実施の形態では、制御装置1が算出装置11を含んでいる場合について説明したが、そうでなくてもよい。算出装置11と、マニピュレータ3を制御する制御装置とは、異なる装置であってもよい。その場合には、例えば、算出装置11は、教示情報の示す教示点のうち、内回りを行う各教示点に対応する内回り開始位置を算出し、その内回り開始位置を教示情報に追加したり、マニピュレータ3を制御する制御装置に渡したりしてもよい。したがって、算出装置11と、マニピュレータ3を制御する制御装置とが異なる装置である場合には、算出装置11は、算出した内回り開始位置を蓄積したり、制御装置に渡したりする図示しない出力部を備えていてもよい。また、算出装置11と、マニピュレータ3を制御する制御装置とが異なる装置である場合に、算出装置11の有する教示情報記憶部21は、制御装置で記憶されている教示情報が一時的に記憶される記憶部であってもよく、あるいは、そうでなくてもよい。
また、本実施の形態では、マニピュレータ3の先端の姿勢を基準方向とする位置算出用形状を配置するため、マニピュレータ3の先端の姿勢に応じたローカル座標系の各軸と、位置算出用形状のローカル座標系の各軸とを一致させる場合について主に説明したが、そうでなくてもよい。例えば、教示情報において示されるマニピュレータ3の先端の姿勢が方位角のみである場合には、マニピュレータ3の先端の姿勢に応じた向きと、位置算出用形状に設定されている基準方向である一の向き(例えば、x軸)とが一致するように位置算出用形状を配置してもよい。その場合には、位置算出用形状を配置する際に、基準方向を中心とする回転に関する自由度が存在するため、位置算出用形状において、あらかじめ水平方向に設定する面(例えば、xy平面等)が決められていてもよい。
また、本実施の形態では、産業用ロボットが搬送ロボットであり、マニピュレータ3の先端がハンド3aである場合について主に説明したが、そうでなくてもよいことは言うまでもない。マニピュレータ3は、搬送ロボット以外の塗装ロボットや溶接ロボット等のマニピュレータであってもよい。その場合であっても、例えば、スロットと同様の形状をした凹部に手先効果器を挿入する動作を行う場合などにおいて、本実施の形態と同様に内回り開始位置を算出することによって、干渉を防止しながら、移動時間を短縮することができる効果が得られる。
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、あるいは、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
また、上記実施の形態において、各構成要素間で行われる情報の受け渡しは、例えば、その情報の受け渡しを行う2個の構成要素が物理的に異なるものである場合には、一方の構成要素による情報の出力と、他方の構成要素による情報の受け付けとによって行われてもよく、あるいは、その情報の受け渡しを行う2個の構成要素が物理的に同じものである場合には、一方の構成要素に対応する処理のフェーズから、他方の構成要素に対応する処理のフェーズに移ることによって行われてもよい。
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりした情報や、各構成要素が処理で用いるしきい値や数式、アドレス等の情報等は、上記説明で明記していない場合であっても、図示しない記録媒体において、一時的に、あるいは長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、あるいは、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、あるいは、図示しない読み出し部が行ってもよい。
また、上記実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いるしきい値やアドレス、各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していない場合であっても、ユーザが適宜、それらの情報を変更できるようにしてもよく、あるいは、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、記憶部や記録媒体にアクセスしながらプログラムを実行してもよい。また、そのプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、そのプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。また、そのプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
以上より、本発明による算出装置等によれば、移動方向に応じて内回り開始距離を変更できるという効果が得られ、マニピュレータの内回り開始位置を算出する装置等として有用である。
1 制御装置
2 サーボコントローラ
3 マニピュレータ
3a ハンド
11 算出装置
12 軌道制御部
21 教示情報記憶部
22 形状情報記憶部
23 算出部

Claims (6)

  1. モータによって駆動される関節によって連結された複数のアームを有するマニピュレータの2以上の教示点を示す教示情報が記憶される教示情報記憶部と、
    基準点の設定された3次元形状であり、第1の方向の長さ、及び当該第1の方向と異なる方向である第2の方向の長さを独立して設定可能な3次元形状である位置算出用形状を示す形状情報が記憶される形状情報記憶部と、
    前記教示情報によって示される隣接する2個の教示点に関し、当該2個の教示点間の線分と、終点側の教示点を基準点とする、前記形状情報によって示される位置算出用形状との交点である内回り開始位置を算出する算出部と、を備えた算出装置。
  2. 前記教示情報は、教示点における前記マニピュレータの先端の姿勢をも示す情報であり、
    前記位置算出用形状には、基準となる方向である基準方向も設定されており、
    前記算出部は、前記終点側の教示点を基準点とし、当該終点側の教示点における前記マニピュレータの先端の姿勢と基準方向とを合わせた位置算出用形状と、前記2個の教示点間の線分との交点である内回り開始位置を算出する、請求項1記載の算出装置。
  3. 前記第1の方向は鉛直方向であり、前記第2の方向は水平方向である、請求項1または請求項2記載の算出装置。
  4. 前記位置算出用形状は、鉛直方向及び水平方向の長さが異なる直方体である、請求項3記載の算出装置。
  5. 請求項1から請求項4のいずれか記載の算出装置と、
    前記教示情報と、前記算出部が算出した内回り開始位置とを用いて、当該内回り開始位置から内回り軌道が開始されるように、前記モータの制御を行うサーボコントローラを制御する軌道制御部と、を備えた制御装置。
  6. モータによって駆動される関節によって連結された複数のアームを有するマニピュレータの2以上の教示点を示す教示情報が記憶される教示情報記憶部で記憶されている教示情報と、基準点の設定された3次元形状であり、第1の方向の長さ、及び当該第1の方向と異なる方向である第2の方向の長さを独立して設定可能な3次元形状である位置算出用形状を示す形状情報が記憶される形状情報記憶部で記憶されている形状情報とを用いて、前記教示情報によって示される隣接する2個の教示点に関し、当該2個の教示点間の線分と、終点側の教示点を基準点とする、前記形状情報によって示される位置算出用形状との交点である内回り開始位置を算出する算出ステップを備えた算出方法。
JP2012195738A 2012-09-06 2012-09-06 算出装置、制御装置、及び算出方法 Active JP6023517B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012195738A JP6023517B2 (ja) 2012-09-06 2012-09-06 算出装置、制御装置、及び算出方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012195738A JP6023517B2 (ja) 2012-09-06 2012-09-06 算出装置、制御装置、及び算出方法

Publications (2)

Publication Number Publication Date
JP2014050902A JP2014050902A (ja) 2014-03-20
JP6023517B2 true JP6023517B2 (ja) 2016-11-09

Family

ID=50609880

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012195738A Active JP6023517B2 (ja) 2012-09-06 2012-09-06 算出装置、制御装置、及び算出方法

Country Status (1)

Country Link
JP (1) JP6023517B2 (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0829517B2 (ja) * 1984-10-04 1996-03-27 株式会社日立製作所 ロボツトの衝突回避制御方法
JP2743368B2 (ja) * 1988-03-07 1998-04-22 松下電器産業株式会社 工業用ロボットの制御方法
JPH05127718A (ja) * 1991-11-08 1993-05-25 Fujitsu Ltd マニピユレータの手先軌道自動生成装置
JP2003145461A (ja) * 2001-11-09 2003-05-20 Kawasaki Heavy Ind Ltd アーム制御方法およびアーム制御装置
JP2012096307A (ja) * 2010-10-29 2012-05-24 Yaskawa Electric Corp ロボット制御装置、ロボット制御方法およびロボットシステム
JP5933450B2 (ja) * 2010-11-26 2016-06-08 ローツェ株式会社 ロボットの制御装置および制御方法

Also Published As

Publication number Publication date
JP2014050902A (ja) 2014-03-20

Similar Documents

Publication Publication Date Title
JP7222803B2 (ja) 軌道計画装置、軌道計画方法及びプログラム
US8606402B2 (en) Manipulator and control method thereof
CN109159151B (zh) 一种机械臂空间轨迹跟踪动态补偿方法和系统
EP3377948B1 (en) Facilitating robot positioning
JP6282140B2 (ja) 軌道生成方法、ロボット装置、プログラム及び記録媒体
WO2018086226A1 (zh) 机械臂的控制方法和装置
CN114952868B (zh) 7自由度srs型机械臂控制方法及装置、弹琴机器人
TW201915625A (zh) 機器人工具中心點校正系統及其方法
EP3582934B1 (en) A method for controlling an industrial robot during lead-through programming of the robot and an industrial robot
JP6511806B2 (ja) 多関節ロボット及び多関節ロボットの制御方法
CN111002315B (zh) 一种轨迹规划方法、装置及机器人
CN112405527A (zh) 工件表面圆弧轨迹加工方法及相关装置
CN115922728A (zh) 机器人指向动作控制方法、装置、电子设备和存储介质
CN111216136A (zh) 多自由度机械手臂控制系统、方法、存储介质、计算机
CN109311155B (zh) 一种工业机器人的工具坐标系原点的标定方法及装置
JP6023517B2 (ja) 算出装置、制御装置、及び算出方法
JP2017154221A (ja) ロボット、ロボットの制御装置及びロボットの制御方法
CN113263496A (zh) 一种六自由度机械臂优化路径的方法和计算机设备
JP6040002B2 (ja) 教示情報修正装置、制御装置、及び教示情報修正方法
JP2019055440A (ja) ロボットシステムおよびワークの製造方法
JP2014076498A (ja) 多関節ロボット及び半導体ウェハ搬送装置
WO2021250923A1 (ja) ロボットシステム、制御装置、及び制御方法
Lee et al. A fast path planning-and-tracking control for wheeled mobile robots
Chang et al. An intelligent space for mobile robot navigation with on-line calibrated vision sensors
Gueta et al. Multiple-goal task realization utilizing redundant degrees of freedom of task and tool attachment optimization

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150820

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160628

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161004

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161007

R150 Certificate of patent or registration of utility model

Ref document number: 6023517

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250