Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7788948B2 - Processing device, robot control system and machine learning method - Google Patents
[go: Go Back, main page]

JP7788948B2 - Processing device, robot control system and machine learning method - Google Patents

Processing device, robot control system and machine learning method

Info

Publication number
JP7788948B2
JP7788948B2 JP2022096802A JP2022096802A JP7788948B2 JP 7788948 B2 JP7788948 B2 JP 7788948B2 JP 2022096802 A JP2022096802 A JP 2022096802A JP 2022096802 A JP2022096802 A JP 2022096802A JP 7788948 B2 JP7788948 B2 JP 7788948B2
Authority
JP
Japan
Prior art keywords
robot
processing device
teaching data
data
unit
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
JP2022096802A
Other languages
Japanese (ja)
Other versions
JP2023183271A (en
Inventor
俊貴 小谷
洋 伊藤
秀行 一藁
健次郎 山本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2022096802A priority Critical patent/JP7788948B2/en
Priority to PCT/JP2023/020383 priority patent/WO2023243412A1/en
Publication of JP2023183271A publication Critical patent/JP2023183271A/en
Application granted granted Critical
Publication of JP7788948B2 publication Critical patent/JP7788948B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/16Program controls
    • B25J9/1656Program controls characterised by programming, planning systems for manipulators

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Description

本発明は、処理装置、ロボット制御システム及び機械学習方法に関する。 The present invention relates to a processing device, a robot control system, and a machine learning method.

事業環境の急速な変化や人々のニーズの多様化に対応するために、多品種少量生産システムが注目を集めている。生産効率を高める手段としてロボットによる自動化が考えられるが、ロボットを制御するためには膨大なプログラミングコストや高い専門知識が必要であり、導入工数が大きいことが課題となっている。そこで、ロボット導入工数を削減するために、あらゆるロボット機能に機械学習が用いられている。例えば、物体認識では、物体の種類や位置、姿勢を推定するために、ロボットとの接触情報や画像情報から機械学習を用いて物体の特徴を定量的に算出する研究が多数報告されている。 High-mix, low-volume production systems are attracting attention in order to respond to the rapid changes in the business environment and the diversification of people's needs. While robotic automation is considered a way to increase production efficiency, controlling robots requires enormous programming costs and a high level of specialized knowledge, posing a challenge in terms of the large amount of work required for implementation. Therefore, to reduce the amount of work required for robot implementation, machine learning is being used in all robot functions. For example, in object recognition, numerous studies have been reported that use machine learning to quantitatively calculate object features from contact information with the robot and image information in order to estimate the type, position, and orientation of an object.

一方で、動作生成では、環境変化やプログラムでは記述困難な動作を実現するために、機械学習をロボットの自律制御に適用した研究が多数報告されている。自律制御技術の一例として、強化学習が挙げられる。ロボットが試行錯誤することで、タスクを遂行するための最適動作を獲得するため、明示的に動作を教示する必要がない。しかし、最適動作を獲得するためには、膨大な試行錯誤(学習時間)がかかる。 On the other hand, when it comes to motion generation, numerous studies have been reported that apply machine learning to the autonomous control of robots in order to realize movements that are difficult to describe in programs or that respond to environmental changes. Reinforcement learning is one example of an autonomous control technology. Robots acquire the optimal movements to perform a task through trial and error, so there is no need to explicitly teach them movements. However, acquiring the optimal movements requires a huge amount of trial and error (learning time).

学習時間が小さい自律制御技術として、模倣学習がある。模倣学習は教示・学習・実行フェーズの3つからなる。教示フェーズでは、教示者がロボットを操作することで目的の動作を教示し、その際ロボットに搭載されたエンコーダーや、温度センサ、ビジョンセンサ、超音波センサ等が出力する時系列情報を収集記録する。ロボットへの動作教示は、コントローラによる遠隔操作や、ロボットを直接触れて教示するダイレクトティーチング、あるいは制御プログラムを用いる手法などがある。 Imitation learning is an autonomous control technology with a short learning time. Imitation learning consists of three phases: teaching, learning, and execution. In the teaching phase, the instructor operates the robot to teach it the desired behavior, and collects and records time-series information output by the robot's onboard encoders, temperature sensors, vision sensors, ultrasonic sensors, and other sensors. Robots can be taught to perform certain actions by remote control using a controller, direct teaching, in which the robot is directly touched, or by using a control program.

教示フェーズで得られる時系列情報を、教示データと呼ぶ。教示データの種類は、動作生成方法に依存する。例えば、ロボットや対象物の位置に応じて動作を生成する場合、教示データには、ロボットの位置や、関節角情報等が含まれる。さらに、視覚情報に応じて動作を生成する場合は、ロボットや作業環境の画像を含めてもよい。また、対象物の状態に応じて動作を生成する場合は、対象物の位置や姿勢情報を含めてもよい。また、例えば、ロボットの速度に応じて動作を生成する場合、教示データには、ロボットの速度、関節角速度情報等が含まれる。また、例えば、ロボットの力に応じて動作を生成する場合、教示データには、ロボットの触覚情報が含まれる。 The time-series information obtained in the teaching phase is called teaching data. The type of teaching data depends on the movement generation method. For example, when generating movements based on the positions of the robot or object, the teaching data includes the robot's position, joint angle information, etc. Furthermore, when generating movements based on visual information, images of the robot and the work environment may be included. Furthermore, when generating movements based on the state of the object, position and posture information of the object may be included. Furthermore, when generating movements based on the robot's speed, for example, the teaching data includes the robot's speed, joint angular velocity information, etc. Furthermore, when generating movements based on the robot's force, for example, the teaching data includes tactile information from the robot.

学習フェーズでは、教示フェーズで収集した教示データをもとに学習データを作成し、その学習データを用いて動作生成モデルの学習を行う。学習データは、教示データをそのまま使用してもよい。また、教示データに含まれるノイズ、欠損、エラー値などを除去するために、教示データを変換することで学習データを作成してもよい。教示データを学習データへ変換することを前処理と呼ぶ。前処理には、欠損値や外れ値等が含まれるデータを除去するデータクリーニングや、データの値が指定された範囲内に収まるように変換する正規化などがある。学習データを用いて、機械学習モデルの重みを更新することで、ある値をモデルへ入力すると、所望の値を出力するようにする。例えば、ある時刻の関節角情報と画像を入力すると、その次の時刻の関節角情報と画像を予測するようにモデルを学習する。 In the learning phase, training data is created based on the teaching data collected in the teaching phase, and this training data is used to train the movement generation model. The teaching data may be used as is. Alternatively, training data may be created by converting the teaching data to remove noise, missing values, error values, etc. contained in the teaching data. Converting teaching data into training data is called preprocessing. Preprocessing includes data cleaning, which removes data containing missing values and outliers, and normalization, which converts data values so that they fall within a specified range. The training data is used to update the weights of the machine learning model so that when a certain value is input into the model, the desired value is output. For example, when joint angle information and an image at a certain time are input, the model is trained to predict joint angle information and an image at the next time.

実行フェーズでは、学習フェーズで得られた動作生成モデルとロボットのセンサデータを用いて、動作生成を行うことでタスクを実行する。例えば、学習フェーズで、ある時刻の関節角情報と画像を入力すると、その次の時刻の関節角情報と画像を予測するように、機械学習モデルを学習したとする。この機械学習モデルを実行フェーズで用いることで、各時刻の関節角情報と画像を入力し、出力された関節角情報をロボットへの制御指令値とすることで、自律的に動作を生成することができる。 In the execution phase, the task is executed by generating movements using the movement generation model obtained in the learning phase and the robot's sensor data. For example, in the learning phase, a machine learning model is trained to predict the joint angle information and image at the next time point when joint angle information and an image at a certain time point are input. By using this machine learning model in the execution phase, joint angle information and images at each time point can be input, and the output joint angle information can be used as control command values for the robot, allowing it to generate movements autonomously.

模倣学習の動作生成精度を向上させるために、次のような模倣学習が特許文献1に記載されている。この特許文献1には、「模範操作時に操作者が把握していた観測情報に基づいて模倣学習を行う」と記載されている。 In order to improve the accuracy of motion generation in imitation learning, the following imitation learning is described in Patent Document 1. Patent Document 1 states that "imitation learning is performed based on observational information grasped by the operator during the model operation."

特開2021-10984号公報Patent Publication No. 2021-10984

ところで、模倣学習の課題として、導入工数(教示・学習フェーズの工数)削減と、汎化動作獲得の両立が困難であることが挙げられる。例えば、プログラムベースの教示では、コンピュータ制御によってロボットを操作するため、人が操作する場合に比べて均整な教示データが取得でき、教示データ間の関係性を学習しやすくなり汎化動作性能が向上する。しかし、ロボットの動作を逐一プログラミングする必要があるため、導入工数が大きい。 One of the challenges with imitation learning is the difficulty of simultaneously reducing implementation effort (efforts in the teaching and learning phases) and acquiring generalized behavior. For example, with program-based teaching, the robot is operated by computer control, so more balanced teaching data can be obtained than when operated by a human, making it easier to learn the relationships between the teaching data and improving generalized behavior performance. However, because the robot's movements must be programmed one by one, implementation effort is high.

プログラムベースよりも導入工数が小さい教示方法としては、人がロボットをコントローラ等で遠隔操作する方法や、直接触れることで操作する方法等が挙げられる。これらの教示方法は、ロボットの動作を逐一プログラミングする必要がないため、導入工数が小さい。 Teaching methods that require less initial effort than program-based methods include remotely controlling the robot using a controller or by directly touching it. These teaching methods require less initial effort because they do not require programming each and every robot movement.

しかし、人がロボットを動かすことで、プログラムベースの教示方法に比べて、教示データ毎に動作速度や動作タイミング等の時間方向のばらつきが生じるため、教示データ間の関係性を学習することが困難である。この時間方向のばらつきの影響を無視するためには、膨大な学習データが必要であり、教示回数が増加する。 However, when a robot is operated by a human, variations in the movement speed, movement timing, etc. occur over time for each piece of teaching data, compared to program-based teaching methods, making it difficult to learn the relationships between pieces of teaching data. Ignoring the effects of this variation over time requires a huge amount of training data, which increases the number of teaching sessions.

そこで、本発明は、動作学習を阻害する教示データの時間方向のばらつきを低減することができる処理装置、ロボット制御システム及び機械学習方法を提供することを目的とする。なお、特許文献1に記載の技術は、動作生成精度を向上させるために学習データを操作するという点で共通しているものの、時間方向のばらつきを低減することに言及していない。 The present invention aims to provide a processing device, robot control system, and machine learning method that can reduce the temporal variability in teaching data that impedes movement learning. Note that while the technology described in Patent Document 1 is similar in that it manipulates learning data to improve movement generation accuracy, it does not mention reducing the temporal variability.

上記目的を達成するために、本発明の一例の処理装置は、ロボットへの教示データを前記ロボットの同種の動作ごとに分節し、分節された複数の前記教示データに対して、前記ロボットの同種の動作の速度又はタイミングを揃える補正を行い、補正が行われた複数の前記教示データを合成し、合成された前記教示データを用いて機械学習を行うプロセッサを備える。 To achieve the above objective, one example of a processing device of the present invention includes a processor that segments teaching data for a robot into groups of similar movements of the robot, corrects the segmented teaching data to align the speed or timing of similar movements of the robot, combines the corrected teaching data, and performs machine learning using the combined teaching data.

本発明によれば、動作学習を阻害する教示データの時間方向のばらつきを低減することができる。上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。 This invention can reduce the temporal variation in teaching data that hinders motion learning. Issues, configurations, and advantages other than those described above will become clear from the description of the following embodiments.

本発明が適用されるロボット制御システムの構成例を示す概略図である。1 is a schematic diagram showing an example of the configuration of a robot control system to which the present invention is applied; ロボット制御システムの動作計画部を実現する計算機のハードウェア構成例を示すブロック図である。FIG. 2 is a block diagram showing an example of the hardware configuration of a computer that realizes a motion planning unit of the robot control system. ロボット制御システムの動作計画部が備える計算機の機能構成例を示すブロック図である。FIG. 2 is a block diagram showing an example of the functional configuration of a computer included in an operation planning unit of the robot control system. 本発明の第1の実施形態における、動作計画部が備える整合性検証装置の機能構成例を示すブロック図である。2 is a block diagram illustrating an example of a functional configuration of a consistency verification device provided in an operation planning unit according to the first exemplary embodiment of the present invention. FIG. 本発明の第1の実施形態における、速度調整の実現方法例の説明図である。FIG. 4 is an explanatory diagram of an example of a method for implementing speed adjustment in the first embodiment of the present invention. 本発明の第1の実施形態における、動作計画部が備える機械学習装置の機能構成例を示すブロック図である。FIG. 2 is a block diagram illustrating an example of the functional configuration of a machine learning device included in an action planning unit according to the first exemplary embodiment of the present invention. 本発明の第1の実施形態における、動作計画部が備える整合性検証装置の動作例を示すフローチャートである。5 is a flowchart showing an example of the operation of a consistency verification device provided in an operation planning unit in the first exemplary embodiment of the present invention. 本発明の第1の実施形態における、動作計画部が備える整合性検証装置の効果例を示すための、リーチングタスクの説明図である。FIG. 10 is an explanatory diagram of a reaching task to show an example of the effect of the consistency verification device provided in the operation planning unit in the first embodiment of the present invention. 教示動作中の時間とY軸方向の手先位置の関係を表した図である。FIG. 10 is a diagram showing the relationship between time and the hand position in the Y-axis direction during a teaching operation. 教示データに時間方向のバラつきがある場合の、リーチングタスクの様子を示す図である。FIG. 10 is a diagram showing the state of a reaching task when there is variation in the teaching data in the time direction. 時間方向のばらつきがある教示動作中の、時間とY軸方向の手先位置の関係を表した図である。FIG. 10 is a diagram showing the relationship between time and the hand position in the Y-axis direction during a teaching operation with variation in the time direction. 図8C、8Dに示したリーチングタスクについて、整合性検証装置を適用した際の説明図である。FIG. 8C is an explanatory diagram of the application of the consistency verification device to the reaching task shown in FIGS. 8C and 8D. 本発明の第2の実施形態における、動作計画部が備える整合性検証装置の内部構成例を示すブロック図である。FIG. 10 is a block diagram illustrating an example of the internal configuration of a consistency verification device provided in an operation planning unit according to a second exemplary embodiment of the present invention. 本発明の第2の実施形態における、動作計画部が備える整合性検証装置の動作例を示すフローチャートである。10 is a flowchart showing an example of the operation of a consistency verification device provided in an operation planning unit in the second exemplary embodiment of the present invention. 本発明の第3の実施形態における、ロボット制御システムの構成例を示す概略図である。FIG. 10 is a schematic diagram illustrating an example of the configuration of a robot control system according to a third embodiment of the present invention. 本発明の第3の実施形態における、ロボット制御システムの動作計画部が備える計算機の機能構成例を示すブロック図である。FIG. 11 is a block diagram illustrating an example of the functional configuration of a computer included in an operation planning unit of a robot control system according to a third embodiment of the present invention. 本発明の第3の実施形態における、ロボット制御システムの動作計画部を実現する計算機のハードウェア構成例を示すブロック図である。FIG. 11 is a block diagram showing an example of the hardware configuration of a computer that realizes an operation planning unit of a robot control system according to a third embodiment of the present invention. 本発明の第3の実施形態における、ロボット制御システムの動作計画部が備えるスクリーニング装置の機能構成例を示すブロック図である。FIG. 11 is a block diagram showing an example of the functional configuration of a screening device provided in an operation planning unit of a robot control system according to a third embodiment of the present invention. 本発明の第3の実施形態における、ロボット制御システムが備える画面操作部の機能構成例を示すブロック図である。FIG. 11 is a block diagram showing an example of the functional configuration of a screen operation unit included in a robot control system according to a third embodiment of the present invention. 本発明の第4の実施形態における、ロボット制御システムが備える動作計画部の機能構成例を示すブロック図である。FIG. 11 is a block diagram showing an example of the functional configuration of an operation planning unit included in a robot control system according to a fourth embodiment of the present invention. 本発明の第4の実施形態における、ロボット制御システムの動作計画部が備える動作パラメータ調整装置の機能構成例を示すブロック図である。FIG. 13 is a block diagram showing an example of the functional configuration of an operation parameter adjustment device provided in an operation planning unit of a robot control system according to a fourth embodiment of the present invention.

以下、第1~第4の実施形態を、図面を用いて説明する。本実施形態は、ロボットの時系列データを学習し、自律的に動作を生成するようなロボット動作生成技術に関する。本実施形態は、動作学習を阻害する教示データの時間方向のばらつきを低減することで、導入工数削減と汎化動作獲得の両立を実現することを目的とする。 The following describes first to fourth embodiments with reference to the accompanying drawings. These embodiments relate to robot motion generation technology that learns time-series data from a robot and autonomously generates motion. The purpose of these embodiments is to reduce the time-dependent variation in teaching data that impedes motion learning, thereby achieving both reduced implementation effort and the acquisition of generalized motion.

(第1の実施形態)
まず、本発明の第1の実施形態に係るロボット制御システムについて図1から図3を参照して説明する。
(First embodiment)
First, a robot control system according to a first embodiment of the present invention will be described with reference to FIGS. 1 to 3. FIG.

図1は、本発明が適用されるロボット制御システムの構成例を示す。図1に示すロボット制御システム100は、ロボット装置1とセンサデータ取得部2、動作計画部3、制御部4から成る。ロボット装置1の具体例として、単腕ロボットアームを示しているが、ロボット装置1の構成は問わず、例えば、双腕アームでもよい。また、脚やクローラ、車輪、プロペラなどの移動装置でもよい。 Figure 1 shows an example of the configuration of a robot control system to which the present invention is applied. The robot control system 100 shown in Figure 1 comprises a robot device 1, a sensor data acquisition unit 2, a motion planning unit 3, and a control unit 4. A single-arm robot arm is shown as a specific example of the robot device 1, but the configuration of the robot device 1 is not critical and it may be, for example, a double-arm arm. It may also be a moving device such as legs, crawlers, wheels, or propellers.

センサデータ取得部2は、ロボット装置1から出力されるセンサデータを取得する。センサデータには、作業中に取得した、ロボット装置1や環境のセンサデータが含まれる。 The sensor data acquisition unit 2 acquires sensor data output from the robot device 1. The sensor data includes sensor data of the robot device 1 and the environment acquired during work.

動作計画部3は、センサデータ取得部2で得られたデータを教示データとして、次の3つの手順で動作を学習・生成する。まず、教示データのばらつきを抑える前処理行うことで学習データを作成する。次に、学習データに基づき動作学習を行うことで動作生成モデルを構築する。最後に、構築した動作生成モデルを用いて動作指令値を生成する。 The motion planning unit 3 uses the data obtained by the sensor data acquisition unit 2 as teaching data and learns and generates motions in the following three steps. First, it creates training data by performing preprocessing to reduce variability in the teaching data. Next, it constructs a motion generation model by performing motion learning based on the training data. Finally, it generates motion command values using the constructed motion generation model.

制御部4は、動作計画部3で算出された指令値をロボット装置1へ与えることで、ロボット装置1に搭載されたアクチュエータが駆動する。 The control unit 4 provides the robot device 1 with the command values calculated by the motion planning unit 3, thereby driving the actuators installed in the robot device 1.

[動作計画部のハードウェア構成]
次に、ロボット制御システム100が備える動作計画部3のハードウェア構成について図2を参照して説明する。ここでは、動作計画部3を実現する計算機のハードウェア構成について説明する。
[Hardware configuration of the motion planning unit]
Next, the hardware configuration of the motion planning unit 3 included in the robot control system 100 will be described with reference to Fig. 2. Here, the hardware configuration of a computer that realizes the motion planning unit 3 will be described.

図2は、動作計画部3を実現する計算機のハードウェア構成例を示すブロック図である。図示する計算機20は、センサデータ取得部2、動作計画部3、制御部4で使用されるコンピュータを構成するハードウェアの一例である。計算機20には、例えば、パーソナルコンピュータを用いることができる。 Figure 2 is a block diagram showing an example of the hardware configuration of a computer that realizes the action planning unit 3. The illustrated computer 20 is an example of hardware that constitutes the computer used in the sensor data acquisition unit 2, action planning unit 3, and control unit 4. A personal computer, for example, can be used as the computer 20.

計算機20は、バス21に接続された、ROM(Read Only Memory)22と、CPU(Central Processing Unit)23と、RAM(Random Access Memory)24と、不揮発性ストレージ25と、入出力インターフェース26と、ネットワークインターフェース27と、を備える。 The computer 20 includes a ROM (Read Only Memory) 22, a CPU (Central Processing Unit) 23, a RAM (Random Access Memory) 24, non-volatile storage 25, an input/output interface 26, and a network interface 27, all connected to a bus 21.

ROM22は、本実施形態に係るセンサデータ取得部2、動作計画部3、制御部4の機能を実現するソフトウェアのプログラムコードを記録している。 The ROM 22 stores software program code that realizes the functions of the sensor data acquisition unit 2, motion planning unit 3, and control unit 4 according to this embodiment.

CPU23は、本実施形態に係るセンサデータ取得部2、動作計画部3、制御部4の機能を実現するソフトウェアのプログラムコードをROM22から読み出し、該当プログラムをRAM24にロードして実行する演算処理装置として機能する。RAM24には、CPU23の演算処理の途中で発生した変数やパラメータなどの値が一時的に書き込まれる。RAM24に書き込まれた変数やパラメータなどの値は、CPU23によって適宜読みだされる。演算処理装置としてCPUを用いているが、MPU(Micro Processing Unit)等の他のプロセッサを用いてもよい。 The CPU 23 functions as an arithmetic processing device that reads from the ROM 22 the program code of the software that realizes the functions of the sensor data acquisition unit 2, the action planning unit 3, and the control unit 4 according to this embodiment, and loads and executes the program into the RAM 24. Values of variables, parameters, etc. that arise during the arithmetic processing of the CPU 23 are temporarily written to the RAM 24. The values of variables, parameters, etc. written to the RAM 24 are read by the CPU 23 as appropriate. Although a CPU is used as the arithmetic processing device, other processors such as an MPU (Micro Processing Unit) may also be used.

不揮発性ストレージ25は、記録媒体の一例であり、プログラムが使用するデータや、プログラムを実行して得られたデータなどを保存できる。例えば、不揮発性ストレージ25には、後述する学習データや動作生成モデル等が保存される。また、不揮発性ストレージ25に、OS(Operating System)や、CPU23が実行するプログラムを記録してもよい。不揮発性ストレージ25としては、磁気記録媒体、光記録媒体、半導体記録媒体などが採用可能である。 Non-volatile storage 25 is an example of a recording medium, and can store data used by programs and data obtained by running programs. For example, non-volatile storage 25 stores learning data and behavior generation models, which will be described later. Non-volatile storage 25 may also store an OS (Operating System) and programs executed by CPU 23. Magnetic recording media, optical recording media, semiconductor recording media, etc. can be used as non-volatile storage 25.

入出力インターフェース26は、ロボット制御システム100が備える各センサや各アクチュエータの信号やデータの通信を行うインターフェースである。入出力インターフェース26が、入力信号又は出力信号を処理する図示しないA/D(Analog/Digital)変換器、及び/又は、D/A変換器の機能を備えてもよい。本明細書のセンサデータには、各センサだけでなく、各アクチュエータから得られる情報も含まれる。 The input/output interface 26 is an interface that communicates signals and data from each sensor and actuator included in the robot control system 100. The input/output interface 26 may also have the functionality of an A/D (Analog/Digital) converter and/or a D/A converter (not shown) that processes input or output signals. In this specification, sensor data includes not only information obtained from each sensor but also information obtained from each actuator.

ネットワークインターフェース27は、例えばNIC(Network Interface Card)やモデムが用いられる。ネットワークインターフェース27は、端子が接続されたLANやインターネット等の通信ネットワーク又は専用線等を介して、外部装置との間で各種のデータを送受信することが可能となるように構成されている。例えば、ネットワークインターフェース27を用いることで、ロボット装置1と各種データの送受信を行うことができる。 The network interface 27 may be, for example, a network interface card (NIC) or a modem. The network interface 27 is configured to be able to send and receive various types of data to and from external devices via a communication network such as a LAN or the Internet to which a terminal is connected, or via a dedicated line. For example, the network interface 27 can be used to send and receive various types of data to and from the robot device 1.

[動作計画部の機能構成]
次に、ロボット制御システム100が備える動作計画部3の機能構成について、図3を参照して説明する。図3は、本発明の実施となる動作計画部3の機能構成例を表したものである。図3に示す動作計画部3において、センサデータ蓄積装置31は、前記センサデータ取得部2で取得されたセンサデータを、時系列データとして記録する装置である。整合性検証装置32は、前記センサデータ蓄積装置31に記録された時系列データを変換し、学習データを出力する装置である。学習データ蓄積装置33は、整合性検証装置32から出力された学習データを記録する装置である。機械学習装置34は、学習データ蓄積装置33に記録された学習データを学習し、制御部4へ指令値を出力する装置である。
[Functional configuration of the motion planning unit]
Next, the functional configuration of the motion planning unit 3 included in the robot control system 100 will be described with reference to FIG. 3. FIG. 3 shows an example of the functional configuration of the motion planning unit 3 embodying the present invention. In the motion planning unit 3 shown in FIG. 3, the sensor data storage device 31 is a device that records the sensor data acquired by the sensor data acquisition unit 2 as time-series data. The consistency verification device 32 is a device that converts the time-series data recorded in the sensor data storage device 31 and outputs learning data. The learning data storage device 33 is a device that records the learning data output from the consistency verification device 32. The machine learning device 34 is a device that learns the learning data recorded in the learning data storage device 33 and outputs a command value to the control unit 4.

次に、図4を用いて動作計画部3の整合性検証装置32の構成を説明する。整合性検証装置32において、動作分節化部41は、センサデータを、動作のまとまり毎に分割する装置である。動作分節化の実現方法としては、速度変化に基づく分節化や、クラスタリングによる分節化、深層学習による分節化等がある。 Next, the configuration of the consistency verification device 32 of the motion planning unit 3 will be explained using Figure 4. In the consistency verification device 32, the motion segmentation unit 41 is a device that divides sensor data into groups of motions. Methods for achieving motion segmentation include segmentation based on speed changes, segmentation by clustering, and segmentation by deep learning.

速度変化に基づく分節化は、ロボットの動作速度に基づく手法であり、データ特性が単純な場合に使用できる。クラスタリングによる分節化は、教示データ特性が複雑な場合にも使用できるが、事前に分節数を設定する必要がある。深層学習による分節化は、教示データ特性が複雑な場合にも使用でき、事前に分節数を設定する必要がない。一方、速度変化に基づく分節化やクラスタリングによる分節化に比べて、実装コスト、計算コストが大きい。 Segmentation based on speed change is a method based on the robot's movement speed, and can be used when the data characteristics are simple. Segmentation by clustering can be used when the teaching data characteristics are complex, but the number of segments must be set in advance. Segmentation by deep learning can be used when the teaching data characteristics are complex, and there is no need to set the number of segments in advance. However, compared to segmentation based on speed change and segmentation by clustering, it has higher implementation and computational costs.

速度調整部42は、汎化動作獲得の妨げとなる教示データ間の動作速度のばらつきを小さくするために、動作速度を調整する。速度調整部の実現方法の一例として、教示データの量子化とノイズ削除を行うことで教示データ間の速度を揃えるアルゴリズムを説明する。 The speed adjustment unit 42 adjusts the movement speed to reduce variations in movement speed between teaching data, which can hinder the acquisition of generalized movements. As an example of how the speed adjustment unit can be implemented, we will explain an algorithm that aligns the speed between teaching data by quantizing the teaching data and removing noise.

図5は、本アルゴリズムの手順と効果を示した図である。グラフg5Aは、移動速度が異なる種類のデータを示しており、横軸は時間,縦軸は世界座標系におけるある軸(以降、x軸とよぶ)方向の手先位置を表す。グラフg5Bは、グラフg5Aで示す2つの教示データについて、手先位置の値を離散的な近似値に変換する量子化を行った結果を表している。グラフg5Bに示す通り、量子化することで教示データの時間当たりの変化量が一定になる。 Figure 5 shows the procedure and effect of this algorithm. Graph g5A shows data of different types with different movement speeds, with the horizontal axis representing time and the vertical axis representing the hand position along a certain axis in the world coordinate system (hereafter referred to as the x-axis). Graph g5B shows the results of quantization, which converts the hand position values into discrete approximate values, for the two teaching data shown in graph g5A. As shown in graph g5B, quantization makes the amount of change in the teaching data per time constant.

なお、教示データの時間当たりの変化量が量子化幅よりも大きい場合、量子化後の変化量は必ずしも一定値にならない。そこで、量子化幅の大きさは教示データの時間当たりの変化量と同じ、又は、それより大きくする必要がある。言い換えると、速度調整後は、元の教示データと速度が同じか、又は、元の教示データよりも大きくなる。 Note that if the amount of change per unit time in the teaching data is greater than the quantization width, the amount of change after quantization will not necessarily be a constant value. Therefore, the size of the quantization width must be the same as or greater than the amount of change per unit time in the teaching data. In other words, after speed adjustment, the speed will be the same as or greater than the original teaching data.

ただし、変形例2で説明するアップサンプリングを行うことで、元の教示データよりも、小さな速度へ速度調整することができる。拡大表示5Cは、手先一方向に量子化を行うことで、手先位置が変化しない時間、すなわち速度がゼロの時間が発生することを示している。グラフg5Dは、グラフg5Bで示す量子化後の教示データについて、ノイズ削除を行った結果を表している。ノイズ削除とは、量子化後に発生した、速度がゼロになる時間を、ノイズとみなして削除することをいう。グラフg5Dが示す通り、2つの教示データの手先速度が揃っていることが分かる。また、最終手先位置は、速度調整前と変わらないこともわかる。以上より、量子化とノイズ削除を行うことで、速度調整を実現できることがわかる。 However, by performing upsampling, as described in Variation 2, it is possible to adjust the speed to a slower speed than the original teaching data. Enlarged view 5C shows that quantizing the hand in one direction results in periods of time when the hand position does not change, i.e., periods of time when the speed is zero. Graph g5D shows the results of noise removal from the quantized teaching data shown in graph g5B. Noise removal means that the periods of time when the speed is zero, which occur after quantization, are treated as noise and removed. As shown in graph g5D, it can be seen that the hand speeds of the two teaching data are consistent. It can also be seen that the final hand position remains the same as before the speed adjustment. From the above, it can be seen that speed adjustment can be achieved by performing quantization and noise removal.

図4に示すタイミング調整部43は、汎化動作獲得の妨げとなる教示データ間の動作開始・終了等のタイミングのばらつきを小さくするために、動作開始・終了タイミングを調整する。タイミング調整の実現方法の一例としては、ロボット装置1の静止時間を増やす、又は、減らすことが考えられる。例えば、全教示データにおける、ロボット装置1の動作開始時刻を揃えるためには、全教示データの動作開始時刻の平均値を算出し、各教示データにおける動作開始時刻を、その平均値と等しくなるように静止時間を増やす、又は、減らすことが考えられる。 The timing adjustment unit 43 shown in Figure 4 adjusts the start and end timing of movements to reduce variations in the timing of movement start and end between teaching data, which can hinder the acquisition of generalized movements. One example of a method for achieving timing adjustment is to increase or decrease the rest time of the robot device 1. For example, to align the movement start times of the robot device 1 for all teaching data, it is possible to calculate the average movement start times of all teaching data, and increase or decrease the rest time so that the movement start time for each teaching data is equal to this average.

ダイナミクス調整部44は、速度調整後の教示データにおける加速度や躍度、トルク等のダイナミクスの大きさや変化が過大になることで、生成される動作が不安定になることを防ぐために、センサデータにおける加速度や躍度、トルク等のダイナミクスを調整する。ダイナミクス調整の実現方法の一例としては、手先位置のデータに対して移動平均フィルタを適用することが考えられる。 The dynamics adjustment unit 44 adjusts the dynamics of the sensor data, such as acceleration, jerk, and torque, to prevent the generated motion from becoming unstable due to excessive magnitude or change in the dynamics of acceleration, jerk, torque, etc. in the teaching data after speed adjustment. One example of a method for implementing dynamics adjustment is to apply a moving average filter to the hand position data.

データ処理部45は、ダイナミクス調整部44から出力されたデータを深層学習モデルで学習できるように、学習データに変換する。具体的には、教示データ毎に、調整後の各分節を合成することで学習データを構築する。 The data processing unit 45 converts the data output from the dynamics adjustment unit 44 into training data so that it can be learned by a deep learning model. Specifically, for each piece of teaching data, the training data is constructed by synthesizing each adjusted segment.

次に、図6を用いて機械学習装置34の構成について説明する。機械学習装置34において、機械学習モデル定義部61は、機械学習モデルの構造やパラメータを定義する。 Next, the configuration of the machine learning device 34 will be described using Figure 6. In the machine learning device 34, the machine learning model definition unit 61 defines the structure and parameters of the machine learning model.

学習部62は、学習データ蓄積装置33で蓄積した学習データを用いて、機械学習モデル定義部61で定義された機械学習モデルの重みを更新することで、ある値をモデルへ入力すると、所望の値を出力するようにする。例えば、ある時刻のロボットの関節角度を入力すると、次の時刻のロボットの関節角度の予測値を出力するようにする。 The learning unit 62 uses the learning data stored in the learning data storage device 33 to update the weights of the machine learning model defined by the machine learning model definition unit 61, so that when a certain value is input to the model, the desired value is output. For example, when the joint angle of the robot at a certain time is input, the predicted value of the joint angle of the robot at the next time is output.

学習済み重み蓄積部63は、学習済みのモデルの重みパラメータを保存する。 The trained weight storage unit 63 stores the weight parameters of trained models.

推論部64は、機械学習モデル定義部61から読み込んだ機械学習モデルと、学習済み重み蓄積部63から読み込んだモデルの重みパラメータを用いることで動作生成モデルを構築し、学習時と同様のセンサデータをモデルへ入力することで動作生成を行う。 The inference unit 64 constructs a movement generation model using the machine learning model read from the machine learning model definition unit 61 and the weight parameters of the model read from the learned weight accumulation unit 63, and generates movement by inputting the same sensor data as during learning into the model.

例えば、学習時に、ある時刻のロボットの関節角度を入力すると、次の時刻のロボットの関節角度の予測値を出力するようにモデルを構築したとする。この場合、動作生成時は、各時刻ごとの関節角度をモデルに入力することで、次の時刻における関節角度を得られ、得られた関節角度を指令値とすることでロボットの動作を生成できる。 For example, suppose that during learning, a model is constructed so that when the robot's joint angles at a certain time are input, it outputs a predicted value for the robot's joint angles at the next time. In this case, when generating movement, the joint angles at each time are input into the model to obtain the joint angles at the next time, and the robot's movement can be generated by using the obtained joint angles as command values.

[動作計画部3の動作例]
次に、これまで説明した動作計画部3の各機能がどのような順序で動作するかを説明する。動作順序は大きく教示・学習・実行の3つのフェーズに分けられる。教示フェーズでは、ロボット装置1を操作することで動作を教示し、その間得られたセンサデータを、センサデータ取得部2を用いて、センサデータ蓄積装置31に記録する。
[Example of operation of the operation planning unit 3]
Next, we will explain the order in which the functions of the motion planning unit 3 explained so far operate. The operation order can be broadly divided into three phases: teaching, learning, and execution. In the teaching phase, the robot device 1 is taught a motion by operating it, and the sensor data obtained during this process is recorded in the sensor data storage device 31 using the sensor data acquisition unit 2.

学習フェーズでは、整合性検証装置32を用いて、センサデータ蓄積装置31のセンサデータを学習データへ変換し、機械学習モデル定義部61で定義した機械学習モデルを用いて学習することで、学習済み重みを得る。整合性検証装置32では、動作分節化、速度調整、タイミング調整の3つ手順でセンサデータを変換する。これらの3つの手順を、図7を参照して説明する。 In the learning phase, the consistency verification device 32 converts the sensor data from the sensor data storage device 31 into learning data, and the data is trained using the machine learning model defined by the machine learning model definition unit 61 to obtain learned weights. The consistency verification device 32 converts the sensor data through three steps: motion segmentation, speed adjustment, and timing adjustment. These three steps are explained with reference to Figure 7.

図7は、整合性検証装置32の動作例を示すフローチャートである。前処理開始(S1)後は、まず、全教示データについて、それぞれ動作分節化を行う(S2)。動作分節化では、動作分節化部41を用いて、センサデータを時間方向に分割することで、動作のまとまり毎に分ける。動作分節化後は、各分節について(S3、S4)、速度調整(S5)と、タイミング調整と(S6)、ダイナミクス調整(S7)を行う。タイミング調整部43によって処理されたデータを、データ処理部45を用いることで、学習データへ変換し(S8)、前処理を終了する(S9)。 Figure 7 is a flowchart showing an example of the operation of the consistency verification device 32. After preprocessing begins (S1), all teaching data is first segmented into movements (S2). In motion segmentation, the motion segmentation unit 41 divides the sensor data in the time direction, separating it into groups of movements. After motion segmentation, each segment is subjected to speed adjustment (S5), timing adjustment (S6), and dynamics adjustment (S7) (S3, S4). The data processed by the timing adjustment unit 43 is converted into learning data using the data processing unit 45 (S8), and preprocessing ends (S9).

以上のように、整合性検証装置32で教示データを処理することで、教示データ間の時間方向のばらつきを低減した学習データが得られる。なお、速度調整とタイミング調整は、必ずしも両方とも行う必要はなく、どちらか一方のみ行えばよい場合がある。例えば、教示動作の速度のみが異なる場合は、速度のみを調整すればよいので、タイミング調整は不要である。また、教示動作のタイミングのみが異なる場合は、タイミングのみを調整すればよいので、速度調整は不要である。 As described above, by processing the teaching data with the consistency verification device 32, learning data can be obtained that reduces the variation in the time direction between the teaching data. Note that it is not necessary to perform both speed adjustment and timing adjustment; in some cases, it is sufficient to perform only one of them. For example, if only the speed of the teaching movement differs, only the speed needs to be adjusted, and timing adjustment is not necessary. Furthermore, if only the timing of the teaching movement differs, only the timing needs to be adjusted, and speed adjustment is not necessary.

整合性検証装置32で構築した学習データを、機械学習装置34の学習部62へ入力する。学習部62では、機械学習モデル定義部61から機械学習モデルを呼び出し、学習データに基づき学習する。学習の結果得られた動作生成モデルは、学習済み重み蓄積部63へ保存される。 The training data constructed by the consistency verification device 32 is input to the training unit 62 of the machine learning device 34. The training unit 62 calls a machine learning model from the machine learning model definition unit 61 and trains it based on the training data. The behavior generation model obtained as a result of training is stored in the trained weight storage unit 63.

実行フェーズでは、学習フェーズで得られた動作生成モデルを用いて、動作生成を行うことで、タスクを実行する。ロボット装置1への指令値を計算するために、機械学習装置34の推論部64を用いる。 In the execution phase, the task is executed by generating actions using the action generation model obtained in the learning phase. The inference unit 64 of the machine learning device 34 is used to calculate command values for the robot device 1.

[動作計画部の効果例]
動作計画部3の有効性の検証として、動作計画部3が動作することで、どのように教示データ間の時間方向のばらつきが小さくなるかを、図8(8A~8D)、図9を参照して説明する。図8(8A~8D)は、ロボットアームの手先を目標手先位置へ直線的に移動させるという、リーチングタスクを表したものである。図8(8A~8D)を用いて、教示データにおける時間方向のばらつきが、リーチングタスクに与える影響を説明する。
[Example of effect of motion planning section]
To verify the effectiveness of the motion planning unit 3, we will explain how the operation of the motion planning unit 3 reduces the variation in the time direction between pieces of teaching data, with reference to Figures 8 (8A to 8D) and 9. Figures 8 (8A to 8D) show a reaching task in which the hand of a robot arm is moved linearly to a target hand position. We will use Figures 8 (8A to 8D) to explain the effect that variation in the time direction in the teaching data has on the reaching task.

まず、図8Aと図8B(グラフg8B)を用いて、教示データに時間方向のばらつきがないとタスクが成功する理由を説明する。図8Aに描かれる手先は、ロボットハンドの初期時刻での位置を示している。また、図8Aに描かれるp、q、rは、それぞれ目標手先位置を表している。図8AのX、Yはそれぞれタスク環境に設定された座標軸の名前であり、ここではX軸、Y軸は位置[cm]を示す。ここで、目標手先位置p、rに対する動作を教示したとする。図8Aにおいて、手先からp、rへ向かう矢印(実線)は、教示動作中の手先の軌跡を表している。 First, using Figures 8A and 8B (graph g8B), we will explain why a task will be successful if there is no variation in the teaching data over time. The hand depicted in Figure 8A indicates the position of the robot hand at the initial time. Also, p, q, and r depicted in Figure 8A respectively represent the target hand positions. X and Y in Figure 8A are the names of the coordinate axes set in the task environment, and here the X and Y axes indicate position [cm]. Now, suppose that a movement corresponding to the target hand positions p and r is taught. In Figure 8A, the arrows (solid lines) pointing from the hand to p and r represent the trajectory of the hand during the teaching movement.

図8B(グラフg8B)は、教示動作中の時間とY軸方向の手先位置の関係を表した図である。グラフg8Bに示す通り、目標手先位置pとrの教示動作は、手先速度とリーチング開始・終了時刻は同じであり、時間方向のばらつきはない。動作学習フェーズで、目標手先位置pとrに対する教示動作を学習することで、現在のセンサデータを入力すると、次の時刻におけるロボットアームへの指令値を出力する動作生成モデルを獲得する。 Figure 8B (graph g8B) shows the relationship between time and hand position in the Y-axis direction during a teaching motion. As shown in graph g8B, the teaching motions for target hand positions p and r have the same hand velocity and reaching start and end times, and there is no variation in the time direction. By learning the teaching motions for target hand positions p and r in the motion learning phase, a motion generation model is acquired that, when current sensor data is input, outputs command values for the robot arm at the next time.

次いで、図8Aとグラフg8Bを参照して、動作実行フェーズで、目標手先位置qに対して生成される動作を考える。動作実行フェーズでは、動作学習フェーズで構築した動作生成モデルへ目標手先位置qは、2点間の学習により、位置汎化することで、目標手先位置p、rのちょうど真ん中に位置するようになる。このとき、qに対して生成される手先位置は、各時刻ごとに、p、rに対する教示動作の手先位置のちょうど中間を通る。図8Aとグラフg8Bは、qに対して生成される動作を破線で示しており、手先がY軸方向にぶれず安定している。このことから、教示データに時間方向のばらつきがない場合は、リーチングタスクに成功することが分かる。 Next, with reference to Figure 8A and graph g8B, consider the movement generated for target hand position q in the movement execution phase. In the movement execution phase, the target hand position q is generalized to the movement generation model constructed in the movement learning phase through point-to-point learning, so that it is located exactly halfway between target hand positions p and r. At this time, the hand position generated for q passes exactly halfway between the hand positions of the taught movements for p and r at each time point. Figure 8A and graph g8B show the movement generated for q with a dashed line, and the hand is stable with no wobble in the Y-axis direction. This shows that the reaching task will be successful if there is no variation in the taught data over time.

次に、図8Cと図8D(グラフg8D)を用いて、ばらつきがあるとタスクが失敗する理由を説明する。図8Cは、教示データに時間方向のバラつきがある場合の、リーチングタスクの様子を示したものである。図中の各符号は図8Aと同じ意味を表す。 Next, we will use Figures 8C and 8D (graph g8D) to explain why variability causes task failure. Figure 8C shows the reaching task when there is variability in the teaching data in the time direction. Each symbol in the figure has the same meaning as in Figure 8A.

図8D(グラフg8D)は、教示動作中の、時間とY軸方向の手先位置の関係を表した図である。目標手先位置pとrの教示動作には、時間方向のばらつきがある。具体的には、目標手先位置pよりも、目標手先位置rの教示動作のほうが、移動速度が速い。またリーチング開始時刻(2点鎖線)、完了時刻(1点鎖線)も早い。 Figure 8D (graph g8D) shows the relationship between time and hand position in the Y-axis direction during a teaching operation. There is variation in the time direction between the teaching operations for target hand positions p and r. Specifically, the movement speed is faster for the teaching operation for target hand position r than for target hand position p. The reaching start time (two-dot chain line) and completion time (single-dot chain line) are also earlier.

次いで、図8Cとグラフg8Dを参照して、目標手先位置qに対して生成される動作を考える。上述の通り、p、q、rの位置関係から、qに対して生成される動作は、p、rに対する教示動作のちょうど中間を通る。図8Cとグラフg8Dに、qに対して生成される動作を、破線で示している。qに対して生成される動作を参照すると、手先がY軸方向に大きくぶれてしまっている。このことから、教示データに時間方向のばらつきがある場合は、リーチングタスクに失敗することが分かる。 Next, with reference to Figure 8C and graph g8D, consider the movement generated for the target hand position q. As mentioned above, due to the positional relationship between p, q, and r, the movement generated for q passes exactly halfway between the taught movements for p and r. In Figure 8C and graph g8D, the movement generated for q is shown by the dashed line. Looking at the movement generated for q, we can see that the hand is significantly unstable in the Y-axis direction. This shows that if there is variation in the taught data over time, the reaching task will fail.

次いで、図9を用いて、教示データに時間方向のバラつきがある場合でも、整合性検証装置32を用いることで、汎化動作が獲得できることを説明する。図9は、図8C、8Dに示したリーチングタスクについて、整合性検証装置32を適用した際の説明図である。図9中の、同一符号は図8C、8Dと同一部品であるため、再度の説明を省略する。 Next, using Figure 9, we will explain how using the consistency verification device 32 can acquire generalized behavior even when there is variation in the teaching data in the time direction. Figure 9 is an explanatory diagram of the application of the consistency verification device 32 to the reaching task shown in Figures 8C and 8D. The same reference numerals in Figure 9 indicate the same parts as in Figures 8C and 8D, so repeated explanations will be omitted.

グラフg9Aは、グラフg8Dで示した目標手先位置p、rに対する教示データである。上述の通り、目標手先位置p、rに対する教示データには、時間方向のばらつきがある。 Graph g9A shows the teaching data for the target hand positions p and r shown in graph g8D. As mentioned above, there is variation in the teaching data for the target hand positions p and r over time.

グラフg9Bは、グラフg9Aで示す目標手先位置p、rに対する教示動作を、それぞれ動作分節化したものである。グラフg9Bの一点鎖線は、分節化した時刻を表している。グラフg9Bに示す通り、リーチング開始時刻とリーチング終了時刻で動作を分割している。例えば、グラフg9Bに示すように、リーチング開始時刻を検出するためには、動作分節化部41にて速度変化に基づく分節化を行うことで、手先が静止している状態から動き始める時刻を調べるとよい。 Graph g9B shows the segmented movements of the taught movements for the target hand positions p and r shown in graph g9A. The dashed-dotted lines in graph g9B represent the segmented times. As shown in graph g9B, the movements are divided into the reaching start time and the reaching end time. For example, as shown in graph g9B, to detect the reaching start time, the movement segmentation unit 41 can perform segmentation based on speed changes to find the time when the hand starts moving from a stationary state.

グラフg9Cは、グラフg9Bで示す手先動作について、手先速度を揃える説明図である。グラフg9Cに示す通り、リーチング開始時刻からリーチング完了時刻までのアームの手先速度を調整し、2つの教示データにおける手先速度の平均値+α(定数)と等しくすれば良い。さらに好ましくは、リーチング開始時刻からリーチング完了時刻までのアームの手先速度を平均値と等しくする。 Graph g9C is an explanatory diagram for aligning the hand speed for the hand movement shown in graph g9B. As shown in graph g9C, the arm's hand speed from the reaching start time to the reaching completion time is adjusted to be equal to the average hand speed of the two teaching data + α (constant). More preferably, the arm's hand speed from the reaching start time to the reaching completion time is set equal to the average value.

グラフg9Dは、グラフg9Cで示す手先動作について、手先の動作タイミングを揃える説明図である。グラフg9Dに示す通り、教示データ間で、リーチング開始時刻とリーチング完了時刻を等しくしている。 Graph g9D is an explanatory diagram illustrating how to align the timing of the hand movements shown in graph g9C. As shown in graph g9D, the reaching start time and reaching end time are made equal between the teaching data.

グラフg9Eは、実行フェーズで、図8Aにおける目標手先位置qに対して生成される動作を示している。目標手先位置qは、目標手先位置p、rのちょうど中間に位置するため、qに対して生成される動作も、p、rに対する教示動作のちょうど中間を通る。qに対して生成される動作を参照すると、手先がY軸方向にぶれず、安定している。 Graph g9E shows the motion generated for the target hand position q in Figure 8A during the execution phase. Since the target hand position q is located exactly halfway between the target hand positions p and r, the motion generated for q also passes exactly halfway between the taught motions for p and r. Looking at the motion generated for q, the hand does not wobble in the Y-axis direction and is stable.

<変形例1>
ところで、本実施形態では、動作分節化部41では、センサデータを動作のまとまりごとに分割する。しかし、データ特性が複雑である場合、分節化がうまく機能しない可能性がある。この対処法として、Recurrent Dropoutを用いることが考えられる。Recurrent Dropoutは、再帰型ニューラルネットワークにおけるノードをランダムに不活性化させながら、学習を行うことである。Recurrent Dropoutを用いることで、学習データにおける時間方向のばらつきに対する汎化性能が向上することが期待される。
<Modification 1>
In this embodiment, the motion segmentation unit 41 divides the sensor data into groups of motions. However, if the data characteristics are complex, segmentation may not work well. To address this issue, it is possible to use recurrent dropout. Recurrent dropout is a method of performing learning while randomly deactivating nodes in a recurrent neural network. Using recurrent dropout is expected to improve generalization performance with respect to temporal variations in the training data.

<変形例2>
ところで、本実施形態では、速度調整部42にて、センサデータの量子化を行っている。しかし、センサデータの単位時間当たりの変化量が量子化幅よりも大きい場合(つまり、変換後の速度を大きくしたい場合)、量子化後のセンサデータの時間当たりの変化量が量子化幅を超えてしまうため、量子化後の時間当たりの変化量が等しくならず速度を揃えることに失敗する。
<Modification 2>
In this embodiment, the sensor data is quantized by the speed adjustment unit 42. However, if the amount of change per unit time of the sensor data is larger than the quantization width (i.e., if the speed after conversion is desired to be increased), the amount of change per unit time of the quantized sensor data exceeds the quantization width, and therefore the amount of change per unit time after quantization is not equal, and it fails to make the speeds uniform.

これを避けるためには、速度調整部42にて、量子化の前にアップサンプリングを行うことで、センサの単位時間あたりの変化量を小さくする必要がある。アップサンプリングとは、時系列データのサンプリング周波数を大きくすることである。アップサンプリングの実現方法としては、線形補間や、最近傍補間、スプライン補間等がある。ただし、これらの補間方法は、画像データに対して適用できないことが知られており、フレーム補間という技術が別途必要となる。詳細は、第2の実施形態で説明する。 To avoid this, the speed adjustment unit 42 must perform upsampling before quantization to reduce the amount of change per unit time of the sensor. Upsampling means increasing the sampling frequency of time-series data. Methods for achieving upsampling include linear interpolation, nearest neighbor interpolation, and spline interpolation. However, these interpolation methods are known to be inapplicable to image data, and a separate technique called frame interpolation is required. Details will be explained in the second embodiment.

本実施形態の主な特徴は、次のようにまとめることもできる。 The main features of this embodiment can be summarized as follows:

処理装置(計算機20)のプロセッサ(CPU23)は、ロボット(ロボット装置1)への教示データをロボットの同種の動作ごとに分節する(動作分節化部41)。プロセッサ(CPU23)は、分節された複数の教示データに対して、ロボットの同種の動作の速度又はタイミングを揃える補正を行う(速度調整部42、タイミング調整部43)。プロセッサ(CPU23)は、補正が行われた複数の教示データを合成する(データ処理部45)。プロセッサ(CPU23)は、合成された教示データを用いて機械学習を行う(機械学習装置34)。 The processor (CPU 23) of the processing device (computer 20) segments the teaching data for the robot (robot device 1) into groups of similar robot movements (movement segmentation unit 41). The processor (CPU 23) corrects the segmented multiple pieces of teaching data to align the speed or timing of similar robot movements (speed adjustment unit 42, timing adjustment unit 43). The processor (CPU 23) combines the corrected multiple pieces of teaching data (data processing unit 45). The processor (CPU 23) performs machine learning using the combined teaching data (machine learning device 34).

これにより、教示データの時間方向のばらつきが低減される。その結果、導入工数(教示・学習フェーズの工数)が削減されるとともに、教示データ間の関係性を学習しやすくなり汎化動作性能が向上する。 This reduces the variation in the teaching data over time. As a result, the implementation effort (the effort required for the teaching and learning phases) is reduced, and it also makes it easier to learn the relationships between teaching data, improving generalization performance.

プロセッサ(CPU23)は、分節された複数の教示データに対して、ロボットの同種の動作のダイナミクスの値を平滑化する補正を行う(ダイナミクス調整部44)。例えば、ダイナミクス(加速度や躍度、トルク等)の値は、移動平均をとることにより平滑化される。これにより、ロボットの動作を安定化することができる。 The processor (CPU 23) applies corrections to the segmented teaching data to smooth the dynamics values of the robot's similar movements (dynamics adjustment unit 44). For example, dynamics values (acceleration, jerk, torque, etc.) are smoothed by taking a moving average. This makes it possible to stabilize the robot's movements.

教示データは、例えば、ロボットの位置を示す位置情報、関節角度を示す関節角度情報、ロボットの速度を示す速度情報、ロボットの関節角速度を示す関節角速度情報、及びロボットに設けられる触覚センサのセンサ値を示す触覚情報のうち少なくとも1つを含む。本実施形態では、教示データは、ロボットの位置(グリッパーの位置)を示す位置情報を含む。これにより、ロボットの状態を教示データとして機械学習を行うことができる。 The teaching data includes, for example, at least one of position information indicating the robot's position, joint angle information indicating the joint angles, speed information indicating the robot's speed, joint angular velocity information indicating the robot's joint angular velocity, and tactile information indicating the sensor values of tactile sensors provided on the robot. In this embodiment, the teaching data includes position information indicating the robot's position (gripper position). This allows machine learning to be performed using the robot's state as teaching data.

また、教示データは、ロボットが作業を行う対象物の位置を示す位置情報、及び対象物の姿勢を示す姿勢情報のうち少なくとも1つを含んでもよい。これにより、対象物の状態を教示データとして機械学習を行うことができる。 The teaching data may also include at least one of position information indicating the position of an object on which the robot is to perform work, and posture information indicating the posture of the object. This allows machine learning to be performed using the state of the object as teaching data.

ダイナミクスは、例えば、加速度、加速度変化、躍度、躍度変化、トルク、及びトルク変化のうち少なくとも1つを含む。これにより、ロボットの動作をなめらかにすることができる。 Dynamics include, for example, at least one of acceleration, acceleration change, jerk, jerk change, torque, and torque change. This allows the robot's movements to be smooth.

プロセッサ(CPU23)は、分節された複数の教示データを量子化し、ノイズを削除することでロボットの同種の動作の速度を揃える(図5)。これにより、教示データの時間方向のばらつきを高速に低減することができる。 The processor (CPU 23) quantizes the segmented teaching data and removes noise to align the speed of similar robot movements (Figure 5). This allows for rapid reduction of variation in the teaching data over time.

プロセッサ(CPU23)は、分節された複数の教示データに対して、ロボットの静止時間を増やす又は減らすことで、ロボットの同種の動作のタイミングを揃える補正を行う(図9)。これにより、教示データの時間方向のばらつきを容易に低減することができる。 The processor (CPU 23) adjusts the timing of similar robot movements by increasing or decreasing the robot's stationary time for each segmented piece of teaching data (Figure 9). This makes it easy to reduce the variation in the teaching data over time.

ロボット制御システム100は、処理装置(計算機20)とロボット(ロボット装置1)を含む。プロセッサ(CPU23)は、学習済みの機械学習モデルを用いて、ロボットの動作の指令値を生成する(機械学習装置34)。ロボットは、指令値に応じて動作する。これにより、ロボットを自律的に制御することができる。 The robot control system 100 includes a processing device (computer 20) and a robot (robot device 1). The processor (CPU 23) uses a trained machine learning model to generate command values for the robot's movements (machine learning device 34). The robot operates in accordance with the command values. This allows the robot to be controlled autonomously.

(第2の実施形態)
次に、本発明の第2の実施形態として、センサデータに画像が含まれる場合について、図10と図11を参照して説明する。
Second Embodiment
Next, a second embodiment of the present invention will be described with reference to FIGS. 10 and 11, in which sensor data includes images.

[機能構成例]
図10は、本発明の第2の実施形態における、動作計画部が備える整合性検証装置の内部構成例を示すブロック図である。なお、図10において、図4と同一符号は同一部品を示すので、再度の説明は省略する。図10に示すように、第2の実施形態は、センサデータを動作分節化部41で分割し、速度調整部42と、又は/及び、タイミング調整部43と、を用いることで時間方向のばらつきを削減し、ダイナミクス調整部44を用いることでダイナミクスを調整し、データ処理部45で学習データに変換する点では、第1の実施形態と同じである。第1の実施形態からの変更点は、第2の実施形態では、整合性検証装置32において、フレーム補間部101を備えている点である。フレーム補間部101は、画像の時系列データのフレームレートを大きくする。
[Example of functional configuration]
FIG. 10 is a block diagram showing an example of the internal configuration of a consistency verification device provided in a motion planning unit according to a second embodiment of the present invention. In FIG. 10, the same reference numerals as in FIG. 4 denote the same components, and therefore a repeated description will be omitted. As shown in FIG. 10, the second embodiment is the same as the first embodiment in that sensor data is divided by a motion segmentation unit 41, time-domain variations are reduced by a speed adjustment unit 42 and/or a timing adjustment unit 43, dynamics are adjusted by a dynamics adjustment unit 44, and the data is converted into training data by a data processing unit 45. The second embodiment differs from the first embodiment in that the consistency verification device 32 includes a frame interpolation unit 101. The frame interpolation unit 101 increases the frame rate of image time-series data.

フレーム補間の実現方法としては、オプティカルフローに基づくフレーム補間や、深層学習によるフレーム補間等が挙げられる。オプティカルフローに基づくフレーム補間は、特徴量抽出と、移動変化計算と、補間画像生成という3つのステップから成る。例えば、画像の時系列データのうち、ある連続する2枚の画像を考える。特徴量抽出では、2枚の画像の特徴量を抽出する。移動変化計算では、特徴量抽出で算出された特徴量のうち、同一特徴量に着目し、その移動変化量を計算する。なお、この特徴量の移動変化のことをオプティカルフローという。補間画像生成では移動変化量に基づき、元の画像2枚における画素を移動することで、2枚の画像の間にある画像を推定する。 Methods for achieving frame interpolation include frame interpolation based on optical flow and frame interpolation using deep learning. Optical flow-based frame interpolation consists of three steps: feature extraction, motion change calculation, and interpolated image generation. For example, consider two consecutive images from a time series of images. Feature extraction involves extracting the features of the two images. Motion change calculation focuses on the same feature calculated in feature extraction and calculates its motion change. This motion change of the feature is called optical flow. Interpolated image generation estimates the image between the two original images by moving pixels in the two images based on the motion change.

深層学習によるフレーム補間としては、例えば、FLAVRやFILM等のモデルが挙げられる。FLAVRは、オプティカルフローや3次元畳み込み計算をモデルの内部で行うことで、高精度なフレーム補間を可能にする深層学習モデルである。また、FILMは、画像のスケール(拡大や縮小)を考慮した深層学習モデルである。FLAVR(またはFILM)へ画像の時系列データを入力すると、フレーム補間後の画像の時系列データを得ることができる。 Examples of frame interpolation using deep learning include models such as FLAVR and FILM. FLAVR is a deep learning model that enables highly accurate frame interpolation by performing optical flow and 3D convolution calculations internally. FILM is a deep learning model that takes into account the scale of the image (enlargement and reduction). By inputting image time series data into FLAVR (or FILM), it is possible to obtain image time series data after frame interpolation.

[動作例]
図11は、本発明の第2の実施形態における、整合性検証装置32の動作例を示すフローチャートである。図11に示すように、第2の実施形態は、センサデータの動作分節化を行い(S2)、分節毎に(S3、S4)、速度調整(S6)、タイミング調整(S7)を行い、教示データ毎に(S8、S9)、調整後の各分節を合成することで、学習データを構築する点では、第1の実施形態と同じである。なお、図11において、図7と同一符号は同一部品を示すので、再度の説明は省略する。第1の実施形態からの変更点は、第2の実施形態では、速度調整(S6)の前に、フレーム補間(S13)を行う点である。
[Example of operation]
FIG. 11 is a flowchart showing an example of the operation of the consistency verification device 32 in the second embodiment of the present invention. As shown in FIG. 11, the second embodiment is similar to the first embodiment in that it segments the motion of sensor data (S2), adjusts speed (S6) and timing (S7) for each segment (S3, S4), and synthesizes the adjusted segments for each teaching data (S8, S9) to construct training data. Note that in FIG. 11, the same reference numerals as in FIG. 7 indicate the same components, and therefore, a repeated description will be omitted. The difference from the first embodiment is that in the second embodiment, frame interpolation (S13) is performed before speed adjustment (S6).

本実施形態の主な特徴は、次のようにまとめることもできる。 The main features of this embodiment can be summarized as follows:

教示データは、ロボット(ロボット装置1)又は作業環境の画像を含む。 The teaching data includes images of the robot (robot device 1) or the work environment.

プロセッサ(CPU23)は、分節された複数の教示データに対して、教示データに含まれる画像のフレーム補間を行い、その後、ロボットの同種の動作の速度を揃える補正を行う(フレーム補間部101)。これにより、教示データがロボット(ロボット装置1)又は作業環境の画像を含んでいても、教示データの時間方向のばらつきを容易に低減することができる。 The processor (CPU 23) performs frame interpolation of the images contained in the segmented teaching data, and then performs correction to align the speeds of similar robot movements (frame interpolation unit 101). This makes it easy to reduce the variation in the teaching data over time, even if the teaching data includes images of the robot (robot device 1) or the work environment.

(第3の実施形態)
次に、本発明の第3の実施形態として、汎化性能向上に有効な教示データのみを抽出する場合について、図12、図13、図14と参照して説明する。
(Third embodiment)
Next, a third embodiment of the present invention will be described with reference to FIGS. 12, 13, and 14, in which only teaching data effective for improving generalization performance is extracted.

図12は、本発明の第3の実施形態における、ロボット制御システム100の構成例を示すブロック図である。なお、図12において、図1と同一符号は同一部品を示すので、再度の説明は省略する。第1の実施形態からの変更点は、第3の実施形態では、ロボット制御システム100において、画面操作部5を備えている点である。画面操作部5は、動作計画部の処理結果を表示することができる。また、ユーザーから受け取った操作入力に基づいて、動作計画部3における各種パラメータを決定する。 Figure 12 is a block diagram showing an example configuration of a robot control system 100 according to a third embodiment of the present invention. Note that in Figure 12, the same reference numerals as in Figure 1 indicate the same components, and therefore a repeated description will be omitted. The difference from the first embodiment is that in the third embodiment, the robot control system 100 is provided with a screen operation unit 5. The screen operation unit 5 can display the processing results of the motion planning unit. In addition, various parameters in the motion planning unit 3 are determined based on operation input received from the user.

図13は、本発明の第3の実施形態における、動作計画部3の構成例を示すブロック図である。なお、図13において、図3と同一符号は同一部品を示すので、再度の説明は省略する。第1の実施形態からの変更点は、第3の実施形態では、動作計画部3において、スクリーニング装置131を備えている点である。スクリーニング装置131は、センサデータ蓄積装置31に保存されたセンサデータの中から、汎化性能向上に有効なもののみを抽出する。その後、抽出された教示データを整合性検証装置32と画面操作部5へ出力する。 Figure 13 is a block diagram showing an example configuration of the motion planning unit 3 in the third embodiment of the present invention. Note that in Figure 13, the same reference numerals as in Figure 3 indicate the same components, and therefore a repeated description will be omitted. The difference from the first embodiment is that in the third embodiment, the motion planning unit 3 is equipped with a screening device 131. The screening device 131 extracts only sensor data that is effective in improving generalization performance from the sensor data stored in the sensor data storage device 31. The extracted teaching data is then output to the consistency verification device 32 and the screen operation unit 5.

[ハードウェア構成例]
次に、本発明第3の実施形態における、ロボット制御システム100が備える動作計画部3のハードウェア構成について図14を参照して説明する。なお、図14において、図3と同一符号は同一部品を示すので、再度の説明は省略する。第1の実施形態からの変更点は、第3の実施形態では、映像出力インターフェース141を備える点である。
[Hardware configuration example]
Next, the hardware configuration of the motion planning unit 3 included in the robot control system 100 according to the third embodiment of the present invention will be described with reference to Fig. 14. In Fig. 14, the same reference numerals as in Fig. 3 indicate the same components, and therefore a repeated description will be omitted. The difference from the first embodiment is that the third embodiment includes a video output interface 141.

映像出力インターフェース141は、例えば、VGA(Video Graphics Array)やDVI(Digital Visual interface)、HDMI(High-Definition Multimedia Interface、登録商標)、Display Portが用いられる。映像出力インターフェース141は、専用線等を介して、ディスプレイへ映像を送信することが可能となるように構成されている。 The video output interface 141 may be, for example, a VGA (Video Graphics Array), a DVI (Digital Visual Interface), an HDMI (High-Definition Multimedia Interface, registered trademark), or a Display Port. The video output interface 141 is configured to be able to transmit video to a display via a dedicated line or the like.

[機能構成例]
次に、本発明第3の実施形態における、ロボット制御システム100が備える動作計画部3のスクリーニング装置131の機能構成例について、図15を参照して説明する。
[Example of functional configuration]
Next, an example of the functional configuration of the screening device 131 of the motion planning unit 3 included in the robot control system 100 according to the third embodiment of the present invention will be described with reference to FIG.

図15は、本発明の実施となるスクリーニング装置131の機能構成例を現したものである。なお、図15において、図13と同一符号は同一部品を示すので、再度の説明は省略する。 Figure 15 shows an example of the functional configuration of a screening device 131 embodying the present invention. Note that in Figure 15, the same reference numerals as in Figure 13 indicate the same parts, so repeated explanations will be omitted.

図15に示すスクリーニング装置131において、グルーピング部151は、センサデータ蓄積装置31に保存されたセンサデータを、動作が類似したデータが同じグループになるようにする。グルーピング部の実現方法として、例えば、同じ目標手先位置のセンサデータ毎にグループに分けることが考えられる。 In the screening device 131 shown in Figure 15, the grouping unit 151 groups the sensor data stored in the sensor data storage device 31 so that data with similar movements are grouped together. One possible method for implementing the grouping unit is to group sensor data for the same target hand position, for example.

代表データ算出部152は、グルーピング部151で得られたグループ毎に、そのグループを代表する時系列データ(これを代表データと呼ぶ)を算出する。代表データ算出部152の実現方法としては、例えば、グループ内の全ての時系列データについて、各時刻ごとに中央値を算出することで得られた時系列データを、代表データとすることが考えられる。 The representative data calculation unit 152 calculates time series data (called representative data) that represents each group obtained by the grouping unit 151. One possible method for implementing the representative data calculation unit 152 is to use, as representative data, time series data obtained by calculating the median for each time point for all time series data within a group.

外れデータ検出部153は、グルーピング部151で得られたグループ毎に、代表データ算出部152で算出した代表データと類似していない時系列データ(これを外れデータと呼ぶ)を検出する。外れデータ検出部の実現方法として、例えばDTW(Dynamic Time Warping、動的時間伸縮法)と、IQR(Interquartile range, 四分位範囲)を用いることが考えられる。DTWとは、時系列データ同士の類似度の指標である。DTWのとり得る値は0以上であり、0に近いほど時系列データ同士が類似していることを意味する。まず、グループ内のすべての時系列データについて、代表データとのDTWを算出することで、DTWの系列を得る。次に、算出されたDTWの系列のIQRを求める。IQRとは、データの散らばり度合いを現す指標であり、(第三四分位数)―(第一四分位数)で求まる。最後に、時系列データのうち、代表データに対するDTWが、(第三四分位数+α×IQR)より大きなものを外れデータとする。αの値は初期設定では1.5に設定されている。また、ユーザーが画面操作部5を利用することで値を変更することも可能である。 For each group obtained by the grouping unit 151, the outlier data detection unit 153 detects time series data (referred to as outlier data) that is not similar to the representative data calculated by the representative data calculation unit 152. Possible methods for implementing the outlier data detection unit include, for example, using DTW (Dynamic Time Warping) and IQR (Interquartile Range). DTW is an index of the similarity between time series data. DTW can take values greater than or equal to 0, with values closer to 0 indicating greater similarity between the time series data. First, a DTW series is obtained by calculating the DTW between the representative data and all time series data within a group. Next, the IQR of the calculated DTW series is calculated. IQR is an index that indicates the degree of dispersion of data and is calculated by subtracting the first quartile from the third quartile. Finally, outlier data is defined as time series data whose DTW for the representative data is greater than (third quartile + α x IQR). The default value of α is set to 1.5. The user can also change this value using the screen operation unit 5.

計算結果出力部154は、整合性検証装置32へ、外れデータ以外のセンサデータを出力する。また、画面操作部5へ、外れデータの情報を出力する。 The calculation result output unit 154 outputs sensor data other than the outlier data to the consistency verification device 32. It also outputs information about the outlier data to the screen operation unit 5.

次に、本発明第3の実施形態における、ロボット制御システム100が備える画面操作部5の機能構成例について、図16を参照して説明する。 Next, an example of the functional configuration of the screen operation unit 5 provided in the robot control system 100 in the third embodiment of the present invention will be described with reference to FIG. 16.

図16は、本発明の実施となる画面操作部5の機能構成例を現したものである。なお、図16において、図1と同一符号は同一部品を示すので、再度の説明は省略する。 Figure 16 shows an example of the functional configuration of the screen operation unit 5 embodying the present invention. Note that in Figure 16, the same reference numerals as in Figure 1 indicate the same components, so repeated explanations will be omitted.

図16に示す画面操作部5において、操作入力部161は、例えば、マウス、キーボード等の入力装置で構成され、ユーザーからのマウス入力やキーボード入力等を受け付ける。 In the screen operation unit 5 shown in FIG. 16, the operation input unit 161 is composed of input devices such as a mouse and keyboard, and accepts mouse input, keyboard input, etc. from the user.

画面表示部162は、例えば、ディスプレイ等で構成され、操作入力部161や、動作計画部3から得られる情報を可視化する。 The screen display unit 162 is composed of, for example, a display, and visualizes information obtained from the operation input unit 161 and the motion planning unit 3.

画面制御部163は、動作計画部3や操作入力部161からの情報を受信する。また、動作計画部3や画面表示部162に情報を出力する。 The screen control unit 163 receives information from the action planning unit 3 and the operation input unit 161. It also outputs information to the action planning unit 3 and the screen display unit 162.

本実施形態の主な特徴は、次のようにまとめることもできる。 The main features of this embodiment can be summarized as follows:

プロセッサ(CPU23)は、教示データから外れデータを除去することでスクリーニングを行う(スクリーニング装置131)。これにより、汎化動作性能をさらに向上することができる。 The processor (CPU 23) performs screening by removing data that deviates from the teaching data (screening device 131). This can further improve generalization performance.

(第4の実施形態)
次に、本発明の第4の実施形態として、動作生成時に、任意の動作速度、又は/及び、任意の力の大きさを実現する場合について、図17を参照して説明する。
(Fourth embodiment)
Next, a fourth embodiment of the present invention will be described with reference to FIG. 17, in which an arbitrary motion speed and/or an arbitrary magnitude of force is realized when generating a motion.

図17は、本発明の第4の実施形態における、動作計画部の構成例を示すブロック図である。なお、図17において、図3と同一符号は同一部品を示すので、再度の説明は省略する。第1の実施形態からの変更点は、第4の実施形態では、動作計画部3において、動作パラメータ調整装置171を備えている点である。動作パラメータ調整装置171は、センサデータ蓄積装置31に保存されたセンサデータから、動作生成時に、任意の動作速度、又は/及び、任意の力の大きさを実現する。 Figure 17 is a block diagram showing an example of the configuration of a motion planning unit in the fourth embodiment of the present invention. Note that in Figure 17, the same reference numerals as in Figure 3 indicate the same parts, and therefore a repeated explanation will be omitted. The difference from the first embodiment is that in the fourth embodiment, the motion planning unit 3 is equipped with a motion parameter adjustment device 171. The motion parameter adjustment device 171 realizes an arbitrary motion speed and/or an arbitrary force magnitude when generating motion from the sensor data stored in the sensor data storage device 31.

[動作パラメータ調整装置のハードウェア構成]
本発明の第4の実施形態における、ロボット制御システム100が備える動作計画部3のハードウェア構成は、本発明第3の実施形態の場合と同じであるため、再度の説明は省略する。
[Hardware configuration of the operation parameter adjustment device]
The hardware configuration of the motion planning unit 3 included in the robot control system 100 in the fourth embodiment of the present invention is the same as that in the third embodiment of the present invention, and therefore will not be described again.

[動作パラメータ調整装置の機能構成例]
次に、本発明第4の実施形態における、ロボット制御システム100が備える動作計画部3の動作パラメータ調整装置171の機能構成例について、図18を参照して説明する。
[Example of functional configuration of operation parameter adjustment device]
Next, an example of the functional configuration of the operation parameter adjustment device 171 of the operation planning unit 3 included in the robot control system 100 according to the fourth embodiment of the present invention will be described with reference to FIG.

図18は、本発明の実施となる動作パラメータ調整装置171の機能構成例を現したものである。なお、図18において、図12、図13と同一符号は同一部品を示すので、再度の説明は省略する。 Figure 18 shows an example of the functional configuration of an operation parameter adjustment device 171 embodying the present invention. Note that in Figure 18, the same reference numerals as in Figures 12 and 13 indicate the same components, so repeated explanations will be omitted.

図18に示す動作パラメータ調整装置171において、動作パラメータ記憶部181は、動作パラメータ調整に必要なパラメータの値を保存する。パラメータの種類は、例えば動作生成モデルの制御周期や、電流値の範囲、トルクセンサ値の範囲等がある。パラメータの値は、ユーザーが、画面操作部5を介して変更できる。 In the operation parameter adjustment device 171 shown in FIG. 18, the operation parameter storage unit 181 stores the values of parameters required for operation parameter adjustment. Parameter types include, for example, the control period of the operation generation model, the range of current values, and the range of torque sensor values. Parameter values can be changed by the user via the screen operation unit 5.

動作パラメータ調整演算部182は、動作パラメータ記憶部181に保存しているパラメータの値に基づいて、動作生成時に、動作速度、又は/及び、力の大きさを調整する。動作パラメータ調整演算部で動作速度を変更する具体的な方法として、例えば、動作生成時の制御周期を変えることが考えられる。例えば、動作速度を大きくしたい場合は、教示データのサンプリング周期よりも、動作生成時の制御周期を小さくすればよい。動作パラメータ調整演算部で力の大きさを変更する具体的な方法として、例えば、電流値やトルクセンサ値を変えることが考えられる。例えば、力の大きさを小さくしたい場合は、電流値やトルクセンサ値の上限を、教示データよりも小さくすればよい。 The motion parameter adjustment calculation unit 182 adjusts the motion speed and/or the magnitude of force when generating motion based on the parameter values stored in the motion parameter storage unit 181. A specific method for changing the motion speed in the motion parameter adjustment calculation unit is, for example, changing the control period when generating motion. For example, if you want to increase the motion speed, you can make the control period when generating motion shorter than the sampling period of the teaching data. A specific method for changing the magnitude of force in the motion parameter adjustment calculation unit is, for example, changing the current value or torque sensor value. For example, if you want to decrease the magnitude of force, you can make the upper limit of the current value or torque sensor value smaller than the teaching data.

本実施形態の主な特徴は、次のようにまとめることもできる。 The main features of this embodiment can be summarized as follows:

処理装置(計算機20)は、機械学習後のロボット(ロボット装置1)の動作を調整するパラメータを示す動作パラメータを記憶する記憶装置(動作パラメータ記憶部181)を備える。記憶装置は、例えば、RAM24、不揮発性ストレージ25等で構成される。 The processing device (computer 20) includes a storage device (operation parameter storage unit 181) that stores operation parameters that indicate parameters for adjusting the operation of the robot (robot device 1) after machine learning. The storage device is composed of, for example, RAM 24, non-volatile storage 25, etc.

プロセッサ(CPU23)は、学習済みの機械学習モデルを用いて、動作パラメータに基づきロボット(ロボット装置1)の動作の指令値を生成する(機械学習装置34)。これにより、教示・学習を再度行うことなく、ロボットの動作を調整することができる。 The processor (CPU 23) uses the trained machine learning model to generate command values for the robot's (robot device 1) movement based on the movement parameters (machine learning device 34). This allows the robot's movement to be adjusted without having to repeat teaching and learning.

動作パラメータは、例えば、教示データのサンプリング周期である。プロセッサ(CPU23)は、指令値において、ロボット(ロボット装置1)の制御周期をサンプリング周期より小さくすることでロボットの動作の速度を大きくし、又は指令値において、ロボットの制御周期をサンプリング周期より大きくすることでロボットの動作の速度を小さくする(動作パラメータ調整装置171)。これにより、教示・学習を再度行うことなく、ロボットの動作の速度を調整することができる。 The movement parameter is, for example, the sampling period of the teaching data. The processor (CPU 23) increases the movement speed of the robot (robot device 1) by making the control period of the robot shorter than the sampling period in the command value, or decreases the movement speed of the robot by making the control period of the robot longer than the sampling period in the command value (movement parameter adjustment device 171). This makes it possible to adjust the movement speed of the robot without having to repeat teaching and learning.

また、動作パラメータは、例えば、教示データにおけるロボットのトルク又はそれと相関のある値の最大値Mである。プロセッサ(CPU23)は、指令値において、ロボット(ロボット装置1)のトルク又はそれと相関のある値(例えば、アクチュエータの駆動電流の値)の上限を最大値Mより大きくすることでロボットの力を大きし、又は指令値において、ロボットのトルク又はそれと相関のある値の上限を最大値Mより小さくすることで前記ロボットの力を小さくする。これにより、教示・学習を再度行うことなく、ロボットの力を調整することができる。 The operating parameter is, for example, the maximum value M of the robot's torque or a value correlated thereto in the teaching data. The processor (CPU 23) increases the robot's force by increasing the upper limit of the robot's (robot device 1) torque or a value correlated thereto (for example, the value of the actuator's drive current) in the command value above the maximum value M, or decreases the robot's force by decreasing the upper limit of the robot's torque or a value correlated thereto below the maximum value M in the command value. This makes it possible to adjust the robot's force without having to repeat teaching or learning.

