(57)【要約】【課題】大きな搭載容量を有する駆動部を備えるとともに、ねじれの発生を抑制することができる搬送ロボットの提供。【解決手段】駆動部（２）と、駆動部（２）の上側に旋回可能に支持される本体（１）と、駆動部（２）と本体（１）との間に配置されるハーネス（６）とを含む搬送ロボット（１０）である。搬送ロボット（１０）は、ねじれ判定部（５１）と、指令速度算出部（５２）とを含む。ねじれ判定部（５１）は、本体（１）と駆動部（２）との角度差（φ）に基づいて、ハーネス（６）にねじれが生じているか否かを判定する。指令速度算出部（５２）は、ハーネス（６）にねじれが生じていると判定され、かつ、搬送ロボット（１０）が折り返すように駆動する場合において、ねじれの方向と逆方向に本体（１）を旋回させる指令速度（ｖ１）を算出する。【選択図】図２
2015199369.tif 000002
【特許請求の範囲】
【請求項１】
駆動部と、前記駆動部の上側に旋回可能に支持される本体と、前記駆動部と前記本体との間に配置されるハーネスとを含む搬送ロボットであって、
前記本体と前記駆動部との角度差に基づいて、前記ハーネスにねじれが生じているか否かを判定するねじれ判定部と、
前記ハーネスにねじれが生じていると判定され、かつ、前記搬送ロボットが折り返すように動作する場合において、前記ねじれの方向と逆方向に前記本体を旋回させる指令速度を算出する制御部と、
を含む搬送ロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は搬送ロボットに関し、特に、駆動部に対して旋回可能な本体を含む搬送ロボットに関する。
【背景技術】
【０００２】
駆動部と、駆動部の上側において旋回可能に支持される本体とを備える搬送ロボットがある。このような搬送ロボットでは、ハーネスが本体と駆動部との間に配置されており、本体の旋回運動により、ねじれることがある。このようなハーネスのねじれを解くことのできる搬送ロボットが開発されている。
【０００３】
例えば、特許文献１では、ハーネスをねじれと逆方向に回転させることで、ねじれを解くための機構を有する搬送ロボットが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１２６７０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、搬送ロボットには、さらなる性能向上を目的として、モータアンプやバッテリなどの部品を駆動部に搭載することが望まれる。一方、特許文献１で開示される搬送ロボットは、ねじれを解くための機構を駆動部に搭載しており、駆動部の搭載容量に改善の余地を有する。
【０００６】
本発明は、上記した事情を背景としてなされたものであり、大きな搭載容量を有する駆動部を備えるとともに、ねじれの発生を抑制することができる搬送ロボットを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明にかかる搬送ロボットは、
駆動部と、前記駆動部の上側に旋回可能に支持される本体と、前記駆動部と前記本体との間に配置されるハーネスとを含む搬送ロボットであって、
前記本体と前記駆動部との角度差に基づいて、前記ハーネスにねじれが生じているか否かを判定するねじれ判定部と、
前記ハーネスにねじれが生じていると判定され、かつ、前記搬送ロボットが折り返すように動作する場合において、前記ねじれの方向と逆方向に前記本体を旋回させる指令速度を算出する制御部と、
を含む。
【０００８】
このような構成によれば、ねじれの解除動作を行うことができ、ハーネスのねじれの発生を抑制することができる。しかも、ねじれを解くための機構を必要としないので、駆動部の搭載容量が大きい。
【発明の効果】
【０００９】
本発明によれば、大きな搭載容量を有する駆動部を備えるとともに、ハーネスのねじれを抑制することができる搬送ロボットを提供することができる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１にかかるロボットの外観を示す概略図である。
【図２】実施の形態１にかかるロボットの制御構成を示すブロック図である。
【図３】実施の形態１にかかるロボットのねじれ解除動作の一例を示すフローチャートである。
【図４】実施の形態１にかかるロボットのねじれ解除動作の適用可否の判定方法を説明するための図である。
【図５】実施の形態１にかかるロボットのねじれ解除動作の一例を示す図である。
【発明を実施するための形態】
【００１１】
本発明者らは、逆運動学の解が２つ得られる条件又はそれに近い条件において、ハーネスのねじれを解消する逆運動学の解を導出するように、指令速度を修正することを想到するに至った。逆運動学の解が２つ得られる条件又はそれに近い条件は、例えば、直線状の経路をＵターンするなどの折り返す動作である。このような動作は、工場内で用いられる搬送ロボットの動作、特に棚と棚との間の経路を追従する動作の一つである。
【００１２】
実施の形態１．
以下、図１を参照して実施の形態１にかかるロボットについて説明する。図１は、実施の形態１にかかるロボットの外観を示す概略図である。
【００１３】
図１に示すように、ロボット１０は、本体１と、駆動部２と、旋回軸３と、ハーネス６とを含む。ロボット１０は、駆動部２により移動することができるとともに、本体１を旋回軸３により旋回することができる。駆動部２の駆動軸と旋回軸３とは、所定の距離Ｓを空けて配置される。ロボット１０は、オフセットアーム式の搬送ロボットである。ロボット１０は、例えば、搬送台車として利用することができる。
【００１４】
本体１は、旋回軸３を介して駆動部２の上側に旋回可能に支持される。本体１は、電気機器（不図示）を搭載している。電気機器として、例えば、入力部、制御部、電池、モータアンプなどが挙げられる。本体１は、例えば、直方体や棒状体、円柱体であってもよい。また、本体１は、必要に応じて、荷物を把持するためのグリッパやハンドを搭載してもよい。なお、図１では、図面を見やすくするために、本体１は板状体として描いた。
【００１５】
駆動部２は、右側車輪４１と、左側車輪４２とを含む。右側車輪４１の駆動軸と、左側車輪４２の駆動軸とは、同じ直線状に配置されている。右側車輪４１及び左側車輪４２は半径ｒの車輪である。右側車輪４１及び左側車輪４２は、それぞれモータ４３、４４（図２参照。）により、独立に駆動される。駆動部２は、右側車輪４１及び左側車輪４２を、ある速度差をつけて駆動することができる。これにより、ロボット１０は、平面上を任意の方向に移動することができる。また、右側車輪４１と左側車輪４２とは、所定の距離Ｗを空けて配置される。なお、駆動部２は、電気機器（不図示）を搭載している。電気機器として、例えば、入力部、制御部、電池、モータアンプなどが挙げられる。
【００１６】
旋回軸３は、モータ３１（図２参照。）により、旋回される筒状体である。旋回軸３又はその近傍には、後述する角度検出部２３（図２参照。）が設置されている。角度検出部２３は、駆動部２と本体１との角度差を検出し、この角度差をねじれ角θＺとして制御部５０（図２参照。）に送る。角度検出部２３は、例えば、レゾルバやエンコーダを使用することができる。なお、駆動部２は、バランスを取るために、さらに複数の車輪を備えてもよい。
【００１７】
ハーネス６は、本体１に搭載される電気機器と、駆動部２に搭載される電気機器とを結ぶ信号線及び／又は電力線である。ハーネス６は、本体１と駆動部２との間に配置される。具体的には、ハーネス６は、例えば、旋回軸３の中空穴を通って、本体１に搭載される電気機器と、駆動部２に搭載される電気機器とをつなぐ。
【００１８】
次に、図２を参照してロボット１０の制御構成について説明する。図２は、実施の形態１にかかるロボットの制御構成を示すブロック図である。
【００１９】
図２に示すように、制御部５０は、ねじれ判定部５１と、折り返し修正指令速度算出部５２と、右側車輪モータドライバ５３と、左側車輪モータドライバ５４と、旋回軸モータドライバ５５とを含む。制御部５０は、例えば、指令速度ｖ０などの入力を入力部２５から、受ける。
【００２０】
ねじれ判定部５１は、入力部２５から指令速度ｖ０と、角度検出部２３からねじれ角θＺとを送られる。指令速度ｖ０は、例えば、入力部２５から入力されることにより、ねじれ判定部５１に送られる。ねじれ判定部５１は、ねじれ角θＺと指令速度ｖ０とに応じて、ロボット１０がねじれ解除動作を行うか否かを判定する。
【００２１】
折り返し修正指令速度算出部５２は、指令速度ｖ０とねじれ角θＺとから、ほどき修正指令速度ｖ１を算出し、逆運動学計算部５２１に出力する。また、逆運動学計算部５２１は、ほどき修正指令速度ｖ１を実現するための入力右側車輪角速度ωＲと入力左側車輪角速度ωＬと入力旋回角速度ωＳとを算出する。また、逆運動学計算部５２１は、入力右側車輪角速度ωＲと入力左側車輪角速度ωＬと入力旋回角速度ωＳとを、右側車輪モータドライバ５３と左側車輪モータドライバ５４と旋回軸モータドライバ５５とにそれぞれ出力する。
【００２２】
ここで、図１を併せて参照すると、ロボット１０はｘｙ平面上を指令速度ｖに従って移動する。ロボット１０の運動学は、以下の数式（１）〜（７）により、表される。また、ロボット１０の逆運動学は、以下の数式（８）〜（１４）により、表される。これらの数式（１）〜（１４）を用いると、指令速度ｖから、入力右側車輪角速度ωＲと入力左側車輪角速度ωＬと入力旋回角速度ωＳとが求められる。なお、上記したように、Ｓは駆動部２の駆動軸と旋回軸３の距離を表し、ｒは右側車輪４１及び左側車輪４２の半径を表し、Ｗは右側車輪４１と左側車輪４２との距離を表す。
【数１】
2015199369.tif 000003
【数２】
2015199369.tif 000004
【数３】
2015199369.tif 000005
【数４】
2015199369.tif 000006
【数５】
2015199369.tif 000007
【数６】
2015199369.tif 000008
【数７】
2015199369.tif 000009
【数８】
2015199369.tif 000010
【数９】
2015199369.tif 000011
【数１０】
2015199369.tif 000012
【数１１】
2015199369.tif 000013
【数１２】
2015199369.tif 000014
【数１３】
2015199369.tif 000015
【数１４】
2015199369.tif 000016
【００２３】
右側車輪モータドライバ５３は、入力右側車輪角速度ωＲに基づいて、電力をモータ４３に供給する。また、左側車輪モータドライバ５４は、入力左側車輪角速度ωＬに基づいて、電力をモータ４４に供給する。また、旋回軸モータドライバ５５は、入力旋回角速度ωＳに基づいて、電力をモータ３１に供給する。
【００２４】
モータ４３は、右側車輪モータドライバ５３から電流の供給を受けて、右側車輪４１を駆動する。また、モータ４４は、左側車輪モータドライバ５４から電流の供給を受けて、左側車輪４２を駆動する。また、モータ３１は、旋回軸モータドライバ５５から電流の供給を受けて、旋回軸３を旋回させる。
【００２５】
ねじれ解除動作の一例．
次に、図３〜図５を用いて、実施の形態１にかかる搬送ロボットの動作の一例について説明する。図３は、実施の形態１にかかるロボットのねじれ解除動作の一例を示すフローチャートである。図４は、実施の形態１にかかるロボットのねじれ解除動作の適用可否の判定方法を説明するための図である。図５は、実施の形態１にかかるロボットのねじれ解除動作の一例を示す図である。
【００２６】
まず、指令速度ｖ０を受信する（指令速度受信ステップＳ１）。次いで、指令速度ｖ０の修正が必要か否かを判定する（指令速度修正検討ステップＳ２）。これにより、現在の逆運動学の解がハーネスのねじれを解く動作であるかを判定する。
【００２７】
まず、ねじれ角θＺの絶対値が所定の角度以上であるか否かを確認する（角度差確認ステップＳ２１）。ねじれ解除動作では、ねじれ角θＺが負の場合、旋回軸３の回転方向が正となるように制御される。また、ねじれ角θＺが正の場合、旋回軸３の回転方向が負となるように制御される。ねじれ角θＺがゼロ又はそれに近い値である場合、ねじれ解除動作を行うと、ねじれ角θＺの入力旋回速度ωＳの正負が逆転し、ねじれ解除動作が振動するように発生することがある。この角度差確認ステップＳ２１を経ることにより、ねじれ解除動作において、ねじれ角の正負が逆転することを抑制し、ねじれ解除動作が振動するように発生することを抑制することができる。つまり、この角度差確認ステップＳ２１を経ることにより、ねじれ解除動作を安定的に適用することができる。図３に示すように、この例では、ねじれ解除動作を適用する要件の一つは、ねじれ角θＺの絶対値がπ／２以上であることである。
【００２８】
ねじれ角θＺの絶対値が所定の角度以上（角度差確認ステップＳ２１：ＹＥＳ）であると、指令速度ｖ０の角度θｖと、ねじれ角θＺとの差が所定の範囲にあるか否かを確認する（指令速度角度確認ステップＳ２２）。例えば、指令速度ｖ０の角度θｖがπ又は−πに近い場合、角度θｖが所定の角度範囲にあると判定する。指令速度ｖ０の角度θｖは、以下の数式（１５）及び数式（１６）で表される。
【数１５】
2015199369.tif 000017
【数１６】
2015199369.tif 000018
ここでは、ロボット１０が指令速度ｖ０に基づいて動作すると、折り返すように駆動するか否かを判定している。つまり、逆運動学が解を二つ有する条件又はそれに類する条件かどうかを判定している。
【００２９】
指令速度ｖ０の角度θｖと、ねじれ角θＺが所定の角度範囲にある（指令速度角度確認ステップＳ２２）場合、指令速度の角度θｖとねじれ角θＺとが同じ向きか異なる向きかを確認する（指令速度方向確認ステップＳ２３）。指令速度ｖ０の角度θｖとねじれ角θＺとが同じ向きである場合、ハーネスがさらにねじれる。一方、指令速度ｖ０の角度θｖとねじれ角θＺとが異なる向きである場合、ハーネスのねじれが解かれる。ここでは、指令速度ｖ０がねじれ角θＺを減ずる方向であるかを判定する。
【００３０】
指令速度の角度θｖとねじれ角θＺとが同じ向きである（指令速度方向確認ステップＳ２３：ＹＥＳ）場合、指令速度の修正が必要であると判定し（指令速度修正検討ステップＳ２：ＹＥＳ）、修正指令速度を生成する（修正指令速度生成ステップＳ３）。
【００３１】
具体的には、ねじれ角θＺとは逆向きの回転方向を目標回転方向として、駆動部２の回転方向を決定する（回転方向決定ステップＳ３１）。
【００３２】
次いで、修正指令速度角θｖ１を算出する（修正指令速度角算出ステップＳ３２）。旋回軸３の入力旋回角速度ωＳは、数式（８）〜（１４）から導出することができ、以下の数式（１７）により、表される。回転方向決定ステップＳ３１で決定された旋回方向を実現するために、指令速度ｖ０の角度θｖとねじれ角θｚとの差の正負と、目標回転方向の正負とが、一致するように、指令速度ｖ０の角度θｖを修正し、修正指令速度角θｖ１を算出する。
【数１７】
2015199369.tif 000019
【００３３】
次いで、修正指令速度角θｖ１から、並進速度を算出する（並進速度算出ステップＳ３３）。並進速度は、修正指令速度角θｖ１と、元の指令速度ｖ０の絶対値によって、極座標により表現された指令速度のｘ方向の速度成分
2015199369.tif 000020
、ｙ方向の速度成分
2015199369.tif 000021
である。詳細には、まず、指令速度を、修正指令速度角θｖ１と、元の指令速度ｖ０の絶対値によって、極座標により表現する。さらに、極座標により表現された指令速度をロボットのローカル座標系に変換する。
【００３４】
次いで、並進速度から指令速度を変更する（指令速度変更ステップＳ３４）。元の指令速度ｖ０に含まれる旋回速度
2015199369.tif 000022
と、並進速度算出ステップＳ３３で算出された並進速度とを合わせて、ほどき修正指令速度ｖ１を生成する。
【００３５】
次いで、ほどき修正指令速度ｖ１を送信する（修正指令速度送信ステップＳ４２）。ほどき修正指令速度ｖ１に基づいて、入力右側車輪角速度ωＲと、入力左側車輪角速度ωＬと、入力旋回角速度ωＳとを計算し、これらを右側車輪モータドライバ５３と左側車輪モータドライバ５４と旋回軸モータドライバ５５とにそれぞれ送信する。
【００３６】
最後に、ロボット１０は、ほどき修正指令速度ｖ１に基づいて、動作を行う（ロボット動作ステップＳ５）。ロボット１０がほどき修正指令速度ｖ１に基づいて動作を行う場合では、指令速度ｖ０に基づいて動作を行う場合と同様に、ロボット１０を経路に沿って動作させることができる。しかも、指令速度ｖ０に基づいて動作を行う場合と比較して、ねじれをさらに解くようにロボット１０を動作させる。
【００３７】
次に、より具体的にねじれ解除動作の一例について説明する。図５に示すように、ロボット１０は、例えば、直線状の追従経路に沿って動作し、地点Ｃで折り返す動作を行なう。具体的には、ロボット１０は、地点Ｂから地点Ｃに向かって進み、地点Ｃに到達した後、今まで進んだ方向とは逆方向、つまり、地点Ｃから地点Ｂに向かって進む。
少なくとも地点Ｃ及びその近傍では、ロボット１０は、ほどき修正指令速度ｖ１に基づいて動作する。ここで、本体１は、ロボット１０が指令速度ｖ０に基づいて動作を行う場合と比較して、ねじれをさらに解くように、旋回軸３を中心に回転するのである。
つまり、このねじれ解除動作では、ロボット１０が、ほどき修正指令速度ｖ１に基づいて少なくとも折り返し動作を行ない、本体１が回転して、ねじれ角θＺが減ずる。
なお、ロボット１０は、地点Ｂと地点Ｃとの間を複数回往復して、ねじれ解除動作を複数回行ってもよい。この往復により、ねじれをより確実に解除し得る。
【００３８】
以上、実施の形態１のかかるロボットによれば、ねじれと逆方向の回転を加えるように動作を行って、ねじれを解くことができる。また、ねじれを解くための機構を必要とすることなく、駆動部は大きな搭載容量を有する。
【００３９】
なお、駆動部と本体の角度差の絶対値が一定の角度未満（角度差確認ステップＳ２１：ＮＯ）であると、指令速度ｖ０の修正が不要と判定される。また、指令速度ｖ０の角度θｖと、ねじれ角θＺが所定の角度範囲に無い場合（指令速度角度確認ステップＳ２２：ＮＯ）であっても、指令速度ｖ０の修正が不要と判定される。さらに、指令速度の角度θｖとねじれ角θＺとが同じ向きでない場合（指令速度方向確認ステップＳ２３：ＮＯ）であっても、指令速度ｖ０の修正が不要と判定される。指令速度ｖ０の修正が不要であると判定した場合（指令速度修正検討ステップＳ２：ＮＯ）、指令速度ｖ０をそのまま出力し（指令速度送信ステップＳ４１）、ロボット１０は、指令速度ｖ０に基づいて、動作を行う（ロボット動作ステップＳ５）。
【００４０】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【符号の説明】
【００４１】
１０  ロボット
１  本体                                ２  駆動部
３  旋回軸                              ６  ハーネス
２３  角度検出部                        ４１  右側車輪
４２  左側車輪                          ３１、４３、４４  モータ
５０  制御部                            ５１  ねじれ判定部
５２  修正指令速度算出部                ５２１  逆運動学計算部
５３  右側車輪モータドライバ            ５４  左側車輪モータドライバ
５５  旋回軸モータドライバ              
Ｓ１  指令速度受信ステップ              Ｓ２  指令速度修正検討ステップ
Ｓ２１  角度差確認ステップ              Ｓ２２  指令速度角度確認ステップ
Ｓ２３  指令速度方向確認ステップ        
Ｓ３  修正指令速度生成ステップ
Ｓ３１  回転方向決定ステップ            Ｓ３２  修正指令速度角算出ステップ
Ｓ３３  並進速度算出ステップ            Ｓ３４  指令速度変更ステップ
Ｓ４１  指令速度送信ステップ            Ｓ４２  修正指令速度送信ステップ
Ｓ５  ロボット動作ステップ
ｖ、ｖ０  指令速度                      ｖ１  ほどき修正指令速度
θｖ  指令速度の角度                    θｖ１  修正指令速度角
θｚ  ねじれ角                          φ  旋回角
ωＬ  入力左側車輪角速度                ωＲ  入力右側車輪角速度
ωＳ  入力旋回角速度
【図１】
2015199369.tif 000023
【図２】
2015199369.tif 000024
【図３】
2015199369.tif 000025
【図４】
2015199369.tif 000026
【図５】
2015199369.tif 000027