Dynamic autonomous vehicle modem orchestration
By using SoC to dynamically control the communication between the ECU and the modem in an autonomous vehicle, the problem of traffic imbalance caused by traditional allocation methods is solved, and the reliability of communication services and network resource utilization efficiency is improved.
Patent Information
- Application Number
- CN202380083109.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-02-10
- Filing Date
- 2023-10-10
- Publication Date
- 2025-08-19
AI Technical Summary
In traditional autonomous vehicles, the distribution method between electronic control units (ECUs) and modem leads to traffic imbalance and performance problems, especially when the modem has bad conditions or high traffic, which affects the reliability of communication services and network availability.
System-on-chip (SoC) is used to dynamically control and orchestrate communication between the ECU and the modem. By evaluating signal performance, identifying priority and requirements, dynamic orchestration of the modem is realized to avoid low-priority data from flooding available resources.
Improve the performance reliability and network availability of communication services, prevent resources from being flooded with low-priority data, and ensure that the network resources of all ECUs are reasonably allocated and prioritized.
Smart Images

Figure CN120513615A_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims priority to / the benefit of U.S. Provisional Application No. 63 / 416,281, filed on October 14, 2022, entitled “DYNAMIC AUTONOMOUS VEHICLE MODEM ORCHESTRATION,” and U.S. Application No. 18 / 167103, filed on February 10, 2023, each of which is incorporated herein by reference in its entirety. Background Art
[0003] Autonomous vehicles (AVs) typically include many electronic control units (ECUs), which in turn require long-term evolution and / or 5G access via a modem to download or upload data. Traditionally, ECUs are assigned to specific modems. In other words, data is routed via a predefined modem and local network. However, it is possible that a modem experiences a temporary adverse condition, which can affect the priority traffic generated by a certain ECU and handled by the modem, as ECUs are always assigned to a single modem. It is also possible that the modem and / or the network associated with the modem experiences increased traffic. It is also possible that multiple ECUs attempt to access and use the same modem simultaneously, leading to performance issues. BRIEF DESCRIPTION OF THE DRAWINGS
[0004] Figure 1 is an example environment in which a vehicle including one or more components of an autonomous system may be implemented;
[0005] Figure 2 is a diagram of one or more example systems of a vehicle including an autonomous system;
[0006] Figure 3 yes Figure 1 and Figure 2 diagrams of one or more example devices and / or components of one or more example systems;
[0007] Figure 4 is a diagram of some components of an example autonomous system;
[0008] Figure 5 is a diagram of an example implementation of a process for dynamic autonomous vehicle modem orchestration;
[0009] Figure 6 is a diagram of an example implementation of a process for dynamic autonomous vehicle modem orchestration;
[0010] Figure 7 is a diagram of an example implementation of a process for dynamic autonomous vehicle modem orchestration; and
[0011] Figure 8 is a flow chart of an example process for dynamic autonomous vehicle modem orchestration. DETAILED DESCRIPTION
[0012] In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. However, it will be apparent that the embodiments described herein can be practiced without these specific details. In some instances, well-known configurations and devices are illustrated in block diagram form to avoid unnecessarily obscuring aspects of the present disclosure.
[0013] In the accompanying drawings, for ease of description, a specific arrangement or order of schematic elements (such as those representing systems, devices, modules, instruction blocks and / or data elements, etc.) is illustrated. However, those skilled in the art will understand that, unless expressly described, the specific order or arrangement of schematic elements in the accompanying drawings is not intended to require a specific processing order or sequence, or separation of processes. Furthermore, unless expressly described, the inclusion of a schematic element in a drawing is not intended to mean that such element is required in all embodiments, nor is it intended to mean that features represented by such element cannot be included in some embodiments or cannot be combined with other elements in some embodiments.
[0014] In addition, in the accompanying drawings, connecting elements (such as solid or dotted lines or arrows) are used to illustrate the connection, relationship or association between or among two or more other schematic elements, and there is no such connecting element and is not intended to mean that there can be no connection, relationship or association. In other words, some connections, relationships or associations between elements are not illustrated in the accompanying drawings, so as not to obscure the present disclosure. In addition, for ease of illustration, a single connecting element can be used to represent multiple connections, relationships or associations between elements. For example, if a connecting element represents the communication of a signal, data or instruction (for example, "software instruction"), it will be understood by those skilled in the art that this element can represent one or more signal paths (for example, bus) that may be needed to affect communication.
[0015] Although the terms "first," "second," and / or "third," etc. are used to describe various elements, these elements should not be limited by these terms. The terms "first," "second," and / or "third" are only used to distinguish one element from another. For example, a first contact may be referred to as a second contact, and similarly, a second contact may be referred to as a first contact without departing from the scope of the described embodiments. Both the first contact and the second contact are contacts, but they are not the same contact.
[0016] The terms used in the description of the various embodiments described herein are included only for the purpose of describing specific embodiments and are not intended to be limiting. As used in the description of the various embodiments described and the appended claims, the singular forms "a", "an", and "the" are also intended to include the plural forms and can be used interchangeably with "one or more than one" or "at least one" unless the context clearly indicates otherwise. It will also be understood that the term "and / or" as used herein refers to and includes any and all possible combinations of one or more than one of the associated listed items. It will also be understood that when the terms "comprises", "comprising", "having", and / or "having" are used in this specification, the presence of the stated features, integers, steps, operations, elements, and / or components is specified, but the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof is not excluded.
[0017] As used herein, the terms "communication" and "communicating" refer to at least one of receiving, receiving, sending, transmitting, and / or providing information (or information represented by, for example, data, signals, messages, instructions, and / or commands). For a unit (e.g., a device, a system, a component of a device or system, and / or a combination thereof) to communicate with another unit, this means that the unit is able to directly or indirectly receive information from the other unit and / or send (e.g., transmit) information to the other unit. This can refer to a direct or indirect connection that is wired and / or wireless in nature. In addition, two units can communicate with each other even if the information sent can be modified, processed, relayed, and / or routed between the first unit and the second unit. For example, a first unit can communicate with a second unit even if the first unit passively receives information and does not actively send information to the second unit. As another example, a first unit can communicate with a second unit if at least one intermediary unit (e.g., a third unit located between the first unit and the second unit) processes information received from the first unit and sends the processed information to the second unit. In some embodiments, a message may refer to a network packet (eg, a data packet, etc.) that includes data.
[0018] As used herein, the term "if" is optionally interpreted to mean "when," "at the time of," "in response to being determined to be," and / or "in response to being detected," etc., depending on the context. Similarly, the phrases "if it is determined" or "if [the stated condition or event] is detected" are optionally interpreted to mean "upon determining," "in response to being determined to be" or "upon detecting [the stated condition or event]," and / or "in response to detecting [the stated condition or event]," etc., depending on the context. Furthermore, as used herein, the terms "have," "have," or "possess," etc. are intended to be open-ended terms. Furthermore, unless expressly stated otherwise, the phrase "based on" is intended to mean "based at least in part on."
[0019] “At least one” and “one or more than one” include a function being performed by one element, a function being performed by more than one element, such as in a distributed manner, several functions being performed by one element, several functions being performed by several elements, or any combination of the above.
[0020] Some embodiments of the present disclosure are described herein in conjunction with threshold values. As described herein, satisfying (e.g., conforming to) a threshold value may refer to a value being greater than a threshold value, more than a threshold value, above a threshold value, greater than or equal to a threshold value, less than a threshold value, less than a threshold value, below a threshold value, less than or equal to a threshold value, and / or equal to a threshold value, etc.
[0021] Reference will now be made in detail to the embodiments, examples of which are illustrated in the accompanying drawings. In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the various embodiments described. However, it will be apparent to one of ordinary skill in the art that the various embodiments described may be practiced without these specific details. In other instances, well-known methods, processes, components, circuits, and networks have not been described in detail so as not to unnecessarily obscure aspects of the embodiments.
[0022] General Overview
[0023] In some aspects and / or embodiments, the systems, methods, and computer program products described herein include and / or implement dynamic autonomous vehicle modem control and orchestration. In particular, the present disclosure relates to systems, such as integrated hardware-software systems, including at least one processor, such as a system-on-chip (SoC) for providing dynamic control and orchestration (e.g., coordination) between an electronic control unit (ECU) and a modem in an autonomous vehicle. The system can evaluate the signal performance of each modem, identify priorities and / or requirements from each ECU, and control instructions to the ECUs and / or modems, e.g., directing the ECUs and / or modems and / or acting as a gateway between the ECUs and modems. The system is configured to execute the disclosed techniques on one or more processors. In some examples, the system is configured to execute the disclosed techniques on a processor configured to receive data from a wireless communication system. In some examples, the system is configured to execute the disclosed techniques on a processor separate from the processor receiving data from the wireless communication system. In some examples, the system is configured to execute the disclosed techniques on a processor communicatively coupled to the processor receiving data from the wireless communication system.
[0024] By implementing the systems, methods, and computer program products described herein, techniques for dynamic autonomous vehicle modem orchestration can advantageously improve the reliability of communication service performance and prioritize critical data. Furthermore, the present disclosure allows for increased network availability for all ECUs. Additionally, the present disclosure advantageously prevents available resources (e.g., modems and / or networks) from being flooded with low-priority data, particularly when resources are limited. For example, the present disclosure allows for control, orchestration, and prioritization between an AV's ECUs and available modems.
[0025] Additionally, the present disclosure utilizes an SoC rather than a switch to achieve numerous advantages. For example, a switch does not have the computational and processing power required for the operations disclosed herein (such as controlling connections between modems and ECUs). Furthermore, a switch cannot query the signal quality (e.g., as indicated by performance parameters) from each modem. Advantageously, an SoC can simultaneously interface with multiple modems, network nodes (e.g., in the cloud), and ECUs.
[0026] Now refer to Figure 1, illustrates an example environment 100 in which vehicles including autonomous systems and vehicles not including autonomous systems operate. As illustrated, environment 100 includes vehicles 102a-102n, objects 104a-104n, routes 106a-106n, area 108, vehicle-to-infrastructure (V2I) devices 110, network 112, remote autonomous vehicle (AV) systems 114, queue management system 116, and V2I system 118. Vehicles 102a-102n, vehicle-to-infrastructure (V2I) devices 110, network 112, autonomous vehicle (AV) systems 114, queue management system 116, and V2I system 118 are interconnected (e.g., establish connections for communication, etc.) via wired connections, wireless connections, or a combination of wired or wireless connections. In some embodiments, objects 104a-104n are interconnected with at least one of vehicles 102a-102n, vehicle-to-infrastructure (V2I) devices 110, network 112, autonomous vehicle (AV) system 114, fleet management system 116, and V2I system 118 via a wired connection, a wireless connection, or a combination of wired or wireless connections.
[0027] Vehicles 102a-102n (individually referred to as vehicles 102 and collectively referred to as vehicles 102) include at least one device configured to transport goods and / or people. In some embodiments, vehicles 102 are configured to communicate with V2I devices 110, remote AV systems 114, fleet management systems 116, and / or V2I systems 118 via network 112. In some embodiments, vehicles 102 include cars, buses, trucks, and / or trains. In some embodiments, vehicles 102 are similar to vehicles 200 described herein (see Figure 2 ) are the same or similar. In some embodiments, vehicles 200 in the set of vehicles 200 are associated with an autonomous queue manager. In some embodiments, as described herein, vehicles 102 travel along corresponding routes 106a-106n (individually referred to as routes 106 and collectively referred to as routes 106). In some embodiments, one or more vehicles 102 include an autonomous system (e.g., an autonomous system that is the same or similar to autonomous system 202).
[0028] Objects 104a-104n (individually referred to as object 104 and collectively referred to as objects 104) include, for example, at least one vehicle, at least one pedestrian, at least one cyclist, and / or at least one structure (e.g., a building, a sign, a fire hydrant, etc.). Each object 104 is stationary (e.g., located at a fixed location and over a period of time) or moving (e.g., having a velocity and associated with at least one trajectory). In some embodiments, objects 104 are associated with corresponding locations in area 108.
[0029] Routes 106a-106n (individually referred to as routes 106 and collectively referred to as routes 106) are each associated with (e.g., specifying) a series of actions (also referred to as trajectories) connecting states along which an AV can navigate. Each route 106 begins at an initial state (e.g., a state corresponding to a first spatiotemporal location and / or speed, etc.) and ends at a final target state (e.g., a state corresponding to a second spatiotemporal location different from the first spatiotemporal location) or a target zone (e.g., a subspace of acceptable states (e.g., terminal states)). In some embodiments, the first state includes a location where one or more individuals will board the AV, and the second state or zone includes one or more locations where the one or more individuals boarding the AV will disembark. In some embodiments, routes 106 include multiple acceptable state sequences (e.g., multiple spatiotemporal location sequences) that are associated with (e.g., define) multiple trajectories. In examples, routes 106 include only high-level actions or imprecise state locations, such as a series of connecting roads indicating a change of direction at a roadway intersection. Additionally or alternatively, the route 106 may include more precise actions or states, such as, for example, a specific target lane or precise locations within a lane zone and target speeds at those locations. In an example, the route 106 includes multiple precise state sequences along at least one high-level action with a limited look-ahead horizon to an intermediate goal, where the combination of consecutive iterations of the limited-horizon state sequences cumulatively corresponds to multiple trajectories that collectively form a high-level route terminating at a final target state or zone.
[0030] The area 108 includes a physical area (e.g., a geographic region) that the vehicle 102 can navigate. In an example, the area 108 includes at least one state (e.g., a country, a province, a separate state within a plurality of states included in a country, etc.), at least a portion of a state, at least one city, at least a portion of a city, etc. In some embodiments, the area 108 includes at least one named thoroughfare (referred to herein as a "road"), such as a highway, an interstate, a parkway, a city street, etc. Additionally or alternatively, in some examples, the area 108 includes at least one unnamed road, such as a driveway, a section of a parking lot, a section of an open space and / or undeveloped area, a dirt road, etc. In some embodiments, the road includes at least one lane (e.g., a portion of the road that the vehicle 102 can traverse). In an example, the road includes at least one lane associated with (e.g., identified based on) at least one lane marking line.
[0031] Vehicle-to-infrastructure (V2I) devices 110 (sometimes referred to as vehicle-to-infrastructure or vehicle-to-everything (V2X) devices) include at least one device configured to communicate with vehicle 102 and / or V2I system 118. In some embodiments, V2I devices 110 are configured to communicate with vehicle 102, remote AV system 114, fleet management system 116, and / or V2I system 118 via network 112. In some embodiments, V2I devices 110 include radio frequency identification (RFID) devices, signs, cameras (e.g., two-dimensional (2D) and / or three-dimensional (3D) cameras), lane markings, streetlights, parking meters, and the like. In some embodiments, V2I devices 110 are configured to communicate directly with vehicle 102. Additionally or alternatively, in some embodiments, the V2I device 110 is configured to communicate with the vehicle 102, the remote AV system 114, and / or the fleet management system 116 via the V2I system 118. In some embodiments, the V2I device 110 is configured to communicate with the V2I system 118 via the network 112.
[0032] The network 112 includes one or more wired and / or wireless networks. In an example, the network 112 includes a cellular network (e.g., a long-term evolution (LTE) network, a third-generation (3G) network, a fourth-generation (4G) network, a fifth-generation (5G) network, a code division multiple access (CDMA) network, etc.), a public land mobile network (PLMN), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a telephone network (e.g., a public switched telephone network (PSTN)), a private network, an ad hoc network, an intranet, the Internet, a fiber-optic-based network, a cloud computing network, etc., and / or a combination of some or all of these networks.
[0033] Remote AV system 114 includes at least one device configured to communicate with vehicle 102, V2I device 110, network 112, fleet management system 116, and / or V2I system 118 via network 112. In an example, remote AV system 114 includes a server, a server group, and / or other similar devices. In some embodiments, remote AV system 114 is co-located with fleet management system 116. In some embodiments, remote AV system 114 participates in the installation of some or all of the vehicle's components (including autonomous systems, autonomous vehicle computing, and / or software implemented by autonomous vehicle computing). In some embodiments, remote AV system 114 maintains (e.g., updates and / or replaces) these components and / or software during the vehicle's lifetime.
[0034] The queue management system 116 includes at least one device configured to communicate with the vehicles 102, the V2I devices 110, the remote AV system 114, and / or the V2I system 118. In an example, the queue management system 116 includes a server, a server group, and / or other similar devices. In some embodiments, the queue management system 116 is associated with a ride-sharing company (e.g., an organization that controls the operation of multiple vehicles (e.g., vehicles that include autonomous systems and / or vehicles that do not include autonomous systems).
[0035] In some embodiments, the V2I system 118 includes at least one device configured to communicate with the vehicle 102, the V2I device 110, the remote AV system 114, and / or the fleet management system 116 via the network 112. In some examples, the V2I system 118 is configured to communicate with the V2I device 110 via a connection other than the network 112. In some embodiments, the V2I system 118 includes a server, a server group, and / or other similar devices. In some embodiments, the V2I system 118 is associated with a municipality or a private entity (e.g., a private entity that maintains the V2I device 110).
[0036] In some embodiments, as Figure 8 As illustrated, the apparatus 300 is configured as software instructions to execute one or more steps of the disclosed method.
[0037] supply Figure 1 The number and arrangement of elements illustrated are examples. Figure 1 There may be additional elements, fewer elements, different elements, and / or differently arranged elements than those illustrated. Additionally or alternatively, at least one element of the environment 100 may be described as being Figure 1Additionally or alternatively, at least one set of elements of environment 100 may perform one or more functions described as being performed by at least one different set of elements of environment 100.
[0038] Now refer to Figure 2 , vehicle 200 (which can be Figure 1 102) includes or is associated with autonomous system 202, powertrain control system 204, steering control system 206, and braking system 208. In some embodiments, vehicle 200 is similar to vehicle 102 (see Figure 1 ) are the same or similar. In some embodiments, the autonomous system 202 is configured to give the vehicle 200 autonomous driving capabilities (e.g., implementing at least one driving automatic or maneuver-based function, feature and / or device, etc., which enables the vehicle 200 to operate partially or completely without human intervention, including but not limited to fully autonomous vehicles (e.g., vehicles that abandon reliance on human intervention, such as Level 5 ADS operating vehicles, etc.), highly autonomous vehicles (e.g., vehicles that abandon reliance on human intervention in certain situations, such as Level 4 ADS operating vehicles, etc.), and / or conditionally autonomous vehicles (e.g., vehicles that abandon reliance on human intervention in limited situations, such as Level 3 ADS operating vehicles, etc.). In one embodiment, the autonomous system 202 includes the operational or tactical functionality required to enable the vehicle 200 to operate in traffic on the road and continuously perform part or all of a dynamic driving task (DDT). In another embodiment, the autonomous system 202 includes an advanced driver assistance system (ADAS) that includes driver support features. The autonomous system 202 supports various levels of driving automation ranging from no driving automation (e.g., Level 0) to full driving automation (e.g., Level 5). For a detailed description of fully autonomous vehicles and highly autonomous vehicles, reference can be made to SAE International's standard J3016: Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle Automated Driving Systems, the entire contents of which are incorporated by reference. In some embodiments, the vehicle 200 is associated with an autonomous queue manager and / or a ridesharing company.
[0039] Autonomous system 202 includes a sensor suite comprising one or more devices, such as a camera 202a, a LiDAR sensor 202b, a Radar sensor 202c, and a microphone 202d. In some embodiments, autonomous system 202 may include more, fewer, and / or different devices (e.g., ultrasonic sensors, inertial sensors, a GPS receiver (discussed below), and / or an odometer sensor for generating data associated with an indication of the distance traveled by vehicle 200). In some embodiments, autonomous system 202 uses one or more devices included in autonomous system 202 to generate data associated with environment 100, as described herein. The data generated by one or more devices of autonomous system 202 may be used by one or more systems described herein to observe the environment in which vehicle 200 is located (e.g., environment 100). In some embodiments, autonomous system 202 includes a communication device 202e, autonomous vehicle computing 202f, a drive-by-wire (DBW) system 202h, and a safety controller 202g.
[0040] The camera 202a includes a camera configured to communicate with the communication device 202e, the autonomous vehicle computer 202f, and / or the safety controller 202g via a bus (e.g., Figure 3 The camera 202a includes at least one device for communicating with the autonomous vehicle computing 202f (e.g., a bus that is the same as or similar to the bus 302 of FIG. 2 ). The camera 202a includes at least one camera (e.g., a digital camera using a light sensor such as a charge coupled device (CCD), a thermal camera, an infrared (IR) camera, and / or an event camera, etc.) for capturing images including physical objects (e.g., cars, buses, curbs, and / or people, etc.). In some embodiments, the camera 202a generates camera data as output. In some examples, the camera 202a generates camera data including image data associated with the image. In this example, the image data may specify at least one parameter corresponding to the image (e.g., image characteristics such as exposure, brightness, and / or image timestamp, etc.). In such an example, the image may be in a format (e.g., RAW, JPEG, and / or PNG, etc.). In some embodiments, the camera 202a includes a plurality of independent cameras configured on (e.g., positioned on) the vehicle to capture images for the purpose of stereoscopic imaging (stereo vision). In some examples, the camera 202a includes a computer system that generates image data and sends the image data to the autonomous vehicle computing 202f and / or the fleet management system (e.g., with Figure 1The autonomous vehicle computing system 202f may be configured to include multiple cameras (e.g., a fleet management system similar to or similar to the fleet management system 116 of the plurality of cameras). In such an example, the autonomous vehicle computing system 202f determines a depth to one or more objects in the field of view of at least two of the plurality of cameras based on image data from the at least two cameras. In some embodiments, the camera 202a is configured to capture images of objects within a distance relative to the camera 202a (e.g., up to 100 meters and / or up to 1 kilometer, etc.). Accordingly, the camera 202a includes features, such as a sensor and a lens, that are optimized for sensing objects at one or more distances relative to the camera 202a.
[0041] In embodiments, camera 202a includes at least one camera configured to capture one or more images associated with one or more traffic lights, street signs, and / or other physical objects that provide visual navigation information. In some embodiments, camera 202a generates traffic light data associated with the one or more images. In some examples, camera 202a generates TLD (traffic light detection) data associated with the one or more images in a format such as RAW, JPEG, and / or PNG. In some embodiments, camera 202a that generates TLD data differs from other systems incorporating cameras described herein in that camera 202a may include one or more cameras with a wide field of view (e.g., a wide-angle lens, a fisheye lens, and / or a lens with a viewing angle of approximately 120 degrees or greater) to generate images associated with as many physical objects as possible.
[0042] The light detection and ranging (LiDAR) sensor 202b includes a sensor configured to communicate with the communication device 202e, the autonomous vehicle computing 202f and / or the safety controller 202g via a bus (e.g., Figure 3The LiDAR sensor 202b includes at least one device that communicates with a bus (the same or similar bus as the bus 302) that is connected to the LiDAR sensor 202b. The LiDAR sensor 202b includes a system configured to emit light from a light emitter (e.g., a laser emitter). The light emitted by the LiDAR sensor 202b includes light outside the visible spectrum (e.g., infrared light, etc.). In some embodiments, during operation, the light emitted by the LiDAR sensor 202b encounters a physical object (e.g., a vehicle) and is reflected back to the LiDAR sensor 202b. In some embodiments, the light emitted by the LiDAR sensor 202b does not penetrate the physical object encountered by the light. The LiDAR sensor 202b also includes at least one light detector that detects the light emitted from the light emitter after it encounters the physical object. In some embodiments, at least one data processing system associated with the LiDAR sensor 202b generates an image (e.g., a point cloud and / or a combined point cloud, etc.) representing objects included in the field of view of the LiDAR sensor 202b. In some examples, at least one data processing system associated with LiDAR sensor 202b generates an image representing the boundaries of a physical object and / or the surface of the physical object (e.g., the topology of the surface), etc. In such examples, the image is used to determine the boundaries of the physical object in the field of view of LiDAR sensor 202b.
[0043] The radio detection and ranging (Radar) sensor 202c includes a sensor configured to communicate with the communication device 202e, the autonomous vehicle computing 202f and / or the safety controller 202g via a bus (e.g., Figure 3 The radar sensor 202c includes at least one device that communicates with a bus (same or similar to the bus 302) that is connected to the radar sensor 202c. The radar sensor 202c includes a system configured to transmit (pulsed or continuous) radio waves. The radio waves transmitted by the radar sensor 202c include radio waves within a predetermined frequency spectrum. In some embodiments, during operation, the radio waves transmitted by the radar sensor 202c encounter physical objects and are reflected back to the radar sensor 202c. In some embodiments, the radio waves transmitted by the radar sensor 202c are not reflected by some objects. In some embodiments, at least one data processing system associated with the radar sensor 202c generates a signal representing an object included in the field of view of the radar sensor 202c. For example, the at least one data processing system associated with the radar sensor 202c generates an image representing the boundaries of the physical object and / or the surface of the physical object (e.g., the topology of the surface). In some examples, the image is used to determine the boundaries of the physical object in the field of view of the radar sensor 202c.
[0044] The microphone 202d includes a microphone configured to communicate with the communication device 202e, the autonomous vehicle computing device 202f, and / or the safety controller 202g via a bus (e.g., Figure 3 At least one device that communicates with the vehicle 200 (e.g., a bus similar to or similar to bus 302). Microphone 202d includes one or more microphones (e.g., an array microphone and / or an external microphone, etc.) that capture audio signals and generate data associated with (e.g., representing) the audio signals. In some examples, microphone 202d includes a transducer device and / or the like. In some embodiments, one or more systems described herein can receive the data generated by microphone 202d and determine the location (e.g., distance, etc.) of an object relative to the vehicle 200 based on the audio signal associated with the data.
[0045] The communication device 202e includes at least one device configured to communicate with the camera 202a, the LiDAR sensor 202b, the Radar sensor 202c, the microphone 202d, the autonomous vehicle computing 202f, the safety controller 202g, and / or the DBW (drive-by-wire) system 202h. For example, the communication device 202e may include at least one device configured to communicate with the camera 202a, the LiDAR sensor 202b, the Radar sensor 202c, the microphone 202d, the autonomous vehicle computing 202f, the safety controller 202g, and / or the DBW (drive-by-wire) system 202h. Figure 3 In some embodiments, the communication device 202e includes a vehicle-to-vehicle (V2V) communication device (eg, a device for enabling wireless communication of data between vehicles).
[0046] Autonomous vehicle computing 202f includes at least one device configured to communicate with camera 202a, LiDAR sensor 202b, Radar sensor 202c, microphone 202d, communication device 202e, safety controller 202g, and / or DBW system 202h. In some examples, autonomous vehicle computing 202f includes devices such as client devices, mobile devices (e.g., cellular phones and / or tablet computers, etc.), and / or servers (e.g., computing devices including one or more central processing units and / or graphics processing units, etc.). In some embodiments, autonomous vehicle computing 202f is the same as or similar to autonomous vehicle computing 400 described herein. Additionally or alternatively, in some embodiments, autonomous vehicle computing 202f is configured to communicate with an autonomous vehicle system (e.g., with Figure 1 Remote AV system 114 of the same or similar autonomous vehicle system), a queue management system (e.g., Figure 1 The same or similar queue management system as the queue management system 116 of FIG), V2I devices (e.g., Figure 1 V2I device 110 that is the same as or similar to the V2I device 110) and / or a V2I system (e.g., Figure 1The V2I system 118 may communicate with the same or similar V2I system.
[0047] Safety controller 202g includes at least one device configured to communicate with camera 202a, LiDAR sensor 202b, Radar sensor 202c, microphone 202d, communication device 202e, autonomous vehicle computing 202f, and / or DBW system 202h. In some examples, safety controller 202g includes one or more controllers (electrical controllers and / or electromechanical controllers, etc.) configured to generate and / or send control signals to operate one or more devices of vehicle 200 (e.g., powertrain control system 204, steering control system 206, and / or braking system 208, etc.). In some embodiments, safety controller 202g is configured to generate control signals that take precedence over (e.g., override) control signals generated and / or sent by autonomous vehicle computing 202f.
[0048] The DBW system 202h includes at least one device configured to communicate with the communication device 202e and / or the autonomous vehicle computing device 202f. In some examples, the DBW system 202h includes one or more controllers (e.g., electrical controllers and / or electromechanical controllers, etc.) configured to generate and / or send control signals to operate one or more devices of the vehicle 200 (e.g., the powertrain control system 204, the steering control system 206, and / or the braking system 208, etc.). Additionally or alternatively, the one or more controllers of the DBW system 202h are configured to generate and / or send control signals to operate at least one different device of the vehicle 200 (e.g., turn signals, headlights, door locks, and / or windshield wipers, etc.).
[0049] The powertrain control system 204 includes at least one device configured to communicate with the DBW system 202h. In some examples, the powertrain control system 204 includes at least one controller and / or actuator. In some embodiments, the powertrain control system 204 receives control signals from the DBW system 202h and causes the vehicle 200 to perform longitudinal vehicle motion (such as starting forward movement, stopping forward movement, starting rearward movement, stopping rearward movement, accelerating in a direction, decelerating in a direction, etc.) or lateral vehicle motion (such as making a left turn and / or making a right turn, etc.). In examples, the powertrain control system 204 increases, maintains the same, or decreases the energy (e.g., fuel and / or electricity, etc.) supplied to the vehicle's motor, thereby causing at least one wheel of the vehicle 200 to rotate or not rotate. In other words, the steering control system 206 causes the necessary actions to regulate the y-axis component of the vehicle's motion.
[0050] Steering control system 206 includes at least one device configured to rotate one or more wheels of vehicle 200. In some examples, steering control system 206 includes at least one controller and / or actuator, etc. In some embodiments, steering control system 206 rotates the two front wheels and / or the two rear wheels of vehicle 200 to the left or right to turn vehicle 200 left or right.
[0051] Braking system 208 includes at least one device configured to actuate one or more brakes to slow down and / or hold vehicle 200 stationary. In some examples, braking system 208 includes at least one controller and / or actuator configured to cause one or more calipers associated with one or more wheels of vehicle 200 to close on the corresponding rotors of vehicle 200. Additionally or alternatively, in some examples, braking system 208 includes an automatic emergency braking (AEB) system and / or a regenerative braking system, among other things.
[0052] In some embodiments, vehicle 200 includes at least one platform sensor (not explicitly illustrated) for measuring or inferring a property of a state or condition of vehicle 200. In some examples, vehicle 200 includes platform sensors such as a global positioning system (GPS) receiver, an inertial measurement unit (IMU), wheel rate sensors, wheel brake pressure sensors, wheel torque sensors, engine torque sensors, and / or steering angle sensors. Although brake system 208 is illustrated as being located Figure 2 The braking system 208 is located on the proximal side of the vehicle 200 , but the braking system 208 can be located anywhere in the vehicle 200 .
[0053] Now refer to Figure 3, a schematic diagram illustrating an apparatus 300. As illustrated, apparatus 300 includes a processor 304, a memory 306, a storage component 308, an input interface 310, an output interface 312, a communication interface 314, and a bus 302. In some embodiments, apparatus 300 corresponds to: at least one device of vehicle 102 (e.g., at least one device of a system of vehicle 102); at least one device of remote AV system 114, fleet management system 116, V2I system 118; and / or one or more devices of network 112 (e.g., one or more devices of a system of network 112). In some embodiments, one or more devices of the vehicle 102 (e.g., one or more devices of a system of the vehicle 102 (such as at least one device of the remote AV system 114, the fleet management system 116, and the V2I system 118), and / or one or more devices of the network 112 (e.g., one or more devices of a system of the network 112) include at least one device 300 and / or at least one component of the device 300. Figure 3 As shown, apparatus 300 includes a bus 302 , a processor 304 , a memory 306 , a storage component 308 , an input interface 310 , an output interface 312 , and a communication interface 314 .
[0054] Bus 302 includes components that enable communication between components of device 300. In some cases, processor 304 includes a processor (e.g., a central processing unit (CPU), a graphics processing unit (GPU), and / or an accelerated processing unit (APU), etc.), a microphone, a digital signal processor (DSP), and / or any processing component that can be programmed to perform at least one function (e.g., a field programmable gate array (FPGA) and / or an application-specific integrated circuit (ASIC), etc.). Memory 306 includes random access memory (RAM), read-only memory (ROM), and / or another type of dynamic and / or static storage device (e.g., flash memory, magnetic memory, and / or optical memory, etc.) that stores data and / or instructions for use by processor 304.
[0055] The storage component 308 stores data and / or software related to the operation and use of the device 300. In some examples, the storage component 308 includes a hard disk (e.g., a magnetic disk, an optical disk, a magneto-optical disk, and / or a solid-state disk, etc.), a compact disk (CD), a digital versatile disk (DVD), a floppy disk, a cassette, a magnetic tape, a CD-ROM, a RAM, a PROM, an EPROM, a FLASH-EPROM, an NV-RAM, and / or another type of computer-readable medium, and a corresponding drive.
[0056] The input interface 310 includes components that permit the device 300 to receive information, such as via user input (e.g., a touch screen display, a keyboard, a keypad, a mouse, buttons, switches, a microphone, and / or a camera, etc.). Additionally or alternatively, in some embodiments, the input interface 310 includes a sensor for sensing information (e.g., a global positioning system (GPS) receiver, an accelerometer, a gyroscope, and / or an actuator, etc.). The output interface 312 includes components for providing output information from the device 300 (e.g., a display, a speaker, and / or one or more light emitting diodes (LEDs), etc.).
[0057] In some embodiments, the communication interface 314 includes a transceiver-like component (e.g., a transceiver and / or a separate receiver and transmitter, etc.) that allows the device 300 to communicate with other devices via a wired connection, a wireless connection, or a combination of a wired connection and a wireless connection. In some examples, the communication interface 314 allows the device 300 to receive information from another device and / or provide information to another device. In some examples, the communication interface 314 includes an Ethernet interface, an optical interface, a coaxial interface, an infrared interface, a radio frequency (RF) interface, a universal serial bus (USB) interface, interface and / or cellular network interface, etc.
[0058] In some embodiments, the device 300 performs one or more processes described herein. The device 300 performs these processes based on the processor 304 executing software instructions stored by a computer-readable medium such as a memory 306 and / or a storage component 308. A computer-readable medium (e.g., a non-transitory computer-readable medium) is defined herein as a non-transitory memory device. A non-transitory memory device includes a storage space located within a single physical storage device or a storage space distributed across multiple physical storage devices.
[0059] In some embodiments, software instructions are read into memory 306 and / or storage component 308 from another computer-readable medium or from another device via communication interface 314. When executed, the software instructions stored in memory 306 and / or storage component 308 cause processor 304 to perform one or more of the processes described herein. Additionally or alternatively, hardwired circuitry may be used in place of or in combination with the software instructions to perform one or more of the processes described herein. Therefore, unless expressly stated otherwise, the embodiments described herein are not limited to any specific combination of hardware circuitry and software.
[0060] Memory 306 and / or storage component 308 include a data store or at least one data structure (e.g., a database, etc.). Device 300 can receive information from, store information in, communicate information to, or search for information stored in the data store or at least one data structure in memory 306 or storage component 308. In some examples, the information includes network data, input data, output data, or any combination thereof.
[0061] In some embodiments, device 300 is configured to execute software instructions stored in memory 306 and / or a memory of another device (e.g., another device that is the same as or similar to device 300). As used herein, the term "module" refers to at least one instruction stored in memory 306 and / or a memory of another device that, when executed by processor 304 and / or a processor of another device (e.g., another device that is the same as or similar to device 300), causes device 300 (e.g., at least one component of device 300) to perform one or more processes described herein. In some embodiments, a module is implemented in software, firmware, and / or hardware.
[0062] supply Figure 3 The number and arrangement of components illustrated are examples. In some embodiments, Figure 3 The apparatus 300 may include additional components, fewer components, different components, or components arranged differently than those illustrated. Additionally or alternatively, a collection of components (e.g., one or more components) of the apparatus 300 may perform one or more functions described as being performed by another component or collection of components of the apparatus 300.
[0063] Now refer to Figure 4, illustrates an example block diagram of an autonomous vehicle computing system 400 (sometimes referred to as an "AV stack"). As illustrated, autonomous vehicle computing system 400 includes a perception system 402 (sometimes referred to as a perception module), a planning system 404 (sometimes referred to as a planning module), a positioning system 406 (sometimes referred to as a positioning module), a control system 408 (sometimes referred to as a control module), and a database 410. In some embodiments, perception system 402, planning system 404, positioning system 406, control system 408, and database 410 are included in and / or implemented within an autonomous navigation system of a vehicle (e.g., autonomous vehicle computing system 202f of vehicle 200). Additionally or alternatively, in some embodiments, perception system 402, planning system 404, positioning system 406, control system 408, and database 410 are included in one or more independent systems (e.g., one or more systems that are the same as or similar to autonomous vehicle computing system 400, etc.). In some examples, perception system 402, planning system 404, positioning system 406, control system 408, and database 410 are included in one or more independent systems located in the vehicle and / or at least one remote system as described herein. In some embodiments, any and / or all of the systems included in autonomous vehicle computing 400 are implemented in software (e.g., software instructions stored in a memory), computer hardware (e.g., via a microprocessor, microcontroller, application specific integrated circuit (ASIC) and / or field programmable gate array (FPGA)), or a combination of computer software and computer hardware. It will also be understood that in some embodiments, autonomous vehicle computing 400 is configured to communicate with a remote system (e.g., an autonomous vehicle system that is the same as or similar to remote AV system 114, a fleet management system 116 that is the same as or similar to fleet management system 116, and / or a V2I system that is the same as or similar to V2I system 118, etc.).
[0064] In some embodiments, perception system 402 receives data associated with at least one physical object in an environment (e.g., data used by perception system 402 to detect at least one physical object) and classifies the at least one physical object. In some examples, perception system 402 receives image data captured by at least one camera (e.g., camera 202a), the image being associated with (e.g., representing) one or more physical objects within the field of view of the at least one camera. In such examples, perception system 402 classifies at least one physical object based on one or more groups of physical objects (e.g., bicycles, vehicles, traffic signs, and / or pedestrians, etc.). In some embodiments, based on perception system 402 classifying the physical object, perception system 402 sends data associated with the classification of the physical object to planning system 404.
[0065] In some embodiments, planning system 404 receives data associated with a destination and generates data associated with at least one route (e.g., route 106) along which a vehicle (e.g., vehicle 102) can travel toward the destination. In some embodiments, planning system 404 periodically or continuously receives data (e.g., the data associated with the classification of physical objects described above) from perception system 402, and planning system 404 updates at least one trajectory or generates at least one different trajectory based on the data generated by perception system 402. In other words, planning system 404 can perform tasks related to the tactical functions required to operate vehicle 102 in traffic on the road. Tactical efforts involve maneuvering the vehicle in traffic during the journey, including, but not limited to, deciding whether and when to overtake another vehicle, change lanes, or select an appropriate speed, acceleration, deceleration, etc. In some embodiments, planning system 404 receives data associated with the updated position of the vehicle (e.g., vehicle 102) from positioning system 406, and planning system 404 updates at least one trajectory or generates at least one different trajectory based on the data generated by positioning system 406.
[0066] In some embodiments, positioning system 406 receives data associated with (e.g., representing) a location of a vehicle (e.g., vehicle 102) in an area. In some examples, positioning system 406 receives LiDAR data associated with at least one point cloud generated by at least one LiDAR sensor (e.g., LiDAR sensor 202b). In some examples, positioning system 406 receives data associated with at least one point cloud from multiple LiDAR sensors, and positioning system 406 generates a combined point cloud based on the individual point clouds. In these examples, positioning system 406 compares the at least one point cloud or the combined point cloud with a two-dimensional (2D) and / or three-dimensional (3D) map of the area stored in database 410. Then, based on positioning system 406 comparing the at least one point cloud or the combined point cloud with the map, positioning system 406 determines the position of the vehicle in the area. In some embodiments, the map includes a combined point cloud of the area generated prior to navigation of the vehicle. In some embodiments, the map includes, but is not limited to, a high-precision map of roadway geometry, a map describing road network connectivity, a map describing roadway physical properties (such as traffic speed, traffic volume, number of vehicle and bicycle lanes, lane width, lane traffic direction, or type and location of lane markings, or a combination thereof), and a map describing the spatial location of road features (such as crosswalks, traffic signs, or various other types of driving signals). In some embodiments, the map is generated in real time based on data received by the perception system.
[0067] In another example, positioning system 406 receives global navigation satellite system (GNSS) data generated by a global positioning system (GPS) receiver. In some examples, positioning system 406 receives GNSS data associated with the location of the vehicle in the area, and positioning system 406 determines the latitude and longitude of the vehicle in the area. In such an example, positioning system 406 determines the position of the vehicle in the area based on the latitude and longitude of the vehicle. In some embodiments, positioning system 406 generates data associated with the position of the vehicle. In some examples, based on positioning system 406 determining the position of the vehicle, positioning system 406 generates data associated with the position of the vehicle. In such an example, the data associated with the position of the vehicle include data associated with one or more semantic properties corresponding to the position of the vehicle.
[0068] In some embodiments, the control system 408 receives data associated with at least one trajectory from the planning system 404, and the control system 408 controls the operation of the vehicle. In some examples, the control system 408 receives data associated with at least one trajectory from the planning system 404, and the control system 408 controls the operation of the vehicle by generating and sending control signals to operate the powertrain control system (e.g., the DBW system 202h and / or the powertrain control system 204), the steering control system (e.g., the steering control system 206), and / or the braking system (e.g., the braking system 208). For example, the control system 408 is configured to perform operational functions such as lateral vehicle motion control or longitudinal vehicle motion control. Lateral vehicle motion control causes the necessary actions to regulate the y-axis component of the vehicle's motion. Longitudinal vehicle motion control causes the necessary actions to regulate the x-axis component of the vehicle's motion. In an example, if the trajectory includes a left turn, the control system 408 sends a control signal to cause the steering control system 206 to adjust the steering angle of the vehicle 200, thereby causing the vehicle 200 to turn left. Additionally or alternatively, the control system 408 generates and sends control signals to cause other devices of the vehicle 200 (eg, headlights, turn signals, door locks, and / or windshield wipers, etc.) to change states.
[0069] In some embodiments, perception system 402, planning system 404, positioning system 406, and / or control system 408 implement at least one machine learning model (e.g., at least one multilayer perceptron (MLP), at least one convolutional neural network (CNN), at least one recurrent neural network (RNN), at least one autoencoder, and / or at least one transformer, etc.). In some examples, perception system 402, planning system 404, positioning system 406, and / or control system 408, alone or in combination with one or more of the above systems, implement at least one machine learning model. In some examples, perception system 402, planning system 404, positioning system 406, and / or control system 408 implement at least one machine learning model as part of a pipeline (e.g., a pipeline for identifying one or more objects located in an environment, etc.).
[0070] Database 410 stores data sent to, received from, and / or updated by perception system 402, planning system 404, positioning system 406, and / or control system 408. In some examples, database 410 includes a storage component for storing data and / or software related to operations and using at least one system of autonomous vehicle computing 400 (e.g., Figure 3In some embodiments, database 410 stores data associated with a 2D and / or 3D map of at least one area. In some examples, database 410 stores data associated with a 2D and / or 3D map of a portion of a city, portions of multiple cities, multiple cities, a county, a state, and / or a country (e.g., a country), etc. In such an example, a vehicle (e.g., a vehicle that is the same as or similar to vehicle 102 and / or vehicle 200) can drive along one or more drivable areas (e.g., a single-lane road, a multi-lane road, a highway, a back road, and / or an off-road road, etc.) and cause at least one LiDAR sensor (e.g., a LiDAR sensor that is the same as or similar to LiDAR sensor 202b) to generate data associated with an image representing objects included in the field of view of the at least one LiDAR sensor.
[0071] In some embodiments, database 410 can be implemented across multiple devices. In some examples, database 410 includes a vehicle (e.g., a vehicle that is the same as or similar to vehicle 102 and / or vehicle 200), an autonomous vehicle system (e.g., an autonomous vehicle system that is the same as or similar to remote AV system 114), a fleet management system (e.g., a vehicle ... Figure 1 The same or similar queue management system as the queue management system 116 of FIG) and / or the V2I system (e.g., Figure 1 The V2I system 118 is the same or similar V2I system) and the like.
[0072] Now refer to Figures 5 to 7 , a diagram illustrating systems 500, 600, 700 for dynamic autonomous vehicle modem control and / or orchestration. In some embodiments, the systems 500, 600, 700 are coupled to a vehicle 550 (e.g., Figure 2 The vehicle 200 is connected to and / or incorporated into the vehicle 550. In one or more embodiments or examples, the system 500, 600, 700 is connected to an AV (e.g., such as Figure 2 The autonomous system 202 illustrated in Figure 3 300, etc.), AV systems, AV computing (such as Figure 2 AV Computing 202F and / or Figure 4 AV computing 400, etc.), remote AV systems (such as Figure 1 Remote AV system 114, etc.), queue management system (such as Figure 1 queue management system 116, etc.) and V2I systems (such as Figure 1 V2I system 118, etc.) communications, and / or AV (e.g., such as Figure 2 The autonomous system 202 illustrated in Figure 3 300, etc.), AV systems, AV computing (such as Figure 2 AV Computing 202F and / or Figure 4 AV computing 400, etc.), remote AV systems (such as Figure 1 Remote AV system 114, etc.), queue management system (such as Figure 1 queue management system 116, etc.) and V2I systems (such as Figure 1 part of the V2I system 118, etc.
[0073] In one or more embodiments or examples, the system 500, 600, 700 communicates with one or more of the following: a device (such as Figure 3 300, etc.), communication interfaces (such as Figure 3 communication interface 314, etc.), communication devices (such as Figure 2 Communication devices 202e, etc.), network devices (such as Figure 1 one or more devices of the network 112, etc.) and a control system (such as Figure 4 control system 408, etc.).
[0074] In one or more embodiments or examples, the system 500, 600, 700 includes a first modem 504A, a second modem 504B, and a plurality of electronic control units (ECUs) 506A, 506B. In one or more embodiments or examples, the system 500, 600, 700 includes at least one system-on-chip (SoC) 502, 602, 702 communicatively coupled to the modems 504A, 504B and each of the plurality of ECUs 506A, 506B to perform specific operations. In one or more embodiments or examples, the SoC 502, 602, 702 is configured to determine performance parameters for each modem (e.g., performance parameters 620A for modem 504A and performance parameters 620B for modem 504B, respectively). In one or more embodiments or examples, the SoC is configured to control the communication of data between at least one of the plurality of ECUs and one of the modems based on the performance parameters. In one or more examples, the term "ECU" may be used interchangeably with the term "processor." In some examples, the ECU is an embedded system, such as in an automotive electronics device used to control one or more electrical systems or subsystems of a vehicle, such as an AV, etc. In some examples, the ECU includes one or more of the following: an engine control module, a powertrain control module, a transmission control module, a brake control module, a central control module, a central timing module, a general electronics module, a body control module, and a suspension control module.
[0075] In some examples, a SoC is an integrated circuit that includes a processor, memory, and an interface (e.g., one or more modems). Examples of SoCs include application-specific integrated circuits and / or field programmable gate arrays. For example, a SoC includes peripherals associated with an interface, a microprocessor and / or microcontroller, and / or one or more modems. Examples of peripherals include one or more of the following: a counter timer, a real-time timer, a power-on reset generator, a voltage regulator, and a power management circuit.
[0076] In other words, the SoC 502, 602, 702 (e.g., within the architecture) can be used to dynamically control the data flow between the modem 504A, 504B (e.g., local network routing) and the ECU 506A, 506B of the system 500, 600, 700. In addition, the SoC 502, 602, 702 can control the communication (e.g., control the flow of data) in either direction (e.g., uplink, downlink) between the modem 504A, 504B, the server (e.g., network 510A, 510B), and / or the ECU 506A, 506B. This can allow for improved data flow and prioritization of important data for busy and / or problematic communications between the ECU 506A, 506B and the server via the modem 504A, 504B. The system 500, 600, 700 may have other ECUs, modems, and networks not shown in the figure, such as a third, fourth, fifth, etc. ECU, modem, and network, respectively.
[0077] In one or more examples or embodiments, different ECUs 506A, 506B have different purposes, such as for controlling passenger displays (sometimes referred to as in-cabin displays), camera monitoring systems (CMS), etc. In some examples, certain ECUs require higher data throughput and / or bandwidth, such as for audio and / or video streaming, which may overwhelm (e.g., congest the link used for data communication) a particular modem 504A, while another modem 504B can handle such data throughput. In other words, when certain ECUs 506A, 506B request communication of data that requires more bandwidth (e.g., high throughput requirements), a particular modem 504A, 504B may be prone to congestion. In this example, the SoC 502, 602, 702 is configured to centralize video streaming ECU data into one of the modems (e.g., the first modem 504A), and centralize all other data into another modem (e.g., the second modem 504B). In other words, for example, the SoC 502, 602, 702 is configured to communicate video streaming ECU data via one of the modems and communicate remaining data (eg, from other ECUs intended to access the server) via another modem.
[0078] In one or more examples or embodiments, the SoC 502, 602, 702 analyzes the performance of the modems 504A, 504B and determines which modem 504A, 504B can communicate with and / or serve the ECU 506A, 506B by measuring signal quality (e.g., which modem 504A, 504B achieves improved performance (such as signal strength and / or reliability of traffic data, etc.)). In one or more examples or embodiments, the modems 504A, 504B are configured to communicate (e.g., send and receive data) with different networks, such as network 510A and network 510B. The networks 510A, 510B can be used for different types of data communications (e.g., different communication scenarios, different types of communication systems, different radio conditions, different network operators), such as ridesharing, telecommunications, system maintenance and / or assistance, entertainment, etc. In some examples, the system 500 further includes a switch 508 (e.g., an Ethernet switch) that communicates with one or more of the modems 504A, 504B and the ECUs 506A, 506B. The switch 508 can change the data path between the ECUs 506A, 506B and the modems 504A, 504B and / or route data between the ECUs 506A, 506B and the modems 504A, 504B. The SoCs 502, 602, 702 can be configured to control how data between the modems 504A, 504B and the ECUs 506A, 506B is provided and / or routed through the switch 508. In other words, the SoC 502, 602, 702 can evaluate the signal quality (and / or available bandwidth) of each modem 504A, 504B, identify the need and / or need and priority of each ECU 506A, 506B attempting to access the network 510A, 510B for data communications, and then provide instructions regarding which of the modems 504A, 504B to use and / or which local network route to use.
[0079] In one or more examples or embodiments, the SoC 502, 602, 702 is configured to determine performance parameters of the modems (such as a first performance parameter 620A for the first modem 504A, a second performance parameter 620B for the second modem 504B, etc.). For example, the SoC 502, 602, 702 continuously determines the performance parameter(s) 620A, 620B. Alternatively, the SoC 502, 602, 702 may determine the performance parameter(s) 620A, 620B at specific intervals and / or based on a data transmission request. In some examples, the performance parameters 620A, 620B indicate cellular performance of the respective modems 504A, 504B. For example, the cellular performance includes one or more of the following: bandwidth, signal performance, signal-to-interference-plus-noise ratio (SINR), received signal strength indicator (RSSI), reference signal received quality (RSRQ), reference signal received power (RSRP), and signal-to-noise ratio (SNR). In one or more examples or embodiments, the performance parameter(s) 620A, 620B indicate available bandwidth (eg, available local Ethernet bandwidth between the modem 504A and the switch 508).
[0080] In some examples, the SoC 502, 602, 702 controls data communication between at least one of the plurality of ECUs 506A, 506B and one of the modems 504A, 504B. In some examples, the SoC 502, 602, 702 controls data communication between each of the plurality of ECUs 506A, 506B and one of the modems 504A, 504B. In one or more examples or embodiments, controlling the communication of data includes organizing, scheduling, preparing, configuring, routing, and / or rerouting data. In one or more examples or embodiments, controlling the communication of data includes selecting a modem to be used for communication of the data and notifying the ECUs of their respective selected modems, for example, using a modem identifier associated with the modem. In other words, the SoC 502, 602, 702 dynamically configures the different ECUs 506A, 506B to communicate data with the respective modems 504A, 504B. For example, the SoC 502, 602, 702 compares the first performance parameter 620A with the second performance parameter 620B. In some examples, the SoC 502, 602, 702 controls data communications between an ECU of the plurality of ECUs 506A, 506B and the modem 504A, 504B with the highest performance, as indicated by the respective performance parameter 620A, 620B. For example, a modem with better performance may be assigned by the SoC to transmit and / or receive data from a given ECU requiring greater throughput or higher priority data. There may be instances where the SoC 502, 602, 702 controls data communications between an ECU of the plurality of ECUs 506A, 506B and a modem 504A, 504B with the lowest performance, as indicated by the respective performance parameter 620A, 620B (such as for low-priority data transmission). For example, a modem with lower performance may be assigned by the SoC to transmit and / or receive data from a given ECU requiring lower throughput or lower priority data.
[0081] In one or more embodiments or examples, the SoC 502, 602, 702 is further configured to determine and / or obtain a priority parameter associated with the data. The SoC 502, 602, 702 can then control the communication of the data based on the priority parameter. For example, the priority parameter associated with the data indicates the traffic type of the data. The traffic type is, for example, a Quality of Service (QoS) category. The traffic type may indicate, for example, whether the data is real-time data or non-real-time data, best-effort data, conversational data, low-latency data, and / or ultra-reliable data. In one or more examples or embodiments, the priority parameter is predefined. Alternatively, the priority parameter can be dynamic, such as deterministic based on the traffic type. The SoC 502, 602, 702 can determine the available bandwidth between each modem 504A, 504B and the switch 508 as a performance parameter. In this manner, the SoC 502, 602, 702 can be configured to dynamically adjust the routing of data via one of the modems based on the performance parameter and whether the data should be prioritized. For example, for traffic types such as real-time data and / or low-latency data, SoC 502, 602, 702 prioritizes that data over other types of data to a modem with higher performance parameters. In some examples, data is prioritized based on a combination of the traffic type of the data and additional parameters (such as time parameters). For example, during a particular phase of an autonomous vehicle ride, a particular type of data (e.g., a data category) is temporarily prioritized because the particular type of data is only critical during that vehicle state. For example, a modem (e.g., modem 504A) is assigned by SoC 502, 602, 702 to serve a corresponding ECU (e.g., ECU 506A) for communication of data associated with higher requirements for bandwidth and / or throughput and / or latency (e.g., increased bandwidth and / or increased throughput and / or low latency).
[0082] Figure 5An example system 500 is illustrated, configured such that the SoC 502 acts as a coordinator for broadcasting new routing instructions to each ECU 506A, 506B (e.g., over a data distribution service (DDS) bus). In this example, each ECU 506A, 506B communicates directly with one of the modems 504A, 504B via a switch 508. In one or more embodiments or examples, communicating control data includes sending and / or providing a configuration signal 622 from the SoC 502 to at least one of the plurality of ECUs 506A, 506B based on performance parameters 620A, 620B. In some examples, controlling communication includes sending and / or providing the configuration signal 622 to each of the plurality of ECUs 506A, 506B. In one or more embodiments or examples, the configuration signal 622 indicates which of the first modem 504A and the second modem 504B the ECU 506A, 506B should communicate with. In some embodiments, the configuration signal 622 includes the routing instructions. In some examples, the routing instructions include instructions indicating which modem 504A, 504B is selected and recommended for communication with each of the plurality of ECUs 506A, 506B. In some examples, each of the plurality of ECUs 506A, 506B accepts the routing instructions or rejects (e.g., ignores) the routing instructions. In some examples, each of the plurality of ECUs 506A, 506B determines which modem 504A, 504B to communicate with based on the configuration signal 622. Thus, the SoC 502 communicates directly with the ECUs 506A, 506B to provide the configuration signal(s) 622.
[0083] In some examples, the SoC 502 also communicates with the modems 504A, 504B. In one or more embodiments or examples, the SoC 502 is configured to send a class indicator to the modems 504A, 504B based on a priority parameter. In some implementations, the class indicator indicates a class of quality of service associated with the communication of the data. For example, the class indicator includes one or more of: a quality of service class identifier (QCI) and an access point name (APN) (such as a generic APN or a preferred APN). In one or more examples or embodiments, the SoC 502 instructs each modem 504A, 504B to use a specific QCI based on the priority parameter of the data. In some examples, the APN is associated with a server (e.g., network 510A, 510B) to which each of the plurality of ECUs 506A, 506B intends to send traffic data. In some examples, the APN level identifies a connection between a corresponding ECU (e.g., ECU 506A, 506B) and a corresponding network (e.g., network 510A, 510B) for communication of data. In other words, different types of data communication (e.g., different data communication scenarios), including, for example, ridesharing, telecommunications, system maintenance and / or assistance, and entertainment, can have different APNs. In some examples, data to be communicated by each of the plurality of ECUs 506A, 506B to each of the networks 510A, 510B via the modems 504A, 504B is associated with a QCI. In other words, data to be communicated by each of the plurality of ECUs 506A, 506B can be prioritized based on the QCI. For example, communication of data between corresponding ECUs (e.g., ECU 506A, 506B) and corresponding networks (e.g., networks 510A, 510B) is associated with an APN and / or QCI.
[0084] In some examples, the SoC 502 also communicates with a server (e.g., in the networks 510A, 510B). In one or more embodiments or examples, the SoC 502 sends a server configuration signal to the server based on the performance parameters 620A, 620B. In one or more embodiments or examples, the server configuration signal indicates which of the modems 504A, 504B the server will communicate with, such as for downlink transmissions. In other words, the SoC 502 indicates which modem 504A, 504B the server will use to send data to the vehicle 550. For example, the server configuration signal includes an Internet Protocol (IP) address associated with each modem 504A, 504B. This can serve as a downlink or the reverse side of the configuration signal 622 for providing uplink data to the ECUs 506A, 506B.
[0085] Figure 6An example system 600 is illustrated having an SoC 602 that communicates instructions directly to a switch 508 indicating which of the modems 504A, 504B each of the plurality of ECUs 506A, 506B is to communicate with. Figure 5 As discussed, the SoC 602 can optionally communicate with the ECUs 506A, 506B. In some examples, the SoC 602 includes any and / or all of the elements discussed with respect to the SoC 502. In one or more embodiments or examples, the SoC 602 sends a switch configuration signal 722 to the switch 508 (communicatively coupled to the plurality of ECUs 506A, 506B, the first modem 504A, and the second modem 504B) based on the performance parameters 620A, 620B. In other words, in some examples, the SoC 602 determines which of the modems 504A, 504B to service each of the plurality of ECUs 506A, 506B based on the cellular performance parameters associated with the modems 504A, 504B. In one or more embodiments or examples, the switch configuration signal 722 indicates to the switch 508 which of the modems 504A, 504B to communicate data. In some examples, the switch 508 routes and / or reroutes traffic data obtained from or associated with each of the plurality of ECUs 506A, 506B based on the switch configuration signal 722. For example, the SoC 602 assigns the plurality of ECUs 506A, 506B to the modems 504A, 504B via the switch 508. For example, the SoC 602 performs dynamic orchestration of the modems 504A, 504B via the switch 508. In other words, the SoC 602 can communicate with the switch 508 to dynamically change traffic routing for each of the ECUs 506A, 506B by changing the routing during runtime (e.g., in real time and / or on the fly). In some examples, the switch 508 routes and / or reroutes traffic data associated with each of the plurality of ECUs 506A, 506B while ensuring interoperability and compatibility with the hardware and software architecture (e.g., hardware components and / or software-based components) of the vehicle 550.
[0086] Figure 7 An example system 700 is illustrated with a SoC 702 communicating directly with a switch 508. The SoC 702 may optionally also communicate with a switch 508. Figure 5 The ECUs 506A, 506B discussed communicate and / or with the Figure 6SoC 702 may include any and / or all of the elements discussed with respect to SoC 502 and SoC 602. In one or more embodiments or examples, SoC 702 receives (e.g., obtains) data (e.g., Figure 7 702). In one or more embodiments or examples, the SoC 702 schedules the transmission of data based on the performance parameters 620A, 620B. In one or more embodiments or examples, the SoC 702 sends the data based on the schedule to one of the following: the first modem 504A, the second modem 504B, and an ECU in the plurality of ECUs 506A, 506B. In other words, the SoC 702 acts as a forwarding daemon (e.g., a gateway using port forwarding) and passes the data to the modems 504A, 504B and / or the ECUs 506A, 506B based on priority parameters and / or based on available cellular resources. In some examples, as illustrated by the double arrow 724, the SoC 702 receives data from the switch 508 and sends the data back to the switch 508. In some examples, the at least one SoC 702 determines which of the first modem 504A and the second modem 504B to serve each of the plurality of ECUs 506A, 506B based on the first performance parameter 620A and / or the second performance parameter 620B (e.g., a cellular performance parameter) and / or data from each of the plurality of ECUs 506A, 506B, wherein the data from each of the plurality of ECUs 506A, 506B has a different transmission priority (e.g., traffic data intended to be sent by the first modem 504A or the second modem 504B to the cloud server). For example, when determining which of the modems 504A, 504B each ECU 506A, 506B will communicate with, the SoC sends such information to the switch 508. In other words, the SoC sends (e.g., with) Figure 6 722) to enable the switch 508 to route and / or reroute data associated with each of the plurality of ECUs 506A, 506B to a server (such as the networks 510A, 510B, etc.). In other examples, the SoC 702 receives data from the modems 504A, 504B and / or the ECUs 506A, 506B via the switch 508, schedules the data, and reroutes the data back to the switch 508 for distribution to the ECUs and / or modems, respectively.
[0087] In some examples, SoC 702 schedules transmissions, such as prioritizing and / or sequencing the transmission of different data. In one or more embodiments or examples, SoC 702 is configured to schedule resources based on performance parameters 620A, 620B and priority parameters associated with the data. In some examples, SoC 702 centralizes traffic handling, thereby providing more control over data communications.
[0088] Now refer to Figure 8 , which illustrates a flow chart of a method or process 800 for dynamic autonomous vehicle modem orchestration. The method may be implemented by the systems 500, 600, 700 disclosed herein (such as Figure 2 AV Computing 202f and Figure 4 AV calculation 400, respectively Figure 1 102 vehicles, Figure 2 200 vehicles, Figure 5 、 Figure 6 and Figure 7 The vehicle 550, and Figure 3 In some examples, the disclosed system includes at least one processor configured to perform one or more operations of method 800. Method 800 can be performed (e.g., completely and / or partially, etc.) by another device or group of devices that is separate from or includes the system disclosed herein.
[0089] In one or more examples or embodiments, method 800 includes any and / or all of the steps discussed above. For example, method 800 (such as the steps of method 800) is performed using a system-on-chip (SoC). The SoC may include any and / or all of the details regarding SoCs 502, 602, and 702 discussed in detail above. As shown, method 800 includes: determining a first performance parameter indicating the communication performance of a first modem at step 802; and determining a second performance parameter indicating the communication performance of a second modem at step 804. The modems used in method 800 may include any and / or all of the details regarding first modem 504A and second modem 504B discussed above. In some embodiments, method 800 includes controlling the communication of data (e.g., information) between at least one ECU and the first modem or the second modem based on the first performance parameter and the second performance parameter at step 806. In other words, method 800 may control the flow of data between the ECU and the modem.
[0090] In the previous description, aspects and embodiments of the present disclosure have been described with reference to many specific details, which may vary from implementation to implementation. Therefore, the description and drawings should be regarded as illustrative, not restrictive. The sole and exclusive indication of the scope of the invention, and what the applicants intend to be the scope of the invention, is the literal and equivalent scope of the claims from the present application in the specific form of the claims in the grant announcement, including any subsequent amendments. Any definitions of terms expressly set forth herein for inclusion in such claims should be based on the meaning of such terms as used in the claims. In addition, when the term "also includes" is used in the previous description or the appended claims, the phrase may be followed by additional steps or entities, or sub-steps / sub-entities of the previously described steps or entities.
[0091] A non-transitory computer-readable medium is disclosed, comprising instructions stored thereon, which, when executed by at least one processor, cause the at least one processor to perform one or more operations according to the method disclosed herein.
[0092] Also disclosed are methods, non-transitory computer-readable media, and systems according to any of the following:
[0093] Item 1. A method comprising:
[0094] determining, using at least one system on a chip (SoC), a first performance parameter indicative of communication performance of the first modem;
[0095] determining, using the at least one SoC, a second performance parameter indicative of communication performance of the second modem; and
[0096] Using the at least one SoC, communication of data between at least one ECU among a plurality of electronic control units (ECUs) and the first modem or the second modem is controlled based on the first performance parameter and the second performance parameter.
[0097] Item 2. The method according to item 1, further comprising:
[0098] obtaining a priority parameter associated with the data;
[0099] Wherein, controlling the communication of the data includes: further controlling the communication of data between each ECU of the plurality of ECUs and one of the first modem and the second modem based on the priority parameter.
[0100] Item 3. The method of any preceding item, wherein controlling the communication of the data comprises:
[0101] Based on the first performance parameter and the second performance parameter, a configuration signal is sent from the at least one SoC to at least one ECU of the plurality of ECUs, the configuration signal indicating which of the first modem and the second modem each ECU of the plurality of ECUs is to communicate with.
[0102] Item 4. The method of item 3 as dependent upon item 2, wherein controlling the communication of the data comprises:
[0103] Based on the priority parameter, a class indicator is sent from the at least one SoC to the first modem and the second modem, the class indicator indicating a class of quality of service for communication of the data.
[0104] Item 5. The method of any one of Items 2 to 4, wherein controlling the communication of the data comprises:
[0105] Based on the first performance parameter and the second performance parameter, a server configuration signal is sent from the at least one SoC to a server, the server configuration signal indicating which one of the first modem and the second modem the server is to communicate with.
[0106] Item 6. The method of any preceding item, wherein controlling the communication of the data comprises:
[0107] Based on the first performance parameter and the second performance parameter, a switch configuration signal is sent from the at least one SoC to a switch communicatively coupled to the plurality of ECUs, the first modem, and the second modem, the switch configuration signal indicating with which of the first modem and the second modem the switch is to communicate the data.
[0108] Item 7. The method of any preceding item, wherein controlling the communication of the data comprises:
[0109] receiving, by the at least one SoC, the data;
[0110] scheduling, by the at least one SoC, transmission of the data based on the first performance parameter and the second performance parameter; and
[0111] The data is sent by the at least one SoC to one of: the first modem, the second modem, and an ECU of the plurality of ECUs based on the schedule.
[0112] Item 8. The method of item 7, wherein scheduling the transmission of the data comprises:
[0113] Resources are scheduled based on the first performance parameter, the second performance parameter, and a priority parameter associated with the data.
[0114] Item 9. A system comprising:
[0115] first modem;
[0116] Second modem;
[0117] multiple electronic control units (ECUs); and
[0118] At least one system on a chip (SoC) communicatively coupled to the first modem, the second modem, and each ECU in the plurality of ECUs, wherein the at least one SoC is configured to perform operations including:
[0119] determining a first performance parameter indicative of communication performance of the first modem;
[0120] determining a second performance parameter indicative of communication performance of the second modem; and
[0121] Communication of data between at least one ECU among a plurality of ECUs and the first modem or the second modem is controlled based on the first performance parameter and the second performance parameter.
[0122] Item 10. The system of Item 9, wherein the operations further comprise:
[0123] obtaining a priority parameter associated with the data;
[0124] Wherein, controlling the communication of the data includes: further controlling the communication of data between each ECU of the plurality of ECUs and one of the first modem and the second modem based on the priority parameter.
[0125] Item 11. The system of any one of Items 9 to 10, wherein controlling the communication of the data comprises:
[0126] Based on the first performance parameter and the second performance parameter, a configuration signal is sent from the at least one SoC to at least one ECU of the plurality of ECUs, the configuration signal indicating which of the first modem and the second modem each ECU of the plurality of ECUs is to communicate with.
[0127] Item 12. The system of item 11 as dependent upon item 10, wherein controlling communication of the data comprises:
[0128] Based on the priority parameter, a class indicator is sent from the at least one SoC to the first modem and the second modem, the class indicator indicating a class of quality of service for communication of the data.
[0129] Item 13. The system of any one of Items 11 to 12, wherein controlling the communication of the data comprises:
[0130] Based on the first performance parameter and the second performance parameter, a server configuration signal is sent from the at least one SoC to a server, the server configuration signal indicating which one of the first modem and the second modem the server is to communicate with.
[0131] Item 14. The system of any one of Items 9 to 13, wherein controlling the communication of the data comprises:
[0132] Based on the first performance parameter and the second performance parameter, a switch configuration signal is sent from the at least one SoC to a switch communicatively coupled to the plurality of ECUs, the first modem, and the second modem, the switch configuration signal indicating with which of the first modem and the second modem the switch is to communicate the data.
[0133] Item 15. The system of any one of Items 9 to 14, wherein controlling the communication of the data comprises:
[0134] receiving, by the at least one SoC, the data;
[0135] scheduling, by the at least one SoC, transmission of the data based on the first performance parameter and the second performance parameter; and
[0136] The data is sent by the at least one SoC to one of: the first modem, the second modem, and an ECU of the plurality of ECUs based on the schedule.
[0137] Item 16. The system of Item 15, wherein scheduling the transmission of the data comprises:
[0138] Resources are scheduled based on the first performance parameter, the second performance parameter, and a priority parameter associated with the data.
[0139] Item 17. A non-transitory computer-readable medium comprising instructions stored thereon, the instructions, when executed by at least one system on a chip (SoC), causing the at least one SoC to perform operations comprising:
[0140] determining a first performance parameter indicative of communication performance of the first modem;
[0141] determining a second performance parameter indicative of communication performance of the second modem; and
[0142] Communication of data between at least one ECU among a plurality of ECUs and the first modem or the second modem is controlled based on the first performance parameter and the second performance parameter.
[0143] Item 18. The non-transitory computer-readable medium of Item 17, further comprising:
[0144] obtaining a priority parameter associated with the data;
[0145] Wherein, controlling the communication of the data includes: further controlling the communication of data between each ECU of the plurality of ECUs and one of the first modem and the second modem based on the priority parameter.
[0146] Item 19. The non-transitory computer-readable medium of any one of Items 17 to 18, wherein controlling the communication of the data comprises:
[0147] Based on the first performance parameter and the second performance parameter, a configuration signal is sent from the at least one SoC to at least one ECU of the plurality of ECUs, the configuration signal indicating which of the first modem and the second modem each ECU of the plurality of ECUs is to communicate with.
[0148] Item 20. The non-transitory computer-readable medium of item 19 as dependent upon item 18, wherein controlling the communication of the data comprises:
[0149] Based on the priority parameter, a class indicator is sent from the at least one SoC to the first modem and the second modem, the class indicator indicating a class of quality of service for communication of the data.
[0150] Item 21. The non-transitory computer-readable medium of any one of Items 19 to 20, wherein controlling the communication of the data comprises:
[0151] Based on the first performance parameter and the second performance parameter, a server configuration signal is sent from the at least one SoC to a server, the server configuration signal indicating which one of the first modem and the second modem the server is to communicate with.
[0152] Item 22. The non-transitory computer-readable medium of any one of Items 17 to 21, wherein controlling the communication of the data comprises:
[0153] Based on the first performance parameter and the second performance parameter, a switch configuration signal is sent from the at least one SoC to a switch communicatively coupled to the plurality of ECUs, the first modem, and the second modem, the switch configuration signal indicating with which of the first modem and the second modem the switch is to communicate the data.
[0154] Item 23. The non-transitory computer-readable medium of any one of Items 17 to 22, wherein controlling the communication of the data comprises:
[0155] receiving, by the at least one SoC, the data;
[0156] scheduling, by the at least one SoC, transmission of the data based on the first performance parameter and the second performance parameter; and
[0157] The data is sent by the at least one SoC to one of: the first modem, the second modem, and an ECU of the plurality of ECUs based on the schedule.
[0158] Item 24. The non-transitory computer-readable medium of Item 23, wherein scheduling the transmission of the data comprises:
[0159] Resources are scheduled based on the first performance parameter, the second performance parameter, and a priority parameter associated with the data.
Claims
1. A method comprising: determining, using at least one system on a chip (SoC), a first performance parameter indicative of communication performance of the first modem; determining, using the at least one SoC, a second performance parameter indicative of communication performance of the second modem; as well as Using the at least one SoC, communication of data between at least one ECU among a plurality of electronic control units (ECUs) and the first modem or the second modem is controlled based on the first performance parameter and the second performance parameter.
2. The method according to claim 1, further comprising: obtaining a priority parameter associated with the data; Wherein, controlling the communication of the data includes: further controlling the communication of data between each ECU of the plurality of ECUs and one of the first modem and the second modem based on the priority parameter.
3. A method according to any one of the preceding claims, wherein Controlling the communication of said data comprises: Based on the first performance parameter and the second performance parameter, a configuration signal is sent from the at least one SoC to at least one ECU of the plurality of ECUs, the configuration signal indicating which of the first modem and the second modem each ECU of the plurality of ECUs is to communicate with.
4. The method according to any one of claims 2 to 3, wherein Controlling the communication of said data comprises: Based on the priority parameter, a class indicator is sent from the at least one SoC to the first modem and the second modem, the class indicator indicating a class of quality of service for communication of the data.
5. The method according to any one of claims 1 to 4, wherein Controlling the communication of said data comprises: Based on the first performance parameter and the second performance parameter, a server configuration signal is sent from the at least one SoC to a server, the server configuration signal indicating which one of the first modem and the second modem the server is to communicate with.
6. A method according to any one of the preceding claims, wherein Controlling the communication of said data comprises: Based on the first performance parameter and the second performance parameter, a switch configuration signal is sent from the at least one SoC to a switch communicatively coupled to the plurality of ECUs, the first modem, and the second modem, the switch configuration signal indicating with which of the first modem and the second modem the switch is to communicate the data.
7. A method according to any one of the preceding claims, wherein Controlling the communication of said data comprises: receiving, by the at least one SoC, the data; scheduling, by the at least one SoC, transmission of the data based on the first performance parameter and the second performance parameter; and The data is sent by the at least one SoC to one of: the first modem, the second modem, and an ECU of the plurality of ECUs based on the schedule.
8. The method according to claim 7, wherein: Scheduling the transmission of the data includes: Resources are scheduled based on the first performance parameter, the second performance parameter, and a priority parameter associated with the data.
9. A system comprising: first modem; Second modem; Multiple electronic control units, i.e., multiple ECUs; as well as At least one system on a chip (SoC) communicatively coupled to the first modem, the second modem, and each ECU in the plurality of ECUs, wherein the at least one SoC is configured to perform operations including: determining a first performance parameter indicative of communication performance of the first modem; determining a second performance parameter indicative of communication performance of the second modem; and Communication of data between at least one ECU among a plurality of ECUs and the first modem or the second modem is controlled based on the first performance parameter and the second performance parameter.
10. The system according to claim 9, wherein: The operations further include: obtaining a priority parameter associated with the data; Wherein, controlling the communication of the data includes: further controlling the communication of data between each ECU of the plurality of ECUs and one of the first modem and the second modem based on the priority parameter.
11. The system according to any one of claims 9 to 10, wherein: Controlling the communication of said data comprises: Based on the first performance parameter and the second performance parameter, a configuration signal is sent from the at least one SoC to at least one ECU of the plurality of ECUs, the configuration signal indicating which of the first modem and the second modem each ECU of the plurality of ECUs is to communicate with.
12. The system according to any one of claims 10 to 11, wherein: Controlling the communication of said data comprises: Based on the priority parameter, a class indicator is sent from the at least one SoC to the first modem and the second modem, the class indicator indicating a class of quality of service for communication of the data.
13. The system according to any one of claims 9 to 12, wherein: Controlling the communication of said data comprises: Based on the first performance parameter and the second performance parameter, a server configuration signal is sent from the at least one SoC to a server, the server configuration signal indicating which one of the first modem and the second modem the server is to communicate with.
14. The system according to any one of claims 9 to 13, wherein: Controlling the communication of said data comprises: Based on the first performance parameter and the second performance parameter, a switch configuration signal is sent from the at least one SoC to a switch communicatively coupled to the plurality of ECUs, the first modem, and the second modem, the switch configuration signal indicating with which of the first modem and the second modem the switch is to communicate the data.
15. The system according to any one of claims 9 to 14, wherein: Controlling the communication of said data comprises: receiving, by the at least one SoC, the data; scheduling, by the at least one SoC, transmission of the data based on the first performance parameter and the second performance parameter; and The data is sent by the at least one SoC to one of: the first modem, the second modem, and an ECU of the plurality of ECUs based on the schedule.
16. The system according to claim 15, wherein: Scheduling the transmission of the data includes: Resources are scheduled based on the first performance parameter, the second performance parameter, and a priority parameter associated with the data.
17. A non-transitory computer-readable medium comprising instructions stored thereon, the instructions, when executed by at least one system on a chip (SoC), causing the at least one SoC to perform operations comprising: determining a first performance parameter indicative of communication performance of the first modem; determining a second performance parameter indicative of communication performance of the second modem; as well as Communication of data between at least one ECU among a plurality of ECUs and the first modem or the second modem is controlled based on the first performance parameter and the second performance parameter.
18. The non-transitory computer-readable medium of claim 17, further comprising: obtaining a priority parameter associated with the data; Wherein, controlling the communication of the data includes: further controlling the communication of data between each ECU of the plurality of ECUs and one of the first modem and the second modem based on the priority parameter.
19. The non-transitory computer readable medium according to any one of claims 17 to 18, wherein: Controlling the communication of said data comprises: Based on the first performance parameter and the second performance parameter, a configuration signal is sent from the at least one SoC to at least one ECU of the plurality of ECUs, the configuration signal indicating which of the first modem and the second modem each ECU of the plurality of ECUs is to communicate with.
20. The non-transitory computer readable medium of any one of claims 18 to 19, wherein: Controlling the communication of said data comprises: Based on the priority parameter, a class indicator is sent from the at least one SoC to the first modem and the second modem, the class indicator indicating a class of quality of service for communication of the data.