Vehicle-to-everything data transmission for automated vehicles
Through the feedback system of V2X communication, data upload difficulties caused by wireless network access problems in automated vehicles are solved, and data upload of all vehicles is realized to the cloud server, improving data upload efficiency and safety and efficiency of vehicle functions.
Patent Information
- Application Number
- CN201910834303.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2018-09-05
- Filing Date
- 2019-09-05
- Publication Date
- 2025-01-03
- Estimated Expiration
- 2039-09-05
AI Technical Summary
Sensor data generated by automated vehicles is difficult to upload to cloud servers due to wireless network access problems, especially when bandwidth limitations or poor wireless network access quality.
The feedback system is used to forward sensor data from bandwidth-limited automated vehicles to other connected vehicles with unlimited bandwidth, and then upload them to the cloud server, ensuring that all vehicles can automatically upload data regardless of the quality of their wireless network access.
It solves the difficulty of uploading data caused by wireless network access problems in automated vehicles, improves data upload efficiency, ensures that cloud servers receive and analyze sensor data in a timely manner, and improves the safety and efficiency of vehicle functions.
Smart Images

Figure CN110881175B_ABST
Abstract
Description
Technical Field
[0001] The present specification relates to vehicle-to-everything (V2X) data transmission for automated vehicles. More specifically, embodiments of the present specification relate to automatically uploading digital data from an automated vehicle to a server. Background Art
[0002] Automated vehicles are becoming increasingly popular. One obstacle in automated vehicle technology is the need to aggregate and analyze sensor data generated by each of these automated vehicles to ensure the proper operation of the automated vehicles. Therefore, there is a need to ensure that the sensor data generated by the automated vehicles is uploaded to a cloud server.
[0003] In some cases, each automated vehicle generates approximately 50GB of sensor data per hour (50GB / hr), which is a huge amount of data and requires each automated vehicle to have consistent and high-quality access to a wireless network so that the sensor data can be uploaded to a cloud server via the wireless network. However, some automated vehicles may not be able to access a wireless network, or their access may be inconsistent or of low quality, making it difficult or impossible for these vehicles to upload their sensor data to the cloud server.
[0004] An existing approach to uploading sensor data to a cloud server is to have the automated vehicle connect to its driver's home wireless network when the vehicle is parked at home. However, this approach does not adequately address the problem that the automated vehicle cannot access the home wireless network for some reason, such as one or more of the following: the driver's home does not have a wireless network; the driver's parking spot is too far from the network router; the driver's parking spot is located in a garage so that the automated vehicle's WiFi radio cannot connect to the home wireless network; the driver's parking spot is located in an underground garage so that the automated vehicle's WiFi radio cannot connect to the home wireless network; the driver never enters the WiFi password into the automated vehicle; and the driver's home WiFi password changes, but the driver does not update the vehicle's WiFi password. Summary of the invention
[0005] Embodiments of a feedback system are described herein, which is an element of a networked vehicle. The feedback system beneficially solves the problem of some automated vehicles having bandwidth limitations and being unable to upload sensor data to a cloud server by eliminating bandwidth limitations of the automated vehicle and using V2X communication to forward sensor data to other networked vehicles that do not have bandwidth limitations, so that the other networked vehicles relay the sensor data to a cloud server. Thus, all automated vehicles with or without bandwidth limitations can automatically upload their sensor data to a cloud server.
[0006] Currently there is no solution that provides the functionality to automatically upload sensor data generated by automated vehicles with bandwidth limitations to a cloud server. For example, if the automated vehicles do not have their own high-quality access to a home wireless network, existing solutions cannot help these automated vehicles upload their sensor data to a cloud server. The feedback system described here solves this problem by ensuring that all vehicles are able to upload their sensor data to a cloud server, regardless of the quality of their access to the home wireless network. The feedback system described here can work even if the automated vehicle including the feedback system cannot access the home wireless network. The feedback system is also applicable to all levels of automated vehicles.
[0007] In some embodiments, the feedback system is installed in an automated vehicle and provides the automated vehicle with access to a wireless network in situations where the automated vehicle is unable to upload its sensor data to a cloud server. These situations include, but are not limited to, the following situations: the home router is out of range of the connected vehicle; the home router does not exist, is malfunctioning, or has low quality access to the Internet; the owner of the connected vehicle has never provided the WiFi password to his / her connected vehicle, such that the connected vehicle cannot offload its aggregated sensor data to the home router even if the connected vehicle is within WiFi range of the home router that has good access to the Internet.
[0008] In some embodiments, the feedback system may operate on an electronic control unit (ECU) of an automated vehicle. An automated vehicle is an automated vehicle of any level, such as level 1, 2, 3, 4, or 5. It is assumed that all automated vehicles may include a feedback system, and that a road environment includes: a self-vehicle; and one or more remote vehicles. The self-vehicle and the remote vehicles are automated vehicles that include feedback systems. The feedback system of the self-vehicle monitors the access of the self-vehicle to a home wireless network over time. The feedback system of the self-vehicle generates connectivity data describing the access of the self-vehicle to the home wireless network. The feedback systems of the remote vehicles also determine connectivity data describing their own access to the home wireless network.
[0009] The feedback system of the ego vehicle stores threshold data describing a connectivity threshold. The feedback system of the ego vehicle compares the access connectivity of the ego vehicle described by the connectivity data to the connectivity threshold. If the access connectivity described by the connectivity data of the ego vehicle satisfies the connectivity threshold, then the ego vehicle has good enough access to the home wireless network to relay the sensor data to the home wireless network, so the feedback system of the ego vehicle enters a "receiver mode". If the access connectivity described by the connectivity data of the ego vehicle does not satisfy the connectivity threshold, then the ego vehicle does not have good enough access to the home wireless network to relay the sensor data to the home wireless network, so the feedback system of the ego vehicle enters a "transmitter mode".
[0010] Next, the feedback system of the ego vehicle performs different processes depending on whether it is in transmitter mode or receiver mode. As a result of any of these processes, the feedback system included in the automated vehicle with better access to the home wireless network uses V2X communication to receive sensor data generated by those automated vehicles with poor access to the home wireless network. The feedback systems of the automated vehicles with better access to the home wireless network then upload their own sensor data as well as the sensor data of other vehicles with poor access to the home wireless network to the cloud server. In this way, the feedback system of the automated vehicle ensures that the automated vehicles with poor access to the home wireless network or no access to the home wireless network are always able to upload their sensor data to the cloud server so that all sensor data can be accessed and analyzed by the cloud server.
[0011] In some embodiments, a feedback system for an automated vehicle with poor access to a home wireless network uses vehicle-to-infrastructure (V2I) communications with a roadside unit (RSU) to upload its sensor data to the roadside unit, which then uploads the sensor data to a cloud server.
[0012] In some embodiments, the feedback system of the automated vehicle includes a machine learning module that determines feedback describing a bandwidth limitation of a communication unit of the automated vehicle. For example, the bandwidth limitation describes that the communication unit of the automated vehicle does not have sufficient bandwidth (e.g., no bandwidth or very limited bandwidth) to upload sensor data to a cloud server via a communication device (e.g., via a home router).
[0013] The feedback system is operable to eliminate bandwidth limitations of the automated vehicle by modifying a mode of the communication unit based on the feedback so that the mode is consistent with the bandwidth limitations. The mode of the communication unit can be one of a receiver mode and a transmitter mode. For example, the feedback system is operable to modify the mode of the communication unit from a receiver mode to a transmitter mode, thereby eliminating the bandwidth limitations of the communication unit. In this case, the communication unit is in the transmitter mode, and the communication unit of the automated vehicle uses V2X communication (rather than using wireless communication with a router that causes bandwidth limitations) to relay its sensor data to other vehicles that do not have bandwidth limitations in order to upload the sensor data to a cloud server.
[0014] As a result, the automated vehicle can have its sensor data received by the cloud server in a timely manner, regardless of bandwidth limitations or the absence of bandwidth limitations. Therefore, the efficiency of uploading data to the cloud server is improved so that the cloud server can timely analyze the sensor data to generate modification data for enhancing the functions of the automated vehicle. For example, the modification data can make the operation of the automated vehicle (e.g., the operation of the hardware and software in the automated vehicle) safer and more efficient. The modification data is determined based on the sensor data successfully received by the cloud server.
[0015] Accordingly, additional benefits of the feedback system include its ability to receive modification data from a cloud server to cause modification of a vehicle component based on the modification data. For example, the vehicle component is an advanced driver assistance system (ADAS system), which is modified based on the modification data, thereby improving the performance of the ADAS system.
[0016] A system of one or more computers may be configured to perform specific operations or actions by installing software, firmware, hardware, or a combination thereof on the system, which in operation causes the system to perform these actions. One or more computer programs may be configured to perform specific operations or actions by including instructions that, when executed by a data processing device, cause the device to perform these actions.
[0017] One general aspect includes a method comprising: providing or attempting to provide, by a communication unit of an ego vehicle, digital data to a communication device based on a mode of the communication unit, wherein the digital data is relayed by the communication device to be received by a server; determining, by a processor of the ego vehicle, feedback describing a bandwidth limitation of the communication unit; and modifying, by the processor, the mode based on the feedback so that the mode is consistent with the bandwidth limitation and the digital data is successfully received by the server. Other embodiments of this aspect include corresponding computer systems, apparatus, and computer programs recorded on one or more computer storage devices, each of which is configured to perform the actions of these methods.
[0018] Implementations may include one or more of the following features. In the method, bandwidth limitations are eliminated by modifying the mode. The method also includes receiving modification data operable to modify a vehicle component of the self-vehicle, wherein the modification data is determined based on digital data successfully received by the server so that the modification of the vehicle component can be caused by providing the digital data to the server. In the method, the self-vehicle is an autonomous vehicle, and the vehicle component is an advanced driver assistance system (ADAS system), which is modified based on the modification data. In the method, the modification data modifies the real-time safety process of the autonomous vehicle provided by the ADAS system and improves the safety of the autonomous vehicle. In the method, the modification data modifies the operation of the braking system of the self-vehicle, and the operation of the braking system is controlled by the ADAS system. In the method, the communication device is a router, and the bandwidth limitation is caused by a factor selected from the group consisting of: the router does not exist; the communication unit cannot communicate wirelessly with the router; the router is outside the transmission range of the communication unit; the router has poor access to the wireless network; the router cannot access the wireless network; and the communication unit does not store a password for the router, so that the communication unit cannot be authenticated to communicate wirelessly with the router. In the method, the feedback is determined by a processor executing a machine learning module. In the method, the digital data includes sensor data recorded by one or more sensors, and the one or more sensors are elements of one or more of the ego vehicle and the remote vehicle. In the method, modifying the mode based on the feedback includes selecting a selected mode for modification from a group, the group including: a receiver mode; and a transmitter mode. In the method, the selected mode is a receiver mode, and the digital data includes sensor data recorded by the ego vehicle and a group of remote vehicles, wherein operating in the receiver mode includes receiving sensor data of the group of remote vehicles, and including the sensor data of the group of remote vehicles in the digital data provided to the communication device. In the method, the selected mode is a transmitter mode, and operating in the transmitter mode includes ceasing to provide digital data to the communication device, and instead providing digital data to the remote vehicle as a networked vehicle, which remote vehicle will take steps to relay the digital data to a server, wherein the networked vehicle is a vehicle that does not have a bandwidth limitation that prevents the digital data from being relayed to the server. Implementations of the technology may include hardware, methods or processes, or computer software on a computer-accessible medium.
[0019] One general aspect includes a system comprising: an onboard computer system of an ego vehicle, the onboard computer system including a communication unit, a processor, and a non-transitory memory storing computer code, the computer code, when executed by the processor, causes the processor to: provide or attempt to provide digital data to a communication device via the communication unit based on a mode of the communication unit of the ego vehicle, wherein the digital data is relayed by the communication device to be received by a server; determine feedback describing a bandwidth limitation of the communication unit; and modify the mode based on the feedback so that the mode is consistent with the bandwidth limitation and the digital data is successfully received by the server. Other embodiments of this aspect include corresponding computer systems, apparatus, and computer programs recorded on one or more computer storage devices, each of which is configured to perform the actions of these methods.
[0020] Implementations may include one or more of the following features. In a system, the computer code, when executed by a processor, causes the processor to further: receive modification data operable to modify a vehicle component of an ego vehicle, wherein the modification data is determined based on digital data successfully received by a server so that the modification of the vehicle component may be caused by providing the digital data to the server. In the system, the ego vehicle is an autonomous vehicle, and the vehicle component is an advanced driver assistance system (ADAS system), which is modified based on the modification data. In the system, the modification data modifies the real-time safety process of the autonomous vehicle provided by the ADAS system and improves the safety of the autonomous vehicle. In the system, the modification data modifies the operation of the braking system of the ego vehicle, and the operation of the braking system is controlled by the ADAS system. In the system, the communication device is a router, and the bandwidth limitation is caused by a factor selected from the group consisting of: the router does not exist; the communication unit cannot communicate wirelessly with the router; the router is outside the transmission range of the communication unit; the router has poor access to the wireless network; the router cannot access the wireless network; and the communication unit does not store a password for the router, so that the communication unit is not authenticated to communicate wirelessly with the router. Implementations of the technology may include hardware, methods or processes, or computer software on a computer-accessible medium.
[0021] One general aspect includes a computer program product including instructions that, when executed by a processor, cause the processor to perform operations including: providing or attempting to provide digital data to a communication device via a communication unit based on a mode of the communication unit of the ego vehicle, wherein the digital data is relayed by the communication device to be received by a server; determining feedback describing a bandwidth limitation of the communication unit; and modifying the mode based on the feedback so that the mode is consistent with the bandwidth limitation and the digital data is successfully received by the server. Other embodiments of this aspect include corresponding computer systems, apparatus, and computer programs recorded on one or more computer storage devices, each of which is configured to perform the actions of these methods.
[0022] Implementations may include one or more of the following features. In a computer program product, the operations further include receiving modification data operable to modify a vehicle component of the ego vehicle, wherein the modification data is determined based on digital data successfully received by the server, such that providing the digital data to the server may result in modification of the vehicle component. Implementations of the technology may include hardware, a method or process, or computer software on a computer-accessible medium. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] The present disclosure is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings in which like references are used to refer to similar elements.
[0024] Figure 1 is a block diagram illustrating an operating environment for a feedback system according to some embodiments.
[0025] Figure 2 is a block diagram illustrating an example computer system including a feedback system according to some embodiments.
[0026] Figure 3A A method of performing V2X data transmission by an ego vehicle according to some embodiments is described.
[0027] Figure 3B Another method of performing V2X data transmission by an ego vehicle in accordance with some embodiments is depicted.
[0028] Figure 4 A method of operating an ego vehicle in receiver mode is depicted according to some embodiments.
[0029] Figure 5 A method of operating an ego vehicle in a transmitter mode is depicted in accordance with some embodiments.
[0030] Figure 6 Depicted is an example process when the ego vehicle is operating in receiver mode, according to some embodiments.
[0031] Figure 7 Depicted is an example process when the ego vehicle is operating in transmitter mode, according to some embodiments. DETAILED DESCRIPTION
[0032] Embodiments of a feedback system operable to perform V2X data transmission are now described. Examples of V2X communications described herein include one or more of: DSRC (including Basic Safety Messages (BSM) and Pedestrian Safety Messages (PSM), as well as other types of DSRC communications); LTE; millimeter wave communications; 3G; 4G; 5G LTE-Vehicle to Everything (LTE-V2X); LTE-Vehicle to Vehicle (LTE-V2V); LTE-Device to Device (LTE-D2D); Voice over LTE (VoLTE); etc.
[0033] In some embodiments, the connected vehicle including the feedback system is a DSRC-equipped vehicle. A DSRC-equipped vehicle is a vehicle that: (1) includes a DSRC radio; (2) includes a DSRC-compliant global positioning system (GPS) unit; and (3) is operable to legally send and receive DSRC messages in the jurisdiction in which the DSRC-equipped vehicle is located. A DSRC radio is hardware that includes a DSRC receiver and a DSRC transmitter. The DSRC radio is operable to wirelessly send and receive DSRC messages. The DSRC-compliant GPS unit is operable to provide location information of the vehicle (or some other DSRC-equipped device that includes the DSRC-compliant GPS unit) with lane-level accuracy. The DSRC-compliant GPS unit is described in more detail below.
[0034] A "DSRC-equipped" device is a processor-based device that includes a DSRC radio, a DSRC-compliant GPS unit, and is operable to lawfully send and receive DSRC messages in the jurisdiction in which the DSRC-equipped device is located. Various endpoints may be DSRC-equipped devices, including, for example, roadside units (RSUs), smartphones, tablet computers, and any other processor-based computing device that includes a DSRC radio and is operable to lawfully send and receive DSRC messages as described above.
[0035] Although the feedback system is sometimes described herein with reference to DSRC messages and DSRC channels, the feedback system is not limited to use with DSRC protocol messages. Any other type of V2X message is also possible.
[0036] In some embodiments, a roadside unit that is a DSRC-equipped device does not include a DSRC-compliant GPS unit, but includes a non-transitory memory in which digital data describing the roadside unit's location information with lane-level accuracy is stored, and the roadside unit's DSRC radio or some other system inserts a copy of that digital data into the basic safety message (BSM) data sent by the roadside unit's DSRC radio. In this way, the roadside unit does not include a DSRC-compliant GPS unit, but is still operable to distribute BSM data that meets the requirements of the DSRC standard.
[0037] DSRC messages are wireless messages specifically configured to be sent and received by highly mobile devices (such as vehicles), and the wireless messages comply with one or more of the following DSRC standards, including any derivatives or branches of the DSRC standards: EN12253:2004 "Dedicated Short-Range Communication-Physical layer using microwave at 5.8GHz (review)"; EN 12795:2002 "Dedicated Short-Range Communication (DSRC)-DSRC Data link layer: Medium Access and Logical Link Control (review)"; EN12834:2002 "Dedicated Short-Range Communication-Application layer (review)"; and EN13372:2004 "Dedicated Short-Range Communication (DSRC)-DSRC profiles for RTTTapplications (review)"; EN ISO 14906:2004 "Electronic Fee Collection-Application interface".
[0038] In the United States, Europe, and Asia, DSRC messages are transmitted at 5.9 GHz. In the United States, DSRC messages are allocated 75 MHz of spectrum in the 5.9 GHz band. In Europe and Asia, DSRC messages are allocated 30 MHz of spectrum in the 5.9 GHz band. Therefore, a wireless message is not a DSRC message unless it operates in the 5.9 GHz band. A wireless message is also not a DSRC message unless it is sent by a DSRC transmitter of a DSRC radio.
[0039] In some embodiments, a DSRC-equipped vehicle does not include a conventional global positioning system unit ("GPS unit"), but instead includes a DSRC-compliant GPS unit. The conventional GPS unit provides location information that describes the location of the conventional GPS unit with an accuracy of plus or minus 10 meters of the actual location of the conventional GPS unit. In contrast, the GPS data provided by the DSRC-compliant GPS unit describes the location of the DSRC-compliant GPS unit with an accuracy of plus or minus 1.5 meters of the actual location of the DSRC-compliant GPS unit. This accuracy is referred to as "lane-level accuracy" because, for example, lanes of a road are typically about 3 meters wide, and an accuracy of plus or minus 1.5 meters is sufficient to identify in which lane of the road a vehicle is traveling.
[0040] In some embodiments, a DSRC compliant GPS unit is operable to identify, monitor, and track its two-dimensional location within 1.5 meters of its actual location 68% of the time in an open field of view.
[0041] In some embodiments, the feedback system is operable on an ECU of an automated vehicle. The automated vehicle is an automated vehicle of any level, such as level 1, 2, 3, 4, or 5. For example, all automated vehicles may include a feedback system. The operating scenario of the feedback system includes a road environment with an ego vehicle, one or more roadside units, and one or more remote vehicles. The ego vehicle and the remote vehicle are automated vehicles that include the feedback system. Each roadside unit also includes a feedback system.
[0042] In some embodiments, the feedback system of the ego vehicle monitors the access of the ego vehicle to the home wireless network over time. The feedback system of the ego vehicle generates connectivity data. For example, the connectivity data is digital data describing the access of the ego vehicle to the home wireless network. Similarly, the feedback systems of the remote vehicles determine connectivity data describing their own access to the home wireless network.
[0043] The feedback system of the ego vehicle stores threshold data. For example, the threshold data is digital data describing a connectivity threshold. The feedback system of the ego vehicle compares the access connectivity of the ego vehicle described by the connectivity data with the connectivity threshold. If the access connectivity described by the connectivity data of the ego vehicle satisfies the connectivity threshold, the ego vehicle has good enough access to the home wireless network to relay sensor data to the network, so the feedback system of the ego vehicle enters "receiver mode". If the access connectivity described by the connectivity data of the ego vehicle does not satisfy the connectivity threshold, the ego vehicle does not have good enough access to the home wireless network to relay sensor data to the network, so the feedback system of the ego vehicle enters "transmitter mode".
[0044] The feedback system of the ego vehicle performs different processes depending on whether it is in transmitter mode or receiver mode. The result of any of these processes is that the feedback systems included in automated vehicles with better access to the home wireless network use V2X communications to receive sensor data generated by those automated vehicles with poor access to the home wireless network. The feedback systems of the automated vehicles with better access to the home wireless network then upload their own sensor data as well as the sensor data of other vehicles with poor access to the home wireless network to the cloud server. In this way, the feedback system beneficially ensures that automated vehicles with poor access to the home wireless network or unable to access the home wireless network are always able to upload their sensor data to the cloud server so that all sensor data can be accessed and analyzed. Reference will be made below to Figure 4 and Figure 6 Provides details of the operations performed in receiver mode. Figure 5 and 7 Provides details of operations performed in transmitter mode.
[0045] In some embodiments, a feedback system for an automated vehicle includes a machine learning module that determines feedback describing a bandwidth limitation of a communication unit of the automated vehicle. Figure 2 Details of the machine learning module are provided.
[0046] In some embodiments, the feedback system is operable to eliminate bandwidth limitations of the automated vehicle by modifying a mode of the communication unit based on the feedback so that the mode is consistent with the bandwidth limitations. In some embodiments, the feedback system is operable to receive modification data from a server to cause modification of a vehicle component based on the modification data.
[0047] For simplicity and convenience, the mode of the communication unit of the automated vehicle may be referred to herein as the mode of the automated vehicle or the mode of the feedback system in the automated vehicle. For similar reasons, the bandwidth limitation of the communication unit may be referred to as the bandwidth limitation of the automated vehicle or the bandwidth limitation of the feedback system in the automated vehicle.
[0048] refer to Figure 1 , depicts an operating environment 100 of a feedback system 199 according to some embodiments. As shown, the operating environment 100 includes the following elements: ego vehicle 123; ego vehicle home 110; remote vehicle 116; remote vehicle home 114; roadside unit 118; and cloud server 120. These elements are communicatively coupled to each other via a network 105.
[0049] Despite Figure 1Two vehicles 123 and 116 , two vehicle homes 110 and 114 , a cloud server 120 , a roadside unit 118 , and a network 105 are depicted, however, in practice, the operating environment 100 may include any number of vehicles, vehicle homes, cloud servers 120 , roadside units 118 , and networks 105 .
[0050] The network 105 may be of a conventional type, wired or wireless, and may have many different configurations, including a star configuration, a token ring configuration, or other configurations. In addition, the network 105 may include a local area network (LAN), a wide area network (WAN) (e.g., the Internet), or other interconnected data paths through which multiple devices and / or entities may communicate. In some embodiments, the network 105 may include a peer-to-peer network. The network 105 may also be coupled to or may include portions of a telecommunications network for transmitting data in a variety of different communication protocols. In some embodiments, the network 105 includes Bluetooth. A communication network or cellular communication network for sending and receiving data, including via short message service (SMS), multimedia message service (MMS), hypertext transfer protocol (HTTP), direct data connection, wireless application protocol (WAP), email, DSRC, full-duplex wireless communication, millimeter wave (mmWave), WiFi (infrastructure mode), WiFi (ad hoc mode), visible light communication, TV white space communication, and satellite communication. Network 105 may also include a mobile data network, which may include 3G, 4G, LTE, LTE-V2V, LTE-V2X, LTE-D2D, VoLTE, 5G-LTE, or any other mobile data network or combination of mobile data networks. In addition, network 105 may include one or more IEEE 802.11 wireless networks.
[0051] The following are the endpoints of network 105: ego vehicle 123; remote vehicle 116; roadside unit 118; and any other endpoints not shown in the figure. An endpoint is any electronic device operable to send and receive data via V2X communication. For example, an endpoint is an electronic device that includes a communication unit similar to communication unit 195. In some embodiments, the endpoint is a smartphone, tablet computer, personal computer, or some other processor-based computing device that includes a communication unit. In some embodiments, the endpoint is a DSRC-equipped device operable to send and receive DSRC messages.
[0052] The ego vehicle 123 and the remote vehicle 116 may include the same or similar elements. The ego vehicle 123 and the remote vehicle 116 may share a connection or association. For example, the ego vehicle 123 and the remote vehicle 116 may share a common manufacturer (e.g., Toyota), and the functionality described herein may only be provided to vehicles that share the common manufacturer.
[0053] The ego vehicle 123 and the remote vehicle 116 may be any type of vehicle. The ego vehicle 123 and the remote vehicle 116 may be the same type of vehicle as one another or different types of vehicles as one another. For example, the ego vehicle 123 or the remote vehicle 116 may include one of the following types of vehicles: a car; a truck; a sport utility vehicle; a bus; a semi-truck; a drone or any other road-based transportation vehicle.
[0054] In some embodiments, one or more of the ego vehicle 123 and the remote vehicle 116 may include an autonomous vehicle or a semi-autonomous vehicle. For example, one or more of the ego vehicle 123 and the remote vehicle 116 may include an ADAS system 191. The ADAS system 191 may provide some or all of the functionality that provides autonomous functionality.
[0055] The National Highway Traffic Safety Administration ("NHTSA") has defined different "levels" of autonomous vehicles, such as Level 0, Level 1, Level 2, Level 3, Level 4, and Level 5. If one autonomous vehicle has a higher level number than another autonomous vehicle (e.g., Level 3 is a higher level number than Level 2 or 1), then the autonomous vehicle with the higher level number provides a greater combination and quantity of autonomous features relative to the vehicle with the lower level number. The following is a brief introduction to the different levels of autonomous vehicles.
[0056] Level 0: The ADAS system group installed in the vehicle has no vehicle control. The ADAS system group can issue warnings to the vehicle driver. Level 0 vehicles are not autonomous or semi-autonomous vehicles.
[0057] Level 1: The driver must be ready to take over driving control of the autonomous vehicle at any time. The group of ADAS systems installed in the autonomous vehicle may provide autonomous features, such as one or more of the following features: Adaptive Cruise Control ("ACC"); and Automatic Steering Parking Assist and Lane Keeping Assist ("LKA") Type II, in any combination.
[0058] Level 2: The driver is obliged to detect objects and events in the road environment, and if the ADAS system group installed in the autonomous vehicle cannot respond correctly (based on the driver's subjective judgment), the driver is obliged to respond. The ADAS system group installed in the autonomous vehicle performs acceleration, braking and steering. The ADAS system group installed in the autonomous vehicle can be deactivated immediately after the driver takes over.
[0059] Level 3: In known, limited environments (such as highways), the driver can safely shift their attention away from the driving task but must still be prepared to take over control of the autonomous vehicle when needed.
[0060] Level 4: The group of ADAS systems installed in the autonomous vehicle can control the autonomous vehicle in all environments except inclement weather. The driver can enable the automated system (composed of the group of ADAS systems installed in the vehicle) only when it is safe to do so. When the automated system is enabled, the autonomous vehicle does not require driver attention to operate safely and in accordance with recognized specifications.
[0061] Level 5: No human intervention is required other than setting the destination and starting the system. The automated system can drive to any location where it is legal to do so and make its own decisions (this may vary depending on the jurisdiction where the vehicle is located).
[0062] A highly autonomous vehicle (HAV) is a Level 3 or higher autonomous vehicle.
[0063] Thus, in some embodiments, ego vehicle 123 is one of: a level 1 autonomous vehicle; a level 2 autonomous vehicle; a level 3 autonomous vehicle; a level 4 autonomous vehicle; a level 5 autonomous vehicle; and a HAV.
[0064] In some embodiments, ego vehicle 123 includes one or more of the following elements: processor 125; memory 127; ADAS system 191; DSRC-compliant GPS unit 193; communication unit 195a; sensor group 197a; and feedback system 199a. These elements of ego vehicle 123 may be communicatively coupled to each other via a bus.
[0065] In some embodiments, the processor 125 and the memory 127 may be an onboard computer system (e.g., Figure 2 The onboard computer system is operable to cause or control the operation of the feedback system 199 of the ego vehicle 123. The onboard computer system is operable to access and execute data stored on the memory 127 to provide the feedback system 199 of the ego vehicle 123 or its elements (e.g., see Figure 2 ) provides the functionality described herein. The onboard computer system is operable to execute a feedback system 199 that causes the onboard computer system to execute the following reference Figures 3A to 5 One or more steps of methods 300, 350, 400, and 500 are described.
[0066] In some embodiments, the processor 125 and the memory 127 may be components of an onboard unit. The onboard unit includes an electronic control unit (referred to herein as an "ECU") or an onboard computer system that is operable to cause or control the operation of the feedback system 199. The onboard unit is operable to access and execute data stored on the memory 127 to provide the functionality described herein for the feedback system 199 or its components. The onboard unit is operable to execute the feedback system 199, which causes the onboard unit to perform the following references to Figures 3A to 5 In some embodiments, Figure 2 The computer system 200 depicted in FIG. 2 is an example of an onboard unit.
[0067] The processor 125 includes an arithmetic logic unit, a microprocessor, a general purpose controller, or some other processor array to perform calculations and provide electronic display signals to a display device. The processor 125 processes data signals and may include a variety of computing architectures, including a complex instruction set computer (CISC) architecture, a reduced instruction set computer (RISC) architecture, or an architecture that implements a combination of instruction sets. The ego vehicle 123 may include one or more processors 125. Other processors, operating systems, sensors, displays, and physical configurations are also possible.
[0068] The memory 127 is a non-temporary memory that stores instructions or data that can be accessed and executed by the processor 125. The instructions or data may include code for executing the techniques described herein. The memory 127 may be a dynamic random access memory (DRAM) device, a static random access memory (SRAM) device, a flash memory, or some other storage device. In some embodiments, the memory 127 also includes non-volatile memory or similar permanent storage devices and media, including a hard drive, a floppy disk drive, a CD ROM device, a DVD ROM device, a DVD RAM device, a DVD RW device, a flash memory device, or some other large-capacity storage device for more permanent storage of information. A portion of the memory 127 may be reserved for use as a buffer or a virtual random access memory (virtual RAM). The self-vehicle 123 may include one or more memories 127.
[0069] In some embodiments, memory 127 stores any data described herein as digital data. In some embodiments, memory 127 stores any data required by feedback system 199 to provide its functionality.
[0070] For example, the memory 127 stores various data, including, but not limited to, connectivity data 150, connectivity data set 152, threshold data 154, ranking data 156, availability data 158, local dynamic map (LDM) data 159, digital data 160, feedback data 161, and modification data 162. In some embodiments, the digital data 160 includes sensor data generated by the ego vehicle 123, and sensor data of other vehicles transmitted to the ego vehicle 123 via V2X communication when the ego vehicle 123 is in receiver mode. The connectivity data 150, connectivity data set 152, threshold data 154, ranking data 156, availability data 158, LDM data 159, feedback data 161, and modification data 162 will be described in more detail below.
[0071] The communication unit 195a sends and receives data to and from the network 105 or another communication channel. In some embodiments, the communication unit 195a may include a DSRC transceiver, a DSRC receiver, a DSRC transmitter, and other hardware or software necessary to make the ego vehicle 123 a DSRC-equipped device.
[0072] In some embodiments, the communication unit 195a includes a set of communication radio devices, such as V2X radio devices. The communication unit 195a includes any type of V2X communication antenna to support one or more of the following V2X communication protocols: DSRC; millimeter wave (mmWave); LTE-V2X; LTE-D2D; 5G-V2X; ITS-G5; ITS-Connect; LPWAN; visible light communication; TV white space; etc.
[0073] In some embodiments, the communication unit 195a includes a port for direct physical connection to the network 105 or another communication channel. For example, the communication unit 195a includes a USB, SD, CAT-5, or similar port for wired communication with the network 105. In some embodiments, the communication unit 195a includes a wireless transceiver for exchanging data with the network 105 or other communication channel using one or more wireless communication methods including: IEEE 802.11; IEEE 802.16, Bluetooth ; EN ISO 14906:2004 “Electronic Fee Collection-Application interface” EN 11253:2004 “Dedicated Short-Range Communication-Physical layer using microwave at 5.8GHz(review)”; EN 12795:2002 “Dedicated Short-Range Communication(DSRC)-DSRC Datalink layer: Medium Access and Logical Link Control(review)”; EN 12834:2002 “Dedicated Short-Range Communication-Application layer(review)”; EN 13372:2004 “Dedicated Short-Range Communication(DSRC)-DSRC profiles for RTTTapplications(review)”; the communication method described in U.S. patent application 14 / 471,387, entitled “Full-Duplex Coordination System”, filed on August 28, 2014; or another suitable wireless communication method.
[0074] In some embodiments, the communication unit 195a includes a full-duplex coordination system, such as described in U.S. Patent Application 14 / 471,387, filed on August 28, 2014, entitled “Full-Duplex Coordination System,” the entire contents of which are incorporated herein by reference.
[0075] In some embodiments, the communication unit 195a includes a cellular communication transceiver for sending and receiving data over a cellular communication network, including via short message service (SMS), multimedia message service (MMS), hypertext transfer protocol (HTTP), direct data connection, WAP, email, or another suitable type of electronic communication. In some embodiments, the communication unit 195a includes a wired port and a wireless transceiver. The communication unit 195a also provides other conventional connections to the network 105 for distributing files or media objects using standard network protocols, including TCP / IP, HTTP, HTTPS and SMTP, millimeter wave, DSRC, etc.
[0076] In some embodiments, the ADAS system 191 is a conventional ADAS system that controls the operation of the ego vehicle 123. In some embodiments, the ADAS system 191 may also include any software or hardware included in the ego vehicle 123 that makes the ego vehicle 123 an autonomous vehicle or a semi-autonomous vehicle. The feedback system 199a of the ego vehicle 123 may be an element of the ADAS system 191 or an element of the ECU of the ego vehicle.
[0077] Examples of ADAS systems 191 may include one or more of the following elements of the ego vehicle 123: an adaptive cruise control (“ACC”) system; an adaptive high beam system; an adaptive light control system; an automatic parking system; a night vision system; a blind spot monitor; a collision avoidance system; a crosswind stabilization system; a driver drowsiness detection system; a driver monitoring system; an emergency driver assistance system; a forward collision warning system; an intersection assist system; an intelligent speed adaptation system; a lane departure warning system; a pedestrian protection system; a traffic sign recognition system; a turn assistant; and a wrong-way driving warning system.
[0078] In some embodiments, the DSRC-compliant GPS unit 193 includes any hardware and software necessary to enable the ego vehicle 123, the computer system 200, or the DSRC-compliant GPS unit 193 to comply with one or more of the following DSRC standards (including any derivative standards or branch standards thereof): EN 12253:2004 "Dedicated Short-Range Communication-Physical layer using microwave at 5.8 GHz (review)"; EN 12795:2002 "Dedicated Short-Range Communication (DSRC)-DSRC Data link layer: Medium Access and Logical Link Control (review)"; EN12834:2002 "Dedicated Short-Range Communication-Application layer (review)"; and EN 13372:2004 "Dedicated Short-Range Communication (DSRC)-DSRC profiles for RTTT applications (review)"; EN ISO14906:2004 "Electronic Fee Collection-Application interface".
[0079] In some embodiments, the DSRC-compliant GPS unit 193 is operable to provide GPS data describing the position of the ego vehicle 123 with lane-level accuracy. For example, the ego vehicle 123 is traveling in a lane of a road. Lane-level accuracy means that the position of the ego vehicle 123 is so accurately described by the GPS data that the driving lane of the ego vehicle 123 within the road can be accurately determined based on the GPS data of the ego vehicle 123 provided by the DSRC-compliant GPS unit 193. In some embodiments, the GPS data is an element of the BSM data or the PSM data.
[0080] In some embodiments, the DSRC-compliant GPS unit 193 includes hardware for wirelessly communicating with GPS satellites to retrieve GPS data describing the geographic location of the ego vehicle 123 with accuracy that complies with the DSRC standard. The DSRC standard requires that the GPS data be sufficiently accurate to infer whether two vehicles (e.g., one of which is the ego vehicle 123) are located in adjacent driving lanes. In some embodiments, the DSRC-compliant GPS unit 193 is operable to identify, monitor, and track a two-dimensional position within 1.5 meters of its actual position 68% of the time in an open field of view. Since driving lanes are typically no less than 3 meters wide, whenever the two-dimensional error of the GPS data is less than 1.5 meters, the feedback system 199 described herein can analyze the GPS data provided by the DSRC-compliant GPS unit 193 and determine in which lane the ego vehicle 123 is traveling based on the relative positions of two or more different vehicles (e.g., one of which is the ego vehicle 123) traveling on the road at the same time.
[0081] In contrast to the DSRC-compliant GPS unit 193, a conventional GPS unit that does not comply with the DSRC standard cannot determine the position of the ego vehicle 123 with lane-level accuracy. For example, a typical road lane is approximately 3 meters wide. However, a conventional GPS unit only has an accuracy of plus or minus 10 meters relative to the actual position of the ego vehicle 123. As a result, such a conventional GPS unit is not accurate enough to identify the lane of travel of the ego vehicle 123 based solely on GPS data; instead, a system with only a conventional GPS unit must utilize sensors such as a camera to identify the lane of travel of the ego vehicle 123. Identifying the lane of travel of the vehicle is beneficial, for example, because in some embodiments it can enable the feedback system 199 to more accurately identify the position of the ego vehicle 123 that includes the computer system 200 and is traveling in a road having multiple lanes of travel.
[0082] In some embodiments, the sensor group 197a may include one or more sensors operable to measure the physical environment external to the ego vehicle 123. For example, the sensor group 197a may include one or more sensors that record one or more physical characteristics of the physical environment proximate to the ego vehicle 123. The memory 127 may store sensor data describing the one or more physical characteristics recorded by the sensor group.
[0083] In some embodiments, the sensor group 197a of the self-vehicle 123 may include one or more of the following vehicle sensors: camera; LIDAR sensor; radar sensor; laser altimeter; infrared detector; motion detector; thermostat; sound detector, carbon monoxide sensor; carbon dioxide sensor; oxygen sensor; mass air flow sensor; engine coolant temperature sensor; throttle position sensor; crankshaft position sensor; vehicle engine sensor; valve timer; air-fuel ratio meter; blind spot meter; roadside detector; defect detector; Hall effect sensor, manifold absolute pressure sensor; parking sensor; radar speedometer; speedometer; speed sensor; tire pressure monitoring sensor; torque sensor; transmission fluid temperature sensor; turbine speed sensor (TSS); variable reluctance sensor; vehicle speed sensor (VSS); water sensor; wheel speed sensor; and any other type of vehicle sensor.
[0084] For example, sensor group 197a may include external cameras, radar, LIDAR, or any other sensor required to construct an availability message (see below). Figure 2 The availability message is described in the following). The sensor group 197a also includes all sensors required to provide sensor data to the ADAS system 191 of the ego vehicle 123. Sensor data is digital data describing one or more sensor measurements and images recorded by the sensors of the sensor group 197a. In some embodiments, the ADAS system 191 of the ego vehicle 123 provides sufficient autonomous features to the ego vehicle 123 to make the ego vehicle 123 an autonomous vehicle. Therefore, the sensor group 197a generates approximately 50GB of sensor data per hour (or more data per hour).
[0085] In some embodiments, both the ego vehicle 123 and the remote vehicle 116 include a sensor set. The ego vehicle 123 and the remote vehicle 116 are autonomous vehicles that generate sensor data, and the sensor data can be aggregated by the cloud server 120 and used by the analysis module 194 of the cloud server 120 to determine updates or patches for the software of the ADAS system 191 to ensure that: (1) the ADAS system 191 operates in accordance with its design specifications (which is necessary to ensure the safe operation of the autonomous vehicle); and (2) the ADAS system 191 continues to improve over time (e.g., access to sensor data from these live vehicles provides a feedback loop that is used to seed the artificial intelligence technology applied to the vehicle). In addition, the sensor data can also be analyzed to help design new and improved versions of the ADAS system 191, which is required for designing future generations of autonomous vehicles.
[0086] In some embodiments, the feedback system 199a includes software that, when executed by the processor 125, causes the processor 125 to perform the following steps with reference to Figures 3A to 5 One or more steps of the described methods 300, 350, 400 and 500. The functionality of the feedback system 199a according to some embodiments will be described in more detail below.
[0087] In some embodiments, the feedback system 199a is implemented using hardware including a field programmable gate array ("FPGA") or an application specific integrated circuit ("ASIC"). In some other embodiments, the feedback system 199a is implemented using a combination of hardware and software.
[0088] The ego vehicle's home 110 refers to the residence of the owner / operator of the ego vehicle 123. The ego vehicle's home 110 may include a router 112a that provides a home wireless network for accessing the Internet. The router 112a is a network device that forwards data between computer networks.
[0089] The communication unit 195a of the ego vehicle 123 needs to be able to access the home wireless network in order to transmit its digital data to the cloud server 120. In some embodiments, the communication unit 195a of the ego vehicle 123 can connect to the router 112a via the home wireless network when the communication unit 195a has no bandwidth limitations that prevent it from sending digital data to the router 112a for upload to the cloud server 120. For example, when the communication unit 195a has good enough access to the home wireless network via the router 112a, the communication unit 195a of the ego vehicle 123 can send digital data to the router 112a so that the router 112a forwards the digital data to the cloud server 120.
[0090] However, the home wireless network cannot be accessed if: (1) the ego vehicle 123 is parked too far from the router 112a, in a garage with a wall that blocks wireless communication with the router 112a, or in an underground garage; or (2) the owner / operator of the ego vehicle 123 has never entered the password of the home wireless network into the onboard system of the ego vehicle. In these cases, the communication unit 195a of the ego vehicle 123 has a bandwidth limitation that prevents it from sending digital data to the router 112a for upload to the cloud server 120 (e.g., the communication unit 195a has poor or no access to the home wireless network), so in this case, the communication unit 195a may not be able to send any digital data to the router 112a.
[0091] In some embodiments, the bandwidth limitation of the communication unit 195a describes that the communication unit 195a of the ego vehicle 123 does not have sufficient bandwidth (e.g., no bandwidth or very limited bandwidth) to upload data to the cloud server 120 via a communication device (e.g., router 112a). For example, the bandwidth limitation is caused by a factor selected from the group consisting of: the router 112a does not exist or is faulty; the communication unit 195a cannot communicate wirelessly with the router 112a; the router 112a is out of the transmission range of the communication unit 195a; the router 112a has poor access to the wireless network or network 105; the router 112a does not have access to the wireless network or network 105; and the communication unit 195a does not store a password for the router 112a, so that the communication unit 195a is not authenticated to communicate wirelessly with the router.
[0092] In some embodiments, the remote vehicle 116 may have elements similar to those of the ego vehicle 123. For example, the remote vehicle 116 includes a feedback system 199b, a sensor group 197b, and a communication unit 195b. The remote vehicle 116 may have elements different from those of the ego vehicle 123.
[0093] In some embodiments, the remote vehicle's home 114 may have elements similar to those of the ego vehicle's home 110. For example, the remote vehicle's home 114 includes a router 112b.
[0094] In some embodiments, the communication unit 195b of the remote vehicle 116 may connect to the router 112b via a home wireless network when the communication unit 195b has no bandwidth limitations that prevent it from sending digital data to the router 112b for upload to the cloud server 120. For example, when the communication unit 195b has good enough access to the home wireless network via the router 112b, the communication unit 195b of the remote vehicle 116 may send digital data to the router 112b so that the router 112b forwards the digital data to the cloud server 120.
[0095] However, in some embodiments, when the communication unit 195b has a bandwidth limitation that prevents it from sending digital data to the router 112b for upload to the cloud server 120 (for example, the communication unit 195b has poor or no access to the home wireless network), in this case, the communication unit 195b may not send any digital data to the router 112b.
[0096] In some embodiments, the roadside unit 118 is a DSRC device deployed on the road. The roadside unit 118 can communicate with the cloud server 120 via an infrastructure network connection. One or more of the ego vehicle 123 and the remote vehicle 116 can communicate with the roadside unit 118 using vehicle-to-infrastructure (V2I) communication, where V2I communication is an example of V2X communication. Figure 1 As shown, the roadside unit 118 includes a feedback system 199c and a communication unit 195c.
[0097] In some embodiments, the cloud server 120 is a computing device including one or more processors (not shown) and one or more memories (not shown). For example, the cloud server 120 is a hardware server that aggregates and analyzes sensor data generated by various vehicles including the self-vehicle 123 and the remote vehicle 116.
[0098] like Figure 1 As shown, the cloud server 120 includes a feedback system 199d, a sensor data set 122, a communication unit 195d, and an analysis module 194.
[0099] The feedback system 199d of the cloud server 120 may be a modified or simplified version of the feedback systems 199a-199c. The feedback system 199d receives various sensor data measured by various vehicles and constructs a sensor data set 122. In some embodiments, the feedback system 199d of the cloud server 120 receives various sensor data uploaded from one or more of the roadside units 118, the routers 112a, and the routers 112b, and aggregates the various sensor data in the sensor data set 122. The various sensor data are generated by various automated vehicles. In some embodiments, the feedback system 199d of the cloud server 120 generates ranking data, as shown below. Figure 2 as described.
[0100] The sensor dataset 122 may be a data structure that stores sensor data generated by various vehicles including the ego vehicle 123 and the remote vehicle 116 .
[0101] The analysis module 194 may be a set of instructions that can be executed by a processor of the cloud server 120 to provide the functionality described below for analyzing sensor data successfully received by the cloud server 120. In some embodiments, the analysis module 194 may be stored in a memory of the cloud server 120 and may be accessed and executed by a processor of the cloud server 120.
[0102] In some embodiments, the analysis module 194 is operable to retrieve sensor data from the sensor data set 122 and perform analysis on the sensor data. For example, the analysis module 194 analyzes various sensor data generated by various automated vehicles (including the ego vehicle 123 and the remote vehicle 116) and identifies patterns of autonomous driving behavior of the automated vehicles.
[0103] In another example, analysis module 194 analyzes the aggregated sensor data to determine updates or patches to the software of ADAS system 191, where the updates or patches to the software of ADAS system 191 can ensure that: (1) ADAS system 191 operates in accordance with its design specifications (which is necessary to ensure safe operation of the autonomous vehicle); and (2) ADAS system 191 continues to improve over time (e.g., access to sensor data from these live vehicles provides a feedback loop that is used to seed artificial intelligence technology applied to the vehicle). In addition, analysis module 194 analyzes the sensor data to provide guidance for designing new and improved versions of ADAS system 191, which is necessary for designing future generations of autonomous vehicles.
[0104] In some embodiments, the analysis module 194 analyzes sensor data generated by a particular automated vehicle (or generated by various automated vehicles) and generates modification data for the particular automated vehicle based on the sensor data. When received by the automated vehicle, the modification data may result in modification of vehicle components. For example, the analysis module 194 may generate modification data that helps the ADAS system 191 improve the safety and efficiency of the automated vehicle 123.
[0105] Refer to the following Figure 2 A real-time example process of improving the safety of the ego vehicle 123 by analyzing sensor data with the help of the cloud server 120 is described in more detail.
[0106] For simplicity and convenience of description, the feedback system 199a of the ego vehicle 123, the feedback system 199b of the remote vehicle 116, the feedback system 199c of the roadside unit 118, and the feedback system 199d of the cloud server 120 may be collectively or individually referred to herein as the "feedback system 199" because, for example, the functionality provided by the feedback system 199a of the ego vehicle 123 for components of the ego vehicle 123 is similar to that provided by the feedback system 199b of the remote vehicle 116, the feedback system 199c of the roadside unit 118, or the feedback system 199d of the cloud server 120. For similar reasons, the description provided herein uses the following terminology when referring to elements common to the ego vehicle 123, the ego vehicle's home 110, the remote vehicle 116, the remote vehicle's home 114, the roadside unit 118, and the cloud server 120, and which provide similar functionality to the ego vehicle 123, the ego vehicle's home 110, the remote vehicle 116, the remote vehicle's home 114, the roadside unit 118, and the cloud server 120: "communication unit 195" is used when referring to communication units 195a-195d collectively or individually; "sensor group 197" is used when referring to sensor group 197a and sensor group 197b collectively or individually; and "router 112" is used when referring to router 112a and router 112b collectively or individually.
[0107] Example Computer System
[0108] Reference now Figure 2 , depicts a block diagram illustrating an example computer system 200 including a feedback system 199 according to some embodiments. In some embodiments, the computer system 200 may include a special-purpose computer system that is programmed to perform the following reference Figures 3A to 5In some embodiments, the computer system 200 is an onboard computer of the ego vehicle 123. In some embodiments, the computer system 200 is an onboard unit of the ego vehicle 123. In some embodiments, the computer system 200 is an electronic control unit (ECU) of the ego vehicle 123, a car head unit, or some other processor-based computing device.
[0109] According to some examples, computer system 200 includes one or more of the following elements: feedback system 199; processor 125; communication unit 195; memory 127; ADAS system 191; sensor group 197; DSRC-compliant GPS unit 193; and storage device 241. The components of computer system 200 are communicatively coupled via bus 220.
[0110] In the illustrated embodiment, the processor 125 is communicatively coupled to the bus 220 via signal line 238. The ADAS system 191 is communicatively coupled to the bus 220 via signal line 239. The communication unit 195 is communicatively coupled to the bus 220 via signal line 246. The memory 127 is communicatively coupled to the bus 220 via signal line 244. The sensor group 197 is communicatively coupled to the bus 220 via signal line 248. The memory 241 is communicatively coupled to the bus 220 via signal line 242. The DSRC compliant GPS unit 193 is communicatively coupled to the bus 220 via signal line 249.
[0111] The storage device 241 is a non-temporary memory that stores instructions or data that can be accessed and executed by the processor 125. The instructions or data may include code for executing the techniques described herein. The storage device 241 may be a dynamic random access memory (DRAM) device, a static random access memory (SRAM) device, flash memory, or some other storage device. In some embodiments, the memory 241 also includes non-volatile memory or similar permanent storage devices and media, including a hard drive, a floppy disk drive, a CD ROM device, a DVD ROM device, a DVD RAM device, a DVD RW device, a flash memory device, or some other mass storage device for more permanent storage of information.
[0112] In some embodiments, the storage device 241 may store the above reference Figure 1 Or refer to the following Figures 2 to 7 The storage device 241 may store any data required by the computer system 200 to provide its functions.
[0113] exist Figure 2In the illustrated embodiment, the feedback system 199 includes: a communication module 202; a monitoring module 204; a determination module 206; a ranking module 208; a receiver mode processing module 210; a transmitter mode processing module 212; a providing module 214; a machine learning module 216; and a modification module 218.
[0114] The communication module 202 may be software including functions for processing the feedback system 199 and Figure 1 Routines for communication between other components of the operating environment 100.
[0115] In some embodiments, the communication module 202 may be a set of instructions that may be executed by the processor 125 to provide the functionality described below for handling communications between the feedback system 199 and other components of the computer system 200. In some embodiments, the communication module 202 may be stored in the memory 127 of the computer system 200 and may be accessed and executed by the processor 125. The communication module 202 may be adapted to cooperate and communicate with the processor 125 and other components of the computer system 200 via the signal line 222.
[0116] The communication module 202 sends data to and receives data from one or more elements of the operating environment 100 via the communication unit 195. For example, the communication module 202 receives or sends some or all of the digital data stored on the memory 127 via the communication unit 195. The communication module 202 may send or receive the above-referenced Figure 1 Or refer to the following Figures 2 to 7 Describes any digital data or message.
[0117] In some embodiments, the communication module 202 receives data from components of the feedback system 199 and stores the data in the memory 127 (or a buffer or cache of the memory 127, or Figure 2 For example, the communication module 202 receives the sensor data from the communication unit 195 and stores the sensor data in the memory 127.
[0118] In some embodiments, the communication module 202 can handle communications between components of the feedback system 199. For example, the communication module 202 transmits the ranking data 156 from the ranking module 208 to the receiver mode processing module 210.
[0119] In some embodiments, the monitoring module 204 may be a set of instructions executable by the processor 125, the instructions being operable to cause the processor 125 to monitor the access connectivity of the ego vehicle 123 when executed by the processor 125. In some embodiments, the monitoring module 204 may be stored in the memory 127 of the computer system 200 and may be accessed and executed by the processor 125. The monitoring module 204 may be adapted to cooperate and communicate with the processor 125 and other components of the computer system 200 via the signal line 224.
[0120] In some embodiments, the monitoring module 204 is operable to monitor the access connectivity of the communication unit 195 of the ego vehicle 123 accessing a network provided by a communication device (e.g., a home wireless network provided by the router 112). The access connectivity, for example, describes one or more network modes of the network provided by the communication device. For example, the monitoring module 204 monitors the network mode indicating one or more of the following: how often the communication unit 195 of the ego vehicle 123 is connected to the network; the length of time the communication unit 195 of the ego vehicle 123 is connected to the network; the data transmission rate from the network to the cloud server 120 when the communication unit 195 of the ego vehicle 123 is connected to the network; and how much data the communication unit 195 of the ego vehicle 123 can transmit to the network on average within a given time interval (e.g., a day, a night, an hour, etc.).
[0121] The monitoring module 204 is operable to generate connectivity data describing access connectivity. For example, the monitoring module 204 generates connectivity data describing one or more of the following: the communication unit 195 of the ego vehicle 123 is connected to the network for at least 8 hours from 12:00 AM to 8:00 AM every day; when the communication unit 195 of the ego vehicle 123 is connected to the network, the data transmission rate from the network to the cloud server 120 is at least 10Mb / s; and the communication unit 195 of the ego vehicle 123 can transmit an average of 500GB to the network in one day.
[0122] In some embodiments, the determination module 206 may be a set of instructions executable by the processor 125, the instructions being operable to cause the processor 125 to determine the mode of the communication unit 195 of the ego vehicle 123 when executed by the processor 125. In some embodiments, the determination module 206 may be stored in the memory 127 of the computer system 200 and may be accessed and executed by the processor 125. The determination module 206 may be adapted to cooperate and communicate with the processor 125 and other components of the computer system 200 via the signal line 281.
[0123] In some embodiments, the determination module 206 is operable to compare the access connectivity of the communication unit 195 of the ego vehicle 123 with a connectivity threshold to determine whether the access connectivity satisfies the connectivity threshold.
[0124] The connectivity threshold is described by threshold data stored in the memory 127. For example, the threshold data is digital data describing the connectivity threshold of the access connectivity of the ego vehicle. In some embodiments, the threshold data describes one or more conditions that the communication unit 195 of the ego vehicle 123 needs to meet. If one or more conditions are met, the communication unit 195 can be considered to have no bandwidth limitations that prevent it from relaying sensor data of other vehicles to the cloud server 120; however, if one or more conditions are not met, the communication unit 195 can be considered to have bandwidth limitations that prevent it from relaying sensor data of other vehicles to the cloud server 120. For example, the threshold data describes: (1) when the communication unit 195 of the ego vehicle 123 is connected to the network, the threshold data transmission rate from the network to the cloud server 120 is 10Mb / s; and (2) the threshold amount of data transmitted to the network by the communication unit 195 of the ego vehicle 123 per day is 200GB.
[0125] If the access connectivity satisfies the connectivity threshold, the determination module 206 determines that the communication unit 195 of the ego vehicle 123 has no bandwidth limitation that prevents it from relaying sensor data of other vehicles to the cloud server 120. The determination module 206 configures the communication unit 195 of the ego vehicle 123 to enter a receiver mode. During the receiver mode, sensor data generated by a remote vehicle with bandwidth limitations can be relayed to the ego vehicle 123 and included in the digital data of the ego vehicle 123. The digital data of the ego vehicle 123 also includes sensor data generated by the ego vehicle 123 itself. By providing the digital data to a communication device (e.g., a router 112) via the communication unit 195 of the ego vehicle 123, the digital data is uploaded to the cloud server. The details of the receiver mode are described below with reference to the receiver mode processing module 210.
[0126] For example, assume that the connectivity threshold describes: (1) when the communication unit 195 of the ego vehicle 123 is connected to the network, the threshold data transmission rate from the network to the cloud server 120 is 10 Mb / s; and (2) the threshold connection duration is an average of six (6) hours per day. If the access connectivity of the ego vehicle 123 describes that (1) when the communication unit 195 of the ego vehicle 123 is connected to the network, the data transmission rate from the network to the cloud server 120 is at least 10 Mb / s, and (2) the communication unit 195 of the ego vehicle 123 is connected to the network for at least eight (8) hours per day, then the access connectivity of the ego vehicle 123 satisfies the connection threshold. The determination module 206 determines that the communication unit 195 of the ego vehicle 123 has good enough access to the network via the communication device (e.g., the router 112) to relay the sensor data of other vehicles to the network, and then the communication unit 195 of the ego vehicle 123 enters the receiver mode.
[0127] However, if the access connectivity does not meet the connectivity threshold, the determination module 206 determines that the communication unit 195 of the ego vehicle 123 has a bandwidth limitation that prevents it from relaying the sensor data of other vehicles to the cloud server 120. The determination module 206 configures the communication unit 195 of the ego vehicle 123 to enter a transmitter mode. During the transmitter mode, the sensor data generated by the ego vehicle 123 is relayed to the partner endpoint of the ego vehicle 123 and is included in the digital data of the partner endpoint for upload to the cloud server via the partner endpoint. The details of the transmitter mode are described below with reference to the transmitter mode processing module 212.
[0128] For example, assume that the connectivity threshold describes: (1) when the communication unit 195 of the ego vehicle 123 is connected to the network, the threshold data transmission rate from the network to the cloud server 120 is 10 Mb / s; and (2) the threshold connection duration is an average of 6 hours per day. If the access connectivity of the ego vehicle 123 describes (1) when the communication unit 195 of the ego vehicle 123 is connected to the network, the data transmission rate from the network to the cloud server 120 is 2 Mb / s or less, and (2) the communication unit 195 of the ego vehicle 123 is connected to the network for at least 6 hours per day, then the access connectivity of the ego vehicle 123 does not meet the connectivity threshold because the data transmission rate of the network is less than the threshold data transmission rate. The determination module 206 determines that the communication unit 195 of the ego vehicle 123 does not have a sufficiently good access to the network via the communication device (e.g., the router 112), and then the communication unit 195 of the ego vehicle 123 enters the transmitter mode.
[0129] In some embodiments, the ranking module 208 may be a set of instructions executable by the processor 125, the instructions being operable to, when executed by the processor 125, cause the processor 125 to determine the access ranking of the communication unit 195 of the ego vehicle 123. In some embodiments, the ranking module 208 may be stored in the memory 127 of the computer system 200 and may be accessed and executed by the processor 125. The ranking module 208 may be adapted to cooperate and communicate with the processor 125 and other components of the computer system 200 via the signal line 226.
[0130] In some embodiments, the ranking module 208 is operable to receive connectivity data of one or more other endpoints (including one or more of the remote vehicle 116, the roadside unit 118, and other endpoints), generate a connectivity data set including connectivity data of the ego vehicle 123 and connectivity data of one or more other endpoints, and generate ranking data describing an access ranking of the ego vehicle 123 based on the connectivity data set. The ranking data is numerical data describing an access ranking of the communication unit 195 of the ego vehicle 123 relative to the other endpoints. The access ranking of the communication unit 195 can be an indicator indicating the quality of access of the communication unit 195 to a network provided by a communication device (e.g., router 112).
[0131] In some embodiments, the ranking data may also describe the access ranking of one or more other endpoints. For example, the ranking module 208 may generate ranking data describing the access ranking of the communication unit 195 of the ego vehicle 123 and the access ranking of the communication units 195 of other endpoints. In another example, the ranking module 208 compares the network mode of the ego vehicle with the network mode of the other endpoints (e.g., the ranking module 208 compares the relative network access speed, quality, and usage pattern between the ego vehicle 123 and the other endpoints) to determine the access ranking of the ego vehicle 123 and the other endpoints.
[0132] In some embodiments, the ranking data may be generated locally by the ranking module 208 of the ego vehicle 123. For example, the ranking module 208 receives connectivity data describing access connectivity of other endpoints through V2X communications exchanged with other endpoints. The ranking module 208 generates a connectivity data set that includes connectivity data generated locally by the ego vehicle 123 and connectivity data received from other endpoints. The ranking module 208 analyzes the connectivity data set and generates ranking data. The ranking module 208 may forward the generated ranking data to each other endpoint and the cloud server 120.
[0133] In some other embodiments, the ranking data may be remotely generated by the feedback system 199 of the cloud server 120. The feedback system 199 of the cloud server 120 receives first connectivity data from the self-vehicle 123 via a network (e.g., WiFi, LTE, or some other wireless network) and receives second connectivity data from one or more other endpoints. The feedback system 199 of the cloud server 120 constructs a connectivity data set using the first connectivity data received from the self-vehicle 123 and the second connectivity data received from the other endpoints. The feedback system 199 of the cloud server 120 analyzes the connectivity data set and generates ranking data describing the access rankings of the self-vehicle 123 and other endpoints. In some embodiments, the feedback system 199 of the cloud server 120 forwards the ranking data describing all access rankings of the self-vehicle 123 and other endpoints to each of the self-vehicle 123 and other endpoints. In some other embodiments, the feedback system 199 of the cloud server 120 only forwards a specific instance of the ranking data describing the access ranking of a specific endpoint to the endpoint. The specific instance of the ranking data received by the specific endpoint from the cloud server 120 describes the access ranking of the endpoint. The feedback system 199 of the cloud server 120 distributes various instances of the ranking data to various endpoints via the network 105 .
[0134] In some embodiments, the receiver mode processing module 210 may be a set of instructions executable by the processor 125, the instructions being operable to cause the processor 125 to perform operations in the receiver mode when executed by the processor 125. In some embodiments, the receiver mode processing module 210 may be stored in the memory 127 of the computer system 200 and may be accessed and executed by the processor 125. The receiver mode processing module 210 may be adapted to cooperate and communicate with the processor 125 and other components of the computer system 200 via the signal line 283.
[0135] In some embodiments, during the receiver mode of the communication unit 195 of the ego vehicle 123, the feedback system 199 of the ego vehicle 123 and the feedback system 199 of the remote vehicle 116 whose communication unit is in the transmitter mode cooperate with each other to perform one or more of the following processes (a)-(i), wherein processes (a), (b), (h) and (i) are performed by the feedback system 199 of the ego vehicle 123 in the receiver mode, and processes (c), (d), (e), (f) and (g) are performed by the feedback system 199 of the remote vehicle 116 in the transmitter mode.
[0136] Process (a): The receiver mode processing module 210 of the ego vehicle 123 generates a wireless message including availability data. The wireless message can be a V2X message or any type of wireless message for unlicensed band communication (e.g., a wireless message from WiFi, LTE-U, LTE-LAA, etc.). For example, the wireless message can be a message that conforms to any type of wireless communication protocol described with reference to the network 105 or the communication unit 195. The wireless message including availability data is referred to as an "availability message".
[0137] The availability data of the ego vehicle 123 is digital data describing one or more of the following: (1) an indicator indicating that the ego vehicle 123 (or the communication unit 195 of the ego vehicle 123) is in a receiver mode; (2) the access ranking of the ego vehicle 123; (3) the geographic location of the ego vehicle 123; (4) the future estimated path of the ego vehicle 123; (5) the speed of the ego vehicle 123; (6) the heading of the ego vehicle 123; (7) capacity data describing the current available storage capacity (e.g., in bytes) of the ego vehicle 123 for storing sensor data received from other vehicles; (8) one or more forms of V2X communication supported by the ego vehicle 123 (e.g., DSRC, mmWave, LTE-V2X, LTE-D2D, 5G-V2X, ITS-G5, ITS-Connect, LPWAN, visible light communication, etc.); and (9) the current transmission rate that can be achieved for each of these forms of V2X communication. Different forms of V2X communication may have different transmission ranges, data rates, and line-of-sight requirements, so different vehicles may choose to use different forms of V2X communication to communicate with the ego vehicle 123 in different scenarios.
[0138] Process (b): The receiver mode processing module 210 of the ego vehicle 123 sends an availability message via a form of V2X communication supported by the ego vehicle 123. For example, the receiver mode processing module 210 of the ego vehicle 123 broadcasts the availability message using DSRC or any other form of V2X communication so that the remote vehicle 116 and other vehicles within the communication range of the ego vehicle 123 can receive the availability message of the ego vehicle 123. The transmission of the availability message is the first step of the handshake process with the remote vehicle 116.
[0139] Process (c): The transmitter mode processing module 212 of the remote vehicle 116 in transmitter mode receives an availability message from the ego vehicle 123 and receives other availability messages from one or more other endpoints.
[0140] Process (d): The transmitter mode processing module 212 of the remote vehicle 116 generates the availability data of the remote vehicle 116. The availability data of the remote vehicle 116 is similar to the availability data of the ego vehicle 123, and similar descriptions are not repeated here.
[0141] Process (e): The transmitter mode processing module 212 of the remote vehicle 116 generates a local dynamic map (LDM) that describes on the map a first geographic location of the ego vehicle 123, one or more second geographic locations of one or more other endpoints, and a third geographic location of the remote vehicle 116. For example, the transmitter mode processing module 212 of the remote vehicle 116 generates LDM data describing the local dynamic map based on the availability data of the remote vehicle 116 generated in process (d) and the availability data of one or more other endpoints and the ego vehicle 123 received in process (c).
[0142] The local dynamic map describes the geographic location of each endpoint on the map, thereby forming endpoint-geolocation pairs on the map. For example, the transmitter mode processing module 212 of the remote vehicle 116 forms endpoint-geolocation pairs on the local dynamic map by mapping the ego vehicle 123 to a first geographic location of the ego vehicle 123, mapping one or more other endpoints to one or more second geographic locations of the one or more other endpoints, and mapping the remote vehicle 116 to a third geographic location of the remote vehicle 116.
[0143] A particular vehicle or roadside unit and its corresponding geographic location form an endpoint-geolocation pair. For each endpoint-geolocation pair including a corresponding endpoint and an endpoint geographic location, the local dynamic map includes one or more of the following endpoint information: (1) an access ranking of the endpoint; (2) a predicted future path of the endpoint; (3) a speed of the endpoint; (4) a heading of the endpoint; (5) capacity data describing the available storage capacity of the endpoint (e.g., in bytes); (6) one or more forms of V2X communication supported by the endpoint (e.g., DSRC, millimeter wave, LTE-V2X, LTE-D2D, 5G-V2X, ITS-G5, ITS-Connect, LPWAN, visible light communication, etc.); and (7) a corresponding transmission rate implemented for each of the one or more forms of V2X communication. If the endpoint is a roadside unit, the predicted future path, speed, and heading of the endpoint are all "zero" or "null", and the one or more forms of V2X communication are one or more forms of vehicle-to-infrastructure (V2I) communication.
[0144] Process (f): The transmitter mode processing module 212 of the remote vehicle 116 performs the following operations: (1) retrieves ranking data describing one or more access rankings of one or more other endpoints and the access ranking of the self-vehicle 123 from the availability data received in process (c); and (2) identifies a partner endpoint of the remote vehicle 116 from one or more other endpoints and the self-vehicle 123 based on the local dynamic map generated in process (e), the ranking data of one or more other endpoints, and the ranking data of the self-vehicle 123.
[0145] In some embodiments, the remote vehicle 116 stores sensor data that needs to be transmitted to the cloud server 120 for analysis. Since the remote vehicle 116 is in transmitter mode, it needs to identify another endpoint to help it relay its sensor data to the cloud server 120. The transmitter mode processing module 212 of the remote vehicle 116 analyzes the LDM data to determine which of the endpoints included in the LDM to use as a partner endpoint based in part on the context of the remote vehicle 116 relative to the other endpoints so that the partner endpoint can relay the sensor data of the remote vehicle 116 to the cloud server 120.
[0146] The transmitter mode processing module 212 of the remote vehicle 116 selects the partner endpoint of the remote vehicle 116 based on various factors including the endpoint information of each endpoint-geolocation pair described above. The endpoint selected as the partner endpoint of the remote vehicle 116 is not necessarily the endpoint with the highest access ranking included in the LDM. For example, the vehicle with the highest ranking of millimeter wave communication capabilities may be an ideal partner endpoint (due to the high transmission rate of millimeter wave of 100Mb / s to 1Gb / s). However, this may not be possible, for example, when there is no clear line of sight between the remote vehicle 116 and the vehicle with the highest ranking (millimeter wave has a strict line of sight requirement). In another example, the candidate vehicle may look like a potential partner endpoint, but it does not have enough storage capacity to store the sensor data of the remote vehicle. Therefore, the candidate vehicle cannot be selected as the partner endpoint of the remote vehicle 116. In another example, the candidate vehicle may look like a potential partner endpoint, but its travel path may be in a different direction, so that the remote vehicle 116 cannot transfer the minimum required amount of its sensor data to the candidate vehicle before they are out of the transmission range of each other. The minimum amount of sensor data that needs to be transferred will be described in detail below.
[0147] In some embodiments, the transmitter mode processing module 212 of the remote vehicle 116 analyzes the LDM to identify a partner endpoint of the remote vehicle 116 from the LDM. For example, the transmitter mode processing module 212 of the remote vehicle 116 analyzes the LDM to determine a series of candidate endpoints, each of which has a scenario that causes a transfer probability greater than a threshold. The transfer probability of a candidate endpoint is the probability that the remote vehicle 116 may be able to successfully transmit at least a minimum required amount of sensor data to the candidate endpoint before their path of travel deviates or other circumstances occur that interfere with their ability to communicate with each other via V2X. The transmitter mode processing module 212 of the remote vehicle 116 selects the candidate endpoint with the highest access ranking from the series of candidate endpoints as the partner endpoint of the remote vehicle 116.
[0148] The minimum required amount of sensor data to be transferred from the remote vehicle 116 to the candidate endpoint may be the minimum amount of sensor data intended to be transferred from the remote vehicle 116 to the candidate endpoint. For example, the minimum required amount of sensor data to be transferred may be 20%, 50%, 70%, or even 100% of the total sensor data that needs to be transferred from the remote vehicle 116. In some embodiments, when the remote vehicle 116 travels from the first location to the second location, the remote vehicle 116 may subsequently or simultaneously select multiple partner endpoints along its path of travel to transfer all of its sensor data to the multiple partner endpoints. In this case, only a certain percentage of its sensor data is transferred to each of the multiple partner endpoints. However, the specific percentage of its sensor data transferred to each partner endpoint is not less than the minimum required amount of sensor data.
[0149] Process (g): The transmitter mode processing module 212 of the remote vehicle 116 wirelessly communicates with the partner endpoint via the selected V2X channel to transfer its sensor data to the partner endpoint. Without loss of generality, it is assumed that the ego vehicle 123 in the receiver mode is identified as the partner endpoint of the remote vehicle 116. The selected V2X channel is a V2X channel supported by both endpoints (ego vehicle 123 and remote vehicle 116) and is most suitable for such communication given the distance separating the two endpoints, whether there are obstacles between the two endpoints, the speed of the two endpoints, the heading direction of the two endpoints, and the future travel path of the two endpoints.
[0150] Process (h): The providing module 214 of the ego vehicle 123 (ie, the partner endpoint of the remote vehicle 116 ) receives a V2X message including sensor data of the remote vehicle 116 from the remote vehicle 116 , and stores the sensor data in the memory 127 or the memory 241 of the ego vehicle 123 .
[0151] Process (i): The providing module 214 of the ego vehicle 123 waits for the communication unit 195 of the ego vehicle 123 to be connected to the network (e.g., a home wireless network) again via the communication device. When the communication unit 195 of the ego vehicle 123 is reconnected to the network via the communication device, the providing module 214 of the ego vehicle 123 includes the sensor data of the ego vehicle 123 and the sensor data of the remote vehicle 116 into its digital data, and uploads the digital data to the cloud server 120 using the communication device (e.g., a home router).
[0152] In some embodiments, the transmitter mode processing module 212 may be a set of instructions executable by the processor 125, the instructions being operable to cause the processor 125 to perform operations in the transmitter mode when executed by the processor 125. In some embodiments, the transmitter mode processing module 212 may be stored in the memory 127 of the computer system 200 and may be accessed and executed by the processor 125. The transmitter mode processing module 212 may be adapted to cooperate and communicate with the processor 125 and other components of the computer system 200 via the signal line 285.
[0153] In some embodiments, during the transmitter mode of the communication unit 195 of the ego vehicle 123, the feedback system 199 of the ego vehicle 123 and the feedback system 199 of the partner endpoint of the ego vehicle 123 cooperate with each other in the receiver mode to perform one or more of the following processes (I)-(VIIII), wherein processes (I)-(VII) are performed by the feedback system 199 of the ego vehicle 123 in the transmitter mode, and processes (VIII) and (VIIII) are performed by the feedback system 199 of the partner endpoint in the receiver mode. The partner endpoint of the ego vehicle 123 may be the remote vehicle 116, the roadside unit 118, or another suitable endpoint.
[0154] Process (I): The transmitter mode processing module 212 of the ego vehicle 123 monitors availability messages from one or more endpoints including one or more of the remote vehicle 116 and the roadside unit 118 .
[0155] Process (II): The transmitter mode processing module 212 of the ego vehicle 123 receives one or more availability messages from one or more endpoints via V2X communication.
[0156] Process (III): The transmitter mode processing module 212 of the ego vehicle 123 generates its own availability data describing its own availability message.
[0157] Process (III): The transmitter mode processing module 212 of the ego vehicle 123 decodes availability data of one or more endpoints from one or more availability messages received in process (II).
[0158] Process (V): The transmitter mode processing module 212 of the ego vehicle 123 generates a local dynamic map, which describes the first geographical location of the ego vehicle 123 and one or more second geographical locations of one or more endpoints on the map. For example, the transmitter mode processing module 212 of the ego vehicle 123 generates LDM data describing the local dynamic map based on the availability data of the ego vehicle 123 generated in process (III) and the availability data of one or more endpoints decoded in process (IIII).
[0159] For example, the transmitter mode processing module 212 of the ego vehicle 123 forms endpoint-geolocation pairs on the local dynamic map. For each endpoint-geolocation pair including a corresponding endpoint and a geographic location of the corresponding endpoint, the local dynamic map includes one or more of the following endpoint information: (1) an access ranking of the endpoint; (2) a predicted future path of the endpoint; (3) a speed of the endpoint; (4) a heading of the endpoint; (5) capacity data describing the available storage capacity of the endpoint (e.g., in bytes); (6) one or more forms of V2X communication supported by the endpoint; and (7) a corresponding transmission rate implemented for each of the one or more forms of V2X communication.
[0160] Operations similar to those described in the above process (e) may be performed to generate a local dynamic map with respect to the ego vehicle 123, and similar descriptions will not be repeated here.
[0161] Process (VI): The transmitter mode processing module 212 of the ego vehicle 123 performs the following operations: (1) retrieving ranking data describing one or more access rankings of one or more endpoints from the availability data decoded in process (IIII), and retrieving ranking data describing the access ranking of the ego vehicle 123 from the availability data generated in process (III); and (2) identifying a partner endpoint of the ego vehicle 123 from one or more endpoints based on the local dynamic map generated in process (V) and the ranking data of one or more endpoints.
[0162] In some embodiments, the ego vehicle 123 stores sensor data that needs to be transmitted to the cloud server 120 for analysis. Since the ego vehicle 123 is in transmitter mode, it needs to identify another endpoint to help it relay its sensor data to the cloud server 120. The transmitter mode processing module 212 of the ego vehicle 123 analyzes the LDM data to determine which endpoint(s) included in the local dynamic map are to be used as partner endpoints based in part on the context of the ego vehicle 123 relative to the other endpoints, so that the partner endpoint can relay the sensor data of the ego vehicle 123 to the cloud server 120.
[0163] The transmitter mode processing module 212 of the ego vehicle 123 selects a partner endpoint for the remote vehicle 116 based on various factors including the endpoint information for each endpoint-geolocation pair described above. The endpoint selected as the partner endpoint for the ego vehicle 123 is not necessarily the endpoint with the highest access ranking included in the local dynamic map. For example, a vehicle with the highest ranking for millimeter wave communication capability may be an ideal partner endpoint (due to the high transmission rate of millimeter wave of 100Mb / s to 1Gb / s). However, this may not be possible, such as in the case where there is no clear line of sight between the ego vehicle 123 and the vehicle with the highest ranking (millimeter wave has a strict line of sight requirement).
[0164] In some embodiments, the transmitter mode processing module 212 of the ego vehicle 123 analyzes the local dynamic map to identify the partner endpoint of the ego vehicle 123 from the local dynamic map. For example, the transmitter mode processing module 212 of the ego vehicle 123 analyzes the local dynamic map to determine a series of candidate endpoints, each of which has a scenario that causes a transfer probability greater than a threshold. The transfer probability of a candidate endpoint is the probability that the ego vehicle 123 may be able to successfully transmit at least the minimum required amount of its sensor data to the candidate endpoint before their path of travel deviates or other situations occur that interfere with their ability to communicate with each other via V2X. The transmitter mode processing module 212 of the ego vehicle 123 selects the candidate endpoint with the highest access ranking from the series of candidate endpoints as the partner endpoint of the ego vehicle 123.
[0165] An operation similar to that described in the above process (f) may be performed to identify the partner endpoint of the ego vehicle 123, and similar description will not be repeated here.
[0166] Process (VII): The transmitter mode processing module 212 of the ego vehicle 123 wirelessly communicates with the partner endpoint via the selected V2X channel to transfer its sensor data to the partner endpoint. Without loss of generality, it is assumed that the remote vehicle 116 or the roadside unit 118 in the receiver mode is identified as the partner endpoint of the ego vehicle 123. The selected V2X channel is a V2X channel supported by both endpoints (the ego vehicle 123 and the partner endpoint of the ego vehicle 123) and is the most suitable for such communication given the distance separating the two endpoints, whether there is an obstacle between the two endpoints, the speed of the two endpoints, the heading direction of the two endpoints, and the future travel path of the two endpoints.
[0167] Process (VIII): The providing module 214 of the partner endpoint of the ego vehicle 123 receives a V2X message including sensor data of the ego vehicle 123 from the ego vehicle 123 and stores the sensor data in a memory of the partner endpoint.
[0168] Process (VIII): The provision module 214 of the partner endpoint waits for the communication unit 195 of the partner endpoint to be connected to the network (e.g., a home wireless network) again via the communication device. When the communication unit 195 of the partner endpoint is reconnected to the network via the communication device, the provision module 214 of the partner endpoint includes the sensor data of the self-vehicle 123 and the sensor data generated by the partner endpoint in its digital data, and uploads the digital data to the cloud server 120 using the communication device (e.g., a home router).
[0169] An example in which the partner endpoint of the ego vehicle 123 is a roadside unit 118 (referred to as a V2I scenario) is briefly described below. The feedback system 199 of the ego vehicle 123 in transmitter mode uploads its sensor data to the roadside unit 118. The roadside unit 118 then uploads the sensor data to the cloud server 120. For example, if there is no suitable remote vehicle to operate as a partner endpoint for uploading the sensor data of the ego vehicle to the cloud server 120, this V2I scenario may be beneficial. Additional benefits include the following: Since the roadside unit 118 can relay the sensor data of the ego vehicle to the cloud server 120 in near real time, modification data can be generated by the cloud server 120 based on the received sensor data and sent back to the ego vehicle 123 via the roadside unit 118 in near real time, which enables the modification module 218 described below to modify the vehicle components of the ego vehicle 123, thereby improving the safety and efficiency of the ego vehicle 123 in near real time.
[0170] Modified versions of processes (I)-(VIIII) are described below for an embodiment of a feedback system 199 for an ego vehicle 123 that utilizes V2I to transfer sensor data from the ego vehicle 123 to a roadside unit 118, which then uploads the sensor data to a cloud server 120 on behalf of the ego vehicle 123. The roadside unit 118 also includes a version of the feedback system 199.
[0171] Process (I): The transmitter mode processing module 212 of the ego vehicle 123 monitors availability messages from one or more endpoints including one or more of the remote vehicle 116 and the roadside unit 118 .
[0172] Process (II): The transmitter mode processing module 212 of the ego vehicle 123 receives one or more availability messages from one or more endpoints via V2X communication. At least one of the availability messages is received from the roadside unit 118 via V2I communication from the roadside unit 118 .
[0173] Process (III): The transmitter mode processing module 212 of the ego vehicle 123 generates its own availability data describing its own availability message.
[0174] Process (III): The transmitter mode processing module 212 of the ego vehicle 123 decodes the availability data of one or more endpoints from the one or more availability messages received in process (II). The decoded availability data includes the availability data of the roadside unit 118.
[0175] Process (V): The transmitter mode processing module 212 of the ego vehicle 123 generates a local dynamic map that describes a first geographic location of the ego vehicle 123 and one or more second geographic locations of one or more endpoints (including the geographic location of the roadside unit 118) on the map. For example, the transmitter mode processing module 212 of the ego vehicle 123 generates LDM data describing the local dynamic map based on the availability data of the ego vehicle 123 generated in process (III) and the availability data of one or more endpoints (including the availability data of the roadside unit 118) decoded in process (IIII).
[0176] For example, the transmitter mode processing module 212 of the ego vehicle 123 forms endpoint-geolocation pairs on a local dynamic map. For each endpoint-geolocation pair including a corresponding endpoint and a geolocation of the corresponding endpoint, the local dynamic map includes one or more of the following endpoint information: (1) an access ranking of the endpoint; (2) a predicted future path of the endpoint (if the endpoint is a roadside unit, the predicted future path is "zero" or "null"); (3) a speed of the endpoint (if the endpoint is a roadside unit, the speed is "zero" or "null"); (4) a heading of the endpoint (if the endpoint is a roadside unit, the heading is "zero" or "null"); (5) capacity data describing the available storage capacity of the endpoint (e.g., in bytes); (6) one or more forms of vehicle-to-everything (V2X) communication supported by the endpoint (if the endpoint is a roadside unit, the one or more forms of V2X communication are one or more forms of V2I communication); and (7) a corresponding transmission rate implemented for each of the one or more forms of V2X communication (if the endpoint is a roadside unit, the corresponding transmission rate is the transmission rate implemented for each of the one or more forms of V2I communication).
[0177] Process (VI): The transmitter mode processing module 212 of the ego vehicle 123 performs the following operations: (1) retrieving ranking data describing one or more access rankings of one or more endpoints from the availability data decoded in process (IIII), and retrieving ranking data describing the access ranking of the ego vehicle 123 from the availability data generated in process (III); and (2) identifying a partner endpoint of the ego vehicle 123 from one or more endpoints based on the local dynamic map generated in process (V) and the ranking data of one or more endpoints.
[0178] In some embodiments, the transmitter mode processing module 212 of the ego vehicle 123 analyzes the local dynamic map to determine a series of candidate endpoints, each of which has a context that causes the probability of transfer to be greater than a threshold. The transmitter mode processing module 212 of the ego vehicle 123 selects the candidate endpoint with the highest access ranking from the series of candidate endpoints as the partner endpoint of the ego vehicle 123. If one of the candidate endpoints is a roadside unit 118, the roadside unit 118 may have the highest ranking in a series of candidate endpoints because its static nature means that it may have a more stable and established wireless connection. Of course, the selection of the roadside unit 118 is not only due to the access ranking of the roadside unit 118, but also takes other contextual factors into consideration. Other contextual factors include, but are not limited to: the V2X communication form supported by the roadside unit 118; the transmission rate of different forms of V2I communication; and the position of the roadside unit 118 relative to the ego vehicle 123, etc. Without loss of generality, it is assumed that the roadside unit 118 is identified as the partner endpoint of the ego vehicle 123.
[0179] Process (VII): The transmitter mode processing module 212 of the ego vehicle 123 wirelessly communicates with the roadside unit 118 via the selected V2I channel to transfer its sensor data to the roadside unit 118. The selected V2I channel is a V2I channel supported by both the ego vehicle 123 and the roadside unit 118, and is the most suitable for such communication given the distance separating the ego vehicle 123 and the roadside unit 118, the presence or absence of obstacles between the ego vehicle 123 and the roadside unit 118, the speed of the ego vehicle 123, the heading, and the future travel path.
[0180] Process (VIII): The providing module 214 of the roadside unit 118 receives a V2I message including sensor data of the ego vehicle 123 from the ego vehicle 123 , and stores the sensor data in a memory or storage device of the roadside unit 118 .
[0181] Process (VIII): The providing module 214 of the roadside unit 118 includes the sensor data of the self-vehicle 123 and other sensor data generated by the roadside unit 118 (or received from other vehicles) into its digital data, and uploads the digital data to the cloud server 120.
[0182] In some embodiments, the providing module 214 may be a set of instructions executable by the processor 125, the instructions being operable to cause the processor 125 to provide data to the communication device for upload to the cloud server 120, or to provide data to the partner endpoint of the ego vehicle 123 for relay to the cloud server 120 when executed by the processor 125. In some embodiments, the providing module 214 may be stored in the memory 127 of the computer system 200 and may be accessed and executed by the processor 125. The providing module 214 may be adapted to cooperate and communicate with the processor 125 and other components of the computer system 200 via the signal line 287.
[0183] In some embodiments, the providing module 214 provides or attempts to provide digital data to the communication device through the communication unit 195 of the ego vehicle 123 based on the mode of the communication unit 195, wherein the digital data is relayed by the communication device to be received by the cloud server 120. The mode of the communication unit can be one of a receiver mode and a transmitter mode. For example, in response to the communication unit 195 of the ego vehicle 123 being in the receiver mode, the providing module 214 provides the digital data to the communication device so that the digital data is relayed by the communication device to be received by the cloud server 120.
[0184] The providing module 214 is described above with reference to processes (h)-(i) and processes (VII)-(VIIII), and similar descriptions are not repeated here.
[0185] In some embodiments, the machine learning module 216 may be a set of instructions executable by the processor 125, the instructions being operable to, when executed by the processor 125, cause the processor 125 to determine feedback describing the bandwidth limitations of the communication unit 195 of the ego vehicle 123. In some embodiments, the machine learning module 216 may be stored in the memory 127 of the computer system 200 and may be accessed and executed by the processor 125. The machine learning module 216 may be adapted to cooperate and communicate with the processor 125 and other components of the computer system 200 via signal line 288.
[0186] In some embodiments, the machine learning module 216 cooperates with the monitoring module 204 to monitor the access connectivity (e.g., network mode) of the network provided by the communication device when accessing the network via the communication unit 195 of the self-vehicle 123, and generates feedback based on the monitoring results. The feedback can describe the bandwidth limitation of the communication unit 195 of the self-vehicle 123.
[0187] In the first example, in response to the communication unit 195 of the ego vehicle 123 being in the receiver mode, the providing module 214 provides digital data to the communication device. In the second example, initially, the communication unit 195 of the ego vehicle 123 is set to be in the receiver mode as an initial state, and the providing module 214 attempts to provide digital data to the communication device to find out whether the digital data can be successfully received by the cloud server 120 via the communication device. In both examples, the machine learning module 216 cooperates with the monitoring module 204 to monitor the access connectivity of the communication unit 195. If the digital data is relayed by the communication device and successfully received by the cloud server 120, the machine learning module 216 can determine feedback describing that there is no bandwidth limitation on the communication unit 195 (for example, the machine learning module 216 can determine feedback describing a "zero" or "null" bandwidth limitation), so that the communication unit 195 remains in the receiver mode. However, if the communication device fails to relay digital data to be received by the cloud server 120, the machine learning module 216 can determine feedback describing the presence of a bandwidth limitation on the communication unit 195 (e.g., the machine learning module 216 can determine feedback describing a "real" bandwidth limitation), causing the modification module 218 to modify the mode of the communication unit 195 from a receiver mode to a transmitter mode based on the feedback data.
[0188] In some embodiments, the machine learning module 216 may apply one or more of a deep learning algorithm, one or more neural networks, or other machine learning methods to monitor the access connectivity of the communication unit 195 and generate feedback.
[0189] In some embodiments, the modification module 218 may be a set of instructions executable by the processor 125, the instructions being operable to cause the processor 125 to perform modification operations when executed by the processor 125. In some embodiments, the modification module 218 may be stored in the memory 127 of the computer system 200 and may be accessed and executed by the processor 125. The modification module 218 may be adapted to cooperate and communicate with the processor 125 and other components of the computer system 200 via signal lines 289.
[0190] In some embodiments, the modification module 218 is operable to modify the mode of the communication unit 195 of the ego vehicle 123 based on the feedback so that the mode is consistent with the bandwidth limitation and the digital data is successfully received by the cloud server 120. In this case, the bandwidth limitation of the communication unit 195 is eliminated by modifying the mode of the communication unit 195.
[0191] For example, assume that the feedback generated by the machine learning module 216 describes that there is a bandwidth limitation on the communication unit 195 of the ego vehicle 123, which prevents the ego vehicle 123 from uploading sensor data to the cloud server 120 via the communication device (e.g., the router 112). Then the modification module 218 modifies the mode of the communication unit 195 of the ego vehicle 123 from the receiver mode to the transmitter mode, thereby eliminating the bandwidth limitation of the communication unit 195. In this case, the communication unit 195 is modified from the receiver mode to the transmitter mode, so that instead of using wireless communication with the communication device that causes the bandwidth limitation, the communication unit 195 of the ego vehicle 123 uses V2X communication to relay its digital data to a networked endpoint (e.g., a remote vehicle or a roadside unit) that does not have bandwidth limitations, and thus the digital data from the ego vehicle 123 is uploaded to the cloud server 120 via the networked endpoint.
[0192] In another example, assume that the feedback generated by the machine learning module 216 describes that there is no bandwidth limit on the communication unit 195 of the ego vehicle 123 (e.g., there is a "zero" or "null" bandwidth limit on the communication unit 195). Then the modification module 218 maintains the mode of the communication unit 195 of the ego vehicle 123 in the receiver mode, so that the communication unit 195 of the ego vehicle 123 continues to provide its digital data (including sensor data generated by the ego vehicle 123 and sensor data from other vehicles) to the communication device (e.g., router 112) for upload to the cloud server 120.
[0193] As a result, the ego vehicle 123 (or any other vehicle), whether with or without bandwidth limitations, can upload its digital data to the cloud server 120 in a timely manner. Therefore, the efficiency of uploading digital data to the cloud server 120 is improved, which can result in a shorter time for the analysis module 194 of the cloud server 120 to generate modified data, so that the function of the ego vehicle 123 can be improved quickly (e.g., in near real time) based on the modified data. For example, the modified data can make the operation of the ego vehicle 123 (e.g., the operation of the hardware and software in the ego vehicle 123) safer and more efficient.
[0194] In some embodiments, the modification module 218 is operable to receive modification data from the cloud server 120 and cause modification of a vehicle component based on the modification data. The modification data is determined based on the digital data successfully received by the cloud server 120. For example, the vehicle component is the ADAS system 191 of the ego vehicle 123, which is modified based on the modification data to make the ego vehicle 123 safer and more efficient. In another example, the modification data modifies the real-time safety process of the ego vehicle 123 provided by the ADAS system 191 and improves the safety of the ego vehicle 123. In yet another example, the modification data modifies the operation of the braking system of the ego vehicle 123, and the operation of the braking system is controlled by the ADAS system 191.
[0195] Here is described a real-time example process for improving the safety of the ego vehicle 123 with the help of sensor data uploaded to the cloud server 120 in a timely manner. In the example process, it is assumed that the ego vehicle 123 has bandwidth limitations and is therefore modified from a receiver mode to a transmitter mode. The ego vehicle 123 selects the roadside unit 118 as a partner endpoint for uploading its sensor data to the cloud server 120. Because the ego vehicle 123 transmits its sensor data to the roadside unit 118 in real time, which causes the roadside unit 118 to immediately forward the sensor data of the ego vehicle 123 to the cloud server 120, the analysis module 194 of the cloud server 120 can analyze the sensor data to identify any potential hazards (e.g., potential collisions, icy roads, etc.) around the ego vehicle 123, and thus generate modification data for controlling the ego vehicle 123 to safely deal with the potential hazards in real time. Once the modification data is received from the cloud server 120 via the roadside unit 118, the ADAS system 191 of the ego vehicle 123 can control the accelerator, brakes, and steering wheel of the ego vehicle 123 in real time based on the modification data. In some scenarios, the ego vehicle 123 may also provide a warning to the driver of the ego vehicle 123 based on the modification data.
[0196] Example Process
[0197] Figure 3A A method 300 for performing V2X data transmission by an ego vehicle 123 according to some embodiments is depicted. The steps of the method 300 may be performed in any order, not necessarily in the order described above. Figure 3A in the order shown.
[0198] At step 301, the monitoring module 204 monitors the access connectivity of the ego vehicle 123 with respect to a network provided by a communication device. For example, the network may be a home wireless network provided by a home router.
[0199] In step 303 , the monitoring module 204 generates connectivity data describing access connectivity of the ego vehicle 123 . For example, the monitoring module 204 generates the connectivity data based on the monitoring result obtained in step 301 .
[0200] At step 305 , the determination module 206 compares the access connectivity of the ego vehicle 123 to a connectivity threshold described by the threshold data.
[0201] In step 307 , the determination module 206 determines whether the access connectivity of the ego vehicle 123 satisfies the connectivity threshold. If the access connectivity satisfies the connectivity threshold, the method 300 proceeds to step 309 ; otherwise, the method 300 proceeds to step 311 .
[0202] At step 309 , the determination module 206 determines that the ego vehicle 123 has no bandwidth limitations.
[0203] At step 310, the determination module 206 configures the ego vehicle 123 to enter a receiver mode so that the sensor data generated by the remote vehicle 116 having bandwidth limitations is relayed to the ego vehicle 123. The providing module 214 includes the sensor data of the remote vehicle 116 and the sensor data of the ego vehicle 123 in the digital data, and uploads the digital data to the cloud server 120 by providing the digital data to the communication device so that the communication device forwards the digital data to the cloud server 120.
[0204] At step 311 , the determination module 206 determines that the ego vehicle has bandwidth limitations.
[0205] At step 313, the determination module 206 configures the ego vehicle 123 to enter a transmitter mode so that the sensor data generated by the ego vehicle 123 is relayed to the partner endpoint of the ego vehicle 123. The partner endpoint includes the sensor data generated by the ego vehicle 123 in its digital data and uploads its digital data to the cloud server 120.
[0206] Figure 3B Another method 350 for performing V2X data transmission by the ego vehicle 123 according to some embodiments is depicted. The steps of the method 350 may be performed in any order, not necessarily in sequence. Figure 3B in the order shown.
[0207] At step 351, the providing module 214 provides or attempts to provide digital data to the communication device via the communication unit 195 of the ego vehicle 123 based on the mode of the communication unit 195, wherein the digital data is relayed by the communication device to be received by the cloud server 120. In some embodiments, the digital data includes sensor data recorded by one or more sensors, and the one or more sensors are elements of one or more of the ego vehicle 123 and the remote vehicle 116.
[0208] At step 353 , the machine learning module 216 determines feedback describing the bandwidth limitations of the communication unit 195 via the processor 125 of the ego vehicle 123 .
[0209] For example, the communication device is a router, and the bandwidth limitation is caused by a factor selected from the group consisting of: the router does not exist; the communication unit 195 cannot wirelessly communicate with the router; the router is outside the transmission range of the communication unit 195; the router has poor access to the wireless network; the router cannot access the wireless network; and the communication unit 195 does not store the password of the router so that the communication unit 195 is not authenticated to wirelessly communicate with the router.
[0210] At step 355, the modification module 218 modifies the mode based on the feedback through the processor 125 so that the mode is consistent with the bandwidth limitation and the digital data is successfully received by the cloud server 120. For example, by modifying the mode of the communication unit 195, the modification module 218 eliminates the bandwidth limitation of the communication unit 195.
[0211] For example, the modification module 218 modifies the mode based on the feedback by selecting a selected mode for modification from the group consisting of: a receiver mode; and a transmitter mode. In some embodiments, the selected mode is a receiver mode, and the digital data includes sensor data recorded by the ego vehicle 123 and a set of remote vehicles 116. The communication unit 195 of the ego vehicle 123 operates in the receiver mode by (1) receiving the sensor data of the set of remote vehicles 116 and (2) including the sensor data of the set of remote vehicles 116 in the digital data provided to the communication device.
[0212] In some embodiments, the selected mode is the transmitter mode, and the communication unit 195 of the ego vehicle 123 operates in the transmitter mode by ceasing to provide digital data to the communication device and instead providing the digital data to the remote vehicle 116 (the remote vehicle 116 is a networked vehicle that will take steps to relay the digital data to the cloud server 120). A networked vehicle is a vehicle that does not have bandwidth limitations that would prevent the digital data from being relayed to the cloud server 120.
[0213] In step 357 , the modification module 218 receives modification data determined based on the digital data successfully received by the cloud server 120 .
[0214] At step 359, the modification module 218 modifies the vehicle component of the ego vehicle 123 based on the modification data. In some embodiments, the ego vehicle 123 is an autonomous vehicle, and the vehicle component is an ADAS system 191 that is modified based on the modification data. For example, the modification data modifies the real-time safety process of the autonomous vehicle provided by the ADAS system 191 and improves the safety of the autonomous vehicle. In another example, the modification data modifies the operation of the braking system of the ego vehicle 123, and the operation of the braking system is controlled by the ADAS system 191.
[0215] Figure 4 A method 400 is depicted in accordance with some embodiments of the present invention in which the ego vehicle 123 operates in a receiver mode. The steps of the method 400 may be performed in any order, not necessarily in a sequential order. Figure 4 in the order shown.
[0216] At step 401 , the ranking module 208 receives connectivity data for one or more endpoints.
[0217] At step 403 , the ranking module 208 generates a connectivity dataset that includes connectivity data of the ego vehicle 123 and connectivity data of one or more endpoints.
[0218] At step 405 , the ranking module 208 generates ranking data describing an access ranking of the ego vehicle 123 based on the connectivity dataset.
[0219] At step 407, the receiver mode processing module 210 generates availability data describing an availability message of the ego vehicle 123. The availability message includes, among other things, the access ranking of the ego vehicle 123.
[0220] At step 409, the receiver mode processing module 210 sends the availability data to the remote vehicle 116 having bandwidth limitations. Here, the remote vehicle 116 has bandwidth limitations that prevent it from uploading sensor data to the cloud server 120. For example, the remote vehicle 116 does not have access to a home wireless network at the remote vehicle's home or the access is poor, so that the remote vehicle 116 cannot upload its sensor data to the cloud server 120 via the home wireless network.
[0221] At step 411 , in response to the ego vehicle 123 being identified as a buddy endpoint of the remote vehicle 116 , the providing module 214 receives sensor data generated by the remote vehicle 116 .
[0222] At step 413 , the providing module 214 includes the sensor data of the remote vehicle 116 in the digital data of the ego vehicle 123 to be provided to the communication device.
[0223] At step 415, the providing module 214 uploads the digital data to the cloud server 120 by providing the digital data to the communication device. For example, the providing module 214 uploads the digital data to the cloud server 120 by providing the digital data to a home router in the home of the ego vehicle so that the home router forwards the digital data to the cloud server 120.
[0224] Figure 5 A method for operating the ego vehicle 123 in transmitter mode according to some embodiments is depicted. The steps of the method may be performed in any order, not necessarily in the order in which the ego vehicle 123 is operated. Figure 5 in the order shown.
[0225] At step 501 , the transmitter mode processing module 212 generates first availability data describing an availability message of the ego vehicle 123 .
[0226] At step 503, the transmitter mode processing module 212 receives second availability data describing one or more availability messages of one or more endpoints via V2X communication with one or more endpoints. The one or more endpoints include one or more of the remote vehicle 116, the roadside unit 118, and other endpoints.
[0227] In step 505, the transmitter mode processing module 212 generates a local dynamic map based on the first availability data and the second availability data.
[0228] At step 507, the transmitter mode processing module 212 retrieves ranking data describing one or more access rankings of the one or more endpoints from the one or more availability messages, respectively.
[0229] At step 509, the transmitter mode processing module 212 identifies a partner endpoint of the ego vehicle 123 from one or more endpoints based on the local dynamic map and ranking data. For example, the partner endpoint of the ego vehicle 123 may be one of the remote vehicles 116, the roadside unit 118, or any other networked endpoints without bandwidth limitations in receiver mode.
[0230] At step 511 , the providing module 214 transmits the sensor data generated by the ego vehicle 123 to the partner endpoint of the ego vehicle 123 , so that the sensor data of the ego vehicle 123 is included in the digital data of the partner endpoint for uploading to the cloud server 120 .
[0231] Figure 6An example process 600 is depicted when the ego vehicle 123 is operating in receiver mode according to some embodiments. The steps of the example process 600 may be performed in any order, not necessarily in sequence. Figure 6 in the order shown.
[0232] At step 601 , the receiver mode processing module 210 of the ego vehicle 123 in receiver mode generates first availability data describing an availability message of the ego vehicle 123 .
[0233] At step 603 , the receiver mode processing module 210 of the ego vehicle 123 sends the first availability data to the remote vehicle 116 in the transmitter mode via V2X communication.
[0234] At step 605, the transmitter mode processing module 212 of the remote vehicle 116 receives second availability data describing one or more availability messages of one or more endpoints via V2X communication with one or more endpoints. The one or more endpoints include one or more of the remote vehicle 116, the roadside unit 118, and other endpoints.
[0235] At step 606 , the transmitter mode processing module 212 of the remote vehicle 116 generates a local dynamic map based on the first availability data and the second availability data.
[0236] At step 607 , the transmitter mode processing module 212 of the remote vehicle 116 retrieves ranking data describing one or more access rankings of one or more endpoints from the second availability data and ranking data describing access rankings of the ego vehicle 123 from the first availability data, respectively.
[0237] At step 609, the transmitter mode processing module 212 of the remote vehicle 116 identifies a partner endpoint of the remote vehicle 116 from one or more endpoints and the ego vehicle 123 based on the local dynamic map, the ranking data of the one or more endpoints, and the ranking data of the ego vehicle 123. For example, the partner endpoint of the remote vehicle 116 may be one of the ego vehicle 123 in receiver mode, the roadside unit 118, or another networked endpoint without bandwidth restrictions. Here, without loss of generality, it is assumed that the ego vehicle 123 is selected as the partner endpoint of the remote vehicle 116.
[0238] In step 611 , the provision module 214 of the remote vehicle 116 transmits the sensor data generated by the remote vehicle 116 to the partner endpoint (eg, the ego vehicle 123 ) so that the sensor data of the remote vehicle 116 is included in the digital data of the partner endpoint for uploading to the cloud server 120 .
[0239] At step 613 , the providing module 214 of the ego vehicle 123 includes the sensor data of the remote vehicle 116 and the sensor data generated by the ego vehicle 123 in its digital data, and uploads the digital data to the cloud server 120 by providing the digital data to a communication device.
[0240] Figure 7 An example process 700 is depicted when the ego vehicle 123 is operating in a transmitter mode according to some embodiments. The steps of the example process 700 may be performed in any order, not necessarily in sequence. Figure 7 The sequence shown. The ego vehicle 123 communicates with a first endpoint, which can be a remote vehicle, a roadside unit, or another endpoint. The first endpoint has its own version of the feedback system 199.
[0241] At step 701, the receiver mode processing module 210 of a first endpoint in receiver mode generates first availability data describing an availability message of the first endpoint.
[0242] In step 703 , the receiver mode processing module 210 of the first endpoint sends the first availability data to the ego vehicle 123 in the transmitter mode through V2X communication.
[0243] At step 705, the transmitter mode processing module 212 of the ego vehicle 123 receives second availability data describing one or more availability messages of one or more other endpoints via V2X communication with one or more other endpoints. The one or more other endpoints include one or more of a remote vehicle, a roadside unit, and other endpoints.
[0244] At step 706 , the transmitter mode processing module 212 of the ego vehicle 123 generates a local dynamic map based on the first availability data and the second availability data.
[0245] In step 707, the transmitter mode processing module 212 of the ego vehicle 123 retrieves first ranking data describing the access ranking of the first endpoint from the first availability data, and retrieves second ranking data describing one or more access rankings of one or more other endpoints from the second availability data.
[0246] In step 709, the transmitter mode processing module 212 of the ego vehicle 123 identifies the partner endpoint of the ego vehicle 123 from one or more other endpoints and the first endpoint based on the local dynamic map, the second ranking data of the one or more other endpoints, and the first ranking data of the first endpoint. For example, the partner endpoint of the ego vehicle 123 may be the first endpoint in the receiver mode or another networked endpoint without bandwidth limitation. Here, without loss of generality, it is assumed that the first endpoint is selected as the partner endpoint of the ego vehicle 123.
[0247] In step 711 , the providing module 214 of the ego vehicle 123 transmits the sensor data generated by the ego vehicle 123 to the partner endpoint (eg, the first endpoint), so that the sensor data of the ego vehicle 123 is included in the digital data of the partner endpoint for uploading to the cloud server 120 .
[0248] In step 713 , the providing module 214 of the first endpoint includes the sensor data of the ego vehicle 123 and the sensor data generated by the first endpoint in its digital data, and uploads the digital data to the cloud server 120 by providing the digital data to the communication device.
[0249] In the above description, for the purpose of explanation, many specific details are set forth in order to provide a thorough understanding of the specification. However, it is clear to those skilled in the art that the present disclosure can be implemented without these specific details. In some cases, structures and devices are shown in block diagram form to avoid blurring the description. For example, embodiments of the present invention may be described above mainly with reference to user interfaces and specific hardware. However, embodiments of the present invention may be applied to any type of computer system capable of receiving data and commands, and any peripheral device providing services.
[0250] References to "some embodiments" or "some examples" in the specification mean that a particular feature, structure, or characteristic described in conjunction with the embodiments or examples may be included in at least one embodiment of the specification. The phrase "in some embodiments" appearing in different places in the specification does not necessarily refer to the same embodiment.
[0251] Some portions of the following detailed description are presented in terms of algorithms and symbolic representations of operations on data bits in a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the art of data processing to most effectively convey the substance of their work to others skilled in the art. An algorithm is generally considered to be a self-consistent sequence of steps leading to a desired result. These steps are those steps that require physical operations on physical quantities. Typically, although not necessarily, these quantities take the form of electrical or magnetic signals that can be stored, transmitted, combined, compared, and otherwise manipulated. It has proven convenient to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, etc., primarily for general reasons.
[0252] It should be remembered, however, that all of these and similar terms are associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless otherwise stated, it will be apparent from the following discussion that discussions using terms including "processing" or "computing" or "calculating" or "determining" or "displaying" throughout the description should be understood to refer to the actions and processes of a computer system or similar electronic computing device that manipulates and transforms data represented as physical (electronic) quantities in the computer system's registers and memories into other data similarly represented as physical quantities in the computer system's memories or registers or other such information storage, transmission or display devices.
[0253] The current embodiments of the specification may also relate to an apparatus for performing the operations herein. The apparatus may be specially constructed for the desired purpose, or it may include a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer-readable storage medium, including but not limited to any type of disk, including a floppy disk, an optical disk, a CD ROM and a magnetic disk, a read-only memory (ROM), a random access memory (RAM), an EPROM, an EEPROM, a magnetic or optical card, a flash memory, including a USB key with non-volatile memory, or any type of medium suitable for storing electronic instructions, each of which is coupled to a computer system bus.
[0254] The specification may take the form of some complete hardware embodiments, some complete software embodiments or some embodiments comprising hardware and software elements. In some preferred embodiments, the specification is implemented with software, including but not limited to firmware, resident software, microcode, etc.
[0255] Furthermore, the description may take the form of a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system. For the purposes of this specification, a computer-usable or computer-readable medium may be any means that can contain, store, communicate, propagate, or transport the program for use by or in connection with an instruction execution system, apparatus, or device.
[0256] A data processing system suitable for storing or executing program code will include at least one processor coupled directly or indirectly to a memory element via a system bus. The memory element may include local memory, bulk storage, and cache memories used during the actual execution of the program code, with the cache memories providing temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution.
[0257] Input / output or I / O devices (including but not limited to keyboards, displays, pointing devices, etc.) can be coupled to the system either directly or through intervening I / O controllers.
[0258] Network adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modem and Ethernet cards are just a few of the currently available network adapters.
[0259] Finally, the algorithms and displays presented herein are not inherently related to any particular computer or other device. Various general purpose systems may be used with the programs taught herein, or it may prove convenient to construct more specialized devices to perform the required method steps. The structures required for various such systems will become apparent from the following description. In addition, the specification is not described with reference to any particular programming language. It should be understood that the teachings of the specification described herein may be implemented using various programming languages.
[0260] For the purpose of illustration and description, the foregoing description of the embodiment of the specification has been presented. It is not intended to be exhaustive or to limit the specification to the precise form disclosed. According to the above teachings, many modifications and changes are possible. It is intended that the scope of the present disclosure is not limited by this detailed description, but is limited by the claims of the present application. As will be understood by those skilled in the art, the specification can be implemented in other specific forms without departing from its spirit or basic characteristics. Similarly, the specific naming and division of modules, routines, features, attributes, methods and other aspects are not mandatory or important, and the mechanism for implementing the specification or its features can have different names, divisions or formats. In addition, it is obvious to those of ordinary skill in the relevant field that the modules, routines, features, attributes, methods and other aspects of the present disclosure can be implemented as software, hardware, firmware or any combination of the three. In addition, as long as the components of this specification (an example of which is a module) are implemented as software, the components can be implemented as a stand-alone program, a part of a larger program, multiple stand-alone programs, static or dynamic link libraries, kernel loadable modules, device drivers, or implemented in any other way known to those of ordinary skill in the field of computer programming now or in the future. Furthermore, the present disclosure is in no way limited to embodiments in any particular programming language, or embodiments in any particular operating system or environment. Accordingly, the present disclosure is intended to be illustrative and not limiting of the scope of the specification, which is set forth in the claims.
Claims
1. A method for data transmission, comprising: providing or attempting to provide digital data by a communication unit of the vehicle to a first communication device, the first communication device comprising an access point to a home wireless network external to the vehicle, wherein the digital data is relayed by the first communication device to be received by a server; generating, by a processor of the vehicle, connectivity data describing a data transmission rate of the home wireless network to the server; comparing, by the processor, the connectivity data to a connectivity threshold; determining that the communication unit of the vehicle does not have a bandwidth limitation that prevents relaying the digital data to the server when a data transmission rate from the home wireless network to the server described by the connectivity data satisfies the connectivity threshold, and operating the communication unit in a receiver mode by receiving sensor data from a set of remote vehicles having bandwidth limitations and including the sensor data from the set of remote vehicles in the digital data provided to the first communication device; as well as When the data transmission rate from the home wireless network to the server described by the connectivity data does not meet the connectivity threshold, determining that the communication unit of the vehicle has a bandwidth limitation that prevents the digital data from being relayed to the server, and operating the communication unit in a transmitter mode by ceasing to provide the sensor data to a first communication device and instead providing the digital data to a second communication unit of a remote vehicle for relaying to the server.
2. The method of claim 1 , further comprising receiving modification data operable to modify a vehicle component of the vehicle, wherein the modification data is determined based on the digital data successfully received by the server, such that providing the digital data to the server results in modification of the vehicle component, and in, The vehicle is an autonomous vehicle, and the vehicle component is an advanced driver assistance system, ie, ADAS system, modified based on the modification data.
3. The method according to claim 2, wherein: The modification data modifies the real-time safety procedures of the autonomous vehicle provided by the ADAS system and improves the safety of the autonomous vehicle.
4. The method according to claim 2, wherein: The modification data modifies operation of a braking system of the vehicle, and the operation of the braking system is controlled by the ADAS system.
5. The method according to any one of claims 1 to 4, wherein: The first communication device is a router, and the data transmission rate from the home wireless network to the server described by the connectivity data does not meet the connectivity threshold due to a factor selected from the group consisting of: the router does not exist; the communication unit cannot communicate with the router wirelessly; the router is outside the transmission range of the communication unit; The router has poor access to the wireless network; The router does not have access to the wireless network; And the communication unit does not store the password of the router so that the communication unit is not authenticated to wirelessly communicate with the router.
6. A system for data transmission, comprising: An onboard computer system of a vehicle, the onboard computer system comprising a communication unit, a processor, and a non-transitory memory storing computer code, the computer code, when executed by the processor, causing the processor to: providing or attempting to provide digital data to a first communication device via the communication unit of the vehicle, the first communication device comprising an access point to a home wireless network external to the vehicle, wherein the digital data is relayed by the first communication device to be received by a server; generating, by a processor of the vehicle, connectivity data describing a data transmission rate of the home wireless network to the server; comparing, by the processor, the connectivity data to a connectivity threshold; determining that the communication unit of the vehicle does not have a bandwidth limitation that prevents relaying the digital data to the server when a data transmission rate from the home wireless network to the server described by the connectivity data satisfies the connectivity threshold, and operating the communication unit in a receiver mode by receiving sensor data from a set of remote vehicles having bandwidth limitations and including the sensor data from the set of remote vehicles in the digital data provided to the first communication device; as well as When the data transmission rate from the home wireless network to the server described by the connectivity data does not meet the connectivity threshold, determining that the communication unit of the vehicle has a bandwidth limitation that prevents the digital data from being relayed to the server, and operating the communication unit in a transmitter mode by ceasing to provide the sensor data to a first communication device and instead providing the digital data to a second communication unit of a remote vehicle for relaying to the server.
7. The system according to claim 6, wherein: The computer code, when executed by the processor, causes the processor to further: receiving modification data operable to modify a vehicle component of the vehicle, wherein the modification data is determined based on digital data successfully received by the server, such that providing the digital data to the server results in modification of the vehicle component, and The vehicle is an autonomous vehicle, and the vehicle component is an advanced driver assistance system, i.e., an ADAS system, modified based on the modification data.
8. The system according to claim 7, wherein: The modification data modifies the real-time safety procedures of the autonomous vehicle provided by the ADAS system and improves the safety of the autonomous vehicle.
9. The system according to claim 7, wherein: The modification data modifies operation of a braking system of the vehicle, and the operation of the braking system is controlled by the ADAS system.
10. The system according to any one of claims 6 to 9, wherein: The first communication device is a router, and the data transmission rate from the home wireless network to the server described by the connectivity data does not meet the connectivity threshold due to a factor selected from the group consisting of: the router does not exist; the communication unit cannot communicate with the router wirelessly; the router is outside the transmission range of the communication unit; The router has poor access to the wireless network; The router does not have access to the wireless network; And the communication unit does not store the password of the router so that the communication unit is not authenticated to wirelessly communicate with the router.
Citation Information
Patent Citations
Full-duplex coordination system
US20160065355A1
On board vehicle presence reporting module
US20130203400A1
Systems and methods for managing data with heterogeneous multi-paths and multi-networks in an internet of moving things
US20180220283A1
