本発明は、第1部材と第2部材が伸縮する複数のリンクで連結されているパラレルリンク型ロボットと、パラレルリンク型ロボットのリンク制御に異常が発生したことを検知する方法に関する。
第1部材と第2部材を複数のリンクが並列に連結しているパラレルリンク型ロボットが知られている。本明細書では、ベースとなる部材を第1部材と称し、揺動する部材を第2部材と称する。パラレルリンク型ロボットは、アクチュエータによってリンクを伸縮し、第1部材に対する第2部材の姿勢を所望の姿勢(目標姿勢)に追従させる。なお、パラレルリンク型ロボットは、リンクの長さによって第2部材の角度を決めるタイプもあれば、第2部材の角度と位置の双方を決めることができるタイプもある。第2部材の角度を決める場合、ロール、ピッチ、ヨーの3つの角度を決めるものもあれば、一つの軸周りの角度だけを決めるタイプもある。前者の例は、直交3軸方向の位置と直交3軸周りの角度の合計6自由度を制御可能なモーションライドと呼ばれる装置がその代表である。後者の例としては、非特許文献1に開示されている平面3自由度を制御する装置がある。非特許文献1に開示されているパラレルリンク型ロボットは、第2部材の平面内の位置(2自由度)と、平面の垂線周りの角度(1自由度)を決めることができる。また、パラレルリンク型ロボットを人の歩行補助装置に適用した例が特許文献1に開示されている。
本明細書では、第2部材の「位置」と「角度」を「姿勢」という言葉で総称する。この点についてまず、説明する。直交3軸方向の位置と直交3軸周りの角度の空間6自由度のうち、第2部材に許容する自由度としていずれの自由度を選択するかはパラレルリンク型ロボットの機構に依存する。パラレルリンク型ロボットに限らずロボット一般において、ロボット先端の角度と位置は位置決め制御においては同等に扱うことができる。角度と位置を総称する用語として、「空間座標」という用語が使われることがある。ただし、本明細書では、理解し易さを考慮し、「空間座標」(即ち、角度及び/又は位置)を、「姿勢」と称する。特に、本明細書では、空間6自由度のうち第2部材に許容されている自由度に対して、各自由度に対応する角度及び/又は位置を規定する値の組を「姿勢」と称する。例えば、第2部材に3自由度が許容されている場合、第2部材の姿勢は、各自由度を決める3個の数値の組で表される。そして、第2部材の制御目標値である角度及び/又は位置を「目標姿勢」と称する。
なお、以下では、第2部材に許容されている自由度の数をN自由度とする。例えば、第2部材の6自由度全てを決定可能なパラレルリンク型ロボットではN=6である。自由度Nは6に限られないことに留意されたい。例えば、リンクによって第2部材が平面上を移動するように構成されているパラレルリンク型ロボット場合、第2部材の自由度Nは、平面内の位置2自由度と平面垂線周りの1つの回転自由度の合計3自由度である(例えば非特許文献1を参照)。それ以外の自由度は拘束されている。即ち、第2部材に許容されている自由度Nは3である。
ヴォラポッド セリーラット、佐藤三禄、「油圧シリンダを用いた平面3自由度パラレルリンクサーボ機構の運動制御(第1報)」、日本フルードパワーシステム学会論文集、第35巻、第2号、8−13ページ、2004年3月
パラレルリンク型ロボットは、リンクの長さを調整することによって第2部材の姿勢を決めるため、各リンクにはリンクの長さを計測するためのセンサが備えられている。センサが故障すると、正常なリンク制御ができなくなる。センサの故障に備えるため、各リンクに複数のセンサを設けることがある。各リンクに複数のセンサを設けるとコストが嵩む。本明細書は、パラレルリンク型ロボットの構造の特徴を利用し、各リンクに複数のセンサを備えることなく、リンクの制御に異常が発生していないか否かを検知する技術を提供する。
パラレルリンク型ロボットは、第2部材のN自由度の姿勢を決定するためにN本のリンクを備える。N本のリンクは、夫々が第1部材と第2部材を連結している。パラレルリンク型ロボットでは、第2部材の目標姿勢を各リンクの目標長さに変換し、目標長さに一致するように各リンクの長さを制御する。パラレルリンク型ロボットでは、1本のリンクでも正常に制御できなくなると、他のリンクの長さが目標長さに一致していても第2部材の姿勢が目標姿勢に一致しない。そのため、センサが故障し、そのセンサの出力データは目標長さに等しい長さを示しているが、実際のリンク長さは目標長さに等しくない状況が起こり得る。そのような場合、全てのセンサの出力データは夫々の目標長さを示すが第2部材の姿勢は目標姿勢に一致しない。そのような状況に対処するために、本明細書が開示するパラレルリンク型ロボットは、N本のリンクの他にさらに、第1部材と第2部材を連結する別のリンクを備える。「N本のリンク」と「別のリンク」区別するため、N本のリンクを主リンクと称し、別のリンクを補助リンクと称する。ただし、補助リンクは主リンクと同じ構成を有していてもよい。本明細書が開示する技術は、補助リンクの長さから、いずれかの主リンクの制御に異常が発生していることを検知する。
夫々の主リンクは、主リンクを伸縮させるためのアクチュエータを備えている。主リンクの長さを制御するため、夫々の主リンクにはその長さを計測するセンサも備えられている。パラレルリンク型ロボットのコントローラは、第2部材の姿勢を目標姿勢に一致させるようにアクチュエータによって主リンクの長さを制御する。
本明細書が開示するパラレルリンク型ロボットは、N本の主リンクに加えて、第1部材と第2部材を連結している補助リンクを備える。補助リンクにはその長さを計測するセンサが備えられている。補助リンクが備えるセンサと主リンクが備えるセンサを区別するために、主リンクが備えるセンサを主センサと称し、補助リンクが備えるセンサを補助センサと称することがある。ただし、主センサと補助センサは同タイプのものであってよい。主センサと補助センサを併せて「センサ」と称する場合がある。同様に、主リンクと補助リンクを併せて「リンク」と称する場合がある。
補助リンクは、外部から加えられるリンク軸方向の力によって受動的に伸縮することができるように構成されている。例えば、補助リンクは、バネによって伸展方向に付勢されている。主リンクの能動的な伸縮によって第2部材の姿勢が変化し、第2部材の姿勢変化に伴って補助リンクの長さが受動的に変化する。
本明細書が開示する技術は、第2部材の動きに伴って受動的に伸縮する補助リンクの長さから、いずれかの主リンクの制御に異常が発生しているか否かを検知する。コントローラは、補助センサによって計測された補助リンクの長さが、第2部材の姿勢が目標姿勢に一致した場合の補助リンクの予定長さと異なる場合に、いずれかの主リンクの制御に異常が発生していると判断する。異常が発生していると判断した場合、例えば、コントローラは、主リンクの制御を停止する。或いはコントローラは、異常が発生している旨を知らせる信号を外部に出力する。
本明細書が開示するパラレルリンク型ロボットは、N本の主リンクとは別に、第1部材と第2部材を主リンクと並列に連結する補助リンクを備える。許容されている自由度Nに対して主リンクの数がN本であるから、N本の主リンクによって自由度Nの全ての値が一意に定まる。即ち、第2部材の姿勢が一意に定まる。但し、本明細書では、特異点については言及しない。全ての主リンクが正常に制御されている場合、第2部材の姿勢は目標姿勢に一致する。本明細書が開示する技術は、N本の主リンクの長さを制御することによって目標姿勢に一致するはずの第2部材の姿勢を、補助リンクの長さに基づいて検証する。補助リンクの長さが予定長さと異なる場合、いずれかの主リンクの制御が正常に行われていないことが判明する。本明細書が開示する技術によれば、全ての主リンクに複数のセンサを備えることなく、いずれかの主リンクの制御に異常が発生していることを検知することができる。
なお、上記の異常検知は、次の状況を想定している。いずれかの主センサが故障し、実際には第2部材の姿勢が目標姿勢と一致してはいないが、故障した主センサの出力を使って算出された第2部材の姿勢が目標姿勢に一致している状況である。そのような状況では、主センサの出力だけでは異常を検知できない。本明細書が開示する技術は、そのような状況であっても主リンクの制御異常を検知することができる。
計測される補助リンクの長さを予定長さと比較することに代えて、補助リンクの長さを使って第2部材の姿勢を算出し、算出された姿勢を目標姿勢と比較することも好適である。即ち、コントローラは、次の処理を行うことも好適である。(1)N本の主リンクの中から選択したN未満の数の主リンクに補助リンクを加えた合計N本のリンクの長さから第2部材の姿勢を算出する。(2)算出された姿勢が目標姿勢と異なる場合に、リンクの制御に異常が発生していると判断する。そのような処理によって、第2部材の実際の姿勢が目標姿勢からどの位ずれているのかも同時に検出することができる。
いずれかの主リンクで制御異常が発生すると、第2部材の姿勢を目標姿勢に一致させる制御を継続できなくなる。本明細書は、いずれかの主リンクで制御異常が発生した場合であっても制御を継続することのできる技術も提供する。そのためにパラレルリンク型ロボットは、補助リンクにアクチュエータを備える。補助リンクのアクチュエータはコントローラによって制御され、補助リンクを能動的に伸縮させることができる。コントローラは、補助リンクが外部からリンク軸方向に加えられる力によって受動的に伸縮する力制御モードと、補助リンクの長さが目標長さに一致するように補助リンクを制御する位置制御モードとを切り換えて補助リンクを制御することができるように構成される。例えば、電源遮断時の伸縮摺動抵抗が小さければ、コントローラは、アクチュエータの電源を遮断することによって力制御モードを実現することができる。或いは、補助リンクに外力を計測する力センサ(例えばロードセル)を取り付け、力センサが計測する外力がゼロに近い閾値以下となるようにアクチュエータを制御することによっても力制御モードを実現することができる。さらに、コントローラは、リンクの制御に異常が発生していると判断した場合に、補助リンクを位置制御モードに切り換えて第2部材の姿勢を目標姿勢に一致させる制御に用いるように構成されている。上記の構成によって、いずれかの主リンクの制御が異常となった場合に補助リンクを使って第2部材の位置決め制御を継続することができる。なお、本明細書は、異常が発生しているリンクを特定する方法も提案する。その方法は後述する。
補助リンクがアクチュエータを備える場合、補助リンクの構造は主リンクの構造と同じであってよい。即ち、補助リンクのアクチュエータとセンサは、主リンクのアクチュエータとセンサと同じものであってよい。即ち、パラレルリンク型ロボットは、N自由度が許容されている第2部材に対してNより多いM本の主リンクを備える構造であってよい。以下に、そのような構造を有するパラレルリンク型ロボットにおいてリンクの制御異常を検知する方法を説明する。
本明細書が開示する他の技術は、N+M本のリンクが並列に第1部材と第2部材を連結しており、第2部材がN自由度を許容されているパラレルリンク型ロボットの異常を検知する方法である。ここで、N本のリンクは、アクチュエータによって能動的に伸縮する主リンクに相当する。M本のリンクは、主リンクの伸縮に伴って(第2部材の動きに伴って)受動的に伸縮する補助リンクに相当する。この方法は、次の4つのステップを備える。第1ステップでは、N+M本の全リンクの中からN本のリンクを選択する。このとき、主リンクと補助リンクが混在する組み合わせも取り得る。第2ステップでは、選択されたリンクの長さから第1部材に対する第2部材の姿勢を算出する。第3ステップでは、算出された姿勢を第2部材の目標姿勢と比較する。第4ステップでは、上記した第1ステップから第3ステップを異なるリンクの組み合わせで繰り返す。第4ステップはさらに、算出された姿勢が目標姿勢と一致するリンク組み合わせと一致しないリンク組み合わせが存在する場合、一致しないリンク組み合わせに含まれないリンクを制御異常発生リンクとして特定する。
上記の方法で制御異常が発生しているリンクを特定できる理由は次の通りである。今、前提としているのは、異常が発生している主リンクでは、主センサの出力データは目標長さに等しい長さを示しているが、実際のリンク長さは目標長さに等しくない場合である。また、パラレルリンク構造では、1本のリンクが目標長さに一致していない場合、他のリンクが目標長さに一致していても第2部材の姿勢は目標姿勢に一致しない。そのため、異常が発生しているリンクを含むリンク組み合わせでは算出された姿勢が目標姿勢に一致するが、正常なリンクのみから構成されるリンク組み合わせでは算出された姿勢が目標姿勢に一致しない。従って、算出された姿勢が目標姿勢に一致しないリンク組み合わせを構成するリンクを除外していくことによって、異常が発生しているリンクを特定できる。
なお、前述したように、補助リンクが主リンクと同様にアクチュエータを備えていてもよい。その場合、N+M本の主リンクを備え、コントローラは、M本のリンクを、力制御モードで制御すればよい。その場合、前述したように、異常が発生した主リンクに代えて力制御モードで制御していたリンクを位置制御モードに切り換えることで第2部材の姿勢制御を継続することができる。
本明細書は、パラレルリンク型ロボットにおいて、いずれかのリンクに制御異常が発生したことを検知する技術を提供する。
第1実施例のパラレルリンク型ロボットの模式的平面図を示す。
姿勢制御のフローチャート図を示す。
異常検知処理のフローチャート図を示す。
第2実施例のパラレルリンク型ロボットの模式的斜視図を示す。
第2実施例のロボットの異常検知処理のフローチャート図を示す。
図1に、第1実施例のパラレルリンク型ロボット100の模式的平面図を示す。以下、簡単のため、パラレルリンク型ロボット100を単にロボット100と称する。ロボット100は、第2部材12をXY平面内で位置決めする3自由度のパラレルリンク型ロボットである。第2部材12は、XY平面内で移動可能であり、XY平面から外れることはできない。即ち、第2部材12に許容されている自由度Nは、N=3である。ロボット100は、第2部材12のXY面内での位置と、XY平面の垂線回りの回転角の合計3自由度を制御することができる。第2部材12のXY面内での位置と、XY平面の垂直線回りの回転角の組み合わせが第2部材12の「姿勢」に相当する。
第2部材12は、3本の主リンク13a、13b、及び、13cと、1本の補助リンク15を介して第1部材11に連結されている。以下、3本の主リンクを総称する場合には「主リンク13」と記述し、区別なく1本の主リンクを示す場合には「各主リンク13」と記述する。3本の主リンク13は、夫々が第1部材11と第2部材12を連結している。3本の主リンク13は並列に配置されている。各主リンク13は、一端が第1部材11に揺動可能に連結されているとともに、他端が第2部材12に揺動可能に連結されている。各主リンク13は、リンク長さを調整するリニアアクチュエータ14と、主リンクの長さを計測するためのリニアエンコーダ17aを備える。リニアエンコーダ17aが主センサに相当する。リニアアクチュエータ14は、例えばボールネジとウォームギアを組み合わせた構造を有しており、モータによって駆動される。リニアエンコーダ17aのセンサデータはコントローラ20に送られる。コントローラ20は、リニアエンコーダ17aのセンサデータに基づいて、第2部材12の姿勢を目標姿勢に一致させるように、3本の主リンク13(リニアアクチュエータ14)を制御する。以下、リニアアクチュエータを単に「アクチュエータ」と称し、リニアエンコーダを単に「エンコーダ」と称する。
ロボット100はさらに、補助リンク15を備える。補助リンク15は、主リンク13と並列に第1部材11と第2部材12を連結している。補助リンク15の一端が第1部材11に揺動可能に連結されているとともに、他端が第2部材12に揺動可能に連結されている。補助リンク15は、その長さを伸展させる方向に付勢するバネ16を備える。補助リンク15は、バネ16の付勢力によって、第2部材12の動きに応じて、即ち軸方向に加わる外力によって、受動的に伸縮する。バネ16の付勢力は、アクチュエータ14が出力する力に比べて無視し得るほど小さい。従って、補助リンク15は、第2部材12の動きに応じて「受動的に」伸縮する。また、補助リンク15は、その長さを計測するためのエンコーダ17bを備える。エンコーダ17bが補助センサに相当する。エンコーダ17bのセンサデータもコントローラ20へ送られる。なお、主リンク13が有するエンコーダ17aと補助リンク15が有するエンコーダ17bは同じものであるが、主リンク13が有するエンコーダ(主センサ)と補助リンクが有するエンコーダ(補助センサ)を区別するため、符号に添え字「a」、「b」を付している。
ロボット100は、3本の主リンク13の長さを調整することによって、第2部材12の3自由度の姿勢を決定する。図2に、コントローラ20が実行する姿勢制御のフローチャートを示す。コントローラ20は、各エンコーダ17aのセンサデータ(主リンクの長さのデータ)を取得する(S22)。次にコントローラ20は、第2部材12の目標姿勢から、目標姿勢を実現するための各主リンク13の目標長さを算出する(S23)。パラレルリンク型ロボットの第2部材の(目標)姿勢から各リンクの(目標)長さを求める変換式はロボット工学において通称「逆変換」と呼ばれている。なお、各主リンクの長さから第2部材の姿勢を求める変換式は通称「順変換」と呼ばれる。「順変換」、「逆変換」は、ロボットの機械的構造に依存する。それらの変換式についてはロボット工学の分野では良く知られているので説明は省略する。コントローラ20は、エンコーダ17a(主センサ)によって計測された各主リンク13の長さが、目標長さに一致するように各アクチュエータ14を駆動する(S24)。別言すれば、コントローラ20は、第2部材12の姿勢を目標姿勢に一致させるようにアクチュエータ14によって主リンク13の長さを制御する。
コントローラ20は、主リンクを制御している間、補助リンク15の長さに基づいて、主リンクの制御が正常に行われているか否かをモニタする。ここで、第2部材12に許容されている自由度Nは「3」であり、第2部材12を動かすための主リンク13の数も3本であるから、第2部材12の姿勢は、3本の主リンクの長さによって一意に定まる。補助リンク15は、第2部材12の動きに合わせて受動的に伸縮する。補助リンク15は、第2部材12の姿勢決定には寄与しない。ロボット100は、第2部材12の姿勢決定には寄与しない補助リンクを使って、第2部材12の姿勢を決定するために能動的に伸縮する主リンクに制御異常が発生していないかをモニタする。
主リンクの制御異常検知処理のフローチャートを図3に示す。コントローラ20は、まず、補助リンク15が備えるエンコーダ17b(補助センサ)のデータを取得する(S32)。即ちコントローラ20は、補助リンク15の長さを取得する。次にコントローラ20は、第2部材12の姿勢が目標姿勢に一致したと仮定した場合に補助リンク15が実現すべき予定長さを算出する(S33)。予定長さは、目標姿勢を逆変換することによって得られる。
次にコントローラ20は、ステップS33で算出された予定長さがステップS32で取得した補助リンク15の長さ(計測長さ)と一致しているか否かを判断する(S34)。予定長さが計測長さに一致している場合は(S34:YES)、3本の主リンク13によって目標姿勢が実現されていることを意味する。この場合は、コントローラ20は異常検知処理を終了する。他方、予定長さが計測長さに一致していない場合(S34:NO)、第2部材12の姿勢が目標姿勢に一致していないことを意味する。S34の分岐判断が「NO」の場合、コントローラ20は、いずれかの主リンクの制御に異常が発生していると判断する。この場合、コントローラ20は、アクチュエータ14の制御を停止するとともに(S36)、異常発生を知らせる信号を出力する(S37)。例えばコントローラ20は、異常発生を通知するランプを点灯させる信号を出力する。
図3のステップS34において、補助リンク15の計測長さが予定長さと一致しない場合、即ち異常発生と判断する場合について説明を加える。先に述べたように、この場合は、第2部材12の姿勢が目標姿勢に一致していないことを意味する。図2に示したフローチャートとともに先に説明したように、各主リンク13の長さは、第2部材12の姿勢が目標姿勢に一致するように制御されている。全ての主センサ(エンコーダ17a)が正常に機能している場合であって、何らかの理由で第2部材12の姿勢が目標姿勢に一致していない場合、いずれかの主リンクにおいて、目標長さと計測長さの偏差が残る。アクチュエータを制御しても偏差が残ることから、コントローラ20は第2部材12が目標姿勢に一致していないことを検知できる。しかしながら、いずれかの主センサ(エンコーダ17a)が故障しており、実際には主リンク長さが目標長さに一致してはいないが、主センサの出力が、主リンク長さが目標長さに等しいことを示している場合、主センサの出力からは故障を検知することができない。そこで、実施例のロボット100では、補助リンク15の補助センサ(エンコーダ17b)のセンサデータを使って第2部材12の姿勢を算出し、主センサ(エンコーダ17a)の出力が正しいか否かをモニタしている。ロボット100は、補助リンク15を備えることによって、主センサだけでは検知不可能なタイプの制御異常を検知することができる。
図3に示した異常検知処理の代替処理を説明する。コントローラ20は、ステップS33で補助リンクの予定長さを算出する代わりに、3本の主リンク13の中から選択した2本の主リンクに補助リンクを加えた合計3本のリンク長さから第2部材12の姿勢を算出してもよい。その場合、ステップS34では、算出された姿勢が目標姿勢と異なる場合に、リンクの制御異常が発生したと判断する。そのような手法は、補助リンクの計測長さに基づいて主センサの異常を検知するという観点において、図3のフローチャートによる異常検知の手法と基本的に同等である。ただし、この手法は、目標姿勢と実際の姿勢の偏差がどの程度であるかを同時に検出することができる利点がある。コントローラ20は、目標姿勢と実際の姿勢との偏差が予め定められた閾値を超えた場合に、異常が発生したと判断するように構成されることも好適である。
上記説明した手法を自由度Nについて表現すると以下の通りである。コントローラ20は、N本の主リンクの中から選択したN以下の数の主リンクに補助リンクを加えた合計N本のリンク長さから第2部材の姿勢を算出し、算出された姿勢が目標姿勢と異なる場合に、異常が発生していると判断する。補助リンクを加えた合計N本のリンクの長さを用いるので、N自由度の第2部材の姿勢を決定することができる。上記説明した異常検知の方法は、複数の補助リンクを備える場合であっても適用できることに留意されたい。
次に第2実施例のパラレルリンク型ロボット200を説明する。以下では、パラレルリンク型ロボット200を単にロボット200と称する。ロボット200の模式的斜視図を図4に示す。ロボット200は、第2部材212の直交3軸各軸周りの回転角を変更することができる3自由度パラレルリンク型ロボットである。ここで、図4に示すX軸、Y軸、Z軸が、直交3軸に相当する。各軸周りの回転角は、いわゆる、ピッチ角、ロール角、及びヨー角に相当する。
第2部材212は、第1部材211から伸びる支柱230の先端にボールジョイントを介して揺動可能に連結されている。第2部材212は、ボールジョイントによって支柱230の先端に連結されているので、3軸各軸の周りに揺動することができる。しかし第2部材212は、支柱230によって、並進方向の移動は拘束されている。即ち、第2部材212に許容されている自由度Nは、N=3である。第2部材212の各軸周りの回転角(ピッチ角、ロール角、及び、ヨー角)の組み合わせが、第2部材212の「姿勢」に相当する。なお、Z軸は、支柱230の長手方向に伸びる軸であり、X軸とY軸は、Z軸に直交する軸である。
ロボット200では、4本の主リンク213a、213b、213c、及び、214dが、夫々第1部材211と第2部材212を連結している。各主リンクとも、一端がボールジョイントを介して第1部材211に揺動可能に連結されており、他端がボールジョイントを介して第2部材212に揺動可能に連結されている。各主リンクは、リンクを伸縮させるアクチュエータ(リニアアクチュエータ)214と、リンク長を計測するエンコーダ(リニアエンコーダ)217を有する。エンコーダ217はアクチュエータ214に内蔵されており、図示を省略している。各主リンクの長さは、コントローラ220によって制御される。
図4に示す機械的構造を有するロボット200は、全ての主リンクを同時に伸ばすと(同時に縮めると)、第2部材212がZ軸の周りに回転する。いくつかの主リンクを伸ばし、他の主リンクを縮めることによって、第2部材212はX軸或いはY軸の周りに回転する。そのようにして、ロボット200は、第2部材212の姿勢(各軸周りの角度)を目標姿勢に一致させることができる。即ちロボット200は、第2部材212の3自由度の姿勢を目標姿勢に一致させることができる。
1本の主リンク213aは、力センサ218を備えている。力センサ218は、主リンク213aの軸方向に加わる力(外力)を計測する。コントローラ220は、力センサ218によって計測される外力がほぼゼロとなるように主リンク213aの長さを制御する。即ち、主リンク213aは、軸方向に作用する外力に応じて受動的に伸縮するように力制御される。このことを、コントローラ220が主リンク213aを「力制御モードで制御する」と表現する。他方、コントローラ220は、他の3本の主リンク213b、213c、及び、213dの長さを適宜に調整することによって、第2部材212の姿勢を目標姿勢に一致させることができる。コントローラ220は、先に説明した逆変換によって目標姿勢から主リンク213b、213c、及び、213dの目標長さを算出し、夫々の主リンクが目標長さに一致するように制御する。このことを、コントローラが主リンク213b、213c、及び、213dを「位置制御モードで制御する」と表現する。なお、第2部材212の自由度NはN=3であるから、3本の主リンク213b、213c、及び、213dの長さによって第2部材212の姿勢が一意に定まる。前述したように、主リンク213aは、外力に応じて受動的に伸縮するように制御されるので、3本の主リンク213b、213c、及び、213dの長さ変化によって第2部材212の姿勢が変化し、第2部材212の姿勢変化に伴って主リンク213aの長さが受動的に変化する。
力制御モードで制御される主リンク213aを位置制御モードで制御される他の3本の主リンクと区別するために、主リンク213aを「補助リンク213a」と称する場合がある。同様に、主リンク213aが備えるセンサ(エンコーダ217)を補助センサと称することがある。これに対して位置制御モードで制御される他の3本の主リンクが有するセンサ(エンコーダ217)を主センサと称することがある。また、以下では、主リンク213b、213c、及び213dと補助リンク213aを総称する場合は単に「リンク」と称する。また、主リンクのセンサと補助リンクのセンサを総称する場合は単に「センサ」と称する。
主リンクの制御異常を検知する処理のフローチャートを図5に示す。コントローラ220はまず、フラグに「OFF」を設定する(S61)。このフラグは、異常が発生しているリンクが存在する場合に「ON」に再設定される(S66、後述)。このフラグは、処理を円滑に進めるための技巧的なフラグであることに留意されたい。コントローラ220は、4本のリンクのセンサデータ(即ち各リンクの長さ)を取得する(S62)。次にコントローラ220は、4本のリンクの中から3本を選択する(S63)。選択されるリンクに補助リンク213aが含まれていてもよい。4本のリンクの中から3本を選択する組み合わせ(リンク組み合わせ)は4通りである。後述するように、コントローラ220は、4通りの全てのリンク組み合わせについて、ステップS63からS67までの処理を繰り返す(S67:YES、S63)。コントローラ220は、選択した3本のリンクの長さから第2部材212の姿勢を算出する(S64)。次にコントローラ220は、算出した姿勢が第2部材212の目標姿勢に一致しているか否かを判断する(S65)。算出した姿勢が目標姿勢に一致していない場合は(S65:NO)、いずれかのリンクで制御異常が発生していることを意味する。そこでコントローラ220は、フラグに「ON」を設定する(S66)。なお、コントローラ220は、夫々のリンク組み合わせを構成するリンクと、そのリンク組み合わせで算出された姿勢が目標姿勢に一致したか否かの情報を記憶しておく。
上記S63からS67までの処理が全てのリンク組み合わせについて行われた後、フラグにONが設定されている場合はステップS69とS70を実行し(S68:YES)、ONが設定されていない場合は処理を終了する(S68:NO)。即ち、フラグにONが設定されている場合は、いずれかの主リンクで制御異常が発生していることを示し、フラグにOFFが設定されたままの場合は、制御異常が発生していないことを示す。
ステップS69ではコントローラ220は、制御異常が発生しているリンクを特定する。先に述べたように、コントローラ220は、夫々のリンク組み合わせを構成するリンクと、そのリンク組み合わせによって算出された姿勢が目標姿勢に一致しているか否かを記憶している。コントローラ220は、全てのリンクから、算出された姿勢が目標姿勢に一致しなかったリンク組み合わせを構成するリンクを除外していき、残ったリンクを異常発生リンクとして特定する。このようにして異常発生リンクを特定できるのは次の理由による。
今、前提としているのは、制御異常が発生しているリンクでは、センサの出力データは目標長さに等しい長さを示しているが、実際のリンク長さは目標長さに等しくない場合である。また、N自由度に対してN本の主リンク(長さが能動的に調整されるリンク)を有するパラレルリンク型ロボットでは、1本のリンクが目標長さに一致していない場合、他のリンクが目標長さに一致していても第2部材212の姿勢は目標姿勢に一致しない。そのため、制御異常が発生しているリンクを含むリンク組み合わせでは算出された姿勢が目標姿勢に一致するが、正常なリンクのみから構成されるリンク組み合わせでは、算出された姿勢が目標姿勢に一致しない。算出された姿勢が目標姿勢に一致するリンク組み合わせを構成するリンクであっても正常なリンクは、他のリンクと組み合わされたときに、算出される姿勢が目標姿勢に一致しない。そのため、算出された姿勢が目標姿勢に一致するリンク組み合わせを構成するリンクであっても正常なリンクは除外されていく。こうして、算出された姿勢が目標姿勢に一致しないリンク組み合わせを構成するリンクを除外していく処理を続けていき、除外されずに残ったリンクが、制御異常が発生しているリンクとして特定される。
コントローラ220は、制御異常が発生しているリンクの電源を遮断し(パワーオフ)、そのリンクを、受動的に伸縮する状態にする(S69)。そしてコントローラ220は、補助リンクを力制御モードから位置制御モードに切り換える(S70)。こうして、制御異常が発生しているリンクを位置制御(第2部材212を目標姿勢に一致させるための制御)から外し、補助リンクを位置制御に切り換えることによって、第2部材212の姿勢を目標姿勢に一致させる制御を継続することができる。
第2実施例ではN=3の場合を想定した。本実施例の技術は、N=3以外の場合にも適用できる。また、補助リンクが複数本の場合にも適用できる。図5のフローチャートの処理を自由度を記号Nで表し、補助リンクの数を記号Mで表すと、次の通り表現することができる。このリンクの制御異常検知方法は、アクチュエータによって能動的に伸縮するN本のリンクが並列に第1部材と第2部材を連結しており、第2部材がN自由度の動きを許容されているパラレルリンク型ロボットのリンク制御異常を検知する方法である。その方法は、次の4つのステップを含む。第1ステップ:N+M本のリンクの中からN本のリンクを選択する。このステップは、図5のステップS63に相当する。第2ステップ:選択されたリンクの長さから第1部材に対する第2部材の姿勢を算出する。このステップは、図5のステップS64に相当する。第3ステップ:算出された姿勢を第2部材の目標姿勢と比較する。このステップは、図5のステップS65に相当する。第4ステップ:第1ステップから第3ステップをリンクの異なる組み合わせで繰り返し(S67)、算出された姿勢が目標姿勢と一致するリンク組み合わせと一致しないリンク組み合わせが存在する場合(S66、フラグ=ON)、一致しないことを示したリンク組み合わせに含まれないリンクを制御異常発生リンクとして特定する(S69)。
また、第2実施例において、異常発生リンクを除外し、補助リンクによって第2部材212の姿勢制御を継続する機能に着目すると、第2実施例のロボット200の特徴は次の通り表すことができる。コントローラ220は、補助リンクが外部から加えられる力によって受動的に伸縮する力制御モードと、補助リンクの長さが目標長さに一致するように補助リンクを制御する位置制御モードとを切り換えて補助リンク213aを制御することが可能である。コントローラ220は、いずれかのリンクの制御異常を検知すると、補助リンク213aを位置制御モードに切り換えて第2部材の姿勢を目標姿勢に一致させる制御に用いる。なお、制御異常が発見されたリンクは、位置制御モードから力制御モードに切り換えられる。
本発明の好適な実施例を説明した。本明細書が開示する技術の留意点について述べる。第1実施例、第2実施例共に、第2部材に許容されている自由度Nは「3」であった。本実施例が開示する技術は、N=3以外の場合にも適用し得る。但し、当然、1≦N≦6である。また、実施例のロボットでは、リンクの夫々の端部がボールジョイントによって第1部材と第2部材に連結されている。ボールジョイントに代えていわゆる自在継手(ユニバーサルジョイント)を用いてもよい。
第2実施例のロボットでは、力センサを用いて、補助リンク213aが外力に応じて伸縮する力制御モードを実現した。補助リンクのメカニカルな伸縮摺動抵抗が小さい場合、補助リンクのアクチュエータへの電力供給を遮断することによっても、補助リンクを外力に応じて伸縮させることができる。本明細書における「力制御モード」は、そのように電力遮断によってリンクを受動的に伸縮させ得る場合を含む。例えば、リンクを伸縮させるアクチュエータがエアシリンダの場合、エアを供給するためのポンプへの電力供給を遮断するだけで、「力制御モード」が達成できる。
以上、本発明の具体例を詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成し得るものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
11、211:第1部材
12、212:第2部材
13a、13b、13c:主リンク
14、214:リニアアクチュエータ
15:補助リンク
16:バネ
17a、17b、217:リニアエンコーダ
20、220:コントローラ
100、200:パラレルリンク型ロボット
213a、213b、213c、213d:リンク
218:力センサ
230:支柱