CN118055894A - Determining kinematic states of load handling devices in a storage system - Google Patents

Determining kinematic states of load handling devices in a storage system Download PDF

Info

Publication number
CN118055894A
CN118055894A CN202280070176.7A CN202280070176A CN118055894A CN 118055894 A CN118055894 A CN 118055894A CN 202280070176 A CN202280070176 A CN 202280070176A CN 118055894 A CN118055894 A CN 118055894A
Authority
CN
China
Prior art keywords
load handling
handling apparatus
wheel
wheels
load
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202280070176.7A
Other languages
Chinese (zh)
Inventor
埃内斯托·特里波迪
克里桑索斯·迪米特罗普洛斯
斯蒂梵诺·莱蒙迪·科米奈西
托马斯·布鲁恩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ocado Innovation Ltd
Original Assignee
Ocado Innovation Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from GBGB2201029.2A external-priority patent/GB202201029D0/en
Application filed by Ocado Innovation Ltd filed Critical Ocado Innovation Ltd
Priority claimed from PCT/GR2022/000043 external-priority patent/WO2023021307A1/en
Publication of CN118055894A publication Critical patent/CN118055894A/en
Pending legal-status Critical Current

Links

Landscapes

  • Warehouses Or Storage Devices (AREA)

Abstract

A method of determining the kinematic state of a load handling device in a storage system. Wheel status data representative of the status of the wheels of the load handling apparatus is obtained from one or more sensors communicatively coupled to the wheels. A creep value for the load handling equipment is determined based on the wheel status data and using the trained model. The method includes determining a kinematic state of the load handling apparatus based on the creep value and outputting kinematic data representing the kinematic state of the load handling apparatus. A positioning system employing this method for a load handling apparatus is also provided.

Description

