Method, device and equipment for controlling vehicle, storage medium and program product
By obtaining scene mode description information from remote devices, judging and enabling the target scene mode of smart vehicles, it solves the problem that users find it difficult to control the vehicle's software and hardware easily, and realizes the unified configuration and development of scene modes, reducing maintenance costs.
Patent Information
- Application Number
- CN202311651150.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-04
- Publication Date
- 2025-06-13
AI Technical Summary
In the prior art, it is difficult for users to easily control multiple software programs and hardware components of smart vehicles, and there is a problem of repetitive workload and inability to change in real time between the combined vehicle control capabilities of scene modes.
By obtaining scene mode description information from a remote device, a set of scene modes for a vehicle is determined, and whether the target scene mode is allowed to be enabled based on the constraint information is determined, and the corresponding execution item is executed to enable the target scene mode.
It realizes the unified configuration and development of multiple scenario modes on remote devices, reduces the development and maintenance costs of scenario modes, supports users to easily control the vehicle's software and hardware, and avoids the limitations of repetitive workload and real-time changes.
Smart Images

Figure CN120143654A_ABST
Abstract
Description
Technical Field
[0001] Example embodiments of the present disclosure generally relate to the field of computers, and more particularly, to methods, devices, equipment, computer-readable storage media, and computer program products for controlling a vehicle. Background Art
[0002] An intelligent vehicle is an integrated system that combines functions such as environmental perception, planning and decision-making, and multi-level assisted driving. Intelligent vehicles comprehensively apply technologies such as computers, sensors, information fusion, communication, artificial intelligence, and automatic control. Taking an intelligent car as an example of an intelligent vehicle, as people's requirements for driving functions and comfort increase, the intelligence, connectivity, and automation of cars are creating new interaction and experience feelings between users and cars. A common interaction between users and intelligent cars is that users control various software and hardware of the intelligent car according to their own needs. For example, users control the air conditioner, child lock, etc. of the intelligent car. How to facilitate users to conveniently control the software and hardware of the intelligent vehicle according to their needs to improve the user experience is worthy of attention. Summary of the Invention
[0003] In a first aspect of the present disclosure, a method for controlling a vehicle is provided. The method includes: determining a set of scenario modes for the vehicle based on scenario mode description information obtained from a remote device; in response to receiving a request to enable a target scenario mode in the set of scenario modes, determining whether the target scenario mode is allowed to be enabled based on constraint information for the target scenario mode indicated by the scenario mode description information; and in response to determining that the target scenario mode is allowed to be enabled, executing at least one execution item indicated by the scenario mode description information to enable the target scenario mode.
[0004] In a second aspect of the present disclosure, a device for controlling a vehicle is provided. The device includes a first determination module configured to determine a set of scenario modes for the vehicle based on scenario mode description information obtained from a remote device; a second determination module configured to, in response to receiving a request to enable a target scenario mode in the set of scenario modes, determine whether the target scenario mode is allowed to be enabled based on constraint information for the target scenario mode indicated by the scenario mode description information; and an execution module configured to, in response to determining that the target scenario mode is allowed to be enabled, execute at least one execution item indicated by the scenario mode description information to enable the target scenario mode.
[0005] In a third aspect of the present disclosure, an electronic device is provided. The electronic device includes at least one processing unit; and at least one memory, the at least one memory being coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit, the instructions, when executed by the at least one processing unit, causing the electronic device to execute the method of the first aspect of the present disclosure.
[0006] In a fourth aspect of the present disclosure, a computer-readable storage medium is provided. A computer program is stored on the computer-readable storage medium and can be executed by a processor to execute the method according to the first aspect of the present disclosure.
[0007] In a fifth aspect of the present disclosure, a computer program is provided. The computer program includes computer-executable instructions that, when executed by a processor, implement the method according to the first aspect of the present disclosure.
[0008] It should be understood that the content described in the present invention content section is not intended to limit the key features or important features of the embodiments of the present disclosure, nor is it used to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0009] In the following, in combination with the drawings and with reference to the following detailed description, the above and other features, advantages, and aspects of the various implementations of the present disclosure will become more apparent. In the drawings, the same or similar reference numerals represent the same or similar elements, where:
[0010] Figure 1 A schematic diagram showing an example environment in which embodiments of the present disclosure can be implemented is shown;
[0011] Figure 2 A flowchart showing a process of controlling a vehicle according to some embodiments of the present disclosure is shown;
[0012] Figure 3 A schematic structural diagram of a software system of a vehicle machine according to some embodiments of the present disclosure is shown;
[0013] Figure 4 A schematic structural block diagram of a device for controlling a vehicle according to some embodiments of the present disclosure is shown; and
[0014] Figure 5 A block diagram of a computing device in which one or more embodiments of the present disclosure can be implemented is shown. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0015] Embodiments of the present disclosure will be described in more detail below with reference to the drawings. Although some embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. On the contrary, these embodiments are provided to more thoroughly and completely understand the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are only for exemplary purposes and are not used to limit the protection scope of the present disclosure.
[0016] In the description of the embodiments of the present disclosure, the term "including" and its similar terms should be understood as open inclusion, that is, "including but not limited to". The term "based on" should be understood as "at least partially based on". The term "an embodiment" or "the embodiment" should be understood as "at least one embodiment". The terms "first", "second", etc. may refer to different or the same objects. There may also be other explicit and implicit definitions below. In this document, unless otherwise specified, performing a step "in response to A" does not mean that the step is executed immediately after "A", but may include one or more intermediate steps.
[0017] Embodiments of the present disclosure may involve users' data, data acquisition, and / or use, etc. These aspects all comply with the corresponding laws, regulations, and related provisions. In the embodiments of the present disclosure, the collection, acquisition, processing, processing, forwarding, use, etc. of all data are carried out on the premise that the user is aware of and confirms. Accordingly, when implementing the embodiments of the present disclosure, the types, usage scopes, usage scenario patterns, etc. of the data or information that may be involved should be informed to the user and the user's authorization should be obtained through appropriate means in accordance with the relevant laws and regulations. The specific notification and / or authorization methods may vary according to the actual situation and application scenario patterns, and the scope of the present disclosure is not limited in this regard.
[0018] As discussed above, how to facilitate users to conveniently control the software and hardware of the vehicle deserves attention. A user may need to control multiple software programs and / or hardware components of the vehicle in a certain scenario, and the software programs and / or hardware components that the user needs to control are different in different scenarios. To this end, corresponding scenario modes can be set for multiple scenarios respectively, and corresponding combined vehicle control capabilities can be defined. The combined vehicle control capabilities for a certain scenario mode can enable the vehicle machine to control multiple pre-set software programs and / or hardware components to be in a predefined state with one key after the scenario mode is started. In the current solution, R & D personnel define the corresponding combined vehicle control capabilities for different scenario modes respectively. Since the combined vehicle control capabilities defined for a certain scenario mode do not consider the combined vehicle control capabilities of other scenario modes, that is, completely new combined vehicle control capabilities are defined for a certain scenario mode. And there is partial repetition between the combined vehicle control capabilities of some scenario modes. This brings a lot of repetitive work. Moreover, once the combined vehicle control capabilities for each scenario mode are set, they cannot be changed after the vehicle leaves the factory. In actual applications, the software and hardware programs that a user needs to control in a certain scenario mode may be constantly changing. In addition, there may be conflicts after the combined vehicle control capabilities of the set different scenario modes are applied.
[0019] To at least partially address the problems existing in current solutions, embodiments of the present disclosure provide a method for controlling a vehicle. In this solution, a set of scenario modes for the vehicle can be determined based on scenario mode description information obtained from a remote device. If a request to enable a target scenario mode in the set of scenario modes is received, it can be determined whether the target scenario mode is allowed to be enabled based on the constraint information for the target scenario mode indicated by the scenario mode description information. If it is determined that the target scenario mode can be enabled, at least one execution item indicated by the scenario mode description information can be executed to enable the target scenario mode. In this way, embodiments of the present disclosure can support unified configuration and development of various types of scenario modes on a remote device, reducing the development and maintenance costs of scenario modes.
[0020] Example scenario mode
[0021] First, refer to Figure 1 , which is a schematic diagram showing an example environment 100 in which embodiments of the present disclosure can be implemented.
[0022] As Figure 1 shown, the environment 100 can include a vehicle 110 and a remote device 120. The vehicle 110 can include an in-vehicle system 115. The in-vehicle system 115 can include multiple hardware components. These multiple hardware components can include, for example, the in-vehicle unit itself, the instrument panel, the telematics box (T-BOX), and vehicle sensors. Different hardware modules interact and cooperate with each other to support the complete operation of the entire in-vehicle system 115. The in-vehicle unit can provide a human-machine interface module such as a display screen. This human-machine interface module can be, for example, a DHMI (driver human machine interface) module. The user 130 can interact with the in-vehicle system 115 through the human-machine interface module of the in-vehicle system 115.
[0023] In some embodiments of the present disclosure, the in-vehicle system 115 can provide multiple scenario modes through, for example, the human-machine interface module. Subsequently, the user 130 can interact with the in-vehicle system 115 to activate the target scenario mode. For example, the provided scenario modes can be a rest mode, a camping mode, a towing mode, etc. Each scenario mode can correspond to a combined vehicle control capability to achieve one-key control of the software and hardware of the vehicle 110. For example, if the activated target scenario mode is the rest mode, the corresponding combined vehicle control capability in this rest mode can, for example, control the music application program (APP) of the vehicle 110 to play music and set the temperature of the air conditioner to a certain temperature value, and so on.
[0024] In some embodiments of the present disclosure, the vehicle 110 may obtain description information of multiple different scenario modes from a remote device 120 based on, for example, the in-vehicle system 115, and provide multiple different scenario modes for the user to select. If the user selects a target scenario mode from these multiple scenario modes, the in-vehicle system 115 may obtain the description information of the target scenario mode based on the obtained description information of the scenario mode, and the description information may include constraint information. The constraint information may represent the constraint conditions for enabling the target scenario mode. Subsequently, it may be determined whether to allow the enabling of the target scenario mode based on the constraint information of the target scenario mode. In the case where the target scenario mode is allowed to be enabled, one or more execution items of the target scenario mode are executed to enter the target scenario mode. In the embodiments of the present disclosure, the execution items may be used to control multiple software programs and / or hardware components of the vehicle. The specific implementation of the vehicle 110 to enable the target scenario mode can be referred to the detailed description hereinafter, and will not be elaborated herein.
[0025] The remote device 120 may be configured to centrally manage and control the vehicle 110. As an example, the remote device 120 may be a cloud server.
[0026] In the embodiments of the present disclosure, developers may uniformly manage the configuration and development of multiple scenario modes through the remote device 120. For example, developers may pre-define multiple scenario modes through the remote device 120 and define the description information of these scenario modes respectively. Also, for example, developers may add new scenario modes, modify the description information of existing scenario modes, delete existing scenario modes, etc. through the remote device 120.
[0027] For a certain scenario mode, its description information may include, for example, the basic attribute information of the scenario mode, the constraint information of the scenario mode, and the function information associated with the scenario mode, and so on. Specifically, the basic attribute information of the scenario mode may include, for example, the scenario identifier of the scenario mode, and the identifier may be comprehensively reflected by pictures, names, IDs, etc. The constraint information of the scenario mode may include the preconditions of the scenario mode and the association relationship between the scenario mode and other scenario modes. The association relationship may be, for example, a mutually exclusive relationship, a dependency relationship, etc. The function information associated with the scenario mode may indicate one or more execution items associated with the scenario mode. In this way, the target scenario mode can be enabled based on the description information of the target scenario mode, and conflicts caused by multiple scenario modes during application (for example, conflicts caused by enabling scenario modes with a mutually exclusive relationship) can be avoided as much as possible, and the conflict cannot be traced to prompt the user.
[0028] In the embodiments of the present disclosure, an execution item cache pool can be predefined to store a plurality of predefined execution items. And each execution item has a corresponding identifier. For a newly defined scenario mode, to implement the one-key vehicle control function in this scenario mode, it is only necessary to determine the IDs of the required execution items from this execution item cache pool. That is, for different scenario modes, there is no need to define different execution items separately. For a certain scenario mode, it is only necessary to obtain the IDs of the required execution items from the execution item cache pool, establish the association relationship between these IDs and this scenario mode, and save it. Similarly, for a defined scenario mode, the identifiers of some execution items can be deleted or the identifiers of new execution items can be added from the multiple execution items defined in this scenario mode. This can reduce the workload caused by repeated development.
[0029] In the embodiments of the present disclosure, the vehicle 110 can be an autonomous vehicle or a non-autonomous vehicle. The embodiments of the present disclosure do not limit the driving mode of the vehicle 110. In addition, the vehicle 110 in the embodiments of the present disclosure can be various different types of transportation means such as a car, an airplane, etc. The embodiments of the present disclosure do not make any limitations in this regard.
[0030] In some embodiments, the remote device 120 can be implemented as an independent server or a server cluster composed of multiple servers. Communication can be carried out between the vehicle 110 and the remote device 120. This communication can be carried out through any suitable communication network and by using any suitable communication technology.
[0031] It should be understood that the structure and functions of the environment 100 are described only for exemplary purposes, without implying any limitation on the scope of the present disclosure.
[0032] Example process
[0033] Figure 2 A flowchart of a process 200 for controlling a vehicle according to some embodiments of the present disclosure is shown. The process 200 can be implemented, for example, at the in-vehicle system 115 of the vehicle 110. For the convenience of discussion, the process 200 will be described with reference to Figure 1 the environment 100.
[0034] In block 210, the vehicle 110 determines a set of scenario modes for the vehicle based on the scenario mode description information obtained from the remote device 120.
[0035] As mentioned above, the vehicle 110 can obtain the scenario mode description information from the remote device 120.
[0036] In some embodiments of the present disclosure, as mentioned above, the vehicle 110 includes an in-vehicle computer. After detecting a predefined event, the in-vehicle computer of the vehicle 110 can obtain the scenario mode description information from the remote device 120 through a preset interface between the in-vehicle computer and the remote device 120. The predefined event can be any appropriate event for selecting a scenario mode. For example, the predefined event can be an event that the user 130 clicks on a certain control in the interface provided by the in-vehicle computer system 115 to select a scenario mode. Another example is that the predefined event can also be an in-vehicle computer startup event. After the in-vehicle computer starts up and completes initialization, the in-vehicle computer can obtain the scenario mode description information from the remote device 120 through the preset interface between the in-vehicle computer and the remote device 120. The above examples of the predefined event are only for illustrative purposes, and the predefined event can also be other events other than the above examples.
[0037] In the embodiments of the present disclosure, the R & D personnel uniformly configure the scenario modes through the remote device 120. This unified configuration may not be specific to a certain model of vehicle, but may be applicable and extended to a variety of different vehicle models. In this case, a set of scenario modes applicable to the current vehicle needs to be obtained from the obtained scenario mode description information based on the configuration information of the current vehicle, such as software and hardware information.
[0038] For example, the obtained scenario modes include a rest mode, a camping mode, and a towing mode. Based on the description information of the rest mode, it can be determined that the sunroof needs to be opened in the rest mode. However, there is no such component as a sunroof in the current vehicle. In this case, the rest mode is not applicable to this vehicle.
[0039] In some embodiments of the present disclosure, a set of description information matching the configuration information of the vehicle 110 can be determined from the description information of multiple scenario modes indicated by the obtained scenario mode description information based on the configuration information of the vehicle 110. The execution items in this set of description information can be executed based on the configuration (such as software and hardware information) of the vehicle after a set of scenario modes are enabled. That is to say, the vehicle 110 has the ability to enable this scenario mode. Then, a set of scenario modes corresponding to this set of description information can be determined as a set of scenario modes for this vehicle. Subsequently, this set of scenario modes can be provided for the user to determine the target scenario mode from them.
[0040] In some embodiments of the present disclosure, if the configuration information of the vehicle changes, the set of scenario modes determined for the current vehicle is updated accordingly. That is to say, if the configuration information of the vehicle changes, some of the scenario modes in the previously determined set of scenario modes may be applicable to this vehicle, and some may no longer be applicable to this vehicle. In this case, the set of scenario modes determined for the current vehicle needs to be updated.
[0041] In some embodiments of the present disclosure, after a set of scenario modes for the current vehicle is determined, this set of scenario modes can be provided. For example, the way to provide this set of scenario modes can be that the human-machine interface module presents the identifiers and corresponding status information of this set of scenario modes. For a given scenario mode in this set of scenario modes, its corresponding status information indicates whether the given scenario mode is currently enabled or available. For example, for a certain scenario mode, its possible states include enabled (or running), not enabled but available (or available), and disabled. If the state of a certain scenario mode is disabled, it means that the current state of vehicle 110 does not meet the startup conditions of this scenario mode. For example, the gear does not meet the startup conditions of this scenario mode. It can be understood that the state of a certain scenario mode can change with the change of the state of vehicle 110. For example, if the state of a certain scenario mode is disabled, after adjusting the state of vehicle 110 (such as the gear), the state of this scenario mode changes to available.
[0042] Figure 3 Fig. 300 shows the architecture of the software system of the in-vehicle unit provided according to an embodiment of the present disclosure. In this architecture 300, the software system of the in-vehicle unit adopts a client-server (CS) architecture. Specifically, this architecture 300 can include, for example, a client layer 310, an interface layer 320, a service management layer 330, and a vehicle hardware management layer 340. It can be understood that the software system of the in-vehicle unit can include more or fewer layers, and each layer can include more or fewer functions or services. Figure 3 This is only an example and does not limit the present disclosure.
[0043] In Figure 3 the example of, the client layer 310 provides two business logics: vehicle control 311 and driving 312. It can be understood that the client layer 310 can provide more or fewer business logics compared with Figure 3 the example of. The service management layer 330 can call the interface layer 320 to complete the initialization of the channel between the client layer 310 and the service management layer 330 and the initialization of other interfaces (such as the interface between the in-vehicle unit and the remote device). After the initialization is completed, the service management layer 330 can call the target interface to obtain the scenario mode description information from the remote device. As an example, the scenario mode description information is carried in the form of a scenario list. Therefore, in Figure 3 the example of, obtaining the scenario list 322 is used to represent obtaining the scenario mode description information.
[0044] Continuing to refer to Figure 2 . At block 220, in response to receiving a request to enable the target scenario mode in a set of scenario modes, vehicle 110 determines whether the target scenario mode is allowed to be enabled based on the constraint information for the target scenario mode indicated by the scenario mode description information.
[0045] In some embodiments of the present disclosure, the request to enable the target scene mode may be a request triggered by an appropriate event. For example, it may be a request triggered by an event that the user selects the target scene mode from a set of scene modes. This selection operation may be, for example, an operation of selecting the target scene mode through a preset control from the various scene modes presented by the human-machine interface module of the in-vehicle computer. Also for example, the request may be a request triggered by a voice command in which the user instructs the in-vehicle computer to turn on the target scene mode through voice. The request to enable the target scene mode may also be other requests other than the above examples.
[0046] Still referring to Figure 3 , the client layer 310 may receive a request from the user to enable the target scene mode during the execution of the business logic of vehicle control 311, and send the request to the service management layer 330 through the interface in the interface layer 320. In Figure 3 's example, the request may be represented as entering scene 323.
[0047] In some embodiments of the present disclosure, as mentioned above, the constraint information for the target scene mode may represent the constraint conditions for enabling the target scene mode. For example, the constraint information may include the preconditions for this scene mode and the association relationship between this scene mode and other scene modes. This association relationship may be, for example, a mutually exclusive relationship or a dependency relationship.
[0048] In some embodiments of the present disclosure, the status data of the vehicle may be obtained. The status data of the vehicle includes, for example, the status of the vehicle's hardware components (such as the gear position, the battery power, etc.) and the status data of software applications (such as whether the music APP is turned on, etc.). Subsequently, it may be determined whether the constraint conditions indicated by the constraint information for the target scene mode are satisfied based on the status data of the vehicle. When it is determined that the constraint conditions are satisfied, it is determined that the target scene mode is allowed to be enabled, and when it is determined that the constraint conditions are not satisfied, it is determined that the target scene mode is not allowed to be enabled.
[0049] In some embodiments, as mentioned above, the constraint information for the target scene mode may include the association relationship (mutually exclusive relationship, dependency relationship) between the target scene mode and other scene modes and the preconditions.
[0050] In some embodiments of the present disclosure, the obtained status data of the vehicle 110 may include the current scene mode of the vehicle 110. It may be determined whether there is a mutually exclusive relationship between the current scene mode of the vehicle and the target scene mode based on the association relationship (specifically, the mutually exclusive relationship) indicated by the constraint information. If there is no mutually exclusive relationship between the current scene mode and the target scene mode, it is determined that the first constraint condition (i.e., the constraint condition corresponding to the mutually exclusive relationship) indicated by the constraint information is satisfied.
[0051] In some embodiments, if there is a mutually exclusive relationship between the current scene mode and the target scene mode, a reminder to exit the current scene mode can be generated. If an indication to exit the current scene mode is received, it can be determined whether the first constraint condition indicated by the constraint information is satisfied based on the updated scene mode.
[0052] It can be understood that, as mentioned above, if the target scene mode has no mutually exclusive relationship with other scene modes, it is not necessary to determine whether the first constraint condition is satisfied.
[0053] In some cases, the association relationship can also indicate the scene mode on which the target scene mode depends. This association relationship means that the successful activation of the target scene mode depends on the activation of the scene mode on which it depends. In this case, it can be determined whether the current scene mode is the scene mode on which the target scene mode depends. If the current scene mode is the scene mode on which the target scene mode depends, it can be determined that the second constraint condition (i.e., the constraint condition corresponding to the dependency relationship) is satisfied. Of course, as mentioned above, if the target scene mode has no dependency relationship with other scene modes, it is not necessary to determine whether the second constraint condition is satisfied.
[0054] As mentioned above, the precondition of the target scene mode can represent the third constraint condition. In the embodiments of the present disclosure, the precondition can include, for example, condition types such as gear position, vehicle speed, battery power, etc., and condition parameters corresponding to each condition type. Each precondition can include at least one condition type. For example, the precondition for the music scene mode is that the vehicle battery power is greater than 40%. In some embodiments of the present disclosure, it can be determined whether the current state of the vehicle satisfies the precondition corresponding to the target scene mode. When it is determined that the precondition is satisfied, it is determined that the third constraint condition represented by the precondition is satisfied.
[0055] In some embodiments of the present disclosure, when it is determined that the current state of the vehicle does not satisfy the precondition corresponding to the target scene mode, a prompt can be issued to indicate adjusting the state of the vehicle. For example, for the precondition that the music APP has been activated, if the music APP has not been activated, the user can be prompted to open the music APP. Subsequently, in response to the adjusted state of the vehicle satisfying the precondition corresponding to the target scene mode, it is determined that the current state of the vehicle satisfies the third constraint condition (i.e., the constraint condition corresponding to the precondition).
[0056] If it is determined based on the constraint information of the target scene mode that the target scene mode is allowed to be enabled, the target scene mode can be enabled. That is, box 230 below is executed.
[0057] Still referring to Figure 3, the service management layer may include a mutual exclusion processing system 332, a dependency verification system 333, and a function verification system 334. Specifically, the mutual exclusion processing system 332 may verify whether the current scenario mode is mutually exclusive with the target scenario mode based on the mutual exclusion relationship between the target scenario mode and other scenario modes, that is, it is equivalent to determining whether the first constraint condition is satisfied as mentioned above. The dependency verification system 333 may verify whether the current scenario mode is a dependency mode of the target scenario mode based on the dependency relationship between the target scenario mode and other modes, that is, it is equivalent to determining whether the second constraint condition is satisfied as mentioned above.
[0058] Continue to refer to Figure 2 . At block 230, in response to determining that the target scenario mode is allowed to be enabled, execute at least one execution item indicated by the scenario mode description information to enable the target scenario mode.
[0059] In some embodiments of the present disclosure, the at least one execution item includes multiple execution items. The execution items are executed to control or adjust the states of various hardware components or software applications in the vehicle to a target state to enter or activate the target scenario mode. For example, control the sunroof in the vehicle to open, or the air conditioner to turn on, or the music APP to start, etc. to enter the target scenario mode.
[0060] Still refer to Figure 3 , in Figure 3 's example, the service management layer 330 may execute at least one execution item to adjust the states of various hardware components in the vehicle hardware management layer 340. In Figure 3 's example, three hardware component examples of the air conditioner 341, the gear 342, and the child lock 343 are shown. It can be understood that the vehicle hardware management layer 340 may include more or fewer hardware components than those shown in the example of Figure 3 .
[0061] In the embodiments of the present disclosure, each execution item may correspond to a predefined verification method and execution method. When executing a certain execution item, the predefined verification method may be used to verify whether the execution item can be executed first, and then the execution item may be executed according to the execution method of the execution item.
[0062] In some embodiments of the present disclosure, a vehicle control method pool (which may also be referred to as a preset vehicle control method set) may be established in advance. Multiple verification methods and execution methods may be stored in the vehicle control method pool. The verification method and execution method corresponding to each execution item may be determined from the preset vehicle control method set respectively according to the identifier of each execution item in the multiple execution items. Subsequently, the verification methods corresponding to each execution item may be executed in sequence according to the first preset order by creating an asynchronous verification task. The execution methods corresponding to each execution item may also be executed in sequence according to the second preset order by creating an asynchronous execution task.
[0063] Further, when it is determined that the corresponding execution item is in an unexecuted state in the verification task, the corresponding execution item can be executed. On the contrary, if the corresponding execution item has been executed, there is no need to execute the execution item.
[0064] In some embodiments of the present disclosure, during the process of executing the verification method by creating an asynchronous verification task, if the first verification method fails, there is no need to execute other verification methods after the first verification method. Or, during the process of executing the corresponding execution method by creating an asynchronous execution task, if the first execution method fails, there is no need to execute other execution methods after the first execution method.
[0065] In other words, the identifiers of multiple execution items can be obtained, and the corresponding verification method and execution method can be determined from the vehicle control method pool based on the identifier of each execution item. Use this verification method to verify the execution item. Verifying the execution item using the verification method means verifying whether the execution conditions of the execution item are met. After passing the verification, the function of the execution item is executed using the corresponding execution method.
[0066] In some embodiments of the disclosure, during the process of executing the verification method by scheduling an asynchronous verification task, if the first verification method fails, there is no need to execute other verification methods after the first verification method. Similarly, during the process of executing the corresponding execution method by scheduling an asynchronous execution task, if the first execution method fails, there is no need to execute other execution methods after the first execution method.
[0067] In other words, during the process of verifying the execution item using the verification method, an asynchronous verification task can be created, and the execution item can be verified using the interceptor pattern. The interceptor pattern can be understood as sequentially executing the functions of the verification methods to verify the execution item according to a preset order. If the verification fails, there is no need to execute other verification methods after this verification method. Thus, the target scenario mode cannot be enabled. In some embodiments, a prompt for the failure to start the target scenario mode can also be provided.
[0068] Similarly, in some embodiments of the present disclosure, during the process of executing the function of a certain execution item or some execution items using the execution method, an asynchronous execution task can be created. And using the interceptor pattern, the functions of each execution item are sequentially executed. The interceptor pattern can be understood as sequentially executing the functions of each execution item according to a preset order. If the function of executing a certain execution item fails, there is no need to execute the functions of other execution items after this execution item. In some embodiments, a prompt for the failure to start the target scenario mode can be provided.
[0069] Still referring to Figure 3, the service management layer 330 may include a function verification system 334 for verifying the functions of each execution item using a verification method. The service management layer 330 may also include a function setting system 335 for executing the functions of each execution item using an execution method.
[0070] In some embodiments of the present disclosure, the vehicle may also send a notification message to a remote device, and the notification message is used to notify the remote device that the scenario mode of the vehicle has changed to a target scenario mode.
[0071] In some embodiments of the present disclosure, after the target scenario mode is enabled, the user may exit the target scenario mode according to needs.
[0072] Still referring to Figure 3 , in Figure 3 's example, during the process of vehicle control execution at the client layer, if the target scenario mode is exited, the service management layer may be instructed to exit the target scenario mode through the interface of the interface layer. In Figure 3 's example, this process is represented as exiting scenario 324 at the interface layer.
[0073] In some embodiments of the present disclosure, as mentioned above, the target scenario mode may have a dependency relationship with other scenario modes. This dependency relationship means that the successful operation of the target scenario mode depends on the scenario mode it depends on having been enabled or run. Therefore, if a scenario mode on which the target scenario mode depends is exited, for example, the user changes a certain setting of the vehicle, etc., resulting in the vehicle exiting the scenario mode on which the target scenario mode depends. In this case, in response to the vehicle exiting the scenario mode on which the target scenario mode depends, the vehicle may also exit the target scenario mode.
[0074] At least one execution item is used to adjust the states of at least one target function module (for example, a hardware component or a software application) to corresponding target states. In some embodiments of the present disclosure, the respective prior states of at least one target function module before entering the target scenario mode may also be recorded. If the vehicle exits the target scenario mode, the at least one function module may be adjusted to the recorded prior states. In other words, before executing at least one execution item to enable the target scenario mode, the states of the target function modules to be adjusted by these execution items before successfully enabling this target scenario mode may be obtained. In this way, after the vehicle exits the target scenario mode, the states of these target function modules can be adjusted back to the states before entering the target scenario mode. For example, if the vehicle window is in the closed state before the target scenario mode is enabled, the closed state of the window needs to be recorded before executing the execution item of the target scenario mode. After successfully enabling the target scenario mode, the state of the window is adjusted from the closed state to the open state. Then, after exiting the target scenario mode, the state of the window also needs to be restored from the open state to the closed state.
[0075] Still referring to Figure 3 , the service management layer 330 may include a snapshot system 331 to record the states of each target function module before enabling the target scenario mode. After exiting the target scenario mode, the states of each target function module can be restored from the states after enabling the target scenario mode to the states before enabling the target scenario mode according to the states of each target function module recorded by the snapshot system 331.
[0076] Embodiments of the present disclosure can support unified configuration and development of various types of scenario modes on remote devices, reducing the development and maintenance costs of scenario modes.
[0077] Example device and equipment
[0078] Figure 4 Fig. shows a schematic structural block diagram of a device 400 for controlling a vehicle according to some embodiments of the present disclosure. The device 400 may be implemented in Figure 1 the vehicle 110. As Figure 4 shown, the device 400 includes a first determination module 410 configured to determine a set of scenario modes for the vehicle based on scenario mode description information obtained from a remote device. The device 400 further includes a second determination module 420 configured to, in response to receiving a request to enable a target scenario mode in the set of scenario modes, determine whether the target scenario mode is allowed to be enabled based on constraint information for the target scenario mode indicated by the scenario mode description information. The device 400 further includes an execution module 430 configured to, in response to determining that the target scenario mode is allowed to be enabled, execute at least one execution item corresponding to the target scenario mode indicated by the scenario mode description information to enable the target scenario mode.
[0079] In some embodiments, the scenario mode description information indicates: a scenario identifier of a given scenario mode in the set of scenario modes; constraint information of the given scenario mode; and at least one execution item associated with the given scenario mode.
[0080] In some embodiments, the constraint information indicates: an association relationship between the target scenario mode and other scenario modes; and a precondition of the target scenario mode.
[0081] In some embodiments, the device 400 further includes an interaction module configured to: present, using a human-machine interface module of the vehicle, the scenario identifiers of the set of scenario modes and corresponding status information, where the status information indicates whether the corresponding scenario mode has been enabled and / or is available.
[0082] In some embodiments, the second determination module 420 is further configured to: obtain the status data of the vehicle; determine whether the status data of the vehicle meets the constraint conditions indicated by the constraint information of the target scenario mode; and in response to the status data meeting the constraint conditions, determine that the target scenario mode is allowed to be enabled.
[0083] In some embodiments, the constraint information at least indicates the association relationship between the target scenario mode and other scenario modes, the status data indicates the current scenario mode of the vehicle, and the second determination module 420 is further configured to: based on the association relationship, determine whether the status data of the vehicle meets the constraint conditions, and the association relationship indicates a first set of scenario modes mutually exclusive with the target scenario mode and / or a second set of scenario modes on which the target scenario mode depends.
[0084] In some embodiments, the second determination module 420 is further configured to: if it is determined based on the constraint information that the current scenario mode is mutually exclusive with the target scenario mode, determine that the status data does not meet the constraint conditions.
[0085] In some embodiments, the second determination module 420 is further configured to: if it is determined based on the constraint information that the current scenario mode is mutually exclusive with the target scenario mode, generate a reminder to exit the current scenario mode.
[0086] In some embodiments, the second determination module 420 is further configured to: if it is determined based on the constraint information that the current scenario mode is a scenario mode on which the target scenario mode depends, determine that the status data meets the constraint conditions.
[0087] In some embodiments, the constraint information at least indicates the preconditions of the target scenario mode, and the second determination module 420 is further configured to: determine whether the status data of the vehicle meets the constraint conditions according to whether the status data of the vehicle meets the preconditions corresponding to the target scenario mode.
[0088] In some embodiments, the second determination module 420 is further configured to: if the status data of the vehicle does not meet the preconditions corresponding to the target scenario mode, generate a reminder to adjust the status of the vehicle.
[0089] In some embodiments, the execution module 430 is further configured to: verify the execution status of at least one execution item; and execute the target execution item in at least one execution item, where the target execution item has not been executed currently.
[0090] In some embodiments, at least one execution item includes multiple execution items, and the execution module 430 is further configured to: create multiple asynchronous verification tasks corresponding to the multiple execution items to verify the execution status of at least one execution item.
[0091] In some embodiments, the apparatus 400 further includes a recording module configured to: record the prior state of at least one functional module of the vehicle before entering the target scenario mode.
[0092] In some embodiments, the apparatus 400 further includes an adjustment module configured to: in response to the vehicle exiting the target scenario mode, adjust at least one functional module to the recorded prior state.
[0093] The units included in the apparatus 400 can be implemented in various ways, including software, hardware, firmware, or any combination thereof. In some embodiments, one or more units can be implemented using software and / or firmware, such as machine-executable instructions stored on a storage medium. In addition to or as an alternative to the machine-executable instructions, some or all of the units in the apparatus 400 can be implemented at least in part by one or more hardware logic components. By way of example and not limitation, exemplary types of hardware logic components that can be used include field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on a chip (SOCs), complex programmable logic devices (CPLDs), and the like.
[0094] Figure 5 A block diagram of an electronic device / vehicle 500 in which one or more embodiments of the present disclosure can be implemented is shown. It should be understood that Figure 5 The illustrated electronic device / vehicle 500 is merely exemplary and should not impose any limitation on the functions and scope of the embodiments described herein.
[0095] As Figure 5 shown, the electronic device / vehicle 500 is in the form of a general-purpose electronic device. The components of the electronic device / vehicle 500 can include, but are not limited to, one or more processors or processing units 510, a memory 520, a storage device 430, one or more communication units 540, one or more input devices 550, and one or more output devices 560. The processing unit 510 can be an actual or virtual processor and can execute various processes according to the programs stored in the memory 520. In a multi-processor system, multiple processing units execute computer-executable instructions in parallel to improve the parallel processing ability of the electronic device / vehicle 500.
[0096] The electronic device / vehicle 500 generally includes multiple computer storage media. Such media can be any available media accessible to the electronic device / vehicle 500, including but not limited to volatile and non-volatile media, removable and non-removable media. The memory 520 can be volatile memory (such as registers, caches, random access memory (RAM)), non-volatile memory (such as read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory), or some combination thereof. The storage device 430 can be removable or non-removable media and can include machine-readable media, such as flash drives, magnetic disks, or any other media that can be capable of storing information and / or data (such as training data for training) and can be accessed within the electronic device / vehicle 500.
[0097] The electronic device / vehicle 500 can further include additional removable / non-removable, volatile / non-volatile storage media. Although not shown in Figure 4 a disk drive for reading from or writing to a removable, non-volatile magnetic disk (such as a "floppy disk") and an optical disk drive for reading from or writing to a removable, non-volatile optical disk can be provided. In these cases, each drive can be connected to a bus (not shown) by one or more data media interfaces. The memory 520 can include a computer program product 525 having one or more program modules that are configured to perform the various methods or actions of the various embodiments of the present disclosure.
[0098] The communication unit 540 enables communication with other electronic devices via a communication medium. Additionally, the functions of the components of the electronic device / vehicle 500 can be implemented in a single computing cluster or multiple computer machines that can communicate via a communication connection. Thus, the electronic device / vehicle 500 can operate in a networked environment using a logical connection to one or more other servers, network personal computers (PCs), or another network node.
[0099] The input device 550 can be one or more input devices, such as a mouse, keyboard, trackball, etc. The output device 560 can be one or more output devices, such as a display, speaker, printer, etc. The electronic device / vehicle 500 can also communicate with one or more external devices (not shown) as needed via the communication unit 540, external devices such as storage devices, display devices, etc., communicate with one or more devices that enable a user to interact with the electronic device / vehicle 500, or communicate with any device that enables the electronic device / vehicle 500 to communicate with one or more other electronic devices (such as a network card, modem, etc.). Such communication can be performed via an input / output (I / O) interface (not shown).
[0100] According to an exemplary implementation of the present disclosure, there is provided a computer-readable storage medium storing one or more computer instructions, wherein the one or more computer instructions are executed by a processor to implement the method described above.
[0101] Aspects of the present disclosure are described herein with reference to the flowcharts and / or block diagrams of methods, apparatuses (systems), and computer program products according to implementations of the present disclosure. It should be understood that each block of the flowcharts and / or block diagrams, and combinations of blocks in the flowcharts and / or block diagrams, can be implemented by computer-readable program instructions.
[0102] These computer-readable program instructions can be provided to a processing unit of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, when executed by the processing unit of the computer or other programmable data processing apparatus, create an apparatus that implements the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that causes a computer, a programmable data processing apparatus, and / or other devices to operate in a particular manner, so that the computer-readable medium storing the instructions comprises a manufacture including instructions that implement various aspects of the functions / actions specified in one or more blocks of the flowchart and / or block diagram.
[0103] The computer-readable program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other device, causing a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, such that the instructions executed on the computer, other programmable data processing apparatus, or other device implement the functions / actions specified in one or more blocks of the flowchart and / or block diagram.
[0104] The flowcharts and block diagrams in the figures illustrate the possible architectures, functions, and operations of systems, methods, and computer program products according to multiple implementations of the present disclosure. In this regard, each block in the flowchart or block diagram may represent a module, a segment of a program, or a part of an instruction, and the module, segment of a program, or part of an instruction contains one or more executable instructions for implementing the specified logical function. In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures. For example, two consecutive blocks may in fact be executed substantially in parallel, or they may sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block of the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented by a dedicated hardware-based system that performs the specified functions or actions, or can be implemented by a combination of dedicated hardware and computer instructions.
[0105] The various implementations of the present disclosure have been described above. The above description is exemplary and not exhaustive, and is also not limited to the disclosed implementations. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described implementations. The choice of terms used herein is intended to best explain the principles of the implementations, the practical application, or the improvement of the technology in the market, or to enable other ordinary skill in the art to understand the implementations disclosed herein.
Claims
1. A method for controlling a vehicle, the method comprises: determining a set of scene modes for the vehicle based on scene mode description information obtained from a remote device; responding to a request to enable a target scene mode in the set of scene modes, and determining whether the target scene mode is allowed to be enabled based on constraint information for the target scene mode indicated by the scene mode description information; and responding to determining that the target scene mode is allowed to be enabled, executing at least one execution item indicated by the scene mode description information to enable the target scene mode.
2. The method according to claim 1, wherein the scene mode description information indicates: a scene identifier of a given scene mode in the set of scene modes; constraint information for the given scene mode; at least one execution item associated with the given scene mode.
3. The method according to claim 1, wherein the constraint information indicates: an association relationship between the target scene mode and other scene modes; and a precondition for the target scene mode.
4. The method according to claim 1, further comprises: presenting, by using a human-machine interface module of the vehicle, the scene identifiers of the set of scene modes and corresponding status information, the status information indicating whether the corresponding scene mode is turned on and / or available.
5. The method according to claim 1, wherein determining whether the target scene mode is allowed to be enabled comprises: acquiring status data of the vehicle; determining whether the status data of the vehicle satisfies a constraint condition indicated by the constraint information for the target scene mode; and responding to the status data satisfying the constraint condition, determining that the target scene mode is allowed to be enabled.
6. The method according to claim 5, wherein the constraint information at least indicates an association relationship between the target scene mode and other scene modes, the status data indicates a current scene mode of the vehicle, and determining whether the status data of the vehicle satisfies the constraint condition comprises: based on the association relationship, determining whether the status data of the vehicle satisfies the constraint condition, the association relationship indicating a first set of scene modes mutually exclusive with the target scene mode and / or a second set of scene modes on which the target scene mode depends.
7. The method according to claim 6, wherein determining whether the status data of the vehicle satisfies the constraint condition based on the association relationship comprises: if it is determined based on the constraint information that the current scene mode is mutually exclusive with the target scene mode, determining that the status data does not satisfy the constraint condition.
8. The method according to claim 7, further comprises: if it is determined based on the constraint information that the current scene mode is mutually exclusive with the target scene mode, generating a reminder to exit the current scene mode.
9. The method according to claim 6, wherein determining whether the status data of the vehicle satisfies the constraint condition based on the association relationship comprises: if it is determined based on the constraint information that the current scene mode is a scene mode on which the target scene mode depends, determining that the status data satisfies the constraint condition.
10. The method according to claim 5, wherein the constraint information at least indicates a precondition of the target scenario mode, and determines whether the status data of the vehicle satisfies the constraint condition. including: Determine whether the status data of the vehicle satisfies the constraint condition according to whether the status data of the vehicle satisfies the precondition corresponding to the target scenario mode.
11. The method according to claim 10, further including: If the status data of the vehicle does not satisfy the precondition corresponding to the target scenario mode, generate a reminder for adjusting the status of the vehicle.
12. The method according to claim 1, wherein performing at least one execution item indicated by the scenario mode description information including: Verify the execution status of the at least one execution item; and Execute the target execution item among the at least one execution item, where the target execution item has not been executed currently.
13. The method according to claim 12, wherein the at least one execution item includes a plurality of execution items, and verifying the execution status of the at least one execution item including: Create a plurality of asynchronous verification tasks corresponding to the plurality of execution items to verify the execution status of the at least one execution item.
14. The method according to claim 1, further including: Record the prior state of at least one functional module of the vehicle before entering the target scenario mode.
15. The method according to claim 14, further including: In response to the vehicle exiting the target scenario mode, adjust the at least one functional module to the recorded prior state.
16. An apparatus for controlling a vehicle, including: A first determination module, configured to determine a set of scenario modes for the vehicle based on scenario mode description information obtained from a remote device; A second determination module, configured to, in response to receiving a request to enable a target scenario mode in the set of scenario modes, determine whether the target scenario mode is allowed to be enabled based on constraint information for the target scenario mode indicated by the scenario mode description information; and An execution module, configured to, in response to determining that the target scenario mode is allowed to be enabled, execute at least one execution item indicated by the scenario mode description information to enable the target scenario mode.
17. An electronic device, including: At least one processing unit; and At least one memory, the at least one memory being coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit, the instructions, when executed by the at least one processing unit, causing the electronic device to execute the method according to any one of claims 1 to 15.
18. A computer-readable storage medium, having stored thereon a computer program, the computer program being executable by a processor to implement the method according to any one of claims 1 to 15.
19. A computer program product, including computer-executable instructions, wherein the computer-executable instructions, when executed by a processor, implement the method according to any one of claims 1 to 15.