Vehicle path generation method, vehicle path generation device, vehicle and program

The vehicle path generation method optimizes path determination by setting constraint conditions to avoid obstacles, ensuring the vehicle reaches the target position efficiently while avoiding collisions, addressing the limitations of existing methods.

DE102022201594B4Active Publication Date: 2025-12-31MITSUBISHI HEAVY IND LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
DE102022201594
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-03-04
Filing Date
2022-02-16
Publication Date
2025-12-31
Estimated Expiration
2042-02-16

AI Technical Summary

Technical Problem

Existing vehicle path generation methods fail to effectively determine a path that allows a vehicle to reach a target position while avoiding obstacles, particularly dynamic obstacles.

Method used

A vehicle path generation method that acquires information about the vehicle's position, target position, and obstacle position, and sets a constraint condition to prevent collisions, using optimization calculation and a scoring function to minimize deviation from the target position, defining a vehicle area based on its size and obstacle position as constraints.

Benefits of technology

Enables the definition of a path that allows obstacle avoidance while minimizing deviation from the target position, ensuring a feasible and efficient path generation considering the vehicle's size and obstacle dynamics.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Vehicle path generation methods, including: Gathering information about the position of a vehicle; Gathering information about the vehicle's target position; Gathering information about the position of an obstacle; Establishing a constraint condition so that the vehicle does not collide with the obstacle at any of the predicted steps, based on the vehicle's position, the vehicle's size, and the obstacle's position; and Calculating a vehicle's movement path through optimization calculation based on the constraint condition and a scoring function, where a point value becomes higher the smaller the deviation between the vehicle's position at each predicted step and the target position becomes. wherein, when setting the constraint condition, a vehicle area, which is an area that includes the position of the vehicle at a predicted step, of the predicted steps, is defined based on the size of the vehicle, and the position of the obstacle is defined as a constraint condition such that at each of the predicted steps it lies outside an area of ​​the vehicle area.
Need to check novelty before this filing date? Find Prior Art

Description

Technical field

[0001] The present invention relates to a vehicle path generation method, a vehicle path generation device, a vehicle and a program. State of the art

[0002] To move a vehicle to a target position, a movement path for the vehicle is defined. Such a vehicle must reach the target position while avoiding any obstacles. For example, patent specification 1 describes how a path is generated to circumvent a moving obstacle. Patent document 2 discloses a driving assistance system for a work vehicle, comprising a vehicle body and a work device arranged on the vehicle body, and includes a first computer for calculating a vehicle body coverage area that encompasses the vehicle body in a top view.

[0003] Patent document 3 discloses a motion control method for multiple vehicles for moving multiple vehicles to target positions that are individually set for the vehicles. List of oppositions patent literature Patent document 1: JP 2020 - 4 095 A Patent document 2: US 2017 / 0 367 252 A1 Patent document 3: DE 11 2019 005 057 T5 Brief description of the invention: Technical problem

[0004] However, there is still room for improvement in path determination so that a vehicle can reach a target position while avoiding an obstacle, and it is necessary to define a suitable path that allows the vehicle to bypass an obstacle.

[0005] The present disclosure was prepared to solve the problem described above, and one objective of it is to provide a vehicle path generation method, a vehicle path generation device, a vehicle and a program that enables a suitable determination of a path that allows obstacle avoidance. Solution to the problem

[0006] To solve the aforementioned problem and achieve the aforementioned goal, a vehicle path generation method according to the present disclosure includes the following: acquiring information about the position of a vehicle; acquiring information about a target position of the vehicle; acquiring information about the position of an obstacle; and setting a constraint condition that the vehicle does not cause a collision with the obstacle at each of the predicted steps, based on the position of the vehicle, the size of the vehicle, and the position of the obstacle.and calculating a motion path of the vehicle by optimization calculation based on the constraint condition and a scoring function where a point value becomes higher the smaller the deviation between the position of the vehicle at each of the predicted steps and the target position becomes, wherein when setting the constraint condition a vehicle area, which is an area that includes the position of the vehicle at a predicted step, of the predicted steps, is defined based on the size of the vehicle, and the position of the obstacle is defined as a constraint condition such that it lies outside a portion of the vehicle area at each of the predicted steps.

[0007] To solve the aforementioned problem and achieve the aforementioned goal, a vehicle path generation device according to the present disclosure includes: a self-position information acquisition unit configured to acquire information about a vehicle's position; a destination position information acquisition unit configured to acquire information about a destination position of the vehicle; an obstacle information acquisition unit configured to acquire information about an obstacle's position; and a computation execution unit. The computation execution unit sets a constraint condition so that, at each of the predicted steps, based on the vehicle's position, the vehicle's size, and the obstacle's position, the vehicle does not collide with the obstacle.and calculates a vehicle movement path by optimization calculation based on the constraint condition and a scoring function where a point value increases the smaller the deviation between the vehicle's position at each of the predicted steps and the target position becomes, wherein when setting the constraint condition, a vehicle area, which is an area that includes the vehicle's position at a predicted step, is defined based on the size of the vehicle, and the position of the obstacle is defined as a constraint condition such that it lies outside a portion of the vehicle area at each of the predicted steps.

[0008] To solve the above problem and achieve the objective, a vehicle according to the present disclosure includes the vehicle path generation device.

[0009] To solve the above problem and achieve the above goal, a program according to the present disclosure causes a computer to perform the following: acquiring information about the position of a vehicle; acquiring information about a target position of the vehicle; acquiring information about the position of an obstacle; setting a constraint condition so that the vehicle does not hit the obstacle at each of the predicted steps, based on the position of the vehicle, a size of the vehicle, and the position of the obstacle;and calculating a motion path of the vehicle by optimization calculation based on the constraint condition and a scoring function where a point value becomes higher the smaller the deviation between the position of the vehicle at each of the predicted steps and the target position becomes, wherein when setting the constraint condition a vehicle area, which is an area that includes the position of the vehicle at a predicted step, of the predicted steps, is defined based on the size of the vehicle, and the position of the obstacle is defined as a constraint condition such that it lies outside a portion of the vehicle area at each of the predicted steps. Advantageous effects of the invention

[0010] According to the present revelation, it is possible to define a path in such a way that an obstacle can be circumvented. Brief description of the drawings Fig. Figure 1 is a schematic representation of a vehicle control system according to a first embodiment. Fig. Figure 2 is a schematic block diagram of an administrative system. Fig. Figure 3 is a schematic block diagram of a vehicle according to a first embodiment. Fig. Figure 4 is a schematic block diagram of a control unit according to a second embodiment. Fig. Figure 5 is a schematic representation for describing a restriction condition. Fig. Figure 6 is a flowchart to describe a processing sequence of a control device according to the present embodiment. Fig. Figure 7 is a schematic representation to describe another example of a restriction condition. Description of embodiments

[0011] Preferred embodiments of the present invention are described in detail below with reference to the accompanying drawings. It should be noted that the present invention is not limited to these embodiments and, where a plurality of embodiments exist, the present invention is intended to include a configuration that combines these embodiments. First embodiment control system

[0012] Fig. Figure 1 is a schematic representation of a vehicle control system according to a first embodiment. As shown in Fig. As illustrated in Figure 1, a control system 1 according to the first embodiment includes a vehicle 10 and a management system 12. The vehicle 10 is a mobile body capable of, but not limited to, moving automatically, and can be a manned mobile body operated by a driver. The vehicle 10 can be a mobile body that travels on the ground, a mobile body that flies in the air, or a mobile body that moves in water. Thus, the vehicle 10 also includes a mobile body capable of moving in three dimensions, but for better understanding, the case in which the vehicle 10 moves in a two-dimensional plane is described below.Examples of the vehicle 10 moving on a two-dimensional plane include an automated guided vehicle (AGV), an automated guided vehicle (AGV), and the like, but the type of vehicle 10 can be arbitrary. Hereinafter, an area in which the vehicle 10 can move, i.e., an area in which the vehicle 10 is intended to move, is referred to as area AR. In the present embodiment, area AR is a two-dimensional plane, and a direction along the horizontal direction is the x-direction, and a direction along the horizontal direction and orthogonal to the x-direction is the y-direction. It should be noted that area AR can also be a three-dimensional space.

[0013] In the present embodiment, the vehicle 10 moves along a motion path R. The motion path R is set such that the vehicle 10 moves toward a target position P while avoiding an obstacle O present in the area AR. The obstacle O is an object that the vehicle 10 is to avoid. In the present embodiment, the obstacle O can be any object whose position can change, or an object that may be present at one time but not at another. In other words, in the present embodiment, the obstacle O is not a structure permanently fixed in a known position. It should be noted that the obstacle O is not limited to an inanimate object, but can also be, for example, a living object, including a human being. A method for setting the motion path R is described later. administrative system

[0014] The management system 12 is a system that manages the vehicle 10 and, in the present embodiment, determines the target position P of the vehicle 10. In the present embodiment, the management system 12 is a warehouse management system (WMS), but it is not limited to WMS and can be any system, such as a so-called floor system.

[0015] Fig. Figure 2 is a schematic block diagram of the management system. Management system 12 is a computer and includes, as shown in... Fig. Figure 2 illustrates a communication unit 20, a storage unit 22, and a control unit 24. The communication unit 20 is a communication module that communicates with an external device, such as the vehicle 10, and may, for example, be an antenna. The management system 12 uses wireless communication, but any communication method can be used. The storage unit 22 is a memory that stores various pieces of information, such as the computational content of the control unit 24 and programs, and may include, for example, at least one primary storage device, such as random-access memory (RAM) or read-only memory (ROM), and an external storage device, such as a hard disk drive (HDD). The program stored in the storage unit 22 for the control unit 24 may be stored on a recording medium that can be read by the management system 12.

[0016] The control unit 24 is a computing device and includes, for example, an arithmetic circuit such as a central processing unit (CPU). The control unit 24 includes a target position information acquisition unit 26. The control unit 24 reads a program (software) from the memory unit 22 and executes the program to implement the target position information acquisition unit 26 and perform the processing of the target position information acquisition unit 26. It should be noted that the control unit 24 can perform this processing with a single CPU or it can include a plurality of CPUs and perform the processing with the plurality of CPUs. The target position information acquisition unit 26 can be implemented by a hardware circuit.

[0017] The target position information acquisition unit 26 acquires the position information of the target position P of the vehicle 10. The target position information acquisition unit 26 specifies, for example, the work to be performed by the vehicle 10 and defines the target position P accordingly. However, the procedure for acquiring the position information of the target position P by the target position information acquisition unit 26 is arbitrary and can, for example, be specified by a user. The target position information acquisition unit 26 transmits the position information of the target position P of the vehicle 10 to the vehicle 10 via the communication unit 20.

[0018] It should be noted that the management system 12 is not an absolutely necessary component, and that, for example, vehicle 10 can define the target position P. vehicle

[0019] Fig. Figure 3 is a schematic block diagram of the vehicle according to the first embodiment. As in Fig. As illustrated in Figure 3, the vehicle 10 includes a control device 30, a communication unit 32, a self-position detection unit 34, an obstacle detection unit 36 ​​and a power unit 38. Communication unit

[0020] The communication unit 32 is a communication module that communicates with an external device, such as an antenna. The vehicle 10 uses wireless communication, but any communication method can be used. In the present embodiment, the vehicle 10 communicates with the management system 12 via the communication unit 32 to transmit and receive information. Self-position detection unit

[0021] The self-position detection unit 34 is a device that detects the position and orientation of the vehicle 10, i.e., its self-position and self-orientation. In the present embodiment, the position of the vehicle 10 refers to the coordinates of a position within the area AR in which the vehicle 10 is located. The orientation of the vehicle 10 refers to a direction in which the vehicle 10 is oriented and, in the present embodiment, refers to the orientation of the vehicle 10 (angle of rotation) when viewed from a direction orthogonal to the x and y directions. Hereinafter, unless otherwise specified, "position" and "orientation" have the same meanings as described above. The self-position detection unit 34 can detect a position and an orientation by any method.Examples of the specific configuration of the self-position detection unit 34 include a positioning device that detects a position using a positioning system such as a global positioning system (GPS). For example, the self-position detection unit 34 can be an inertial navigation system that detects a position relative to a predefined starting point. Furthermore, the self-position detection unit 34 can, for example, detect a position and orientation using a laser beam. In this case, for example, the self-position detection unit 34 can detect a position and orientation by illuminating a reflector provided in the AR area with a light beam and detecting the light beam reflected by the reflector. Obstacle detection unit

