【解決手段】ロボット1は、設置面部3と、凸状の球面部4とを含んで構成される筐体2を有する。筐体2は、球面部4との交線が第1交円5となる第1仮想平面を境にして、球面部4を第1仮想平面で分割したうちの設置面部3側の第1球面部6と、第1交円5の中心を通り第1交円5に垂直な第1仮想軸5aを回転軸として第1球面部6に対して回転可能に構成された、球冠形状の第2球面部7とに分離されている。第2球面部7は、第2球面部7との交線が第2交円8となり、第1仮想平面と平行でない第2仮想平面を境にして、第2球面部7を第2仮想平面で分割したうちの第1球面部6側の第3球面部9と、第2交円8の中心を通り第2交円8に垂直な第2仮想軸8aを回転軸として第3球面部9に対して回転可能に構成された、球冠形状の第4球面部10とに分離されている。
前記第1仮想軸を回転軸として前記第2球面部を前記第1球面部に対して回転させ、前記第2仮想軸を回転軸として前記第4球面部を前記第3球面部に対して回転させる駆動機構を、前記筐体内部に備える、
請求項1に記載のロボット。
前記制御対象部位を第1の姿勢状態から第2の姿勢状態に変移させる場合に、前記第1の姿勢状態における前記第1仮想軸の所定の基準状態からの回転角度である第1回転角度と、前記第1の姿勢状態における前記第2仮想軸の前記所定の基準状態からの回転角度である第2回転角度と、前記第2の姿勢状態における前記第1仮想軸の前記所定の基準状態からの回転角度である第3回転角度と、前記第2の姿勢状態における前記第2仮想軸の前記所定の基準状態からの回転角度である第4回転角度と、を特定し、
前記第1回転角度と前記第3回転角度とに基づいて前記第1の姿勢状態から前記第2の姿勢状態への姿勢の変移に伴う前記第1仮想軸の回転角度である第5回転角度を算出し、
前記第2回転角度と前記第4回転角度とに基づいて前記第1の姿勢状態から前記第2の姿勢状態への姿勢の変移に伴う前記第2仮想軸の回転角度である第6回転角度を算出し、
前記駆動機構が前記第2球面部を前記第1球面部に対して前記第5回転角度で回転し、前記第4球面部を前記第3球面部に対して前記第6回転角度で回転するように制御する制御部を、さらに備える、
請求項4に記載のロボット。
前記第1の姿勢状態から変移を開始して前記第3の姿勢状態に到達するのに要する到達時間と、前記第1の姿勢状態から変移を開始して前記第3の姿勢状態に到達するのに要する到達時間の比が、前記第1姿勢パラメータと前記第2姿勢パラメータと前記第3姿勢パラメータのうちの前記第1の姿勢状態から前記第2の姿勢状態への変化に伴って変化する1の姿勢パラメータの前記第1の姿勢状態から前記第3の姿勢状態への変移に伴う変化量と、前記1の姿勢パラメータの前記第1の姿勢状態から前記第2の姿勢状態への変移に伴う変化量の比と同じ比となるように、前記第1の姿勢状態から前記第3の姿勢状態を経由して前記第2の姿勢状態に変移するように前記駆動機構を駆動させる、
請求項6に記載のロボット。
【発明を実施するための形態】
【0010】
以下、本実施の形態について図面を参照して説明する。
[第1の実施形態]
図1は、第1の実施形態のロボットの一例を説明するための図である。ロボット1は、筐体2を有する。筐体2は、ロボット1の制御に用いられる各種電子部品を格納する。
【0011】
筐体2は、設置面部3と、凸状の球面部4とを含んで構成される。設置面部3は、非設置面(例えば、床や天井等)に設置される部分である。筐体2は、例えば、球面部4と平面状の設置面部3とで構成された部分球体(球欠ともいう)形状である。なお、筐体2は、球体形状であってもよい。この場合には、球面部4の一部を設置面として機能する設置面部3とすればよい。
【0012】
球面部4は、球面部4との交線が第1交円5となる第1仮想平面を境にして、第1球面部6と、第2球面部7とに分離されている。第1球面部6は、球面部4を第1仮想平面で分割したうちの設置面部3側の部分である。第2球面部7は、球面部4を第1仮想平面で分割したうちの設置面部3側ではない部分である。第2球面部7は、球冠形状である。第2球面部7は、第1交円5の中心を通り第1交円5に垂直な第1仮想軸5aを回転軸として第1球面部6(設置面部3に対してともいう)に対して回転可能(回転自在ともいう)に構成されている。
【0013】
第2球面部7は、第2球面部7との交線が第2交円8となり、第1仮想平面と平行でない第2仮想平面を境にして、第3球面部9と、第4球面部10とに分離されている。第3球面部9は、第2球面部7を第2仮想平面で分割したうちの第1球面部6側の部分である。第4球面部10は、第2球面部7を第2仮想平面で分割したうちの第1球面部6側ではない部分である。第4球面部10は、球冠形状である。第4球面部10は、第2交円8の中心を通り第2交円8に垂直な第2仮想軸8aを回転軸として第3球面部9(第1球面部6または設置面部3に対してともいう)に対して回転可能に構成されている。第1仮想平面と第2仮想平面とが平行ではないので、第1交円5と第2交円8とは平行ではない。そのため、第1仮想軸5aと、第2仮想軸8aとは、異なる傾斜方向となっている。
【0014】
以上が第1の実施形態のロボット1である。このようにロボット1では、第4球面部10を構成要素とする第2球面部7が第1仮想軸5aを回転軸として第1球面部6に対して回転可能に構成されており、第4球面部10が第2仮想軸8aを回転軸として第3球面部9に対して回転可能に構成されている。すなわち、ロボット1では、第4球面部10が、設置面部3(第1球面部6ともいう)に対して第1仮想軸5a及び第2仮想軸8aの2つの異なる回転軸により回転可能に構成されている。
【0015】
このようにロボット1では、異なる傾斜方向となる(向きが異なるともいう)第1仮想軸5aと第2仮想軸8aとを回転軸として第4球面部10が回転可能に構成されているため、第4球面部10の姿勢(ロボット1の姿勢、または第4球面部10内の所定部分の姿勢ともいう)を高い自由度で制御できる。したがって、ロボット1は、例えば、第4球面部10内に顔部やネットワークカメラやディスプレイ等を配置することで、顔部やネットワークカメラやディスプレイ等について自由度の高い姿勢制御(具体的には、方向や回転角度(向きまたは傾きともいう)等の制御)を実現できる。
【0016】
さらには、ロボット1の第2球面部7及び第4球面部10は、球冠形状であるため、第1仮想軸5aと第2仮想軸8aとを回転軸として第4球面部10を回転させた場合であっても、筐体2の形状が変化することがない。そのため、ロボット1は、第4球面部10を回転させた場合に形状が変化することにより、周りの設置物に干渉することがないので、第4球面部10の回転が妨げられることがなく、設置環境によらず第4球面部10の姿勢を高い自由度で制御できる。
【0017】
[第2の実施形態]
次により具体的な実施形態としてロボットシステムについて説明する。
図2は、第2の実施形態のロボットシステムの全体概要例を示す図である。
【0018】
ロボットシステム50は、ロボット200の姿勢を制御するシステムである。ロボットシステム50は、情報処理装置100と、情報処理装置100と通信可能に接続するロボット200とを含んで構成される。
【0019】
ロボット200は、駆動機構(例えば、サーボモータ)を有し、駆動機構の駆動によって姿勢を変移可能に構成されたロボットである。具体的には、ロボット200は、目を有する顔部を有し、ロボット200の姿勢として、顔部の姿勢(具体的には、方向や回転角度(向きまたは傾きともいう)等の制御)を変移可能に構成されている。ロボット200は、情報処理装置100からの指示に基づいた態様で駆動機構を駆動させることで顔部の姿勢を変移させる。
【0020】
情報処理装置100は、ロボット200の姿勢を統括的に制御する装置である。情報処理装置100は、ロボット200を第1の姿勢状態(現在の姿勢状態または移動前の姿勢状態ともいう)から第2の姿勢状態(移動後の姿勢状態ともいう)に変移させる際、姿勢状態の変移に要する駆動機構の駆動量を特定し、駆動機構の駆動態様を決定する。そして、情報処理装置100は、ロボット200に決定した駆動態様による駆動量の駆動を指示することにより、ロボット200の第1の姿勢状態から第2の姿勢状態への姿勢状態の変移を制御する。
【0021】
次にロボット200の構造についてより具体的に説明する。
図3は、第2の実施形態のロボットの構造を示す図(その1)である。
図4は、第2の実施形態のロボットの構造を示す図(その2)である。
【0022】
図3(1)は、ロボット200の側面図であり、
図3(2)は、ロボット200の正面図であり、
図4は、ロボット200の筐体の分解斜視図である。
【0023】
ロボット200は、部分球体形状(球欠ともいう)の筐体201を有する。筐体201は、非設置面に設置される平面状の設置面部202と、凸状の球面部203とで構成された部分球体(球欠ともいう)形状である。筐体201の内部には、図示しない各種電子部品(例えば、駆動機構)が格納されている。
【0024】
球面部203は、第1球面部204と、第2球面部205とに分離されている。第2球面部205は、第3球面部206と、第4球面部207とに分離されている。第4球面部207は、第5球面部208と、第6球面部209とに分離されている。すなわち、筐体201の球面部203は、第1球面部204と、第3球面部206と、第5球面部208と、第6球面部209とで構成されている。
【0025】
第1球面部204は、球面部203との交線が第1交円210となる第1仮想平面を境にして、球面部203を2つに分割したうちの設置面部202側の部分である。
【0026】
第2球面部205は、第1仮想平面を境にして、球面部203を2つに分割したうちの設置面部202側ではない部分である。第2球面部205は、球冠形状である。第2球面部205は、第1交円210の中心を通り第1交円210に垂直な第1仮想軸210aを回転軸として第1球面部204(設置面部202に対してともいう)に対して回転可能に構成されている。
【0027】
第3球面部206は、第2球面部205との交線が第2交円211となり、第1仮想平面と平行でない第2仮想平面を境にして、第2球面部205を2つに分割したうちの第1球面部204側(設置面部202側ともいう)の部分である。
【0028】
第4球面部207は、第2仮想平面を境にして、第2球面部205を2つに分割したうちの第1球面部204側(設置面部202側ともいう)ではない部分である。第4球面部207は、球冠形状である。第4球面部207は、第2交円211の中心を通り第2交円211に垂直な第2仮想軸211aを回転軸として第3球面部206(第1球面部204または設置面部202に対してともいう)に対して回転可能に構成されている。第1仮想平面と第2仮想平面とが平行ではないので、第1交円210と第2交円211とは平行ではない。そのため、第1仮想軸210aと、第2仮想軸211aとは、異なる傾斜方向となっている。
【0029】
第5球面部208は、第4球面部207との交線が第3交円212となり、第2仮想平面と平行でない第3仮想平面を境にして、第4球面部207を2つに分割したうちの第3球面部206側(設置面部202側ともいう)の部分である。
【0030】
第6球面部209は、第3仮想平面を境にして、第4球面部207を2つに分割したうちの第3球面部206側(設置面部202側ともいう)ではない部分である。第6球面部209は、球冠形状である。第6球面部209は、顔部を有する。第6球面部209は、ロボット200における姿勢制御の対象となる制御対象部位が設けられている部分である。制御対象部位は、例えば、顔部の中心(目と目の間ともいう)に設けられている。第6球面部209は、第3交円212の中心を通り第3交円212に垂直な第3仮想軸212aを回転軸として第5球面部208(第1球面部204または設置面部202に対してともいう)に対して回転可能に構成されている。第2仮想平面と第3仮想平面とが平行ではないので、第2交円211と第3交円212とは平行ではない。そのため、第2仮想軸211aと、第3仮想軸212aとは、異なる傾斜方向となっている。
【0031】
このようにロボット200では、第6球面部209を構成要素とする第2球面部205が第1仮想軸210aを回転軸として第1球面部204に対して回転可能に構成されている。また、ロボット200では、第6球面部209を構成要素とする第4球面部207が第2仮想軸211aを回転軸として第1球面部204に対して回転可能に構成されている。ロボット200では、第6球面部209が第3仮想軸212aを回転軸として第1球面部204に対して回転可能に構成されている。
【0032】
すなわち、ロボット200では、第6球面部209(具体的には、制御対象部位)が、第1球面部204(設置面部202ともいう)に対して第1仮想軸210a、第2仮想軸211a、及び第3仮想軸212aの3つの回転軸により回転可能に構成されている。これによりロボット200は、第6球面部209の姿勢(ロボット200の姿勢、または制御対象部位の姿勢ともいう)を高い自由度で制御できる。
【0033】
さらには、ロボット200の第2球面部205、第4球面部207及び第6球面部209は、球冠形状であるため、第1仮想軸210aと第2仮想軸211aと第3仮想軸212aを回転軸として第6球面部209を回転させた場合であっても、筐体201の形状が変化することがない。そのため、ロボット200は、第6球面部209を回転させた場合に形状が変化することにより、周りの設置物に干渉することがないので、第6球面部209の回転が妨げられることがなく、設置環境によらず第6球面部209の姿勢を高い自由度で制御できる。
【0034】
次に情報処理装置100のハードウェア構成について説明する。
図5は、第2の実施形態の情報処理装置のハードウェア構成の一例を示す図である。
【0035】
情報処理装置100は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、メモリ102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。
【0036】
プロセッサ101は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、またはDSP(Digital Signal Processor)である。プロセッサ101の機能の少なくとも一部を、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、PLD(Programmable Logic Device)等の電子回路で実現してもよい。
【0037】
メモリ102は、情報処理装置100の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に必要な各種データが格納される。メモリ102としては、RAM(Random Access Memory)等の揮発性の半導体記憶装置が使用される。
【0038】
周辺機器としては、HDD(Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107及び通信インタフェース108がある。
【0039】
HDD103は、内蔵したディスクに対して、磁気的にデータの書き込み及び読み出しを行う。HDD103は、情報処理装置100の補助記憶装置として使用される。HDD103には、OSのプログラム、アプリケーションプログラム、及び各種データが格納される。なお補助記憶装置としては、フラッシュメモリ等の不揮発性の半導体記憶装置を使用することもできる。
【0040】
グラフィック処理装置104には、モニタ104aが接続されている。グラフィック処理装置104は、プロセッサ101からの命令に従って、画像をモニタ104aの画面に表示させる。モニタ104aとしては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置等がある。
【0041】
入力インタフェース105には、キーボード105aとマウス105bとが接続されている。入力インタフェース105は、キーボード105aやマウス105bから送られてくる信号をプロセッサ101に送信する。
【0042】
なお、マウス105bは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボール等がある。
【0043】
光学ドライブ装置106は、レーザ光等を利用して、光ディスク106aに記録されたデータの読み取りを行う。光ディスク106aは、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク106aには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(Re Writable)等がある。
【0044】
機器接続インタフェース107は、情報処理装置100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置107aやメモリリーダライタ107bを接続することができる。
【0045】
メモリ装置107aは、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ107bは、メモリカード107cへのデータの書き込み、またはメモリカード107cからのデータの読み出しを行う装置である。メモリカード107cは、カード型の記録媒体である。
【0046】
通信インタフェース108は、ネットワークに接続されている。通信インタフェース108は、ネットワークを介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
【0047】
以上のようなハードウェア構成によって、本発明の処理機能を実現することができる。情報処理装置100は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、本発明の処理機能を実現する。情報処理装置100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。
【0048】
例えば、情報処理装置100に実行させるプログラムをHDD103に格納しておくことができる。プロセッサ101は、HDD103内のプログラムの少なくとも一部をメモリ102にロードし、プログラムを実行する。また情報処理装置100に実行させるプログラムを、光ディスク106a、メモリ装置107a、メモリカード107c等の可搬型記録媒体に記録しておくこともできる。
【0049】
可搬型記録媒体に格納されたプログラムは、例えばプロセッサ101からの制御により、HDD103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【0050】
次にロボット200の筐体201内部に配置されるハードウェアについて説明する。
図6は、第2の実施形態のロボットのハードウェア構成の一例を示す図である。
【0051】
ロボット200は、プロセッサ220によって装置全体が制御されている。プロセッサ220には、メモリ221と複数の周辺機器が接続されている。プロセッサ220は、マルチプロセッサであってもよい。
【0052】
プロセッサ220は、例えばCPU、MPU、またはDSPである。プロセッサ220の機能の少なくとも一部を、ASIC、FPGA、PLD等の電子回路で実現してもよい。
【0053】
メモリ221は、ロボット200の主記憶装置として使用される。メモリ221には、プロセッサ220に実行させるOSのプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ221には、プロセッサ220による処理に必要な各種データが格納される。メモリ221としては、RAM等の揮発性の半導体記憶装置が使用される。
【0054】
周辺機器としては、駆動機構222及び通信インタフェース223がある。駆動機構222は、第1仮想軸210aを回転軸として第2球面部205を第1球面部204に対して回転(制御対象部位を第1球面部204に対して回転)させる機構である。また、駆動機構222は、第2仮想軸211aを回転軸として第4球面部207を第1球面部204に対して回転(制御対象部位を第1球面部204に対して回転)させる機構である。また、駆動機構222は、第3仮想軸212aを回転軸として第6球面部209を第1球面部204に対して回転(制御対象部位を第1球面部204に対して回転)させる機構である。
【0055】
駆動機構222は、例えば、第1のサーボモータと、第2のサーボモータと、第3のサーボモータと、を含んで構成される。駆動機構222は、第1のサーボモータのモータを回転させることにより第1仮想軸210aを回転軸として第2球面部205を第1球面部204に対して回転させる。また、駆動機構222は、第2のサーボモータのモータを回転させることにより第2仮想軸211aを回転軸として第4球面部207を第3球面部206に対して回転させる。また、駆動機構222は、第3のサーボモータのモータを回転させることにより第3仮想軸212aを回転軸として第6球面部209を第5球面部208に対して回転させる。
【0056】
通信インタフェース223は、ネットワークに接続されている。通信インタフェース223は、ネットワークを介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。なお、ロボット200は、図示しないセンサ群を備えることができる。センサ群に含まれるセンサとしては、例えば、人を感知する人感センサなどがある。以上のようなハードウェア構成によって、本発明の処理機能を実現することができる。
【0057】
次に情報処理装置100及びロボット200が備える機能について説明する。
図7は、第2の実施形態のロボットシステムの機能構成の一例を示す図である。まず情報処理装置100の機能構成について説明する。情報処理装置100は、処理部110と、記憶部111と、通信部112とを有する。
【0058】
処理部110は、第6球面部209に位置する制御対象部位を第1の姿勢状態から第2の姿勢状態に変移させる際、姿勢状態の変移に要する制御対象部位の第1仮想軸210a回りの回転角度(回転変化量、回転移動量ともいう)と、第2仮想軸211a回りの回転角度と、第3仮想軸212a回りの回転角度を特定する。その後、処理部110は、特定した各回転軸回りの回転角度だけ制御対象部位を回転軸回りで回転させる際の回転態様を決定する。そして、処理部110は、決定した回転態様に基づく駆動態様をロボット200に通知して、ロボット200に決定した駆動態様で駆動機構222を駆動させることにより回転態様による制御対象部位の変移を実行させる。
【0059】
記憶部111は、姿勢を変移させる際に要する各回転軸回りの制御対象部位の回転角度の特定、及び回転態様の決定に要する情報(姿勢制御情報ともいう)を記憶する。記憶部111が記憶する姿勢制御情報については、後で
図9を用いて詳細に説明する。通信部112は、ロボット200との通信を制御する。
【0060】
次にロボット200の機能構成について説明する。ロボット200は、処理部230と、通信部231とを有する。処理部230は、受け付けた駆動態様で駆動機構222を駆動させて、情報処理装置100が決定した回転態様で制御対象部位を第1の姿勢から第2の姿勢へと変移させる。通信部231は、情報処理装置100との通信を制御する。
【0061】
次に制御対象部位の姿勢について説明する。
図8は、第2の実施形態の制御対象部位の姿勢を説明するための図である。
【0062】
なお、ここでは
図8(1)に示すように球面部203を球面とする仮想球体(球状構造ともいう)の中心を原点Oとし、右手座標系となるようにX軸を左右方向にとり、Y軸を紙面奥行方向にとり、Z軸を上下方向にとったXYZ軸からなる三次元直交座標を設定した場合における制御対象部位の姿勢の変移について説明する。なおここではX軸は右方向が正方向となり、Y軸は紙面奥方向が正方向となり、Z軸は上方向が正方向となるものとする。
【0063】
なお、制御対象部位の第1の姿勢状態における座標をT(Tx,Ty,Tz)とし、制御対象部位の第2の姿勢状態における座標をT´(T´x,T´y,T´z)とする。
【0064】
また、第1仮想軸210aの正のZ軸方向の単位ベクトルをA1(A1x,A1y,A1z)とし、第2仮想軸211aの正のZ軸方向の単位ベクトルをA2(A2x,A2y,A2z)とし、第3仮想軸212aの正のZ軸方向の単位ベクトルをA3(A3x,A3y,A3z)とする。なお、各単位ベクトルは右手回りを正の回転であるものとする。
【0065】
また、制御対象部位の姿勢は、原点と制御対象部位を結ぶ軸回りを基準状態から回転させた角度(ロール(Roll)ともいう)と、制御対象部位のXY平面からの角度(ピッチ(Pitch)ともいう)と、制御対象部位のX軸を基準としたZ軸回りの角度(ヨー(Yaw)ともいう)とで表すものとする。
【0066】
ところで、全ての回転軸は、原点を通るため、座標Tにある状態からそれぞれの回転軸回りを任意の回転角度だけ回転させたときの制御対象部位の座標T´は、座標Tを複数の回転軸回りで回転移動させた結果として表現できる。
【0067】
ここで座標Tを第1仮想軸210a回りで回転移動させる回転角度をθ
1、第2仮想軸211a回りで回転移動させる回転角度(回転角度、回転移動量ともいう)をθ
2、第3仮想軸212a回りで回転移動させる回転角度をθ
3とすると、各回転軸回りの回転クォータニオンは、以下の式(1)で表すことができる。
【0069】
したがって、制御対象部位が座標Tに位置する状態から第1仮想軸210a回りをθ
1回転させ、第2仮想軸211a回りをθ
2回転させ、第3仮想軸212a回りθ
3回転させたときの制御対象部位の回転移動後の座標T´は、制御対象部位の座標Tを用いて以下の式(2)で算出できる。
【0071】
一方で、制御対象部位が座標Tから座標T´へと回転移動した際の姿勢パラメータ「ピッチ」の変化量は、座標TをXY平面上に投射した座標P(Tx,Ty,0)と、座標T´をXY平面上に投射した座標P´(T´x,T´y,0)とするとき∠T´OP´と∠TOPの差分により算出できる。具体的には、以下の式(3)で算出できる。
【0073】
また、制御対象部位が座標Tから座標T´へと回転移動した際の姿勢パラメータ「ヨー」の変化量は、座標PをX軸上に投射した座標Q(0,Ty,0)と、座標P´をX軸上に投射した座標Q´(0,T´y,0)とするとき∠P´OQ´と∠POQの差分により算出できる。具体的には、以下の式(4)で算出できる。
【0075】
ここでOT⊥ONとなるXY平面上の原点から距離が1である座標N(Nx,Ny,0)とすると、座標Nは、Tx、Tyを用いて以下の式(5)で表すことができる。
【0077】
また、同様にOT´⊥OMとなるXY平面上の原点からの距離が1である座標M(Mx,My,0)とすると、座標Mは、T´x、T´yを用いて以下の式(6)で表すことができる。
【0079】
そして、座標Tから座標T´への回転移動と同じ回転移動を座標Nにした際に座標Nが位置する座標を座標N´とすると、座標Tから座標T´への移動した際の姿勢パラメータ「ロール」の変化量は、ON´とOMにより形成される角度により算出できる。具体的には、以下の式(7)で算出できる。
【0081】
なお、座標N´は、座標Tから座標T´への回転移動と同様にして制御対象部位の座標Nを用いて以下の式(8)で算出できる。
【0083】
すなわち、回転移動後の座標N´の各値は、座標Tの各値及び単位ベクトルを用いて表すことができる。
【0084】
これによれば、ある状態(基準状態ともいう)における各回転軸の単位ベクトルと、制御対象部位の座標及び当該座標における姿勢を与えれば、当該基準状態から各回転軸回りを任意の回転角度で回転移動させたときの制御対象部位の座標、姿勢を特定できる。すなわち、ロボット200において制御対象部位が取り得る全ての姿勢を、基準状態における制御対象部位の姿勢から各回転軸回りを所定の回転角度だけ回転させた後の姿勢として規定することができる。
【0085】
なお、以下では、
図8(2)に示すように、XYZ座標を設定し、基準状態において制御対象部位は座標T(Cos15.7°,0,Sin15.7°)に位置し、制御対象部位の姿勢(ロール,ピッチ,ヨー)が(0,15.7,0)であるものとする。また、基準状態を基準(すなわち、回転角度=0)とした第1仮想軸210a回りの回転角度をA1、第2仮想軸211a回りの回転角度をA2、第3仮想軸212a回りの回転角度をA3とする。
【0086】
また、基準状態における第1仮想軸210aの単位ベクトルは、(Cos90°,0,Sin90°)であり、第2仮想軸211aの単位ベクトルは、(Cos60°,0,Sin60°)であり、第3仮想軸212aの単位ベクトルは、(Cos30°,0,Sin30°)であるものとする。
【0087】
次に記憶部111が記憶する姿勢を変移させる際に要する各回転軸回りの制御対象部位の回転角度の特定、及び回転態様の決定に要する情報(姿勢制御情報ともいう)について説明する。
図9は、第2の実施形態の姿勢制御情報の一例を示す図である。
【0088】
姿勢制御情報は、姿勢制御に用いられる情報である。姿勢制御情報は、制御対象部位の姿勢と、基準状態からの各回転軸回りの回転角度(基準状態を基準(回転角度=0)とした各回転軸回りの回転角度ともいう)とを対応付けた情報である。姿勢制御情報は、前述した基準状態における制御対象部位の姿勢から各回転軸回りをあらゆる回転角度で回転移動させた場合についての姿勢を算出することによって作成された情報である。姿勢制御情報は、ロールテーブルと、ピッチテーブルと、ヨーテーブルとを含む。
【0089】
ロールテーブルは、制御対象部位の姿勢パラメータ「ロール」の値と、各回転軸の基準状態からの回転角度(基準状態から各回転軸回りを回転移動させた回転角度ともいう)とを対応付けたテーブルである。ピッチテーブルは、制御対象部位の姿勢パラメータ「ピッチ」の値と、各回転軸の基準状態からの回転角度(基準状態から各回転軸回りを回転移動させた回転角度ともいう)とを対応付けたテーブルである。ヨーテーブルは、制御対象部位の姿勢パラメータ「ヨー」の値と、各回転軸の基準状態からの回転角度(基準状態から各回転軸回りを回転移動させた回転角度ともいう)とを対応付けたテーブルである。
【0090】
なお、当該実施形態においては、第1仮想軸210a回りの回転移動によってはピッチとロールが変移しない。したがって、第2仮想軸211a及び第3仮想軸212aの基準状態からの回転角度によって特定されるピッチとロールとヨーの値のうち、ヨーの値について第1仮想軸210aの基準状態からの回転角度に基づいて補正(具体的には、第1仮想軸210aの基準状態からの回転角度を加算)することで基準状態から各回転軸回りを回転移動させた回転角度に応じた姿勢となる。
【0091】
そこで、本実施形態では、ロールテーブルを制御対象部位の姿勢パラメータ「ロール」の値と、第2仮想軸211a及び第3仮想軸212aの基準状態からの回転角度とを対応付けたテーブルとしている。また、ピッチテーブルを、制御対象部位の姿勢パラメータ「ピッチ」の値と、第2仮想軸211a及び第3仮想軸212aの基準状態からの回転角度とを対応付けたテーブルとしている。ヨーテーブルを、制御対象部位の姿勢パラメータ「ヨー」の値と、第2仮想軸211a及び第3仮想軸212aの基準状態からの回転角度とを対応付けたテーブルとしている。
【0092】
例えば、姿勢制御情報によれば、回転角度A1が「30」であり、回転角度A2が「60」であり、回転角度A3が「−30」である場合には、情報処理装置100は、ロールの値が「−3.163」であり、ピッチの値が「24.407」であり、ヨーの値が「−34.69」を「30」で補正した「−4.69」であることを特定できる。
【0093】
このような姿勢制御情報によれば、姿勢制御情報を参照することにより、情報処理装置100は、基準状態からの各回転軸の回転角度に基づいて制御対象部位の姿勢(具体的にはロール、ピッチ、ヨー)を特定できる。また、姿勢制御情報を参照することにより、情報処理装置100は、制御対象部位の姿勢に基づいて基準状態からの各回転軸の回転角度を特定できる。
【0094】
なお、情報処理装置100は、姿勢制御情報を、姿勢状態の変移が行われる毎に姿勢状態の変移に応じて移動後の姿勢状態を基準状態(具体的には、A1=0、A2=0、A3=0)とした情報に差し変えてもよい。なお、姿勢制御情報は、前述した基準状態における制御対象部位の姿勢から各回転軸回りをあらゆる回転角度で回転させた場合についての姿勢を算出することによって作成されることに限らない。例えば、姿勢制御情報は、基準状態における制御対象部位の姿勢から各回転軸回りをあらゆる回転角度で回転させた状態の姿勢を実際に測定することで作成されるものであってもよい(すなわち、実測値により作成されるものであってもよい)。
【0095】
次に姿勢の変移態様を決定する処理について説明する。
図10は、第2の実施形態の姿勢の変移態様を決定する変移態様決定処理の流れを示すフローチャートである。
【0096】
変移態様決定処理は、移動後の姿勢(第2の姿勢状態(移動後の姿勢状態ともいう)の姿勢ともいう)が指定された場合に情報処理装置100が実行する処理である。情報処理装置100は、変移態様決定処理で、第1の姿勢状態(移動前の姿勢状態または現在の姿勢状態ともいう)から第2の姿勢状態へと姿勢を変移させる際の変移態様を決定する。第2の姿勢状態の姿勢は、例えば、情報処理装置100の操作者によって入力されるものであってもよいし、各種センサー(例えば、人感センサー)による検出結果によって決定されるものであってもよい。
【0097】
[ステップS1]処理部110は、姿勢制御情報を参照して、指定された第2の姿勢状態の姿勢に基づいて、第2の姿勢状態における各回転軸の基準状態からの回転角度(第2の姿勢状態における回転角度A1,A2,A3ともいう)を特定する。
【0098】
[ステップS2]処理部110は、第1の姿勢状態における各回転軸の基準状態からの回転角度(第1の姿勢状態における回転角度A1,A2,A3ともいう)を特定する。例えば、処理部110は、ロボット200のサーボモータの状態に関する情報を取得して各回転軸の基準状態からの回転角度を特定する。なお、処理部110は、記憶部111において現在の各回転軸の基準状態からの回転角度をテーブル等で管理することにより、記憶部111が記憶する情報に基づいて第1の姿勢状態における各回転軸の基準状態からの回転角度を特定するものであってもよい。
【0099】
[ステップS3]処理部110は、第1の姿勢状態における姿勢(具体的には各姿勢パラメータの値)を特定する。
【0100】
[ステップS4]処理部110は、第1の姿勢状態から第2の姿勢状態への変移に伴う各姿勢パラメータ(具体的には、ロール、ピッチ、ヨー)の変化量を特定する。すなわち、処理部110は、第1の姿勢状態から第2の姿勢状態となるのに各姿勢パラメータをどれだけ変化させるかを特定する。
【0101】
[ステップS5]処理部110は、第1の姿勢状態から第2の姿勢状態への変移に伴う各姿勢パラメータの変化量(すなわち、ロールの変化量:ピッチの変化量:ヨーの変化量)の比を特定する。具体的には、処理部110は、ロールの変化量(第2の姿勢状態のロールの値−第1の姿勢状態のロールの値):ピッチの変化量(第2の姿勢状態のピッチの値−第1の姿勢状態のピッチの値):ヨーの変化量(第2の姿勢状態のヨーの値−第1の姿勢状態のヨーの値)を特定する。
【0102】
[ステップS6]処理部110は、第1の姿勢状態から第2の姿勢状態への変移に伴う各回転軸の回転角度を特定する(第2の姿勢状態における各回転軸の第1の姿勢状態を基準とした回転角度ともいう)。具体的には、処理部110は、第2の姿勢状態における各回転軸の基準状態からの回転角度と、第1の姿勢状態における各回転軸の基準状態からの回転角度との差分により、第1の姿勢状態から第2の姿勢状態への変移に伴って回転させる各回転軸の回転角度を特定する。
【0103】
[ステップS7]処理部110は、第1の姿勢状態から第2の姿勢状態へと変移する過程で経由する姿勢状態を決定する。処理部110は、第1の姿勢状態からの各姿勢パラメータの変化量の比が、第1の姿勢状態から第2の姿勢状態への変移に伴う各姿勢パラメータの変化量の比と一致する姿勢状態を経由する姿勢状態と特定する。
【0104】
例えば、まず、処理部110は、回転角度A1,A2,A3が、第1の姿勢状態における回転角度A1,A2,A3と第2の姿勢状態におけるA1,A2,A3の間の値である姿勢状態における各姿勢パラメータの値を、姿勢制御情報を参照して特定する。そして、処理部110は、特定した姿勢状態のうち各姿勢パラメータが、第1の姿勢状態における各姿勢パラメータと、第2の姿勢状態における各姿勢パラメータの間の値である姿勢状態を抽出する。そして、処理部110は、抽出した姿勢状態のうち第1の姿勢状態からの変移に伴う各姿勢パラメータの変化量の比が、第1の姿勢状態から第2の姿勢状態への変移に伴う各姿勢パラメータの変化量の比と一致する姿勢状態を経由する姿勢状態として特定する。
【0105】
なお、経由する姿勢状態を複数特定した場合には、処理部110は、例えば、各姿勢パラメータの値が第1の姿勢状態における各姿勢パラメータの値と最も近い姿勢状態を1番目に経由する姿勢状態と特定する。そして、処理部110は、回転角度A1,A2,A3が、1番目に経由する姿勢状態における回転角度A1,A2,A3と第2の姿勢状態における回転角度A1,A2,A3の間の値である姿勢状態のうち、各姿勢パラメータの値が1番目に経由する姿勢状態の各姿勢パラメータの値の次に第1の姿勢状態における各姿勢パラメータの値に近い姿勢状態を2番目に経由する姿勢状態と特定する。その後、同様にして処理部110は、3番目に経由する姿勢状態、4番目に経由する姿勢状態と次々に決定していけばよい。
【0106】
なお、上記の第1の姿勢状態から第2の姿勢状態へと変移する際に経由する姿勢状態の特定方法は一例であってこれに限らない。
【0107】
例えば、処理部110は、回転角度A1,A2,A3が、第1の姿勢状態における回転角度A1,A2,A3と第2の姿勢状態における回転角度A1,A2,A3の間の値であって、第1の姿勢状態における回転角度A1,A2,A3から所定の回転角度範囲内(例えば、1°の範囲内)にある姿勢状態のうちから、1番目に経由する姿勢状態を決定してもよい。例えば、この場合には、処理部110は、所定の回転角度範囲内にある姿勢状態のうち各姿勢パラメータの値が、第1の姿勢状態における各姿勢パラメータの値と、第2の姿勢状態における各姿勢パラメータの値の間の値である姿勢状態を抽出する。そして、処理部110は、抽出した姿勢状態のうち第1の姿勢状態からの変移に伴う各姿勢パラメータの変化量の比が、第1の姿勢状態から第2の姿勢状態への変移に伴う各姿勢パラメータの変化量の比と一番近似する姿勢状態を1番目に経由する姿勢状態として特定すればよい。そして、処理部110は、回転角度A1,A2,A3が、1番目に経由する姿勢状態における回転角度A1,A2,A3と第2の姿勢状態における回転角度A1,A2,A3の間の値であって、1番目に経由する姿勢状態における回転角度A1,A2,A3から所定の回転角度範囲内(例えば、1°の範囲内)にある姿勢状態のうちから、同様にして、2番目に経由する姿勢状態を決定し、その後、同様にして3番目に経由する姿勢状態、4番目に経由する姿勢状態と次々に経由する姿勢状態を決定していけばよい。
【0108】
[ステップS8]処理部110は、経由する各姿勢状態、及び第2の姿勢状態へと変移開始から到達するのに要する到達時間の比を決定し、変移態様決定処理を終了する。
【0109】
処理部110は、姿勢パラメータ(具体的には、ピッチ、ロール、ヨー)のうち第1の姿勢状態から第2の姿勢状態へと変移させる際に変化する1の姿勢パラメータを特定し、各姿勢状態(経由する各姿勢状態及び第2の姿勢状態)における第1の姿勢状態からの当該1の姿勢パラメータの変化量の比を、到達時間の比と決定する。
【0110】
例えば、第1の姿勢状態から第2の姿勢状態へと変移させる際に姿勢パラメータ「ロール」の値が変化する場合には、処理部110は、変移開始から1番目に経由する姿勢状態への到達時間と、変移開始から2番目に経由する姿勢状態への到達時間と、変移開始から第2の姿勢状態への到達時間との比を、1番目に経由する姿勢状態における第1の姿勢状態からのロールの変化量:2番目に経由する姿勢状態における第1の姿勢状態からのロールの変化量:第2の姿勢状態における第1の姿勢状態からのロールの変化量と決定する。
【0111】
変移態様決定処理を終了すると、処理部110は、第1の姿勢状態から第2の姿勢状態への変移に伴って回転させる各回転軸の回転角度に基づいて駆動機構222の駆動量(回転角度だけ回転軸回りを回転させるためのサーボモータの駆動量)を特定する。また、処理部110は、決定した経由する姿勢状態及び決定した時間比に基づいて駆動量を駆動する際の駆動機構222の駆動態様を決定する。そして、処理部110は、ロボット200に決定した駆動態様による駆動量で駆動機構222を駆動するように指示することにより、ロボット200の第1の姿勢状態から第2の姿勢状態への姿勢状態の変移を実行させる。
【0112】
以上が変移態様決定処理によって決定される変移態様の一例である。このような変移態様によればロボット200は、第1の姿勢状態から第2の姿勢状態へと変移する際に、第1の姿勢状態からの各姿勢パラメータの変化量の比が、第1の姿勢状態から第2の姿勢状態への変移に伴う各姿勢パラメータの変化量の比と一致する姿勢状態を経由して変移させるため、各姿勢パラメータの変化量の比が一定となるように(各姿勢パラメータが線形的に変化するようにともいう)変移するようにできる。これにより、ロボット200は、なめらかな軌跡を描いて第1の姿勢状態から第2の姿勢状態へと姿勢を変移させることができる。
【0113】
また、ロボット200は、経由する各姿勢状態及び第2の姿勢状態への到達時間の比を、第1の姿勢状態から第2の姿勢状態へと変移させる際に変化する1の姿勢パラメータの各姿勢状態及び第2の姿勢状態における第1の姿勢状態からの変化量の比としているため、各姿勢パラメータが一定の速度で変化するように変移させることができる。
【0114】
次に、姿勢状態が変移している様子を、具体例を用いて説明する。
図11は、第2の実施形態の制御対象部位の姿勢の変移例を説明するための図(その1)である。
図12は、第2の実施形態の制御対象部位の姿勢の変移例を説明するための図(その2)である。
図13は、第2の実施形態の制御対象部位の姿勢の変移例を説明するための図(その3)である。
図14は、第2の実施形態の制御対象部位の姿勢の変移例を説明するための図(その4)である。
図15は、第2の実施形態の制御対象部位の姿勢の変移例を説明するための図(その5)である。
図16は、第2の実施形態の制御対象部位の姿勢の変移例を説明するための図(その6)である。
【0115】
なお、
図11は、第1の姿勢状態を示しており、
図12〜
図15は、第1の姿勢状態から第2の姿勢状態への変移する過程で経由すると決定した姿勢状態を示しており、
図16は、第2の姿勢状態を示している。
【0116】
図11に示したロボット200の姿勢状態は、第1の姿勢状態である。第1の姿勢状態においては、制御対象部位の姿勢パラメータ(ロール,ピッチ,ヨー)が(0,15.7,0)であり、回転角度A1,A2,A3がそれぞれ0となっている。すなわち、第1の姿勢状態は、基準状態となっている。
【0117】
図16に示したロボット200の姿勢状態は、第2の姿勢状態である。第2の姿勢状態においては、制御対象部位の姿勢パラメータ(ロール,ピッチ,ヨー)が(0,75.7,0)であり、回転角度A1が−90、回転角度A2が179、回転角度A3が−90となっている。また、第1の姿勢状態から第2の姿勢状態への変移に伴ってピッチだけが変動しており、第1の姿勢状態から第2の姿勢状態への変移に伴う各姿勢パラメータの変化量の比が0:60:0(0:n:0ともいう)となっている。
【0118】
図12に示したロボット200の姿勢状態は、第1の姿勢状態から第2の姿勢状態への変移する過程で経由すると決定した姿勢状態であり、
図12〜
図15の姿勢状態のうち1番目に経由される姿勢状態である。
図12の姿勢状態においては、制御対象部位の姿勢パラメータ(ロール,ピッチ,ヨー)が(0,17.9,0)であり、回転角度A1が−17.2、回転角度A2が30、回転角度A3が−17となっている。つまりは、
図12の姿勢状態の回転角度A1が、第1の姿勢状態の回転角度A1と、第2の姿勢状態の回転角度A1の間の値となっている。また、
図12の姿勢状態の回転角度A2が、第1の姿勢状態の回転角度A2と、第2の姿勢状態の回転角度A2の間の値となっている。また、
図12の姿勢状態の回転角度A3が、第1の姿勢状態の回転角度A3と、第2の姿勢状態の回転角度A3の間の値となっている。
【0119】
すなわち、第1の姿勢状態から第1仮想軸210a回りを0°から−90°だけ回転させ、第2仮想軸211a回りを0°から179°だけ回転させ、第3仮想軸212a回りを0°から−90°だけ回転させて第2の姿勢状態へと変移させるときに経由可能な姿勢状態となっている。
【0120】
また、第1の姿勢状態から
図12の姿勢状態への変移に伴ってピッチだけが2.2だけ変動しており、第1の姿勢状態から
図12の姿勢状態への変移に伴う各姿勢パラメータの変化量の比が0:2.2:0(0:n:0ともいう)となっている。すなわち、第1の姿勢状態から
図12の姿勢状態への変移に伴う各姿勢パラメータの変化量の比が、第1の姿勢状態から第2の姿勢状態への変移に伴う各姿勢パラメータの変化量の比と一致している。
【0121】
また、制御対象部位の各姿勢パラメータの値(0,17.9,0)が、第1の姿勢状態における制御対象部位の各姿勢パラメータの値(0,15.7,0)と、第2の姿勢状態における制御対象部位の各姿勢パラメータの値(0,75.7,0)の間(範囲内ともいう)の値となっている。すなわち、第2の姿勢状態への変移に伴って変化する姿勢パラメータの値が、第1の姿勢状態における当該姿勢パラメータの値よりも第2の姿勢状態の当該姿勢パラメータの値に近い値となっている。つまりは、
図12の姿勢状態は、第1の姿勢状態よりも第2の姿勢状態に近い姿勢状態となっている。
【0122】
図13に示したロボット200の姿勢状態は、第1の姿勢状態から第2の姿勢状態への変移する過程で経由すると決定した姿勢状態であり、
図12〜
図15の姿勢状態のうち2番目に経由される姿勢状態である。
図13の姿勢状態においては、制御対象部位の姿勢パラメータ(ロール,ピッチ,ヨー)が(0,24.4,0)であり、回転角度A1が−33.6、回転角度A2が60、回転角度A3が−34となっている。つまりは、
図13の姿勢状態の回転角度A1が、
図12の姿勢状態の回転角度A1と、第2の姿勢状態の回転角度A1の間の値となっている。また、
図13の姿勢状態の回転角度A2が、
図12の姿勢状態の回転角度A2と、第2の姿勢状態の回転角度A2の間の値となっている。また、
図13の姿勢状態の回転角度A3が、
図12の姿勢状態の回転角度A3と、第2の姿勢状態の回転角度A3の間の値となっている。
【0123】
すなわち、第1の姿勢状態から第1仮想軸210a回りを0°から−90°だけ回転させ、第2仮想軸211a回りを0°から179°だけ回転させ、第3仮想軸212a回りを0°から−90°だけ回転させて第2の姿勢状態へと変移させるときに
図12の姿勢状態を経由した後に経由可能な姿勢状態となっている。
【0124】
また、第1の姿勢状態から
図13の姿勢状態への変移に伴ってピッチだけが8.7だけ変動しており、第1の姿勢状態から
図13の姿勢状態への変移に伴う各姿勢パラメータの変化量の比が0:8.7:0(0:n:0ともいう)となっている。すなわち、第1の姿勢状態から
図13の姿勢状態への変移に伴う各姿勢パラメータの変化量の比が、第1の姿勢状態から第2の姿勢状態への変移に伴う各姿勢パラメータの変化量の比と一致している。
【0125】
また、制御対象部位の各姿勢パラメータの値(0,24.4,0)が、
図12の姿勢状態における制御対象部位の各姿勢パラメータの値(0,17.9,0)と、第2の姿勢状態における制御対象部位の各姿勢パラメータの値(0,75.7,0)の間(範囲内ともいう)の値となっている。すなわち、第2の姿勢状態への変移に伴って変化する姿勢パラメータの値が、
図12の姿勢状態における当該姿勢パラメータの値よりも第2の姿勢状態の当該姿勢パラメータの値に近い値となっている(第1の姿勢状態の当該姿勢パラメータの値から離れた値となっているともいう)。つまりは、
図13の姿勢状態は、1番目に経由する
図12の姿勢状態よりも第2の姿勢状態に近い姿勢状態となっている。
【0126】
図14に示したロボット200の姿勢状態は、第1の姿勢状態から第2の姿勢状態への変移する過程で経由すると決定した姿勢状態であり、
図12〜
図15の姿勢状態のうち3番目に経由される姿勢状態である。
図14の姿勢状態においては、制御対象部位の姿勢パラメータ(ロール,ピッチ,ヨー)が(0,34.3,0)であり、回転角度A1が−49.1、回転角度A2が90、回転角度A3が−49となっている。つまりは、
図14の姿勢状態の回転角度A1が、
図13の姿勢状態の回転角度A1と、第2の姿勢状態の回転角度A1の間の値となっている。また、
図14の姿勢状態の回転角度A2が、
図13の姿勢状態の回転角度A2と、第2の姿勢状態の回転角度A2の間の値となっている。また、
図14の姿勢状態の回転角度A3が、
図13の姿勢状態の回転角度A3と、第2の姿勢状態の回転角度A3の間の値となっている。
【0127】
すなわち、第1の姿勢状態から第1仮想軸210a回りを0°から−90°だけ回転させ、第2仮想軸211a回りを0°から179°だけ回転させ、第3仮想軸212a回りを0°から−90°だけ回転させて第2の姿勢状態へと変移させるときに
図13の姿勢状態を経由した後に経由可能な姿勢状態となっている。
【0128】
また、第1の姿勢状態から
図14の姿勢状態への変移に伴ってピッチだけが18.6だけ変動しており、第1の姿勢状態から
図14の姿勢状態への変移に伴う各姿勢パラメータの変化量の比が0:18.6:0(0:n:0ともいう)となっている。すなわち、第1の姿勢状態から
図14の姿勢状態への変移に伴う各姿勢パラメータの変化量の比が、第1の姿勢状態から第2の姿勢状態への変移に伴う各姿勢パラメータの変化量の比と一致している。
【0129】
また、制御対象部位の各姿勢パラメータの値(0,34.3,0)が、
図13の姿勢状態における制御対象部位の各姿勢パラメータの値(0,24.4,0)と、第2の姿勢状態における制御対象部位の各姿勢パラメータの値(0,75.7,0)の間(範囲内ともいう)の値となっている。すなわち、第2の姿勢状態への変移に伴って変化する姿勢パラメータの値が、
図13の姿勢状態における当該姿勢パラメータの値よりも第2の姿勢状態の当該姿勢パラメータの値に近い値となっている(第1の姿勢状態の当該姿勢パラメータの値から離れた値となっているともいう)。つまりは、
図14の姿勢状態は、2番目に経由する
図13の姿勢状態よりも第2の姿勢状態に近い姿勢状態となっている。
【0130】
図15に示したロボット200の姿勢状態は、第1の姿勢状態から第2の姿勢状態への変移する過程で経由すると決定した姿勢状態であり、
図12〜
図15の姿勢状態のうち4番目に経由される姿勢状態である。
図15の姿勢状態においては、制御対象部位の姿勢パラメータ(ロール,ピッチ,ヨー)が(0,46.7,0)であり、回転角度A1が−63.6、回転角度A2が120、回転角度A3が−63となっている。つまりは、
図15の姿勢状態の回転角度A1が、
図14の姿勢状態の回転角度A1と、第2の姿勢状態の回転角度A1の間の値となっている。また、
図15の姿勢状態の回転角度A2が、
図14の姿勢状態の回転角度A2と、第2の姿勢状態の回転角度A2の間の値となっている。また、
図15の姿勢状態の回転角度A3が、
図14の姿勢状態の回転角度A3と、第2の姿勢状態の回転角度A3の間の値となっている。
【0131】
すなわち、第1の姿勢状態から第1仮想軸210a回りを0°から−90°だけ回転させ、第2仮想軸211a回りを0°から179°だけ回転させ、第3仮想軸212a回りを0°から−90°だけ回転させて第2の姿勢状態へと変移させるときに
図14の姿勢状態を経由した後に経由可能な姿勢状態となっている。
【0132】
また、第1の姿勢状態から
図15の姿勢状態への変移に伴ってピッチだけが31だけ変動しており、第1の姿勢状態から
図15の姿勢状態への変移に伴う各姿勢パラメータの変化量の比が0:31:0(0:n:0ともいう)となっている。すなわち、第1の姿勢状態から
図15の姿勢状態への変移に伴う各姿勢パラメータの変化量の比が、第1の姿勢状態から第2の姿勢状態への変移に伴う各姿勢パラメータの変化量の比と一致している。
【0133】
また、制御対象部位の各姿勢パラメータの値(0,46.7,0)が、
図14の姿勢状態における制御対象部位の各姿勢パラメータの値(0,34.3,0)と、第2の姿勢状態における制御対象部位の各姿勢パラメータの値(0,75.7,0)の間(範囲内ともいう)の値となっている。すなわち、第2の姿勢状態への変移に伴って変化する姿勢パラメータの値が、
図14の姿勢状態における当該姿勢パラメータの値よりも第2の姿勢状態の当該姿勢パラメータの値に近い値となっている(第1の姿勢状態の当該姿勢パラメータの値から離れた値となっているともいう)。つまりは、
図15の姿勢状態は、3番目に経由する
図14の姿勢状態よりも第2の姿勢状態に近い姿勢状態となっている。
【0134】
このような第1の姿勢状態、1番目に経由する姿勢状態、2番目に経由する姿勢状態、3番目に経由する姿勢状態、4番目に経由する姿勢状態を経て第2の姿勢状態に変移させることで、ロボット200は、各姿勢パラメータの変化量の比を一定としたまま(ロールと、ヨーの値を0に保ったままともいう)変移させている。これにより、ロボット200は、なめらかな軌跡(直線的な軌跡ともいう)を描いて第1の姿勢状態から第2の姿勢状態へと姿勢を変移させることを実現している。
【0135】
なお、この場合に、変移開始から1番目に経由する姿勢状態への到達時間と、2番目に経由する姿勢状態への到達時間と、3番目に経由する姿勢状態への到達時間と、4番目に経由する姿勢状態への到達時間と、第2の姿勢状態への到達時間の比が変移に伴って変化する姿勢パラメータ(ここではピッチ)の変化量の大きさの比である2.2:8.7:18.6:31:60となるようにするとよい。このようにすることでロボット200は、変移に伴って変化する姿勢パラメータが一定の速度で変化するように変移させることができる。
【0136】
なお、上記実施形態において情報処理装置100が実行するとした処理の一部または全部をロボット200が実行するようにしてもよい。また、筐体201を隣接する仮想平面と平行でない第1仮想平面、第2仮想平面、第3仮想平面の3つの仮想平面で分離している例を用いて説明したがこれに限らない。例えば、筐体201を、隣接する仮想平面と平行でない任意の数n(n>2)の仮想平面で分離していればよい。ロボット200は、制御対象部位をn個の回転軸で回転させることができるので、例えば、任意の数nを増加させれば、制御対象部位の姿勢の自由度をより高めることができる。
【0137】
上記で説明した本発明の情報処理装置100の処理機能は、コンピュータによって実現することができる。この場合、情報処理装置100が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【0138】
処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリ等がある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープ等がある。光ディスクには、CD−ROM/RW等がある。光磁気記録媒体には、MO(Magneto Optical disk)等がある。
【0139】
プログラムを流通させる場合、例えば、そのプログラムが記録されたCD−ROM等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0140】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。
【0141】
また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。また、上記の処理機能の少なくとも一部を、DSP、ASIC、PLD等の電子回路で実現することもできる。
【0142】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。