JP2015058493A - 制御装置、ロボットシステム、ロボット、ロボット動作情報生成方法及びプログラム - Google Patents
制御装置、ロボットシステム、ロボット、ロボット動作情報生成方法及びプログラム Download PDFInfo
- Publication number
- JP2015058493A JP2015058493A JP2013192662A JP2013192662A JP2015058493A JP 2015058493 A JP2015058493 A JP 2015058493A JP 2013192662 A JP2013192662 A JP 2013192662A JP 2013192662 A JP2013192662 A JP 2013192662A JP 2015058493 A JP2015058493 A JP 2015058493A
- Authority
- JP
- Japan
- Prior art keywords
- coordinate system
- polar coordinate
- robot
- arm
- workpiece
- 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
Landscapes
- Manipulator (AREA)
Abstract
【課題】 ワークの第1の位置及び第2の位置を含むレイアウト情報に基づいて、極座標系を用いた処理を行うことで、ユーザーにとって容易な入力により適切なロボット動作情報の生成を行う制御装置、ロボットシステム、ロボット、ロボット動作情報生成方法及びプログラム等を提供すること。
【解決手段】 制御装置100は、作業空間におけるワークの第1の位置、及び第2の位置を含むレイアウト情報を取得する情報取得部110と、ロボット動作情報を生成する処理部120を含み、処理部120は、ロボットの第1のアームに対応する第1の極座標系と、第2のアームに対応する第2の極座標系を設定し、ワークの第1の位置から第2の位置までの移動を、第1の極座標系及び第2の極座標系の少なくとも一方を用いて表したワーク移動情報を生成し、ワーク移動情報に基づいて、ロボット動作情報を生成する。
【選択図】 図1
【解決手段】 制御装置100は、作業空間におけるワークの第1の位置、及び第2の位置を含むレイアウト情報を取得する情報取得部110と、ロボット動作情報を生成する処理部120を含み、処理部120は、ロボットの第1のアームに対応する第1の極座標系と、第2のアームに対応する第2の極座標系を設定し、ワークの第1の位置から第2の位置までの移動を、第1の極座標系及び第2の極座標系の少なくとも一方を用いて表したワーク移動情報を生成し、ワーク移動情報に基づいて、ロボット動作情報を生成する。
【選択図】 図1
Description
本発明は、制御装置、ロボットシステム、ロボット、ロボット動作情報生成方法及びプログラム等に関する。
ロボットに対して所望の動作を行わせるために、ユーザーによる教示を用いる手法が広く知られている。具体的には、ユーザー(教示者)がロボットのアーム等を手で動かすことでロボット動作を教示するダイレクトティーチングや、ティーチングペンダント等の操作部を操作することでロボット動作を教示するティーチングプレイバック、或いはロボットの実機は使用せずにコンピューター上でシミュレーションを用いて教示を行うオフラインティーチング等が知られている。特許文献1には、ティーチングペンダントを用いてロボットシミュレーターを動作させることで、実機を用いた教示に近い操作感覚でオフラインティーチングを行う手法が開示されている。
また、ユーザーがティーチングペンダント等を用いて逐一ロボット動作を指定するのではなく、ユーザーの教示により所与の条件が与えられた場合に、当該条件に従ったロボット動作を自動的に生成する(狭義には教示プログラムを自動生成する)手法も知られるようになっている。例えば特許文献2には、接触による組み立て作業を対象とした場合に、部品の接触状態に基づいて、実環境に適応した教示プログラムを自動生成する手法が開示されている。
特許文献1のようにティーチングペンダントを用いた教示では、教示を行うユーザーはロボットについての知識、及びロボットに行わせようとする作業についての知識(例えば溶接作業を行わせたいのであれば溶接についての知識)が求められる。
特許文献2では、実環境の変化に対しても適応できるとの記載があるが、レンジファインダーによって取得される姿勢を見え方(アスペクト)と一致させ教示するのは人の作業である。よって、レイアウトが変更された場合に、特許文献2のシステムにおいてはそのレイアウトに対応するレンジデータをアスペクトと自動的に結びつけることはできない。結果として、特許文献2等の従来手法ではレイアウトが変更された場合に、ユーザーによる作業が必要となるためユーザーの負担が大きいことになる。
本発明の一態様は、ロボットの作業空間におけるワークの第1の位置、及び前記第1の位置とは異なる前記ワークの第2の位置を含むレイアウト情報を取得する情報取得部と、前記レイアウト情報に基づいて、ロボット動作情報を生成する処理部と、を含み、前記処理部は、前記作業空間において、前記ロボットの第1のアームに対応する第1の極座標系を設定する処理と、前記作業空間において、前記ロボットの前記第1のアームとは異なる第2のアームに対応する第2の極座標系を設定する処理を行い、前記ワークの前記第1の位置から前記第2の位置までの移動を、前記第1の極座標系及び前記第2の極座標系の少なくとも一方を用いて表したワーク移動情報を生成し、前記ワーク移動情報に基づいて、前記ロボット動作情報を生成する制御装置に関係する。
本発明の一態様では、ワークの第1の位置と第2の位置を含むレイアウト情報を取得し、極座標系を用いてロボット動作情報を生成する。よって、ユーザーにとってはレイアウト情報を入力すれば、第1の位置と第2の位置の間の移動経路や、当該移動経路に沿ったワークの移動を実現するロボット動作等が自動生成されるため、使いやすいシステムを実現すること等が可能になる。また、極座標系が各アームに対応して設定されることで、動作に用いるアームの適切な選択等も可能になる。
また、本発明の一態様では、前記ロボット動作情報は、前記ロボットの前記第1のアームと前記第2のアームのうちのいずれのアームを用いて、前記ワークを前記第1の位置から前記第2の位置まで移動させるのかを表す情報であってもよい。
これにより、いずれのアームを用いてワークを移動させるかという情報を、ロボット動作情報として生成すること等が可能になる。
また、本発明の一態様では、前記処理部は、前記第1のアームの可動範囲に対応する第1の角度範囲、及び前記第1のアームの前記可動範囲に対応する第1の距離範囲に、前記第1の極座標系を設定し、前記第2のアームの可動範囲に対応する第2の角度範囲、及び前記第2のアームの前記可動範囲に対応する第2の距離範囲に、前記第2の極座標系を設定してもよい。
これにより、アームの可動範囲と極座標系の距離範囲、角度範囲が対応することになり、より適切なアームの選択等が可能になる。
また、本発明の一態様では、前記処理部は、前記レイアウト情報により表される前記ワークの配置位置が、前記第1の角度範囲及び前記第1の距離範囲に設定された前記第1の極座標系により表される場合には、前記配置位置を始点又は終点として、前記第1のアームにより前記ワークを移動させる前記ロボット動作情報を生成し、前記レイアウト情報により表される前記ワークの前記配置位置が、前記第2の角度範囲及び前記第2の距離範囲に設定された前記第2の極座標系により表される場合には、前記配置位置を始点又は終点として、前記第2のアームにより前記ワークを移動させる前記ロボット動作情報を生成してもよい。
これにより、ワークの位置が各極座標系により表されるか否かに基づいて、ワークの移動に用いるアームを選択すること等が可能になる。
また、本発明の一態様では、前記ロボットは、所定軸まわりに回転可能な本体部と、前記本体部に設けられる前記第1のアーム及び前記第2のアームとを含んでもよい。
これにより、本体部の動作を含んだロボット動作情報を生成すること等が可能になる。
また、本発明の一態様では、前記処理部は、前記ロボットの前記本体部に対応する第3の極座標系を設定する処理を行い、前記ワークの前記第1の位置から前記第2の位置までの移動を、前記第1の極座標系及び前記第2の極座標系の少なくとも一方と、前記第3の極座標系とを用いて表した前記ワーク移動情報を生成し、生成した前記ワーク移動情報に基づいて、前記ロボット動作情報を生成してもよい。
これにより、本体部に対応する第3の極座標系を用いてロボット動作情報を生成すること等が可能になる。
また、本発明の一態様では、前記処理部は、前記第1の極座標系及び前記第2の極座標系を回転させる第3の極座標系を設定する処理を行い、前記ワークの前記第1の位置から前記第2の位置までの移動を、前記第1の極座標系及び前記第2の極座標系の少なくとも一方と、前記第3の極座標系とを用いて表した前記ワーク移動情報を生成し、前記ワーク移動情報に基づいて、前記ロボット動作情報を生成してもよい。
これにより、第1の極座標系と第2の極座標系を回転させる座標系を、第3の極座標系として設定すること等が可能になる。
また、本発明の他の態様は、上記のいずれかの制御装置と、前記ロボットと、を含むロボットシステムに関係する。
これにより、ワークの第1の位置と第2の位置を含むレイアウト情報を取得し、極座標系を用いてロボット動作情報を生成する。よって、ユーザーにとってはレイアウト情報を入力すれば、第1の位置と第2の位置の間の移動経路や、当該移動経路に沿ったワークの移動を実現するロボット動作等が自動生成されるため、使いやすいシステムを実現すること等が可能になる。また、極座標系が各アームに対応して設定されることで、動作に用いるアームの適切な選択等も可能になる。
また、本発明の他の態様は、所定の作業空間におけるワークの第1の位置、及び前記第1の位置とは異なる前記ワークの第2の位置を含むレイアウト情報を取得する情報取得部と、前記レイアウト情報に基づいて、ロボット動作情報を生成する処理部と、を含み、前記処理部は、前記作業空間において、第1のアームに対応する第1の極座標系を設定する処理と、前記作業空間において、前記第1のアームとは異なる第2のアームに対応する第2の極座標系を設定する処理を行い、前記ワークの前記第1の位置から前記第2の位置までの移動を、前記第1の極座標系及び前記第2の極座標系の少なくとも一方を用いて表したワーク移動情報を生成し、前記ワーク移動情報に基づいて、前記ロボット動作情報を生成するロボットに関係する。
これにより、上述したロボット動作情報を生成するとともに、生成したロボット動作情報に基づいた動作を行うロボットを実現することが可能になる。
また、本発明の他の態様は、ロボットの作業空間におけるワークの第1の位置、及び前記ワークの第2の位置を含むレイアウト情報を取得する処理を行い、取得した前記レイアウト情報に基づいて、ロボット動作情報を生成するロボット動作情報生成処理を行い、前記ロボット動作情報生成処理として、前記作業空間において、前記ロボットの第1のアームに対応する第1の極座標系を設定し、前記作業空間において、前記ロボットの前記第1のアームとは異なる第2のアームに対応する第2の極座標系を設定し、前記ワークの前記第1の位置から前記第2の位置までの移動を、前記第1の極座標系及び前記第2の極座標系の少なくとも一方を用いて表したワーク移動情報を生成し、生成した前記ワーク移動情報に基づいて、前記ロボット動作情報を生成する処理を行うロボット動作情報生成方法に関係する。
これにより、ワークの第1の位置と第2の位置を含むレイアウト情報を取得し、極座標系を用いてロボット動作情報を生成する。よって、ユーザーにとってはレイアウト情報を入力すれば、第1の位置と第2の位置の間の移動経路や、当該移動経路に沿ったワークの移動を実現するロボット動作等が自動生成されるため、使いやすいシステムを実現すること等が可能になる。また、極座標系が各アームに対応して設定されることで、動作に用いるアームの適切な選択等も可能になる。
また、本発明の他の態様は、上記の各部としてコンピューターを機能させるプログラムに関係する。
これにより、ワークの第1の位置と第2の位置を含むレイアウト情報を取得し、極座標系を用いてロボット動作情報を生成する。よって、ユーザーにとってはレイアウト情報を入力すれば、第1の位置と第2の位置の間の移動経路や、当該移動経路に沿ったワークの移動を実現するロボット動作等が自動生成されるため、使いやすいシステムを実現すること等が可能になる。また、極座標系が各アームに対応して設定されることで、動作に用いるアームの適切な選択等も可能になる。
このように、本発明の幾つかの態様によれば、ワークの第1の位置及び第2の位置を含むレイアウト情報に基づいて、極座標系を用いた処理を行うことで、ユーザーにとって容易な入力により適切なロボット動作情報の生成を行う制御装置、ロボットシステム、ロボット、ロボット動作情報生成方法及びプログラム等を提供することができる。
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
1.本実施形態の手法
まず本実施形態の手法について説明する。従来、ロボットに対して所望の動作を行わせるために、ユーザーによる教示を用いる手法が広く知られている。具体的には上述したように、ダイレクトティーチング、ティーチングプレイバック、オフラインティーチング等が知られている他、特許文献1のように組み合わせに近い手法も開示されている。
まず本実施形態の手法について説明する。従来、ロボットに対して所望の動作を行わせるために、ユーザーによる教示を用いる手法が広く知られている。具体的には上述したように、ダイレクトティーチング、ティーチングプレイバック、オフラインティーチング等が知られている他、特許文献1のように組み合わせに近い手法も開示されている。
しかし近年、非常に広汎な領域でロボットが利用されるようになってきている。そのため、ロボットに対して教示を行うユーザーが、当該ロボットについての専門知識を充分有していないというケースも多くなると想定される。つまり、ロボットに対する教示は専門知識が充分でないユーザーであっても実行可能な程度に、わかりやすい形態で行われることが望ましい。その点、上述したように特許文献1の手法は好ましいと言えない。
それに対して、特許文献2の手法であれば、ユーザーがティーチングペンダント等を用いて逐一ロボット動作を指定する必要はない。さらに、ロボットによる動作は、作業空間における作業対象物(ワーク)の配置等を表すレイアウト(作業レイアウト)に大きく依存する。よって、ユーザーが目標状態となるレイアウト等を指定した場合に、当該レイアウトを実現する教示プログラムを自動的に作成するシステムの有用性は高い。しかし上述したように、特許文献2ではレイアウトが変更された場合に、ユーザーによる作業が必要となるためユーザーの負担が大きく、やはり好ましい手法とは言えない。
そこで本出願人は、ワークの初期位置及び最終位置を含むレイアウト情報が与えられた場合に、当該ワークを初期位置から最終位置まで移動させるロボット動作を自動的に作成する制御装置を提案する。その際、ロボットが有する第1のアームに対応する第1の極座標系と、第2のアームに対応する第2の極座標系を設定し、設定した極座標系を用いて処理を行う。
具体的には、本実施形態の制御装置100は図1に示すように、ロボット(後述する図3等のロボット本体300に対応)の作業空間におけるワークの第1の位置、及びワークの第2の位置を含むレイアウト情報を取得する情報取得部110と、レイアウト情報に基づいて、ロボット動作情報を生成する処理部120を含む。そして、処理部120は、作業空間において、ロボットの第1のアームに対応する第1の極座標系を設定する処理と、作業空間において、ロボットの第1のアームとは異なる第2のアームに対応する第2の極座標系を設定する処理を行い、ワークの第1の位置から第2の位置までの移動を、第1の極座標系及び第2の極座標系の少なくとも一方を用いて表したワーク移動情報を生成し、ワーク移動情報に基づいて、ロボット動作情報を生成する。
ここで、ワークの第1の位置とは、作業空間における所与のワークの位置を表し、第2の位置とは、作業空間における所与のワークの位置であって第1の位置とは異なる位置を表す。また、本実施形態では第1の位置から第2の位置へのワークの移動を想定していることから、ワークは第1のタイミングで第1の位置にあり、第1のタイミングよりも後の第2のタイミングにおいて第2の位置にあるということになる。具体的には、ワークの第1の位置とは、作業の初期状態でのワークの位置を表す初期位置に相当する位置であってもよい。また、ワークの第2の位置とは、作業の最終状態(目標状態)でのワークの位置を表す最終位置に相当する位置であってもよい。以下、本明細書では第1の位置を初期位置、第2の位置を最終位置として説明をするが、これに限定されるものではなく、第1、第2の位置は作業空間におけるワークの任意の2つの位置を表すものである。
後述するように、図5の状態にあるワークAとワークBを組み付けて、図8(A)の状態となるように除材エリアCに配置する作業を想定した場合には、ワークの初期位置は図5のワークAの位置や、ワークBの位置を表す。また、ワークの最終位置とは、例えば図8(A)のワークA+B(ワークAとワークBが組み付けられたもの)の位置を表す。或いは、初期位置や最終位置はワークの位置を一意に決定するものでなくてもよい。例えば図8(A)の除材エリアCに示したように、ワークに比べてサイズの大きい領域を初期位置或いは最終位置を表す情報として用いてもよい。図8(A)の例であれば、最終状態においてワークA+Bは除材エリアCのいずれかの位置にあればよく、除材エリアC内の細かい位置までは問わないことになる。
また、レイアウト情報とは、作業空間上でのワークの位置を表す情報であり、例えば図5や図8(A)等に示すようなワークの状態を表す何らかの情報となる。具体的には、図5等の状態を撮像した撮像画像や当該撮像画像から求められる情報であってもよいし、作業空間に設定される所与の座標系での座標値であってもよい。なお、本実施形態のレイアウト情報はワークの初期位置と最終位置に限定されるものではなく、例えば初期位置と最終位置の途中でのワークの位置を表す途中位置の情報を含んでもよい。
また、ワーク移動情報とは、例えば後述する図18のR1やR2に示すように、ワークを初期位置から最終位置まで移動させる経路を表現した情報であり、具体的には設定された極座標系により表される。ロボット動作情報とは、ワーク移動情報により表されるワークの移動を実現するためのロボット動作を表現する情報である。ワークの移動経路がワーク移動情報で規定されたとしても、当該ワークをロボットの右手で移動させるのか、左手で移動させるのか、或いはいずれかの腕で把持した状態で腰部分を回転させることで実現するのかは不明である。本実施形態でのロボット動作情報とは、使用するアームの決定等、ワークの移動を実現するロボットの動作を規定した情報である。
これにより、ワークの初期位置と最終位置を含むレイアウト情報が入力された場合に、当該ワークを初期位置から最終位置まで移動させるためのロボット動作を表すロボット動作情報を生成することが可能になる。ユーザーが初期状態と所望の状態(最終状態)を入力すれば、その間の移動経路や移動に必要なロボット動作を、制御装置100が自動的に生成することになる。よってユーザーにとっては複雑な入力をせずとも、ワークに対する所望の作業をロボットに実行させることが可能になる。
また、レイアウト情報を極座標系を用いて処理する際には、図7(A)や図7(B)に示したように、各ワークの位置と極座標系との対応関係(狭義にはワークの位置が極座標系でどのような座標値となるか)を判定すればよい。例えば図5に示したように、作業台上のワークA、ワークB、除材エリアCの配置をレイアウト情報として取得し、且つ図6(A)に示したように、各アームに対応する極座標系を設定した場合には、図5に対応するレイアウト情報は極座標系の座標値として、図12に「初期位置」として示した列のように表現できる。つまり、レイアウト情報を極座標系に落とし込む処理は非常に容易なものであり、入力されるレイアウト情報が変化したとしても、当該変化に対してユーザーによる調整作業等が不要という利点もある。
なお、本実施形態でのレイアウト情報はワーク等の配置を表した情報であり、ワークの初期位置及び最終位置を含むレイアウト情報からは、ワークの初期位置から最終位置までの移動経路が求められることになる。その際、双腕ロボットのように複数のアームを有するロボットを対象とした場合、上述したようにワークを移動させる際に用いるアームは、いくつかの候補が考えられる。
よって本実施形態では、図13に例示するように、ロボット動作情報は、ロボットの第1のアームと第2のアームのうちのいずれのアームを用いて、ワークを第1の位置から第2の位置まで移動させるのかを表す情報であってもよい。
これにより、ロボット動作情報として、ロボットのいずれのアームを用いて、ワーク移動情報により表される移動経路に沿ったワークの移動を行うかを表す情報を生成することが可能になる。図3、図4を用いて後述する双腕ロボットのように、複数のアームを有するロボットでは、所定のワークの移動が第1のアームでも第2のアームでも実現できる可能性があり、その場合どちらのアームを用いるかを決定しなくては実際のロボット制御ができない。また、第1のアームであればワークの移動ができるが、第2のアームでは移動経路上の位置に到達できない等の理由によりワークの移動ができない場合もある。その場合には、第1のアームを用いる必要があり、第2のアームを用いるロボット動作情報を生成してしまうと、当該情報に従ったロボット制御は実現不可能となり好ましくない。つまり、多腕のロボットにおいてはアームの決定は非常に重要であり、本実施形態の手法は、レイアウト情報の入力に対して使用するアームの決定まで行うことができる点で有用である。
第1,第2のアームからワークの移動に使用するアームを決定する処理においては、各アームの可動範囲を考慮することが重要である。なぜなら、例えば第1のアームをどのように駆動したとしても到達し得ない位置のワークを、第1のアームを用いて移動させるというロボット動作情報を生成したとしても、当該ロボット動作情報に従ったロボット制御は実現不可能となるためである。
よって本実施形態では、図11(A)、図11(B)に示すように、処理部120は、第1のアームの可動範囲に対応する第1の角度範囲、及び第1のアームの可動範囲に対応する第1の距離範囲に、第1の極座標系を設定し、第2のアームの可動範囲に対応する第2の角度範囲、及び第2のアームの可動範囲に対応する第2の距離範囲に、第2の極座標系を設定する。
ここでアームの可動範囲とは、当該アームの所与の位置(狭義にはエンドポイントや、エンドポイントに設けられるエンドエフェクターの位置)が到達可能な範囲を表すものである。アームの可動範囲は、当該アームに含まれる関節がとることができる関節角の範囲等から、ロボットの設計事項として決定されているものであり、本実施形態で設定する極座標系とは無関係の形式で記憶されている。例えば、図11(A)に示したようにロボット本体に対して所与の範囲であるという形式で記憶されてもよいし、アームに含まれる各関節の関節角のとれる角度範囲の集合として記憶されてもよい。本実施形態の処理部120は、上記可動範囲と極座標系を対応づけて処理を行う。
これにより、可動範囲を考慮することで、作成されるロボット動作を実現可能なものとすることができる。なお、実現不可能なロボット動作とは、例えば可動部分を可動範囲外へ移動させる動作のことである。
例えば、図19(A)に示したように、それぞれ2つの自由度を持つ関節A1、A2と、関節A1とA2の間、及び関節A2の先に設けられるそれぞれ長さRのフレームA3、A4と、フレームA4の先端に設けられハンドA6等が接続されるエンドポイントA5とを含むアームを考える。この場合、エンドポイントA5の位置は、A1、A2のとる角度が決定されれば、A3とA4のフレーム長がそれぞれRであることがわかっているため、フォワードキネマティクス等により決定できる。ここで関節A1を原点とする極座標系を設定すれば、当該極座標系においてエンドポイントA5の位置は、1つの座標値(r,θ,φ)と表現される。そしてA5の位置に対応する座標値、r、θ、φは任意の値をとることができるわけではなく、アームの構造により範囲が限定される。例えば、距離rを考えた場合、A5が原点(A1)から最も遠くなるのは、フレームA3とA4が一直線となる場合であり、その際の距離r=2Rとなる。一方、A5が原点に最も近くなるのは、例えば図19(B)等のように腕を折りたたんだ状態であり、アーム中の各パーツの大きさを無視して考えれば、関節A2を180度折りたたんだ際のr=0が距離の最小値となる。
同様に、θやφも0°から360°の全ての値をとらないことが一般的であり、それぞれA1,A2の関節角の可動範囲により、とれる角度範囲が決定されることになる。例えばxy平面上で考えた場合に、A1,A2の取り得る角度が図19(C)の範囲であれば、φの最小値は図19(C)のφminとなり、φの最大値はφmaxとなる。
この点は図19(A)以外の構成のアームでも同様であり、一般的にアームの可動範囲は、フレーム長や関節角の範囲等、ロボットの設計事項として決定されるパラメーターに基づいて、空間的な範囲として求めることができる。
以上の点をふまえて考えると、アーム中の所与の関節を原点とする極座標系を設定した場合、原点とした関節及びそれよりも先の部分を駆動することでエンドポイントが到達することができる範囲は、当該極座標系の所与の距離範囲及び所与の角度範囲として表現されることになる。これは言い換えれば、所与の極座標系を用いてワークの位置を表現した際に、当該ワークの座標値が、アームの構造から決定される所与の距離範囲及び所与の角度範囲にあれば、当該ワークは原点となる関節及びそれより先の部分を駆動することで作業対象とすることができることになる。さらに言い換えれば、所与の極座標系を、アームの構造から決定される所与の距離範囲及び所与の角度範囲に設定した場合、ワークの位置が当該極座標系により表現することができれば、当該ワークは原点となる関節及びそれより先の部分を駆動することで作業対象とすることができることになる。
つまり、アームに対応する極座標系を設定するとともに、与えられたレイアウト情報に含まれるワークの位置等を、設定した極座標系に落とし込んで座標値を判定することで、当該位置にあるワークに対して各アームが作業を行うことができるか否かを容易に判定可能となる。よって、ロボットが複数のアームを有する場合であっても、ワーク等に対する作業に用いるアームの選択を適切に行った上で、ロボット動作情報を生成することが可能になる。
なお、設定される極座標系は図19(A)に限定されるものではない。例えば、設定される極座標系は3次元ではなく2次元であってもよい。具体的には、図19(A)に示した3次元の極座標系をxy平面に射影し、xy平面に対応する2次元の極座標系を設定してもよい。本来ロボット動作は3次元的なものであることが想定されるが、2次元の極座標系を用いることで、上記ロボット動作の作成処理を高速で行うことが可能になる。
ただし逆に言えば、本来3次元であるロボット動作を2次元に投影することで、作成されるロボット動作情報は精度の低いものとなる。この場合、本実施形態の手法は当該誤差を許容し、より詳細なレベルでのロボット動作の作成処理が後段で行われることを前提とすればよい。つまり、ロボット動作の作成処理を幾つかの工程に分割し、上流では比較的粗いロボット動作情報を作成し、下流では上流での作成結果を利用して比較的詳細なロボット動作情報を作成するものとし、本実施形態の手法はその上流工程を担うものとする。そのようにすれば、本実施形態のロボット動作情報の生成においては極端に高い処理精度は不要となる。
また、アーム構造及び極座標系の設定手法は図19(A)等に示したものに限定されず、例えば6自由度や7自由度等の複雑な構成のアームを用いてもよいし、アームに対応して設定される極座標系の次元や原点の位置等も種々の変形実施が可能である。
以下、本実施形態に係る制御装置、ロボットシステムの構成例について説明した後、処理の詳細について説明する。
2.システム構成例
図2に本実施形態に係る制御装置100の詳細なシステム構成例を示す。ただし、制御装置100は図2の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
図2に本実施形態に係る制御装置100の詳細なシステム構成例を示す。ただし、制御装置100は図2の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
図2に示したように、制御装置100の処理部120は、極座標系設定部121と、ワーク移動情報生成部123と、ロボット動作情報生成部127を含んでもよく、さらにロボット動作情報生成部127は作業コスト算出部129を含んでもよい。
極座標系設定部121は、ロボットの位置を基準とした複数の極座標系を設定する。設定される極座標系としては、第1のアームに対応する第1の極座標系、第2のアームに対応する第2の極座標系、ロボットの本体部に対応する第3の極座標系等が考えられる。極座標系の設定処理の詳細については後述する。
ワーク移動情報生成部123は、設定された極座標系を用いて、レイアウト情報に含まれるワークの位置を表現することで、ワークの初期位置から最終位置までの移動を、極座標系を用いて表現したワーク移動情報を生成する。
ロボット動作情報生成部127は、ワーク移動情報に基づいて、ロボット動作情報を生成、出力する。ロボット動作情報生成部127は作業コスト算出部129を含んでもよく、作業コスト算出部129は、複数のロボット動作情報が求められた場合に、各情報の作業コストを算出する。この場合ロボット動作情報生成部127は、各情報について算出された作業コストに基づいて、少数(狭義には1つ)のロボット動作情報を、後段のユニットに対する出力として決定する処理を行う。
図2に示した処理部120の各部において行われる処理の詳細については後述する。なお、上述したように本実施形態の手法は、ロボット動作を決定する一連の処理を複数の工程で実現する際の上流工程に対応するものであってもよい。よって本実施形態の処理結果として出力されるロボット動作情報に対して、後段のユニットにより何らかの処理を行った後に、実際のロボット制御に用いてもよいことになる。この後段のユニットは、本実施形態に係る制御装置100に含まれるものであってもよいし、他の電子機器に含まれるものであってもよい。
また本実施形態の手法は、図3に示したように、上記の制御装置100と、ロボット(ロボット本体300)と、を含むロボットシステムに適用できる。図3の構成であれば、本実施形態の制御装置100は、図1の情報取得部110、処理部120に加えて、ロボット動作情報に基づいてより詳細なロボット制御用の情報を生成するユニット(上述した後段のユニット)と、当該詳細なロボット制御用の情報に基づいてロボット本体300の制御を行うロボット制御部とを含むことになる。
ロボット本体300は、第1のアーム310と、第2のアーム320と、当該アーム310の先端等に設けられるエンドエフェクター319、329を含む。
これにより、レイアウト情報を取得してロボット動作情報を生成するとともに、当該ロボット動作情報に基づくロボット本体300の制御用情報を生成してロボット制御を行う制御装置100と、制御装置100の制御に従って動作を行うロボットとを、1つのシステムとして実現することが可能になる。ここでのロボットシステムは、図3に示したようにロボット本体300と制御装置100が別体として設けられるものであってもよい。
なお、本実施形態に係るロボットシステムの構成例は図3に限定されない。例えば、図4に示したように、ロボットシステムは、ロボット本体300と、ベースユニット部400を含んでもよい。
ロボット本体300は双腕ロボットであってもよく、頭部や胴体に相当する部分に加え、第1のアーム310と第2のアーム320を含む。図4では第1のアーム310は、関節311,313と、関節の間に設けられるフレーム315,317から構成され、第2のアーム320についても同様のものとしたがこれに限定されない。また、第1のアーム310及び第2のアーム320の先端にはエンドエフェクター319,329が設けられる。ここでのエンドエフェクター319とは、図4に示したようにハンドであってもよいし、工具等の他のものであってもよい。なお、図4では2本のアームを有する双腕ロボットの例を示したが、本実施形態のロボットは3本以上のアームを有してもよい。
ベースユニット部400は、ロボット本体300の下部に設けられ、ロボット本体300を支持する。図4の例では、ベースユニット部400には車輪等が設けられ、ロボット全体が移動可能な構成となっている。ただし、ベースユニット部400が車輪等を持たず、床面等に固定される構成であってもよい。図4のロボットシステムでは、ベースユニット部400に制御装置100が格納されることで、ロボット本体300と制御装置100とが一体として構成される。
或いは、本実施形態の手法を上記の情報取得部110と、処理部120と、を含むロボットに適用することもできる。例えば、制御装置100のように、特定の制御用の機器を設けることなく、ロボットに内蔵される基盤(更に具体的には基盤上に設けられるIC等)により、上記の情報取得部110と処理部120を実現するとともに、ロボット制御を実行するロボットが考えられる。
3.処理の詳細
次に本実施形態の処理の詳細を説明する。具体的には、情報取得部110で取得されるレイアウト情報の詳細を説明し、極座標系設定部121での極座標系の設定処理について説明する。その後、ロボット動作情報の生成処理について説明する。ロボット動作情報の生成処理は、具体的にはワーク移動情報生成部123でのワーク移動情報の生成処理、作業コスト算出部129でのコスト算出処理により実現される。最後に、図22、図23のフローチャートを用いて、本実施形態の処理の流れを説明する。
次に本実施形態の処理の詳細を説明する。具体的には、情報取得部110で取得されるレイアウト情報の詳細を説明し、極座標系設定部121での極座標系の設定処理について説明する。その後、ロボット動作情報の生成処理について説明する。ロボット動作情報の生成処理は、具体的にはワーク移動情報生成部123でのワーク移動情報の生成処理、作業コスト算出部129でのコスト算出処理により実現される。最後に、図22、図23のフローチャートを用いて、本実施形態の処理の流れを説明する。
3.1 レイアウト情報の取得処理
まず情報取得部110で取得されるレイアウト情報の詳細について説明する。以下では、上述したように図5に示した位置にあるワークA、ワークBに対して、途中でワークAに対してワークBを組み付ける作業を行った上で、図8(A)に示すように除材エリアCに置く作業を行う例について説明する。この際、ワークAを下にしてワークBを上に組み付けるが、ロボット正面の作業に適した位置はワークBの初期位置となっている。よって、図9(A)に示したように、一旦ワークBをロボットに対して奥側に移動させ、空いた位置にワークAを移動させるという過程を経るものとする。
まず情報取得部110で取得されるレイアウト情報の詳細について説明する。以下では、上述したように図5に示した位置にあるワークA、ワークBに対して、途中でワークAに対してワークBを組み付ける作業を行った上で、図8(A)に示すように除材エリアCに置く作業を行う例について説明する。この際、ワークAを下にしてワークBを上に組み付けるが、ロボット正面の作業に適した位置はワークBの初期位置となっている。よって、図9(A)に示したように、一旦ワークBをロボットに対して奥側に移動させ、空いた位置にワークAを移動させるという過程を経るものとする。
つまり、制御装置100の情報取得部110は、初期位置と最終位置の間のワークの位置である、ワークの途中位置を含むレイアウト情報を取得し、処理部120は、ワークの途中位置と極座標系の対応関係を求めることで、ワークの初期位置から途中位置までの移動、及びワークの途中位置から最終位置までの移動を極座標系を用いて表したワーク移動情報を生成し、生成したワーク移動情報に基づいて、極座標系を用いて表されるロボット動作情報を生成してもよい。なお、初期位置が広義には第1の位置に対応し、最終位置が第2の位置に対応するように、途中位置は広義には第3の位置に対応する位置である。そして第3の位置とは、作業空間におけるワークの位置であって、第1の位置とも第2の位置とも異なる位置である。
ここで、ワークの途中位置とは上述したように図9(A)に示したワークの位置等であり、図9(A)の状態を表す情報がレイアウト情報に含まれることになる。この途中位置は、第3の位置に相当する。
これにより、レイアウト情報としてワークの途中位置を含む情報を記憶し、当該途中位置を経由するワーク移動情報の生成、さらにはワーク移動情報に従ったロボット動作情報の生成が可能になる。ワークの初期位置と最終位置を指定すれば、制御装置100がその間の経路を自動的に作成することによる利点は大きいが、状況によってはその間の経路が全て許容されるとは限らない。例えば、図9(A)の例であれば上述したように作業場所の確保のためにワークBの退避が必要となる。或いは、初期位置と最終位置の間に何らかの障害物がある等の理由で、ワークが進入して欲しくない領域が設定されることもあり、その場合当該進入して欲しくない領域を避けるような経路を生成する必要がある。本実施形態では、レイアウト情報に途中位置を含めてもよいものとし、当該途中位置を設定することで、ワークの移動経路をより適切なものとすることを可能にしている。
以下の説明はレイアウト情報がワークの途中位置を含む場合を想定したものであり、制御装置100に対して与えるべきレイアウト情報は、図5に示したワークAの初期位置及びワークBの初期位置を示す情報、図8(A)に示したワークA+Bの最終位置に対応する除材エリアCの位置を示す情報、及び図9(A)に示したワークAの途中位置及びワークBの途中位置を示す情報となる。
ここで各位置を表す情報をどのような形式とするかは種々の変形実施が可能である。例えば、実際の作業台上に図5、図8(A)及び図9(A)の状態となるようにワークを配置し、当該状態を作業台上方から撮像した撮像画像を用いてもよい。この場合、制御装置100は撮像画像を取得し、当該撮像画像のうちどの画像領域が、ロボットの作業空間に対応するかを特定する。例えば作業台がロボットの作業空間に対応する場合には、撮像画像のうち作業台が撮像されている領域を抽出し、抽出された領域のどの位置にワークAやワークBが撮像されたかを求めることで、ワークA等の初期位置、最終位置、途中位置を特定する処理を行う。
或いは、作業空間は実際のものを用いるが、ワーク等については実物を用いなくてもよい。例えば何らかの指示器具を用いて作業空間上の点を指示し、指示された点を特定することでワークの初期位置等を取得してもよい。この場合、上述したように撮像画像の撮像を行い、撮像画像のうち指示器具が撮像された位置に基づいて初期位置等を特定してレイアウト情報を取得してもよい。或いは、指示器具自体に位置を検出するセンサー等を用いることで、撮像画像を用いずに指示器具により指示されている位置を特定し、レイアウト情報として取得してもよい。例えば、超音波や磁気を用いた位置測定システムは広く知られたものであるため、これらの手法を利用して指示器具により指示される位置を特定してもよい。
或いは、作業空間、ワークのいずれも実物を用いずに、シミュレーター上でレイアウト情報を生成してもよい。例えば、作業空間及びワークのサイズ、形状を再現したCADデータを作成しておき、2次元或いは3次元のシミュレーション空間上にワークを配置することで、図5等の状態を再現してもよい。その場合、情報取得部110では、当該シミュレーション空間と実際の作業空間を対応づける情報に基づいて、各ワークの位置を特定してレイアウト情報を取得することになる。
その他、情報取得部110が取得する情報や、取得した情報からワークの初期位置等を特定する手法は種々の変形実施が可能である。
3.2 極座標系の設定処理
極座標系設定部121では、複数の極座標系を設定する。具体的には、複数のアームを有する多腕ロボットにおいては、各アームについて当該アームに対応する極座標系を設定する。以下の説明においては、図3や図4に示したように第1,第2のアームを有する双腕ロボットを例として用いるが、3つ以上のアームを有するロボットにも拡張可能であることは言うまでもない。また、以下の説明ではレイアウト情報として平面レイアウト情報を取得するものとし、極座標系としても平面(2次元)の極座標系を設定するものとするが、これに限定されず3次元に拡張してもよい。
極座標系設定部121では、複数の極座標系を設定する。具体的には、複数のアームを有する多腕ロボットにおいては、各アームについて当該アームに対応する極座標系を設定する。以下の説明においては、図3や図4に示したように第1,第2のアームを有する双腕ロボットを例として用いるが、3つ以上のアームを有するロボットにも拡張可能であることは言うまでもない。また、以下の説明ではレイアウト情報として平面レイアウト情報を取得するものとし、極座標系としても平面(2次元)の極座標系を設定するものとするが、これに限定されず3次元に拡張してもよい。
本実施形態の極座標系は、アーム上の所与の点を原点として設定されるものであり、アームが駆動されることで当該所与の点が移動した場合には、極座標系もそれに合わせて移動するものである。なお、広義には極座標系の原点はアームに対する相対位置関係が固定される点であればよく、アーム上の点以外の点を用いてもよい。この場合、極座標系の原点は、アームを動作させた場合であっても移動することがない固定点に設定されることが望ましい。上述したように、本実施形態で極座標系を設定することの利点は、当該極座標系の範囲とアームの可動範囲を対応づけることにより生じる。その点、極座標系の原点がアームが動いたときに移動してしまう点に設定されると、可動範囲との対応付けが充分でなくなるためである。
人間と同様のアーム構造を想定した場合の一例を示す。この場合のアームは肩関節、肘関節、手首関節を有することになる。ここで肘関節の位置は、肩関節の駆動(肩を回す動作に対応)により変化するものである。よって肘関節の位置に極座標系の原点を設定し、当該極座標系の距離範囲、角度範囲を肘から先のアームの可動範囲に対応づけたとしても、当該極座標系は肘関節の位置が決定され、決定された当該位置に肘関節がある場合に、肘から先を動かして到達することができる範囲を示すに過ぎない。よって作業空間の所与の位置にあるワークが作業対象となり得るか否かを判定する場合にも、まず肩関節の角度等を決定することで肘関節の位置を決めなければ判定をすることができない。さらに、肩関節が第1の状態であればワークを作業対象とできるが、肩関節が第2の状態であればワークを作業対象とできないというケースも生じうる。つまり、アーム全体として所与の位置のワークを作業対象とできるか否かの判定を行う必要があるのに、まず肩関節等の状態を決めなければそもそも判定ができない点、及び肩関節の状態に応じて判定結果が変化する可能性がある点で、肘関節を原点とする極座標系は好ましいものと言えない。
これに対して、肩関節を原点とする極座標系を設定し、その距離範囲、角度範囲を肩から先を動かすことで到達できる範囲に設定する場合を考える。この場合、腕自体をどのように動かしたとしても、肩関節の位置は変化しない(この場合腕の運動を考えているため、体の回転等は考慮していない)。つまり、対象としている腕がワークを作業対象とできるか否かという判定は、肩を原点とする極座標系を用いた判定を行えばよく、その際に何らかの付加的な条件(肘を原点とする場合で言う肩関節の角度)を設定する必要もない。これは腕の運動のみに着目した場合、肩関節は移動することのない固定点であるということに起因している。
以上をふまえ、本実施形態では第1のアームの固定点を原点とし、且つ当該固定点から先を動かすことでアーム(狭義にはアームのエンドポイントに設けられるハンド)が到達できる範囲に対応する距離範囲、角度範囲となる極座標系を、第1の極座標系として設定する。例えば、図6(A)に示したように、第1のアーム310の固定点S1を原点とする第1の極座標系を設定する。なお、図6(A)等では図をわかりやすく表現する便宜上、S1を固定点とし、S0の駆動は考慮していない。ただし、アームの構造を考慮すれば、図14(A)〜図17(D)等のロボット動作に示すようにS0に関節が設けられてもよく、その場合は固定点、すなわち極座標系の原点はS0とすることが望ましい。
同様に、第2のアームについても、第2のアームの固定点を原点とし、且つ当該固定点から先を動かすことで第2のアームが到達できる範囲に対応する距離範囲、角度範囲となる極座標系を、第2の極座標系として設定する。具体的には図6(A)に示した極座標系であってもよい。
また本実施形態では、第1のアーム310と第2のアーム320が設けられるロボット本体部(胴体部)の回転が行われることも想定している。具体的には、ロボットは、所定軸まわりに回転可能な本体部BOと、本体部BOに設けられる第1のアーム310及び第2のアーム320とを含む。
例えば、図20(A)に示したように、P1の位置にあるワークをP2まで移動させる作業は、第1のアーム310を駆動させることで実現できる。しかしこの作業は図20(A)の動作だけではなく、図20(B)に示したように、第1のアーム310はワークを把持した状態で固定し、ロボット本体部BOを回転させる動作でも実現可能である。そして図20(A)と図20(B)のロボット動作を比較した場合、図20(A)では第1のアーム310に含まれる複数の関節を制御する必要があるのに対して、図20(B)では本体部BOの回転だけで実現可能であり制御が容易である。つまり、所望の作業によってはロボット本体部BOの回転が有用なケースも多いと言うことができる。
しかし、本体部BOの回転まで考慮した場合、第1,第2の極座標系と、ワークとの相対関係(広義には第1,第2の極座標系とロボットの作業空間との相対関係)が変化することになる。以下、図面等を用いた説明をわかりやすくするために第1の極座標系について説明するが、第2の極座標系についても同様である。
第1のアーム310は本体部BOに設けられているため、本体部BOが回転した場合には第1のアーム310も連動して回転移動することになる。そして本実施形態では第1の極座標系は第1のアーム310の可動範囲に対応するものとしているため、第1のアーム310と連動して移動することになり、第1の極座標系は図20(A)から図20(B)に示したように変化することになる。
しかし、そもそも作業対象であるワークはロボットの作業空間(狭義には作業台に対応する空間、或いは平面)に配置されるものであり、レイアウト情報も作業空間上でのワークの初期位置等を表すものである。レイアウト情報は、例えば作業空間に対して設定される座標系(以下、作業空間座標系と記載)の座標値として与えられてもよい。よって、本体部BOの回転により第1のアーム310の位置、及び第1の極座標系の位置が変化したとしても、ワークの絶対位置は不変であり、結果として第1の極座標系とワークの相対位置関係が変化することになる。
上述したように、本実施形態では、第1のアーム310の可動範囲に対応する距離範囲、角度範囲に設定された第1の極座標系と、所与のワークとの関係から、当該ワークが第1のアーム310の作業対象とできるか否かを判定する。具体的には、所与のワークが上記距離範囲、角度範囲にあれば、当該ワークは第1のアーム310で作業可能とする。つまり、第1の極座標系とワークの相対関係が変化したのであれば、変化後の状態を用いなければ適切な判定は不可能であり、本体部BOの回転が行われるごとに、作業空間座標系と第1の極座標系との相対関係を求め直す必要がある。しかし、第1の極座標系の原点はロボット本体部BOの回転軸とは一致しないものであるため、図20(A)、図20(B)に示したように、本体部BOの回転により、作業空間座標系における第1の極座標系の原点の位置が変化してしまう。そのため、作業空間座標系と第1の極座標系との相対関係を求め直すには、一般的に三角関数を用いた回転を表す演算が必要となり、これは通常の加減算に比べて処理負荷が重いものとなる。
それに対して本実施形態では、図6(B)に示したようにロボットの本体部BOに対応する(狭義には本体部BOの回転軸を原点とする)第3の極座標系を設定してもよい。具体的には、処理部120は、ロボットの本体部BOに対応する第3の極座標系を設定する処理を行い、ワークの第1の位置から第2の位置までの移動を、第1の極座標系及び第2の極座標系の少なくとも一方と、第3の極座標系とを用いて表したワーク移動情報を生成し、ワーク移動情報に基づいて、ロボット動作情報を生成する。
この場合、第3の極座標系の原点は、本体部BOによる回転があったとしても位置が変化しない固定点となる。つまり、本体部BOでの回転の前後でも、第3の極座標系の原点は変化せず、角度方向が変化するのみである。図24(A)に示したように、作業空間座標系における所与の点P3に配置されたワークが、回転動作前の第3の極座標系で(r1,θ1)である場合に、本体部BOがθ’だけ回転したとする。その場合、回転動作後の第3の極座標系でのP3の座標値(r2,θ2)の関係を考えると、図24(B)に示したように回転前後でも第3の極座標系の原点とP3との距離は不変であるため、r1=r2となる。また、角度についても、第3の極座標系がθ’だけ回転したのであるから、作業空間座標系における定点であるP3は、第3の極座標系に対して相対的に−θ’だけ回転していることになり、θ2=θ1−θ’となる(なお図24(A)等ではθ1とθ2が負の値であるため|θ2|=|θ1|+θ’である)。つまり、第3の極座標系を設定することで、本体部BOでの回転があったとしても、回転後の第3の極座標系とワークの相対関係を、角度の加減算により容易に求めることが可能になる。
ここで、第1の極座標系と第3の極座標系は、ともにロボットに対応して設定される座標系であるため、本体部BOの回転があったとしてもその相対関係は不変である。つまり、座標系の設定の際に、第1のアーム310の可動範囲に対応する第1の極座標系の範囲を、第3の極座標系を用いて表現した情報を取得しておけば、当該情報は本体部BOの回転があった後もそのまま利用可能である。よって、本体部BOの回転によりロボットとワークの相対関係が変化した場合であっても、変化後のワークの位置を第3の極座標系で表現した情報と、座標系設定時に求めておいた第3の極座標系で表現した第1の極座標系の範囲の情報との比較処理から、回転後のワークが第1のアーム310で作業対象とすることができるか否かを容易に判定することができる。或いは、第1の極座標系と第3の極座標系の関係が不変であることから、第3の極座標系での座標値を第1の極座標系に変換する座標変換処理の内容を事前に求めておいてもよい。そして、角度の加減算により第3の極座標系における回転後のワーク位置の座標値が求められた場合に、当該座標値に対して既知の座標変換処理を行うことで、第1の極座標系における回転後のワーク位置の座標値を求めてもよい。
以上のことから、第3の極座標系を設定することで、三角関数等を用いた負荷の高い演算を行うことなく、角度の加減算により本体部BOの回転を考慮した処理を行うことが可能になる。なお、実際にロボット制御を行う段階においては、位置を表す情報はロボットに設定された座標系(第1〜第3の極座標系)ではなく、作業空間に設定された作業空間座標系で表現することになる。そのため、本実施形態の処理においてワークの初期位置等を第1〜第3の極座標系で表現して処理を行ったとしても、ロボット制御を行うまでのいずれかのフェーズにおいて、作業空間座標系へ座標変換処理を行う必要がある。その際には、ロボット本体部BOの回転量等に応じて、三角関数を用いた回転についての演算を行う必要があり、この演算については第3の極座標系を設定したとしても回避することはできない。ただし、この処理負荷の高い演算は、極座標系を用いたロボット動作情報の生成後、変換用に1回行えば充分であり、本体部BOの回転毎での高負荷の演算を抑止できる点で、第3の極座標系を設定することは有用と言える。
なお、処理部120は、第1の極座標系及び第2の極座標系を回転させる第3の極座標系を設定する処理を行い、ワークの第1の位置から第2の位置までの移動を、第1の極座標系及び第2の極座標系の少なくとも一方と、第3の極座標系とを用いて表したワーク移動情報を生成し、ワーク移動情報に基づいて、ロボット動作情報を生成してもよい。
上述した第3の極座標系を設定する利点は、当該極座標系に対応する点が作業空間座標系で移動しないこと、及び第3の極座標系と、第1,第2の極座標系との相対関係が不変であることが満たされるということに起因している。つまり、第3の極座標系が設定される点は、第1のアーム310と第2のアーム320が直接的に接続されるロボット本体部BOである必要はない。具体的には、当該点まわりの回転を行うことで、第1の極座標系と第2の極座標系が連動して回転する点に第3の極座標系を設定すればよいことになる。
3.3 ロボット動作情報生成処理
次にレイアウト情報と設定した極座標系に基づいて、ロボット動作情報を作成する処理について説明する。
次にレイアウト情報と設定した極座標系に基づいて、ロボット動作情報を作成する処理について説明する。
まずは、ワーク移動情報生成部123において、与えられたレイアウト情報を、設定した極座標系に落とし込む処理を行う。具体的には、ワークの初期位置、最終位置、途中位置を極座標系の座標値を用いて表現する。なお、第3の極座標系は特にロボットの可動範囲と対応するものではないため、距離範囲や角度範囲が限定されない。よってワークの初期位置等は第3の極座標系においては何らかの値として表現可能である。一方、第1の極座標系及び第2の極座標系は、各アームの可動範囲に対応する距離範囲や角度範囲に設定される。よって、ワークの位置によっては、当該位置が第1の極座標系と第2の極座標系の一方では表現できるが他方では表現できない、或いは両方で表現することができないといったケースが生じうる。上述したように、本実施形態では第1,第2の極座標系で表現できるか否かを判断基準として、ワークの移動に用いるアームの決定等を行う。
具体例を図を用いて説明する。ワークA、ワークBの初期位置は図5に示した位置であることがレイアウト情報からわかっている。また、第1の極座標系及び第2の極座標系は図6(A)の示したように設定されるため、これらを合わせることで図7(A)のようになる。これにより、ワークAの初期位置は、第1の極座標系では角度が−10°、距離が450となるため(−10,450)Lと表記できる。一方、ワークAの初期位置は第2の極座標系の距離範囲、角度範囲には含まれないため、第2の極座標系によりワークAの初期位置を表現することはできないという結果が得られる。なお、以下の説明では角度をθ、距離をr、極座標系を表す文字をXとした場合に、(θ,r)Xにより極座標系での位置を表記するがこれに限定されるものではない。なお以下の説明では、所与の位置を第1の極座標系で表した場合にX=Lとし、第2の極座標系ではX=R、第3の極座標系ではX=Wとする。
また、第3の極座標系は図6(B)に示したように設定されるため、図5と図6(B)を合わせることで図7(B)のようになる。これにより、ワークAの初期位置は(−20,480)Wと表記することができる。
同様に、ワークBの初期位置は(−5,200)W、(25,300)L、(−40,400)Rと表現できる。また、ワークAとワークBが組み付けられたワークA+Bについては、除材エリアCが最終位置となり、除材エリアCは図5に示したようにワークに比べて大きい領域となる。よって本実施形態においては、除材エリアCの複数の代表点の座標値を表記することで、所与の範囲を有する除材エリアCの位置を表現するものとし、具体的には、図5等における除材エリアCの左上の点と右下の点の座標値を並べて表記する。これにより、図12に示したように、ワークA+Bの最終位置は[(10,400),(30,380)]W、[(−10,420),(15,300)]Rと表現できる。
途中位置についても同様であり、図9(A)、図9(B)よりワークAの途中位置は(0,210)W、(30,370)L、(−30,390)Rと表現され、ワークBの途中位置は(−5,380)W、(20,450)L、(−25,470)Rと表現される。
ここで、図9(A)に示した途中状態から図8(A)に示した最終状態へ移行するためには、ワークAに対して上からワークBを組み付ける作業が必要となる。つまり、図10(A)に示したように(0,210)Wの位置にあるワークAの上に、ワークBを移動させるステップも必要となり、図12にはこの作業を右から2列目に記載している。つまりワークBについては図9(A)に示した途中位置(−5,380)Wだけではなく、図10(A)に示した(0,210)Wも途中位置として用いることになる。なお、図10(A)に示した組み付けに関する情報は、レイアウト情報として与えられるものであってもよいし、図8(A)及び図9(A)等の情報に基づいて制御装置100の処理部120において作成してもよい。
以上の処理により、ワークAについて(−20,480)W→(0,210)Wという移動、ワークBについて(−5,200)W→(−5,380)W→(0,210)Wという移動、ワークA+Bについて(0,210)W→[(10,400),(30,380)]Wという移動を行えばよいという情報が得られる。またこれに合わせて、ワークAの初期位置(−20,480)Wは第1の極座標系では表現できるが第2の極座標系では表現できないという情報、及びワークA+Bの最終位置[(10,400),(30,380)]Wは第2の極座標系では表現できるが第1の極座標系では表現できないという情報が取得される。
さらにワーク移動情報生成部123では、各ワークの初期位置、途中位置、最終位置の間を必要に応じて補間することで、1又は複数のワーク移動情報を生成する。例えばワークAの(−20,480)W→(0,210)Wという移動から、この2点間の移動経路を補間する。補間により求められる移動経路は図18のR2に示したような直線的な経路であってもよいし、R1に示したような曲線的な経路であってもよい。
図18のR1やR2等に示したように、初期位置、途中位置、最終位置が決定されたとしても、それらの位置から求められるワーク移動情報は1つとは限らない。よって本実施形態のワーク移動情報生成部123では、複数のワーク移動情報を出力してもよい。
なお、上述してきたように、第1の極座標系及び第2の極座標系については、当該極座標系を用いてワークの位置を表現できない場合、当該ワークは対応するアームで作業をすることができないということになる。つまり、第1の極座標系と第2の極座標系のいずれでも表現することができない位置は、対象としているロボットではどのアームを用いたとしても到達することができない位置となる。よって、ワーク移動情報生成部123において、そのような位置を通過するワーク移動情報を生成したとしても、当該ワーク移動情報に沿ったロボット動作情報は実行不可能なものとなるため、当該ワーク移動情報に対して処理を行う利点はない。
そこで本実施形態では、そのような不要なワーク移動情報の生成を抑止するために、第1の極座標系の距離範囲と角度範囲、及び第2の極座標系の距離範囲と角度範囲に関する情報を、ワーク移動情報生成部123に対して出力し、ワーク移動情報生成部123では当該情報を用いてワーク移動情報を生成してもよい。具体的には、ワークの初期位置、途中位置、最終位置を補間してワーク移動情報を求める際に、上記距離範囲及び角度範囲を外れる経路を除外する処理を行えばよい。このようにすれば、生成されるワーク移動情報に沿ったワークの移動は、ロボットのいずれかのアームを用いれば実現可能なものとなる。
また、第1の極座標系の距離範囲と角度範囲、及び第2の極座標系の距離範囲と角度範囲に関する情報を、ワークの初期位置等の判定に用いてもよい。レイアウト情報から求められたワークの初期位置等が第1,第2の極座標系のいずれでも表現できなければ、当該ワークに対してはレイアウト情報に沿った作業を行うことができないということになる。その場合には、対象としているロボットにおいては、入力されたレイアウト情報が不適切であったと判定し、レイアウト情報の再入力を求める等のエラー処理を行ってもよい。
以上の処理により生成されたワーク移動情報に基づいて、ロボット動作情報生成部127においてロボット動作情報を生成する。ここでロボット動作情報とは、ワーク移動情報により表されるワークの移動を実現するロボット動作に対応する情報である。ただし、後段のユニットでより詳細な処理が行われるため、本実施形態のロボット動作情報はアーム等の関節角を細かく規定するものでなくてもよい。例えば、本実施形態のロボット動作情報は、ワーク移動情報により表されるワークの移動を実行するアームを特定することで得られる情報であってもよい。つまり、ワークAの(−20,480)W→(0,210)Wの移動等について、当該移動を第1のアームで行うか、第2のアームで行うかを規定すればよい。そのため、第1のアームを用いてワークAを(−20,480)Wから(0,210)Wへ移動するに当たって、第1のアームに含まれる各関節の角度をどのように制御するかまでは規定しなくてよい。
まず使用するアームの選択においては、第1のアームであれば到達できるが第2のアームでは到達できない位置を含む移動では第1のアームを用いる必要がある。同様に、第2のアームであれば到達できるが第1のアームでは到達できない位置を含む移動では第2のアームを用いる必要がある。よって、ワーク移動情報に含まれる移動のうち、いずれかのアームのみで到達可能な位置については、当該到達可能なアームにより移動を行うとの決定を行う。
具体的には、処理部120は、レイアウト情報により表されるワークの配置位置が、第1の角度範囲及び第1の距離範囲に設定された第1の極座標系により表される場合には、配置位置を始点又は終点として、第1のアームによりワークを移動させるロボット動作情報を生成し、レイアウト情報により表されるワークの配置位置が、第2の角度範囲及び第2の距離範囲に設定された第2の極座標系により表される場合には、配置位置を始点又は終点として、第2のアームによりワークを移動させるロボット動作情報を生成する。
例えば、ワークAの初期位置(−20,480)Wは、第1の極座標系では(−10,450)Lと表現できるが、第2の極座標系では表現できないため、第1のアーム(左腕)であれば到達できるが第2のアームでは到達できない。よって図7(A)の例では、ワークAの(−20,480)W→(0,210)Wへの移動は第1のアームで行うものとする。
同様に、組み付け後のアームA+Bの最終位置[(10,400),(30,380)]Wは、第2の極座標系では[(−10,420),(15,300)]Rと表現できるが、第1の極座標系では表現できないため、第2のアーム(右腕)であれば到達できるが第1のアームでは到達できない領域を含むことになる。よって図8(A)の例では、ワークA+Bの(0,210)W→[(10,400),(30,380)]Wへの移動は第2のアームで行うものとする。
これにより、第1,第2の極座標系でワークの位置が表されるか否かに基づいて、適切なアームの選択を行ってロボット動作情報を生成することが可能になる。そのため、生成されたロボット動作情報が、対象としているロボットでは実現不可能なものとなる可能性を抑止できる。
一方、複数のアームが到達可能な位置での移動は、第1のアームで行ってもよいし、第2のアームで行ってもよい。例えば、ワークBの(−5,200)W→(−5,380)Wの移動は、(−5,200)Wが第1の極座標系で(25,300)L、第2の極座標系で(−40,400)Rと表現でき、且つ(−5,380)Wが第1の極座標系で(20,450)L、第2の極座標系で(−25,470)Rと表現できることから、いずれのアームも用いることが可能である。同様に、ワークBの(−5,380)W→(0,210)Wへの移動についても、(0,210)Wが第1の極座標系で(30,370)L、第2の極座標系で(−30,390)Rと表現できることから、いずれのアームも用いることが可能である。
また、作業の順序としては、ワークAを組み付け作業位置(0,210)Wに移動させるためには、ワークBを初期位置(−5,200)Wから途中位置(−5,380)Wに退避させておく必要がある。それらをふまえると、本実施形態のロボット動作情報は図13に示した作業順序1〜4により表される情報となる。ただし、図13に示したように、作業順序1及び作業順序3については第1のアーム310と第2のアーム320のいずれを用いてもよいため、ロボット動作情報としては用いるアームを特定した4通りの情報が生成されることになる。
以上の流れを図示したものが図14(A)〜図14(D)である。なお図14(A)〜図14(D)は作業順序1及び作業順序3を第2のアーム320により実行する例である。まず、作業順序1に対応する動作として、図14(A)に示したように、ワークBを右腕を用いて(−5,200)Wから(−5,380)Wへ移動する。次に、作業順序2に対応する動作として、図14(B)に示したように、ワークAを左腕を用いて(−20,480)Wから(0,210)Wへ移動する。次に、作業順序3に対応する動作として、図14(C)に示したように、ワークBを右腕を用いて(−5,380)Wから(0,210)Wへ移動して組み付け作業を行う。最後に、作業順序4に対応する動作として、図14(D)に示したように、組み付け作業後のワークA+Bを右腕を用いて(0,210)Wから[(10,400),(30,380)]W(除材エリアC)へ移動する。
ただし、上述したように作業順序1及び作業順序3の少なくとも一方を第1のアーム310により行ってもよい。具体的には、作業順序1に用いるアームを第1のアーム310に変更した動作は図15(A)〜図15(D)のようになる。図14(A)と比較した場合、図15(A)に示したようにワークBを(−5,200)Wから(−5,380)Wへ移動する動作に左腕が用いられることになる。同様に、作業順序3に用いるアームを第1のアーム310に変更した動作が図16(A)〜図16(D)となり、作業順序1と作業順序3の両方に用いるアームを第1のアーム310に変更した動作が図17(A)〜図17(D)となる。
また、上述したように個々の移動についても、始点終点間の補間経路は複数の候補が考えられる。例えば、図18において初期位置から途中位置までワークを第1のアーム310を用いて移動させるという場合にも、当該移動はR1に沿って行われてもよいし、R2に沿って行われてもよい。
以上の点を鑑みるに、1つのレイアウト情報の入力に対して、複数のロボット動作情報が候補として得られることになり、場合によっては非常に多くのロボット動作情報の候補が取得されることもある。本実施形態では取得された複数のロボット動作情報を全て出力してもよい。
しかし、作成されるロボット動作は少数(狭義には1つ)に限定されることが望ましい。上述したように、本実施形態の処理が複数の処理工程のうちの上流工程に対応し、粗いロボット動作を求めるものである場合があり、下流工程での計算量を削減するためには、上流工程の比較的粗い処理において、探索空間を限定しておくことが重要となるためである。
よって、制御装置100の処理部120は、ロボット動作情報が複数求められた場合に、各ロボット動作情報についての作業評価値(作業コスト)を求め、求めた作業評価値に基づいて決定された1つのロボット動作情報を出力する。
これにより、複数のロボット動作情報のうち、適切なものを選択することが可能になり、出力するロボット動作情報の数を限定することも可能になる。ロボット動作情報を1つ(或いは2以上であるが所与の閾値以下となる少数)に限定すれば、後段のユニットの処理負荷を抑えることが可能になる。また、作業コストを用いて出力を決定するため、より望ましいロボット動作情報を残すことが可能になる。なお、どのようなロボット動作情報を望ましいとするかは作業評価値としてどのような評価値を用いるかに依存する。例えば、アームのエンドエフェクターの移動距離や移動時間等を評価値として用いてもよい。或いは、ロボットの構造を考慮して作業評価値を算出してもよく、例えば後述する図23に示すフローチャートのように、第1のアームと第2のアームとでそれぞれ作業評価値を算出してもよい。具体例を以下に示す。
作業コストの算出手法は種々考えられるが、例えば移動時間をコストとしてもよい。例えば図18に示したように所与のワークを初期位置から途中位置を経て最終位置まで移動させる場合に、R1とR2で示した2つの経路が候補となったとする。この際、アームのエンドエフェクター(ハンド)の移動距離ができるだけ短い方が好ましい経路であると考えることもできる。その場合、R1の経路長L1とR2の経路長L2をそれぞれ作業コストとして求めればよい。この場合、図18から明らかなようにL2<L1となるため、よりコストの低い(移動距離が短い)R2の方がR1よりもよいとしてR2を出力対象とすればよい。なお、移動速度が等速であるとの仮定をすれば、L1,L2を作業コストとする判定は移動時間が短い経路を採用する判定と同義である。
また、初期位置から最終位置までの移動時間を作業コストとしてもよい。通常のアームは速度0の状態から徐々に加速して最高速度に到達し、停止する際にも徐々に減速して速度が0の状態となる。つまり、加減速を考慮しない場合の速度変化が図21(A)となるのに対して、図21(B)に示したように、速度変化を台形近似等を用いて処理する方がより正確なものとなる。図21(B)のような台形近似では、台形の面積が移動距離に対応する。つまりR1やR2の経路長L1,L2が求められれば、台形の面積がL1となるときの図21(B)のtがR1についての移動時間を表し、台形の面積がL2となるときの図21(B)のtがR2についての移動時間を表す。よってこのtを作業コストとして、出力するロボット動作情報を決定してもよい。
なお、図21(B)の台形近似を行う場合、台形の傾きは加速度及び減速度により決定されるものであり、台形の高さは最大速度により決定されるものである。これらは関節を駆動するモーター(広義にはアクチュエーター)の機械的な性能により決定されてもよい。或いは台形の傾きや高さを、ユーザー入力等に応じて変更するものであってもよい。例えば、ユーザーが高速でワークを移動させることを重視しているのであれば、加速及び減速は最大値とするとよい。ここでの最大値とは、例えば関節を駆動するモーターの機械的な性能により決定される最大加速度、最大減速度に対応する値である。一方、液体が入れられたコップ等を移動させる場合のように、急激な加減速を避けてゆっくり移動させることが重要な場合もある。その場合には、「ゆっくり移動させたい」というユーザー入力に基づいて、加速及び減速を緩やかに行う設定を行えばよい。加速度及び減速度が変更されれば、それに応じて算出される作業コストも変化する。つまり、ユーザーがどのような観点を重視しているかに応じて、算出される作業コストが変更されるものとしてもよい。
さらにアームの構造等の情報を用いて作業コストの算出を行ってもよい。例えば、所与のアームにより作業を行う場合、当該アームが伸びた状態で行われるよりも、当該アームを畳んだ状態で行われる動作の方が制御が容易である。これはアームが伸びている場合、手先位置はアームの動作軸(回転軸)からの距離が大きく、より大きなモーメントが発生してしまうため、所望の位置での停止が難しくなることに起因する。つまり、左右のいずれのアームでの到達可能な位置で移動を行う場合であっても、より近い方のアームを用いるロボット動作情報の方が実現が容易である。この点を考慮して、所与のワークを所与の経路で移動させる場合にも、第1のアームを用いるか第2のアームを用いるかによって、当該経路に沿って算出される作業コストの値が異なるような作業コスト算出処理を行ってもよい。具体的には、遠い方のアームを用いる場合の作業コストに比べて、近い方のアームを用いる場合の作業コストが小さくなるような算出処理を行う。
また、アームが複数の関節を含む場合、当該複数の関節のうち2以上の関節を連動して駆動させる必要がある動作に比べて、1つの関節だけを駆動すれば実現可能な動作の方が制御が容易である。本実施形態の処理では細かい関節の駆動までは踏み込まないことが想定されるが、単一の関節の駆動による手先の移動は、円形(或いは3次元での円形を2次元に射影した形状)となることはアームの構造を詳細に解析せずとも理解可能である。よって、ワークの移動経路が円形に近いか否か等の観点から作業コストの算出処理を行ってもよい。
その他、作業コストの算出手法及び、算出されたコストを用いたロボット動作情報の選択手法は種々の変形実施が可能である。
3.4 本実施形態の処理の流れ
図22及び図23を用いて本実施形態の処理の流れを説明する。図22が本実施形態の処理の基本フローであり、この処理が開始されるとまず始状態に対応するレイアウト情報を取得する(S101)。始状態とは例えば図5に示した状態であり、レイアウト情報としては作業台上に図5に示した位置に配置されたワークA及びワークBを撮像した撮像画像等を取得すればよい。
図22及び図23を用いて本実施形態の処理の流れを説明する。図22が本実施形態の処理の基本フローであり、この処理が開始されるとまず始状態に対応するレイアウト情報を取得する(S101)。始状態とは例えば図5に示した状態であり、レイアウト情報としては作業台上に図5に示した位置に配置されたワークA及びワークBを撮像した撮像画像等を取得すればよい。
そして、S101で取得されたレイアウト情報からワークのサイズ情報を取得するとともに(S102)、作業空間のサイズも取得する(S103)。なお図5の例等であれば、作業空間のサイズとは作業台のサイズに対応する。
次に極座標系の設定を行う(S104)。具体的には、第1のアーム310に対応する第1の極座標系と、第2のアーム320に対応する第2の極座標系の設定を行う。第1の極座標系は第1のアーム310の可動範囲に対応する距離範囲、角度範囲に設定され、第2の極座標系は第2のアーム320の可動範囲に対応する距離範囲、角度範囲に設定される。また、S104の処理において、ロボットの本体部BOに対応する第3の極座標系の設定も行う。
さらに、終状態に対応するレイアウト情報を取得する(S105)。終状態は例えば図8(A)に示した状態である。なお、図22のフローチャートでは、始状態に対応するレイアウト情報と終状態に対応するレイアウト情報を別タイミングで取得するものとしたがこれに限定されず、S102〜S104の前にS105の処理を行ってもよい。また、図22のフローチャートではワークの途中位置に対応する途中状態(中間状態)は考慮していないが、レイアウト情報にワークの途中位置を含めてもよいことは上述したとおりである。
次に、S101及びS105で取得されたレイアウト情報と、S104で設定した極座標系を用いて、ワークの初期位置、最終位置を極座標系と対応づける(S106)。これは例えば、各位置を極座標系を用いて表すことで、図12に示した情報を取得する処理に対応する。
S106で作成された情報に基づいて、ワーク移動情報を生成する(S107)。本実施形態でのワーク移動情報は、図12に示した情報に加えて、初期位置と最終位置の間の経路を補間した情報を想定している。例えば、図18のR1やR2等をワーク移動情報としてもよい。
そして、ワーク移動情報に基づいてロボット動作情報の生成を行う。これは、作業コスト(作業評価値)の算出処理(S108)と、算出された作業コストに基づくロボット動作情報の作成(選択)、出力処理(S109)により実現される。S109では、複数のロボット動作情報の候補のうち、S108で算出された作業コストが最小となるロボット動作情報を出力として決定する処理が行われる。
S108の処理の具体的な流れの例を図23に示す。作業コストの算出処理では、まず移動経路に沿った移動距離を積算する(S201)。ここでは移動距離、或いは図21(A)に示したように等速での移動を想定した場合の移動速度を作業コストとして用いることを想定している。ただし、図21(B)に示したように速度変化等を考慮した作業コストの算出を行ってもよいことは上述したとおりである。
S201の処理結果を作業コストとしてもよいが、図23のフローチャートでは第1,第2のアームによる違いも考慮して作業コストを求めるものとしている。具体的には、移動経路に沿った移動距離を、第1のアームによる移動距離と、第2のアームによる移動距離に分け、アームごとに積算処理を行う(S202)。そして各アームについての作業コストを求めることで、処理対象としているロボット動作情報全体についての作業コストを求める(S203)。この際、上述したように用いられるアームに応じて、算出される評価値を異なるものとしてもよい。
なお、本実施形態の制御装置100等は、その処理の一部または大部分をプログラムにより実現してもよい。この場合には、CPU等のプロセッサーがプログラムを実行することで、本実施形態の制御装置100等が実現される。具体的には、非一時的な情報記憶媒体に記憶されたプログラムが読み出され、読み出されたプログラムをCPU等のプロセッサーが実行する。ここで、情報記憶媒体(コンピューターにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(DVD、CD等)、HDD(ハードディスクドライブ)、或いはメモリー(カード型メモリー、ROM等)などにより実現できる。そして、CPU等のプロセッサーは、情報記憶媒体に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち、情報記憶媒体には、本実施形態の各部としてコンピューター(操作部、処理部、記憶部、出力部を備える装置)を機能させるためのプログラム(各部の処理をコンピューターに実行させるためのプログラム)が記憶される。
なお、以上のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また制御装置、ロボットシステム等の構成、動作も本実施形態で説明したものに限定されず、種々の変形実施が可能である。
A1、A2 関節、A3、A4 フレーム、A5 エンドポイント、A6 ハンド、
100 制御装置、110 情報取得部、120 処理部、121 極座標系設定部、
123 ワーク移動情報生成部、127 ロボット動作情報生成部、
129 作業コスト算出部、300 ロボット本体、310 第1のアーム、
311,313 関節、315,317 フレーム、319 エンドエフェクター、
320 第2のアーム、400 ベースユニット部、BO 本体部
100 制御装置、110 情報取得部、120 処理部、121 極座標系設定部、
123 ワーク移動情報生成部、127 ロボット動作情報生成部、
129 作業コスト算出部、300 ロボット本体、310 第1のアーム、
311,313 関節、315,317 フレーム、319 エンドエフェクター、
320 第2のアーム、400 ベースユニット部、BO 本体部
Claims (11)
- ロボットの作業空間におけるワークの第1の位置、及び前記第1の位置とは異なる前記ワークの第2の位置を含むレイアウト情報を取得する情報取得部と、
前記レイアウト情報に基づいて、ロボット動作情報を生成する処理部と、
を含み、
前記処理部は、
前記作業空間において、前記ロボットの第1のアームに対応する第1の極座標系を設定する処理と、前記作業空間において、前記ロボットの前記第1のアームとは異なる第2のアームに対応する第2の極座標系を設定する処理を行い、
前記ワークの前記第1の位置から前記第2の位置までの移動を、前記第1の極座標系及び前記第2の極座標系の少なくとも一方を用いて表したワーク移動情報を生成し、
前記ワーク移動情報に基づいて、前記ロボット動作情報を生成することを特徴とする制御装置。 - 請求項1において、
前記ロボット動作情報は、
前記ロボットの前記第1のアームと前記第2のアームのうちのいずれのアームを用いて、前記ワークを前記第1の位置から前記第2の位置まで移動させるのかを表す情報であることを特徴とする制御装置。 - 請求項1又は2において、
前記処理部は、
前記第1のアームの可動範囲に対応する第1の角度範囲、及び前記第1のアームの前記可動範囲に対応する第1の距離範囲に、前記第1の極座標系を設定し、
前記第2のアームの可動範囲に対応する第2の角度範囲、及び前記第2のアームの前記可動範囲に対応する第2の距離範囲に、前記第2の極座標系を設定することを特徴とする制御装置。 - 請求項3において、
前記処理部は、
前記レイアウト情報により表される前記ワークの配置位置が、前記第1の角度範囲及び前記第1の距離範囲に設定された前記第1の極座標系により表される場合には、前記配置位置を始点又は終点として、前記第1のアームにより前記ワークを移動させる前記ロボット動作情報を生成し、
前記レイアウト情報により表される前記ワークの前記配置位置が、前記第2の角度範囲及び前記第2の距離範囲に設定された前記第2の極座標系により表される場合には、前記配置位置を始点又は終点として、前記第2のアームにより前記ワークを移動させる前記ロボット動作情報を生成することを特徴とする制御装置。 - 請求項1乃至4のいずれかにおいて、
前記ロボットは、
所定軸まわりに回転可能な本体部と、前記本体部に設けられる前記第1のアーム及び前記第2のアームとを含むことを特徴とする制御装置。 - 請求項5において、
前記処理部は、
前記ロボットの前記本体部に対応する第3の極座標系を設定する処理を行い、
前記ワークの前記第1の位置から前記第2の位置までの移動を、前記第1の極座標系及び前記第2の極座標系の少なくとも一方と、前記第3の極座標系とを用いて表した前記ワーク移動情報を生成し、
前記ワーク移動情報に基づいて、前記ロボット動作情報を生成することを特徴とする制御装置。 - 請求項1乃至4のいずれかにおいて、
前記処理部は、
前記第1の極座標系及び前記第2の極座標系を回転させる第3の極座標系を設定する処理を行い、
前記ワークの前記第1の位置から前記第2の位置までの移動を、前記第1の極座標系及び前記第2の極座標系の少なくとも一方と、前記第3の極座標系とを用いて表した前記ワーク移動情報を生成し、
前記ワーク移動情報に基づいて、前記ロボット動作情報を生成することを特徴とする制御装置。 - 請求項1乃至7のいずれかに記載の制御装置と、
前記ロボットと、
を含むことを特徴とするロボットシステム。 - 所定の作業空間におけるワークの第1の位置、及び前記第1の位置とは異なる前記ワークの第2の位置を含むレイアウト情報を取得する情報取得部と、
前記レイアウト情報に基づいて、ロボット動作情報を生成する処理部と、
を含み、
前記処理部は、
前記作業空間において、第1のアームに対応する第1の極座標系を設定する処理と、前記作業空間において、前記第1のアームとは異なる第2のアームに対応する第2の極座標系を設定する処理を行い、
前記ワークの前記第1の位置から前記第2の位置までの移動を、前記第1の極座標系及び前記第2の極座標系の少なくとも一方を用いて表したワーク移動情報を生成し、
前記ワーク移動情報に基づいて、前記ロボット動作情報を生成することを特徴とするロボット。 - ロボットの作業空間におけるワークの第1の位置、及び前記第1の位置とは異なる前記ワークの第2の位置を含むレイアウト情報を取得する処理を行い、
前記レイアウト情報に基づいて、ロボット動作情報を生成するロボット動作情報生成処理を行い、
前記ロボット動作情報生成処理として、
前記作業空間において、前記ロボットの第1のアームに対応する第1の極座標系を設定し、前記作業空間において、前記ロボットの前記第1のアームとは異なる第2のアームに対応する第2の極座標系を設定し、
前記ワークの前記第1の位置から前記第2の位置までの移動を、前記第1の極座標系及び前記第2の極座標系の少なくとも一方を用いて表したワーク移動情報を生成し、
前記ワーク移動情報に基づいて、前記ロボット動作情報を生成する処理を行うことを特徴とするロボット動作情報生成方法。 - ロボットの作業空間におけるワークの第1の位置、及び前記第1の位置とは異なる前記ワークの第2の位置を含むレイアウト情報を取得する情報取得部と、
前記レイアウト情報に基づいて、ロボット動作情報を生成する処理部として、
コンピューターを機能させ、
前記処理部は、
前記作業空間において、前記ロボットの第1のアームに対応する第1の極座標系を設定する処理と、前記作業空間において、前記ロボットの前記第1のアームとは異なる第2のアームに対応する第2の極座標系を設定する処理を行い、
前記ワークの前記第1の位置から前記第2の位置までの移動を、前記第1の極座標系及び前記第2の極座標系の少なくとも一方を用いて表したワーク移動情報を生成し、
前記ワーク移動情報に基づいて、前記ロボット動作情報を生成することを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013192662A JP2015058493A (ja) | 2013-09-18 | 2013-09-18 | 制御装置、ロボットシステム、ロボット、ロボット動作情報生成方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013192662A JP2015058493A (ja) | 2013-09-18 | 2013-09-18 | 制御装置、ロボットシステム、ロボット、ロボット動作情報生成方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015058493A true JP2015058493A (ja) | 2015-03-30 |
Family
ID=52816448
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013192662A Pending JP2015058493A (ja) | 2013-09-18 | 2013-09-18 | 制御装置、ロボットシステム、ロボット、ロボット動作情報生成方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015058493A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016139766A1 (ja) * | 2015-03-04 | 2016-09-09 | 株式会社日立製作所 | 組立動作教示装置 |
CN115446851A (zh) * | 2022-11-11 | 2022-12-09 | 北京炎凌嘉业机电设备有限公司 | 双臂机器人控制***及用于自动喷涂的双臂机器人 |
CN116141338A (zh) * | 2023-04-18 | 2023-05-23 | 广东隆崎机器人有限公司 | 双臂机器人的控制方法、计算机存储介质及双臂机器人 |
-
2013
- 2013-09-18 JP JP2013192662A patent/JP2015058493A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016139766A1 (ja) * | 2015-03-04 | 2016-09-09 | 株式会社日立製作所 | 組立動作教示装置 |
CN115446851A (zh) * | 2022-11-11 | 2022-12-09 | 北京炎凌嘉业机电设备有限公司 | 双臂机器人控制***及用于自动喷涂的双臂机器人 |
CN116141338A (zh) * | 2023-04-18 | 2023-05-23 | 广东隆崎机器人有限公司 | 双臂机器人的控制方法、计算机存储介质及双臂机器人 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108453702B (zh) | 机器人仿真器、机器人***以及仿真方法 | |
JP7222803B2 (ja) | 軌道計画装置、軌道計画方法及びプログラム | |
JP6705977B2 (ja) | ロボットパス生成装置及びロボットシステム | |
US9827675B2 (en) | Collision avoidance method, control device, and program | |
JP6311421B2 (ja) | ティーチングシステム、ロボットシステムおよびティーチング方法 | |
JP5426719B2 (ja) | ロボットシステムの動作シミュレーション装置 | |
Neto et al. | High‐level robot programming based on CAD: dealing with unpredictable environments | |
JP2015058492A (ja) | 制御装置、ロボットシステム、ロボット、ロボット動作情報生成方法及びプログラム | |
JP2014180704A (ja) | ロボットピッキングシステム及び被加工物の製造方法 | |
JP6501470B2 (ja) | 軌道生成方法、軌道生成装置、ロボット装置、プログラム及び記録媒体 | |
CN109551485B (zh) | 运动控制方法、装置和***及存储介质 | |
JP2019018272A (ja) | モーション生成方法、モーション生成装置、システム及びコンピュータプログラム | |
JP5659890B2 (ja) | ロボットの軌道計画システム及び軌道計画方法 | |
JP5458769B2 (ja) | ロボットの制御装置 | |
JP6469159B2 (ja) | 接触センサによるワーク位置検出プログラム生成機能を備えたオフラインプログラミング装置及び方法 | |
JP5108032B2 (ja) | 多関節構造体教示装置 | |
JP2007286976A (ja) | ロボットシミュレーション装置 | |
JP2015111336A (ja) | 移動ロボット | |
JP2007203380A (ja) | ロボットの教示支援装置 | |
JP2009134352A (ja) | ロボットの動作経路作成装置及びロボットの動作経路作成方法 | |
JP2009053926A (ja) | 経路計画装置及び経路計画方法 | |
JP2015174184A (ja) | 制御装置 | |
JP2015058493A (ja) | 制御装置、ロボットシステム、ロボット、ロボット動作情報生成方法及びプログラム | |
JP2007000954A (ja) | ロボット教示装置及び方法 | |
KR101787865B1 (ko) | 다관절 링크 기구의 역운동학 해법, 및 이 역운동학 해법을 이용한 교시 데이터 작성 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20150113 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20160617 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20160624 |