Multi-rudder synchronous control system and multi-rudder synchronous control method

CN122593050APending Publication Date: 2026-08-18ALIPAY (HANGZHOU) INFORMATION TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202610825523.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-06-09
Publication Date
2026-08-18

AI Technical Summary

Technical Problem

然而,各个通道向对应舵机发送指令存在先后时序差,导致各个舵机接收指令的时刻不一致,从而无法同步响应运动动作,易出现动作错步,或者衔接不连贯等问题,进而影响机器人的整体运动协调性

Benefits of technology

[0009]根据本说明书一个或多个实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机指令,该计算机指令被处理器执行时实现上述多舵机同步控制方法的步骤。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122593050A_ABST
    Figure CN122593050A_ABST
Patent Text Reader

Abstract

The embodiment of the specification provides a multi-rudder synchronous control system and a multi-rudder synchronous control method. The scheme comprises an MCU, a multi-channel asynchronous transceiver expansion array, a GPIO signal line, an SPI bus and a plurality of asynchronous rudders. The MCU can establish a communication connection with the multi-channel asynchronous transceiver expansion array through the SPI bus. The GPIO signal line driven by the general input and output pin of the MCU can be connected in parallel to the CTS pin of each channel of the multi-channel asynchronous transceiver expansion array. The MCU can sequentially execute the following steps: obtaining target motion instruction information corresponding to each asynchronous rudder, distributing the target motion instruction information to the channel buffer unit of the corresponding channel, and outputting a synchronous trigger signal through the GPIO signal line. After the multi-channel asynchronous transceiver expansion array receives the synchronous trigger signal, the target motion instruction information in the buffer unit is synchronously sent out, so that each asynchronous rudder synchronously executes the corresponding motion action according to the received instruction.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This specification relates to the field of robot motion control technology, and particularly to a multi-servo synchronous control system, method, computing device, readable storage medium, and program product. Background Technology

[0002] With the rapid development of mobile payment technology and the intelligent upgrading of commercial retail scenarios, intelligent robots have been widely used in various commercial venues such as retail stores, restaurants, cafes, and cosmetic counters. In these applications, multiple servo motors in the robot often need to execute their respective motion commands according to the same time reference in order to achieve coordination and synchronization of the overall movement.

[0003] Currently, multi-servo control uses a microcontroller to send motion commands to the corresponding UART servos one by one via asynchronous serial communication based on a Universal Asynchronous Receiver / Transmitter (UART). However, there is a timing difference between the sending of commands from different channels to their respective servos, resulting in inconsistent command reception times for each servo. This leads to a lack of synchronous response to motion actions, causing problems such as missteps or disjointed movements, which in turn affects the overall motion coordination of the robot.

[0004] Therefore, how to achieve synchronous motion control of multiple asynchronous servos in order to improve the motion coordination of multi-servo systems has become an urgent technical problem to be solved. Summary of the Invention

[0005] In view of this, one or more embodiments of this specification provide a multi-servo synchronous control system and a multi-servo synchronous control method to improve the motion coordination of a multi-servo system.

[0006] According to a first aspect of one or more embodiments of this specification, a multi-servo synchronous control system is provided, including a microcontroller unit, a multi-channel asynchronous transceiver expansion array, a universal input / output signal line, a serial peripheral interface bus, and a plurality of asynchronous servos. One end of the serial peripheral interface bus is connected to the multi-channel asynchronous transceiver expansion array, and the other end of the serial peripheral interface bus is connected to the microcontroller unit. The channels of the multi-channel asynchronous transceiver expansion array have channel buffer units that support clearing the transmit flow control function. One end of the general purpose input / output signal line is connected to the general purpose input / output pin of the microcontroller unit, and the other end of the general purpose input / output signal line is connected to the clear send pin of the channel; Each of the multiple asynchronous servos is independently connected to a corresponding channel in the multi-channel asynchronous transceiver extended array; The microcontroller unit is used to acquire target motion command information corresponding to each of the asynchronous servos, distribute the target motion command information to the corresponding channel buffer unit of the multi-channel asynchronous transceiver expansion array, output a synchronization trigger signal to the general input / output signal line, start the multi-channel asynchronous transceiver expansion array to synchronously send the target motion command information, and control each of the asynchronous servos to synchronously execute motion actions.

[0007] According to a second aspect of one or more embodiments of this specification, a multi-servo synchronous control method is provided, applied to a multi-servo synchronous control system. The multi-servo synchronous control system includes: a microcontroller unit, a serial peripheral interface bus, a multi-channel asynchronous transceiver expansion array, general-purpose input / output signal lines, and multiple asynchronous servos. The microcontroller unit is connected to the multi-channel asynchronous transceiver expansion array via the serial peripheral interface bus. The general-purpose input / output signal lines are driven by the general-purpose input / output pins of the microcontroller unit and connected in parallel to the clear transmit pins of each channel of the multi-channel asynchronous transceiver expansion array. Each channel of the multi-channel asynchronous transceiver expansion array is independently connected to one asynchronous servo. The method is executed by the microcontroller unit and includes: Obtain the target motion command information corresponding to each of the asynchronous servos; The target motion command information is distributed to the corresponding channel buffer unit of the multi-channel asynchronous transceiver extended array; Output a synchronous trigger signal to the general-purpose input / output signal line to start the multi-channel asynchronous transceiver extension array to synchronously send the target motion command information, thereby controlling each of the asynchronous servos to respond and synchronously execute motion actions.

[0008] According to a third aspect of one or more embodiments of this specification, a computing device, a memory, and a processor are provided; The memory is used to store computer programs / instructions, and the processor is used to execute the computer programs / instructions. When the computer programs / instructions are executed by the processor, they implement the steps of the above-described multi-servo synchronous control method.

[0009] According to a fourth aspect of one or more embodiments of this specification, a computer-readable storage medium is provided that stores computer instructions which, when executed by a processor, implement the steps of the multi-servo synchronous control method described above.

[0010] According to a fifth aspect of the embodiments of this specification, a computer program product is provided, including a computer program or instructions that, when executed by a processor, implement the steps of the above-described multi-servo synchronous control method.

[0011] One or more embodiments of this specification can achieve at least the following beneficial effects: the microcontroller can distribute the target motion command information corresponding to each asynchronous servo to the corresponding channel buffer unit of the multi-channel asynchronous transceiver expansion array through the serial peripheral interface bus, so that each channel can complete the preloading and preparation of motion commands in advance, so that the transmission of command data and the actual transmission of command data are decoupled in the time dimension, laying the foundation for the subsequent synchronous transmission of motion commands to each asynchronous servo.

[0012] Furthermore, by connecting the microcontroller unit to the clear and send pins of each channel via general-purpose input / output signal lines, the microcontroller unit can synchronously start each channel to send commands to the corresponding asynchronous servo motors at the same time by outputting a synchronous trigger signal. This allows each asynchronous servo motor to receive its own motion command at the same time reference and execute motion actions synchronously. This can eliminate the phenomenon of misaligned or discontinuous motion caused by the discrepancy in the timing of motion command reception by each servo motor when the software command controls each channel to send motion commands to the asynchronous servo motor in a multi-channel asynchronous communication scenario.

[0013] By combining instruction pre-caching with unified synchronous triggering, this control method can ensure the efficient distribution and accurate delivery of motion instruction information for each target. It can also achieve strict alignment of the transmission time of multiple channels at the hardware level to improve the motion coordination and action accuracy of the multi-servo system. This makes it suitable for the actual needs of synchronization performance in multi-degree-of-freedom collaborative motion scenarios such as bionic robots or desktop payment robots. Attached Figure Description

[0014] To more clearly illustrate the technical solutions in the embodiments or prior art of this specification, the drawings used in the description of the embodiments or prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in this specification. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0015] Figure 1 This is a schematic diagram of a multi-servo synchronous control system provided in one embodiment of this specification; Figure 2 This is a schematic diagram of another multi-servo synchronous control system provided in one embodiment of this specification; Figure 3 This is a schematic diagram illustrating an application scenario of a multi-servo synchronous control method provided in one embodiment of this specification; Figure 4 This is a flowchart illustrating a multi-servo synchronous control method provided in one embodiment of this specification; Figure 5 This is a schematic diagram of the structure of a multi-servo synchronous control device provided in one embodiment of this specification; Figure 6 This is a structural block diagram of a computing device provided in one embodiment of this specification. Detailed Implementation

[0016] To enable those skilled in the art to better understand the technical solutions in this specification, the technical solutions in the embodiments of this specification will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this specification, and not all embodiments. Based on the embodiments in this specification, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of this specification.

[0017] This specification uses specific terms to describe embodiments thereof. Terms such as "an embodiment," "one embodiment," and / or "some embodiments" refer to a particular feature, structure, or characteristic associated with at least one embodiment of this specification. Therefore, it should be emphasized and noted that references to "an embodiment," "one embodiment," or "an alternative embodiment" in different locations throughout this specification do not necessarily refer to the same embodiment. Furthermore, those skilled in the art can combine and integrate the different embodiments or examples described herein, as well as the features of those different embodiments or examples, without contradiction.