[0022] The obstacle detection unit 36 ​​is a sensor that detects the position and orientation of the obstacle O. The obstacle detection unit 36 ​​can be any sensor as long as it can detect the position and orientation of the obstacle O, and can be a sensor that uses, for example, 2D LiDAR (Light Detection and Ranging), 3D LiDAR, a camera, or the like. Power unit

[0023] The power unit 38 functions as an energy source for moving the vehicle 10. The specific configuration of the power unit 38 depends on the operating mode of the vehicle 10. For example, if the vehicle 10 is a ground-based vehicle, the power unit 38 includes a plurality of wheels and a drive motor that powers all or some of the plurality of wheels. The specific configuration of the power unit 38 illustrated here is merely an example and is not limited to it. The power unit 38 can function as an energy source that enables the vehicle 10 to move. Control device

[0024] The control device 30 is a device that controls the movement of the vehicle 10. The control device 30 is a computer and includes a control unit 40 and a storage unit 42. The storage unit 42 is a memory for storing various information, such as the calculation content of the control unit 40 and programs, and includes, for example, at least one primary storage device such as RAM or ROM and one external storage device such as an HDD. The program stored in the storage unit 42 for the control unit 40 can be stored on a recording medium that can be read by the control device 30.

[0025] Fig. Figure 4 is a schematic block diagram of the control unit according to a first embodiment. The control unit 40 is a computing device and includes an arithmetic circuit such as a CPU. As shown in Fig. As illustrated in Figure 4, the control unit 40 includes a target position information acquisition unit 50, a self-position information acquisition unit 52, an obstacle information acquisition unit 54, a computation execution unit 56, and a drive control unit 58. The control unit 40 reads a program (software) from the memory unit 42 and executes it to implement the target position information acquisition unit 50, the self-position information acquisition unit 52, the obstacle information acquisition unit 54, the computation execution unit 56, and the drive control unit 58, and performs the processing of these units. It should be noted that the control unit 40 can perform such processing with a single CPU or it can include a plurality of CPUs and perform the processing with the plurality of CPUs.At least some of the target position information acquisition unit 50, the own position information acquisition unit 52, the obstacle information acquisition unit 54, the calculation execution unit 56 and the drive control unit 58 can be implemented by a hardware circuit. Target Position Information Acquisition Unit

[0026] The destination position information acquisition unit 50 acquires the position information of destination position P, which is the destination of vehicle 10. The destination position information acquisition unit 50 acquires the position information of destination position P from the management system 12 via the communication unit 32. However, the destination position information acquisition unit 50 is not limited to acquiring the position information of destination position P from the management system 12, but can also define the destination position P itself. Own position information acquisition unit

[0027] The self-position information acquisition unit 52 acquires information about the position and orientation of the vehicle 10 itself. The self-position information acquisition unit 52 controls the self-position detection unit 34 to acquire position information (coordinate information) and orientation information (orientation information) of the vehicle 10 itself. Hereinafter, position information and orientation information are accordingly referred to as position and orientation information. The self-position information acquisition unit 52 sequentially acquires the position and orientation information of the vehicle 10 at predetermined time intervals. However, the self-position information acquisition unit 52 is not limited to acquiring the position and orientation of the vehicle 10 itself.For example, an external device such as the management system 12 can detect the position and orientation of the vehicle 10, and the self-position information acquisition unit 52 can record the detection result as the position and orientation of the vehicle 10. Obstacle Information Acquisition Unit

[0028] The obstacle information acquisition unit 54 acquires information about the position of obstacle O. The obstacle information acquisition unit 54 controls the obstacle detection unit 36 ​​to acquire the position information of obstacle O. The obstacle information acquisition unit 54 acquires the position information of obstacle O sequentially at predefined time intervals. However, the obstacle information acquisition unit 54 is not limited to acquiring the position of obstacle O itself. For example, an external device, such as the management system 12, can detect the position of obstacle O, and the obstacle information acquisition unit 54 can acquire the detection result from the management system 12 as position information of obstacle O. It should be noted that, in addition to the position of obstacle O, the obstacle information acquisition unit 54 can also acquire the orientation of obstacle O. Calculation execution unit

[0029] The computation execution unit 56 performs an optimization calculation to determine a driving condition for the vehicle 10 that can realize an optimized motion path R for the vehicle 10. The driving condition refers to an input value for operating the power unit 38 of the vehicle 10. In the present embodiment, the computation execution unit 56 sets a constraint condition to perform the optimization calculation so that the position of the vehicle 10 does not encounter the obstacle O at any of the predicted steps. Each of the predicted steps refers to a discrete time point after the current time (the time at which the position of the obstacle O and the position and orientation of the vehicle 10 were last detected).The computation execution unit 56 then performs the optimization calculation based on the constraint condition and an evaluation function, where a point value increases the smaller the deviation between the position of vehicle 10 at each of the predicted steps and the target position P becomes. It then calculates the driving condition of vehicle 10 that can realize the optimized motion path R of vehicle 10. The optimization calculation performed by the computation execution unit 56 is described in detail below. The following description uses the motion of vehicle 10 on a two-dimensional coordinate plane in the x- and y-directions as an example. However, the description is also applicable to a kinematic model in three-dimensional coordinates. Vehicle position at each of the predicted steps

[0030] Here, the optimized motion path R calculated by the computation execution unit 56 can be considered a set of position and orientation of the vehicle 10 at each of the predicted steps (each discrete time after the current time) and can be seen as a future path. Assuming that the position (coordinates) of the vehicle 10 in the x-direction and the y-direction [x, y] T Given that the orientation of vehicle 10 is θ, and the predicted step (discrete time) is k, the position and orientation of vehicle 10 at the predicted step k, i.e., the motion path R at the predicted step k, is represented by the following equation (1).

[0031] It should be noted that T stands for transpose. It should also be noted that, as described above, the description of the present embodiment is an example of motion on coordinates of two-dimensional planes, and, for example, in the case of a kinematic model on three-dimensional coordinates, the following equations and the like are adapted to the three-dimensional coordinates. Equation 1 p(k)=[x(k)y(k)θ(k)]T

[0032] In this case, the kinematic model of vehicle 10 is represented as in equation (2): Equation 2 p(k+1)=f(p(k),u(k),Δt)

