SHUTTLE VEHICLE TRAVELING AND POSITIONING CONTROL METHOD BASED ON ENCODER SELF-CORRECTION
20250199548 ยท 2025-06-19
Inventors
- Yuan Sun (Qingdao, CN)
- Jiahao JIANG (Qingdao, CN)
- Guangyong Li (Qingdao, CN)
- Chun Wang (Qingdao, CN)
- Maojin Jiao (Qingdao, CN)
Cpc classification
G05D1/646
PHYSICS
G05D1/2446
PHYSICS
International classification
G05D1/646
PHYSICS
Abstract
Disclosed in the present invention is a shuttle vehicle traveling and positioning control method based on encoder self-correction. Provided is a self-correction solution based on track positioning identifiers and external encoders. When a shuttle vehicle travels through each identifier, information is fed back and a servo target position is updated instantaneously, so as to eliminate, at any time, a cumulative error caused by skidding; and the shuttle vehicle realizes a full-closed-loop traveling and positioning control process under the guidance of position information which is corrected at any time. The shuttle vehicle traveling and positioning control method based on encoder self-correction comprises the following implementation stages: 1) performing customization and initialization; 2) performing self-learning; 3) performing self-correction; 4) updating a target position; and 5) handling a position offset.
Claims
1. A shuttle vehicle traveling and positioning control method based on encoder self-correction, characterized by comprising the following implementation stages: 1) Performing Customization and Initialization At least one positioning sensor is set on the shuttle vehicle, and several positioning markers for detection positioning are continuously arranged on the track at intervals; When the shuttle vehicle is powered on for the first time, the origin of the track and the position of the starting positioning marker on the track are determined, encoder data is initialized, and the initial position data of the servo driver is set; 2) Performing Self-Learning The shuttle vehicle operates at low load and low speed, traversing each positioning marker on every shelf layer, recording the encoder value generated for each positioning marker, and creating an array Storage [i] to store the corresponding data set; 3) Performing Self-Correction After the shuttle vehicle executes the cargo transport order, the controller sends the target position POS_PRI to the servo driver, which plans the traveling path and controls the traveling wheel's operation parameters by outputting corresponding pulses through the motor; When the positioning sensor detects a positioning marker signal, it uploads the positioning information to the controller, which records the current encoder value POS_ENC and compares it one by one with the initial values in the self-learning array Storage[i] to determine the positioning marker address information uniquely designated by index i; 4) Updating A Target Position After determining the workstation where the shuttle vehicle reaches a specific positioning marker, the value of the external encoder ENC_CD is compared with the actual position ENC_SV fed back by the servo encoder, i.e., Delta_Pos=ENC_CDENC_SV; If Delta_Pos0, the controller sends the updated target position POS_NEW to the servo driver, which controls the traveling wheel to execute the traveling command according to the currently updated target position POS_NEW; 5) Handling A Position Offset When the shuttle vehicle reaches the positioning marker before the target position, it reduces its traveling speed to a lower value and moves at a constant speed. Upon passing the positioning marker at this point, it follows the processes of correction in stage 3) Performing Self-Correction and in stage 4) Updating A Target Position as described above. When the shuttle vehicle reaches the positioning marker at the target position and receives the stop signal from the controller, it immediately executes the traveling interrupt program; The current value POS_ENC of the external encoder is recorded, where the tolerance range for this positioning marker is T. Based on the shuttle vehicle's direction, it is added if moving forward and subtracted if moving backward. The controller sends a target position command POS_TAR to the shuttle vehicle, where POS_TAR=POS_ENCT; The final position of the servo driver is updated to the value in the self-learning array Storage[i] corresponding to the current positioning marker. The servo driver controls the traveling wheel to execute a single travel based on the target position command POS_TAR, ultimately eliminating the error caused by slippage.
2. The shuttle vehicle traveling and positioning control method based on encoder self-correction according to claim 1, characterized in that the process of comparing the current encoder value POS_ENC with the initial values in the self-learning array Storage[i] includes the following steps: Setting the value range of i in the self-learning array Storage[i] as [H_Min, H_Max], where H_Min is the minimum address information corresponding to the positioning marker, and H_Max is the maximum address information corresponding to the positioning marker; Step (1) Setting the initial value of the array index i as H_Min; Step (2) When the positioning sensor detects a positioning marker signal, the encoder value POS_ENC is compared with the value in the self-learning array Storage[i], i.e., POS_DIF=|POS_ENCStorage[i]|; Step (3) If the calculation result POS_DIF is within the allowable error range, i.e., POS_DIF POS_TOR, where POS_TOR is the allowable position error between two adjacent positioning markers, POS_DIF is updated as the current encoder value, and the comparison loop ends; Conversely, if the calculation result POS_DIF is not within the allowable error range, i.e., POS_DIF>POS_TOR, the array index i is incremented by 1; Step (4) Determining whether the array index i is out of bounds. When H_MiniH_Max, repeat Step (2) until the specific value of the array index i is determined to uniquely specify the positioning marker address information; If the array index i is out of bounds, the controller determines that the encoder error is too large to be corrected, and the loop ends.
3. The shuttle vehicle traveling and positioning control method based on encoder self-correction according to claim 1, characterized in that the positioning markers are any one or a combination of positioning holes, positioning protrusions, positioning plates, QR codes, or labels.
4. The shuttle vehicle traveling and positioning control method based on encoder self-correction according to claim 2, characterized in that the positioning markers are any one or a combination of positioning holes, positioning protrusions, positioning plates, QR codes, or labels.
Description
BRIEF DESCRIPTION OF DRAWINGS
[0035] The present invention is further illustrated with the following drawings.
[0036]
[0037]
DESCRIPTION OF EMBODIMENTS
[0038] Example 1, as shown in
1) Performing Customization and Initialization
[0039] The application scenario involves multi-layer shelves, which include double conveyor tracks and several shuttle vehicles traveling along the tracks.
[0040] At least one positioning sensor is installed on the shuttle vehicle, and this positioning sensor can be mounted on the vehicle body.
[0041] Several positioning markers for detection are arranged continuously at intervals (e.g., 1-3 meters) along the track. These positioning markers can be any one or a combination of positioning holes, protrusions, positioning plates, QR codes, or labels.
[0042] When moving to a positioning marker, the positioning sensor detects the positioning information and uploads it to the controller to generate the encoder value corresponding to this positioning information.
[0043] The positioning information is uniquely determined by positioning markers set on one side of the track and is defined as the address parameter set in advance. Several positioning markers form a predetermined parameter group. When a positioning sensor uploads specific positioning information to the controller, it indicates that the shuttle vehicle has reached the workstation uniquely specified by that positioning marker.
[0044] As shown in
[0045] As shown in
[0046] During shuttle vehicle traveling and positioning, the positioning marker on one side of the track is detected. The real-time updated encoder value allows for comparison between the workstation of the positioning marker and the position feedback from the servo driver. The comparison result, as deviation data, is added to the original target position of the servo driver in the form of a position compensation, thereby forming the final updated target position. This updated target position is sent to the servo driver, which then controls the traveling wheels to move according to the new target distance, achieving a one-time accurate positioning.
[0047] When the shuttle vehicle is powered on for the first time, it determines the origin of the track, the position of the initial positioning marker on the track, initializes encoder data, and sets the initial position data for the servo driver.
2) Performing Self-Learning
[0048] The shuttle vehicle operates at low load and low speed, traversing each positioning marker on every shelf layer. It records the encoder value generated for each positioning marker, creating an array Storage[i] to store the corresponding data set. The data set recorded in this array serves as the foundation for shuttle vehicle traveling and positioning.
[0049] Through the above self-learning and data storage, initial position data determined by positioning markers are established from the track origin and arranged along the traveling path. Each position address determined by a positioning marker is unique.
3) Performing Self-Correction
[0050] After the shuttle vehicle executes a cargo order, the controller sends the target position POS_PRI to the servo driver, which plans the traveling path and controls the traveling wheel's operation parameters by outputting corresponding pulses through the motor;
[0051] When the positioning sensor detects a positioning marker signal, it uploads the positioning information to the controller, which records the current encoder value POS_ENC and compares it with the initial values in the self-learning array Storage[i] one by one to determine the unique address information of the positioning marker specified by index i, thus identifying the specific workstation reached by the shuttle vehicle;
[0052] The process of comparing the current encoder value POS_ENC with the initial values in the self-learning array Storage[i] includes the following steps: [0053] Set the value range of i in the self-learning array Storage[i] as [H_Min, H_Max], where H_Min is the minimum address information corresponding to the positioning marker, and H_Max is the maximum address information; [0054] Step (1) Set the initial value of the array index i as H_Min; [0055] Step (2) When the positioning sensor detects a positioning marker signal, compare the encoder value POS_ENC with the value in the self-learning array Storage[i], i.e., POS_DIF=|POS_ENC-Storage[i]|; [0056] Step (3) If the result POS_DIF is within the allowable error range, i.e., POS_DIFPOS_TOR, where POS_TOR is the allowable position error between two adjacent positioning markers, update POS_DIF as the current encoder value and end the comparison loop; [0057] Conversely, if POS_DIF is not within the allowable error range, i.e., POS_DIF>POS_TOR, increment the array index i by 1; [0058] Step (4) Determine if the array index i is out of bounds. When H_MiniH_Max, repeat Step (2) until the specific value of i is determined, which uniquely specifies the address information of the positioning marker; [0059] If the array index i is out of bounds, the controller determines that the encoder error is too large to be corrected and ends the loop;
4) Updating A Target Position
[0060] After determining the workstation of a specific positioning marker reached by the shuttle vehicle, compare the value of the external encoder ENC_CD with the actual position ENC_SV fed back by the servo encoder, i.e., Delta_Pos=ENC_CDENC_SV;
[0061] If Delta_Pos0, it indicates that slippage occurred in the traveling wheels of the shuttle vehicle during movement, meaning there is a discrepancy between the pulse count output by the traveling motor and the actual travel distance. At this point, to ensure the traveling motor moves to the correct position in one go, the target position of the servo motor needs to be updated as POS_NEW=POS_PRI+Delta_Pos;
[0062] The controller sends the updated target position POS_NEW to the servo driver, which controls the traveling wheels to execute the traveling command according to the updated target position POS_NEW;
5) Handling A Position Offset
[0063] When the shuttle vehicle reaches the positioning marker before the target position, it reduces its traveling speed to a lower value and proceeds at a constant speed. Upon passing the positioning marker, it follows the processes of correction in stage 3) Performing Self-Correction and in stage 4) Updating A Target Position as described above.
[0064] When the shuttle vehicle reaches the positioning marker at the target position and receives the stop signal from the controller, it immediately executes the traveling interrupt program; [0065] The current external encoder value POS_ENC is recorded, and the allowable range for this positioning marker is T, where T depends on the size of the positioning marker; [0066] Based on the shuttle vehicle's direction (adding for forward movement, subtracting for backward), the controller sends a target position command POS_TAR to the shuttle vehicle, where POS_TAR=POS_ENCT.
[0067] The final position of the servo driver is updated to the value in the self-learning array Storage[i] corresponding to the current positioning marker. The servo driver controls the traveling wheel to execute a single travel according to the target position command POS_TAR, ultimately eliminating errors caused by slippage.
[0068] The above content, combined with the embodiments provided in the drawings, represents only a preferred solution to achieve the purpose of this invention. Skilled persons in the field can derive other alternative structures based on these teachings, which also fall within the scope of this invention's design.