[0018] The terminology used in one or more embodiments of this specification is for the purpose of describing particular embodiments only and is not intended to be limiting of the one or more embodiments of this specification. The singular forms “a,” “an,” “an,” “the,” and “the” as used in one or more embodiments of this specification and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used in one or more embodiments of this specification includes any or all possible combinations of one or more associated listed items.

[0019] The terms “comprising,” “including,” or any other variations thereof are intended to cover a non-exclusive inclusion, such that a process, method, product, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, product, or apparatus. Without further limitation, the presence of additional identical or equivalent elements in the process, method, product, or apparatus that includes said elements is not excluded.

[0020] Although the terms "first," "second," etc., may be used to describe various information in one or more embodiments of this specification, this information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, "first" may also be referred to as "second," and similarly, "second" may also be referred to as "first," without departing from the scope of one or more embodiments of this specification. Ordinal numbers such as "first," "second," etc., do not necessarily indicate order; often they are used to facilitate the distinction of objects. For example, "first server" and "second server" usually refer to two servers. To distinguish these two servers, they are described as "first server" and "second server." Of course, sometimes these two servers may be the same server.

[0021] The word "if" can be interpreted as "when," "when," or "in response to a determination," depending on the context.

[0022] In this specification, unless explicitly stated otherwise, "receiving and sending data" does not necessarily mean direct receiving and sending; it can also mean indirect receiving and sending. For example, when device A receives data sent by device B, it can be understood as device A directly receiving data sent by device B, or it can be understood as device A indirectly receiving data sent by device B through device C or other entities. Similarly, when device B sends data to device A, it can be understood as device B directly sending data to device A, or it can be understood as device B indirectly sending data to device A through device C or other entities. Here, device C can be one entity, or it can be two or more entities.

[0023] In this specification, unless explicitly stated otherwise, the relationships between structures can be direct or indirect. For example, when describing "device A is connected to device B," unless explicitly stated that device A and device B are directly connected, it should be understood that device A can be directly connected to device B, or indirectly connected to device B. Similarly, when describing "device A is on top of device B," unless explicitly stated that device A is directly above device B (AB is adjacent and device A is above device B), it should be understood that device A can be directly above device B, or indirectly above device B (AB is separated by other elements, and device A is above device B). And so on.

[0024] The user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in one or more embodiments of this specification are all information and data authorized by the user or fully authorized by all parties. The collection, use, and processing of related data must comply with the relevant laws, regulations, and standards of the relevant regions, and corresponding operation entry points are provided for users to choose to authorize or refuse. For example, in locations where robots are deployed, video capture prompts may be displayed by pasting or showing; or, when a user becomes a registered user of the terminal application or processes business, authorization prompts may be displayed through terms and conditions, etc., and data collection and use may be carried out based on user authorization; or, authorization prompts may be displayed on the robot's display interface. In practical applications, authorization prompts may be presented to users in one or more ways, and the specific methods are not specifically limited.

[0025] The following explains the terms and concepts used in one or more embodiments of this specification.

[0026] Robots typically possess one or more of the following functions: speech recognition, emotion simulation, facial expression display, motion feedback, and environmental perception. A robot can include hardware components (such as the main structure, drive mechanism, and sensors) and software components (such as control algorithms and human-computer interaction interfaces). Alternatively, robots may also have network connectivity to interact with servers.

[0027] Microcontroller unit: refers to a single-chip micro controller that integrates a processor core, memory and various peripheral interfaces. It can be used to execute control logic such as the generation, distribution and synchronous triggering of motion commands.

[0028] Multi-channel asynchronous transceiver expansion array: refers to a peripheral expansion device that provides multiple independent asynchronous transceiver channels through a single chip or chipset. Each channel can be independently configured with communication parameters such as baud rate and data format, and has independent transmit and receive buffers.

[0029] General Purpose Input / Output (GPIO) signal line: This is a single electrical signal line driven by the GPIO pins of the microcontroller unit, used to transmit synchronous trigger signals. This signal line is connected in parallel to the clear transmit pins of each channel in the multi-channel asynchronous transceiver expansion array, allowing the transmit enable state of each channel to be controlled simultaneously by a single GPIO pin.

[0030] Serial Peripheral Interface Bus: This is a high-speed synchronous serial communication bus that supports full-duplex data transmission between microcontrollers and peripherals. It features high communication speed and predictable timing, making it suitable for microcontrollers to rapidly distribute motion command data to multi-channel asynchronous transceiver expansion arrays.

[0031] Synchronous servos: Employ a bus communication protocol with address / ID addressing. Multiple servos can be cascaded on the same bus (daisy-chain topology). The controller designates the receiver by including the servo ID in the data frame. Synchronous servos support synchronous write commands; the controller broadcasts a synchronous write command on the bus, and all target servos execute it simultaneously upon receiving the complete command. However, due to the cascading nature of the bus, synchronous servos have limitations such as limited load capacity, lack of support for custom servos without ID addressing, and are typically larger in size.

[0032] Asynchronous servos: These use the UART asynchronous serial communication protocol to interact with the controller. Each servo needs its own independent UART channel, and the connection with the controller is point-to-point. Asynchronous servos do not have a bus address / ID addressing mechanism; data sent on the channel is directly received by the connected servos. Because each servo is distributed on a different independent channel, the controller must write commands to each channel sequentially when sending commands to multiple servos, resulting in differences in the time it takes for different servos to receive the start bit of the command.

[0033] First-In-First-Out (FIFO) buffer: refers to the hardware data buffer integrated inside the UART channel, which is specifically used to temporarily store serial data to be sent, and follows a strict order rule that the data written first is sent first.

[0034] Currently, in order to achieve synchronous control of multiple servos in a robot, large-sized synchronous servos that can be connected in series can be used in the robot. Synchronous control of multiple servos is achieved by broadcasting commands through a single bus. However, this single-bus architecture is easily limited by load capacity. The reliability of communication will decrease significantly when the number of servos increases. Furthermore, it cannot be adapted to customized servos without ID addressing function. In addition, the large-sized synchronous servos are bulky and not suitable for the application scenarios of desktop payment robots that require small size.

[0035] To circumvent the inherent drawbacks of large-size synchronous servos, current technologies are beginning to explore the use of microcontrollers with integrated multi-channel native UART serial ports to synchronously control multiple asynchronous servos. Each serial port independently interfaces with its corresponding asynchronous servo, and synchronous write commands are sent sequentially to achieve physical independence. However, the microcontroller relies on software commands to trigger each serial port to output motion commands to its corresponding asynchronous servo. Because the controller uses a serial code execution mechanism, program commands can only be executed line by line, and each command corresponds to the data transmission action of only one serial port. Therefore, the controller can only send commands to each serial port one by one, resulting in a time deviation in the timing of receiving trigger commands at different serial ports. This leads to a delay of tens to hundreds of microseconds in the time it takes for each asynchronous servo to capture the start bit of the command, ultimately preventing high-precision synchronization of multiple servo movements and severely weakening the robot's motion coordination and dynamic performance.

[0036] The technical solutions provided in the various embodiments of this specification are described in detail below with reference to the accompanying drawings.

[0037] Figure 1 This is a schematic diagram of a multi-servo synchronous control system provided in one embodiment of this specification.

[0038] like Figure 1 As shown, the multi-servo synchronous control system may include a microcontroller unit (MCU) 101, a multi-channel asynchronous transceiver expansion array 102, a general purpose input / output (GPIO) signal line 103, a serial peripheral interface (SPI) bus 104, multiple asynchronous servos 105, and a data path 106.

[0039] One end of the SPI bus 104 is connected to the multi-channel asynchronous transceiver expansion array 102, and the other end of the SPI bus 104 is connected to the microcontroller unit 101. The channels of the multi-channel asynchronous transceiver expansion array 102 have channel buffer units that support Clear To Send (CTS) flow control function.

[0040] In one or more embodiments of this specification, the multi-channel asynchronous transceiver expansion array 102 can be composed of one or more asynchronous transceiver expansion chips. Each asynchronous transceiver expansion chip can integrate multiple independent UART channels. Each channel can be equipped with a channel buffer unit supporting CTS flow control function. The channel buffer unit can refer to the storage area configured inside each channel in the multi-channel asynchronous transceiver expansion array for temporarily storing data to be transmitted. The capacity of the channel buffer unit in each channel can be greater than or equal to a preset capacity. As one implementation, the preset capacity can be 256 bytes. Each channel can support a programmable baud rate, which can specifically be 1 Mbps, 1.5 Mbps, or other values. The programmable baud rate means that different baud rates can be set as needed by relying on the chip's internal clock divider module and configuration register, and by the MCU or main controller issuing configuration instructions.

[0041] As one implementation method, the channel buffer unit can be a first-in-first-out (FIFO) buffer unit.

[0042] In practical applications, CTS flow control refers to a hardware flow control mechanism in asynchronous serial communication. CTS is a control signal pin used to control whether the transmitter is allowed to send data. When the CTS pin is active, the transmitter of the corresponding channel is enabled and can send the data temporarily stored in the channel buffer byte by byte according to the configured baud rate. When the CTS pin is inactive, the transmitter of the corresponding channel is suppressed, and the data already written in the channel buffer will not be sent, but will be in a suspended waiting state until the CTS pin is set to active again.

[0043] With this CTS flow control function, when the MCU writes the target motion command information into each channel buffer unit via the SPI bus, the CTS pin of each channel can be kept at an invalid level by the GPIO signal line. Therefore, the target motion command information is not sent immediately after being written into the channel buffer unit, but is temporarily stored in the channel buffer unit to wait. When the MCU outputs a synchronization trigger signal through the GPIO signal line to set the CTS pin to an active level, the transmitters of all channels are enabled at the same time, and the target motion command information in the channel buffer unit can start to be sent out at the same time. This can solve the problem that the asynchronous servos cannot receive the motion command at the same time when the motion command is sent to the transmitter of each channel based on software instructions.

[0044] In one or more embodiments of this specification, the multi-channel asynchronous transceiver expansion array 102 can provide a single SPI interface externally and can internally integrate multiple independent asynchronous serial port channels. The multi-channel asynchronous transceiver expansion array 102 can be connected to the SPI bus 104 through this single SPI interface. The microcontroller unit 101 can internally integrate an SPI master controller and can provide an SPI interface externally. The microcontroller unit 101 can be connected to the SPI bus 104 through this SPI interface. The SPI interfaces provided by the multi-channel asynchronous transceiver expansion array 102 and the microcontroller unit 101 can support preset rates. As one implementation, the specific value of the preset rate can be greater than or equal to 20 MHz.

[0045] In practical applications, when the microcontroller unit writes data to the channel buffer units of each channel in a multi-channel asynchronous transceiver expansion array via the SPI bus, the data frame composed of target motion command information can carry a channel address field. The address decoding logic inside the multi-channel asynchronous transceiver expansion array can route the received target motion command information to the corresponding channel buffer unit based on the channel address. This allows the microcontroller unit to independently address and distribute data to multiple channels via a single SPI bus. Through this SPI bus, the microcontroller unit can write target motion command information to the channel buffer units of each channel in the multi-channel asynchronous transceiver expansion array at high speed, thereby completing the command preloading operation of each channel in a short time.

[0046] Figure 1 In this configuration, one end of the GPIO signal line 103 is connected to the general-purpose input / output pin of the microcontroller unit 101, and the other end of the GPIO signal line 103 is connected to the CTS pin of the channel.

[0047] In one or more embodiments of this specification, GPIO signal line 103 serves as a dedicated synchronous trigger signal line, which can electrically connect the GPIO pins of the microcontroller unit 101 to the CTS pins of each channel in parallel. This connection method allows a single synchronous trigger signal to act simultaneously on the CTS pins of each channel.

[0048] Figure 1 In this configuration, multiple asynchronous servos 105 can be independently connected to the corresponding channels in the multi-channel asynchronous transceiver expansion array 102.

[0049] In one or more embodiments of this specification, each asynchronous servo motor 105 can exclusively occupy one channel of the multi-channel asynchronous transceiver expansion array 102 through a data path 106 to form a point-to-point physical communication link. Each channel and its corresponding asynchronous servo motor can transmit data through an independent serial communication link. These links are independent and do not interfere with each other, thus ensuring that even asynchronous servos without ID addressing capabilities can accurately receive motion command information sent by the corresponding channel, enabling the system to be compatible with asynchronous servos lacking ID addressing capabilities.

[0050] Figure 1In this configuration, the microcontroller unit 101 is used to acquire target motion command information corresponding to each of the asynchronous servos 105, distribute the target motion command information to the corresponding channel buffer unit of the multi-channel asynchronous transceiver expansion array 102, output a synchronous trigger signal to the GPIO signal line 103, start the multi-channel asynchronous transceiver expansion array 102 to synchronously send the target motion command information, and control each of the asynchronous servos 105 to synchronously execute motion actions.

[0051] In one or more embodiments of this specification, the microcontroller unit can generate or receive target motion command information that each asynchronous servo needs to execute according to motion control requirements. The target motion command information may include parameters such as rotation angle information, rotation speed information, and acceleration information.

[0052] In practical applications, the target motion command information can be generated locally by the microcontroller unit based on a preset motion trajectory; alternatively, the target motion command information can be calculated by the cloud server based on a kinematic algorithm and then sent to the microcontroller unit.

[0053] In one or more embodiments of this specification, the microcontroller unit can sequentially write the target motion command information corresponding to each asynchronous servo into the channel buffer unit of the corresponding channel in the multi-channel asynchronous transceiver expansion array according to the channel address via the SPI bus. After receiving the corresponding target motion command information, each channel will store it in the channel buffer unit and wait for transmission. At this time, since the CTS pin of each channel is at an invalid level, the target motion command information in the channel buffer unit will be in a suspended state and will not be transmitted, thereby realizing the preloading and preparation operation of the target motion command information.

[0054] In one or more embodiments of this specification, after the microcontroller confirms that the target motion command information of each channel has been written into the corresponding channel buffer unit, the microcontroller can output a synchronous trigger signal to the GPIO signal line through its own GPIO pin, switch the level of the GPIO pin to an active level, so as to simultaneously drive the CTS pin of each channel to enter the active state.

[0055] In one or more embodiments of this specification, after the CTS pins of each channel are set to an active level at the same time, the transmitters of each channel are simultaneously enabled, and the target motion command information pre-stored in the buffer units of each channel begins to be sent out at the same time, so that each asynchronous servo receives its own target motion command information under the same time reference. After receiving the target motion command information, each asynchronous servo can drive its internal motor to rotate according to the rotation angle information, rotation speed information, and acceleration information and other parameters in the command information. Since each servo receives the command at the same time, each servo can respond and execute motion actions at the same time, thereby realizing the synchronous movement of multiple servos.

[0056] Figure 1 The multi-servo synchronous control system shown can be mounted on a desktop payment robot to synchronously control multiple servos in the robot. The system can distribute the target motion command information corresponding to each asynchronous servo to the corresponding channel buffer unit of the multi-channel asynchronous transceiver expansion array via the SPI bus. Then, the CTS flow control function of the channel buffer unit is used to put the target motion command information into a suspended waiting state, thereby achieving decoupling of the distribution of target motion command information and actual transmission in the time dimension, laying the foundation for subsequent synchronous transmission of motion commands to each asynchronous servo.

[0057] Furthermore, by connecting the GPIO signal lines of the microcontroller unit in parallel to the CTS pins of each channel, the transmit enable state of each channel can be uniformly driven by a single electrical signal line. The microcontroller unit can output a synchronous trigger signal to start the transmit action of each channel at the same time. This allows each asynchronous servo to execute motion actions synchronously under the same time reference. In this way, the phenomenon of misaligned actions and discontinuous motion caused by the discrepancy in the timing of the servo receiving motion commands when the software command controls each channel to send motion commands to the asynchronous servo in a multi-channel asynchronous communication scenario can be eliminated.

[0058] This hardware and software co-control mechanism, which combines instruction pre-caching with unified synchronous triggering, can fully utilize the high-speed communication capability of the SPI bus during the instruction distribution phase, and can also achieve consistency in the transmission time through hardware-level synchronous triggering during the instruction transmission phase, thereby improving the motion coordination and action accuracy of the multi-servo system.

[0059] based on Figure 1 This specification provides some implementation methods for a multi-servo synchronous control system, which are described below.

[0060] In order to ensure the deterministic timing of the output of the synchronous trigger signal and avoid trigger jitter caused by the uncertainty of the software instruction execution path, in one or more embodiments of this specification, a timer can also be configured in the microcontroller unit. The timer automatically triggers the GPIO signal line to output the synchronous trigger signal at a preset time to achieve hardware-level timing triggering.

[0061] Optionally, the microcontroller unit may include a timer, which is used to trigger the GPIO signal line to output the synchronous trigger signal at a preset time.

[0062] In one or more embodiments of this specification, the timer can be a hardware timing device integrated within the microcontroller unit. The timer can count based on a clock source and generate a trigger event when the count value reaches a preset comparison value. After configuring the timer parameters, the counting and triggering behavior of the timer can be automatically completed by the hardware, without occupying the execution time of the microcontroller unit. Furthermore, the timer's trigger event can be configured to directly drive the level change of the GPIO signal line to output a synchronous trigger signal at a preset time.

