Control system and surgical robot system
By introducing a control system into the surgical robot system, using the main reference module to broadcast synchronization messages and the slave module for clock synchronization, data loss or data overlay problems caused by clock differences in each module are solved, and efficient clock synchronization and system stability are achieved.
Patent Information
- Application Number
- CN202421184149.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Utility models(China)
- Current Assignee / Owner
- Filing Date
- 2024-05-28
- Publication Date
- 2025-05-02
- Estimated Expiration
- 2034-05-28
AI Technical Summary
The accuracy of the clock sources of each module in the surgical robot system is different, resulting in clock differences between each module, and may cause adverse phenomena such as data loss or data superposition.
It provides a control system, including a master reference module and a slave module. The master reference module generates a master module clock through the master module clock generator and broadcasts multiple synchronization messages in a preset period. The slave module receives these synchronization messages under the slave module clock and performs clock synchronization through the clock drift.
By performing clock synchronization of various modules of the system, bad phenomena such as packet loss and message overlay are effectively avoided, the efficiency of clock synchronization is improved, and clock synchronization is automatically re-executeed when abnormal conditions are met.
Smart Images

Figure CN222815862U_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of medical devices, and in particular to a control system and a surgical robot system. Background Art
[0002] Laparoscopic surgery has been a growing and widely used surgical procedure in recent years. It offers advantages such as minimal incision, significantly reducing patient recovery time, discomfort, and post-operative side effects. Laparoscopic surgery, particularly single-port laparoscopic surgery, can be optimized through computer remote control.
[0003] Because the clock sources of various modules in a surgical robot system vary in accuracy, clock differences between modules accumulate during data exchange, potentially leading to data loss or data overlap. Summary of the Invention
[0004] In some embodiments, the present disclosure provides a control system comprising:
[0005] Main reference module, including:
[0006] a main module clock generator for generating a main module clock; and
[0007] A main controller, the main controller is used to control the main reference module to broadcast multiple synchronization messages at a preset period under the main module clock;
[0008] At least one slave module, each slave module comprising:
[0009] A slave module clock generator for generating a slave module clock; and
[0010] A slave controller, the slave controller is used to control the slave module to receive multiple synchronization messages from the master reference module at a preset period under the slave module clock;
[0011] The master controller is also used to determine the reception time of multiple synchronization messages received by at least one slave module, determine the clock drift of the slave module clock of at least one slave module based on the reception time of at least one slave module, and send the clock drift to at least one slave module for clock synchronization of at least one slave module.
[0012] In some embodiments, the master controller is further configured to determine a clock drift of a slave module clock of at least one slave module as a difference between a duration of a preset period under the master module clock and an average receiving time of the at least one slave module.
[0013] The average reception time of the slave module is the quotient of the reception time of the slave module and the number of messages of the multiple synchronization messages.
[0014] In some embodiments, the master controller is further configured to start timing in response to the master reference module receiving a receive start signal from at least one slave module; and
[0015] The master controller is further configured to end timing and determine a receiving time of the at least one slave module in response to the master reference module receiving a receiving completion signal from the at least one slave module.
[0016] In some embodiments, the slave controller is further configured to control the slave module to send a receive start signal to the master reference module in response to receiving the first synchronization message; and
[0017] The slave controller is further configured to control the slave module to send a reception completion signal to the master reference module in response to receiving the last synchronization message.
[0018] In some embodiments, the first synchronization message includes first identification information, and the last synchronization message includes second identification information.
[0019] The slave controller is further configured to detect the multiple received synchronization messages, and determine that the synchronization message including the first identification information is the first synchronization message, and determine that the synchronization message including the second identification information is the last synchronization message.
[0020] In some embodiments, the slave controller is further configured to detect whether multiple synchronization messages received from the slave module meet abnormal conditions.
[0021] The abnormal conditions include at least one of the following: packet loss and packet overlap.
[0022] In some embodiments, the plurality of synchronization messages include sequentially increasing sequence numbers.
[0023] The slave controller is further configured to detect the sequence numbers of the multiple synchronization messages received from the slave module to detect whether the multiple synchronization messages meet an abnormal condition.
[0024] In some embodiments, the slave controller is further configured to determine that a packet loss condition is satisfied in response to detecting a sequence number jump in two consecutive synchronization messages received from the slave module; or
[0025] The slave controller is further configured to determine that message superposition is satisfied in response to detecting that the sequence numbers in two consecutive synchronization messages received from the slave module are the same.
[0026] In some embodiments, the slave controller is further configured to control the slave module to send an abnormality notification message to the master reference module in response to detecting that multiple synchronization messages meet an abnormality condition.
[0027] In some embodiments, the master controller is further configured to control the master reference module to resend multiple synchronization messages in response to the master reference module receiving an abnormality notification message from the slave module.
[0028] In some embodiments, the slave controller is further configured to control the slave module to receive multiple synchronization messages from the master reference module at a preset period under the slave module clock, and detect whether the multiple synchronization messages received by the slave module meet abnormal conditions.
[0029] In some embodiments, the slave controller is further configured to control the slave module to send an additional abnormality notification message to the master reference module in response to detecting that the plurality of synchronization messages satisfy an abnormality condition;
[0030] The master controller is further configured to issue an alarm signal in response to the master reference module receiving the additional abnormality notification message from the slave module.
[0031] In some embodiments, the present disclosure further provides a surgical robot system, comprising:
[0032] A control system as in any one of the embodiments of the present disclosure;
[0033] A main control trolley, comprising at least one main operator, wherein the at least one main operator is used to receive user operations; and
[0034] An operating table trolley, the operating table trolley comprising at least one robotic arm;
[0035] The master reference module and at least one slave module of the control system are arranged in the master control trolley and / or the operating trolley.
[0036] Some embodiments of the present disclosure have one or more of the following technical effects: being able to perform clock synchronization on each module in the system, thereby effectively avoiding adverse phenomena such as packet loss and message overlap; the master reference module being able to broadcast synchronization messages to multiple slave modules, thereby enabling multiple slave modules to perform clock synchronization at the same time, helping to improve the efficiency of clock synchronization; the multiple synchronization messages broadcast by the master reference module include serial numbers that increase successively, thereby facilitating the slave controller of the slave module to detect whether abnormal conditions are met; being able to automatically re-execute clock synchronization when abnormal conditions are met. BRIEF DESCRIPTION OF THE DRAWINGS
[0037] To more clearly illustrate the technical solutions in the embodiments of the present disclosure, the following briefly describes the drawings required for describing the embodiments of the present disclosure. The drawings described below only illustrate some embodiments of the present disclosure. Those skilled in the art can, without inventive effort, derive other embodiments based on the contents of the embodiments of the present disclosure and these drawings.
[0038] Figure 1 A schematic structural block diagram of a control system according to some embodiments of the present disclosure is shown;
[0039] Figure 2A schematic structural diagram of a surgical robot system according to some embodiments of the present disclosure is shown. DETAILED DESCRIPTION
[0040] In order to make the technical problems solved by the present disclosure, the technical solutions adopted and the technical effects achieved more clear, the technical solutions of the embodiments of the present disclosure will be further described in detail below with reference to the accompanying drawings. Obviously, the described embodiments are only exemplary embodiments of the present disclosure, rather than all embodiments.
[0041] In the description of the present disclosure, it should be noted that the terms "center", "up", "down", "left", "right", "vertical", "horizontal", "inside", "outside" and the like indicate orientations or positional relationships based on the orientations or positional relationships shown in the accompanying drawings, and are only for the convenience of describing the present disclosure and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and therefore cannot be understood as a limitation on the present disclosure. In addition, the terms "first" and "second" are only used for descriptive purposes and cannot be understood as indicating or implying relative importance. In the description of the present disclosure, it should be noted that, unless otherwise clearly specified and limited, the terms "installed", "connected", "connected" and "coupled" should be understood in a broad sense, for example, it can be a fixed connection or a detachable connection; it can be a mechanical connection or an electrical connection; it can be a direct connection or an indirect connection through an intermediate medium; it can be a communication between the two elements. For those of ordinary skill in the art, the specific meanings of the above terms in the present disclosure can be understood according to the specific circumstances.
[0042] In the present disclosure, the end close to the operator (e.g., a doctor) is defined as the proximal end, the near part, or the rear end, or the rear part, and the end opposite to the proximal end, the near part, or the rear end, or the rear part is defined as the distal end, the far end, or the front end, or the front part. Alternatively, the end close to the operator (e.g., a surgical patient) is defined as the distal end, the far end, or the front end, or the front part, and the end opposite to the distal end, the far end, or the front end, or the front part is defined as the proximal end, the near part, or the rear end, or the rear part. It will be understood by those skilled in the art that the embodiments of the present disclosure can be used for medical instruments or surgical robots, and can also be used for other non-medical devices.
[0043] Some embodiments of the present disclosure provide a control system that can be used in a surgical robot system. The surgical robot system can be any suitable surgical robot system, including a laparoscopic surgical robot system. Figure 1 FIG. 1 is a schematic block diagram of a control system 100 according to some embodiments of the present disclosure. Figure 1 As shown, the control system 100 may include a master reference module 110 and at least one slave module 120 (eg, slave module 1201 to slave module 120n, etc., where n is a positive integer).
[0044] like Figure 1 As shown, the master reference module 100 may include a master module clock generator 111 and a master controller 112. The master module clock generator 111 may be used to generate a master module clock. Those skilled in the art will appreciate that the master module clock generator 111 may be a device for generating a master module clock signal, such as a clock generation circuit. The master module clock may be derived based on voltage pulses with stable intervals continuously generated by the master module clock generator. Various components within the master reference module 100 (e.g., the master controller 112) may operate in accordance with the master module clock.
[0045] The master controller 112 can be used to control the master reference module 110 to broadcast multiple synchronization messages at a preset period based on the master module clock. In some embodiments, when the control system 100 includes multiple slave modules, the transmission medium between the master reference module 100 and the different slave modules can be different, such as Ethernet, optical fiber, CAN (Controller Area Network), etc. In some embodiments, the format of the synchronization messages sent by the master reference module 110 to each slave module can correspond to the transmission medium between the master reference module 110 and the slave module. The preset period is denoted as T. The preset period T is not a predetermined duration in absolute time, but rather the duration of a specific number of clock cycles in each local clock, such as the duration of a single or multiple clock cycles in the local clock. Therefore, the preset period T represents the same number of clock cycles under different module clocks, but may represent different absolute time durations. For ease of description, it is collectively referred to as the preset period T. In some embodiments, the master reference module 110 may also include a master-side transmitting circuit (not shown). The master controller 112 can be used to control the master-side transmitting circuit to broadcast multiple synchronization messages at a preset period T based on the master module clock.
[0046] like Figure 1 As shown, for each slave module 120 in the at least one slave module 120, slave module 1201 is used as an example for description. Other slave modules are similar and will not be described in detail. Slave module 1201 may include a slave module clock generator 1211 and a slave controller 1221. Slave module clock generator 1211 may be used to generate a slave module clock. Slave module clock 1211 may be a device for generating a slave module clock signal, such as a clock generation circuit. The slave module clock may be obtained based on a voltage pulse with a stable interval continuously generated by the slave module clock generator. Various components in slave module 1201 (such as slave controller 1221, etc.) may operate in accordance with the slave module clock.
[0047] The slave controller 1221 can be used to control the slave module 1201 to receive multiple synchronization messages from the master reference module 110 at a preset period T (e.g., a single clock or multiple clocks) under the slave module clock. In some embodiments, each slave module 120 in the control system 100 may include a slave receiving circuit (not shown in the figure), and the slave controller can be used to control the slave receiving circuit to receive multiple synchronization messages from the master reference module 110 at a preset period T under the slave module clock. Those skilled in the art will understand that the slave module clock of the slave module 120 may be different from the master module clock. In addition, when there are multiple slave modules 120, the slave module clocks of different slave modules 120 may also be different. Therefore, the absolute time of the preset period T is different under different module clocks.
[0048] The master controller 112 may also be configured to determine a reception time T of at least one slave module 120 (eg, slave module 1201) receiving multiple synchronization messages. SUM , based on the reception time T of at least one slave module SUM Determine the clock drift T of the slave module clock of at least one slave module D In some embodiments, the main controller 112 may further include a timing circuit (not shown in the figure), which may be used to determine the receiving time T of at least one slave module receiving multiple synchronization messages. SUM Those skilled in the art will appreciate that the receiving time T SUM It is generated based on the master module clock at the master reference module 110 where the master controller 112 is located.
[0049] In some embodiments, the master controller 112 (e.g., a timing circuit) can also be configured to start timing in response to the master reference module 110 receiving a receive start signal S1 from at least one slave module. In some embodiments, the master reference module 110 can also include a master-side receiving circuit (not shown), and each slave module can include a slave-side transmitting circuit (not shown). The slave-side transmitting circuit can be configured to transmit the receive start signal S1 to the master reference module 110, and the master-side receiving circuit can be configured to receive the start signal S1 from at least one slave module. In some embodiments, the master-side receiving circuit can transmit a timing trigger signal to the master controller 112 in response to receiving the receive start signal S1, thereby causing the timing circuit of the master controller 112 to start timing.
[0050] In some embodiments, the slave controller (e.g., slave controller 1221 of slave module 120) may further be configured to, in response to receiving the first synchronization message, control the slave module 120 to send a receive start signal S1 to the master reference module 110. In some embodiments, the slave controller 1221 may control the slave-end transmitting circuit of the slave module 120 to send the receive start signal S1 to the master reference module 100 in response to the slave-end receiving circuit receiving the first synchronization message.
[0051] The slave controller 1221 can identify the first synchronization message in a variety of ways. For example, the first synchronization message may include first identification information. The slave controller 1221 can also be used to detect multiple synchronization messages received and determine that the synchronization message including the first identification information is the first synchronization message. In some embodiments, the first identification information can be pre-agreed. In some embodiments, the master reference module can broadcast the first identification information to each slave module in advance for agreement. In some embodiments, the multiple synchronization messages broadcast by the master reference module may include serial numbers that increase successively, and the first identification information may be the serial number included in the first synchronization message. In some embodiments, the first identification information may also be other types of data. In some embodiments, the slave controller 1221 may also include a detection circuit (not shown in the figure), which can be used to detect multiple synchronization messages received from the slave module and determine the first synchronization message.
[0052] In some embodiments, the master controller 112 may also be configured to, in response to the master reference module 110 receiving a reception completion signal S2 from at least one slave module 120 (e.g., slave module 1201), end timing and determine the reception time T of at least one slave module. SUM In some embodiments, the slave-side transmitting circuit of the slave module 120 may further be configured to transmit a reception completion signal S2 to the master reference module 110, and the master-side receiving circuit of the master reference module may be configured to receive the reception completion signal S2 from at least one slave module. In some embodiments, the master-side receiving circuit may further transmit a timing termination trigger signal to the master controller 112 in response to receiving the reception completion signal S2, thereby causing the timing circuit of the master controller 112 to terminate timing.
[0053] In some embodiments, the slave controller 1221 may further be configured to control the slave module 120 to transmit a reception completion signal S2 to the master reference module 110 in response to receiving the last synchronization message. In some embodiments, the slave controller 1221 may control the slave transmitting circuit of the slave module 120 to transmit the reception completion signal S2 to the master reference module 100 in response to the slave receiving circuit receiving the last synchronization message. In some embodiments, the last synchronization message may include second identification information. The slave controller 1221 may further be configured to detect multiple received synchronization messages and determine that the synchronization message including the second identification information is the last synchronization message. In some embodiments, the second identification information may be pre-agreed. In some embodiments, the master reference module may pre-agreed to broadcast the second identification information to each slave module. In some embodiments, the multiple synchronization messages broadcast by the master reference module may include successively increasing sequence numbers, and the second identification information may be the sequence number included in the last synchronization message. In some embodiments, the second identification information may also be other types of data. In some embodiments, the detection circuit of the slave controller 1221 may be configured to detect multiple synchronization messages received by the slave module and determine the last synchronization message.
[0054] In some embodiments, the main controller 112 may further include an operation circuit (not shown in the figure), which may be used to calculate the reception time T of at least one slave module. SUM Determine the clock drift T of the slave module clock of at least one slave module D .
[0055] In some embodiments, the master controller 112 may also be configured to determine a clock drift T of a slave module clock of at least one slave module. D The duration T of the preset cycle T under the main module clock M The difference between the average receiving time of at least one slave module and the average receiving time of at least one slave module. The average receiving time of the slave module is the receiving time T SUM For example, the average receiving time of the slave module 120 is t E , the number of multiple synchronization messages is N, and the clock drift T of the slave module can be determined by the following formula (1): D :
[0056]
[0057] In the control system 100, the accuracy of the clock sources of the modules is different, and based on this, there are clock differences between the modules. The main controller 112 can also be used to calculate the clock drift T DIn some embodiments, the master end sending circuit of the master reference module 110 can also be used to send the clock drift amount T D Sent to at least one slave module, the slave end receiving circuit of the slave module can be used to receive the clock drift amount T D In some embodiments, the clock drift of the slave module may be loaded into a configuration file of the slave module for the slave module to perform clock synchronization.
[0058] In some embodiments, when performing subsequent data interaction and other processes, the slave module can determine the actual communication cycle based on the agreed communication cycle and clock drift under the master clock cycle to synchronize with the master reference module clock. For example, when the agreed communication cycle is T Y When the slave module is in the same clock state as the master reference module, the slave module can exchange data using the T' determined by the following formula (2) as the real communication cycle to synchronize with the master reference module clock:
[0059]
[0060] In some embodiments, the slave controller 1221 can control the slave receiving circuit or the slave transmitting circuit of the slave module 120 to sleep within T', and wake up the slave receiving circuit or the slave transmitting circuit at T' to perform data exchange, thereby synchronizing the slave module with the master reference module clock. In some embodiments, the slave module 120 can also include a scheduler that can schedule the slave receiving circuit or the slave transmitting circuit based on the agreed communication cycle and the clock drift of the slave module 120, thereby synchronizing the slave module with the master reference module clock.
[0061] In some embodiments, a slave controller (e.g., slave controller 1221 of slave module 120) may also be configured to detect whether multiple synchronization messages received from the slave module meet abnormal conditions. In some embodiments, the detection circuit of slave controller 1221 may also be configured to detect whether multiple synchronization messages meet abnormal conditions. Abnormal conditions may include packet loss, message overlap, etc. Abnormal phenomena such as packet loss and message overlap may cause inaccurate calculated clock drift, making clock synchronization difficult. Therefore, the slave controller detects multiple received synchronization messages, which facilitates clock synchronization.
[0062] In some embodiments, slave controller 1221 can determine whether multiple synchronization messages meet an abnormality condition by detecting identification information in each synchronization message. In some embodiments, the multiple synchronization messages broadcast by the master reference module can include successively increasing sequence numbers. Slave controller 1221 can also be configured to detect the sequence numbers of multiple synchronization messages received from slave module 120 to determine whether the multiple synchronization messages meet an abnormality condition. In some embodiments, slave controller 1221 can also be configured to determine that packet loss has occurred upon detecting a sequence number jump in two consecutive synchronization messages received from slave module 120. Those skilled in the art will appreciate that upon detecting a sequence number jump in two consecutive synchronization messages, the synchronization message between the two consecutive synchronization messages has been lost. In some embodiments, slave controller 1221 can also be configured to determine that message overlap has occurred upon detecting that the sequence numbers in two consecutive synchronization messages received from slave module 120 are the same. Those skilled in the art will appreciate that if slave module 120 performs a receive operation but master reference module 110 does not send a new synchronization message, slave module 120 will re-receive the previous synchronization message, resulting in the abnormal phenomenon of message overlap.
[0063] In some embodiments, slave controller 1221 may also be configured to, in response to detecting that multiple synchronization messages meet an abnormal condition, control slave module 120 (e.g., the slave-side transmitting circuit) to transmit an abnormality notification message S3 to master reference module 110. Connection anomalies with the master reference module 100, communication failures, environmental factors during data exchange, and the like may all cause multiple synchronization messages received by slave module 120 to meet abnormal conditions. In some embodiments, master controller 112 may be configured to, in response to master reference module 110 (e.g., the master-side receiving circuit) receiving abnormality notification message S3 from slave module 120, issue a troubleshooting message to enable technicians to perform troubleshooting.
[0064] In some embodiments, master controller 112 may also be configured to control master reference module 110 (e.g., master transmitting circuit) to resend multiple synchronization messages in response to master reference module 110 (e.g., master receiving circuit) receiving an exception notification message S3 from slave module 120. In some embodiments, master controller 112 may control master reference module 110 to resend multiple synchronization messages to the slave module (e.g., slave module 120) that issued the exception notification message S3. In some embodiments, master reference module 110 may resend multiple synchronization messages to the slave module at a preset period T based on the master module clock.
[0065] In some embodiments, the slave controller 1221 may also be configured to control the slave module 120 (e.g., a slave receiving circuit) to receive multiple synchronization messages from the master reference module 110 at a preset period T under the slave module clock. Based on this, a slave module experiencing an abnormality can resynchronize its clock. In some embodiments, the slave controller 1221 (e.g., a detection circuit) may also detect whether the multiple synchronization messages received from the slave module 120 meet abnormal conditions, such as packet loss, message overlap, or other abnormal conditions. In some embodiments, the slave controller 1221 may detect identification information included in the multiple synchronization messages to detect whether the multiple synchronization messages meet the abnormal conditions. In some embodiments, if the slave controller 1221 does not detect that the multiple synchronization messages received from the slave module 120 meet the abnormal conditions, the master reference module 110 may determine the clock drift of the slave module 120 for the slave module 120 to perform clock synchronization.
[0066] In some embodiments, slave controller 1221 may further be configured to, in response to detecting that multiple synchronization messages satisfy an abnormal condition, control slave module 120 (e.g., a slave-side transmitting circuit) to transmit an additional abnormality notification message S4 to master reference module 110. Master controller 112 may also be configured to issue an alarm signal in response to the master reference module (e.g., a master-side receiving circuit) receiving the additional abnormality notification message S4 from slave module 120. In this embodiment, if the abnormal condition is still detected during further synchronization message reception, an alarm signal may be issued to notify relevant technical personnel of the abnormality, thereby enabling troubleshooting and repair.
[0067] Some embodiments of the present disclosure also provide a surgical robot system 200 . Figure 2 FIG2 shows a schematic diagram of a surgical robot system 200 according to some embodiments of the present disclosure. The surgical robot system 200 may include a main control trolley 210, an operating trolley 220, and a control system (e.g., the control system 100) as described in any one of the embodiments of the present disclosure. Figure 2 As shown, the main control trolley 210 may include at least one main manipulator 211, and the at least one main manipulator 211 may be used to receive user operations. In some embodiments, the main manipulator 211 may include a left main manipulator for receiving operations with the user's left hand and a right main manipulator for receiving operations with the right hand. The at least one main manipulator 211 may be set on the main body 212 of the main control trolley 210. The operating trolley 220 may include at least one robotic arm 221. The distal end of the at least one robotic arm 221 may carry at least one surgical instrument 222, and the at least one surgical instrument 222 may be any suitable surgical instrument such as clamps, scissors, electric hooks, endoscopes, etc. The at least one robotic arm 221 may be set on the main body 223 of the operating trolley 220.
[0068] The master reference module 110 and at least one slave module (e.g., slave modules 1201 through 120n) of the control system 100 can be disposed in the master control trolley 210 and / or the surgical trolley 220. For example, the master reference module of the control system 100 can be an industrial computer (not shown) of the surgical robot system 200, which can be disposed on the main body 223 of the surgical trolley 220 or the main body 212 of the master control trolley 210. The at least one slave module of the control system 100 can include a master manipulator 211, a drive device for driving the movement of the robotic arm 221, and the like. In some embodiments, the industrial computer can broadcast multiple synchronization messages to the master manipulator and the drive device to synchronize the master manipulator and the drive device with the industrial computer clock, thereby improving the reliability of communication between the master manipulator and the drive device.
[0069] Those skilled in the art will appreciate that the various components included in the master reference module and the slave module in the present disclosure, such as the master module clock generator, the slave module clock generator, the master controller, the slave controller, the master-end receiving circuit, the master-end transmitting circuit, the slave-end receiving circuit, the slave-end transmitting circuit, etc., can be implemented using general-purpose hardware, such as dedicated hardware including a dedicated integrated circuit, a dedicated CPU, a dedicated memory, dedicated components, etc. The specific hardware structure used to implement the functions that can be implemented by the master module clock generator, the slave module clock generator, the master controller, the slave controller, the master-end receiving circuit, the master-end transmitting circuit, the slave-end receiving circuit, the slave-end transmitting circuit, etc., can be implemented using various circuit technologies, such as analog circuits, digital circuits, configurable circuits, or dedicated circuits.
[0070] In some embodiments, the accuracy of the crystal oscillators in the clock generators varies between modules of the system, resulting in clock discrepancies between the modules. As a result, when the modules exchange data at agreed-upon intervals, the clock discrepancies gradually accumulate until undesirable phenomena such as data loss or data overlap occur. The control system provided by some embodiments of the present disclosure can determine the clock drift of a slave module relative to a master module and synchronize the slave module clocks based on the clock drift. This can avoid undesirable phenomena caused by clock discrepancies between modules.
[0071] In some embodiments, the control system provided by the present disclosure can perform clock synchronization in a complex network including multiple communication media (eg, Ethernet, optical fiber, CAN bus, etc.).
[0072] In some embodiments, the master reference module broadcasts multiple synchronization messages to multiple slave modules in the control system for clock synchronization of the multiple slave modules. Based on this, the multiple slave modules can perform clock synchronization simultaneously, thereby helping to improve the efficiency of clock synchronization.
[0073] In some embodiments, the slave controller can detect multiple synchronization messages received by the slave module. If the master reference module detects that multiple synchronization messages received by the slave module meet abnormal conditions, it can resend multiple synchronization messages to the slave module to resynchronize the clock. This helps improve the reliability of the calculated clock drift.
[0074] Note that the above are only exemplary embodiments of the present disclosure and the technical principles used. Those skilled in the art will understand that the present disclosure is not limited to the specific embodiments herein, and that various obvious changes, readjustments, and substitutions can be made by those skilled in the art without departing from the scope of protection of the present disclosure. Therefore, although the present disclosure has been described in more detail through the above embodiments, the present disclosure is not limited to the above embodiments, and may include more other equivalent embodiments without departing from the concept of the present disclosure, and the scope of the present disclosure is determined by the scope of the appended claims.
Claims
1. A control system, characterized in that: include: Main reference module, including: a main module clock generator, for generating a main module clock; and A main controller, the main controller is used to control the main reference module to broadcast a plurality of synchronization messages at a preset period under the main module clock; At least one slave module, each slave module comprising: A slave module clock generator for generating a slave module clock; and A slave controller, the slave controller is used to control the slave module to receive a plurality of synchronization messages from the master reference module at the preset period under the slave module clock; The master controller is also used to determine the reception time of the at least one slave module for receiving the multiple synchronization messages, determine the clock drift amount of the slave module clock of the at least one slave module based on the reception time of the at least one slave module, and send the clock drift amount to the at least one slave module for the at least one slave module to perform clock synchronization.
2. The control system according to claim 1, characterized in that: The master controller is further used to determine the clock drift of the slave module clock of the at least one slave module as the difference between the duration of the preset cycle under the master module clock and the average receiving time of the at least one slave module, The average receiving time of the slave module is a quotient of the receiving time of the slave module and the number of messages of the multiple synchronization messages.
3. The control system according to claim 2, characterized in that: The master controller is further configured to start timing in response to the master reference module receiving a reception start signal from the at least one slave module; and The master controller is further configured to end timing and determine the receiving time of the at least one slave module in response to the master reference module receiving a receiving completion signal from the at least one slave module.
4. The control system according to claim 3, characterized in that: The slave controller is further configured to control the slave module to send a receiving start signal to the master reference module in response to receiving the first synchronization message; and The slave controller is further configured to control the slave module to send a reception completion signal to the master reference module in response to receiving the last synchronization message.
5. The control system according to claim 4, characterized in that: The first synchronization message includes first identification information, and the last synchronization message includes second identification information, The slave controller is further configured to detect the received multiple synchronization messages, and determine that the synchronization message including the first identification information is the first synchronization message, and determine that the synchronization message including the second identification information is the last synchronization message.
6. The control system according to claim 1, characterized in that: The slave controller is further configured to detect whether the plurality of synchronization messages received by the slave module meet an abnormal condition. The abnormal condition includes at least one of the following: packet loss and packet overlap.
7. The control system according to claim 6, characterized in that: The plurality of synchronization messages include serial numbers that increase successively, The slave controller is further configured to detect the sequence numbers of the multiple synchronization messages received by the slave module to detect whether the multiple synchronization messages meet an abnormal condition.
8. The control system according to claim 7, characterized in that: The slave controller is further configured to determine that a packet loss condition is satisfied in response to detecting a sequence number jump in two consecutive synchronization messages received by the slave module; or The slave controller is further configured to determine that message superposition is satisfied in response to detecting that the sequence numbers in two consecutive synchronization messages received by the slave module are the same.
9. The control system according to claim 6, characterized in that: The slave controller is further configured to control the slave module to send an abnormal notification message to the master reference module in response to detecting that the multiple synchronization messages meet an abnormal condition.
10. The control system according to claim 9, characterized in that: The master controller is further configured to control the master reference module to resend the plurality of synchronization messages in response to the master reference module receiving the abnormality notification message from the slave module.
11. The control system according to claim 10, characterized in that: The slave controller is further configured to control the slave module to receive the multiple synchronization messages from the master reference module at the preset period under the slave module clock, and detect whether the multiple synchronization messages received by the slave module meet an abnormal condition.
12. The control system according to claim 11, characterized in that: The slave controller is further configured to control the slave module to send an additional abnormality notification message to the master reference module in response to detecting that the plurality of synchronization messages meet an abnormality condition; The master controller is further configured to issue an alarm signal in response to the master reference module receiving the additional abnormality notification message from the slave module.
13. A surgical robot system, characterized in that: include: A control system as claimed in any one of claims 1 to 12; A main control trolley, comprising at least one main operator, wherein the at least one main operator is used to receive user operations; as well as A surgical trolley, the surgical trolley comprising at least one robotic arm; The master reference module and at least one slave module of the control system are arranged in the master control trolley and / or the operating trolley.