(57)【要約】【課題】どのようなタスクであっても問題なく実行できる移動ロボットを低コストで実現する技術を提供する。【解決手段】台車３とアーム４の動作は、以下のステップにより計画される。タスクと、そのタスクを実行するときに要求される把持部１２の駆動力及び把持部１２の動作精度に関する要求情報と、を関連付けて記憶するステップ（S100）。実行予定のタスクに対応した要求情報を取得し、要求される把持部１２の駆動力が相対的に大きく且つ要求される把持部１２の動作精度が相対的に低い場合はそのタスクを実行するときに台車３の移動がアーム４の傾動よりも優先されるように台車３とアーム４の動作を計画し、要求される把持部１２の駆動力が相対的に小さく且つ要求される把持部１２の動作精度が相対的に高い場合はそのタスクを実行するときにアーム４の傾動が台車３の移動よりも優先されるように台車３とアーム４の動作を計画するステップ（S110）。【選択図】図６
2017087316.tif 000002
【特許請求の範囲】
【請求項１】
移動可能な台車と、
把持部を有し、前記台車に取り付けられて傾動可能なアームと、
を備え、
前記台車を移動させると共に前記アームを傾動させることでタスクを実行する移動ロボットの、前記台車と前記アームの動作を計画する動作計画方法であって、
タスクと、そのタスクを実行するときに要求される把持部の駆動力及び把持部の動作精度に関する要求情報と、を関連付けて記憶するステップと、
実行予定のタスクに対応した前記要求情報を取得し、要求される把持部の駆動力が相対的に大きく且つ要求される把持部の動作精度が相対的に低い場合はそのタスクを実行するときに前記台車の移動が前記アームの傾動よりも優先されるように前記台車と前記アームの動作を計画し、要求される把持部の駆動力が相対的に小さく且つ要求される把持部の動作精度が相対的に高い場合はそのタスクを実行するときに前記アームの傾動が前記台車の移動よりも優先されるように前記台車と前記アームの動作を計画するステップと、
を含む、
動作計画方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動作計画方法に関する。
【背景技術】
【０００２】
特許文献１は、複数の関節機構と、これらにより連結されたリンク部材とを有するロボットアームを備え、台車により移動するロボットを開示している。台車上には、ロボットアームの基端部を変位させるXYステージが設けられている。XYステージとロボットアームの基端部との間に作用する力を検出する６軸力センサの検出結果に基づいてXYステージが制御される。これにより、ロボットアームの重心位置が制御される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−９４９３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えば、図１０に示すように、ロボットに物を拾わせるときは、その動作に要求される把持部の駆動力は相対的に小さいが要求される把持部の動作精度は相対的に高い。一方、図１１に示すように、ロボットにドアを開けさせるときは、その動作に要求される把持部の駆動力は相対的に大きいが要求される把持部の動作精度は相対的に低い。このようにロボットの動作には、タスク毎に、把持部の駆動力及び把持部の動作精度の要求されるレベルが全く異なっている。
【０００５】
これに対し、台車は、大きな駆動力を発揮できるものの動作精度は低く、ロボットアームは、動作精度は高いが小さな駆動力しか発揮できない。
【０００６】
従って、従来の技術思想では、どのようなタスクであっても問題なく実行できるよう、台車の低い動作精度、及び、ロボットアームの小さな駆動力を可及的に改善しておく必要があり、ロボットの部品コスト上昇を招いていた。
【０００７】
本発明の目的は、どのようなタスクであっても問題なく実行できる移動ロボットを低コストで実現する技術を提供することにある。
【課題を解決するための手段】
【０００８】
移動可能な台車と、把持部を有し、前記台車に取り付けられて傾動可能なアームと、を備え、前記台車を移動させると共に前記アームを傾動させることでタスクを実行する移動ロボットの、前記台車と前記アームの動作を計画する動作計画方法であって、タスクと、そのタスクを実行するときに要求される把持部の駆動力及び把持部の動作精度に関する要求情報と、を関連付けて記憶するステップと、実行予定のタスクに対応した前記要求情報を取得し、要求される把持部の駆動力が相対的に大きく且つ要求される把持部の動作精度が相対的に低い場合はそのタスクを実行するときに前記台車の移動が前記アームの傾動よりも優先されるように前記台車と前記アームの動作を計画し、要求される把持部の駆動力が相対的に小さく且つ要求される把持部の動作精度が相対的に高い場合はそのタスクを実行するときに前記アームの傾動が前記台車の移動よりも優先されるように前記台車と前記アームの動作を計画するステップと、を含む。以上の方法によれば、前記台車の動作精度や前記アームの駆動力を改善せずともどのようなタスクであっても問題なく実行できるようになるので、移動ロボットの低コスト化に寄与する。
【発明の効果】
【０００９】
本発明によれば、前記台車の動作精度や前記アームの駆動力を改善せずともどのようなタスクであっても問題なく実行できるようになるので、移動ロボットの低コスト化に寄与する。
【図面の簡単な説明】
【００１０】
【図１】移動ロボットの斜視図である。
【図２】制御装置及びサーバー３０のブロック図である。
【図３】動作計画のフローチャートである。
【図４】重みパラメータと最大駆動力との関係を示すグラフである。
【図５】重みパラメータと動作精度との関係を示すグラフである。
【図６】把持部を水平に直線的に動かすタスクを実行するに際し、アームの傾動を優先させた様子を示す側面図である。
【図７】把持部を水平に直線的に動かすタスクを実行するに際し、台車の移動を優先させた様子を示す側面図である。
【図８】把持部を水平に円弧状に動かすタスクを実行するに際し、アームの傾動を優先させた様子を示す平面図である。
【図９】把持部を水平に円弧状に動かすタスクを実行するに際し、台車の移動を優先させた様子を示す平面図である。
【図１０】移動ロボットがナットを拾う様子を示す斜視図である。
【図１１】移動ロボットがドアを開ける様子を示す斜視図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して、本発明の実施形態を説明する。
【００１２】
図１に示すように、移動ロボット１は、ロボット本体２と、台車３と、アーム４と、アーム駆動モータ５と、制御装置６と、を有する。
【００１３】
ロボット本体２は、台車３上に搭載されている。
【００１４】
台車３は、台車本体７と、２つの車輪８と、２つの車輪８を個別に駆動する車輪駆動モータ９と、を有する。車輪駆動モータ９は、制御装置６から受けた指令に基づいて、２つの車輪８を個別に駆動することで、台車３を所望の方向に所望の速度で移動させる。台車３は、自在車輪からなる補助輪と、駆動輪と、を有する全方位台車であってもよく、ロボット本体２は、台車３に対して旋回可能に台車３上に搭載されていてもよい。
【００１５】
アーム４は、ロボット本体２に傾動可能に取り付けられている。即ち、アーム４は、ロボット本体２を介して台車３に傾動可能に取り付けられている。アーム４は、上腕アーム１０と、前腕アーム１１と、把持部１２と、を有する。上腕アーム１０は、ロボット本体２に対して回転可能に取り付けられている。前腕アーム１１は、上腕アーム１０の先端に回転可能に取り付けられている。把持部１２は、前腕アーム１１の先端に取り付けられており、物体を把持可能に構成されている。アーム駆動モータ５は、制御装置６から受けた指令に基づいて、ロボット本体２に対してアーム４を傾動させると共に、把持部１２に物体を把持させる。
【００１６】
図２に示すように、制御装置６は、中央演算処理器としてのCPU２０（Central Processing Unit）と、読み書き自由のRAM２１（Random Access Memory）、読み出し専用のROM２２（Read Only Memory）を備えている。そして、CPU２０がROM２２に記憶されている制御プログラムを読み出して実行することで、制御プログラムは、CPU２０などのハードウェアを、台車制御部２３、アーム制御部２４、通信部２５、タスク情報記憶部２６、動作計画部２７、動作計画記憶部２８、として機能させる。
【００１７】
また、サーバー３０は、データベース３１と通信部３２を有する。
【００１８】
動作計画記憶部２８には、所望のタスクを実行するために計画されて生成された、台車３の移動及びアーム４の傾動の計画に関する動作計画情報を記憶する。
【００１９】
台車制御部２３は、動作計画記憶部２８に記憶されている動作計画情報に基づいて、車輪駆動モータ９を制御することで台車３を移動させる。
【００２０】
アーム制御部２４は、動作計画記憶部２８に記憶されている動作計画情報に基づいて、アーム駆動モータ５を制御することでアーム４を傾動させる。
【００２１】
通信部２５は、サーバー３０の通信部３２と通信するための部分である。
【００２２】
タスク情報記憶部２６は、移動ロボット１に課せられたタスクに関するタスク情報を記憶する。
【００２３】
動作計画部２７は、タスク情報記憶部２６に記憶されているタスク情報に基づいて、タスク情報で示されたタスクを実行するための台車３及びアーム４の動作を計画して動作計画情報を生成し、生成した動作計画情報を動作計画記憶部２８に記憶する。
【００２４】
データベース３１は、タスクと、そのタスクを実行するときに要求される把持部１２の駆動力及び把持部１２の動作精度に関する要求情報と、を関連付けて記憶する。把持部１２の駆動力とは、把持部１２を空間に対して移動させるための駆動力を意味しており、把持部１２で物体を把持するための把持力ではない。把持部１２の動作精度とは、把持部１２を空間に対して移動させる際の移動の精度及び把持部１２の空間に対する位置決めの精度を意味している。
【００２５】
要求情報は例えば以下の通りである。移動ロボット１がドアを開ける際は、要求される把持部１２の駆動力は１００［N］であり、要求される把持部１２の動作精度は１００［ｍｍ］である。同様に、移動ロボット１がカートを押す際は、要求される把持部１２の駆動力は２００［N］であり、要求される把持部１２の動作精度は２００［ｍｍ］である。また、移動ロボット１が物を拾う際は、要求される把持部１２の駆動力は１０[N]であり、要求される把持部１２の動作精度は10[mm]である。移動ロボット１が鍵を開ける際は、要求される把持部１２の駆動力は１[N]であり、要求される動作精度は２[mm]である。このようにタスク毎に要求される把持部１２の駆動力及び把持部１２の動作精度は全く異なっている。
【００２６】
次に、移動ロボット１及びサーバー３０の具体的な作動について説明する。図３には、動作計画方法のフローチャートを示している。
【００２７】
先ず、作業員が、タスクと、そのタスクに対応する要求情報と、を関連付けてサーバー３０のデータベース３１に記憶する（S100）。
【００２８】
次に、動作計画部２７が、実行予定のタスクに対応した要求情報をサーバー３０のデータベース３１から取得し、要求情報に基づいて、台車３及びアーム４の動作を計画する（S110）。
【００２９】
即ち、動作計画部２７は、要求される把持部１２の駆動力が相対的に大きく且つ要求される把持部１２の動作精度が相対的に低い場合はそのタスクを実行するときに台車３の移動がアーム４の傾動よりも優先されるように台車３とアーム４の動作を計画する（S110）。一方、動作計画部２７は、要求される把持部１２の駆動力が相対的に小さく且つ要求される把持部１２の動作精度が相対的に高い場合はそのタスクを実行するときにアーム４の傾動が台車３の移動よりも優先されるように台車３とアーム４の動作を計画する（S110）。このようにタスク毎に台車３の移動とアーム４の傾動のどちらを優先して動作させるかを決めることで、台車３の動作精度やアーム４の駆動力を改善せずともどのようなタスクであっても問題なく実行できるようになり、移動ロボット１の低コスト化に寄与する。
【００３０】
具体的には、動作計画部２７は、タスク毎に、台車３の移動とアーム４の傾動のどちらをどの程度優先して動作させるかを以下のように決定する。
【００３１】
図４は、横軸を重みパラメータWとし縦軸を最大駆動力ｆとする、トレードオフ曲線のグラフを示している。図５は、横軸を重みパラメータWとし縦軸を動作精度Pとする、トレードオフ曲線のグラフを示している。重みパラメータWは、台車３の移動とアーム４の傾動のどちらをどの程度優先して動作させるかを決定付けるパラメータである。重みパラメータWは、例えば０〜１．０の間の値を取り得る。重みパラメータWが０の場合、台車３の移動はせずアーム４の傾動のみでタスクを実行することを意味している。重みパラメータWが１．０の場合、アーム４の傾動はせず台車３の移動のみでタスクを実行することを意味している。最大駆動力ｆは、ある重みパラメータWにおける把持部１２の駆動力の最大値である。動作精度Pは、ある重みパラメータWにおける把持部１２の動作精度である。図４及び図５に示すように、重みパラメータWを０に近づければ近づけるほど、最大駆動力ｆは小さくなるが動作精度Pは高くなる（良くなる）。逆に、重みパラメータWを１．０に近づければ近づけるほど、最大駆動力ｆは大きくなるが動作精度Pは低くなる（悪くなる）。つまり、最大駆動力ｆと動作精度Pはトレードオフの関係にある。なお、図４及び図５のトレードオフ曲線は、逆動力学に基づく計算により、又は、実験的に求められる。
【００３２】
そして、動作計画部２７は、図４に示すトレードオフ曲線に基づいて、実行予定のタスクを実行するのに要求される把持部１２の駆動力（例えば１０［Ｎ］）に対応する重みパラメータWの最小値を重みパラメータWfとして取得する。同様に、動作計画部２７は、図５に示すトレードオフ曲線に基づいて、実行予定のタスクを実行するのに要求される把持部１２の動作精度（例えば５[mm]）に対応する重みパラメータWの最大値を重みパラメータWpとして取得する。ここで、もしWf＞Wpであったら、実行予定のタスクを実行するのに要求される把持部１２の駆動力と把持部１２の動作精度の両方を同時に満たす重みパラメータWが存在しないので、動作計画部２７は、動作計画を中止する。一方、Wf<Wpであったら、Wf以上でありWp以下の重みパラメータWを採用することで、実行予定のタスクを実行するのに要求される把持部１２の駆動力と把持部１２の動作精度の両方を同時に満たすことができる。そこで、動作計画部２７は、Wf以上でありWp以下である重みパラメータWを採用することとする。具体的には、動作計画部２７は、例えば、W＝（Wf+Wp）/2で求められる重みパラメータWを採用する。
【００３３】
次に、動作計画部２７は、採用した重みパラメータWを逆運動学計算と軌道生成の際の重みとして用い、台車３の移動の軌道及びアーム４の傾動の軌道を生成する。なお、逆運動学とは、把持部１２の位置からアーム４の各関節角度や台車３の位置を計算するものであって、解析的に解く方法、数値的に解く方法、それらを組み合わせて解く方法等が知られている。また、軌道の生成は、移動ロボット１が周囲の環境や移動ロボット１自体と衝突しないように、台車３の移動の軌道及びアーム４の傾動の軌道を計算して行われる。軌道生成アルゴリズムとして、RRT（Rapidly-exploring Random Trees）やPRM（Probabilistic Roadmap Method）が知られている。
【００３４】
次に、逆運動学計算及び軌道生成で重みパラメータWを利用する方法を説明する。逆運動学計算及び軌道生成の最適化の際、何を最適化するかの評価関数が必要とされる。ここで、評価関数を以下のように定義する。
（評価関数Val）＝（重みパラメータW）×（台車３に関する評価）＋（１−（重みパラメータW））（アーム４に関する評価）
ここで、（台車３に関する評価）及び（アーム４に関する評価）は、種々の方法により定義される。これらは、例えば台車３について言えば台車３の移動量、アーム４について言えばアーム４の基準姿勢との関節角度レベルの変位の二乗誤差などである。
そして、動作計画部２７は、決定した重みパラメータWを用いて評価関数Valを算出し、この評価関数を用いて、逆運動学計算及び軌道生成を行う。
【００３５】
図６及び図７には、把持部１２を水平に直線的に動かすタスクを実行している移動ロボット１を側面視で示している。図６には、把持部１２の動作に高い動作精度が要求される場合を示している。この場合、台車３は一切移動せず、アーム４の傾動のみで把持部１２を水平に直線的に動かしている。これに対し、図７には、把持部１２の動作に大きな駆動力が要求される場合を示している。この場合、アーム４は一切傾動せず、台車３の移動のみで把持部１２を水平に直線的に動かしている。
【００３６】
図８及び図９には、把持部１２を水平に円弧状に動かすタスクを実行している移動ロボット１を平面視で示している。図８には、把持部１２の動作に高い動作精度が要求される場合を示している。この場合、台車３は僅かに反時計回りに円弧状に移動するものの、アーム４が積極的に傾動している。これに対し、図９には、把持部１２の動作に大きな駆動力が要求される場合を示している。この場合、アーム４は一切傾動せず、台車３の移動のみで把持部１２を水平に円弧状に動かしている。
【００３７】
以上に、本願発明の実施形態を説明したが、上記実施形態は以下の特徴を有する。
【００３８】
移動可能な台車３と、台車３に取り付けられて傾動可能なアーム４と、を備え、台車３を移動させると共にアーム４を傾動させることでタスクを実行する移動ロボット１の、台車３とアーム４の動作を計画する動作計画方法は、以下のステップにより実行される。タスクと、そのタスクを実行するときに要求される把持部１２の駆動力及び把持部１２の動作精度に関する要求情報と、を関連付けて記憶するステップ（S100）。実行予定のタスクに対応した要求情報を取得し、要求される把持部１２の駆動力が相対的に大きく且つ要求される把持部１２の動作精度が相対的に低い場合はそのタスクを実行するときに台車３の移動がアーム４の傾動よりも優先されるように台車３とアーム４の動作を計画し、要求される把持部１２の駆動力が相対的に小さく且つ要求される把持部１２の動作精度が相対的に高い場合はそのタスクを実行するときにアーム４の傾動が台車３の移動よりも優先されるように台車３とアーム４の動作を計画するステップ（S110）。以上の方法によれば、台車３の動作精度やアーム４の駆動力を改善せずともどのようなタスクであっても問題なく実行できるようになるので、移動ロボット１の低コスト化に寄与する。
【符号の説明】
【００３９】
１  移動ロボット
２  ロボット本体
３  台車
４  アーム
５  アーム駆動モータ
６  制御装置
７  台車本体
８  車輪
９  車輪駆動モータ
１２  把持部
２７  動作計画部
３１  データベース
W  重みパラメータ
Wf  重みパラメータ
Wp  重みパラメータ
【図１】
2017087316.tif 000003
【図２】
2017087316.tif 000004
【図３】
2017087316.tif 000005
【図４】
2017087316.tif 000006
【図５】
2017087316.tif 000007
【図６】
2017087316.tif 000008
【図７】
2017087316.tif 000009
【図８】
2017087316.tif 000010
【図９】
2017087316.tif 000011
【図１０】
2017087316.tif 000012
【図１１】
2017087316.tif 000013