(57)【要約】【課題】所望の領域に対して作業を行わせるためにロボットを設置する位置が制限されてしまうことを抑制することができるロボットを提供すること。【解決手段】基台と、前記基台に、第１回動軸周りに回動可能に設けられたマニピュレーターと、を備え、前記マニピュレーターは、Ａ回動軸周りに回動可能なＡアームと、前記Ａアームに対して、Ｂ回動軸周りに回動可能に設けられたＢアームと、を有し、前記Ａアームと前記Ｂアームとは、前記Ｂ回動軸の軸方向から見て、重なる第１状態となることが可能であり、前記マニピュレーターの先端は、前記第1回動軸に直交する方向から見て、前記基台の設置面よりも下の第１位置から、前記第1状態を経て、前記Ａ回動軸よりも上の第２位置へ移動することが可能である、ロボット。【選択図】図９
2019051578.tif 000002
【特許請求の範囲】
【請求項１】
基台と、
前記基台に、第１回動軸周りに回動可能に設けられたマニピュレーターと、
を備え、
前記マニピュレーターは、
Ａ回動軸周りに回動可能なＡアームと、
前記Ａアームに対して、Ｂ回動軸周りに回動可能に設けられたＢアームと、
を有し、
前記Ａアームと前記Ｂアームとは、前記Ｂ回動軸の軸方向から見て、重なる第１状態となることが可能であり、
前記マニピュレーターの先端は、
前記第１回動軸に直交する方向から見て、前記基台の設置面よりも下の第１位置から、前記第１状態を経て、前記Ａ回動軸よりも上の第２位置へ移動することが可能である、
ロボット。
【請求項２】
前記第２位置は、前記第１回動軸に直交する方向から見た場合、前記Ｂ回動軸よりも上にある、
請求項１に記載のロボット。
【請求項３】
前記Ａ回動軸は、前記第１回動軸と交差しない、
請求項１又は２に記載のロボット。
【請求項４】
前記Ａアームは、第２アームである、
請求項１から３のうちいずれか一項に記載のロボット。
【請求項５】
前記Ａアームの回動範囲は、３６０°以上である、
請求項１から４のうちいずれか一項に記載のロボット。
【請求項６】
前記ロボットの動作においてＡ回動軸とＢ回動軸との相対的な位置関係を変更させるか否かを示す情報に基づいて動作する、
請求項１から５のうちいずれか一項に記載のロボット。
【請求項７】
請求項１から６のうちいずれか一項に記載のロボットと、
前記ロボットを制御するロボット制御装置と、
を備えるロボットシステム。
【請求項８】
基台と、前記基台に第１回動軸周りに回動可能に設けられたマニピュレーターと、を有するロボットを制御するロボット制御装置であって、
プロセッサーを備え、
前記マニピュレーターは、
Ａ回動軸周りに回動可能なＡアームと、
前記Ａアームに対して、Ｂ回動軸周りに回動可能に設けられたＢアームと、
を有し、
前記Ａアームと前記Ｂアームとは、前記Ｂ回動軸の軸方向から見て、重なる第１状態となることが可能であり、
前記プロセッサーは、
前記マニピュレーターの先端を、前記第１回動軸に直交する方向から見て、前記基台の設置面よりも下の第１位置から、前記第１状態を経て、前記Ａ回動軸よりも上の第２位置へ移動させる指令を実行するように構成されている、
ロボット制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ロボット、ロボットシステム、及びロボット制御装置に関する。
【背景技術】
【０００２】
ロボットに所定の作業を行わせる技術の研究や開発が行われている。
【０００３】
これに関し、基台と、前記基台に設けられ、第１回動軸周りに回動可能な第１アームと、前記第１アームに設けられ、前記第１回動軸とは軸方向が異なる第２回動軸周りに回動可能な第２アームと、を含むロボットアームと、を備えるロボットであって、前記第２回動軸の軸方向から見て、前記第１アームと前記第２アームとが重なることが可能であり、前記ロボットアームまたは前記ロボットアームに設けられたエンドエフェクターにより対象物を載置可能な載置部の高さ方向の長さは、前記載置部と前記第１回動軸との距離の３．２倍以上であるロボットが知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１７−８７２９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、このようなロボットは、基台が設置された設置面よりも低い領域にエンドエフェクターを近づけた場合、ロボットアームが基台に干渉してしまう。このため、例えば、ロボット２０が作業を行う対象物が当該領域に載置されている場合、当該ロボットは、ユーザーによる補助、他の装置による補助等を必要とせずに、当該対象物に対する作業を行うことが困難であった。また、当該ロボットと異なる単腕ロボットの中には、当該対象物に対してロボットアームを基台と干渉させずに作業を行うことができるものも存在する。しかし、このような単腕ロボットは、単腕ロボットの周囲の物体と単腕ロボットとの間を狭くした場合、設置面よりも高い領域からエンドエフェクターを当該対象物に近づける際にロボットアームと当該物体とが干渉してしまう場合があり、当該間を狭くすることが困難な場合があった。このような事情から、これらのロボットは、所望の領域に対して作業を行わせるためにロボットを設置する位置が制限されてしまう場合があった。
【課題を解決するための手段】
【０００６】
上記課題の少なくとも一つを解決するために本発明の一態様は、基台と、前記基台に、第１回動軸周りに回動可能に設けられたマニピュレーターと、を備え、前記マニピュレーターは、Ａ回動軸周りに回動可能なＡアームと、前記Ａアームに対して、Ｂ回動軸周りに回動可能に設けられたＢアームと、を有し、前記Ａアームと前記Ｂアームとは、前記Ｂ回動軸の軸方向から見て、重なる第１状態となることが可能であり、前記マニピュレーターの先端は、前記第１回動軸に直交する方向から見て、前記基台の設置面よりも下の第１位置から、前記第１状態を経て、前記Ａ回動軸よりも上の第２位置へ移動することが可能である、ロボットである。
これにより、ロボットは、周囲の物体との空間を狭くすることができる。
【０００７】
また、本発明の他の態様は、ロボットにおいて、前記第２位置は、前記第１回動軸に直交する方向から見た場合、前記Ｂ回動軸よりも上にある、構成が用いられてもよい。
これにより、ロボットは、周囲の物体との空間を狭くすることができるとともに、より広い領域に対して作業を行うことができる。
【０００８】
また、本発明の他の態様は、ロボットにおいて、前記Ａ回動軸は、前記第１回動軸と交差しない、構成が用いられてもよい。
これにより、ロボットは、マニピュレーターと基台とが干渉してしまうことを抑制しながら、周囲の物体との空間を狭くすることができる。
【０００９】
また、本発明の他の態様は、ロボットにおいて、前記Ａアームは、第２アームである、構成が用いられてもよい。
これにより、ロボットは、第２アームとＢアームが第１状態となることができることにより、周囲の物体との空間を狭くすることができる。
【００１０】
また、本発明の他の態様は、ロボットにおいて、前記Ａアームの回動範囲は、３６０°以上である、構成が用いられてもよい。
これにより、ロボットは、Ａアームを回動させることによりＡアームとＢアームとを第１状態にすることができることにより、周囲の物体との空間を狭くすることができる。
【００１１】
また、本発明の他の態様は、ロボットにおいて、前記ロボットの動作においてＡ回動軸とＢ回動軸との相対的な位置関係を変更させるか否かを示す情報に基づいて動作する、構成が用いられてもよい。
これにより、ロボットは、ロボットの動作においてＡ回動軸とＢ回動軸との相対的な位置関係を変更させるか否かを示す情報に基づいて、周囲の物体との空間を狭くすることができる。
【００１２】
また、本発明の他の態様は、上記に記載のロボットと、前記ロボットを制御するロボット制御装置と、を備えるロボットシステムである。
これにより、ロボットシステムは、ロボットの周囲の物体とロボットとの空間を狭くすることができる。
【００１３】
また、本発明の他の態様は、基台と、前記基台に第１回動軸周りに回動可能に設けられたマニピュレーターと、を有するロボットを制御するロボット制御装置であって、プロセッサーを備え、前記マニピュレーターは、Ａ回動軸周りに回動可能なＡアームと、前記Ａアームに対して、Ｂ回動軸周りに回動可能に設けられたＢアームと、を有し、前記Ａアームと前記Ｂアームとは、前記Ｂ回動軸の軸方向から見て、重なる第１状態となることが可能であり、前記プロセッサーは、前記マニピュレーターの先端を、前記第１回動軸に直交する方向から見て、前記基台の設置面よりも下の第１位置から、前記第１状態を経て、前記Ａ回動軸よりも上の第２位置へ移動させる指令を実行するように構成されている、ロボット制御装置である。
これにより、ロボット制御装置は、ロボットの周囲の物体とロボットとの空間を狭くすることができる。
【図面の簡単な説明】
【００１４】
【図１】実施形態に係るロボットシステム１の構成の一例を示す図である。
【図２】ロボット２０の構成の一例を示す図である。
【図３】第２回動軸ＡＸ２がロボット座標系ＲＣにおけるＸ軸と平行な場合であり、且つ、関節Ｊ２が関節Ｊ１よりも当該Ｘ軸の負方向側に位置している場合において、ロボット座標系ＲＣにおけるＹ軸の負方向に向かって見たロボット２０の一例を示す図である。
【図４】図３に示したロボット２０をロボット座標系ＲＣにおけるＸ軸の負方向に向かって見た場合のロボット２０の一例を示す図である。
【図５】ロボット２０が関節Ｊ３を正又は負それぞれの方向に回動させた場合におけるマニピュレーターＭと基台Ｂとの干渉の起こり易さの違いを示す図である。
【図６】ロボット２０が行うことが可能な動作のうちの第１状態を経る動作の一例を示す図である。
【図７】ロボット制御装置３０が有する６つの動作モードのそれぞれを例示する図である。
【図８】ロボット制御装置３０の機能構成の一例を示す図である。
【図９】ロボット制御装置３０が行う処理の流れの一例を示すフローチャートである。
【図１０】複数の情報処理装置によってロボット制御装置３０が構成される場合におけるロボット制御装置３０のハードウェア構成の一例である。
【発明を実施するための形態】
【００１５】
＜実施形態＞
以下、本発明の実施形態について、図面を参照して説明する。
【００１６】
＜ロボットシステムの構成＞
まず、図１〜図６を参照し、ロボットシステム１の構成について説明する。図１は、実施形態に係るロボットシステム１の構成の一例を示す図である。ロボットシステム１は、例えば、ロボット２０を備える。なお、ロボットシステム１は、これらに加えて、撮像部（例えば、ロボット２０と別体のカメラ、ロボット２０に行わせたい所望の動作をロボット２０に教示する教示装置）等の他の装置を備える構成であってもよい。また、図２は、ロボット２０の構成の一例を示す図である。
【００１７】
以下では、説明の便宜上、重力方向（鉛直下方向）を下方向又は下と称し、下方向と反対の方向を上方向又は上と称して説明する。以下では、一例として、下方向が、ロボット２０のロボット座標系ＲＣにおけるＺ軸の負方向と一致する場合について説明する。なお、下方向は、当該負方向と一致しない構成であってもよい。
【００１８】
図１に示した例では、ロボットシステム１は、部屋Ｒ内に設置されている。部屋Ｒは、例えば、４つの壁面と、天井面と、床面とを有する直方体形状の部屋である。当該４つの壁面のうちの３つの壁面である壁面Ｍ１〜壁面Ｍ３のそれぞれには、棚ＬＣが設置されている。以下では、壁面Ｍ１に設置された棚ＬＣを棚ＬＣ１と称し、壁面Ｍ２に設置された棚ＬＣを棚ＬＣ２と称し、壁面Ｍ３に設置された棚ＬＣを棚ＬＣ３と称して説明する。ここで、当該天井面から当該床面に向かって部屋Ｒ内を見た場合、壁面Ｍ１〜壁面Ｍ３のそれぞれは、時計回りに壁面Ｍ１、壁面Ｍ２、壁面Ｍ３の順に並んでいる。また、当該床面の中央には、ロボット２０を設置する設置台ＢＳが当該床面に対して動かないように設置されている。設置台ＢＳは、内部が空洞であり、直方体形状である。なお、部屋Ｒは、直方体形状の部屋に代えて、他の形状の部屋であってもよい。
【００１９】
ロボット２０は、基台Ｂと、基台Ｂにより支持された可動部Ａと、ロボット制御装置３０を備える単腕ロボットである。単腕ロボットは、この一例における可動部Ａのような１本の腕を備えるロボットである。なお、ロボット２０は、単腕ロボットに代えて、複腕ロボットであってもよい。複腕ロボットは、２本以上の腕（例えば、２本以上の可動部Ａ）を備えるロボットである。なお、複腕ロボットのうち、２本の腕を備えるロボットは、双腕ロボットとも称される。すなわち、ロボット２０は、２本の腕を備える双腕ロボットであってもよく、３本以上の腕（例えば、３本以上の可動部Ａ）を備える複腕ロボットであってもよい。
【００２０】
基台Ｂの形状は、例えば、長手方向が上下方向に沿ったほぼ直方体形状である。基台Ｂは、中空となっている。基台Ｂが有する面のうちの１つには、フランジＢＦが設けられている。また、フランジＢＦには、可動部Ａが設けられている。すなわち、基台Ｂは、フランジＢＦによって可動部Ａを支持している。なお、基台Ｂの形状は、このような形状に代えて、可動部Ａを支持可能な形状であれば、立方体形状、円柱形状、多面体形状等の他の形状であってもよい。また、基台Ｂは、フランジＢＦが設けられていない構成であってもよい。
【００２１】
以下では、説明の便宜上、基台Ｂが有する面のうちフランジＢＦが設けられている面を上面と称し、基台Ｂが有する面のうちフランジＢＦが設けられている面と反対側の面を下面と称して説明する。基台Ｂは、例えば、前述の設置台ＢＳの上面に設置される。以下では、一例として、部屋Ｒの床面及び当該上面が、ロボット座標系ＲＣにおけるＸ軸及びＹ軸によって張られる平面であるＸＹ平面と平行である場合について説明する。また、以下では、設置台ＢＳの上面が、当該床面よりも上側に位置している場合について説明する。なお、部屋Ｒの床面と当該上面とのうちいずれか一方又は両方は、当該ＸＹ平面と非平行であってもよい。設置台ＢＳの上面は、設置面の一例である。
【００２２】
ここで、設置台ＢＳの上面には、上下方向に貫通し、基台Ｂを設置台ＢＳの内部の空間に挿入可能な図示しない開口部が形成されている。当該開口部は、フランジＢＦよりも小さい。ユーザーは、フランジＢＦと設置台ＢＳとを複数本のボルトによって固定することにより、基台Ｂを設置台ＢＳに設置する（取り付ける）ことができる。すなわち、フランジＢＦと設置台ＢＳのそれぞれには、複数のボルトのそれぞれが挿入される複数の貫通孔が形成されている。なお、フランジＢＦと設置台ＢＳとの固定方法は、他の方法であってもよい。この場合、設置台ＢＳには、当該開口部が形成されていない構成であってもよい。また、ロボット２０が設置される面は、設置台ＢＳの上面に代えて、部屋Ｒの床面、部屋Ｒの壁面、部屋Ｒの天井面、屋外の床面、屋外の壁面等の他の面であってもよい。以下では、一例として、ロボット座標系ＲＣにおけるＸ軸が壁面Ｍ１と平行になり、ロボット座標系ＲＣにおけるＹ軸が壁面Ｍ２と平行になるようにロボット２０が当該上面に接地されている場合について説明する。なお、当該Ｘ軸は、壁面Ｍ１と非平行であってもよい（この場合、当該Ｙ軸は、壁面Ｍ２と非平行である）。
【００２３】
可動部Ａは、マニピュレーターＭと、エンドエフェクターＥを備える。
【００２４】
マニピュレーターＭは、６個のアーム（リンク）である第１アームＬ１〜第６アームＬ６と、６つの関節である関節Ｊ１〜関節Ｊ６を備える。基台Ｂと第１アームＬ１は、関節Ｊ１によって連結される。第１アームＬ１と第２アームＬ２は、関節Ｊ２によって連結される。第２アームＬ２と第３アームＬ３は、関節Ｊ３によって連結される。第３アームＬ３と第４アームＬ４は、関節Ｊ４によって連結される。第４アームＬ４と第５アームＬ５は、関節Ｊ５によって連結される。第５アームＬ５と第６アームＬ６は、関節Ｊ６によって連結される。すなわち、マニピュレーターＭを備える可動部Ａは、６軸垂直多関節型のアームである。なお、可動部Ａは、５軸以下の自由度で動作する構成であってもよく、７軸以上の自由度で動作する構成であってもよい。なお、第２アームＬ２は、Ａアームの一例である。この場合、第３アームＬ３は、Ｂアームの一例である。
【００２５】
関節Ｊ１は、下に向かって関節Ｊ１を見た場合の反時計回りを正、当該場合の時計回りを負とし、関節Ｊ１の回動における基準となる位置から正負それぞれの方向に３６０°以上回動可能な関節である。以下では、一例として、関節Ｊ１が、当該正負それぞれの方向に３６０°回動可能な関節である場合について説明する。なお、関節Ｊ１は、これに代えて、３６０°未満回動可能な関節であってもよい。
【００２６】
関節Ｊ２は、第２回動軸ＡＸ２に沿った２つの方向のうち第３アームＬ３から第２アームＬ２に向かう方向に向かって関節Ｊ２を見た場合の反時計回りを正、当該場合の時計回りを負とし、関節Ｊ２の回動における基準となる位置から正負それぞれの方向に３６０°以上回動可能な関節である。以下では、一例として、関節Ｊ２が、当該正負それぞれの方向に３６０°回動可能な関節である場合について説明する。なお、関節Ｊ２は、これに代えて、３６０°未満回動可能な関節であってもよい。
【００２７】
関節Ｊ３は、第３回動軸ＡＸ３に沿った２つの方向のうち第３アームＬ３から第２アームＬ２に向かう方向に向かって関節Ｊ３を見た場合の反時計回りを正、当該場合の時計回りを負とし、関節Ｊ３の回動における基準となる位置から正負それぞれの方向に３６０°以上回動可能な関節である。以下では、一例として、関節Ｊ３が、当該正負それぞれの方向に３６０°回動可能な関節である場合について説明する。なお、関節Ｊ３は、これに代えて、３６０°未満回動可能な関節であってもよい。
【００２８】
関節Ｊ４は、第４回動軸ＡＸ４に沿った２つの方向のうち第４アームＬ４から第３アームＬ３に向かう方向に向かって関節Ｊ４を見た場合の反時計回りを正、当該場合の時計回りを負とし、関節Ｊ４の回動における基準となる位置から正負それぞれの方向に３６０°以上回動可能な関節である。以下では、一例として、関節Ｊ４が、当該正負それぞれの方向に３６０°回動可能な関節である場合について説明する。なお、関節Ｊ４は、これに代えて、３６０°未満回動可能な関節であってもよい。
【００２９】
関節Ｊ５は、第３回動軸ＡＸ３に沿った２つの方向のうち第３アームＬ３から第２アームＬ２に向かう方向に向かって関節Ｊ５を見た場合の反時計回りを正、当該場合の時計回りを負とし、関節Ｊ５の回動における基準となる位置から正負それぞれの方向に１２５°回動可能な関節である。なお、関節Ｊ５は、当該正負それぞれの方向に１２５°より小さい角度回動可能な関節であってもよく、当該正負それぞれの方向に１２５°より大きい角度回動可能な関節であってもよい。
【００３０】
関節Ｊ６は、第６回動軸ＡＸ６に沿った２つの方向のうちエンドエフェクターＥから第６アームＬ６に向かう方向に向かって関節Ｊ６を見た場合の反時計回りを正、当該場合の時計回りを負とし、関節Ｊ６の回動における基準となる位置から正負それぞれの方向に３６０°以上回動可能な関節である。以下では、一例として、関節Ｊ６が、当該正負それぞれの方向に３６０°回動可能な関節である場合について説明する。なお、関節Ｊ６は、これに代えて、３６０°未満回動可能な関節であってもよい。
【００３１】
なお、図１及び図２のそれぞれでは、図を簡略化するため、関節Ｊ１〜関節Ｊ６のそれぞれが備えているアクチュエーター、エンコーダー、減速機、ブレーキ等の構成を省略している。当該ブレーキは、電磁ブレーキであってもよく、メカニカルブレーキであってもよい。また、関節Ｊ１〜関節Ｊ６のうちの一部又は全部は、減速機を備えない構成であってもよい。また、関節Ｊ１〜関節Ｊ６のうちの一部又は全部は、ブレーキを備えない構成であってもよい。
【００３２】
第１アームＬ１は、関節Ｊ１の回動軸である第１回動軸ＡＸ１（例えば、図３参照）周りに回動可能である。第２アームＬ２は、関節Ｊ２の回動軸である第２回動軸ＡＸ２（例えば、図３参照）周りに回動可能である。第３アームＬ３は、関節Ｊ３の回動軸である第３回動軸ＡＸ３（例えば、図３参照）周りに回動可能である。第４アームＬ４は、関節Ｊ４の回動軸である第４回動軸ＡＸ４（例えば、図３参照）周りに回動可能である。第５アームＬ５は、関節Ｊ５の回動軸である第５回動軸ＡＸ５（例えば、図３参照）周りに回動可能である。第６アームＬ６は、関節Ｊ６の回動軸である第６回動軸ＡＸ６（例えば、図３参照）周りに回動可能である。
【００３３】
ここで、図３〜図６を参照し、マニピュレーターＭについてより詳しく説明する。図３は、第２回動軸ＡＸ２がロボット座標系ＲＣにおけるＸ軸と平行な場合であり、且つ、関節Ｊ２が関節Ｊ１よりも当該Ｘ軸の負方向側に位置している場合において、ロボット座標系ＲＣにおけるＹ軸の負方向に向かって見たロボット２０の一例を示す図である。図４は、図３に示したロボット２０をロボット座標系ＲＣにおけるＸ軸の負方向に向かって見た場合のロボット２０の一例を示す図である。
【００３４】
図３に示したように、基台Ｂの上面から基台Ｂの下面に向かう方向が下方向と一致しているため、関節Ｊ２は、関節Ｊ１よりも上側に位置している。
【００３５】
また、関節Ｊ２は、第１回動軸ＡＸ１の延長上に位置していない。これは、図３に示したように、第１アームＬ１の形状が、ロボット座標系ＲＣにおけるＹ軸の負方向に向かってロボット２０を見た場合において、屈曲した形状であるためである。この一例において、第１アームＬ１の形状は、ロボット座標系ＲＣにおけるＹ軸の負方向に向かってロボット２０を見た場合において、丸みを帯びてほぼＬ字型に湾曲した形状である。具体的には、第１アームＬ１は、４つの部位である部位Ｌ１１〜部位Ｌ１４によって構成されている。部位Ｌ１１は、図３において、第１アームＬ１を構成する４つの部位のうち、基台Ｂから第１回動軸ＡＸ１に沿って上方向に延伸している部位のことである。部位Ｌ１２は、当該４つの部位のうち、部位Ｌ１１の上端からロボット座標系ＲＣにおけるＸ軸の負方向に延伸する部位のことである。部位Ｌ１３は、当該４つの部位のうち、部位Ｌ１２の端部のうち部位Ｌ１１と反対側の端部から上方向に延伸している部位のことである。部位Ｌ１４は、当該４つの部位のうち、部位Ｌ１３の端部のうち部位Ｌ１２と反対側の端部から当該Ｘ軸の正方向に延伸する部位のことである。ここで、部位Ｌ１１〜部位Ｌ１４は、一体として第１アームＬ１を構成してもよく、別体として第１アームＬ１を構成してもよい。また、図３において、部位Ｌ１２と部位Ｌ１３は、ロボット座標系ＲＣにおけるＹ軸の負方向に向かってロボット２０を見た場合、ほぼ直交している。
【００３６】
また、第２回動軸ＡＸ２は、第１回動軸ＡＸ１と交差しない。これは、図４に示したように、第１アームＬ１の形状が、ロボット座標系ＲＣにおけるＸ軸の負方向に向かってロボット２０を見た場合において、当該Ｙ軸の負方向に向かって延伸している部分を有しているからである。図４に示した例では、第１アームＬ１の形状は、当該場合において、丸みを帯びたほぼ直角三角形の形状であるためである。そして、関節Ｊ２は、当該部分に設けられている。このため、図４に示した例では、当該場合において、第２回動軸ＡＸ２は、ロボット座標系ＲＣにおけるＸ軸の正方向に向かって第１回動軸ＡＸ１から距離ＯＦ離れている。これにより、ロボット２０は、前述した関節Ｊ３の正の方向に関節Ｊ３を回動させて第３回動軸ＡＸ３周りにおいて第３アームＬ３を回動させた場合において、マニピュレーターＭと基台Ｂとが干渉してしまうことを抑制することができる。その結果、ロボット２０は、前述した関節Ｊ３の負の方向に関節Ｊ３を回動させて第３回動軸ＡＸ３周りにおいて第３アームＬ３を回動させた場合、マニピュレーターＭと基台Ｂとが干渉しやすくなっている。図５は、ロボット２０が関節Ｊ３を正又は負それぞれの方向に回動させた場合におけるマニピュレーターＭと基台Ｂとの干渉の起こり易さの違いを示す図である。図５における左図に示したように、ロボット２０は、関節Ｊ３の負の方向に関節Ｊ３を回動させて第３回動軸ＡＸ３周りにおいて第３アームＬ３を回動させた場合、関節Ｊ６の重心の位置を基台Ｂよりも下側に位置させることができている。すなわち、当該場合、当該左図では、ロボット２０が、マニピュレーターＭと基台Ｂとが干渉してしまうことを抑制することができていることが分かる。一方、図５における右図に示したように、ロボット２０は、関節Ｊ３の正の方向に関節Ｊ３を回動させて第３回動軸ＡＸ３周りにおいて第３アームＬ３を回動させた場合、関節Ｊ６の重心の位置を基台Ｂよりも下側に位置させることができていない。すなわち、当該場合、当該右図では、ロボット２０が、マニピュレーターＭと基台Ｂとが干渉し易くなっていることが分かる。
【００３７】
図３及び図４に戻る。第２アームＬ２の形状は、長手形状である。第２アームＬ２は、第１アームＬ１の先端部、すなわち、部位Ｌ１４の端部のうち部位Ｌ１３と反対側の端部に接続されている。
【００３８】
第３アームＬ３の形状は、長手形状である。第３アームＬ３は、第２アームＬ２の端部のうち第１アームＬ１と接続されている端部と反対側の端部に接続されている。
【００３９】
第４アームＬ４は、第３アームＬ３の先端部、すなわち、第３アームＬ３の端部のうち第２アームＬ２が接続されている端部と反対側の端部に接続されている。第４アームＬ４には、互いに対向する一対の支持部である支持部Ｌ４１及び支持部Ｌ４２が形成されている。支持部Ｌ４１及び支持部Ｌ４２は、第４アームＬ４の第５アームＬ５との接続に用いられる。すなわち、第４アームＬ４は、第５アームＬ５を支持部Ｌ４１及び支持部Ｌ４２の間に位置させ、支持部Ｌ４１及び支持部Ｌ４２によって第５アームＬ５に接続されている。なお、第４アームＬ４は、これに限られず、１つの支持部によって第５アームＬ５を支持する構成（片持ち）であってもよく、３つ以上の支持部によって第５アームＬ５を支持する構成であってもよい。
【００４０】
第５アームＬ５は、前述したように、支持部Ｌ４１及び支持部Ｌ４２の間に位置し、支持部Ｌ４１及び支持部Ｌ４２に接続される。
【００４１】
第６アームＬ６の形状は、平板形状である。すなわち、第６アームＬ６は、フランジである。第６アームＬ６は、第５アームＬ５の端部のうち第４アームＬ４と反対側の端部に接続されている。また、第６アームＬ６には、当該端部にエンドエフェクターＥが接続される。
【００４２】
また、この一例において、マニピュレーターＭが備える６つの関節それぞれの回動軸のうち第２回動軸ＡＸ２と第３回動軸ＡＸ３とは、互いに平行である。なお、第２回動軸ＡＸ２と第３回動軸ＡＸ３とは、互いに非平行であってもよい。
【００４３】
ここで、マニピュレーターＭでは、第２回動軸ＡＸ２の軸方向から見て、第１アームＬ１と第２アームＬ２とが重なることが可能である。また、マニピュレーターＭでは、第２回動軸ＡＸ２の軸方向から見て、第２アームＬ２と第３アームＬ３とが重なることが可能である。なお、本実施形態において、ある２つのアームをある方向から見た場合に当該２つのアームが重なるとは、当該２つのアームのうちの一方のアームが他方のアームに重なっている面積の割合が所定割合以上であることを示す。所定割合は、例えば、９割であるが、これに限られず、他の割合であってもよい。
【００４４】
また、マニピュレーターＭは、マニピュレーターＭの状態を、関節Ｊ２を回動させることにより、第２アームＬ２と第３アームＬ３とが重なる状態である第１状態にすることができる。すなわち、図３及び図４に示したマニピュレーターＭの状態は、第１状態の一例である。
【００４５】
マニピュレーターＭの状態を第１状態にすることができる理由は、第３アームＬ３が、関節Ｊ２の回動によって第２アームＬ２と干渉しない形状及び大きさに形成されているためである。例えば、マニピュレーターＭの状態が第１状態である場合、第１回動軸ＡＸ１に沿った方向において第２アームＬ２の長さは、第３アームＬ３の長さよりも長い。
【００４６】
マニピュレーターＭの状態を第１状態にすることができるため、ロボット２０は、第１状態を経る動作を行うことが可能である。図６は、ロボット２０が行うことが可能な動作のうちの第１状態を経る動作の一例を示す図である。図６に示した点Ｐ１は、第１位置を示す。第１位置は、第１回動軸ＡＸ１に直交する方向から見て、基台Ｂの設置された設置面である設置台ＢＳの上面よりも下の位置であってエンドエフェクターＥが届く位置であれば、如何なる位置であってもよい。また、図６に示した点Ｐ２は、第２位置を示す。第２位置は、第１回動軸ＡＸ１に直交する方向から見て、第２回動軸ＡＸ２よりも上の位置であってエンドエフェクターＥが届く位置であれば如何なる位置であってもよい。図６に示した例では、第１位置のロボット座標系ＲＣにおけるＸ軸座標及びＹ軸座標は、第２位置のロボット座標系ＲＣにおけるＸ軸座標及びＹ軸座標と一致している。すなわち、図６に示した動作では、ロボット２０は、第１状態を経ることにより、エンドエフェクターＥの位置（例えば、エンドエフェクターＥの重心の位置によって表される）を、第１位置から第２位置（この一例において、下から上）へほぼ直線に沿って移動させることができる。その結果、ロボット２０は、ロボット２０の一部が他の物体と干渉しないようにするために設ける空間を小さくすることができる。すなわち、ロボット２０は、周囲の物体との空間を狭くすることができる。
【００４７】
図２に戻る。マニピュレーターＭが備える関節Ｊ１〜関節Ｊ６のそれぞれに備えられたアクチュエーターは、ケーブルによってロボット制御装置３０と通信可能に接続されている。これにより、当該アクチュエーターは、ロボット制御装置３０から取得される制御信号に基づいて、マニピュレーターＭを動作させる。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ（Universal  Serial  Bus）等の規格によって行われる。また、当該アクチュエーターのうちの一部又は全部は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【００４８】
エンドエフェクターＥは、物体を保持するエンドエフェクターである。この一例において、エンドエフェクターＥは、指部を備え、当該指部によって物体を挟んで持つことにより当該物体を保持する。なお、エンドエフェクターＥは、これに代えて、空気の吸引、磁力、他の治具等によって物体を持ち上げることにより当該物体を保持する構成であってもよい。なお、この一例において、保持するとは、物体を持ち上げることが可能な状態にすることを意味する。
【００４９】
エンドエフェクターＥは、ケーブルによってロボット制御装置３０と通信可能に接続されている。これにより、エンドエフェクターＥは、ロボット制御装置３０から取得される制御信号に基づく動作を行う。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。また、エンドエフェクターＥは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【００５０】
ロボット制御装置３０は、少なくとも１つのプロセッサーと、少なくとも１つのメモリーとによって構成される。ロボット制御装置３０において、当該少なくとも１つのプロセッサーは、１つの情報処理装置に備えられる構成であってもよく、複数の情報処理装置に分散されて備えられている構成であってもよい。また、ロボット制御装置３０において、当該少なくとも１つのメモリーは、１つの情報処理装置に備えられる構成であってもよく、複数の情報処理装置に分散されて備えられている構成であってもよい。
【００５１】
図１に示した例では、ロボット制御装置３０は、情報処理装置ＰＣ１に備えられた１つのプロセッサーであるプロセッサー３１と、情報処理装置ＰＣ１に備えられた１つのメモリーであるメモリー３２とによって構成されている。なお、情報処理装置ＰＣ１は、プロセッサー３１に加えて、他のプロセッサーを備える構成であってもよく、メモリー３２に加えて、他のメモリーを備える構成であってもよい。
【００５２】
情報処理装置ＰＣ１は、例えば、ワークステーション、デスクトップＰＣ（Personal  Computer）、ノートＰＣ、タブレットＰＣ、多機能携帯電話端末（スマートフォン）、通信機能付きの電子書籍リーダー、ＰＤＡ（Personal  Digital  Assistant）等である。
【００５３】
プロセッサー３１は、例えば、ＣＰＵ（Central  Processing  Unit）である。なお、プロセッサー３１は、ＦＰＧＡ（Field-Programmable  Gate  Array）等の他のプロセッサーであってもよい。プロセッサー３１は、ロボット制御装置３０が備えるメモリーに格納された各種の指令を実行する。また、プロセッサー３１は、他の装置のメモリーに格納された各種の指令を実行する。
【００５４】
メモリー３２は、例えば、ＨＤＤ（Hard  Disk  Drive）、ＳＳＤ（Solid  State  Drive）、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  Read−Only  Memory）、ＲＯＭ（Read−Only  Memory）、ＲＡＭ（Random  Access  Memory）等を含む。すなわち、メモリー３２は、一時的な記憶装置と、非一時的な記憶装置とを含む。なお、メモリー３２は、情報処理装置ＰＣ１に内蔵されるものに代えて、ＵＳＢ等のデジタル入出力ポート等によって接続された外付け型の記憶装置であってもよい。メモリー３２は、プロセッサー３１又は他の装置のプロセッサーが処理する各種の情報、指令３２１、３２２等のコンピューターにより実行可能な各種の指令（例えば、プログラム、コード等）、各種の画像等を格納する。
【００５５】
指令３２１及び指令３２２はそれぞれ、プロセッサー３１がロボット制御装置３０を構成するためにプロセッサー３１が実行する複数の指令（すなわち、コンピューターにより実行可能な複数の指令）のうちの一部である。
【００５６】
また、ロボット制御装置３０は、他の装置と通信を行うため、ハードウェア機能部として通信部３４を備える。
通信部３４は、ＵＳＢ等のデジタル入出力ポート、イーサネット（登録商標）ポート等を含んで構成される。
【００５７】
ロボット制御装置３０は、この一例において、基台Ｂの内側に設けられている（内蔵されている）。なお、ロボット制御装置３０は、これに代えて、ロボット２０と別体であってもよい。この場合、ロボットシステム１は、ロボット２０と、ロボット２０と別体のロボット制御装置３０とを少なくとも備える。
【００５８】
ここで、ロボット制御装置３０は、ロボット２０を制御する。より具体的には、ロボット制御装置３０は、例えば、ユーザーによりメモリー３２に予め記憶された動作プログラムに基づいて、動作プログラムによって指定された動作をロボット２０に行わせる。以下では、一例として、当該動作として図６に示した動作をロボット２０が行う場合におけるロボット制御装置３０の処理について詳しく説明する。
【００５９】
＜ロボットを動作させる際にロボット制御装置が行う処理の概要＞
以下、ロボット２０を動作させる際にロボット制御装置３０が行う処理の概要について説明する。
【００６０】
前述したように、ロボット制御装置３０は、メモリー３２に予め記憶された動作プログラムに基づいて、動作プログラムによって指定された動作をロボット２０に行わせる。この際、ロボット制御装置３０は、動作プログラムによって指定された複数の教示点を予め決められた順に特定し、特定した教示点にロボット２０の制御点が一致した場合における関節Ｊ１〜関節Ｊ６それぞれの回動角を逆運動学に基づいて算出する。ここで、ロボット２０の制御点は、ロボット２０の可動部Ａとともに動く仮想的な点であり、例えば、ＴＣＰ（Tool  Center  Point）である。以下では、一例として、当該制御点が、関節Ｊ６の重心の位置に設定されている場合について説明する。なお、当該制御点は、可動部Ａの他の位置に設定される構成であってもよい。当該制御点の位置は、当該重心の位置に対応付けられた三次元局所座標系である制御点座標系の原点の位置によって表される。すなわち、当該原点の位置は、当該重心の位置と一致している。また、当該原点は、当該重心とともに動く。また、当該制御点の姿勢は、制御点座標系における各座標軸のロボット座標系ＲＣにおける方向によって表される。なお、当該制御点の位置及び姿勢は、可動部Ａに対応付けられた他の位置及び姿勢によって表される構成であってもよい。動作プログラムによって指定される複数の教示点のそれぞれは、ロボット２０が当該制御点を一致させる目標となる仮想的な点のことである。各教示点には、位置及び姿勢が対応付けられている。ある教示点に当該制御点を一致させた場合、当該制御点の位置及び姿勢は、当該教示点の位置及び姿勢と一致する。
【００６１】
ここで、ある教示点にロボット２０の制御点が一致した場合における関節Ｊ１〜関節Ｊ６それぞれの回動角を逆運動学に基づいて算出する際、ロボット制御装置３０は、ロボット２０の動作を所望の動作と一致させるため、動作プログラムによって動作モードを指定することによって可動部Ａの動き（すなわち、関節Ｊ１〜関節Ｊ６それぞれの回動）を制限することができる。この一例において、ロボット制御装置３０は、６つの動作モードを有する。なお、ロボット制御装置３０は、５つ以下の動作モードを有する構成であってもよく、７つ以上の動作モードを有する構成であってもよい。
【００６２】
図７は、ロボット制御装置３０が有する６つの動作モードのそれぞれを例示する図である。ロボット制御装置３０が有する６つの動作モードは、例えば、図７に示したように、動作モードＩＤによって識別される。このため、ユーザーは、動作モードＩＤを用いて、動作プログラムによってロボット制御装置３０の動作モードを指定することができる。なお、当該６つの動作モードは、動作モードＩＤに代えて、他の情報によって識別される構成であってもよい。図７に示した例では、動作モードＩＤによって識別される各動作モードには、関節Ｊ１〜関節Ｊ６それぞれの回動角を逆運動学に基づいて算出する際における１０の制限（すなわち、条件、情報）が対応付けられている。ロボット制御装置３０は、動作プログラムによって動作モードが指定された場合、動作プログラムによって指定された教示点の位置及び姿勢と、逆運動学とに基づいて、指定された動作モードに対応付けられている１０の制限を満たすように、当該教示点にロボット２０の制御点が一致した場合における関節Ｊ１〜関節Ｊ６それぞれの回動角を算出する。すなわち、動作プログラムによって指定された教示点にロボット２０の制御点を一致させる動作をロボット２０が行う際、ロボット２０は、動作プログラムによって指定された動作モードに対応付けられた１０の制限を満たすように動作する。なお、各動作モードに対応付けられている制限の数は、９以下であってもよく、１１以上であってもよい。
【００６３】
図７に示した例では、各動作モードに対応付けられた１０の制限は、腕姿勢、肘姿勢、手首姿勢、関節Ｊ１、関節Ｊ２、関節Ｊ３、関節Ｊ４、関節Ｊ５、関節Ｊ６、回動量の優先度順のそれぞれに対する制限である。ここで、これらの制限について詳しく説明する。なお、各動作モードに対応付けられた制限には、腕姿勢、肘姿勢、手首姿勢、関節Ｊ１、関節Ｊ２、関節Ｊ３、関節Ｊ４、関節Ｊ５、関節Ｊ６、回動量の優先度順のそれぞれに対する制限のうちの一部が含まれる構成であってもよく、腕姿勢、肘姿勢、手首姿勢、関節Ｊ１、関節Ｊ２、関節Ｊ３、関節Ｊ４、関節Ｊ５、関節Ｊ６、回動量の優先度順のそれぞれに対する制限のうちの一部又は全部とともに他の制限が含まれる構成であってもよい。
【００６４】
腕姿勢は、可動部Ａの姿勢を、第１回動軸ＡＸ１と第５回動軸ＡＸ５との相対的な位置関係によって分類した姿勢のことである。腕姿勢には、右腕姿勢と左腕姿勢の２つの姿勢が含まれている。右腕姿勢は、可動部Ａの姿勢のうち、前述の第１方向に向かってロボット２０を見た場合において第１回動軸ＡＸ１に対して第５回動軸ＡＸ５が左側に位置する姿勢のことである。一方、左腕姿勢は、可動部Ａの姿勢のうち、第１方向に向かってロボット２０を見た場合において第１回動軸ＡＸ１に対して第５回動軸ＡＸ５が右側に位置する姿勢のことである。
【００６５】
動作プログラムによって指定された教示点にロボット２０の制御点を一致させる動作をロボット２０が行う際、ロボット２０は、動作プログラムによって指定された動作モードに応じた制限であって腕姿勢に対する制限として、第１１制限、第１２制限、第１３制限のいずれかの制限を満たすようにロボット２０を動作させる。第１１制限は、ロボット２０の現在の腕姿勢を保つことである。すなわち、ロボット制御装置３０は、当該動作モードが第１１制限を満たすようにロボット２０を動かす場合、現在のロボット２０の腕姿勢が右腕姿勢ならば、ロボット２０を動作させた後のロボット２０の腕姿勢を右腕姿勢のまま変化させず、現在のロボット２０の腕姿勢が左腕姿勢ならば、ロボット２０を動作させた後のロボット２０の腕姿勢を左腕姿勢のまま変化させない。第１２制限は、ロボット２０の現在の腕姿勢を変化させることである。すなわち、ロボット制御装置３０は、当該動作モードが第１２制限を満たすようにロボット２０を動かす場合、現在のロボット２０の腕姿勢が右腕姿勢ならば、ロボット２０を動作させた後のロボット２０の腕姿勢を左腕姿勢に変化させ、現在のロボット２０の腕姿勢が左腕姿勢ならば、ロボット２０を動作させた後のロボット２０の腕姿勢を右腕姿勢に変化させる。第１３制限は、ロボット２０の動作において腕姿勢を制限しないことである。すなわち、ロボット制御装置３０は、当該動作モードが第１３制限を満たすようにロボット２０を動かす場合、動作プログラムによって指定された動作モードに対応付けられた制限のうち腕姿勢に対する制限以外の制限を満たすようにロボット２０を動作させる。この際、ロボット２０は、ロボット２０の腕姿勢を当該制限に応じて決まる腕姿勢と一致させる。
【００６６】
図７に示した例では、各動作モードにおいて腕姿勢に対する制限（図７では、単に「腕姿勢」と表されている）には、「×」が記載されている。当該「×」は、腕姿勢に対する制限として第１１制限が適用されることを意味している。すなわち、ロボット制御装置３０は、図７に示した６つの動作モードのいずれが動作プログラムによって指定されたとしても、腕姿勢に対する制限として第１１制限を満たすようにロボット２０を動作させる。なお、図示されていないが、例えば、ある動作モードにおいて腕姿勢に対する制限に「※」が記載されている場合、当該制限には、第１２制限が適用されることを意味する。また、図示されていないが、例えば、ある動作モードにおいて腕姿勢に対する制限に「○」が記載されている場合、当該制限には、第１３制限が適用されることを意味する。
【００６７】
ここで、ロボット制御装置３０は、各動作モードにおいて腕姿勢に対する制限を、フラグによって設定する構成であってもよく、他の情報、他の方法等によって設定する構成であってもよい。
【００６８】
なお、ロボット制御装置３０は、腕姿勢に対する制限に対して、第１１制限、第１２制限、第１３制限の一部のいずれかを適用する構成であってもよく、第１１制限、第１２制限、第１３制限の一部又は全部に代えて、腕姿勢に対する他の制限を適用する構成であってもよい。
【００６９】
肘姿勢は、可動部Ａの姿勢を、第２回動軸ＡＸ２と第３回動軸ＡＸ３との相対的な位置関係によって分類した姿勢のことである。肘姿勢には、上肘姿勢と下肘姿勢の２つの姿勢が含まれている。上肘姿勢は、可動部Ａの姿勢のうち、第２回動軸ＡＸ２に対して第３回動軸ＡＸ３が上側に位置する姿勢のことである。一方、下肘姿勢は、可動部Ａの姿勢のうち、第２回動軸ＡＸ２に対して第３回動軸ＡＸ３が下側に位置する姿勢のことである。
【００７０】
動作プログラムによって指定された教示点にロボット２０の制御点を一致させる動作をロボット２０が行う際、ロボット２０は、動作プログラムによって指定された動作モードに応じた制限であって肘姿勢に対する制限として、第２１制限、第２２制限、第２３制限のいずれかの制限を満たすようにロボット２０を動作させる。第２１制限は、ロボット２０の現在の肘姿勢を保つことである。すなわち、ロボット制御装置３０は、当該動作モードが第２１制限を満たすようにロボット２０を動かす場合、現在のロボット２０の肘姿勢が上肘姿勢ならば、ロボット２０を動作させた後のロボット２０の肘姿勢を上肘姿勢のまま変化させず、現在のロボット２０の肘姿勢が下肘姿勢ならば、ロボット２０を動作させた後のロボット２０の肘姿勢を下肘姿勢のまま変化させない。第２２制限は、ロボット２０の現在の肘姿勢を変化させることである。すなわち、ロボット制御装置３０は、当該動作モードが第２２制限を満たすようにロボット２０を動かす場合、現在のロボット２０の肘姿勢が上肘姿勢ならば、ロボット２０を動作させた後のロボット２０の肘姿勢を下肘姿勢に変化させ、現在のロボット２０の肘姿勢が下肘姿勢ならば、ロボット２０を動作させた後のロボット２０の肘姿勢を上肘姿勢に変化させる。第２３制限は、ロボット２０の動作において肘姿勢を制限しないことである。すなわち、ロボット制御装置３０は、当該動作モードが第２３制限を満たすようにロボット２０を動かす場合、動作プログラムによって指定された動作モードに対応付けられた制限のうち肘姿勢に対する制限以外の制限を満たすようにロボット２０を動作させる。この際、ロボット２０は、ロボット２０の肘姿勢を当該制限に応じて決まる肘姿勢と一致させる。
【００７１】
図７に示した例では、動作モードＩＤが１〜３の３つの動作モードのそれぞれにおいて肘姿勢に対する制限（図７では、単に「肘姿勢」と表されている）には、「×」が記載されている。当該「×」は、肘姿勢に対する制限として第２１制限が適用されることを意味している。すなわち、ロボット制御装置３０は、当該３つの動作モードのいずれが動作プログラムによって指定されたとしても、肘姿勢に対する制限として第２１制限を満たすようにロボット２０を動作させる。また、動作モードＩＤが４〜６の３つの動作モードのそれぞれにおいて肘姿勢に対する制限には、「※」が記載されている。当該「※」は、肘姿勢に対する制限として第２２制限が適用されることを意味している。すなわち、ロボット制御装置３０は、当該３つの動作モードのいずれが動作プログラムによって指定されたとしても、肘姿勢に対する制限として第２２制限を満たすようにロボット２０を動作させる。なお、図示されていないが、例えば、ある動作モードにおいて肘姿勢に対する制限に「○」が記載されている場合、当該制限には、第２３制限が適用されることを意味する。
【００７２】
ここで、ロボット制御装置３０は、各動作モードにおいて肘姿勢に対する制限を、フラグによって設定する構成であってもよく、他の情報、他の方法等によって設定する構成であってもよい。
【００７３】
なお、ロボット制御装置３０は、肘姿勢に対する制限に対して、第２１制限、第２２制限、第２３制限の一部のいずれかを適用する構成であってもよく、第２１制限、第２２制限、第２３制限の一部又は全部に代えて、肘姿勢に対する他の制限を適用する構成であってもよい。
【００７４】
手首姿勢は、可動部Ａの姿勢を、第４回動軸ＡＸ４と第６回動軸ＡＸ６との相対的な位置関係によって分類した姿勢のことである。手首姿勢には、上手首姿勢と下手首姿勢の２つの姿勢が含まれている。上手首姿勢は、可動部Ａの姿勢のうち、第４回動軸ＡＸ４に沿った２つ方向のうち関節Ｊ４から関節Ｊ５に向かう方向に向かって第４回動軸ＡＸ４を延伸させた場合において第６回動軸ＡＸ６が第４回動軸ＡＸ４よりも上側に位置している姿勢のことである。一方、下手首姿勢は、可動部Ａの姿勢のうち、当該場合において第６回動軸ＡＸ６が第４回動軸ＡＸ４よりも下側に位置している姿勢のことである。
【００７５】
動作プログラムによって指定された教示点にロボット２０の制御点を一致させる動作をロボット２０が行う際、ロボット２０は、動作プログラムによって指定された動作モードに応じた制限であって手首姿勢に対する制限として、第３１制限、第３２制限、第３３制限のいずれかの制限を満たすようにロボット２０を動作させる。第３１制限は、ロボット２０の現在の手首姿勢を保つことである。すなわち、ロボット制御装置３０は、当該動作モードが第３１制限を満たすようにロボット２０を動かす場合、現在のロボット２０の手首姿勢が上手首姿勢ならば、ロボット２０を動作させた後のロボット２０の手首姿勢を上手首姿勢のまま変化させず、現在のロボット２０の手首姿勢が下手首姿勢ならば、ロボット２０を動作させた後のロボット２０の手首姿勢を下手首姿勢のまま変化させない。第３２制限は、ロボット２０の現在の手首姿勢を変化させることである。すなわち、ロボット制御装置３０は、当該動作モードが第３２制限を満たすようにロボット２０を動かす場合、現在のロボット２０の手首姿勢が上手首姿勢ならば、ロボット２０を動作させた後のロボット２０の手首姿勢を下手首姿勢に変化させ、現在のロボット２０の手首姿勢が下手首姿勢ならば、ロボット２０を動作させた後のロボット２０の手首姿勢を上手首姿勢に変化させる。第３３制限は、ロボット２０の動作において手首姿勢を制限しないことである。すなわち、ロボット制御装置３０は、当該動作モードが第３３制限を満たすようにロボット２０を動かす場合、動作プログラムによって指定された動作モードに対応付けられた制限のうち手首姿勢に対する制限以外の制限を満たすようにロボット２０を動作させる。この際、ロボット２０は、ロボット２０の手首姿勢を当該制限に応じて決まる手首姿勢と一致させる。
【００７６】
図７に示した例では、動作モードＩＤが２の動作モードにおいて手首姿勢に対する制限（図７では、単に「手首姿勢」と表されている）には、「×」が記載されている。当該「×」は、手首姿勢に対する制限として第３１制限が適用されることを意味している。すなわち、ロボット制御装置３０は、当該動作モードが動作プログラムによって指定された場合、手首姿勢に対する制限として第３１制限を満たすようにロボット２０を動作させる。また、動作モードＩＤが１、３〜６の５つの動作モードのそれぞれにおいて手首姿勢に対する制限には、「○」が記載されている。当該「○」は、手首姿勢に対する制限として第３３制限が適用されることを意味している。すなわち、ロボット制御装置３０は、当該５つの動作モードのいずれが動作プログラムによって指定されたとしても、手首姿勢に対する制限として第３３制限を満たすようにロボット２０を動作させる。なお、図示されていないが、例えば、ある動作モードにおいて手首姿勢に対する制限に「※」が記載されている場合、当該制限には、第３２制限が適用されることを意味する。
【００７７】
ここで、ロボット制御装置３０は、各動作モードにおいて手首姿勢に対する制限を、フラグによって設定する構成であってもよく、他の情報、他の方法等によって設定する構成であってもよい。
【００７８】
なお、ロボット制御装置３０は、手首姿勢に対する制限に対して、第３１制限、第３２制限、第３３制限の一部のいずれかを適用する構成であってもよく、第３１制限、第３２制限、第３３制限の一部又は全部に代えて、手首姿勢に対する他の制限を適用する構成であってもよい。
【００７９】
関節Ｊ１に対する制限は、関節Ｊ１の回動方向に関する制限のことである。動作プログラムによって指定された教示点にロボット２０の制御点を一致させる動作をロボット２０が行う際、ロボット２０は、動作プログラムによって指定された動作モードに応じた制限であって関節Ｊ１に対する制限として、第４１制限、第４２制限、第４３制限、第４４制限のいずれかの制限を満たすようにロボット２０を動作させる。第４１制限は、正の方向に関節Ｊ１を回動させることである。すなわち、ロボット制御装置３０は、当該動作モードが第４１制限を満たすように関節Ｊ１を動かす場合、関節Ｊ１を正の方向に回動させる。第４２制限は、当該動作モードが第４２制限を満たすように関節Ｊ１を動かす場合、関節Ｊ１を負の方向に回動させる。第４３制限は、ロボット２０の動作において正の方向と負の方向とのうち関節Ｊ１の回動量が小さくなる方向に関節Ｊ１を回動させることである。すなわち、ロボット制御装置３０は、当該動作モードが第４３制限を満たすように関節Ｊ１を動かす場合、動作プログラムによって指定された動作モードに対応付けられた制限のうち関節Ｊ１に対する制限以外の制限を満たすように関節Ｊ１を動作させる。この際、ロボット２０は、正の方向と負の方向とのうち関節Ｊ１の回動量が小さくなる方向に関節Ｊ１を回動させる。第４４制限は、関節Ｊ１の回動を制限しないことである。すなわち、ロボット制御装置３０は、当該動作モードが第４４制限を満たすように関節Ｊ１を動かす場合、動作プログラムによって指定された動作モードに対応付けられた制限のうち関節Ｊ１に対する制限以外の制限を満たすように関節Ｊ１を動作させる。
【００８０】
図７に示した例では、動作モードＩＤが１〜６の６つの動作モードのそれぞれにおいて関節Ｊ１に対する制限（図７では、単に「関節Ｊ１」と表されている）には、「○」が記載されている。当該「○」は、関節Ｊ１に対する制限として第４３制限が適用されることを意味している。すなわち、ロボット制御装置３０は、当該６つの動作モードのいずれが動作プログラムによって指定されたとしても、関節Ｊ１に対する制限として第４３制限を満たすように関節Ｊ１を動作させる。なお、図示されていないが、例えば、ある動作モードにおいて関節Ｊ１に対する制限に「×」が記載されている場合、当該制限には、第４１制限が適用されることを意味する。また、図示されていないが、例えば、ある動作モードにおいて関節Ｊ１に対する制限に「※」が記載されている場合、当該制限には、第４２制限が適用されることを意味する。また、図示されていないが、例えば、ある動作モードにおいて関節Ｊ１に対する制限に「−」が記載されている場合、当該制限には、第４４制限が適用されることを意味する。
【００８１】
ここで、ロボット制御装置３０は、各動作モードにおいて関節Ｊ１に対する制限を、フラグによって設定する構成であってもよく、他の情報、他の方法等によって設定する構成であってもよい。
【００８２】
なお、ロボット制御装置３０は、関節Ｊ１に対する制限に対して、第４１制限、第４２制限、第４３制限、第４４制限の一部のいずれかを適用する構成であってもよく、第４１制限、第４２制限、第４３制限、第４４制限の一部又は全部に代えて、関節Ｊ１に対する他の制限を適用する構成であってもよい。
【００８３】
関節Ｊ２〜関節Ｊ６それぞれに対する制限は、関節Ｊ１に対する制限と同様の制限であるため、説明を省略する。図７に示した例では、各動作モードにおいて、関節Ｊ２〜関節Ｊ４、関節Ｊ６のそれぞれには、「○」によって表される制限が適用されている。当該制限は、関節Ｊ１に対する制限のうちの第４３制限と同様の制限である。また、当該例では、関節Ｊ５には、「−」によって表される制限が適用されている。当該制限は、関節Ｊ１に対する制限のうちの第４４制限と同様の制限である。
【００８４】
回動量の優先度順に対する制限は、関節Ｊ４〜関節Ｊ６の３つの関節それぞれの回動量（すなわち、回動した量、回動した角度）の相対的な大小関係に関する制限のことである。動作プログラムによって指定された教示点にロボット２０の制御点を一致させる動作をロボット２０が行う際、ロボット２０は、動作プログラムによって指定された動作モードに応じた制限であって回動量の優先度順に対する制限として、第５１制限、第５２制限、第５３制限、第５４制限のいずれかの制限を満たすようにロボット２０を動作させる。第５１制限は、関節Ｊ６の回動量よりも関節Ｊ４の回動量を小さくすることである。すなわち、ロボット制御装置３０は、当該動作モードが第５１制限を満たすようにロボット２０を動かす場合、関節Ｊ６の回動量よりも関節Ｊ４の回動量が小さくなるようにロボット２０を動作させる。第５２制限は、関節Ｊ４の回動量よりも関節Ｊ６の回動量を小さくすることである。すなわち、ロボット制御装置３０は、当該動作モードが第５２制限を満たすようにロボット２０を動かす場合、関節Ｊ４の回動量よりも関節Ｊ６の回動量が小さくなるようにロボット２０を動作させる。第５３制限は、関節Ｊ６の回動量よりも関節Ｊ５の回動量を小さくすることである。すなわち、ロボット制御装置３０は、当該動作モードが第５３制限を満たすようにロボット２０を動かす場合、関節Ｊ６の回動量よりも関節Ｊ５の回動量が小さくなるようにロボット２０を動作させる。第５４制限は、関節Ｊ４〜関節Ｊ６の３つの関節それぞれの回動量の相対的な大小関係を制限しないことである。すなわち、ロボット制御装置３０は、当該動作モードが第５４制限を満たすようにロボット２０を動かす場合、動作プログラムによって指定された動作モードに対応付けられた制限のうち回動量の優先度順に対する制限以外の制限を満たすようにロボット２０を動作させる。
【００８５】
図７に示した例では、動作モードＩＤが１、４の２つの動作モードのそれぞれにおいて回動量の優先度順に対する制限（図７では、単に「回動量の優先度順」と表されている）には、「Ｊ４＞Ｊ６」が記載されている。当該「Ｊ４＞Ｊ６」は、回動量の優先度順に対する制限として第５１制限が適用されることを意味している。すなわち、ロボット制御装置３０は、当該２つの動作モードのいずれが動作プログラムによって指定されたとしても、回動量の優先度順に対する制限として第５１制限を満たすようにロボット２０を動作させる。また、動作モードＩＤが３、６の２つの動作モードのそれぞれにおいて回動量の優先度順に対する制限には、「Ｊ６＞Ｊ４」が記載されている。当該「Ｊ６＞Ｊ４」は、回動量の優先度順に対する制限として第５２制限が適用されることを意味している。すなわち、ロボット制御装置３０は、当該２つの動作モードのいずれが動作プログラムによって指定されたとしても、回動量の優先度順に対する制限として第５２制限を満たすようにロボット２０を動作させる。また、動作モードＩＤが５の動作モードにおいて回動量の優先度順に対する制限には、「Ｊ５＞Ｊ６」が記載されている。当該「Ｊ５＞Ｊ６」は、回動量の優先度順に対する制限として第５３制限が適用されることを意味している。すなわち、ロボット制御装置３０は、当該動作モードのいずれが動作プログラムによって指定された場合、回動量の優先度順に対する制限として第５３制限を満たすようにロボット２０を動作させる。また、動作モードＩＤが２の動作モードにおいて回動量の優先度順に対する制限には、何も記載されていない。この場合、回動量の優先度順に対する制限として第５４制限が適用されることを意味している。すなわち、ロボット制御装置３０は、当該動作モードのいずれが動作プログラムによって指定された場合、回動量の優先度順に対する制限として第５４制限を満たすようにロボット２０を動作させる。
【００８６】
ここで、ロボット制御装置３０は、各動作モードにおいて回動量の優先度順に対する制限を、フラグによって設定する構成であってもよく、他の情報、他の方法等によって設定する構成であってもよい。
【００８７】
なお、ロボット制御装置３０は、回動量の優先度順に対する制限に対して、第５１制限、第５２制限、第５３制限、第５４制限の一部のいずれかを適用する構成であってもよく、第５１制限、第５２制限、第５３制限、第５４制限の一部又は全部に代えて、回動量の優先度順に対する他の制限を適用する構成であってもよい。
【００８８】
また、図６に示した動作をロボット制御装置３０がロボット２０に行わせる場合、動作プログラムには、第１位置に位置する教示点である第１教示点と、第２位置に位置する第２教示点と、４〜６のいずれかの動作モードＩＤが示す動作モードとを指定する情報が記載される。すなわち、ロボット制御装置３０は、動作プログラムに基づいて、動作モードを４〜６のいずれかの動作モードＩＤが示す動作モードのいずれかに設定し、ロボット２０の制御点を一致させる教示点として第１教示点と第２教示点とを特定する。これにより、ロボット制御装置３０は、図６に示した動作をロボット２０に行わせることができる。これにより、ロボット２０は、周囲の物体との空間を狭くすることができる。
【００８９】
ここで、図６に示した動作をロボット２０が行う場合、前述の第１方向に向かってロボット２０を見た場合、ロボット２０は、第２回動軸ＡＸ２と第３回動軸ＡＸ３との相対的な位置関係を変更する。当該場合における第２回動軸ＡＸ２と第３回動軸ＡＸ３との相対的な位置関係は、例えば、当該場合において第２回動軸ＡＸ２に対して第３回動軸ＡＸ３が左側に位置している左位置関係、又は、当該場合において第２回動軸ＡＸ２に対して第３回動軸ＡＸ３が右側に位置している右位置関係のことである。なお、当該場合における第２回動軸ＡＸ２と第３回動軸ＡＸ３との相対的な位置関係は、これらに代えて、当該場合における第２回動軸ＡＸ２と第３回動軸ＡＸ３との相対的な他の位置関係であってもよい。
【００９０】
すなわち、図７に示した６つの動作モードのそれぞれに対応付けられた１０の制限は、第１方向に向かってロボット２０を見た場合において、第２回動軸ＡＸ２と第３回動軸ＡＸ３との相対的な位置関係を変更させるか否かを示す情報の一例であると換言することができる。つまり、１〜３のいずれかの動作モードＩＤが示す動作モードに対応付けられた１０の制限は、第１方向に向かってロボット２０を見た場合における位置関係であって第２回動軸ＡＸ２と第３回動軸ＡＸ３との相対的な位置関係を変更させないことを示す情報の一例である。また、４〜６のいずれかの動作モードＩＤが示す動作モードに対応付けられた１０の制限は、第１方向に向かってロボット２０を見た場合における位置関係であって第２回動軸ＡＸ２と第３回動軸ＡＸ３との相対的な位置関係を変更させることを示す情報の一例である。
【００９１】
まとめると、ロボット制御装置３０は、第１方向に向かってロボット２０を見た場合における位置関係であって第２回動軸ＡＸ２と第３回動軸ＡＸ３との相対的な位置関係を変更させるか否かを示す情報に基づいて、前述の第１状態を経る動作であって図６に示した動作をロボット２０に行わせる。この具体例の１つとして、本実施形態に係るロボット制御装置３０は、動作プログラムによって指定された動作モードに基づいて、当該動作をロボット２０に行わせる。これにより、ロボット２０は、所望の領域に対して作業を行わせるためにロボットを設置する位置が制限されてしまうことを抑制することができる。なお、ロボット制御装置３０は、動作モードに対応付けられた１０の制限と異なる他の情報であって当該場合における位置関係であって第２回動軸ＡＸ２と第３回動軸ＡＸ３との相対的な位置関係を変更させるか否かを示す情報に基づいて、当該動作をロボット２０に行わせる構成であってもよい。
【００９２】
＜ロボット制御装置の機能構成＞
以下、図８を参照し、ロボット制御装置３０の機能構成について説明する。図８は、ロボット制御装置３０の機能構成の一例を示す図である。
【００９３】
ロボット制御装置３０は、メモリー３２と、制御部３６を備える。
【００９４】
制御部３６は、ロボット制御装置３０の全体を制御する。制御部３６は、算出部３６１と、ロボット制御部３６３を備える。制御部３６が備えるこれらの機能部は、例えば、プロセッサー３１が、メモリー３２に記憶された指令３２１、３２２等の各種の指令を実行することにより実現される。また、当該機能部のうちの一部又は全部は、ＬＳＩ（Large  Scale  Integration）、ＡＳＩＣ（Application  Specific  Integrated  Circuit）等のハードウェア機能部であってもよい。
【００９５】
算出部３６１は、メモリー３２に予め記憶された動作プログラムをメモリー３２から読み出す。算出部３６１は、読み出した動作プログラムに基づいて、ロボット制御装置３０の動作モードを特定する。また、算出部３６１は、当該動作プログラムによって指定された教示点の位置及び姿勢を特定する。算出部３６１は、特定した動作モードに対応付けられた１０の制限と、当該教示点の位置及び姿勢と、逆運動学とに基づいて、関節Ｊ１〜関節Ｊ６それぞれの回動角を算出する。
【００９６】
ロボット制御部３６３は、算出部３６１が算出した回動角と、算出部３６１が特定した動作モードに対応付けられた１０の制限とに基づいて、ロボット２０を動作させる。
【００９７】
＜ロボット制御装置が行う処理＞
以下、図９を参照し、ロボット制御装置３０が行う処理の流れについて説明する。図９は、ロボット制御装置３０が行う処理の流れの一例を示すフローチャートである。
【００９８】
算出部３６１は、メモリー３２に予め記憶された動作プログラムをメモリー３２から読み出す（ステップＳ１１０）。
【００９９】
次に、算出部３６１は、ステップＳ１１０においてメモリー３２から読み出した動作プログラムに基づいて、当該動作プログラムによって指定された動作モードを特定する（ステップＳ１２０）。
【０１００】
次に、算出部３６１は、ステップＳ１１０においてメモリー３２から読み出した動作プログラムに基づいて、当該動作プログラムによって指定された教示点を１つずつ上から順に対象教示点として選択し、選択した対象教示点に対してステップＳ１４０〜ステップＳ１５０の処理を繰り返し行う（ステップＳ１３０）。以下では、一例として、前述の第１教示点と第２教示点が、第１教示点、第２教示点の順に対象教示点としてステップＳ１３０において選択される場合について説明する。
【０１０１】
ステップＳ１３０において対象教示点が選択された後、算出部３６１は、対象教示点の位置及び姿勢を目標位置及び目標姿勢として特定する（ステップＳ１４０）。
【０１０２】
次に、算出部３６１は、ステップＳ１４０において特定した目標位置及び目標姿勢と、ステップＳ１２０において特定した動作モードと、逆運動学とに基づいて、対象教示点にロボット２０の教示点が一致した場合における関節Ｊ１〜関節Ｊ６それぞれの回動角を算出する（ステップＳ１５０）。
【０１０３】
次に、ロボット制御部３６３は、ステップＳ１５０において算出部３６１が算出した回動角に基づいて関節Ｊ１〜関節Ｊ６のそれぞれを動作させ、ロボット２０の制御点を対象教示点と一致させる（ステップＳ１６０）。
【０１０４】
ステップＳ１６０の処理が行われた後、算出部３６１は、ステップＳ１３０に遷移し、次の教示点を対象教示点として選択する。このように、ステップＳ１３０〜ステップＳ１６０の繰り返し処理によって、ロボット制御装置３０は、図６に示した動作をロボット２０に行わせることができる。その結果、ロボット２０は、周囲の物体との空間を狭くすることができる。例えば、図１に示した例では、ロボット２０は、棚ＬＣ１に対して作業を行う場合において、棚ＬＣ１との間の空間を狭くすることができる。そして、ロボット２０は、棚ＬＣ２に対して作業を行う場合において、関節Ｊ１を回動させて、ロボット２０の状態を、ロボット座標系ＲＣにおけるＹ軸と第２回動軸ＡＸ２とが平行になる２つの状態のうち関節Ｊ２が棚ＬＣ２に近くなる状態にすることにより、棚ＬＣ２との間の空間を狭くすることができる。また、ロボット２０は、棚ＬＣ３に対して作業を行う場合において、関節Ｊ１を回動させて、ロボット２０の状態を、ロボット座標系ＲＣにおけるＸ軸と第２回動軸ＡＸ２とが平行になる２つの状態のうち関節Ｊ２が棚ＬＣ３に近くなる状態にすることにより、棚ＬＣ３との間の空間を狭くすることができる。なお、算出部３６１及びロボット制御部３６３は、ステップＳ１３０において算出部３６１が未選択の教示点が存在しない場合、処理を終了する。
【０１０５】
なお、上記において説明したロボット制御装置３０は、１つのプロセッサー３１と、１つのメモリー３２とを備える情報処理装置ＰＣ１に代えて、図１０に示したように、複数の情報処理装置のうちの一部又は全部によって構成されてもよい。図１０は、複数の情報処理装置によってロボット制御装置３０が構成される場合におけるロボット制御装置３０のハードウェア構成の一例である。
【０１０６】
図１０に示した情報処理装置ＰＣ２及び情報処理装置ＰＣ３は、情報処理装置ＰＣ１と同様の構成であるため、説明を省略する。
【０１０７】
図１０に示した例では、情報処理装置ＰＣ１と、情報処理装置ＰＣ２とが無線又は有線によって互いに通信可能に接続されている。また、当該例では、情報処理装置ＰＣ１と、情報処理装置ＰＣ３とがＬＡＮ（Local  Area  Network）を介して無線又は有線によって互いに通信可能に接続されている。また、当該例では、情報処理装置ＰＣ２と、情報処理装置ＰＣ３とがＬＡＮを介して無線又は有線によって互いに通信可能に接続されている。
【０１０８】
また、図１０に示した例では、ロボット制御装置３０は、プロセッサー３１と、プロセッサー４１と、プロセッサー５１のうちの少なくとも１つと、メモリー３２と、メモリー４２と、メモリー５２のうちの少なくとも１つとによって構成される。プロセッサー３１と、プロセッサー４１と、プロセッサー５１のうちの２つ以上によってロボット制御装置３０が構成される場合、ロボット制御装置３０を構成する当該２つ以上のプロセッサーは、通信部による通信を行うことにより、連携してロボット制御装置３０の機能を実現する。また、当該場合、当該２つ以上のプロセッサーは、メモリー３２と、メモリー４２と、メモリー５２のうちの少なくとも１つに格納された指令に基づいて、ロボット制御装置３０の機能による処理を実行する。
【０１０９】
図１０に示した例のように、ロボット制御装置３０が複数の情報処理装置によって構成される場合、教示装置４０は、当該複数の情報処理装置の少なくとも１つと通信可能に接続される。
【０１１０】
また、上記において説明したロボット制御装置３０は、動作プログラムに基づいて、ロボット２０に行わせる動作毎に動作モードを切り替え可能な構成であってもよく、ロボット２０に行わせる作業毎に動作モードを切り替え可能な構成であってもよい。
【０１１１】
また、マニピュレーターＭは、第３回動軸ＡＸ３の軸方向から見て、第３アームＬ３と第４アームＬ４とが重なることが可能であるように構成されてもよい。また、マニピュレーターＭは、第５回動軸ＡＸ５の軸方向から見て、第５アームＬ５と第６アームＬ６とが重なることが可能であるように構成されてもよい。
【０１１２】
また、Ａアームの一例は、第１アームＬ１であってもよい。この場合、Ｂアームの一例は、第２アームＬ２である。また、Ａアームの一例は、第３アームＬ３であってもよい。この場合、Ｂアームの一例は、第４アームＬ４である。
【０１１３】
また、Ａアームの一例は、第４アームＬ４であってもよい。この場合、Ｂアームの一例は、第５アームＬ５である。また、Ａアームの一例は、第５アームＬ５であってもよい。この場合、Ｂアームの一例は、第６アームＬ６である。
【０１１４】
以上のように、ロボット２０は、Ａアーム（この一例において、第２アームＬ２）とＢアーム（この一例において、第３アームＬ３）とは、Ｂ回動軸（この一例において、第３回動軸ＡＸ３）の軸方向から見て、重なる第１状態となることが可能であり、マニピュレーター（この一例において、マニピュレーターＭ）の先端（この一例において、関節Ｊ６の重心）は、第１回動軸（この一例において、第１回動軸ＡＸ１）に直交する方向から見て、基台（この一例において、基台Ｂ）の設置面（この一例において、設置台ＢＳの上面）よりも下の第１位置から、第１状態を経て、Ａ回動軸（この一例において、第２回動軸ＡＸ２）よりも上の第２位置へ移動することが可能である。これにより、ロボット２０は、周囲の物体との空間を狭くすることができる。
【０１１５】
また、ロボット２０では、第２位置は、第１回動軸に直交する方向から見た場合、Ｂ回動軸よりも上にある。これにより、ロボット２０は、周囲の物体との空間を狭くすることができるとともに、より広い領域に対して作業を行うことができる。
【０１１６】
また、ロボット２０では、Ａ回動軸は、第１回動軸と交差しない。これにより、ロボット２０は、マニピュレーターと基台とが干渉してしまうことを抑制しながら、周囲の物体との空間を狭くすることができる。
【０１１７】
また、ロボット２０では、Ａアームは、第２アーム（この一例において、第２アームＬ２）である。これにより、ロボット２０は、第２アームとＢアームが第１状態となることができることにより、周囲の物体との空間を狭くすることができる。
【０１１８】
また、ロボット２０では、Ａアームの回動範囲は、３６０°以上である。これにより、ロボット２０は、Ａアームを回動させることによりＡアームとＢアームとを第１状態にすることができることにより、周囲の物体との空間を狭くすることができる。
【０１１９】
また、ロボット２０は、ロボット２０の動作においてＡ回動軸とＢ回動軸との相対的な位置関係を変更させるか否かを示す情報（この一例において、各動作モードに対応付けられた１０の制限）に基づいて動作する。これにより、ロボット２０は、ロボット２０の動作においてＡ回動軸とＢ回動軸との相対的な位置関係を変更させるか否かを示す情報に基づいて、周囲の物体との空間を狭くすることができる。
【０１２０】
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
【０１２１】
また、以上に説明した装置（例えば、ロボット制御装置３０）における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、ＯＳ（Operating  System）や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ（Compact  Disk）−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【０１２２】
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【０１２３】
１…ロボットシステム、２０…ロボット、３０…ロボット制御装置、３１、４１、５１…プロセッサー、３２、４２、５２…メモリー、３４、４４、５４…通信部、３５…表示部、３６…制御部、３２１、３２２…指令、３６１…算出部、３６３…ロボット制御部、ＡＸ１…第１回動軸、ＡＸ２…第２回動軸、ＡＸ３…第３回動軸、ＡＸ４…第４回動軸、ＡＸ５…第５回動軸、ＡＸ６…第６回動軸、Ｂ…基台、Ｅ…エンドエフェクター、Ｊ１〜Ｊ６…関節、Ｌ１…第１アーム、Ｌ２…第２アーム、Ｌ３…第３アーム、Ｌ４…第４アーム、Ｌ５…第５アーム、Ｌ６…第６アーム、Ｍ…マニピュレーター、ＰＣ１、ＰＣ２、ＰＣ３…情報処理装置
【図１】
2019051578.tif 000003
【図２】
2019051578.tif 000004
【図３】
2019051578.tif 000005
【図４】
2019051578.tif 000006
【図５】
2019051578.tif 000007
【図６】
2019051578.tif 000008
【図７】
2019051578.tif 000009
【図８】
2019051578.tif 000010
【図９】
2019051578.tif 000011
【図１０】
2019051578.tif 000012