Ethercat "pc + multi-programmable i / o interface card" robot control method and device
By using the EtherCAT "PC + multi-programmable I/O interface card" control method and device, the problem of insufficient flexibility in multi-robot collaborative control of industrial robots is solved, realizing flexible collaborative control and resource saving of multi-robot systems, and enhancing the adaptability of industrial automation control systems.
Patent Information
- Application Number
- CN202410393675.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-04-02
- Publication Date
- 2025-11-21
- Estimated Expiration
- 2044-04-02
AI Technical Summary
Existing industrial robot control systems lack flexibility and openness in multi-machine collaborative control, making it difficult to adapt to different application scenarios and product requirements. In existing technologies, robot control systems lack flexibility and openness in multi-machine collaboration, making it difficult to achieve effective multi-machine collaborative control.
The system employs EtherCAT bus for data transmission and utilizes an open industrial robot multi-robot collaborative control method and device based on EtherCAT "PC + multi-programmable I/O interface card" to achieve multi-robot collaborative control. It configures the functional modules and parameters of the control software to adapt to different industrial site requirements and improve the system's flexibility and adaptability.
It enables flexible collaborative control among multiple robots, improves the system's openness and real-time performance, reduces resource consumption, and enhances the adaptability of industrial automation control systems.
Smart Images

