(57)【要約】【課題】対象物５の運搬のために当該対象物５を把持する把持機構２５を移動させる軌道を、効率的に生成可能とする技術の提供を目的とする。【解決手段】そのＴＣＰ６に対して所定の位置関係を満たす対象物５を把持する把持機構２５を用いて対象物５を運搬するために、把持機構２５を移動させる軌道が生成される。運搬前の対象物５を把持機構２５で把持する際のＴＣＰ６の位置に対象物５の運搬前基準点９が設定され、運搬後の対象物５を把持機構２５で把持する際のＴＣＰ６の位置に対象物の運搬後基準点８が設定される。そして、運搬前基準点９から運搬後基準点８までＴＣＰ６が移動するように、把持機構２５の軌道が演算により生成される。このような構成では、把持機構２５の軌道生成のためには、対象物５の基準点９、８が設定されれば良く、把持機構２５の動作を動画で確認する必要がない。【選択図】図７
2013244560.tif 000002
【特許請求の範囲】
【請求項１】
その把持基準点に対して所定の位置関係を満たす対象物を把持する把持機構を用いて前記対象物を運搬するために前記把持機構を移動させる軌道を生成する、把持機構の軌道生成装置において、
運搬前の前記対象物を前記把持機構で把持する際の前記把持基準点の位置に前記対象物の運搬前基準点が設定され、運搬後の前記対象物を前記把持機構で把持する際の前記把持基準点の位置に前記対象物の運搬後基準点が設定される設定入力部と、
前記把持基準点が前記運搬前基準点から前記運搬後基準点まで移動するように、前記把持機構の軌道を演算により生成する軌道演算部と
を備えることを特徴とする把持機構の軌道生成装置。
【請求項２】
運搬前および／または運搬後の前記対象物の状態を仮想空間上で再現して表示する対象物表示画面をさらに備える請求項１に記載の把持機構の軌道生成装置。
【請求項３】
前記設定入力部には、ユーザが前記対象物表示画面上で指定した前記運搬前基準点および／または前記運搬後基準点が設定される請求項２に記載の把持機構の軌道生成装置。
【請求項４】
前記軌道演算部が生成した軌道を表示する軌道表示部をさらに備える請求項１ないし３のいずれか一項に記載の把持機構の軌道生成装置。
【請求項５】
前記設定入力部には、運搬前の前記対象物を把持する前記把持機構の姿勢が運搬前姿勢として設定可能であり、
前記軌道演算部は、前記把持基準点が前記運搬前基準点にあるときに前記把持機構が前記運搬前姿勢を取るように、前記把持機構の軌道を演算により生成する請求項１ないし４のいずれか一項に記載の把持機構の軌道生成装置。
【請求項６】
前記設定入力部には、運搬後の前記対象物を把持する前記把持機構の姿勢が運搬後姿勢として設定可能であり、
前記軌道演算部は、前記把持基準点が前記運搬後基準点にあるときに前記把持機構が前記運搬後姿勢を取るように、前記把持機構の軌道を演算により生成する請求項１ないし５のいずれか一項に記載の把持機構の軌道生成装置。
【請求項７】
前記設定入力部には、前記把持基準点が前記運搬後基準点に接近する際のアプローチ方向が設定可能であり、
前記軌道演算部は、前記把持基準点が前記アプローチ方向から前記運搬後基準点へ接近するように、前記把持機構の軌道を演算により生成する請求項１ないし６のいずれか一項に記載の把持機構の軌道生成装置。
【請求項８】
その把持基準点に対して所定の位置関係を満たす対象物を把持する把持機構を用いて前記対象物を運搬するために前記把持機構を移動させる軌道を生成する、把持機構の軌道生成方法において、
運搬前の前記対象物を前記把持機構で把持する際の前記把持基準点の位置に前記対象物の運搬前基準点が設定され、運搬後の前記対象物を前記把持機構で把持する際の前記把持基準点の位置に前記対象物の運搬後基準点が設定される工程と、
前記把持基準点が前記運搬前基準点から前記運搬後基準点まで移動するように、前記把持機構の軌道を演算により生成する工程と
を備えることを特徴とする把持機構の軌道生成方法。
【請求項９】
その把持基準点に対して所定の位置関係を満たす対象物を把持する把持機構を用いて前記対象物を運搬するために前記把持機構を移動させる軌道をコンピュータに生成させる、把持機構の軌道生成プログラムにおいて、
運搬前の前記対象物を前記把持機構で把持する際の前記把持基準点の位置に前記対象物の運搬前基準点が設定され、運搬後の前記対象物を前記把持機構で把持する際の前記把持基準点の位置に前記対象物の運搬後基準点が設定される工程と、
前記把持基準点が前記運搬前基準点から前記運搬後基準点まで移動するように、前記把持機構の軌道を演算により生成する工程と
を前記コンピュータに実行させることを特徴とする把持機構の軌道生成プログラム。
【請求項１０】
請求項９に記載された把持機構の軌道生成プログラムがコンピュータにより読み出し可能に記録されたことを特徴とする記録媒体。
【請求項１１】
その把持基準点に対して所定の位置関係を満たす対象物を把持するハンドを用いて前記対象物を運搬するロボットの制御をコンピュータに実行させるロボットプログラムを作成するロボットプログラム作成装置において、
運搬前の前記対象物を前記ハンドで把持する際の前記把持基準点の位置に前記対象物の運搬前基準点が設定され、運搬後の前記対象物を前記ハンドで把持する際の前記把持基準点の位置に前記対象物の運搬後基準点が設定される設定入力部と、
前記把持基準点が前記運搬前基準点から前記運搬後基準点まで移動するように、前記ハンドの軌道を演算により生成する軌道演算部と、
前記軌道生成部が生成した軌道を前記ハンドが通るように、前記ロボットプログラムを作成するプログラム作成部と
を備えることを特徴とするロボットプログラム作成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、把持機構を用いて対象物を運搬する技術に関し、特に対象物の運搬のために把持機構を移動させる軌道を生成する技術に関する。
【背景技術】
【０００２】
従来、部品等の対象物を運搬するために、ロボットハンド等の把持機構が用いられる。例えば、複数の部品を組み付けて製品を製造する用途にロボットハンドを用いる場合では、組み付け前の部品を把持して組み付け位置まで運搬する動作を、ロボットハンドが繰り返し実行する。
【０００３】
また、特許文献１では、予め生成された軌道に沿ってロボットハンドを移動させることで、部品を運搬する技術が記載されている。特に同文献では、演算により求めた軌跡を部品が通過するように、ロボットハンドの動作が決定される。この際、ロボットハンドの動作の決定は、部品を把持するロボットハンドの動作を動画で確認しつつ実行される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４５１３６６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
つまり、上記文献の技術は、把持機構（ロボットハンド）の軌道を決定するために、把持機構を仮想的に動かした様子を動画で確認させるものであった。しかしながら、このような動画での確認に要する手間が、把持機構の軌道生成の効率化を妨げる要因となる場合があった。
【０００６】
この発明は上記課題に鑑みなされたものであり、対象物の運搬のために当該対象物を把持する把持機構を移動させる軌道を、効率的に生成可能とする技術の提供を目的とする。
【課題を解決するための手段】
【０００７】
この発明にかかる把持機構の軌道生成装置は、上記目的を達成するために、その把持基準点に対して所定の位置関係を満たす対象物を把持する把持機構を用いて対象物を運搬するために把持機構を移動させる軌道を生成する、把持機構の軌道生成装置において、運搬前の対象物を把持機構で把持する際の把持基準点の位置に対象物の運搬前基準点が設定され、運搬後の対象物を把持機構で把持する際の把持基準点の位置に対象物の運搬後基準点が設定される設定入力部と、把持基準点が運搬前基準点から運搬後基準点まで移動するように、把持機構の軌道を演算により生成する軌道演算部とを備えることを特徴としている。
【０００８】
この発明にかかる把持機構の軌道生成方法は、上記目的を達成するために、その把持基準点に対して所定の位置関係を満たす対象物を把持する把持機構を用いて対象物を運搬するために把持機構を移動させる軌道を生成する、把持機構の軌道生成方法において、運搬前の対象物を把持機構で把持する際の把持基準点の位置に対象物の運搬前基準点が設定され、運搬後の対象物を把持機構で把持する際の把持基準点の位置に対象物の運搬後基準点が設定される工程と、把持基準点が運搬前基準点から運搬後基準点まで移動するように、把持機構の軌道を演算により生成する工程とを備えることを特徴としている。
【０００９】
この発明にかかる把持機構の軌道生成プログラムは、上記目的を達成するために、その把持基準点に対して所定の位置関係を満たす対象物を把持する把持機構を用いて対象物を運搬するために把持機構を移動させる軌道をコンピュータに生成させる、把持機構の軌道生成プログラムにおいて、運搬前の対象物を把持機構で把持する際の把持基準点の位置に対象物の運搬前基準点が設定され、運搬後の対象物を把持機構で把持する際の把持基準点の位置に対象物の運搬後基準点が設定される工程と、把持基準点が運搬前基準点から運搬後基準点まで移動するように、把持機構の軌道を演算により生成する工程とをコンピュータに実行させることを特徴としている。
【００１０】
この発明にかかる記録媒体は、上記の把持機構の軌道生成プログラムがコンピュータにより読み出し可能に記録されたことを特徴としている。
【００１１】
この発明にかかるロボットプログラム作成装置は、上記目的を達成するために、その把持基準点に対して所定の位置関係を満たす対象物を把持するハンドを用いて対象物を運搬するロボットの制御をコンピュータに実行させるロボットプログラムを作成するロボットプログラム作成装置において、運搬前の対象物をハンドで把持する際の把持基準点の位置に対象物の運搬前基準点が設定され、運搬後の対象物をハンドで把持する際の把持基準点の位置に対象物の運搬後基準点が設定される設定入力部と、把持基準点が運搬前基準点から運搬後基準点まで移動するように、ハンドの軌道を演算により生成する軌道演算部と、軌道生成部が生成した軌道をハンドが通るように、ロボットプログラムを作成するプログラム作成部とを備えることを特徴としている。
【００１２】
このように構成された発明（把持機構の軌道生成装置、把持機構の軌道生成方法、把持機構の軌道生成プログラム、記録媒体、ロボットプログラム作成装置）では、その把持基準点に対して所定の位置関係を満たす対象物を把持する把持機構を用いて対象物を運搬するために、把持機構を移動させる軌道が生成される。この軌道生成にあたっては、運搬前の対象物を把持機構で把持する際の把持基準点の位置に対象物の運搬前の把持基準点が設定され、運搬後の対象物を把持機構で把持する際の把持基準点の位置に対象物の運搬後の把持基準点が設定される。そして、こうして設定された運搬前基準点から運搬後基準点まで把持基準点が移動するように、把持機構の軌道が演算により生成される。このように本発明によれば、対象物の基準点（運搬前基準点、運搬後基準点）が設定されれば、対象物を運搬する把持機構の軌道が演算により自動的に生成できる。換言すれば、把持機構の軌道生成のためには、対象物の基準点が設定されれば良く、把持機構の動作を動画で確認する必要がない。その結果、対象物の運搬のために当該対象物を把持する把持機構を移動させる軌道を、効率的に生成することが可能となっている。
【００１３】
また、運搬前および／または運搬後それぞれの対象物の状態を仮想空間上で再現して表示する対象物表示画面をさらに備えるように、把持機構の軌道生成装置を構成しても良い。このような構成では、ユーザは、対象物の状態を対象物表示画面で確認しながら、対象物の運搬前基準点および／または運搬後基準点を設定することができ、ユーザにとっての操作性が向上する。
【００１４】
この際、設定入力部には、ユーザが対象物表示画面上で指定した運搬前基準点および／または運搬後基準点が設定されるように、把持機構の軌道生成装置を構成しても良い。このような構成では、対象物の状態の確認のみならず、運搬前および／または運搬後基準点の設定についても対象物表示画面上で実行することができ、ユーザにとっての操作性がより向上する。
【００１５】
また、軌道演算部が生成した軌道を表示する軌道表示部をさらに備えるように、把持機構の軌道生成装置を構成しても良い。このような構成では、ユーザは、生成された軌道を軌道表示部で確認しながらその適否を判断でき、ユーザにとっての操作性が向上する。
【００１６】
ちなみに、把持機構の軌道演算のために設定可能な条件は、運搬前・運搬後基準点に限られない。つまり、これら以外に設定された条件を満たすように把持機構の軌道演算を行うことで、より適切な軌道を生成することが可能となる。
【００１７】
具体的には、設定入力部には、運搬前の対象物を把持する把持機構の姿勢が運搬前姿勢として設定可能であり、軌道演算部は、把持基準点が運搬前基準点にあるときに把持機構が運搬前姿勢を取るように、把持機構の軌道を演算により生成するように、把持機構の軌道生成装置を構成しても良い。
【００１８】
設定入力部には、運搬後の対象物を把持する把持機構の姿勢が運搬後姿勢として設定可能であり、軌道演算部は、把持基準点が運搬後基準点にあるときに把持機構が運搬後姿勢を取るように、把持機構の軌道を演算により生成するように、把持機構の軌道生成装置を構成しても良い。
【００１９】
あるいは、設定入力部には、把持基準点が運搬後基準点に接近する際のアプローチ方向が設定可能であり、軌道演算部は、把持基準点がアプローチ方向から運搬後基準点へ接近するように、把持機構の軌道を演算により生成するように、把持機構の軌道生成装置を構成しても良い。
【発明の効果】
【００２０】
対象物の運搬のために当該対象物を把持する把持機構を移動させる軌道を、効率的に生成することが可能となる。
【図面の簡単な説明】
【００２１】
【図１】本発明により作成したロボットプログラムに基づいて制御可能なロボットの一例を模式的に示す斜視図である。
【図２】図１に示すロボットを制御する電気的構成を模式的に示すブロック線図である。
【図３】図１のロボットが備えるハンドの把持動作を模式的に示す図である。
【図４】部品とＴＣＰの位置合わせの一例を模式的に示す図である。
【図５】ロボットプログラム作成装置の電気的構成の一例を模式的に示すブロック線図である。
【図６】ロボットプログラムを作成するフローチャートの一例を示す図である。
【図７】図６のフローチャートで実行される作業の一例を模式的に示す斜視図である。
【図８】組立前後における基準点等のリストの一例を表で示す図である。
【発明を実施するための形態】
【００２２】
図１は、本発明により作成したロボットプログラムに基づいて制御可能なロボットの一例を模式的に示す斜視図である。なお、図１では、ロボット２を制御するコンピュータ３がロボット２の他に併記されている。図２は、図１に示すロボットを制御する電気的構成を模式的に示すブロック線図である。図１および以下に示す図では、鉛直方向をｚ軸方向とするｘｙｚ直交座標軸を適宜示すこととする。
【００２３】
図１に示すロボット２は、胴体部２１に２本のアーム２２を取り付けた概略構成を備えた双腕ロボットである。各アーム２２は、駆動モータＭ23に接続された肩関節２３を介して取り付けられている。したがって、駆動モータＭ23で肩関節２３を回転させて、アーム２２を動かすことができる。また、各アーム２２の先端には、手首関節２４を介してハンド２５が取り付けられている。この手首関節２４には駆動モータＭ24が接続されている。したがって、駆動モータＭ24で手首関節２４を回転させることで、ハンド２５の向きを変えることができる。さらに、ハンド２５には駆動モータＭ25が接続されている。したがって、駆動モータＭ25によってハンド２５を開閉させることができる。
【００２４】
このようなロボット２の動作は、コンピュータ３によって制御される。コンピュータ３は、ＣＰＵ(Central Processing Unit)やメモリーで構成された主制御部３１を備える。そして、主制御部３１は駆動モータＭ23〜Ｍ25を制御することで、ハンド２５で部品５（機械部品、電子部品）を掴んだり、部品５を掴んだハンド２５を移動させたり、ハンド２５を回転させて部品５の姿勢を変えたり、ハンド２５から部品５を放したりといった基本動作を、ロボット２に実行させることができる。
【００２５】
特に、コンピュータ３には、ロボット２に所定手順を実行させるために作成されたロボットプログラム４がインストールされている。つまり、主制御部３１はロボットプログラム４に従って駆動モータＭ23〜Ｍ25を制御することで、ロボットプログラム４に規定された手順をロボット２に実行させる。具体的には、この実施形態で説明するロボットプログラム４は、複数の部品５の組み立てをロボット２に実行させるものである。つまり、ハンド２５は、ロボットプログラム４に従って、部品５を初期位置で把持して組立位置まで移動させる動作を各部品について実行して、複数の部品を組み立てる。なお、このような部品５の組み立てを実行するためには、ハンド２５によって部品５を的確に把持する必要がある。そこで、ロボットプログラム４は、ハンド２５に対して設定されたＴＣＰ(Tool Center Point)を基準に、ハンド２５に部品５の把持動作を実行させる。
【００２６】
図３は、図１のロボットが備えるハンドの把持動作を模式的に示す図である。図３では、初期位置にある部品５へ向けて移動するハンド２５が破線で示され、初期位置で部品５を把持するハンド２５が実線で示されている。図３に示すように、ハンド２５に対しては、仮想的な点であるＴＣＰ６が設定されている。ハンド２５とＴＣＰ６との位置関係は固定されており、ハンド２５はＴＣＰ６を伴って移動する。そして、部品５とＴＣＰ６とが所定の位置関係を満たす状態で、ハンド２５を作動させる（閉じる）ことで、部品５をハンド２５で把持することができる。具体的には、例えば図４に示すように、部品５に対して設定された適当な代表点とＴＣＰ６とが一致した状態で、部品５をハンド２５で把持できるように構成することができる。
【００２７】
図４は、部品とＴＣＰの位置合わせの一例を模式的に示す図である。同図において、「移動」の欄ではハンド２５が初期位置の部品５へ向けて移動する様子が示され、「把持」の欄ではハンド２５が初期位置で部品５を把持する様子が示されている。同図に示す例では、ハンド２５のみならず、部品５に対してもＴＣＰ７（代表点）が付されている。この部品側ＴＣＰ７は、部品５の把持態様に適した位置に設定することができる。そして、部品５までハンド２５を移動させて、部品側ＴＣＰ７にハンド側ＴＣＰ６を一致させた状態でハンド２５を作動させることで、部品５をハンド２５で把持することができる。この際、部品５の把持態様のバリエーションに応じて複数の部品側ＴＣＰ７を設定しておき、部品５の把持態様に応じて選択された一の部品側ＴＣＰ７を基準に、部品５とハンド２５の位置合わせを行なうように構成することもできる。
【００２８】
このようなハンド２５の動作は、上述のとおりロボットプログラム４に基づいて制御される。続いては、このロボットプログラム４を作成する構成および動作の一例について説明する。図５は、ロボットプログラム作成装置の電気的構成の一例を模式的に示すブロック線図である。なお、図５では、ロボットプログラム作成装置１００の他に、ロボットプログラム作成用の作成プログラム２００を記録した記録媒体３００およびシミュレータ４００が併記されている。
【００２９】
ロボットプログラム作成装置１００は、ＣＰＵやメモリーで構成された主制御部１１０を具備するコンピュータである。さらに、ロボットプログラム作成装置１００は、外部とのデータの入出力を制御する入出力部１２０、メモリーやハードディスクで構成された記憶部１３０、キーボードやマウスで構成された入力機器１４０、およびディスプレイ１５０を具備する。なお、ディスプレイ１５０としては、タッチパネル型のように入力機能を有するものを用いても良い。
【００３０】
かかる構成を具備するロボットプログラム作成装置１００は、記憶部１３０に読み込んだ作成プログラム２００に基づいてロボットプログラム４を作成する。作成プログラム２００は、例えばロボットプログラム作成装置１００により読み取りが可能な記録媒体３００に記録された状態で供給される。このような記録媒体３００としては、例えば、ＣＤ(Compact Disc)、ＤＶＤ(Digital Versatile Disc)、ＵＳＢ(Universal Serial Bus)メモリー等の種々のものが挙げられる。具体的には、作成プログラム２００には、図６に示すフローチャートが組み込まれており、ロボットプログラム作成装置１００は、同フローチャートを実行することでロボットプログラム４を作成する。
【００３１】
図６は、ロボットプログラムを作成するフローチャートの一例を示す図である。図７は、図６のフローチャートで実行される作業の一例を模式的に示す斜視図である。図７では、平面視において略台形状の部品５aの上に平面視において略矩形状の部品５bを重ねて、２本のネジ状の部品５c、５dで部品５a、５bを相互に固定することで、部品５（５a〜５d）を組み立てる例が示されており、複数の部品５a〜５dの組立前における状態が「組立前」の欄に示され、複数の部品５a〜５dの組立後における状態が「組立後」の欄に示されている。
【００３２】
図６のフローチャートは、組立前の初期位置から組立後の組立位置に部品５a〜５dそれぞれを運搬するハンド２５の軌道を生成するステップＳ１０１〜Ｓ１０７と、当該軌道をハンド２５が通過するようにロボットプログラム４を作成するステップＳ１０８とに大別される。これらの詳細は次のとおりである。
【００３３】
ロボットプログラム４の作成が開始すると、ステップＳ１０１において、組立対象である複数の部品５a〜５dのＣＡＤ(computer aided design)データが、外部の三次元ＣＡＤ(computer aided design)ツールから入出力部１２０を介して記憶部１３０に読み込まれる。続くステップＳ１０２では、主制御部１１０が、複数の部品５a〜５dの組立後における状態を示す組み図を、読み込んだＣＡＤデータに基づいて仮想空間上に再現する。
【００３４】
この際、組み図の作成は、外部の三次元ＣＡＤツールで行なっても良いし、三次元ＣＡＤソフトを用いてロボットプログラム作成装置１００で行なっても良い。前者の例では、ロボットプログラム作成装置１００は、外部の三次元ＣＡＤツールで作成された組み図をそのまま再現すれば良い。後者の例では、ロボットプログラム作成装置１００は、外部の三次元ＣＡＤツールが読み込んだ個々の部品５のＣＡＤデータに基づいて組み図を作成して、これを再現すれば良い。
【００３５】
ステップＳ１０３では、作成された組み図に基づいて、組立後における各部品５a〜５dの運搬後基準点８a〜８dが記憶部１３０に設定される。具体的には図７の「組立後」の欄に示すように、これら運搬後基準点８（８a〜８d）は、組立位置にある運搬後の部品５（５a〜５d）を把持するハンド２５のＴＣＰ６の位置に設定され、三次元の仮想空間における点（ｘ，ｙ，ｚ）として表される。この運搬後基準点８は、運搬後における部品５の部品側ＴＣＰ７に相当する。
【００３６】
また、ステップＳ１０３では、運搬後の部品５（５a〜５d）を把持するハンド２５の姿勢（Ｒx、Ｒy、Ｒz）が設定される。さらに、ステップＳ１０３では、組立位置に部品５（５a〜５d）を運搬するにあたって、ハンド２５のＴＣＰ６が運搬後基準点８（８a〜８d）に接近する際のアプローチ方向（Ｄx、Ｄy、Ｄz）が設定される。ここで、ハンド２５の姿勢（Ｒx、Ｒy、Ｒz）は、ハンド２５の姿勢をオイラー角あるいはロール・ピッチ・ヨー角で示したものである。また、ハンド２５のアプローチ方向（Ｄx、Ｄy、Ｄz）は、ハンド２５のアプローチ方向を三次元ベクトルで示したものである。
【００３７】
これら運搬後基準点８、ハンド２５の姿勢（Ｒx、Ｒy、Ｒz）およびアプローチ方向（Ｄx、Ｄy、Ｄz）等の各値の設定は、ユーザが仮想空間上で再現された組み図をディスプレイ１５０で確認しながら、入力機器１４０等を操作することで実行できる。特に運搬後基準点８の設定態様については、次のように構成しても良い。
【００３８】
すなわち、ディスプレイ１５０に表示された運搬後の部品５の適当な箇所に、マウスで操作可能なカーソルを合わせることでユーザが指定した位置に、運搬後基準点８を設定するように構成しても良い。あるいは、タッチパネル型のディスプレイ１５０を用いた場合は、ディスプレイ１５０を押すことでユーザが指定した位置に、運搬後基準点８を設定するように構成しても良い。これらの構成例では、部品５a〜５dの状態を仮想空間上で表示するディスプレイ１５０上でユーザにより指定された位置が、運搬後基準点８として設定される。なお、ユーザの指定位置が適当でない場合は、その旨をディスプレイ１５０に表示して指定位置の変更をユーザに促したり、主制御部１１０がユーザの指定位置から修正した位置を運搬後基準点８として設定したりするように、構成することもできる。
【００３９】
続くステップＳ１０４では、主制御部１１０が、複数の部品５a〜５dの組立前における状態を示す初期配置図をＣＡＤデータに基づいて仮想空間上に再現する。具体例を挙げて説明すると、実作業空間における組立前の部品５a〜５bをカメラで撮像した結果から、部品５a〜５bの初期位置を示す初期位置情報を予め取得しておき、個々の部品５のＣＡＤデータを初期位置情報の示す位置に配置することで、初期配置図が作成される。
【００４０】
ステップＳ１０５では、作成した初期配置図に基づいて、組立前における各部品５a〜５dの運搬前基準点９a〜９dが記憶部１３０に設定される。具体的には図７の「組立前」の欄に示すように、これら運搬前基準点９（９a〜９d）は、初期位置にある運搬前の部品５（５a〜５d）を把持するハンド２５のＴＣＰ６の位置に設定され、三次元の仮想空間における点（ｘ，ｙ，ｚ）として表される。この運搬前基準点９は、運搬前における部品５の部品側ＴＣＰ７に相当する。
【００４１】
この際、運搬前基準点９a〜９dの設定は、運搬後基準点８a〜８dの設定と同様にして、ディスプレイ１５０上でのユーザの指定に基づいて実行することができる。あるいは、運搬前基準点９a〜９dの設定は、初期配置図と運搬後基準点８a〜８dの設定結果に基づいて主制御部１１０が演算により自動的に実行しても良い。つまり、運搬前基準点９a〜９dと部品５a〜５dの位置関係と、運搬後基準点８a〜８dと部品５a〜５dの位置関係とは互いに同一である。したがって、先のステップＳ１０３で設定済みの運搬後基準点８a〜８dと部品５a〜５dの位置関係を参照することで、初期配置図における各部品５a〜５dの位置から、運搬前基準点９a〜９dを演算によって自動的に求められる。
【００４２】
また、ステップＳ１０５では、運搬前の部品５（５a〜５d）を把持するハンド２５の姿勢（Ｒx、Ｒy、Ｒz）が設定される。さらに、ステップＳ１０５では、初期位置にある部品５（５a〜５d）を把持しに行くために、ハンド２５のＴＣＰ６が運搬前基準点９（９a〜９d）に接近する際のアプローチ方向（Ｄx、Ｄy、Ｄz）が設定される。これらハンド２５の姿勢（Ｒx、Ｒy、Ｒz）およびアプローチ方向（Ｄx、Ｄy、Ｄz）等の各値の設定は、ユーザが仮想空間上で再現された組み図をディスプレイ１５０で確認しながら、入力機器１４０等を操作することで実行できる。
【００４３】
ステップＳ１０６では、先のステップＳ１０３、Ｓ１０５での設定結果に基づいて、主制御部１１０が組立前後の基準点８、９等のリスト（図８）を作成して、記憶部１３０に記憶する。ここで、図８は、組立前後における基準点等のリストの一例を表で示す図である。図８に示すように、組立前と組立後それぞれにおける基準点、姿勢およびアプローチ方向が、部品５a〜５dのそれぞれについて求められる。
【００４４】
ステップＳ１０７では、主制御部１１０に構成された軌道演算部１１１が、組立前後の基準点等を示す図８のリストに基づいて、ハンド２５の軌道を演算により生成する。具体的には、ハンド２５のＴＣＰ６が運搬対象である部品５の運搬前基準点９から運搬後基準点８まで移動するといった条件を満たすように、当該部品５を運搬するハンド２５の軌道が生成される。このような軌道生成は、出発地（運搬前基準点９）から目的地（運搬後基準点）までの経路を探索する経路探索技術を用いて行うことができる。
【００４５】
この際、ステップＳ１０７では、さらに次の条件
・運搬対象である部品５について設定された組立前のアプローチ方向から、ハンド２５のＴＣＰ６が当該部品５の運搬前基準点９へ接近する
・ハンド２５のＴＣＰ６が運搬対象である部品５の運搬前基準点９にあるとき、ハンド２５が当該部品５について設定された運搬前の姿勢を取る
・運搬対象である部品５について設定された組立後のアプローチ方向から、ハンド２５のＴＣＰ６が当該部品５の運搬後基準点８へ接近する
・ハンド２５のＴＣＰ６が運搬対象である部品５の運搬後基準点８にあるとき、ハンド２５が当該部品５について設定された運搬後の姿勢を取る
・部品５を運搬中にハンド２５および部品５が障害物と干渉しない
を満たすように、ハンド２５の軌道が生成される。このような条件も満たすようにハンド２５の軌道演算を行うことで、より適切な軌道を生成することが可能となる。
【００４６】
こうして、部品５a〜５dのそれぞれについて、当該部品を運搬するハンド２５の軌道が求められる。この際、上記条件を満たす複数の軌道の候補を、部品５a〜５dのそれぞれについて求めても良い。この場合、複数の候補のうちから例えば運搬時間が最短となる候補をハンド２５の軌道として、部品５a〜５dのそれぞれについて選出することができ、より適切なハンド２５の軌道を生成することができる。
【００４７】
そして、ステップＳ１０８では、主制御部１１０に構成されたプログラム作成部１１２がロボットプログラム４を生成する。具体的には、プログラム作成部１１２は、部品５a〜５dそれぞれについて生成された軌道を通ってハンド２５が当該部品５a〜５dを運搬するようにロボット２を制御する運搬プログラムを、部品５a〜５d毎に生成する。
【００４８】
ちなみに、実際の組立作業では、部品５を運搬する以外の目的で、部品５の姿勢等を調整する必要が生じることがある。例えばネジ等の部品は、ネジ止めを行う方向に合わせてその姿勢を調整する必要がある。このような場合には、運搬途中において部品５の姿勢を調整するといったことが行われる。そこで、プログラム作成部１１２は、このような姿勢調整を行う姿勢調整プログラムも作成する。
【００４９】
さらに、実際の作業空間では、組立前において部品５が決められた初期位置から多少ずれて配置されることがある。このような場合、初期位置からずれた部品５を適切に把持するためには、部品５a〜５dの実際の位置をカメラで認識した結果に基づいて、ハンド２５の位置を補正するといったことが行われる。そこで、プログラム作成部１１２は、このような位置補正を行う位置補正プログラムも作成する。そして、プログラム作成部１１２は、運搬プログラム、姿勢調整プログラムおよび位置補正プログラムを組み合わせて、ロボットプログラム４を作成する。こうして、ロボットプログラム４の作成が終了する。
【００５０】
この際、ロボットプログラム作成装置１００が作成したロボットプログラム４は、シミュレータ４００によって検証することができる。具体的には、シミュレータ４００は、パーソナルコンピュータ等で構成されており、ロボットプログラム４に従ってロボット２を動作させたときの様子をシミュレーションする。したがって、ユーザは、このシミュレーション結果に基づいて、ロボットプログラム４の適否を判断できる。
【００５１】
以上に説明したように、この実施形態では、そのＴＣＰ６に対して所定の位置関係を満たす部品５を把持するハンド２５を用いて部品５を運搬するために、ハンド２５を移動させる軌道が生成される。この軌道生成にあたっては、運搬前の部品５をハンド２５で把持する際のＴＣＰ６の位置に部品５の運搬前基準点９が設定され、運搬後の部品５をハンド２５で把持する際のＴＣＰ６の位置に部品の運搬後基準点８が設定される。そして、こうして設定された運搬前基準点９から運搬後基準点８までＴＣＰ６が移動するように、ハンド２５の軌道が演算により生成される。このように、この実施形態によれば、部品の基準点（運搬前基準点９、運搬後基準点８）が設定されれば、部品５を運搬するハンド２５の軌道が演算により自動的に生成できる。換言すれば、ハンド２５の軌道生成のためには、部品５の基準点９、８が設定されれば良く、ハンド２５の動作を動画で確認する必要がない。その結果、部品５の運搬のために当該部品５を把持するハンド２５を移動させる軌道を、効率的に生成することが可能となっている。
【００５２】
また、この実施形態では、運搬前および／または運搬後それぞれの部品５の状態を仮想空間上で再現して表示するディスプレイ１５０が設けられている。このような構成では、ユーザは、部品５の状態をディスプレイ１５０で確認しながら、部品５の運搬前基準点および／または運搬後基準点を設定することができ、ユーザにとっての操作性が向上する。
【００５３】
さらに、この実施形態では、ユーザがディスプレイ１５０上で指定した運搬前基準点９および／または運搬後基準点８が設定されるように構成されている。このような構成では、部品５の状態の確認のみならず、運搬前および／または運搬後基準点９、８の設定についてもディスプレイ１５０上で実行することができ、ユーザにとっての操作性がより向上する。
【００５４】
このように、上記実施形態では、ロボットプログラム作成装置１００が本発明の「把持機構の軌道生成装置」あるいは「ロボットプログラム作成装置」の一例に相当し、作成プログラム２００が本発明の「軌道生成プログラム」の一例に相当し、記録媒体３００が本発明の「記録媒体」の一例に相当する。また、ハンド２５が本発明の「把持機構」の一例に相当し、部品５が本発明の「対象物」の一例に相当し、ＴＣＰ６が本発明の「把持基準点」の一例に相当し、記憶部１３０およびディスプレイ１５０が協働して本発明の「設定入力部」の一例として機能し、軌道演算部１１１が本発明の「軌道演算部」の一例に相当し、運搬前基準点９が本発明の「運搬前基準点」の一例に相当し、運搬後基準点８が本発明の「運搬後基準点」の一例に相当し、ディスプレイ１５０が本発明の「対象物表示画面」の一例に相当し、ロボットプログラム作成装置１００が本発明の「コンピュータ」の一例に相当する。
【００５５】
なお、本発明は上記した実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて上述したもの以外に種々の変更を行うことが可能である。そこで、例えば軌道演算部１１１が生成した軌道をディスプレイ１５０（軌道表示部）に表示するように、ロボットプログラム作成装置１００を構成しても良い。このような構成では、ユーザは、生成された軌道をディスプレイ１５０で確認しながらその適否を判断でき、ユーザにとっての操作性が向上する。
【００５６】
この際、ディスプレイ１５０には、軌道を移動するハンド２５の様子を動画で表示しても構わない。つまり、本発明は、動画での確認を要すること無くハンド２５の軌道生成を可能とすることで、軌道生成の効率化を図ったものであり、生成済みのハンド２５の軌道を動画で表示することを妨げるものではない。ちなみに、このように構成した場合、実際の作業空間におけるハンド２５の動きが把握しやすくなり、ユーザにとっての操作性がより向上すると期待できる。
【００５７】
また、上記実施形態においてハンド２５の軌道生成のために設定された条件についても適宜変更可能である。具体的には、上記条件のうち、アプローチ方向やハンド２５の姿勢に関する条件については、適宜削除しても構わない。あるいは、上記条件以外の条件をさらに満たすように、ハンド２５の軌道を生成することも可能である。
【００５８】
また、ロボットプログラム作成装置１００に対して、各種の機能を追加するような変形も可能である。具体例を挙げれば、上記のシミュレータ４００が有するシミュレーション機能を、ロボットプログラム作成装置１００に持たせても良い。
【００５９】
また、上記実施形態で示した例では、ハンド２５が有する複数のフィンガーの略中心にＴＣＰ６が設定されていた。しかしながら、ＴＣＰ６の設定箇所は、適宜変更しても構わない。
【００６０】
また、上記実施形態では、運搬前・運搬後基準点９、８、ハンド２５の姿勢（Ｒx、Ｒy、Ｒz）およびアプローチ方向（Ｄx、Ｄy、Ｄz）等の設定は、ユーザによって実行されていた。しかしながら、これらの設定を例えば主制御部１１０が自動的に行うように構成しても良い。
【００６１】
また、ハンド２５により組み立てる部品５の形状、個数および組立態様等が上記の例に限られないことは、言うまでもない。
【００６２】
また、上記実施形態では、把持機構の一例として、対象物（部品５）を掴むことで把持動作を実行するハンド２５が挙げられていた。しかしながら、把持機構の具体的構成はこれに限られず、例えば対象物を吸着して把持するものであっても良い。
【産業上の利用可能性】
【００６３】
この発明は、対象物を運搬する把持機構の軌道を求める技術全般に対して適用可能であり、特に、対象物である部品をロボットのハンドで運搬して組み立てる技術に好適に適用可能である。
【符号の説明】
【００６４】
１００…ロボットプログラム作成装置
１１０…主制御部
１１１…軌道演算部
１１２…プログラム作成部
１２０…入出力部
１３０…記憶部
１４０…入力機器
１５０…ディスプレイ
２００…作成プログラム
３００…記録媒体
２５…ハンド
４…ロボットプログラム
５a，５b，５c，５d，５…部品
６…ＴＣＰ
７…ＴＣＰ
８a，８b，８c，８d…運搬後基準点
９a，９b，９c，９d…運搬前基準点
【図１】
2013244560.tif 000003
【図２】
2013244560.tif 000004
【図３】
2013244560.tif 000005
【図４】
2013244560.tif 000006
【図５】
2013244560.tif 000007
【図６】
2013244560.tif 000008
【図７】
2013244560.tif 000009
【図８】
2013244560.tif 000010