[0063] In practical applications, after the microcontroller distributes the target motion command information corresponding to each asynchronous servo to the corresponding channel buffer unit of the multi-channel asynchronous transceiver expansion array, it can configure the timer's comparison value to a count value corresponding to a preset time, and map the timer's trigger output to the pin connected to the GPIO signal line. Subsequently, the timer can count independently, and when the count value reaches the aforementioned comparison value, a level transition can be automatically generated on the GPIO signal line to output a synchronization trigger signal. This synchronization trigger signal can be transmitted via the GPIO signal line to the CTS pin of each channel of the multi-channel asynchronous transceiver expansion array to control each channel to synchronously transmit the target motion command information temporarily stored in the channel buffer unit.

[0064] In one or more embodiments of this specification, because a timer is configured in the microcontroller unit, the timer automatically triggers the GPIO signal line to output a synchronous trigger signal at a preset time, instead of controlling the level switching of general-purpose input / output pins through software instructions. This avoids the influence of uncertainties in the software instruction execution path (such as interrupt response delays or instruction jitter) on the triggering time, allowing the output time of the synchronous trigger signal to be determined by the clock of the hardware timer, thereby improving the accuracy of multi-channel synchronous triggering. Simultaneously, since the timer can operate independently of the microcontroller unit, the microcontroller unit can continue to execute other tasks after configuring the timer parameters, thus improving the microcontroller unit's ability to handle concurrent tasks during synchronous control.

[0065] Optionally, the GPIO signal line is at a high level before the synchronous trigger signal is output, and the synchronous trigger signal is used to switch the GPIO signal line to a low level.

[0066] In one or more embodiments of this specification, the level transition process of the GPIO signal line may include, before the synchronous trigger signal is output, the microcontroller unit may control the GPIO signal line to maintain a high level, and the CTS pin of each channel may be in a transmit disabled state. When the microcontroller unit distributes the target motion command information corresponding to each asynchronous servo to the corresponding channel buffer unit through the SPI bus, since the CTS pin is at a high level, the target motion command information written to the channel buffer unit is locked, and thus no transmit signal is generated.

[0067] At the synchronization trigger moment, the microcontroller outputs a synchronization trigger signal, causing the GPIO signal line to switch from high to low. The level transition on the GPIO signal line is simultaneously transmitted to the CTS pins of each channel through parallel connection. The level at each CTS pin can transition from high to low, enabling the transmitter and thus causing the target motion command information latched in each channel's buffer unit to be transmitted synchronously.

[0068] In one or more embodiments of this specification, since the GPIO signal line is pre-set to maintain a high level before the synchronous trigger signal is output, the CTS pin can be in a transmit-disabled state during the instruction distribution phase. This ensures that the target motion instruction information is not sent prematurely before it is fully written into the channel buffer unit, thus avoiding timing disorder caused by different completion times of each channel's write operation, which may result in some channels starting to send before others.

[0069] In order to enable the multi-servo synchronous control system to support a large number of servos and maintain a unified synchronous triggering capability after multi-chip expansion, in one or more embodiments of this specification, the multi-channel asynchronous transceiver expansion array can be composed of multiple asynchronous transceiver expansion chips. Each chip can be independently connected to the same SPI bus, and the GPIO signal lines can be connected in parallel to the CTS pins of each chip.

[0070] Optionally, the multi-channel asynchronous transceiver expansion array may include multiple asynchronous transceiver expansion chips, each of which may be connected to the microcontroller unit via the SPI bus, and the GPIO signal lines are connected in parallel to the CTS pin of each of the asynchronous transceiver expansion chips.

[0071] In one or more embodiments of this specification, a multi-channel asynchronous transceiver expansion array may include multiple asynchronous transceiver expansion chips. The asynchronous transceiver expansion chips may be bridge chips that integrate multiple independent UART channels, and each channel may have an independent channel buffer unit and a CTS pin.

[0072] For example, a single asynchronous transceiver expansion chip can provide 2 or 4 independent UART channels.

[0073] In practical applications, multiple asynchronous transceiver expansion chips can be connected to the same SPI bus, and each expansion chip can have its own independent CS chip select signal line. When the microcontroller unit communicates with a specific expansion chip, it can set the CS chip select signal line of that expansion chip to an active level to select it. The CS chip select signal lines of the other expansion chips remain inactive and do not respond to data on the bus. This allows the microcontroller unit to independently address and distribute data to different expansion chips. The CS chip select signal line is a control signal line in the SPI bus used by the microcontroller unit to select a specific expansion chip for communication.

[0074] In one or more embodiments of this specification, a single GPIO signal line can be simultaneously connected to the CTS pins of each channel in each asynchronous transceiver expansion chip. Level changes on the GPIO signal line can be synchronously transmitted to the CTS pins of each channel in each expansion chip, thereby enabling each channel across the chip to respond to the same synchronization trigger signal at the same time.

[0075] In practical applications, the synchronous control process under a multi-asynchronous transceiver expansion chip architecture can include the microcontroller unit selecting each asynchronous transceiver expansion chip one by one via the SPI bus and writing the target motion command information into the corresponding channel buffer unit of the selected chip. Since each expansion chip can have an independent CS chip select signal line, when the microcontroller unit writes data to the channel buffer unit of a certain expansion chip, it can only set the CS chip select signal line of that expansion chip to an active level, while the other expansion chips remain unaffected. The microcontroller unit can sequentially traverse each expansion chip in this way to complete the distribution operation of the target motion command information. During the distribution process, the GPIO signal line can remain high, and the CTS pins of each channel of each expansion chip can be in a transmit-disabled state to lock the target motion command information written in each channel buffer unit. Then, when the microcontroller unit outputs a synchronization trigger signal to switch the GPIO signal line low, the CTS pins of each channel of each expansion chip will simultaneously jump from high to low, enabling the transmitters of each channel at the same time to achieve synchronous transmission of the target motion command information.

[0076] Small robots, such as desktop payment robots, require miniaturized asynchronous servos. To reduce size, asynchronous servos typically use half-duplex communication. However, the multi-channel asynchronous transceiver expansion array mentioned earlier supports full-duplex communication in each channel. To improve the compatibility between the asynchronous servos and the channels, a buffer circuit can be set between the channels and the asynchronous servos in the multi-channel asynchronous transceiver expansion array to achieve half-duplex communication between the channels and the asynchronous servos.

[0077] Optionally, the system further includes a buffer circuit, through which the channel is connected to the asynchronous servo motor, and the buffer circuit is used to convert the full-duplex signal of the channel into a half-duplex signal.

[0078] Figure 2 This is a schematic diagram of another multi-servo synchronous control system provided in one embodiment of this specification.

[0079] like Figure 2 As shown, the buffer circuit 107 can refer to the signal conversion circuit connected between the multi-channel asynchronous transceiver extension array 102 and the asynchronous servo motor 105. The buffer circuit 107 can combine the transmit signal and receive signal of the channel into a single half-duplex signal.

[0080] As one implementation method, Figure 2 The buffer circuit 107 can include a transmit buffer and a receive buffer. When the channel transmits target motion command information, the transmit buffer can transfer the signal from the transmit pin to the half-duplex signal line, while isolating the receive pin from the half-duplex signal line. When the servo returns status information, the receive buffer can transfer the signal from the half-duplex signal line to the receive pin, while isolating the transmit pin from the half-duplex signal line. The transmit pin and receive pin can be two independent pins exposed to the outside world on the multi-channel asynchronous transceiver expansion chip. The transmit pin is used to output serial data, and the receive pin is used to receive externally input serial data.

[0081] In practical applications, the operation of the buffer circuit can include the following: During the transmission phase, the microcontroller can write target motion command information into the channel buffer unit via the SPI bus. The channel's transmit pin can output the transmission signal of the target motion command information. The transmit buffer of the buffer circuit is turned on, transmitting the transmission signal to the half-duplex signal line. The asynchronous servo receives the target motion command information through this signal line. At this time, the receive buffer of the buffer circuit is in a high-impedance state, and the receive pin is isolated from the half-duplex signal line to prevent the transmit signal from flowing back to the receive pin. During the reception phase, the channel's transmit pin does not transmit data, the transmit buffer of the buffer circuit is turned off, and the transmit pin is isolated from the half-duplex signal line. The asynchronous servo transmits status information back through the half-duplex signal line. The receive buffer of the buffer circuit is turned on, transmitting the status information on the half-duplex signal line to the receive pin. The microcontroller reads the status information received in the channel buffer unit via the SPI bus.

[0082] In one or more embodiments of this specification, by setting a buffer circuit between the channel and the asynchronous servo, the full-duplex signal of the channel can be converted into a half-duplex signal. In this way, the asynchronous servo only needs one signal line to complete the command reception and status feedback, without the need to lay out separate transmit and receive signal lines. This simplifies the interface structure of the asynchronous servo, reduces the number of pins and wiring space on the servo side, and while maintaining the miniaturization of the asynchronous servo, it can also complete the data transmission and reception between the servo and the channel, and further reduce the overall size of the robot.

[0083] Figure 3 This is a schematic diagram illustrating an application scenario of a multi-servo synchronous control method provided in one embodiment of this specification.

[0084] like Figure 3As shown, robot 301 can be deployed at the checkout counters of retail stores, restaurants, cafes, and cosmetic counters, or in self-checkout areas. Robot 301 is a small, intelligent, and interactive device used for payment, and can be placed on desktops, workbenches, etc., serving as an auxiliary tool for business processing. Robot 301 can include multiple asynchronous servos, each of which can drive different joints or actuators of robot 301. For example, each asynchronous servo can drive the shoulder joint, elbow joint, wrist joint, hip joint, knee joint, and ankle joint, etc. Synchronous control of multiple servos can achieve coordinated walking, waving, or grasping movements. Robot 301 may also include an MCU. The source of the target motion command information sent by the MCU to each servo motor can be flexible and diverse. For example, the MCU can receive the target motion command information from the motion planning module of the host computer, and the host computer can generate the motion parameters of each servo motor in real time according to the task requirements; or, the MCU can also read the target motion command information corresponding to the preset action sequence from the local storage and execute the synchronous control process periodically according to the preset timing; or, the MCU can also calculate and generate the target motion command information locally based on the environmental information collected by the sensors to realize real-time synchronous motion control based on perception feedback.

[0085] exist Figure 3In this application scenario of small robots, to achieve synchronous control of multiple servos within the robot, the researchers initially considered using large, cascaded synchronous servos and broadcasting commands via a single bus to achieve synchronized movement of the servos. However, the single-bus architecture has limited load capacity, and communication reliability drops significantly as the number of servos increases. Furthermore, synchronous servos rely on ID addressing mechanisms, making them unsuitable for custom servos without ID addressing functionality. Additionally, the relatively large size of the large servos makes them unsuitable for applications like desktop payment robots. Therefore, the researchers opted for a multi-channel UART serial port MCU to interface with each asynchronous servo. By using physically independent links, they circumvented the load and addressing limitations of the single bus. Moreover, the asynchronous servos are relatively smaller, fitting the size requirements of small robots. However, asynchronous servo solutions also suffer from software synchronization trigger delay issues. Specifically, the MCU relies on software instructions to trigger each serial port to send motion commands one by one. The serial code execution mechanism causes discrepancies in the timing of receiving trigger commands from different serial ports. The time when each servo captures the start bit of the command can easily generate delays of tens to hundreds of microseconds, making it impossible to achieve the requirement of high-precision synchronization. Furthermore, MCUs with multiple UART serial ports are relatively expensive. To address the aforementioned issues, this solution innovatively employs a CTS hardware flow control synchronization triggering mechanism. Furthermore, to reduce costs, the MCU used is a single-channel serial port MCU. By adding a multi-channel asynchronous transceiver expansion array, an SPI bus, and GPIO signal lines, the MCU first preloads each motion command into the buffer unit of each channel of the multi-channel asynchronous transceiver expansion array via the SPI bus. Then, a GPIO signal line is used to uniformly control the CTS pin of each channel. When CTS is active, the commands to be sent in each channel's FIFO are locked. When the synchronization time is reached, CTS is switched to inactive, so that each channel can synchronously release the pre-buffered commands in the FIFO, thereby eliminating the latency problem caused by the software method. However, the SPI bus and its extended UART chip array added inside the robot operate in full-duplex mode, while the asynchronous servo motor, being a miniaturized servo motor, usually adopts half-duplex mode. The two cannot be directly adapted. To address this, this solution innovatively adds a buffer circuit to adapt the full-duplex communication to half-duplex communication, thereby completing the closed-loop design of the communication link from the SPI bus to the asynchronous servo motor.

[0086] In practical applications, multi-servo synchronous control systems employing this multi-servo synchronous control method can adopt various deployment architectures. When deployed independently on the MCU, the MCU can independently complete the entire process of acquiring, distributing, and synchronously triggering target motion command information without the need for an external processor. This is suitable for applications with high real-time requirements and relatively fixed motion sequences. Alternatively, when deployed collaboratively with a host computer, the MCU and a host computer (such as a SoC processor) can work together. The host computer can handle motion planning and command generation, while the MCU can handle command distribution and synchronous triggering. Command data can be transmitted between the host computer and the MCU via a communication interface. When not involved in synchronous control, the host computer can enter a low-power mode, allowing the MCU to independently maintain basic motion control. When complex motion planning is required, the host computer can be woken up to participate, thus balancing computational power requirements and power consumption control.

[0087] The host computer can be one or more of the following: a SoC processor, a digital signal processor (DSP), a field-programmable gate array (FPGA), or an embedded microprocessor. The host computer can handle high-computing tasks such as motion planning, visual recognition, or environmental perception, and sends the generated target motion command information to the MCU for synchronous control.

[0088] User 302 can conveniently interact and make payments with robot 301 through a user terminal. The payment methods are flexible and diverse. For example, user 302 can use a user terminal equipped with NFC to make close contact with robot 301 and complete the transaction through near-field NFC payment; or, user 302 can also scan the QR code displayed by robot 301 to make a payment; or, user 302 can also present a payment code through the user terminal, which robot 301 will recognize and complete the payment process.

[0089] The user terminal can be one or more of the following: smartphone, laptop, tablet, IoT device, portable wearable device, or immersive image display device. Specifically, IoT devices can be one or more of the following: smart speaker, smart TV, smart air conditioner, or smart in-vehicle device. Portable wearable devices can be one or more of the following: smartwatch, smart bracelet, or head-mounted device. Immersive image display devices can include, but are not limited to, augmented reality (AR) devices and virtual reality (VR) devices.

[0090] This specification provides a method for synchronous control of multiple servos, and also relates to a device for synchronous control of multiple servos and a computing device, which will be described in detail in the following embodiments.

[0091] Figure 4 This is a flowchart illustrating a multi-servo synchronous control method provided in one embodiment of this specification.

[0092] From a programming perspective, the entity executing the process can be a program hosted on an application server or MCU. It can be understood that this method can be executed by any device, equipment, platform, or cluster of devices with computing and processing capabilities.

[0093] Figure 4 The method described above can be applied to a multi-servo synchronous control system, which may include: an MCU, an SPI bus, a multi-channel asynchronous transceiver expansion array, GPIO signal lines, and multiple asynchronous servos; the MCU is connected to the multi-channel asynchronous transceiver expansion array via the SPI bus, the GPIO signal lines are driven by the general purpose input / output pins of the MCU and are connected in parallel to the CTS pins of each channel of the multi-channel asynchronous transceiver expansion array, and each channel of the multi-channel asynchronous transceiver expansion array is independently connected to one asynchronous servo; the method is executed by the MCU.

[0094] In one or more embodiments of this specification, the explanations of MCU, SPI bus, multi-channel asynchronous transceiver expansion array, GPIO signal lines, and asynchronous servo motors can be found above and will not be repeated here.

[0095] like Figure 4 As shown, the process may include the following steps.

[0096] Step 402: Obtain the target motion command information corresponding to each of the asynchronous servos.

[0097] Optionally, for each asynchronous servo, obtaining target motion command information corresponding to each target asynchronous servo may include: obtaining the target motion information of the robot; parsing the target motion information to obtain the target rotation angle and target speed corresponding to each asynchronous servo; and generating target motion command information corresponding to each asynchronous servo based on the target rotation angle and the target speed.

[0098] In one or more embodiments of this specification, target motion information may refer to information describing the overall motion that the robot needs to perform, which represents the robot's motion intention at a macroscopic level. Target motion information may come from a preset motion sequence stored locally on the MCU.

[0099] As one implementation method, target action information can be represented in the form of action identifiers, such as waving, walking, or bowing.

[0100] As another implementation method, the target motion information can also be represented in the form of joint motion trajectories, such as the angle sequence of each joint over time.

[0101] In practical applications, the MCU can determine the required rotation angle and speed of the servo motor corresponding to each joint based on the target motion information through kinematic mapping. The target rotation angle can be the target position that the servo motor needs to reach, representing the final posture of the joint movement; the target rotation speed can be the rate at which the servo motor moves from the current angle to the target rotation angle, representing the speed of the joint movement. One asynchronous servo corresponds to a set of target rotation angles and target rotation speeds, and different servos can have different target rotation angles and target rotation speeds.

[0102] The MCU can encapsulate the target rotation angle and target speed of each servo motor into a serial command frame according to the asynchronous servo motor's communication protocol format, thus obtaining target motion command information. The generated target motion command information is matched with the asynchronous servo motor's communication protocol so that the asynchronous servo motor can directly parse and execute the command frame upon receiving it.

[0103] Step 404: Distribute the target motion command information to the corresponding channel buffer unit of the multi-channel asynchronous transceiver extension array.

[0104] Optionally, distributing the target motion command information to the corresponding channel buffer unit of the multi-channel asynchronous transceiver extension array may include: determining whether the operating mode of the target channel is a transmit prohibition mode, obtaining a determination result, wherein the transmit prohibition mode is a mode that prohibits the target channel from sending target motion command information to the corresponding asynchronous servo; if the determination result indicates that the operating mode is the transmit prohibition mode, then sending the corresponding target motion command information to the buffer unit of the target channel.

