JP5418029B2 - 原点位置設定装置、原点位置設定方法、リンク機構及び脚車輪型ロボット - Google Patents

原点位置設定装置、原点位置設定方法、リンク機構及び脚車輪型ロボット Download PDF

Info

Publication number
JP5418029B2
JP5418029B2 JP2009167050A JP2009167050A JP5418029B2 JP 5418029 B2 JP5418029 B2 JP 5418029B2 JP 2009167050 A JP2009167050 A JP 2009167050A JP 2009167050 A JP2009167050 A JP 2009167050A JP 5418029 B2 JP5418029 B2 JP 5418029B2
Authority
JP
Japan
Prior art keywords
detected
link
origin position
detection sensor
dog
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2009167050A
Other languages
English (en)
Other versions
JP2011020209A (ja
Inventor
和輝 飛田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NSK Ltd
Original Assignee
NSK Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NSK Ltd filed Critical NSK Ltd
Priority to JP2009167050A priority Critical patent/JP5418029B2/ja
Publication of JP2011020209A publication Critical patent/JP2011020209A/ja
Application granted granted Critical
Publication of JP5418029B2 publication Critical patent/JP5418029B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)

Description

本発明は、関節部を介して回動自在に支持されたリンクの原点位置を設定する原点位置設定装置、原点位置設定方法及び脚車輪型ロボットに関する。
例えば、多関節ロボットに用いるモータは、通常、所望のトルクを得るために減速機を取り付けて使用する。そのため、関節軸(減速機出力軸)が1回転する間に、モータの軸は複数回回転することになり、モータに取り付けられた角度検出器の出力値をそのまま関節軸の出力角度として使用できないことが多い。従って、多関節ロボットの脚部などを構成する各リンクを正常に駆動するためには、最初に、各リンクの原点位置を定める必要がある。
原点位置を決定する方法としては、例えば、特許文献1に記載のアーム位置検出方法などがある。
特許文献1のアーム位置検出方法は、アブソリュートエンコーダをアームに取付け、モータにインクリメンタルエンコーダを取付け、アームの原点位置からインクリメンタルエンコーダのゼロ点までの角度と、アームの原点位置からアブソリュートエンコーダのゼロ点までのオフセット値と、各アームが原点からモータが1回転毎にとるアームの角度とそれに対応して変化するアブソリュートエンコーダの出力の積分累積値とをテーブルにした対応テーブルを備え、該対応テーブルを用いて、制御系座標とアーム座標とを一致させアームの原点位置を決定するものである。
特開昭64−31209号公報
しかしながら、特許文献1の従来技術では、アーム位置の検出に比較的高価なアブソリュートエンコーダを用いるためコストが増加するという問題がある。
また、アブソリュートエンコーダを用いるために、パラレル出力型では配線が多くなってしまう。また、これを省配線化するためにシリアル出力するタイプでは、絶対角データのデコード、通信インターフェース等が必要となるため、装置構成が複雑になるという問題がある。
本発明は、このような従来の技術の有する未解決の課題に着目してなされたものであり、低コストで、かつ複雑な構成を要しない原点位置設定装置、原点位置設定方法、リンク機構及び脚車輪型ロボットを提供することを目的としている。
上記課題を解決するための本発明の請求項1に係る原点位置設定装置は、関節部を介して回動自在に支持されたリンクと該リンクを回動させる動力を付与するアクチュエータとを有し、前記リンクの原点位置を設定する原点位置設定装置であって、
前記リンクの回動に連動して少なくとも該リンクと同じ回動範囲を、該リンクと共に又は該リンクに対して相対的に回動し、前記リンクの原点位置の基準となる回転角度位置に設けられた第1の被検出部、及び該第1の被検出部よりも周方向に大きな幅に設定され、前記リンクの一方の回動方向の回動限界位置に設けられた第2の被検出部を少なくとも有する複数の被検出部と、回動する前記複数の被検出部を検出する位置検出センサと、前記アクチュエータを制御して、前記リンクを所定の回動パターンで回動させる回動制御手段と、前記リンクを前記所定の回動パターンで回動させたときの前記位置検出センサの検出結果に基づき前記原点位置を設定する原点位置設定手段と、を備え
前記位置検出センサを、前記リンクが支持される側の部材及び前記リンク又は該リンクと共に回動する部位のいずれか一方に設け、
前記位置検出センサが第1の被検出部を検出した後第2の被検出部を検出する向きを順方向とし、前記位置検出センサが第2の被検出部を検出した後第1の被検出部を検出する向きを逆方向とし、
前記被検出部を、前記リンクが支持される側の部材及び前記リンク若しくは該リンクと共に回動する部位のいずれか他方に設けると共に、第1の被検出部及び第2の被検出部が前記位置検出センサによって検出される形状に設け、
前記所定の回動パターンは、前記リンクを初期位置から前記順方向及び前記逆方向に回動させたときの複数の被検出部の検出範囲の寸法の違いに基づいて仮の原点位置を検出する回動パターンであり、
前記リンクの初期位置において、第1の被検出部又は第2の被検出部を前記位置検出センサが検出したか否かを判別する第1のステップと、
第1のステップにおいて、第1の被検出部又は第2の被検出部が検出された場合に、前記リンクを前記順方向へ所定の角度だけ回動させて、前記位置検出センサによって検出された被検出部が、第1の被検出部か、第2の被検出部かを判別する第2のステップと、
第2のステップにおいて、第1の被検出部が検出された場合は、前記アクチュエータを制御して、前記リンクを前記逆方向へ所定の角度だけ回動させた後、前記位置検出センサによって第1の被検出部を検出するまで前記リンクを前記順方向へ回転させ、又は、第2のステップにおいて第2の被検出部が検出された場合は、前記アクチュエータを制御して前記リンクを前記逆方向へと回動させ、前記位置検出センサによって第1の被検出部が検出された位置から前記リンクを前記逆方向へ所定の角度だけ回動させた後、前記位置検出センサによって第1の被検出部を検出するまで前記リンクを前記順方向へ回動させる第3のステップと、
前記位置検出センサによって第1の被検出部が検出されたときに、該検出位置に基づき仮の原点位置を設定する第4のステップとを含み、
前記原点位置設定手段は、第4のステップにおいて検出された仮の原点位置に基づき、前記原点位置を設定することを特徴としている。
このような構成であれば、回動制御手段がアクチュエータを制御し、リンクをその初期位置から該リンクの一方の限界回転角度方向に回動すると、これと連動して複数の被検出部がリンクと共に又はリンクに対して相対的に回動する。そして、回動させたことにより、基準回転角度位置(リンクの原点位置の基準となる回転角度位置)に該当する位置に設置された第1の被検出部が、位置検出センサによって検出される。一方、限界回転角度位置へと回動したときは、限界回転角度位置に該当する位置に設置された第2の被検出部が、位置検出センサによって検出される。原点位置設定手段は、位置検出センサにおいて被検出部が検出されると、該検出結果に基づき原点位置を設定する。
ここで、リンクに対して相対的に回動するとは、例えば、被検出部がリンクを回動する軸と同じ軸心を有し且つリンクの回動に対して静止している軸などに設けられ、リンクが回動することで、静止した被検出部の位置とリンクの位置(回転角度位置)とが相対的に変化し、被検出部がリンクの回動範囲を回動しているのと同等の動作が行われることを意味する。
また、リンク機構は、リンクが関節を介してロボットなどの基体に支持された構成、別のリンクに支持された構成(複数のリンクが関節を介して連結された構成)など、リンクが回動する構成を有したものであればどのような構成でも良い。
また、各被検出部は、例えば、リンク、静止軸の軸周り、回転軸の軸周りなどに設けられ、例えば、位置検出センサが光学式センサなどの非接触式のセンサであれば、そこから射出される検出波を遮断する形状(例えば、突設された板状)に形成される。また、例えば、位置検出センサがマイクロスイッチなどの接触式のセンサであれば、その検出部(スイッチなど)を押下する形状(例えば、突状)に形成される。
特に、基準位置及び限界位置を特定するために、複数の被検出部と1つのセンサとの組合せとしたので、消費電力を抑えることができる。この消費電力の低減は、関節数が多く、バッテリー駆動のロボットなどでは好適である。
また、第1のステップにおいて第1の被検出部又は第2の被検出部を前記位置検出センサが検出すれば、第2のステップによって、検出された被検出部が、第1の被検出部か、第2の被検出部かを判別することができ、第4のステップによって検出位置に基づき前記原点位置を設定することができる。一方、第1のステップにおいて第1の被検出部又は第2の被検出部を前記位置検出センサが検出できなかったときは、第3のステップによって、第1の被検出部又は第2の被検出部を検出可能な位置まで移動させて、第2のステップによって、検出された被検出部が、第1の被検出部か、第2の被検出部かを判別することができ、第4のステップによって検出位置に基づき前記原点位置を設定することができる。
ここで、第2のステップにおいて、検出された被検出部が、第1の被検出部か、第2の被検出部かを判別する方法は、第1の被検出部及び第2の被検出部の検出範囲を予め異ならせていることから、前記リンクを所定回転角度回動させて、再び当該被検出部が検出されるか否かで判別することができる。
ここで、所定回転角度は、被検出部が、位置検出センサの検出位置(範囲)を通り過ぎる最小の回転角度が望ましく、少なくともリンク及び被検出部が他方の限界回転角度位置又はその近傍へは到達しない角度範囲である。
上記課題を解決するための本発明の請求項2に係る原点位置設定装置は、請求項に記載の原点位置設定装置において、前記位置検出センサは、指向性を有する検出波を射出すると共に該射出した検出波に対する前記被検出部の干渉状態に基づき該被検出部を検出する非接触式のセンサであことを特徴としている。
このような構成であれば、位置検出センサは、リンクの連動に応じて該リンクと共に又は該リンクに対して相対的に回動する被検出部によって、センサから射出された検出波が遮断されることで、反射波の変化、透過の有無などによって該被検出部を検出することができる。
ここで、非接触式のセンサとしては、フォトリフレクタ、フォトインタラプタ等の光学式のセンサや、超音波センサなどが該当する。
上記課題を解決するための本発明の請求項に係る原点位置設定装置は、請求項に記載の原点位置設定装置において、前記位置検出センサは、検出部への前記被検出部の接触によって該被検出部を検出する接触式のセンサであことを特徴としている。
このような構成であれば、位置検出センサは、リンクの連動に応じて該リンクと共に又は該リンクに対して相対的に回動する被検出部が接触式の検出部に接触することで、該接触による圧力の変化、該接触によるスイッチの押下などによって被検出部を検出することができる。
ここで、接触式のセンサとしては、マイクロスイッチ、圧力センサなどが該当する。
上記課題を解決するための本発明の請求項に係る原点位置設定方法は、関節部を介して回動自在に支持されたリンクと、該リンクを回動させる動力を付与するアクチュエータと、前記リンクの回動に連動して少なくとも該リンクと同じ回動範囲を、該リンクと共に又は該リンクに対して相対的に回動し、検出範囲を異ならせた複数の被検出部と、前記リンクの原点位置の基準となる回転角度位置に設けられた第1の被検出部、及び該第1の被検出部よりも大きな幅に設定され、前記リンクの一方の回動方向の回動限界位置に設けられた第2の被検出部を検出する位置検出センサとを備えた前記リンクの原点位置を設定する原点位置設定方法であって、
前記位置検出センサが第1の被検出部を検出した後第2の被検出部を検出する向きを順方向とし、前記位置検出センサが第2の被検出部を検出した後第1の被検出部を検出する向きを逆方向とし、
前記リンクの初期位置において、第1の被検出部又は第2の被検出部を前記位置検出センサが検出したか否かを判別する第1のステップと、
第1のステップにおいて、第1の被検出部又は第2の被検出部が検出された場合に、前記リンクを前記順方向へ所定の角度だけ回動させて、前記位置検出センサによって検出された被検出部が、第1の被検出部か、第2の被検出部かを判別する第2のステップと、
第2のステップにおいて、第1の被検出部が検出された場合は、前記アクチュエータを制御して、前記リンクを前記逆方向へ所定の角度だけ回動させた後、前記位置検出センサによって第1の被検出部を検出するまで前記リンクを前記順方向へ回転させ、又は、第2のステップにおいて第2の被検出部が検出された場合は、前記アクチュエータを制御して前記リンクを前記逆方向へと回動させ、前記位置検出センサによって第1の被検出部が検出された位置から前記リンクを前記逆方向へ所定の角度だけ回動させた後、前記位置検出センサによって第1の被検出部を検出するまで前記リンクを前記順方向へ回動させる第3のステップと、
前記位置検出センサによって第1の被検出部が検出されたときに、該検出位置に基づき仮の原点位置を設定する第4のステップとを含み、第4のステップにおいて検出された仮の原点位置に基づき、前記原点位置を設定することを特徴としている。
上記課題を解決するための本発明の請求項に係るリンク機構は、関節部を介して回動自在に支持されたリンクと、該リンクを回動させる動力を付与するアクチュエータと、請求項1〜のいずれかに記載の原点位置設定装置と、を備えることを特徴としている。
このような構成であれば、上記請求項1〜のいずれかに記載の原点位置設定装置によって、リンクの原点位置を設定することができる。
上記課題を解決するための本発明の請求項に係る脚車輪型ロボットは、基体と、前記基体に対して関節を介して支持された複数の脚部と、各脚部に回転自在に設けられた車輪と、前記各脚部及び前記車輪を駆動する動力を付与するアクチュエータと、前記アクチュエータを制御する制御手段とを備え、環境に応じて前記脚部及び前記車輪の少なくとも一方を駆動することにより移動する脚車輪型ロボットであって、
前記脚部は、複数のリンクを有すると共に、該複数のリンクが関節を介して回動自在に連結された構成を有し、
請求項1〜のいずれかに記載の原点位置設定装置を備え、前記原点位置設定装置によって、前記脚部を構成する各リンクの原点位置を設定することを特徴としている。
このような構成であれば、請求項1〜のいずれかに記載の原点位置設定装置によって、脚車輪型ロボットの各脚部を構成する各リンクの原点位置を設定することができる。
以上説明したように、本発明の原点位置設定装置、リンク機構、及び脚車輪型ロボットによれば、既存のリンク機構に対して、1つの位置検出センサ及び検出範囲を異ならせた複数の被検出部を設けるだけで、リンクの原点位置を設定することができるので、従来と比較して、低コスト且つ簡単な部品構成で装置を構成することができるという効果が得られる。
また、被検出部の初期位置がどのような位置であっても(一方の限界回転角度位置又はその近傍である場合を除く)、最初に、リンクを一方の限界回転角度位置方向(第2の被検出部が検出される方向)に回動させ、更に、被検出部が必ず一定の方向から位置検出センサの検出位置へと進入するようにリンクの回動を制御するので、回動方向の違いによる原点位置の誤差が発生するのを回避することができるという効果が得られる。更に、位置検出センサの検出位置への進入方向を一定方向にする際にも、他方の限界回転角度位置方向には所定の回転角度分しか回動させないので、安全且つ確実に、被検出部を一定の方向から位置検出センサの検出位置へと進入させることができるという効果が得られる。
本発明に係る脚車輪型ロボット100の正面図である。 本発明に係る脚車輪型ロボット100の側面図である。 (a)及び(b)は、第1リンク17の回転関節14との連結部における、原点位置を設定するためのセンサの取付構成の一例を示す図である。 (a)及び(b)は、第2リンク19及び第1リンク17の連結部における、原点位置を設定するためのセンサの取付構成の一例を示す図である。 脚車輪型ロボット100の駆動制御システムを示すブロック図である。 第1ドグ及び第2ドグと、センサとの位置関係を示す概念図である。 仮原点位置設定処理を示すフローチャートである。 原点位置設定処理を示すフローチャートである。 (a)及び(b)は、検出範囲が1周期の範囲内に収まるときの同期モード及び非同期モードにおける原点位置を示す図である。 (a)及び(b)は、検出範囲が1周期の範囲内に収まらないときの半同期モード及び同期モードにおける原点位置を示す図である。 脚車輪型ロボット100の駆動制御システムを示すブロック図である。
以下、本発明の実施形態を図面に基づき説明する。図1〜図10は、本発明に係る原点位置設定装置、原点位置設定方法、リンク機構及び脚車輪型ロボットの実施形態を示す図である。
まず、図1に基づき、本発明に係る脚車輪型ロボットの概略構成を説明する。
図1は、本発明に係る脚車輪型ロボット100の正面図である。また、図2は、本発明に係る脚車輪型ロボット100の側面図である。
脚車輪型ロボット100は、図1及び図2に示すように、基体10と、基体10に連結された4つの脚部12とを有して構成されている。基体10の前方には、2本の脚部12が回転関節14を介して左右対称の位置に連結されている。また、基体10の後方には、2本の脚部12が回転関節14を介して左右対称の位置に連結されている。
回転関節14は、脚車輪型ロボット100の底面と直交する方向を軸方向として回転する。すなわち、ヨー軸回りに回転する。
各脚部12には、2つの回転関節16、18が設けられており、回転関節16を介して第1リンク17が基体10に支持された回転関節14に対して回動自在に連結され、回転関節18を介して第2リンク19が第1リンク17に対して回動自在に連結されている。回転関節14は、下方を軸方向として回転し、回転関節16、18は、回転関節14が図1の状態であるときは、脚車輪型ロボット100の側面と直交する方向を軸方向として回転する。すなわち、回転関節14が図1の状態であるときは、ピッチ軸回りに回転し、回転関節14が図1の状態から90度回転した状態であるときは、ロール軸回りに回転し、第1リンク及び第2リンクをその回転方向に回動させる。従って、脚部12は、それぞれ3自由度を有する。
各脚部12の先端には、回転関節16、18と軸方向を同一にして駆動輪20が回転自在に設けられている。
各脚部12の先端には、脚車輪型ロボット100の移動経路上に存在する物体までの距離を測定する前方脚先センサ22と、接地面までの距離を測定する下方脚先センサ24とが設けられている。
一方、基体10の正面の上部中央には、水平面レーザ光を照射する水平レーザ26が設けられている。また、基体10の正面の中央左右には、垂直面レーザ光を照射する垂直レーザ28、30がそれぞれ設けられている。
基体10の正面の下部中央には、水平面レーザ光及び垂直面レーザ光の反射光を含む画像を撮影するカメラ32が設けられている。
水平レーザ26は、カメラ32で水平面レーザ光の反射光を含む画像が撮影できるように下方に所定角度傾けて設けられている。同様に、垂直レーザ28は、カメラ32で垂直面レーザ光の反射光を含む画像が撮影できるように右方に所定角度傾けて設けられ、垂直レーザ30は、左方に所定角度傾けて設けられている。
カメラ32の左右には、障害物を検出する障害物センサ34、36がそれぞれ設けられている。障害物センサ34、36は、指向性の低い超音波測距センサを複数アレイ状に配列して構成することができる。また、指向性の高い赤外線測距センサを複数アレイ状に配列して構成することもできる。アレイ状に配列する構成に限らず、単体で構成してもよい。また、超音波測距センサまたは赤外線測距センサを複数平面上に配列したエリアセンサで構成してもよい。これにより、脚車輪型ロボット100の移動経路上に存在する障害物を大まかに検出することができる。
更に、各第1リンク17の回転関節14側の連結端には、第1リンク17の原点位置を設定するためのセンサが設けられ、各第2リンク19の第1リンク17との連結端には、第2リンク19の原点位置を設定するためのセンサが設けられている。
ここで、図3(a)及び(b)は、第1リンク17の回転関節14との連結部における、原点位置を設定するためのセンサの取付構成の一例を示す図である。また、図4(a)及び(b)は、第2リンク19及び第1リンク17の連結部における、原点位置を設定するためのセンサの取付構成の一例を示す図である。
脚車輪型ロボット100は、第1リンク17の原点位置を設定するために、各脚部12の第1リンク17の回転関節14側の連結部に、図3(a)及び(b)に示すように、複数の被検出部200として、第1ドグ201及び第2ドグ202が第1リンク17と同じ回動範囲を回動するように設けられている。すなわち、図3(b)に示すように、第1リンク17が回動すると、これと連動して第1ドグ201及び第2ドグ202が同じ回動方向へと同じ回転角度を回動する。
ここで、図3(a)及び(b)に示すように、第1リンク17に設けられた第1ドグ201及び第2ドグ202は、それぞれが所定の間隔で離間されて設置されている。
また、図3(a)及び(b)に示すように、各回転関節14側において、第1リンク17との連結部で且つ第1リンク17の基準回転角度位置(第1リンク17の原点位置の基準となる回転角度位置)へと回動した第1ドグ201と対向する位置に、第1ドグ201を検出する位置検出センサ210が設けられている。この位置検出センサ210の設置位置は、各回転関節14側において第1リンク17との連結部で且つ第1リンク17の時計回り方向の限界回転角度位置の近傍へと回動した第2ドグ202に対向する位置である。すなわち、位置検出センサ210の設置位置は、限界回転角度位置の近傍へと回動した第2ドグ202を検出する位置にも該当している。
ここで、図3(a)及び(b)に示すように、第1リンク17に設けられた第1ドグ201及び第2ドグ202は、位置検出センサ210によって検知される検知範囲が異なるように設置される。例えば、回転関節16の内周に沿って形成される第1ドグ201の検出範囲は、同様に回転関節16の内周に沿って略円弧状に形成される第2ドグ202の検出範囲よりも小さく設定される。上記の検出範囲とは、第1ドグ201及び第2ドグ202における回転関節16の内周に沿う幅寸法である。
ここで、位置検出センサ210は、フォトインタラプタであり、発光部から射出された光線を第1ドグ201又は第2ドグ202が遮断したか否かを検出することにより、該第1ドグ201又は第2ドグ202を検出する構成となっている。従って、第1ドグ201又は第2ドグ202は、位置検出センサ210と対向したときに、その発光部から射出される光線を遮断できる形状及び位置関係を有して設けられている。位置検出センサ210として、フォトインタラプタを採用した場合、第1ドグ201及び第2ドグ202は、位置検出センサ210によって検知される検知(遮断)範囲が異なるように設置される。例えば、第1ドグ201の検出(遮断)範囲は、第2ドグ202の検出(遮断)範囲よりも小さく設定される。
なお、位置検出センサ210は、フォトインタラプタに限らず、第1ドグ201及び第2ドグ202からの反射波の有無を検出するフォトリフレクタ、超音波の第1ドグ201及び第2ドグ202からの反射の有無を検出する超音波センサ、検出部への第1ドグ201及び第2ドグ202の接触の有無を検出するマイクロスイッチ、圧力センサなどを用いることも可能である。これらの場合でも、第1リンクの動きに伴って回動する第1ドグ201の検出範囲と第2ドグ202の検出範囲とが異なっている。例えば、第1ドグ201の検出範囲が、第2ドグ202の検出範囲よりも小さく設定される。
また、第2リンク19の原点位置を設定するために、各脚部12における第2リンク19の第1リンク17との連結部に、図4(a)及び(b)に示すように、第1ドグ201及び第2ドグ202が第2リンク19と同じ回動範囲を回動するように設けられている。すなわち、図4(b)に示すように、第2リンク19が回動すると、これと連動して第1ドグ201及び第2ドグ202が同じ回動方向へと同じ回動角度を回動する。
また、図4(a)及び(b)に示すように、第1リンク17の第2リンク19との連結部において、第2リンク19の基準回転角度位置(第2リンク19の原点位置の基準となる回転角度位置)へと回動した第1ドグ201と対向する位置に、第1ドグ201を検出する位置検出センサ210が設けられている。この位置検出センサ210の設置位置は、第1リンク17の第2リンク19との連結部において、第2リンク19の時計回り方向の限界回転角度位置の近傍へと回動した第2ドグ202に対向する位置である。すなわち、位置検出センサ210の設置位置は、限界回転角度位置の近傍へと回動した第2ドグ202を検出する位置にも該当している。
次に、脚車輪型ロボット100の駆動制御システムを説明する。
図5は、脚車輪型ロボット100の駆動制御システムを示すブロック図である。
各脚部12の回転関節14、16、18には、図5に示すように、回転関節14、16、18を回転駆動する関節モータ40がそれぞれ設けられている。この関節モータ40が各請求項に記載のアクチュエータに相当する。各関節モータ40には、関節モータ40の回転角度位置を検出するエンコーダ42と、モータ指令信号及びエンコーダ42の出力信号に基づいて関節モータ40の駆動を制御するドライバ44が設けられている。
本実施形態において、エンコーダ42は、インクリメンタルエンコーダであり、関節モータ40の回転に応じて、位相が90°異なるA相パルス信号及びB相パルス信号を出力すると共に、エンコーダの1回転毎にZ相(原点相)のパルス信号(以下、Z相パルス信号と称す)を出力する。更に、A相及びB相のパルス信号を4逓倍カウントするパルスカウンタを内蔵しており、4逓倍カウントパルス信号によって回転角度位置を検出する。
また、関節モータ40の出力軸には減速機(図示せず)が設けられており、所定の減速比でモータ40の回転速度を減速して、該減速されたモータの回転力(トルク)を回転関節14、16、18の各回転軸に伝えることで所望のトルクを得るようにしている。
各脚部12の車輪20の回転軸には、該車輪20を回転駆動する車輪モータ50がそれぞれ接続されている。この車輪モータ50が各請求項に記載のアクチュエータに相当する。各車輪モータ50には、車輪モータ50の回転角度位置を検出するエンコーダ52と、モータ指令信号及びエンコーダ52の出力信号に基づいて車輪モータ50の駆動を制御するドライバ54が設けられている。
脚車輪型ロボット100は、更に、CPU60と、脚車輪型ロボット100の姿勢を検出する3軸姿勢センサ70と、カメラ32の画像信号を処理するビジョンプロセッサ72と、外部のPC等と無線通信を行う無線通信部74と、ビジョンプロセッサ72及び無線通信部74とCPU60の入出力を中継するハブ76と、警告音等を出力するスピーカ78とを有して構成される。
3軸姿勢センサ70は、ジャイロ若しくは加速度センサ、またはその両方を有し、地軸に対して脚車輪型ロボット100の姿勢の傾きを検出する。
CPU60は、モータ指令出力I/F61を介してドライバ44、54にモータ指令信号を出力し、角度取込I/F62を介してエンコーダ42、52の出力信号を入力する。また、センサ入力I/F63を介して、前方脚先センサ22、下方脚先センサ24、障害物センサ34、3軸姿勢センサ70、位置検出センサ210からそれぞれセンサ信号を入力する。また、通信I/F64を介してハブ76と信号の入出力を行い、サウンド出力I/F65を介してスピーカ78に音声信号を出力する。
次に、CPU60で実行される処理を説明する。
CPU60は、ROM等の所定領域に格納されている制御プログラムを起動させ、その制御プログラムに従って、仮原点位置検出処理、原点位置設定処理、車輪走行制御処理、昇降制御処理などを実行する。
[仮原点位置検出処理]
仮原点位置検出処理は、脚車輪型ロボット100の各脚部12を構成するリンクの原点位置を設定するための処理であって、位置検出センサ210の検出結果に基づき、各脚部12の第1リンク17及び第2リンク19の仮の原点位置を検出する処理である。
[原点位置設定処理]
また、原点位置設定処理は、モータのバッククラッシュ、センサのバラツキ、制御のバラツキなどによる仮の原点位置のバラツキを補正し、該補正後の位置をリンクの原点位置として設定する処理である。具体的に、仮原点位置検出処理で検出された仮の原点位置と、仮の原点位置の検出範囲(バラツキの幅)と、エンコーダの発生する各種パルス信号とに基づき、仮の原点位置のバラツキを補正する。
なお、仮原点位置検出処理及び原点位置設定処理は、脚車輪型ロボット100の電源が投入される毎に実行するようにしても良いし、一度設定した原点位置を記憶保持しておき、初期の電源投入時以外は行わないようにしても良いし、センサなどの経年劣化等を考慮して、定期的に実行するようにしても良い。ここで、原点位置の情報を記憶保持する場合には、脚車輪型ロボット100を、データの書き換えが可能で且つ電源の供給無しでもデータを保持できるフラッシュメモリ等の記憶媒体を備えた構成とする。
また、不慮の事故などで原点位置の情報が消えてしまったり、壊れてしまったりした場合には、情報の有無や破壊の有無を自動で検知して仮原点位置検出処理及び原点位置設定処理を実行させるか、または、別途設定指令を発行して、これらの処理を実行させるようにする。
[車輪走行制御処理]
また、車輪走行制御処理は、車輪20を用いた移動を制御する処理であり、昇降制御処理は、脚部12を用いて段差等の障害物を昇降する移動を制御する処理である。なお、本発明は、脚部12を構成する各リンクの原点位置を設定する処理に特徴があり、また、車輪走行制御処理及び昇降制御処理については従来の脚車輪型ロボットと同様となるので、これらの処理については説明を省略する。
まず、図6及び図7に基づき、仮原点位置検出処理を説明する。
図6は、第1ドグ及び第2ドグと、位置検出センサとの位置関係を示す概念図である。また、図7は、仮原点位置検出処理を示すフローチャートである。なお、図6では、説明の理解を助けるために、第1ドグ及び第2ドグと、位置検出センサとの位置関係を直線運動で示している。また、図7のフローチャートは、1つのリンクに対する仮の原点位置を検出する処理を示すものであり、実際は同様の処理を全てのリンクに対して行うことになる。
CPU60において仮原点位置検出処理が実行されると、まず、図7に示すように、ステップS100に移行する。
ステップS100では、CPU60において、センサ入力I/F63を介して入力される位置検出センサ210のセンサ出力信号に基づき、第1ドグ201及び第2ドグ202のいずれかが検出されたか否かを判定する。第1ドグ201及び第2ドグ202のいずれかが検出されたと判定された場合(Yes)は、第1ドグ201及び第2ドグ202と、位置検出センサ210との位置関係は、図6(b),(e),(f)で示されるとおりであり、ステップS102に移行する。一方、第1ドグ201及び第2ドグ202のいずれかが検出されなかった場合(No)は、第1ドグ201及び第2ドグ202と、位置検出センサ210との位置関係は、図6(a),(c),(d)で示されるとおりであり、ステップS126に移行する。
ステップS102に移行した場合は、CPU60において、モータ指令出力I/F61を介して、該当するリンクの関節モータ40のドライバ44に対して指令を与えて関節モータ40を駆動し、該リンクを、その初期位置から基準回転角度位置の方向(図3及び図4における時計回り方向、以下、順方向と呼ぶ。)に所定の回転角度分回動させて、ステップS104に移行する。この所定の回転角度は、第1ドグ201が位置検出センサ210の検出範囲外に出るまでの角度である。この工程は、初期状態で、位置検出センサ210が第1ドグ201又は第2ドグ202を検出していることから、該リンクを回動させて検出対象が第1ドグ201か、第2ドグ202かを判別する工程である。
ステップS104では、CPU60において、センサ入力I/F63を介して入力される位置検出センサ210のセンサ出力信号に基づき、該当するリンクの位置検出センサ210によって、第1ドグ201及び第2ドグ202のいずれかが検出されたかを判定する。そして、所定の回転角度は上記のように設定されていることから、ステップ104で検出されたと判定した場合(Yes)は、第1ドグ201及び第2ドグ202と位置検出センサ210との位置関係は、図6(f)に示すとおりであり、位置検出センサ210が第2ドグ202を検出したことを意味し、ステップS106に移行する。また、ステップ104で検出されないと判定した場合(No)は、第1ドグ201及び第2ドグ202と位置検出センサ210との位置関係は、図6(c)に示すとおりであり、位置検出センサ210が第1ドグ201を検出したことを意味し、ステップS140に移行する。
ステップS106に移行した場合は、CPU60において、モータ指令出力I/F61を介して、該当するリンクの関節モータ40のドライバ44に対して指令を与えて関節モータ40を駆動し、該リンクを、逆方向(図3及び図4における反時計回り方向)に回動させて、ステップS108に移行する。
ステップS108では、CPU60において、センサ入力I/F63を介して入力される位置検出センサ210のセンサ出力信号に基づき、該当するリンクの位置検出センサ210によって、第1ドグ201又は第2ドグ202が検出されたか否かを判定し、検出されないと判定した場合(Yes)は、ステップS110に移行し、そうでない場合(No)は、ステップS106を繰り返す。すなわち、位置検出センサ210によって、第2ドグ202が検出されなくなるまでステップ106を繰り返す。その結果、第1ドグ201及び第2ドグ202と位置検出センサ210との位置関係は、図6(d)に示すとおりとなる。
ステップS110では、CPU60において、モータ指令出力I/F61を介して、該当するリンクの関節モータ40のドライバ44に対して指令を与えて関節モータ40を駆動し、該リンクを、逆方向に回動させて、ステップS112に移行する。
ステップS112では、CPU60において、センサ入力I/F63を介して入力される位置検出センサ210のセンサ出力信号に基づき、該当するリンクの位置検出センサ210によって、第1ドグ201又は第2ドグ202が検出されたか否かを判定し、検出されたと判定した場合(Yes)は、ステップS114に移行し、そうでない場合(No)は、ステップS110を繰り返す。すなわち、位置検出センサ210によって、第1ドグ201が検出されるまでステップ110を繰り返す。その結果、第1ドグ201及び第2ドグ202と位置検出センサ210との位置関係は、図6(b)に示すとおりとなる。
ステップS114では、CPU60において、モータ指令出力I/F61を介して、該当するリンクの関節モータ40のドライバ44に対して指令を与えて関節モータ40を駆動し、該リンクを、逆方向に回動させて、ステップS116に移行する。
ステップS116では、CPU60において、センサ入力I/F63を介して入力される位置検出センサ210のセンサ出力信号に基づき、該当するリンクの位置検出センサ210によって、第1ドグ201又は第2ドグ202が検出されたか否かを判定し、検出されないと判定した場合(Yes)は、ステップS118に移行し、そうでない場合(No)は、ステップS114を繰り返す。すなわち、位置検出センサ210によって、第1ドグ201が検出されなくなるまでステップ114を繰り返す。その結果、第1ドグ201及び第2ドグ202と位置検出センサ210との位置関係は、図6(a)に示すとおりとなる。
ステップS118に移行した場合は、CPU60において、モータ指令出力I/F61を介して、該当するリンクの関節モータ40のドライバ44に対して指令を与えて関節モータ40を駆動し、該リンクを、逆方向に所定の回転角度分回動させて、ステップS120に移行する。
ステップS120では、CPU60において、モータ指令出力I/F61を介して、該当するリンクの関節モータ40のドライバ44に対して指令を与えて関節モータ40を駆動し、該リンクを、順方向に回動させて、ステップS122に移行する。
ステップS122では、CPU60において、センサ入力I/F63を介して入力される位置検出センサ210のセンサ出力信号に基づき、該当するリンクの位置検出センサ210によって、第1ドグ201又は第2ドグ202が検出されたか否かを判定し、検出されたと判定した場合(Yes)は、ステップS124に移行し、そうでない場合(No)は、ステップS120を繰り返す。すなわち、位置検出センサ210によって、第1ドグ201が検出されるまでステップ120を繰り返す。その結果、第1ドグ201及び第2ドグ202と位置検出センサ210との位置関係は、図6(b)に示すとおりとなる。
ステップS124に移行した場合は、CPU60において、ステップS110で第1ドグ201が検出された位置を、仮の原点位置として検出し、該仮の原点位置の情報を、RAM(図示せず)に記憶すると共に、後述する検出範囲の算出用に、フラッシュメモリ(図示せず)に記憶して、一連の処理を終了し元の処理に復帰させる。ここで、本実施形態においては、仮の原点位置に対して、該原点位置を検出後に(センサ出力信号の立上がりに対して)最初にエンコーダ42の発生する、カウントパルス信号、Z相パルス信号、該Z相パルス信号の検出後の最初のカウントパルス信号の各位置情報についてもRAMに記憶する。
一方、ステップ100において、第1ドグ201又は第2ドグ202が検出されず、ステップS126に移行した場合は、CPU60において、モータ指令出力I/F61を介して、該当するリンクの関節モータ40のドライバ44に対して指令を与えて関節モータ40を駆動し、該リンクを、順方向に回動させて、ステップS128に移行する。その結果、初期状態において第1ドグ201及び第2ドグ202と位置検出センサ210との位置関係が図6(a)に示す状態であった場合、ステップ126によって図6(b)に示すとおりとなる。また、初期状態において第1ドグ201及び第2ドグ202と位置検出センサ210との位置関係が、図6(c)又は(d)に示す状態であった場合、ステップ126によって図6(e)に示すとおりとなる。
ステップS128では、CPU60において、センサ入力I/F63を介して入力される位置検出センサ210のセンサ出力信号に基づき、該当するリンクの位置検出センサ210によって、第1ドグ201又は第2ドグ202が検出されたか否かを判定し、検出されたと判定した場合(Yes)は、ステップS130に移行し、そうでない場合(No)は、ステップS126を繰り返す。すなわち、位置検出センサ210によって、第1ドグ201又は第2ドグ202が検出されるまでステップ126を繰り返す。
ステップS132に移行した場合は、CPU60において、モータ指令出力I/F61を介して、該当するリンクの関節モータ40のドライバ44に対して指令を与えて関節モータ40を駆動し、該リンクを、順方向に所定の回転角度分回動させて、ステップS134に移行する。この工程は、ステップ128で位置検出センサ210が検出した対象が第1ドグ201か、第2ドグ202かによって初期状態において第1ドグ201及び第2ドグ202と位置検出センサ210との位置関係が、図6(a)に示すとおりか、図6(c)又は(d)に示すとおりかを判別する工程である。
ステップS134では、CPU60において、センサ入力I/F63を介して入力される位置検出センサ210のセンサ出力信号に基づき、該当するリンクの位置検出センサ210によって、第1ドグ201及び第2ドグ202のいずれかが検出されたかを判定する。そして、所定の回転角度は上記のように設定されていることから、ステップ134で検出されたと判定した場合(Yes)は、第1ドグ201及び第2ドグ202と位置検出センサ210との位置関係は、図6(c)に示すとおりであり、位置検出センサ210が第1ドグ201を検出したことを意味し、ステップS136に移行する。また、ステップ134で検出されないと判定した場合(No)は、第1ドグ201及び第2ドグ202と位置検出センサ210との位置関係は、図6(f)に示すとおりであり、位置検出センサ210が第2ドグ202を検出したことを意味し、前述のステップS106に移行する。
ステップS136に移行した場合は、CPU60において、モータ指令出力I/F61を介して、該当するリンクの関節モータ40のドライバ44に対して指令を与えて関節モータ40を駆動し、該リンクを、逆方向に回動させて、ステップS138に移行する。
ステップS138では、CPU60において、センサ入力I/F63を介して入力される位置検出センサ210のセンサ出力信号に基づき、該当するリンクの位置検出センサ210によって、第1ドグ201又は第2ドグ202が検出されたか否かを判定し、検出されたと判定した場合(Yes)は、一連の処理を終了し元の処理に復帰させ、そうでない場合(No)は、ステップS136を繰り返す。すなわち、位置検出センサ210によって、第1ドグ201が検出されるまでステップS136を繰り返す。その結果、第1ドグ201及び第2ドグ202と位置検出センサ210との位置関係は、図6(b)に示すとおりとなる。
ステップS136に移行した場合は、CPU60において、ステップS138で第1ドグ201が検出された位置を、仮の原点位置として検出し、該仮の原点位置の情報を、RAM(図示せず)に記憶すると共に、後述する検出範囲の算出用に、フラッシュメモリ(図示せず)に記憶して、一連の処理を終了し元の処理に復帰させる。ここで、本実施形態においては、仮の原点位置に対して、該原点位置を検出後に(センサ出力信号の立上がりに対して)最初にエンコーダ42の発生する、カウントパルス信号、Z相パルス信号、該Z相パルス信号の検出後の最初のカウントパルス信号の各位置情報についてもRAMに記憶する。
他方、ステップ104において、第1ドグ201又は第2ドグ202が検出されず、ステップS140に移行した場合は、CPU60において、モータ指令出力I/F61を介して、該当するリンクの関節モータ40のドライバ44に対して指令を与えて関節モータ40を駆動し、該リンクを、逆方向に所定の回転角度分回動させて、ステップS142に移行する。その結果、第1ドグ201及び第2ドグ202と位置検出センサ210との位置関係は、図6(a)に示すとおりとなる。
ステップS142に移行した場合は、CPU60において、モータ指令出力I/F61を介して、該当するリンクの関節モータ40のドライバ44に対して指令を与えて関節モータ40を駆動し、該リンクを、順方向に回動させて、ステップS144に移行する。
ステップS144では、CPU60において、センサ入力I/F63を介して入力される位置検出センサ210のセンサ出力信号に基づき、該当するリンクの位置検出センサ210によって、第1ドグ201又は第2ドグ202が検出されたか否かを判定し、検出されたと判定した場合(Yes)は、ステップS146に移行し、そうでない場合(No)は、ステップS144を繰り返す。すなわち、位置検出センサ210によって、第1ドグ201が検出されるまでステップ144を繰り返す。その結果、第1ドグ201及び第2ドグ202と位置検出センサ210との位置関係は、図6(b)に示すとおりとなる。
ステップS146に移行した場合は、CPU60において、ステップS144で第1ドグ201が検出された位置を、仮の原点位置として検出し、該仮の原点位置の情報を、RAM(図示せず)に記憶すると共に、後述する検出範囲の算出用に、フラッシュメモリ(図示せず)に記憶して、一連の処理を終了し元の処理に復帰させる。ここで、本実施形態においては、仮の原点位置に対して、該原点位置を検出後に(センサ出力信号の立上がりに対して)最初にエンコーダ42の発生する、カウントパルス信号、Z相パルス信号、該Z相パルス信号の検出後の最初のカウントパルス信号の各位置情報についてもRAMに記憶する。
次に、図8に基づき、原点位置設定処理を説明する。
図8は、原点位置設定処理を示すフローチャートである。なお、図8のフローチャートは、1つのリンクに対する仮の原点位置を検出する処理を示すものであり、実際は同様の処理を全てのリンクに対して行うことになる。
CPU60において原点位置設定処理が実行されると、まず、図8に示すように、ステップS200に移行する。
ステップS200では、CPU60において、フラッシュメモリ(図示せず)から、仮の原点位置の検出範囲の情報を読み出し、ステップS202に移行する。
本実施形態において、仮の原点位置の検出範囲については、原点位置設定処理の前に、上記仮原点位置検出処理を複数回行った結果を用いて算出し、RAMやフラッシュメモリなどに記憶保持しておく。具体的には、リンク毎に複数回検出された仮の原点位置(回転角度)のうち、最小値と最大値との差分値を算出する。この差分値が、仮の原点位置のバラツキの範囲である検出範囲となる。
ステップS202では、CPU60において、フラッシュメモリ(図示せず)から、エンコーダ42の4逓倍カウントパルス信号のパルスの情報(1周期のパルスに対応する回転角度幅(分解能))を読み出し、ステップS204に移行する。なお、このパルスの情報も、予めフラッシュメモリ(図示せず)に記憶保持しておく。
ステップS204では、CPU60において、ステップS200で読み出した検出範囲と、ステップS202で読み出したパルスの情報とを比較して、ステップS206に移行する。
ステップS206では、CPU60において、ステップS204の比較結果から、検出範囲(バラツキの幅)が、4逓倍カウントパルス信号の1周期のパルスに対応する回転角度幅の範囲内に収まっているか否かを判定し、且つ、仮の原点位置の情報の最小値、最大値ともカウントパルスの立ち上がりと次のパルスの立ち上がりとの間に存在するか否かを判定し、範囲内に収まると判定され且つ間に存在すると判定された(条件を満たしている)場合(Yes)は、ステップS208に移行し、そうでない場合(No)は、ステップS214に移行する。
ステップS208に移行した場合は、CPU60において、同期モードが設定されているか否かを判定し、設定されていると判定された場合(Yes)は、ステップS210に移行し、そうでない場合(No)は、ステップS212に移行する。ここで、同期モードとは、4逓倍カウントパルス信号と同期して原点位置を設定するモードである。この他にも、半同期モード及び非同期モードがある。半同期モードでは、エンコーダ42のZ相パルス信号と同期して原点位置を設定する。また、非同期モードでは、逓倍カウントパルス信号及びZ相パルス信号とは非同期に原点位置を設定する。本実施形態においては、これらのモードを、例えば、外部のPC等を介して、ユーザが予め設定することができるようになっている。
ステップS210に移行した場合は、CPU60において、RAMに記憶された、仮の原点位置を特定するセンサ出力信号(立上がり)の検出後に、最初にエンコーダ42の発生する4逓倍カウントパルス信号の立上がり位置で特定される回転角度位置を、該当するリンクの原点位置として設定して、一連の処理を終了し元の処理に復帰させる。
一方、ステップS208において、非同期モードが設定されており、ステップS212に移行した場合は、CPU60において、RAMに記憶された、仮の原点位置を、該当するリンクの原点位置として設定して、一連の処理を終了し元の処理に復帰させる。
また、ステップS206において、検出範囲が、4逓倍カウントパルス信号の1周期の回転角度範囲に収まってなく、ステップS214に移行した場合は、CPU60において、半同期モードが設定されているか否かを判定し、設定されていると判定した場合(Yes)は、ステップS216に移行し、そうでない場合(No)は、ステップS218に移行する。
ステップS216に移行した場合は、CPU60において、RAMに記憶された、仮の原点位置を特定するセンサ出力信号(立上がり)の検出後における、最初にエンコーダ42の発生するZ相パルス信号の検出後で、且つ最初にエンコーダ42の発生する4逓倍カウントパルス信号の立上がり位置で特定される回転角度位置を、該当するリンクの原点位置として設定して、一連の処理を終了し元の処理に復帰させる。
一方、ステップS218に移行した場合は、CPU60において、RAMに記憶された、仮の原点位置を特定するセンサ出力信号(立上がり)の検出後に、最初にエンコーダ42の発生するZ相パルス信号の立上がり位置で特定される回転角度位置を、該当するリンクの原点位置として設定して、一連の処理を終了し元の処理に復帰させる。
ここで、図9(a)及び(b)は、検出範囲が1周期の範囲内に収まるときの同期モード及び非同期モードにおける原点位置を示す図である。また、図10(a)及び(b)は、検出範囲が1周期の範囲内に収まらないときの半同期モード及び同期モードにおける原点位置を示す図である。
このようにして仮の原点位置が検出されると、CPU60は、次に、原点位置設定処理を実行する。原点位置設定処理が実行されると、上記算出した検出範囲の情報をRAMから読み出すと共に(ステップS200)、エンコーダ42の4逓倍カウントパルスのパルスの情報をROM又はフラッシュメモリから読み出す(ステップS202)。次に、CPU60は、読み出した検出範囲(回転角度幅)とパルスの情報(パルスの1周期に対する回転角度幅)とを比較する(ステップS204)。
例えば、検出範囲が0.5[°]で、パルス周期が1.0[°]である場合は、検出範囲はパルスの1周期の角度範囲内に収まっているので、これに加えて、仮の原点位置の情報の最小値、最大値とも、カウントパルスの立ち上がりと次のカウントパルスの立ち上がりとの間に存在することが満たされれば(ステップS206の「Yes」の分岐)、CPU60は、次に、非同期モード及び同期モードのうち設定されたモードに応じて仮の原点位置を補正し、該補正した位置を該当する第2リンク19の原点位置として設定する。
非同期モードが設定されている場合(ステップS208の「No」の分岐)は、図9(a)に示すように、位置検出センサ210の検出位置(立上がり位置)によって特定される回転角度位置を、原点位置として設定する。つまり、検出範囲がエンコーダの分解能の範囲内である場合は、仮の原点位置のバラツキが無視できる大きさであるため、センサ出力信号によって特定される回転角度位置をそのまま原点位置として設定する(ステップS212)。つまり、この場合は無補正となる。
一方、同期モードが設定されている場合(ステップS208の「Yes」の分岐)は、図9(b)に示すように、仮の原点位置を示すセンサ出力信号の立上がり後、最初の4逓倍カウントパルス信号の立上がり位置によって特定される回転角度位置を、該当する第2リンク19の原点位置として設定する。つまり、検出範囲がエンコーダの分解能の範囲内である場合は、仮の原点位置のバラツキが無視できる大きさであるため、仮の原点位置を、4逓倍カウントパルス信号に同期させた位置に補正し、該補正した位置を原点位置として設定する(ステップS210)。
また、例えば、検出範囲が1.5[°]で、パルス周期が1.0[°]である場合は、検出範囲はパルスの1周期の角度範囲内に収まっていないので(ステップS206の「No」の分岐)、半同期モード及び同期モードのうち設定されたモードに応じて仮の原点位置を補正し、該補正した位置を該当する第2リンク19の原点位置として設定する。
同期モードが設定されている場合(ステップS214の「No」の分岐)は、図10(a)に示すように、仮の原点位置を示すセンサ出力信号の立上がり後、最初のZ相パルス信号の立上がり位置によって特定される回転角度位置を、該当する第2リンク19の原点位置として設定する。つまり、検出範囲がエンコーダの分解能の範囲内に収まっていない場合は、仮の原点位置のバラツキが無視できない大きさのため、仮の原点位置を、Z相パルス信号に同期させた位置に補正し、該補正した位置を該当する第2リンク19の原点位置として設定する(ステップS218)。
一方、半同期モードが設定されている場合(ステップS214の「Yes」の分岐)は、図10(b)に示すように、仮の原点位置を示すセンサ出力信号の立上がり後の最初のZ相パルス信号の立上がり後で、且つ最初の4逓倍カウントパルス信号の立上がり位置によって特定される回転角度位置を、該当する第2リンク19の原点位置として設定する。つまり、検出範囲がエンコーダの分解能の範囲内に収まっていない場合は、仮の原点位置のバラツキが無視できない大きさのため、仮の原点位置を、Z相パルス信号の立上がり後における、4逓倍カウントパルス信号に同期させた位置に補正し、該補正した位置を該当する第2リンク19の原点位置として設定する(ステップS216)。
本実施形態において、上記した仮の原点位置の補正処理は、予めRAMに記憶されている上記各モードに対応した回転角度位置情報を用いて行う。つまり、RAMには、各モードに対応した補正後の回転角度位置の情報が記憶されているので、モードに応じた回転角度位置を選択して、該選択した回転角度位置を原点位置として設定する。
上記の仮原点位置検出処理及び原点位置設定処理を、脚車輪型ロボット100の各脚部12の第1リンク17及び第2リンク19に対して行うことで、各リンクの原点位置の設定が完了する。
以上、本実施形態の脚車輪型ロボット100は、回転関節16、18を介して回動自在に連結された第1リンク17及び第2リンク19の連結部に第1ドグ201及び第2ドグ202を、これらリンクと同じ回動範囲を回動するように設けた構成を有する。更に、回転関節14側の第1リンク17との連結部及び第1リンク17の第2リンク19との連結部に、基準回転角度位置に回動した第1ドグ201、及び限界回転角度位置の近傍に回動した第2ドグ202を検出する位置検出センサ210を設けた構成を有する。
以上により、各リンクに対して、1つのセンサ及び複数の検出範囲が異なるドグ(被検出部)を設けた簡単な構成で安全に仮の原点位置を検出することができる。
更に、本実施形態の脚車輪型ロボット100は、仮の原点位置を検出後に、該仮の原点位置の検出範囲、エンコーダ42の4逓倍カウントパルス信号の1周期のパルスの情報、及びエンコーダ42の発生する各種パルス信号に基づき、仮の原点位置を補正し、該補正後の位置を原点位置として設定することが可能である。
これにより、モータのバッククラッシュ、センサのバラツキ、制御のバラツキなどによる仮の原点位置のバラツキを補正することができるので、安定した原点位置の設定を行うことができる。
また、本実施形態の脚車輪型ロボット100は、過去に行われた複数回の仮原点位置検出処理の検出結果を用いて、仮の原点位置の検出範囲を算出することが可能である。
これにより、過去の最新の検出結果の反映された検出範囲に基づき、原点位置設定処理を実行することができるので、適切な原点位置の設定を行うことができる。また、検出範囲の算出を行うことができるので、複数回分の新たな仮の原点位置の検出結果を用いて、定期的に検出範囲を更新することで、センサや制御系の経年劣化に対応することができる。
なお、上記実施形態においては、検出範囲を異ならせた複数の被検出部のうち、第1ドグ201の検出範囲を第2ドグ202の検出範囲よりも小さくしたが、第1ドグ201の検出範囲を第2ドグ202の検出範囲よりも大きくしてもよい。この場合、複数の被検出部から第1ドグ201を特定するために、図7におけるステップS104及びステップS132の判別(Yes,No)を逆にすればよい。
また、上記実施形態においては、第1リンク17の回転関節14との連結部に設け、位置検出センサ210を回転関節14側の第1リンク17との連結部に設ける構成としたが、これに限らず、第1ドグ201及び第2ドグ202を回転関節14側の第1リンク17との連結部に設け、位置検出センサ210を第1リンク17の回転関節14との連結部に設ける構成としても良い。この場合は、第1リンク17の回動位置(回転角度)と、静止した状態の第1ドグ201及び第2ドグ202の位置とが相対的に変化し、第1ドグ201及び第2ドグ202が第1リンク17の回動範囲を回動しているのと同等の動作が行われるように、第1ドグ201及び第2ドグ202を適切な位置に設ける必要がある。例えば、第1ドグ201を、第1リンク17の基準回転角度位置に設ける。
また、上記実施形態においては、第2リンク19の仮原点位置を検出するために、第1ドグ201及び第2ドグ202を第2リンク19の第1リンク17との連結部に設け、位置検出センサ210を第1リンク17の第2リンク19との連結部に設ける構成としたが、これに限らず、第1ドグ201及び第2ドグ202を第1リンク17の第2リンク19との連結部に設け、位置検出センサ210を第2リンク19の第1リンク17との連結部に設ける構成としても良い。この場合は、第2リンク19の回動位置(回転角度)と、静止した状態の第1ドグ201及び第2ドグ202の位置とが相対的に変化し、第1ドグ201及び第2ドグ202が第2リンク19の回動範囲を回動しているのと同等の動作が行われるように、第1ドグ201及び第2ドグ202を適切な位置に設ける必要がある。例えば、第1ドグ201を、第2リンク19の基準回転角度位置に設ける。
また、上記実施形態においては、エンコーダ42を、4逓倍カウントでカウントするパルスカウンタを有する構成としたが、これに限らず、逓倍なし、2逓倍、8逓倍など他のカウント方法でカウントするパルスカウンタを有する構成としても良い。
また、上記実施形態においては、仮の原点位置を検出する際に、第1ドグ201及び第2ドグ202の位置検出センサ210の検出位置への進入方向を揃える構成としたが、これに限らず、進入方向に関係なく、位置検出センサ210の検出結果を仮の原点位置として検出する構成としても良い。
また、上記実施形態においては、第1ドグ201及び第2ドグ202と、位置検出センサ210とを、第1リンク17及び第2リンク19の関節部を構成する側の端部で且つその外側表面に取り付ける構成としたが、これに限らず、例えば、内側の表面に取り付ける構成や、第1リンク17を駆動する回転関節16の回転軸及びその軸受のいずれか一方に、第1ドグ201及び第2ドグ202又は位置検出センサ210のいずれか一方を取付け、回転軸及び軸受のいずれか他方に、第1ドグ201及び第2ドグ202又は位置検出センサ210のいずれか一方を取付ける構成など、他の構成としても良い。
また、上記本実施形態においては、複数の被検出部(例えば、第1ドグ201及び第2ドグ202)と、位置検出センサ210とが回動する構成を示したが、これらが直動運動する構成に適用してもよい。
また、本発明に係る移動制御システムにおいては、図11に示すように、分散コントローラを用いて制御を行ってもよい。具体的には、図5におけるモータ指令出力I/F61、角度取込I/F62、センサ入力I/F63をCAN(Controller Area Network)通信I/F66に替えて、該CAN通信I/F66と、ドライバ44,54、脚先センサ22,24、障害物センサ34、エンコーダ42,52、3軸姿勢センサ70、及び位置検出センサ210との間に分散コントローラ46,56,67,68を設けている。このような構成とすることによって、「仮原点位置検出処理」及び「原点位置設定処理」を分散コントローラ46,56,67,68に行わせるので、メインのCPU60の負荷を軽減させることができる。分散コントローラによる制御については、特開2009−6467号公報に詳細な記載があるので、当該公報に記載された技術を採用すればよい。
100 脚車輪型ロボット
201 第1ドグ
202 第2ドグ
210 位置検出センサ
10 基体
12 脚部
14、16、18 回転関節
17 第1リンク
19 第2リンク
20 車輪
22、24 脚先センサ
26 水平レーザ
28、30 垂直レーザ
32 カメラ
34、36 障害物センサ
40 関節モータ
50 車輪モータ
42、52 エンコーダ
44、54 ドライバ
60 CPU
62 角度取込I/F
64 通信I/F
70 3軸姿勢センサ
76 ハブ

Claims (6)

  1. 関節部を介して回動自在に支持されたリンクと該リンクを回動させる動力を付与するアクチュエータとを有し、前記リンクの原点位置を設定する原点位置設定装置であって、
    前記リンクの回動に連動して少なくとも該リンクと同じ回動範囲を、該リンクと共に又は該リンクに対して相対的に回動し、前記リンクの原点位置の基準となる回転角度位置に設けられた第1の被検出部、及び該第1の被検出部よりも周方向に大きな幅に設定され、前記リンクの一方の回動方向の回動限界位置に設けられた第2の被検出部を少なくとも有する複数の被検出部と、回動する前記複数の被検出部を検出する位置検出センサと、前記アクチュエータを制御して、前記リンクを所定の回動パターンで回動させる回動制御手段と、前記リンクを前記所定の回動パターンで回動させたときの前記位置検出センサの検出結果に基づき前記原点位置を設定する原点位置設定手段と、を備え
    前記位置検出センサを、前記リンクが支持される側の部材及び前記リンク又は該リンクと共に回動する部位のいずれか一方に設け、
    前記位置検出センサが第1の被検出部を検出した後第2の被検出部を検出する向きを順方向とし、前記位置検出センサが第2の被検出部を検出した後第1の被検出部を検出する向きを逆方向とし、
    前記被検出部を、前記リンクが支持される側の部材及び前記リンク若しくは該リンクと共に回動する部位のいずれか他方に設けると共に、第1の被検出部及び第2の被検出部が前記位置検出センサによって検出される形状に設け、
    前記所定の回動パターンは、前記リンクを初期位置から前記順方向及び前記逆方向に回動させたときの複数の被検出部の検出範囲の寸法の違いに基づいて仮の原点位置を検出する回動パターンであり、
    前記リンクの初期位置において、第1の被検出部又は第2の被検出部を前記位置検出センサが検出したか否かを判別する第1のステップと、
    第1のステップにおいて、第1の被検出部又は第2の被検出部が検出された場合に、前記リンクを前記順方向へ所定の角度だけ回動させて、前記位置検出センサによって検出された被検出部が、第1の被検出部か、第2の被検出部かを判別する第2のステップと、
    第2のステップにおいて、第1の被検出部が検出された場合は、前記アクチュエータを制御して、前記リンクを前記逆方向へ所定の角度だけ回動させた後、前記位置検出センサによって第1の被検出部を検出するまで前記リンクを前記順方向へ回転させ、又は、第2のステップにおいて第2の被検出部が検出された場合は、前記アクチュエータを制御して前記リンクを前記逆方向へと回動させ、前記位置検出センサによって第1の被検出部が検出された位置から前記リンクを前記逆方向へ所定の角度だけ回動させた後、前記位置検出センサによって第1の被検出部を検出するまで前記リンクを前記順方向へ回動させる第3のステップと、
    前記位置検出センサによって第1の被検出部が検出されたときに、該検出位置に基づき仮の原点位置を設定する第4のステップとを含み、
    前記原点位置設定手段は、第4のステップにおいて検出された仮の原点位置に基づき、前記原点位置を設定することを特徴とする原点位置設定装置。
  2. 前記位置検出センサは、指向性を有する検出波を射出すると共に該射出した検出波に対する前記被検出部の干渉状態に基づき該被検出部を検出する非接触式のセンサであることを特徴とする請求項1に記載の原点位置設定装置。
  3. 前記位置検出センサは、検出部への前記被検出部の接触によって該被検出部を検出する接触式のセンサであることを特徴とする請求項1に記載の原点位置設定装置。
  4. 関節部を介して回動自在に支持されたリンクと、該リンクを回動させる動力を付与するアクチュエータと、前記リンクの回動に連動して少なくとも該リンクと同じ回動範囲を、該リンクと共に又は該リンクに対して相対的に回動し、検出範囲を異ならせた複数の被検出部と、前記リンクの原点位置の基準となる回転角度位置に設けられた第1の被検出部、及び該第1の被検出部よりも大きな幅に設定され、前記リンクの一方の回動方向の回動限界位置に設けられた第2の被検出部を検出する位置検出センサとを備えた前記リンクの原点位置を設定する原点位置設定方法であって、
    前記位置検出センサが第1の被検出部を検出した後第2の被検出部を検出する向きを順方向とし、前記位置検出センサが第2の被検出部を検出した後第1の被検出部を検出する向きを逆方向とし、
    前記リンクの初期位置において、第1の被検出部又は第2の被検出部を前記位置検出センサが検出したか否かを判別する第1のステップと、
    第1のステップにおいて、第1の被検出部又は第2の被検出部が検出された場合に、前記リンクを前記順方向へ所定の角度だけ回動させて、前記位置検出センサによって検出された被検出部が、第1の被検出部か、第2の被検出部かを判別する第2のステップと、
    第2のステップにおいて、第1の被検出部が検出された場合は、前記アクチュエータを制御して、前記リンクを前記逆方向へ所定の角度だけ回動させた後、前記位置検出センサによって第1の被検出部を検出するまで前記リンクを前記順方向へ回転させ、又は、第2のステップにおいて第2の被検出部が検出された場合は、前記アクチュエータを制御して前記リンクを前記逆方向へと回動させ、前記位置検出センサによって第1の被検出部が検出された位置から前記リンクを前記逆方向へ所定の角度だけ回動させた後、前記位置検出センサによって第1の被検出部を検出するまで前記リンクを前記順方向へ回動させる第3のステップと、
    前記位置検出センサによって第1の被検出部が検出されたときに、該検出位置に基づき仮の原点位置を設定する第4のステップとを含み、第4のステップにおいて検出された仮の原点位置に基づき、前記原点位置を設定することを特徴とする原点位置設定方法。
  5. 関節部を介して回動自在に支持されたリンクと、該リンクを回動させる動力を付与するアクチュエータと、請求項1〜3のいずれかに記載の原点位置設定装置と、を備えることを特徴とするリンク機構。
  6. 基体と、前記基体に対して関節を介して支持された複数の脚部と、各脚部に回転自在に設けられた車輪と、前記各脚部及び前記車輪を駆動する動力を付与するアクチュエータと、前記アクチュエータを制御する制御手段とを備え、環境に応じて前記脚部及び前記車輪の少なくとも一方を駆動することにより移動する脚車輪型ロボットであって、
    前記脚部は、複数のリンクを有すると共に、該複数のリンクが関節を介して回動自在に連結された構成を有し、
    請求項1〜3のいずれかに記載の原点位置設定装置を備え、前記原点位置設定装置によって、前記脚部を構成する各リンクの原点位置を設定することを特徴とする脚車輪型ロボット。
JP2009167050A 2009-07-15 2009-07-15 原点位置設定装置、原点位置設定方法、リンク機構及び脚車輪型ロボット Active JP5418029B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009167050A JP5418029B2 (ja) 2009-07-15 2009-07-15 原点位置設定装置、原点位置設定方法、リンク機構及び脚車輪型ロボット

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009167050A JP5418029B2 (ja) 2009-07-15 2009-07-15 原点位置設定装置、原点位置設定方法、リンク機構及び脚車輪型ロボット

Publications (2)

Publication Number Publication Date
JP2011020209A JP2011020209A (ja) 2011-02-03
JP5418029B2 true JP5418029B2 (ja) 2014-02-19

Family

ID=43630716

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009167050A Active JP5418029B2 (ja) 2009-07-15 2009-07-15 原点位置設定装置、原点位置設定方法、リンク機構及び脚車輪型ロボット

Country Status (1)

Country Link
JP (1) JP5418029B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103192395B (zh) * 2012-01-06 2015-10-28 沈阳新松机器人自动化股份有限公司 一种多关节机械手询零装置及方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5074280A (ja) * 1973-11-07 1975-06-18
JPS6297004A (ja) * 1985-10-24 1987-05-06 Amada Co Ltd 数値制御される移動体の原点復帰制御装置
JPS62172403A (ja) * 1986-01-24 1987-07-29 Sharp Corp 回転運動体の原点位置出し装置
JPS62147004U (ja) * 1986-03-06 1987-09-17
JPH01280207A (ja) * 1988-05-02 1989-11-10 Hitachi Ltd 移動体の位置検出装置および原点位置復帰方法
JPH068102Y2 (ja) * 1988-12-23 1994-03-02 日本信号株式会社 搬送装置
JPH0390311U (ja) * 1989-12-27 1991-09-13
JP3776345B2 (ja) * 2001-10-04 2006-05-17 本田技研工業株式会社 自動原点合わせ方法及び自動原点確認方法
JP2009023040A (ja) * 2007-07-18 2009-02-05 Nsk Ltd 原点位置設定装置、原点位置設定方法、リンク機構及び脚車輪型ロボット
JP2009023039A (ja) * 2007-07-18 2009-02-05 Nsk Ltd 原点位置設定装置、原点位置設定方法、リンク機構及び脚車輪型ロボット

