Controlling movements of a robot running on tracks
11225377 · 2022-01-18
Assignee
Inventors
Cpc classification
B65G1/0492
PERFORMING OPERATIONS; TRANSPORTING
G05D1/0272
PHYSICS
International classification
Abstract
A method and a controller for controlling movements of a robot from a start to a stop position, where the robot has pairs of wheels having drivers that are controlled by local controllers. Based on a current speed and an angular position of each wheel and a position of the robot relative to the frame structure, a master controller sets up individual speed driving sequences for the pair of wheels based on the current speed and angular position of each wheel, current global position of the robot, and the start and stop positions of the robot. The speed driving sequence is transmitted to the local controllers controlling the pair of wheels, thereby controlling acceleration and deceleration of each wheel via the individual drivers. The local controllers ensure that pairs of wheels are kept synchronised.
Claims
1. A method for controlling movements of a robot from a start to a stop position, and preventing movements of the robot in an offlead angle while moving on tracks laid out on a frame structure forming a grid, wherein the robot comprises pairs of wheels, is controlled by local controllers and is connected to individual drivers for each wheel, the method comprising: a) monitoring each wheel with speed and angular position sensors connected to the local controllers controlling each said pair of wheels, and wherein the following steps are being performed in a master controller communicating with each of the local controllers: b) receiving the start and stop positions of the robot; c) receiving current speed and angular position of each wheel of said pairs of wheels, from the local controllers; d) receiving a position of the robot relative to the frame structure; wherein e) setting up a plurality of speed driving sequences comprising speed data defining acceleration, constant speed and deceleration for each pair of wheels, along a same axis normal to a driving direction, based on the current speed and the angular position of each wheel, the received position of the robot and the start and stop position of the robot; f) transmitting the plurality of speed driving sequences to each of the local controllers for controlling accelerating and decelerating of each pair of wheels, and wherein each local controller adjusts the speed of one wheel of the pair of wheels, if the current speed of the one wheel is deviating from a set speed of the pair of wheels, set by the plurality of speed driving sequences, thereby synchronising the pairs of wheels, g) repeating the steps c) to f) above for controlling the movements of the robot from the start to the stop position.
2. The method according to claim 1, wherein the position of the robot is a global x,y position of the robot provided by an external tracking of the robot relative to the tracks.
3. The method according to claim 1, wherein the position of the robot is an absolute local position of the robot relative to the tracks, wherein the local position is provided by track sensors disposed in the robot.
4. The method according to claim 1, wherein the plurality of speed driving sequences define an acceleration for moving the robot from the start position, a deceleration for moving the robot towards the stop position, and a constant speed for moving the robot between the start and stop positions.
5. The method according to claim 1, wherein the speed driving sequences are transmitted at a predetermined rate.
6. The method according to claim 1, wherein the speed driving sequences comprise different start and stop positions according to a route the robot is to follow.
7. A system for controlling movements of a robot from a start to a stop position, and preventing movements of the robot in an offlead angle while 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 drivers for each wheel, wherein the system comprises: a master controller connected to the local controllers that control each said pair of wheels, wherein the local controllers are configured to provide speed and angular position of each wheel to the master controller by means of speed and angular sensors connected to the local controllers, wherein the master controller is configured to receive the start and stop positions of the robot and current speed and angular position of each wheel of said pairs of wheels, provided by the local controllers; the master controller is configured to receive the position of the robot relative to the frame structure; the master controller comprises a calculator that sets up a plurality of speed driving sequences comprising speed data defining acceleration, constant speed and deceleration for each pair of wheels, along a same axis normal to a driving direction, based on the current speed and angular position of each wheel, the received position of the robot and the start and stop positions of the robot; and the master controller is configured to transmit the plurality of speed driving sequences to each of the local controllers for controlling accelerating and decelerating of each pair of wheels, and wherein each local controller is adapted for adjusting the speed of one wheel of the pair of wheels, if the current speed of the one wheel is deviating from a set speed of the pair of wheels, set by the plurality of speed driving sequences, thereby synchronising the pairs of wheels.
8. The system according to claim 7, wherein the master controller is connected to track sensors disposed in the robot.
9. The system according to claim 7, wherein the master controller is embodied in the robot.
10. A non-transitory computer-readable medium storing a software program product that when executed by a processor performs a method comprising: monitoring each wheel with speed and angular position sensors connected to the local controllers controlling each said pair of wheels, and wherein the following steps are being performed in a master controller communicating with each of the local controllers: receiving the start and stop positions of the robot; receiving current speed and angular position of each wheel of said pairs of wheels, from the local controllers; receiving a position of the robot relative to the frame structure; wherein setting up a plurality of speed driving sequences comprising speed data defining acceleration, constant speed and deceleration for each pair of wheels, along a same axis normal to a driving direction, based on the current speed and the angular position of each wheel, the received position of the robot and the start and stop position of the robot; transmitting the plurality of speed driving sequences to each of the local controllers for controlling accelerating and decelerating of each pair of wheels, and wherein each local controller adjusts the speed of one wheel of the pair of wheels, if the current speed of the one wheel is deviating from a set speed of the pair of wheels, set by the plurality of speed driving sequences, thereby synchronising the pairs of wheels, repeating the steps c) to f) above for controlling the movements of the robot from the start to the stop position.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) One or more embodiments of the invention will now be described with reference to the figures, where:
(2)
(3)
(4)
(5) One or more embodiments of 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 while avoiding movements in an offlead angle.
(6)
(7)
(8) 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 drivers 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 50.
(9) 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 drivers which are connected to each wheel 60. The robot 50 is further provided with wireless communication for receiving and transmitting signals.
(10)
(11) 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 master controller may be 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.
(12) The first step is receiving a start and a stop position for the robot 50.
(13) The start and stop positions will depend on the route set up for a robot 50 prior to 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.
(14) 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 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 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.
(15) 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 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.
(16) In addition to the start position, the master controller must also receive information of a stop location for controlling movements of the robot 50.
(17) If a robot 50 is to move only in one direction according to a route for performing a 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 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 times the will be three start and stop positions, i.e. a first, second and third leg of a route.
(18) 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 V.sub.1, V.sub.2, V.sub.3, V.sub.4 and angular position pos.sub.1, pos.sub.2, pos.sub.3, pos.sub.4 of each wheel of the robot 50. This information is provided by means of speed and angular position sensors measuring these parameters on each wheel.
(19) Current speed and angular position for each wheel are input to local controllers, Controller.sub.1-2, Controller.sub.3-4 which each are controlling synchronisation of pairs of wheels W.sub.1 and W.sub.2, W.sub.3 and W.sub.4.
(20) 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.
(21) 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.
(22) In one or more other embodiments of the invention, the robot 50 further comprises track sensors for detecting and absolute position relative to the track it is currently driving on.
(23) Combining absolute position of the robot 50 with the global position will improve the accuracy of the determined position.
(24) When the master controller has received information of the start and stop positions, current speed and angular position of each wheel, W.sub.1, W.sub.2, W.sub.3 and W.sub.4, as well as the current position of the robot 50, the master controller will use this information for setting up individual speed driving sequences, V.sub.seq1-2, V.sub.seq3-4, for each pair of wheels, W.sub.1-2 and W.sub.3-4.
(25) Each speed driving sequence, V.sub.seq1-2, V.sub.seq3-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.
(26) These speed driving sequences V.sub.seq1-2, V.sub.seq3-4 are transmitted to each of the local controllers Controller.sub.1-2, Controller.sub.3-4 which in turn control the drive for each wheel Drive.sub.1, Drive.sub.2, Drive.sub.3, Drive.sub.4.
(27) 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, Controller.sub.1-2, Controller.sub.3-4, for each pair of wheels will use the speed driving sequences V.sub.seq1-2, V.sub.seq3-4 for controlling the individual drivers, Drive.sub.1, Drive.sub.1, Drive.sub.3, Drive.sub.4 for a wheel.
(28) When the robot 50 is moving along its route, data defining the speed driving sequences will continuously be updated according to acceleration, constant speed 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.
(29) 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.
(30) In one or more embodiments 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 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.
(31) 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.
(32) 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 synchronised to the speed set by the speed driving sequence.
(33) 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.
(34) One or more embodiments of the present invention are 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.
(35) One or more embodiments of the invention are 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 master controller for the movements of the robot 50.
(36) The master controller is connected to local controllers, Controller.sub.1-2, Controller.sub.3-4, controlling pair of wheels, W.sub.1-2 and W.sub.3-4. The local controllers, Controller.sub.1-2, Controller.sub.3-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 controllers.
(37) 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, Controller.sub.1-2, Controller.sub.3-4. It further comprises input means for receiving the position of the robot 50 relative to the frame structure.
(38) The master controller further comprises calculation means for setting up speed driving sequences, V.sub.seq1-2, V.sub.seq3-4, for each pair of wheels 60, W.sub.1-2 and W.sub.3-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.
(39) The master controller further comprises output means for transmitting the speed driving sequences, V.sub.seq1-2, V.sub.seq3-4, to each of the local controllers, Controller.sub.1-2, Controller.sub.3-4 thereby controlling accelerating and decelerating of each pair of wheels 60, W.sub.1-2 and W.sub.3-4. Speed data is thus controlled by the master controller and may be updated each 5 ms.
(40) The master controller is in one embodiment housed inside the robot 50. It is then connected to the local controllers Controller.sub.1-2, Controller.sub.3-4, controlling pairs of wheels, W.sub.1-2 and W.sub.3-4, and reading speed and angular position data from each wheel.
(41) 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 providing a global position of the robot 50 is also feasible.
(42) 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.
(43) One or more embodiments of 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 movements of the robot 50 in an offlead angle due to skewed load, slipping or friction issues.
(44) Although the disclosure has been described with respect to only a limited number of embodiments, those skilled in the art, having benefit of this disclosure, will appreciate that various other embodiments may be devised without departing from the scope of the present invention. Accordingly, the scope of the invention should be limited only by the attached claims