Controlling movements of a robot running on tracks
Patent Information
- Authority / Receiving Office
- CA · CA
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2017-10-24
- Publication Date
- 2026-08-04
Abstract
Description
CA 03039839 2019-04-09 WO 2018 / 082971 PCT / EP2017 / 077171 CONTROLLING MOVEMENTS OF A ROBOT RUNNING ON TRACKS Introduction The present invention relates to a remotely operated robot moving on tracks laid out 5 on a frame structure, and more specifically to a method and controller for controlling each wheel and synchronising pairs of wheels of the robot for moving it smoothly from a start to a stop position relative the frame structure. Background 10 A remotely operated vehicle or robot for picking up storage bins from a storage system is known. A detailed description of a relevant prior art storage system is presented in EP1037828B l , and details of a prior art vehicle being suitable for such a storage system is disclosed in detail in Norwegian patent NO317366B 1 and WO2015193278 Al . Such prior art storage systems comprise a three-dimensional 15 storage grid containing storage bins that are stacked on top of each other up to a certain height. The storage grid is normally constructed as aluminium columns interconnected by top rails or tracks, onto which a plurality of remotely operated vehicles, or robots, are arranged to move laterally. Each vehicle is equipped with motors for moving the vehicle from one position to another and for driving a lift 20 device adapted for picking up, carrying, and placing bins that are stored in the storage grid. A power supply is supplying power to the motors and drivers comprised in the vehicle, e.g. a rechargeable battery. The vehicle typically communicates with a control system via a wireless link and can be recharged at a charging station when needed. 25 Rotation of the wheels may be driven by belts connected to the wheels or by individual driving means situated at or at least partly within the wheels. The last example will provide a responsive robot with high control of acceleration and deceleration between a start and a stop position. When the wheels of a robot moving on straight tracks are controlled and operated 30 individually, they must be controlled as if they where one entity for moving the robot in a steady movement without being driving the robot in an off-lead angle. Ideally similar sized wheels will rotate at the same speed when a robot is moving. When each wheel is driven separately, there are however several factors that may contribute to different rotation speeds for the wheels. Such factors may be spinning, 35 gliding and loading the wheels differently. If this occurs, the movements of the robot will not be smooth and it may be driven in an off-lead angel. It is thus an object of the present invention to provide a method and device for optimal control of the movements of a robot for moving it smoothly from a start to a CA 03039839 2019-04-09 WO 2018 / 082971 PCT / EP2017 / 077171 2 stop position on tracks irrespective of any disturbances that may occur for the wheels when rolling on the tracks. This is achieved by setting up speed driving sequences for controllers controlling each wheel of the robot and where the controller is synchronising pairs of wheels according to the speed driving sequence 5 for moving the robot smoothly from a start to a stop position. Short description of the invention The invention is defined by a method for controlling movements of a robot from a start to a stop position, where the robot is moving on tracks laid out on a frame 10 structure forming a grid, the robot having pairs of wheels being controlled by local controllers connected to individual drive means for each wheel. The method is characterized in monitoring each wheel with speed and angular position sensors connected to the local controllers controlling pairs of wheels, and where the following steps are being performed in a master controller 15 communicating with each of the local controllers: 20 25 receiving a start and stop position of the robot; receiving current speed and angular position of each wheel from the local controllers; receiving a global position of the robot relative to the frame structure; setting up individual speed driving sequences for each pair of wheels based on current speed and angular position of each wheel, current global position of the robot and the start and stop position of the robot; transmitting the speed driving sequence to each of the local controllers for controlling accelerating and decelerating of each pair of wheels, and repeating the steps above for controlling the movements of the robot from a start to a stop position. Further features of the method are defined in the dependent claims. The invention is further defined by a master controller for controlling movements of 30 a robot from a start to a stop position, where the robot is moving on tracks laid out on a frame structure forming a grid, the robot having pairs of wheels being controlled by local controllers connected to individual drive means for each wheel. The master controller is connected to the local controllers controlling each pair of wheels, where the local controllers are providing speed and angular position of each 35 wheel to the master controller by means of speed and angular sensors connected to the local controllers, and where the master controller comprises: 5 10 CA 03039839 2019-04-09 WO 2018 / 082971 PCT / EP2017 / 077171 3 input means for receiving a start and stop position of the robot and current speed and angular position of each wheel provided by the local controllers; input means for receiving a global position of the robot relative to the frame structure; calculation means for setting up individual speed driving sequences for each pair of wheels based on current speed and angular position of each wheel, current global position of the robot and the start and stop position of the robot; output means for transmitting the speed driving sequence to each of the local controllers controlling accelerating and decelerating of each pair of wheels. Further features of the master controller are defined in the dependent claims. Detailed description of the invention The invention will now be described with reference to the figures, where: 15 Figure 1 shows a section of a storage system where several robots are arranged directly above respective storage columns; Figure 2 shows an example of a remotely operated robot with a set of individually driven wheels, and Figure 3 shows an overview of the master controller and local controllers for 20 controlling pairs of wheels of a robot. The invention is defined by a method and controller for controlling each wheel and synchronising pairs of wheel of the robot for moving it smoothly from a start to a stop position. Controlled smooth movements of a robot is especially important when the robot is moving on tracks for moving it efficiently from one point to another 25 while avoiding movements in an offlead angle. Figure 1 and 2 illustrate robots moving on track on top of a storage system. Figure 1 shows a section of a storage system 10 where several remotely operated robots 50 are arranged directly above respective storage columns 30 made by frame structure making a bin storage grid 40. The upper part of the bin storage grid 40 is 30 provided with dedicated supporting tracks 20 for the robots 50 to run on. The robots 50 are configured to move in x and y directions on the tracks 20, and to receive a storage bin from a storage column 30 within the bin storing grid 40. Figure 2 shows an example of a remotely operated robot 50. The robot 50 is adapted for picking up storage bins from an underlying storage system 10. The body of the 35 robot 50 comprises a cavity for receiving a storage bin. In this example, the cavity CA 03039839 2019-04-09 WO 2018 / 082971 PCT / EP2017 / 077171 4 is arranged centrally within the robot 50 and is surrounded by the body of the robot 50. The body of the robot 50 further comprises a lifting device for lifting and lowering a storage bin. The invention is however applicable to any type of robot with wheels. 5 The robot 50 further comprises wheels 60 allowing movement of the robot 50 along first and second directions x, y on the underlying storage system 10. The wheels 60 are connected to drive means situated at or at least partly within the wheels 60 for providing driving force to the robot 50. This configuration will occupy minimum space within the robot 50, thereby freeing space for other installations in the robot 10 50. The robot 50 further comprises control means configured to control the movements of the robot 50. The control means for each wheel 60 are connected to the drive means which are connected to each wheel 60. The robot 50 is further provided with wireless communication for receiving and transmitting signals. 15 Figure 3 shows an overview of a master controller according to the invention. The master controller being adapted for controlling movements of a robot 50 from a start to a stop position, where the robot 50 is moving on tracks laid out on a frame structure forming a grid, the robot 50 having pairs of wheels, W1 and W2, WJ and W4, being controlled by local controllers, Controllen-2, Controllen-4, and individual 20 drive means, Drive1, Drive2, DriveJ, Drive4, as illustrated in the figure. Each individual drive means controls speed and force to be applied to the connected wheel. The inventive method for controlling each wheel and synchronising pairs of wheel of a robot 50 comprising several steps performed by the master controller. The 25 master controller is preferably housed inside the robot 50, but it may also be located externally to this. This does however require more wireless communication between the individual local control means housed in the robot 50 and the master controller. The first step is receiving a start and a stop position for the robot 50. The start and stop positions will depend on the route set up for a robot 50 prior to 30 picking up a box from a storage column 30 and placing it in another storage column 30. A route for a specific robot 50 will be set up by a supervisory system having control of all storage bins and their content. The start position of a robot 50 will be the position where it is standing still. The robot 50 will keep track of this position at all time. This position can be acquired in 35 different ways. One way is to track the x, y position of the robot 50 relative to the tracks on top of the frame structure. This will be the global position of the robot 50. This position can be acquired by means of tracking devices located externally to the CA 03039839 2019-04-09 WO 2018 / 082971 PCT / EP2017 / 077171 5 robot 50 or by devices integrated in the robot 50. A combination of external and integrated tracking devices will increase the accuracy of position determination. By using integrated tracking devices, the robot 50 will be able to keep track of its position when moving on the tracks, which are laid out as a grid on top of the frame 5 structure, by detecting the number of crossings passed in x- and y-directions from a known start position, i.e. like moving between cell in a spreadsheet. In addition to the start position, the master controller must also receive information of a stop location for controlling movements of the robot 50. If a robot 50 is to move only in one direction according to a route for performing a 10 complete operation, for picking up a storage bin from one storage column and lowering it in another storage column, there will only be one start and stop position for the complete operation. It is however more likely that a robot 50 move in different x- and y- directions, according to a route, for reaching a final destination. This may be the case if the complete route is running along different directions or 15 due to other robots blocking the shortest route from a start to a stop position. In this case the first start position will be the position where the robot 50 is picking up or lowering a storage bin. The first stop position will then be the position of a route where the robot 50 must change direction for following the route. This stop position will then be the next start position etc. If the robot 50 has to change direction three 20 times the will be three start and stop positions, i.e. a first, second and third leg of a route. After start and stop positions of a first leg of a route of the robot 50 have been established, the next step is letting the master controller receive current speed VJ, V2, VJ, V4 and angular position pas 1, pos2, posJ, pos4 of each wheel of the robot 50. 25 This information is provided by means of speed and angular position sensors measuring these parameters on each wheel. Current speed and angular position for each wheel are input to local controllers, Controller1-2, Controllen-4 which each are controlling synchronisation of pairs of wheels W1 and W2, WJ and W4. 30 When the robot 50 is moving along a route, the position of the robot 50 relative to the frame structure is tracked continuously and provided to the master controller. In one embodiment, the position of the robot 50 is a global x, y position provided by an external tracking device tracking the robot 50 relative to the tracks. In another embodiment of the invention, the robot 50 further comprises track 35 sensors for detecting and absolute position relative to the track it is currently driving on. Combining absolute position of the robot 50 with the global position will improve the accuracy of the determined position. CA 03039839 2019-04-09 WO 2018 / 082971 PCT / EP2017 / 077171 6 When the master controller has received information of the start and stop positions, current speed and angular position of each wheel, W1, W2, WJ and W4, as well as the current position of the robot 50, the master controller will use this information for setting up individual speed driving sequences, Vseql-2, VseqJ-4, for each pair of 5 wheels, W1-2 and WJ-4. Each speed driving sequence, Vseql-2, VseqJ-4, is established based on speed and angular position data for each wheel in view of the set start and stop position and the current position of the robot 50. These speed driving sequences Vseql-2, VseqJ-4 are transmitted to each of the local 10 controllers Controller1-2, Controllen-4 which in turn control the drive for each wheel Drive1, Drive2, DriveJ, Drive4, Each driving sequence will define a series of speed data defining acceleration, constant speed and deceleration for each pair of wheels during the movement from a start to a stop position. The local controllers, Controller1-2, Controllen-4, for each 15 pair of wheels will use the speed driving sequences Vseql-2, Vseq3-4 for controlling the individual drive means, Drive1, Drive2, DriveJ, Drive4 for a wheel. When the robot 50 is moving along its route, data defining the speed driving sequences will continuously be updated according to acceleration, constant speed 20 and deceleration of the robot 50. This means that the driving sequences defining the speed for pairs of wheels may change along the route. The update rate of speed driving sequences can be set and transmitted at a predetermined rate. It may also change along the route of the robot 50 when it is moving from a start to a stop position. 25 The different steps defined above will be repeated until the robot 50 has reached its destination, or when it is to change direction, i.e. the steps are repeated between a start and stop position for the robot 50. In one embodiment of the invention, the local controller controlling pairs of wheels will control the drive of a wheel to adjust the speed of a wheel 60 if current speed of 30 the one wheel 50 is deviating from the set speed of the pair of wheels set by the speed driving sequence. This means that pairs of wheels along the same axis normally to the driving direction always will be synchronised to the speed set by the speed driving sequence irrespectively of possible factors slowing down the speed of a wheel, e.g. spinning, gliding, obstacles etc. 35 The local controllers are thus keeping pairs of wheels synchronised according to a set speed driving sequence. This will provide precise control of movements of a robot 50 even if the speed of one or several wheels for some reason are deviating form the speed set by the speed driving sequence. CA 03039839 2019-04-09 WO 2018 / 082971 PCT / EP2017 / 077171 7 The synchronisation can be performed at a fast rate for ensuring that pairs of wheels are totally synchronised. Typically, the speed and angular position of each wheel is measured 60 000 times each second, and corresponding continuous calculations are performed for controlling the drive of each wheel for keeping pairs of wheels 5 synchronised to the speed set by the speed driving sequence. The method described above provides optimal control of the movements of a robot 50 for moving it smoothly without an offlead angle from a start to a stop position irrespective of any disturbances that may occur for the wheels when rolling on the tracks. 10 The present invention is also defined by a software program product that when executed by a possessor performs the method described above. The processor is part of or connected to the master controller. The invention is also defined by a controller for controlling movements of the robot 50 described above when moving from a start to a stop position. This will act as a 15 master controller for the movements of the robot 50. The master controller is connected to local controllers, Controller1-2, Controllen-4, controlling pair of wheels, W1-2 and WJ-4. The local controllers, Controller1-2, Controllen-4, are providing speed and angular position data of each wheel 60 to the master controller by means of speed and angular sensors connected to the local 20 controllers. The master controller comprises input means for receiving a start and stop position of the robot 50 as well as current speed and angular position of each wheel 60 which is provided by the local controllers, Controller1-2, Controllen-4. It further comprises input means for receiving the position of the robot 50 relative to the 25 frame structure. The master controller further comprises calculation means for setting up speed driving sequences, Vseql-2, VseqJ-4, for each pair of wheels 60, W1-2 and WJ-4, based on current speed and angular position of each wheel 60, current position of the robot 50 and the start and stop position of the robot 50. 30 The master controller further comprises output means for transmitting the speed driving sequences, Vseql-2, VseqJ-4, to each of the local controllers, Controller1-2, Controllen-4 thereby controlling accelerating and decelerating of each pair of wheels 60, W1-2 and WJ-4. Speed data is thus controlled by the master controller and is preferably updated each 5ms. 35 The master controller is in one embodiment housed inside the robot 50. It is then connected to the local controllers Controller1-2, Controllen-4, controlling pairs of wheels, W1-2 and WJ-4, and reading speed and angular position data from each wheel. CA 03039839 2019-04-09 WO 2018 / 082971 PCT / EP2017 / 077171 8 The master controller may in one embodiment be connected to a device providing a global position relative to the frame structure. In another embodiment, this information may be provided by external means transmitting position data of the robot 50 to the master controller. A combination of onboard and external means for 5 providing a global position of the robot 50 is also feasible. The accuracy for determining the position of the robot 50 can be improved by providing local position data provided by track sensors comprised in the robot 50. The present invention will provide controlled and smooth movements of a robot 50 that is moving. The robot will always move evenly along the tracks, i.e. prevent 10 movements of the robot 50 in an offlead angle due to skewed load, slipping or friction problems.
Claims
9 CLAIMS 1. A method for controlling movements of a robot (50) from a start to a stop position, and preventing movements of the robot (50) in an offlead angle while moving on tracks (20) laid out on a frame structure forming a grid (40), the robot (50) having pairs of wheels, W1-2 and W3-5 4, being controlled by local controllers, Controller1-2, Controller3-4, connected to individual drive means, Drive1, Drive2, Drive3, Drive4, for each wheel (60), comprising: a) monitoring each wheel (60) with speed and angular position sensors connected to the local controllers, Controller1-2, Controller3-4, controlling 10 each said pair of wheels, W1-2 and W3-4, and where the following steps are being performed in a master controller communicating with each of the local controllers, Controller1-2, Controller3-4: - b) receiving a start and stop position of the robot (50); - c) receiving current speed and angular position of each wheel (60) of 15 said pairs of wheels, from the local controllers, Controller1-2, Controller3-4; - d) receiving a position of the robot (50) relative to the frame structure; c h a r a c t e r i z e d i n 20 - e) setting up speed driving sequences, Vseq1-2, Vseq3-4, comprising speed data defining acceleration, constant speed and deceleration for each pair of wheels, W1-2 and W3-4, along the same axis normal to the driving direction, based on the current speed and the angular position of each wheel (60), the received position of the robot (50) and the 25 start and stop position of the robot (50); - f) transmitting the speed driving sequences, Vseq1-2, Vseq3-4, to each of the local controllers, Controller1-2, Controller3-4, for controlling accelerating and decelerating of each pair of wheels, W1-2 and W3-4, and where each local controller, Controller1-2, Controller3-4, adjusts 30 the speed of one wheel (60) of the pair of wheels, W1-2 and W3-4, if the current speed of the one wheel (60) is deviating from the set speed of the pair of wheels, W1-2 and W3-4, set by the speed driving sequences, Vseq1-2, Vseq3-4, thereby synchronising the pairs of wheels, W1-2 and W3-4, 35 - g) repeating the steps c) to f) above for controlling the movements of the robot (50) from the start to the stop position. CA 3039839 Date reçue / Received date 2024-10-15 10 2. The method according to claim 1, where the position of the robot (50) is a global x,y position of the robot (50) provided by an external tracking of the robot (50) relative to tracks.
3. The method according to claim 1, where the position of the 5 robot (50) is an absolute local position of the robot (50) relative to the tracks, where the local position is provided by track sensors comprised in the robot (50).
4. The method according to claim 1, where the speed driving sequences, Vseq1-2, 10 Vseq3-4, define an acceleration for moving the robot (50) from the start position, a deceleration for moving the robot (50) towards the stop position, and a constant speed for moving the robot (50) between the start and stop positions. 15 5. The method according to any one of claims 1 to 4, where the speed driving sequences are transmitted at a predetermined rate.
6. The method according to any one of claims 1 to 5, where the speed driving sequences comprises different start and stop positions according to a route 20 the robot (50) is to follow.
7. A master controller for controlling movements of a robot (50) from a start to a stop position, and preventing movements of the robot (50) in an offlead angle while moving on tracks (20) laid out on a frame structure forming a 25 grid (40), the robot (50) having pairs of wheels, W1-2 and W3-4, being controlled by local controllers, Controller1-2, Controller3-4, connected to individual drive means, Drive1, Drive2, Drive3, Drive4, for each wheel (60), where: that the master controller is connected to the local controllers, Controller1-2, 30 Controller3-4, controlling each said pair of wheels, W1-2 and W3-4, where the local controllers, Controller1-2, Controller3-4, are providing speed and angular position of each wheel (60) to the master controller by means of speed and angular sensors connected to the local controllers, Controller1-2, Controller3-4, and where the master controller comprises: 35 - input means for receiving a start and stop position of the robot (50) and current speed and angular position of each wheel (60) of said pairs of wheels, provided by the local controllers, Controller1-2, Controller3-4; CA 3039839 Date reçue / Received date 2024-10-15 11 - input means for receiving the position of the robot 50 relative to the frame structure; c h a r a c t e r i z e d i n further comprising: - calculation means for setting up speed driving sequences, Vseq1-2, Vseq3-4, comprising speed data defining acceleration, 5 constant speed and deceleration for each pair of wheels, W1-2 and W3-4, along the same axis normal to the driving direction, based on the current speed and angular position of each wheel (60), the received position of the robot (50) and the start and stop position of the robot (50); 10 - output means for transmitting the speed driving sequences, Vseq1-2, Vseq3-4, to each of the local controllers, Controller1-2, Controller3-4, for controlling accelerating and decelerating of each pair of wheels, W1-2 and W3-4 , and where each local controller, Controller1-2, Controller3-4, is adapted for adjusting the speed of one wheel (60) of 15 the pair of wheels, W1-2 and W3-4, if the current speed of the one wheel (60) is deviating from set speed of the pair of wheels, W1-2 and W3-4, set by the speed driving sequences, Vseq1-2, Vseq3-4, thereby synchronising the pairs of wheels, W1-2 and W3-4. 20 8. The controller according to claim 7, c h a r a c t e r i z e d i n that it is connected to track sensors comprised in the robot (50).
9. The controller according to claim 7 or 8, c h a r a c t e r i z e d i n that it is embodied in the robot (50). 25 10. A computer readable medium embodying a computer program which, when executed by one or more processors, causes the one or more processors to perform the method according to any one of claims 1 to 6.
11. A method for controlling movement of a robot on a plurality of tracks laid out on a frame structure forming a grid, the method comprising: receiving a current speed and an angular position for one wheel in a pair of wheels of the robot; receiving a current position of the robot relative to at least a portion of the frame structure; calculating a driving sequence for the pair of wheels, based on position information of the robot, wherein the driving sequence defines an acceleration, a deceleration, and a set speed for moving the robot from the current position to a stop position; and CA 3039839 Date reçue / Received date 2024-10-15 12 adjusting movement of the one wheel when the current speed detected for the one wheel deviates from the set speed defined by the driving sequence, such that movements of the pair of wheels are synchronized.
12. The method according to claim 11, wherein the driving sequence for the pair of wheels is based on the stop position of the robot, the current position of the robot, and the current speed and the angular position of the one wheel.
13. The method according to claim 12, wherein the driving sequence for the pair of wheels is further based on a start position of the robot.
14. The method according to any one of claims 11 to 13, wherein the current position of the robot is represented by a (x, y) position relative to the frame structure, provided by an external tracking device.
15. The method according to any one of claims 11 to 14, wherein the current position of the robot is a local position of the robot relative to a track on which the robot is moving, provided by a tracking device disposed in the robot.
16. The method according to any one of claims 11 to 15, wherein the calculating step is performed repeatedly at a predetermined rate.
17. The method according to any one of claims 11 to 16, further comprising calculating a plurality of driving sequences corresponding to a plurality of pairs of wheels.
18. The method according to any one of claims 11 to 17, wherein the driving sequence is calculated based on a plurality of start positions and a plurality of stop positions according to a route the robot is to follow.
19. The method according to any one of claims 11 to 18, wherein the pair of wheels are along a same axis normal to a driving direction of the robot.
20. A system for controlling movement of a robot having a pair of wheels on tracks laid out on a frame structure forming a grid, wherein the system comprises: a master controller configured to: receive a current speed and an angular position for one wheel in the pair of wheels, receive a current position of the robot relative to at least a portion of the frame structure, and CA 3039839 Date reçue / Received date 2024-10-15 13 calculate a driving sequence for the pair of wheels, based on position information of the robot, wherein the driving sequence defines an acceleration, a deceleration, and a set speed for moving the robot from the current position to a stop position; and a local controller configured to adjust movement of the one wheel when the current speed detected for the one wheel deviates from the set speed defined by the driving sequence, such that movements of the pair of wheels are synchronized.
21. A computer readable medium embodying a computer program which, when executed by one or more processors, causes the one or more processors to perform the method according to any one of claims 11 to 19. CA 3039839 Date reçue / Received date 2024-10-15