Vehicle control apparatus
The vehicle control device efficiently executes new services by separating and managing data using a processor, parser, and gateway, addressing the challenge of passenger-centric service provision in vehicle control systems.
Patent Information
- Application Number
- PCT/KR2025/007385
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-08-09
- Filing Date
- 2025-05-29
- Publication Date
- 2026-02-12
AI Technical Summary
Existing vehicle control devices struggle to efficiently provide services that cater to vehicle passengers due to limitations in service execution and integration with service-oriented architectures.
A vehicle control device with a processor that separates action and condition data from execution-related data, using a parser, gateway, and state manager to control service execution based on sensor data and messages, enabling efficient execution of new services through data retrieval, filtering, and conditional control.
Enables efficient execution of new services tailored to vehicle occupants by separating and managing data effectively, allowing for conditional service execution and integration with service-oriented architectures.
Smart Images

Figure KR2025007385_12022026_PF_FP_ABST
Abstract
Description
vehicle control unit
[0001] The present disclosure relates to a vehicle control device, and more particularly, to a vehicle control device capable of efficiently executing a new service.
[0002] A vehicle is a device that allows the user to move in the desired direction. A representative example is an automobile.
[0003] Meanwhile, for the convenience of vehicle users, vehicle control devices are installed inside the vehicle.
[0004] The vehicle control device can perform various services within the vehicle based on sensor data from various sensor devices within the vehicle.
[0005] Meanwhile, there is a problem that it is difficult to provide vehicle services that respond to vehicle passengers because services running in the vehicle are provided by vehicle manufacturers, etc.
[0006] The problem that this disclosure seeks to solve is to provide a vehicle control device that can efficiently execute a new service.
[0007] Another problem that the present disclosure seeks to solve is to provide a vehicle control device that can efficiently execute a new service corresponding to vehicle passengers.
[0008] Another challenge that the present disclosure seeks to address is to provide a vehicle control device capable of efficiently executing a new service based on a service-oriented architecture.
[0009] In order to solve the above technical problem, a vehicle control device according to one embodiment of the present disclosure includes a processor for executing an in-vehicle service and a memory for storing data related to the service, wherein the processor separates action data and condition data from execution-related data of a first service, and controls execution of the first service when an execution condition in the condition data of the first service is satisfied based on received sensor data or a message.
[0010] Meanwhile, the processor may include a parser that parses execution-related data of the first service, a gateway that receives sensor data or a message, and a state manager that transmits command data when an execution condition in the condition data of the first service is satisfied based on the sensor data or the message.
[0011] Meanwhile, the processor may further include an interface server that separates action data and condition data from the execution-related data of the first service parsed by the parser and transmits them to memory or storage.
[0012] Meanwhile, the interface server can transmit a key value to the gateway for retrieving action data or condition data from memory or storage.
[0013] Meanwhile, the gateway can read condition data stored in memory or storage based on the key value received from the interface server and generate a filter based on the condition data.
[0014] Meanwhile, the gateway can delete a filter if the execution condition in the condition data of the first service is satisfied based on sensor data or a message.
[0015] Meanwhile, the StateManager can request additional commands from the Workload Orchestrator based on direct requests received from the Interface Server.
[0016] Meanwhile, the processor can generate execution-related data of the first service based on an input signal or service execution history, and after verification of the first service is completed, if the execution condition of the first service is satisfied based on sensor data or a message, control to execute the first service.
[0017] Meanwhile, the processor can generate execution-related data of the first service based on the service list stored in the memory.
[0018] Meanwhile, the processor can generate execution-related data of the first service based on a combination of multiple services.
[0019] Meanwhile, the processor may perform learning on at least one of a vehicle occupant's behavioral pattern, vehicle data, or vehicle surrounding data, and generate data related to the execution of the first service based on the learning.
[0020] Meanwhile, the first service includes multiple services, and the processor can set priorities for multiple services within the first service and control execution of the first service based on the set priorities.
[0021] Meanwhile, the processor can perform verification of the first service, or, if verification of the first service cannot be performed, control to request verification of the first service from an external server.
[0022] Meanwhile, the processor can control execution of only a part of the first service or execution of a scalable service when only a part of the execution condition data of the first service is satisfied.
[0023] Meanwhile, the processor may generate execution-related data of a first service corresponding to a first passenger based on an input signal or service execution history, and may generate execution-related data of a second service corresponding to a second passenger based on the input signal or service execution history.
[0024] Meanwhile, the processor can generate execution-related data of a plurality of services including a first service based on an input signal or a service execution history, set priorities for the plurality of services, and control execution of the plurality of services based on the set priorities.
[0025] Meanwhile, the processor can execute a service agent for executing vehicle services.
[0026] Meanwhile, a vehicle control device according to one embodiment of the present disclosure includes a first signal processing device having a processor and a memory, a second signal processing device electrically connected to the first signal processing device and having a second processor and a second memory, and a control device electrically connected to the second signal processing device and having a controller that receives a signal from a hardware switch or a sensor or controls at least one actuator, wherein the processor transmits an execution request for the first service to the second signal processing device when an execution condition for the first service is satisfied, and the second signal processing device can control the controller to output an operation on signal, an operation off signal, or an operation control signal to the actuator based on the execution request for the first service.
[0027] A vehicle control device according to one embodiment of the present disclosure includes a processor for executing an in-vehicle service and a memory for storing data related to the service. The processor separates action data and condition data from the execution-related data of a first service, and, based on received sensor data or messages, controls the execution of the first service when an execution condition in the condition data of the first service is satisfied. Accordingly, a new service can be efficiently executed. Meanwhile, a new service corresponding to a vehicle occupant can be efficiently executed. In particular, a new service based on a service-oriented architecture can be efficiently executed.
[0028] Meanwhile, the processor may include a parser that parses execution-related data for the first service, a gateway that receives sensor data or messages, and a state manager that transmits command data when an execution condition within the condition data for the first service is satisfied based on the sensor data or messages. Accordingly, the new service can be efficiently executed.
[0029] Meanwhile, the processor may further include an interface server that separates action data and condition data from the execution-related data of the first service parsed by the parser and transmits them to memory or storage. This enables efficient execution of new services.
[0030] Meanwhile, the interface server can transmit key values to the gateway for retrieving action data or condition data from memory or storage. This allows for efficient execution of new services.
[0031] Meanwhile, the gateway can retrieve condition data stored in memory or storage based on the key value received from the interface server and generate a filter based on the condition data. This allows for efficient execution of new services.
[0032] Meanwhile, the gateway can delete filters if the execution conditions within the condition data of the first service are met based on sensor data or messages. This allows for efficient execution of new services.
[0033] Meanwhile, the StateManager can request additional commands from the workload orchestrator based on direct requests received from the interface server. This allows for efficient execution of new services.
[0034] Meanwhile, the processor can generate execution-related data for the first service based on input signals or service execution history, and, after verification of the first service, control the execution of the first service based on sensor data or messages if the execution conditions for the first service are met. Accordingly, new services can be created and executed efficiently.
[0035] Meanwhile, the processor can generate execution-related data for the first service based on the service list stored in memory. This allows for the creation and efficient execution of new services.
[0036] Meanwhile, the processor can generate execution-related data for the first service based on multiple service combinations. This allows for the creation and efficient execution of new services.
[0037] Meanwhile, the processor can perform learning on at least one of the vehicle occupant's behavioral patterns, vehicle data, or vehicle surrounding data, and generate data related to the execution of the first service based on the learning. This enables the creation and efficient execution of new services.
[0038] Meanwhile, the first service includes multiple services, and the processor can set priorities for the multiple services within the first service and control the execution of the first service based on the set priorities. This enables efficient execution of new services.
[0039] Meanwhile, the processor can perform verification of the first service, or, if verification of the first service is not possible, request verification of the first service from an external server. This allows for efficient execution of new services.
[0040] Meanwhile, the processor can control the execution of only a portion of the first service or the execution of a scalable service if only some of the execution condition data for the first service are met. This allows for the creation and efficient execution of new services.
[0041] Meanwhile, the processor can generate execution-related data for a first service corresponding to a first passenger based on an input signal or service execution history, and can also generate execution-related data for a second service corresponding to a second passenger based on the input signal or service execution history. Accordingly, new services can be created and efficiently executed.
[0042] Meanwhile, the processor can generate execution-related data for multiple services, including the first service, based on input signals or service execution history, set priorities for the multiple services, and control the execution of the multiple services based on the set priorities. Accordingly, new services can be created and executed efficiently.
[0043] Meanwhile, the processor can execute a service agent for vehicle service execution. This allows for efficient execution of new services.
[0044] Meanwhile, a vehicle control device according to one embodiment of the present disclosure comprises a first signal processing device having a processor and a memory, a second signal processing device electrically connected to the first signal processing device and having a second processor and a second memory, and a control device electrically connected to the second signal processing device and having a controller that receives a signal from a hardware switch or a sensor or controls at least one actuator, wherein the processor transmits an execution request for the first service to the second signal processing device when an execution condition for the first service is satisfied, and the second signal processing device can control the controller to output an operation on signal, an operation off signal, or an operation control signal to the actuator based on the execution request for the first service. Accordingly, a new service can be efficiently executed.
[0045] Figure 1 is a drawing showing an example of the exterior and interior of a vehicle.
[0046] Figure 2 is a drawing showing an example of the architecture of a vehicle control device.
[0047] Figure 3a is a drawing showing an example of the arrangement of displays inside a vehicle.
[0048] Figure 3b is a drawing showing another example of the arrangement of displays inside a vehicle.
[0049] FIG. 4 is an example of an internal block diagram of a vehicle control device according to an embodiment of the present disclosure.
[0050] Figures 5a to 5d are drawings showing various examples of vehicle control devices.
[0051] FIG. 6 is an example of a block diagram of a vehicle control device according to an embodiment of the present disclosure.
[0052] FIG. 7a is an example of an operational configuration diagram of a central signal processing device according to an embodiment of the present disclosure.
[0053] FIG. 7b is an example of an operational configuration diagram of a region signal processing device according to an embodiment of the present disclosure.
[0054] FIG. 8 illustrates an example of execution of a vehicle service in a signal processing device according to an embodiment of the present disclosure.
[0055] Figures 9 and 10 are drawings referred to in the description of Figure 8.
[0056] FIG. 11a is an example of an internal block diagram of a vehicle control device related to the present disclosure.
[0057] Figure 11b is a drawing referenced in the description of Figure 11a.
[0058] FIG. 12a is an example of an internal block diagram of a vehicle control device according to an embodiment of the present disclosure.
[0059] Figure 12b is a drawing referenced in the description of Figure 12a.
[0060] FIG. 13 illustrates an example of the operation of a vehicle control device according to an embodiment of the present disclosure.
[0061] Figures 14a to 17 are drawings referred to in the description of Figure 13.
[0062] Hereinafter, the present disclosure will be described in more detail with reference to the drawings.
[0063] The suffixes "module" and "part" used in the following description are given solely for the convenience of writing this specification and do not impart any particularly significant meaning or role to the components themselves. Therefore, the terms "module" and "part" may be used interchangeably.
[0064] Figure 1 is a drawing showing an example of the exterior and interior of a vehicle.
[0065] Referring to the drawing, the vehicle (200) is operated by a plurality of wheels (103FR, 103FL, 103RL, etc.) that rotate by a power source and a steering wheel (150) for controlling the direction of travel of the vehicle (200).
[0066] Meanwhile, the vehicle (200) may further be equipped with a camera (195) for capturing images of the front of the vehicle.
[0067] Meanwhile, the vehicle (200) may be equipped with multiple displays (180a, 180b) for displaying images, information, etc. inside.
[0068] In Fig. 1, a cluster display (180a) and an AVN (Audio Video Navigation) display (180b) are exemplified as multiple displays (180a, 180b). In addition, a HUD (Head Up Display) is also possible.
[0069] Meanwhile, the AVN (Audio Video Navigation) display (180b) may also be named a center information display.
[0070] Meanwhile, the vehicle (200) described in this specification may be a concept that includes all of a vehicle equipped with an engine as a power source, a hybrid vehicle equipped with an engine and an electric motor as a power source, and an electric vehicle equipped with an electric motor as a power source.
[0071] Figure 2 is a drawing showing an example of the architecture of a vehicle control device.
[0072] Referring to the drawing, the architecture (300a) of the vehicle control device can correspond to a zone-based architecture.
[0073] Accordingly, sensor devices and processors inside the vehicle may be placed in each of the plurality of zones (Z1 to Z4), and a signal processing device (170a) including a gateway (GWDa) may be placed in the central area of the plurality of zones (Z1 to Z4).
[0074] Meanwhile, the signal processing device (170a) may further include, in addition to the gateway (GWDa), an autonomous driving control module (ACC), a cockpit control module (CPG), etc.
[0075] The gateway (GWDa) within the signal processing device (170a) may be an HPC (High Performance Computing) gateway.
[0076] That is, the signal processing device (170a) of FIG. 2 is an integrated HPC and can exchange data with an external communication module (not shown) or a processor (not shown) within a plurality of zones (Z1 to Z4).
[0077] Figure 3a is a drawing showing an example of the arrangement of displays inside a vehicle.
[0078] Referring to the drawing, the interior of the vehicle may be equipped with a cluster display (180a), an AVN (Audio Video Navigation) display (180b), a rear seat entertainment display (180c, 180d), a room mirror display (not shown), etc.
[0079] Figure 3b is a drawing showing another example of the arrangement of displays inside a vehicle.
[0080] A vehicle control device (100) according to an embodiment of the present disclosure may include a plurality of displays (180a to 180b), and a signal processing device (170) that performs signal processing for displaying images, information, etc. on the plurality of displays (180a to 180b) and outputs an image signal to at least one display (180a to 180b).
[0081] Among the plurality of displays (180a to 180b), the first display (180a) may be a cluster display (180a) for displaying driving status, operation information, etc., and the second display (180b) may be an AVN (Audio Video Navigation) display (180b) for displaying vehicle driving information, a navigation map, various entertainment information, or images.
[0082] The signal processing device (170) has a processor (175) therein and can execute a first virtual machine to a third virtual machine (not shown) on a hypervisor (not shown) within the processor (175).
[0083] A second virtual machine (not shown) can operate for the first display (180a), and a third virtual machine (not shown) can operate for the second display (180b).
[0084] Meanwhile, the first virtual machine (not shown) within the processor (175) can control the shared memory (508) based on the hypervisor (505) to be set for the same data transmission to the second virtual machine (not shown) and the third virtual machine (not shown). Accordingly, the same information or the same image can be displayed in synchronization on the first display (180a) and the second display (180b) within the vehicle.
[0085] Meanwhile, the first virtual machine (not shown) within the processor (175) shares at least a portion of data with the second virtual machine (not shown) and the third virtual machine (not shown) for data sharing processing. Accordingly, data can be shared and processed among multiple virtual machines for multiple displays within the vehicle.
[0086] Meanwhile, a first virtual machine (not shown) within a processor (175) may receive and process vehicle wheel speed sensor data, and transmit the processed wheel speed sensor data to at least one of a second virtual machine (not shown) or a third virtual machine (not shown). Accordingly, the vehicle wheel speed sensor data may be shared with at least one virtual machine.
[0087] Meanwhile, the vehicle control device (100) according to the embodiment of the present disclosure may further include a rear seat entertainment display (180c) for displaying driving status information, simple navigation information, various entertainment information, or images.
[0088] The signal processing device (170) can control the RSE display (180c) by executing a fourth virtual machine (not shown) in addition to the first virtual machine to the third virtual machine (not shown) on a hypervisor (not shown) within the processor (175).
[0089] Accordingly, it is possible to control various displays (180a to 180c) using one signal processing device (170).
[0090] Meanwhile, some of the multiple displays (180a~180c) may operate under Linux OS, while others may operate under Web OS.
[0091] The signal processing device (170) according to the embodiment of the present disclosure can control the same information or the same image to be displayed in synchronization on displays (180a to 180c) operating under various operating systems (OS).
[0092] Meanwhile, in FIG. 3b, a vehicle speed indicator (212a) and a vehicle interior temperature indicator (213a) are displayed on a first display (180a), a home screen (222) including a plurality of applications and a vehicle speed indicator (212b) and a vehicle interior temperature indicator (213b) are displayed on a second display (180b), and a second home screen (222b) including a plurality of applications and a vehicle interior temperature indicator (213c) are displayed on a third display (180c).
[0093] FIG. 4 is an example of an internal block diagram of a vehicle control device according to an embodiment of the present disclosure.
[0094] Referring to the drawings, a vehicle control device (100) according to an embodiment of the present disclosure may include an input unit (110), a communication unit (120) for communication with an external device, a plurality of communication modules (EMa to EMd) for internal communication, a memory (140), a signal processing unit (170), a plurality of displays (180a to 180c), an audio output unit (185), and a power supply unit (190).
[0095] A plurality of communication modules (EMa to EMd) can be arranged, for example, in a plurality of zones (Z1 to Z4) of FIG. 2, respectively.
[0096] Meanwhile, the signal processing device (170) may have a communication switch (736b) for data communication with each communication module (EM1 to EM4) inside.
[0097] Each communication module (EM1 to EM4) can perform data communication with multiple sensor devices (SN) or ECUs (770) or area signal processing devices (170Z).
[0098] Meanwhile, the plurality of sensor devices (SN) may include a camera (195), a lidar (196), a radar (197), or a position sensor (198).
[0099] The input unit (110) may be equipped with physical buttons, pads, etc. for button input, touch input, etc.
[0100] Meanwhile, the input unit (110) may be equipped with a microphone (not shown) for user voice input.
[0101] The communication unit (120) can exchange data wirelessly with a mobile terminal (600) or a server (400).
[0102] In particular, the communication unit (120) can wirelessly exchange data with the vehicle driver's mobile terminal. Various data communication methods are possible, such as Bluetooth, WiFi, WiFi Direct, and APiX.
[0103] The communication unit (120) can receive weather information, road traffic information, for example, TPEG (Transport Protocol Expert Group) information, from a mobile terminal (600) or a server (400). To this end, the communication unit (120) may be equipped with a mobile communication module (not shown).
[0104] A plurality of communication modules (EM1 to EM4) can receive sensor data, etc. from an ECU (770), a sensor device (SN), or an area signal processing device (170Z), and transmit the received sensor data to the signal processing device (170).
[0105] Here, the sensor data may include at least one of vehicle direction data, vehicle location data (GPS data), vehicle angle data, vehicle speed data, vehicle acceleration data, vehicle inclination data, vehicle forward / backward data, battery data, fuel data, tire data, vehicle lamp data, vehicle interior temperature data, and vehicle interior humidity data.
[0106] Such sensor data can be obtained from a heading sensor, a yaw sensor, a gyro sensor, a position module, a vehicle forward / backward sensor, a wheel sensor, a vehicle speed sensor, a body tilt detection sensor, a battery sensor, a fuel sensor, a tire sensor, a steering sensor by steering wheel rotation, a vehicle interior temperature sensor, a vehicle interior humidity sensor, etc.
[0107] Meanwhile, the position module may include a GPS module or a position sensor (198) for receiving GPS information.
[0108] Meanwhile, at least one of the plurality of communication modules (EM1 to EM4) can transmit location information data sensed by a GPS module or location sensor (198) to a signal processing device (170).
[0109] Meanwhile, at least one of the plurality of communication modules (EM1 to EM4) can receive vehicle front image data, vehicle side image data, vehicle rear image data, vehicle surrounding obstacle distance information, etc. from a camera (195), lidar (196), radar (197), etc., and transmit the received information to a signal processing device (170).
[0110] The memory (140) can store various data for the overall operation of the vehicle control device (100), such as a program for processing or controlling the signal processing device (170).
[0111] For example, the memory (140) may store data regarding a hypervisor, a first virtual machine, a third virtual machine, or the like, for execution within the processor (175).
[0112] The audio output unit (185) converts an electric signal from the signal processing device (170) into an audio signal and outputs it. For this purpose, a speaker or the like may be provided.
[0113] The power supply unit (190) can supply power required for the operation of each component under the control of the signal processing device (170). In particular, the power supply unit (190) can receive power from a battery or the like inside the vehicle.
[0114] The signal processing device (170) controls the overall operation of each unit within the vehicle control device (100).
[0115] For example, the signal processing device (170) may include a processor (175) that performs signal processing for a vehicle display (180a, 180b).
[0116] The processor (175) can execute a first virtual machine to a third virtual machine (not shown) on a hypervisor (not shown) within the processor (175).
[0117] Among the first virtual machine to the third virtual machine (not shown), the first virtual machine (not shown) may be named a server virtual machine (Server Virtual Maschine), and the second virtual machine to the third virtual machine (not shown) may be named a guest virtual machine (Guest Virtual Maschine).
[0118] For example, a first virtual machine (not shown) within a processor (175) may receive, process, or output sensor data from a plurality of sensor devices, such as vehicle sensor data, location information data, camera image data, audio data, or touch input data.
[0119] In this way, by performing most of the data processing in the first virtual machine (not shown), data sharing in a 1:N manner becomes possible.
[0120] As another example, a first virtual machine (not shown) can directly receive and process CAN data, Ethernet data, audio data, radio data, USB data, and wireless communication data for a second virtual machine or a third virtual machine (not shown).
[0121] And, the first virtual machine (not shown) can transmit processed data to the second virtual machine or the third virtual machine (not shown).
[0122] Accordingly, among the first virtual machine to the third virtual machine (not shown), only the first virtual machine (not shown) receives sensor data, communication data, or external input data from multiple sensor devices and performs signal processing, thereby reducing the signal processing burden on other virtual machines, enabling 1:N data communication, and enabling synchronization when sharing data.
[0123] Meanwhile, the first virtual machine (not shown) can control the second virtual machine (not shown) and the third virtual machine (not shown) to share the same data by writing data to the shared memory (508).
[0124] For example, a first virtual machine (not shown) can record vehicle sensor data, the location information data, the camera image data, or the touch input data in shared memory (508) and control the same data to be shared with a second virtual machine (not shown) and a third virtual machine (not shown). Accordingly, data sharing in a 1:N manner becomes possible.
[0125] Ultimately, by performing most of the data processing on the first virtual machine (not shown), data sharing in a 1:N manner becomes possible.
[0126] Meanwhile, the first virtual machine (not shown) within the processor (175) can control the shared memory (508) based on the hypervisor (505) to be set for the same data transmission to the second virtual machine (not shown) and the third virtual machine (not shown).
[0127] Meanwhile, the signal processing device (170) can process various signals such as audio signals, video signals, and data signals. To this end, the signal processing device (170) can be implemented in the form of a system on chip (SOC).
[0128] Meanwhile, the signal processing device (170) in the display device (100) of FIG. 4 may be the same as the signal processing device (170, 170a1, 170a2) of the vehicle control device of FIG. 5a or lower.
[0129] Figures 5a to 5d are drawings showing various examples of vehicle control devices.
[0130] FIG. 5a illustrates an example of a vehicle control device according to an embodiment of the present disclosure.
[0131] Referring to the drawing, a vehicle control device (600a) according to an embodiment of the present disclosure includes a signal processing device (170a1, 170a2) and a plurality of area signal processing devices (170Z1 to 170Z4).
[0132] Meanwhile, in the drawing, two signal processing devices (170a1, 170a2) are exemplified, but this is for backup purposes, etc., and one is also possible.
[0133] Meanwhile, the signal processing device (170a1, 170a2) may also be named an HPC (High Performance Computing) signal processing device.
[0134] Multiple area signal processing devices (170Z1 to 170Z4) are arranged in each area (Z1 to Z4) and can transmit sensor data to signal processing devices (170a1, 170a2).
[0135] The signal processing device (170a1, 170a2) receives data via a wire from multiple area signal processing devices (170Z1 to 170Z4) or a communication device (120).
[0136] In the drawing, data is exchanged based on wired communication between a signal processing device (170a1, 170a2) and multiple area signal processing devices (170Z1 to 170Z4), and the signal processing device (170a1, 170a2) and the server (400) exchange data based on wireless communication. However, data may be exchanged based on wireless communication between a communication device (120) and a server (400), and the signal processing device (170a1, 170a2) and the communication device (120) may exchange data based on wired communication.
[0137] Meanwhile, data received by the signal processing device (170a1, 170a2) may include camera data or sensor data.
[0138] For example, sensor data within a vehicle may include at least one of vehicle wheel speed data, vehicle direction data, vehicle location data (GPS data), vehicle angle data, vehicle speed data, vehicle acceleration data, vehicle inclination data, vehicle forward / backward data, battery data, fuel data, tire data, vehicle lamp data, vehicle interior temperature data, vehicle interior humidity data, vehicle exterior radar data, and vehicle exterior lidar data.
[0139] Meanwhile, camera data may include vehicle exterior camera data and vehicle interior camera data.
[0140] Meanwhile, the signal processing device (170a1, 170a2) can execute multiple virtual machines (620, 630, 640) based on safety standards.
[0141] In the drawing, it is illustrated that a processor (175) within a signal processing device (170a) executes a hypervisor (505) and, on the hypervisor (505), executes first to third virtual machines (620 to 640) according to an automotive safety integrity level (Automotive SIL; ASIL).
[0142] The first virtual machine (620) may be a virtual machine corresponding to Quality Management (QM), which is the lowest safety level in the Automotive Safety Integrity Level (ASIL) and is a non-enforceable grade.
[0143] The first virtual machine (620) can execute an operating system (622), a container runtime (624) on the operating system (622), and containers (627, 629) on the container runtime (624).
[0144] The second virtual machine (630) may be a virtual machine corresponding to ASIL A or ASIL B, in which the sum of severity, exposure, and controllability is 7 or 8 in the automotive safety integrity level (ASIL).
[0145] The second virtual machine (630) can execute an operating system (632), a container runtime (634) on the operating system (632), and a container (637, 839) on the container runtime (634).
[0146] The third virtual machine (640) may be a virtual machine corresponding to ASIL C or ASIL D, in which the sum of severity, exposure, and controllability is 9 or 10 in the automotive safety integrity level (ASIL).
[0147] Meanwhile, ASIL D can correspond to the grade that requires the highest safety level.
[0148] The third virtual machine (640) can run a safety operating system (642) and an application (645) on the operating system (642).
[0149] Meanwhile, the third virtual machine (640) may also execute a safety operating system (642), a container runtime (644) on the safety operating system (642), and a container (647) on the container runtime (644).
[0150] Meanwhile, unlike the drawing, the third virtual machine (640) can also be executed through a separate core rather than the processor (175). This will be described later with reference to FIG. 5b.
[0151] FIG. 5b illustrates another example of a vehicle control device according to an embodiment of the present disclosure.
[0152] Referring to the drawing, a vehicle control device (600b) according to an embodiment of the present disclosure includes a signal processing device (170a1, 170a2) and a plurality of area signal processing devices (170Z1 to 170Z4).
[0153] The vehicle control device (600b) of FIG. 5b is similar to the vehicle control device (600a) of FIG. 5a, but the signal processing device (170a1) has some differences from the signal processing device (170a1) of FIG. 5a.
[0154] To describe the difference, the signal processing device (170a1) may include a processor (175) and a second processor (177).
[0155] The processor (175) within the signal processing unit (170a1) executes a hypervisor (505), and executes first and second virtual machines (620 to 630) on the hypervisor (505) according to the automotive safety integrity level (Automotive SIL; ASIL).
[0156] The first virtual machine (620) can execute an operating system (622), a container runtime (624) on the operating system (622), and containers (627, 629) on the container runtime (624).
[0157] The second virtual machine (630) can execute an operating system (632), a container runtime (634) on the operating system (632), and containers (637, 639) on the container runtime (634).
[0158] Meanwhile, the second processor (177) within the signal processing device (170a1) can execute a third virtual machine (640).
[0159] The third virtual machine (640) can execute a safety operating system (642), an auto-execution (645) on the operating system (642), and an application (645) on the auto-execution (645). That is, unlike FIG. 5A, an auto-execution (646) on the operating system (642) can be executed.
[0160] Meanwhile, the third virtual machine (640) may, similarly to FIG. 5a, execute a safety operating system (642), a container runtime (644) on the safety operating system (642), and a container (647) on the container runtime (644).
[0161] Meanwhile, the third virtual machine (640) requiring a high level of security is preferably executed on a second processor (177), which is a different core or different processor, unlike the first and second virtual machines (620 to 630).
[0162] Meanwhile, in the signal processing devices (170a1, 170a2) of FIGS. 5a and 5b, when the first signal processing device (170a) malfunctions, the second signal processing device (170a2), which is a backup device, can operate.
[0163] Alternatively, it is also possible for the signal processing devices (170a1, 170a2) to operate simultaneously, with the first signal processing device (170a) operating as the main device and the second signal processing device (170a2) operating as the sub device. This will be described with reference to FIGS. 5c and 5d.
[0164] FIG. 5c illustrates another example of a vehicle control device according to an embodiment of the present disclosure.
[0165] Referring to the drawing, a vehicle control device (600c) according to an embodiment of the present disclosure includes a signal processing device (170a1, 170a2) and a plurality of area signal processing devices (170Z1 to 170Z4).
[0166] Meanwhile, in the drawing, two signal processing devices (170a1, 170a2) are exemplified, but this is for backup purposes, etc., and one is also possible.
[0167] Meanwhile, the signal processing device (170a1, 170a2) may also be named an HPC (High Performance Computing) signal processing device.
[0168] Multiple area signal processing devices (170Z1 to 170Z4) are arranged in each area (Z1 to Z4) and can transmit sensor data to signal processing devices (170a1, 170a2).
[0169] The signal processing device (170a1, 170a2) receives data via a wire from multiple area signal processing devices (170Z1 to 170Z4) or a communication device (120).
[0170] In the drawing, data is exchanged based on wired communication between a signal processing device (170a1, 170a2) and multiple area signal processing devices (170Z1 to 170Z4), and the signal processing device (170a1, 170a2) and the server (400) exchange data based on wireless communication. However, data may be exchanged based on wireless communication between a communication device (120) and a server (400), and the signal processing device (170a1, 170a2) and the communication device (120) may exchange data based on wired communication.
[0171] Meanwhile, data received by the signal processing device (170a1, 170a2) may include camera data or sensor data.
[0172] Meanwhile, among the signal processing devices (170a1, 170a2), the processor (175) in the first signal processing device (170a1) can execute a hypervisor (505) and execute a safety virtualization machine (660) and a non-safety virtualization machine (670) on the hypervisor (505).
[0173] Meanwhile, among the signal processing devices (170a1, 170a2), the processor (175b) in the second signal processing device (170a2) executes the hypervisor (505b) and can execute only the safety virtualization machine (680) on the hypervisor (505).
[0174] In this way, since the processing for safety is separated between the first signal processing device (170a1) and the second signal processing device (170a2), it is possible to improve stability and processing speed.
[0175] Meanwhile, high-speed network communication can be performed between the first signal processing device (170a1) and the second signal processing device (170a2).
[0176] FIG. 5d illustrates another example of a vehicle control device according to an embodiment of the present disclosure.
[0177] Referring to the drawing, a vehicle control device (600d) according to an embodiment of the present disclosure includes a signal processing device (170a1, 170a2) and a plurality of area signal processing devices (170Z1 to 170Z4).
[0178] The vehicle control device (600d) of FIG. 5d is similar to the vehicle control device (600c) of FIG. 5c, but the second signal processing device (170a2) has some differences from the second signal processing device (170a2) of FIG. 5c.
[0179] The processor (175b) in the second signal processing device (170a2) of FIG. 5d executes a hypervisor (505b) and can execute a safety virtualization machine (680) and a non-safety virtualization machine (690) on the hypervisor (505).
[0180] That is, unlike FIG. 5c, the difference is that the processor (175b) within the second signal processing device (170a2) further executes a non-safety virtualization machine (690).
[0181] In this way, since the processing for safety and non-safety is separated into the first signal processing device (170a1) and the second signal processing device (170a2), it is possible to improve stability and processing speed.
[0182] FIG. 6 is an example of a block diagram of a vehicle control device according to an embodiment of the present disclosure.
[0183] Referring to the drawings, a vehicle control device (900) according to an embodiment of the present disclosure includes a signal processing device (170) and at least one display.
[0184] In the drawing, at least one display is illustrated, a cluster display (180a) and an AVN display (180b).
[0185] Meanwhile, the vehicle control device (900) may further include a plurality of area signal processing devices (170Z1 to 170Z4).
[0186] The signal processing device (170) at this time is a high-performance centralized signal processing and control device having multiple CPUs (175), GPUs (178), NPUs (179), etc., and may be called an HPC (High Performance Computing) signal processing device or a central signal processing device.
[0187] A plurality of area signal processing devices (170Z1 to 170Z4) and a signal processing device (170) are connected by wired cables (CB1 to CB4).
[0188] Meanwhile, multiple area signal processing devices (170Z1 to 170Z4) can be connected to each other with wired cables (CBa to CBd).
[0189] The wired cable (CBa~CBd) at this time may include a CAN communication cable, an Ethernet communication cable, or a PCI Express cable.
[0190] Meanwhile, a signal processing device (170) according to an embodiment of the present disclosure may be equipped with at least one processor (175, 178, 177) and a large-capacity storage device (925).
[0191] For example, a signal processing device (170) according to an embodiment of the present disclosure may include a central processor (175, 177), a graphics processor (178), and a neural processor (179).
[0192] Meanwhile, sensor data may be transmitted from at least one of the multiple area signal processing devices (170Z1 to 170Z4) to the signal processing device (170). In particular, the sensor data may be stored in a storage device (925) within the signal processing device (170).
[0193] The sensor data at this time may include at least one of camera data, lidar data, radar data, vehicle direction data, vehicle location data (GPS data), vehicle angle data, vehicle speed data, vehicle acceleration data, vehicle inclination data, vehicle forward / backward data, battery data, fuel data, tire data, vehicle lamp data, vehicle interior temperature data, and vehicle interior humidity data.
[0194] In the drawing, it is exemplified that camera data from a camera (195a) and lidar data from a lidar sensor (196) are input to a first area signal processing device (170Z1), and the camera data and lidar data are transmitted to a signal processing device (170) via a second area signal processing device (170Z2), a third area signal processing device (170Z3), etc.
[0195] Meanwhile, since the data read speed or write speed to the storage device (925) is faster than the network speed when sensor data is transmitted from at least one of the plurality of area signal processing devices (170Z1 to 170Z4) to the signal processing device (170), it is preferable that multi-path routing be performed so that a network bottleneck does not occur.
[0196] To this end, the signal processing device (170) according to the embodiment of the present disclosure can perform multi-path routing based on a Software Defined Network (SDN). Accordingly, a stable network environment can be secured when reading or writing data from the storage device (925). Furthermore, since data can be transmitted to the storage device (925) using multiple paths, the network configuration can be dynamically changed to transmit data.
[0197] Data communication between a plurality of area signal processing devices (170Z1 to 170Z4) and a signal processing device (170) in a vehicle control device (900) according to an embodiment of the present disclosure is preferably Peripheral Component Interconnect Express communication for high-bandwidth, low-latency communication.
[0198] FIG. 7a is an example of an operational configuration diagram of a central signal processing device according to an embodiment of the present disclosure.
[0199] Referring to the drawing, a central signal processing device (170) according to an embodiment of the present disclosure includes a processor (175).
[0200] The processor (175) within the central signal processing unit (170) can execute a hypervisor (505) or a container.
[0201] Meanwhile, the processor (175) can execute a domain based on a software defined vehicle (SDV) base on a hypervisor (505) or a container.
[0202] For example, the processor (175) can execute a communication domain (711), an OTA domain (721), a security domain (722), a diagnosis domain (723), and an orchestrator domain (732) on a hypervisor (505) or a container.
[0203] The communication domain (711) is a domain for internal communication and may include a SOME / IP (Scalable service-Oriented Middleware over IP) domain, a DDS domain, etc.
[0204] The OTA domain (721) is an update-related domain based on data reception from the server (400), and may include a master domain, a client domain, a module domain, etc.
[0205] The security domain (722) may include an IDS domain, an AUTH domain, a TEE domain, etc.
[0206] The diagnostic domain (723) may include a CAN domain, an Ethernet domain, a wireless domain, etc.
[0207] The orchestrator domain (732) may include a resource domain, a criticality domain, etc.
[0208] Meanwhile, the processor (175) can execute an SDV-based platform on each domain.
[0209] For example, the processor (175) may execute an SDV-based autonomous driving (AD) or advanced driver assistance system (ADAS) platform (715) on the communication domain (711).
[0210] Meanwhile, the autonomous driving (AD) or advanced driver assistance system (ADAS) platform (715) may include a platform such as a camera aggregator, sensor fusion, ADAS AI algorithm, or vision framework.
[0211] For example, the processor (175) can execute an SDV-based vehicle platform (725) on an OTA domain (721) and a security domain (722).
[0212] Meanwhile, the vehicle platform (725) may include an application store, car service, personalization, multimedia, BT / WiFi / UWB, phone projection, audio, or location platform.
[0213] For example, the processor (175) may execute an SDV-based screen sharing (729), HUD (727), or cluster (726) platform on the analysis domain (723).
[0214] Meanwhile, the processor (175) can execute a platform such as an SDV-based body service, chassis service, power train service, or Autosa Classic on the Orchestrator domain (732).
[0215] Meanwhile, the processor (175) can execute SDV experience or applications on the SDV base.
[0216] For example, the processor (175) may execute an autonomous driving (AD) application (179) or an ADAS application (178) on an autonomous driving (AD) or advanced driver assistance system (ADAS) platform (715).
[0217] Meanwhile, the processor (175) can execute an AR / MR application (741), a surround view application (742), an AI sound application (743), an IVI application (744), a vehicle content platform application (745), or a SW defned radio application (746) on a vehicle platform (725), screen sharing (729), HUD (727), or cluster (726).
[0218] Meanwhile, the processor (175) can execute a vehicle application (178), etc., on a platform such as a body service, a chassis service, a power train service, or an autos classic.
[0219] FIG. 7b is an example of an operational configuration diagram of a region signal processing device according to an embodiment of the present disclosure.
[0220] Referring to the drawing, the area signal processing device (170z) according to the embodiment of the present disclosure includes a processor (175z).
[0221] A processor (175z) within the domain signal processing device (170z) can execute a hypervisor (505z) or a container.
[0222] Meanwhile, the processor (175z) can execute an operating system (705) on a hypervisor (505z) or a container.
[0223] Meanwhile, the processor (175z) can execute a network domain (762) on the operating system (705).
[0224] Meanwhile, the network domain (762) may include a CAN, Ethernet, PCIe, ISN, or SDN domain.
[0225] Meanwhile, the processor (175z) can execute an AUTOSAR Adaptive (763), a gateway (764), or a PLC (765) platform on a network domain (762).
[0226] Meanwhile, the processor (175z) can execute a domain application (768), etc., on an AUTOSAR Adaptive (763), gateway (764), or PLC (765) platform.
[0227] FIG. 8 illustrates an example of execution of a vehicle service in a signal processing device according to an embodiment of the present disclosure.
[0228] Referring to the drawing, a signal processing device (170) according to an embodiment of the present disclosure includes a processor (175) and a memory (174).
[0229] Meanwhile, the signal processing device (170) according to the embodiment of the present disclosure may further include a second processor (178) and a neural processor (179).
[0230] Meanwhile, the processor (175) according to the embodiment of the present disclosure can execute a service agent (800) for executing a vehicle service. The service agent (800) at this time can be named PICCOLO.
[0231] For example, the service agent (800) can receive execution-related data for executing an SDV-based vehicle service and control the execution of the vehicle service based on the execution-related data.
[0232] Meanwhile, the service agent (800) can respond to the service orchestrator.
[0233] Meanwhile, the processor (175) according to the embodiment of the present disclosure may further execute a service scheduler (840) that exchanges data with a service agent (800) for executing a vehicle service. The service scheduler (840) at this time may be named TIMPANI.
[0234] Figures 9 and 10 are drawings referred to in the description of Figure 8.
[0235] Figure 9 illustrates an example of service execution based on the service agent of Figure 8.
[0236] Referring to the drawing, a processor (175) according to an embodiment of the present disclosure can execute a service agent (800), a service scheduler (840), a kernel (880), and a service container (890) for executing a vehicle service.
[0237] The service agent (800) can receive service execution related data in file format from outside or inside the vehicle, and output command data (cmd) to the outside based on the service execution related data.
[0238] For example, the service agent (800) can receive service execution related data in a YAML (YAML Ain't Markup Language) file format.
[0239] Meanwhile, the service agent (800) may include a parser (810) that interprets or parses data related to service execution, and a state manager (820) that transmits command data (cmd) to a workload orchestrator (870) to enable state transition by managing the difference between the current state and the desired state.
[0240] Meanwhile, the workload orchestrator (870) may be named Bluechi controller.
[0241] Meanwhile, the workload orchestrator (870) can control the execution of services interpreted by the service agent (800) through the real-time kernel (880) and the service container (890).
[0242] That is, the service container (890) can execute a service based on data from the service agent (800) or the service scheduler (840).
[0243] Meanwhile, the state manager (820) can receive result data from the workload orchestrator (870).
[0244] Meanwhile, the state manager (820) can transmit information (inf) of service execution related data interpreted by the parser (810) to the service scheduler (840) and receive error data from the service scheduler (840).
[0245] The service scheduler (840) may include a first service scheduler (850) that operates in direct connection with the service agent (800) and a second service scheduler (860) that operates as a node in indirect connection.
[0246] The first service scheduler (850) can create a schedule table (852) based on information (inf) of service execution related data interpreted by the service agent (800), create schedule information (854) based on the schedule table (852), and perform monitoring.
[0247] For example, a monitor (856) within a first service scheduler (850) can transmit result data of a monitored service to a state manager (820) within a service agent (800).
[0248] Meanwhile, schedule information (854) generated by the first service scheduler (850) can be transmitted to the second service scheduler (860).
[0249] The real-time scheduler (862) within the second service scheduler (860) can output real-time scheduling information (config) for service execution in the real-time kernel (880) and service container (890) based on the schedule information (854).
[0250] Meanwhile, the time trigger (864) within the second service scheduler (860) can output time trigger information (config) for service execution in the real-time kernel (880) and service container (890) based on the schedule information (854).
[0251] Meanwhile, the monitor (865) within the second service scheduler (860) can collect result data on the system resource status of the node and the real-time operation status of the service, and transmit the result data (result) to the monitor (856) within the first service scheduler (850).
[0252] Fig. 10 illustrates an example of the internal configuration of the service agent of Fig. 8 or Fig. 9.
[0253] Referring to the drawing, a service agent (800) according to one embodiment of the present disclosure may include a parser (810), a gateway (840), a server (830), and a state manager (820).
[0254] Meanwhile, the service agent (800) may further include storage (850).
[0255] The parser (810) can receive execution-related data for SDV-based vehicle service execution and interpret or parse the service execution-related data.
[0256] Meanwhile, the parser (810) can receive service execution related data in a YAML (YAML Ain't Markup Language) file format and interpret or parse the service execution related data within the YAML file.
[0257] And, the parser (810) can transmit the interpreted or parsed data to the server (830) or register it as a resource in the storage (850).
[0258] Meanwhile, the parser (810) can store data required for future workload generation in storage (850).
[0259] Meanwhile, the parser (810) can perform conversion into a manifest corresponding to a workload orchestrator (870), which is a multi-node service controller.
[0260] For example, the parser (810) may receive a YAML file or other format manifest, which is an example of service execution related data, from an RPC sender (remote procedure call sender) (805) or a REST API.
[0261] The server (830) can receive parsing result data from the parser (810) and share the parsing result data with other modules. The server (830) at this time can be named an API server.
[0262] For example, the server (830) can separate the parsing result data from the parser (810) into condition data and action data and store them in storage (850).
[0263] Meanwhile, the server (830) can transmit a key value that can read condition data or action data, which is part of the parsing result data, from the storage (850) to the gateway (840).
[0264] Meanwhile, the server (830) can control to store some data or some status information for status management of the service agent (800) in the storage (850).
[0265] Meanwhile, the server (830) can support or request RPC (remote procedure call) and API for external communication.
[0266] Meanwhile, the server (830) may receive a direct request from the direct request unit (801) or a workload creation request from the workload creation request unit (803).
[0267] Meanwhile, the server (830) can transmit a received direct request or workload creation request to the workload orchestrator (870).
[0268] The gateway (840) can receive vehicle messages in various formats and determine the vehicle status based on the received vehicle messages.
[0269] Meanwhile, the gateway (840) can filter data within the received vehicle message and trigger an event based on the data to control the vehicle to be driven in response to a desired vehicle scenario.
[0270] Meanwhile, the gateway (840) can read condition data stored in the storage (850) based on the key value received from the server (830) and generate a filter based on the condition data.
[0271] Meanwhile, the gateway (840) can transmit a message for the vehicle sensor to the message sender (807).
[0272] Meanwhile, the filter) can determine the status of the vehicle from the received vehicle message, for example, the DDS message, and continuously check whether the condition corresponding to the condition data is satisfied.
[0273] Meanwhile, the gateway (840) can transmit scenario information to the state manager (820) and delete the filter when a condition corresponding to the condition data is satisfied.
[0274] Meanwhile, the state manager (820) can perform the role of a node with the workload orchestrator (870).
[0275] For example, the state manager (820) can control the state transition to be performed by managing the difference between the current state and the desired state.
[0276] Meanwhile, the state manager (820) can request additional commands from the workload orchestrator (870) based on a direct request received from the server (830).
[0277] Meanwhile, when the state manager (820) receives scenario information that satisfies a condition from the gateway (840), it can set a key value based on the scenario information and read action data from the storage (850) based on the set key value.
[0278] Meanwhile, action data may include data indicating which workload container should be executed.
[0279] Meanwhile, the state manager (820) can read data required for workload generation stored in storage (850) by the parser (810) based on action data.
[0280] Meanwhile, the state manager (820) can transmit command data such as start, update, rollback, or terminate to the workload orchestrator (870) based on the data required for generating the received workload.
[0281] Meanwhile, the workload orchestrator (870) may execute a corresponding function or command or transmit it to a service container (890) based on command data such as start, update, rollback, or terminate from the state manager (820).
[0282] Meanwhile, storage (850) can store key values, and the key values can be utilized in various services such as Kubernetes.
[0283] Meanwhile, storage (850) can store data required for workload generation by the parser (810).
[0284] Meanwhile, the storage (850) can store parsing result data from the parser (810). At this time, the storage (850) can store the parsing result data by separating it into condition data and action data.
[0285] FIG. 11a is an example of an internal block diagram of a vehicle control device related to the present disclosure.
[0286] Referring to the drawing, a vehicle control device (100x) related to the present disclosure includes a central signal processing device (170x), an area signal processing device (170zx), and a control device (1100).
[0287] A central signal processing unit (170x) related to the present disclosure may include a first processor (175x) and a first memory (174x). The first processor (175x) may execute an operating system (1105) and an HMI service (1102).
[0288] Meanwhile, the central signal processing unit (170x) and the area signal processing unit (170zx) can perform Ethernet communication.
[0289] The area signal processing device (170zx) related to the present disclosure may include a second processor (175zx) and a second memory (174zx). The second processor (175zx) may execute a domain (1108), an operating system (1107), and a CAN communication service (1106).
[0290] Meanwhile, the area signal processing device (170zx) and the control device (1100) can perform CAN communication.
[0291] A control device (1100) related to the present disclosure may include a controller (1230) and a memory (1234). The controller (1230) may execute an operating system (1236), actuator control (1235), and a vehicle service (1105) based on control logic.
[0292] Meanwhile, the vehicle service (1105) may include a first vehicle service (1106) and a second vehicle service (1117).
[0293] A control device (1100) related to the present disclosure can control a plurality of actuators (AT1 to ATn) or a plurality of sensor devices (SR1 to SRn) based on actuator control (1235) or vehicle service (1105).
[0294] According to the vehicle control device (100x) related to the present disclosure of FIG. 11a, in order to control a plurality of actuators (AT1 to ATn), a controller (1230) within the control device (1100) outputs a control signal.
[0295] Meanwhile, if it is necessary to control multiple actuators (AT1 to ATn) by updating them with a new service, it is necessary to update the data in the memory (1234).
[0296] In particular, when it is necessary to control multiple actuators (AT1 to ATn) by updating them with a new service, it is necessary to update data corresponding to the first vehicle service (1106) in the memory (1234), data corresponding to the second vehicle service (1117), or data corresponding to the actuator control (1235).
[0297] However, since the control device (1100) performs CAN communication with the area signal processing device (170zx), it may not be easy to receive update data from an external server (400) via the area signal processing device (170zx) and the central signal processing device (170x).
[0298] Additionally, due to limitations in the capacity of the third memory (1113) within the control device (1100), it may not be easy to store new service data or update data.
[0299] Ultimately, according to the vehicle control device (100x) related to the present disclosure of FIG. 11a, it may be difficult to operate a plurality of actuators (AT1 to ATn) based on a new vehicle service or an updated vehicle service.
[0300] In this disclosure, we propose a method for creating and executing a new service. This is described with reference to Figure 12a and below.
[0301] Figure 11b is a drawing referenced in the description of Figure 11a.
[0302] Referring to the drawings, a plurality of controllers (ECUa to ECUc) in a vehicle control device (100x) related to the present disclosure each receive a switching signal from a plurality of switches (SWa to SWc) and control each actuator (ATa to ATc) based on each switching signal.
[0303] According to this method, as the number of actuators (ATa to ATc) increases, there is a disadvantage in that the number of controllers (ECUa to ECUc) increases.
[0304] Accordingly, in this disclosure, a method for efficiently controlling multiple actuators using a controller is proposed. This is described with reference to FIG. 12a and below.
[0305] FIG. 12a is an example of an internal block diagram of a vehicle control device according to an embodiment of the present disclosure.
[0306] Referring to the drawings, a vehicle control device (100) according to one embodiment of the present disclosure includes a first signal processing device (170), a second signal processing device (170z) electrically connected to the first signal processing device (170), and a control device (1200) electrically connected to the second signal processing device (170z).
[0307] The first signal processing unit (170), which is a central signal processing unit, has a first processor (175) and a first memory (174).
[0308] The second signal processing device (170z), which is a domain signal processing device, has a second processor (175z) and a second memory (174z).
[0309] Meanwhile, the control device (1200) is electrically connected to the second signal processing device (170z) and receives a signal from a hardware switch (2312) or a sensor (SRm) or controls at least one actuator (ACT).
[0310] Meanwhile, the first processor (175) or the second processor (175z) controls the execution of a virtual switch service when the hardware switch (2312) fails, and outputs a virtual switch object corresponding to the virtual switch service to an electrically connected display (180), and when the virtual switch object is selected, controls the controller (2330) to output an operation on signal, an operation off signal, or an operation control signal to the actuator (ACT).
[0311] Accordingly, when a hardware device connected to the controller (2330) fails, a replacement service can be quickly executed. In particular, when a hardware device connected to the controller (2330) fails, a replacement service based on a service-oriented architecture can be quickly executed.
[0312] Meanwhile, the first memory (174) may include a change data area (SPA1) that stores data related to a virtual switch service.
[0313] Meanwhile, the first memory (174) may further include a fixed data area (SPA2) that stores data related to fixed services.
[0314] Meanwhile, the second memory (174z) may include a change data area (SPA3) that stores data related to a virtual switch service and a fixed data area (SPA4) that stores data related to a fixed service.
[0315] Meanwhile, the first signal processing device (170) and the second signal processing device (170z) can perform TSN (Time Sensitive Networking) communication based on Ethernet communication.
[0316] Meanwhile, it is preferable that the communication method between the second signal processing device (170z) and the control device (1200) is the same as the communication method between the first signal processing device (170) and the second signal processing device (170z).
[0317] For example, the communication method between the first signal processing device (170) and the second signal processing device (170z) may be TSN (Time Sensitive Networking) communication based on Ethernet communication.
[0318] Meanwhile, the control device (1200) can control a plurality of actuators (AT1 to ATn) or receive signals from a plurality of sensors (SR1 to SRn).
[0319] Meanwhile, the control device (1200) includes a memory (1234) in addition to the controller (1230).
[0320] Meanwhile, the memory (1234) may include a fixed data area that stores data related to the control of a plurality of actuators (AT1 to ATn) or data related to a plurality of sensors (SR1 to SRn).
[0321] That is, it is preferable that the memory (1234) not be provided with a change data area that stores data related to a new service or virtual switching service.
[0322] Meanwhile, the first processor (175) in the first signal processing device (170) according to the embodiment of the present disclosure can execute an operating system (1205) and execute an HMI service (1202) on the operating system (1205).
[0323] Meanwhile, the first processor (175) within the first signal processing device (170) can execute the first service agent (2350a) on the operating system (1205).
[0324] Meanwhile, unlike FIG. 11a, the first processor (175) within the first signal processing device (170) can execute a service based on a service-oriented architecture (SOA) or a microservice (1215) based on a microservice architecture (MSA) on an operating system (1205).
[0325] Meanwhile, the first processor (175) within the first signal processing device (170) can execute a vehicle service (1210) based on control logic on the operating system (1205).
[0326] The vehicle service (1210) may include at least one vehicle service, and the drawing exemplifies a first vehicle service (1211) and a second vehicle service (1212).
[0327] Meanwhile, the first vehicle service (1211) or the second vehicle service (1212) may include a service for controlling at least one of a plurality of actuators (AT1 to ATn).
[0328] Meanwhile, the first vehicle service (1211) or the second vehicle service (1212) may be updated based on update data received from an external server (400) or an external electronic device (600).
[0329] Meanwhile, the first vehicle service (1211) or the second vehicle service (1212) may be a new vehicle service based on data received from an external server (400) or an external electronic device (600).
[0330] Meanwhile, the second processor (175z) within the second signal processing device (170z) can execute the second service agent (2350b) on the operating system (1205z).
[0331] Meanwhile, the second processor (175z) in the second signal processing device (170z) according to the embodiment of the present disclosure may execute an operating system (1205z) and execute an SOA-based service or microservice (1215z) on the operating system (1205z).
[0332] Meanwhile, the second processor (175z) within the second signal processing device (170z) can execute a vehicle service (1210z) on the operating system (1205z).
[0333] The vehicle service (1210z) may include at least one vehicle service, and in the drawing, a third vehicle service (1221), a fourth vehicle service (1222), a fifth vehicle service (1223), and a sixth vehicle service (1224) are exemplified.
[0334] Meanwhile, at least one of the third vehicle service (1221) to the sixth vehicle service (1224) may include a service for controlling at least one of the plurality of actuators (AT1 to ATn).
[0335] Meanwhile, the third vehicle service (1221) or the fourth vehicle service (1222) may be a new vehicle service based on data received from an external server (400) or an external electronic device (600).
[0336] Meanwhile, the fifth vehicle service (1223) or the sixth vehicle service (1224) may be updated based on update data received from an external server (400) or an external electronic device (600).
[0337] A control device (1200) according to an embodiment of the present disclosure includes a controller (1230) and a memory (1234).
[0338] The controller (1230) can execute an operating system (1236) and execute an actuator control (1235) on the operating system (1236).
[0339] Meanwhile, the controller (1230), unlike FIG. 11a, can only execute actuator control (1235) without executing vehicle service.
[0340] That is, it is preferable that the vehicle service be executed in the second signal processing device (170z) instead of the control device (1200).
[0341] A control device (1200) according to an embodiment of the present disclosure can control a plurality of actuators (AT1 to ATn) or a plurality of sensor devices (SR1 to SRn) based on actuator control (1235).
[0342] The actuator control (1235) at this time can output an operation on signal, an operation off signal, or an operation control signal for at least one of the plurality of actuators (AT1 to ATn).
[0343] A control device (1200) according to an embodiment of the present disclosure can control at least one of a plurality of actuators (AT1 to ATn) based on sensor data from at least one of a plurality of sensor devices (SR1 to SRn).
[0344] A second processor (175z) according to one embodiment of the present disclosure executes a third vehicle service (1221) to control a controller (1230) within a control device (1200) to output an operation on signal or an operation off signal to at least one of a plurality of actuators (AT1 to ATn).
[0345] Meanwhile, the first memory (174) in the first signal processing device (170) or the second memory (174z) in the second signal processing device (170z) can receive and store data related to the execution of the fifth vehicle service (1223) added or updated in addition to the third vehicle service (1221) from an external server (400) or an external electronic device (600).
[0346] Meanwhile, the second processor (175z) according to one embodiment of the present disclosure controls the controller (1230) in the control device (1200) to output an operation on signal, an operation off signal, or an operation control signal to at least one of the plurality of actuators (AT1 to ATn) based on the fifth vehicle service (1223), when the fifth vehicle service (1223) is executed after the execution-related data of the fifth vehicle service (1223) added or updated in addition to the third vehicle service (1221) is stored in the first memory (174) in the first signal processing device (170) or the second memory (174z) in the second signal processing device (170z).
[0347] At this time, the second processor (175z) controls the execution-related data of the added or updated fifth vehicle service (1223) not to be transmitted to the control device (1200).
[0348] That is, the control device (1200) does not execute the vehicle service and does not receive data related to the execution of the vehicle service.
[0349] In this way, the control device (1200) enables simple operation of the control device (1200) by outputting an operation on signal, an operation off signal, or an operation control signal to at least one of the plurality of actuators (AT1 to ATn) without executing a vehicle service or receiving data related to the execution of the vehicle service.
[0350] In addition, since there is no need for new services or service updates to the control device (1200), multiple actuators (AT1 to ATn) can be stably controlled.
[0351] Meanwhile, new services or service updates can be efficiently executed by the second signal processing device (170z) rather than the control device (1200). In particular, new or updated services based on a service-oriented architecture can be efficiently executed by the second signal processing device (170z).
[0352] Meanwhile, execution-related data of the fifth vehicle service (1223) may include condition data and action data.
[0353] Meanwhile, the second processor (175z) can execute the fifth vehicle service (1223) when the condition data within the execution-related data of the fifth vehicle service (1223) is satisfied. Accordingly, a new fifth vehicle service (1223) or an updated fifth vehicle service (1223) can be efficiently executed.
[0354] Meanwhile, the motion control signal may include an motion speed control signal, an motion intensity control signal, or an motion temperature control signal.
[0355] For example, based on the fifth vehicle service (1223), the controller (1230) in the control device (1200) can output an operation speed control signal, an operation intensity control signal, or an operation temperature control signal to at least one of the plurality of actuators (AT1 to ATn).
[0356] Accordingly, based on the fifth vehicle service (1223), the operating speed, operating intensity, or operating temperature of at least one of the plurality of actuators (AT1 to ATn) can be controlled. Consequently, a new fifth vehicle service (1223) or an updated fifth vehicle service (1223) can be efficiently executed.
[0357] Meanwhile, the fifth vehicle service (1223) may include a microservice.
[0358] For example, the second processor (175z) can execute the fifth vehicle service (1223), which is a microservice, when the condition data in the execution-related data of the fifth vehicle service (1223) is satisfied. Accordingly, new or updated microservices can be efficiently executed.
[0359] Meanwhile, the first processor (175) can be controlled to execute the first vehicle service (1211) based on the received sensor data and transmit execution information of the first vehicle service (1211) to the second processor (175z).
[0360] Meanwhile, the sensor data may include at least one of vehicle driving sensor data, passenger status sensor data, or vehicle surrounding sensor data.
[0361] Meanwhile, the first processor (175) can control the execution of the first vehicle service (1211) when the sensor data satisfies the conditions for executing the first vehicle service (1211).
[0362] Meanwhile, the second processor (175z) can control the controller (1230) by executing the fifth vehicle service (1223) based on the execution information of the first vehicle service (1211).
[0363] In addition, based on the fifth vehicle service (1223), the controller (1230) within the control device (1200) can output an operating speed control signal, an operating intensity control signal, or an operating temperature control signal to at least one of the plurality of actuators (AT1 to ATn). Accordingly, new or updated services can be efficiently executed.
[0364] Meanwhile, the first processor (175) controls the execution of the first vehicle service (1211) based on the received first input signal and sensor data, and transmits execution information of the first vehicle service (1211) to the second processor (175z), and the second processor (175z) controls the controller (1230) by executing the fifth vehicle service (1223) based on the execution information of the first vehicle service (1211). Accordingly, new or updated services can be efficiently executed.
[0365] Meanwhile, the first processor (175) controls the transmission of the received first input signal to the second processor (175z), and the second processor (175z) can control the controller (1230) by executing the third vehicle service (1221) based on the first input signal.
[0366] Meanwhile, the controller (1230) can control at least one of the plurality of actuators (AT1 to ATn) based on the third vehicle service (1221). Accordingly, the third vehicle service (1221) can be efficiently executed.
[0367] Meanwhile, the second processor (175z) can control the controller (1230) by executing the fifth vehicle service (1223) based on the received sensor data. Accordingly, new or updated services can be efficiently executed based on the sensor data.
[0368] Meanwhile, the second processor (175z) can control the controller (1230) by executing the fifth vehicle service (1223) based on the received first input signal and sensor data. Accordingly, a new or updated service can be efficiently executed based on the first input signal and sensor data.
[0369] Meanwhile, the second processor (175z) can control the execution of the fifth vehicle service (1223) if the sensor data satisfies the conditions for executing the fifth vehicle service (1223). Accordingly, new or updated services can be efficiently executed based on the sensor data.
[0370] Meanwhile, the second processor (175z) can control the controller (1230) by executing the third vehicle service (1221) based on the first input signal. Accordingly, the third vehicle service (1221) can be executed efficiently.
[0371] Meanwhile, data related to the execution of the fifth vehicle service (1223) may include condition data and action data. At this time, at least one of the condition data and the action data may be updateable.
[0372] Accordingly, new or updated services can be efficiently executed based on updated data.
[0373] Meanwhile, condition data may include vehicle driving sensor data, passenger status sensor data, and vehicle surrounding sensor data. Accordingly, new or updated services can be efficiently implemented based on condition data.
[0374] Meanwhile, the controller (1230) receives the operating status data of the actuators (AT1 to ATn) when the fifth vehicle service (1223) of the second processor (175z) is executed, and can control the operating status of the actuators (AT1 to ATn) to be varied based on the operating status data of the actuators. Accordingly, it becomes possible to efficiently execute a new service or an updated service based on the operating status data of the actuators.
[0375] Meanwhile, the controller (1230) controls the operation on or off of the actuator based on the third vehicle service (1221), and can vary the operation speed of the actuators (AT1 to ATn) based on the fifth vehicle service (1223). Accordingly, the fifth vehicle service (1223) can be efficiently executed.
[0376] Meanwhile, at least one of the actuators (AT1 to ATn) of FIG. 12a may operate to move the vehicle seat, and at least one of the sensors (SR1 to SRn) may be a camera within the vehicle.
[0377] In this case, the controller (1230) can control the actuators (AT1 to ATn) for movement of the vehicle seat based on the third vehicle service (1221) executed by the input signal.
[0378] Meanwhile, the controller (1230) can control the actuators (AT1 to ATn) or the seat motor for any one of the movement speed, movement control, movement intensity, and automatic movement of the vehicle seat based on the fifth vehicle service (1223) executed by the in-vehicle camera data. Accordingly, the fifth vehicle service (1223) can be executed efficiently.
[0379] Meanwhile, at least one of the actuators (AT1 to ATn) of FIG. 12a may operate to control the temperature inside the vehicle, and at least one of the sensors (SR1 to SRn) may be a camera inside the vehicle.
[0380] In this case, the controller (1230) can control the actuators (AT1 to ATn) to control the temperature inside the vehicle based on the third vehicle service (1221) executed by the input signal.
[0381] Meanwhile, the controller (1230) can control the actuators (AT1 to ATn) for any one of temperature control, wind direction control, and wind speed control within the vehicle based on the fifth vehicle service (1223) executed by in-vehicle camera data. Accordingly, the fifth vehicle service (1223) can be efficiently executed.
[0382] Figure 12b is a drawing referenced in the description of Figure 12a.
[0383] Referring to the drawing, the first signal processing device (170) in the vehicle control device (100) according to the embodiment of the present disclosure can each receive switching signals from a plurality of switches (SW1 to SW6) for driving actuators (AT1 to AT6).
[0384] Meanwhile, the first signal processing device (170) can transmit each switching signal from a plurality of switches (SW1 to SW6) to the control device (1200) via the second signal processing device (170z), which is an area signal processing device.
[0385] Meanwhile, the first controller (1233) within the control device (1200) can receive some of the plurality of switching signals, and the second controller (1247) can receive other some of the plurality of switching signals.
[0386] Meanwhile, the first controller (1233) can control some (AT1 to AT3) of the plurality of actuators (AT1 to AT6) to operate based on the received switching signal.
[0387] Accordingly, unlike Fig. 11b, composite driving of multiple actuators (AT1 to AT3) by the first controller (1233) becomes possible. Accordingly, multiple actuators (AT1 to AT3) can be operated efficiently.
[0388] Meanwhile, the second controller (1237) can control other parts (AT4 to AT3) of the plurality of actuators (AT1 to AT6) to operate based on the received switching signal.
[0389] Accordingly, unlike Fig. 11b, composite driving of multiple actuators (AT4 to AT6) by the second controller (1237) becomes possible. Accordingly, multiple actuators (AT4 to AT6) can be operated efficiently.
[0390] Ultimately, by using the first signal processing device (170) or the second signal processing device (170z), it becomes possible to efficiently execute a composite service that drives multiple actuators.
[0391] FIG. 13 illustrates an example of the operation of a vehicle control device according to an embodiment of the present disclosure.
[0392] Referring to the drawings, a vehicle control device (100a) according to an embodiment of the present disclosure includes a processor (175) that executes an in-vehicle service and a memory (174) that stores data related to the service.
[0393] Meanwhile, the processor (175) separates action data and condition data from the execution-related data of the first service, and, based on received sensor data or messages, controls the execution of the first service if the execution conditions within the condition data of the first service are met. Accordingly, new services can be efficiently executed. Meanwhile, new services corresponding to vehicle occupants can be efficiently executed. In particular, new services based on a service-oriented architecture can be efficiently executed.
[0394] Meanwhile, the processor (175) can execute a service agent (800) for executing vehicle services.
[0395] Meanwhile, the service agent (800) within the processor (175) may include or execute a parser (810) that parses execution-related data of the first service, a gateway (840) that receives sensor data or messages, and a state manager (820) that transmits command data when an execution condition within the condition data of the first service is satisfied based on the sensor data or messages. Accordingly, a new service can be efficiently executed.
[0396] Meanwhile, the service agent (800) within the processor (175) may further include or execute an interface server (830) that separates action data and condition data from the execution-related data of the first service parsed by the parser (810) and transmits them to the memory (140) or storage (850). Accordingly, the new service can be efficiently executed.
[0397] Meanwhile, the interface server (830) can transmit a key value for reading action data or condition data from memory (140) or storage (850) to the gateway (840). Accordingly, a new service can be efficiently executed.
[0398] Meanwhile, the gateway (840) can read condition data stored in memory or storage based on the key value received from the interface server (830) and generate a filter (841) based on the condition data. Accordingly, a new service can be efficiently executed.
[0399] Meanwhile, the gateway (840) can delete a filter if the execution condition within the condition data of the first service is met based on sensor data or messages. This allows for efficient execution of the new service.
[0400] Meanwhile, the state manager (820) can request additional commands from the workload orchestrator (895) based on a direct request received from the interface server (830). This enables efficient execution of new services.
[0401] Meanwhile, the parser (810) within the service agent (800) within the processor (175) can receive execution-related data of the first service generated internally or execution-related data of the first service generated from an external server (400) (S1316).
[0402] Meanwhile, the parser (810) in the service agent (800) within the processor (175) can receive data related to the execution of the first service in the YAML (YAML Ain't Markup Language) file format.
[0403] Meanwhile, the first service may be a new or updated service. Specifically, the first service may be a service for drivers or passengers.
[0404] Meanwhile, the parser (810) parses data related to the execution of the first service (S1310).
[0405] Next, the parser (810) can transmit the parsed result data to the interface server (830) (S1312).
[0406] The interface server (830) at this time may be an API server.
[0407] Meanwhile, the parser (810) can separately store the data required for workload generation among the parsed result data (S11314).
[0408] Next, the interface server (830) can receive parsed result data from the parser (810), separate condition data and action data from the parsed result data, and transmit them to the memory (140) or storage (850) (S1316).
[0409] In response to this, the memory (140) or storage (850) can store condition data and action data separately.
[0410] Meanwhile, the interface server (830) can transmit a key value for reading condition data or action data from memory (140) or storage (850) to the gateway (840) (S1318).
[0411] Next, the gateway (840) can read condition data from the memory (140) or storage (850) based on the received key value (S1320).
[0412] Meanwhile, the gateway (840) can generate a filter based on condition data from the memory (140) or storage (850) (S1322).
[0413] Meanwhile, the filter within the gateway (840) can receive vehicle sensor data or messages, determine the vehicle status, etc. based on the vehicle sensor data or messages, and continuously check whether conditions based on condition data are met (S1324).
[0414] Meanwhile, the gateway (840) can transmit the scenario name of the first service to the state manager (820) for subsequent steps if the condition is met (S1326).
[0415] Meanwhile, the state manager (820) can receive the scenario name of the first service and convert the scenario name of the first service into a key value.
[0416] And, the state manager (820) can receive action data from the memory (140) or storage (850) based on the key value.
[0417] Meanwhile, action data may include data about which workload container is being executed for the first service execution.
[0418] Meanwhile, the state manager (820) can create a system service link of the first service based on the action data (S1330).
[0419] In addition, the state manager (820) can transmit a loading command to the workload orchestrator (895) (S1332) and transmit command data for execution of the first service (S1334).
[0420] The command data for executing the first service at this time may include command data such as start, update, rollback, or terminate.
[0421] In response, the workload orchestrator (895) can execute the first service based on the command data. This enables efficient execution of new services.
[0422] Meanwhile, the processor (175) generates execution-related data for the first service based on an input signal or service execution history, and controls execution of the first service based on received sensor data or messages after verification of the first service is completed, if the execution conditions of the first service are met. At this time, the first service can respond to a new service.
[0423] This enables the creation and execution of new services, particularly those based on a service-oriented architecture.
[0424] The input signal at this time may be a voice signal, a text signal, or a gesture.
[0425] That is, the processor (175) can generate execution-related data of the first service based on an input signal such as a voice signal, a text signal, or a gesture, or a service execution history.
[0426] For example, the processor (175) can generate data related to the execution of a first service, which is a new service, based on a voice signal such as a passenger's voice.
[0427] As another example, the processor (175) can generate data related to the execution of a first service, which is a new service, based on a text signal such as a character input.
[0428] As another example, the processor (175) may generate execution-related data of a first service, which is a new service, based on the execution history of a second service corresponding to an existing service.
[0429] As another example, the processor (175) may generate data related to the execution of a new service, the first service, based on the passenger's gesture.
[0430] Meanwhile, the processor (175) can generate data related to execution of the first service based on the gesture of the vehicle passenger and data related to execution of the second service stored in the memory (140).
[0431] The second service at this time can respond to the existing service.
[0432] That is, the processor (175) can generate data related to the execution of a new first service based on data related to the execution of an existing second service and gestures of a vehicle occupant. Accordingly, a new service corresponding to a vehicle occupant can be generated and executed.
[0433] Meanwhile, the processor (175) can generate execution-related data of the first service based on the service list stored in the memory (140) or the service list from the service agent (800).
[0434] For example, the processor (175) can determine whether the first service exists in the service list stored in the memory (140) or in the service list from the service agent (800), and if not, can generate execution-related data for the first service. Accordingly, a new service can be created.
[0435] Meanwhile, the processor (175) can transmit data related to the execution of the first service to the service agent (800).
[0436] Meanwhile, the processor (175) can execute a service agent (800) for executing vehicle services.
[0437] Meanwhile, the service agent (800) within the processor (175) can request verification of the first service from an external server (400).
[0438] Meanwhile, the service agent (800) within the processor (175) can perform verification of the first service, or, if verification of the first service is not possible, control the external server (400) to request verification of the first service. Accordingly, a new service can be created and efficiently executed.
[0439] Meanwhile, an external server (400) can perform verification of the first service through an external verifier based on a verification request of the first service.
[0440] Meanwhile, an external server (400) can transmit service distribution information or verification completion information to the processor (175) after verification of the first service through an external verifier is completed.
[0441] Meanwhile, the processor (175) can control the execution of the first service if the condition data within the execution-related data is satisfied after receiving service deployment information or verification completion information. Accordingly, the new service can be efficiently executed.
[0442] Alternatively, the service agent (800) within the processor (175) may internally perform verification of the first service. This allows for the rapid creation and execution of new services.
[0443] Meanwhile, the processor (175) can generate execution-related data of the first service based on a plurality of service combinations.
[0444] For example, the processor (175) can generate execution-related data for a new service, a first service, based on a combination of an existing second service and an existing third service. Accordingly, the new service can be efficiently generated.
[0445] Meanwhile, the processor (175) may not generate execution-related data of the first service if the version of the system data stored in the memory (140) is the first version.
[0446] Meanwhile, the processor (175) can generate execution-related data for the first service based on an input signal or service execution history when the level of the system data stored in the memory (140) is a second version different from the first version. Accordingly, a new service can be created and efficiently executed.
[0447] Meanwhile, the processor (175) can generate execution-related data for the first service based on an input signal or service execution history after updating the system data stored in the memory (140). Accordingly, a new service can be created and efficiently executed.
[0448] Meanwhile, the processor (175) can generate execution-related data of the first service corresponding to the first passenger based on an input signal or service execution history.
[0449] Meanwhile, the processor (175) can generate data related to the execution of a second service corresponding to a second passenger based on an input signal or service execution history. Accordingly, a new service corresponding to a vehicle passenger can be created and executed.
[0450] Meanwhile, the processor (175) can execute the first service when the execution condition data of the first service in the execution-related data of the first service is satisfied, and can execute the second service when the execution condition data of the second service in the execution-related data of the second service is satisfied. Accordingly, a new service corresponding to the vehicle occupant can be created and executed.
[0451] Meanwhile, the processor (175) can generate execution-related data of the first service corresponding to the first passenger based on an input signal or service execution history.
[0452] Meanwhile, the processor (175) can generate execution-related data for a second service corresponding to a second passenger based on a second input signal or a second service execution history. Accordingly, a new service can be created and efficiently executed.
[0453] Meanwhile, the processor (175) can generate execution-related data for multiple services, including the first service, based on input signals or service execution history. Accordingly, new services can be created and efficiently executed.
[0454] Meanwhile, the first service may include multiple services.
[0455] Meanwhile, the processor (175) can set priorities for multiple services within the first service and control the execution of the first service based on the set priorities. Accordingly, multiple new services can be efficiently executed.
[0456] Meanwhile, execution-related data of the first service may include execution condition data and execution action data of the first service.
[0457] Meanwhile, the processor (175) can control execution of only a part of the first service or execution of a scalable service when only a part of the execution condition data of the first service is satisfied.
[0458] For example, the processor (175) can execute only a part of the first service if only some of the execution condition data of the first service is satisfied.
[0459] As another example, if only some of the execution condition data of the first service are satisfied, the processor (175) may execute the first service based on a second resolution that is lower than the first resolution, rather than the first service based on the first resolution.
[0460] That is, the processor (175) can execute a second scalable service with a lower resolution than the first scalable service if only some of the execution condition data of the first service are satisfied. Accordingly, a new service can be created and executed efficiently.
[0461] Meanwhile, the processor (175) can exclude items that cannot be executed when generating execution-related data for the first service based on the service combination. Accordingly, new services can be created and executed efficiently.
[0462] Meanwhile, the processor (175) may, based on the service combination, stop generating execution-related data for the first service if it relates to vehicle safety or regulations. Accordingly, new services can be created and efficiently executed while complying with vehicle safety or regulations.
[0463] Meanwhile, a vehicle control device (100a) according to one embodiment of the present disclosure may include a first signal processing device (170) having a processor (175) and a memory (140), a second signal processing device (170z) electrically connected to the first signal processing device (170) and having a second processor (175z) and a second memory (140z), and a control device (1200) electrically connected to the second signal processing device (170z) and having a controller (1230) that receives a signal from a hardware switch or sensor or controls at least one actuator (AT).
[0464] Meanwhile, if the processor (175) satisfies the execution conditions of the first service, it transmits an execution request of the first service to the second signal processing device (170z), and the second signal processing device (170z) can control the controller to output an operation on signal, an operation off signal, or an operation control signal to the actuator based on the execution request of the first service. Accordingly, a new service can be created and executed efficiently.
[0465] Figures 14a to 17 are drawings referred to in the description of Figure 13.
[0466] Figure 14a illustrates an example of the first service.
[0467] Referring to the drawing, the first service is a service requested by the driver of the vehicle (DRVa), for example, when the window is opened on a clear day and the speed limit is exceeded while driving at high speed, the window may be closed only halfway.
[0468] For example, the in-vehicle display (180) can receive an input signal requested by the vehicle driver (DRVa).
[0469] Meanwhile, the processor (175) within the vehicle control device (100) may generate a file (900a) containing execution-related data (1407) of the first service, which is a new service, based on an input signal or service execution history. The file at this time may be a YAML file.
[0470] The execution related data (1407) of the first service may include metadata, condition data, and action data.
[0471] For example, metadata may include vehicle window control data.
[0472] Meanwhile, condition data may include data indicating that the vehicle speed exceeds 90 km / h, and action data may include data indicating that the window is half-open.
[0473] Meanwhile, the processor (175) within the vehicle control device (100) determines that the condition of the first service is satisfied when the vehicle speed exceeds 90 km / h while the vehicle is driving, and can control the actuator (AT) to open only half of the window (DRRa) based on the action data.
[0474] This will enable the creation and efficient implementation of new services demanded by driver-driven vehicles (DRVa).
[0475] Figure 14b illustrates another example of the first service.
[0476] Referring to the drawing, the first service may be a service requested by the vehicle driver (DRVa), for example, a service that opens the window on a clear day and then completely closes the window when the speed limit is exceeded during high-speed driving.
[0477] For example, the in-vehicle display (180) can receive an input signal requested by the vehicle driver (DRVb).
[0478] Meanwhile, the processor (175) within the vehicle control device (100) may generate a file (900b) containing updated execution-related data (1417) of the first service based on the input signal and the existing execution history of the first service. The file at this time may be a YAML file.
[0479] The execution-related data (1417) of the updated first service may include metadata, condition data, and action data.
[0480] For example, metadata may include vehicle window control data.
[0481] Meanwhile, condition data may include data indicating that the vehicle speed exceeds 90 km / h, and action data may include data indicating that the window is completely closed.
[0482] Meanwhile, the processor (175) within the vehicle control device (100) determines that the condition of the first service is satisfied when the vehicle speed exceeds 90 km / h while the vehicle is driving, and can control the actuator (AT) to completely close the window (DRRb) based on the action data.
[0483] Accordingly, new services required by vehicle drivers (DRVb) can be created and efficiently implemented.
[0484] FIG. 15a is a diagram illustrating a service agent system according to an embodiment of the present disclosure.
[0485] Referring to the drawing, a service agent system according to an embodiment of the present disclosure may include a server (400), a service orchestrator (1509), and a workload orchestrator (895).
[0486] The external server (400) can execute Symphony (1502), an artificial intelligence processor (1503), etc. to create a new service, the first service.
[0487] The first service at this time may be a service based on SDV (Software Defined Vehicle).
[0488] Meanwhile, the signal processing device (170) can execute a service agent (680) corresponding to the service orchestrator (1509).
[0489] For example, a processor (175) within a signal processing device (170) can execute a service agent (890).
[0490] Meanwhile, the parser (810) in the service agent (800) within the processor (175) can receive data related to the execution of the first service generated from the external server (400).
[0491] Meanwhile, the parser (810) in the service agent (800) within the processor (175) can receive data related to the execution of the first service in the YAML (YAML Ain't Markup Language) file format.
[0492] Meanwhile, the parser (810) parses data related to the execution of the first service.
[0493] Meanwhile, the parser (810) can transmit the parsed result data to the interface server (830). At this time, the interface server (830) may be an API server.
[0494] Meanwhile, the interface server (830) can receive parsed result data from the parser (810), separate condition data and action data from the parsed result data, and transmit them to the memory (140) or storage (850).
[0495] In response to this, the memory (140) or storage (850) can store condition data and action data separately.
[0496] Meanwhile, the interface server (830) can transmit a key value for reading condition data or action data from memory (140) or storage (850) to the gateway (840).
[0497] Meanwhile, the gateway (840) can receive vehicle sensor data or messages, determine vehicle status, etc. based on the vehicle sensor data or messages, and check whether conditions based on condition data are met.
[0498] Meanwhile, the state manager (820) can receive action data from the memory (140) or storage (850) based on the key value.
[0499] Meanwhile, the state manager (820) can create a system service link of the first service based on the action data.
[0500] In addition, the state manager (820) can transmit a loading command to the workload orchestrator (895) and transmit command data for execution of the first service.
[0501] Meanwhile, examples of workload orchestrators (895) include Bluechi controller (870) and Ankaios (872).
[0502] Meanwhile, the container runtime (892) can receive command data and execute the first service. Accordingly, new services can be efficiently executed.
[0503] Figure 15b is a drawing referenced in the description of the interface server within the service agent of Figure 15a.
[0504] Referring to the drawing, the parser (810) within the service agent (800) receives and parses execution-related data (900m) of the first service.
[0505] Meanwhile, the parser (810) outputs the parsing result data to the interface server (830).
[0506] Meanwhile, the receiver (831) within the interface server (830) receives parsing result data.
[0507] Additionally, the receiver (831) within the interface server (830) can receive a request signal through a GRPC interface (837), etc.
[0508] Meanwhile, the sender (833) within the interface server (830) can transmit command data to the state manager (820).
[0509] Meanwhile, the sender (833) within the interface server (830) can transmit a key value to the gateway (840) for reading action data or condition data from the memory (140) or storage (850).
[0510] Meanwhile, the sender (833) within the interface server (830) can transmit scenario data to the gateway (840).
[0511] Meanwhile, the gateway (840) can transmit the scenario name of the first service to the state manager (820) when the condition is met.
[0512] Meanwhile, the state manager (820) can receive the scenario name of the first service and convert the scenario name of the first service into a key value.
[0513] And, the state manager (820) can receive action data from the memory (140) or storage (850) based on the key value.
[0514] Meanwhile, the state manager (820) can transmit command data to the workload orchestrator (895) based on the action data.
[0515] Accordingly, the first service based on command data can be executed. In particular, the new service, Service 1, can be executed efficiently.
[0516] Figure 15c is a diagram referenced in the description of the state manager within the service agent of Figure 15a.
[0517] Referring to the drawing, the parser (810) within the service agent (800) receives and parses execution-related data (900m) of the first service.
[0518] Meanwhile, the parser (810) outputs the parsing result data to the interface server (830).
[0519] Meanwhile, the interface server (830) receives parsing result data.
[0520] Meanwhile, the interface server (830) can transmit command data to the state manager (820).
[0521] Meanwhile, the interface server (830) can transmit a key value to the gateway (840) for reading action data or condition data from the memory (140) or storage (850).
[0522] Meanwhile, the interface server (830) can transmit a filter registration request to the gateway (840).
[0523] Meanwhile, the gateway (840) can create a filter based on a filter registration request.
[0524] Meanwhile, the filter within the gateway (840) can receive vehicle sensor data or messages, determine vehicle status, etc. based on the vehicle sensor data or messages, and continuously check whether conditions based on condition data are met.
[0525] Meanwhile, the gateway (840) can transmit the scenario name of the first service to the state manager (820) for subsequent steps if the condition is met.
[0526] Meanwhile, the receiver (821) within the state manager (820) can receive the scenario name of the first service.
[0527] Meanwhile, the state manager (820) can execute a Bluechi interface (823) for a Bluechi controller (870), which is an example of a workload orchestrator (895), and an Ankaios interface (826) for Ankaios (872), which is another example of a workload orchestrator (895).
[0528] For example, the state manager (820) can transmit command data to the Bluechi controller (870) via the Bluechi interface (823).
[0529] As another example, the state manager (820) can transmit command data to Ankaios (872) via the Ankaios interface (826).
[0530] FIG. 15d is a drawing referenced in the description of the gateway within the service agent of FIG. 15a.
[0531] Referring to the drawing, the interface server (830) can transmit a key value to the gateway (840) to read action data or condition data from the memory (140) or storage (850).
[0532] Meanwhile, the interface server (830) can transmit a filter registration request to the gateway (840).
[0533] Meanwhile, the gateway (840) can create a filter (841) based on the filter registration request.
[0534] Meanwhile, the filter (841) within the gateway (840) can receive vehicle sensor data or messages through an interface (847), etc., determine the vehicle status, etc. based on the vehicle sensor data or messages, and continuously check whether conditions based on condition data are met.
[0535] Meanwhile, the sender (843) within the gateway (840) can transmit the scenario name of the first service to the state manager (820) for subsequent steps if the condition is met.
[0536] Meanwhile, the state manager (820) can receive the scenario name of the first service.
[0537] Figure 15e is a drawing referenced in the description of execution-related data of the first service of Figure 15a.
[0538] Referring to the drawing, the parser (810) within the service agent (800) receives and parses execution-related data (900m) of the first service.
[0539] At this time, the execution-related data (900m) of the first service may include metadata (902), condition data (903), and action data (907).
[0540] Meanwhile, the parser (810) outputs the parsing result data to the interface server (830).
[0541] For example, the parser (810) can output metadata (902), condition data (903), and action data (907) to the interface server (830).
[0542] Meanwhile, the interface server (830) receives parsing result data.
[0543] That is, the interface server (830) can receive metadata (902), condition data (903), and action data (907).
[0544] Meanwhile, the interface server (830) can transmit scenario data to storage (850). In response, the storage (850) can store the scenario data.
[0545] Meanwhile, the interface server (830) can transmit at least one of metadata (902), condition data (903), and action data (907) to storage (850).
[0546] In response to this, the storage (850) can store at least one of metadata (902), condition data (903), and action data (907).
[0547] Meanwhile, the interface server (830) can transmit metadata (MDa) and condition data (CDa) to the gateway (840).
[0548] In response to this, the gateway (840) can receive metadata (MDa) and condition data (CDa).
[0549] Meanwhile, the gateway (840) can transmit metadata (MDa) to the state manager (820). In response, the state manager (820) can receive the metadata (MDa).
[0550] Meanwhile, storage (850) can transmit condition data (CDa). In response, state manager (820) can receive condition data (CDa).
[0551] Figure 16a illustrates an example of a composite service.
[0552] Referring to the drawing, the processor (175) can generate or execute a first service package including a composite service based on an input signal, etc.
[0553] For example, the first service package may include a Driver Status Monitor (DSM) service and a driver settings service.
[0554] The processor (175) can execute a driver status monitor service based on an internal camera (1610), etc., when the driver (DRm) opens the door and enters the vehicle, according to the execution of the first service package.
[0555] Additionally, the processor (175) can execute a driver setting service according to the execution of the first service package.
[0556] Driver setting services at this time may include seat position adjustment services, preferred music playback services, etc.
[0557] Figure 16b illustrates another example of a composite service.
[0558] Referring to the drawing, the processor (175) can generate or execute a second service package including a composite service based on an input signal, etc.
[0559] For example, a second service package may include a Driver Status Monitor (DSM) service, a door open service, a driver settings service, and a parking release service.
[0560] The processor (175) can execute a door open service when a driver (PDSm) approaches a parked vehicle (200m) according to the execution of the second service package, and can execute a driver status monitor service based on an internal camera (1610), etc.
[0561] Additionally, the processor (175) can execute driver setting services such as seat position adjustment services or preferred music playback services, depending on the execution of the second service package.
[0562] Meanwhile, the processor (175) can execute a parking release service based on the seat seating of the driver (PDSm) according to the execution of the second service package.
[0563] The parking release service at this time may include activating camera access for ADAS, depending on the policy.
[0564] Figure 17 is a drawing referenced in the description of the operation of the service agent of Figure 15a.
[0565] Referring to the drawing, the processor (175) can execute a service agent (800) for executing a vehicle service, a service scheduler (840) for exchanging data, and an operating system (882).
[0566] For example, the operating system (882) may include a Linux kernel, etc.
[0567] Meanwhile, the service scheduler (840) may be named TIMPANI.
[0568] The service agent (800) can transmit specification data of the first service to the service scheduler (840) and receive error data from the service scheduler (840).
[0569] Meanwhile, the service scheduler (840) can receive specification data of the first service. The specification data of the first service at this time can include condition data and action data of the first service.
[0570] In particular, the schedule information processor (847) within the service scheduler (840) can receive specification data of the first service.
[0571] Meanwhile, the real-time scheduler (842) within the service scheduler (840) can determine whether real-time scheduling is necessary based on the specification data of the first service.
[0572] In addition, the real-time scheduler (842) within the service scheduler (840) can transmit configuration data to the operating system (882) when real-time scheduling of the first service is required.
[0573] Meanwhile, the time trigger (845) within the service scheduler (840) can transmit configuration data to the operating system (882) for triggering the first service.
[0574] Meanwhile, the monitor (848) within the service scheduler (840) can receive result data related to the first service from the operating system (882). Accordingly, the content related to the scheduling or execution of the first service can be monitored.
[0575] Meanwhile, the schedule information processor (847) within the service scheduler (840) can transmit error data, etc. to the service agent (800) based on the result data. Accordingly, result data, etc. related to the scheduling of the first service can be confirmed.
[0576] Although the preferred embodiments of the present disclosure have been illustrated and described above, the present disclosure is not limited to the specific embodiments described above, and various modifications may be made by a person skilled in the art to which the present invention pertains without departing from the gist of the present disclosure as claimed in the claims, and such modifications should not be understood individually from the technical idea or prospect of the present disclosure.
Claims
1. A processor that runs in-vehicle services; A memory for storing data related to the above service; The above processor, A vehicle control device that separates action data and condition data from execution-related data of a first service, and controls execution of the first service when an execution condition in the condition data of the first service is satisfied based on received sensor data or messages.
2. In paragraph 1, The above processor, A parser that parses data related to the execution of the first service; A gateway that receives the above sensor data or message; A vehicle control device comprising: a state manager that transmits command data when an execution condition in the condition data of the first service is satisfied based on the sensor data or message.
3. In paragraph 2, The above processor, A vehicle control device further comprising an interface server that separates the action data and the condition data from the execution-related data of the first service parsed by the parser and transmits them to the memory or storage.
4. In paragraph 3, The above interface server, A vehicle control device that transmits a key value for reading the above action data or the above condition data from the memory or the storage to the gateway.
5. In paragraph 3, The above gateway is, A vehicle control device that reads out the condition data stored in the memory or storage based on the key value received from the interface server and generates a filter based on the condition data.
6. In paragraph 5, The above gateway is, A vehicle control device that deletes the filter when the execution condition in the condition data of the first service is satisfied based on the sensor data or message.
7. In paragraph 3, The above state manager, A vehicle control device that requests additional commands to a workload orchestrator based on a direct request received from the interface server.
8. In paragraph 1, The above processor, A vehicle control device that generates execution-related data of the first service based on an input signal or service execution history, and controls the execution of the first service based on the sensor data or message after verification of the first service is completed, if the execution condition of the first service is satisfied.
9. In paragraph 8, The above processor, A vehicle control device that generates execution-related data of the first service based on the service list stored in the memory.
10. In paragraph 8, The above processor, A vehicle control device that generates execution-related data of the first service based on a combination of multiple services.
11. In paragraph 8, The above processor, A vehicle control device that performs learning on at least one of a vehicle occupant's behavioral pattern, vehicle data, or vehicle surrounding data, and generates data related to the execution of the first service based on the learning.
12. In paragraph 1, The above first service is, Includes multiple services, The above processor, A vehicle control device that sets priorities for multiple services within the first service and controls execution of the first service based on the set priorities.
13. In paragraph 1, The above processor, A vehicle control device that performs verification of the first service or, when verification of the first service cannot be performed, requests verification of the first service from an external server.
14. In paragraph 1, The above processor, A vehicle control device that controls execution of only a part of the first service or a scalable service when only a part of the execution condition data of the first service is satisfied.
15. In paragraph 1, The above processor, Based on the input signal or the service execution history, data related to the execution of the first service corresponding to the first passenger is generated, A vehicle control device that generates execution-related data of a second service corresponding to a second passenger based on the input signal or the service execution history.
16. In paragraph 1, The above processor, A vehicle control device that generates execution-related data of a plurality of services including the first service based on the input signal or the service execution history, sets priorities for the plurality of services, and controls execution of the plurality of services based on the set priorities.
17. In paragraph 1, The above processor, A vehicle control device that runs a service agent for executing vehicle services.
18. In paragraph 1, A first signal processing device having the processor and the memory; A second signal processing device electrically connected to the first signal processing device and having a second processor and a second memory; A control device electrically connected to the second signal processing device and having a controller for receiving a signal from a hardware switch or sensor or controlling at least one actuator; The above processor, If the execution condition of the first service is satisfied, a request for execution of the first service is transmitted to the second signal processing device, A vehicle control device in which the second signal processing device controls the controller to output an operation on signal, an operation off signal, or an operation control signal to the actuator based on an execution request for the first service.
Citation Information
Patent Citations
Method for managing vehicle running records data and vehicle running management system
KR1020140002341A
Vehicle and controlling method of the same
KR102657633B1
Control of vehicle features based on user recognition and identification
US20160321848A1
Methods and systems for setting and transferring user profiles to vehicles and temporary sharing of user profiles to shared-use vehicles
US9171268B1
Signal processing device of vehicle and communication device for vehicle communication device including same
WO2023239008A1