(57)【要約】【課題】移動先の環境に適応した制御を実現する移動式マニピュレータ、移動式マニピュレータの制御方法及びプログラムを提供すること【解決手段】移動装置１０ａと、この移動装置１０ａに接続されるマニピュレータ１０ｒと、移動装置１０ａ及びマニピュレータ１０ｒを制御するコントローラ１０ｇと、移動装置１０ａによる移動先の環境に起因する所定の環境データを、移動先の位置に関連付けて取得する環境取得センサ１０ｓと、を備える移動式マニピュレータ１０であって、コントローラ１０ｇは、環境データに基づいて、移動装置１０ａ又はマニピュレータ１０ｒの少なくともいずれか一方を制御する。【選択図】図１
2019087073.tif 000002
【特許請求の範囲】
【請求項１】
第１の位置から第２の位置へ移動するための移動装置と、
前記移動装置に接続されるマニピュレータと、
前記移動装置及び前記マニピュレータを制御するコントローラと、
前記移動装置の位置と関連付けて環境データを取得する環境取得センサと、を備え、
前記コントローラは、前記環境取得センサによって取得されて、前記移動先の位置、または、前記第１の位置と前記第２の位置との間の移動経路上の何れかの地点に関連付けられた前記環境データに基づいて、前記移動装置又は前記マニピュレータの少なくともいずれか一方を制御するように構成されている移動式マニピュレータ。
【請求項２】
前記移動装置は、前記第１の位置と前記第２の位置とを含む複数の地点を移動するように構成されており、
前記環境取得センサは、前記移動先である前記複数の地点における前記環境データをそれぞれ取得するように構成され、
前記コントローラは、前記複数の地点のそれぞれにおいて、その地点における前記環境データに基づいて、前記移動装置又は前記マニピュレータの少なくともいずれか一方を制御するように構成されている請求項１記載の移動式マニピュレータ。
【請求項３】
前記コントローラは、自己の位置を推定する位置推定プログラムを実行するように構成され、
前記環境取得センサは、前記移動装置により移動可能な領域内の複数の区画ごとに前記環境データを取得するように構成され、かつ、
前記コントローラは、前記位置推定プログラムに基づいて推定される自己の位置が属する前記区画に対応する前記環境データに基づいて、前記移動装置又は前記マニピュレータの少なくともいずれか一方を、前記区画に対応して異なるように制御するように構成されている請求項２記載の移動式マニピュレータ。
【請求項４】
前記環境データは、振動に関する情報を含み、
前記コントローラは、前記振動に関する情報に基づいて、前記移動装置又は前記マニピュレータの少なくともいずれか一方を制御するように構成されている請求項１から３のいずれか一項に記載の移動式マニピュレータ。
【請求項５】
前記環境取得センサは、前記移動先の振動に関する情報を前記環境データとして取得するための加速度センサを備え、
前記コントローラは、
前記振幅が所定値以上の地点を含む領域において、前記移動装置による移動速度が第１の速度となり、
前記振幅が所定値未満の地点を含む領域において、前記移動装置による移動速度が前記第１の速度より大きい第２の速度となるように前記移動装置を制御する請求項１から３のいずれか一項に記載の移動式マニピュレータ。
【請求項６】
前記環境取得センサは、前記移動先の振動に関する情報を前記環境データとして取得するための加速度センサを備え、
前記コントローラは、
複数の地点における前記振幅に基づいて次の地点における振動に関する情報を推定する振幅推定プログラムを実行するように構成され、
前記推定された次の地点における振幅が所定値以上の場合は、前記次の地点への前記移動装置の移動速度、移動加速度又は制御ゲインの少なくともいずれか一つが所定値以下となるように、前記移動装置を制御する請求項１から３のいずれか一項に記載の移動式マニピュレータ。
【請求項７】
前記環境取得センサは、前記移動装置により移動可能な領域内の複数の区画ごとにその区画の振動に関する情報を前記環境データとして取得するように構成され、
前記コントローラは、前記位置推定プログラムに基づいて推定される自己の位置が属する前記区画に対応する前記振動の振幅に基づいて、前記移動装置又は前記マニピュレータの少なくともいずれか一方を制御するように構成されている請求項３記載の移動式マニピュレータ。
【請求項８】
前記環境データは、他の前記移動式マニピュレータの前記環境取得センサにより計測されたデータを含む請求項１から７のいずれか一項に記載の移動式マニピュレータ。
【請求項９】
前記環境取得センサは、前記移動先の振動に関する情報を前記環境データとして取得するように構成され、
前記コントローラは、第１の制御モード又は第１の制御モードと比較して所定の周波数の振動を抑制する第２の制御モードに基づいて、前記移動装置又は前記マニピュレータを制御するように構成されており、かつ、前記振動に関する情報に基づいて、前記第１の制御モードまたは前記第２の制御モードを選択するように構成されている請求項４から７のいずれか一項に記載の移動式マニピュレータ。
【請求項１０】
前記環境取得センサは、前記移動可能な領域内の複数の区画ごとに、その区画における振動の周波数を反映した情報を前記環境データとして取得するように構成され、
前記コントローラは、前記位置推定プログラムにより推定される自己の位置が属する前記区画と、その区画における前記周波数に基づく制振フィルタを用いて、前記マニピュレータを制御するように構成されている請求項３に記載の移動式マニピュレータ。
【請求項１１】
前記マニピュレータは、複数のサーボモータと、これら複数のサーボモータによって駆動される複数のリンクを備える多関節ロボットアームであり、
前記環境取得センサは、所定帯域の周波数を含む信号を少なくとも一つの前記サーボモータに入力した際の応答に基づいて、その地点の振動の周波数を前記環境データとして取得するように構成されている請求項１から３のいずれか一項に記載の移動式マニピュレータ。
【請求項１２】
前記環境取得センサは、前記移動先の温度を前記環境データとして取得し、
前記マニピュレータは、複数のサーボモータと、これら複数のサーボモータによって駆動される複数のリンクを備える多関節ロボットアームであり、
前記コントローラは、前記温度が所定値以上であり、かつ、少なくとも一つの前記サーボモータまたは前記サーボモータに電流を供給するサーボドライバの負荷率が所定値以上である場合は、そのサーボモータの負荷率が所定値以下となるように、そのサーボモータの指令値を下げるように構成されている請求項１から３のいずれか一項に記載の移動式マニピュレータ。
【請求項１３】
前記移動式マニピュレータは、周囲の環境を撮像するための撮像センサを備え、
前記環境取得センサは、前記移動先の照明環境に起因する照度情報を前記環境データとして取得するように構成され、
前記コントローラは、前記照度情報に基づいて、前記移動装置による移動経路を制御するように構成されている請求項１から３のいずれか一項に記載の移動式マニピュレータ。
【請求項１４】
第１の位置から第２の位置へ移動するための移動装置と、この移動装置に接続されるマニピュレータを制御する制御方法であって、
環境取得センサを用いて、前記移動装置の位置と関連付けて環境データを取得するステップと、
前記環境取得センサによって取得され、前記移動先の位置、または、前記第１の位置と前記第２の位置との間の移動経路上の何れかの地点に関連付けられた前記環境データに基づいて、前記移動装置又は前記マニピュレータの少なくともいずれか一方を制御するステップと、を備える移動式マニピュレータの制御方法。
【請求項１５】
第１の位置から第２の位置へ移動するための移動装置及びこの移動装置に接続されるマニピュレータを制御するためのコンピュータに、
環境取得センサを用いて、前記移動装置の位置と関連付けて環境データを取得させるステップと、
前記環境取得センサによって取得されて、前記移動先の位置、または、前記第１の位置と前記第２の位置との間の移動経路上の何れかの地点に関連付けられた前記環境データに基づいて、前記移動装置又は前記マニピュレータの少なくともいずれか一方を制御させるステップと、を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動式マニピュレータ、移動式マニピュレータの制御方法及びプログラムに関する。
【背景技術】
【０００２】
近年、ＡＧＶ（Automatic Guided Vehicle）に、マニピュレータを取り付けたＭｏＭａ（Mobile Manipulator）と呼ばれる搬送装置が知られている。ＡＧＶは、人間が運転操作を行わなくても、自動で走行することができる無人搬送装置である。このＡＧＶに、マニピュレータを取り付けることにより、工場等で、部品、仕掛品や完成品等を運搬することが可能になる。
【０００３】
特許文献１には、剛性の低い移動体であっても意図した軌道に沿った制御を行うために、移動体の制御対象部位を所定軌道に沿って移動させるためのコントローラにおいて、制御対象部位の状態を取得して、補償量を算出し、この補償量に基づいて移動体への移動指令を生成するコントローラが開示されている。
【０００４】
特許文献２には、少ない個数のセンサで多くの可動部の振動を検出するために、上腕部１１と、上腕部１１を駆動する肩関節部７とを有し、肩関節部７には上腕部１１の振動を検出する慣性センサを着脱可能に指示するセンサソケット１０が設置されているロボットが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−１１９９０３号公報
【特許文献２】特開２０１４−３０８５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、所定の位置に固定されているロボットと異なり、ＭｏＭａは、作業する場所を選ばない。このため、作業場所の環境に起因して、望ましい制御が適切に実行されない場合があった。例えば、プレス機など振動が大きい装置の近辺では、ＭｏＭａ自身も共振してしまい、マニピュレータ先端の正確な位置決めが難しくなるという課題が明らかになった。具体的には、ＭｏＭａに材料を搬送させて、移動先の装置にその材料を投入させる場合に、正確なマニピュレータの位置決めができないと、材料投入に失敗する。これにより、材料不足に伴う装置稼働率の低下や、材料の投入位置を誤って、材料の詰まりを引き起こす問題、また、材料が床等に落下して周辺環境を悪化させる弊害を招き得ることがわかった。
【０００７】
そこで本発明は、移動先の環境に適応した制御を実現する移動式マニピュレータ、移動式マニピュレータの制御方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本開示の一側面に係る移動式マニピュレータは、第１の位置から第２の位置へ移動するための移動装置と、この移動装置に接続されるマニピュレータと、移動装置及びマニピュレータを制御するコントローラと、移動装置の位置と関連付けて環境データを取得する環境取得センサと、を備え、コントローラは、環境取得センサによって取得されて、前記移動先の位置、または、前記第１の位置と前記第２の位置との間の移動経路上の何れかの地点に関連付けられた環境データに基づいて、移動装置又はマニピュレータの少なくともいずれか一方を制御する。
【０００９】
この構成では、移動先の位置に関連付けて取得する環境データを取得するから、移動先の環境に適応した制御を実現することができるマニピュレータを提供することができる。
【００１０】
ここで、移動装置に接続されたマニピュレータは、移動装置の上に載置されていることが好ましい。また、環境データとは、移動先の環境（たとえば、移動先の付近に設置されている製造装置等）に起因する振動量、振動の振幅、振動周波数、温度、明るさ、ノイズ、音量などを含むデータ、または、これらを用いて生成された情報のいずれかを含む。
【００１１】
また、移動装置は、複数の地点を移動するように構成されており、環境取得センサは、移動先である複数の地点における環境データをそれぞれ取得するように構成され、コントローラは、複数の地点のそれぞれにおいて、その地点における環境データに基づいて、移動装置又はマニピュレータの少なくともいずれか一方を制御することができる。
【００１２】
この構成では、移動先の複数の地点における環境データを取得して、それらに基づいて制御することができるから、より移動先の環境に適応することができる。
【００１３】
なお、「地点」は、第１の位置及び第２の位置を含み、また、移動経路上のいずれかの位置を含む。
【００１４】
また、「移動先」は、ある地点、たとえば、終着点としての第１の位置又は第２の位置のみならず、その途中における移動経路上の任意の地点を含む。
また、コントローラは、自己の位置を推定する位置推定プログラムを実行可能であり、環境取得センサは、移動装置により移動可能な領域内の複数の区画ごとに環境データを取得するように構成され、かつ、コントローラは、位置推定プログラムに基づいて推定される自己の位置が属する区画に対応する環境データに基づいて、移動装置又はマニピュレータの少なくともいずれか一方を制御することができる。
【００１５】
この構成では、所定の区画ごとに環境データを取得し、自己の位置が属する区画に応じた環境データに基づいて制御することができるから、予め区画ごとに環境データを取得しておくことで、複数のマニピュレータが、その環境データを利用することができる。
【００１６】
なお、「区画」とは、制振フィルタなど、環境データへの対処を同様に扱い得る領域であり、同一の環境データを有するとして扱うことができる領域を含む。
【００１７】
また、環境取得センサは、移動先の振動の振幅を環境データとして取得するように構成され、コントローラは、振動の振幅に基づいて、移動装置又はマニピュレータの少なくともいずれか一方を制御することができる。
【００１８】
この構成では、環境データとして移動先の振動量を取得することが出来るからマニピュレータの共振を抑制することが可能になる。
【００１９】
また、環境取得センサは、移動先の振動の振幅を環境データとして取得するための加速度センサを備え、コントローラは、振幅が所定値以上の地点を含む領域において、移動装置による移動速度が第１の速度となり、振幅が所定値未満の地点を含む領域において、移動装置による移動速度が第１の速度より大きい第２の速度となるように移動装置を制御することができる。
【００２０】
この構成では、移動先の振動量に応じて移動速度を変更することが出来るからマニピュレータの転倒等を抑制することができる。
【００２１】
また、環境取得センサは、移動先の振動の振幅を環境データとして取得するための加速度センサを備え、コントローラは、複数の地点における振幅に基づいて次の地点における振動の振幅を推定する振幅推定プログラムを実行可能であり、推定された次の地点における振幅が所定値以上の場合は、次の地点への移動装置の移動速度、移動加速度又は制御ゲインの少なくともいずれか一つが所定値以下となるように、移動装置を制御することができる。
【００２２】
この構成では、予め移動先の環境データを取得しておき、次の地点における環境データに基づいて制御することができるから、移動先の環境により適応した制御が可能になる。
【００２３】
また、環境取得センサは、移動装置により移動可能な領域内の複数の区画ごとにその区画の振動の振幅を環境データとして取得するように構成され、コントローラは、位置推定プログラムに基づいて推定される自己の位置が属する区画に対応する振動の振幅に基づいて、移動装置又はマニピュレータの少なくともいずれか一方を制御する。
【００２４】
この構成では、所定の区画ごとに振動量を取得し、自己の位置が属する区画に応じた振動量に基づいて制御することができるから、その区画ごとに適応した制御ができる。
【００２５】
また、環境取得センサが取得する環境データは、他の移動式マニピュレータにより計測されたデータを含むことができる。
【００２６】
この構成では、他のマニピュレータが取得した環境データを利用することができるから、事前に移動先の環境に適応した制御が可能になる。
【００２７】
また、環境取得センサは、移動先の振動の振幅及び周波数を環境データとして取得するように構成され、コントローラは、第１の制御モード又は所定の周波数の振動を抑制する第２の制御モードに基づいて、移動装置又はマニピュレータを制御可能に構成されており、かつ、振動の振幅及び周波数に基づいて、第１の制御モードまたは第２の制御モードを選択するように構成することができる。
【００２８】
この構成では、移動先の振動量等に応じた制御モードを選択することができるから、共振等を効果的に抑制することができる。
【００２９】
また、環境取得センサは、移動可能な領域内の複数の区画ごとに、その区画における振動の周波数を反映した情報を環境データとして取得するように構成され、コントローラは、位置推定プログラムにより推定される自己の位置が属する区画と、その区画における振動周波数に基づく制振フィルタを用いて、マニピュレータを制御するように構成することができる。
【００３０】
この構成では、区画ごとに、その区画における振動の周波数を反映した情報を環境データとして取得し、その周波数情報に基づく制振フィルタを用いるようにしたから共振を抑制することが可能になる。
【００３１】
また、マニピュレータは、複数のサーボモータと、これら複数のサーボモータによって駆動される複数のリンクを備える多関節ロボットアームであり、環境取得センサは、所定帯域の周波数を含む信号を少なくとも一つのサーボモータに入力した際の応答に基づいて、その地点の振動の周波数を環境データとして取得するように構成することができる。
【００３２】
この構成では、複数のサーボモータによって駆動される複数のリンクを備える多関節ロボットアームにおいて、サーボモータに入力した際の応答に基づいて、その地点の振動の周波数を環境データとして取得することができるから、このようなハードウェア構成を備えるマニピュレータを用いて環境データを取得することができる。
【００３３】
また、環境取得センサは、移動先の温度を環境データとして取得することができる。
【００３４】
この構成では、移動先の温度を考慮した制御をすることができる。
【００３５】
また、マニピュレータは、複数のサーボモータと、これら複数のサーボモータによって駆動される複数のリンクを備える多関節ロボットアームであり、コントローラは、温度が所定値以上であり、かつ、少なくとも一つのサーボモータの負荷率が所定値以上である場合は、そのサーボモータの負荷率が所定値以下となるように、そのサーボモータのトルクまたは電流値の少なくとも一方を下げるように構成することができる。
【００３６】
この構成では、温度が所定値以上であり、かつ、少なくとも一つのサーボモータの負荷率が所定値以上である場合は、そのサーボモータの負荷率が所定値以下となるように、そのサーボモータのトルクまたは電流値の少なくとも一方を下げるから、高温環境で高負荷の動作をさせた場合に起因するロボットアームの故障や、異常停止等を抑制し、ロバストに稼働できる期間を延ばすことで、生産効率の向上が可能になる。
【００３７】
また、移動式マニピュレータは、周囲の環境を撮像するための撮像センサを備え、環境取得センサは、移動先の照明環境に起因する照度情報を環境データとして取得するように構成され、コントローラは、照度情報に基づいて、移動装置による移動経路を制御するように構成することができる。
【００３８】
この構成では、移動先の照明環境に起因する照度情報を環境データとして取得し、照度情報に基づいて、移動装置による移動経路を制御するようにしたから、より照度が高い経路をとることができるから、より正確に物体認識することが可能になり、マニピュレータの制御性能を向上させることが可能になる。
【００３９】
また、コントローラは、照度情報に基づいて、撮像センサを制御するように構成することができる。
【００４０】
この構成では、移動先の照度情報に基づいて、撮像センサを制御することができるので、撮像に好適な照度状態で撮像することができる。
【００４１】
また、環境取得センサは、移動先の照明環境に起因して発生するノイズ信号の周波数を環境データとして取得するように構成され、コントローラは、ノイズ信号の周波数に基づいて、撮像センサにより得られる画像データを画像処理することができる。
【００４２】
この構成では、移動先の照明環境に起因して発生するノイズ信号の周波数を環境データとして取得し、ノイズ信号の周波数に基づいて、撮像センサにより得られる画像データを画像処理することができるから、外部環境である照明に依存するノイズを排除し、マニピュレータの周辺物の認識能力を向上することができる。
【００４３】
また、環境取得センサは、移動先の環境に起因して発生する騒音の大きさ及び周波数を環境データとして取得するための集音マイクを備え、コントローラは、騒音の大きさ及び周波数に基づいて、移動装置による移動経路を制御するように構成することができる。
【００４４】
この構成では、移動先の環境に起因して発生する騒音の大きさ及び周波数を環境データとして取得することができるため、簡便なセンサを用いて他の装置の振動等に起因する情報を取得し、特定の周波数成分が小さいような経路を選択することにより、周波数等に起因するマニピュレータの転倒や先端の振動等を抑制することが可能になる。
【００４５】
また、本開示の他の側面に係る移動式マニピュレータの制御方法は、第１の位置から第２の位置へ移動するための移動装置と、この移動装置に接続されるマニピュレータを制御する方法であって、環境取得センサを用いて、移動装置の位置と関連付けて環境データを取得するステップと、環境取得センサによって取得され、移動先の位置、または、第１の位置と第２の位置との間の移動経路上の何れかの地点に関連付けられた環境データに基づいて、移動装置又はマニピュレータの少なくともいずれか一方を制御するステップと、を備える。
【００４６】
この構成によれば、移動先の位置に関連付けて取得する環境データを取得するから、移動先の環境に適応した制御を実現することができるマニピュレータの制御方法を提供することができる。
【００４７】
また、本開示の他の側面に係るプログラムは、第１の位置から第２の位置へ移動するための移動装置及びこの移動装置に接続されるマニピュレータを制御するためのコンピュータに、移動装置による移動先の環境に起因する所定の環境データを取得するステップであって、環境取得センサを用いて、移動先の位置と関連付けて環境データを取得するステップと、環境取得センサによって取得され、移動先の位置、または、第１の位置と第２の位置との間の移動経路上の何れかの地点に関連付けられた環境データに基づいて、移動装置又はマニピュレータの少なくともいずれか一方を制御させるステップと、を実行させる。
【００４８】
この構成によれば、移動先の位置に関連付けて取得する環境データを取得するから、移動先の環境に適応した制御を実現することができるプログラムを提供することができる。
【発明の効果】
【００４９】
本発明によれば、移動先の環境に適応した制御を実現する移動式マニピュレータ、移動式マニピュレータの制御方法及びプログラムを提供することができる。
【図面の簡単な説明】
【００５０】
【図１】ＭｏＭａ１０及び１０’がフロアＦ上を移動する様子
【図２】ＭｏＭａ１０の概略構成図
【図３】コントローラ１０ｇの概略構成図
【図４】実施形態に係るＭｏＭａ１０の制御方法のフローチャート
【図５】加速度を予測するためのグラフ
【図６】第２実施形態の変形例に係る制御方法を実行するための機能ブロック図
【図７】第３実施形態に係るＭｏＭａ１０の制御方法を示すフローチャート
【図８】第３実施形態に係る制御方法を実行するための機能ブロック図
【図９】移動可能マップとＭｏＭａ１０の自己推定位置を示した図
【図１０】振動マップの斜視図
【図１１】第４実施形態に係る制御方法を示すフローチャート
【図１２】第４実施形態に係る制御方法を実行するための機能ブロック図
【図１３】所定区画における周波数解析の結果を示すグラフ
【発明を実施するための形態】
【００５１】
［第１実施形態］
まず、図１を用いて、本発明が適用される一実施形態の概要について説明する。図１は、ＭｏＭａ（Mobile Manipulator）１０及び１０’と呼ばれる移動式マニピュレータが、工場のフロアＦ上を移動する様子を示している。ＭｏＭａ１０とＭｏＭａ１０’は同じ構成を備えている。フロアＦには、振動を発生させる装置Ｍ及びＭ’が設置されている。また、フロアＦは必ずしも平面ではなく、床面用ケーブルカバーなどのために床面から出っ張っている領域Ｐ及びＰ’なども含んでいる。
【００５２】
ＭｏＭａ１０は、ＡＧＶ（Automatic Guided Vehicle）である移動装置１０ａ（「移動装置」の一例）及びこの移動装置１０ａの上に取り付けられたロボットアーム１０ｒ（「マニピュレータ」の一例）を備えている。ロボットアーム１０ｒは、複数のサーボモータと、これら複数のサーボモータによって駆動される複数のリンクを備える。また、このＭｏＭａ１０は、装置Ｍ及び装置Ｍ’に起因するフロアＦの振動量（「環境データ」の一例）を、環境データＥ１として予め取得して、例えば、図示しないＭｏＭａの記憶手段に記憶している。なお、以下では、環境データを総称して環境データＥとし、環境データＥに属する各種データを環境データＥ１、環境データＥ２などと呼ぶ。なお、ロボットアーム１０ｒは、後述するグリッパＧや吸着パット等を含んでいてよい。環境データＥは、例えば、後述するコントローラ１０ｇが、環境取得センサ１０ｓの取得値と、そのときのＭｏＭａ１０の位置情報とを関連付けることにより生成される。
【００５３】
環境データＥは、位置と関連付けて保持されている。本実施の形態では、環境データＥは、フロアＦ上の位置の関数として取得されており、たとえば、他のＭｏＭａ１０’がフロアＦ上の各地点を移動しながら計測して取得することができる。環境データＥは、フロアＦの振動量のほか、移動先の環境（たとえば、移動先の付近に設置されている製造装置等）に起因する振動周波数、温度、明るさ、ノイズ周波数、音量などを含むデータ、または、これらを用いて作成された情報を含む。
【００５４】
環境データＥは、様々な手段で取得することが可能であり、人間がセンサを用いて各地点における環境データＥを取得してもよいし、類似の環境における環境データ及び装置の位置情報などに基づいて算出してもよい。
【００５５】
なお、「地点」は、ＭｏＭａ１０又は他のＭｏＭａ１０’の移動経路を含む任意の位置でよい。
【００５６】
また、「移動先」は、ある地点、たとえば、終着点のみならず、その途中におけるＭｏＭａ１０の移動経路上の任意の地点を含んでよい。
【００５７】
フロアＦ上に載置される装置Ｍ及びＭ’は、稼働しているため振動している。このため、装置Ｍ及びＭ’に近づくほど、フロアＦは大きく振動している。また、その振幅や振動周波数は、装置Ｍ及びＭ’の種類や稼働状況等に応じて異なる場合がある。
【００５８】
なお、ＭｏＭａ１０は、自己の位置を推定するためのプログラムを図示しない記憶媒体に保存しており、このプログラムを実行して自己の現在位置を推定することができる。そして、その位置に関連付けられている環境データＥを取得し、その環境データＥに基づいて、移動する経路及び移動速度を変更するように構成されている。具体的には、振動量が大きい位置を回避する経路を選択し、また、振動量が所定以上となる位置では移動速度を低下させるようにして、目的位置まで移動する。さらに、目的位置における環境データＥに基づいて、ロボットアーム１０ｒを制御することもできる。たとえば、環境データＥとして振動周波数を位置に関連付けて取得し、その周波数の振動を抑制する制振フィルタを適用してロボットアーム１０ｒを制御する制御データを生成することにより、ロボットアーム１０ｒの共振を抑制することが可能になる。なお、ＭｏＭａ１０は、自己の位置の推定を、図示しないＧＰＳ等のセンサに基づいて行ってもよく、また、ＭｏＭａ１０は、自己位置の推定を、ＭｏＭａ１０が有するセンサの情報に基づいて取得してもよい。なお、振動量とは、振動の振幅、及び、振動周波数、の少なくとも何れかの情報、並びに、この情報を用いて算出された情報を含む、振動に関する情報である。
【００５９】
このようなＭｏＭａ１０であれば、移動先の環境に適応した制御を実現することができる。
【００６０】
また、予め環境データを位置に関連付けて取得しているから、実際にその環境にさらされる前に、適切な制御を実現し、取り返しのつかない状況を未然に回避することも可能になる。たとえば、振動量が大きく、所定速度以上で移動するとＭｏＭａ１０が転倒する可能性がある領域に入る前に、予め速度を低下させて転倒を未然に防ぐことが可能になる。
【００６１】
以下、より具体的な実施形態について説明する。
【００６２】
［第２実施形態］
まず、図面を参照して本発明の第２実施形態について説明する。なお、同一の要素には同一の符号を付し、重複する説明を省略又は簡略化する。
【００６３】
図１は、上述した通り、振動源となる複数の装置が設置されている工場内を、複数のＭｏＭａ１０が移動する様子を示す模式図である。
【００６４】
各ＭｏＭａ１０は、障害物となる装置を回避するように、フロアＦ上を自由に移動することができる。フロアＦ上を移動するＭｏＭａ１０の数は、用途や環境等に応じて自由に選択することができ、一台であっても、二台以上の複数であってもよい。装置Ｍ及びＭ’は、たとえば、プレス機などの工作機械やコンベアなどである。プレス機など所定の周期で同じ動作を繰り返す装置は、その動作自体に伴って生じる所定の周期の振動や、その動作を実行するための部品（たとえば、モーターなど）の動作に伴って様々な周波数の振動が発生し、フロアＦに伝わる。このため、その振動量や振動周波数は、フロアＦ上の位置に応じて異なる。
【００６５】
図２は、ＭｏＭａ１０の構成を示している。このＭｏＭａ１０は、マニピュレータとしてのロボットアーム１０ｒと、このロボットアーム１０ｒが取りつけられる移動装置１０ａと、移動先の環境データＥを取得するための各種環境取得センサ１０ｓ（「環境取得センサ」の一例）を備える。
【００６６】
移動装置１０ａは、車体１０ｂと、移動するための車輪１０ｃと、車輪１０ｃを駆動するためのサーボモータ１０ｄを備えている。
【００６７】
車体１０ｂの内部には、サーボモータ１０ｄと、ロボットアーム１０ｒを駆動するためのサーボモータ１０ｄ’にそれぞれ制御用の電流を供給する複数のサーボドライバ１０ｅが備わっている。また、ＭｏＭａ１０の各構成要素の電力源となるバッテリー１０ｆと、ロボットアーム１０ｒ及び移動装置１０ａをそれぞれ制御するためのコントローラ１０ｇが搭載されている。
【００６８】
ロボットアーム１０ｒは、複数のリンクＬと、これらリンクＬを駆動するための複数のサーボモータ１０ｄ’から構成される多関節ロボットである。先端のリンクＬには、エンドエフェクタとしてのグリッパＧが接続されているので、移動先においてオブジェクトを把持することができる。また、先端のリンクＬの内部には、加速度センサ１０ｓ１（「環境取得センサ」の一例）が搭載されている。また、このロボットアーム１０ｒには、オブジェクトを認識し、把持をするために用いる図示しない画像センサを搭載させてもよい。
【００６９】
車体１０ｂには、各種環境取得センサ１０ｓを搭載するための支柱１０ｈが設置されている。この支柱１０ｈは、車体１０ｂの上面に、ほぼ垂直に固定されている。支柱１０ｈの上部には、内部に画像センサ１０ｓ２（「環境取得センサ」の一例）、照度センサ１０ｓ３（「環境取得センサ」の一例）、温度センサ１０ｓ４（「環境取得センサ」の一例）が搭載されている。
【００７０】
このように、ロボットアーム１０ｒとは分離して車体１０ｂに固定された支柱１０ｈに各種環境取得センサ１０ｓ２〜１０ｓ４を設置したので、ロボットアーム１０ｒが動作しても、ロボットアーム１０ｒに影響されることなく、ＭｏＭａ１０の移動先の環境に起因する様々な環境データＥを精度良く取得することが可能になる。
【００７１】
また、車体１０ｂの前面には、ＭｏＭａ１０の移動先の音情報を取得するための集音マイク１０ｓ５（「環境取得センサ」の一例）が搭載されている。
【００７２】
さらに、車体１０ｂの前面には、環境データＥなどの情報を外部と送受信するための無線アンテナ１０ｉと、周辺物の距離を測定するためのＬＲＦ（Laser Range Finder）１０ｊが搭載されている。ＬＲＦ１０ｊは、前方にレーザビームを走査し、その反射ビームを検出することにより周辺物の距離を測定することができる。したがって、ＭｏＭａ１０は、このＬＲＦ１０ｊからの距離情報を用いて、周辺物にぶつからないように、フロアＦ上を移動することができる。
【００７３】
図３は、コントローラ１０ｇの構成図である。コントローラ１０ｇは、ＣＰＵ（Central Processing Unit）等、演算処理用のプロセッサを備えるＣＰＵ１０ｋ、ＳＲＡＭ（Random Access Memory）等の揮発性の一時記憶装置であるＲＡＭ１０ｌ及び不揮発性の半導体記憶装置であるＲＯＭ１０ｍ（たとえば、ＮＯＲ型フラッシュメモリ）及び外部記憶装置であるＨＤＤ１０ｎ（たとえば、ハード・ディスク・ドライブ）、通信インタフェース１０ｐを含む。
【００７４】
ＣＰＵ１０ｋは、ＲＯＭ１０ｌに記憶されているプログラムを読み出し、又は、無線もしくは有線の通信インタフェース１０ｐを用いて外部から取得し、実行する。
【００７５】
ＲＡＭ１０ｌは、プログラムの一部や、演算データ等を一時的に記憶するために用いることができる。
【００７６】
ＲＯＭ１０ｍは、ＣＰＵ１０ｋにより実行されるプログラムを記憶する記憶媒体である。
【００７７】
ＨＤＤ１０ｎは、コンピュータ等の外部機器を用いて読み取り可能なように、情報を、電気的、磁気的、光学的、機械的、化学的又はそれらの組み合わせによって記憶する媒体であり、例えば、ＣＤ、ＤＶＤ、磁気ディスク、ＭＯ、ＵＳＢメモリ等の半導体フラッシュメモリ、ＨＤＤ等から構成することができる。ＨＤＤ１０ｎは、ＣＰＵ１０ｋにより実行されるプログラム（例えば、ＭｏＭａ１０の移動装置１０ａの移動速度や移動経路を決定し、移動装置１０ａを制御し、駆動するためのプログラム、ロボットアーム１０ｒを制御し、駆動するためのプログラム、ＭｏＭａ１０の現在位置を推定するための位置推定プログラム、移動先の位置における振幅を推定するための振幅推定プログラム）及び環境取得センサ１０ｓ１〜１０ｓ５によって取得された環境データＥ等を記憶することができる。
【００７８】
通信インタフェース１０ｐは、例えば、無線アンテナ１０ｉを介して外部との情報の授受をするための無線ＬＡＮ（Local Area Network）インタフェースを備える。さらに通信インタフェース１０ｐは、環境取得センサ１０ｓ１〜１０ｓ５及びＬＲＦ１０ｊから得られた情報を受信するための各種インタフェースから構成されている。また、通信インタフェース１０ｐは、サーボドライバ１０ｅとのインタフェースも備えており、サーボドライバ１０ｅを介して各リンクＬの回転位置情報を取得し、これら回転位置情報に基づいてサーボドライバ１０ｅに制御用データを送信することができる。
【００７９】
なお、コントローラ１０ｇは、サーボドライバ１０ｅと一体に構成されていてもよい。このとき、コントローラ１０ｇのＲＯＭ１０ｍは、サーボモータ１０ｄ’のそれぞれに供給する電流を演算するためのプログラムを保持し、ＣＰＵ１０ｋは、このプログラムを読み出し、実行する。
【００８０】
図４は、本実施形態に係るＭｏＭａ１０の制御方法のフローチャートである。この演算処理は、ＲＯＭ１０ｍ又はＨＤＤ１０ｎに記憶されているプログラムを読み出したＣＰＵ１０ｋにより実行される。
【００８１】
まず、ＭｏＭａ１０が、工場のフロアＦ内の任意の位置に向かって移動を開始する（ステップＳ４１）。
【００８２】
移動中に、コントローラ１０ｇは、ロボットアーム１０ｒのリンクＬ内に搭載されている加速度センサ１０ｓ１の測定データを、通信インタフェース１０ｐ経由で取得し、ＭｏＭａ１０の加速度が、所定の閾値以上であるか判断する（ステップＳ４２）。
【００８３】
ここで、このような判断処理を、ＭｏＭａ１０が定速で移動し、本来は加速度がゼロである時に選択的に実行することにより、外部環境に起因する環境データＥを精度良く取得することができる。
【００８４】
ステップＳ４２において、加速度が閾値未満の場合は、フローチャートが終了し、再びステップＳ４１に戻る。
【００８５】
ステップＳ４２において、加速度が所定値の閾値以上の場合は、ＭｏＭａ１０が減速するように、コントローラ１０ｇが、車輪１０ｃのサーボモータ１０ｄを制御するための制御信号をサーボドライバ１０ｅに送信する（ステップＳ４３）。
【００８６】
たとえば、定速移動中にわたり、所定時間ごとに、これらステップＳ４１〜Ｓ４３が繰り返し実行される。
【００８７】
ロボットアーム１０ｒの先端のリンクＬ内に搭載される加速度センサ１０ｓ１は、ロボットアーム１０ｒがオブジェクトを把持等の動作をしている間は、車体１０ｂに対するロボットアーム１０ｒの加速度を測定し、ロボットアーム１０ｒ自身の振動を計測する目的で使用することができる。本実施形態においては、さらに、ロボットアーム１０ｒがベースである車体１０ｂに対して相対的に移動しておらず、移動装置１０ａによりロボットアーム１０ｒと車体１０ｂが一体的に移動している間に、ＭｏＭａ１０の移動先（途中経路を含む）の周辺環境に起因する振動情報（環境データ）を取得するために、この加速度センサ１０ｓ１を用いることができる。このため、既存のマニピュレータのハードウェア構成を大きく変更することなく、本発明を適用することが可能になる。
【００８８】
振動源である装置Ｍ又は装置Ｍ’の付近をＭｏＭａ１０が通過する際は、加速度センサ１０ｓ１による測定データの出力値が大きくなるため、その際にＭｏＭａ１０の移動速度を低下させることにより、ＭｏＭａ１０が装置Ｍ又は装置Ｍ’の振動と共振し、転倒するような事態を抑制することができる。車体の上部等にマニピュレータが設置されているＭｏＭａは、重心が高いため転倒のリスクが小さくないが、本実施形態に係るＭｏＭａ１０を用いることによって、外部の振動源に起因する転倒を抑制することができる。
【００８９】
なお、ステップＳ４２における閾値は、動的に変更してもよい。また、加速度センサＳ１による測定値の逆数等を用いて所定の閾値以下の場合に減速するように制御してもよい。その他、閾値の値または範囲は、適宜変更することができる。
【００９０】
また、ＭｏＭａ１０は、所定の移動経路に従って移動するように構成してもよい。ただし、所定の領域内の経路を自律的に選択するようなＭｏＭａは、外部環境が既知でない経路を選択する可能性があることから、本実施形態に係る制御方法を適用して環境データを取得することの効果が大きい。
【００９１】
また、ロボットアーム１０ｒは、グリッパＧでオブジェクトを把持するものに限られず、所定の作業をするマニピュレータ等に幅広く適用することができる。
【００９２】
［変形例］
以下、第２実施形態の変形例として、加速度の実測値ではなく、予測値に基づいて、ＭｏＭａ１０の移動速度を制御する場合について説明する。
【００９３】
図５（ａ）は、過去の加速度に基づいて加速度を予測するためのグラフを示している。横軸は時間を示し、縦軸は加速度の大きさを示している。
【００９４】
この図に示されるように現在時刻ｔ0及びそれ以前の時刻における加速度の値を線形直線Ｌ１で近似することにより、将来時刻ｔ1における加速度の値Ｖ１を予測することができる。将来時刻ｔ1としては、次の制御周期、又は、所定秒後を設定することができる。
【００９５】
そしてステップＳ４２の替りに、ステップＳ’４２として、予測される加速度の値Ｖ１を閾値と比較するように構成してもよい。
【００９６】
図６は、このような第２実施形態の変形例に係る制御方法を実行するための機能ブロック図である。これら各機能は、ＲＯＭ１０ｍ又はＨＤＤ１０ｎに記憶されているプログラム（「振幅推定プログラム」の一例）をコントローラ１０ｇが実行することによって実現することができる。
【００９７】
まず、加速度センサ１０ｓ１の出力値受取部Ｆ１は、加速度センサ１０ｓ１から出力されるＭｏＭａ１０の加速度を示す情報を受け取る。
【００９８】
受け取られた加速度を示す情報は、時系列データＤ１としてその時の時刻及びその時のＭｏＭａの位置に関連付けて取得される。各データは、例えば、ＲＡＭ１０ｌに一時的に保存することができる。
【００９９】
加速度予測部Ｆ２は、これら時系列データに基づいて、線形近似直線を算出し、将来時刻ｔ1における加速度を予測する。
【０１００】
予測された将来時刻ｔ1における加速度が閾値以上の場合は、制御モード修正部Ｆ３が、低速で運転するための制御モードに切り替える。
【０１０１】
ＭｏＭａ１０が振動源に近づくように移動している場合は、時刻とともに、加速度センサ１０ｓ１の出力が次第に大きくなると考えられるため、線形近似により、精度良く将来時刻における加速度センサ１０ｓ１の出力値を予測することができる。そして、加速度センサ１０ｓ１の実測値が所定値以上となるよりも前に、予め減速するようにＭｏＭａ１０を制御することができるから、転倒等を未然に抑制することが可能になる。なお、近似方法は、線形近似に限られず、ｎ次近似（ｎは２以上の整数）でもよい。
【０１０２】
また、制御対象は、ＭｏＭａ１０の移動速度に限られず、ＭｏＭａ１０の加速度や、制御ゲイン、または、それらの組み合わせであっても良いし、通常の制御モードと、共振抑制のための制御モードを予めＲＯＭ１０ｍに格納しておき、加速度センサ１０ｓ１の出力に応じて、制御モード修正部Ｆ３が、制御モードを切り替えるように構成してもよい。
【０１０３】
図５（ｂ）は、加速度及び速度を制御する場合のＭｏＭａ１０の移動速度の変化を示したグラフである。このグラフに示されるように、本来、α1の加速度で速度ｖ1まで加速するように制御されるところ、振動が大きい環境下においては、α1より小さいα2の加速度で、ｖ1より小さい速度ｖ2に到達するまで加速するように制御することで、同じ移動距離を移動するのに要する移動時間はｔ2からｔ3に増加するものの、ロボットアーム１０ｒにかかる慣性力を低下させ、振動しにくくすることができる。また、制御ゲインを下げる場合は、振動という外乱に対する追従性を低下させることになるので、振動に伴う共振を抑制することができる。
【０１０４】
なお、速度（又は加速度や制御ゲイン）は、予め定められた所定量を低減するようにしてもよいし、加速度センサ１０ｓ１の値を係数として、加速度センサ１０ｓ１の値が大きいほど、大きく速度等が低減するように制御してもよい。
【０１０５】
以上のように変形を加えることによって、共振を開始する前に、これを抑制するようにＭｏＭａ１０を制御することができるから、転倒等のリスクを効果的に低減することが可能になる。
【０１０６】
［第３実施形態］
以下、第３実施形態について説明する。他の実施形態と共通の事柄についての記述を省略または簡略化し、異なる部分を中心に説明する。
【０１０７】
本実施形態に係るＭｏＭａ１０は、予め位置に関連付けられて作成された振動量を示す地図を利用して、移動装置１０ａ及びロボットアーム１０ｒを制御するように構成されている。ここで振動量を示す地図は、ＭｏＭａ１０自身又は他のＭｏＭａ１０’が、フロアＦ上を隈なく移動することによって作成することができる。
【０１０８】
図７は、第３実施形態に係るＭｏＭａ１０の制御方法を示すフローチャートである。図８はこのような制御方法を実現するための機能ブロック図である。これら機能は、ＲＯＭ１０Ｍ等に記憶されているプログラムをコントローラ１０ｇ中のＣＰＵ１０ｋが実行することにより、実現することができる。
【０１０９】
まず、ＭｏＭａ１０又は他のＭｏＭａ１０’に、フロアＦ上を隈なく移動させる。ここで移動しながら、ＬＲＦの出力値受取部Ｆ４は、ＬＲＦ１０ｊの出力値を取得する。そして移動可能範囲な地図（以下、「移動可能マップ」、という）を生成する生成部Ｆ５は、自己位置推定をしながら周囲の地図を生成するというステップを繰り返す。このような地図は、ＳＬＡＭ（Simultaneous Localization and Mapping）技術を用いて生成することができる。生成された移動可能マップは、ＨＤＤ１０ｎにデータベースＤ２として記録されるとともに、無線アンテナ１０ｉを介して、外部のデータベースに記録される。
【０１１０】
同時に、ＭｏＭａ１０又は他のＭｏＭａ１０’の加速度センサ１０ｓ１の出力値受取部Ｆ７は、加速度センサ１０ｓ１を用いて振動量を示す環境データＥ１を取得する。そして、振動箇所の地図（以下、「振動マップ」、という）を生成する生成部Ｆ８は、環境データＥ１と、その環境データが取得されたときに推定されている自己位置を関連付けることにより、振動マップを生成する。振動された生成マップは、ＨＤＤ１０ｎにデータベースＤ３として記録されるとともに、無線アンテナ１０ｉを介して、外部のデータベースに記録される（ステップＳ７０）。以上のステップにより振動マップの生成が実現される（ブロックＢ１）。
【０１１１】
図９（ａ）は、フロアＦを移動して生成された移動可能マップとＭｏＭａ１０の自己推定位置を示している。移動可能範囲Ｐ１と移動不可能な範囲Ｐ２が示される。
【０１１２】
この図に示されるように、装置Ｍ及びＭ’が存在する位置は移動不可能な範囲Ｐ２を示している。一方で、フロアＦの床面から出っ張っている領域Ｐ及びＰ’は、ＭｏＭａ１０が移動可能であると判断された結果、移動可能範囲Ｐ１として認識されている。
【０１１３】
図９（ｂ）は、フロアＦを移動して移動可能マップと同時に生成された振動マップを示している。この図に示されるように、移動可能マップと振動マップは必ずしも同一ではない。まず、移動不可能な範囲Ｐ２については、環境データＥ１を取得できないため、データそのものがない。次に、振動源である装置Ｍ及びＭ’の周辺については、装置Ｍ及びＭ’に近接するほど大きくなる振動量が観測されている。また、領域Ｐならびにその周辺領域を含む領域Ｐ３や、領域Ｐ’ならびにその周辺領域を含む領域Ｐ３’は、振動源ではないが、床面との固定が不十分であるために、外部からの振動の影響を受けやすい。このため、領域Ｐ３及びＰ３’では振動が観測されている。すなわち、領域Ｐ３及びＰ３’は、移動可能であるにもかかわらず、大きな振動が観測される転倒しやすい領域である。さらに、この領域は、床面から出っ張っているため、よりＭｏＭａ１０が転倒しやすい領域といえる。
【０１１４】
図１０は、図９（ｂ）における領域Ｐ４について、加速度センサ１０ｓ１の値を棒グラフで示す振動マップの斜視図である。加速度センサ１０ｓ１の値の単位は、（ｍ／ｓ2）である。装置Ｍに近づくほど大きな振動であることが示される。なお、振動量を取得する各領域（「区画」の一例）の大きさは、適宜選択することができる。また、振動が小さいことが予めわかっている領域については、区画を大きく設定し、転倒可能性が高い領域については、区画を小さく設定してもよい。
【０１１５】
なお、このような移動可能マップ又は振動マップは、複数台のＭｏＭａ１０及び１０’等を用いて生成するようにしてもよい。
【０１１６】
以上の事前処理（ステップＳ７０）を経てＭｏＭａ１０は、移動可能マップ及び振動マップを取得する。ＭｏＭａ１０が自身でこれらマップを生成した場合は、これらマップが記録されているＨＤＤ１０ｎからマップを読み出すことができる。他のＭｏＭａ１０’がマップを生成した場合は、外部サーバー等から、無線アンテナ１０ｉを経由して受信することができる。
【０１１７】
続いて、ＭｏＭａ１０の自己位置推定部Ｆ６は、ＬＲＦ１０ｊに基づいて得られる出力値と、移動可能マップをマッチングして、自己位置を推定する。以上により移動可能マップの生成及び自己位置推定がなされる（ブロックＢ１）。
【０１１８】
そして、制御モード修正部Ｆ９は、将来時刻ｔ１においてＭｏＭａ１０が存在する位置における振動量を振動マップから取得する（ステップＳ７１）。
【０１１９】
すなわち、制御モード修正部Ｆ９は、現在のＭｏＭａ１０の推定位置を取得する。また、ＭｏＭａ１０の移動経路と移動速度を取得することができるため、将来時刻ｔ１における移動先の位置を計算することができる。そして、振動マップを参照して、その位置における振動の大きさを取得することができる。
【０１２０】
次いで、取得された振動の大きさが一定値以上であるか否かが判断され（ステップＳ７２）、一定値以上の場合は、制御モード修正部Ｆ９は、制御モードを低速モードに変更して、ＭｏＭａ１０の速度を一定量減少させる（ステップＳ７３）。これらステップＳ７２及びＳ７３は、上述したステップＳ４２及びＳ４３と同様であるため、説明を割愛する。
【０１２１】
以上のとおり、本実施形態に係るＭｏＭａ１０の制御方法を用いて、予め移動先の位置に関連付けて環境データＥ１を取得し、取得された環境データＥ１に基づいてＭｏＭａ１０の移動速度を決定するようにしたから、より環境に適応した制御を実現することが可能になり、転倒などのリスクを未然に抑制することができる。上述したように、環境によっては、振動源から遠い領域で転倒を招き得る振動が発生している場合もあることから、本実施形態に係るＭｏＭａ１０及びその制御方法を採用することによって、より環境に適応したＭｏＭａ及びその制御方法を提供することが可能になる。
【０１２２】
なお、環境マップの生成にあたっては、同一地点を繰り返し通過させることにより、同一地点に関する複数の加速度センサの値を取得し、これら値の平均値、中央値、または最大値を用いて環境マップを生成してもよい。
【０１２３】
また、加速度センサの値の集合を、移動平均などの手法により平滑化してもよい。このように平滑化することにより、移動地点間の加速度センサの値を精度良く推測することが可能になり、推測された加速度センサの値に基づいて精度良くＭｏＭａ１０を制御することができる。
【０１２４】
また、加速度センサの値が所定値以下であり、転倒に影響を与えないとみなすことができる場合は、ゼロとみなす、または、無視することにしてもよい。
【０１２５】
また、振動マップは、移動させるＭｏＭａの種類や、ＭｏＭａが搬送するワーク又はオブジェクトの種類ごとに生成してもよい。異なるＭｏＭａは、その質量、剛性や外形が異なるため、振動量が異なるからである。同様に、搬送するワーク等の重さや形状も振動に影響を与えるためである。
【０１２６】
また、制御を変更する閾値等も、同様に、ＭｏＭａの種類や、作業内容に応じて異ならせてもよい。
【０１２７】
また、振動マップや移動可能マップの生成は、通信ネットワークを通じて複数のＭｏＭａを用いて実現してもよい。また、これらマップを外部のサーバーに保存し、所定のタイミング（たとえば、ＭｏＭａの充電時）に通信ネットワークを通じて取得するように構成してもよい。
【０１２８】
［第４実施形態］
以下、第４実施形態について説明する。他の実施形態と共通の事柄についての記述を省略または簡略化し、異なる部分を中心に説明する。
【０１２９】
本実施形態に係るＭｏＭａ１０の制御方法は、上述した振動マップに基づいて、フロアＦを区分した区画ごとに周波数解析を実施し、その区画の振動を抑制するための制振フィルタ（「環境データ」の一例）を環境データＥ２として各区画と関連づけて予め生成する。そして、ＭｏＭａ１０がその区画にいるときに、その区画に関連付けられた制振フィルタを適用して、ＭｏＭａ１０を制御するように構成される。
【０１３０】
図１１は、このような制御方法を示すフローチャートである。図１２は、このような制御方法を実現するための機能ブロック図である。ただし、図１２におけるブロックＢ１及びＢ２は、図８と同様であるため、説明を割愛する。
【０１３１】
まず、事前処理（ステップＳ１１０）について説明する。
【０１３２】
ただし、事前処理のうち（１）自己位置推定及び移動可能マップ作成ならびに（２）振動マップ生成については、ステップＳ７０と同様であるため、説明を割愛する。
【０１３３】
次いで、（３）振動マップを複数の区画（「複数の地点」の一例）に分割する。区画の方法は、振動マップに基づいて自動的にクラスタリングを実施してもよいし、マニュアルによって分割してもよい。
【０１３４】
そして、（４）区画ごとに制振フィルタを生成する。具体的には、周波数解析部Ｆ１０は、振動マップから得られる区画内外の加速度センサ１０ｓ１により得られた振動量を示す情報に基づいて、各区画の周波数解析を実施する。
【０１３５】
図１３（ａ）は、ある区画における周波数解析の結果を示している。横軸は周波数（Ｈｚ）を示し、縦軸は、加速度センサ１０ｓ１により得られた振動量（ｍ／ｓ2）を周波数解析して得られる振動の大きさを示す値（ｄＢ）である。
【０１３６】
この図の場合、共振周波数ｆｖ（Ｈｚ）をピークの共振周波数とし、幅をｆｗ（Ｈｚ）、深さをｄ（ｄＢ）とする振動が現れていることがわかる。
【０１３７】
図１３（ｂ）は、この振動の共振周波数ｆｖ（Ｈｚ）及びその幅ならびに深さに基づいて制振フィルタ生成部Ｆ１１が生成した制振フィルタを示している。横軸は周波数（Ｈｚ）を示し、縦軸は、図１３（ａ）と同様に、振動の大きさを示す値（ｄＢ）を示している。
【０１３８】
この図に示されるように、所望の周波数の振動を抑制する制振フィルタ（図では、基準に対して−３ｄＢとなる周波数領域をｆｗとし、深さをｄ（ｄＢ）とする制振フィルタ）を区画ごとに予め生成する。
【０１３９】
図１３（ｃ）は、制振フィルタを適用した制御を行った場合の周波数（横軸）と振動の大きさ（縦軸）を示すグラフである。この図のように、取得された共振周波数を抑制するような制振フィルタを適用して制御を行うことにより、共振を効果的に抑制することができる。
【０１４０】
各区画に関連付けられた制振フィルタは、データベースＤ４として、ＨＤＤ１０ｎに記録され、事前処理が終了する（ステップＳ１１０）。
【０１４１】
次いで、ＭｏＭａ１０が移動中に、最適な制振フィルタを適用するステップ（ステップＳ１１１以降）について述べる。
【０１４２】
まず、制御モード修正部Ｆ１２は、自己位置推定部Ｆ６により推定された自己位置に基づいて、ＭｏＭａ１０が次に進む区画における制振フィルタをデータベースＤ４から取得する（ステップＳ１１１）。
【０１４３】
そして、ＭｏＭａ１０が実際にその区画に侵入した時点で、取得した制振フィルタが適用される。具体的には、制御モード修正部Ｆ１２は、自己位置推定部Ｆ６で推定される自己位置における振動量を振動マップＤ３から取得して、ＭｏＭａ１０の移動装置１０ａ又はロボットアーム１０ｒを制御するための制御データを生成するにあたり、さらに、制振フィルタを適用して制御データを生成し、移動装置１０ａ又はロボットアーム１０ｒを制御する（ステップＳ１１２）。
【０１４４】
次いで、ＭｏＭａ１０がその区画から出たら制御フィルタを解除する（ステップＳ１１３）。新たな区画に適用すべき制振フィルタがある場合は、その制振フィルタを適用して、同様に、ＭｏＭａ１０の移動装置１０ａ又はロボットアーム１０ｒを制御するための制御データを生成して、移動装置１０ａ又はロボットアーム１０ｒを制御する。
【０１４５】
以上のとおり、本実施形態に係るＭｏＭａ１０は、フロアＦ上の位置（区画）ごとに、その位置における振動周波数に対応した制振フィルタを環境データとして予め生成し、ＭｏＭａ１０がその区画に侵入している間は、その制振フィルタを適用してＭｏＭａ１０を制御するようにしたから、移動先の環境に応じた制御を実現することができる。
【０１４６】
特に、ロボットアーム１０ｒを用いて精緻な動作を必要とする作業の場合は、出来るだけ振動の影響を低減したい。本実施形態に係るＭｏＭａ１０は、複数の区画ごとに制振フィルタを設け、その区画ごとに適用する制振フィルタを異ならせるようにしたから、区画ごとに適応したＭｏＭａ１０の制御が可能になる。ただし、一部の区画（たとえば、ＭｏＭａ１０が静止してロボットアーム１０ｒ等のマニピュレータを用いて作業する区画）のみにその区画に適した制振フィルタを適用するように構成してもよい。
【０１４７】
なお、加速度センサ１０ｓ１を用いる替わりに、特定の制御信号をロボットアーム１０ｒの各サーボモータ１０ｄ’に与えて、そのフィードバック値に基づいて周波数特性を取得するようにしてもよい。たとえば、移動可能マップの生成のために、ＭｏＭａ１０がフロアＦ上を動き回っている間に、振動量が大きい可能性がある地点において、各サーボモータ１０ｄ’にスウェプト・サイン信号（Swept Sin）を与え、周波数特性が得られやすいグリッパＧに最も近いサーボモータ１０ｄ’のフィードバック値を、その位置における周波数特性（図１３（ａ）のような情報）として取得することができる。
【０１４８】
また、振動マップ等の位置に関連付けて記憶された環境データは、時間帯ごとに作成してもよい。たとえば、工場の稼働状況が時間帯に応じて変動する場合は、時間帯ごとに振動マップを作成することで、よりその時間帯の環境に適応した制御が可能になる。すなわち、まだ工場の装置が稼働していない時間帯（たとえば、８時から９時）と、工場の一部の装置が稼働している時間帯（たとえば、９時から１２時）と、工場の全ての装置が稼働している時間帯（たとえば、１２時から１５時）があるような場合は、これら時間帯ごとに振動マップを作成することで、その時の環境により適応した制御が可能になる。
【０１４９】
また、通信ネットワークを通じて、振動発生源となる装置の稼働状況を取得し、稼働状況に応じて振動マップ（又はその他の位置情報に関連付けられた環境データ）を更新するように構成してもよい。たとえば、事前に全装置が稼働している場合の振動マップを作成しておく。そして、各装置の稼働状況（たとえば、各装置の電源が入っているか入っていないかの状態）を、通信ネットワークを通じて取得し、振動マップを更新することができる。たとえば、装置Ｍが稼働していないという情報を取得した場合は、装置Ｍの周辺の振動量をゼロとみなして振動マップを更新して、更新された振動マップに基づいてＭｏＭａを制御するようにしてもよい。
【０１５０】
［変形例］
上記実施形態の変形例として、集音マイク１０ｓ５（「環境取得センサ」の一例）を用いて環境の音情報（「環境データ」の一例）を環境データＥ４として取得し、周波数解析を実行する場合について以下に説明する。
【０１５１】
すなわち、振動に伴って騒音が発生することから、集音マイク１０ｓ５を、振動情報を取得するための加速度センサ１０ｓ１の替わりに、または、加速度センサ１０ｓ１と組み合わせて用いることができる。
【０１５２】
具体的には、ＭｏＭａ１０の現在位置における音を、集音マイク１０ｓ５を用いて測定し、周波数解析部Ｆ１０を用いて周波数解析を行う。
【０１５３】
そして、ＭｏＭａ１０が進行したい方向に近く、かつ、特定の周波数成分が小さい経路を選択するように移動経路を選択する。
【０１５４】
このように構成することで、簡易な集音マイク１０ｓ５を用いて環境に応じた制御を実現することができる。
【０１５５】
また、加速度センサ１０ｓ１とは異なる集音マイク１０ｓ５を用いて、ＭｏＭａ１０の進行方向から来る音を選択的に取得することで、ＭｏＭａ１０自身の振動の影響をより排除することが可能になる。
【０１５６】
なお、周波数を考慮せず、音量が小さい経路を選択するようにしてもよい。
【０１５７】
［第５実施形態］
以下、第５実施形態について説明する。他の実施形態と共通の事柄についての記述を省略または簡略化し、異なる部分を中心に説明する。
【０１５８】
本実施形態に係るＭｏＭａ１０は、温度情報を環境データＥ３として位置に関連付けて取得するように構成されている。このように構成することで、高温環境下で高負荷の作業をすることによりロボットアーム１０ｒ等のマニピュレータの故障を抑制し、長寿命化させることが可能になる。たとえば、鍛造プレス装置など高熱を発する装置に材料を投入するような場合に、人間の替わりにＭｏＭａ１０を利用することが考え得る。しかしながら、高温下で高負荷の作業をＭｏＭａ１０に実行させると、ＭｏＭａの異常や故障を招きやすい。異常になると、ＭｏＭａ１０が突然動作を停止したり制御不能となって装置に激突するようなリスク、また、これに伴う製造ラインの停止や復旧に要する人的コストなどの問題を生じかねない。さらに、モータやエンコーダ・パーツなどＭｏＭａ１０の各部品が老朽化する。
【０１５９】
一方で、同じＭｏＭａ１０が常温の環境下で移動や作業する際には、通常の基準に基づいて効率良く移動や作業をすることが求められる。
【０１６０】
そこで、本実施形態に係るＭｏＭａ１０は、温度センサ１０ｓ４を用いて、複数の位置の温度情報を、各位置に関連付けて取得する。
【０１６１】
また、ＭｏＭａ１０は、各サーボドライバ１０ｅから、各サーボモータ１０ｄ及び１０ｄ’の負荷率を測定する。
【０１６２】
そして、温度が一定以上で、かつ、いずれか一つのサーボモータ１０ｄ又は１０ｄ’の負荷率が一定以上の場合は、コントローラ１０ｇは、サーボモータ１０ｄ又は１０ｄ’を制御するための指令値を変更する。例えば、コントローラ１０ｇは、そのサーボモータ１０ｄ又は１０ｄ’のトルク又は電流値を一定量低減させるようにサーボモータ１０ｄ又は１０ｄ’を制御する。
【０１６３】
引き続き、各サーボドライバ１０ｅから、そのサーボモータ１０ｄ又は１０ｄ’の負荷率を測定し、上記制御の結果、負荷率が所定値以下になった場合は、トルク又は電流値を元の値に戻すようにコントローラ１０ｇはそのサーボモータ１０ｄ又は１０ｄ’を制御する。
【０１６４】
このように制御することで、高温の環境下において、全てのサーボモータ１０ｄ及び１０ｄ’の負荷率を所定値以下に維持したまま、ロボットアーム１０ｒに代表されるマニピュレータを用いた作業を実行することができる。
【０１６５】
また、常温の環境下においては、通常どおり高負荷の作業を許容するから、効率を損なうことがない。
【０１６６】
このようにＭｏＭａ１０が高温及び常温の環境で作業や移動する際に、温度に応じて制御内容を変更するように構成したから、高温下の作業に伴う寿命の低下を抑制し、ロバストに稼働できる期間を維持したＭｏＭａ１０を提供することが可能になる。
【０１６７】
なお、ＭｏＭａ１０は、サーボモータ１０ｄ及び１０ｄ’の負荷率を測定することに代えて、または、サーボモータ１０ｄ及び１０ｄ’の負荷率を測定することと合わせて、サーボモータ１０ｄ及び１０ｄ’に対して電流を供給するサーボドライバ１０ｅの負荷率を測定してもよい。ここで、サーボドライバ１０ｅの負荷率とは、サーボモータ１０ｄ又は１０ｄ’に供給する電流を生成する素子に対する負荷が所定値以上である場合を含む。このとき、例えば、コントローラ１０ｇは、いずれか一つのサーボドライバ１０ｅの負荷率が一定以上の場合は、サーボドライバ１０ｅに対して送信する目標値を一定量低減させる。サーボドライバ１０ｅは、一定量低減された目標値に基づいて、サーボモータ１０ｄ又は１０ｄ’に供給する電流を低減させるので、サーボドライバ１０ｅの負荷率が低減する。
【０１６８】
なお、本実施形態は、当業者による通常の創作の範囲内で、他の実施形態に係る構成を組み合わせることが可能である。たとえば、自身又は他のＭｏＭａによって予め取得された温度情報を位置に関連付けて記憶する地図情報を生成し、それに応じた制御をするようにしてもよい。
【０１６９】
また、他の環境データ（たとえば、その区画の制振フィルタ）と組み合わせてＭｏＭａ１０を制御することも可能である。
【０１７０】
［第６実施形態］
以下、第６実施形態について説明する。他の実施形態と共通の事柄についての記述を省略または簡略化し、異なる部分を中心に説明する。
【０１７１】
本実施形態に係るＭｏＭａ１０は、移動先における照明の照度（「環境データ」の一例）に応じて制御内容を変更する点に特徴がある。
【０１７２】
すなわち、工場などの製造設備内には、蛍光灯やＬＥＤなどに代表される照明が所定の間隔で設置されている。このため、場所によっては、照度が不足している領域も存在する。このような領域でＭｏＭａが作業する際に、照度不足のためにＭｏＭａが搭載しているカメラの画像認識能力が低下し、物体認識性能や速度の低下、制御性能の低下、作業精度の低下などを招く可能性がある。
【０１７３】
本実施形態に係るＭｏＭａ１０は、たとえば、ＣＭＯＳイメージセンサなどの撮像素子（不図示）が、ロボットアーム１０ｒの先端のリンクに取り付けられ、この撮像素子により撮像されたオブジェクトの撮像データを用いて、ロボットアーム１０ｒを制御するように構成されている。
【０１７４】
また、このＭｏＭａ１０は、照度センサ１０ｓ３を備えているので、作業環境における照度情報を取得することができる。
【０１７５】
そして、本実施形態に係るＭｏＭａ１０は、取得された照度にあわせて撮像素子の制御モードを変更するように構成されている。
【０１７６】
具体的には、照度が低い際は、シャッタースピードを標準より下げ、撮像素子のゲインを上げ、レンズの絞りを開くように制御する。
【０１７７】
一方で、照度が高い際は、シャッタースピードを標準より上げ、撮像素子のゲインを下げ、レンズの絞りを閉じるように制御する。
【０１７８】
さらに、位置に関連付けて照度情報を記憶し、移動可能マップを用いて移動経路を選択する際に、照度が低い経路を回避し、照度が高い経路を移動経路として選択するようにＭｏＭａ１０を制御する。
【０１７９】
以上のとおり、本実施形態に係るＭｏＭａ１０は、移動先の照度に応じてＭｏＭａ１０を制御するように構成したから、正確にオブジェクトを認識することが可能になるため、より環境に適応した制御が可能になる。
【０１８０】
［変形例］
上述した実施形態に係るＭｏＭａ１０の変形例として、移動先の照明に起因するノイズの周波数を取得し、その周波数に応じたフィルタを撮像素子により得られた撮像データに対して適用して画像処理をするように構成されている。
【０１８１】
例えば、照明が蛍光灯やＬＥＤの場合は、所定の周波数でちらつき（フリッカー）が発生する場合がある。このような環境下では、上述したように撮像素子の画像認識能力の低下等の問題が発生する。
【０１８２】
そこで、ＭｏＭａ１０は、予め理想的でちらつき等のノイズ原因が低減された環境下においてリファレンス画像を取得し、記憶する。
【０１８３】
そして、ＭｏＭａ１０は、移動先において撮像素子を用いて周辺の画像を撮像し、リファレンス画像と差分を得ることにより、照明の周波数成分を算出する。
【０１８４】
そして、算出された周波数成分を考慮して、撮像素子にフィルタ処理を適用する。
【０１８５】
このようなＭｏＭａ１０は、照明に依存するノイズを動的に排除することができるから、ＭｏＭａ１０の画像認識能力等を向上させることが可能になる。
【０１８６】
なお、本明細書において、「部」や「手段」、「手順」とは、単に物理的構成を意味するものではなく、その「部」等が行う処理をソフトウェアによって実現する場合も含む。また、１つの「部」等や、装置が行う処理が２つ以上の物理的構成や装置により実行されても、２つ以上の「部」等や、装置が行う処理が１つの物理的手段や装置により実行されてもよい。また、以下の実施の形態は、本発明を説明するための例示であり、本発明をその実施形態のみに限定する趣旨ではない。
【０１８７】
また、本発明は、その要旨を逸脱しない限り、さまざまな変形が可能である。たとえば、当業者の通常の創作能力の範囲内で、ある実施形態における一部の構成要素を、他の実施形態に組み合わせることもできる。
【０１８８】
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
【０１８９】
（付記１）
第１の位置から第２の位置へ移動するための移動装置（１０ａ）と、
前記移動装置（１０ａ）に接続されるマニピュレータ（１０ｒ）と、
前記移動装置（１０ａ）及び前記マニピュレータ（１０ｒ）を制御するコントローラ（１０ｇ）と、
前記移動装置（１０ａ）の位置と関連付けて環境データを取得する環境取得センサ（１０ｓ）と、を備え、
前記コントローラ（１０ｇ）は、前記環境取得センサによって取得されて、前記移動先の位置、または、前記第１の位置と前記第２の位置との間の移動経路上の何れかの地点に関連付けられた前記環境データに基づいて、前記移動装置（１０ａ）又は前記マニピュレータ（１０ｒ）の少なくともいずれか一方を制御するように構成されている移動式マニピュレータ（１０）。
【０１９０】
（付記２）
第１の位置から第２の位置へ移動するための移動装置（１０ａ）と、この移動装置（１０ａ）に接続されるマニピュレータ（１０ｒ）を制御する制御方法であって、
環境取得センサ（１０ｓ）を用いて、前記移動装置（１０ａ）の位置と関連付けて環境データを取得するステップと、  前記環境取得センサによって取得され、前記移動先の位置、または、前記第１の位置と前記第２の位置との間の移動経路上の何れかの地点に関連付けられた前記環境データに基づいて、前記移動装置（１０ａ）又は前記マニピュレータ（１０ｒ）の少なくともいずれか一方を制御するステップと、を備える移動式マニピュレータ（１０）の制御方法。
【０１９１】
（付記３）
第１の位置から第２の位置へ移動するための移動装置（１０ａ）及びこの移動装置（１０ａ）に接続されるマニピュレータ（１０ｒ）を制御するためのコンピュータ（１０ｇ）に、
環境取得センサ（１０ｓ）を用いて、前記移動装置（１０ａ）の位置と関連付けて環境データを取得させるステップと、
前記環境取得センサによって取得されて、前記移動先の位置、または、前記第１の位置と前記第２の位置との間の移動経路上の何れかの地点に関連付けられた前記環境データに基づいて、前記移動装置（１０ａ）又は前記マニピュレータ（１０ｒ）の少なくともいずれか一方を制御させるステップと、を実行させるためのプログラム。
【符号の説明】
【０１９２】
Ｅ、Ｅ１〜Ｅ４…環境データ、Ｆ…フロア、Ｇ…グリッパ、Ｌ…リンク、Ｍ、Ｍ’…装置、Ｐ、Ｐ’…領域、１０、１０’…ＭｏＭａ、１０ａ…移動装置、１０ｂ…車体、１０ｄ、１０ｄ’…サーボモータ、１０ｅ…サーボドライバ、１０ｆ…バッテリー、１０ｇ…コントローラ、１０ｈ…支柱、１０ｉ…無線アンテナ、１０ｊ…ＬＲＦ、１０ｋ…ＣＰＵ、１０ｌ…ＲＡＭ、１０ｍ…ＲＯＭ、１０ｎ…ＨＤＤ、１０ｐ…通信インタフェース、１０ｒ…ロボットアーム、１０ｓ、１０ｓ１〜１０ｓ５…環境取得センサ
【図１】
2019087073.tif 000003
【図２】
2019087073.tif 000004
【図３】
2019087073.tif 000005
【図４】
2019087073.tif 000006
【図５】
2019087073.tif 000007
【図６】
2019087073.tif 000008
【図７】
2019087073.tif 000009
【図８】
2019087073.tif 000010
【図９】
2019087073.tif 000011
【図１０】
2019087073.tif 000012
【図１１】
2019087073.tif 000013
【図１２】
2019087073.tif 000014
【図１３】
2019087073.tif 000015