Method for controlling a vehicle and device for controlling a vehicle
By comparing the accumulated trajectory costs of dynamic behavior models and candidate control sequences in vehicle or robot control, dynamically adjusting the control sequences, the problem of poor control effect in dynamic environments in the prior art is solved, and more efficient and flexible trajectory optimization and obstacle avoidance effects are achieved.
Patent Information
- Application Number
- CN202010401675.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-05-14
- Filing Date
- 2020-05-13
- Publication Date
- 2025-04-15
- Estimated Expiration
- 2040-05-13
AI Technical Summary
In the prior art, it is difficult to effectively utilize dynamic behavior models to optimize the control sequence when controlling vehicles or robots, resulting in poor trajectory optimization and obstacle avoidance when operating in a dynamic environment.
By determining the first and second control sequences, the control sequence is dynamically adjusted to optimize the motion trajectory of the vehicle or robot by comparing the accumulated trajectory costs of the dynamic behavior model and the candidate control sequence. The specific steps include providing a candidate control sequence, calculating its accumulated trajectory cost, and determining the optimal control sequence based on cost comparison.
It realizes more flexible and efficient vehicle or robot control in a dynamic environment, which can better optimize the motion trajectory and avoid obstacles, and improves control accuracy and efficiency.
Smart Images

Figure CN111949013B_ABST
Abstract
Description
Technical Field
[0001] An exemplary embodiment relates to a method for controlling a vehicle or a robot, wherein the method comprises the following steps: determining a first control sequence for controlling the vehicle or the robot, determining a second control sequence for controlling the vehicle or the robot depending on the first control sequence, a current state of the vehicle or the robot, and a model characterizing the dynamic behavior of the vehicle or the robot, and controlling the vehicle or the robot depending on the second control sequence.
[0002] Further exemplary embodiments relate to a device for controlling a vehicle or a robot.
[0003] Further exemplary embodiments relate to a method, in particular a computer-implemented method, for training a conditional variational autoencoder (CVAE).
[0004] A method of controlling a vehicle of the aforementioned type is disclosed by Williams, G., Wagener, N., Goldfain, B., Drews, P., Rehg, JM, Boots, B., & Theodorou, EA (May 2017), “Information theoretic mpc for model-based reinforcement learning” (In International Conference on Robotics and Automation (ICRA)) [Reference 1], which is incorporated herein by reference in its entirety. More specifically, Section IV. B. (“MPC Algorithm”) and Algorithm 2: MPPI of [Reference 1] disclose the following steps: determining a first control sequence, determining a second control sequence depending on the first control sequence, a current state of the vehicle, and a model characterizing the dynamic behavior of the vehicle, and controlling the vehicle depending on the second control sequence. As an example, the control step is performed by the function “SendToActuators( )”, the second control sequence is determined by the control sequence vector The preceding for loop in which the update is performed is represented, and the determination of the first control sequence (for the subsequent control loop) is at least to some extent, that is, as far as the control sequence vector The last element of - is represented by the "Initialize()" function in the last line of Algorithm 2 of [Reference 1]. Summary of the invention
[0005] An exemplary preferred embodiment relates to a method for controlling a vehicle or robot, wherein the method comprises the following steps: determining a first control sequence, determining a second control sequence for controlling the vehicle or robot depending on the first control sequence, a current state of the vehicle or robot, and a model characterizing the dynamic behavior of the vehicle or robot, controlling the vehicle or robot depending on the second control sequence, wherein the determination of the first control sequence comprises: providing a first candidate control sequence, determining a first cumulative trajectory cost associated with the first candidate control sequence, providing a second candidate control sequence, determining a second cumulative trajectory cost associated with the second candidate control sequence, comparing the first cumulative trajectory cost with the second cumulative trajectory cost, and depending on the comparison, using the first candidate control sequence as the first control sequence or using a weighted sum of the first candidate control sequence and the second candidate control sequence as the first control sequence. This enables a flexible determination of a second control sequence for vehicle or robot control, whereby an additional degree of freedom is provided by the second candidate control sequence as compared to the conventional approach of [Reference 1].
[0006] Preferably, the above-mentioned method is a computer-implemented method.
[0007] Although the further explanations mainly relate to exemplary embodiments of vehicle control, the principles according to the embodiments may also be applied to controlling robots and / or components of robots, in particular movable components such as stationary robots, grippers such as robot arms and / or robotized automation systems, and the like.
[0008] According to a further preferred embodiment, the first and / or second cumulative trajectory costs may be determined depending on at least one of the following elements: a) a state-based cost associated with a current state of the vehicle, b) a control effort associated with the respective control sequence. In this way, costs associated with the first and / or second candidate control sequences may be determined, which enables an assessment of which candidate control sequence may be preferred for determining the second control sequence for controlling the vehicle.
[0009] According to a further preferred embodiment, instead of a weighted sum, other ways of combining the first candidate control sequence and the second candidate control sequence can also be used to determine the second control sequence.
[0010] Due to the use of the model characterizing the dynamic behavior of the vehicle, further preferred embodiments may be considered to use aspects of the model predictive control (MPC) technique. According to further preferred embodiments, aspects of the model as presented by [Ref. 1], equation (1) (see Section III., A. of [Ref. 1]) and Section IV. may be used.
[0011] According to another preferred embodiment, according to the equation To determine the weighted sum, where represents the first candidate control sequence, wherein represents the second candidate control sequence, wherein represents the first cumulative trajectory cost, where represents the second cumulative trajectory cost, and where Denotes the weighted sum.
[0012] According to another preferred embodiment, one or more control loops are used to control the vehicle, wherein at least one of the control loops, preferably all control loops, includes the steps of determining a first control sequence, determining a second control sequence, and controlling the vehicle depending on the second control sequence, wherein the step of providing the first candidate control sequence includes: using an initial control sequence as the first candidate control sequence, or determining the first candidate control sequence based on the second control sequence of a previous control loop.
[0013] According to a further preferred embodiment, said step for providing said second candidate control sequence comprises using a preferably trained, first (preferably artificial) neural network configured to receive first input parameters and to output said second candidate control sequence dependent on said first input parameters.
[0014] According to a further preferred embodiment, the first neural network is a decoder of a conditional variational autoencoder CVAE, wherein the CVAE further comprises an encoder comprising a second neural network, wherein the encoder is configured to receive second input parameters characterizing a potential trajectory of the vehicle (which is obtained, for example, by simulation during a training process) and / or conditions for the vehicle (e.g. the presence of obstacles, a predetermined global path), and to map the second input parameters to a latent space A normal distribution with mean µ and variance ∑ ,in represents the potential trajectory of the vehicle, and wherein Represents the condition for the vehicle.
[0015] According to a further preferred embodiment, the first neural network and / or the second neural network comprises a) four layers, preferably four fully connected layers, and / or b) a rectified linear unit ReLU, for implementing an activation function.
[0016] According to a further preferred embodiment, the method further comprises: training the CVAE by applying at least one of the following: a) a domain-specific loss function , which depends on the potential trajectory of the vehicle and / or the conditions for the vehicle , b) in the latent space The Kullback-Leibler (KL)-divergence in ,in is the resulting loss function, where is the latent space The Kullback-Leibler divergence in is the normal distribution, and where Characterize the desired latent space distribution.
[0017] According to a further preferred embodiment, the training is performed at a first point in time, wherein the steps of determining a first control sequence, determining a second control sequence and controlling the vehicle depending on the second control sequence are performed at a second point in time after the first point in time.
[0018] According to a further preferred embodiment, it is also possible to (further) train the CVAE during the control process of the vehicle, for example at the second point in time.
[0019] According to a further preferred embodiment, the training is performed by a first entity, and the steps of determining a first control sequence, determining a second control sequence and controlling the vehicle depending on the second control sequence are performed by the first entity and / or the second entity. As an example, according to a further preferred embodiment, the apparatus for performing the method according to the embodiment may perform both the training of the CVAE and the control of the vehicle. As a further example, according to a further preferred embodiment, a further device may ("only") perform the training of the CVAE, and the control of the vehicle may be performed by the apparatus according to the embodiment based on a previously trained CVAE.
[0020] A further preferred embodiment relates to a device for controlling a vehicle, wherein the device is configured to perform a method according to an embodiment, wherein preferably the device comprises at least one of the following elements: a) a computing unit, b) a memory unit associated with the at least one computing unit, for at least temporarily storing a computer program and / or data (e.g. data of (one or more) neural networks, such as e.g. weights of a trained CVAE), wherein the computer program is preferably configured to at least temporarily control the operation of the device, c) a control output interface for providing a control output to the vehicle, d) an input interface, which is configured to receive at least one of the following elements: d1) sensor data, which preferably characterizes the positioning of the vehicle and / or the orientation of the vehicle, d2) positioning information, which can, for example, be provided by another device, d3) map information.
[0021] A further preferred embodiment relates to a vehicle comprising a device according to the embodiments, wherein preferably the vehicle is a land vehicle, in particular at least one of the following: a car, an autonomously driven car, a robot, an internal logistics robot, a cleaning robot, in particular a household cleaning robot, a robotic lawn mower.
[0022] A further preferred embodiment relates to a computer program comprising instructions which, when the program is executed by a computer, cause the computer to carry out a method according to an embodiment.
[0023] Further preferred embodiments relate to a computer-readable storage medium comprising instructions which, when executed by a computer, cause the computer to implement a method according to an embodiment.
[0024] Further preferred embodiments relate to a data carrier signal carrying a computer program according to an embodiment.
[0025] Further preferred embodiments relate to the use of a method according to an embodiment and / or an apparatus according to an embodiment and / or a vehicle according to an embodiment and / or a computer program according to an embodiment for a) optimizing a trajectory for a vehicle, and / or b) obstacle avoidance.
[0026] Further preferred embodiments relate to a method of training a conditional variational autoencoder (CVAE), in particular a computer-implemented method, wherein the CVAE comprises a first neural network as a decoder and a second neural network as an encoder, wherein the decoder is configurable to receive a first input parameter and output a candidate control sequence for a method of controlling a vehicle depending on the first input parameter, in particular a method according to an embodiment, wherein the encoder is configurable to receive a second input parameter, the second input parameter characterizing a potential trajectory of the vehicle and / or a condition for the vehicle, and to map the second input parameter to a latent space A normal distribution with mean µ and variance ∑ ,in represents the potential trajectory of the vehicle, and wherein representing the condition for the vehicle, wherein the training comprises using at least one of: a) a domain-specific loss function , which depends on the potential trajectory of the vehicle and / or the conditions for the vehicle , b) in the latent space The Kullback–Leibler divergence in ,in is the resulting loss function, where is the latent space The Kullback-Leibler divergence in is the normal distribution, and where Characterize the desired latent space distribution.
[0027] According to a further preferred embodiment, the apparatus according to the embodiment may perform the training of the CVAE. BRIEF DESCRIPTION OF THE DRAWINGS
[0028] Some exemplary embodiments will now be described with reference to the accompanying drawings, in which:
[0029] Figure 1 schematically depicts an example path as obtained by the method according to a preferred embodiment,
[0030] Figure 2 schematically depicts a simplified block diagram of a navigation architecture according to a further preferred embodiment,
[0031] Figure 3 schematically depicts a simplified block diagram of an apparatus according to a further preferred embodiment,
[0032] Figure 4 schematically depicts a simplified flow chart of a method according to a further preferred embodiment,
[0033] Figure 5 schematically depicts a simplified flow chart of a method according to a further preferred embodiment,
[0034] Figure 6 schematically depicts a simplified block diagram of a neural network according to a further preferred embodiment,
[0035] Figure 7 schematically depicts a simplified flow chart of a method according to a further preferred embodiment, and
[0036] Figure 8 Schematically depicted is a simplified block diagram of a conditional variational autoencoder according to a further preferred embodiment.
[0037] Figure 1 A vehicle 100 is schematically depicted which can move in an environment E. The vehicle 100 can be, for example, a robot or an autonomous car which moves from a starting position S to a target G. There are also various obstacles O in the environment E which, for example, prevent the vehicle 100 from reaching the target G by following a first path P1 which can, for example, represent a global path. According to a preferred embodiment explained in further detail below, a further path P2 can be obtained which guides the vehicle 100 to the target G while avoiding the obstacles O. A third path P3 represents an exemplary path as obtained by applying conventional techniques of information-theoretic model predictive control it-mpc according to algorithm 2 of [reference 1]. As from Figure 1 As can be seen in FIG. 1 , according to the present example, the third path P3 does not reach the target G. The further dashed and dotted lines exemplarily depicted around the second path P2 symbolize controls and samples as obtained according to further preferred embodiments.
[0038] Figure 2 A simplified block diagram of a navigation architecture according to a further preferred embodiment is schematically depicted. A first block B1 represents vehicle control, in particular trajectory optimization, as may be performed, for example, according to a further preferred embodiment. Block B2 represents a global path planner, which provides, for example, a path planner based on the Euclidean distance between the starting position S and the target G. Figure 1 The global path P1 and the associated initial control sequence ics ( Figure 2 That is, according to an exemplary embodiment, by using the initial control sequence ics, based on the Figure 1 In the depicted positioning, the vehicle 100 will attempt to move along the global path P1 , which will however result in a collision with an obstacle O. In view of this, according to a further exemplary embodiment, block B1 performs the vehicle control, in particular trajectory optimization, wherein for example an apparatus 200 is provided to perform a method according to an embodiment.
[0039] Figure 2 Block B3 of may, for example, represent a simultaneous localization and mapping SLAM functionality configured to determine Figure 2 The SLAM block B3 can thus provide to block B1 (and optionally also to block B2) positioning information pi which characterizes the position and / or orientation of the vehicle 100, 100' in the environment E ( Figure 1 ) within the current position and / or orientation.
[0040] According to another preferred embodiment, in order to determine the positioning and / or orientation of the vehicle 100, 100', the SLAM box B3 can receive sensor data sd from the vehicle 100', and the sensor data for example includes information from at least one of the following elements: (one or more) positioning sensors, wheel speed sensors, etc.
[0041] According to another preferred embodiment, based on the initial control sequence ics and the positioning information pi, the block B1 and / or the device 200 can perform motion control for optimizing the vehicle 100 ( Figure 1 ), 100 'a trajectory through the environment E, for example to avoid obstacles O and nevertheless reach the target G, see a second path P2 obtained according to a further preferred embodiment. The optimization of the motion control, in particular of the trajectory P2, can for example comprise a repeated, preferably iterative modification of the initial control sequence ics to obtain the second path P2, as explained in further detail below.
[0042] In other words, according to a further preferred embodiment, the device 200 may, for example, use a motion control (or trajectory optimization) algorithm configured to generate (robotic) motions for the control of the vehicle 100, 100', which advantageously take into account the reference path P1 as calculated, for example, by the global path planner B2, the estimated position pi of the vehicle 100' and, for example, the environment E( Figure 1 ), which map may be determined, for example, by block B3. The control or control output co may then be sent to the vehicle 100' to effectuate the movement.
[0043] In the following, further preferred embodiments are explained, in which Figure 3 A simplified block diagram of an apparatus 200 according to a further preferred embodiment is schematically depicted, and wherein Figure 4 A simplified flow chart of a method of vehicle control that may be performed, for example, by the apparatus 200 is schematically depicted.
[0044] See also Figure 3 The device 200 comprises at least one computing unit 202 and at least one memory unit 204 associated with the at least one computing unit 202 (i.e. usable by the at least one computing unit 202) for at least temporarily storing a computer program PRG and / or data DAT, wherein the computer program PRG is for example configured to at least temporarily control the operation of the device 200, for example the execution of a method according to an embodiment, for example for controlling the vehicle 100 ( Figure 1 )'s movement and / or optimize its trajectory.
[0045] According to another preferred embodiment, the at least one computing unit 202 ( Figure 3 ) comprises at least one core 202a, 202b, 202c, ... for executing the computer program PRG or at least part thereof, for example, for executing the method according to the embodiment or at least one or more steps thereof.
[0046] According to a further preferred embodiment, the at least one computing unit 202 may include at least one of the following elements: a microprocessor, a microcontroller, a digital signal processor (DSP), a programmable logic element (e.g., an FPGA, a field programmable gate array), an ASIC (application specific integrated circuit), a hardware circuit, a tensor processor. According to a further preferred embodiment, any combination of two or more of these elements is also possible.
[0047] According to a further preferred embodiment, the memory unit 204 comprises at least one of the following elements: a volatile memory 204a, in particular a random access memory (RAM), a non-volatile memory 204b, in particular a flash EEPROM. Preferably, the computer program PRG is at least temporarily stored in the non-volatile memory 204b. Data DAT which can be used, for example, to perform a method according to an embodiment can be at least temporarily stored in the RAM 204a.
[0048] According to a further preferred embodiment, an optional computer-readable storage medium SM comprising instructions may be provided, the instructions being for example in the form of a further computer program PRG', wherein the further computer program PRG' when executed by the computer, i.e. by the computing unit 202, may cause the computer 202 to implement a method according to an embodiment. As an example, the storage medium SM may comprise or represent a digital storage medium, such as a semiconductor memory device (e.g. a solid state drive SSD) and / or a magnetic storage medium, such as a disk or a hard disk drive (HDD) and / or an optical storage medium, such as a compact disk (CD) or a DVD (digital versatile disk) and the like.
[0049] According to a further preferred embodiment, the apparatus 200 may comprise an optional data interface 205, which is preferably used for bidirectional data exchange with an external device (not shown). By means of the data interface 205, a data carrier signal DCS may be received, for example, from the external device, for example via a wired or wireless data transmission medium, for example through a (virtual) private computer network and / or a public computer network such as, for example, the Internet. According to a further preferred embodiment, the data carrier signal DCS may represent or carry a computer program PRG according to an embodiment or at least a part thereof.
[0050] According to another preferred embodiment, the device 200 may include a control output interface 206 for providing the vehicle 100 ( Figure 1 ), for example, providing a control output co in the form of one or more output signals to one or more actuators of the vehicle 100. As seen from the vehicle 100, 100', the control output co provided by the device 200 or its control output interface 206 represents a control input for the vehicle 100, 100'. According to a further preferred embodiment, the control output co can be provided by a Dimensional vector where the index t denotes a discrete time. Therefore, the set A control input sequence for vehicle 100 may be indicated.
[0051] As an example, according to another preferred embodiment, mathematically through the vector or at least through The control output co represented by the control output can be output to the vehicle 100 ( Figure 1 ) and one or more corresponding actuators (not shown). As another example, assuming that the vehicle 100 is a forklift, which has a primary drive that affects the speed of the forklift and a steering control that affects the steering angle of the forklift, the vector The first component can be used to control the primary drive, and the vector The second component of can be used to control the steering angle.
[0052] According to a further preferred embodiment, the apparatus 200 may include an input interface 207, which is configured to receive at least one of the following elements: d1) sensor data sd (see Figure 2 , which is provided, for example, by the vehicle 100 ′, either directly from one or more sensors of the vehicle (not shown), or indirectly, for example after processing by the SLAM block B3), which preferably characterizes the positioning of the vehicle 100 and / or the orientation of the vehicle 100, d2) positioning information pi, which can be provided, for example, by Figure 2 d3) map information mi, wherein the map information mi, for example, represents the environment E of the vehicle 100, 100' ( Figure 1 ) such as, for example, the existence and / or location of obstacle O, etc.
[0053] According to another preferred embodiment, the input interface 207 can also be configured to receive, for example, Figure 2 ) receives the initial control sequence ics.
[0054] According to another preferred embodiment, as mentioned above Figure 3 The device 200 explained exemplarily may be integrated in the vehicle 100, 100'. In this way, a low-latency data exchange between the actuators and / or sensors of the vehicle 100, 100' and the device 200 is ensured. According to a further preferred embodiment, the device 200 or at least part of the functionality of the device may also be provided in a device arranged outside the vehicle 100, 100'. However, in order to enable an efficient closed-loop control of the movement of the vehicle 100, 100', a low-latency data exchange between the external device (not shown) and the vehicle 100, 100' may be provided.
[0055] Another preferred embodiment relates to a method of controlling the vehicle 100, 100', see Figure 3 Flow chart of the invention, wherein the method comprises the following steps: determining 300 a first control sequence cs1 (eg an initial control sequence ics, see Figure 2 ), depending on the first control sequence cs1, the current state cst of the vehicle 100, 100' (for example, its representative positioning and / or forward direction, etc.), and the model M representing the dynamic behavior of the vehicle 100, 100' is determined 310 ( Figure 4 ) for controlling the vehicle 100, 100', controlling 320 the vehicle 100, 100' depending on the second control sequence cs2, see the control output co provided by the control step 320. The above-mentioned steps 300, 310, 320 represent one control cycle cc according to a preferred embodiment. However, according to another preferred embodiment, a plurality of control cycles cc are performed, see Figure 4 The dashed arrow 320a.
[0056] As an example, the current state cst of the vehicle 100, 100' can be represented by an n-dimensional state vector To represent, the model M characterizing the dynamic behavior of the vehicle 100, 100' can be represented by a preferably fully connected multi-layer neural network, which can be trained, for example, as disclosed in Section IV. "MPC WITH NEURAL NETWORK DYNAMICS, A. Learning Neural Network Models" of [Reference 1].
[0057] According to another preferred embodiment, see Figure 5 , the determination 300 of the first control sequence cs1 ( Figure 4) comprises: providing 301 a first candidate control sequence ccs1, determining 302 a first cumulative trajectory cost atc1 associated with the first candidate control sequence ccs1, providing 302 a second candidate control sequence ccs2, determining 304 a second cumulative trajectory cost atc2 associated with the second candidate control sequence ccs2, comparing 305 the first cumulative trajectory cost atc1 with the second cumulative trajectory cost atc2, and depending on the comparison 305, using 306 the first candidate control sequence ccs1 as the first control sequence cs1 or using 307 a weighted sum ws of the first candidate control sequence ccs1 and the second candidate control sequence ccs2 as the first control sequence cs1. This advantageously enables the second candidate control sequence ccs2 to be optionally taken into account in determining the first control sequence cs1, whereby, according to the applicant's analysis, an additional degree of freedom is obtained, which enables the constraints of the conventional technique according to Algorithm 2 of [Reference 1] to be overcome.
[0058] According to a further preferred embodiment, the comparison step 305 may comprise determining whether the second cumulative trajectory cost atc2 is less than the first cumulative trajectory cost atc1. If this is the case, a step 307 may be performed, which determines the first control sequence cs1 as the weighted sum ws. In this way, a positive influence of the second candidate control sequence ccs2 on the trajectory cost may be taken into account, which may not be given by using 306 the first candidate control sequence ccs1 as the first control sequence cs1. Note that step 306 substantially corresponds to the fact that the conventional algorithm 2 ("MPPI") of [Reference 1] is initialized (the last line of Algorithm 2 of [Reference 1]) after updating the control sequence (the previous for loop of Algorithm 2 of [Reference 1]), in particular unconditionally initializes the control sequence u T-1 In contrast, the preferred embodiment conditionally considers said second candidate control sequence ccs2 based on said comparison 305, thus enabling to overcome at least some of the constraints associated with the prior art according to [reference 1].
[0059] According to another preferred embodiment, according to the equation To determine the weighted sum ws, where represents the first candidate control sequence ccs1, where represents the second candidate control sequence ccs2, wherein represents the first cumulative trajectory cost atc1, where represents the second cumulative trajectory cost atc2, and where Denotes the weighted sum ws.
[0060] According to a further preferred embodiment, the first and / or second cumulative trajectory costs atc1, atc2 may be determined depending on at least one of the following elements: a) a state-based cost associated with the current state of the vehicle 100, 100', b) a control effort associated with the respective (candidate) control sequence ccs1, ccs2. In this way, costs associated with the first and / or second candidate control sequence may be determined, which enables an assessment of which candidate control sequence may be preferred for determining the second control sequence cs2 for controlling the vehicle 100, 100'.
[0061] According to a further preferred embodiment, instead of the weighted sum ws, other ways of combining the first candidate control sequence ccs1 and the second candidate control sequence ccs2 can also be used to determine the second control sequence cs2. According to a further preferred embodiment, this can also be performed in step 307, i.e. as an alternative to determining the weighted sum ws.
[0062] According to another preferred embodiment, see Figure 4 , one or more control loops cc are used to control the vehicle 100 ( Figure 1 , wherein at least one of the control loops cc, preferably all control loops cc, comprises the steps 300, 310, 320, wherein the first candidate control sequence ccs1 ( Figure 5 ) comprises using an initial control sequence ics (which is, for example, as given by Figure 2 The first candidate control sequence ccs1 is provided by the global path planner block B2 of the control cycle cc, or the first candidate control sequence ccs1 is determined based on the second control sequence cs2 of the previous control cycle cc. As an example, according to another preferred embodiment, for the first control cycle cc, the first candidate control sequence ccs1 ( Figure 5 ) comprises using the initial control sequence ics as provided, for example, by the global path planner block B2, and for a further control cycle, the step 301 of providing the first candidate control sequence ccs1 may comprise determining the first candidate control sequence ccs1 based on the second control sequence cs2 of the previous control cycle cc.
[0063] According to another preferred embodiment, the step 303 of providing the second candidate control sequence ccs2 ( Figure 5 ) comprises using a trained first (preferably artificial) neural network NN1 (see Figure 6), which is configured to receive a first input parameter ip1 and output the second candidate control sequence ccs2 depending on the first input parameter ip1. As an example, according to another preferred embodiment, the first input parameter ip1 can characterize the current state of the vehicle 100, 100' (and / or the condition for the vehicle).
[0064] According to another preferred embodiment, see also Figure 8 , wherein the first neural network NN1 is a decoder 402 of a conditional variational autoencoder CVAE 400, wherein the CVAE 400 further comprises an encoder 401, wherein the encoder 401 comprises a second neural network NN2, wherein the encoder 401 is configured to receive a second input parameter ip2, wherein the second input parameter ip2 characterizes the vehicle 100 ( Figure 1 ) and / or the condition cond for the vehicle 100 (e.g., global path P1, obstacle O), and mapping the second input parameter ip2 to a normal distribution with mean µ and variance ∑ in the latent space z ,in represents the potential trajectory of the vehicle 100, and wherein Indicates the conditions for the vehicle 100 .
[0065] According to another preferred embodiment, the first neural network NN1 and / or the second neural network NN2 comprises a) four layers, preferably four fully connected layers, and / or b) a rectified linear unit ReLU, which is used to implement the activation function. As an example, the transfer function of ReLU can be f(x) = max(0, x), where max() is the maximum value function.
[0066] According to another preferred embodiment, see Figure 7 The method further comprises: training the CVAE 400 by applying at least one of the following: Figure 8 ): a) Domain-specific loss function , which depends on the potential trajectory of the vehicle 100, 100' and / or the conditions for the carrier 100, 100' , b) in the latent space The Kullback–Leibler divergence in ,in is the resulting loss function, where is the latent space The Kullback-Leibler divergence in is the normal distribution, and where Characterize the desired latent space distribution.
[0067] According to another preferred embodiment, the training 10 ( Figure 7 ) is performed at a first point in time (or during a first phase starting at said first point in time), wherein determination 300 ( Figure 4 ) the steps of determining 310 a second control sequence and controlling 320 the vehicle 100, 100' depending on the second control sequence. Figure 7 Step 20 of is performed at a second time point after the first time point (or during a second phase starting at the second time point). In other words, according to another preferred embodiment, if the CVAE 400 ( Figure 8 ) in controlling the vehicle 100, 100', namely by applying one or more control cycles cc using the steps 300, 310, 320 ( Figure 4 ) has been trained (at least to some extent) before, it is preferred.
[0068] According to another preferred embodiment, the training 10 ( Figure 7 ) is performed by a first entity, and the steps 300, 310, 320 are performed by the first entity and / or the second entity. As an example, according to another preferred embodiment, the apparatus 200 ( Figure 3 ) can perform both training of the CVAE 400 and control of the vehicle (see e.g. Figure 4 Step 320 and Figure 7 As another example, according to another preferred embodiment, another device (not shown) may perform CVAE 400 ( Figure 8 ) training 10 ( Figure 7 ), and the control of the vehicles 100, 100' may be performed by the apparatus 200 according to the embodiment, based on the previously trained CVAE 400.
[0069] According to another preferred embodiment, the CVAE 400 can be configured to learn the distribution of the input data ip2, in particular based on a given condition , such as, for example, the global path P1 ( Figure 1 ), obstacle O, etc. The knowledge learned in this way can be advantageously used to provide a second candidate control sequence ccs2 (see Figure 5 Step 303), which can contribute to finding a more suitable path or trajectory, for example according to Figure 5, as seen from a cost perspective, which may not be discovered without the output of the (trained) CVAE 400, for example according to the conventional approach characterized by Algorithm 2 of [Ref 1].
[0070] In other words, according to another embodiment, the CVAE 400 can be trained to use the unobserved implicit representation of the state ,Right now To imitate The observed data for the condition distribution.
[0071] Further preferred embodiments relate to a method for training a conditional variational autoencoder CVAE 400, wherein the CVAE 400 comprises the first neural network NN1 as a decoder 402 and the second neural network NN2 as an encoder 401, wherein the decoder 402 is configurable to receive a first input parameter ip1 and output a candidate control sequence ccs2 for a method of controlling a vehicle 100, 100' depending on the first input parameter ip1, in particular a method according to an embodiment, wherein the encoder 401 is configurable to receive a second input parameter ip2, the second input parameter ip2 characterizing a potential trajectory of the vehicle (see e.g. Figure 8 pt) and / or conditions for the vehicle (see e.g. Figure 8 cond), and maps the second input parameter ip2 to the latent space A normal distribution with mean µ and variance ∑ ,in represents the potential trajectory of the vehicle 100, 100', and wherein represents the conditions for the vehicle 100, 100', wherein the training 10 ( Figure 7 ) includes using at least one of the following: a) a domain-specific loss function , which depends on the potential trajectory of the vehicle and / or the conditions for the vehicle , b) in the latent space The Kullback–Leibler divergence in ,in is the resulting loss function, where is the latent space The Kullback-Leibler divergence in is the normal distribution, and where Characterize the desired latent space distribution. Optionally, after the training 10, the trained CVAE 400 can be used for motion control, see Figure 7 Optional step 20.
[0072] In the following paragraphs, reference is made to the algorithm "[Algorithm 1]" as presented in Table 1 below and exemplary embodiments are disclosed with respect to Figure 1 The vehicle 100 (and / or Figure 2 Further preferred embodiments and exemplary aspects of the implementation of the control of the symbolic vehicle 100 ') are provided, wherein [Algorithm 1] advantageously combines the above-mentioned Figures 1 to 8 Table 1 has two columns, the first of which identifies the row number, and the second of which includes pseudocode representing the elements of Algorithm 1. For simplicity and without loss of generality, it is assumed that the vehicle 100 is a forklift, whose state can be determined by, for example, comparing it to the environment E ( Figure 1 ) is the angular orientation in a virtual plane parallel to the ground and is characterized by a velocity v.
[0073] *** Beginning of Table 1: Algorithm 1 ***
[0074] Line number: Pseudocode
[0075]
[0076]
[0077] *** End of Table 1: Algorithm 1 ***
[0078] In the following paragraphs, Algorithm 1 as presented above is explained on a line-by-line basis. Line 1 defines the input parameters, where represents the number of (trajectory) samples to be processed, where represents the planning period, where represents the control set (see also above about Figure 2 , 3 The control output co is interpreted as the control input sequence), where represents the variance of the noise, where Represents the target G ( Figure 1 ) is the cost of the target area associated with represents a state-based cost (function) (e.g., a state of the vehicle) associated), where Represents the model M ( Figure 4 ), the model M ( Figure 4 ) characterizes the dynamic behavior of the vehicle 100.
[0079] Line 2 starts a while loop, which implements the repetition of the execution of lines 3 to 23 until a predetermined exit condition is met, which can be considered as several control loops, similar to Figure 4 According to another preferred embodiment, the predetermined exit condition may correspond to at least one of the following: the vehicle 100 reaches the target G ( Figure 1 ), a predetermined maximum number of repetitions or control cycles cc has been reached, a predetermined maximum duration of application of said algorithm 1 has been exceeded, and so on.
[0080] Line 3 represents the execution of the function “StateEstimation()”, which is used to determine, for example, the vehicle 100 in the environment E ( Figure 1 According to a further preferred embodiment, it may depend in particular on the positioning information pi, see Figure 2 , 3 to perform state estimation.
[0081] Line 4 of Table 1 calls another function , which means that for providing 300 ( Figure 4 ) The first control sequence cs1, in particular according to Figure 5 An implementation example of the steps of the detailed process, wherein according to Figure 4 , 5 The first control sequence cs1 is obtained with the vector of row 4 of Table 1 , for example, through the function According to a particularly preferred embodiment, the function use Figure 8 The (preferably trained) CVAE decoder 402. Regarding the function for calling row 4 of Table 1 Parameters, vector With such as through Figure 5 The first candidate control sequence ccs1 determined in step 301 corresponds to the first candidate control sequence ccs1, represents standard parameters for the CVAE decoder 402, represents the current angular orientation of the vehicle 100, represents the current speed of the vehicle 100, where , The function can be obtained, for example, from row 3 of Table 1 The following reference table 2 further provides the output of the function Additional details related to exemplary implementations of.
[0082] Rows 5 to 14 of Table 1 consist of loops L over K many trajectory samples. 5,14 , wherein the model F is evaluated, see row 10 of Table 1, and the associated cost for each of the trajectory samples is determined, see row 11 of Table 1. According to another preferred embodiment, on this basis, the vector of row 4 The first control sequence cs1 shown can be updated in lines 16 to 18, which represent a further loop L 16,18 .
[0083] More specifically, according to another preferred embodiment, the cycle L 5,14 The following elements are included. In row 6, for example, depending on the information obtained by state estimation, see row 3 of Table 1 To update the state vector .exist Figure 2 In the context of , the state estimation information may be provided, for example, by the (SLAM) block B3, for example in the form of positioning information pi. In row 7, noise, preferably Gaussian (white) noise, is determined. In a further loop L comprising rows 8 to 12 of Table 1 8,12 For the range from t=1 to t=t f All discrete time steps, i.e. planning horizons, determine the “noisy” control sequence (Line 9), and based on the current state of the vehicle 100 and noisy control sequences to evaluate the model F (line 10). The function - It is optional and it is applied to the noisy control sequence in line 10 ——can be expressed as applicable to the noisy control sequence The new state of the vehicle 100 as obtained by the evaluation of the model F is also assigned to the state vector in row 10 The new state corresponds to the modeled potential future state of the vehicle 100, assuming it has been controlled according to the noisy control sequence In line 11, the cumulative trajectory cost is determined or updated accordingly. , where Indicates the current state of the vehicle 100 The associated state-based costs, where Represents the noisy control sequence In line 13, for the terminal state The cost is added to the cumulative trajectory cost .
[0084] In line 15, we use the function To perform the importance sampling step, the function Based on the cumulative trajectory cost and parameters - which may be a hyperparameter of Algorithm 1 according to another preferred embodiment (similar to, for example, )——and generate the weight vector The following reference table 3 further provides the function Additional details related to exemplary implementations of.
[0085] In the additional loop L including rows 16 to 18 of Table 1 16,18 In the vector (see also row 4 of Table 1) is updated, wherein, according to a further preferred embodiment, the updated control sequence cs1 obtained according to row 17 of Table 1 It can correspond, for example, to Figure 4 As can be seen from row 17 of Table 1, the updating or determination of the second control sequence depends on the weight vector obtained by the importance sampling step of row 15. and the noise as determined in row 7 of Table 1.
[0086] In line 19, for example, by executing the function , the updated control sequence (which corresponds to the first element of the second control sequence cs2) is applied to control the vehicle 100 ( Figure 1 According to a further preferred embodiment, this can be done, for example, with Figure 2 The control output co of the vehicle 100 may correspond to one or more control signals, for example, applying one or more control signals to corresponding actuators (not shown) of the vehicle 100, i.e., the forklift according to the present example. Thus, for example, the primary drive and / or steering angle of the forklift 100 may be controlled via row 19 of Table 1, for example, to influence the speed and / or orientation (forward direction) of the forklift 100.
[0087] The additional loop L comprising rows 20 to 22 of Table 1 20,22 can be used to update the (updated) control sequence along the discrete time index t The elements of are "shifted backwards".
[0088] After this, in line 23, the value of the control sequence can be initialized (as this may be undefined due to the backward shift from row 20 to row 22 of Table 1). The updated control sequence obtained at the end of the loop, see row 24, can be used in a subsequent control loop according to the loop of rows 2, 24 of Table 1, which according to a further preferred embodiment can be used, for example, with Figure 4 In other words, the control sequence as obtained during the first execution of loop 2, 24 Can be used to determine or get the function The independent variable , for use in the next control cycle cc or loop 2, 24.
[0089] In the following paragraphs, reference is made to the algorithm “[Algorithm 2]” as presented in Table 2 below, disclosing the algorithm for the function Provide 301 ( Figure 5 ) is an implementation example of the steps described in the embodiment of the present invention.
[0090] *** Beginning of Table 2: Algorithm 2, function ***
[0091] Line number: Pseudocode
[0092]
[0093] *** End of Table 2: Algorithm 2 ***
[0094] Referring to row 1 of Table 2, the inputs to the functions of Algorithm 2 have been explained above with reference to row 4 of Table 1. In row 2 of Table 2, the function , which is used, for example, according to Figure 8 The (trained) decoder 402 of the CVAE 400 is used to provide candidate control sequences , the candidate control sequence It may correspond, for example, to Figure 5 The second candidate control sequence ccs2. Note that according to another preferred embodiment, in order to Evaluation, preferably training the CVAE 400. In addition, in order to evaluate the function Evaluate the corresponding input parameter , , Provided to the decoder 402, that is, provided to the first neural network NN1, see also Figure 6 The reference mark ip1 is sufficient.
[0095] The loops in rows 3 to 8 and rows 9 and 10 of Table 2 are the first candidate control sequence ccs1 (which is expressed by the expression in Table 2 ) and the second candidate control sequence ccs2 (which is represented by the expression in Table 2 The two determine the cumulative trajectory cost , and row 11 includes Figure 5 Comparison of exemplary implementations of step 305. Depending on line 11 ( Figure 5 305), according to the weighted sum of row 12 (e.g., with Figure 5 The reference symbol ws is assigned to the return value , or no (i.e. control sequence is not modified and is returned as a return value). According to a further preferred embodiment, this is for example similar to using 307 the weighted sum ws as Figure 5 The first control sequence cs1 or the use 306 of the (unmodified) first candidate control sequence ccs1 as the first control sequence cs1. By using the function , i.e., Algorithm 2 as defined in Table 2 above, (trained) CVAE 400 ( Figure 8 ) can advantageously (preferably conditionally, see for example the comparison step of row 11 of Table 2) be used to modify the control sequence for the corresponding control cycle cc. Preferably, the weighted sum ws of row 12 is used to form the return value , if the (second) candidate control sequence from CVAE 400 As with the first candidate control sequence The cumulative trajectory cost includes a lower cumulative trajectory cost than If the first candidate control sequence According to a further preferred embodiment, for example based on an initial control sequence ics (which is, for example, as determined by Figure 2 The global path planner block B2 is provided) or a second control sequence cs2 based on the previous control cycle cc ( Figure 4 ).
[0096] In the following paragraphs, reference is made to the algorithm "[Algorithm 3]" as presented in Table 3 below to disclose the function as explained above with respect to row 15 of Table 1 An implementation example of .
[0097] *** Beginning of Table 3: Algorithm 3, function ***
[0098] Line number: Pseudocode
[0099]
[0100] *** End of Table 3: Algorithm 3 ***
[0101] Further details regarding the exemplary importance sampling process according to further preferred embodiments, as illustrated above by Table 3, may be taken from [Ref 1], Section III. "C. Importance Sampling".
[0102] It is emphasized that the above algorithms in Tables 1, 2 and 3 are examples of implementations of various aspects of the method according to further preferred embodiments and are not restrictive.
[0103] Another preferred embodiment relates to a carrier 100, 100', which comprises a device 200 according to an embodiment ( Figure 3 ), wherein preferably the vehicle 100, 100' is a land vehicle, in particular at least one of the following: a car, an autonomous car, a robot, an internal logistics robot, a cleaning robot, in particular a household cleaning robot, a robot lawn mower. However, the principle according to the embodiment is not limited to land vehicles, but can also be used to control the movement of watercraft and / or aircraft and / or spacecraft, etc.
[0104] Further preferred embodiments relate to the use of a method according to an embodiment and / or an apparatus 200 according to an embodiment and / or a vehicle 100, 100' according to an embodiment and / or a computer program PRG according to an embodiment for a) optimizing a trajectory for a vehicle 100, 100', and / or b) obstacle avoidance. As an example, using the method according to a preferred embodiment, an optimized path P2 for a vehicle 100 ( P2 ) may be generated, as compared to a global path P1 and / or a path P3 as determined by conventional means. Figure 1 ).
[0105] At least some of the preferred embodiments explained above enable the improvement of the conventional information-theoretic model predictive control technique (IT-MPC) presented in [Reference 1]. The IT-MPC of [Reference 1] can be interpreted as a method for (locally) generating robot motions by considering a stochastic nonlinear system in a dynamic environment. The generated trajectory P3 minimizes a defined cost function (i.e., closeness to a reference path, path gap).
[0106] According to the applicant's analysis, finding the optimal control problem solution for a random nonlinear system in a dynamic environment remains a challenging task. Recently, sampling-based model predictive control (MPC) has been demonstrated to be a useful tool for solving stochastic problems in complex domains with highly nonlinear dynamic systems. These conventional MPC methods sample on a prior distribution to generate trajectories, thereby strongly adapting the solution to the problem to the prior distribution, affecting the performance and efficiency of the controller implementing such conventional MPC methods. According to another aspect, for multimodal and / or highly dynamic settings, sampling around the predicted control may not perform well because it is constraining the distribution to a specific state space cost region.
[0107] As mentioned above about Figures 1 to 8 The various preferred embodiments explained in Tables 1, 2, and 3 can be considered as extensions to the IT-MPC-based approach as disclosed by [Reference 1]. Further preferred embodiments provide for learning a model for guiding the sampling process (see, for example, lines 5 to 14 of Algorithm 1 according to Table 1) to a low-cost (or respectively lower-cost) region of the state space, preferably adapted to the intrinsics of the vehicle and / or the environment E. According to further preferred embodiments, this can be obtained, for example, by using a generative model, in particular Figure 8 A conditional variational autoencoder (CVAE) 400 is used to learn a distribution that imitates samples from a training dataset, wherein the training dataset contains task-aware optimized control sequences. According to another preferred embodiment, other generative models besides the CVAE 400 can also be used.
[0108] By informing, for example, Figure 5 By applying the learned distribution in the form of step 303 and / or Algorithm 2 of Table 2 (see, e.g., row 2), the method according to the preferred embodiment maintains the robustness properties from the sampling-based MPC method while leveraging guidance from the learned model (e.g., using the CVAE 400).
[0109] According to the applicant's analysis, preferred embodiments - which, for example, apply an environment- and / or task-aware learned distribution (e.g., in the form of a trained decoder 402 of the CVAE 400) - enable increased performance of motion control in terms of path quality and planning efficiency, particularly when compared to conventional techniques using conventional trajectory sampling schemes.
[0110] According to the applicant's analysis, based on the testing of the method according to the preferred embodiment in a simulated environment, the method according to the preferred embodiment generates better behavior related to the motion control of the vehicle 100, 100' for different tasks, namely path tracing and obstacle avoidance. For path tracing, the approach based on the method according to the preferred embodiment has been compared with the conventional IT-MPC as disclosed by [Reference 1], wherein it has been found that the approach based on the method according to the preferred embodiment generates a solution with lower cost, while being more successful and also faster for achieving the designed task. In terms of obstacle avoidance, the approach based on the method according to the preferred embodiment has been compared with the IT-MPC according to [Reference 1] and with the conventional technique based on "Dynamic Windows" - see for example [4] Dieter Fox, Wolfram Burgard and Sebastian Thrun "The dynamic window approach to collision avoidance" (IEEE Robotics & Automation Magazine, 4 (1): 23-33, 1997). Also in this case, the approach based on the method according to the preferred embodiment generates a better solution in terms of cost, time to complete the task and number of successful operations.
[0111] According to another preferred embodiment, the above description about e.g. Figure 4 , Figure 5 The explained method can form part of a motion planning framework, see Figure 2 It can be used to provide a trajectory optimization algorithm that generates robot motions that take into account the reference path ics ( Figure 2 ), the estimated position pi, and a map of the environment, for example.
[0112] According to a further preferred embodiment, the principle according to the embodiment can be used to extend the conventional IT-MPC as disclosed by [Ref. 1], for example by utilizing samples in a region of the state space with lower cost. (See row 4 of Table 1) to inform the controller 200 ( Figure 3 Advantageously, such samples can be processed by CVAE 400 ( Figure 8 ) to be generated.
[0113] According to a further preferred embodiment, the CVAE 400 may learn the sampling distribution, for example from an offline generated dataset (generated, for example, by simulation), for example by using a self-organizing task-based loss function, for example as explained above. .
[0114] According to a further preferred embodiment, in particular in order to achieve even better learning of the input distribution, the CVAE parameters may be optimized based on a task-specific loss function floss.
[0115] According to another preferred embodiment, see the function of Table 2 above can be used to generate a new mean, from which the algorithm of Table 1 can preferably randomly draw (see row 4 of Table 1) new controls. As mentioned above, advantageously, the function You can use CVAE 400 ( Figure 8 ) to generate (one or more) samples.
[0116] According to a further preferred embodiment, an exemplary cost function c(x) (eg for use in row 11 of Table 1) may be selected depending on the following equation:
[0117]
[0118] where the first weight w 1 The first summand with a weight of >0 indicates that the path selected from the global path P1 ( Figure 1 ) - which is based on, for example, a defined look-ahead distance - lh The task, and wherein the second weight w 2 The second summand, weighted by ≥ 0, represents aspects of obstacle avoidance, where Nobst is the number of obstacles O, is the location of the i-th obstacle O.
[0119] According to another preferred embodiment, for the training 10 of CVAE 400 ( Figure 7 ), you can use the "Adam" optimizer with, for example, a learning rate of 1e-5, a weight decay of 10^-5, and “Adam” is a method for solving stochastic optimization problems, as disclosed, for example, by Diederik P. Kingma, Jimmy Ba in “Adam: A Method for Stochastic Optimization” (arxiv https: / / arxiv.org / abs / 1412.6980).
Claims
1. A method of controlling a vehicle (100; 100') or a robot, wherein the method comprises the following steps: determining (300) a first control sequence (cs1), determining (310) a second control sequence (cs2) for controlling the vehicle (100; 100') depending on the first control sequence (cs1), a current state (cst) of the vehicle (100; 100') or the robot, and a model (M) characterizing the dynamic behavior of the vehicle (100; 100') or the robot, controlling (320) the vehicle (100; 100') or the robot depending on the second control sequence (cs2), wherein The determining (300) of the first control sequence (cs1) in the embodiment of the present invention comprises: providing (301) a first candidate control sequence (ccs1), determining (302) a first cumulative trajectory cost (atc1) associated with the first candidate control sequence (ccs1), providing (303) a second candidate control sequence (ccs2), determining (304) a second cumulative trajectory cost (atc2) associated with the second candidate control sequence (ccs2), comparing (305) the first cumulative trajectory cost (atc1) with the second cumulative trajectory cost (atc2) associated with the second candidate control sequence (ccs2), second cumulative trajectory cost (atc2), and depending on the comparison (305), using (306) the first candidate control sequence (ccs1) as the first control sequence (cs1) or using (307) a weighted sum (ws) of the first candidate control sequence (ccs1) and the second candidate control sequence (ccs2) as the first control sequence (cs1), wherein if the second cumulative trajectory cost (atc2) has a lower cost than the first cumulative trajectory cost (atc1), the weighted sum (ws) of the first candidate control sequence (ccs1) and the second candidate control sequence (ccs2) is used as the first control sequence (cs1), wherein the step of providing (303) the second candidate control sequence (ccs2) comprises using a trained first neural network (NN1), the trained first neural network (NN1) being configured to receive a first input parameter (ip1) and to output the second candidate control sequence (ccs2) depending on the first input parameter (ip1).
2. The method according to claim 1, wherein according to the equation To determine the weighted sum (ws), where u *,1 represents the first candidate control sequence (ccs1), where represents the second candidate control sequence (ccs2), where S * represents the first cumulative trajectory cost (atc1), where represents the second cumulative trajectory cost (atc2), and where u * Denotes the weighted sum (ws).
3. A method according to claim 1, wherein one or more control loops (cc) are used to control the vehicle (100; 100') or the robot, wherein at least one of the control loops (cc) includes the steps of determining (300) a first control sequence (cs1), determining (310) a second control sequence (cs2) and controlling (320) the vehicle (100; 100') or the robot depending on the second control sequence (cs2), wherein the step of providing (301) the first candidate control sequence (ccs1) includes using an initial control sequence (ics) as the first candidate control sequence (ccs1), or determining the first candidate control sequence (ccs1) based on the second control sequence (cs2) of a previous control loop (cc).
4. A method according to claim 1, wherein one or more control loops (cc) are used to control the vehicle (100; 100') or the robot, wherein all control loops (cc) include the steps of determining (300) a first control sequence (cs1), determining (310) a second control sequence (cs2) and controlling (320) the vehicle (100; 100') or the robot depending on the second control sequence (cs2), wherein the step of providing (301) the first candidate control sequence (ccs1) includes using an initial control sequence (ics) as the first candidate control sequence (ccs1), or determining the first candidate control sequence (ccs1) based on the second control sequence (cs2) of the previous control loop (cc).
5. A method according to claim 1, wherein the first neural network (NN1) is a decoder (402) of a conditional variational autoencoder (CVAE) (400), wherein the CVAE (400) further comprises an encoder (401), the encoder (401) comprising a second neural network (NN2), wherein the encoder (401) is configured to receive a second input parameter (ip2), the second input parameter (ip2) characterizing a potential trajectory of the vehicle (100; 100') or the robot and / or a condition for the vehicle (100; 100') or the robot, and to map the second input parameter (ip2) to a normal distribution q(z|X, C) with mean μ and variance ∑ in a latent space z, wherein X represents the potential trajectory of the vehicle (100; 100') or the robot, and wherein C represents the condition for the vehicle (100; 100') or the robot.
6. The method according to claim 5, wherein the first neural network (NN1) and / or the second neural network (NN2) comprises a) four layers, and / or b) a rectified linear unit, which is used to implement an activation function.
7. The method according to claim 5, wherein the first neural network (NN1) and / or the second neural network (NN2) comprises a) four fully connected layers, and / or b) a rectified linear unit, which is used to implement an activation function.
8. The method according to claim 5, further comprising: The CVAE (400) is trained (10) by applying at least one of the following: a) a domain-specific loss function f loss (X, C), which depends on the potential trajectory X of the vehicle (100; 100') and / or the condition C for the vehicle (100; 100') or the robot, b) the Kullback-Leibler-divergence in the latent space z, which is based on in is the resulting loss function, where is the Kullback-Leibler divergence in the latent space z, where q(z|X, C) is the normal distribution, and where p(z|C) characterizes the desired latent space distribution.
9. A method according to claim 8, wherein the training (10) is performed at a first point in time, and wherein the steps of determining (300) a first control sequence (cs1), determining (310) a second control sequence (cs2) and controlling (320) the vehicle (100; 100') or the robot depending on the second control sequence (cs2) are performed (20) at a second point in time after the first point in time.
10. A method according to claim 9, wherein the training (10) is performed by a first entity, and wherein the steps of determining (300) a first control sequence (cs1), determining (310) a second control sequence (cs2) and controlling (320) the vehicle (100; 100') or the robot depending on the second control sequence (cs2) are performed by the first entity and / or a second entity.
11. A device (200) for controlling a vehicle (100; 100') or a robot, wherein the device (200) is configured to perform a method according to any of the preceding claims 1 to 10, wherein the device (200) comprises at least one of the following elements: a) a computing unit (202), b) a memory unit (204) associated with the at least one computing unit (202) for at least temporarily storing a computer program (PRG) and / or data (DAT), wherein the computer program (PRG) is configured to at least temporarily controlling the operation of the device (200), c) a control output interface (206) for providing a control output (co) to a vehicle (100; 100') or a robot, d) an input interface (207) configured to receive at least one of the following elements: d1) sensor data (sd) characterizing the positioning of the vehicle (100; 100') or the robot and / or the orientation of the vehicle (100; 100') or the robot, d2) positioning information (pi), which can be provided, for example, by another device, d3) map information (mi).
12. A vehicle (100; 100') or a robot comprising the device (200) according to claim 11, wherein the vehicle (100; 100') is a land vehicle, comprising: Cars, autonomous cars, robots, intralogistics robots, cleaning robots, robotic lawn mowers, stationary robots with at least one movable component.
13. A computer program product comprising a computer program (PRG) comprising instructions which, when the computer program (PRG) is executed by a computer, cause the computer to carry out the method according to any one of claims 1 to 10.
14. A computer-readable storage medium (SM) comprising instructions (PRG') which, when executed by a computer, cause the computer to implement the method according to any one of claims 1 to 10.
15. Use of the method according to any one of claims 1 to 10 and / or the device (200) according to claim 11 and / or the vehicle (100; 100') or the robot according to claim 12 and / or the computer program product according to claim 13 for a) optimizing a trajectory for a vehicle (100; 100') or a robot or a component of a robot, and / or b) obstacle avoidance.
16. A method for training (10) a conditional variational autoencoder (CVAE) (400), wherein the CVAE (400) comprises a first neural network (NN1) as a decoder (402) and a second neural network (NN2) as an encoder (401), wherein the decoder (402) is configurable to receive a first input parameter (ip1) and output a candidate control sequence (ccs2) for controlling a vehicle (100; 100') or a robot in dependence on the first input parameter (ip1) according to a method according to one of claims 1 to 10, wherein the encoder (401) is configurable to receive a first input parameter (ip1) and output a candidate control sequence (ccs2) two input parameters (ip2), wherein the second input parameters (ip2) characterize the potential trajectory of the vehicle (100; 100') or the robot and / or the conditions for the vehicle (100; 100'), and the second input parameters (ip2) are mapped to a normal distribution q(z|X, C) with mean μ and variance ∑ in a latent space z, wherein X represents the potential trajectory of the vehicle (100; 100') or the robot, and wherein c represents the conditions for the vehicle (100; 100') or the robot, wherein the training (10) includes using at least one of the following: a) a domain-specific loss function f loss (X, C), which depends on the potential trajectory X of the vehicle (100; 100') or robot and / or the condition C for the vehicle (100; 100') or robot, b) the Kullback-Leibler-divergence in the latent space z, which is based on in is the resulting loss function, where is the Kullback-Leibler divergence in the latent space z, where q(z|X, C) is the normal distribution, and where p(z|C) characterizes the desired latent space distribution.
Citation Information
Patent Citations
Unmanned vehicle dynamic path programming method based on environment uncertainty
CN105549597A
Control device and control method
US20180218262A1