Determining kinematic states of load handling devices in a storage system
Technical Field
The present invention relates generally to the field of storage or fulfillment systems in which stacks of bins or containers are arranged within a grid framework structure, and more particularly to determining the kinematic state of load handling equipment in a storage system.
Background
On-line retail establishments selling multiple product lines, such as on-line groceries and supermarkets, require systems capable of storing tens or even hundreds of thousands of different product lines. In this case, it may be impractical to use a single product stack, as this requires a very large floor area to accommodate all of the required stacks. Furthermore, it may be necessary to store only small amounts of certain goods, such as perishable or infrequently ordered goods, which makes stacking of individual products an inefficient solution.
International patent application WO 98/049075A (Autostore), the contents of which are incorporated herein by reference, describes a system in which stacks of multi-product containers are arranged within a framework structure.
PCT publication No. WO2015/185628A (Ocado) describes a further known storage and fulfillment system in which stacks of containers are arranged within a grid framework. The containers are accessible by a load handling apparatus (also referred to as a "robot") that runs on top of the grid framework structure. Fig. 1 to 3 of the accompanying drawings schematically illustrate a system of this type.
As shown in fig. 1,2, stackable containers 10, also referred to as "boxes" or "boxes", are stacked on top of each other to form a stack 12. The stacks 12 are arranged in a grid framework structure 14, for example in a warehouse or manufacturing environment. The grid framework structure 14 is comprised of a plurality of storage columns or grid columns. Each grid in the grid framework structure has at least one grid column to store a stack of containers. Fig. 1 is a schematic perspective view of a grid framework structure 14, and fig. 2 is a schematic top view showing a stack 12 of boxes 10 arranged in the framework structure 14. Each bin 10 typically houses a plurality of product items (not shown). The product items within the tank 10 may be the same or of different product types, depending on the application.
The grid framework structure 14 includes a plurality of upright members 16 that support horizontal members 18, 20. The first set of parallel horizontal grid members 18 are arranged perpendicular to the second set of parallel horizontal members 20 in a grid pattern to form a horizontal grid structure 15 supported by the upright members 16. The members 16, 18, 20 are typically made of metal. The bins 10 are stacked between the members 16, 18, 20 of the grid framework structure 14, such that the grid framework structure 14 prevents horizontal movement of the stacks 12 of bins 10 and guides vertical movement of the bins 10.
The top layer of the grid framework structure 14 includes a grid or grid structure 15, the grid or grid structure 15 including rails 22 arranged in a grid pattern and spanning the top of the stack 12. Referring to fig. 3, a track or rail 22 guides a plurality of load handling devices 30. The first set 22a of parallel rails 22 guide movement of the robotic load handling device 30 in a first direction (e.g., the X-direction) across the top of the grid frame structure 14. The second set 22b of parallel tracks 22, which are arranged perpendicular to the first set 22a, guide the movement of the load handling apparatus 30 in a second direction (e.g. Y-direction) perpendicular to the first direction. In this way, the track 22 allows the robotic load handling device 30 to move laterally in two dimensions in a horizontal X-Y plane. The load handling apparatus 30 may be moved to a position above any stack 12.
PCT patent publication No. WO2015/019055 (Ocado), which is incorporated herein by reference, describes a load handling apparatus 30 of known form as shown in fig. 4, 5A and 5B, wherein each load handling apparatus 30 covers a single grid space 17 of a grid framework structure 14. This arrangement may enable higher density loading of processors, thereby enabling higher throughput for a system of a given size.
The load handling apparatus 30 comprises a carrier 32, the carrier 32 being arranged to travel on the track 22 of the frame structure 14. A first set of wheels 34, consisting of a pair of wheels 34 at the front of the carrier 32 and a pair of wheels 34 at the rear of the carrier 32, is arranged to engage with two adjacent tracks of the first set 22a of tracks 22. Similarly, a second set of wheels 36, consisting of pairs of wheels 36 on each side of the carrier 32, is arranged to engage with two adjacent tracks of the second set 22b of tracks 22. Each set of wheels 34, 36 may be raised and lowered such that either the first set of wheels 34 or the second set of wheels 36 engage the respective set of tracks 22a, 22b at any time. For example, when the first set of wheels 34 is engaged with the first set of rails 22a and the second set of wheels 36 is lifted off the rails 22, the first set of wheels 34 may be driven by a drive mechanism (not shown) housed in the carrier 32 to move the load handling apparatus 30 in the X-direction. To effect movement in the Y direction, the first set of wheels 34 is lifted off the track 22 and the second set of wheels 36 is lowered into engagement with the second set 22b of tracks 22. The drive mechanism may then be used to drive the second set of wheels 36 to move the load handling apparatus 30 in the Y-direction.
The load handling apparatus 30 is equipped with a lifting apparatus, such as a crane mechanism, to lift the storage container from above. The lifting device comprises a winch tether or cable 38 wound on a reel or spool (not shown) and a gripping device 39. The lifting device shown in fig. 4 comprises a set of four lifting tethers 38 extending in a vertical direction. The tethers 38 are connected at or near four corners of a gripping device 39 (e.g., a lifting frame), respectively, for releasable connection of the storage container 10. For example, each tether 38 is disposed at or near four corners of the lifting frame. The gripping device 39 is configured to releasably grip the top of the storage container 10 to lift the storage container from a stack of containers in a storage system of the type shown in fig. 1 and 2. For example, the lifting frame 39 may include pins (not shown) that mate with corresponding holes (not shown) in the rim, and sliding clamps (not shown) that may engage the rim to clamp the tank 10, wherein the rim forms the top surface of the tank 10. The clamps are driven into engagement with the tank 10 by a suitable drive mechanism housed within the lifting frame 39 and are powered and controlled by signals transmitted by the cable 38 itself or by a separate control cable (not shown).
To remove the bin 10 from the top of the stack 12, the load handling apparatus 30 is first moved in the X and Y directions to place the gripping apparatus 39 over the stack 12. As shown in fig. 4 and 5B, the gripping device 39 is then lowered vertically in the Z-direction into engagement with the bin 10 at the top of the stack 12. The gripping device 39 grips the tank 10 and is then pulled upwards with the cable 38 together with the attached tank 10. As it travels vertically to the top, the bin 10 is held over the track 22 and is housed within the carrier body 32. In this way, the load handling apparatus 30 may be moved to different positions in the X-Y plane, transporting the bin 10 along with it and transporting the bin 10 to another location. Once the destination location (e.g., another stack 12, access point of a storage system, or conveyor belt) is reached, the bin or container 10 may be lowered from the container receiving portion and released by the gripping device 39. The cable 38 is long enough to enable the load handling apparatus 30 to retrieve and place bins from any level of the stack 12, including, for example, a floor level.
As shown in fig. 4, a plurality of identical load handling apparatuses 30 are provided so that each load handling apparatus 30 can operate simultaneously to improve the throughput of the system. The system shown in fig. 4 may include a specific location (referred to as a port) where the tank 10 may be transported into or out of the system. An additional conveyor system (not shown) is associated with each port so that bins 10 transported to the port by load handling equipment 30 may be transported by the conveyor system to another location, such as a picking station (not shown). Similarly, the bins 10 may be moved from an external location to a port by a conveyor system, such as to a bin filling station (not shown), and transported by the load handling apparatus 30 to the stack 12 to replenish inventory in the system.
Each load handling apparatus 30 can lift and move one bin 10 at a time. The load handling apparatus 30 has a container engagement cavity or recess 40 in its lower portion. As shown in fig. 5A and 5B, the recess is sized to receive the container 10 when the container 10 is lifted by the lifting mechanism. When in the recess, the container 10 is lifted off the underlying track 22 so that the carrier 32 can be moved laterally to different grid sites.
If it is desired to retrieve a bin 10b that is not at the top of the stack 12 ("target bin"), the overlying bin 10a ("non-target bin") must first be moved to allow access to the target bin 10b. This is achieved in an operation hereinafter referred to as "digging". Referring to fig. 3, during a digging operation, one of the load handling apparatuses 30 sequentially lifts each non-target bin 10a from the stack 12 containing the target bins 10b and places it in an empty position within the other stack 12. The target bin 10b may then be accessed by the load handling apparatus 30 and moved to a port for further transport.
Each of the load handling apparatuses 30 is provided to operate remotely under the control of a central computer. Each individual bin 10 in the system is tracked so that the appropriate bin 10 can be retrieved, transported, and replaced as needed. For example, during a digging operation, the location of each non-target bin would be recorded so that the non-target bin 10a could be tracked.
Wireless communications and networks may be used to provide a communication infrastructure from a master controller, e.g., via one or more base stations, to one or more load handling devices running on a grid structure. In response to receiving instructions from the main controller, a controller in the load handling apparatus is configured to control various drive mechanisms to control movement of the load handling apparatus. For example, the load handling device may be instructed to retrieve containers from the target storage column at a particular location on the grid structure. The instructions may include various movements in the X-Y plane of the grid structure 15. As previously described, once at the target storage column, the lifting mechanism may be operated to clamp and lift the storage container 10. Once the container 10 is received in the container receiving space 40 of the load handling apparatus 30, the container 10 is then transported to another location on the grid structure 15, such as a "drop port. At the drop port, container 10 is lowered to a suitable picking station to allow any goods to be retrieved from the storage container. Movement of the load handling apparatus 30 over the grid structure 15 may also include the load handling apparatus 30 being instructed to move to a charging station generally located at the periphery of the grid structure 15.
In order to maneuver the load handling apparatus 30 over the grid structure 15, each load handling apparatus 30 is provided with a motor for driving the wheels 34, 36. The wheels 34, 36 may be driven by one or more belts attached to the wheels, or driven separately by motors integrated into the wheels. For a single unit load handling apparatus (where the footprint of load handling apparatus 30 occupies a single grid cell 17), the motor for driving the wheels may be integrated into the wheels because of the limited space available within the carrier body. For example, the wheels of the single unit load handling apparatus are driven by respective in-wheel motors. Each in-wheel motor comprises an outer rotor with a plurality of permanent magnets arranged to rotate around a hub comprising coils forming an inner stator.
The system described with reference to fig. 1-4 has many advantages and is suitable for use in a wide range of storage and retrieval operations. In particular, it allows for very dense storage of products and can provide a very economical way to store a large number of different goods in bins 10 while also allowing for reasonably economical access to all bins 10 when picking is required.
However, it is an object of the present disclosure to provide a method and system for reliably determining the correct location of a load handling apparatus, wherein the load handling apparatus is remotely operated in a storage system.
Disclosure of Invention
There is provided a method of determining the kinematic state of a load handling apparatus in a storage system, the method comprising:
acquiring wheel status data from one or more sensors communicatively coupled to the wheel, the wheel status data representing a status of the wheel loading the processing device;
determining a creep value (creep value) for the load handling apparatus based on the wheel status data and using the trained model;
determining a kinematic state of the load handling apparatus based on the creep value; and
Kinematic data representing the kinematic state of the load handling apparatus is output.
A data processing apparatus is also provided comprising a processor configured to perform this method. A computer program comprising instructions which, when executed by a computer, cause the computer to carry out the method is also provided. Similarly, a computer-readable storage medium is provided that includes instructions that when executed by a computer cause the computer to implement the method.
There is further provided a positioning system for a load handling device in a storage system, the positioning system comprising:
One or more encoders for loading a plurality of wheels in the processing apparatus;
A storage space storing a trained model for determining a creep value for the load handling apparatus based at least on a given vertical load on a given wheel of the load handling apparatus; and
A processing unit for:
Acquiring a vertical load value of a wheel for loading the processing equipment;
Acquiring at least one coefficient value for the trained model, the coefficient value being acquired by training the trained model with respect to creep data recorded by a plurality of training load handling devices;
Determining a creep value for the load handling equipment based on at least the vertical load value and at least one coefficient value using the trained model stored in the storage space; and
The kinematic state of the load handling apparatus is determined based on the creep value and encoded data acquired from the one or more encoders.
There is also provided a load handling apparatus in a storage system, the load handling apparatus being arranged to selectively move and handle containers in at least one of an X and/or Y direction on a track, the load handling apparatus comprising:
A plurality of wheels; and
A slip control manager arranged to manage slip conditions of the load handling apparatus.
In general, the present specification describes systems and methods for predicting the relative position of a robot on a grid storage system by counting with encoders already available in a traction wheel mechanism and optionally activating grid sensors disposed on the grid.
Drawings
The embodiments will now be described, by way of example only, with reference to the accompanying schematic drawings in which corresponding reference symbols indicate identical or corresponding parts, and in which:
FIG. 1 is a schematic illustration of a grid framework structure according to a known system;
FIG. 2 is a schematic diagram of a top view showing a stack of bins disposed within the frame structure of FIG. 1;
FIG. 3 is a schematic diagram of a known storage system showing a load handling apparatus operating on a grid framework;
FIG. 4 is a schematic perspective view of the load handling apparatus, showing the lifting apparatus gripping a container from above;
FIGS. 5A and 5B are schematic perspective cross-sectional views of the load handling apparatus of FIG. 4, showing the container receiving space of the load handling apparatus and how it receives a container in use;
FIG. 6 is a schematic perspective view of a known load handling apparatus showing an X-direction position sensor and a Y-direction position sensor mounted thereon and in the form of "fifth" wheels;
FIG. 7 is a schematic perspective view of a load handling apparatus according to an embodiment, wherein the load handling apparatus is on a portion of a grid structure;
fig. 8 is an exploded view of an in-wheel motor according to an embodiment, wherein the in-wheel motor may be used to drive a wheel of a load handling apparatus about a central rotational axis;
Figure 9 is a schematic diagram of a wheel assembly control and interfacing architecture according to a specific embodiment;
FIG. 10 is a schematic diagram of communication between a load handling apparatus and a host controller over a network, according to an embodiment;
FIG. 11 is a schematic block diagram of a motion control system according to an embodiment;
FIG. 12 is a schematic block diagram illustrating the input and output of a position controller according to an embodiment;
FIG. 13 shows a schematic block diagram of a positioning system for a load handling apparatus according to an embodiment;
FIG. 14 is a flow chart depicting a method of determining the kinematic state of a load handling device in a storage system according to a specific embodiment.
Detailed Description
In a storage system of the type shown in fig. 1 to 3, it is advantageous to determine the exact location of a given load handling apparatus 30 operating on a grid structure 15. Each load handling device 30 is sent control signals, for example in the form of motion control profiles, to move along a predetermined path from one location to another location on the grid structure. For example, a given load handling apparatus 30 may be instructed to move to a particular location in the grid structure 15 to lift a target container from a stack of containers at the particular location. As a number of such devices 30 move along respective trajectories on the grid structure 15, it is useful to know the exact location of each given load handling device 30 (e.g., relative to the grid structure 15) so that the predetermined trajectory can be monitored in real time as compared to the "actual" location of the corresponding load handling device 30. For example, one or more of the trajectories may be adjusted, and/or control signals sent to the devices 30 to follow the corresponding trajectory may be adjusted, so that the devices 30 arrive at the target site with sufficient accuracy and/or to avoid other devices 30 from following their respective trajectories.
Fig. 6 shows a known embodiment of the load handling apparatus 30, wherein the load handling apparatus 30 is provided with one or more position sensors 98a, 98b to measure the position of the load handling apparatus relative to the grid structure 15. In this particular embodiment, the position sensors 98a, b each comprise a so-called "fifth" wheel, that is to say there is an additional fifth wheel in each of the first and second sets of wheels for monitoring the position of the load handling apparatus on the grid structure in the first direction and in the second direction, respectively.
As shown in fig. 6, a first "fifth" wheel 98a is mounted adjacent one of the first set of wheels 34, and a second "fifth" wheel 98b is mounted adjacent one of the second set of wheels 36. The first "fifth" wheel 98a, which corresponds to the first position sensor, is configured to engage with the track (or "rail") 22 when the load handling apparatus 30 is traveling in the first direction, such that rotation of the first "fifth" wheel may be indicative of the position and direction of travel of the load handling apparatus 30 relative to time. Likewise, a second "fifth" wheel 98b corresponding to the second position sensor is configured to engage the track 22 when the load handling apparatus 30 travels in the second direction such that rotation of the second "fifth" wheel may indicate the position and direction of travel of the load handling apparatus 30 in the second direction relative to time. The first and second directions may be the X and Y directions along the track 22, respectively.
In the known embodiment of fig. 6, each of the one or more position sensors 98a, b includes an incremental encoder that includes a rotating electromechanical device that generates pulses as each "fifth" wheel rotates. For example, a pulse may be generated for a predetermined amount of angular rotation of the "fifth" wheel. The pulses thus indicate the position and rotational direction of the "fifth" wheels 98a, 98b, which can be translated into a displacement of the load handling apparatus 30 relative to the grid structure 15. A "fifth" wheel is mounted on the arm and biased downwardly to engage the track 22 of the grid structure 15.
There are several drawbacks to using one or more position sensors 98a, 98b to independently monitor the position of the load handling apparatus. For example, fixed component costs may be incurred and costs may be further increased if at least one of the sensors 98a, 98b fails, resulting in the load handling equipment on the grid structure 15 losing kinematic reference in at least one direction. The accuracy of the measurements of the sensors 98a, 98b may also be problematic, such as caused by disturbances or imperfections in the track 22.
Fig. 7 shows an embodiment of the load handling apparatus in which the load handling apparatus incorporates the present positioning system, so that so-called "fifth" wheels are not required nor present. Each of the exemplary load handling apparatus 30 described with reference to fig. 3-6 incorporates additional features as well, and their respective reference numerals are incremented by 100 in the corresponding descriptions where applicable. For example, the load handling apparatus 130 of the present embodiment includes a carrier body 132, the carrier body 132 being equipped with a lifting mechanism (not shown) to lift containers from a stack of containers in a storage system of the type described with reference to fig. 1 and 3.
The carrier body 132 includes an upper portion and a lower portion. The lower section includes a wheel assembly comprising two sets of wheels 134, 136 that travel on the grid frame structure 115 of such a storage system. For purposes of explanation, the two sets of wheels are divided into a first set of wheels 134 and a second set of wheels 136. The first set 134 and the second set 136 of wheels are disposed around the periphery of the load handling apparatus 130. The wheels in this embodiment are arranged outside the carrier body 132, but in other embodiments may also be accommodated within the carrier body 132. Although the particular embodiment depicted in fig. 7 shows pairs of wheels mounted on opposite sides of the carrier body, the invention is not limited to load handling equipment being mounted on pairs of wheels on both sides of the carrier body: for example, in addition to the pair of wheels, stability of the load handling apparatus may be achieved by at least one wheel mounted on opposite sides of the carrier body 132, e.g., diagonally opposite each other. Thus, the first and second sets of wheels 134, 136 each include at least one wheel mounted to opposite sides of the carrier body. In this alternative arrangement they are diagonally opposite each other.
In the embodiment of fig. 7, the load handling apparatus has a container receiving space arranged within the carrier body 132, as described for example in WO 2015/019055 (Ocado Innovation Limited). However, in other embodiments, the carrier body 132 comprises a cantilever arm as taught for example in WO2019/238702 (Autostore Technology AS), in which case the container receiving space is located below the cantilever arm of the load handling apparatus 130. In such embodiments, the gripping device is lifted by a cantilever. The gripping device may engage the containers in the stack and lift them to the container receiving space below the cantilever arm.
As shown in fig. 7, an upper portion of the carrier body 132 may house a large part of the load handling apparatus 130. Typically, the upper portion of the vehicle houses a drive mechanism for driving the lift mechanism and an onboard rechargeable power source for powering the drive mechanism and lift mechanism. The rechargeable power source may be any suitable battery, such as, but not limited to, a lithium battery or a capacitor.
The load handling apparatus 130 of the present invention shown in fig. 7 has a footprint that occupies a single grid cell of the grid structure 115. Thus, when a number of such load handling apparatuses 130 are operating on a grid structure 115, a given load handling apparatus occupying one grid space does not interfere with another load handling apparatus occupying or traversing an adjacent grid space, such as in the embodiment shown in FIG. 10.
To switch between orthogonal directions on the grid structure 115, at least one of the wheelsets is configured to move vertically to change one of the X-direction wheelsets and the Y-direction wheelsets engaged with the track. For example, the X-direction wheel set is fixed, while the Y-direction wheel set is configured to either lift to let the X-direction wheel set contact the rail or descend to lift the X-direction wheel set off the rail. Alternatively, the Y-direction wheel sets are fixed and the X-direction wheel sets are moved up and down to change the wheel sets engaged with the track.
In some embodiments, each wheel of the first and second sets 134, 136 of wheels mounted on the carrier body 132 is arranged to move vertically away from their respective track or rail. For example, to change direction (e.g., to the X-direction) on the grid structure 115, the first set of wheels 134 are lifted off the first set of grid members or rails 122a, while the second set of wheels 136 are engaged with the second set of grid members or rails 122 b. A drive mechanism (not shown), such as a motor, drives the first set 134 or the second set 136 of wheels in the X-direction or the Y-direction on the grid structure 115. In the particular embodiment of fig. 7, each wheel of the first and second sets 134, 136 of wheels is individually driven by an in-wheel motor to provide four-wheel drive capability of the load handling apparatus 130 on the grid structure 115. In other words, all wheels of the first and second sets of wheels are driven by separate in-wheel motors. This enables the load handling apparatus 130 to travel along the rails or tracks 122a, 122b on the grid structure 115 as either wheel of the set 134, 136 slides on the rails or tracks.
In more detail, the in-wheel motor 160 shown in fig. 8A and 8B includes an outer rotor 162. Outer rotor 162 has an outer surface arranged to engage a mesh structure (e.g., a track). The inner surface including the annular permanent magnets 164 is arranged to rotate about a hub (or "inner hub" 166) that includes the stator of the in-wheel motor 160. Typically, the stator includes coils (also referred to as "windings") of an in-wheel motor. In order to drive each wheel 150 of the first or second set of wheels, and thereby move the load handling apparatus on the grid structure, the outer rotor 162 of the in-wheel motor 160 is arranged to rotate about an axis of rotation A-A, which corresponds to the central axis of the respective wheel. The outer surface of the rotor 162 may include tires 168 for engaging a track or rail. In the embodiment shown in fig. 8B, outer rotor 162 rotates about an axis of rotation on its bearings (not shown) and has permanent magnets 164 tightly bonded to its inner surface. Each wheel 150 is coupled to the carrier body 132 of the load handling apparatus 130 by a coupling of the inner hub 166 (including a stator of an in-wheel motor) coupled to the carrier body 132 to allow the outer rotor 162 to rotate relative to the hub 166. This type of in-wheel motor is commonly referred to as an outer rotor in-wheel motor.
Other types of in-wheel motors may also be used as in-wheel motor 160 for wheel 150, such as an inner rotor motor or an axial flux motor. An inner rotor motor has stator windings on its housing, while the rotor sits inside the stator and is connected to the shaft. Typically, spokes connect the wheel to the rotor shaft. An inner rotating electric machine typically has a smaller volume of magnets and a larger volume of copper stator windings than an outer rotating electric machine. In contrast, stator windings of axial flux machines are typically sandwiched between sets of magnets in a non-radial arrangement: the gap between the rotor and the stator and thus the direction of the magnetic flux between the two will be aligned parallel to the axis of rotation rather than radially.
While the drive mechanism for each wheel 150 in the previous embodiment includes an in-wheel motor, in other embodiments, other means of driving the wheels are contemplated. For example, pairs of wheels at the front and rear on either side of the load handling apparatus may be driven by one or more motors connected to suitable pulleys or gear mechanisms. In other embodiments, the drive mechanism for the wheel 150 comprises a belt drive mechanism.
In the block diagram of the wheel assembly shown in fig. 9, each pair of wheels in the first and second sets 134, 136 of wheels is indicated by a control module (or "controller" 170) to rotate about their respective axes of rotation. In this embodiment, the control module 170 comprises a computer system with one or more processors and memory storing instructions that, when executed by the one or more processors, cause the one or more processors to instruct the first or second sets of wheels to rotate about their respective axes of rotation. The memory may be any storage device known in the art, such as Random Access Memory (RAM), computer readable media, magnetic storage media, optical storage media, or other electronic storage media that can be used to store data. The one or more processing devices may be any processing device known in the art, such as a microprocessor. The drive mechanism and wheel positioning of each wheel of the first and second sets 134, 136 of wheels is communicatively coupled to the control module 170 via any suitable communication interface unit 172, such as any wired or wireless communication interface known in the art.
The controller 170 sends control commands to the drive mechanism, which converts the control commands to appropriate drive output signals for delivery to the wheel motors, which facilitates control of the movement of the load handling apparatus 130 on the rails 122a, 122b of the grid structure 115. The control signal may be provided directly to the wheel motor or to an intermediate motor drive that controls the speed and direction of the wheel motor by varying the power output to the wheel motor.
When the controller 170 determines that the drive mechanism moves the load handling apparatus 130 from its current position to a new position or changes its speed, the controller 170 generates a trajectory (also referred to as a "motion control profile") that is converted into an appropriate control signal by the drive mechanism. For example, the new position may be a target position or a commanded stop position. The motion control profile defines a kinematic state of the load handling apparatus 130, such as a speed, acceleration, and/or position over time as the load handling apparatus 130 moves from its current state to a target position. Jerk (or "jerk") refers to the rate of change of acceleration of the load handling apparatus with respect to time, i.e., the first derivative of acceleration. The current position may result from a stationary or stopped state on the grid structure 115, in which case the initial speed and acceleration of the load handling apparatus 130 is substantially zero. Alternatively, the load handling apparatus 130 may be in motion at the current location, in which case the load handling apparatus 130 has an initial speed greater than zero.
In an embodiment, the target location is an intended storage location or grid cell on the grid structure 115, for example, for retrieving or depositing storage containers. In other embodiments, the target location is a location or grid cell on the grid structure 115 near the point of charge, such as when the load handling device 130 is instructed to charge a rechargeable power source. Typically, such charging points are located at the periphery of the grid structure 115.
Once the motion control profile is generated, the controller converts the motion control profile into appropriate control signals for moving the load handling apparatus through the trajectory defined by the motion control profile. Several sections (or "phases") of the motion control profile may be calculated, for example based on one or more preset constraints. For example, such constraints may correspond to mechanical limitations of the drive mechanism. The one or more preset constraints include, but are not limited to, maximum speed, maximum acceleration, and maximum deceleration. For example, the load handling apparatus 130 is expected to travel at a speed of four meters per second (m/s) and accelerate at two meters per square second (m/s 2). Given these constraints and the commanded target position, the controller calculates a motion control profile to achieve the desired movement. The intended movement may include a plurality of locations on the grid structure 115 in the X and Y directions, such as mixed execution or sequential execution, for example, so that the load handling device reaches a target location, such as corresponding to an intended storage column. For example, each of the plurality of positions includes a single movement in either the X-direction or the Y-direction on the grid structure. For purposes of this specification, the terms "commanded speed" and "speed constraint" are used interchangeably, as are the terms "commanded acceleration" and "acceleration constraint".
The term "point-to-point" movement in this specification refers to movement from a start position to a target position. When the load handling apparatus reaches a set destination or target position, the final acceleration and speed are gradually zero.
In an embodiment, input to the controller 170 is received via the main controller 174. As shown in fig. 10, the controller may be communicatively coupled to a master controller 174 via a network 176. The controller in the embodiment of fig. 10 is incorporated into the load handling apparatus 130. The network 176 may be any of a variety of types including a LAN (local area network), a WAN (wide area network), the Internet, or an intranet. One or more base stations (not shown) may transmit the input information to the controller. In particular embodiments of the present invention, the input may include one or more constraints and a commanded or target location on the grid structure. The transmission of several inputs to the controller may be accomplished independently. For example, master controller 174 may communicate the command location and one or more constraints separately, such as to a track generator stored within a controller of load handling device 130.
For example, based on the received one or more constraints and a commanded position corresponding to an expected position on the grid structure, a motion control profile is generated or calculated (e.g., automatically by the controller). In an embodiment, the motion control profile (or "trajectory") includes a set of position, velocity, acceleration, and/or jerk signals. For example, when a commanded position is reached, the trajectory ends (or reaches its end point) and the remaining signal (velocity, acceleration, jerk) is zero.
FIG. 11 shows a block diagram illustrating the input and output of a position controller according to an embodiment. The motion control profile data generated by the trajectory generator is communicated to the position controller 184 where it is converted into control signals to drive the wheels of the wheel assembly. Based on the motion control profile, the position controller 184 will vary the power of the drive mechanism to vary the speed of the load handling apparatus 130 relative to the grid structure 115. As with the motion control generator, the position controller 184 may be a functional component that resides with the controller 170 or, alternatively, may be a component that is independent of the motion control generator 182, having its own control system. For example, the pair of wheels of the wheel assembly may be connected to a local controller and configured to translate motion control signals from a motion control generator. The conversion of the motion control signals includes, but is not limited to, converting motion control data into suitable torque control signals for driving motors of the respective drive mechanisms or wheels.
As described above, in one or more aspects such as: the position reference, velocity reference, acceleration reference, and jerk reference, the motion control profile defines a trajectory of point-to-point movement of the load handling apparatus 130 relative to the grid structure 115 over a period of time. These references represent the functional calculations of the trajectory generator, defining how each motion attribute of the drive mechanism is controlled as a function of time for a given point-to-point movement. These reference values are mathematically related as derivatives with respect to time. Converting the motion control profile into a control signal (the control signal instructing the load handling apparatus 130 to perform the desired point-to-point movement in accordance with the motion control profile) involves: the position controller 184 generates a feed-forward signal from the motion control profile, e.g., based on an acceleration reference derived from the motion control profile. One or more of the position reference, the velocity reference, the acceleration reference, and the jerk reference may be referred to as a range reference or a kinematic reference, representing a point-to-point movement of the load handling apparatus 130 over a given period of time.
Fig. 12 shows an exemplary architecture of a position controller 184 for converting signals from a trajectory generator 182 to a drive mechanism of a load handling device. The feedforward signal 210 represents the calculated torque demand, for example proportional to the acceleration reference derived from the motion control profile, and more specifically proportional to the time derivative of the speed reference, with the mass of the load handling device as a predetermined value, for example an estimated value. The mass of the load handling equipment with payload may be estimated, for example, using current feedback from a controller or a drive of a lifting device used to hoist a box containing the cargo payload. This may be combined with the initial mass of the load handling apparatus (e.g., including a lifting apparatus with a cable 38 and a gripping apparatus 39) to yield an estimated total mass of the load handling apparatus with the payload.
The feed forward signal 210 may be converted to an appropriate signal to drive the wheels of the wheel assembly. However, to ensure that the point-to-point movement of the load handling apparatus on the grid structure is aligned with the track segments of the motion control profile, the calculated feedforward signal 210 is compensated by the feedback signal 212, the feedback signal 212 being indicative of the actual kinematic state of the load handling apparatus with respect to the grid structure. The kinematic state of the load handling apparatus on the grid structure may include, but is not limited to, the position and speed of the load handling apparatus relative to the grid structure. For example, the speed of the load handling device may be derived from the first derivative of its position with respect to time.
Based on the feedback signal 212, the position controller 184 may adjust or compensate for the control signal determined based on the motion profile 194 from the trajectory generator 182 to ensure that the load handling apparatus moves as closely as possible in accordance with the motion control profile.
In the present system, the feedback signal 212 is generated using the kinematic model 198 instead of one or more position sensors on the load handling apparatus (the feedback signal will be fed back to the position controller to reflect the "true" state of the load handling apparatus relative to the grid structure). As described above, the use of such a kinematic model 198 in place of one or more position sensors may provide a feedback reference to the kinematic state of the load handling apparatus, facilitate control of positioning based on the generated trajectory, and avoid adverse effects from using physical sensors mounted on the load handling apparatus. Further description is provided below for using such a kinematic model 198 (e.g., in place of one or more position sensors) to determine the kinematic state of the load handling apparatus.
In response to receiving the data signals from the kinematic model 198, the position controller 184 may be instructed to regenerate one or more track segments of the motion control profile 194, such as by changing one or more manipulated variables, to ensure that the load handling apparatus reaches its commanded target position on the grid structure.
In an embodiment, the feedback signal 212 from the kinematic model 198 is combined with the feed forward signal 210 to generate the total torque demand for the wheel (or the drive mechanism driving the wheel). The trajectory position derived from the motion control profile is compared to the position determined by the kinematic model 198. And the contrast represents the position error, i.e. the difference between the track position reference and the simulated position as a function of time. The position error is input into a PID (proportional, integral, and derivative) controller (or PI controller) 214, which corrects the position to a set point represented by the motion control profile. The correction from the PID or PI controller 214 is combined with the feed forward signal 210 to generate the total torque demand.
As shown in the communication path of fig. 12, both the "acceleration feedforward" signal and the "velocity feedforward" signal are combined in the feedforward calculation. They may be stored in a look-up table. In practice, the acceleration feed-forward and the velocity feed-forward are summed together with a proportionality constant, such as the zero order torque demand, which is a fixed value (its sign, i.e., the sign of the track velocity). The magnitudes of the acceleration and velocity feedforward torque demand terms are determined by the generated motion control profile or trajectory.
In one embodiment, the feed forward torque demand is calculated as follows:
total torque request = feedforward torque request + feedback torque request;
Wherein:
feedforward torque demand = acceleration feedforward torque demand + speed feedforward torque demand + zero order torque demand;
Wherein:
acceleration feedforward torque demand = track acceleration x acceleration feedforward gain;
speed feed forward torque demand = track speed x speed feed forward gain;
Zero order feedforward torque demand= (sign of track speed) ×zero order torque demand value;
Wherein the values of the following variables are empirically determined:
The acceleration feedforward gain is a value that depends on the estimated total mass of the load handling apparatus, including the container and its contents, so that it has a higher gain value when the load handling apparatus is carrying a heavier container.
The speed feed forward gain is also dependent on the estimated total mass of the load handling equipment.
The zero order torque demand value is the value of the total torque demand required to keep the load handling apparatus moving at a constant and near zero speed, i.e. it is a scale factor.
These three components, acceleration feedforward, velocity feedforward, and zero-order torque demand values, are summed to form the feedforward torque demand and stored in a look-up table. When compensating for the calculated feedforward torque demand with the feedback torque signal, the controller retrieves the feedforward torque demand from the look-up table to be combined with the feedback torque measurement.
As described above, the calculated total demand is converted into a suitable control signal to drive the wheels. In an embodiment, the total torque demand is shared between the first or second sets of wheels, depending on which of the first and second sets of wheels is engaged with the grid structure. As in the embodiment described, each wheel of the first and second sets of wheels may be individually driven by an in-wheel motor 220. The first set of wheels includes a pair of wheels at a front portion of the body and a pair of wheels at a rear portion of the body. The second set of wheels also presents similar pairs of wheels, namely a first pair and a second pair on both sides of the main body of the load handling device. In operation, the pairs of wheels are driven synchronously, for example, as if they were driven on a "virtual" axis or "fictitious" axis. For example, the front pair of wheels are driven synchronously as if they were driven on the same axis, and the rear pair of wheels are driven synchronously as if they were driven on the same axis. The same principle applies to the second set of wheels, although driven by a separate in-wheel motor. Likewise and where applicable, all four wheels of the first set of wheels may be driven simultaneously, and similarly all four wheels of the second set of wheels may be driven simultaneously. The advantage of driving the wheels of the wheel assembly individually by the in-wheel motor is that the torque applied to the wheels can be distributed to the wheels in different amounts, which is helpful when any of the wheels is slipping.
In an embodiment, the torque demand, or compensated total torque demand, derived from the motion control profile is distributed among the wheels of the wheel assembly by the biasing mechanism 216. The biasing mechanism 216 distributes the total torque demand between the front and rear wheelsets, e.g., the "axle" to accommodate any weight transfer of the load handling apparatus on the grid structure. For example, as the load handling apparatus accelerates over the grid structure, a greater portion of the calculated total torque demand may be transferred onto the front "axis". Conversely, when the load handling apparatus is decelerating on a grid structure, the total torque demand is shifted more to the rear "axis". Thus, the biasing mechanism is able to vary the amount of torque imparted to the front and rear "axes" in order to shift the weight of the load handling apparatus between the front and rear of the load handling apparatus, respectively, as the load handling apparatus accelerates or decelerates on the grid structure.
In an embodiment, the biasing mechanism 216 applies a differential torque demand to the wheels, and more specifically to the motors driving the wheels, in accordance with the track acceleration reference of the motion control profile. The trajectory acceleration reference and/or the trajectory speed reference of the motion control profile provide an indication or reference point of whether the load handling apparatus is accelerating or decelerating on the grid structure. In other words, the differential torque applied to the wheel follows the track acceleration reference of the motion control profile, i.e. there is a proportional relationship between the torque distribution to the wheel and the track acceleration reference of the motion control profile. In response to a signal from the motion control profile generator indicating acceleration of the load handling apparatus, the offset mechanism 216 selectively translates more of the calculated total torque demand to the front axis than to the rear axis. Conversely, when instructed to slow down, the total torque demand is moved to the rear axis, or the total torque demand is reduced, to provide a "braking" force. Likewise, when cruising on a grid structure, the total torque demand may be substantially evenly distributed between the front and rear "axes".
In addition to the differential torque applied to the front and rear wheel "axes", the torque demand delivered to the wheel motors on both sides of the load handling apparatus body may also be controlled to control yaw or steering (for example) of the load handling apparatus on the grid structure. For example, depending on the direction of travel of the load handling apparatus on the grid structure, the torque demand may be used to control the speed of the left or right set of wheels, thereby controlling the yaw or steering angle of the load handling apparatus on the grid structure. In some embodiments, by virtue of the arrangement of the grid members extending in the transverse (X-Y) direction, differential torque applied to the left and right wheels is controlled to prevent the load handling apparatus from yawing or turning, i.e. travelling substantially straight, on the track.
In addition to converting the motion control profile into control signals for driving the drive mechanism, the biasing mechanism 216 may be configured to control the wheel slip on the track and periodically compensate for the motion control profile in response to receiving position signals from the kinematic model (instead of one or more position sensors mounted to the load handling apparatus) and/or one or more position track sensors.
Instead of a kinematic model of one or more position sensors, it is also possible to determine the slip situation of any one of the first and second sets of wheels on the track. In fig. 12, this is shown as a separate slide member 218 within the position controller 184.
Slippage of the wheels occurs when the rotational speed of any of the wheels exceeds the component of the speed of the kinematic state of the load handling apparatus on the grid structure. The kinematic state of the load handling apparatus on the grid structure is determined using a kinematic model 198. For a load handling apparatus 30 with position sensors 98a, 98b, the velocity component of the kinematic state is derived from the first derivative of the position component of the kinematic state (determined by one or more position sensors and as a function of time), e.g., depending on the rotational speed of the first or second "fifth" wheel that the load handling apparatus is traveling in the first or second direction.
In an embodiment, the individual rotational speeds of each wheel of the first and second sets of wheels are determined by one or more wheel encoders disposed adjacent to each wheel. The one or more wheel encoders may be incremental encoders that include a rotating electromechanical device that generates pulses indicative of the rotational speed of the wheel. An exemplary wheel encoder includes a magnetic sensor, such as a hall effect sensor, capable of measuring the magnetic field strength, and a ring magnet attached to the motor shaft. When the motor rotates the wheel, it also rotates the ring magnet. As the ring magnet rotates, a magnetic sensor disposed near the ring detects a change in the magnetic field. The sensor can count the number of motor revolutions step by step. When the ring magnet completes one complete revolution, the magnetic sensor detects a fixed number of changes (e.g., pulses or "ripples") in the magnetic field as each pole of the ring magnet passes the sensor. For example, for a ring magnet with four pairs of poles, the magnetic sensor will count four pulses during one complete revolution. Each rotation of the motor will also turn the wheel at a given angular rotation, e.g. a certain number of degrees. With this information, such as the ratio of the motor to the wheel, the number of pulses counted by the wheel encoder and representing one complete rotation of the wheel can be calculated. Using the wheel circumference, the expected travel distance for each pulse or rotation can also be determined.
Another embodiment of a rotary wheel encoder is an optical encoder. A disk with transparent and opaque regions is attached to the motor shaft and is disposed between the light source and the photodetector array, which reads the optical image produced by the angular position of the disk at any given time. Another embodiment is a capacitive rotary encoder in which an asymmetrically shaped disk rotates within the encoder between two electrodes. The change in capacitance between the electrodes can be measured and used to determine the angle value.
In an embodiment, the slip control manager may manage the slip condition of each wheel of the wheel assembly by comparing the rotational speed of the wheels individually to the kinematic state of the load handling apparatus on the grid structure, as determined by the kinematic model, rather than the first or second "fifth" wheels. In the embodiment shown in the schematic block diagram of fig. 12, the slip control manager is stored within the position controller. It is assumed that the rotational speed of a given wheel exceeds the speed component of the kinematic state of the load handling apparatus on the grid structure. In this case, the slip control manager will eliminate or at least reduce the torque of the wheel by controlling the bias to the torque demand of the wheel until the rotational speed of the wheel reaches the kinematic state of the load handling apparatus. For example, via the biasing mechanism, the position controller can vary the torque demand on the slipping wheel, i.e., reduce or even eliminate the torque demand on the wheel, in order to reduce the rotational speed of the slipping wheel. In this case, the rotation of the wheel becomes more passive. Alternatively, the slip control manager may redistribute torque on the slipping wheels to other wheels to balance the speed of the wheels of the wheel assembly to match the kinematic state of the load handling apparatus on the grid structure.
It will be appreciated that the slip control manager described above may alternatively be used with either the first or second "fifth" wheels. In this way, the rotational speed of the wheel may be determined directly from the output of the "fifth" wheel.
The slip control manager may be arranged to reduce the torque on the wheel being slipped, whether with or without the "fifth" wheel. For example, upon detecting that a slip occurs in a first wheel, the slip control manager may reduce the torque demand of that particular wheel to zero torque. While the torque level of all other wheels that are in use but that are not slipping will remain unchanged (i.e., not adjusted). Although the torque applied to the slipping wheel is zero in this embodiment, other values may be used, for example, the torque demand for the slipping wheel may be reduced to 20% of the original value. One disadvantage of this method of slip control is that it can create unwanted torque on the load handling apparatus, causing it to deflect on one side or the other on the track. When slip events are infrequent and short duration, such unwanted torque is practically negligible, as the unwanted torque experienced by the load handling apparatus is very small.
However, for longer duration slip events, the unwanted torque experienced by the load handling equipment may be problematic. To this end, the slip control manager may alternatively be arranged to perform slip control on a "virtual" or "fictitious" axis, similar to the biasing torque between the front virtual axis and the rear virtual axis described previously. Specifically, upon detecting that one particular wheel is slipping (whether or not the "fifth wheel" is used), the slip control manager is arranged to reduce the torque demand of both wheels on the virtual axis. For example, if a slip event occurs with the right rear wheel of the load handling apparatus, the torque requirements of both the right rear wheel and the left rear wheel (the left rear wheel and the right rear wheel being on the same virtual axis) may be reduced. Preferably, the reduction in torque demand is the same for wheels on the virtual axis. In this way, since the torque reduction on both sides of the load handling apparatus is equal, the load handling apparatus is no longer subject to the unwanted torque brought about by the previous slip control method. In one embodiment, when a slip event occurs on the right rear wheel, the torque demand for the rear virtual axis may be reduced to zero. However, such a drastic reduction in torque on the load handling apparatus may result in a sudden reduction in speed of the load handling apparatus. Alternatively, when a slip event occurs on the right rear wheel, the torque demand for the rear virtual axis may be reduced to 20% of its original value. Accordingly, the torque demand of both the right and left rear wheels is reduced to 20% of its original value. In this way, the speed reduction is less severe, while the load handling apparatus can remain unchanged according to its movement plan.
Additionally, the slip control manager may be further arranged to apply the lost torque on a virtual axis that has not experienced a slip event. For example, when a slip event occurs on the right rear wheel, the torque demand for the rear virtual axis may be reduced to 20% of its original value. In other words, the torque demand for an individual wheel on the rear virtual axis is reduced to 20% of its original value. However, the torque demand removed from this virtual axis (80% of its original value) may be added to the front axis, in other words, for each of the front left and front right wheels, some of the torque demand removed from the rear virtual axis is added to their torque demand. Thus, while the rear virtual axis is reduced to 20% of its original value, the torque demand of the front virtual axis increases by the torque demand eliminated from the rear virtual axis. In this way, the speed reduction problem of the load handling apparatus as a whole can be alleviated.
It should be understood that the architecture shown in fig. 12 is merely an example, and that other arrangements of the components of the position controller 184 are within the scope of the present invention. For example, the position controller 184 may be integrated into the controller 182 for generating the motion control profile or trajectory, rather than as a separate controller.
Fig. 13 shows a schematic view of a positioning system for a load handling apparatus according to an embodiment. As previously described, the positioning system 300 includes one or more encoders 310 for loading a plurality of wheels of a processing apparatus. In this embodiment, one or more encoders are located within the load handling apparatus. In fig. 13, only the pair of wheels 134 for moving the load handling apparatus 130 in the X-direction on the grid structure is shown. However, a complete set of wheels for each of the X and Y directions, i.e., the first 134 and second 136 sets of wheels described in the previous embodiments, may also be included.
In an embodiment, the positioning system 300 further includes one or more force sensors for loading the wheels 134 of the processing apparatus. For example, one or more force sensors are configured to detect a load on a corresponding wheel. The one or more force sensors may include a force transducer that converts an applied force (e.g., weight loaded onto the wheel) into a linear electrical signal by measuring movement in the wheel assembly structure using a force sensitive resistor.
In other embodiments, the positioning system 300 includes one or more force estimators configured to estimate the load on the corresponding wheels. For example, by taking into account weight shifts during acceleration and deceleration, such as based on the weight of the load handling apparatus (including the estimated weight of the boxes and their payloads being carried by the load handling apparatus), and using methods known to those skilled in the art, the load on the corresponding wheels may be estimated. For example, consider the front-rear virtual axis of the front-rear wheel set, the front axisAnd posterior axis/>The vertical load on can be determined as:
Based on the mass m of the load handling apparatus (e.g. including the mass of any boxes and the payload carried), the distance between the rear axis and the centre of mass of the load handling apparatus And wheel base distance l, the initial load Z 1,0,/>, on the front axis can be determined. Similarly, the initial load on the rear axis Z 2,0 may be measured as the distance/>, between the rear axis and the center of mass of the load handling apparatusTo determine. /(I). The intermediate term in the axis load equation represents the aerodynamic drag Z 1,a=-Z2,a, which can be expressed by, for example, the expression/>Where p is the fluid (air) density, v is the speed of the load handling apparatus, S is the reference area of the front face of the load handling apparatus, and C is the form factor, e.g. rectangular cross section for the load handling apparatus. Finally, the longitudinal load transfer ΔZ may be based on the acceleration/>, of the load handling apparatusAnd the height h of the center of mass, i.e.: /(I)
The positioning system 300 includes a storage space 330 storing a trained model that determines a creep value for the load handling apparatus based at least on a given vertical load on a given wheel of the load handling apparatus. Memory space 330 may be a Random Access Memory (RAM), such as DDR-SDRAM (double data rate synchronous dynamic random access memory). In other embodiments, storage 330 may include non-volatile memory, such as Read Only Memory (ROM) or Solid State Disk (SSD), such as flash memory. In some cases, storage space 330 includes other storage media, such as magnetic media, optical media, or tape media, compact Discs (CDs), digital Versatile Discs (DVDs), or other data storage media. The storage space 330 may be removable or non-removable from the data location system 300.
In the case of wheels moving on a track, creep is related to the difference between the rotational speed of the wheel and the linear speed. For example, the contact area between the wheel and the track, which is generally elliptical, may be divided into an attachment zone (non-slip) and a slip zone. Longitudinal creep (or "micro-slip") and tangential (traction) forces are generated due to the slippage of the tail of the contact surface. As traction increases, so does the slip zone, and the attachment zone decreases, causing rolling and slipping. The creep force acts on the plane of the contact surface and is related to the friction between the wheel and the track. Although the deformations in the wheels and the track are small and localized, significant forces can be generated. In addition to deformation due to weight, both the wheels and the track deform when braking and accelerating forces are applied and when the vehicle is subjected to lateral forces.
In order to generate a creep force, a certain degree of (micro) slip is required. In some cases, the tangential force depends on normal loading, friction conditions, and relative movement between the contact surfaces. These tangential forces deform the area they first contact, followed by the slip area. The end result is: (a) During traction, the wheels do not advance as expected due to rolling contact, and (b) during braking, the wheels advance further. This mixing of elastic deformation and localized sliding is known as "creep" (as opposed to creep of a material under constant load). In this case, creep in terms of displacement may be given by ζ= (x-s)/s=Δs/s, where x is the actual displacement of the vehicle and s is the rolling displacement.
Similarly, for a free-rolling wheel, the expected linear velocity (in units of m/s) based on angular velocity ω (rad/s) is given by the product r·ω, where r is the wheel radius (m). For positive tangential forces, there should be a positive velocity differential, i.e. The relationship between this speed difference and the linear speed is also given by the speed creep: /(I)And is dimensionless. Thus, the speed (or "longitudinal") creep can be expressed as a rate σ ε [0,1], given by:
Where r e represents the effective radius of the wheel at the point of contact with the track. Linear velocity of wheel center Equivalent to the speed of the load handling equipment.
The contact forces involved in the wheelset dynamics of the carrier 132 may be considered to be linearly related to creep (see, e.g., joost Jacques Kalker's linear theory, applicable to small creep). Similarly, forces that cause the vehicle 132 to develop directional stability, propulsion, and braking may also be related to creep. It exists in a single wheel set and can accommodate slight movement incompatibilities introduced by coupling the wheel sets without causing severe slippage. Thus, all of the drive wheels 134, 136 of the load handling apparatus 130 must be rotated faster (i.e., creep control) than the actual movement of the carrier 132 to take advantage of the maximum coefficient of friction available. The maximum friction available occurs when the wheels creep. During the transition from the "full adhesion" zero torque to the "full slip" state, the wheel slip may gradually increase, also known as creep (creep) and creep (creepage).
In some nomenclature, "slip" is the additional speed that the wheel possesses, while "creep" is the degree of slip divided by locomotive speed as described above. These parameters may be measured using physical sensors such as position sensors or speed sensors. The measurement data may be input into the creep controller 218 to control the various drive mechanisms of the wheelset based on slip and creep travel. However, in this embodiment, the creep controller 218 obtains a simulated creep value for the load handling equipment, rather than a measured creep value based on the position sensor data.
More specifically, the processing unit 340 of the present positioning system 300 is configured to obtain at least one coefficient value for the trained kinematic model and to determine the creep value using the kinematic model stored in the memory space. In an embodiment, vertical load values for the wheels (e.g., vertical load values obtained from corresponding force sensors or predicted in view of weight transfer, any case mass and payload) may also be inputs to the processor 340 to determine the creep value using a kinematic model.
At least one coefficient value is obtained by training the model using the recorded creep data for the plurality of training load handling devices. For example, in one embodiment, the kinematic model includes a parameterized model for the creep of the wheel, such as a mathematical model of the creep in terms of parameters such as wheel radius and one or more coefficients. By training the model using the recorded creep data and known parameter values, the coefficient value(s) to be used in calculating the creep may be determined. For example, a load handling apparatus 30, such as the one shown in FIG. 6, has position sensors 98a, 98b to provide a kinematic state reference, such as a speed reference or a position reference during movement of the load handling apparatus 30 over the grid structure 15. Thus, the creep value may be determined using a kinematic state reference and entered into the model along with parameter values for wheel radius, wheel load, etc. Constructing such a data set of recorded creep values with corresponding values means that one or more coefficients of the kinematic model may be adjusted such that the simulated (i.e. calculated) creep values and empirically determined creep values form a correspondence, e.g. a "best fit", within predetermined thresholds. For example, the predetermined threshold may correspond to a target accuracy of the model. The adjusted model coefficient value(s) may then be stored in a memory space, such as a kinematic model, for access by the processor 340 to calculate a "real-time" creep value for a given wheel rolling on the grid 115 using the kinematic model with the coefficient values and measured wheel loads, etc. the "real-time" parameters.
In an embodiment, the processor 340 determines the kinematic state of the load handling apparatus based on the simulated creep values for each wheel or wheel set of the load handling apparatus (by averaging the creep values among the wheels or wheel sets). For example, as described in the embodiments, different wheelsets may be under different load conditions, which has been considered in the model (e.g., load parameter values are used in parameterized model embodiments). Averaging the creep values determined in the wheelsets may help reduce noise levels in the creep data and, consequently, the kinematic data for the load handling equipment.
The following equation gives an exemplary parameterized model:
;
Where σ is the creep value for a given wheel or wheel set of the load handling apparatus, α is the coefficient value, T is the nominal torque applied to the wheel or wheel set, r is the radius of the wheel(s), and N is the nominal vertical load on the wheel or wheel set. For example, the torque is the difference T M -TR between the motion torque and the cumulative resistance torque.
The above exemplary parameterized model may be derived by considering torque balance and may be expressed as:
;
Where T M is the motive torque, T R is the cumulative resistance torque, F is the traction (i.e., friction between the wheel and the ground), j is the wheel inertia, Is the rotational acceleration of the wheel. Subsequently, taking into account the driving situation and using the early expression of the rotating wheel, the creep can be expressed as:
;/>
Where a linear relationship between friction coefficient and creep μ=σ/α is used, while the symbol N still represents the vertical load on the wheel. In the stable region where the maximum traction between the wheel and the track is at and the creep is less than the maximum creep σ M (i.e. σ < σ M), the linear relationship μ=σ/α is found to be a reasonable approximation of the curve of μ with respect to σ. The coefficient α may be an imaginary constant related to the hardness of the tire or wheel. Suppose neglect The term replaces the torque balance, i.e. rf=t M -TR, an exemplary parameterized model as described above can be obtained.
For this exemplary model, individual coefficient values α are determined during training of the parameterized model and stored with the model for use in calculating future creep values for the wheels 134, 136 on the load handling apparatus 130 moving around on the grid structure 115.
Another exemplary parameterized model of vehicle (or "robot") speed (including coefficients that take into account speed slip) is given by the following equation:
Wherein the method comprises the steps of Is the speed of a given wheel or wheel set, β is the coefficient value, τ is the torque applied to the wheel or wheel set, and N is the weight transfer, e.g., vertical load, on the wheel or wheel set. For this exemplary model, individual coefficient values β are determined during training of the parameterized model and stored with the model for use in calculating future speed values for the load handling device 130 moving around on the grid structure 115.
In other embodiments, the kinematic model includes an artificial neural network (or simply "neural network") model. Typically, neural network systems undergo a so-called "training phase". The neural network is trained for a specific purpose-in this case, the creep value for the wheels of the loading process equipment is determined based on the measured parameters. Neural networks typically include several layers of neurons that are connected to each other and form a directed weighted graph, where the vertices (corresponding to neurons) or edges (corresponding to connections) of the graph are associated with weights. The weights may be adjusted during training to alter the output of the individual neurons and the neural network as a whole. Thus, one or more coefficient values for the kinematic model may correspond to weight data representing weights applied to input data that would be input to the neural network. For example, the input data includes measured wheel condition data such as the load of the wheel or wheel set, the nominal torque applied to the wheel or wheel set, and the wheel radius. After the training phase, the neural network (which may be referred to as a trained neural network and corresponds to a trained kinematic model) is able to determine a creep value based on the new wheel state data.
In some embodiments using neural networks, a "structured" network may be used, as they are generally more useful than an "unstructured" network in this type of analysis problem. In a structured neural network, transfer functions may be stacked in a hierarchical fashion to create a network with a large number of hidden layers. Each hidden layer can be considered as the next layer in the nonlinear series, while the computation is an iterative process in which the layer output is used as an input to compute the output of the subsequent layer. Thus, the structured neural network can be trained using supervised learning or unsupervised learning. In contrast, unstructured neural networks do not have any hierarchical organization, they are simply a set of linear, static, and fully connected neurons. Therefore, they can only be trained in an unsupervised manner, as there is no mechanism to define the input and output neurons.
In other embodiments, the kinematic model includes a support vector network, a bayesian network, or other mathematical model suitable for predicting creep of the wheel based on wheel state data measured from a training data set of creep values calculated from measured wheel state data and corresponding motion data of the vehicle. For example, if a nonlinear model is used to determine the creep value, a Kalman filter may be applied to estimate coefficient values in the model.
A kinematic model involving force terms, such as the parameterized model embodiment described above involving torque and normal force, may be referred to as a "dynamic model".
In an embodiment, the storage space 330 stores several trained models. For example, each trained model corresponds to a trajectory phase of the load handling apparatus, such as an acceleration phase, a deceleration phase, and a cruise phase. Thus, a given model may be selected from a number of trained models depending on the current trajectory phase of the load handling apparatus, e.g. whether it is accelerating, decelerating or traveling at substantially zero acceleration cruising. In this way, for example, one or more coefficients of each model are trained based on the data recorded during the corresponding trajectory phase.
In an embodiment, a number of trained models are stored, corresponding to each loading mode of the load handling apparatus. For example, the loading mode may be an unloaded mode, wherein the load handling apparatus is not loaded, e.g. when the container is not transported. Similarly, the loading mode may be a loaded mode in which the load handling apparatus takes some load, for example when transporting cargo containers. Another possible loading mode is a full loading mode, e.g. the load of the load handling device is substantially equal to the maximum loading threshold. Furthermore, there may be one or more partial load modes in which the load is between substantially zero (e.g., unloaded) and an intermediate load threshold that is below a maximum load threshold (e.g., fully loaded).
The plurality of trained models may be the same model or model type, and the respective coefficient values are determined based on training the respective models. For example, each track phase may use the same parameterized model, but the coefficient values determined by training in the corresponding track phase (e.g., values in the exemplary parameterized model described above) are different. Similarly, several neural networks may be used, with one neural network for each trajectory stage and/or loading pattern, wherein the network weights are determined differently according to different training data corresponding to the trajectory stage and/or loading pattern.
In an embodiment, the processor 340 determines the kinematic state of the load handling apparatus based on encoder data obtained from one or more wheel encoders and the simulated creep value. As described above, the individual rotational speed of each wheel may be determined from encoder data captured by one or more wheel encoders, wherein a rotating device within the encoder generates pulses indicative of the rotational speed of the wheel.
The processing unit 340 may be a general purpose processor such as a Central Processing Unit (CPU), microprocessor, DSP, application Specific Integrated Circuit (ASIC), field Programmable Gate Array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any suitable combination of processors therein designed to perform the functions described herein.
In the embodiment described with reference to fig. 7-13, the processing unit 340 and the storage space 330 are located within the load handling apparatus 130. Alternatively, a server-client network model may be used, wherein the processing unit 340 for determining the kinematic state of a given load handling apparatus and the storage space 330 storing the kinematic model are located in a server, such as the master controller 174 shown in fig. 10. The server is configured to communicate with the load handling apparatus (e.g., via network 176) to receive measurement data, encoder data, etc. for input into the model, and to transmit one or both of the determined creep value and the determined kinematic state of the load handling apparatus.
In an embodiment, returning to FIG. 11, the simulated kinematic state determined using the kinematic model 198 (e.g., determined by the processing unit 340) is passed to the movement manager 192 along with the intended target locations defined on the grid structure 115 in the master controller 174, converted by the movement manager 192 into units of locations associated with the grid structure 115, and passed to the motion control generator 182 to effect generation of the motion control profile. For example, the movement manager 192 converts the commanded position from the controller 174 (represented as the number of grid cells the load handling device 130 is instructed to move over the grid structure 115) into a "position cell" that the controller or motion control generator can understand. The controller or motion control generator 182 can then correlate the requested target position from the controller with the position reference provided by the position component or motion control profile simulating the kinematic state. Once the motion control profile is generated, the position controller 184 converts data associated with the motion control profile 194 into control signals that may be sent directly to the drive mechanism 186 to transition the load handling apparatus to a target position. As described above, the position controller 184 may form part of the controller or control system 170 of the load handling apparatus. The controller or control system includes functional components associated with the trajectory generator 182 and the position controller 184.
In an embodiment, a grid-like storage system employing the positioning system (e.g., the storage system described previously with reference to fig. 1 and 3) further includes one or more automatic identification and data Acquisition (AIDC) tags located at predetermined points in the grid pattern. Such AIDC tags may include Radio Frequency Identification (RFID) tags, two-dimensional codes, bar codes, magnetic strips, and the like. AIDC is also commonly referred to as "auto-recognition", and "auto-data collection", and generally refers to a method of automatically recognizing an object, collecting data about the object, and directly and automatically inputting it into a computer system, i.e., without human involvement.
By virtue of these AIDC tags, a given load handling device may be positioned relative to the grid structure by providing each load handling device with one or more AIDC tag readers or scanners. The AIDC tags may be fixed relative to the grid structure to provide a series of reference points on the grid structure. As a given load handling device moves across the grid structure, each AIDC tag reader of the load handling device will read the signals of one or more AIDC tags that are fixed at different locations on the grid structure. Typically, the AIDC tags are affixed at the track intersections or cross-hairs of each grid cell. Each AIDC tag (or "label") contains coded data, e.g., data corresponding to the location of the tag in the grid structure, such as coordinate data in terms of grid cells.
In embodiments where such a storage system employs an AIDC tool, the processing unit 340 of the positioning system may be further configured to determine the kinematic state of the load handling apparatus based on automatic identification data collected by an AIDC machine reader mounted on the load handling apparatus. The AIDC reader itself is configured to read encoded data from one or more AIDC tags. For example, the kinematic state of the load handling device determined using the trained model may be improved based on automatic identification data acquired from scanned tags in a grid structure. The reading (or "activation") of the AIDC machine reader (or other "grid sensor") provides a separate source of location information for the load handling device, such as a reliable source of location of the load handling device on the grid structure at a lower resolution. Thus, the activation of the grid sensor may be used to improve one or more coefficients in the kinematic model, which is adaptive in embodiments. For example, as the load handling device crosses a grid cell boundary, one or more coefficients are updated accordingly.
Returning to the exemplary parameterized model for the speed creep value (or "slip ratio") σ described above, and representing this model with the vehicle (or "robot") speed, we get:
in these equations, the data set of the equation, Is the wheel speed, where r is the wheel radius parameter, ω is the angular wheel speed,Is the robot speed. Subsequently, based on the above equation for the robot speed, the robot position can be estimated, for example, by integrating the robot speed with respect to time, which will be described in detail below.
In an embodiment, model coefficient parameters such as wheel radius r and α are assumed to be constant. At each sampling time, the loading force N of each wheel may be estimated based on an internal model of the robot's physical characteristics. Additionally or alternatively, the load force N of each wheel may also be estimated based on a target acceleration value, e.g. generated by the controller, which may be regarded as an approximation of the actual acceleration of the robot in the algorithm. For example, a resistance torque value may also be calculated at each sampling time based on an internal model of the robot's physical characteristics and the latest estimate of the robot's speed. The values of wheel speed and movement torque may be published as data by a component such as motor 220. For each wheel driving the robot, the equations for the robot speed described above may be calculated to produce a number of corresponding predicted values for the robot speed. For example, different pre-estimates are averaged to mitigate the effects of the disturbance. Subsequently, as described above, the obtained estimated robot speed value is integrated with respect to time to obtain an estimated value of the robot position.
For example, at two points in timeAnd/>Integrating the equation of the robot speed to obtain:
Wherein the resulting torque t=t M -TR has been replaced for completeness. By selecting two points in time corresponding to two consecutive activations of the grid sensor, the left hand item may represent the distance traveled by the wheel during this time, i.e. the length of the grid cell as a known parameter:
Where time points e k-1 and e k are time points selected to correspond to activation at two neighboring grid cells k-1, k. In the resulting equation, a and b are parameters representing the resulting values of the respective time integrals. Thus, for s cell, the least squares method can be applied to this equation form using the known cell length values (i.e., the lengths of the individual grid cells in the grid structure 115). This enables the parameters α and r to be improved (e.g., updated continuously) by using grid sensor activation information. In some cases, the least squares method is a bayesian recursive least squares algorithm.
In a further embodiment, the predicted value of the track lengthThis is given by:
where H represents a 2x1 vector defined by two time integrals, Is a predicted 2x1 vector of the wheel radius R e and the parameter α, d (0, R) is a random noise parameter with a desired value of zero and a variance R, which represents the physical uncertainty in the unit length. Here, alternative notations are used for normal force F N and wheel radius r e. By applying to column vector H or/>One of them transposes to let them multiply.
In an embodiment, initial pre-estimates of model parameters (α and r e, etc.) are determined by running a kinematic model on the recorded data (e.g., "off-line") to find a good fit to each parameter value, for example using classical least squares. For example, logging data recorded from several load handling devices running in the storage system includes data for speed, torque and bin quality, which can be input into the kinematic model to predict unknown model parameters by, for example, classical least squares methods. As described above, model parameters may be improved when running a kinematic model "on-line", for example using real-time data of speed, torque and case mass. For example, for the final improvement phase, a method of Recursive Least Squares (RLS), such as a bayesian RLS algorithm, may be implemented.
Methods of improving model parameters such as α and r e may involve defining a covariance matrixWherein/>And lambda αα each represent the variance of the corresponding parameter. For example, the variance may be a sample variance value obtained from stored data, or may be an initial predicted value.
The method may comprise the following three main steps:
1. The gain K is calculated as follows:
K=PaHT(HPaHT+R)-1
2. updating the covariance matrix based on the calculated gain values:
P=(I-KH)Pa
3. Updating the estimated parameter value based on the calculated gain value:
;
Wherein the symbol X a is used to distinguish between the current value of a given variable X and the new improvement value assumed by that variable in this method step.
In this way, this approach can improve (or "readjust") the model parameters as each grid sensor is activated. Predicted value of unit lengthMay be kept close to the nominal (known) value. Errors in calculating the robot speed using the model may also be limited.
Fig. 14 illustrates a method 400 of determining a kinematic state of a load handling apparatus in a storage system. The load handling apparatus may be one of the exemplary load handling apparatuses described with reference to fig. 7 to 13. The storage system may be of the type described and depicted in fig. 1-3. The method 400 may be performed by one or more components of the positioning system 300 previously described.
At 401, wheel state data representing a wheel state of the load handling apparatus is acquired from one or more sensors communicatively coupled to the wheel. In an embodiment, the wheel status data comprises torque data representing a nominal torque applied to the wheels of the load handling apparatus. Additionally or alternatively, the wheel status data may include load data representing a nominal vertical load on the wheels of the load handling apparatus. In some embodiments, the wheel status data represents the status of a group of wheels (wheelset), such as a nominal torque applied to the wheelset and/or a nominal vertical load on the wheelset. Thus, one or more sensors are sensors that measure the corresponding type of wheel status data. For example, the sensors include one or more force sensors configured to detect a load on the corresponding wheel.
At 402, a creep value for loading a processing tool is determined based on wheel state data and using a trained model. As described in the previous embodiments, the trained model may include at least one of a neural network, a bayesian network, a support vector network, or a parameterized model. But also applies to the corresponding description. In an embodiment of the parameterized model, the method 400 may further include obtaining tire coefficient values determined by training the parameterized model and inputting the tire coefficient values into the parameterized model along with the obtained wheel state data. Examples of tire coefficients a and β are given in an exemplary parametric model. Such tire coefficients may be stored in a memory space to be accessed and input into a parameterized model to calculate new creep values and/or robot speed values. In an embodiment of the neural network model, the coefficients may correspond to weights of the neural network for calculating new creep values and/or robot speed values, the weights of the neural network being obtained during the training phase and stored as part of the neural network model.
As in the previous embodiments, there may be several trained models and a given model selected therefrom as part of the method 400 of determining the kinematic state of the load handling apparatus. For example, the selection of a given model depends on the current trajectory phase and/or loading mode of the loading processing device. For example, the trajectory phase corresponds to the load handling apparatus being accelerating, decelerating, or cruising. In this way, for example, one or more coefficients of each model are trained based on the data recorded during the corresponding trajectory phase. The loading mode may be an unloaded mode, a full loading mode with loading of the load handling device substantially equal to a maximum loading threshold, or one or more partial loading modes with loading between substantially zero and a maximum loading threshold.
At 403, the kinematic state of the load handling apparatus is determined based on the simulated creep value. For example, the kinematic state includes at least one of a position, a speed, an acceleration, a jerk, or an orientation of the load handling apparatus. The position, velocity, acceleration and jerk components of the kinematic state can be estimated from each other by integration or differentiation with respect to time. Thus, the simulated speed creep may be used to apply delta corrections to the estimated robot speed based on the rotational wheel speed. Integrating the corrected robot speed may result in a corrected robot position that takes into account wheel creep (or "micro-slip"), which is a feature of the wheel traction mechanics previously discussed.
At 404, kinematic data representing the kinematic state of the load handling apparatus is output. The output kinematic data may be used to generate a target location for the load handling apparatus, for example according to the embodiments described with reference to fig. 11 and 12. For example, instead of using a "fifth" wheel position sensor to provide a reference for the kinematic position of the load handling apparatus, a trained model may be used to simulate the kinematic state to provide a reference position, velocity and/or acceleration for (re) generating a planned trajectory for the load handling apparatus. Similarly, the feedforward signal representing the torque demand on the wheel may be compensated based on the output kinematics to determine the total torque demand for the wheel. Thus, monitoring the kinematic state of the load handling apparatus to compensate for either the predicted position and resulting torque demand may be performed without the use of physical kinematic sensors, which have inherent disadvantages as an add-on to the load handling apparatus.
As described above, the determined kinematic state of the load handling device may be modified based on automatic identification data collected by an Automatic Identification and Data Collection (AIDC) machine reader mounted on the load handling device and configured to read encoded data from one or more AIDC tags, such as RFID tags, located at predetermined points of the grid pattern.
The method 400 of determining the kinematic state of a load handling device may be performed by one or more processors, such as the processing unit 340 of the positioning system 300 described with reference to fig. 13. The one or more processors may perform the methods, e.g., computer program code, in accordance with instructions stored on a computer-readable storage medium, e.g., memory space 330 of positioning system 300 described with reference to fig. 13.
The above embodiments are to be understood as illustrative embodiments. Further embodiments are also conceivable. For example, although in the above described embodiments, each of the three motion phases (e.g., acceleration, deceleration, and cruise phases) of the load handling apparatus uses the creep prediction value σ=αμ, the model coefficients for each phase may be determined separately (and dynamically improved in some embodiments). Several embodiments are also conceivable in which the relationship between creep and robot speed is used for the movement phase of at least one of the load handling apparatuses. For example, the cruise phase may use a simplified relationship. At cruising, the load handling apparatus is moving at a substantially constant speed, which means that the traction only needs to be balanced with the drag to maintain a substantially constant speed, while the wheels are operating at a relatively low coefficient of friction value μ. Thus, a different relationship between creep and friction coefficient may be more suitable for the cruise phase than for at least one other motion phase. In some cases, the robot speed is represented by a nonlinear equation. As described in the above embodiments, for the nonlinear dynamic model, different methods, such as kalman filter, may be used.
Several embodiments are also conceivable in which the effective wheel radius is neither assumed to be constant nor parameterized as a single variable, rather it is expressed as a linear function of nominal radius and vertical load, e.g.=r(1-γ/>) Where r is the nominal wheel radius,/>Is the effective wheel radius under load. Thus, the model introduces another parameter, e.g., γ, which can be considered constant in all three motion phases of the load handling apparatus. In these embodiments, attempting to mitigate fluctuations in the predicted parameters of the model through such parameterization of the effective wheel radius may eliminate the need to maintain different model parameters for each motion phase.
Furthermore, in addition to the above-described method of determining creep values using a trained model and determining the kinematic state of the load handling apparatus based thereon, embodiments of a method for training a model to calibrate a positioning system of the load handling apparatus are also contemplated. Such a method comprises: for example, a training data set is established for the calculated creep values and/or corresponding kinematic states determined for a plurality of training load handling devices, e.g. based on wheel speed data recorded using position sensors mounted on a plurality of training load handling devices configured to perform a predetermined movement. The training data set (also referred to simply as "training data") is input into a machine learning algorithm to build a kinematic model based on the training data to predict creep values and/or corresponding kinematic states of the load handling apparatus without requiring special programming to do so. For example, an artificial neural network may be used as a machine learning algorithm and a kinematic model, i.e., a "trained" neural network corresponding to the kinematic model, may be generated based on training data. The trained model may then be used to calibrate the positioning system of the load handling apparatus by inputting new data into the neural network, which in turn outputs predicted creep values and/or kinematic states of the load handling apparatus based thereon. For example, determining the kinematic state of the load handling apparatus may involve acquiring wheel state data from one or more sensors communicatively coupled to the wheels and determining the kinematic state of the load handling apparatus based on the wheel state data and using a trained kinematic model that includes a machine learning algorithm (e.g., a neural network). Subsequently, kinematic data representing the kinematic state of the load handling apparatus may be output in the same manner.
As an example, a (structured) neural network may comprise two parallel sub-networks (a and B) as shown in fig. 15, where x is the kinematic state of the load handling device and u is the input (or "control") vector (e.g., comprising torque, load, angular velocity values).
The architecture of sub-network a may be defined by any number of layers and parameters, the only constraint being that the final layer has N parameters that match the dimension N of the state space. Likewise, the architecture of sub-network B may be defined by any number of layers and parameters, with the constraint that the final layer have M parameters that match the dimension M of the control space.
The neural network thus defined provides a network in the form ofOf (3), wherein/>Is the time derivative of the motion state vector x. This equation for the kinematic model then represents the dynamics of the state of the physical system. If the dynamic system is linear and time-invariant, a and B will be constants. In the present case, the term integrated in the equation changes with each movement, so a and B will change over time, but still be linear (at least near the current operating point, i.e. linearized in the current state). This means that a and B are functions of the input u, but may in general also be functions of the current state x. In a continuous time system, the output at a given time t may depend on the state at time t. This is not a strict requirement for the model, but a general possibility, for example, if the load handling apparatus is accelerating, a and B may be different from it when decelerating. Alternatively, in a discrete-time embodiment of such a system, the model may be of the formWherein represents a matrix/>, of a system subnetworkAnd/>Unlike the matrices (a and B) in the continuous-time embodiment.
In these embodiments, the neural network may be trained using, for example, a classical gradient-based optimizer and then implemented in a discrete-time fashion, such as by loading a processor that the processing device carries with it.
It is also to be understood that any feature described above in relation to any one embodiment may be used alone, or in combination with other features described above, and may also be used in combination with one or more features of any other of the embodiments, or any combination of any other of the embodiments. Furthermore, equivalents and modifications not discussed above may also be employed without departing from the scope of the accompanying claims.

Claims (37)

1. A method of determining a kinematic state of a load handling device in a storage system, the method comprising:
Obtaining wheel status data from one or more sensors communicatively coupled to the wheel, the wheel status data representing a status of the wheel of the load handling apparatus;
Determining a creep value for the load handling apparatus based on the wheel status data and using a trained model;
Determining the kinematic state of the load handling apparatus based on the creep value; and
Kinematic data representing the kinematic state of the load handling apparatus is output.
2. The method of claim 1, wherein the kinematic state comprises at least one of a position, a speed, an acceleration, a jerk, or an orientation of the load handling apparatus.
3. The method of claim 1 or 2, the trained model having been trained based on creep data determined by wheel speed data recorded using position sensors mounted on a plurality of training load handling devices configured to implement predetermined movements in the storage system.
4. A method according to any preceding claim, wherein the wheel status data comprises torque data representing a nominal torque applied to the wheels of the load handling apparatus.
5. A method according to any preceding claim, wherein the wheel status data comprises load data representing a nominal vertical load on the wheels of the load handling apparatus.
6. The method of any preceding claim, wherein the trained model comprises at least one of a neural network, a bayesian network, a support vector network, or a parameterized model.
7. The method of claim 6, wherein the trained model comprises the parameterized model, and determining the creep value comprises:
acquiring tire coefficient values determined by training the parameterized model; and
The tire coefficient values are input into the parameterized model along with the acquired wheel state data.
8. The method of claim 7, wherein the parameterized model is represented by the following equation:
;
Wherein ∈r is the creep value, ∈r is the tire coefficient value for the wheel of the load handling apparatus, T is the nominal torque applied to the wheel of the load handling apparatus, r is the radius of the wheel, and N is the nominal vertical load on the wheel.
9. A method according to any preceding claim, wherein the trained model is selected from a plurality of trained models to correspond to track phases of the load handling apparatus.
10. The method of claim 9, wherein the trajectory phase comprises one of an acceleration phase, a deceleration phase, and a cruise phase.
11. A method according to any preceding claim, wherein the trained model is selected from a plurality of trained models to correspond to a loading mode of the loading processing apparatus.
12. The method of claim 11, wherein the loading mode comprises one of a partially loaded mode, a fully loaded mode, and an unloaded mode.
13. The method of any of claims 9 to 12, wherein the plurality of trained models comprises the same parameterized model and each tire coefficient value is determined by training the models.
14. The method of any preceding claim, wherein the storage system comprises:
a first set of parallel tracks extending in the X-direction and a second set of parallel tracks extending in the Y-direction transverse to the first set in a substantially horizontal plane to form a grid pattern, the grid pattern comprising a plurality of grid spaces;
A plurality of stacks of containers located below the track and arranged such that each stack is within the footprint of a single grid space;
The load handling apparatus is arranged to selectively move and handle containers in at least one of the X-direction and/or Y-direction on the track.
15. The method of claim 14, comprising improving the kinematic state of the load handling apparatus based on auto-identification data acquired by an auto-identification and data acquisition machine reader, an AIDC machine reader, the AIDC machine reader mounted on the load handling apparatus and configured to read encoded data from one or more AIDC tags located at predetermined points of the grid pattern.
16. A method according to any preceding claim, further comprising generating a trajectory to a target location of the load handling apparatus based on the kinematic data.
17. A method according to any preceding claim, further comprising compensating a feed forward signal representative of the torque demand on the wheel based on the kinematic data to determine a total torque demand for the wheel.
18. A data processing apparatus comprising a processor adapted/configured to perform the method according to any one of claims 1 to 17.
19. A computer program comprising instructions which, when executed by a computer, cause the computer to carry out the method according to any one of claims 1 to 17.
20. A computer readable storage medium comprising instructions which, when executed by a computer, cause the computer to implement the method of any one of claims 1 to 17.
21. A positioning system for a load handling apparatus in a storage system, the positioning system comprising:
One or more encoders for a plurality of wheels in the load handling apparatus;
a storage space storing a trained model for determining a creep value for the load handling apparatus based at least on a given vertical load on a given wheel of the load handling apparatus; and
A processing unit for:
Acquiring a vertical load value for a wheel of the load handling apparatus;
obtaining at least one coefficient value for the trained model, the coefficient value being obtained by training the trained model for creep data recorded by a plurality of training load handling devices;
Determining a creep value for the load handling apparatus based at least on the vertical load value and the at least one coefficient value using the trained model stored in the storage space; and
A kinematic state of the load handling apparatus is determined based on the creep value and encoded data acquired from the one or more encoders.
22. The positioning system of claim 21, wherein the kinematic state comprises a position of the load handling apparatus relative to the storage system.
23. The positioning system of claim 21 or 22, wherein the one or more encoders are included within the load handling apparatus.
24. The positioning system of any of claims 21-23, wherein the processing unit and storage space are disposed within the load handling apparatus.
25. The positioning system of any of claims 21-23, comprising a server comprising the processing unit and the storage space, wherein the server is configured to communicate with the load handling apparatus to receive the encoder data and to send one or both of the determined creep value and the determined location of the load handling apparatus.
26. A positioning system according to any of claims 21-25, comprising one or more force sensors for each wheel of the load handling apparatus, wherein the processing unit is configured to obtain the vertical load value for the load handling apparatus from a corresponding sensor of the one or more force sensors.
27. A storage system comprising the positioning system of any of claims 21-26, the storage system comprising:
a first set of parallel tracks extending in the X-direction and a second set of parallel tracks extending in the Y-direction transverse to the first set in a substantially horizontal plane to form a grid pattern, the grid pattern comprising a plurality of grid spaces;
A plurality of stacks of containers located below the track and arranged such that each stack is within the footprint of a single grid space;
The load handling apparatus is arranged to selectively move and handle containers in at least one of the X-direction and/or Y-direction on the track.
28. A storage system according to claim 27, wherein the at least one load handling device has a footprint that occupies only a single grid space in the storage system, such that a given load handling device occupying one grid unit does not interfere with another load handling device occupying or traversing an adjacent grid space.
29. The storage system of claim 27 or 28, comprising one or more automatic identification and data acquisition tags, AIDC tags, located at predetermined points of the grid pattern, wherein the processing unit is configured to determine the kinematic state of the loading processing device based on automatic identification data acquired by an AIDC machine reader mounted on the loading processing device and configured to read encoded data from the one or more AIDC tags.
30. A storage system as claimed in claims 27 to 29, wherein the wheels of the load handling apparatus include respective in-wheel motors.
31. A load handling apparatus in a storage system, the load handling apparatus being arranged to selectively move and handle containers in at least one of the X and/or Y directions on a track, the load handling apparatus comprising:
A plurality of wheels; and
A slip control manager arranged to manage slip conditions of the load handling apparatus.
32. A load handling apparatus according to claim 31 wherein the slip control manager is arranged to manage the slip condition by comparing the rotational speeds of the plurality of wheels with the kinematic state of the load handling apparatus.
33. The load handling apparatus of claim 32, wherein the slip control manager is arranged to:
determining whether a slip event occurs on one of the plurality of wheels; and
Upon determining a slip event, reducing a torque demand applied to the wheel on which slip is determined.
34. The load handling apparatus of claim 33, wherein the slip control manager is further arranged to:
upon determining a slip event, the torque demand applied to the wheels on the same virtual axis as the wheel determining slip is reduced.
35. The load handling apparatus of claim 34 wherein the applied torque demand is reduced to the same extent for the wheel that determines slippage and the wheel that is on the same virtual axis as the wheel that determines slippage.
36. A load handling apparatus according to claim 34 or claim 35, wherein the slip control manager is further arranged to:
Upon determining a slip event, increasing a torque demand applied on a wheel that is on a different virtual axis than the wheel that is determining slip.
37. The load handling apparatus of claim 36, wherein the increased torque demand on the wheels on different virtual axes is proportional to the torque demand removed from the slipping-determining wheels.
CN202280070176.7A 2021-08-20 2022-08-19 Determining kinematic states of load handling devices in a storage system Pending CN118055894A (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
GB2112007.6 2021-08-20
GBGB2201029.2A GB202201029D0 (en) 2021-08-20 2022-01-27 Determining a kinematic state of a load handling device in a storage system
GB2201029.2 2022-01-27
PCT/GR2022/000043 WO2023021307A1 (en) 2021-08-20 2022-08-19 Determining a kinematic state of a load handling device in a storage system

Publications (1)

Publication Number Publication Date
CN118055894A true CN118055894A (en) 2024-05-17

Family

ID=91047034

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280070176.7A Pending CN118055894A (en) 2021-08-20 2022-08-19 Determining kinematic states of load handling devices in a storage system

Country Status (1)

Country Link
CN (1) CN118055894A (en)

Similar Documents

Publication Publication Date Title
AU2021405508B2 (en) Motion control of a robotic load handling device
US20180319286A1 (en) Charging system for an autonomous mobile unit
Ngo et al. Using fuzzy logic scheme for automated guided vehicle to track following path under various load
CN118055894A (en) Determining kinematic states of load handling devices in a storage system
AU2022330377A1 (en) Determining a kinematic state of a load handling device in a storage system
CN116888550A (en) Motion control of robotic load handling device
GB2623532A (en) Method and system for detecting track defects
Rantanen A differentially steered drive unit for autonomous stage wagon

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination