The present disclosure relates to a vehicle control device that performs automated driving of a vehicle or provides driving assistance.
For example, Patent Document 1 below discloses a vehicle control device. This vehicle control device stores, for each point in time, a relative position of a preceding vehicle to be followed by a subject vehicle with respect to the subject vehicle, performs polynomial approximation of a series of the stored relative positions to calculate a route of the subject vehicle, and makes the subject vehicle travel along the calculated route to make the subject vehicle follow the preceding vehicle while traveling.
Patent Document 1: Japanese Patent Application Laid-Open No. 2019-131149
The technology of Patent Document 1 has difficulty in making the subject vehicle precisely follow the preceding vehicle, for example, when the preceding vehicle is steered at a right angle (turns right or left) at an intersection or makes a U-turn. This is because the stored relative positions of the preceding vehicle greatly differ from the route obtained by the polynomial approximation. This causes the traveling route of the subject vehicle to deviate from the traveling route of the preceding vehicle. Thus, the passenger of the subject vehicle may feel uncomfortable.
The present disclosure has been conceived to solve the problems, and has an object of providing a vehicle control device that can precisely calculate a route through which the subject vehicle needs to travel, even when the subject vehicle is steered at a right angle or makes a U-turn.
A vehicle control device according to the present disclosure includes: a reference route generator to obtain point-series information including information on a plurality of sets of coordinates through which a subject vehicle needs to travel, and approximate, by polynomials, a longitudinal position and a lateral position of the subject vehicle based on the plurality of sets of coordinates to generate a reference route represented by the polynomials, each of the polynomials being a function of a route length from a preset reference point; a planned traveling distance computing unit to calculate a planned traveling distance that is a distance that the subject vehicle needs to travel in a unit time of a predefined length; a target value computing unit to calculate a target position that is a target value of a position of the subject vehicle after the unit time, based on the polynomial of the longitudinal position of the subject vehicle, the polynomial of the lateral position of the subject vehicle, and the planned traveling distance; and a vehicle controller to control an actuator of the subject vehicle so that an error between the position of the subject vehicle after the unit time and the target position is reduced.
According to the present disclosure, a reference route through which a subject vehicle needs to travel is calculated by approximating a longitudinal position and a lateral position of the subject vehicle by polynomials each of which is a function of a route length from a reference point. Even when the subject vehicle is steered at a right angle or makes a U-turn, the reference route can be precisely expressed.
The object, features, aspects and advantages of the present disclosure will become more apparent from the following detailed description and the accompanying drawings.
The external sensor 110 is a sensor that detects a position of, for example, an obstacle or a dividing line around the subject vehicle. The external sensor 110 includes, for example, a forward camera that detects a position, an angle, and a curvature of a road dividing line, and a radar that obtains a position and a speed of a preceding vehicle that the subject vehicle follows. Furthermore, the external sensor 110 may include a light detection and ranging (LiDAR), a sonar, an inter-vehicle communication device, and a roadside-to-vehicle communication device.
The locator 120 is a device that distributes map information on a road through which the subject vehicle needs to travel and the surrounding area, based on position information of the subject vehicle and map information. Examples of a method for the locator 120 to obtain the position information of the subject vehicle may include a method for calculating the position information from a positioning signal received from a Global Navigation Satellite System (GNSS) satellite, and a method for calculating the position information from a relative position of a feature and map information around the subject vehicle which have been obtained by, for example, the LiDAR.
The vehicle sensor 130 obtains information on states of the subject vehicle such as a speed, an acceleration, an orientation, and an angular velocity of the subject vehicle. The vehicle sensor 130 includes, for example, a steering angle sensor, a steering torque sensor, a yaw rate sensor, a speed sensor, and an acceleration sensor.
The EPS controller 311, the powertrain controller 312, and the brake controller 313 are controllers that control an EPS motor 5, a powertrain unit 6, and brake units 7 for attaining target values of the steering angle, the driving force, and the braking force of the subject vehicle, respectively.
The vehicle control unit 200 is a unit that controls operations of the vehicle. The vehicle control unit 200 computes the target values of the steering angle, the driving force, and the braking force of the subject vehicle, and enters the target values into the EPS controller 311, the powertrain controller 312, and the brake controller 313. The vehicle control unit 200 is an integrated circuit such as a microprocessor, and includes a memory in which various programs are stored such as a read only memory (ROM) or a random access memory (RAM), and a processor that executes the programs such as a central processing unit (CPU). The processor executes a program, so that functions of the vehicle control unit 200 are performed. Specific examples of the vehicle control unit 200 include an advanced driver-assistance systems Electronic Control Unit (ADAS-ECU). The details of the vehicle control unit 200 will be described later.
The steering wheel 2 is also called a hand wheel for the driver to operate the subject vehicle 1. The steering wheel 2 is joined to the steering axle 3 communicating to the steering unit 4. The steering unit 4 rotatably supports the front wheels as the steering tires, and is supported by a car frame so that the steering unit 4 can be steered. Thus, a steering torque generated by the driver through operating the steering wheel 2 causes the steering axle 3 to rotate. The steering unit 4 horizontally steers the front wheels according to the rotation of the steering axle 3. Consequently, the driver can manipulate an amount of lateral movement of the subject vehicle 1 when the subject vehicle 1 moves forward or backward.
The steering axle 3 may be rotated by the EPS motor 5. The EPS controller 311 controls the current that flows through the EPS motor 5, so that the front wheels can be steered independent of the operation of the steering wheel 2 by the driver.
The vehicle control unit 200 is connected to the forward camera 111, the radar sensor 112, the GNSS sensor 121, the navigation device 122, the steering angle sensor 131, the steering torque sensor 132, the yaw rate sensor 133, the speed sensor 134, the acceleration sensor 135, the EPS controller 311, the powertrain controller 312, and the brake controller 313.
The forward camera 111 is disposed in a position where dividing lines ahead of the vehicle can be detected as an image, and detects a forward environment of the subject vehicle such as the lane information or a position of an obstacle, based on the image information. Although
The GNSS sensor 121 receives radio waves from a positioning satellite via an antenna, and outputs an absolute position and an absolute orientation of the subject vehicle 1 through positioning computation. The navigation device 122 has a function of computing the optimal traveling route to a destination set by the driver. Map data including road information on roads included in a road network is stored in the navigation device 122. The road information is map node data for representing road alignments. Each map node data includes information on, for example, an absolute position (a latitude, a longitude, an altitude) of a node, a lane width, a road curvature, an angle of cant, and an angle of dip. The locator 120 illustrated in
The steering angle sensor 131 detects a steering angle of the steering wheel 2. The steering torque sensor 132 detects a steering torque of the steering axle 3. The yaw rate sensor 133 detects a yaw rate of the subject vehicle 1. The speed sensor 134 detects a speed of the subject vehicle 1. The acceleration sensor 135 detects an acceleration of the subject vehicle 1. The vehicle sensor 130 illustrated in
Although
Referring back to
The set-of-coordinates generator 210 generates point-series information including a plurality of sets of coordinates indicating a plurality of positions through which the subject vehicle needs to travel, based on at least one of road dividing line information and a position information history of the preceding vehicle that are obtained from the external sensor 110, and the map information obtained from the locator 120. For example, when the vehicle control unit 200 performs lane keeping control on the subject vehicle, the set-of-coordinates generator 210 generates the point-series information at least based on the road dividing line information. When the vehicle control unit 200 makes the subject vehicle follow the preceding vehicle, the set-of-coordinates generator 210 generates the point-series information at least based on the position information history of the preceding vehicle. When the vehicle control unit 200 makes the subject vehicle travel along a route to a destination, the set-of-coordinates generator 210 generates sets of coordinates at least based on the map information. The set-of-coordinates generator 210 may generate the point-series information from combinations of two or more of the road dividing line information, the position information history, and the map information.
For simplifying the following description, a set of coordinates generated by the set-of-coordinates generator 210 and indicating a position through which the subject vehicle needs to travel will be simply referred to as “a set of coordinates”, and point-series information including a plurality of sets of coordinates generated by the set-of-coordinates generator 210 will be simply referred to as “point-series information”.
The vehicle control device 201 includes a reference route generator 220, a planned traveling distance computing unit 230, a target value computing unit 240, and a vehicle controller 250.
The reference route generator 220 calculates a route length from a preset reference point to each set of coordinates (chronological distances between the sets of coordinates), based on the point-series information generated by the set-of-coordinates generator 210, and performs polynomial approximation that approximates the plurality of sets of coordinates by polynomials each of which is a function of the route length from the reference point to generate a reference route to be a route for reference.
Operations of the reference route generator 220 will be described with reference to the flowchart in
Next, the reference route generator 220 sets, near the subject-vehicle position, a reference point for reference for calculating a route length (Step S222). The position of the reference point is set on a set of coordinates, between sets of coordinates, or on an extension of a line or a curve connecting the sets of coordinates.
Next, the reference route generator 220 determines a route length L from the reference point set in Step S222 to each set of coordinates (Step S223). According to Embodiment 1, a linear distance from the reference point to a set of coordinates is defined as the route length L. The definition of the route length L is not limited to this. For example, a distance obtained by line integrating the curve obtained by approximating a plurality of sets of coordinates by polynomial functions or spline functions may be defined as the route length L. Furthermore, when a set of coordinates is obtained as three-dimensional coordinates including an altitude (a height above the sea level), the route length L may be defined as a three-dimensional distance from the reference point to the set of coordinates. Here, the planned traveling distance computing unit 230 calculates a planned traveling distance as a three-dimensional distance.
Then, the reference route generator 220 performs polynomial approximation that approximates an x coordinate (a subject-vehicle longitudinal position) and a y coordinate (a subject-vehicle lateral position) in the sets of coordinates by m-th degree polynomials (M is an integer greater than or equal to 1) each of which is a function of the route length L (Step S224). For example, the plurality of sets of coordinates in
In Embodiment 1, the reference route generator 220 approximates, by cubic polynomials, the subject-vehicle longitudinal position x and the subject-vehicle lateral position y. Here, the subject-vehicle longitudinal position x and the subject-vehicle lateral position y are expressed by Equation 101 and Equation 102 below, respectively. The reference route generator 220 calculates a value of each coefficient included in Equation 101 and Equation 102.
[Math 1]
x=f
x(L)=C3xL3+C2xL2+C1xL+C0x (Equation 101)
[Math 2]
y=f
y(L)=C3yL3+C2yL2+C1yL+C0y (Equation 102)
Although the point-series information obtained by the reference route generator 220 includes only the x coordinate (subject-vehicle longitudinal position) and the y coordinate (subject-vehicle lateral position) of each set of coordinates in Embodiment 1, the point-series information may include information other than these, for example, a speed and a yaw rate at which the subject vehicle needs to travel at the set of coordinates, a road curvature at the set of coordinates, and an azimuth angle of the road. When the point-series information includes such information, the reference route generator 220 may approximate the information by a polynomial. In other words, the reference route generator 220 may approximate any information by a polynomial, according to the details of the point-series information obtained from the set-of-coordinates generator 210, and a parameter for which the vehicle controller 250 calculates a target value.
The planned traveling distance computing unit 230 calculates a planned traveling distance that is a distance that the subject vehicle needs to travel in a predefined unit time, based on one or both of the speed and a target speed of the subject vehicle. Assuming that Vtg denotes the speed or the target speed of the subject vehicle and Δt denotes the unit time all of which are used for computing a planned traveling distance, the planned traveling distance Ltg of the subject vehicle in a unit time is expressed as Ltg=VtgΔt.
The target value computing unit 240 computes a target value of each parameter to be used for controlling an actuator of the subject vehicle, based on the reference route expressed by the polynomial generated by the reference route generator 220, and the planned traveling distance of the subject vehicle calculated by the planned traveling distance computing unit 230. Specifically, the planned traveling distance computing unit 230 calculates a target position that is a target value of a position of the subject vehicle after the unit time, and a target azimuth angle that is a target value of an azimuth angle of the subject vehicle after the unit time. Furthermore, the target value computing unit 240 calculates a target steering angle that is a target value of a steering angle of the subject vehicle after the unit time, from the target position and the target azimuth angle of the subject vehicle, and a road curvature at the target position.
As illustrated in
[Math 3]
x
tg
f
x(Ltg)=C3xLtg3+C2xLtg2+C1xLtg+C0x (Equation 103)
[Math 4]
y
tg
=f
y(Ltg)=C3yLtg3+C2yLtg2+C1yLtg+C0y (Equation 104)
Here, each of the target azimuth angle θtg and the road curvature κtg of the subject vehicle can be calculated using a cubic polynomial with x and y as follows.
When the point-series information includes information on the azimuth angle at which the subject vehicle needs to travel at each set of coordinates and on the road curvature at each of the sets of coordinates, each of the target azimuth angle θtg and the road curvature κtg of the subject vehicle may be calculated using a cubic polynomial as follows.
[Math 7]
θtg=fθ(Ltg)=C3θLtg3+C2θLtg2+C1θLtg+C0θ (Equation 107)
[Math 8]
κtg=fκ(Ltg)=C3κLtg3+C2κLtg2+C1κLtg+C0κ (Equation 108)
The vehicle controller 250 calculates control target values for the actuator, specifically, a target steering angle, a target driving force, and a target braking force so that an error between the position of the subject vehicle at the current time which is obtained by the vehicle sensor 130 and the target position of the subject vehicle which is calculated by the target value computing unit 240 and an error between the azimuth angle of the subject vehicle at the current time which is obtained by the vehicle sensor 130 and the target azimuth angle of the subject vehicle which is calculated by the target value computing unit 240 are reduced and so that the steering angle and the speed of the subject vehicle become values corresponding to the target curvature of the subject vehicle. Then, the vehicle control unit 250 transmits the target steering angle to the EPS controller 311, transmits the target driving force to the powertrain controller 312, and transmits the target braking force to the brake controller 313.
The EPS controller 311 controls the EPS motor 5 so that the EPS motor 5 attains the target steering angle received from the vehicle control unit 250. The powertrain controller 312 controls the powertrain unit 6 so that the powertrain unit 6 attains the target driving force received from the vehicle control unit 250. The brake controller 313 controls the brake units 7 so that the brake units 7 attain the target braking force received from the vehicle control unit 250. Consequently, the subject vehicle is controlled so that the subject vehicle travels along the reference route expressed by Equations 101 and 102.
While the driver controls the steering of the subject vehicle, the EPS controller 311 controls the EPS motor 5 based on a steering torque of the steering wheel 2. While the driver controls the speed of the subject vehicle, the powertrain controller 312 controls the powertrain unit 6 based on a depression amount of an accelerator pedal, and the brake controller 313 controls the brake units 7 based on a depression amount of a brake pedal.
Although the target value computing unit 240 calculates target values of the position and the azimuth angle of the subject vehicle, and the curvature of the road on which the subject vehicle travels in the description above, for example, when the point-series information includes information on the yaw rate at which the subject vehicle needs to travel at each set of coordinates, the reference route generator 220 may approximate the yaw rate at which the subject vehicle needs to travel at each set of coordinates by a polynomial that is a function of a route length from the reference point, and the target value computing unit 240 may calculate a target yaw rate that is a target value of the yaw rate of the subject vehicle after the unit time, from the polynomial and the planned traveling distance. Here, the vehicle controller 250 controls the actuator so that an error between the target yaw rate and the yaw rate of the subject vehicle obtained by the vehicle sensor 130 after the unit time is reduced.
As described above, the vehicle control unit 200 according to Embodiment 1 includes: the set-of-coordinates generator 210 that generates point-series information including a plurality of sets of coordinates representing a plurality of positions through which the subject vehicle needs to travel; and the vehicle control device 201 that performs polynomial approximation of the plurality of sets of coordinates included in the point-series information to calculate a reference route, and calculates a target steering angle, a target driving force, and a target braking force for making the subject vehicle travel along the reference route. Since the vehicle control device 201 approximates the plurality of sets of coordinates by polynomials each of which is a function of a route length from the reference point to calculate a reference route, even when the subject vehicle is steered at a right angle or makes a U-turn, the vehicle control device 201 can precisely express the reference route through which the subject vehicle needs to travel. This improves the route following performance in the automatic control for the subject vehicle.
When a vehicle moves backward, the planned traveling distance computing unit 230 sets the speed or the target speed (Vtg) of the subject vehicle which is used for calculating the planned traveling distance of the subject vehicle to a negative value. This enables the target value computing unit 240 to calculate a target position when the vehicle moves backward. Thus, Embodiment 1 is applicable not only when the subject vehicle moves forward but also when the subject vehicle moves backward.
Furthermore, assuming a forward gaze time as the unit time (Δt) to be used by the planned traveling distance computing unit 230 for calculating the planned traveling distance, the subject vehicle can be controlled so that the subject vehicle travels toward a forward gaze point, and can travel without making the passenger of the subject vehicle feel uncomfortable. Here, the forward gaze point is a location at which the driver is assumed to gaze in manually driving the subject vehicle. The forward gaze time is defined as a time required for the subject vehicle to reach the forward gaze point.
Although Embodiment 1 describes a configuration of connecting all of the EPS controller 311, the powertrain controller 312, and the brake controller 313 to the vehicle control unit 200, for example, the powertrain controller 312 and the brake controller 313 need not be connected to the vehicle control unit 200 when the vehicle control unit 200 does not control acceleration and deceleration of the subject vehicle.
As described above, the vehicle control unit 200 is an integrated circuit such as a microprocessor, and includes an A/D conversion circuit, a D/A conversion circuit, a processor such as a central processing unit (CPU), and a memory such as a read only memory (ROM) or a random access memory (RAM). The processor of the vehicle control unit 200 processes information received from the external sensor 110, the locator 120, and the vehicle sensor 130, according to a program stored in the ROM to perform functions of the set-of-coordinates generator 210, the reference route generator 220, the planned traveling distance computing unit 230, the target value computing unit 240, and the vehicle controller 250 and calculate a target steering angle, a target driving force, and a target braking force of the subject vehicle.
In other words, the vehicle control unit 200 includes a memory in which a program is stored. When the program is executed by a processor, the processor consequently performs processes of: obtaining point-series information including information on a plurality of sets of coordinates through which a subject vehicle needs to travel, and approximating, by polynomials, a longitudinal position and a lateral position of the subject vehicle based on the plurality of sets of coordinates to generate a reference route represented by the polynomials, each of the polynomials being a function of a route length from a preset reference point; calculating a planned traveling distance that is a distance that the subject vehicle needs to travel in a unit time of a predefined length; calculating a target position that is a target value of a position of the subject vehicle after the unit time, based on the polynomial of the longitudinal position of the subject vehicle, the polynomial of the lateral position of the subject vehicle, and the planned traveling distance; and controlling an actuator of the subject vehicle so that an error between the position of the subject vehicle after the unit time and the target position is reduced. Put it differently, this program causes a computer to execute procedures or methods of operations of the constituent elements of the vehicle control unit 200.
Although the planned traveling distance computing unit 230 calculates only one planned traveling distance (Ltg) of the subject vehicle in a unit time in Embodiment 1, the planned traveling distance computing unit 230 calculates a plurality of planned traveling distances corresponding to a plurality of unit times that are different in length in Embodiment 2. Since the basic configuration and operations of the vehicle control unit 200 according to Embodiment 2 are identical to those according to Embodiment 1, the overlap with the description of Embodiment 1 will be omitted.
Here, an example where the planned traveling distance computing unit 230 calculates two planned traveling distances will be described. In other words, the planned traveling distance computing unit 230 calculates a first planned traveling distance that is a distance that the subject vehicle needs to travel in a predefined first unit time and a second planned traveling distance that is a distance that the subject vehicle needs to travel in a predefined second unit time, based on a speed or a target speed of the subject vehicle. Assuming that Vtg denotes the speed or the target speed of the subject vehicle, Δt1 denotes the first unit time, and Δt2 denotes the second unit time all of which are used for computing the planned traveling distances, the first planned traveling distance Ltg1 and the second planned traveling distance Ltg2 are expressed as Ltg1=VtgΔt1 and Ltg2=VtgΔt2, respectively.
The target value computing unit 240 computes a target value for controlling the actuator of the subject vehicle, based on the reference route expressed by the polynomial generated by the reference route generator 220, and the first planned traveling distance and the second planned traveling distance of the subject vehicle which have been calculated by the planned traveling distance computing unit 230. Here, the target value computing unit 240 selects one of the first planned traveling distance and the second planned traveling distance for each parameter for which a target value is calculated, and uses the selected planned traveling distance.
Assuming that the planned traveling distance computing unit 230 calculates the y coordinate (target lateral position) ytg and the target azimuth angle θtg of the target position of the subject vehicle using the first planned traveling distance Ltg1 and calculates the road curvature κtg using the second planned traveling distance Ltg2, the target lateral position ytg, the target azimuth angle θtg, and the road curvature κtg are calculated as follows.
The vehicle controller 250 calculates control target values for the actuator, specifically, a target steering angle, a target driving force, and a target braking force so that an error between the position of the subject vehicle at the current time which is obtained by the vehicle sensor 130 and the target position of the subject vehicle which is calculated by the target value computing unit 240 and an error between the azimuth angle of the subject vehicle at the current time which is obtained by the vehicle sensor 130 and the target azimuth angle of the subject vehicle which is calculated by the target value computing unit 240 are reduced and so that the steering angle and the speed of the subject vehicle become values corresponding to the target curvature of the subject vehicle. Then, the vehicle control unit 250 transmits the target steering angle to the EPS controller 311, transmits the target driving force to the powertrain controller 312, and transmits the target braking force to the brake controller 313.
For example, assuming a forward gaze time as the first unit timeΔt1, the lateral position and the azimuth angle of the subject vehicle are controlled so that the subject vehicle travels toward a forward gaze point. Assuming that the second unit time Δt2 is equal to 0, the steering angle of the subject vehicle is controlled according to a road curvature at the current position of the subject vehicle.
Since the use of a plurality of planned traveling distances of the subject vehicle according to Embodiment 2 enables setting of a target value at a different position for each parameter, the route following performance and the stability can be more highly controlled. Although the number of planned traveling distances is two in Embodiment 2, the number of planned traveling distances may be three or more. The vehicle controller 250 can increase the number of planned traveling distances up to the number of parameters for which target values are calculated at the maximum.
In Embodiment 3, the planned traveling distance computing unit 230 calculates the planned traveling distance Ltg of the subject vehicle for each unit time Δt (sec) from the current time to the time after N*Δt (sec). In other words, the planned traveling distance computing unit 230 calculates a plurality of planned traveling distances Ltg corresponding to a plurality of times from the current time for each unit time Δt (sec). Assuming that Vtg denotes the speed or the target speed of the subject vehicle which is used for computing the planned traveling distances, each of the planned traveling distances Ltg corresponds to a vector quantity expressed by Ltg=VtgTi (i=0, . . . , N).
The target computing unit 240 computes a target value for controlling the actuator of the subject vehicle, based on the reference route expressed by the polynomial generated by the reference route generator 220, and the planned traveling distances of the subject vehicle calculated by the planned traveling distance computing unit 230. Since the planned traveling distance Ltg corresponds to the vector quantity, the target value for controlling the actuator of the subject vehicle is also computed as a vector quantity. The target lateral position ytg, the target azimuth angle θtg, and the target speed Vtg of the subject vehicle are calculated as follows.
[Math 12]
y
tg
=f
y(Ltg)=C3yL3tg+C2yLtg2+C1yLtg+C0y (Equation 301)
[Math 13]
θtg=fθ(Ltg)=C3θLtg3+C2θLtg2+C1θLtg+C0θ (Equation 302)
[Math 14]
V
tg
=f
V(Ltg)=C3VLtg3+C2VLtg2+C1VLtg+C0θ (Equation 303)
The vehicle controller 250 predicts a behavior of the subject vehicle from the current time 0 up to the time after N*Δt at intervals of the unit time Δt, using a dynamic vehicle model that is a motion model mathematically expressing vehicle dynamics so that the position, the azimuth angle, and the speed of the subject vehicle follow target values at a plurality of locations calculated by the target value computing unit 240 (target values at a plurality of times). Then, the vehicle controller 250 solves, at regular intervals, an optimization problem for finding a control input u for minimizing an evaluation function that represents a desired operation of the subject vehicle to compute the optimal target amount of steering, or the optimal target amount of steering and the optimal target acceleration. Here, a vehicle state quantity is predicted at the point N.
According to Embodiment 3, the vehicle controller 250 solves the optimization problems with constraints as indicated below at regular intervals.
[Math 15]
minuJ (Equation 304)
[Math 16]
s.t. {dot over (x)}=f(x, u)
x
0
=x(0)
g(x, u)≤0 (Equation 305)
Here, J denotes an evaluation function, x denotes a vehicle state quantity, u denotes a control input, f denotes a vector-valued function on the dynamic vehicle model, x0 denotes an initial value, and g denotes a vector-valued function on the constraints. Although the optimization problem is handled as a minimization problem according to Embodiment 3, the optimization problem can be handled as a maximization problem by reversing the sign of the evaluation function.
The vehicle state quantity x and the control input u are defined as follows.
[Math 17]
x=[Xc, Yc, θ, β, γ, δ, V, α]T (Equation 306)
[Math 18]
u=[ω, j]T (Equation 307)
Here, β denotes an angle of sideslip, γ denotes a yaw rate, δ denotes a steering angle, ω denotes a steering angle velocity, α denotes an acceleration, and j denotes a jerk. There is no need to make the control input u coincide with a controlled variable of each of the actuator controllers (the EPS controller 311, the powertrain controller 312, and the brake controller 313). Thus, the vehicle state quantity x and the control input u can be set independent of the controlled variables of the actuator controllers. Substituting the steering angle velocity for the steering angle as the control input can easily limit the magnitude of variations in the steering angle, depending on the evaluation function or settings of the constraints. Thus, the riding comfort of the vehicle will be improved. Similarly, substituting the jerk for the acceleration as the control input can easily limit the magnitude of variations in the acceleration, depending on the evaluation function or the settings of the constraints. Thus, the riding comfort of the vehicle will be improved.
The following two-wheel model will be used as the dynamic vehicle model f.
Here, x=[Xc, Yc, θ, β, γ, V]T and u=[δ, α]T may be satisfied for simplifying the model.
The following Equation will be used as the evaluation function J according to Embodiment 3.
[Math 20]
J=(hN(xN)−rN)TWN(hN(xN)−rN)+Σk=0N−1(h(xk, uk)−rk)TW(h(xk, uk)−rk) (Equation 309)
Here, xk denotes a vehicle state quantity at a predicted point k (k=0, . . . N), whereas uk denotes a control input at the predicted point k (k=0, . . . , N−1). h denotes a vector-valued function on an evaluation item, hN denotes a vector-valued function on the evaluation item at the end (a predicted point N), and rk denotes a target value at the predicted point k (k=0, . . . N). Each of W and WN denotes a weighted matrix that is a diagonal matrix having weights to the respective evaluation items as diagonal components, and can be appropriately changed as a parameter.
The steering is controlled so that the vehicle travels along the center of a lane with a small control input. The vector-valued functions h and hN on an evaluation item will be set as follows so that the speed follows the target speed.
[Math 21]
h=[eY,k, eθ,k, wk, eV,k, jk]T (Equation 310)
[Math 22]
h
N−[eY,N, eθ,N, eV,N]T (Equation 311)
Here, eY,k, eθ,k, and eV,k denote following errors (differences between predicted values and target values) to the target route, the target azimuth angle, and the target speed, respectively, at the predicted point k (k=0, . . . , N). The route following error eY, k is expressed by eY,k=Yc,k−ytg,k. The angle following error eθ,k is expressed by eθ,k=θk−θtg,k. The speed following error eV,k is expressed by eV,k=Vk−Vtg,k. Then, the target values rk and rN are set as follows so that the route following error eY,k, the angle following error eθ,k, the steering speed ωk, the speed following error eV,k, and the jerk jk are reduced.
[Math 23]
r
k=[0,0,0,0,0]T(k=0, . . . , N−1) (Equation 312)
[Math 24]
r
N=[0,0,0]
T (Equation 313)
Although the evaluation items are set to evaluate a route following error, an angle following error, a steering speed, a speed following error, and a jerk according to Embodiment 3, for example, an acceleration and a yaw rate may be added to the evaluation items to improve the riding comfort of the vehicle.
Next, the vector-valued function g on constraints will be described. The function g is to set upper limit values and lower limit values (may be referred to as “upper and lower limit values”) of the vehicle state quantity x and the control input u in the optimization problem with constraints. The optimization will be performed under a condition of g(x, u)≤0.
Assuming upper limit values of the steering speed co and the jerk j as _ω and _j (>0) and lower limit values thereof as _ω and _j (<0), the function g is defined as follows to operate with a control input in a certain range according to Embodiment 3 (the symbol “_” represents an underscore attached to a subsequent character, and the symbol “_” represents an overline attached to a subsequent character).
Setting the upper and lower limit values of the steering speed ω and the jerk j enables implementation of the vehicle control while the riding comfort is maintained. The upper and lower limit values of, for example, an orientation, a yaw rate, and an acceleration may be set for maintaining the riding comfort. The upper and lower limit values of the speed may be set for observing the speed limit.
The vehicle controller 250 solves the aforementioned optimization problems with constraints to compute the target steering angle and the target acceleration of the subject vehicle, and transmits the target steering angle and the target acceleration to the EPS controller 311, the powertrain controller 312, and the brake controller 313.
Since the vehicle controller 250 can compute the target steering angle and the target acceleration each with a smaller cumulative total of errors to a plurality of target positions according to Embodiment 3, the route following performance of the subject vehicle will be improved. Furthermore, evaluating a yaw rate or an acceleration with an evaluation function produces an advantage of improving the riding comfort.
A computation result of the vehicle controller 250 on the speed is stored in the computation result storage 260. Specifically, information on a predicted speed of the subject vehicle is stored in the computation result storage 260. The information has been calculated when errors between a position, an azimuth angle, and a steering angle of the subject vehicle after the unit time, and target values of these are determined. The information on the predicted speed to be stored in the computation result storage 260 may be a speed (Vk) at an arbitrary time, or time-series information on the speed (Vi(i=1, . . . , N)).
The planned traveling distance computing unit 230 computes a planned traveling distance that is a distance that the subject vehicle needs to travel in the unit time Δt, using the information on the predicted speed which is stored in the computation result storage 260. With application of Embodiment 4 to Embodiment 3, the planned traveling distance computing unit 230 computes a planned traveling distance for each unit time Δt from the current time to the time after N*Δt, using the information on the speed which is stored in the computation result storage 260.
According to Embodiment 4, the planned traveling distance computing unit 230 computes a planned traveling distance, using the computation result of the vehicle controller 250 on the speed, that is, a computation result of the speed of the subject vehicle to be predicted in the future. This allows the vehicle controller 250 to generate a route through which a vehicle travels more easily, which will improve the riding comfort of the vehicle.
In Embodiment 5, the point-series information includes information on a speed at which the subject vehicle needs to travel at each set of coordinates. The reference route generator 220 further performs polynomial approximation that approximates the speed at which the subject vehicle needs to travel at each set of coordinates with a polynomial that is a function of a route length from the reference point. Here, the reference route generator 220 approximates, by a cubic polynomial, the speed at which the subject vehicle needs to travel. The speed V at which the subject vehicle needs to travel is represented by the following cubic polynomial.
[Math 26]
V=f
V(L)=C3VL3+C2VL2+C1VL+C0θ (Equation 501)
The planned traveling distance 230 solves simultaneous equations between the cubic polynomial of the speed V calculated by the reference route generator 220 and a relational expression L=VΔt on a distance L that the vehicle travels at the speed V for the unit time Δt to compute the planned traveling distance Ltg of the subject vehicle at the unit time Δt.
Since the distance that the vehicle travels for the unit time Δt at the speed calculated from a plurality of sets of coordinates obtained from the set-of-coordinates generator 210 is calculated as the planned traveling distance Ltg in Embodiment 5, the route following performance of the subject vehicle will be improved.
Embodiments can be freely combined or appropriately modified and omitted.
The description is in all aspects exemplifications, and numerous modifications and variations that have not yet been exemplified can be devised.
1 subject vehicle, 2 steering wheel, 3 steering axle, 4 steering unit, 5 EPS motor, 6 powertrain unit, 7 brake unit, 50 processing circuit, 51 processor, 52 memory, 110 external sensor, 111 forward camera, 112 radar sensor, 121 GNSS sensor, 122 navigation device, 131 steering angle sensor, 132 steering torque sensor,133 yaw rate sensor, 134 speed sensor, 135 acceleration sensor, 120 locator, 130 vehicle sensor, 200 vehicle control unit, 201 vehicle control device, 210 set-of-coordinates generator, 220 reference route generator, 230 planned traveling distance computing unit, 240 target value computing unit, 250 vehicle controller, 260 computation result storage, 311 EPS controller , 312 powertrain controller, 313 brake controller.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2020/011041 | 3/13/2020 | WO |