本発明の実施形態を実施するためのロボットプラットフォーム100は、必要に応じて、任意の適切なロボット装置またはロボット装置のシミュレーションの形態を取ることができる。
用語「結合(coupled)」および「接続(connected)」が、それらの派生語と共に、本明細書における動作を実行するためのシステムの構成要素間の構造的関係を説明するために、本明細書において使用され得る。これらの用語が、互いに同義語として意図されているのではないことを、理解すべきである。むしろ、特定の実施形態において、「接続」が、2つ以上の要素が互いに直接に物理的または電気的に接触していることを示すために使用される一方で、「結合」は、2つ以上の要素が直接的または間接的(他の介在の要素が間に存在)のいずれかにて互いに物理的または電気的に接触していること、ならびに/あるいは2つ以上の要素が(例えば、因果関係のような)互いに協働または通信することを示すために使用される。
以下の説明において、本発明の実施形態の完全な理解をもたらすために、いくつかの具体的な詳細が提示される。しかしながら、これらの具体的な詳細が、本発明の実施において必ずしも使用されなくてよいことは、当業者にとって明らかであろう。反対に、当業者にとって公知の具体的詳細は、必要に応じて、分かり易さの目的で省略されている。
ロボットプラットフォームは、任意の適切な物理的特徴を有することができる。したがって、移動を、必要であるならば、車輪、無限軌道、関節付きの手足、内部質量の変位、または任意の他の適切な手段によって達成することができる。操作を、必要であれば、機械的な手、ピンサー、あるいは吸引もしくは電磁石による付着機構またはフックもしくはクリップなどの任意の他のフックまたは把持システム、ならびに1つ以上の関節アームなどの任意のさらなる随意による関節のうちの1つ以上によって、達成することができる。視覚を、必要であれば、ロボットに搭載され、さらには/あるいはロボットが移動する環境内に配置された光学カメラおよび/または赤外線カメラ/検出器によって達成することができる。超音波エコー位置測定、あるいは金属トラックおよび/または荷電トラックの検出などの他の状況認識システム、ならびにセンサに結合したウィスカまたは圧力パッドなどの近接システムも、考慮することができる。ロボットの制御を、ロボットのプロセッサ、および/または例えば無線プロトコルを介してロボットと通信するリモートコンピュータのプロセッサ上で適切なソフトウェア命令を実行することによってもたらすことができる。
図1は、例示的な歩行ロボットプラットフォーム100の正面図および後面図を示している。図示されるように、ロボットは、胴体と、頭部と、左右の上肢と、歩行のための左右の下肢とを含む。胴体内の制御ユニット80(図1には示されていない)が、ロボットのための制御システムを提供する。
左右の各々の下肢は、ももと、ひざ関節と、第2のもも(ふくらはぎ/すね)と、足首と、足とを含む。下肢は、股関節によって胴体の下部に結合している。左右の各々の上肢は、上腕と、ひじ関節と、前腕とを含む。上肢は、肩関節によって胴体の各々の上縁部に結合している。一方で、頭部は、首関節によって胴体の上端中央部の付近に結合している。
図2は、(手以外の)関節点を示すロボットの正面図および後面図を示している。
次に、図3は、各々の関節点について利用できる自由度を示している。
これらの図を参照すると、頭部1を支持するための首関節は、3つの自由度、すなわち首関節ヨー軸2、首関節ピッチ軸3、および首関節ロール軸4を有する。一方で、各々の腕は、7つの自由度、すなわち肩関節ピッチ軸8、肩関節ロール軸9、上腕ヨー軸10、ひじ関節ピッチ軸11、前腕ヨー軸12、手首関節ピッチ軸13、手首関節ロール軸14、および手15を有する。典型的には、手15も、複数の指を含む多関節多自由度構造を有する。しかしながら、これらは、説明を簡単にするために省略されている。胴体は、3つの自由度、すなわち胴体ピッチ軸5、胴体ロール軸6、および胴体ヨー軸7を有する。下肢を構成する各々の脚は、6つの自由度、すなわち股関節ヨー軸16、股関節ピッチ軸17、股関節ロール軸18、ひざ関節ピッチ軸19、足首関節ピッチ軸20、足首関節ロール軸21、および足22を有する。例示的なロボットプラットフォームにおいては、股関節ピッチ軸17と股関節ロール軸18との間の交点が、この実施形態による歩行ロボット100の股関節位置を定める。やはり単純化のために、足自体は自由度を持たないものと仮定するが、当然ながら、これに限られるわけではない。結果として、例示的なロボット100は、全部で32(=3+7×2+3+6×2)の自由度を有する。しかしながら、これがあくまでも例示にすぎず、他のロボットプラットフォームが、より多数またはより少数の自由度を有してもよいことを、理解できるであろう。
例示的な歩行ロボットプラットフォーム100の各々の自由度は、アクチュエータを使用することによって実現される。例えば、ギアに直接結合し、ワンチップのサーボシステムを収容する小型ACサーボアクチュエータを使用することができるが、リニアサーボ、電気活性ポリマー筋肉、空気圧、圧電、などの任意の適切なアクチュエータを考慮してもよい。
ロボットプラットフォームにおいて可能な任意の所望の動作を、ロボットの姿勢を利用可能な自由度の範囲内で調整すべくロボットのアクチュエータ(あるいは、必要に応じて、シミュレーションにおける模擬アクチュエータ)、ロボットの1つ以上の発光装置、ロボットの1つ以上の音声発生装置、ロボットの1つ以上の触覚フィードバック装置、ロボットの1つ以上のカメラ、ロボットの1つ以上の送信機のうちの1つ以上へ制御システムによりと発せられる制御信号によって実現できることを、理解できるであろう。
図4は、ロボットプラットフォーム100のための例示的な制御システムを概略的に示している。
制御ユニット80が、ロボットの動作を協調させるように動作する。制御ユニット80は、CPU(中央処理装置)およびメモリなどの主回路部品(図示せず)を含む主制御ユニット81を有し、典型的には、電源回路(図示せず)およびロボットの各々の構成要素との間でデータおよび/またはコマンドを送信および受信するためのインタフェース(図示せず)を含む周辺回路82を有する。制御ユニットは、遠隔制御によってデータおよび/またはコマンドを受信するための通信インタフェースおよび通信装置を含むことができる。制御ユニットを、ロボット内の任意の適切な場所に配置することができる。
図4に示されるように、ロボットは、論理ユニット30(頭部)、論理ユニット40(胴体)、ならびに人間の四肢のうちの対応する肢をそれぞれ表す論理ユニット50R/Lおよび60R/Lを有する。図3に示したロボット100の自由度は、各々のユニット内の対応するアクチュエータによって実現される。したがって、頭部ユニット30には、首関節ヨー軸2、首関節ピッチ軸3、および首関節ロール軸4をそれぞれ表す首関節ヨー軸アクチュエータA2、首関節ピッチ軸アクチュエータA3、および首関節ロール軸アクチュエータA4が配置されている。一方で、胴体ユニット40には、胴体ピッチ軸5、胴体ロール軸6、および胴体ヨー軸7をそれぞれ表す胴体ピッチ軸アクチュエータA5、胴体ロール軸アクチュエータA6、および胴体ヨー軸アクチュエータA7が配置されている。同様に、腕ユニット50R/Lは、上腕ユニット51R/L、ひじ関節ユニット52R/L、および前腕ユニット53R/Lに分割される。各々の腕ユニット50R/Lには、肩関節ピッチ軸8、肩関節ロール軸9、上腕ヨー軸10、ひじ関節ピッチ軸11、前腕ヨー軸12、手首関節ピッチ軸13、および手首関節ロール軸14をそれぞれ表す肩関節ピッチ軸アクチュエータA8、肩関節ロール軸アクチュエータA9、上腕ヨー軸アクチュエータA10、ひじ関節ピッチ軸アクチュエータA11、前腕ヨー軸アクチュエータA12、手首関節ピッチ軸アクチュエータA13、および手首関節ロール軸アクチュエータA14が配置されている。最後に、脚ユニット60R/Lは、ももユニット61R/L、ひざユニット62R/L、および第2のももユニット63R/Lに分割される。各々の脚ユニット60R/Lには、股関節ヨー軸16、股関節ピッチ軸17、股関節ロール軸18、ひざ関節ピッチ軸19、足首関節ピッチ軸20、および足首関節ロール軸21をそれぞれ表す股関節ヨー軸アクチュエータA16、股関節ピッチ軸アクチュエータA17、股関節ロール軸アクチュエータA18、ひざ関節ピッチ軸アクチュエータA19、足首関節ピッチ軸アクチュエータA20、および足首関節ロール軸アクチュエータA21が配置されている。随意により、頭部ユニット30、胴体ユニット40、腕ユニット50、および脚ユニット60は、それぞれのユニットに配置された対応するアクチュエータを駆動するためのサブコントローラ35、45、55、および65を有することができる。
したがって、適切なコマンドを発することによって、主コントローラ(81)は、ロボット100に含まれる関節アクチュエータの駆動を制御して、所望の動作を実現することができる。例えば、コントローラは、以下のとおりの連続的な段階を実行することによって、歩行行為を実行することができる。
(1)右脚を歩行面から離した一本支持(左脚)段階、
(2)右足が歩行面に触れる二本支持段階、
(3)左脚を歩行面から離した一本支持(右脚)段階、および
(4)左足が歩行面に触れる二本支持段階。
各々の段階は、複数のアクチュエータ、すなわち脚に位置するアクチュエータ、およびロボットの他のどこかに位置するアクチュエータを、例えば、ロボットの重心を1つ以上の支持足の上方に保つべく反対側の腕および/または胴体の姿勢を動かして、制御することを含む。
随意により、物体および/または環境との物理的相互作用の様相および/または程度を検出するために、物理センサを設けることができる。
したがって、例示的なロボットにおいて、足22の各々は、脚60Rおよび60Lにそれぞれ取り付けられた足22の接地を検出するための1つ以上の接地検出センサ91(例えば、近接センサまたはマイクロスイッチ)を有することができ、胴体は、胴体の姿勢を測定するための姿勢センサ93(例えば、加速度センサおよび/またはジャイロセンサ)を備える。1つ以上の接地検出センサ91の出力が、歩行行為の最中に左右の脚の各々が立っている状態であるか、あるいは揺れ動いている状態であるかを判断するために使用される一方で、姿勢センサ93の出力は、胴体の傾斜および姿勢を検出するために使用される。物体が保持されていることを検出するために、例えばロボットの把持部品上に他のセンサを設けることもできる。
ロボットは、さらなる感知をもたらすためのセンサをさらに備えることもできる。したがって、例えば、ロボットは、制御ユニット(または、センサに基づくデータが送信される遠隔システム)によるロボットのユーザまたは回収対象物の認識を可能にする1つ以上のカメラを備えることができる。同様に、音声制御またはユーザによる対話を可能にするために、1つ以上のマイクロフォンを備えることができる。ロボットの使用目的に応じて、任意の他の適切なセンサを設けることができる。例えば、不動産を巡回するように意図された防犯ロボットは、熱および煙センサ、ならびにGPSを含むことができる。
したがって、より一般的には、ロボットプラットフォームは、任意の適切なフォームファクタを備えることができ、対応するアクチュエータの使用によって達成される1つ以上の意図されるタスクの実行に必要な自由度を備えることができ、アクチュエータは、意図されるタスクの実行に対応する一連の制御信号を生成するように適切なソフトウェア命令のもとで動作するローカルまたはリモートコントローラからの制御信号に応答する。
このような制御信号を生成するためのソフトウェア命令を提供するために、所望の動作のための制御シーケンスを開発するため、ならびに/あるいはユーザコマンドおよび/または環境特性へのロボット制御システムの応答を可能にする意思決定ロジックを開発するためのロボットソフトウェア開発システムを提供することができる。
この開発システムの一部として、テストソフトウェアを実装するプロセスを(例えば、単純なユーザにとってサービス可能な部分を持たないかもしれないロボットハードウェアにテストソフトウェアを埋め込む必要性を回避し、あるいはソフトウェアの誤りが実際のロボットに損傷を与えかねない環境またはアクションをシミュレートすることによって)単純化するために、仮想ロボット(すなわち、シミュレーション)を使用することができる。仮想ロボットは、ロボットの寸法および自由度などを特徴とすることができ、仮想ロボットの状態を相応に調整するために制御信号に応答するように動作することができるインタプリタまたはAPIを特徴とすることができる。
次いで、そのようなソフトウェアと共に使用するための制御ソフトウェアおよび/またはスクリプトを、ルールベースの/手順的な方法、および/または機械学習/ニューラルネットワークベースの方法を含む任意の適切な技術を使用し、そのような技術を使用するために開発することができる。
図5を参照すると、例示的な使用の状況において、(玩具の)実際のロボットクレーン260および対応するシミュレーション(仮想ロボットクレーン262)が、娯楽の目的で相互作用し、例えば互いのアクションをミラーリングし、もしくは相補的な様相で挙動し、さらには/あるいは実際のロボットまたは仮想のロボットからのセンサデータを使用して他方のアクションを制御する。仮想ロボットを、例えば顔を持たせ、あるいは実際のロボットにおいては近似されるだけである物体または生物に似せるなど、実際のロボットと比較してグラフィカルに装飾することができる。
この例において、ロボットプラットフォーム260は、電動ホイール266a〜266dと、アクチュエータ264a〜264cを有する1つの関節アームとを有する。しかしながら、例えば図1のヒト型ロボット100あるいは犬型ロボット(図示せず)または回転楕円体ロボット(図示せず)など、任意の適切なフォームファクタが選択されてもよいことを、理解できるであろう。
図5において、仮想のロボットおよび実際のロボットの両方の制御は、Sony(登録商標)PlayStation 4(登録商標)などの適切なソフトウェア命令のもとで動作する汎用コンピュータ(110)によって実行される。ユーザは、PlayStationと対話することができ、したがって随意によりビデオゲームコントローラ143などの任意の適切なインタフェースを使用して実際のロボットおよび仮想のロボットの一方または両方と間接的に対話することができる。PlayStationは、実際のロボットの状態を、ロボットからテレメトリおよび他の状態データを受信することによって検出することができ、さらには/あるいはビデオカメラ141によってキャプチャされた実際のロボットの画像の分析から検出することができる。これに代え、あるいはこれに加えて、PlayStationは、PlayStationへと送信されたコマンドの予想される結果に基づいて、実際のロボットの状態を推定することができる。したがって、例えば、PlayStationは、予想される最終姿勢の実際のロボットのキャプチャ画像を分析して、その位置および向きを判断することができるが、姿勢間の遷移などの中間状態におけるロボットの状態を推定する。
例示的な状況においては、ユーザが、PlayStationを介して実際のロボットを制御するための入力をもたらす(例えば、1つのジョイスティックで移動の量および方向を示し、別のジョイスティックでアーム端の垂直および水平位置を示す)。これらの入力は、PlayStationによってロボットの制御信号に変換される。一方で、ロボットの仮想シミュレーションも、プレイのモードに従って、上述のシミュレーション技術を使用して、対応するやり方または相補的なやり方で制御することができる。
これに代え、あるいはこれに加えて、ユーザは、実際のロボットを、それ自体のインタフェースを介し、あるいは直接操作によって直接制御することができ、ロボットの状態を、PlayStationによって(例えば、すでに述べたように画像分析および/またはロボットからのテレメトリデータを介して)検出し、仮想のロボットの対応する状態を設定するために使用することができる。
仮想ロボットが全く表示されなくてもよく、単に仮想環境における実際のロボットのプロキシとして機能してもよいことを、理解できるであろう。したがって、例えば、実際のロボットの画像をキャプチャされたビデオ画像から抽出し、拡張現実アプリケーションにおいて生成された仮想環境に埋め込むことができ、次いで実際のロボットのアクションを、実際のロボットの状態をミラーリングする環境内の対応する仮想のロボットにおいて生じる相互作用によって、仮想環境に影響を及ぼすように出現させることができる。
あるいは、仮想ロボットを全く使用しなくてもよく、PlayStationは、単に実際のロボットの制御および/または状態分析を提供してもよい。したがって、例えば、PlayStationは、カメラによってロボットを監視し、ユーザによってカメラの視野内に配置されたボールまたは他の対象物をロボットに拾わせることができる。
したがって、より一般的には、ロボットプラットフォームは、所定のタスクまたは目標を達成するためのユーザによる制御および/またはPlayStationによる制御の目的で、ロボットの状態の設定に関する一連の制御信号を取得するために、Sony(登録商標)PlayStation 4(登録商標)などの汎用コンピュータと対話することができる。随意により、状態、タスク、または目標は、少なくとも部分的に、仮想環境において定められてよく、あるいは仮想環境に応答して定められてよく、ロボットのシミュレーションを利用することができる。
本開示の実施形態において、本明細書において上述した例示的なプラットフォーム100または260などのロボットプラットフォームが説明の目的で使用され得るが、以下で特許請求される技術および動作に適した任意のロボットプラットフォームが、本発明の技術的範囲に含まれると考えられることを、理解できるであろう。
ここで図6Aおよび図6Bを参照すると、本開示の実施形態において、電源の状態に応じてロボット装置100、260によって実行される1つ以上の動作を制御するための装置600は、ロボット装置に電力を供給する電源に関する1つ以上のパラメータを監視し、パラメータのうちの1つ以上に基づいて電源の1つ以上の性能インジケータを決定するように構成された監視ユニット610と、刺激への反応時にロボット装置によって実行される1つ以上の動作について複数のモードを定めるプログラムの命令のもとで、電源の性能インジケータのうちの1つ以上に応じてロボット装置の動作に複数のモードのうちの1つを割り当てるように構成され、動作を実行するために必要な電源からのエネルギの量が動作に割り当てられるモードに応じて異なるプロセッサ620と、刺激への反応時に、動作に割り当てられたモードに従って動作を実行するようにロボット装置を制御するように構成された制御ユニット630とを備える。装置600を、ロボット装置100、260の一部として提供することができ、あるいは適切なソフトウェア命令のもとで動作する汎用コンピュータ(110など)の一部として提供することができる。いくつかの場合には、図6Bに示されるように、監視ユニット610を、ロボット装置100、260の一部として提供することができ、プロセッサ620および制御ユニット630を、適切なソフトウェア命令のもとで動作する汎用コンピュータ(110など)の一部として提供することができる。他の適切な組み合わせが、本開示の実施形態において考慮される。当然ながら、ロボット装置は、以下で特許請求される技術および動作に適した任意の適用可能な範囲まで、例示的なロボットプラットフォーム100または260と同様のやり方で動作することができる。
本開示の実施形態において、監視ユニット610は、電源に関する1つ以上の信号を受信するように構成された回路を備え、監視ユニット610は、1つ以上の信号の特性を測定することによって電源に関する1つ以上のパラメータを監視することができる。したがって、監視ユニット610は、電源に関する1つ以上の性能インジケータを決定するために、電源に関する電圧、電流、キャパシタンス、および温度などの1つ以上のパラメータを監視することができる。したがって、監視ユニット610を、電源に関する1つ以上のパラメータの大きさ、所定の期間における変化率、周波数、および均一性のうちの少なくとも1つを監視するように構成することができる。回路は、電源に関する1つ以上のパラメータを測定するために電源に関する信号を処理することができる1つ以上の信号処理ユニットを備えることができる。例えば、電圧の大きさ(開路電圧など)を測定することができ、時間に対する電圧の変化を監視ユニットによって監視および使用して、電源の1つ以上の性能インジケータ(例えば、電池の充電状態、またはワイヤレス充電装置による電力の供給速度)を決定することができる。これに代え、あるいはこれに加えて、電源に関する電流および/またはキャパシタンスの大きさを測定することができ、そのようなパラメータを使用して、電源の1つ以上の性能インジケータを決定することができる。
監視ユニット610は、温度変化に起因して生じる電気的特性の変化を識別することができるように、電源が置かれている環境の温度を測定するように構成された回路を備えることができる。したがって、監視ユニット610は、電源に関する環境温度を監視することができ、温度および/または電圧および/または電流および/またはキャパシタンスの間の関係を使用して温度の変化を考慮し、監視されたパラメータを使用して電源の1つ以上の性能インジケータを正確に決定することができる。監視ユニット610は、電源に関する1つ以上の信号を周期的に受信するように構成されてよく、電源についての1つ以上の性能インジケータを周期的に決定することができる。あるいは、監視ユニット610は、1つ以上の信号を継続的に受信するように構成されてもよい。
本開示の実施形態において、プロセッサ620は、刺激への反応時にロボット装置によって実行される1つ以上の動作について複数のモードを定めるプログラムの命令のもとで、電源の性能インジケータのうちの1つ以上に応じてロボット装置の動作に複数のモードのうちの1つのモードを割り当てるように構成され、ここで、動作を実行するために必要な電源からのエネルギの量が、動作に割り当てられるモードに応じて異なる。プロセッサ620は、中央処理装置(CPU)およびメモリを備えることができる。プログラムは、監視ユニット610によって決定された性能インジケータのうちの1つ以上に応じてロボット装置100、260の動作にそれぞれ割り当てることができる複数のそれぞれの動作モードを定義する。ユーザ入力(例えば、ハンドヘルド周辺機器、スピーチ入力、ジェスチャ入力、および/または視線追跡を用いる)または例えばカメラによって検出された環境照明条件の変化などの刺激が、刺激に応じた1つ以上の動作をロボット装置100、260に実行させることができる。したがって、ロボット装置100、260は、1つ以上の刺激に反応するときに1つ以上の所定の動作を実行することができ、プログラムによって定義される動作モードを、ロボット装置によって実行される所定の動作のいずれにも割り当てることができる。例えば、ロボット装置の送信機が、ロボット装置に第1の方向への移動を指示するユーザ入力に対応する信号を受信することができる。プロセッサ620は、プログラムの命令のもとで、ロボット装置を第1の方向に移動させる動作に複数のモードのうちの1つのモードを割り当てることができ、したがって制御ユニット630は、ロボット装置100、260が刺激に反応するときに、動作に割り当てられたモードに従ってロボット装置を第1の方向に移動させる動作を実行するようにロボット装置を制御する。ロボット装置に動作を実行させる刺激が、多数の異なる形態を取ることができ、プログラムによって定義された複数のモードを、そのような刺激に反応するときにロボット装置によって実行される任意の所定の動作に割り当てることができることを、理解できるであろう。
したがって、より一般的には、プロセッサ620は、複数のそれぞれのモードを定義するプログラムの命令のもとで動作することができ、1つのモードを電源の状態に応じて動作に割り当てることで、刺激への反応時に割り当てられたモードに従ってロボット装置によって動作を実行することができる。このようにして、刺激への反応時にロボットによって実行される動作について、プロセッサ620を、ロボット装置に電力を供給する電源の状態を示す電源の1つ以上の性能インジケータに応じて、複数のモードのうちの1つのモードをロボット装置100、260の動作に割り当てるように構成することができる。
プログラムは、ロボット装置の1つ以上の動作に割り当てることができる複数のそれぞれの動作モードを定義し、複数のモードの各モードは、同じ動作を実行するときに消費される異なるエネルギ量に対応する。換言すると、第1の動作について、第1の動作が第1のモードに従って実行されるときに第1の量のエネルギが消費され、第2のモードに従って第1の動作が実行されるときに第2の量のエネルギが消費されるように、複数のモードのうちの任意の1つを動作に割り当てることができる。プロセッサ620は、電源の性能インジケータのうちの1つ以上に応じて複数のモードのうちの任意のモードを動作に割り当てることができ、動作の実行に必要な電源からのエネルギ量は、どのモードが動作に割り当てられるかに応じて変化する。このようにして、ロボット装置が刺激に反応して動作を実行するときに、ロボット装置は、割り当てられたモードに従って動作を実行することができ、したがって動作の実行に使用されるエネルギ量を、動作に割り当てられたモードに従って制御することができる。したがって、電源の状態に応じたモードを動作に割り当てることができ、そのモードに従ってロボット装置によって動作を実行することができるため、刺激への反応時にロボット装置が動作を実行するときにエネルギを好都合に節約することを可能にすることができる。
いくつかの例においては、第1の複数のモードをロボット装置の第1の動作について用意することができ、第2の複数のモードをロボット装置の第2の動作について用意することができ、したがって刺激への反応時にロボット装置によって実行される異なる動作について異なるモードを提供することができる。プロセッサ620を、性能インジケータのうちの1つ以上に応じて第1の複数のモードのうちの1つのモードを第1の動作に割り当て、性能インジケータのうちの1つ以上に応じて第2の複数のモードのうちの1つのモードを第2の動作に割り当てるように構成することができる。
プロセッサ620は、時間T1において性能インジケータのうちの1つ以上に応じて1つのモードを動作に割り当てることができ、性能インジケータのうちの1つ以上の変化に応じて、プロセッサ620は、異なる時間T2において異なるモードを動作に割り当てることができる。このようにして、制御ユニット630は、動作に割り当てられたモードに従って動作を実行するようにロボット装置100、260を制御することができ、刺激への反応時のロボット装置100、260による所与の動作の実行のやり方を、ロボット装置に電力を供給する電源の状態に従って調整することができる。例えば、監視ユニット610は、電源に関するパラメータのうちの1つ以上を監視することができ、時間T1において、プロセッサ620は、性能インジケータのうちの1つ以上に基づいて第1のモードを動作に割り当てることができる。時間T2において、パラメータのうちの1つ以上、したがって性能インジケータのうちの1つ以上における変化を、監視ユニット610によって識別することができ、この変化に応答して、プロセッサ620は、第2のモードを動作に割り当てることができる。換言すると、ロボット装置の動作を、その動作に割り当てられたモードに従ってロボット装置によって実行することができ、動作に割り当てられたモードは、監視ユニット610によって識別される性能インジケータのうちの1つ以上によって示される電源の特性に応じて異なり得る。
プログラムは、通常の条件下で各々の動作を実行するために必要な所定のエネルギ量など、ロボット装置によって実行することができるそれぞれの動作の各々についての情報を提供することができる。例えば、各々の動作について、プログラムは、その動作に必要なエネルギ量(または、電荷量(単位は、アンペア時))を表す情報を提供することができる。動作に関する所定のエネルギ量を、プログラムによって、その動作が実行されたときの以前の事例についての測定値に基づき、あるいは通常の条件下での動作の電力消費を示すロボット装置に関する工場設定情報に基づいて、決定することができる。プログラムは、ロボット装置によって実行することができる1つ以上の動作について複数のモードを定義し、各々のモードは、異なるエネルギ定格に対応し、すなわち所与の動作について、その動作を実行するために必要なエネルギ量がモードごとに異なる。
例えば、複数のモードは、3つのそれぞれのモードを含むことができ、第1のモードは、動作を実行するために第1の所定量の電力を必要とし、第2のモードは、動作を実行するために第2の所定量の電力を必要とし、第3のモードは、動作を実行するために第3の所定量の電力を必要とする。プログラムは、第1の動作が通常の条件下で500mAh(ミリアンペア時)を必要とすることを示すことができる。この場合、第1のモードは、動作を実行するために100mAhを必要とすることができ、第2のモードは、動作を実行するために300mAhを必要とすることができ、第3のモードは、動作を実行するために500mAhを必要とすることができる。この場合、第1のモードは、低電力モードに対応でき、第2のモードは、中電力モードに対応でき、第3のモードは、通常モードに対応でき、通常モードは、以前の事例における測定値または工場設定情報によって指定される動作のためのエネルギ量と実質的に同じ量のエネルギを必要とする。これは、所与の動作に関して、3つのモードのうちの1つを動作に割り当てることができ、動作の実行時に消費されるエネルギ量を動作に割り当てられたモードに従って制御できるよう、動作を制御ユニット630の制御のもとでロボット装置100、260によって実行できることを意味する。
本開示の実施形態において、制御ユニット630は、動作に割り当てられたモードに従って動作を実行するようにロボット装置100、260を制御するように構成される。制御ユニット630は、中央処理装置(CPU)およびメモリを備えることができ、制御信号を使用してロボット装置100、260の動作を制御することができる。制御ユニット630、80を、図4に示されるようにロボット装置100、260の一部として設けることができる。これに代え、あるいはこれに加えて、制御ユニット630を、他の装置の一部として設けることができ、制御信号を、無線または有線通信を介してロボット装置100、260に通信することができる。制御ユニット630は、プロセッサ620によって動作に割り当てられたモードに従って1つ以上の動作を実行するようにロボット装置100、260を制御することができる。ロボット装置100、260による実行が可能な任意の所望の動作を、動作に割り当てられたモードに従って制御ユニット630によって制御できることを、理解できるであろう。
本開示の実施形態において、監視ユニット610によって監視される1つ以上のパラメータは、電圧、電流、キャパシタンス、および温度で構成されるリストからの1つ以上を含み、監視ユニット610は、1つ以上のパラメータの大きさ、所定の期間における変化率、周波数、および均一性のうちの少なくとも1つを監視する。例えば、監視ユニット610を、電源に関する電圧の大きさを周期的に監視するように構成することができ、電源の充電状態(SoC)を、時間の関数としての電源の放電電圧に基づいて決定することができ(すなわち、電圧に基づくSoCの推定)、ここで、充電状態は、電池内に存在する最大可能充電量(または、最大電池容量)の何パーセントであるかを表す。これに代え、あるいはこれに加えて、監視ユニット610を、電源に関する電流の大きさを周期的に監視するように構成することができ、監視された電流の時間に関する積分が、電源によって供給される総電荷(すなわち、クーロン数)の目安をもたらすことができる。このようにして、監視ユニット610によって監視されたクーロン数を、電源の最大容量(アンペア時)と比較することができる。これに代え、あるいはこれに加えて、監視ユニット610は、所定の期間における電圧の変化率を監視して、電源にとってロボット装置に所定の量のエネルギを供給することが不可能になる時間(Tlife)を決定してもよい。これに代え、あるいはこれに加えて、監視ユニット610は、電源に関するキャパシタンスを監視することができ、電源の充電状態(SoC)を、監視されたキャパシタンスに基づいて決定することができる。例えば、電源に関して測定されたキャパシタンス(C)は、電源の充電状態を判断するために使用することができる電池に関する蓄電量(Q)および電圧(V)の目安(Q=CV)を提供することができる。
監視ユニット610は、電源に関する電圧および電流の両方を監視するように構成されてよく、したがってこれら2つのパラメータの組み合わせに基づいて電源の充電状態を判断できることを、理解できるであろう。いくつかの場合、監視ユニット610を、電流および/または電圧を監視しながら温度を監視するように構成することができ、したがって電源の特性の変化によるよりもむしろ温度の変化に起因する電流および/または電圧の変化を識別することができる。したがって、より一般的に、監視ユニット610は、電源に関する1つ以上のパラメータを監視し、電源の1つ以上の現在の特性の目安を提供することができる電源の1つ以上の性能インジケータを決定することができる。
本開示の実施形態において、ロボット装置に電力を供給する電源は、1つ以上の充電式電池および1つ以上の充電式電池をワイヤレスで充電するための充電装置で構成されるリストからの1つ以上を備える。1つ以上の充電式電池は、それぞれが1つ以上のセルを備えている1つ以上のリチウムイオン電池(LIB)または1つ以上のリチウムイオンポリマー電池を含むことができる。ニッケルカドミウム(NiCd)、ニッケル水素(NiMH)、または鉛酸蓄電池などの他の電極材料も、同様に使用することができる。1つ以上の充電式電池を、ロボット装置に接続される電池パックの一部として提供することができる。監視ユニット610は、充電式電池に関する1つ以上の電気信号を受信することができ、電池について1つ以上のパラメータを監視して、パラメータのうちの1つ以上に基づいて1つ以上の性能インジケータを決定することができる。監視ユニット610が電池に関するパラメータのうちの1つ以上を監視する場合、監視ユニット610を、電池の充電状態(すなわち、電池によって蓄えることができる最大可能電荷の何パーセントが現時点において電池によって蓄えられているか)、電池が少なくとも所定の量のエネルギを供給することができる残りの期間、所定の期間における電池の放電速度、および所定の期間にわたって電池によって維持することができる最大放電速度で構成されるリストから、1つ以上の特性の目安を提供する電池の1つ以上の性能インジケータを決定するように構成することができる。
充電式電池の場合、電池の容量(アンペア時)は、電池が蓄えることができる電荷の総量を表す(Q=It)。完全に充電された電池から電流が引き出されるとき、電池の出力電圧は、初期の大きさを有し、この初期の大きさは、より多くの電流が引き出されるにつれて着実に減少し得るため、出力電圧の変化を使用して電池によって蓄えられた残りの電荷を決定することができる。充電式電池によって供給することができるエネルギは、電池の容量および電池の公称電圧に依存し、ワット時という単位で表すことができる(エネルギ(ワット時)=公称電圧×容量(アンペア時))。放電速度は、電池の容量に対する電池の放電の速度の尺度を提供することができ、放電速度に応じて、電池によって供給することができる総エネルギは変化し得る。高い放電速度(大きな放電電流)の場合、電池によってもたらされる電力は大きいが、電池によって供給することができる総エネルギ量は減少する。反対に、低い放電速度(小さな放電電流)の場合、電池によってもたらされる電力は小さいが、電池によって供給することができる総エネルギ量は増加する。例えば、1Ahの電池は、1ミリアンペアの放電電流を1000時間超にわたって供給することができる一方で、100ミリアンペアの放電電流が引き出される場合、電池は10時間未満で放電されると考えられる。この理由のために、電池から引き出すことができる電流の量は、電池を損傷させ、かつ/または電池によって供給することができる総エネルギを著しく減少させかねない過度の放電電流を防止するために、製造業者によって制限されていることが多い。したがって、電池は、損傷の発生を防ぎ、電池が時期尚早に消耗することを防ぐために、製造業者によって指定された最大放電電流(例えば、最大30秒放電電流または最大連続放電電流)を有することができる。
本開示の実施形態において、電源は、電磁誘導充電技術に基づいて1つ以上の充電式電池をワイヤレスで充電するための充電装置を備える。監視ユニット610を、充電装置に関する1つ以上のパラメータを監視し、充電式電池のうちの1つ以上によって蓄えることができる充電装置によって送信された電力の量の目安を提供することができる充電装置の1つ以上の性能インジケータを決定するように構成することができる。1つ以上のロボット装置100、260をワイヤレスで充電するための充電装置は、1つ以上の導線を備える送電ユニットを備え、各々の導線は、交流信号を運び、導線が交流信号を運ぶときに時間変化する磁束を生み出すように構成される。例えば、1つ以上の導線の各々は、導線の一部に一次コイルを備えることができる。導線の一部に一次コイルを設けることによって、導線によって運ばれる所与の交流信号において、一次コイルに近接する局所領域に、より大きな磁束を発生させることが可能である。集中磁束の局所領域の位置は、導線のうちの一次コイルを含む部分の位置に対応する。したがって、導線が交流信号を運ぶときに、一次コイルが、時間変化する磁束を発生させることができる。
ロボット装置100、260は、1つ以上の充電式電池に電気的に接続された誘導コイルを備えることができ、したがって誘導コイルが充電装置の送電ユニットから所定の距離の範囲内にあるときに1つ以上の電池を充電することができる。ロボット装置100、260の誘導コイルが充電装置の一次コイルから所定の距離の範囲内にあるとき、一次コイルによって生成された時間変化する磁束が、誘導コイルに起電力を引き起こす。結果として、充電装置の一次コイルを、一次コイルを含む導線に交流信号が供給されたときに、電力を誘導コイルへとワイヤレスにて伝えるために使用することができる。このようにして、電力を充電装置からロボット装置へと伝え、充電式電池のうちの1つ以上によって蓄えることができる。
監視ユニット610を、充電装置に関するパラメータのうちの1つ以上を監視し、電源の1つ以上の現在の特性の目安を提供することができる電源の1つ以上の性能インジケータを決定するように構成することができる。図7は、第1の方向に延びる導線740と、第2の方向に延びる導線750とを備える充電装置700の複数の導線715について、そのような導線から所定の距離の範囲内にロボット装置100、260の誘導コイルがあるか否かの監視を概略的に説明する図である。複数の導線715は、少なくとも1つの導線740が第1の方向に延び、少なくとも1つの導線750が第2の方向に延びるように配置されている。第1の方向および第2の方向は、図示のとおりの二次元平面を形成することができ、したがって送電ユニットの複数の導線715は、第1の方向および第2の方向によって定められる実質的に同じ二次元平面上で第1の方向および第2の方向に延びる。
第1の方向および第2の方向によって定められる二次元平面上の水平距離Xが図示されており、ここで論じられる技術は、ロボット装置100、260が第1の方向および第2の方向によって定められる二次元平面内を移動可能であるが、ロボット装置100、260の誘導コイルと複数の導線との間の垂直距離Z(紙面外の方向)は、ロボット装置が移動するときに変化することがない(例えば、誘導コイルから二次元平面までの垂直距離は、0.5〜40cmの範囲内のどこかであってよい)と仮定する。例えば、導線715を二次元平面に配置することができ、ロボット装置100、260は、1つ以上のアクチュエータを駆動することによって図7に示されるように、位置Aから位置Bに移動することができる。したがって、以下の技術において、ロボット装置100、260の誘導コイルが導線から所定の距離の範囲内に移動するとき、これは、第1の方向および第2の方向によって定められる二次元平面内でのロボット装置の移動によるものであり、誘導コイルと二次元平面との間の垂直距離Zは変化しないままである。したがって、2次元平面に対する誘導コイルの垂直方向の高さZが変化しないままであると仮定すると、用語「所定の距離」への言及は、図7に示される距離Xを指す。誘導コイルの導線からの距離を、標準的な三角法の計算(距離2=X2+Z2)を用いて計算できることを、理解できるであろう。
導線740、750によって運ばれる交流信号の特性を分析することによって、導線740、750から水平距離Xの範囲内にロボット装置100、260の誘導コイルが存在することを、検出することができる。ロボットの誘導コイルが、領域760の範囲内の位置から、導線740、750から距離Xの範囲内の位置へと移動すると、各々の導線740、750によって運ばれる交流信号の分析を使用して、その導線740、750から距離Xの範囲内に誘導コイルが存在することを識別することができる。ロボット装置100、260の誘導コイルが導線に近づくように移動すると、導線によって運ばれる交流電流によって発生する磁束が、誘導コイルに起電力を発生させ、導線と誘導コイルとの間のこの結合が、誘導コイルへの近接時の導線の電気特性を変化させる(乱す)ことができる。いくつかの例では、誘導コイルが所定の距離Xの範囲内に移動するときの導線の電気特性の変化(乱れ)が、導線によって運ばれる交流信号の1つ以上の特性(例えば、信号の振幅、周波数、および/または位相)に変化を引き起こすことができ、これを監視ユニット610によって監視して、充電装置700から所定の距離Xの範囲内に誘導コイルが存在するか否かを示すことができる1つ以上の性能インジケータをもたらすことができる。
換言すると、誘導コイルが導線715に近接し、導線から電力を取り入れている場合、充電装置700の電気的特性は、誘導コイルが導線に近接していない場合と比較して異なり得る。電気的特性の変化は、導線によって運ばれる交流信号に変化をもたらすことができ、これを監視することによって、所定の距離の範囲内に誘導コイルが存在するか否かを判断することができる。いくつかの例において、導線を横切って現れる電圧の変化および/または電流の流れの変化が、導線から所定の距離Xの範囲内に誘導コイルが存在するか否かを示すことができる。
これに代え、あるいはこれに加えて、ロボット装置100、260を、1つ以上のスイッチ(または、スイッチのアレイ)を使用して自身の誘導負荷を周期的に変更することで、ロボット装置100、260の誘導コイルに生じる起電力、したがって電流に周期的変化を生じさせることができるように構成することができる。このようにして、監視ユニット610は、導線740、750によって運ばれるそれぞれの交流信号を監視し、ロボット装置の誘導コイルの負荷の周期的変更に特徴的な交流信号の周期的変動を検出する(すなわち、ロボット装置100、260に特有の信号の時間依存特性を検出する)ことができる。このようにして、所定の距離Xの範囲内にロボット装置100、260の誘導コイルが存在することを、ロボット装置100、260の存在を知らせるように機能する誘導コイルの負荷の周期的変更に対応する周期的変動が、導線によって運ばれる交流信号について測定されたか否かに基づいて、監視ユニット610によって明らかにすることができる。
例えば、監視ユニット610を、充電装置700に関する電圧、電流、および/またはキャパシタンスの大きさ、周波数、および位相のうちの少なくとも1つを監視するように構成することができる。したがって、監視ユニット610は、充電装置から所定の距離の範囲内のロボット装置100、260の誘導コイルの有無、およびロボット装置100、260へのエネルギ伝達の速度(すなわち、充電装置から送られ、ロボット装置によって受信される電力の量)で構成されるリストからの1つ以上を示す電源の1つ以上の性能インジケータを決定することができる。ロボット装置100、260の誘導コイルが、領域760の範囲内の位置から、導線740、750から所定の距離の範囲内の位置へと移動すると、導線と誘導コイルとの間の結合が、導線の電気特性を変化させる(乱す)ことができ、電気特性を監視して充電装置700の状態を判断することができる。
本開示の実施形態において、プロセッサ620は、性能インジケータのうちの1つ以上と1つ以上の所定のしきい値条件との比較に応じて、複数のモードのうちの或るモードを動作に割り当てるように構成される。プログラムが、1つ以上の所定のしきい値条件に関する情報を提供することができ、プロセッサ620を、プログラムの命令のもとで、性能インジケータのうちの1つ以上を所定のしきい値条件のうちの1つ以上と比較するように構成することができる。したがって、複数のモードのうちの或るモードを、所定のしきい値条件のうちの1つが満たされるか否かに応じて、動作に割り当てることができる。したがって、プロセッサ620は、しきい値条件が満たされるときに動作に第1のモードを割り当てることができ、別のしきい値条件が満たされるときに動作に第2のモードを割り当てることができる。あるいは、いくつかの場合には、1つのしきい値条件を性能インジケータのうちの1つ以上と比較することができ、しきい値条件が満たされるか否かに応じて2つのモードのうちの一方を割り当てることができる。
いくつかのそれぞれのしきい値条件が存在でき、各々のしきい値条件について、所与の動作に異なるモードを割り当てることができることを、理解できるであろう。例えば、電池の充電状態を示す性能インジケータをしきい値条件と比較して、電池に蓄えられている現在の電荷が、電池に蓄えることができる最大可能電荷の50%よりも少ないか、あるいは多いかを確かめることができる。この比較に応じて、プロセッサ620を、動作に第1のモードまたは第2のモードのいずれかを割り当てるように構成することができ、ここで、第2のモードに従って動作を実行するために必要なエネルギの量は、第1のモードに従って動作を実行するために必要なエネルギの量よりも多い。これに代え、あるいはこれに加えて、電池の充電状態を示す性能インジケータを第1の所定のしきい値条件および第2の所定のしきい値条件と比較して、電池に蓄えられている現在の電荷が、電池に蓄えることができる最大可能電荷の31%〜60%の範囲内である(第1の所定のしきい値条件)かどうか、または1%〜30%の範囲内である(第2の所定のしきい値条件)かどうかを、確かめることができる。この場合、第2のしきい値条件が満たされるときに第1のモードを動作に割り当てることができ、第1のしきい値条件が満たされるときに第2のモードを動作に割り当てることができ、これらの条件のいずれも満たされないときに第3のモードを割り当てることができる。この例において、第1のモードは低電力モードに対応し、第2のモードは中電力モードに対応し、第3のモードは通常電力モードに対応する。したがって、制御ユニット630は、動作を実行するときに電源から引き出されるエネルギの量を制御することができるように、モードに従って動作を実行するようにロボット装置を制御することができる。さらに多数のそれぞれのしきい値条件を用意することができ、同様に、さらに多数のそれぞれのモードを提供することができる。
同様に、電池が少なくとも所定の量のエネルギを供給することができる残りの期間を示す性能インジケータを、電池の充電状態を示す性能インジケータについて説明したやり方と同様のやり方で、所定のしきい値条件のうちの1つ以上と比較することができる。したがって、電池が少なくとも所定の量のエネルギを供給することができる残りの期間と1つ以上の所定のしきい値条件との比較に応じて、複数のモードのうちの1つのモードを動作に割り当てることができる。結果として、いくつかの場合においては、複数の性能インジケータに応じて複数のモードから1つのモードを割り当てるために、第1の性能インジケータを所定のしきい値条件と比較でき、第2の性能インジケータを所定のしきい値条件と比較でき、各々の性能インジケータに重み付けを適用することができる。例えば、第1の性能インジケータが、動作に第2のモードを割り当てるようにプロセッサ620を動作させるしきい値条件に対応し、第2の性能インジケータが、動作に第1のモードを割り当てるようにプロセッサ620を動作させるしきい値条件に対応する場合、プロセッサを、性能インジケータの重み付けに応じてモードのうちの1つを動作に割り当てるように構成することができる。したがって、より大きな重み付けが第1の性能インジケータに与えられる場合、この場合にはプロセッサを第2のモードを動作に割り当てるように構成することができる。
本開示の実施形態において、プロセッサ620を、モードに従って動作を実行するために必要なエネルギの量に応じて、モードを動作に割り当てるように構成することができる。すでに述べたように、プロセッサ620は、プログラムの命令のもとで、1つ以上の性能インジケータと1つ以上の所定のしきい値条件との比較に応じて、動作にモードを割り当てることができる。プロセッサ620を、モードに従って動作を実行するために必要なエネルギの量を決定するように構成することができ、したがってプロセッサ620は、モードに従って動作を実行するために必要なエネルギに応じて、モードを動作に割り当てることができる。割り当てられたモードに従って動作を実行するために必要なエネルギの量が所定のエネルギ量を超える場合、プロセッサ620を、その動作を実行するために必要なエネルギの量を減らすべく、動作に別のモードを割り当てるように構成することができる。
例えば、プロセッサ620は、最初に1つ以上の性能インジケータに基づいて第2のモードを第1の動作に割り当てることができ、1つ以上の性能インジケータに基づいて第2のモードを第2の動作に割り当てることができる。プロセッサ620は、第2のモードに従って第1の動作を実行するために必要とされるエネルギの量と、第2のモードに従って第2の動作を実行するために必要とされるエネルギの量とを決定することができる。第2のモードに従っていずれかの動作を実行するために必要なエネルギの量が所定のエネルギ量を超える場合、プロセッサを、動作の実行時に電源から引き出されるエネルギを減らすために、第1のモード(第2のモードよりも低電力のモード)を動作に割り当てるように構成することができる。したがって、プロセッサは、動作に必要なエネルギの量に応じて動作にモードを割り当てることができ、結果として、所定のしきい値を超える大量のエネルギを必要とする動作(例えば、ロボット装置のアクチュエータの駆動)を、電源からのエネルギをあまり必要としないモードで実行することができる。このようにして、所定のエネルギ量を超える大量のエネルギを電源から必要とする動作に対し、必要とする電源からのエネルギを所定のエネルギ量よりも少なくなるように制限するモードを割り当てることができる。したがって、電池の寿命を著しく短くする可能性がある大きな放電電流の発生を、防止することができる。
本開示の実施形態において、電源の性能インジケータのうちの1つ以上が第1の所定のしきい値条件に対応するとき、プロセッサ620は、1つ以上の二次的な動作に第1のモード(低電力モード)を割り当て、1つ以上の主要な動作に第2のモード(中電力モード)を割り当てるように構成される。プログラムが、ロボット装置によって実行することができるそれぞれの動作の各々についての情報を提供することができ、各々の動作を、主要な動作または二次的な動作のいずれかに分類することができる。動作を、より多数のそれぞれの分類を使用して分類してもよいことを、理解できるであろう。したがって、ロボット装置100、260の1つ以上の動作を分類することができ、プロセッサ620は、それらの分類に従って1つ以上の動作の各々にモードを割り当てることができる。例えば、性能インジケータのうちの1つ以上を1つ以上のしきい値条件と比較することができ、第1の所定のしきい値条件が満たされるとき、プロセッサは、主要な動作に分類される1つ以上の動作に第2のモードを割り当てることができ、二次的な動作に分類される1つ以上の動作に第1のモードを割り当てることができる。例えば、第1のしきい値条件は、電池に蓄えられている現在の電荷が、電池によって蓄えることができる最大可能電荷の31%〜60%の範囲内であることを示すことができ、あるいは電池が少なくとも所定の量のエネルギを供給することができる残りの期間が、60分間などの所定の期間よりも短いことを示すことができる(第1のしきい値条件について他の値も使用可能であり、第1のしきい値条件と第2のしきい値条件とが異なる値を使用してもよいことを、理解できるであろう)。このようにして、制御ユニット630は、二次的な動作の実行を、二次的な動作が第2のモードで実行されるときよりも少ないエネルギ量しか必要としない第1のモードに従って行うように、ロボット装置100、260を制御することができる。したがって、主要な動作を第2のモードに従って実行することができ、主要な動作が二次的な動作よりも多くのエネルギを電源から引き出すことを可能にすることによって、主要な動作を二次的な動作よりも優先させることができる。
本開示の実施形態において、動作は、ロボット装置100、260の運動に対応するか否かに応じて、主要な動作または二次的な動作のいずれかに分類される。主要な動作は、ロボット装置100、260の1つ以上のアクチュエータを制御することによってロボット装置100、260の運動をもたらす動作である。例えば、主要な動作として、ロボット装置100、260に位置、向き、姿勢、および腕または脚の位置のうちの少なくとも1つの調整を生じさせる動作を挙げることができる。反対に、二次的な動作は、ロボット装置100、260の運動をもたらさない動作である。二次的な動作は、制御ユニット630がロボット装置の発光装置、ロボット装置の音声発生装置、ロボット装置の触覚フィードバック装置、ロボット装置のカメラ、およびロボット装置の送信機で構成されるリストからの1つ以上を制御するときに、ロボット装置100、260によって実行され得る。これは、動作の種類に応じて動作にモードを割り当てることができ、ロボット装置の運動に対応する動作をロボット装置の運動に対応しない動作よりも高い電力モードで実行できることを意味する。したがって、ロボット装置の機能にとって二次的な重要性でしかないと考えられる動作を、主要な重要性であると考えられる動作よりも低い電力モードで実行することができる。結果として、ロボット装置は、電池から引き出される二次的な動作の実行のためのエネルギの量を減らしつつ、主要な機能を実行することができる。
本開示の実施形態において、主要な動作について用意されるそれぞれのモードの数は、二次的な動作について用意されるそれぞれのモードの数よりも多い。すでに述べたように、プロセッサ620は、電源に関する性能インジケータのうちの1つ以上に応じて、複数のモードのうちの1つをロボット装置100、260の動作に割り当てることができる。動作に割り当てられる可能性があるそれぞれのモードの数は、動作が主要な動作または二次的な動作のどちらに分類されるかに応じて異なる。例えば、複数のモードからのX個のそれぞれのモードを、主要な動作に割り当てることが可能であってよく、複数のモードからのY個のそれぞれのモードを、二次的な動作に割り当てることが可能であってよく、ここでXはYよりも大きい。換言すると、主要な動作を、X個のそれぞれのモードから選択される1つのモードに従って実行することができ、二次的な動作を、Y個のそれぞれのモードから選択される1つのモードに従って実行することができる。
いくつかの例において、3つのそれぞれのモードを、主要な動作のために用意することができ、2つのそれぞれのモードを、二次的な動作のために用意することができる。したがって、より多数のそれぞれのモードを、主要な動作のために用意することができ、したがって主要な動作を実行するときに消費されるエネルギの量をより高い精度で制御することが可能になる。したがって、プロセッサ620は、二次的な動作について用意された粒度よりも高い粒度で主要な動作にモードを割り当てることにより、主要な動作を実行するときに必要とされるエネルギの量についてより高いレベルの制御をもたらすことができる。換言すると、第1の動作は、その動作が主要な動作であるときにその動作に割り当てることができる第1の数のそれぞれのモードと、その動作が二次的な動作であるときにその動作に割り当てることができる第2の数のそれぞれのモードとを有することができる。例えば、通常の条件下で500mAh(ミリアンペア時)を必要とする動作が、その動作が主要な動作である場合に、5つのそれぞれのモードを有することができ、それぞれのモードは、各々のモードによる動作の実行に100mAh、200mAh、300mAh、400mAh、または500mAhを必要とする。反対に、動作が二次的な動作であるとき、動作について、各々のモードによる動作の実行に100mAhまたは500mAhを必要とする2つのそれぞれのモードが存在できる。
本開示の実施形態において、電源の性能インジケータのうちの1つ以上が第2の所定のしきい値条件に対応するとき、プロセッサ620を、主要な動作のうちの1つ以上に第1のモードを割り当てるように構成することができる。例えば、第1の所定のしきい値条件が、電池によって蓄えられた現在の電荷が31%〜60%の範囲内(あるいは、25%〜50%などの何らかの他の範囲内)であることを示すことができる一方で、第2の所定のしきい値条件は、電池によって蓄えられた現在の電荷が1%〜30%の範囲内(あるいは、1%〜25%などの何らかの他の範囲内)であることを示すことができる。これに代え、あるいはこれに加えて、第1の所定のしきい値および第2の所定のしきい値は、電池が少なくとも所定の量のエネルギを供給することができる残りの期間が、それぞれ0.5〜1時間または0.01〜0.49時間の範囲内であることを示すことができる。1つ以上の性能インジケータが、第1のしきい値条件が満たされていることを示す場合、すでに説明したように、プロセッサ620は、主要な動作に分類される動作に、第2のモードを割り当てることができる。しかしながら、1つ以上の性能インジケータが第2のしきい値条件に対応する場合、プロセッサ620は、代わりに第1のモードを、主要な動作に分類される動作に割り当てることができる。したがって、第2のしきい値条件が満たされる場合、ロボット装置の主要な動作を、第1のモードに従って制御することができ、主要な動作を実行するために電池から引き出されるエネルギの量を削減することができる。
本開示の実施形態において、第1のモードが1つ以上の主要な動作に割り当てられるとき、制御ユニット630は、刺激への反応時に1つ以上の主要な動作が並列よりもむしろ順に実行されるように、第1のモードに従って1つ以上の主要な動作を実行するようにロボット装置100、260を制御するように構成される。これは、ロボット装置100、260を回転および第1の方向に移動するように制御するためのユーザ入力などの刺激に反応するときに、制御ユニット630が、回転動作を実行し、次いでロボット装置を第1の方向に移動させる動作を実行するように、ロボット装置を制御できることを意味する。したがって、性能インジケータが第2の所定のしきい値条件を満たすとき、第1のモードを1つ以上の主要な動作に割り当てることができ、ロボット装置は、動作を順に実行することで、任意の所与の時点において電源から引き出される放電電流の大きさを減らす(すなわち、電源の瞬時負荷を減らす)ことができる。2つの主要な動作を並列に実行する場合、2つの動作に同時に電力を供給するために第1の大きさの放電電流が必要とされ得る一方で、2つの主要な動作を順に実行する場合には、第1の大きさよりも小さい第2の大きさを有する放電電流が、それぞれの動作に順に電力を供給するために引き出され得る。したがって、動作を順に実行することによって、電源からの大きな放電電流の引き出しを防止することができ、したがって電源が動作の実行に適したエネルギをロボット装置に供給できる期間を延ばすことができる。
本開示の実施形態において、1つ以上の主要な動作は、スケジュールに従って順に実行され、スケジュールにおける主要な動作の順序は、各々の主要な動作に関する優先度レベルに基づいて決定される。例えば、ロボット装置100、260は、位置Aから位置Bまで移動するための動作をロボット装置に実行させる刺激に反応することができる。この場合、動作は、ロボット装置の向きを変える回転動作と、ロボット装置の位置を変える移動動作とを含むことができる。プログラムは、各々の動作に分類および優先度レベルを関連付けることができるように、ロボット装置によって実行することができるそれぞれの動作の各々についての情報を提供することができる。各々の動作に関連付けられた優先度レベルを、より高い優先度の動作を、より低い優先度の動作よりも前に実行できるように、それぞれの動作の実行の順序を決定するために使用することができる。したがって、ロボット装置を位置Aから位置Bへと移動させる刺激に反応するとき、ロボット装置100、260によって実行される動作を、それらの優先度レベルに従ってスケジュールに並べることができ、制御ユニット630は、スケジュールによって定義された順序で動作を実行するようにロボット装置100、260を制御することができる。
本開示の実施形態において、電源の性能インジケータのうちの1つ以上が第2の所定のしきい値条件に対応するとき、プロセッサ620は、ロボット装置の位置および向きの少なくとも一方を調整するものではないロボット装置の動きに対応する1つ以上の主要な動作に第1のモードを割り当て、ロボット装置の位置および向きの少なくとも一方の調整に対応する1つ以上の主要な動作に第2のモードを割り当てるように構成される。第1のモードを、ロボット装置100、260の位置および/または向きの調整に寄与しないロボット装置100、260の腕、頭部、または胴体の動きなどの1つ以上の主要な動作に割り当てることができる。これは、ロボット装置100、260の位置および/または向きを変えることがないロボット装置100、260の動きをもたらす主要な動作を、ロボット装置によって第1のモードに従って実行することができ、したがって、そのような主要な動作を実行するために、電源によって供給されるエネルギの量がより少なくてよいことを意味する。反対に、第2のモードを、ロボット装置100、260の位置および/または向きの調整に寄与する下肢(脚)、足、または車輪の動きなどの1つ以上の主要な動作に割り当てることができる。したがって、ロボット装置の位置および/または向きの調整を生じさせるものではない動作を、第1のモードに従って実行することができ、したがって、これらの動作を実行するために電源によって供給されるエネルギの量がより少なくて済む一方で、位置および/または向きを調整する動作を、第2のモードに従って実行することができる。したがって、移動を促進する主要な動作については電源からより多くのエネルギを引き出すことを許すことにより、充電ステーションに向かうロボット装置の移動を可能にすることができる主要な動作を、充電ステーションに向かうロボット装置の移動に役立たない他の主要な動作よりも優先することができる。
本開示の実施形態において、電源の性能インジケータのうちの1つ以上が第3の所定のしきい値条件に対応するとき、制御ユニット630は、電源の1つ以上の充電式電池がロボット装置から取り外される動作を実行するようにロボット装置100、260を制御するように構成される。第3の所定のしきい値条件を、1つ以上の性能インジケータと比較することができ、第3の所定のしきい値条件は、電池によって蓄えられた現在の電荷が所定の範囲(0%〜1%など)内であるか否か、または電池が少なくとも所定の量のエネルギを供給することができる残りの期間が0.00〜0.0.05時間の範囲内であるか否かについての目安を提供することができる。性能インジケータのうちの1つ以上が第3のしきい値条件に対応するとき、制御ユニット630を、ロボット装置100、260を制御して、ロボット装置の充電式電池のうち、第3の所定の条件を満たす1つ以上の性能インジケータを有する1つ以上の充電式電池を切り離すように構成することができる。これは、使い尽くされた今や余分の1つ以上の充電式電池を放棄するようにロボット装置100、260を制御でき、したがってロボット装置100、260の総質量を軽減できることを意味する。したがって、もはや動作を実行するための電力の供給に使用することができない1つ以上の充電式電池を放棄することによってロボット装置の質量を減らすことができ、これは、位置および/または向きの調整時のエネルギの節約(すなわち、電源から引き出されるエネルギを少なくする)においてロボット装置100、260を助けることができる。
本開示の実施形態において、プロセッサ620は、電源の性能インジケータのうちの1つ以上の変化率を予測し、予測された性能インジケータのうちの1つ以上に応じて複数のモードのうちの1つをロボット装置の動作に割り当てるように構成される。監視ユニット610によって監視された1つ以上の性能インジケータを、性能インジケータのうちの1つ以上についての変化率を予測するために、プロセッサ620によって分析することができる。例えば、プロセッサ620は、複数のそれぞれの時点(例えば、T1およびT2)において性能インジケータの大きさおよび/または変化率を分析することができ、複数のそれぞれの時点において監視ユニット610によって測定された性能インジケータの特性に基づいて、将来の時点における性能インジケータの予想値および/または予想変化率を予測することができる。このようにして、プロセッサ620は、時間T3(ここで、T3はT1およびT2よりも遅い時間に生じる)における性能インジケータの大きさを予測することができる。したがって、性能インジケータの大きさを前もって予測することができ、1つ以上の予測による性能インジケータと所定のしきい値のうちの1つ以上との比較に基づいて、1つ以上の動作にモードを割り当てることができる。このようにして、プロセッサ620は、以前に監視された電源の状態に基づいて、1つ以上の性能インジケータを前もって予測することができる。したがって、予測を、電池が少なくとも所定の量のエネルギを供給することができる残りの期間について、外挿計算を用いた予測に基づいて行うことができ(すなわち、電源による少なくとも所定の量のエネルギの供給が、いつ不可能になるかを予測することができ)、必要とされる電源からのエネルギを抑制するように先取りの様相でそれぞれの動作にモードを割り当てることができる。いくつかの例においては、外挿計算を、監視されたパラメータの線形外挿に基づいて実行することができる。これに代え、あるいはこれに加えて、外挿計算を、製造業者の仕様を考慮し、あるいは充電式電池のうちの1つ以上を放電させた以前の事例について監視されたパラメータを考慮することによって、充電式電池の性能における非線形性を考慮するように実行することができる。
ここで図8を参照すると、本開示の実施形態において、電源の状態に応じてロボット装置によって実行される1つ以上の動作を制御する方法が、
ロボット装置に電力を供給する電源に関する1つ以上のパラメータを監視する第1のステップS810と、
パラメータのうちの1つ以上に基づいて電源の1つ以上の性能インジケータを決定する第2のステップS820と、
刺激への反応時にロボット装置によって実行される1つ以上の動作について複数のモードを定めるプログラムの命令のもとで、電源の性能インジケータのうちの1つ以上に応じてロボット装置の動作に複数のモードのうちの1つを割り当て、ここで、動作を実行するために必要な電源からのエネルギの量が動作に割り当てられるモードに応じて異なる第3のステップS830と、
刺激への反応時に、動作に割り当てられたモードに従って動作を実行するようにロボット装置を制御する第4のステップS840と
を含む。
本明細書において説明されて特許請求されるシステムの種々の実施形態の動作に対応する上述の方法の変種が、本発明の技術的範囲に含まれると考えられることは、当業者にとって明らかであろう。
本発明のさらなる実施形態においては、刺激への反応時にロボット装置によって実行される1つ以上の動作について複数のモードを生成するためのオーサリングツールが提供される。このオーサリングツールは、挙動をスクリプト化し、あるいは他のやり方でロボットのための能力を開発するために提供されるより一般的なツールの一部であってよい。
オーサリングツールは、1つ以上のアクション(アクチュエータの1回転、または1秒間の光の点灯、など)の実行のコストに関する情報を入手することができる。これらは、ロボットの製造者および/またはオーサリングツールの現在のユーザによってもたらされても、ツールに組み込まれても、さらには/あるいは必要に応じてロボットの他のパラメータに基づいて計算されてもよい。コストは、瞬間的な所要電力、全体的なエネルギ消費、標準的な電池の蓄え/寿命に対する割合など、複数のやり方で表現することが可能である。
次いで、開発者は、複数のアクションを順に含み、さらには/あるいは並列に含むことができるロボットの刺激への応答をスクリプト化することができ、オーサリングツールは、その応答のコストを、応答時の瞬間的な電力消費、総エネルギ消費、などのうちの1つ以上に関して見積もることができる。オーサリングツールは、随意により、応答を(例えば、すでに述べたように1つ以上のしきい値条件に従って)高コストな応答、低コストな応答、または随意による中コストな応答に分類することができる。コストが高く、あるいは随意により中程度である場合、ユーザは、低コストの応答の生成を選択することができる(あるいは、低コストの応答を生成するようにオーサリングツールによって要求されてもよい)。この低コストの応答は、全体的なエネルギ消費を低減するためにアクションを省略し、もしくは置き換えることができ、さらには/あるいは瞬間的な電力消費を低減するために並列なアクションを省略し、置き換え、あるいは順に実行するようにすることができる。次いで、オーサリングツールは、2つまたは3つ以上の応答を、それらのコスト分類、しきい値、および/またはコスト値と共に、典型的にはより幅広い制御またはスクリプトパッケージの一部として、ロボットへと出力することができる。
したがって、ここで図9も参照すると、本発明の実施形態において、ロボット装置によって実行される1つ以上の動作を制御するための方法は、
第1のステップs910において、すでに述べたように、ロボット装置の複数のアクションについてエネルギコスト(エネルギ消費、瞬時電力、など)を取得することと、
第2のステップs920において、すでに述べたように、刺激への反応時にロボット装置によって実行される複数のアクションのうちの1つ以上をそれぞれ含む1つ以上の動作について、複数のモードの各々のエネルギコストを計算することと、
第3のステップs930において、これらのモードをエネルギコストに応じて(例えば、すでに述べたように1つ以上のしきい値条件に従って)分類することと、
第4のステップs940において、所与の刺激に対してエネルギ的に適切な応答を選択できるように、モードおよび分類をロボット装置に提供することと
を含む。
例示的実施形態を、ゲーム機などの汎用コンピューティングシステムまたはロボット装置の一部として提供されるコンピューティングシステム上で動作するコンピュータソフトウェアによって実現できることも、理解できるであろう。これらの例において、コンピュータによって実行されたときにコンピュータに上述の方法のいずれかを実行させるコンピュータソフトウェアは、本開示の一実施形態と見なされる。同様に、本開示の実施形態は、そのようなコンピュータソフトウェアを格納する非一時的な機械可読記憶媒体によって提供される。
上記の教示に照らして、本開示について多数の変更および変種が可能であることも、明らかであろう。したがって、添付の特許請求の範囲の技術的範囲において、本開示を本明細書において具体的に説明したやり方とは別のやり方で実施してもよいことを、理解すべきである。