JP2022139741A - Instruction description support system, instruction description support method and instruction description support program - Google Patents
Instruction description support system, instruction description support method and instruction description support program Download PDFInfo
- Publication number
- JP2022139741A JP2022139741A JP2021040255A JP2021040255A JP2022139741A JP 2022139741 A JP2022139741 A JP 2022139741A JP 2021040255 A JP2021040255 A JP 2021040255A JP 2021040255 A JP2021040255 A JP 2021040255A JP 2022139741 A JP2022139741 A JP 2022139741A
- Authority
- JP
- Japan
- Prior art keywords
- motion
- unique
- code
- robot
- waveform data
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title abstract description 30
- 230000033001 locomotion Effects 0.000 claims abstract description 251
- 238000004364 calculation method Methods 0.000 claims abstract description 17
- 230000009471 action Effects 0.000 claims description 166
- 230000003542 behavioural effect Effects 0.000 claims description 8
- 238000000605 extraction Methods 0.000 claims description 6
- 238000010276 construction Methods 0.000 claims description 3
- 230000010365 information processing Effects 0.000 description 65
- 238000012545 processing Methods 0.000 description 48
- 230000006870 function Effects 0.000 description 42
- 230000000875 corresponding effect Effects 0.000 description 34
- 238000010586 diagram Methods 0.000 description 30
- 230000008569 process Effects 0.000 description 15
- 239000013598 vector Substances 0.000 description 8
- 239000000284 extract Substances 0.000 description 6
- 238000009826 distribution Methods 0.000 description 4
- 238000002372 labelling Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 230000001276 controlling effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000005070 sampling Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000036461 convulsion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000012854 evaluation process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000000513 principal component analysis Methods 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
Description
本発明は、命令記述支援システム、命令記述支援方法および命令記述支援プログラムに関する。 The present invention relates to an instruction description support system, an instruction description support method, and an instruction description support program.
様々な分野において、ロボットの導入および実用化が進行している。一般的には、ロボットの動作を指示するための命令を記述する必要がある。ロボットが高い自由度で動作する場合には、動作を指示するための命令の記述も複雑化し得る。 Introduction and practical use of robots are progressing in various fields. In general, it is necessary to write instructions for directing the motion of the robot. When the robot operates with a high degree of freedom, the description of the instructions for instructing the motion may become complicated.
このような課題に対して、例えば、特開2019-188545号公報(特許文献1)は、教示者が簡単に制御プログラムの作成を行える技術を開示する。また、特開2019-177422号公報(特許文献2)は、高度なプログラミング技術を有さないユーザーでも容易にプログラミング可能な制御装置を開示する。さらに、特開2019-171498号公報(特許文献3)は、ロボットのティーチングを行うときに、ロボットの具体的な動きに対する教示を容易にする方法等を開示する。 To address such a problem, for example, Japanese Patent Laying-Open No. 2019-188545 (Patent Document 1) discloses a technique that allows a teacher to easily create a control program. Japanese Patent Laying-Open No. 2019-177422 (Patent Document 2) discloses a control device that can be easily programmed even by a user who does not have advanced programming skills. Further, Japanese Patent Application Laid-Open No. 2019-171498 (Patent Document 3) discloses a method for facilitating teaching of specific movements of a robot when teaching the robot.
あるいは、特開2020-009899号公報(特許文献4)は、組立作業用ロボットに対する組立作業の教示を自動で行う自動教示システムを開示する。 Alternatively, Japanese Patent Application Laid-Open No. 2020-009899 (Patent Document 4) discloses an automatic teaching system that automatically teaches assembly work to an assembly work robot.
上述した先行技術文献に開示される技術は、いずれもロボットに対するプログラミングを容易化するというものである。このような技術を用いることで、ロボットの動作を記述することはできるが、同じ動作であっても、作成者のスキルや考え方などに依存して、様々な記述が存在することになる。 All of the techniques disclosed in the prior art documents mentioned above facilitate programming of robots. By using such technology, it is possible to describe the motion of a robot, but even for the same motion, there are various descriptions depending on the creator's skill and way of thinking.
本発明は、ロボットに固有の動作に応じて、ロボットの動作を記述する命令を作成できる技術を提供することを目的としている。 SUMMARY OF THE INVENTION It is an object of the present invention to provide a technology capable of creating instructions describing the motion of a robot according to the motion unique to the robot.
本発明のある局面に従う命令記述支援システムは、対象のロボットの動作を示す動作波形データに設定される時間区間の波形データと固有ベクトルとの類似度を示すスコアから、当該時間区間の動作を示すバイナリコードを算出する算出部と、動作要素モデルを参照して、バイナリコードから動作要素を推定する推定部と、1または複数の動作要素で構成される固有動作を登録したデータベースを参照して、対象のロボットの動作を示す1または複数の固有動作を決定するとともに、当該決定した1または複数の固有動作を示す固有動作コードを命令コードとして生成する生成部とを含む。 A command description support system according to an aspect of the present invention is a system that uses a score indicating the similarity between waveform data and eigenvectors in a time interval set in motion waveform data indicating the motion of a target robot to obtain a binary code indicating the motion in the time interval. A calculator that calculates a code, an estimator that estimates a motion element from a binary code by referring to a motion element model, and a database in which eigen motions composed of one or more motion elements are registered. a generation unit that determines one or more unique motions indicating the motion of the robot and generates a unique motion code indicating the determined one or more unique motions as an instruction code.
この構成によれば、対象のロボットの動作を示す動作波形データから固有動作を決定することで、命令コードを生成できる。固有動作は、ロボットの動作を記述する基本的な単位として用いられるので、ロボットの動作を記述する命令を標準化することができるとともに、属人化を抑制できる。 According to this configuration, the instruction code can be generated by determining the unique motion from the motion waveform data representing the motion of the target robot. Since the peculiar motion is used as a basic unit for describing the motion of the robot, it is possible to standardize the commands describing the motion of the robot and to suppress individualization.
命令記述支援システムは、動作波形データから固有ベクトルを抽出する抽出部と、複数のバイナリコードをクラスタリングすることにより、動作要素モデルを構成するモデル構成部とをさらに含んでいてもよい。この構成によれば、動作波形データに含まれる固有ベクトルに基づいて動作要素を抽出して、動作要素モデルを構成できる。 The instruction description support system may further include an extractor that extracts eigenvectors from the motion waveform data, and a model constructor that configures a motion element model by clustering a plurality of binary codes. According to this configuration, a motion element model can be configured by extracting motion elements based on the eigenvectors included in the motion waveform data.
算出部は、複数の固有ベクトルのそれぞれに対する時間区間の波形データの類似度をそれぞれ算出し、算出された類似度のうちランダムに選択される2つの類似度間の大小関係に応じて、バイナリコードを構成する各ビットの値を決定するようにしてもよい。この構成によれば、動作要素を特定するための特徴量を効率的に算出できる。 The calculation unit calculates the similarity of the waveform data in the time interval with respect to each of the plurality of eigenvectors, and converts the binary code according to the magnitude relationship between two similarities that are randomly selected from the calculated similarities. You may make it determine the value of each bit which comprises. According to this configuration, it is possible to efficiently calculate the feature amount for specifying the motion element.
算出部は、動作波形データに設定される時間区間を時間軸に沿ってシフトさせてもよい。この構成によれば、ロボットの連続的な動作に対して、対応する動作要素を順次決定できる。 The calculator may shift the time interval set in the operating waveform data along the time axis. According to this configuration, it is possible to sequentially determine corresponding motion elements for continuous motions of the robot.
命令記述支援システムは、ロボットが所定の動作を行ったときの動作波形データから動作要素モデルを用いて推定される一連の動作要素と、当該所定の動作を示す動詞とを対応付けることで、当該所定の動作に含まれる、1または複数の動作要素で構成される固有動作を決定し、当該決定した固有動作を示す固有動作コードをデータベースに登録するデータベース構成部をさらに含んでいてもよい。この構成によれば、対象のロボットについて、1または複数の動作要素で構成される固有動作を決定する。決定された固有動作は、ロボットの動作を記述する基本的な単位として用いることができる。 The instruction description support system associates a series of motion elements estimated using a motion element model from motion waveform data when a robot performs a predetermined motion with verbs representing the predetermined motion, thereby and determining a unique action composed of one or more motion elements included in the motion, and registering in a database a unique action code indicating the determined unique action. According to this configuration, a unique motion composed of one or more motion elements is determined for the target robot. The determined eigenmotion can be used as a basic unit for describing the motion of the robot.
命令記述支援システムは、所定の動作を行うロボットを撮影した動画像を動作認識することで、所定の動作を示す動詞を決定する動作認識部をさらに含んでいてもよい。この構成によれば、ロボットの各動作に対して、手動ではなく、自動でラベルを付与できる。 The command description support system may further include a motion recognition unit that determines a verb indicating a predetermined motion by recognizing a moving image of a robot performing a predetermined motion. According to this configuration, each motion of the robot can be labeled automatically instead of manually.
本発明の別の局面に従う命令記述支援方法は、対象のロボットの動作を示す動作波形データに設定される時間区間の波形データと固有ベクトルとの類似度を示すスコアから、当該時間区間の動作を示すバイナリコードを算出するステップと、動作要素モデルを参照して、バイナリコードから動作要素を推定するステップと、1または複数の動作要素で構成される固有動作を登録したデータベースを参照して、対象のロボットの動作を示す1または複数の固有動作を決定するとともに、当該決定した1または複数の固有動作を示す固有動作コードを命令コードとして生成するステップとを含む。 A command description support method according to another aspect of the present invention indicates a motion of a target robot based on a score indicating the degree of similarity between waveform data and eigenvectors in a time interval set in the motion waveform data indicating the motion of the target robot. a step of calculating a binary code; a step of estimating a motion element from the binary code with reference to a motion element model; Determining one or more unique motions indicating the motion of the robot, and generating a unique motion code indicating the determined one or more unique motions as an instruction code.
本発明の別の局面に従う命令記述支援プログラムは、コンピュータに、対象のロボットの動作を示す動作波形データに設定される時間区間の波形データと固有ベクトルとの類似度を示すスコアから、当該時間区間の動作を示すバイナリコードを算出するステップと、動作要素モデルを参照して、バイナリコードから動作要素を推定するステップと、1または複数の動作要素で構成される固有動作を登録したデータベースを参照して、対象のロボットの動作を示す1または複数の固有動作を決定するとともに、当該決定した1または複数の固有動作を示す固有動作コードを命令コードとして生成するステップとを実行させる。 An instruction description support program according to another aspect of the present invention provides a computer with a score indicating the similarity between waveform data and eigenvectors in a time interval set in motion waveform data representing the motion of a target robot. a step of calculating a binary code representing a motion; a step of estimating a motion element from the binary code by referring to a motion element model; , determining one or more unique motions indicating motions of the target robot, and generating a unique motion code indicating the determined one or more unique motions as an instruction code.
本発明によれば、ロボットに固有の動作に応じて、ロボットの動作を記述する命令を作成できる技術を提供できる。 According to the present invention, it is possible to provide a technology capable of creating instructions describing the motion of the robot according to the motion unique to the robot.
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。 Embodiments of the present invention will be described in detail with reference to the drawings. The same or corresponding parts in the drawings are given the same reference numerals, and the description thereof will not be repeated.
<A.適用例>
まず、図1を参照して、本発明が適用される場面の一例について説明する。
<A. Application example>
First, with reference to FIG. 1, an example of a scene to which the present invention is applied will be described.
図1は、本実施の形態に係る命令記述支援システム1における処理の概要を説明するための模式図である。図1を参照して、ロボットの動作を定義する命令コード72を命令記述支援システム1が出力する処理の一例について説明する。
FIG. 1 is a schematic diagram for explaining an outline of processing in an instruction
命令記述支援システム1は、対象のロボットの動作を示す動作波形データ(所定のサンプリング周期毎に収集された動作特徴ベクトルの時系列データ)などに基づいて、動作要素モデル48(図10参照)および動作定義データベース60を構成する(ステップS1)。
The instruction
動作要素モデル48は、動作要素の特徴に基づいて構成されるものであり、任意の動作波形データに含まれる動作要素(動作要素コード)を特定するために用いることができる。
The
動作定義データベース60は、1または複数の動作要素で構成される固有動作64に割り当てられた固有動作コード66を格納する。動作定義データベース60において、1または複数の固有動作64を1または複数の動作区分に分類してもよい。
本明細書において、「固有動作」は、対象のロボットに固有の動作を定義する単位であり、1または複数の「動作要素」で構成される。「動作要素」は、「固有動作」をさらに詳細な単位動作に分解した個々の動作を意味する。 In this specification, a “specific motion” is a unit that defines a motion unique to a target robot, and is composed of one or more “motion elements”. "Action elements" mean individual actions obtained by decomposing "specific actions" into more detailed unit actions.
次に、対象のロボットの動作から動作要素の特徴を抽出し、動作定義データベース60から当該抽出した動作要素の特徴に対応する固有動作を検索する(ステップS1)。検索結果に基づいて、対象のロボットの動作を構成する固有動作を決定する(ステップS2)。決定された固有動作に対応する固有動作コードから命令コード72が生成される(ステップS3)。すなわち、命令コード72は、1または複数の固有動作64の組み合わせとして定義される。
Next, the feature of the motion element is extracted from the motion of the target robot, and the unique motion corresponding to the feature of the extracted motion element is searched from the motion definition database 60 (step S1). Based on the search results, a unique action that constitutes the action of the target robot is determined (step S2). An
以上のように、本実施の形態に係る命令記述支援システム1は、ロボットの固有動作64を定義するとともに、固有動作64を示す固有動作コード66を組み合わせることで、対象のロボットに実行させる動作を指示するための命令コード72を決定する。固有動作64の単位で命令を記述することで、命令あるいはプログラムの属人化を抑制できるとともに、テンプレート化などを容易に実現できる。
As described above, the instruction
<B.ハードウェア構成例>
次に、本実施の形態に係る命令記述支援システム1のハードウェア構成例について説明する。
<B. Hardware configuration example>
Next, a hardware configuration example of the instruction
(b1:全体構成)
図2は、本実施の形態に係る命令記述支援システム1を含むシステム構成例を概略する模式図である。図2を参照して、命令記述支援システム1は、制御装置100と、フィールドネットワーク10を介して制御装置100に接続されたロボットコントローラ250とを含む。制御装置100は、典型的には、PLCにより実現されてもよい。
(b1: overall configuration)
FIG. 2 is a schematic diagram outlining a system configuration example including the instruction
ロボットコントローラ250は、ロボット200の制御を担当する。より具体的には、ロボットコントローラ250は、ロボット200との間のインターフェイスとして機能し、制御装置100からの指令に従って、ロボット200を駆動するための指令を出力するとともに、ロボット200の状態値を取得して制御装置100へ出力する。
A
フィールドネットワーク10には、産業用ネットワーク用のプロトコルである、EtherCAT(登録商標)やEtherNet/IPなどを用いることができる。
For the
制御装置100は、上位ネットワーク20を介して、情報処理装置300および表示装置400に接続されている。上位ネットワーク20には、産業用ネットワーク用のプロトコルであるやEtherNet/IPなどを用いることができる。
命令記述支援システム1は、ロボット200を撮影して動画像を収集するためのカメラ4を含んでいてもよい。
The instruction
なお、命令記述支援システム1は、制御装置100、ロボット200,ロボットコントローラ250、および表示装置400などを必ずしも含んでいる必要はなく、後述するような命令コードを生成する処理を実行できる処理主体が存在すればよい。
Note that the instruction
(b2:制御装置100)
図3は、本実施の形態に係る制御装置100のハードウェア構成例を示す模式図である。図3を参照して、制御装置100は、プロセッサ102と、メインメモリ104と、ストレージ110と、メモリカードインターフェイス112と、上位ネットワークコントローラ106と、フィールドネットワークコントローラ108と、ローカルバスコントローラ116と、USB(Universal Serial Bus)インターフェイスを提供するUSBコントローラ120とを含む。これらのコンポーネントは、プロセッサバス118を介して接続されている。
(b2: control device 100)
FIG. 3 is a schematic diagram showing a hardware configuration example of the
プロセッサ102は、制御演算を実行する演算処理部に相当し、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)などで構成される。具体的には、プロセッサ102は、ストレージ110に格納されたプログラムを読み出して、メインメモリ104に展開して実行することで、制御対象に対する制御演算を実現する。
The
メインメモリ104は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などの揮発性記憶装置などで構成される。ストレージ110は、例えば、SSD(Solid State Drive)やHDD(Hard Disk Drive)などの不揮発性記憶装置などで構成される。
The
ストレージ110には、基本的な機能を実現するためのシステムプログラム1102、および、制御対象に応じて作成されたIECプログラム1104およびロボットプログラム1106などが格納される。
The
IECプログラム1104は、PLCプログラムとも称され、ロボット200を制御する処理以外の処理を実現するために必要な命令を含む。IECプログラム1104は、国際電気標準会議(IEC:International Electrotechnical Commission)が定めるIEC61131-3で規定されるいずれかの言語で記述されてもよい。
The
ロボットプログラム1106は、ロボット200を制御するための命令を含む。ロボットプログラム1106は、所定のプログラミング言語(例えば、V+言語などのロボット制御用プログラミング言語やGコードなどのNC制御に係るプログラミング言語)で記述された命令を含んでいてもよい。
メモリカードインターフェイス112は、着脱可能な記憶媒体の一例であるメモリカード114を受け付ける。メモリカードインターフェイス112は、メモリカード114に対して任意のデータの読み書きが可能になっている。
上位ネットワークコントローラ106は、上位ネットワーク20を介して、任意の情報処理装置(図2に示される情報処理装置300および表示装置400など)との間でデータをやり取りする。
フィールドネットワークコントローラ108は、フィールドネットワーク10を介して、ロボットコントローラ250などのデバイスとの間でデータをやり取りする。
ローカルバスコントローラ116は、ローカルバス122を介して、制御装置100に含まれる任意の機能ユニット130との間でデータをやり取りする。
USBコントローラ120は、USB接続を介して、任意の情報処理装置との間でデータをやり取りする。
The
(b3:ロボットコントローラ250)
図4は、本実施の形態に係るロボットコントローラ250のハードウェア構成例を示す模式図である。図4を参照して、ロボットコントローラ250は、フィールドネットワークコントローラ252と、制御処理回路260とを含む。
(b3: robot controller 250)
FIG. 4 is a schematic diagram showing a hardware configuration example of the
フィールドネットワークコントローラ252は、フィールドネットワーク10を介して、主として、制御装置100との間でデータをやり取りする。
制御処理回路260は、ロボット200を駆動するために必要な演算処理を実行する。一例として、制御処理回路260は、プロセッサ262と、メインメモリ264と、ストレージ270と、インターフェイス回路268とを含む。
The
プロセッサ262は、ロボット200を駆動するための制御演算を実行する。メインメモリ264は、例えば、DRAMやSRAMなどの揮発性記憶装置などで構成される。ストレージ270は、例えば、SSDやHDDなどの不揮発性記憶装置などで構成される。
ストレージ270には、ロボット200を駆動するための制御を実現するためのシステムプログラム272が格納される。システムプログラム272は、ロボット200の動作に係る制御演算を実行する命令、および、ロボット200との間のインターフェイスに係る命令を含む。
The
インターフェイス回路268は、ロボット200との間でデータをやり取りする。
(b4:情報処理装置300)
図5は、本実施の形態に係る情報処理装置300のハードウェア構成例を示す模式図である。図5を参照して、情報処理装置300は、CPUやMPUなどのプロセッサ302と、メインメモリ304と、ストレージ310と、ネットワークコントローラ320と、USBコントローラ324と、入力部326と、表示部328とを含む。これらのコンポーネントは、バス308を介して接続される。
(b4: information processing device 300)
FIG. 5 is a schematic diagram showing a hardware configuration example of the
プロセッサ302は、ストレージ310に格納された各種プログラムを読み出して、メインメモリ304に展開して実行することで、情報処理装置300で必要な処理を実現する。
The
ストレージ310は、例えば、HDDやSSDなどで構成される。ストレージ310には、典型的には、OS312と、後述するような処理を実現するための命令記述支援プログラム314とが格納される。なお、ストレージ310には、図5に示すプログラム以外の必要なプログラムが格納されてもよい。
The
ネットワークコントローラ320は、任意のネットワークを介して、任意の情報処理装置との間でデータをやり取りする。
The
USBコントローラ324は、USB接続を介して、任意の情報処理装置との間でデータをやり取りする。
The
入力部326は、マウス、キーボード、タッチパネルなどで構成され、ユーザからの指示を受け付ける。表示部328は、ディスプレイ、各種インジケータなどで構成され、プロセッサ302からの処理結果などを出力する。
The
情報処理装置300は、光学ドライブ306を有していてもよい。光学ドライブ306は、コンピュータ読取可能なプログラムを非一過的に格納する記録媒体307(例えば、DVD(Digital Versatile Disc)などの光学記録媒体)からプログラムを読み取って、ストレージ310などに格納する。
The
情報処理装置300で実行される各種プログラムは、コンピュータ読取可能な記録媒体307を介してインストールされてもよいが、ネットワーク上の任意のサーバからダウンロードする形でインストールするようにしてもよい。
Various programs executed by the
(b5:表示装置400)
本実施の形態に係る表示装置400は、一例として、汎用パソコンを用いて実現されてもよい。表示装置400の基本的なハードウェア構成例は、周知であるので、ここでは詳細な説明は行わない。
(b5: display device 400)
(b6:その他の形態)
図3~図5には、1または複数のプロセッサがプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。
(b6: other forms)
3 to 5 show configuration examples in which one or more processors execute programs to provide necessary functions. It may be implemented using a hardware circuit (for example, ASIC (Application Specific Integrated Circuit) or FPGA (Field-Programmable Gate Array)).
また、情報処理装置300が本実施の形態に係る命令記述支援の処理のすべてを実行するのではなく、1または複数の情報処理装置300が連携して必要な処理を実行するようにしてもよい。さらに、本実施の形態に係る命令記述支援の処理の一部または全部を、いわゆるクラウド上のコンピュータリソースを用いて実行するようにしてもよい。
Further, instead of the
本実施の形態に係る命令記述支援の処理をどのようなハードウェアリソースおよびソフトウェアリソースを用いて実現するのかについては、任意に設計および選択できる事項である。 What kind of hardware resources and software resources are used to realize the instruction description support processing according to the present embodiment can be arbitrarily designed and selected.
<C.命令コードを生成するための処理>
次に、本実施の形態に係る命令記述支援システム1が実行する命令コードを生成するための処理について説明する。
<C. Processing for Generating Instruction Code>
Next, a process for generating an instruction code to be executed by the instruction
(c1:全体処理)
図6は、本実施の形態に係る命令記述支援システム1が実行する全体処理の処理手順を示すフローチャートである。図6に示す各ステップは、典型的には、情報処理装置300のプロセッサ302が命令記述支援プログラム314を実行することで実現される。
(c1: overall processing)
FIG. 6 is a flow chart showing a processing procedure of overall processing executed by the instruction
図6を参照して、情報処理装置300は、対象のロボットから動作波形データ30および動画像46を収集する(ステップS100)。情報処理装置300は、所定量の動作波形データ30の収集が完了すると、収集された動作波形データ30から固有ベクトルを抽出する(ステップS102)。すなわち、情報処理装置300は、対象のロボットの動作を示す動作波形データ30から固有ベクトルを抽出する。
Referring to FIG. 6,
続いて、情報処理装置300は、対象のロボットから収集された1つの動作波形データ30を選択する(ステップS104)。
Subsequently, the
情報処理装置300は、選択した動作波形データ30に対して窓関数32を設定し(ステップS106)、抽出した固有ベクトルと、設定した窓関数32に含まれる動作波形データ30の特徴量とに基づいて、当該設定した窓関数32についてのECTスコアを算出する(ステップS108)。ECTスコアは、時間区間である窓関数32に含まれる動作波形データ30の特徴量と各固有ベクトルとの類似度を示す値である。
The
情報処理装置300は、算出したECTスコアからバイナリコードを算出する(ステップS110)。情報処理装置300は、次の時間区間に窓関数32をシフトさせる(ステップS112)。ステップS106~S112の処理は、動作波形データ30に対して設定される窓関数32の数だけ繰り返される。
The
情報処理装置300は、対象のロボットから収集された別の動作波形データ30を選択し(ステップS114)、ステップS106~S112の処理を繰り返す。ステップS104~S114の処理は、対象の動作波形データ30の数だけ繰り返される。
The
続いて、情報処理装置300は、算出したバイナリコードをハイパー空間38にプロットし(ステップS116)、ハイパー空間38上に形成された動作特徴量を示す1または複数のクラスタ40を決定する(ステップS118)。そして、情報処理装置300は、決定したクラスタ40の各々に対して、動作要素をラベリングするとともに、動作要素に対応する動作要素コード44を割り当てる(ステップS120)。
Subsequently, the
以上の処理によって、動作要素モデル48が構成される。動作要素モデル48は、バイナリコードの入力に対して、対応する動作要素および当該動作要素を示す動作要素コード44を出力する。
By the above processing, the
続いて、動作定義データベース60が構成される。より具体的には、情報処理装置300は、任意のロボット動作に対応する動作波形データ30から窓関数毎にバイナリコードを算出し(ステップS122)、算出したバイナリコードを動作要素モデル48に順次入力することで、動作要素コード44のデータ列を算出する(ステップS124)。動作要素コード44のデータ列は、ロボットの動作要素を時系列に並べたものに相当する。
Subsequently, the
情報処理装置300は、ステップS122においてバイナリコードを算出したロボット動作に対応する動画像46から動作認識を行って、ロボットの動作要素に対応する動詞(単語)の列を決定する(ステップS126)。このように、情報処理装置300は、所定の動作を行うロボットを撮影した動画像46を動作認識することで、当該所定の動作を示す動詞を決定する。なお、動画像46に代えて、あるいは、動画像46に加えて、対象のロボットのパスプランを用いてもよい。また、現実にロボットを撮影して得られる動画像46ではなく、ロボットを仮想的に撮影して得られる動画像46を用いてもよい。
The
情報処理装置300は、ステップS124において算出した動作要素コード44のデータ列と、ステップS126において決定した動詞とを組み合わせることで、固有動作64の動作定義を決定し(ステップS128)、固有動作64の各々を特定するための固有動作コード66を割り当てる(ステップS130)。そして、情報処理装置300は、固有動作64および対応する固有動作コード66を動作定義データベース60に登録する(ステップS132)。
The
なお、情報処理装置300は、必要に応じて、複数の固有動作64からなる連動作68、または、複数の連動作68からなる工程70の単位で動作定義データベース60に登録してもよい。
The
以上の処理によって動作定義データベース60が構成される。動作定義データベース60を用いて、任意のロボット動作に対応する命令コード72を生成する。
The
より具体的には、情報処理装置300は、任意のロボット動作に対応する動作波形データ30から窓関数毎にバイナリコードを算出し(ステップS134)、算出したバイナリコードを動作要素モデル48に順次入力することで、動作要素コード44のデータ列を算出する(ステップS136)。すなわち、情報処理装置300は、動作要素モデル48を参照して、バイナリコードから動作要素を推定する。動作要素コード44のデータ列は、ロボットの動作要素を時系列に並べたものに相当する。
More specifically, the
情報処理装置300は、動作定義データベース60を参照して、動作要素コード44のデータ列に合致あるいは最も類似する固有動作64を検索する(ステップS138)。最終的に、情報処理装置300は、動作要素コード44のデータ列に合致あるいは最も類似する固有動作64に対応する固有動作コード66を順次出力する(ステップS140)。順次出力される固有動作コード66の集合が命令コード72となる。
The
このように、情報処理装置300は、1または複数の動作要素で構成される固有動作64を登録した動作定義データベース60を参照して、対象のロボットの動作を示す1または複数の固有動作64を決定するとともに、当該決定した1または複数の固有動作64を示す固有動作コード66を命令コード72として生成する。
In this way, the
(c2:動作波形データの収集および固有ベクトルの抽出)
まず、動作波形データを収集および固有ベクトルを抽出する処理(ステップS100,S102)について説明する。
(c2: Collection of operating waveform data and extraction of eigenvectors)
First, the process of collecting operating waveform data and extracting eigenvectors (steps S100 and S102) will be described.
情報処理装置300は、対象のロボットから所定量の動作波形データを収集する。動作波形データは、所定のサンプリング周期毎に収集された動作特徴ベクトルの時系列データに相当する。動作特徴ベクトルは、対象のロボットの動作に係る複数の特徴量により規定される多次元ベクトルである。特徴量としては、例えば、対象のロボットのTCP姿勢(各軸の位置)、関節トルク、TCP速度、TCP加速度、TCP加加速度などが挙げられる。
The
例えば、マニピュレータ(6軸多関節ロボット)では、TCP姿勢(X,Y,Z,Rx,Ry,Rz)、関節回転角度(6軸)、関節トルク(6軸)、TCP速度(Vx,Vy,Vz,Vrx,Vry,Vrz)の合計24次元の特徴量を用いてもよい。また、モバイルロボットでは、現在の姿勢(X,Y,θ)、ドライブトレイントルク(Lトルク,Rトルク)、速度、IMUデータ(速度、回転位置、回転速度)の合計24次元の特徴量を用いてもよい。 For example, in a manipulator (6-axis articulated robot), TCP posture (X, Y, Z, Rx, Ry, Rz), joint rotation angle (6-axis), joint torque (6-axis), TCP velocity (Vx, Vy, Vz, Vrx, Vry, Vrz) may be used. In addition, the mobile robot uses a total of 24-dimensional feature values, including the current posture (X, Y, θ), drive train torque (L torque, R torque), speed, and IMU data (speed, rotational position, rotational speed). may
なお、対象のロボットの動作を規定する情報であれば、どのような特徴量を用いてもよい。 Note that any feature amount may be used as long as it is information that defines the motion of the target robot.
情報処理装置300は、収集された動作波形データに対して主成分分析を行うことで、1または複数の固有ベクトルを抽出する。固有ベクトルの抽出は、任意の方法を採用できる。抽出された固有ベクトルは、対象のロボットの基本的な動作の特徴を示すと考えられる。
The
(c3:ECTスコアの算出)
次に、ECTスコアを算出する処理について説明する(ステップS106,S108)。
(c3: Calculation of ECT score)
Next, processing for calculating the ECT score will be described (steps S106 and S108).
図7は、本実施の形態に係る命令記述支援システム1におけるECTスコアを算出する処理を説明するための図である。上述したように、動作波形データ30は、所定のサンプリング周期毎に収集された動作特徴ベクトルの時系列データに相当する。
FIG. 7 is a diagram for explaining processing for calculating an ECT score in the instruction
情報処理装置300は、動作波形データ30に対して、所定の時間幅を有する窓関数32を時間軸に沿ってシフトさせて順次適用する。すなわち、情報処理装置300は、動作波形データ30に設定される時間区間である窓関数32を時間軸に沿ってシフトさせる。情報処理装置300は、窓関数32を用いて、予め抽出された固有ベクトルのうち、動作波形データ30と合致する固有ベクトルを抽出する。
The
より具体的には、まず、情報処理装置300は、窓関数32に含まれる対象のデータとレファレンスデータとの時間相関行列を算出する。そして、情報処理装置300は、時間相関行列と固有ベクトルとの比較、および、時間相関行列から固有値を算出する。固有値としては、例えば、ベクトルのドット積(<v1,v2>=Σv1i,v2i)を用いて規定されるベクトルの方向を用いることができる。ここで、ドット積は、2つのベクトルがどの程度類似しているかを-1~1の範囲の値で示す。さらに、ドット積を0~100%の範囲に規格化することで、窓関数32における相関行列の固有ベクトル内積を示すECTスコアを算出できる。
More specifically, first, the
すなわち、情報処理装置300は、動作波形データ30に設定される窓関数32毎に、各固有ベクトルについてのスコア(ECTスコア)を算出する。算出されたECTスコアは、ECTスコアリスト34として出力される。
That is, the
このように、情報処理装置300は、所定数の固有ベクトルに対して、動作波形データ30と時系列的に合致する固有ベクトルを決定し、ノルムの積で除算することで、当該決定した固有ベクトル内積の角度を算出し、算出した角度を正規化してECTスコアとして算出する。
In this way, the
(c4:バイナリコードの算出)
次に、バイナリコードを算出する処理について説明する(ステップS110)。
(c4: calculation of binary code)
Next, processing for calculating a binary code will be described (step S110).
図8は、本実施の形態に係る命令記述支援システム1におけるバイナリコード36を算出する処理を説明するための図である。図8を参照して、バイナリコード36は、テストパッチに基づいて算出される。テストパッチは、予め算出されたECTスコアリスト34に含まれるECTスコア群からランダムに選択された2つのECTスコア(ECTxおよびECTy)からなる組み合わせである。
FIG. 8 is a diagram for explaining the process of calculating the
例えば、図8においては、ECTスコアリスト34の1番目と3番目のECTスコアとが第1の組み合わせとして選択され、ECTスコアリスト34の1番目と2番目のECTスコアとが第2の組み合わせとして選択され、ECTスコアリスト34の2番目と5番目のECTスコアとが第3の組み合わせとして選択されている。以下、2つのECTスコアがランダムに順次選択される。
For example, in FIG. 8, the first and third ECT scores in the
パッチに含まれる2つのECTスコアを比較して、第1のECTスコア(ECTx)が第2のECTスコア(ECTy)以上であれば「1」を割り当て、第1のECTスコア(ECTx)が第2のECTスコア(ECTy)より小さければ「0」を割り当てる。このように、情報処理装置300は、複数の固有ベクトルのそれぞれに対する窓関数32に相当する時間区間の波形データの類似度をそれぞれ算出し、算出された類似度のうちランダムに選択される2つの類似度間の大小関係に応じて、バイナリコード36を構成する各ビットの値を決定する。
Compare the two ECT scores contained in the patch, assigning "1" if the first ECT score (ECT x ) is greater than or equal to the second ECT score (ECT y ), assigning the first ECT score (ECT x ) is less than the second ECT score (ECT y ), assign a '0'. In this way, the
バイナリコード36の長さは、ECTスコアリスト34に含まれるECTスコアの組み合わせの数(例えば、図8に示すように9個のECTスコアであれば、9C2=36個)となる。例えば、動作特徴量として、36ビットのバイナリコード36が算出される。
The length of the
算出されたバイナリコード36は、窓関数32の時間区間におけるロボットの動作を示すコードに相当する。
The calculated
このように、情報処理装置300は、動作波形データ30に設定される時間区間である窓関数32の波形データと固有ベクトルとの類似度を示すECTスコアから、当該時間区間の動作を示すバイナリコード36を算出する。
In this way, the
(c5:動作要素モデル48の構成)
次に、動作要素モデル48を構成する処理について説明する(ステップS116,S118,S120)。
(c5: Configuration of action element model 48)
Next, processing for configuring the
図9は、本実施の形態に係る命令記述支援システム1における動作要素モデル48を構成するためのクラスタリング処理を説明するための図である。図9を参照して、上述したような手順によって算出された多数のバイナリコード36をハイパー空間38にプロットする。バイナリコード36がプロットされるハイパー空間38は、バイナリコード36を構成するビット数と同数の次元(上述の例では、36次元)を有している。
FIG. 9 is a diagram for explaining clustering processing for constructing
ハイパー空間38にプロットされた多数のバイナリコード36によって、動作要素に対応する1または複数のクラスタ40が形成される。クラスタ40の各々は、動作要素の特徴を示すことになる。
A number of
図10は、本実施の形態に係る命令記述支援システム1における動作要素モデル48を構成するためのラベリング処理を説明するための図である。図10を参照して、クラスタリングによって得られた動作特徴量に対して、「まがる」、「とまる」、「直進」といった動作要素56をラベリングするとともに、動作要素56に対応する動作要素コード44を割り当てる。動作要素56は、収集した動作波形データが対象とするロボットの動作内容から決定できる。
FIG. 10 is a diagram for explaining the labeling process for constructing the
以上のようなクラスタリング処理およびラベリング処理によって、動作要素モデル48が構成される。すなわち、情報処理装置300は、複数のバイナリコード36をクラスタリングすることにより、動作要素モデル48を構成する。なお、動作要素モデル48は、図10に示すようなハイパー空間38を有する必要は必ずしもなく、公知の分類器の形で実装されてもよい。
A
図11は、本実施の形態に係る命令記述支援システム1における動作要素モデル48を構成するための類似度を評価する処理を説明するための図である。図11を参照して、図9に示すようなハイパー空間38にプロットされたバイナリコード36によって形成された動作要素56を示すクラスタ40のヒストグラム42が算出される。ヒストグラム42においては、動作特徴量のベクトルの方向が互いに類似するほど、動作特徴量の類似度が高いことが示される。
FIG. 11 is a diagram for explaining the similarity evaluation process for constructing the
例えば、カルバック・ライブラー情報量(Kullback-Leibler divergence)を用いることで、各分布の類似度を評価できる。すなわち、カルバック・ライブラー情報量(KL情報量)は、確率分布P(i)と確率分布Q(i)との間がどの程度類似しているかを示す。KL情報量がゼロに近付くほど、2つの確率分布は類似度が高いことを意味する。KL情報量DKLは図12に示すような式に従って算出でき、KL情報量DKLを評価することで、動作要素モデル48の識別性能を高めることができる。
For example, the Kullback-Leibler divergence can be used to evaluate the similarity of each distribution. That is, the Kullback-Leibler information amount (KL information amount) indicates how similar the probability distribution P(i) and the probability distribution Q(i) are. The closer the KL information amount is to zero, the higher the degree of similarity between the two probability distributions. The KL information amount D KL can be calculated according to the formula shown in FIG. 12, and by evaluating the KL information amount D KL , the identification performance of the
なお、図11に適用されるアルゴリズムは、画像処理および物体検出アルゴリズムで利用される「Bag-of-Visual Words」と同様の内容である。 Note that the algorithm applied to FIG. 11 has the same content as "Bag-of-Visual Words" used in image processing and object detection algorithms.
(c6:動作定義データベース60の構成)
次に、動作定義データベース60を構成する処理について説明する(ステップS122~S132)。
(c6: Configuration of action definition database 60)
Next, the process of configuring the
図12は、本実施の形態に係る命令記述支援システム1における動作定義データベース60を構成する処理を説明するための図である。
FIG. 12 is a diagram for explaining the process of configuring the
図12を参照して、情報処理装置300は、任意のロボット動作についての動作波形データを収集するとともに、当該ロボット動作を撮影することで動画像などを収集する。
Referring to FIG. 12,
情報処理装置300は、上述の図7および図8に示す処理手順に従って、収集した動作波形データから窓関数毎のバイナリコード36を算出する(バイナリコードリスト50)。そして、情報処理装置300は、窓関数毎のバイナリコード36が図10に示すハイパー空間38上のいずれのクラスタ40に分類されるのかを決定する(動作要素モデル48を用いたクラス分類処理52)。
The
その結果、窓関数毎に対応する動作要素56が決定あるいは推定される。決定された動作要素56を示す動作要素コード44(「88」,「232」,「235」,「343」など)が命令記述の基本的な要素となる。
As a result, the operating
一方、情報処理装置300は、対応する動画像などから動作認識を行って、一連の動作に対応する動詞(単語)を決定する(動作認識に基づく動作(単語)決定処理54)。なお、一連の動作に対応する動詞を決定する処理は、例えば、非特許文献1に開示される手法を用いることができる。
On the other hand, the
1または複数の動作要素56が固有動作64(例えば、「拭く(wipe)」)を構成する。情報処理装置300は、決定した固有動作64に対して、固有動作コード66を割り当てる。
One or
上述したように、窓関数32毎に対応する動作要素56を推定することで、一連の動作要素56を決定し、当該決定した一連の動作要素56に対して動詞を割り当てることで、固有動作64および固有動作64を特定する固有動作コード66を決定する。このように決定された固有動作コード66が命令コード72の基本単位となる。
As described above, by estimating the
図13は、本実施の形態に係る命令記述支援システム1における動作定義データベース60および動作要素56の関係を説明するための図である。図13を参照して、動作定義データベース60は、複数の固有動作64および対応する固有動作コード66を含む。
FIG. 13 is a diagram for explaining the relationship between the
固有動作64の各々は、固有動作64を構成する1または複数の動作要素56が対応付けられている。動作要素56の各々には、動作要素コード44が割り当てられている。固有動作コード66は、1または複数の動作要素コード44に対応付けることができる。
Each
以上のような処理によって、動作定義データベース60が構成される。
The
(c7:命令コード72の生成)
次に、命令コード72を生成する処理について説明する(ステップS134~S140)。
(c7: Generation of instruction code 72)
Next, the processing for generating the
情報処理装置300は、上述の図7および図8に示す処理手順に従って、命令コード72を生成する対象となるロボット動作に対応する動作波形データ30から窓関数毎にバイナリコード36を算出する。そして、情報処理装置300は、算出した窓関数毎にバイナリコード36を動作要素モデル48に入力して、窓関数毎に対応する動作要素コード44を決定する。すなわち、情報処理装置300は、窓関数毎のバイナリコード36に対応する一連の動作要素コード44を算出する。
The
そして、情報処理装置300は、動作定義データベース60を参照して、算出した一連の動作要素コード44に対応する固有動作を決定する。すなわち、情報処理装置300は、図13に示す動作要素56および動作要素コード44の組み合わせに合致あるいは最も類似する固有動作64を検索する。
Then, the
情報処理装置300は、検索により得られた1または複数の固有動作64に対応する固有動作コード66の組み合わせを命令コード72として出力する。
The
以上のように、情報処理装置300は、動作要素モデル48および動作定義データベース60を参照して、任意のロボット動作を示す動作波形データ30から命令コード72を生成する。
As described above, the
<D.機能構成>
図14は、本実施の形態に係る命令記述支援システム1の動作定義データベース60を構成するための機能構成例を示す模式図である。図15は、本実施の形態に係る命令記述支援システム1の命令コード72を生成するための機能構成例を示す模式図である。
<D. Functional configuration>
FIG. 14 is a schematic diagram showing a functional configuration example for configuring the
図14および図15に示される機能は、典型的には、情報処理装置300のプロセッサ302が命令記述支援プログラム314を実行することで実現される。
The functions shown in FIGS. 14 and 15 are typically realized by
図14を参照して、情報処理装置300は、動作定義データベース60を構成するための機能構成として、固有ベクトル抽出部350と、窓関数設定部352と、ECTスコア算出部354と、バイナリコード算出部356と、動作要素モデル構成部358と、動作要素決定部360と、動作認識部362と、動作定義データベース構成部364とを含む。
Referring to FIG. 14,
固有ベクトル抽出部350は、ロボットから収集された動作波形データ30から固有ベクトルあるいは固有ベクトルの候補を抽出する。すなわち、固有ベクトル抽出部350は、対象のロボットの動作を示す動作波形データ30から固有ベクトルを抽出する。
The
窓関数設定部352は、ロボットから収集された動作波形データ30に対して、窓関数32を設定するとともに、窓関数32を時間軸に沿って順次シフトさせる。
The window
ECTスコア算出部354は、固有ベクトル抽出部350により抽出された固有ベクトルと、窓関数設定部352により設定された窓関数32に含まれる動作波形データ30の特徴量とに基づいて、ECTスコアを算出する。
The
バイナリコード算出部356は、ECTスコア算出部354により算出されたECTスコアからバイナリコード36を算出する。すなわち、バイナリコード算出部356は、動作波形データ30に設定される時間区間(窓関数32)の波形データと固有ベクトルとの類似度を示すECTスコアから、当該時間区間の動作を示すバイナリコード36を算出する。
The
動作要素モデル構成部358は、複数のバイナリコード36をクラスタリングすることにより、動作要素56を推定するための動作要素モデル48を構成する。より具体的には、動作要素モデル構成部358は、バイナリコード算出部356により算出されたバイナリコード36をハイパー空間38にプロットするとともに、プロットされたバイナリコード36の集合からクラスタ40を決定する。動作要素モデル構成部358は、各クラスタ40に対して、動作要素56をラベリングするとともに、動作要素56に対応する動作要素コード44を割り当てることで、動作要素モデル48を構成する。
The action element
動作要素決定部360は、バイナリコード算出部356が算出する窓関数毎のバイナリコード36を動作要素モデル48に入力して、動作波形データ30に対応する動作要素56および対応する動作要素コード44を順次出力する。
The motion
動作認識部362は、動画像46に基づいて、動作波形データ30に対応する動詞(単語)を出力する。すなわち、動作認識部362は、所定の動作を行うロボットを撮影した動画像を動作認識することで、当該所定の動作を示す動詞を決定する。
The
動作定義データベース構成部364は、動作要素決定部360から時系列に出力される動作要素コード44と、動作認識部362から時系列に出力される動詞とを組み合わせて、動作定義データベース60を構成する。すなわち、動作定義データベース構成部364は、ロボットが所定の動作を行ったときの動作波形データ30から動作要素モデル48を用いて推定される一連の動作要素と、当該所定の動作を示す動詞とを対応付けることで、当該所定の動作に含まれる、1または複数の動作要素で構成される固有動作64を決定し、当該決定した固有動作64を示す固有動作コード66を動作定義データベース60に登録する。
The action definition
上述したような機能構成を用いて構成された動作定義データベース60は、例えば、以下のような態様で命令コード72の生成に利用される。
The
図15を参照して、情報処理装置300は、命令コード72を生成するための機能構成として、窓関数設定部352と、ECTスコア算出部354と、バイナリコード算出部356と、動作要素推定部370と、命令コード生成部372とを含む。
Referring to FIG. 15,
窓関数設定部352、ECTスコア算出部354、およびバイナリコード算出部356は、図14に示す構成と実質的に同一である。但し、図15に示す機能構成においては、命令コード72の生成を希望するロボット動作に対応する動作波形データ30が入力される。そのため、算出されるバイナリコード36についても、命令コード72の生成を希望するロボット動作を示すものとなる。
A window
動作要素推定部370は、動作要素モデル48を参照して、バイナリコード36から動作要素を推定する。より具体的には、動作要素推定部370は、動作波形データ30から順次算出されるバイナリコード36を動作要素モデル48に順次入力することで、動作要素コード44のデータ列を算出する。
The
命令コード生成部372は、動作定義データベース60を参照して、動作要素コード44のデータ列に合致あるいは最も類似する固有動作64を検索する。最終的に、命令コード生成部372は、動作要素コード44のデータ列に合致あるいは最も類似する固有動作64に対応する固有動作コード66を順次出力する。順次出力される固有動作コード66の集合が命令コード72となる。
The
このように、命令コード生成部372は、1または複数の動作要素で構成される固有動作64を登録した動作定義データベース60を参照して、対象のロボットの動作を示す1または複数の固有動作64を決定するとともに、当該決定した1または複数の固有動作64を示す固有動作コード66を命令コード72として生成する。
In this way, the
上述したような機能構成を用いて、任意のロボット動作に対応する命令コード72が生成される。
Using the functional configuration as described above, an
<E.応用例>
図16は、本実施の形態に係る命令記述支援システム1により生成される命令コード72の一例を示す図である。図16を参照して、命令コード72は、複数の固有動作64の組み合わせで定義される。固有動作64の各々は、1または複数の動作要素56から構成される。
<E. Application example>
FIG. 16 is a diagram showing an example of an
なお、動作要素56の各々には、動作を具体化するためのパラメータが設定可能になっており、ユーザは、所望の動作となるように、パラメータを適宜設定あるいは変更してもよい。
It should be noted that each of the
<F.付記>
上述したような本実施の形態は、以下のような技術思想を含む。
<F. Note>
The present embodiment as described above includes the following technical ideas.
[構成1]
対象のロボット(200)の動作を示す動作波形データ(30)に設定される時間区間(32)の波形データと固有ベクトルとの類似度を示すスコアから、当該時間区間の動作を示すバイナリコード(36)を算出する算出部(354)と、
動作要素モデル(48)を参照して、前記バイナリコードから動作要素を推定する推定部(370)と、
1または複数の動作要素で構成される固有動作を登録したデータベース(60)を参照して、前記対象のロボットの動作を示す1または複数の固有動作(64)を決定するとともに、当該決定した1または複数の固有動作を示す固有動作コード(66)を命令コード(72)として生成する生成部(372)とを備える、命令記述支援システム。
[Configuration 1]
A binary code (36 ), a calculation unit (354) for calculating
an estimator (370) for estimating a motion element from the binary code with reference to the motion element model (48);
By referring to a database (60) in which unique motions composed of one or more motion elements are registered, one or more unique motions (64) indicating motions of the target robot are determined, and the determined one Alternatively, an instruction description support system comprising a generator (372) that generates a unique operation code (66) representing a plurality of unique operations as an instruction code (72).
[構成2]
前記動作波形データから固有ベクトルを抽出する抽出部(350)と、
複数の前記バイナリコードをクラスタリングすることにより、前記動作要素モデル(48)を構成するモデル構成部(358)とをさらに備える、構成1に記載の命令記述支援システム。
[Configuration 2]
an extraction unit (350) for extracting eigenvectors from the operating waveform data;
The instruction description support system according to
[構成3]
前記算出部は、複数の前記固有ベクトルのそれぞれに対する前記時間区間の波形データの類似度をそれぞれ算出し、算出された類似度のうちランダムに選択される2つの類似度間の大小関係に応じて、前記バイナリコードを構成する各ビットの値を決定する。構成1または2に記載の命令記述支援システム。
[Configuration 3]
The calculating unit calculates a similarity of the waveform data in the time interval with respect to each of the plurality of eigenvectors, and according to a magnitude relationship between two similarities randomly selected from the calculated similarities, A value of each bit constituting the binary code is determined. 3. An instruction description support system according to
[構成4]
前記算出部は、前記動作波形データに設定される前記時間区間を時間軸に沿ってシフトさせる、構成1~3のいずれか1項に記載の命令記述支援システム。
[Configuration 4]
4. The instruction description support system according to any one of
[構成5]
前記ロボットが所定の動作を行ったときの動作波形データから前記動作要素モデルを用いて推定される一連の動作要素(56)と、当該所定の動作を示す動詞とを対応付けることで、当該所定の動作に含まれる、1または複数の動作要素で構成される固有動作を決定し、当該決定した固有動作(64)を示す固有動作コード(66)をデータベース(60)に登録するデータベース構成部(364)をさらに備える、構成1~4のいずれか1項に記載の命令記述支援システム。
[Configuration 5]
By associating a series of motion elements (56) estimated using the motion element model from motion waveform data when the robot performs a predetermined motion with verbs indicating the predetermined motion, A database configuration unit (364) that determines a unique motion composed of one or more motion elements included in the motion and registers a unique motion code (66) indicating the determined unique motion (64) in the database (60) ), the instruction description support system according to any one of
[構成6]
前記所定の動作を行う前記ロボットを撮影した動画像(46)を動作認識することで、前記所定の動作を示す動詞を決定する動作認識部(362)をさらに備える、構成5に記載の命令記述支援システム。
[Configuration 6]
The command description according to
[構成7]
対象のロボット(200)の動作を示す動作波形データ(30)に設定される時間区間(32)の波形データと固有ベクトルとの類似度を示すスコアから、当該時間区間の動作を示すバイナリコード(36)を算出するステップ(S134)と、
動作要素モデル(48)を参照して、前記バイナリコードから動作要素を推定するステップ(S136)と、
1または複数の動作要素で構成される固有動作を登録したデータベース(60)を参照して、前記対象のロボットの動作を示す1または複数の固有動作(64)を決定するとともに、当該決定した1または複数の固有動作を示す固有動作コード(66)を命令コード(72)として生成するステップ(S138,S140)とを備える、命令記述支援方法。
[Configuration 7]
A binary code (36 ) of calculating (S134);
a step of estimating a motion element from the binary code (S136) with reference to the motion element model (48);
By referring to a database (60) in which unique motions composed of one or more motion elements are registered, one or more unique motions (64) indicating motions of the target robot are determined, and the determined one Alternatively, an instruction description support method comprising steps (S138, S140) of generating a unique operation code (66) indicating a plurality of unique operations as an instruction code (72).
[構成8]
コンピュータ(300)に、
対象のロボット(200)の動作を示す動作波形データ(30)に設定される時間区間(32)の波形データと固有ベクトルとの類似度を示すスコアから、当該時間区間の動作を示すバイナリコード(36)を算出するステップ(S134)と、
動作要素モデル(48)を参照して、前記バイナリコードから動作要素を推定するステップ(S136)と、
1または複数の動作要素で構成される固有動作を登録したデータベース(60)を参照して、前記対象のロボットの動作を示す1または複数の固有動作(64)を決定するとともに、当該決定した1または複数の固有動作を示す固有動作コード(66)を命令コード(72)として生成するステップ(S138,S140)とを実行させる、命令記述支援プログラム。
[Configuration 8]
to the computer (300),
A binary code (36 ) of calculating (S134);
a step of estimating a motion element from the binary code (S136) with reference to the motion element model (48);
By referring to a database (60) in which unique motions composed of one or more motion elements are registered, one or more unique motions (64) indicating motions of the target robot are determined, and the determined one Alternatively, an instruction description support program for executing steps (S138, S140) of generating a unique operation code (66) representing a plurality of unique operations as an instruction code (72).
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。 It should be considered that the embodiments disclosed this time are illustrative in all respects and not restrictive. The scope of the present invention is indicated by the scope of the claims rather than the above description, and is intended to include all modifications within the scope and meaning equivalent to the scope of the claims.
1 命令記述支援システム、4 カメラ、10 フィールドネットワーク、20 上位ネットワーク、30 動作波形データ、32 窓関数、34 スコアリスト、36 バイナリコード、38 ハイパー空間、40 クラスタ、42 ヒストグラム、44 動作要素コード、46 動画像、48 動作要素モデル、50 バイナリコードリスト、52 クラス分類処理、54 決定処理、56 動作要素、60 動作定義データベース、64 固有動作、66 固有動作コード、68 連動作、70 工程、72 命令コード、100 制御装置、102,262,302 プロセッサ、104,264,304 メインメモリ、106 上位ネットワークコントローラ、108,252 フィールドネットワークコントローラ、110,270,310 ストレージ、112 メモリカードインターフェイス、114 メモリカード、116 ローカルバスコントローラ、118 プロセッサバス、120,324 USBコントローラ、122 ローカルバス、130 機能ユニット、200 ロボット、250 ロボットコントローラ、260 制御処理回路、268 インターフェイス回路、272,1102 システムプログラム、300 情報処理装置、306 光学ドライブ、307 記録媒体、308 バス、312 OS、314 命令記述支援プログラム、320 ネットワークコントローラ、326 入力部、328 表示部、350 固有ベクトル抽出部、352 窓関数設定部、354 スコア算出部、356 バイナリコード算出部、358 動作要素モデル構成部、360 動作要素決定部、362 動作認識部、364 動作定義データベース構成部、370 動作要素推定部、372 命令コード生成部、400 表示装置、1104 IECプログラム、1106 ロボットプログラム。 1 instruction description support system, 4 camera, 10 field network, 20 upper network, 30 motion waveform data, 32 window function, 34 score list, 36 binary code, 38 hyperspace, 40 cluster, 42 histogram, 44 motion element code, 46 Moving image, 48 action element model, 50 binary code list, 52 class classification process, 54 decision process, 56 action element, 60 action definition database, 64 unique action, 66 unique action code, 68 continuous action, 70 process, 72 instruction code , 100 control device, 102,262,302 processor, 104,264,304 main memory, 106 host network controller, 108,252 field network controller, 110,270,310 storage, 112 memory card interface, 114 memory card, 116 local Bus Controller, 118 Processor Bus, 120, 324 USB Controller, 122 Local Bus, 130 Functional Unit, 200 Robot, 250 Robot Controller, 260 Control Processing Circuit, 268 Interface Circuit, 272, 1102 System Program, 300 Information Processing Device, 306 Optics Drive, 307 recording medium, 308 bus, 312 OS, 314 instruction description support program, 320 network controller, 326 input unit, 328 display unit, 350 eigenvector extraction unit, 352 window function setting unit, 354 score calculation unit, 356 binary code calculation Section 358 Action element model configuration section 360 Action element determination section 362 Action recognition section 364 Action definition database configuration section 370 Action element estimation section 372 Instruction code generation section 400 Display device 1104 IEC program 1106 Robot program .
Claims (8)
動作要素モデルを参照して、前記バイナリコードから動作要素を推定する推定部と、
1または複数の動作要素で構成される固有動作を登録したデータベースを参照して、前記対象のロボットの動作を示す1または複数の固有動作を決定するとともに、当該決定した1または複数の固有動作を示す固有動作コードを命令コードとして生成する生成部とを備える、命令記述支援システム。 a calculation unit for calculating a binary code representing the motion in the time interval from a score indicating the similarity between the waveform data in the time interval set in the motion waveform data indicating the motion of the target robot and the eigenvector;
an estimating unit that estimates a motion element from the binary code by referring to the motion element model;
By referring to a database in which unique motions composed of one or more motion elements are registered, one or more unique motions indicating motions of the target robot are determined, and the determined one or more unique motions are determined. an instruction description support system, comprising: a generation unit that generates a specific operation code to be indicated as an instruction code.
複数の前記バイナリコードをクラスタリングすることにより、前記動作要素モデルを構成するモデル構成部とをさらに備える、請求項1に記載の命令記述支援システム。 an extraction unit for extracting eigenvectors from the operating waveform data;
2. The instruction description support system according to claim 1, further comprising a model construction unit that constructs the behavioral element model by clustering a plurality of the binary codes.
動作要素モデルを参照して、前記バイナリコードから動作要素を推定するステップと、
1または複数の動作要素で構成される固有動作を登録したデータベースを参照して、前記対象のロボットの動作を示す1または複数の固有動作を決定するとともに、当該決定した1または複数の固有動作を示す固有動作コードを命令コードとして生成するステップとを備える、命令記述支援方法。 a step of calculating a binary code indicating the motion of the target robot from a score indicating the degree of similarity between the waveform data of the time interval set in the motion waveform data indicating the motion of the target robot and the eigenvector;
estimating a behavioral element from the binary code with reference to a behavioral element model;
By referring to a database in which unique motions composed of one or more motion elements are registered, one or more unique motions indicating motions of the target robot are determined, and the determined one or more unique motions are determined. and generating a specific operation code to indicate as an instruction code.
対象のロボットの動作を示す動作波形データに設定される時間区間の波形データと固有ベクトルとの類似度を示すスコアから、当該時間区間の動作を示すバイナリコードを算出するステップと、
動作要素モデルを参照して、前記バイナリコードから動作要素を推定するステップと、
1または複数の動作要素で構成される固有動作を登録したデータベースを参照して、前記対象のロボットの動作を示す1または複数の固有動作を決定するとともに、当該決定した1または複数の固有動作を示す固有動作コードを命令コードとして生成するステップとを実行させる、命令記述支援プログラム。 to the computer,
a step of calculating a binary code indicating the motion of the target robot from a score indicating the degree of similarity between the waveform data of the time interval set in the motion waveform data indicating the motion of the target robot and the eigenvector;
estimating a behavioral element from the binary code with reference to a behavioral element model;
By referring to a database in which unique motions composed of one or more motion elements are registered, one or more unique motions indicating motions of the target robot are determined, and the determined one or more unique motions are determined. and a step of generating the indicated unique operation code as an instruction code.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021040255A JP2022139741A (en) | 2021-03-12 | 2021-03-12 | Instruction description support system, instruction description support method and instruction description support program |
PCT/JP2021/034738 WO2022190434A1 (en) | 2021-03-12 | 2021-09-22 | Instruction description support system, instruction description support method, and instruction description support program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021040255A JP2022139741A (en) | 2021-03-12 | 2021-03-12 | Instruction description support system, instruction description support method and instruction description support program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022139741A true JP2022139741A (en) | 2022-09-26 |
Family
ID=83226233
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021040255A Pending JP2022139741A (en) | 2021-03-12 | 2021-03-12 | Instruction description support system, instruction description support method and instruction description support program |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2022139741A (en) |
WO (1) | WO2022190434A1 (en) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3211186B2 (en) * | 1997-12-15 | 2001-09-25 | オムロン株式会社 | Robot, robot system, robot learning method, robot system learning method, and recording medium |
JP6406900B2 (en) * | 2014-07-09 | 2018-10-17 | キヤノン株式会社 | Image processing method, image processing apparatus, program, recording medium, production apparatus, and assembly part manufacturing method |
JP6869060B2 (en) * | 2017-03-15 | 2021-05-12 | 株式会社オカムラ | Manipulator controls, control methods and programs, and work systems |
US11693924B2 (en) * | 2019-06-06 | 2023-07-04 | Hitachi, Ltd. | System and method for maintenance recommendation in industrial networks |
-
2021
- 2021-03-12 JP JP2021040255A patent/JP2022139741A/en active Pending
- 2021-09-22 WO PCT/JP2021/034738 patent/WO2022190434A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2022190434A1 (en) | 2022-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Xiong et al. | Transferable two-stream convolutional neural network for human action recognition | |
JP6893233B2 (en) | Image-based data processing methods, devices, electronics, computer-readable storage media and computer programs | |
Hu et al. | Early action prediction by soft regression | |
Lan et al. | A hierarchical representation for future action prediction | |
Wang et al. | Transferring rich feature hierarchies for robust visual tracking | |
Kappler et al. | Leveraging big data for grasp planning | |
Kadous | Machine recognition of Auslan signs using PowerGloves: Towards large-lexicon recognition of sign language | |
US20200074227A1 (en) | Neural network-based action detection | |
CN107609541A (en) | A kind of estimation method of human posture based on deformable convolutional neural networks | |
Yin et al. | Online state-based structured SVM combined with incremental PCA for robust visual tracking | |
CN103415825A (en) | System and method for gesture recognition | |
CN104866860A (en) | Indoor human body behavior recognition method | |
Chong et al. | Modeling representation of videos for anomaly detection using deep learning: A review | |
Cimen et al. | Classification of human motion based on affective state descriptors | |
JP6756406B2 (en) | Image processing equipment, image processing method and image processing program | |
CN114730407A (en) | Modeling human behavior in a work environment using neural networks | |
JP6248593B2 (en) | Posture detection apparatus, posture detection method, and posture detection program | |
Mohd Asaari et al. | Adaptive Kalman Filter Incorporated Eigenhand (AKFIE) for real-time hand tracking system | |
JP7472471B2 (en) | Estimation system, estimation device, and estimation method | |
JP6930195B2 (en) | Model identification device, prediction device, monitoring system, model identification method and prediction method | |
JP4928193B2 (en) | Face image recognition apparatus and face image recognition program | |
WO2022190434A1 (en) | Instruction description support system, instruction description support method, and instruction description support program | |
Gu et al. | Sensor fusion based manipulative action recognition | |
Goutsu et al. | Motion recognition employing multiple kernel learning of fisher vectors using local skeleton features | |
WO2022190435A1 (en) | Command script assistance system, command script assistance method, and command script assistance program |