Also Published As

Publication number Publication date
JP2011020209A (ja) 2011-02-03

Similar Documents

Publication Publication Date Title
JP5141507B2 (ja) 自律移動装置
JP5278283B2 (ja) 自律移動装置及びその制御方法
JP2009050937A (ja) 原点位置設定装置、原点位置設定方法、リンク機構及び脚車輪型ロボット
CN210038147U (zh) 扫描角度调整装置、激光雷达系统及载具
US7933684B2 (en) Autonomous mobile robot
JP5766839B1 (ja) 移動体の障害物検知方法、そのシステムおよび無人搬送車
JP5949911B2 (ja) ロボット
US20120065829A1 (en) Wall-following Moving Device
US20160170412A1 (en) Autonomous mobile device and method for controlling same
JP4340247B2 (ja) 自律移動ロボット
JPWO2010013732A1 (ja) 搬送ロボットのティーチング方法
JP5802423B2 (ja) 移動体
US20180314265A1 (en) Environment arrangement robot and control program thereof
JP2007225342A (ja) 3次元測定装置及び3次元測定装置を搭載した自律移動装置
JP2009095957A (ja) 関節モジュール及び脚型ロボット
JP2009008648A (ja) 3次元距離測定装置及び脚車輪型ロボット
JP5517104B2 (ja) 移動体
US10478970B2 (en) Robot system
JP2011027598A (ja) 環境認識装置及びそれを備えた移動体
JP2009023039A (ja) 原点位置設定装置、原点位置設定方法、リンク機構及び脚車輪型ロボット
JP2009050939A (ja) リンク機構及び脚車輪型ロボット
JP6801566B2 (ja) 移動ロボット
JP5418029B2 (ja) 原点位置設定装置、原点位置設定方法、リンク機構及び脚車輪型ロボット
JP2009050940A (ja) リンク機構及び脚車輪型ロボット
JP2009023040A (ja) 原点位置設定装置、原点位置設定方法、リンク機構及び脚車輪型ロボット

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120614

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130625

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20130801

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130823

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131022

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131104

R150 Certificate of patent or registration of utility model

Ref document number: 5418029

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150