BROADCASTING SYSTEM FOR AUTONOMOUS VEHICLES
20190088132 ยท 2019-03-21
Inventors
- Bruce E. Riggins (Whittier, CA, US)
- Peter Bystrom (Cypress, CA, US)
- Keith E. Cok (Cypress, CA, US)
- Elizabeth D. Briones (Lakewood, CA, US)
- Michael A. Carralero (Huntington Beach, CA, US)
- Tanner Scott Clark (Newport Beach, CA, US)
- Andrew J. Hawkins (Long Beach, CA, US)
- Allen Muroi (Fullerton, CA, US)
- Steven Warren Stakley (Dove Canyon, CA, US)
- Klaasjan Hendrik van Gelder (Long Beach, CA, US)
- Michael A. Beoletto (Trabuco Canyon, CA, US)
- Eric Allen Moore (Knoxville, TN, US)
Cpc classification
G01S2013/9316
PHYSICS
B60W2556/65
PERFORMING OPERATIONS; TRANSPORTING
B60K2031/0033
PERFORMING OPERATIONS; TRANSPORTING
G08G1/166
PHYSICS
G01S2013/932
PHYSICS
G05D1/0088
PHYSICS
International classification
Abstract
A broadcasting system for an autonomous vehicle is disclosed and includes an antenna, a plurality of sensors, one or more processors, and a memory coupled to the processors. The antenna is configured to send and receive wireless communication, and the antenna receives publically available wireless signals. The sensors are configured to generate signals indicating a real-time velocity and a real-time direction of travel of the autonomous vehicle. The processors are in communication with the antenna and the plurality of sensors. The memory stores data comprising program code that, when executed by the one or more processors, causes the system to receive as input the publically available wireless signals and the signals indicating the real-time velocity and the real-time direction of travel of the autonomous vehicle. The system is further caused to determine a real-time velocity and real-time direction of travel of autonomous vehicle.
Claims
1. A broadcasting system (20) for an autonomous vehicle (8), comprising: an antenna (30) configured to send and receive wireless communication, wherein the antenna (30) receives publically available wireless signals; a plurality of sensors (50) configured to generate signals indicating a real-time velocity and a real-time direction of travel of the autonomous vehicle (8); one or more processors (185) in communication with the antenna (30) and the plurality of sensors (50); and a memory (186) coupled to the one or more processors (185), the memory (186) storing data comprising program code that, when executed by the one or more processors (185), causes the broadcasting system (20) to: receive as input the publically available wireless signals and the signals indicating the real-time velocity and the real-time direction of travel of the autonomous vehicle (8); determine the real-time velocity and the real-time direction of travel of autonomous vehicle (8) based on the signals generated by the plurality of sensors (50); determine a real-time position of the autonomous vehicle (8) based on the publically available wireless signals; and transmit, by the antenna (30), radio frequency (RF) signals (38) indicating the real-time position, the real-time velocity, and the real-time direction of travel of the autonomous vehicle (8).
2. The broadcasting system (20) of claim 1, wherein the RF signals (38) are transmitted by the antenna (30) at timed intervals.
3. The broadcasting system (20) of claim 2, wherein the timed intervals are adjusted based on the real-time velocity of the autonomous vehicle (8) and a presence of obstacles within a reaction distance of the autonomous vehicle (8).
4. The broadcasting system (20) of claim 2, wherein the timed intervals range from about 0.1 second to about 0.5 seconds.
5. The broadcasting system (20) of claim 1, wherein the antenna (30) receives asynchronous RF signals (40) generated by a vehicle (34) positioned in proximity of the autonomous vehicle (8), and wherein each asynchronous RF signal (40) indicates a specific real-time position, a specific real-time velocity, and a specific real-time direction of travel of the vehicle (34).
6. The broadcasting system (20) of claim 5, wherein the vehicle (34) is within proximity of the autonomous vehicle (8) when the vehicle (34) is located at a distance at least about twice a standard braking distance of the autonomous vehicle (8).
7. The broadcasting system (20) of claim 5, wherein the RF signals (38) transmitted by the antenna (30) further include the specific real-time position, the specific real-time velocity, and the specific real-time direction of travel of the vehicle (34) located within proximity of the autonomous vehicle (8).
8. The broadcasting system (20) of claim 1, wherein the publically available wireless signals are global positioning (GPS) signals (44).
9. The broadcasting system (20) of claim 1, comprising a plurality of sensing modalities (32) in communication with the one or more processors (185) and configured to detect objects unable to transmit wireless signals.
10. An autonomous vehicle (8) including a broadcasting system (20), wherein a vehicle (34) is positioned within proximity of the autonomous vehicle (8), the broadcasting system (20) comprising: an antenna (30) configured to send and receive wireless communication, wherein the antenna (30) receives publically available wireless signals; a plurality of sensors (50) configured to generate signals indicating a real-time velocity and direction of travel of the autonomous vehicle (8); one or more processors (185) in communication with the antenna (30) and the plurality of sensors (50); and a memory (186) coupled to the one or more processors (185), the memory (186) storing data comprising program code that, when executed by the one or more processors (185), causes the broadcasting system (20) to: receive as input the publically available wireless signals, the signals generated by the sensors (50), and asynchronous RF signals (40) generated by the vehicle (34), wherein each asynchronous RF signal (40) indicates a specific real-time position, a specific real-time velocity, and a specific real-time direction of travel of the vehicle (34); determine a real-time velocity and real-time direction of travel of the autonomous vehicle (8) based on the signals generated by the sensors (50); determine a real-time position of the autonomous vehicle (8) based on the publically available wireless signals; and generate a vector diagram (60) that estimates a first forecast vector (V.sub.1) at a specific point in time in an immediate future based on the real-time velocity and the real-time direction of travel of the autonomous vehicle (8) and a second forecast vector (V.sub.2) at the specific point in time in the immediate future based on the real-time velocity and the real-time direction of travel of the vehicle (34).
11. The autonomous vehicle (8) of claim 10, wherein the program code, when executed by the one or more processors (185), further causes the broadcasting system (20) to: estimate a possible intersection between the first forecast vector (V.sub.1) and the second forecast vector (V.sub.2), wherein the possible intersection represents a potential collision between the autonomous vehicle (8) and the vehicle (34).
12. The autonomous vehicle (8) of claim 11, wherein the program code, when executed by the one or more processors (185), further causes the broadcasting system (20) to: determine at least one vehicle control action to be executed by the autonomous vehicle (8) to avoid the potential collision.
13. The autonomous vehicle (8) of claim 12, wherein the vehicle control action represents one or more maneuvers executed by the autonomous vehicle (8) to avoid the potential collision.
14. The autonomous vehicle (8) of claim 10, wherein a third vehicle (34B) is within proximity of the autonomous vehicle (8) and the program code, when executed by the one or more processors (185), further causes the broadcasting system (20) to: estimate a third forecast vector (V.sub.3) at the specific point in time in the immediate future for the vector diagram (60), wherein the third forecast vector (V.sub.3) is based on an third real-time velocity and a third real-time direction of travel of the third vehicle (34).
15. The autonomous vehicle (8) of claim 14, wherein the program code, when executed by the one or more processors (185), further causes the broadcasting system (20) to: extend the second forecast vector (V.sub.2) representing a trajectory and a position of the vehicle (34A) and the forecast vector (V.sub.3) representing a trajectory and a position of the vehicle (34B); and estimate a potential peripheral intersection (72) by determining the forecast vector (V.sub.2) and the third forecast vector (V.sub.3) intersect with one another, wherein the potential peripheral intersection (72) creates a chain reaction that results in the autonomous vehicle (8) colliding with one or more vehicles (34A, 34B).
16. The autonomous vehicle (8) of claim 10, wherein the vehicle (34) is within proximity of the autonomous vehicle (8) when the vehicle (34) is located at a distance at least about twice a standard braking distance of the autonomous vehicle (8).
17. The autonomous vehicle (8) of claim 10, wherein the program code, when executed by the one or more processors (185), further causes the broadcasting system (20) to: transmit, by the antenna (30), the real-time position, the real-time velocity, and the real-time direction as radio frequency (RF) signals (38).
18. A method of determining a potential collision involving an autonomous vehicle (8) and a vehicle (34) positioned within proximity of the autonomous vehicle (8), the method comprising: receiving, by an antenna (30), asynchronous RF signals (40) generated by the vehicle (34), wherein the asynchronous RF signals (40) indicate a specific real-time position, a specific real-time velocity, and a specific real-time direction of travel of the vehicle (34); determining, by a computer (184), a status of the asynchronous RF signals (40) generated by the vehicle (34), wherein the status indicates a presence of prior messages generated by the vehicle (34) that are saved in memory (186) of the computer (184); in response to determining the presence of prior messages in the memory (186) of the computer (184), determining, by the computer (184), a vector diagram (60) including a first forecast vector (V.sub.1) corresponding to the autonomous vehicle (8) and a second forecast vector (V.sub.2); and estimating an occurrence of a possible intersection between the first forecast vector (V.sub.1) and the second forecast vector (V.sub.2), wherein the possible intersection represents the potential collision.
19. The method of claim 18, comprising assigning a specific identification indicator and record that corresponds to the vehicle (34) and adding the record corresponding to the vehicle (34) to the vector diagram (60) in response to determining no prior messages are saved in the memory (186) of the computer (184).
20. The method of claim 18, comprising determining at least one vehicle control action to be executed by the autonomous vehicle (8) to avoid the potential collision in response to determining the occurrence of the potential collision.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0008]
[0009]
[0010]
[0011]
[0012]
[0013]
DETAILED DESCRIPTION
[0014]
[0015] In the exemplary embodiment as shown in
[0016] The autonomous vehicle 8 includes semi-autonomous vehicles that require driver input for some or even most maneuvers, but also include at least one feature that allows for the vehicle to operate autonomously in specific conditions. For example, vehicles that include automated systems for braking, steering, acceleration, or parking are also included within the scope of this disclosure. Accordingly, the autonomous vehicle 8 is not limited to vehicles that operate with little or no input from a driver. Moreover, although the figures illustrate the autonomous vehicle 8 as an automobile, and in particular as a passenger car, this illustration is exemplary in nature. Indeed, the autonomous vehicle 8 may be any type of vehicle for navigating land, bodies of water, or airspace. For example, in one embodiment the autonomous vehicle 8 may be any other type of land vehicle such a truck, a motorized bicycle, or industrial vehicles such as forklifts that are used to navigate a factory floor. Furthermore, the disclosure is not limited to land vehicles. In another embodiment, the autonomous vehicle 8 may be a vehicle that travels in air such as, for example, an unmanned aerial vehicle (UAV) or an aircraft that is operated during ground control. In yet another embodiment, the autonomous vehicle 8 may travel in a body of water such as an ocean, lake, or river. For example, the autonomous vehicle 8 may also be a motorized boat.
[0017]
[0018] Referring to both
[0019] Turning back to
[0020] The velocity and direction of travel of the autonomous vehicle 8 are determined based on signals detected by a plurality of sensors 50 in communication with the vehicle information module 22. The sensors 50 are configured to generate signals indicating a real-time velocity and a real-time direction of travel of the autonomous vehicle 8. The vehicle information module 22 determines the real-time velocity and direction of travel of autonomous vehicle 8 based on the signals detected by the sensors 50. For example, in one embodiment the sensors 50 may include an accelerometer that generates signals indicating the velocity and a gyroscope that generates signals indicating the direction of travel of the autonomous vehicle 8.
[0021] The RF signals 38 are transmitted by the antenna 30 at timed intervals. In one embodiment, the timed intervals are based on a default setting. Alternatively, in another embodiment the timed intervals are adjusted based on current traffic conditions and operating conditions of the autonomous vehicle 8. However, the timed intervals include a maximum value, where the antenna 30 does not transmit the RF signals 38 at a timed interval greater than the maximum value, which prevents the presence of excessive periods of time where no information is transmitted.
[0022] In one embodiment, the timed intervals range from about 0.1 second to about 0.5 seconds, where the timed intervals are adjusted based on the real-time velocity of the autonomous vehicle 8 as well as the presence of obstacles within the reaction distance of the autonomous vehicle 8 vehicle. The reaction distance represents a distance traveled in the time it takes for a driver to react to a hazard and apply brakes. For example, the timed intervals tend to increase and become longer in time when the velocity of the autonomous vehicle 8 is decreased or when obstacles are located further away.
[0023] Referring now to
[0024] In addition to distances in front of the autonomous vehicle 8, the distance is also measured along any line of travel of the autonomous vehicle 8 as well. Accordingly, the distance includes all vehicles 34 and obstacles that require potential avoidance action by the autonomous vehicle 8, while at the same time not including an excessive number of vehicles and obstacles that are superfluous.
[0025] Each asynchronous RF signal 40 indicates a specific real-time position, a specific real-time velocity, and a specific real-time direction of travel of a specific vehicle 34 located within the proximity of the autonomous vehicle 8. As explained below, the specific real-time position, the specific real-time velocity, and the specific real-time direction of travel are used to determine a position of each specific vehicle 34 at a known time occurring in the immediate future. For purposes of this disclosure, the immediate future is measured in seconds and is based on the reaction time of the autonomous vehicle 8. The reaction time is representative of the time it takes for the driver to react to a hazard and apply brakes. The RF signals 40 are encrypted or include other security measures to ensure that the RF signals 40 are not used for unwanted or unauthorized purposes.
[0026] In addition to the RF signal 40, the antenna 30 also receives wireless signals that indicate publicly accessible information and are referred to as public signals or publically available wireless signals. Some examples of publically available wireless signals include, but are not limited to, cellular signals 42 generated by a cell tower 46 and the GPS signals 44 generated by a plurality of GPS satellites 48. The publicly assessable information is used to determine the specific location of the autonomous vehicle 8 in relation to Earth. Specifically, the vehicle information module 22 receives a GPS signal 44 from each GPS satellite 48. Each GPS signal 44 indicates the time and location at which the GPS signal 44 was sent. The vehicle information module 22 determines the specific location of the autonomous vehicle 8 in relation to Earth based on a trilateration process. Also, the relative signal strength of the cellular signals 42 at the cellular towers 46 may be used to triangulate and estimate position of a cellular sender. The coverage areas of GPS and cellular networks tend to complement one another. Accordingly, when both information sources are available, similar information elements are compared, such as when both have clock information or when position may be measured by GPS and also by cellular signal strength triangulation, with GPS given priority. However, an accelerometer coupled to a clock may also be used to update position in the event the GPS signals 44 are unavailable. Changes in cellular signal strength as identified by the cell towers 46 also provide input as to location or change of location.
[0027] Referring to both
[0028] The information relating to the autonomous vehicle 8 is updated based on timed update intervals, where the intervals are based on the specific source of information. Specifically, the publically available wireless signals such as the cellular signals 42 the GPS signals 44, the real-time velocity, and the real-time direction of the autonomous vehicle 8 are monitored and updated based on different time intervals. Specifically, the cellular signals 42 are received at intervals established by a standard cellular communication network. The GPS signals 44 are received at update intervals of about 0.5 seconds, or 2 Hertz. The update intervals relating to the velocity and direction of the autonomous vehicle 8 are determined based on velocity and the number of other vehicles being monitored. The vehicle information module 22 also includes a clock (not illustrated). The vehicle information module 22 receives and processes the information related to the autonomous vehicle 8, and correlates the information obtained from the cellular signals 42, the GPS signals 44, and the sensors 50 together. The local clock (not illustrated) of the vehicle information module 22 is then updated so as to be synchronized with time information received from external sources (i.e., the GPS signals 44 and/or cellular signals 42).
[0029] Referring to both
[0030] In one embodiment, the vehicle control action is any type of maneuver such as, but not limited to, braking, accelerating, swerving, changing lanes, and turning. Maneuvers may also include non-movements or no action that is taken by the autonomous vehicle 8 as well. For example, the broadcasting system 20 may decide to instruct the autonomous vehicle 8 to stay stationary based on the actions of the surrounding vehicles 34. In still another embodiment, the vehicle control action is simply to keep the autonomous vehicle 8 travelling at the same direction and velocity. The vehicle control action is used for collision avoidance, operation of the autonomous vehicle 8, and for coordinating traffic in relation to the other vehicles 34.
[0031] Turning back to
[0032] The vector module 24 generates a vector diagram based on the inputs, where the vector diagram determines a position of the autonomous vehicle 8 in relation to potential obstructions located within proximity.
[0033] It is to be appreciated that
[0034] Referring to both
[0035] Once the vector diagram 60 is generated, the vector module 24 estimates a possible intersection between the first forecast vector V.sub.1 and the second forecast vector V.sub.2, where the possible intersection represents a potential collision between the autonomous vehicle 8 and the vehicle 34. The possible intersection 70 is created by extending the first forecast vector V.sub.1 representing the trajectory and position of the autonomous vehicle 8 and the second forecast vector V.sub.2 representing the trajectory and position of the other vehicle 34. However, if the two forecast vectors V.sub.1 and V.sub.2 do not intersect one another, then no collision occurs between the vehicles 8, 34. In the embodiment as shown in
[0036] In one embodiment, the vector module 24 also determines potential peripheral collisions between other obstructions that are within proximity of the autonomous vehicle 8, where the peripheral collisions intersect with the forecast vector V.sub.1 of the autonomous vehicle 8. Turning now to
[0037] The vector diagram 60 includes the first forecast vector V.sub.1 representing the trajectory and position of the autonomous vehicle 8, the second position vector V.sub.2 indicating the immediate path of travel of the surrounding vehicle 34A, and a third position vector V.sub.3 indicating the immediate path of travel of the surrounding vehicle 34B. Additionally, the vector diagram 60 also includes a second forecast vector V.sub.2 that predicts the trajectory and position of the surrounding vehicle 34A, and a third forecast vector V.sub.3 that predicts the trajectory and position of the surrounding vehicle 34B.
[0038] The potential peripheral intersection 72 is estimated by extending the second forecast vector V.sub.2 representing the trajectory and position of the vehicle 34A and the third forecast vector V.sub.3 representing the trajectory and position of the vehicle 34B, and determining the second forecast vector V.sub.2 and the third forecast vector V.sub.3 intersect with one another. As seen in
[0039] Turning back to
[0040] Referring to
[0041]
[0042] In block 104, the vector module 24 determines the status of the asynchronous RF signals 40 generated by the specific vehicle 34 in block 102. Specifically, the status indicates the presence of prior messages generated by the specific vehicle 34 saved in memory of the vector module 24. The method 100 may then proceed to decision block 106. Decision block 106 determines if asynchronous RF signals 40 originating from a specific vehicle were received by the vector module 24 in the past. In response to the vector module 24 determining an absence of the prior message from a specific vehicle, method 100 then proceeds to block 108. In block 108, the vector module 24 assigns a specific identification indicator and record that corresponds to the specific vehicle 34. The vector module 24 also adds the record corresponding to the specific vehicle 34 to the vector diagram 60. The method 100 may then proceed to block 112.
[0043] Referring back to the decision block 106, in response to determining the presence of a prior message in the memory of the vector module 24, the method 100 then proceeds to block 110. In block 110, the vector module 24 estimates expected values for the real-time specific location, the specific real-time velocity, and the specific real-time direction of the vehicle 34 based on the last data point that was received. The vector module 24 then compares the estimated values with the actual values that are indicated by the RF signal 40, and then performs corrections if the comparison indicates that the actual values for the real-time specific location, the specific real-time velocity, and the specific real-time direction of the vehicle 34 fall outside of an acceptable error margin. The vector module 24 then updates the vector diagram 60 with either the actual values or a set of corrected values indicating the real-time specific location, the specific real-time velocity, and the specific real-time direction of the vehicle 34. The method 100 may then proceed to block 112.
[0044] In block 112, the vector module 24 estimates an occurrence of a possible intersection between the forecast vector V.sub.1 corresponding to the autonomous vehicle 8 and the second forecast vector V.sub.2 corresponding to the specific vehicle 34 (
[0045] In block 116, the collision avoidance module 26 determines at least one vehicle control action to be executed by the autonomous vehicle 8 to avoid the potential collision. As mentioned above, the vehicle control action represents one or more maneuvers executed by the autonomous vehicle 8 to avoid a potential collision such as, but not limited to, braking, accelerating, swerving, changing lanes, and turning. The method 100 may then terminate.
[0046] Referring generally to
[0047] Referring now to
[0048] The processor 185 includes one or more devices selected from microprocessors, micro-controllers, digital signal processors, microcomputers, central processing units, field programmable gate arrays, programmable logic devices, state machines, logic circuits, analog circuits, digital circuits, or any other devices that manipulate signals (analog or digital) based on operational instructions that are stored in the memory 186. Memory 186 includes a single memory device or a plurality of memory devices including, but not limited to, read-only memory (ROM), random access memory (RAM), volatile memory, non-volatile memory, static random access memory (SRAM), dynamic random access memory (DRAM), flash memory, cache memory, or any other device capable of storing information. The mass storage memory device 88 includes data storage devices such as a hard drive, optical drive, tape drive, volatile or non-volatile solid state device, or any other device capable of storing information.
[0049] The processor 185 operates under the control of an operating system 194 that resides in memory 186. The operating system 194 manages computer resources so that computer program code embodied as one or more computer software applications, such as an application 195 residing in memory 186, has instructions executed by the processor 185. In an alternative embodiment, the processor 185 executes the application 195 directly, in which case the operating system 194 may be omitted. One or more data structures 198 may also reside in memory 186, and may be used by the processor 185, operating system 194, or application 195 to store or manipulate data.
[0050] The I/O interface 189 provides a machine interface that operatively couples the processor 185 to other devices and systems, such as the network 192 or external resource 191. The application 195 thereby works cooperatively with the network 192 or external resource 191 by communicating via the I/O interface 189 to provide the various features, functions, applications, processes, or modules comprising embodiments of the invention. The application 195 has program code that is executed by one or more external resources 191, or otherwise rely on functions or signals provided by other system or network components external to the computer system 184. Indeed, given the nearly endless hardware and software configurations possible, persons having ordinary skill in the art will understand that embodiments of the invention may include applications that are located externally to the computer system 184, distributed among multiple computers or other external resources 191, or provided by computing resources (hardware and software) that are provided as a service over the network 192, such as a cloud computing service.
[0051] The HMI 190 is operatively coupled to the processor 185 of computer system 184 in a known manner to allow a user to interact directly with the computer system 184. The HMI 190 may include video or alphanumeric displays, a touch screen, a speaker, and any other suitable audio and visual indicators capable of providing data to the user. The HMI 190 may also include input devices and controls such as an alphanumeric keyboard, a pointing device, keypads, pushbuttons, control knobs, microphones, etc., capable of accepting commands or input from the user and transmitting the entered input to the processor 185.
[0052] A database 196 resides on the mass storage memory device 188, and may be used to collect and organize data used by the various systems and modules described herein. The database 196 may include data and supporting data structures that store and organize the data. In particular, the database 196 may be arranged with any database organization or structure including, but not limited to, a relational database, a hierarchical database, a network database, or combinations thereof. A database management system in the form of a computer software application executing as instructions on the processor 185 may be used to access the information or data stored in records of the database 196 in response to a query, where a query may be dynamically determined and executed by the operating system 194, other applications 195, or one or more modules.
[0053] While the forms of apparatus and methods herein described constitute preferred examples of this invention, it is to be understood that the invention is not limited to these precise forms of apparatus and methods, and the changes may be made therein without departing from the scope of the invention.