なお、本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明したすべての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、また、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。 The present invention is not limited to the above-described embodiments, and includes various modifications. For example, the above-described embodiments have been described in detail to clearly explain the present invention, and are not necessarily limited to those including all of the described configurations. Furthermore, it is possible to replace part of the configuration of one embodiment with the configuration of another embodiment, and it is also possible to add the configuration of another embodiment to the configuration of one embodiment. Furthermore, it is possible to add, delete, or replace part of the configuration of each embodiment with other configurations.

また、上記の各構成、機能、処理部等は、それらの一部又は全部を、例えば集積回路で設計するなどによりハードウェアで実現してもよい。ハードウェアとして、FPGA(Field Programmable Gate Array)やASIC(Application Specific Integrated Circuit)などの広義のプロセッサデバイスを用いてもよい。 Furthermore, some or all of the above-mentioned configurations, functions, processing units, etc. may be implemented in hardware, for example by designing them as integrated circuits. Broad processor devices such as FPGAs (Field Programmable Gate Arrays) and ASICs (Application Specific Integrated Circuits) may also be used as hardware.

また、上述した各実施形態に係る動作計画部3の各構成要素は、制御部4に実装されてもよい。また、動作計画部3のある処理部により実施される処理が、1つのハードウェアにより実現されてもよいし、複数のハードウェアによる分散処理により実現されてもよい。 Furthermore, each component of the motion planning unit 3 according to each of the above-described embodiments may be implemented in the control unit 4. Furthermore, the processing performed by a processing unit of the motion planning unit 3 may be realized by a single piece of hardware, or may be realized by distributed processing using multiple pieces of hardware.

