JP5910647B2 - 移動ロボットの移動制御方法 - Google Patents

移動ロボットの移動制御方法 Download PDF

Info

Publication number
JP5910647B2
JP5910647B2 JP2014029793A JP2014029793A JP5910647B2 JP 5910647 B2 JP5910647 B2 JP 5910647B2 JP 2014029793 A JP2014029793 A JP 2014029793A JP 2014029793 A JP2014029793 A JP 2014029793A JP 5910647 B2 JP5910647 B2 JP 5910647B2
Authority
JP
Japan
Prior art keywords
trajectory
mobile robot
contact point
center
gravity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014029793A
Other languages
English (en)
Other versions
JP2015150678A (ja
Inventor
将弘 土井
将弘 土井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2014029793A priority Critical patent/JP5910647B2/ja
Priority to US14/618,184 priority patent/US9327399B2/en
Priority to CN201510083619.8A priority patent/CN104842360B/zh
Publication of JP2015150678A publication Critical patent/JP2015150678A/ja
Application granted granted Critical
Publication of JP5910647B2 publication Critical patent/JP5910647B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1605Simulation of manipulator lay-out, design, modelling of manipulator
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62DMOTOR VEHICLES; TRAILERS
    • B62D57/00Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track
    • B62D57/02Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members
    • B62D57/032Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members with alternately or sequentially lifted supporting base and legs; with alternately or sequentially lifted feet or skid

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Transportation (AREA)
  • Automation & Control Theory (AREA)
  • Robotics (AREA)
  • Manipulator (AREA)

Description

本発明は、移動ロボットの制御に関する。より具体的には、移動ロボットが安定に移動できるような軌道を生成するための軌道生成技術に関する。
自律的に移動する機能を備えたロボットが開発されており、典型的には、二足歩行する脚式ロボットがある。二足歩行ロボットにあっては、ZMPを用いた軌道生成と動作制御により、安定な二足歩行移動が実現されている(例えば特許文献1)。
特開2005−177884号公報 特許第5034235号公報 特許第3269852号公報
これからのロボットには様々な環境で活躍することが期待されている。例えば、サービスロボットは人と同じ住空間で活動することが期待される。住空間のような環境でロボットが移動するためには、単に脚式の二足歩行ができるだけでは不十分であると考えられる。例えば、図1のような状況が考えられる。図1において、テーブルが壁の近くにあり、そして、テーブルの奥側において壁に近い方にボトルが置かれている。ロボットがこのボトルを掴むためには、単に二足歩行で進むだけでは無理である。ロボットは、壁やテーブルに手を着きながら移動したり、体を傾けて手を伸ばしたりしなければならない。このように、サービスロボットには、複数の任意の点で環境と接触しながら運動を行える能力が必要である。
今後の説明のために、複数の任意の点で環境と接触しながら運動(移動)することを、本明細書では「多点接触移動」と称することにする。
多点接触移動に対応すべく開発された制御システムが例えば特許文献2に開示されている。(ただし、特許文献2に開示されている方法で滑らかな多点接触移動を実現できるとは言えず種々の問題を抱えている。詳しくは実施形態のなかで説明する。)
多点接触移動を実現するサービスロボットの実用化にあたっては安定性の向上が肝要である。実機を実際に運用すれば、ロボットの姿勢が想定からずれていくことも考慮に入れておかなければならない。関節が指令通りに動かないこともあるし、誤差が累積していくこともある。あるいは、人とロボットとが同じ空間にいれば、ロボットに人や物が接触することもある。何らかの外乱によってロボットの姿勢が想定からずれてしまってきているにもかかわらず、計画された通りの位置に手足を着地(着手)していては安定が保てず、制御が破綻(発散)してしまうのは明らかである。つまり、重心が想定よりも傾き始めているにも関わらず、計画通りに手足を着くと、重心がさらにどんどん倒れていくことになる。
ロボットの姿勢が想定からずれてきた場合には、着地点を計画から変更して重心の安定を保つようにすることが考えられよう。二足歩行のロボットにあっては、遊脚の着地位置を変更することによって安定性を向上させること、つまり、予定していた着地位置を変更して転倒を回避する技術がいくつか知られている(例えば特許文献3)。
従来の人型ロボットの安定化手法は大多数が2足歩行の安定化に関する技術であり、多点接触移動に対応するための技術はこれまであまり開発されてこなかった。2足歩行も単脚状態と両脚状態とが切り替わりながら移動していく動作であるので多点接触移動の一種と言える。しかし、2足歩行の技術と多点接触移動の技術とで大きく違う点がある。2足歩行技術は多くの場合(ZMPがその代表格)、各接触点(2足で言うと左足と右足)が同一平面内に含まれていることを前提にしている。(このことは、例えば、特許文献2の段落0012にも記載されている。)すなわち、ZMP制御では、本来的には合計6次元である力・モーメントのうち2次元の情報しか表現できておらず、極めて限定された接触状態の遷移しか扱うことができないのである。これまでのようにZMPをベースにした安定化技術では、多点接触移動の場合を原理的に解くことができない。すなわち、“接触点計画に従って多点接触移動を行いつつ、必要に応じて接触点の位置を変更して安定性を向上させる”という技術はこれまでなかった。(特許文献はもちろん、学術論文にまで調査範囲を広げても上記技術を開示した文献は無い。)
本発明の目的は、接触点計画に基づいて自動的に安定な軌道を生成する移動ロボットの制御方法を提供することにあり、詳細には、接触点計画に従って多点接触移動を行いつつ必要に応じて接触点の位置を変更して安定性を向上させる移動ロボットの制御方法を提供することにある。
本発明の移動ロボットの移動制御方法は、
二以上の移動手段を交互に接地しながら移動する移動ロボットの移動制御方法であって、
前記移動手段が接地する接触点の位置を時系列のデータとした接触点計画を設定する接触点計画設定工程と、
前記接触点計画設定工程で設定したように前記移動手段を接触点に接地しながら移動するための軌道を生成する軌道生成工程と、を備え、
前記軌道生成工程は、
軌道が発散する場合には接触点の位置を変更する工程を含む
ことを特徴とする。
本発明では、
前記軌道生成工程は、
移動ロボットへの制御入力と移動ロボットの運動との関係を記述する予測モデルを構築して、この予測モデルによって所定時間幅の予測区間における移動ロボットの状態変化を表わし、
前記予測区間において、力学的釣り合いに基づく制約条件と所定の安定性評価基準とを用いて移動ロボットの安定性を確保できる制御入力の時系列データを求め、
この求まった制御入力と前記予測モデルとから、移動ロボットの軌道を得るものであり、
前記制約条件に制約を緩和するスラック変数を含めるとともに、
前記安定性評価基準にスラック変数を含ませるにあたって、制約条件下で安定な軌道が求解できる場合には前記スラック変数ができるかぎり実質的にゼロになり、制約条件下で軌道が発散する場合にはスラック変数に実質的にゼロ以上の値が発生するようにし、
さらに、発生したスラック変数の値を打ち消すように接触点の位置を変更する工程を含む
ことが好ましい。
本発明では、
前記制約条件にスラック変数を含めるにあたっては、
移動ロボットの重心のX軸回りモーメントの釣合い式と、移動ロボットの重心のY軸回りモーメントの釣合い式と、にそれぞれスラック変数を導入する
ことが好ましい。
ただし、X軸およびY軸は、鉛直方向であるZ軸に垂直な面内で互いに直交する軸である。
本発明では、
前記予測区間を、位置を変更できる接触点が無い調整不能サブ区間と、位置を変更できる接触点が一つ以上有る調整可能サブ区間と、に区別し、
前記調整可能サブ区間にのみ実質的にゼロ以上のスラック変数が発生することを許容する
ことが好ましい。
本発明では、
前記制約条件の式には、移動ロボットの重心鉛直軌道と重心回りモーメント軌道とを含んでおり、
前記軌道生成工程は、
予測区間内において、移動ロボットの重心鉛直軌道と重心回りモーメント軌道とを一度仮設定する工程と、
前記安定性評価基準の関数を制約条件のもとで一度求解した後、その結果に応じて、予測区間内において移動ロボットの動作が安定するように接触点の変更および重心鉛直軌道と重心回りモーメント軌道との修正を行い、
変更後の接触点位置、修正した重心鉛直軌道および重心回りモーメント軌道を用いて少なくとも一回以上、前記安定性評価基準の関数の求解を再計算する
ことが好ましい。
本発明では、
前記軌道生成工程において予測区間内で軌道を求め、
この予測区間の最初の一点のデータを現在の入力値として移動ロボットを駆動させ、
予測区間を微小時間だけ進めて、前記軌道生成工程を繰り返す
ことが好ましい。
本発明の移動ロボットは、
二以上の移動手段を交互に接地しながら移動する移動ロボットであって、
前記移動手段が接地する接触点の位置を時系列のデータとした接触点計画を設定する接触点計画設定部と、
前記接触点計画設定部で設定したように前記移動手段を接触点に接地しながら移動するための軌道を生成する軌道生成部と、を備え、
前記軌道生成部は、
軌道が発散する場合には接触点の位置を変更する
ことを特徴とする。
本発明では、
前記軌道生成部は、
移動ロボットへの制御入力と移動ロボットの運動との関係を記述する予測モデルを構築して、この予測モデルによって所定時間幅の予測区間における移動ロボットの状態変化を表わし、
前記予測区間において、力学的釣り合いに基づく制約条件と所定の安定性評価基準とを用いて移動ロボットの安定性を確保できる制御入力の時系列データを求め、
この求まった制御入力と前記予測モデルとから、移動ロボットの軌道を得るものであり、
前記制約条件に制約を緩和するスラック変数を含めるとともに、
前記安定性評価基準にスラック変数を含ませるにあたって、制約条件下で安定な軌道が求解できる場合には前記スラック変数ができるかぎり実質的にゼロになり、制約条件下で軌道が発散する場合にはスラック変数に実質的にゼロ以上の値が発生するようにし、
さらに、発生したスラック変数の値を打ち消すように接触点の位置を変更する
ことが好ましい。
本発明によれば、設定された接触点の計画に基づいて移動ロボットが自動的に安定な重心軌道を生成して自律的に移動できる。このとき、必要な分だけ接触点を変更することで制御の破綻を回避し、安定性を向上させることができる。
ロボットの動作の一例を示す図。 移動ロボットの機械構成の一例を示す図。 移動ロボットの機能ブロック図。 6軸力を示す図。 コントローラの機能ブロック図。 接触点計画の概要の一例を示す図。 接触点計画の一例を示す図。 予測区間の例を示す図。 予測区間での動きを表わした図。 予測区間のシフトを説明するための図。 予測に用いる移動ロボットのモデルを示す図。 予測区間の離散化を説明するための図。 接触点の座標系と接触多角形とを示す図。 接触点が不安定化する場合を例示した図。 接触点位置の変更が無理である場合を例示した図。 接触位置の変更が可能である場合を例示した図。 接触点位置の変更量を例示した図。 個別の接触点に対して位置の変更量を定義する様子を例示した図。 移動ロボットの移動制御方法の全体フローを示す図。 軌道生成工程の手順を説明するための詳細なフローチャート。 軌道生成工程の手順を説明するための詳細なフローチャート。 軌道生成工程の手順を説明するための詳細なフローチャート。 移動ロボットの多質点モデルを示す図。 手先、足先の軌道を補間した様子を示す図。 4足歩行で手足の着き方がランダムであるような接触点計画を示す図。 外乱が無いとした場合の実行結果のスナップショットを示す図。 重心位置、反力中心の位置、および、接触点の鉛直方向荷重、を示したグラフ。 外乱が入る場合の実行結果のスナップショットを示す図。 重心位置、反力中心の位置、および、接触点の鉛直方向荷重、を示したグラフ。 スラック変数値のグラフを示す図。 変形例を示す図。
本発明の実施形態を図示するとともに図中の各要素に付した符号を参照して説明する。
(第1実施形態)
本実施形態は移動ロボット制御装置に特徴があり、具体的には、移動ロボットの移動動作を制御するための軌道生成に特徴を有するのであるが、具体的な制御(軌道生成)を説明する前に、制御対象となる移動ロボットのハードウェア構成について予め説明しておく。
図2は、移動ロボットの機械構成の一例を示した図である。
移動ロボット100は、股関節が3軸、膝関節が1軸、足首関節が2軸、さらに、肩関節が3軸(肩ピッチ、肩ロール、肩ヨー)、肘関節が1軸(肘ピッチ)、および、手首関節が3軸(手首ヨー、手首ピッチ、手首ロール)、で夫々構成されている。
(移動ロボットの機械構成はこれに限定されないが、手(腕)の自由度は6以上、足(脚)の自由度も6以上は必要である。)
移動ロボット100は、各関節にエンコーダ付きモータ1、2、・・・、28を有している。
各関節のモータ(関節駆動手段)1a、2a、・・・、28a(図3)は、各関節の関節角度θ1、θ2、・・・、θ28を調整できる。
一方、各関節のエンコーダ(関節角度検出手段)1b、2b、・・・、28bは、各関節の関節角度θ1、θ2・・・、θ28を計測することができる。
また、移動ロボット100は、足先部(足平部)および手先部(手の平部)に接触力センサ25を有している。
ここで接触力とは6軸力であり、図4に示すように、x軸、y軸およびz軸方向の力fの組(f、f、fと、x軸回り、y軸回りおよびz軸回りの力τの組(τ、τ、τと、である。
(なお、x軸およびy軸は、鉛直方向であるz軸に垂直な面内で互いに直交する軸とする。)
この移動ロボットは、移動時に、右足、左足、右手および左手のうちの一つ以上を床、壁、あるいはテーブルなどに接触させながら移動する。
そこで、本明細書の以下の説明では、右足、左足、右手および左手を接触点候補と称することがある。
また、手先、足先というのは、すなわち、移動手段のことである。
図3は、移動ロボット100の機能ブロック図である。
移動ロボット100は、各関節のモータ1a〜24a及びエンコーダ1b〜24bと、力センサ25と、コントローラ210と、を備えている。
コントローラ210には、各関節のエンコーダ1b〜24b及び力センサ25から、センサ検出値が入力される。また、コントローラ210は、各関節のモータ1a〜24aに対して駆動信号を出力する。
コントローラ210は、主要なハードウェア構成として、制御処理、演算処理等を行うCPU(Central Processing Unit)210aと、CPU210aによって実行される制御プログラム、演算プログラム等が記憶されたROM(Read Only Memory)210bと、処理データ等を一時的に記憶するRAM(Random Access Memory)210cと、を有するマイクロコンピュータにより構成されている。また、これらCPU210a、ROM210b、及びRAM210cは、データバス210dによって相互に接続されている。必要なプログラムを不揮発性記録媒体に記録しておき、必要に応じてインストールするようにしてもよい。
コントローラ210の機能ブロック図を示すと図5のようになる。
コントローラ210は、ユーザから指令される接触点計画を格納する接触点計画設定部221と、安定に実行できる軌道を生成する軌道生成部222と、生成された軌道に従って移動ロボット100の全身動作を実行させる動作制御部223と、を有する。
ここで、軌道生成部222は、接触点計画に従った動作を実行できる軌道を生成するのであるが、軌道生成には必要に応じた接触点変更を含む。
これら機能部の具体的な処理動作については後述する。
(多点接触移動のための軌道生成方法)
本発明のポイントは、(1)多点接触移動を実現できる軌道を生成し、かつ、(2)必要に応じて接触点の変更を行うこと、にあり、本件出願時点において本願が権利請求したいポイントはどちらかといえば後段、つまり、多点接触移動の安定性を向上させるように接触点を変更(修正)できるようにすること、にある。
しかし、多点接触移動のための軌道生成方法が現時点において公知技術とも言えないので、まず、(1)多点接触移動を実現できる軌道を生成するための方法を説明する。
なお、本出願人は、特願2013-254989(平成25年12月10日出願)においてこの方法を出願しているが、未だ公開されていない。
ちなみに、前述のように特許文献2(特許5034235号)には多点接触移動に対応すべく開発された制御システムが記載されている。
本願としては、特許文献2の方法で多点接触移動の軌道を生成しつつ、さらに後述する方法で接触点修正を行ってもよい。
(もっというと、本発明の主眼は「(2)必要に応じて接触点の変更を行うこと」にあるのであるから、特許文献2の方法に限らず多点接触移動を実現できれば軌道生成のための個別具体的な方法は限定されない。)
つまり、本願としては軌道生成方法として特許文献2の方法を排除するわけではないのだが、特許文献2の方法には次のような問題があることを指摘しておく。
特許文献2に開示の技術では、接触点の計画だけではなく、目標重心位置や目標運動量を与えないと安定な軌道を作れないという問題がある。
そもそも、将来の目標重心位置を予め知ることはできないのであり、制御目標値として未知であるはずの将来の重心位置をユーザが設定するというのは無理がある。
ユーザとしてはロボットに接触点の計画だけを与え、あとは、ロボットが設定された接触点の計画に基づいて自動的に安定な重心軌道を生成して自律的に移動してくれることが望ましい。
また、特許文献2に開示の技術では、接触点の切替(接触状態の遷移)に伴う力の変化が急峻になってしまい、滑らかな力の遷移が実現できないという問題もある。
さて、移動ロボットに多点接触移動を安定して行わせるためには、時々刻々と移り変わっていく接触点に応じて接触力を滑らかに適切に分配し、なおかつ、安定な重心軌道を生成する技術が必要である。
このために本発明者はモデル予測制御を用いることを試みた。
最初にモデル予測制御の概要を説明しておく。
(モデル予測制御の概要説明)
例えば図1に図示したような移動動作をロボットに行わせたいとする。
ここでは、2本の腕と2本の脚とを有する人型ロボットに、テーブルの奥側にあるボトルを掴ませるという一連の動作を想定する。
この場合、ユーザは、この一連動作(タスク)を実行できるような接触点計画を作成する。
つまり、図6のように、手先および足先を、どの順番で、どこに、どのように、着くか、という計画を作成する。
図6においては、床、壁およびテーブルにおいて足先および手先を接触させる箇所にマークを付けている。
この接触点計画は、具体的には図7のようになる。
接触点計画は、左手(LH)、右手(RH)、左足(LF)および右足(RF)に関し、どの順番で、どこに、どのように、着いていくか、という時系列のデータである。
図1、図6および図7の対応関係を簡単に説明する。
当初(t0)左足1本だけで立ち、遊脚である右足を前に振り出し、そして、右足を着地させる(t1)。
この動きの計画を移動ロボットに指令するには、左足が最初に着地している床上の接触点の座標PLF1、そのときの左足の姿勢rLF1、そして、右足が着地する床上の接触点の座標PRF1、そのときの右足の姿勢rRF1、を指定することが必要である。
ここで、接触点の座標は、空間座標としてP=(P、P、P)の組で表わされる。
また、姿勢というのは、接触点に着地したときの足の裏面の向きであり、例えばオイラー角の組としてr=(r、r、r)として表わされる。
(すなわち、r、rおよびrは、ロール、ピッチおよびヨー角をそれぞれ表わす。)
足に関する接触点の座標およびそのときの姿勢を指令する形式は今後の説明でも同様なので、以後は適宜説明を省略する。
両足で立った後、左足を振り出し(t)、左足を前方に着地する(t)。
その間に、左手を壁に着くようにする(t)。
ここで、左手を着く壁上の接触点の座標PLH1、および、そのときの左手の姿勢rLH1を指定する。
この接触点の座標は空間座標としてP=(P、P、P)の組で表わされ、姿勢は接触点に着いたときの手の平の向きとしてオイラー角の組としてr=(r、r、r)として表わされる。
これ以降の接触点計画は図1、図6および図7を対比して頂ければ自明と思われるので省略する。
このようにしてユーザにより接触点計画が時系列のデータとして作成される。
このように作成された接触点計画が移動ロボットに入力されると、移動ロボットはこの接触点計画を実現するように軌道を生成して自律的に移動する。
このとき、軌道生成にあたって、移動ロボットはモデル予測制御を行う。
すなわち、ある時間幅を持った予測区間内で移動ロボットが安定移動できる軌道を生成し、予測区間を微小時間(Δt)ずつシフトさせながら安定動作を行える軌道を順次更新していくようにする。
例えば、図8に予測区間の例を示す。
現在から所定時間(例えば1.6秒)先の未来までを予測区間として設定する。
そして、この予測区間の間で発散しないように安定な軌道を生成する。
この予測区間での動きをイメージしたものが図9である。
このように、ある時間幅を持つ予測区間で安定な軌道を生成した上で、最初の一点だけを現在の入力値として使用する。
次の軌道更新周期(Δt秒後)には予測区間をシフトさせ、新たな予測区間において同様に安定な軌道を生成する(図10参照)。
現在だけ、あるいは、現在から次ぎの制御周期(Δt秒)まで、だけを見るのではなく、上記のように、ある程度の未来までを予測区間とし、この予測区間内で発散しない軌道を生成するようにする。
これを繰り返すことで移動ロボットは安定に移動することができる。
さて、ここで問題なのは、ある時間幅を持った予測区間のなかで時々刻々と移り変わっていく接触点に応じて接触力を滑らかに適切に分配し、なおかつ、安定な重心軌道を生成するにはどのようにすればよいか、ということである。
本発明者らは、ある予測区間における安定軌道の生成問題を凸二次計画問題(Quadratic Programming: QP)に帰着させるという着想を得た。
具体的には、各接触点における接触力の二乗和と、前記6軸力の微分値の二乗和と、を含む評価関数Jを最小化するという問題を解くことで、多点接触移動の安定軌道を求める。
そこで、次に、この評価関数Jの導出およびその解法(凸二次計画問題への帰着)を説明する。
この解法により、ある予測区間内で安定な多点接触移動を実現するための、重心位置、重心速度、接触力および接触力の微分値の時系列データが得られることを示す。(ここからの説明では、まず、接触点計画で指示された通りの位置(接触点)に手足を着くことだけを考える。つまり、接触点を変更することは考えない。必要に応じて接触点を変更してもいいようにするには条件式や評価式を緩和するなどの処置が必要になるが、これについてはさらに後ほど詳しく説明する。)
予測に用いる移動ロボットのモデルを改めて図11に示す。
移動ロボット全体の慣性を一つの重心Gで表わす。各接触点には6軸力を定義する。
この時、重心Gの並進運動量をP、重心回りの回転運動量(角運動量)をL、接触点の数をnとすると、運動方程式は次のように書ける。
添え字iは接触点のインデックスを表す。
例えば接触点の候補が左手、右手、左足、右足の4点であれば、n=4(左手:LH=1、右手:RH=2、左足:LF=3、右足:RF=4)とすればよい。ただし、床や壁に接触していない接触点候補については接触力を0にするように拘束条件を設定しておく。例えば図11の例であれば次のようにする。
(1)式の第1式、第2式を微分すると次の式が得られる。((1)式はベクトルで表現しているが、これをx、y、zに分解した上で、上から順に第1式、第2式・・・第6式と称する。)
本実施形態では、この2式をシステムとして用いる。そして、(1)式の第3から第5式を拘束条件として定式化する。
さらに、予測区間内を図12のように、N個の区間に分割し、(3)式、(4)式を離散化する。(3)式を離散化すると次のようになる。
また、サンプリング点で常に(4)式の拘束が成り立つとすると、(4)式は次のように離散化される。
ここで、パラメータを次ぎのように置く。
θは、6軸力としての接触力を並べたベクトルである。そして、xは、重心Gのx座標、重心Gのx軸方向速度、重心Gのy座標、重心Gのy軸方向速度、および、各接触点における接触力(6軸力)、を並べたベクトルである。このxを、状態変数xと称する。さらに、uは、接触力(6軸力)の微分値を並べたベクトルである。
このようにパラメータを設定すると、(5)式を次ぎのように記述することができる。
この(8)式は、(j+1)のときの状態変数xを、その一つ前の状態で記述できることを表わしている。(8)式を用いて予測区間内の状態変数xを順に計算していくと次のようになる。
したがって、時系列的に求められる状態変数xを並べて大文字のXで表わすと、状態変数の時系列データXを次のように表わすことができる。
この(10)式は、接触力の微分値(U[k])を入力として、ある予測区間内における移動ロボットの状態遷移を表わす予測モデルとなる。
さて、ここで、本発明者らは、予測区間内において安定な軌道を生成するために次ぎのような評価関数Jを導入した。
なお、Q、Rは、適宜設定した重みである。
重みの意味や接触点候補にどのように重みを配分するかなどの考え方については後ほど詳しく説明する。ここでは、例えば、接触点候補すべてに力を均等配分すると考えて、Qはすべて1とし、Rはすべて1×10−6とするようなことをイメージして頂ければよい。
ここで、θは、6軸力としての接触力の成分を並べたベクトルであった。θ(・)は、接触力成分の微分値を並べたベクトルである。(後ろにカッコで付けたドットは微分を表わすと解釈されたい。)したがって、(11)式は、「予測区間内で、接触力(6軸力)と接触力(6軸力)微分値との2乗和を最小化する」という意味の式である。(11)式の第1項は、接触力(6軸力)の2乗和を最小化することを意味する。
この第1項には、次の作用が含まれている。
(1)各接触点への接触力を均等分配すること。これにより、重心をできる限り安定な位置に動かすという効果がある。
(2)不必要な内力を打ち消すこと。
(3)接触点の接地安定性を高めること。すなわち、接触面内の反力中心点を接触面の中心に設定するという効果がある。
また、(11)式の第2項は、接触力(6軸力)微分値(6軸力の時間変化率)の2乗和を最小化することを意味する。
この第2項には次の作用が含まれている。
(1)重心の発散を抑制すること。
(2)滑らかに接触力を切り替えていくこと。
これらをQ、Rという重みによって適切に足し合わせることによって、この評価関数Jを最小化するということは、
「高い接触安定性、滑らかな接触力遷移、最低限の内力、といった条件を満たしながら、安定な重心軌道と各接触点の接触力とを出力する」
ということを意味することとなる。
(11)式を離散化すると次の式が得られる。
ここで、接触力(6軸力)については状態変数xに含まれているので、(7)式を変形すると次のようになる。
したがって、(12)式の一つめのシグマの計算は次ぎのようになる。
したがって、(12)式は次のようになる。
さらに、(10)式を用いることで評価関数Jを次のように定式化することができる。
次に拘束条件について考える。
拘束条件としては、
(2)式のように非接触の接触点候補に対して6軸力が0という拘束、
(6)式の鉛直方向の力の釣り合いの拘束、および、
(6)式のxy軸回りのモーメントの釣り合いの拘束、
が予測区間の全サンプリング点に渡って成り立つ必要がある。
ここで、例えば、あるサンプリング点jにおいて、i番目とi+2番目の接触点が非接触であったとする。
この時、(2)式および(6)式は次のように記述できる。
ここで、係数行列C[j]、d[j]の成分はサンプリング点によって異なるが、接触点候補の接触/非接触といった情報や接触点位置は既に与えられている。
重心鉛直軌道(Gz[j])や重心回りモーメント(Lx(・)[j]、Ly(・)[j])については詳しくは後述するが、ここでは、差し当って次ぎのように理解されたい。
もしも、重心鉛直軌道や重心回りモーメントが定まっていない場合には仮の値を設定して利用する。例えば、一つ前の制御サイクルで用いた重心鉛直軌道、重心回りモーメントを仮の値として利用してもよい。
もしくは、重心鉛直軌道、重心回りモーメントは予測区間内においては現時点の状態から動かない、と仮設定してもよい。
そして、仮の値で一度計算したあとで、得られた結果を用いて重心鉛直軌道、重心回りモーメントを更新し、求解を繰り返す。
このようにして、重心鉛直軌道や重心回りモーメントについても既知の値として計算を進行させ、ずれについては更新計算のなかで修正するとする。
さて、(17)式が未来の全サンプリング点で成り立つためには、次式が成り立つ必要がある。
この式に(10)式を代入する。
最後に、接触点が安定して接触を保つ為の条件を導入する。
図13に接触点の座標系(上添え字l(エル)がついている)と、接触多角形(接触点の支持多角形)と、を示した。
接触点の座標系は、接触点を原点とし、かつ、接触面の姿勢rに合わせて定義されているとする。
ここで、接触点の座標系で定義される接触力(6軸力)θ を次のように表わす。
θ =[fix 、fiy 、fiz 、τix 、τiy 、τiz
すると、接触力(6軸力)θ は、接触面の姿勢行列Φ=rot(r)を用いて次ぎのように表現できる。
なお、rotは、オイラー角を姿勢行列に変換する関数である。
接触点が安定して接触を保つ為には、
(1)接触点が離れないこと、
(2)接触点が滑らないこと、
(3)接触点が剥がれないこと、
という3つの条件を満たす必要がある。
上記3つの要件が理解しやすいように、図14に、接触点が不安定化する場合を例示した。
(1)接触点が離れない為には、接触面の鉛直力が正であれば良い。即ち、次式を満たす必要がある。
(2)接触点が滑らない為には、接触面に平行な2軸力が摩擦力以下であれば良い。即ち次式がその条件である。ただし接触面の摩擦係数をμとする。
(3)接触点が剥がれない為の条件は、接触多角形のh個の頂点座標
(xi1 , yi1 ),・・・・・(xih , yih
を用いて以下のように表される。
(ただし接触多角形の頂点は反時計回りに順に与えられているとする)。
以上、(21)、(22)、(23)式をまとめると次のようになる。
(24)式に(20)式を代入し、j番目のサンプリング点としてインデックスを付け加える。
(25)式は、j番目のサンプリング点におけるi番目の接触点が安定な接触を保つ為に満たすべき条件であり、安定な多点接触動作を実現する為には、全サンプリング点の全接触点において(25)式が成り立つ必要がある。
まずj番目のサンプリング点において全接触点が(25)式を満たす為の条件は次のように書ける。
これが全サンプリング点で成り立つ条件は次のように書ける。
これに(10)式を代入する。
最終的に、(16)、(19)、(28)式により、多点接触時の安定軌道生成問題は次の凸2次計画問題に帰着される。
凸2次計画問題(Quadratic Programming: QP)にまで帰着できてしまえば、凸2次計画問題(QP)自体はよく知られた最適化問題の1つであり、高速な求解が可能である。(求解するとU[k]が求まる。)
QPの求解後は、重心軌道と各接触点の接触力とが次ぎのようにして計算される。
このようにして、予測区間内において常に拘束条件(1)−(3)を満たし、かつ、評価関数Jを最小化するX[k+1]が求まる。
X[k+1]というのは、(7)式と(10)式とを見てわかる通り、重心のx座標、重心のx軸方向速度、重心のy座標、重心のy軸速度、および、各接触点の接触力(6軸力)の時系列データである。
さらに、式の展開の途中で説明したように、重心の鉛直軌道(z座標)や重心回りモーメントについては更新計算のなかで修正されたものが得られている(詳しくは後述する)。すなわち、これで予測区間内で安定な移動を実現する軌道を得ることができたわけである。
用語が混乱しないように付言しておく。
上記の演算過程およびこの演算で求められる結果を見て分かるように、ここでいう「軌道」というのは、重心の三次元的軌道に加えて、各接触点で発生すべき接触力(6軸力)の時系列データを含めて考えると分かりやすいであろう。
なお、移動ロボットを移動させるための「軌道」といえば一般的には手先、足先の軌道も含む概念であろうが、ここまでの説明における「軌道」には、手先、足先の軌道を含んでいてもいなくても大差無い。
接触点計画通りに手足を着くことを前提にすれば、手先、足先の軌道は、接触点計画、重心軌道および接触力の時系列データから補間によってほぼ自動的に決定され得る。
(ただし、後述するように、接触点の変更まで考慮にいれるようになると、手先、足先の軌道も重要になってくる。)
(制約の緩和)
ここまでの説明では、接触点計画通りに手足を着くことを前提にしていた。しかし、各種外乱があるような場合には接触点計画通りに手足を着くだけではロボットの安定軌道が定まらないという事態が起こりうる。例えば、ロボットが後ろから強く押される等して大きな外乱が入ったとする。すると、後ろから押された分だけ、ロボットの重心は大きな速度を持つ。このようにロボットの重心に大きな速度が発生した状態からモデル予測制御で軌道を求めたとする。つまり(29)式を解いて(30)式のように求解しようとしたとする。この場合、接触点で発生可能な接触力では止めきれず、軌道が発散してしまうという事態になる。
例えば二足歩行ロボットで考えてみる。後ろから強く押されてロボットの上体姿勢が前のめりになったら、遊脚の着地点を想定していたよりも前に大きく踏み出して上体が倒れるのを防がなければならない。もし、計画通りに着地してしまうと、上体の倒れを止めきれずにロボットがますます倒れていき、ロボットが倒れてしまう。(計画通りの着地点でロボットの倒れを防ごうと無理に求解するとすれば、接触点(足裏)に過大な接触力を発生させたり各関節を極めて大きな力で駆動したり必要があるであろうがそんなことは無理である。)これはつまり、外乱によって重心に大きな速度が発生した時点で、未来に計画していた接触点の接触位置では物理的に軌道を安定にすることができない状態だった、ということである。
ところで、(1)式のダイナミクスは、重心に関する力の釣合式とモーメントの釣合式とを表しているが、例えばモーメントの釣合式を無視すると“発散”は起こらない。例えば地面と一点で接触している状況(つまり一本足で立っている状況)を考えると、ロボットのダイナミクスは倒立振子になるので、足平で踏ん張りきれない位の大きな外力が作用した場合、重心は発散する。ところがモーメントの釣合式を無視してしまうと、ダイナミクスは力の釣合式(力と加速度の関係式)のみとなり、“発散”することはない。即ち、力の釣合式にモーメントの釣合式が加わることで、倒立振子のダイナミクスが生まれていると考えることができる。
そこでスラック変数を導入してモーメントの釣合式を破ることを許すようにする。すなわち、(17)式の拘束条件において、モーメントの釣り合い式にスラック項ε、εを導入し、モーメントの釣り合いを破ることを許容するようにする。
そして、このスラック項を評価関数((12)式)に含めるようにする。
(32)式におけるスラック変数項(ρ(|εx|+|εy|)は、スラック変数に絶対値符号を付けて評価関数に足し合わされている。これは、スラック変数をできる限り0にすることを意味している。ρは、スラック変数に掛ける重みである。
重心が発散し始めると重心の加速度や躍度も急激に上昇していくので、(32)式の第1項および第2項は急激に増大していく。スラック変数を増加させてモーメントの釣り合いを破ると発散が抑制されるので(32)式の第1項および第2項の増加は抑制されるが、もちろん、スラック変数項の値は増加することになる。
(32)式、(31)式の意味を正確ではないが少しイメージしやすく説明しておく。
(32)式を見てもらうと、スラック項は二重シグマ計算の外にある。
このことは、イメージ的にいうと、予測区間内においてモーメントの釣り合いを保てず重心軌道が発散してしまうような場合には、予測区間全体でロボットが少し傾いたような状態の解を許容する、といった感じである。(ただし、予測区間内においてもスラック変数の発生を許容できる場合と許容できない場合がある。これは後述する。)
スラック変数の発生をどの程度許容するかは、QやRとスラック変数重みρとの比(バランス)で決まってくる。重み(Q、R、ρ)のバランスを適切に設定することによって、軌道が発散しない時にはスラック変数(εx、εy)は0のままで、軌道が発散してしまう時だけ必要十分なスラック変数の値が発生する、という機能を実現できる。また、この後の展開で説明するが、「スラック変数値≒接触点位置の変更量」となるので、外乱に対してどの程度敏感に接触点位置の変更を行うか、をスラック変数重みρを使ってユーザが調整することも可能である。
では、(31)式、(32)式を用いて凸2次計画問題を導く。
スラック項εx、εyを次のように置き換える。これは、絶対値を外すための処置である。
また、入力ベクトルUを次のように拡張する。要は、入力ベクトルUにスラック変数が含まれるようにする。
ここで、スラック変数項は、(33)式により次のように変換できる。
したがって、(32)式の評価関数Jは次のようになる。
さらに整理すると、評価関数J1は次のようになる。
次に、制約条件について考えてみる。
制約条件((31)式)を次のように書き直す。(先ほどの(31)式では、d[j]のなかにスラック項を含ませていたが、スラック項を明示的に表わすようにする。)
ここで注意すべきことは、スラック項をいつでも発生させられるわけではない、ということである。
すなわち、場合分けが必要になる。
この場合分けは、予測区間内において、
位置を変更できる接触点があるサブ区間と、
位置を変更できる接触点がないサブ区間と、を区別する、ということである。
(31)式で導入したスラック変数が発生するということは、物理的にロボットが満たすべき力学的な釣り合い式(モーメント釣合式)から逸脱してしまっていることを意味する。
後述するように、スラック変数が発生するような場合には接触位置を変更することによってスラック項を打ち消し、最終的にはスラック変数が発生しないような軌道を生成しなければならない。
すなわち、位置を変更できる接触点がない状況ではスラック項が発生したとしても接触位置の変更による補償ができないので、制約の緩和を行ってはならない。これは例えば、予測区間内の接触点計画が、図15のようにずっと両足立ちという状況を考えると分かり易い。このような状況では接触位置変更による安定化は不可能であり、スラック変数による制約の緩和を行ってはならない。
一方、図16のような状況であれば、この予測区間内の途中から左足や右足が着地し始めるので、これら左足や右足の接触位置を変更することによって安定化を図ることができるサブ区間が存在している。つまり、このサブ区間であれば、スラック項を打ち消すように接触点の位置を変更することが可能である。したがって、この図16の予測区間において、前半は「位置を変更できる接触点がないサブ区間」であり、遊脚であった左足を着地する時点以降は「位置を変更できる接触点があるサブ区間」ということである。
なお、一点でも位置変更可能な接触点があれば、その時点以降はすべて「位置を変更できる接触点があるサブ区間」とする。
したがって、「位置を変更できる接触点がないサブ区間」では、スラック項は全部0である。
本明細書においては、以降の説明において、「位置を変更できる接触点があるサブ区間」を「調整可能サブ区間」と称し、「位置を変更できる接触点がないサブ区間」を「調整不能サブ区間」と称することがある。
一方、「位置を変更できる接触点があるサブ区間」(調整可能サブ区間)では、スラック項を許容するようにスラック項を導入する。
このように「位置を変更できる接触点があるサブ区間」(調整可能サブ区間)でのみスラック変数を用いて制約緩和を行うことを許容する。
このことを踏まえて(38)式を変形していく。
(38)式の要素を明示的に書くと次のようになる。
この(41)式に(10)式を代入し、移項して整理すると次の式が導かれる。
ただし、Vεを次のようにおいた。
Vεの最後の列にスラック項を導入している。
ここでは、前半はスラック項を0とし、後半はスラック項を許容するように表現している。
これは、予測区間の内の前半が「位置を変更できる接触点がないサブ区間」(調整不能サブ区間)で、予測区間の内の後半で「位置を変更できる接触点があるサブ区間」(調整可能サブ区間)となる場合を分かりやすく表現したものである。
いつもこの通りになるとは限らない。例えば、予測区間の全体が「位置を変更できる接触点がないサブ区間」(調整不能サブ区間)になることも有り得る。
しかし、予測区間の全体が「位置を変更できる接触点がないサブ区間」(調整不能サブ区間)の場合を取り上げていては以後の話しが続かないので、予測区間内に調整可能サブ区間を持つ場合を例にしたのである。
さらに、(28)式をUεに合わせて拡張する。スラック変数を(33)式のように非負と置いたことに留意しつつ、接触点が安定して接触を保つ為の不等式条件式を導く。
以上、(37)式、(42)式および(44)式をまとめると次のように第1凸2次計画問題として表わされる。
この第1凸二次計画問題を解くことにより軌道を求めることができる。
(スラック変数が必要に応じて発生するので、必要であればスラック変数を含んだ形のUε[k]が求まるのであるが、とりあえずスラック変数は度外視してU[k]を(30)式に代入すれば、X[k+1]が求まる。つまり、xy重心軌道と各接触点で発生させる力(6軸力)が求まる。)
このとき、スラック変数に値を発生させてもよい場合、すなわち、「位置を変更できる接触点があるサブ区間」(調整可能サブ区間)においてどうしても釣り合い式を満たせない場合にはスラック項に値が入った形で解(Uε[k])が求まることになる。
これによって軌道の発散は回避されるのであるが、スラック項の値は接触位置の変更によって補償しなければならない。
もちろん、スラック変数が無くても釣り合い式を満たせる場合や、「位置を変更できる接触点がないサブ区間」(調整不能サブ区間)では、スラック変数はゼロになる。
なお、厳密にいうと、スラック変数が無くても釣り合い式を満たせるような場合であってもスラック変数は完全に0(ゼロ)ではなく、計算の結果としてはスラック変数には極微小ながら値が発生する。例えば、10のマイナス10乗などのオーダーでスラック変数が発生した形で求解される。しかし、10のマイナス10乗などのオーダーの値は常識的に考えて実質的にゼロといっていいであろう。
(接触位置変更量の算出)
発生したスラック変数値から安定性維持に必要な接触位置変更量を求める計算処理について説明する。
(45)式を求解するとUε[k]が求まり、εが得られるので、(33)式を用いてεx、εyが得られる。
ここで、第i接触点の接触位置変更量Δpiを次のように表わし、(6)式のモーメント釣合式に加える。すると、次の(46)式のようになる。
この(46)式から本来満たすべき(6)式を引くと、次のようになる。
さて、以下では、接触位置変更を接触面内に限定した場合を考える。
すなわち、接触面内を平行移動する形で接触位置変更を行うこととする。歩行の場合でいうと、予定していた地面上の着地位置を地面上で平行移動させることに相当する。
(着地(着手)位置をもっと自由に移動させることもできる。空間内にどのような面が存在しているかをロボットに教えておけば、着地(着手)位置をもっと自由に選択することは可能である。例えば、棚の下段から棚の上段に着手位置を変えるようなこともできる。ただし、演算負荷が増えることは当然である。)
ここで、接触点の座標系における接触位置移動量Δpi を導入する。(この上付き文字はエルの小文字。)
Δpix 、Δpiy は、図17に示すように、接触点のローカル座標系におけるxy方向変化量で定義されている。接触点の座標系における接触位置移動をグローバル座標系に変換する。
これを47式に代入すると、次式を得る。
ここで、発生したスラック変数を補償する為に必要な接触位置変更量の条件を式で表わすと次のように表現される。
(51)式は、接触位置を変更することによる効果(左辺)がスラック変数(右辺)以上になれば良いということを表している。
上式を符号に留意してまとめると次のように表せる。
(52)式を整理しなおすと次のようになる。
ところで、接触位置の変更量は、当然のことながら、対象となる接触点が存在する場合にしか許されない。
例えば図18に示した例で言うと、まず、「位置を変更できる接触点がないサブ区間」(調整不能サブ区間)では当然ながら接触位置変更量が存在しない。
また、「位置を変更できる接触点があるサブ区間」(調整可能サブ区間)においても、実際に着地(着手)位置を変更できる対象があるところにだけ接触位置の変更量を定義できる。
具体的にいうと、ΔpLF2 (左足の着地位置変更)はk+s〜k+Nの範囲でのみ許容でき、ΔpRF2 (右足の着地位置変更)がk+Nのみで許容される。
(分かりやすいように、iをLFやRFと表わした。)
従って、例えばこの図18の例に沿って(41)式を書き直せば、次のようになる。
さらに、接触位置変更量を縦に書き並べたベクトルUΔを定義しておく。
すると、(54)式は次式のようにまとめられる。
接触位置の変更量は出来る限り小さい(必要最小限)ことが好ましいと考え、次式の評価関数をさらに導入する。
(57)式を整理すると次式になる。
(56)式、(58)式をまとめると最終的に次ぎのようになる。
このようにして第2凸2次計画問題が構成できた。
これを解くことによって安定性を維持する為に必要な最小限の接触位置変更量を求めることができる。
なお、接触力変更量をある凸領域内に制限する(可動範囲の考慮)等の機能も、(59)式の不等式制約条件に条件を追加することで容易に実現できる。
(移動ロボットの制御)
移動ロボットの移動制御方法を説明する。
図19は、移動ロボットの移動制御方法の全体フローである。
移動ロボットの移動制御の工程には、大きく分けて、接触点計画の設定(ST100)と、軌道生成(ST200)と、動作指令(ST300)と、動作制御の実行(ST400)と、がある。
接触点計画の設定(ST100)においては、これまで概略説明してきたように、手先および足先を、どの順番で、どこに、どのように、着くか、という多点接触移動の計画(図7)をユーザが移動ロボットに入力する。
入力された接触点計画は、コントローラ210の接触点計画設定部221に記憶される。
軌道生成工程(ST200)について説明する。
図20、図、図に軌道生成工程(ST200)の手順を説明するための詳細なフローチャートを示す。
軌道生成工程(ST200)はコントローラ210の軌道生成部222にて実行される。
まず、ST201において、軌道生成部222は現在状態x[k]を設定する。ここで、現在状態(x[k])として設定すべきは、現在の重心のx座標、重心のx軸方向速度、重心のy座標、重心のy軸速度、および、各接触点の接触力(6軸力)である。各接触点における接触力は力センサ25からの検出値によって得ることができる。重心のx座標、重心のx軸方向速度、重心のy座標および重心のy軸速度は、現在の移動ロボットの状態から推定して求める値である。例えば、各エンコーダのセンサ値を取得して移動ロボットの全身姿勢を把握した上で、重心のx座標、重心のx軸方向速度、重心のy座標および重心のy軸速度を求めてもよい。あるいは、想定している姿勢に対して実際の移動ロボットの姿勢がどの程度傾いているか(ずれているか)を把握することによって、重心位置を修正するようにしてもよい。
次に、ST202Aにおいて、各接触点候補に重み(Q、R)を設定する。
(先の式の展開でいうと、重み(Q、R)は、(11)式のところで評価関数Jに組み込まれたことを確認されたい。もちろん、制約を緩和してスラック項を取り込んだ(32)式の評価関数J1にもこの重み(Q、R)は引き継がれている。)
重み(Q、R)は、ユーザが予め設定入力しているもので、軌道生成部222は、必要に応じて読み出し、更新設定する。
(更新する必要がなければ、再設定の必要はない。)
接触点候補すべてに力を均等配分する場合には、例えば、Qをすべて1とし、Rをすべて1×10−6とするなどしてもよいが、もっと細かく設定することもできる。
この重みを調整することで、接触力の変化をどれぐらい滑らかにするかや、手先にはあまり力を掛けないようにする、などの調整ができる。
例えば、重みを全部同じにしたとする。すると、演算結果として、着地している手足(各接触点)に均等に力が掛かるような解が得られる。一般的に考えると、この場合が移動ロボットとしては一番安定した形(姿勢)になる。
一方、重みの配分を変えたい場合もある。
例えば、足に比べて手が弱い(脆弱な)移動ロボットであって手に荷重を掛け過ぎるとよくないという場合には、手の重みを「大きく」する。重みを大きくするほど、重みに乗算されている手のθiなどが小さくなるので、手には接触力の分配が小さくなる。
あるいは、テーブルに一方の手を着いて、他方の手を前方に大きく伸ばしたいとする。この場合、手足に均等に力が配分されているだけでは無理であり、体をもっと前に傾ける必要がある。体を傾け、重心をもっと前方にシフトさせるためには、一方の手に掛かる力の分配をやや大きくする必要がある。この場合、一方の手の重みを減らし、体を傾けられるようにし、他方の手をより大きく前方に伸ばすようにする、という調整が必要になる。
一般的な動作では重みは変更の必要がないが、状況に応じて軌道更新のタイミングで毎回変更してもよい。
ST202Bにおいて、スラック項重みρを設定する。
スラック項重みρは、(32)式のところで導入されたことを確認されたい。QやRとスラック変数重みρとの比(バランス)によってスラック変数の発生をどの程度許容するかを決めることができる点は前述の通りである。
次に、ST203において、予測区間を設定する。
これは、図8で説明したように、現在から所定の時間幅(例えば1.6秒)を予測区間として設定する、ということである。
次に、ST204において、この予測区間内の接触点位置およびその姿勢(pi、ri)を設定する。これは、接触点計画(図7)のなかから予測区間内の接触点計画を切り出してくることに相当する。
次に、ST205においては、重心鉛直軌道と重心回りモーメントとを仮設定する。
次ステップの演算工程(ST206)で(45)式(凸二次計画問題)を解いて、重心のxy方向軌道、各接触点の接触力および接触力微分値、を得るのであるが、しかし、この求解には、各接触点の位置、姿勢、重心鉛直軌道、および、重心回りモーメントが与えられていることが前提となる。
予測区間内における各接触点の位置および姿勢は、接触点計画で与えられる。
一方、この予測区間内における重心鉛直軌道および重心回りモーメントは、未知である。そこで、演算工程(ST206)で(45)式(凸二次計画問題)が解けるように重心鉛直軌道および重心回りモーメントを一回仮設定する。
全くの一回目の制御サイクルでは、例えば、重心鉛直軌道、重心回りモーメントは予測区間内においては現時点の状態から動かない、と仮設定してもよい。
(例えば、重心高さは変化しない、と仮定してもよい。)
もしくは、一つ前の制御サイクルで用いた重心鉛直軌道、重心回りモーメントを仮の値として利用してもよい。
予測区間は1.6秒ほどの微小な時間であり、最終的に求まる安定軌道においてもこの間の重心高さの変化はやはり微小である。
したがって、一回目の仮計算としては、重心高さが変化しないとしても、前回の制御周期と同じであるとしても計算は進められる。
なお、この後、仮の演算で求まった重心のxy方向軌道でも移動ロボットの動きが安定するように重心鉛直軌道および重心回りモーメントを修正する工程(ST209)がある。そして、この修正した重心鉛直軌道および重心回りモーメントを使って再度演算(ST206)するようにループを回すので、最終的には、重心鉛直軌道を含めて安定な軌道が適切に求まることはご理解頂けよう。
ここで、重心回りモーメントを定義しておく。
移動ロボットをリンク同士が関節でジョイントされたリンク構造体と見なすと、重心回りモーメントは、各リンクに分布した質点の運動によって重心の回りに発生するモーメントの合計値である。
移動ロボットが図23に示すような多質点モデルで表されており、M個の質点がそれぞれ、
質量:m
位置:s=[x、y、z
のパラメータを持っているとする。
移動ロボット全体の重心をG=(G、G、Gとすると、重心回りモーメントは次のように表わされる。
次に、ST206Aにおいて第1演算工程を実行する。
具体的には、(45)式の第1凸二次計画問題を解くということである。
予測区間内において、接触点おのおのに力を適切に分散させつつ、なおかつ、この接触力を実現しながら重心(ここでの重心はxとy)が安定に遷移するような軌道が求められるわけである。
具体的には、Hε、Fε、Pε、Sε、Vε、Wεが求まり、さらに、Uε[k]が求まる。
(このUε[k]は接触力微分値のベクトルであり、さらに、(34)式でスラック変数を含むように拡張したことを思い出されたい。さらに、Vεにおいて、「位置を変更できる接触点がないサブ区間」(調整不能サブ区間)と、「位置を変更できる接触点があるサブ区間」(調整可能サブ区間)と、を区別したことを思い出されたい。(43)式参照。)
そして、(30)式によって、Xout[k+1]が求まる(ST206B)。(このXout[k+1]は、重心のx座標、重心のx軸方向速度、重心のy座標、重心のy軸速度、および、各接触点の接触力(6軸力)の時系列データである。)
さらに、ST207Aにおいて第2演算工程を実行する。具体的には、59式の第2凸2次計画問題を解くということである。これを解くことによって、安定性を維持する為に必要な最小限の接触位置変更量が求められる。したがって、ST207Bにおいて、接触点位置の修正を行う。
続いて、ST208において、手先、足先の軌道を補間して求める。
接触点計画においては、接触点とそのときの姿勢だけが設定されている。さらに、先のST207Bにおいて安定性を維持できるように接触位置の変更を行った。これらを踏まえて、各接触点間を結ぶように手先、足先の補間軌道を求める。すると、図24のように、接触点計画で指示された接触点同士の間が埋まる。
さて、次に、ST209において、重心鉛直軌道と重心回りモーメントとを修正する作業を行う。
まず、重心鉛直軌道を修正する。
これまでの工程により、重心のxy方向の軌道と、手先足先の軌道と、が得られている。(さらに、重心鉛直軌道も仮設定している。)これに基づいて、予測区間内における移動ロボットの姿勢の変化を推定することができるが、このとき、膝や腕が伸びきってしまうなど安定しない要因がある場合には安定するように重心鉛直軌道を調整する。例えば、膝が伸びきりそうになったら重心鉛直軌道を下げる、といった調整を行う。予測区間内における移動ロボットの姿勢が決定したら、それに基づいて重心回りモーメントの計算を行う。
さて、次に、ST210において、ST206A−ST209を1回以上繰り返したかどうかを判断し、繰り返していなければST206Aに戻って第1凸二次計画問題の求解を行う。
この繰り返し演算(ST206)によって修正された重心鉛直軌道および重心回りモーメントを用いて再度Xout[k+1]およびUΔ[k]が求まる。
このようにして、予測区間内において移動ロボットの安定な移動を実現する、重心位置、重心速度、必要な接触点位置の変更、および、接触力の時系列データが求まった(ST211)。
このように、ある時間幅を持つ予測区間で安定な軌道を生成した上で、最初の一点だけを現在の入力値として使用する。すなわち、最初の一点だけを動作指令として動作制御部223に出力する(ST300)。
所定の終了条件を満たすまで周期を更新(ST213)すなわち現時点を微小時間進ませて、先頭(ST201)に戻り、ループを繰り返す。このように、予測区間を微小時間だけ先に進ませながら軌道生成を繰り返す。このようにして多点接触移動を安定に実現する軌道の算出が行われる。
動作指令を受けた動作制御部223が移動ロボット100をどのように制御して動かすか(関節を駆動させるか)は本実施形態のポイントではないが、簡単に説明しておく。
本実施形態においては、重心および手先足先の軌道に加えて、各接触点における接触力も動作指令として与えられる。そこで、まず、各接触点で指示された接触力が発生するように手先足先の位置(軌道)を微修正するという工程が必要になる(ST410)。例えば、手先をテーブルに着いているときに、比較的大きな接触力が指示された場合には、手先をテーブルに押し込むように手先の軌道を微修正する。
そして、各関節のモータを駆動して全身を動作させる(ST420)。これで移動ロボットが動作することになる。
なお、動作の実行(ST400)において、接触力制御(ST410)を行ったり、関節が指示した通りに正確に駆動しなかったり、外乱の影響を受けたりして、実機とモデルとの間には当然にずれが生じる。したがって、軌道生成(ST200)のループにあっては、毎回、現在状態xの設定を行う必要がある(ST201)。
以上、本実施形態によれば、設定された接触点の計画に基づいて移動ロボットが自動的に安定な重心軌道を生成して自律的に移動できる。
このとき、もし接触点計画通りの着地(着手)ではロボットの安定を保てないとなった場合には、必要な分だけ接触位置を変更することによって軌道の発散を回避し、ロボットの安定動作を継続することができる。
また、軌道生成のために用いた評価関数J1の意味から分かるように、接触点の切替(接触状態の遷移)に伴う力の変化が滑らかになり、移動ロボットの安定かつ滑らかな移動が実現される。
(実験例)
実験例を説明する。
4足歩行であって手足の着き方がランダムであるような接触点計画をロボットに与えたとする。
この接触点計画のタイムラインを図25に示す。
そして、図26、図27は、外乱が無いとした場合のシミュレーション結果である。
図26は、実行結果のスナップショットである。
図27(A)、(B)、(C)は、実行時の重心位置、反力中心の位置、および、接触点の鉛直方向荷重、を示したグラフである。
この場合は、接触点計画通りの着地(着手)位置に手足を着きながら、接触点の切り替えに伴う接触点反力が滑らかに遷移し、そして、滑らかな重心移動を実現していることが分かる。
さて、一方、図28、図29、図30は、外乱を作用させた場合のシミュレーション結果である。
図28は、実行結果のスナップショットである。ここで、2.2秒頃に大きな外乱が入ったとする。
図29は、(A)、(B)、(C)は、実行時の重心位置、反力中心の位置、および、接触点の鉛直方向荷重、を示したグラフである。
さらに、図30は、スラック変数値のグラフである。
図26と図28とを見比べてもらうと、外乱が入った直後(2.2秒頃)に左足の着地位置を変更することで転倒が回避されていることが分かるであろう。図30により、外乱が入った直後にスラック変数が発生しているが、その後、外乱が無い状態ではスラック変数が0になることがわかる。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
移動ロボットとしてのハードウェア構成としては、二足歩行、4足歩行、さらには、6足でも8足でもよいのであって、手足の数に制限があるわけではない。
ただし、少なくとも一つの接触点がどこかに接地している必要がある。(接地、というが、壁に手を着く場合も含めて解釈されたい。)
極端なケースであるが、例えば、図31のように、足が1本、手が1本で、床と壁に手足を交互に着けながら移動するような移動ロボット100であってもよい。
必要な接触点の変更量を求め(ST207A)、それに従って接触点を変更する(ST207B)という処理は、必要な場合だけに行うという考え方もある。
すなわち、ST206AとST207Aとの間にスラック変数の大きさを所定閾値と対比する判断工程を入れ、実質的にゼロ以上であるスラック変数が発生しているかどうかを判断してもよい。
実質的にゼロ以上であるスラック変数が発生している場合には接触点位置の変更を行う必要があるし、スラック変数が実質的にゼロであればST207A、Bの処理は必要無い。
または、スラック変数の大きさに関わらずST207Aを実行し、ST207AとST208Bとの間に接触点位置の変更量を所定閾値と対比する判断工程を入れてもよい。
接触点位置の変更が所定値以上であれば接触点を変更する必要があるし(ST207B)、接触点位置の変更量が実質的にゼロであればST207Bを実行する必要は無い。
閾値をどの程度にするかは求められる安定性の精度によるのであって一概に言えないが、接触点位置の変更量が1mmや2mmになるような場合には接触点の変更を実行する必要があると言えるであろう。
もちろん、求められる安定性の精度によるのであって、0.01mmや0.02mmを接触点の変更の閾値とする場合もあるであろう。
接触点位置の変更量が1mmや2mmになる場合のスラック変数を逆算で求めれば、スラック変数の大きさを判定する閾値も得られる。
1a-28a…モータ、1b-28b…エンコーダ、25…接触力センサ、100…移動ロボット、210…コントローラ、221…接触点計画設定部、222…軌道生成部、223…動作制御部。

Claims (6)

  1. 二以上の移動手段を交互に接地しながら移動する移動ロボットの移動制御方法であって、
    前記移動手段が接地する接触点の位置を時系列のデータとした接触点計画を設定する接触点計画設定工程と、
    前記接触点計画設定工程で設定したように前記移動手段を接触点に接地しながら移動するための軌道を生成する軌道生成工程と、を備え、
    前記軌道生成工程は、
    軌道が発散する場合には接触点の位置を変更する工程を含み、
    前記軌道生成工程は、
    移動ロボットへの制御入力と移動ロボットの運動との関係を記述する予測モデルを構築して、この予測モデルによって所定時間幅の予測区間における移動ロボットの状態変化を表わし、
    前記予測区間において、力学的釣り合いに基づく制約条件と所定の安定性評価基準とを用いて移動ロボットの安定性を確保できる制御入力の時系列データを求め、
    この求まった制御入力と前記予測モデルとから、移動ロボットの軌道を得るものであり、
    前記制約条件に制約を緩和するスラック変数を含めるとともに、
    前記安定性評価基準にスラック変数を含ませるにあたって、制約条件下で安定な軌道が求解できる場合には前記スラック変数ができるかぎり実質的にゼロになり、制約条件下で軌道が発散する場合にはスラック変数に実質的にゼロ以上の値が発生するようにし、
    さらに、発生したスラック変数の値を打ち消すように接触点の位置を変更する工程を含む
    ことを特徴とする移動ロボットの移動制御方法。
  2. 請求項に記載の移動ロボットの移動制御方法において、
    前記制約条件にスラック変数を含めるにあたっては、
    移動ロボットの重心のX軸回りモーメントの釣合い式と、移動ロボットの重心のY軸回りモーメントの釣合い式と、にそれぞれスラック変数を導入する
    ことを特徴とする移動ロボットの移動制御方法。
    ただし、X軸およびY軸は、鉛直方向であるZ軸に垂直な面内で互いに直交する軸である。
  3. 請求項1または請求項2に記載の移動ロボットの移動制御方法において、
    前記予測区間を、位置を変更できる接触点が無い調整不能サブ区間と、位置を変更できる接触点が一つ以上有る調整可能サブ区間と、に区別し、
    前記調整可能サブ区間にのみ実質的にゼロ以上のスラック変数が発生することを許容する
    ことを特徴とする移動ロボットの移動制御方法。
  4. 請求項1から請求項3のいずれかに記載の移動ロボットの移動制御方法において、
    前記制約条件の式には、移動ロボットの重心鉛直軌道と重心回りモーメント軌道とを含んでおり、
    前記軌道生成工程は、
    予測区間内において、移動ロボットの重心鉛直軌道と重心回りモーメント軌道とを一度仮設定する工程と、
    前記安定性評価基準の関数を制約条件のもとで一度求解した後、その結果に応じて、予測区間内において移動ロボットの動作が安定するように接触点の変更および重心鉛直軌道と重心回りモーメント軌道との修正を行い、
    変更後の接触点位置、修正した重心鉛直軌道および重心回りモーメント軌道を用いて少なくとも一回以上、前記安定性評価基準の関数の求解を再計算する
    ことを特徴とする移動ロボットの移動制御方法。
  5. 請求項1から請求項4のいずれかに記載の移動ロボットの移動制御方法において、
    前記軌道生成工程において予測区間内で軌道を求め、
    この予測区間の最初の一点のデータを現在の入力値として移動ロボットを駆動させ、
    予測区間を微小時間だけ進めて、前記軌道生成工程を繰り返す
    ことを特徴とする移動ロボットの移動制御方法。
  6. 二以上の移動手段を交互に接地しながら移動する移動ロボットであって、
    前記移動手段が接地する接触点の位置を時系列のデータとした接触点計画を設定する接触点計画設定部と、
    前記接触点計画設定部で設定したように前記移動手段を接触点に接地しながら移動するための軌道を生成する軌道生成部と、を備え、
    前記軌道生成部は、
    軌道が発散する場合には接触点の位置を変更し、
    移動ロボットへの制御入力と移動ロボットの運動との関係を記述する予測モデルを構築して、この予測モデルによって所定時間幅の予測区間における移動ロボットの状態変化を表わし、
    前記予測区間において、力学的釣り合いに基づく制約条件と所定の安定性評価基準とを用いて移動ロボットの安定性を確保できる制御入力の時系列データを求め、
    この求まった制御入力と前記予測モデルとから、移動ロボットの軌道を得るものであり、
    前記制約条件に制約を緩和するスラック変数を含めるとともに、
    前記安定性評価基準にスラック変数を含ませるにあたって、制約条件下で安定な軌道が求解できる場合には前記スラック変数ができるかぎり実質的にゼロになり、制約条件下で軌道が発散する場合にはスラック変数に実質的にゼロ以上の値が発生するようにし、
    さらに、発生したスラック変数の値を打ち消すように接触点の位置を変更する
    ことを特徴とする移動ロボット。
JP2014029793A 2014-02-19 2014-02-19 移動ロボットの移動制御方法 Active JP5910647B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014029793A JP5910647B2 (ja) 2014-02-19 2014-02-19 移動ロボットの移動制御方法
US14/618,184 US9327399B2 (en) 2014-02-19 2015-02-10 Movement control method for mobile robot
CN201510083619.8A CN104842360B (zh) 2014-02-19 2015-02-16 用于移动机器人的移动控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014029793A JP5910647B2 (ja) 2014-02-19 2014-02-19 移動ロボットの移動制御方法

Publications (2)

Publication Number Publication Date
JP2015150678A JP2015150678A (ja) 2015-08-24
JP5910647B2 true JP5910647B2 (ja) 2016-04-27

Family

ID=53797305

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014029793A Active JP5910647B2 (ja) 2014-02-19 2014-02-19 移動ロボットの移動制御方法

Country Status (3)

Country Link
US (1) US9327399B2 (ja)
JP (1) JP5910647B2 (ja)
CN (1) CN104842360B (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6334925B2 (ja) * 2013-01-18 2018-05-30 キヤノンメディカルシステムズ株式会社 動作情報処理装置及び方法
JP6228079B2 (ja) * 2014-07-16 2017-11-08 本田技研工業株式会社 移動ロボットの動作目標生成装置
JP5927270B2 (ja) * 2014-11-06 2016-06-01 ファナック株式会社 ロボットシミュレーション装置
JP6919567B2 (ja) 2015-09-29 2021-08-18 ソニーグループ株式会社 情報処理装置、情報処理方法、及びプログラム
JP6513232B2 (ja) * 2016-02-04 2019-05-15 シャープ株式会社 ロボット、および、ロボットの制御方法
JP2017158644A (ja) * 2016-03-07 2017-09-14 富士通株式会社 測定装置、測定方法及び測定プログラム
BR112018071792A2 (pt) * 2016-04-29 2019-02-19 Softbank Robotics Europe robô móvel com capacidades de movimento equilibrado e de comportamento melhoradas
CN105729483B (zh) * 2016-05-06 2019-03-19 广东戈兰玛汽车系统有限公司 一种机器人行走的控制方法、控制装置及沙滩清洁机器人
JP6682341B2 (ja) * 2016-05-10 2020-04-15 パナソニック株式会社 歩行制御方法、歩行制御プログラム及び2足歩行ロボット
US10795937B2 (en) * 2016-08-08 2020-10-06 International Business Machines Corporation Expressive temporal predictions over semantically driven time windows
US10247751B2 (en) * 2017-06-19 2019-04-02 GM Global Technology Operations LLC Systems, devices, and methods for calculating an internal load of a component
US11511429B2 (en) * 2017-10-31 2022-11-29 Safetics, Inc. Method of improving safety of robot and method of evaluating safety of robot
GB2573790B (en) * 2018-05-17 2020-10-28 Sony Interactive Entertainment Inc Robot development system
CN109189092B (zh) * 2018-08-03 2020-11-13 北京航空航天大学 一种针对二维区域覆盖任务的多机调度方法
WO2020145403A1 (ja) * 2019-01-11 2020-07-16 オムロン株式会社 制御装置
CN109664317B (zh) * 2019-01-24 2022-06-14 深圳勇艺达机器人有限公司 机器人的物体抓取系统及方法
CN110103225B (zh) * 2019-06-04 2023-04-11 兰州大学 一种数据驱动的机械臂重复运动控制方法与装置
CN110587611B (zh) * 2019-09-30 2021-06-22 中电九天智能科技有限公司 电视机组装线的机械臂控制方法
JP7221839B2 (ja) * 2019-10-08 2023-02-14 国立大学法人静岡大学 自律移動ロボットおよび自律移動ロボットの制御プログラム
DE102019129338B3 (de) * 2019-10-30 2021-02-18 Pilz Gmbh & Co. Kg Modellprädiktive Interaktionsregelung
US11878418B2 (en) * 2021-03-30 2024-01-23 Honda Research Institute Europe Gmbh Controlling a robot based on constraint-consistent and sequence-optimized pose adaptation
US11787055B2 (en) * 2021-03-30 2023-10-17 Honda Research Institute Europe Gmbh Controlling a robot using predictive decision making
CN114833830A (zh) * 2022-04-27 2022-08-02 北京市商汤科技开发有限公司 抓取方法及装置、电子设备和存储介质
CN116619361A (zh) * 2023-05-16 2023-08-22 傅利叶动力(北京)科技有限公司 双足机器人质量分布的方法及双足机器人

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2997038B2 (ja) * 1990-11-30 2000-01-11 本田技研工業株式会社 脚式移動ロボットの歩行御制装置
JP3269852B2 (ja) 1992-05-29 2002-04-02 本田技研工業株式会社 脚式移動ロボットの姿勢安定化制御装置
US6520727B1 (en) * 2000-04-12 2003-02-18 Asyt Technologies, Inc. Modular sorter
JP4513320B2 (ja) 2003-12-17 2010-07-28 ソニー株式会社 ロボット装置、並びにロボット装置の運動制御方法
JP4168943B2 (ja) * 2004-01-28 2008-10-22 トヨタ自動車株式会社 脚式ロボットと脚式ロボットの歩行制御方法
JP2006136962A (ja) * 2004-11-11 2006-06-01 Hitachi Ltd 移動ロボット
JP4517947B2 (ja) * 2005-06-09 2010-08-04 トヨタ自動車株式会社 接触センサシステム
JP5034235B2 (ja) * 2006-01-16 2012-09-26 ソニー株式会社 制御システム及び制御方法、並びにコンピュータ・プログラム
JP2007316966A (ja) * 2006-05-26 2007-12-06 Fujitsu Ltd 移動ロボット、その制御方法及びプログラム
JP5083763B2 (ja) 2007-10-26 2012-11-28 学校法人早稲田大学 制御装置、制御方法、及び2足歩行ロボット
JP2009214255A (ja) * 2008-03-12 2009-09-24 Toyota Motor Corp 脚式ロボット、及びその制御方法
KR101487783B1 (ko) * 2008-12-22 2015-01-29 삼성전자 주식회사 로봇 및 그 제어방법
JP5435729B2 (ja) * 2010-03-26 2014-03-05 トヨタ自動車株式会社 脚式ロボットの歩行着地位置計画方法
WO2012011182A1 (ja) * 2010-07-22 2012-01-26 トヨタ自動車株式会社 二足歩行ロボット及び二足歩行ロボットの着地タイミング決定方法
JP5129415B2 (ja) * 2011-03-17 2013-01-30 パナソニック株式会社 ロボット、ロボットの制御装置、制御方法、及び制御プログラム
WO2015087504A1 (ja) 2013-12-10 2015-06-18 トヨタ自動車株式会社 移動ロボットの移動制御方法、および、移動ロボット

Also Published As

Publication number Publication date
CN104842360A (zh) 2015-08-19
US20150231786A1 (en) 2015-08-20
CN104842360B (zh) 2017-01-04
US9327399B2 (en) 2016-05-03
JP2015150678A (ja) 2015-08-24

Similar Documents

Publication Publication Date Title
JP5910647B2 (ja) 移動ロボットの移動制御方法
Feng et al. Optimization‐based full body control for the darpa robotics challenge
Feng et al. 3D walking based on online optimization
US9334002B2 (en) Balance control apparatus of robot and control method thereof
US7053577B2 (en) Robot and motion control method of robot
US9120227B2 (en) Human motion tracking control with strict contact force constraints for floating-base humanoid robots
CN111891252A (zh) 一种四足仿生机器人的身体姿态斜坡自适应控制方法
JP3726081B2 (ja) 脚式移動ロボットの歩容生成装置
US8868240B2 (en) Walking robot and pose control method thereof
JP5034235B2 (ja) 制御システム及び制御方法、並びにコンピュータ・プログラム
US20120316682A1 (en) Balance control apparatus of robot and control method thereof
JP2006212736A (ja) 脚式ロボットとその制御方法
WO2006067904A1 (ja) 脚式移動ロボットの歩容生成装置
Zheng et al. A walking pattern generator for biped robots on uneven terrains
Agrawal et al. Vision-aided dynamic quadrupedal locomotion on discrete terrain using motion libraries
JP6168158B2 (ja) 移動ロボットの移動制御方法、および、移動ロボット
JP4492395B2 (ja) 脚式ロボットとその動作制御方法
JP2016198873A (ja) 最適制御装置、最適制御方法及び最適制御プログラム
Feng Online Hierarchical Optimization for Humanoid Control.
EP2428335A1 (en) Robot and control method thereof
Hildebrandt et al. Real-time 3D collision avoidance for biped robots
Mihalec et al. Balance gait controller for a bipedal robotic walker with foot slip
Bachega et al. Flexibility in Hexapod Robots: Exploring Mobility of the Body
Denisov et al. Analysis of balance control methods based on inverted pendulum for legged robots
JP3674779B2 (ja) 脚式移動ロボットのための動作制御装置及び動作制御方法、並びにロボット装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150804

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160120

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160301

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160314

R151 Written notification of patent or utility model registration

Ref document number: 5910647

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151