[0105] In one or more embodiments of this specification, the target channel can refer to any channel on which the MCU will write target motion command information. When the MCU distributes target motion command information to the multi-channel asynchronous transceiver extension array via the SPI bus, it can write data to each channel one by one. The channel currently undergoing a write operation can be called the target channel. Transmit disable mode means that when the CTS pin of the target channel is at the transmit disable level, the transmitter of the target channel is suppressed, and the data in the channel buffer unit will not be transmitted. In this state, the target channel can be in transmit disable mode.

[0106] In practical applications, before writing target motion command information to the target channel's buffer unit, the MCU can first read the target channel's status register or check the level of the CTS pin to confirm whether the target channel is currently in transmit-disabled mode. If the target channel is in transmit-disabled mode, it means that even if data is written to the channel buffer unit, it will not be transmitted, and the command information will be safely locked in the buffer unit. If the target channel is not in transmit-disabled mode, it means that the CTS pin may be in transmit-enabled mode, and the data written to the channel buffer unit will be transmitted immediately. Only after confirming that the target channel is in transmit-disabled mode will the MCU write the target motion command information to the channel's buffer unit via the SPI bus. After the command information is written, the target motion command information will be locked in the channel buffer unit, waiting for the synchronization trigger signal to arrive before being transmitted synchronously with other channels.

[0107] In one or more embodiments of this specification, before the MCU writes the target motion instruction information to the buffer unit of the target channel, it will first determine whether the target channel is in the transmit disabled mode. The write operation is only performed in the transmit disabled mode, which can ensure that the instruction information written to the channel buffer unit will not be sent immediately because the CTS pin is in the transmit enabled state. This avoids the timing disorder problem of some channels outputting instructions before other channels, and thus improves the reliability of multi-servo synchronous control.

[0108] Step 406: Output a synchronous trigger signal to the general input / output signal line to start the multi-channel asynchronous transceiver extended array to synchronously send the target motion command information, thereby controlling each of the asynchronous servos to respond to and synchronously execute motion actions.

[0109] In one or more embodiments of this specification, the MCU can use general purpose input / output pins to switch the level of GPIO signal lines, causing the CTS pin of each channel to change from a transmit disabled state to a transmit enabled state. After the CTS pin of each channel changes to the transmit enabled state, data transmission can be initiated at the same character start bit boundary, sending the target motion command information to the corresponding asynchronous servo. After receiving the target motion command information, each asynchronous servo will drive the servo to execute the corresponding motion action according to the target position and motion speed carried in the target motion command information. Since the synchronization trigger signal of each channel comes from the same GPIO signal line, the time difference of the transmission start of each channel is relatively small, for example, it will not exceed the transmission time of one bit, so that the start time of receiving the command of each asynchronous servo is highly consistent, thereby realizing the synchronous execution of the motion actions of multiple servos.

[0110] While one or more embodiments of this specification provide method steps as described in the embodiments or flowcharts, it is understood that the order of steps listed in the embodiments or flowcharts is merely one possible execution order among many steps and does not represent the only possible execution order. The order of some steps may be adjusted according to actual needs, or some steps may be omitted. When the claims involve method steps, changes in the order of such steps, or parallel execution between steps, are also within the scope of protection of the claims.

[0111] Figure 4 The method described above allows the MCU to distribute the target motion command information corresponding to each asynchronous servo to the corresponding channel buffer unit of the multi-channel asynchronous transceiver expansion array via the SPI bus. This enables each channel to preload and prepare for sending motion commands in advance, thus decoupling the transmission of command data from the actual sending of command data in the time dimension, laying the foundation for the subsequent synchronous sending of motion commands to each asynchronous servo.

[0112] Furthermore, by connecting the MCU to the CTS pins of each channel via GPIO signal lines, the MCU can simultaneously start each channel to send commands to the corresponding asynchronous servo by outputting a synchronous trigger signal. This allows each asynchronous servo to receive its own motion command and execute motion actions synchronously under the same time reference. This eliminates the phenomenon of misaligned or discontinuous motion caused by the discrepancy in the timing of motion command reception by each servo when the software command controls each channel to send motion commands to the asynchronous servo in a multi-channel asynchronous communication scenario.

[0113] By combining instruction pre-caching with unified synchronous triggering, this control method can ensure the efficient distribution and accurate delivery of motion instruction information for each target. It can also achieve strict alignment of the transmission time of multiple channels at the hardware level to improve the motion coordination and action accuracy of the multi-servo system. This makes it suitable for the actual needs of synchronization performance in multi-degree-of-freedom collaborative motion scenarios such as desktop payment robots or bionic robots.

[0114] based on Figure 4 In addition to the method described herein, this specification also provides some implementation methods of the method, which will be described below.

[0115] To prevent the MCU from missing a valid triggering opportunity due to software polling or task scheduling delays, in one or more embodiments of this specification, the MCU can trigger the output of a synchronous trigger signal via an interrupt method on a general-purpose input / output pin.

[0116] Optionally, the output synchronization trigger signal to the GPIO signal line may include: triggering the output of the synchronization trigger signal by the general-purpose input / output pin via an interrupt.

[0117] In one or more embodiments of this specification, the interrupt mode can refer to the processing mechanism by which the MCU, during normal operation, responds to an internally or externally generated interrupt request, suspends the currently executing task, jumps to the interrupt service routine to perform a specific operation, and can return to the original task to continue execution after completion. The interrupt request can be triggered by an internal timer of the MCU or by a change in the level of an external pin.

[0118] In practical applications, after the MCU distributes the target motion command information to each channel, it can configure the relevant interrupt sources and the entry address of the interrupt service routine. The MCU can then continue executing other tasks without actively waiting for a trigger. When an interrupt source generates an interrupt request, the MCU can pause the currently executing task and jump to the interrupt service routine. Within the interrupt service routine, the MCU can perform level toggling operations on general-purpose input / output (GPIO) pins, switching the GPIO signal lines from high to low to output a synchronization trigger signal. This synchronization trigger signal can be transmitted via the GPIO signal lines to the CTS pin of each channel to control the synchronous transmission of the target motion command information temporarily stored in the channel buffer unit. After the interrupt service routine completes, the MCU can return to the previously interrupted task and continue executing it.

[0119] In one or more embodiments of this specification, the MCU triggers a synchronous trigger signal to be output via an interrupt through a general-purpose input / output pin, rather than periodically checking the trigger condition through software polling. This allows the synchronous trigger signal to be responded to and output promptly when an interrupt request occurs, avoiding the trigger delay caused by the checking cycle in the polling method, thereby improving the real-time performance of synchronous triggering. Simultaneously, since the MCU does not need to actively poll the trigger condition in the interrupt mode, it can perform other tasks while waiting for the trigger, thus improving the utilization of the MCU's computing resources.

[0120] In order to enable each channel of the multi-channel asynchronous transceiver extended array to successfully buffer and transmit target motion command information during the synchronization control process, in one or more embodiments of this specification, the MCU needs to configure the transmit trigger level and flow control register of the channel buffer unit before acquiring the target motion command information, so that each channel has CTS flow control capability and appropriate buffer transmission trigger conditions.

[0121] Optionally, before acquiring the target motion command information corresponding to each of the asynchronous servos, the method may further include: setting the transmit trigger level value of the channel buffer unit; setting the flow control register of the multi-channel asynchronous transceiver extension array to enable the CTS function of the channel.

[0122] In one or more embodiments of this specification, the transmit trigger level value of the channel buffer unit can refer to the level configuration that sets the CTS pin in a certain level state to trigger the transmitter to start data transmission. The transmit trigger level value can include two values: high level and low level. If the transmit trigger level value is set to low level, the transmitter is enabled when the CTS pin is low level and suppressed when the CTS pin is high level; if the transmit trigger level value is set to high level, the transmitter is enabled when the CTS pin is high level and suppressed when the CTS pin is low level.

[0123] The MCU can write trigger level values ​​to the channel registers of the multi-channel asynchronous transceiver expansion array via the SPI bus to determine the effective trigger level direction of the CTS pin. This configuration can be completed before or simultaneously with enabling the CTS function, ensuring that the level state of the CTS pin after enabling correctly corresponds to the transmitter's enable logic.

[0124] The flow control register can be a dedicated register integrated within the UART, used to configure and control the hardware flow control mechanism. This hardware flow control mechanism can be a communication coordination mechanism within the UART that relies on dedicated hardware pins and internal chip logic circuits, rather than software instructions, to start and stop data transmission or match transmit and receive rates. The MCU can write enable bits to the flow control register of the multi-channel asynchronous transceiver expansion array via the SPI bus, enabling the CTS pins of each channel to control data transmission and pause functions.

