(57)【要約】【課題】本発明の幾つかの態様によれば、アームに働く慣性力による関節への負荷を軽減できるロボット、制御装置及びロボットの制御方法等を提供すること。【解決手段】ロボット３００は、アーム３２０と、アーム３２０に設けられる慣性センサー３４０と、アーム３２０の制御を行う処理部１１０と、を含む。そして、処理部１１０は、アーム３２０を動作させるアクチュエーターを停止させる場合に、アーム３２０に働く慣性力の方向へのアーム３２０の移動を維持する制御情報を、慣性センサー３４０により検出された慣性情報に基づいて出力する負荷軽減制御を行う。【選択図】      図１
2017148913.tif 000002
【特許請求の範囲】
【請求項１】
アームと、
前記アームに設けられる慣性センサーと、
前記アームの制御を行う処理部と、
を含み、
前記処理部は、
前記アームを動作させるアクチュエーターを停止させる場合に、前記アームに働く慣性力の方向への前記アームの移動を維持する制御情報を、前記慣性センサーにより検出された慣性情報に基づいて出力する負荷軽減制御を行うことを特徴とするロボット。
【請求項２】
請求項１に記載されたロボットにおいて、
前記処理部は、
前記慣性センサーにより、前記負荷軽減制御の閾値以上の前記慣性情報が検出された場合に、前記アクチュエーターのトルクを低減させる前記制御情報を出力することを特徴とするロボット。
【請求項３】
請求項２に記載されたロボットにおいて、
前記処理部は、
第１の閾値以上の前記慣性情報が検出された場合には、第１の低減度合いで前記トルクを低減させる前記制御情報を出力し、前記第１の閾値よりも大きい第２の閾値以上の前記慣性情報が検出された場合には、前記第１の低減度合いよりも大きい第２の低減度合いで前記トルクを低減させる前記制御情報を出力する前記負荷軽減制御を行うことを特徴とするロボット。
【請求項４】
請求項１に記載されたロボットにおいて、
前記処理部は、
前記慣性情報の値が大きいほど前記アクチュエーターのトルクの低減度合いを大きくした前記制御情報を出力することを特徴とするロボット。
【請求項５】
請求項１乃至４のいずれか一項に記載されたロボットにおいて、
前記ロボットが複数の工程からなる作業を実行する場合において、
前記処理部は、
前記複数の工程の各工程を完了させる作業時間に基づいて、前記各工程において前記負荷軽減制御を行うか否かを決定することを特徴とするロボット。
【請求項６】
請求項１乃至５のいずれか一項に記載されたロボットにおいて、
前記処理部は、
前記負荷軽減制御により前記慣性情報が所与の閾値よりも小さくなった場合に、前記慣性力によって生じる前記アームの振動を抑制する制振制御を行うことを特徴とするロボット。
【請求項７】
請求項６に記載されたロボットにおいて、
前記ロボットが複数の工程からなる作業を実行する場合において、
前記処理部は、
前記複数の工程の各工程を完了させる作業時間に基づいて、前記各工程において前記制振制御を行うか否かを決定することを特徴とするロボット。
【請求項８】
請求項１乃至７のいずれか一項に記載されたロボットにおいて、
前記慣性センサーは、角速度センサーであることを特徴とするロボット。
【請求項９】
アームに設けられる慣性センサーにより検出された慣性情報を取得する慣性情報取得部と、
前記アームの制御を行う処理部と、
を含み、
前記処理部は、
前記アームを動作させるアクチュエーターを停止させる場合に、前記アームに働く慣性力の方向への前記アームの移動を維持する制御情報を、前記慣性情報に基づいて出力する負荷軽減制御を行うことを特徴とする制御装置。
【請求項１０】
アームに設けられる慣性センサーにより慣性情報を検出し、
前記アームを動作させるアクチュエーターを停止させる場合に、前記アームに働く慣性力の方向への前記アームの移動を維持する制御情報を、前記慣性情報に基づいて出力する負荷軽減制御を行うことを特徴とするロボットの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット、制御装置及びロボットの制御方法等に関する。
【背景技術】
【０００２】
ロボットのアームは、リンクと関節（ジョイント）を含んでおり、ロボットの本体部とリンクの間、又はリンクとリンクの間が関節で接続されている。そして、モーター等のアクチュエーターで関節を駆動してリンクを動かすことにより、アームに所望の動作を行わせる。アームがある位置姿勢から次の位置姿勢に移動する際には、例えば関節の回転が停止状態から加速し、定常回転し、減速し、停止する。
【０００３】
アームが移動状態から停止する際の制御の例として、例えば特許文献１に開示される技術がある。アームが停止した際には慣性力が働くのでアームが停止位置の周辺で振動する。特許文献１の技術では、振動と逆方向にモーターを回転させる（トルクを与える）制御を行うことで、アームの制振を行っている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−７１７６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
アームを停止させる場合には、アームの動きによる慣性力に逆らってトルクを与え、アームの進行方向とは逆の方向に加速度を発生させる。このように、アームの慣性力はトルク（加速度）とは逆方向に加わるので、その慣性力によって関節に負荷が加わり、関節を構成するモーターや減速機構等の劣化や故障の原因となる。
【０００６】
例えば上述の特許文献１のような制振制御では、アームを停止させるためのトルクだけでなく、更に振動を抑制するためのトルクを慣性力と逆方向に加えている。そのため、通常の停止時よりも更に関節への負荷が大きくなる。
【０００７】
本発明の幾つかの態様によれば、アームに働く慣性力による関節への負荷を軽減できるロボット、制御装置及びロボットの制御方法等を提供できる。
【課題を解決するための手段】
【０００８】
本発明の一態様は、アームと、前記アームに設けられる慣性センサーと、前記アームの制御を行う処理部と、を含み、前記処理部は、前記アームを動作させるアクチュエーターを停止させる場合に、前記アームに働く慣性力の方向への前記アームの移動を維持する制御情報を、前記慣性センサーにより検出された慣性情報に基づいて出力する負荷軽減制御を行うロボットに関係する。
【０００９】
本発明の一態様によれば、アームを動作させるアクチュエーターを停止させる場合に、慣性センサーにより検出された慣性情報に基づいて、アームに働く慣性力の方向へのアームの移動が維持される。これにより、アームを減速させる加速度又は角加速度が小さくなる。即ち、停止の際にアームに働く慣性力が小さくなり、その慣性力による関節への負荷を軽減できる。
【００１０】
また本発明の一態様では、前記処理部は、前記慣性センサーにより、負荷軽減制御の閾値以上の前記慣性情報が検出された場合に、前記アクチュエーターのトルクを低減させる前記制御情報を出力してもよい。
【００１１】
このように、アクチュエーターのトルクを低減させる制御情報を出力することで、アクチュエーターを停止させるトルクが小さくなり、慣性力の方向へのアームの移動を維持できる。これにより、慣性力による関節への負荷を小さくできる。
【００１２】
また本発明の一態様では、前記処理部は、第１の閾値以上の前記慣性情報が検出された場合には、第１の低減度合いで前記トルクを低減させる前記制御情報を出力し、前記第１の閾値よりも大きい第２の閾値以上の前記慣性情報が検出された場合には、前記第１の低減度合いよりも大きい第２の低減度合いで前記トルクを低減させる前記制御情報を出力する前記負荷軽減制御を行ってもよい。
【００１３】
このようにすれば、複数の閾値を設けたことで、慣性センサーにより検出される慣性情報が大きくなるほど段階的にトルクの低減度合いを大きくできる。これにより、慣性力が比較的小さい場合は、アームを停止させるトルクがそれほど小さくならないので、高速な動作を維持できる。一方、慣性力が比較的大きくなった場合は、負荷軽減制御によるトルクの低減度合いが大きくなるので、負荷を低減してアームを保護できる。
【００１４】
また本発明の一態様では、前記処理部は、前記慣性情報の値が大きいほど前記アクチュエーターのトルクの低減度合いを大きくした前記制御情報を出力してもよい。
【００１５】
このようにすれば、慣性情報に対して連続的に低減度合いを変化させることで、慣性センサーにより検出される慣性情報が大きくなるほどトルクの低減度合いを大きくできる。このような手法によっても、慣性力が比較的小さい場合は、アームを停止させるトルクがそれほど小さくならないので、高速な動作を維持できる。一方、慣性力が比較的大きくなった場合は、負荷軽減制御によるトルクの低減度合いが大きくなるので、負荷を低減してアームを保護できる。
【００１６】
また本発明の一態様では、前記ロボットが複数の工程からなる作業を実行する場合において、前記処理部は、前記複数の工程の各工程を完了させる作業時間に基づいて、前記各工程において前記負荷軽減制御を行うか否かを決定してもよい。
【００１７】
このようにすれば、短い作業時間が要求される工程では負荷軽減制御を行わずに高速な作業を実現しつつ、作業時間に余裕がある工程では負荷軽減制御を行うことでアームを保護できる。これにより、可能な限り負荷軽減制御を行ってロボットの性能低下や異常を抑制できる。
【００１８】
また本発明の一態様では、前記処理部は、前記負荷軽減制御により前記慣性情報が所与の閾値よりも小さくなった場合に、前記慣性力によって生じる前記アームの振動を抑制する制振制御を行ってもよい。
【００１９】
このようにすれば、負荷が大きい状態では負荷軽減制御を行って関節を保護し、負荷が小さい状態では制振制御を行ってアームの振動を早期に収束できる。制振制御を行うことで次の作業に早く移ることが可能となり、作業を高速化できると共に、高負荷時には負荷軽減制御により関節を保護できる。
【００２０】
また本発明の一態様では、前記ロボットが複数の工程からなる作業を実行する場合において、前記処理部は、前記複数の工程の各工程において、前記アームに求められる作業速度に基づいて、前記各工程において前記制振制御を行うか否かを決定してもよい。
【００２１】
このようにすれば、短い作業時間が要求される工程では制振制御を行って高速な作業を実現しつつ、作業時間に余裕がある工程では制振制御を行わずにアームを保護できる。これにより、必要に応じて作業を高速化すると共に、可能な限りアームを保護できる。
【００２２】
また本発明の一態様では、前記慣性センサーは、角速度センサーであってもよい。
【００２３】
慣性センサーとして角速度センサーを用いることでアーム移動における関節の角速度が検出され、例えばその角速度を微分することによって角加速度を慣性情報として取得できる。角加速度が大きいほど、関節に加わる負荷が大きいと考えられるので、角加速度に基づいて負荷軽減制御を行うことで、関節に加わる負荷を軽減することが可能となる。なお、慣性センサーは角速度センサーに限定されず、例えば加速度センサーであってもよい。
【００２４】
また本発明の他の態様は、アームに設けられる慣性センサーにより検出された慣性情報を取得する慣性情報取得部と、前記アームの制御を行う処理部と、を含み、前記処理部は、前記アームを動作させるアクチュエーターを停止させる場合に、前記アームに働く慣性力の方向への前記アームの移動を維持する制御情報を、前記慣性情報に基づいて出力する負荷軽減制御を行う制御装置に関係する。
【００２５】
また本発明の他の態様は、アームに設けられる慣性センサーにより慣性情報を検出し、前記アームを動作させるアクチュエーターを停止させる場合に、前記アームに働く慣性力の方向への前記アームの移動を維持する制御情報を、前記慣性情報に基づいて出力する負荷軽減制御を行うロボットの制御方法に関係する。
【図面の簡単な説明】
【００２６】
【図１】図１は、本実施形態のロボットの構成例のブロック図である。
【図２】図２は、慣性センサーの第１配置例である。
【図３】図３は、慣性センサーの第２配置例である。
【図４】図４は、アームの関節角度の模式的な説明図である。
【図５】図５は、通常のアーム制御における関節角度、角速度、角加速度の例である。
【図６】図６は、通常のアーム制御においてアームを停止させる場合の変位、負荷、制御量の模式図である。
【図７】図７は、本実施形態の負荷軽減制御の第１手法の説明図である。
【図８】図８は、本実施形態の負荷軽減制御の第２手法の説明図である。
【図９】図９は、第２手法における閾値の設定例である。
【図１０】図１０は、本実施形態の負荷軽減制御の第３手法の説明図である。
【図１１】図１１は、負荷軽減制御と位置制御の関係の模式的な説明図である。
【図１２】図１２は、負荷軽減制御と位置制御を行う場合の関節角度、角速度、角加速度の例である。
【図１３】図１３は、本実施形態の負荷軽減制御の変形例の説明図である。
【図１４】図１４は、本実施形態のロボットの構成例である。
【図１５】図１５は、ロボットと制御装置を別体に構成した場合のロボットシステムの構成例である。
【図１６】図１６は、ロボットシステムの構成例のブロック図である。
【図１７】図１７は、ロボットシステムの変形例である。
【図１８】図１８は、慣性センサーの詳細な構成例である。
【発明を実施するための形態】
【００２７】
以下、本発明の好適な実施の形態について詳細に説明する。なお以下に説明する本実施形態は特許請求の範囲に記載された本発明の内容を不当に限定するものではなく、本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
【００２８】
１．構成
図１は、本実施形態のロボット３００の構成例のブロック図である。ロボット３００は、処理部１１０（処理回路）、アーム３２０、エンドエフェクター３１０、慣性センサー３４０、記憶部１５０（メモリー）、インターフェース部１６０（インターフェース回路、通信回路）を含む。
【００２９】
処理部１１０は、記憶部１５０からのデータや、インターフェース部１６０から入力された情報等に基づいて種々の処理やロボット３００の各部の制御を行う。この処理部１１０の機能は、例えばプロセッサー（ＣＰＵ、ＧＰＵ等）や、ＡＳＩＣ（ゲートアレイ等）などのハードウェアにより実現できる。プロセッサーで実現する場合、処理部１１０の機能を実現するプログラム（命令）が記憶され、そのプログラムをプロセッサーが読み出して実行することで、処理部１１０の機能が実現される。
【００３０】
処理部１１０は、経路取得部１１２（経路取得処理の回路又はプログラムモジュール）、ロボット制御部１１４（ロボット制御処理の回路又はプログラムモジュール）を含む。
【００３１】
経路取得部１１２は、アーム３２０の移動経路（経路の各点におけるアーム３２０の位置姿勢）を取得する。例えばユーザーにより予め教示された移動経路に従ってアーム３２０を動かす場合には、記憶部１５０に移動経路の情報が記憶されており、その移動経路の情報を経路取得部１１２が読み出す。そして経路取得部１１２は、読み出した移動経路の情報に基づいて制御信号をロボット制御部１１４へ出力する。或いは、カメラで撮像した画像に基づくアーム３２０の制御（ビジュアルサーボ制御）を行う場合、経路取得部１１２は、カメラからの画像とリファレンス画像を比較し、リファレンス画像の状態を実現するアーム３２０の移動経路を演算し、その演算結果に基づいて制御信号をロボット制御部１１４へ出力する。
【００３２】
ロボット制御部１１４は、経路取得部１１２から出力された制御信号に基づいて、アーム３２０やエンドエフェクター３１０を制御する。例えば、経路取得部１１２は、現在点と目標点と中継点におけるエンドポイントの位置及び姿勢を出力する。或は、現在点と目標点と中継点における関節角度を出力する。ロボット制御部１１４は、この情報に基づいて、現在点から中継点を通って目標点に至るアーム３２０の動作を制御する信号をアーム３２０へ出力する。
【００３３】
本実施形態では、ロボット制御部１１４は更に慣性センサー３４０からの検出信号に基づいて、慣性力によるアーム３２０への負荷を軽減する負荷軽減制御を行う。即ち、経路取得部１１２が決定した移動経路でアーム３２０を制御している際に、慣性センサー３４０からの検出信号に基づいてアーム３２０へ過度な負荷が発生したと判断される場合に、その慣性力の方向へアーム３２０を移動させる（逃がす）制御を行う。この負荷軽減制御の詳細は後述する。
【００３４】
アーム３２０は、一つ以上の関節（ジョイント）を含む可動パーツであり、処理部１１０からの制御情報に基づいて動作する。例えば２つの関節を含む場合、ロボット３００の固定部（本体部）に第１関節を介して第１リンクが接続され、その第１リンクの先端に第２関節を介して第２リンクが接続される。これらの第１、第２関節と第１、第２リンクを含む可動領域がアーム３２０である。関節は、例えばシャフト、ベアリング、アクチュエーター（モーター等）、減速機（遊星ギア、ハーモニックドライブ（登録商標）機構等）、センサー（ローターリーエンコーダー等）で構成される。本実施形態では、アーム３２０を動作させるアクチュエーターがアーム３２０の関節に内蔵されているが、これに限定されない。例えば、アーム３２０の各リンクに設けられた油圧アクチュエーターにより動作させるものであってもよい。
【００３５】
エンドエフェクター３１０は、ワーク（作業対象物）を把持したり、ワークに加工を施すための部品であり、処理部１１０からの制御情報に基づいて動作する。エンドエフェクター３１０は、アーム３２０のエンドポイント（アームの先端部分）に取り付けられる。エンドエフェクター３１０としては、例えばハンド（把持部）やドリル、ドライバー、フック、吸盤等の種々のツールを想定できる。
【００３６】
慣性センサー３４０は、アーム３２０に働く慣性力に基づいて変化する物理量を検出するセンサーであり、検出した信号（物理量情報）を処理部１１０へ出力する。慣性センサー３４０は、アーム３２０（関節、リンク等）に設けられる。慣性力は、物体が等速度で運動状態を保持しようとする性質により発生する力、或いは物体が力を受けた際に物体の運動状態の変化に抵抗しようとする性質により発生する力のことである。慣性センサーは、例えば加速度センサーや角速度センサー（ジャイロセンサー）等である。また慣性センサーは、角加速度センサーであってもよい。加速度センサーとしては、例えば静電容量方式や圧電方式、熱検知方式等の加速度センサーを採用できる。角速度センサーとしては、例えば圧電方式や静電容量方式の振動ジャイロセンサー等を採用できる。角加速度は、例えば角速度センサーで検出した角加速度を微分（又は微分に相当する演算）することで、取得できる。
【００３７】
記憶部１５０は、ロボット３００の制御に必要な種々のデータを記憶したり、処理部１１０のワーキングメモリーとして機能する。例えば、ユーザーが教示装置等を用いてロボット３００の動作を教示する場合に、その教示により得られたデータ（一連の作業におけるロボット３００の動作が記述された命令、プログラム、データなど）が記憶される。記憶部１５０は、例えばＲＡＭ、不揮発性メモリー等の半導体メモリーや、ＨＤＤ（ハードディスクドライブ）等の磁気ディスクドライブにより実現できる。
【００３８】
インターフェース部１６０は、ロボット３００に対するユーザーからの入力等を行ったり、外部装置（例えば情報処理装置、教示装置等）からの情報を受け付けるためのインターフェースである。ユーザーからの入力等に関しては、スイッチやボタン、キーボード或いはマウス等から構成されてもよい。
【００３９】
以上のように、本実施形態のロボット３００は、アーム３２０と、アーム３２０に設けられる慣性センサー３４０と、アーム３２０の制御を行う処理部１１０と、を含む。そして、処理部１１０は、アーム３２０を動作させるアクチュエーターを停止させる場合に、アーム３２０に働く慣性力の方向へのアーム３２０の移動を維持する制御情報を、慣性センサー３４０により検出された慣性情報に基づいて出力する負荷軽減制御を行う。
【００４０】
具体的には、図４〜図６等で後述するように、位置制御においてアーム３２０を停止させる場合には、アーム３２０の移動方向とは逆方向に関節の角加速度（トルク）を発生させる制御を行う。そして図７等で説明するように、負荷軽減制御ではアーム３２０の移動方向（慣性力の方向）と同方向に関節の角加速度（トルク）を発生させ、その制御量を位置制御の制御量に加算する。このように、位置制御と負荷軽減制御の制御が逆方向なので、位置制御のみの場合に比べて制御量（角加速度、或いはトルク）が小さくなる。これにより、アーム３２０を目標位置で停止させる角加速度よりも実際の制御量が小さくなり、目標位置においてもアーム３２０の移動が慣性力の方向（即ち停止前の移動方向）に一時的に維持される。
【００４１】
このように、アクチュエーターを停止させる場合に、アーム３２０に働く慣性力の方向へのアーム３２０の移動を維持することにより、アーム３２０を減速させる加速度が小さくなる。これにより、アーム３２０に働く慣性力が小さくなり、その慣性力による関節等への負荷を小さくできる。また本実施形態では、実際にアーム３２０に働く慣性力を慣性センサー３４０で検出し、負荷軽減制御としてアーム制御にフィードバックしている。これにより、アーム３２０への負荷を生じる慣性力を実際に測定して負荷を軽減することが可能であり、例えば負荷の推定処理等の複雑な処理を行うことなく、簡素な処理で確実な負荷軽減制御を行うことが可能となる。
【００４２】
ここで、制御情報とは、アクチュエーターに指示する制御量の情報である。制御量は、例えば関節の角加速度、或いはアクチュエーターに発生させるトルク、トルクに対応した電力等である。制御量の情報は、これら角加速度又はトルク、電力に応じて変化するアナログ信号や、デジタル信号（デジタルデータ）である。
【００４３】
また、慣性情報とは、アーム３２０に働く慣性力に基づいて変化する物理量の情報であり、加速度情報、角速度情報、角加速度情報の少なくとも１つを含む情報である。物理量の情報は、物理量（加速度、角速度、角加速度）に応じて変化するアナログ信号や、デジタル信号（デジタルデータ）である。
【００４４】
また本実施形態では、処理部１１０は、慣性センサー３４０により、負荷軽減制御の閾値（所与の閾値）以上の慣性情報が検出された場合に、アクチュエーターのトルクを低減させる制御情報を出力する。
【００４５】
具体的には、図７で後述するように、慣性センサー３４０を用いて検出された負荷（慣性力）の絶対値が、閾値Ｔｈよりも大きい場合に、慣性力の方向と同じ方向のトルクを発生させる制御量を位置制御の制御量に加える。位置制御の制御量は、慣性力の方向と逆方向にトルクを発生させるものなので、アクチュエーターのトルクが低減される。なお、図７の負荷は、検出される加速度や角加速度の符号を反転させた量である。即ち、負荷軽減制御で発生させるトルクは、検出される加速度や角加速度と逆方向のトルクである。
【００４６】
このように、アクチュエーターのトルクを低減させる制御情報を出力することで、アクチュエーターを停止させるトルクが小さくなり、慣性力の方向へのアーム３２０の移動が維持される。これにより、慣性力による関節等への負荷を小さくできる。また、閾値との比較により負荷軽減制御のオン及びオフを制御できるので、簡素な処理で負荷軽減制御を実現できる。
【００４７】
また本実施形態では、処理部１１０は、第１の閾値以上の慣性情報が検出された場合には、第１の低減度合いでトルクを低減させる制御情報を出力する。処理部１１０は、第１の閾値よりも大きい第２の閾値以上の慣性情報が検出された場合には、第１の低減度合いよりも大きい第２の低減度合いでトルクを低減させる制御情報を出力する負荷軽減制御を行う。
【００４８】
具体的には、図８、図９で後述するように、慣性センサー３４０を用いて検出された負荷（慣性力）の絶対値が、第１の閾値Ｔｈ１よりも大きい場合に、第１の低減度合いでトルクを低減させる制御量を位置制御の制御量に加える。また、負荷の絶対値が、第２の閾値Ｔｈ２よりも大きい場合に、第２の低減度合いでトルクを低減させる制御量を位置制御の制御量に加える。
【００４９】
ここで、トルクの低減度合いは、負荷軽減制御を行わない場合の（例えば位置制御での）トルクに比べて、負荷軽減制御により、どの程度のトルクを低減させるかの度合いである。例えば、図９で説明するように、慣性センサー３４０を用いて検出された負荷に対するゲインが、トルクの低減度合いに対応する。この例では、第１の低減度合いはゲイン２５％であり、第２の低減度合いはゲイン５０％である。或いは、負荷が第１の閾値から第２の閾値までの間は、検出された負荷に依らずに第１の所定の大きさの負荷軽減制御の制御量を出力し、負荷が第２の閾値よりも大きい場合は、検出された負荷に依らずに、第１の所定の大きさよりも大きい第２の所定の大きさの負荷軽減制御の制御量を出力してもよい。この例では、第１の低減度合いは、第１の所定の大きさであり、第２の低減度合いは、第２の所定の大きさである。
【００５０】
本実施形態によれば、複数の閾値を設けることで、慣性センサー３４０で検出される慣性情報が大きくなるほど段階的に負荷の低減度合いを大きくできる。これにより、比較的負荷が小さい場合は、アーム３２０を停止させるトルクが負荷軽減制御でそれほど小さくならないので、高速な動作を維持できる。一方、比較的負荷が大きくなった場合は、負荷軽減制御によるトルクの低減度合いが大きくなるので、負荷を低減してアーム３２０を保護できる。
【００５１】
また本実施形態では、処理部１１０は、慣性情報の値が大きいほどアクチュエーターのトルクの低減度合いを大きくした制御情報を出力する。
【００５２】
具体的には、図１０で後述するように、慣性センサー３４０を用いて検出された負荷（慣性力）の絶対値に対して、トルクの低減度合いを連続的に（滑らかな関数で）変化させる。例えば、低減度合いを負荷の絶対値に比例させる。図１０の例では、低減度合いは負荷に対するゲインであるが、これに限定されない。
【００５３】
本実施形態によれば、負荷に対して連続的に低減度合いを変化させることで、慣性センサー３４０で検出される慣性情報が大きくなるほど負荷の低減度合いを大きくできる。これにより、比較的負荷が小さい場合は、アーム３２０を停止させるトルクが負荷軽減制御でそれほど小さくならないので、高速な動作を維持できる。一方、比較的負荷が大きくなった場合は、負荷軽減制御によるトルクの低減度合いが大きくなるので、負荷を低減してアーム３２０を保護できる。
【００５４】
また本実施形態では、ロボット３００が複数の工程からなる作業を実行する場合において、処理部１１０は、複数の工程の各工程を完了する作業時間（所要時間）に基づいて、各工程において負荷軽減制御を行うか否かを決定してもよい。
【００５５】
具体的には、ロボット３００が行う作業を構成する複数の工程において、その全ての工程で負荷軽減制御を行ってもよいし、一部の工程で負荷軽減制御を行ってもよい。例えば、第１の作業領域に配置されるワークを把持し、第２の作業領域に移動させる作業があったとする。その作業は、例えばハンド（エンドエフェクター３１０）を初期位置から第１の作業領域に移動させる第１の工程と、ハンドでワークを把持する第２の工程と、ハンドを第２の作業領域に移動させる第３の工程と、ワークを第２の作業領域に置く第４の工程と、ハンドを第２の作業領域から初期位置に戻す第５の工程から構成される。これら各工程での作業時間は教示により指定されているとする。この場合、例えば短い作業時間が要求される工程（例えば第１〜第４工程）では、負荷軽減制御を行わずに高速に移動を完了させ、作業時間に余裕がある工程（例えば第５工程）では、負荷軽減制御を行う。
【００５６】
例えば、処理部１１０は、位置制御による工程の作業時間を計算し、その計算した作業時間と教示で指定された作業時間との差分が所定の閾値よりも大きい場合に、負荷軽減制御を行うと判断してもよい。或いは、負荷軽減制御を行った場合と行わない場合の工程の作業時間を見積もり、その見積もった時間と教示で指定された作業時間とを比較することで、制振制御を行うか否かを判断してもよい。教示で指定された作業時間は、例えば記憶部１５０に記憶されている。
【００５７】
本実施形態によれば、高速な作業を実現しつつ、可能な限り負荷軽減制御を行うことでロボット３００の性能低下や異常を抑制できる。
【００５８】
また本実施形態では、処理部１１０は、負荷軽減制御により慣性情報が制振制御の閾値よりも小さくなった場合に、慣性力によって生じるアーム３２０の振動を抑制する制振制御を行う。
【００５９】
具体的には、図１３で後述するように、アーム３２０を動作させるアクチュエーターを停止させる場合に、まず負荷軽減制御を行う。そして、慣性センサー３４０を用いて検出された負荷（慣性力）の絶対値が閾値Ｔｈよりも小さくなった場合に、制振制御を行う。制振制御は、振動によるアーム３２０の移動方向（即ちアーム３２０に働く慣性力の方向）とは逆の方向にトルクを発生させる制御である。即ち、慣性力の方向にトルクを発生させる負荷軽減制御とは逆の制御である。なお、上記では負荷軽減制御の閾値と制振制御の閾値が同じ閾値Ｔｈである場合を例に説明しているが、負荷軽減制御の閾値と制振制御の閾値は異なってもよい。
【００６０】
本実施形態によれば、負荷が大きい状態では負荷軽減制御を行って関節を保護し、負荷が小さい状態では制振制御を行ってアーム３２０の振動を早期に収束できる。アーム３２０を停止した後に次の作業に移る際には、通常は振動が所定振幅まで収まるまで待つ。本実施形態では、制振制御を行うことで次の作業に早く移ることが可能となり、作業を高速化できると共に、負荷軽減制御により関節を保護できる。
【００６１】
なお、本実施形態では、負荷軽減制御を行う負荷軽減モードと、制振制御を行う制振モードとのモード切り替えによって実現してもよい。例えば、図１３の例において、負荷の絶対値が閾値Ｔｈより大きい場合には負荷軽減モードで動作し、負荷の絶対値が閾値Ｔｈより小さい場合には制振モードで動作してもよい。
【００６２】
また、本実施形態では、ロボット３００が複数の工程からなる作業を実行する場合において、処理部１１０は、複数の工程の各工程を完了する作業時間（所要時間）に基づいて、各工程において制振制御を行うか否かを決定してもよい。
【００６３】
具体的には、ロボット３００が行う作業を構成する複数の工程において、その全ての工程で制振制御を行ってもよいし、一部の工程で制振制御を行ってもよい。例えば、上述したワーク移動作業の第１〜第５の工程のうち、短い作業時間が要求される工程（例えば第１〜第４工程）では、制振制御を行って高速に次の工程に移行させ、作業時間に余裕がある工程（例えば第５工程）では、制振制御を行わない。
【００６４】
例えば、処理部１１０は、位置制御による工程の作業時間を計算し、その計算した作業時間と教示で指定された作業時間との差分が所定の閾値よりも小さい場合に、制振制御を行うと判断してもよい。或いは、制振制御を行った場合と行わない場合の工程の作業時間を見積もり、その見積もった時間と教示で指定された作業時間とを比較することで、制振制御を行うか否かを判断してもよい。
【００６５】
本実施形態によれば、各工程で要求される作業時間に応じて制振制御の有無を決定することで、必要に応じて作業を高速に完了することが可能となる。また本実施形態では、高負荷時には負荷軽減制御が行われ、低負荷時に制振制御が行われるので、制振制御によるアーム３２０へのダメージを抑制できる。
【００６６】
なお、以上ではロボット３００が処理部１１０を含み、その処理部１１０が負荷軽減制御を行う場合を説明したが、これに限定されない。例えば図１５、図１６で後述するように、制御装置１００とロボット３００が別体に構成され、制御装置１００に処理部１１０が含まれてもよい。この場合、例えば以下のように構成されてもよい。
【００６７】
即ち、制御装置１００は、アーム３２０に設けられる慣性センサー３４０により検出された慣性情報を取得する慣性情報取得部と、アーム３２０の制御を行う処理部１１０と、を含む。そして、処理部１１０は、アーム３２０を動作させるアクチュエーターを停止させる場合に、アーム３２０に働く慣性力の方向へのアーム３２０の移動を維持する制御情報を、慣性センサー３４０により検出された慣性情報に基づいて出力する負荷軽減制御を行う。
【００６８】
ここで、慣性情報取得部は、例えば図１６のインターフェース部１６０に対応する。インターフェース部１６０は、ロボット３００のインターフェース部３６０と通信を行って、慣性センサー３４０から慣性情報を受信する。或いは、処理部１１０が、インターフェース部１６０を介さずに慣性センサー３４０と通信を行い、慣性情報を取得してもよい。この場合、処理部１１０は、慣性センサー３４０からの信号が入力されるインターフェース回路（例えばＳＰＩ（Serial Peripheral Interface）、Ｉ２Ｃインターフェース等）を含み、そのインターフェース回路が慣性情報取得部に対応する。
【００６９】
２．慣性センサーの配置例
図２は、慣性センサー３４０の第１配置例である。なお、ここでは単腕の多関節アームを例にとって説明するが、本発明の手法を適用できるアームはこれに限定されない。例えば少なくとも１以上の関節を含むアームであればよいし、双腕のアームであってもよい。
【００７０】
第１配置例では、関節ＫＳ１に接続されるリンクＡＭ２（例えばその内部）に慣性センサー３４０が設けられる。具体的には、リンクＡＭ１（固定部、本体部）に対して関節ＫＳ１でリンクＡＭ２が接続されている。そして、関節ＫＳ１が軸ＡＸ１で回動することによって、リンクＡＭ１とリンクＡＭ２の成す角度（関節角度）が変化する。関節ＫＳ１の回動が停止した際には、それまでの回動方向にリンクＡＭ２が移動し続けようとするので、その慣性力によって関節ＫＳ１に負荷が加わる。慣性センサー３４０は、その関節ＫＳ１の負荷を検出するために関節ＫＳ１に対応して設けられている。即ち、処理部１１０は、慣性センサー３４０からの検出信号に基づいて関節ＫＳ１の負荷軽減制御を行う。
【００７１】
例えば慣性センサー３４０が加速度センサーの場合、関節ＫＳ１の軸ＡＸ１に垂直な方向ＤＡＸ（関節ＫＳ１の回動によりリンクＡＭ１が動く方向）の軸を加速度の検出軸とする。或いは慣性センサー３４０が角速度センサーの場合、関節ＫＳ１の軸ＡＸ１に平行な方向ＤＪＸの軸（関節ＫＳ１の回動による角速度の軸）を角速度の検出軸とする。なお、慣性センサー３４０として加速度センサーと角速度センサーを両方設けてもよい。
【００７２】
図２では、リンクＡＭ２に配置した慣性センサー３４０のみを図示しているが、これに限定されない。即ち、慣性センサー３４０を複数のリンクに（即ち複数の関節に対応して）配置し、複数の関節に対して負荷軽減制御を行ってもよい。
【００７３】
図３は、慣性センサー３４０の第２配置例である。
【００７４】
第２配置例では、多軸の慣性センサー３４０がアーム３２０のエンドポイント付近（アーム３２０の先端のリンク）に設けられる。例えば互いに垂直な３つの方向ＤＸ１、ＤＸ２、ＤＸ３の軸を加速度又は角速度の検出軸とする。３つの検出軸の方向は任意であり、互いに垂直であればよい。なお、慣性センサー３４０は、３軸の加速度センサーでもよいし、３軸の角速度センサーでもよいし、それらを組み合わせた６軸センサー（コンボセンサー）であってもよい。
【００７５】
第１配置例とは異なり、慣性センサー３４０はアーム３２０全体に対応して設けられている。即ち、処理部１１０は、慣性センサー３４０からの検出信号に基づいて１又は複数の関節の負荷軽減制御を行う。アーム３２０が多関節である場合、その全ての関節に対して負荷軽減制御を行ってもよいし、一部の関節に対して負荷軽減制御を行ってもよい。例えば、３軸の検出信号から加速度又は角速度の大きさ（又は方向と大きさ）を求め、その大きさに基づいて負荷軽減制御を行う。
【００７６】
３．本実施形態の手法
以下、本実施形態における負荷軽減制御の手法について詳細に説明する。
【００７７】
まず、負荷軽減制御を考慮しない通常のアーム制御における制御量や負荷について説明する。図４は、アームの関節角度の模式的な説明図である。また図５は、通常のアーム制御における関節角度、角速度、角加速度の例である。
【００７８】
図４に示すように、関節ＫＳ１の関節角度θは、その関節ＫＳ１に接続される２つのリンクＡＭ１、ＡＭ２が成す角度である。この関節角度θは、例えばロータリーエンコーダーで検出され、その検出結果に基づいて処理部１１０が関節角度θを制御する。処理部１１０が指示したアーム３２０の位置（角度θ）に対して、実際のアーム３２０の位置がずれる場合があるが、このずれを変位と呼ぶ。この変位は種々の要因で生じるが、例えばアーム３２０が加速又は減速した際（例えば停止時）に、関節機構の遊びやリンクのしなりによってアーム３２０が振動し、変位が発生する。変位は、関節角度θのずれ、或いはリンク先端のずれ（リンクのしなり）である。
【００７９】
図５には、関節角度θを大きくする方向に一定角速度で移動させる場合の関節角度θ、角速度（θの上にドットが付されたもの）、角加速度（θの上に２ドットが付されたもの）を示している。図５のＡ１に示すように、関節に正の角加速度（トルク）を与えると、Ａ２に示すように角速度が正方向に増加していき、Ａ３に示すように関節角度θが正方向に増加し始める。次にＡ４に示すように角加速度をゼロにすると、Ａ５に示すように等角速度となり、Ａ６に示すように一定の傾きで関節角度θが増加する。次にＡ７に示すように負の角加速度（トルク）を与えると、Ａ８に示すように角速度が減少していき、Ａ９に示すように関節角度θが一定角度になり、目標角度（目標位置）に到達する。このような制御は、例えば目標位置と現在位置の差分に基づいて、その差分をゼロにする制御（位置制御）によって実現できる。
【００８０】
このような制御においてロボット制御部１１４がアクチュエーターに指示する制御量は、例えば角加速度、或いはそれに対応したトルクである。例えばモーターの場合、モーターに供給する電力でトルクを制御できる。即ち、経路取得部１１２は、移動経路の情報として各関節の関節角度をロボット制御部１１４へ出力する。そして、ロボット制御部１１４は、指示された関節角度を実現する角加速度（トルク）を制御量としてアーム３２０の動作を制御し、目標位置へアーム３２０を移動させる。
【００８１】
図６は、上記の通常のアーム制御においてアームを停止させる場合の変位、負荷、制御量の模式図である。負荷は、慣性センサー３４０を用いて検出された慣性力であり、具体的には慣性センサー３４０を用いて検出された加速度又は角加速度の符号を反転させた量に対応する。
【００８２】
なお、ここでは制御量が角加速度である場合を例に説明するが、上述のようにアクチュエーターに発生させるトルク等であってもよい。また、関節角度θを増加させる方向に移動させる場合を例に説明するが、関節角度θを減少させる方向に移動させる場合には、変位、負荷、制御量の符号を逆にして考えればよい。
【００８３】
図６のＢ１に示すように、アーム３２０を正方向（関節角度θが増加する方向）に移動させている状態から停止させる場合には、その移動方向と反対の負方向に加速度を加える。Ｂ２に示すように、アーム３２０に加えた加速度と反対の正方向に慣性力が働くので、アーム３２０に加わる負荷として正の負荷（慣性力）が検出される。Ｂ３に示すように、停止時における正方向の慣性力によって正方向の変位が生じ、その後はアーム３２０の弾性等によって停止位置の周辺で変位が振動し、その振動が収束して完全にアーム３２０が停止する。
【００８４】
このように、アーム３２０を停止させる際には非常に大きな加速度が加わるので、それに伴って慣性力も大きくなり、Ｂ２に示すようにアーム３２０には非常に大きい（例えば鋭いピークの）負荷が加わることになる。このような負荷が繰り返し関節等に加わることによって、例えば減速機構の金属疲労等の原因となり、ロボット３００の性能低下や異常を生じさせる可能性がある。
【００８５】
図７は、上記のような課題を解決できる本実施形態の負荷軽減制御の第１手法の説明図である。図７では、負荷軽減制御を行わない場合の（即ち図６の位置制御における）変位、負荷、制御量を点線で示し、負荷軽減制御を行う場合の変位、負荷、制御量を実線で示している。
【００８６】
図７のＣ１に示すように、慣性センサー３４０を用いて検出された負荷（慣性力）が、正の閾値（＋Ｔｈ）よりも大きくなったと判定したとする。この場合、Ｃ２に示すように、正の制御量を負荷軽減制御の制御量として出力する。Ｃ３に示すように、負荷軽減制御の制御量は、位置制御の制御量（点線）に加えられ、制御量の大きさは負荷軽減制御を行わない場合に比べて小さくなる。負荷軽減制御の制御量は、位置制御の制御量と同じ量（加速度、トルク等）である。制御量が小さくなることにより、Ｃ４に示すように、アーム３２０に加わる負荷の大きさが、負荷軽減制御を行わない場合（点線）に比べて小さくなる。具体的には、閾値（＋Ｔｈ）の付近に抑えられる。アーム３２０を停止させるための加速度が小さくなったので、Ｃ５に示すように、負荷軽減制御を行わない場合（点線）に比べて変位が大きくなり、一時的に目標位置（停止位置）を通り過ぎる。後述するように、目標位置を通り過ぎたアームは位置制御によって目標位置に戻り、最終的には目標位置で停止する。
【００８７】
このように、本実施形態では慣性力と同じ方向に制御量を加えることによって、一時的に慣性力の方向にアーム３２０の動きが維持される制御が行われる。即ち、慣性力に逆らうトルクを弱め、アーム３２０を慣性力の方向に逃がすことによって、負荷を軽減することが可能となる。
【００８８】
なお、慣性センサー３４０を用いて検出された負荷が、負の閾値（−Ｔｈ）よりも小さくなったと判定した場合、負の制御量を負荷軽減制御の制御量として出力する。関節角度θを小さくする方向に移動させて停止する場合、制御量としての角加速度は正なので、それに負荷軽減制御の負の制御量を加えると、制御量の大きさは小さくなる。
【００８９】
この第１手法の制御は、例えば以下のようにして実現できる。即ち、慣性センサー３４０により加速度又は角速度が検出される。これらがアナログ信号の場合、Ａ／Ｄ変換を行ってデジタル信号とする。角速度は微分処理を行って角加速度にする。この加速度又は角加速度を負荷の検出信号として、その負荷の検出信号と閾値とをデジタル信号処理により比較し、その結果に基づいて負荷軽減制御の制御量を生成する。例えば、デジタル信号処理により負荷の検出信号に所定のゲインを乗じたものを負荷軽減制御の制御量とする。或いは、慣性センサー３４０からアナログ信号の加速度又は角速度が出力され、角速度はアナログ微分回路で角加速度にする。この加速度又は角加速度を負荷の検出信号として、その負荷の検出信号と閾値（リファレンス電圧）とをコンパレーター等で比較し、その結果に基づいて負荷軽減制御の制御量を生成する。例えば、アンプ回路により負荷の検出信号を所定のゲインで増幅したものを負荷軽減制御の制御量とする。
【００９０】
図８は、本実施形態の負荷軽減制御の第２手法の説明図である。また図９は、第２手法における閾値の設定例である。なお、実線や点線の意味は図７と同様である。
【００９１】
図９に示すように、第２手法では複数の閾値が設定されており、負荷軽減制御の制御量を求める際に負荷の検出信号に乗じるゲインが、段階的に設定される。例えば、負荷が正の第１閾値（＋Ｔｈ１）よりも小さく、且つ負の第１閾値（−Ｔｈ１）よりも大きい場合、ゲインはゼロに設定される。負荷が正の第１閾値（＋Ｔｈ１）よりも大きく且つ正の第２閾値（＋Ｔｈ２）よりも小さい、又は負の第１閾値（−Ｔｈ１）よりも小さく且つ負の第２閾値（−Ｔｈ２）よりも大きい場合、ゲインは２５％に設定される。負荷が正の第２閾値（＋Ｔｈ２）よりも大きい、又は負の第２閾値（−Ｔｈ２）よりも小さい場合、ゲインは５０％に設定される。
【００９２】
このように、第２手法では、検出された負荷の絶対値が大きいほど、負荷軽減制御の制御量が大きくなり、負荷の軽減度合いが大きくなる。
【００９３】
図８のＤ１に示すように、負荷の大きさが大きいほど負荷軽減制御の制御量が大きくなるので、負荷軽減制御の制御量は曲線的に変化する。Ｄ２に示すように、それに応じて、負荷軽減制御の制御量が加算された最終的な制御量も曲線的に変化する。
【００９４】
この第２手法の制御は、基本的に第１手法と同様の構成で実現できる。即ち、複数の各閾値に対応した判定処理（又はコンパレーター）と、ゲイン処理（又はアンプ回路）で実現できる。
【００９５】
図１０は、本実施形態の負荷軽減制御の第３手法の説明図である。
【００９６】
第３手法では、負荷軽減制御の制御量を求める際に負荷の検出信号に乗じるゲインを、検出された負荷に対して連続的に変化させる。図１０では、負荷とゲインが一定の傾きで比例する場合を図示しているが、これに限定されず、種々の関数で負荷とゲインを対応づけてもよい。この第３手法での負荷軽減制御の制御量や、負荷軽減制御の制御量を加えた最終的な制御量は、図８と同様な特性となるが、第２手法よりも更に滑らかな変化をする。
【００９７】
この第３手法の制御は、例えばデジタル処理では負荷の検出信号に比例したゲインを負荷の検出信号に乗じる演算を行い、負荷軽減制御の制御量を求めることで実現できる。或いはアナログ処理では、例えば電圧制御ＶＧＡ（Variable Gain Amplifier）等を用いて、負荷の検出信号に比例して変化するゲインで負荷の検出信号を増幅して、負荷軽減制御の制御量を求めることで実現できる。
【００９８】
図１１は、負荷軽減制御と位置制御の関係の模式的な説明図である。また図１２は、負荷軽減制御と位置制御を行う場合の関節角度、角速度、角加速度の例である。
【００９９】
図１１に示すように、関節角度θを大きくする方向に関節ＫＳ１を回動させて、リンクＡＭ２を目標位置（目標角度）に停止させる場合を考える。図１２のＥ１に示すように、リンクＡＭ２を停止させるために負の角加速度（制御量）をアクチュエーターに発生させるが、このとき負荷が閾値を超えた場合には負荷軽減制御により角加速度が小さくなる。そのため、Ｅ２に示すように、慣性力の方向にリンクＡＭ２の移動が維持され、目標位置を超えてリンクＡＭ２が移動する。このとき、Ｅ３に示すように、位置制御は関節角度θを目標位置に近づける角加速度をアクチュエーターに発生させ、Ｅ４に示すように、関節角度θが目標位置に収束する。
【０１００】
このように、負荷軽減制御によって負荷が軽減されると共に、その負荷軽減制御によって目標位置からずれたアーム３２０が位置制御によって目標位置に移動される。
【０１０１】
４．変形例
図１３は、本実施形態の負荷軽減制御の変形例の説明図である。
【０１０２】
変形例では、アーム３２０を停止させる場合に、負荷軽減制御（負荷軽減モードでの動作）を行ってアーム３２０への負荷が軽減された後に、負荷が小さい状態では制振制御（制振モードでの動作）を行う。具体的には、図１３のＦ１に示すように、検出された負荷の絶対値が閾値Ｔｈ１よりも大きい場合には負荷軽減制御を行う。その後に、Ｆ２に示すように検出された負荷の絶対値が閾値Ｔｈ１よりも小さくなった場合には制振制御に移行する。このような制御により、Ｆ３に示すように停止時には負荷軽減制御により目標位置を通り過ぎて変位が一時的に大きくなる。そして、Ｆ４に示すように、制振制御により振動が急速に収束される。なお、負荷軽減制御の閾値と、制振制御の閾値は異なってもよい。例えば、負荷軽減制御の閾値よりも制振制御の閾値を小さくしてもよい。
【０１０３】
図１３では、負荷軽減制御の第１手法と制振制御を組み合わせた場合を例に説明したが、これに限定されず、負荷軽減制御の第２手法や第３手法と制振制御を組み合わせてもよい。第２手法と組み合わせた場合、例えば負荷の絶対値が第１閾値よりも小さい場合に制振制御を行ってもよい。第３手法と組み合わせた場合、例えば所定閾値よりも大きい場合に、その所定閾値と負荷の差分に比例するゲインで負荷軽減制御を行い、負荷の絶対値が所定閾値よりも小さい場合に制振制御を行ってもよい。
【０１０４】
制振制御は、例えば慣性センサー３４０を用いて検出された加速度又は角加速度と逆方向の制御量をアクチュエーターに出力する制御である。このような制御は、例えば慣性センサー３４０を用いて検出された加速度又は角加速度を負のゲインで増幅して、制御量として出力する処理（又はアンプ回路）で実現できる。
【０１０５】
５．ロボット、制御装置、ロボットシステム
図１４は、本実施形態のロボット３００の構成例である。ロボット３００は、ロボット本体３０５と制御装置１００を含み、ロボット本体３０５と制御装置１００が一体に構成される。
【０１０６】
具体的にはロボット３００は、ロボット本体３０５及びロボット本体を支えるベースユニット部を有し、当該ベースユニット部に制御装置１００が格納される。例えば、ベースユニット部に車輪等が設けられ、ロボット３００全体が移動可能な構成となっている。ロボット本体３０５は、図１で説明したアーム３２０、エンドエフェクター３１０、慣性センサー３４０を含んでおり、制御装置１００は、図１で説明した処理部１１０、記憶部１５０、インターフェース部１６０を含んでいる。
【０１０７】
なお、上記のようにロボット本体３０５と制御装置１００を一体に構成する場合に限定されず、ロボット３００と制御装置１００を別体に構成してもよい。この場合、例えば制御装置１００が本実施形態の負荷軽減制御を行う。
【０１０８】
図１５は、ロボット３００と制御装置１００を別体に構成した場合のロボットシステム６００の構成例である。また図１６は、ロボットシステム６００の構成例のブロック図である。
【０１０９】
ロボットシステム６００は、ロボット３００と制御装置１００を含む。またロボットシステム６００は表示部１３０（表示装置）を含んでもよい。ロボット３００は、処理部３５０（処理回路、プロセッサー）、インターフェース部３６０（インターフェース回路、通信回路）、アーム３２０、エンドエフェクター３１０、慣性センサー３４０を含む。制御装置１００は、処理部１１０、記憶部１５０、インターフェース部１６０（慣性情報取得部）を含む。
【０１１０】
制御装置１００の一部又は全部の機能は、例えばＰＣ（Personal Computer）等の情報処理装置により実現される。表示部１３０は情報処理装置の表示装置である。制御装置１００とロボット３００はインターフェース部１６０、３６０を介して接続され、アーム３２０及びエンドエフェクター３１０の制御信号や慣性センサー３４０の検出信号等を制御装置１００とロボット３００の間で通信する。即ち、インターフェース部１６０は、慣性センサー３４０により検出された慣性情報を取得する慣性情報取得部に相当する。ロボット３００の処理部３５０は、例えば制御装置１００から送信された制御信号に基づいてアーム３２０とエンドエフェクター３１０を制御する。或いは、処理部３５０は、慣性センサー３４０の検出信号を処理して、制御装置１００へ送信する。処理部３５０は、例えばプロセッサー（ＣＰＵ、ＧＰＵ等）や、ＡＳＩＣ（ゲートアレイ等）などのハードウェアにより実現できる。プロセッサーで実現する場合、処理部３５０の機能を実現するプログラム（命令）が記憶され、そのプログラムをプロセッサーが読み出して実行することで、処理部３５０の機能が実現される。
【０１１１】
なお、図１４は双腕型の例であるが、ロボット３００は図１５に示すように単腕型のロボットであってもよい。また図１５は単腕型の例であるが、ロボット３００は図１４に示すように双腕型等の多腕型のロボットであってもよい。また、ロボット３００は、人手により移動させられるものであってもよいし、車輪を駆動させるモーターを設け、当該モーターを制御装置１００により制御することにより、移動させられるものであってもよい。また、制御装置１００は、図１４のようにロボット３００の下に設けられたベースユニット部に設けられるとは限らない。
【０１１２】
また、図１７に示すように、制御装置１００の機能は、有線及び無線の少なくとも一方を含むネットワーク４００を介して、ロボット３００と通信接続されたサーバー５００により実現されてもよい。
【０１１３】
或いは本実施形態では、本発明の制御装置の処理の一部を、サーバー５００側の制御装置が行ってもよい。この場合には、ロボット３００側に設けられた制御装置との分散処理により、当該処理を実現する。なお、ロボット３００側の制御装置は、例えばロボット３００に設置される端末装置３３０（処理部）により実現される。
【０１１４】
そして、この場合に、サーバー５００側の制御装置は、本発明の制御装置における各処理のうち、サーバー５００の制御装置に割り当てられた処理を行う。一方、ロボット３００に設けられた制御装置は、本発明の制御装置の各処理のうち、ロボット３００の制御装置に割り当てられた処理を行う。なお、本発明の制御装置の各処理は、サーバー５００側に割り当てられた処理であってもよいし、ロボット３００側に割り当てられた処理であってもよい。
【０１１５】
これにより、例えば端末装置３３０よりも処理能力の高いサーバー５００が、処理量の多い処理を行うこと等が可能になる。さらに、例えばサーバー５００が各ロボット３００の動作を一括して制御することができ、例えば複数のロボット３００に協調動作をさせること等が容易になる。
【０１１６】
６．慣性センサー
図１８は、慣性センサー３４０の詳細な構成例である。なお、ここでは慣性センサー３４０の一例として圧電型の振動ジャイロセンサーの詳細な構成例を説明するが、慣性センサー３４０はこれに限定されない。例えば、シリコン基板などから形成された静電容量検出方式の振動ジャイロセンサーや、角速度情報と等価な物理量を検出する物理量トランスデューサー等であってもよい。或いは、静電容量方式や圧電方式、熱検知方式等の加速度センサーであってもよい。
【０１１７】
図１８のジャイロセンサー５１０（角速度センサー）は、振動片１０と回路装置２０を含む。振動片１０は、水晶などの圧電材料の薄板から形成される圧電型振動片である。具体的には、振動片１０は、Ｚカットの水晶基板により形成されたダブルＴ字型の振動片である。
【０１１８】
回路装置２０は、駆動回路３０、検出回路６０、記憶部２２（メモリー）、インターフェース部２４（インターフェース回路）、制御部１４０（制御回路）を含む。なお、これらの構成要素の一部を省略したり、他の構成要素を追加したりするなどの種々の変形実施が可能である。
【０１１９】
記憶部２２は、例えばレジスターやＲＡＭ、不揮発性メモリー等であり、回路装置２０の設定情報や、物理量検出に用いる各種パラメーター等を記憶する。
【０１２０】
インターフェース部２４は、回路装置２０と外部の回路装置（例えば図１の処理部１１０、図１６の処理部３５０等）との間で制御信号やデータを通信するためのものである。
【０１２１】
駆動回路３０は、駆動信号ＤＱを出力して振動片１０を駆動する。例えば振動片１０からフィードバック信号ＤＩを受け、これに対応する駆動信号ＤＱを出力することで、振動片１０を励振させる。検出回路６０は、駆動信号ＤＱにより駆動される振動片１０から検出信号ＩＱ１、ＩＱ２（検出電流、電荷）を受け、検出信号ＩＱ１、ＩＱ２から、振動片１０に印加された物理量に応じた所望信号（コリオリ力信号）を検出（抽出）する。
【０１２２】
振動片１０は、基部１と、連結腕２、３と、駆動腕４、５、６、７と、検出腕８、９を有する。矩形状の基部１に対して＋Ｙ軸方向、−Ｙ軸方向に検出腕８、９が延出している。また基部１に対して−Ｘ軸方向、＋Ｘ軸方向に連結腕２、３が延出している。そして連結腕２に対して＋Ｙ軸方向、−Ｙ軸方向に駆動腕４、５が延出しており、連結腕３に対して＋Ｙ軸方向、−Ｙ軸方向に駆動腕６、７が延出している。
【０１２３】
駆動回路３０からの駆動信号ＤＱは、駆動腕４、５の上面に設けられた駆動電極と、駆動腕６、７の側面に設けられた駆動電極に入力される。また駆動腕４、５の側面に設けられた駆動電極と、駆動腕６、７の上面に設けられた駆動電極からの信号が、フィードバック信号ＤＩとして駆動回路３０に入力される。また検出腕８、９の上面に設けられた検出電極からの信号が、検出信号ＩＱ１、ＩＱ２として検出回路６０に入力される。なお検出腕８、９の側面に設けられたコモン電極は例えば接地される。
【０１２４】
駆動回路３０により交流の駆動信号ＤＱが印加されると、駆動腕４、５、６、７は、逆圧電効果により矢印Ａに示すような屈曲振動（励振振動）を行う。即ち、駆動腕４、６の先端が互いに接近と離間を繰り返し、駆動腕５、７の先端も互いに接近と離間を繰り返す屈曲振動を行う。このとき駆動腕４、５と駆動腕６、７とが、基部１の重心位置を通るＹ軸に対して線対称の振動を行っているので、基部１、連結腕２、３、検出腕８、９はほとんど振動しない。
【０１２５】
この状態で、振動片１０に対してＺ軸を回転軸とした角速度が加わると（振動片１０がＺ軸回りで回転すると）、コリオリ力により駆動腕４、５、６、７は矢印Ｂに示すように振動する。即ち、矢印Ａの方向とＺ軸の方向とに直交する矢印Ｂの方向のコリオリ力が、駆動腕４、５、６、７に働くことで、矢印Ｂの方向の振動成分が発生する。この矢印Ｂの振動が連結腕２、３を介して基部１に伝わり、検出腕８、９が矢印Ｃの方向で屈曲振動を行う。この検出腕８、９の屈曲振動による圧電効果で発生した電荷信号が、検出信号ＩＱ１、ＩＱ２として検出回路６０に入力される。ここで、駆動腕４、５、６、７の矢印Ｂの振動は、基部１の重心位置に対して周方向の振動であり、検出腕８、９の振動は、矢印Ｂとは周方向で反対向きの矢印Ｃの方向での振動である。検出信号ＩＱ１、ＩＱ２は、駆動信号ＤＱに対して位相が９０度だけずれた信号になる。
【０１２６】
例えば、Ｚ軸回りでの振動片１０（ジャイロセンサー）の角速度をωとし、質量をｍとし、振動速度をｖとすると、コリオリ力はＦｃ＝２ｍ・ｖ・ωと表される。従って検出回路６０が、コリオリ力に応じた信号である所望信号を検出することで、角速度ωを求めることができる。そして求められた角速度ωを用いることで、手振れ補正、姿勢制御、或いはＧＰＳ自律航法等のための種々の処理を行うことができる。
【０１２７】
なお図１８では、振動片１０がダブルＴ字型である場合の例を示しているが、本実施形態の振動片１０はこのような構造に限定されない。例えば音叉型、Ｈ型等であってもよい。また振動片１０の圧電材料は、水晶以外のセラミックスやシリコン等の材料であってもよい。
【０１２８】
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また本実施形態及び変形例の全ての組み合わせも、本発明の範囲に含まれる。また処理部、ロボット、制御装置、ロボットシステムの構成・動作等も、本実施形態で説明したものに限定されず、種々の変形実施が可能である。
【符号の説明】
【０１２９】
１…基部、２，３…連結腕、４〜７…駆動腕、８，９…検出腕、１０…振動片、
２０…回路装置、２２…記憶部、２４…インターフェース部、３０…駆動回路、
６０…検出回路、１００…制御装置、１１０…処理部、１１２…経路取得部、
１１４…ロボット制御部、１３０…表示部、１４０…制御部、１５０…記憶部、
１６０…インターフェース部、３００…ロボット、３０５…ロボット本体、
３１０…エンドエフェクター、３２０…アーム、３３０…端末装置、
３４０…慣性センサー、３５０…処理部、３６０…インターフェース部、
４００…ネットワーク、５００…サーバー、５１０…ジャイロセンサー、
６００…ロボットシステム、
ＡＭ１，ＡＭ２…リンク、ＫＳ１…関節、Ｔｈ…閾値、Ｔｈ１…第１の閾値、
Ｔｈ２…第２の閾値、θ…関節角度
【図１】
2017148913.tif 000003
【図２】
2017148913.tif 000004
【図３】
2017148913.tif 000005
【図４】
2017148913.tif 000006
【図５】
2017148913.tif 000007
【図６】
2017148913.tif 000008
【図７】
2017148913.tif 000009
【図８】
2017148913.tif 000010
【図９】
2017148913.tif 000011
【図１０】
2017148913.tif 000012
【図１１】
2017148913.tif 000013
【図１２】
2017148913.tif 000014
【図１３】
2017148913.tif 000015
【図１４】
2017148913.tif 000016
【図１５】
2017148913.tif 000017
【図１６】
2017148913.tif 000018
【図１７】
2017148913.tif 000019
【図１８】
2017148913.tif 000020