(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-22
(45)【発行日】2024-08-30
(54)【発明の名称】ロボットとロボットの製造方法
(51)【国際特許分類】
B25J 5/00 20060101AFI20240823BHJP
B25J 19/02 20060101ALI20240823BHJP
【FI】
B25J5/00 F
B25J19/02
(21)【出願番号】P 2022535391
(86)(22)【出願日】2021-07-08
(86)【国際出願番号】 JP2021025847
(87)【国際公開番号】W WO2022009961
(87)【国際公開日】2022-01-13
【審査請求日】2023-01-06
(31)【優先権主張番号】P 2020119286
(32)【優先日】2020-07-10
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】310021766
【氏名又は名称】株式会社ソニー・インタラクティブエンタテインメント
(74)【代理人】
【識別番号】110000154
【氏名又は名称】弁理士法人はるか国際特許事務所
(72)【発明者】
【氏名】香田 祐太
(72)【発明者】
【氏名】尾花 功一
【審査官】臼井 卓巳
(56)【参考文献】
【文献】特開2000-254888(JP,A)
【文献】特開2007-322262(JP,A)
【文献】特開2004-255563(JP,A)
【文献】特開2004-345024(JP,A)
【文献】特開2005-028567(JP,A)
【文献】国際公開第2003/068455(WO,A1)
【文献】米国特許出願公開第2009/0146600(US,A1)
【文献】米国特許出願公開第2015/0158175(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 5/00-19/02
G01G 19/02-23/01
(57)【特許請求の範囲】
【請求項1】
足裏面を有している足部と、
前記足部に配置されている
第1の荷重センサと第2の荷重センサとを含む複数の荷重センサと、
前記複数の荷重センサの出力に基づいて前記足裏面に作用している荷重を算出する制御装置と
、
記憶装置と
を有し、
前記制御装置は、
前記荷重の重心位置に応じた補正値を算出する補正値算出部と、
算出された前記補正値と前記複数の荷重センサの出力とに基づいて前記足裏面に作用している前記荷重を算出する荷重算出部とを有し
、
前記記憶装置は、前記足裏面上の位置と前記補正値とを対応づける補正基礎情報を有し、
前記複数の荷重センサの中心位置から、前記第1の荷重センサと前記第2の荷重センサの間の位置に向かう方向においては、前記複数の荷重センサの中心位置からの距離に応じて、算出される荷重が小さくなるように、前記補正基礎情報は規定されており、
前記補正値算出部は、前記補正基礎情報を参照し、前記重心位置に応じた補正値を算出する
ロボット。
【請求項2】
前記重心位置は、前記複数の荷重センサの出力と前記複数の荷重センサの位置とに基づいて算出される
請求項1に記載されるロボット。
【請求項3】
前記記憶装置は、前記補正基礎情報として、前記足裏面上の位置と前記補正値とを対応づけるマップ又は関数を有している
請求項
1に記載されるロボット。
【請求項4】
前記補正基礎情報は、前記足裏面上の第1の位置について規定されている第1の補正値と、前記足裏面上の第2の位置について規定されている第2の補正値とを含み、
前記補正値算出部は、前記荷重の重心位置が前記第1の位置と前記第2の位置との間の第3の位置にあるとき、前記第1の補正値と前記第2の補正値との間の値を補間する
請求項
1に記載されるロボット。
【請求項5】
前記補正値算出部は、前記複数の荷重センサで検知した荷重に前記補正値を加算又は乗算して得られる値を、前記足裏面に作用している荷重として算出する
請求項1に記載されるロボット。
【請求項6】
前記補正値算出部は、前記複数の荷重センサでそれぞれ検知した複数の荷重の総和を前記補正値で補正し、補正により得られた値を前記足裏面に作用している荷重として算出する
請求項1に記載されるロボット。
【請求項7】
第1の荷重センサと第2の荷重センサとを含む複数の荷重センサを有している足部を有しているロボットの製造方法において、
前記足部の足裏面上の対象位置に所定荷重を加え、前記複数の荷重センサの出力を取得する出力取得工程と、
前記複数の荷重センサの出力から換算係数を利用して荷重を算出する荷重算出工程と、
算出された前記荷重と前記所定荷重とに基づいて前記対象位置における補正値を算出する補正値算出工程と、
前記足裏面上の複数の位置を前記対象位置として順番に選択し、前記複数の位置のそれぞれについて前記出力取得工程、前記荷重算出工程、及び前記補正値算出工程を実行
する工程と、
前記複数の位置と、前記複数の位置のそれぞれについて算出された前記補正値とを対応づける補正基礎情報を生成する工程と
を含み、
前記複数の荷重センサの中心位置から、前記第1の荷重センサと前記第2の荷重センサの間の位置に向かう方向においては、前記複数の荷重センサの中心位置からの距離に応じて、算出される荷重が小さくなるように、前記補正基礎情報は規定される
ロボットの製造方法。
【請求項8】
前記対象位置として選択される前記複数の位置の数は、前記複数の荷重センサの数よりも多い
請求項
7に記載されるロボットの製造方法。
【請求項9】
前記複数の荷重センサは、互いに直交する2方向に分散して配置されており、
前記対象位置として選択される前記複数の位置は、前記複数の荷重センサの間の位置を含む
請求項
7に記載されるロボットの製造方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は足部を有しているロボットとロボットの製造方法とに関する。
【背景技術】
【0002】
脚部で歩行するロボットの開発が進められている。この種のロボットには、足裏に作用する荷重(床から受ける反力)を検知する複数のセンサを脚部の下端に位置する足部に有し、そのセンサの出力を利用して、ロボットの姿勢や歩行の状態把握を行うものがある(例えば、下記特許文献1)。足裏に作用する荷重を正確に検知することは、姿勢や歩行の安定性を向上するために重要である。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
足部を構成する部材の剛性が位置によって変わる場合がある。その場合、荷重が作用した位置によってセンサを通して検知する荷重が変わり、荷重を正確に検知することが困難となる。このことは、姿勢や歩行の安定性にとって好ましくない。
【課題を解決するための手段】
【0005】
本開示で提案するロボットの一例は、足裏面を有している足部と、前記足部に配置されている複数の荷重センサと、前記複数の荷重センサの出力に基づいて前記足裏面に作用している荷重を算出する制御装置とを有している。前記制御装置は、前記荷重の重心位置に応じた補正値を算出する補正値算出部と、算出された前記補正値と前記複数の荷重センサの出力とに基づいて前記足裏面に作用している前記荷重を算出する荷重算出部とを有している。このロボットによれば、足裏面に作用している荷重を正確に算出できるようになるので、ロボットの姿勢や歩行の安定性を向上できる。
【0006】
本開示で提案するロボットの製造方法の一例は、足部の足裏面上の対象位置に所定荷重を加え、足部に設けられている複数の荷重センサの出力を取得する出力取得工程と、前記複数の荷重センサの出力から換算係数を利用して荷重を算出する荷重算出工程と、算出された前記荷重と前記所定荷重とに基づいて前記対象位置における補正値を算出する補正値算出工程と、を含む。そして、前記足裏面上の複数の位置を前記対象位置として順番に選択し、前記複数の位置のそれぞれについて前記出力取得工程、前記荷重算出工程、及び前記補正値算出工程を実行する。この方法によれば、足裏面に作用している荷重を正確に算出できるロボットを製造できる。
【図面の簡単な説明】
【0007】
【
図1】本開示で提案するロボットの概要を示す斜視図である。
【
図2】ロボットが有している制御システムを示すブロック図である。
【
図3B】
図3AにあるIIIb-IIIb線が示す切断面で得られる断面図である。
【
図6】制御装置が実行する処理の例を示すフロー図である。
【
図7A】換算係数を特定する手順を説明するための図である。
【
図7B】補正値マップを作成する手順を説明するための図である。
【発明を実施するための形態】
【0008】
以下、本開示の実施形態について図面を参照しながら説明する。本明細書では、実施形態の一例として、
図1等で示すロボット1について説明する。
【0009】
図1はロボット1の概要を示す斜視図である。ロボット1は二足歩行が可能なロボットであり、胴体2と、胴体2から下方に伸びている左右の下肢5L・5Rとを有している。また、ロボット1は頭部4、及び左右の上肢3L・3Rを有している。
【0010】
ロボット1は、頭部4を動かすための複数のアクチュエータ11a・11b・11c、及び、胴体2を動かすための複数のアクチュエータ11d・11e・11fを有している。各上肢3R・3Lにも、上肢3R・3Lを動かすための複数のアクチュエータが設けられている。例えば、肘の関節に位置するアクチュエータ11g、上腕に位置するアクチュエータ11h、及び、肩関節に位置するアクチュエータ11i・11jを各上肢3R・3Lは有している。
【0011】
各下肢5R・5Lにも、下肢5R・5Lを動かすための複数のアクチュエータが設けられている。例えば、下肢5R・5Lの下端に位置する足部6と、下肢5R・5Lの下部である下腿部5dとの連結部は足首の関節に相当し、この連結部に位置するアクチュエータ11k・11mを下肢5R・5Lは有している。また、各下肢5R・5Lは、膝の関節に位置するアクチュエータ11n、及び、股の関節に位置するアクチュエータ11p・11q・11rを有している。
【0012】
図2はロボット1の制御システムを示すブロック図である。制御装置20は演算装置21と記憶装置22とを有している。演算装置21はCPU(Central Processing Unit)を有し、記憶装置22はRAM(Random Access Memory)及びROM(Read Only Memory)を有している。演算装置21は記憶装置22に格納されているプログラムを実行し、上述したアクチュエータ11a~11rで構成されるアクチュエータ群11を制御する。なお、演算装置21と記憶装置22はロボット1に搭載されていてもよいし、ロボット1と有線又は無線で接続されたコンピュータに搭載されていてもよい。
【0013】
ロボット1は、各アクチュエータ11a~11rの駆動(具体的には動力源であるモータの角度位置や速さ)を検知するセンサや、ロボット1の各部位に作用している加速度などを検知するセンサを含む各種センサSEを有している。制御装置20は、各種センサSEが出力するアナログ信号をデジタル信号に変換するA/D変換器13を有してもよい。制御装置20は各種センサSEから入力される信号に基づいて、ロボット1の状態や各部位の動作を検知し、検知した状態や動作に応じてアクチュエータ11a~11rを制御する。
【0014】
各種センサSEは、足部6に配置される荷重センサ63A~63D(
図3A参照)を有している。制御装置20は、荷重センサ63A~63Dの出力に基づいて足部6の裏面(足裏面)に作用している荷重を算出する。制御装置20は、算出した荷重に基づいてアクチュエータ群11を駆動し、ロボット1を歩行させる。制御装置20が実行する荷重の算出処理については後において詳説する。
【0015】
[足部]
図3A及び
図3Bを参照しながら、足部6の構造の一例について説明する。
図3Aは足部6の平面図であり、
図3Bは
図3AにあるIIIb-IIIb線が示す切断面で得られる断面図である。以下の説明では、
図3AにあるZ1及びZ2が示す方向をそれぞれ上方及び下方と称し、Y1及びY2をそれぞれ前方及び後方と称する。
図3BにあるX1-X2が示す方向を左右方向と称する。
【0016】
図3A及び
図3Bで示すように、足部6は、ロボット1の歩行時に床面に接する下面(足裏面)を有している底部61と、底部61の上方に位置している甲部62とを有している。足部6は、底部61と甲部62との間に位置し、足裏面に作用した荷重を検知するための複数の荷重センサ63A・63B・63C・63Dを有している。荷重センサ63としては、例えば、ひずみゲージ式や圧電式を使用することができる。荷重センサ63A・63B・63C・63Dの位置は足裏面に沿った平面において、直交する2方向に分散している。
図3Aで示す例では、荷重センサ63A・63B・63C・63Dは前後方向と左右方向とに分散している。足部6は4つの荷重センサ63A・63B・63C・63Dを有し、これら4つのセンサは矩形の頂点に位置している。(以下では、4つの荷重センサ63A・63B・63C・63Dを区別しない場合には、荷重センサについて符号63を用いる。)足部6はロボット1の平面視において矩形であり、4つの荷重センサ63は足部6の角の近傍に位置している。
【0017】
図3Bで示すように、荷重センサ63は、本体63aと検出部63bとを有している。検出部63bは本体63aに対して僅かに上下動可能であってよい。荷重センサ63は、検出部63bに対して上下方向で作用する力に応じた信号(電圧信号)を出力する。
【0018】
本体63aは、例えば、甲部62を構成する上フレーム62aの下面に固定される。検出部63bは、例えば、底部61を構成する下フレーム61aに螺子などの固定具によって固定される。甲部62と底部61の距離が縮小する方向の力と、同距離が拡大する方向の力の双方を荷重センサ63が検知できれば、その取り付け構造は図で示す例に限られない。検出部63bが甲部62に取り付けられ、本体63aが底部63に取り付けられてもよい。フレーム61a・62aは、例えば金属の板であるが、樹脂の板であってもよい。甲部62は回路基板66を有し、本体63aは例えば電線を介して回路基板66に接続される。荷重センサ63の出力(電圧値)は、回路基板66を通して、制御装置20に入力される。
【0019】
また、甲部62と底部61との間には弾性部材が配置されてもよい。足部6は、例えば、甲部62と底部61とが互いに離れる方向にこれらを付勢する弾性部材を有している。弾性部材としては、例えばばね64を利用できる。ばね64はコイルばねであり、甲部62と底部61との間に配置されている。ばね64は複数の荷重センサ63の間に配置されている。また、足部6は、甲部62と底部61との距離が所定値より小さくなるように、甲部62と底部61とを連結する連結部材65a・65bを有している。連結部材65aは、例えば、ばね64の内側に通されるボルトであり、連結部材65bは、ボルトの端部に取り付けられるナットやワッシャーである。甲部62と底部61は、連結部材65a・65bが制限する範囲内では、ばね64の弾性力に抗して互いに接近できる。
【0020】
なお、甲部62と底部61との間に配置される弾性部材は、これらが離れる方向に付勢する弾性部材でなくてもよい。甲部62と底部61との距離の変化(底部61に対する甲部62の僅かな傾斜)を許容する構造であれば、甲部62と底部61との間に配置される弾性部材は、必ずしもこれら2つの部位が離れる方向に付勢する弾性部材でなくてもよい。例えば、弾性部材は、定常状態(ロボット1が正立している状態)で甲部62と底部61とに対してその弾性力を作用させないものであってもよいし、定常状態で甲部62と底部61とが互いに近づく方向にこれらに力を加える弾性部材であってもよい。
【0021】
上述したように、複数の荷重センサ63の中心にばね64が配置され、各荷重センサ63の検出部63bは底部61に連結されている。そのため、例えば、荷重センサ63Dに圧縮荷重が作用した場合、下フレーム61aがばね64の位置を中心にして傾き、荷重センサ63Dに対して対角線上に位置している荷重センサ63Aには引張荷重が作用する。したがって、荷重センサ63は、圧縮荷重と引張荷重とに応じた信号を出力するセンサであってよい。例えば、荷重センサ63は、圧縮荷重を受けたときに正の電圧値を出力し、引張荷重を受けたときに負の電圧値を出力してよい。荷重センサ63と荷重は以下の関係を有してよい。
圧縮荷重F=Kp×V(V≧0)
引張荷重F=Kn×V(V<0)
・V:荷重センサが出力する電圧
・Kp:正の電圧値について利用される換算係数
・Kn:負の電圧値について利用される換算係数
複数の荷重センサ63のそれぞれについて換算係数Kp・Knが特定されており、制御装置20は換算係数Kp・Knを利用して各荷重センサ63の出力(電圧値V)から荷重を算出する。
【0022】
足部6の構造は、ロボット1が有する例に限られない。例えば、足部6の構造は以下のようであってもよい。
・ロボット1の例とは異なり、本体63aは底部61の下フレーム61aに固定され、検出部63bは甲部62の上フレーム62aに取り付けられていてもよい。
・足部6は、甲部62と底部61とが離れる方向にこれらを付勢する弾性部材(図で示す例においてばね64)を有していなくてもよい。
・荷重センサ63の検出部63bは、底部61に固定されていなくてもよい。この場合、底部61を検出部63bに予め押しつけている弾性部材、すなわち荷重センサ63に対してプリロードを加える弾性部材を足部6は有してもよい。
・荷重センサ63の位置や数も、ロボット1の例に限られない。例えば、荷重センサ63の数は3つでもよいし、5つでもよい。
【0023】
[制御装置が行う処理]
制御装置20が実行する処理について説明する。上述したように、制御装置20は、複数の荷重センサ63A~63Dの出力に基づいて底部61の下面(足裏面)に作用している荷重(床から受ける反力)を算出する。足裏面に作用している荷重は、基本的には、各荷重センサ63で検知される荷重の総和である。ところが、足部6を構成する部材(例えば、フレーム61a・62a)の形状や剛性によっては、足部6を構成する部材は荷重を受けると僅かに歪む。荷重が加わる位置によって、歪みの度合いが変わってしまうことがある。その結果、荷重が加わる位置の変化に伴って、荷重センサ63で検知される荷重も変動してしまうことがある。本開示で提案する制御装置20はそのような荷重の変動を防止するために、荷重センサ63A~63Dの出力に基づいて算出される荷重を、荷重の重心位置に応じて補正する。
【0024】
図4は、制御装置20の機能を表すブロック図である。
図4で示すように、制御装置20は、その機能として、荷重重心算出部20Aと、補正値算出部20Bと、荷重算出部20Cと、アクチュエータ制御部20Dとを有している。これら算出部20A・20B・20C・20Dは、演算装置21が記憶装置22に格納されているプログラムを実行することによって実現される。
【0025】
[荷重重心算出部]
荷重重心算出部20Aは、複数の荷重センサ63の出力に基づいて荷重の重心位置を算出する。「荷重の重心位置」とは、複数の荷重センサ63のそれぞれが検知する荷重の重心である。言い換えれば、「荷重の重心位置」とは、底部61の下面(足裏面)に作用している荷重(床から受ける反力)が点荷重(集中荷重)であるとの仮定の下で算出され得る、その点荷重の位置である。荷重重心算出部20Aは、複数の荷重センサ63の出力と複数の荷重センサ63の位置とに基づいて重心位置を算出する。例えば、以下の式1及び2によって、荷重の重心位置は算出され得る。
(式1)Xf=Fa×Xa+Fb×Xb+Fc×Xc+Fd×Xd
(式2)Yf=Fa×Ya+Fb×Yb+Fc×Yc+Fd×Yd
・Xf:荷重の重心位置のX座標・Yf:荷重の重心位置のY座標
・Fa:荷重センサ63Aで検知される荷重(他の荷重センサ63B、63C、63Dについても同様であり、Fb、Fc、Fdはそれぞれ荷重センサ63B、63C、63Dで検知される荷重である。)
・Xa:荷重センサ63AのX座標(他の荷重センサ63B、63C、63Dについても同様であり、Xb、Xc、Xdはそれぞれ荷重センサ63B、63C、63DのX座標である。)
・Ya:荷重センサ63AのY座標(他の荷重センサ63B、63C、63Dについても同様であり、Yb、Yc、Ydはそれぞれ荷重センサ63B、63C、63DのY座標である。)
【0026】
[補正値算出部]
補正値算出部20Bは、荷重の重心位置(Xf、Yf)に応じた補正値を算出する。記憶装置22には、荷重の重心位置と補正値とを対応づける補正基礎情報が予め格納されている。補正値算出部20Bは、補正基礎情報を参照し、荷重重心算出部20Aで算出された重心位置に対応する補正値を算出する。
【0027】
図5は補正基礎情報の例を説明するための図である。補正基礎情報は、具体的には、足裏面上の位置と補正値とを対応づけるマップ又は関数である。
図5において、位置座標(0、0)は、複数の荷重センサ63の中心Pc(複数の荷重センサ63の重心位置、
図3B参照)である。複数の荷重センサ63の中心Pc(0、0)は、足裏面の前後方向及び左右方向での中心に一致していてよい。補正基礎情報は、例えば、中心Pc(0、0)から2つの荷重センサ63の間の位置に向かう方向、例えば
図3Aにおいて中心線Cyに沿った方向においては、中心Pcからの距離が増すに従って、算出される荷重が小さくなるように規定されてよい。また、補正基礎情報は、中心Pcからの距離が増すに従って、補正量(ロボット1の例においては低減量)が大きくなるように規定されてよい。
【0028】
補正値は、例えば、複数の荷重センサ63の出力から換算された荷重に乗算する値である。この場合、「補正値:1」は補正がなされないことを意味する。
図5で示される補正基礎情報では、中心Pc(0、0)近傍では1に近い補正値が規定されている。中心Pc(0、0)から前方又は後方に離れるにしたがって補正値は下がっている。すなわち、中心Pc(0,0)から、前側の2つの荷重センサ63A・63C(
図3A参照)の中間位置に向かう方向においては、中心Pc(0、0)からの距離に応じて補正値が下がっている。同様に、中心Pc(0,0)から後側の2つの荷重センサ63B・63D(
図3A参照)の中間位置に向かう方向においては、中心Pc(0、0)からの距離に応じて補正値が下がっている。
【0029】
補正基礎情報(マップ)においては、予め選択された複数の位置についてだけ、補正値が定められていてよい。補正値が定められている位置の数は、荷重センサ63の数より多いのが望ましい。荷重重心算出部20Aにおいて算出された荷重の重心位置が、補正値が定められている位置の間であった場合、補正値算出部20Bは補正値を補間してよい。すなわち、第1の位置と第2の位置とに第1補正値と第2補正値とがそれぞれ対応づけられているロボットにおいて、第1の位置と第2の位置との間の第3の位置が荷重の重心位置として算出された場合、補正値算出部20Bは、第1補正値と第2補正値の間の補正値を算出してよい。
【0030】
[荷重算出部]
荷重算出部20Cは、補正値算出部20Bにおいて算出された補正値と複数の荷重センサ63の出力とに基づいて足裏面に作用している荷重を算出する。荷重算出部20Cは、例えば、以下の式(3)を利用して荷重を算出する。
(式3)F=(Fa+Fb+Fc+Fd)×Cf
・Cf:補正値算出部20Bで算出された補正値
・Fa:荷重センサ63Aで検知される荷重(他の荷重センサ63B、63C、63Dについても同様であり、Fb、Fc、Fdはそれぞれ荷重センサ63B、63C、63Dで検知される荷重である。)
【0031】
なお、補正基礎情報で規定される補正値は、荷重Fa・Fb・Fc・Fdの総和に乗算されるものではなく、荷重Fa・Fb・Fc・Fdの総和に加算されるものであってもよい。すなわち、荷重算出部20Cは、例えば、以下の式(4)を利用して荷重を算出してもよい。
(式4)F=Fa+Fb+Fc+Fd+Cf
【0032】
[アクチュエータ制御部]
アクチュエータ制御部20Dは、荷重算出部20Cで算出された荷重Fと、荷重重心算出部20Aで算出された重心位置(Xf、Yf)とに基づいて、アクチュエータ群11を制御する。アクチュエータ制御部20Dは、例えば、下肢5R・5Lに設けられているアクチュエータ11k・11m・11n・11p・11q・11rを順番に動かし、ロボット1を歩行させる。このとき、アクチュエータ制御部20Dは、荷重算出部20Cで算出された荷重Fと、荷重重心算出部20Aで算出された重心位置(Xf、Yf)とに基づいて、足部6が床面から離れているか否かを判断する。
【0033】
[フロー]
図6は、制御装置20が実行する処理の例を示すフロー図である。
【0034】
制御装置20は、各荷重センサ63A~63Dの出力(電圧値)を取得し(S101)、電圧値を荷重Fa~Fdに換算する(S102)。上述したように、荷重センサ63A~63Dのそれぞれについて、正の電圧値用の換算係数Kpと、負の電圧値用の換算係数Knが規定されている。制御装置20は、取得した電圧値の符号に応じて換算係数を選択し、選択した換算係数を利用して電圧値から荷重Fa~Fdを算出する。
【0035】
荷重重心算出部20Aは、上述した式1及び式2を利用し、荷重Fa~Fdと各荷重センサ63A~63Dの位置とに基づいて、荷重の重心位置(Xf、Yf)を算出する(S103)。次に、補正値算出部20Bは、補正基礎情報を参照し、重心位置(Xf、Yf)に対応する補正値Cfを算出する(S104)。荷重算出部20Cは、式3を利用して、補正値Cfと各荷重センサ63A~63Dによって検知された荷重Fa~Fdとに基づいて、荷重Fを算出する(S105)。
【0036】
アクチュエータ制御部20Dは、算出された荷重Fと重心位置(Xf、Yf)とに基づいて、下肢5R・5Lに設けられているアクチュエータ11k・11m・11n・11p・11q・11rを動かすための制御信号を出力する(S106)。制御装置20は、アクチュエータの制御が終了したか否かを判断し、制御が未だ継続する場合には、S101~S106までの処理を再び実行する。制御装置20は、例えばロボット1が歩行している間中は、S101~S106までの処理を所定の周期で繰り返し実行する。
【0037】
[補正基礎情報を得る手順]
補正基礎情報を得るための手順(補正値を規定するマップや関数を作成する手順)について説明する。
【0038】
例えば制御装置20は、まず、荷重センサ63A~63Dについてキャリブレーションを実行し、各荷重センサ63A~63Dについて上述した換算係数Kp・Knを得る。
図7Aは、換算係数を特定する手順を説明するための図である。例えば制御装置20は、
図7Aで示すように、荷重センサ63A~63Dが配置されている4つの位置P1~P4に、順番に荷重を加える。そして、荷重センサ63A~63Dの出力(電圧値)と、加えた荷重と、各荷重センサ63A~63Dの換算係数Kp・Knの連立方程式を生成し、その解(換算係数Kp・Kn)を求める。
【0039】
次に、足裏面における複数の位置に順番に荷重を加え、算出された換算係数Kp及びKnと荷重センサ63A~63Dの出力と利用して算出される荷重と、実際に加えた荷重とを比較し、その比較から各位置での補正値を算出する。
【0040】
図7Bは、補正値マップを作成する手順を説明するための図である。例えば制御装置20は、
図7Bで示すように、足裏面における複数の位置から位置P5を選択し、この位置P5に荷重F1を加える。そして、荷重センサ63A~63Dの出力(電圧値)を取得する(出力取得工程)。次に、荷重センサ63A~63Dの出力から換算係数Kp・Knを利用して荷重を算出する(荷重算出工程)。つまり、4つの荷重センサ63A~63Dで検知される荷重Fa~Fdの総和を算出する。そして、算出された荷重(荷重Fa~Fdの総和)と実際に加えた荷重F1とを比較し、位置P5における補正値を算出する(補正値算出工程)。例えば、換算係数Kp・Knを利用して算出される荷重がF5となった場合、位置P5について補正値Cf5(Cf5=F1/F5)を得る。次に、位置P5とは別の位置P6を選択し、出力取得工程、荷重算出工程、及び補正値算出工程を再び実行する。
【0041】
足裏面上で選択される複数の位置(補正値が算出される位置)は、荷重センサ63の位置とは異なる位置を含むのが望ましい。また、足裏面上で選択される位置の数は、荷重センサ63の数(ロボット1において4つ)より多いのが望ましい。そして、足裏面上で選択される複数の位置は、複数の荷重センサ63の位置の間の位置を含んでよい。こうすることで、荷重センサ63が配置されていない位置においても、正確な荷重算出が可能となる。例えば、
図7Bで示されるように、位置P5~P17で示される13カ所に順番に荷重が加えられ、各位置で補正値が算出されてよい。取得された補正値と位置(P5~P17)とを対応づける補正基礎情報(マップ又は関数)を生成し、記憶装置22に格納する。
【0042】
補正値が特定される位置や位置の数は、
図7Bで説明される例に限られない。荷重を加えた位置の間の位置での補正値は、補間されてもよい。例えば、位置P5と位置P6の間の位置での補正値は、位置P5について得られた補正値と、位置P6について得られた補正値との補間により規定されてよい。
【0043】
[まとめ]
以上説明したように、ロボット1は、足裏面を有している足部6と、足部6に配置されている複数の荷重センサ63と、複数の荷重センサ63の出力に基づいて足裏面に作用している荷重を算出する制御装置20とを有している。制御装置20は、荷重の重心位置に応じた補正値を算出する補正値算出部20Bと、算出された補正値と複数の荷重センサ63の出力とに基づいて足裏面に作用している荷重を算出する荷重算出部20Cとを有している。このロボット1によれば、足裏面に作用している荷重を正確に算出できるようになるので、ロボットの姿勢や歩行の安定性を向上できる。
【0044】
また、ロボット1の製造においては、足部6の足裏面上の対象位置(
図7Bで示す位置P5~P17の一つ)に所定荷重を加え、足部6に設けられている複数の荷重センサ63の出力を取得する(出力取得工程)。次に、複数の荷重センサ63の出力から換算係数Kp・Knを利用して荷重を算出する(荷重算出工程)。算出された荷重と、実際に加えた所定荷重とに基づいて対象位置における補正値を算出する(補正値算出工程)。そして、足裏面上の複数の位置(
図7Bで示すP5~P17)を対象位置として順番に選択し、複数の位置のそれぞれについて出力取得工程、荷重算出工程、及び補正値算出工程を実行する。この方法によれば、足裏面に作用している荷重を正確に算出できるロボット1を製造できる。