METHOD AND APPARATUS FOR DETERMINING A VELOCITY OF A VEHICLE
A vehicle including a Global Positioning System (GPS) sensor, an Inertial Measurement Unit (IMU), and an Advanced Driver Assistance System (ADAS) is described. Operating the vehicle includes determining, via the GPS sensor, first parameters associated with a velocity, a position, and a course, and determining, via the IMU, second parameters associated with acceleration and angular velocity. Roll and pitch parameters are determined based upon the first and second parameters. A first vehicle velocity vector is determined based upon the roll and pitch parameters, the first parameters, and the second parameters; and a second vehicle velocity vector is determined based upon the roll and pitch parameters, road surface friction coefficient, angular velocity, road wheel angles and the first vehicle velocity vector. A final vehicle velocity vector is determined based upon fusion of the first and second vehicle velocity vectors. The vehicle is controlled based upon the final vehicle velocity vector.
Latest General Motors Patents:
 Automated driving systems and control logic with enhanced longitudinal control for transitional surface friction conditions
 Blanket airbag with integrated seat belt system
 Chipscale coherent lidar with integrated high power laser diode
 Battery with multiple sets of output terminals and adjustable capacity
 Trailer brake gain determination
Vehicle control systems may benefit from information related to conditions of a travel surface, and may employ such information as an input for controlling one or more systems such as braking, cornering and acceleration.
Present methods for estimating or otherwise determining a travel vector for a vehicle may not provide sufficient accuracy when extended to highly nonlinear vehicle maneuvers such as may occur when a vehicle is operating on a slippery surface and where a travel surface includes significant road bank/grade driving scenarios or highly nonlinear dynamic maneuvers such as may occur in the presence of travel surface conditions that include snow and/or ice, or when the vehicle is travelling uphill or downhill.
Inaccuracies or errors in determining a travel vector for a vehicle may affect performance of driving assistance systems such as an advanced driving assistance system (ADAS) or another autonomous vehicle system.
SUMMARYA vehicle including a Global Positioning System (GPS) sensor, an Inertial Measurement Unit (IMU), and an Advanced Driver Assistance System (ADAS) is described. A method and associated system for operating the vehicle includes determining, via the GPS sensor, first parameters associated with a velocity, a position, and a course for the vehicle, and determining, via the IMU, second parameters associated with acceleration and angular velocity for the vehicle. Roll and pitch parameters are determined based upon the first and second parameters. A first vehicle velocity vector is determined based upon the roll and pitch parameters, the first parameters, and the second parameters; and a second vehicle velocity vector is determined based upon the second parameters associated with road surface friction coefficient, angular velocity, road wheel angles for the vehicle and the first vehicle velocity vector. A final vehicle velocity vector is determined based upon fusion of the first and second vehicle velocity vectors for the vehicle. Operation of the vehicle is controlled based upon the final vehicle velocity vector.
An aspect of the disclosure includes determining the roll and pitch parameters based upon the synchronized first and second parameters by executing a first state estimator, which may be in the form of a first Extended Kalman filter to determine the roll and pitch parameters based upon the first parameters and the second parameters.
Another aspect of the disclosure includes executing the first Extended Kalman filter to determine the roll and pitch parameters by executing a six degreeoffreedom (6DOF) Extended Kalman filter to determine the roll and pitch parameters based upon the first parameters and the second parameters.
Another aspect of the disclosure includes determining the first vehicle velocity vector based upon the roll and pitch parameters, the first parameters, and the second parameters by executing a second state estimator, which may be in the form of a second Extended Kalman filter to determine the first vehicle velocity vector based upon the roll and pitch parameters, the first parameters, and the second parameters.
Another aspect of the disclosure includes executing the second Extended Kalman filter to determine the first vehicle velocity vector by executing a three degreeoffreedom (3DOF) Extended Kalman filter to determine the first vehicle velocity vector based upon the roll and pitch parameters, the first parameters, and the second parameters.
Another aspect of the disclosure includes synchronizing the first and second parameters, and determining the roll and pitch parameters based upon the synchronized first and second parameters.
Another aspect of the disclosure includes compensating the second parameters associated with acceleration and angular velocity of the vehicle and the roll and pitch parameters based upon gravity to determine an acceleration vector, and executing the second Extended Kalman filter to determine the first vehicle velocity vector based upon the acceleration vector and the first parameters.
Another aspect of the disclosure includes determining the second vehicle velocity vector based upon the second parameters associated with road surface friction coefficient, angular velocity, road wheel angle for the vehicle and the first vehicle velocity vector by executing a third state estimator, which may be in the form of a third Extended Kalman filter to determine the first vehicle velocity vector based upon the roll and pitch parameters, road surface friction coefficient, angular velocity, road wheel angles for the vehicle and the first vehicle velocity vector.
Another aspect of the disclosure includes executing the third Extended Kalman filter to determine the second vehicle velocity vector by executing a Bicycle Model Extended Kalman filter to determine the second vehicle velocity vector based upon the roll and pitch parameters, road surface friction coefficient, angular velocity, road wheel angles for the vehicle and the first vehicle velocity vector.
Another aspect of the disclosure includes the vehicle including an Advanced Driver Assistance System (ADAS), wherein controlling operation of the vehicle based upon the final vehicle velocity vector including controlling the ADAS based upon the final vehicle velocity vector.
Another aspect of the disclosure includes an operating system that includes one of a propulsion system, a steering system, or a braking system, wherein controlling operation of the vehicle based upon the final vehicle velocity vector includes controlling, via the ADAS, one of the propulsion system, the steering system, or the braking system based upon the final vehicle velocity vector.
The above features and advantages, and other features and advantages, of the present teachings are readily apparent from the following detailed description of some of the best modes and other embodiments for carrying out the present teachings, as defined in the appended claims, when taken in connection with the accompanying drawings.
One or more embodiments will now be described, by way of example, with reference to the accompanying drawings, in which:
It should be understood that the appended drawings are not necessarily to scale, and present a somewhat simplified representation of various preferred features of the present disclosure as disclosed herein, including, for example, specific dimensions, orientations, locations, and shapes. Details associated with such features will be determined in part by the particular intended application and use environment.
DETAILED DESCRIPTIONThe components of the disclosed embodiments, as described and illustrated herein, may be arranged and designed in a variety of different configurations. Thus, the following detailed description is not intended to limit the scope of the disclosure as claimed, but is merely representative of possible embodiments thereof. In addition, while numerous specific details are set forth in the following description in order to provide a thorough understanding of the embodiments disclosed herein, some embodiments can be practiced without some of these details. Moreover, for the purpose of clarity, certain technical material that is understood in the related art has not been described in detail in order to avoid unnecessarily obscuring the disclosure. Furthermore, the drawings are in simplified form and are not to precise scale. For purposes of convenience and clarity, directional terms such as top, bottom, left, right, up, over, above, below, beneath, rear, and front, may be used with respect to the drawings. These and similar directional terms are not to be construed to limit the scope of the disclosure. Furthermore, the disclosure, as illustrated and described herein, may be practiced in the absence of an element that is not specifically disclosed herein.
The navigation system 32 employs information from a Global Positioning System (GPS) sensor 36 and an Inertial Measurement Unit (IMU) 34. In one embodiment, the GPS sensor 36 is configured as a global navigation satellite system (GNSS) sensor. The IMU 34 is an electronic device that employs one or more of a combination of accelerometers, gyroscopes, and magnetometers to measure and report specific force, angular rate, yaw, and orientation of the vehicle 100. The IMU 34 allows a receiver of the GPS sensor 36 to function when signals from the GPS sensor 36 are unavailable, such as when the vehicle 100 is operating in a tunnel, inside a building, or when electronic interference is present. GPS data may be sampled at a rate of 10 Hz. IMU data may be sampled at a rate of 100 Hz.
The ADAS 40 is arranged to provide operator assistance features by controlling one of the operating systems, i.e., one or more of the propulsion system 10, the steering system 16, the wheel braking system 26, in conjunction with or without direct interaction of the vehicle operator. The ADAS 40 includes a controller and one or a plurality of subsystems that provide operator assistance features, including one or more of an adaptive cruise control (ACC) system, a lanekeeping control (LKY) system, a lane change control (LCC) system, an autonomous braking/collision avoidance system, and/or other systems that are configured to command and control autonomous vehicle operation separate from or in conjunction with operator requests. The ADAS 40 may interact with and access information from an onboard map database for route planning and to control operation of the vehicle 100 via the lanekeeping system, the lanecentering system, and/or other systems that are configured to command and control autonomous vehicle operation. Autonomous operating commands may be generated to control the ACC system, the LKY system, the LCC system, the autonomous braking/collision avoidance system, and/or the other systems. Vehicle operation may be in response to operator requests and/or autonomous vehicle requests. Vehicle operation includes acceleration, braking, steering, steadystate running, coasting, and idling. Operator requests can be generated based upon operator inputs to an accelerator pedal, a brake pedal, a steering wheel, a transmission range selector, the ACC system, etc.
The onboard navigation system 32 may include a computerreadable storage device or media (memory) that includes a digitized roadway map and is in communication with the ADAS 40. The concepts described herein may be employed on various systems that may benefit from information determined from an embodiment of the spatial monitoring system 30 in a manner that is described herein.
The term “controller” and related terms such as microcontroller, control unit, processor and similar terms refer to one or various combinations of Application Specific Integrated Circuit(s) (ASIC), FieldProgrammable Gate Array (FPGA), electronic circuit(s), central processing unit(s), e.g., microprocessor(s) and associated nontransitory memory component(s) in the form of memory and storage devices (read only, programmable read only, random access, hard drive, etc.). The nontransitory memory component is capable of storing machine readable instructions in the form of one or more software or firmware programs or routines, combinational logic circuit(s), input/output circuit(s) and devices, signal conditioning and buffer circuitry and other components that can be accessed by one or more processors to provide a described functionality. Input/output circuit(s) and devices include analog/digital converters and related devices that monitor inputs from sensors, with such inputs monitored at a preset sampling frequency or in response to a triggering event. Software, firmware, programs, instructions, control routines, code, algorithms and similar terms mean controllerexecutable instruction sets including calibrations and lookup tables. Each controller executes control routine(s) to provide desired functions. Routines may be executed at regular intervals, for example, each 100 microseconds during ongoing operation. Alternatively, routines may be executed in response to occurrence of a triggering event. Communication between controllers, actuators and/or sensors may be accomplished using a direct wired pointtopoint link, a networked communication bus link, a wireless link or another suitable communication link. Communication includes exchanging data signals in suitable form, including, for example, electrical signals via a conductive medium, an electromagnetic signal via air, optical signals via optical waveguides, and the like. The data signals may include discrete, analog or digitized analog signals representing inputs from sensors, actuator commands, and communication between controllers. The term “signal” refers to a physically discernible indicator that conveys information, and may be a suitable waveform (e.g., electrical, optical, magnetic, mechanical or electromagnetic), such as DC, AC, sinusoidalwave, triangularwave, squarewave, vibration, and the like, that is capable of traveling through a medium. A parameter is defined as a measurable quantity that represents a physical property of a device or other element that is discernible using one or more sensors and/or a physical model. A parameter can have a discrete value, e.g., either “1” or “0”, or can be infinitely variable in value.
Referring now to
The GPS sensor 36 generates a first set of parameters 37 associated with vehicle velocity, geospatial position, and heading. In one embodiment, the first set of parameters 37 are described with reference to an ENU (EastNorthUp) reference frame, and a vehicle reference frame wherein the vehicle positive xaxis point toward the front of the vehicle, the vehicle's positive yaxis or pitch axis points to leftward, and the positive zaxis or yaw axis points upward. The first set of parameters 37 includes vehicle velocity parameters including V_{E}, V_{N}, and V_{U}, which relate to velocities in the respective East (E), North (N), and Up (U) axes.
The vehicle velocity parameters including V_{E}, V_{N}, and the yaw rate may be determined from the state vector of the filter in accordance with the following equations
V_{E}=V_{x }cos ψ−V_{y }sin ψ−r(x_{A }sin ψ+y_{A }cos ψ)
V_{N}=V_{x }sin ψ+V_{y }cos ψ−r(−x_{A }cos ψ+y_{A }sin ψ) [1]
The first set of parameters 37 also includes vehicle position that is defined in terms of latitude, longitude, and altitude. The first set of parameters 37 includes vehicle course angle γ, which refers to the direction of the vehicle 100 velocity vector. The term heading or yaw refers to the direction a vehicle is pointing. The difference between the heading and course angle of a vehicle is referred to as a side slip angle.
The IMU 34 generates a second set of parameters 35, including acceleration in each of the x, y, and z axes (a_{xm}, a_{ym}, a_{zm}) and angular velocity in each of the x, y, and z axes (ω_{x}, ω_{y}, ω_{z}). The angular accelerations (A_{x}, A_{y}, A_{z}) can be obtained by numerical derivation of the angular velocities.
Referring again to
Referring again to
The unbiased, filtered linear accelerations and angular accelerations 222 and the first set of parameters 37 including the vehicle velocity parameters, the vehicle position data, and the vehicle course angle γ are subjected to the timesynchronization block 210 to time synchronize the first and second sets of parameters 37, 35. Data is synchronized based upon availability of information to the GPS sensor 36, employing a global time clock. Data synchronization occurs at 100 Hz in one embodiment.
The vehicle course angle γ, steadystate pitch θ_{ss}, and steadystate roll φ_{ss }222 that are determined based upon the second set of parameters 35 and their validity as proxies of the yaw, pitch and roll angles is analyzed via the angle update block 230 to determine vehicle parameters 232. This operation is described with reference to
The angle update block 230 evaluates each of the vehicle course angle γ, pitch θ, and roll φ 222 to determine whether they can be used as measurements for the yaw, pitch and roll angles.
The vehicle course angle γ determined from the GPS sensor 36, and steadystate pitch angle θ_{ss }and steady state roll angle φ_{ss }are employed as additional measurements. The steadystate pitch angle θ_{ss }is expressed in terms of measured longitudinal acceleration and derivative of the longitudinal speed. The steadystate roll angle φ_{ss }is expressed in terms of the lateral acceleration, yaw rate and longitudinal speed. Course angle is the angle between vehicle velocity and direction to North. When yaw update criteria are met, the yaw measurement is available. When pitch update criteria are met, the pitch measurement is available. When roll update criteria are met, the roll measurement is available. The yaw update criteria require essentially straight driving, i.e., there is no sideslip. The roll update criteria require essentially steadystate motion around the roll axis. The pitch update criteria require essentially steadystate motion around the pitch axis. Therefore, the quantity of available measurements may be regularly changing, depending on when GPS updates and/or steadystate angle updates are received.
The criteria for updating the yaw angle include as follows:
if ω_{z}≤ω_{z_Thrs1 }and A_{z}≤A_{z_Thrs1 }for a time interval of at least t_{Thrs1 }then use γ as the measurement for ψ, such as when the yaw rate is small.
The criteria for updating the pitch angle include as follows:
if ω_{y}≤ω_{y_Thrs}, A_{y}≤A_{y_Thrs}, ω_{z}≤ω_{z_Thrs2 }and A_{z}≤A_{z_Thrs2 }for a time interval of at least t_{Thrs2 }then use θ_{ss }as measurement for θ.
The criteria for updating the roll angle include as follows:
if ω_{z}≤ω_{z_Thrs3}, A_{z}≤A_{z_Thrs3}, ω_{x}≤ω_{x_Thrs }and A_{x}≤A_{x_Thrs }for a time interval of at least t_{Thrs3 }then use φ_{ss }as measurement for φ, respectively.
This operation prevents accumulation of error in the Extended Kalman filter.
The synchronized first set of parameters 37 from the GPS sensor 36 that are associated with vehicle velocity, position, and heading, and the second set of parameters 35 from the IMU 34 that are associated with linear accelerations and angular accelerations 222 and yielding the vehicle course angle γ, steady state pitch θ_{ss}, and steady state roll φ_{ss }232 and are provided as input to the first state estimator 240.
The first state estimator 240 includes the following relationships.
The kinematics of spatial motion can be expressed as follows:
{dot over (V)}_{x}=a_{xm}+g sin θ−ω_{y}V_{z}+ω_{z}V_{y }
{dot over (V)}_{y}=a_{y}−g cos θ sin φ+ω_{x}V_{V}−ω_{z}V_{x }
{dot over (V)}_{z}=a_{zm}−g cos θ cos φ−ω_{x}V_{y}+ω_{y}V_{x }
{dot over (ψ)}=(ω_{y }sin φ+ω_{z }cos φ)/cos θ
{dot over (θ)}=ω_{y }cos φ−ω_{z }sin φ
{dot over (φ)}=ω_{x}+(ω_{y }sin φ+ω_{z }cos φ)sin θ/cos θ [2]
The measurements may be expressed as follows:
wherein R(ψ, θ, φ) is a transform matrix from the vehicle reference frame, to the ground (ENU) reference frame; and
wherein vector (x_{A}, y_{A}, z_{A}) represents the location of the GPS antenna relative to the CG in the vehicle reference frame.
The state variables include as follows:
x=[V_{x},V_{y},V_{z},ψ,θ,φ]′
The control variables, in the form of linear and angular accelerations, includes the second set of parameters 35, and are expressed as follows:
u=[a_{xm},a_{ym},a_{zm},ω_{x},ω_{y},ω_{z}]′
The measurements include the first set of parameters 37, and may be expressed as follows:
z=[V_{E},V_{N},V_{U}]′ or
z[V_{E},V_{N},V_{U},γ,θ_{ss},φ_{ss}]′
The, steady state pitch θ_{ss}, and steady state roll φ_{ss }may be expressed as follows:
The state space representation used by the first state estimator 240 is as follows:
{dot over (x)}=f(x,u)+w
z=h(x,u)+v
wherein:

 w represents process noise, and
 v represents observation noise.
