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 PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical 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/414—Structure 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
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.
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)
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)
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 |
-
2015
- 2015-11-21 CN CN201510813119.5A patent/CN105334806B/en not_active Expired - Fee Related
Patent Citations (13)
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)
Title |
---|
谢香林: "EtherCAT网络及其伺服运动控制系统研究", 《中国优秀硕士学位论文全文数据库 信息科技辑 》 * |
Cited By (2)
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 |