Method, device and autonomous vehicle for controlling a vehicle based on a multi-controller domain network
By setting up client modules, transmitting modules, and receiving modules for each controller domain network, the problem of CAN bus incompatibility with multiple CAN protocols was solved, enabling interference-free control of multiple controller domain networks in the vehicle.
Patent Information
- Application Number
- CN202210478903.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-04-29
- Publication Date
- 2025-11-04
- Estimated Expiration
- 2042-04-29
AI Technical Summary
The existing CAN bus cannot support the sending, receiving, and parsing of various types of CAN messages, resulting in incompatibility of communication protocols between different controller area networks in the vehicle, which can easily cause interference.
In the vehicle, a corresponding client module, transmitting module, and receiving module are set up for each controller domain network. These modules are used to convert instructions into messages suitable for different communication protocols, and multiple CAN protocols are supported through the CAN bus proxy module.
It achieves compatibility between different communication protocols, avoids mutual interference in message processing within the controller domain network, and supports simultaneous control of multiple controller domain networks.
Smart Images

Figure CN114684167B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates to the field of artificial intelligence, in particular to the field of automatic driving. BACKGROUND
[0002] CAN (Controller Area Network) is a kind of bus type serial communication network. CAN bus is a widely used open field bus. In recent years, CAN bus is increasingly applied in the control system of vehicles. For example, a CAN bus agent module can be arranged in an automatic driving vehicle, which is configured to receive a control signal of an upper module, and parse the control signal into a CAN message and send the CAN message to a chassis of the vehicle, and further configured to receive a CAN message fed back by the chassis and parse the CAN message into a signal readable by the upper module and transmit the signal to the upper module. The CAN bus agent module only supports receiving, transmitting and parsing a single type of CAN message, and cannot support receiving, transmitting and parsing multiple types of CAN messages. SUMMARY
[0003] The present disclosure provides a method, device, equipment, storage medium, program product and automatic driving vehicle for controlling a vehicle based on multiple controller area networks.
[0004] According to an aspect of the present disclosure, a method for controlling a vehicle is provided, wherein the vehicle comprises multiple controller area networks, each of the multiple controller area networks comprises at least one controller, and the communication protocols of at least part of the multiple controller area networks are different from each other, and the vehicle is configured with a client module and a sending module corresponding to each of the controller area networks; the method comprises: in response to receiving a first instruction for a first controller in the vehicle, determining a first controller area network to which the first controller belongs; converting the first instruction into a first message by using a first client module corresponding to the first controller area network; and sending the first message to the first controller by using a first sending module corresponding to the first client module, so as to control the first controller.
[0005] According to another aspect of this disclosure, an apparatus for controlling a vehicle is provided, wherein the vehicle includes a plurality of controller domain networks (DDNs), each DDN including at least one controller, at least some of the DDNs having different communication protocols, and the vehicle is configured with a client module and a transmitting module corresponding to each DDN; comprising: a determining module for determining a first controller domain network to which the first controller belongs in response to receiving a first instruction for a first controller in the vehicle; a conversion module for converting the first instruction into a first message using a first client module corresponding to the first controller domain network; and a transmitting control module for transmitting the first message to the first controller using a first transmitting module corresponding to the first client module, so as to control the first controller.
[0006] Another aspect of this disclosure provides an electronic device including: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the methods shown in embodiments of this disclosure.
[0007] According to another aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to cause the computer to perform the methods shown in the embodiments of the present disclosure.
[0008] According to another aspect of the present disclosure, a computer program product is provided, including a computer program / instructions, characterized in that, when the computer program / instructions are executed by a processor, they implement the steps of the method shown in the embodiments of the present disclosure.
[0009] According to another aspect of the present disclosure, an autonomous vehicle is provided, including: the means for controlling the vehicle shown in the embodiments of the present disclosure.
[0010] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description
[0011] The accompanying drawings are provided to better understand this solution and do not constitute a limitation of this disclosure. Wherein:
[0012] Figure 1 This is a schematic diagram of a vehicle system architecture to which methods and apparatus for controlling vehicles can be applied according to embodiments of the present disclosure;
[0013] Figure 2A flowchart illustrating a method for controlling a vehicle according to an embodiment of the present disclosure is shown schematically.
[0014] Figure 3 A flowchart illustrating a method for controlling a vehicle according to an embodiment of the present disclosure is shown schematically.
[0015] Figure 4 A schematic diagram illustrating a method for controlling a vehicle according to another embodiment of the present disclosure is shown.
[0016] Figure 5 A schematic diagram illustrating a method for controlling a vehicle according to another embodiment of the present disclosure is shown.
[0017] Figure 6 A schematic diagram illustrating a method for controlling a vehicle according to another embodiment of the present disclosure is shown.
[0018] Figure 7 A block diagram schematically illustrates a device for controlling a vehicle according to an embodiment of the present disclosure; and
[0019] Figure 8 A block diagram of an example electronic device that can be used to implement embodiments of the present disclosure is illustrated schematically. Detailed Implementation
[0020] The exemplary embodiments of this disclosure are described below with reference to the accompanying drawings, including various details of the embodiments to aid understanding, and should be considered merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of this disclosure. Similarly, for clarity and brevity, descriptions of well-known functions and structures are omitted in the following description.
[0021] The following will combine Figure 1 The vehicle system architecture for which methods and apparatus for controlling vehicles can be applied according to embodiments of this disclosure is described.
[0022] Figure 1 This is a schematic diagram of a vehicle system architecture to which methods and apparatus for controlling vehicles can be applied according to embodiments of this disclosure. It should be noted that... Figure 1 The examples shown are merely examples of system architectures that can be applied to the embodiments of this disclosure, in order to help those skilled in the art understand the technical content of this disclosure, but do not mean that the embodiments of this disclosure cannot be used in other devices, systems, environments or scenarios.
[0023] like Figure 1 As shown, the vehicle system architecture 100 may include an upper-level module 110, a vehicle control module 120, and a chassis system 130. The vehicle system architecture 100 may, for example, be the system architecture for an autonomous vehicle.
[0024] According to embodiments of this disclosure, the chassis system 130 may include multiple controllers, wherein the controllers may include, for example, steering devices, transmission devices, driving devices, braking devices, and other controllers related to driving. Additionally, the controllers may also include, for example, human-machine interface devices, voice control devices, lighting devices, door devices, window devices, and other controllers related to functions other than driving functions. These multiple controllers can constitute multiple controller domain networks. For example, in this embodiment, the chassis system 130 may include controllers 131, 132, 133, and 134. Controllers 131 and 132 may constitute one controller domain network, and controllers 133 and 134 may constitute another controller domain network.
[0025] According to embodiments of this disclosure, the upper-layer module 110 can be used to control the vehicle system, and may include, for example, a driving control module, a human-machine interaction control module, etc. The upper-layer module 110 can issue commands to the controller to control the corresponding controller, thereby achieving control of the vehicle system.
[0026] According to embodiments of this disclosure, the vehicle control module 120 is located between the upper-level module 110 and the chassis system 130, and can be used for message transmission, reception, and parsing between the upper-level module 110 and the chassis system 130. For example, the vehicle control module 120 can receive control commands from the upper-level module 110 and parse the control commands into messages of a predetermined protocol, which are then sent to the chassis. Additionally, the vehicle control module 120 can also receive messages of a predetermined protocol fed back from the chassis system 130, parse the messages into data readable by the upper-level module 110, and transmit them to the upper-level module 110. The control commands can be, for example, in protobuf format. The predetermined protocol can include, for example, CAN (Controller Area Network) communication protocol, CAN FD (CAN with Flexible Data-rate) communication protocol, etc.
[0027] According to embodiments of this disclosure, a corresponding client module, sending module, and receiving module can be set up for each controller domain network in the chassis system, and then these client modules, sending modules, and receiving modules can be bound to the vehicle control module 120. When the vehicle control module 120 receives a control command for any controller in the chassis system, it can determine the controller domain network to which the controller belongs. Then, the client module corresponding to the controller domain network can be used to convert the control command into a message suitable for the controller domain network. Next, the sending module corresponding to the client module can be used to send the message to the controller for control.
[0028] Additionally, the vehicle control module 120 can receive messages from each controller domain network in the chassis system using a receiving module corresponding to that controller domain network. Then, a client module corresponding to that receiving module can parse the message to obtain the parsing result. This parsing result is then sent to the upper-layer module 110 so that the upper-layer module 110 can obtain information about the controller.
[0029] In related technologies, only one type of controller domain network message can be processed in the same vehicle.
[0030] According to embodiments of this disclosure, each controller domain network (CDN) is configured with a corresponding client module, sending module, and receiving module, enabling the vehicle to process messages from multiple CDNs. Furthermore, interference between message processing processes within different CDNs can be avoided.
[0031] According to embodiments of this disclosure, the communication protocols of multiple controller area networks can be the same or different. For different communication protocols, the corresponding transmit / receive rates and message lengths can be different.
[0032] According to embodiments of this disclosure, each controller domain network (Controller Area Network) is equipped with a corresponding client module, a sending module, and a receiving module. The client module can set the message length to be suitable for the corresponding Controller Area Network according to its communication protocol. The sending module can send messages to the corresponding Controller Area Network at a rate suitable for its communication protocol. The receiving module can receive messages from the corresponding Controller Area Network at a rate suitable for its communication protocol. Therefore, compatibility between different communication protocols can be achieved, and no conflicts will occur during processing even if the communication protocols of the Controller Area Networks are different.
[0033] In the technical solution disclosed herein, the collection, storage, use, processing, transmission, provision, disclosure, and application of user personal information comply with the provisions of relevant laws and regulations, necessary confidentiality measures have been taken, and there is no violation of public order and good morals.
[0034] In the technical solution disclosed herein, the user's authorization or consent is obtained before acquiring or collecting the user's personal information.
[0035] The following will combine Figure 2 The method for controlling a vehicle provided in this disclosure is described. This method for controlling a vehicle can be applied, for example, to the vehicle control module shown above.
[0036] Figure 2 A flowchart illustrating a method for controlling a vehicle according to an embodiment of the present disclosure is shown schematically.
[0037] likeFigure 2 As shown, the method 200 for controlling a vehicle includes, in operation S210, determining a first controller domain network to which the first controller belongs in response to receiving a first instruction for a first controller in the vehicle.
[0038] According to embodiments of this disclosure, a vehicle may include multiple controller domain networks (Controller Area Networks), each of which may include at least one controller. The vehicle may be pre-configured with a client module and a transmission module corresponding to each controller domain network.
[0039] According to embodiments of this disclosure, the communication protocols of multiple controller domain networks (Controller Area Networks) may be the same or different. Exemplarily, in this embodiment, at least some of the multiple controller domain networks use different communication protocols from each other.
[0040] According to embodiments of this disclosure, the first instruction may be, for example, an instruction issued by an upper-level module, and may be used to control the first controller. The first controller may include, for example, a steering device, a transmission device, a driving device, a braking device, or other controllers related to driving. Alternatively, the first controller may also include, for example, a human-machine interface device, a voice control device, a lighting device, a door device, a window device, or other controllers related to functions other than driving functions.
[0041] Then, in operation S220, the first instruction is converted into a first message using the first client module corresponding to the first controller domain network.
[0042] According to embodiments of this disclosure, a corresponding client module can be pre-configured for each controller domain network (DDN) to convert instructions into a message format suitable for the corresponding DDN. In this embodiment, the first client module may, for example, be a client module corresponding to the first controller domain network.
[0043] According to embodiments of this disclosure, a first client module can be used to convert a first instruction into a message format suitable for a first controller domain network to obtain a first message.
[0044] In operation S230, the first message is sent to the first controller using the first sending module corresponding to the first client module, so as to control the first controller.
[0045] According to embodiments of this disclosure, each client module can be configured with a corresponding sending module for sending the messages converted by the client module to the corresponding controller domain network.
[0046] According to embodiments of this disclosure, a corresponding client module and a sending module are configured for each controller domain network (CDN) to handle the instruction transmission of each CDN. This allows the vehicle to send instructions to controllers within multiple CDNs for control purposes. Furthermore, interference can be avoided when sending instructions to controllers in different CDNs.
[0047] According to embodiments of this disclosure, for example, the client module, transmitting module, and receiving module corresponding to each controller domain network can be configured in the vehicle's CAN bus proxy module. This enables the CAN bus proxy module to support multiple CAN protocols, thereby allowing the vehicle to simultaneously support controllers using multiple CAN protocols.
[0048] According to embodiments of this disclosure, for each client module, after converting the instruction into a message, it can either immediately send the message to the corresponding controller domain network (DDN), or add the message to the sending queue of the corresponding sending module. Then, the sending module periodically sends the messages in the sending queue to the corresponding DDN. The sending period for each DDN can be preset according to the DDN's communication protocol.
[0049] For example, in this embodiment, whenever the first client module converts the first instruction into a first message, the converted first message can be added to the transmission queue corresponding to the first sending module. For the first sending module, the transmission period corresponding to the first controller domain network can be obtained in advance. Messages in the transmission queue are sent according to the transmission period.
[0050] The following will combine Figure 3 Another method for controlling a vehicle provided in this disclosure is described.
[0051] Figure 3 A flowchart illustrating a method for controlling a vehicle according to an embodiment of the present disclosure is shown schematically.
[0052] like Figure 3 As shown, the method 300 for controlling the vehicle may further include, in operation S340, receiving a second message from a second controller domain network using a second receiving module corresponding to the second controller domain network among multiple controller domain networks.
[0053] According to embodiments of this disclosure, the second controller domain network (DDN) can be any one of a plurality of controller domain networks. The second controller domain network may be the same as or different from the first controller domain network shown above.
[0054] According to embodiments of this disclosure, a corresponding receiving module can be pre-configured for each controller domain network (DDN) to receive messages from the corresponding DDN. In this embodiment, the second receiving module may, for example, be a receiving module corresponding to a second controller domain network.
[0055] According to embodiments of this disclosure, the second message may, for example, contain information about the second controller. This information may include, for example, the controller's parameters, status, etc.
[0056] During operation of S350, the second client module corresponding to the second receiving module is used to parse the second message and obtain the parsing result.
[0057] According to embodiments of this disclosure, parsing rules for packets of each controller domain network can be pre-configured. The second client module can parse the second packet according to the parsing rules corresponding to the second controller domain network to obtain the parsing result.
[0058] When operating the S360, send the parsing result.
[0059] According to embodiments of this disclosure, the parsing result can be sent to an upper-layer module so that the upper-layer module can obtain information about the corresponding controller. Subsequently, control operations can be performed based on the parsing result. These control operations may include, for example, generating instructions for controlling the controller.
[0060] Different communication protocols may have different transmit / receive rates and message lengths.
[0061] According to embodiments of this disclosure, a client module corresponding to each of the multiple controller domain networks can be generated in advance, resulting in multiple client modules. Then, a corresponding receiving module and a sending module can be configured for each of the multiple client modules.
[0062] According to another embodiment of this disclosure, a protocol management module can also be pre-configured for storing and managing the communication protocols of multiple controller domain networks.
[0063] Based on this, according to embodiments of this disclosure, for example, a first client module corresponding to the first controller domain network can be used to obtain a first parsing rule corresponding to the first controller domain network in the protocol management module. Then, the first client module can be used to convert the first instruction into a first message according to the first parsing rule corresponding to the first controller domain network.
[0064] According to embodiments of this disclosure, for example, a second client module corresponding to the second receiving module can be used to obtain the second parsing rule corresponding to the second controller domain network in the protocol management module. Then, the second client module can be used to parse the second message according to the second parsing rule to obtain the parsing result.
[0065] According to other embodiments of this disclosure, when a new controller domain network (CDN) is added to a vehicle, the resolution rules corresponding to the new CDN can be added to the protocol management module. Furthermore, for the new CDN, a corresponding client module, receiving module, and sending module are generated to handle communication between the upper-layer module and the CDN, thereby enabling control of the controllers within the CDN.
[0066] According to some other embodiments of this disclosure, multiple vehicle control modules can also be set up. Each vehicle control module can be set up with one or more sets of client modules, receiving modules and sending modules to handle the message sending, receiving and parsing work of the corresponding controller domain network.
[0067] The following is for reference. Figure 4 The method for controlling a vehicle described above will be further explained with reference to specific embodiments. Those skilled in the art will understand that the following example embodiments are only for understanding this disclosure, and this disclosure is not limited thereto.
[0068] Figure 4 A schematic diagram illustrating a method for controlling a vehicle according to another embodiment of the present disclosure is shown.
[0069] exist Figure 4 The diagram illustrates that a first client module corresponding to a first controller domain network (Controller Domain Network) can be generated. Then, a corresponding first receiving module and a first transmitting module can be configured for the first client module. Similarly, a first client module corresponding to a second controller domain network (Controller Domain Network) can be generated. Then, a corresponding second receiving module and a second transmitting module can be configured for the second client module. For example, a first client module corresponding to the first controller domain network and a first client module corresponding to the second controller domain network can be generated in the CAN bus proxy module Canbus_proxy, and a corresponding first receiving module and a first transmitting module can be configured for the first client module, and a corresponding second receiving module and a second transmitting module can be configured for the second client module.
[0070] Additionally, the parsing rules corresponding to the communication protocols of the first and second controller domain networks can be obtained and stored in the protocol management module. For example, in this embodiment, the communication protocol of the first controller domain network may include the CAN communication protocol, and the communication protocol of the second controller domain network may include the CAN FD communication protocol. The first controller domain network may include, for example, controllers related to driving such as steering devices, transmission devices, driving devices, and braking devices. The second controller domain network may include, for example, controllers related to functions other than driving functions such as human-machine interaction devices, voice control devices, lighting devices, door devices, and window devices.
[0071] Next, the vehicle control module is initialized. For example, the vehicle control module (vehicle_controller) can be initialized within the Canbus_proxy module. During vehicle control module initialization, a protocol management module, a first client module, a first receiving module, a first sending module, a second client module, a second receiving module, and a second sending module can be bound to the vehicle control module. The first client module, the first receiving module, and the first sending module can be used to process CAN messages, while the second client module, the second receiving module, and the second sending module can be used to process CAN FD messages. Exemplarily, in this embodiment, the vehicle control module can be bound to other modules through an initialization function.
[0072] Based on this, in this embodiment, the following 7 parameters can be entered in the initialization function of the vehicle control module:
[0073] _protocol_manager_ptr,
[0074] _can_client_ptr,
[0075] _can_receiver_ptr,
[0076] _can_sender_ptr,
[0077] _extra_can_client_ptr,
[0078] _extra_can_receiver_ptr,
[0079] _extra_can_sender_ptr
[0080] In this configuration, _protocol_manager_ptr is a pointer to the protocol management module, _can_client_ptr is a pointer to the first client module, _can_receiver_ptr is a pointer to the first receiving module, _can_sender_ptr is a pointer to the first sending module, _extra_can_client_ptr is a pointer to the second client module, _extra_can_receiver_ptr is a pointer to the second receiving module, and _extra_can_sender_ptr is a pointer to the second sending module.
[0081] According to embodiments of this disclosure, by configuring a client module, a transmitting module, and a receiving module corresponding to each controller domain network in the CAN bus proxy module for processing message transmission, reception, and parsing of the corresponding controller domain network, the CAN bus proxy module can support multiple CAN protocols, thereby enabling the vehicle to simultaneously support controllers with multiple CAN protocols.
[0082] Figure 5 A schematic diagram illustrating a method for controlling a vehicle according to another embodiment of the present disclosure is shown.
[0083] exist Figure 5 The diagram illustrates that a first receiving module corresponding to the first controller domain network (Controller Domain Network) can be used to receive a first message from the Controller Domain Network. This first message is generated based on the CAN protocol. Then, a first client module corresponding to the first receiving module can be used to parse the first message according to the parsing rules in the protocol management module corresponding to the Controller Domain Network, obtaining a first parsing result. This parsing result can then be sent to the upper-layer module.
[0084] Additionally, a second receiving module corresponding to the second controller domain network can be used to receive a second message from the second controller domain network. This second message is generated based on the CAN FD protocol. Then, a second client module corresponding to the second receiving module can be used to parse the second message according to the parsing rules corresponding to the second controller domain network in the protocol management module, obtaining a second parsing result. This second parsing result can then be sent to the upper-layer module.
[0085] Figure 6 A schematic diagram illustrating a method for controlling a vehicle according to another embodiment of the present disclosure is shown.
[0086] exist Figure 6The diagram illustrates that, in response to receiving a first instruction for a first controller domain network, the first instruction can be converted into a first message using a first client module and a protocol management module corresponding to the first controller domain network. Then, the first message is sent to the first controller domain network using a first sending module corresponding to the first client module.
[0087] Furthermore, in response to receiving a second instruction for the second controller domain network, the second instruction can be converted into a second message using the second client module and protocol management module corresponding to the second controller domain network. Then, the second message is sent to the second controller domain network using the second sending module corresponding to the second client module.
[0088] According to embodiments of this disclosure, a first controller domain network (Controller Area Network) may include controllers related to driving. A second controller domain network (Controller Area Network) includes controllers related to functions other than driving. A first client module, a first receiving module, and a first sending module are configured for processing messages in the first Controller Area Network. A second client module, a second receiving module, and a second sending module are configured for processing messages in the second Controller Area Network. This ensures that driving functions and functions other than driving functions do not interfere with each other.
[0089] The following will combine Figure 7 The device for controlling a vehicle provided in this disclosure is described.
[0090] Figure 7 A block diagram of a device for controlling a vehicle according to an embodiment of the present disclosure is shown schematically.
[0091] like Figure 7 As shown, the vehicle control device 700 includes a determination module 710, a conversion module 720, and a transmission control module 730. The vehicle includes multiple controller domain networks (DDNs), each DDN including at least one controller. The communication protocols of at least some of the DDNs may differ from each other. The vehicle may be configured with a client module and a transmission module corresponding to each DDN.
[0092] The determination module 710 is used to determine the first controller domain network to which the first controller belongs in response to receiving a first instruction for the first controller among a plurality of controllers.
[0093] The conversion module 720 is used to convert the first instruction into a first message using the first client module corresponding to the first controller domain network.
[0094] The sending control module 730 is used to send the first message to the first controller using the first sending module corresponding to the first client module, so as to control the first controller.
[0095] According to another embodiment of this disclosure, the above-described vehicle control device may further include a receiving control module, a parsing module, and a reporting module. The receiving control module is used to receive a second message from a second controller domain network (DDN) in a plurality of controller domain networks, using a second receiving module corresponding to the second DDN. The parsing module is used to parse the second message using a second client module corresponding to the second receiving module to obtain a parsing result. The reporting module is used to send the parsing result.
[0096] According to another embodiment of this disclosure, the above-described vehicle control device may further include an adding module for adding a first message to a transmission queue corresponding to the first sending module. The sending control module may include a first acquisition submodule and a sending submodule. The first acquisition submodule is used to acquire a transmission period corresponding to the first controller domain network using the first sending module. The sending submodule is used to send messages in the transmission queue according to the transmission period.
[0097] According to another embodiment of this disclosure, the above-described vehicle control device may further include a first generation module and a configuration module. The first generation module is configured to generate a client module corresponding to each of the multiple controller domain networks, thereby obtaining multiple client modules. The configuration module is configured to configure a corresponding receiving module and a sending module for each of the multiple client modules.
[0098] According to another embodiment of this disclosure, the above-described vehicle control device may further include a protocol acquisition module, a rule determination module, and a second generation module. The protocol acquisition module is used to acquire the communication protocols of multiple controller domain networks. The rule determination module is used to determine parsing rules corresponding to the multiple controller domain networks based on their communication protocols. The second generation module is used to generate a protocol management module based on the parsing rules.
[0099] According to another embodiment of this disclosure, the conversion module may include a second acquisition submodule and a conversion submodule. The second acquisition submodule is used to acquire a first parsing rule corresponding to the first controller domain network from the protocol management module using a first client module corresponding to the first controller domain network. The conversion submodule is used to convert a first instruction into a first message according to the first parsing rule corresponding to the first controller domain network.
[0100] According to another embodiment of this disclosure, the parsing module may include a third acquisition submodule and a parsing submodule. The third acquisition submodule is used to acquire a second parsing rule corresponding to the second controller domain network from the protocol management module using a second client module corresponding to the second receiving module. The parsing submodule is used to parse the second message according to the second parsing rule to obtain the parsing result.
[0101] According to another embodiment of this disclosure, at least some of the controller domain networks in a plurality of controller domain networks may have different communication protocols than each other.
[0102] According to embodiments of this disclosure, this disclosure also provides an electronic device, a readable storage medium, and a computer program product.
[0103] Figure 8 A block diagram schematically illustrates an example electronic device 800 that can be used to implement embodiments of the present disclosure. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.
[0104] like Figure 8 As shown, device 800 includes a computing unit 801, which can perform various appropriate actions and processes based on a computer program stored in read-only memory (ROM) 802 or a computer program loaded from storage unit 808 into random access memory (RAM) 803. RAM 803 may also store various programs and data required for the operation of device 800. The computing unit 801, ROM 802, and RAM 803 are interconnected via bus 804. Input / output (I / O) interface 805 is also connected to bus 804.
[0105] Multiple components in device 800 are connected to I / O interface 805, including: input unit 806, such as keyboard, mouse, etc.; output unit 807, such as various types of monitors, speakers, etc.; storage unit 808, such as disk, optical disk, etc.; and communication unit 809, such as network card, modem, wireless transceiver, etc. Communication unit 809 allows device 800 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0106] The computing unit 801 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 801 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 801 performs the various methods and processes described above, such as methods for controlling a vehicle. For example, in some embodiments, the method for controlling a vehicle may be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 808. In some embodiments, part or all of the computer program may be loaded and / or installed on device 800 via ROM 802 and / or communication unit 809. When the computer program is loaded into RAM 803 and executed by the computing unit 801, one or more steps of the method for controlling a vehicle described above may be performed. Alternatively, in other embodiments, the computing unit 801 may be configured to perform methods for controlling a vehicle by any other suitable means (e.g., by means of firmware).
[0107] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, 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), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.
[0108] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.
[0109] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0110] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).
[0111] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as a data server), or computing systems that include middleware components (e.g., an application server), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with embodiments of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.
[0112] Computer systems can include clients and servers. Clients and servers are generally located far apart and typically interact through communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other.
[0113] A server can be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system. It solves the shortcomings of traditional physical hosts and VPS services ("Virtual Private Server", or simply "VPS"), such as high management difficulty and weak business scalability. A server can also be a server for a distributed system, or a server that incorporates blockchain technology.
[0114] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution disclosed in this disclosure can be achieved, and this is not limited herein.
[0115] The specific embodiments described above do not constitute a limitation on the scope of protection of this disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this disclosure should be included within the scope of protection of this disclosure.
Claims
1. A method for controlling a vehicle, wherein, The vehicle includes multiple controller domain networks (Controller Area Networks), each of which includes at least one controller. At least some of the controller domain networks use different communication protocols. The vehicle is configured with a client module, a sending module, and a receiving module corresponding to each controller domain network. The client module, the sending module, and the receiving module are configured according to the communication protocol of their respective controller domain networks. The method includes: In response to receiving a first instruction for a first controller in the vehicle, the first controller domain network to which the first controller belongs is determined; Using a first client module corresponding to the first controller domain network, the first instruction is converted into a first message; and The method further includes: using a first sending module corresponding to the first client module to send the first message to the first controller for controlling the first controller; For the second controller domain network among the plurality of controller domain networks, a second receiving module corresponding to the second controller domain network is used to receive a second message from the second controller domain network; Using the second client module corresponding to the second receiving module, the second message is parsed to obtain the parsing result; and Send the parsing result.
2. The method according to claim 1, further comprising: Add the first message to the sending queue corresponding to the first sending module; The step of sending the first message to the first controller using the first sending module corresponding to the first client module includes: Using the first sending module, Obtain the transmission period corresponding to the first controller domain network; and According to the sending period, the messages in the sending queue are sent.
3. The method according to claim 1 or 2, further comprising: For each of the multiple controller domain networks, a client module corresponding to each controller domain network is generated, resulting in multiple client modules; as well as Configure a corresponding receiving module and a sending module for each of the plurality of client modules.
4. The method according to claim 3, further comprising: Obtain the communication protocols of multiple controller domain networks; Based on the communication protocols of the multiple controller domain networks, determine the parsing rules corresponding to the multiple controller domain networks; as well as Based on the parsing rules, a protocol management module is generated.
5. The method according to claim 4, wherein, The step of using a first client module corresponding to the first controller domain network to convert the first instruction into a first message includes: Using the first client module corresponding to the first controller domain network, Obtain the first resolution rule corresponding to the first controller domain network in the protocol management module; and According to the first parsing rule corresponding to the first controller domain network, the first instruction is converted into a first message.
6. The method according to claim 4, wherein, The step of using the second client module corresponding to the second receiving module to parse the second message and obtain the parsing result includes: Using the second client module corresponding to the second receiving module, Obtain the second parsing rule corresponding to the second controller domain network in the protocol management module; and The second message is parsed according to the second parsing rule to obtain the parsing result.
7. A device for controlling a vehicle, wherein, The vehicle includes multiple controller domain networks, each controller domain network includes at least one controller, and at least some of the controller domain networks have different communication protocols. The vehicle is equipped with a client module, a sending module, and a receiving module corresponding to each controller domain network. The client module, the sending module, and the receiving module are configured according to the communication protocol of their respective controller domain networks. The device includes: The determination module is configured to determine, in response to receiving a first instruction for a first controller in the vehicle, the first controller domain network to which the first controller belongs. A conversion module is used to convert a first instruction into a first message using a first client module corresponding to the first controller domain network; and A transmission control module is used to send the first message to the first controller using a first transmission module corresponding to the first client module, so as to control the first controller; wherein, the device further includes: The receiving control module is used to receive a second message from the second controller domain network in the plurality of controller domain networks, using a second receiving module corresponding to the second controller domain network. The parsing module is used to parse the second message using a second client module corresponding to the second receiving module, and obtain the parsing result; and The reporting module is used to send the parsing results.
8. The apparatus according to claim 7 further includes an adding module for adding the first message to a sending queue corresponding to the first sending module; in, The transmission control module includes: The first acquisition submodule is used to acquire the transmission period corresponding to the first controller domain network using the first transmission module; and The sending submodule is used to send the messages in the sending queue according to the sending period.
9. The apparatus according to claim 7 or 8, further comprising: The first generation module is used to generate a client module corresponding to each controller domain network in the plurality of controller domain networks, thereby obtaining a plurality of client modules; as well as The configuration module is used to configure the corresponding receiving module and sending module for each of the plurality of client modules.
10. The apparatus according to claim 9, further comprising: The protocol acquisition module is used to acquire the communication protocols of multiple controller domain networks; The rule determination module is used to determine the parsing rules corresponding to the multiple controller domain networks based on the communication protocols of the multiple controller domain networks; as well as The second generation module is used to generate the protocol management module according to the parsing rules.
11. The apparatus according to claim 10, wherein, The conversion module includes: The second acquisition submodule is used to acquire, using the first client module corresponding to the first controller domain network, the first parsing rule corresponding to the first controller domain network in the protocol management module; and The conversion submodule is used to convert the first instruction into a first message according to the first parsing rule corresponding to the first controller domain network.
12. The apparatus according to claim 10, wherein, The parsing module includes: The third acquisition submodule is used to acquire, using the second client module corresponding to the second receiving module, the second parsing rule corresponding to the second controller domain network in the protocol management module; and The parsing submodule is used to parse the second message according to the second parsing rule to obtain the parsing result.
13. An electronic device, comprising: At least one processor; as well as A memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-6.
14. A non-transitory computer-readable storage medium storing computer instructions, wherein, The computer instructions are used to cause the computer to perform the method according to any one of claims 1-6.
15. A computer program product comprising a computer program / instructions, characterized in that, When the computer program / instructions are executed by the processor, they implement the steps of the method described in any one of claims 1-6.
16. An autonomous vehicle, comprising: The vehicle control device according to any one of claims 7-12.
Citation Information
Patent Citations
Hybrid electric vehicle-based distributed safety monitoring method
CN109552219A