Detailed Description
Referring to fig. 1, the present invention provides an AGV system having a plurality of eccentric steerable wheel units, and the AGV system has at least 2 eccentric steerable wheel units for driving a vehicle body to move. The eccentric steering wheel device comprises a driving wheel, a steering shaft for adjusting the direction of the driving wheel and a necessary auxiliary mounting and fixing component. A driving wheel of the eccentric steering wheel device is in contact with the ground to drive the AGV body to move forward; and the drive wheel is not located directly below the steering shaft but is eccentric to the steering shaft.
Specifically, referring to fig. 2 and 3, the AGV system includes an AGV body provided with universal wheels 7 and an eccentric steering wheel device for driving the AGV body to move. The eccentric steering wheel device comprises a steering wheel assembly and a steering driving assembly for driving the steering wheel assembly to rotate eccentrically. One or more universal wheels 7 are respectively arranged at four corners of the bottom of the vehicle body. The eccentric steering wheel device can be provided with 2, 3 or more than two eccentric steering wheel devices according to requirements.
The steering wheel assembly comprises a connecting support 1, a walking driving motor 2 fixed on the connecting support 1 and a driving wheel 3 connected with an output shaft of the walking driving motor 2.
The steering driving assembly comprises a steering driving motor 4 fixed on the AGV body, a steering shaft 5 and a chain transmission assembly 6 arranged between an output shaft of the steering driving motor 4 and the steering shaft 5. The steering shaft 5 is connected to the connecting bracket 1 and is located on one side of the drive wheel 3. The steering shaft 5 is of a sleeve type structure so as to be convenient for installing a slip ring matched with the motor in a cavity of the steering shaft.
The AGV system is provided with a control device matched with the eccentric steering wheel device, the control device comprises a user operation interface module, a wireless communication module, a navigation positioning module, an upper track planner module, a servo motor control module, a safety collision avoidance module, a system log module and the like, and a track tracking controller module and a pose decoupling kinematics module which are related to the method, and the flow chart is shown in FIG. 5. And the trajectory tracking controller module is used for solving the pose deviation and the corrected motion instruction according to the trajectory instruction of the upper-layer planner and the parameters such as the current pose of the AGV. And the pose decoupling kinematics module solves the steering angle and the advancing speed of each eccentric steering wheel of the AGV according to the corrected motion instruction, as shown in FIG. 6. The servo motor of the eccentric steering wheel can drive the AGV body to move according to the steering angle and the advancing speed, so that the AGV can advance along any curve and can rotate the posture of the AGV body at will, as shown in FIG. 4.
Referring to the attached drawings 5 and 6, based on the AGV system, the invention provides a track tracking control method for decoupling the positions and postures of the AGV with multiple eccentric steering wheels, which comprises three steps of establishing a vehicle body coordinate system, calculating coordinate values and eccentric values of the eccentric steering wheels, defining an application scene and a task track, and controlling the AGV body to track a given task track. Firstly, a trajectory tracking module of the AGV control device calculates trajectory tracking deviation according to a given task trajectory and current AGV pose data and gives a corrected motion instruction, and then a pose decoupling kinematics module of the control device converts the motion instruction into a steering angle and an advancing speed of each eccentric steering wheel. Therefore, the servo motor of the eccentric steering wheel device can drive the AGV to advance according to the solved steering angle and the advancing speed; the method not only can change the advancing direction without changing the posture of the vehicle body, but also can rotate the posture of the vehicle body randomly while advancing along the appointed track, and fully exerts the advantages of high flexibility and good stability of the movement of the AGV system with the steering wheel structure.
The trajectory tracking control method comprises the following steps:
step A, randomly appointing one point of the AGV body as a reference point A, establishing an AGV body coordinate system { A } fixedly connected with the AGV body by taking the reference point as an original point and taking the advancing direction of the AGV body as an X axis when the steering shafts 5 in all the eccentric steering wheel devices are positioned at zero positions, and calculating the centers O of the steering shafts of all the eccentric steering wheel devicesiCoordinate value [ A ] in AGV body coordinate system [ A ]Axi,Ayi]And the eccentricity value b of the driving wheeli。
B, establishing a ground rectangular coordinate system { W } under an AGV application scene, and giving a motion track { Path } of an AGV body pose [ x, y, alpha ] under the ground rectangular coordinate system { W } by an upper-layer planner:
The AGV body pose comprises a body position and a body posture. Wherein, the AGV body position is the coordinate value [ x, y ] of the origin of the AGV body coordinate system { A }, namely the coordinate value of the reference point A under the ground rectangular coordinate system { W }](ii) a The AGV body posture is an included angle alpha between the X-axis positive direction of the AGV body coordinate system { A } and the X-axis positive direction of the ground rectangular coordinate system { W }. Positional translation velocity vector at AGV reference point A
The included angle between the forward direction of the X axis of the AGV body coordinate system { A } is the steering angle of the AGV body and is recorded as
ABeta; an included angle between the forward direction of the X axis of the rectangular coordinate system { W } and the ground is an advancing direction angle of the AGV body, and is marked as beta; satisfy beta ═ between the two
Aβ+α。
The motion trail { Path } specifies the change relation of the position and the attitude of the AGV body along with the time t, and the position and the attitude of the AGV body are independent.
And step C, at any time (as shown in fig. 4) after the AGV starts to move, calculating a trajectory tracking deviation and a corrected motion instruction, namely a position translation speed instruction by the trajectory tracking controller module according to the trajectory instruction given by the upper planner and the actual pose of the AGV at the current time
And attitude rotational speed command v
α,r(ii) a Then, the pose decoupling kinematics module calculates the steering angles of all the eccentric steering wheels according to the corrected motion instruction
Aβ
i,rAnd a forward speed v
i,r. Therefore, the servo motor of the eccentric steering wheel device can drive the AGV to move according to the solved steering angle and the solved forward speed.
The method for calculating the trajectory tracking deviation and the corrected motion instruction by the trajectory tracking controller module comprises the following steps of:
s1: target pose [ x ] given by motion trail { Path } of AGV body reference pointt,yt,αt]And the actual pose [ x ] of the AGV body at the current momenta,ya,αa]And the steering angle of the AGV body at the current momentAβaCalculating the trajectory tracking deviation xe,ye,αe]:
S2: position translation velocity vector given by motion track { Path } at AGV body reference point
Attitude rotational speed v
α,tAnd the actual attitude rotating speed v of the AGV body at the current moment
α,aAnd track following deviation [ x ]
e,y
e,α
e]Calculating a corrected motion command, i.e., a position translation velocity command
And attitude rotational speed command v
α,r:
Wherein the content of the first and second substances,
k
1and k
2Gain factor, empirical value. The formula is derived by a backstepping method of a classical feedback control method.
Referring to fig. 6, the pose decoupling kinematics module calculates the steering angles of all the eccentric steering wheels according to the corrected motion commandAβi,rAnd a forward speed vi,rThe method comprises the following steps:
p1: first, the instantaneous center of the speed of the AGV body movement is calculated. The compound motion of the positional translation and attitude rotation of the AGV body along the track { Path } is a planar rigid motion, and the position translation speed is determined according to the running property of the planar rigid motion
And attitude rotational velocity v
α,rSolving the instantaneous center O of rigid motion as [ x ] according to the following formula
O,y
O]
T:
In the formula, the first step is that,
the plane vector pointing to the AGV body reference point A from the instantaneous center of motion O can be obtained by solving the following plane rigid body motion properties:
wherein'×' denotes a vector cross product.
P2: the center O of the steering shaft
iCoordinate value [ A ] in AGV body coordinate system [ A ]
Ax
i,
Ay
i]Converting to [ x ] under ground rectangular coordinate system [ W ]
i,y
i]Then calculating the steering center O of the eccentric steering wheel
iVelocity vector of translation of
Because the
steering shaft 5 of the eccentric steering wheel device is fixedly connected with the AGV body, the steering shaft and the AGV body meet the rigid motion property of a plane. For plane rigid body motion, the speed, including the size and the direction, of any fixed connection point on the AGV body can be solved through the speed instant center and the attitude rotating speed of the AGV body motion; from the speed direction the steering angle of the eccentric rudder wheel device can be calculated. Then can be driven by the steering shaft center O
iVelocity vector of plane motion of
Obtaining the steering angle of the eccentric steering wheel device
Aβ
i,r. Before calculating the speed direction of the steering shaft in the eccentric steering wheel device, the center O of the steering shaft needs to be firstly calculated
iCoordinate value [ A ] in AGV body coordinate system [ A ]
Ax
i,
Ay
i]Converting to [ x ] under ground rectangular coordinate system [ W ]
i,y
i]:
Then, the steering shaft center O is calculated
iVelocity vector of plane motion of
Wherein'×' denotes a vector cross product;
to point from the instant center of motion O to the steering shaft center O
iThe plane vector of (a) is,
p3: calculating the steering angle of an eccentric steering wheelAβi,rAnd the forward speed v of the eccentric steering wheeli,r。
Wherein the steering angle of the eccentric steering wheel
Forward speed of eccentric steering wheel
Since the
driving wheel 3 of the eccentric steering wheel device can rotate around its steering shaft, it does not satisfy the property of planar rigid motion with the AGV body. The contact point between the
driving wheel 3 and the ground is changed relative to the AGV body (projected on the AGV body is a circle with the steering shaft as the center and the eccentricity as the radius), so the speed of the
driving wheel 3 of the eccentric steering wheel device is not equal to the center O of the steering shaft
iBut there is an eccentricity compensation quantity. The eccentric compensation quantity is composed of two parts, one part is attitude rotating speed v
α,rAnd position translation velocity vector
Steering angular velocity ω
Oi,rAnd eccentricity b
iA compensation amount for the interaction; the other part is the eccentricity compensation quantity caused by the movement of the eccentric steering wheel from the steering angle at the last moment to the steering angle at the current moment. While calculating the steering angular velocity ω
Oi,rPreviously, the translation acceleration vector at the steering shaft needs to be calculated
Translational velocity vector at steering shaft of AGV eccentric steering wheel
And translational acceleration vector
Calculating the steering speed omega of the translation speed vector
Oi,r:
The track tracking control method can be suitable for an AGV system consisting of any plurality of eccentric steering wheels, and the steering angle of each eccentric steering wheel is respectively solved for any given AGV trackAβi,rAnd a forward speed vi,rThe AGV can randomly rotate the posture of the vehicle body while advancing along any curve, so that the decoupling of the position and the posture of the AGV is realized (namely the change of the posture along with time is independent, and no coupling exists between the position and the posture).
And a visual camera and a corresponding light supplement lamp for detecting the ground rule reference object are arranged at the bottom of the AGV system. The visual camera shoots ground information to obtain the pose (position and posture) of the AGV system under a ground coordinate system. The AGV system is provided with an IMU or a milemeter and is used for acquiring moving data of the AGV system in the moving process. Therefore, through the visual camera and the IMU or the visual camera and the odometer, the invention also provides a combined navigation positioning method, which is based on the ground with the regular reference object and is suitable for application scenes such as stages. The ground with the regular reference object refers to the reference object regularly laid on the ground, such as wood floor, ceramic tile sticker and other random splicing materials or the spraying and pasting marks capable of forming a linear grid, as shown in the attached figures 7 and 8.
The combined navigation determination method comprises the following steps:
step U, establishing a coordinate system: and B, dividing the plane rectangular coordinate system { W } (established by taking any point on the ground in the scene to be applied as an origin) established in the step B into a preparation area and a working area. And pasting a series of two-dimensional codes with pose information in the preparation area. The self information of the two-dimensional code and the corresponding pose information [ x ] under the ground plane rectangular coordinate system { W }q,yq,αq]A configuration file for the controller within the AGV is maintained.
Step V, setting a configuration file: the size information of the rule reference is input to the configuration file of the controller of the AGV.
Referring to FIG. 9, the length and width of a floor reference (e.g., floor, tile, etc.) [ l ]f,wf]And the included angle alpha between the length direction (artificially designated) and the X-axis direction of the rectangular coordinate system { W } of the ground planefSaving the configuration file to the control device; the AGV control device automatically generates a grid map, that is, a linear family corresponding to a ground grid line, from the configuration file: { M } ═ LX }. ═ { [ LX }. ≡ LY }.
Step W, AGV initializes: after the AGV is electrified, the AGV is manually controlled to pass through the two-dimensional code identification, the vision camera scans the two-dimensional code identification and obtains absolute position information of the AGV in a ground plane rectangular coordinate system through calculation of the control device, and initialization of the AGV is completed.
Specifically, after the AGV is powered on in the preparation area, an operator manually controls the AGV to pass through the area pasted with the two-dimensional code, and after the vision camera scans the two-dimensional code, the control device automatically calculates absolute position information [ x ] of the AGV in a ground plane rectangular coordinate system { W } through a configuration filea,ya,αa]And completing the initialization of the AGV.
Step X, integrated navigation and positioning: referring to fig. 10, in the motion process of the AGV after initialization, the visual camera collects reference object information, the control device solves the AGV position data of the current time by using the collected reference object information through a plane geometric relationship, and the obtained AGV position data and the IMU or odometer data are fused through a kalman filtering algorithm to complete combined navigation positioning.
In a short movement process after the initialization of the AGV is completed, the IMU or the odometer is responsible for navigation and positioning of the AGV at the moment in a short time interval when the visual camera cannot acquire effective map information.
In the movement process after the initialization of the AGV is completed, after the visual camera acquires effective map information (such as gaps and grid lines of a floor or a ceramic tile) and the control device solves possible pose data of the AGV at the moment by using a plane geometric relation, and the pose data and IMU or odometer data are fused through a Kalman filtering algorithm to complete the combined navigation positioning.
Specifically, the method for solving the AGV pose data by the control device through the acquired reference object information by using the plane geometric relationship comprises the following steps of:
x11: and reading the ground image acquired by the vision camera.
X12: detecting straight lines in the image after graying, denoising, enhancing and the like, and if the straight lines are detected to exist, solving an equation { L } of all the straight lines in the image under a visual camera coordinate system { C } through a camera internal reference homography matrix Hi}={H·si,1+t·(H·si,1-H·si,2) L t belongs to R }; wherein s isi,1And si,2Two end points of the detected ith straight line are detected, and t is a real parameter. If no straight line is detected, it indicates that the AGV is in a short motion process after the initialization is completed, and the IMU or the odometer is responsible for navigation positioning of the AGV.
X13: two straight lines { Lx } and { Ly } of a family of straight lines { M } { LX } { U } { LY } of grid lines in the grid map that are within the visual field of view of the visual camera and that are closest to the origin of its lens are determined from the IMU or odometer data.
The specific solving process is as follows:
the family of rectilinear lines { LX } of grid lines are parallel lines, determined by the following parameters: a point s on any one of the parallel lines; the direction vector v of the parallel lines; the distance w between parallel lines. If a vector perpendicular to the direction vector V is set to be V, a point s + n.w.V, which is an integral multiple of w from the point s and is perpendicular to V when connecting with the point s, is always located on a straight line in the parallel line family { LX }.
The distance of an arbitrary point p on the plane from the family of parallel lines { LX } can be expressed as: d ═ p-s · V/| p-s |, where the equal sign right side is the vector calculation.
Thus, the square of the distance d2Is a parabola with an upward opening and a quadratic curve of an integer n, and d can be obtained from the property that the parabola only has one vertex2And the corresponding integer n, to obtain a point s + n · w · V, where the straight line formed by this point and the direction vector V is the closest straight line to the point p in the family of straight lines { LX }. If the point p is the origin of the visual camera, the straight lines { Lx } and { Ly } closest to the origin of the camera in the straight line family { M } { LX } U { LY } of the map grid line can be solved.
X14: solving all the Linear equations LiThe slope theta under the visual camera lens coordinate system { C }iAnd intercept di(ii) a And the slope θ of the lines { Lx } and { Ly } in the visual camera lens coordinate system { C }, respectivelyx、θyAnd intercept dx、dy。
X15: according to a set threshold value thetatAnd dtDividing all the straight lines into two groups and debugging the error straight lines to obtain two groups of detection straight lines { Lx } corresponding to { Lx } and { Ly } respectivelyi1,2, …, m and { Ly |i|i=1,2,…,n},
Wherein L isi∈{Lxi},if |θi-θx|≤θt∩|di-dx|≤dt
Li∈{Lyi},if |θi-θy|≤θt∩|di-dy|≤dt。
X16: weighted sum s of slope difference and intercept difference for the straight line detected in each directioniAssigning a weight q to each linei:
si=p×|θi-θx|+(1-p)×|di-dx|
X17: the straight lines detected in each direction are used as final detected straight lines { Lx _ d } and { Ly _ d } in the direction by taking the weighted average of the slope and the weighted average of the intercept as the final detected straight lines { Lx _ d } and { Ly _ d } in the direction.
X18: transform the relation from the same order
Calculating the observed value of the current position and attitude of the AGV determined by the vision camera
Wherein the content of the first and second substances,
AT
Cthe installation pose of the camera { C } on the vehicle body { A }.
The fusion of the AGV pose data observed by the vision camera and the IMU or odometer data through the Kalman filtering algorithm comprises the following steps:
x21: using IMU or odometer data as state quantity X, X ═ X, y, alpha]T。
X22: first order newtonian kinematics as equation of state: xk=Xk-1+Vk·ΔT+ωkWherein V iskFor the AGV speed of the k-th cycle, Δ T is the cycle duration, ωkIs process noise with covariance matrix of Q, initial state X0And detecting the two-dimensional code to obtain the code.
X23: establishing an observation equation (the process of shooting ground images by a visual camera and solving AGV pose data is the observation of state quantity): z
k=X
k+υ
kWherein, in the step (A),
υ
kfor observation noise, its covariance matrix is R; the above steps describe the data fusion problem in the State space in the form of a State-space Model (State-space Model).
X24: and predicting the state at the next moment by using a state equation, namely predicting in one step:
wherein the content of the first and second substances,
is a one-step prediction result
The covariance matrix of (1) describes
Of the error distribution of (2), its initial value P
0Given by empirical values.
X25: then, correcting the predicted value of the system state by using the observed value of the system state by using a sensor, namely updating the state:
wherein, K
gIn order to be the basis of the kalman gain,
the method comprises the steps that a visual camera is installed inside an AGV body and shoots the ground downwards, and ground image information such as two-dimensional codes, floors and tiles is collected; the control device processes the two-dimensional code information to obtain an initial pose of the AGV; in the interval time of the visual camera collecting the ground information twice, the IMU or the odometer is responsible for processing the short-time local navigation positioning of the AGV; and after the visual camera acquires effective ground information, the control device integrates vision and IMU or odometry data through a Kalman filtering algorithm to correct positioning errors, and the integrated navigation positioning is completed.
Finally, it should be noted that: the above examples are only intended to illustrate the technical solution of the present invention and not to limit it; although the present invention has been described in detail with reference to preferred embodiments, those skilled in the art will understand that: modifications to the specific embodiments of the invention or equivalent substitutions for parts of the technical features may be made; without departing from the spirit of the present invention, it is intended to cover all aspects of the invention as defined by the appended claims.