CN116175551A - Kinematic model building method of double-arm cooperative robot - Google Patents
Kinematic model building method of double-arm cooperative robot Download PDFInfo
- Publication number
- CN116175551A CN116175551A CN202211617749.1A CN202211617749A CN116175551A CN 116175551 A CN116175551 A CN 116175551A CN 202211617749 A CN202211617749 A CN 202211617749A CN 116175551 A CN116175551 A CN 116175551A
- Authority
- CN
- China
- Prior art keywords
- robot
- arm
- coordinate system
- double
- joint
- 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.)
- Pending
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J17/00—Joints
- B25J17/02—Wrist joints
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/02—CAD in a network environment, e.g. collaborative CAD or distributed simulation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
The invention discloses a kinematic model building method of a double-arm cooperative robot, which comprises the steps of building a connecting rod coordinate system of a double-arm parallel robot; describing a robot coordinate system double-arm parallel robot arm coordinate system by a D-H representation method; solving the position and posture information of each joint; track planning and simulation based on Matlab; a right arm of the double-arm parallel robot arm is adopted as a connecting rod coordinate system constructed by an object; the position and the gesture between adjacent rods are described by a 4×4 homogeneous transformation matrix; the curves of angular displacement, angular velocity and angular acceleration of the right arm joints 1,2, 3, 4, 5 of the robot are all stable continuously with time.
Description
Technical Field
The invention belongs to the field of robots.
Background
The control of the intelligent robot needs a computer to provide assistance, so that the interaction mode of a person and the robot is greatly changed along with the development of times and technologies, and the artificial intelligent robot is controlled by more visual, convenient and sensitive human body actions, so that the mode is widely applied;
because of the superior performance of the double-arm robots, multiple robot enterprises are beginning to develop double-arm robots with working capabilities; the double-arm cooperative robot is a double-arm industrial robot formed by two seven-degree-of-freedom mechanical arms, a clamping tool is arranged at the tail end of each wrist, and the arms can cooperate to perform corresponding work and perform man-machine cooperation;
at present, the research results of the industrial robots in the aspect of cooperative motion planning are more abroad and mostly focused on the aspects of fluid constraint, motion path planning and the like, the research results of the redundancy robots are mostly represented in the aspects of detection positioning algorithm and track standardization, and the research results of the redundancy robots in the aspect of high flexibility and consideration of kinematics in the aspect of cooperative motion planning are not more common.
Disclosure of Invention
The invention aims to: in order to overcome the defects in the prior art, the invention provides a method for establishing a kinematic model of a double-arm cooperative robot, so that the robot has excellent stability in the whole movement process.
The technical scheme is as follows: in order to achieve the above object, the kinematic model building method of the double-arm cooperative robot of the present invention comprises:
step one, constructing a connecting rod coordinate system of a double-arm parallel robot;
describing a robot coordinate system double-arm parallel robot hand coordinate system by a Denavit-Hartenberg (D-H) representation method;
step three, solving the position and posture information of each joint;
and fourthly, track planning and simulation based on Matlab.
Further, in the step one, a right arm of the double-arm parallel robot is used as a link coordinate system to be constructed as an object.
Further, the position and the posture between the adjacent rods in the second step can be described by a 4×4 homogeneous transformation matrix, see formula 2.1:
the D-H matrix is changed to obtain the general formula of the change of the connecting rod between adjacent connecting rods i-1 T i Is of formula 2.2:
wherein: a, a i-1 、α i-1 、d i And theta i Is a relative position parameter between the coordinate systems i-1 and i;
changing all connecting rods i-1 T i (i=1, 2, … n, joint number) and then multiplying the two to obtain the general matrix transformation formula of the coordinate system { n } of the terminal relative to the coordinate system {0 }: 0 T n = 0 T 1 1 T 2 … n-1 T n the method comprises the steps of carrying out a first treatment on the surface of the (2.3)
Further, the step two comprises forward kinematics solution and the robot kinematics positive solution is solved by using a D-H representation method.
Further, the forward kinematics equation for forward kinematics solution is expressed as:
wherein:-a robot tip pose matrix;-a pose transformation matrix of joint i to joint i+1; vectors in the n-X axis direction; vector of the o-Y axis direction; vector in the a-Z direction.
Further, the pose transformation matrix of the left arm adjacent joint coordinate system is as follows;
the pose transformation matrix of the right arm adjacent relation coordinate system is as follows;
by applying the following formula:namely, a transformation matrix of the tail end coordinate system of the mechanical arm corresponding to the base standard is obtained; the kinematic positive solution relationship is:
f(r)=t(r)
wherein: t represents the end position and r represents the joint angle.
Further, in the robot kinematics positive solution solving by using the D-H representation method, the change matrix of the terminal pose obtained by the formulas 2.2 and 2.3 0 T 7 , 0 T 7 Namely the joint variable theta 1 ,θ 2 …θ 7 Is a function of (2); and then calculate the transformation matrix of each link and the position of the robot terminal link coordinate system relative to the base coordinate system.
Further, in the step four, motion trail simulation is carried out on the robot by a computer, and corresponding robot objects are set firstly; constructing a robot key in a MatlabRobotics toolbox, namely constructing each joint, and connecting each joint by using a SerialLink function to form a robot structural model when constructing the joints; after the construction is finished, the movement of the robot is driven by a reach function, and the rotation and the movement of the joint can be realized by controlling the position of the sliding block; in joint space, planning is performed on the tail end of the robot, and joint space motion track planning can be represented by using a function jtraj, wherein the calling format of the function jtraj is [ q, qd, qdd ] =jtraj (qz, qn, t), smooth interpolation is performed between two poses from qz to qn, so as to obtain a joint space structural design track, q, qd, qdd are respectively planned angular displacement, angular velocity and angular acceleration, and t is time.
The beneficial effects are that: the method for establishing the kinematic model of the double-arm cooperative robot is well verified in track planning and simulation based on Matlab, and as can be seen from fig. 5, 6 and 7, the change curves of the angular displacement, the angular velocity and the angular acceleration of the right arm joints 1,2, 3, 4 and 5 of the robot along with time are continuous and stable, and the curves are smooth and consistent without mutation.
Drawings
FIG. 1 is a schematic diagram of a structure;
FIG. 2 is a structural dimension diagram;
FIG. 3 is a schematic diagram of the mechanism motion and the coordinate system of each joint;
FIG. 4 two-arm robot model;
the right arm of fig. 5 generates an angular velocity profile of joint i (i=1, 2, 3, 4, 5);
the right arm of fig. 6 generates an angular displacement curve of joint i (i=1, 2, 3, 4, 5);
the right arm of fig. 7 generates an angular acceleration curve of joint i (i=1, 2, 3, 4, 5);
FIG. 8 right arm end effector coordinate system translation change;
FIG. 9 right arm end effector coordinate system rotation variation;
FIG. 10 shows the right arm end effector as a function of time in x, y, z coordinates;
FIG. 11 is a design flow;
FIG. 12 global modeling;
FIG. 13 pallet conveyor Smart assembly connection diagram;
smart assembly connection diagram of suction cup 1 of FIG. 14;
smart assembly connection diagram of suction cup 2 of FIG. 15;
FIG. 16 robot I/O port configuration;
FIG. 17 creates a robotic tool;
FIG. 18 creates a robotic tool;
FIG. 19 creates workpiece coordinates;
FIG. 20 is closed to avoid collision;
FIG. 21 is a synchronized workstation;
FIG. 22 simulation;
FIG. 23 simulates a simulated run state;
fig. 24 simulation is completed.
Detailed Description
The invention will be further described with reference to the accompanying drawings.
Construction of a coordinate System
The positioning relation between the first connecting rod joint shaft and the base in Cartesian space is different from that of any industrial production automatic industrial robot, is not traditional and perpendicular to each other, but is in a space staggered shape, so that the singular phenomenon between connecting rods of the industrial automatic robot can be reasonably eliminated by the structural mode, and the coordinated movable space between mechanical arms is widened.
The robot is schematically shown in fig. 1. The structural dimensions and basic parameters of the link coordinate system constructed as the object using the right arm are shown in fig. 2 and table 1, and the resulting link coordinate system is shown in fig. 3.
Table 1 parameters of the connecting rod
2.2 kinematic parameters
The robot has high flexibility and high precision, and the dynamic characteristics of the robot are highly nonlinear, so that the motion of the robot is described by a proper mathematical equation (mathematical model); mathematical models are often used to predict and monitor the motion state of an object, so motion analysis is also the theoretical basis of control.
Describing a robot coordinate system by a Denavit-Hartenberg (D-H) representation method, the positions and postures of adjacent bars can be described by a 4×4 homogeneous transformation matrix (called an A matrix and also called a joint transformation matrix), namely, the following formula 2.1:
the D-H matrix is changed to obtain the general formula of the change of the connecting rod between adjacent connecting rods i-1 T i Is of formula 2.2:
wherein: a, a i-1 、α i-1 、d i And theta i Is a relative position parameter between the coordinate systems i-1 and i.
Changing all connecting rods i-1 T i After multiplication of (i=1, 2, … n, the joint number) in order, the general matrix transformation formula of the coordinate system { n } of the terminal relative to the coordinate system {0} can be obtained: 0 T n = 0 T 1 1 T 2 … n-1 T n 。
(2.3)
2.3 Forward kinematic solution
And solving the position and posture information of each joint according to the joint transformation matrix, and solving the position and posture of the tail end of the arm of the cooperative robot, so that the motor of each joint is driven by adopting a positive kinematics method for solving.
wherein:-a robot tip pose matrix;-a pose transformation matrix of joint i to joint i+1; vectors in the n-X axis direction; vector of the o-Y axis direction; vector in the a-Z direction.
The general formula of the connecting rod transformation is as follows:
wherein; a is that i -a pose transformation matrix for joint i; rot-rotation operator; trans-translation operator.
Robot kinematic positive solution: the pose of each joint of the mechanical arm is known to calculate the pose of the tail end of the mechanical arm.
And establishing a pose transformation matrix of the left arm adjacent joint coordinate system.
Similarly, the pose transformation matrix of the right arm adjacent relation coordinate system is shown as follows.
By applying the following formula:the transformation matrix of the tail end coordinate system of the mechanical arm corresponding to the base target can be obtained. The kinematic positive solution relationship is:
f(r)=t(r)
(2.6)
Wherein: t represents the end position and r represents the joint angle.
2.4 solving the robot kinematics positive solution by using the D-H representation method
The change matrix of the terminal pose obtained by equations 2.2 and 2.3 0 T 7 , 0 T 7 Namely the joint variable theta 1 ,θ 2 …θ 7 Is a function of (2).
The transformation matrix of each connecting rod can be calculated:
from the above 0 T 7 The position of the robot's end link coordinate system relative to the base coordinate system is described.
n x =c 1 c 2 {c 3 [c 4 (c 5 c 6 c 7 -s 5 s 7 )-s 4 s 6 c 7 ]+s 3 (s 5 c 6 c 7 +c 5 s 7 )}-c 1 s 2 {s 4 (c 5 c 6 c 7 -s 5 s 7 )-c 4 s 6 c 7 }-s 1 {-s 3 [c 4 (c 5 c 6 c 7 -s 5 s 7 )-s 4 s 6 c 7 ]+c 3 (s 5 c 6 c 7 +c 5 s 7 )};
n y =s 1 [c 2 {c 3 [c 4 (c 5 c 6 c 7 -s 5 s 7 )-s 4 s 6 c 7 ]+s 3 (s 5 c 6 c 7 +c 5 s 7 )}-s 2 {s 4 (c 5 c 6 c 7 -s 5 s 7 )-c 4 s 6 c 7 }]+c 1 {-s 3 [c 4 (c 5 c 6 c 7 -s 5 s 7 )-s 4 s 6 c 7 ]+c 3 (s 5 c 6 c 7 +c 5 s 7 )};
n z =-s 2 {-s 3 [c 4 (c 5 c 6 c 7 -s 5 s 7 )-s 4 s 6 c 7 ]+c 3 (s 5 c 6 c 7 +c 5 s 7 )}-c 2 [s 4 (c 5 c 6 c 7 -s 5 s 7 )-c 4 s 6 c 7 ];
o x =c 1 c 2 [c 3 (-c 4 c 5 c 6 s 7 -c 4 s 5 c 7 +s 4 c 6 s 7 )-s 3 (s 5 c 6 s 7 -c 5 c 7 )]-c 1 s 2 [s 4 (-c 5 c 6 s 7 -s 5 c 7 )-c 4 c 6 s 7 ]-s 1 {-s 3 [s 4 (-c 5 c 6 s 7 -s 5 c 7 )-c 4 c 6 s 7 ]-c 3 (s 5 c 6 s 7 -c 5 c 7 )};
o y =s 1 c 2 [c 3 (-c 4 c 5 c 6 s 7 -c 4 s 5 c 7 +s 4 c 6 s 7 )-s 3 (s 5 c 6 s 7 -c 5 c 7 )]-s 1 s 2 [s 4 (-c 5 c 6 s 7 -s 5 c 7 )-c 4 c 6 s 7 ]+c 1 {-s 3 [s 4 (-c 5 c 6 s 7 -s 5 c 7 )-c 4 c 6 s 7 ]-c 3 (s 5 c 6 s 7 -c 5 c 7 )};
o z =-s 2 {c 3 [c 4 (c 5 c 6 c 7 -s 5 s 7 )-s 4 s 6 c 7 ]+s 3 (s 5 c 6 c 7 +c 5 s 7 )}-c 2 [s 4 (c 5 c 6 c 7 -s 5 s 7 )-c 4 s 6 c 7 ];
a x =c 1 c 2 [c 3 (c 4 c 5 s 6 +s 4 c 6 )+s 3 s 5 c 6 ]-c 1 s 2 (s 4 c 5 s 6 -c 4 c 6 )-s 1 [-s 3 (c 4 c 5 s 6 +s 4 c 6 )+c 3 s 5 c 6 ];
a y =s 1 c 2 [c 3 (c 4 c 5 s 6 +s 4 c 6 )+s 3 s 5 c 6 ]-s 1 s 2 (s 4 c 5 s 6 -c 4 c 6 )+c 1 [-s 3 (c 4 c 5 s 6 +s 4 c 6 )+c 3 s 5 c 6 ];
a z =-s 2 [c 3 (c 4 c 5 s 6 +s 4 c 6 )+s 3 s 5 c 6 ]-c 2 (s 4 c 5 s 6 -c 4 c 6 );
p x =s 1 c 2 {c 3 [c 4 c 5 s 6 d 4 +s 4 (c 6 d 4 +d 3 )+α 3 ]+s 3 s 5 s 6 d 4 }-s 1 s 2 [s 4 c 5 s 6 d 4 -c 4 (c 6 d 4 -d 3 )+d 2 ]+c 1 {-s 3 [c 4 c 5 s 6 d 4 +s 4 (c 6 d 4 +d 3 )+α 3 ]+c 3 s 5 s 6 d 4 };
p y =-s 3 [c 4 c 5 s 6 d 4 +s 4 (c 6 d 4 +d 3 )+α 3 ]+c 3 s 5 s 6 d 4 ;
p z =-s 2 {c 3 [c 4 c 5 s 6 d 4 +s 4 (c 6 d 4 +d 3 )+α 3 ]+s 3 s 5 s 6 d 4 }-c 2 [s 4 c 5 s 6 d 4 -c 4 (c 6 d 4 -d 3 )+d 2 ]+d 1 。
2.5 Matlab-based trajectory planning and simulation
The motion trail simulation is carried out on the robot by a computer, and corresponding robot objects are set at first. The key point of the robot is to construct each joint in a Matlab Robotics tool box, link functions in the tool box are used when the joints are constructed, and the joints are connected by using a serialLink function to form a robot structural model. After the construction is completed, the movement of the robot is driven by a reach function, and the rotation and the movement of the joint can be realized by controlling the position of the sliding block, as shown in fig. 4.
In joint space, planning is performed on the tail end of the robot, but joint space motion track planning can be represented by using a function jtraj, wherein the calling format of the function jtraj is [ q, qd, qdd ] =jtraj (qz, qn, t), smooth interpolation is performed between two poses from qz to qn, and a joint space structure design track can be obtained, q, qd, qdd are respectively planned angular displacement, angular velocity and angular acceleration, and t is time. Fig. 5, 6 and 7 are graphs showing the angular displacement, angular velocity and angular acceleration of the right arm joints 1,2, 3, 4 and 5 of the robot, respectively. As can be seen from fig. 5, 6 and 7, the angular displacement, angular velocity and angular acceleration curves of the right arm joints 1,2, 3, 4 and 5 of the robot are all stable continuously, and the curves are smooth and consistent without abrupt changes.
Planning the tail end track of the robot by using a Cartesian space motion planning, wherein the Cartesian space motion track planning is represented by a function ctraj, and the tail end track of the robot is graphically demonstrated by using the function ctraj. Fig. 8 is a change in translation of the robot right arm end effector from an initial pose to an end pose coordinate system, fig. 9 is a change in rotation of the robot right arm end effector coordinate system, and fig. 10 is a graph of the change in the robot right arm end effector over time in x, y, and z coordinates. As can be seen from fig. 8, 9 and 10, the curves are continuous and gentle, and the robot has excellent stability during the entire movement.
3 workstation design simulation
3.1 design flow
The design is based on the ABB robot carrying stacking project, and the main design part is the process of building, designing and debugging a robot workstation. The specific design thinking is to use robottstudio software to build a robot blank workstation and introduce product and equipment models. And placing the robot at a proper position according to the principle of maximizing efficiency, and completing the layout of the workstation. The suction cup is led in, is set as a usable tool and is arranged on the tail end of the robot. A tool coordinate system and a workpiece coordinate system are established. Smart component establishment, design and signal connection are carried out on the system. Robot path analysis and teaching programming. And (3) debugging a simulation step of the robot workstation, and finally outputting a simulation animation.
The design thought flow is shown in figure 11;
3.2 workstation modeling
The overall design modeling is shown in fig. 12, and the main models used in the workstation comprise two suckers, an ABB-IRB14000 robot, an industrial robot skill assessment training platform, a conveyor belt, a stacking platform and the like.
The Robotstatus simulation software is used for creating an empty workstation, the IRB-14000 robot is selected from the model library, and the robot is imported into the workstation and placed on the training platform. And importing models such as a conveyor belt, a sucker and the like to create a robot system.
3.3Smart component creation
The Smart component in the workstation can be changed with different actions according to the change of the I/O signals, so that the simulation animation of the workstation and the actual equipment operation are completely consistent, the efficiency and the accuracy of robot programming are improved to a great extent in the robot workstation, and therefore, the correct establishment of the Smart component is very important in the simulation of the robot workstation.
4.3.1 conveyor Smart Assembly
Material conveyor Smart assembly connection As shown in FIG. 13, the Source assembly is activated when the Material conveyor receives a pulse signal from the robot of 1 from a simultants. The Source component copy_15 objects to the specified region. The Source execution completed signal execute is transmitted to the Enqueue of the Queue component, replicating one part per second by the timer_15. Meanwhile, when the part_15 reaches the designated area, the belt starts to move 460mm in the negative direction with X. The object moved by the LinearMover component is the object Copy copied by the Source component. The PlaneSensor face sensor is always in an inactive state. After the object moved by the LinearMover component touches the PlaneSensor face sensor, the PlaneSensor face sensor's sensor out will send a corresponding signal 1 to dw1 (conveyor in place). The dw1 signal is then transmitted 1 to the robot, where the material is ready for gripping.
Smart assembly connection of suction cup 1 is shown in FIG. 14. In the design, the sucker tool mainly achieves clamping and placing effects on stacking, in the actual production process, the sucker absorbs the stacking to complete carrying operation by using pressure, in the simulation design process, the sucker achieves the absorbing effect on the stacking by using an Attacher component, a Detacher component, a Linear sensor component and the like, wherein the Attacher component is a mounting component, and when the linear sensor component arranged at the tail end of the tool touches materials, sensor signals are triggered to achieve the absorbing effect by using the Attacher component, and the Detacher component achieves the placing effect by changing 0 to 1 when the materials are required to be loosened.
Smart assembly connection of suction cup 2 is shown in FIG. 15. In the design, the sucker tool mainly achieves clamping and placing effects on stacking, in the actual production process, the sucker absorbs the stacking to complete carrying operation by using pressure, in the simulation design process, the sucker achieves the absorbing effect on the stacking by using an Attacher component, a Detacher component, a Linear sensor component and the like, wherein the Attacher component is a mounting component, and when the linear sensor component arranged at the tail end of the tool touches materials, sensor signals are triggered to achieve the absorbing effect by using the Attacher component, and the Detacher component achieves the placing effect by changing 0 to 1 when the materials are required to be loosened.
3.4 control System I/O Port setup
The input Signal and the output Signal of the Smart component of the workstation respectively correspond to the input Signal and the output Signal of the robot, and just like the communication connection between the robot and the PLC, an I/O configuration is established on the I/O configurator of the robot, the configuration manager of the controller is clicked, the I/O System option is selected, the Signal option is selected, and the I/O configuration of the robot is carried out, as shown in fig. 16:
3.5 System debug
3.5.1 creation of tool coordinates
After the designed tools are added into the created workstation, the tools are respectively renamed as 'XP 1' and 'XP1_2', the 'basic' option is clicked on the simulation software page, and the 'XP 1' and 'XP1_2' are respectively selected as robot tools in the tool bar, as shown in fig. 17 and 18.
3.5.2 creation of workpiece coordinates
After the robot tool coordinates are created, xu Yaping creates robot workpiece coordinates. The creation position is on the center of the flange of the end shaft of the robot, the creation of the workpiece coordinates and the workpiece coordinates is completed, the suction cup is installed on the end of the robot, and the wobj0 is the default workpiece coordinates, as shown in fig. 19:
3.6 simulation of the Emulation notes
In the simulation, since the two arms collide during the transportation, the collision needs to be avoided by clicking in the controller, and it is turned off. As shown in fig. 20:
3.7 simulation of the simulation
Before simulation, the components and programs in the workstation need to be synchronously matched in the controller. As shown in fig. 21 below:
and playing the button at the simulation midpoint, and starting the simulation by the workstation. Fig. 22 is as follows. In the operation of the workstation simulation, fig. 23 is as follows. The simulation is completed as shown in fig. 24.
Appendix one: left arm transfer program of cooperative robot
MODULE Module1
CONST robtarget Target_60:=[[341.534724482,318.958070166,213.970342919],
[0.00445682,-0.997854004,0.06476617,0.008536191],[-1,1,-2,4],[127.269502494,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_10:=[[341.534378115,318.957525734,47.955788463],
[0.004456333,-0.997854054,0.064765487,0.008535841],[-1,2,-2,4],[127.269566304,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_70:=[[341.534724482,318.958070166,213.970342919],
[0.00445682,-0.997854004,0.06476617,0.008536191],[-1,1,-2,4],[127.269502494,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_30:=[[228.397524067,192.552388455,226.022761883],
[0.000406636,0.997878979,-0.064792559,0.006269147],[0,2,-2,4],[122.909989274,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_40:=[[228.397628517,192.552600632,226.022777727],
[0.706034626,0.705176485,-0.052218013,0.038916716],[0,1,-2,4],[122.913145091,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_20:=[[228.392508118,7.874635343,226.027137813],
[0.706034874,0.705176228,-0.052217959,0.038916962],[-1,1,-2,4],[122.913149664,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_50:=[[228.397628517,192.552600632,226.022777727],
[0.706034626,0.705176485,-0.052218013,0.038916716],[0,1,-2,4],[122.913145091,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_30_2:=[[228.397634329,192.552596944,226.022782387],[0.000406542,0.997878977,-0.064792613,0.006268983],[0,2,-2,4],[122.909997416,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_60_2:=[[341.534931711,264.802208911,213.645070127],[0.004456988,-0.997854026,0.064765788,0.008536462],[-1,1,-2,4],[127.269569202,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_10_2:=[[341.534586507,264.801598867,47.95574496],
[0.004456498,-0.997854038,0.064765683,0.008536085],[-1,2,-2,4],[127.26956661,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_70_3:=[[341.534931711,264.802208911,213.645070127],[0.004456988,-0.997854026,0.064765788,0.008536462],[-1,1,-2,4],[127.269569202,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_60_3:=[[299.076739962,329.055074826,210.426883331],[0.010645757,-0.660115064,0.751075538,0.004506258],[-1,1,-1,4],[127.270031716,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_10_3:=[[299.076375946,329.054506911,47.952188461],
[0.010645809,-0.660115253,0.751075374,0.004505722],[-1,2,-1,4],[127.270029286,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_70_4:=[[299.076739962,329.055074826,210.426883331],[0.010645757,-0.660115064,0.751075538,0.004506258],[-1,1,-1,4],[127.270031716,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_60_4:=[[299.076920035,292.178087315,212.016866155],[0.010645754,-0.660114894,0.751075686,0.004506598],[-1,1,-1,4],[127.270025895,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_10_4:=[[299.076697953,292.177704129,47.952177438],
[0.010645812,-0.660115024,0.751075573,0.004506202],[-1,2,-1,4],[127.270034749,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_70_5:=[[299.076920035,292.178087315,212.016866155],[0.010645754,-0.660114894,0.751075686,0.004506598],[-1,1,-1,4],[127.270025895,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_60_5:=[[299.077322998,254.973276846,210.250569124],[0.010645373,-0.660114796,0.751075772,0.004507355],[-1,2,-1,4],[127.270024572,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_10_5:=[[299.077046715,254.97270023,47.952076566],
[0.010645561,-0.660114859,0.751075718,0.004506879],[-1,2,-1,4],[127.270023643,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_70_6:=[[299.077322998,254.973276846,210.250569124],[0.010645373,-0.660114796,0.751075772,0.004507355],[-1,2,-1,4],[127.270024572,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_60_6:=[[289.056651252,264.803028541,210.818875263],[0.004457242,-0.997854003,0.064766035,0.00853717],[-1,2,-2,4],[127.269564223,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_10_6:=[[289.056262147,264.802397576,68.082019597],
[0.00445687,-0.997854019,0.064765866,0.008536779],[-1,2,-2,4],[127.269558612,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_70_7:=[[289.056651252,264.803028541,210.818875263],[0.004457242,-0.997854003,0.064766035,0.00853717],[-1,2,-2,4],[127.269564223,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_60_7:=[[289.056723156,318.980666846,215.22628366],
[0.004457095,-0.997854005,0.06476598,0.008537384],[-1,1,-2,4],[127.269561597,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_10_7:=[[289.056593865,318.980506812,68.081958829],
[0.004457054,-0.997854007,0.064765976,0.008537215],[-1,2,-2,4],[127.269562834,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_70_8:=[[289.056723156,318.980666846,215.22628366],
[0.004457095,-0.997854005,0.06476598,0.008537384],[-1,1,-2,4],[127.269561597,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_60_8:=[[331.533581487,329.055483887,212.356801494],[0.010645767,-0.660114904,0.751075676,0.004506587],[-1,1,-1,4],[127.270036599,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_10_8:=[[331.533410367,329.055315712,68.136502404],
[0.01064573,-0.660115009,0.751075586,0.004506406],[-1,2,-1,4],[127.270033491,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_70_9:=[[331.533581487,329.055483887,212.356801494],[0.010645767,-0.660114904,0.751075676,0.004506587],[-1,1,-1,4],[127.270036599,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_60_9:=[[331.533910441,292.449187368,213.247562228],[0.010645514,-0.660114839,0.751075733,0.004507247],[-1,1,-1,4],[127.270026334,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_10_9:=[[331.533774458,292.449002823,68.136398388],
[0.01064556,-0.660114839,0.751075734,0.00450708],[-1,2,-1,4],[127.270026385,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_70_10:=[[331.533910441,292.449187368,213.247562228],[0.010645514,-0.660114839,0.751075733,0.004507247],[-1,1,-1,4],[127.270026334,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_60_10:=[[331.53412464,254.856699103,212.257876931],[0.010645352,-0.660114848,0.751075725,0.004507728],[-1,2,-1,4],[127.270029309,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_10_10:=[[331.533985702,254.856528742,68.13629667],
[0.010645334,-0.66011483,0.751075742,0.004507546],[-1,2,-1,4],[127.270026202,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_70_11:=[[331.53412464,254.856699103,212.257876931],[0.010645352,-0.660114848,0.751075725,0.004507728],[-1,2,-1,4],[127.270029309,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_60_11:=[[341.534724482,318.958070166,213.970342919],[0.00445682,-0.997854004,0.06476617,0.008536191],[-1,1,-2,4],[127.269502494,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_10_11:=[[342.195897233,318.55577429,88.148337377],[0.004456333,-0.997854054,0.064765487,0.008535841],[-1,2,-2,4],[127.269566304,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_70_13:=[[341.534724482,318.958070166,213.970342919],[0.00445682,-0.997854004,0.06476617,0.008536191],[-1,1,-2,4],[127.269502494,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_60_2_2:=[[341.534931711,264.802208911,213.645070127],[0.004456988,-0.997854026,0.064765788,0.008536462],[-1,1,-2,4],[127.269569202,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_10_2_2:=[[342.196105625,264.399847423,88.148293874],[0.004456498,-0.997854038,0.064765683,0.008536085],[-1,2,-2,4],[127.26956661,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_70_3_2:=[[341.534931711,264.802208911,213.645070127],[0.004456988,-0.997854026,0.064765788,0.008536462],[-1,1,-2,4],[127.269569202,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_60_3_2:=[[299.076739962,329.055074826,210.426883331],[0.010645757,-0.660115064,0.751075538,0.004506258],[-1,1,-1,4],[127.270031716,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_10_3_2:=[[299.737895064,328.652755467,88.144737375],[0.010645809,-0.660115253,0.751075374,0.004505722],[-1,2,-1,4],[127.270029286,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_70_4_2:=[[299.076739962,329.055074826,210.426883331],[0.010645757,-0.660115064,0.751075538,0.004506258],[-1,1,-1,4],[127.270031716,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_60_4_2:=[[299.076920035,292.178087315,212.016866155],[0.010645754,-0.660114894,0.751075686,0.004506598],[-1,1,-1,4],[127.270025895,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_10_4_2:=[[299.738217071,291.775952685,88.144726352],[0.010645812,-0.660115024,0.751075573,0.004506202],[-1,2,-1,4],[127.270034749,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_70_5_2:=[[299.076920035,292.178087315,212.016866155],[0.010645754,-0.660114894,0.751075686,0.004506598],[-1,1,-1,4],[127.270025895,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_60_5_2:=[[299.077322998,254.973276846,210.250569124],[0.010645373,-0.660114796,0.751075772,0.004507355],[-1,2,-1,4],[127.270024572,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_10_5_2:=[[299.738565833,254.570948786,88.14462548],[0.010645561,-0.660114859,0.751075717,0.004506879],[-1,2,-1,4],[127.270023643,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_70_6_2:=[[299.077322998,254.973276846,210.250569124],[0.010645373,-0.660114796,0.751075772,0.004507355],[-1,2,-1,4],[127.270024572,9E+09,9E+09,9E+09,9E+09,9E+09]];
Appendix two: cooperative robot right arm transfer program
MODULE Module1
CONSTrobtargetTarget_70:=[[228.397121583,-195.422301509,226.192771161],[-0.000000138,1,0.000000086,-0.000000171],[0,-2,2,4],[-119.810002554,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONSTrobtargetTarget_20:=[[110.754628937,-323.62451658,226.184136062],[0.004100919,-0.999991591,-0.000000326,0.000000862],[0,-1,2,4],[-119.81000208,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONSTrobtargetTarget_10:=[[110.754325603,-323.623929978,115.761855525],[0.004101207,-0.99999159,-0.000000173,0.000000406],[0,-2,2,4],[-119.810004611,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONSTrobtargetTarget_30:=[[110.754628937,-323.62451658,226.184136062],[0.004100919,-0.999991591,-0.000000326,0.000000862],[0,-1,2,4],[-119.81000208,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONSTrobtargetTarget_50:=[[228.395318299,-195.420703493,226.192678736],[0.707106318,-0.707107245,0.000000454,0.000000998],[0,-1,2,4],[-119.809997023,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_40:=[[228.395209541,-12.125769197,226.192747551],
[0.707106367,-0.707107195,0.000000357,0.000000882],[1,-1,2,4],[-119.809995918,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_60:=[[228.395318299,-195.420703493,226.192678736],
[0.707106318,-0.707107245,0.000000454,0.000000998],[0,-1,2,4],[-119.809997023,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Target_70_2:=[[228.397121583,-195.422301509,226.192771161],[-0.000000138,1,0.000000086,-0.000000171],[0,-2,2,4],[-119.810002554,9E+09,9E+09,9E+09,9E+09,9E+09]];
The foregoing is only a preferred embodiment of the invention, it being noted that: it will be apparent to those skilled in the art that various modifications and adaptations can be made without departing from the principles of the present invention, and such modifications and adaptations are intended to be comprehended within the scope of the invention.
Claims (8)
1. The method for establishing the kinematic model of the double-arm cooperative robot is characterized by comprising the following steps of:
step one, constructing a connecting rod coordinate system of a double-arm parallel robot;
describing a robot coordinate system double-arm parallel robot coordinate system by using a D-H representation method;
step three, solving the position and posture information of each joint;
and fourthly, track planning and simulation based on Matlab.
2. The method for creating a kinematic model of a double-arm cooperative robot according to claim 1, characterized by: in the step one, a right arm of the double-arm parallel robot is adopted as a connecting rod coordinate system constructed by an object.
3. The method for creating a kinematic model of a double-arm cooperative robot according to claim 1, characterized by: the position and posture between adjacent rods in the step two are described by a 4×4 homogeneous transformation matrix, see formula 2.1:
the D-H matrix is changed to obtain the general formula of the change of the connecting rod between adjacent connecting rods i-1 T i Is of formula 2.2:
wherein: a, a i-1 、α i-1 、d i And theta i Is a relative position parameter between the coordinate systems i-1 and i;
changing all connecting rods i-1 T i (i=1, 2, … n, joint number) and then multiplying the two to obtain the general matrix transformation formula of the coordinate system { n } of the terminal relative to the coordinate system {0 }: 0 T n = 0 T 1 1 T 2 … n-1 T n . (formula 2.3).
4. The method for creating a kinematic model of a double-arm cooperative robot according to claim 3, characterized by: the step two comprises forward kinematics solution and solving the robot kinematics positive solution by using a D-H representation method.
5. The method for creating a kinematic model of a double-arm cooperative robot according to claim 4, characterized by: the forward kinematics equation for forward kinematics solution is expressed as:
6. The method for creating a kinematic model of a double-arm cooperative robot according to claim 5, characterized by:
the pose transformation matrix of the left arm adjacent joint coordinate system is as follows;
the pose transformation matrix of the right arm adjacent relation coordinate system is as follows;
by applying the following formula:namely, a transformation matrix of the tail end coordinate system of the mechanical arm corresponding to the base standard is obtained; the kinematic positive solution relationship is:
f(r)=t(r)
wherein: t represents the end position and r represents the joint angle.
7. The method for creating a kinematic model of a double-arm cooperative robot according to claim 6, characterized by: solving a change matrix of the terminal pose obtained by formulas 2.2 and 2.3 in the robot kinematics positive solution by using a D-H representation method 0 T 7 , 0 T 7 Namely the joint variable theta 1 ,θ 2 …θ 7 Is a function of (2); and then calculate the transformation matrix of each link and the position of the robot terminal link coordinate system relative to the base coordinate system.
8. The method for creating a kinematic model of a double-arm cooperative robot according to claim 7, characterized by: in the fourth step, the motion trail simulation is carried out on the robot by a computer, and corresponding robot objects are set; constructing a robot key in a Matlab Robotics tool box, namely constructing each joint, and connecting each joint by using a SerialLink function to form a robot structural model when constructing the joints; after the construction is finished, the movement of the robot is driven by a reach function, and the rotation and the movement of the joint can be realized by controlling the position of the sliding block;
in joint space, planning is performed on the tail end of the robot, and joint space motion track planning can be represented by using a function jtraj, wherein the calling format of the function jtraj is [ q, qd, qdd ] =jtraj (qz, qn, t), smooth interpolation is performed between two poses from qz to qn, so as to obtain a joint space structural design track, q, qd, qdd are respectively planned angular displacement, angular velocity and angular acceleration, and t is time.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211617749.1A CN116175551A (en) | 2022-12-15 | 2022-12-15 | Kinematic model building method of double-arm cooperative robot |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211617749.1A CN116175551A (en) | 2022-12-15 | 2022-12-15 | Kinematic model building method of double-arm cooperative robot |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116175551A true CN116175551A (en) | 2023-05-30 |
Family
ID=86447072
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211617749.1A Pending CN116175551A (en) | 2022-12-15 | 2022-12-15 | Kinematic model building method of double-arm cooperative robot |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116175551A (en) |
-
2022
- 2022-12-15 CN CN202211617749.1A patent/CN116175551A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106777475B (en) | A kind of injection machine arm dynamics synergy emulation method of confined space constraint | |
CN203449306U (en) | Master-slave-type double-industrial-robot coordination operation control system | |
CN107486858A (en) | Multi-mechanical-arm collaborative offline programming method based on RoboDK | |
CN105772917B (en) | A kind of three joint spot welding robot's Trajectory Tracking Control methods | |
CN110421561B (en) | Method for spraying clothes by using cooperative robot | |
CN106346480B (en) | A kind of multiple degrees of freedom injection machine arm modeling method based on UG and MATLAB | |
CN105751196A (en) | Operating method on basis of master-slave industrial robot collaboration | |
Holubek et al. | Offline programming of an ABB robot using imported CAD models in the RobotStudio software environment | |
CN106041932A (en) | Movement control method for UR robot | |
CN110682292A (en) | Robot stacking track generation method based on RT Toolbox | |
Xiao et al. | Simulation research of a six degrees of freedom manipulator kinematics based On MATLAB toolbox | |
CN114055467A (en) | Space pose online simulation system based on five-degree-of-freedom robot | |
Lee et al. | A robot teaching framework for a redundant dual arm manipulator with teleoperation from exoskeleton motion data | |
Slavković et al. | Development of the programming and simulation system of 4-axis robot with hybrid kinematic | |
CN106338966B (en) | A kind of industrial robot trajectory planning programmed method | |
CN113681574A (en) | A 3D visualization simulation and offline programming system for robot for sheet metal bending | |
CN116175551A (en) | Kinematic model building method of double-arm cooperative robot | |
Pickett et al. | RoboTeach: An off-line robot programming system based on GMSolid | |
CN116277026A (en) | A multi-robot collaborative immune network control method | |
Lei et al. | Vision-based position/impedance control for robotic assembly task | |
Juan et al. | Analysis and simulation of a 6R robot in virtual reality | |
Omar et al. | Control algorithm trajectory planning for dual cooperative manipulators with experimental verification | |
Ji et al. | The six-degree-of-freedom robotic arm optimization iterative learning algorithm improves trajectory planning | |
Shuhua et al. | Trajectory planning of 6-DOF manipulator based on combination function method | |
US20230109223A1 (en) | Intelligent clear path |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |