(57)【要約】【課題】より安定して移動できるロボットを提供する。【解決手段】実施形態に係るロボットは、本体部と、アームと、検出部と、弾性部材と、駆動機構と、制御部と、を備える。前記本体部は、第１構造物と第２構造物との間において、前記第１構造物の第１面上を移動する。前記アームは、前記移動体に対して回動可能に設けられ、前記第１面と対向する前記第２構造物の第２面に接触する。前記検出部は、前記本体部に対する前記アームの角度を検出する。前記弾性部材は、前記本体部及び前記アームに連結され、前記角度に応じた弾性力を前記アームに発生させる。前記駆動機構は、前記本体部及び前記アームに連結され、前記アームの回動方向に駆動するトルクを加える。前記制御部は、検出された前記角度に基づいて前記駆動機構を制御し、前記トルクを調整する。【選択図】図１
2019171900.tif 000002
【特許請求の範囲】
【請求項１】
第１構造物と第２構造物との間において、前記第１構造物の第１面上を移動する本体部と、
前記移動体に対して回動可能に設けられ、前記第１面と対向する前記第２構造物の第２面に接触するアームと、
前記本体部に対する前記アームの角度を検出する検出部と、
前記本体部及び前記アームに連結され、前記角度に応じた弾性力を前記アームに発生させる弾性部材と、
前記本体部及び前記アームに連結され、前記アームの回動方向に駆動するトルクを加える駆動機構と、
検出された前記角度に基づいて前記駆動機構を制御し、前記トルクを調整する制御部と、
を備えたロボット。
【請求項２】
前記駆動機構は、モータであり、
前記弾性部材は、前記本体部及び前記アームに連結されたねじりコイルばねである請求項１記載のロボット。
【請求項３】
前記モータの回転軸の一部は、前記アームに固定され、
前記回転軸の別の一部は、前記ねじりコイルばねの内側に設けられた請求項２記載のロボット。
【請求項４】
前記制御部は、前記アームから前記第２面に向けて加えられる力が、予め設定された第１力となるように、前記駆動機構を制御する請求項１〜３のいずれか１つに記載のロボット。
【請求項５】
前記制御部は、前記第１面から本体部に向けて働く垂直抗力が、予め設定された第１力となるように、前記駆動機構を制御する請求項１〜３のいずれか１つに記載のロボット。
【請求項６】
複数の前記アームと、
前記複数のアーム及び前記本体部にそれぞれ連結された複数の前記弾性部材と、
前記複数のアーム及び前記本体部にそれぞれ連結された複数の前記駆動機構と、
前記本体部に対する前記複数のアームのそれぞれの角度を検出する複数の前記検出部と、
を備え、
前記制御部は、前記複数の角度の検出結果に基づいて、前記複数の駆動機構を制御する請求項１〜５のいずれか１つに記載のロボット。
【請求項７】
前記制御部は、
前記複数のアームが前記第２面に接触する第１状態と、
前記複数のアームの一部が前記第２面に接触し、前記複数のアームの別の一部が前記第２面から離れている第２状態と、
を切り替え、
前記制御部は、前記第２状態において、前記複数のアームの前記一部のそれぞれから前記第２面に向けて加えられる力が、前記第１状態において、前記複数のアームのそれぞれから前記第２面に向けて加えられる力よりも大きくなるように、前記複数の駆動機構を制御する請求項６記載のロボット。
【請求項８】
前記制御部は、前記駆動機構への指令トルクと、前記駆動機構から実際に出力された出力トルクと、の関係を表す補正式を参照し、前記補正式及び検出された前記角度に基づいて、前記駆動機構を制御する請求項１〜５のいずれか１つに記載のロボット。
【請求項９】
前記制御部は、複数の前記指令トルクと、複数の前記出力トルクと、をそれぞれ対応させたデータを取得可能であり、
前記制御部は、前記データに基づいて複数の近似式を生成し、前記複数の近似式に基づいて、複数の前記補正式を導出可能である請求項８記載のロボット。
【請求項１０】
前記制御部は、ガウス・ジョルダン法を用いて、前記複数の近似式に基づいて、複数の前記補正式を導出する請求項９記載のロボット。
【請求項１１】
前記制御部は、機械学習により、前記複数の近似式に基づいて、複数の前記補正式を導出する請求項９記載のロボット。
【請求項１２】
前記第１構造物は、柱状であり、
前記第２構造物は、筒状であり、前記第１構造物の周りに設けられる請求項１〜１１のいずれか１つに記載のロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ロボットに関する。
【背景技術】
【０００２】
狭隘空間（ギャップ）を移動しながら検査を行うロボットがある。このロボットは、姿勢やギャップの間隔などに拘わらず、安定して移動できることが望ましい。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許出願公開第２０１３／００４７７４８号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明が解決しようとする課題は、より安定して移動できるロボットを提供する。
【課題を解決するための手段】
【０００５】
実施形態に係るロボットは、本体部と、アームと、検出部と、弾性部材と、駆動機構と、制御部と、を備える。前記本体部は、第１構造物と第２構造物との間において、前記第１構造物の第１面上を移動する。前記アームは、前記移動体に対して回動可能に設けられ、前記第１面と対向する前記第２構造物の第２面に接触する。前記検出部は、前記本体部に対する前記アームの角度を検出する。前記弾性部材は、前記本体部及び前記アームに連結され、前記角度に応じた弾性力を前記アームに発生させる。前記駆動機構は、前記本体部及び前記アームに連結され、前記アームの回動方向に駆動するトルクを加える。前記制御部は、検出された前記角度に基づいて前記駆動機構を制御し、前記トルクを調整する。
【図面の簡単な説明】
【０００６】
【図１】第１実施形態に係るロボットを表す側面図である。
【図２】第１実施形態に係るロボットを表す平面図である。
【図３】第１実施形態に係るロボットの一部を模式的に表す斜視図である。
【図４】移動体に働く力を表す模式図である。
【図５】弾性部材の特性を例示するグラフである。
【図６】アームの角度と押し付け力との関係を例示するグラフである。
【図７】実施形態に係るロボットの一部を表す模式図である。
【図８】アームの角度と押し付け力との関係を例示するグラフである。
【図９】アクチュエータへの指令トルクとアームのトルクとの関係を例示するグラフである。
【図１０】データの取得方法の一例を表すフローチャートである。
【図１１】補正式の導出方法の一例を表すフローチャートである。
【図１２】補正式の導出方法の別の一例を表すフローチャートである。
【図１３】補正式を用いた場合のトルク指令値とアームの出力との関係を例示するグラフである。
【図１４】第１実施形態の第２変形例に係るロボットの一部を表す模式図である。
【図１５】第２実施形態に係るロボットを模式的に表す側面図である。
【図１６】第２実施形態に係るロボットを模式的に表す平面図である。
【図１７】第２実施形態に係るロボットの動作を模式的に表す側面図である。
【図１８】第２実施形態に係るロボットの動作を模式的に表す側面図である。
【発明を実施するための形態】
【０００７】
以下に、本発明の各実施形態について図面を参照しつつ説明する。
なお、図面は模式的または概念的なものであり、各部分の厚みと幅との関係、部分間の大きさの比率などは、必ずしも現実のものと同一とは限らない。また、同じ部分を表す場合であっても、図面により互いの寸法や比率が異なって表される場合もある。
また、本願明細書と各図において、既に説明したものと同様の要素には同一の符号を付して詳細な説明は適宜省略する。
【０００８】
（第１実施形態）
図１は、第１実施形態に係るロボットを表す側面図である。
図２は、第１実施形態に係るロボットを表す平面図である。
【０００９】
本発明の実施形態に係るロボットは、例えば、狭隘空間（ギャップ）内を移動しながら、その空間内の構造物などを検査するために用いられる。第１実施形態に係るロボット１００は、図１及び図２に表したように、移動体１及び制御部５を備える。移動体１は、本体部１０、アーム１１、弾性部材２１、アクチュエータ３１、及び検出器４１を備える。
【００１０】
移動体１は、第１構造物９１と第２構造物９２との隙間Ｇを移動する。例えば、第１構造物９１は、円柱状の構造物であり、第２構造物９２は、第１構造物９１の周りに設けられた円筒状の構造物である。一例として、第１構造物９１は、発電機のロータであり、第２構造物９２は、発電機のステータである。
【００１１】
第１構造物９１及び第２構造物９２は、それぞれ、互いに対向する第１面９１Ｓ及び第２面９２Ｓを有する。本体部１０は、第１面９１Ｓの上または第２面９２Ｓの上を移動する。ここでは、本体部１０が第１面９１Ｓ上を移動する場合について説明する。
【００１２】
本体部１０は、例えば、車体１０ａ及びクローラ１０ｂを有する。クローラ１０ｂが第１面９１Ｓに接した状態で、その車輪が駆動されることで、本体部１０が前進又は後退する。また、クローラ１０ｂは、左右の車輪の回転数をそれぞれ調整することで、進行方向を、左側方又は右側方に向けることもできる。本体部１０の移動手段として、無限軌道であるクローラ１０ｂに代えて、車輪だけの構成が適用されても良い。
【００１３】
アーム１１の一端は本体部１０に軸支されており、これにより、アーム１１は本体部１０対して回動可能である。アーム１１の他端には、ローラ１１ｂが設けられている。ローラ１１ｂが設けられることで、移動体１は、アーム１１の他端を第２面９２Ｓに当接させながら、第１面９１Ｓ上を滑らかに移動できる。
【００１４】
弾性部材２１は、本体部１０及びアーム１１に連結されている。弾性部材２１は、本体部１０とアーム１１との間の角度θに応じた弾性力を、アーム１１に発生させる。例えば、弾性部材２１は、アーム１１の回動方向に沿った弾性力を、アーム１１に発生させる。弾性力の向きは、任意である。ある角度において、弾性部材２１により生じる弾性力は、角度θを大きくする向きであっても良いし、角度θを小さくする向きであっても良い。
【００１５】
アクチュエータ３１は、図２に表したように、本体部１０及びアーム１１に連結されている。アクチュエータ３１は、本体部１０に対して固定された駆動機構である。アクチュエータ３１が駆動することで、アーム１１に力が加えられる。アクチュエータ３１は、例えば、本体部１０とアーム１１との角度が大きくなる方向及び小さくなる方向のいずれの方向にも、トルクを発生させることができる。
【００１６】
アクチュエータ３１は、例えば、アーム１１の一端に連結された電動モータである。弾性部材２１は、本体部１０及びアーム１１に連結されたねじりコイルばねである。例えば、アーム１１の一端に連結されたアクチュエータ３１の回転軸３１ａは、アーム１１の反対側まで突き出ている。突き出た回転軸３１ａは、弾性部材２１の少なくとも一部の内側に設けられている。回転軸３１ａの一部を弾性部材２１の内側に設けることで、本体部１０上において弾性部材２１及びアクチュエータ３１が占める空間を小さくし、移動体１を小型化できる。
【００１７】
検出器４１は、本体部１０に対するアーム１１の角度を検出する。検出器４１は、例えば、アクチュエータ３１に設けられたロータリーエンコーダである。
【００１８】
検査器５１は、第１構造物９１及び第２構造物９２の少なくともいずれかを検査する。検査器５１は、例えば、これらの構造物における傷などを検査する、超音波センサ、打撃装置、またはカメラを含む。
【００１９】
これらの他に、ロボット１００は、例えば、第１面９１Ｓ又は第２面９２Ｓを撮影するカメラ５２、第１面９１Ｓ又は第２面９２Ｓまでの距離を計測する計測器５３、第１表面９１Ｓにおける凹凸を検出するための位置検出部５４、第１面９１Ｓ又は第２面９２Ｓを照らす照明器５５、移動体１の進行方向を撮影するカメラ５６などを含む。
【００２０】
アーム１１が第２面９２Ｓへ押し付けられることで、第２面９２Ｓから移動体１への抗力により、移動体１が第１面９１Ｓへ向けて押さえ付けられる。制御部５は、アクチュエータ３１を制御し、アクチュエータ３１からアーム１１へ働くトルクを調整する。これにより、アーム１１を第２面９２Ｓへ押し付ける力（以下、押し付け力という）が調整され、移動体１に働く力を調整できる。具体的には、制御部５は、押し付け力が、予め設定された力（第１力）となるように、アクチュエータ３１を制御する。
【００２１】
この他に、制御部５は、カメラ５２、計測器５３、位置検出部５４、照明器５５、カメラ５６などの動作を制御しても良い。制御部５は、例えば、隙間Ｇの外に配され、本体部１０とケーブル５ａを介して有線接続される。又は、本体部１０は、制御部５と無線で接続されても良い。あるいは、本体部１０に制御部５が搭載されていても良い。
【００２２】
図３は、第１実施形態に係るロボットの一部を模式的に表す斜視図である。
図３において、実線は、アーム１１が第２面９２Ｓへ接触する位置（接触位置）にある状態を表す。破線は、アーム１１が折り畳まれて収納された位置（収納位置）にある状態を表す。なお、接触位置は、第１面９１Ｓと第２面９２Ｓとの間の距離に応じて変化しうる。
【００２３】
アクチュエータ３１からアーム１１へ加えるトルクを変化させることで、図３に表したように、アーム１１の位置を変化させることができる。また、アーム１１が接触位置にある状態でトルクを変化させることで、押し付け力を調整することができる。
【００２４】
図１〜図３に表した例では、一対のアーム１１に、１つのアクチュエータ３１が連結されている。また、一対のアーム１１に、それぞれ一対の弾性部材２１が連結されている。ただし、アーム１１を回動させ、アーム１１が接触位置にある状態と収納位置にある状態とを切り替えることができれば、アーム１１、弾性部材２１、及びアクチュエータ３１の具体的な数及び構成は、適宜変更可能である。
【００２５】
図４は、移動体に働く力を表す模式図である。
図５は、弾性部材の特性を例示するグラフである。
図６は、アームの角度と押し付け力との関係を例示するグラフである。
【００２６】
図４に表したように、アーム１１のローラ１１ｂが第２面９２Ｓに接触しているとき、アーム１１から第２面９２Ｓには、押し付け力ＦＰが加わる。アーム１１を第２面９２Ｓに押し付けることで、第２面９２Ｓからアーム１１への抗力により、移動体１が第１面９１Ｓに向けて押さえ付けられる。押し付け力ＦＰは、アーム１１の回動方向に沿う力ＦＴに依存する。また、力ＦＴは、アーム１１に連結された弾性部材２１の弾性力による影響を受ける。
【００２７】
図５は、弾性部材２１の弾性力によって生じるトルクＴＳ（Ｎｍ）と、本体部１０とアーム１１との間の角度θ（度）と、の理論上の関係を示す。なお、図５は、弾性部材２１が圧縮ばねである場合の特性を例示している。すなわち、弾性部材２１は、角度θが小さくなるほど、より圧縮された状態となる。
【００２８】
図５に表したように、トルクＴＳは、角度θに応じて、線形に変化している。また、アーム１１の回動方向に沿った力ＦＴと押し付け力ＦＰとの関係は、以下の式（１）で表される。
ＦＰ＝ＦＴ／Ｃｏｓθ    ・・・  （１）
【００２９】
図６のグラフは、角度θと押し付け力ＦＰとの関係を表す。図６から、押し付け力ＦＰは、角度θが大きくなるほど増大し、且つ、角度θに応じて大きく変化することが分かる。
【００３０】
図７（ａ）〜図７（ｃ）は、実施形態に係るロボットの一部を表す模式図である。
例えば、第１構造物９１は円柱形であり、その中心軸は水平方向に延びている。この場合、移動体１に働く重力の方向は、第１面９１Ｓ上における移動体１の位置に応じて変化する。例えば、移動体１は、図７（ａ）及び図７（ｂ）に表したように、横向きの状態で移動したり、図７（ｃ）に表したように、下向きの状態で移動したりする。
【００３１】
アーム１１による押し付け力ＦＰは、移動体１が横向き又は下向きの状態でも落下せずに第１面９１Ｓ上を移動できるように、十分大きな値に設定される。一方で、押し付け力ＦＰが大きすぎると、本体部１０が第１面９１Ｓに向けて強く押し付けられ、移動体１が移動出来なくなる。従って、押し付け力ＦＰは、移動体１が第１面９１Ｓ上を安定して移動でき、横向き又は下向きの状態でも落下しない範囲に、設定される。
【００３２】
しかし、第１面９１Ｓ及び第２面９２Ｓに凹凸などがある場合、第１面９１Ｓと第２面９２Ｓとの間の距離が場所に応じて変化する。すなわち、凹凸がある場所を移動体１が移動すると、アーム１１の角度θが変化する。角度θが変化すると、図６及び式（１）から分かるように、押し付け力ＦＰも変化する。
【００３３】
例えば、第１面９１Ｓまたは第２面９２Ｓに凹があると、この部分では、第１面９１Ｓと第２面９２Ｓとの距離が長くなる。これらの面の間の距離が長くなると、アーム１１の角度θが大きくなり、押し付け力ＦＰが増大する。この結果、移動体１が第１面９１Ｓに向けて強く押されすぎ、移動体１が移動できなくなる可能性がある。
【００３４】
あるいは、第１面９１Ｓまたは第２面９２Ｓに凸があると、この部分では、第１面９１Ｓと第２面９２Ｓとの距離が短くなる。この結果、押し付け力ＦＰが低下する。例えば、移動体１が横向きに走っているときに押し付け力ＦＰが低下すると、移動体１が第１面９１Ｓに向けて十分に押さえ付けられず、移動体１が落下する可能性がある。
【００３５】
第１実施形態に係るロボット１００では、このような落下を防ぐために、制御部５が押し付け力ＦＰを制御する。例えば、押し付け力ＦＰは、ロボット１００のユーザによって予め設定される。制御部５は、押し付け力ＦＰが予め設定された大きさに近づくように、検出器４１によって検出されたアーム１１の角度に基づいて、アクチュエータ３１を制御し、アーム１１へのトルクを調整する。
【００３６】
例えば、制御部５は、角度θが小さくなると、アクチュエータ３１からアーム１１へ加わるトルクを増大させる。制御部５は、角度θが大きくなると、アクチュエータ３１からアーム１１へ加わるトルクを減少させる。又は、押し付け力ＦＰを低下させるために、制御部５は、アーム１１へ角度θを小さくする向きにトルクが加わるよう、アクチュエータ３１を制御する。
【００３７】
従って、第１実施形態によれば、移動体１が走行する面とアーム１１を押し付ける面との間の距離が変化する構造物を検査する場合でも、本体部１０を落下させずにより安定して走行させることができる。
【００３８】
また、弾性部材２１は、圧縮ばねであることが望ましい。弾性部材２１は、例えば、圧縮ねじりコイルばねである。
アクチュエータ３１の故障又はケーブル５ａの断線などがあると、アクチュエータ３１からアーム１１へ加わるトルクが減少する、又は無くなる。このため、移動体１が横向き又は下向きの状態で上記不具合が生じると、移動体１が落下する可能性がある。移動体１の落下を防ぐためには、アクチュエータ３１から加えられるトルクが小さい又は無い場合でも、アーム１１が第２面９２Ｓに押し付けられることが望ましい。
弾性部材２１として圧縮ばねを用いることで、上記不具合が生じた場合でも、アーム１１を第２面９２Ｓに押し付けることができる。これにより、移動体１が落下する可能性を低減できる。
【００３９】
以下では、制御部５による具体的な制御方法について説明する。
まず、ユーザにより、アーム１１の長さＬ、角度θと弾性部材２１によるトルクＴＳとの関係を表す式ＴＳ＝ｆ（θ）が予め設定される。ＴＳ＝ｆ（θ）は、例えば、図５に表した、角度θとトルクＴＳとの関係を式で表したものである。
【００４０】
ここで、押し付け力ＦＰは、以下の式（２）で表される。
ＦＰ＝ＦＴ／Ｃｏｓθ    ・・・（２）
【００４１】
アーム１１のトルクをＴとすると、ＦＴ＝Ｔ／Ｌである。また、アクチュエータ３１によるトルクをＴＭとすると、Ｔ＝（ＴＳ−ＴＭ）である。これらの関係から、式（２）は、以下の式（３）で表される。なお、ここでは、トルクＴＳについては、角度θを大きくする方向を正とし、トルクＴＭについては、角度θを小さくする方向を正としている。
ＦＰ＝（ＴＳ−ＴＭ）／ＬＣｏｓθ    ・・・（３）
【００４２】
式（３）を変形し、ＴＳ＝ｆ（θ）で表すと、以下の式（４）が得られる。
ＴＭ＝ｆ（θ）−ＦＰＬＣｏｓθ    ・・・（４）
【００４３】
アーム１１の長さＬ及び関数ｆ（θ）は、予め設定されているため、目標とする押し付け力ＦＰがさらに設定されると、その押し付け力ＦＰを得るために必要なアクチュエータ３１のトルクＴＭが定まる。
【００４４】
制御部５は、検出器４１で検出された角度が入力されると、予め設定された関数ｆ（θ）、式（５）などを参照し、トルクＴＭを算出する。そして、制御部５は、算出されたトルクＴＭが出力されるよう、アクチュエータ３１を制御する。これにより、移動体の走行中に第１面９１Ｓと第２面９２Ｓとの間の距離が変化しても、予め設定された押し付け力ＦＰを出力させることができる。これにより、押し付け力ＦＰが大きすぎて移動体が移動出来なかったり、押し付け力ＦＰが小さすぎて落下したりする可能性を低減できる。
【００４５】
又は、制御部５は、予め設定された垂直抗力Ｎが移動体１（本体部１０）に働くよう、アクチュエータ３１を制御しても良い。具体的には、アーム１１を第２面９２Ｓに押し付けると、第２面９２Ｓから移動体１へ働く抗力により、移動体１は第１面９１Ｓに押し付けられる。移動体１が第１面９１Ｓに押し付けられると、第１面９１Ｓから移動体１に向けて垂直抗力Ｎが働く。移動体が横向きに走っている際、移動体の落下を防ぐためには、垂直抗力Ｎが十分に大きいことが望ましい。
【００４６】
この場合、図７（ａ）に表した、移動体の自重ｍ、重力加速度ｇ、摩擦係数μ、及び本体部１０の位置が事前に登録される。摩擦係数μとしては、クローラ１０ｂと第１面９１Ｓとの間及びローラ１１ｂと第２面９２Ｓとの間の摩擦係数が設定される。本体部１０の位置としては、例えば、移動体１及び第１構造物９１の回転軸を結ぶ線分と、基準線と、の間の角度αが用いられる。基準線は、例えば、第１構造物９１の回転軸から鉛直上方に延ばした直線である。例えば、図７（ａ）〜図７（ｃ）に表した状態の角度αは、それぞれ、９０度、２７０度、及び１８０度である。
【００４７】
垂直抗力Ｎは、以下の式（５）〜式（７）を満たすように、設定される。
ｍｇＳｉｎα＜μＮ     ・・・（５）
０＜Ｎ       ・・・（６）
（ｍｇＳｉｎα／μ）＜Ｎ    ・・・（７）
【００４８】
なお、｜Ｓｉｎα｜≦１のため、式（５）〜式（７）から、垂直抗力Ｎの条件として以下の式（８）が導かれる。
ｍｇ／μ≦Ｎ      ・・・（８）
【００４９】
ユーザは、式（８）を満たすＮを設定する。Ｎは、安全性を考慮して、大きめに設定されることが望ましい。又は、制御部５は、設定された自重ｍ、重力加速度ｇ、摩擦係数μに基づいて、式（８）を満たすＮを算出しても良い。
【００５０】
ここで、垂直抗力Ｎは、以下の式（９）で表される。
Ｎ＝ＦＰ＋ｍｇＣｏｓα  ・・・（９）
【００５１】
式（４）及び式（９）から、以下の式（１０）が導かれる。
ＴＭ＝ｆ（θ）−（Ｎ−ｍｇＣｏｓα）ＬＣｏｓθ    ・・・（１０）
【００５２】
垂直抗力Ｎ、自重ｍ、重力加速度ｇ、角度α、長さＬ、及び関数ｆ（θ）は、予め設定される。このため、角度θが検出されることで、予め設定された垂直抗力Ｎを得るために必要なアクチュエータ３１のトルクＴＭを算出できる。
【００５３】
（第１変形例）
図８は、アームの角度と押し付け力との関係を例示するグラフである。
図９は、アクチュエータへの指令トルクとアームのトルクとの関係を例示するグラフである。
【００５４】
上述した例では、弾性部材２１により発生するトルクＴＳは、理論上の関数ｆ（θ）を用いて表されていた。しかし、弾性部材２１によって生じる弾性力は、弾性部材２１の形状の変化量に応じて、理論値からずれる場合がある。例えば、弾性部材２１がねじりコイルばねである場合、変形により、コイルの径が変化したり、コイルの中心軸の位置がずれたりする。これらの変化にともない、弾性部材２１で生じる弾性力が、理論値からずれていく。
【００５５】
図８のグラフにおいて、丸のプロットは、図５に表したプロットと同じ、押し付け力ＦＰと角度θとの理論上の関係を示す。四角のプロットは、弾性部材２１がねじりコイルばねである場合に、実際に測定された角度θと押し付け力ＦＰとの関係を表す。図７に表したように、実測値と理論値との間には差があり、特に、角度θが小さい場合にその差が大きくなる。押し付け力ＦＰの理論値と実測値とのずれは、弾性部材２１のトルクＴＳの理論値と実測値とのずれを意味する。
【００５６】
図９において、横軸は、アクチュエータ３１に出力するよう制御部５から指令された指令トルクＴＭＣ（ｍＮｍ：ミリニュートンメートル）を表す。縦軸は、アーム１１から出力されるトルクＴを表す。トルクＴは、上述した通り、弾性部材２１によるトルクＴＳから、アクチュエータ３１によるトルクＴＭを減じた値である。また、四角のプロットは、トルクＴＭＣを増大させていった場合のアーム１１のトルクＴの変化を表し、丸のプロットは、トルクＴＭＣを減少させていった場合のアーム１１のトルクＴの変化を表す。
【００５７】
図９に表したように、トルクＴＭＣを増大させていった場合と、トルクＴＭＣを減少させていった場合と、ではアーム１１のトルクＴに差が生じる。すなわち、トルクＴＭＣとトルクＴとの関係にはヒステリシス性が存在する。これは、アクチュエータ３１における残留トルクなどの影響による。
【００５８】
図８に表したような押し付け力ＦＰの理論値と実測値のずれ、図９に表したようなトルクＴＭＣのヒステリシス性が存在すると、所定の押し付け力ＦＰが出力されるようにアクチュエータ３１を制御しても、実際に出力されるＦＰが大きく異なりうる。
【００５９】
そこで、本変形例では、指令トルクＴＭＣ及びトルクＴＳの関係を予め調べ、これらの関係を表す複数の補正式を導出する。制御部５は、これらの補正式を参照し、所定の押し付け力ＦＰを出力するための指令トルクＴＭＣを角度θに基づいて算出する。
【００６０】
以下で、補正式の導出方法について説明する。
図１０は、データの取得方法の一例を表すフローチャートである。
図１１は、補正式の導出方法の一例を表すフローチャートである。
図１２は、補正式の導出方法の別の一例を表すフローチャートである。
【００６１】
図１０に表したように、制御部５は、まず、指令トルクＴＭＣの設定段階を０にし、設定した指令トルクＴＭＣを出力する（ステップＳ１）。制御部５は、検出器４１により、アーム１１の角度θを測定する（ステップＳ２）。例えば、図５に表したような、角度θとトルクＴＳとの関係を表すＴＳ＝ｆ（θ）がユーザにより予め設定される。制御部５は、この関係式を参照し、測定された角度θから弾性部材２１によるトルクＴＳを算出する（ステップＳ３）。トルクＴＳは、換言すると、アクチュエータ３１から実際に出力されたトルクＴＭである。制御部５は、トルクＴＭと指令トルクＴＭＣを関連付けて記憶する（ステップＳ４）。
【００６２】
制御部５は、現在のアクチュエータ３１の指令トルクＴＭＣの設定に対して、１段階増大させた後の指令トルクＴＭＣを算出する（ステップＳ５）。制御部５は、増大後の指令トルクＴＭＣが、予め設定された上限の閾値ｔｈ１未満か判定する（ステップＳ６）。出力が閾値ｔｈ１未満の場合、制御部５は、アクチュエータ３１に、１段階増大させた指令トルクＴＭＣを出力させる（ステップＳ７）。その後、ステップＳ２〜Ｓ５が繰り返される。
【００６３】
出力が閾値ｔｈ１以上の場合、制御部５は、アクチュエータ３１の指令トルクＴＭＣの設定を１段階低減させる（ステップＳ８）。制御部５は、設定された指令トルクＴＭＣをアクチュエータ３１に出力させる（ステップＳ９）。制御部５は、角度θを測定する（ステップＳ１０）。制御部５は、角度θから弾性部材２１によるトルクＴＳを算出する（ステップＳ１１）。制御部５は、トルクＴＭと指令トルクＴＭＣを対応付けて記憶する（ステップＳ１２）。
【００６４】
制御部５は、現在のアクチュエータ３１の指令トルクＴＭＣの設定に対して、１段階低減させた後の指令トルクＴＭＣを算出する（ステップＳ１３）。制御部５は、低減後の指令トルクＴＭＣが、予め設定された下限の閾値ｔｈ２を超えているか判定する（ステップＳ１４）。指令トルクＴＭＣが閾値ｔｈ２を超えている場合、ステップＳ９〜Ｓ１３が繰り返される。指令トルクＴＭＣが閾値ｔｈ２以下の場合、処理を終了する。
【００６５】
以上の処理により、指令トルクＴＭＣを増大させたときの指令トルクＴＭＣとトルクＴＭとの関係、指令トルクＴＭＣを低減させたときの指令トルクＴＭＣとトルクＴＭとの関係についてのデータが取得される。
【００６６】
制御部５は、取得したデータを用いて、複数の近似式を生成する（図１１のステップＳ２１）。図１１のステップＳ２１に記載された近似式において、Ｘｎ及びＴｎ（ｎ＝０、１、２・・・）は、それぞれ、指令トルクＴＭＣがｎ段階に設定されていたときの、指令トルク及び実際のトルクの測定値である。このように、制御部５は、取得データの組の数だけ、近似式を生成する。
【００６７】
制御部５は、生成した複数の近似式を行列化する（ステップＳ２２）。制御部５は、行列に対して、ガウス・ジョルダン法を用いて、近似式の係数を算出する（ステップＳ２３）。制御部５は、算出した係数を、生成した近似式に適用することで、補正式を得る。制御部５は、その補正式を記憶する（ステップＳ２４）。
【００６８】
又は、図１１に表した方法に代えて、図１２に表した方法が用いられても良い。図１２に表した方法は、機械学習を用いた方法の一例である。まず、制御部５は、複数の係数（ａｎ（ｎ＝０、１、２・・・））の初期値を設定する（ステップＳ３１）。次に、ユーザが、学習率を設定する（ステップＳ３２）。または、制御部５は、ユーザにより予め設定された学習率を参照する。
【００６９】
学習率は、後述する機械学習で用いられる。機械学習では、複数の係数を仮に設定して結果を予想（計算）する。この計算結果と実験結果に差異があった時に、各係数が修正される。学習率は、この修正において、修正値の大きさを表す。学習率が大きいほど、大きく修正される。学習率は、例えば、０．０１％以上０．１％以下に設定される。
【００７０】
制御部５は、複数の近似式を生成する（ステップＳ３３）。Ｔ'ｎ（ｎ＝０、１、２・・・）は、各近似式から算出される、アクチュエータ３１の指令トルクＴＭＣの予測値である。ユーザは、近似式の係数を評価するための評価式を設定する（ステップＳ３４）。ステップＳ３４に表したＳは、評価の指標である。この例では、Ｓが小さいほど、近似式が、指令トルクＴＭＣを基に実際のトルクＴＭをより精度良く表していることを示す。
【００７１】
制御部５は、評価式を用いて指標Ｓを算出する（ステップＳ３５）。制御部５は、指標Ｓが、所定の閾値より大きいか判定する（ステップＳ３６）。指標Ｓが閾値よりも大きい場合、制御部５は、設定された学習率に基づいて、近似式の係数を修正する（ステップＳ３７）。指標Ｓが閾値以下の場合、設定された係数を含む近似式を、補正式として記憶し（ステップＳ３８）、処理を終了する。
【００７２】
なお、複数の補正式が生成されても良い。例えば、指令トルクＴＭＣとトルクＴＭとの対応データを取得した後、指令トルクＴＭＣの範囲を複数に分割する。指令トルクＴＭＣの各範囲における指令トルクＴＭＣとトルクＴＭとの関係を表す補正式を生成する。例えば、指令トルクＴＭＣとトルクＴＭとの全ての対応データを１つの補正式で精度良く表すことができない場合に、指令トルクＴＭＣの範囲ごとに補正式を生成する。こうすることで、指令トルクＴＭＣとトルクＴＭとの関係をより精度良く表すことができ、所望の値に近いトルクＴＭを出力することが可能となる。
【００７３】
図１３は、補正式を用いた場合の指令トルクとアームの出力との関係を例示するグラフである。
図１３の横軸及び縦軸は、図９のグラフと同様である。また、実線は、トルクＴＭＣを増大させていった場合のアーム１１のトルクＴの変化を表し、点線は、トルクＴＭＣを減少させていった場合のアーム１１のトルクＴの変化を表す。
【００７４】
生成された補正式を用いることで、アーム１１に、あるトルクＴを発生させたい場合に、指令トルクＴＭＣをどの程度に設定すれば良いか、導出できる。また、トルクＴＭＣを増大させたときと、トルクＴＭＣを減少させたときとで、補正式を使い分けることで、図１３に表したように、アーム１１のトルクＴのヒステリシス性を実質的に解消できる。
【００７５】
すなわち、制御部５は、まず、式（４）又は式（１０）を用いて、アクチュエータ３１から出力すべきトルクＴＭを算出する。制御部５は、算出されたトルクＴＭを補正式に代入することで、アクチュエータ３１への指令トルクＴＭＣを算出する。制御部５は、その指令トルクＴＭＣを出力するようアクチュエータ３１を制御する。
【００７６】
上述した補正式を用いることで、予め設定された押し付け力ＦＰ又は予め設定された垂直抗力Ｎにより近い値が得られるよう、アクチュエータ３１を制御することが可能となる。
【００７７】
（第２変形例）
図１４は、第１実施形態の第２変形例に係るロボットの一部を表す模式図である。
図１〜図３に表した移動体１は、弾性部材２１としてねじりコイルばねを有していた。これに対して、第２変形例に係るロボットの移動体１ａは、弾性部材２１としてコイルばねが設けられている。
【００７８】
弾性部材２１の一端は、本体部１０と連結され、弾性部材２１の他端は、アーム１１と連結されている。弾性部材２１の長さは、角度θに応じて変化する。すなわち、弾性部材２１は、角度θに応じたトルクをアーム１１に与える。また、アクチュエータ３１は、例えば、圧力モータ（空気圧モータ）である。
【００７９】
このように、弾性部材２１及びアクチュエータ３１は、アーム１１に対してトルクを与えることができるものであれば、その具体的構成は適宜変更可能である。
【００８０】
（第２実施形態）
図１５は、第２実施形態に係るロボットを模式的に表す側面図である。
図１６は、第２実施形態に係るロボットを模式的に表す平面図である。
第２実施形態に係るロボット２００は、図１５及び図１６に表したように、複数のアームを備える。具体的には、第２実施形態に係るロボット２００は、第１実施形態に係るロボット１００に対して、アーム１２及び１３、弾性部材２２及び２３、アクチュエータ３２及び３３、検出器４２及び４３をさらに備える。
【００８１】
アーム１２及び１３の構造は、アーム１１と実質的に同じである。すなわち、アーム１２には、弾性部材２２及びアクチュエータ３２が連結され、アーム１３には、弾性部材２３及びアクチュエータ３３が連結される。アーム１２及び１３は、それぞれ、回転軸３２ａ及び３３ａを中心に回動し、アーム１２及び１３の一端が第２面９２Ｓを押し付けられる。検出器４２及び４３は、それぞれ、本体部１０に対するアーム１２及び１３の角度を検出する。
【００８２】
複数のアームが第２面９２Ｓに押し付けられる場合、制御部５は、各アームによる押し付け力の合計が、予め設定された値となるように、アクチュエータ３１〜３３の動作を制御する。
【００８３】
図１７及び図１８は、第２実施形態に係るロボットの動作を模式的に表す側面図である。
例えば、第１面９１Ｓ又は第２面９２Ｓには、図１７及び図１８に表したように、突起９５が存在する場合がある。例えば、第１構造物９１と第２構造物９２が発電機の一部である場合、第２面９２Ｓには、バッフルと呼ばれる突起が存在する。突起９５が存在する場合に、アーム１１を第２面９２Ｓに当接させながら移動していると、アーム１１が突起９５に引っ掛かり、移動できなくなる可能性がある。
【００８４】
そこで、第２実施形態に係るロボット２００では、移動体２に複数のアームが設けられている。例えば、図１７（ａ）〜図１７（ｅ）及び図１８（ａ）〜図１８（ｄ）に表したように、突起９５の位置と、移動体２の進行方向Ａ１又はＡ２と、に合わせて、アーム１１〜１３の一部を折り畳むことで、アームが突起９５と接触することを回避できる。また、アーム１１〜１３の一部を折り畳んでいる間は、別のアームが第２面９２Ｓを押し付けるため、移動体２の姿勢を維持し、移動体２の落下等を防止できる。
【００８５】
望ましくは、アーム１１〜１３の一部を折り畳んでいる間、制御部５は、アーム１１〜１３の別の一部で所定の押し付け力ＦＰ１が実現されるよう、アクチュエータ３１〜３３を制御する。
【００８６】
便宜的な一例として、アーム１１〜１３が全て第２面９２Ｓに当接している場合、制御部５は、アーム１１〜１３のそれぞれの押し付け力ＦＰが、ＦＰ１／３となるように、アクチュエータ３１〜３３を制御する。アーム１１が折り畳まれ、アーム１２及び１３が第２面９２Ｓに当接している間、制御部５は、アーム１２及び１３のそれぞれの押し付け力ＦＰが、ＦＰ１／２となるように、アクチュエータ３２及び３３を制御する。
【００８７】
この制御方法によれば、いずれかのアームを折り畳んでいる間も、移動体２が十分な力で第１面９１Ｓに向けて押さえ付けられる。このため、移動体２の落下等をより確実に防止できる。
【００８８】
なお、ここでは、移動体２が３つのアームを備える場合を説明したが、移動体２が備えるアームの数は任意である。また、上述した各実施形態では、アームが１つの回動軸のみを備えた１リンク構造である場合を説明した。しかし、各実施形態に係るロボットの構造は、この例に限定されない。アームは、２つ以上のリンクを含んでいても良い。これにより、例えば、アームを本体部１０の上で折り畳んで収納した際に、アームが占める面積を小さくできる。
【００８９】
また、移動体２が複数のアームを備える場合についても、図１０〜図１２に表した方法と同様の方法により、補正式を導出することもできる。補正式は、例えば、それぞれのアームごとに導出される。制御部５は、複数のアームが第２面９２Ｓと接触する際には、それぞれのアームの角度と、それぞれの補正式と、に基づいて、各アクチュエータを制御する。
【００９０】
以上、本発明のいくつかの実施形態を例示したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更などを行うことができる。これら実施形態やその変形例は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。また、前述の各実施形態は、相互に組み合わせて実施することができる。
【符号の説明】
【００９１】
１、１ａ、２ 移動体、  ５ 制御部、  ５ａ ケーブル、  １０ 本体部、  １０ａ 車体、  １０ｂ クローラ、  １１〜１３ アーム、  １１ｂ〜１３ｂ ローラ、  ２１〜２３ 弾性部材、  ３１〜３３ アクチュエータ、  ３１ａ〜３３ａ 回転軸、  ４１〜４３ 検出器、  ５１ 検査器、  ５２ カメラ、  ５３ 計測器、  ５４ 位置検出部、  ５５ 照明器、  ９１ 第１構造物、  ９１Ｓ 第１面、  ９２ 第２構造物、  ９２Ｓ 第２面、  ９５ 突起、  １００、２００ ロボット
【図１】
2019171900.tif 000003
【図２】
2019171900.tif 000004
【図３】
2019171900.tif 000005
【図４】
2019171900.tif 000006
【図５】
2019171900.tif 000007
【図６】
2019171900.tif 000008
【図７】
2019171900.tif 000009
【図８】
2019171900.tif 000010
【図９】
2019171900.tif 000011
【図１０】
2019171900.tif 000012
【図１１】
2019171900.tif 000013
【図１２】
2019171900.tif 000014
【図１３】
2019171900.tif 000015
【図１４】
2019171900.tif 000016
【図１５】
2019171900.tif 000017
【図１６】
2019171900.tif 000018
【図１７】
2019171900.tif 000019
【図１８】
2019171900.tif 000020