ロボット制御システム
【課題】オペレータの意図通りに移動ロボットを操縦することが容易となるロボット制御システムを提供する。
【解決手段】オペレータがコントローラを操作することによって移動ロボットを操縦するロボット制御システムであって、コントローラは、移動ロボットに動作命令を入力する手段と、オペレータに移動ロボットの制御状態を表示する表示手段を有しており、移動ロボットは、本体と、本体を移動させる手段と、移動ロボットの姿勢状態を検出する手段と、コントローラから入力された動作命令に基づいて移動ロボットの姿勢状態の目標値を決定する手段と、移動ロボットの姿勢状態が決定された目標値が示す状態となるように移動手段を制御する手段と、検出手段が検出した姿勢状態と目標値との差分値を算出する手段とを有しており、表示手段は移動ロボットが算出した差分値に基づいた指標を表示する。
【解決手段】オペレータがコントローラを操作することによって移動ロボットを操縦するロボット制御システムであって、コントローラは、移動ロボットに動作命令を入力する手段と、オペレータに移動ロボットの制御状態を表示する表示手段を有しており、移動ロボットは、本体と、本体を移動させる手段と、移動ロボットの姿勢状態を検出する手段と、コントローラから入力された動作命令に基づいて移動ロボットの姿勢状態の目標値を決定する手段と、移動ロボットの姿勢状態が決定された目標値が示す状態となるように移動手段を制御する手段と、検出手段が検出した姿勢状態と目標値との差分値を算出する手段とを有しており、表示手段は移動ロボットが算出した差分値に基づいた指標を表示する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、移動ロボットと、その移動ロボットを操縦するためのコントローラを備えたロボット制御システムに関する。
【背景技術】
【0002】
オペレータ(操縦者)がコントローラを操作することによって移動ロボットを操縦するロボット制御システムが知られている。例えば、コントローラを移動ロボットから隔離した場所に配置し、オペレータがそのコントローラを操作することで、移動ロボットを遠隔操縦する。このようなロボット制御システムでは、移動ロボットにカメラを搭載するとともにコントローラに表示手段を搭載し、移動ロボットのカメラで撮影された映像をコントローラの表示手段で表示する。操縦者は、移動ロボットのカメラで撮影された映像を確認しながらコントローラを操作することで、移動ロボットを操縦する。
なお、特許文献1には、歩行ロボットに搭載したカメラの画像を基に2つの脚部を駆動することによって安定して歩行する技術が開示されている。
【特許文献1】特開2001−277159
【発明の開示】
【発明が解決しようとする課題】
【0003】
上述したロボット制御システムでは、オペレータは移動ロボットのカメラで撮影された映像を確認しながらコントローラを操作する。しかしながら、移動ロボットが移動している場合、カメラの映像は移動ロボットの移動とともに揺れるので、移動ロボットの状態を正確に確認することが困難である。また、カメラの映像では、移動ロボットの周囲の状況を把握することはできても、移動ロボットの位置や、移動ロボットがどのような姿勢をとっているかといった移動ロボットの姿勢状態を正確に確認することはできない。また、カメラの映像では、移動ロボットが移動する床面が傾いている場合や、床面上に障害物がある場合に、それらのことを正確に確認することができない。したがって、従来のロボット制御システムでは、移動ロボットをオペレータの意図通りに操縦することが非常に困難であった。
【0004】
本発明は、上記した実情に鑑みてなされたものであり、オペレータの意図通りに移動ロボットを操縦することが容易となるロボット制御システムを提供することを目的とする。
【課題を解決するための手段】
【0005】
本発明のロボット制御システムは、移動ロボットと、移動ロボットを操縦するためのコントローラを有している。コントローラは、移動ロボットに動作命令を入力する入力手段と、オペレータに移動ロボットの制御状態を表示する表示手段を有している。移動ロボットは、本体と、本体を移動させる移動手段と、移動ロボットの姿勢状態を検出する検出手段と、コントローラから入力された動作命令に基づいて、所定時間が経過した時の移動ロボットの姿勢状態の目標値を決定する目標値決定手段と、前記所定時間経過時に移動ロボットの姿勢状態が決定された目標値が示す状態となるように移動手段を制御する制御手段と、前記所定時間経過時に検出手段が検出した姿勢状態と目標値との差分値を算出する差分値算出手段とを有している。そして、表示手段が移動ロボットが算出した差分値に基づいた指標を表示することを特徴とする。
このロボット制御システムでは、コントローラの表示手段に検出手段によって検出された検出値(実際の移動ロボットの姿勢状態)と目標値(オペレータが指示した移動ロボットの姿勢状態)との差分値に基づいた指標が表示される。この差分値が大きいことは、移動ロボットが何らかの原因で目標値通りに制御されていないこと意味する。このため、移動ロボットのオペレータは、表示手段で表示される差分値に基づいた指標から移動ロボットが目標値通りに制御されているか否かを確認しながら移動ロボットを操縦することができる。したがって、移動ロボットをオペレータの意図通りに操縦することが容易となる。
【0006】
上述したロボット制御システムは、検出手段が本体の位置を検出し、目標値決定手段が入力された動作命令に基づいて所定時間経過時の本体の目標位置を決定し、制御手段が前記所定時間経過時に本体が目標位置に移動するように移動手段を制御し、差分値算出手段が前記所定時間経過時に検出手段が検出した本体の位置と目標位置との差分値を算出することが好ましい。
このような構成によれば、本体の目標位置と現在位置との差分値に基づいた指標が表示手段に表示される。この差分値が大きいことは、外乱等が作用して移動ロボットがオペレータの意図通りに正確に移動していないことを意味する。したがって、移動ロボットのオペレータは、差分値に基づいた指標から移動ロボットに外乱が作用しているか否かを確認しながら移動ロボットを操縦することができる。したがって、移動ロボットをオペレータの意図した位置に移動させることが容易となる。
【0007】
上述したロボット制御システムは、目標値決定手段が所定周期で本体の目標位置を決定し、制御手段が目標値決定手段が決定した今回の周期の目標位置と前回の周期で差分値算出手段が算出した差分値に基づいて移動手段を制御することが好ましい。
このような構成によれば、移動ロボットを目標位置により正確に移動させることができる。
【0008】
上述したロボット制御システムは、検出手段が本体の傾斜角を検出し、目標値決定手段が入力された動作命令に基づいて所定時間経過時の本体の目標傾斜角を決定し、制御手段が前記所定時間経過時に本体の傾斜角が目標傾斜角となるように移動手段を制御し、差分値算出手段が前記所定時間経過時に検出手段が検出した本体の傾斜角と目標傾斜角との差分値を算出することが好ましい。
このような構成によれば、目標傾斜角と本体の傾斜角との差分値に基づいた指標が表示手段に表示される。この差分値が大きいことは、移動する床面が傾斜していたり、移動ロボットが障害物に乗り上げたりして移動ロボットが正確に制御されていないことを意味する。したがって、移動ロボットのオペレータは、差分値に基づいた指標から床面に傾きがあるか否かや、移動ロボットが障害物に乗り上げているか否かを確認しながら移動ロボットを操縦することができる。したがって、移動ロボットをオペレータの意図通りに操縦することが容易となる。
【0009】
また、本発明は、安定した状態で歩行ロボットを操縦することができる新たなロボット制御システムを提供する。
本発明のロボット制御システムは、本体と本体に接続された第1の脚部及び第2の脚部を備えた歩行ロボットと、歩行ロボットを操縦するためのコントローラを有している。コントローラは、歩行ロボットに動作命令を入力する入力手段と、オペレータに歩行ロボットの制御状態を表示する表示手段を有している。歩行ロボットは、第1脚部の接地部の角度を変更する第1足首関節と、第1足首関節を駆動する第1のアクチュエータと、第2脚部の接地部の角度を変更する第2足首関節と、第2足首関節を駆動する第2のアクチュエータと、入力された動作命令に基づいて、各足首関節の目標角度を決定する目標角度決定手段と、各脚部の接地状態を検出する検出手段と、各脚部の接地状態に基づいて、第1足首関節及び第2足首関節の目標角度を補正する補正手段と、目標角度が補正されている足首関節については、その関節が補正後の目標角度となるようにその関節を駆動するアクチュエータを制御し、目標角度が補正されていない足首関節については、その関節が決定された目標角度となるようにその関節を駆動するアクチュエータを制御する制御手段を有している。そして、表示手段が第1足首関節及び/または第2足首関節の角度補正量に基づいた指標を表示することを特徴とする。
このロボット制御システムの歩行ロボットは、検出手段によって各脚部の接地状態が検出され、検出された接地状態に基づいて各脚部の足首関節の角度が補正される。これによって、各脚部の接地状態に応じた角度に各脚部の足首関節が制御され、歩行ロボットは好適に床面に接地(倒立)することができる。
コントローラの表示手段には、第1足首関節及び/または第2足首関節の角度補正量に基づいた指標が表示される。角度補正量が大きいことは、歩行ロボットの各脚部の接地状態が理想的な状態(水平な床面に接地している状態)からずれていることを意味する。したがって、歩行ロボットのオペレータは、表示手段で表示される角度補正量に基づいた指標から歩行ロボットの各脚部が正常に接地しているか否か(すなわち、各脚部が接地している床面の状況)を確認しながら歩行ロボットを操縦することができる。したがって、歩行ロボットをオペレータの意図通りに操縦することが容易となる。
【発明を実施するための最良の形態】
【0010】
下記に詳細に説明する実施例の主要な特徴を最初に列記する。
(形態1)ロボット制御システムは、コントローラと歩行ロボットによって構成されている。
(形態2)コントローラは、操縦者(オペレータ)によって操作され、その操作量(動作命令)を所定周期で出力するジョイスティックと、ジョイスティックから出力された動作命令を歩行ロボットに送信する送信アンテナと、歩行ロボットから送信されるデータを受信する受信アンテナと、受信アンテナで受信したデータに応じた画像を表示する表示手段を有している。
(形態3)歩行ロボットは、本体と、本体に接続された第1の脚部及び第2の脚部とを有している。
(形態4)第1脚部は、第1脚部の接地部の角度を変更する第1足首関節を含む複数の関節を有しており、各関節には入力される制御指令値にしたがって関節を駆動するアクチュエータが設置されている。
(形態5)第2脚部は、第2脚部の接地部の角度を変更する第1足首関節を含む複数の関節を有しており、各関節には入力される制御指令値にしたがって関節を駆動するアクチュエータが設置されている。
(形態6)歩行ロボットは、コントローラから送信された動作命令を所定周期で受信する受信アンテナと、受信した動作命令に基づいて本体の目標位置を算出する目標位置算出手段と、算出した目標位置と前回の周期における本体の位置ずれ量とに基づいて本体の目標移動量を算出する目標移動量算出手段と、算出した目標移動量に基づいて今回の周期における各関節の目標関節角を算出する目標関節角算出手段と、脚部の接地状態を検出する接地状態検出手段と、検出した脚部の接地状態に基づいて第1足首関節及び第2足首関節の目標関節角を補正する目標関節角補正手段と、次の周期までに第1足首関節及び第2足首関節が補正された目標関節角となるようにそれらの関節に対応するアクチュエータに制御指令値を入力する第1制御手段と、次の周期までに第1足首関節及び第2足首関節を除く各関節が算出された目標関節角となるようにそれらの関節に対応するアクチュエータに制御指令値を入力する第2制御手段と、本体の傾斜角を検出する傾斜角センサと、算出された各関節の目標関節角から算出される本体の目標傾斜角と傾斜角センサで検出された本体の傾斜角から本体の傾斜角ずれ量を算出する傾斜角ずれ量算出手段と、本体の位置を検出する位置検出手段と、算出された目標位置と位置検出手段で検出された本体の位置から本体の位置ずれ量を算出する位置ずれ量算出手段と、歩行ロボットの進行方向を撮影するカメラと、第1足首関節及び第2足首関節の目標関節角の補正量と、算出された本体の位置ずれ量と、算出された本体の傾斜角ずれ量と、カメラで撮影された映像をコントローラに送信する送信アンテナをさらに有している。
(形態7)接地状態検出手段は、前回の周期に第1足首関節のアクチュエータに入力された制御指令値と第2足首関節のアクチュエータに入力された制御指令値との差に基づいて、脚部の接地状態の良否を検出する。
【実施例】
【0011】
本発明の一実施例に係るロボット制御システムについて図面を参照して説明する。図1はロボット制御システム8の概略斜視図を示しており、図2はロボット制御システム8のブロック図を示している。図1,図2に示すように、ロボット制御システム8は、歩行ロボット10と、歩行ロボット10に動作命令を送信するコントローラ80を備えている。
【0012】
(歩行ロボット10の構成)
図1に示すように歩行ロボット10は、複数のパーツが関節で接続されることによって構成されている。すなわち、歩行ロボット10は、本体11と、その本体11と関節18を介して接続された頭部12、左腕部13、右腕部14、右脚部15、左脚部16によって構成されている。左腕部13及び右腕部14は、複数のパーツが関節(肘関節,手首関節)18を介して接続されることによって構成されている。右脚部15は、一端が本体11と関節(股関節)18を介して接続された上腿部15a、その上腿部15aの他端と関節(膝関節)18を介して接続された下腿部15b、その下腿部15bの他端と足首関節(2つの関節20、22)を介して接続された足平15cによって構成されている。左脚部16は、一端が本体11と関節(股関節)18を介して接続された上腿部16a、その上腿部16aの他端と関節(膝関節)18を介して接続された下腿部16b、その下腿部16bの他端と足首関節(2つの関節24、26)を介して接続された足平16cによって構成されている。
【0013】
図2に示すように、各関節18はモータ18aを備えている。各モータ18aは、対応するサーボアンプ18d(後に詳述する)と電気的に接続されている。各モータ18aは、各サーボアンプ18dから制御指令値を入力されることで駆動する。関節18は、モータ18aが駆動することによってその角度が変更される。また、各モータ18aには、関節18の角度(より詳細には、歩行ロボット10の直立状態(図1の状態)における関節18の角度に対する角度)を検出するエンコーダ18bがそれぞれ設置されている。各エンコーダ18bは、対応するサーボアンプ18dと電気的に接続されている。各エンコーダ18bが検出した関節18の角度は、対応するサーボアンプ18dに出力される。
【0014】
同様に、関節20は、後述するサーボアンプ20dから入力される制御指令値によって関節20の角度を変更するモータ20aを備えており、モータ20aには関節20の角度θ20を検出してサーボアンプ20dに出力するエンコーダ20bが設置されている。
同様に、関節22は、後述するサーボアンプ22dから入力される制御指令値によって関節22の角度を変更するモータ22aを備えており、モータ22aには関節22の角度θ22を検出してサーボアンプ22dに出力するエンコーダ22bが設置されている。
同様に、関節24は、後述するサーボアンプ24dから入力される制御指令値によって関節24の角度を変更するモータ24aを備えており、モータ24aには関節24の角度θ24を検出してサーボアンプ24dに出力するエンコーダ24bが設置されている。
同様に、関節26は、後述するサーボアンプ26dから入力される制御指令値によって関節26の角度を変更するモータ26aを備えており、モータ26aには関節26の角度θ26を検出してサーボアンプ26dに出力するエンコーダ26bが設置されている。
【0015】
図3は、右脚部15の関節20、22及び左脚部16の関節24、26の拡大図を示している。
関節20は、足平15cを下腿部15bに対して回転軸20c周りに回転させる。エンコーダ20bは、関節20の回転軸20c周りの角度θ20を検出する。
関節22は、足平15cを下腿部15bに対して回転軸22c周りに回転させる。エンコーダ22bは、関節22の回転軸22c周りの角度θ22を検出する。
関節24は、足平16cを下腿部16bに対して回転軸24c周りに回転させる。エンコーダ24bは、関節24の回転軸24c周りの角度θ24を検出する。
関節26は、足平16cを下腿部16bに対して回転軸26c周りに回転させる。エンコーダ26bは、関節26の回転軸26c周りの角度θ26を検出する。
図から明らかなように、右脚部15の関節20は、左脚部16の関節24に対応する。また、右脚部15の関節22は、左脚部16の関節26に対応する。
【0016】
また、歩行ロボット10は、図2に示すように、受信アンテナ30と、送信アンテナ32と、制御装置40と、傾斜角センサ70と、加速度センサ72と、カメラ74と、サーボアンプ18d〜26dを備えている。
【0017】
受信アンテナ30は、制御装置40と電気的に接続されている。受信アンテナ30は、コントローラ80から制御周期(制御装置40が歩行ロボット10を制御するために実行する一連の処理を実行する周期)毎に送信される無線信号(後述する動作命令データ)を受信し、その信号を制御装置40に出力する。
【0018】
傾斜角センサ70は、歩行ロボット10の本体11に搭載されている。傾斜角センサ70は、制御装置40と接続されている。傾斜角センサ70は、本体11の傾斜角(ピッチ角P、ロール角R)を検出する。傾斜角センサ70が検出する本体11の傾斜角データ(P,R)は、制御装置40に読取られる。
【0019】
加速度センサ72は、歩行ロボット10の本体11に搭載されている。加速度センサ72は、制御装置40と接続されている。加速度センサ72は、3軸加速度センサであり、本体11の前後方向、左右方向及び上下方向の加速度(ax,ay,az)を検出する。加速度センサ72が検出した加速度データ(ax,ay,az)は、制御装置40に読取られる。
【0020】
カメラ74は、歩行ロボット10の頭部12に搭載されている。カメラ74は、制御装置40を介して送信アンテナ32と電気的に接続されている。カメラ74は歩行ロボット10の進行方向を撮影する。カメラ74が撮影した画像は、制御装置40に読取られる。
【0021】
制御装置40は、受信アンテナ30、送信アンテナ32、各サーボアンプ18d〜26d、傾斜角センサ70、加速度センサ72、カメラ74と接続されている。制御装置40は、目標位置算出部42、目標移動量算出部44、目標関節角算出部48、目標関節角補正部50、傾斜角ずれ量算出部52、現在位置算出部54、位置ずれ量算出部56を備えている。
【0022】
目標位置算出部42には、受信アンテナ30から制御周期毎に動作命令データが入力される。目標位置算出部42は、入力された動作命令データに基づいて、本体11の目標位置(xA,yA)(より詳細には、本体11に搭載された加速度センサ72の目標位置)を算出する。目標位置(xA,yA)は、グローバル座標系(すなわち、歩行ロボット10が移動する作業空間内において規定された座標系)におけるxy座標として算出される。目標位置算出部42は、算出した目標位置(xA,yA)を目標移動量算出部44及び位置ずれ量算出部56に出力する。
【0023】
目標移動量算出部44には、目標位置算出部42から制御周期毎に本体11の目標位置(xA,yA)が入力される。また、目標移動量算出部44には、位置ずれ量算出部56から前回の制御周期における位置ずれデータ(Δx,Δy)(後に詳述する)が入力される。目標移動量算出部44は、入力された目標位置(xA,yA)、前回の制御周期の目標位置(xA−1,yA−1)及び前回の周期の位置ずれデータ(Δx,Δy)から目標移動量(dx,dy)を算出し、目標関節角算出部48に出力する。例えば、目標移動量算出部44は、入力された目標位置(xA,yA)と前回の制御周期の目標位置(xA−1,yA−1)から理想的な目標移動量を算出し、算出した理想的な目標移動量を前回の周期の位置ずれデータ(Δx,Δy)により補正して、最終的な目標移動量(dx,dy)を算出する。
【0024】
目標関節角算出部48には、目標移動量算出部44から制御周期毎に目標移動量(dx,dy)が入力される。目標関節角算出部48は、今回の制御周期の間に本体11が入力された目標移動量(dx,dy)だけ移動するように(すなわち、今回の周期の動作実行後に本体11が目標位置(xA,yA)に移動するように)、今回の制御周期における歩行ロボット10の各関節18〜26の目標関節角θA18〜θA26を算出する。このように、各関節18〜26の目標関節角θA18〜θA26が算出されることによって、今回の制御周期における歩行ロボット10の目標姿勢(歩行ロボット10の各部位(本体11,頭部12,腕部13,14、脚部15,16)の目標姿勢)が規定される。目標関節角算出部48は、算出した目標関節角θA18〜θA26のうち各関節18の目標関節角θA18を、対応するサーボアンプ18dに出力する。また、目標関節角算出部48は、算出した関節20〜26の目標関節角θA20〜26と歩行ロボット10の目標姿勢を目標関節角補正部50に出力する。また、目標関節角算出部48は、傾斜角ずれ量算出部52に歩行ロボット10の目標姿勢を出力する。
【0025】
目標関節角補正部50には、目標関節角算出部48から制御周期毎に関節20〜26の目標関節角θA20〜θA26と歩行ロボット10の目標姿勢が入力される。また、目標関節角補正部50には、サーボアンプ20d〜26dが前回の制御周期で出力した制御指令値T20〜T26(以下では、前回の周期の制御指令値をT20−1〜T26−1と表示する)が入力される。目標関節角補正部50は、入力された制御指令値T20−1〜T26−1及び入力された目標姿勢に基づいて、足平15c、16cが正常に接地しているか否かを判定する。目標関節角補正部50は、その判定結果に応じて、入力された目標関節角θA20〜θA26を補正し、補正後の目標関節角θA20’〜θA26’をサーボアンプ20d〜26dに出力する。また、目標関節角補正部50は、目標関節角θA20〜θA26を補正したときの補正量(すなわち、足首関節補正量データ)を送信アンテナ32に出力する。後述するが、目標関節角補正部50は、目標関節角θA20とθA24を同一の補正量ΔθA2で補正し、目標関節角θA22とθA26を同一の補正量ΔθA1で補正する。したがって、目標関節角補正部50は、目標関節角θA20(θA24)の補正量ΔθA2と、目標関節角θA22(θA26)の補正量ΔθA1を示す足首関節補正量データ(ΔθA1,ΔθA2)を送信アンテナ32に出力する。
【0026】
傾斜角ずれ量算出部52には、目標関節角算出部48から歩行ロボット10の目標姿勢が入力される。傾斜角ずれ量算出部52は、入力された目標姿勢から本体11の目標傾斜角(ピッチ角PA、ロール角RA)を算出する。また、傾斜角ずれ量算出部52は、歩行ロボット10が今回の制御周期における動作を実行した後に、傾斜角センサ70が検出する本体11の傾斜角(P,R)を読取る。そして、算出した目標傾斜角(PA,RA)と読取った傾斜角(P,R)との差分値(ΔP,ΔR)(すなわち、傾斜角ずれデータ(ΔP,ΔR))を算出する。傾斜角ずれ量算出部52は、算出した傾斜角ずれデータ(ΔP,ΔR)を送信アンテナ32に出力する。
【0027】
現在位置算出部54は、所定周期(制御周期よりも短い周期)で加速度センサ72が検出する加速度データ(ax,ay,az)を読取り、直前に算出した本体11の位置と読取った加速度データ(ax,ay,az)から本体11の現在位置(x,y,z)(より詳細には、本体11に搭載された加速度センサ72の現在位置)を算出する。現在位置(x,y,z)は、グローバル座標系におけるxyz座標として算出される。現在位置算出部54が算出する本体11の現在位置(x,y,z)のxy座標(すなわち、現在位置(x,y))は、制御周期毎に位置ずれ量算出部56に読取られる。
【0028】
位置ずれ量算出部56は、制御周期毎に現在位置算出部54から本体11の現在位置(x,y)を読取る。また、位置ずれ量算出部56には、目標位置算出部42から本体11の目標位置(xA,yA)が制御周期毎に入力される。位置ずれ量算出部56は、読取った本体11の現在位置(x,y)と入力された本体11の目標位置(xA,yA)との差分値(すなわち、位置ずれデータ(Δx,Δy))を算出する。位置ずれ量算出部56は、算出した位置ずれデータ(Δx,Δy)を送信アンテナ32に出力する。また、位置ずれ量算出部56は、算出した位置ずれデータ(Δx,Δy)を目標移動量算出部44に出力する。
【0029】
サーボアンプ18d〜26dは、対応するモータ18a〜26a、対応するエンコーダ18b〜26b及び制御装置40と電気的に接続されている。サーボアンプ18d〜26dには、制御装置40から制御周期毎に目標関節角が入力される。また、サーボアンプ18d〜26dには、対応するエンコーダ18b〜26bから関節18〜26の現在角度が入力される。サーボアンプ18d〜26dは、関節18〜26の目標関節角と関節18〜26の現在角度に応じてモータ18a〜26aに制御指令値T18〜T26を出力し、モータ18a〜26aを駆動させる。これによって、関節18〜26は、制御装置40が算出した目標関節角に応じた角度に駆動される。
【0030】
送信アンテナ32には、制御装置40から各種データ(傾斜角ずれデータ(ΔP,ΔR)、位置ずれデータ(Δx,Δy)、足首関節補正量データ(ΔθA1,ΔθA2)及び画像データ)が制御周期毎に入力される。送信アンテナ32は、入力された各データを無線信号として送信する。これによって、コントローラ80にこれらのデータが送信される。
【0031】
(コントローラ80の構成)
コントローラ80は、ジョイスティック82と、送信アンテナ84と、受信アンテナ86と、表示装置88を備えている。
ジョイスティック82は、送信アンテナ84と電気的に接続されている。ジョイスティック82は、操作レバーと、演算装置を備えている。操作レバーは、上下左右に操作することができる。操縦者が操作レバーを操作すると、演算装置は、操作レバーの操作方向及び操作量に基づいて、歩行ロボット10の移動方向、移動速度を指示する動作命令データを制御周期毎に送信アンテナ84に出力する。
送信アンテナ84には、ジョイスティック82から動作命令データが制御周期毎に入力される。送信アンテナ84は、入力された動作命令データを無線信号として送信する。これによって、歩行ロボット10に動作命令データが送信される。
受信アンテナ86は、表示装置88と電気的に接続されている。受信アンテナ86は、歩行ロボット10から制御周期毎に送信される無線信号(すなわち、傾斜角ずれデータ(ΔP,ΔR)、位置ずれデータ(Δx,Δy)、足首関節補正量データ(ΔθA1,ΔθA2)及び画像データ)を受信する。受信アンテナ86で受信された各データは、表示装置88に入力される。
表示装置88には、受信アンテナ86で受信した各種データ(傾斜角ずれデータ(ΔP,ΔR)、位置ずれデータ(Δx,Δy)、足首関節補正量データ(ΔθA1,ΔθA2)及び画像データ)が制御周期毎に入力される。表示装置88の表示画面には、入力された各データに応じた画像が表示される。図4は表示装置88の表示画面に表示される画像の一例を示している。図4に示すように、表示画面の主要部分Mには入力された画像データによる画像(すなわち、カメラ74が撮影した画像)が表示される。また、表示画面の上部Nには、傾斜角ずれデータ(ΔP,ΔR)、位置ずれデータ(Δx,Δy)、足首関節補正量データ(ΔθA1,ΔθA2)の各値がグラフ化されて表示される。表示装置88には制御周期毎に各データが入力され、表示装置88は各データが入力される毎に表示画面を更新する。したがって、主要部分Mにはカメラ74が撮影した画像が略リアルタイムの動画として表示され、上部Nには傾斜角ずれデータ(ΔP,ΔR)、位置ずれデータ(Δx,Δy)、足首関節補正量データ(ΔθA1,ΔθA2)の各値が略リアルタイムで表示される。
【0032】
(足首関節20〜26の目標関節角の補正について)
次に、目標関節角補正部50が足首関節20〜26の目標関節角θA20〜θA26を補正する処理について、図5及び図6を用いて詳細に説明する。図5は図2のX部の詳細説明図であり、図6は目標関節角補正部50が目標関節角θA20〜θA26を補正する処理のフローチャートである。
【0033】
上述したように、目標関節角補正部50がサーボアンプ20d〜26dに目標関節角θA20’〜θA26’を出力すると、サーボアンプ20d〜26dは関節20〜26の角度が目標関節角θA20’〜θA26’となるようにモータ20a〜26aに制御指令値T20〜T26を出力する。また、図5に示すように、サーボアンプ20d〜26dが出力した制御指令値T20〜T26は、目標関節角補正部50に入力される。目標関節角補正部50は、入力された制御指令値T20〜T26を記憶する。したがって、図6のフローチャートの開始時には、目標関節角補正部50は、前回の制御周期の制御指令値T20−1〜T26−1を記憶している。
【0034】
図6のステップS2では、目標関節角補正部50に目標関節角θA20〜θA26及び歩行ロボット10の目標姿勢が入力される。すると、目標関節角補正部50は、入力された目標姿勢が両脚部15、16を接地した姿勢(すなわち、歩行ロボット10が両脚で倒立した姿勢)であるか否かを判定する(ステップS4)。歩行ロボット10の目標姿勢が両脚部15、16を接地した姿勢でない場合(すなわち、ステップS4でNO)、目標関節角補正部50は、目標関節角θA20〜θA26をそのまま目標関節角θA20’〜θA26’として算出する(ステップS6)。歩行ロボット10の目標姿勢が両脚部15、16を接地した姿勢である場合(すなわち、ステップS4でYES)、目標関節角補正部50は、記憶している前回の周期の制御指令値T20−1〜T26−1から差分値ΔT1(=||T22−1|−|T26−1||)及びΔT2(=||T20−1|−|T24−1||)を算出する(ステップS8)。この差分値ΔT1及びΔT2の値に基づいて、足平15c及び16cが正常に接地しているか否かが判定される。
【0035】
例えば、図7に示すように、歩行ロボット10が両足で立脚している状態で左脚部16が床面上の障害物に乗り上げているとする。この場合、足平16cが外側近傍の点Aで障害物と接触し、足平15cが外側近傍の点Bで床面と接触し、歩行ロボット10が右方向に傾く。
足平16cが点Aで障害物と接触すると、接触点Aから足平16cに床反力F1が作用する。これによって、足平16cには、関節26の回転軸26c周りにモーメントM1が作用する。このような場合、サーボアンプ26dは、関節26の角度を目標関節角θA26に維持するため、モータ26aに制御指令値T26を出力し、関節26をモーメントM1を打ち消す方向にトルクM1’で駆動する。
また、足平15cには接触点Bから床反力F2が作用し、足平15cには関節22の回転軸22c周りにモーメントM2が作用する。このような場合、サーボアンプ22dは、関節22の角度を目標角度θA22に維持するため、モータ22aに制御指令値T22を出力し、関節22をモーメントM2を打ち消す方向にトルクM2’で駆動する。
以上のように、足平15c、16cが正常に接地できず、足平15c、16cにモーメントが作用すると、サーボアンプ22d、26dはモータ22a、26aをモーメントM1,M2を打ち消す方向に駆動する。したがって、サーボアンプ22d、26dは、モータ22aおよびモータ26aを高いトルクで駆動することとなる。このように、モータ22aおよびモータ26aを高いトルクで長時間駆動させると、モータ22a及びモータ26aのサーボが落ちてしまうため、足平15c、16cの角度を補正する必要がある。
また、歩行ロボット10が傾いていると、足平15cに作用する床反力F2と足平16cに作用する床反力F1の大きさが異なる。また、床反力F2に対してモーメントM2が作用する方向(図7の角度φ2)と、床反力F1に対してモーメントM1が作用する方向(図7の角度φ1)も異なる。したがって、足平15cに作用するモーメントM2の大きさと、足平16cに作用するモーメントM1の大きさは異なることとなる。このため、モータ22aの駆動トルクM2’とモータ26aの駆動トルクM1’の大きさも異なる。すなわち、モータ22aに入力される制御指令値T22と、モータ26aに入力される制御指令値T26の大きさは異なる。したがって、制御指令値T22の大きさ(絶対値)と制御指令値T26の大きさ(絶対値)の差によって歩行ロボット10が正常に接地しているか否かを判定することができる。
【0036】
同様に、図8に示すように、歩行ロボット10が両足で立脚している状態で左脚部16が床面上の障害物に乗り上げていると、足平16cが前側近傍の点Cで障害物と接触し、足平15cが後側近傍の点Dで床面と接触し、歩行ロボット10が後方向に傾く。このような場合にも、モータ20aに前回の周期に出力した制御指令値T20−1の絶対値とモータ24aに前回の周期に出力したT24−1の絶対値の差分値ΔT2が閾値ΔTminよりも大きいか否かを判定することで、歩行ロボット10の前後方向において足平15c、16cが正常に接地しているか否かを判定することができる。
【0037】
したがって、ステップS10では、目標関節角補正部50は、差分値ΔT1が閾値ΔTminよりも大きいか否かを判定する。目標関節角補正部50は、差分値ΔT1が閾値ΔTminよりも大きい場合は、前回の周期における角度補正量ΔθA1−1に所定値を加算し、今回の周期における角度補正量ΔθA1を算出する。そして、算出した角度補正量ΔθA1だけ目標関節角θA22、θA26を補正する(ステップS12)。このとき、目標関節角補正部50は、目標関節角θA22、θA26をモータ22a、26aが駆動している方向と逆方向(例えば、図7の場合はモーメントM1、M2の方向)に補正する。このようにθA22、θA26が補正されて、補正後の目標関節角θA22’、θA26’が算出される。
一方、差分値ΔT1が閾値ΔTminよりも小さい場合は(すなわち、ステップS10でNO)、目標関節角補正部50は、前回の周期の補正量ΔθA1−1と同じ補正量で、目標関節角θA22、θA26を補正し、目標関節角θA22’、θA26’を算出する(ステップS14)。
ステップS16では、目標関節角補正部50は、差分値ΔT2が閾値ΔTminよりも大きいか否かを判定する。目標関節角補正部50は、差分値ΔT2が閾値ΔTminよりも大きい場合は、前回の周期における角度補正量ΔθA2−1に所定値を加算し、今回の周期における角度補正量ΔθA2を算出する。そして、算出した角度補正量ΔθA2だけ目標関節角θA20、θA24を補正する(ステップS18)。このとき、目標関節角補正部50は、目標関節角θA20、θA24をモータ20a、24aが駆動している方向と逆方向に補正する。このようにθA20、θA24が補正されて、補正後の目標関節角θA20’、θA24’が算出される。
一方、差分値ΔT2が閾値ΔTminよりも小さい場合は(すなわち、ステップS16でNO)、目標関節角補正部50は、前回の周期の補正量ΔθA2−1と同じ補正量で、目標関節角θA20、θA24を補正し、目標関節角θA20’、θA24’を算出する(ステップS20)。
【0038】
目標関節角θA20’〜θA26’を算出すると、目標関節角補正部50は算出した目標関節角θA20’〜θA26’をサーボアンプ20d〜26dに出力する(ステップS22)。サーボアンプ20d〜26dは、入力された目標関節角θA20’〜θA26’に応じて、制御指令値T20〜T26を出力する。出力された制御指令値T20〜T26は、モータ20a〜26aにそれぞれ入力され、モータ20a〜26aが駆動される。これによって、関節20〜26の角度が、目標関節角θA20’〜θA26’に応じた角度に制御される。また、サーボアンプ20d〜26dが出力した制御指令値T20〜T26は、目標関節角補正部50に入力される。すると、目標関節角補正部50は、制御指令値T20〜T26を記憶する(ステップ24)。記憶した制御指令値T20〜T26は、次回の周期において、前回の制御指令値T20−1〜T26−1として用いられる。
【0039】
このように、足平15c及び16cが正常に接地していない場合、図6のフローチャートが繰り返し実行されることによって、関節20〜26の角度が徐々に補正される。すると、例えば図7のように接地していた足平15c、16cは、図9に示すように安定した状態となり、図8のように接地していた足平15c、16cは、図10に示すように安定した状態となる。足平15c、16cが安定すると、関節20〜26に過大なモーメントが作用しなくなり、差分値ΔT1、ΔT2が閾値ΔTminより小さくなる。すると、目標関節角補正部50は、それ以上目標関節角θA20〜θA26を補正しない。したがって、足平15c、16cの安定した状態が維持される。
【0040】
また、目標関節角補正部50が、目標関節角θA20〜θA26を補正したときの補正量(ΔθA1,ΔθA2)(すなわち、足首関節補正量データ(ΔθA1,ΔθA2))は、後の処理で制御装置40によって送信アンテナ32に出力される。なお、目標関節角θA20〜θA26のいずれかを補正しなかった場合は、その補正しなかった目標関節角の補正量は0として出力される。
【0041】
(制御装置40が各関節を制御する処理について)
図11は制御装置40が各関節を制御する処理のフローチャートを示している。制御装置40は、図11のフローチャートに示す処理を制御周期毎に繰り返し実行することで、歩行ロボット10の各関節を制御し、歩行ロボット10に所望の動作を実行させる。
また、制御装置40の現在位置算出部54は、所定周期(制御周期より短い周期)で本体11の現在位置(x,y,z)を算出し続ける。また、制御装置40は、後述するステップS48で、そのときの本体11の現在位置(x,y)を現在位置算出部54から読み出す。そして、現在位置(x,y)と目標位置(xA,yA)から位置ずれデータ(Δx,Δy)を算出し、その算出した位置ずれデータ(Δx,Δy)を記憶する。したがって、図11のフローチャートの開始時には、制御装置40は、前回の周期における位置ずれデータ(Δx,Δy)を記憶している。
【0042】
歩行ロボット10の操縦者がコントローラ80のジョイスティック82を操作すると、コントローラ80の送信アンテナ84、歩行ロボット10の受信アンテナ30を介して制御装置40に動作命令データ(すなわち、移動方向、移動速度を指示する命令)が入力される(ステップS30)。動作命令データが入力されると、制御装置40は入力された動作命令データにしたがって目標位置(xA,yA)を算出する(ステップS32)。
【0043】
次に、制御装置40は、算出した目標位置(xA,yA)と、前回の制御周期における目標位置(xA−1,yA−1)と、記憶している前回の制御周期の位置ずれデータ(Δx,Δy)から、目標移動量(dx,dy)を算出する(ステップS34)。
例えば、図12に示すように、点100が前回の周期における目標位置(xA−1,yA−1)であり、点102が本体11の現在位置(x,y)であるとすると、位置ずれデータ(Δx,Δy)は、図12のベクトル104となる。このとき、今回の周期の目標位置(xA,yA)が点106であったとすると、今回の周期の目標移動量(dx,dy)は図12のベクトル108となる。したがって、制御装置40は、以下の計算式によって目標移動量(dx,dy)を算出する。
dx=(xA−xA−1)+Δx
dy=(yA−yA−1)+Δy
【0044】
ステップS36では、制御装置40は、今回の制御周期の間に本体11が目標移動量(dx,dy)だけ移動するように、今回の周期における各関節18〜26の目標関節角θA18〜26を算出する(ステップS36)。このように、各関節18〜26の目標関節角θA18〜θA26が算出されることによって、今回の制御周期における歩行ロボット10の目標姿勢が規定される。制御装置40は、目標関節角θA18〜θA26を算出すると、目標関節角θA18をそれぞれ対応するサーボアンプ18dに出力する(ステップS38)。それと略同時に、制御装置40は、図6のフローチャートを実行して目標関節角θA20〜θA26を補正し、目標関節角θA20’〜θA26’をサーボアンプ20d〜26dにそれぞれ出力する(ステップS40)。これによって、サーボアンプ18d〜26dがモータ18a〜26aに制御指令値T18〜T26を出力し、関節18〜関節26が目標関節角θA18、θA20’〜θA26’に応じた角度に制御される。したがって、歩行ロボット10の本体11は、目標位置(xA,yA)に応じた位置に移動する。
【0045】
歩行ロボット10が動作を実行すると、制御装置40は、ステップS38で算出された歩行ロボット10の目標姿勢から、本体11の目標傾斜角(PA,RA)を算出する。また、制御装置40は、傾斜角センサ70が検出する本体11の現在の傾斜角(P,R)を読取る。そして、算出した目標傾斜角(PA,RA)と現在の傾斜角(P,R)の差分値(ΔP,ΔR)(すなわち、本体11の傾斜角ずれデータ(ΔP,ΔR))を算出する(ステップS42)。
【0046】
次に、制御装置40は、カメラ74から画像データを取得する(ステップS44)。
【0047】
次に、制御装置40は、本体11の現在位置(x,y)を現在位置算出部54から読み出す。そして、読み出した現在位置(x,y)とステップS32で算出した本体11の目標位置(xA,yA)から、本体11の位置ずれデータ(Δx,Δy)を算出する。制御装置40は算出した位置ずれデータ(Δx,Δy)を記憶する(ステップS46)。
【0048】
ステップS48では、制御装置40は、ステップS40で目標関節角θA20〜θA26を補正したときの補正量(足首関節補正量データ(ΔθA1,ΔθA2))、ステップS42で算出した傾斜角ずれデータ(ΔP,ΔR)、ステップS44で取得した画像データ、ステップS46で算出した位置ずれデータ(Δx,Δy)を送信アンテナ32に出力する。すると、送信アンテナ32、コントローラ80の受信アンテナ86を介して、コントローラ80の表示装置88にこれらのデータが入力される。これによって、表示装置88が表示する画像が、新たに入力された各データ(すなわち、歩行ロボット10の現在の制御状態)に基づいた画像に更新される。
【0049】
制御装置40は、図11のフローチャートを制御周期毎に繰り返し実行し、関節18〜26の角度を制御する。したがって、歩行ロボット10は、操縦者がコントローラ80を操作するのに応じて歩行する。
また、制御装置40は、コントローラ80に位置ずれデータ(Δx,Δy)、傾斜角ずれデータ(ΔP,ΔR)、足首関節補正量データ(ΔθA1,ΔθA2)及び画像データを送信する。制御装置40は図11のフローチャートを制御周期毎に繰り返し実行するので、コントローラ80には位置ずれデータ(Δx,Δy)、傾斜角ずれデータ(ΔP,ΔR)、足首関節補正量データ(ΔθA1,ΔθA2)及び画像データが制御周期毎に繰り返し入力される。したがって、コントローラ80の表示装置88の主要部Mにはカメラ74が撮影した画像が略リアルタイムの動画として表示され、表示装置88の上部Nには位置ずれデータ(Δx,Δy)、傾斜角ずれデータ(ΔP,ΔR)、足首関節補正量データ(ΔθA1,ΔθA2)の値が略リアルタイムで表示される(図4参照)。
【0050】
以上に説明したように、本実施例のロボット制御システム8では、コントローラ80の表示装置88は歩行ロボット10のカメラ74で撮影した画像を略リアルタイムの動画として表示する。したがって、歩行ロボット10の操縦者は、表示装置88が表示する画像を確認しながら好適に歩行ロボット10を操縦することができる。
また、ロボット制御システム8では、コントローラ80の表示装置88が位置ずれデータ(Δx,Δy)を略リアルタイムで表示する。位置ずれデータ(Δx,Δy)が大きいことは、歩行ロボット10が障害物に衝突する等して外乱を受け、操縦したとおりに制御されていないことを意味する。したがって、歩行ロボット10の操縦者は、位置ずれデータ(Δx,Δy)の値から歩行ロボット10が外乱を受けているか否かを判断しながら歩行ロボット10を操縦することができる。例えば、歩行ロボット10に外乱が作用していると判断できる場合には、歩行ロボット10の移動速度を小さくして慎重に運転することで、歩行ロボット10を転倒することなく操縦することが可能となる。あるいは、歩行ロボット10の向きを変えることで、歩行ロボット10の周囲の状況をカメラ74で確認する等の対応を採ることができる。したがって、操縦者は、容易に歩行ロボット10を意図通りに操縦することができる。
また、ロボット制御システム8では、コントローラ80の表示装置88が傾斜角ずれデータ(ΔP,ΔR)を略リアルタイムで表示する。傾斜角ずれデータ(ΔP,ΔR)が大きいことは、歩行ロボット10が障害物に衝突したり、歩行ロボット10が障害物に乗り上げたり、歩行ロボット10が歩行する床面が傾斜している等して、歩行ロボット10のバランスが悪いことを意味する。したがって、歩行ロボット10の操縦者は、傾斜角ずれデータ(ΔP,ΔR)の値から、歩行ロボット10のバランス状態が良好であるか否かを判断しながら歩行ロボット10を操縦することができる。したがって、操縦者は、歩行ロボット10のバランス状態に応じて移動速度等を変化させることで、容易に歩行ロボット10を意図通りに操縦することができる。
さらに、ロボット制御システム8では、コントローラ80の表示装置88が足首関節補正量データ(ΔθA1,ΔθA2)を略リアルタイムで表示する。足首関節補正量データ(ΔθA1,ΔθA2)が大きいことは、歩行ロボット10が障害物に乗り上げる等して足平15c、16cが正常に接地していないことを意味する。したがって、歩行ロボット10の操縦者は、足首関節補正量データ(ΔθA1,ΔθA2)の値から、歩行ロボット10の足平15c、16cが正常に接地しているか否かを判断しながら歩行ロボット10を操縦することができる。したがって、操縦者は、歩行ロボット10の足平15c,16cの接地状態から床面の状況等を把握でき、床面の状況等に応じて移動速度等を変化させることで、容易に歩行ロボット10を意図通りに操縦することができる。
【0051】
なお、上述した実施例では、位置ずれ量算出部56で算出した位置ずれデータ(Δx,Δy)を、次回の周期のステップS34で目標移動量(dx,dy)を算出する際に利用した。しかしながら、このように目標移動量(dx,dy)を算出しなくても、歩行ロボット10の位置を制御できる場合(例えば、位置ずれ量に応じて操縦者が微調整を行う場合)には、次回の周期で算出した位置ずれデータ(Δx,Δy)を利用しなくてもよい。
【0052】
また、上述した実施例では、制御指令値T22−1とT26−1の差分値ΔT1(または、制御指令値T20−1とT24−1の差分値ΔT2)に基づいて、足平15c、16cが正常に接地しているか否かを判定した。しかしながら、本発明は、このような実施形態に限られない。例えば、モータ20a〜26aのそれぞれにモータの駆動トルクを検出するトルクセンサを設置し、それらのトルクセンサの検出値に基づいて足平15c、16cが正常に接地しているか否かを判定してもよい。また、足平15c、16cの接地面に足平15c、16cの接地状態を検出するセンサ(例えば、接触式の圧力センサ)を設置してもよい。
また、上述した実施例では、表示装置88で足首関節補正量データ(ΔθA1,ΔθA2)を表示したが、本発明はこのような実施形態に限られない。例えば、表示装置88で制御指令値T22−1とT26−1の差分値ΔT1または、制御指令値T20−1とT24−1の差分値ΔT2を表示してもよい。差分値ΔT1、ΔT2を表示することによっても、足平15c、16cが正常に接地しているか否かを判断することができる。また、モータ20a〜26aのそれぞれにモータの駆動トルクを検出するトルクセンサを設置する場合には、それらのトルクセンサの検出値を表示装置で表示してもよい。また、足平15c、16cの接地面に足平15c、16cの接地状態を検出するセンサを設置する場合には、そのセンサの検出値を表示してもよい。
【0053】
また、上述した実施例では、図4に示すように、足首関節補正量データ(ΔθA1,ΔθA2)、位置ずれデータ(Δx,Δy)、傾斜角ずれデータ(ΔP,ΔR)を棒グラフとして表示したが、図13に示すように表示してもよい。図13では、足首関節補正量データを、ΔθA1を横軸、ΔθA2を縦軸とした座標図として表示し、位置ずれデータを、Δxを横軸、Δyを縦軸とした座標図として表示し、傾斜角ずれデータを、ΔPを縦軸、ΔRを横軸とした座標図として表示している。このように各データを表示すると、歩行ロボット10がどちらの方向にずれているかや傾いているか等が一目で把握でき、操縦者は歩行ロボット10の状態をより正確に把握することができる。
【0054】
また、上述した実施例では、コントローラ80と歩行ロボット10は物理的に隔離していたが、操縦者が歩行ロボットに搭乗した状態で歩行ロボットを操縦するタイプのロボット制御システムにおいては、歩行ロボットにコントローラを搭載してもよい。
【0055】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例をさまざまに変形、変更したものが含まれる。
本明細書または図面に説明した技術要素は、単独であるいは各種の組み合わせによって技術的有用性を発揮するものであり、出願時請求項記載の組み合わせに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【図面の簡単な説明】
【0056】
【図1】ロボット制御システム8の斜視図。
【図2】ロボット制御システム8のブロック図。
【図3】足首関節20〜26の拡大図。
【図4】コントローラ80の表示画面を示す図。
【図5】図2のX部の詳細を示すブロック図。
【図6】モータ20a〜26aに制御指令値T20〜T26を出力する際の処理を示すフローチャート。
【図7】足平15c、16cの接地状態の説明図。
【図8】足平15c、16cの接地状態の説明図。
【図9】足平15c、16cの接地状態の説明図。
【図10】足平15c、16cの接地状態の説明図。
【図11】歩行ロボット10の各部を制御する際の処理を示すフローチャート。
【図12】目標移動量(dx,dy)の説明図。
【図13】他の実施例のコントローラ80の表示画面を示す図。
【符号の説明】
【0057】
8:ロボット制御システム
10:歩行ロボット
11:本体
12:頭部
13:右腕部
14:左腕部
15:右脚部
15a:上腿部
15b:下腿部
15c:足平
16:左脚部
16a:上腿部
16b:下腿部
16c:足平
18〜26:関節
18a〜26a:モータ
18b〜26b:エンコーダ
20c〜26c:回転軸
18d〜26d:サーボアンプ
30:受信アンテナ
32:送信アンテナ
40:制御装置
42:目標位置算出部
44:目標移動量算出部
48:目標関節角算出部
50:目標関節角補正部
52:傾斜角ずれ量算出部
54:現在位置算出部
56:位置ずれ量算出部
70:傾斜角センサ
72:加速度センサ
74:カメラ
80:コントローラ
82:ジョイスティック
84:送信アンテナ
86:受信アンテナ
88:表示装置
【技術分野】
【0001】
本発明は、移動ロボットと、その移動ロボットを操縦するためのコントローラを備えたロボット制御システムに関する。
【背景技術】
【0002】
オペレータ(操縦者)がコントローラを操作することによって移動ロボットを操縦するロボット制御システムが知られている。例えば、コントローラを移動ロボットから隔離した場所に配置し、オペレータがそのコントローラを操作することで、移動ロボットを遠隔操縦する。このようなロボット制御システムでは、移動ロボットにカメラを搭載するとともにコントローラに表示手段を搭載し、移動ロボットのカメラで撮影された映像をコントローラの表示手段で表示する。操縦者は、移動ロボットのカメラで撮影された映像を確認しながらコントローラを操作することで、移動ロボットを操縦する。
なお、特許文献1には、歩行ロボットに搭載したカメラの画像を基に2つの脚部を駆動することによって安定して歩行する技術が開示されている。
【特許文献1】特開2001−277159
【発明の開示】
【発明が解決しようとする課題】
【0003】
上述したロボット制御システムでは、オペレータは移動ロボットのカメラで撮影された映像を確認しながらコントローラを操作する。しかしながら、移動ロボットが移動している場合、カメラの映像は移動ロボットの移動とともに揺れるので、移動ロボットの状態を正確に確認することが困難である。また、カメラの映像では、移動ロボットの周囲の状況を把握することはできても、移動ロボットの位置や、移動ロボットがどのような姿勢をとっているかといった移動ロボットの姿勢状態を正確に確認することはできない。また、カメラの映像では、移動ロボットが移動する床面が傾いている場合や、床面上に障害物がある場合に、それらのことを正確に確認することができない。したがって、従来のロボット制御システムでは、移動ロボットをオペレータの意図通りに操縦することが非常に困難であった。
【0004】
本発明は、上記した実情に鑑みてなされたものであり、オペレータの意図通りに移動ロボットを操縦することが容易となるロボット制御システムを提供することを目的とする。
【課題を解決するための手段】
【0005】
本発明のロボット制御システムは、移動ロボットと、移動ロボットを操縦するためのコントローラを有している。コントローラは、移動ロボットに動作命令を入力する入力手段と、オペレータに移動ロボットの制御状態を表示する表示手段を有している。移動ロボットは、本体と、本体を移動させる移動手段と、移動ロボットの姿勢状態を検出する検出手段と、コントローラから入力された動作命令に基づいて、所定時間が経過した時の移動ロボットの姿勢状態の目標値を決定する目標値決定手段と、前記所定時間経過時に移動ロボットの姿勢状態が決定された目標値が示す状態となるように移動手段を制御する制御手段と、前記所定時間経過時に検出手段が検出した姿勢状態と目標値との差分値を算出する差分値算出手段とを有している。そして、表示手段が移動ロボットが算出した差分値に基づいた指標を表示することを特徴とする。
このロボット制御システムでは、コントローラの表示手段に検出手段によって検出された検出値(実際の移動ロボットの姿勢状態)と目標値(オペレータが指示した移動ロボットの姿勢状態)との差分値に基づいた指標が表示される。この差分値が大きいことは、移動ロボットが何らかの原因で目標値通りに制御されていないこと意味する。このため、移動ロボットのオペレータは、表示手段で表示される差分値に基づいた指標から移動ロボットが目標値通りに制御されているか否かを確認しながら移動ロボットを操縦することができる。したがって、移動ロボットをオペレータの意図通りに操縦することが容易となる。
【0006】
上述したロボット制御システムは、検出手段が本体の位置を検出し、目標値決定手段が入力された動作命令に基づいて所定時間経過時の本体の目標位置を決定し、制御手段が前記所定時間経過時に本体が目標位置に移動するように移動手段を制御し、差分値算出手段が前記所定時間経過時に検出手段が検出した本体の位置と目標位置との差分値を算出することが好ましい。
このような構成によれば、本体の目標位置と現在位置との差分値に基づいた指標が表示手段に表示される。この差分値が大きいことは、外乱等が作用して移動ロボットがオペレータの意図通りに正確に移動していないことを意味する。したがって、移動ロボットのオペレータは、差分値に基づいた指標から移動ロボットに外乱が作用しているか否かを確認しながら移動ロボットを操縦することができる。したがって、移動ロボットをオペレータの意図した位置に移動させることが容易となる。
【0007】
上述したロボット制御システムは、目標値決定手段が所定周期で本体の目標位置を決定し、制御手段が目標値決定手段が決定した今回の周期の目標位置と前回の周期で差分値算出手段が算出した差分値に基づいて移動手段を制御することが好ましい。
このような構成によれば、移動ロボットを目標位置により正確に移動させることができる。
【0008】
上述したロボット制御システムは、検出手段が本体の傾斜角を検出し、目標値決定手段が入力された動作命令に基づいて所定時間経過時の本体の目標傾斜角を決定し、制御手段が前記所定時間経過時に本体の傾斜角が目標傾斜角となるように移動手段を制御し、差分値算出手段が前記所定時間経過時に検出手段が検出した本体の傾斜角と目標傾斜角との差分値を算出することが好ましい。
このような構成によれば、目標傾斜角と本体の傾斜角との差分値に基づいた指標が表示手段に表示される。この差分値が大きいことは、移動する床面が傾斜していたり、移動ロボットが障害物に乗り上げたりして移動ロボットが正確に制御されていないことを意味する。したがって、移動ロボットのオペレータは、差分値に基づいた指標から床面に傾きがあるか否かや、移動ロボットが障害物に乗り上げているか否かを確認しながら移動ロボットを操縦することができる。したがって、移動ロボットをオペレータの意図通りに操縦することが容易となる。
【0009】
また、本発明は、安定した状態で歩行ロボットを操縦することができる新たなロボット制御システムを提供する。
本発明のロボット制御システムは、本体と本体に接続された第1の脚部及び第2の脚部を備えた歩行ロボットと、歩行ロボットを操縦するためのコントローラを有している。コントローラは、歩行ロボットに動作命令を入力する入力手段と、オペレータに歩行ロボットの制御状態を表示する表示手段を有している。歩行ロボットは、第1脚部の接地部の角度を変更する第1足首関節と、第1足首関節を駆動する第1のアクチュエータと、第2脚部の接地部の角度を変更する第2足首関節と、第2足首関節を駆動する第2のアクチュエータと、入力された動作命令に基づいて、各足首関節の目標角度を決定する目標角度決定手段と、各脚部の接地状態を検出する検出手段と、各脚部の接地状態に基づいて、第1足首関節及び第2足首関節の目標角度を補正する補正手段と、目標角度が補正されている足首関節については、その関節が補正後の目標角度となるようにその関節を駆動するアクチュエータを制御し、目標角度が補正されていない足首関節については、その関節が決定された目標角度となるようにその関節を駆動するアクチュエータを制御する制御手段を有している。そして、表示手段が第1足首関節及び/または第2足首関節の角度補正量に基づいた指標を表示することを特徴とする。
このロボット制御システムの歩行ロボットは、検出手段によって各脚部の接地状態が検出され、検出された接地状態に基づいて各脚部の足首関節の角度が補正される。これによって、各脚部の接地状態に応じた角度に各脚部の足首関節が制御され、歩行ロボットは好適に床面に接地(倒立)することができる。
コントローラの表示手段には、第1足首関節及び/または第2足首関節の角度補正量に基づいた指標が表示される。角度補正量が大きいことは、歩行ロボットの各脚部の接地状態が理想的な状態(水平な床面に接地している状態)からずれていることを意味する。したがって、歩行ロボットのオペレータは、表示手段で表示される角度補正量に基づいた指標から歩行ロボットの各脚部が正常に接地しているか否か(すなわち、各脚部が接地している床面の状況)を確認しながら歩行ロボットを操縦することができる。したがって、歩行ロボットをオペレータの意図通りに操縦することが容易となる。
【発明を実施するための最良の形態】
【0010】
下記に詳細に説明する実施例の主要な特徴を最初に列記する。
(形態1)ロボット制御システムは、コントローラと歩行ロボットによって構成されている。
(形態2)コントローラは、操縦者(オペレータ)によって操作され、その操作量(動作命令)を所定周期で出力するジョイスティックと、ジョイスティックから出力された動作命令を歩行ロボットに送信する送信アンテナと、歩行ロボットから送信されるデータを受信する受信アンテナと、受信アンテナで受信したデータに応じた画像を表示する表示手段を有している。
(形態3)歩行ロボットは、本体と、本体に接続された第1の脚部及び第2の脚部とを有している。
(形態4)第1脚部は、第1脚部の接地部の角度を変更する第1足首関節を含む複数の関節を有しており、各関節には入力される制御指令値にしたがって関節を駆動するアクチュエータが設置されている。
(形態5)第2脚部は、第2脚部の接地部の角度を変更する第1足首関節を含む複数の関節を有しており、各関節には入力される制御指令値にしたがって関節を駆動するアクチュエータが設置されている。
(形態6)歩行ロボットは、コントローラから送信された動作命令を所定周期で受信する受信アンテナと、受信した動作命令に基づいて本体の目標位置を算出する目標位置算出手段と、算出した目標位置と前回の周期における本体の位置ずれ量とに基づいて本体の目標移動量を算出する目標移動量算出手段と、算出した目標移動量に基づいて今回の周期における各関節の目標関節角を算出する目標関節角算出手段と、脚部の接地状態を検出する接地状態検出手段と、検出した脚部の接地状態に基づいて第1足首関節及び第2足首関節の目標関節角を補正する目標関節角補正手段と、次の周期までに第1足首関節及び第2足首関節が補正された目標関節角となるようにそれらの関節に対応するアクチュエータに制御指令値を入力する第1制御手段と、次の周期までに第1足首関節及び第2足首関節を除く各関節が算出された目標関節角となるようにそれらの関節に対応するアクチュエータに制御指令値を入力する第2制御手段と、本体の傾斜角を検出する傾斜角センサと、算出された各関節の目標関節角から算出される本体の目標傾斜角と傾斜角センサで検出された本体の傾斜角から本体の傾斜角ずれ量を算出する傾斜角ずれ量算出手段と、本体の位置を検出する位置検出手段と、算出された目標位置と位置検出手段で検出された本体の位置から本体の位置ずれ量を算出する位置ずれ量算出手段と、歩行ロボットの進行方向を撮影するカメラと、第1足首関節及び第2足首関節の目標関節角の補正量と、算出された本体の位置ずれ量と、算出された本体の傾斜角ずれ量と、カメラで撮影された映像をコントローラに送信する送信アンテナをさらに有している。
(形態7)接地状態検出手段は、前回の周期に第1足首関節のアクチュエータに入力された制御指令値と第2足首関節のアクチュエータに入力された制御指令値との差に基づいて、脚部の接地状態の良否を検出する。
【実施例】
【0011】
本発明の一実施例に係るロボット制御システムについて図面を参照して説明する。図1はロボット制御システム8の概略斜視図を示しており、図2はロボット制御システム8のブロック図を示している。図1,図2に示すように、ロボット制御システム8は、歩行ロボット10と、歩行ロボット10に動作命令を送信するコントローラ80を備えている。
【0012】
(歩行ロボット10の構成)
図1に示すように歩行ロボット10は、複数のパーツが関節で接続されることによって構成されている。すなわち、歩行ロボット10は、本体11と、その本体11と関節18を介して接続された頭部12、左腕部13、右腕部14、右脚部15、左脚部16によって構成されている。左腕部13及び右腕部14は、複数のパーツが関節(肘関節,手首関節)18を介して接続されることによって構成されている。右脚部15は、一端が本体11と関節(股関節)18を介して接続された上腿部15a、その上腿部15aの他端と関節(膝関節)18を介して接続された下腿部15b、その下腿部15bの他端と足首関節(2つの関節20、22)を介して接続された足平15cによって構成されている。左脚部16は、一端が本体11と関節(股関節)18を介して接続された上腿部16a、その上腿部16aの他端と関節(膝関節)18を介して接続された下腿部16b、その下腿部16bの他端と足首関節(2つの関節24、26)を介して接続された足平16cによって構成されている。
【0013】
図2に示すように、各関節18はモータ18aを備えている。各モータ18aは、対応するサーボアンプ18d(後に詳述する)と電気的に接続されている。各モータ18aは、各サーボアンプ18dから制御指令値を入力されることで駆動する。関節18は、モータ18aが駆動することによってその角度が変更される。また、各モータ18aには、関節18の角度(より詳細には、歩行ロボット10の直立状態(図1の状態)における関節18の角度に対する角度)を検出するエンコーダ18bがそれぞれ設置されている。各エンコーダ18bは、対応するサーボアンプ18dと電気的に接続されている。各エンコーダ18bが検出した関節18の角度は、対応するサーボアンプ18dに出力される。
【0014】
同様に、関節20は、後述するサーボアンプ20dから入力される制御指令値によって関節20の角度を変更するモータ20aを備えており、モータ20aには関節20の角度θ20を検出してサーボアンプ20dに出力するエンコーダ20bが設置されている。
同様に、関節22は、後述するサーボアンプ22dから入力される制御指令値によって関節22の角度を変更するモータ22aを備えており、モータ22aには関節22の角度θ22を検出してサーボアンプ22dに出力するエンコーダ22bが設置されている。
同様に、関節24は、後述するサーボアンプ24dから入力される制御指令値によって関節24の角度を変更するモータ24aを備えており、モータ24aには関節24の角度θ24を検出してサーボアンプ24dに出力するエンコーダ24bが設置されている。
同様に、関節26は、後述するサーボアンプ26dから入力される制御指令値によって関節26の角度を変更するモータ26aを備えており、モータ26aには関節26の角度θ26を検出してサーボアンプ26dに出力するエンコーダ26bが設置されている。
【0015】
図3は、右脚部15の関節20、22及び左脚部16の関節24、26の拡大図を示している。
関節20は、足平15cを下腿部15bに対して回転軸20c周りに回転させる。エンコーダ20bは、関節20の回転軸20c周りの角度θ20を検出する。
関節22は、足平15cを下腿部15bに対して回転軸22c周りに回転させる。エンコーダ22bは、関節22の回転軸22c周りの角度θ22を検出する。
関節24は、足平16cを下腿部16bに対して回転軸24c周りに回転させる。エンコーダ24bは、関節24の回転軸24c周りの角度θ24を検出する。
関節26は、足平16cを下腿部16bに対して回転軸26c周りに回転させる。エンコーダ26bは、関節26の回転軸26c周りの角度θ26を検出する。
図から明らかなように、右脚部15の関節20は、左脚部16の関節24に対応する。また、右脚部15の関節22は、左脚部16の関節26に対応する。
【0016】
また、歩行ロボット10は、図2に示すように、受信アンテナ30と、送信アンテナ32と、制御装置40と、傾斜角センサ70と、加速度センサ72と、カメラ74と、サーボアンプ18d〜26dを備えている。
【0017】
受信アンテナ30は、制御装置40と電気的に接続されている。受信アンテナ30は、コントローラ80から制御周期(制御装置40が歩行ロボット10を制御するために実行する一連の処理を実行する周期)毎に送信される無線信号(後述する動作命令データ)を受信し、その信号を制御装置40に出力する。
【0018】
傾斜角センサ70は、歩行ロボット10の本体11に搭載されている。傾斜角センサ70は、制御装置40と接続されている。傾斜角センサ70は、本体11の傾斜角(ピッチ角P、ロール角R)を検出する。傾斜角センサ70が検出する本体11の傾斜角データ(P,R)は、制御装置40に読取られる。
【0019】
加速度センサ72は、歩行ロボット10の本体11に搭載されている。加速度センサ72は、制御装置40と接続されている。加速度センサ72は、3軸加速度センサであり、本体11の前後方向、左右方向及び上下方向の加速度(ax,ay,az)を検出する。加速度センサ72が検出した加速度データ(ax,ay,az)は、制御装置40に読取られる。
【0020】
カメラ74は、歩行ロボット10の頭部12に搭載されている。カメラ74は、制御装置40を介して送信アンテナ32と電気的に接続されている。カメラ74は歩行ロボット10の進行方向を撮影する。カメラ74が撮影した画像は、制御装置40に読取られる。
【0021】
制御装置40は、受信アンテナ30、送信アンテナ32、各サーボアンプ18d〜26d、傾斜角センサ70、加速度センサ72、カメラ74と接続されている。制御装置40は、目標位置算出部42、目標移動量算出部44、目標関節角算出部48、目標関節角補正部50、傾斜角ずれ量算出部52、現在位置算出部54、位置ずれ量算出部56を備えている。
【0022】
目標位置算出部42には、受信アンテナ30から制御周期毎に動作命令データが入力される。目標位置算出部42は、入力された動作命令データに基づいて、本体11の目標位置(xA,yA)(より詳細には、本体11に搭載された加速度センサ72の目標位置)を算出する。目標位置(xA,yA)は、グローバル座標系(すなわち、歩行ロボット10が移動する作業空間内において規定された座標系)におけるxy座標として算出される。目標位置算出部42は、算出した目標位置(xA,yA)を目標移動量算出部44及び位置ずれ量算出部56に出力する。
【0023】
目標移動量算出部44には、目標位置算出部42から制御周期毎に本体11の目標位置(xA,yA)が入力される。また、目標移動量算出部44には、位置ずれ量算出部56から前回の制御周期における位置ずれデータ(Δx,Δy)(後に詳述する)が入力される。目標移動量算出部44は、入力された目標位置(xA,yA)、前回の制御周期の目標位置(xA−1,yA−1)及び前回の周期の位置ずれデータ(Δx,Δy)から目標移動量(dx,dy)を算出し、目標関節角算出部48に出力する。例えば、目標移動量算出部44は、入力された目標位置(xA,yA)と前回の制御周期の目標位置(xA−1,yA−1)から理想的な目標移動量を算出し、算出した理想的な目標移動量を前回の周期の位置ずれデータ(Δx,Δy)により補正して、最終的な目標移動量(dx,dy)を算出する。
【0024】
目標関節角算出部48には、目標移動量算出部44から制御周期毎に目標移動量(dx,dy)が入力される。目標関節角算出部48は、今回の制御周期の間に本体11が入力された目標移動量(dx,dy)だけ移動するように(すなわち、今回の周期の動作実行後に本体11が目標位置(xA,yA)に移動するように)、今回の制御周期における歩行ロボット10の各関節18〜26の目標関節角θA18〜θA26を算出する。このように、各関節18〜26の目標関節角θA18〜θA26が算出されることによって、今回の制御周期における歩行ロボット10の目標姿勢(歩行ロボット10の各部位(本体11,頭部12,腕部13,14、脚部15,16)の目標姿勢)が規定される。目標関節角算出部48は、算出した目標関節角θA18〜θA26のうち各関節18の目標関節角θA18を、対応するサーボアンプ18dに出力する。また、目標関節角算出部48は、算出した関節20〜26の目標関節角θA20〜26と歩行ロボット10の目標姿勢を目標関節角補正部50に出力する。また、目標関節角算出部48は、傾斜角ずれ量算出部52に歩行ロボット10の目標姿勢を出力する。
【0025】
目標関節角補正部50には、目標関節角算出部48から制御周期毎に関節20〜26の目標関節角θA20〜θA26と歩行ロボット10の目標姿勢が入力される。また、目標関節角補正部50には、サーボアンプ20d〜26dが前回の制御周期で出力した制御指令値T20〜T26(以下では、前回の周期の制御指令値をT20−1〜T26−1と表示する)が入力される。目標関節角補正部50は、入力された制御指令値T20−1〜T26−1及び入力された目標姿勢に基づいて、足平15c、16cが正常に接地しているか否かを判定する。目標関節角補正部50は、その判定結果に応じて、入力された目標関節角θA20〜θA26を補正し、補正後の目標関節角θA20’〜θA26’をサーボアンプ20d〜26dに出力する。また、目標関節角補正部50は、目標関節角θA20〜θA26を補正したときの補正量(すなわち、足首関節補正量データ)を送信アンテナ32に出力する。後述するが、目標関節角補正部50は、目標関節角θA20とθA24を同一の補正量ΔθA2で補正し、目標関節角θA22とθA26を同一の補正量ΔθA1で補正する。したがって、目標関節角補正部50は、目標関節角θA20(θA24)の補正量ΔθA2と、目標関節角θA22(θA26)の補正量ΔθA1を示す足首関節補正量データ(ΔθA1,ΔθA2)を送信アンテナ32に出力する。
【0026】
傾斜角ずれ量算出部52には、目標関節角算出部48から歩行ロボット10の目標姿勢が入力される。傾斜角ずれ量算出部52は、入力された目標姿勢から本体11の目標傾斜角(ピッチ角PA、ロール角RA)を算出する。また、傾斜角ずれ量算出部52は、歩行ロボット10が今回の制御周期における動作を実行した後に、傾斜角センサ70が検出する本体11の傾斜角(P,R)を読取る。そして、算出した目標傾斜角(PA,RA)と読取った傾斜角(P,R)との差分値(ΔP,ΔR)(すなわち、傾斜角ずれデータ(ΔP,ΔR))を算出する。傾斜角ずれ量算出部52は、算出した傾斜角ずれデータ(ΔP,ΔR)を送信アンテナ32に出力する。
【0027】
現在位置算出部54は、所定周期(制御周期よりも短い周期)で加速度センサ72が検出する加速度データ(ax,ay,az)を読取り、直前に算出した本体11の位置と読取った加速度データ(ax,ay,az)から本体11の現在位置(x,y,z)(より詳細には、本体11に搭載された加速度センサ72の現在位置)を算出する。現在位置(x,y,z)は、グローバル座標系におけるxyz座標として算出される。現在位置算出部54が算出する本体11の現在位置(x,y,z)のxy座標(すなわち、現在位置(x,y))は、制御周期毎に位置ずれ量算出部56に読取られる。
【0028】
位置ずれ量算出部56は、制御周期毎に現在位置算出部54から本体11の現在位置(x,y)を読取る。また、位置ずれ量算出部56には、目標位置算出部42から本体11の目標位置(xA,yA)が制御周期毎に入力される。位置ずれ量算出部56は、読取った本体11の現在位置(x,y)と入力された本体11の目標位置(xA,yA)との差分値(すなわち、位置ずれデータ(Δx,Δy))を算出する。位置ずれ量算出部56は、算出した位置ずれデータ(Δx,Δy)を送信アンテナ32に出力する。また、位置ずれ量算出部56は、算出した位置ずれデータ(Δx,Δy)を目標移動量算出部44に出力する。
【0029】
サーボアンプ18d〜26dは、対応するモータ18a〜26a、対応するエンコーダ18b〜26b及び制御装置40と電気的に接続されている。サーボアンプ18d〜26dには、制御装置40から制御周期毎に目標関節角が入力される。また、サーボアンプ18d〜26dには、対応するエンコーダ18b〜26bから関節18〜26の現在角度が入力される。サーボアンプ18d〜26dは、関節18〜26の目標関節角と関節18〜26の現在角度に応じてモータ18a〜26aに制御指令値T18〜T26を出力し、モータ18a〜26aを駆動させる。これによって、関節18〜26は、制御装置40が算出した目標関節角に応じた角度に駆動される。
【0030】
送信アンテナ32には、制御装置40から各種データ(傾斜角ずれデータ(ΔP,ΔR)、位置ずれデータ(Δx,Δy)、足首関節補正量データ(ΔθA1,ΔθA2)及び画像データ)が制御周期毎に入力される。送信アンテナ32は、入力された各データを無線信号として送信する。これによって、コントローラ80にこれらのデータが送信される。
【0031】
(コントローラ80の構成)
コントローラ80は、ジョイスティック82と、送信アンテナ84と、受信アンテナ86と、表示装置88を備えている。
ジョイスティック82は、送信アンテナ84と電気的に接続されている。ジョイスティック82は、操作レバーと、演算装置を備えている。操作レバーは、上下左右に操作することができる。操縦者が操作レバーを操作すると、演算装置は、操作レバーの操作方向及び操作量に基づいて、歩行ロボット10の移動方向、移動速度を指示する動作命令データを制御周期毎に送信アンテナ84に出力する。
送信アンテナ84には、ジョイスティック82から動作命令データが制御周期毎に入力される。送信アンテナ84は、入力された動作命令データを無線信号として送信する。これによって、歩行ロボット10に動作命令データが送信される。
受信アンテナ86は、表示装置88と電気的に接続されている。受信アンテナ86は、歩行ロボット10から制御周期毎に送信される無線信号(すなわち、傾斜角ずれデータ(ΔP,ΔR)、位置ずれデータ(Δx,Δy)、足首関節補正量データ(ΔθA1,ΔθA2)及び画像データ)を受信する。受信アンテナ86で受信された各データは、表示装置88に入力される。
表示装置88には、受信アンテナ86で受信した各種データ(傾斜角ずれデータ(ΔP,ΔR)、位置ずれデータ(Δx,Δy)、足首関節補正量データ(ΔθA1,ΔθA2)及び画像データ)が制御周期毎に入力される。表示装置88の表示画面には、入力された各データに応じた画像が表示される。図4は表示装置88の表示画面に表示される画像の一例を示している。図4に示すように、表示画面の主要部分Mには入力された画像データによる画像(すなわち、カメラ74が撮影した画像)が表示される。また、表示画面の上部Nには、傾斜角ずれデータ(ΔP,ΔR)、位置ずれデータ(Δx,Δy)、足首関節補正量データ(ΔθA1,ΔθA2)の各値がグラフ化されて表示される。表示装置88には制御周期毎に各データが入力され、表示装置88は各データが入力される毎に表示画面を更新する。したがって、主要部分Mにはカメラ74が撮影した画像が略リアルタイムの動画として表示され、上部Nには傾斜角ずれデータ(ΔP,ΔR)、位置ずれデータ(Δx,Δy)、足首関節補正量データ(ΔθA1,ΔθA2)の各値が略リアルタイムで表示される。
【0032】
(足首関節20〜26の目標関節角の補正について)
次に、目標関節角補正部50が足首関節20〜26の目標関節角θA20〜θA26を補正する処理について、図5及び図6を用いて詳細に説明する。図5は図2のX部の詳細説明図であり、図6は目標関節角補正部50が目標関節角θA20〜θA26を補正する処理のフローチャートである。
【0033】
上述したように、目標関節角補正部50がサーボアンプ20d〜26dに目標関節角θA20’〜θA26’を出力すると、サーボアンプ20d〜26dは関節20〜26の角度が目標関節角θA20’〜θA26’となるようにモータ20a〜26aに制御指令値T20〜T26を出力する。また、図5に示すように、サーボアンプ20d〜26dが出力した制御指令値T20〜T26は、目標関節角補正部50に入力される。目標関節角補正部50は、入力された制御指令値T20〜T26を記憶する。したがって、図6のフローチャートの開始時には、目標関節角補正部50は、前回の制御周期の制御指令値T20−1〜T26−1を記憶している。
【0034】
図6のステップS2では、目標関節角補正部50に目標関節角θA20〜θA26及び歩行ロボット10の目標姿勢が入力される。すると、目標関節角補正部50は、入力された目標姿勢が両脚部15、16を接地した姿勢(すなわち、歩行ロボット10が両脚で倒立した姿勢)であるか否かを判定する(ステップS4)。歩行ロボット10の目標姿勢が両脚部15、16を接地した姿勢でない場合(すなわち、ステップS4でNO)、目標関節角補正部50は、目標関節角θA20〜θA26をそのまま目標関節角θA20’〜θA26’として算出する(ステップS6)。歩行ロボット10の目標姿勢が両脚部15、16を接地した姿勢である場合(すなわち、ステップS4でYES)、目標関節角補正部50は、記憶している前回の周期の制御指令値T20−1〜T26−1から差分値ΔT1(=||T22−1|−|T26−1||)及びΔT2(=||T20−1|−|T24−1||)を算出する(ステップS8)。この差分値ΔT1及びΔT2の値に基づいて、足平15c及び16cが正常に接地しているか否かが判定される。
【0035】
例えば、図7に示すように、歩行ロボット10が両足で立脚している状態で左脚部16が床面上の障害物に乗り上げているとする。この場合、足平16cが外側近傍の点Aで障害物と接触し、足平15cが外側近傍の点Bで床面と接触し、歩行ロボット10が右方向に傾く。
足平16cが点Aで障害物と接触すると、接触点Aから足平16cに床反力F1が作用する。これによって、足平16cには、関節26の回転軸26c周りにモーメントM1が作用する。このような場合、サーボアンプ26dは、関節26の角度を目標関節角θA26に維持するため、モータ26aに制御指令値T26を出力し、関節26をモーメントM1を打ち消す方向にトルクM1’で駆動する。
また、足平15cには接触点Bから床反力F2が作用し、足平15cには関節22の回転軸22c周りにモーメントM2が作用する。このような場合、サーボアンプ22dは、関節22の角度を目標角度θA22に維持するため、モータ22aに制御指令値T22を出力し、関節22をモーメントM2を打ち消す方向にトルクM2’で駆動する。
以上のように、足平15c、16cが正常に接地できず、足平15c、16cにモーメントが作用すると、サーボアンプ22d、26dはモータ22a、26aをモーメントM1,M2を打ち消す方向に駆動する。したがって、サーボアンプ22d、26dは、モータ22aおよびモータ26aを高いトルクで駆動することとなる。このように、モータ22aおよびモータ26aを高いトルクで長時間駆動させると、モータ22a及びモータ26aのサーボが落ちてしまうため、足平15c、16cの角度を補正する必要がある。
また、歩行ロボット10が傾いていると、足平15cに作用する床反力F2と足平16cに作用する床反力F1の大きさが異なる。また、床反力F2に対してモーメントM2が作用する方向(図7の角度φ2)と、床反力F1に対してモーメントM1が作用する方向(図7の角度φ1)も異なる。したがって、足平15cに作用するモーメントM2の大きさと、足平16cに作用するモーメントM1の大きさは異なることとなる。このため、モータ22aの駆動トルクM2’とモータ26aの駆動トルクM1’の大きさも異なる。すなわち、モータ22aに入力される制御指令値T22と、モータ26aに入力される制御指令値T26の大きさは異なる。したがって、制御指令値T22の大きさ(絶対値)と制御指令値T26の大きさ(絶対値)の差によって歩行ロボット10が正常に接地しているか否かを判定することができる。
【0036】
同様に、図8に示すように、歩行ロボット10が両足で立脚している状態で左脚部16が床面上の障害物に乗り上げていると、足平16cが前側近傍の点Cで障害物と接触し、足平15cが後側近傍の点Dで床面と接触し、歩行ロボット10が後方向に傾く。このような場合にも、モータ20aに前回の周期に出力した制御指令値T20−1の絶対値とモータ24aに前回の周期に出力したT24−1の絶対値の差分値ΔT2が閾値ΔTminよりも大きいか否かを判定することで、歩行ロボット10の前後方向において足平15c、16cが正常に接地しているか否かを判定することができる。
【0037】
したがって、ステップS10では、目標関節角補正部50は、差分値ΔT1が閾値ΔTminよりも大きいか否かを判定する。目標関節角補正部50は、差分値ΔT1が閾値ΔTminよりも大きい場合は、前回の周期における角度補正量ΔθA1−1に所定値を加算し、今回の周期における角度補正量ΔθA1を算出する。そして、算出した角度補正量ΔθA1だけ目標関節角θA22、θA26を補正する(ステップS12)。このとき、目標関節角補正部50は、目標関節角θA22、θA26をモータ22a、26aが駆動している方向と逆方向(例えば、図7の場合はモーメントM1、M2の方向)に補正する。このようにθA22、θA26が補正されて、補正後の目標関節角θA22’、θA26’が算出される。
一方、差分値ΔT1が閾値ΔTminよりも小さい場合は(すなわち、ステップS10でNO)、目標関節角補正部50は、前回の周期の補正量ΔθA1−1と同じ補正量で、目標関節角θA22、θA26を補正し、目標関節角θA22’、θA26’を算出する(ステップS14)。
ステップS16では、目標関節角補正部50は、差分値ΔT2が閾値ΔTminよりも大きいか否かを判定する。目標関節角補正部50は、差分値ΔT2が閾値ΔTminよりも大きい場合は、前回の周期における角度補正量ΔθA2−1に所定値を加算し、今回の周期における角度補正量ΔθA2を算出する。そして、算出した角度補正量ΔθA2だけ目標関節角θA20、θA24を補正する(ステップS18)。このとき、目標関節角補正部50は、目標関節角θA20、θA24をモータ20a、24aが駆動している方向と逆方向に補正する。このようにθA20、θA24が補正されて、補正後の目標関節角θA20’、θA24’が算出される。
一方、差分値ΔT2が閾値ΔTminよりも小さい場合は(すなわち、ステップS16でNO)、目標関節角補正部50は、前回の周期の補正量ΔθA2−1と同じ補正量で、目標関節角θA20、θA24を補正し、目標関節角θA20’、θA24’を算出する(ステップS20)。
【0038】
目標関節角θA20’〜θA26’を算出すると、目標関節角補正部50は算出した目標関節角θA20’〜θA26’をサーボアンプ20d〜26dに出力する(ステップS22)。サーボアンプ20d〜26dは、入力された目標関節角θA20’〜θA26’に応じて、制御指令値T20〜T26を出力する。出力された制御指令値T20〜T26は、モータ20a〜26aにそれぞれ入力され、モータ20a〜26aが駆動される。これによって、関節20〜26の角度が、目標関節角θA20’〜θA26’に応じた角度に制御される。また、サーボアンプ20d〜26dが出力した制御指令値T20〜T26は、目標関節角補正部50に入力される。すると、目標関節角補正部50は、制御指令値T20〜T26を記憶する(ステップ24)。記憶した制御指令値T20〜T26は、次回の周期において、前回の制御指令値T20−1〜T26−1として用いられる。
【0039】
このように、足平15c及び16cが正常に接地していない場合、図6のフローチャートが繰り返し実行されることによって、関節20〜26の角度が徐々に補正される。すると、例えば図7のように接地していた足平15c、16cは、図9に示すように安定した状態となり、図8のように接地していた足平15c、16cは、図10に示すように安定した状態となる。足平15c、16cが安定すると、関節20〜26に過大なモーメントが作用しなくなり、差分値ΔT1、ΔT2が閾値ΔTminより小さくなる。すると、目標関節角補正部50は、それ以上目標関節角θA20〜θA26を補正しない。したがって、足平15c、16cの安定した状態が維持される。
【0040】
また、目標関節角補正部50が、目標関節角θA20〜θA26を補正したときの補正量(ΔθA1,ΔθA2)(すなわち、足首関節補正量データ(ΔθA1,ΔθA2))は、後の処理で制御装置40によって送信アンテナ32に出力される。なお、目標関節角θA20〜θA26のいずれかを補正しなかった場合は、その補正しなかった目標関節角の補正量は0として出力される。
【0041】
(制御装置40が各関節を制御する処理について)
図11は制御装置40が各関節を制御する処理のフローチャートを示している。制御装置40は、図11のフローチャートに示す処理を制御周期毎に繰り返し実行することで、歩行ロボット10の各関節を制御し、歩行ロボット10に所望の動作を実行させる。
また、制御装置40の現在位置算出部54は、所定周期(制御周期より短い周期)で本体11の現在位置(x,y,z)を算出し続ける。また、制御装置40は、後述するステップS48で、そのときの本体11の現在位置(x,y)を現在位置算出部54から読み出す。そして、現在位置(x,y)と目標位置(xA,yA)から位置ずれデータ(Δx,Δy)を算出し、その算出した位置ずれデータ(Δx,Δy)を記憶する。したがって、図11のフローチャートの開始時には、制御装置40は、前回の周期における位置ずれデータ(Δx,Δy)を記憶している。
【0042】
歩行ロボット10の操縦者がコントローラ80のジョイスティック82を操作すると、コントローラ80の送信アンテナ84、歩行ロボット10の受信アンテナ30を介して制御装置40に動作命令データ(すなわち、移動方向、移動速度を指示する命令)が入力される(ステップS30)。動作命令データが入力されると、制御装置40は入力された動作命令データにしたがって目標位置(xA,yA)を算出する(ステップS32)。
【0043】
次に、制御装置40は、算出した目標位置(xA,yA)と、前回の制御周期における目標位置(xA−1,yA−1)と、記憶している前回の制御周期の位置ずれデータ(Δx,Δy)から、目標移動量(dx,dy)を算出する(ステップS34)。
例えば、図12に示すように、点100が前回の周期における目標位置(xA−1,yA−1)であり、点102が本体11の現在位置(x,y)であるとすると、位置ずれデータ(Δx,Δy)は、図12のベクトル104となる。このとき、今回の周期の目標位置(xA,yA)が点106であったとすると、今回の周期の目標移動量(dx,dy)は図12のベクトル108となる。したがって、制御装置40は、以下の計算式によって目標移動量(dx,dy)を算出する。
dx=(xA−xA−1)+Δx
dy=(yA−yA−1)+Δy
【0044】
ステップS36では、制御装置40は、今回の制御周期の間に本体11が目標移動量(dx,dy)だけ移動するように、今回の周期における各関節18〜26の目標関節角θA18〜26を算出する(ステップS36)。このように、各関節18〜26の目標関節角θA18〜θA26が算出されることによって、今回の制御周期における歩行ロボット10の目標姿勢が規定される。制御装置40は、目標関節角θA18〜θA26を算出すると、目標関節角θA18をそれぞれ対応するサーボアンプ18dに出力する(ステップS38)。それと略同時に、制御装置40は、図6のフローチャートを実行して目標関節角θA20〜θA26を補正し、目標関節角θA20’〜θA26’をサーボアンプ20d〜26dにそれぞれ出力する(ステップS40)。これによって、サーボアンプ18d〜26dがモータ18a〜26aに制御指令値T18〜T26を出力し、関節18〜関節26が目標関節角θA18、θA20’〜θA26’に応じた角度に制御される。したがって、歩行ロボット10の本体11は、目標位置(xA,yA)に応じた位置に移動する。
【0045】
歩行ロボット10が動作を実行すると、制御装置40は、ステップS38で算出された歩行ロボット10の目標姿勢から、本体11の目標傾斜角(PA,RA)を算出する。また、制御装置40は、傾斜角センサ70が検出する本体11の現在の傾斜角(P,R)を読取る。そして、算出した目標傾斜角(PA,RA)と現在の傾斜角(P,R)の差分値(ΔP,ΔR)(すなわち、本体11の傾斜角ずれデータ(ΔP,ΔR))を算出する(ステップS42)。
【0046】
次に、制御装置40は、カメラ74から画像データを取得する(ステップS44)。
【0047】
次に、制御装置40は、本体11の現在位置(x,y)を現在位置算出部54から読み出す。そして、読み出した現在位置(x,y)とステップS32で算出した本体11の目標位置(xA,yA)から、本体11の位置ずれデータ(Δx,Δy)を算出する。制御装置40は算出した位置ずれデータ(Δx,Δy)を記憶する(ステップS46)。
【0048】
ステップS48では、制御装置40は、ステップS40で目標関節角θA20〜θA26を補正したときの補正量(足首関節補正量データ(ΔθA1,ΔθA2))、ステップS42で算出した傾斜角ずれデータ(ΔP,ΔR)、ステップS44で取得した画像データ、ステップS46で算出した位置ずれデータ(Δx,Δy)を送信アンテナ32に出力する。すると、送信アンテナ32、コントローラ80の受信アンテナ86を介して、コントローラ80の表示装置88にこれらのデータが入力される。これによって、表示装置88が表示する画像が、新たに入力された各データ(すなわち、歩行ロボット10の現在の制御状態)に基づいた画像に更新される。
【0049】
制御装置40は、図11のフローチャートを制御周期毎に繰り返し実行し、関節18〜26の角度を制御する。したがって、歩行ロボット10は、操縦者がコントローラ80を操作するのに応じて歩行する。
また、制御装置40は、コントローラ80に位置ずれデータ(Δx,Δy)、傾斜角ずれデータ(ΔP,ΔR)、足首関節補正量データ(ΔθA1,ΔθA2)及び画像データを送信する。制御装置40は図11のフローチャートを制御周期毎に繰り返し実行するので、コントローラ80には位置ずれデータ(Δx,Δy)、傾斜角ずれデータ(ΔP,ΔR)、足首関節補正量データ(ΔθA1,ΔθA2)及び画像データが制御周期毎に繰り返し入力される。したがって、コントローラ80の表示装置88の主要部Mにはカメラ74が撮影した画像が略リアルタイムの動画として表示され、表示装置88の上部Nには位置ずれデータ(Δx,Δy)、傾斜角ずれデータ(ΔP,ΔR)、足首関節補正量データ(ΔθA1,ΔθA2)の値が略リアルタイムで表示される(図4参照)。
【0050】
以上に説明したように、本実施例のロボット制御システム8では、コントローラ80の表示装置88は歩行ロボット10のカメラ74で撮影した画像を略リアルタイムの動画として表示する。したがって、歩行ロボット10の操縦者は、表示装置88が表示する画像を確認しながら好適に歩行ロボット10を操縦することができる。
また、ロボット制御システム8では、コントローラ80の表示装置88が位置ずれデータ(Δx,Δy)を略リアルタイムで表示する。位置ずれデータ(Δx,Δy)が大きいことは、歩行ロボット10が障害物に衝突する等して外乱を受け、操縦したとおりに制御されていないことを意味する。したがって、歩行ロボット10の操縦者は、位置ずれデータ(Δx,Δy)の値から歩行ロボット10が外乱を受けているか否かを判断しながら歩行ロボット10を操縦することができる。例えば、歩行ロボット10に外乱が作用していると判断できる場合には、歩行ロボット10の移動速度を小さくして慎重に運転することで、歩行ロボット10を転倒することなく操縦することが可能となる。あるいは、歩行ロボット10の向きを変えることで、歩行ロボット10の周囲の状況をカメラ74で確認する等の対応を採ることができる。したがって、操縦者は、容易に歩行ロボット10を意図通りに操縦することができる。
また、ロボット制御システム8では、コントローラ80の表示装置88が傾斜角ずれデータ(ΔP,ΔR)を略リアルタイムで表示する。傾斜角ずれデータ(ΔP,ΔR)が大きいことは、歩行ロボット10が障害物に衝突したり、歩行ロボット10が障害物に乗り上げたり、歩行ロボット10が歩行する床面が傾斜している等して、歩行ロボット10のバランスが悪いことを意味する。したがって、歩行ロボット10の操縦者は、傾斜角ずれデータ(ΔP,ΔR)の値から、歩行ロボット10のバランス状態が良好であるか否かを判断しながら歩行ロボット10を操縦することができる。したがって、操縦者は、歩行ロボット10のバランス状態に応じて移動速度等を変化させることで、容易に歩行ロボット10を意図通りに操縦することができる。
さらに、ロボット制御システム8では、コントローラ80の表示装置88が足首関節補正量データ(ΔθA1,ΔθA2)を略リアルタイムで表示する。足首関節補正量データ(ΔθA1,ΔθA2)が大きいことは、歩行ロボット10が障害物に乗り上げる等して足平15c、16cが正常に接地していないことを意味する。したがって、歩行ロボット10の操縦者は、足首関節補正量データ(ΔθA1,ΔθA2)の値から、歩行ロボット10の足平15c、16cが正常に接地しているか否かを判断しながら歩行ロボット10を操縦することができる。したがって、操縦者は、歩行ロボット10の足平15c,16cの接地状態から床面の状況等を把握でき、床面の状況等に応じて移動速度等を変化させることで、容易に歩行ロボット10を意図通りに操縦することができる。
【0051】
なお、上述した実施例では、位置ずれ量算出部56で算出した位置ずれデータ(Δx,Δy)を、次回の周期のステップS34で目標移動量(dx,dy)を算出する際に利用した。しかしながら、このように目標移動量(dx,dy)を算出しなくても、歩行ロボット10の位置を制御できる場合(例えば、位置ずれ量に応じて操縦者が微調整を行う場合)には、次回の周期で算出した位置ずれデータ(Δx,Δy)を利用しなくてもよい。
【0052】
また、上述した実施例では、制御指令値T22−1とT26−1の差分値ΔT1(または、制御指令値T20−1とT24−1の差分値ΔT2)に基づいて、足平15c、16cが正常に接地しているか否かを判定した。しかしながら、本発明は、このような実施形態に限られない。例えば、モータ20a〜26aのそれぞれにモータの駆動トルクを検出するトルクセンサを設置し、それらのトルクセンサの検出値に基づいて足平15c、16cが正常に接地しているか否かを判定してもよい。また、足平15c、16cの接地面に足平15c、16cの接地状態を検出するセンサ(例えば、接触式の圧力センサ)を設置してもよい。
また、上述した実施例では、表示装置88で足首関節補正量データ(ΔθA1,ΔθA2)を表示したが、本発明はこのような実施形態に限られない。例えば、表示装置88で制御指令値T22−1とT26−1の差分値ΔT1または、制御指令値T20−1とT24−1の差分値ΔT2を表示してもよい。差分値ΔT1、ΔT2を表示することによっても、足平15c、16cが正常に接地しているか否かを判断することができる。また、モータ20a〜26aのそれぞれにモータの駆動トルクを検出するトルクセンサを設置する場合には、それらのトルクセンサの検出値を表示装置で表示してもよい。また、足平15c、16cの接地面に足平15c、16cの接地状態を検出するセンサを設置する場合には、そのセンサの検出値を表示してもよい。
【0053】
また、上述した実施例では、図4に示すように、足首関節補正量データ(ΔθA1,ΔθA2)、位置ずれデータ(Δx,Δy)、傾斜角ずれデータ(ΔP,ΔR)を棒グラフとして表示したが、図13に示すように表示してもよい。図13では、足首関節補正量データを、ΔθA1を横軸、ΔθA2を縦軸とした座標図として表示し、位置ずれデータを、Δxを横軸、Δyを縦軸とした座標図として表示し、傾斜角ずれデータを、ΔPを縦軸、ΔRを横軸とした座標図として表示している。このように各データを表示すると、歩行ロボット10がどちらの方向にずれているかや傾いているか等が一目で把握でき、操縦者は歩行ロボット10の状態をより正確に把握することができる。
【0054】
また、上述した実施例では、コントローラ80と歩行ロボット10は物理的に隔離していたが、操縦者が歩行ロボットに搭乗した状態で歩行ロボットを操縦するタイプのロボット制御システムにおいては、歩行ロボットにコントローラを搭載してもよい。
【0055】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例をさまざまに変形、変更したものが含まれる。
本明細書または図面に説明した技術要素は、単独であるいは各種の組み合わせによって技術的有用性を発揮するものであり、出願時請求項記載の組み合わせに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【図面の簡単な説明】
【0056】
【図1】ロボット制御システム8の斜視図。
【図2】ロボット制御システム8のブロック図。
【図3】足首関節20〜26の拡大図。
【図4】コントローラ80の表示画面を示す図。
【図5】図2のX部の詳細を示すブロック図。
【図6】モータ20a〜26aに制御指令値T20〜T26を出力する際の処理を示すフローチャート。
【図7】足平15c、16cの接地状態の説明図。
【図8】足平15c、16cの接地状態の説明図。
【図9】足平15c、16cの接地状態の説明図。
【図10】足平15c、16cの接地状態の説明図。
【図11】歩行ロボット10の各部を制御する際の処理を示すフローチャート。
【図12】目標移動量(dx,dy)の説明図。
【図13】他の実施例のコントローラ80の表示画面を示す図。
【符号の説明】
【0057】
8:ロボット制御システム
10:歩行ロボット
11:本体
12:頭部
13:右腕部
14:左腕部
15:右脚部
15a:上腿部
15b:下腿部
15c:足平
16:左脚部
16a:上腿部
16b:下腿部
16c:足平
18〜26:関節
18a〜26a:モータ
18b〜26b:エンコーダ
20c〜26c:回転軸
18d〜26d:サーボアンプ
30:受信アンテナ
32:送信アンテナ
40:制御装置
42:目標位置算出部
44:目標移動量算出部
48:目標関節角算出部
50:目標関節角補正部
52:傾斜角ずれ量算出部
54:現在位置算出部
56:位置ずれ量算出部
70:傾斜角センサ
72:加速度センサ
74:カメラ
80:コントローラ
82:ジョイスティック
84:送信アンテナ
86:受信アンテナ
88:表示装置
【特許請求の範囲】
【請求項1】
オペレータがコントローラを操作することによって移動ロボットを操縦するロボット制御システムであって、
コントローラは、
移動ロボットに動作命令を入力する入力手段と、
オペレータに移動ロボットの制御状態を表示する表示手段を有しており、
移動ロボットは、
本体と、
本体を移動させる移動手段と、
移動ロボットの姿勢状態を検出する検出手段と、
コントローラから入力された動作命令に基づいて、所定時間が経過した時の移動ロボットの姿勢状態の目標値を決定する目標値決定手段と、
前記所定時間経過時に移動ロボットの姿勢状態が決定された目標値が示す状態となるように移動手段を制御する制御手段と、
前記所定時間経過時に検出手段が検出した姿勢状態と目標値との差分値を算出する差分値算出手段とを有しており、
表示手段は移動ロボットが算出した差分値に基づいた指標を表示することを特徴とするロボット制御システム。
【請求項2】
検出手段は、本体の位置を検出し、
目標値決定手段は、入力された動作命令に基づいて所定時間経過時の本体の目標位置を決定し、
制御手段は、前記所定時間経過時に本体が目標位置に移動するように移動手段を制御し、
差分値算出手段は、前記所定時間経過時に検出手段が検出した本体の位置と目標位置との差分値を算出することを特徴とする請求項1に記載のロボット制御システム。
【請求項3】
目標値決定手段は、所定周期で本体の目標位置を決定し、
制御手段は、目標値決定手段が決定した今回の周期の目標位置と前回の周期で差分値算出手段が算出した差分値に基づいて、移動手段を制御することを特徴とする請求項2に記載のロボット制御システム。
【請求項4】
検出手段は、本体の傾斜角を検出し、
目標値決定手段は、入力された動作命令に基づいて所定時間経過時の本体の目標傾斜角を決定し、
制御手段は、前記所定時間経過時に本体の傾斜角が目標傾斜角となるように移動手段を制御し、
差分値算出手段は、前記所定時間経過時に検出手段が検出した本体の傾斜角と目標傾斜角との差分値を算出することを特徴とする請求項1に記載のロボット制御システム。
【請求項5】
オペレータがコントローラを操作することによって、本体と本体に接続された第1の脚部及び第2の脚部を備えた歩行ロボットを操縦するロボット制御システムであって、
コントローラは、
歩行ロボットに動作命令を入力する入力手段と、
オペレータに歩行ロボットの制御状態を表示する表示手段を有しており、
歩行ロボットは、
第1脚部の接地部の角度を変更する第1足首関節と、
第1足首関節を駆動する第1のアクチュエータと、
第2脚部の接地部の角度を変更する第2足首関節と、
第2足首関節を駆動する第2のアクチュエータと、
入力された動作命令に基づいて、各足首関節の目標角度を決定する目標角度決定手段と、
各脚部の接地状態を検出する検出手段と、
各脚部の接地状態に基づいて、第1足首関節及び第2足首関節の目標角度を補正する補正手段と、
目標角度が補正されている足首関節については、その関節が補正後の目標角度となるようにその関節を駆動するアクチュエータを制御し、目標角度が補正されていない足首関節については、その関節が決定された目標角度となるようにその関節を駆動するアクチュエータを制御する制御手段を有しており、
表示手段は第1足首関節及び/または第2足首関節の角度補正量に基づいた指標を表示することを特徴とするロボット制御システム。
【請求項1】
オペレータがコントローラを操作することによって移動ロボットを操縦するロボット制御システムであって、
コントローラは、
移動ロボットに動作命令を入力する入力手段と、
オペレータに移動ロボットの制御状態を表示する表示手段を有しており、
移動ロボットは、
本体と、
本体を移動させる移動手段と、
移動ロボットの姿勢状態を検出する検出手段と、
コントローラから入力された動作命令に基づいて、所定時間が経過した時の移動ロボットの姿勢状態の目標値を決定する目標値決定手段と、
前記所定時間経過時に移動ロボットの姿勢状態が決定された目標値が示す状態となるように移動手段を制御する制御手段と、
前記所定時間経過時に検出手段が検出した姿勢状態と目標値との差分値を算出する差分値算出手段とを有しており、
表示手段は移動ロボットが算出した差分値に基づいた指標を表示することを特徴とするロボット制御システム。
【請求項2】
検出手段は、本体の位置を検出し、
目標値決定手段は、入力された動作命令に基づいて所定時間経過時の本体の目標位置を決定し、
制御手段は、前記所定時間経過時に本体が目標位置に移動するように移動手段を制御し、
差分値算出手段は、前記所定時間経過時に検出手段が検出した本体の位置と目標位置との差分値を算出することを特徴とする請求項1に記載のロボット制御システム。
【請求項3】
目標値決定手段は、所定周期で本体の目標位置を決定し、
制御手段は、目標値決定手段が決定した今回の周期の目標位置と前回の周期で差分値算出手段が算出した差分値に基づいて、移動手段を制御することを特徴とする請求項2に記載のロボット制御システム。
【請求項4】
検出手段は、本体の傾斜角を検出し、
目標値決定手段は、入力された動作命令に基づいて所定時間経過時の本体の目標傾斜角を決定し、
制御手段は、前記所定時間経過時に本体の傾斜角が目標傾斜角となるように移動手段を制御し、
差分値算出手段は、前記所定時間経過時に検出手段が検出した本体の傾斜角と目標傾斜角との差分値を算出することを特徴とする請求項1に記載のロボット制御システム。
【請求項5】
オペレータがコントローラを操作することによって、本体と本体に接続された第1の脚部及び第2の脚部を備えた歩行ロボットを操縦するロボット制御システムであって、
コントローラは、
歩行ロボットに動作命令を入力する入力手段と、
オペレータに歩行ロボットの制御状態を表示する表示手段を有しており、
歩行ロボットは、
第1脚部の接地部の角度を変更する第1足首関節と、
第1足首関節を駆動する第1のアクチュエータと、
第2脚部の接地部の角度を変更する第2足首関節と、
第2足首関節を駆動する第2のアクチュエータと、
入力された動作命令に基づいて、各足首関節の目標角度を決定する目標角度決定手段と、
各脚部の接地状態を検出する検出手段と、
各脚部の接地状態に基づいて、第1足首関節及び第2足首関節の目標角度を補正する補正手段と、
目標角度が補正されている足首関節については、その関節が補正後の目標角度となるようにその関節を駆動するアクチュエータを制御し、目標角度が補正されていない足首関節については、その関節が決定された目標角度となるようにその関節を駆動するアクチュエータを制御する制御手段を有しており、
表示手段は第1足首関節及び/または第2足首関節の角度補正量に基づいた指標を表示することを特徴とするロボット制御システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2008−87109(P2008−87109A)
【公開日】平成20年4月17日(2008.4.17)
【国際特許分類】
【出願番号】特願2006−271081(P2006−271081)
【出願日】平成18年10月2日(2006.10.2)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】
【公開日】平成20年4月17日(2008.4.17)
【国際特許分類】
【出願日】平成18年10月2日(2006.10.2)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】
[ Back to top ]