System and method for managing vehicle system components
A virtual vehicle network system addresses inefficiencies in managing vehicle components by enabling centralized, efficient, and cost-effective development and testing across multiple models and variants through a software abstraction layer.
Patent Information
- Application Number
- JP2024199011
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2024-01-24
- Filing Date
- 2024-11-14
- Publication Date
- 2026-01-08
- Estimated Expiration
- 2044-11-14
AI Technical Summary
The automotive industry faces challenges in managing vehicle components due to the increasing number of models and variants, leading to inefficiencies in software development, testing, and updates, as well as the difficulty in managing software over the air across multiple vehicle models and variants.
A method and system for managing vehicle components using a virtual vehicle network that interconnects hardware and software components, allowing for centralized management and simulation across different geographic locations and users, leveraging a software abstraction layer to facilitate efficient component development, testing, and updates.
Enables efficient and cost-effective management of vehicle components by allowing simultaneous development and testing across multiple models and variants without the need for physical hardware interfaces, reducing travel and resource constraints.
Smart Images

Figure 0007796196000001 
Figure 0007796196000002 
Figure 0007796196000003
Abstract
Description
[Technical Field]
[0001] Systems and methods consistent with exemplary embodiments of the present disclosure relate to vehicle systems, and more particularly, to managing components of vehicle systems. [Background technology]
[0002] The automotive industry faces challenges related to component management due to the increasing number of vehicle models and vehicle variants within each model. As a result, significant amounts of time, cost, and resources are required for component management, including software component development and testing.
[0003] First, in the related art, the physical hardware and software components of a vehicle are designed separately, and the component designs are not incorporated into the vehicle development process but are only used as reference material. Furthermore, during the vehicle development process, software components are built on specific hardware components, which makes it difficult to test them separately or early on before the hardware components are available.
[0004] Furthermore, in the related art, the software development process involves physically interfacing with physical hardware components (e.g., built vehicles or prototypes), which can be expensive and time-consuming. For example, a vendor or supplier must physically visit a vehicle manufacturer's test facility where prototypes, production hardware, underlying systems, and the like are deployed. This often involves traveling to different areas and scheduling time to utilize the test facility. Furthermore, the number of resources within a test facility may be limited, thus limiting the number of processes that can occur simultaneously at the test facility.
[0005] Additionally, in related art, variations of hardware and software components may be limited within a single vehicle model and / or vehicle variant. In this regard, many vehicle manufacturers have a significant number of vehicle models and multiple vehicle variants per vehicle model. These vehicle models and variants require software development, testing, and updates before the software can be deployed to the vehicle. Therefore, creating, testing, and updating software is complex, time-consuming, and costly.
[0006] Furthermore, related art makes it difficult to manage (e.g., build, test, deploy, etc.) software components over the air (OTA) across multiple vehicle models and variants because OTA management requires the vehicle manufacturer to have exact replicas of all vehicle models and variants.
[0007] In view of the above, there is a need for a more efficient and cost-effective method for developing, testing, and updating components in vehicle systems. Summary of the Invention
[0008] SUMMARY Exemplary embodiments of the present disclosure provide methods, systems, and apparatus for effectively and efficiently managing one or more components in one or more vehicle systems.
[0009] According to an embodiment, a method for managing components of a vehicle system is provided, which may be implemented by at least one processor of the system and may include receiving a first user input from a first user associated with selecting at least one of a single vehicle model, a single variant of the single vehicle model, multiple vehicle models, a single variant of the multiple vehicle models, and multiple variants of the multiple vehicle models, receiving a second user input from the first user associated with configuring a simulation environment, determining, based on the first user input and the second user input, multiple hardware components and multiple software components associated with the first user input and the second user input, constructing a virtual vehicle network by interconnecting the multiple hardware components and multiple software components, the virtual vehicle network comprising the interconnections of components of the vehicle system, receiving a third user input from the first user associated with a first operation managing a first portion of the hardware and software components in the virtual vehicle network, and performing a first operation in the virtual vehicle network to manage the first portion of the hardware and software components based on the third user input.
[0010] According to an embodiment, the method may further include receiving a fourth user input from a second user selecting the virtual vehicle network, receiving a fifth user input from the second user associated with a second operation managing a second portion of the hardware and software components in the virtual vehicle network, and performing the second operation in the virtual vehicle network to manage the second portion of the hardware and software components based on the fifth user input, where the second operation may be different from the first operation and the second portion may be different from the first portion.
[0011] According to embodiments, at least some of the hardware components, software components, or combinations of hardware and software components may be located in different geographic locations. Additionally or alternatively, at least some of the hardware components, software components, or combinations of hardware and software components may be associated with a user different from the first user. The hardware components may include production hardware, prototype hardware, or a combination of production hardware and prototype hardware. The software components may include production software, prototype software, virtual hardware, or a combination of production software, prototype software, and virtual hardware.
[0012] According to an embodiment, at least a portion of the plurality of hardware components and at least a portion of the plurality of software components are located in different geographic locations, and constructing the virtual vehicle network may include constructing at least one virtual vehicle replica based on the plurality of hardware components and the plurality of software components located in the different geographic locations, constructing at least one simulation model, and interconnecting the at least one virtual vehicle replica to the at least one simulation model to construct the virtual vehicle network.
[0013] According to an embodiment, constructing the at least one virtual vehicle replica may include obtaining connectivity configuration information, creating a virtual network based on the connectivity configuration information, and interconnecting hardware components and software components located at different geographic locations with the virtual network. Interconnecting the hardware components and software components may include deploying the software components on one or more devices communicatively coupled to the system, securing the hardware components, and interconnecting the one or more devices and the secured hardware components.
[0014] According to an embodiment, constructing the at least one simulation model may include obtaining at least one behavioral model and at least one state model based on the second user input, and interconnecting the at least one behavioral model and the at least one state model to construct the at least one simulation model. At least the behavioral model may include information defining vehicle dynamics, vehicle kinematics, and vehicle control. The at least one state model may include information defining road conditions, weather conditions, traffic conditions, and events.
[0015] According to an embodiment, performing the one or more actions may include performing at least one of: sharing at least a portion of the virtual vehicle network with one or more users different from the first user; designing a vehicle by preparing at least one virtual vehicle replica; designing test scenarios by preparing at least one simulation model; and testing software components in the virtual vehicle network.
[0016] According to an embodiment, a system for managing vehicle system components is provided, which may include a memory storage that stores computer-executable instructions and at least one processor communicatively coupled to the memory storage. At least one processor may be configured to execute instructions to receive a first user input from a first user associated with selecting at least one of a single vehicle model, a single variant of the single vehicle model, multiple vehicle models, a single variant of the multiple vehicle models, and multiple variants of the multiple vehicle models; receive a second user input from the first user associated with configuring a simulation environment; determine, based on the first user input and the second user input, a plurality of hardware components and a plurality of software components associated with the first user input and the second user input; construct a virtual vehicle network by interconnecting the plurality of hardware components and the plurality of software components, where the virtual vehicle network may include interconnections of components of a vehicle system; receive a third user input from the first user associated with a first operation managing a first portion of the hardware and software components in the virtual vehicle network; and perform a first operation in the virtual vehicle network to manage the first portion of the hardware and software components based on the third user input.
[0017] According to an embodiment, the at least one processor may be further configured to execute instructions to receive a fourth user input from a second user selecting the virtual vehicle network, receive a fifth user input from the second user associated with a second operation of managing a second portion of the hardware and software components in the virtual vehicle network, and perform the second operation in the virtual vehicle network to manage the second portion of the hardware and software components based on the fifth user input, where the second operation may be different from the first operation and the second portion may be different from the first portion.
[0018] According to embodiments, at least some of the hardware components, software components, or combinations of hardware and software components may be located in different geographic locations. Additionally or alternatively, at least some of the hardware components, software components, or combinations of hardware and software components may be associated with a user different from the first user. The hardware components may include production hardware, prototype hardware, or a combination of production hardware and prototype hardware. The software components may include production software, prototype software, virtual hardware, or a combination of production software, prototype software, and virtual hardware.
[0019] According to an embodiment, at least some of the hardware components and at least some of the software components may be located in different geographic locations, and the at least one processor may be configured to execute instructions to construct a virtual vehicular network by building at least one virtual vehicle replica based on the hardware components and software components located at the different geographic locations, building at least one simulation model, and interconnecting the at least one virtual vehicle replica to the at least one simulation model. The at least one processor may be configured to execute instructions to construct the at least one virtual vehicle replica by obtaining connectivity configuration information, creating a virtual network based on the connectivity configuration information, and interconnecting the hardware components and software components located at the different geographic locations with the virtual network. The at least one processor may be configured to execute instructions to deploy the software components on one or more devices communicatively coupled to the system, secure the hardware components, and interconnect the one or more devices and the secured hardware components to interconnect the hardware components and software components.
[0020] According to an embodiment, the at least one processor may be configured to execute instructions to construct the at least one simulation model by obtaining at least one behavioral model and at least one state model based on the second user input, and interconnecting the at least one behavioral model and the at least one state model to construct the at least one simulation model. At least the behavioral model may include information defining vehicle dynamics, vehicle kinematics, and vehicle control. The at least one state model may include information defining road conditions, weather conditions, traffic conditions, and events.
[0021] According to an embodiment, at least one processor may be configured to execute instructions to perform one or more actions by performing at least one of: sharing at least a portion of a virtual vehicle network to one or more users different from the first user; designing a vehicle by preparing at least one virtual vehicle replica; designing test scenarios by preparing at least one simulation model; and testing software components in the virtual vehicle network.
[0022] Additional aspects will be set forth in part in the description that follows, and in part will be apparent from the description, or may be learned by practice of presented embodiments of the present disclosure. [Brief explanation of the drawings]
[0023] The features, advantages, and importance of preferred embodiments of the present disclosure will be described below with reference to the accompanying drawings, in which like reference numerals refer to like elements. [Figure 1] FIG. 1 illustrates a block diagram of an exemplary system architecture for managing components of a vehicle system, according to one or more embodiments. [Figure 2] FIG. 2 illustrates a block diagram of example components of a component management system according to one or more embodiments. [Figure 3] FIG. 3 illustrates a flow diagram of an exemplary method for managing components of a vehicle system, according to one or more embodiments. [Figure 4] FIG. 4 illustrates an exemplary system architecture including a virtual vehicular network, according to one or more embodiments. DETAILED DESCRIPTION OF THE INVENTION
[0024] The following detailed description of preferred embodiments refers to the accompanying drawings. The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit implementations to the precise form disclosed. Modifications and variations are possible in light of the above disclosure or may be acquired from practice of implementations. Furthermore, one or more features or components of one embodiment may be incorporated into or combined with another embodiment (or one or more features of another embodiment). Furthermore, in the flowcharts and descriptions of operations provided below, it is understood that one or more operations may be omitted, one or more operations may be added, one or more operations may be performed (at least partially) concurrently, or the order of one or more operations may be swapped.
[0025] Although particular combinations of features are recited in the claims and / or disclosed herein, such combinations are not intended to limit the disclosure of possible implementations. Indeed, many of the features may be combined in ways not specifically recited in the claims and / or disclosed herein. Although each dependent claim listed below may depend directly on only one claim, the disclosure of possible implementations includes each dependent claim in combination with all other claims in the claim set.
[0026] No element, act, or instruction used herein should be construed as critical or required unless expressly stated otherwise. Also, as used herein, the articles "a" and "an" are intended to include one or more items and may be used interchangeably with "one or more." Where only one item is intended, the term "a" or similar terms are used. Also, as used herein, the terms "has," "have," "having," "include," "including," and the like are intended to be open-ended terms. Furthermore, the phrase "based on" is intended to mean "based at least in part on," unless expressly stated otherwise. Furthermore, phrases such as "at least one of [A] and [B]" or "at least one of [A] or [B]" should be understood to include A only, B only, or both A and B.
[0027] References throughout this specification to "one embodiment," "an embodiment," "a non-limiting preferred embodiment," or similar terms mean that a particular feature, structure, or characteristic described in connection with the illustrated embodiment is included in at least one embodiment of the solution. Thus, the phrases "in one embodiment," "in an embodiment," "a non-limiting preferred embodiment," and similar terms throughout this specification may, but do not necessarily, all refer to the same embodiment.
[0028] Furthermore, the described features, advantages, and characteristics of the present disclosure may be combined in any suitable manner in one or more embodiments. Those skilled in the art will recognize, in light of the description herein, that the present disclosure may be practiced without one or more of the specific features or advantages of a particular embodiment. In other instances, additional features and advantages may be recognized in certain embodiments that may not be present in all embodiments of the present disclosure.
[0029] Additionally, as used herein, the term "vehicle" or the like may refer to any motorized and / or mechanical machine capable of carrying or transporting people and / or cargo, such as cars, trucks, motorcycles, buses, bicycles, mobility scooters, and the like.
[0030] A description of exemplary embodiments of the present disclosure is provided below.
[0031] 1 illustrates a block diagram of an exemplary system architecture 100 for managing components of a vehicle system, according to one or more embodiments. As shown in FIG. 1, system architecture 100 may include a software abstraction layer 110 that communicatively couples multiple components 120 to multiple user equipment (UE) 130. Generally, multiple users associated with multiple UEs 130 may utilize multiple UEs 130 to manage multiple components 120 via software abstraction layer 110.
[0032] The software abstraction layer may bridge or interconnect different components located in different geographic locations and / or associated with different users, thereby providing centralized management of components for multiple locations and / or associated with multiple users through a single abstraction layer. By leveraging a software abstraction layer, exemplary embodiments of the present disclosure enable multiple users to effectively and efficiently manage components of a vehicle system without requiring users to have expert knowledge of all components of the vehicle system, mitigating the requirement to physically travel to locations where components are deployed.
[0033] Furthermore, by leveraging software abstraction layers, exemplary embodiments of the present disclosure allow for component substitution while maintaining the integrity of the component management process. Furthermore, exemplary embodiments allow for underlying components to be of varying levels of abstraction. Finally, exemplary embodiments may provide a hybrid vehicle network system that leverages the high fidelity benefits of physical hardware components and the cost-effectiveness of virtual software components.
[0034] 1, software abstraction layer 110 may include component management system 110-1 and at least one database 110-2. A description of components that may be included in component management system 110-1 is provided below with reference to Figure 2. Further, a description of operations that may be performed by component management system 110-1 and associated example use cases is provided below with reference to Figures 3 and 4.
[0035] Database 110-2 may include one or more of a server, a repository, or any suitable device that may be configured to store and provide data or information. According to embodiments, database 110-2 may utilize indexing and querying capabilities of a database (e.g., SQL, scalable graph databases, etc.) in storing and providing data and information. According to embodiments, database 110-2 may be configured to store and provide data or information in real time or near real time.
[0036] Information that may be stored and provided by database 110-2 may include, but is not limited to, hardware components, software components, vehicle models, vehicle variants, information associated with virtual vehicle networks, and any other suitable data or information.
[0037] In this regard, a "hardware component" as described herein may refer to, but is not limited to, a fully developed, partially developed, and / or prototype physical component in a vehicle, such as a physical electronic control unit (ECU), a transmission control unit (TCU), an actuator in a vehicle, a sensor in a vehicle, a vehicle engine, a vehicle seat, a vehicle gear, a vehicle telematics device, and the like. In this regard, information associated with a hardware component may include, but is not limited to, a function of each hardware component, a type of each hardware component, a location where each hardware component is deployed, a user associated with each hardware component, availability of each hardware component, software information (if any) associated with each hardware component, a vehicle model and vehicle variant that includes each hardware component, and the like.
[0038] The term "software component" as used herein may refer to, but is not limited to, fully developed, partially developed, and / or prototype virtual components related to a vehicle, such as software applications such as operating systems (OS) for systems in a vehicle (e.g., infotainment systems, driver assistance systems, etc.), virtualized and / or emulated ECUs, simulated hardware, and the like. In addition, the term "software component" as used herein may also refer to computer-executable software models, such as operational models that simulate the operating states of a vehicle and state models that simulate the environmental states of a vehicle. In this regard, information associated with a software component may include, but is not limited to, the function of each software component, the type of each software component, the version of each software component, information about storage that stores or hosts each software component, the programming code or algorithm of the software component, information about hardware associated with each software component (if any), resource requirements for deploying each software component, the vehicle model and vehicle variant that include each software component, information about a virtual vehicle network that includes each software component, and the like.
[0039] A "vehicle model" as described herein may refer to a particular lineup, version, and / or type of vehicle produced by a vehicle manufacturer. Each vehicle model may feature a unique set of features, specifications, design elements, and the like that distinguish it from other models within the same / different vehicle manufacturers. Furthermore, vehicle models may be designed according to their intended use (e.g., sedan, truck, sports car, electric vehicle, etc.) and may be identified by a specific name / designation that represents a distinct or recognizable characteristic. In this regard, information associated with a vehicle model may include (but is not limited to) information about a user (e.g., vendor, supplier, etc.) associated with components included in each vehicle model, features / specifications of each vehicle model, information about vehicle variants associated with each vehicle model, the intended use of each vehicle model, the name / designation of each vehicle model, information about hardware components included in each vehicle model, information about software components included in each vehicle model, vehicle specifications or vehicle manual information, and the like.
[0040] The term "vehicle variant" as used herein may refer to trim levels or different versions of a particular vehicle model, each of which may offer various combinations of hardware and software components to provide different features and specifications while maintaining the primary design of the particular vehicle model. By way of example, vehicle variants may be categorized according to the type of vehicle propulsion system (e.g., pure gasoline, diesel, hybrid, pure electric, etc.), the type of vehicle drivetrain system (e.g., front-wheel drive (FWD), rear-wheel drive (RWD), four-wheel drive (4WD), etc.), vehicle trim level (e.g., basic, standard, sport, luxury), and the like. In this regard, information associated with vehicle variants may include (but is not limited to) information about the features of each vehicle variant, information about the hardware and software components associated with each vehicle variant, information about the vehicle model associated with each vehicle variant, the name / designation of each vehicle variant, information about the configuration connecting the hardware and software components in each vehicle variant (which may be referred to herein as the "connection configuration"), and the like.
[0041] The term "virtual vehicle network" as used herein may refer to a representation of the interconnections and relationships between components of a vehicle system as intended by a user. In other words, the virtual vehicle network may define a high-fidelity, dynamic, and customizable communication infrastructure that represents connections between multiple hardware and software components of a user-intended vehicle model (vehicle variants, if any) and a user-defined simulation environment configuration. As further described below with reference to FIGS. 3 and 4, a virtual vehicle network may be composed of at least one virtual vehicle replica and at least one simulation model. In this regard, the term "virtual vehicle replica" as used herein may refer to a representation of the interconnections and relationships between the hardware and software components of a user-intended vehicle model (vehicle variants, if any). On the other hand, the term "simulation model" as used herein may refer to a combination of a software model that defines a virtual environment in which the virtual vehicle replica can be simulated. Specifically, the simulation model may define an environment configuration that simulates one or more user-intended states and scenarios. According to an embodiment, the simulation model may include one or more behavior models and one or more state models. The one or more operating models may include information defining operating configurations, such as vehicle dynamics information for simulating forces (e.g., aerodynamic forces, tire forces, gravity, inertial forces, etc.) acting on vehicle components (e.g., chassis, suspension system, tires, powertrain, etc.), vehicle kinematics information for simulating the movement and geometric relationships between vehicle components (e.g., position, velocity, wheel movement, steering angle, etc.), vehicle control information for simulating control algorithms or actions in managing vehicle functions (e.g., stability control, antilock brake (ABS) control, electronic stability control (ESC), etc.), and the like. The one or more state models may include information defining environmental conditions, such as road conditions, weather conditions, traffic conditions, events, and the like. Further description of the virtual vehicle network, virtual vehicle replica, and simulation models is provided below with reference to FIGS. 3 and 4.
[0042] In this regard, information associated with the virtual vehicle network may include, but is not limited to, information about the hardware and software components that make up the virtual vehicle replica in the virtual vehicle network, such as the connection configuration of the hardware and software components in the virtual vehicle replica, the connection configuration of the virtual vehicle replica and the simulation model, users (e.g., creators, editors, administrators, etc.) associated with the virtual vehicle network, shared settings for the virtual vehicle network, logs of historical operations included in the virtual vehicle network, and the like. According to embodiments, the virtual vehicle network information may be stored in an executable configuration file that is shareable across multiple systems and user devices.
[0043] 1, components 120 may include hardware components 120-1, software components 120-2, and any other suitable components that make up a vehicle system. Because descriptions associated with “hardware components” and “software components” are provided above with reference to database 110-2, redundant descriptions associated therewith may be omitted below for brevity.
[0044] According to an embodiment, at least some of components 120 may be located in different geographic locations. For example, a portion of hardware component 120-1 may be located in a first location and another portion of hardware component 120-1 may be located in a second location, the first location being different from the second location. Similarly, a portion of software component 120-2 may be located / deployed in a different geographic location than another portion of software component 120-2, a portion of hardware component 120-1 may be located in a different geographic location than a portion of software component 120-2, and the like.
[0045] On the other hand, multiple UEs 130-1 through 130-N may include one or more systems, devices, and any other suitable equipment that may be utilized by one or more users associated with one or more of components 120. The one or more users may include, but are not limited to, software developers developing software components, managers of one or more components from among components 120, vehicle manufacturers, vendors, suppliers, and the like. The one or more users may be located in different geographic locations.
[0046] Multiple UEs 130-1 through 130-N may be utilized by one or more associated users to access and utilize component management system 110. Specifically, a user may access component management system 110 via an associated UE to manage one or more components. For example, a user may utilize component management system 110 via an associated UE to build a virtual vehicular network, share at least a portion of the built virtual vehicular network with one or more hardware components and / or one or more software components, design a vehicle using the built virtual vehicular network, design test scenarios using the built virtual vehicular network, perform tests on software components in the virtual vehicular network, and the like. According to an embodiment, multiple users may utilize associated UEs to simultaneously access component management system 110-1 to simultaneously or sequentially perform one or more operations to manage components of a vehicular system.
[0047] According to an embodiment, one or more of the plurality of UEs 130-1 through 130-N may include a computing device (e.g., a desktop computer, a laptop computer, a tablet computer, a handheld computer, a smart speaker, a server, etc.), a mobile device (e.g., a smartphone, etc.), a wearable device (e.g., a pair of smart glasses or a smart watch), a SIM-based device, or any other suitable device that may be associated with one or more users. Further, the plurality of UEs 130-1 through 130-N may include, for example, workstations, test systems associated with one or more test environments, software development systems, and the like.
[0048] According to an embodiment, at least some of the plurality of UEs 130-1 to 130-N may be located at different geographic locations. For example, a first portion of the plurality of UEs 130-1 to 130-N may be utilized by a first user (e.g., a developer of a software component, etc.), and the first user and associated UEs may be located at a first location, while a second portion of the plurality of UEs 130-1 to 130-N may be utilized by a second user (e.g., an administrator of a hardware component, etc.), and the second user and associated UEs may be located at a second location different from the first location.
[0049] According to an embodiment, one or more components of system architecture 100 may be implemented in a cloud environment. For example, at least a portion of software component 120-2 may be defined in computer-executable instances and hosted on multiple cloud servers (e.g., public cloud, private cloud, hybrid cloud, etc.). As another example, one or more operations of component management system 110-1 may be defined in computer-executable instructions and hosted on multiple cloud servers.
[0050] According to embodiments, the components of system architecture 100 may be communicatively connected to one another via one or more networks (e.g., wireless networks, wired networks, or a combination thereof). For example, the one or more networks may include a cellular network (e.g., a fifth-generation (5G) network, a long-term evolution (LTE) network, a third-generation (3G) 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, an optical fiber-based network, or the like, and / or a combination of these or other types of networks. Additionally or alternatively, the one or more networks may include a virtual network, which may include one or more physical network components (e.g., Ethernet, WiFi modules, telecommunications network hardware, etc.) implemented with one or more virtualized network functions (e.g., a control area network (CAN) bus, etc.). According to an embodiment, communication and interaction between software abstraction layer 110 (or one or more components included therein), component 120, and UE 130 may occur over the air (OTA).
[0051] In view of the above, exemplary embodiments of the present disclosure provide a system (and method of utilizing the system) that enables multiple users to design or create intended virtual vehicular networks and simulated environments for managing (e.g., developing, sharing, testing, evaluating, etc.) components of the virtual vehicular networks in intended ways.
[0052] 2 illustrates a block diagram of example components of a component management system 200, according to one or more embodiments. System 200 may correspond to system 110-1 described above with reference to FIG. 1, and thus features described herein with reference to systems 110-1 and 200 may be applicable to one another unless expressly stated otherwise.
[0053] As shown in FIG. 2, component management system 200 may include at least one communication interface 210, at least one storage 220, and at least one processor 230; however, it may be understood that component management system 200 may include more or fewer components than those shown, and / or the components included therein may be arranged in any manner different from that shown, without departing from the scope of the present disclosure.
[0054] The communications interface 210 may include components such as a transceiver (e.g., a transceiver, a separate receiver and transmitter, etc.) that enable the component management system 200 (or one or more components included therein) to communicate with one or more components external to the component management system 200, such as via a wired connection, a wireless connection, or a combination of wired and wireless connections.
[0055] For example, communication interface 210 may connect component management system 200 (or one or more components included therein) to multiple components (e.g., components 120-1 through 120-N in FIG. 1 ) and multiple devices (e.g., UEs 130-1 through 130-N), thereby enabling them to communicate with and interoperate with each other. As another example, communication interface 210 may enable components of component management system 200 to communicate with each other. For example, communication interface 210 may connect storage 220 to processor 230, thereby enabling them to communicate with and interoperate with each other.
[0056] According to embodiments, communication interface 210 may include a hardware-based interface, such as a bus interface, an Ethernet interface, an optical interface, a coaxial interface, an infrared interface, a radio frequency (RF) interface, a universal serial bus (USB) interface, a Wi-Fi interface, a cellular network interface, a software interface, or the like. According to embodiments, communication interface 210 may include at least one controller area network (CAN) bus. Additionally or alternatively, communication interface 210 may include a software-based interface, such as an application programming interface (API), a virtualized network interface (e.g., a virtualized CAN bus), a programmatic interface, or the like. In some implementations, communication interface 210 may function as a bus configuration tool configured to utilize one or more APIs to interconnect vehicle system components (e.g., components 120) in a user-specified vehicle configuration.
[0057] According to an embodiment, communications interface 210 may be configured to receive information from one or more components external to component management system 200 and provide that information to processor 230 for further processing and / or to storage 220 for storage. For example, communications interface 210 may fetch real-time or near real-time status of tasks, retrieve logs associated with tasks, monitor the health status of the virtual vehicle (described further below), enable one or more interactions between one or more users with the virtual vehicle and the test environment, and the like.
[0058] At least one storage 220 may include one or more storage media suitable for storing data, information, and / or computer-readable / computer-executable instructions therein. For example, storage 220 may store computer-readable instructions that, when executed by one or more processors (e.g., processor 230), cause the one or more processors to perform one or more acts or operations described herein. According to an embodiment, storage 220 may include random access memory (RAM), read-only memory (ROM), and / or another type of dynamic or static storage device (e.g., flash memory, magnetic memory, and / or optical memory) that store information and / or instructions for use by processor 230.
[0059] Additionally or alternatively, storage 220 may include a hard disk (e.g., a magnetic disk, an optical disk, a magneto-optical disk, and / or a solid-state disk), a compact disk (CD), a digital versatile disk (DVD), a floppy disk, a cartridge, a magnetic tape, and / or another type of non-transitory computer-readable medium, along with a corresponding drive.
[0060] At least one processor 230 may include one or more processors that are programmable to perform functions or operations that manage components of a vehicle system. For example, processor 230 may be configured to execute computer-readable instructions stored on a storage medium (e.g., storage 220, etc.) to thereby perform one or more acts or operations described herein.
[0061] According to an embodiment, processor 230 may be configured to receive one or more signals (e.g., via communications interface 210, etc.) that define one or more instructions to perform one or more operations. Furthermore, processor 230 may be implemented in hardware, firmware, or a combination of hardware and software. Processor 230 may include a central processing unit (CPU), a graphics processing unit (GPU), an accelerated processing unit (APU), a microprocessor, a microcontroller, a digital signal processor (DSP), a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), and / or another type of processing or computational component.
[0062] 3 illustrates a flow diagram of an example method 300 for managing components of a vehicle system, according to one or more embodiments. One or more operations of method 300 may be performed by at least one processor (e.g., processor 230) of an example embodiment component management system.
[0063] Generally, at least one user may utilize at least one UE to access the component management system, select an intended vehicle model (with or without selecting a vehicle variant), and select an intended operation to manage the components of the intended vehicle model. Accordingly, the component management system may be configured to build a virtual vehicle network representing the user's intended vehicle model (and the user's intended vehicle variant, if any) and a user-intended simulation environment configuration, and, based thereon, perform the user-intended operation to manage the user-intended components. The component management system may generate and present one or more graphical user interfaces (GUIs) to the at least one user, thereby interacting with the at least one user in one or more operations. Further description of exemplary operations is provided below.
[0064] As shown in FIG. 3, in operation S310, at least one processor of the component management system may be configured to receive a first user input associated with a vehicle selection from at least one user.
[0065] Specifically, the at least one processor may receive a first user input from a user (via a UE associated with the user) associated with a selection of a single vehicle model, a single variant of a single vehicle model, multiple vehicle models, single variants of multiple vehicle models, multiple variants of multiple vehicle models, or a combination thereof. According to embodiments, the at least one processor may be configured to generate and present at least one GUI to the user and may receive the first user input via a determination of one or more user interactions with the GUI. For example, upon determining user (or associated UE) access, the at least one processor may collect information of available vehicle models and vehicle variants and include the information in the GUI for user selection. Thus, the user may interact with one or more interactive elements (e.g., interactable text, option lists, buttons, etc.) to select an intended vehicle model and / or intended vehicle variant.
[0066] At operation S320, at least one processor of the component management system may be configured to receive a second user input from a user (via an associated UE) associated with configuring the simulation environment.
[0067] For example, the at least one processor may receive user selections or user definitions or selections for one or more motion models and / or one or more state models, user inputs of, for example, one or more vehicle dynamics parameters, one or more vehicle kinematics parameters, one or more vehicle control parameters, one or more road conditions, one or more weather conditions, one or more traffic conditions, one or more event parameters, and the like. According to an embodiment, the at least one processor may generate and present at least one GUI to a user and may receive a second user input via a determination of one or more user interactions with the GUI in a manner similar to receiving the first user input (described above with reference to operation S310).
[0068] It may be appreciated that operations S310 and S320 described herein above may be performed in any suitable manner, for example, operation S310 may be performed before operation S320, operation S310 may be performed after operation S320, operations S310 and S320 may be performed simultaneously, or the like.
[0069] Still referring to FIG. 3, upon receiving (at operation S310) a first user input for an intended vehicle model / variant and (at operation S320) a second user input for an intended simulation environment configuration, method 300 may proceed to operation S330, where at least one processor of the component management system may be configured to determine, based on the first and second user inputs, a plurality of hardware components and a plurality of software components associated with the user inputs.
[0070] For example, the at least one processor may retrieve information associated with a user-selected vehicle model (and user-selected variants, if any) (which may be referred to herein as “vehicle information”), e.g., vehicle specifications, vehicle design information, and the like, from one or more storage media (e.g., database 110-2, storage 220, etc.) based on a first user input. Similarly, the at least one processor may retrieve information associated with a user-selected or user-defined simulation environment configuration, e.g., user-selected or user-defined behavior model, user-selected or user-defined state model, and the like, from one or more storage media based on a second user input.
[0071] Thus, the at least one processor may determine, based on the obtained vehicle information, a plurality of hardware components and a plurality of software components associated with the user-selected vehicle model (and user-selected variants, if any). By way of example, based on a determination that the user has selected a vehicle model of "Model A" and a vehicle variant of "Variant B," the at least one processor may determine hardware component information associated with the particular combination of "Model A Variant B," such as hardware component type (e.g., engine, sensor, actuator, physical ECU, etc.), hardware component version / serial number, hardware component vendor / supplier, and the like.
[0072] According to an embodiment, the at least one processor may first determine hardware component information for the user-selected vehicle model and then remove information that is not associated with the user-selected vehicle variant. In some implementations, based on a determination that the user has not selected a vehicle variant, the at least one processor may automatically select a default variant (e.g., the most common variant, a variant with basic required features, a variant associated with the user) to be associated with the user-selected vehicle model. In other implementations, based on a determination that the user has not selected a vehicle variant, the at least one processor may simply obtain and maintain all hardware component information associated with the user-selected vehicle model (including hardware component information for all variants for the user-selected vehicle model).
[0073] It may be understood that the at least one processor may determine software component information, such as the type of software component (e.g., OS, virtualized ECU, emulated ECU, behavioral model, state model, etc.), the ID of the software component, the user / user group of the software component (e.g., developer team, vendor, supplier, etc.), information about the hardware or device hosting the software component, the programming code or algorithm of the software component, and the like, based on the first user input and / or the second user input, similar to that described above in connection with the exemplary operation of obtaining hardware component information.
[0074] Still referring to FIG. 3 , once operation S330 determines the hardware and software components associated with the user input (e.g., user-selected vehicle model / vehicle variant, user-defined simulation environment configuration, etc.), method 300 may proceed to operation S340, where at least one processor of the component management system may be configured to build at least one virtual vehicle network based on the plurality of hardware components and the plurality of software components.
[0075] According to an embodiment, the at least one processor may be configured to build a virtual vehicle network by interconnecting a plurality of hardware components and a plurality of software components.
[0076] In some implementations, the at least one processor may construct at least one virtual vehicle replica, construct at least one simulation model, and interconnect the at least one virtual vehicle replica to the at least one simulation model, thereby constructing a virtual vehicle network.
[0077] According to an embodiment, the at least one processor may construct the at least one simulation model by obtaining, based on the second user input (received in act S320), at least one behavioral model and at least one state model, and interconnecting the at least one behavioral model and the at least one state model, thereby constructing the at least one simulation model, wherein the at least one simulation model defines a user-intended simulation environment configuration.
[0078] According to an embodiment, the at least one processor may be configured to build a virtual vehicle replica by interconnecting hardware and software components. Specifically, the at least one processor may obtain connection configuration information (defined in a vehicle specification or vehicle manual, for example) for a user-selected vehicle model (and user-selected vehicle variants, if any) and create a virtual network based thereon. In the context of a virtual vehicle replica, the term “virtual network” may refer to a virtual representation of connections between software and hardware components of a user-selected vehicle model (and user-selected vehicle variants, if any) as if they were communicating between actual vehicles according to the connection configuration information. Upon creating the virtual network, the at least one processor may interconnect multiple hardware and software components with the virtual network, thereby creating the virtual vehicle replica.
[0079] According to embodiments, at least one processor may obtain software components and deploy the software components on appropriate devices or equipment. For example, software components (e.g., virtual ECUs, emulated ECUs, operating systems, behavioral models, state models, etc.) may be defined in the form of one or more containers, and at least one processor may obtain the one or more containers, deploy the one or more containers on one or more devices, and configure the one or more devices to run instances of the one or more containers. According to embodiments, the at least one processor may determine one or more resource requirements for deploying the one or more software components, determine one or more devices from among a plurality of devices communicatively connected to the component management system that meet the one or more resource requirements, and deploy the one or more software components on the determined one or more devices. In this manner, the at least one processor may dynamically deploy software components to any devices that have available resources to run the software components, regardless of the geographic location of the devices on which the software components are deployed.
[0080] According to an embodiment, the at least one processor may determine whether a hardware component is available from among a plurality of hardware components communicatively connected to the component management system and may reserve the hardware component based on a determination that the hardware component is available. In this manner, the at least one processor may dynamically reserve any hardware component that meets requirements, regardless of the geographic location where the hardware component is deployed. Accordingly, the at least one processor may interconnect (e.g., with a virtual network) the devices deploying the software components and the reserved hardware components, thereby establishing a virtual vehicular network.
[0081] According to an embodiment, based on a determination that a software component among the required software components and / or a hardware component among the required hardware components is not available, at least one processor may determine whether a replacement component is available and, if so, may utilize the replacement component.
[0082] For example, based on a determination that a software component is unavailable (e.g., due to a software error, software maintenance, a missing software file, etc.), the at least one processor may retrieve a last known version of the software component (e.g., a backup version, etc.), retrieve another software component associated therewith (e.g., a software component having similar functionality, a software component from a similar user / user group, etc.), and / or retrieve a replacement component in any other suitable manner, and then deploy the replacement component to the device originally determined for deploying the unavailable software component. Alternatively or additionally, the at least one processor may determine whether a hardware component associated with the unavailable software component is available from among multiple hardware components communicatively connected to the component management system and, if available, may use the hardware component as a replacement component. For example, based on a determination that a virtual ECU is unavailable, the at least one processor may determine whether a hardware ECU having the same functionality / features as the virtual ECU is available and, if available, may use the hardware ECU as a replacement component.
[0083] Similarly, based on the unavailability of a hardware component (e.g., the hardware component is fully reserved, there are insufficient resources for normal operation, etc.), the at least one processor may determine whether a software component associated with the unavailable hardware component is available from among a plurality of software components stored in one or more storage media, and if so, may use the software component as a replacement component. Alternatively or additionally, the at least one processor may determine and reserve another hardware component associated with the unavailable hardware component (e.g., a hardware component having similar functionality, a software component from a similar user / user group, etc.) as a replacement component.
[0084] According to an embodiment, based on a determination that a software component and / or a hardware component is unavailable and based on a determination that no replacement component is available, at least one processor may be configured to generate a temporary software model that simulates basic required functionality of the unavailable software component and / or the unavailable hardware component.
[0085] To this end, in operation S340, the at least one processor may construct a virtual vehicle network that meets the user's intended configuration and represents the user's intended vehicle system. Once the virtual vehicle network is constructed, the user may perform one or more operations to manage one or more components of the virtual vehicle network.
[0086] Specifically, in operation S350, at least one processor of the component management system may be configured to receive a third user input from a user associated with at least one operation of managing at least a portion of the hardware and software components in the virtual vehicle. The third user input may be received by the at least one processor via the at least one GUI in a manner similar to the receipt of the first user input (in operation S310) and the second user input (in operation S320).
[0087] Thus, at operation S360, at least one processor of the component management system may be configured to perform at least one operation to manage the portion of the hardware and software components based on the third user input. A description of example operations to manage at least a portion of the hardware and / or software components in a virtual vehicle system is provided below with reference to the example use case in FIG.
[0088] 4 illustrates an exemplary system architecture 400 including a virtual vehicular network 420, according to one or more embodiments. The component management system 410, the UE 430-1, and the database 440 in FIG. 4 may be similar to the component management systems 110 and 200, the UE 130, and the database 110-2, respectively, in FIG. 1. Accordingly, redundant descriptions associated therewith may be omitted below for the sake of brevity.
[0089] 4, virtual vehicle network 420 may include at least one virtual vehicle replica 420-1 and at least one simulation model 420-2. Virtual vehicle network 420 may be generated by component management system 410 (or at least one processor associated therewith) in a manner similar to that described above with reference to FIG.
[0090] At least some of the hardware and / or software components of virtual vehicle network 420 may be located in different geographic locations and / or associated with different users. For example, some of the hardware components of virtual vehicle replica 420-1 may be located at a different location than a device deploying some of the software components of virtual vehicle replica 420-1, a device deploying some of the software components of virtual vehicle replica 420-1 may be located at a different location than a device deploying some of simulation model 420-2, some of the hardware components may be managed by multiple users, and the like.
[0091] Additionally, the hardware components in virtual vehicle network 420 may include production hardware (which may be referred to herein as "production hardware"), prototype hardware, or a combination thereof. Similarly, the software components may comprise production software (which may be referred to herein as "production software"), prototype software, virtual hardware, or a combination thereof. Because descriptions of example hardware and software components are provided above with reference to Figures 1-3, redundant descriptions associated therewith may be omitted below for the sake of brevity.
[0092] 4 illustrates virtual vehicle network 420 as including one virtual vehicle replica and one simulation model, it may be understood that at least one processor of component management system 410 may be configured to generate multiple virtual vehicle replicas and / or multiple simulation models in a virtual vehicle network without departing from the scope of the present disclosure. For example, based on a determination that a user has selected multiple vehicle models and / or multiple vehicle variants, at least one processor may generate a virtual vehicle network including multiple virtual vehicle replicas, each associated with a respective one of the multiple vehicle models and / or multiple vehicle variants.
[0093] Upon constructing virtual vehicle network 420, at least one processor of component management system 410 may assign a unique ID to virtual vehicle network 420 and store the configuration of virtual vehicle network 420 along with the assigned ID in database 440. According to an embodiment, virtual vehicle network 420 may store configuration information for the virtual vehicle network in the form of a configuration file that includes information about associated hardware components, information about associated software components, information defining interconnections and relationships between the hardware and software components, and the like.
[0094] To this end, a user may utilize component management system 410 to perform one or more operations to manage components of virtual vehicle network 420. The one or more operations may include sharing at least a portion of virtual vehicle network 420, designing a vehicle by arranging components of virtual vehicle replica 420-1, designing test scenarios by arranging components of simulation model 420-2, and testing software components in the virtual vehicle network. One or more of the foregoing operations may be performed over-the-air.
[0095] According to an embodiment, a user who has built a virtual vehicle network (which may be referred to herein as a “first user”) may utilize the component management system 410 to share the built virtual vehicle network (or one or more components included therein) with another user (which may be referred to herein as a “second user”). The first user and the second user may be located in different geographic locations and / or may be from different backgrounds (e.g., the first user may be from a developer team and the second user may be from a test team; the first user may be from a vehicle manufacturer and the second user may be from a vendor / supplier, etc.).
[0096] For example, upon constructing the virtual vehicle network 420, the at least one processor may receive user input from a first user (e.g., the third user input described above with reference to operation S350) specifying sharing settings for the constructed virtual vehicle network. The sharing settings may include users / user groups with which the virtual vehicle network (or components therein) should be shared, the components of the virtual vehicle network that should be shared (e.g., the entire virtual vehicle network, only the virtual vehicle replica, a portion of a simulation model, etc.), the type of sharing (e.g., temporary, permanent, etc.), permissions for the shared components (e.g., view only, view and edit, copy and share, full permissions, etc.), and the like. Accordingly, the at least one processor may obtain a configuration file for the virtual vehicle network, update the configuration file to include the user-specified sharing settings, and store the updated configuration file in the database 440.
[0097] Thus, the second user may utilize component management system 410 to perform one or more operations to manage one or more components associated with virtual vehicle network 420. For example, assuming that the first user has specified a sharing setting to share the entire virtual vehicle network 420 with the second user with full permissions, whenever the second user accesses component management system 410, the GUI generated and presented by at least one processor of component management system 410 may include virtual vehicle network 420 as a selectable option for management. Thus, the second user may interact with the GUI to select the virtual vehicle network (or one or more components included therein) for management.
[0098] According to an embodiment, a first user and a second user may simultaneously access component management system 410 and separately manage components of virtual vehicle network 420. For example, if a first user wants to create a new software feature for virtual vehicle replica 420-1 while a second user wants to run tests on the software components of virtual vehicle 420-1, the first user and the second user may do so without interfering with each other. Specifically, whenever the first user and the second user want to perform a management operation, the users may select the desired virtual vehicle network and choose to perform the management operation independently (e.g., by selecting a "manage independently" checkbox in a presented GUI).
[0099] Thus, the component management system 410 may simply obtain the configuration file of the selected virtual vehicle network and construct the virtual vehicle network for the first user and the second user by interconnecting hardware and software components that are separate from each other. For example, the hardware components of the virtual vehicle network managed by the first user may be located in a different location than the hardware components of the virtual vehicle network managed by the second user, and the like. In this manner, multiple users may simultaneously and independently manage the same virtual vehicle network without interfering with each other. For this purpose, the multiple users only need to interact with abstraction-level information (e.g., the configuration of the virtual vehicle network, the components of the virtual vehicle replica, etc.) without needing to know the exact locations where the components are deployed and located.
[0100] According to an embodiment, a first user and a second user may simultaneously access component management system 410 and collaboratively manage components of virtual vehicle network 420. For example, a first user may want to perform testing on newly developed software components (e.g., virtual ECUs) of virtual vehicle replica 420-1, while a second user may want to monitor the testing process and adjust simulation model 420-2 throughout the testing process to build a suitable simulation model for virtual vehicle replica 420-1 with the newly developed software components incorporated therein.
[0101] In this exemplary use case, a first user may provide a newly developed software component to the component management system 410 (e.g., via at least one GUI provided by the component management system 410) and specify the configuration of the newly developed software component (e.g., which hardware / software components it should be connected to), and at least one processor of the component management system 410 may update the configuration file of the virtual vehicle replica 420-1 to include the configuration of the newly developed software component, and simultaneously store the newly developed software component (e.g., programming code, algorithms, containers, etc.) in the database 440.
[0102] Thus, upon receiving a trigger to perform testing on the newly developed software component (e.g., upon determining user interaction with a particular interactive element such as a "Start Test" button in at least one presented GUI, upon determining that the current time is within a certain period of time from the scheduled test time, etc.), the at least one processor may retrieve an updated configuration file for the virtual vehicle network from database 440 and may construct the virtual vehicle network based on the updated configuration file.
[0103] The at least one processor may then determine one or more test environments (e.g., a hardware-in-the-loop (HIL) test environment, a software-in-the-loop (SIL) test environment, etc.) associated with the user's intended test and, based thereon, may perform the test on virtual vehicle network 420. For example, the at least one processor may perform tests on hardware components of virtual vehicle replica 420-1 in one or more HIL test environments based on simulation model 420-2 to obtain a first portion of test results, may perform tests on software components of virtual vehicle replica 420-1 in one or more SIL test environments based on simulation model 420-2 to obtain a second portion of test results, and may combine the first and second portions of test results to form complete test results that collectively represent test results of the virtual vehicle replica in the simulation environment configured by simulation model 420-2.
[0104] Upon obtaining the test results, the at least one processor may store the test results in database 440 and may update the GUI presented to the second user to present the test results in real time or near real time. Thus, the second user may adjust the components of simulation model 420-2 based on the test results. At least one processor of component management system 410 may update a configuration file of virtual vehicle network 420 to include information of adjusted simulation model 420-2. In this regard, if a test operation performed by the first user is still in progress, the at least one processor may update virtual vehicle network 420 to include the latest configuration of simulation model 420-2 based on the updated configuration file. Thus, the test operation performed by the first user may continue based on the latest configuration of simulation model 420-2 provided by the second user.
[0105] In view of the above, to enable information synchronization, exemplary embodiments of the present disclosure simultaneously receive updated information from multiple users and store / update the updated information in database 440. Thus, multiple users may simultaneously and collaboratively manage components of a virtual vehicular network in an effective and efficient manner.
[0106] According to another embodiment, multiple users may access the component management system 410 simultaneously, while management operations are performed in a serial manner. For example, at least one processor of the component management system may simultaneously receive requests from multiple UEs to perform management operations on the virtual vehicular network. In this regard, the at least one processor may be configured to queue or prioritize the requests based on, for example, execution time, cost, efficiency, complexity, user priority, impact level, and urgency level.
[0107] It can be appreciated that the above-described exemplary embodiments are merely some of the possible use cases, and the scope of the present disclosure should not be limited thereto. For example, the component management system of the exemplary embodiments may be suitably utilized in any suitable manner to manage any component of any suitable vehicle system without departing from the scope of the present disclosure. For example, according to an embodiment, the component management system of the exemplary embodiments may be implemented in or configured to interoperate with a system that includes one or more machine learning (ML) or artificial intelligence (AI) algorithms for component management.
[0108] To this end, exemplary embodiments of the present disclosure provide a component management system that can be utilized to build a virtual vehicle network that can be remotely accessed by multiple users from multiple locations for one or more vehicle models and / or one or more vehicle variants via a software abstraction layer for component management, e.g., software component development, testing, validation, and the like. Multiple users can effectively and efficiently manage components by interacting with the virtual vehicle network regardless of the exact underlying hardware components and devices on which the software components are deployed. Thus, exemplary embodiments of the present disclosure obviate the need for domain expertise regarding the underlying components.
[0109] Furthermore, the virtual vehicular network built and managed by the component management system of the exemplary embodiments can provide a high-fidelity communication infrastructure between hardware and software components. For example, the virtual vehicular network can be composed of variable components, such as production hardware and software components, prototype hardware and software components, and virtual hardware and software components. This takes advantage of the cost-effectiveness of high-fidelity production hardware and emulated or virtualized software components in a single hybrid environment.
[0110] Additionally, management processes (e.g., development processes, testing processes, etc.) and the components contained therein (e.g., software code, etc.) can be tracked throughout the process and effectively shared among multiple users for purposes of security, royalty accounting, billing management, and the like.
[0111] Ultimately, exemplary embodiments of the present disclosure enable efficient and effective management of vehicle system components, thereby addressing the problems in the related art as discussed above.
[0112] It is envisioned that the features, advantages, and importance of the exemplary embodiments described herein are merely a portion of this disclosure and are not intended to be exhaustive or to limit the scope of this disclosure. Furthermore, it is understood that the specific order or hierarchy of blocks in the processes / flowcharts disclosed herein is illustrative of an example approach. Based on design preferences, it is understood that the specific order or hierarchy of blocks in the processes / flowcharts may be rearranged. Furthermore, some blocks may be combined or omitted. The accompanying method claims present elements of the various blocks in a sample order and are not meant to be limited to the specific order or hierarchy presented.
[0113] Some embodiments may relate to systems, methods, and / or computer-readable media at any possible level of technical detail of integration. Additionally, as described herein, one or more of the above components described above may be implemented as instructions stored on a computer-readable medium and executable by at least one processor (and / or may include at least one processor). The computer-readable medium may include a computer-readable non-transitory storage medium (or media) having computer-readable program instructions for causing a processor to perform operations.
[0114] A computer-readable storage medium may be a tangible device that can hold and store instructions for use by an instruction execution device. A computer-readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. A non-exhaustive list of more specific examples of computer-readable storage media includes the following: portable computer diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disk read-only memory (CD-ROM), digital versatile disk (DVD), memory sticks, floppy disks, mechanically encoded devices such as punch cards or ridge-in-groove structures with instructions recorded thereon, and any suitable combination thereof. As used herein, computer-readable storage media should not be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., light pulses passing through a fiber optic cable), or electrical signals transmitted over wires.
[0115] The computer-readable program instructions described herein may be downloaded to each computing / processing device from a computer-readable storage medium, or may be downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network may include copper transmission cables, optical fiber transmissions, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium in the respective computing / processing device.
[0116] The computer-readable program code / instructions for performing operations may be either assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, configuration data for integrated circuits, or source or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk, C++, or the like, and procedural programming languages such as the "C" programming language or similar programming languages. The computer-readable program instructions may be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection to the external computer may be made (e.g., through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA) may execute computer-readable program instructions by utilizing state information of the computer-readable program instructions to personalize the electronic circuitry to perform an aspect or operation.
[0117] The computer-readable program instructions may be provided to a processor of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus to create a machine, such that the instructions, executed by the processor of the computer or other programmable data processing apparatus, create means for implementing the function(s) / act(s) specified in the block(s) of the flowcharts and / or block diagrams. The computer-readable program instructions may also be stored on a computer-readable storage medium that can direct a computer, programmable data processing apparatus, and / or other device to function in a particular manner, such that the computer-readable storage medium having instructions stored therein comprises an article of manufacture including instructions that implement aspects of the function(s) / act(s) specified in the block(s) of the flowcharts and / or block diagrams.
[0118] The computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or another device to cause the computer, other programmable apparatus, or other device to perform a series of operational steps to create a computer-implemented process, such that the instructions executing on the computer, other programmable apparatus, or other device implement the function(s) / act(s) specified in the flowchart and / or block diagram block or blocks.
[0119] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer-readable media according to various embodiments. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of instructions comprising one or more executable instructions that implement a specified logical function. The methods, computer systems, and computer-readable media may include additional, fewer, different, or differently arranged blocks compared to those depicted in the figures. In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks shown in succession may in fact be executed concurrently or substantially concurrently, or the blocks may even be executed in the reverse order, depending on the functionality involved. It should also be noted that each block of the block diagrams and / or flowchart diagrams, and combinations of blocks in the block diagrams and / or flowchart diagrams, may be implemented by a dedicated hardware-based system that performs the specified functions or acts or executes a combination of dedicated hardware and computer instructions.
[0120] It will be apparent that the systems and / or methods described herein may be implemented in various forms of hardware, firmware, or combinations of hardware and software. The actual dedicated control hardware or software code used to implement the systems and / or methods is not a limitation of the implementation. Thus, the operation and behavior of the systems and / or methods are described herein without reference to specific software code, and it will be understood that software and hardware can be designed to implement the systems and / or methods based on the description herein.
Claims
1. 1. A method for managing components of a vehicle system, the method being implemented by at least one processor of the system, comprising: receiving a first user input from a first user associated with a selection of at least one of a single vehicle model, a single variant of the single vehicle model, a plurality of vehicle models, a single variant of the plurality of vehicle models, and a plurality of variants of the plurality of vehicle models; receiving a second user input from the first user associated with configuring a simulation environment; determining, based on the first user input and the second user input, a plurality of hardware components and a plurality of software components associated with the first user input and the second user input; constructing a virtual vehicular network by interconnecting the plurality of hardware components and the plurality of software components, the virtual vehicular network comprising the interconnections of the components of the vehicular system; receiving a third user input from the first user associated with a first operation managing a first portion of the hardware components and the software components in the virtual vehicle network; performing the first operation in the virtual vehicle network to manage the first portion of the hardware and software components based on the third user input; A method comprising:
2. receiving a fourth user input from a second user selecting the virtual vehicular network; receiving a fifth user input from the second user associated with a second operation managing a second portion of the hardware components and the software components in the virtual vehicular network; performing the second operation in the virtual vehicle network to manage the second portion of the hardware and software components based on the fifth user input; Further comprising: The method of claim 1 , wherein the second action is different from the first action and the second portion is different from the first portion.
3. The method of claim 1 or 2, wherein at least some of the hardware components, the software components, or a combination of the hardware and software components are located in different geographic locations.
4. The method of claim 1 or 2, wherein at least some of the plurality of hardware components, the plurality of software components, or a combination of the plurality of hardware components and the plurality of software components are associated with a user different from the first user.
5. 3. The method of claim 1 or 2, wherein the plurality of hardware components comprises a plurality of production hardware, a plurality of prototype hardware, or a combination of the plurality of production hardware and the plurality of prototype hardware, and the plurality of software components comprises a plurality of production software, a plurality of prototype software, a plurality of virtual hardware, or a combination of the plurality of production software, the plurality of prototype software, and the plurality of virtual hardware.
6. At least some of the hardware components and at least some of the software components are located in different geographic locations, and the building of the virtual vehicular network comprises: building at least one virtual vehicle replica based on the plurality of hardware components and the plurality of software components located at different geographic locations; constructing at least one simulation model; interconnecting the at least one virtual vehicle replica with the at least one simulation model to construct the virtual vehicle network; The method of claim 3, comprising:
7. said constructing said at least one virtual vehicle replica further comprising: Obtaining connection configuration information; creating a virtual network based on the connection configuration information; interconnecting the plurality of hardware components and the plurality of software components located in different geographic locations with the virtual network; The method of claim 6, comprising:
8. The interconnection of the plurality of hardware components and the plurality of software components comprises: deploying the plurality of software components on one or more devices communicatively connected to the system; securing the plurality of hardware components; interconnecting the one or more devices and the reserved hardware components; The method of claim 7, comprising:
9. said constructing said at least one simulation model comprising: obtaining at least one behavioral model and at least one state model based on the second user input; interconnecting the at least one behavioral model and the at least one state model to construct the at least one simulation model; Including, 7. The method of claim 6, wherein the at least one operating model comprises information defining vehicle dynamics, vehicle kinematics, and vehicle control, and the at least one state model comprises information defining road conditions, weather conditions, traffic conditions, and events.
10. To perform one or more actions is sharing at least a portion of the virtual vehicular network with one or more users different from the first user; designing a vehicle by arranging the at least one virtual vehicle replica; designing test scenarios by preparing the at least one simulation model; testing software components in the virtual vehicular network; The method of claim 6 , comprising performing at least one of:
11. 1. A system for managing components of a vehicle system, the system comprising: memory storage for storing computer-executable instructions; at least one processor communicatively connected to the memory storage; wherein the at least one processor executes the instructions to receiving a first user input from a first user associated with a selection of at least one of a single vehicle model, a single variant of the single vehicle model, a plurality of vehicle models, a single variant of the plurality of vehicle models, and a plurality of variants of the plurality of vehicle models; receiving a second user input from the first user associated with configuring a simulation environment; determining, based on the first user input and the second user input, a plurality of hardware components and a plurality of software components associated with the first user input and the second user input; constructing a virtual vehicular network by interconnecting the plurality of hardware components and the plurality of software components, the virtual vehicular network comprising the interconnections of the components of the vehicular system; receiving a third user input from the first user associated with a first operation managing a first portion of the hardware components and the software components in the virtual vehicle network; performing the first operation in the virtual vehicle network to manage the first portion of the hardware and software components based on the third user input; A system that is configured to:
12. The at least one processor further executes the instructions to: receiving a fourth user input from a second user selecting the virtual vehicle network; receiving a fifth user input from the second user associated with a second operation managing a second portion of the hardware components and the software components in the virtual vehicular network; configured to perform the second operation in the virtual vehicle network to manage the second portion of the hardware components and the software components based on the fifth user input; The system of claim 11 , wherein the second action is different from the first action and the second portion is different from the first portion.
13. 13. The system of claim 11 or 12, wherein at least some of the hardware components, the software components, or a combination of the hardware and software components are located in different geographic locations.
14. 13. The system of claim 11 or 12, wherein at least some of the plurality of hardware components, the plurality of software components, or a combination of the plurality of hardware components and the plurality of software components are associated with a user different from the first user.
15. 13. The system of claim 11 or 12, wherein the plurality of hardware components comprises a plurality of production hardware, a plurality of prototype hardware, or a combination of the plurality of production hardware and the plurality of prototype hardware, and the plurality of software components comprises a plurality of production software, a plurality of prototype software, a plurality of virtual hardware, or a combination of the plurality of production software, the plurality of prototype software, and the plurality of virtual hardware.
16. At least some of the hardware components and at least some of the software components are located in different geographic locations, and the at least one processor executes the instructions to: building at least one virtual vehicle replica based on the plurality of hardware components and the plurality of software components located at different geographic locations; constructing at least one simulation model; interconnecting the at least one virtual vehicle replica with the at least one simulation model to construct the virtual vehicle network; The system of claim 13 configured to build the virtual vehicular network by:
17. The at least one processor executes the instructions to: Obtaining connection configuration information; creating a virtual network based on the connection configuration information; interconnecting the plurality of hardware components and the plurality of software components located in different geographic locations with the virtual network; 17. The system of claim 16, configured to construct the at least one virtual vehicle replica by:
18. The at least one processor executes the instructions to: deploying the plurality of software components on one or more devices communicatively connected to the system; securing the plurality of hardware components; interconnecting the one or more devices and the reserved hardware components; 20. The system of claim 17, configured to interconnect the plurality of hardware components and the plurality of software components by
19. The at least one processor executes the instructions to: obtaining at least one behavioral model and at least one state model based on the second user input; interconnecting the at least one behavioral model and the at least one state model to construct the at least one simulation model; and configuring the at least one simulation model by 17. The system of claim 16, wherein the at least one operating model comprises information defining vehicle dynamics, vehicle kinematics, and vehicle control, and the at least one state model comprises information defining road conditions, weather conditions, traffic conditions, and events.
20. The at least one processor executes the instructions to: sharing at least a portion of the virtual vehicular network with one or more users different from the first user; designing a vehicle by arranging the at least one virtual vehicle replica; designing test scenarios by preparing the at least one simulation model; testing software components in the virtual vehicular network; 17. The system of claim 16, wherein the system is configured to perform one or more actions by performing at least one of:
Citation Information
Patent Citations
Vehicle evaluation system
JP2011252805A
Method for rating a software component of an sil environment
US20210056014A1
Diagnostic machine inspection system and diagnostic machine inspection method
WO2020179574A1