Wind and transmission delay management for networked vehicles
By using connected vehicle technology and service computing devices to analyze vehicle sensor data, accurate vehicle control information is generated, which solves the problems of inaccurate crosswind detection and transmission delay in traditional systems, and improves the safety and comfort of vehicles under crosswind conditions.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-07-31
- Publication Date
- 2026-04-14
AI Technical Summary
Existing technologies struggle to accurately detect and manage the impact of crosswinds on vehicles, leading to compromised vehicle safety and comfort. Traditional systems rely on single-unit sensors, have slow wind database updates, and transmission delays affect the timeliness of control information.
By using connected vehicle technology and service computing devices to collect and analyze vehicle sensor data, accurate vehicle control information is generated. Taking transmission delay into account, the impact of crosswinds is dynamically managed. A connected data platform is used to generate and maintain crosswind and transmission delay databases to provide real-time control information.
It improves driving safety and comfort in crosswind conditions, reduces the impact of crosswinds on vehicles by real-time detection and management of crosswind events, and enhances vehicle stability and safety.
Smart Images

Figure CN121866604A_ABST
Abstract
Description
Technical Field
[0001] Some of the implementation methods described in this article are techniques and arrangements for wind and transmission delay management in connected vehicles. Background Technology
[0002] Wind can affect vehicle operation. For example, crosswinds can include any wind with a component perpendicular to the vehicle's direction of travel. Crosswinds can cause problems for vehicles traveling on wet or slippery roads, as well as for vehicles traveling on dry roads in strong crosswinds. Furthermore, crosswinds can disproportionately affect vehicles with large side areas, such as vans, box trucks, and tractor-trailers. Crosswinds can affect vehicle aerodynamics and can laterally shift the vehicle's path. This is dangerous for the vehicle and nearby vehicles, as lift can cause the vehicle to lose traction, change direction, or pose a hazard to the vehicle and nearby vehicles. Conventional techniques for detecting crosswinds and responding appropriately to improve vehicle safety are rather limited and are typically configured to act only when vehicle sensors detect a predetermined wind event. Moreover, the occurrence of crosswinds that can affect vehicle safety can be a highly dynamic event, which can be significantly influenced by the presence or absence of other vehicles nearby, the size of other vehicles, the presence of buildings and other fixed structures, etc. Summary of the Invention
[0003] In some implementations, the serving computing device receives communication from a vehicle computing device on the vehicle, the communication including sensor data acquired from at least one sensor on the vehicle. Based on the communication, the serving computing device determines a transmission delay corresponding to the difference between the time the vehicle sends the communication and the time it receives the communication. Based on the communication, the serving computing device determines the trajectory of the vehicle along a driving route. Based on the sensor data, the transmission delay, and the trajectory, the serving computing device determines vehicle control information for the vehicle. The serving computing device sends at least one instruction to the vehicle, based at least on the vehicle control information, causing the vehicle to perform at least one control operation to traverse one or more locations associated with the vehicle's trajectory. Attached Figure Description
[0004] See the accompanying drawings for detailed explanation. In the drawings, the leftmost number of the reference numeral indicates the drawing in which the reference numeral first appears. The same reference numeral is used in different drawings to indicate similar or identical items or features.
[0005] [ Figure 1 ] Figure 1 An example system for wind and transmission delay management according to some implementations is shown.
[0006] [ Figure 2 ] Figure 2 Example hardware and logic configurations of a wind and transmission delay management system portion according to some implementations are shown.
[0007] [ Figure 3 ] Figure 3 This is a flowchart illustrating an example process for updating the crosswind database and the transmission delay database according to some implementation methods.
[0008] [ Figure 4 ] Figure 4 An example data structure including information in a transmission delay database according to some implementations is shown.
[0009] [ Figure 5 ] Figure 5 An example data structure including information in a wind map database according to some implementations is shown.
[0010] [ Figure 6 ] Figure 6 This is a flowchart illustrating an example process for determining crosswind information and vehicle surroundings information according to some implementation methods.
[0011] [ Figure 7 ] Figure 7 This is a flowchart illustrating an example process for updating a wind information database according to some implementation methods.
[0012] [ Figure 8 ] Figure 8 This is a flowchart illustrating an example process for generating vehicle control information according to some implementation methods.
[0013] [ Figure 9 ] Figure 9 This includes flowcharts and corresponding diagrams of example processes and path points according to some implementation methods.
[0014] [ Figure 10 ] Figure 10 An example data structure for maintaining vehicle trajectory information at waypoints, according to some implementations, is shown.
[0015] [ Figure 11 ] Figure 11 This is a flowchart illustrating an example process for determining vehicle control information according to some implementation methods. Detailed Implementation
[0016] Some implementations described herein relate to crosswind management techniques and arrangements for vehicles, partly based on utilizing connected vehicle technology to determine crosswind information and provide crosswind management information to the appropriate vehicles. For example, the crosswind information determined by this system can be used for precise vehicle control to improve driving safety and comfort when vehicles encounter crosswinds. Some examples utilize data from connected vehicles and other sources to detect crosswinds and may employ techniques to improve the accuracy of determining the time and location of crosswinds. Furthermore, some examples described herein may account for data transmission delays, such as mentioning satellite positioning system clocks (e.g., accessible via GPS or any other satellite positioning system), to generate more accurate vehicle control information. Additionally, some examples described herein may generate and maintain crosswind databases, data transmission delay databases, and information related to the estimated vehicle's surrounding environment to enable the generation of accurate vehicle control information and its direct provision to the vehicle to assist in the safe passage of vehicles through crosswind areas.
[0017] The implementations described herein may utilize a large number of data collection units, where the collected data is aggregated or filtered to form one or more databases, which can then be used to generate control information. Examples of data collection and sharing according to some instances described herein may include: (i) connected vehicles for crosswind detection and sharing, weather detection and sharing, road hazard detection and sharing, etc.; (ii) autonomous driving (AD) or delivery applications, where AD vehicles are also used to capture the surrounding environment, such as map updates and real-time condition information; and (iii) smart city applications, where vehicles, smartphones, or other edge devices can be used to acquire city information for service computing devices, including but not limited to traffic conditions, public transportation conditions, road conditions, wind, and other weather conditions.
[0018] During crosswind events, conventional methods of vehicle control typically use various types of sensors mounted on a specific vehicle to detect when a crosswind event occurs and then compensate for its effects in certain situations (e.g., if the vehicle speed is greater than 40 mph). However, conventional methods are often standalone technologies that can only take action when a predefined wind event is detected. Furthermore, crosswinds are not only highly dynamic events related to wind speed (i.e., direction and magnitude) and frequency that vary with altitude, but can also be influenced by each vehicle's current environment, such as whether any surrounding vehicles are obstructing some or part of the crosswind, or whether any buildings, other structures, geographical features, etc., might be blocking the crosswind. Due to these considerations, traditional standalone systems often fail to accurately detect crosswind events, potentially leading to unsafe situations. In addition, there are conventional online databases simulating wind conditions around the world, such as those based on wind measurements from governments or other sources.
[0019] However, the actual wind measurements in these databases are typically updated slowly (e.g., once per hour), and the measurement locations are often sparse. Therefore, the information contained in these databases is often not useful for precisely improving vehicle control to enhance driving safety and comfort when a particular vehicle encounters crosswinds. Furthermore, due to potentially significant differences in transmission latency between connected vehicles and remote databases maintained by remote servers, it is difficult to generate control information at a time sufficient to instruct the vehicle to take specific actions at a specific location and time.
[0020] To address these and other issues of traditional systems, the implementation described herein uses connected data to determine when a particular vehicle is likely to encounter crosswinds and provides control information to the vehicle when it does. According to the examples presented herein, crosswind events can be accurately detected and managed for a particular vehicle in terms of time and location. Furthermore, precise vehicle control information can be generated to improve driving safety and comfort when traversing areas affected by crosswinds. Specifically, by using relevant vehicle technologies, real-time wind information can be used for precise vehicle control to enhance driving safety and comfort.
[0021] In some examples, the vehicle can access a connected data analytics platform provided by a service computing device and can provide information to the platform, including data obtained from onboard sensors available on the vehicle, as well as the vehicle's current location. Furthermore, the vehicle can receive information from the data analytics platform about crosswinds it may encounter now or in the near future while traveling along the intended route.
[0022] The connected vehicle technology according to embodiments of the present invention can be used to mitigate the effects of crosswinds and improve vehicle safety and comfort during crosswind events by sending vehicle control information to specific vehicles. However, since there may be transmission delays between the vehicle and a remote database located on a cloud platform or remote server, and these delays may change from time to time, the embodiments described herein can take these transmission delays into account when generating control information for the vehicle, enabling the vehicle to take action at specific locations and times. Furthermore, the examples described herein can generate and maintain a transmission delay database or other data structures that can be used for vehicle control and wind management. For example, the data analysis platform described herein can calculate the transmission delay each time sensor data is received from the vehicle. The transmission delay can be determined based on the vehicle's location, speed, communication protocol used, communication interface used, etc. The calculated transmission delay can be added to a transmission delay database maintained by the data analysis platform and can then be used for crosswind direction detection based on partial or complete information, updating wind maps, local map construction, and vehicle control.
[0023] For the purposes of this discussion, some exemplary implementations are described in the context of a vehicle receiving crosswind information from a service computing device to improve vehicle control and safety when encountering crosswinds, and a data analysis platform receiving data from the vehicle and other sources to generate a database that can be used to provide the vehicle with crosswind-related information in real time. However, the implementations herein are not limited to the specific examples provided and can be extended to other types of vehicles, other types of communication, other types of computing device configurations, other types of computing platforms and architectures, etc., as will be apparent to those skilled in the art.
[0024] Figure 1 An example system 100 for wind and transmission delay management according to some embodiments is illustrated. System 100 includes multiple vehicles 102, each vehicle 102 having one or more vehicle computing devices 104 capable of wirelessly communicating with one or more service computing devices 108 via one or more networks 106. In the illustrated example, vehicles 102(a)-102(e) are shown. For example, vehicles 102(a), 102(b), and 102(d) are passenger cars, while vehicles 102(c) and 102(e) are vans or trucks with a larger side surface area than passenger cars. In some examples herein, vehicles 102 may be referred to as “connected vehicles” because they communicate with one or more non-vehicle computing devices (e.g., service computing devices 108, computing devices of other vehicles 102, and / or other computing devices not in the network). Figure 1 The diagram shows a connection for communication.
[0025] Vehicle 102 can be any type of vehicle, such as a car, pickup truck, SUV, motorcycle, van, box truck, tractor-trailer, etc. For example, the vehicle can be an electric vehicle (EV), a hybrid vehicle, an internal combustion engine (ICE) vehicle, etc. In some cases, vehicle 102 can be a fully autonomous (AD) vehicle, while in others, the vehicle can be operated by a human and can include various advanced driver assistance systems (ADAS), such as automatic braking, lane keeping assist, adaptive cruise control, etc. Furthermore, vehicle 102 can communicate with service computing device 108 via one or more networks 106, for example, sending information related to crosswind 110 to service computing device 108 (as indicated by the diagonal arrow group). Figure 1 The vehicle 102 may be equipped with various types of sensors and actuators (represented in the image) and / or receive information related to the crosswind 110 from the service computing device 108. Figure 1(Not shown in the image). These sensors may include satellite positioning system receivers, inertial measurement units (IMUs), compasses, camera systems (e.g., 360-degree imaging systems, stereo cameras, lane-keeping cameras, etc.), lidar, radar, semi-active or active suspension systems with height sensors, etc. Furthermore, actuators may include various sensors, feedback loops, dedicated or general-purpose electronic control units (ECUs), such as braking control, powertrain control, steering control, battery management (e.g., in the case of electric vehicles and / or regenerative braking systems used to control the speed of the electric motor), etc. In addition, vehicle 102 may also have at least one of the following functions: a) sharing data with other vehicles 102 and / or service computing devices 108; b) receiving data from other vehicles and / or service computing devices 108; and / or c) controlling the movement or function of the vehicle through braking, powertrain operation, steering, etc.
[0026] One or more networks 106 provide a data transmission layer enabling data communication between vehicle 102 and service computing device 108, which can provide a data analytics platform. The one or more networks 106 may include any suitable network, including wireless networks such as cellular networks; wide area networks such as the Internet; local area networks such as intranets; local wireless networks such as Wi-Fi; short-range wireless communications such as BLUETOOTH® or DSRC (Dedicated Short Range Communication); wired networks including fiber optics and Ethernet; any combination of the above; or any other suitable communication network. For example, typically vehicle 102 can access one or more networks via a nearby signal tower 112, but embodiments herein are not limited to any particular communication technology. Furthermore, the components used for such communication technologies depend at least in part on the type of network, the environment in which vehicle 102 is located, or both. Protocols for communication over such networks are well known and will not be discussed in detail here.
[0027] In the example shown, the service computing device 108 provides or has access to a data analytics platform that can receive data from various sources and provide data to various connected vehicles 102. The data analytics platform receives sensor data from the various vehicles 102, processes the data to obtain crosswind information and other relevant information about the road or surrounding environment of each vehicle 102, stores the collected and processed data in different databases, and generates control signals, control information, and / or warning messages for vehicles 102 that have encountered crosswinds or may encounter crosswinds in the near future.
[0028] Furthermore, vehicles and other objects near the target vehicle 102 may affect the impact of crosswinds on the target vehicle 102, which could lead to differences in the impact of crosswinds on specific vehicles. For example, in Figure 1In the example, vehicle 102(a) is shielded from the crosswind 110 by vehicle 102(c), and therefore will be less affected by the crosswind 110 compared to the unshielded vehicle 102(b). Similarly, vehicle 102(d) may initially be shielded by vehicle 102(e), but when vehicle 102(d) passes over vehicle 102(e), the front of vehicle 102(d) is directly exposed to the crosswind 110, thus affecting vehicle 102(d) more significantly.
[0029] For example, crosswinds can create an asymmetrical airflow field around vehicle 102 and generate lateral forces and yaw moments on it. These effects can cause the car to veer off course and potentially lead to an accident. Therefore, automakers must consider crosswind sensitivity. Crosswind-induced stability issues are most pronounced on highways, interstates, driveways, bridges, and other areas where speeds are high and windy conditions are frequent. According to some surveys, approximately 37,000 road accidents have occurred in the past decade, classified as weather-related, with strong winds or crosswinds estimated to account for about 5% of these accidents. These types of accidents are more likely to occur, for example, on highways in hilly areas and during monsoon seasons near coastal areas.
[0030] In some cases, government agencies such as the U.S. Department of Transportation (DoT) address this issue by placing crosswind warning signs or wind vanes on roads and bridges to warn drivers of areas frequently experiencing crosswinds. However, these signs or wind vanes may be in low visibility conditions at night or in adverse weather, so drivers may not be aware of their presence or may not notice them.
[0031] exist Figure 1 In the example, onboard sensors can collect various types of data during vehicle 102 operation. Examples of collected sensor data might include GPS positioning, IMU measurements, camera data, LiDAR data, radar data, suspension sensor data, vehicle speed and heading data, etc. Before one or more service computing devices 108 send the vehicle sensor data 114 to the data analysis platform, a timestamp based on the time determined from a satellite positioning system (e.g., GPS) is added to the data message.
[0032] Some examples in this paper include time synchronization features, calculating the data transmission latency (e.g., flight delay) between each vehicle 102 and the serving computing device 108, which may differ at different locations, for different Internet and / or cellular operators, for different vehicles, at different times of day, on different dates of year, and so on. In traditional systems, timestamps are typically generated based on the local CPU clock, which can sometimes be a source of error because the local CPU clock may drift over time. Therefore, to generate more accurate control information to provide specific vehicle control information executed at a specific time, the examples in this paper can use timestamps referencing the GPS clock to calculate the data transmission latency between the vehicle and the data analytics platform.
[0033] After vehicle 102 generates vehicle sensor data and appends a GPS clock-based timestamp to the data, vehicle sensor data 114 is sent to a data analysis platform for further processing. For example, once vehicle sensor data 114 is received, a second GPS clock-based timestamp can also be associated with the received vehicle sensor data. The difference between these two timestamps can be used to calculate the data transmission delay of vehicle 102 at that location and at this time of day, and various other factors, such as vehicle speed, cellular carrier, communication protocol, etc., can also be taken into account, as discussed separately below. Delay information can be added to a delay information database 116.
[0034] Furthermore, vehicle sensor data 114 may include vehicle identifiers (IDs), enabling the system to identify the vehicle from which it receives sensor data and allowing the data analytics platform to send vehicle-specific information back to the vehicle when appropriate, such as control or warning messages when a crosswind is predicted to affect vehicle safety or occupant comfort. For example, when vehicle 102 first begins using system 100, vehicle 102 may provide vehicle information to the data analytics platform, such as the vehicle's brand, model, year of manufacture, whether the vehicle is equipped with AD or ADAS components, the types of sensors on the vehicle, and any other types of vehicle information, such as powertrain information, suspension information, driver / owner information, etc. The data analytics platform may store this vehicle information in a vehicle database 122 associated with the vehicle ID so that it can access the vehicle information when it receives sensor data including the corresponding vehicle ID. Alternatively, in other instances, such as when anonymity is desired for certain vehicles 102, the vehicle may only provide sensor information to the data analytics platform and may only receive generalized crosswind warning information from the data analytics platform, such as based on the vehicle's location.
[0035] The sensor information in vehicle sensor data 114 can be used to calculate wind information, particularly crosswind information (e.g., direction, magnitude), as well as information about the vehicle's surrounding environment and other details, as described below. For example, a crosswind management program 118 executed on one or more service computing devices 108 can perform functions that are helpful to this document. The calculated wind information can be stored in a wind information database 120, which dynamically maintains the wind information. Using the wind information database 120 and the transmission delay information database 116, when a vehicle passes through an area affected by crosswinds, and based on the GPS location and trajectory of a specific vehicle, the crosswind management program 118 can determine and send vehicle control information 124 to instruct the vehicle how to respond to the crosswinds at the location of a specific vehicle 102 (e.g., braking the left wheel with a certain force at a specified time, or for a specified number of seconds, or at a specified location at a specified distance, etc.). Therefore, the vehicle control information 124 can be generated at the service computing device 108 and sent to the specific vehicle 102 via one or more networks 106, for example, based on the vehicle ID and information determined from the vehicle database 122. Meanwhile, vehicle 102 may still be collecting sensor data and sending vehicle sensor data 114 to service computing device 108 for further processing, such as calculating data transmission latency and the effectiveness of control information in compensating for the effects of crosswinds. Therefore, in some cases, service computing device 108 can receive real-time feedback from a specific vehicle and provide real-time or near real-time updates to vehicle control information 124 based on the amount of transmission latency between vehicle 102 and service computing device 108.
[0036] Figure 2 Example hardware and logic configuration 200 of a portion of a system 100 for wind and transmission delay management, according to some embodiments, are shown. (See above regarding...) Figure 1 The system 100 discussed includes at least one vehicle 102 having one or more vehicle computing devices 104 capable of wireless communication via one or more networks 106. For example, the vehicle computing device 104 can communicate with a data analysis platform 202 provided by one or more service computing devices 108 via one or more networks 106.
[0037] Figure 2 The exemplary vehicle 102 includes multiple vehicle sensors and vehicle systems. As described above, the vehicle 102 herein can be a conventional ICE vehicle, a hybrid vehicle, or a pure EV, and can be automated from Level 1 to Level 5. As is known in the art, Level 1 vehicles may not have automation features, while Level 5 vehicles may have fully autonomous driving capabilities, and the ADAS features of Level 2 to Level 4 vehicles vary and are increased.
[0038] In the example shown, vehicle 102 includes multiple sensors and vehicle systems, such as an SPS (Satellite Positioning System, such as GPS) receiver 203, a compass 204, an IMU 205, a suspension sensor 206, a camera 207, and other sensors 208. For example, suspension sensor 206 can indicate changes in the height of the suspension system, such as in the case of a semi-active or active suspension system. For example, if one side of the vehicle is exposed to wind, the suspension system on that side may be raised, while the suspension system on the opposite side may be compressed. This difference in the height of the suspension system on both sides of the vehicle can be measured by suspension sensor 206 and can provide an indication of crosswind strength (assuming that other navigation actions such as turning, braking, etc., are not detected simultaneously). Other sensors 208 may include any of a number of additional sensors, such as lidar, radar, ultrasonic sensors, proximity sensors, etc.
[0039] The vehicle systems illustrated in this example include powertrain system 209, braking system 210, steering system 211, suspension system 212, and other vehicle systems 213. Examples of other vehicle systems 213 may include electrical systems, safety systems, infotainment systems, instrumentation systems, fuel supply and / or battery systems, etc. Furthermore, vehicle sensor data 114 may include information received from or associated with the various vehicle systems 209-213, such as information received from the suspension controller associated with suspension system 212, the steering controller associated with steering system 211, and the vehicle speed controller associated with braking system 210 and / or powertrain 209.
[0040] Each vehicle computing device 104 may include one or more processors 216, one or more computer-readable media 218, one or more communication interfaces (I / F) 220, and one or more vehicle human-machine interfaces (I / F) 222. In some examples, the vehicle computing device 104 may include one or more ECUs (Electronic Control Units) or any other type of computing device. For example, computing device 104 may include one or more ADAS / AD ECUs for controlling at least some of the vehicle systems 209-213, such as performing ADAS and / or AD tasks, such as navigation, braking, steering, acceleration, deceleration, etc. Computing device 104 may also include one or more other ECUs, such as systems 209-213, sensors 203-208, etc., for controlling vehicle 102. "ECU" is a general term for any embedded processing system used to control one or more systems, subsystems, or components in a vehicle. Software, such as vehicle control program 224 and other vehicle programs ( Figure 2(Not shown) can be executed by one or more ECUs and can be stored in a portion of a computer-readable medium 218 associated with the respective ECU (e.g., program ROM, solid-state memory, etc., as described below) to enable the ECU to operate as an embedded system. According to vehicle bus protocols, ECUs on a vehicle can typically communicate with each other via a vehicle bus (such as a CAN bus). However, the embodiments described herein are not limited to this.
[0041] Each ECU or other vehicle computing device 104 may include one or more processors 216, which may include one or more central processing units (CPUs), graphics processing units (GPUs), microprocessors, microcomputers, microcontrollers, system-on-a-chip processors, digital signal processors, state machines, logic circuits, artificial intelligence processing units, and / or any device that manipulates signals according to operating instructions. As an example, processor 216 may include one or more hardware processors and / or logic circuits of any suitable type that are specifically programmed or configured to perform the algorithms and other processes described herein. Processor 216 may be used to retrieve and execute computer-readable instructions stored in a computer-readable medium 218, which programmably enables processor 216 to perform the functions described herein.
[0042] Computer-readable medium 218 may include volatile and non-volatile memory and / or removable and non-removable media implemented in any type of information storage technology, such as computer-readable instructions, data structures, programs, program modules, and other code or data. For example, computer-readable medium 218 may include, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technologies, optical memory, solid-state memory, disk, network-connected memory, cloud storage, or any other medium that can be used to store desired information and is accessible by a computing device. Depending on the configuration of vehicle computing device 104, computer-readable medium 218 may be a tangible, non-transitory medium; however, by reference, non-transitory computer-readable medium excludes media such as energy, carrier signals, electromagnetic waves, and / or the signal itself. In some cases, computer-readable medium 218 may be located in the same location as vehicle computing device 104, while in other instances, a portion of computer-readable medium 218 may be located away from vehicle computing device 104.
[0043] Computer-readable medium 218 may be used to store any number of functional components executable by processor 216. In many embodiments, these functional components include instructions or programs that can be executed by processor 216 and, when executed, specifically program processor 216 to perform operations that contribute to the vehicle computing device 104 herein. Functional components stored in computer-readable medium 218 may include vehicle control program 224, which may include one or more computer programs, applications, executable code, or portions thereof. Furthermore, other programs, not shown, may also be included in computer-readable medium 218 and executed by one or more processors 216.
[0044] Furthermore, computer-readable medium 218 may store data, data structures, machine learning models, and other information used to perform the functions and services described herein. For example, computer-readable medium 218 may store vehicle configuration information 226, including information about vehicle 102 such as powertrain configuration information, suspension information, tire information, and vehicle brand, model, year, configuration level, etc. Additionally, computer-readable medium 218 may at least temporarily store vehicle sensor data 114 received from onboard sensors 203-208.
[0045] Furthermore, although functional components, data, and data structures are shown together in this example, some or all of these elements may be stored in or separately by the computing device 104 during use. The computing device 104 may also include or maintain other functional components and data, which may include programs, drivers, etc., as well as data used or generated by other functional components. In addition, the computing device 104 may include many other logical, program, and physical components, the foregoing of which are merely examples relevant to the discussion herein.
[0046] One or more communication interfaces 220 may include one or more software and hardware components to enable communication with a variety of other devices, such as via one or more networks 106. For example, communication interfaces 220 may be used via local area networks, the Internet, wired networks, cellular networks, wireless networks (such as Wi-Fi) and wired networks (such as CAN, Fibre Channel, fiber optics, Ethernet), direct connections, and short-range communications (such as BLUETOOTH®, vehicle-to-vehicle, etc.), as listed in other sections of this document.
[0047] In some examples, vehicle control program 224 may enable autonomous driving of vehicle 102 and may use rule-based and / or artificial intelligence-based control algorithms, or any combination thereof, to determine vehicle control parameters. For example, vehicle control program 224 may determine appropriate actions, such as braking, steering, acceleration, etc., and may send one or more control signals to one or more vehicle systems 209-213 based on the determined actions. For example, vehicle control program 224 may send control signals to suspension controllers, steering controllers, and / or speed controllers to control or partially control the vehicle in some applications. Furthermore, vehicle control program 224 may receive control information 124 from service computing device 108, which may enable vehicle control program 224 to control vehicle 102 more safely through areas including crosswinds based on crosswind information included in vehicle control information 124.
[0048] The human-machine interface 222 may include any suitable type of input / output device, such as buttons, knobs, joysticks, touchscreens, speakers, microphones, speech recognition and artificial voice technology, and in-vehicle sensors, such as eye-monitoring cameras and vital signs monitors. For example, vehicle occupants may use the human-machine interface 222 to indicate their destination location, for example, through voice commands or touchscreen input. The embodiments described herein are not limited to any particular type of human-machine interface 222.
[0049] The service computing device 108 may include one or more servers or other types of computing devices, which may be manifested in any number of ways. For example, in the case of servers, programs, other functional components, and data may be implemented on a single server, a server cluster, a server farm or data center, a cloud-hosted computing service, etc., although other computer architectures may be used or substituted.
[0050] Furthermore, while these figures illustrate that the functional components and data of the service computing device 108 reside in a single location, these components and data can also be distributed across different computing devices and locations in any desired manner. Therefore, these functionalities can be implemented by one or more service computing devices, and the various functionalities described herein are distributed across different computing devices in different ways. Multiple service computing devices 108 can be located together or separately and organized into virtual servers, server libraries, and / or server farms. Functionality can be provided by servers of a single entity or enterprise, or by servers and / or services of multiple different entities or enterprises.
[0051] In the illustrated example, each service computing device 108 may include one or more processors 230, one or more computer-readable media 232, and one or more communication interfaces 234. Each processor 230 may be a single processing unit or multiple processing units, and may include one or more computing units or multiple processing cores. The processor 230 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units (CPUs), graphics processing units (GPUs), system-on-a-chip processors, state machines, logic circuits, artificial intelligence processing units, and / or any device that manipulates signals according to operating instructions. For example, the processor 230 may be one or more hardware processors and / or any suitable type of logic circuitry specifically programmed or configured to perform the algorithms and processes described herein. The processor 230 may be used to retrieve and execute computer-readable instructions stored in the computer-readable medium 232, and the processor 230 may be programmed to perform the functions described herein.
[0052] Computer-readable medium 232 may include volatile and non-volatile memory and / or removable and non-removable media implemented in any type of information storage technology, such as computer-readable instructions, data structures, program modules, or other data. This computer-readable medium 232 may include, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technologies, optical storage, solid-state storage, magnetic tape, disk storage, storage arrays, network-connected storage, storage area networks, cloud storage, or any other medium that can be used to store required information and is accessible by a computing device. Depending on the configuration of the serving computing device 108, computer-readable medium 232 may be a type of computer-readable storage medium, and / or may be a tangible, non-transitory medium; however, as mentioned herein, non-transitory computer-readable media exclude media such as energy, carrier signals, electromagnetic waves, and the signal itself.
[0053] Computer-readable medium 232 may be used to store any number of functional components executable by processor 230. In many embodiments, these functional components include instructions or programs that can be executed by processor 230 and, when executed, specifically configure one or more processors 230 to perform the operations described above attributable to service computing device 108. For example, the functional components may collectively provide a data analysis platform 236 that provides functionality that aids service computing device 108. The functional components stored in computer-readable medium 232 may include a crosswind management program 118 executable to configure service computing device 108 to receive vehicle sensor data 114, as well as additional source data 238 that can be used to calculate crosswind information for each vehicle 102, and further determine corresponding vehicle control information 124 for each vehicle.
[0054] Furthermore, computer-readable medium 232 can store or access data used to perform the operations described herein. Additionally, in some examples, the data can be stored in any suitable type of data structure, such as in one or more databases 240. Examples of databases 240 may include a transmission delay information database 116, a wind information database 120, and a vehicle database 122. For example, wind information database 120 may include crosswind information dynamically determined for a specific geographic location. Furthermore, transmission delay information database 116 may include information about possible transmission delays in communication between the service computing device 108 and a specific vehicle at a specific location. Furthermore, vehicle data database 262 may include information about each vehicle using system 100, including vehicle ID information for communicating with a specific vehicle 102, as well as sensor configuration information, vehicle configuration information, past destinations of the vehicle or its occupants, and information about the vehicle's owner or other occupants, such as occupant profiles including occupant information and preferences, etc.
[0055] In addition, the service computing device 108 may also include or maintain Figure 2 Other functional components, data, and data structures not specifically shown herein may include programs, drivers, and data used or generated by functional components. Furthermore, the service computing device 108 may include many other logical, programming, and physical components, the examples of which are merely relevant to the discussion herein.
[0056] Communication interface 234 may include one or more interfaces and hardware components to enable communication with various other devices, such as those via network 106. For example, communication interface 234 may communicate via one or more implementations of the Internet, wired networks, cellular networks, wireless networks (such as Wi-Fi), and wired networks (such as fiber optics and Ethernet), as well as short-range communications such as BLUETOOTH®, BLUETOOTH® Low Energy, DSRC, etc., as illustrated elsewhere in this document.
[0057] In addition, service computing device 108, and vehicle computing device 104, may communicate with one or more information source computing devices, such as web servers, service provider computing devices, public databases, private databases, etc., via one or more networks 106. The information source computing devices shown in this example include one or more map provider computing devices 264, which can provide map data 266 to service computing device 108 and / or vehicle computing device 104. Furthermore, one or more weather computing devices 268 can provide meteorological information 270 regarding the current weather conditions at different locations of a specific vehicle. Additionally, one or more government computing devices 272 can provide weather conditions and other government data 274, such as road information, motor vehicle information, national transportation information, ongoing construction information, locations where crosswinds have caused accidents in the past, etc. Information source computing devices 264, 268, and 272 can provide other source data 278, such as regularly updated publicly available wind data, and map data that can be used to determine location, such as data based on longitude and latitude information. Information source computing devices 264, 268, and 272 may include hardware and software configurations similar to those of the service computing device 108 described above, but have different functional components and data stored thereon or associated with it. Furthermore, while several types of information source computing devices have been described herein, many other types of information source computing devices can provide information to service computing device 108 and / or vehicle computing device 104. For example, information source computing devices can provide local condition data to service computing device 108 to indicate the current condition of a specified road segment, such as weather conditions, traffic, road closures, special events, etc.
[0058] To realize the benefits of connected vehicle technology for partially / fully autonomous vehicles, the connected data analytics platform 202 can receive various types of data from diverse sources, such as vehicle 102 discussed above, government computing devices 272, weather computing devices 268, and map provider computing devices 264. The data analytics platform 202 processes the received data at least partially to determine crosswind information for a specific vehicle 102 and corresponding vehicle control information 124 based on the crosswind information. The techniques for determining crosswind information and the corresponding control information, including suitable algorithms, are also discussed below.
[0059] Vehicle computing device 104 can receive vehicle control information 124 from service computing device 108 and can use the received vehicle control information 124 to control the vehicle when encountering crosswinds. Furthermore, the vehicle computing device can detect crosswinds independently of data analysis platform 202 by using onboard suspension sensors and other onboard sensors. For example, vehicle computing device 104 can receive vehicle control information indicating that a crosswind exists or will be encountered in the near future, and when vehicle sensors confirm that a crosswind is impacting the vehicle, vehicle control program 224 can apply the received vehicle control information 124 to control the vehicle during a crosswind event. For example, if the crosswind is coming from the left side of the vehicle, the vehicle control program can apply braking to the left side of the vehicle to compensate for the crosswind's effect. On the other hand, if the wind is coming from the front of the vehicle, i.e., headwind, then to maintain vehicle speed, the vehicle's powertrain can be used to compensate for the headwind / crosswind currently encountered by the vehicle to maintain vehicle speed.
[0060] Another example is that if the wind is blowing towards the rear of the vehicle, the vehicle's engine powertrain can be controlled to compensate for the tailwind, or, in the case of an EV, regenerative braking can be applied to simultaneously charge the vehicle's battery. Furthermore, since not all vehicles are equipped with the sensor systems and actuators shown in this example, such as in Class I and Class II vehicles, the data analytics platform 202 can generate warning messages tailored to the vehicle's specific configuration. For example, if the vehicle only has a partial sensing system instead of sending vehicle control information 124 to the vehicle, the data analytics platform can send crosswind warning information 250 to the vehicle operator, including control instructions indicating that a crosswind will be encountered on the left side of the vehicle in the next mile, and suggesting a reduction in vehicle speed, etc. For example, warning information 250 can be presented on the vehicle's human-machine interface 222, or, alternatively, on the operator's smartphone or other personal computing device, such as through an application running on the personal computing device.
[0061] In some examples herein, vehicle computing device 104 may provide service computing device 108 with source and destination information for a trip. For example, vehicle control program 224 or other suitable program may be executed by vehicle computing device 104 to send the source and destination locations of the desired trip to service computing device 108. Alternatively, in other examples, vehicle computing device 104 may simply provide service computing device 108 with current location information and may request routing from service computing device 108. In response, service computing device 108 may predict the destination location, for example, based on the current time, current location, and analysis of past trips made by vehicle 102. As another example, service computing device 108 may send communications to allow human-machine interface 222 to query the destination location of vehicle occupants. In any case, the data analytics platform may provide crosswind management information to the vehicle as it travels, which may include vehicle control information 124 and / or crosswind warning information 250. For example, if the vehicle cannot accommodate the vehicle control information 124, a crosswind warning message may be presented to the driver of the vehicle on a vehicle display provided by the human-machine interface 222 or on a personal computer device (such as a smartphone or tablet) to execute an application configured to receive communications from the data analysis platform 202.
[0062] Figure 3 , 6 Sections -9 and 11 include flowcharts illustrating example processes according to some implementations. These processes are represented by sets of blocks in a logic flowchart, which represent a series of operations, some or all of which may be implemented in hardware, software, or a combination thereof. In the context of software, a block may represent computer-executable instructions stored on one or more computer-readable media, which, when executed by one or more processors, program the processor to perform the written operations. Typically, computer-executable instructions include routines, programs, objects, components, data structures, etc., that execute specific functions or implement specific data types. The order in which the blocks are described should not be construed as limiting. Any number of blocks described may be combined in any order and / or in parallel to implement a process, or to replace a process, and not all blocks need to be executed. For purposes of discussion, these processes are described with reference to the environments, systems, and devices described in the examples herein, although these processes may be implemented in a variety of other environments, systems, and devices.
[0063] Figure 3 This is a flowchart illustrating an example process 300 for updating a crosswind database and a transmission delay database according to some embodiments. In some examples, process 300 may be executed by the system 100 described above. For example, process 300 may be executed at least in part by a service computing device 108 that executes the crosswind management program 118. Alternatively, process 300 may be executed in part by a vehicle computing device 104.
[0064] Crosswinds can be highly dynamic weather events with rapidly changing amplitude and / or direction. Therefore, maintaining a crosswind database with accurate wind speed, direction, location, and time information is useful for preventing accidents caused by sudden vehicle drift. Process 300 describes the techniques for receiving vehicle sensor data and updating the wind information database and transmission delay database, as described above. Figure 1 and Figure 2 As stated above.
[0065] At point 302, the vehicle can share its vehicle sensor data in at least one electronic message, which is sent to a data analytics platform provided by a service computing device, as described above. Figure 1 and Figure 2 The subject of discussion.
[0066] At 304, the vehicle sends vehicle sensor data to the serving computing device. Vehicle sensor data may include vehicle heading information, surrounding environment information (e.g., determined by lidar, radar, cameras, etc.), route information, IMU data and suspension sensor data (e.g., used to determine the vehicle's roll / pitch / yaw angles), GPS data, and a GPS clock-based timestamp. Additionally, in some examples, if the data analytics platform does not yet retain vehicle configuration information in the vehicle database, the vehicle may also share vehicle configuration information with the serving computing device. Depending on the size of the vehicle sensor data and / or the frequency of sending the vehicle sensor data to the data analytics platform, different data transmission protocols can be used to transmit vehicle sensor data from the vehicle to the serving computing device. Examples of protocols that can be used include Message Queuing Telemetry Transport (MQTT), Kafka, HTTPS, TCP / IP, etc. At 306, the serving computing device receives the vehicle sensor data sent by the vehicle.
[0067] At point 308, the service computing device associates the second timestamp with the received vehicle sensor data.
[0068] At point 310, the service computing device provides the received sensor data to the crosswind calculation algorithm. Further details of the crosswind calculation algorithm will be discussed below; for example, see [link to relevant documentation]. Figure 6 .
[0069] At point 312, the service computing device also provides at least a first timestamp and a second timestamp, as well as the vehicle location and vehicle ID, to the transmission delay algorithm. Based on the difference between the two timestamps, the data transmission delay of the vehicle at its current location and using the current network connection is calculated.
[0070] At location 314, the service computing device updates the transmission delay database using the calculated transmission delay information, vehicle location information, and other vehicle information. Figure 4 This shows a sample data structure for a portion of the transmission delay database.
[0071] At location 316, the service computing device receives or otherwise accesses public wind information for use by the crosswind calculation algorithm.
[0072] At location 318, the service computing device applies a crosswind calculation algorithm to determine wind speed, wind direction, wind location, and relevant time. Furthermore, the crosswind calculation algorithm can also use received vehicle sensor data to determine information related to the vehicle's surrounding environment.
[0073] At location 320, the service computing device accesses the crosswind information database to obtain prior wind information for the corresponding GPS location, as well as errors in related time, wind speed, wind direction, and common wind information.
[0074] At location 322, the service computing device performs a wind information comparison and selection algorithm based on the public wind information received at location 316, the wind information determined at location 318, and the wind information in the wind map database maintained at location 320. For example, public wind information can be used to ensure that the calculated wind information determined based on sensor data is not anomaly or outlier. This wind measurement difference ( Figure 5 The "public wind information error" in the data structure can be stored in a wind information database. For example, public wind data can be obtained from online wind maps based on GPS locations associated with vehicle sensor data. This data is primarily based on simulations and is typically updated periodically based on actual wind measurements from the government or other available wind measurements from wind measurement equipment. Wind information measurements from government sources can be updated relatively slowly, for example, hourly, and can be extrapolated or simulated to other geographic areas. Therefore, actual measurements at different locations are scarce, and the calculation method for public measurement data may not be entirely transparent (e.g., based on average wind speeds at a past time or the current time). However, wind data simulated based on online databases can be used as a reference for comparison with wind information calculated from vehicle sensor data.
[0075] At point 324, the computing device determines whether the wind information received at point 318 is new information or an error less than a threshold. If the newly determined wind information differs from the wind information in the public database by less than the threshold, the process proceeds to point 326. Otherwise, it proceeds to point 328.
[0076] In step 326, when the difference between the calculated wind information and the public wind information is less than a threshold, the crosswind information database is updated using the new wind information.
[0077] On the other hand, at point 328, when the difference between the newly calculated wind information and the public wind information exceeds a threshold, the newly calculated wind information is discarded.
[0078] Figure 4 An example data structure 400, including information in a transmission delay database according to some embodiments, is shown. In this example, data structure 400 includes latitude 402, longitude 404, protocol 406, data size 408, vehicle ID 410, cellular type 412, vehicle speed 414, timestamp 416, and average delay 418. For example, latitude 402 and longitude 404 indicate the location where sensor data is collected and / or transmitted. Protocol 406 indicates the communication protocol used by the vehicle computing device to transmit vehicle sensor data to the serving computing device. Data size 408 indicates the size of the vehicle sensor data transmitted to the serving computing device. Vehicle ID 410 identifies the vehicle transmitting the vehicle sensor data. Cellular type 412 indicates the cellular technology used by the vehicle computing device to transmit vehicle sensor data to the serving computing device. Vehicle speed 414 indicates the speed at which the vehicle is traveling when the vehicle sensor data is collected. Timestamp 416 indicates a GPS clock timestamp received along with the vehicle sensor data. As mentioned above, latency refers to the delay, measured in milliseconds, between the timestamp 416 received along with the vehicle sensor data and the timestamp corresponding to when the serving computing device receives the vehicle sensor data. Therefore, the average latency 418 is derived from the average of multiple latency values determined for that location. These latency values are calculated from multiple transmissions received by multiple vehicles passing through that location, and these vehicles may use the same data transmission protocol, have similar data volumes, the same cellular type, and similar travel speeds at that location.
[0079] Figure 5 An example data structure 500 of information included in a wind map database according to some embodiments is shown. In this example, data structure 500 includes latitude 502, longitude 504, wind speed 506, wind direction 508, vehicle ID 510, vehicle heading 512, vehicle speed 514, lane number 516, timestamp 518, and analog error 520. For example, latitude 502 and longitude 504 indicate the location where sensor data is collected and / or transmitted. Wind speed 506 represents the wind speed measured by the vehicle when vehicle sensor data is collected. Wind direction 508 indicates the direction in which the vehicle detects the wind. Vehicle ID 510 identifies the vehicle transmitting vehicle sensor data. Vehicle heading 512 indicates the direction the vehicle is traveling, such as a direction that can be determined based on compass, IMU, and / or GPS data. Vehicle speed 514 indicates the speed at which the vehicle is traveling when vehicle sensor data is collected. Lane number 516 indicates the lane the vehicle is traveling in when vehicle sensor data is collected. Timestamp 518 displays the timestamp and vehicle sensor data received from the vehicle.
[0080] The simulation error of 520 indicates the difference between the measured wind data and publicly available wind data received from external sources, such as government websites, weather websites, or other websites that provide regular wind information updates for different geographical locations. For example, as mentioned above, wind data based primarily on simulated online wind maps can be obtained based on GPS positioning associated with received vehicle sensor data. For instance, information can only be updated regularly with actual wind data hourly, and the measured locations are scarce compared to the vehicle's position. However, in cases where actual wind measurement data is unavailable in the wind information database presented herein, the embodiments described herein can use wind data from websites as a reference.
[0081] Figure 6 This is a flowchart illustrating an example process 600 for determining crosswind information and vehicle surroundings information according to some implementations. In some examples, process 600 may be performed by the system 100 discussed above. For example, to determine wind information and the vehicle surroundings environment, data from vehicle 102 and the information above regarding... Figure 1 and Figure 2 Other data sources discussed 278 are used to determine wind direction, wind speed, vehicle lane information, vehicle surroundings, etc.
[0082] In some cases, process 600 may be performed by the service computing device 108 that executes the crosswind management program 118. For example, vehicle data and other source data may be sent to a data analysis platform for processing by the service computing device 108. In this case, the vehicle should have sufficient transmission bandwidth to send sensor data to the service computing device 108. Alternatively, in some examples, process 600 may be performed by the vehicle control program 224 or other programs executed on one or more vehicle computing devices 104 of a particular vehicle 102. For example, using an onboard ECU to process sensor data can significantly reduce the size of the transmitted data and the time required to transmit data to the cloud. However, high-speed data processing may require a powerful ECU, which will consume more energy and increase the cost of the vehicle. In other instances, process 600 may be performed partly by the service computing device 108, partly by the vehicle computing device 104, or by other computing devices. For example, in a hybrid approach, the vehicle computing device 104 may partially process some data (e.g., camera data) and then send the pre-processed data to the service computing device 108 for further processing. For example, the vehicle computing device may compress and / or reduce the resolution of at least one of camera data, lidar data, or radar data sent to the service computing device 108 to reduce the size of sensor data transmitted through one or more networks 106.
[0083] The examples in this paper can determine the surrounding environment of a target vehicle, such as other vehicles around the target vehicle, the lane number the target vehicle is traveling in, and buildings or road obstacles, tunnels, geographical features, trees, etc. Vehicle sensor data, such as camera data and / or LiDAR data, radar data, etc., can be used for machine learning algorithms (e.g., YOLO model - You Only Look Once real-time object detection) or other conventional data processing algorithms to identify objects such as lane markings, buildings, obstacles, and other vehicles. Furthermore, based on the current GPS location of the vehicle, the relative or absolute positions of the target vehicle and identified objects can be estimated and added to the final detection result.
[0084] For wind information determination based on vehicle sensing data, suspension height sensor information and / or IMU information can be used to measure vehicle body motion to determine the current values of the vehicle's roll angle, pitch angle, and yaw angle (in Figure 6 This is referred to as M1 in China. To eliminate the influence of environmental factors and vehicle motion, other data can be used when determining the vehicle's crosswind, pitch, and yaw angles. For example, road elevation data (in [the relevant data]) can be used to calculate road gradients and thus determine the vehicle's pitch angle. Figure 6 (Referred to as M2 in Chinese). Furthermore, steering wheel angle and vehicle speed can be used to calculate the vehicle's yaw and roll angles, such as during cornering. Vehicle acceleration and deceleration data can be used to calculate the vehicle's yaw angle (in...). Figure 6 (Referring to M3 in Chinese). Therefore, the vehicle's net roll angle, pitch angle, and yaw angle can be calculated using the following formulas:
[0085]
[0086] Net motion This refers to the net motion of the vehicle's roll, pitch, and yaw angles. Furthermore, by considering vehicle information such as surface area, weight, and center of gravity, the wind amplitude and direction can be calculated using the following equations:
[0087]
[0088] Where F is the wind load or force in Newtons, ρ is the air density (1.2 kg / m³), and v is the wind speed (m / s). Through experimental testing, the relationship between F and the vehicle's roll, pitch, and yaw angles can be obtained from a lookup table. Equations (1) and (2) can be used to calculate the crosswind direction and amplitude affecting the vehicle. The final detection result is a combination of wind direction, wind amplitude, surrounding vehicles and their relative positions, and other surrounding objects and their relative positions (such as buildings, obstacles, etc.).
[0089] exist Figure 6 In the example shown, it is assumed that vehicle sensor data is sent to service computing device 108 for processing.
[0090] At 602, the computing device can receive sensor information, such as suspension height sensor information, IMU information, camera data, radar data, lidar data, GPS positioning, etc., as discussed in other parts of this document.
[0091] At point 604, the computing device can also receive other data, such as road elevation, road gradient, and speed limits. This information can be determined based on map data and / or other data, such as vehicle sensor data.
[0092] At point 606, the computing device can also receive vehicle sensor data, including steering wheel position, braking information, acceleration information, and current vehicle speed.
[0093] At 608, the computing device can preprocess camera data, lidar data, radar data, and other data that may be used for object recognition.
[0094] At point 610, the computing device can perform object recognition on the received vehicle sensor data, such as identifying lane markings, vehicles around the target vehicle, buildings near the target vehicle, and geographical features within the target vehicle. As mentioned above, in some examples, the YOLO model or other recognition models or algorithms can be used to perform object recognition.
[0095] At point 612, the computing device can determine lane information, the positions of surrounding vehicles, and surrounding buildings and other geographical features based on the recognition results. At point 614, the computing device can provide the detection results as part of the output of process 600 for further processing.
[0096] At 616, the computing device can access suspension system height sensor and / or IMU data.
[0097] At point 618, the computing device can determine the first values M1 of the vehicle's roll angle, pitch angle, and yaw angle from the received suspension system sensor data and / or IMU data.
[0098] At point 620, the computing device can use altitude information, road gradient information, speed limits, etc., to determine the vehicle roll angle, pitch angle, and yaw angle caused by the road on which the target vehicle is traveling as the second value M2.
[0099] At 622, the computing device can use the steering wheel position indicator, brake indicator, acceleration indicator and current vehicle speed to determine the third value M3 of the vehicle roll angle, pitch angle and yaw angle caused by vehicle movement.
[0100] At 624, the computing device can determine the difference based on subtracting M2 and M3 from the first value M1.
[0101] At 626, the computing device can determine the net motion of the vehicle based on the difference determined at 624, as discussed above with respect to formula (1).
[0102] At point 628, the computing device can obtain physical information about the vehicle, such as its surface area, weight, and center of gravity.
[0103] At 630, the computing device can calculate the wind direction and amplitude according to the above formula (2).
[0104] At point 632, the computing device can determine the wind direction and wind speed based on the relationship between the wind force F in equation (2) and the vehicle roll angle, pitch angle, and yaw angle determined by equation (1). The determined results are included in the detection results at point 614 as part of the output of process 600.
[0105] Figure 7 This is a flowchart illustrating an example process 700 for updating a wind information database according to some implementations. In some examples, process 700 may be executed by the system 100 described above. For example, process 700 may be executed by a service computing device 108 that executes the crosswind management procedure 118.
[0106] When calculating wind information based on vehicle sensor data, as mentioned above... Figure 6 The wind information database 120 discussed can use the output of process 600 and, according to... Figure 7 The process 700 is updated. In the wind information database 120, when wind information is calculated and the relevant GPS location exceeds a certain distance threshold of the current GPS point, this information is considered to be applied to a new GPS point. Therefore, based on GPS positioning of the new data, common wind information (e.g., based on simulation) is obtained. If the difference between the detected wind information and the wind information from the common wind simulation data is less than a threshold difference (…), the wind information is considered to be updated. Figure 7 The “Simu_threshold” parameter will then add the measurement data, along with other information, to the wind information database 120, as discussed above. Figure 5 The data structure 500 is shown. The purpose of this step is to minimize the measurement error on the vehicle side, which may be caused by other events, such as when a wheel travels over a small rock on the road, causing a change in the vehicle's roll or pitch angle. For example, if the difference is greater than a threshold difference, the data will be discarded. Furthermore, if the detection result determined based on vehicle sensor data is not new in the wind information database 120 (e.g., the GPS point of the new data is within a distance threshold of another GPS point already in the database 120), the timestamp of the data can be compared with the timestamp of data already existing in the wind information database 120.
[0107] If the time difference is less than a time threshold, the detection results can be further checked for lane information. If no lane information is found, the detected wind information can be compared with existing wind data at the same location, and if the difference is less than a wind threshold ( Figure 7 If the difference between the two wind data points is greater than the wind threshold W_threshold, the detected wind information can be compared with publicly available simulated wind information based on GPS positioning. If the difference between the calculated wind information and the publicly available wind information is greater than the threshold Simu_threshold, the calculated wind information is discarded. Otherwise, the calculated wind information replaces the current wind information in the wind information database 120.
[0108] At point 702, for the first vehicle, the service computing device can receive... Figure 6 The process outputs 600, including wind information, GPS information, lane information, and time information. The service computing device can process vehicle information for each vehicle individually, for example, from vehicle number 1 to vehicle number x.
[0109] At 704, the service computing device can also receive public wind information, which can typically be used to simulate wind information based on sparse data points collected over a longer period of time, such as per hour or similar time intervals.
[0110] At point 706, the service computing device can determine whether the received information is applicable to the new GPS point. For example, if the calculated wind information is more than a certain distance threshold from the current GPS point in the wind information database, then the information is considered applicable to the new GPS point. If so, the process proceeds to point 708. If not, the process proceeds to point 716.
[0111] At point 708, the service computing device can compare the wind information of a new GPS point with public wind information received from one or more online sources for similar GPS points to determine the wind difference.
[0112] At point 710, the service computing device can determine whether the wind difference value determined at point 708 is less than Simu_threshold (the public wind information difference threshold). If it is less, the process proceeds to point 712. If it exceeds, the process proceeds to point 714.
[0113] At 712, the service computing device updates the wind information database 120 using the calculated wind information and other information received at 702.
[0114] At 714, the service computing device can discard data received at 702 because the data may be inaccurate.
[0115] At point 716, when the GPS information indicates a location that is not within a threshold distance of at least one other entry already existing in the wind information database 120, the service computing device can determine whether the time difference between the received data and the data already existing in the database is less than the time threshold T_threshold. If not, the data is discarded at point 714. If so, the process proceeds to point 718.
[0116] At point 718, the service computing device can determine whether the received data includes lane information. If so, the process proceeds to point 720. If not, it proceeds to point 724.
[0117] At 720, the service computing device can determine whether the target vehicle is surrounded by one or more other vehicles, obstacles, buildings, geographical features, etc. If so, the process proceeds to 714 to discard the data. If not, it proceeds to 722.
[0118] At point 722, the data received at point 702 was added to the wind information database 120.
[0119] At point 724, when no existing lane information is available in the received data, the service computing device can compare the received wind data with existing wind data in a database entry with similar GPS locations.
[0120] At point 726, if the difference in wind information is less than the wind threshold W_threshold, the process proceeds to point 728. Otherwise, it proceeds to point 732.
[0121] At point 728, when the wind difference between the existing entry and the new data is less than the threshold W_threshold, the service computing device will average the received wind data with the wind data of the existing entry.
[0122] At 730, the service computing device adds average wind data to update existing entries in the wind information database 120.
[0123] At point 732, when the wind difference value is not less than the wind threshold W_threshold, the service computing device determines whether the wind difference value is less than the public wind information threshold Simu_threshold. If so, the process proceeds to point 734. If not, it proceeds to point 736.
[0124] At point 734, when the wind difference is less than the common wind threshold, the data received at point 702 is added to the wind information database 120.
[0125] On the other hand, at point 736, when the wind difference is not less than the common wind threshold, the data received at point 702 is discarded.
[0126] Figure 8 This is a flowchart illustrating an example process 800 for generating vehicle control information according to some implementations. In some examples, process 800 may be executed by the system 100 described above. For example, process 800 may be executed by a service computing device 108 that executes a crosswind management procedure 118. As described above, vehicle sensor data and other source data can be used to construct a wind information database and a transmission delay database. These two databases can be used to generate vehicle control information to improve the driving safety and comfort of a target vehicle when passing through a windy area. As described above, the vehicle may send various sensor data to the data analysis platform, which may include vehicle route information. Once the data analysis platform receives vehicle information including vehicle sensor data and vehicle route information, a second timestamp is associated with the received data, and the second timestamp is used to calculate the data transmission delay as described above. Furthermore, based on the route information, the crosswind management procedure 118 can calculate the vehicle trajectory waypoints (e.g., GPS points) that the vehicle is expected to pass through in the next T minutes, as well as the vehicle speed, heading, and vehicle GPS position. Based on the GPS waypoints on the predicted trajectory, a local map can be constructed, which may include wind information and traffic information for each waypoint. Based on this local map, specific vehicle control information is generated to improve the vehicle's motion, dynamics, driving safety, and / or comfort at each waypoint. The following section combines... Figure 9 and Figure 11 Further details on building local maps and generating vehicle control information are discussed.
[0127] At point 802, the vehicle computing device can prepare a message to send to the data analysis platform on the service computing device 108.
[0128] At point 804, the vehicle's computing device sends a message including the vehicle's heading, surroundings, route information, roll angle, pitch angle, yaw angle information, vehicle ID, GPS information, and the first GPS timestamp.
[0129] At point 806, the service computing device can receive data from the vehicle and associate a second timestamp with the received data to determine the transmission delay.
[0130] At point 808, the service computing device can use the received data to predict the target vehicle's trajectory over the next T minutes.
[0131] At point 810, the service computing device can predict vehicle speed, heading, and position for the next T minutes in part based on vehicle trajectory prediction.
[0132] At point 812, the service computing device can determine local map information, including traffic and wind information for the local map. For example, as shown at point 814, the service computing device can perform wind information queries and estimations by obtaining information from wind information database 120, public wind information 316, and other vehicle locations and routes 816. Further details regarding local map generation will be discussed below, for example, see [link to relevant documentation]. Figure 9 .
[0133] At point 818, the service computing device can determine the transmission delay from the transmission delay database 116 and can determine the vehicle control information of the target vehicle, such as engine or battery output power, one or more wheels to be braked, force at a specific time, etc. Further details on determining the vehicle control information are discussed below; for example, see [link to relevant documentation]. Figure 11 .
[0134] Figure 9 The document includes a flowchart illustrating an example process 900 and corresponding path points according to some implementations. In some examples, process 900 may be executed by the system 100 described above. For example, process 900 may be executed by a service computing device 108 that executes the crosswind management program 118.
[0135] In some examples, a local map is constructed for each trajectory waypoint in order to generate vehicle control information. In this example, a local map containing multiple waypoints is constructed, where wind and traffic information are calculated for each waypoint. Figure 9 The left side shows a traffic map 902, including a first vehicle 102(1) for which control information will be generated, as well as a second vehicle 102(2) and a third vehicle 102(3), which are other vehicles traveling at a certain speed near the first vehicle 102(1). For example, if the second and third vehicles communicate with the data analysis platform, the data analysis platform can directly determine the speed and position of the second and third vehicles, or the data analysis platform can estimate the speed and position of the second and third vehicles based on vehicle sensor data received from the first vehicle 102(1).
[0136] In this example, the rectangular black dot represents the predicted trajectory path point 904 of the first vehicle 102(1) over the next T minutes. The white circle represents the wind data point 906 determined based on the wind information database of the first vehicle 102(1). To generate wind and traffic information for the next path point 904, the GPS location of the path point can be used to query the wind information database. If the path point is within the threshold radius of the current data point in the wind information database and the time difference is less than the time threshold, the corresponding wind data from the wind information database is assigned to the corresponding path point 904 as wind data point 906. Otherwise, the wind information for wind data point 906 is obtained from an online wind map, such as from public simulated wind data, and then the estimation error is subtracted from the wind information of the same area available in the wind database, for example, as mentioned above. Figure 5 The simulation error discussed is 520. Furthermore, if vehicles 102(2) and 102(3) are connected to the data analysis platform, the information of vehicles in adjacent lanes, such as vehicles 102(2) and 102(3), can also be determined directly by the data analysis platform, or based on the detection results of the onboard sensors of the first vehicle. In either case, the predicted positions and speeds of the second and third vehicles when the first vehicle 102(1) reaches the next waypoint can be calculated and then added to the waypoint. If the second vehicle 102(2) and the third vehicle 102(3) communicate with the service computing device 108, the waypoints and wind data points of these vehicles can also be determined. Figure 10 Additionally, an example data structure is provided, which contains the vehicle trajectory and map information for the corresponding vehicle.
[0137] At point 910, the service computing device can determine the GPS waypoints of the first vehicle over the next T minutes based on the predicted trajectory of the first vehicle.
[0138] At point 912, the service computing device can access the wind information database based on the GPS waypoints determined for the first vehicle.
[0139] At point 914, the service computing device can determine the estimation error of the location in the wind information database near the GPS waypoint.
[0140] At point 916, the service computing device can identify wind information for a wind data point that is within a threshold radius of the corresponding path point determined for the first vehicle.
[0141] At point 918, if there are no wind data points within the threshold radius of the GPS waypoint, the service computing device can access public wind information, such as by querying an online wind map to obtain the wind information for that GPS waypoint, which has no matching data in the wind information database.
[0142] At point 920, the service computing device can subtract the estimation error from the public wind information obtained at point 918. As mentioned above, the estimation error has already been calculated at points 520 and 918. Figure 5 The data structure is determined.
[0143] At point 922, if wind information exists in the wind information database within the threshold radius of the evaluated waypoint, the service computing device can determine whether the timestamp associated with the wind information database is within the threshold time period of the timestamp associated with the GPS waypoint. If so, the process proceeds to point 924. If not, the process proceeds to point 918 to use public wind information.
[0144] At point 924, the service computing device can assign wind information to waypoints. This could be wind information from a wind information database when a time threshold is met, or public wind information from an online database when the requirement to use wind information from the wind information database is not met.
[0145] At point 926, the service computing device can determine whether there is a vehicle in the lane adjacent to the first vehicle. As mentioned above, this can be determined based on information received directly from adjacent vehicles, or based on camera data, radar data, lidar data, etc., received from the first vehicle.
[0146] At point 928, the service computing device can determine the low-level voice commands (dictations) and speeds of nearby vehicles in the next T minutes.
[0147] At point 930, the service computing device can assign traffic information to waypoints. For example, based on the vehicle positions and speeds determined in point 928, the service computing device determines the traffic information for each waypoint. As an example, the computing device can determine whether a vehicle is adjacent to a first vehicle, for example, at a location that may at least partially block the wind that the first vehicle might encounter.
[0148] At location 932, the service computing device can generate a local map, including waypoints with wind information and traffic information associated with each waypoint.
[0149] Figure 10An example data structure 1000 for maintaining vehicle trajectory information, according to some embodiments, is shown. In this example, data structure 1000 includes vehicle ID 1002, lane 1004, latitude 1006, longitude 1008, wind speed and direction 1010, vehicle heading 1012, and vehicle speed 1014. For example, vehicle ID 1002, lane 1004, latitude 1006, and longitude 1008 can identify different vehicles and their corresponding locations, as well as the lane each vehicle is traveling in. Wind speed and direction 1010 can identify the wind speed and direction currently encountered by the vehicle. Vehicle heading 1012 and vehicle speed 1014 can indicate the current speed and direction of each vehicle. The information in data structure 1000 can be associated with each waypoint of the target vehicle.
[0150] Figure 11 This is a flowchart illustrating an example process 1100 for determining vehicle control information according to some embodiments. In some examples, process 1100 may be executed by the system 100 described above. For example, process 1100 may be executed by a service computing device 108 that executes the crosswind management program 118.
[0151] To determine the vehicle's control information, use the information above regarding... Figure 9 The local map 902 created by the process under discussion can be used to generate control information for a specific vehicle, such as the first vehicle 102(1) in this example. For example, for the next waypoint 904 in the vehicle's trajectory, the resultant force that vehicle 102(1) is expected to encounter can be calculated based on wind information, air pressure caused by nearby vehicles, road gradient, and turning angle. Different vehicle control information can be generated depending on the direction and magnitude of the resultant force compared to the vehicle's heading. For example, if the direction of the resultant force is similar to the vehicle's heading, which means that the tailwind adds an extra force to propel the vehicle forward, the control information can instruct the vehicle control program (or human operator) to reduce powertrain output (and, in the case of an electric vehicle, regenerative charging). At the same time, data transmission delay information can also be calculated. For example, if the GPS location of the vehicle's next waypoint is available in a transmission delay database, these data points within a certain threshold can be averaged and used in the last block of the control information calculation.
[0152] At 1102, the service computing device can access the local map, including waypoint 904, wind data point 906, and traffic information.
[0153] At point 1104, the computing device can also access or receive other data, such as road elevation, road gradient, speed limits, etc. This information can be determined, for example, based on map data and / or other data such as vehicle sensor data.
[0154] At point 1106, the computing device can also access or receive vehicle sensor data, including steering wheel position, braking information, acceleration information, current vehicle speed, etc.
[0155] At point 1108, the service computing device can choose to process each predicted waypoint individually.
[0156] At 1110, the service computing device can be configured otherwise to calculate the resultant force based on predicted wind, nearby vehicles, and road gradient.
[0157] At 1112, the service computing device can also access the transmission delay database to determine whether the transmission delay is associated with a path point. If not, the process proceeds to 1114. If so, the process proceeds to 1116.
[0158] At point 1114, when there is no data transmission delay associated with waypoints, the serving computing device can determine nearby GPS points that are similar in location and time.
[0159] At point 1116, the service computing device can determine the average transmission delay of that waypoint based on multiple transmissions received from vehicles passing through that location, and these vehicles use the same transmission protocol, cellular type, similar data size, and similar travel speed, etc.
[0160] At point 1118, the service computing device can calculate the wind force amplitude and direction at the path point.
[0161] At 1120, the service computing device can determine the wind direction and compare it with the vehicle's heading.
[0162] At 1122, if the service computing device determines that the wind direction is zero degrees relative to the vehicle's heading, the process proceeds to 1132.
[0163] At 1124, if the service computing device determines that the wind direction is between 0 and 180 degrees relative to the vehicle's heading, the process proceeds to 1130.
[0164] At point 1126, if the service computing device determines that the wind direction is 180 degrees relative to the vehicle's heading, the process proceeds to point 1128.
[0165] At point 1128, when the wind direction is 180 degrees relative to the vehicle's heading, i.e., when the vehicle is facing the wind, the service computing unit can instruct the vehicle control program to increase powertrain output to compensate for the wind.
[0166] At 1130, when the wind direction is between 0 and 180 degrees relative to the vehicle's heading, depending on which side of the vehicle the wind is blowing towards, the service computing device may instruct the vehicle control program to brake one side of the vehicle and / or increase the powertrain output on the other side of the vehicle. For example, as shown in map 902, suppose wind 1129 is blowing from the left rear of the first vehicle 102(1). To compensate for the crosswind component of wind 1129, the vehicle control program may be instructed to partially apply left rear braking to provide the force indicated by dashed line 1131, counteracting the crosswind component of wind 1129. Alternatively, if the vehicle is capable, the vehicle control program may be instructed to transfer the increased power to the right front wheel of the vehicle, instead of, or in addition to partially braking the left rear wheel of the vehicle. Furthermore, while several examples of vehicle control information have been described herein, various variations will be apparent to those skilled in the art, and these variations have the benefits disclosed herein.
[0167] At point 1132, when the wind direction is zero degrees, i.e., when the tailwind is at its end, the service computing device can be instructed to reduce the powertrain output and apply regenerative braking, etc., to keep the vehicle at the desired speed.
[0168] At 1134, the service computing device may determine the timing of transmission based at least in part on the transmission delay associated with the selected path point, and at that timing send the determined control information to the first vehicle 102(1).
[0169] The example processes described herein are merely examples of processes provided for discussion purposes. Many other variations will be observed by those skilled in the art based on the disclosure herein. Furthermore, while this disclosure sets forth several examples of suitable frameworks, architectures, and environments for performing the processes, the implementations herein are not limited to the specific examples shown and discussed. In addition, this disclosure provides various exemplary implementations, as described and illustrated. However, this disclosure is not limited to the implementations described and illustrated herein, but is extend to other implementations known or to be known by those skilled in the art.
[0170] The various instructions, processes, and techniques described herein can be considered in the general context of computer-executable instructions, such as computer programs and applications stored on computer-readable media and executed by the processor described herein. Generally, the terms program and application are used interchangeably and can include instructions, routines, modules, objects, components, data structures, executable code, etc., for performing a particular task or implementing a particular data type. These programs, applications, etc., can be executed as native code or downloaded and executed, for example, in a virtual machine or other just-in-time (JIT) compilation and execution environment. Typically, the functionality of programs and applications can be combined or distributed in various implementations as needed. Implementations of these programs, applications, and techniques can be stored on computer storage media or transmitted via some form of communication medium.
[0171] Although the subject matter is described in language specific to structural features and / or methodological behavior, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or behaviors described. Rather, specific features and behaviors are disclosed as exemplary forms for implementing the claims.
Claims
1. A system, characterized in that, include: One or more service computing devices configured by executable instructions to perform operations, said operations including: Receive communication from a vehicle computing device on the vehicle, the communication including sensor data acquired from at least one sensor on the vehicle; A transmission delay is determined at least based on the communication, the transmission delay corresponding to the difference between the time when the vehicle sends the communication and the time when the one or more service computing devices receive the communication; Based at least on the communication, the trajectory of the vehicle on the vehicle's driving route is determined; Based at least on the sensor data, determine wind information at one or more locations associated with the trajectory of the vehicle; Based at least on the wind information, the trajectory, and the transmission delay, determine the vehicle control information; and Based at least on the vehicle control information, at least one instruction is sent to the vehicle, the at least one instruction causing the vehicle to perform at least one control operation to traverse the one or more locations.
2. The system as described in claim 1, characterized in that, The at least one instruction causes the vehicle computing device to perform the at least one control operation to control the at least one vehicle system based at least in part on the predicted impact of wind on the vehicle at the one or more locations.
3. The system as described in claim 1, characterized in that, Determining wind information at one or more locations associated with the vehicle's trajectory, based at least on the sensor data, further includes: Based on the received sensor information, the roll angle, pitch angle, and yaw angle of the vehicle are determined; as well as At least one of the wind direction or wind speed at the location associated with the vehicle is determined based on the vehicle's roll angle, pitch angle, and yaw angle.
4. The system as described in claim 1, characterized in that, The operation also includes: Based at least on the sensor data, the position of at least one object relative to the vehicle is determined, wherein at least one instruction sent to the vehicle is further based on the position of the at least one object relative to the vehicle.
5. The system as described in claim 1, characterized in that, The operation further includes storing the transmission delay in a transmission delay data structure associated with at least vehicle location and vehicle information, the vehicle information including at least one of the vehicle's identifier, the vehicle's speed, the communication protocol used by the vehicle, the communication provider used by the vehicle, or the size of the sensor data, wherein the operation of determining the vehicle control information based on the transmission delay is also based on the information in the transmission delay data structure.
6. The system as described in claim 1, characterized in that, The operation also includes: Based at least on the communications received from the vehicle, a local map is generated containing multiple waypoints over a future period, the waypoints corresponding to one or more locations associated with the vehicle's trajectory; and Multiple wind data points are determined from the plurality of path points, each wind data point indicating the predicted wind direction and wind speed at its corresponding location. The at least one instruction is determined based on the predicted wind direction and wind speed at the corresponding location of the wind data point.
7. The system as described in claim 1, characterized in that, The operation also includes: Determine the location associated with the wind information, at least based on the sensor data; Search the wind information database to determine whether an entry corresponding to the location already exists in the database; Based on the location of existing entries in the wind information database corresponding to the location, determine whether the difference between the wind information determined based on the sensor data and the wind information of the existing entries is less than a wind threshold; and Based on the fact that the difference is less than the wind threshold, the wind information database is updated using entries, which are based on both the wind information determined based on the sensor data and the wind information of the existing entries.
8. A method, characterized in that, include: One or more service computing devices receive communications from vehicle computing devices on the vehicle, the communications including sensor data acquired from at least one sensor on the vehicle; A transmission delay is determined at least based on the communication, the transmission delay corresponding to the difference between the time when the vehicle sends the communication and the time when the one or more service computing devices receive the communication; Based at least on the communication, the trajectory of the vehicle on the vehicle's driving route is determined; The vehicle control information of the vehicle is determined based at least on the sensor data, the trajectory, and the transmission delay; as well as Based at least on the vehicle control information, at least one instruction is sent to the vehicle, the at least one instruction causing the vehicle to perform at least one control operation to traverse one or more locations associated with the vehicle's trajectory.
9. The method as described in claim 8, characterized in that, Also includes: Based at least on the sensor data, determine wind information at one or more locations associated with the vehicle's trajectory, and The determination of the vehicle control information, based at least on the sensor data and the transmission delay, also includes determining the vehicle control information based on the wind information.
10. The method as described in claim 8, characterized in that, The at least one instruction causes the vehicle computing device to perform the at least one control operation to control at least one vehicle system based at least in part on the predicted impact of wind on the vehicle at the one or more locations.
11. The method as described in claim 9, characterized in that, Determining wind information at one or more locations associated with the vehicle's trajectory, based at least on sensor data, further includes: Based on the received sensor information, the roll angle, pitch angle, and yaw angle of the vehicle are determined; as well as At least one of the wind direction or wind speed at the location associated with the vehicle is determined based on the vehicle's roll angle, pitch angle, and yaw angle.
12. The method as described in claim 8, characterized in that, Also includes: Based at least on the sensor data, the position of at least one object relative to the vehicle is determined, wherein at least one instruction sent to the vehicle is further based on the position of the at least one object relative to the vehicle.
13. The method as described in claim 8, characterized in that, It also includes storing the transmission delay in a transmission delay data structure associated with at least vehicle location and vehicle information, the vehicle information including at least one of the vehicle's identifier, the vehicle's speed, the communication protocol used by the vehicle, the communication provider used by the vehicle, or the size of the sensor data, wherein the operation of determining the vehicle control information based on the transmission delay is also based on the information in the transmission delay data structure.
14. The method as described in claim 8, characterized in that, Also includes: Based at least on the communications received from the vehicle, a local map containing multiple waypoints over a future period is generated, the multiple waypoints corresponding to one or more locations associated with the trajectory of the vehicle; as well as Multiple wind data points are determined from the plurality of path points, each wind data point indicating the predicted wind direction and wind speed at its corresponding location. The at least one instruction is determined based on the predicted wind direction and wind speed at the corresponding location of the wind data point.
15. A method, characterized in that, include: One or more processors on a vehicle send communications via a network to a service computing device located remote from the vehicle. The communications include sensor data received from at least one sensor on the vehicle. The service computing device is configured to determine wind information and transmission delays associated with the vehicle's location based at least on the communications including the sensor data. The one or more processors on the vehicle, in response to the communication, receive at least one instruction based on wind information and transmission delay information, which are determined by the serving computing device based on the communication including the sensor data. The at least one instruction instructs at least one control operation to control the at least one vehicle system based at least in part on the predicted impact of wind on the vehicle at the one or more locations in the next cycle. as well as The vehicle computing device controls the at least one vehicle system during traversal of the one or more locations based on the at least one instruction.
16. The method as described in claim 15, characterized in that, The sensor data sent to the service computing device includes sensor data that enables the service computing device to calculate the vehicle's roll angle, pitch angle, and yaw angle to at least partially determine the vehicle's location.
17. The method as described in claim 16, characterized in that, The sensor data that enables the service computing device to calculate the roll angle, pitch angle, and yaw angle of the vehicle includes at least one of suspension system height measurement or inertial measurement unit data, and also includes at least one of steering wheel position information, braking information, or powertrain acceleration information.
18. The method as described in claim 15, characterized in that, The sensor data sent to the service computing device includes sensor data that enables the service computing device to determine the position of at least one object relative to the vehicle, at least based on the sensor data, wherein at least one instruction received by the vehicle is further based on the position of the at least one object relative to the vehicle.
19. The method as described in claim 15, characterized in that, Also includes: Before the sensor data is sent to the service computing device, at least one of the camera data, lidar data, or radar data is preprocessed to reduce the size of the sensor data transmitted to the service computing device.
20. The method as described in claim 15, characterized in that, The communication, including the sensor data, includes a timestamp, which is determined based on timing information received from a satellite positioning system, and the timestamp at least partially enables the service computing device to determine the transmission delay information.