A distributed node real-time observation and calibration system
By designing a real-time observation and calibration system in a distributed node, and using message-based communication methods to realize information interaction between the control function node and the proxy node, the problem of low observation and calibration efficiency of distributed nodes in the prior art is solved, real-time observation and calibration of distributed nodes is realized, and debugging efficiency is improved.
Patent Information
- Application Number
- CN202410639887.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-05-22
- Publication Date
- 2025-04-04
AI Technical Summary
The prior art is relatively inefficient in the internal variables of the observation program of distributed nodes and real-time adjustment calibration, and cannot meet the requirements of high-frequency debugging iteration.
A distributed node real-time observation and calibration system is designed, including several distributed nodes and at least one upper computer client, and the information interaction between the control function node and the proxy node is realized through message-based communication, supporting real-time observation and calibration.
Real-time observation of the internal operating status of distributed nodes and real-time modification of operating parameters, supports the connection between multiple nodes and multiple host computers, improves debugging efficiency, and meets the requirements of high-frequency debugging iteration.
Smart Images

Figure CN119758945A_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to the field of automobile electronic technology, and in particular to a distributed node real-time observation and calibration system. [Background technology]
[0002] During the development and debugging of automotive electronic control functions, it is necessary to collect data generated during the operation of the electronic controller to facilitate engineers to analyze data and modify parameters. The most basic method is to define some communication interfaces, package and send the internal variables of the operation through the communication interfaces, and record and analyze them for engineers to analyze. For parameter modification (calibration), the basic method is to modify the software parameters and then recompile and rewrite.
[0003] Although the above methods can solve the needs of data collection, recording and modification, they also have disadvantages such as complex analysis, inability to observe in real time, and the need for recompilation, which reduces the efficiency of the entire development and debugging.
[0004] After years of development, the automotive industry has optimized the above links and produced methods such as the ASAM M&C XCP protocol, which provides rich debugging and measurement functions, supports parameter setting, data acquisition and control and other operations, can solve the problems of real-time observation and online calibration, and has formed a relatively mature tool ecosystem, providing a complete set of observation and calibration solutions from hardware to software host computers. However, the above technologies are mostly applied to embedded MCUs, and the chip itself has limited resources. They are used in real-time control scenarios, and the above calibrations are mostly matched with low-speed buses such as LIN and CAN.
[0005] As the automotive industry moves further towards intelligence, more complex A-core-based MPU and SoC chips are gradually applied to various domain controllers, and the communication bus is upgraded to Ethernet, which has a qualitative improvement in communication bandwidth, especially for smart cockpits and autonomous driving. In terms of deployment, multiple control functions are distributed in the form of multiple process nodes on advanced operating systems such as Linux, and they communicate with each other based on messages through middleware such as DDS and SomeIP.
[0006] However, in contrast, there is still a lack of necessary means to observe program internal variables and adjust calibration solutions in real time. In many cases, when troubleshooting problems, it is necessary to manually modify the program and recompile it to observe and calibrate the program's internal running status. This method is inefficient and cannot meet the requirements of high-frequency debugging iterations.
[0007] A patent literature search was conducted and the following relevant patent literature was retrieved.
[0008] Related search result 1: Application (patent) number, CN200510061162.7, name, embedded universal calibration device and method based on CCP protocol, mainly including upper computer calibration tool and lower computer, wherein the upper computer calibration tool runs on PC, and is used to display the parameters to be monitored in ECU for users, and send commands to the lower computer according to user requirements; the lower computer runs on the ECU to be calibrated, and is used to receive the command of the upper computer calibration tool, return a response after completing the corresponding action, and periodically send the parameter values to be monitored according to the settings of the upper computer calibration tool; the upper computer calibration tool and the lower computer are connected through the USB to CAN interface, and then connected by the CAN bus, and the parameters in the ECU are calibrated and monitored by sending CAN packets that comply with the protocol. Technical points analysis: 1. It is only applicable to ECUs based on embedded MCUs, not distributed node communication forms; 2. It uses CAN as the communication basis, not Ethernet as the backbone communication method.
[0009] Related search result 2: Application (patent) number, CN200410003472.9, name, hybrid electric vehicle controller calibration method based on CCP protocol, between the lower controller of the hybrid electric vehicle and the upper host connected to the lower controller by CAN bus, the upper host implements the initialization setting, parameter calibration and parameter monitoring of the target lower controller according to CCP protocol, overcomes the shortcomings of poor communication reliability, slow communication speed and poor versatility of the controller calibration tool and the controller in the prior art, and improves the reliability, convenience and versatility of the calibration work on the basis of realizing the general functions of the original calibration method. Technical review analysis: It is an optimization of the embedded ECU calibration method, rather than a new calibration architecture.
[0010] Related search result 3: Application (patent) number, CN201810686764.9, name, a method and system for establishing communication between an ECU and a client that does not integrate the ASAP3 protocol, encapsulating the API interface function to obtain a callable software package, the ASAM ASAP3 interface of the calibration software in the calibration system is used as a server, and the communication between the client that does not integrate the ASAP3 protocol and the server is established through the software package, and the client that does not integrate the ASAP3 protocol exchanges data with the ECU through the calibration software in the calibration system to achieve control of the ECU; after the data interaction is completed, the data interaction process is disconnected; the existing calibration software cannot communicate with the third-party software that does not integrate the ASAP3 client protocol to achieve calibration and monitoring of the ECU, and avoids the direct modification of the ECU program by the existing technology, saving the development cost of the relevant parts of the ECU, and avoiding the development of the existing calibration software, and the security and reliability are improved. Technical points analysis: Provides an ASAMASAP3 interface proxy service method, which is a supplement to the ASAM ASAP3 protocol, and is not a new distributed multi-node calibration architecture that does not belong to the scope of the ASAM protocol.
[0011] The present invention aims at the technical problem that the existing distributed nodes have low efficiency in observing program internal variables and real-time adjustment and calibration and cannot meet the requirements of high-frequency debugging iteration, and makes technical improvements to the distributed node observation and calibration system. [Summary of the invention]
[0012] The purpose of the present invention is to provide a system for real-time observation of the internal operating status of a distributed node control function process and real-time modification of operating parameters.
[0013] To achieve the above-mentioned purpose, the technical solution adopted by the present invention is a distributed node real-time observation and calibration system, including a plurality of distributed nodes and at least one host computer client, the plurality of distributed nodes include a plurality of control function nodes and a proxy node for real-time observation and calibration, the control function nodes and the proxy nodes exchange information in a message-based communication manner; the control function node stores observable variables that need to be observed in real time and calibratable variables that need to be changed in real time, and periodically sends the observed real-time operating status and real-time operating parameters to the proxy node through a data acquisition information data packet; the proxy node establishes communication with the host computer client, and is used to forward the host computer client commands to the control function node, forward the control function node replies to the host computer client, and periodically transmit data acquisition information data packets to the host computer client; the host computer client is used to provide a user with an operating interface for the real-time observation and calibration function, and to interact with the control function node for commands according to user input.
[0014] Preferably, in the above-mentioned distributed node real-time observation and calibration system, the control function node, proxy node and host computer client store a real-time observation and calibration protocol program for real-time operation status observation of the control function node and real-time modification of operation parameters to facilitate debugging by developers.
[0015] Preferably, the control function node, the proxy node and the host computer client run the real-time observation calibration protocol program to establish communication through handshake, including the following steps:
[0016] W1. When the host client starts, it first performs a trust check with the proxy node;
[0017] W2. After the trustworthiness check is passed, the host client performs a service discovery operation on the proxy node, and the proxy node issues a command to obtain a node list by broadcasting;
[0018] W3, the proxy node obtains the control function node list and returns the control function node list to the host computer client;
[0019] W4. When establishing a specific control function observation calibration connection, the host computer client sends a command to obtain the variable dictionary to the proxy node;
[0020] W5. The proxy node sends a variable dictionary acquisition command to the specific control function node, acquires the observable variables and calibratable variable information supported by the specific control function node, and forwards it to the host computer client.
[0021] Preferably, the host computer client runs the real-time observation calibration protocol program including the following basic downlink commands:
[0022] Connect(node), connect the target control function node and establish an observation calibration connection;
[0023] Disconnect(node), disconnect the observation calibration connection with the target control function node;
[0024] GetValue(node,parameter), read the current running memory value of the specified parameter of the target control function node;
[0025] SetValue(node,parameter,value), calibrate the specified parameter of the target control function node to the corresponding value;
[0026] SetDAQList(node,daq_list), configure the uploaded observable variables and calibratable variables list to the target control function node;
[0027] StartDAQ(node), start the periodic upload of data acquisition information data packets of the target control function node;
[0028] StopDAQ(node), stop the periodic uploading of data acquisition information data packets of the target control function node.
[0029] Preferably, the control function node, the proxy node and the host computer client run the real-time observation calibration protocol program including the following downlink command timing steps:
[0030] X1. The host client sends a downlink command to the proxy node;
[0031] X2, the proxy node sends a downlink command to the target control function node;
[0032] X3, target control function node response proxy node;
[0033] X4. The proxy node replies to the host client.
[0034] Preferably, the control function node runs the real-time observation calibration protocol program including the following basic uplink messages:
[0035] DAQ Message, periodically upload data acquisition information packet information;
[0036] Acknowledge: feedback information for the downlink command, indicating the success, failure, or problem code of the command execution;
[0037] Alive Message, control function node keep-alive information, used to indicate the activity status of the control function node.
[0038] Preferably, when the control function node, the proxy node and the host computer client run the real-time observation calibration protocol program:
[0039] The DAQ Message and Acknowledge messages are received by the proxy node and forwarded to the host computer client for processing;
[0040] The Alive Message is received and processed by the proxy node.
[0041] Preferably, the SetValue command timing steps when the control function node, the proxy node and the host computer client run the real-time observation calibration protocol program are:
[0042] X1. The host client sends a downlink command to the proxy node;
[0043] X2, the proxy node sends a downlink command to the target control function node;
[0044] X3, target control function node response proxy node;
[0045] X4. The proxy node sends the response information synchronously to all currently connected host clients.
[0046] Preferably, the above-mentioned distributed node real-time observation and calibration system,
[0047] The distributed node distributed communication middleware is DDS, ROS, or CyberRT;
[0048] The communication protocol between the proxy node and the host computer client is websocket, http, or messagequeue, and the message format is json, xml format encoding, or implemented in protobuf binary serialization mode;
[0049] The host computer client implements user interaction in the form of GUI or web page.
[0050] The beneficial effects of the real-time observation and calibration system of distributed nodes of the present invention are as follows: an observation and calibration protocol architecture is designed, which is applied to the distributed control node scenario based on message middleware communication. 1. It can observe the internal variables of each node in real time and change its internal calibration variable values in real time; 2. It can support simultaneous observation and calibration of multiple nodes; 3. It can support multiple host computers and can be connected and debugged simultaneously on different front-end devices; 4. It does not require a separate observation / calibration dictionary description file, but is automatically registered during the handshake process.
Brief Description of the Drawings
[0051] Figure 1 It is an architecture diagram of a distributed node real-time observation and calibration system.
[0052] Figure 2 It is a schematic diagram of the handshake process of a distributed node real-time observation and calibration system.
[0053] Figure 3 It is a schematic diagram of the timing process of downlink commands of a distributed node real-time observation and calibration system.
[0054] Figure 4 It is a schematic diagram of the uplink transmission timing process of a distributed node real-time observation and calibration system.
[0055] Figure 5 It is a schematic diagram of the synchronous timing process of multiple host computer clients in a distributed node real-time observation and calibration system. [Specific implementation method]
[0056] The features and exemplary embodiments of various aspects of the present invention will be described in detail below. In the detailed description below, many specific details are proposed to provide a comprehensive understanding of the present invention. But it is obvious to those skilled in the art that the present invention can be implemented without the need for some of these specific details. The following description of the embodiments is only to provide a better understanding of the present invention by illustrating examples of the present invention. The present invention is by no means limited to any specific configuration and algorithm proposed below, but covers any modification, replacement and improvement of elements, parts and algorithms without departing from the concept of the present invention. In the accompanying drawings and the following description, known structures and technologies are not shown to avoid unnecessary ambiguity to the present invention.
[0057] Example
[0058] This embodiment implements a distributed node real-time observation and calibration system.
[0059] This embodiment system proposes a real-time observation and calibration protocol architecture in the case of distributed nodes, which can observe the internal operation status of the control function process in real time and modify the operation parameters in real time, which is convenient for developers to debug. It supports the connection relationship between multiple nodes and multiple host computers.
[0060] In the system of this embodiment, under the described architecture, each control function program runs in the operating system (such as Linux) in the form of a process node, and exchanges information with each other in a message-based communication mode to jointly complete the overall control function. The system of this embodiment adds a new proxy node, which establishes communication with each control node through handshake.
[0061] Some abbreviations are used in the following description to simplify the description:
[0062] M&C: observation and calibration functions;
[0063] DAQ: Data Acquisition, data periodic timing upload function;
[0064] The Client is defined as the host computer, the Node is defined as the slave computer, and the direction of information transmission from the slave computer to the host computer is defined as upward, and vice versa as downward.
[0065] Figure 1 This is a distributed node real-time observation and calibration system architecture diagram. Figure 1As shown in the figure, the system composition of this embodiment, the gray area on the left represents a middleware system based on distributed node communication, where "node X" represents a control function node that performs a specific function, which includes process state variables that need to be observed during the debugging process and calibration variables that need to be changed in real time. Each node communicates with each other in a message-based manner. Among them, the "agent node" is a special agent node serving M&C, which participates in the communication within the middleware system internally, and plays a bridge role externally, establishes communication with external clients (Client), and forwards commands and transmits observations.
[0066] The client, also known as the host computer, is the user interface of the M&C function. It provides the user with the operation interface of the M&C function and interacts with the lower computer nodes according to the user input. At the same time, it parses and transcodes the received DAQ data and displays it to the user in real time in a visual way such as curves and values.
[0067] The host computer interacts with the "agent node" through a series of predefined "command" instructions. The "agent node" performs service discovery, issues instructions and other operations in the middleware system according to the instruction type, and feedbacks success or failure to the host computer based on the execution status.
[0068] Figure 2 This is a schematic diagram of the handshake process of a distributed node real-time observation and calibration system. Figure 2 As shown, the handshake establishment process of the system in this embodiment is as follows:
[0069] 1. When the host computer starts, it first performs a trust verification with the "agent node". The trust verification process can be implemented in many ways, which is a prior art and will not be expanded here.
[0070] 2. After the verification is passed, the host computer performs service discovery operations on the "agent node" in the middleware system and sends the "GetMnCNodeList" command through broadcasting.
[0071] 3. The "agent node" obtains the node list that supports the M&C function, returns it to the host computer, and displays it to the user for selection through the front-end interface.
[0072] 4. When the user needs to establish a calibration observation connection with a specific node, the user selects the specific node on the host computer interface, and the host computer sends the "Get Data Dictionary" command to the "agent node".
[0073] 5. The "agent node" then sends instructions to the corresponding specific node, obtains the data dictionary supported by the node (including a list of observable variables and calibrable variables), and forwards it to the host computer, which displays it on the front-end interface.
[0074] This embodiment of the system downlink command.
[0075] In the system design of this embodiment, the basic downlink command Command is included, and further expansion can be made on this basis in the specific embodiment.
[0076] Connect(node): connect to the target node and enter the M&C connection;
[0077] Disconnect(node): disconnect the M&C connection with the target node;
[0078] GetValue(node,parameter): reads the current running memory value of the specified parameter;
[0079] SetValue(node,parameter,value): calibrate the specified parameter to the corresponding value;
[0080] SetDAQList(node,daq_list): configure the uploaded DAQ variable list to the target node;
[0081] StartDAQ(node): Start DAQ periodic upload;
[0082] StopDAQ(node): Stop DAQ periodic uploading.
[0083] Figure 3 This is a schematic diagram of the timing process of downlink commands in a distributed node real-time observation and calibration system. Figure 3 As shown, the present implementation system generally follows the timing process for each of the above downlink commands: 1. The host computer sends a downlink command to the proxy node, 2. The proxy node sends a downlink command to the node, 3. The node responds to the proxy node, and 4. The proxy node replies to the host computer.
[0084] This embodiment is uplink transmission.
[0085] Figure 4 This is a schematic diagram of the uplink transmission timing process of a distributed node real-time observation and calibration system. Figure 4 As shown, in the system of this embodiment, the following basic uplink message types are included, and further expansion can be made on this basis in specific embodiments.
[0086] DAQ Message: Periodically upload observation information;
[0087] Acknowledge: Feedback information for downlink commands, indicating the command execution status (success, failure, problem code);
[0088] Alive Message: Node keep-alive information, used to indicate the node activity status, received and processed by the "agent node".
[0089] After receiving the above uplink information, the host client will display it to the user in an appropriate form, including: displaying the node activity status, the user operation success status, and displaying the DAQ data in real time to the user for analysis in a visual way such as a curve.
[0090] In this embodiment, the system synchronizes multiple host computer clients.
[0091] Figure 5 This is a schematic diagram of the synchronization timing process of multiple host computer clients in a distributed node real-time observation and calibration system. Figure 5 As shown, when multiple clients are connected to the system at the same time, the same variable may be modified. In order to avoid inconsistencies between multiple clients, the calibration modification behavior needs to be synchronized; for example, when the SetValue modification is successful, the "proxy node" needs to synchronously send this information to all currently connected host clients.
[0092] The system of this embodiment is not limited to a certain technology in the following aspects and can be implemented in various ways.
[0093] For example:
[0094] 1. The distributed communication middleware system that the system of this embodiment relies on is not limited to a specific implementation, and multiple options such as DDS, ROS, CyberRT, etc. can be used. On its basis, it only needs to increase the support for the protocol described in the system of this embodiment.
[0095] 2. The communication protocol between the "proxy node" and the client host computer is not limited to a specific implementation, and multiple options such as websocket, http, message queue, etc. can be used. At the same time, the message format between the two is not limited to a certain format, and can be encoded in text formats such as json, xml, etc., or implemented in binary serialization methods such as protobuf.
[0096] 3. When writing node code or generating code, how to define the calibration / observation value in the program; and how to execute real-time modification of variable values and package and transmit variable values after the node receives the M&C instruction, there can also be multiple implementation methods.
[0097] 4. The host computer interacts with the user in an appropriate form, such as displaying the node connection status, user operation status, and displaying data to the user for observation in real time through visualization. The host computer can be implemented in a variety of ways such as GUI or web pages.
[0098] 5. The protocol described in the system of this embodiment can further expand information security. In addition to starting handshake verification, encrypted transmission can also be considered.
[0099] The core of the system of this embodiment is an observation and calibration protocol under distributed nodes, which is achieved by adding proxy nodes to the existing middleware system as a bridge connecting the host computer and the control function nodes.
[0100] The system of this embodiment can establish M&C connections with multiple nodes at the same time, and realize simultaneous debugging of multiple functional nodes.
[0101] The system of this embodiment can connect multiple host computer clients at the same time, which can meet the requirements of different devices and remote simultaneous access.
[0102] The system of this embodiment does not rely on generating an offline dictionary description file, but obtains the observable / calibrated quantity list through real-time registration.
[0103] The system of this embodiment has sufficient scalability and can be applied to various technical solutions.
[0104] Those skilled in the art will appreciate that all or part of the steps to implement the above embodiments may be accomplished by hardware, or may be accomplished by instructing related hardware through a program, and the program may be stored in a computer-readable storage medium, wherein the storage medium may be a magnetic disk, an optical disk, a read-only memory (ROM) or a random access memory (RAM), etc.
[0105] The above is only a preferred embodiment of the present invention. It should be pointed out that ordinary technicians in this technical field can make several improvements and supplements without departing from the principle of the present invention. These improvements and supplements should also be regarded as the scope of protection of the present invention.
Claims
1. A distributed node real-time observation and calibration system, comprising a plurality of distributed nodes and at least one host computer client, characterized in that: The plurality of distributed nodes include a plurality of control function nodes and a proxy node for real-time observation and calibration, and the control function nodes and the proxy nodes exchange information in a message-based communication manner; the control function nodes store observable variables that need to be observed in real time and calibrable variables that need to be changed in real time, and periodically send the observed real-time operating status and real-time operating parameters to the proxy node through a data acquisition information data packet; The proxy node establishes communication with the host computer client to forward host computer client commands to the control function node, forward the control function node's replies to the host computer client, and periodically transmit data acquisition information packets to the host computer client; the host computer client is used to provide the user with an operating interface for real-time observation and calibration functions, and to perform command interaction with the control function node based on user input.
2. A distributed node real-time observation and calibration system according to claim 1, characterized in that: The control function node, proxy node and host computer client store a real-time observation and calibration protocol program for real-time operation status observation of the control function node and real-time modification of operation parameters, which is convenient for developers to debug.
3. A distributed node real-time observation and calibration system according to claim 2, characterized in that The control function node, the proxy node and the host computer client run the real-time observation calibration protocol program to establish communication through handshake, which includes the following steps: W1. When the host client starts, it first performs a trust check with the proxy node; W2. After the trustworthiness check is passed, the host client performs a service discovery operation on the proxy node, and the proxy node issues a command to obtain a node list by broadcasting; W3, the proxy node obtains the control function node list and returns the control function node list to the host computer client; W4. When establishing a specific control function observation calibration connection, the host computer client sends a command to obtain the variable dictionary to the proxy node; W5. The proxy node sends a variable dictionary acquisition command to the specific control function node, acquires the observable variables and calibratable variable information supported by the specific control function node, and forwards it to the host computer client.
4. A distributed node real-time observation and calibration system according to claim 3, characterized in that The host computer client runs the real-time observation calibration protocol program including the following basic downlink commands: Connect(node), connect the target control function node and establish an observation calibration connection; Disconnect(node), disconnect the observation calibration connection with the target control function node; GetValue(node,parameter), read the current running memory value of the specified parameter of the target control function node; SetValue(node,parameter,value), calibrate the specified parameter of the target control function node to the corresponding value; SetDAQList(node,daq_list), configure the uploaded observable variables and calibratable variables list to the target control function node; StartDAQ(node), start the periodic upload of data acquisition information data packets of the target control function node; StopDAQ(node), stop the periodic uploading of data acquisition information data packets of the target control function node.
5. A distributed node real-time observation and calibration system according to claim 4, characterized in that The control function node, the proxy node and the host computer client run the real-time observation calibration protocol program including the following downlink command timing steps: X1. The host client sends a downlink command to the proxy node; X2, the proxy node sends a downlink command to the target control function node; X3, target control function node response proxy node; X4. The proxy node replies to the host client.
6. A distributed node real-time observation and calibration system according to claim 5, characterized in that The control function node runs the real-time observation calibration protocol program including the following basic uplink messages: DAQ Message, periodically upload data acquisition information packet information; Acknowledge: feedback information for the downlink command, indicating the success, failure, or problem code of the command execution; Alive Message, control function node keep-alive information, used to indicate the activity status of the control function node.
7. A distributed node real-time observation and calibration system according to claim 6, characterized in that When the control function node, proxy node and host computer client run the real-time observation calibration protocol program: The DAQ Message and Acknowledge messages are received by the proxy node and forwarded to the host computer client for processing; The Alive Message is received and processed by the proxy node.
8. A distributed node real-time observation and calibration system according to claim 7, characterized in that The SetValue command timing steps when the control function node, proxy node and host client run the real-time observation calibration protocol program are as follows: X1. The host client sends a downlink command to the proxy node; X2, the proxy node sends a downlink command to the target control function node; X3, target control function node response proxy node; X4. The proxy node sends the response information synchronously to all currently connected host clients.
9. A distributed node real-time observation and calibration system according to claim 8, characterized in that: The distributed node distributed communication middleware is DDS, ROS, or CyberRT; The communication protocol between the proxy node and the host computer client is websocket, http, or messagequeue, and the message format is json, xml format encoding, or implemented in protobuf binary serialization mode; The host computer client implements user interaction in the form of GUI or web page.
Citation Information
Patent Citations
A method and system for enabling an ECU to establish communication with a client that does not integrate the ASAP3 protocol.
CN108833572B
Method for calibrating controller of electric automobile in mixing motive power based on CCP protocol
CN1562654A
Universal embedded marker and marking method based on CCP
CN1747472A