センシング対象値推定装置およびその推定方法
【課題】センサのダイナミックレンジを超えた入力があった場合のセンシング対象値を推定し,検出精度を向上させることのできるセンシング対象値推定装置およびその推定方法を提供すること。
【解決手段】本発明の積算値推定装置20は,センサ出力値の変遷を記録する第1ループメモリ21と,センサ出力値に基づいてセンシング対象値のダイナミックレンジ内からの逸脱を検出するとともにダイナミックレンジ内への復帰を検出するレンジオーバー開始/レンジ内復帰判定部27と,これらによって検出された逸脱から復帰までの間について,第1ループメモリ21に記録されている逸脱前のセンサ出力値の変遷に基づいてセンシング対象値の変遷を推定するセンシング対象値推定部28とを有する。
【解決手段】本発明の積算値推定装置20は,センサ出力値の変遷を記録する第1ループメモリ21と,センサ出力値に基づいてセンシング対象値のダイナミックレンジ内からの逸脱を検出するとともにダイナミックレンジ内への復帰を検出するレンジオーバー開始/レンジ内復帰判定部27と,これらによって検出された逸脱から復帰までの間について,第1ループメモリ21に記録されている逸脱前のセンサ出力値の変遷に基づいてセンシング対象値の変遷を推定するセンシング対象値推定部28とを有する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は,例えばロボットの腕や足等に設置された角速度センサや加速度センサ等のセンサの出力値からそのセンシング対象値を推定するセンシング対象値推定装置およびその推定方法に関する。さらに詳細には,センサのダイナミックレンジを超えた入力があった場合のセンシング対象値を推定するセンシング対象値推定装置およびその推定方法に関するものである。
【背景技術】
【0002】
従来より,ロボットを指示に従って駆動させるために,ロボットの各部には各種のセンサが取り付けられている。例えば,肩部や肘部等の関節には角速度センサが設けられ,関節の回転角速度を累積して,上腕や下腕の角度やその先端部の位置等が求められている。むろん,このような例はロボットにも限らないし,角速度にも限らない。このようなセンサには,一般に,それぞれ所定の検出可能範囲(ダイナミックレンジ)があり,その範囲を超えた入力を受けた場合には,正確に検出することはできない。すなわち,入力がダイナミックレンジを超えている場合には,一般に,ダイナミックレンジの上限値または下限値が出力されるようになっている。そして,入力が再びダイナミックレンジ内に入れば,センサの出力値も正しく出力される。
【0003】
これに対して,特許文献1には,地磁気方位センサを用いて車両の走行方位を検出する車両用方位計において,外乱により地磁気方位センサへの入力がそのダイナミックレンジを超えたときの処理方法について開示されている。この文献の技術によれば,外乱によりセンサへの入力がダイナミックレンジを超えている時間の長さを基に,外乱の大きさとその発生時点とを予測できるとされている。
【特許文献1】特開平2−218911号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら,前記した従来の技術は,地磁気を利用して水平面内での車両の向きを測定する車両用方位計に特化された技術である。一般に,磁気外乱によってセンサ出力値は大きく変化するが,車両の姿勢自体は大きく変化したわけではない。また外乱の大きさによっては,車両の着磁という後遺症が発生するおそれがあるため,その外乱の大きさを取得することが重要となっている。
【0005】
これに対して,例えばロボットの腕部等の場合では,他の物体への衝突や足部の振動等による外乱は,腕の姿勢自体を変化させてしまう。特に,センサの出力値を積算して角度や位置を求めるもののように,履歴に応じた信号処理を持つ処理系では,ダイナミックレンジの上限値あるいは下限値となっているセンサ出力値をそのまま利用して計算を続けることは,誤差がますます蓄積することになるので好ましくない。
【0006】
また,ダイナミックレンジの大きいセンサを選択するという方法も考えられるが,一般にダイナミックレンジの大きいセンサは,分解能が低いという問題点がある。ダイナミックレンジの大きさと分解能とをともに満たすセンサは無く,あったとしてもごく高価で複雑な構造のものであって,一般的ではない。さらに,ダイナミックレンジの異なる複数のセンサを備えてそれらを使い分けることもできるが,センサの個数が増加するためコスト高となり,また制御も煩雑なものとなる。
【0007】
本発明は,前記した従来のセンシング対象値推定装置およびその推定方法が有する問題点を解決するためになされたものである。すなわちその課題とするところは,センサのダイナミックレンジを超えた入力があった場合のセンシング対象値を推定し,検出精度を向上させることのできるセンシング対象値推定装置およびその推定方法を提供することにある。
【課題を解決するための手段】
【0008】
この課題の解決を目的としてなされた本発明のセンシング対象値推定装置は,センサ出力値の変遷を記録する第1メモリと,センサ出力値に基づいてセンシング対象値のダイナミックレンジ内からの逸脱とダイナミックレンジ内への復帰とを検出するレンジ検出部と,レンジ検出部により検出された逸脱から復帰までの間について,第1メモリに記録されている逸脱前のセンサ出力値の変遷に基づいてセンシング対象値の変遷を推定する推定部とを有するものである。
【0009】
本発明のセンシング対象値推定装置では,センサ出力値の変遷が第1メモリに記録され,センサ出力値のダイナミックレンジ内からの逸脱とダイナミックレンジ内への復帰がレンジ検出部で検出される。さらに,検出された逸脱から復帰までの間のセンシング対象値が推定部で推定されるので,センシング対象値がセンサのダイナミックレンジを超えていても,推定部によって適切に推定される。従って,センサのダイナミックレンジを超えた入力があった場合のセンシング対象値を推定し,検出精度を向上させることのできるセンシング対象値推定装置となっている。
【0010】
さらに本発明では,推定部は,復帰後に,第1メモリに記録されている逸脱前と復帰後とのセンサ出力値の変遷に基づいてセンシング対象値の変遷を推定するものであることが望ましい。またさらに,推定部は,逸脱前のセンサ出力値の変遷に基づいてセンシング対象値の予測関数を決定する予測部を有し,予測部で決定した予測関数によりセンシング対象値の変遷を推定するものであることが望ましい。
【0011】
さらに本発明では,推定部は,逸脱前のセンサ出力値の変遷に基づいてセンシング対象値の予測関数を決定する予測部と,予測部で決定した予測関数の外部情報を受けた時点での値を初期値とする減衰関数を決定する減衰関数決定部とを有し,外部情報を受ける前については予測関数によりセンシング対象値の変遷を推定し,外部情報を受けた後については減衰関数決定部が決定した減衰関数によりセンシング対象値の変遷を推定するものであることが望ましい。
センシング対象値を変化させる要因の一部が外部装置にある場合,その外部装置から外部情報を受けることによりセンシング対象値の変遷をある程度推定できる。例えば,モータ等によって回転されているセンシング対象では,モータを停止したという外部情報に基づいて,その後のセンシング対象値を減衰関数で推定すれば,推定精度を向上させることができる。
【0012】
さらに本発明では,推定部は,逸脱前のセンサ出力値の変遷に基づいてセンシング対象値の予測関数を決定する予測部と,復帰後のセンサ出力値の変遷に基づいてセンシング対象値の逆算関数を決定する逆算部とを有し,予測部で決定した予測関数と逆算部が決定した逆算関数との交差時以前については予測関数によりセンシング対象値の変遷を推定し,交差時以後については逆算関数によりセンシング対象値の変遷を推定するものであることが望ましい。
このようにすれば,逸脱前と復帰後のそれぞれのセンサ出力値の変遷に基づいて,それぞれ逸脱後と復帰前の適切な推定値が選択されるので,より推定精度を向上させることができる。
【0013】
さらに本発明では,推定部は,逸脱前および復帰後のセンサ出力値の変遷に基づいてベジェ関数を決定するベジェ関数決定部を有し,ベジェ関数決定部が決定したベジェ関数によりセンシング対象値の変遷を推定するものであることが望ましい。
このようにすれば,逸脱前と復帰後との両方のセンサ出力値の変遷に基づいた関数が使用されているので,不自然に急激な変化が無い推定値が得られる。
【0014】
さらに本発明では,予測部は,センシング対象値のダイナミックレンジ内からの逸脱時点およびそこから所定時間さかのぼった時点でのセンサ出力値に基づいて予測関数を決定するとともに,所定時間さかのぼった時点でセンシング対象値がダイナミックレンジ内から逸脱していた場合には,所定時間さかのぼった時点でのセンサ出力値に替えて,復帰から逸脱までのセンサ出力値の波形に基づいて決定した値を用いるものであることが望ましい。
このようにすれば,予測部における予測関数の決定が,センシング対象値のダイナミックレンジ内からの逸脱時点とそこから所定時間さかのぼった時点とのセンサ出力値に基づいて行われる。さらに,センシング対象値のダイナミックレンジ内からの逸脱時点から所定時間さかのぼった時点までの間にさらにダイナミックレンジ内からの逸脱があった場合には,逸脱していない範囲のセンサ出力値の波形に基づいて決定される。従って,複数回の逸脱が断続的に発生したとしても,適切な予測関数が得られる。
【0015】
さらに本発明では,逆算部は,センシング対象値のダイナミックレンジ内への復帰時点およびそこから所定時間経過した時点でのセンサ出力値に基づいて逆算関数を決定するとともに,センシング対象値がダイナミックレンジ内へ復帰してから所定時間経過前に再びダイナミックレンジ内から逸脱した場合には,所定時間経過した時点でのセンサ出力値に替えて,復帰から逸脱までのセンサ出力値の波形に基づいて決定した値を用いるものであることが望ましい。
このようにすれば,逆算部における逆算関数の決定が,センシング対象値のダイナミックレンジ内への復帰時点とそこから所定時間経過した時点とのセンサ出力値に基づいて行われる。さらに,センシング対象値がダイナミックレンジ内へ復帰してから所定時間経過前に再びダイナミックレンジ内から逸脱した場合には,逸脱していない範囲のセンサ出力値の波形に基づいて決定される。従って,複数回の逸脱が断続的に発生したとしても,適切な逆算関数が得られる。
【0016】
さらに本発明では,ベジェ関数決定部は,センシング対象値のダイナミックレンジ内からの逸脱時点,そこから所定時間さかのぼった時点,センシング対象値のダイナミックレンジ内への復帰時点,およびそこから所定時間経過した時点でのセンサ出力値に基づいてベジェ関数を決定するとともに,所定時間さかのぼった時点でセンシング対象値がダイナミックレンジ内から逸脱していた場合には,所定時間さかのぼった時点でのセンサ出力値に替えて,復帰から逸脱までのセンサ出力値の波形に基づいて決定した値を用い,センシング対象値がダイナミックレンジ内へ復帰してから所定時間経過前に再びダイナミックレンジ内から逸脱した場合には,所定時間経過した時点でのセンサ出力値に替えて,復帰から逸脱までのセンサ出力値の波形に基づいて決定した値を用いるものであることが望ましい。
このようにすれば,複数回の逸脱が断続的に発生したとしても,適切なベジェ関数が得られる。
【0017】
さらに本発明では,センシング対象値のダイナミックレンジ内からの逸脱前とダイナミックレンジ内への復帰後についてはセンサ出力値を記録し,逸脱から復帰までの間については推定部による推定値を記録する第2メモリと,第2メモリに記録された値の積算値を求める積算部とを有することが望ましい。
このようにすれば,第2メモリには,センシング対象値がダイナミックレンジ内ではセンサ出力値が,ダイナミックレンジ外では推定部による推定値が記録される。この記録された値が積算部で積算されるので,より適切な積算値が得られる。
【0018】
また,本発明は,センサ出力値の変遷を第1メモリに記録し,センサ出力値に基づいてセンシング対象値のダイナミックレンジ内からの逸脱とダイナミックレンジ内への復帰とを検出し,第1メモリに記録されている逸脱前のセンサ出力値の変遷に基づいてセンシング対象値の予測関数を決定し,検出された逸脱から復帰までの間について,決定された予測関数によりセンシング対象値の変遷を推定するセンシング対象値推定方法にも及ぶ。
【0019】
さらに本発明のセンシング対象値推定方法では,決定された予測関数の外部情報を受けた時点での値を初期値とする減衰関数を決定し,外部情報を受ける前については予測関数によりセンシング対象値の変遷を推定し,外部情報を受けた後については決定された減衰関数によりセンシング対象値の変遷を推定することが望ましい。
【0020】
さらに本発明のセンシング対象値推定方法では,第1メモリに記録されている復帰後のセンサ出力値の変遷に基づいてセンシング対象値の逆算関数を決定し,決定された予測関数と決定された逆算関数との交差時以前については予測関数によりセンシング対象値の変遷を推定し,交差時以後については逆算関数によりセンシング対象値の変遷を推定することが望ましい。
【0021】
また,本発明は,センサ出力値の変遷を第1メモリに記録し,センサ出力値に基づいてセンシング対象値のダイナミックレンジ内からの逸脱とダイナミックレンジ内への復帰とを検出し,第1メモリに記録されている逸脱前および復帰後のセンサ出力値の変遷に基づいてベジェ関数を決定し,検出された逸脱から復帰までの間について,決定されたベジェ関数によりセンシング対象値の変遷を推定するセンシング対象値推定方法にも及ぶ。
【0022】
また,本発明のセンシング対象値推定方法は,予測関数の決定を,センシング対象値のダイナミックレンジ内からの逸脱時点およびそこから所定時間さかのぼった時点でのセンサ出力値に基づいて行うとともに,所定時間さかのぼった時点でセンシング対象値がダイナミックレンジ内から逸脱していた場合には,所定時間さかのぼった時点でのセンサ出力値に替えて,復帰から逸脱までのセンサ出力値の波形に基づいて決定した値を用いることが望ましい。
【0023】
また,本発明のセンシング対象値推定方法は,逆算関数の決定を,センシング対象値のダイナミックレンジ内への復帰時点およびそこから所定時間経過した時点でのセンサ出力値に基づいて行うとともに,センシング対象値がダイナミックレンジ内へ復帰してから所定時間経過前に再びダイナミックレンジ内から逸脱した場合には,所定時間経過した時点でのセンサ出力値に替えて,復帰から逸脱までのセンサ出力値の波形に基づいて決定した値を用いることが望ましい。
【0024】
また,本発明のセンシング対象値推定方法は,ベジェ関数の決定を,センシング対象値のダイナミックレンジ内からの逸脱時点,そこから所定時間さかのぼった時点,センシング対象値のダイナミックレンジ内への復帰時点,およびそこから所定時間経過した時点でのセンサ出力値に基づいて行うとともに,所定時間さかのぼった時点でセンシング対象値がダイナミックレンジ内から逸脱していた場合には,所定時間さかのぼった時点でのセンサ出力値に替えて,復帰から逸脱までのセンサ出力値の波形に基づいて決定した値を用い,センシング対象値がダイナミックレンジ内へ復帰してから所定時間経過前に再びダイナミックレンジ内から逸脱した場合には,所定時間経過した時点でのセンサ出力値に替えて,復帰から逸脱までのセンサ出力値の波形に基づいて決定した値を用いることが望ましい。
【発明の効果】
【0025】
本発明のセンシング対象値推定装置およびその推定方法によれば,センサのダイナミックレンジを超えた入力があった場合のセンシング対象値を推定し,検出精度を向上させることができる。
【発明を実施するための最良の形態】
【0026】
以下,本発明を具体化した最良の形態について,添付図面を参照しつつ詳細に説明する。本形態は,二足歩行ロボットに設けられ,腕部の回転角速度を測定する角速度センサと,そのダイナミックレンジを超えた入力があった場合でもセンシング対象値(ここでは,腕部の角速度)を推定する推定装置に本発明を適用したものである。
【0027】
本形態の二足歩行ロボット1は,そのスケルトンモデルを図1に示すように,肩部・肘部等の関節A〜関節Qまでの計17箇所の関節部を有している。さらに,各関節A〜Qには,それぞれ駆動用のモータと角速度等を検出するセンサとを有している。例えば,右手の肘部に相当する関節Pには角速度センサ11を有し,これにより右肘関節Pの回転角速度が検出されている。
【0028】
また,この二足歩行ロボット1では,この角速度センサ11の出力値を積算することにより,上腕に対する下腕の角度を求めることができる。同様に肩関節等の各自由度についても,各角速度センサの出力値を積算して,その基部に対する角度が求められる。これらを合わせることにより,各部の位置が得られる。例えば,本体部分に対する右手先の位置関係は,右肩関節(O,N)の角度と右肘関節Pの角度等を合わせて算出できる。
【0029】
従って,本形態の二足歩行ロボット1では,このようなセンサ出力値を順次積算した積算値を求めている。ここで,センサにそのダイナミックレンジを超えた入力が印加された場合は,センサ出力値はダイナミックレンジの上限値あるいは下限値に保持される。このため,そのセンサ出力値をそのまま積算すると,例えば手先位置等の算出結果の誤差が大きいものとなってしまう。そこで本形態では,このような場合にはセンサ出力値をそのまま積算するのでなく,その間のセンシング対象値を推定してその推定値を積算する。
【0030】
次に,本形態の二足歩行ロボット1において,各センサ出力値あるいはセンシング対象値の推定値の積算値を求めるための積算値推定装置20の概略構成を,図2のブロック図を参照して説明する。本形態の積算値推定装置20は,図2に示すように,角速度センサ11からそのセンサ出力値の入力を受けるとともに,タイマ12から時刻の入力を受け,算出した積算値を表示部13へ表示するものである。このタイマ12や表示部13は,二足歩行ロボット1に備えられていても良いし,別に備えて情報の送受信のみを行うようにしても良い。
【0031】
また,積算値推定装置20は,図2に示すように,第1ループメモリ21,推定部22,第2ループメモリ23,積算器24,平滑器25を有している。また,推定部22は,レンジオーバー開始/レンジ内復帰判定部27,センシング対象値推定部28を有している。ここで,推定部22は,角速度センサ11がレンジオーバー状態である場合に,センシング対象値である角速度を推定する部分である。ここで,レンジオーバー開始/レンジ内復帰判定部27がレンジ検出部に相当し,センシング対象値推定部28は予測部,減衰関数決定部,逆算部,ベジェ関数決定部を含んでいる。
【0032】
この積算値推定装置20では,第1ループメモリ21は,角速度センサ11の出力値の入力を受け,そのまま蓄積する。また,推定部22は,第1ループメモリ21に蓄積されたセンサ出力値を受けて,まず,レンジオーバー開始/レンジ内復帰判定部27によって角速度センサ11がレンジオーバーしているかどうかを判定する。レンジオーバーしていないと判定されたときはセンサ出力値をそのまま第2ループメモリ23に書き込む。この場合は,そのままシフトレジスタ等の積算器24を通して積算値が算出される。さらに,平滑器25によって平滑化し,その結果を表示部13へ出力して表示させる。
【0033】
あるいは,レンジオーバー開始/レンジ内復帰判定部27によって,角速度センサ11がレンジオーバーしたと判定された場合には,タイマ12からそのときの時刻t1を取得する。また積算器24による積算を停止し,とりあえず一定値を出力する。この区間の積算値については,推定したセンシング対象値を用いて後で修正する。また,レンジオーバー開始/レンジ内復帰判定部27によって,角速度センサ11のセンサ出力値がレンジ内に復帰したかどうかを判定する。復帰したと判断されたときは,タイマ12によってその時刻t2を取得する。さらに,センシング対象値推定部28によって時刻t1〜t2間の角速度を推定する。この推定方法については後述する。
【0034】
そして,センシング対象値推定部28によって推定されたセンシング対象値が第2ループメモリ23に入力される。以後は,レンジオーバーしていないときと同様に,積算器24によって第2ループメモリ23の値を積算する。また,平滑器25は,レンジオーバーによる積算値の変化が滑らかになるように,例えば移動平均やローパスフィルタによる平滑化を行う。さらにその結果を表示部13へ出力して表示させる。
【0035】
次に,センシング対象値推定部28による推定方法について説明する。推定方法としては,各種の条件に応じて(1)1本直線近似(図3参照),(2)2本直線近似(図5参照),(3)ベジェ曲線近似(図7参照),(4)減衰曲線近似(図9参照)等から使い分ける。これらの図では,角速度センサ11のダイナミックレンジdをD1≦d≦D2とし,レンジオーバー開始時刻t1からレンジ内復帰時刻t2までのセンシング対象値を推定している。図中太線で表示しているのは角速度センサ11の出力値である。なおここでは,レンジオーバー直前とレンジ復帰直後のセンサ出力値が直線的に変化しているように図示したが,このようなものに限らない。
【0036】
(1)1本直線近似は,図3に示すように,レンジオーバー開始時刻t1からレンジ内復帰時刻t2までのセンシング対象値を1本の直線L1(t)によって近似する方法である。すなわち,時刻(t1−Δta)〜時刻t1間のセンサ出力値を用いて,例えば最小自乗法等により求めた近似直線L1(t)によって近似する。この推定方法を実施する場合の概略構成を図4に示す。この図では,図2と同じ構成については同じ符号を付し,センシング対象値推定部28としての機能をL1推定部31が担っている。
【0037】
次に,図4に示した各構成の作用を説明する。角速度センサ11からの出力信号は,逐次第1ループメモリ21に蓄積される。センサ出力値がダイナミックレンジ内ならば第1ループメモリ21内のデータはそのまま第2ループメモリ23に逐次コピーされる。レンジオーバー開始/レンジ内復帰判定部27は,第1ループメモリ21に蓄積されたセンサ出力値を読み出し,レンジオーバー開始時刻t1とレンジ内復帰時刻t2とを記録する。
【0038】
センサ出力値がレンジオーバーとなった時刻t1において,L1推定部31は,時刻t1およびあらかじめ決められた時間Δtaを用いて,第1ループメモリ21から時刻(t1−Δta)および時刻t1に対応するセンサ出力値を読み出す。これらのセンサ出力値から近似直線L1(t)を求める。ここで,Δtaは,角速度センサ11のサンプリングタイムの定数倍,例えば1〜100倍程度の所定時間とする。さらに,L1推定部31では,近似直線L1(t)を用いて,レンジオーバー中(時刻t1〜時刻t2間)のセンシング対象値推定値を逐次計算する。
【0039】
レンジオーバー開始後すぐに,近似直線L1(t)を求め,レンジ内復帰するまで同じ直線で近似する。レンジオーバー中はL1推定部31で得られたセンシング対象値推定値を,逐次第2ループメモリ23に書き込む。この後,この推定値を用いて積算,平滑を行い,表示部13に表示する。センサ出力値がレンジ内復帰したら,第1ループメモリ21のデータがそのまま第2ループメモリ23に逐次コピーされる。このようにすることで,レンジ内復帰を待たずダイナミックレンジを超えている時間中も実時間で推定近似を行うことができる。この方法は,測定対象のモデルが全く不明な場合に適している。
【0040】
(2)2本直線近似は,図5に示すように,時刻t1直前のセンサ出力値の変化を延長した直線と,時刻t2直後のセンサ出力値の変化を逆方向に延長した直線との2本の直線による近似方法である。この推定方法を実施する場合の概略構成を図6に示す。この図では,図2と同じ構成については同じ符号を付し,センシング対象値推定部28としての機能をΔtb決定部32とL1L2推定部33とが担っている。
【0041】
次に,図6に示した各構成の作用を説明する。角速度センサ11からの出力信号は,逐次第1ループメモリ21に蓄積される。センサ出力値がダイナミックレンジ内ならば第1ループメモリ21内のデータはそのまま第2ループメモリ23に逐次コピーされる。レンジオーバー開始/レンジ内復帰判定部27は,第1ループメモリ21に蓄積されたセンサ出力値を読み出し,レンジオーバー開始時刻t1とレンジ内復帰時刻t2とを記録する。
【0042】
レンジオーバー開始時に,L1L2推定部33は,時刻(t1−Δta)および時刻t1に対応するセンサ出力値を第1ループメモリ21から読み出す。そして,これらのセンサ出力値を用いて,例えば最小自乗法等により第1の近似直線L1(t)を求める。ここで,時間Δtaは,(1)1本直線近似の場合のものと同様に,あらかじめ設定された時間である。
【0043】
レンジ内復帰後に,第2の近似直線L2(t)を求める。そのために,時刻t2に到達しレンジ内復帰した後,あらかじめ設定した時間Δtb0だけ待つ。時刻t2〜時刻(t2+Δtb0)間に再度レンジオーバーとなった場合は,再度レンジオーバーとなった時刻t3を記録する。あるいは,時刻(t2+Δtb0)までに次のレンジオーバーが発生しなければ,時刻(t2+Δtb0)において,時刻t3=(t2+Δtb0)とおく。これらの時刻t1,t2,t3をΔtb決定部32に送る。Δtb決定部32は,あらかじめ設定された時間Δtb0と時刻t1,t2,t3とから,新たなΔtbを決定する。
【0044】
次に,Δtb決定部32におけるΔtbおよび第4点のセンサ出力値の決定方法について説明する。まず,t2+Δtb0≦t3の場合は,あらかじめ設定した時間Δtb0=Δtbとする。この場合は,第4点は時刻(t2+Δtb)=(t2+Δtb0)であり,その時刻(t2+Δtb)におけるセンサ出力値を第4点のセンサ出力値とする。
【0045】
一方,t2+Δtb0>t3であった場合には,次の2種類の決定法のうちいずれかを使用する。第1の決定法では,時刻t2〜時刻t3間でセンサ出力値がピーク値(最小)となった時刻を第4点の時刻t4とし,Δtb=t4−t2とする。またその時刻t4におけるセンサ出力値を第4点の時刻(t2+Δtb)におけるセンサ出力値とする。
【0046】
第2の決定法では,時刻t2と時刻t3の中間の時刻を第4点の時刻t4とする。すなわち,Δtb=(t3−t2)/2とする。また,時刻t2〜時刻t3間のセンサ出力値を平均した値のu倍を,この第4点の時刻t4=(t2+Δtb)におけるセンサ出力値として,センシング対象値推定処理に使用する。ここで,uは10以内の正の数であり,センサ出力波形から決定する。このuは,主として簡単な自然数比となる。例えば,自然数そのものや,その逆数等である。
【0047】
なお,第1の決定法は計算量が少なく,容易にΔtbおよび第4点のセンサ出力値を得ることができる。一方,第2の決定法は,平均化処理によってΔtbおよび第4点のセンサ出力値を得る手法であるので,センサ出力値にノイズが乗り,時刻t2〜時刻t3間のセンサ出力値の変動が大きい場合に効果的である。このように,Δtbをあらかじめ設定したものに限らず,時刻t3を考慮して求めることにより,近似する直線をより適切に求めることができる。
【0048】
以上のように決定したΔtbおよび第4点のセンサ出力値を用いて,L1L2推定部33は,第2の近似直線L2(t)を求める。まず,時刻t2のセンサ出力値を第1ループメモリ21から読み出す。この値とΔtb決定部32で決定されたΔtbおよび第4点のセンサ出力値を用いて,第2の近似直線L2(t)を求める。さらに,第1の近似直線L1(t)と第2の近似直線L2(t)との交点の時刻tgを求める。これにより,図5に示したように,時刻t1〜時刻tg間のセンシング対象値を第1の近似直線L1(t)で,時刻tg〜時刻t2間のセンシング対象値を第2の近似直線L2(t)で近似することができる。
【0049】
なおここでは,第2の近似直線L2(t)を決定する際に,レンジ内復帰後の時刻t2〜時刻(t2+Δtb0)間に再度レンジオーバーとなった場合について考慮し,Δtbを改めて決定する方法を説明した。一方,第1の近似直線L1(t)を決定する際にも同様に,レンジオーバー開始前の時刻(t1−Δta)〜時刻t1間にもレンジオーバーしていたという場合もあり得る。従って,第1の近似直線L1(t)をより精密に推定するためには,Δtaについても同様に決定し直すことが望ましい。また,(1)1本直線近似の場合にも同様に,Δtaを決定し直すとさらによい。
【0050】
L1L2推定部33は,レンジオーバー開始時に近似直線L1(t)を求め,その後レンジ内復帰までの間,継続的に近似直線L1(t)によりセンシング対象値推定値を生成していても良い。この場合,レンジオーバー中(時刻t1〜時刻t2)には,一旦近似直線L1(t)によるセンシング対象値推定値が第2ループメモリ23に書き込まれる。レンジ内復帰後,時刻(t2+Δtb)において,L1L2推定部33で得られた時刻t1〜時刻t2間のセンシング対象値推定値により,時刻tg〜時刻t2間の第2ループメモリ23のデータは上書きされる。
【0051】
この後,積算器24によってセンシング対象値の積算を行う。上記のように第2ループメモリ23に上書きされることにより,再計算された時刻tg〜時刻t2間の積算値は急激に変化し,積算結果が不連続になる。この不連続性を平滑器25によって安定させた後,表示部13に表示する。
【0052】
この(2)2本直線近似は,測定対象の慣性が比較的小さい場合に適している。すなわち,レンジオーバーしても比較的早くピークに達し,すぐにレンジ内に復帰するようなセンサであり,小型のロボットの関節に設けられる角速度センサ等である。また,測定対象の共振周期が,オーバーレンジ時間(t2−t1)より小さい場合や,センサのサンプリングタイムが運動の周期に比して長く,時間あたりのサンプリング数を十分得られない場合に適している。
【0053】
(3)ベジェ曲線近似は,図7に示すように,レンジオーバー中のセンシング対象値の推定値をその前後のセンサ出力値を利用したベジェ曲線L3(t)で近似したものである。(2)2本直線近似の場合と同様のΔta,Δtbを使って,時刻(t1−Δta),時刻t1,時刻t2,時刻(t2+Δtb)の4点でのセンサ出力値を用いてベジェ曲線L3(t)を算出する。従って,(2)2本直線近似の場合と同様に,レンジ内復帰後Δtb0だけ経過してから推定開始する。この推定方法を実施する場合の概略構成を図8に示す。この図では,図2と同じ構成については同じ符号を付し,センシング対象値推定部28としての機能をΔtb決定部32とベジェ曲線L3推定部34とが担っている。
【0054】
次に,図8に示した各構成の作用を説明する。角速度センサ11からの出力信号は,逐次第1ループメモリ21に蓄積される。センサ出力値がダイナミックレンジ内ならば第1ループメモリ21内のデータはそのまま第2ループメモリ23に逐次コピーされる。レンジオーバー開始/レンジ内復帰判定部27は,第1ループメモリ21に蓄積されたセンサ出力値を読み出し,レンジオーバー開始時刻t1とレンジ内復帰時刻t2とを記録する。また,(2)2本直線近似の場合と同様にΔtb決定部32によってΔtbおよび第4点のセンサ出力値が決定される。
【0055】
ベジェ曲線L3推定部34は,時刻t1およびあらかじめ決められた時間Δtaを用いて,時刻(t1−Δta)と時刻t1に対応するセンサ出力値を第1ループメモリ21から読み出す。また,レンジ内復帰した後,ベジェ曲線L3推定部34は,時刻t2に対応するセンサ出力値を第1ループメモリ21から読み出す。これらと,Δtb決定部32で決定されたΔtbおよび第4点のセンサ出力値との4つのセンサ出力値を用いて,ベジェ曲線L3推定部34はベジェ曲線L3を求める。さらに,求められたベジェ曲線L3によりセンシング対象値推定値を求め,第2ループメモリ23に書き込む。この後,積算器24によってセンシング対象値の積算を行う。さらに,平滑器25によって平滑化を行い,表示部13に表示する。また,(2)2本直線近似において記載したように,Δtaについても同様に決定し直すとさらによい。
【0056】
なお,ベジェ曲線(t,L3(t))は,4点のデータP1(x1,y1),P2(x2,y2),P3(x3,y3),P4(x4,y4)からmを0〜1の範囲で移動させることにより次式のように求められる。ここで,x1=t1−Δta,x2=t1,x3=t2,x4=t2+Δtbであり,y1〜y4は,それらの時刻におけるセンサ出力値である。
t=(1−m)3・x1+3(1−m)2・m・x2+3(1−m)・m2・x3+m3・x4…(式1)
L3(t)=(1−m)3・y1+3(1−m)2・m・y2+3(1−m)・m2・y3+m3・y4…(式2)
ただし,0≦m≦1である。ここで,m=0のときは点(t,L3(t))は点P1(x1,y1)に一致し,m=1のときは点(t,L3(t))は点P4(x4,y4)に一致する。
【0057】
この方法では,ベジェ曲線が時刻(t2+Δtb)において初めて決定されることから,時刻t1から時刻(t2+Δtb)までの間はダイナミックレンジD1あるいはD2を維持して積分した値を出力する。または,この間は,(1)1本直線近似と同様に,近似直線L1(t)によってセンシング対象値の推定を行っても良い。
【0058】
この方法は,推定のための関数を曲線で近似するため,測定対象の慣性が比較的大きく,動きがゆっくりしている場合に適している。また,測定対象の共振周期が,オーバーレンジ時間(t2−t1)より大きいものに適している。さらに,センサのサンプリングタイムが運動の周期に比して短く,時間あたりのサンプリング数を十分得られる場合にも適している。また,ロール角,ピッチ角等の本質的に限界があり必ず復帰するものに適している。なお,ここでは近似の手法としてベジェ曲線を用いたが,他に,2次曲線近似,正弦波近似,スプライン近似等であっても同様の効果が得られる。
【0059】
(4)減衰曲線近似は,図9に示すように,レンジオーバー開始時刻t1から,(1)1本直線近似と同様に近似直線L1(t)で近似し,外部情報を受けた後は減衰曲線L4(t)で近似する近似方法である。外部情報としては,例えば,対応する駆動モータの電流値,電圧値,抵抗値等が利用できる。これらの外部情報によって,駆動モータの回転トルクが消失したと判断できる時刻tsを得る。時刻tsより後では,摩擦力等によって角速度が減衰するため,一般的に徐々に停止に向かう。または,モータトルクと慣性力や抵抗力との組み合わせによってモータの回転がある程度以下に減少したと判断できたとき,その時刻tsを外部情報としてもよい。あるいは,データとして外部からの情報が無くても,センサが取り付けられている測定対象の物理特性等から求めても良い。この推定方法を実施する場合の概略構成を図10に示す。この図では,図2と同じ構成については同じ符号を付し,センシング対象値推定部28としての機能を外部情報入力部35とL1L4推定部36とが担っている。
【0060】
次に,図10に示した各構成の作用を説明する。角速度センサ11からの出力信号は,逐次第1ループメモリ21に蓄積される。センサ出力値がダイナミックレンジ内ならば第1ループメモリ21内のデータはそのまま第2ループメモリ23に逐次コピーされる。レンジオーバー開始/レンジ内復帰判定部27は,第1ループメモリ21に蓄積されたセンサ出力値を読み出し,レンジオーバー開始時刻t1とレンジ内復帰時刻t2とを記録する。
【0061】
L1L4推定部36は,レンジオーバー後すぐに,時刻t1およびあらかじめ決められた時間Δtaを用いて,時刻(t1−Δta)と時刻t1に対応するセンサ出力値を第1ループメモリ21から読み出す。そしてこれらのセンサ出力値を用いて,(1)1本直線近似の場合と同様に近似直線L1(t)を求める。その後,近似直線L1(t)からセンシング対象値推定値を求め,第2ループメモリ23に記録する。また,(2)2本直線近似において記載したように,Δtaを決定し直すとさらによい。
【0062】
外部情報入力部35から例えば回転トルクが減少したというようなトリガー信号が入力されると,L1L4推定部36は,そのときの時刻tsを記録する。さらに,時刻tsにおけるセンシング対象値推定値L1(ts)を求め,近似減衰曲線L4(t)を生成する。この近似減衰曲線L4(t)を用いて,時刻ts〜時刻t2のセンシング対象値推定値を求め,第2ループメモリ23に記録する。この後,積算器24によってセンシング対象値の積算を行う。さらに,平滑器25によって平滑化を行い,表示部13に表示する。
【0063】
減衰曲線L4(t)としては,例えば指数関数を用いる。
L4(t)=max((L1(ts)−β)・e-α(t-ts)+β,D2)…(式3):センサ出力値がD2の場合
L4(t)=min((β−L1(ts))・e-α(t-ts)−β,D1)…(式4):センサ出力値がD1の場合
ただし,αは減衰係数である。
時刻tsでは,eの乗数は0であり,L4(ts)=L1(ts)となる。時刻tsを超えると,式3は漸近線βを持つ減衰曲線となる。外部トルクが0になれば,運動体の動きは止まる方向に向かうので,漸近線はセンサの零点出力βとなる。ただし,対象モデルによっては,βをセンサの零点出力以外の値とする方が適切な場合もある。
【0064】
なお,レンジ内復帰する時刻t2以前に,減衰曲線の値がセンサダイナミックレンジの上限値D2または下限値D1に達した場合は,その後,式3ではL4(t)=D2,式4ではL4(t)=D1を維持する。また,レンジ内復帰時の減衰曲線の値がちょうどレンジ境界値となるように減衰係数αを定めても良い。ただし,この場合には復帰後に推定することになる。またあるいは,レンジ内復帰時に減衰曲線の値がまだレンジ境界値まで戻っていない場合には,このまま推定値とセンサ出力値とをつなぐとこの箇所にギャップができる。そこで,例えば(2)2本直線近似の第2の近似直線L2(t)を併用して,ギャップをならすようにしても良い。
【0065】
この方法は,例えば,モータが停止すると所定の位置に復帰していくような,モデルが分かっているものに適している。また,外部情報としては,モータトルクのみでなく,傾斜角センサ等の他の検出器の出力値や,通信等による外部からの信号によっても良い。また,この方法が選択されていても,外部情報が入力される以前にレンジ内に復帰した場合は,上記の(1)〜(3)のいすれかの方法を用いて推定する。
【0066】
次に,図11〜図15のフローチャートを参照して,この積算値推定装置20による処理を説明する。まず,図11のメイン処理について説明する。この処理は二足歩行ロボット1が動作されている間,繰り返し実行される。この処理が実行されるとまず,各時刻tにおける角速度センサ11のセンサ出力値を取得する(S101)。さらに,取得したセンサ出力値を第1ループメモリ21に蓄積する(S102)。
【0067】
次に,そのセンサ出力値から,レンジオーバー開始/レンジ内復帰判定部27により,角速度センサ11がレンジオーバー状態であるかどうかを判断する(S103)。レンジオーバー状態であると判断された場合は(S103:Yes),推定部22によりセンシング対象値推定処理を行う(S104)。この処理については後述する。
【0068】
あるいは,レンジオーバー状態でない場合は(S103:No),そのまま第2ループメモリ23に記録する(S105)。さらに,積算器24によってセンサ出力値を積算する(S106)。さらに,積算結果を平滑器25によって平滑化する(S107)。そして,求められた積算値を表示部13に表示し(S108),この処理を終了する。
【0069】
次に,S104で行われるセンシング対象値推定処理を図12〜図15の4通りについて説明する。これらはそれぞれ,図12に示す第1の方法が上記の(1)1本直線近似に相当する。また,図13に示す第2の方法が上記の(2)2本直線近似に相当する。また,図14に示す第3の方法が上記の(3)ベジェ曲線近似に相当する。また,図15に示す第4の方法が上記の(4)減衰曲線近似に相当する。二足歩行ロボット1の性能やセンサの種類等に応じて,あらかじめこれらの処理のうちから1つが選択されている。また,これらはいずれも,推定部22のセンシング対象値推定部28によって実行される。
【0070】
次に,第1の方法について図12に基づいて説明する。この処理が実行されると,まず角速度センサ11がレンジオーバー開始した時刻t1を取得する(S201)。そして,レンジオーバー前のデータを基に,近似直線L1(t)を求める(S202)。そして,そのL1(t)を用いてその時点でのセンシング対象値を推定する(S203)。この場合は,この値を推定センシング対象値として,この処理を終了しメイン処理に戻る。
【0071】
次に,第2の方法について図13に基づいて説明する。この処理が実行されると,まず角速度センサ11がレンジオーバー開始した時刻t1を取得する(S301)。次に,レンジ内復帰判定部27によってセンサ出力値がレンジ内に復帰したかどうかが判断される(S302)。復帰していない場合は(S302:No),レンジオーバー前のデータを基に,第1の近似直線L1(t)を求める(S303)。そして,そのL1(t)を用いてその時点でのセンシング対象値を推定する(S304)。この場合は,この値を推定センシング対象値として,この処理を終了しメイン処理に戻る。
【0072】
あるいは,センサ出力値がレンジ内復帰した場合は(S302:Yes),その復帰時刻t2を取得する(S305)。さらに,あらかじめ設定した時間Δtb0だけ時間が経過するのを待ち,新たな時間Δtbを決定する(S306)。得られた時間Δtbおよび第4点のセンサ出力値と,復帰時刻t2でのセンサ出力値とから,第2の近似直線L2(t)を求める(S307)。
【0073】
さらに,第1の近似直線L1(t)と第2の近似直線L2(t)との接合点tgを求める(S308)。次に,第2の近似直線L2(t)を用いて時刻tg〜t2間のセンシング対象値を推定する。そして,この第2の推定センシング対象値を,先に第1の近似直線L1(t)を用いて求めた推定センシング対象値(S304の結果)の時刻tg〜t2間のデータと置き換える(S309)。これで,この処理を終了してメイン処理に戻る。
【0074】
次に,第3の方法について図14に基づいて説明する。この処理が実行されると,まず角速度センサ11がレンジオーバー開始した時刻t1を取得する(S401)。次に,レンジ内復帰判定部27によってセンサ出力値がレンジ内に復帰したかどうかが判断される(S402)。復帰していない場合は何もせず,メイン処理に戻る。この方法では,復帰後にセンシング対象値の推定を行うので,復帰するまではメイン処理中のセンシング対象値推定処理(S104)以降の処理は行わない。
【0075】
あるいは,センサ出力値がレンジ内復帰した場合は(S402:Yes),その復帰時刻t2を取得する(S403)。さらに,あらかじめ設定した時間Δtb0だけ時間が経過するのを待ち,新たな時間Δtbを決定する(S404)。復帰時刻t2と時刻(t2+Δtb)との2点のセンサ出力値を第1ループメモリ21から読み出す(S405)。あるいは,新たに決定された第4点のセンサ出力値を時刻(t2+Δtb)におけるセンサ出力値に代えて使用する。また,レンジオーバー開始時刻t1でのセンサ出力値とその時間Δta前でのセンサ出力値とを第1ループメモリ21から読み出す(S406)。S405とS406の実行順序は逆でも良い。
【0076】
さらに,得られた4点のセンサ出力値から,ベジェ曲線L3(t)を作成する(S407)。さらに,S407で求めたベジェ曲線L3(t)を用いて時刻t1〜t2間のセンシング対象値を推定する(S408)。これでこの処理を終了してメイン処理に戻る。さらに,S408で得られた推定値を用いて,メイン処理中のレンジオーバー中には停止していた部分を算出実行し,表示する。なお,この方法でも,実時間では第2の方法等で推定しておき,レンジ内復帰後改めて推定し直して,推定センシング対象値を置き換えるようにしても良い。
【0077】
次に,第4の方法について図15に基づいて説明する。この処理が実行されると,まず角速度センサ11がレンジオーバー開始した時刻t1を取得する(S501)。レンジオーバー前のデータを基に,近似直線L1(t)を求める(S502)。次に,外部情報が入力されたかどうかが判断される(S503)。入力されていない場合は(S503:No),S502で求めた近似直線L1(t)を用いて,その時点でのセンシング対象値を推定する(S504)。このままレンジ内復帰した場合は,この値を推定センシング対象値として,この処理を終了しメイン処理に戻る。
【0078】
あるいは,モータ停止等の外部情報が入力されたら(S503:Yes),その外部情報の入力開始時刻tsを取得する。さらに,その時刻tsにおける推定センシング対象値L1(ts)を取得する(S505)。そしてそのL1(ts)を起点とする減衰曲線L4(t)を作成し,それによってセンシング対象値を推定する(S506)。この値を推定センシング対象値として,この処理を終了しメイン処理に戻る。なお,減衰曲線L4(t)による推定値が,レンジ内復帰時刻t2より前にレンジ上限値D2または下限値D1に到達した場合は,その後の推定値はその上限値D2または下限値D1で固定する。
【0079】
以上詳細に説明したように,本形態の二足歩行ロボット1によれば,積算値推定装置20が推定部22を有しているので,センサへダイナミックレンジを超えた入力があった場合でも,センシング対象値を推定することができる。さらに,推定部22は,レンジオーバー開始/レンジ内復帰判定部27,センシング対象値推定部28を有し,センシング対象値推定部28ではその推定方法を(1)1本直線近似,(2)2本直線近似,(3)ベジェ曲線近似,(4)減衰曲線近似等から使い分ける。従って,そのセンサの取り付けられている部材のモデルに応じて,適切に推定される。これにより,センサのダイナミックレンジを超えた入力があった場合のセンシング対象値を推定し,検出精度を向上させることができる。また,エンコーダを用いず,回転角速度の累積から角度を得ることができるので,ロボットの骨格に当たるリンクがたわんでも正しい角度が得られるというメリットがある。
【0080】
なお,本形態は単なる例示にすぎず,本発明を何ら限定するものではない。したがって本発明は当然に,その要旨を逸脱しない範囲内で種々の改良,変形が可能である。
例えば,上記の実施の形態では,(2)2本直線近似において,予測関数や逆算関数として直線を選択しているが,これらは曲線近似としてもよい。
また例えば,本形態では二足歩行ロボット1の肘関節に設けられた角速度センサ11のセンサ出力値を対象としたものとして記載しているが,センサの種類やそのセンサが設置される対象等は,どのようなものでも良い。また,本形態では積算器を用いてセンサ出力値を積算することにより肘角度を求めるとしているが,積算の必要のないセンサでは,この積算処理を省略すればよい。
【図面の簡単な説明】
【0081】
【図1】本形態の二足歩行ロボットのスケルトンモデルを示す概略構成図である。
【図2】本形態の積算値推定装置の概略構成を示すブロック図である。
【図3】1本直線近似によるセンシング対象値推定方法を示す説明図である。
【図4】1本直線近似による積算値推定装置の概略構成を示すブロック図である。
【図5】2本直線近似によるセンシング対象値推定方法を示す説明図である。
【図6】2本直線近似による積算値推定装置の概略構成を示すブロック図である。
【図7】ベジェ曲線近似によるセンシング対象値推定方法を示す説明図である。
【図8】ベジェ曲線近似による積算値推定装置の概略構成を示すブロック図である。
【図9】減衰曲線近似によるセンシング対象値推定方法を示す説明図である。
【図10】減衰曲線近似による積算値推定装置の概略構成を示すブロック図である。
【図11】センシング対象値推定方法のメイン処理を示すフローチャート図である。
【図12】第1のセンシング対象値推定方法を示すフローチャート図である。
【図13】第2のセンシング対象値推定方法を示すフローチャート図である。
【図14】第3のセンシング対象値推定方法を示すフローチャート図である。
【図15】第4のセンシング対象値推定方法を示すフローチャート図である。
【符号の説明】
【0082】
11 加速度センサ
20 積算値推定装置
21 第1ループメモリ
22 対象値推定部
23 第2ループメモリ
24 積算器
27 レンジオーバー開始/レンジ内復帰判定部
28 センシング対象値推定部
【技術分野】
【0001】
本発明は,例えばロボットの腕や足等に設置された角速度センサや加速度センサ等のセンサの出力値からそのセンシング対象値を推定するセンシング対象値推定装置およびその推定方法に関する。さらに詳細には,センサのダイナミックレンジを超えた入力があった場合のセンシング対象値を推定するセンシング対象値推定装置およびその推定方法に関するものである。
【背景技術】
【0002】
従来より,ロボットを指示に従って駆動させるために,ロボットの各部には各種のセンサが取り付けられている。例えば,肩部や肘部等の関節には角速度センサが設けられ,関節の回転角速度を累積して,上腕や下腕の角度やその先端部の位置等が求められている。むろん,このような例はロボットにも限らないし,角速度にも限らない。このようなセンサには,一般に,それぞれ所定の検出可能範囲(ダイナミックレンジ)があり,その範囲を超えた入力を受けた場合には,正確に検出することはできない。すなわち,入力がダイナミックレンジを超えている場合には,一般に,ダイナミックレンジの上限値または下限値が出力されるようになっている。そして,入力が再びダイナミックレンジ内に入れば,センサの出力値も正しく出力される。
【0003】
これに対して,特許文献1には,地磁気方位センサを用いて車両の走行方位を検出する車両用方位計において,外乱により地磁気方位センサへの入力がそのダイナミックレンジを超えたときの処理方法について開示されている。この文献の技術によれば,外乱によりセンサへの入力がダイナミックレンジを超えている時間の長さを基に,外乱の大きさとその発生時点とを予測できるとされている。
【特許文献1】特開平2−218911号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら,前記した従来の技術は,地磁気を利用して水平面内での車両の向きを測定する車両用方位計に特化された技術である。一般に,磁気外乱によってセンサ出力値は大きく変化するが,車両の姿勢自体は大きく変化したわけではない。また外乱の大きさによっては,車両の着磁という後遺症が発生するおそれがあるため,その外乱の大きさを取得することが重要となっている。
【0005】
これに対して,例えばロボットの腕部等の場合では,他の物体への衝突や足部の振動等による外乱は,腕の姿勢自体を変化させてしまう。特に,センサの出力値を積算して角度や位置を求めるもののように,履歴に応じた信号処理を持つ処理系では,ダイナミックレンジの上限値あるいは下限値となっているセンサ出力値をそのまま利用して計算を続けることは,誤差がますます蓄積することになるので好ましくない。
【0006】
また,ダイナミックレンジの大きいセンサを選択するという方法も考えられるが,一般にダイナミックレンジの大きいセンサは,分解能が低いという問題点がある。ダイナミックレンジの大きさと分解能とをともに満たすセンサは無く,あったとしてもごく高価で複雑な構造のものであって,一般的ではない。さらに,ダイナミックレンジの異なる複数のセンサを備えてそれらを使い分けることもできるが,センサの個数が増加するためコスト高となり,また制御も煩雑なものとなる。
【0007】
本発明は,前記した従来のセンシング対象値推定装置およびその推定方法が有する問題点を解決するためになされたものである。すなわちその課題とするところは,センサのダイナミックレンジを超えた入力があった場合のセンシング対象値を推定し,検出精度を向上させることのできるセンシング対象値推定装置およびその推定方法を提供することにある。
【課題を解決するための手段】
【0008】
この課題の解決を目的としてなされた本発明のセンシング対象値推定装置は,センサ出力値の変遷を記録する第1メモリと,センサ出力値に基づいてセンシング対象値のダイナミックレンジ内からの逸脱とダイナミックレンジ内への復帰とを検出するレンジ検出部と,レンジ検出部により検出された逸脱から復帰までの間について,第1メモリに記録されている逸脱前のセンサ出力値の変遷に基づいてセンシング対象値の変遷を推定する推定部とを有するものである。
【0009】
本発明のセンシング対象値推定装置では,センサ出力値の変遷が第1メモリに記録され,センサ出力値のダイナミックレンジ内からの逸脱とダイナミックレンジ内への復帰がレンジ検出部で検出される。さらに,検出された逸脱から復帰までの間のセンシング対象値が推定部で推定されるので,センシング対象値がセンサのダイナミックレンジを超えていても,推定部によって適切に推定される。従って,センサのダイナミックレンジを超えた入力があった場合のセンシング対象値を推定し,検出精度を向上させることのできるセンシング対象値推定装置となっている。
【0010】
さらに本発明では,推定部は,復帰後に,第1メモリに記録されている逸脱前と復帰後とのセンサ出力値の変遷に基づいてセンシング対象値の変遷を推定するものであることが望ましい。またさらに,推定部は,逸脱前のセンサ出力値の変遷に基づいてセンシング対象値の予測関数を決定する予測部を有し,予測部で決定した予測関数によりセンシング対象値の変遷を推定するものであることが望ましい。
【0011】
さらに本発明では,推定部は,逸脱前のセンサ出力値の変遷に基づいてセンシング対象値の予測関数を決定する予測部と,予測部で決定した予測関数の外部情報を受けた時点での値を初期値とする減衰関数を決定する減衰関数決定部とを有し,外部情報を受ける前については予測関数によりセンシング対象値の変遷を推定し,外部情報を受けた後については減衰関数決定部が決定した減衰関数によりセンシング対象値の変遷を推定するものであることが望ましい。
センシング対象値を変化させる要因の一部が外部装置にある場合,その外部装置から外部情報を受けることによりセンシング対象値の変遷をある程度推定できる。例えば,モータ等によって回転されているセンシング対象では,モータを停止したという外部情報に基づいて,その後のセンシング対象値を減衰関数で推定すれば,推定精度を向上させることができる。
【0012】
さらに本発明では,推定部は,逸脱前のセンサ出力値の変遷に基づいてセンシング対象値の予測関数を決定する予測部と,復帰後のセンサ出力値の変遷に基づいてセンシング対象値の逆算関数を決定する逆算部とを有し,予測部で決定した予測関数と逆算部が決定した逆算関数との交差時以前については予測関数によりセンシング対象値の変遷を推定し,交差時以後については逆算関数によりセンシング対象値の変遷を推定するものであることが望ましい。
このようにすれば,逸脱前と復帰後のそれぞれのセンサ出力値の変遷に基づいて,それぞれ逸脱後と復帰前の適切な推定値が選択されるので,より推定精度を向上させることができる。
【0013】
さらに本発明では,推定部は,逸脱前および復帰後のセンサ出力値の変遷に基づいてベジェ関数を決定するベジェ関数決定部を有し,ベジェ関数決定部が決定したベジェ関数によりセンシング対象値の変遷を推定するものであることが望ましい。
このようにすれば,逸脱前と復帰後との両方のセンサ出力値の変遷に基づいた関数が使用されているので,不自然に急激な変化が無い推定値が得られる。
【0014】
さらに本発明では,予測部は,センシング対象値のダイナミックレンジ内からの逸脱時点およびそこから所定時間さかのぼった時点でのセンサ出力値に基づいて予測関数を決定するとともに,所定時間さかのぼった時点でセンシング対象値がダイナミックレンジ内から逸脱していた場合には,所定時間さかのぼった時点でのセンサ出力値に替えて,復帰から逸脱までのセンサ出力値の波形に基づいて決定した値を用いるものであることが望ましい。
このようにすれば,予測部における予測関数の決定が,センシング対象値のダイナミックレンジ内からの逸脱時点とそこから所定時間さかのぼった時点とのセンサ出力値に基づいて行われる。さらに,センシング対象値のダイナミックレンジ内からの逸脱時点から所定時間さかのぼった時点までの間にさらにダイナミックレンジ内からの逸脱があった場合には,逸脱していない範囲のセンサ出力値の波形に基づいて決定される。従って,複数回の逸脱が断続的に発生したとしても,適切な予測関数が得られる。
【0015】
さらに本発明では,逆算部は,センシング対象値のダイナミックレンジ内への復帰時点およびそこから所定時間経過した時点でのセンサ出力値に基づいて逆算関数を決定するとともに,センシング対象値がダイナミックレンジ内へ復帰してから所定時間経過前に再びダイナミックレンジ内から逸脱した場合には,所定時間経過した時点でのセンサ出力値に替えて,復帰から逸脱までのセンサ出力値の波形に基づいて決定した値を用いるものであることが望ましい。
このようにすれば,逆算部における逆算関数の決定が,センシング対象値のダイナミックレンジ内への復帰時点とそこから所定時間経過した時点とのセンサ出力値に基づいて行われる。さらに,センシング対象値がダイナミックレンジ内へ復帰してから所定時間経過前に再びダイナミックレンジ内から逸脱した場合には,逸脱していない範囲のセンサ出力値の波形に基づいて決定される。従って,複数回の逸脱が断続的に発生したとしても,適切な逆算関数が得られる。
【0016】
さらに本発明では,ベジェ関数決定部は,センシング対象値のダイナミックレンジ内からの逸脱時点,そこから所定時間さかのぼった時点,センシング対象値のダイナミックレンジ内への復帰時点,およびそこから所定時間経過した時点でのセンサ出力値に基づいてベジェ関数を決定するとともに,所定時間さかのぼった時点でセンシング対象値がダイナミックレンジ内から逸脱していた場合には,所定時間さかのぼった時点でのセンサ出力値に替えて,復帰から逸脱までのセンサ出力値の波形に基づいて決定した値を用い,センシング対象値がダイナミックレンジ内へ復帰してから所定時間経過前に再びダイナミックレンジ内から逸脱した場合には,所定時間経過した時点でのセンサ出力値に替えて,復帰から逸脱までのセンサ出力値の波形に基づいて決定した値を用いるものであることが望ましい。
このようにすれば,複数回の逸脱が断続的に発生したとしても,適切なベジェ関数が得られる。
【0017】
さらに本発明では,センシング対象値のダイナミックレンジ内からの逸脱前とダイナミックレンジ内への復帰後についてはセンサ出力値を記録し,逸脱から復帰までの間については推定部による推定値を記録する第2メモリと,第2メモリに記録された値の積算値を求める積算部とを有することが望ましい。
このようにすれば,第2メモリには,センシング対象値がダイナミックレンジ内ではセンサ出力値が,ダイナミックレンジ外では推定部による推定値が記録される。この記録された値が積算部で積算されるので,より適切な積算値が得られる。
【0018】
また,本発明は,センサ出力値の変遷を第1メモリに記録し,センサ出力値に基づいてセンシング対象値のダイナミックレンジ内からの逸脱とダイナミックレンジ内への復帰とを検出し,第1メモリに記録されている逸脱前のセンサ出力値の変遷に基づいてセンシング対象値の予測関数を決定し,検出された逸脱から復帰までの間について,決定された予測関数によりセンシング対象値の変遷を推定するセンシング対象値推定方法にも及ぶ。
【0019】
さらに本発明のセンシング対象値推定方法では,決定された予測関数の外部情報を受けた時点での値を初期値とする減衰関数を決定し,外部情報を受ける前については予測関数によりセンシング対象値の変遷を推定し,外部情報を受けた後については決定された減衰関数によりセンシング対象値の変遷を推定することが望ましい。
【0020】
さらに本発明のセンシング対象値推定方法では,第1メモリに記録されている復帰後のセンサ出力値の変遷に基づいてセンシング対象値の逆算関数を決定し,決定された予測関数と決定された逆算関数との交差時以前については予測関数によりセンシング対象値の変遷を推定し,交差時以後については逆算関数によりセンシング対象値の変遷を推定することが望ましい。
【0021】
また,本発明は,センサ出力値の変遷を第1メモリに記録し,センサ出力値に基づいてセンシング対象値のダイナミックレンジ内からの逸脱とダイナミックレンジ内への復帰とを検出し,第1メモリに記録されている逸脱前および復帰後のセンサ出力値の変遷に基づいてベジェ関数を決定し,検出された逸脱から復帰までの間について,決定されたベジェ関数によりセンシング対象値の変遷を推定するセンシング対象値推定方法にも及ぶ。
【0022】
また,本発明のセンシング対象値推定方法は,予測関数の決定を,センシング対象値のダイナミックレンジ内からの逸脱時点およびそこから所定時間さかのぼった時点でのセンサ出力値に基づいて行うとともに,所定時間さかのぼった時点でセンシング対象値がダイナミックレンジ内から逸脱していた場合には,所定時間さかのぼった時点でのセンサ出力値に替えて,復帰から逸脱までのセンサ出力値の波形に基づいて決定した値を用いることが望ましい。
【0023】
また,本発明のセンシング対象値推定方法は,逆算関数の決定を,センシング対象値のダイナミックレンジ内への復帰時点およびそこから所定時間経過した時点でのセンサ出力値に基づいて行うとともに,センシング対象値がダイナミックレンジ内へ復帰してから所定時間経過前に再びダイナミックレンジ内から逸脱した場合には,所定時間経過した時点でのセンサ出力値に替えて,復帰から逸脱までのセンサ出力値の波形に基づいて決定した値を用いることが望ましい。
【0024】
また,本発明のセンシング対象値推定方法は,ベジェ関数の決定を,センシング対象値のダイナミックレンジ内からの逸脱時点,そこから所定時間さかのぼった時点,センシング対象値のダイナミックレンジ内への復帰時点,およびそこから所定時間経過した時点でのセンサ出力値に基づいて行うとともに,所定時間さかのぼった時点でセンシング対象値がダイナミックレンジ内から逸脱していた場合には,所定時間さかのぼった時点でのセンサ出力値に替えて,復帰から逸脱までのセンサ出力値の波形に基づいて決定した値を用い,センシング対象値がダイナミックレンジ内へ復帰してから所定時間経過前に再びダイナミックレンジ内から逸脱した場合には,所定時間経過した時点でのセンサ出力値に替えて,復帰から逸脱までのセンサ出力値の波形に基づいて決定した値を用いることが望ましい。
【発明の効果】
【0025】
本発明のセンシング対象値推定装置およびその推定方法によれば,センサのダイナミックレンジを超えた入力があった場合のセンシング対象値を推定し,検出精度を向上させることができる。
【発明を実施するための最良の形態】
【0026】
以下,本発明を具体化した最良の形態について,添付図面を参照しつつ詳細に説明する。本形態は,二足歩行ロボットに設けられ,腕部の回転角速度を測定する角速度センサと,そのダイナミックレンジを超えた入力があった場合でもセンシング対象値(ここでは,腕部の角速度)を推定する推定装置に本発明を適用したものである。
【0027】
本形態の二足歩行ロボット1は,そのスケルトンモデルを図1に示すように,肩部・肘部等の関節A〜関節Qまでの計17箇所の関節部を有している。さらに,各関節A〜Qには,それぞれ駆動用のモータと角速度等を検出するセンサとを有している。例えば,右手の肘部に相当する関節Pには角速度センサ11を有し,これにより右肘関節Pの回転角速度が検出されている。
【0028】
また,この二足歩行ロボット1では,この角速度センサ11の出力値を積算することにより,上腕に対する下腕の角度を求めることができる。同様に肩関節等の各自由度についても,各角速度センサの出力値を積算して,その基部に対する角度が求められる。これらを合わせることにより,各部の位置が得られる。例えば,本体部分に対する右手先の位置関係は,右肩関節(O,N)の角度と右肘関節Pの角度等を合わせて算出できる。
【0029】
従って,本形態の二足歩行ロボット1では,このようなセンサ出力値を順次積算した積算値を求めている。ここで,センサにそのダイナミックレンジを超えた入力が印加された場合は,センサ出力値はダイナミックレンジの上限値あるいは下限値に保持される。このため,そのセンサ出力値をそのまま積算すると,例えば手先位置等の算出結果の誤差が大きいものとなってしまう。そこで本形態では,このような場合にはセンサ出力値をそのまま積算するのでなく,その間のセンシング対象値を推定してその推定値を積算する。
【0030】
次に,本形態の二足歩行ロボット1において,各センサ出力値あるいはセンシング対象値の推定値の積算値を求めるための積算値推定装置20の概略構成を,図2のブロック図を参照して説明する。本形態の積算値推定装置20は,図2に示すように,角速度センサ11からそのセンサ出力値の入力を受けるとともに,タイマ12から時刻の入力を受け,算出した積算値を表示部13へ表示するものである。このタイマ12や表示部13は,二足歩行ロボット1に備えられていても良いし,別に備えて情報の送受信のみを行うようにしても良い。
【0031】
また,積算値推定装置20は,図2に示すように,第1ループメモリ21,推定部22,第2ループメモリ23,積算器24,平滑器25を有している。また,推定部22は,レンジオーバー開始/レンジ内復帰判定部27,センシング対象値推定部28を有している。ここで,推定部22は,角速度センサ11がレンジオーバー状態である場合に,センシング対象値である角速度を推定する部分である。ここで,レンジオーバー開始/レンジ内復帰判定部27がレンジ検出部に相当し,センシング対象値推定部28は予測部,減衰関数決定部,逆算部,ベジェ関数決定部を含んでいる。
【0032】
この積算値推定装置20では,第1ループメモリ21は,角速度センサ11の出力値の入力を受け,そのまま蓄積する。また,推定部22は,第1ループメモリ21に蓄積されたセンサ出力値を受けて,まず,レンジオーバー開始/レンジ内復帰判定部27によって角速度センサ11がレンジオーバーしているかどうかを判定する。レンジオーバーしていないと判定されたときはセンサ出力値をそのまま第2ループメモリ23に書き込む。この場合は,そのままシフトレジスタ等の積算器24を通して積算値が算出される。さらに,平滑器25によって平滑化し,その結果を表示部13へ出力して表示させる。
【0033】
あるいは,レンジオーバー開始/レンジ内復帰判定部27によって,角速度センサ11がレンジオーバーしたと判定された場合には,タイマ12からそのときの時刻t1を取得する。また積算器24による積算を停止し,とりあえず一定値を出力する。この区間の積算値については,推定したセンシング対象値を用いて後で修正する。また,レンジオーバー開始/レンジ内復帰判定部27によって,角速度センサ11のセンサ出力値がレンジ内に復帰したかどうかを判定する。復帰したと判断されたときは,タイマ12によってその時刻t2を取得する。さらに,センシング対象値推定部28によって時刻t1〜t2間の角速度を推定する。この推定方法については後述する。
【0034】
そして,センシング対象値推定部28によって推定されたセンシング対象値が第2ループメモリ23に入力される。以後は,レンジオーバーしていないときと同様に,積算器24によって第2ループメモリ23の値を積算する。また,平滑器25は,レンジオーバーによる積算値の変化が滑らかになるように,例えば移動平均やローパスフィルタによる平滑化を行う。さらにその結果を表示部13へ出力して表示させる。
【0035】
次に,センシング対象値推定部28による推定方法について説明する。推定方法としては,各種の条件に応じて(1)1本直線近似(図3参照),(2)2本直線近似(図5参照),(3)ベジェ曲線近似(図7参照),(4)減衰曲線近似(図9参照)等から使い分ける。これらの図では,角速度センサ11のダイナミックレンジdをD1≦d≦D2とし,レンジオーバー開始時刻t1からレンジ内復帰時刻t2までのセンシング対象値を推定している。図中太線で表示しているのは角速度センサ11の出力値である。なおここでは,レンジオーバー直前とレンジ復帰直後のセンサ出力値が直線的に変化しているように図示したが,このようなものに限らない。
【0036】
(1)1本直線近似は,図3に示すように,レンジオーバー開始時刻t1からレンジ内復帰時刻t2までのセンシング対象値を1本の直線L1(t)によって近似する方法である。すなわち,時刻(t1−Δta)〜時刻t1間のセンサ出力値を用いて,例えば最小自乗法等により求めた近似直線L1(t)によって近似する。この推定方法を実施する場合の概略構成を図4に示す。この図では,図2と同じ構成については同じ符号を付し,センシング対象値推定部28としての機能をL1推定部31が担っている。
【0037】
次に,図4に示した各構成の作用を説明する。角速度センサ11からの出力信号は,逐次第1ループメモリ21に蓄積される。センサ出力値がダイナミックレンジ内ならば第1ループメモリ21内のデータはそのまま第2ループメモリ23に逐次コピーされる。レンジオーバー開始/レンジ内復帰判定部27は,第1ループメモリ21に蓄積されたセンサ出力値を読み出し,レンジオーバー開始時刻t1とレンジ内復帰時刻t2とを記録する。
【0038】
センサ出力値がレンジオーバーとなった時刻t1において,L1推定部31は,時刻t1およびあらかじめ決められた時間Δtaを用いて,第1ループメモリ21から時刻(t1−Δta)および時刻t1に対応するセンサ出力値を読み出す。これらのセンサ出力値から近似直線L1(t)を求める。ここで,Δtaは,角速度センサ11のサンプリングタイムの定数倍,例えば1〜100倍程度の所定時間とする。さらに,L1推定部31では,近似直線L1(t)を用いて,レンジオーバー中(時刻t1〜時刻t2間)のセンシング対象値推定値を逐次計算する。
【0039】
レンジオーバー開始後すぐに,近似直線L1(t)を求め,レンジ内復帰するまで同じ直線で近似する。レンジオーバー中はL1推定部31で得られたセンシング対象値推定値を,逐次第2ループメモリ23に書き込む。この後,この推定値を用いて積算,平滑を行い,表示部13に表示する。センサ出力値がレンジ内復帰したら,第1ループメモリ21のデータがそのまま第2ループメモリ23に逐次コピーされる。このようにすることで,レンジ内復帰を待たずダイナミックレンジを超えている時間中も実時間で推定近似を行うことができる。この方法は,測定対象のモデルが全く不明な場合に適している。
【0040】
(2)2本直線近似は,図5に示すように,時刻t1直前のセンサ出力値の変化を延長した直線と,時刻t2直後のセンサ出力値の変化を逆方向に延長した直線との2本の直線による近似方法である。この推定方法を実施する場合の概略構成を図6に示す。この図では,図2と同じ構成については同じ符号を付し,センシング対象値推定部28としての機能をΔtb決定部32とL1L2推定部33とが担っている。
【0041】
次に,図6に示した各構成の作用を説明する。角速度センサ11からの出力信号は,逐次第1ループメモリ21に蓄積される。センサ出力値がダイナミックレンジ内ならば第1ループメモリ21内のデータはそのまま第2ループメモリ23に逐次コピーされる。レンジオーバー開始/レンジ内復帰判定部27は,第1ループメモリ21に蓄積されたセンサ出力値を読み出し,レンジオーバー開始時刻t1とレンジ内復帰時刻t2とを記録する。
【0042】
レンジオーバー開始時に,L1L2推定部33は,時刻(t1−Δta)および時刻t1に対応するセンサ出力値を第1ループメモリ21から読み出す。そして,これらのセンサ出力値を用いて,例えば最小自乗法等により第1の近似直線L1(t)を求める。ここで,時間Δtaは,(1)1本直線近似の場合のものと同様に,あらかじめ設定された時間である。
【0043】
レンジ内復帰後に,第2の近似直線L2(t)を求める。そのために,時刻t2に到達しレンジ内復帰した後,あらかじめ設定した時間Δtb0だけ待つ。時刻t2〜時刻(t2+Δtb0)間に再度レンジオーバーとなった場合は,再度レンジオーバーとなった時刻t3を記録する。あるいは,時刻(t2+Δtb0)までに次のレンジオーバーが発生しなければ,時刻(t2+Δtb0)において,時刻t3=(t2+Δtb0)とおく。これらの時刻t1,t2,t3をΔtb決定部32に送る。Δtb決定部32は,あらかじめ設定された時間Δtb0と時刻t1,t2,t3とから,新たなΔtbを決定する。
【0044】
次に,Δtb決定部32におけるΔtbおよび第4点のセンサ出力値の決定方法について説明する。まず,t2+Δtb0≦t3の場合は,あらかじめ設定した時間Δtb0=Δtbとする。この場合は,第4点は時刻(t2+Δtb)=(t2+Δtb0)であり,その時刻(t2+Δtb)におけるセンサ出力値を第4点のセンサ出力値とする。
【0045】
一方,t2+Δtb0>t3であった場合には,次の2種類の決定法のうちいずれかを使用する。第1の決定法では,時刻t2〜時刻t3間でセンサ出力値がピーク値(最小)となった時刻を第4点の時刻t4とし,Δtb=t4−t2とする。またその時刻t4におけるセンサ出力値を第4点の時刻(t2+Δtb)におけるセンサ出力値とする。
【0046】
第2の決定法では,時刻t2と時刻t3の中間の時刻を第4点の時刻t4とする。すなわち,Δtb=(t3−t2)/2とする。また,時刻t2〜時刻t3間のセンサ出力値を平均した値のu倍を,この第4点の時刻t4=(t2+Δtb)におけるセンサ出力値として,センシング対象値推定処理に使用する。ここで,uは10以内の正の数であり,センサ出力波形から決定する。このuは,主として簡単な自然数比となる。例えば,自然数そのものや,その逆数等である。
【0047】
なお,第1の決定法は計算量が少なく,容易にΔtbおよび第4点のセンサ出力値を得ることができる。一方,第2の決定法は,平均化処理によってΔtbおよび第4点のセンサ出力値を得る手法であるので,センサ出力値にノイズが乗り,時刻t2〜時刻t3間のセンサ出力値の変動が大きい場合に効果的である。このように,Δtbをあらかじめ設定したものに限らず,時刻t3を考慮して求めることにより,近似する直線をより適切に求めることができる。
【0048】
以上のように決定したΔtbおよび第4点のセンサ出力値を用いて,L1L2推定部33は,第2の近似直線L2(t)を求める。まず,時刻t2のセンサ出力値を第1ループメモリ21から読み出す。この値とΔtb決定部32で決定されたΔtbおよび第4点のセンサ出力値を用いて,第2の近似直線L2(t)を求める。さらに,第1の近似直線L1(t)と第2の近似直線L2(t)との交点の時刻tgを求める。これにより,図5に示したように,時刻t1〜時刻tg間のセンシング対象値を第1の近似直線L1(t)で,時刻tg〜時刻t2間のセンシング対象値を第2の近似直線L2(t)で近似することができる。
【0049】
なおここでは,第2の近似直線L2(t)を決定する際に,レンジ内復帰後の時刻t2〜時刻(t2+Δtb0)間に再度レンジオーバーとなった場合について考慮し,Δtbを改めて決定する方法を説明した。一方,第1の近似直線L1(t)を決定する際にも同様に,レンジオーバー開始前の時刻(t1−Δta)〜時刻t1間にもレンジオーバーしていたという場合もあり得る。従って,第1の近似直線L1(t)をより精密に推定するためには,Δtaについても同様に決定し直すことが望ましい。また,(1)1本直線近似の場合にも同様に,Δtaを決定し直すとさらによい。
【0050】
L1L2推定部33は,レンジオーバー開始時に近似直線L1(t)を求め,その後レンジ内復帰までの間,継続的に近似直線L1(t)によりセンシング対象値推定値を生成していても良い。この場合,レンジオーバー中(時刻t1〜時刻t2)には,一旦近似直線L1(t)によるセンシング対象値推定値が第2ループメモリ23に書き込まれる。レンジ内復帰後,時刻(t2+Δtb)において,L1L2推定部33で得られた時刻t1〜時刻t2間のセンシング対象値推定値により,時刻tg〜時刻t2間の第2ループメモリ23のデータは上書きされる。
【0051】
この後,積算器24によってセンシング対象値の積算を行う。上記のように第2ループメモリ23に上書きされることにより,再計算された時刻tg〜時刻t2間の積算値は急激に変化し,積算結果が不連続になる。この不連続性を平滑器25によって安定させた後,表示部13に表示する。
【0052】
この(2)2本直線近似は,測定対象の慣性が比較的小さい場合に適している。すなわち,レンジオーバーしても比較的早くピークに達し,すぐにレンジ内に復帰するようなセンサであり,小型のロボットの関節に設けられる角速度センサ等である。また,測定対象の共振周期が,オーバーレンジ時間(t2−t1)より小さい場合や,センサのサンプリングタイムが運動の周期に比して長く,時間あたりのサンプリング数を十分得られない場合に適している。
【0053】
(3)ベジェ曲線近似は,図7に示すように,レンジオーバー中のセンシング対象値の推定値をその前後のセンサ出力値を利用したベジェ曲線L3(t)で近似したものである。(2)2本直線近似の場合と同様のΔta,Δtbを使って,時刻(t1−Δta),時刻t1,時刻t2,時刻(t2+Δtb)の4点でのセンサ出力値を用いてベジェ曲線L3(t)を算出する。従って,(2)2本直線近似の場合と同様に,レンジ内復帰後Δtb0だけ経過してから推定開始する。この推定方法を実施する場合の概略構成を図8に示す。この図では,図2と同じ構成については同じ符号を付し,センシング対象値推定部28としての機能をΔtb決定部32とベジェ曲線L3推定部34とが担っている。
【0054】
次に,図8に示した各構成の作用を説明する。角速度センサ11からの出力信号は,逐次第1ループメモリ21に蓄積される。センサ出力値がダイナミックレンジ内ならば第1ループメモリ21内のデータはそのまま第2ループメモリ23に逐次コピーされる。レンジオーバー開始/レンジ内復帰判定部27は,第1ループメモリ21に蓄積されたセンサ出力値を読み出し,レンジオーバー開始時刻t1とレンジ内復帰時刻t2とを記録する。また,(2)2本直線近似の場合と同様にΔtb決定部32によってΔtbおよび第4点のセンサ出力値が決定される。
【0055】
ベジェ曲線L3推定部34は,時刻t1およびあらかじめ決められた時間Δtaを用いて,時刻(t1−Δta)と時刻t1に対応するセンサ出力値を第1ループメモリ21から読み出す。また,レンジ内復帰した後,ベジェ曲線L3推定部34は,時刻t2に対応するセンサ出力値を第1ループメモリ21から読み出す。これらと,Δtb決定部32で決定されたΔtbおよび第4点のセンサ出力値との4つのセンサ出力値を用いて,ベジェ曲線L3推定部34はベジェ曲線L3を求める。さらに,求められたベジェ曲線L3によりセンシング対象値推定値を求め,第2ループメモリ23に書き込む。この後,積算器24によってセンシング対象値の積算を行う。さらに,平滑器25によって平滑化を行い,表示部13に表示する。また,(2)2本直線近似において記載したように,Δtaについても同様に決定し直すとさらによい。
【0056】
なお,ベジェ曲線(t,L3(t))は,4点のデータP1(x1,y1),P2(x2,y2),P3(x3,y3),P4(x4,y4)からmを0〜1の範囲で移動させることにより次式のように求められる。ここで,x1=t1−Δta,x2=t1,x3=t2,x4=t2+Δtbであり,y1〜y4は,それらの時刻におけるセンサ出力値である。
t=(1−m)3・x1+3(1−m)2・m・x2+3(1−m)・m2・x3+m3・x4…(式1)
L3(t)=(1−m)3・y1+3(1−m)2・m・y2+3(1−m)・m2・y3+m3・y4…(式2)
ただし,0≦m≦1である。ここで,m=0のときは点(t,L3(t))は点P1(x1,y1)に一致し,m=1のときは点(t,L3(t))は点P4(x4,y4)に一致する。
【0057】
この方法では,ベジェ曲線が時刻(t2+Δtb)において初めて決定されることから,時刻t1から時刻(t2+Δtb)までの間はダイナミックレンジD1あるいはD2を維持して積分した値を出力する。または,この間は,(1)1本直線近似と同様に,近似直線L1(t)によってセンシング対象値の推定を行っても良い。
【0058】
この方法は,推定のための関数を曲線で近似するため,測定対象の慣性が比較的大きく,動きがゆっくりしている場合に適している。また,測定対象の共振周期が,オーバーレンジ時間(t2−t1)より大きいものに適している。さらに,センサのサンプリングタイムが運動の周期に比して短く,時間あたりのサンプリング数を十分得られる場合にも適している。また,ロール角,ピッチ角等の本質的に限界があり必ず復帰するものに適している。なお,ここでは近似の手法としてベジェ曲線を用いたが,他に,2次曲線近似,正弦波近似,スプライン近似等であっても同様の効果が得られる。
【0059】
(4)減衰曲線近似は,図9に示すように,レンジオーバー開始時刻t1から,(1)1本直線近似と同様に近似直線L1(t)で近似し,外部情報を受けた後は減衰曲線L4(t)で近似する近似方法である。外部情報としては,例えば,対応する駆動モータの電流値,電圧値,抵抗値等が利用できる。これらの外部情報によって,駆動モータの回転トルクが消失したと判断できる時刻tsを得る。時刻tsより後では,摩擦力等によって角速度が減衰するため,一般的に徐々に停止に向かう。または,モータトルクと慣性力や抵抗力との組み合わせによってモータの回転がある程度以下に減少したと判断できたとき,その時刻tsを外部情報としてもよい。あるいは,データとして外部からの情報が無くても,センサが取り付けられている測定対象の物理特性等から求めても良い。この推定方法を実施する場合の概略構成を図10に示す。この図では,図2と同じ構成については同じ符号を付し,センシング対象値推定部28としての機能を外部情報入力部35とL1L4推定部36とが担っている。
【0060】
次に,図10に示した各構成の作用を説明する。角速度センサ11からの出力信号は,逐次第1ループメモリ21に蓄積される。センサ出力値がダイナミックレンジ内ならば第1ループメモリ21内のデータはそのまま第2ループメモリ23に逐次コピーされる。レンジオーバー開始/レンジ内復帰判定部27は,第1ループメモリ21に蓄積されたセンサ出力値を読み出し,レンジオーバー開始時刻t1とレンジ内復帰時刻t2とを記録する。
【0061】
L1L4推定部36は,レンジオーバー後すぐに,時刻t1およびあらかじめ決められた時間Δtaを用いて,時刻(t1−Δta)と時刻t1に対応するセンサ出力値を第1ループメモリ21から読み出す。そしてこれらのセンサ出力値を用いて,(1)1本直線近似の場合と同様に近似直線L1(t)を求める。その後,近似直線L1(t)からセンシング対象値推定値を求め,第2ループメモリ23に記録する。また,(2)2本直線近似において記載したように,Δtaを決定し直すとさらによい。
【0062】
外部情報入力部35から例えば回転トルクが減少したというようなトリガー信号が入力されると,L1L4推定部36は,そのときの時刻tsを記録する。さらに,時刻tsにおけるセンシング対象値推定値L1(ts)を求め,近似減衰曲線L4(t)を生成する。この近似減衰曲線L4(t)を用いて,時刻ts〜時刻t2のセンシング対象値推定値を求め,第2ループメモリ23に記録する。この後,積算器24によってセンシング対象値の積算を行う。さらに,平滑器25によって平滑化を行い,表示部13に表示する。
【0063】
減衰曲線L4(t)としては,例えば指数関数を用いる。
L4(t)=max((L1(ts)−β)・e-α(t-ts)+β,D2)…(式3):センサ出力値がD2の場合
L4(t)=min((β−L1(ts))・e-α(t-ts)−β,D1)…(式4):センサ出力値がD1の場合
ただし,αは減衰係数である。
時刻tsでは,eの乗数は0であり,L4(ts)=L1(ts)となる。時刻tsを超えると,式3は漸近線βを持つ減衰曲線となる。外部トルクが0になれば,運動体の動きは止まる方向に向かうので,漸近線はセンサの零点出力βとなる。ただし,対象モデルによっては,βをセンサの零点出力以外の値とする方が適切な場合もある。
【0064】
なお,レンジ内復帰する時刻t2以前に,減衰曲線の値がセンサダイナミックレンジの上限値D2または下限値D1に達した場合は,その後,式3ではL4(t)=D2,式4ではL4(t)=D1を維持する。また,レンジ内復帰時の減衰曲線の値がちょうどレンジ境界値となるように減衰係数αを定めても良い。ただし,この場合には復帰後に推定することになる。またあるいは,レンジ内復帰時に減衰曲線の値がまだレンジ境界値まで戻っていない場合には,このまま推定値とセンサ出力値とをつなぐとこの箇所にギャップができる。そこで,例えば(2)2本直線近似の第2の近似直線L2(t)を併用して,ギャップをならすようにしても良い。
【0065】
この方法は,例えば,モータが停止すると所定の位置に復帰していくような,モデルが分かっているものに適している。また,外部情報としては,モータトルクのみでなく,傾斜角センサ等の他の検出器の出力値や,通信等による外部からの信号によっても良い。また,この方法が選択されていても,外部情報が入力される以前にレンジ内に復帰した場合は,上記の(1)〜(3)のいすれかの方法を用いて推定する。
【0066】
次に,図11〜図15のフローチャートを参照して,この積算値推定装置20による処理を説明する。まず,図11のメイン処理について説明する。この処理は二足歩行ロボット1が動作されている間,繰り返し実行される。この処理が実行されるとまず,各時刻tにおける角速度センサ11のセンサ出力値を取得する(S101)。さらに,取得したセンサ出力値を第1ループメモリ21に蓄積する(S102)。
【0067】
次に,そのセンサ出力値から,レンジオーバー開始/レンジ内復帰判定部27により,角速度センサ11がレンジオーバー状態であるかどうかを判断する(S103)。レンジオーバー状態であると判断された場合は(S103:Yes),推定部22によりセンシング対象値推定処理を行う(S104)。この処理については後述する。
【0068】
あるいは,レンジオーバー状態でない場合は(S103:No),そのまま第2ループメモリ23に記録する(S105)。さらに,積算器24によってセンサ出力値を積算する(S106)。さらに,積算結果を平滑器25によって平滑化する(S107)。そして,求められた積算値を表示部13に表示し(S108),この処理を終了する。
【0069】
次に,S104で行われるセンシング対象値推定処理を図12〜図15の4通りについて説明する。これらはそれぞれ,図12に示す第1の方法が上記の(1)1本直線近似に相当する。また,図13に示す第2の方法が上記の(2)2本直線近似に相当する。また,図14に示す第3の方法が上記の(3)ベジェ曲線近似に相当する。また,図15に示す第4の方法が上記の(4)減衰曲線近似に相当する。二足歩行ロボット1の性能やセンサの種類等に応じて,あらかじめこれらの処理のうちから1つが選択されている。また,これらはいずれも,推定部22のセンシング対象値推定部28によって実行される。
【0070】
次に,第1の方法について図12に基づいて説明する。この処理が実行されると,まず角速度センサ11がレンジオーバー開始した時刻t1を取得する(S201)。そして,レンジオーバー前のデータを基に,近似直線L1(t)を求める(S202)。そして,そのL1(t)を用いてその時点でのセンシング対象値を推定する(S203)。この場合は,この値を推定センシング対象値として,この処理を終了しメイン処理に戻る。
【0071】
次に,第2の方法について図13に基づいて説明する。この処理が実行されると,まず角速度センサ11がレンジオーバー開始した時刻t1を取得する(S301)。次に,レンジ内復帰判定部27によってセンサ出力値がレンジ内に復帰したかどうかが判断される(S302)。復帰していない場合は(S302:No),レンジオーバー前のデータを基に,第1の近似直線L1(t)を求める(S303)。そして,そのL1(t)を用いてその時点でのセンシング対象値を推定する(S304)。この場合は,この値を推定センシング対象値として,この処理を終了しメイン処理に戻る。
【0072】
あるいは,センサ出力値がレンジ内復帰した場合は(S302:Yes),その復帰時刻t2を取得する(S305)。さらに,あらかじめ設定した時間Δtb0だけ時間が経過するのを待ち,新たな時間Δtbを決定する(S306)。得られた時間Δtbおよび第4点のセンサ出力値と,復帰時刻t2でのセンサ出力値とから,第2の近似直線L2(t)を求める(S307)。
【0073】
さらに,第1の近似直線L1(t)と第2の近似直線L2(t)との接合点tgを求める(S308)。次に,第2の近似直線L2(t)を用いて時刻tg〜t2間のセンシング対象値を推定する。そして,この第2の推定センシング対象値を,先に第1の近似直線L1(t)を用いて求めた推定センシング対象値(S304の結果)の時刻tg〜t2間のデータと置き換える(S309)。これで,この処理を終了してメイン処理に戻る。
【0074】
次に,第3の方法について図14に基づいて説明する。この処理が実行されると,まず角速度センサ11がレンジオーバー開始した時刻t1を取得する(S401)。次に,レンジ内復帰判定部27によってセンサ出力値がレンジ内に復帰したかどうかが判断される(S402)。復帰していない場合は何もせず,メイン処理に戻る。この方法では,復帰後にセンシング対象値の推定を行うので,復帰するまではメイン処理中のセンシング対象値推定処理(S104)以降の処理は行わない。
【0075】
あるいは,センサ出力値がレンジ内復帰した場合は(S402:Yes),その復帰時刻t2を取得する(S403)。さらに,あらかじめ設定した時間Δtb0だけ時間が経過するのを待ち,新たな時間Δtbを決定する(S404)。復帰時刻t2と時刻(t2+Δtb)との2点のセンサ出力値を第1ループメモリ21から読み出す(S405)。あるいは,新たに決定された第4点のセンサ出力値を時刻(t2+Δtb)におけるセンサ出力値に代えて使用する。また,レンジオーバー開始時刻t1でのセンサ出力値とその時間Δta前でのセンサ出力値とを第1ループメモリ21から読み出す(S406)。S405とS406の実行順序は逆でも良い。
【0076】
さらに,得られた4点のセンサ出力値から,ベジェ曲線L3(t)を作成する(S407)。さらに,S407で求めたベジェ曲線L3(t)を用いて時刻t1〜t2間のセンシング対象値を推定する(S408)。これでこの処理を終了してメイン処理に戻る。さらに,S408で得られた推定値を用いて,メイン処理中のレンジオーバー中には停止していた部分を算出実行し,表示する。なお,この方法でも,実時間では第2の方法等で推定しておき,レンジ内復帰後改めて推定し直して,推定センシング対象値を置き換えるようにしても良い。
【0077】
次に,第4の方法について図15に基づいて説明する。この処理が実行されると,まず角速度センサ11がレンジオーバー開始した時刻t1を取得する(S501)。レンジオーバー前のデータを基に,近似直線L1(t)を求める(S502)。次に,外部情報が入力されたかどうかが判断される(S503)。入力されていない場合は(S503:No),S502で求めた近似直線L1(t)を用いて,その時点でのセンシング対象値を推定する(S504)。このままレンジ内復帰した場合は,この値を推定センシング対象値として,この処理を終了しメイン処理に戻る。
【0078】
あるいは,モータ停止等の外部情報が入力されたら(S503:Yes),その外部情報の入力開始時刻tsを取得する。さらに,その時刻tsにおける推定センシング対象値L1(ts)を取得する(S505)。そしてそのL1(ts)を起点とする減衰曲線L4(t)を作成し,それによってセンシング対象値を推定する(S506)。この値を推定センシング対象値として,この処理を終了しメイン処理に戻る。なお,減衰曲線L4(t)による推定値が,レンジ内復帰時刻t2より前にレンジ上限値D2または下限値D1に到達した場合は,その後の推定値はその上限値D2または下限値D1で固定する。
【0079】
以上詳細に説明したように,本形態の二足歩行ロボット1によれば,積算値推定装置20が推定部22を有しているので,センサへダイナミックレンジを超えた入力があった場合でも,センシング対象値を推定することができる。さらに,推定部22は,レンジオーバー開始/レンジ内復帰判定部27,センシング対象値推定部28を有し,センシング対象値推定部28ではその推定方法を(1)1本直線近似,(2)2本直線近似,(3)ベジェ曲線近似,(4)減衰曲線近似等から使い分ける。従って,そのセンサの取り付けられている部材のモデルに応じて,適切に推定される。これにより,センサのダイナミックレンジを超えた入力があった場合のセンシング対象値を推定し,検出精度を向上させることができる。また,エンコーダを用いず,回転角速度の累積から角度を得ることができるので,ロボットの骨格に当たるリンクがたわんでも正しい角度が得られるというメリットがある。
【0080】
なお,本形態は単なる例示にすぎず,本発明を何ら限定するものではない。したがって本発明は当然に,その要旨を逸脱しない範囲内で種々の改良,変形が可能である。
例えば,上記の実施の形態では,(2)2本直線近似において,予測関数や逆算関数として直線を選択しているが,これらは曲線近似としてもよい。
また例えば,本形態では二足歩行ロボット1の肘関節に設けられた角速度センサ11のセンサ出力値を対象としたものとして記載しているが,センサの種類やそのセンサが設置される対象等は,どのようなものでも良い。また,本形態では積算器を用いてセンサ出力値を積算することにより肘角度を求めるとしているが,積算の必要のないセンサでは,この積算処理を省略すればよい。
【図面の簡単な説明】
【0081】
【図1】本形態の二足歩行ロボットのスケルトンモデルを示す概略構成図である。
【図2】本形態の積算値推定装置の概略構成を示すブロック図である。
【図3】1本直線近似によるセンシング対象値推定方法を示す説明図である。
【図4】1本直線近似による積算値推定装置の概略構成を示すブロック図である。
【図5】2本直線近似によるセンシング対象値推定方法を示す説明図である。
【図6】2本直線近似による積算値推定装置の概略構成を示すブロック図である。
【図7】ベジェ曲線近似によるセンシング対象値推定方法を示す説明図である。
【図8】ベジェ曲線近似による積算値推定装置の概略構成を示すブロック図である。
【図9】減衰曲線近似によるセンシング対象値推定方法を示す説明図である。
【図10】減衰曲線近似による積算値推定装置の概略構成を示すブロック図である。
【図11】センシング対象値推定方法のメイン処理を示すフローチャート図である。
【図12】第1のセンシング対象値推定方法を示すフローチャート図である。
【図13】第2のセンシング対象値推定方法を示すフローチャート図である。
【図14】第3のセンシング対象値推定方法を示すフローチャート図である。
【図15】第4のセンシング対象値推定方法を示すフローチャート図である。
【符号の説明】
【0082】
11 加速度センサ
20 積算値推定装置
21 第1ループメモリ
22 対象値推定部
23 第2ループメモリ
24 積算器
27 レンジオーバー開始/レンジ内復帰判定部
28 センシング対象値推定部
【特許請求の範囲】
【請求項1】
センサ出力値の変遷を記録する第1メモリと,
センサ出力値に基づいてセンシング対象値のダイナミックレンジ内からの逸脱とダイナミックレンジ内への復帰とを検出するレンジ検出部と,
前記レンジ検出部により検出された逸脱から復帰までの間について,前記第1メモリに記録されている逸脱前のセンサ出力値の変遷に基づいてセンシング対象値の変遷を推定する推定部とを有することを特徴とするセンシング対象値推定装置。
【請求項2】
請求項1に記載のセンシング対象値推定装置において,
前記推定部は,復帰後に,前記第1メモリに記録されている逸脱前と復帰後とのセンサ出力値の変遷に基づいてセンシング対象値の変遷を推定するものであることを特徴とするセンシング対象値推定装置。
【請求項3】
請求項1に記載のセンシング対象値推定装置において,前記推定部は,
逸脱前のセンサ出力値の変遷に基づいてセンシング対象値の予測関数を決定する予測部を有し,
前記予測部で決定した予測関数によりセンシング対象値の変遷を推定するものであることを特徴とするセンシング対象値推定装置。
【請求項4】
請求項1に記載のセンシング対象値推定装置において,前記推定部は,
逸脱前のセンサ出力値の変遷に基づいてセンシング対象値の予測関数を決定する予測部と,
前記予測部で決定した予測関数の外部情報を受けた時点での値を初期値とする減衰関数を決定する減衰関数決定部とを有し,
外部情報を受ける前については予測関数によりセンシング対象値の変遷を推定し,外部情報を受けた後については前記減衰関数決定部が決定した減衰関数によりセンシング対象値の変遷を推定するものであることを特徴とするセンシング対象値推定装置。
【請求項5】
請求項2に記載のセンシング対象値推定装置において,前記推定部は,
逸脱前のセンサ出力値の変遷に基づいてセンシング対象値の予測関数を決定する予測部と,
復帰後のセンサ出力値の変遷に基づいてセンシング対象値の逆算関数を決定する逆算部とを有し,
前記予測部で決定した予測関数と前記逆算部が決定した逆算関数との交差時以前については予測関数によりセンシング対象値の変遷を推定し,交差時以後については逆算関数によりセンシング対象値の変遷を推定するものであることを特徴とするセンシング対象値推定装置。
【請求項6】
請求項2に記載のセンシング対象値推定装置において,前記推定部は,
逸脱前および復帰後のセンサ出力値の変遷に基づいてベジェ関数を決定するベジェ関数決定部を有し,
前記ベジェ関数決定部が決定したベジェ関数によりセンシング対象値の変遷を推定するものであることを特徴とするセンシング対象値推定装置。
【請求項7】
請求項3から請求項5までのいずれか1つに記載のセンシング対象値推定装置において,
前記予測部は,
センシング対象値のダイナミックレンジ内からの逸脱時点およびそこから所定時間さかのぼった時点でのセンサ出力値に基づいて予測関数を決定するとともに,
前記所定時間さかのぼった時点でセンシング対象値がダイナミックレンジ内から逸脱していた場合には,前記所定時間さかのぼった時点でのセンサ出力値に替えて,復帰から逸脱までのセンサ出力値の波形に基づいて決定した値を用いるものであることを特徴とするセンシング対象値推定装置。
【請求項8】
請求項5に記載のセンシング対象値推定装置において,前記逆算部は,
センシング対象値のダイナミックレンジ内への復帰時点およびそこから所定時間経過した時点でのセンサ出力値に基づいて逆算関数を決定するとともに,
センシング対象値がダイナミックレンジ内へ復帰してから所定時間経過前に再びダイナミックレンジ内から逸脱した場合には,前記所定時間経過した時点でのセンサ出力値に替えて,復帰から逸脱までのセンサ出力値の波形に基づいて決定した値を用いるものであることを特徴とするセンシング対象値推定装置。
【請求項9】
請求項6に記載のセンシング対象値推定装置において,
前記ベジェ関数決定部は,
センシング対象値のダイナミックレンジ内からの逸脱時点,そこから所定時間さかのぼった時点,センシング対象値のダイナミックレンジ内への復帰時点,およびそこから所定時間経過した時点でのセンサ出力値に基づいてベジェ関数を決定するとともに,
前記所定時間さかのぼった時点でセンシング対象値がダイナミックレンジ内から逸脱していた場合には,前記所定時間さかのぼった時点でのセンサ出力値に替えて,復帰から逸脱までのセンサ出力値の波形に基づいて決定した値を用い,
センシング対象値がダイナミックレンジ内へ復帰してから所定時間経過前に再びダイナミックレンジ内から逸脱した場合には,前記所定時間経過した時点でのセンサ出力値に替えて,復帰から逸脱までのセンサ出力値の波形に基づいて決定した値を用いるものであることを特徴とするセンシング対象値推定装置。
【請求項10】
請求項1から請求項9までのいずれか1つに記載のセンシング対象値推定装置において,
センシング対象値のダイナミックレンジ内からの逸脱前とダイナミックレンジ内への復帰後についてはセンサ出力値を記録し,逸脱から復帰までの間については前記推定部による推定値を記録する第2メモリと,
前記第2メモリに記録された値の積算値を求める積算部とを有することを特徴とするセンシング対象値推定装置。
【請求項11】
センサ出力値の変遷を第1メモリに記録し,
センサ出力値に基づいてセンシング対象値のダイナミックレンジ内からの逸脱とダイナミックレンジ内への復帰とを検出し,
第1メモリに記録されている逸脱前のセンサ出力値の変遷に基づいてセンシング対象値の予測関数を決定し,
検出された逸脱から復帰までの間について,決定された予測関数によりセンシング対象値の変遷を推定することを特徴とするセンシング対象値推定方法。
【請求項12】
請求項11に記載のセンシング対象値推定方法において,
決定された予測関数の外部情報を受けた時点での値を初期値とする減衰関数を決定し,
外部情報を受ける前については予測関数によりセンシング対象値の変遷を推定し,外部情報を受けた後については決定された減衰関数によりセンシング対象値の変遷を推定することを特徴とするセンシング対象値推定方法。
【請求項13】
請求項11に記載のセンシング対象値推定方法において,
第1メモリに記録されている復帰後のセンサ出力値の変遷に基づいてセンシング対象値の逆算関数を決定し,
決定された予測関数と決定された逆算関数との交差時以前については予測関数によりセンシング対象値の変遷を推定し,交差時以後については逆算関数によりセンシング対象値の変遷を推定することを特徴とするセンシング対象値推定方法。
【請求項14】
センサ出力値の変遷を第1メモリに記録し,
センサ出力値に基づいてセンシング対象値のダイナミックレンジ内からの逸脱とダイナミックレンジ内への復帰とを検出し,
第1メモリに記録されている逸脱前および復帰後のセンサ出力値の変遷に基づいてベジェ関数を決定し,
検出された逸脱から復帰までの間について,決定されたベジェ関数によりセンシング対象値の変遷を推定することを特徴とするセンシング対象値推定方法。
【請求項15】
請求項11に記載のセンシング対象値推定方法において,前記予測関数の決定を,
センシング対象値のダイナミックレンジ内からの逸脱時点およびそこから所定時間さかのぼった時点でのセンサ出力値に基づいて行うとともに,
前記所定時間さかのぼった時点でセンシング対象値がダイナミックレンジ内から逸脱していた場合には,前記所定時間さかのぼった時点でのセンサ出力値に替えて,復帰から逸脱までのセンサ出力値の波形に基づいて決定した値を用いることを特徴とするセンシング対象値推定方法。
【請求項16】
請求項13に記載のセンシング対象値推定方法において,前記逆算関数の決定を,
センシング対象値のダイナミックレンジ内への復帰時点およびそこから所定時間経過した時点でのセンサ出力値に基づいて行うとともに,
センシング対象値がダイナミックレンジ内へ復帰してから所定時間経過前に再びダイナミックレンジ内から逸脱した場合には,前記所定時間経過した時点でのセンサ出力値に替えて,復帰から逸脱までのセンサ出力値の波形に基づいて決定した値を用いることを特徴とするセンシング対象値推定方法。
【請求項17】
請求項14に記載のセンシング対象値推定方法において,前記ベジェ関数の決定を,
センシング対象値のダイナミックレンジ内からの逸脱時点,そこから所定時間さかのぼった時点,センシング対象値のダイナミックレンジ内への復帰時点,およびそこから所定時間経過した時点でのセンサ出力値に基づいて行うとともに,
前記所定時間さかのぼった時点でセンシング対象値がダイナミックレンジ内から逸脱していた場合には,前記所定時間さかのぼった時点でのセンサ出力値に替えて,復帰から逸脱までのセンサ出力値の波形に基づいて決定した値を用い,
センシング対象値がダイナミックレンジ内へ復帰してから所定時間経過前に再びダイナミックレンジ内から逸脱した場合には,前記所定時間経過した時点でのセンサ出力値に替えて,復帰から逸脱までのセンサ出力値の波形に基づいて決定した値を用いることを特徴とするセンシング対象値推定方法。
【請求項1】
センサ出力値の変遷を記録する第1メモリと,
センサ出力値に基づいてセンシング対象値のダイナミックレンジ内からの逸脱とダイナミックレンジ内への復帰とを検出するレンジ検出部と,
前記レンジ検出部により検出された逸脱から復帰までの間について,前記第1メモリに記録されている逸脱前のセンサ出力値の変遷に基づいてセンシング対象値の変遷を推定する推定部とを有することを特徴とするセンシング対象値推定装置。
【請求項2】
請求項1に記載のセンシング対象値推定装置において,
前記推定部は,復帰後に,前記第1メモリに記録されている逸脱前と復帰後とのセンサ出力値の変遷に基づいてセンシング対象値の変遷を推定するものであることを特徴とするセンシング対象値推定装置。
【請求項3】
請求項1に記載のセンシング対象値推定装置において,前記推定部は,
逸脱前のセンサ出力値の変遷に基づいてセンシング対象値の予測関数を決定する予測部を有し,
前記予測部で決定した予測関数によりセンシング対象値の変遷を推定するものであることを特徴とするセンシング対象値推定装置。
【請求項4】
請求項1に記載のセンシング対象値推定装置において,前記推定部は,
逸脱前のセンサ出力値の変遷に基づいてセンシング対象値の予測関数を決定する予測部と,
前記予測部で決定した予測関数の外部情報を受けた時点での値を初期値とする減衰関数を決定する減衰関数決定部とを有し,
外部情報を受ける前については予測関数によりセンシング対象値の変遷を推定し,外部情報を受けた後については前記減衰関数決定部が決定した減衰関数によりセンシング対象値の変遷を推定するものであることを特徴とするセンシング対象値推定装置。
【請求項5】
請求項2に記載のセンシング対象値推定装置において,前記推定部は,
逸脱前のセンサ出力値の変遷に基づいてセンシング対象値の予測関数を決定する予測部と,
復帰後のセンサ出力値の変遷に基づいてセンシング対象値の逆算関数を決定する逆算部とを有し,
前記予測部で決定した予測関数と前記逆算部が決定した逆算関数との交差時以前については予測関数によりセンシング対象値の変遷を推定し,交差時以後については逆算関数によりセンシング対象値の変遷を推定するものであることを特徴とするセンシング対象値推定装置。
【請求項6】
請求項2に記載のセンシング対象値推定装置において,前記推定部は,
逸脱前および復帰後のセンサ出力値の変遷に基づいてベジェ関数を決定するベジェ関数決定部を有し,
前記ベジェ関数決定部が決定したベジェ関数によりセンシング対象値の変遷を推定するものであることを特徴とするセンシング対象値推定装置。
【請求項7】
請求項3から請求項5までのいずれか1つに記載のセンシング対象値推定装置において,
前記予測部は,
センシング対象値のダイナミックレンジ内からの逸脱時点およびそこから所定時間さかのぼった時点でのセンサ出力値に基づいて予測関数を決定するとともに,
前記所定時間さかのぼった時点でセンシング対象値がダイナミックレンジ内から逸脱していた場合には,前記所定時間さかのぼった時点でのセンサ出力値に替えて,復帰から逸脱までのセンサ出力値の波形に基づいて決定した値を用いるものであることを特徴とするセンシング対象値推定装置。
【請求項8】
請求項5に記載のセンシング対象値推定装置において,前記逆算部は,
センシング対象値のダイナミックレンジ内への復帰時点およびそこから所定時間経過した時点でのセンサ出力値に基づいて逆算関数を決定するとともに,
センシング対象値がダイナミックレンジ内へ復帰してから所定時間経過前に再びダイナミックレンジ内から逸脱した場合には,前記所定時間経過した時点でのセンサ出力値に替えて,復帰から逸脱までのセンサ出力値の波形に基づいて決定した値を用いるものであることを特徴とするセンシング対象値推定装置。
【請求項9】
請求項6に記載のセンシング対象値推定装置において,
前記ベジェ関数決定部は,
センシング対象値のダイナミックレンジ内からの逸脱時点,そこから所定時間さかのぼった時点,センシング対象値のダイナミックレンジ内への復帰時点,およびそこから所定時間経過した時点でのセンサ出力値に基づいてベジェ関数を決定するとともに,
前記所定時間さかのぼった時点でセンシング対象値がダイナミックレンジ内から逸脱していた場合には,前記所定時間さかのぼった時点でのセンサ出力値に替えて,復帰から逸脱までのセンサ出力値の波形に基づいて決定した値を用い,
センシング対象値がダイナミックレンジ内へ復帰してから所定時間経過前に再びダイナミックレンジ内から逸脱した場合には,前記所定時間経過した時点でのセンサ出力値に替えて,復帰から逸脱までのセンサ出力値の波形に基づいて決定した値を用いるものであることを特徴とするセンシング対象値推定装置。
【請求項10】
請求項1から請求項9までのいずれか1つに記載のセンシング対象値推定装置において,
センシング対象値のダイナミックレンジ内からの逸脱前とダイナミックレンジ内への復帰後についてはセンサ出力値を記録し,逸脱から復帰までの間については前記推定部による推定値を記録する第2メモリと,
前記第2メモリに記録された値の積算値を求める積算部とを有することを特徴とするセンシング対象値推定装置。
【請求項11】
センサ出力値の変遷を第1メモリに記録し,
センサ出力値に基づいてセンシング対象値のダイナミックレンジ内からの逸脱とダイナミックレンジ内への復帰とを検出し,
第1メモリに記録されている逸脱前のセンサ出力値の変遷に基づいてセンシング対象値の予測関数を決定し,
検出された逸脱から復帰までの間について,決定された予測関数によりセンシング対象値の変遷を推定することを特徴とするセンシング対象値推定方法。
【請求項12】
請求項11に記載のセンシング対象値推定方法において,
決定された予測関数の外部情報を受けた時点での値を初期値とする減衰関数を決定し,
外部情報を受ける前については予測関数によりセンシング対象値の変遷を推定し,外部情報を受けた後については決定された減衰関数によりセンシング対象値の変遷を推定することを特徴とするセンシング対象値推定方法。
【請求項13】
請求項11に記載のセンシング対象値推定方法において,
第1メモリに記録されている復帰後のセンサ出力値の変遷に基づいてセンシング対象値の逆算関数を決定し,
決定された予測関数と決定された逆算関数との交差時以前については予測関数によりセンシング対象値の変遷を推定し,交差時以後については逆算関数によりセンシング対象値の変遷を推定することを特徴とするセンシング対象値推定方法。
【請求項14】
センサ出力値の変遷を第1メモリに記録し,
センサ出力値に基づいてセンシング対象値のダイナミックレンジ内からの逸脱とダイナミックレンジ内への復帰とを検出し,
第1メモリに記録されている逸脱前および復帰後のセンサ出力値の変遷に基づいてベジェ関数を決定し,
検出された逸脱から復帰までの間について,決定されたベジェ関数によりセンシング対象値の変遷を推定することを特徴とするセンシング対象値推定方法。
【請求項15】
請求項11に記載のセンシング対象値推定方法において,前記予測関数の決定を,
センシング対象値のダイナミックレンジ内からの逸脱時点およびそこから所定時間さかのぼった時点でのセンサ出力値に基づいて行うとともに,
前記所定時間さかのぼった時点でセンシング対象値がダイナミックレンジ内から逸脱していた場合には,前記所定時間さかのぼった時点でのセンサ出力値に替えて,復帰から逸脱までのセンサ出力値の波形に基づいて決定した値を用いることを特徴とするセンシング対象値推定方法。
【請求項16】
請求項13に記載のセンシング対象値推定方法において,前記逆算関数の決定を,
センシング対象値のダイナミックレンジ内への復帰時点およびそこから所定時間経過した時点でのセンサ出力値に基づいて行うとともに,
センシング対象値がダイナミックレンジ内へ復帰してから所定時間経過前に再びダイナミックレンジ内から逸脱した場合には,前記所定時間経過した時点でのセンサ出力値に替えて,復帰から逸脱までのセンサ出力値の波形に基づいて決定した値を用いることを特徴とするセンシング対象値推定方法。
【請求項17】
請求項14に記載のセンシング対象値推定方法において,前記ベジェ関数の決定を,
センシング対象値のダイナミックレンジ内からの逸脱時点,そこから所定時間さかのぼった時点,センシング対象値のダイナミックレンジ内への復帰時点,およびそこから所定時間経過した時点でのセンサ出力値に基づいて行うとともに,
前記所定時間さかのぼった時点でセンシング対象値がダイナミックレンジ内から逸脱していた場合には,前記所定時間さかのぼった時点でのセンサ出力値に替えて,復帰から逸脱までのセンサ出力値の波形に基づいて決定した値を用い,
センシング対象値がダイナミックレンジ内へ復帰してから所定時間経過前に再びダイナミックレンジ内から逸脱した場合には,前記所定時間経過した時点でのセンサ出力値に替えて,復帰から逸脱までのセンサ出力値の波形に基づいて決定した値を用いることを特徴とするセンシング対象値推定方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2007−78610(P2007−78610A)
【公開日】平成19年3月29日(2007.3.29)
【国際特許分類】
【出願番号】特願2005−269774(P2005−269774)
【出願日】平成17年9月16日(2005.9.16)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【出願人】(000003609)株式会社豊田中央研究所 (4,200)
【Fターム(参考)】
【公開日】平成19年3月29日(2007.3.29)
【国際特許分類】
【出願日】平成17年9月16日(2005.9.16)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【出願人】(000003609)株式会社豊田中央研究所 (4,200)
【Fターム(参考)】
[ Back to top ]