The first state estimator 240 recursively executes by employing a series of the measurements, i.e., the first set of parameters 37, expressed as z=[V_{E}, V_{N}, V_{U}, γ, θ_{ss}, φ_{ss}]′ which are observed over time to produce estimates of variables in the form of the estimated vehicle roll and pitch {circumflex over (φ)}, {circumflex over (θ)} 242 by estimating a joint probability distribution over the variables for each timeframe.
As shown with reference to
The kinematics of planar motion may be expressed as follows:
{dot over (V)}_{x}=a_{x}+rV_{y }
{dot over (V)}_{y}=a_{y}−rV_{x }
{dot over (ψ)}=r
{dot over (r)}=A_{ψ} [5]
wherein:
{dot over (V)}_{X }represents a timerate change in velocity in the X dimension;
{dot over (V)}_{y }represents a timerate change in velocity in the Y dimension;
{dot over (ψ)} represents a timerate change in vehicle heading; and
{dot over (r)} represents the angular acceleration around the yaw axis.
The measurements may be expressed as follows:
V_{E}=V_{x }cos ψ−V_{y }sin ψ−r(x_{A }sin ψ+y_{A }cos ψ)
V_{N}=V_{x }sin ψ+V_{y }cos ψ−r(−x_{A }cos ψ+y_{A }sin ψ)
r=ω_{z }
ψ=γ [6]
The state variables include as follows:
x=[V_{x},V_{y},ψ,r]′
Control variables (linear and angular accelerations):
u=[a_{xm},a_{ym},A_{ψ}]′
The gravity compensation block 251 compensates for the effect of gravity in accordance with the following relationships:
a_{x}=a_{xm}+g sin θ
a_{y}=a_{ym}−g cos θ sin φ
The state space representation used by the second state estimator 255 is as follows:
{dot over (x)}=f(x,u)+w
z=h(x)+v [6]
wherein:

 w represents process noise, and
 v represents observation noise.
The gravity compensation block 251 determines an acceleration vector (a_{x},a_{y}) 252, which is input to the second state estimator 255, from which the first vehicle velocity vector ({circumflex over (V)}_{xPl}, V_{yPl}) 256 is determined.
The second state estimator 255 recursively executes by employing a series of the measurements, i.e., the first set of parameters 37, including V_{E}, V_{N}; the vehicle course angle γ 233; the filtered values for a_{xm}, a_{ym}, ω_{z }223; and the estimated vehicle roll and pitch {circumflex over (φ)}, {circumflex over (θ)} 242. The measurements are expressed as z=[V_{E}, V_{N}, V_{U}, γ, θ_{ss}, φ_{ss}]′, which are observed over time to produce estimates of variables in the form of the first vehicle velocity vector 256 by estimating a joint probability distribution over the variables for each timeframe. The longitudinal velocity {circumflex over (V)}_{xPl }259 of the first vehicle velocity vector 256 is input directly to the data fusion block 260. The first vehicle velocity vector ({circumflex over (V)}_{xPl}, {circumflex over (V)}_{yPl}) 256 is also input to the third state estimator 257.
The third state estimator 257 includes the following relationships.
The Bicycle Model with nonlinear tire force relations can be expressed as follows:
M{dot over (V)}_{y}=−MrV_{x}+F_{yF}(α_{F})cos(δ_{F})+F_{yR}(α_{R})−Mg cos(θ)sin(φ)
I_{z}{dot over (r)}=aF_{yF}(α_{F})−bF_{yR}(α_{R})
{dot over (μ)}=0 [7]
wherein:
M represents the mass of the vehicle;
μ represents the road surface friction coefficient;
F_{yF }represents the lateral force at the front tires and is given by
F_{yR }represents the lateral force at the rear tires and is given by
α_{F }represents the slip angle at the front tires and is given by
α_{R }represents the slip angle at the rear tires and is given by
The measurements may be expressed as follows:
V_{y}=V_{yPl }
r=ω_{z }
μ=μ_{m }
wherein μ_{m }represents an estimate or measurement of road surface friction coefficient.
The state variables include as follows:
x=[V_{y},r,μ]′
The control variables include as follows:
u=[δ_{F},δ_{R}]′
wherein:
δ_{F }and δ_{R }represent the front and rear road wheel angles.
The state space representation used by the third state estimator 257 is as follows:
{dot over (x)}=f(x,u)+w
z=h(x)+v
The third state estimator 257 recursively executes by employing a series of the measurements, i.e., roll and pitch parameters, road surface friction coefficient, angular velocity, road wheel angles for the vehicle 100 and the first vehicle velocity vector. These measurements are observed over time to produce estimates of variables in the form of the second vehicle velocity vector 224 by estimating a joint probability distribution over the variables for each timeframe.
The state flow routine 200 ensures accurate estimation of the vehicle velocity, in the form of the final vehicle velocity vector {circumflex over (V)}_{x}, {circumflex over (V)}_{y }280 based on kinematics of vehicle motion using a vehicle/tire model. The angle update logic allows for exploiting steady state angles. It also enables fusion of existing approaches to the current based on GPS availability, improving robustness.
The GPS course angle and steadystate pitch and roll angles are employed as additional measurements. Steadystate pitch angle is expressed in terms of measured longitudinal acceleration and derivative of the longitudinal speed. Steadystate roll angle is expressed in terms of the lateral acceleration, yaw rate and longitudinal speed. Course angle is the angle between vehicle velocity and direction to East.
When yaw update criteria are met, the yaw measurement is available. When pitch update criteria are met, the pitch measurement is available. When roll update criteria is met, the roll measurement is available. Yaw update criteria means almost straight driving, i.e., no sideslip. Roll update criteria means almost steadystate motion around the roll axis. Pitch update criteria means almost steadystate motion around the pitch axis. Therefore, the quantity of available measurements may change dynamically, depending on whether there is a GPS update and/or steadystate angle updates. The first state estimator 240, including, e.g., the 6DOF Extended Kalman filter operates at 10 ms repetition rate. States of accelerations a_{xm}, a_{ym}, a_{zm }and angular velocities ω_{x}, ω_{y}, ω_{z }are updated every 10 ms. GPS velocities V_{E}, V_{N}, V_{U }are updated every 100 ms. Steadystate angle updates are received whenever corresponding criteria are met. Therefore, there may be multiple subcases, wherein each subcase corresponds to a particular measurement set available. And Jacobian of measurement equations also corresponds to a particular case or measurement set.
When implemented on an embodiment of the vehicle 100 having ADAS 40, the state flow routine 200 provides an analytical process for dynamically determining a final vehicle velocity vector {circumflex over (V)}_{x}, {circumflex over (V)}_{y }280 based upon parameters from the GPS sensor 36 and the IMU 34. This includes determining, via the GPS sensor 36, the first set of parameters 37 that are associated with a velocity, a position, and a course for the vehicle 100. This also includes determining, via the IMU 34, the second parameters 35 that are associated with acceleration and angular velocity for the vehicle 100. This also includes determining the roll and pitch parameters 232 based upon the first and second sets of parameters 37, 35, as described with reference to the angle update block 230 of
The block diagrams in the flow diagrams illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in the block diagrams may represent a module, segment, or portion of code, which includes one or more executable instructions for implementing the specified logical function(s). It will also be noted that each block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations, may be implemented by dedicatedfunction hardwarebased systems that perform the specified functions or acts, or combinations of dedicatedfunction hardware and computer instructions. These computer program instructions may also be stored in a computerreadable medium that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computerreadable medium produce an article of manufacture including instruction means which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The detailed description and the drawings or figures are supportive and descriptive of the present teachings, but the scope of the present teachings is defined solely by the claims. While some of the best modes and other embodiments for carrying out the present teachings have been described in detail, various alternative designs and embodiments exist for practicing the present teachings defined in the appended claims.
Claims
1. A method for operating a vehicle, the method comprising:
 determining, via a Global Positioning System (GPS) sensor, first parameters associated with a velocity, a position, and a course for the vehicle;
 determining, via an Inertial Measurement Unit (IMU), second parameters associated with an acceleration and an angular velocity for the vehicle;
 determining a road surface friction coefficient and road wheel angles for the vehicle;
 determining roll and pitch parameters based upon the first and second parameters;
 determining a first vehicle velocity vector based upon the roll and pitch parameters, the first parameters, and the second parameters;
 determining a second vehicle velocity vector based upon the second parameters associated with the road surface friction coefficient, the acceleration, the angular velocity, and the road wheel angles for the vehicle;
 executing a data fusion of the first and second vehicle velocity vectors for the vehicle;
 determining a final vehicle velocity vector based upon the data fusion of the first and second vehicle velocity vectors for the vehicle; and
 controlling an operating system of the vehicle based upon the final vehicle velocity vector.
