Robot control device and method for controlling a robot
By generating grid coding and reinforcing learning training neural network control methods, the problems of system requirements and limitations in multi-joint robot control are solved, and efficient and precise operation task completion is achieved.
Patent Information
- Application Number
- CN202110022083.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-01-09
- Filing Date
- 2021-01-08
- Publication Date
- 2025-09-30
- Estimated Expiration
- 2041-01-08
AI Technical Summary
Existing technologies have difficulty in efficiently controlling multi-jointed robots, especially to achieve precise manipulation tasks while considering the requirements and limitations of the physical system.
A neural network-based control method is adopted to generate grid codes to represent spatial coordinates, and combined with reinforcement learning to train the control network, taking into account system requirements and limitations, to generate efficient control signals.
Efficient control of a multi-jointed robot is achieved, capable of accurately completing manipulation tasks while taking into account the limitations and requirements of the physical system.
Smart Images

Figure CN113103262B_ABST
Abstract
Description
Technical Field
[0001] Various embodiments generally relate to robot control devices and methods for controlling a robot. Background Art
[0002] For example, in production facilities, handling tasks are crucial. A fundamental task is to move a robotic manipulator (e.g., a gripper) to a predetermined target state. A robot consists of a series of linked joints with different degrees of freedom (DOF). Various approaches exist to address this problem.
[0003] Neural networks based on reinforcement learning (RL) methods are a potential method for controlling autonomous systems in general. These neural networks can also be used to control multi-joint robots. In robotic control, explicit coordinate systems (such as Cartesian or spherical coordinates) are often used to describe the spatial state of the system.
[0004] The publication "Vector-based navigation using grid-like representations in artificial agents" by A. Banino et al. (Nature, 2018) describes the use of biologically inspired neural networks that use so-called place cells and grid cells to represent spatial coordinates for solving navigation problems. Summary of the Invention
[0005] The problem underlying the present invention is to provide efficient control of a multi-jointed robot by means of a neural network.
[0006] A robot control device and a robot control method having the features of claim 1 (corresponding to the first exemplary embodiment described below) and claim 8 (corresponding to the eighth exemplary embodiment described below) enable improved calculation of control signals for multi-joint physical systems (e.g., robots with grippers or manipulators) using a neural network (i.e., using the control capabilities of a neural network). This is achieved by using a network architecture that generates a grid code (GC) for position states and, thereby, a representation of spatial coordinates useful for the neural network.
[0007] Various embodiments are described below.
[0008] The first embodiment is a robot control device for a multi-joint robot, wherein the robot has a plurality of linked robot links (Roboterglidern), and the robot control device has: a plurality of recursive neural networks; an input layer, which is configured to supply corresponding motion information for the corresponding robot link to each recursive neural network, wherein each recursive neural network is trained to determine a position state of the corresponding robot link from the motion information supplied to the recursive neural network and output the position state; and a neural control network, which is trained to determine a control quantity for the robot link from the position state output by the recursive neural network and supplied to the neural control network as an input quantity.
[0009] The second embodiment is a robot control device according to the first embodiment, wherein each recursive neural network is trained to determine a position state in a grid code diagram, and the neural control network is trained to process the position state in a grid code diagram.
[0010] Grid encoding is advantageous for path integration of states and illustrates metrics (spacing specifications) also for large distances (large compared to the maximum grid size). Overall, illustrating spatial states as a grid encoding is more advantageous than a direct (e.g., Cartesian) coordinate representation for further processing by neural networks.
[0011] A third embodiment is a robot control device according to the first embodiment or the second embodiment, wherein each recursive neural network has a neural grid cell set, and each recursive neural network and the corresponding grid cell set are trained so that the closer the determined position state of the corresponding robot link is to the grid point of the spatial grid associated with each grid cell, the more active each grid cell for the grid is.
[0012] A fourth embodiment is the robot control device according to the third embodiment, wherein for each recurrent neural network, the neural grid cell assembly has a plurality of grid cells associated with spatially differently oriented grids.
[0013] A plurality of grid cells associated with spatially differently oriented grids allows for a clear description of the positional state (eg, position in space).
[0014] A fifth embodiment is a robot control device according to any one of the first to fourth embodiments, wherein the recurrent neural network is a long short-term memory (LSTM) network and / or a gated recurrent unit (GRU) network.
[0015] This type of recurrent network enables efficient generation of trellis encodings of position states.
[0016] The sixth embodiment is a robot control device according to one of the first to fifth embodiments, wherein the plurality of recursive neural networks have a recursive neural network that is trained to determine and output the position state of the end effector of the robot control device; and the plurality of recursive neural networks have at least one recursive neural network that is trained to determine and output the position state of an intermediate link that is arranged between the base of the robot and the end effector of the robot.
[0017] Especially for this type of multi-joint robots (such as robot arms), efficient control can be achieved.
[0018] The seventh embodiment is a robot control device according to one of the first to sixth embodiments, which has a neural position determination network, which includes multiple recursive neural networks and has an output layer, which is set up to determine the deviation of the position state of the robot link output by the recursive neural network and the corresponding allowable range for the position state, and wherein the neural control network is trained to determine the control quantity from the deviation supplied to the neural control network as input quantity.
[0019] In this way, based on the estimated position state, physical system requirements and limitations can be expressed as losses and made available to the control network as additional inputs. This enables the control network to take such expressed system requirements into account during execution.
[0020] The eighth embodiment is a robot control method comprising: determining a control amount for a robot link while using a robot control device according to one of the first to seventh embodiments, and controlling an actuator of the robot link while using the determined control amount.
[0021] The ninth embodiment is a training method for a robot control device according to one of the first to seventh embodiments, the training method comprising: training each recursive neural network to determine the position state of the robot link from the motion information for the corresponding robot link; and training the control network to determine the control quantity from the position state supplied to the control network.
[0022] The tenth embodiment is a training method according to the ninth embodiment, which has the following features: training the control network by reinforcement learning, wherein the reward for the determined control quantity is reduced due to a loss, which penalizes the deviation of the position state of the robot link obtained by the control quantity from the corresponding allowed range for the position state.
[0023] In this way, based on the estimated position state, the physical system requirements and limitations can be expressed as losses and made available to the control network as additional inputs during training. This allows the control network to take into account the system requirements expressed in this way during its training, so that during subsequent execution (i.e., in task-specific robot control), the control network generates control commands that are consistent with the permissible position state range.
[0024] An eleventh embodiment is a computer program having program instructions, which, when executed by one or more processors, cause the one or more processors to execute the method according to one of the eighth to tenth embodiments.
[0025] The twelfth embodiment is a computer-readable storage medium having program instructions stored thereon. When the program instructions are executed by one or more processors, the program instructions cause the one or more processors to execute a method according to one of the eighth to tenth embodiments. BRIEF DESCRIPTION OF THE DRAWINGS
[0026] Embodiments of the present invention are illustrated in the drawings and are described in more detail below. In the drawings, like reference numerals generally refer to like parts throughout the several views. These drawings are not necessarily true to scale, with emphasis instead generally being placed on illustrating the principles of the invention.
[0027] Figure 1 A robotic device is shown.
[0028] Figure 2 A schematic example of a multi-jointed robot having a plurality of linked robot links is shown.
[0029] Figure 3 A schematic diagram of a neural network interacting with a neural control network for a robot is shown.
[0030] Figure 4 Schematic diagram showing the properties of grid cells and place cells.
[0031] Figure 5The architecture of a control model according to an implementation form is shown.
[0032] Figure 6 A robot control device for a multi-joint robot having a plurality of linked robot links is shown according to an embodiment. DETAILED DESCRIPTION
[0033] Different implementations (particularly in the embodiments described below) can be implemented using one or more circuits. In the implementations, a "circuit" can be understood to mean any type of logically implemented entity, which can be hardware, software, firmware, or a combination thereof. Thus, in the implementations, a "circuit" can be a hard-wired logic circuit or a programmable logic circuit, such as a programmable processor, such as a microprocessor. A "circuit" can also be software implemented or executed by a processor, such as any type of computer program. Any other implementation of the corresponding functionality described in more detail below can be understood as a "circuit" consistent with alternative implementations.
[0034] Figure 1 A robotic device 100 is shown.
[0035] Robotic device 100 includes a robot 101, for example, an industrial robot in the form of a robot arm, for moving, installing, or processing workpieces. Robot 101 has robot links 102, 103, 104 and a base (or generally, a support) 105, which supports the robot links 102, 103, 104. The term "robot link" refers to the movable parts of robot 101, whose manipulation enables physical interaction with the environment, for example, to perform a task. For control, robotic device 100 includes a control device 106, which is configured to implement the interaction with the environment according to a control program. The last link 104 of the robot links 102, 103, 104 (as viewed from base 105) is also referred to as the end effector 104 and can form a manipulator that includes one or more tools, such as a welding torch, a gripper (gripper), painting equipment, or the like.
[0036] The further robot links 102, 103 (located closer to the base 105) can form a positioning device, so that together with the end effector 104, a robot arm (or an articulated lever) is provided, which has the end effector 104 at its end. The further robot links 102, 103 form the intermediate link of the robot 101 (i.e., the link between the base 105 and the end effector 104). The robot arm in this example is a manipulator arm that can perform functions similar to a human arm (possibly with a tool at its end).
[0037] Robot 101 may include connecting elements 107, 108, 109, which connect robot links 102, 103, 104 to one another and to base 105. Connecting elements 107, 108, 109 may have one or more joints, each of which can provide rotational and / or translational movement (i.e., deflection) for the associated robot link relative to one another. The movement of robot links 102, 103, 104 may be initiated by actuators controlled by control unit 106.
[0038] The term "actuator" is understood to mean a component that is suitable for influencing a mechanism in response to being driven, and is also referred to as an actuator. The actuator can convert instructions output by the control device 106 (so-called activation) into mechanical movement. The actuator (e.g., an electromechanical converter) can be configured to convert electrical energy into mechanical energy in response to its control.
[0039] The term "control device" (also referred to as "controller") can be understood as any type of logic implementation unit, which may include, for example, circuitry and / or a processor capable of executing software, firmware, or a combination thereof stored on a storage medium, and capable of providing instructions, such as, in this example, to an execution link. The controller may be implemented, for example, using program code (e.g., software) to control the operation of the system (in this example, the robot).
[0040] In this example, control device 106 includes one or more processors 110 and memory 111. Memory 111 stores code and data based on which processor 110 controls robot 101. Depending on the implementation, control device 106 controls robot 101 based on an ML (machine learning) control model 112 stored in memory 111.
[0041] For example, using Cartesian or spherical coordinates, the control device 106 can represent the position of the robot links (or, equivalently, the settings of the corresponding joints or actuators). Depending on the embodiment, instead of such a standard coordinate representation (e.g., in Cartesian or spherical coordinates) of the positions (or, equivalently, joint states) of the robot links of the robot 101, a so-called grid coding (GC) is used, for example, for the relative robot link positions (i.e., the position of the robot link relative to the preceding robot link, i.e., the position of the robot link relative to the robot link closer to the base 105), and also for the actual state of the robot to be set at that moment. The positions of the robot links or the joint states (or joint positions) of the robot links (which, if necessary, determine the position of the robot link based on other robot links between the robot link and the base 105) are summarized below under the term "position state" of the robot link.
[0042] Grid codes are particularly advantageous when combined with neural networks and allow for accurate and efficient trajectory planning. Depending on the implementation, the grid code is generated by a neural network (NN) and serves as input to a second neural network that controls the robot. The input describes the instantaneous spatial robot state (i.e., the position states of the robot links).
[0043] Depending on the implementation, this grid coding is applied to the linked coordinates or system states, for example to describe the state of a multi-jointed robotic arm and enable accurate and efficient control of the robotic arm. Implementations therefore include extending the grid coding to the linked systems.
[0044] Furthermore, depending on the specific embodiment, the system requirements of the physical system (e.g., restrictions in the mobility, controllability, or state of certain joints of the robot) are expressed as a penalty (cost term) for the estimated system state (robot position state) and are made available to the control device 106 as one or more additional reward terms or inputs during the training of the ML model 112 and also during the execution phase. The cost term represents, for example, the deviation of the estimated position state of a robot link from the corresponding permissible range for the position state of the robot link.
[0045] Figure 2 A schematic example of a robot 200 is shown.
[0046] The robot 200 has a base, corresponding to the base 105 , with a base joint 204 which determines the position of a first robot link 201 (corresponding to the robot link 102 ).
[0047] Robot 200 also has a second robot link 202 and an end effector (illustrated only as arrow 203), corresponding to robot links 103 and 104. The first robot link 201 is connected to the second robot link 202 via an arm joint 205. The position of the arm joint 205 is indicated by x, and the arm joint 205 determines the position of the second robot link 202 relative to the first robot link 201. The second robot link 202 is connected to the end effector 203 via an end effector joint 206. The position of the end effector joint is indicated by y. The positions of joints 204, 205, and 206 can also be considered as the positions of the robot links 201 and 202.
[0048] Depending on the configuration of the end effector joint 206, the end effector 203 has a y Indicates the status (e.g. fixture orientation).
[0049] The control task (eg for the controller 105 ) is, for example, to start from the initial state T O (t=0) reaches the target state T O tgt (For example, T O tgt =(y O tgt , α O tgt )), that is, after time t O (t) = T O tgt .
[0050] An example of an ML model 210 (e.g., corresponding to ML model 112) for such a control task is provided in Figure 2 The figure on the right shows that the neural LSTM (Long short-term memory) network 211 learns by starting from a certain initial state T O The input velocity z'(t) is integrated from (t=0) to estimate the instantaneous grid code GC(t)=(GC1(t),…,GC n (t)). From the grid code supplied to the linear layer 211, the instantaneous actual state in the original coordinate system o is estimated (in the form of actual coordinates), where for each output (for example by means of a position cell y for the position O (t) forming, or similarly, orienting cells α by orientation towards the fixture O (t) is formed), using the one-hot encoding (One-Hot-Kodierung) of the corresponding value range.
[0051] For example, the system requirements (which can be taken into account by means of losses during training or also during execution) are Figure 2 An example of this is:
[0052] • Angle α of the fixture relative to the second joint 206 y is restricted:
[0053] Requirements: α y ∈ [α min , α max ]
[0054] Loss term L 条件 : Measures the degree of violation of requirements, e.g.
[0055] ○ L 条件 =|α y –(α min + α max ) / 2|
[0056] ○ - exp(|α y – (α min + α max ) / 2|)
[0057] • The angle between the robot links 201 and 202 is limited. For this, the loss term L can be expressed similarly 条件 .
[0058] Figure 3 A neural network is shown that interacts with an exemplary neural control network (control NN) 302 301 (e.g. corresponding to Figure 2 210 in FIG. 1 , a schematic diagram of a neural control network 302 is shown. For example, the neural control network 302 is used to control a robotic arm using instantaneous motor commands (motor commands) a(t). For example, a reinforcement learning (RL) approach with rewards 308 can be used to train the control network 302 (e.g., an LSTM called a policy LSTM). Neural network 301 includes a recurrent neural network 303 that generates position states using a grid code 306.
[0059] To train the recurrent neural network 301, for example, a classification loss L GCPC , for example L GCPC = Cross Entropy(T O (t),GT O (t)), the classification loss determines the actual state T at the instantaneous estimate O (t) and the real instantaneous actual state GT OThe error between the estimated actual state and the true actual state (i.e., the “Ground Truth”) 305 is here illustrated using a one-hot encoding (e.g., actual coordinates or reference coordinates), so classification loss is also used here, and the estimated actual state T O (t) can be viewed as a distribution over possible actual states. The estimated actual state (instantaneous position state) T O (t) is represented here, for example, by a layer 307 having place cells and / or direction cells, to which a grid code 306 is supplied.
[0060] Figure 4 Schematic diagram showing the characteristics of grid cells (English: grid cell) 401 and place cells (English: place cell) 402. Grid cell GC i The bright spots in the state space or coordinate space (e.g. x1, x2) are active (high activation and corresponding to, for example, high output values), which are grid points of the grid associated with the grid cell. The grid code (e.g., position in space) can now be represented by the grid cells GC1, ..., GC n For the entire group, the grid cells are associated with different grids (e.g., different scales, different spatial biases).
[0061] So-called border cells may also appear, which are active if there are spatial restrictions with respect to specific spacing and orientation. A specific state or position in space, which is given by a value (e.g., spatial coordinates or state coordinates (x1, x2) or (x1, x2, x3)), is now represented as a specific total activation map of all grid cells. Position Cell PC i It is only active for coordinates that are in the vicinity of a certain state. With the help of place cells, the coordinate space can be subdivided into several categories.
[0062] During the execution phase (i.e., the control phase), based on the instantaneous state change (e.g., speed) z'(t) of the system and the initial state T O (t=0), neural networks 210, 303 estimate the instantaneous global state T O (t). Here, a grid code GC(t) is formed according to the used architecture of the network 210, 301 (with recurrent LSTM network 211, 303). The grid code is now used as input to the (recurrent) neural control network 302 (not in Figure 2), the (recursive) neural control network 302 uses this and internal memory states (e.g., previous motor commands) to determine the next control signal (motor command or motor command group) a(t) for the multi-joint system (e.g., robots 101, 200). Furthermore, the neural control network 302 can receive previous actions (previous control commands) as input.
[0063] The network 303 that generates the grid code and the control network 302 can also receive input from other neural networks (such as a convolutional network 304 ) and process other inputs 30 , such as, for example, camera images 304 .
[0064] In the following, each spatial coordinate representation (e.g. x(t) or GC(t)) is provided with an index coordinate (e.g. x O (t) or GC O (t)), the index coordinate specifies the reference coordinate system. For example, for the joint position y, two different reference frames x and o are used:
[0065] y O (t) = y X (t) + x O (t).
[0066] In the following, the actual state grid is encoded in the original coordinate system with T O (t) to indicate. Generate T O (t) network ( Figure 2 Neural Networks 210 and Figure 3 Neural Network 303) To mark.
[0067] For neural networks , different architectures can be used, for example the architecture proposed in the above-mentioned publication "Vector-based navigation using grid-like representations in artificial agents". In this case, different hyper-parameters of the architecture (such as the number of memory units used in the LSTM network) may affect According to one embodiment, an architecture search is then performed in each case, which selects hyperparameters for the respective existing task.
[0068] According to various embodiments, using The output of the unique hot encoding: the instantaneous actual state T OThe estimate of (t) is plotted similarly to the classification network as a so-called one-hot encoding. In this case, the coordinate space to be plotted is divided into local (continuous) regions that are assigned to a class (see Figure 4 A detailed description of one-hot encoding can also be found in the publication mentioned above. Possible divisions of the coordinate space to be represented are, for example, a grid representation or a representation with random points.
[0069] According to various embodiments, the grid coding for the multi-joint system is expanded as follows: In addition to the instantaneous actual state T O In addition to (t), other instantaneous (eg implicit) system states are estimated in parallel and illustrated with the aid of trellis coding, as described below with reference to Figure 5 In the example described, for example, X (t) This is the case.
[0070] Figure 5 The architecture of the control model 500 is shown.
[0071] The control model 500 corresponds, for example, to the control model 112. In this control model, not only the actual state T O (t) grid code (such as in Figure 2 and Figure 3 ), and the mesh encoding of the intermediate joint states (here for example x O (t) and y X (t)) are estimated by the first neural network 501 and used as input to the second neural network 502 (control network, for example, LSTM called policy LSTM). Accordingly, the first neural network 501 has three LSTMs 505, 506, 507 (or in general, multiple recurrent neural sub-networks), wherein the LSTM 505 of the three LSTMs corresponds to the network , the network The actual state is estimated, and two further LSTMs 506, 507 estimate the state x O (t) and y X (t).
[0072] Additionally, for example, physical system conditions (system requirements) can be expressed as losses (here for example L 条件503) and is used as an additional (e.g., second) term for reward 504 (i.e., a reward for the reinforcement learning training of the control network) to be taken into account by the control network 502. The first term of reward 504 reflects, for example, how well the robot performs the task (e.g., how close the end effector is to the desired target object and how close it is to the desired orientation).
[0073] Loss L 条件 503 is not necessarily used for training the network 505 that generates the trellis code, but is used, for example, for training the control network 502 so that the control network 502 also takes into account the system requirements.
[0074] For clarity, in Figure 5 The three classification losses used to train the network 505 for generating grid codes are not shown in FIG. Figure 3 L in GCPC To train each of the three networks 505 that generate trellis codes.
[0075] Used to estimate the actual internal state of the instantaneous system (x O (t) and y X (t)) networks 505, 506, 507 are similar to To train the control model 500, the networks 505, 506, 507 that generate the grid code are first trained. To this end, the trajectory of the system (e.g., the entire robot) is sampled, taking into account the system requirements, such as the trajectory of the robot in the example. Figure 2 The robot matching trajectory is shown schematically in the figure:
[0076] Starting state: x O (t=0),y X (t=0),α y (t=0)
[0077] For the velocity sequence t = 0, ..., T: (x' O (t), y' X (t), α' y (t)).
[0078] For this purpose, virtual or simulated data can also be used. With the selected spatial segmentation into a plurality of classes (see one-hot encoding as described above), the system state to be estimated (output of the networks 505, 506, 507, which generate the position state with the grid encoding 510) is converted into a corresponding one-hot encoding, which is now used as a reference (ground truth) during training (for determining the cost term L PCGC , as in Figure 3For training, common optimization methods (e.g., RMSPROP, SGC, ADAM) can be used.
[0079] In this way, the networks 505, 506, 507 generating the trellis code are trained and, for an input trajectory (with a start state and a velocity sequence), produce a learned integrated trellis code GC of the estimated instantaneous system state.
[0080] The control network 502 can be constructed and trained in different ways. A possible variation is to adapt the RL method used to learn the navigation task to the multi-joint manipulation task in such a way that the goal state of the navigation is obtained by the goal state of the robot (e.g. Figure 5 T in O The reward 504 can be adapted accordingly (eg the reward depends on the proximity to the target position and the deviation from the target orientation of the gripper).
[0081] Furthermore, known system requirements (e.g., physical limitations of the system) can be represented as cost terms that are determined based on the estimated instantaneous (implicit) system state. Other estimated (implicit) system states (e.g., Figure 5 y in X (t) and α y (t)) is used as an input for the control network 502. The cost term can be considered as an additional reward term during the training of the control network 502, and the violation of the system requirement results in a low reward, thereby allowing the control network 502 to learn to consider the system requirement in a predictive manner.
[0082] The networks 506 , 506 , 507 that generate the grid code and the control network may also receive input from other neural networks (eg, convolutional network 508 ) and process other inputs such as, for example, camera images 509 .
[0083] In summary, according to different embodiments, a robot control device is provided, such as Figure 6 As shown in the figure.
[0084] Figure 6 A robot control device 600 for a multi-joint robot having a plurality of connected robot links is shown according to one embodiment.
[0085] The robot controller 600 has a plurality of recurrent neural networks 601 and an input layer 602 , which is configured to supply each recurrent neural network with corresponding movement information for the corresponding robot link.
[0086] Each recurrent neural network is trained to determine the position state of the corresponding robot link from the motion information supplied to the recurrent neural network and output the position state.
[0087] Furthermore, the robot control device 600 has a neural control network 603 , which is trained to determine control variables for the robot links from position states output by the recurrent neural network and supplied as input variables to the neural control network.
[0088] In other words, depending on the implementation, the position states (positions, joint states such as joint angles or joint positions, end effector states such as the degree of gripper opening, etc.) of multiple robot links are determined (i.e., estimated) using a corresponding recurrent neural network. According to one implementation, the recurrent neural network is trained so that it outputs the estimated position states in grid-coded form. To this end, the output nodes (neurons) of the recurrent neural network do not need to have a specific structure; the output of the position states in grid-coded form is derived through appropriate training.
[0089] A “robot” is understood to be any physical system (having mechanical parts whose movement is controlled), such as a computer-controlled machine, a vehicle, a household appliance, a power tool, a manufacturing machine, a personal assistance device or an access control system.
[0090] While the present invention has been shown and described primarily with reference to certain embodiments, it will be understood by those skilled in the art that numerous changes in construction and details may be made thereto without departing from the scope and spirit of the invention as defined by the following claims. The scope of the invention is therefore determined by the claims appended hereto and is intended to embrace all changes that come within the meaning or range of equivalence of the claims.
Claims
1. A robot control device for a multi-joint robot, wherein the robot has a plurality of linked robot links, the robot control device comprising: Multiple recurrent neural networks; an input layer configured to supply each recurrent neural network with the corresponding kinematic information for the corresponding robot link, wherein each recurrent neural network is trained to determine a position state of the corresponding robot link from motion information fed to said each recurrent neural network and output said position state; and a neural control network trained to determine a control variable for the robot link from a position state output by the recurrent neural network and supplied as an input to the neural control network; in, Each recurrent neural network is trained to determine the position state in a grid-coded representation; and the neural control network is trained to process the position state in the grid-coded representation, Each recurrent neural network has a set of neural grid cells, and each recurrent neural network and the corresponding set of grid cells are trained so that each grid cell of a spatial grid is more active the closer the determined position state of the corresponding robot link is to a grid point of the spatial grid associated with each network cell. In this case, boundary cells appear, which are active if there are spatial restrictions with respect to specific spacing and orientation.
2. The robot control device according to claim 1, wherein: For each recurrent neural network, the neural grid cell assembly has a plurality of grid cells that are associated with spatially differently oriented grids.
3. The robot control device according to claim 1 or 2, wherein: The recurrent neural network is a long short-term memory network and / or a gated recurrent unit network.
4. The robot control device according to claim 1 or 2, wherein: The multiple recursive neural networks have a recursive neural network that is trained to determine and output a position state of a terminal actuator of the robot control device; and the multiple recursive neural networks have at least one recursive neural network that is trained to determine and output a position state of an intermediate link that is arranged between the base of the robot and the terminal actuator of the robot.
5. A robot control device according to claim 1 or 2, which has a neural position determination network, which includes the multiple recursive neural networks and has an output layer, which is set up to determine the deviation of the position state of the robot link output by the recursive neural network and the corresponding permissible range for the position state, and wherein the neural control network is trained to determine the control quantity from the deviation supplied to the neural control network as an input quantity.
6. A robot control method comprising: determining a control amount for a robot link using the robot control device according to any one of claims 1 to 5; and controlling an actuator of the robot link using the determined control amount.
7. A training method for a robot controller according to any one of claims 1 to 5, comprising: training each recurrent neural network to determine a positional state of a corresponding robotic link from motion information for the robot link; and A control network is trained to determine a control variable from a position state supplied to the control network.
8. The training method according to claim 7 comprises: training the control network by reinforcement learning, wherein the reward for the determined control quantity is reduced due to a loss, and the loss penalizes the deviation of the position state of the robot link obtained by the control quantity from the corresponding allowed range for the position state.
9. A computer program product comprising a computer program having program instructions which, when executed by one or more processors, cause the one or more processors to perform the method according to any one of claims 6 to 8. 10 . A computer-readable storage medium having program instructions stored thereon, wherein when the program instructions are executed by one or more processors, the program instructions cause the one or more processors to perform the method according to claim 6 .
Citation Information
Patent Citations
Method for preventing and device for controlling colliding between cooperated manipulators
CN1461693A
Data processing apparatus and method, recording medium, and program
US20020178131A1
Performing navigation tasks using grid codes
US20190346272A1