Motion control method and device of multi-joint robot, gateway, robot, and storage medium
By converting the control instructions of the real-time Ethernet protocol into the RS485 protocol and allocating communication time slots to the joint module of the multi-joint robot, the problems of overheating, frequency reduction, large size and high cost of real-time Ethernet chips are solved, and coordinated motion control of the multi-joint robot is realized, which improves the reliability and thermal stability of the system and reduces the overall cost.
Patent Information
- Application Number
- CN202411993276.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-31
- Publication Date
- 2025-04-01
AI Technical Summary
In the joint module drivers of existing multi-joint robots, real-time Ethernet chips have problems such as overheating and frequency reduction, excessive volume and high cost, and directly replaced by RS485 chips cannot achieve coordinated motion control of multiple joints.
By converting the first control instruction of the real-time Ethernet protocol into the second control instruction of the RS485 protocol and allocating a communication time slot to the joint module, the principle of time division multiplexing is used to ensure that each joint module exclusively has the communication bandwidth within the specified time slot, sending the second control instruction and receiving confirmation information.
It avoids communication conflicts, ensures real-time data transmission, and makes up for the shortcomings of the RS485 chip that cannot be used in multi-joint coordinated motion scenarios due to the lack of distributed clock synchronization mechanism and non-real-time nature. At the same time, the RS485 chip has a higher operating temperature upper limit, lower cost, and a smaller size than the real-time Ethernet communication chip, which improves the reliability and thermal stability of the system, reduces the overall cost, and is conducive to the miniaturization of robots.
Smart Images