2. The method of claim 1, wherein determining the roll and pitch parameters based upon the first and second parameters comprises executing a first Extended Kalman filter to determine the roll and pitch parameters based upon the first parameters and the second parameters.
3. The method of claim 2, wherein executing the first Extended Kalman filter to determine the roll and pitch parameters comprises executing a six degreeoffreedom (6DOF) Extended Kalman filter to determine the roll and pitch parameters based upon the first parameters and the second parameters.
4. The method of claim 1, wherein determining the first vehicle velocity vector based upon the roll and pitch parameters, the first parameters, and the second parameters comprises executing a second Extended Kalman filter to determine the first vehicle velocity vector based upon the roll and pitch parameters, the first parameters, and the second parameters.
5. The method of claim 4, wherein executing the second Extended Kalman filter to determine the first vehicle velocity vector comprises executing a three degreeoffreedom (3DOF) Extended Kalman filter to determine the first vehicle velocity vector based upon the roll and pitch parameters, the first parameters, and the second parameters.
6. The method of claim 1, wherein determining second vehicle velocity vector based upon the roll and pitch parameters, the road surface friction coefficient, the angular velocity, the road wheel angles for the vehicle and the first vehicle velocity vector comprises executing a third Extended Kalman filter to determine the second vehicle velocity vector based upon the roll and pitch parameters, the road surface friction coefficient, the angular velocity, the road wheel angles for the vehicle, and the first vehicle velocity vector.
7. The method of claim 6, wherein executing the third Extended Kalman filter to determine second vehicle velocity vector comprises executing a Bicycle Model Extended Kalman filter to determine second vehicle velocity vector based upon the roll and pitch parameters, the road surface friction coefficient, the angular velocity, the road wheel angles for the vehicle, and the first vehicle velocity vector.
8. The method of claim 1, further comprising:
 synchronizing the first and second parameters; and
 determining the roll and pitch parameters based upon the synchronized first and second parameters.