[0033] Δt in equation (2) is the time interval relating to the transition from (k) to (k+1). Δt can be equal to one update cycle of the motion path R (a time interval from one update of the motion path R to the next update of the motion path R), but it can be shorter than the update cycle, or it can be longer than the update cycle, for example. By making Δt shorter than the update cycle, it is possible to generate a detailed motion path R and reduce computational effort. Furthermore, u(k) is a system input and relates to the driving condition of the vehicle 10. In the example of the present embodiment, u(k) is represented as in equation (3) using a speed v(k) of the vehicle 10 and a steering angle Φ(k) of the vehicle 10. Equation 3 u(k)=[v(k)ϕ(k)]T

[0034] Assuming motion on coordinates of a two-dimensional plane, a system state equation f is represented, for example, as shown in equation (4) below. Here, L refers to a wheelbase, which is, for example, the distance between a front wheel and a rear wheel. Equation 4 f(p(k),u(k),Δt)=[x(k)+Δt⋅v(k)⋅cos θ(k)y(k)+Δt⋅v(k)⋅sin θ(k)θ(k)+Δt⋅v(k)L⋅tanϕ(k)] Restriction condition

[0035] The computational execution unit 56 specifies a constraint condition that is used for the optimization calculation. The computational execution unit 56 positions the vehicle 10 at each of the predicted steps so that it does not collide with the obstacle O, based on the position of the vehicle 10, the size of the vehicle 10, and the position of the obstacle O as constraint conditions. That is, in the present embodiment, the constraint condition is set such that at each of the predicted steps, the vehicle 10 of this size does not collide with the obstacle O. It should be noted that in the example of the present embodiment, the size of the vehicle 10 is its width and length (lengths in the x-direction and the y-direction).The size of vehicle 10, for example, is pre-stored as design information in memory unit 42 or the like, and the computational execution unit 56 reads the information about the size of vehicle 10 from memory unit 42. However, the computational execution unit 56 can acquire the information about the size of vehicle 10 in any way.

[0036] Fig. Figure 5 is a schematic representation for describing a constraint condition. A procedure for defining a constraint condition is described in more detail below. As in Fig. As illustrated in Figure 5, the computation execution unit 56 defines the vehicle area AR, that is, an area encompassing the position of vehicle 10 at a predicted step, based on the size of vehicle 10. The computation execution unit 56 defines as vehicle area AR an area resulting from extending the position of vehicle 10 at a predicted step by an area equal to the size of vehicle 10. Then, as a constraint condition, the computation execution unit 56 specifies the position of obstacle O such that it lies outside the reach of vehicle area AR at each predicted step. That is, the computation execution unit 56 defines vehicle area AR at each of the predicted steps and specifies as a constraint condition the position of obstacle O such that it lies outside the reach of vehicle area AR at each of the predicted steps.In the example of . Fig. In section 5, an elliptical region centered around the position [x(k), y(k)] of vehicle 10, with length Dx in the x-direction of vehicle 10 as the major radius and length Dy in the y-direction of vehicle 10 as the minor radius, is defined as the vehicle region AR. However, the procedure for defining the vehicle region AR is not limited to this, and the vehicle region AR need not be elliptical, for example.

[0037] In the present embodiment, the computation execution unit 56 temporarily sets the position and orientation of the vehicle 10 at each of the predicted steps when a constraint condition is set. The computation execution unit 56 then calculates the position (coordinates) of the obstacle O in the coordinate system of the vehicle 10 at each of the predicted steps. That is, the computation execution unit 56 converts the position (coordinates) of the obstacle O in the coordinate system in the x- and y-directions, as acquired by the obstacle information acquisition unit 54, into a position (coordinates) with the position of the vehicle 10 at a predicted step as one of the coordinate centers. For example, the computation execution unit 56 uses the following equation (5) to calculate the position of the obstacle O in the coordinate system of the vehicle 10. Equation 5 [xob(k)yob(k)]=[cos(θ(k))sin(θ(k))−sin(θ(k))cos(θ(k))][xob'−x(k)yob'−y(k)]

[0038] It should be noted that [x' ob , y' ob ] the position of the obstacle O in the coordinate system in the x-direction and the y-direction, which was detected by the obstacle information acquisition unit 54, and [x ob (k), y ob (k)] T the position of the obstacle O in the coordinate system of vehicle 10 at a predicted step k.

[0039] Then, the computation execution unit 56 sets the following equation (6) as a constraint condition. Equation (6) is an equation that indicates that the position of the obstacle O is outside the reach of the vehicle area AR, which has an elliptical shape at each of the predicted steps. However, equation (6) is an example equation of a constraint condition for the case where the vehicle area AR has an elliptical shape, and an equation of the actual constraint condition will be determined depending on the shape and size of the vehicle area AR. Equation 6 (xob(k)Dx2)2+(yob(k)Dy2)2>1

[0040] It should be noted that the reason why a constraint condition can be solved in this way at each of the predicted steps is that the position and orientation of the vehicle 10 are temporarily determined at each of the predicted steps by their predictive computation based on a motion model. Optimization calculation

[0041] The computation execution unit 56 performs an optimization calculation based on the constraint condition set, as described above, and a scoring function where a score increases as the deviation between the position of vehicle 10 at each predicted step and the target position P decreases. That is, the computation execution unit 56 predicts a motion path that satisfies the constraint condition using the concept of model predictive control, scores the deviation between vehicle 10 and the target position P with respect to the position of vehicle 10 at each predicted step using a scoring function where a score increases as the distance of the ratio between vehicle 10 at each predicted step and the target position P decreases, and then determines the motion path R.This enables the computational execution unit 56 to determine the optimized motion path R, i.e., the optimized position and orientation of the vehicle 10 at each of the predicted steps. In other words, the computational execution unit 56 determines the optimized position and orientation (i.e., the optimized motion path R) of the vehicle 10 that satisfies the constraint condition that the position of the vehicle 10 does not encounter the obstacle O at each of the predicted steps and that the deviation between the position of the vehicle 10 at each of the predicted steps and the target position P is minimized.

[0042] In the present embodiment, it is assumed that a problem V (u,p,k) for optimizing the motion path R is represented by the following equation (7). Equation 7 V(u,p,k)=minu∑kJ(u,p,k)

[0043] Here, J(u,p,k) is an evaluation function that represents the goal of the optimization and is defined as a function that, in the case of path planning, includes approaching or reaching a target position. In the example of the present embodiment, the computation execution unit 56 defines the evaluation function J(u, p, k) as shown below in equation (8). Equation 8 J(u,p,k)=A1(x(k)−xT)2+A2(y(k)−yT)2+A3(θ(k)−θT)2