Figure CN118181289B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of industrial robot motion control technology, and in particular to a robot control method and device based on EtherCAT "PC + multi-programmable I / O interface card". Background Technology
[0002] Driven by the cross-integration of new technologies such as 5G, Industrial Internet, Big Data, Artificial Intelligence, and Digital Twins, the level of autonomy and intelligence in industrial robots has been significantly improved. The demand for industrial robots on automated production lines is gradually shifting from simple human-machine collaboration to precision operations and multi-machine collaboration. To meet this demand, an open multi-machine collaborative control system for industrial robots based on a "PC + multi-programmable I / O interface card" architecture has been developed. The PC software layer completes most of the weak real-time control functions in the robot control system, while the programmable I / O interface implements some strong real-time functions, fully utilizing the rich hardware and software resources on the PC. To adapt to different application scenarios, the control mode and I / O pins of the robot control system need to be reasonably configured. This invention proposes an open multi-machine collaborative control method and device for industrial robots based on EtherCAT "PC + multi-programmable I / O interface card," starting from the configurability of motion control modes and I / O switching quantities. This enables the robot control system to control the motion trajectory of each robot and can trigger the movement of any selected robot based on the switching signals of any peripheral device and robot, as well as signals sent by any robot sub-thread in the software layer, thus improving the openness of the robot control system. Summary of the Invention
[0003] This invention proposes a robot control method and device based on EtherCAT "PC + multiple programmable I / O interface cards". It allows for the configuration of functional modules (activating or hiding unnecessary functional units), system parameters, motion parameters, interface parameters, I / O parameters, and servo parameters, according to the number of robots to be controlled, the number of degrees of freedom of the robots, and the collaborative control requirements with peripherals in the industrial environment. This adapts to different industrial application needs, saving resources while increasing the flexibility of the industrial automation control system, and enabling flexible collaborative control between the device and the industrial production line. This collaborative control method can receive switch signals from any of the linked programmable I / O interface cards and signals from any of the linked robots as trigger signals to start multi-machine actions. This allows the open industrial robot multi-machine collaborative control device to achieve collaborative control of multiple robots based on feedback signals from peripheral devices.
[0004] The present invention adopts the following technical solution.
[0005] The EtherCAT "PC + multi-programmable I / O interface card" robot control method enables the use of an open industrial robot multi-robot collaborative control device based on EtherCAT "PC + multi-programmable I / O interface card" to perform multi-robot collaborative control operations of open industrial robots. In the control method, the PC is used to decode control instructions for multiple robots and execute low real-time functions. The low real-time functions specifically include human-machine interface, trajectory planning and interpolation control of robot motion, control and reception of switch quantities of each interface card, acquisition of robot status data, and multi-robot collaborative control.
[0006] Each programmable I / O interface card assists the PC in completing real-time control of external devices and robots, while collecting feedback signals from peripheral devices and sending them to the PC;
[0007] The control method employs a motion trajectory simulation interface in the human-computer interaction interface of the control system software. This interface is used to visualize the motion posture and position of each robot arm in the same robot group. Motion trajectory simulation can be performed before multi-robot collaborative control to avoid collisions between the robot arms during their movement. During the simulation, the robot motion trajectory can be observed using the RVIZ visualization tool.
[0008] The control process of the open-loop industrial robot multi-machine collaborative control method includes the following steps:
[0009] Step S1: In the control system software, the robot control program code of the UI layer is first encapsulated into the NMLmsg data structure format through the pre-decoding module, and then sent to the control kernel layer through the NML neutral message mechanism based on the RCS library. Finally, the decoding queue and configuration data are sent to the corresponding robot sub-thread through the task command processing function.
[0010] Step S2: The robot sub-thread decodes the pre-decoding queue according to the configuration data and sends it to the programmable I / O interface card of the specified robot according to the configuration data of the configuration management module, so as to realize the motion control of multiple robots, the control of peripheral actuators and the reception of feedback signals from the peripheral device layer.
[0011] Step S3: Receive switch signals from any of the programmable I / O interface cards under joint control and signals sent by any of the robots under joint control through the industrial robot multi-machine collaborative control device. Use these signals as trigger signals to start multi-machine actions and perform collaborative control of multiple robots based on feedback signals from peripheral devices.
[0012] The EtherCAT "PC + multiple programmable I / O interface cards" robot control device is used to execute the robot control method described above. The control device includes a PC, multiple programmable I / O interface cards, and control software. Data transmission between the PC and each programmable I / O interface card is performed via the EtherCAT bus. The PC can configure multiple robot control modes and set the working mode of each input / output port of the programmable I / O interface card. The working mode can be set to configure each input / output port as an input / output switch control port or as an input terminal for external status data.
[0013] The control software layer formed by the control software is divided into a UI layer, a control kernel layer, and a ROS layer. The UI layer generates configuration data and a pre-decoding queue through the human-machine interface, and sends the data to the control kernel layer through the NML neutral message mechanism and shared memory communication mechanism of the RCS library. The control kernel layer consists of a communication management module, a motion control module, a task management module, and an EtherCAT master station module. The ROS layer is responsible for providing the underlying operating environment for the motion simulation function unit of the human-machine interface function module of the application layer.
[0014] The motion control module has multiple robot sub-threads, and each robot sub-thread controls one robot.
[0015] The ROS layer includes an Rviz kernel and a ROS communication module, which are used to call the corresponding modules when the system is in simulation mode. The Rviz kernel is responsible for providing the robot simulation interface, which includes trajectory simulation.
[0016] The ROS communication module controls the robot in the Rviz simulation interface to move by receiving joint information published by the control kernel layer in real time.
[0017] The programmable I / O interface card is equipped with a configuration data management module, a position feedback module, an I / O switch quantity control module, and a motion trajectory fine interpolation module.
[0018] The control device has an open expansion function. When in use, this function can be configured according to the number of robots to be controlled, the number of robot degrees of freedom, and the collaborative control requirements with its peripherals in the industrial site. The function unit attributes, system parameters, motion parameters, interface parameters, I / O parameters, and servo parameters can be configured by configuring the function modules of the control software to adapt to the application needs of different industrial sites. This saves resources and increases the flexibility of the industrial automation control system. The method of configuring the function modules of the control software during the use of this function is to activate or hide the function units of the modules that are not needed.
[0019] The control device achieves coordinated control with the automated production line in the industrial field by selecting and configuring the on / off state, output / input mode, and enable port number correspondence of the I / O switch pin ports of its programmable I / O interface card.
[0020] When configuring coordinated control between control devices and automated production lines in industrial settings, such as Figure 2 As shown, the on / off state, output / input mode, and enable port number correspondence of the I / O switch pin ports of each programmable I / O interface card are configured through the UI human-machine interface. I / O switch configuration data and I / O switch configuration flag bits are sent to the corresponding robot sub-thread of the control kernel layer through shared memory. When the robot sub-thread of the control kernel layer of the control software receives the valid I / O switch configuration flag bit, the data encapsulation module generates the corresponding command number data according to the user layer command encoding format, and inserts the data into the specified EtherCAT data frame position according to the motion control mode configuration data. It is then sent to the corresponding programmable I / O interface card through the EtherCAT communication module. The programmable I / O interface card sets the on / off state, output / input mode, and enable port number correspondence of multiple I / O switch pin ports of the card according to the received I / O switch configuration data, so as to realize the control of peripheral device actuators and other robots by the programmable I / O interface card, and realize the acquisition and reception of robot pose and other peripheral device coordination signals.
[0021] When configuring and selecting the motion control mode of the industrial robot, the configuration range of the control device includes setting the number of degrees of freedom of the robot joints (the number of linked axes) and the number of axes of translational motion of the robot base, as well as the motion mode parameters of each control axis. The number of degrees of freedom of the robot joints is the number of linked axes. It can control the joint motion of 7 degrees of freedom of the robot plus the translational motion of 3 degrees of freedom of the robot base.
[0022] Further as Figure 3As shown, when the user configures the number of degrees of freedom of the robot's joints and the number of axes of translational motion of the base through the UI human-computer interaction interface, the configuration data is written to the configuration data management module of the corresponding robot sub-thread in the control kernel layer of the control software via shared memory. When the robot control system runs control commands, the command data, after being decoded and interpolated by the corresponding robot sub-thread in the control kernel layer, activates the enable control axes of the corresponding robot joints and base, as well as the I / O switch ports of the controlled programmable I / O interface card, according to the configured motion control mode. The interpolation function corresponding to four-axis, five-axis, six-axis, or seven-axis + three translation axes is selected for motion trajectory interpolation, and the command data is encapsulated according to the configured data format and written to the corresponding EtherCATS data frame bit. When the command data of the control command is sent to the programmable I / O interface card, the corresponding EtherCAT slave station is determined according to the motion control mode configuration parameters to control the movement of each joint and base of the robot, as well as the coordinated actions of other peripherals. Simultaneously, based on the motion control mode configuration parameters, the encoder position feedback data of the corresponding EtherCAT slave station and the peripheral status feedback signals of the I / O switch pin ports of the programmable I / O interface card are read.
[0023] The control device uses various switching signals from various peripherals in the industrial field as the coordination signals for motion control of the robot control system. The instructions corresponding to the switching signals include the SET and RESET instructions for switching control, the MOVJ, MOVL and MOVC instructions for robot motion control, the LA, LB and LC instructions for rack movement control, the FOR and BREAK instructions for looping, and the WAIT and REC instructions for coordination.
[0024] When the control device executes motion control coordination of the robot control system based on various switching signals from various peripherals in the industrial field, the decoding module stores the decoded motion control data and switching control data into the control data register. The data structure of the control data register includes instruction type, instruction number, coarse interpolation data, cycle start number, and switching quantity number. The robot group control system reads the contents of the motion control data register in sequence according to the instruction number.
[0025] like Figure 4 As shown, the instructions corresponding to switch signals are divided into four categories: switch instructions, motion instructions, cycle instructions, and coordination instructions.
[0026] The SET and RESET commands, by setting the data in the digital signal transmit register and digital signal receive register, enable the programmable I / O interface card to control the peripheral device actuators and communicate digital signal data with other robot sub-threads. The SET command sets the data in the corresponding position of the digital signal transmit register to 1 according to the programmable I / O interface card number and its corresponding IO pin number in the command, while RESET sets it to 0. When the IO pin number is 0, it indicates an internal trigger signal of the robot control system, and the digital signal command controls the data in the digital signal receive register.
[0027] The robot motion commands MOVJ, MOVL, and MOVC, based on the current position of each joint of the robot and the target position and motion speed in the commands, obtain robot motion interpolation data through corresponding four-axis, five-axis, six-axis, or seven-axis interpolation algorithms, and store it in the robot interpolation data buffer to realize robot trajectory control;
[0028] The frame motion commands LA, LB, and LC obtain frame interpolation data through a translation axis interpolation algorithm to control the translational motion of the robot base. The frame motion commands determine whether to store the frame interpolation data into the frame interpolation data buffer based on the number of frame axes and the frame enable status in the motion control mode configuration data.
[0029] The FOR and BREAK loop instructions enable the cyclic execution of robot instructions by controlling the read and write positions of the control data register; the FOR instruction is the start of the loop and is used to set the number of loop executions, while the BREAK instruction is the end of the loop and is used to determine whether to exit the loop.
[0030] The cooperative instruction REC reads the data at a specified position in the IO switch quantity receive register at the current moment to receive the exit loop signal; according to the programmable I / O interface card number and its corresponding IO pin number in the instruction, it saves the data at the specified position in the IO switch quantity receive register to the corresponding position in the cooperative signal register for use in determining the BREAK instruction.
[0031] The conditions for the BREAK instruction to determine whether to exit the loop include:
[0032] Case 1: When the loop exit signal specified in the BREAK instruction is received, the loop will exit regardless of the loop count.
[0033] Case 2: When no exit loop signal is received, there are two cases depending on the FOR instruction: ① When the loop count is infinite, the robot instructions between the FOR and BREAK instructions will be executed repeatedly until the exit loop signal is received; ② When the loop count is a positive integer, it is determined whether the loop count is zero. If it is zero, the loop is exited; if it is non-zero, the loop count is decremented by one, and the jump is made to the location of the FOR instruction in the control data register.
[0034] The WAIT instruction enables start / stop control of robot motion by receiving data from the IO switch receive register or performing a delay operation. If the delay time in the instruction is non-zero, a delay operation is performed until the delay operation ends and the WAIT instruction exits. If the delay time is zero, the instruction waits for data at the corresponding position in the IO switch receive register according to the programmable I / O interface card number and its corresponding IO pin number in the instruction until the data is zero and the WAIT instruction exits.
[0035] The control device, based on control commands and configurable IO switch signals, enables multiple robot systems to perform collaborative control through IO switch signals. This achieves interaction and collaborative control between robot systems, improves the flexibility and efficiency of multi-machine collaborative control, and increases the number of industrial robots that can be collaboratively controlled by the collaborative control mechanism.
[0036] When performing collaborative control, each programmable I / O interface card receives feedback signals from the peripheral device layer and signals sent by other programmable I / O interface cards, and sends them to the control device via the EtherCAT bus to control the start, stop, exit the loop, and other collaborative actions of the corresponding robot.
[0037] The control device controls the start / stop status of different robots and peripherals by sending and receiving I / O switching signals between the robot sub-threads in the control kernel layer of the control software, thereby achieving coordinated control of multiple robots.
[0038] This invention can configure the functional modules of the control software (activating or hiding unnecessary functional units), configure the attributes of functional units, and configure system parameters, motion parameters, interface parameters, I / O parameters, and servo parameters according to the number of robots, degrees of freedom of the robots, and collaborative control requirements with their peripherals in an industrial setting. This adapts the control software to different industrial application needs, saving resources while increasing the flexibility of the industrial automation control system. It enables flexible collaborative control between the device and the industrial production line. Furthermore, this collaborative control method can receive switch signals from any connected programmable I / O interface card and signals from any connected robot as trigger signals to start multi-machine actions. This allows the open industrial robot multi-machine collaborative control device to achieve collaborative control of multiple robots based on feedback signals from peripheral devices.
[0039] This invention relates to the field of industrial robot motion control technology, specifically to an open multi-robot collaborative control method and device for industrial robots based on EtherCAT "PC + multiple programmable I / O interface cards". In this collaborative control method, the PC is responsible for decoding and executing robot control commands, including robot trajectory planning, switch interface control, data acquisition, and collaborative control. Each programmable I / O interface card performs secondary fine interpolation control of the robot's motion trajectory and assists the PC in controlling peripherals and providing feedback on robot posture and other statuses. This collaborative control method can configure multiple robot control modes and set the working modes of each input / output port of the programmable I / O interface cards according to the number of robots, the number of degrees of freedom of the robots, and the collaborative control requirements with peripherals in the industrial setting. The PC can be used to set the working modes of each input / output port of the programmable I / O interface cards, enabling flexible collaborative control between this device and the automated production line in the industrial setting. This collaborative control method can simultaneously control up to 32 programmable I / O interface cards, and each programmable I / O interface card can control up to 7 degrees of freedom of robot joint movements plus 3 degrees of freedom of robot base translational movements. This collaborative control method can receive switch signals from any programmable I / O interface card under joint control and signals sent by any robot under joint control as trigger signals to start multi-machine actions, enabling the open industrial robot multi-machine collaborative control device to achieve collaborative control of multiple robots based on feedback signals from peripheral devices.
[0040] In the solution described in this invention, the PC can control up to 32 programmable I / O interface cards with EtherCAT slave interfaces. Each interface card can simultaneously control 1-3 multi-degree-of-freedom industrial robots and multiple peripherals, providing good flexibility. Attached Figure Description
[0041] The present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments:
[0042] Appendix Figure 1 This is a schematic diagram of the overall framework of the open industrial robot multi-machine collaborative control system of the present invention;
[0043] Appendix Figure 2 This is a schematic diagram of the switching quantity configuration principle of the present invention;
[0044] Appendix Figure 3 This is a schematic diagram of the control structure of the UI layer and the control kernel layer of the present invention;
[0045] Appendix Figure 4 This is a schematic diagram of the read / write process of the control data read / write management module of the present invention. Detailed Implementation
[0046] As shown in the figure, the EtherCAT "PC + multi-programmable I / O interface card" robot control method can use an open industrial robot multi-robot collaborative control device based on EtherCAT "PC + multi-programmable I / O interface card" to perform multi-robot collaborative control operations of open industrial robots. In the control method, the PC is used to decode control instructions for multiple robots and execute low real-time functions. The low real-time functions specifically include human-machine interface, trajectory planning and interpolation control of robot motion, control and reception of switch quantities of each interface card, acquisition of robot status data, and multi-robot collaborative control.
[0047] Each programmable I / O interface card assists the PC in completing real-time control of external devices and robots, while collecting feedback signals from peripheral devices and sending them to the PC;
[0048] The control method employs a motion trajectory simulation interface in the human-computer interaction interface of the control system software. This interface is used to visualize the motion posture and position of each robot arm in the same robot group. Motion trajectory simulation can be performed before multi-robot collaborative control to avoid collisions between the robot arms during their movement. During the simulation, the robot motion trajectory can be observed using the RVIZ visualization tool.
[0049] The control process of the open-loop industrial robot multi-machine collaborative control method includes the following steps:
[0050] Step S1: In the control system software, the robot control program code of the UI layer is first encapsulated into the NMLmsg data structure format through the pre-decoding module, and then sent to the control kernel layer through the NML neutral message mechanism based on the RCS library. Finally, the decoding queue and configuration data are sent to the corresponding robot sub-thread through the task command processing function.
[0051] Step S2: The robot sub-thread decodes the pre-decoding queue according to the configuration data and sends it to the programmable I / O interface card of the specified robot according to the configuration data of the configuration management module, so as to realize the motion control of multiple robots, the control of peripheral actuators and the reception of feedback signals from the peripheral device layer.
[0052] Step S3: Receive switch signals from any of the programmable I / O interface cards under joint control and signals sent by any of the robots under joint control through the industrial robot multi-machine collaborative control device. Use these signals as trigger signals to start multi-machine actions and perform collaborative control of multiple robots based on feedback signals from peripheral devices.
[0053] The EtherCAT "PC + multiple programmable I / O interface cards" robot control device is used to execute the robot control method described above. The control device includes a PC, multiple programmable I / O interface cards, and control software. Data transmission between the PC and each programmable I / O interface card is performed via the EtherCAT bus. The PC can configure multiple robot control modes and set the working mode of each input / output port of the programmable I / O interface card. The working mode can be set to configure each input / output port as an input / output switch control port or as an input terminal for external status data.
[0054] The control software layer formed by the control software is divided into a UI layer, a control kernel layer, and a ROS layer. The UI layer generates configuration data and a pre-decoding queue through the human-machine interface, and sends the data to the control kernel layer through the NML neutral message mechanism and shared memory communication mechanism of the RCS library. The control kernel layer consists of a communication management module, a motion control module, a task management module, and an EtherCAT master station module. The ROS layer is responsible for providing the underlying operating environment for the motion simulation function unit of the human-machine interface function module of the application layer.
[0055] The motion control module has multiple robot sub-threads, and each robot sub-thread controls one robot.
[0056] The ROS layer includes an Rviz kernel and a ROS communication module, which are used to call the corresponding modules when the system is in simulation mode. The Rviz kernel is responsible for providing the robot simulation interface, which includes trajectory simulation.
[0057] The ROS communication module controls the robot in the Rviz simulation interface to move by receiving joint information published by the control kernel layer in real time.
[0058] The programmable I / O interface card is equipped with a configuration data management module, a position feedback module, an I / O switch quantity control module, and a motion trajectory fine interpolation module.
[0059] The control device has an open expansion function. When in use, this function can be configured according to the number of robots to be controlled, the number of robot degrees of freedom, and the collaborative control requirements with its peripherals in the industrial site. The function unit attributes, system parameters, motion parameters, interface parameters, I / O parameters, and servo parameters can be configured by configuring the function modules of the control software to adapt to the application needs of different industrial sites. This saves resources and increases the flexibility of the industrial automation control system. The method of configuring the function modules of the control software during the use of this function is to activate or hide the function units of the modules that are not needed.
[0060] The control device achieves coordinated control with the automated production line in the industrial field by selecting and configuring the on / off state, output / input mode, and enable port number correspondence of the I / O switch pin ports of its programmable I / O interface card.
[0061] When configuring coordinated control between control devices and automated production lines in industrial settings, such as Figure 2 As shown, the on / off state, output / input mode, and enable port number correspondence of the I / O switch pin ports of each programmable I / O interface card are configured through the UI human-machine interface. I / O switch configuration data and I / O switch configuration flag bits are sent to the corresponding robot sub-thread of the control kernel layer through shared memory. When the robot sub-thread of the control kernel layer of the control software receives the valid I / O switch configuration flag bit, the data encapsulation module generates the corresponding command number data according to the user layer command encoding format, and inserts the data into the specified EtherCAT data frame position according to the motion control mode configuration data. It is then sent to the corresponding programmable I / O interface card through the EtherCAT communication module. The programmable I / O interface card sets the on / off state, output / input mode, and enable port number correspondence of multiple I / O switch pin ports of the card according to the received I / O switch configuration data, so as to realize the control of peripheral device actuators and other robots by the programmable I / O interface card, and realize the acquisition and reception of robot pose and other peripheral device coordination signals.
[0062] When configuring and selecting the motion control mode of the industrial robot, the configuration range of the control device includes setting the number of degrees of freedom of the robot joints (the number of linked axes) and the number of axes of translational motion of the robot base, as well as the motion mode parameters of each control axis. The number of degrees of freedom of the robot joints is the number of linked axes. It can control the joint motion of 7 degrees of freedom of the robot plus the translational motion of 3 degrees of freedom of the robot base.
[0063] Further as Figure 3As shown, when the user configures the number of degrees of freedom of the robot's joints and the number of axes of translational motion of the base through the UI human-computer interaction interface, the configuration data is written to the configuration data management module of the corresponding robot sub-thread in the control kernel layer of the control software via shared memory. When the robot control system runs control commands, the command data, after being decoded and interpolated by the corresponding robot sub-thread in the control kernel layer, activates the enable control axes of the corresponding robot joints and base, as well as the I / O switch ports of the controlled programmable I / O interface card, according to the configured motion control mode. The interpolation function corresponding to four-axis, five-axis, six-axis, or seven-axis + three translation axes is selected for motion trajectory interpolation, and the command data is encapsulated according to the configured data format and written to the corresponding EtherCATS data frame bit. When the command data of the control command is sent to the programmable I / O interface card, the corresponding EtherCAT slave station is determined according to the motion control mode configuration parameters to control the movement of each joint and base of the robot, as well as the coordinated actions of other peripherals. Simultaneously, based on the motion control mode configuration parameters, the encoder position feedback data of the corresponding EtherCAT slave station and the peripheral status feedback signals of the I / O switch pin ports of the programmable I / O interface card are read.
[0064] The control device uses various switching signals from various peripherals in the industrial field as the coordination signals for motion control of the robot control system. The instructions corresponding to the switching signals include the SET and RESET instructions for switching control, the MOVJ, MOVL and MOVC instructions for robot motion control, the LA, LB and LC instructions for rack movement control, the FOR and BREAK instructions for looping, and the WAIT and REC instructions for coordination.
[0065] When the control device executes motion control coordination of the robot control system based on various switching signals from various peripherals in the industrial field, the decoding module stores the decoded motion control data and switching control data into the control data register. The data structure of the control data register includes instruction type, instruction number, coarse interpolation data, cycle start number, and switching quantity number. The robot group control system reads the contents of the motion control data register in sequence according to the instruction number.
[0066] like Figure 4 As shown, the instructions corresponding to switch signals are divided into four categories: switch instructions, motion instructions, cycle instructions, and coordination instructions.
[0067] The SET and RESET commands, by setting the data in the digital signal transmit register and digital signal receive register, enable the programmable I / O interface card to control the peripheral device actuators and communicate digital signal data with other robot sub-threads. The SET command sets the data in the corresponding position of the digital signal transmit register to 1 according to the programmable I / O interface card number and its corresponding IO pin number in the command, while RESET sets it to 0. When the IO pin number is 0, it indicates an internal trigger signal of the robot control system, and the digital signal command controls the data in the digital signal receive register.
[0068] The robot motion commands MOVJ, MOVL, and MOVC, based on the current position of each joint of the robot and the target position and motion speed in the commands, obtain robot motion interpolation data through corresponding four-axis, five-axis, six-axis, or seven-axis interpolation algorithms, and store it in the robot interpolation data buffer to realize robot trajectory control;
[0069] The frame motion commands LA, LB, and LC obtain frame interpolation data through a translation axis interpolation algorithm to control the translational motion of the robot base. The frame motion commands determine whether to store the frame interpolation data into the frame interpolation data buffer based on the number of frame axes and the frame enable status in the motion control mode configuration data.
[0070] The FOR and BREAK loop instructions enable the cyclic execution of robot instructions by controlling the read and write positions of the control data register; the FOR instruction is the start of the loop and is used to set the number of loop executions, while the BREAK instruction is the end of the loop and is used to determine whether to exit the loop.
[0071] The cooperative instruction REC reads the data at a specified position in the IO switch quantity receive register at the current moment to receive the exit loop signal; according to the programmable I / O interface card number and its corresponding IO pin number in the instruction, it saves the data at the specified position in the IO switch quantity receive register to the corresponding position in the cooperative signal register for use in determining the BREAK instruction.
[0072] The conditions for the BREAK instruction to determine whether to exit the loop include:
[0073] Case 1: When the loop exit signal specified in the BREAK instruction is received, the loop will exit regardless of the loop count.
[0074] Case 2: When no exit loop signal is received, there are two cases depending on the FOR instruction: ① When the loop count is infinite, the robot instructions between the FOR and BREAK instructions will be executed repeatedly until the exit loop signal is received; ② When the loop count is a positive integer, it is determined whether the loop count is zero. If it is zero, the loop is exited; if it is non-zero, the loop count is decremented by one, and the jump is made to the location of the FOR instruction in the control data register.
[0075] The WAIT instruction enables start / stop control of robot motion by receiving data from the IO switch receive register or performing a delay operation. If the delay time in the instruction is non-zero, a delay operation is performed until the delay operation ends and the WAIT instruction exits. If the delay time is zero, the instruction waits for data at the corresponding position in the IO switch receive register according to the programmable I / O interface card number and its corresponding IO pin number in the instruction until the data is zero and the WAIT instruction exits.
[0076] The control device, based on control commands and configurable IO switch signals, enables multiple robot systems to perform collaborative control through IO switch signals. This achieves interaction and collaborative control between robot systems, improves the flexibility and efficiency of multi-machine collaborative control, and increases the number of industrial robots that can be collaboratively controlled by the collaborative control mechanism.
[0077] When performing collaborative control, each programmable I / O interface card receives feedback signals from the peripheral device layer and signals sent by other programmable I / O interface cards, and sends them to the control device via the EtherCAT bus to control the start, stop, exit the loop, and other collaborative actions of the corresponding robot.
[0078] The control device controls the start / stop status of different robots and peripherals by sending and receiving I / O switching signals between the robot sub-threads in the control kernel layer of the control software, thereby achieving coordinated control of multiple robots.
[0079] Example:
[0080] The technical solution of the present invention will be described in detail below with reference to the accompanying drawings.
[0081] Figure 1This is a schematic diagram of the overall framework of the open industrial robot multi-robot collaborative control system of the present invention. The open industrial robot multi-robot collaborative control device consists of a PC, multiple programmable I / O interface cards, and control software. The PC mainly decodes and executes robot control commands, including the human-machine interface, trajectory planning and interpolation control of robot motion, control and reception of switch signals from each interface card, acquisition of robot status data, and low real-time functions such as multi-robot collaborative control. Each programmable I / O interface card assists the PC in completing real-time control of external devices and robots, while simultaneously acquiring feedback signals from peripheral devices and sending them to the PC. The system adopts a "PC + multiple programmable I / O interface cards" architecture. By making reasonable use of hardware and software resources, the PC completes the decoding and execution of robot control commands, including robot motion trajectory planning and interpolation control, interface switch control and signal reception, robot pose data acquisition, and collaborative control of multiple programmable I / O interface cards and multiple robots. Each programmable I / O interface card completes secondary fine interpolation control of the robot motion trajectory and assists the PC in controlling peripherals and providing feedback on robot pose and other states. This effectively reduces the system's functional coupling while avoiding hardware redundancy and improving the system's real-time performance.
[0082] Figure 2 This is a schematic diagram of the switch configuration principle of the present invention. The open industrial robot multi-robot collaborative control system can adapt to different industrial application needs by configuring the functional modules of the control software (activating or hiding unnecessary functional units), configuring system parameters, motion parameters, interface parameters, I / O parameters, and servo parameters, according to the number of robots to be controlled, the number of robot degrees of freedom, and the collaborative control requirements with its peripherals. This is achieved by configuring the functional unit attributes, system parameters, motion parameters, interface parameters, I / O parameters, and servo parameters, through the configuration of the control software's functional modules (activating or hiding unnecessary functional units). This saves resources and increases the flexibility of the industrial automation control system. Users configure the on / off state, output / input mode, and enable port number correspondence of the I / O switch pins of each programmable I / O interface card through the UI human-machine interface. I / O switch configuration data and I / O switch configuration flags are sent to the corresponding robot sub-thread of the control kernel layer via shared memory. After the robot sub-thread in the control kernel layer receives the valid I / O switch configuration flag, the data encapsulation module generates the corresponding command number data according to the user layer command encoding format, and inserts the data into the specified EtherCAT data frame position according to the motion control mode configuration data. It then sends the data to the corresponding programmable I / O interface card through the EtherCAT communication module. The programmable I / O interface card sets the on / off, output / input mode, and enable port number correspondence of its multiple I / O switch pin ports according to the received I / O switch configuration data, thereby realizing the control of peripheral device actuators and other robots by the programmable I / O interface card, as well as the acquisition and reception of robot pose and other peripheral device coordination signals.
[0083] Figure 3 This is a control structure diagram of the UI layer and control kernel layer of this invention. Users can flexibly configure the number of degrees of freedom (linked axes) of the robot's joints, the number of axes for translational motion of the robot base, and the motion mode parameters of each control axis, enabling the programmable I / O interface card to control up to 7 degrees of freedom robot joint movements plus 3 degrees of freedom robot base translational motions. Users configure the number of degrees of freedom of the controlled robot joints and the number of axes for base translational motion through the UI human-machine interface. This information is written to the configuration data management module of the corresponding robot sub-thread in the control kernel layer via shared memory. When the robot control system executes control commands, the command data, after being decoded and interpolated by the corresponding robot sub-thread in the control kernel layer, activates the corresponding robot joint and base enable control axes and the I / O switch ports of the controlled programmable I / O interface card according to the configured motion control mode. The appropriate interpolation function (four-axis, five-axis, six-axis, or seven-axis + three translational axes) is selected for motion trajectory interpolation, and the command data is encapsulated according to the configured data format and written to the corresponding EtherCATS data frame bits. When command data is sent to the programmable I / O interface card, the corresponding EtherCAT slave station is determined based on the motion control mode configuration parameters to control the movement of the robot's joints and base, as well as the coordinated actions of other peripherals. Simultaneously, the encoder position feedback data from the corresponding EtherCAT slave station and the peripheral status feedback signals from the I / O switch pins of the programmable I / O interface card are read according to the motion control mode configuration parameters.
[0084] Figure 4 This is a flowchart illustrating the read / write process of the control data read / write management module of this invention. The open industrial robot multi-robot collaborative control system includes switch control instructions (SET and RESET), robot motion control instructions (MOVJ, MOVL, and MOVC), rack movement control instructions (LA, LB, and LC), loop instructions (FOR and BREAK), and collaborative instructions (WAIT and REC). The decoding module stores the decoded motion control data and switch control data into the control data register. The robot group control system reads the contents of the motion control data register sequentially according to the instruction number. When the WAIT instruction is executed, the control data read / write operation stops until the delay ends or the IO receive register receives the specified wait signal. When the BREAK instruction is executed, it is necessary to determine whether the loop count is zero or whether the REC instruction has received an exit loop signal. If the loop count is zero or an exit loop signal has been received, the loop exits; otherwise, it jumps to the FOR instruction location for read / write. Other instructions perform their corresponding operations but do not affect the read / write operation.
Claims
1. A robot control method based on EtherCAT (PC with multi-programmable I / O interface card), which enables the use of an open industrial robot multi-machine collaborative control device based on EtherCAT (PC with multi-programmable I / O interface card) to perform multi-machine collaborative control operations of open industrial robots, characterized by: In the control method, the PC is used to decode control instructions for multiple robots and execute low real-time functions. The low real-time functions specifically include human-machine interface, trajectory planning and interpolation control of robot motion, control and reception of switch quantities of each interface card, acquisition of robot status data, and multi-robot collaborative control. Each programmable I / O interface card assists the PC in completing real-time control of external devices and robots, while collecting feedback signals from peripheral devices and sending them to the PC; The control method employs a motion trajectory simulation interface in the human-computer interaction interface of the control system software. This interface is used to visualize the motion posture and position of each robot arm in the same robot group. Motion trajectory simulation can be performed before multi-robot collaborative control to avoid collisions between the robot arms during their movement. During the simulation, the robot motion trajectory is observed using the RVIZ visualization tool. The control process of the open-loop industrial robot multi-machine collaborative control method includes the following steps: Step S1: In the control system software, the robot control program code of the UI layer is first encapsulated into the NMLmsg data structure format through the pre-decoding module, and then sent to the control kernel layer through the NML neutral message mechanism based on the RCS library. Finally, the decoding queue and configuration data are sent to the corresponding robot sub-thread through the task command processing function. Step S2: The robot sub-thread decodes the pre-decoding queue according to the configuration data and sends it to the programmable I / O interface card of the specified robot according to the configuration data of the configuration management module, so as to realize the motion control of multiple robots, the control of peripheral actuators and the reception of feedback signals from the peripheral device layer. Step S3: Receive switch signals from any of the programmable I / O interface cards under joint control and signals sent by any of the robots under joint control through the industrial robot multi-machine collaborative control device. Use these signals as trigger signals to start multi-machine actions and perform collaborative control of multiple robots based on feedback signals from peripheral devices.
2. A robot control device using EtherCAT (PC with multi-programmable I / O interface card), for executing the robot control method of claim 1 using EtherCAT (PC with multi-programmable I / O interface card), characterized in that: The control device includes a PC, multiple programmable I / O interface cards, and control software. Data is transmitted between the PC and each programmable I / O interface card via an EtherCAT bus. The PC can be used to configure multiple robot control modes and set the working mode of each input / output port of the programmable I / O interface card. The working mode can be set to set each input / output port as an input / output switch control port or as an input terminal for external status data. The control software layer formed by the control software is divided into a UI layer, a control kernel layer, and a ROS layer. The UI layer generates configuration data and a pre-decoding queue through the human-machine interface, and sends the data to the control kernel layer through the NML neutral message mechanism and shared memory communication mechanism of the RCS library. The control kernel layer consists of a communication management module, a motion control module, a task management module, and an EtherCAT master station module. The ROS layer is responsible for providing the underlying operating environment for the motion simulation function unit of the human-machine interface function module of the application layer. The motion control module has multiple robot sub-threads, and each robot sub-thread controls one robot. The ROS layer includes an Rviz kernel and a ROS communication module, which are used to call the corresponding modules when the system is in simulation mode. The Rviz kernel is responsible for providing the robot simulation interface, which includes trajectory simulation. The ROS communication module controls the robot in the Rviz simulation interface to move by receiving joint information published by the control kernel layer in real time. The programmable I / O interface card is equipped with a configuration data management module, a position feedback module, an I / O switch quantity control module, and a motion trajectory fine interpolation module.
3. The robot control device based on the EtherCAT "PC with multi-programmable I / O interface card" according to claim 2, characterized in that: The control device has an open expansion function. When in use, this function can be configured according to the number of robots to be controlled, the number of robot degrees of freedom, and the collaborative control requirements with its peripherals in the industrial site. The function unit attributes, system parameters, motion parameters, interface parameters, I / O parameters, and servo parameters can be configured by configuring the function modules of the control software to adapt to the application needs of different industrial sites. This saves resources and increases the flexibility of the industrial automation control system. The method of configuring the function modules of the control software during the use of this function is to activate or hide the function units of the modules that are not needed. The control device achieves coordinated control with the automated production line in the industrial field by selecting and configuring the on / off state, output / input mode, and enable port number correspondence of the I / O switch pin ports of its programmable I / O interface card.
4. The robot control device based on the EtherCAT "PC with multi-programmable I / O interface card" according to claim 3, characterized in that: When configuring collaborative control between the control device and the automated production line in the industrial field, the on / off state, output / input mode, and enable port number correspondence of the I / O switch pins of each programmable I / O interface card are configured through the UI human-machine interface. I / O switch configuration data and I / O switch configuration flags are sent to the corresponding robot sub-thread of the control kernel layer via shared memory. When the robot sub-thread of the control kernel layer receives the valid I / O switch configuration flag, the data encapsulation module generates the corresponding command number data according to the user-level command encoding format and inserts the data into the specified EtherCAT data frame position according to the motion control mode configuration data. This data is then sent to the corresponding programmable I / O interface card via the EtherCAT communication module. The programmable I / O interface card sets the on / off state, output / input mode, and enable port number correspondence of its multiple I / O switch pins based on the received I / O switch configuration data. This enables the programmable I / O interface card to control peripheral actuators and other robots, as well as to acquire and receive robot pose and collaborative signals from other peripheral devices.
5. The robot control device based on the EtherCAT "PC with multi-programmable I / O interface card" according to claim 2, characterized in that: When configuring and selecting the motion control mode of the industrial robot, the configuration range of the control device includes setting the number of degrees of freedom of the robot joints and the number of axes of translational motion of the robot base, as well as the motion mode parameters of each control axis. The number of degrees of freedom of the robot joints is the number of axes linked. It can control the joint motion of 7 degrees of freedom of the robot plus the translational motion of 3 degrees of freedom of the robot base. When users configure the number of degrees of freedom of the robot's joints and the number of axes of translational motion of the base through the UI human-computer interaction interface, the configuration data is written to the configuration data management module of the corresponding robot sub-thread in the control kernel layer of the control software via shared memory. When the robot control system runs control commands, the command data, after being decoded and interpolated by the corresponding robot sub-thread in the control kernel layer, activates the enable control axes of the corresponding robot joints and base, as well as the I / O switch ports of the controlled programmable I / O interface card, according to the configured motion control mode. It selects the interpolation function corresponding to four-axis, five-axis, six-axis, or seven-axis + three translation axes to perform motion trajectory interpolation, and encapsulates the command data according to the configured data format and writes it to the corresponding EtherCATS data frame bit. When the command data of the control command is sent to the programmable I / O interface card, it determines which EtherCAT slave to send it to according to the motion control mode configuration parameters, controlling the movement of each joint and base of the robot, as well as the coordinated actions of other peripherals. Simultaneously, based on the motion control mode configuration parameters, the encoder position feedback data of the corresponding EtherCAT slave station and the peripheral status feedback signals of the I / O switch pin ports of the programmable I / O interface card are read.
6. The robot control device based on the EtherCAT "PC with multi-programmable I / O interface card" according to claim 2, characterized in that: The control device uses various switching signals from various peripherals in the industrial field as the coordination signals for motion control of the robot control system. The instructions corresponding to the switching signals include the switching control instructions SET and RESET, as well as the robot motion control instructions MOVJ, MOVL and MOVC and the rack movement control instructions LA, LB and LC, as well as the loop instructions FOR and BREAK, and the coordination instructions WAIT and REC. When the control device executes motion control coordination of the robot control system based on various switching signals from various peripherals in the industrial field, the decoding module stores the decoded motion control data and switching control data into the control data register. The data structure of the control data register includes instruction type, instruction number, coarse interpolation data, cycle start number, and switching quantity number. The robot group control system reads the contents of the motion control data register in sequence according to the instruction number.
7. The robot control device based on the EtherCAT "PC with multi-programmable I / O interface card" according to claim 6, characterized in that: The SET and RESET control instructions enable the programmable I / O interface card to control peripheral device actuators and communicate with other robot sub-threads by setting the data in the digital signal transmit register and digital signal receive register. The SET instruction sets the data in the corresponding position of the digital signal transmit register to 1 according to the programmable I / O interface card number and its corresponding IO pin number, while RESET sets it to 0. When the IO pin number is 0, it indicates an internal trigger signal of the robot control system, and the digital signal instruction controls the data in the digital signal receive register. The robot motion control commands MOVJ, MOVL, and MOVC, based on the current position of each joint of the robot and the target position and motion speed in the command, obtain robot motion interpolation data through the corresponding four-axis, five-axis, six-axis, or seven-axis interpolation algorithms, and store it in the robot interpolation data buffer to realize robot trajectory control; The rack movement control commands LA, LB, and LC obtain rack interpolation data through the translation axis interpolation algorithm to control the translational motion of the robot base. The rack motion commands determine whether to store the rack interpolation data into the rack interpolation data buffer based on the number of rack axes and rack enable status in the motion control mode configuration data. The FOR and BREAK loop instructions enable the cyclic execution of robot instructions by controlling the read and write positions of the control data register; the FOR instruction is the start of the loop and is used to set the number of loop executions, while the BREAK instruction is the end of the loop and is used to determine whether to exit the loop. The cooperative instruction REC reads the data at a specified position in the IO switch quantity receive register at the current moment to receive the exit loop signal; according to the programmable I / O interface card number and its corresponding IO pin number in the instruction, it saves the data at the specified position in the IO switch quantity receive register to the corresponding position in the cooperative signal register for use in determining the BREAK instruction.
8. The robot control device of EtherCAT "PC with multi-programmable I / O interface card" according to claim 7, characterized in that: The conditions for the BREAK instruction to determine whether to exit the loop include: Case 1: When the loop exit signal specified in the BREAK instruction is received, the loop will exit regardless of the loop count. Case 2: When no exit loop signal is received, there are two cases depending on the FOR instruction: ① When the loop count is infinite, the robot instructions between the FOR and BREAK instructions will be repeatedly executed until the exit loop signal is received; ② When the loop count is a positive integer, it is determined whether the loop count is zero. If it is zero, the loop is exited; if it is non-zero, the loop count is decremented by one, and the jump is made to the location of the FOR instruction in the control data register. The WAIT instruction enables start / stop control of robot motion by receiving data from the IO switch receive register or performing a delay operation. If the delay time in the instruction is non-zero, a delay operation is performed until the delay operation ends and the WAIT instruction exits. If the delay time is zero, the instruction waits for data at the corresponding position in the IO switch receive register according to the programmable I / O interface card number and its corresponding IO pin number in the instruction until the data is zero and the WAIT instruction exits.
9. The robot control device of EtherCAT "PC with multi-programmable I / O interface card" according to claim 6, characterized in that: The control device, based on control commands and configurable IO switch signals, enables multiple robot systems to coordinate control through IO switch signals. This achieves interaction and coordinated control between robot systems, improves the flexibility and efficiency of multi-machine coordinated control, and increases the number of industrial robots that can be coordinated. When performing collaborative control, each programmable I / O interface card receives feedback signals from the peripheral device layer and signals sent by other programmable I / O interface cards, and sends them to the control device via the EtherCAT bus to control the start, stop, exit the loop, and other collaborative actions of the corresponding robot. The control device controls the start / stop status of different robots and peripherals by sending and receiving I / O switching signals between the robot sub-threads in the control kernel layer of the control software, thereby achieving coordinated control of multiple robots.
Citation Information
Patent Citations
Information processing device, information processing method, and information processing program
CN109613880A
EtherCAT bus three-axis SCARA mechanical arm controlling system
CN110948483A