[0125] In practical applications, the MCU first writes transmit trigger level values ​​to each channel of the multi-channel asynchronous transceiver expansion array via the SPI bus, configuring the effective trigger level of the CTS pin to low. After configuration, a low level on the CTS pin corresponds to a transmit enable state, and a high level on the CTS pin corresponds to a transmit disable state. Subsequently, the MCU sets the flow control register of the multi-channel asynchronous transceiver expansion array via the SPI bus, enabling the CTS function of each channel. This allows the level state of the CTS pin of each channel to control the enable and disable of the transmitter according to the configured trigger level values. When the CTS pin is high, the transmitter can be disabled, and the data in the buffer unit can be locked; when the CTS pin is low, the transmitter can be enabled, and the data in the buffer unit can begin to be transmitted.

[0126] In one or more embodiments of this specification, the MCU sets the transmit trigger level value of the channel buffer unit before acquiring the target motion command information. This determines the level state of the CTS pin to trigger the transmitter enable, thereby establishing a definite correspondence between the level state of the CTS pin and the enable logic of the transmitter, improving the synchronization of the target running command information transmitted in each channel buffer unit. Simultaneously, since the MCU also sets the flow control register to enable the CTS function of each channel, the CTS pin can control data transmission and pause, thus providing a prerequisite for a mechanism combining preloading and synchronous release, further enhancing the feasibility of synchronous control.

[0127] Optionally, the target motion command information may include the rotation angle information of the asynchronous servo motor.

[0128] In one or more embodiments of this specification, the rotation angle information may be information used to characterize the deflection amplitude and rotation position of the asynchronous servo motor shaft.

[0129] In practical applications, the rotation angle information can be stored in the channel buffer unit of the corresponding channel along with the target motion command information. When the synchronous trigger signal takes effect, the asynchronous servo receives the complete target motion command information and parses out the rotation angle information. Then, based on the parsed rotation angle information, it completes the rotation action of the corresponding amplitude.

[0130] In one or more embodiments of this specification, since the target motion command information carries the rotation angle information of the asynchronous servo, the asynchronous servo can read relevant data such as the deflection amplitude from the received command, thereby enabling the asynchronous servo to complete the rotation action according to the preset parameters, and thus enabling the robot to accurately complete the overall motion action.

[0131] Optionally, the target motion command information may also include the rotational speed information of the asynchronous servo motor.

[0132] In one or more embodiments of this specification, the rotational speed information may be information used to characterize the speed of rotation of the asynchronous servo motor shaft.

[0133] In practical applications, rotational speed information can be integrated along with rotational angle information into the target motion command information and stored in the channel buffer unit of the corresponding channel. After the synchronous trigger signal takes effect, the asynchronous servo can receive and parse the complete motion command information, and use the parsed rotational angle and rotational speed information to complete the rotational action with the corresponding amplitude and speed.

[0134] In one or more embodiments of this specification, since the target motion command information also includes rotation speed information, the asynchronous servo motor can not only identify the relevant data of the rotation amplitude, but also obtain the relevant parameters of the rotation rate. The rotation speed information and the rotation angle information work together to enable the servo motor to accurately complete the corresponding rotation action, and further enable the robot to accurately complete the overall motion action.

[0135] Optionally, the target motion command information may also include the acceleration information of the asynchronous servo.

[0136] In one or more embodiments of this specification, the acceleration information may be information used to characterize the trend of change in the rotation rate of the asynchronous servo motor shaft.

[0137] In practical applications, acceleration information, rotation angle information, and rotation speed information can be integrated into complete target motion command information and stored in the channel buffer unit of the corresponding channel. After the synchronous trigger signal takes effect, the asynchronous servo can receive and parse the target motion command information, and combine the various parameters obtained after parsing to control the deflection amplitude, rotation speed, and speed change process of the shaft to complete the corresponding motion action.

[0138] In one or more embodiments of this specification, since the target motion command information may also include acceleration information, the asynchronous servo motor can also acquire relevant parameters of rate change, thereby enabling the asynchronous servo motor to autonomously control the rate change state during operation. This acceleration parameter, in conjunction with rotation angle information and rotational speed information, allows the servo motor to accurately complete the corresponding rotational action, and further enables the robot to accurately complete the overall motion action.

[0139] Based on the same idea, embodiments of this specification also provide apparatus corresponding to the above methods.

[0140] Figure 5 This is a schematic diagram of a multi-servo synchronous control device provided in one embodiment of this specification.

[0141] like Figure 5 As shown, this device can be integrated into the hardware of a robot equipped with a multi-servo synchronous control system. The multi-servo synchronous control system includes: a microcontroller unit, a serial peripheral interface bus, a multi-channel asynchronous transceiver expansion array, general-purpose input / output signal lines, and multiple asynchronous servos. The microcontroller unit is connected to the multi-channel asynchronous transceiver expansion array via the serial peripheral interface bus. The general-purpose input / output signal lines are driven by the general-purpose input / output pins of the microcontroller unit and are connected in parallel to the clear transmit pins of each channel of the multi-channel asynchronous transceiver expansion array. Each channel of the multi-channel asynchronous transceiver expansion array is independently connected to one asynchronous servo. The microcontroller unit includes: The acquisition module 502 is used to acquire target motion command information corresponding to each of the asynchronous servos; The distribution module 504 is used to distribute the target motion command information to the corresponding channel buffer unit of the multi-channel asynchronous transceiver extended array; Output module 506 is used to output a synchronous trigger signal to the general input / output signal line to start the multi-channel asynchronous transceiver extended array to synchronously send the target motion command information, thereby controlling each of the asynchronous servos to respond to and synchronously execute motion actions.

[0142] It is understood that the modules mentioned above refer to computer programs or program segments used to perform one or more specific functions. Furthermore, the distinction between these modules does not imply that the actual program code must also be separate.

[0143] For ease of description, the above devices are described by dividing them into various modules or units based on their functions. Of course, when implementing one or more of these specifications, the functions of each module or unit can be implemented in the same or different software and / or hardware, or a module that performs the same function can be implemented by a combination of multiple sub-modules or sub-units, etc. The device embodiments described above are merely illustrative. For example, the division of units is only a logical functional division; in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed.

[0144] The above is a schematic scheme of a multi-servo synchronous control device according to this embodiment. It should be noted that the technical solution of this device and the technical solution of the above-described multi-servo synchronous control method belong to the same concept. For details not described in detail in the technical solution of this device, please refer to the description of the technical solution of the above-described multi-servo synchronous control method.

[0145] Based on the same idea, this specification also provides devices corresponding to the above methods in its embodiments.

[0146] Figure 6 This is a structural block diagram of a computing device provided in one embodiment of this specification.

[0147] The computing device 600 includes: Memory 610 and processor 620; The memory 610 is used to store computer programs / instructions, and the processor 620 is used to execute the computer programs / instructions. When the computer programs / instructions are executed by the processor 620, they implement the steps of the above-described multi-servo synchronous control method.

[0148] Specifically, the components of the computing device 600 include, but are not limited to, a memory 610 and a processor 620. The processor 620 is connected to the memory 610 via a bus 630, and the database 650 is used to store data.

[0149] The computing device 600 also includes an access device 640, which enables the computing device 600 to communicate via one or more networks 660. Examples of these networks include Public Switched Telephone Network (PSTN), Local Area Network (LAN), Wide Area Network (WAN), Personal Area Network (PAN), or combinations of communication networks such as the Internet. The access device 640 may include one or more of any type of wired or wireless network interface (e.g., a network interface card (NIC)), such as an IEEE 802.11 Wireless Local Area Network (WLAN) wireless interface, a Wi-MAX (Worldwide Interoperability for Microwave Access) interface, an Ethernet interface, a Universal Serial Bus (USB) interface, a cellular network interface, a Bluetooth interface, a Near Field Communication (NFC) interface, and so on.

[0150] In one embodiment of this specification, the above-described components of the computing device 600 and Figure 6 Other components, not shown, can also be connected to each other, for example, via a bus. It should be understood that... Figure 6 The block diagram of the computing device shown is for illustrative purposes only and is not intended to limit the scope of this application. Those skilled in the art can add or replace other components as needed.

[0151] The computing device 600 can be any type of stationary or mobile computing device, including mobile computers or mobile computing devices (e.g., tablet computers, personal digital assistants, laptop computers, notebook computers, netbooks, etc.), mobile phones (e.g., smartphones), wearable computing devices (e.g., smartwatches, smart glasses, etc.) or other types of mobile devices, or stationary computing devices such as desktop computers or personal computers (PCs). The computing device 600 can also be a mobile or stationary server.

[0152] The processor 620 executes the computer instructions to implement the steps of the above-mentioned multi-servo synchronous control method.

[0153] The above is a schematic representation of a computing device according to this embodiment. It should be noted that the technical solution of this computing device and the technical solution of the aforementioned multi-servo synchronous control method belong to the same concept. Details not described in detail in the technical solution of the computing device can be found in the description of the technical solution of the aforementioned multi-servo synchronous control method.

[0154] An embodiment of this specification also provides a computer-readable storage medium storing computer instructions that, when executed by a processor, implement the steps of the multi-servo synchronous control method described above.

