(57)【要約】【課題】作業内容等に応じて、ロボットの適切なモーションを生成することができるモーション生成装置を提供する。【解決手段】ロボットＲを第１の姿勢から第２の姿勢に変化させるための動作を生成するモーション生成装置１０において、第１の姿勢を特定する第１姿勢情報と第２の姿勢を特定する第２姿勢情報を取得する第１取得手段１８と、第１の姿勢から第２の姿勢に変化する動作に関する少なくとも１つの優先項目を取得する第２取得手段１８と、取得された第１姿勢情報、第２姿勢情報及び優先項目に基づいて、第１の姿勢から第２の姿勢に移動するロボットの動作経路を含むロボットのモーションを生成する動作生成手段２２とを備えるモーション生成装置１０。【選択図】図２
2019018272.tif 000002
【特許請求の範囲】
【請求項１】
ロボットを第１の姿勢から第２の姿勢に変化させるための動作を生成するモーション生成方法において、
前記第１の姿勢を特定する第１姿勢情報と、前記第２の姿勢を特定する第２姿勢情報を取得するステップと、
前記第１の姿勢から第２の姿勢に変化する動作に関する少なくとも１つの優先項目を取得するステップと、
取得された前記第１姿勢情報、第２姿勢情報及び前記優先項目に基づいて、前記第１の姿勢から第２の姿勢に移動する前記ロボットの動作経路を含む前記ロボットのモーションを生成するステップと、
を含むモーション生成方法。
【請求項２】
前記ロボットの作業内容または作業対象を選択させるステップと、
選択された前記作業内容または作業対象に基づいて前記優先項目を生成するステップと、をさらに含むことを特徴とする請求項１記載のモーション生成方法。
【請求項３】
前記作業内容または作業対象と、前記優先項目を関連付けさせるステップをさらに含むことを特徴とする請求項２記載のモーション生成方法。
【請求項４】
前記優先項目を取得するステップは、前記動作に関連する複数の優先項目と、その複数の優先項目間の優先度を取得するように構成され、
前記モーションを生成するステップは、取得された前記優先度に基づいて、前記モーションを生成することを特徴とする請求項１から３のいずれか一項に記載のモーション生成方法。
【請求項５】
前記ロボットの周辺環境情報を取得するステップをさらに含み、
前記モーションを生成するステップは、取得された前記周辺環境情報に基づいて、前記モーションを生成することを特徴とする請求項１から４のいずれか一項に記載のモーション生成方法。
【請求項６】
前記周辺環境情報は、前記ロボットの周辺の情報を取得するセンサを用いて取得されること、入力手段を用いて取得されること、または、前記ロボットの周辺の情報を含む電子データから取得されることを特徴とする請求項５記載のモーション生成方法。
【請求項７】
前記第１姿勢情報は、前記ロボットの姿勢に基づいて取得されることを特徴とする請求項１から６のいずれか一項に記載のモーション生成方法。
【請求項８】
前記ロボットは、手先部を備えるロボットアームであり、
前記第１姿勢情報又は前記第２姿勢情報は、前記手先部の位置及び姿勢に基づいて取得されることを特徴とする請求項１から７のいずれか一項に記載のモーション生成方法。
【請求項９】
生成される前記動作は、ワークを取り扱うための動作であり、
前記第２姿勢情報は、前記ワークの空間位置情報に基づいて取得されることを特徴とする請求項８に記載のモーション生成方法。
【請求項１０】
前記ロボットは、仮想的に動作を検証するためのシミュレータ装置であることを特徴とする請求項１から９のいずれか一項に記載のモーション生成方法。
【請求項１１】
前記優先項目は、前記動作に関する制約条件であることを特徴とする請求項１から１０のいずれか一項に記載のモーション生成方法。
【請求項１２】
前記優先項目は、前記ロボットの速度、前記ロボットの加速度及び前記ロボットにより取り扱われる第１の対象物の姿勢の少なくとも一つであることを特徴とする請求項１から１１のいずれか一項に記載のモーション生成方法。
【請求項１３】
前記モーションの生成は、
前記優先項目に基づいて、前記第１の姿勢から前記第２の姿勢まで移動するときの前記ロボットの移動時間が所定範囲内となるように前記モーションを生成する第１のアルゴリズムと、前記第１の姿勢から前記第２の姿勢まで移動するときの前記ロボットの加速度が所定の範囲内となるように前記モーションを生成する第２のアルゴリズムと、前記第１の姿勢から前記第２の姿勢まで移動するときの前記ロボットにより取り扱われる第２の対象物の姿勢が所定の範囲内となるように前記モーションを生成する第３のアルゴリズムのいずれか一つを選択するステップを更に含むことを特徴とする請求項１から１２のいずれか一項に記載のモーション生成方法。
【請求項１４】
ロボットを第１の姿勢から第２の姿勢に変化させるための動作を生成するモーション生成装置において、
前記第１の姿勢を特定する第１姿勢情報と、前記第２の姿勢を特定する第２姿勢情報を取得する第１取得手段と、
前記第１の姿勢から前記第２の姿勢に変化する動作に関する少なくとも１つの優先項目を取得する第２取得手段と、
取得された前記第１姿勢情報、前記第２姿勢情報及び前記優先項目に基づいて、前記第１の姿勢から前記第２の姿勢に移動する前記ロボットの動作経路を含む前記ロボットのモーションを生成する動作生成手段と、
を備えるモーション生成装置。
【請求項１５】
前記ロボットの作業内容または作業対象を選択するための選択手段と、
選択された前記作業内容または作業対象に基づいて前記優先項目を決定する優先項目決定手段と、をさらに備えることを特徴とする請求項１４記載のモーション生成装置。
【請求項１６】
前記作業内容または作業対象と、前記優先項目を関連付けるための登録手段をさらに備えることを特徴とする請求項１５記載のモーション生成装置。
【請求項１７】
前記第２取得手段は、前記動作に関連する複数の優先項目と、その複数の優先項目間の優先度を取得するように構成され、
前記動作生成手段は、取得された前記優先度に基づいて、前記モーションを生成するように構成されていることを特徴とする請求項１４から１６のいずれか一項に記載のモーション生成装置。
【請求項１８】
ロボットと、そのロボットを第１の姿勢から第２の姿勢に変化させるための動作を生成するための請求項１４から１７のいずれか一項に記載のモーション生成装置とを備えるシステム。
【請求項１９】
ロボットを第１の姿勢から第２の姿勢に変化させるための動作を生成するためのコンピュータプログラムであって、
コンピュータに、
前記第１の姿勢を特定する第１姿勢情報と、前記第２の姿勢を特定する第２姿勢情報を取得するステップと、
前記第１の姿勢から第２の姿勢に変化する動作に関する少なくとも１つの優先項目を取得するステップと、
取得された前記第１姿勢情報、第２姿勢情報及び前記優先項目に基づいて、前記第１の姿勢から第２の姿勢に移動する前記ロボットの動作経路を含む前記ロボットのモーションを生成するステップと、
を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの動作を生成するためのモーション生成方法、モーション生成装置、システム及びコンピュータプログラムに関する。
【背景技術】
【０００２】
従来から、ロボットのモーションを自動的に生成するための経路計画と呼ばれるアルゴリズムが知られている。経路計画アルゴリズムは、一般的には、動作時間が最短となるようなモーションを生成する。
【０００３】
特許文献１は、グリッパが候補ワークＷＣに至るまでの所要時間Ｔが小さいほど、評価値Ｅｖを高いスコアとするロボットピッキングシステムを開示している。このロボットピッキングシステムは、複数のピッキング対象候補の候補ワークＷＣについて候補データを生成し、その候補データに基づいて、実際にピッキングする対象ワークＷＯを選択し、ピッキングする。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−１８０７０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、動作時間が最短となるようなモーションが常に最適なモーションであるとは限らない。たとえば天地無用のワークにもかかわらず、動作時間が最短となるモーションを生成した場合、ワークの姿勢を考慮しないため天地無用のワークをひっくり返してしまう問題や、ワークにかかる加速度を考慮しないため把持しているワークに固定されていない部品がはずれてばらまかれてしまうという問題が発生しうる。こうした問題が発生する都度、ユーザが手動で、その制御点間における最適なモーションをティーチングして、生成されたモーションの再生成や修正をしていては、作業効率の低下を招く。
【０００６】
そこで本発明は、作業内容等に応じて、ロボットの適切なモーションを生成することができるモーション生成方法、モーション生成装置、システム及びコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一態様に係るモーション生成方法は、ロボットを第１の姿勢から第２の姿勢に変化させるための動作を生成するモーション生成方法において、第１の姿勢を特定する第１姿勢情報と、第２の姿勢を特定する第２姿勢情報を取得するステップと、第１の姿勢から第２の姿勢に変化する動作に関する少なくとも１つの優先項目を取得するステップと、取得された第１姿勢情報、第２姿勢情報及び優先項目に基づいて、第１の姿勢から第２の姿勢に移動するロボットの動作経路を含むロボットのモーションを生成するステップを含む。
【０００８】
この態様によれば、第１の姿勢及び第２の姿勢を特定する情報のみならず、第１の姿勢から第２の姿勢に変化する動作に関する少なくとも１つの優先項目に基づいて、ロボットのモーションを生成するため、入力された優先項目も加味した適切なモーションを生成することが可能になる。
【０００９】
上記態様において、ロボットの作業内容または作業対象を選択させるステップと、選択された作業内容または作業対象に基づいて優先項目を生成するステップと、をさらに含んでも良い。
【００１０】
この態様によれば、作業内容または作業対象を選択するだけで、優先項目を生成することができるため、ロボットに詳しくないユーザであっても、適切なモーションを生成することが可能になる。
【００１１】
上記態様において、作業内容または作業対象と、優先項目を関連付けさせるステップをさらに含んでも良い。
【００１２】
この態様によれば、ユーザ等に作業内容または作業対象と優先項目を関連付けさせることができるため、過去の実績等に基づく作業内容または作業対象と優先項目を予め関連付けることにより、適切なモーションを生成することが可能になるとともに、その生成に要する時間を短縮することが可能になる。
【００１３】
上記態様において、優先項目を取得するステップは、動作に関連する複数の優先項目と、その複数の優先項目間の優先度を取得するように構成され、モーションを生成するステップは、取得された優先度に基づいて、モーションを生成するように構成されていても良い。
【００１４】
この態様によれば、複数の優先項目に基づいて、より適切なモーションを生成することが可能になるため、多様なユーザのニーズに柔軟に対応することが可能になる。
【００１５】
上記態様において、ロボットの周辺環境情報を取得するステップをさらに含み、モーションを生成するステップは、取得された周辺環境情報に基づいて、モーションを生成するようにしても良い。
【００１６】
この態様によれば、障害物等の周辺環境に関する情報を加味して、たとえば障害物を自動的に回避するようなモーションを生成することが可能になる。
【００１７】
上記態様において、周辺環境情報は、ロボットの周辺の情報を取得するセンサまたは入力手段を用いて取得されてもよいし、ロボットの周辺の情報を含む電子データから取得されるようにしても良い。
【００１８】
この態様によれば、センサの計測結果等を用いて、周辺環境情報を容易に取得できるようになる。
【００１９】
上記態様において、第１姿勢情報は、ロボットの姿勢に基づいて取得されるようにしても良い。
【００２０】
この態様によれば、ユーザ等による第１姿勢情報の入力を省略または簡略化することが可能になるので、ユーザ等の入力の負担を軽減することが可能になるとともに、実用性を向上することが可能になる。
【００２１】
上記態様において、ロボットは、手先部を備えるロボットアームであり、第１姿勢情報又は第２姿勢情報は、手先部の位置及び姿勢に基づいて取得されていても良い。
【００２２】
この態様によれば、手先部の位置及び姿勢に基づいて、例えば、逆キネマティクス（Inverse Kinematics）等の手法を用いて、姿勢情報を取得することが可能になるので、実用性を損ねることなくユーザの入力の負担を軽減することが可能になる。
【００２３】
上記態様において、生成される動作は、ワークを取り扱うための動作であり、第２姿勢情報は、ワークの空間位置情報に基づいて取得されていても良い。
【００２４】
この態様によれば、例えばピッキング等のワーク把持動作の際に、実用性を損ねることなくユーザの入力の負担を軽減することが可能になる。
【００２５】
上記態様において、ロボットは、仮想的に動作を検証するためのシミュレータ装置であっても良い。
【００２６】
この態様によれば、実際の作業に使用されるロボットを用いることなく、モーションを生成することができる。
【００２７】
上記態様において、優先項目は、動作に関する制約条件であってもよい。
【００２８】
この態様によれば、優先項目として設定された項目に関して予め定められた条件を必ず満足するようにモーションを生成することが可能になる。
【００２９】
上記態様において、優先項目は、ロボットの速度、ロボットの加速度及びロボットにより取り扱われる第１の対象物の姿勢の少なくとも一つであってもよい。
【００３０】
この態様によれば、ロボットの速度、加速度及び取り扱われる第１の対象物の姿勢を考慮したモーションを生成することが可能になる。
【００３１】
上記態様において、モーションの生成は、優先項目に基づいて、第１の姿勢から第２の姿勢まで移動するときのロボットの移動時間が所定範囲内となるようにモーションを生成する第１のアルゴリズムと、第１の姿勢から第２の姿勢まで移動するときのロボットの加速度が所定の範囲内となるようにモーションを生成する第２のアルゴリズムと、第１の姿勢から第２の姿勢まで移動するときのロボットにより取り扱われる第２の対象物の姿勢が所定の範囲内となるようにモーションを生成する第３のアルゴリズムのいずれか一つを選択するステップを更に含んでもよい。
【００３２】
この態様によれば、速度優先のアルゴリズム、加速度優先のアルゴリズム、姿勢優先のアルゴリズムから目的に応じて選択される最適なアルゴリズムに基づいてロボットのモーションを生成することが可能になる。
【００３３】
本発明の一態様に係るモーション生成装置は、ロボットを第１の姿勢から第２の姿勢に変化させるための動作を生成するモーション生成装置である。そして、第１の姿勢を特定する第１姿勢情報と、第２の姿勢を特定する第２姿勢情報を取得する第１取得手段と、第１の姿勢から第２の姿勢に変化する動作に関する少なくとも１つの優先項目を取得する第２取得手段を備える。そして、取得された第１姿勢情報、第２姿勢情報及び優先項目に基づいて、第１の姿勢から第２の姿勢に移動するロボットの動作経路を含むロボットのモーションを生成する動作生成手段と、を備える。
【００３４】
この態様によれば、第１の姿勢及び第２の姿勢を特定する情報のみならず、第１の姿勢から第２の姿勢に変化する動作に関する少なくとも１つの優先項目に基づいて、ロボットのモーションを生成するから、入力された優先項目も加味した適切なモーションを生成することが可能になる。
【００３５】
上記態様において、ロボットの作業内容または作業対象を選択するための選択手段と、選択された作業内容または作業対象に基づいて優先項目を決定する優先項目決定手段と、をさらに備えていても良い。
【００３６】
この態様によれば、作業内容または作業対象を選択するだけで、優先項目を決定することができるため、ロボットに詳しくないユーザであっても、適切なモーションを生成することが可能になる。
【００３７】
上記態様において、作業内容または作業対象と、優先項目を関連付けるための登録手段をさらに備えても良い。
【００３８】
この態様によれば、ユーザ等に作業内容または作業対象と優先項目を関連付けさせることができるため、過去の実績等に基づく作業内容または作業対象と優先項目を予め関連付けることにより、適切なモーションを生成することが可能になるとともに、その生成に要する時間を短縮することが可能になる。
【００３９】
上記態様において、第２取得手段は、動作に関連する複数の優先項目と、その複数の優先項目間の優先度を取得するように構成され、動作生成手段は、取得された優先度に基づいて、モーションを生成するように構成されていても良い。
【００４０】
この態様によれば、複数の優先項目に基づいて、より適切なモーションを生成することが可能になるため、多様なユーザのニーズに柔軟に対応することが可能になる。
【００４１】
上記態様において、ロボットの周辺環境情報を取得するための環境取得手段をさらに備え、動作生成手段は、取得された周辺環境情報に基づいて、モーションを生成するように構成されていても良い。
【００４２】
この態様によれば、障害物等の周辺環境に関する情報を加味して、たとえば障害物を自動的に回避するようなモーションを生成することが可能になる。
【００４３】
本発明の一態様に係るシステムは、ロボットと、そのロボットを第１の姿勢から第２の姿勢に変化させるための動作を生成する上述したモーション生成装置を備えるものである。
【００４４】
この態様によれば、第１の姿勢及び第２の姿勢を特定する情報のみならず、第１の姿勢から第２の姿勢に変化する動作に関する少なくとも１つの優先項目に基づいて、ロボットのモーションを生成することができるから、入力された優先項目も加味した適切なモーションを生成し、それに基づいて適正に動作するロボットを備えるシステムを提供することが可能になる。
【００４５】
本発明の一態様に係るコンピュータプログラムは、ロボットを第１の姿勢から第２の姿勢に変化させるための動作を生成するためのコンピュータプログラムであって、コンピュータに、第１の姿勢を特定する第１姿勢情報と、第２の姿勢を特定する第２姿勢情報を取得するステップと、第１の姿勢から第２の姿勢に変化する動作に関する少なくとも１つの優先項目を取得するステップと、取得された第１姿勢情報、第２姿勢情報及び優先項目に基づいて、第１の姿勢から第２の姿勢に移動するロボットの動作経路を含むロボットのモーションを生成するステップと、を実行させるためのコンピュータプログラムである。
【００４６】
この態様によれば、第１の姿勢及び第２の姿勢を特定する情報のみならず、第１の姿勢から第２の姿勢に変化する動作に関する少なくとも１つの優先項目に基づいて、ロボットのモーションを生成することができるから、入力された優先項目も加味した適切なモーションを生成することができるコンピュータプログラムを提供することが可能になる。
【発明の効果】
【００４７】
本発明によれば、作業内容等に応じて、適切なモーションを生成することができるモーション生成方法、モーション生成装置、システム及びコンピュータプログラムを提供することができる。
【図面の簡単な説明】
【００４８】
【図１】モーション生成システム２０の機能ブロック図。
【図２】モーション生成部１０の内部構成図。
【図３】表示部２８に表示されたロボットＲ。
【図４】表示部２８に表示された優先項目ＰＩ。
【図５】ロボットＲの模式図。
【図６】第１実施形態におけるモーション生成処理のフローチャート。
【図７】モーション生成システム４０の機能ブロック図。
【図８】第２実施形態におけるモーション生成処理のフローチャート。
【図９】モーション生成システム７０の機能ブロック図。
【図１０】ＧＵＩとして表示されたロボットＲと周辺の障害物Ｄ１及びＤ２
【図１１】第３実施形態におけるモーション生成処理のフローチャート。
【図１２】モーション生成システム９０の機能ブロック図。
【図１３】第４実施形態におけるモーション生成処理のフローチャート。
【図１４】手先姿勢から姿勢計算処理するためのフローチャート。
【図１５】ワーク位置から姿勢計算処理するためのフローチャート。
【発明を実施するための形態】
【００４９】
添付図面を参照して、本発明の好適な実施形態について説明する（なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する）。
【００５０】
［第１実施形態］
図１は、本発明の第１実施形態に係るモーション生成部（モーション生成装置）１０、初期／目標姿勢入力部１２、優先項目入力部１４、入力装置１６及びロボットＲから構成されるモーション生成システム２０を示すブロック図である。
【００５１】
図２は、モーション生成部１０の内部構成を示しており、外部と情報を送受信するための外部Ｉ／Ｆ１８（取得手段）と、ロボットＲのモーションを生成するためのコンピュータプログラムが格納される記憶装置２０と、このコンピュータプログラムを実行し、モーションを生成するための演算処理を実行するためのＣＰＵ２２と、処理対象となるデータやコンピュータプログラムを一時的に記憶するためのメモリ２４を備え、さらに、入力されたデータや、処理結果等を表示するための表示部２８を備えている。
【００５２】
なお、記憶装置２０は、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）、ＮＡＮＤフラッシュメモリ、磁気ディスク、光ディスク等から構成することができる。メモリ２４は、ＤＲＡＭ、ＳＲＡＭ等から構成することができる。また、上記演算処理を行うのは、ＣＰＵ２２のみならずＤＳＰ（Digital Signal Processor）、ＧＰＵ（Graphics Processing Unit）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field Programmable Gate Array）等を単独または組み合わせて構成しても良い。本実施形態では、一体的に構成されたパーソナルコンピュータを用いて、モーション生成部１０を構成したが、これに限られるものではない。たとえば、モーションを生成するためのコンピュータプログラムは、ネットワーク上に存在するサーバーに記録されていたり、複数のコンピュータで処理を分散していたりしてもよい。また、本実施形態にのべる一連の処理は、記憶装置２０に格納されているコンピュータプログラムにより実行されるが、ハードウェアにより、コンピュータプログラムの一部機能を満足するように構成してもよい。
【００５３】
初期／目標姿勢入力部１２は、ロボットＲの初期姿勢及び目標姿勢を入力するための手段である。本実施形態では、図３に示されるように、ＧＵＩ（Graphical User Interface）により、ユーザは、入力装置１６であるマウスやキーボードを用いて、表示部２８に表示されるロボットＲの姿勢を変化できるように構成されている。ユーザが所望の初期姿勢及び目標姿勢を設定したら、初期／目標姿勢入力部１２は、モーション生成部１０のハードウェア構成（記憶装置２０、ＣＰＵ２２及びメモリ２４など）を用いて、ロボットＲを構成する各ジョイントの角度の集合で表現される初期姿勢情報（第１姿勢情報）及び目標姿勢情報（第２姿勢情報）を演算して、モーション生成部１０に対して出力する。
【００５４】
なお、初期姿勢及び目標姿勢は、ＧＵＩを用いて特定しなくてもよい。たとえば、ユーザは、入力装置１６であるキーボードを用いて、直接、ロボットＲの各ジョイントの角度の集合を入力して、初期姿勢または目標姿勢を特定することもできる（その場合、入力情報に基づくロボットＲの姿勢を、表示部２８に表示するようにしてもよい）。あるいは、ユーザがＧＵＩ等により特定したロボットＲの手先部の空間座標（x, y, z, roll, pitch, yaw）に基づいて、キネマティクス情報を用いて、ロボットＲの各ジョイントの角度を算出することで、初期姿勢または目標姿勢に関する情報を取得するように構成してもよい。
【００５５】
図４は、優先項目入力部１４により表示部２８に示される優先項目ＰＩを示している。ユーザは、入力装置１６であるマウスまたはキーボードを用いて、ドロップダウンリストで表示される優先項目ＰＩを選択することができる。優先項目入力部１４は、選択された優先項目ＰＩをモーション生成部１０に出力する。
【００５６】
なお、優先項目は、入力装置１６であるキーボードを用いて、ＩＤや名前を直接入力してモーション生成部１０に出力する構成や、設定ファイルの読み込みなどでモーション生成部１０に取得させる構成としても良い。たとえば、ユーザがキーボードを用いて、優先したい項目をキーボードもしくはフレーズで入力すると、優先項目入力部１４が該当する優先項目ＰＩを選択してモーション生成部１０に出力するように構成してもよい。
【００５７】
ここで、優先項目ＰＩは、ロボットの動作に関して優先される項目のことをいい、本実施形態においては、ロボットＲの速度、加速度及び姿勢が示される。しかしながら、制御対象であるロボットの動作に関して設定される項目であれば、これに限られるものではなく、たとえば、ロボットＲが所定の初期姿勢から目標姿勢に移動するまでの移動距離や、移動中に発生する慣性モーメント（またはトルク）でも良い。さらには省エネモードや安全モードなどのような項目があってもよい。ただし、ロボットの動作そのものには関係しない周囲の障害物の情報は、本実施形態における項目には相当しない。
【００５８】
図５は、制御対象であるロボットＲを示している。この図に示されるように、ロボットＲは、いわゆる多関節ロボットからなるロボットアームであり、ベースＢと、ワークを把持するためのエンドエフェクタＥと、ベースＢとエンドエフェクタＥを接続するアームＡから構成される。ベースＢは、本実施形態では床面に固定されているが、移動可能に構成してもよい。この構成の場合、姿勢には移動可能にする機構によってとりうる空間位置や向き、またはそれらを取らせるための移動機構への入力値（サーボエンコーダ値など）も含まれる。アームＡは、複数のリンク部Ｌn（ただしｎは自然数）と、リンク部同士を連結する複数のジョイントＪm（ただしｍは自然数）から構成される。リンク部Ｌnには、ジョイントＪmを駆動するための図示しないモータが内蔵され、モーション生成部１０からロボットＲに対して出力される制御信号に基づいて制御される。また、各ジョイントＪmには、回転角度等を検出するための図示しない角度センサＡＳが内蔵されていてもよく、計測された角度値等は、モーション生成部１０に対して出力される構成となっている。エンドエフェクタＥは、アームＡの先端に取り付けられており、把持具を開閉させることによりワークＷを把持できるように構成されている。エンドエフェクタＥは複数の指の開閉による把持機構を持つもののほか、ワークＷを吸着する機構を持つものやそれらの機構の組み合わせによるもの、または特別な機構を持たなくとも（たとえば針や板状のジグ)ワークＷを保持できるものであってもよい。また、アームＡには、カメラなどの画像取得装置を設けるようにしてもよい。
【００５９】
なお、ロボットＲは、ワークＷを把持するためのロボットアームに限られず、産業用ロボットその他のロボットであってもよい。また、実際の作業に用いられるロボットのかわりに、シミュレータの中に設定された仮想のロボットであってもよい。シミュレータを用いて、モーションを確定するための試行演習をする際に、本実施形態に係るモーション生成装置及び方法を適用して、最適なモーションを効率良く生成することが可能である。
【００６０】
図６は、本実施形態におけるモーション生成処理を示すフローチャートである。
【００６１】
まず、ユーザにより初期姿勢及び目標姿勢が入力される（ステップＳ３０）。具体的には、ＧＵＩとして表示部２８に表示されるロボットをユーザがマウス等で操作して、ロボットＲの初期姿勢及び目標姿勢が定まる。すると、目標姿勢入力部１２は、ロボットＲの初期姿勢及び目標姿勢を定める各ジョイントの角度情報を算出し、モーション生成部１０に出力する。モーション生成部１０の外部Ｉ／Ｆ１８（取得手段）は、ロボットＲの初期姿勢を定める情報及び目標姿勢を定める情報を取得する。この情報は、たとえばメモリ２４に記録される。
【００６２】
次いでユーザにより優先項目ＰＩが入力される（ステップＳ３２）。具体的には、優先項目入力部１４により表示部２８に表示されるプルダウンメニューから、ユーザがマウス等で、ロボットＲの動作において優先したい項目を選択する。
【００６３】
たとえば、ワークＷを把持しない状態で出来るだけ速くロボットＲを所定位置まで移動させたい場合は、優先項目ＰＩとして、「速度」を選択することができる。
【００６４】
一方で、正確性を求められる動作の場合は、優先項目ＰＩとして「加速度」を選択し、加速度が所定以下となるようにモーションを生成させることが好ましい。
【００６５】
また、質量大のワークＷを把持する必要があるが、高加速度で搬送すると、ロボットＲのジョイントＪm等に作用するモーメントが過大になり、ジョイントＪm等を損傷する可能性がある場合も、ユーザは、優先項目ＰＩとして「加速度」を選択し、加速度が過大にならないようにモーションを生成させることが可能になる。
【００６６】
また、天地無用のワークＷや、互いに固定されていない複数の部品からなるワークＷを把持または搬送する場合、ユーザは、優先項目ＰＩとして「姿勢」を選択し、搬送中にロボットＲの姿勢がほぼ一定となるようにモーションを生成させることが可能になる。
【００６７】
なお、優先項目ＰＩとして、複数の項目を同時に選択してもよい。たとえば、天地無用で質量大のワークＷを把持し搬送するようなモーションを生成する場合は、たとえば、「姿勢」と「加速度」を優先項目ＰＩとして、所定の姿勢を維持しながら、加速度を所定以下にするようなモーションを生成させる構成としてもよい。
【００６８】
優先項目入力部１４は、選択された項目の情報を、モーション生成部１０に出力する。モーション生成部１０の外部Ｉ／Ｆ１８（取得手段）は、ロボットＲのモーション生成において優先すべき情報（項目）を取得する。この情報は、たとえばメモリ２４に記録される。
【００６９】
なお、この初期姿勢及び目標姿勢を取得するためのステップＳ３２及び優先項目ＰＩを取得するためのステップＳ３４は、同時に行われなくても良い。たとえば、初期姿勢を取得した後、優先項目ＰＩを取得し、最後に目標姿勢を取得するように構成されていても良い。
【００７０】
次いでモーション生成のステップＳ３４が実行される。具体的には、記憶装置２０に記憶されているコンピュータプログラムを実行するＣＰＵ２２により、取得された初期姿勢及び目標姿勢を特定するデータ及び選択された優先項目ＰＩに基づいて、初期姿勢から目標姿勢に至るまでのロボットＲのモーションが生成される。このモーションにより、初期姿勢から目標姿勢に至るまでのロボットＲまたはその部位（たとえば所定のリンク部ＬnまたはエンドエフェクタＥ）の姿勢、動作速度及び動作経路が特定される。なお、本実施形態において、モーションが生成されるとは、ロボットＲの動作速度、姿勢、動作経路等を指定する情報を生成することに限られず、結果として、姿勢、速度及び経路が定まるように、ロボットを制御するための制御情報が生成される場合も含む。
【００７１】
本実施形態においては、コンピュータプログラムの一部として、最速で初期姿勢から目標姿勢まで移動するための速度優先アルゴリズムと、加速度が所定値以下となるように初期姿勢から目標姿勢まで移動するための加速度優先のアルゴリズムと、エンドエフェクタＥにより把持されるワークＷの姿勢が、把持前と比較して一定または変化量が所定値以下のまま目標位置までワークＷを搬送するための姿勢優先のアルゴリズムが記憶装置２０に予め記憶されている。
【００７２】
モーション生成部１０は、外部Ｉ／Ｆ１８により取得された優先項目ＰＩに応じて、最適なアルゴリズムを選択する。そして、同じく外部Ｉ／Ｆ１８から取得された初期姿勢から目標姿勢までのモーションを、選択したアルゴリズムに従って生成する（ステップＳ３４）。
【００７３】
モーション生成部１０は、生成されたモーションに従って、ロボットＲを動作させるための制御信号をロボットＲに出力し、ロボットＲはこれにしたがってモーション通りに初期姿勢から目標姿勢まで移動する（ステップＳ３６）。
【００７４】
以上のとおり、初期姿勢及び目標姿勢を特定する情報のみならず、初期姿勢から目標姿勢に移動する動作に関する少なくとも１つの項目に基づいて、ロボットのモーションを生成することができるようにしたことにより、入力された項目も加味した適切なモーションを生成することができる。
【００７５】
特に、ロボットの移動速度のみが優先すべき項目でないことに着想し、搬送対象物によっては、搬送中の搬送対象物の姿勢こそが優先すべき事項である点に着目したので、より適切なモーション生成を実現することができた。また、搬送対象物によっては、ロボットの各部位（特にジョイント部）に作用するモーメントが問題となりうる点にも着目し、優先項目ＰＩの一つとして加速度を含めた。具体的には、アームＡを大きく伸ばして搬送させるかわりに、アームＡを折りたたんで搬送対象物とベースＢとの距離が小さくなるようにして搬送対象物を搬送するようなモーションを生成することで、搬送中にロボットに作用するモーメントの最大値を小さくさせることが可能になる。
【００７６】
また、本実施形態においては、モーション生成のための複数のアルゴリズムを、優先すべき項目ごとに関連付けて記憶装置２０に記憶させておき、選択された優先項目ＰＩに関連付けられたアルゴリズムを選択してモーションを生成するように構成したが、これに限られるものではなく、たとえば、初期姿勢、目標姿勢及び複数の優先項目ＰＩを引数とする単一のアルゴリズムに基づいて、選択された項目に応じて、異なるモーション（少なくとも、初期姿勢から目標姿勢に変化するロボットの姿勢、動作速度または動作経路のいずれか一つが異なる）が生成されるような構成としてもよい。
【００７７】
特に、複数の項目を重みづけ（優先度）をもってユーザ等に選択させるようにし、取得された項目情報と、その項目の優先度に従って、最適なモーションを生成するような構成としてもよい。たとえば、「速度」と「姿勢」をそれぞれ優先度３０％、７０％と指定可能に構成した場合、モーション生成装置は、「姿勢」のみを選択された場合のモーションと比較して、多少の把持対象のワークＷの姿勢の変化を許容しつつ、より速い速度でワークＷを移動させるようなモーションを生成することができる。たとえば、「姿勢」のみを優先項目として（優先度１００％）ワークＷを搬送していたものの、その後に、搬送中にワークＷの姿勢を多少変化させても大きな影響がないと判明した場合は、「姿勢」の優先度を低下させ、かわりに、「速度」も一つの優先項目として選択することにより、より最適なモーション生成が可能となる。このような構成を実現するためには、複数の優先項目とその優先度を引数とし、たとえ優先項目が同一であっても優先度に応じて異なるモーションを生成できるようなモーション生成アルゴリズムとしてもよい。これにより、一層適切なモーション生成、ひいては、作業効率の飛躍的な向上を期待することが可能になる。
【００７８】
また、初期姿勢や目標姿勢は、一連の動作の最初の姿勢と最後の姿勢である必要はなく、動作途中の姿勢であってもよい。たとえば、ロボットが、所定のルーチン作業を繰り返して実施する際に、そのルーチン作業の前半は、速度を優先項目としてルーチン開始時の初期姿勢から途中姿勢を目標姿勢としてモーションを生成し、中盤は、姿勢を優先項目としてその途中姿勢を初期姿勢とし、別の途中姿勢を目標姿勢とするモーションを生成し、後半は、再び速度を優先項目として別の途中姿勢を初期姿勢とし、最初の初期姿勢を目標姿勢とするモーションを生成してもよい。このように、一連のルーチン作業において、その一部のモーションと、別の一部のモーションを、異なる優先項目に基づいて（たとえば異なるアルゴリズムを用いて）生成することも可能である。
【００７９】
さらに、本実施形態のハードウェア構成については様々に変形可能であり、たとえば、初期・目標姿勢入力部１２と、優先項目入力部１４をそれぞれ入力ポートとして、内部にモーション生成部１０を備える計算機をモーション生成装置として構成することも可能である。また、外部Ｉ／Ｆ１８が、初期姿勢または目標姿勢を算出するための一次情報を取得し、モーション生成部１０内で、その一次情報に基づいて初期姿勢または目標姿勢を特定する姿勢情報を取得するような構成としてもよい。
【００８０】
また、ユーザがアルゴリズムに習熟している場合は、優先するべき項目を、その項目を表現する名前ではなく、アルゴリズム名または入力パラメータとするように構成してもよい。たとえば、ＳＴＯＭＰ（Stochastic Trajectory Optimization for Motion Planning）というアルゴリズムでは、以下の式で、ロボットの手先姿勢やトルクを制約することが可能となる。ただし、適切なコスト関数（qc, qt）を設定する必要があるため、ロボットに詳しくないユーザであっても、効率的なモーション生成が可能になる、という効果は減殺する。
【００８１】
【数１】
2019018272.tif 000003
【００８２】
［第２実施形態］
図７は、本発明の第２実施形態に係るモーション生成システム４０を示す機能ブロック図である。このモーション生成システム４０は、モーション生成部（モーション生成装置）１０、初期／目標姿勢入力部１２、入力装置１６、優先項目入力部４２、作業−優先項目ＤＢ４４、表示装置４６を備える。以下では、第１実施形態と共通の事柄についての記述を省略し、異なる点についてのみ説明する。
【００８３】
本実施形態におけるモーション生成システム４０は、作業内容と優先項目ＰＩを関連付けたデータベースである作業−優先項目ＤＢ４４を備える点が第１実施形態におけるモーション生成システム２０と異なる。このＤＢ４４は、モーション生成部１０とは異なるコンピュータに設けても良いし、モーション生成部１０の記憶装置２０内に設けても良い。
【００８４】
また、表示装置４６は、ロボットＲが行い得る複数の作業内容と、その作業内容に関連付けられた優先項目ＰＩを表示する。表示される作業内容は、たとえば、「手先を回転させない把持作業」や、「ワークを把持しない単純移動」といった内容であり、関連付けられた優先項目ＰＩとして、前者について「姿勢」、後者について「速度」が表示される。作業内容によっては、複数の優先項目ＰＩが重みづけとともに表示される。
【００８５】
作業−優先項目ＤＢ４４は、作業内容と、優先項目ＰＩの関連付けを記憶するデータベースである。
【００８６】
優先項目入力部４２は、モーション生成部１０のハードウェア構成（記憶装置２０、ＣＰＵ２２及びメモリ２４など）を用いて、作業−優先項目ＤＢ４４にアクセスし、複数の作業内容とそれに関連づけられた優先項目ＰＩの組合せを表示装置４６に表示させる。さらに、ユーザが入力装置１６を用いて選択した優先項目ＰＩを取得し、モーション生成部１０に出力する。
【００８７】
図８は、第２実施形態に係るモーション生成処理を示すフローチャートである。
【００８８】
初期・目標姿勢入力（ステップＳ５０）については、第１実施形態と同様であることから説明を省略する。
【００８９】
ユーザによる初期・目標姿勢の入力を受け付けると同時に、優先項目入力部４２は、作業−優先項目ＤＢ４４にアクセスし、複数の作業内容とそれに関連づけられた優先項目ＰＩの組合せを読み出し（ステップＳ５２）、表示装置４６に、読み出された作業とそれに関連付けられた優先項目ＰＩの組合せを、選択候補として表示させる（ステップＳ５４）。
【００９０】
ユーザは、所望する作業内容と、それに応じて優先されるべき項目ＰＩの適正な組み合わせがあるか否か判断する（ステップＳ５６）。該当する適正な組み合わせがある場合は、その優先項目ＰＩを、入力装置１６を用いて選択する（ステップＳ５８）。
【００９１】
一方で、作業内容に適正な優先項目ＰＩの登録がなされていない場合は、ユーザは、入力装置１６を用いて優先項目ＰＩを入力し（ステップＳ６０）、作業内容と優先項目ＰＩの組合せをＤＢ４４に登録することができる（ステップＳ６２）。
【００９２】
モーション生成部１０が、取得した優先項目ＰＩ、初期姿勢及び目標姿勢に基づいてモーションを生成し（ステップＳ６４）、そのモーションに従ってロボットＲが動作する（ステップＳ６６）点については第１実施形態と同様である。
【００９３】
本実施の形態においては、作業内容と優先項目ＰＩを関連付けるようにしたことにより、ユーザは、適切な優先項目を簡単に選択することが可能になる。
【００９４】
また、作業内容と、それに応じて優先されるべき項目ＰＩの組合せを後から登録できるようにしたことにより、多様な作業内容に応じた優先項目ＰＩの選択が可能になる。また、過去のユーザの登録内容を再利用することが可能になるし、また、そうした登録内容を参考にして、より適切な優先項目ＰＩの設定が可能となる。なお、第１実施形態と同様に、作業内容と、複数の項目ＰＩを関連付けてもよいし、項目ごとに重みづけを付けることも可能である。
【００９５】
なお、上述した実施形態においては、ユーザは、作業内容と優先項目ＰＩの組合せの候補の中から、適した組み合わせを選択したが、これに替えて、優先項目入力部４２が複数の候補の中から、適切な作業内容と優先項目ＰＩの組み合わせを提案する構成としてもよい。ユーザの習熟度によっては、作業内容に応じて優先すべき項目を適切に選択することができないため、このような構成とすることにより、いっそうユーザフレンドリーなモーション生成方法を提供することが可能になる。
【００９６】
また、上述した実施形態においては、作業内容と優先項目を関連付けたが、作業内容の代わりに、作業対象と優先項目を関連付けるように構成してもよい。たとえば、作業対象として、（１）「液体」もしくは「溶接又ははんだ付け前の部品」、（２）「固体」もしくは「溶接又ははんだ付け後の部品」を設定し、前者に対し「姿勢」、後者に対し「速度」の優先項目ＰＩをそれぞれ関連付けて、作業−優先項目ＤＢ４４に記憶させる。ユーザは、所望する作業対象と、それに応じて優先されるべき項目ＰＩの適正な組み合わせがあるか否か判断し、該当する適正な組み合わせがある場合は、その優先項目ＰＩを、入力装置１６を用いて選択することができる。
【００９７】
このような構成とすることにより、作業対象に応じた適切な優先項目を選択することが可能になる。なお、作業内容と作業対象を組み合わせて、優先項目と関連付けるようにしてもよい。
【００９８】
［第３実施形態］
図９は、第３実施形態に係るモーション生成システム７０を示している。
【００９９】
このモーション生成システム７０は、初期・目標姿勢入力部１２、優先項目入力部１４、入力装置１６、ロボットＲの他、センサＳ、周辺環境入力部７２、モーション生成部７４を備えている。なお、第１及び第２実施形態と共通の事柄についての記述を省略し、異なる点についてのみ説明する。
【０１００】
モーション生成部７４は、外部と情報を送受信するための外部Ｉ／Ｆ１８（取得手段）と、ロボットＲのモーションを生成するためのコンピュータプログラムが格納される記憶装置２０と、このコンピュータプログラムを実行し、モーションを生成するための演算処理を実行するためのＣＰＵ２２と、処理対象となるデータやコンピュータプログラムを一時的に記憶するためのメモリ２４、入力されたデータや処理結果等を表示するための表示部２８を備え、外部Ｉ／Ｆ１８を介して入力された初期・目標姿勢、優先項目及び周辺環境に基づいて、ロボットＲのモーションを生成する。
【０１０１】
周辺環境入力部は、モーション生成部７４のハードウェア構成（記憶装置２０、ＣＰＵ２２、メモリ２４及び表示部２８など）を用いて、ユーザに障害物情報を入力させる。
【０１０２】
まず、周辺環境入力部７２は、図１０に示されるように、表示部２８にＧＵＩを表示させる。ユーザは、表示されたＧＵＩ上で、入力装置１６を用いて障害物を設定することができる。このため、障害物を前提とした効率的なモーション生成ならびにそのシミュレートが可能になる。なお、ユーザによる入力に替えて、あるいは、併用させて、設定ファイルを読み込むことにより、障害物情報を設定することも可能である。
【０１０３】
さらに、本実施形態においては、画像取得用のカメラをセンサＳとして用いてロボットＲの周辺の画像を取得し、計測して得られた画像情報を障害物情報の一部として周辺環境入力部７２に取得できる構成としてもよい。周辺環境入力部７２は、ユーザにより設定された障害物情報ならびにセンサＳから取得した周辺画像情報に基づき、ロボットの周辺に存在する複数の障害物の形状、位置及び姿勢のジオメトリパラメータをモーション生成部７４に出力する。
【０１０４】
モーション生成部７４は、初期・目標姿勢入力部１２から取得した初期姿勢情報、目標姿勢情報、優先項目入力部１４から取得した優先項目、周辺環境入力部７２から取得した周辺環境情報に基づいて、障害物を回避するようなロボットＲのモーションを生成する。
【０１０５】
図１１は、上述したモーション生成システム７０におけるモーション生成処理のフローチャートである。
【０１０６】
初期姿勢ならびに目標姿勢の入力（ステップＳ８０）及び優先項目の入力（ステップＳ８２）については、他の実施形態と同様であるため説明を省略する。
【０１０７】
次いで、ステップＳ８４において、周辺環境入力部７２は、ＧＵＩ経由またはセンサＳより、周辺環境情報を取得し、ロボットの周辺に存在する障害物（たとえば図１０に示される障害物Ｄ１及び障害物Ｄ２）等の形状、位置（及び姿勢）のジオメトリパラメータを算出し、モーション生成部７４に出力する。
【０１０８】
ステップＳ８６において、モーション生成部７４は、取得した初期姿勢情報、目標姿勢情報及び優先項目に基づいて、他の実施形態と同様にロボットＲのモーションを生成する。そして、そのモーションと、障害物のジオメトリパラメータを比較し、これら障害物とモーションが干渉するか判定する（ステップＳ８８）。たとえば、モーション中にロボットＲがとる中間姿勢を包含する多面体の位置座標と、障害物を包含する多面体の位置座標を比較することで、干渉の有無を判定することができる。干渉が存在する場合は、再度、新たなモーションを生成し（ステップＳ８６）、再度障害物と再生成されたモーションの干渉の有無を判断する（ステップＳ８８）。以上のステップＳ８６とＳ８８を干渉がなくなるまで繰り返す。なお、障害物を回避するモーションの生成方式としては、このようなトライアンドエラーによるもののほか、モーションの中間点ごとに障害物との干渉を判定する方法や、障害物から距離のある場所を優先的に選択する方法などを使用してもよい。
【０１０９】
生成されたモーションと障害物との干渉がないと判定された場合は、そのモーションに従ってロボットＲを動作させる（ステップＳ８９）。
【０１１０】
以上のとおり、本実施の形態においては、初期姿勢情報、目標姿勢情報、周辺の障害物情報及び優先項目に基づいて、初期姿勢から目標姿勢に至るまでのロボットＲのモーションを生成するように構成した。これにより、より実際的な作業に適用することができるモーションを効率よく生成することが可能になる。
【０１１１】
また、周辺環境情報は、画像取得用のセンサＳによる計測データだけでなく、他のセンサ（たとえばレーザレンジファインダやＬＩＤＡＲ）や、周辺環境に関するＣＡＤデータから取得するようにしてもよい。
【０１１２】
［第４実施形態］
図１２は、本発明の第４実施形態に係るモーション生成装置９０の機能ブロック図である。このモーション生成装置９０は、角度センサＡＳ、モーション生成部１０、初期・目標姿勢入力部１２、優先項目入力部１４、入力装置１６、ロボットＲに加え、他の実施形態と異なる点として、姿勢算出部９２を備える。また、図１３は、モーション生成装置９０を用いたモーション生成処理を示すフローチャートである。
【０１１３】
本実施形態における姿勢算出部９２は、記憶装置２０に格納される姿勢算出のためのコンピュータプログラムを備え、モーション生成部１０のハードウェア構成（記憶装置２０、ＣＰＵ２２及びメモリ２４など）を用いて、ロボットＲの現在姿勢の姿勢情報を取得することができる。したがって、ステップＳ１００に示されるように、姿勢算出部９２を用いてロボットＲの現在姿勢を、初期姿勢または目標姿勢として取得することができる。具体的には、ロボットＲの各ジョイントＪmの回転角度を、ジョイントＪmごとに設けられた複数の角度センサＡＳを用いて計測し、計測結果である角度信号を姿勢算出部９２が取得してこれに基づいてロボットＲの姿勢を特定する位置情報及び姿勢情報を算出することにより、初期姿勢情報または目標姿勢情報が取得される（ステップＳ１０３）。
【０１１４】
また、初期姿勢または目標姿勢情報は、ユーザが入力装置１６またはＧＵＩを用いて入力したロボットＲの手先部分（エンドエフェクタＥ）の姿勢情報に基づいて姿勢算出部９２が算出することもできる（ステップＳ１０１）。
【０１１５】
具体的には、図１４に示されるようなサブルーチン処理が実行される。まず、ユーザにより初期姿勢または目標姿勢として、ロボットＲの手先姿勢が設定される（ステップＳＲ１０）。すると、姿勢算出部９２は、ＩＫ計算（Inverse Kinematics）を実施する（ステップＳＲ１２）。ここで、ＩＫ計算とは、多関節のロボットにおける先端の位置及び姿勢情報に基づいて、その位置を実現するための各関節の角度・位置を簡易的に逆計算する計算手法のことである。このような姿勢計算処理（ステップＳ１０２）を経て、初期姿勢または目標姿勢情報が決定し、取得される（ステップＳ１０３）。
【０１１６】
さらに、把持対象となるワークＷの空間的な位置情報に基づいて姿勢情報を取得することもできる（ステップＳ１０１）。たとえば、ワークＷが所定の位置に載置されておらず、ベルトコンベア等のコンベア上に載置されて移動しているワークＷを把持する場合や、不規則に載置されているワークＷをピッキングするような場合、または初期姿勢または目標姿勢がその都度変更するような場合は、ワークＷの位置に基づいて初期姿勢または目標姿勢を決定することが望ましい。
【０１１７】
図１５は、ワークＷの空間的な位置に基づいてロボットＲの初期姿勢または目標姿勢を決定するためのサブルーチンを示している。まず、ロボットＲに設けられた画像センサＳまたはベルトコンベアの上部にある天井部に設けられた画像センサＳを用いて、ワークＷを撮像・計測する（ステップＳＲ２０）。そして、姿勢算出部９２は、センサＳから取得した画像を処理して、ワークＷを認識（取得）する（ステップＳＲ２２）。ワークＷの形状や、色等が既知である場合は、公知の技術を用いてワークＷを認識することが可能である。
【０１１８】
次いで、姿勢算出部９２は、ワークＷの把持点または把持位置を計算する（ステップＳＲ２４）。たとえば、円柱、球及び直方体などのモデル形状ごとに、エンドエフェクタＥに応じた接触条件を予め記憶装置２０に記憶させておき、画像センサＳにより実際に認識されたワークＷの形状に基づく接触点を算出することにより、ワークＷの把持点を特定することができる。そして、計算された把持点においてワークＷを把持するための手先部の姿勢が計算される（ステップＳＲ２６）。その後、上述したＩＫ計算が実行され、ロボットＲ全体の姿勢情報が算出される（ステップＳＲ２８）。このような手順を経て、初期姿勢情報または目標姿勢情報が算出され、モーション生成部１０によって取得される（ステップＳ１０３）。
【０１１９】
上述したステップとともに、他の実施形態で説明したのと同様に、優先項目が取得され（ステップＳ１０４）、モーション生成部１０に入力される。
【０１２０】
モーション生成部１０は、取得した初期及び目標姿勢情報、優先項目に基づいてモーションを生成し（ステップＳ１０５）、生成されたモーションに基づいてロボットＲが制御される。
【０１２１】
このような構成を採用することで、そのときのロボットＲの現在姿勢を初期姿勢または目標姿勢として取得することが可能となり、ユーザによる煩雑な入力作業を軽減することが可能になる。
【０１２２】
また、ワークＷの位置またはロボットＲの手先姿勢に基づいてロボットＲの初期姿勢または目標姿勢を取得することが可能となり、ユーザによる煩雑な入力作業を軽減することが可能になる。
【０１２３】
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
【０１２４】
（付記１）
ロボットを第１の姿勢から第２の姿勢に変化させるための動作を生成するモーション生成方法において、
前記第１の姿勢を特定する第１姿勢情報と、前記第２の姿勢を特定する第２姿勢情報を取得するステップと、
前記第１の姿勢から第２の姿勢に変化する動作に関する少なくとも１つの優先項目を取得するステップと、
取得された前記第１姿勢情報、第２姿勢情報及び前記優先項目に基づいて、前記第１の姿勢から第２の姿勢に移動する前記ロボットの動作経路を含む前記ロボットのモーションを生成するステップと、
を含むモーション生成方法。
【０１２５】
（付記２）
ロボットを第１の姿勢から第２の姿勢に変化させるための動作を生成するモーション生成装置において、
前記第１の姿勢を特定する第１姿勢情報と、前記第２の姿勢を特定する第２姿勢情報を取得する第１取得手段と、
前記第１の姿勢から第２の姿勢に変化する動作に関する少なくとも１つの優先項目を取得する第２取得手段と、
取得された前記第１姿勢情報、第２姿勢情報及び前記優先項目に基づいて、前記第１の姿勢から第２の姿勢に移動する前記ロボットの動作経路を含む前記ロボットのモーションを生成する動作生成手段と、
を備えるモーション生成装置。
【０１２６】
（付記３）
ロボットを第１の姿勢から第２の姿勢に変化させるための動作を生成するためのコンピュータプログラムであって、
コンピュータに、
前記第１の姿勢を特定する第１姿勢情報と、前記第２の姿勢を特定する第２姿勢情報を取得するステップと、
前記第１の姿勢から第２の姿勢に変化する動作に関する少なくとも１つの優先項目を取得するステップと、
取得された前記第１姿勢情報、第２姿勢情報及び前記優先項目に基づいて、前記第１の姿勢から第２の姿勢に移動する前記ロボットの動作経路を含む前記ロボットのモーションを生成するステップと、
を実行させるためのコンピュータプログラム。
【０１２７】
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。
【符号の説明】
【０１２８】
１０…モーション生成部、１２…初期・目標姿勢入力部、１４…優先項目入力部、１６…入力装置、１８…外部インタフェース、２０…モーション生成システム、２２…動作生成手段、２４…メモリ、２８…表示部、４０…モーション生成システム、４２…優先項目入力部、４６…表示装置、７０…モーション生成システム、７２…周辺環境入力部、７４…モーション生成部、９０…モーション生成システム、Ａ…アーム、ＡＳ…角度センサ、Ｂ…ベース、Ｄ１、Ｄ２…障害物、Ｅ…エンドエフェクタ、Ｊm…ジョイント、Ｒ…ロボット、Ｓ…センサ、Ｗ…ワーク。
【図１】
2019018272.tif 000004
【図２】
2019018272.tif 000005
【図３】
2019018272.tif 000006
【図４】
2019018272.tif 000007
【図５】
2019018272.tif 000008
【図６】
2019018272.tif 000009
【図７】
2019018272.tif 000010
【図８】
2019018272.tif 000011
【図９】
2019018272.tif 000012
【図１０】
2019018272.tif 000013
【図１１】
2019018272.tif 000014
【図１２】
2019018272.tif 000015
【図１３】
2019018272.tif 000016
【図１４】
2019018272.tif 000017
【図１５】
2019018272.tif 000018