[go: up one dir, main page]

CN105334806A - Method and system for controlling motions of industrial robot based on EtherCAT bus - Google Patents

Method and system for controlling motions of industrial robot based on EtherCAT bus Download PDF

Info

Publication number
CN105334806A
CN105334806A CN201510813119.5A CN201510813119A CN105334806A CN 105334806 A CN105334806 A CN 105334806A CN 201510813119 A CN201510813119 A CN 201510813119A CN 105334806 A CN105334806 A CN 105334806A
Authority
CN
China
Prior art keywords
data
industrial robot
encoder
encoder data
buffer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510813119.5A
Other languages
Chinese (zh)
Other versions
CN105334806B (en
Inventor
陈卫彬
李帅
邹金欣
花磊
曹为理
孙宏伟
李景银
张允志
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
716th Research Institute of CSIC
Jiangsu Jari Technology Group Co Ltd
Original Assignee
716th Research Institute of CSIC
Jiangsu Jari Technology Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 716th Research Institute of CSIC, Jiangsu Jari Technology Group Co Ltd filed Critical 716th Research Institute of CSIC
Priority to CN201510813119.5A priority Critical patent/CN105334806B/en
Publication of CN105334806A publication Critical patent/CN105334806A/en
Application granted granted Critical
Publication of CN105334806B publication Critical patent/CN105334806B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

The invention discloses a method and a system for controlling the motions of an industrial robot based on an EtherCAT bus. According to the invention, the synchronous transmission of data is performed by using the EtherCAT bus, and an additional motion control card is not required, so that the hardware design of the system is simplified; by taking encoder data received by a second buffer subunit at the last time as first encoder data and then sending the first encoder data to a data processing unit when a first buffer subunit does not receive the first encoder data, the motion continuity of the industrial robot can be improved; and by comparing a data processing cycle with a data communication cycle, when a register value is greater than a preset threshold number, the data communication cycle is prolonged, so that the effectiveness of data transmission in the motion process of the robot can be improved.

Description

Industrial robot motion control method and system based on EtherCAT bus
Technical Field
The invention relates to a multi-axis motion control method of an industrial robot, in particular to an industrial robot motion control method and system based on an EtherCAT bus.
Background
The background of the related art of the present invention will be described below, but the description does not necessarily constitute the prior art of the present invention.
At present, the multi-axis motion control method of an industrial robot mostly adopts a structure of 'computer + motion control card'. The computer carries out the operation of the kinematics algorithm of the industrial robot, the motion control card resolves the data of each shaft of the industrial robot, and the data are simultaneously sent to each servo shaft of the industrial robot in a hardware timing mode to control the simultaneous movement of each shaft of the industrial robot. This control method requires an additional motion control card and is not easy to expand.
Disclosure of Invention
The invention aims to provide an industrial robot motion control method and system based on an EtherCAT bus, which have the advantages of good synchronization and continuity of motion of all axes of the industrial robot, simple design of system hardware and good expandability.
According to one aspect of the invention, an industrial robot motion control method based on an EtherCAT bus is provided, and comprises the following steps:
s1, judging whether a first buffer subunit of the receiving buffer unit receives first encoder data of each shaft of the industrial robot at the current position, which is sent by a driver through an EtherCAT bus; if the first buffer subunit receives the first encoder data, the first encoder data is sent to a data processing unit of the EtherCAT master station; if the first buffer subunit does not receive the first encoder data, the encoder data received last time by a second buffer subunit of the receiving buffer unit is taken as the first encoder data to be sent to the data processing unit; recording the current time t1
S2, determining a kinematics algorithm according to a user instruction, and determining second encoder data of each shaft of the industrial robot at the next motion position based on the first encoder data and the kinematics algorithm;
s3, sending the second encoder data to a second buffer subunit and a sending buffer unit through an EtherCAT bus, and sending the second encoder data in the sending buffer unit to a driver; recording the current time t2
S4, if the data processing period T1Greater than the data communication period T2Increasing the register value by 1; when the register value is larger than the preset threshold value times, the data communication period T is prolonged2
Wherein the data processing period T1Refers to the time from the data processing unit receiving the first encoder data until the second encoder data in the transmission buffer unit is transmitted to the driver, T1=t2-t1(ii) a The data communication period T2Refers to the time interval during which the drive sends the first encoder data over the EtherCAT bus.
Preferably, when sending the second encoder data to the second buffering sub-unit, the data in the second buffering sub-unit is overwritten with the second encoder data.
Preferably, step S4 includes:
if T1>T2Increasing the register value by 1 and obtaining the data processing period T1With data communication period T2The cycle difference of (a);
inquiring a preset first mapping relation according to the register value and the standard deviation of the period difference acquired when the register value is increased every time, and determining the extension amount of the data communication period;
extending the data communication period T according to the extension amount of the data communication period2
Preferably, the method for motion control of an industrial robot according to the present invention further comprises:
and when the EtherCAT data frame detects that an external servo axis or an IO module is accessed into the EtherCAT network, reconfiguring the protocol stack of the EtherCAT network.
Preferably, step S2 includes:
if the user instruction is linear motion or circular motion, determining the kinematic algorithm as a robot Cartesian space kinematic algorithm;
converting the first encoder data into a joint space angle of the current position according to the reduction ratio of each shaft of the industrial robot;
performing forward solution operation on the industrial robot, and converting the joint space angle of the current position into a Cartesian space point coordinate of the current position;
judging whether the industrial robot is in an acceleration section, a uniform speed section or a deceleration section according to the motion parameters of the industrial robot, and determining the space point coordinate of the next motion position through interpolation operation;
performing inverse solution operation on the industrial robot, and converting the space point coordinate of the next motion position into a joint space angle of the next motion position;
and converting the joint space angle of the next motion position into second encoder data according to the reduction ratio of each shaft of the industrial robot.
Preferably, step S2 includes:
if the user instruction is point-to-point motion, determining the kinematic algorithm as a robot joint space kinematic algorithm;
converting the first encoder data into a joint space angle of the current position according to the reduction ratio of each shaft of the industrial robot;
judging whether the industrial robot is in an acceleration section, a uniform speed section or a deceleration section according to the motion parameters of the industrial robot, and determining the joint space angle of the next motion position through interpolation operation;
and converting the joint space angle of the next motion position into second encoder data according to the reduction ratio of each shaft of the industrial robot.
According to another aspect of the invention, an industrial robot motion control system based on an EtherCAT bus is provided, which comprises: the device comprises a control unit, a receiving buffer unit, a data processing unit, a sending buffer unit, a register unit, a data communication adjusting unit and a data storage unit; wherein,
the receiving buffer unit includes: a first receiving buffer subunit and a second receiving buffer subunit; the first receiving buffer subunit is used for receiving and storing first encoder data of each shaft of the industrial robot at the current position, which is sent by the driver through an EtherCAT bus; the second receiving buffer subunit is used for receiving and storing second encoder data sent by the data processing unit through an EtherCAT bus;
the data processing unit is used for judging whether the first buffer subunit receives first encoder data sent by the driver: if the first buffer subunit receives the first encoder data, acquiring a first encoder number from the first buffer subunit through an EtherCAT bus, and if the first buffer subunit does not receive the first encoder data, taking the encoder data received by the second buffer subunit for the last time as the first encoder data and acquiring the first encoder data through the EtherCAT bus; the data processing unit is also used for determining a kinematics algorithm according to a user instruction, determining second encoder data of each shaft of the industrial robot at the next motion position based on the first encoder data and the kinematics algorithm, sending the second encoder data to the second buffer subunit and the sending buffer unit through an EtherCAT bus, and sending the second encoder data in the sending buffer unit to the driver;
the data communication adjusting unit includes: a timer and a register; the timer is used for recording the moment t when the data processing unit receives the first encoder data1And a time t at which the second encoder data in the transmission buffer unit is transmitted to the driver2
The control unit is used for judging the data processing period T1Whether greater than the data communication period T2: if T1>T2Increasing the register value by 1, and prolonging the data communication period T when the register value is more than the preset threshold value times2
Wherein the data processing period T1Refers to the time from the data processing unit receiving the first encoder data until the second encoder data in the transmission buffer unit is transmitted to the driver, T1=t2-t1(ii) a The data communication period T2The time interval that the driver sends the first encoder data through an EtherCAT bus is defined; the protocol stack of the EtherCAT network is stored in the data storage unit and comprises a data communication period T2
Preferably, when sending the second encoder data to the second buffering sub-unit, the data in the second buffering sub-unit is overwritten with the second encoder data.
Preferably, the control unit is further configured to: if T1>T2Obtaining a data processing period T1With data communication period T2The cycle difference of (a); determining a standard deviation of the cycle difference obtained each time a register value is increased; inquiring a preset first mapping relation according to the register value and the standard deviation of the period difference, and determining the extension amount of the data communication period; extending the data communication period T according to the extension amount of the data communication period2
The data storage unit stores register values and standard deviations of the cycle differences to inquire a preset first mapping relation.
Preferably, the control unit is further configured to:
and when the EtherCAT data frame detects that an external servo axis or an IO module is accessed into the EtherCAT network, reconfiguring the protocol stack of the EtherCAT network.
The motion control method of the industrial robot based on the EtherCAT bus comprises the following steps: determining second encoder data of each shaft of the industrial robot at the next motion position according to a kinematic algorithm corresponding to the user instruction and the first encoder data, and sending the second encoder data in the sending buffer unit to the driver; if the data processing period T1Greater than the data communication period T2Increasing the register value by 1; when the register value is larger than the preset threshold value times, the data communication period T is prolonged2. The EtherCAT bus is adopted for data synchronous transmission, an additional motion control card is not needed, and the system hardware design is simplified; when the first buffer subunit does not receive the first encoder data, the encoder data received by the second buffer subunit for the last time is sent to the data processing unit as the first encoder data, so that the motion continuity of the industrial robot can be improved; by comparing the data processing period with the data communication period and when the register value is greater than the preset threshold value times, the data communication period is prolonged, and the effectiveness of data transmission in the movement process of the robot can be improved.
The invention also provides an industrial robot motion control system based on the EtherCAT bus, which has all the beneficial effects of the method.
Drawings
The features and advantages of the present invention will become more readily appreciated from the detailed description section provided below with reference to the drawings, in which:
fig. 1 is a schematic diagram showing an industrial robot motion control system based on an EtherCAT bus according to the present invention.
Detailed Description
Exemplary embodiments of the present invention will be described in detail below with reference to the accompanying drawings. The description of the exemplary embodiments is for purposes of illustration only and is not intended to limit the invention, its application, or uses.
In the prior art, the industrial robot motion control method mostly adopts a structure of 'computer + motion control card', the computer performs the operation of the industrial robot kinematics algorithm, the motion control card simultaneously sends the data of each axis of the resolved industrial robot to each servo axis of the industrial robot in a hardware timing mode, and the axes of the industrial robot are controlled to move simultaneously. This control method requires an additional motion control card and is not easy to expand. The invention adopts the EtherCAT bus to carry out data synchronous transmission, does not need an additional motion control card and simplifies the system hardware design.
In the motion control process of the industrial robot, a driver sends first encoder data of the industrial robot at the current position to a receiving buffer unit through an EtherCAT bus, a data processing unit calculates second encoder data of each shaft of the industrial robot at the next motion position according to the first encoder data and sends the second encoder data to the driver, and the industrial robot is controlled to move to the next motion position through the driver. In order to improve the accuracy and the continuity of the motion trail of the industrial robot, the motion positions of the industrial robot on the motion trail can be increased as much as possible. Defining a data processing period T1Starting from the reception of the first encoder data by the data processing unit to the second encodingTime until encoder data is sent to driver, data communication period T2The time interval for the driver to send the first encoder data over the EtherCAT bus. The number of positions moved by an industrial robot is often influenced by the data communication period, for example, when T1<T2When the motion control process of the industrial robot is just started, the industrial robot is located at a first motion position, the driver sends first encoder data of the first motion position to the first buffer subunit, the data processing unit can obtain the first encoder data and convert the first encoder data into second encoder data to be sent to the driver, and the industrial robot can move to a second motion position under the driving of the driver, and the T-shaped buffer unit is used for buffering the first encoder data and the second encoder data1<T2The driver can not send the first encoder data of the industrial robot at the second motion position through the EtherCAT bus at once, only when the data communication period is finished and the next data communication period is entered, the driver can send the first encoder data of the industrial robot at the second motion position again, and the situation can possibly occur at any motion position after the second motion position, so that the number of effective motion positions of the industrial robot on the motion track is small, and the accuracy of motion track control of the industrial robot is reduced.
In order to solve the problem, according to the motion control method of the industrial robot based on the EtherCAT bus of the present invention, in step S1, it is first determined whether the first buffer sub-unit of the receiving buffer unit receives the first encoder data of each axis of the industrial robot at the current position, which is sent by the driver through the EtherCAT bus; if the first buffer subunit receives the first encoder data, the first encoder data is sent to a data processing unit of the EtherCAT master station; and if the first buffering subunit does not receive the first encoder data, the encoder data received last time by the second buffering subunit of the receiving buffering unit is taken as the first encoder data to be sent to the data processing unit. By adopting the mode, the current T can be ensured1<T2The data processing unit continuously obtains the first encoder data, therebyThe number of effective motion positions of the processing robot on the motion track is increased, and the accuracy of the motion track control of the industrial robot is improved.
The first encoder data in the present invention may include: the status word, the current position, the current speed and the current torque of the actuator corresponding to each axis of the industrial robot.
The moment when the data processing unit receives the first encoder data is denoted t1
And S2, determining a kinematic algorithm according to the user instruction, and determining second encoder data of each shaft of the industrial robot at the next motion position based on the first encoder data and the kinematic algorithm. The second encoded information in the present invention may include: control word of the driver, next movement position, next movement speed and next movement torque.
According to a preferred embodiment of the present invention, step S2 includes:
if the user instruction is linear motion or circular motion, determining the kinematic algorithm as a Cartesian space kinematic algorithm of the robot;
converting the first encoder data into a joint space angle of the current position according to the reduction ratio of each shaft of the industrial robot;
performing forward solution operation on the industrial robot, and converting the joint space angle of the current position into a Cartesian space point coordinate of the current position;
judging whether the industrial robot is in an acceleration section, a uniform speed section or a deceleration section according to the motion parameters of the industrial robot, and determining the space point coordinate of the next motion position through interpolation operation;
performing inverse solution operation on the industrial robot, and converting the space point coordinate of the next motion position into a joint space angle of the next motion position;
and converting the joint space angle of the next motion position into second encoder data according to the reduction ratio of each shaft of the industrial robot.
According to still another preferred embodiment of the present invention, the step S2 includes:
if the user instruction is point-to-point motion, determining the kinematic algorithm as a robot joint space kinematic algorithm;
converting the first encoder data into a joint space angle of the current position according to the reduction ratio of each shaft of the industrial robot;
judging whether the industrial robot is in an acceleration section, a uniform speed section or a deceleration section according to the motion parameters of the industrial robot, and determining the joint space angle of the next motion position through interpolation operation;
and converting the joint space angle of the next motion position into second encoder data according to the reduction ratio of each shaft of the industrial robot.
And S3, sending the second encoder data to the second buffer subunit and the sending buffer unit through the EtherCAT bus, and sending the second encoder data in the sending buffer unit to the driver. When the second encoder data is sent to the second buffer subunit, the second encoder data may be directly stored in the second buffer subunit, or the second encoder data may overwrite the data in the second buffer subunit. The moment when the second encoder data in the transmission buffer unit is transmitted to the driver is denoted as t2Then data processing period T1=t2-t1
When T is1>T2And the data processing unit acquires the first encoder data, converts the first encoder data into the second encoder data and sends the second encoder data to the driver, wherein the frequency of the first encoder data sent by the driver to the receiving buffer unit is less than the frequency of the first encoder data sent by the driver, and the quantity of the second encoder data received by the driver is less than the quantity of the first encoder data sent by the driver, so that the quantity of effective motion positions of the industrial robot is reduced, and the control accuracy of the motion track of the industrial robot is not improved.
To is coming toTo prevent this, the method for controlling the motion of an industrial robot according to the present invention further includes, after step S3, step S4: if the data processing period T1Greater than the data communication period T2Increasing the register value by 1; when the register value is larger than the preset threshold value times, the data communication period T is prolonged2. Preferably, step S4 includes:
if T1>T2Increasing the register value by 1 and obtaining the data processing period T1With data communication period T2The cycle difference of (a);
inquiring a preset first mapping relation according to the register value and the standard deviation of the cycle difference obtained when the register value is increased every time, and determining the extension amount of the data communication cycle;
extending the data communication period T according to the amount of extension of the data communication period2
In practical application, sometimes an external servo axis or IO module needs to be accessed in an EtherCAT network. In addition, because the motion control method of the industrial robot does not need an additional motion control card, the hardware design of the system is simple, and the expansion of the motion control system of the industrial robot is more facilitated. In order to increase the reaction speed to the external servo axis or the IO module and increase the efficiency of the motion control of the industrial robot, the motion control method of the industrial robot of the present invention may further include:
when the EtherCAT data frame detects that an external servo axis or an IO module is accessed to the EtherCAT network, the protocol stack of the EtherCAT network is reconfigured, and the influence of the reconfiguration of the protocol stack after power failure on the motion control efficiency of the industrial robot in the prior art is avoided.
The industrial robot motion control system based on the industrial robot motion control method of the invention comprises: a control unit (not shown in the figure), a reception buffer unit 20, a data processing unit 10, a transmission buffer unit 40, a register unit (not shown in the figure), a data communication adjusting unit (not shown in the figure), and a data storage unit (not shown in the figure); wherein,
the reception buffer unit 20 includes: a first reception buffer subunit 21 and a second reception buffer subunit 22; the first receiving buffer subunit 21 is used for receiving and storing the first encoder data of each shaft of the industrial robot at the current position, which is sent by the driver 30 through an EtherCAT bus; the second receiving buffer subunit 22 is configured to receive and store second encoder data sent by the data processing unit through an EtherCAT bus;
the data processing unit is used for judging whether the first buffer subunit 21 receives the first encoder data sent by the driver 30: if the first buffer subunit 21 receives the first encoder data, acquiring a first encoder number from the first buffer subunit 21 through an EtherCAT bus, and if the first buffer subunit 21 does not receive the first encoder data, taking the encoder data received last by the second buffer subunit 22 as the first encoder data and acquiring the first encoder data through the EtherCAT bus; the data processing unit is further used for determining a kinematics algorithm according to a user instruction, determining second encoder data of each shaft of the industrial robot at the next motion position based on the first encoder data and the kinematics algorithm, sending the second encoder data to the second buffer subunit 22 and the sending buffer unit 40 through an EtherCAT bus, and sending the second encoder data in the sending buffer unit 40 to the driver 30;
the data communication adjusting unit includes: a timer and a register; the timer is used for recording the moment t when the data processing unit receives the first encoder data1And a time t at which the second encoder data in the transmission buffer unit 40 is transmitted to the driver 302
The control unit is used for judging the data processing period T1Whether greater than the data communication period T2: if T1>T2Increasing the register value by 1, and prolonging the data communication period T when the register value is more than the preset threshold value times2
Wherein, the data processing period T1Refers to the processing of slave dataThe time, T, from the time the unit receives the first encoder data until the second encoder data in the transmission buffer unit 40 is transmitted to the driver1=t2-t1(ii) a Data communication period T2The time interval that the driver sends the first encoder data through an EtherCAT bus is defined; the data storage unit stores the protocol stack of the EtherCAT network, and the protocol stack of the EtherCAT network comprises a data communication cycle T2
Preferably, when the second encoder data is sent to the second buffer sub-unit 22, the data in the second buffer sub-unit 22 is overwritten with the second encoder data.
Preferably, the control unit is further configured to: if T1>T2Obtaining a data processing period T1With data communication period T2The cycle difference of (a); determining a standard deviation of a cycle difference obtained each time a register value is increased; inquiring a preset first mapping relation according to the register value and the standard deviation of the period difference, and determining the extension amount of the data communication period; extending the data communication period T according to the amount of extension of the data communication period2
The data storage unit stores a register value and a standard deviation of a cycle difference to inquire a preset first mapping relation.
Preferably, the control unit is further configured to:
and when the EtherCAT data frame detects that an external servo axis or an IO module is accessed into the EtherCAT network, reconfiguring the protocol stack of the EtherCAT network.
The EtherCAT bus is adopted for data synchronous transmission, an additional motion control card is not needed, and the system hardware design is simplified; when the first buffer subunit does not receive the first encoder data, the encoder data received by the second buffer subunit for the last time is sent to the data processing unit as the first encoder data, so that the motion continuity of the industrial robot can be improved; by comparing the data processing period with the data communication period and when the register value is greater than the preset threshold value times, the data communication period is prolonged, and the effectiveness of data transmission in the movement process of the robot can be improved.
While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the specific embodiments described and illustrated in detail herein, and that various changes may be made therein by those skilled in the art without departing from the scope of the invention as defined by the appended claims.

Claims (10)

1. An industrial robot motion control method based on an EtherCAT bus comprises the following steps:
s1, judging whether a first buffer subunit of the receiving buffer unit receives first encoder data of each shaft of the industrial robot at the current position, which is sent by a driver through an EtherCAT bus; if the first buffer subunit receives the first encoder data, the first encoder data is sent to a data processing unit of the EtherCAT master station; if the first buffer subunit does not receive the first encoder data, the second buffer subunit of the receiving buffer unit receives the first encoder data for the last timeAs first encoder data to the data processing unit; recording the current time t1
S2, determining a kinematics algorithm according to a user instruction, and determining second encoder data of each shaft of the industrial robot at the next motion position based on the first encoder data and the kinematics algorithm;
s3, sending the second encoder data to a second buffer subunit and a sending buffer unit through an EtherCAT bus, and sending the second encoder data in the sending buffer unit to a driver; recording the current time t2
S4, if the data processing period T1Greater than the data communication period T2Increasing the register value by 1; when the register value is larger than the preset threshold value times, the data communication period T is prolonged2
Wherein the data processing period T1Refers to the time from the data processing unit receiving the first encoder data until the second encoder data in the transmission buffer unit is transmitted to the driver, T1=t2-t1(ii) a The data communication period T2Refers to the time interval during which the drive sends the first encoder data over the EtherCAT bus.
2. The industrial robot motion control method according to claim 1, wherein when sending the second encoder data to the second buffer subunit, overwriting the data in the second buffer subunit with the second encoder data.
3. The industrial robot motion control method according to claim 1, wherein the step S4 includes:
if T1>T2Increasing the register value by 1 and obtaining the data processing period T1With data communication period T2The cycle difference of (a);
inquiring a preset first mapping relation according to the register value and the standard deviation of the period difference acquired when the register value is increased every time, and determining the extension amount of the data communication period;
extending the data communication period T according to the extension amount of the data communication period2
4. The industrial robot motion control method of claim 1, further comprising:
and when the EtherCAT data frame detects that an external servo axis or an IO module is accessed into the EtherCAT network, reconfiguring the protocol stack of the EtherCAT network.
5. The industrial robot motion control method according to any one of claims 1-4, wherein step S2 includes:
if the user instruction is linear motion or circular motion, determining the kinematic algorithm as a robot Cartesian space kinematic algorithm;
converting the first encoder data into a joint space angle of the current position according to the reduction ratio of each shaft of the industrial robot;
performing forward solution operation on the industrial robot, and converting the joint space angle of the current position into a Cartesian space point coordinate of the current position;
judging whether the industrial robot is in an acceleration section, a uniform speed section or a deceleration section according to the motion parameters of the industrial robot, and determining the space point coordinate of the next motion position through interpolation operation;
performing inverse solution operation on the industrial robot, and converting the space point coordinate of the next motion position into a joint space angle of the next motion position;
and converting the joint space angle of the next motion position into second encoder data according to the reduction ratio of each shaft of the industrial robot.
6. The industrial robot motion control method according to any one of claims 1-4, wherein step S2 includes:
if the user instruction is point-to-point motion, determining the kinematic algorithm as a robot joint space kinematic algorithm;
converting the first encoder data into a joint space angle of the current position according to the reduction ratio of each shaft of the industrial robot;
judging whether the industrial robot is in an acceleration section, a uniform speed section or a deceleration section according to the motion parameters of the industrial robot, and determining the joint space angle of the next motion position through interpolation operation;
and converting the joint space angle of the next motion position into second encoder data according to the reduction ratio of each shaft of the industrial robot.
7. An industrial robot motion control system based on an EtherCAT bus is characterized by comprising: the device comprises a control unit, a receiving buffer unit, a data processing unit, a sending buffer unit, a register unit, a data communication adjusting unit and a data storage unit; wherein,
the receiving buffer unit includes: a first receiving buffer subunit and a second receiving buffer subunit; the first receiving buffer subunit is used for receiving and storing first encoder data of each shaft of the industrial robot at the current position, which is sent by the driver through an EtherCAT bus; the second receiving buffer subunit is used for receiving and storing second encoder data sent by the data processing unit through an EtherCAT bus;
the data processing unit is used for judging whether the first buffer subunit receives first encoder data sent by the driver: if the first buffer subunit receives the first encoder data, acquiring a first encoder number from the first buffer subunit through an EtherCAT bus, and if the first buffer subunit does not receive the first encoder data, taking the encoder data received by the second buffer subunit for the last time as the first encoder data and acquiring the first encoder data through the EtherCAT bus; the data processing unit is also used for determining a kinematics algorithm according to a user instruction, determining second encoder data of each shaft of the industrial robot at the next motion position based on the first encoder data and the kinematics algorithm, sending the second encoder data to the second buffer subunit and the sending buffer unit through an EtherCAT bus, and sending the second encoder data in the sending buffer unit to the driver;
the data communication adjusting unit includes: a timer and a register; the timer is used for recording the moment t when the data processing unit receives the first encoder data1And a time t at which the second encoder data in the transmission buffer unit is transmitted to the driver2
The control unit is used for judging the data processing period T1Whether greater than the data communication period T2: if T1>T2Increasing the register value by 1, and prolonging the data communication period T when the register value is more than the preset threshold value times2
Wherein the data processing period T1Refers to the time from the data processing unit receiving the first encoder data until the second encoder data in the transmission buffer unit is transmitted to the driver, T1=t2-t1(ii) a The data communication period T2The time interval that the driver sends the first encoder data through an EtherCAT bus is defined; the protocol stack of the EtherCAT network is stored in the data storage unit and comprises a data communication period T2
8. The industrial robot motion control system of claim 7 wherein the data in the second buffer sub-unit is overwritten with the second encoder data as the second encoder data is sent to the second buffer sub-unit.
9. An industrial robot motion control system according to claim 7, wherein,
the control unit is further configured to: if T1>T2Obtaining a data processing period T1With data communication period T2The cycle difference of (a); determining a standard deviation of the cycle difference obtained each time a register value is increased; inquiring a preset first mapping relation according to the register value and the standard deviation of the period difference, and determining the extension amount of the data communication period; extending the data communication period T according to the extension amount of the data communication period2
The data storage unit stores register values and standard deviations of the cycle differences to inquire a preset first mapping relation.
10. The industrial robot motion control system of claim 7 wherein the control unit is further configured to:
and when the EtherCAT data frame detects that an external servo axis or an IO module is accessed into the EtherCAT network, reconfiguring the protocol stack of the EtherCAT network.
CN201510813119.5A 2015-11-21 2015-11-21 Industrial robot motion control method and system based on EtherCAT buses Expired - Fee Related CN105334806B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510813119.5A CN105334806B (en) 2015-11-21 2015-11-21 Industrial robot motion control method and system based on EtherCAT buses

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510813119.5A CN105334806B (en) 2015-11-21 2015-11-21 Industrial robot motion control method and system based on EtherCAT buses

Publications (2)

Publication Number Publication Date
CN105334806A true CN105334806A (en) 2016-02-17
CN105334806B CN105334806B (en) 2017-10-10

Family

ID=55285417

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510813119.5A Expired - Fee Related CN105334806B (en) 2015-11-21 2015-11-21 Industrial robot motion control method and system based on EtherCAT buses

Country Status (1)

Country Link
CN (1) CN105334806B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106650031A (en) * 2016-11-29 2017-05-10 南京熊猫电子股份有限公司 Method for automatically setting tool parameters of industrial robot
CN111351857A (en) * 2018-12-24 2020-06-30 核动力运行研究所 Ultrasonic inspection encoder signal transmission system and method based on EtherCAT bus

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1484807A (en) * 2000-12-28 2004-03-24 自动装置工作空间技术有限公司 Versatile robot control system
US20110026407A1 (en) * 2009-07-31 2011-02-03 Omron Corporation Controller
US8295287B2 (en) * 2010-01-27 2012-10-23 National Instruments Corporation Network traffic shaping for reducing bus jitter on a real time controller
WO2013013523A1 (en) * 2011-07-22 2013-01-31 Jiang Junfeng Movement control port and port controller
CN103425112A (en) * 2013-08-19 2013-12-04 电子科技大学 Robot control method based on Ethercat
CN103487640A (en) * 2013-09-22 2014-01-01 浙江大学 Current monitoring method for enterprise electric equipment based on distributed type network
CN104009976A (en) * 2014-05-09 2014-08-27 中国人民银行印制科学技术研究所 A method for real-time communication between multi-master station systems and its equipment
JP5660922B2 (en) * 2011-02-18 2015-01-28 三菱電機株式会社 Serial communication device
CN104391818A (en) * 2014-11-26 2015-03-04 国家电网公司 EtherCAT dual-network data reading and writing system and method thereof
CN104702474A (en) * 2015-03-11 2015-06-10 华中科技大学 FPGA (Field Programmable Gate Array)-based EtherCAT (Ethernet Control Automation Technology) main station device
CN104753958A (en) * 2015-04-17 2015-07-01 深圳市英威腾电气股份有限公司 Card and method for converting communication protocols
CN105024777A (en) * 2015-07-29 2015-11-04 上海新时达电气股份有限公司 Servo driver synchronized method based on Ether CAT real-time Ethernet
CN205281226U (en) * 2015-11-21 2016-06-01 中国船舶重工集团公司第七一六研究所 Industrial robot motion control system based on etherCAT bus

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1484807A (en) * 2000-12-28 2004-03-24 自动装置工作空间技术有限公司 Versatile robot control system
US20110026407A1 (en) * 2009-07-31 2011-02-03 Omron Corporation Controller
US8295287B2 (en) * 2010-01-27 2012-10-23 National Instruments Corporation Network traffic shaping for reducing bus jitter on a real time controller
JP5660922B2 (en) * 2011-02-18 2015-01-28 三菱電機株式会社 Serial communication device
WO2013013523A1 (en) * 2011-07-22 2013-01-31 Jiang Junfeng Movement control port and port controller
CN103425112A (en) * 2013-08-19 2013-12-04 电子科技大学 Robot control method based on Ethercat
CN103487640A (en) * 2013-09-22 2014-01-01 浙江大学 Current monitoring method for enterprise electric equipment based on distributed type network
CN104009976A (en) * 2014-05-09 2014-08-27 中国人民银行印制科学技术研究所 A method for real-time communication between multi-master station systems and its equipment
CN104391818A (en) * 2014-11-26 2015-03-04 国家电网公司 EtherCAT dual-network data reading and writing system and method thereof
CN104702474A (en) * 2015-03-11 2015-06-10 华中科技大学 FPGA (Field Programmable Gate Array)-based EtherCAT (Ethernet Control Automation Technology) main station device
CN104753958A (en) * 2015-04-17 2015-07-01 深圳市英威腾电气股份有限公司 Card and method for converting communication protocols
CN105024777A (en) * 2015-07-29 2015-11-04 上海新时达电气股份有限公司 Servo driver synchronized method based on Ether CAT real-time Ethernet
CN205281226U (en) * 2015-11-21 2016-06-01 中国船舶重工集团公司第七一六研究所 Industrial robot motion control system based on etherCAT bus

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
谢香林: "EtherCAT网络及其伺服运动控制系统研究", 《中国优秀硕士学位论文全文数据库 信息科技辑 》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106650031A (en) * 2016-11-29 2017-05-10 南京熊猫电子股份有限公司 Method for automatically setting tool parameters of industrial robot
CN111351857A (en) * 2018-12-24 2020-06-30 核动力运行研究所 Ultrasonic inspection encoder signal transmission system and method based on EtherCAT bus

Also Published As

Publication number Publication date
CN105334806B (en) 2017-10-10

Similar Documents

Publication Publication Date Title
US7904184B2 (en) Motion control timing models
KR20200132800A (en) Synchronization mechanism for high speed sensor interface
CN205281226U (en) Industrial robot motion control system based on etherCAT bus
CN201562158U (en) Multi-robot synchronous control system
JP2013084111A (en) Communication system, control device, communication device, control method, communication method, and program
JP4980551B2 (en) How to synchronize a combination drive
CN105334806B (en) Industrial robot motion control method and system based on EtherCAT buses
US10547471B2 (en) Communication control system and communication control method
US20100185325A1 (en) Apparatus and method for controlling multi-axis robot
CN111488005B (en) Marine low-speed machine rotating speed distribution system, method and equipment
CN109955247B (en) Multi-robot autonomous control system
WO2020054477A1 (en) Control system and control device
CN111208784A (en) Motion control system and synchronization method thereof
JP4980292B2 (en) Numerical control system that communicates with multiple amplifiers at different communication cycles
JP6594268B2 (en) Motion control system
JP2007025759A (en) Electric motor drive device, position command device, and positioning device
US12155328B2 (en) Multi-axis servo control system
JP2005237163A (en) Motor drive device
US20190137976A1 (en) Motor control device, control system, and motor control method
CN116633983B (en) Communication method, device and communication middleware for multi-robot collaborative operation
TWI834071B (en) Multi-axis servo control system
JP2013127670A (en) Control device and drive unit
CN103869747B (en) A kind of CT bed motions control method and its system based on sequential track point
KR20190101541A (en) Motion control apparatus
CN119356265B (en) Scheduling method, device and equipment of controller and storage medium

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20171010

Termination date: 20181121