(57)【要約】【課題】低費用、簡潔、かつ効率的に、既存のロボットに新しいセンサ機能を提供する。【解決手段】ロボットとは別個のプロセッサが、前記ロボットとは別個の外部センサからセンサ信号を受信し、受信した前記センサ信号に基づいて、複数のロボットセンサの１つのシミュレートセンサ信号を計算し、計算に基づいて前記複数のロボットセンサの１つの前記シミュレートセンサ信号を生成し、生成した前記シミュレートセンサ信号を前記ロボットに送信する。【選択図】図１
2017109296.tif 000002
【特許請求の範囲】
【請求項１】
複数のロボットセンサを含むロボットのシミュレートセンサ信号を生成する方法であって、
前記ロボットとは別個のプロセッサが、
前記ロボットとは別個の外部センサからセンサ信号を受信し、
受信した前記センサ信号に基づいて、前記複数のロボットセンサの１つのシミュレートセンサ信号を計算し、
計算に基づいて前記複数のロボットセンサの１つの前記シミュレートセンサ信号を生成し、
生成した前記シミュレートセンサ信号を前記ロボットに送信する、
方法。
【請求項２】
前記外部センサは位置センサであり、
受信した前記センサ信号は位置信号である、
請求項１に記載の方法。
【請求項３】
前記複数のロボットセンサの１つは障害物距離センサである、
請求項１または請求項２に記載の方法。
【請求項４】
前記複数のロボットセンサの１つの前記シミュレートセンサ信号は、一つもしくは複数のオブジェクトの既知位置に少なくとも部分的に基づいて計算される、
請求項１〜請求項３の何れか１項に記載の方法。
【請求項５】
信号調整回路を使用して、生成した前記シミュレートセンサ信号を調整する、
ことをさらに含む、
請求項１〜請求項４の何れか１項に記載の方法。
【請求項６】
調整することは、生成した前記シミュレートセンサ信号を整流することを含む、
請求項５に記載の方法。
【請求項７】
調整することは、生成した前記シミュレートセンサ信号を増幅し、対応するロボットセンサのパラメータに適合させることを含む、
請求項５に記載の方法。
【請求項８】
前記外部センサは、位置符号化光信号を検出する光センサであり、
前記プロセッサは、検出した前記位置符号化光信号から位置情報を復号する、
請求項１〜請求項７の何れか１項に記載の方法。
【請求項９】
前記外部センサは加速度センサである、
請求項１〜請求項８の何れか１項に記載の方法。
【請求項１０】
前記外部センサは方向センサである、請求項１〜請求項９の何れか１項に記載の方法。
【請求項１１】
前記外部センサは音センサである、
請求項１〜請求項１０の何れか１項に記載の方法。
【請求項１２】
生成した前記シミュレートセンサ信号は電圧信号である、
請求項１〜請求項１１の何れか１項に記載の方法。
【請求項１３】
生成した前記シミュレートセンサ信号はタイミング信号である、
請求項１〜請求項１２の何れか１項に記載の方法。
【請求項１４】
複数のロボットセンサを含むロボットのシミュレートセンサ信号を生成するシステムであって、
前記ロボットとは別個であり、外部センサ信号を出力する外部センサと、
前記ロボットとは別個であり、前記外部センサ信号に基づいて、前記複数のロボットセンサの１つのシミュレートセンサ信号を計算する、プロセッサと、
計算に基づいて、前記複数のロボットセンサの１つの前記シミュレートセンサ信号を生成し、前記ロボットに生成した前記シミュレートセンサ信号を送信する、出力インターフェイスと、
を含む、システム。
【請求項１５】
前記出力インターフェイスは、音声インターフェイスジャックを含む、
請求項１４に記載のシステム。
【請求項１６】
前記外部センサは、位置センサであり、
前記外部センサ信号は位置信号である、
請求項１４または請求項１５に記載のシステム。
【請求項１７】
前記複数のロボットセンサの１つの前記シミュレートセンサ信号は、一つもしくは複数のオブジェクトの既知位置に少なくとも部分的に基づいて計算される、
請求項１４〜請求項１６の何れか１項に記載のシステム。
【請求項１８】
生成した前記シミュレートセンサ信号を調整する信号調整回路をさらに含む、請求項１４〜請求項１７の何れか１項に記載のシステム。
【請求項１９】
前記信号調整回路は、生成した前記シミュレートセンサ信号を整流するフィルタリング段階をさらに含む、
請求項１８に記載のシステム。
【請求項２０】
前記信号調整回路は、生成した前記シミュレートセンサ信号を増幅し、対応するロボットセンサのパラメータに適合させる増幅段階を含む、
請求項１８または請求項１９に記載のシステム。
【請求項２１】
ロボットとは別個である外部センサからセンサ信号を受信し、
ロボットとは別個であるプロセッサを使用して、受信した前記センサ信号に基づいて、前記ロボットが含む複数のロボットセンサの１つのシミュレートセンサ信号を計算し、
計算に基づいて、前記複数のロボットセンサの１つの前記シミュレートセンサ信号を生成し、
生成したシミュレートセンサ信号を前記ロボットに送信する、
複数のロボットセンサを含むロボットのシミュレートセンサ信号を生成する処理をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、複数のロボットセンサを含むロボットのシミュレートセンサ信号を生成する方法、システムおよびプログラムに関する。
【背景技術】
【０００２】
従来の方法で販売されたロボットにセキュリティフェンスもしくはダイナミックナビゲーションマップなどの新しい特別な機能を追加することは容易なタスクではない。通常、ロボットの所有者はロボットを製造業者に送り返し、新しいセンサを装備し、マップもしくはセキュリティフェンスを画定する新しいハードウェアおよびソフトウェアインターフェイスを追加し、新しいハードウェアおよび対応する新しい機能のための新しいアルゴリズムでコアコントロールユニットをプログラミングし直さなければならない。上記した必要とされるステップによって、ロボットのアップグレードプロセスには多くの費用および時間がかかる。
【０００３】
一方、ロボットは、ナビゲーションを支援するために、多くの異なるセンサを必要とするかもしれない。ロボットは、ロボットが線の左側に存在するか、右側に存在するかを知るために、線検出センサを必要とするかもしれない。これにより、ロボットは予め定められた線に添って移動することができる。ロボットは、ロボットが既存の障害物にどれくらい近いかを知り、衝突を避けるために、距離センサを必要とするかもしれない。ロボットは、写真もしくはビデオを撮影するなどのあるタスクを行うために、向きをどれくらい変化させるべきかをロボットが正確に知るための向きセンサを必要とするかもしれない。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許第９２０７７８０号
【非特許文献】
【０００５】
【非特許文献１】［ｏｎｌｉｎｅ］、［２０１６年５月１８日検索］、インターネット（URL:http://nxtprograms.com/line_follower/steps.html）
【非特許文献２】［ｏｎｌｉｎｅ］、［２０１６年５月１８日検索］、インターネット（URL:https://www.adafruit.com/products/1715）
【非特許文献２】［ｏｎｌｉｎｅ］、［２０１６年５月１８日検索］、インターネット（URL: http://letsmakerobots.com/robot/project/rero-robot-kit-the-review-second-part-ultrasonic-obstacle-avoidance-4-wheel-car）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本開示は、低費用、簡潔、かつ効率的に、既存のロボットに新しいセンサ機能を提供することを目的とする。
【課題を解決するための手段】
【０００７】
第１の態様は、複数のロボットセンサを含むロボットのシミュレートセンサ信号を生成する方法であって、前記ロボットとは別個のプロセッサが、前記ロボットとは別個の外部センサからセンサ信号を受信し、受信した前記センサ信号に基づいて、前記複数のロボットセンサの１つのシミュレートセンサ信号を計算し、計算に基づいて前記複数のロボットセンサの１つの前記シミュレートセンサ信号を生成し、生成した前記シミュレートセンサ信号を前記ロボットに送信する。
【０００８】
第２の態様は、第１の態様の方法であって、前記外部センサは位置センサであり、受信した前記センサ信号は位置信号である。
【０００９】
第３の態様は、第１または第２の態様の方法であって、前記複数のロボットセンサの１つは障害物距離センサである。
【００１０】
第４の態様は、第１〜第３の何れかの態様の方法であって、前記複数のロボットセンサの１つの前記シミュレートセンサ信号は、一つもしくは複数のオブジェクトの既知位置に少なくとも部分的に基づいて計算される。
【００１１】
第５の態様は、第１〜第４の何れかの態様の方法であって、信号調整回路を使用して、生成した前記シミュレートセンサ信号を調整する、ことをさらに含む。
【００１２】
第６の態様は、第５の態様の方法であって、調整することは、生成した前記シミュレートセンサ信号を整流することを含む。
【００１３】
第７の態様は、第５の態様の方法であって、調整することは、生成した前記シミュレートセンサ信号を増幅し、対応するロボットセンサのパラメータに適合させることを含む。
【００１４】
第８の態様は、第１〜第７の何れかの態様の方法であって、前記外部センサは、位置符号化光信号を検出する光センサであり、前記プロセッサは、検出した前記位置符号化光信号から位置情報を復号する。
【００１５】
第９の態様は、第１〜第８の何れかの態様の方法であって、前記外部センサは加速度センサである。
【００１６】
第１０の態様は、第１〜第９の何れかの態様の方法であって、前記外部センサは方向センサである。
【００１７】
第１１の態様は、第１〜第１０の何れかの態様の方法であって、前記外部センサは音センサである。
【００１８】
第１２の態様は、第１〜第１１の何れかの態様の方法であって、生成した前記シミュレートセンサ信号は電圧信号である。
【００１９】
第１３の態様は、第１〜第１２の何れかの態様の方法であって、生成した前記シミュレートセンサ信号はタイミング信号である。
【００２０】
第１４の態様は、複数のロボットセンサを含むロボットのシミュレートセンサ信号を生成するシステムであって、前記ロボットとは別個であり、外部センサ信号を出力する外部センサと、前記ロボットとは別個であり、前記外部センサ信号に基づいて、前記複数のロボットセンサの１つのシミュレートセンサ信号を計算する、プロセッサと、計算に基づいて、前記複数のロボットセンサの１つの前記シミュレートセンサ信号を生成し、前記ロボットに生成した前記シミュレートセンサ信号を送信する、出力インターフェイスと、を含む。
【００２１】
第１５の態様は、第１４の態様のシステムであって、前記出力インターフェイスは、音声インターフェイスジャックを含む。
【００２２】
第１６の態様は、第１４または第１５の態様のシステムであって、前記外部センサは、位置センサであり、前記外部センサ信号は位置信号である。
【００２３】
第１７の態様は、第１４〜第１６の何れかの態様のシステムであって、前記複数のロボットセンサの１つの前記シミュレートセンサ信号は、一つもしくは複数のオブジェクトの既知位置に少なくとも部分的に基づいて計算される。
【００２４】
第１８の態様は、第１４〜第１７の何れかの態様のシステムであって、生成した前記シミュレートセンサ信号を調整する信号調整回路をさらに含む。
【００２５】
第１９の態様は、第１８の態様のシステムであって、前記信号調整回路は、生成した前記シミュレートセンサ信号を整流するフィルタリング段階をさらに含む。
【００２６】
第２０の態様は、第１８または第１９の態様のシステムであって、前記信号調整回路は、生成した前記シミュレートセンサ信号を増幅し、対応するロボットセンサのパラメータに適合させる増幅段階を含む。
【００２７】
第２１の態様は、プログラムであって、ロボットとは別個である外部センサからセンサ信号を受信し、ロボットとは別個であるプロセッサを使用して、受信した前記センサ信号に基づいて、前記ロボットが含む複数のロボットセンサの１つのシミュレートセンサ信号を計算し、計算に基づいて、前記複数のロボットセンサの１つの前記シミュレートセンサ信号を生成し、生成したシミュレートセンサ信号を前記ロボットに送信する、複数のロボットセンサを含むロボットのシミュレートセンサ信号を生成する処理をコンピュータに実行させる。
【発明の効果】
【００２８】
本開示は、低費用、簡潔、かつ効率的に、既存のロボットに新しいセンサ機能を提供する。
【図面の簡単な説明】
【００２９】
【図１】ロボットの様々なセンサ信号をシミュレートするシステムを例示する。
【図２】信号調整回路を例示する。
【図３】ロボットの位置を決定するために符号化光を使用する、ロボットの距離センサ出力信号をシミュレートするシステムを例示する。
【図４】携帯計算処理システムで稼動するソフトウェアアプリケーションの動作シーケンスを例示する。
【図５】図１の携帯計算処理システムとして使用され得る計算処理システムを例示する。
【発明を実施するための形態】
【００３０】
本開示に関連する態様は、以下に記載されるか、以下の記載から明らかであるか、もしくは、本開示の実行によって理解される。本開示の態様は、構成要素および様々な構成要素の組み合わせ、以下の詳細な説明で示される態様で実現され、また、達成される。以上および以下の記載は、説明を意図しており、本開示を限定することを意図していない。
【００３１】
以下の詳細な説明において、添付の図面を参照する。図面において、同様の機能を有する構成要素には同様の参照符号を付す。上記添付の図面は例示のための図面であり、限定のための図面ではない。特定の実施例および実装は、本開示の原理と矛盾しない。これらの実装は、当業者が本開示を実行することが可能な程度に十分詳細に記載されている。本開示の範囲および思想から乖離することなく、他の実装が利用可能であり、構造の変更および／もしくは様々な構成要素の置き換えが可能である。したがって、以下の詳細な説明は、限定的な意味で解釈されるべきではない。また、本開示の様々な実施形態は、汎用用途コンピュータで稼動するソフトウェアの形態で実装されてもよいし、特定用途ハードウェアの形態で実装されてもよいし、ソフトウェアおよびハードウェアの組み合わせで実装されてもよい。
【００３２】
ここで説明する実施形態の一態様は、コントロールユニットもしくは新しいセンサからコアコントロールユニットへの配線を変更することなく、既存のロボットに、位置決定センサなどの正確なセンサを導入するシステムおよび方法を提供する。開示するシステムおよび方法は、携帯電話で容易に実行されるソフトウェアアップグレードによって既存のロボットに新しい機能を追加することを容易にする。
【００３３】
ここで説明された一つもしくは複数の実施形態は、正確な位置決定センサおよび携帯電話で構成されるシミュレートしたセンサ（以下、シミュレートセンサ）を利用して、多くの既存の実在のセンサを置き替え、および／または、増強する。「シミュレートセンサ」を使用することによって、位置決定センサの測定値を実際の信号出力に変換する。実際の信号出力は、実際の距離センサ出力、実際の方向センサ出力、もしくは実際の線追従センサ出力などに類似する。本開示の一つもしくは複数の実施形態を使用して、配線をし直すことなく、また、カスタマイズしたハードウェアを追加することなく、ロボットの対応するセンサ入力にこれらのシミュレートした出力を入力することで、従来のロボットをアップグレードすることができる。
【００３４】
一例において、ロボティックコミュニティではたいへんポピュラーであり、市販されている車のようなロボットＳｐａｒｋｉは、５個の赤外線線追従センサを備えている。他の例として、広く市販されているＲｅｒｏロボットは、ＨＣ−ＳＲ０４超音波センサを有し、オブジェクトを検出し、障害物を避ける。しかしながら、Ｓｐａｒｋｉロボットに備えられた赤外線センサはオブジェクトが反射する色に過敏である。赤外線センサの出力は反射した赤外線ビームの測定値に基づいているためである。また、上記赤外線センサによって出力される測定値は、直接的な日光、および間接的な日光の双方の影響を受ける可能性が高い。また、赤外線距離センサは非線形出力を有する。即ち、距離が線形に増加するに従って、アナログ出力は非線形に増減する、ということである。Ｒｅｒｏロボットの超音波距離センサは日光もしくは黒い物質によって影響されないが、布およびフォームのような音響的に柔らかい物質は音エネルギーを吸収し、長い距離での検出を困難にすることがある。さらに、超音波センサは、通常、信頼できる検知のために多量の音エコーを受信することができるように、最小ターゲット面領域を必要とする。戻ってきたエコーを受信する準備が整う前に、伝送バーストの各々の後リンギング（ringing）を停止するためにセンサは時間を必要とする。結果として、応答周波数は、一般的に、他の技術分野の応答周波数よりも低く、おおよそ１０Ｈｚである。
【００３５】
従来のハードウェアセンサの実質的な欠点は、これらの例示的なロボット（ＳｐａｒｋｉおよびＲｅｒｏ)を正確にナビゲートすることを困難とさせる。したがって、一実施形態によれば、線追従および衝突検出の信頼性を向上させるために、特別なソフトウェアを使用し、線追従センサエラー出力信号および障害物距離センサ信号を擬態する。
【００３６】
当該技術分野で知られているように、上記Ｓｐａｒｋｉロボットの赤外線センサの出力は、電圧信号であり、ロボットとロボットの前のオブジェクトとの間の距離を示す。この出力電圧信号は、この距離と反比例し、通常、０Ｖ〜５Ｖの間の値をもつ。上記Ｒｅｒｏロボットの超音波距離センサの出力は異なる。センサが前方のオブジェクトから反射した超音波を検出すると、センサの特定のピンをハイにセットする。ハイは通常５Ｖであり、センサとオブジェクトとの間の距離に比例する期間遅延する。２つのロボットで線追従および衝突検出のために使用されている振幅および持続時間の双方は、携帯電話のオーディオジャックを介して、対応する振幅もしくは時間長を有する音声信号を生成することでシミュレートされ得る。
【００３７】
ロボットの様々なセンサ信号をシミュレートするシステム１００の例示的な実施形態を図１に例示する。図１において、位置センサ１０１は位置情報１０２を、携帯計算処理システム１０３に提供する。携帯計算処理システム１０３は、市販され、当該技術分野でよく知られているスマートフォン、タブレットコンピュータ、例えば、ＡｒｄｕｉｎｏもしくはＲａｓｐｂｅｒｒｙ  Ｐｉマイクロコントローラボード、または任意の他のタイプの計算処理システムなどであってよいが、これらに限定されない。一つもしくは複数の実施形態において、位置センサ１０１の位置検出解像度は高く、および／または位置検出待ち時間は短い（フレームレートは高い）。様々な実施形態において、位置情報１０２は様々な手段を使用して携帯計算処理システム１０３に提供される。様々な手段は、有線接続を介して搬送される電気信号、電磁無線周波（ＲＦ）信号もしくは光信号を含むが、これらに限定されない。一実施形態において、位置センサ１０１は光センサを含み、光センサは、ここに参照によって組み込まれる特許文献１に説明されるように、符号化した光を使用して位置情報を取得する。例示的な実施形態の１つにおいて、位置センサ１０１はスマートフォンの輝度センサである。
【００３８】
位置情報１０２を受信した後、携帯計算処理システム１０３は、インストールされているソフトウェアと共に、位置情報１０２を使用して、ロボット１０７に提供されるべき一つもしくは複数のセンサ信号をシミュレートする。一つもしくは複数の実施形態において、携帯計算処理システム１０３にインストールされていてシミュレートしたセンサ信号を生成するソフトウェアは、ｉＯＳもしくはＡｎｄｒｏｉｄ（登録商標）アプリケーションなどの携帯端末ソフトウェアアプリケーションの形態で実装されてもよい。シミュレートしたセンサ信号のタイプは使用されているロボットのタイプに依存する。様々な実施形態において、シミュレートしたセンサ信号１０４はアナログ信号であってもよいし、デジタル信号であってもよい。例えば、生成されたシミュレート信号のタイプの１つは電圧信号であり、ｉＯＳもしくはＡｎｄｒｏｉｄアプリケーションと共に動作する携帯計算処理システム１０３によって生成される電圧は距離などの検知したパラメータを示す。他の例として、生成されたシミュレート信号はタイミング信号であってよく、シミュレート信号の時間長もしくは遅延は検知したパラメータを示す。特定のロボットのセンサタイプに適合するように、多くの他の、もしくは任意の形態のシミュレートされたセンサ信号を、ｉＯＳもしくはＡｎｄｒｏｉｄアプリケーションと共に動作する携帯計算処理システム１０３によって生成することが可能である。したがって、本開示は特定のタイプのシミュレートされたセンサ信号の何れかに限定されない。一実施形態において、生成されたシミュレートセンサ信号１０４は、携帯計算処理システム１０３の音声出力ジャック１０８を使用して出力される。
【００３９】
一つもしくは複数の実施形態において、シミュレートされたセンサ信号１０４は携帯計算処理システム１０３によって一つもしくは複数の信号調整回路１０５を介してロボット１０７に送信される。信号調整回路１０５は調整されたシミュレートセンサ信号１０６を生成するように構成されている。信号調整回路１０５は、携帯計算処理システム１０３によって生成されたシミュレートセンサ信号１０４を増幅および／もしくはフィルタリングするように構成されていてもよい。信号調整回路１０５は受信したシミュレートセンサ信号１０４に対して任意のタイプの信号処理を実行してもよい。したがって、本開示は信号調整回路１０５によって実行される特定のタイプの信号処理によって限定されない。
【００４０】
信号調整回路１０５の例示的な実施形態を図２に例示する。例示的な信号調整回路１０５は２つの信号処理段階、即ち、信号フィルタリング段階２０１および信号増幅段階２０２を含む。信号フィルタリング段階２０１は負信号に対しては閉ループ信号インバータとして動作し、正信号については反転せずに通過させる。信号フィルタリング段階２０１は、図２に例示される従来の手法で相互に接続されたオペアンプ２０３、抵抗２０４および２０５および整流ダイオード２０６を含む。
【００４１】
一方、信号増幅段階２０２はオペアンプ２０７および抵抗２０８および２０９を含む。抵抗２０８および２０９の抵抗値は、当該技術分野で知られている従来技術に従って、対応するロボットセンサの期待される出力電圧範囲に適合するように、所望される増幅レベルを達成するように、計算される。図２に例示される信号調整回路１０５の出力信号１０６は、増幅された全波整流波形であり、ロボット１０７に提供される。様々な例示的な実施形態において、出力信号１０６はロボット１０７をナビゲートし、線に追従させ、障害物を避けさせるために使用されてもよい。本開示は、シミュレートセンサの特定のタイプの何れかに限定されないし、任意のタイプのセンサ出力が上記した技術を用いて生成されてもよい。
【００４２】
上記技術によって、単一の高速で正確な位置決定センサおよびスマートフォンを使用して、同時に多くの異なるセンサをシミュレートしてもよい。例えば、仮想フェンスの位置を知っている場合、ロボットと仮想フェンスとの間の距離を測定することが可能であり、この測定値をシミュレートセンサ信号の障害距離に変換することが可能である。また、位置決定センサが高速フレームレート（位置検出期間が短い）で検出することができる場合、複数の位置センサとして１つの位置センサを使用して、複数のロボットが移動する場合に、複数のロボットの姿勢情報を取得することができる。サンプリングスピードおよび位置検出の正確さによっては、この姿勢検出はきわめて正確であり得る。この機能は従来の低解像度かつ低サンプリングレートの位置決定システムでは達成できない。サンプリング間隔の各々で移動する解像度および距離はロボット自身よりも大きいからである。
【００４３】
一つもしくは複数の実施形態において、上記技術は、多くの既存のロボットのハードウェア／ソフトウェアを変更せずに、スマートフォンなどの、携帯計算処理システムにロボットフェンスおよびダイナミックマップ変更機能を追加するために使用される。
【００４４】
図３は、ロボットの位置を決定するために符号化光を使用して、ロボットの距離センサ出力信号をシミュレートするシステムの例示的な実施形態を示す。図３に例示されるように、スマートフォンもしくは他の携帯計算処理デバイス１０３は光センサ３０１を含み、ロボット１０７に装着されている。スマートフォン１０３は、光センサ３０１を使用して符号化された光を検出し、位置情報を光から抽出するように構成されている。この位置情報は、次に、スマートフォン１０３で稼動するソフトウェアアプリケーションによって使用され、ロボット１０７から、ロボット経路上に存在する最も近い既知の障害物への距離を計算し、スマートフォン１０３の音声出力を用いて仮想距離センサ３０２および３０３から対応する現実信号をシミュレートして出力する。この目的のために、スマートフォン１０３は既知障害物の位置データを記憶し、もしくは遠隔から位置データにアクセスしてもよい。
【００４５】
様々な実施形態において、携帯計算処理システム１０３に情報を提供するセンサは、位置センサ、方向センサ、加速度センサ、光センサおよび／もしくは音センサを含み得るが、これらに限定されない。本開示は携帯計算処理システム１０３にデータを提供するセンサの何れかの特定のタイプに限定されない。また、開示した技術を使用して、任意のタイプのセンサを使用することができる。
【００４６】
図４は、携帯計算処理システム１０３で稼動するソフトウェアアプリケーションの例示的な動作シーケンス４００を例示する。ステップ４０１で、一つもしくは複数の外部センサからのセンサ信号が携帯計算処理システム１０３によって受信される。受信した情報は、位置情報、方向情報、加速度情報、光情報および音情報であってよいが、これらに限定されない。ステップ４０２で、携帯計算処理システム１０３は受信したセンサ信号を処理する。例えば、このステップの間に、現在のロボットの位置は、光センサを使用して検出された符号化された光信号から復号されてもよい。ステップ４０３で、携帯計算処理システム１０３で実行されているソフトウェアアプリケーションは、処理された外部センサ情報および（必須ではないが）記憶された情報を使用して、受信した外部センサ情報に対応する一つもしくは複数の現実センサ信号のパラメータを計算する。例示的な計算されたパラメータは、電圧パラメータ（例えば、電圧値）、タイミングパラメータ（例えば、信号パルス遅延もしくは持続時間）もしくは他の任意のタイプの信号パラメータ（例えば、電圧増加もしくは減衰特性）を含んでいてもよい。一実施形態において、携帯計算処理システム１０３は光センサから位置−符号化光情報を受信してもよい。ソフトウェアアプリケーションは、次に、ロボットの位置の復号を実行し、復号されたロボットの位置とロボット経路上の最も近い障害物との間の距離を計算する。これにより、ソフトウェアアプリケーションは、データベースに記憶されている既知の障害物の位置のリストにアクセスしてもよい。その後、ステップ４０４で、対応するシミュレート距離センサ出力信号は、計算された距離に基づいて計算されてもよい。最後に、携帯計算処理システム１０３で稼動しているソフトウェアアプリケーションは、携帯計算処理システム１０３の出力音声ジャックを使用して、計算したセンサ信号を出力する。
【００４７】
「例示的なコンピュータプラットフォーム」
図５は、図１に例示した携帯計算処理システム１０３として使用され得る計算処理システム５００の例示的な実施形態を示す。一つもしくは複数の実施形態において、計算処理システム５００は、スマートフォン、ＰＤＡ（personal digital assistant）、タブレットコンピュータもしくはスマートウォッチなどの携帯計算処理デバイスのフォームファクタ内で実装されてもよい。代替的な実施形態において、計算処理システム５００はラップトップ、ノートブックもしくはデスクトップコンピュータに基づいて実装されてもよい。別の代替的な実施形態において、計算処理システム５００は、Ａｒｄｕｉｎｏ、Ｒａｓｐｂｅｒｒｙ  Ｐｉなどを含むマイクロコントローラボードに基づいて実装されてもよいが、本開示はこれらに限定されない。計算処理システム５００は、計算処理システム５００の様々なハードウェア構成要素をわたって情報を伝達するデータバス５０４もしくは他の相互接続または通信機構、情報を処理し、他の計算タスクおよび制御タスクを実行するデータバス５０４に接続されている中央処理ユニット（ＣＰＵもしくは単にプロセッサ）５０１を含む。計算処理システム５００は、また、データバス５０４に接続され、様々な情報およびプロセッサ５０１によって実行される命令を記憶する、ランダムアクセスメモリ（ＲＡＭ）もしくは他のダイナミックストレージデバイスなどのメモリ５１２を含む。メモリ５１２は、磁気ディスク、光ディスク、ソリッドステートフラッシュメモリデバイスもしくは他の不揮発性ソリッドステートストレージデバイスなどの永続的ストレージデバイスを含んでいてもよい。
【００４８】
一つもしくは複数の実施形態において、メモリ５１２は、プロセッサ５０１による命令実行中の一時的な変数もしくは他の中間情報を記憶するために使用されてもよい。必須ではないが、計算処理システム５００は、計算処理システム５００の動作に必要なファームウェア、ＢＩＯＳ（basic input-output system）、および計算処理システム５００の様々な構成パラメータなどのプロセッサ５０１のための命令およびスタティック情報を記憶する、データバス５０４に接続されているリードオンリーメモリ（ＲＯＭもしくはＥＰＲＯＭ）５０２もしくは他のスタティックストレージデバイスをさらに含んでいてもよい。
【００４９】
一つもしくは複数の実施形態において、計算処理システム５００は表示デバイス５０９を含んでいてもよい。表示デバイス５０９はデータバス５０４に接続され、計算処理システム５００のユーザに様々な情報を表示する。代替的な実施形態において、表示デバイス５０９は（図示しない）グラフィックコントローラおよび／もしくはグラフィックプロセッサと関連付けられていてもよい。表示デバイス５０９は、例えば、ＴＦＴ（thin-film transistor）技術もしくは有機ＬＥＤ（organic light emitting diode）技術を使用して、製造されたＬＣＤ（liquid crystal display）として実装されてもよい。様々な実施形態において、表示デバイス５０９は計算処理システム５００の残りの構成要素と共に同一の汎用筐体に含まれていてもよい。代替的な実施形態において、表示デバイス５０９は上記筐体の外部に位置していてもよい。
【００５０】
一つもしくは複数の実施形態において、計算処理システム５００は、プロセッサ５０１に情報およびユーザのコマンド選択を伝達するために、データバス５０４に接続されている、タッチスクリーンインターフェイス５１０などの一つもしくは複数の入力デバイスを含んでいてもよい。
【００５１】
一つもしくは複数の実施形態において、計算処理システム５００は、さらに、位置信号受信手段（位置センサ）５０３を含んでいてもよい。位置信号受信手段５０３は、ＧＰＳ信号の走査を実行し、検出したＧＰＳ信号に基づいて計算処理システム５００の地理的位置を判定し、データバス５０４を介して、判定した地理的位置情報をプロセッサ５０１に伝達するように構成されている。さらに、計算処理システム５００は、方向および／もしくは加速度センサ５２５を含んでいてもよい。方向および／もしくは加速度センサ５２５は、当該技術分野ではよく知られており、データバス５０４を介してプロセッサ５０１に方向および加速度センサを提供する。位置、方向および／もしくは加速度データは、上記シミュレートセンサ信号を生成するために使用されてもよい。さらに、計算処理システム５００は、上記シミュレートセンサ信号を生成する音インターフェイス５０６および位置情報を符号化した光を検出する光センサ５１１を含んでいてもよい。
【００５２】
一つもしくは複数の実施形態において、計算処理システム５００は、さらに、データバス５０４に接続されたネットワークインターフェイス５０５などの通信インターフェイスを含んでいてもよい。ネットワークインターフェイス５０５は、少なくとも１つのＷｉＦｉインターフェイス（アダプタ）５０７および携帯電話ネットワーク（ＧＳＭ（登録商標）もしくはＣＤＭＡ）アダプタ５０８を使用して、計算処理システム５００およびインターネット５２４の間の接続を確立するように構成されていてもよい。ネットワークインターフェイス５０５は、計算処理システム５００とインターネット５２４との間で双方向データ通信を提供するように構成されていてもよい。ＷｉＦｉインターフェイス５０７は、８０２．１１ａ、８０２．１１ｂ、８０２．１１ｇおよび／もしくは８０２．１１ｎプロトコル、およびＢｌｕｅｔｏｏｔｈ（登録商標）プロトコルに準拠して動作してもよい。例示的な実施形態において、ＷｉＦｉインターフェイス５０７および携帯電話ネットワーク（ＧＳＭもしくはＣＤＭＡ）アダプタ５０８は、様々なタイプの情報を表すデジタルデータストリームを搬送する電気信号および電磁信号を送受信する。
【００５３】
一つもしくは複数の実施形態において、インターネット５２４は、一般的に、一つもしくは複数のサブネットワークを介した他のネットワークリソースへのデータ通信を提供する。したがって、計算処理システム５００は、ウェブサーバ、他のコンテンツサーバ、および他のネットワークデータストレージリソースなどの、インターネット５２４のどこかに配置されている様々なネットワークリソースにアクセスすることができる。一つもしくは複数の実施形態において、計算処理システム５００は、メッセージ、メディアおよび、アプリケーションプログラムコードを含む他のデータを、ネットワークインターフェイス５０５によってインターネット５２４を含む様々なネットワークを介して、送受信するように構成されている。インターネットの例において、計算処理システム５００がネットワーククライアントとして動作する場合、計算処理システム５００は、計算処理システム５００で稼動するアプリケーションプログラムのコードもしくはデータを要求してもよい。同様に、計算処理システム５００がネットワークサーバとして動作し、様々なデータもしくはコンピュータコードを他のネットワークリソースに送信してもよい。
【００５４】
一つもしくは複数の実施形態において、説明した機能は、メモリ５１２に含まれる一つもしくは複数の命令の一つもしくは複数のシーケンスを実行するプロセッサ５０１に応答して、計算処理システム５００によって実装される。当該命令は、他のコンピュータ可読媒体からメモリ５１２に読み込まれてもよい。メモリ５１２に含まれる命令シーケンスの実行によって、プロセッサ５０１はここで説明した様々なプロセスを実行する。代替的な実施形態において、本開示の実施形態を実装するソフトウェア命令に代わって、もしくはソフトウェア命令と共に、ハードワイヤード回路が使用されてもよい。本開示の実施形態は、任意の特定のハードウェア回路および／もしくはソフトウェアの組み合わせに限定されない。
【００５５】
ここで使用される用語「コンピュータ可読媒体」は、実行するためにプロセッサ５０１に命令を提供することに関与する任意の媒体を表す。コンピュータ可読媒体は、機械可読媒体の単なる一例であり、ここで説明する方法および／もしくは技術の何れかを実装するために命令を搬送してもよい。当該媒体は多くの形態を採ることができ、不揮発性媒体、揮発性媒体であってよいが、これらに限定されない。
【００５６】
非一時的コンピュータ可読媒体の一般的な形態は、例えば、フロッピー（登録商標）ディスク、フレキシブルディスク、ハードディスク、磁気テープもしくは任意の他の磁気媒体、ＣＤ−ＲＯＭ、任意の他の光媒体、パンチカード、紙テープ、孔パターンを有する任意の他の物理的媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、フラッシュＥＰＲＯＭ、フラッシュドライブ、メモリカード、任意の他のメモリチップもしくはカートリッジ、もしくは、コンピュータが読み込み可能な任意の他の媒体を含む。コンピュータ可読媒体の様々な形態は、実行するためにプロセッサ５０１に一つもしくは複数の命令の一つもしくは複数のシーケンスを搬送する際に関与してもよい。例えば、命令は、当初、遠隔コンピュータから磁気ディスクに搬送されてもよい。代替的に、遠隔コンピュータはダイナミックメモリに命令をロードし、インターネット５２４を介して、命令を送信してもよい。詳細には、コンピュータ命令は、当該技術分野でよく知られている様々なネットワークデータ通信プロトコルを使用してインターネット６２４を介して上記遠隔コンピュータから計算処理システム５００のメモリ５１２にダウンロードされてもよい。
【００５７】
一つもしくは複数の実施形態において、計算処理システム５００のメモリ５１２は以下のソフトウェアプログラム、アプリケーションもしくはモジュールの何れかを記憶していてもよい。
【００５８】
１．オペレーティングシステム（ＯＳ）５１３。オペレーティングシステム５１３は、基本システムサービスを実装し、計算処理システム５００の様々なハードウェア構成要素を管理するモバイルオペレーティングシステムであってもよい。オペレーティングシステム５１３の例示的な実施形態は当業者にはよく知られており、Ｍａｃ  ＯＳ、ｉＯＳ、Ａｎｄｒｏｉｄ、Ｗｉｎｄｏｗｓ（登録商標）、Ｗｉｎｄｏｗｓ  Ｍｏｂｉｌｅ、Ｌｉｎｕｘ（登録商標）、Ｕｎｉｘ（登録商標）、もしくは任意の他の現在既知のもしくは今後開発されるオペレーティングシステムであってよい。
【００５９】
２．アプリケーション５１４。アプリケーション５１４は、例えば、計算処理システム５００のプロセッサ５０１によって実行されるソフトウェアアプリケーションのセットを含んでいてもよい。プロセッサ５０１がソフトウェアアプリケーションのセットを実行することで、計算処理システム５００は、上記シミュレートセンサ信号の生成などの予め定められた機能を実行する。一つもしくは複数の実施形態において、アプリケーション５１４は、例えば、外部センサのためのシミュレートセンサ信号生成アプリケーション５１５および信号処理アプリケーション５１６を含んでいてもよい。
【００６０】
３．データストレージ５１７。データストレージ５１７は、例えば、既知の障害物５１８の地理的位置および／もしくは、シミュレートセンサタイプ（センサデータ）５１９の所望の出力パラメータなどの様々な補助情報を記憶するために使用されてもよい。他の関連情報がデータストレージ５１７に記憶されてもよい。
【００６１】
最後に、ここで説明したプロセスおよび技術は、特定の装置に固有に関連せず、構成要素の任意の適切な組み合わせで実装されてもよい。また、様々なタイプの汎用目的デバイスが、本開示の技術によって使用され得る。本開示の方法のステップを実行する特定用途装置を構築することも効果的であり得る。限定ではなく例示を意図して、特定の例に関連して本開示について説明した。多くの異なるハードウェア、ソフトウェアおよびファームウェアの組み合わせが、本開示の実行に適している。例えば、説明したソフトウェアは、アセンブラ、Ｃ／Ｃ＋＋、オブジェクティブ−Ｃ、ｐｅｒｌ、ｓｈｅｌｌ、ＰＨＰ、Ｊａｖａ（登録商標）、および任意の現在既知であるもしくは今後開発されるプログラミング言語もしくはスクリプト言語などの様々なプログラミング言語もしくはスクリプト言語で実装され得る。
【００６２】
また、本開示の他の実装が、本開示の詳細および実行を検討することで、当業者には明らかである。説明した実施形態の様々な態様および／もしくは構成要素は、ロボットの現実センサをシミュレートする外部センサおよび携帯デバイスを使用するシステムおよび方法において、単独で、もしくは任意の組み合わせで使用され得る。本開示の詳細および例は単なる例示を意図している。
【符号の説明】
【００６３】
１００  システム
１０１  位置センサ
１０３  携帯計算処理システム
１０５  信号調整回路
１０７  ロボット
５００  計算処理システム
５０１  プロセッサ
５１２  メモリ
【図１】
2017109296.tif 000003
【図２】
2017109296.tif 000004
【図３】
2017109296.tif 000005
【図４】
2017109296.tif 000006
【図５】
2017109296.tif 000007