上述した各実施形態では、センサデータ取得部2、動作計画部3、制御部4は、一例として1台の計算機20によって実現されるが、別々の計算機によって実現されていてもよい。計算負荷の大きい動作計画部3を高性能な計算機で実現することで、全体のスループットを向上することができる。なお、計算機どうしは、例えば、LAN、インターネット等の通信ネットワークを介して相互に接続される。 In each of the above-described embodiments, the sensor data acquisition unit 2, the motion planning unit 3, and the control unit 4 are implemented by a single computer 20, for example, but they may also be implemented by separate computers. Implementing the motion planning unit 3, which has a heavy computational load, on a high-performance computer can improve overall throughput. The computers are connected to each other via a communication network such as a LAN or the Internet.

なお、本発明の実施形態は、以下の態様であってもよい。 The present invention may also be embodied in the following ways:

(1).ロボットの動作を生成するための機械学習を行う機械学習システムであって、ロボットへの教示データ(時系列のセンサ情報等)を取得する取得部と、教示データを、ロボットの動作に基づき分節する動作分節化部と、タスクが共通する異なる教示データ間で、分節された動作のうち、同種の動作の速度が異なる場合に、該同種の動作の速度を揃えるように教示データを補正する速度調整部と、タスクが共通する異なる教示データ間で、分節された動作のうち、同種の動作のタイミングが異なる場合に、該同種の動作のタイミングを揃えるように教示データを補正するタイミング調整部と、教示データにおけるロボットのダイナミクスを補正するダイナミクス調整部と、を備え、前記速度と前記タイミングと前記ダイナミクスのうち少なくとも1つが補正された教示データを、前記機械学習システムにおける学習用データとする、機械学習システム。 (1) A machine learning system that performs machine learning to generate robot movements, comprising: an acquisition unit that acquires teaching data (such as time-series sensor information) for the robot; a movement segmentation unit that segments the teaching data based on the robot's movements; a speed adjustment unit that corrects the teaching data to align the speeds of similar movements among the segmented movements of different teaching data that share a common task when the speeds of the same movements differ; a timing adjustment unit that corrects the teaching data to align the timing of similar movements among the segmented movements of different teaching data that share a common task when the timings of the same movements differ; and a dynamics adjustment unit that corrects the robot's dynamics in the teaching data, and the teaching data with at least one of the speed, timing, and dynamics corrected is used as learning data for the machine learning system.

(2).(1)において、機械学習システムは、ロボットへの教示データとして、ロボットの位置や、関節角度情報等を取得する取得部を備えた、機械学習システム。 (2) In (1), the machine learning system is a machine learning system equipped with an acquisition unit that acquires the robot's position, joint angle information, etc. as teaching data for the robot.

(3).(2)において、機械学習システムは、ロボットの位置や、関節角度情報に加えて、ロボットや作業環境の画像を取得する取得部を備えた、機械学習システム。 (3) In (2), the machine learning system is a machine learning system that is equipped with an acquisition unit that acquires images of the robot and the work environment in addition to the robot's position and joint angle information.

(4).(2)において、機械学習システムは、ロボットの位置や、関節角度情報に加えて、対象物の位置、姿勢情報を取得する取得部を備えた、機械学習システム。 (4) In (2), the machine learning system is a machine learning system that includes an acquisition unit that acquires the position and posture information of the target object in addition to the robot's position and joint angle information.

(5).(1)において、機械学習システムは、ロボットへの教示データとして、ロボットの速度、関節角速度情報等を取得する取得部を備えた、機械学習システム。 (5) In (1), the machine learning system is a machine learning system equipped with an acquisition unit that acquires the robot's speed, joint angular velocity information, etc. as teaching data for the robot.

(6).(1)において、機械学習システムは、ロボットへの教示データとして、ロボットの触覚情報を取得する取得部を備えた、機械学習システム。 (6) In (1), the machine learning system is a machine learning system equipped with an acquisition unit that acquires tactile information from the robot as teaching data for the robot.

(7).(1)において、機械学習システムは、ロボットのダイナミクスのうち、加速度または/および加速度変化を調整するダイナミクス調整部を備えた、機械学習システム。 (7) In (1), the machine learning system is a machine learning system equipped with a dynamics adjustment unit that adjusts acceleration and/or acceleration changes among the robot's dynamics.

(8).(1)において、機械学習システムは、ロボットのダイナミクスのうち、躍度または/および躍度変化を調整するダイナミクス調整部を備えた、機械学習システム。 (8) In (1), the machine learning system is a machine learning system equipped with a dynamics adjustment unit that adjusts the jerk and/or jerk change of the robot's dynamics.

(9).(1)において、機械学習システムは、ロボットのダイナミクスのうち、トルクまたは/およびトルク変化を調整するダイナミクス調整部を備えた、機械学習システム。 (9) In (1), the machine learning system is a machine learning system equipped with a dynamics adjustment unit that adjusts torque and/or torque changes among the robot's dynamics.

(10).(1)において、前記速度調整部は、ロボットへの教示データにカメラ画像が含まれる場合、前記教示データ間で、フレーム補間を行った後に、該同種の動作の速度を揃えるように教示データを補正することを特徴とする、機械学習システム。 (10) In the machine learning system of (1), when the teaching data for the robot includes camera images, the speed adjustment unit performs frame interpolation between the teaching data and then corrects the teaching data to align the speeds of the same type of movement.

(11).(1)において、機械学習システムは、取得した教示データの中から、動作汎化性能向上に有効な教示データを抽出するスクリーニング装置を備えた、機械学習システム。 (11) In (1), the machine learning system is equipped with a screening device that extracts, from the acquired teaching data, teaching data that is effective in improving behavioral generalization performance.

(12).(1)において、機械学習システムは、学習済みの機械学習モデルを用いて動作生成を行う際、任意の動作速度を実現するために、ロボットの制御周期を調整する動作パラメータ調整装置を備えた、機械学習システム。 (12) In (1), the machine learning system is a machine learning system equipped with a motion parameter adjustment device that adjusts the control period of the robot to achieve an arbitrary motion speed when generating motion using a trained machine learning model.

(13).(1)において、機械学習システムは、学習済みの機械学習モデルを用いて動作生成を行う際、任意の力の大きさを実現するために、ロボットのトルクを調整する動作パラメータ調整装置を備えた、機械学習システム。 (13) In (1), the machine learning system is a machine learning system equipped with a motion parameter adjustment device that adjusts the torque of the robot to achieve a desired force magnitude when generating motion using a trained machine learning model.

(1)~(13)によれば、動作学習を阻害する教示データ間の時間方向のばらつきを低減することで、導入工数削減と汎化性能獲得の両立が期待できる。 According to (1) to (13), by reducing the temporal variation between teaching data that hinders motion learning, it is expected that both the implementation effort can be reduced and generalization performance can be achieved.

1…ロボット装置、2…センサデータ取得部、3…動作計画部、4…制御部、5…画面操作部、22…ROM、23…CPU、24…RAM、25…不揮発性ストレージ、26…入出力インターフェース、27…ネットワークインターフェース、31…センサデータ蓄積装置、32…整合性検証装置、33…学習データ蓄積装置、34…機械学習装置、41…動作分節化部、42…速度調整部、43…タイミング調整部、44…ダイナミクス調整部、45…データ処理部、61…機械学習モデル定義部、62…学習部、63…学習済み重み蓄積部、64…推論部、101…フレーム補間部、131…スクリーニング装置、161…操作入力部、151…グルーピング部、152…代表データ算出部、153…外れデータ検出部、154…計算結果出力部、161…操作入力部、162…画面表示部、163…画面制御部、171…動作パラメータ調整装置、181…動作パラメータ記憶部、182…動作パラメータ調整演算部 1...Robot device, 2...Sensor data acquisition unit, 3...Motion planning unit, 4...Control unit, 5...Screen operation unit, 22...ROM, 23...CPU, 24...RAM, 25...Non-volatile storage, 26...Input/output interface, 27...Network interface, 31...Sensor data storage device, 32...Consistency verification device, 33...Learning data storage device, 34...Machine learning device, 41...Motion segmentation unit, 42...Speed adjustment unit, 43...Timing adjustment unit, 44...Dynamics adjustment unit, 45...Data Processing unit, 61...machine learning model definition unit, 62...learning unit, 63...trained weight accumulation unit, 64...inference unit, 101...frame interpolation unit, 131...screening device, 161...operation input unit, 151...grouping unit, 152...representative data calculation unit, 153...outlier data detection unit, 154...calculation result output unit, 161...operation input unit, 162...screen display unit, 163...screen control unit, 171...operation parameter adjustment device, 181...operation parameter storage unit, 182...operation parameter adjustment calculation unit

Claims (15)

ロボットへの教示データを前記ロボットの同種の動作ごとに分節し、
分節された複数の前記教示データに対して、前記ロボットの同種の動作の速度又はタイミングを揃える補正を行い、
補正が行われた複数の前記教示データを合成し、
合成された前記教示データを用いて機械学習を行うプロセッサを備える処理装置。
Segmenting the teaching data for the robot into groups of similar movements of the robot;
correcting the segmented teaching data to align the speed or timing of the same type of motion of the robot;
Combining the corrected teaching data;
A processing device comprising a processor that performs machine learning using the synthesized teaching data.
請求項1に記載の処理装置であって、
前記プロセッサは、
分節された複数の前記教示データに対して、前記ロボットの同種の動作のダイナミクスの値を平滑化する補正を行う
ことを特徴とする処理装置。
2. The processing device according to claim 1,
The processor:
A processing device characterized by performing correction for smoothing dynamics values of the same type of motion of the robot on the segmented plurality of pieces of teaching data.
請求項2に記載の処理装置であって、
前記教示データは、
前記ロボットの位置を示す位置情報、関節角度を示す関節角度情報、
前記ロボットの速度を示す速度情報、前記ロボットの関節角速度を示す関節角速度情報、及び
前記ロボットに設けられる触覚センサのセンサ値を示す触覚情報のうち少なくとも1つを含む
ことを特徴とする処理装置。
3. The processing device according to claim 2,
The teaching data is
position information indicating the position of the robot, joint angle information indicating joint angles,
a processing device including at least one of velocity information indicating the velocity of the robot, joint angular velocity information indicating the joint angular velocity of the robot, and tactile information indicating a sensor value of a tactile sensor provided on the robot.
請求項3に記載の処理装置であって、
前記教示データは、
前記ロボット又は作業環境の画像を含む
ことを特徴とする処理装置。
4. The processing device according to claim 3,
The teaching data is
A processing device comprising an image of the robot or the working environment.
請求項3に記載の処理装置であって、
前記教示データは、
前記ロボットが作業を行う対象物の位置を示す位置情報、及び前記対象物の姿勢を示す姿勢情報のうち少なくとも1つを含む
ことを特徴とする処理装置。
4. The processing device according to claim 3,
The teaching data is
A processing device comprising at least one of position information indicating a position of an object on which the robot is to perform work, and posture information indicating a posture of the object.
請求項2に記載の処理装置であって、
前記ダイナミクスは、
加速度、加速度変化、
躍度、躍度変化、
トルク、及びトルク変化のうち少なくとも1つを含む
ことを特徴とする処理装置。
3. The processing device according to claim 2,
The dynamics are
Acceleration, change in acceleration,
Jerk, jerk change,
The processing device includes at least one of torque and torque change.
請求項4に記載の処理装置であって、
前記プロセッサは、
分節された複数の前記教示データに対して、前記教示データに含まれる画像のフレーム補間を行い、その後、前記ロボットの同種の動作の速度を揃える補正を行う
ことを特徴とする処理装置。
5. The processing device according to claim 4,
The processor:
A processing device characterized by performing frame interpolation of images included in the segmented teaching data for the plurality of pieces of teaching data, and then performing correction to align the speeds of similar movements of the robot.
請求項1に記載の処理装置であって、
前記プロセッサは、
前記教示データから外れデータを除去することでスクリーニングを行う
ことを特徴とする処理装置。
2. The processing device according to claim 1,
The processor:
A processing device characterized in that screening is performed by removing data that deviates from the teaching data.
請求項1に記載の処理装置であって、
機械学習後の前記ロボットの動作を調整するパラメータを示す動作パラメータを記憶する記憶装置を備え、
前記プロセッサは、
学習済みの機械学習モデルを用いて、前記動作パラメータに基づき前記ロボットの動作の指令値を生成する
ことを特徴とする処理装置。
2. The processing device according to claim 1,
a storage device that stores operation parameters indicating parameters for adjusting the operation of the robot after machine learning;
The processor:
A processing device that generates a command value for the robot's operation based on the operation parameters using a trained machine learning model.
請求項9に記載の処理装置であって、
前記動作パラメータは、前記教示データのサンプリング周期であり、
前記プロセッサは、
前記指令値において、前記ロボットの制御周期を前記サンプリング周期より小さくすることで前記ロボットの動作の速度を大きくし、又は
前記指令値において、前記ロボットの制御周期を前記サンプリング周期より大きくすることで前記ロボットの動作の速度を小さくする
ことを特徴とする処理装置。
10. The processing device according to claim 9,
the operation parameter is a sampling period of the teaching data,
The processor:
a processing device characterized in that, in the command value, the control period of the robot is made shorter than the sampling period to increase the speed of the robot's movement, or, in the command value, the control period of the robot is made longer than the sampling period to decrease the speed of the robot's movement.
請求項9に記載の処理装置であって、
前記動作パラメータは、前記教示データにおける前記ロボットのトルク又はそれと相関のある値の最大値であり、
前記プロセッサは、
前記指令値において、前記ロボットのトルク又はそれと相関のある値の上限を前記最大値より大きくすることで前記ロボットの力を大きくし、又は
前記指令値において、前記ロボットのトルク又はそれと相関のある値の上限を前記最大値より小さくすることで前記ロボットの力を小さくする
ことを特徴とする処理装置。
10. The processing device according to claim 9,
the operation parameter is a maximum value of a torque of the robot or a value correlated therewith in the teaching data,
The processor:
a processing device characterized in that, in the command value, the force of the robot is increased by making the upper limit of the torque of the robot or a value correlated thereto greater than the maximum value, or, in the command value, the force of the robot is decreased by making the upper limit of the torque of the robot or a value correlated thereto less than the maximum value.
請求項1に記載の処理装置であって、
前記プロセッサは、
分節された複数の前記教示データを量子化し、ノイズを削除することで前記ロボットの同種の動作の速度を揃える
ことを特徴とする処理装置。
2. The processing device according to claim 1,
The processor:
A processing device characterized by quantizing the segmented multiple pieces of teaching data and removing noise to make the speeds of similar movements of the robot uniform.
請求項1に記載の処理装置であって、
前記プロセッサは、
分節された複数の前記教示データに対して、前記ロボットの静止時間を増やす又は減らすことで、前記ロボットの同種の動作のタイミングを揃える補正を行う
ことを特徴とする処理装置。
2. The processing device according to claim 1,
The processor:
A processing device characterized by performing corrections to align the timing of similar movements of the robot by increasing or decreasing the rest time of the robot for the plurality of segmented teaching data.
請求項1に記載の処理装置とロボットを含むロボット制御システムであって、
前記プロセッサは、学習済みの機械学習モデルを用いて、前記ロボットの動作の指令値を生成し、
前記ロボットは、前記指令値に応じて動作する
ことを特徴とするロボット制御システム。
A robot control system including the processing device according to claim 1 and a robot,
The processor generates a command value for the robot's operation using a trained machine learning model;
The robot control system is characterized in that the robot operates in accordance with the command value.
ロボットへの教示データを前記ロボットの同種の動作ごとに分節する工程と、
分節された複数の前記教示データに対して、前記ロボットの同種の動作の速度又はタイミングを揃える補正を行う工程と、
補正が行われた複数の前記教示データを合成する工程と、
合成された前記教示データを用いて機械学習を行う工程と、
を含む機械学習方法。
A step of segmenting teaching data for a robot into groups of similar operations of the robot;
a step of correcting the segmented teaching data to align the speed or timing of the same type of motion of the robot;
a step of synthesizing the corrected teaching data;
performing machine learning using the synthesized training data;
Machine learning methods, including
JP2022096802A 2022-06-15 2022-06-15 Processing device, robot control system and machine learning method Active JP7788948B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022096802A JP7788948B2 (en) 2022-06-15 2022-06-15 Processing device, robot control system and machine learning method
PCT/JP2023/020383 WO2023243412A1 (en) 2022-06-15 2023-05-31 Processing device, robot control system, and machine learning method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022096802A JP7788948B2 (en) 2022-06-15 2022-06-15 Processing device, robot control system and machine learning method

Publications (2)

Publication Number Publication Date
JP2023183271A JP2023183271A (en) 2023-12-27
JP7788948B2 true JP7788948B2 (en) 2025-12-19

Family

ID=89190975

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022096802A Active JP7788948B2 (en) 2022-06-15 2022-06-15 Processing device, robot control system and machine learning method

Country Status (2)

Country Link
JP (1) JP7788948B2 (en)
WO (1) WO2023243412A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2025243731A1 (en) * 2024-05-20 2025-11-27 ソニーグループ株式会社 Information processing device, information processing method, and information processing program

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001100828A (en) 1999-10-01 2001-04-13 Mitsubishi Electric Corp Robot controller
JP2013146814A (en) 2012-01-18 2013-08-01 Honda Motor Co Ltd Robot teaching method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009028851A (en) * 2007-07-27 2009-02-12 Nachi Fujikoshi Corp Robot controller
JP5383756B2 (en) * 2011-08-17 2014-01-08 ファナック株式会社 Robot with learning control function

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001100828A (en) 1999-10-01 2001-04-13 Mitsubishi Electric Corp Robot controller
JP2013146814A (en) 2012-01-18 2013-08-01 Honda Motor Co Ltd Robot teaching method

Also Published As

Publication number Publication date
JP2023183271A (en) 2023-12-27
WO2023243412A1 (en) 2023-12-21

Similar Documents

Publication Publication Date Title
CN110026987B (en) Method, device and equipment for generating grabbing track of mechanical arm and storage medium
Hou et al. Adaptive compliance policy: Learning approximate compliance for diffusion guided control
CN112757284B (en) Robot control device, method and storage medium
US12498677B2 (en) Mitigating reality gap through training a simulation-to-real model using a vision-based robot task model
CN106737673B (en) A method of the control of mechanical arm end to end based on deep learning
Pervez et al. Learning deep movement primitives using convolutional neural networks
JP2019516568A (en) Method and apparatus for machine learning related to predicting movement of an object in a robot&#39;s environment based on parameters relating to future robot movement in the environment based on an image capturing the object
CN110385694A (en) Action teaching device, robot system and the robot controller of robot
CN115351780A (en) Method for controlling a robotic device
Hsu et al. Spot: Se (3) pose trajectory diffusion for object-centric manipulation
JP7599048B2 (en) ROBOT SYSTEM AND ROBOT DEVICE
CN116423520A (en) A Manipulator Trajectory Planning Method Based on Vision and Dynamic Motion Primitives
Lee et al. Sample-efficient learning of deformable linear object manipulation in the real world through self-supervision
JP2002024795A (en) Information processing apparatus and method, and recording medium
JP7788948B2 (en) Processing device, robot control system and machine learning method
Ahmadzadeh et al. Generalized Cylinders for Learning, Reproduction, Generalization, and Refinement of Robot Skills.
CN117381799B (en) Grasping device control method based on machine vision, grasping device and storage medium
Chao et al. Learning robotic hand-eye coordination through a developmental constraint driven approach
JPH1091207A (en) Internal expression automatic generation method and apparatus
Tokuda et al. CNN-based visual servoing for pose control of soft fabric parts
JP7205752B2 (en) ROBOT CONTROL DEVICE, ROBOT CONTROL METHOD, AND ROBOT CONTROL PROGRAM
CN121061841A (en) Robot joint positioning method, device and storage medium
WO2022153578A1 (en) Information processing device, information processing method, and program
Maeda et al. View-based teaching/playback for industrial manipulators
Yoshikawa et al. QDM-RNN: Acquisition of High-speed and Robust Behavior from Low-speed Demonstrations

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20241115

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20251111

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20251209

R150 Certificate of patent or registration of utility model

Ref document number: 7788948

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150