CN115351780A - Method for controlling a robotic device - Google Patents

Method for controlling a robotic device Download PDF

Info

Publication number
CN115351780A
CN115351780A CN202210527848.4A CN202210527848A CN115351780A CN 115351780 A CN115351780 A CN 115351780A CN 202210527848 A CN202210527848 A CN 202210527848A CN 115351780 A CN115351780 A CN 115351780A
Authority
CN
China
Prior art keywords
trajectory
manifold
robot
combination
demonstration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210527848.4A
Other languages
Chinese (zh)
Inventor
L·洛佐
V·达夫
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of CN115351780A publication Critical patent/CN115351780A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording 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/423Teaching 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36401Record play back, teach position and record it then play back
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39001Robot, manipulator control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39298Trajectory learning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40519Motion, 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)

Abstract

Method for controlling a robotic device. According to various embodiments, a method for controlling a robotic device is described, comprising providing demonstrations of robot skills, wherein each demonstration demonstrates a trajectory comprising a sequence of robot configurations, each robot configuration being described by an element of a predetermined configuration space having a riemann manifold structure, determining a representation of each trajectory as a weight vector of predetermined basic movements of the robotic device by searching for a weight vector minimizing a distance metric between a combination of the basic movements according to the weight vector and the demonstration trajectory, wherein the combination is mapped to the manifold, determining a probability distribution of the weight vectors by fitting the probability distribution to the weight vectors determined for the demonstration trajectories, and controlling the robotic device by performing the basic movements according to the determined probability distribution of the weight vectors.

Description

