(57)【特許請求の範囲】
【請求項１】
連結部と、
前記連結部を回動する関節と、
ハンド部と、
土台と、を備えたロボットアームであって、
前記ハンド部によってワークを把持しつつ、前記ロボットアームの前記ハンド部以外を障害物に接触させることにより前記障害物を退避させ、前記ハンド部によって前記ワークを移動させる、
ことを特徴とするロボットアーム。
【請求項２】
前記関節または前記連結部に設けられ、前記障害物と接触する接触部と、を備え、
前記接触部に前記障害物を接触させることにより、前記障害物を退避させることを特徴とする、請求項１に記載のロボットアーム。
【請求項３】
前記接触部は、前記障害物の動きを規制するガイド部材を備えることを特徴とする、請求項２に記載のロボットアーム。
【請求項４】
前記接触部には前記ガイド部材の角度を変化させる駆動部が設けられていることを特徴とする、請求項３に記載のロボットアーム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットアーム及びそのロボットアームの制御方法にかかわり、特に複数の関節を備えたロボットアームの制御方法に関する。
【背景技術】
【０００２】
リンクとリンクとを関節にて接続した腕を形成し、腕の先端にハンドが設置されたロボットアームが広く活用されている。そして、ロボットアームはハンドが物体を把持して移動することにより、物体の移動や組み立てる作業に用いられている。
【０００３】
移動する予定の物体と該物体を移動するときに障害となる障害物がある状況におけるロボットアームの制御方法が特許文献１に開示されている。これによると、ロボットアームの把持対象となる目標物が障害物に隠れている状況となっている。そして、ロボットアームは物体を把持する物体把持機構を備えている。このとき、ロボットアームは物体把持機構を用いて障害物を邪魔にならない位置まで退避する。次に、ロボットは目標物を認識し目標物を移動していた。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２９００５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
アーム先端に備えられた物体把持機構を用いて障害物の退避を行うときには多くのステップを行うことになる。詳細には、まず、ロボットは障害物を把持できる位置まで物体把持機構を移動させる。次に、ロボットは物体把持機構に障害物を把持させる。続いて、ロボットは障害物を退避位置まで移動し、障害物を解放する。次に、ロボットは物体把持機構を移動対象物の位置まで戻す。以上のように多くのステップを行う必要があった。つまり、退避作業に多くのステップが行われていた。そこで、作業効率の良いロボットアームの制御方法が求められていた。
【０００６】
物体把持機構で障害物を把持して移動することにより障害物の退避を行う。このとき、障害物の大きさや重さが所定の値を超えていた場合には物体把持機構で把持できないことがある。そこで、物体把持機構では把持不可能な重量の物体も移動して生産性良く作業するロボットアームの制御方法が求められていた。
【課題を解決するための手段】
【０００７】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態または適用例として実現することが可能である。
【０００８】
［適用例１］本適用例にかかるロボットアームの制御方法は、複数の連結部が関節にて接続されたロボットアームを制御するロボットアームの制御方法であって、前記ロボットアームはハンド部を有し、前記ハンド部が物体を把持して移動する工程と、前記関節または前記連結部を作用点として物体を移動する工程と、を有することを特徴とする。
【０００９】
本適用例によれば、ハンド部が物体を移動する工程と、関節または連結部を作用点として物体を移動する工程とを有している。ハンド部は物体を把持するので、物体の位置を精度良く認識して移動することができる。一方、ハンド部はロボットアームの端に位置しているので、ハンド部を移動するには大きなトルクが必要となる。従って、物体の重量が重いときにはハンド部を用いて物体を移動するトルクでロボットアームを駆動できないときがある。
【００１０】
関節または連結部はロボットアームの中間地点に位置するので、ハンド部よりも小さなトルクで物体を移動することができる。また、ハンド部では把持不可能な重量の物体も移動できる。従って、関節または連結部を作用点としてすることにより、作業を中断することなく作業を進行することができる。その結果、作業効率良く作業することができる。
【００１１】
［適用例２］上記適用例に記載のロボットアームの制御方法は、前記ハンド部を作用点として物体を移動するタスクと、前記関節または前記連結部を作用点として物体を移動するタスクと、を評価し、前記評価の結果に基づいて、いずれのタスクを実行するかを決定することが好ましい。
【００１２】
本適用例によれば、ハンド部を作用点として物体を移動するタスクと、関節または連結部を作用点として物体を移動するタスクとを評価している。尚、タスクはある作業を行うときの一連の工程を意味する。該評価結果に基づいて実行するタスクを決定するため、より効率の良いタスクを選択して実行することができる。従って、作業効率に優れたロボットアームを提供することができる。
【００１３】
［適用例３］上記適用例に記載のロボットアームの制御方法は、前記ハンド部で第２の物体を把持しつつ、前記関節または前記連結部を作用点として、第１の物体を移動することが好ましい。
【００１４】
本適用例によれば、ハンド部で第２の物体を把持しつつ、関節または連結部を作用点として、第２の物体を移動する。これにより、第２の物体の移動を中断することなく、第１の物体を移動させることができる。ハンド部で第２の物体を把持しているときに、第１の物体を移動させる必要があることがある。このとき、ハンド部にて第１の物体を移動する方法がある。まず、把持していた第２の物体をハンド部から解放する。次に、ハンド部が第１の物体のある場所へ移動し第１の物体を把持する。続いてハンド部が第１の物体を移動し、第１の物体を解放する。次に、ハンド部が第２の物体のある場所へ移動し第２の物体を把持する。
【００１５】
この方法に比べて、本適用例では少ない工程で作業することができる。従って、簡単に作業を完了させることができる為、生産性良く作業することができる。
【００１６】
［適用例４］上記適用例に記載のロボットアームの制御方法は、前記タスクの実行時間をロボットアームの動作シミュレーションによって算出し、前記実行時間に基づいて、いずれのタスクを実行するかを決定することが好ましい。
【００１７】
本適用例によれば、ハンド部を作用点として物体を移動した場合のタスク実行時間と、関節または連結部を作用点として物体を移動した場合のタスク実行時間とをシミュレーションによって算出している。このとき、ハンド部及びロボットアームの仕様が考慮される。該算出結果に基づいていずれのタスクを実行するかを決定するため、より効率の良いタスクを実行することができる。
【００１８】
［適用例５］上記適用例に記載のロボットアームの制御方法では、前記動作シミュレーションは複数の前記関節を移動する前記実行時間を算出し、各前記タスクにおいて前記関節を移動する前記実行時間のうち最も長く時間のかかる前記実行時間を比較して、いずれのタスクを実行するかを決定することが好ましい。
【００１９】
本適用例によれば、各タスクにおいて各関節を移動する実行時間を算出している。そして、各関節を移動する実行時間のうち最も長くかかる実行時間を比較している。従って、各タスクのどちらが短い時間で実行できるかを確実に決定することができる。
【００２０】
［適用例６］本適用例にかかるロボットアームは、ハンド部と、複数の関節と、前記ハンド部と前記関節とを連結し前記関節同士を連結する連結部と、前記関節または前記連結部に位置し物体を押圧するひじあて部と、を有し、前記ひじあて部の形状は前記物体が押圧される方向に移動する形状となっていることを特徴とする。
【００２１】
本適用例によれば、関節または連結部にひじあて部が位置している。そして、ひじあて部は物体の動きを限定するので、物体が押圧される方向に移動する。つまり、物体がひじあて部から離れにくくなる形状となっている。従って、物体がひじあて部から外れることによる作業を実施する必要がなくなる。その結果、タスクを効率良く実行することができる。従って、作業効率に優れたロボットアームを提供することができる。
【００２２】
［適用例７］上記適用例に記載のロボットアームでは、前記ひじあて部は、物体の動きを限定するガイド部材を備えることが好ましい。
【００２３】
本適用例によれば、ひじあて部には物体の動きを限定するためのガイド部材を備えている。従って、物体が所望の軌道からずれ難くなる。その結果、物体を押圧する方向に確実に移動させることができる。
【００２４】
［適用例８］上記適用例に記載のロボットアームは、前記ひじあて部には前記ガイド部材の角度を変化させるアクチュエーターが設けられていることが好ましい。
【００２５】
本適用例によれば、ガイド部材の角度を制御できる。従って、物体を押圧する方向に物体が移動するようにひじあて部の形状を適合させることができる。
【図面の簡単な説明】
【００２６】
【図１】第１の実施例にかかわるロボット制御システムを示す概略構成図。
【図２】ロボットアームを示す模式側面図。
【図３】ひじあて部を示す要部模式平面図。
【図４】ロボットアームを制御する制御部のブロック図。
【図５】ロボットアームの制御方法を説明するための模式図。
【図６】ロボットアームの制御方法を説明するための模式図。
【図７】ロボットアームの制御方法を説明するための模式図。
【図８】対象物を目標位置に移動する作業のフロー図。
【図９】ハンド部とひじあて部とによる退避作業を説明するための図。
【図１０】第２の実施例にかかわる対象物を目標位置に移動する作業のフロー図。
【図１１】動作時間の演算方法を説明するための図。
【図１２】第３の実施例にかかわる対象物を目標位置に移動する作業のフロー図。
【図１３】第４の実施例にかかわる対象物を目標位置に移動する作業のフロー図。
【発明を実施するための形態】
【００２７】
以下、本発明の実施形態について、図面を参照して説明する。尚、以下の各図においては、ハンド部、関節、連結部や移動対象物等の各部材を認識可能な程度の大きさにするため、各部品の尺度を実際とは異ならせて図示している。
【００２８】
（第１の実施形態）
本実施形態では、ロボットアームのハンド部よりもひじあて部を優先して用いて障害物を退避する特徴的な制御方法の例について、図１〜図９に従って、説明する。
【００２９】
（ロボットアーム）
図１は、ロボット制御システムを示す概略構成図である。図２は、ロボットアームを示す模式側面図である。まず、ロボットアーム１の概略構成について図１及び図２に従って説明する。ロボットアーム１は土台９を備えている。土台９上には連結部１４、関節１１、連結部１５、関節１２、連結部１６、関節１３、連結部１７、ハンド部５がこの順に接続して配置されている。ロボットアーム１は天吊型であり、土台９が天井に設置されている。そして、連結部１４〜１７は天井から地上に向かって配置された形態となっている。
【００３０】
連結部１４〜１７は関節１１〜１３と交互に連結して配置されている。連結部１４〜１７は人間にたとえると肩と肘を連結する部分や肘と手首とを連結する部分と同じ役割を果たしている。関節１２は連結部１５と連結部１６の間にあり、連結部１５及び連結部１６の長軸と関節１２の回転軸が一致している。これにより、連結部１５の長手方向と連結部１６の長手方向とは常に平行となっている。関節１１及び関節１３は連結部１４と連結部１７とがなす角度を変化させる機能を有している。
【００３１】
ハンド部５は角柱状の一対の指部５ａを備えている。指部５ａは平行移動することにより指部５ａの間に物体を挟んで把持する機能を備えている。各関節１１，１２，１３及びハンド部５は内部にはモーターやエンコーダー等からなるアクチュエーター１１１，１２１，１３１，５０１をそれぞれ備えている。ロボットアーム１は制御部２と電気的に接続されている。詳細には制御部２はロボットアーム１の周辺に配置され、制御部２とロボットアーム１の間及び制御部２とハンド部５との間はロボットアーム１内部に設置された信号線で結ばれている。そして、制御部２は関節１１〜１３及びハンド部５が内蔵するモーターを駆動する。さらに、関節１１〜１３及びハンド部５が内蔵するエンコーダーの出力信号を入力して制御部２はロボットアーム１の姿勢を検出する。ロボットアーム１は、制御部２からの制御信号を受けて物体を把持する動作を行う。
【００３２】
関節１３にはひじあて部６が設置されている。ひじあて部６は物体を押圧して移動させるために設けられたものである。制御部２から受けた制御信号に応じて、関節１１〜関節１３の角度が変化することによりひじあて部６の位置が変化する。そして、ロボットアーム１は物体にひじあて部６を押圧して物体を移動させることができる。また、ひじあて部６のうち物体と接触する面は滑りにくく磨耗し難い方が良い。従って、ひじあて部６以外の構成要素よりも摩擦抵抗が大きく耐磨耗性のある素材で構成されていることが好ましい。例えば、本体部６ａが物体と接触する場所の素材にはゴムやウレタン等の弾性素材を用いることができる。
【００３３】
ロボットアーム１の動作範囲には作業台３が設置されている。作業台３のロボットアーム１側の面は作業面３ａであり、ロボットアーム１が作業する面となっている。作業面３ａは平らに形成され、作業面３ａに物体としての対象物４が設置されている。作業面３ａは対象物４や障害物等の物体を滑らせて移動することができる面となっている。対象物４は、特に限定されないが、ハンド部５で把持可能な構造をしている。本実施形態では分かりやすくするため長方形としている。ハンド部５は作業面３ａにて対象物４を把持し移動する作業を行う。
【００３４】
作業台３の上方にはカメラ８が設置されている。カメラ８の撮像範囲には作業面３ａの全面及び、その周辺が視野に入るように設定されている。制御部２とカメラ８とは図示しない信号線にて接続されている。そして、カメラ８は撮影した画像を制御部２に出力する。
【００３５】
図３は、ひじあて部を示す要部模式平面図であり、ひじあて部６を土台９側から見た図である。図３（ａ）〜図３（ｃ）は、ガイド部材の角度を変化させた様子を示している。図３（ａ）はガイド部材が閉じた状態を示し、図３（ｂ）はガイド部材の開き具合が中間の状態を示している。図３（ｃ）はガイド部材２１が開いた状態を示している。
【００３６】
ひじあて部６は長方形の板状の本体部６ａを備えている。該本体部６ａの両端にガイド部材２１が設置されている。ひじあて部６は本体部６ａと隣接してアクチュエーター６０１を備えており、該アクチュエーター６０１とガイド部材２１とが接続されている。そして、アクチュエーター６０１はガイド部材２１の角度を変化させることが可能になっている。ロボットアーム１が物体をひじあて部６に押し当てて移動する。このとき、制御部２は物体の姿勢や形状に応じてガイド部材２１を変化させる。これにより、移動させる物体２２がひじあて部６から外れるのを防ぐことが可能となっている。従って、ひじあて部６は物体の動きを規制することができる。
【００３７】
ひじあて部６の形状は本体部６ａの面とガイド部材２１の２面とからなる３面が連なっている。ひじあて部６は３つの面に囲まれた場所に物体２２が位置するように、移動する。従って、ガイド部材２１の形状は物体２２が押圧される方向に移動する形状となっている。
【００３８】
図４は、ロボットアームを制御する制御部のブロック図である。図４に示すように、制御部２は中央制御部２０１と各種制御プログラムや一時データが記憶されるメモリー２０２を備えている。メモリー２０２に記憶された各種制御プログラムに従って中央制御部２０１が動作することにより、各種の機能の制御処理が実行される。
【００３９】
制御部２は図示しないインターフェイスを備え、カメラ８、ロボットアーム１、ハンド部５、ひじあて部６はインターフェイスを介して制御部２と接続されている。カメラ８は撮像した画像を画像信号８０１に変換して制御部２に出力する。ハンド部５はアクチュエーター５０１を備え、アクチュエーター５０１を駆動して指部５ａの間隔を変更する。ひじあて部６はアクチュエーター６０１を備え、アクチュエーター６０１を駆動してガイド部材２１の角度を変える。
【００４０】
制御部２が行う機能を詳しく分割すると主な機能を実施する機能部として、制御部２はハンド動作計画部２０３、画像入力部２０４、オブジェクト認識部２０５、アーム制御部２０６を有する。さらに、制御部２はハンド優先軌道計画部２０７、ひじあて優先軌道計画部２０８、ハンド制御部２０９、ガイド角度制御部２１０の機能部を有する。
【００４１】
ハンド動作計画部２０３はハンド部５に与える制御信号の計画及び生成する処理を行う部である。画像入力部２０４は、カメラ８が撮影した画像信号８０１を入力し、オブジェクト認識部２０５に画像信号８０１を出力する部である。オブジェクト認識部２０５は、画像信号８０１の中からロボットアームのタスク実行に必要な対象物や障害物、ドライバーやドリル等の工具の存在や位置を認識する部である。アーム制御部２０６はアームを制御する信号を関節１１，１２，１３に備えられたアクチュエーター１１１，１２１，１３１に出力し、ロボットアーム１の姿勢制御を行う部である。ハンド優先軌道計画部２０７はハンド部５で物体を把持して移動する軌道を計画する部である。ひじあて優先軌道計画部２０８はひじあて部６を用いて物体を移動する軌道を計画する部である。ひじあて優先軌道計画部２０８は、オブジェクト認識部２０５の認識結果を用いて、アームの軌道を計画する。ハンド制御部２０９はハンド部５に制御信号を出力し、ハンド部５のアクチュエーター５０１を制御する部である。ガイド角度制御部２１０は一対のガイド部材２１がなす角度を制御する部である。
【００４２】
（ロボットアームの制御方法）
図５〜図７はロボットアームの制御方法を説明するための模式図である。本実施形態では、図５に示すように、作業台３に載っている対象物４を作業台３上の目標位置４ａに移動する作業の例を説明する。以後、この作業をタスクＡと称す。図６に示すように、作業台３上には対象物４と障害物７とが載置されている。タスクＡにて対象物４を目標値に移動する軌道の途中に障害物７が位置している。図７に示すように、ロボットアーム１は障害物７を退避目標位置７ａに退避する作業も行う。以後、障害物７を退避させる作業をタスクＢと称す。
【００４３】
図８は対象物を目標位置に移動する作業のフロー図である。次に、タスクＡ及びタスクＢの流れを詳しく説明する。図８に示すように、タスクＡが開始される。ステップＳ１０１は画像取得ステップである。画像入力部２０４がカメラ８に対して画像取得命令を出力する。そして、カメラ８は作業台３の周辺を斜め上からみた画像を撮影する。次のステップＳ１０２は対象物認識ステップである。画像信号８０１がカメラ８からオブジェクト認識部２０５に出力される。そして、オブジェクト認識部２０５は対象物４の位置、大きさ、姿勢を認識する。次のステップＳ１０３は対象物認識したかを判断するステップである。オブジェクト認識部２０５は対象物４を認識できたか否かを判定する。オブジェクト認識部２０５が対象物４を認識できたと判定した場合にはステップＳ１０４に移行する。オブジェクト認識部２０５が認識できなかった場合には、ステップＳ１２０に移行する。ステップＳ１２０はエラー処理ステップである。エラーメッセージ表示等のエラー処理を行なう。そして、タスクＡは終了する。
【００４４】
ステップＳ１０４は対象物を目標位置へ移動するためのハンド優先軌道計画処理ステップである。ハンド優先軌道計画部２０７がアーム先端に備えられたハンド部５を使って対象物４を目標位置４ａに移動する軌道を計画する。次のステップＳ１０５は対象物の現在位置から目標位置までの間に障害物ありかを判断するステップである。中央制御部２０１はハンド優先軌道計画部２０７が計画した軌道の途中に障害物７が位置するか否かを判定する。このとき、中央制御部２０１は、カメラ８が取得した画像を用いて判定する。軌道の途中に障害物７が存在しないと中央制御部２０１が判定した場合にはステップＳ１０６に移行する。一方、軌道の途中に障害物７が存在すると中央制御部２０１が判定した場合はステップＳ１１２に移行して障害物７を退避させるタスクＢが開始される。
【００４５】
次のステップＳ１０６は対象物を把持するためのハンド部の動作計画処理ステップである。ハンド動作計画部２０３は、ハンド部５が対象物４を把持する動作の動作計画処理を行う。次のステップＳ１０７はハンド部で対象物を把持可能かを判断するステップである。ステップＳ１０６に作成した動作計画において対象物４をハンド部５が把持できるか否かを判定する。把持できないと判定された場合には、ステップＳ１２０に移行し、エラー処理の後タスクＡを終了する。一方、ステップＳ１０７において対象物４をハンド部５で把持できると判定された場合にはステップＳ１０８に移行する。
【００４６】
ステップＳ１０８は対象物を把持可能な位置まで、ハンド部を移動するステップである。ステップＳ１０４で計画した軌道計画及びステップＳ１０６で計画したハンド部の動作計画に従ってハンド制御部２０９及びアーム制御部２０６が対象物４を目標位置４ａまで移動する制御を行う。具体的には、ハンド優先軌道計画部２０７によって計画された関節角度または関節の角速度のパラメーターに応じてアーム制御部２０６を通じて関節１１，１２，１３に対応したアクチュエーター１１１，１２１，１３１を動かし、各関節１１，１２，１３の角度を制御する。この制御により、対象物４を把持できる位置までハンド部５を移動する。次のステップＳ１０９は対象物を把持するステップである。ハンド動作計画部２０３によって計画されたハンド部の動作計画に従ってハンド制御部２０９がアクチュエーター５０１を駆動する。これによりハンド部５が対象物４を把持する。
【００４７】
次のステップＳ１１０は対象物を所定の高さまで上昇させ、目標位置まで移動するステップである。アーム制御部２０６が各関節１１，１２，１３の角度を制御することにより対象物４を把持したハンド部５を上昇させる。次に、アーム制御部２０６がアクチュエーター１１１，１２１，１３１を駆動して対象物４を目標位置４ａの上側まで移動する。次のステップＳ１１１は対象物を作業台まで下降させ、解放するステップである。アーム制御部２０６はハンド部５を下降させる。続いて、ハンド制御部２０９は目標位置４ａにて指部５ａの間を開くことにより対象物４を解放する。以上の動作により、タスクＡが終了する。
【００４８】
タスクＢのステップＳ１１２は障害物を退避するためのひじあて優先軌道計画処理ステップである。ひじあて優先軌道計画部２０８は障害物７を退避目標位置７ａに移動する軌道計画処理を行なう。退避目標位置７ａは、対象物４が目標位置４ａに移動させる軌道上になく、障害物７が軌道を干渉しない場所となっている。ひじあて優先軌道計画部２０８はアームの中間部に設置されたひじあて部６を作用点として障害物を退避させる軌道計画処理を行う。つまり、ひじあて部６が障害物７を押して移動させる計画をひじあて優先軌道計画部２０８が作成する。
【００４９】
関節１１及び関節１２の角度を変えることで、アーム制御部２０６はひじあて部６の位置を制御できる。軌道計画ではアーム制御部２０６がひじあて部６を障害物７の近くに移動させた後、ひじあて部６を障害物７に接触させる。続いて、ひじあて部６が障害物７を押して障害物７を退避目標位置７ａに退避させる。この軌道計画ではハンド部５が作業台３に衝突しないように、アーム制御部２０６が関節１１，１２，１３の角度を制御する。
【００５０】
次のステップＳ１１３は、障害物はひじあて部の移動により退避可能かを判断するステップである。ステップＳ１１２で作成した軌道計画において障害物を退避させる軌道が計画できたか否かを判定する。ここで軌道が計画できたと判定する場合にはステップＳ１１４に移行する。障害物７を移動させる軌道が計画できなかったと判定する場合にはステップＳ１１５に移行する。
【００５１】
次のステップＳ１１４はひじあて部を作用点とした、障害物の退避制御ステップである。アーム制御部２０６はアクチュエーター１１１，１２１，１３１を駆動することによりひじあて部６を作用点として障害物７を押して移動させる退避動作を行う。このとき、ガイド角度制御部２１０は一対のガイド部材２１がなす角度を制御する。これにより、ガイド部材２１は障害物７の動きを限定し、障害物７が押圧された方向へ移動するようにガイド部材２１が誘導する。そして、ハンド部５は障害物７を移動させたい軌道に沿って移動させる。その後、タスクＢを終了してステップＳ１１９に移行する。
【００５２】
ステップＳ１１５は障害物を逃避するためのハンド優先軌道計画処理ステップである。ハンド部５を用いて障害物７を退避目標位置７ａに移動させる計画をハンド優先軌道計画部２０７が計画する。次のステップＳ１１６は障害物を把持するためのハンド動作計画処理ステップである。ハンド部５を障害物７に移動させて把持させる計画をハンド動作計画部２０３が計画する。
【００５３】
次のステップＳ１１７は、障害物はハンド部により退避可能かを判断するステップである。ハンド優先軌道計画部２０７及びハンド動作計画部２０３の両方で実現可能な計画を立てられたか否かを中央制御部２０１が判定する。計画を立てられたと判定された場合は、ステップＳ１１８に移行する。計画を立てられなかったと判定された場合は、ステップＳ１２１に移行する。ステップＳ１２１はエラー処理ステップである。エラーメッセージ表示等のエラー処理を行なう。その後、タスクＢ及びタスクＡは終了する。
【００５４】
ステップＳ１１８はハンド部を作用点とした障害物の退避制御ステップである。制御部２はハンド部５を作用点としてタスクＢを実行する制御を行う。具体的には、アーム制御部２０６は障害物７を把持できる位置までハンド部５を移動する。そして、ハンド制御部２０９がハンド部５に障害物７を把持させて上昇させる。続いて、アーム制御部２０６が障害物７を把持したハンド部５を退避目標位置７ａの上側に移動させる。次にアーム制御部２０６がハンド部５を下降させた後、ハンド制御部２０９が障害物７を解放する動作が行われる。以上の動作により、ロボットアーム１は障害物７を退避目標位置７ａに退避する。
【００５５】
次のステップＳ１１９は対象物を目標位置へ移動するためのハンド優先軌道計画処理ステップである。ハンド優先軌道計画部２０７がアーム先端に備えられたハンド部５を使って対象物４を目標位置４ａに移動する軌道を計画する。次に、ステップＳ１０６に移行する。以降の処理は、障害物が存在しない場合の処理と同様である。
【００５６】
（比較例）
図９はハンド部とひじあて部とによる退避作業を説明するための図である。図９に示すように、ハンド部５を用いて障害物７を退避目標位置７ａに退避させるときには７つのステップが行われる。まず、ハンド部５で障害物７を把持可能な位置までハンド部５を移動させる。次に、ハンド部５での把持動作を行う。続いて、ハンド部５の上昇動作を行う。続いて、ハンド部５の平行移動動作を行う。次に、ハンド部５の下降動作を行う。続いて、ハンド部５の解放動作を行う。次に、対象物４を把持可能な位置までハンド部５を移動する。
【００５７】
一方、ひじあて部６を用いて障害物７を退避目標位置７ａに退避させるときには３つのステップが行われる。まず、ひじあて部６で障害物７を押圧可能な位置までひじあて部６を移動する。次に、ひじあて部６での押圧動作を行う。続いて、対象物４を把持可能な位置までハンド部５を移動する。
【００５８】
ひじあて部６を用いた退避作業はハンド部５を用いた退避作業より４つのステップを削減することができる。そのステップは、ハンド部５での把持動作、ハンド部５の上昇動作、ハンド部５の下降動作、ハンド部５の解放動作である。従って、ひじあて部６で障害物７を退避した場合は、ハンド部５で障害物７を退避した場合に比べて作業にかかるステップ数が少なく、効率よく作業を実行できる。
【００５９】
上述したように、本実施形態によれば、以下の効果を有する。
（１）本実施形態によれば、対象物４を移動させる軌道上に障害物７があることを認識した場合には、ハンド部５を用いて障害物７を退避する作業を行っていた。しかし、ハンド部５で把持できる物体の重さ及び大きさには制約がある。所定の重さ及び重さを超える障害物７は退避することが不可能であり、ロボットアーム１による作業を中断せざるを得なかった。ひじあて部６は、連結部１４〜連結部１７の中間部に位置する関節１３に備えられている。従って、ひじあて部６はハンド部５よりも大きな力で障害物７を移動させることができる。また、ひじあて部６は、把持ではなく押圧により障害物７を移動させるため、障害物７の大きさの制約を受け難い。従って、ハンド部５が把持可能な大きさより大きな物体を移動することが可能である。その結果、ロボットアーム１は重いまたは大きな障害物７を退避させることができる。
【００６０】
（２）本実施形態によれば、ひじあて部６が障害物７を押圧して移動させている。ハンド部５を用いて障害物７を退避する場合、把持及びその解放を行うための作業を行う必要があった。ひじあて部６で退避する場合は、それらの作業を省略することができるため、タスクを効率よく実行できる。
【００６１】
（３）本実施形態によれば、関節１３にひじあて部６が位置している。そして、ひじあて部６は物体の動きを限定するので、障害物７が押圧される方向に移動する。つまり、障害物７がひじあて部６から離れにくくなる形状となっている。従って、障害物７がひじあて部６から外れることによる付加作業を実施する必要がなくなる為、作業を効率良く行うことができる。
【００６２】
（４）本実施形態によれば、ひじあて部６は障害物７の動きを限定するためのガイド部材２１を備えている。そして、障害物７の大きさや形状に合わせて、１対のガイド部材２１がなす角度をガイド角度制御部２１０が制御している。従って、障害物７が所望の軌道からずれ難くなる。その結果、障害物７を押圧する方向に確実に移動させることができる。
【００６３】
（第２の実施形態）
次に、ロボットアーム１の制御方法の一実施形態について図１０の対象物を目標位置に移動する作業のフロー図を用いて説明する。本実施形態が第１の実施形態と異なるところは、障害物７を退避する作業をハンド部５を用いて行った方が速いか、ひじあて部６を用いて行った方が速いかを評価して、早く退避できる方を選択する点にある。尚、第１の実施形態と同じ点については説明を省略する。
【００６４】
図１０において、ステップＳ２０１〜ステップＳ２０３、ステップＳ２２０は第１の実施形態におけるステップＳ１０１〜ステップＳ１０３、ステップＳ１２０と同じステップであり説明を省略する。さらに、ステップＳ２０４〜ステップＳ２１１は第１の実施形態におけるステップＳ１０４〜ステップＳ１１１と同じステップであり説明を省略する。
【００６５】
ステップＳ２０５において、対象物４を目標位置４ａまで移動させる軌道に障害物７が存在した場合はステップＳ２１２に移行する。ステップＳ２１２は障害物を退避するためのひじあて優先軌道計画処理ステップである。ひじあて優先軌道計画部２０８がひじあて部６を用いて障害物７を退避目標位置７ａまで退避する軌道を計画する。次のステップＳ２１３は障害物を退避するためのハンド優先軌道計画処理ステップである。ハンド優先軌道計画部２０７がハンド部５を用いて障害物７を退避目標位置７ａまで退避する軌道を計画する。次のステップＳ２１４は障害物を把持するためのハンド動作計画処理ステップである。ハンド動作計画部２０３が障害物７をハンド部５で把持する動作の計画を立てる。
【００６６】
次のステップＳ２１５は、障害物はハンド部とひじあて部の両方で退避可能かを判断するステップである。ステップＳ２１２〜ステップＳ２１４を行った結果、障害物７をハンド部５を用いる計画とひじあて部６を用いる計画との両方で障害物７を退避可能かどうかを中央制御部２０１が判定する。その結果、両方の計画の少なくとも一方の計画が退避不可と判定された場合は、ステップＳ２１９に移行する。一方、ステップＳ２１５において障害物７の退避にハンド部５を用いる計画とひじあて部６を用いる計画の両方の計画とも退避可能と判定された場合は、ステップＳ２１６に移行する。
【００６７】
次のステップＳ２１９は、障害物はハンド部とひじあて部のいずれかで退避可能かを判断するステップである。中央制御部２０１はいずれかの手段で退避可能かどうかを判定する。ＹＥＳと判定した場合は、ステップＳ２２０に移行し、ＮＯと判定した場合は、ステップＳ２２２に移行する。ステップＳ２２２はエラー処理ステップである。エラーメッセージ表示等のエラー処理を行なう。そして、タスクＡ及びタスクＢは終了する。ステップＳ２２０はハンド部及びひじあて部のうち、退避可能な方を作用点とした、障害物の退避制御ステップである。制御部２は退避可能な方法を用いた障害物の退避制御を行う。
【００６８】
ステップＳ２１６はひじあて部を用いた方が、退避時間が短いかを判断するステップである。中央制御部２０１はハンド部５で障害物７を退避した場合にかかる時間と、ひじあて部６で障害物７を退避した場合にかかる時間とを比較する。ひじあて部６を用いた方の退避時間が短いと判定した場合はステップＳ２１７に移行する。ハンド部５を用いた方の退避時間が短いと判定した場合はステップＳ２１８に移行する。
【００６９】
ステップＳ２１７はひじあて部を作用点とした障害物の退避制御ステップである。アーム制御部２０６はアクチュエーター１１１，１２１，１３１を駆動することによりひじあて部６を作用点として障害物７を押して移動させる退避動作を行う。次にステップＳ２２１に移行する。ステップＳ２１８はハンド部を作用点とした障害物の退避制御ステップである。制御部２はハンド部５を作用点として障害物７を移動させる障害物退避制御を行う。次にステップＳ２２１に移行する。
【００７０】
以上の制御より障害物７は対象物４の移動に干渉しない退避目標位置７ａに退避されたため、引き続き、ステップＳ２２１から対象物４を移動するステップを行う。この移動ステップは第１の実施形態におけるステップＳ１１９以降と同じであり、説明を省略する。
【００７１】
尚、ハンド部５とひじあて部６をそれぞれ用いて退避制御を行った場合にかかる時間は、ハンド部５及び、ひじあて部６の初期位置と、障害物７の位置及び退避目標位置７ａに依存する。第１の実施形態の場合と同様にひじあて部６を用いたほうが、作業を構成するステップ数が少ないため、より短い時間で退避作業を完了できる確率が高い。
【００７２】
ステップＳ２１２〜ステップＳ２１４においてハンド優先軌道計画部２０７及びひじあて優先軌道計画部２０８は退避制御をシミュレーションする。そして、退避に必要な時間を求める演算を行う。各関節１１，１２，１３の仕様として、動作可能な最大角速度及び最大角加速度が決まっている。それらの情報と各関節１１，１２，１３に要求される角度変化量とから各関節１１，１２，１３を回転させる制御にかかる時間が求められる。
【００７３】
図１１は動作時間の演算方法を説明するための図である。図１１（ａ）、図１１（ｂ）、図１１（ｃ）はそれぞれ関節１１、関節１２、関節１３の例を示している。図１１を用いて各関節における最大の角速度及び角加速度で動かした場合にかかる時間を求める方法を説明する。
【００７４】
各図において縦軸は角速度を示し、図中上側が下側より大きな角速度となっている。横軸は時間の推移を示し、時間は図中左側から右側へ推移する。図１１（ａ）において第１角速度推移線３０は関節１１が回転する角速度の推移を示す線である。第１角速度推移線３０が示すようにロボットアーム１が移動を開始した直後から関節１１は角速度が上昇している。そして、アクチュエーター１１１の最大角速度となったときから関節１１は等角速度にて回転する。次に、目標とする角度に近づいたとき関節１１は角速度を減速している。そして、関節１１が回転を開始してから終了するまでの時間を第１経過時間３０ａとする。第１経過時間３０ａの間で第１角速度推移線３０を積分して算出される角度が関節１１の回転角度となる。
【００７５】
図１１（ｂ）において第２角速度推移線３１は関節１２が回転する角速度の推移を示す線である。第２角速度推移線３１は第１角速度推移線３０と同様に推移している。そして、関節１２が回転を開始してから終了するまでの時間を第２経過時間３１ａとする。図１１（ｃ）において第３角速度推移線３２は関節１３が回転する角速度の推移を示す線である。第３角速度推移線３２は第１角速度推移線３０と同様に推移している。そして、関節１３が回転を開始してから終了するまでの時間を第３経過時間３２ａとする。
【００７６】
アーム制御部２０６はアクチュエーター１１１，１２１，１３１を同時に駆動させる。従って、第１角速度推移線３０〜第３角速度推移線３２は同時に上昇する。そして、ハンド部５を目標位置に移動させる制御にかかる時間は、各関節が角度変化にかかる時間うち最大となる時間である。つまり、第１経過時間３０ａ、第２経過時間３１ａ、第３経過時間３２ａのうち最大の値が目標位置への移動にかかる時間となる。
【００７７】
同様の時間計算をハンド動作計画部２０３も行う。ハンド動作計画部２０３はハンド部５による把持に必要な時間を計算する。ハンド動作計画部２０３、ハンド優先軌道計画部２０７、ひじあて優先軌道計画部２０８はこれらの各制御に必要な時間を積算して、ハンド部５を用いて障害物を退避した場合にかかる時間と、ひじあて部６を用いて障害物を退避した場合にかかる時間とを求める。次に、中央制御部２０１がハンド部５を用いるときの時間とひじあて部６を用いるときの時間とを比較し、移動にかかる時間が短い方法を選択することができる。
【００７８】
上述したように、本実施形態によれば、以下の効果を有する。
【００７９】
（１）本実施形態によれば、ハンド部５を用いて障害物７を退避した場合の作業にかかる時間と、ひじあて部６を用いて障害物７を退避した場合の作業にかかる時間とをあらかじめシミュレーションにより計算している。次に、シミュレーションの結果を比較している。そして、アーム先端部に備えられたハンド部５を用いて障害物７を退避した方が速いか、アーム中間部に備えられたひじあて部６を用いて障害物を退避した方が速いかをあらかじめ判断している。より短い時間で終了する方法を選択して、障害物を退避する作業を実行している。従って、より短い時間で効率よく障害物７の退避作業を終了させることができる。つまり、タスクを効率よく実行することができる。
【００８０】
（２）本実施形態によれば、ハンド部５を用いて障害物７を退避した場合の作業と、ひじあて部６を用いて障害物７を退避した場合の各タスクにおいて関節１１、関節１２、関節１３を移動する実行時間を算出している。そして、各関節を移動する実行時間のうち最も長くかかる実行時間を比較している。従って、各タスクのどちらが短い時間で実行できるかを確実に決定することができる。
【００８１】
（第３の実施形態）
次に、ロボットアーム１の制御方法の一実施形態について図１２の対象物を目標位置に移動する作業のフロー図を用いて説明する。本実施形態が第１の実施形態と異なるところは、対象物４をハンド部で把持した後に、対象物４を把持しながら、ひじあて部６を作用点として障害物７を退避する点にある。尚、第１の実施形態と同じ点については説明を省略する。
【００８２】
図１２に示すように、対象物４を目標位置４ａに移動するタスクＡが開始される。ステップＳ３０１は画像取得ステップである。中央制御部２０１がカメラ８に対して画像取得命令を出力する。そして、カメラ８は作業台３の周辺を斜め上からみた画像を撮影する。次のステップＳ３０２は対象物認識ステップである。画像信号８０１がカメラ８からオブジェクト認識部２０５に出力される。そして、オブジェクト認識部２０５は対象物４の位置、大きさ、姿勢を認識する。
【００８３】
次のステップＳ３０３は対象物認識したかを判断するステップである。オブジェクト認識部２０５は対象物４を認識できたか否かを判定する。オブジェクト認識部２０５が認識できなかった場合には、ステップＳ３１６に移行する。ステップＳ３１６はエラー処理ステップである。エラーメッセージ表示等のエラー処理を行なう。そして、タスクＡは終了する。
【００８４】
ステップＳ３０３でオブジェクト認識部２０５が対象物４を認識できたと判定した場合にはステップＳ３０４に移行する。ステップＳ３０４は対象物を目標位置へ移動するためのハンド優先軌道計画処理ステップである。ハンド優先軌道計画部２０７がアーム先端に備えられたハンド部５を使って対象物４を目標位置４ａに移動する軌道を計画する。
【００８５】
次のステップＳ３０５は対象物を把持するためのハンド部の動作計画処理ステップである。ハンド動作計画部２０３がハンド部５の動作計画を作成する処理を行う。次のステップＳ３０６はハンド部で対象物を把持可能かを判断するステップである。ステップＳ３０５の動作計画において対象物４をハンド部５が把持できるか否かを判定する。把持できないと判定された場合には、ステップＳ３１６に移行し、エラー処理の後タスクＡを終了する。一方、ステップＳ３０６において対象物４をハンド部５で把持できると判定された場合にはステップＳ３０７に移行する。
【００８６】
ステップＳ３０７は対象物を把持可能な位置まで、ハンド部を移動するステップである。ステップＳ３０４で計画した軌道計画及びステップＳ３０５で計画したハンド部の動作計画に従ってハンド制御部２０９及びアーム制御部２０６が対象物４を目標位置４ａまで移動する制御を行う。具体的には、ハンド優先軌道計画部２０７によって計画された関節角度または関節の角速度のパラメーターに応じてアーム制御部２０６を通じて関節１１，１２，１３に対応したアクチュエーター１１１，１２１，１３１を動かし、各関節１１，１２，１３の角度を制御する。この制御により、対象物４を把持できる位置までハンド部５を移動する。次のステップＳ３０８は対象物を把持するステップである。ハンド動作計画部２０３によって計画されたハンド部の動作計画に従ってハンド制御部２０９がアクチュエーター５０１を駆動する。これによりハンド部５が対象物４を把持する。
【００８７】
次のステップＳ３０９は対象物の現在位置から目標位置までの間に障害物ありかを判断するステップである。中央制御部２０１はハンド優先軌道計画部２０７が計画した軌道の途中に障害物７が位置するか否かを判定する。このとき、中央制御部２０１は、カメラ８が取得した画像を用いて判定する。軌道の途中に障害物７が存在しないと中央制御部２０１が判定した場合にはステップＳ３１０に移行する。一方、軌道の途中に障害物７が存在すると判定された場合はステップＳ３１２に移行して障害物７を退避させるタスクＢが開始される。
【００８８】
ステップＳ３１０は対象物を所定の高さまで上昇させ、目標位置まで移動するステップである。アーム制御部２０６が各関節１１，１２，１３の角度を制御することにより対象物４を把持したハンド部５を上昇させる。次に、アーム制御部２０６がアクチュエーター１１１，１２１，１３１を駆動して対象物４を目標位置４ａの上側まで移動する。次のステップＳ３１１は対象物を作業台まで下降させ、解放するステップである。アーム制御部２０６はハンド部５を下降させる。続いて、ハンド制御部２０９は目標位置４ａにて指部５ａの間を開くことにより対象物４を解放する。以上の動作により、タスクＡが終了する。
【００８９】
タスクＢのステップＳ３１２は障害物を退避するためのひじあて優先軌道計画処理ステップである。ひじあて優先軌道計画部２０８はひじあて部６を作用点として障害物７を退避目標位置７ａに移動する軌道計画処理を行なう。
【００９０】
次のステップＳ３１３は対象物及びアームを作業台に衝突させずに障害物を退避可能かを判断するステップである。中央制御部２０１は、対象物４とロボットアーム１を作業台３に衝突させることなく、障害物７を退避目標位置７ａまで退避可能かどうかを判定する。退避可能と判定した場合は、ステップＳ３１４に移行する。退避不可と判定した場合は、ステップＳ３１７に移行する。ステップＳ３１７はエラー処理ステップである。エラーメッセージ表示等のエラー処理を行なう。その後、タスクＢ及びタスクＡは終了する。
【００９１】
ステップＳ３１４はひじあて部を作用点とした、障害物の退避制御ステップである。アーム制御部２０６はアクチュエーター１１１，１２１，１３１を駆動することによりひじあて部６を作用点として障害物７を押して移動させる退避動作を行う。このとき、ステップＳ３１２で計画された軌道に従って、退避動作を行う。その後、タスクＢを終了してステップＳ３１５に移行する。
【００９２】
次のステップＳ３１５は対象物を目標位置へ移動するためのハンド優先軌道計画処理ステップである。ハンド優先軌道計画部２０７がアーム先端に備えられたハンド部５を使って対象物４を目標位置４ａに移動する軌道を計画する。次に、ステップＳ３１０に移行する。以降の処理は、障害物が存在しない場合の処理と同じ処理となる。
【００９３】
次のステップＳ３１０は対象物を所定の高さまで上昇させ、目標位置まで移動するステップである。アーム制御部２０６が各関節１１，１２，１３の角度を制御することにより対象物４を把持したハンド部５を上昇させる。次に、アーム制御部２０６がアクチュエーター１１１，１２１，１３１を駆動して対象物４を目標位置４ａの上側まで移動する。次のステップＳ３１１は対象物を作業台まで下降させ、解放するステップである。アーム制御部２０６はハンド部５を下降させる。続いて、ハンド制御部２０９は目標位置４ａにて指部５ａの間を開くことにより対象物４を解放する。以上の動作により、タスクＡが終了する。
【００９４】
上述したように、本実施形態によれば、以下の効果を有する。
（１）本実施形態によれば、対象物４を把持している途中で軌道上に障害物７を発見したとき、対象物４を把持しながら障害物７をひじあて部にて退避する制御を行っている。この方法は、一旦対象物４を解放した後にハンド部５を用いて障害物７を退避し、再度対象物４を把持する方法と比べて、少ない数のステップで対象物の移動を行うことが出来る。その結果、生産性よく作業を実行することができる。
【００９５】
（第４の実施形態）
次に、ロボットアーム１の制御方法の一実施形態について図１３の対象物を目標位置に移動する作業のフロー図を用いて説明する。本実施形態が第１の実施形態と異なるところは、ガイド角度制御部２１０がガイド部材２１の角度を制御する点にある。尚、第１の実施形態と同じ点については説明を省略する。
【００９６】
本実施形態においては、第１の実施形態のステップＳ１０１〜ステップＳ１１１、ステップＳ１１９〜ステップＳ１２１に対応するステップは同じであり説明を省略する。そして、障害物を退避する作業であるタスクＢのみを説明する。図１３に示すように、まず、障害物７を退避目標位置７ａに移動するタスクＢが開始されると、ステップＳ４０１が行われる。ステップＳ４０１は画像取得ステップである。画像入力部２０４がカメラ８に対して画像取得命令を出力する。そして、カメラ８は作業台３の周辺を斜め上からみた画像を撮影する。次のステップＳ４０２は障害物認識ステップである。画像信号８０１がカメラ８からオブジェクト認識部２０５に出力される。そして、オブジェクト認識部２０５は障害物７の位置、大きさ、姿勢を認識する。次のステップＳ４０３は障害物認識したかを判断するステップである。オブジェクト認識部２０５は障害物７を認識できたか否かを判定する。オブジェクト認識部２０５が認識できなかった場合には、タスクＢを終了する。障害物７を認識できたと判定された場合には、ステップＳ４０４に移行する。
【００９７】
ステップＳ４０４は障害物を退避位置へ移動するためのひじあて優先軌道計画処理ステップである。ひじあて優先軌道計画部２０８はひじあて部６を作用点として障害物７を退避目標位置７ａに移動する軌道計画処理を行なう。次のステップＳ４０５はひじあて部で対象物を退避可能かを判断するステップである。中央制御部２０１はひじあて部６を使って障害物７を退避する計画が立てられたか否かを判定する。その結果、退避する計画が立てられなかったと判定された場合は、ステップＳ４０８に移行する。ステップＳ４０８はエラー処理ステップである。エラーメッセージ表示等のエラー処理を行なう。その後、タスクＢは終了する。障害物７を退避する計画が立てられたと判定された場合は、ステップＳ４０６に移行する。
【００９８】
次のステップＳ４０６は障害物の大きさに応じて、ガイド部材２１の角度を制御するステップである。ステップＳ４０２で認識した障害物の大きさ、形状に従って、ガイド角度制御部２１０がひじあて部６に供えられたガイド部材２１の角度を制御する。
【００９９】
ここで、障害物７がひじあて部６に接触する面の幅に応じてガイド角度制御部２１０はガイド部材２１の角度を制御する。図３（ｃ）に示すように、障害物７の幅がひじあて部６の幅よりも広い場合はガイド部材２１が最も開いた状態にする。図３（ａ）に示すように、逆に障害物７の幅が狭い場合はガイド部材２１が閉じた状態にする。図３（ｂ）に示すように、障害物７の幅がそれらの中間の場合はガイド部材２１の角度も中間の状態となるように制御を行う。また、障害物７がひじあて部６に接触する面が十分広く、かつ曲面の場合は、ひじあて部６と障害物７が接触する面積ができるだけ広くなるよう、ガイド部材２１の角度を制御する。これにより、ひじあて部６の形状は障害物７が押圧される方向に移動する形状となる。
【０１００】
ガイド部材２１の角度を変更する制御は、ガイド角度制御部２１０がひじあて部６に備えられたアクチュエーター６０１を駆動することで実施される。尚、このガイド部材２１の角度制御は障害物７の姿勢がぶれて、計画した退避軌道から障害物７が外れてしまうことを防止するためにおこなわれる。一対のガイド部材２１のなす角度は図３に示した３パターンに限定されない。障害物７を規制する効果が得られる範囲で、一対のガイド部材２１のなす角度を制御しても良い。次のステップＳ４０７は障害物を退避するステップである。ステップＳ４０４にて計画した軌道に従って、アーム制御部２０６が各関節１１，１２，１３を制御し、障害物７を退避する制御を行う。以上で、タスクＢが終了する。
【０１０１】
上述したように、本実施形態によれば、以下の効果を有する。
（１）本実施形態によれば、障害物７の形状や大きさに応じて、ひじあて部６に備えられたガイド部材２１の角度を制御するようにした。これにより、障害物７がひじあて部６から外れるような動きをガイド部材２１によって抑えることができる。また、障害物７とひじあて部６の接触面積が増加するようにガイド角度制御部２１０がガイド部材２１の角度を制御している。これにより、ひじあて部６から障害物７が離れてしまう確率を下げることができる。その結果、作業を中断したり、同一の障害物７を繰り返して退避する作業を行うことを防止することができる為、タスクを効率よく実行できる。
【０１０２】
尚、本発明は上述した実施形態に限定されず、上述した実施形態に種々の変更や改良等を加えることが可能である。変形例を以下に述べる。
【０１０３】
（変形例１）
第１の実施形態では、障害物７を退避する際の作用点として、ひじあて部６を用いた。障害物７を退避する際の作用点はこの場所に限らない。ハンド部５以外のロボットアームの任意の点を作用点として、障害物７を押圧してもよい。特に、平面をもつ障害物７に対しては、連結部１６，１７等の側面を作用点とすると、障害物７との接触面積を広くとることができるため、障害物の姿勢を安定させることができる。また、連結部１６，１７等の側面を作用点とした場合、障害物７の平面の法線方向に力がかかるように押圧することで、連結部１６，１７等の側面で滑りを抑えた移動が可能となる。つまり、ひじあて部６を備えないロボットアームでも、アームの中間部を作用点として物体を押圧することで、物体を移動するタスクを効率よく実行できる。この内容は第２の実施形態及び第３の実施形態にも適用することができる。
【０１０４】
（変形例２）
第１の実施形態では、タスクの開始直後にカメラ８で撮影した１つの画像に基づいて、タスクＡ及びタスクＢの実行可否を判断した。撮影するタイミングはこれに限らない。ハンド部５で対象物４を把持、移動する作業を進めながら、カメラ８で撮影した画像に基づいて、随時把持動作や軌道計画を修正するステップを有するフローとしても良い。対象物４や障害物７の変化に応じて対応することができる。
【０１０５】
（変形例３）
第１の実施形態では、ひじあて部６は関節１３に設置されたが、他の場所に設置しても良い。さらに、２つ以上のひじあて部６を設置してもよい。ロボットアーム１の動作範囲や障害物７の位置する場所に合わせて設置してもよい。障害物７を退避させやすくすることができる。
【０１０６】
（変形例４）
第１の実施形態では、ガイド部材２１は１対の形態としたが、ガイド部材の１方を固定にして他方のみ可動させるようにしても良い。ガイド部材の制御を容易にすることができる。また、ガイド部材２１は３つ以上の部材からなっていても良い。ガイド部材２１は退避させる障害物７の形状にあわせた形状や数の構成にしても良い。これにより、障害物７を退避させやすくすることができる。
【符号の説明】
【０１０７】
１…ロボットアーム、４…物体としての対象物、５…ハンド部、６…ひじあて部、１１，１２，１３…関節、１４，１５，１６，１７…連結部、２１…ガイド部材、２２…物体、６０１…アクチュエーター。
【図１】
0005873629.tif 000002
【図２】
0005873629.tif 000003
【図３】
0005873629.tif 000004
【図４】
0005873629.tif 000005
【図５】
0005873629.tif 000006
【図６】
0005873629.tif 000007
【図７】
0005873629.tif 000008
【図８】
0005873629.tif 000009
【図９】
0005873629.tif 000010
【図１０】
0005873629.tif 000011
【図１１】
0005873629.tif 000012
【図１２】
0005873629.tif 000013
【図１３】
0005873629.tif 000014