[0155] The above is an illustrative scheme of a computer-readable storage medium according to this embodiment. It should be noted that the technical solution of this storage medium belongs to the same concept as the technical solution of the multi-servo synchronous control method described above. For details not described in detail in the technical solution of the storage medium, please refer to the description of the technical solution of the multi-servo synchronous control method described above.

[0156] An embodiment of this specification also provides a computer program product, including a computer program or instructions that, when executed by a processor, implement the steps of the above-described multi-servo synchronous control method.

[0157] The above is an illustrative scheme of a computer program product according to this embodiment. It should be noted that the technical solution of this computer program product and the technical solution of the multi-servo synchronous control method described above belong to the same concept. For details not described in detail in the technical solution of the computer program product, please refer to the description of the technical solution of the multi-servo synchronous control method described above.

[0158] The various embodiments in this specification are described in a progressive manner, and the same or similar parts between the embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, for the apparatus and device embodiments, since they are basically similar to the method embodiments, the description is relatively simple, and relevant parts can be referred to the description of the method embodiments. The apparatus and device provided in the embodiments of this specification correspond to the methods; therefore, the apparatus and device also have similar beneficial technical effects as the corresponding methods. Since the beneficial technical effects of the methods have been described in detail above, the beneficial technical effects of the corresponding apparatus and device will not be repeated here.

[0159] The foregoing has described specific embodiments of this specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims may be performed in a different order than that shown in the embodiments and may still achieve the desired result. Furthermore, the processes depicted in the drawings do not necessarily require a specific or sequential order to achieve the desired result.

[0160] In the 1990s, improvements to a technology could be clearly distinguished as either hardware improvements (e.g., improvements to the circuit structure of diodes, transistors, switches, etc.) or software improvements (improvements to methodology). However, with technological advancements, many methodological improvements today can be considered direct improvements to hardware circuit structures. Designers almost always obtain the corresponding hardware circuit structure by programming the improved methodology into the hardware circuit. Therefore, it cannot be said that a methodological improvement cannot be implemented using hardware physical modules. For example, a Programmable Logic Device (PLD) (such as a Field Programmable Gate Array (FPGA)) is such an integrated circuit whose logic function is determined by the user programming the device. Designers can program a digital system themselves to "integrate" it onto a PLD, without needing chip manufacturers to design and manufacture dedicated integrated circuit chips. Furthermore, nowadays, instead of manually manufacturing integrated circuit chips, this programming is mostly implemented using "logic compiler" software. Similar to the software compiler used in program development, the original code before compilation must also be written in a specific programming language, called a Hardware Description Language (HDL). There are many HDLs, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, and RHDL (Ruby Hardware Description Language). Currently, the most commonly used are VHDL (Very-High-Speed ​​Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should also understand that by simply performing some logic programming on the method flow using one of these hardware description languages ​​and programming it into an integrated circuit, the hardware circuit implementing the logical method flow can be easily obtained.

[0161] The controller can be implemented in any suitable manner. For example, it can take the form of a microprocessor or processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro)processor, logic gates, switches, application-specific integrated circuits (ASICs), programmable logic controllers, and embedded microcontrollers. Examples of controllers include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicon Labs C8051F320. A memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art will also recognize that, in addition to implementing the controller in purely computer-readable program code form, the same functionality can be achieved by logically programming the method steps to make the controller take the form of logic gates, switches, application-specific integrated circuits, programmable logic controllers, and embedded microcontrollers. Therefore, such a controller can be considered a hardware component, and the means included therein for implementing various functions can also be considered as structures within the hardware component. Alternatively, the means for implementing various functions can be considered as both software modules implementing the method and structures within the hardware component.

[0162] The systems, devices, modules, or units described in the above embodiments can be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, a computer can be, for example, a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email device, game console, tablet computer, wearable device, or any combination of these devices.

[0163] For ease of description, the above devices are described separately by function as various units. Of course, in implementing this application, the functions of each unit can be implemented in one or more software and / or hardware.

[0164] Those skilled in the art will understand that one or more embodiments of this specification can be provided as a method, system, or computer program product. Therefore, the invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the invention can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0165] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0166] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0167] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0168] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0169] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0170] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital character versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0171] This application can be described in the general context of computer-executable instructions, such as program modules, that are executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform a specific task or implement a specific abstract data type. This application can also be practiced in distributed computing environments where tasks are performed by remote processing devices connected via a communication network. In distributed computing environments, program modules can reside in local and remote computer storage media, including storage devices.

[0172] The above description is merely an embodiment of this application and is not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.

Claims

1. A multi-servo synchronous control system, comprising a microcontroller unit, a multi-channel asynchronous transceiver expansion array, universal input / output signal lines, a serial peripheral interface bus, and multiple asynchronous servos; One end of the serial peripheral interface bus is connected to the multi-channel asynchronous transceiver expansion array, and the other end of the serial peripheral interface bus is connected to the microcontroller unit. The channels of the multi-channel asynchronous transceiver expansion array have channel buffer units that support clearing the transmit flow control function. One end of the general purpose input / output signal line is connected to the general purpose input / output pin of the microcontroller unit, and the other end of the general purpose input / output signal line is connected to the clear send pin of the channel; Each of the multiple asynchronous servos is independently connected to a corresponding channel in the multi-channel asynchronous transceiver extended array; The microcontroller unit is used to acquire target motion command information corresponding to each of the asynchronous servos, distribute the target motion command information to the corresponding channel buffer unit of the multi-channel asynchronous transceiver expansion array, output a synchronization trigger signal to the general input / output signal line, start the multi-channel asynchronous transceiver expansion array to synchronously send the target motion command information, and control each of the asynchronous servos to synchronously execute motion actions.

2. The multi-servo synchronous control system according to claim 1, wherein the microcontroller unit includes a timer, the timer being used to trigger the universal input / output signal line to output the synchronous trigger signal at a preset time.

3. In the multi-servo synchronous control system according to claim 1, the general-purpose input / output signal line is at a high level before the synchronization trigger signal is output, and the synchronization trigger signal is used to switch the general-purpose input / output signal line to a low level.

4. The multi-servo synchronous control system according to claim 1, wherein the multi-channel asynchronous transceiver expansion array includes multiple asynchronous transceiver expansion chips, each of the asynchronous transceiver expansion chips is connected to the microcontroller unit through the serial peripheral interface bus, and the general-purpose input / output signal lines are connected in parallel to the clear transmit pin of each of the asynchronous transceiver expansion chips.

5. The multi-servo synchronous control system according to claim 1, the system further includes a buffer circuit, the channel is connected to the asynchronous servo through the buffer circuit, and the buffer circuit is used to convert the full-duplex signal of the channel into a half-duplex signal.

6. A multi-servo synchronous control method, applied to a multi-servo synchronous control system, the multi-servo synchronous control system comprising: Microcontroller unit, serial peripheral interface bus, multi-channel asynchronous transceiver expansion array, general-purpose input / output signal lines, and multiple asynchronous servos; The microcontroller unit is connected to the multi-channel asynchronous transceiver expansion array via the serial peripheral interface bus. The general purpose input / output signal lines are driven by the general purpose input / output pins of the microcontroller unit and are connected in parallel to the clear transmit pins of each channel of the multi-channel asynchronous transceiver expansion array. Each channel of the multi-channel asynchronous transceiver expansion array is independently connected to one asynchronous servo motor. The method is executed by the microcontroller unit and includes: Obtain the target motion command information corresponding to each of the asynchronous servos; The target motion command information is distributed to the corresponding channel buffer unit of the multi-channel asynchronous transceiver extended array; Output a synchronous trigger signal to the general-purpose input / output signal line to start the multi-channel asynchronous transceiver extension array to synchronously send the target motion command information, thereby controlling each of the asynchronous servos to respond and synchronously execute motion actions.

7. The multi-servo synchronous control method according to claim 6, wherein the output synchronization trigger signal to the universal input / output signal line comprises: The synchronous trigger signal is output by triggering the general-purpose input / output pin via an interrupt.

8. The multi-servo synchronous control method according to claim 6, before acquiring the target motion command information corresponding to each of the asynchronous servos, the method further includes: Set the transmit trigger level value of the channel buffer unit; Set the flow control register of the multichannel asynchronous transceiver extension array to enable the clear transmission function of the channel.

9. The multi-servo synchronous control method according to claim 6, wherein the target motion command information includes the rotation angle information of the asynchronous servo.

10. The multi-servo synchronous control method according to claim 9, wherein the target motion command information further includes the rotational speed information of the asynchronous servo.

11. A computing device, comprising: Memory and processor; The memory is used to store computer programs or instructions, and the processor is used to execute the computer programs or instructions, wherein when the computer programs or instructions are executed by the processor, they implement the steps of the method according to any one of claims 6 to 10.

12. A computer-readable storage medium storing computer instructions that, when executed by a processor, implement the steps of the method according to any one of claims 6 to 10.

13. A computer program product comprising a computer program or instructions that, when executed by a processor, implement the steps of the method of any one of claims 6 to 10.