JP5892531B1 - リンク列マッピング装置、リンク列マッピング方法、及びプログラム - Google Patents

リンク列マッピング装置、リンク列マッピング方法、及びプログラム Download PDF

Info

Publication number
JP5892531B1
JP5892531B1 JP2015223641A JP2015223641A JP5892531B1 JP 5892531 B1 JP5892531 B1 JP 5892531B1 JP 2015223641 A JP2015223641 A JP 2015223641A JP 2015223641 A JP2015223641 A JP 2015223641A JP 5892531 B1 JP5892531 B1 JP 5892531B1
Authority
JP
Japan
Prior art keywords
link
robot
information
model
string
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
JP2015223641A
Other languages
English (en)
Other versions
JP2017087377A (ja
Inventor
直広 早石
直広 早石
一真 高原
一真 高原
Original Assignee
プレンプロジェクト・ホールディングス有限会社
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 プレンプロジェクト・ホールディングス有限会社 filed Critical プレンプロジェクト・ホールディングス有限会社
Priority to JP2015223641A priority Critical patent/JP5892531B1/ja
Application granted granted Critical
Publication of JP5892531B1 publication Critical patent/JP5892531B1/ja
Priority to PCT/JP2016/084017 priority patent/WO2017086364A1/ja
Priority to US15/776,228 priority patent/US10899005B2/en
Priority to CN201680067026.5A priority patent/CN108290293B/zh
Publication of JP2017087377A publication Critical patent/JP2017087377A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39546Map human grasps to manipulator grasps
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40264Human like, type robot arm

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Manipulator (AREA)

Abstract

【課題】モデルのリンク列を自動的に任意のロボットのリンク列にマッピングできるリンク列マッピング装置を提供する。【解決手段】リンク列マッピング装置1は、モデルのリンク列に含まれる各リンクの位置を示すモデルリンク列情報を受け付ける受付部11、モデルリンク列情報を用いて、モデルのリンク列におけるあらかじめ決められた複数箇所の座標値を特定する特定部14、特定された複数箇所と、その複数箇所にそれぞれ対応するロボットのリンク列における複数箇所との各距離に応じた目的関数が小さくなるように、ロボットのリンク列に含まれる各リンクの位置に関する情報であるロボットリンク列情報を算出する算出部15、算出されたロボットリンク列情報に応じたロボットのリンク列の各関節の角度に関する情報を出力する出力部17を備える。【選択図】図1

Description

本発明は、モデルのリンク列をロボットのリンク列にマッピングするために用いられるリンク列マッピング装置等に関する。
従来、ヒューマノイドロボットが作られており、そのヒューマノイドロボットに人間の動作をまねさせることも行われている。人間と同様の動きを行うことができるヒューマノイドロボットについては、キャプチャーした人間の動きをそのまま動作させることができる。一方、そうでない場合、例えば、ヒューマノイドロボットの方が人間よりも関節数が少なかったり、関節の可動域が狭かったりする場合には、キャプチャーした人間の動きをロボットに合うように変換する必要があった。そのような変換の設定は、人間が手動で行っていた。
なお、関連する技術として、人間の動きをキャプチャーする技術が知られている(例えば、特許文献1参照)。
特表2012−525643号公報
上述のように、キャプチャーした人間の動きをロボットに合うように変換する場合には、ヒューマノイドロボットの種類ごとにその変換の設定を行わなくてはならないという問題があった。また、そのような変換の設定を行っていても、例えば、人間が想定外の動きを行った場合には、その人間の動きを適切に変換することができず、ヒューマノイドロボットの動きが停止してしまうという問題もあった。
一般的に言えば、モデルの動きをロボットにマッピングする際に、人手によってその変換式等を作成しなくてもよいようにしたいという要望があった。
本発明は、上記事情に応じてなされたものであり、モデルのリンク列を自動的に任意のロボットのリンク列にマッピングすることができるリンク列マッピング装置等を提供することを目的とする。
上記目的を達成するため、本発明によるリンク列マッピング装置は、モデルのリンク列に含まれる各リンクの位置に関する情報であるモデルリンク列情報を受け付ける受付部と、受付部によって受け付けられたモデルリンク列情報を用いて、モデルのリンク列におけるあらかじめ決められた複数箇所の座標値を特定する特定部と、特定部によって特定された複数箇所と、複数箇所にそれぞれ対応するロボットのリンク列における複数箇所との距離に応じた目的関数が小さくなるように、ロボットのリンク列に含まれる各リンクの位置に関する情報であるロボットリンク列情報を算出する算出部と、算出部によって算出されたロボットリンク列情報に応じたロボットのリンク列の各関節の角度に関する情報を出力する出力部と、を備えたものである。
このような構成により、モデルのリンク列とロボットのリンク列とに、例えばリンク数などの相異があったとしても、ロボットのリンク列がモデルのリンク列に似るように、ロボットのリンク列の各関節の角度に関する情報を出力することができる。その結果、モデルのリンク列を自動的に任意のロボットのリンク列にマッピングするための変換式等を人手で作成しなくてもよいことになる。また、変換式等を用いるのではないため、モデルのリンク列の位置が想定外のものになったとしても、ロボットリンク列情報を算出することができる。そのため、例えば、ロボットのリンク列の動きが停止するような事態を回避することができる。
また、本発明によるリンク列マッピング装置では、複数箇所の個数は、ロボットのリンク列における連結箇所の数よりも多くてもよい。
このような構成により、モデルのリンク列をロボットのリンク列に適切にマッピングすることができるようになる。
また、本発明によるリンク列マッピング装置では、ロボットのリンク列における関節の可動域を示す情報である関節可動域情報が記憶される記憶部をさらに備え、算出部は、関節可動域情報の示す可動域内において、目的関数が小さくなるようにロボットリンク列情報を算出してもよい。
このような構成により、例えば、モデルのリンク列とロボットのリンク列とについて、関節の可動域が異なっていたとしても、ロボットのリンク列がモデルのリンク列に似るように、ロボットリンク列情報を算出することができるようになる。
また、本発明によるリンク列マッピング装置では、モデルのリンク列の長さと、ロボットのリンク列の長さとを正規化する正規化部をさらに備え、距離は、正規化後の距離であってもよい。
このような構成により、モデルのリンク列をロボットのリンク列により適切にマッピングすることができるようになる。
また、本発明によるリンク列マッピング装置では、距離は、モデルのリンク列の基端及びロボットのリンク列の基端を原点にした座標系における座標値に応じた距離であってもよい。
このような構成により、ロボットリンク列情報を算出する際の計算量を低減することができる。
また、本発明によるリンク列マッピング装置では、ロボットリンク列情報に含まれる高周波のノイズ成分を除去するノイズ除去部をさらに備え、出力部は、ノイズ除去部によって高周波のノイズ成分が除去されたロボットリンク列情報に応じたロボットのリンク列の各関節の角度に関する情報を出力してもよい。
このような構成により、例えば、モデルリンク列情報に高周波のノイズが入っている場合であっても、そのノイズを除去した出力を行うことができるようになる。
本発明によるリンク列マッピング装置等によれば、モデルのリンク列を自動的に任意のロボットのリンク列にマッピングすることができるようになる。その結果、マッピングのための変換式等を人手で作成しなくてもよいことになる。また、モデルが想定外の動作をしたとしても、ロボットリンク列情報を算出できるようになる。
本発明の実施の形態によるリンク列マッピング装置の構成を示すブロック図 同実施の形態によるリンク列マッピング装置の動作を示すフローチャート 同実施の形態におけるモデルのリンク列の一例を示す図 同実施の形態におけるロボットのリンク列の一例を示す図 同実施の形態におけるロボットの関節の角度の一例を示す図 同実施の形態における正規化されたモデル及びロボットのリンク列の一例を示す図 同実施の形態におけるモデル及びロボットのリンク列の動作の一例を示す図 同実施の形態におけるコンピュータシステムの外観一例を示す模式図 同実施の形態におけるコンピュータシステムの構成の一例を示す図
以下、本発明によるリンク列マッピング装置について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。本実施の形態によるリンク列マッピング装置は、モデルのリンク列をロボットのリンク列にマッピングするため、モデルのリンク列上の複数の点と、ロボットのリンク列上の複数の点との各距離に応じた目的関数が小さくなるように、ロボットのリンク列の各関節の角度を求めるものである。
図1は、本実施の形態によるリンク列マッピング装置1の構成を示すブロック図である。本実施の形態によるリンク列マッピング装置1は、受付部11と、記憶部12と、正規化部13と、特定部14と、算出部15と、ノイズ除去部16と、出力部17とを備える。
受付部11は、モデル5のリンク列に含まれる各リンクの位置に関する情報であるモデルリンク列情報を受け付ける。モデル5は、例えば、人間であってもよく、人間以外の動物やロボットなどであってもよい。なお、リンク列マッピング装置1は、例えば、モデル5の動きをロボット6にまねさせるためのマッピングを行うものであるため、モデル5は、動きのあるものであることが好適である。このモデル5は、リンク列のマッピングの写像元となる対象である。モデル5は、マッピング対象となる1以上のリンク列を有していることが好適である。例えば、モデル5が人間である場合には、四肢のそれぞれがリンク列となる。また、人間の頭から腰までを一つのリンク列と考えてもよい。モデルリンク列情報は、連結された複数のリンクの全体(例えば、両肩の中心から手先までのリンク列など)の情報であってもよく、その連結された複数のリンクの一部(例えば、肘から手先までのリンク列など)の情報であってもよい。また、モデルリンク列情報は、手先や足先などの端部、すなわち関節ではない端部を有するリンク列の情報であってもよく、または、肩から手首までのリンク列のように関節から関節までのリンク列の情報であってもよい。また、本実施の形態では、モデルリンク列情報が、分岐を含まないリンク列の情報である場合について主に説明するが、モデルリンク列情報は、分岐を含むリンク列の情報であってもよい。モデルリンク列情報は、結果としてモデル5のリンク列に含まれる各リンクの位置が分かる情報であれば、どのような情報であってもよい。モデルリンク列情報は、例えば、各リンクの両端の位置を示す情報であってもよく、各リンクの長さと関節におけるリンク間の角度とを示す情報であってもよい。各リンクの両端の位置を示す情報は、各関節の位置を示す情報を含んでいてもよく、さらにリンク列の端部の位置を示す情報を含んでいてもよい。本実施の形態では、モデルリンク列情報が、リンク列の関節の位置を示す情報と、端部の位置を示す情報とを含んでいる場合について主に説明する。その位置は、モデル5のリンク列について設定されている座標系における位置である。その座標系は、モデル5が存在する実空間の座標系であってもよく、モデル5のリンク列に関する位置の取得された仮想空間の座標系であってもよく、その他の座標系であってもよい。
モデルリンク列情報は、例えば、モーションキャプチャの技術によって取得されてもよい。モーションキャプチャは、例えば、モデル5に装着されたマーカの位置を検出することによって行われてもよく、または、モデル5の撮影画像を用いて行われてもよい。マーカを用いて行われるモーションキャプチャは、例えば、光学式のモーションキャプチャであってもよく、機械式のモーションキャプチャであってもよく、磁気式のモーションキャプチャであってもよい。また、撮影画像を用いてモーションキャプチャを行う場合に、例えば、モデル5との距離を測定することなどによって、撮影画像を用いたモーションキャプチャの精度を向上させるようにしてもよい。撮影画像を用いたモーションキャプチャを行う装置として、例えば、KINECT(登録商標)や、RealSenseなどを用いてもよい。
リンク列のマッピングがリアルタイムで行われる場合には、受付部11は、例えば、モデルリンク列情報を時系列に沿って繰り返して、一定または不定の時間間隔で受け付けることが好適である。すなわち、受付部11が受け付けたモデルリンク列情報によって、モデル5のリンク列の動きが分かることが好適である。なお、モデルリンク列情報自体が、モデル5のリンク列に関する時系列に沿った情報であってもよい。一方、リンク列のマッピングがリアルタイムで行われない場合には、受付部11は、例えば、モデル5のリンク列に関する複数のモデルリンク列情報を一括して受け付けてもよく、または、モデルリンク列情報を一つずつ受け付けてもよい。また、モデル5が2以上のリンク列を有する場合に、受付部11は、モデル5のリンク列ごとにモデルリンク列情報を受け付けてもよい。本実施の形態では、モデル5が人間であり、その人間の腕に関するリンク列のモデルリンク列情報が定期的にリアルタイムでモーションキャプチャ装置2からリンク列マッピング装置1に入力され、受付部11で受け付けられる場合について主に説明する。また、受付部11が複数のリンク列にそれぞれ対応する複数のモデルリンク列情報を受け付ける場合には、そのモデルリンク列情報には、対応するリンク列を識別する情報(例えば、右腕のリンク列である旨等)が含まれていてもよい。また、受付部11は、モデルリンク列情報と共に、モデル5の向きを示す情報(例えば、モデル5の顔の向きを示す情報など)をも受け付けてもよい。そのモデル5の向きを示す情報を用いることによって、モデルリンク列情報がモデル5のどのリンク列に対応するのかを知ることができるようになる。
なお、受付部11は、例えば、有線または無線の通信回線を介して送信されたモデルリンク列情報を受信してもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)から読み出されたモデルリンク列情報を受け付けてもよい。なお、受付部11は、受け付けを行うためのデバイス(例えば、モデムやネットワークカードなど)を含んでもよく、または含まなくてもよい。また、受付部11は、ハードウェアによって実現されてもよく、または所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
記憶部12では、ロボット6のリンク列における関節の可動域を示す情報である関節可動域情報が記憶される。その関節可動域情報には、可動域に制限のあるすべての関節に関する情報が含まれていることが好適である。例えば、ロボット6のリンク列におけるリンク101,102の間の関節Piの角度が、図5のようにθ1 i、θ2 i、θ3 iで示される場合に、関節可動域情報は、θ1 i、θ2 i、θ3 iのうち、可動域に制限のある1以上の角度に関する範囲を示す情報であってもよい。例えば、角度θ1 iの範囲が、
α1 i≦θ1 i≦β1 i
である場合には、関節可動域情報に含まれる角度θ1 iに関する情報は、その角度θ1 iに関する下限値α1 iと、上限値β1 iとであってもよい。なお、可動域に制限のない関節や軸については、関節可動域情報によって可動域が示されなくてもよい。また、図5では、リンク101,102の間の関節Piが3個の軸を有している場合について示しているが、関節の軸数は問わない。関節の軸数は、例えば、1個、2個、3個のいずれかであってもよく、4個以上であってもよい。また、その関節の軸の方向についても任意である。また、2以上の軸を有する関節においては、各軸の順序、例えば、リンク101側からリンク102側について、どのような順序で各軸が設けられているのかを示す情報が記憶部12で記憶されていてもよい。
本実施の形態では、ロボット6がヒューマノイドロボットである場合について主に説明するが、そうでなくてもよい。ロボット6は、例えば、犬や猫、鳥、魚、蛇、昆虫などの動物型ロボットであってもよく、その他の形状のロボットであってもよい。なお、そのロボット6は、1以上の動作可能なリンク列を有しているものとする。その動作可能なリンク列は、例えば、複数のモータによってそれぞれ駆動される複数の関節によって連結されたリンク列であってもよい。また、そのロボット6は、通常、玩具用のロボット、すなわちエンタテイメントロボットであるが、そうでなくてもよい。また、写像元であるモデル5のリンク列におけるリンク数LN1と、写像先であるロボット6のリンク列におけるリンク数LN2との多少は問わない。例えば、モデル5のリンク数LN1は、ロボット6のリンク数LN2より多くてもよく、少なくてもよく、両リンク数LN1,LN2は等しくてもよい。なお、ロボット6のリンク列についても、モデル5のリンク列と同様に座標系が設定されているものとする。その座標系は、ロボット6が存在する実空間の座標系であってもよく、ロボット6のリンク列に関する位置関係を示すための仮想空間の座標系であってもよく、その他の座標系であってもよい。
記憶部12では、関節可動域情報以外の情報が記憶されていてもよい。例えば、ロボット6のリンク列における各リンクの長さを示すリンク長さ情報が記憶部12で記憶されてもよい。そのリンク長さ情報と、ロボット6のリンク列における各関節の角度とを用いることによって、ロボット6のリンク列の位置を特定できることは、ロボットの順運動学として知られている。また、例えば、ロボット6のリンク列における各関節の軸の方向に関する情報が記憶部12で記憶されてもよい。また、モデル5のリンク列においてあらかじめ決められた複数箇所を示す情報や、その複数箇所に対応する、ロボット6のリンク列における複数箇所を示す情報が記憶部12で記憶されていてもよい。また、ロボット6のリンク列に、直線以外の形状のリンクが含まれる場合には、そのリンクの形状を示す情報が記憶部12で記憶されていてもよい。また、後述するノイズ除去部16におけるローパスフィルタの時定数等が記憶部12で記憶されていてもよい。
記憶部12に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が記憶部12で記憶されるようになってもよく、通信回線等を介して送信された情報が記憶部12で記憶されるようになってもよく、または、入力デバイスを介して入力された情報が記憶部12で記憶されるようになってもよい。記憶部12での記憶は、RAM等における一時的な記憶でもよく、または、長期的な記憶でもよい。記憶部12は、所定の記録媒体(例えば、半導体メモリや磁気ディスク、光ディスクなど)によって実現されうる。
正規化部13は、モデル5のリンク列の長さと、ロボット6のリンク列の長さとを正規化する。通常、モーションキャプチャ装置2から受け取るモデルリンク列情報によって示されるモデル5のリンク列の長さと、ロボット6のリンク列の長さとは異なっている。したがって、正規化部13は、両者の長さを一致させる処理である正規化を行う。その正規化において、モデル5のリンク列の長さ、及びロボット6のリンク列の長さは、「1」にされてもよく、または、他の値にされてもよい。本実施の形態では、前者の場合について主に説明する。なお、リンク列の長さとは、リンク列の一端から他端までの各リンクの長さの合計である。モデル5及びロボット6のリンク列の長さを1に正規化する場合には、正規化部13は、例えば、モデル5のリンク列の長さを算出し、モデル5のリンク列における各座標値をその算出したリンク列の長さで割ることによって正規化を行ってもよく、ロボット6のリンク列の長さを算出し、ロボット6のリンク列における各リンクの長さをその算出したリンク列の長さで割ることによって正規化を行ってもよい。なお、例えば、モデルリンク列情報によって、モデル5のリンク列における各リンクの両端の位置が示される場合には、正規化部13は、その情報を用いて各リンクの長さを算出して合計することによって、モデル5のリンク列の長さを算出することができる。また、例えば、モデルリンク列情報によって、モデル5のリンク列における各リンクの長さと角度とが示される場合には、正規化部13は、各リンクの長さを合計することによって、モデル5のリンク列の長さを算出することができる。また、例えば、記憶部12においてロボット6のリンク列における各リンクの長さが記憶されている場合には、正規化部13は、その各リンクの長さを合計することによって、ロボット6のリンク列の長さを算出することができる。また、正規化部13は、モデル5のリンク列の座標系と、ロボット6のリンク列の座標系との少なくとも一方の座標系の単位を変更することによって、正規化を行ってもよい。例えば、正規化部13は、両座標系において、モデル5のリンク列の長さと、ロボット6のリンク列の長さが1になるように座標系の単位を変更することによって、正規化を行ってもよい。
正規化部13は、この正規化の処理の際に、モデル5のリンク列の基端と、ロボット6のリンク列の基端との両方が原点となる座標系を設定してもよい。そして、その座標系において、後段の特定部14や算出部15の処理が行われてもよい。具体的には、正規化部13は、モデル5のリンク列の座標系と、ロボット6のリンク列の座標系とのそれぞれについて、リンク列の基端が原点となるように平行移動などの座標変換を行い、両座標系を同一のものにするため、少なくとも一方の座標系について回転等の座標変換を行ってもよい。なお、両座標系の向きが一致している場合には、回転等の座標変換は行わなくてもよい。本実施の形態では、モデル5及びロボット6のリンク列の位置を示す最終的な座標系として、xyz直交座標系が設定される場合について主に説明する。なお、リンク列の基端とは、例えば、人間の腕や足に対応するリンク列における胴体側、すなわち手先や足先の反対側(すなわち、本体側)の端点のことである。例えば、蛇に対応するリンク列のように本体が存在しない場合には、いずれかの端部、例えば尾側または頭側の端部を基端とみなしてもよい。なお、基端と反対側の端点を先端と呼ぶこともある。また、ロボット6のリンク列における各リンクの長さが変わることはないため、ロボット6のリンク列に関する正規化は、1回行われるだけであってもよい。一方、モデル5のリンク列における各リンクの長さは、モデルリンク列情報の取得方法によっては、時間的に変化することもあり得る。そのように、モデル5のリンク列における各リンクの長さが変わりうる場合には、受付部11がモデル5のリンク列に関する情報を受け付けるごとに、モデル5のリンク列に関する正規化が行われることが好適である。一方、モデル5のリンク列における各リンクの長さが変わらない場合には、例えば、正規化部13が、モデル5のリンク列に関する正規化を1回行い、その正規化後の座標系等をモーションキャプチャ装置2に渡すことによって、それ以降は、正規化されたモデルリンク列情報が受け付けられるようになってもよい。なお、特定部14や算出部15が用いるモデル5やロボット6の座標値は、正規化部13によって正規化された後の座標値である。また、正規化が行われ、両リンク列の基端が原点とされた後には、モデル5のリンク列の位置と、ロボットリンク列の位置とは、一の座標系において示されることが好適である。本実施の形態では、正規化が行われ、両リンク列の基端が原点とされた後に、モデル5及びロボット6の位置が上述のxyz直交座標系によって示される場合について主に説明する。
特定部14は、受付部11によって受け付けられたモデルリンク列情報を用いて、モデル5のリンク列におけるあらかじめ決められた複数箇所の座標値を特定する。なお、その座標値の特定は、正規化部13による正規化の行われた後の座標値の特定である。また、本実施の形態では、その座標値が上述のxyz直交座標系における座標値である場合について主に説明する。モデル5のリンク列におけるあらかじめ決められた複数箇所とは、モデル5のリンク列の両端点の間をあらかじめ決められた比で内分する複数箇所である。すなわち、その複数箇所は、リンク列の両端間をあらかじめ決められた割合で分割する複数の点に応じた箇所である。したがって、この複数箇所は、リンク列の関節の位置とは関係なく決められる。また、この複数箇所の個数は、ロボット6のリンク列における連結箇所の数よりも多いことが好適である。リンク列における連結箇所とは、リンク列においてリンクとリンクとを接続する箇所のことである。また、通常、リンク列における連結箇所の数に1を足した値が、そのリンク列におけるリンク数となるため、複数箇所の個数は、ロボット6のリンク列におけるリンク数以上であることが好適であると言い換えることもできる。また、その複数箇所の位置は、均等に設けられてもよく、またはそうでなくてもよい。また、その複数箇所には、モデル5のリンク列における一端または両端が含まれていてもよく、そうでなくてもよい。また、リンク列の両端点の間をあらかじめ決められた比で内分する複数箇所とは、リンク列を直線状に伸ばした場合に、両端点の間をあらかじめ決められた比で内分する複数箇所であると考えてもよい。その複数箇所の各々を基準点と呼ぶこともある。また、座標値を特定するとは、その特定した座標値を記録媒体に蓄積することであってもよい。
算出部15は、特定部14によって座標値の特定された複数箇所と、その複数箇所にそれぞれ対応するロボット6のリンク列における複数箇所との各距離に応じた目的関数が小さくなるように、ロボット6のリンク列に含まれる各リンクの位置に関する情報であるロボットリンク列情報を算出する。ここで、モデル5のリンク列における複数の基準点に対応するロボット6のリンク列における複数箇所の各々も基準点と呼ぶことがある。特定部14によって特定された、モデル5のリンク列における複数箇所にそれぞれ対応するロボット6のリンク列における複数箇所とは、例えば、ロボット6のリンク列の両端点の間をあらかじめ決められた比で内分する複数箇所であってもよい。そのあらかじめ決められた比は、モデル5のリンク列における複数箇所に関するあらかじめ決められた比と同じであってもよく、または、異なっていてもよい。後者の場合には、例えば、人間であるモデル5の動きが、ロボット6における大げさな動きとなるようにモデル5のリンク列における複数の基準点と、ロボット6のリンク列における複数の基準点とが決定されてもよい。いずれの場合であっても、複数箇所の個数が、ロボット6のリンク列におけるリンク数以上であるときには、ロボット6のリンク列における各リンクに少なくとも1箇所が存在するように、その比が設定されてもよい。モデル5のリンク列に関するあらかじめ決められた比と、ロボット6のリンク列におけるあらかじめ決められた比とが同じである場合には、モデル5のリンク列及びロボット6のリンク列において、同じ比の基準点が対応する基準点となる。一方、両者の比が異なる場合には、モデル5のリンク列における複数の基準点と、ロボット6のリンク列における複数の基準点とは、基端側から順番にそれぞれ対応するものとする。
特定部14によって特定された複数箇所と、その複数箇所にそれぞれ対応するロボット6のリンク列における複数箇所との各距離は、特定されたある基準点と、その基準点に対応するロボット6のリンク列における基準点との距離である。その各距離に応じた目的関数は、各距離が大きくなるほど値が大きくなる関数であってもよい。具体的には、その目的関数は、各距離の二乗を加算したものであってもよい。その場合には、最小二乗法を用いたマッピングが行われることになる。また、その目的関数は、各距離の絶対値を加算したものであってもよい。その場合には、最小絶対値法を用いたマッピングが行われることになる。なお、各距離が大きくなるほど値が大きくなるその他の目的関数が用いられてもよいことは言うまでもない。各距離は、正規化後の距離、すなわち、正規化された座標値を用いて計算された距離である。また、各距離は、モデル5及びロボット6のリンク列の基端を原点にした座標系における座標値に応じた距離、すなわち、その座標値を用いて計算された距離である。また、目的関数が小さくなるようにロボットリンク列情報を算出することは、目的関数が小さくなるようにロボット6のリンク列の位置を算出することである。通常、ロボット6のリンク列における各リンクの長さは一定であるため、ロボット6のリンク列における各関節の角度によって、ロボット6のリンク列の位置を特定できる。したがって、ロボット6のリンク列の位置を算出することは、そのリンク列における各関節の角度を算出することであってもよい。その場合には、ロボットリンク列情報は、ロボット6のリンク列における各関節の角度を示す情報であってもよい。リンク列の基端も関節である場合には、そのロボットリンク列情報には、その基端である関節の角度も含まれてもよい。一方、ロボットリンク列情報は、関節の角度以外の情報であってもよい。例えば、ロボットリンク列情報は、ロボット6のリンク列における各リンクの両端の位置を示す情報であってもよく、ロボット6のリンク列における複数の基準点の各座標値であってもよい。ロボットリンク列情報が、ロボット6のリンク列における複数の基準点の各座標値である場合に、その複数の基準点の各座標値によってリンク列の位置を一意に特定できることが好適である。本実施の形態では、ロボットリンク列情報が、ロボット6のリンク列における各関節の角度を示す情報である場合について主に説明する。その場合に、ロボットリンク列情報では、例えば、関節を識別する情報と、その関節における角度を示す情報とが対応付けられていてもよく、関節の軸を識別する情報と、その軸における角度を示す情報とが対応付けられていてもよい。また、ロボットリンク列情報を算出する際に、ロボット6のリンク列の基端の位置を固定してもよく、または、そうでなくてもよい。本実施の形態では、前者の場合について説明する。なお、後者の場合には、ロボット6のリンク列の基端の位置を示す情報もロボットリンク列情報に含まれてもよい。
目的関数が小さくなるようにロボットリンク列情報を算出する場合に、算出部15は、最適化問題を解く任意のアルゴリズムを用いることができる。なお、その最適化問題を解く際には、局所最適となるように解いてもよく、大域最適となるように解いてもよい。本実施の形態では、最適化問題を局所最適となるように解く場合について主に説明する。例えば、算出部15は、目的関数の導関数を用いるアルゴリズムである勾配法によって目的関数が小さくなるようにロボットリンク列情報を算出してもよく、目的関数の導関数を用いないアルゴリズムによって目的関数が小さくなるようにロボットリンク列情報を算出してもよい。また、算出部15は、記憶部12で記憶されている関節可動域情報の示す可動域内において、目的関数が小さくなるようにロボットリンク列情報を算出する。すなわち、算出部15は、関節可動域情報を制約条件として、最適化問題を解いてもよい。また、目的関数が小さくなるようにロボットリンク列情報を算出するとは、目的関数が最小となるようにロボットリンク列情報を算出することであってもよく、目的関数が最小に近くなるようにロボットリンク列情報を算出することであってもよい。ここで、目的関数が最小となるとは、目的関数が厳密な意味で最小値になることであってもよく、または、目的関数が最小値に十分近くなることであってもよい。目的関数が小さくなるようにロボットリンク列情報を算出する際に、例えば、ニュートン法などの反復処理を繰り返し、完全に収束する前に処理を終了することによってロボットリンク列情報を算出した場合には、目的関数を厳密な意味で最小にするロボットリンク列情報を算出したことにはならないが、目的関数が最小値に十分近くなるようにロボットリンク列情報を算出したことになると言える。また、目的関数が小さくなるようにロボットリンク列情報を算出している際に、次のモデルリンク列情報が受付部11で受け付けられた場合には、算出部15は、その時点のロボットリンク列情報を後段のノイズ除去部16に渡し、新たに受け付けられたモデルリンク列情報に応じたロボットリンク列情報の算出を行ってもよい。その場合であっても、算出部15は、目的関数が最小に近くなるようにロボットリンク列情報を算出していることになる。そのように、算出部15が、目的関数が最小になるように逐次的に処理を行っている途中にその処理を終了した場合に、その終了時点のロボットリンク列情報が、目的関数が小さくなるように算出されたロボットリンク列情報であると考えてもよい。
なお、算出部15が目的関数を小さくする処理を行うモデル5のリンク列とロボット6のリンク列とは、あらかじめ決められていてもよく、または、そうでなくてもよい。後者の場合には、例えば、あらかじめ決められたルールに従って、モデル5のリンク列に対応するロボット6のリンク列を特定するようにしてもよい。具体的には、モデル5が人間であり、ロボット6がヒューマノイドロボットである場合には、頭部に近いリンク列同士を対応するリンク列とする、というルールが存在してもよく、頭部に近く、頭部の向き(例えば、頭部の顔の向き)に対して右側(あるいは左側)のリンク列同士を対応するリンク列とする、というルールが存在してもよい。このルールにより、腕のリンク列を対応付けることができる。また、頭部から遠いリンク列同士を対応するリンク列とする、というルールが存在してもよく、頭部から遠く、頭部の向きに対して右側(あるいは左側)のリンク列同士を対応するリンク列とする、というルールが存在してもよい。このルールにより、足のリンク列を対応付けることができる。
ノイズ除去部16は、ロボットリンク列情報に含まれる高周波のノイズ成分を除去する。例えば、モーションキャプチャ装置2によってモデルリンク列情報を取得する際に、そのモデルリンク列情報に高周波のノイズ成分が含まれることがある。その場合には、結果としてロボットリンク列情報にも高周波のノイズ成分が含まれることになるため、ノイズ除去部16によってそのノイズ成分を除去することが好適である。ノイズ除去部16は、例えば、ローパスフィルタであってもよい。ノイズ除去部16は、例えば、算出部15によって算出されたロボットリンク列情報に移動平均処理を行うことによって、ローパスフィルタとして機能してもよい。そのローパスフィルタの時定数として、ノイズ除去部16は、記憶部12で記憶されているものを読み出して用いてもよい。
出力部17は、ロボットリンク列情報に応じたロボット6のリンク列の各関節の角度に関する情報を出力する。そのロボットリンク列情報は、ノイズ除去部16によって高周波のノイズ成分が除去されたロボットリンク列情報である。リアルタイムでマッピングの処理が行われる場合には、出力部17は、その情報を時系列に沿って繰り返して、一定または不定の時間間隔で出力してもよい。この場合には、例えば、モデル5の動きにあわせて、ロボット6が動作するようになる。一方、リアルタイムでマッピングの処理が行われない場合には、出力部17は、情報を順次、出力してもよく、または、一括してまとめて出力してもよい。この場合には、例えば、モデル5の過去の動きと同様の動きを、ロボット6が再生するようになってもよい。また、ロボット6が2以上のリンク列を有する場合には、出力部17は、ロボット6のリンク列ごとに情報を出力してもよい。ロボットリンク列情報が、ロボット6のリンク列の各関節の角度に関する情報である場合には、出力部17は、ロボットリンク列情報をそのまま出力してもよい。ロボットリンク列情報がロボット6のリンク列の位置を示す情報である場合には、出力部17は、そのロボットリンク列情報を、ロボット6のリンク列の各関節の角度に関する情報に変換して出力する。例えば、図5において、リンク101,102の位置が分かっている場合に、関節Piの各軸に関する角度を特定する方法はすでに公知であるため、その方法を用いて、ロボットリンク列情報を、ロボット6のリンク列の各関節の角度に関する情報に変換することができる。ロボット6のリンク列の各関節の角度に関する情報とは、各関節の角度を示す情報であってもよく、結果として、各関節の角度を知ることができる情報であってもよい。
ここで、この出力は、出力対象の情報がロボット6で結果として受け付けられるのであれば、どのような出力であってもよく、例えば、ロボット6への有線または無線の通信回線を介した送信でもよく、記録媒体への蓄積でもよく、他の構成要素への引き渡しでもよい。なお、出力部17によって、記録媒体への情報の蓄積や、他の構成要素への情報の引き渡しが行われた場合であっても、その情報が最終的にロボット6に到達するようになることが好適であることは言うまでもない。また、出力対象の情報が、ロボット6で受け付けられるまでに、適宜、フォーマットの変換等の処理が行われてもよいことは言うまでもない。なお、出力部17は、出力を行うデバイス(例えば、送信デバイスなど)を含んでもよく、または含まなくてもよい。また、出力部17は、ハードウェアによって実現されてもよく、または、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
次に、リンク列マッピング装置1の動作について図2のフローチャートを用いて説明する。
(ステップS101)正規化部13は、ロボット6のリンク列に関する正規化を行う。
(ステップS102)受付部11は、モデルリンク列情報を受け付けたかどうか判断する。そして、モデルリンク列情報を受け付けた場合には、ステップS103に進み、そうでない場合には、モデルリンク列情報を受け付けるまで、ステップS102の処理を繰り返す。
(ステップS103)正規化部13は、ステップS102で受け付けられたモデルリンク列情報に対応するモデル5のリンク列に関する正規化を行う。
(ステップS104)特定部14は、ステップS103で正規化されたモデル5のリンク列におけるあらかじめ決められた複数箇所の座標値をそれぞれ特定する。
(ステップS105)算出部15は、ステップS104で座標値が特定された複数箇所と、その複数箇所にそれぞれ対応するロボット6のリンク列における複数箇所との各距離に応じた目的関数が小さくなるように、ロボットリンク列情報を算出する。
(ステップS106)ノイズ除去部16は、ステップS105で算出されたロボットリンク列情報に含まれる高周波のノイズ成分を除去する。
(ステップS107)出力部17は、高周波のノイズ成分の除去されたロボットリンク列情報に応じたロボット6のリンク列の各関節の角度に関する情報を出力する。そして、ステップS102に戻る。
なお、図2のフローチャートにおいてリアルタイムの処理を行う場合には、ステップS105において、ロボットリンク列情報を算出している際に、モデルリンク列情報を受け付ける処理を並列して実行し、モデルリンク列情報を受け付けるとステップS105の処理を中断し、その時点のロボットリンク列情報に応じた出力(ステップS106,S107)を行うと共に、新たに受け付けられたモデルリンク列情報に応じた処理を実行するようにしてもよい。また、モデル5やロボット6が、マッピング関係にあるリンク列を複数有している場合には、リンク列マッピング装置1は、各リンク列について、ステップS102〜S107の処理を繰り返して実行してもよく、並列して実行してもよい。具体的には、モデル5の両手、両足のリンク列をロボット6の両手、両足にマッピングする場合には、ステップS102〜S107の処理が、4個のリンク列について繰り返して、または並列して処理されるようにしてもよい。また、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、本実施の形態によるリンク列マッピング装置1の動作について、具体例を用いて説明する。この具体例では、モデル5のリンク列が人間の腕であり、ロボット6のリンク列がヒューマノイドロボットの腕である場合について説明する。すなわち、人間の腕が、ヒューマノイドロボットの腕にマッピングされる場合について説明する。この具体例では、モデル5のリンク列におけるリンク数をnとし、ロボット6のリンク列におけるリンク数をNとする。n,Nはそれぞれ1以上の整数である。
図3は、人間であるモデル5のリンク列5aの一例を示す図である。マッピング対象のリンク列5aは、リンク51〜53で構成されており、関節である端点p0は両肩の中心であり、関節p1は肩であり、関節p2は肘であり、端点p3は手先である。なお、図3では、説明を簡単にするため、手首の関節を省略している。図3において、p0〜p3の座標をそれぞれxyz直交座標系における(x0,y0,z0)、(x1,y1,z1)、(x2,y2,z2)、(x3,y3,z3)とする。また、リンク51〜53の長さをそれぞれd1,d2,d3とする。図3では、リンク数n=3である。
図4は、ヒューマノイドロボットであるロボット6のリンク列6aの一例を示す図である。マッピング先のリンク列6aは、リンク61,62で構成されており、関節である端点P0は肩であり、関節P1は肘であり、端点P2は手先である。図4において、P0〜P1の座標をそれぞれXYZ直交座標系における(X0,Y0,Z0)、(X1,Y1,Z1)、(X2,Y2,Z2)とする。また、リンク61,62の長さをそれぞれD1,D2とする。このD1,D2は、記憶部12で記憶されているものとする。また、関節Piにおける関節の角度をθ1 i,θ2 i,…,θki iとする。なお、kiは、関節Piにおける軸数を示す1以上の整数である。i=0,1である。図4では、リンク数N=2である。
xyz直交座標系、及びXYZ直交座標系は共に、モデル5やロボット6に設定されるローカル座標系であり、xyz軸がそれぞれXYZ軸に対応するようになっているものとする。例えば、z軸及びZ軸が体軸方向に設定されており、x軸及びX軸が前後方向に設定されており、y軸及びY軸が左右方向に設定されていてもよい。なお、体軸方向とは、人間やヒューマノイドロボットの立位での上下方向のことである。
正規化部13は、まず、ロボット6のリンク列の正規化を行う(ステップS101)。具体的には、正規化部13は、記憶部12で記憶されているリンクの長さD1等を用いて、次式のように、リンク列の長さDを算出する。
Figure 0005892531
次に、正規化部13は、P0が原点になるようにXYZ直交座標系を平行移動させる。具体的には、(Xi,Yi,Zi)を(Xi−X0,Yi−Y0,Zi−Z0)にしてもよい。ただし、i=0〜Nである。また、その平行移動後のXYZ直交座標系において、各座標値に1/Dを掛けることによって、ロボット6のリンク列の長さが1になるようにする。具体的には、(Xi,Yi,Zi)を(Xi/D,Yi/D,Zi/D)としてもよい。なお、その平行移動の処理と、1/Dを掛ける処理との順序は問わない。また、正規化部13は、記憶部12で記憶されているリンクの長さD1等についても、1/Dを掛けることによって正規化する。以下の説明では、(Xi,Yi,Zi)、Diは、平行移動と正規化との行われた後の座標、リンクの長さであるとする。
その後、受付部11がモデルリンク列情報を受け付けたとする(ステップS102)。そのモデルリンク列情報は、モデル5のリンク列における各リンクの両端の位置を示す情報、すなわち、(x0,y0,z0)、(x1,y1,z1)、…、(xn,yn,zn)であるとする。すると、正規化部13は、モデル5のリンク列の正規化を行う(ステップS103)。具体的には、正規化部13は、モデルリンク列情報を用いて、各リンクの長さd1〜dnを、次式のように算出する。
Figure 0005892531
その後、正規化部13は、算出したリンクの長さd1等を用いて、次式のように、リンク列の長さdを算出する。
Figure 0005892531
次に、正規化部13は、p0が原点になるようにxyz直交座標系を平行移動させる。具体的には、(xi,yi,zi)を(xi−x0,yi−y0,zi−z0)にしてもよい。ただし、i=0〜nである。また、その平行移動後のxyz直交座標系において、各座標値に1/dを掛けることによって、モデル5のリンク列の長さが1になるようにする。具体的には、(xi,yi,zi)を(xi/d,yi/d,zi/d)としてもよい。なお、その平行移動の処理と、1/dを掛ける処理との順序は問わない。また、正規化部13は、算出したリンクの長さd1等についても、1/dを掛けることによって正規化する。以下の説明では、(xi,yi,zi)、diは、平行移動と正規化との行われた後の座標、リンクの長さであるとする。この具体例では、xyz直交座標系におけるモデル5の向きと、XYZ直交座標系におけるロボット6の向きとが一致しているため、それぞれの座標系について平行移動と正規化とを行った後には、モデル5及びロボット6の座標値をxyz直交座標系で示すことにする。すなわち、平行移動及び正規化後の(Xi,Yi,Zi)等は、xyz直交座標系における座標値であるとする。
この具体例では、モデル5及びロボット6のリンク列をm個に分割する箇所の距離に応じた目的関数を用いるものとする。すなわち、モデル5のリンク列においてあらかじめ決められた複数箇所が、m−1個であるとする。また、モデル5のリンク列において、そのm−1個の箇所は、リンク列の長さを1とした場合に、基端側からの長さがg1,g2,…,gm-1となる位置であるとする。例えば、モデル5のリンク列が均等にm個に分割される場合には、gi=i/mとなる。なお、g0=0,gm=1とする。また、giに対応する基準点の座標を、(ai,bi,ci)とする。また、mは2以上の整数である。
また、モデル5のリンク列におけるm−1個の箇所に応じたロボット6のリンク列におけるm−1個の箇所も、リンク列の長さを1とした場合に、基端側からの長さがG1,G2,…,Gm-1となる位置であるとする。例えば、ロボット6のリンク列が均等にm個に分割される場合には、Gi=i/mとなる。なお、G0=0,Gm=1とする。また、Giに対応する基準点の座標を、(Ai,Bi,Ci)とする。また、前述のように、gi=Giであってもよく、または、そうでなくてもよい。また、g1〜gm-1やG1〜Gm-1は、記憶部12で記憶されていてもよい。
特定部14は、記憶部12からg1〜gm-1を読み出し、それらを用いてモデル5のリンク列における複数箇所の座標値を特定する(ステップS104)。具体的には、
Figure 0005892531
となるgiが存在する場合に、特定部14は、そのiについて、(xj-1,yj-1,zj-1)と、(xj,yj,zj)とを両端とするリンクの長さを1としたときの(xj-1,yj-1,zj-1)からの長さが、
Figure 0005892531
である点を、i番目の基準点(ai,bi,ci)とする。そのように、上記式を満たすgiに応じた箇所(ai,bi,ci)を特定する処理を、j=1〜nについて行うことによって、モデル5のリンク列におけるあらかじめ決められた複数箇所のそれぞれの座標値を特定することができる。その特定した座標値(ai,bi,ci)は、図示しない記録媒体に蓄積されてもよい。なお、d0=0としている。
ここで、基準点(ai,bi,ci)に対応するロボット6のリンク列における基準点(Ai,Bi,Ci)を特定する方法について説明する。モデル5のリンク列の場合と同様に、
Figure 0005892531
となるGiが存在する場合に、そのiについて、(Xj-1,Yj-1,Zj-1)と、(Xj,Yj,Zj)とを両端とするリンクの長さを1としたときの(Xj-1,Yj-1,Zj-1)からの長さが、
Figure 0005892531
である点が、i番目の基準点(Ai,Bi,Ci)となる。そのように、上記式を満たすGiに応じた箇所(Ai,Bi,Ci)を特定する処理を、j=1〜Nについて行うことによって、ロボット6のリンク列におけるあらかじめ決められた複数箇所のそれぞれの座標値を特定することができる。その特定した座標値(Ai,Bi,Ci)は、図示しない記録媒体に蓄積されてもよい。なお、D0=0としている。
なお、ロボット6のリンク列においては、リンクの先端側の端点の位置を、そのリンクの基端側の端点の位置と、その基端側の端点における関節の角度とを用いて表すことができる。例えば、次式のようになる。なお、i=1〜Nであり、関数Fiは、関節Piの角度θ1 i,θ2 i,…,θki iを引数とし、Piに対するP(i+1)の相対的な位置を示す関数である。
(Xi,Yi,Zi)=(Xi-1,Yi-1,Zi-1)+Fi-1(θ1 i-1,θ2 i-1,…,θk(i-1) i-1
したがって、各座標値(Aj,Bj,Cj)は、各関節Piの角度を用いて表すことができるため、例えば、次式のように表すことができる。なお、j=1〜m−1である。また、(Aj,Bj,Cj)の位置に応じて、関数Gjの引数は変わりうるが、次式では、引数が最も多い場合について記載している。この関係はロボット6のリンク列における複数の箇所が変更されない限り変わらないため、特定部14は、モデル5のリンク列における複数の箇所の座標値を特定する際に、ロボット6のリンク列における複数の箇所を示す次式を算出し、その算出した結果を記憶部12または図示しない記録媒体に蓄積してもよい。
(Aj,Bj,Cj)=Gj(θ1 0,θ2 0,…,θk0 0,θ1 1,θ2 1,…,θk1 1,…,θ1 N-1,θ2 N-1,…,θk(N-1) N-1
その後、算出部15は、目的関数Eを最小にするロボットリンク列情報を算出する(ステップS105)。具体的には、次式の目的関数Eは、各関節の角度θ1 0,θ2 0,…,θk0 0,θ1 1,θ2 1,…,θk1 1,…,θ1 N-1,θ2 N-1,…,θk(N-1) N-1を引数とする関数となる。そのため、算出部15は、次式の目的関数Eが最小となる各関節の角度θ1 0,θ2 0,…,θk0 0,θ1 1,θ2 1,…,θk1 1,…,θ1 N-1,θ2 N-1,…,θk(N-1) N-1を算出し、その算出結果であるロボットリンク列情報をノイズ除去部16に渡す。
Figure 0005892531
上記目的関数Eは、例えば図6において、基準点ps1と基準点PS1との距離の二乗、基準点ps2と基準点PS2との距離の二乗、基準点ps3と基準点PS3との距離の二乗、基準点ps4と基準点PS4との距離の二乗を足しあわせたものとなる。なお、リンク列の両端点も基準点である場合には、その距離も目的関数に含めるようにしてもよい。その場合には、上記目的関数Eの式において、総和をj=0からj=mまでにすればよいことになる。なお、(a0,b0,c0)=(x0,y0,z0)であり、(am,bm,cm)=(xn,yn,zn)であり、(A0,B0,C0)=(X0,Y0,Z0)であり、(Am,Bm,Cm)=(XN,YN,ZN)であるとする。図6においては、正規化後のリンク列5a,6aを示しているため、両リンク列5a,6aの長さは等しくなっており、また、基端側の端点p0,P0が一致している。そのように、リンク列の基端を一致させる場合には、j=0における基準点間の距離は0であるため、上記目的関数において、総和をj=1からj=mまでにしてもよい。
なお、上記目的関数Eにおいて、(ai,bi,ci)は、特定部14によって特定された座標値であり、(Ai,Bi,Ci)は、各関節の角度θ1 0,θ2 0,…,θk0 0,θ1 1,θ2 1,…,θk1 1,…,θ1 N-1,θ2 N-1,…,θk(N-1) N-1で表される。したがって、その目的関数Eを最小にする角度θ1 0,θ2 0,…,θk0 0,θ1 1,θ2 1,…,θk1 1,…,θ1 N-1,θ2 N-1,…,θk(N-1) N-1を勾配法によって求める場合には、例えば、目的関数Eを角度θ1 0等で偏微分し、角度θ1 0等について目的関数Eが極小値となる位置をそれぞれ求めてもよい。
ノイズ除去部16は、算出部15から受け取ったロボットリンク列情報から高周波のノイズ成分を除去し、その除去した結果のロボットリンク列情報を出力部17に渡す(ステップS106)。なお、そのノイズの除去を移動平均処理によって行う場合には、ノイズ除去部16は、あらかじめ決められた個数の最新のロボットリンク列情報を一時的に記憶していてもよい。
出力部17は、ノイズ除去部16から受け取ったロボットリンク列情報をロボット6に出力する(ステップS107)。その結果、ロボット6は、リンク列の各関節が、ロボットリンク列情報に含まれる角度となるように各関節のモータ等を制御する。そのようにすることで、モデル5のリンク列の形状と、ロボット6のリンク列の形状とが似たものになる。また、そのような動作が繰り返されることによって、ロボット6がモデル5の動作をまねるように制御できるようになり、ロボット6をミラーロボットとして動作させることができるようになる。
そのミラーロボットとしてのロボット6の動作の一例について具体的に説明する。図7で示されるように、モデル5が、腕に対応するリンク列5aを、下向きの位置5a−1から、側方の位置5a−2を経由して、上向きの位置5a−3にまで、矢印AR1のように動かしたとする。その一連の動作において、腕はねじられていないものとする。すなわち、関節p0,p1においては、図6の紙面に垂直な方向の軸を中心とする回転のみが行われたとする。一方、ロボット6の腕に対応するリンク列6aは、下向きの位置6a−1から腕をねじることなく上げることができるのは、側方の位置6a−2までであったとする。すると、ロボット6の腕をねじることなく側方の位置6a−2から上向きの位置6a−3までのマッピングを行うことができなくなる。そこで、モデル5のリンク列が側方の位置5a−2から上向きの位置5a−3にまで移動する際には、目的関数Eを最小にするため、算出部15は、関節P0において腕を180°ねじるようにロボットリンク列情報を算出することになる。したがって、目的関数Eを最小にするようにロボット6のリンク列6aを動作させる場合には、そのリンク列6aは、下向きの位置6a−1から側方の位置6a−2まで腕をねじることなく矢印AR2のように動き、その後、矢印AR3の方向に180°回転された後に、側方の位置6a−2から上向きの位置6a−3まで、矢印AR4のように動くことになる。その結果、上向きの位置5a−3,6a−3において、モデル5の手の平は外向きとなり、ロボット6の手の平は内向きとなる違いはあるが、両者の腕の形状を似たものとすることができる。
なお、上述の説明において、写像元のモデル5のリンク列におけるリンク数が、ロボット6のリンク列におけるリンク数以上である場合には、リンク列における複数の箇所の個数や位置を適切に設定することによって、ロボット6のリンク列の形状が一意に決定されうる。一方、写像元のモデル5のリンク列におけるリンク数が、ロボット6のリンク列におけるリンク数未満である場合には、ロボット6のリンク列の形状が一意に決定されないこともある。ロボット6のリンク列の形状が一意に決定されないとは、目的関数Eを最小にする複数の異なるロボットリンク列情報を算出できることである。そのような場合には、算出部15は、例えば、ランダムにロボットリンク列情報を算出してもよく、または、ロボットリンク列情報を一意に決定するための制約条件を用いて、ロボットリンク列情報を算出してもよい。その制約条件は、例えば、直前のロボット6のリンク列からの変化が最も少なくなるようにすることであってもよい。その変化は、関節の角度の変化であってもよく、または、リンク列における特定の位置の変化であってもよい。その特定の位置は、関節であってもよく、先端であってもよく、その他の点であってもよい。また、それ以外の制約条件を用いて目的関数Eを小さくするためのロボットリンク列情報を算出するようにしてもよい。写像元のモデル5のリンク列におけるリンク数が、ロボット6のリンク列におけるリンク数以上である場合であっても、ロボット6のリンク列の形状が一意に決定されないときには、上述の説明と同様にしてロボットリンク列情報を算出してもよい。
以上のように、本実施の形態によるリンク列マッピング装置1によれば、モデル5のリンク列をロボット6のリンク列にマッピングするための変換式等を人手で作成しなくても、ロボット6のリンク列が、モデル5のリンク列と似た動作を行うように、モデル5のリンク列の形状をロボット6のリンク列にマッピングすることができる。そのため、その変換式を作成する労力が不要になるというメリットがある。また、そのような変換式を用いた場合には、モデル5が想定外の動きを行うことなどによって、ロボット6のリンク列への変換に失敗し、ロボット6の動きが途中で停止することもあるが、本実施の形態のようにマッピングを行うことによって、そのような事態を回避することができる。また、ロボット6のリンク数がモデル5のリンク数よりも少ない場合や、ロボット6の関節の可動域がモデル5の関節の可動域よりも狭い場合、すなわち、完全なミラーリングのためのマッピングを行うことができない場合であっても、ロボット6の動きをモデル5の動きに似せることができるようになる。また、ノイズ除去部16を備えることにより、ロボットリンク列情報における高周波ノイズを除去することができ、例えば、モデルリンク列情報に混入した高周波ノイズの影響を低減することができるようになる。
また従来、ヒューマノイドロボットのリンク数や関節の可動域に合うように、人間の動きがキャプチャーされることもあった。具体的には、ロボットの腕のリンク数が1個である場合には、人間の腕においても、1個のリンクに関する動きのみがキャプチャーされることがあった。その場合には、ヒューマノイドロボットの種類ごとに専用のモーションキャプチャを行うようにセッティングする必要があった。一方、本実施の形態によるリンク列マッピング装置1では、モデルリンク列情報からロボットリンク列情報へのマッピングを自動的に行うため、モーションキャプチャ装置2は、汎用のモーションキャプチャを行う装置であってもよい。したがって、専用のモーションキャプチャを行わなくてもよいというメリットもある。
なお、本実施の形態では、リンク列マッピング装置1がノイズ除去部16を備えている場合について説明したが、高周波のノイズ成分を除去しない場合には、リンク列マッピング装置1は、ノイズ除去部16を備えていなくてもよい。例えば、モデルリンク列情報に高周波のノイズ成分が含まれていないことが明らかな場合などには、リンク列マッピング装置1はノイズ除去部16を備えなくてもよい。
また、本実施の形態では、正規化部13がモデル5のリンク列の基端と、ロボット6のリンク列の基端を座標系の原点にする場合について説明したが、そうでなくてもよい。両基端が原点になっていない状況で目的関数を用いたロボットリンク列情報の算出を行ってもよく、はじめから両基端が原点となるように各リンク列の座標系が設定されていてもよい。
また、本実施の形態では、モデル5のリンク列の長さと、ロボット6のリンク列の長さとを正規化する場合について説明したが、そうでなくてもよい。例えば、両長さが一緒になるように設定されている場合、例えば、モデルリンク列情報におけるリンク列の長さと、ロボット6のリンク列の長さとが同じになるように決まっている場合などには、正規化の処理を行わなくてもよい。その場合には、リンク列マッピング装置1は、正規化部13を備えていなくてもよい。
また、本実施の形態では、記憶部12に関節可動域情報が記憶されている場合について説明したが、そうでなくてもよい。例えば、関節の可動域に制限のない場合には、関節可動域情報が記憶部12で記憶されていなくてもよい。また、関節可動域情報が記憶部12において記憶されていない場合には、算出部15は、関節可動域情報に関する制約条件のない状況において、目的関数が小さくなるようにロボットリンク列情報を算出することになる。
また、本実施の形態において、上述のように、モデルリンク列情報を用いてロボットリンク列情報を算出し、そのロボットリンク列情報に応じた出力を行う一連の処理は、リアルタイムで行われてもよく、または、そうでなくてもよい。
また、本実施の形態では、モデル5やロボット6のリンク列に分岐のない場合について説明したが、リンク列に分岐が含まれていてもよい。モデル5やロボット6のリンク列に分岐が含まれる場合には、例えば、分岐点において、複数のリンク列に分割し、分岐のない各リンク列について上述の処理を行ってもよく、または、分岐を有するリンク列に対して、上述の処理を行ってもよい。
また、本実施の形態では、ロボット6をミラーロボットとして動作させるためのマッピングを行う場合について主に説明したが、そうでなくてもよい。例えば、モデル5の腕のリンク列を、ロボット6の足のリンク列にマッピングし、モデル5の足のリンク列を、ロボット6の腕のリンク列にマッピングするようにしてもよい。また、人間であるモデル5の腕のリンク列を、蛇型のロボット6の頭から尾までのリンク列にマッピングしてもよい。
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、または、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
また、上記実施の形態において、各構成要素間で行われる情報の受け渡しは、例えば、その情報の受け渡しを行う2個の構成要素が物理的に異なるものである場合には、一方の構成要素による情報の出力と、他方の構成要素による情報の受け付けとによって行われてもよく、または、その情報の受け渡しを行う2個の構成要素が物理的に同じものである場合には、一方の構成要素に対応する処理のフェーズから、他方の構成要素に対応する処理のフェーズに移ることによって行われてもよい。
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、算出したり、送信したり、受信したりした情報や、各構成要素が処理で用いる閾値や数式、アドレス等の情報等は、上記説明で明記していなくても、図示しない記録媒体において、一時的に、または長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、または、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、または、図示しない読み出し部が行ってもよい。
また、上記実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いる閾値やアドレス、各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していなくても、ユーザが適宜、それらの情報を変更できるようにしてもよく、または、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
また、上記実施の形態において、リンク列マッピング装置1に含まれる2以上の構成要素が通信デバイスや入力デバイス等を有する場合に、2以上の構成要素が物理的に単一のデバイスを有してもよく、または、別々のデバイスを有してもよい。
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、または、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、記憶部や記録媒体にアクセスしながらプログラムを実行してもよい。なお、上記実施の形態におけるリンク列マッピング装置1を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、モデルのリンク列に含まれる各リンクの位置に関する情報であるモデルリンク列情報を受け付ける受付部、受付部によって受け付けられたモデルリンク列情報を用いて、モデルのリンク列におけるあらかじめ決められた複数箇所の座標値を特定する特定部、特定部によって特定された複数箇所の座標値と、複数箇所にそれぞれ対応するロボットのリンク列における複数箇所の座標値との距離に応じた目的関数が小さくなるように、ロボットのリンク列に含まれる各リンクの位置に関する情報であるロボットリンク列情報を算出する算出部、算出部によって算出されたロボットリンク列情報に応じたロボットのリンク列の各関節の角度に関する情報を出力する出力部として機能させるためのプログラムである。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には少なくとも含まれない。
また、このプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、CD−ROMなどの光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、または分散処理を行ってもよい。
図8は、上記プログラムを実行して、上記実施の形態によるリンク列マッピング装置1を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
図8において、コンピュータシステム900は、CD−ROMドライブ905を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
図9は、コンピュータシステム900の内部構成を示す図である。図9において、コンピュータ901は、CD−ROMドライブ905に加えて、MPU(Micro Processing Unit)911と、ブートアッププログラム等のプログラムを記憶するためのROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM913と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク914と、MPU911、ROM912等を相互に接続するバス915とを備える。なお、コンピュータ901は、LANやWAN等への接続を提供する図示しないネットワークカードを含んでいてもよい。
コンピュータシステム900に、上記実施の形態によるリンク列マッピング装置1の機能を実行させるプログラムは、CD−ROM921に記憶されて、CD−ROMドライブ905に挿入され、ハードディスク914に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク914に記憶されてもよい。プログラムは実行の際にRAM913にロードされる。なお、プログラムは、CD−ROM921、またはネットワークから直接、ロードされてもよい。また、CD−ROM921に代えて他の記録媒体(例えば、DVD等)を介して、プログラムがコンピュータシステム900に読み込まれてもよい。
プログラムは、コンピュータ901に、上記実施の形態によるリンク列マッピング装置1の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能やモジュールを呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
以上より、本発明によるリンク列マッピング装置等によれば、モデルのリンク列を自動的に任意のロボットのリンク列にマッピングできるという効果が得られ、例えば、ヒューマノイドロボットなどをミラーロボットとして動作させるための装置等として有用である。
1 リンク列マッピング装置
2 モーションキャプチャ装置
11 受付部
12 記憶部
13 正規化部
14 特定部
15 算出部
16 ノイズ除去部
17 出力部

Claims (8)

  1. モデルのリンク列に含まれる各リンクの位置に関する情報であるモデルリンク列情報を受け付ける受付部と、
    前記受付部によって受け付けられたモデルリンク列情報を用いて、前記モデルのリンク列におけるあらかじめ決められた複数箇所の座標値を特定する特定部と、
    前記特定部によって特定された複数箇所と、当該複数箇所にそれぞれ対応するロボットのリンク列における複数箇所との各距離に応じた目的関数が小さくなるように、前記ロボットのリンク列に含まれる各リンクの位置に関する情報であるロボットリンク列情報を算出する算出部と、
    前記算出部によって算出されたロボットリンク列情報に応じた前記ロボットのリンク列の各関節の角度に関する情報を出力する出力部と、を備えたリンク列マッピング装置。
  2. 前記複数箇所の個数は、前記ロボットのリンク列における連結箇所の数よりも多い、請求項1記載のリンク列マッピング装置。
  3. 前記ロボットのリンク列における関節の可動域を示す情報である関節可動域情報が記憶される記憶部をさらに備え、
    前記算出部は、前記関節可動域情報の示す可動域内において、前記目的関数が小さくなるように前記ロボットリンク列情報を算出する、請求項1または請求項2記載のリンク列マッピング装置。
  4. 前記モデルのリンク列の長さと、前記ロボットのリンク列の長さとを正規化する正規化部をさらに備え、
    前記距離は、正規化後の距離である、請求項1から請求項3のいずれか記載のリンク列マッピング装置。
  5. 前記距離は、前記モデルのリンク列の基端及び前記ロボットのリンク列の基端を原点にした座標系における座標値に応じた距離である、請求項1から請求項4のいずれか記載のリンク列マッピング装置。
  6. 前記ロボットリンク列情報に含まれる高周波のノイズ成分を除去するノイズ除去部をさらに備え、
    前記出力部は、前記ノイズ除去部によって高周波のノイズ成分が除去されたロボットリンク列情報に応じた前記ロボットのリンク列の各関節の角度に関する情報を出力する、請求項1から請求項5のいずれか記載のリンク列マッピング装置。
  7. モデルのリンク列に含まれる各リンクの位置に関する情報であるモデルリンク列情報を受け付ける受付ステップと、
    前記受付ステップで受け付けられたモデルリンク列情報を用いて、前記モデルのリンク列におけるあらかじめ決められた複数箇所の座標値を特定する特定ステップと、
    前記特定ステップで特定された複数箇所と、当該複数箇所にそれぞれ対応するロボットのリンク列における複数箇所との各距離に応じた目的関数が小さくなるように、前記ロボットのリンク列に含まれる各リンクの位置に関する情報であるロボットリンク列情報を算出する算出ステップと、
    前記算出ステップで算出されたロボットリンク列情報に応じた前記ロボットのリンク列の各関節の角度に関する情報を出力する出力ステップと、を備えたリンク列マッピング方法。
  8. コンピュータを、
    モデルのリンク列に含まれる各リンクの位置に関する情報であるモデルリンク列情報を受け付ける受付部、
    前記受付部によって受け付けられたモデルリンク列情報を用いて、前記モデルのリンク列におけるあらかじめ決められた複数箇所の座標値を特定する特定部、
    前記特定部によって特定された複数箇所と、当該複数箇所にそれぞれ対応するロボットのリンク列における複数箇所との各距離に応じた目的関数が小さくなるように、前記ロボットのリンク列に含まれる各リンクの位置に関する情報であるロボットリンク列情報を算出する算出部、
    前記算出部によって算出されたロボットリンク列情報に応じた前記ロボットのリンク列の各関節の角度に関する情報を出力する出力部として機能させるためのプログラム。
JP2015223641A 2015-11-16 2015-11-16 リンク列マッピング装置、リンク列マッピング方法、及びプログラム Active JP5892531B1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2015223641A JP5892531B1 (ja) 2015-11-16 2015-11-16 リンク列マッピング装置、リンク列マッピング方法、及びプログラム
PCT/JP2016/084017 WO2017086364A1 (ja) 2015-11-16 2016-11-16 リンク列マッピング装置、リンク列マッピング方法、及びプログラム
US15/776,228 US10899005B2 (en) 2015-11-16 2016-11-16 Link-sequence mapping device, link-sequence mapping method, and program
CN201680067026.5A CN108290293B (zh) 2015-11-16 2016-11-16 链路序列映射装置,链路序列映射方法和程序

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015223641A JP5892531B1 (ja) 2015-11-16 2015-11-16 リンク列マッピング装置、リンク列マッピング方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP5892531B1 true JP5892531B1 (ja) 2016-03-23
JP2017087377A JP2017087377A (ja) 2017-05-25

Family

ID=55541198

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015223641A Active JP5892531B1 (ja) 2015-11-16 2015-11-16 リンク列マッピング装置、リンク列マッピング方法、及びプログラム

Country Status (4)

Country Link
US (1) US10899005B2 (ja)
JP (1) JP5892531B1 (ja)
CN (1) CN108290293B (ja)
WO (1) WO2017086364A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016181959A1 (ja) * 2015-05-13 2016-11-17 国立研究開発法人産業技術総合研究所 ロボット動作生成方法
WO2017188014A1 (ja) * 2016-04-27 2017-11-02 ソフトバンク株式会社 姿勢制御システム及びプログラム
WO2018105635A1 (ja) 2016-12-07 2018-06-14 株式会社計数技研 ロボットシステム、位置関係取得装置、及び位置関係取得方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7285703B2 (ja) * 2019-06-17 2023-06-02 株式会社ソニー・インタラクティブエンタテインメント ロボット制御システム
JP7382743B2 (ja) 2019-06-17 2023-11-17 株式会社ソニー・インタラクティブエンタテインメント ロボットシステム
JP2020203341A (ja) * 2019-06-17 2020-12-24 株式会社ソニー・インタラクティブエンタテインメント ロボット制御システム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004227276A (ja) * 2003-01-23 2004-08-12 Advanced Telecommunication Research Institute International 人間のコミュニケーション行動記録システムおよび方法
JP2006088276A (ja) * 2004-09-24 2006-04-06 Advanced Telecommunication Research Institute International 動作生成システム
JP2006198709A (ja) * 2005-01-19 2006-08-03 Toyota Motor Corp 多関節ロボットに教示する動作データの作成装置と作成方法
JP2007315968A (ja) * 2006-05-26 2007-12-06 Univ Of Tokyo モーションキャプチャを用いた運動学パラメータの推定法及び装置
JP2010058260A (ja) * 2008-09-01 2010-03-18 Korea Advanced Inst Of Sci Technol 進化アルゴリズムと模倣学習に基づくロボットの動作制御方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1063327A (ja) * 1996-08-16 1998-03-06 Nippon Telegr & Teleph Corp <Ntt> ロボット制御方法及び装置
US8004229B2 (en) * 2005-05-19 2011-08-23 Intuitive Surgical Operations, Inc. Software center and highly configurable robotic systems for surgery and other uses
JP2002301674A (ja) * 2001-04-03 2002-10-15 Sony Corp 脚式移動ロボット及びその運動教示方法、並びに記憶媒体
US7328196B2 (en) * 2003-12-31 2008-02-05 Vanderbilt University Architecture for multiple interacting robot intelligences
WO2005068136A1 (ja) * 2004-01-13 2005-07-28 Honda Motor Co., Ltd. 移動ロボットの歩容生成装置
US7904202B2 (en) * 2004-10-25 2011-03-08 University Of Dayton Method and system to provide improved accuracies in multi-jointed robots through kinematic robot model parameters determination
US7835820B2 (en) * 2005-10-11 2010-11-16 Vanderbilt University System and method for image mapping and visual attention
CN1996205B (zh) * 2006-01-05 2010-08-11 财团法人工业技术研究院 动态动作捕捉与周边装置互动的方法与系统
WO2009148089A1 (ja) * 2008-06-05 2009-12-10 東芝機械株式会社 ハンドリング装置、制御装置、制御方法およびプログラム
JP2011110621A (ja) * 2009-11-24 2011-06-09 Toyota Industries Corp ロボットの教示データを作成する方法およびロボット教示システム
FR2963132A1 (fr) * 2010-07-23 2012-01-27 Aldebaran Robotics Robot humanoide dote d'une interface de dialogue naturel, methode d'utilisation et de programmation de ladite interface
JP5895420B2 (ja) * 2011-09-21 2016-03-30 セイコーエプソン株式会社 ロボット制御装置、及びロボットシステム
WO2014088994A1 (en) * 2012-12-03 2014-06-12 Abb Technology Ag Teleoperation of machines having at least one actuated mechanism
CN103856385B (zh) * 2013-12-11 2017-02-08 北京邮电大学 一种基于链路优先的虚拟网络映射方法
WO2015153739A1 (en) * 2014-04-01 2015-10-08 University Of South Florida Systems and methods for planning a robot grasp based upon a demonstrated grasp

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004227276A (ja) * 2003-01-23 2004-08-12 Advanced Telecommunication Research Institute International 人間のコミュニケーション行動記録システムおよび方法
JP2006088276A (ja) * 2004-09-24 2006-04-06 Advanced Telecommunication Research Institute International 動作生成システム
JP2006198709A (ja) * 2005-01-19 2006-08-03 Toyota Motor Corp 多関節ロボットに教示する動作データの作成装置と作成方法
JP2007315968A (ja) * 2006-05-26 2007-12-06 Univ Of Tokyo モーションキャプチャを用いた運動学パラメータの推定法及び装置
JP2010058260A (ja) * 2008-09-01 2010-03-18 Korea Advanced Inst Of Sci Technol 進化アルゴリズムと模倣学習に基づくロボットの動作制御方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6016003696; 人の動作模倣手法の検討〜インタラクションに基づく親和性向上に関する研究〜 , 2003 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016181959A1 (ja) * 2015-05-13 2016-11-17 国立研究開発法人産業技術総合研究所 ロボット動作生成方法
JPWO2016181959A1 (ja) * 2015-05-13 2018-02-22 国立研究開発法人産業技術総合研究所 ロボット動作生成方法
US10518412B2 (en) 2015-05-13 2019-12-31 National Insitute of Advanced Industrial Science Robot behavior generation method
WO2017188014A1 (ja) * 2016-04-27 2017-11-02 ソフトバンク株式会社 姿勢制御システム及びプログラム
JP2017196699A (ja) * 2016-04-27 2017-11-02 ソフトバンク株式会社 姿勢制御システム及びプログラム
WO2018105635A1 (ja) 2016-12-07 2018-06-14 株式会社計数技研 ロボットシステム、位置関係取得装置、及び位置関係取得方法
CN110035870A (zh) * 2016-12-07 2019-07-19 株式会社计数技研 机器人系统、位置关系取得装置及位置关系取得方法
US11247343B2 (en) 2016-12-07 2022-02-15 Keisuugiken Corporation Robot system, positional relationship acquiring apparatus, and positional relationship acquiring method

Also Published As

Publication number Publication date
CN108290293B (zh) 2021-05-14
US10899005B2 (en) 2021-01-26
CN108290293A (zh) 2018-07-17
JP2017087377A (ja) 2017-05-25
WO2017086364A1 (ja) 2017-05-26
US20200180156A1 (en) 2020-06-11

Similar Documents

Publication Publication Date Title
JP5892531B1 (ja) リンク列マッピング装置、リンク列マッピング方法、及びプログラム
JP5724919B2 (ja) 軌道生成装置、移動体、軌道生成方法及びプログラム
CN109540142A (zh) 一种机器人定位导航的方法、装置、计算设备
WO2019218457A1 (zh) 基于手臂动作捕捉的虚拟现实驱动方法及虚拟现实系统
JP2005535031A (ja) 人体測定に基づく骨格フィッティング
JP6941934B2 (ja) デジタルの人間の上肢モデルの制約ベースの最適化の方法およびシステム
CN113327281A (zh) 运动捕捉方法、装置、电子设备以及拉花系统
WO2018183751A1 (en) Determining anthropometric measurements of a nonstationary subject
KR20100072745A (ko) 모션캡쳐 데이터베이스의 구축 방법과 이를 이용한 모션 합성 방법
JP2015102913A (ja) 姿勢推定装置及び姿勢推定方法
JPH09330424A (ja) 3次元骨格構造の動き変換装置
CN112184863B (zh) 一种动画数据的处理方法和装置
JP2018092623A (ja) 姿勢をとる身体をシミュレートするためのコンピュータによって実施される方法
Dörfler et al. Interlacing: An experimental approach to integrating digital and physical design methods
CN111080755B (zh) 一种运动解算方法、装置、存储介质及电子设备
JPH0887609A (ja) 画像処理装置
JP6529039B2 (ja) リンク列マッピング装置、リンク列マッピング方法、及びプログラム
Petrenko et al. Calculating rotation angles of the operator's arms based on generalized coordinates of the master device with following anthropomorphic manipulator in real time
JP6756787B2 (ja) 筋力特性取得方法、及び、筋力特性取得装置
CN115761074A (zh) 动画数据处理方法、装置、电子设备及介质
WO2022241613A1 (zh) 基于ct图像的肘关节屈伸三维运动分析方法及装置
JP2004163990A5 (ja)
JP2013024864A5 (ja)
JP6684336B1 (ja) データ補正装置およびプログラム
JP5368517B2 (ja) 画像生成装置、画像生成方法、プログラム及び情報記憶媒体

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20160126

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160203

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160216

R150 Certificate of patent or registration of utility model

Ref document number: 5892531

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350