(57)【特許請求の範囲】
【請求項１】
複数の多関節アームによって協働把持するワークを目標位置に位置決め可能な位置決めロボットであって、
（ａ）複数の多関節アームであって、
（ａ１）直列方向に並ぶ複数のアーム体と、
（ａ２）隣接する２つのアーム体を相対変位可能に連結する複数の関節部であって、連結する２つのアーム体を相対変位駆動可能な駆動関節部を含む複数の関節部と、
（ａ３）直列方向一端部のアーム体に接続されて、ワークを把持するハンド部と、
（ａ４）直列方向他端部のアーム体に接続されて、固定位置に固定される基部とをそれぞれ有して構成される複数の多関節アームと、
（ｂ）前記各駆動関節部にそれぞれ設けられて、駆動関節部が連結する２つのアーム体を相対変位駆動する複数の駆動手段と、
（ｃ）複数の多関節アームによって協働把持されるワークを、目標位置に移動させるべき各アーム体の相対変位位置を演算し、演算結果に従って各アーム体が相対変位するように各駆動手段をそれぞれ制御する制御手段とを含み、
各多関節アームのうちの少なくとも１つは、前記駆動関節部と、連結する２つのアーム体が受動的に相対変位するが、能動的に相対変位させることができない非駆動関節部とを有する単独駆動多関節アームであり、
各関節部のうちで、各駆動関節部は、連結する２つのアーム体の相対変位をそれぞれ固定することで、協働把持するワークを介して各多関節アームが互いに支えられて、各多関節アームの変形が阻止される関節部に選ばれることを特徴とする位置決めロボット。
【請求項２】
（ｄ）各関節部がそれぞれ連結する２つのアーム体の相対変位を阻止する締結状態と、相対変位を許容する開放状態とに切換え可能な変位阻止手段をさらに含み、
制御手段は、変位阻止手段を制御することを特徴とする請求項１記載の位置決めロボット。
【請求項３】
前記単独駆動多関節アームは、
非駆動関節部が連結する２つのアーム体の相対変位を阻止する締結状態と、相対変位を許容する開放状態とに切換え可能な変位阻止手段と、
非駆動関節部が連結する２つのアーム体の相対変位位置を検出する検出手段とが設けられ、
制御手段は、検出手段の検出結果に基づいて、対応する変位阻止手段の状態を切換えることを特徴とする請求項１または２記載の位置決めロボット。
【請求項４】
各関節部は、連結する２つのアーム体を、一方のアーム体の軸線と同軸の回転軸線まわりに回転自在に連結する同軸関節部および各アーム体の軸線に対して傾斜する回転軸線まわりに回転自在に連結する傾斜関節部のいずれかによって実現されることを特徴とする１〜３のいずれか１つに記載の位置決めロボット。
【請求項５】
各多関節アームは、６自由度を有し、駆動関節部は、６つ以上設けられることを特徴とする請求項１〜４のいずれか１つに記載の位置決めロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワークを複数の多関節アームによって互いに協働で把持して、協働把持したワークを目標位置に位置決めする位置決めロボットに関する。
【背景技術】
【０００２】
従来技術として、把持したワークを所定位置に位置決めする治具ロボットがある。特許文献１に開示される治具ロボットは、４軸水平多関節ロボットによって実現される。特許文献２に開示される治具ロボットは、３本の伸縮アクチュエータと３軸回転ユニットとを含んで実現される。各特許文献１,２に開示される技術では、ワークを把持して位置合わせするにあたって、複数の治具ロボットによってワークを分担して把持して、ワークを目標位置に位置決めすることが開示されている。
【０００３】
【特許文献１】特開平８−１４７０１４号公報（第４８段落、第５図）
【特許文献２】特開平１１−７７４４６号公報（第１５段落、第１図）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
複数のロボットがワークを互いに把持した状態で、ワークを移動させて所定位置に位置決めするには、各ロボットを協調制御する必要がある。たとえば３台の６軸多関節ロボットによって、１つのワークを協働把持して位置決めする場合、合計１８軸で６自由度を制御することになる。この場合、ワークの把持位置に誤差が生じていたり、いずれかのロボットのモータにサーボ遅れが生じていたり、ロボット毎に機構的なずれが生じていたりすると、ワークの移動に伴って各ハンド部に相対ずれが発生して、ワークおよびロボットに過剰な力が生じ、ワークおよびロボットが損傷するおそれがある。
【０００５】
したがって本発明の目的は、ワークおよびロボットの破損を防いでワークを協働して位置合わせすることができる位置決めロボットを提供することである。
【課題を解決するための手段】
【０００６】
本発明は、複数の多関節アームによって協働把持するワークを目標位置に位置決め可能な位置決めロボットであって、
（ａ）複数の多関節アームであって、
（ａ１）直列方向に並ぶ複数のアーム体と、
（ａ２）隣接する２つのアーム体を相対変位可能に連結する複数の関節部であって、連結する２つのアーム体を相対変位駆動可能な駆動関節部を含む複数の関節部と、
（ａ３）直列方向一端部のアーム体に接続されて、ワークを把持するハンド部と、
（ａ４）直列方向他端部のアーム体に接続されて、固定位置に固定される基部とをそれぞれ有して構成される複数の多関節アームと、
（ｂ）前記各駆動関節部にそれぞれ設けられて、駆動関節部が連結する２つのアーム体を相対変位駆動する複数の駆動手段と、
（ｃ）複数の多関節アームによって協働把持されるワークを、目標位置に移動させるべき各アーム体の相対変位位置を演算し、演算結果に従って各アーム体が相対変位するように各駆動手段をそれぞれ制御する制御手段とを含み、
各多関節アームのうちの少なくとも１つは、前記駆動関節部と、連結する２つのアーム体が受動的に相対変位するが、能動的に相対変位させることができない非駆動関節部とを有する単独駆動多関節アームであり、
各関節部のうちで、各駆動関節部は、連結する２つのアーム体の相対変位をそれぞれ固定することで、協働把持するワークを介して各多関節アームが互いに支えられて、各多関節アームの変形が阻止される関節部に選ばれることを特徴とする位置決めロボットである。
【０００７】
また本発明は、（ｄ）各関節部がそれぞれ連結する２つのアーム体の相対変位を阻止する締結状態と、相対変位を許容する開放状態とに切換え可能な変位阻止手段をさらに含み、
制御手段は、変位阻止手段を制御することを特徴とする。
【０００８】
また本発明は、前記単独駆動多関節アームは、
非駆動関節部が連結する２つのアーム体の相対変位を阻止する締結状態と、相対変位を許容する開放状態とに切換え可能な変位阻止手段と、
非駆動関節部が連結する２つのアーム体の相対変位位置を検出する検出手段とが設けられ、
制御手段は、検出手段の検出結果に基づいて、対応する変位阻止手段の状態を切換えることを特徴とする。
【００１０】
また本発明は、各関節部は、連結する２つのアーム体を、一方のアーム体の軸線と同軸の回転軸線まわりに回転自在に連結する同軸関節部および各アーム体の軸線に対して傾斜する回転軸線まわりに回転自在に連結する傾斜関節部のいずれかによって実現されることを特徴とする。
【００１１】
また本発明は、各多関節アームは、６自由度を有し、駆動関節部は、６つ以上設けられることを特徴とする。
【発明の効果】
【００１２】
請求項１記載の本発明に従えば、全ての関節部のうちで、非駆動関節部を除く駆動関節部に駆動手段がそれぞれ設けられる。駆動関節部は、駆動手段が設けられて連結する２つのアーム体を相対変位駆動可能となる。また非駆動関節部は、連結する２つのアーム体の相対変位を許容する。各駆動手段は、制御手段から与えられる移動制御指令に応答して、対応するアーム体をそれぞれ相対変位駆動する。この場合、各駆動手段は、ワークが目標位置に位置した場合に、それぞれ位置するであろうアーム体の相対変位位置に、アーム体をそれぞれ移動される。
【００１３】
本発明では、非駆動関節部が２つのアーム体の変位を許容した状態で連結することによって、非駆動関節部が連結する２つのアーム体は、駆動手段によって変位駆動されるアーム体に追従して受動的に相対変位する。このように駆動関節部および非駆動関節部によって連結されるアーム体がそれぞれ相対変位することで、ハンド部の把持位置のずれ、アームの機械的誤差およびサーボ遅れなどの各種の誤差が存在しない理想的な状態では、協働把持するワークを目標位置に位置決めすることができる。
【００１４】
またワーク移動にあたって各種の誤差が存在する現実的な状態では、各駆動手段が、制御手段から与えられる移動制御指令に応答してアーム体をそれぞれ変位させると、相対変位されるアーム体は、理想的な状態に比べて、各種の誤差によってずれた位置に位置決めされることになる。理想的な状態に比べて２つのアーム体がずれたとしても、非駆動関節部に連結される２つのアーム体は、相対変位が許容されているので、ずれた状態で２つのアーム体を連結することができる。
【００１５】
このように本発明によれば、非駆動関節部を設けることで、理想的な状態に対して２つのアーム体がずれたとしても、そのずれた状態に追従するように２つのアーム体を相対変位させて連結することができる。これによってワークの移動にあたって各種の誤差が発生したとしても、各アーム体がずれた状態で無理に連結されることが抑えられ、各アーム体に生じる変形力を低減することができる。
【００１６】
したがってワークを移動するにあたって、誤差に起因してワークおよびアーム体に生じる変形力を、非駆動関節部で逃すことができ、ワークおよび位置決めロボットの破損を防ぐことができる。また非駆動関節部には、駆動手段を不必要とすることができ、各関節部のすべてに駆動手段が設けられる場合に比べて、位置決めロボットの構造を簡単化することができるとともに、製造コストを低下させることができる。また非駆動関節部は、各多関節アームがそれぞれ有していてもよく、いずれか１つの多関節アームが有していてもよい。
また、複数の多関節アームでワークを協働把持することで、協働把持するワークを介して、各多関節アームが互いに支えられて各多関節アームの変形が阻止される。言換えると、ワークを協働把持した各多関節アームをそれぞれ自立した状態とすることができる。これによって本発明によれば、各多関節アームに１つ以上の非駆動関節部が存在する場合であっても、各多関節アームの変形が阻止して、自立状態を保つことで、ワークを安定して把持することができる。
【００１７】
請求項２記載の本発明に従えば、制御手段が、開放指令を変位阻止手段に与えて、変位阻止手段を開放状態に切換えた状態で、駆動手段に移動制御指令を与える。これによって、上述したようにワーク移動時に、ワークおよびアーム体に生じる変形力を、非駆動関節部で逃すことができ、ワークなどの破損を防ぐことができる。またワークの移動後に、制御手段が、締結指令を変位阻止手段に与えて、変位阻止手段を締結状態に切換える。これによって非駆動関節部に連結される２つのアーム体の相対変位を阻止することができ、非駆動関節部を用いたことによる位置決めロボットの剛性不足を補うことができる。
【００１８】
このように本発明によれば、ワークなどの破損を防いだうえで、ワーク移動後の協働把持状態における位置決めロボットの剛性を高めることができ、ワークをより確実に安定して支持することができる。たとえばワーク移動後の支持状態のワークに、他のロボットによって溶接などの加工が施される場合、加工時にワークがずれることを防いで、好適な加工を行うことができる。
【００１９】
請求項３記載の本発明に従えば、各多関節アームのうちの少なくとも１つは、駆動関節部と非駆動関節部とを有し、各非駆動関節部にそれぞれ変位阻止手段と検出手段とが設けられる単独駆動多関節アームである。単独駆動多関節アームでは、非駆動関節部が連結するアーム体を、駆動関節部に設けられる駆動手段によって変位させることで、ハンド部を任意の位置に位置決めすることができる。
【００２０】
具体的には、制御手段が、変位阻止手段を制御して、注目する非駆動関節部を開放状態とし、残余の非駆動関節部を締結状態とする。次に、駆動手段によって駆動関節部に連結されるアーム体を変位駆動させることで、重力または慣性力などの外力が付与される方向を変化させて、外力によって注目する非駆動関節部に連結されるアーム体を相対変位させる。制御手段は、注目する非駆動関節部に連結されるアーム体の変位位置が、予め定める変位位置となることを検出手段によって検出すると、変位阻止手段を制御して、注目する非駆動関節部を締結状態とする。このようにして注目する非駆動関節部に連結されるアーム体を予め定める変位位置で固定する動作を、非駆動関節部毎に行うことによって、多関節アームのハンド部を任意位置に位置決めすることができる。
【００２１】
このように本発明によれば、非駆動関節部を有する多関節アームであっても、ハンド部を任意位置に位置決めすることができ、取扱いを容易にすることができる。たとえば人力または他のロボットなどによって、多関節アームのハンド部を把持位置に位置合わせする手間をなくすことができ、ワークの協働把持のための準備を容易にすることができる。また非駆動関節部を有する多関節アームであっても、単独でハンド部を位置決めできるので、関節部毎に駆動手段を設ける必要がなく、構造を簡単化することができるとともに、安価に位置決めロボットを実現することができる。また複数の多関節アームでワークを協働把持した状態では、上述したように制御手段が、各駆動手段に移動制御指令をそれぞれ与えることで、非駆動関節部を開放状態とした状態であっても、ワークを目標位置に移動させることができる。
【００２３】
請求項４記載の本発明に従えば、各関節部が、傾斜関節部と同軸関節部とのいずれかによって構成される。この場合、各駆動関節部にそれぞれ設けられるアーム体の相対変位を固定した状態では、それぞれの各多関節アームにおいて許容されるワークの各移動可能領域が一点で交わることがほとんどであり、ほとんどの場合で、ワークを協働把持した各多関節アームをそれぞれ自立した状態となる。これによって協働把持したワークが不所望に変位することが防がれ、ワークの位置および姿勢を一定に保つことができる。
【００２４】
このように本発明によれば、ワークを協働保持したほとんどの場合で、変位を防いでワークを把持することができるので、駆動関節部が連結する２つのアーム体の相対変位をそれぞれ固定することで、協働把持するワークを介して、各多関節アームの変形を阻止することができる。
【００２５】
請求項５記載の本発明に従えば、各多関節アームが６自由度を有し、駆動関節部が６つ以上設けられることで、ワークの位置および姿勢を位置合わせすることができ、ワークを予め定める目標位置および目標姿勢に位置決めすることができる。このように本発明によれば、位置決めロボットによって把持されるワークを目標位置および目標姿勢に位置決めすることができ、利便性を向上することができる。
【発明を実施するための最良の形態】
【００２６】
図１は、本発明の第１実施形態である位置決めロボット２０を示すブロック図である。図２は、各多関節アーム３０Ａ〜３０Ｃによってワーク４０を協働把持した状態を示す斜視図である。図２に示すように、位置決めロボット２０は、複数の多関節アーム３０Ａ〜３０Ｃによって協働してワーク４０を把持し、協働把持したワーク４０を把持位置から目標位置まで移動させて位置決めすることができる。たとえば位置決めロボット２０によってワーク４０を目標位置に位置決めした状態で、他の加工ロボット５０が加工を行う。このように、本実施形態では、位置決めロボット４０は、任意の位置にワーク４０を協働把持する治具用途のロボットとなる。位置決めロボット２０は、複数の多関節アーム３０Ａ〜３０Ｃと、複数の多関節アーム３０Ａ〜３０Ｃ毎に設けられるサブコントローラ３１Ａ〜３１Ｃと、ホストコントローラ３２とを含んで構成される。
【００２７】
位置決めロボット２０は、本実施の形態では、３つの多関節アーム３０Ａ〜３０Ｃを有し、それぞれ同一に構成される。したがって１つの多関節アーム３０Ａについて説明し、残余の多関節アーム３０Ｂ，３０Ｃについての説明を省略する。各多関節アーム３０Ａ〜３０Ｃは、６自由度を有する。多関節アーム３０Ａは、直列に並ぶ６つのアーム体２１〜２６と、隣接する２つのアーム体を回転自在に連結する６つの関節部Ｊｔ１〜Ｊｔ６と、ハンド部２７と、基台２８とを含む。
【００２８】
各アーム体２１〜２６は、それぞれ連結されて直列状に延びるアーム構成体２９を構成する。ハンド部２７は、アーム構成体２９のうちで直列方向一端部のアーム体２６に接続され、把持対象物であるワーク４０を把持可能に形成される。ハンド部２７は、ワーク４０を把持した状態でワーク４０と一体となる、言換えるとワーク４０を剛体結合する構成であればよい。たとえばハンド部２７は、２つの挟持体でワーク４０を挟んでワーク４０を保持する構成であってもよく、吸着体によってワーク４０を吸着する構成であってもよい。
【００２９】
また基台２８は、アーム構成体２９のうちで直列方向他端部のアーム体２１に接続され、壁または床などの予め定められる固定位置に固定される。各関節部Ｊｔ１〜Ｊｔ６によって連結されるアーム体が相対変位することによって、基台２８に対してハンド部２７の位置および姿勢を位置合わせすることができる。
【００３０】
各関節部Ｊｔ１〜Ｊｔ６は、同軸関節部と傾斜関節部とのうちのいずれかである。同軸関節部は、隣接する２つの連結対象物を同軸に連結し、一方の連結対象物を他方の連結対象物に対して、それらの各連結対象物の軸線と同軸な回転軸線まわりに回転自在に連結する。傾斜関節部は、隣接する２つの連結対象物を連結し、一方の連結対象物を、他方の連結対象物の軸線に対して傾斜する回転軸線まわりに円錐回転自在に連結する。本実施の形態では、連結対象物は、アーム体２１〜２６および基台２８のいずれかによって実現される。また各アーム体２１〜２６は、略円筒状に形成され、各アーム体の中心を通過する軸線が設定される。
【００３１】
各関節部Ｊｔ１〜Ｊｔ６は、基台２８から第１〜第６関節部Ｊｔ１〜Ｊｔ６の順で並ぶ。第１関節部Ｊｔ１および第６関節部Ｊｔ６は、同軸関節部であり、第２関節部Ｊｔ２〜第５関節部Ｊｔ５は、傾斜関節部である。また本発明において、用語「回転」とは、回転軸線まわりの３６０以上の回転だけでなく、軸線まわりに３６０度以下の角度で角変位する場合も含むものとする。
【００３２】
第１関節部Ｊｔ１は、基台２８の直列方向一端部と、第１アーム体２１の直列方向他端部とを連結する。第１アーム体２１は、第１関節部Ｊｔ１によって、基台２８に対して第１アーム体２１の軸線と同軸の第１回転軸線Ａ１まわりに回転自在となる。第２関節部Ｊｔ２は、第１アーム体２１の直列方向一端部と、第２アーム体２２の直列方向他端部とを連結する。第２アーム体２２は、第２関節部Ｊｔ２によって、第１アーム体２１の軸線に対して所定の角度、本実施の形態では４５度で傾斜する第２回転軸線Ａ２まわりに回転自在となる。
【００３３】
第３関節部Ｊｔ３は、第２アーム体２２の直列方向一端部と、第３アーム体２３の直列方向他端部とを連結する。第３アーム体２３は、第３関節部Ｊｔ３によって、第２アーム体２２の軸線に対して所定の角度、本実施の形態では４５度で傾斜する第３回転軸線Ａ３まわりに回転自在となる。第４関節部Ｊｔ４は、第３アーム体２３の直列方向一端部と、第４アーム体２４の直列方向他端部とを連結する。第４アーム体２４は、第４関節部Ｊｔ４によって、第３アーム体２３の軸線に対して所定の角度、本実施の形態では４５度で傾斜する第４回転軸線Ａ４まわりに回転自在となる。
【００３４】
第５関節部Ｊｔ５は、第４アーム体２４の直列方向一端部と、第５アーム体２５の直列方向他端部とを連結する。第５アーム体２５は、第５関節部Ｊｔ５によって、第４アーム体２４の軸線に対して所定の角度、本実施の形態では４５度で傾斜する第５回転軸線Ａ５まわりに回転自在となる。第６関節部Ｊｔ６は、第５アーム体２５の直列方向一端部と、第６アーム体２６の直列方向他端部とを連結する。第６アーム体２６は、第６関節部Ｊｔ６によって、第５アーム体２５の軸線と同軸の第６回転軸線Ａ６まわりに回転自在となる。
【００３５】
このように各関節部Ｊｔ１〜Ｊｔ６は、隣接するアーム体を互いに回転可能に連結する。また各アーム体２１〜２６が回転することで、アーム構成体２９は、図１に示すように、アーム体２１〜２６のそれぞれの軸線が同軸に配置されて一直線状に延びる状態に変形可能に構成される。各アーム体２１〜２６の軸線が一直線状に延びた状態では、第２回転軸線Ａ２と第３回転軸線Ａ３とは平行であり、第４回転軸線Ａ４と第５回転軸線Ａ５とは平行であり、第３回転軸線Ａ３と第４回転軸線Ａ４とは垂直である。
【００３６】
各多関節アーム３０Ａ〜３０Ｃは、各アーム体２１〜２６をそれぞれ相対回転させることで、アーム構成体２９を蛇のように変形させ、ハンド部２７の位置および姿勢を位置決め可能である。各多関節アーム３０Ａ〜３０Ｃのいずれかには、関節部によって連結される２つのアーム体を、関節部に設定される回転軸線まわりに回転駆動する駆動手段となるサーボモータが設けられる。
【００３７】
多関節アーム３０Ａが有する関節部Ｊｔ１〜Ｊｔ６は、駆動関節部と、非駆動関節部とのいずれかとなる。駆動関節部は、サーボモータが設けられる関節部であって、サーボモータによって連結する２つのアーム体を相対回転駆動可能な関節部である。駆動関節部は、ワーク移動にあたってワークの自由度を拘束する数以上に設けられる。また非駆動関節部は、サーボモータおよびサーボモータに付随する減速器が設けられない関節部であって、隣接する２つのアーム体の相対変位を許容する状態を維持する。言換えると、非駆動関節部は、連結する２つのアーム体が受動的に相対変位するが、能動的に相対変位させることができない。
【００３８】
本実施の形態では、第１関節部Ｊｔ１と、第２関節部Ｊｔ２と、第４関節部Ｊｔ４とが駆動関節部となり、第３関節部Ｊｔ３と、第５関節部Ｊｔ５と、第６関節部Ｊｔ６とが非駆動関節部となる。図１には、駆動関節部を黒丸記号で示し、非駆動関節を白丸記号で示す。
【００３９】
図３は、多関節アーム３０Ａのうちで、第１〜第４関節部Ｊｔ１〜Ｊｔ４を示す断面図である。駆動関節部である第１関節部Ｊｔ１、第２関節部Ｊｔ２および第４関節部Ｊｔ４には、サーボモータ４１のほかに、ブレーキ４２と、エンコーダ４３と、減速器５５とがそれぞれ設けられる。ブレーキ４２は、駆動関節部によって連結される２つのアーム体の相対変位を阻止する締結状態と、相対変位を許容する開放状態とに切換え可能な変位阻止手段となる。またエンコーダ４３は、隣接するアーム体の相対変位位置を検出する検出手段となる。減速器５５は、サーボモータ４１から与えられる動力を予め定める減速比で減速してアーム体に伝達して、アーム体を相対変位させる。
【００４０】
また非駆動関節部である第３関節部Ｊｔ３は、それぞれブレーキ４２とエンコーダ４３とが設けられ、サーボモータ４１および減速器５５が除かれる。図３には、図示していないが、残余の非駆動関節部である第５関節部Ｊｔ５および第６関節部Ｊｔ６も、第３関節部Ｊｔ３と同様にそれぞれブレーキ４２とエンコーダ４３とが設けられ、サーボモータ４１および減速器５５が除かれる。
【００４１】
各多関節アーム３０Ａ〜３０Ｃが有する駆動関節部の総数は、６つ以上が好ましい。本実施の形態では、駆動関節部は、各多関節アーム３０Ａ〜３０Ｃにそれぞれ３つ、合計９つ設けられる。言換えると、非駆動関節もまた、各多関節アーム３０Ａ〜３０Ｃにそれぞれ３つ、合計９つ設けられる。
【００４２】
各駆動関節部は、各関節部のうちで、連結する２つのアーム体の相対変位をそれぞれ固定することで、協働把持するワーク４０を介して、各多関節アーム３０Ａ〜３０Ｃが互いに支えられて、各多関節アーム３０Ａ〜３０Ｃの変形が阻止される複数の関節部に選ばれる。言換えると、各駆動関節部は、各関節部のうちで、ワーク４０を協働して把持した場合に、連結する２つのアーム体の相対変位をそれぞれ固定することで、各多関節アーム３０Ａ〜３０Ｃがワーク４０の変位を拘束する関節部に選択される。
【００４３】
第５関節部Ｊｔ５および第６関節部Ｊｔ６を非駆動関節部とした場合に、第１多関節アーム３０Ａのみでワーク４０を把持した状態では、ワーク４０が第６回転軸線Ａ６まわりに回転自在となるとともに、把持したワーク４０が第５回転軸線Ａ５まわりに回転自在となる。これに対して図２に示すように、複数の多関節アーム３０Ａ〜３０Ｃによってワーク４０を協働把持した状態では、各多関節アーム３０Ａ〜３０Ｃのハンド部２７ごとに回転可能な方向が異なることで、各多関節アーム３０Ａ〜３０Ｃが互いに支えられ、第１〜第３多関節アーム３０Ａ〜３０Ｃに設定される第５回転軸線Ａ５および第６回転軸線Ａ６まわりにワーク４０がそれぞれ回転することが阻止される。このように直列方向一端部側の１または複数の関節部Ｊｔ５，Ｊｔ６を非駆動関節部とした場合であっても、複数の多関節アーム３０Ａ〜３０Ｃが協働してワーク４０を把持することで、ワーク４０の変位を阻止することができる。
【００４４】
本実施の形態では、３つの多関節アーム３０Ａ〜３０Ｃの基台２８が、水平な床面にそれぞれ配置され、各基台２８を結ぶ線分によって三角形が形成されるように配置される。これによって第１〜第３多関節アーム３０Ａ〜３０Ｃの第６回転軸線Ａ６が全て同軸となることを防ぐことができ、ワーク４０の変位をより確実に阻止することができる。
【００４５】
第３関節部Ｊｔ３を非駆動関節部とした場合も同様であって、ワーク４０を協働把持することによって各多関節アーム３０Ａ〜３０Ｃの第３アーム体２３の位置がそれぞれ決定された状態では、第２アーム体２２の回転可能な方向が異なることで、各多関節アーム３０Ａ〜３０Ｃが互いに支えられ、第１〜第３多関節アーム３０Ａ〜３０Ｃにそれぞれ設定される第３回転軸線Ａ３まわりに第３アーム体２３がそれぞれ回転することが阻止される。
【００４６】
このように駆動関節部は、ワーク４０を協働把持したうえで、各駆動関節部にそれぞれ設けられるアーム体の相対変位を固定することで、各多関節アーム３０Ａ〜３０Ｃが変形することが阻止される関節部に選択される。言換えると、各駆動関節部にそれぞれ設けられるアーム体の相対変位を固定した状態で、それぞれの多関節アーム３０に設けられる各非駆動関節部によって許容されるワーク４０の移動可能領域が、一点で交わるように設定される。
【００４７】
図４は、ワーク４０を協働把持した多関節アームの非自立条件を示す図である。本実施の形態の位置決めロボット２０は、以下に示す非自立状態を回避する条件、言換えると自立条件を満足するように、非駆動関節部および移動経路などが適切に設定される。また図４には、２つの多関節アーム３０Ｄ，３０Ｅを用いた場合について説明する。非自立状態では、ワーク４０を位置決めすべき角変位量で各駆動関節部を回転させたとしても、ワーク４０の移動が許容されて、ワーク４０が角変位自在となる状態を意味する。
【００４８】
具体的には、図４（１）に示すように、一方の多関節アーム３０Ｄと他方の多関節アーム３０Ｅに設けられる同軸関節部６１が、非駆動関節部としてそれぞれ採用される場合、それらの各多関節アーム３０Ｄ，３０Ｅの非駆動同軸関節部６０の回転軸線６１が同軸に延びる場合に、２つの多関節アーム３０Ｄ，３０Ｅがその回転軸線６１まわりに角変位自在となる。
【００４９】
本実施の形態では、図２に示すように、各多関節アーム３０Ａ〜３０Ｃのうちで、非駆動同軸関節部となる各第６関節部Ｊｔ６の第６回転軸線Ａ６が鉛直方向に延びた状態で、ワーク４０を協働把持する。これによって、各第６回転軸線Ａ６が同軸となることを防いで、多関節アーム３０Ａ〜３０Ｃの変形を防ぐことができる。また各ハンド部２７が一直線状に並ばない状態で、ワーク４０を協働把持するので、仮に各第６回転軸線Ａ６が水平に延びる場合であっても、各第６回転軸線Ａ６が同軸となることを防いで、各多関節アーム３０Ａ〜３０Ｃの変形を防ぐことができる。
【００５０】
また図４（２）に示すように、２つの多関節アーム３０Ｄ，３０Ｅに設けられる垂直関節部６２が、非駆動関節部としてそれぞれ採用される場合もまた、それらの各多関節アーム３０Ｄ，３０Ｅの非駆動垂直関節部６２の回転軸線６３が、同軸に延びる場合に、各多関節アーム３０Ｄ，３０Ｅがその回転軸線６１まわりに角変位自在となる。ここで、垂直関節部６２は、２つのアーム体を連結し、一方のアーム体の軸線に垂直な回転軸線まわりに、他方のアーム体を相対回転自在に連結する関節部である。
【００５１】
また他の例として、一方の多関節アームの垂直関節部６２の回転軸線６３と、他方の多関節アームの同軸関節部６０の回転軸線６１とが同軸となる場合、各多関節アームがその回転軸線６１，６３まわりに角変位自在となる。本実施の形態では、各多関節アーム３０Ａ〜３０Ｃが非駆動垂直関節部６２を有しない構成であるので、多関節アーム３０Ａ〜３０Ｃの変形を防ぐことができる。
【００５２】
また図４（３）に示すように、２つの多関節アーム３０Ｄ，３０Ｅに設けられる傾斜関節部６４のいずれかが、非駆動関節部としてそれぞれ採用される場合、以下の（１）〜（４）の全ての条件を満足することで、各多関節アーム３０Ｄ，３０Ｅが変形可能となる。（１）それぞれ各多関節アーム３０Ｄ，３０Ｅに、各非駆動傾斜関節部６４ａ〜６４ｄが２つずつ設けられ、それらの各非駆動傾斜関節部６４ａ〜６４ｄの回転軸線が平行に延びる。（２）一方の多関節アーム３０Ｄに設けられる２つの非駆動傾斜関節部６４ａ，６４ｂの距離Ｌ１と、他方の多関節アーム３０Ｅに設けられる２つの非駆動傾斜関節部６４ｃ，６４ｄの距離Ｌ２とが等しい。（３）一方の多関節アーム３０Ｄに設けられる２つの非駆動傾斜関節部６４ａ，６４ｂを結ぶ直線と、他方の多関節アーム３０Ｅに設けられる２つの非駆動傾斜関節部６４ｃ，６４ｄを結ぶ直線とが平行となる。（４）２つの多関節アーム３０Ｄ，３０Ｅに設けられる直列方向一方のそれぞれの非駆動傾斜関節部６４ａ，６４ｃを結ぶ直線と、２つの多関節アーム３０Ｄ，３０Ｅに設けられる直列方向他方のそれぞれの非駆動傾斜関節部６４ｂ，６４ｄを結ぶ直線とが平行となる。
【００５３】
本実施の形態では、各多関節アーム３０Ａ〜３０Ｃには、２つの非駆動傾斜関節部Ｊｔ３，Ｊｔ５がそれぞれ設けられるものの、それらの回転軸線Ａ３〜Ａ５は、平行に位置することがない。また第１多関節アーム３０Ａの第３関節部Ｊｔ３と、第２多関節アーム３０Ｂの第３関節部Ｊｔ３とを結ぶ直線と、第１多関節アーム３０Ａの第３関節部Ｊｔ３と、第３多関節アーム３０Ｃの第３関節部Ｊｔ３とを結ぶ直線とが一致しないので、各多関節アーム３０Ａ〜３０Ｃの変形を防ぐことができる。このように、位置決めロボットは、複数の多関節アームを用いてワークを協働把持した場合に、各ワークの移動を阻止して各多関節アームが自立状態を満足する自立条件を満足する。自立条件については、図１０を用いて詳細に後述する。
【００５４】
ホストコントローラ３２は、記憶部と、演算部と、通信部と、入力部とを含んで構成される。演算部は、記憶部に記憶される演算プログラムを実行し、予め入力または記憶されるワークの移動計画に基づいて、ワーク４０が移動するワーク移動経路を演算するとともに、各多関節アーム３０Ａ〜３０Ｃのハンド部２７が移動するハンド移動経路を演算する。通信部は、多関節アーム３０Ａ〜３０Ｃ毎に演算したハンド移動経路を示す信号を、多関節アーム３０Ａ〜３０Ｃ毎に設けられるサブコントローラ３１Ａ〜３１Ｃに与える。また入力部は、操作者などからワークの移動計画が入力される。記憶部は、ＲＯＭ（Read
Only Memory）などの記憶回路によって実現される。また演算部は、ＣＰＵ（Central
Processing Unit）などの演算処理回路によって実現される。また入力部は、キーボードおよびスイッチなどであってもよく、各ロボットの位置をティーチングするティーチングペンダントを介して、ワーク４０の移動計画が入力されてもよい。
【００５５】
サブコントローラ３１Ａ〜３１Ｃは、記憶部と、演算部と、通信部と、入力部と、出力部とを含んで構成される。演算部は、記憶部に記憶される演算プログラムを実行し、通信部を介してホストコントローラ３２から与えられるハンド移動経路を示す信号に応答する。演算部は、入力部を介してエンコーダ４３から与えられるアーム体の相対角度と、通信部から与えられるハンド移動経路とに基づいて、ハンド部２７が移動経路に沿って移動するような各サーボモータ４１の動作量およびブレーキ４２の切換えタイミングを演算する。具体的には、演算部は、ハンド部の移動経路に基づいて各サーボモータ４１の動作量をそれぞれ演算する逆変換演算処理と、逆変換演算結果の各サーボモータ４１の動作量で各モータ４１を制御するサーボ処理とを行う。記憶部は、ＲＯＭ（Read Only Memory）などの記憶回路によって実現される。また演算部は、ＣＰＵ（Central Processing Unit）などの演算処理回路によって実現される。
【００５６】
出力部は、演算部が演算した演算結果が与えられて、演算結果に応答して、サーボモータ４１を動作する動力を与えるとともに、ブレーキ４２の状態を切換える信号を与える。たとえば出力部は、増幅回路であるサーボアンプによって実現される。サーボアンプは、演算部で演算されたサーボモータ４１の動作量に応じた電流を、対応する各サーボモータ４１にそれぞれ与える。これによってサーボモータ４１は、演算手段４６によって演算された動作量でアーム体を相対回転させる。またサーボアンプは、演算部で演算されたブレーキ４２の状態に応じた指令をブレーキ４２に与える。ブレーキ４２は、アーム体の変位を阻止する締結指令が与えられるとアーム体の相対変位を阻止し、アーム体の変位を許容する開放指令が与えられるとアーム体の相対変位を許容する。
【００５７】
各サブコントローラ３１Ａ〜３１Ｃは、ホストコントローラ３２の指令に従って、それぞれ多関節アーム３０Ａ〜３０Ｃを制御する。これによって各ハンド部２７を予め定めるハンド移動経路に沿って移動させることができ、各ハンド部２７に協働把持した１つのワーク４０を、予め定める目標位置および目標姿勢にワーク４０を位置合わせすることができる。
【００５８】
図５は、サブコントローラ３１Ａによる多関節アーム３０Ａのワーク移動制御手順を示すフローチャートである。各サブコントローラ３１Ａ〜３１Ｃは、同様の動作を行うので、１つのサブコントローラ３１Ａについて説明し、残余のサブコントローラ３１Ｂ，３１Ｃの説明については省略する。サブコントローラ３１Ａの演算部は、記憶部に記憶されるワーク移動制御プログラムを読出し、その制御プログラムを実行することによって、サーボモータ４１およびブレーキ４２を制御する。
【００５９】
まずステップａ０で、各多関節アーム３０Ａ〜３０Ｃの各ハンド部２７によってワーク４０を協働把持した状態で、ホストコントローラ３２からワーク移動指令が与えられると、演算部は、多関節アーム３０Ａのワーク移動制御動作を開始し、ステップａ１に進む。
【００６０】
ステップａ１では、演算部は、出力部を介して、各非駆動関節部に設けられるブレーキ４２にそれぞれ開放指令を与える。開放指令が与えられたブレーキ４２は、対応するアーム体の相対変位を許容する。演算部は、各非駆動関節部が連結するアーム体の相対変位を許容させると、ステップａ２に進む。
【００６１】
ステップａ２では、演算部は、通信部を介してホストコントローラ３２から与えられるハンド移動位置および姿勢を示す信号に応答して、ハンド移動位置にハンド部２７を移動させるような、各アーム体の相対変位位置を演算する。次に演算結果に応じて、各駆動関節部に接続されるサーボモータ４１をそれぞれサーボ制御して、各アーム体を相対回転させ、ステップａ３に進む。
【００６２】
ステップａ３では、演算部は、ハンド部２７が最終的に移動すべき終了位置に達したか否かを判断する。たとえばホストコントローラ３２から移動終了信号が与えられると、演算部は、ハンド部２７が終了位置に達したことを判断する。ハンド部２７が終了位置に達した場合、理想的な状態ではワーク４０は、予め定める目標位置に位置決めされる。
【００６３】
演算部は、ハンド部２７が終了位置に達していないと判断すると、ホストコントローラ３２から、次のハンド移動位置を示す信号が与えられるまで待機する。次のハンド移動位置を示す信号が与えられると、ステップａ２に戻り、ステップａ２とステップａ３とを繰返す。ステップａ３において、演算部は、ハンド部２７が終了位置に達したことを判断すると、ステップａ４に進む。
【００６４】
ステップａ４では、演算部は、各非駆動関節部および各駆動関節部に設けられるブレーキ４２にそれぞれ締結指令を与える。締結指令が与えられたブレーキ４２は、対応するアーム体の相対変位を阻止する。このように演算部は、各関節部が連結するアーム体の相対変位を阻止させると、ステップａ５に進む。ステップａ５では、演算部は、多関節アーム３０のワーク移動制御動作を終了する。
【００６５】
各サブコントローラ３１Ａ〜３１Ｃは、上述したステップａ０〜ステップａ５の動作をそれぞれ行う。ホストコントローラ３２は、協働把持されるワーク４０を移動させた場合に、各ハンド部２７がそれぞれ順次位置するであろうハンド移動位置を示す信号を、それぞれ対応する各サブコントローラ３１Ａ〜３１Ｃに順次与える。
【００６６】
上述したように各駆動関節部にそれぞれ設けられるアーム体の相対変位を固定した状態では、協働把持されるワークを介して各多関節アーム３０が互いに支えられ、それぞれの多関節アーム３０の変形が阻止される。したがって駆動関節部に連結されるアーム体を、ハンド部２７がハンド移動位置に移動したときに位置する相対角度位置に変位させると、非駆動関節部に連結されるアーム体は、駆動関節部に連結されるアーム体の移動に追従して、受動的に相対変位する。
【００６７】
このようにして駆動関節部および非駆動関節部によって連結されるアーム体がそれぞれ相対変位することで、ハンド部２７の把持位置のずれ、アーム体の機械的誤差およびサーボ遅れなどの各種の誤差が存在しない理想的な状態では、協働把持するワークを目標位置に位置決めすることができる。
【００６８】
またワーク移動にあたって各種の誤差が存在する現実的な状態では、サーボモータ４１によって相対変位されるアーム体は、理想的な状態に比べて、各種の誤差に起因してずれた位置に位置決めされることになる。理想的な状態に比べて２つのアーム体がずれたとしても、非駆動関節部に連結される２つのアーム体は、相対変位が自在であるので、ずれた状態で２つのアーム体を連結することができる。これによって２つのアーム体がずれた状態で無理に連結されることが抑えられ、ワーク４０および各アーム体２１〜２６に生じる変形力を抑えることができる。
【００６９】
図６は、ホストコントローラ３２における各サブコントローラ３１Ａ〜３１Ｃの制御手順を示すフローチャートである。ホストコントローラ３２の演算部は、記憶部に記憶される制御プログラムを読出し、その制御プログラムに従って各サブコントローラ３１に動作指令を与える。
【００７０】
まずステップｂ０で、準備工程として、ホストコントローラ３２は、入力部を介して、ワーク４０を移動させるために必要な移動プログラムが入力される。移動プログラムは、たとえばワーク４０が通過する複数の教示位置、前記教示位置を結ぶ移動経路の種類を示す情報、ワーク４０の移動速度および加速度、待機時間などである。入力される移動プログラムは、記憶部に記憶される。各多関節アーム３０Ａ〜３０Ｃによって協働把持されるワーク４０を移動可能な状態となって、操作者などからワーク４０の移動指令が与えられると、ステップｂ１に進み、各サブコントローラ３１Ａ〜３１Ｃへの指令動作を開始する。
【００７１】
ステップｂ１では、記憶部に記憶される移動プログラムを読出し、ステップｂ２に進む。ステップｂ２では、演算部は、読出した移動プログラムに示される命令を解読して、ワーク４０の単位時間あたりに変化するワークの位置および姿勢を演算し、ステップｂ３に進む。ステップｂ３では、演算部は、ステップｂ２で演算した演算結果に基づいて、単位時間あたりに変化する各ハンド部２７の位置および姿勢をそれぞれ演算し、ステップｂ４に進む。
【００７２】
ステップｂ４では、演算部は、ワーク移動指令をサブコントローラ３１Ａ〜３１Ｃに送信する。次に、ステップｂ３で演算した各ハンド部２７の移動位置および姿勢を示す信号を、対応するサブコントローラ３１Ａ〜３１Ｃに順次送信し、ステップｂ５に進む。ステップｂ５では、演算部は、最後のハンド移動位置および姿勢を示す移動終了信号を送信した後、各ハンド部２７が終了位置に達したことを示す終了信号を各サブコントローラ３１Ａ〜３１Ｃに送信し、ステップｂ６に進む。ステップｂ６では、演算部は、各サブコントローラ３１Ａ〜３１Ｃへの指令動作を終了する。
【００７３】
本実施の形態では、ワーク４０の移動プログラムが記憶部に記憶されたが、注目する１つのハンド部２７の移動プログラムが記憶部に記憶されていてもよい。この場合、ステップｂ２で、注目する１つのハンド部２７の移動位置および姿勢を順次演算し、ステップｂ３で、各ハンド部２７のワーク把持位置の関係に基づいて、残余のハンド部２７の移動位置および姿勢を順次演算してもよい。このように本実施の形態では、ハンド部２７の位置および姿勢の指令値を計算するホストコントローラ３２と、各ハンド部２７の移動位置および姿勢に基づいて逆変換演算を行う各サブコントローラ３１Ａ〜３１Ｃとに分けることによって、１つのコントローラにかかる演算負荷を分担することができ、各多関節アームを円滑に動作させることができる。
【００７４】
以上のように本実施の形態の位置決めロボット２０は、１つのワーク４０を複数の多関節アーム３０Ａ〜３０Ｃによって協働把持させた状態で、ワーク４０を搬送および位置決めするロボットである。複数の多関節アーム３０Ａ〜３０Ｃによってワーク４０を協働把持することで、１つの多関節アームによってワーク４０を把持する場合に比べて、各多関節アーム３０Ａ〜３０Ｃを小形化することができる。また複数の多関節アーム３０Ａ〜３０Ｃの各ハンド部２７で、ワーク４０を協働把持することで、１つの多関節アームによってワークを把持する場合に比べて、安定してワークを把持することができる。
【００７５】
本実施の形態に従えば、複数の多関節アーム３０Ａ〜３０Ｃが、非駆動関節部をそれぞれ有している。非駆動関節部を設けることで、各種の誤差が発生して２つのアーム体がずれたとしても、２つのアーム体がずれた状態で無理に連結されることが抑えられ、ワーク４０および各アーム体に生じる変形力を抑えることができ、ワーク４０および位置決めロボット２０の破損を防ぐことができる。たとえばハンド部２７のワークに対する把持位置がばらつく場合であっても、ワーク４０などに変形力が与えられることを抑えて、ワーク４０などが損傷することを防ぐことができる。
【００７６】
またたとえば各ハンド部２７が予め定められる移動経路を正確に通過しない場合であっても、ワーク４０などに生じる変形力を抑えることができる。したがってサブコントローラ３１が、逆変換演算過程において、解析解ではなく近似解を求め、近似解に基づいて各アーム体の変位位置を決定した場合であっても、協働把持したワーク４０を移動させることができる。言換えると、逆変換演算における近似解によってアーム体の変位位置を求めることができるので、本実施の形態のように多関節アーム３０Ａ〜３０Ｃのような、ハンド側または基台側の３つの関節部の回転軸線が一点で交わらずに、逆変換演算における解析的の導出が困難である場合でも、ワーク４０を円滑に移動させることができる。
【００７７】
また非駆動関節部には、サーボモータ４１および減速器５５などの駆動手段を不必要とすることができるので、各関節部のすべてが駆動関節部である場合に比べて、位置決めロボットの構造を簡単化することができるとともに、製造コストを低下させることができる。また本実施の形態では、各多関節アーム３０Ａ〜３０Ｃに１つ以上の非駆動関節部が設けられることで、各多関節アーム３０Ａ〜３０Ｃに与えられる変形力を抑えることができ、各多関節アーム３０Ａ〜３０Ｃの破損をより確実に防ぐことができる。ここで、非駆動関節部は、各多関節アーム３０がそれぞれ有していてもよく、いずれか１つの多関節アーム３０が有していてもよい。また１つの多関節アームが有する非駆動関節部は、協働把持したワーク４０を位置決め可能な範囲で、任意の数に設定可能である。
【００７８】
また本実施の形態では、ワーク移動後に各サブコントローラ３１が、ブレーキ４２を締結状態に切換える。これによって非駆動関節部に連結される２つのアーム体の相対変位を阻止することができ、非駆動関節部を用いたことによる位置決めロボットの剛性不足を補うことができる。このようにワーク４０を目標位置および目標姿勢に位置決めした後では、位置決めロボット３０の剛性を高めて、ワーク４０をより安定して支持することができる。たとえばワーク４０を支持した状態でワーク４０に加工が成される場合、加工時にワークがずれることを防いで、好適な加工を行うことができる。
【００７９】
また多関節アーム３０Ａ〜３０Ｃにそれぞれ非駆動関節部が設けられる場合には、図４（１）〜図４（３）に示すように、非駆動関節部および駆動関節部の選択態様によっては、ワーク４０の協働把持が不安定となるおそれが生じる。これに対して、本実施の形態では、各駆動関節部は、連結する２つのアーム体の相対変位をそれぞれ固定した状態で、協働把持するワーク４０を介して、各多関節アームが互いに支えられることで各多関節アームの変形が阻止される関節部に選ばれる。ワーク協働把持時において、ワーク４０を安定して把持することができ、多関節アーム３０Ａ〜３０Ｃにそれぞれ非駆動関節部が設けられても、ワーク４０の位置決めを確実に行うことができる。また位置決めロボット３０の各関節部が、傾斜関節部と同軸関節部とのいずれかによって実現されることで、ワーク４０を移動したほとんどの場合で、協働把持したワーク４０が不所望に変位することが防がれ、ワークの位置および姿勢を一定に保つことができる。また本実施の形態では、多関節アーム３０Ａ〜３０Ｃが３つ設けられ、それらの基台２８が一直線状に並ばないように配置されるので、多関節アーム３０が２つ設けられる場合に比べて、協働把持したワーク４０が不所望に変位することをさらに防ぐことができる。
【００８０】
また各多関節アーム３０Ａ〜３０Ｃが６自由度を有し、駆動関節部が６つ以上設けられることで、ワーク４０の位置および姿勢を位置合わせすることができ、ワーク４０を予め定める目標位置および目標姿勢に位置決めすることができ、利便性を向上することができる。また非駆動関節部が６つ以上設けられることで、目標位置および目標姿勢に対して、ワーク４０が任意の位置および任意の姿勢にずれた状態で把持することができる。
【００８１】
また駆動関節部は、駆動関節部として選択可能な複数の関節部のうちから、基台２８側の関節部に設定される。これによってサーボモータ４１を多関節アームの根元側に配置させることができ、多関節アーム３０のハンド側形状をさらに小形化することができる。ここで、駆動関節部として選択可能な関節部とは、協働保持したワークを任意位置に移動可能とするために最低限必要とする関節部である。
【００８２】
また各多関節アーム３０Ａ〜３０Ｃに設けられる関節部が全て駆動関節部である比較例の位置決めロボットの場合には、１８つの駆動関節部で６自由度を制御することになり、各多関節アームの同期を厳密に行って、協調制御を行う必要がある。これに対して、本実施の形態では、各多関節アーム３０Ａ〜３０Ｃに設けられる９つの駆動関節部で６自由度を制御することになるので、比較例の位置決めロボットに比べて、各多関節アームの同期を厳密に行う必要がなく、協調制御を簡単にすることができる。
【００８３】
図７は、サブコントローラ３１Ａによるハンド部２７の位置決め制御動作を示すフローチャートである。本実施の形態では、各多関節アーム３０Ａ〜３０Ｃは、サブコントローラ３１によって駆動関節部に設けられるサーボモータ４１が制御されることによって、独立してハンド部２７を任意の位置に位置決め可能に構成される単独駆動多関節アームとなる。
【００８４】
各多関節アーム３０は、ハンド部２７を、ワーク把持位置に移動した状態で、各ハンド部２７によってワーク４０が協働把持された状態で、図５に示すステップａ０に進む。多関節アーム３０は、図７に示す動作によって、人力または他のロボットの力を借りずに単独でワークを把持位置に移動させる。
【００８５】
各サブコントローラ３１Ａ〜３１Ｃは、同様の動作を行うので、第１サブコントローラ３１Ａについて説明し、残余のサブコントローラ３１Ｂ，３１Ｃの説明については省略する。第１サブコントローラ３１Ａの演算部は、記憶部に記憶されるハンド部位置決め制御プログラムを読出し、その制御プログラムを実行することによって、サーボモータ４１およびブレーキ４２を制御する。
【００８６】
まずステップｃ０で、サブコントローラ３１が、各駆動関節部にそれぞれ連結される各アーム体を角変位可能な状態で、ホストコントローラ３２などからハンド部位置決め指令が与えられると、演算部は、ハンド部２７の位置決め制御動作を開始し、ステップｃ１に進む。
【００８７】
ステップｃ１では、演算部は、出力部を介して、１つの注目する非駆動関節部に設けられるブレーキ４２に開放指令を与える。また残余の関節部に設けられるブレーキ４２に締結指令を与える。開放指令が与えられたブレーキ４２は、対応するアーム体の相対変位の阻止を解除する。また締結指令が与えられたブレーキ４２は、対応するアーム体の相対変位を阻止する。このように演算部は、各関節部に設けられるブレーキ４２に指令を与えると、ステップｃ２に進む。
【００８８】
ステップｃ２では、演算部は、出力部を介して、１または複数の駆動関節部に設けられるサーボモータ４１に駆動指令を与える。これによって注目する非駆動関節部が連結するアーム体に与えられる重力の付与方向を変化させ、ステップｃ３に進む。非駆動関節部が連結するアーム体は、変位が許容された状態であるので、重力の付与方向変化に応じて角変位する。本実施の形態では、非駆動関節部に連結されるアーム体が重力によって予め定める設定相対角度に移動するように、駆動関節部に連結されるアーム体をサーボモータ４２によって相対移動させる。この場合、非駆動関節部に連結されるアーム体が重力によって角変位して、設定相対角度に達した状態で停止する。
【００８９】
ステップｃ３では、演算部は、入力部を介して、注目する非駆動関節部に設けられるエンコーダ４２の検出結果に基づいて、非駆動関節部が連結するアーム体が設定相対角度に達したことを判断すると、ステップｃ４に進む。ステップｃ４では、演算部は、出力部を介して、注目する非駆動関節部に設けられるブレーキ４２に締結指令を与え、ステップｃ５に進む。これによって注目する非駆動関節部に連結されるアーム体は、設定相対角度に達した状態で角変位が阻止される。
【００９０】
ステップｃ５では、演算部は、全ての非駆動関節部に連結されるアーム体を、それぞれ個別に設定される設定相対角度で角変位を阻止したか否かを判断する。設定相対角度で角変位を阻止していない非駆動関節部に連結されるアーム体が存在する判断すると、その非駆動関節部を注目する非駆動関節部として再設定し、ステップｃ２に戻る。また全ての非駆動関節部に連結されるアーム体の角変位を設定相対角度としたことを判断すると、ステップｃ６に進む。
【００９１】
ステップｃ６では、演算部は、駆動関節部に設けられるサーボモータ４１に駆動指令を与え、駆動関節部に連結されるアーム体を、設定相対角度に角変位させる。角変位させると、駆動関節部に設けられるブレーキ４２に締結指令を与え、ステップｃ７に進む。これによってそれぞれ予め定められる角度位置に、各アーム体の相対角度を位置決めすることができる。ステップｃ７では、演算部は、ハンド部の位置決め制御動作を終了する。
【００９２】
このように本実施の形態では、非駆動関節部に連結されるアーム体を、外力によって相対変位させた状態で、非駆動関節部に連結されるアーム体が予め定める設定角度に到達すると、アーム体の変位を阻止する。これによってサーボモータ４１が設けられない非駆動関節部であっても、連結する２つのアームを設定角度に位置決めすることができる。各多関節アーム３０Ａ〜３０Ｃは、人力または他の装置の力を借りることなく単体で、ハンド部２７をワーク把持位置に移動させることができ、利便性をさらに向上することができる。このような単独動作多関節アームは、少なくとも最も基台２８寄りの１または複数の関節部が駆動関節部として設定されることが好ましい。これによって重力によって、ハンド側の残余の関節部を変位させることができる。また単独動作多関節アームは、単体で動作させることを考えると、重力が作用し難い関節部、図１における第１関節部Ｊｔ１や第６関節部Ｊｔ６などの垂直関節部は、非駆動関節部としないほうが好ましい。また多関節アームが直線状に変形した状態で、他の非駆動関節部と平行な関節部、たとえば第２関節部Ｊｔ２に対する第３関節部Ｊｔ３は、非駆動関節部としないほうが好ましい。
【００９３】
また各多関節アーム３０Ａ〜３０Ｃを、単体で動作させて、各ハンド部２７をワーク把持位置に移動させて、ワーク４０を協働把持させた後では、図５に示すように各サブコントローラ３１Ａ〜３１Ｃが、各多関節アーム３０Ａ〜３０Ｃにそれぞれ設けられるサーボモータ４１を制御することで、非駆動関節部のブレーキ４２を開放した状態で、協働把持するワーク４０を任意の位置に移動させることができる。
【００９４】
また本実施の形態では、非駆動関節部に連結されるアーム体に生じる重力の方向を変化させることによって、非駆動関節部に連結されるアーム体を角変位させたが、重力以外の外力、たとえばサーボモータを回転させて、慣性力をアーム体に与えることによって、非駆動関節部に連結されるアーム体を角変位させてもよい。また位置決めロボットがワークを支持固定する治具ロボットとして用いられることで、高速の位置決めが要求されることが少なく、多関節アームのハンド部を設定角度に位置決めするのに時間を要したとしても、治具ロボットとして好適に用いることができる。
【００９５】
また本実施の形態では、サーボモータ４１を回転させて、非駆動関節部に連結されるアーム体を設定角度に固定したが、これに限定されない。たとえばステップｃ２のサーボモータ４１の動作に換えて手動または他のロボットによって外力をハンド部２７に与えて、残余のステップｃ１、ｃ３〜ｃ７の動作を行ってハンド部２７を把持位置に案内してもよい。またサーボモータ４１の動作量を規定することで、非駆動関節部に連結されるアーム体の角度が定量的に決定される場合には、エンコーダ４３が設けられなくてもよい。また仮にハンド部２７の把持位置が少々ずれても、上述したように非駆動関節部が設けられることで、把持位置の移動ずれを吸収することができる。
【００９６】
図８は、本発明の第２実施形態である位置決めロボット１２０を示すブロック図である。また図９は、位置決めロボット１２０に協働把持されるワーク１４０を示す図である。第２実施形態である位置決めロボット１２０は、第１実施形態の位置決めロボット２０と対応した構成を示す。対応する構成については、第１実施形態の位置決めロボット２０に示される構成の参照符号に１００を付加した参照符号を付する。第２実施形態の位置決めロボット１２０は、関節部の種類が異なるほかは、第１実施形態の位置決めロボット１２０と同様の構成を示し、同様の構成については説明を省略する。
【００９７】
位置決めロボット１２０を用いて、駆動関節部の位置決めに誤差が生じている場合についての計算結果を以下に示す。位置決めロボット１２０は、３つの多関節アーム１３０Ａ〜１３０Ｃを有し、それぞれ同一に構成される。各多関節アーム１３０Ａ〜１３０Ｃは、直列に並ぶ６つのアーム体１２１〜１２６と、隣接する２つのアーム体を回転自在に連結する６つの関節部Ｊｔ２〜Ｊｔ７と、ハンド部１２７と、基台１２８とを含む。各アーム体１２１〜１２６は、それぞれ連結されて直列状に延びるアーム構成体１２９を構成する。
【００９８】
第２関節部Ｊｔ２は、駆動傾斜関節部となり、基台１２８に固定される第１アーム体１２１と第２アーム体１２２とを連結する。また第３関節部Ｊｔ３は、非駆動傾斜関節部となり、第２アーム体１２２と第３アーム体１２２とを連結する。また第４関節部Ｊｔ４は、駆動傾斜関節部となり、第３アーム体１２３と第４アーム体１２４とを連結する。また第５関節部Ｊｔ５は、非駆動同軸関節部となり、第４アーム体１２４と第５アーム体１２５とを連結する。また第６関節部Ｊｔ６は、非駆動傾斜関節部となり、第５アーム体１２５と第６アーム体１２６とを連結する。第７関節部Ｊｔ７は、非駆動同軸関節部となり、第６アーム体１２６とハンド部１２７とを連結する。
【００９９】
各アーム体１２１〜１２６の軸線が一直線状に配置される状態では、第２関節部Ｊｔ２と第３関節部Ｊｔ３との回転軸線Ａ２，Ａ３が平行に延び、第３関節部Ｊｔ３と第４関節部Ｊｔ４との回転軸線Ａ３，Ａ４が垂直に延びる。また各傾斜関節部Ｊｔ２，Ｊｔ３，Ｊｔ４，Ｊｔ６は、連結するアーム体の軸線から４５で傾斜する回転軸線Ａ２，Ａ３，Ａ４，Ａ６を有する。また本実施の形態では、逆変換演算が行いやすいように、第５関節部Ｊｔ５と、第６関節部Ｊｔ６と、第７関節部Ｊｔ７との回転軸線Ａ５，Ａ６，Ａ７が、第６関節部Ｊｔ６に設定される３軸交点Ｐｗで交差する。
【０１００】
図９に示すように、本実施の形態では、ワーク１４０は、正三角形板状に形成される。各ハンド部１２７は、ワーク１４０の３つの頂点位置をそれぞれ把持するとともに、ワーク１４０の三角形平面に対してそれぞれ垂直にワーク１４０を把持すると想定する。
【０１０１】
各多関節アーム１３０Ａ〜１３０Ｃの基台１２８は、予め定めるワールド座標系のＸ軸とＹ軸とを含む平面上に配置され、ワールド座標系のＺ軸まわりにワールド原点Ｐ０を一周する円周上に等間隔にそれぞれ配置される。各多関節アーム１３０Ａ〜１３０Ｃは、アーム構成体１２９の軸線が一直線状に延びるように変形すると、その軸線がワールド座標系のＺ軸に平行に延びる。
【０１０２】
各多関節アーム１３０Ａ〜１３０Ｃの基台１２８には、ベース座標系が設定される。ベース座標系は、一直線状に延びるように変形したアーム構成体１２９の軸線と、ワールド座標系のＸ軸とＹ軸とを含む平面とが交差する点がベース原点ＰＢとして設定される。ワールド座標系のＺ軸と、ベース座標系のＺ軸とは、互いに平行に延びる。またワールド座標系のＸ軸とＹ軸とを含む平面と、ベース座標系のＸ軸とＹ軸とを含む平面とは、同一平面内に位置する。
【０１０３】
ワールド座標系に対する、ワーク１４０の位置および姿勢が指定されると、ワールド座標系における各多関節アーム１３０Ａ〜１３０Ｃの三軸交点Ｐｗを決定することができる。またワールド座標系とベース座標系とで座標系変換を行うことで、個々の多関節アーム１３０Ａ〜１３０Ｃに設定されるベース座標系での三軸交点Ｐｗの３次元位置を定めることができる。
【０１０４】
第ｋ多関節アームのベース座標系における３軸交点Ｐｗαｋの３次元位置（Ｐｗｘαｋ，Ｐｗｙαｋ，Ｐｗｚαｋ）Ｔと、第ｋ多関節アームの第２関節部Ｊｔ２ｋ〜第４関節部Ｊｔ４ｋの角度ｑ２ｋ〜ｑ４ｋとには、次の（１）式に示す関係を有する
【０１０５】
【数１】
0004791168.tif 000002
【０１０６】
ここで、添え字ｋは、第ｋ多関節アームを示す記号である。たとえばＰｗｘα１は、ベース座標系における、第１多関節アーム１３０Ａの３軸交点ＰｗのＸ座標位置を示す。またｑ２１は、第１多関節アーム１３０Ａの第２関節部Ｊｔ２の角度を示す。ここで、アーム構成体１２９の軸線が一直線状に延びた状態を基準状態とすると、ｑ２ｋは、基準状態において第１アーム体１２１に対して第２アーム体１２２が相対角変位する角度である。またｑ３は、基準状態において第２アーム体１２２に対して第３アーム体１２３が相対角変位する角度である。またｑ４は、基準状態において第３アーム体１２３に対して第４アーム体１２４が相対角変位する角度である。このようにアーム体の相対角度を、関節部の角度と称する場合がある。
【０１０７】
またＬ１は、ベース原点から第２関節部Ｊｔ２までの距離であり、Ｌ２は、第２関節部Ｊｔ２から第３関節部Ｊｔ３までの距離である。またＬ３は、第３関節部Ｊｔ３から第４関節部Ｊｔ４までの距離であり、Ｌ４は、第４関節部Ｊｔ４から第６関節部Ｊｔ６までの距離である。
【０１０８】
ワーク１４０の３次元位置および姿勢が決定されると、ベース座標系における各多関節アームの３軸交点Ｐｗを求めることができ、求められた３軸交点Ｐｗを（１）式に代入することによって、各多関節アームの第２〜第４関節部の角度を求めることができる。本実施の形態では、Ｌ１＝２８０ｍｍ、Ｌ２＝２９０ｍｍ、Ｌ４＝２９０ｍｍ、Ｌ３＝１６０ｍｍ、Ｌ５＝１８０ｍｍ、Ｌｂ＝４０８ｍｍ、Ｌｈ＝４３３ｍｍである。ここでＬｂは、ワールド原点Ｐ０から各基台１２８まで距離であり、Ｌｈは、ワーク１４０の一辺の長さ（＝２・Ｌｈ）の半分の値である。また、把持位置で協働把持されるワーク１４０の中心位置の、ワールド座標系における３次元位置（Ｐｇｘ，Ｐｇｙ，Ｐｇｚ）Ｔが、（０，０，９１０）Ｔ［ｍｍ］であり、ワーク１４０の３次元姿勢（ＰｇＲｘ，ＰｇＲｙ，ＰｇＲｚ）が（０，０，４６．２２５）［ｄｅｇ］であるとする。この場合、各多関節アームの第２関節部の角度ｑ２１，ｑ２２，ｑ２３はそれぞれ６０度となる。また第３関節部の角度ｑ３１，ｑ３２，ｑ３３はそれぞれ−６０度となる。また第４関節部の角度ｑ４１，ｑ４２，ｑ４３はそれぞれ１２０となる。
【０１０９】
第ｋ多関節アームのワールド座標系における３軸交点Ｐｗβｋの３次元位置（Ｐｗｘβｋ，Ｐｗｙβｋ，Ｐｗｚβｋ）Ｔは、以下の（２）式に示す関係を有する。
【０１１０】
【数２】
0004791168.tif 000003
【０１１１】
ここで第１多関節アーム、すなわちｋ＝１ではθ＝０である。第２多関節アーム、すなわちｋ＝２ではθ＝１２０である。また第３多関節アーム、すなわちｋ＝３ではθ＝２４０である。また（Ｐｗｘαｋ，Ｐｗｙαｋ，Ｐｗｚαｋ）Ｔは、第ｋ多関節アームにおける第２〜第４関節部の角度ｑ２ｋ〜ｑ４ｋを（１）式に代入して求めた、ベース座標系における第ｋ多関節アームの３軸交点Ｐｗαの３次元位置であり、第ｋ多関節アームにおける第２〜第４関節部の角度ｑ２ｋ〜ｑ４ｋを変数として含む関数である。
【０１１２】
また第１多関節アーム１３０Ａに設定される各ハンド部２７がワーク１４０を協働把持することで、上述する（２）式は、次の（３）式の関係を満たすように条件が拘束される。
【０１１３】
【数３】
0004791168.tif 000004
【０１１４】
ここで、（ａ）式のうちの左項をＣ３とし、（ｂ）式のうちの左項をＣ１とし、（ｃ）式のうちの左項をＣ２とし、次の（４）式および（５）式に示す各項を定義する。
【０１１５】
【数４】
0004791168.tif 000005
【０１１６】
ワーク１４０が剛体であると仮定すると、いずれの多関節アームが変形しても、ハンド部の間の距離が不変である。このことから、次の（６）式が成立する。
【０１１７】
【数５】
0004791168.tif 000006
【０１１８】
（６）式について、各多関節アームに関して、非駆動関節部の角度の変化量Δｑ３ｋと、駆動関節部の角度の変化量Δｑ２ｋ，Δｑ４ｋとに分離することで、次の（７）式に変形することができる。
【０１１９】
【数６】
0004791168.tif 000007
【０１２０】
（７）式から、駆動関節部の位置決めに誤差があった場合の、非駆動関節の誤差の吸収量を計算することができる。上述した各多関節ロボットの形状（Ｌ１〜Ｌ４）等と、ワーク協働把持状態での各関節部の角度ｑ２ｋ，ｑ３ｋ，ｑ４ｋとを代入して、Ｊｌを求めると、次の（８）式が求められる。
【０１２１】
【数７】
0004791168.tif 000008
【０１２２】
たとえば駆動関節部の角度ｑ２ｋ，ｑ４ｋのうちで、第１多関節アームの第２関節部Ｊｔ２の角度ｑ２１が指令値に対して１度ずれて移動し、残余の駆動関節部の角度ｑ２２，ｑ２３，ｑ４１，ｑ４２，ｑ４３が指令値に厳密に移動した場合、非駆動関節の角度（ｑ３１，ｑ３２，ｑ３２）Ｔは、移動すべき角度から、（−１．１４９２３，０．２５５４８６、−０．２６５８４６）Ｔ［ｄｅｇ］だけ誤差が生じて位置に動く。したがって第１多関節アームの第３関節部の角度ｑ３１は、移動すべき角度（＝−６０度）に対して、上述した誤差角度（＝−１．１４９２３度）分ずれる。
【０１２３】
このとき、ワーク１４０の中心位置の、ワールド座標系における３次元位置（Ｐｇｘ，Ｐｇｙ，Ｐｇｚ）Ｔは、指令値に対して（０．６５０２６９，１．６７４６６，−０．８５２５９７）Ｔ［ｍｍ］だけずれており、ワーク１４０の３次元姿勢がＺ軸に垂直な平面に対して、０．５３７１１８［ｄｅｇ］だけ傾く。
【０１２４】
ワークの中心位置は、各多関節アームの３軸交点Ｐｗβｋの３次元位置（Ｐｗｘβｋ，Ｐｗｙβｋ，Ｐｗｚβｋ）Ｔの重心位置Ｐｗβ０（＝（Ｐｗβ１＋Ｐｗβ２＋Ｐｗβ３）／３）を求める。次に、各多関節アームの３軸交点Ｐｗβｋについて、水平面に対する方向ベクトルを求め、重心位置Ｐｗβ０に対して、前記方向ベクトルの方向にＬ５を加算することによって、ワーク１４０の中心位置を求めることができる。
【０１２５】
以上のように、に第２実施形態の位置決めロボット１２０は、各多関節アーム１３０Ａ〜１３０Ｃの第３関節部Ｊｔ３が各非駆動関節部としてそれぞれ設定されることで、駆動関節部の角度に誤差が生じたとしても、その誤差に追従して、非駆動関節部の角度が変化する。これによって（６）式を満足することができ、各アーム体およびワークが変形することなく、ワーク１４０を協働把持させることができ、ワーク１４０およびアーム体が損傷することを回避することができる。
【０１２６】
また駆動関節部の角度ずれに追従して非駆動関節部の角度が変化することについて説明したが、サーボ誤差、ワークの把持誤差、アーム体およびワークの形状誤差、各多関節アームの配置誤差などが生じる場合であっても同様であって、誤差に追従して非駆動関節部の角度が変化する。また非駆動関節部による誤差の吸収について、第２実施形態の位置決めロボット１２０を用いて説明したが、図１に示す第１実施形態の位置決めロボット２０によっても同様に、非駆動関節部によって誤差を吸収することができる。
【０１２７】
また第２実施形態の位置決めロボット１２０は、第１実施形態と同様の効果を得ることができる。さらに位置決めロボット１２０は、各多関節アーム１３０Ａ〜１３０Ｃに設けられる６つの駆動関節部で、６自由度を制御することになり、協調制御の必要がなくなる。これによって各多関節アーム１３０Ａ〜１３０Ｃの同期を厳密に一致する必要が防がれ、ワークの移動をさらに容易に行うことができる。また第５〜第７関節部の回転軸線Ａ５〜Ａ７が３軸交点Ｐｗで交差するので、逆変換演算を容易に行うことができる。
【０１２８】
図１０は、位置決めロボット１２０の自立条件を説明するための図である。図１０に示すように、６つの関節部をそれぞれ有する３つの多関節アーム１３０Ａ〜１３０Ｃを備える位置決めロボット１２０の自立条件を以下に求める。各多関節アーム１３０Ａ〜１３０Ｃの関節部の総数は１８個であり、そのうち駆動関節部は６個であり、非駆動関節部が１２個であるとする。
【０１２９】
ワーク１４０の位置姿勢を表わす行列をワーク行列Ｗとする。ワーク行列Ｗは、ワーク１４０の３次元位置（Ｗｘ，Ｗｙ，Ｗｚ）と、ワーク１４０の３次元姿勢（ＷＲｘ，ＷＲｙ，ＷＲｚ）とを含む６つの変数を有する１行６列（Ｗｘ，Ｗｙ，Ｗｚ，ＷＲｘ，ＷＲｙ，ＷＲｚ）Ｔの行列である。また３つの多関節アーム１３０Ａ〜１３０Ｃのうち、第１多関節アーム１３０Ａの各関節部の角度をそれぞれ表わす行列を第１アーム角度行列Ｑ１とする。第ｋアーム行列Ｑｋは、第Ｋ多関節アーム１３０Ａ〜１３０Ｃの各関節部Ｊｔ１ｋ〜Ｊｔ６ｋのそれぞれの角度ｑ１ｋ〜ｑ６ｋを含む６つの変数を有する１行６列（ｑ１ｋ，ｑ２ｋ，ｑ３ｋ，ｑ４ｋ，ｑ５ｋ，ｑ６ｋ）Ｔの行列である。この場合、以下の関係式を満足する。
【０１３０】
Ｗ＝Ｆ１・Ｑ１                                              …（９）
Ｗ＝Ｆ２・Ｑ２                                              …（10）
Ｗ＝Ｆ３・Ｑ３                                              …（11）
【０１３１】
ここでＦ１〜Ｆ３は、各多関節アームの関節部の種類およびアームの長さによって求められる６行６列の行列式であって、順変換式に基づいて求められる変換行列である。
【０１３２】
また第１多関節アーム１３０Ａと、第２多関節アーム１３０Ｂおよび第３多関節アーム１３０Ｃは、それぞれハンド部１２７によって剛体結合していることから、次式の拘束条件におけるＣ２とＣ３とは、ゼロとなる。
【０１３３】
Ｃ２＝Ｆ１・Ｑ１−Ｆ２・Ｑ２                                …（12）
Ｃ３＝Ｆ１・Ｑ１−Ｆ３・Ｑ３                                …（13）
【０１３４】
またワーク行列Ｗに関して、ワーク１４０の位置姿勢の微小変化量を表わす行列をｄＷとする。また第ｋアーム角度行列Ｑｋに関して、第ｋ多関節アームの各角度の微小変化量を表わす行列をｄＱｋとする。また（１０）式で表わされるＣ２およびＣ３の微小変化をｄＣ２，ｄＣ３とする。この場合、以下のヤコビ行列Ｊ１，Ｊ２，Ｊ３を定義する。各ヤコビ行列Ｊ１〜Ｊ３は、（）内の各要素を変数とする関数である。
【０１３５】
ｄＷ＝Ｊ１（ｄＱ１）                                        …（14）
ｄＣ２＝Ｊ２（ｄＱ１，ｄＱ２）                              …（15）
ｄＣ３＝Ｊ３（ｄＱ１，ｄＱ３）                              …（16）
第１〜第３アーム角度行列Ｑ１〜Ｑ３の計１８個の変数ｑ１１〜ｑ６１，ｑ１２〜ｑ６２，ｑ１３〜ｑ６３のうちから、６個を駆動関節部の角度を示す変数として選び、それらを要素とする１行６列の行列をＱａとする。また残りの１２個を非駆動関節部の角度を示す変数として選び、それらを要素とする１行１２列の行列をＱｐとする。またＱａの微小変化を示す行列をｄＱａとし、Ｑｐの微小変化を示す行列をｄＱｐとする。そして（１４）（１５）（１６）を連立して変形すれば、以下の式を得ることができる。
【０１３６】
ｄＷ＝Ｊａ・ｄＱａ                                          …（17）
ｄＱｐ＝Ｊｐ・ｄＱａ                                        …（18）
ここで、Ｊａは、６行６列の行列であり、Ｊｐは、１２行６列の行列である。
【０１３７】
駆動関節部を位置決めしているにもかかわらず、ワーク１４０が動いてしまう状態、いわゆる自立できない状態とは、（１７）式において、ｄＱａがゼロにもかかわらず、ｄＷがゼロでない値を持つことに相当する。この現象は、ヤコビ行列Ｊａの逆行列Ｊａ−１がゼロとなるときに生じる。このように逆ヤコビ行列Ｊａ−１の行列式がゼロになる状態は、ワークが「思案点」と呼ばれる位置に到達することを意味する。
【０１３８】
ヤコビ行列Ｊａの行列式がゼロになる特異点に達した状態が、開ループリンク系、閉ループリンク系のいずれにも存在するのに対し、思案点に達する状態は、非駆動関節部を有する閉ループリンク系のみ存在し得る。また、特異点は、制御上、到達しても、そこから容易に脱出できるのに対し、思案点は、到達してしまうと、もとの形態に戻れないこともあり、ワークが思案点に到達することを避けるべきである。このことは、本実施の形態の位置決めロボット全般にいえることである。
【０１３９】
したがって全１８個の関節から、６つの駆動関節部を選ぶ選び方としては、（１７）式の逆ヤコビ行列Ｊａ−１の行列式が、全空間、目的とするワーク移動空間、またはワークの移動経路上で、ゼロにならない駆動関節部に選択すればよい。このことはｎ個の駆動関節とｍ個の非駆動関節とを有する多関節ロボットがｌ個ある場合も同様である。ここで、ｎ，ｍ，ｌは、任意の整数である。また傾斜関節部を有する多関節ロボット以外、たとえば垂直多関節アームを有する位置決めロボットであっても、同様であって逆ヤコビ行列Ｊａ−１の行列式がゼロとならないことが、各アームを自立させてワークの変形を阻止する自立条件となる。
【０１４０】
ホストコントローラは、（１７）式に示す逆ヤコビ行列Ｊａ−１の行列式を演算可能な関数式を記憶しており、駆動関節部から与えられる各変位量に基づいて、逆ヤコビ行列Ｊａ−１の行列式を随時演算してもよい。ティーチング時などに、各多関節アーム１３０Ａ〜１３０Ｃによって、協働把持したワーク１４０をテスト移動させるときに、逆ヤコビ行列Ｊａ−１の行列式が予め定めるゼロ近傍の値に達すると、出力手段によってワーク１４０が思案点に近づいていることを示す情報を報知して、サーボコントローラにロボットの動作停止指令を与えてもよい。これによって各多関節アームが自立できない状態となることを防ぐことができる。
【０１４１】
また出力手段によって、逆ヤコビ行列Ｊａ−１の行列式の絶対値が大きくなる関節部の角度回転方向を表示させてもよい。この場合、指定される駆動関節部を現在位置からプラス方向およびマイナス方向に移動させて、逆ヤコビ行列Ｊａ−１の行列式の絶対値が大きくなる回転方向を出力させる。これによってワーク１４０が思案点から遠ざかることを作業者が容易に判断することができ、利便性を向上することができる。
【０１４２】
このようにホストコンピュータまたはサブコンピュータが、予め定めるプログラムを実行することによって、思案点を回避するように多関節アームを制御する制御装置となり、前記逆ヤコビ行列Ｊａ−１の行列式の絶対値を計算する計算部と、前記逆ヤコビ行列Ｊａ−１の行列式の絶対値が予め定める設定値以下であるか否かを判定する判定部と、判定部において前記逆ヤコビ行列Ｊａ−１の行列式の絶対値が前記設定値よりも小さいと判定されると、前記逆ヤコビ行列Ｊａ−１の行列式の絶対値が前記設定値よりも大きくなるように駆動関節部の角度を角変位させる制御部を含むコンピュータも本発明に含まれる。またワークを移動させるにあたって、計算部による計算段階、判定部による判定段階および制御部による制御段階を繰返して、思案点を回避するように駆動関節部の角度を制御することも本発明に含む。
【０１４３】
図１１は、本発明の第３実施形態である位置決めロボット２２０を示す斜視図である。第３実施形態である位置決めロボット２２０は、第１実施形態の位置決めロボット２０と対応した構成を示す。対応する構成については、第１実施形態の位置決めロボット２０に示される構成の参照符号に、２００を付加した参照符号を付する。第３実施形態の位置決めロボット２２０は、各多関節アームが６自由度を有する垂直多関節型に形成されるほかは、第１実施形態の位置決めロボット１２０と同様の構成を示し、同様の構成については説明を省略する。
【０１４４】
各多関節アーム２３０Ａ〜２３０Ｃは、基台２２８からハンド部２２７に向かってアーム体２２１〜２２６の直列方向に進むにつれて、第１〜第６関節部Ｊｔ１〜Ｊｔ６が順に並んで設けられる。第１関節部Ｊｔ１は同軸関節部となり、第２関節部Ｊｔ２は垂直関節部となり、第３関節部Ｊｔ３は、垂直関節部となる。また第４関節部Ｊｔ４は同軸関節部となり、第５関節部Ｊｔ５は垂直関節部となり、第６関節部Ｊｔ６は、同軸関節部となる。
【０１４５】
本実施の形態では、第１〜第３関節部Ｊｔ１〜Ｊｔ３が駆動関節部となり、第４〜第６関節部が非駆動関節部となる。また各多関節アーム２３０Ａ〜２３０Ｃの基台２２８をそれぞれ結ぶ線分によって三角形が形成される。駆動関節部は、連結する２つのアーム体の相対変位をそれぞれ固定することで、協働把持するワーク２４０を介して、各多関節アーム２３０Ａ〜２３０Ｃが互いに支えられることで各多関節アーム２３０Ａ〜２３０Ｃの変形が阻止される関節部に選ばれる。
【０１４６】
各多関節アーム２３０Ａ〜２３０Ｃの第３関節部Ｊｔ３と第５関節部Ｊｔ５とが、それぞれ平行に延びた状態では、それぞれが非駆動関節部であるとワーク２４０が垂直方向に移動可能となってしまう。また各多関節アーム２３０Ａ〜２３０Ｃの第１関節部Ｊｔ１と第６関節部Ｊｔ６とが、それぞれ平行に延びた状態では、それぞれが非駆動関節部であるとワーク２４０が水平方向に移動可能となってしまう。これに対して、本実施の形態では、上述したように、第３関節部Ｊｔ３と第５関節部Ｊｔ５とが駆動関節部となることによって、ワーク２４０が不所望に変位することを防ぐことができる。
【０１４７】
このような第３実施形態の位置決めロボット２２０であっても、第１および第２実施形態の位置決めロボット２０，１２０と同様の効果を得ることができる。すなわち協働把持したワーク２４０を移動させるにあたって、非駆動関節部が設けられることで、誤差に起因して発生するワーク２４０および位置決めロボット２２０に与えられる変形力を抑えることができ、ワーク２４０および位置決めロボット２２０の破損を防ぐことができる。このような第３実施形態の位置決めロボット２２０であっても、上述した自立条件を満足するように、駆動関節部が選択されるとともに、ワーク２４０の移動可能領域または移動経路が決定されることが好ましい。
【０１４８】
以上のような各本実施の形態は本発明の例示に過ぎず、発明の範囲内において構成を変更することができる。たとえば本発明は、複数の多関節アームによってワーク４０を協働把持し、多関節アームの少なくとも１つの関節部が非駆動関節であれば適用可能である。たとえば全ての関節部が駆動関節部となる多関節アームと、全ての関節部が非駆動関節部となる多関節アームとによってワークを協働把持する位置決めロボットも本発明に含まれる。また多関節アームが有する非駆動関節部は、任意の数に設定可能である。
【０１４９】
また３つ以上の多関節アームによってワークを協働把持することが好ましいが、２つの多関節アームによってワークを協働把持する位置決めロボットもまた本発明に含まれる。また異なる種類の多関節ロボットによってワークを協働把持してもよい。また非駆動関節部にブレーキ４１およびエンコーダ４２が設けられない構成も本発明に含まれる。また本実施の形態では、サブコントローラ３２とホストコントローラ３１を用いたが、それらの動作を行う１つのコントローラによって、各サーボモータ４１が制御されてもよい。
【図面の簡単な説明】
【０１５０】
【図１】本発明の第１実施形態である位置決めロボット２０を示すブロック図である。
【図２】各多関節アーム３０Ａ〜３０Ｃによってワーク４０を協働把持した状態を示す斜視図である。
【図３】多関節アーム３０Ａのうちで、第１〜第４関節部Ｊｔ１〜Ｊｔ４を示す断面図である。
【図４】ワーク４０を協働把持した多関節アームの変形条件を示す図である。
【図５】サブコントローラ３１Ａによる多関節アーム３０Ａのワーク移動制御手順を示すフローチャートである。
【図６】ホストコントローラ３２における各サブコントローラ３１Ａ〜３１Ｃの制御手順を示すフローチャートである。
【図７】サブコントローラ３１Ａによるハンド部２７の位置決め制御動作を示すフローチャートである。
【図８】本発明の第２実施形態である位置決めロボット１２０を示すブロック図である。
【図９】位置決めロボット１２０に協働把持されるワーク１４０を示す図である。
【図１０】位置決めロボットの自立条件を説明するための図である。
【図１１】本発明の第３実施形態である位置決めロボット２２０を示す斜視図である。
【符号の説明】
【０１５１】
２０  位置決めロボット
２１〜２６  アーム体
２７  基台
２８  ハンド部
３０Ａ〜３０Ｃ  多関節アーム
３１Ａ〜３１Ｃ  サブコントローラ
３２  ホストコントローラ
４０  ワーク
４１  サーボモータ
４２  ブレーキ
４３  エンコーダ
Ｊｔ１〜Ｊｔ６  関節部
【図１】
0004791168.tif 000009
【図２】
0004791168.tif 000010
【図３】
0004791168.tif 000011
【図４】
0004791168.tif 000012
【図５】
0004791168.tif 000013
【図６】
0004791168.tif 000014
【図７】
0004791168.tif 000015
【図８】
0004791168.tif 000016
【図９】
0004791168.tif 000017
【図１０】
0004791168.tif 000018
【図１１】
0004791168.tif 000019