The present disclosure relates to a traveling trajectory generating apparatus that generates a traveling trajectory of a vehicle, in automated driving or semi-automated driving partially including manual driving.
In automated driving of a subject vehicle, a trajectory along which the vehicle should follow is generated according to recognition information on states of the vehicle and a surrounding environment of the vehicle and according to a target state of the vehicle which has been determined based on the recognition information as disclosed in, for example, Patent Document 1. Accordingly, the vehicle is controlled along the generated trajectory.
Patent Document 1 discloses a vehicle traveling support apparatus involving traveling support control. Under this traveling support control, the vehicle traveling support apparatus determines a movable range of an object appearing from a dead angle so that a collision between the subject vehicle and the object is avoided based on the movable range.
Prevention of the collision between the subject vehicle and the object requires an abrupt direction change and deceleration of the subject vehicle. Thus, the target passage points and the target speeds calculated the last time greatly differ from those calculated this time. Consequently, Patent Document 1 has a problem of worsening the riding comfort, because a traveling trajectory along which behaviors of the vehicle are abruptly changed is generated.
The present disclosure has been conceived to solve the problem, and has an object of providing a traveling trajectory generating apparatus that allows a vehicle to continue automated driving with better riding comfort, even when a target state of the vehicle is greatly changed.
The traveling trajectory generating apparatus according to the present disclosure that generates a traveling trajectory of a vehicle includes: a reference value storage to store, as a plurality of preceding reference values, a plurality of reference values including information on a state of the vehicle, the information being referred to when the traveling trajectory generating apparatus generates the traveling trajectory; a reference value calculator to calculate a plurality of current reference values, based on at least the plurality of preceding reference values and a target state that is a target value of a vehicle state quantity of the vehicle, the plurality of current reference values being referred to when the traveling trajectory generating apparatus generates the traveling trajectory in a current computation period; and a trajectory generator to generate the traveling trajectory, based on the plurality of current reference values calculated by the reference value calculator.
The traveling trajectory generating apparatus according to the present disclosure uses a plurality of current reference values calculated based on a target state and a plurality of preceding reference values, not referring to the target state as it is when generating a traveling trajectory. Thus, the impact on significant changes in the target state can be reduced, and the automated driving with better riding comfort can be continued.
Furthermore, the vehicle 1 includes, as a sensor system, a forward camera 11, a range sensor 12, a global navigation satellite system (GNSS) sensor 13, a yaw rate sensor 16, a speed sensor 17, an acceleration sensor 18, a steering angle sensor 20, and a steering torque sensor 21.
Besides these, the vehicle 1 includes a navigation device 14, a vehicle-to-everything (V2X) receiver 15, a vehicle control unit 30, an EPS controller 40, a powertrain controller 41, and a brake controller 42. The traveling trajectory generating apparatus according to Embodiment 1 is implemented as a part of the vehicle control unit 30.
The steering wheel 2 installed for driving the vehicle 1 by the driver is coupled to the steering axle 3. The steering axle 3 is coupled to the steering unit 4. The steering unit 4 rotatably supports two tires that are front wheels as steering wheels, and is supported by a car frame so that the steering unit 4 can be steered. Thus, a 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. Consequently, the driver can manipulate an amount of lateral movement of the vehicle 1 when the vehicle 1 moves forward or backward. The steering axle 3 may be rotated by the EPS motor 5. The EPS controller 40 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 30 is an integrated circuit such as a microprocessor, and includes an analog/digital (A/D) conversion circuit, a digital/analog (D/A) conversion circuit, a central processing unit (CPU), a read-only memory (ROM), and a random-access memory (RAM).
The vehicle control unit 30 is connected to the forward camera 11, the range sensor 12, the GNSS sensor 13, the navigation device 14, the V2X receiver 15, the steering angle sensor 20 that senses a steering angle, the steering torque sensor 21 that senses a steering torque, the yaw rate sensor 16 that senses a yaw rate, the speed sensor 17 that senses a speed of the subject vehicle, the acceleration sensor 18 that senses an acceleration of the subject vehicle, the EPS controller 40, the powertrain controller 41, and the brake controller 42.
The vehicle control unit 30 processes information received from each of the connected sensors, according to a program stored in the ROM to transmit a target steering angle to the EPS controller 40, transmit a target driving force to the powertrain controller 41, and transmit a target braking force to the brake controller 42.
The forward camera 11 is disposed in a position where dividing lines ahead of the vehicle can be sensed as an image, and senses a forward environment of the subject vehicle such as lane information or a position of an obstacle, based on the image information. Although Embodiment 1 describes only the camera that senses the forward environment of the vehicle 1 as an example, the vehicle 1 may install cameras that sense 0 rear and lateral environments.
The range sensor 12 irradiates an obstacle around the subject vehicle with radio waves, light, or sound waves, and senses the reflected waves to output a relative distance to the obstacle and a relative speed of the obstacle. The range sensor 12 may be a range sensor based on a known system, such as a millimeter wave radar, a light detection and ranging (LiDAR), a laser range finder, or an ultrasonic radar.
The GNSS sensor 13 receives radio waves from a positioning satellite via an antenna, and performs positioning computation on the radio waves to output an absolute position and an absolute orientation of the vehicle 1.
The navigation device 14 has a function of computing the optimal traveling route to a destination set by the driver, and stores road information on the traveling route. The road information is map node data for representing road alignments. The map node data includes information on a latitude, a longitude, and an altitude which indicate an absolute position at each node, and information on a lane width, an angle of cant, and a tilt angle.
The V2X receiver 15 has functions of obtaining information through communication with other vehicles and roadside units and outputting the information. The obtained information includes information on a surrounding environment such as positions and speeds of the other vehicles and pedestrians and a no-entry zone in a road under construction.
The communication method of the V2X receiver 15 may be one of two standards, that is, dedicated short-range communications (DSRC) and Cellular-V2X (C-V2X), or a communication method other than these. The V2X receiver 15 is a receiver that can support communication methods adopted by communication targets such as the other vehicles and roadside units.
The EPS controller 40 controls the EPS motor 5 so that the EPS motor 5 attains the target steering angle transmitted from the vehicle control unit 30 to control a traveling trajectory of the vehicle 1.
The powertrain controller 41 controls the powertrain unit 6 so that the powertrain unit 6 attains the target driving force transmitted from the vehicle control unit 30.
Although Embodiment 1 describes an example vehicle including only an engine as a driving power source, Embodiment 1 is applicable to, for example, a vehicle including only an electric motor as a driving power source and a vehicle including both of an engine and an electric motor as driving power sources.
The brake controller 42 controls the brake units 7 so that the brake units 7 attain the target braking force transmitted from the vehicle control unit 30 to control deceleration of the vehicle 1.
The information obtaining unit 50 has a function of obtaining information on the vehicle 1, information on a surrounding environment of the vehicle 1, and information on an occupant in the vehicle, and includes a vehicle information obtaining unit 510, an obstacle information obtaining unit 52, a road information obtaining unit 53, and an occupant information obtaining unit 54. The information obtaining unit 50 can also be referred to as an information obtaining device. The information obtained by the information obtaining unit 50 will be referred to as traveling information.
The vehicle information obtaining unit 510 obtains vehicle information that is the information on the vehicle 1. The vehicle information includes a state quantity representing a state of the vehicle 1, that is, a vehicle state quantity. The vehicle information obtaining unit 510 includes the GNSS sensor 13, the yaw rate sensor 16, the speed sensor 17, the acceleration sensor 18, the steering angle sensor 20, and the steering torque sensor 21.
The obstacle information obtaining unit 52 obtains obstacle information that is information on an obstacle around the vehicle 1. The obstacle information obtaining unit 52 includes the forward camera 11, the range sensor 12, and the V2X receiver 15.
The road information obtaining unit 53 obtains road information by performing a matching process on the subject vehicle position and map information stored by the navigation device 14. The road information obtaining unit 53 transforms N pieces of map data near the subject vehicle in a subject-vehicle traveling lane and a lane adjacent to the subject-vehicle traveling lane, into the subject vehicle coordinate system to output the resulting pieces of map data as lane information.
The occupant information obtaining unit 54 is a device that obtains a setting on automated driving which has been established by the occupant, and is mounted on the vehicle 1 as, for example, a tablet terminal or a touch panel. The occupant can establish the setting on automated driving, using such a device.
The road information obtaining unit 53 can store relative positions of a leading vehicle with respect to the subject vehicle which are obtained by the range sensor 12, transform N past relative positions into the current subject vehicle coordinate system, and output the resulting relative positions as the lane information. Here, a lane is a virtual line representing a center of the lane that is a center of white lines (dividing lines) on both sides of a vehicle on a road. A method of obtaining the lane information from the relative positions of the leading vehicle is as follows. For example, when the leading vehicle is located X0 m ahead and Y0 m to the left at a time t0 and the subject vehicle moves Xem forward and moves Yem to the left at a time t1, the position of the leading vehicle at the time t0 in the subject-vehicle coordinates at the time t1 is represented by (X0-Xem) ahead and (Y0-Yem) to the left. This is a method of transforming relative positions into the current subject vehicle coordinate system. If the relative position of the leading vehicle at the time t1 is further obtained as X1 m ahead and Y1 m to the left, a sequence of two points in the current subject vehicle coordinate system is obtained as the first point (X0-Xe, Y0-Ye) and the second point (X1, Y1) at this time.
Repeatedly storing and transforming positions in this manner can produce a trajectory of the leading vehicle in the current subject vehicle coordinate system. Assuming that the leading vehicle is traveling through the center of a lane, the lane information indicating the trajectory of the leading vehicle=the center of the lane is obtained.
The road information obtaining unit 53 can also output a lane shape obtained from the forward camera 11. The lane information according to Embodiment 1 includes a unique lane number defined for each lane as identification information. When sequences of points of the lanes have points with the same element number, the points are aligned perpendicular with respect to tangents to the lanes.
Each of the points Q1,i is represented by a position vector (qx1,i, qy1,i) in the subject-vehicle coordinates system and can be expressed by Equation (2) below.
For example, dummy lane information can be generated in a location whose road information is not stored in a navigation device or in a location without any dividing line, using a known method as disclosed in, for example, Japanese Patent Application Laid-Open No. 2020-75558. Furthermore, information obtained by the range sensor 12 and the forward camera 11 and indicating a region through which a vehicle can travel is available as the lane information.
The vehicle control unit 30 includes a target setting unit 60, the traveling trajectory generating apparatus 70, and a vehicle controller 80.
The target setting unit 60 has a function of calculating a target state that is a target value of a vehicle state quantity, based on the traveling information obtained from the information obtaining unit 50, and a function of outputting the calculated target state to the traveling trajectory generating apparatus 70. Examples of the vehicle state quantity included in the target state include a position, an orientation, a speed, an acceleration, a rotation speed, a steering angle, and a steering angular velocity, a lateral deviation with respect to the center of a following lane, and a following lane number of a car body, and any combinations of these. In Embodiment 1, the following lane number and the speed are used as the vehicle state quantities. Although the target state is represented by a scalar value based on each of the state quantities in Embodiment 1, the target state can be represented by a data sequence, a parametric representation, or a combination of these. A following lane number in the target state will be referred to as a target following lane number, and a speed in the target state will be referred to as a target speed.
The traveling trajectory generating apparatus 70 has a function of calculating a traveling trajectory allowing the vehicle 1 to follow a leading vehicle, and a function of outputting information on the calculated traveling trajectory to the vehicle controller 80.
The vehicle controller 80 has functions of computing the target steering angle to be transferred to the EPS controller 40, the target driving force to be transferred to the powertrain controller 41, and the target braking force to be transferred to the brake controller 42, using information on the traveling trajectory obtained from the traveling trajectory generating apparatus 70 and the vehicle state quantity obtained from the information obtaining unit 50, and outputting the target steering angle, the target driving force, and the target braking force. The vehicle controller 80 can also be referred to as a vehicle control device.
The traveling trajectory generating apparatus 70 includes a reference value calculator 71, a reference value storage 72, and a trajectory generator 73. The reference value calculator 71, the reference value storage 72, and the trajectory generator 73 will be described hereinafter.
The reference value calculator 71 has functions of newly calculating current reference values, based on the traveling information obtained from the information obtaining unit 50, the target state obtained from the target setting unit 60, and preceding reference values obtained from the reference value storage 72, and outputting the current reference values to the reference value storage 72 and the trajectory generator 73. The traveling trajectory generating apparatus according to the present disclosure is an apparatus that periodically repeats the computation for generating a traveling trajectory. A present computation period will be referred to as a “current computation period”, and an immediately preceding computation period from the present time will be referred to as a “preceding computation period”. Similarly, distinctions are made between reference values by adding “current” or “preceding” to the reference values.
Here, the reference values are information on states of the vehicle 1 to be referred to when a traveling trajectory is generated. The reference values according to Embodiment 1 include information on a following lane number and a lane transition rate to be used for calculating a reference position, besides passage points and speeds to be referred to when the trajectory is generated. These pieces of information on the reference values are represented by a reference passage point {Pi}, a reference speed {vi}, a reference following lane number L, and a reference lane transition rate {λi}. Here, the reference lane transition rate {λi} represents a degree of transition from the current following lane to a target following lane in an element i. The details will be described later.
A set of passage points, a set of speeds, and a set of lane transition rates are each represented by a data sequence whose data length is M. The reference passage point {Pi}, the reference speed {vi}, and the reference lane transition rate {λi} are expressed by Equation (3), Equation (4), and Equation (5) below, respectively.
Each data of the passage points is represented by a position vector (pxi, pyi) in the subject-vehicle coordinates system and expressed by Equation (6) below.
The reference values are not limited to these but can include information on, for example, an arrival point, an orientation, a speed, an acceleration, a rotation speed, a steering angle, a steering angular velocity, and a lateral deviation with respect to a passage point.
A set of passage points, a set of speeds, and a set of lane transition rates are each represented by a data sequence, whereas a set of reference following lane numbers is represented by scalar values in Embodiment 1. Besides, the set of passage points, the set of speeds, the set of lane transition rates, and the set of reference following lane numbers can be each represented by scalar values and a data sequence. When the set of passage points, the set of speeds, the set of lane transition rates are each represented by scalar values, the data length is 1. Furthermore, the parametric representation is available.
The reference value storage 72 has functions of storing the reference values output from the reference value calculator 71, and outputting the stored reference values to the reference value calculator 71 as preceding reference values in the next computation period.
The trajectory generator 73 has a function of generating a traveling trajectory along which the vehicle should follow, based on the traveling information and the reference values obtained from the reference value calculator 71. Here, a method of generating the traveling trajectory from passage points and speeds is known. For example, WO2020/129208 discloses generating a traveling trajectory by performing state estimation computation on a vehicle state quantity using a vehicle model. WO2020/129208 discloses application of Bayesian filters as an example of the state estimation computation. The traveling trajectory to be generated is represented by a sequence of points including a vehicle state quantity.
Establishing the constraints can prevent vehicle behaviors beyond the constraints, and enables automated driving in consideration of the riding comfort and the safety.
The constraints can be changed according to the traveling information and a target state. Examples of changing the constraints include obtaining information on an operation of an occupant on the occupant information obtaining unit 54 and then changing the constraints according to the operation. Here, the operation of the occupant on the occupant information obtaining unit 54 is, for example, an operation performed by the occupant on a tablet terminal when the occupant information obtaining unit 54 is the tablet terminal. The occupant can establish the setting on automated driving using this tablet terminal, for example, “changing a lane” or “increasing a vehicle speed”.
The vehicle state quantities as the constraints are not limited to an acceleration and a lane change time, but can include a speed, a jerk, a steering angle, a steering angular velocity, a steering angle acceleration, a rotation speed, a rotation acceleration, a vehicle sideslip angle, a tire sideslip angle, and any combinations of these.
After the constraints are established in Step S1, the processes proceed to Step S2 where it is determined whether the number of iterations of the computation for generating a trajectory by the traveling trajectory generating apparatus 70 is the first iteration since the start of the traveling trajectory generating apparatus 70. When the number of iterations is the first iteration (Yes), the processes proceed to Step S3. Otherwise (No), the processes proceed to Step S4.
In Step S3, an initial value of each reference value is established based on the target state or the traveling information. The initial value of reference speeds is the current speed of the vehicle 1. The initial value of reference following lane numbers is a traveling lane number of the vehicle 1. The initial value of reference lane transition rates is 0. The initial value of passage points is not defined herein. The initial value of reference speeds can be a target speed. The initial value of reference following lane numbers can be a target following lane number.
In Step S4, the reference values stored in the reference value storage 72 are read as preceding reference values. Then, the processes proceed to Step S5.
In Step S5, an initial reference value is established based on the preceding reference values. A preceding reference value of a reference value represented by a scalar value is determined as an initial value. Data corresponding to the current time is extracted from reference values represented by a data sequence, and is determined as an initial reference value. There is no limitation on a method of extracting the data corresponding to the current time. Examples of the method include determining a distance between each passage point and a vehicle position obtained in a preceding computation from the passage point information corresponding to the preceding reference values, estimating a moving distance of the vehicle 1 based on the current speed and an elapsed time from the preceding computation, extracting one of the determined distances between the passage points and the vehicle positions obtained in the preceding computation that is the closest to the estimated moving distance of the vehicle 1, and defining the determined distance as an initial reference value.
Here, reference values on rear positions when viewed from the vehicle position in the preceding computation are eliminated from targets to be selected. The data lengths of the reference values represented by a data sequence are all the same.
Although extracting data at the current time from the passage point information is described above, time information can be assigned to each of the reference values so that data the closest to the current time can be extracted. Here, the data lengths of the reference values need not be all the same. Although data corresponding to one of the preceding reference values is extracted in the description above, a value interpolated based on distance information or time information can be an initial reference value.
After the initial reference value is established in Step S3 or Step S5, the processes proceed to Step S6. In Step S6, a new reference value is calculated based on the constraints established in Step S2, the initial reference value established in Step S3 or Step S5, and the target state obtained from the target setting unit 60. The following will describe a method of calculating the reference value.
First, how to calculate a reference speed will be described. Assuming that vt denotes a target speed, Lt denotes a target following lane number, and si denotes a distance from the first point to each point in a sequence of points {QLt,i} representing a target following lane, the distance si is expressed by Equation (7) below, where s1 is 0.
A reference value {vi} is determined from Equation (8) below, using an initial value v0 of reference speeds and the upper-limit acceleration absolute value alim.
Here, sgn is a function generally referred to as a sign function, and is expressed by Equation (9) below.
Next, how to calculate a reference following lane number, a reference lane transition rate, and a reference passage point will be described. When the target following lane number Lt is equal to an initial value L0 of the reference following lane numbers or when an initial value λ0 of the lane transition rates is larger than or equal to 1, the reference following lane number L, the reference lane transition rate {λi}, and the reference passage point {Pi} are expressed by Equation (10), Equation (11), and Equation (12) below, respectively.
When the target following lane number Lt is different from the initial value L0 of the reference following lane numbers and when the initial value λ0 of the reference lane transition rates is smaller than 1, a reference value is determined in the following method. First, the reference following lane number L is set equal to the initial value L0 as indicated by Equation (13) below.
Next, a predicted elapsed time ti to each point in the sequence of points {QLt,i} representing the target following lane is defined by Equation (14) below.
The reference lane transition rate {A} is calculated from the predicted elapsed time ti and the lane change time t1c using Equation (15) below.
As indicated by Equation (15), the reference lane transition rate is a value obtained by dividing the predicted elapsed time by the lane change time. Since a trajectory is generated so that a lane change is completed within the lane change time t1c, dividing the predicted elapsed time by the lane change time represents to which degree the lane change has been proceeded in an i-th point.
Here, the lane change time is a preset time. The lane change time, for example, is set to a time during which the occupant does not feel stresses in changing a lane, and can be set by the occupant through the occupant information obtaining unit 54 to suit preferences of the occupant. Furthermore, the lane change time can be included in a target state.
Next, a reference passage point {Pi} is calculated from the sequence of points {QL, i} representing the reference following lane, the sequence of points {QLt,i} representing the target following lane, and the reference lane transition rate {λi} using Equation (16) below.
Although a passage point is determined by applying a trigonometric function to the lane transition rate in Embodiment 1 as indicated by Equation (16), the passage point can be determined by applying a sigmoid function or directly multiplying a sequence of points of a lane by a lane transition rate.
As described above, the traveling trajectory generating apparatus 70 generates a traveling trajectory based on the current reference value adjusted using a target state of the vehicle 1 and preceding reference values, that is, target values. Thus, the vehicle 1 can realize the target state, that is, the automated driving with better riding comfort, with abrupt changes in the following lane and the speed being reduced herein.
Embodiment 1 describes that the constraints can be changed according to the traveling information and target states. Here, the target states obtained from the target setting unit 60 include emergency, and the constraints to be used by the reference value calculator 71 can be changed according to a value of the emergency. For example, the higher the emergency is, the more the range of the vehicle state quantity allowed under the constraints can be widened. When the emergency is higher than a predetermined threshold, the constraints can be equal to the limitations of dynamic performance of the vehicle.
Here, the emergency is associated with responsiveness required for each of the state quantities other than the emergency which are included in the target states. For example, when the state quantities other than the emergency which are included in the target states are a position, an orientation, a speed, an acceleration, a rotation speed, a steering angle, and a steering angular velocity, and a lateral deviation with respect to the center of a following lane of the car body, the responsiveness can be defined by the time taken for each of the state quantities to converge to a target value within a certain tolerance. A state quantity with high responsiveness impacts the riding comfort. Furthermore, the responsiveness of a following lane number can be defined as the responsiveness of a lane transition rate. If this responsiveness is high, the riding comfort is impacted due to, for example, an abrupt lane change.
Thus, changing the constraints according to the emergency of a traveling state and assigning a higher priority to the responsiveness than to the riding comfort when the emergency is high enable the automated driving with higher safety.
In the presence of an obstacle in the vicinity of reference passage points, a traveling trajectory horizontally displaced with respect to the reference passage points may be desired. Here, reference values include a reference lateral deviation representing a lateral deviation that the vehicle should take with respect to the reference passage points. Thus, the reference value calculator 71 can be configured to have a function of determining the reference lateral deviation according to a position of the obstacle. Furthermore, the constraints include a change speed upper limit value ulim for the lateral deviation. The reference lateral deviation is represented by a data sequence {di}. The following will describe an example of how to determine the reference lateral deviation.
A distance from each of the reference passage points to a point of intersection of a straight line extending perpendicular to a tangent at the reference passage point and a boundary of an occupied region of the obstacle OB in
{dl1i} denotes a distance of the straight line extending from each of the reference passage points to the left, and {dr1i} denotes a distance of the straight line extending from the reference passage point to the right, with respect to the orientation of the vehicle 1. In the absence of the point of intersection with the boundary of the occupied region of the obstacle OB, a sufficient large value is substituted for the distance. Wv denotes a width of the car body of the vehicle 1. A safety margin Mobs between the obstacle OB and the vehicle 1 is preset. A distance illustrated by an arrow extending opposite to an arrow illustrating the distance {dl1i} is defined as the smallest lateral deviation {dl2i} in
Here, a distance illustrated by an arrow at the reference passage point Pi−1 is defined as a lateral deviation {dl3i−1,i} and a distance illustrated by an arrow at the reference passage point Pi+1 is defined as a lateral deviation {dl3i+1,i}, with respect to the smallest lateral deviation {dl2i} at the reference passage point Pi in
Similarly, a distance illustrated by an arrow at the reference passage point Pi−1 is defined as a lateral deviation {dr3i−1,i} and a distance illustrated by an arrow at the reference passage point Pi+1 is defined as a lateral deviation {dr3i+1,i}, with respect to the smallest lateral deviation {dr2i} at the reference passage point Pi in
The smallest lateral deviation {dl2i} at the reference passage point Pi that is an initial position in
When the change speed for the lateral deviation is limited to ulim or less, lateral deviations {dl3i,j} and {dr3i,j} that should be secured in the element i to realize the smallest lateral deviation in an element j are determined by Equation (21) and Equation (22), respectively, using the predicted elapsed time ti.
The lateral deviations dl3ij and dr3ij at the respective reference passage points in Equation (21) and Equation (22) are determined by Equation (23) and Equation (24) below, respectively.
Here, the element j corresponds to the reference passage point Pi for calculating each of the smallest lateral deviation {dl2i} and the smallest lateral deviation {dr2i} as described above. The element i corresponds to each of the reference passage point Pi−1 and the b reference passage point Pi+1 that are the reference passage points before and after the reference passage point Pi.
For example, when the change speed for the lateral deviation is limited to Him or less where i=j−1, a difference between the lateral deviation in the element j and the lateral deviation in an element j−1 needs to be smaller than or equal to a certain value Δdl2j. In other words, realization of the smallest lateral deviation dl2j in the element j requires the lateral deviation in the element j−1 to be larger than at least dl2j−Δdl2j. This is what the lateral deviation to be secured in the element i means. The certain value Δdl2j corresponds to |ti−tj|·ulim in Equation (23) and Equation (24). Since i=j−1, the certain value Δdl2j can be expressed by Equation (25).
A left lateral deviation dli and a right lateral deviation dri in the respective elements i represent the maximum values of the lateral deviation {dl3i,j} and the lateral deviation {dr3i,j}, and are determined by Equation (26) and Equation (27), respectively.
Then, a reference lateral deviation di is determined from the left lateral deviation dli and the right lateral deviation dri by Equation (28) below.
As described above, a lateral deviation can be changed under the constraints, using a lateral deviation when a preceding trajectory has been generated as an initial value. Since the recognition accuracy of the obstacle OB is low, abrupt changes in the vehicle behaviors can be suppressed even when the position of the obstacle to be recognized is abruptly changed.
The vehicle control unit 30 includes the target setting unit 60, a traveling trajectory generating apparatus 70A, and the vehicle controller 80. The traveling trajectory generating apparatus 70A has a structure obtained by adding a planning point selector 74, a planning point storage 75, and a trajectory extractor 76 to the traveling trajectory generating apparatus 70 according to Embodiment 1, and features the use of planning points in calculating reference values.
Although the planning points are almost identical to points forming a traveling trajectory, the planning points differ from the points forming the traveling trajectory in how to establish connections between the points. Specifically, only one point is connected each before and after a point of a traveling trajectory at a certain time, whereas any number of planning points can be connected after a planning point at a certain time to adopt a tree structure although only one planning point is connected before the planning point at the certain time.
As illustrated in
Here,
Methods of selecting a planning point are not particularly limited. Examples of the methods include a method of determining a planning point selected using randomized values, and a method of determining a planning point selected based on a target state or the traveling information. The planning point selector 74 outputs an invalid value as the selection planning point number at the first computation for generating a trajectory without performing a process of selecting a planning point, which will be described later.
The reference value calculator 71 has functions of newly calculating reference values, based on the traveling information, the target state, preceding planning point reference values stored in the reference value storage 72, and the selection planning point number obtained from the planning point selector 74, and outputting the reference values to the trajectory generator 73. Here, the preceding planning point reference values are planning point reference values corresponding to the planning points obtained in the preceding computation period. The planning point reference values are not always identical to reference values, but include planning point reference values corresponding to all the planning points.
The trajectory generator 73 has functions of generating a plurality of planning points based on the traveling information, the reference values, the selection planning point number, and the preceding planning points and outputting the plurality of planning points to the planning point storage 75 and the trajectory extractor 76, and also calculating planning point reference values corresponding to the planning points and outputting the planning point reference values to the reference value storage 72.
As previously described, information on the connections between the points is assigned to each of the planning points. Methods of representing the connection information are not particularly limited. For example, assuming that a planning point before a planning point at a certain time or a planning point with a short moving distance from the subject vehicle position is a “parent” and a planning point after the planning point at the certain time or a planning point with a long moving distance from the subject vehicle position is a “child”, the connection information can be represented by identification numbers of planning points determined to be the parent and the child of each planning point.
The reference value storage 72 has functions of storing the planning point reference values output from the trajectory generator 73, and outputting the stored planning point reference values to the reference value calculator 71 as the preceding planning point reference values in the next computation period.
The planning point storage 75 has functions of storing the planning points output from the trajectory generator 73, and outputting the stored planning points to the planning point selector 74 and the trajectory generator 73 as the preceding planning points in the next computation period.
The trajectory extractor 76 has functions of extracting a plurality of planning points from the planning points output from the trajectory generator 73, and outputting the planning points as a traveling trajectory to the vehicle controller 80. Methods of extracting the planning points are not particularly limited. Examples of the methods include a method of determining a planning point that is the closest to a target reaching point obtained from the target setting unit 60 to be a terminal planning point, and determining, to be a traveling trajectory, a sequence of points without no branch that are obtained by tracing planning points before the terminal planning point.
It is also possible to determine planning points whose distances from the target reaching point are shorter than or equal to a predetermined distance as terminal-planning point candidates and determine, to be a terminal planning point, a planning point whose cost is the lowest among the terminal-planning point candidates. Here, the cost of each of the terminal-planning point candidates is obtained by, for example, calculating a sum of products of vehicle state quantities and preset weights on respective planning points routed when planning points before the terminal-planning point candidate are traced. The planning point with the lowest sum is determined to be a terminal planning point. If setting a smaller weight to the vehicle state quantity on the riding comfort reduces the cost, the riding comfort will be improved.
Incorporation of a probability of collision with an obstacle into the vehicle state quantity at each planning point enables selection of a planning point in consideration of the probability of collision with the obstacle. The time information can be assigned to each planning point so that planning points from a preset target reaching time to a predetermined time can be determined to be the terminal-planning point candidates.
In Step S22, an initial state, that is, an initial value for generating a trajectory is determined based on the vehicle state quantity obtained from the information obtaining unit 50. Then, the processes proceed to Step S24.
On the other hand, the initial state for generating a trajectory is determined from a selection planning point in Step S23. Specifically, a planning point corresponding to the selection planning point number obtained from the planning point selector 74 is extracted from the preceding planning points obtained from the planning point storage 75. A vehicle state quantity at the extracted planning point is determined to be an initial state, that is, an initial value. Then, the processes proceed to Step S24.
In Step S24, a traveling trajectory is generated by performing state estimation computation on the vehicle state quantity, based on the initial state determined in Step S22 or S23, for example, using the vehicle model disclosed in WO2020/129208. Specifically, the traveling trajectory is generated by the technology disclosed in the aforementioned known document, by determining information obtained from the planning point corresponding to the selection planning point number from among the preceding planning points to be an initial state, using the passage points and the speeds that are included in the reference values. For example, a method of generating a traveling trajectory using the obstacle information and the road information is a known method as a method of generating a traveling trajectory using the traveling information.
After the traveling trajectory is generated, the processes proceed to Step S25 where an identification number unique to each of the planning points forming the traveling trajectory is defined. Then, the identification number of each of the planning points and identification numbers of a parent and a child of the planning point are assigned to information on the planning point. Then, the planning points are determined to be additional planning points.
The preceding planning point LP1 is a selection planning point selected by the planning point selector 74 from among the preceding planning points LP1 to LP7 stored in the planning point storage 75. The identification numbers 1 to 7 are assigned to the preceding planning points LP1 to LP7.
Here, when a planning point the closest to the parent in the traveling trajectory generated in Step S24 and including the three planning points matches the selection planning point, the planning point the closest to the parent is removed from the additional planning points. Then, the selection planning point is selected as a parent of the additional planning point that is the second closest to the parent.
After the additional planning points are generated, the processes proceed to Step S26 where planning point reference values corresponding to the additional planning points are calculated as additional planning point reference values, based on the reference values and the additional planning points.
The planning point reference values can be obtained by assigning an identification number of each of the planning points to a reference value. Examples of the planning point reference values can include a value obtained by extracting only the nearest data of a planning point or a value obtained through data interpolation, on reference values represented by a data sequence. This can reduce a usage rate of the reference value storage 72.
After the additional planning point reference values are generated, the processes proceed to Step S27 where unnecessary planning points are selected as removal planning points. Methods of selecting unnecessary planning points are not particularly limited. For example, a planning point located behind when viewed from the subject vehicle position, and a previous planning point with respect to the current time can be selected. When planning points from which the removal planning points have been removed are divided into a plurality of tree structures, one of the plurality of tree structures may be selected and planning points included in the other tree structures may be determined to be removal planning points. How to select a tree structure may be any. For example, a tree structure including planning points the closest to the subject vehicle position can be selected.
After the removal planning points are selected, the processes proceed to Step S28 where the planning points and the planning point reference values are updated. Specifically, removing the removal planning points from the preceding planning points, and adding additional planning points to the resulting planning points produce the current planning points.
In Step S28, a reference value corresponding to each of the planning points of the current planning points is extracted from the preceding planning point reference values and the additional planning point reference values, and the extracted reference values are determined to be current planning point reference values.
The traveling trajectory generating apparatus 70A ends a series of trajectory generating processes through the processes in Steps S21 to S28, and repeats the processes in Steps S21 to S28 to generate the next trajectory.
In Step S2, when it is determined that the number of iterations of the computation for generating a trajectory by the traveling trajectory generating apparatus 70A is not the first iteration since the start of the traveling trajectory generating apparatus 70A (No), the processes proceed to Step S7.
In S7, a reference value corresponding to the selection planning point is extracted from the preceding planning point reference values output from the reference value storage 72. A reference value is determined based on the extracted planning point reference value, and is determined to be an initial reference value. As previously descried, a planning point reference value is a reference value to which an identification number of each planning point is assigned. Thus, removing the identification number information of each planning point from the planning point reference value can produce the reference value.
After the initial reference value is established in Step S3 or Step S7, the processes proceed to Step S6 where a new reference value is calculated based on the constraints established in Step S2, the initial reference value established in Step S3 or Step S7, and the target state obtained from the target setting unit 60. This process is identical to that according to Embodiment 1.
As described above, since the traveling trajectory generating apparatus 70A reuses the traveling trajectory generated in the past, the computation efficiency can be improved. Furthermore, selecting a traveling trajectory with the cost being set from those in the branching planning points can produce the traveling trajectory with better riding comfort. Incorporation of a probability of collision with an obstacle into the vehicle state quantity of each planning point can increase a probability of generating a traveling trajectory with a low probability of collision with an obstacle.
Each of the aforementioned constituent elements of the traveling trajectory generating apparatuses 70 and 70A according to Embodiments 1 and 2 can be configured using a computer, and is implemented by causing the computer to execute a program. Specifically, each of the traveling trajectory generating apparatuses 70 and 70A is implemented by, for example, a processing circuit 500 illustrated in
This processing circuit 500 may be dedicated hardware. When the processing circuit 500 is dedicated hardware, it corresponds to, for example, a single circuit, a composite circuit, a programmed processor, a parallel-programmed processor, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or any combination of these.
Each function of the constituent elements of the traveling trajectory generating apparatuses 70 and 70A may be implemented by a separate processing circuit, or the functions may be collectively implemented by a single processing circuit.
Here, examples of the memory 520 include a non-volatile or volatile semiconductor memory such as RAM, ROM, a flash memory, an erasable programmable read-only memory (EPROM), and an electrically erasable programmable read-only memory (EEPROM), hard disk drive (HDD), a magnetic disk, a flexible disk, an optical disk, a compact disc, a MiniDisc, a Digital Versatile Disc (DVD), a drive device thereof, and further any storage medium to be used in the future.
What is described is a configuration for implementing the functions of each of the constituent elements of the traveling trajectory generating apparatuses 70 and 70A by one of hardware and software, for example. However, the configuration is not limited to this but a part of the constituent elements of the traveling trajectory generating apparatuses 70 and 70A may be implemented by dedicated hardware, and another part of the constituent elements may be implemented by software, etc. For example, the processing circuit 500 functioning as the dedicated hardware can implement the functions of the part of the constituent elements, and the processing circuit 500 functioning as the processor 510 can implement the functions of the other part of the constituent elements through reading and executing a program stored in the memory 520.
As described above, the traveling trajectory generating apparatuses 70 and 70A can implement each of the functions by hardware, software, etc., or any combinations of these.
While the present disclosure is described in detail, the foregoing description is in all aspects illustrative and does not restrict the present disclosure. Therefore, numerous modifications and variations that have not yet been exemplified can be devised without departing from the scope of the present disclosure.
Embodiments can be freely combined or appropriately modified and omitted within the scope of the disclosure.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2021/027186 | 7/20/2021 | WO |