9. The method of claim 1, further comprising:
 compensating the second parameters associated with acceleration and angular velocity of the vehicle and the roll and pitch parameters based upon gravity to determine an acceleration vector;
 executing a second Extended Kalman filter to determine the first vehicle velocity vector based upon the acceleration vector and the first parameters.
10. The method of claim 1, wherein determining the second vehicle velocity vector based upon the second parameters associated with acceleration, angular velocity and road wheel angle comprises determining longitudinal and lateral velocity estimates based upon inputs from the IMU.
11. The method of claim 1, wherein the vehicle includes an Advanced Driver Assistance System (ADAS), and wherein controlling the operating system of the vehicle based upon the final vehicle velocity vector comprising controlling, via the ADAS, the operating system of the vehicle based upon the final vehicle velocity vector.
12. A method for operating a vehicle, the method comprising:
 determining, via a Global Positioning System (GPS) sensor, first parameters associated with a velocity, a position, and a course for the vehicle;
 determining, via an Inertial Measurement Unit (IMU), second parameters associated with an acceleration and an angular velocity for the vehicle;
 determining a road surface friction coefficient and road wheel angles for the vehicle;
 determining roll and pitch parameters based upon the first and second parameters;
 determining a first vehicle velocity vector based upon the roll and pitch parameters, the first parameters, and the second parameters;
 determining a second vehicle velocity vector based upon the roll and pitch parameters, road surface friction coefficient, angular velocity, road wheel angles for the vehicle and the first vehicle velocity vector;
 determining a final vehicle velocity vector based upon the first and second vehicle velocity vectors for the vehicle; and
 controlling an operating system of the vehicle based upon the final vehicle velocity vector.
13. The method of claim 12, wherein determining the roll and pitch parameters based upon the first and second parameters comprises executing a first state estimator to determine the roll and pitch parameters based upon the first parameters and the second parameters.
14. The method of claim 13, wherein executing the first state estimator to determine the roll and pitch parameters comprises executing a six degreeoffreedom (6DOF) state estimator to determine the roll and pitch parameters based upon the first parameters and the second parameters.
15. The method of claim 12, wherein determining the first vehicle velocity vector based upon the roll and pitch parameters, the first parameters, and the second parameters comprises executing a second state estimator to determine the first vehicle velocity vector based upon the roll and pitch parameters, the first parameters, and the second parameters.
16. The method of claim 15, wherein executing the second state estimator to determine the first vehicle velocity vector comprises executing a three degreeoffreedom (3DOF) state estimator to determine the first vehicle velocity vector based upon the roll and pitch parameters, the first parameters, and the second parameters.
17. The method of claim 12, wherein determining the second vehicle velocity vector based upon the roll and pitch parameters, road surface friction coefficient, angular velocity, road wheel angles for the vehicle and the first vehicle velocity vector comprises executing a third state estimator to determine the second vehicle velocity vector based upon the roll and pitch parameters, road surface friction coefficient, angular velocity, road wheel angles for the vehicle and the first vehicle velocity vector.
18. The method of claim 17, wherein executing the third state estimator to determine the second vehicle velocity vector comprises executing a Bicycle Model state estimator to determine the second vehicle velocity vector based upon the roll and pitch parameters, road surface friction coefficient, angular velocity, road wheel angles for the vehicle and the first vehicle velocity vector.
19. A vehicle, comprising:
 an Advanced Driver Assistance System (ADAS), a Global Positioning System (GPS) sensor, an Inertial Measurement Unit (IMU), an operating system, and a controller;
 wherein the ADAS is operatively connected to the operating system;
 wherein the controller is in communication with the ADAS, the GPS sensor, and the IMU;
 wherein the controller includes an instruction set, the instruction set being executable to: determine, via the GPS sensor, first parameters associated with a velocity, a position, and a course for the vehicle; determine, via the IMU, second parameters associated with acceleration and angular velocity for the vehicle; determine roll and pitch parameters based upon the first and second parameters; determine a first vehicle velocity vector based upon the roll and pitch parameters, the first parameters, and the second parameters; determine a second vehicle velocity vector based upon the roll and pitch parameters, road surface friction coefficient, angular velocity, road wheel angles for the vehicle and the first vehicle velocity vector; determine a final vehicle velocity vector based upon the first and second vehicle velocity vectors for the vehicle; and control, via the ADAS, the operating system based upon the final vehicle velocity vector.
20. The vehicle of claim 19, wherein the operating system comprises one of a propulsion system, a steering system, or a braking system; and wherein the instruction set being executable to control, via the ADAS, the operating system based upon the final vehicle velocity vector comprises the instruction set being executable to control, via the ADAS, one of the propulsion system, the steering system, or the braking system.
Type: Application
Filed: May 29, 2020
Publication Date: Dec 2, 2021
Applicant: GM GLOBAL TECHNOLOGY OPERATIONS LLC (Detroit, MI)
Inventors: Nikolai K. Moshchuk (Grosse Pointe, MI), David Andrés Pérez Chaparro (Ferndale, MI), Kausalya Singuru (Troy, MI), Hualin Tan (Novi, MI), James H. Holbrook (Fenton, MI), Curtis L. Hay (Washington Twp, MI)
Application Number: 16/886,976