Figure CN119734270A_ABST
Abstract
Description
Background Art
[0002] An articulated robot is a mechanical system composed of multiple joint modules (usually rotational or linear degrees of freedom). The joint modules of an articulated robot are usually composed of motors, drivers, sensors, and reducers, which provide precise control and powerful power support for the system, thereby achieving complex multi-degree-of-freedom motion and task execution.
[0003] At present, the joint module driver usually uses real-time Ethernet chips such as EtherCat chips as communication chips. However, the inventors found that there are some areas for improvement in real-time Ethernet chips in practical applications. Taking the EtherCAT chip as an example, it has the following problems in practical applications:
[0004] First, the upper limit of the operating temperature of the EtherCAT chip is relatively low. In high temperature environments or long-term continuous operation, it is prone to overheating and frequency reduction problems; frequency reduction will cause the communication rate to decrease, affecting the real-time data transmission and control of the joint module, which may cause equipment failures and errors, leading to downtime or even personal safety accidents. Second, the EtherCAT chip is larger than other chips such as RS485 chips and CAN communication chips, which leads to a larger drive space, increases the complexity of the drive design, and affects the miniaturization of the robot joint module. Third, the hardware cost of the EtherCAT chip itself is relatively high, which leads to an increase in the overall cost of the robot. Most other real-time Ethernet chips used in multi-joint robots also have similar problems.
[0005] In addition, if the real-time Ethernet chip is directly replaced with an RS485 chip, the coordinated motion control of multiple joints will not be completed due to communication conflicts, lack of distributed clock synchronization mechanism, and non-real-time performance of the RS485 chip. Summary of the invention
[0006] The present invention provides a motion control method and device for a multi-joint robot, a gateway, a robot, and a storage medium, aiming to solve the problems in the related art that the communication chip of the joint module driver is prone to overheating and frequency reduction, is too large in size, and has high cost.
[0007] Additional aspects and advantages of the disclosure will be set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of the disclosure.
[0008] According to a first aspect of the present disclosure, a motion control method for a multi-joint robot is provided, which is applied to a multi-joint robot including a plurality of joint modules, wherein the driver of the joint module is integrated with an RS485 chip, and the motion control method comprises:
[0009] Receiving and parsing the first control instruction directed to each of the joint modules sent by the real-time Ethernet main controller to obtain parsed content;
[0010] Determine each joint module pointed to by the first control instruction based on the analyzed content; wherein each joint module is allocated a communication time slot;
[0011] Convert the parsed content into a plurality of second control instructions respectively pointing to each of the joint modules and in RS485 protocol;
[0012] According to the order of the communication time slots, the corresponding second control instruction is sent to the driver of the joint module assigned to the communication time slot in each communication time slot, and a confirmation signal fed back by the driver of the joint module is received in the communication time slot.
[0013] In an exemplary embodiment of the present disclosure, the motion control method further includes:
[0014] Determine the minimum global communication period;
[0015] Dividing the minimum global communication cycle into a plurality of communication time slots;
[0016] At least one communication time slot is allocated to each of the joint modules.
[0017] In an exemplary embodiment of the present disclosure, allocating at least one communication time slot to each joint module includes:
[0018] At least one communication time slot is allocated to each joint module according to the control instruction message length and the communication parameters of each joint module.
[0019] In an exemplary embodiment of the present disclosure, allocating at least one communication time slot to each joint module according to the control instruction message length and the communication parameters of each joint module includes:
[0020] For any of the joint modules, determining the data transmission time corresponding to the joint module according to the message length and the communication parameters of the joint module;
[0021] According to the data transmission time and drift compensation corresponding to the joint module, the number of communication time slots allocated to the joint module is calculated.
[0022] In an exemplary embodiment of the present disclosure, the first control instruction is transmitted via a high-speed real-time communication bus; the second control instruction is transmitted via an RS485 bus; and the motion control method further comprises:
[0023] The drift compensation is calculated based on the synchronous drift of the high-speed real-time communication bus and the RS485 bus and the synchronous drift between each of the joint modules.
[0024] In an exemplary embodiment of the present disclosure, the number of the communication time slots is the same as the number of the joint modules, and one communication time slot is allocated to each joint module.
[0025] In an exemplary embodiment of the present disclosure, the motion control method further includes:
[0026] When the joint module is the last joint module to communicate in the current communication cycle, a synchronization start signal is sent to the drivers of all the joint modules to trigger the synchronous execution of each of the second control instructions.
[0027] In an exemplary embodiment of the present disclosure, the motion control method further includes:
[0028] Receiving a first execution feedback signal sent by a driver of each joint module through the RS485 chip;
[0029] Convert each of the first execution feedback information into a second execution feedback signal of a real-time Ethernet protocol;
[0030] The second execution feedback signal is uploaded to the real-time Ethernet main controller.
[0031] In an exemplary embodiment of the present disclosure, the real-time Ethernet master controller is an EtherCAT master station, an EtherNet master controller or a SERCOS III master device.
[0032] In an exemplary embodiment of the present disclosure, the motion control parameters of each of the joint modules are stored in the data load part of the first control instruction message according to a preset order; wherein the preset order is related to the order of the communication time slots allocated to each of the joint modules.
[0033] In an exemplary embodiment of the present disclosure, the preset sequence is acquired by the real-time Ethernet main controller during the initialization phase of the multi-joint robot.
[0034] In an exemplary embodiment of the present disclosure, the confirmation signal includes an ACK signal, a single-byte confirmation signal, or a level-form confirmation signal.
[0035] In an exemplary embodiment of the present disclosure, the motion control method further includes:
[0036] When the received confirmation signal meets the preset condition, it is confirmed that the sending of the second control signal is completed.
[0037] According to a second aspect of the present disclosure, a motion control method for a multi-joint robot is provided, which is applied to a multi-joint robot including a plurality of joint modules, and the motion control method comprises:
[0038] Receiving a second control instruction as described in any one of the above items;
[0039] In response to receiving the synchronization start signal, the second control instruction is executed.
[0040] In an exemplary embodiment of the present disclosure, the motion control method further includes:
[0041] Parsing the second control instruction to obtain the joint module identifier in the second control instruction;
[0042] If the joint module identifier matches the current joint module, it is confirmed that the second control instruction points to the current joint module.
[0043] In an exemplary embodiment of the present disclosure, the motion control method further includes:
[0044] If the joint module identifier matches the current joint module, a confirmation message is sent to the gateway to confirm receipt of the second control instruction.
[0045] In an exemplary embodiment of the present disclosure, the motion control method further includes:
[0046] The driver generates a first execution feedback signal according to the running state of the motor, and sends it to the gateway through the 485 chip.
[0047] According to a third aspect of the present disclosure, a motion control method for a multi-joint robot is provided, which is applied to a multi-joint robot including a plurality of joint modules, wherein the driver of the joint module is integrated with an RS485 chip, and the motion control method comprises:
[0048] The real-time Ethernet main controller generates a first control instruction directed to each of the joint modules according to the action plan;
[0049] The real-time Ethernet slave controller receives and parses the first control instruction sent by the real-time Ethernet master controller and directed to each of the joint modules to obtain parsed content;
[0050] The processor obtains the joint module pointed to by the first control instruction based on the parsed content; wherein each of the joint modules is allocated a communication time slot;
[0051] Convert the parsed content into a plurality of second control instructions respectively pointing to each of the joint modules and in RS485 protocol;
[0052] In the order of the communication time slots, the corresponding second control instruction is sent to the driver of the joint module assigned to the communication time slot in each communication time slot;
[0053] The driver of each joint module parses the second control instruction to obtain the joint module identifier in the second control instruction;
[0054] If the joint module identifier matches the current joint module, confirm that the second control instruction points to the current joint module and feed back a confirmation signal to the processor within the allocated communication time slot;
[0055] The second control instruction is executed in response to receiving the synchronization start signal.
[0056] According to a fourth aspect of the present disclosure, a motion control device of a multi-joint robot is provided, which is applied to a multi-joint robot including a plurality of joint modules, wherein the driver of the joint module is integrated with an RS485 chip, and the motion control device comprises:
[0057] An instruction parsing module is used to receive and parse the first control instruction sent by the real-time Ethernet main controller and directed to each of the joint modules to obtain parsed content;
[0058] A joint module determination module, used to determine each joint module pointed to by the first control instruction based on the parsed content; wherein each of the joint modules is allocated a communication time slot;
[0059] A protocol conversion module, used for converting the parsed content into a plurality of second control instructions respectively pointing to each of the joint modules and being of RS485 protocol;
[0060] The instruction transmission module is used to send the corresponding second control instruction to the driver of the joint module allocated to the communication time slot in each communication time slot in the order of the communication time slots, and receive the confirmation signal fed back by the driver of the joint module in the communication time slot.
[0061] According to a fifth aspect of the present disclosure, a gateway is provided, which is applied to a multi-joint robot including a plurality of joint modules, wherein the driver of the joint module is integrated with an RS485 chip, and the gateway comprises:
[0062] A real-time Ethernet communication chip, used for receiving and parsing a first control instruction sent by a real-time Ethernet main controller and directed to each of the joint modules, to obtain parsed content;
[0063] A processor is used to obtain the joint module pointed to by the first control instruction based on the parsed content, and determine the communication time slot allocated to each joint module; convert the parsed content into multiple second control instructions respectively pointing to each joint module and of RS485 protocol; and, in the communication time slot of each joint module, send each second control instruction to the driver of the joint module, and according to the confirmation signal fed back by the driver of the joint module.
[0064] According to a sixth aspect of the present disclosure, there is provided a multi-joint robot, comprising:
[0065] A plurality of joint modules, each of which has a driver integrated with an RS485 chip; and
[0066] The gateway as described in any one of the above items is communicatively connected to the real-time Ethernet main controller via a high-speed real-time communication bus and is communicatively connected to each of the RS485 chips via an RS485 bus.
[0067] In an exemplary embodiment of the present disclosure, the robot includes any one of a legged robot, a quadrupedal robot, a bipedal robot, a wheeled robot, a wheel-legged robot, a quadrupedal robot, a humanoid robot, a cleaning robot, a transport robot, a mobile robot and a robotic arm.
[0068] According to the seventh aspect of the present disclosure, a computer-readable storage medium is provided, on which computer program code instructions are stored. When the computer program code instructions are called by a processor of a robot, the robot executes a motion control method as described in any one of the above.
[0069] It can be seen from the above technical solution that the present disclosure has at least one of the following advantages and positive effects:
[0070] The motion control method of the multi-joint robot in the exemplary embodiment of the present disclosure, by converting the first control instruction of the real-time Ethernet protocol into the second control instruction of the RS485 protocol, and, assigning communication time slots to the joint modules, using the principle of time division multiplexing to ensure that each joint module monopolizes the communication bandwidth in the specified time slot to send the second control instruction and receive confirmation information, avoiding the communication conflict caused by the uplink communication and downlink communication of multiple joint modules in the same communication period, and ensuring the real-time performance of data transmission, thereby making up for the defect that the RS485 chip cannot be applied to the multi-joint coordinated motion scene due to the lack of distributed clock synchronization mechanism and non-real-time performance. After this defect of the RS485 chip is made up, the real-time Ethernet communication chip in the joint module driver of the multi-joint robot can be replaced with the RS485 chip. Compared with the real-time Ethernet communication chip, the RS485 chip has a higher upper limit of operating temperature, can run stably in a high temperature environment without overheating and frequency reduction, thereby improving the reliability and thermal stability of the system. Secondly, compared with the high cost of real-time Ethernet communication chips, RS485 chips are cheaper, and the hardware development and maintenance costs are also lower, which significantly reduces the cost of joint modules and the entire robot. In addition, the RS485 chip is smaller than the real-time Ethernet communication chip, which effectively reduces the size of the joint module driver, making the overall structure of the robot more compact, which is conducive to the miniaturization and spatial adaptability of the robot. BRIEF DESCRIPTION OF THE DRAWINGS
[0071] In order to more clearly illustrate the technical solutions in the embodiments of the present disclosure, the drawings required for use in the embodiments or related technical descriptions will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present disclosure. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.
[0072] Figure 1 This is a system architecture block diagram of an application environment of a motion control method and device for a multi-joint robot in an embodiment of the present disclosure;
[0073] Figure 2 Schematic diagram of the flow of a motion control method for a multi-joint robot in one embodiment of the present disclosure;
[0074] Figure 3 Schematic diagram of the flow of a motion control method for a multi-joint robot in one embodiment of the present disclosure;
[0075] Figure 4 Schematic diagram of the flow of a motion control method for a multi-joint robot in one embodiment of the present disclosure;
[0076] Figure 5Schematic diagram of the flow of a motion control method for a multi-joint robot in one embodiment of the present disclosure;
[0077] Figure 6 is a structural block diagram of a gateway according to an embodiment of the present disclosure;
[0078] Figure 7 is a structural block diagram of a robot according to an embodiment of the present disclosure;
[0079] Figure 8 is a schematic diagram of a robot according to an embodiment of the present disclosure;
[0080] Fig. 9 is a schematic diagram of a robot according to another embodiment of the present disclosure;
[0081] Fig.10 is a schematic diagram of a robot according to yet another embodiment of the present disclosure;
[0082] Fig.11 This is a structural block diagram of a motion control device for a multi-joint robot in one embodiment of the present disclosure;
[0083] Fig.12 The structure block diagram of the electronic device according to some embodiments of the present disclosure is schematically shown;
[0084] Fig.13 is a schematic diagram of a computer-readable storage medium according to some embodiments of the present disclosure.
[0085] In the drawings, the same or corresponding reference numerals represent the same or corresponding parts. DETAILED DESCRIPTION
[0086] In the description of the present invention, terms such as "center", "longitudinal", "lateral", "length", "width", "thickness", "up", "down", "front", "back", "left", "right", "vertical", "horizontal", "clockwise", "counterclockwise", "axial", "radial", etc. indicating directions or positional relationships are based on the drawings and are only for the convenience of description and simplified description. They do not mean that the device or element must have a specific direction, be constructed and operated in a specific direction, and cannot be regarded as a limitation of the present invention.
[0087] The terms "first" and "second" are used for description only and do not indicate relative importance or imply the number of technical features. Therefore, the "first" and "second" features may explicitly or implicitly include at least one of the features. The meaning of "plurality" is at least two, unless otherwise explicitly defined.
[0088] Unless otherwise specified, the terms "installed", "connected", "connected", "fixed", etc. should be understood in a broad sense, and may be fixedly connected, detachably connected, or integrated; may be mechanically connected, electrically connected, or able to communicate with each other; may be directly connected or indirectly connected through an intermediate medium, and may be the internal connectivity of two elements or the interaction relationship between two elements.
[0089] In the present invention, when a first feature is “above” or “below” a second feature, it may be that the first and second features are in direct contact, or the first and second features are in indirect contact through an intermediate medium. Moreover, when a first feature is “above”, “above” or “above” a second feature, it may be that the first feature is directly above or obliquely above the second feature, or it may simply mean that the first feature is higher in level than the second feature. When a first feature is “below”, “below” or “below” a second feature, it may be that the first feature is directly below or obliquely below the second feature, or it may simply mean that the first feature is lower in level than the second feature.
[0090] Figure 1 The schematic diagram shows the system architecture of an exemplary application environment in which the motion control method and motion control device of a multi-joint robot according to the embodiment of the present disclosure can be applied. Figure 1 As shown, the system architecture 100 may include a real-time Ethernet main controller 110, a gateway 120, and a plurality of joint modules 130. Among them, the real-time Ethernet main controller 110 is used to generate a first control instruction of the real-time Ethernet protocol, and transmit the first control instruction to the gateway 120 through a high-speed real-time communication bus. The real-time Ethernet main controller 110 is responsible for coordinating the motion control of each joint module in the multi-joint robot; the real-time Ethernet main controller is usually composed of one or more devices with high-performance computing capabilities, which can be industrial computers, PLCs (programmable logic controllers), embedded controllers, or other devices that can support the real-time Ethernet protocol. In this exemplary embodiment, the real-time Ethernet protocol is an EtherCAT protocol as an example for explanation, that is, the real-time Ethernet main controller is an EtherCAT master station, and the high-speed real-time communication bus is an EtherCAT bus. However, in other exemplary embodiments of the present disclosure, the real-time Ethernet protocol may also be other real-time Ethernet protocols that can be applied in high-precision motion control scenarios, such as the EtherNet protocol or the SERCOS III protocol; accordingly, the real-time Ethernet main controller may be other similar main controllers such as the EtherNet master controller or the SERCOS III master device.
[0091] The gateway 120 is used to parse and convert the first control instruction sent by the real-time Ethernet main controller 110 into the second control instruction of the RS485 protocol and is responsible for receiving the execution signal fed back by the joint module and converting it into the real-time Ethernet protocol format and uploading it to the real-time Ethernet main controller 110 to realize the two-way communication of uplink and downlink data. The joint module 130 includes a driver 131 and a motor 132; Of course, other necessary components such as a reducer can also be included. The driver 131 is integrated with an RS485 chip for receiving the second control instruction of the RS485 protocol from the gateway 120, and converting it into a control signal of the motor, such as PWM (pulse width modulation) or current / voltage signal, and then controlling the action of the motor 132. The motor 132 is the actuator of the joint module 130, which can complete precise rotation or linear motion under the control of the driver 131, thereby realizing the coordinated operation of the multi-joint robot; the reducer is usually connected to the motor to increase the output torque and reduce the speed to achieve precise control. In this exemplary embodiment, there is no special restriction on the number of joint modules 130; in addition, the illustrated system architecture only includes one gateway; but in other exemplary embodiments of the present disclosure, multiple gateways 120 may also be included, and each gateway 120 is connected to multiple joint modules 130, which also falls within the scope of protection of the present disclosure.
[0092] refer to Figure 2 As shown, the motion control method of the multi-joint robot in this exemplary embodiment is applied to a multi-joint robot including multiple joint modules. In this exemplary embodiment, the motion control method shown in the figure can be executed by the above-mentioned gateway 120; however, in other embodiments, it can also be executed by other modules or by multiple modules in cooperation, and this exemplary embodiment does not impose any special restrictions on this. The motion control method shown in the figure mainly includes the following steps:
[0093] Step S210, receiving and parsing the first control instruction directed to each of the joint modules sent by the real-time Ethernet main controller to obtain parsed content;
[0094] Step S220, obtaining the joint module pointed to by the first control instruction based on the parsed content; wherein each of the joint modules is allocated a communication time slot;
[0095] Step S230, converting the parsed content into a plurality of second control instructions respectively pointing to each of the joint modules and in RS485 protocol;
[0096] Step S240, in the order of the communication time slots, send the corresponding second control instruction to the driver of the joint module assigned to the communication time slot in each communication time slot, and receive the confirmation signal fed back by the driver of the joint module in the communication time slot; wherein, the driver of the joint module of the multi-joint robot is integrated with an RS485 chip.
[0097] The motion control method of the multi-joint robot in this exemplary embodiment, by converting the first control instruction of the real-time Ethernet protocol into the second control instruction of the RS485 protocol, and, assigning communication time slots to the joint modules, using the principle of time division multiplexing to ensure that each joint module monopolizes the communication bandwidth in the specified time slot to send the second control instruction and receive confirmation information, avoiding the communication conflict caused by the uplink communication and downlink communication of multiple joint modules in the same communication period, and ensuring the real-time performance of data transmission, thereby making up for the defect that the RS485 chip cannot be applied to the multi-joint coordinated motion scene due to the lack of distributed clock synchronization mechanism and non-real-time performance. After this defect of the RS485 chip is made up, the real-time Ethernet communication chip in the joint module driver of the multi-joint robot can be replaced with the RS485 chip. Compared with the real-time Ethernet communication chip, the RS485 chip has a higher upper limit of operating temperature, can run stably in a high temperature environment without overheating and frequency reduction, and thus can improve the reliability and thermal stability of the system. Secondly, compared with the high cost of the real-time Ethernet communication chip, the RS485 chip is cheaper, and the hardware development and maintenance costs are also lower, which significantly reduces the cost of the joint module and the entire robot. In addition, the RS485 chip is smaller than the real-time Ethernet communication chip, which effectively reduces the size of the joint module driver and makes the overall structure of the robot more compact, which is conducive to the miniaturization and spatial adaptability of the robot.
[0098] Next, the motion control method of the multi-joint robot in this example embodiment is described in more detail.
[0099] In step S210, a first control instruction directed to each of the joint modules and sent by the real-time Ethernet main controller is received and parsed to obtain parsed content.
[0100] In this exemplary embodiment, each data frame (Frame) of the first control instruction may include a joint module identifier, a synchronization field, a control field, a data field, and a CRC (Cyclic Redundancy Check) check field, etc. The joint module identifier may be a unique identifier (ID) or other identification information such as a unique address information (MAC). The data field may include motion control parameters required for motion control, such as target position, speed, acceleration, and torque set point, etc. The motion control parameters may be determined according to the action planning of the joint module in the current communication cycle and the execution feedback signal uploaded in the previous communication cycle. It should be noted that even if the joint module maintains the motion state unchanged, it is necessary to fill in the identifier and motion control parameters in the message according to the preset format to ensure the compatibility of communication consistency, state synchronization, and system expansion, and to provide guarantee for accurate control and real-time feedback of subsequent cycles.
[0101] After the real-time Ethernet main controller generates the first control instruction, it can be sent to the gateway via a high-speed real-time communication bus. In this exemplary embodiment, the gateway may include a real-time Ethernet communication chip and an MCU (Micro Controller Unit). Among them, the real-time Ethernet communication chip receives and parses the first control instruction sent by the real-time Ethernet main controller to obtain the parsed content. Based on the parsed content, the MCU can obtain information such as the above-mentioned joint module identification and motion control parameters.
[0102] In addition, the real-time Ethernet communication chip will also verify the received first control instruction, such as calculating and verifying the CRC code of the first control instruction, to ensure the integrity and correctness of the instruction, and effectively prevent the data from being damaged or tampered with during transmission. If any verification error or data mismatch occurs, the gateway can request the real-time Ethernet main controller to resend the instruction or take remedial measures through the retransmission mechanism to ensure the reliability of the instruction.
[0103] In step S220, each joint module to which the control instruction points is determined based on the analyzed content; wherein each joint module is allocated a communication time slot.
[0104] In this exemplary embodiment, each joint module is allocated at least one communication time slot. In the allocated communication time slot, the joint module can monopolize the communication bandwidth for transmission, thereby avoiding communication conflicts. An exemplary configuration of the communication time slot is described below:
[0105] First, determine the minimum global communication cycle. In this exemplary embodiment, a real-time Ethernet communication chip (such as EtherCAT chip) can be selected to generate a global clock source to provide a unified time reference for the entire network. Of course, in some exemplary embodiments, the global clock source can also be generated by the real-time Ethernet master controller and broadcast to the gateway and all joint modules, and no special restrictions are made to this in this exemplary embodiment. After generating the global clock source, the minimum global communication cycle can be determined in combination with factors such as the data transmission demand, the number of joint modules, the message length, and the communication rate in the system.
[0106] For example, in the EtherCAT communication framework, the system usually requires that each joint module completes command transmission and feedback within one cycle. The minimum global communication cycle can be expressed as:
[0107]
[0108] Among them, L 报文 is the control command message length of a single joint module, R 传输速率 is the transmission rate of the communication link, N 关节模组 is the total number of joint modules, T 同步漂移 It is the total time compensation for various types of synchronization drift in the system.
[0109] Secondly, the minimum global communication cycle is divided into a plurality of communication time slots of equal length. In this exemplary embodiment, the division of the communication time slots is based on TDMA (Time Division Multiple Access) technology, and each time slot is reasonably allocated to ensure that multiple joint modules do not have communication conflicts in the same communication cycle. Assuming that the global communication cycle is 500 μs and includes 4 joint modules, the communication time slot length of each joint module can be calculated as:
[0110]
[0111] Since the time compensation of various drifts has been considered in the above minimum communication cycle, the length of the time slot after division can not only meet the transmission requirements, but also provide appropriate redundancy to avoid the impact of synchronization drift on communication. In addition, in the above exemplary embodiment, the minimum communication cycle is divided into communication time slots of equal length. However, in the case of unbalanced load, communication time slots of different lengths can be divided according to the priority and data volume of the device, and there is no special restriction on this in this exemplary embodiment.
[0112] Secondly, at least one communication time slot is allocated to each joint module according to the control instruction message length and the communication parameters of each joint module.
[0113] The length of the control instruction message directly affects the time required for a single data transmission, while the communication parameters include characteristics such as transmission rate and hardware delay. In this exemplary embodiment, for any joint module, the data transmission time corresponding to the joint module can be determined based on the above message length and the communication parameters of the joint module; then, the number of communication time slots allocated to the joint module is calculated based on the data transmission time corresponding to the joint module and the drift compensation. For example:
[0114] The data transmission time can be calculated by the following formula:
[0115]
[0116] Combined with the drift compensation time, the number of allocated communication time slots can be further expressed as:
[0117]
[0118] For example, in this exemplary embodiment, the RS485 chip transmission rate can be set to 6Mbps, and the message length can be set to 32 bytes, including 3 bytes of asynchronous data and 29 bytes of synchronous data. The asynchronous data is used to transmit device status information or non-real-time data, while the synchronous data is used to transmit real-time control instructions. Such communication parameter configuration can achieve a good balance between real-time performance, efficiency and cost, reduce communication overhead and reduce bus load. Under such communication parameter settings, the single data transmission time is:
[0119]
[0120] The first control instruction is transmitted via the EtherCAT bus, and the second control instruction is transmitted via the RS485 bus. However, due to the different protocols and physical layer characteristics between EtherCAT and RS485, synchronization drift may occur. This exemplary embodiment is verified by theoretical calculation and oscilloscope measurement to obtain a synchronization drift of 46μs between EtherCAT and RS485, and a synchronization drift of 6.2μs between each joint module. The number of communication time slots allocated to the joint module is:
[0121]
[0122] In this exemplary embodiment, after determining the number of communication time slots allocated to the joint modules, the communication time slots can be numbered according to the numbering order of the joint modules to ensure that after the control instructions are transmitted according to the numbering order of the communication time slots, each joint module can receive the control instructions in the same order.
[0123] Furthermore, in this exemplary embodiment, after determining the joint modules pointed to by the first control instruction based on the joint module identification in the parsed content (such as a unique identifier (ID) or unique address information (MAC), etc.), the communication time slot required for subsequent sending of control instructions corresponding to these joint modules can be determined.
[0124] In some exemplary embodiments, after determining the order of the communication time slots assigned to each of the joint modules, the real-time Ethernet master controller can obtain the order of the communication time slots through the handshake process during the initialization phase of the multi-joint robot, and then set the storage order of the motion control parameters of each joint module in the message of the first control instruction according to the order of the communication time slots. That is, the motion control parameters of each joint module are stored in the data load part of the first control instruction message in a preset order; wherein the preset order is related to the order of the communication time slots assigned to each joint module.
[0125] For example, assume that the order of the communication time slots allocated to joint modules 1 to 4 is: the communication time slot of joint module 4, the communication time slot of joint module 3, the communication time slot of joint module 2, and the communication time slot of joint module 1. During the initialization phase of the multi-joint robot, such as each time it is powered on or restarted, the real-time Ethernet master controller can obtain the order of the communication time slots through the handshake process, and then control the storage order of the motion control parameters of each joint module in the message of the first control instruction as follows:
[0126] [Joint module 4 identification][Joint module 4 position][Joint module 4 speed][Joint module 4 torque][……];
[0127] [Joint module 3 identification][Joint module 3 position][Joint module 3 speed][Joint module 3 torque][……];
[0128] [Joint module 2 identification][Joint module 2 position][Joint module 2 speed][Joint module 2 torque][……];
[0129] [Joint module 1 identification][Joint module 1 position][Joint module 1 speed][Joint module 1 torque][……].
[0130] In this way, after parsing the first control instruction message, since the motion control parameters have been stored in the preset communication time slot order, it is only necessary to convert and send the corresponding data to each joint module one by one according to the parsed order, without the need to dynamically confirm the communication time slot of each joint module again. This design can effectively reduce the complexity and delay in real-time communication, avoid the additional overhead caused by the reallocation of communication time slots, and also reduce the uncertainty in system operation.
[0131] In step S230, the parsed content is converted into a plurality of second control instructions respectively directed to each of the joint modules and in RS485 protocol.
[0132] RS485 protocol is a half-duplex communication protocol. Its data frame structure usually includes start bit, data segment, check bit and stop bit, which is different from EtherCAT. Therefore, it is necessary to convert and encapsulate the parsed content through MCU to adapt to the message format of RS485 protocol. For example, the identifier of each joint module can be used as a field in the message header to indicate the target pointed to by each second control instruction. Motion control parameters such as position, speed, acceleration and torque set point will occupy fields of specific lengths, such as floating point or fixed point numbers. Assuming that the message length is 32 bytes, 29 bytes of which are used for synchronization data, these parameters will be arranged in a predetermined order to ensure that the receiving end can correctly parse the meaning of each field. In order to adapt to the physical layer specification of RS485 communication, the motion control parameters also need to be converted into binary form and arranged in the bit order specified by the RS485 protocol. In addition, in order to ensure the integrity of the transmitted data, the conversion process can also generate a check code and append it to the end of the message. The calculation method of the check code may adopt a cyclic redundancy check (CRC) algorithm or an XOR check algorithm, which is not particularly limited in this exemplary embodiment.
[0133] In step S240, the corresponding second control instruction is sent to the driver of the joint module assigned to the communication time slot in each communication time slot in the order of the communication time slots, and a confirmation signal fed back by the driver of the joint module is received in the communication time slot.
[0134] In this exemplary embodiment, the driver of the joint module of the multi-joint robot is integrated with an RS485 chip, so the second control instruction transmitted by the gateway can be received through the RS485 bus. In this exemplary embodiment, sending the second control instruction to the driver of the joint module may include: first, the communication time slots are usually distributed in chronological order, therefore, in this exemplary embodiment, the corresponding second control instruction can be sent to the driver of the joint module assigned to the communication time slot in each communication time slot in the order of distribution of the communication time slots; secondly, according to the confirmation signal fed back by the driver of the joint module. For example, the confirmation signal can be an ACK (Acknowledge Character) signal; the ACK signal can be sent in the form of a standard protocol data frame, and can include a flag bit for confirmation, a joint module identifier, status information, etc. For example, the ACK signal is [0x02][0x06][stop bit], where 0x02 is the joint module identifier, and 0x06 is the ACK confirmation mark, which is used to indicate that the instruction is received successfully; the stop bit is used to mark the end of the data frame; further, if the confirmation signal received by the gateway meets the preset conditions, that is, includes the confirmation mark 0x06, it can be confirmed that the occurrence of the second control signal is completed. In addition, in some exemplary embodiments, the confirmation signal can also be a single-byte confirmation signal or a confirmation signal in the form of a level signal, which also belongs to the protection scope of the present disclosure. For example, a single-byte confirmation signal indicates the receiving state by sending a byte of a fixed length, usually a specific byte value (such as 0x06). If the gateway receives the byte value 0x06, it can be confirmed that the sending of the second control signal is completed. The level confirmation signal indicates the receiving result of the instruction through the level change or fixed level state on the physical layer; on the RS485 bus, a high level can be used to indicate successful sending, and a low level can be used to indicate failed sending. Further, if the gateway receives a high-level signal on the RS485 bus, it can be confirmed that the sending of the second control signal is completed.
[0135] Based on RS485 protocol, only one device can be in the sending state at any time on RS485 bus, and all other devices should be in the listening state. In this exemplary embodiment, because joint module has the communication time slot assigned for it, in the assigned communication time slot, joint module can monopolize the communication bandwidth transmission, that is, only joint module is in the sending state, so the driver of joint module can smoothly send the above-mentioned confirmation signal to gateway, complete the complete sending process of the second control instruction in the assigned communication time slot. On the contrary, if multiple joint modules share the communication time slot, then there may be a situation that multiple joint modules send confirmation signals to gateway at the same time, causing communication conflict.
[0136] It should be noted that in this exemplary embodiment, after receiving the second control instruction, the driver of the joint module does not execute it immediately, but enters a waiting state waiting for the synchronization start signal to be triggered, thereby ensuring that all joint modules execute their respective control instructions within the same time frame, thereby achieving high-precision coordinated movement of the multi-joint robot.
[0137] For example, this exemplary embodiment can send a synchronization start signal to the drivers of all the joint modules when the joint module is the last joint module to communicate in the current communication cycle to trigger the synchronous execution of each of the second control instructions.
[0138] For example, the gateway detects the communication queue in the current communication cycle, confirms that the last joint module has completed data transmission, and triggers the generation of a synchronization start signal. At this time, the gateway generates a synchronization start signal containing a timestamp based on the time reference of the global clock source to ensure the coordination of the actions of the entire system. The timestamp is usually represented by 32-bit integer data, which is used to mark the time point of the trigger to ensure that each joint module can accurately calibrate the execution time of the action after receiving the signal. Next, the RS485 chip of the gateway encodes the synchronization start signal into a frame structure, which includes a frame header, a synchronization timestamp field, a control field, a check field, etc. The frame header identifies the current signal as a synchronization start signal, the timestamp field provides a reference time for global synchronization, and the control field indicates the control mode executed by the joint module, such as starting to execute the second control instruction.
[0139] The driver of each joint module monitors the signal on the RS485 bus through the RS485 chip. After receiving the above-mentioned synchronization start signal, the local clock is calibrated by parsing the timestamp and control field to ensure synchronization with the global clock. The second control instruction has been issued through the RS485 bus during the communication cycle and stored inside the driver. Therefore, after completing the time calibration, the driver can trigger the execution of the second control instruction according to the control field of the synchronization start signal. Taking the position control mode as an example, the driver generates a corresponding voltage signal through the PWM controller to drive the motor and control it to rotate to the target position. For multiple joint modules operating synchronously, due to the existence of timestamp calibration, each joint module can execute control instructions simultaneously with microsecond synchronization accuracy to achieve coordinated movement of multiple joints of the robot.
[0140] In this exemplary embodiment, after executing the second control instruction, the driver of the joint module can also upload the execution result to the real-time Ethernet main controller so that the real-time Ethernet main controller can generate a new control instruction. For example:
[0141] First, the gateway receives the first execution feedback signal sent by the driver of each joint module through the RS485 chip. In this exemplary embodiment, the feedback signal can be generated by the driver of the joint module, and the content can include the real-time operating status of the motor (such as current angle, speed, acceleration), working mode, status flag (such as fault detection flag) and check code, etc. The driver of the joint module collects the operating data of the motor through the internal sensor module (such as rotary encoder, speed sensor, etc.), and packages it into the first execution feedback signal in the processor of the driver according to the frame structure of the RS485 protocol.
[0142] Secondly, each of the first execution feedback information is converted into a second execution feedback signal of the real-time Ethernet protocol. In this exemplary embodiment, the gateway can parse the fields in the RS485 feedback signal, including the joint module identification, operating status, motion parameters, etc., and convert them into the format required by the real-time Ethernet protocol. For example, the data frame of the real-time Ethernet protocol generally includes a synchronization management object (SMO) and a process data object (PDO), which are used to transmit real-time data. The gateway maps the 29-byte synchronization data in the RS485 feedback signal to the PDO object, and fills in the check field and other protocol-specific flags according to the requirements of the real-time Ethernet protocol.
[0143] Finally, the real-time Ethernet communication chip sends the second execution feedback signal to the real-time Ethernet main controller through the high-speed real-time communication bus.
[0144] refer to Figure 3 As shown, in another exemplary embodiment of the present disclosure, another motion control method of a multi-joint robot is also provided, which is applied to a multi-joint robot including a plurality of joint modules, and the motion control method includes:
[0145] Step S310, receiving the second control instruction described in the above exemplary embodiment. In this exemplary embodiment, the driver of the joint module of the multi-joint robot is integrated with an RS485 chip, so the second control instruction transmitted by the gateway can be received through the RS485 bus.
[0146] In this exemplary embodiment, the gateway will send each second control instruction in sequence through the RS485 bus; therefore, the driver of the joint module needs to identify the instruction pointing to itself. For example, the driver of the joint module can parse the received second control instruction and obtain the joint module identifier in the second control instruction; if the joint module identifier matches the current joint module, it is confirmed that the second control instruction points to the current joint module, and then the second control instruction can be stored in the register to wait for the subsequent synchronization start signal. At the same time, if the joint module identifier matches the current joint module, the driver of the joint module will also send a confirmation message to the gateway to confirm receipt of the second control instruction. If the joint module identifier does not match the current joint module, ignore this instruction and continue to monitor.
[0147] Step S320, in response to receiving the synchronization start signal, execute the second control instruction. In this exemplary embodiment, after receiving the second control instruction, the driver of the joint module does not execute it immediately, but enters a waiting state to wait for the synchronization start signal to trigger, thereby ensuring that all joint modules execute their respective control instructions within the same time frame, achieving high-precision coordinated action of the multi-joint robot.
[0148] In this exemplary embodiment, the motion control method may further include: the driver generates a first execution feedback signal according to the motor running state, and sends it to the gateway through the 485 chip. The gateway converts each of the first execution feedback information into a second execution feedback signal of the real-time Ethernet protocol, and sends the second execution feedback signal to the real-time Ethernet main controller through a high-speed real-time communication bus.
[0149] refer to Figure 4 As shown, in another exemplary embodiment of the present disclosure, another motion control method of a multi-joint robot is also provided, which is applied to a multi-joint robot including a plurality of joint modules, wherein the driver of the joint module is integrated with an RS485 chip; the motion control method comprises the following steps:
[0150] Step S410, the real-time Ethernet main controller generates a first control instruction directed to each of the joint modules according to the action plan;
[0151] Step S420, the real-time Ethernet slave controller receives and parses the first control instruction sent by the real-time Ethernet master controller and directed to each of the joint modules to obtain parsed content;
[0152] Step S430: the processor obtains the joint module pointed to by the first control instruction based on the parsed content; wherein each of the joint modules is allocated a communication time slot;
[0153] Step S440, converting the parsed content into a plurality of second control instructions respectively pointing to each of the joint modules and in RS485 protocol;
[0154] Step S450, sending the corresponding second control instruction to the driver of the joint module allocated to the communication time slot in each communication time slot in sequence according to the order of the communication time slots;
[0155] Step S460: The driver of each joint module parses the second control instruction to obtain the joint module identifier in the second control instruction;
[0156] Step S470: If the joint module identifier matches the current joint module, confirm that the second control instruction points to the current joint module and feed back a confirmation signal to the processor within the allocated communication time slot;
[0157] Step S480: executing the second control instruction in response to receiving the synchronization start signal.
[0158] The details of each step of the motion control method of the multi-joint robot have been reflected in the above exemplary embodiments, so they will not be repeated here.
[0159] In a further exemplary embodiment, Figure 5 As shown in the figure, the system uses EtherCAT slave (EtherCAT chip) and RS485 master (MCU) to collaboratively control four RS485 motors. The global clock source is provided by the EtherCAT slave. The minimum communication cycle of the EtherCAT network is set to 500μs, and the control instructions are distributed to the joint modules step by step through the gateway.
[0160] Secondly, the 500μs communication cycle is divided into four 125μs communication time slots. In this configuration, each joint module is assigned a 125μs communication time slot to complete command sending and feedback. Figure 4 As shown in the figure, the EtherCAT master sends a data frame to the EtherCAT slave. Each frame contains command content, such as fields such as my, Ap, pW, ork, and pd, which represent the joint module identification, target position, speed, acceleration, and other control flags. The EtherCAT slave receives the command, parses it, and sends it to the RS485 master. The RS485 master identifies the joint module based on the parsed content and determines the communication time slot allocated to it based on the joint module.
[0161] Again, the RS485 master sends control instructions to the drivers of each joint module based on a transmission rate of 6Mbps. Each message is 32 bytes long, of which 3 bytes are asynchronous data and 29 bytes are synchronous data. The specific message structure includes the start bit, data field, check bit, etc., which are used to transmit real-time control instructions and status information. The transmission time of a 32-byte message can be calculated as:
[0162]
[0163] The synchronization drift between EtherCAT and RS485 is 46μs, and the synchronization drift between each joint module is 6.2μs. The sum of these times is less than the allocated communication time slot of 125μs, so each motor can complete command reception and status feedback within its communication time slot.
[0164] The specific instruction transmission and execution process is as follows:
[0165] First, the EtherCAT master sends instruction 4 to the EtherCAT slave, which forwards instruction 4 to the RS485 master, which sends the instruction to the driver of joint module 4 in the communication time slot of joint module 4. After receiving the instruction, the driver of joint module 4 does not execute it immediately, but enters a waiting state, waiting for the arrival of the synchronous start signal.
[0166] Subsequently, the EtherCAT master station sends instruction 3 and instruction 2 in a similar manner to the drive of joint module 3 and the drive of joint module 2. After receiving the instruction, the drive of joint module 3 and the drive of joint module 2 also enter the waiting state.
[0167] Next, the EtherCAT master sends instruction 1 to the EtherCAT slave, the EtherCAT slave forwards instruction 1 to the RS185 master, and the RS185 master sends the instruction to the driver of joint module 1 within the communication time slot of joint module 1.
[0168] Finally, after receiving instruction 1, the driver of joint module 1 immediately executes the operation. In addition, after the RS185 master sends a synchronous start signal to the drivers of joint modules 2, 3, and 4 to calibrate the local clock, they start to execute their respective received instructions to ensure that all motor actions are synchronized in time.
[0169] During the feedback process, the driver of each joint module will feed back the execution result to the RS485 master station through the RS485 bus. The RS485 master station will transmit the execution feedback signal to the EtherCAT slave station, and the EtherCAT slave station will upload it to the EtherCAT master station to achieve closed-loop control.
[0170] In another exemplary embodiment of the present disclosure, a gateway is provided, which is applied to a multi-joint robot including a plurality of joint modules, wherein the driver of the joint module is integrated with an RS485 chip. Figure 6 As shown, the gateway includes: a real-time Ethernet communication chip 610, which is used to receive and parse the first control instruction sent by the real-time Ethernet main controller to obtain the parsed content. The processor 620 is used to obtain the joint module pointed to by the control instruction based on the parsed content, and determine the communication time slot allocated to the joint module; convert the parsed content into a second control instruction of the RS485 protocol; and, in the order of the communication time slots, send the corresponding second control instruction to the driver of the joint module allocated to the communication time slot in each communication time slot, and receive the confirmation signal fed back by the joint module driver in the communication time slot. For example, the real-time Ethernet communication chip 610 can be an AX58100 chip, and the processor 620 can be a MEC2D01A chip, and the two exchange data through the SPI bus 630.
[0171] In another exemplary embodiment of the present disclosure, a multi-joint robot is provided. Figure 7 As shown, the robot 700 includes a plurality of joint modules 130, and the driver 131 of each joint module 130 is integrated with an RS485 chip 1311. The robot 700 also includes a gateway 120 in any of the above exemplary embodiments, and the gateway 120 is communicatively connected to the real-time Ethernet main controller 110 via a high-speed real-time communication bus 710 and is communicatively connected to each of the RS485 chips 1311 via an RS485 bus 720.
[0172] In one embodiment of the present disclosure, a robot configured with motion control functions of a multi-joint robot includes any one of a legged robot, a quadrupedal robot, a bipedal robot, a wheeled robot, a wheel-legged robot, a quadrupedal robot, a humanoid robot, a cleaning robot, a transport robot, a mobile robot and a robotic arm.
[0173] like Figure 8 As shown, a structural schematic diagram of a bipedal robot is exemplarily shown.
[0174] like Fig. 9 In one embodiment, the biped robot and the quadruped robot may include a leg support structure, a leg-trunk connection structure, a knee joint assembly structure, a foot transmission structure, and other suitable robot structural components.
[0175] like Fig.10, which exemplarily shows a schematic diagram of the structure of a humanoid robot. In one embodiment, the humanoid robot may include an arm structure, a connection structure between an arm and a trunk, a wrist joint assembly structure, a waist assembly structure, an elbow joint assembly structure, a thigh support structure, a hip connection structure, a transmission structure, and other suitable robot structural components.
[0176] Next, in an embodiment of the present disclosure, a motion control device for a multi-joint robot is also provided.
[0177] refer to Fig.11 As shown, the motion control device 1100 of the multi-joint robot includes the following modules:
[0178] An instruction parsing module 1110 is used to receive and parse the first control instruction sent by the real-time Ethernet main controller to obtain the parsed content; a joint module determination module 1120 is used to determine the joint modules pointed to by the first control instruction based on the parsed content; wherein each of the joint modules is allocated a communication time slot; a protocol conversion module 1130 is used to convert the parsed content into a second control instruction of the RS485 protocol; and an instruction transmission module 1140 is used to send the corresponding second control instruction to the driver of the joint module allocated to the communication time slot in each communication time slot in the order of the communication time slots, and receive the confirmation signal fed back by the joint module driver in the communication time slot; wherein the driver of the joint module of the multi-joint robot is integrated with an RS485 chip.
[0179] In addition, in an exemplary embodiment of the present disclosure, an electronic device capable of implementing the above-mentioned cross-platform robot operation method is also provided.
[0180] Those skilled in the art will appreciate that various aspects of the present disclosure may be implemented as systems, methods or program products. Therefore, various aspects of the present disclosure may be specifically implemented in the following forms, namely: complete hardware embodiments, complete software embodiments (including firmware, microcode, etc.), or embodiments combining hardware and software aspects, which may be collectively referred to herein as "circuits", "modules" or "systems".
[0181] Refer to the following Fig.12 1200 according to this embodiment of the present disclosure is described. Fig.12 The electronic device 1200 shown is merely an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.
[0182] like Fig.12As shown, the electronic device 1200 is in the form of a general computing device. The components of the electronic device 1200 may include, but are not limited to: the at least one processing unit 1210, the at least one storage unit 1220, a bus 1230 connecting different system components (including the storage unit 1220 and the processing unit 1210), and a display unit 1240.
[0183] Among them, the storage unit stores program code, and the program code can be executed by the processing unit 1210, so that the processing unit 1210 executes the steps described in the above "Exemplary Method" section of this specification according to various exemplary embodiments of the present disclosure; in this exemplary embodiment, the processing unit 1210 can be one or more of a microprocessor, a microcontroller, a single-chip microcomputer, and an embedded processor.
[0184] The storage unit 1220 may include a readable medium in the form of a volatile storage unit, such as a random access storage unit 1221 (RAM) and / or a cache storage unit 1222, and may further include a read-only storage unit 1223 (ROM).
[0185] The storage unit 1220 may also include a program / utility having a set (at least one) of program modules 1224, such program modules 1224 including but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment.
[0186] Bus 1230 may represent one or more of several types of bus structures, including a memory unit bus or memory unit controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus architectures.
[0187] The electronic device 1200 may also communicate with one or more external devices 1270 (e.g., keyboards, pointing devices, Bluetooth devices, etc.), may also communicate with one or more devices that enable a user to interact with the electronic device 1200, and / or communicate with any device that enables the electronic device 1200 to communicate with one or more other computing devices (e.g., routers, modems, etc.). Such communication may be performed via an input / output (I / O) interface 1250. In addition, the electronic device 1200 may also communicate with one or more networks (e.g., local area networks (LANs), wide area networks (WANs), and / or public networks, such as the Internet) via a network adapter 1260. As shown, the network adapter 1260 communicates with other modules of the electronic device 1200 via a bus 1230. It should be understood that, although not shown in the figure, other hardware and / or software modules may be used in conjunction with the electronic device 1200, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.
[0188] Through the description of the above embodiments, it is easy for those skilled in the art to understand that the example embodiments described here can be implemented by software, or by software combined with necessary hardware. Therefore, the technical solution according to the embodiment of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which can be a personal computer, a server, a terminal device, or a network device, etc.) to execute the method according to the embodiment of the present disclosure.
[0189] In an exemplary embodiment of the present disclosure, a computer-readable storage medium is also provided, on which a program product capable of implementing the above method of the present specification is stored. In some possible embodiments, various aspects of the present disclosure can also be implemented in the form of a program product, which includes a program code. When the program product is run on a terminal device, the program code is used to enable the terminal device to execute the steps according to various exemplary embodiments of the present disclosure described in the above "Exemplary Method" section of the present specification.
[0190] refer to Fig.13 The program product 1300 for implementing the motion control method of the multi-joint robot according to an embodiment of the present disclosure is described, which can adopt a portable compact disk read-only memory (CD-ROM) and include program code, and can be run on a terminal device, such as a personal computer. However, the program product of the present disclosure is not limited to this. In this document, the readable storage medium can be any tangible medium containing or storing a program, which can be used by or in combination with an instruction execution system, an apparatus or a device.
[0191] The program product may use any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of readable storage media (a non-exhaustive list) include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.
[0192] Computer readable signal media may include data signals propagated in baseband or as part of a carrier wave, in which readable program code is carried. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Readable signal media may also be any readable medium other than a readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device.
[0193] The program code contained on the readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wired, optical cable, electromagnetic waves, etc., or any suitable combination of the foregoing.
[0194] Program code for performing the operations of the present disclosure may be written in any combination of one or more programming languages, including object-oriented programming languages such as Java, C++, etc., and conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user device, as a separate software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving a remote computing device, the remote computing device may be connected to the user computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (e.g., through the Internet using an Internet service provider).
[0195] In addition, the above-mentioned figures are only schematic illustrations of the processes included in the method according to the exemplary embodiments of the present disclosure, and are not intended to be limiting. It is easy to understand that the processes shown in the above-mentioned figures do not indicate or limit the time sequence of these processes. In addition, it is also easy to understand that these processes can be performed synchronously or asynchronously, for example, in multiple modules.
[0196] Through the description of the above embodiments, it is easy for those skilled in the art to understand that the example embodiments described here can be implemented by software, or by software combined with necessary hardware. Therefore, the technical solution according to the embodiment of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which can be a personal computer, a server, a touch terminal, or a network device, etc.) to execute the method according to the embodiment of the present disclosure.
[0197] Finally, the above preferred embodiments are only used to illustrate the technical solutions of the present application and are not restrictive. Although the present application has been described in detail, those skilled in the art should understand that changes in form and details can be made without departing from the scope defined by the claims of the present application. The dimensions of the drawings have nothing to do with the specific objects, and the dimensions of the objects can be changed arbitrarily.
Claims
1. A motion control method for a multi-joint robot, applied to a multi-joint robot comprising a plurality of joint modules, wherein the driver of the joint module is integrated with an RS485 chip; characterized in that: The motion control method comprises: Receiving and parsing the first control instruction directed to each of the joint modules sent by the real-time Ethernet main controller to obtain parsed content; Determine each joint module pointed to by the first control instruction based on the analyzed content; wherein each joint module is allocated a communication time slot; Convert the parsed content into a plurality of second control instructions respectively pointing to each of the joint modules and in RS485 protocol; According to the order of the communication time slots, the corresponding second control instruction is sent to the driver of the joint module assigned to the communication time slot in each communication time slot, and a confirmation signal fed back by the driver of the joint module is received in the communication time slot.
2. The motion control method according to claim 1, characterized in that: The motion control method further comprises: Determine the minimum global communication period; Dividing the minimum global communication cycle into a plurality of communication time slots; At least one communication time slot is allocated to each of the joint modules.
3. The motion control method according to claim 2, characterized in that: The allocating at least one communication time slot to each joint module comprises: At least one communication time slot is allocated to each joint module according to the control instruction message length and the communication parameters of each joint module.
4. The motion control method according to claim 3, characterized in that: The method of allocating at least one communication time slot to each joint module according to the control instruction message length and the communication parameters of each joint module comprises: For any of the joint modules, determining the data transmission time corresponding to the joint module according to the message length and the communication parameters of the joint module; According to the data transmission time and drift compensation corresponding to the joint module, the number of communication time slots allocated to the joint module is calculated.
5. The motion control method according to claim 4, characterized in that: The first control instruction is transmitted via a high-speed real-time communication bus; the second control instruction is transmitted via an RS485 bus; and the motion control method further comprises: The drift compensation is calculated based on the synchronous drift of the high-speed real-time communication bus and the RS485 bus and the synchronous drift between each of the joint modules.
6. The motion control method according to claim 2, characterized in that: The number of the communication time slots is the same as the number of the joint modules, and one communication time slot is allocated to each joint module.
7. The motion control method according to claim 2, characterized in that: The motion control method further comprises: When the joint module is the last joint module to communicate in the current communication cycle, a synchronization start signal is sent to the drivers of all the joint modules to trigger the synchronous execution of each of the second control instructions.
8. The motion control method according to claim 7, characterized in that: The motion control method further comprises: Receiving a first execution feedback signal sent by a driver of each joint module through the RS485 chip; Convert each of the first execution feedback information into a second execution feedback signal of a real-time Ethernet protocol; The second execution feedback signal is uploaded to the real-time Ethernet main controller.
9. The motion control method according to claim 1, characterized in that: The real-time Ethernet master controller is an EtherCAT master station, an EtherNet master controller or a SERCOS III master device.
10. The motion control method according to claim 1, characterized in that: The motion control parameters of each joint module are stored in the data load part of the first control instruction message according to a preset order; wherein the preset order is related to the order of the communication time slots allocated to each joint module.
11. The motion control method according to claim 10, characterized in that: The preset sequence is obtained by the real-time Ethernet main controller during the initialization phase of the multi-joint robot.
12. The motion control method according to claim 1, characterized in that: The confirmation signal includes an ACK signal, a single-byte confirmation signal or a level form confirmation signal.
13. The motion control method according to claim 1, characterized in that: The motion control method further comprises: When the received confirmation signal meets the preset condition, it is confirmed that the sending of the second control signal is completed.
14. A motion control method for a multi-joint robot, applied to a multi-joint robot including a plurality of joint modules; characterized in that: The motion control method comprises: Receiving the second control instruction according to any one of claims 1 to 13; In response to receiving the synchronization start signal, the second control instruction is executed.
15. The motion control method according to claim 14, characterized in that: The motion control method further comprises: Parsing the second control instruction to obtain the joint module identifier in the second control instruction; If the joint module identifier matches the current joint module, it is confirmed that the second control instruction points to the current joint module.
16. The motion control method according to claim 14, characterized in that: The motion control method further comprises: If the joint module identifier matches the current joint module, a confirmation message is sent to the gateway to confirm receipt of the second control instruction.
17. The motion control method according to claim 14, characterized in that: The motion control method further comprises: The driver generates a first execution feedback signal according to the running state of the motor, and sends it to the gateway through the 485 chip.
18. A motion control method for a multi-joint robot, applied to a multi-joint robot comprising a plurality of joint modules, wherein the driver of the joint module is integrated with an RS485 chip; characterized in that: The motion control method comprises: The real-time Ethernet main controller generates a first control instruction directed to each of the joint modules according to the action plan; The real-time Ethernet slave controller receives and parses the first control instruction sent by the real-time Ethernet master controller and directed to each of the joint modules to obtain parsed content; The processor obtains the joint module pointed to by the first control instruction based on the parsed content; wherein each of the joint modules is allocated a communication time slot; Convert the parsed content into a plurality of second control instructions respectively pointing to each of the joint modules and in RS485 protocol; In the order of the communication time slots, the corresponding second control instruction is sent to the driver of the joint module assigned to the communication time slot in each communication time slot; The driver of each joint module parses the second control instruction to obtain the joint module identifier in the second control instruction; If the joint module identifier matches the current joint module, confirm that the second control instruction points to the current joint module and feed back a confirmation signal to the processor within the allocated communication time slot; The second control instruction is executed in response to receiving the synchronization start signal.
19. A motion control device for a multi-joint robot, applied to a multi-joint robot comprising a plurality of joint modules, wherein the driver of the joint module is integrated with an RS485 chip; characterized in that: The motion control device comprises: An instruction parsing module is used to receive and parse the first control instruction sent by the real-time Ethernet main controller and directed to each of the joint modules to obtain parsed content; A joint module determination module, used to determine each joint module pointed to by the first control instruction based on the parsed content; wherein each of the joint modules is allocated a communication time slot; A protocol conversion module, used for converting the parsed content into a plurality of second control instructions respectively pointing to each of the joint modules and being of RS485 protocol; The instruction transmission module is used to send the corresponding second control instruction to the driver of the joint module allocated to the communication time slot in each communication time slot in the order of the communication time slots, and receive the confirmation signal fed back by the driver of the joint module in the communication time slot.
20. A gateway, applied to a multi-joint robot comprising a plurality of joint modules, wherein the driver of the joint module is integrated with an RS485 chip; characterized in that: The gateway comprises: A real-time Ethernet communication chip, used for receiving and parsing a first control instruction sent by a real-time Ethernet main controller and directed to each of the joint modules, to obtain parsed content; A processor is used to obtain the joint module pointed to by the first control instruction based on the parsed content, and determine the communication time slot allocated to each joint module; convert the parsed content into multiple second control instructions that point to each joint module and are RS485 protocol respectively; and, in the order of the communication time slots, send the corresponding second control instruction to the driver of the joint module allocated to the communication time slot in each communication time slot, and receive a confirmation signal fed back by the driver of the joint module in the communication time slot.
21. A multi-joint robot, characterized in that: include: A plurality of joint modules, wherein the driver of each joint module is integrated with an RS485 chip; as well as, The gateway as described in claim 20 is communicatively connected to the real-time Ethernet main controller via a high-speed real-time communication bus and is communicatively connected to each of the RS485 chips via an RS485 bus.
22. The multi-joint robot according to claim 21, characterized in that: The multi-joint robot includes any one of a legged robot, a quadruped robot, a bipedal robot, a wheeled robot, a wheel-legged robot, a quadrupedal robot, a humanoid robot, a cleaning robot, a transport robot, a mobile robot and a robotic arm.
23. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer program code instructions, and when the computer program code instructions are called by a processor of the robot, the robot executes the motion control method according to any one of claims 1 to 18.