Method for controlling a robotic device
Prior Art
The present disclosure relates to a method for controlling a robotic device.
In many applications, it is desirable that a robot can execute autonomously in a potentially dynamic and unstructured environment. For this reason, they need to learn how to move into and interact with their surroundings. To do so, the robot may rely on a skill base that may be used to perform simple movements or to perform complex tasks as a combination of several skills. The way to learn motor skills is via a human example, which is called learning from a presentation (LfD). This requires a (usually human) expert to show one or several specific movements to be simulated by the robot.
A. The publication "Using probabilistic dynamics primitives in robotics" by Paraschos et al in Autonomous Robots (42-551, 2018) describes a probabilistic movement primitive (ProMP), a probabilistic framework for learning and synthesizing robot motor skills. ProMP represents the trajectory distribution based on a compact basis function representation. Its probabilistic formulation enables the development of variance information in motion modulation, parallel motion activation, and control.
While ProMP has been used to learn cartesian movements, its formulation does not permit directional movements to be handled in the form of quaternion trajectories. Quaternions, however, have advantageous characteristics for robotic control, such as they provide nearly minimal representation and strong stability in closed-loop directional control. Accordingly, a method that allows robot control learning from a presentation that includes quaternion trajectories is desirable.
Disclosure of Invention
According to various embodiments, a method for controlling a robotic device is provided, comprising providing demonstrations of robot skills, wherein each demonstration demonstrates a trajectory comprising a sequence of robot configurations, wherein each robot configuration is described by an element of a predetermined configuration space having a riemann manifold structure. The method further comprises for each demonstration trajectory, determining a representation of the trajectory as a weight vector of a predetermined basic movement of the robotic device by: a weight vector is searched for that minimizes a distance metric between a combination of the base movements according to the weight vector and the presentation trajectory, wherein the combination is mapped to the manifold. The method further comprises determining a probability distribution of weight vectors by fitting the probability distribution to the weight vectors determined for the demonstration trajectory, and controlling the robotic device by performing the basic movements according to the determined probability distribution of weight vectors.
According to various embodiments, the above-described method provides robot control using the riemann manifold method to encode, reproduce and adapt probabilistic moving primitives (using multivariate geodesic regression, as described in detail below). In particular, according to various embodiments, the space of quaternion trajectories is considered to be a riemann manifold. This method allows robots to learn and reproduce skills, while being less prone to encode inaccurate data or reproduce distorted trajectories, compared to methods that do not know the geometry, such as classical ProMP. The model is also more interpretable because it does not rely on a coarse approximation. Furthermore, the method provides additional adaptation capabilities, such as modulation of the trajectory profile and mixing of moving primitives.
According to various embodiments, the demonstration track is represented as a weight vector by geodesic regression. This means that geodesic lines can be seen as fitting to each demonstration track.
Various examples are given below.
Example 1 is a method for controlling a robotic device as described above.
Example 2 is the method of example 1, wherein the probability distribution of the weight vectors is determined by fitting a gaussian distribution to the weight vectors determined for the demonstration trajectory.
Training and rendering using gaussian distributions provides reliable control for control scenarios that were not seen in the presentation.
Example 3 is the method of example 1 or 2, wherein each demonstration trajectory comprises a robot configuration for each time of the predetermined sequence of time points, and wherein each combination of basic movements according to the weight vector specifies a robot configuration for each time of the predetermined sequence of time points, and wherein the weight vector is determined for each demonstration trajectory by: determining from a set of possible weight vectors a weight vector of a combination of basic movements according to the weight vector and a presentation trajectory, wherein the combination is mapped to a manifold, being smallest in the set of possible weight vectors, wherein a distance between the combination of basic movements mapped to the manifold and the presentation trajectory is given by summing terms over time points of a sequence of time points, the terms comprising for each time point a term comprising a value or a power of a measure of the manifold between an element of the manifold given by the combination of basic movements at the time point when mapped to the manifold and the presentation trajectory.
This provides an efficient way to represent the presentation trajectory with weight vectors by fitting the weight vectors to the presentation trajectory. The combination 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.
Example 4 is the method of any one of examples 1 to 3, comprising, for one of the presentation trajectories, searching for a point of the manifold and the weight vector such that the point and the weight vector minimize a distance metric between a combination of the basic movements according to the weight vector and the presentation trajectory, wherein the combination maps from a tangent space at the point to the manifold, and wherein, for each presentation trajectory, the mapping of the respective combination to the manifold is performed by mapping the combination from the tangent space at the selected point.
In other words, by performing optimization on the weights and points, a tangent space is determined for one demonstration track (i.e., the point of the manifold where the tangent space is taken). This tangential space is then used to map the combinations (or any combinations necessary during the search) to the manifold for all presentation trajectories. In other words, the same tangent space, and thus the same exponential mapping, is used for all presentation trajectories. This provides an efficient way to overcome the problem of using different cut spaces for different trajectories, which may lead to very diverse cut weight vectors.
Example 5 is the method of any one of examples 1 to 4, wherein the trajectory is an orientation trajectory, and each demonstration further demonstrates a location trajectory, and each robot configuration comprises a pose described by a vector in three-dimensional space and an orientation described by an element of a predetermined configuration space.
Thus, the skills may be learned by demonstrating a sequence of robot poses, such as end effector position and orientation, where the model for orientation is learned using a Riemannian manifold-based approach.
Example 6 is the method of any one of examples 1 to 5, comprising: providing a demonstration of more than robot skills, and determining for each skill a representation of the trajectory and the weight vector and a probability distribution of the weight vector, and controlling the robot device by determining for each skill a riemann gaussian distribution of the manifold points (at each time point) from the probability distribution of the weight vector, determining a product distribution of the riemann gaussian distribution of the skills, and controlling the robot device by sampling from the determined product probability distribution (at each time point).
This allows for mixing of skills in the skills learned from the demonstration on the Riemannian manifold.
Example 7 is a robotic device controller configured to carry out the method of any of claims 1 to 6.
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.
Example 9 is a computer-readable medium storing instructions that, when executed by a processor, cause the processor to perform a method according to any one of examples 1 to 6.
Drawings
In the drawings, like reference characters generally refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead generally being placed upon illustrating the principles of the invention. In the following description, various aspects are described with reference to the following drawings, in which:
fig. 1 shows a robot.
FIG. 2 shows a spherical manifold
Figure 877682DEST_PATH_IMAGE001
The points of which may each represent a possible orientation of the robotic end effector, for example.
FIG. 3 illustrates a spherical manifold in accordance with an embodiment
Figure 325981DEST_PATH_IMAGE001
Multiple above generally linear regression.
Fig. 4 shows an example of applying the embodiment to letters on a sphere for illustration purposes.
FIG. 5 illustrates, for purposes of illustration, a mixing process for letters on a sphere, according to an embodiment.
Fig. 6 shows a flow chart illustrating a method for controlling a robotic device.
Detailed Description
The following detailed description refers to the accompanying drawings that show, by way of illustration, specific details and aspects of the disclosure in which the invention may be practiced. Other aspects may be utilized and structural, logical, and electrical changes may be made without departing from the scope of the present invention. Various aspects of the present disclosure are not necessarily mutually exclusive, as some aspects of the present disclosure may be combined with one or more other aspects of the present disclosure to form new aspects.
Hereinafter, various examples will be described in more detail.
Fig. 1 shows a robot 100.
The robot 100 includes a robot arm 101, such as an industrial robot arm for handling or assembling a workpiece (or one or more other objects). The robot arm 101 includes manipulators 102, 103, 104 and a base (or support) 105 supporting the manipulators 102, 103, 104. The term "manipulator" refers to a movable member of the robotic arm 101 whose actuation enables physical interaction with the environment, such as performing a task. For control, the robot 100 comprises a (robot) controller 106, the (robot) controller 106 being configured to enable interaction with the environment according to a control program. The last member 104 (furthest from the support 105) of the manipulators 102, 103, 104 is also referred to as an end effector 104 and may include one or more tools, such as a welding torch, a grasping instrument, a spraying device, and the like.
The other manipulators 102, 103 (closer to the support 105) may form a positioning device such that together with the end effector 104, a robotic arm 101 is provided having the end effector 104 at its end. The robotic arm 101 is a robotic arm (possibly with a tool at its end) that may provide similar functionality as a human arm.
The robotic arm 101 may comprise joint elements 107, 108, 109 interconnecting the manipulators 102, 103, 104 to each other and to the support 105. The joint elements 107, 108, 109 may have one or more joints, each of which may provide rotational motion (i.e., rotational motion) and/or translational motion (i.e., displacement) to the associated manipulator relative to one another. The movement of the manipulators 102, 103, 104 may be initiated by means of actuators controlled by the controller 106.
The term "actuator" may be understood as a component adapted to affect a mechanism or process in response to being driven. The actuator may implement the command issued by the controller 106 (so-called activation) as a mechanical movement. An actuator, such as an electromechanical converter, may be configured to convert electrical energy into mechanical energy in response to a drive.
The term "controller" may be understood as any type of logic-implemented entity, which may include, for example, circuitry and/or a processor capable of executing software stored in a storage medium, firmware, or a combination thereof, and which may, for example, issue instructions to actuators in this example. The controller may be configured, for example by program code (e.g., software), to control the operation of the system, which in this example is a robot.
In this example, the controller 106 includes one or more processors 110 and a memory 111 storing 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 the machine learning model 112 stored in the memory 111.
According to various embodiments, the riemann manifold method is used for learning directional motion primitives using ProMP, i.e. an extension of classical ProMP using the riemann manifold formula is provided, which is denoted "directional ProMP".
The original (i.e. classical) probabilistic mobile primitive (ProMP) method deals with robot skills in euclidean space, making learning and reproduction of quaternion trajectories (representing robot orientations) infeasible.
The Riemann's formula for ProMP described below enables the learning and reproduction of quaternion data. Furthermore, it allows the use of a generic Riemann manifold, due to the general processing given herein.
In the following, an introduction of ProMP for handling robot skills in euclidean space is given.
The following notations are used hereinafter:
Figure 636876DEST_PATH_IMAGE002
typically, for a single move execution, a certain trajectory
Figure 563244DEST_PATH_IMAGE003
Is marked as a variable
Figure 112037DEST_PATH_IMAGE004
Time series of (2). Here, the first and second liquid crystal display panels are,
Figure 465658DEST_PATH_IMAGE005
the robot configuration, also called for time t, may be expressed in time stepstThe joint angle of (or cartesian position in task space) of (may also be considered)
Figure 263850DEST_PATH_IMAGE004
Additional time derivative of). Following the classic ProMP notation,
Figure 492444DEST_PATH_IMAGE006
is to showdOf systems with a single degree of freedom (DoF)dA dimensional vector, for example a robotic arm 101 with 7 degrees of freedom.
Track of
Figure 958060DEST_PATH_IMAGE007
Can be expressed as a linear basis function model
Figure 482582DEST_PATH_IMAGE008
Wherein
Figure 768070DEST_PATH_IMAGE009
Is that
Figure 36240DEST_PATH_IMAGE010
The weight vector is maintained and the weight vector,
Figure 90784DEST_PATH_IMAGE011
is a system containing time-dependent basis functions for each DoF
Figure 51787DEST_PATH_IMAGE012
Is/are as follows
Figure 824571DEST_PATH_IMAGE013
Dimension block diagonal matrices (the basis functions for one DoF are also called basic moves (e.g., moves in a certain direction, rotations around a certain axis),
Figure 834115DEST_PATH_IMAGE014
the number of basis functions is indicated, and
Figure 510209DEST_PATH_IMAGE015
is of uncertainty
Figure 642113DEST_PATH_IMAGE016
Zero mean i.i.d. (independently identically distributed) gaussian noise.
ProMPs assumes that each presentation is characterized by a weight vector
Figure 902193DEST_PATH_IMAGE017
Different values of (a), which result in a distribution
Figure 512166DEST_PATH_IMAGE018
. Then, the complete trajectory can be modeled as a basis function at each t along with the slave
Figure 134777DEST_PATH_IMAGE019
Extracted weights
Figure 467276DEST_PATH_IMAGE017
The synthesis of (2). Thus, with respect to timetDistribution of state of
Figure 949073DEST_PATH_IMAGE020
Can be calculated as follows
Figure 362737DEST_PATH_IMAGE021
From which at each time steptBoth mean and variance are estimated.
Example trajectories typically differ in length of time when learned from a presentation. ProMP overcomes this problem by introducing a phase variable to decouple the data from the time instance, which in turn allows time modulation. In this case, the demonstration ranges from
Figure 777538DEST_PATH_IMAGE022
To
Figure 251245DEST_PATH_IMAGE023
Redefining the demonstration track as
Figure 423600DEST_PATH_IMAGE024
. Form a
Figure 375376DEST_PATH_IMAGE025
Is also dependent on the phase variable z. In particular, proMP uses a gaussian basis function for stroke-based movement, which is defined as having a widthhAnd a center
Figure 880568DEST_PATH_IMAGE026
Is/are as follows
Figure 790756DEST_PATH_IMAGE027
Which is usually designed experimentally. These Gaussian basis functions are then normalized, resulting in
Figure 247145DEST_PATH_IMAGE028
In general, the learning process of ProMP is mainly based on estimating the weight distribution
Figure 205873DEST_PATH_IMAGE029
And (4) forming. To do so, the second as represented in (1) is estimated by maximum likelihood estimationiWeight vector of a presentation
Figure 798529DEST_PATH_IMAGE030
. This results in a linear ridge regression solution that forms the following equation
Figure 614038DEST_PATH_IMAGE031
Wherein
Figure 823303DEST_PATH_IMAGE032
All observed points of track are linked, an
Figure 382460DEST_PATH_IMAGE033
From a matrix of basis functions
Figure 298463DEST_PATH_IMAGE034
All time instances of (c). Then, a group is givenNDemonstration that the weight distribution parameter can be estimated by maximum likelihood
Figure 19295DEST_PATH_IMAGE035
To adapt to new situations, proMP allows motion via adjustments to arrive with associated covariance
Figure 972249DEST_PATH_IMAGE036
Desired track point of
Figure 335097DEST_PATH_IMAGE037
To track modulate the transit point or target location. This results in conditional probabilities
Figure 371186DEST_PATH_IMAGE038
The parameters can be calculated as follows (assuming a Gaussian distribution)
Figure 262919DEST_PATH_IMAGE039
By calculating the product of the trajectory distributions, different movement primitives can be mixed into a single motion. In particular, for a groupSA different ProMP
Figure 181196DEST_PATH_IMAGE040
At each time steptThe mixing track of (A) follows a distribution
Figure 347735DEST_PATH_IMAGE041
Its influence on the final motion is based on the blending weight
Figure 769489DEST_PATH_IMAGE042
But may vary. Then, the user can use the device to perform the operation,
Figure 97702DEST_PATH_IMAGE043
is easily estimated from the weighted product of the gaussian distribution.
Figure 440959DEST_PATH_IMAGE044
The task parameters permit adapting the robot motion to e.g. a target object for reaching the task. Such information is often available during presentation and can be integrated into the ProMP formula. Formally, with ProMP taking into account external conditions
Figure 145610DEST_PATH_IMAGE045
And learn from
Figure 188914DEST_PATH_IMAGE045
To mean weight vector
Figure 953608DEST_PATH_IMAGE046
Thereby resulting in a joint probability distribution
Figure 580899DEST_PATH_IMAGE047
Wherein
Figure 823661DEST_PATH_IMAGE048
Is learned using linear ridge regression.
As mentioned above, quaternions have advantageous characteristics for robot control. However, since quaternions (for robot control) satisfy the unit norm constraint, they do not form a vector space, and thus it is not sufficient to process and analyze variables having quaternion values (having unit norms) using the conventional euclidean space method. According to various embodiments, the rimps over quaternion space are formulated using riemann geometry.
Riemann manifold
Figure 423270DEST_PATH_IMAGE049
Is thatmA dimensional topological space for which each point is locally similar to the Euclidean space
Figure 93285DEST_PATH_IMAGE050
And it has a globally defined differential structure. For each point
Figure 207872DEST_PATH_IMAGE051
Existence of a cutting space
Figure 254325DEST_PATH_IMAGE052
It is a vector space consisting of the tangent vectors of all possible smooth curves passing through x. Riemann manifolds are equipped with smoothly varying positive definite inner products, called Riemann metrics, which are permitted in
Figure 770757DEST_PATH_IMAGE049
Define the curve length. These curves are referred to as geodesic lines,is a generalization of straight lines on Euclidean space to Riemann manifolds, since they represent
Figure 110210DEST_PATH_IMAGE049
The minimum length curve between two points in the middle.
FIG. 2 shows a spherical manifold S 2 The points of which may each represent a possible orientation of the robotic end effector, for example.
Two points x and y are indicated on the sphere that the controller 106 can use to represent two different orientations of the robotic end effector 104.
The shortest distance between two points in the surrounding space will be a straight line 201, while the shortest path on the manifold is a geodesic line 202.
To exploit Euclidean cut spaces, the sum and return mapping between cut spaces may be used
Figure 915355DEST_PATH_IMAGE053
They are denoted as exponential and logarithmic mapping, respectively.
Exponential mapping
Figure 499920DEST_PATH_IMAGE054
A point u in the tangent space of x is mapped to a point y on the manifold such that it lies on the geodesic line starting from x in the direction u, such that the geodesic distance dM between x and y is equal to the norm of the distance between x and u. The inverse operation is called log mapping
Figure 870858DEST_PATH_IMAGE055
I.e. by
Figure 148256DEST_PATH_IMAGE056
Another useful operation on the manifold is parallel forwarding
Figure 971855DEST_PATH_IMAGE057
It moves the elements between the cutting spaces so that the inner product between two elements in the cutting spaces remains constant.
For example, in FIG. 2,
Figure 563374DEST_PATH_IMAGE058
Figure 788819DEST_PATH_IMAGE059
is carried in parallel, vector
Figure 971538DEST_PATH_IMAGE060
And
Figure 813592DEST_PATH_IMAGE061
from
Figure 241425DEST_PATH_IMAGE062
To
Figure 321376DEST_PATH_IMAGE063
(for simplicity, the indices have been omitted
Figure 143839DEST_PATH_IMAGE064
)。
For the following, random variables
Figure 942030DEST_PATH_IMAGE065
Is introduced to have a mean value
Figure 672089DEST_PATH_IMAGE066
Sum covariance
Figure 872126DEST_PATH_IMAGE067
Is/are as follows
Figure 662228DEST_PATH_IMAGE068
The riemann gaussian corresponds to an approximate maximum entropy distribution of the riemann manifold.
The following is for spherical manifold
Figure 150978DEST_PATH_IMAGE069
Riemann distance, exponential and logarithmic mapping and expressions for parallel transport operations
Figure 419148DEST_PATH_IMAGE070
According to various embodiments, a geodesic regression (e.g., is the controller 106) is used that generalizes the linear regression to the Riemannian manifold settings. The geodesic regression model is defined as
Figure 739271DEST_PATH_IMAGE071
Wherein
Figure 198809DEST_PATH_IMAGE072
Wherein
Figure 706014DEST_PATH_IMAGE073
And
Figure 981137DEST_PATH_IMAGE074
are the output and the input variables respectively, and,
Figure 155767DEST_PATH_IMAGE075
is the base point on the flow pattern,
Figure 287671DEST_PATH_IMAGE076
is a vector in the tangent space at p, and the error term
Figure 547751DEST_PATH_IMAGE077
Is that
Figure 157724DEST_PATH_IMAGE078
A random variable of values in the tangent space of (a). As an analogy to linear regression, one can compare
Figure 390122DEST_PATH_IMAGE079
Explained as intercept p and slope
Figure 427348DEST_PATH_IMAGE080
Now, consider a set of points
Figure 440303DEST_PATH_IMAGE081
And
Figure 355432DEST_PATH_IMAGE082
. The objective of geodesic regression is to find the geodesic curve
Figure 442337DEST_PATH_IMAGE083
It is to allTFor is to
Figure 916043DEST_PATH_IMAGE084
The relationship between them is best modeled. To achieve this, the model estimates the sum of the squares of the Riemann distance (i.e., the error) between the observation and the observation, i.e., the error
Figure 885136DEST_PATH_IMAGE085
Is minimized in that
Figure 836912DEST_PATH_IMAGE086
Is a manifold
Figure 106219DEST_PATH_IMAGE049
The above-mentioned model estimation is carried out,
Figure 485248DEST_PATH_IMAGE087
is a Riemann error, and
Figure 941637DEST_PATH_IMAGE088
is a cutting cluster
Figure 900366DEST_PATH_IMAGE089
The element (c) of (a). The least squares estimator of the geodesic model can be formulated as the minimum of the sum of squares of the above-mentioned riemann distances, i.e.,
Figure 24180DEST_PATH_IMAGE090
however, (9) does not give an analytical solution like (3). A solution can be obtained by gradient descent, which requires the calculation of the derivative of the riemann distance function and the derivative of the exponential mapping. The latter is split into a first point p and a first speed
Figure 338224DEST_PATH_IMAGE091
The derivative of (c). These gradients can be computed from the Jacobian field (i.e., the solution of a second order equation under the Riemann curvature tensor subject to certain initial conditions).
It should be noted that the geodesic model described above only considers scalar independent variables
Figure 281909DEST_PATH_IMAGE092
This means that the derivative is formed by the Jacobian field along a single tangent vector
Figure 778750DEST_PATH_IMAGE091
ParameterizedIs single by singleAnd (4) obtaining a geodesic curve. The calculation of the jacobian field depends on so-called adjoint operators, which in practice play a role in parallel transport on the geodesic regression error term. Extend thereto
Figure 491491DEST_PATH_IMAGE093
A slightly different approach is required, which requires the identification of multiple geodesic curves (which can be viewed as "basis" vectors in euclidean space). A multivariate general linear model on the riemann manifold (MGLM) provides a solution to this problem.
MLGM uses a vector composed of multiple tangent vectors
Figure 477901DEST_PATH_IMAGE094
Formed geodesic base
Figure 174462DEST_PATH_IMAGE095
Figure 271731DEST_PATH_IMAGE096
One for each dimension. The problem (9) can then be reformulated as
Figure 838978DEST_PATH_IMAGE097
Wherein
Figure 199553DEST_PATH_IMAGE098
. To solve for (10), the corresponding gradient can be computed by exploiting the insight that the adjoint operator resembles a parallel transport operation. In this way, the obstacles of designing special companion operators for multivariate situations can be overcome, and instead, parallel shipping operations can be performed to approximate the necessary gradients. The multivariate framework serves the analogy of (3) for locating at Riemannian manifold
Figure 117830DEST_PATH_IMAGE049
Each demonstration above calculates the purpose of the weight vector.
In the following, it is explained when the presentation data corresponds to a quaternion trajectory, i.e.
Figure 254676DEST_PATH_IMAGE099
How the MLGM may be used.
When a human presentation is characterized by cartesian motion patterns (via kinesthetic teaching or teleoperation), it is necessary to have a learning model 112 that encapsulates both translational and rotational movement of the robotic end effector. This means that a certain demonstration track
Figure 207588DEST_PATH_IMAGE100
Now by the data point
Figure 535801DEST_PATH_IMAGE101
Composition representing a time steptIn a full cartesian attitude of the end effector. In this case, the challenge is to learn ProMP in the orientation space, because
Figure 879058DEST_PATH_IMAGE102
The euclidean case of (a) follows the classical ProMP.
First, in MGLM framework for
Figure 583709DEST_PATH_IMAGE103
Such that it is similar to the linear basis function model in (1). Specifically, estimate
Figure 391128DEST_PATH_IMAGE104
Figure 890242DEST_PATH_IMAGE105
Wherein
Figure 517533DEST_PATH_IMAGE106
And is provided with
Figure 697978DEST_PATH_IMAGE107
This equivalent proves useful when establishing an analogy between the classical formulation of ProMPs and the method we propose for orienting the trajectory.
Similar to the case of (1),
Figure 359904DEST_PATH_IMAGE108
point of (2)
Figure 528455DEST_PATH_IMAGE109
Can be expressed asEarth measuring lineBasis function model
Figure 908620DEST_PATH_IMAGE110
Wherein p is
Figure 689495DEST_PATH_IMAGE049
The upper fixed base point is arranged on the upper side of the base,
Figure 409189DEST_PATH_IMAGE111
is connected by
Figure 250106DEST_PATH_IMAGE112
Weight vector
Figure 851989DEST_PATH_IMAGE113
The large weight vector of (a) is,
Figure 702133DEST_PATH_IMAGE114
is the same time-dependent basis function matrix as in (1), and
Figure 73071DEST_PATH_IMAGE115
is coding
Figure 288152DEST_PATH_IMAGE116
Covariance matrix of upper uncertainty. Two particular aspects of the formula are of particular note, namely(i)Mean of Riemann Gaussian distribution in (12), i.e.
Figure 111752DEST_PATH_IMAGE117
The aforementioned equivalent formula using MGLM, and(ii)is formed in (12)
Figure 267052DEST_PATH_IMAGE118
Corresponds to the vector of geodesic bases of the synthetic MGLM.
Since each presentation is composed of a different weight vector
Figure 492497DEST_PATH_IMAGE118
To characterize so that again a distribution can be obtained
Figure 878479DEST_PATH_IMAGE119
. Therefore, the number of the first and second electrodes is increased,
Figure 454953DEST_PATH_IMAGE120
can be calculated as
Figure 381321DEST_PATH_IMAGE121
Where the edge distribution depends on two probability distributions located on different manifolds (the time indices are omitted here and in the following for simplicity). However, mean value
Figure 726852DEST_PATH_IMAGE122
Relying on a single fixed point
Figure 346052DEST_PATH_IMAGE123
And is and
Figure 347506DEST_PATH_IMAGE124
. These two observations are used to solve the tangent space as follows
Figure 811985DEST_PATH_IMAGE125
Upper rim (13)
Figure 277602DEST_PATH_IMAGE126
Wherein
Figure 566239DEST_PATH_IMAGE127
Is from
Figure 586147DEST_PATH_IMAGE128
Parallel transport covariance to p
Figure 119897DEST_PATH_IMAGE129
. It should be noted that the edge profile is still located in the cutting space
Figure 377703DEST_PATH_IMAGE130
And thus is mapped back to using an exponential mapping
Figure 73126DEST_PATH_IMAGE131
This results in a final edge
Figure 111489DEST_PATH_IMAGE132
Wherein
Figure 183351DEST_PATH_IMAGE133
As described above, the learning process of ProMP is summarized as estimating the weight distribution
Figure 92401DEST_PATH_IMAGE134
. To do so, for each presentationiThe controller 106 estimates the weight vector using MGLM
Figure 427567DEST_PATH_IMAGE135
. For the start, use was made of what was introduced previously
Figure 422068DEST_PATH_IMAGE136
Wherein
Figure 64664DEST_PATH_IMAGE137
(wherein
Figure 93800DEST_PATH_IMAGE138
) And is
Figure 334288DEST_PATH_IMAGE139
Is the number of basis functions. Furthermore, consider demonstrating quaternion trajectories
Figure 81665DEST_PATH_IMAGE140
Wherein
Figure 495328DEST_PATH_IMAGE141
. Then, analogize to (3) in Euclidean space, where weight estimation is obtained by using (10), resulting in
Figure 644550DEST_PATH_IMAGE142
Wherein the content of the first and second substances,
Figure 852677DEST_PATH_IMAGE143
is at time oftA vector of the basis functions of (a), and
Figure 25033DEST_PATH_IMAGE144
comprising a set of estimated tangent weight vectors
Figure 242388DEST_PATH_IMAGE145
(i.e. occurring from among the points p e M
Figure 246116DEST_PATH_IMAGE146
Individual tangent vectors).
FIG. 3 illustrates a spherical manifold for learning directional ProMPs weights
Figure 389259DEST_PATH_IMAGE147
Multiple above generally linear regression. Given a trajectory y, a tangent space
Figure 845648DEST_PATH_IMAGE148
Origin p and tangent weight vector of
Figure 601114DEST_PATH_IMAGE149
Is estimated via (15).
To solve (15), calculate
Figure 662611DEST_PATH_IMAGE150
Relative to p and each
Figure 478120DEST_PATH_IMAGE149
Of the gradient of (a). As explained above, these gradients depend on so-called adjoint operators, which, in a broad sense, will each have an error term
Figure 421806DEST_PATH_IMAGE151
From
Figure 980963DEST_PATH_IMAGE152
Is brought to
Figure 896966DEST_PATH_IMAGE153
Wherein
Figure 883377DEST_PATH_IMAGE154
Thus, these companion operators can be approximated as parallel carry operations. This results in the following reformulation of the error function of (15)
Figure 579938DEST_PATH_IMAGE155
Then, an error function
Figure 178671DEST_PATH_IMAGE156
Corresponding to an approximate gradient of
Figure 745919DEST_PATH_IMAGE157
Using the gradients described above, the controller 106 may target each presentationiEstimate the channel of
Figure 106493DEST_PATH_IMAGE158
An individual vector
Figure 759191DEST_PATH_IMAGE159
Formed vector
Figure 660151DEST_PATH_IMAGE160
And a weight matrix
Figure 613064DEST_PATH_IMAGE161
Both of which are described below. It should be noted that each presentation may result in a different estimate of p, which defines the vector used to estimate each cut weight
Figure 941277DEST_PATH_IMAGE162
Flow pattern of
Figure 81271DEST_PATH_IMAGE049
In (1)Origin point. This may result in a cross-presentation violationThe co-tangential space and thus the very diverse tangential weight vectors. An effective way to overcome this problem is to assume that all demonstrations share the same tangent space origin p, which is the same assumption made when defining the geodesic basis function model (12). Thus, according to various embodiments, the controller 106 estimates p for a single presentation and uses it to estimate all cut weight vectors for the entire set of presentations. Then, a group is givenNDemonstration, the weight distribution parameter can be calculated by standard maximum likelihood
Figure 723605DEST_PATH_IMAGE163
Estimated as
Figure 265445DEST_PATH_IMAGE164
An example of an algorithm for learning the robot control model 112 by directional ProMP is as follows, the controller 106 may already be provided with a set of modelsNThe algorithm is executed after each demonstration (e.g., provided by the user by moving the robotic arm 101 by hand).
Figure 263095DEST_PATH_IMAGE165
As in classical ProMP, controller 106 may achieve the desired covariance by adjusting the motion to have an associated covariance
Figure 155964DEST_PATH_IMAGE166
Desired track point of
Figure 133147DEST_PATH_IMAGE167
To perform track modulation (i.e. to adapt to the new situation, i.e. the control scenario). This results in conditional probabilities
Figure 795073DEST_PATH_IMAGE168
Which is similar to (13) depending on two probability distributions located on different manifolds. Here, the following fact is again utilized: mean value
Figure 465089DEST_PATH_IMAGE169
Dependent on being single and fixed
Figure 579675DEST_PATH_IMAGE170
Which in turn is the tangent space where the weight distribution lies
Figure 626129DEST_PATH_IMAGE171
The radical of (2). This allows rewriting condition distribution as follows
Figure 345823DEST_PATH_IMAGE172
Wherein
Figure 186740DEST_PATH_IMAGE173
And are each and every
Figure 24508DEST_PATH_IMAGE174
Are parameters that are estimated for the resulting conditional distribution. Since both distributions are now located in the embedded euclidian space
Figure 874653DEST_PATH_IMAGE175
Above, new distribution parameters can thus be estimated similar to the classical ProMP tuning process, with particular attention to the parallel-carrying covariance matrix. The new weight distribution parameter is then
Figure 245591DEST_PATH_IMAGE176
From the resulting new weight distribution, a new edge distribution can now be obtained via (14)
Figure 257409DEST_PATH_IMAGE177
With respect to blending, classical ProMP blends a set of mobile primitives by using the product of a gaussian distribution. When referring to mixing
Figure 549851DEST_PATH_IMAGE049
When primitive in (1)One needs to consider that each trajectory distribution is formed by being located in a different tangent space
Figure 672527DEST_PATH_IMAGE178
Is parameterized by a set of weight vectors. Therefore, the weighted product of the gaussian distribution needs to be reformulated. To do so, according to various embodiments, a gaussian product formula over a riemann manifold is used, where the log likelihood of the product is iteratively maximized using a gradient-based approach.
Formally, the log-likelihood of the Riemannian Gaussian distribution product is given by (factorizing out the constant term)
Figure 429131DEST_PATH_IMAGE179
Wherein
Figure 611850DEST_PATH_IMAGE180
And
Figure 126008DEST_PATH_IMAGE181
is edge distribution
Figure 52376DEST_PATH_IMAGE182
For skillssThe parameter (c) of (c). Note that the logarithmic mapping in (20) works for different tangent spaces
Figure 919879DEST_PATH_IMAGE183
. To perform log-likelihood maximization, the mapped bases and arguments are switched while ensuring that the original log-likelihood function remains unchanged. To do so, relationships can be utilized
Figure 539080DEST_PATH_IMAGE184
And parallel transport operations to overcome the problem, resulting in
Figure 337271DEST_PATH_IMAGE185
Wherein the content of the first and second substances,
Figure 67330DEST_PATH_IMAGE186
is the mean of the (estimated) resulting gaussians and
Figure 267367DEST_PATH_IMAGE187
. Can be determined by defining a vector
Figure 791889DEST_PATH_IMAGE188
And block diagonal matrix
Figure 280639DEST_PATH_IMAGE189
To rewrite equation (21). This results in
Figure 611127DEST_PATH_IMAGE190
With provision for calculating Riemann manifolds
Figure 167135DEST_PATH_IMAGE131
Empirical mean of the upper Gaussian distribution
Figure 65821DEST_PATH_IMAGE191
In the form of an objective function of (a),
Figure 838605DEST_PATH_IMAGE192
it is thus possible to iteratively calculate the mean value as
Figure 176045DEST_PATH_IMAGE193
Wherein
Figure 616254DEST_PATH_IMAGE194
Wherein
Figure 951420DEST_PATH_IMAGE195
Is that
Figure 945921DEST_PATH_IMAGE196
Relative to
Figure 821473DEST_PATH_IMAGE049
In that
Figure 880303DEST_PATH_IMAGE197
The jacobian of the base of the tangent space at (a).
The controller 106 may now perform the averaging as follows
Figure 386371DEST_PATH_IMAGE198
Similar iterative estimation of
Figure 868167DEST_PATH_IMAGE199
Wherein
Figure 281831DEST_PATH_IMAGE200
. At iterationKAfter convergence, the controller 106 obtains the distribution as follows
Figure 962211DEST_PATH_IMAGE201
Final parameter of
Figure 639180DEST_PATH_IMAGE202
And
Figure 608273DEST_PATH_IMAGE203
as explained above, classical ProMP allows to adapt the weight distribution
Figure 91207DEST_PATH_IMAGE204
Figure 563777DEST_PATH_IMAGE205
As external task parameters
Figure 709850DEST_PATH_IMAGE206
Wherein it is assumed that there are pairs for each presentation
Figure 431818DEST_PATH_IMAGE206
Access to the value. Task parameterization is similarly applied to oriented ProMP as a weight vector
Figure 187284DEST_PATH_IMAGE207
And therefore only task parameters
Figure 45519DEST_PATH_IMAGE206
Is euclidean and can be applied directly (6). However, if
Figure 329870DEST_PATH_IMAGE206
Belonging to the Riemann manifold, a more general approach is needed.
When task parameter
Figure 539134DEST_PATH_IMAGE208
When established, the controller 106 may learn the joint probability distribution using a gaussian mixture model over the riemann manifold
Figure 98292DEST_PATH_IMAGE209
. Subsequently, when new task parameters are provided
Figure 811033DEST_PATH_IMAGE210
In time, the controller 106 may employ Gaussian mixture regression to calculate during rendering
Figure 30399DEST_PATH_IMAGE211
To better illustrate how model learning, trajectory reconstruction, via point fitting and skill mixing work in oriented ProMP, a handwritten alphabet dataset was used. Original track is at
Figure 461381DEST_PATH_IMAGE212
And then projected to the unit norm vector by a simple mapping to the unit norm vector
Figure 761912DEST_PATH_IMAGE213
. Each of the data setsLetters demonstrateN=8 times, and a simple smoothing filter is applied to each trajectory, mainly for visualization purposes. Four ProMP models were trained, one for assembly
Figure 594739DEST_PATH_IMAGE214
Each letter of (a). Model use with evenly distributed centers for I and J training
Figure 548788DEST_PATH_IMAGE215
A basis function, for letters G and S, uses
Figure 201486DEST_PATH_IMAGE216
A basis function. According to having an initial learning rate
Figure 102446DEST_PATH_IMAGE217
And corresponding upper bound
Figure 993042DEST_PATH_IMAGE218
The algorithm given above to train the oriented ProMP model.
FIG. 4 shows demonstration data, computing edge distribution via (13) and via point adaptation obtained from (18) and (19)
Figure 619458DEST_PATH_IMAGE219
Which corresponds to a model trained on the letters G and S. The mean of the edge distribution follows the demonstration mode, and the corresponding covariance contour captures
Figure 759452DEST_PATH_IMAGE220
The variability of the presentation in (1). Noteworthy is the complexity of the trajectories of the letters G and S, which show a very exhaustive "movement" pattern, which may be more complex than what is observed in a real robot setup. With respect to via point adaptation, use is made of having an associated covariance
Figure 401786DEST_PATH_IMAGE221
Random point of (2)
Figure 943626DEST_PATH_IMAGE222
(i.e., in passing through
Figure 239478DEST_PATH_IMAGE223
When high precision is required).
As shown in fig. 4, the directional ProMP is able to smoothly fit both the trajectory and the associated covariance profile, while passing exactly through a given transit point.
FIG. 5 illustrates a schematic diagram for
Figure 70031DEST_PATH_IMAGE224
And
Figure 312793DEST_PATH_IMAGE225
directed ProMP mixing process.
The goal is to generate a trajectory that starts with a contour that follows the first letter in the set and then smoothly switches in the middle of the trajectory profile of the second letter. In fig. 5, the resulting blended trajectory is shown for the two aforementioned cases, where the directional ProMP smoothly blends two given trajectory distributions by following the blending process for the directional ProMP described above. It should be noted that the mixing behavior strongly depends on each skillsAssociated weights
Figure 974719DEST_PATH_IMAGE226
Time evolution of (c). In this set of experiments, the weights used
Figure 379155DEST_PATH_IMAGE227
And
Figure 992277DEST_PATH_IMAGE228
a sigmoid-like function of
Figure 38730DEST_PATH_IMAGE229
And is
Figure 555162DEST_PATH_IMAGE230
. As described aboveThe results show that the oriented ProMP successfully learns and reproduces
Figure 130500DEST_PATH_IMAGE231
And provides full via point adaptation and mixing capabilities.
Experiments have shown that this similarly stands in the robot setup, e.g., for reorientation skills, which correspond to lifting a previously grasped object, rotating the end effector 104, and placing the object back in its original position, but with a modified orientation. This robot skill has the characteristic of significant position and orientation changes, and is therefore suitable for demonstrating the function of oriented ProMP.
For training robot skills like reorientation skills, each demonstration gives e.g. a full pose robot end effector trajectory
Figure 732383DEST_PATH_IMAGE232
. Here, the
Figure 582527DEST_PATH_IMAGE233
Is expressed in time steptThe end effector position. Thus, each presentation demonstrates a locus of positions (comprising a time sequence of positions, each consisting of
Figure 953465DEST_PATH_IMAGE234
Element description) and orientation trajectory (including a time series of orientations, each consisting of
Figure 699705DEST_PATH_IMAGE235
Element description). Raw data from the track can be used in
Figure 555927DEST_PATH_IMAGE236
The ProMP model 112 is trained, the ProMP model 112 including a submodel for location and a submodel for orientation, where the location model is learned using the classical ProMP method and the orientation model is learned using the oriented ProMP method (e.g., the algorithm described above). For both submodels, the same group (e.g. for
Figure 678604DEST_PATH_IMAGE237
) The basis functions may be used, but for different components (for each position component in the position sub-model and for each orientation component in the orientation sub-model).
In summary, according to various embodiments, a method as illustrated in fig. 6 is provided.
Fig. 6 shows a flow chart 600 illustrating a method for controlling a robotic device.
In 601, demonstrations are provided for the robot skills, wherein each demonstration demonstrates a trajectory comprising a sequence of robot configurations, wherein each robot configuration is described by an element having a predetermined configuration space of a riemann manifold structure.
In 602, for each demonstration track, a track representation is determined as a weight vector of a predetermined basic movement of the robotic device by searching for a weight vector minimizing a distance measure between a combination of the basic movements according to the weight vector and the demonstration track, wherein the combination is mapped to a manifold.
In 603, a probability distribution of weight vectors is determined by fitting the probability distribution to the weight vectors determined for the demonstration track.
In 604, the robot device is controlled by performing a basic movement according to the determined probability distribution of the weight vector.
This may include sampling from the probability distribution of the weight vector and performing a basic move (according to equation (1)) from the sample vector. It is also possible to derive a probability distribution of the trajectories (according to equation (14)) from which one can sample the control and which can be used for high-level control, such as trajectory mixing as explained above.
The method of fig. 6 may be performed by one or more computers comprising one or more data processing units. The term "data processing unit" may be understood as any type of entity allowing to process data or signals. For example, data or signals may be processed in accordance with at least one (i.e., one or more) specific function performed by a data processing unit. The data processing unit may include or be formed from analog circuitry, digital circuitry, composite signal circuitry, logic circuitry, 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 way of implementing a corresponding function may also be understood as a data processing unit or a logic circuit. It will be understood that one or more method steps described in detail herein may be performed (e.g., carried out) by the data processing unit by one or more specific functions performed by the data processing unit.
Various embodiments may receive and use image data from various visual sensors (cameras), such as video, radar, liDAR, ultrasound, thermal imaging, sonar, and the like, for example, to obtain data for a presentation.
The method of fig. 6 may be used to calculate control signals for controlling a physical system, such as, for example, a computer controlled machine, such as a robot, a vehicle, a household appliance, a power tool, a manufacturing machine, a personal assistant, or an access control system. According to various embodiments, a policy for controlling a physical system may be learned, and then the physical system may be operated accordingly.
According to one embodiment, the method is computer-implemented.
Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that a variety of alternate and/or equivalent implementations may be substituted for the specific embodiments shown and described without departing from the scope of the present invention. This application is intended to cover any adaptations or variations of the specific embodiments discussed herein. Accordingly, it is intended that this invention be limited only by the claims and the equivalents thereof.

Claims (9)

1. A method for controlling a robotic device, comprising:
providing a demonstration of robot skills, wherein each demonstration demonstrates a trajectory comprising a sequence of robot configurations, wherein each robot configuration is described by an element having a predetermined configuration space of a Riemannian manifold structure;
for each demonstration trajectory, determining a representation of the trajectory as a weight vector of a predetermined basic movement of the robotic device by
Searching for a weight vector that minimizes a distance metric between a combination of the basic movements according to the weight vector and the presentation trajectory, wherein the combination is mapped to a manifold;
determining a probability distribution of weight vectors by fitting the probability distribution to the weight vectors determined for the demonstration track; and
the robot device is controlled by performing a basic movement according to the determined probability distribution of the weight vector.
2. The method of claim 1, wherein the probability distribution of weight vectors is determined by fitting a gaussian distribution to the weight vectors determined for the presentation trajectory.
3. The method according to claim 1 or 2, wherein each demonstration track comprises a robot configuration for each time of the predetermined sequence of time points, and wherein each combination of basic movements according to the weight vector specifies a robot configuration for each time of the predetermined sequence of time points, and wherein the weight vector is determined for each demonstration track by: determining, from a set of possible weight vectors, a weight vector of a combination of basic movements according to the weight vector and a presentation trajectory, wherein the combination is mapped to a manifold, being smallest in the set of possible weight vectors, wherein a distance between the combination of basic movements mapped to the manifold and the presentation trajectory is given by summing terms over time points of a sequence of time points, the terms comprising for each time point a term comprising a value or a power of a measure of the manifold between an element of the manifold given by the combination of basic movements at the time point when mapped to the manifold and the presentation trajectory.
4. A method according to any one of claims 1 to 3, comprising, for one of the presentation trajectories, searching for points of the manifold and the weight vectors such that the points and weight vectors minimize a distance measure between a combination of the basic movements according to the weight vectors and the presentation trajectory, wherein the combination is mapped from the tangent space at the points to the manifold, and wherein, for each presentation trajectory, the mapping of the respective combination to the manifold is performed by mapping the combination from the tangent space at the selected point.
5. The method of any one of claims 1 to 4, wherein the trajectory is an orientation trajectory and each demonstration further demonstrates a position trajectory and each robot configuration comprises a pose described by a vector in three-dimensional space and an orientation described by an element of a predetermined configuration space.
6. The method according to any one of claims 1 to 5 comprising providing a demonstration of more than robot skills and determining for each skill a representation of the trajectory and weight vector and a probability distribution of the weight vector and controlling the robotic device by determining for each skill a Riemann Gaussian distribution of the flow points from the probability distribution of the weight vector, determining a product distribution of the Riemann Gaussian distributions of skills and controlling the robotic device by sampling from the determined product probability distribution.
7. A robotic device controller configured to carry out the method of any one of claims 1 to 6.
8. A computer program comprising instructions which, when executed by a processor, cause the processor to carry out the method according to any one of claims 1 to 6.
9. A computer readable medium storing instructions that, when executed by a processor, cause the processor to perform the method according to any one of claims 1 to 6.
CN202210527848.4A 2021-05-17 2022-05-16 Method for controlling a robotic device Pending CN115351780A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102021204961.3A DE102021204961B4 (en) 2021-05-17 2021-05-17 Method of controlling a robotic device
DE102021204961.3 2021-05-17

Publications (1)

Publication Number Publication Date
CN115351780A true CN115351780A (en) 2022-11-18

Family

ID=83806295

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210527848.4A Pending CN115351780A (en) 2021-05-17 2022-05-16 Method for controlling a robotic device

Country Status (4)

Country Link
JP (1) JP2022176917A (en)
KR (1) KR20220155921A (en)
CN (1) CN115351780A (en)
DE (1) DE102021204961B4 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115946130A (en) * 2023-03-13 2023-04-11 中国人民解放军国防科技大学 Man-machine cooperation method based on Riemann manifold
CN116985144A (en) * 2023-09-26 2023-11-03 珞石(北京)科技有限公司 With C 2 Continuous robot tail end gesture planning method

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022206381A1 (en) 2022-06-24 2024-01-04 Robert Bosch Gesellschaft mit beschränkter Haftung Method for controlling a robotic device
DE102022212638B3 (en) 2022-11-25 2024-03-14 Robert Bosch Gesellschaft mit beschränkter Haftung Device and method for controlling a robot

Family Cites Families (10)

* Cited by examiner, † Cited by third party
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
EP3812972A1 (en) 2019-10-25 2021-04-28 Robert Bosch GmbH Method for controlling a robot and robot controller
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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115946130A (en) * 2023-03-13 2023-04-11 中国人民解放军国防科技大学 Man-machine cooperation method based on Riemann manifold
CN116985144A (en) * 2023-09-26 2023-11-03 珞石(北京)科技有限公司 With C 2 Continuous robot tail end gesture planning method

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

Similar Documents

Publication Publication Date Title
Jiang et al. State-of-the-Art control strategies for robotic PiH assembly
CN115351780A (en) Method for controlling a robotic device
Ficuciello et al. FEM-based deformation control for dexterous manipulation of 3D soft objects
JP2008238396A (en) Apparatus and method for generating and controlling motion of robot
CN115605326A (en) Method for controlling a robot and robot controller
US20220161424A1 (en) Device and method for controlling a robotic device
US20220105625A1 (en) Device and method for controlling a robotic device
Khansari-Zadeh et al. Learning to play minigolf: A dynamical system-based approach
Chen et al. A probabilistic framework for uncertainty-aware high-accuracy precision grasping of unknown objects
Colomé et al. Reinforcement learning of bimanual robot skills
Nemec et al. Learning by demonstration and adaptation of finishing operations using virtual mechanism approach
Nandikolla et al. Teleoperation Robot Control of a Hybrid EEG‐Based BCI Arm Manipulator Using ROS
Wang et al. Learning robotic insertion tasks from human demonstration
Langsfeld Learning task models for robotic manipulation of nonrigid objects
Fomena et al. Towards practical visual servoing in robotics
CN109542094B (en) Mobile robot vision stabilization control without desired images
US11883962B2 (en) Object manipulation with collision avoidance using complementarity constraints
JP7205752B2 (en) ROBOT CONTROL DEVICE, ROBOT CONTROL METHOD, AND ROBOT CONTROL PROGRAM
Lin Embedding Intelligence into Robotic Systems-Programming, Learning, and Planning
Afzali et al. A Modified Convergence DDPG Algorithm for Robotic Manipulation
Al-Junaid ANN based robotic arm visual servoing nonlinear system
Fang et al. Learning from wearable-based teleoperation demonstration
Pichler et al. User centered framework for intuitive robot programming
Luz et al. Model Predictive Control for Assistive Robotics Manipulation
Shao et al. Trajectory Optimization for Manipulation Considering Grasp Selection and Adjustment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination