JP7808295B2 - Method for controlling a robotic device - Google Patents
Method for controlling a robotic deviceInfo
- Publication number
- JP7808295B2 JP7808295B2 JP2022080087A JP2022080087A JP7808295B2 JP 7808295 B2 JP7808295 B2 JP 7808295B2 JP 2022080087 A JP2022080087 A JP 2022080087A JP 2022080087 A JP2022080087 A JP 2022080087A JP 7808295 B2 JP7808295 B2 JP 7808295B2
- Authority
- JP
- Japan
- Prior art keywords
- trajectory
- manifold
- weight vector
- demonstrated
- combination
- 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
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1661—Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1653—Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/42—Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
- G05B19/423—Teaching successive positions by walk-through, i.e. the tool head or end effector being grasped and guided directly, with or without servo-assistance, to follow a path
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/36—Nc in input of data, input key till input tape
- G05B2219/36401—Record play back, teach position and record it then play back
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39001—Robot, manipulator control
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39298—Trajectory learning
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40519—Motion, trajectory planning
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Manipulator (AREA)
Description
本開示は、ロボットデバイスを制御するための方法に関する。 The present disclosure relates to a method for controlling a robotic device.
多くの用途では、ロボットが、場合によっては動的で構造化されていない環境において自律的に動作することが望まれる。このためには、ロボットは、自身の周辺環境の中でどのように動き、どのように対話するかを学習する必要がある。そうするために、ロボットは、単純な動作を実行したり、複雑なタスクを複数のスキルの組み合わせとして実行したりするために使用できるスキルのライブラリに依存する場合がある。動作スキルを学習する手法は、人間の例を介して、デモンストレーションから学ぶこと(LfD:Learning from demonstrations)として公知である。これには、ロボットによって模倣されるべき特定の動作を1回または複数回示す専門家(典型的には人間)が必要である。 In many applications, it is desirable for robots to operate autonomously, sometimes in dynamic and unstructured environments. To do this, robots need to learn how to move and interact in their surroundings. To do so, robots may rely on a library of skills that can be used to perform simple actions or to perform complex tasks as a combination of multiple skills. A technique for learning behavioral skills is known as learning from demonstrations (LfD), which requires an expert (typically a human) to demonstrate one or more times the specific behavior to be imitated by the robot.
A. Paraschos らによる刊行物「Using probabilistic movement primitives in robotics” by A. Paraschos et al., in Autonomous Robots, 42:529-551, 2018」には、ロボット動作スキルを学習して合成するための確率的枠組みである確率的運動プリミティブ(ProMP)が記載されている。ProMPは、コンパクトな基底関数表現に基づく軌道分布を表している。その確率論的定式化により、運動の変調、平行運動の起動、および制御における分散情報の活用が可能になる。 The publication "Using probabilistic movement primitives in robotics" by A. Paraschos et al., in Autonomous Robots, 42:529-551, 2018, describes probabilistic movement primitives (ProMP), a probabilistic framework for learning and synthesizing robot movement skills. ProMP represents trajectory distributions based on compact basis function representations. Its probabilistic formulation enables the exploitation of distributed information in motion modulation, parallel motion activation, and control.
ProMPは、直交運動の学習に使用されてきたが、その定式化では、四元数軌道の形態での配向運動を扱うことができない。しかしながら、四元数は、それらがほぼ最小の表現と、閉ループ配向制御での強い安定性とを提供するなど、ロボット制御にとって好ましい特性を備えている。したがって、四元数軌道を含むデモンストレーションからロボット制御学習を可能にするアプローチが望まれる。 While ProMP has been used to learn cartesian motion, its formulation cannot handle orientation motion in the form of quaternion trajectories. However, quaternions have favorable properties for robot control, such as the fact that they offer near-minimal representation and strong stability in closed-loop orientation control. Therefore, an approach that enables robot control learning from demonstrations containing quaternion trajectories is desirable.
発明の開示
様々な実施形態によれば、ロボットデバイスを制御するための方法が提供され、この方法は、ロボットスキルのためのデモンストレーションを提供するステップであって、ここで、各デモンストレーションは、ロボット構成のシーケンスを含む軌道をデモンストレーションし、ここで、各ロボット構成は、リーマン多様体の構造を有する予め定められた構成空間の要素によって記述されるステップを含む。本方法はさらに、各デモンストレーションされた軌道について、重みベクトルに従った基本運動の組み合わせと、デモンストレーションされた軌道との間の距離測定値を最小化する重みベクトルを検索することによって、ロボットデバイスの予め定められた基本運動の重みベクトルとしての軌道の表現を決定するステップであって、ここで、組み合わせは、多様体に写像されるステップを含む。本方法はさらに、デモンストレーションされた軌道について決定された重みベクトルに確率分布を適合させることによって重みベクトルの確率分布を決定するステップと、重みベクトルの決定された確率分布に従って基本運動を実行することによってロボットデバイスを制御するステップとを含む。
DISCLOSURE OF THE INVENTION According to various embodiments, a method for controlling a robotic device is provided, the method including providing demonstrations for a robotic skill, where each demonstration demonstrates a trajectory including a sequence of robot configurations, where each robot configuration is described by an element of a predetermined configuration space having the structure of a Riemannian manifold. The method further includes, for each demonstrated trajectory, determining a representation of the trajectory as a weight vector of predetermined primitive motions of the robotic device by searching for a weight vector that minimizes a distance measure between the demonstrated trajectory and a combination of primitive motions according to the weight vector, where the combination is mapped to the manifold. The method further includes determining a probability distribution of the weight vector by fitting a probability distribution to the weight vector determined for the demonstrated trajectory, and controlling the robotic device by executing the primitive motions according to the determined probability distribution of the weight vector.
様々な実施形態によれば、上述の方法は、(以下で詳細に説明するように多変量測地線回帰を使用して)確率的動作プリミティブを符号化、再現、および適合させるリーマン多様体アプローチを使用するロボット制御を提供する。特に、様々な実施形態によれば、四元数軌道の空間は、リーマン多様体とみなされる。このアプローチは、ジオメトリを認識しないアプローチ(古典的なProMPなど)と比較して、ともすれば不正確なデータを符号化したり、歪んだ軌道を再現したりすることが少なく、ロボットによるスキルの学習と再現とを可能にさせる。これは大まかな近似に依存しないため、モデルもより説明しやすくなる。その上さらに、このアプローチは、軌道分布の変調や動作プリミティブの混合などの付加的な適合能力も提供する。 According to various embodiments, the above-described method provides robot control using a Riemannian manifold approach to encoding, reproducing, and adapting stochastic motion primitives (using multivariate geodesic regression, as described in more detail below). In particular, according to various embodiments, the space of quaternion trajectories is considered a Riemannian manifold. This approach is less likely to encode inaccurate data or reproduce distorted trajectories compared to geometry-unaware approaches (such as classical ProMP), allowing the robot to learn and reproduce skills. Because it does not rely on rough approximations, the model is also more explainable. Furthermore, this approach also offers additional adaptation capabilities, such as modulating trajectory distributions and blending motion primitives.
様々な実施形態によれば、デモンストレーションされた軌道は、測地線回帰である重みベクトルとして表される。これは、測地線が、各デモンストレーションされた軌道に適合しているように見え得ることを意味する。 According to various embodiments, the demonstrated trajectories are represented as weight vectors that are geodesic regressions. This means that a geodesic curve can be seen to be fitted to each demonstrated trajectory.
以下では様々な例が与えられる。 Various examples are given below.
実施例1は、上述したようなロボットデバイスを制御するための方法である。 Example 1 is a method for controlling a robot device as described above.
実施例2は、実施例1による方法であり、ここで、重みベクトルの確率分布は、デモンストレーションされた軌道について決定された重みベクトルにガウス分布を適合させることによって決定される。 Example 2 is a method according to Example 1, where the probability distribution of the weight vector is determined by fitting a Gaussian distribution to the weight vector determined for the demonstrated trajectory.
訓練および再現のためにガウス分布を使用することにより、デモンストレーションでは見られなかった制御シナリオの信頼性の高い制御が提供される。 The use of Gaussian distributions for training and recall provides reliable control of control scenarios not seen in the demonstration.
実施例3は、実施例1または2による方法であり、ここで、各デモンストレーションされた軌道は、時点の予め定められたシーケンスの各時点に対するロボット構成を含み、重みベクトルに従った基本運動の各組み合わせは、時点の予め定められたシーケンスの各時点に対するロボット構成を指定し、
各デモンストレーションされた軌道について、重みベクトルは、可能な重みベクトルの集合から、重みベクトルに従った基本運動の組み合わせと、デモンストレーションされた軌道とについての重みベクトルを決定することによって決定され、
組み合わせは、多様体に写像され、可能な重みベクトルの集合の中で最小であり、
多様体に写像された基本運動の組み合わせと、デモンストレーションされた軌道との間の距離は、時点のシーケンスの時点にわたって、多様体に写像されたときの時点における基本運動の組み合わせによって与えられる多様体の要素と、デモンストレーションされた軌道との間の多様体のメトリックの値または値のべき乗を含む各時点についての項を含んだ項にわたる合計によって与えられる。
Example 3 is the method according to example 1 or 2, wherein each demonstrated trajectory includes a robot configuration for each time point in a predetermined sequence of time points, and each combination of primitive motions according to a weight vector specifies a robot configuration for each time point in the predetermined sequence of time points;
For each demonstrated trajectory, a weight vector is determined by determining a weight vector for a combination of the basic movement according to the weight vector and the demonstrated trajectory from a set of possible weight vectors;
The combination is mapped onto the manifold and is the smallest among the set of possible weight vectors,
The distance between a combination of elementary motions mapped onto a manifold and a demonstrated trajectory is given by a sum over the time points of the sequence of time points, including a term for each time point that contains the value or power of the value of the manifold metric between the element of the manifold given by the combination of elementary motions at the time point when mapped onto the manifold and the demonstrated trajectory.
これにより、デモンストレーションされた軌道に重みベクトルを適合させることによって、重みベクトルによりデモンストレーションされた軌道を表現する効率的な手法が提供される。組み合わせは、多様体上の点を選択し、選択された点における多様体の接空間の指数関数により多様体に組み合わせを写像することによって、多様体に写像されてもよい。 This provides an efficient way to represent the demonstrated trajectories with weight vectors by fitting a weight vector to the demonstrated trajectories. Combinations may be mapped to the manifold by selecting a point on the manifold and mapping the combination to the manifold by an exponential function of the tangent space of the manifold at the selected point.
実施例4は、実施例1~3までのいずれか1つによる方法であり、この方法は、デモンストレーションされた軌道の1つについて、重みベクトルに従った基本運動の組み合わせと、デモンストレーションされた軌道との間の距離測定値が最小化されるような、多様体の点および重みベクトルを検索するステップを含み、ここで、組み合わせは、点における接空間から前記多様体に写像され、ここで、各デモンストレーションされた軌道について、多様体への各組み合わせの写像は、選択された点における接空間から前記組み合わせを写像することによって実行される。 Example 4 is a method according to any one of Examples 1 to 3, the method including: searching for a point and a weight vector on a manifold such that, for one of the demonstrated trajectories, a distance measure between a combination of primitive movements according to a weight vector and the demonstrated trajectory is minimized, where the combination is mapped onto the manifold from a tangent space at a point, and where, for each demonstrated trajectory, the mapping of each combination onto the manifold is performed by mapping the combination from a tangent space at a selected point.
換言すれば、接空間(すなわち、接空間を取る多様体の点)は、1つの実証された軌道について、重みおよび点にわたる最適化を実行することにより決定される。次いで、この接空間は、組み合わせまたは検索中にこれが必要な任意の組み合わせを、デモンストレーションされたすべての軌道についての多様体に写像するために使用される。換言すれば、同じ接空間、したがって同じ指数写像が、すべてのデモンストレーションされた軌道に使用される。これにより、異なる軌道に対して異なる接空間を使用することが接線重みベクトルを非常に多様化させてしまうという問題を克服する効果的な手法が提供される。 In other words, the tangent space (i.e., the points on the manifold that take up the tangent space) is determined for one demonstrated trajectory by performing an optimization over the weights and points. This tangent space is then used to map any combinations required during the combination or search onto the manifold for all demonstrated trajectories. In other words, the same tangent space, and therefore the same exponential mapping, is used for all demonstrated trajectories. This provides an effective technique for overcoming the problem that using different tangent spaces for different trajectories leads to very diverse tangent weight vectors.
実施例5は、実施例1~4までのいずれか1つによる方法であり、ここで、軌道は、配向軌道であり、各デモンストレーションは、位置軌道をさらにデモンストレーションし、各ロボット構成は、三次元空間におけるベクトルによって記述される姿勢と、予め定められた構成空間の要素によって記述される向きとを含む。 Example 5 is the method according to any one of Examples 1 to 4, wherein the trajectories are orientation trajectories, each demonstration further demonstrates a position trajectory, and each robot configuration includes a pose described by a vector in three-dimensional space and an orientation described by elements of a predetermined configuration space.
したがって、スキルは、ロボットの姿勢のシーケンス、例えばエンドエフェクタの位置および向きをデモンストレーションすることによって学習されてもよく、ここで、向きのためのモデルは、リーマン多様体に基づくアプローチを使用して学習される。 Thus, skills may be learned by demonstrating sequences of robot poses, e.g., end-effector positions and orientations, where a model for orientation is learned using a Riemannian manifold-based approach.
実施例6は、実施例1~5までのいずれか1つによる方法であり、この方法は、より多くのロボットスキルのデモンストレーションを提供するステップと、各スキルについて、軌道の表現と重みベクトルと重みベクトルの確率分布とを決定するステップと、各スキルについて、重みベクトルの確率分布から、(時点毎に)多様体点のリーマンガウス分布を決定することによって、ロボットデバイスを制御するステップと、スキルのリーマンガウス分布の積分布を決定するステップと、(時点毎に)決定された積確率分布からサンプリングすることによってロボットデバイスを制御するステップと、を含む。 Example 6 is a method according to any one of Examples 1 to 5, the method including the steps of providing demonstrations of more robot skills; determining, for each skill, a representation of a trajectory, a weight vector, and a probability distribution of the weight vectors; controlling the robotic device by determining (for each time point) a Riemannian-Gauss distribution of the manifold points from the probability distribution of the weight vectors for each skill; determining a product distribution of the Riemannian-Gauss distributions of the skills; and controlling the robotic device by sampling (for each time point) from the determined product probability distribution.
これにより、リーマン多様体上のデモンストレーションから学んだスキルのためのスキルのブレンディングが可能になる。 This allows for skill blending for skills learned from demonstrations on Riemannian manifolds.
実施例7は、請求項1から6までのいずれか1項記載の方法を実行するように構成されているロボットデバイスコントローラである。 Example 7 is a robot device controller configured to execute the method described in any one of claims 1 to 6.
実施例8は、命令がプロセッサによって実行されるときに、該プロセッサに実施例1から6までのいずれか1つによる方法を実行させる命令を含んでいるコンピュータプログラムである。 Example 8 is a computer program comprising instructions that, when executed by a processor, cause the processor to perform a method according to any one of Examples 1 to 6.
実施例9は、命令がプロセッサによって実行されるときに、該プロセッサに実施例1から6までのいずれか1つによる方法を実行させる命令が格納されているコンピュータ可読媒体である。 Example 9 is a computer-readable medium having stored thereon instructions that, when executed by a processor, cause the processor to perform a method according to any one of Examples 1 to 6.
図面において、同様の参照符号は、一般に、異なる図面を通して同じ部品を指している。これらの図面は必ずしも縮尺通りではなく、代わりに本発明の原理を一般的に説明することに重点が置かれている。以下の明細書では、以下の図面を参照しながら様々な態様が説明される。 In the drawings, like reference numbers generally refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon generally illustrating the principles of the invention. In the following specification, various aspects are described with reference to the following drawings:
以下の詳細な説明は、本発明が実施され得る本開示の特定の詳細および態様を例示として示す添付の図面を参照している。また、本発明の保護範囲から逸脱することなく、他の態様を使用したり、構造的、論理的、および電気的な変更を行ったりしてもよい。本開示のいくつかの態様は、新たな態様を形成するために本開示の1つ以上の他の態様と組み合わせることができるので、本開示の様々な態様は、必ずしも相互に排他的であるとは限らない。 The following detailed description refers to the accompanying drawings, which show, by way of example, specific details and aspects of the present disclosure in which the present invention may be practiced. Furthermore, other aspects may be used and structural, logical, and electrical changes may be made without departing from the scope of protection of the present invention. Various aspects of the present disclosure are not necessarily mutually exclusive, as some aspects of the present disclosure can be combined with one or more other aspects of the present disclosure to form new aspects.
以下では、様々な例をより詳細に説明する。 Various examples are explained in more detail below.
図1は、ロボット100を示す。 Figure 1 shows the robot 100.
このロボット100は、作業部品(または1つ以上の他の対象物)を操作したり、組み立てたりするためのロボットアーム101、例えば産業用ロボットアームを含む。このロボットアーム101は、マニピュレータ102,103,104と、これらのマニピュレータ102,103,104が支持されている基台(または支持台)105とを含む。「マニピュレータ」という用語は、ロボットアーム101の可動部材を指し、それらの操作が、例えば作業を実行するために環境との物理的な相互作用を可能にしている。制御のために、ロボット100は、制御プログラムに従って環境との相互作用を実施するように構成された(ロボット)コントローラ106を含む。マニピュレータ102,103,104の(支持台105から最も離れた)最後の部材104は、エンドエフェクタ104とも称され、1つ以上のツール、例えば溶接トーチ、把持器具、塗装設備などを含むことができる。 The robot 100 includes a robotic arm 101, e.g., an industrial robotic arm, for manipulating or assembling work pieces (or one or more other objects). The robotic arm 101 includes manipulators 102, 103, and 104 and a base (or support) 105 on which the manipulators 102, 103, and 104 are supported. The term "manipulator" refers to the movable members of the robotic arm 101, the manipulation of which allows for physical interaction with the environment, e.g., to perform a task. For control, the robot 100 includes a (robot) controller 106 configured to implement the interaction with the environment according to a control program. The final member 104 of the manipulators 102, 103, and 104 (furthest from the support 105), also referred to as the end effector 104, may include one or more tools, e.g., a welding torch, a gripping tool, painting equipment, etc.
(支持台105の近傍にある)他のマニピュレータ102,103は、例えばエンドエフェクタ104と共に、その端部にエンドエフェクタ104を備えるロボットアーム101が設けられた位置決めデバイスを形成することができる。ロボットアーム101は、人間の腕と同様の機能を提供することができる機械的なアームである(場合によっては、その端部にツールを備える)。 The other manipulators 102, 103 (near the support base 105) can, for example, together with an end effector 104, form a positioning device having a robotic arm 101 at its end with the end effector 104. The robotic arm 101 is a mechanical arm (possibly with a tool at its end) that can provide functions similar to those of a human arm.
ロボットアーム101は、マニピュレータ102,103,104を互いに相互接続し、さらに支持台105にも相互接続する関節要素107,108,109を含むことができる。関節要素107,108,109は、1つ以上の関節を含むことができ、それらの各々は、互いに関連するマニピュレータに対して回転可能な動作(すなわち回転動作)および/または並進動作(すなわち変位)を提供することができる。マニピュレータ102,103,104の運動は、コントローラ106によって制御されるアクチュエータを用いて開始することができる。 The robotic arm 101 may include joint elements 107, 108, and 109 that interconnect the manipulators 102, 103, and 104 with each other and with the support base 105. The joint elements 107, 108, and 109 may include one or more joints, each of which may provide rotatable (i.e., rotational) and/or translational (i.e., displacement) motion for the associated manipulators. Movement of the manipulators 102, 103, and 104 may be initiated using actuators controlled by the controller 106.
「アクチュエータ」という用語は、駆動されることに応じて機構やプロセスに影響を与えるように適合された構成部品として理解されてもよい。アクチュエータは、コントローラ106によって出力された命令(いわゆる起動)を、機械的な運動として実行することができる。アクチュエータ、例えば電気機械変換器は、駆動に応じて電気エネルギを機械エネルギに変換するように構成されていてもよい。 The term "actuator" may be understood as a component adapted to affect a mechanism or process in response to being actuated. The actuator may execute commands (so-called actuations) output by the controller 106 as mechanical movements. An actuator, for example an electromechanical converter, may be configured to convert electrical energy into mechanical energy in response to being actuated.
「コントローラ」という用語は、任意のタイプの論理実装された項目として理解されてもよく、これは、例えば、記録媒体に格納されたソフトウェア、ファームウェア、またはそれらの組み合わせを実行することができ、例えば、本例のアクチュエータに命令を出力することができる回路および/またはプロセッサを含むことができる。コントローラは、例えば、システム、本例ではロボットの運用を制御するためにプログラムコード(例えばソフトウェア)によって構成されていてもよい。 The term "controller" may be understood as any type of logic-implemented item, which may include, for example, circuitry and/or a processor capable of executing software, firmware, or a combination thereof stored on a recording medium, and capable of outputting instructions to, for example, an actuator in this example. The controller may be configured, for example, by program code (e.g., software) to control the operation of a system, in this example, a robot.
本例では、コントローラ106は、1つ以上のプロセッサ110と、コードおよびデータを格納したメモリ111とを含み、これらのコードおよびデータに基づいて、プロセッサ110はロボットアーム101を制御する。様々な実施形態によれば、コントローラ106は、メモリ111に格納された機械学習モデル112に基づいて、ロボットアーム101を制御する。 In this example, the controller 106 includes one or more processors 110 and a memory 111 that stores code and data based on which the processor 110 controls the robotic arm 101. According to various embodiments, the controller 106 controls the robotic arm 101 based on a machine learning model 112 stored in the memory 111.
様々な実施形態によれば、リーマン多様体アプローチは、ProMPを使用して配向動作プリミティブを学習するために使用される。すなわち、リーマン多様体定式化を使用して「配向ProMP」として示される、古典的ProMPの拡張が提供される。 According to various embodiments, a Riemannian manifold approach is used to learn oriented motion primitives using ProMP. That is, an extension of classical ProMP is provided, denoted as "oriented ProMP" using a Riemannian manifold formulation.
オリジナルの(すなわち古典的な)確率的運動プリミティブ(ProMP)アプローチは、ユークリッド空間でのロボットのスキルを処理するため、(ロボットの向きを表す)四元数軌道の学習および再現を不可能にさせる。 The original (i.e., classical) Probabilistic Motion Primitives (ProMP) approach processes robot skills in Euclidean space, making it impossible to learn and reproduce quaternion trajectories (representing the robot's orientation).
以下に説明するProMPのリーマン定式化は、四元数データの学習および再現を可能にさせる。その上さらに、本明細書で与えられる一般的な処理のため、一般的なリーマン多様体に対する使用が可能になる。 The Riemannian formulation of ProMP described below allows for the learning and reproduction of quaternion data. Furthermore, the general treatment given here allows for its use on general Riemannian manifolds.
以下では、ユークリッド空間でのロボットスキルを処理するためのProMPの導入が示される。 Below, we present an implementation of ProMP for processing robot skills in Euclidean space.
以下では、次の表記が使用される。
一般に、単一の運動実行に対して、所定の軌道
yt=Ψtw+εy⇒P(yt│w)=N(yt│Ψtw,Σy) (1)
ここで、wは、dNφ次元の重みベクトルであり、Ψtは、各DoFに対する時間依存の基底関数φtを含むd×dNφ次元のブロック対角行列であり(1つのDoFに対する基底関数は、基本運動(例えば、所定の方向への運動、所定の軸周りの回転)とも称される)、Nφは、基底関数の数を示し、εy~N(0,Σy)は、不確かさΣyを有するゼロ平均i.i.d.ガウスノイズである。
Generally, for a single movement execution, a given trajectory
y t =Ψ t w+ε y ⇒P(y t │w)=N(y t │Ψ t w, Σ y ) (1)
where w is a dN φ -dimensional weight vector, Ψ t is a d×dN φ -dimensional block diagonal matrix containing time-dependent basis functions φ t for each DoF (a basis function for one DoF is also called a basic motion (e.g., motion in a given direction, rotation around a given axis)), N φ denotes the number of basis functions, and ε y ∼N(0,Σ y ) is zero-mean i.i.d. Gaussian noise with uncertainty Σ y .
ProMPは、各デモンストレーションが重みベクトルwの異なる値によって特徴付けられ、分布P(w;θ)=N(w│μw,Σw)となることを想定している。次いで、完全な軌道は、P(w;θ)から引き出された重みwと共に各tにおける基底関数の合成としてモデル化できる。したがって、時間tに対する状態P(yt;θ)の分布は、次式のように計算できる。
デモンストレーションから学習する場合、例示的な軌道は時間の長さが異なることが多い。ProMPは、位相変数を導入してデータを時間インスタンスから分離することでこの問題を克服する。これにより、時間変調が可能になる。この場合、デモンストレーションの範囲は、z0=0からzT=1であり、デモンストレーションされた軌道は、
一般的に言えば、ProMPの学習プロセスは、主に重み分布P(w;θ)を推定することからなる。そうするために、式(1)のようなi番目のデモンストレーションを表す重みベクトルwiが最尤推定によって推定される。これは、次式、
wi=(ΨTΨ+λI)-1ΨTYi (3)
の形態の線形リッジ回帰の解につながる。ここで
w i =(Ψ T Ψ+λI) -1 Ψ T Y i (3)
leads to a linear ridge regression solution of the form
軌道分布の積を計算することにより、異なる運動プリミティブは、単一の動作にブレンドすることができる。具体的には、最終動作への影響がブレンディング重みαt,sに従って変化するS個の異なるProMPの集合Ps(yt)=N(yt│μt,s,Σt,s)に対して、各時間ステップtにおけるブレンドされた軌道は、次の分布
タスクパラメータは、例えば、タスクを達成するためにロボット動作を目標対象物に適合させることができる。そのような情報は、デモンストレーション中に得られることが多く、ProMPの定式化に統合させることができる。形式的には、ProMPは、外部状態
上述したように、四元数は、ロボット制御に適した特性を備えている。ただし、(ロボット制御に使用される)四元数は、単位ノルム制約を満たすため、ベクトル空間を形成せず、したがって、(単位ノルムを伴う)四元値を有する変数を処理し、分析するための従来のユークリッド空間法の使用は不十分である。 As mentioned above, quaternions have properties that make them suitable for robotic control. However, because quaternions (as used in robotic control) satisfy unit norm constraints, they do not form vector spaces, and therefore the use of traditional Euclidean space methods for processing and analyzing quaternion-valued variables (with unit norm) is insufficient.
様々な実施形態によれば、リーマン幾何学は、四元数空間上でProMPを定式化するために活用される。 According to various embodiments, Riemannian geometry is leveraged to formulate ProMP on quaternion space.
リーマン多様体Mは、各点が局所的にユークリッド空間
図2は、それらの点が例えばロボットエンドエフェクタの可能な向きをそれぞれ表すことができる球面多様体S2の図を示す。 FIG. 2 shows a diagram of a spherical manifold S2 whose points can represent each possible orientation of, for example, a robot end effector.
2つの点xおよびyは、ロボットエンドエフェクタ104の2つの異なる方向を表すためにコントローラ106によって使用されてもよい球面上に示されている。 Two points x and y are shown on a sphere that may be used by the controller 106 to represent two different orientations of the robot end effector 104.
周囲空間における2点間の最短距離は直線201となるが、多様体上の最短経路は測地線202である。 The shortest distance between two points in ambient space is a straight line 201, but the shortest path on the manifold is a geodesic line 202.
ユークリッド接空間を利用するために、接空間
指数写像
多様体に関する別の有用な操作として、接空間内の2つの要素間の内積が一定に保たれるように、接空間の間で要素を移動させる平行移動
例えば、図2では、
以下では、確率変数p∈Mのリーマンガウス分布が、次式
として導入される。このリーマンガウスは、リーマン多様体のための近似的な最大エントロピー分布に対応する。
In the following, the Riemannian distribution of a random variable p∈M is expressed as follows:
This Riemann-Guassian corresponds to an approximate maximum entropy distribution for a Riemannian manifold.
以下は、球面多様体Smについてのリーマン距離、指数写像、対数写像、および平行移動操作のための式である。
様々な実施形態によれば、線形回帰をリーマン多様体設定に一般化する測地線回帰が使用される(例えばコントローラ106)。この測地線回帰モデルは、以下のように定義される。
ここで、点{y1,…,yT}∈Mおよび
しかしながら、式(9)は、式(3)のような解析的な解を与えられない。解は最急降下法によって得ることができるが、これには、リーマン距離関数の導関数と指数写像の導関数とを計算する必要がある。後者は、初期点pおよび初期速度uに関する導関数に分けられる。これらの勾配は、ヤコビ場(すなわち、リーマン曲率テンソルのもとで特定の初期条件に従う2次方程式の解)の観点から計算することができる。 However, equation (9) cannot be analytically solved like equation (3). A solution can be obtained by steepest descent, which requires computing the derivatives of the Riemann distance function and the exponential map. The latter can be separated into derivatives with respect to the initial point p and the initial velocity u. These gradients can be computed in terms of the Jacobi field (i.e., the solution of a quadratic equation under the Riemann curvature tensor subject to specific initial conditions).
上記の測地線モデルは、スカラー独立変数
MLGMは、xの次元毎に1つずつ、複数の接ベクトルuj∈TpMによって形成される測地線基底U=[u1…un]を使用する。次いで、問題の式(9)は、
以下では、デモンストレーションデータが四元数軌道に対応する場合、すなわちM≡S3の場合に、どのようにMLGMが使用され得るかについて説明する。 Below we explain how MLGM can be used when the demonstration data corresponds to quaternion orbitals, i.e., when M≡S3 .
人間のデモンストレーションが(運動感覚教授または遠隔操作を介して)直交運動パターンによって特徴付けられる場合、ロボットエンドエフェクタの並進運動と回転運動の両方を包含する学習モデル112を有することが必要である。これは、所定のデモンストレーション軌道
最初に
この等価性は、ProMPの古典的な定式化と我々の提案する配向軌道のためのアプローチとの間の類似性を確立するときに有用であることが判明した。式(1)と同様に、τの点yt∈Mは、次のように測地線基底関数モデルとして表現することができる。
P(yt│w)=NM(yt│Expp(Ψtw),Σy) (12)
ここで、pは、M上の固定基点であり、
P(y t │w)=N M (y t │Exp p (Ψ t w), Σ y ) (12)
where p is a fixed base point on M,
すべてのデモンストレーションは、異なる重みベクトルwによって特徴付けられるため、ここでも分布P(w;θ)=N(w│μw,Σw)が取得できる。したがって、ytの周辺分布は次のように計算することができる。
P(y;θ)=∫NM(y│Expp(Ψw),Σy)N(w│μw,Σw)dw (13)
ここで、周辺分布は、異なる多様体上にある2つの確率分布に依存する(簡略化のために、ここおよび以下では時間インデックスを省略する)。しかしながら、平均μyは、単一の固定点p∈Mおよびμw∈TpMに依存する。これらの2つの観測値は、以下のように接空間TpM上の境界(13)を解くために活用される。
P (y; θ) = ∫N M (y│Exp ( Ψw), Σ y ) N (w│μ w , Σ w ) dw (13)
where the marginal distributions depend on two probability distributions on different manifolds (for simplicity, we omit the time index here and below). However, the mean μ y depends on a single fixed point p∈M and μ w ∈T p M. These two observations are exploited to solve the bound (13) on the tangent space T p M as follows:
上述のように、ProMPの学習プロセスは、重み分布P(w;θ)を推定することに集約される。そうするために、各デモンストレーションiについて、コントローラ106は、MGLMを使用して、重みベクトル
図3は、配向ProMPの重みの学習に使用した球面多様体S2上の多変量一般線形回帰を示している。軌道yが与えられれば、接空間TpMの原点pと、接重みベクトルwnとが式(15)を介して推定される。 Figure 3 shows the multivariate general linear regression on the spherical manifold S2 used to train the weights of the orientation ProMP. Given the trajectory y, the origin p of the tangent space TpM and the tangent weight vector wn are estimated via equation (15).
式(15)を解くために、pおよび各wnに関するE(p,wn)の勾配が計算される。上記で説明したように、これらの勾配は、いわゆる随伴演算子に依存し、大まかに言えば、各誤差項
次いで、誤差関数E(p,wn)の近似勾配は次のように対応する。
N個のデモンストレーションの集合が提供された(例えば、ロボットアーム101を手で動かすことによってユーザから提供された)後にコントローラ106が実行することができる、配向ProMPによるロボット制御モデル112の学習アルゴリズムの一例は、以下のとおりである。
古典的なProMPと同様に、コントローラ106は、関連する共分散
結果としての新たな重み分布からは、新たな周辺分布P(y;θ*)がここでは式(14)を介して得られる可能性もある。 From the resulting new weight distribution, new marginal distributions P(y;θ * ) may also be obtained, here via equation (14).
ブレンディングに関して、古典的なProMPは、ガウス分布の積を使用することによって、運動プリミティブの集合をブレンドする。Mにおいてプリミティブをブレンドする場合、各軌道分布は、異なる接空間TpM上にある重みベクトルの集合によってパラメータ化されることを考慮する必要がある。したがって、ガウス分布の加重積を再定式化する必要がある。そうするために、様々な実施形態によれば、リーマン多様体上のガウス積の定式化が使用され、ここで、積の対数尤度は、勾配ベースのアプローチを使用して繰り返し最大化される。 Regarding blending, classical ProMP blends a set of motion primitives by using a product of Gaussian distributions. When blending primitives in M, it is necessary to consider that each trajectory distribution is parameterized by a set of weight vectors on a different tangent space TpM. Therefore, the weighted product of Gaussian distributions needs to be reformulated. To do so, according to various embodiments, a formulation of a Gaussian product on a Riemannian manifold is used, where the log-likelihood of the product is iteratively maximized using a gradient-based approach.
形式的には、リーマンガウス分布の積の対数尤度は、以下のように与えられる(定数項は除外する)。
上記で説明したように、古典的なProMPでは、重み分布P(w;θ)=N(w│μw,Σw)を外部タスクパラメータ
タスクパラメータ
配向ProMPにおけるモデル学習、軌道再生、通過点適合、およびスキルブレンディング作業のやり方をより良好に説明するために、手書き文字のデータセットが使用された。元の軌道は、
図4は、文字GおよびSに対してトレーニングされたモデルに対応する、デモンストレーションデータ、式(13)を介して計算された周辺分布P(y;θ)、ならびに式(18)および(19)から得られた通過点適合を示している。周辺分布の平均は、デモンストレーションパターンに従い、対応する共分散プロファイルは、S2におけるデモンストレーションの変動性を捕捉する。文字GおよびSの軌道は、現実的なロボット設定において観察されるものよりもさらに複雑となる可能性のある非常に精巧な「動作」パターンを示しており、その複雑さには注目の価値がある。通過点適合に関しては、共分散
図4に示すように、配向ProMPは、所与の通過点を正確に通過しながら、軌道と関連する共分散プロファイルとの両方をスムーズに適合させることができる。 As shown in Figure 4, Orientation ProMP can smoothly fit both the trajectory and the associated covariance profile while accurately passing through a given waypoint.
図5は、{G,I}および{S,J}に対する配向ProMPのブレンディングプロセスを示す。 Figure 5 shows the blending process of oriented ProMP for {G,I} and {S,J}.
目標は、集合の中の第1の文字のプロファイルを追従することによって始まり、次いで、第2の文字の軌道分布が途中で滑らかに切り替わる軌道を生成することであった。図5には、前述の2つのケースに対する結果としてのブレンドされた軌道が示されており、ここで、配向ProMPは、所与の2つの軌道分布を上述したように導入された配向ProMPのためのブレンディング手順を追従することによって滑らかにブレンドしている。ブレンディング挙動は、各スキルsに関連付けられた重みαs∈[0,1]の一時的な発生に強く依存することに留意されたい。この一連の実験では、
実験によれば、これは、例えば、以前に掴んだ物体を持ち上げ、エンドエフェクタ104を回転させ、当該物体をその元の場所に戻すが、向きは変えて配置することに相当するような再配向スキルのためのロボット設定においても同様に成り立つことを示している。このロボットスキルは、大きな位置および向きの変更を特徴とし、したがって、配向ProMPの機能性を披露するのに適している。 Experiments have shown that this holds true equally well in a robotic setup for a reorientation skill, which corresponds to, for example, picking up a previously grasped object, rotating the end effector 104, and placing the object back in its original location, but with a different orientation. This robotic skill features large changes in position and orientation, and is therefore well suited to showcasing the functionality of OrientationProMP.
再配向スキルのようなロボットスキルをトレーニングするために、各デモンストレーションは、例えば、フルポーズのロボットエンドエフェクタの軌道
要約すると、様々な実施形態に従って、本方法は、図6に示されるように提供される。 In summary, according to various embodiments, the method is provided as shown in Figure 6.
図6は、ロボットデバイスを制御するための方法を示すフローチャート600を示す。 Figure 6 shows a flowchart 600 illustrating a method for controlling a robotic device.
ステップ601では、デモンストレーションがロボットスキルのために提供され、ここで、各デモンストレーションは、ロボット構成のシーケンスを含む軌道をデモンストレーションし、ここで、各ロボット構成は、リーマン多様体の構造を有する予め定められた構成空間の要素によって記述される。 In step 601, demonstrations are provided for a robot skill, where each demonstration demonstrates a trajectory including a sequence of robot configurations, where each robot configuration is described by an element of a predetermined configuration space having the structure of a Riemannian manifold.
ステップ602では、各デモンストレーションされた軌道について、ロボットデバイスの予め定められた基本運動の重みベクトルとしての軌道の表現が、重みベクトルに従った基本運動の組み合わせと、デモンストレーションされた軌道との間の距離測定値を最小化する重みベクトルを検索することによって決定され、ここで、組み合わせは、多様体に写像される。 In step 602, for each demonstrated trajectory, a representation of the trajectory as a weight vector of predetermined primitive motions of the robotic device is determined by searching for a weight vector that minimizes a distance measure between the combination of primitive motions according to the weight vector and the demonstrated trajectory, where the combination is mapped to a manifold.
ステップ603では、重みベクトルの確率分布が、デモンストレーションされた軌道について決定された重みベクトルに確率分布を適合させることによって決定される。 In step 603, a probability distribution for the weight vector is determined by fitting a probability distribution to the weight vector determined for the demonstrated trajectory.
ステップ604では、ロボットデバイスが、重みベクトルの決定された確率分布に従って基本運動を実行することによって制御される。 In step 604, the robotic device is controlled by performing primitive movements according to the determined probability distribution of the weight vector.
これは、(式(1)に従って)重みベクトルの確率分布からサンプリングし、サンプルベクトルに従って基本運動を実行することを含むことができる。また、(式(14)に従って)軌道の確率分布を導出することも可能であり、そのうちの1つを制御のためにサンプリングすることができ、それらは上記説明のような軌道の混合などの高度な制御に使用されてもよい。 This can involve sampling from a probability distribution of weight vectors (according to equation (1)) and performing primitive movements according to the sampled vector. It is also possible to derive probability distributions of trajectories (according to equation (14)), one of which can be sampled for control, which may be used for more advanced control such as blending trajectories as described above.
図6の方法は、1つ以上のデータ処理ユニットを含む1つ以上のコンピュータによって実行されてもよい。用語「データ処理ユニット」は、データまたは信号の処理を可能にする任意のタイプの項目として理解することができる。例えば、データまたは信号は、データ処理ユニットによって実行される少なくとも1つの(すなわち1つ以上の)特定の機能に従って処理されてもよい。データ処理ユニットは、アナログ回路、デジタル回路、コンポジット信号回路、ロジック回路、マイクロプロセッサ、マイクロコントローラ、中央処理装置(CPU)、グラフィックス処理ユニット(GPU)、デジタル信号プロセッサ(DSP)、プログラマブルゲートアレイ(FPGA)集積回路、またはそれらの任意の組み合わせを含むことができ、あるいはそれらから形成されてもよい。それぞれの機能を実装する任意の他の手法は、データ処理ユニットまたは論理回路として理解されてもよい。本明細書に詳細に記載される方法ステップのうちの1つ以上は、データ処理ユニットによって実行される1つ以上の特定の機能を通して、データ処理ユニットによって実行(例えば、実装)されてもよいことが理解されるであろう。 The method of FIG. 6 may be performed by one or more computers including one or more data processing units. The term "data processing unit" may be understood as any type of item that enables processing of data or signals. For example, data or signals may be processed according to at least one (i.e., one or more) specific functions performed by the data processing unit. The data processing unit may include or be formed from an analog circuit, a digital circuit, a composite signal circuit, a logic circuit, a microprocessor, a microcontroller, a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processor (DSP), a programmable gate array (FPGA) integrated circuit, or any combination thereof. Any other manner of implementing the respective functions may be understood as a data processing unit or logic circuit. It will be understood that one or more of the method steps detailed herein may be performed (e.g., implemented) by a data processing unit through one or more specific functions performed by the data processing unit.
様々な実施形態は、例えば、デモンストレーションのデータを取得するために、ビデオ、レーダ、LiDAR、超音波、サーマルイメージング、ソナーなどのような、様々な視覚センサ(カメラ)から画像データを受信し、使用することができる。 Various embodiments may receive and use image data from various visual sensors (cameras), such as video, radar, LiDAR, ultrasound, thermal imaging, sonar, etc., to acquire data for demonstration purposes.
図6のアプローチは、例えば、ロボット、車両、家電製品、電動工具、製造機械、パーソナルアシスタント、またはアクセス制御システムなどのコンピュータ制御された機械のような物理システムを制御するための制御信号を計算するために使用することができる。様々な実施形態によれば、物理システムを制御するためのポリシーが学習され、次いで、この物理システムがそれに応じて操作されてもよい。 The approach of FIG. 6 can be used to compute control signals for controlling a physical system, such as a computer-controlled machine, such as a robot, a vehicle, an appliance, a power tool, a manufacturing machine, a personal assistant, or an access control system. According to various embodiments, a policy for controlling the physical system may be learned, and the physical system may then be operated accordingly.
一実施形態によれば、この方法はコンピュータに実装される。 According to one embodiment, this method is computer-implemented.
本明細書では、特定の実施形態が示され説明されてきたが、当業者であるならば、図示され説明されてきたこれらの特定の実施形態を、本発明の保護範囲から逸脱することなく様々な代替的および/または等価的な実装形態に入れ替えてもよいことは明らかであろう。本出願では、本明細書で論じられる特定の実施形態の何らかの適合化または変化形態をカバーすることが意図されている。それゆえ、本発明は、本出願の特許請求の範囲および等価物によってのみ限定されることが意図される。 While specific embodiments have been shown and described herein, it will be apparent to those skilled in the art that the specific embodiments shown and described may be substituted with various alternative and/or equivalent implementations without departing from the scope of protection of the present invention. This application is intended to cover any adaptations or variations of the specific embodiments discussed herein. Therefore, it is intended that the present invention be limited only by the claims of this application and their equivalents.
Claims (9)
ロボットスキルのためのデモンストレーションを提供するステップであって、各デモンストレーションは、ロボット構成のシーケンスを含む軌道をデモンストレーションし、各ロボット構成は、リーマン多様体の構造を有する予め定められた構成空間の要素によって記述されるステップと、
各デモンストレーションされた軌道について、重みベクトルに従った基本運動の組み合わせと、デモンストレーションされた軌道との間の距離測定値を最小化する重みベクトルを検索することによって、前記ロボットデバイスの予め定められた基本運動の重みベクトルとしての軌道の表現を決定するステップであって、前記組み合わせは、前記多様体に写像されるステップと、
前記デモンストレーションされた軌道について決定された重みベクトルに確率分布を適合させることによって重みベクトルの確率分布を決定するステップと、
前記重みベクトルの決定された確率分布に従って基本運動を実行することによって前記ロボットデバイスを制御するステップと、を含む、方法。 1. A method for controlling a robotic device, the method comprising:
providing demonstrations for a robotic skill, each demonstration demonstrating a trajectory including a sequence of robot configurations, each robot configuration being described by an element of a predetermined configuration space having the structure of a Riemannian manifold;
determining, for each demonstrated trajectory, a representation of the trajectory as a weight vector of predetermined primitive movements of the robotic device by searching for a weight vector that minimizes a distance measure between the demonstrated trajectory and a combination of primitive movements according to the weight vector, the combination being mapped onto the manifold;
determining a probability distribution for a weight vector by fitting a probability distribution to the weight vector determined for the demonstrated trajectory;
and controlling the robotic device by executing primitive movements according to the determined probability distribution of the weight vector.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE102021204961.3 | 2021-05-17 | ||
| DE102021204961.3A DE102021204961B4 (en) | 2021-05-17 | 2021-05-17 | Method of controlling a robotic device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2022176917A JP2022176917A (en) | 2022-11-30 |
| JP7808295B2 true JP7808295B2 (en) | 2026-01-29 |
Family
ID=83806295
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2022080087A Active JP7808295B2 (en) | 2021-05-17 | 2022-05-16 | Method for controlling a robotic device |
Country Status (4)
| Country | Link |
|---|---|
| JP (1) | JP7808295B2 (en) |
| KR (1) | KR20220155921A (en) |
| CN (1) | CN115351780A (en) |
| DE (1) | DE102021204961B4 (en) |
Families Citing this family (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE102022206381B4 (en) * | 2022-06-24 | 2024-12-19 | Robert Bosch Gesellschaft mit beschränkter Haftung | Method for controlling a robot device |
| DE102022212638B3 (en) | 2022-11-25 | 2024-03-14 | Robert Bosch Gesellschaft mit beschränkter Haftung | Device and method for controlling a robot |
| DE102023200231B4 (en) * | 2023-01-12 | 2025-05-22 | Robert Bosch Gesellschaft mit beschränkter Haftung | Method for evaluating a control of a robot device |
| CN115946130B (en) * | 2023-03-13 | 2023-05-23 | 中国人民解放军国防科技大学 | A Human-Machine Collaboration Method Based on Riemannian Manifold |
| US20240416933A1 (en) * | 2023-06-16 | 2024-12-19 | GM Global Technology Operations LLC | System and method for soft understandings of automated decisions |
| CN116922391B (en) * | 2023-08-24 | 2024-08-20 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | Autonomous learning and optimizing method for spatial mechanical arm skills |
| US20250073902A1 (en) | 2023-08-31 | 2025-03-06 | Emage Vision PTE, Ltd. | Trajectory path planning and management of robot arm movements |
| DE102023208674A1 (en) * | 2023-09-07 | 2025-03-13 | Robert Bosch Gesellschaft mit beschränkter Haftung | Device and method for controlling a robot |
| CN116985144A (en) * | 2023-09-26 | 2023-11-03 | 珞石(北京)科技有限公司 | A robot terminal attitude planning method with C2 continuity |
| WO2025149509A1 (en) * | 2024-01-09 | 2025-07-17 | Sony Group Corporation | Apparatus and method for determining a motion trajectory for a kinematic structure of a robot |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009066692A (en) | 2007-09-12 | 2009-04-02 | Advanced Telecommunication Research Institute International | Orbit search device |
| US20210122037A1 (en) | 2019-10-25 | 2021-04-29 | Robert Bosch Gmbh | Method for controlling a robot and robot controller |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9403273B2 (en) | 2014-05-23 | 2016-08-02 | GM Global Technology Operations LLC | Rapid robotic imitation learning of force-torque tasks |
| WO2017129200A1 (en) | 2016-01-28 | 2017-08-03 | MAX-PLANCK-Gesellschaft zur Förderung der Wissenschaften e.V. | A system for real-world continuous motion optimization and control |
| US11400587B2 (en) | 2016-09-15 | 2022-08-02 | Google Llc | Deep reinforcement learning for robotic manipulation |
| EP3753684B1 (en) | 2019-06-21 | 2022-08-10 | Robert Bosch GmbH | Method and system for robot manipulation planning |
| DE102019209616A1 (en) | 2019-07-01 | 2021-01-07 | Kuka Deutschland Gmbh | Carrying out a given task with the aid of at least one robot |
| DE102019216229B4 (en) | 2019-10-07 | 2022-11-10 | Robert Bosch Gmbh | Apparatus and method for controlling a robotic device |
| DE102019216560B4 (en) | 2019-10-28 | 2022-01-13 | Robert Bosch Gmbh | Method and device for training manipulation skills of a robot system |
| EP3838503B1 (en) | 2019-12-16 | 2024-05-01 | Robert Bosch GmbH | Method for controlling a robot and robot controller |
| DE102020207085A1 (en) | 2020-06-05 | 2021-12-09 | Robert Bosch Gesellschaft mit beschränkter Haftung | METHOD OF CONTROLLING A ROBOT AND ROBOT CONTROL UNIT |
-
2021
- 2021-05-17 DE DE102021204961.3A patent/DE102021204961B4/en active Active
-
2022
- 2022-05-16 CN CN202210527848.4A patent/CN115351780A/en active Pending
- 2022-05-16 JP JP2022080087A patent/JP7808295B2/en active Active
- 2022-05-17 KR KR1020220059921A patent/KR20220155921A/en active Pending
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009066692A (en) | 2007-09-12 | 2009-04-02 | Advanced Telecommunication Research Institute International | Orbit search device |
| US20210122037A1 (en) | 2019-10-25 | 2021-04-29 | Robert Bosch Gmbh | Method for controlling a robot and robot controller |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20220155921A (en) | 2022-11-24 |
| JP2022176917A (en) | 2022-11-30 |
| DE102021204961B4 (en) | 2023-06-07 |
| DE102021204961A1 (en) | 2022-11-17 |
| CN115351780A (en) | 2022-11-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7808295B2 (en) | Method for controlling a robotic device | |
| Yu et al. | Global model learning for large deformation control of elastic deformable linear objects: An efficient and adaptive approach | |
| Hu et al. | 3-D deformable object manipulation using deep neural networks | |
| Seo et al. | Deep imitation learning for humanoid loco-manipulation through human teleoperation | |
| Li et al. | Reinforcement learning of manipulation and grasping using dynamical movement primitives for a humanoidlike mobile manipulator | |
| Ekvall et al. | Learning and evaluation of the approach vector for automatic grasp generation and planning | |
| Kalakrishnan et al. | Learning objective functions for manipulation | |
| Kumar et al. | Learning dexterous manipulation policies from experience and imitation | |
| CN112771540A (en) | Task embedding for device control | |
| Field et al. | Learning trajectories for robot programing by demonstration using a coordinated mixture of factor analyzers | |
| US20220105625A1 (en) | Device and method for controlling a robotic device | |
| Schiavi et al. | Learning agent-aware affordances for closed-loop interaction with articulated objects | |
| JP2025530009A (en) | Systems and methods for learning sequences in robotic tasks for generalization to new tasks | |
| Chen et al. | A probabilistic framework for uncertainty-aware high-accuracy precision grasping of unknown objects | |
| Paraschos et al. | Model-free probabilistic movement primitives for physical interaction | |
| Colomé et al. | Reinforcement learning of bimanual robot skills | |
| Lu et al. | A dynamic movement primitives-based tool use skill learning and transfer framework for robot manipulation | |
| Schperberg et al. | Real-to-sim: Predicting residual errors of robotic systems with sparse data using a learning-based unscented kalman filter | |
| JP7205752B2 (en) | ROBOT CONTROL DEVICE, ROBOT CONTROL METHOD, AND ROBOT CONTROL PROGRAM | |
| Palm et al. | Recognition of human grasps by time-clustering and fuzzy modeling | |
| Koropouli et al. | Generalization of Force Control Policies from Demonstrations for Constrained Robotic Motion Tasks: A Regression-Based Approach | |
| Koskinopoulou et al. | A methodological framework for robotic reproduction of observed human actions: Formulation using latent space representation | |
| Wang et al. | Real-time Dexterous Telemanipulation with an End-Effect-Oriented Learning-based Approach | |
| Lin | Embedding Intelligence into Robotic Systems-Programming, Learning, and Planning | |
| Winkelbauer et al. | A Learning-based Controller for Multi-Contact Grasps on Unknown Objects with a Dexterous Hand |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220617 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20250227 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20250716 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20250729 |
|
| 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: 20251218 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20260108 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7808295 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |