Disclosure of Invention
Aiming at the defects or the improvement requirements of the prior art, the invention provides a position finding method of a mobile processing robot, aiming at improving the flexibility of the calibration of a mechanical arm, accurately and efficiently determining the position of a robot base, and conveniently providing sufficient positioning information for the control operation of the robot, thereby solving the technical problems of low calibration efficiency and positioning efficiency in the prior art.
To achieve the above object, according to an aspect of the present invention, there is provided a locating method of a mobile processing robot, including:
s1: calibrating the vehicle arm to obtain a base F of the mobile processing robotROBOTAnd a rigid body F fixedly connected on the movable chassisAGVmarkThe conversion relationship between them;
s2: adjusting the position of the mobile processing robot, recording FAGVmarkAnd a movable chassis FAGVObtaining the coordinates of FAGVmarkAnd FAGVThe conversion relationship between them;
s3: acquiring the moving chassis F in the moving process of the mobile processing robotAGVBased on the transformation relationship, calculating the robot base FROBOTTo position the robot base.
In one embodiment, the step S1 includes:
s101: initializing a calibration environment, fixing a base of the mechanical arm, enabling the mechanical arm to be in a state when the system is reset, and recording an initial position P of the tail end of the mobile processing robot in a base coordinate system corresponding to the mechanical arm1Simultaneously recording the initial coordinates T of the rigid bodyAGVmark;
S102: fixing a target ball at the Kth joint of the mechanical arm and keeping away from the axis of the Kth joint as far as possible, wherein K is more than or equal to K0Kth of mechanical arm0Rotation direction of joint and 1 st to Kth joints0-1 the rotational directions of the joints are all different;
s103: calibrating a first axial direction, enabling the mechanical arm to be in a state when the system is reset, rotating a first joint of the mechanical arm, and recording the position of a first target ball;
s104: calibrating the second axial direction, enabling the mechanical arm to be in a state when the system is reset, rotating the Nth joint of the mechanical arm, and recording the position of a second target ball;
s105: calibrating the original point to ensure that the mechanical arm is in the state when the system is reset,rotating the Kth joint by 180 degrees, and recording the position P of the tail end of the mobile processing robot in a mechanical arm base coordinate system2(ii) a Selecting a joint of the mechanical arm in a first joint or an N-th joint, wherein the rotation direction of the joint is different from that of a K-th shaft, rotating, and recording the position of a third target ball;
s106: determining axial Axis1, Axis2, Axis3, and normal vector r of the coordinate system of the pedestal using the first, second, and third target ball positions1、r2、r3And center O of circle1、O2、O3;
S107: using formulas
Calculating the origin P of the coordinate system of the base
0;
S108: obtaining a coordinate system of the base
R is a matrix obtained by arranging Axis1, Axis2 and Axis3 according to the modes of an x Axis, a y Axis and a z Axis;
s109: obtaining a Mobile machining robot base F
ROBOTAnd a rigid body F fixedly connected on the movable chassis
AGVmarkThe conversion relationship between the two is as follows:
in one embodiment, the center O of the circle is calculated in S1061、O2、O3The process of (2) is as follows:
marking the position of the first target ball as Xa Ya Za],Xa=[Xa1,Xa2,…,Xai]、Ya=[Ya1,Ya2,…,Yai]、Za=[Za1,Za2,…,Zai]I is not less than 4; the second target ball position is [ X ]b Yb Zb],Xb=[Xb1,Xb2,…,Xbi]、Yb=[Yb1,Yb2,…,Ybi]、Zb=[Zb1,Zb2,…,Zbi](ii) a The third target ball position is [ X ]c Yc Zc],Xc=[Xc1,Xc2,…,Xci]、Yc=[Yc1,Yc2,…,Yci]、Zc=[Zc1,Zc2,…,Zci](ii) a Note additionally As=[-2Xa -2Xb -2Xc 1];
Circle center coordinate
Is Cir
aItem i of (1);
circle center coordinate
Is Cir
bItem i of (1);
circle center coordinate
Is Cir
cItem i of (1).
In one embodiment, the robot base coordinate system axial Axis1, Axis2, Axis3 and normal vector r are calculated in S1061、r2、r3The process of (2) is as follows:
for normal vector r1Record As=[Xa2-Xa1,Xa3-Xa1,…,Xai-Xa1]、Bs=[Ya2-Ya1,Ya3-Ya1,…,Yai-Ya1]、Cs=[Za2-Za1,Za3-Za1,…,Zai-Za1]、Tan=[As Bs]Then the normal vector r1=[(TanT Tan)-1TanT CS-1](ii) a For normal vector r2Will calculate a normal vector r1The subscript of the formula is replaced by b from a to obtain a normal vector r2The calculation formula of (2); for normal vector r3Will calculate a normal vector r1The subscript of the formula is replaced by c from a to obtain a normal vector r3The calculation formula of (2);
using the formula Axis1 ═ r1;Axis2=±r2(ii) a Axis3 ±. Axis1 × ±. Axis2 calculates the axial Axis1, Axis2, Axis3 of the coordinate system of the base.
In one embodiment, the step S2 includes:
s201: keeping the system configuration parameters in the calibration of the vehicle arm unchanged and carrying out positioning setting;
s202: adjusting the position of the mobile processing robot, and recording the coordinate X of the mobile chassis corresponding to each position
i=[x
i y
i θ
i]And a homogeneous matrix of the three-dimensional poses of the rigid body
Repeatedly moving the mobile robot and recording corresponding groups of X
iAnd Y
i(ii) a Wherein R is
iPart of the homogeneous matrix that represents the rigid body attitude, P
iIs the part of the homogeneous matrix expressing the position of the rigid body;
s203: based on multiple groups of XiAnd YiAnd acquiring a mapping relation between the coordinates of the mobile chassis and the coordinates of the rigid body.
In one embodiment, the step S203 includes:
taking the intermediate variable Tvec,i=vec([Ri Pi]),Pvec,i=[xi yi sin(θi) cos(θi) 1];
Note the book
The mapping relationship between the coordinates of the mobile chassis and the coordinates of the rigid body is
In one embodiment, the step S3 includes:
obtaining a mobile chassis coordinate [ x y θ ] during movement of the mobile machining robot]Based on the conversion relation T and the mapping relation TdimAnd calculating to obtain the coordinates of the robot base as follows: t isrobot=Tdim·[x y sinθ cosθ 1]T。
In general, compared with the prior art, the above technical solution contemplated by the present invention can achieve the following beneficial effects:
1. the conversion relation between the coordinate system of the base and the coordinates of a fixed connection rigid body on a mobile chassis is obtained by calibrating the arm of the mobile processing robot; further, moving the calibration object to a corresponding preset position for multiple times, and recording the coordinates of the mobile chassis and the coordinates of the rigid body to obtain the mapping relation between the coordinates of the mobile chassis and the coordinates of the rigid body; and finally, calculating the coordinates of the base based on the conversion relation and the mapping relation when the coordinates of the mobile chassis are known. The mobile processing robot positioning method is simple to operate, quick in response and high in accuracy. The method can obtain the position of the base of the mobile processing robot through a commonly used two-dimensional positioning system of the mobile chassis, is suitable for various processing and operation scenes, and improves the flexibility of the mobile processing of the robot.
2. In the calibration process, a first axial direction is calibrated and a first target ball position is recorded, a second axial direction is calibrated and a second target ball position is recorded, a third calibration position is calculated by a calibration origin, and the axial directions Axis1, Axis2, Axis3 and a normal vector r of the coordinate system of the base are determined by using the first target ball position, the second target ball position and the third target ball position1、r2、r3And center O of circle1、O2、O3The calibration process is simple, the calibration efficiency is high, and meanwhile, the flexibility of mechanical arm calibration can be improved.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention. In addition, the technical features involved in the embodiments of the present invention described below may be combined with each other as long as they do not conflict with each other.
To achieve the above object, according to one aspect of the present invention, there is provided a locating method of a mobile processing robot applied to an environment shown in fig. 1, wherein 1 is a robot arm, and 2 is a mobile chassis. The specific implementation process of the method is shown in fig. 2, and comprises the following steps: s1: calibrating the vehicle arm to obtain a base F of the mobile processing robotROBOTAnd a rigid body F fixedly connected on the movable chassisAGVmarkThe conversion relationship between them; s2: adjusting the position of the mobile processing robot, recording FAGVmarkAnd a movable chassis FAGVObtaining the coordinates of FAGVmarkAnd FAGVThe conversion relationship between them; s3: acquiring the moving chassis F in the moving process of the mobile processing robotAGVBased on the transformation relationship, calculating the robot base FROBOTTo position the robot base.
In one embodiment, step S1 includes:
s101: initializing a calibration environment, fixing the machineThe base of the arm makes the mechanical arm in the state of resetting the system and records the initial position P of the tail end of the mobile processing robot in the base coordinate system corresponding to the mechanical arm1Simultaneously recording the initial coordinates T of the rigid bodyAGVmark;
S102: fixing a target ball at the Kth joint of the mechanical arm and keeping the target ball away from the axis of the Kth joint as far as possible; specifically, a target ball is fixed in the calibration of the vehicle arm, and K is more than or equal to K0Kth of mechanical arm0Rotation direction of joint and 1 st to Kth joints0-1 the rotational directions of the joints are all different;
s103: calibrating a first axial direction, enabling the mechanical arm to be in a state when the system is reset, rotating a first joint of the mechanical arm, and recording the position of a first target ball; specifically, the first axis is calibrated in the calibration of the vehicle arm, the positions of the recorded target balls are not less than 4, and the positions are not too close to each other as far as possible. The obtained target ball position is recorded as [ X ]a Ya Za],Xa=[Xa1,Xa2,…,Xai]、Ya=[Ya1,Ya2,…,Yai]、Za=[Za1,Za2,…,Zai],i≥4;
S104: calibrating the second axial direction, enabling the mechanical arm to be in a state when the system is reset, rotating the Nth joint of the mechanical arm, and recording the position of a second target ball; specifically, a second axial direction is calibrated in the calibration of the vehicle arm, N is not less than 2 and not more than K-1, and the rotating direction of the second axial direction is not parallel to the rotating shaft of the first joint; the number of recorded target ball positions should not be less than 4 and should not be too close to each other as much as possible. The obtained target ball position is recorded as [ X ]b Yb Zb],Xb=[Xb1,Xb2,…,Xbi]、Yb=[Yb1,Yb2,…,Ybi]、Zb=[Zb1,Zb2,…,Zbi]。
S105: calibrating the original point, enabling the mechanical arm to be in a state when the system is reset, rotating the Kth joint by 180 degrees, and recording the position P of the tail end of the mobile processing robot in a mechanical arm base coordinate system2(ii) a Selecting the rotation direction in the first joint or the Nth joint of the mechanical armRotating a joint different from the K shaft, and recording the position of a third target ball; specifically, the origin is calibrated in the calibration of the vehicle arm, the positions of the recorded target balls are not less than 4, and the distance between the recorded target balls is not too close to each other as much as possible. The obtained target ball position is recorded as Xc=[Xc1,Xc2,…,Xci]、Yc=[Yc1,Yc2,…,Yci]、Zc=[Zc1,Zc2,…,Zci]。
S106: determining axial Axis1, Axis2, Axis3, and normal vector r of the coordinate system of the pedestal using the first target ball position, the second target ball position, and the third target ball position1、r2、r3And center O of circle1、O2、O3;
S107: using formulas
Calculating the origin P of the base coordinate system
0Wherein O is
1、O
2Respectively refers to the circle centers r corresponding to the first target ball position and the second target ball position
3Refers to the normal vector, P, corresponding to the third target ball position
1And P
2The positions of the fingers are as above, and are not described in detail herein;
s108: obtaining a coordinate system of the base
R is a matrix obtained by arranging Axis1, Axis2 and Axis3 according to the modes of an x Axis, a y Axis and a z Axis;
s109: obtaining a Mobile machining robot base F
ROBOTAnd a rigid body F fixedly connected on the movable chassis
AGVmarkThe conversion relationship between the two is as follows:
according to the invention, the arm calibration and the dimension conversion calibration are only required to be executed when the system is built, and the arm calibration and the dimension conversion calibration are required to be carried out again only when the structure of the mobile processing robot is changed or the configuration of the mobile chassis positioning system is changed.
In one embodiment, center O is calculated in S1061、O2、O3The process of (2) is as follows:
marking the position of the first target ball as Xa Ya Za],Xa=[Xa1,Xa2,…,Xai]、Ya=[Ya1,Ya2,…,Yai]、Za=[Za1,Za2,…,Zai]I is not less than 4; the second target ball position is [ X ]b Yb Zb],Xb=[Xb1,Xb2,…,Xbi]、Yb=[Yb1,Yb2,…,Ybi]、Zb=[Zb1,Zb2,…,Zbi](ii) a The third target ball position is [ X ]c Yc Zc],Xc=[Xc1,Xc2,…,Xci]、Yc=[Yc1,Yc2,…,Yci]、Zc=[Zc1,Zc2,…,Zci](ii) a Note additionally As=[-2Xa -2Xb -2Xc 1];
Wherein symbol denotes the dot product of the vectors;
Circle center coordinate
Is Cir
aItem i of (1);
circle center coordinate
Is Cir
bItem i of (1);
circle center coordinate
Is Cir
cItem i of (1).
In one embodiment, the robot base coordinate system axial Axis1, Axis2, Axis3 and normal vector r are calculated in S1061、r2、r3The process of (2) is as follows: for normal vector r1Record As=[Xa2-Xa1,Xa3-Xa1,…,Xai-Xa1]、Bs=[Ya2-Ya1,Ya3-Ya1,…,Yai-Ya1]、Cs=[Za2-Za1,Za3-Za1,…,Zai-Za1]、Tan=[As Bs]Then the normal vector r1=[(TanT Tan)-1TanT CS-1](ii) a For normal vector r2Will calculate a normal vector r1The subscript of the formula is replaced by b from a to obtain a normal vector r2The calculation formula of (2); for normal vector r3Will calculate a normal vector r1The subscript of the formula is replaced by c from a to obtain a normal vector r3The calculation formula of (2);
using the formula Axis1 ═ r1;Axis2=±r2(ii) a Axis3 ±. Axis1 × ±. Axis2 calculates the axial Axis1, Axis2, Axis3 of the coordinate system of the base, wherein the sign can be determined by the user on demand.
In one embodiment, as shown in fig. 2, step S2 includes:
s201: keeping the system configuration parameters in the calibration of the vehicle arm unchanged and carrying out positioning setting; specifically, the configuration of a positioning system in the vehicle arm calibration method is kept unchanged, and a mobile chassis positioning system is arranged and kept unchanged in later use.
S202: adjusting the position of the mobile processing robot, and recording the coordinate X of the mobile chassis corresponding to each preset position
i=[x
i y
i θ
i]Homogeneous matrix of three-dimensional poses of rigid body
Repeatedly moving the mobile processing robot and recording corresponding multiple groups of X
iAnd Y
i,R
iPart of the homogeneous matrix that represents the rigid body attitude, P
iThe portion of the homogeneous matrix that expresses the position of the rigid body. In one embodiment, the number of sets is k, and k ≧ 24.
S203: and acquiring a mapping relation between the coordinates of the mobile chassis and the coordinates of the rigid body.
In one embodiment, step S203 includes:
taking the intermediate variable Tvec,i=vec([Ri Pi])、Pvec,i=[xi yi sin(θi) cos(θi) 1];
Note the book
The mapping relationship between the coordinates of the mobile chassis and the coordinates of the rigid body is
In one embodiment, step S3 includes:
obtaining mobile chassis coordinates [ x y theta ] in the moving process of the mobile processing robot]Based on the transformation relation T and the mapping relation TdimAnd calculating to obtain the coordinates of the robot base as follows: t isrobot=Tdim·[x y sinθ cosθ 1]T。
It will be understood by those skilled in the art that the foregoing is only a preferred embodiment of the present invention, and is not intended to limit the invention, and that any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention should be included in the scope of the present invention.