[0044] Here is p r = [x(k),y(k),θ(k)] T , i.e. x r , y r and θ r In equation (8), the target position and orientation are given. A1, A2, and A3 are weighting factors and can be arbitrarily defined. Under this weighting function, the deviation between the position and orientation (p(k)) of vehicle 10 at each of the predicted steps and the target position and orientation (p) is given. r) optimized so that it is minimized. That is, the optimization result is such that the vehicle approaches the target position and orientation with the shortest distance.

[0045] By executing the optimization calculation described above, the computational execution unit 56 obtains a value of u(k), which is a driving condition (system input) for each of the predicted steps, as an output (optimal solution) of the optimization calculation. The driving condition obtained by the computational execution unit 56 for each of the predicted steps can be referred to as a driving condition that realizes the optimized motion path R. The computational execution unit 56 can compute the optimized motion path R based on the driving condition obtained by the optimization calculation for each of the predicted steps. For example, the computational execution unit 56 can compute the optimized motion path R by substituting the value u(k) obtained by the optimization calculation into equation (2).

[0046] For example, a nonlinear optimization method such as sequential quadratic programming can be used to solve an optimization problem. The optimization method used here must be capable of solving an optimization problem subject to a constraint condition. It should be noted that, for example, if equation (2) or a constraint condition is a nonlinear function, the use of a nonlinear optimization method is preferable, and a linear optimization method may not be suitable. Drive control unit

[0047] The drive control unit 58 controls the vehicle 10 based on the driving condition detected by the computational execution unit 56. The drive control unit 58 drives the power unit 38 under the driving condition detected by the computational execution unit 56. Accordingly, the drive control unit 58 moves the vehicle 10 along the optimized motion path R.

[0048] In the preceding description, the computation execution unit 56 calculates, but is not limited to, a driving condition for each of the predicted steps as an output to realize the optimized motion path R by performing the optimization calculation. For example, the computation execution unit 56 can perform the optimization calculation to compute the optimized motion path R. In this case, the computation execution unit 56 can calculate a driving condition for each of the predicted steps based on the optimized motion path R. Furthermore, the computation execution unit 56 of the control device 30 calculates the motion path R, and another device or program can acquire the information about the motion path R from the control device 30 and calculate a driving condition.That is, the control device 30 can be seen as a path generation device configured to define the motion path R. Processing procedure

[0049] Next, a processing sequence according to the present embodiment will be described. Fig. Figure 6 is a flowchart describing a processing sequence of the control device according to the present embodiment. When determining the motion path R, the control device 30 acquires the position information of the target position P by the target position information acquisition unit 50. Furthermore, the control device 30 acquires the position and orientation information of the vehicle 10 and the position information of the obstacle O by the self-position information acquisition unit 52 and the obstacle information acquisition unit 54 (step S10). Subsequently, the control device 30 temporarily determines the position and orientation of the vehicle 10 at each of the predicted steps based on the position and orientation information of the vehicle 10 and the position information of the target position P by the computation execution unit 56 (step S12).The computation execution unit 56 then sets a constraint condition to prevent obstacle O and vehicle 10 from colliding (step S16), based on the position and orientation of vehicle 10 at each of the predicted steps, the size of vehicle 10, and the position information of obstacle O. It then performs an optimization calculation based on the set constraint condition and an evaluation function (step S18). If an optimal solution cannot be obtained (step S20; No), the processing returns to step S12 to redefine the position and orientation of vehicle 10 and repeat the calculation until an optimal solution is obtained. If an optimal solution is obtained as a result of the optimization calculation (step S20; Yes), the computation execution unit 56 captures as the optimal solution the driving condition that can realize the optimized motion path R.The drive control unit 58 controls the vehicle 10 based on the detected driving condition (step S24) to move the vehicle 10 along the motion path R. Then, if the motion path R is updated (step S26; Yes), for example, when the update period is reached, the processing returns to step S10, the latest positions of the vehicle 10 and the obstacle O are detected, and the subsequent processing is repeated based on these latest positions to update the motion path R. If the motion path R is not updated (step S26; No), and if the processing is not terminated (step S28; No), the processing returns to step S24 and the movement along the current motion path R continues. If the processing is to be terminated (step S28; Yes), the processing is terminated. impact

[0050] As described above, in the present embodiment, since the path of motion R is determined using the optimization calculation, it is possible to appropriately define a constraint condition for avoiding the obstacle O using an equation or the like, and it is possible to appropriately define the path of motion R so that the obstacle O can be avoided while driving towards the target position. Furthermore, in the present embodiment, a constraint condition is also defined taking into account the size of the vehicle 10. For example, the constraint condition is that the obstacle O lies outside the reach of the vehicle area AR. Accordingly, it is possible to define a path that allows the obstacle O to be avoided.Furthermore, since the size of vehicle 10 can also be reflected in a pre-calculated position of vehicle 10, it is not necessary to define an excessively large occupancy area that must not overlap with the obstacle O (here, with the vehicle area AR). Moreover, using an evaluation function that reduces deviation from a target, it is possible to generate the shortest path that allows for avoiding the obstacle O. It should be noted that a procedure for imposing a constraint on the optimization computation is not limited to the procedure described above, and a constraint can, for example, be integrated into an objective function V(u,p,k) or an evaluation function J(u,p,k). Furthermore, although the case of a single obstacle O is described as an example in the preceding description, a multitude of obstacles O may exist.

[0051] Since, in the present embodiment, the motion path R is determined by an optimization calculation, it is also possible to create a realizable motion path R by taking into account the kinematics of the actual vehicle 10. For example, in the case of a vehicle with a non-holonomic kinematic constraint that cannot move laterally, it is possible to generate the motion path R taking such a constraint into account. The condition for such a kinematic constraint can, for example, be integrated into equation (2).

[0052] In the present embodiment, the vehicle 10 encloses the control device 30, and the control device 30 enclosed within the vehicle 10 performs the process of determining the motion path R, such as an optimization calculation. However, the process of determining the motion path R, such as the optimization calculation, is not limited to being performed by the vehicle 10 and can be performed by an external device, such as the management system 12. In this case, the vehicle 10 can detect the driving condition and the motion path R obtained by an optimization calculation from an external device and control the vehicle 10 (power unit 38) using the driving condition and the detected motion path R. In other words, the control device 30 can be enclosed within the vehicle 10 or it can be enclosed in a device other than the vehicle 10.Furthermore, the functions of the target position information acquisition unit 50, the own position information acquisition unit 52, the obstacle information acquisition unit 54 and the calculation execution unit 56 may be included in the vehicle 10 or may be included in other devices. Further examples of restriction conditions

[0053] Further examples of constraints used for optimization calculations are described below. In the following examples, the motion path R can be calculated to obtain a driving condition as output, or a driving condition can be calculated that can realize the optimized motion path R. Consideration of the spatial displacement of the obstacle

[0054] For example, the computation execution unit 56 can define a constraint condition so that the position of vehicle 10 does not collide with obstacle O at any of the predicted steps, based on a spatial displacement Δd of obstacle O. Here, the spatial displacement Δd refers to a distance over which obstacle O is expected to move. In this case, the computation execution unit 56 acquires information about the spatial displacement Δd over which obstacle O will move during a period from the current time (the time at which the position of obstacle O is acquired) until a time of the predicted step, and sets the position of vehicle 10 as a constraint condition so that it does not collide with obstacle O even if obstacle O moves over the spatial displacement Δd.For example, the computation execution unit 56 can calculate the spatial displacement Δd using the equation (9) below. Equation 9 Δd=vob⋅Δt

[0055] Here is v ob the speed of the obstacle O. v ob can be obtained by any method. For example, v ob predefined or recognized by the calculation execution unit 56. As soon as v ob When detected, the calculation execution unit 56 can acquire a value acquired by a speedometer or perform a calculation based on the position of the vehicle 10 at any time acquired by the self-position information acquisition unit 52.

[0056] Fig.Figure 7 is a schematic representation describing another example of a constraint condition. In this example, the computation execution unit 56 defines a region, resulting from extending the position of vehicle 10 in a predicted step by an area equal to the size of vehicle 10 and the spatial displacement Δd, as vehicle area AR. Then, as a constraint condition, the computation execution unit 56 sets the position of obstacle O such that it lies outside the reach of vehicle area AR at each predicted step. Consequently, it can prevent obstacle O from colliding with vehicle 10, even if obstacle O is moving. Consideration of the size of the obstacle

[0057] For example, the computational execution unit 56 can define a constraint condition such that, based on the size of the obstacle O, the position of the vehicle 10 does not encounter the obstacle O at any of the predicted steps. In this case, the computational execution unit 56 acquires the information about the size of the obstacle O and defines as a constraint condition that the vehicle 10 does not encounter the obstacle O of this size. It should be noted that in the example of the present embodiment, the size of the obstacle O is its width and length (lengths in the x-direction and the y-direction). The computational execution unit 56 can acquire the size of the obstacle O by any method.For example, the computation execution unit 56 can calculate the size of the obstacle O based on the detection result of the obstacle detection unit 36, or it can pre-capture the information about the size of the obstacle O.

[0058] In the present example, the computation unit 56 defines a region as vehicle area AR, which results from extending the position of vehicle 10 in a predicted step by an area equal to the size of vehicle 10 and the size of obstacle O. Then, as a constraint condition, the computation execution unit 56 sets the position of obstacle O such that it lies outside the reach of vehicle area AR at each of the predicted steps. As a result, obstacle O can be more effectively prevented from affecting vehicle 10. It should be noted that the computation execution unit 56 can integrate both the spatial displacement Δd of obstacle O and the size of obstacle O into a single constraint condition.In this case, for example, the computation execution unit 56 defines as vehicle area AR an area which results from extending the position of the vehicle 10 in a predicted step by an area which corresponds to the size of the vehicle 10, the size of the obstacle O and the spatial displacement Δd of the obstacle O. Consideration of driving conditions

[0059] For example, the computational execution unit 56 can also define a constraint condition such that a driving condition lies within a predefined range. That is, the computational execution unit 56 defines the upper and lower limits of the system inputs, such as movement speed and steering angle, which depend on the performance or operating state of the vehicle 10. Accordingly, it is possible to appropriately generate a motion path R that is feasible for the vehicle 10. For example, the computational execution unit 56 can define a driving condition such that, as the constraint condition, it lies within a predefined range, as shown below in equation (10): Equation 10 umin <u(k)<umax

[0060] Here is u min the lower limit of a driving condition, u maxthe upper limit of a driving condition and both can be arbitrarily set based on the performance or operating condition of the vehicle 10 or the like.

[0061] Furthermore, the computational execution unit 56 can also specify, as a constraint condition, that a change in a driving condition per unit of time lies within a predefined range. That is, the computational execution unit 56 defines the upper and lower limits of the time span of a change in a system input, such as motion acceleration and steering angle acceleration, which depend on the power or operating state of the vehicle 10 or the like, and generates a feasible motion path R. For example, the computational execution unit 56 can specify a driving condition as a constraint condition that lies within a predefined range, as shown below in equation (11): Equation 11 amin <u(k+1)−u(k)Δt<amax

[0062] Here is a min the lower limit of a change in a driving condition per unit of time, a max is the upper limit of a change in a driving condition per unit of time, and both can be arbitrarily defined based on the performance or operating state of the vehicle 10 or the like. Furthermore, for example, the term {u(k + 1) - u(k) / Δt} in equation (11) can be a root mean square or an absolute value. Consideration of vehicle position

[0063] For example, the computational execution unit 56 can also specify the position and orientation of the vehicle 10 in a predicted step such that they lie within a predefined area as a constraint condition. That is, the computational execution unit 56 detects in advance an area that the vehicle 10 cannot enter, such as an area containing a structure whose position is known in advance, and sets a constraint condition such that the vehicle 10 is within an area that the vehicle 10 can enter. Accordingly, it is possible to appropriately generate a feasible motion path R for the vehicle 10. For example, the computational execution unit 56 can set a constraint condition so that the position and orientation of the vehicle 10 lie within a predefined area, as shown below in equation (12). Equation 12 pmin <p(k)<pmax

[0064] Here is p min the lower limit of the position and orientation of the vehicle 10, p max The upper limit of the position and orientation of the vehicle 10 is defined, and both can be arbitrarily determined based on the position of a structure or the like. The constraint condition specifies that the position and orientation of the vehicle 10 must be within a predetermined range, but the constraint is not limited to being imposed on both the position and orientation of the vehicle 10 and can be defined such that at least one of the position and orientation of the vehicle 10 lies within a predetermined range. Second embodiment

[0065] Next, a second embodiment is described. In the first embodiment, the driving condition is defined as the speed and steering angle of the vehicle 10. The second embodiment differs from the first in that the driving condition is defined as the speed and turning radius of the vehicle 10. The second embodiment omits the description of parts that have the same configuration as in the first embodiment. In the second embodiment, the motion path R can also be calculated to obtain a driving condition as output, or a driving condition that can realize an optimized motion path R can be calculated.

[0066] In the second embodiment, the computational execution unit 56 specifies the speed of vehicle 10 and the turning radius of vehicle 10 as system inputs, i.e., the driving condition. The turning radius is the inverse of the radius (radius of curvature) of a circle that vehicle 10 traces, assuming that vehicle 10 is traveling at the current steering angle. For example, a turning radius c(k) at a predicted step k is defined as follows in equation (13): Equation 13 c(k)=1L⋅tanϕ(k)

[0067] In the first embodiment, the kinetic model of vehicle 10 is represented as in equation (2) because the speed and steering angle of vehicle 10 are fixed as driving conditions. However, if the speed and turning radius of vehicle 10 are set as driving conditions, as in the second embodiment, the kinetic model of vehicle 10 is represented, for example, as in equation (14) below. Equation 14 f(p(k),u(k),Δt)=[x(k)+Δt⋅v(k)⋅cos θ(k)y(k)+Δt⋅v(k)⋅sin θ(k)θ(k)+Δt⋅v(k)⋅c(k)]

[0068] In the second embodiment, the computational execution unit 56 performs the optimization calculation according to the same procedure as in the first embodiment, except that a driving condition is modified to the speed and turning radius of the vehicle 10 in order to obtain the optimal solution for a driving condition. The optimal solution for a driving condition in the second embodiment is obtained as the speed and turning radius of the vehicle 10. The computational execution unit 56 can, for example, insert a turning radius obtained as the optimal solution into equation (13) to calculate a steering angle and can control the vehicle 10 using the steering angle as a driving condition.

[0069] Even in the case where a spatial curvature is used as a driving condition, as in the second embodiment, it is possible to impose the restriction condition on the driving condition. In this case, for example, a limit can be set on the turning curvature itself, or a limit can be set by converting the turning curvature into a steering angle as shown below in equation (15). Here, c max the limit of a turning curvature and Φ max is the limit of a steering angle. Equation 15 cmax=1L⋅tan ϕmax

[0070] Since, as in the second embodiment, the trigonometric function tanΦ can be eliminated from the optimization calculation by using a turning curvature as a driving condition, it is possible to reduce the computational effort. Effects of the present disclosure

[0071] As described above, the path generation method of vehicle 10 according to the present disclosure includes: acquiring information about the position of vehicle 10; acquiring information about the target position P of vehicle 10; acquiring information about the position of obstacle O; setting a constraint condition so that vehicle 10 does not encounter obstacle O at any of the predicted steps, based on the position of vehicle 10, the size of vehicle 10 and the position of obstacle O; and calculating the motion path R of vehicle 10 by optimization computation based on the constraint condition and an evaluation function, where a point value becomes higher the smaller the deviation between the position of vehicle 10 at each of the predicted steps and the target position P.According to the present procedure, since the constraint condition is determined taking into account the size of vehicle 10 and the path of motion R is determined using an optimization calculation, it is possible to appropriately define a path that allows the obstacle O to be avoided. Furthermore, since the size of vehicle 10 can also be reflected in a pre-calculated position of vehicle 10, it is not necessary to define an excessively large occupancy area that must not overlap with obstacle O (here with the vehicle area AR).

[0072] In the step of defining the constraint condition, the vehicle area AR, which is an area encompassing the position of vehicle 10 at a predicted step, is determined based on the size of vehicle 10, and the position of obstacle O is defined as a constraint condition such that it lies outside the reach of vehicle area AR at each of the predicted steps. According to the present method, by using vehicle area AR as a constraint condition in this way, it is possible to appropriately define a path that allows the avoidance of obstacle O.

[0073] In the step of defining the constraint condition, the vehicle area is also defined based on the spatial displacement of the obstacle O. By additionally including the spatial displacement of the obstacle O in the vehicle area AR, it is thus possible to appropriately define a path that allows the avoidance of the obstacle O.

[0074] In the step of defining the constraint condition, the vehicle area is also defined based on the size of the obstacle O. By additionally including the size of the obstacle O in the vehicle area AR, it is thus possible to appropriately define a path that allows the obstacle O to be avoided.

[0075] In the step of defining the constraint condition, the driving condition of vehicle 10 is further defined as the constraint condition within a previously defined range. By imposing the constraint condition on the driving condition in this way, it is possible to appropriately generate a feasible motion path R for vehicle 10.

[0076] In the step of defining the constraint condition, the position of vehicle 10 at a predicted step is further defined as being within a predefined range as the constraint condition. By thus imposing a constraint on the position of vehicle 10, it is possible to appropriately generate a feasible motion path R for vehicle 10.

[0077] The present path generation method further includes a step of calculating the driving condition of vehicle 10 based on a motion path R of vehicle 10. This makes it possible to calculate the driving condition of vehicle 10 that can realize an optimized motion path R and to control vehicle 10 accordingly.

[0078] The present path generation method can define the speed and steering angle of vehicle 10 as driving conditions. By performing an optimization calculation using the speed and steering angle of vehicle 10 as driving conditions, it is possible to obtain the speed and steering angle as outputs and to control vehicle 10 accordingly.

[0079] The present path generation method can define the speed and turning radius of vehicle 10 as driving conditions. By performing an optimization calculation using the turning radius of vehicle 10 as a driving condition, it is possible to reduce the computational effort of the optimization calculation and shorten the processing time.

[0080] The present path generation procedure includes a step of controlling vehicle 10 based on the defined driving condition of vehicle 10. According to the present path generation procedure, vehicle 10 can avoid obstacle O accordingly.

[0081] The control device 30 (path generation device) according to the present disclosure includes the self-position information acquisition unit 52, which acquires information about the position of the vehicle 10, the target position information acquisition unit 50, which acquires information about the target position P of the vehicle 10, the obstacle information acquisition unit 54, which acquires information about the position of the obstacle O, and the computation execution unit 56. The computation execution unit 56 sets a constraint condition so that the vehicle 10 does not encounter the obstacle O at each of the predicted steps, based on the position of the vehicle 10, the size of the vehicle 10, and the position of the obstacle O.The calculation execution unit 56 then performs an optimization calculation based on the constraint condition and an evaluation function, where a point value becomes higher the smaller the deviation between the position of the vehicle 10 at each of the predicted steps and the target position P becomes, and calculates the movement path R of the vehicle 10. According to the control device 30, it is possible to appropriately determine a path that allows the obstacle O to be avoided.

[0082] The vehicle 10 according to the present disclosure includes the control unit 30. The vehicle 10 can avoid the obstacle O.

[0083] The program according to the present disclosure causes a computer to perform the following actions: acquiring information about the position of vehicle 10; acquiring information about the target position P of vehicle 10; acquiring information about the position of obstacle O; setting a constraint condition so that vehicle 10 does not encounter obstacle O at any of the predicted steps, based on the position of vehicle 10, a size of vehicle 10, and the position of obstacle O; and calculating the path of motion R of vehicle 10 by means of an optimization calculation based on the constraint and an evaluation function, where a point value increases the smaller the deviation between the position of vehicle 10 at each of the predicted steps and the target position P. According to the present program, it is possible to appropriately determine a path that allows the vehicle to avoid obstacle O.

[0084] The embodiment of the present disclosure is described above, but the embodiment is not limited by the details of the preceding embodiment. Furthermore, the constituent elements of the embodiment described above include elements that a person skilled in the art can readily imagine and elements that are essentially the same, i.e., elements of an equivalent scope. Moreover, the constituent elements described above can be combined in a suitable manner. It is also possible to make various omissions, substitutions, and modifications to the constituent elements within a scope that does not differ from that of the embodiment described above. List of reference symbols 10 vehicles 30 Control device (path generation device) 50 Target Position Detection Unit 52 Own position detection unit 54 Obstacle Information Acquisition Unit 56 Calculation execution unit 58 Drive control unit O obstacle P Target position

Claims

[1] Vehicle path generation methods, comprising: Gathering information about the position of a vehicle; Gathering information about the vehicle's target position; Gathering information about the position of an obstacle; Establishing a constraint condition so that the vehicle does not collide with the obstacle at any of the predicted steps, based on the vehicle's position, the vehicle's size, and the obstacle's position; and Calculating a vehicle's movement path through optimization calculation based on the constraint condition and a scoring function, where a point value becomes higher the smaller the deviation between the vehicle's position at each predicted step and the target position becomes. wherein, when setting the constraint condition, a vehicle area, which is an area that includes the position of the vehicle at a predicted step, of the predicted steps, is defined based on the size of the vehicle, and the position of the obstacle is defined as a constraint condition such that at each of the predicted steps it lies outside an area of ​​the vehicle area. [2] Vehicle path generation method according to claim 1, wherein the vehicle area is also determined based on a spatial displacement of the obstacle when defining the restriction condition. [3] Vehicle path generation method according to claim 1 or 2, wherein when determining the restriction condition, the vehicle area is also determined based on the size of the obstacle. [4] Vehicle path generation method according to one of claims 1 to 3, wherein when determining the restriction condition, a driving condition of the vehicle is further defined such that it lies within a previously defined range as the restriction condition. [5] Vehicle path generation method according to any one of claims 1 to 4, wherein when determining the constraint condition, the position of the vehicle at each of the predicted steps is further determined such that it lies within a predetermined range as the constraint condition. [6] Vehicle path generation method according to any one of claims 1 to 5, further comprising: Calculating the vehicle's driving conditions based on the vehicle's motion path. [7] Vehicle path generation method according to claim 6, wherein a speed and a steering angle of the vehicle are defined as the driving condition of the vehicle. [8] Vehicle path generation method according to claim 6, wherein the speed and a turning curvature of the vehicle are defined as the driving condition of the vehicle. [9] Vehicle path generation method according to any one of claims 6 to 8, further comprising: Controlling the vehicle based on the driving conditions of the vehicle set. [10] Vehicle path generation device comprising: a self-positioning information acquisition unit configured to acquire information about the position of a vehicle; a target position information acquisition unit configured to acquire information about a target position of the vehicle; an obstacle information acquisition unit configured to acquire information about the position of an obstacle; and a computational execution unit, where the computational execution unit is configured as follows: Establishing a constraint condition so that the vehicle does not collide with the obstacle at any of the predicted steps, based on the vehicle's position, the vehicle's size, and the obstacle's position; and Calculating a vehicle's movement path through optimization calculation based on the constraint condition and a scoring function, where a point value becomes higher the smaller the deviation between the vehicle's position at each predicted step and the target position becomes. wherein, when setting the constraint condition, a vehicle area, which is an area that includes the position of the vehicle at a predicted step, of the predicted steps, is defined based on the size of the vehicle, and the position of the obstacle is defined as a constraint condition such that at each of the predicted steps it lies outside an area of ​​the vehicle area. [11] Vehicle comprising the vehicle path generation device according to claim 10. [12] Program that causes a computer to perform the processing, the processing comprising: Gathering information about the position of a vehicle; Gathering information about the vehicle's target position; Gathering information about the position of an obstacle; Establishing a constraint condition so that the vehicle does not collide with the obstacle at any of the predicted steps, based on the vehicle's position, the vehicle's size, and the obstacle's position; and Calculating a vehicle's movement path through optimization calculation based on the constraint condition and a scoring function, where a point value becomes higher the smaller the deviation between the vehicle's position at each predicted step and the target position becomes. wherein, when setting the constraint condition, a vehicle area, which is an area that includes the position of the vehicle at a predicted step, of the predicted steps, is defined based on the size of the vehicle, and the position of the obstacle is defined as a constraint condition such that at each of the predicted steps it lies outside an area of ​​the vehicle area.

Citation Information

Patent Citations

  • Motion control method, motion control device, motion control system, program and storage medium for multiple vehicles

    DE112019005057T5

  • Autonomous mobile body controller and autonomous mobile body

    JP2020004095A

  • Travel support system, travel support method, and work vehicle

    US20170367252A1

  • JP002020004095A