The present invention generally relates to vehicle navigation, and more particularly relates to a method and apparatus for determining a navigational state of a vehicle.
Modern vehicles often include vehicle control systems for providing input regarding the operation of the vehicle as it travels along a surface. For example, the vehicle may be an autonomous vehicle that travels along a predetermined path comprised of a plurality of waypoints. In this case, the vehicle control unit determines the appropriate steering angle and velocity for the vehicle as it travels to the next sequential waypoint. In other instances, the vehicle may be a user-controlled vehicle and the vehicle control system may provide the appropriate steering angle and velocity based on input from the user.
Such vehicle control systems often include a navigation unit for determining the navigational state of the vehicle (e.g., its position, heading, longitudinal velocity, and lateral acceleration). Known navigation units often comprise an inertial measurement unit (IMU) and a global positioning system (GPS) receiver. The GPS receiver receives positioning data from a GPS system at a specific frequency (e.g., 1 HZ), which the navigation unit utilizes to determine the navigational state of the vehicle. The IMU includes a plurality of sensors, gyroscopes, and accelerometers for generating data that the navigation unit uses to determine the navigational state of the vehicle between signals from the GPS system.
Although these prior art navigation units are effective, they require the use of dedicated sensors, gyroscopes, and accelerometers, increasing the cost of the vehicle. In addition, these devices are subject to measurement errors due to drifts in the accelerometers and gyroscopes that may occur while the vehicle is traveling.
Accordingly, it is desirable to provide a navigation unit that does not require the use of dedicated and costly sensors. In addition, it is also desirable to provide a navigation unit that does not use instruments such as accelerometers and gyroscopes that are subject to drift errors. Furthermore, other desirable features and characteristics of the present invention will become apparent from the subsequent detailed description of the invention and the appended claims, taken in conjunction with the accompanying drawings and this background of the invention.
An apparatus is provided for determining a navigational state of a vehicle, the vehicle having at least one pivotable wheel a plurality of front wheels. The apparatus comprises a steering angle sensor coupled to the at least one pivotable wheel for determining a steering angle, a plurality of wheel speed sensors each coupled to a different one of the plurality of pivotable wheels for determining an angular velocity of each of the plurality of pivotable wheels, a GPS receiver coupled to the vehicle for receiving GPS positioning data, and a processor coupled to the steering angle sensor, the plurality of wheel speed sensors, and the GPS receiver. The processor is configured to determine a yaw rate for the vehicle based on the GPS positioning data, the steering angle, and the longitudinal angular velocity of each of the plurality of pivotable wheels, and integrate the yaw rate to determine a heading for the vehicle.
A method is provided for determining a navigational state of a vehicle, the vehicle comprising at least one pivotable wheel, a front left wheel, and a front right wheel. The method comprises receiving a steering angle from a steering angle sensor coupled to the at least one pivotable wheel, receiving a longitudinal angular velocity of the front left wheel from a front left wheel speed sensor coupled to the front left wheel, receiving a longitudinal angular velocity of the front right wheel from a front right wheel speed sensor coupled to the front right wheel, receiving GPS positioning data from a GPS receiver, determining a yaw rage for the vehicle based on the longitudinal angular velocity of the front left wheel, the longitudinal angular velocity of the front right wheel, the steering angle, and the GPS positioning data, integrating the yaw rate to determine a heading of the vehicle; and setting an appropriate steering angle and velocity for the vehicle based on data including the heading.
The present invention will hereinafter be described in conjunction with the following drawing figures, wherein like numerals denote like elements, and
The following detailed description is merely exemplary in nature and is not intended to limit the invention or the application and uses of the invention. Furthermore, there is no intention to be bound by any theory presented in the preceding background or the following detailed description. Although the diagrams shown herein depict example arrangements of elements, additional intervening elements, devices, features, or components may be present in an actual embodiment. It should also be understood that
It should be noted that while the depicted embodiment describes one exemplary wheel configuration (e.g., two front pivoting wheels 18, 20 and two rear wheels 24, 26 that do not pivot) other embodiments of the present invention my include additional wheel configurations. For example, in one alternative embodiment the rear wheels 24, 26 of the vehicle 10 pivot with respect to the frame 14 while the front wheels 18, 20 do not pivot. Further, in still other embodiments the vehicle 10 may include only a rear wheel that pivots and two front wheels that do not pivot.
The vehicle 10 has a center of gravity (CG) located between the front wheels 18, 20 and the rear wheels 24 and 26. The wheel base (B) of the vehicle 10 comprises two separate components. The first is a distance (Lf) between CG and the closest point on a line 27 that extends between the positions where the front wheels 18 and 20 are coupled to the vehicle 10. The second is a distance (Lr) between CG and the nearest point on a line 28 that extends between the positions where the at least one rear wheel (e.g., the rear wheels 24 and 26 depicted in
As depicted, the vehicle 10 moves along an underlying terrain at velocity (V). V has two separate components: an x-component or longitudinal velocity (Vx), and a y-component or lateral velocity (Vy) of the vehicle 10. Vx and Vy are both oriented within a body coordinate system (having its origin at CG) of the body of the vehicle 10. The x-axis or longitudinal axis extends longitudinally through the vehicle 10, passing through CG. The y-axis or lateral axis is orthogonal to the x-axis. In addition, the vehicle 10 is traveling with a current steering angle (δ) causing the vehicle 10 to turn. δ is the angle that at least one pivoting wheel (e.g., the front right wheel 20 and/or the front left wheel 18 in the depicted embodiment) is turned with respect to a line that is parallel with the x-axis. For example, in the depicted embodiment δ may be the angle that the inside wheel (e.g., the front left wheel 18 if the vehicle is turning left and the front right wheel 20 if the vehicle is turning right) is turned. The turn radius (r_turn) of the vehicle 10 is the radius of the circle in which CG would travel if δ were held constant.
The vehicle 10 also includes a vehicle control system 30 that is coupled to a GPS receiver 32, a steering angle sensor 34, a front left wheel speed sensor 36, and a front right wheel speed sensor 38. In addition, the vehicle control system 30 is coupled to a steering controller 40 for controlling the steering angle of the vehicle 10, an acceleration controller 42 for increasing the velocity of the vehicle 10, and a brake controller 44 for decreasing the velocity of the vehicle 10. As further described below, the vehicle control system 30 provides signals to the steering controller 40, the acceleration controller 42, and the brake controller 44 to adjust the steering angle and the velocity of the vehicle based on the values B, Lr, Lf, W, and δ and input from the GPS receiver 32, the steering angle sensor 34, and the front left and right wheel speed sensors 36 and 38.
The GPS receiver 32 is coupled to the vehicle 10 and receives positioning data, via a wireless antenna 46, from a global positioning system. The positioning data comprises the position (e.g., latitude and longitude) of the vehicle 10 and is received by the GPS receiver 32 at a constant frequency (e.g., 1 Hz). The GPS system is a space-based radio-navigation system that is managed by the United Stated Air Force for the United States. However, it should be understood that the GPS receiver 32 may also be configured for use with other radio-based navigation/global positioning systems, such as GLONASS Navigation Satellite System managed by the Russian Space Agency for the Russian Federation.
The steering angle sensor 34 is coupled to the pivoting wheel or wheels of the vehicle 10 (e.g., the front left wheel 18 or the front right wheel 20) and is configured to determine δ as the vehicle 10 travels along the underlying surface. The front left wheel speed sensor 36 is coupled to the front left wheel 18 and is configured to determine the longitudinal angular velocity (ωL). The front right wheel speed sensor 38 is coupled to the front right wheel 20 and is configured to determine its longitudinal angular velocity (ωR). As used herein, the term “longitudinal angular velocity” of a wheel refers to the rate at which the wheel spins on its axle.
In one embodiment the vehicle 10 is an autonomous vehicle that follows a predetermined path 50 as shown in
It should be noted that in other embodiments of the present invention, the vehicle 10 is a user-controlled vehicle and the vehicle control system 30 (
The vehicle control system 100 is also coupled to a steering controller 118, a acceleration controller 120, and a brake controller 122. The steering controller 118 controls the steering angle and the acceleration controller 120 and brake controller 122 each control the velocity of the vehicle 10 (
The vehicle control system 100 includes a navigation unit 130 and a waypoint follower 132. The navigation unit 130 includes at least one processor 134 and a memory 136. The processor 134 may be a programmable logic control system (PLC), a microprocessor, or any other type of electronic controller known by those skilled in the art. It may be comprised of one or more micro-controllers, central processing units, state machines, programmable logic arrays, network logical arrays, or gates, ASIC processors, software-based controllers, combination logic, combinations thereof, and a variety of other controllers known by one skilled in the art. The memory 136 is comprised of electronic memory that is configured to store information including instructions for the processor 134 and data regarding the vehicle 10 (
With regard to
As depicted, the navigation unit 130 transmits the detected navigational state of the vehicle 10 to the waypoint follower 132 via a heading signal 138, a position signal 139, a longitudinal velocity signal 140, and a lateral acceleration signal 141. The waypoint follower 132 determines the appropriate steering angle and velocity for the vehicle 10 based on the signals 138-141 that it receives from the navigation unit 130 and the position of the next waypoint (e.g., waypoint 54 of path 50 as depicted in
In other embodiments, the vehicle control system 100 may include a drive controller that is coupled to the navigation unit 130 in place of the waypoint follower 132 and receives input from the driver of the vehicle 10. In this case, the drive controller would adjust the steering angle and the velocity of the vehicle 10 based both on the input from the driver and on the navigational state of the vehicle 10 as determined by the navigation unit 130.
The processor 134 estimates the current heading (Ψ) for the vehicle based on r_wheels, B, W, and the data that the navigation unit 130 receives from the GPS receiver 102, the steering angle sensor 104, and the front left and right wheel speed sensors 106 and 108. The processor 134 transmits Ψ the waypoint follower 132 via heading signal 138.
With reference to
Next, during step 210 the processor 134 estimates the longitudinal velocity (Vx) for the center of gravity of the vehicle using a function ƒ1(r_wheels, ωL, ωR) according to the equation:
Vx=r_wheels(ωL+ωR)/2 (1)
where r_wheels is the average of the radii for the front left wheel 18 (
Next, the processor 134 determines a first yaw rate estimate (Y1) for the vehicle (step 212). Y1 is determined using the function ƒ2(B, Vx, δ) according to the equation:
Y1=(1/B)Vx tan δ (2)
where B is the wheel base of the vehicle (described above with reference to
The processor 134 determines a second yaw rate estimate (Y2) during step 214. Y2 is determined using the function ƒ3(r_wheels, W, ωL, ωR) according to the equation:
Y2=(r_wheels/W)(ωL−ωR) (3)
where W is the track width of the vehicle (as described above with reference to
Thus, Y2 is based on ωL and ωR as provided by the front left and right wheel speed sensors 106 and 108, whereas Y1 is based not only on ωL and ωR (because those values are used to determine Vx) but also on δ as provided by the steering angle sensor 104. To decrease the effect of any measurement errors by the steering angle sensor 104 and/or the front left and right wheel speed sensors 106 and 108, the processor 134 averages Y1 and Y2 (step 216) to obtain an average yaw rate estimate (Y′).
Next, the processor 134 during step 220 the processor adds a yaw rate adjustment (Y_adj) to Y′ to determine the estimated yaw rate for the vehicle (Y). As further described below, the processor 134 determines the value of Y_adj based on the positioning data from the GPS receiver 102 (see
Finally, Y is integrated (step 222) to obtain the heading of the vehicle Ψ. It should be noted that Ψ will be relative to a reference heading. The reference heading may be a heading that is substantially in the North direction, the initial heading of the vehicle before the navigational unit 130 begins to operate, or any other heading that will serve as the basis for the heading measurements that are determined by the navigational unit 130. In instances where the reference heading is equal to the initial heading of the vehicle 10, the value of the reference heading may be set manually or it may be determined from the positioning data that is received from the GPS receiver 102.
Returning to
With reference to
During step 314, the processor 134 estimates the longitudinal velocity (Vx) of the vehicle. The processor 134 determines Vx using the same function ƒ1(r_wheels, ωL, ωR) that is used during step 210 of method 200. Next, the processor 134 determines the lateral velocity (Vy) for the vehicle (step 316) using a function ƒ4(Lr, B, Vx, δ) according to the equation:
Vy=−(Lr/B)Vx tan δ (4)
where Lr is the distance between the center of gravity of the vehicle and the nearest point on a line 27 that extends through the centers of the rear wheels 24, 26 (as described above with reference to
The processor 134 utilizes a body-to-inertial-transformation-matrix (TΨ) to transform Vx and Vy from the body coordinate system of the vehicle into an inertial coordinate system. In one embodiment, the inertial coordinate system is an NE (North/East) coordinate system, having an N-axis that extends in the North direction and an E-axis that extends in the East direction. In this embodiment, the processor 134 uses heading (Ψ) that is determined during method 200 (
Next, the processor 134 adds a North velocity adjustment (Vn_adj) to Vn′ (step 320) to determine the velocity of the vehicle in the North direction (Vn) and an East velocity adjustment (Ve_adj) to Ve′ (step 322) to determine the velocity of the vehicle in the East direction (Ve). As further described below, the processor 134 determines the values Vn_adj and Ve_adj based on the positioning data from the GPS receiver 102 (see
The processor 134 integrates Vn to obtain a North position (Pn) of the vehicle (step 324) and Ve to determine an East position (Pe) of the vehicle (step 326). It should be noted that Pn is a distance in the North direction from a reference North position (Pn_ref) and Pe is a distance in the East direction from a reference East position (Pe_ref). Pn_ref may be expressed as a latitude and Pe_ref may be expressed as a longitude. Pn_ref and Pe_ref represent the position of the vehicle before the navigation unit 130 begins to determine the navigational state of the vehicle 10 and are used as the initial conditions for determining Pn and Pe. The values of Pn_ref and Pe_ref may be set manually or they may be determined from the positioning data that is received from the GPS receiver 102.
It should also be noted that in some embodiments, the processor 134 uses the positioning data that the navigation unit 130 receives from the GPS receiver 102, rather than Pn and Pe, to determine the position of the vehicle for the purposes of the position signal 139. In such embodiments, the processor 134 is limited by the frequency with which the GPS receiver 102 receives the positioning data (e.g., 1 Hz). However, the processor 134 must still determine the positions Pn and Pe as those positions are required to calculate the feedback gain as described below.
In addition, it should be noted that Pn_gps and Pe_gps must have the same frame of reference as the positions Pn and Pe that are determined during method 300. For example, in embodiments in which Pn and Pe are distances from Pn_ref and Pe_ref, the Pn_gps and Pe_gps must also be expressed as being relative to Pn_ref and Pe_ref. Conversely, the processor 134 may convert the values Pn and Pe into a latitude and a longitude based on Pn_ref and Pe_ref.
Next, the processor 134 determines the difference (Pn_error) between Pn_GPS and the Pn (step 406). The processor 134 also determines the difference (Pe_error) between Pe_GPS and Pe (step 408).
During step 410 the processor 134 determines a yaw rate adjustment (Y_adj), a North velocity adjustment (Vn_adj), and an East velocity adjustment (Ve_adj) based on Pn_error, Pe_error, and at least one gain value. Y_adj is the feedback value for the yaw rate (Y of
Returning to
Finally, the processor 134 estimates a lateral acceleration (Ny) for the vehicle 10 (
Ny=(Vx̂2)/r_turn (5)
where Vx is the longitudinal velocity of the vehicle 10 (
In other embodiments, Ny may be determined using the equation:
Ny=Y*Vx (6)
where Y is the yaw rate of the vehicle 10 determined as described above with reference to
While at least one exemplary embodiment has been presented in the foregoing detailed description of the invention, it should be appreciated that a vast number of variations exist. It should also be appreciated that the exemplary embodiment or exemplary embodiments are only examples, and are not intended to limit the scope, applicability, or configuration of the invention in any way. Rather, the foregoing detailed description will provide those skilled in the art with a convenient road map for implementing an exemplary embodiment of the invention. It being understood that various changes may be made in the function and arrangement of elements described in an exemplary embodiment without departing from the scope of the invention as set forth in the appended claims.