Method and device for automatically recovering AGV after it leaves track
Through closed-loop control algorithm and position information processing, automatic recovery of AGV after being disengaged from the track is solved, and the problem of manual pushback of AGV off the track in the prior art is solved, and the operation efficiency and positioning accuracy of AGV are improved.
Patent Information
- Application Number
- CN201910808040.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2019-08-29
- Publication Date
- 2025-02-25
- Estimated Expiration
- 2039-08-29
AI Technical Summary
In the prior art, AGV needs to be pushed back manually after leaving the QR code track, resulting in an increase in time and labor costs and reducing the operating efficiency of AGV.
Using a closed-loop control algorithm, by obtaining the position information of AGV relative to the start code point, adjusting the posture of AGV in situ, making its driving direction point to the start code point, calculating the driving speed and generating a restoration command, so that the AGV automatically returns to derailment. At the last QR code that passed before.
The AGV can automatically return to the driving trajectory without manual participation, saving manpower and time, improving the operation efficiency of the AGV, and effectively reducing errors.
Smart Images

Figure CN112445216B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer technology, and in particular to a method and device for automatically recovering an AGV after it has deviated from a track. Background Art
[0002] AGV is the abbreviation of Automated Guided Vehicle, which means "automatic guided transport vehicle". It refers to a transport vehicle equipped with automatic navigation devices such as electromagnetic or optical devices, which can travel along a specified guide path and has safety protection and various transfer functions.
[0003] At present, AGV based on QR code navigation is widely used. The driving area of AGV is divided into several small coordinate areas by QR code positioning blocks, and guidance is achieved by counting the small areas. Its advantages are convenient path modification, good guidance reliability, easy control, and low sensor requirements.
[0004] In the process of implementing the present invention, the inventors found that there are at least the following problems in the prior art:
[0005] If the AGV gets out of control and leaves the QR code track, the AGV needs to be manually pushed to the QR code point so that the AGV can operate normally. This will consume time, manpower and other costs and reduce the operating efficiency of the AGV. Summary of the invention
[0006] In view of this, an embodiment of the present invention provides a method and device for automatic recovery of an AGV after it goes off track. Based on a closed-loop control algorithm, the AGV that has gone off track can automatically return to the last QR code passed before the derailment, effectively reducing errors. The AGV can automatically return to its driving track without human intervention, saving manpower and time, and improving the operating efficiency of the AGV.
[0007] To achieve the above objective, according to one aspect of an embodiment of the present invention, a method for automatically recovering an AGV after it has deviated from a track is provided.
[0008] A method for automatically restoring an AGV after it deviates from a track, comprising: when the AGV is stationary, obtaining the posture information of the AGV relative to a starting code point, the starting code point being the center point of a starting code, the starting code being the last two-dimensional code passed by the AGV before it deviates from the track, and the posture information comprising position information and posture information; adjusting the posture of the AGV in situ according to the posture information of the AGV so that the driving direction of the AGV points to the starting code point; obtaining the position difference between the AGV and the starting code point according to the position information of the AGV and the position information of the starting code point, and obtaining the driving speed of the AGV according to the position difference; generating a restoration instruction according to the driving speed of the AGV so that the AGV drives to the starting code point.
[0009] Optionally, the method further includes: after the AGV travels to the starting code point, adjusting the posture of the AGV again on the spot so that the traveling direction of the AGV is consistent with the traveling direction before leaving the track.
[0010] Optionally, obtaining the position information of the AGV relative to the starting code point includes: obtaining an angle ΔΦ rotated by two driving wheels of the AGV in unit time L , ΔΦ R , and by L and ΔΦ R Integrate to obtain the posture information of the AGV relative to the starting code point; according to the posture information of the starting code point, ΔΦ L , ΔΦ R The position information of the AGV relative to the starting code point is obtained by combining the posture information of the AGV relative to the starting code point; the position information and posture information of the AGV relative to the starting code point constitute the position information of the AGV relative to the starting code point.
[0011] Optionally, adjusting the posture of the AGV in situ according to the posture information of the AGV includes: obtaining the rotation angle of the AGV according to the posture information of the AGV; obtaining the rotation speed of two driving wheels of the AGV according to an established AGV kinematic model; and controlling the AGV to rotate in situ according to the rotation angle of the AGV and the rotation speed of the two driving wheels to adjust the posture of the AGV.
[0012] Optionally, obtaining the travel speed of the AGV according to the position difference includes: inputting the position difference into a linear controller to obtain the linear speed and angular speed of the AGV.
[0013] Optionally, after obtaining the linear velocity and angular velocity of the AGV, the method further includes: obtaining the rotational speeds of two driving wheels of the AGV according to a kinematic model of the AGV.
[0014] According to another aspect of an embodiment of the present invention, a device for automatically recovering an AGV after it deviates from a track is provided.
[0015] A device for automatically recovering an AGV after it goes off track, comprising: a posture acquisition module, used for obtaining the posture information of the AGV relative to a starting code point when the AGV is stationary, the starting code point being the center point of the starting code, the starting code being the last two-dimensional code passed by the AGV before it goes off track, and the posture information comprising position information and posture information; a posture adjustment module, used for adjusting the posture of the AGV in situ according to the posture information of the AGV, so that the driving direction of the AGV points to the starting code point; a speed calculation module, used for obtaining the position difference between the AGV and the starting code point according to the position information of the AGV and the position information of the starting code point, and obtaining the driving speed of the AGV according to the position difference; and a recovery processing module, used for generating a recovery instruction according to the driving speed of the AGV, so that the AGV drives to the starting code point.
[0016] Optionally, the posture adjustment module is further used to: after the AGV travels to the starting code point, adjust the posture of the AGV again on the spot so that the driving direction of the AGV is consistent with the driving direction before leaving the track.
[0017] Optionally, the posture acquisition module is further used to: obtain the angle ΔΦ that the two driving wheels of the AGV rotate in unit time L , ΔΦ R , and by L and ΔΦ R Integrate to obtain the posture information of the AGV relative to the starting code point; according to the posture information of the starting code point, ΔΦ L , ΔΦ R The position information of the AGV relative to the starting code point is obtained by combining the posture information of the AGV relative to the starting code point; the position information and posture information of the AGV relative to the starting code point constitute the position information of the AGV relative to the starting code point.
[0018] Optionally, the posture adjustment module is also used to: obtain the rotation angle of the AGV according to the posture information of the AGV; obtain the rotation speed of the two driving wheels of the AGV according to the established AGV kinematic model; control the AGV to rotate in place according to the rotation angle of the AGV and the rotation speed of the two driving wheels to adjust the posture of the AGV.
[0019] Optionally, the speed calculation module is further used to: input the position difference into a linear controller to obtain the linear speed and angular speed of the AGV.
[0020] Optionally, the speed calculation module is further used to: after obtaining the linear speed and angular speed of the AGV, obtain the rotation speeds of the two driving wheels of the AGV according to the AGV kinematic model.
[0021] According to another aspect of the embodiments of the present invention, there is provided an electronic device for automatically recovering an AGV after it deviates from a track.
[0022] An electronic device for automatically recovering an AGV after it goes off track, comprising: one or more processors; a storage device for storing one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement the method for automatically recovering an AGV after it goes off track provided in an embodiment of the present invention.
[0023] According to still another aspect of the embodiments of the present invention, a computer readable medium is provided.
[0024] A computer readable medium stores a computer program, which, when executed by a processor, implements a method for automatically recovering an AGV after it has deviated from a track provided by an embodiment of the present invention.
[0025] One embodiment of the above invention has the following advantages or beneficial effects: when the AGV is stationary, the posture information of the AGV relative to the starting code point is obtained, the starting code point is the center point of the starting code, the starting code is the last two-dimensional code that the AGV passes before leaving the track, and the posture information includes position information and posture information; the posture of the AGV is adjusted in situ according to the posture information, so that the driving direction of the AGV is to point to the starting code point; the position difference between the AGV and the starting code point is obtained according to the position information, and the driving speed of the AGV is obtained according to the position difference; a restoration instruction is generated according to the driving speed, so that the AGV drives to the starting code point, and the closed-loop control algorithm is realized, so that the AGV that has left the track can be automatically restored to the last two-dimensional code passed before the derailment, effectively reducing the error, and the AGV can be automatically restored to the driving track without manual participation, saving manpower and time, and improving the operation efficiency of the AGV. Since the posture information of the AGV obtained each time is the posture information of the center store of the last two-dimensional code passed by the AGV before leaving the track, the measurement starting position of the odometer (position measurement device) can be dynamically updated, thereby reducing the influence of the cumulative error of the odometer on the positioning accuracy.
[0026] The further effects of the above-mentioned non-conventional optional manner will be described below in conjunction with the specific implementation manner. BRIEF DESCRIPTION OF THE DRAWINGS
[0027] The accompanying drawings are used to better understand the present invention and do not constitute an improper limitation of the present invention.
[0028] Figure 1 Schematic diagram of the main steps of the method for automatically recovering an AGV after it deviates from the track according to an embodiment of the present invention;
[0029] Figure 2is a schematic diagram of a stationary state of an AGV after leaving the track according to an embodiment of the present invention;
[0030] Figure 3 It is a schematic diagram of the modeling principle of the AGV kinematic model according to one embodiment of the present invention;
[0031] Figure 4 is a schematic diagram of the position and posture of an AGV relative to a starting code point according to an embodiment of the present invention;
[0032] Figure 5 It is a schematic diagram of a method for expressing the position difference between an AGV and a starting code point according to an embodiment of the present invention;
[0033] Figure 6 This is a schematic diagram of the state of an AGV returning to a starting code point according to an embodiment of the present invention;
[0034] Figure 7 Schematic diagram of main modules of a device for automatically recovering an AGV after it deviates from a track according to an embodiment of the present invention;
[0035] Figure 8 is an exemplary system architecture diagram to which embodiments of the present invention may be applied;
[0036] Fig. 9 It is a schematic diagram of the structure of a computer system of a terminal device or a server suitable for implementing an embodiment of the present invention. DETAILED DESCRIPTION
[0037] The following is a description of exemplary embodiments of the present invention in conjunction with the accompanying drawings, including various details of the embodiments of the present invention to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the present invention. Similarly, for clarity and conciseness, the description of well-known functions and structures is omitted in the following description.
[0038] In order to solve the problems existing in the prior art, an embodiment of the present invention provides a method and device for automatic recovery of an AGV after derailment. When the AGV deviates from the track, a closed-loop control algorithm is designed so that the AGV can automatically return to the QR code point. Resuming operation of the closed-loop control algorithm can effectively reduce errors.
[0039] Figure 1 Schematic diagram of the main steps of the method for automatically recovering an AGV after it has deviated from the track according to an embodiment of the present invention. Figure 1 As shown, the method for automatically recovering an AGV after it deviates from the track according to the embodiment of the present invention mainly includes the following steps S101 to S104.
[0040] Step S101: When the AGV is stationary, obtain the posture information of the AGV relative to the starting code point, where the starting code point is the center point of the starting code, and the starting code is the last QR code that the AGV passes before leaving the track. The posture information includes position information and posture information;
[0041] When the AGV is off the track, the upstream control system will issue a stop command or no longer issue any command after detecting the AGV is off the track. After the AGV receives the stop command or does not receive the command issued by the upstream control system for a period of time, it will stop due to inertia after a period of time. After the AGV stops, the automatic recovery method according to the embodiment of the present invention can be used to perform the automatic recovery operation.
[0042] Figure 2 FIG. 1 is a schematic diagram of a stationary state of an AGV after it leaves the track according to an embodiment of the present invention. Figure 2 As shown in Figure 1, after the AGV leaves the track, it will travel for a period of time due to inertia. After the AGV is stationary, its stationary state can be described by the position information of the AGV relative to the starting code point.
[0043] According to an embodiment of the present invention, after the AGV is stationary, it is necessary to obtain the posture information of the AGV relative to the starting code point. The posture of a robot (AGV can be regarded as a type of robot) refers to the position and posture of the robot's hand or other movable rods in space. In an embodiment of the present invention, the posture of the AGV refers to the position and offset angle (ie: posture) of the AGV relative to the starting code point. The position can be described using a position matrix. For example, the commonly used two-dimensional space position description is represented by the values on two mutually perpendicular coordinate axes X and Y, and the commonly used three-dimensional space position description is represented by the values on three mutually perpendicular coordinate axes X, Y, and Z, and so on. The posture can be represented by angle information such as the angle between different coordinate axes of the coordinate system.
[0044] According to one embodiment of the present invention, when obtaining the position information of the AGV relative to the starting code point, the following steps may be specifically performed:
[0045] Get the angle ΔΦ that the two driving wheels of the AGV rotate in unit time L , ΔΦ R , and by L and ΔΦ R Integrate to obtain the posture information of AGV relative to the starting code point;
[0046] According to the posture information of the starting code point, ΔΦ L , ΔΦ R The position information of the AGV relative to the starting code point is obtained by combining the posture information of the AGV relative to the starting code point;
[0047] The position information and posture information of the AGV relative to the starting code point constitute the position and posture information of the AGV relative to the starting code point.
[0048] Generally, no matter how many wheels an AGV has, two active wheels are provided to maintain the stable driving and controllable direction of the AGV. Since the control instructions need to be executed by the active wheels when controlling the driving and steering of the AGV, the implementation process based on the two active wheels of the AGV is only shown in the introduction of the embodiment of the present invention, and the center position of the axis of the two active wheels is used as the center of gravity of the AGV.
[0049] Figure 3 It is a schematic diagram of the modeling principle of the AGV kinematic model according to an embodiment of the present invention. Figure 3 AGV model established based on the AGV and its left and right driving wheels is shown in FIG. , wherein the radius of the two wheels is r, and the distance from the center of the wheel to the center of gravity of the AGV (the center of the axes of the two driving wheels) is L.
[0050] According to one embodiment of the present invention, an odometer (a device for measuring travel installed on a car, etc.) is used to record the angle ΔΦ that the left and right driving wheels rotate in a unit time. L and ΔΦ R , and then calculate the position information of the AGV relative to the starting code point based on the established AGV positioning model. The odometer is a sensor that calculates the AGV's travel distance by detecting the number of turns the wheel has made. Derailment is generally caused by errors in the motion control algorithm, so it will not affect the operation of the sensor. The odometer records the angle of the wheel's rotation per unit time through a photoelectric encoder (a sensor that converts the mechanical geometric displacement on the output shaft into pulses or digital quantities through photoelectric conversion).
[0051] According to the angle ΔΦ of the left and right driving wheels per unit time detected by the odometer L , ΔΦ R By integrating the angle, we can get the posture θ (i.e. angle information) of the AGV relative to the starting code point. The distance ΔS and the rotation angle Δθ of the AGV per unit time are as follows:
[0052]
[0053]
[0054] According to one embodiment of the present invention, the established AGV positioning model is, for example:
[0055] ξ k =[X k Y k θ k ];
[0056] θ k =θ k-1 +Δθ;
[0057] X k =X k-1 +ΔScosθ k ;
[0058] Y k =Y k-1 +ΔSsinθ k ;
[0059] Among them, ξ k is the pose at the kth moment, which includes the position information X k and Y k , and posture information θ k .
[0060] According to the AGV positioning model, the position (0,0,0) of the starting code point is taken as the initial posture of the AGV, and the posture of the AGV relative to the starting code point is θ through iteration. k =θ, the output X k and Y k As the position information of the AGV, the position information of the AGV relative to the starting code point after it derails and stops can be obtained to realize the positioning of the AGV. Among them, when performing iterative operations, the position and posture of the starting code point can be regarded as the position and posture of the starting code point relative to itself, so the initial posture position and posture of the starting code point is (0,0,0).
[0061] Step S102: adjusting the posture of the AGV in situ according to the posture information of the AGV so that the driving direction of the AGV points to the starting code point.
[0062] According to an embodiment of the present invention, when adjusting the posture of the AGV in situ in step S102, the following steps may be specifically performed:
[0063] Obtain the rotation angle of the AGV according to the posture information of the AGV;
[0064] The rotation speeds of the two driving wheels of the AGV are obtained according to the established AGV kinematic model;
[0065] According to the rotation angle of the AGV and the rotation speed of the two driving wheels, the AGV is controlled to rotate in place to adjust the posture of the AGV.
[0066] like Figure 3 The schematic diagram of the modeling principle of the AGV kinematic model shown in the figure takes the AGV center of gravity as the origin and the driving direction as X. R Axis, the direction perpendicular to the driving direction is Y RThe robot coordinate system is established by the axis, and the speeds of the left and right driving wheels are The wheel radius is r, the distance from the wheel center to the AGV's center of gravity is L, and the AGV moves along the X R The velocity in the direction is v, and the angular velocity of rotation around the center of gravity is ω. According to the no-slip, pure rolling constraint, and equal angular velocity of the rigid body, the AGV kinematic model can be established as follows:
[0067]
[0068]
[0069] According to an embodiment of the present invention, when adjusting the posture of the AGV in situ, it can be achieved by making the rotation speeds of the left and right driving wheels equal in magnitude and opposite in direction. Therefore, it is necessary to first obtain the rotation angle of the AGV according to the posture information of the AGV, and then determine the rotation speeds of the two driving wheels.
[0070] Figure 4 FIG. 1 is a schematic diagram of the position of an AGV relative to a starting code point according to an embodiment of the present invention. Figure 4 As shown, in the world coordinate system X I OY I In the diagram, the line connecting the starting code point and AGV and OX I The angle between the axes is α, and the AGV posture angle is β. To make the AGV move in the direction X R If the axis points to the starting code point, the AGV needs to be controlled to rotate clockwise at an angle of (180°-(α-β)).
[0071] Assuming the acceleration of the two active wheels of the AGV is a, the angular acceleration of the AGV is The angular velocity w is:
[0072]
[0073] According to the kinematic model, the speed of the left and right driving wheels can be solved Using this as the speed of the left and right driving wheels can control the AGV to rotate in place, making the AGV's X R The axis points to the starting code point.
[0074] Step S103: The position difference between the AGV and the starting code point is obtained based on the position information of the AGV and the position information of the starting code point, and the driving speed of the AGV is obtained based on the position difference. After the AGV is rotated in place in step S102, the driving direction of the AGV is now pointing to the starting code point. After that, the driving speed of the AGV can be calculated based on the position difference between the AGV and the starting code point, so that the AGV can just drive to the starting code point and achieve automatic recovery.
[0075] According to one embodiment of the present invention, the linear velocity and angular velocity of the AGV are obtained by inputting the position difference into a linear controller. Since the driving direction of the AGV cannot be corrected during its driving, and the AGV may swing left and right due to control errors, friction, different ground conditions, etc., there will be certain errors during the driving of the AGV; and there will also be errors when adjusting the posture of the AGV. Therefore, it is necessary to control the driving direction and speed of the AGV through a linear controller to ensure that the driving error of the AGV is minimized, thereby ensuring that the AGV can travel to the starting code point. Optionally, for example, a linear controller is designed in a polar coordinate system to make the AGV return to the starting code point, the input of the linear controller is the position difference, and the output is the linear velocity and angular velocity of the AGV. In addition, after obtaining the linear velocity and angular velocity of the AGV, the rotation speeds of the left and right driving wheels can also be obtained according to the AGV kinematic model.
[0076] Figure 5 FIG. 1 is a schematic diagram of a method for representing the position difference between an AGV and a starting code point according to an embodiment of the present invention. Figure 5 As shown, it shows a method for expressing the position difference between the AGV and the starting code point in a polar coordinate system.
[0077] exist Figure 5 In the embodiment shown, the position difference defined in polar coordinates is expressed as follows:
[0078]
[0079] α=-θ+arctan 2(Δy,Δx);
[0080] β = -θ - α;
[0081] Wherein, ρ represents the distance between the center of gravity of the robot and the origin of the world coordinate system; Δx and Δy represent the coordinates of the center of gravity of the robot in the world coordinate system respectively; α represents the angle between the X-axis of the robot coordinate system and the line connecting the center of gravity of the robot and the origin of the world coordinate system; θ represents the angle between the X-axis of the robot coordinate system and the X-axis of the world coordinate system; β represents the angle between the line connecting the center of gravity of the robot and the origin of the world coordinate system and the X-axis of the world coordinate system.
[0082] After that, by taking the first-order derivative of each position difference variable, the following relationship can be obtained:
[0083]
[0084] Then, design a linear controller in polar coordinates:
[0085] v = k ρ ρ;
[0086] ω=k α α+kβ β;
[0087] Among them, v is the linear velocity of AGV, and w is the angular velocity.
[0088] According to the first-order derivative expression of each position difference variable, that is, the expression of the linear controller, the closed-loop control model of the system can be obtained:
[0089]
[0090] And the condition for the exponential convergence of the system is:
[0091] k ρ ≥0; k β ≤0; k α -k ρ ≥0.
[0092] Step S104: Generate a restoration instruction according to the driving speed of the AGV to make the AGV drive to the starting code point. According to the previous steps S102 and S103, the driving direction of the AGV can be adjusted and the driving speed can be determined. Finally, a restoration instruction can be generated to make the AGV drive to the starting code point.
[0093] According to another embodiment of the present invention, after the AGV travels to the starting code point, the posture of the AGV can be adjusted again on the spot so that the travel direction of the AGV is consistent with the travel direction before leaving the track.
[0094] Figure 6 FIG. 1 is a schematic diagram of the state of an AGV returning to the starting code point according to an embodiment of the present invention. Figure 4 It can be seen that when the AGV travels to the starting code point, its direction should have a certain angle with the direction of travel before the AGV left the track. Under normal circumstances, when the AGV recovers, it will continue to travel along the direction and path before it left the track. Therefore, in order to better connect with the AGV's control method based on QR code navigation, when the AGV returns to the starting code point, the AGV's posture will be adjusted again on the spot to make the AGV's travel direction consistent with the travel direction before leaving the track. Figure 6 As shown in the figure, after the AGV drives to the starting code point, the AGV's posture will be adjusted on the spot so that the AGV's X R The axis points to the first code point adjacent to the starting code point in the driving direction before leaving the track, so that the posture angle of the AGV becomes 90°, 180°, 270° or 360°, which is convenient for connecting with the control method based on QR code navigation of the AGV. Among them, the method for adjusting the posture of the AGV is the same as the method for adjusting the posture of the AGV in step S102, which will not be repeated here.
[0095] Figure 7Schematic diagram of the main modules of the device for automatically recovering an AGV after it deviates from the track according to an embodiment of the present invention. Figure 7 As shown, the device 700 for automatically recovering an AGV after it deviates from the track according to the embodiment of the present invention mainly includes a posture acquisition module 701 , a posture adjustment module 702 , a speed calculation module 703 and a recovery processing module 704 .
[0096] The posture acquisition module 701 is used to acquire the posture information of the AGV relative to the starting code point when the AGV is stationary. The starting code point is the center point of the starting code. The starting code is the last two-dimensional code passed by the AGV before it leaves the track. The posture information includes position information and posture information.
[0097] A posture adjustment module 702, used to adjust the posture of the AGV in situ according to the posture information of the AGV, so that the driving direction of the AGV points to the starting code point;
[0098] The speed calculation module 703 is used to obtain the position difference between the AGV and the starting code point according to the position information of the AGV and the position information of the starting code point, and obtain the driving speed of the AGV according to the position difference;
[0099] The restoration processing module 704 is used to generate a restoration instruction according to the driving speed of the AGV, so as to make the AGV drive to the starting code point.
[0100] According to one embodiment of the present invention, the posture adjustment module 702 may also be used to:
[0101] After the AGV travels to the starting code point, the posture of the AGV is adjusted again on the spot so that the traveling direction of the AGV is consistent with the traveling direction before leaving the track.
[0102] According to another embodiment of the present invention, the posture acquisition module 701 may also be used for:
[0103] Get the angle ΔΦ that the two driving wheels of the AGV rotate in unit time L , ΔΦ R , and by L and ΔΦ R Integrate to obtain the posture information of the AGV relative to the starting code point;
[0104] According to the posture information of the starting code point, ΔΦ L , ΔΦ R and the posture information of the AGV relative to the starting code point to obtain the position information of the AGV relative to the starting code point;
[0105] The position information and posture information of the AGV relative to the starting code point constitute the position and posture information of the AGV relative to the starting code point.
[0106] According to yet another embodiment of the present invention, the posture adjustment module 702 may also be used for:
[0107] Acquire the rotation angle of the AGV according to the posture information of the AGV;
[0108] The rotation speeds of the two driving wheels of the AGV are obtained according to the established AGV kinematic model;
[0109] The AGV is controlled to rotate in situ according to the rotation angle of the AGV and the rotation speed of the two driving wheels to adjust the posture of the AGV.
[0110] According to yet another embodiment of the present invention, the speed calculation module 703 may also be used for:
[0111] The position difference is input into a linear controller to obtain the linear velocity and angular velocity of the AGV.
[0112] According to yet another embodiment of the present invention, the speed calculation module 703 may also be used for:
[0113] After the linear velocity and angular velocity of the AGV are obtained, the rotational speeds of the two driving wheels of the AGV are obtained according to the AGV kinematic model.
[0114] According to the technical solution of the embodiment of the present invention, when the AGV is stationary, the posture information of the AGV relative to the starting code point is obtained, the starting code point is the center point of the starting code, the starting code is the last two-dimensional code that the AGV passes before leaving the track, and the posture information includes position information and posture information; the posture of the AGV is adjusted in situ according to the posture information, so that the driving direction of the AGV is to point to the starting code point; the position difference between the AGV and the starting code point is obtained according to the position information, and the driving speed of the AGV is obtained according to the position difference; a restoration instruction is generated according to the driving speed, so that the AGV drives to the starting code point, and the closed-loop control algorithm is realized, so that the AGV that has left the track can be automatically restored to the last two-dimensional code passed before the derailment, effectively reducing the error, and the AGV can be automatically restored to the driving track without manual participation, saving manpower and time, and improving the operation efficiency of the AGV. Since the posture information of the AGV obtained each time is the posture information of the center store of the last two-dimensional code passed by the AGV before leaving the track, the measurement starting position of the odometer (position measuring device) can be dynamically updated, thereby reducing the influence of the cumulative error of the odometer on the positioning accuracy.
[0115] Figure 8An exemplary system architecture 800 is shown to which the method for automatically recovering an AGV after it has gone off the track or the apparatus for automatically recovering an AGV after it has gone off the track according to the embodiments of the present invention may be applied.
[0116] like Figure 8 As shown, system architecture 800 may include terminal devices 801, 802, 803, a network 804, and a server 805. Network 804 is used to provide a medium for communication links between terminal devices 801, 802, 803 and server 805. Network 804 may include various connection types, such as wired, wireless communication links, or optical fiber cables, etc.
[0117] Users can use terminal devices 801, 802, and 803 to interact with server 805 through network 804 to receive or send messages, etc. Various communication client applications can be installed on terminal devices 801, 802, and 803, such as shopping applications, web browser applications, search applications, instant messaging tools, email clients, social platform software, etc. (only examples).
[0118] The terminal devices 801 , 802 , and 803 may be various electronic devices having a display screen and supporting web browsing, including but not limited to smart phones, tablet computers, laptop computers, desktop computers, and the like.
[0119] The server 805 may be a server that provides various services, such as a backend management server (only an example) that provides support for shopping websites browsed by users using the terminal devices 801, 802, and 803. The backend management server may analyze and process the received data such as product information query requests, and feed back the processing results (such as target push information, product information - only an example) to the terminal device.
[0120] It should be noted that the method for automatically recovering the AGV after it has gone off the track provided in the embodiment of the present invention is generally executed by the server 805 , and accordingly, the device for automatically recovering the AGV after it has gone off the track is generally disposed in the server 805 .
[0121] It should be understood that Figure 8 The number of terminal devices, networks and servers in the embodiment is only for illustration. Any number of terminal devices, networks and servers may be provided according to the implementation requirements.
[0122] Reference below Fig. 9 , which shows a schematic diagram of the structure of a computer system 900 of a terminal device or a server suitable for implementing an embodiment of the present invention. Fig. 9 The terminal device or server shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present invention.
[0123] like Fig. 9 As shown, the computer system 900 includes a central processing unit (CPU) 901, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 902 or a program loaded from a storage part 908 into a random access memory (RAM) 903. In the RAM 903, various programs and data required for the operation of the system 900 are also stored. The CPU 901, the ROM 902, and the RAM 903 are connected to each other via a bus 904. An input / output (I / O) interface 905 is also connected to the bus 904.
[0124] The following components are connected to the I / O interface 905: an input section 906 including a keyboard, a mouse, etc.; an output section 907 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 908 including a hard disk, etc.; and a communication section 909 including a network interface card such as a LAN card, a modem, etc. The communication section 909 performs communication processing via a network such as the Internet. A drive 910 is also connected to the I / O interface 905 as needed. A removable medium 911, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 910 as needed, so that a computer program read therefrom is installed into the storage section 908 as needed.
[0125] In particular, according to the embodiments disclosed in the present invention, the process described above with reference to the flowchart can be implemented as a computer software program. For example, the embodiments disclosed in the present invention include a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 909, and / or installed from the removable medium 911. When the computer program is executed by the central processing unit (CPU) 901, the above-mentioned functions defined in the system of the present invention are executed.
[0126] It should be noted that the computer-readable medium shown in the present invention may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present invention, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, device or device. In the present invention, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, which carries a computer-readable program code. This propagated data signal may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Computer-readable signal media may also be any computer-readable medium other than computer-readable storage media, which may send, propagate or transmit a program for use by or in conjunction with an instruction execution system, apparatus or device. The program code contained on the computer-readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, optical cable, RF, etc., or any suitable combination of the above.
[0127] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present invention. In this regard, each box in the flow chart or block diagram can represent a module, a program segment, or a part of a code, and the above-mentioned module, program segment, or a part of a code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flow chart, and the combination of the boxes in the block diagram or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0128] The units or modules involved in the embodiments of the present invention may be implemented in software or hardware. The units or modules described may also be arranged in a processor. For example, they may be described as: a processor including a posture acquisition module, a posture adjustment module, a speed calculation module, and a recovery processing module. The names of these units or modules do not, in some cases, constitute limitations on the units or modules themselves. For example, the posture acquisition module may also be described as "a module for obtaining the posture information of the AGV relative to the starting code point when the AGV is stationary."
[0129] As another aspect, the present invention also provides a computer-readable medium, which may be included in the device described in the above embodiment; or it may exist independently and not be assembled into the device. The above computer-readable medium carries one or more programs, and when the above one or more programs are executed by a device, the device includes: when the AGV is stationary, obtaining the posture information of the AGV relative to the starting code point, the starting code point is the center point of the starting code, the starting code is the last two-dimensional code passed by the AGV before it leaves the track, and the posture information includes position information and posture information; adjusting the posture of the AGV in situ according to the posture information of the AGV, so that the driving direction of the AGV is to point to the starting code point; obtaining the position difference between the AGV and the starting code point according to the position information of the AGV and the position information of the starting code point, and obtaining the driving speed of the AGV according to the position difference; generating a restoration instruction according to the driving speed of the AGV, so that the AGV drives to the starting code point.
[0130] According to the technical solution of the embodiment of the present invention, when the AGV is stationary, the posture information of the AGV relative to the starting code point is obtained, the starting code point is the center point of the starting code, the starting code is the last two-dimensional code that the AGV passes before leaving the track, and the posture information includes position information and posture information; the posture of the AGV is adjusted in situ according to the posture information, so that the driving direction of the AGV is to point to the starting code point; the position difference between the AGV and the starting code point is obtained according to the position information, and the driving speed of the AGV is obtained according to the position difference; a restoration instruction is generated according to the driving speed, so that the AGV drives to the starting code point, and the closed-loop control algorithm is realized, so that the AGV that has left the track can be automatically restored to the last two-dimensional code passed before the derailment, effectively reducing the error, and the AGV can be automatically restored to the driving track without manual participation, saving manpower and time, and improving the operation efficiency of the AGV. Since the posture information of the AGV obtained each time is the posture information of the center store of the last two-dimensional code passed by the AGV before leaving the track, the measurement starting position of the odometer (position measuring device) can be dynamically updated, thereby reducing the influence of the cumulative error of the odometer on the positioning accuracy.
[0131] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions may occur depending on design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.
Claims
1. A method for automatically recovering an AGV after it has deviated from a track, characterized in that: include: When the AGV is stationary, the posture information of the AGV relative to the starting code point is obtained, the starting code point is the center point of the starting code, the starting code is the last two-dimensional code passed by the AGV before it leaves the track, and the posture information includes position information and posture information; Adjusting the posture of the AGV in situ according to the posture information of the AGV so that the driving direction of the AGV points to the starting code point; Obtaining a position difference between the AGV and the starting code point according to the position information of the AGV and the position information of the starting code point, and obtaining a travel speed of the AGV according to the position difference; Generate a restoration instruction according to the driving speed of the AGV to make the AGV drive to the starting code point; Acquiring the position information of the AGV relative to the starting code point includes: acquiring the angle ΔΦ rotated by the two driving wheels of the AGV in unit time L , ΔΦ R , and by L and ΔΦ R Integrate to obtain the posture information of the AGV relative to the starting code point; according to the posture information of the starting code point, ΔΦ L , ΔΦ R The position information of the AGV relative to the starting code point is obtained by combining the posture information of the AGV relative to the starting code point; the position information and posture information of the AGV relative to the starting code point constitute the position information of the AGV relative to the starting code point.
2. The method according to claim 1, characterized in that Also includes: After the AGV travels to the starting code point, the posture of the AGV is adjusted again on the spot so that the traveling direction of the AGV is consistent with the traveling direction before leaving the track.
3. The method according to claim 1, characterized in that Adjusting the posture of the AGV in situ according to the posture information of the AGV includes: Acquire the rotation angle of the AGV according to the posture information of the AGV; The rotation speeds of the two driving wheels of the AGV are obtained according to the established AGV kinematic model; The AGV is controlled to rotate in situ according to the rotation angle of the AGV and the rotation speed of the two driving wheels to adjust the posture of the AGV.
4. The method according to claim 1, characterized in that: Obtaining the driving speed of the AGV according to the position difference includes: The position difference is input into a linear controller to obtain the linear velocity and angular velocity of the AGV.
5. The method according to claim 4, characterized in that After obtaining the linear velocity and angular velocity of the AGV, the method further includes: The rotation speeds of the two driving wheels of the AGV are obtained according to the AGV kinematic model.
6. A device for automatically recovering an AGV after it leaves the track, characterized in that: include: A posture acquisition module, used for acquiring the posture information of the AGV relative to the starting code point when the AGV is stationary, wherein the starting code point is the center point of the starting code, and the starting code is the last two-dimensional code passed by the AGV before it leaves the track, and the posture information includes position information and posture information; A posture adjustment module, used for adjusting the posture of the AGV in situ according to the posture information of the AGV, so that the driving direction of the AGV points to the starting code point; A speed calculation module, used to obtain a position difference between the AGV and the starting code point according to the position information of the AGV and the position information of the starting code point, and obtain a travel speed of the AGV according to the position difference; A recovery processing module, used for generating a recovery instruction according to the driving speed of the AGV, so as to make the AGV drive to the starting code point; The posture acquisition module is also used to: obtain the angle ΔΦ that the two driving wheels of the AGV rotate in unit time L , ΔΦ R , and by L and ΔΦ R Integrate to obtain the posture information of the AGV relative to the starting code point; according to the posture information of the starting code point, ΔΦ L , ΔΦ R The position information of the AGV relative to the starting code point is obtained by combining the posture information of the AGV relative to the starting code point; the position information and posture information of the AGV relative to the starting code point constitute the posture information of the AGV relative to the starting code point.
7. The device according to claim 6, characterized in that The posture adjustment module is also used for: After the AGV travels to the starting code point, the posture of the AGV is adjusted again on the spot so that the traveling direction of the AGV is consistent with the traveling direction before leaving the track.
8. The device according to claim 6, characterized in that The posture adjustment module is also used for: Acquire the rotation angle of the AGV according to the posture information of the AGV; The rotation speeds of the two driving wheels of the AGV are obtained according to the established AGV kinematic model; The AGV is controlled to rotate in situ according to the rotation angle of the AGV and the rotation speed of the two driving wheels to adjust the posture of the AGV.
9. The device according to claim 6, characterized in that The speed calculation module is also used for: The position difference is input into a linear controller to obtain the linear velocity and angular velocity of the AGV.
10. The device according to claim 9, characterized in that The speed calculation module is also used for: After the linear velocity and angular velocity of the AGV are obtained, the rotational speeds of the two driving wheels of the AGV are obtained according to the AGV kinematic model.
11. An electronic device that automatically recovers after an AGV deviates from a track, characterized in that: include: one or more processors; a storage device for storing one or more programs, When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 5.
12. A computer readable medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the method according to any one of claims 1 to 5 is implemented.
Citation Information
Patent Citations
Side reach control method logistics robot and logistics robot
CN107422728A
Magnetic guide rail tracking control system and method for forklift-type AGV
CN109279543A
Cited By
Mobile robot, controller, and mobile robot control method
US12576508B1