Computer implemented method for determining a velocity of an autonomous mobile robot
The method cross-checks velocity components from multiple drive units to ensure safe and reliable operation of omnidirectional AMRs, addressing cost and safety concerns by validating sensor alignment.
Patent Information
- Application Number
- PCT/EP2024/051477
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-01-23
- Publication Date
- 2025-07-31
AI Technical Summary
Omnidirectional autonomous mobile robots (AMRs) face a challenge in balancing cost competitiveness with high safety requirements, necessitating a reliable method to determine safe velocities to prevent collisions.
A computer-implemented method using two redundant channels to cross-check velocity components from different drive units of the AMR, including longitudinal, lateral, and rotational components, ensuring accurate alignment of safety laser scanners.
Enhances safety and reliability by validating velocity measurements from multiple channels, preventing collisions by ensuring correct alignment of safety sensors, thereby increasing operational safety.
Smart Images

Figure EP2024051477_31072025_PF_FP_ABST
Abstract
Description
[0001] TITLE Computer implemented method for determining a velocity of an autonomous mobile robot
[0002] FIELD OF THE INVENTION
[0003] The present invention relates to a computer implemented method for determining a velocity of an autonomous mobile robot (AMR), to a use of an AMR in such a method, to a data processing device, to a computer program and to a computer readable medium.
[0004] BACKGROUND OF THE INVENTION
[0005] Omni directional autonomous mobile robots (AMR) are widely used for carrying loads in warehouses or plants. AM Rs are well known in the state-of-the-art. The market for AM Rs is very competitive in terms of costs. However, there exist high safety requirements in order to operate such an AMR. These two opposing requirements lead to a challenge in operating an AMR.
[0006] It has now become apparent that there is a further need to provide a possibility for determining a velocity of an omnidirectional autonomous mobile robot.
[0007] SUMMARY OF THE INVENTION
[0008] In view of the above, it is an object of the present invention to provide a method for determining a velocity of an autonomous mobile robot, in particular it is an object of the present invention to provide an improved method for determining a safe velocity of an autonomous mobile robot. These and other objectives, which become apparent upon reading the following description, are solved by the subject matter of the independent claims. The dependent claims refer to preferred embodiments of the invention.
[0009] In one aspect of the present disclosure, a computer implemented method for determining a velocity of an autonomous mobile robot (AMR) is provided, comprising: receiving first velocity data of a first drive unit of the AMR and second velocity data of a second drive unit of the AMR; receiving first steering data of the first drive unit and second steering data of the second drive unit; determining based on the first velocity data, the second velocity data, the first steering data and the second steering data the velocity of the AMR, cross checking the velocity based on the first velocity data, the second velocity data, the first steering data and the second steering data and determining a cross checking result; providing the determined velocity for further processing based on the cross-checking result.
[0010] The invention is based on the finding that omnidirectional AMRs exist in a very competitive market and cost is an important design driver. This means that there may be a desire to reduce actuation and sensing to a minimum on the vehicle. Nevertheless, safe information about the vehicle velocity is important to ensure that correct fields are set for the safety laser scanners. If this is not correct, then it is possible that the vehicle could collide with somebody, simply because it is looking in the wrong direction. The invention proposes to check necessary components of a velocity of the AMR from two different redundant channels, one using measurements from the first drive unit (e.g. front drive unit), and the other using measurements from a second drive unit (e.g. rear drive unit). By doing so, a Category 3 architecture as defined in ISO 13489 is set up. This enables an achievement of higher Performance levels in an easier way.
[0011] In an embodiment of the method, the cross checking may comprise cross checking a longitudinal component of the velocity.
[0012] The longitudinal component of the velocity Vxmay calculated as follows:
[0013] Herein V±relates to a velocity of the first drive unit. v1Lrelates to a velocity of a left wheel of the first drive unit. v1Rrelates to a velocity of a right wheel of the first drive unit. < / )1relates to a steering angle of the first drive unit. Herein V2relates to a velocity of the second drive unit. v2Lrelates to a velocity of a left wheel of the second drive unit. v2Rrelates to a velocity of a right wheel of the second drive unit. <p2relates to a steering angle of the second drive unit.
[0014] This may have the advantage of being a 2-channel approach.
[0015] In an embodiment of the method, the cross checking may comprise cross checking a rotational component of the velocity.
[0016] The rotational component of the velocity of the AMR may be a rate of rotation of the AMR. The rotational component of the velocity of the AMR may calculated as follows:
[0017] 6 AMR relates to the rate of rotation of the AMR about a vertical axis. v1Lrelates to a velocity of a left wheel of the first drive unit. v1Rrelates to a velocity of a right wheel of the first drive unit, d relates to a distance between the left wheel and the right wheel. v2Lrelates to a velocity of a left wheel of the second drive unit. v2Rrelates to a velocity of a right wheel of the second drive unit. 0Xrelates to a steering angle rate of the first drive unit. 02relates to a steering angle rate of the second drive unit. The steering angle rates can be measured by taking the derivative of a steering angle sensor. This may validate that the rotation rates of the drive units are consistent. The check of the rate of rotation may allow to check whether the rate of the steering angle of the first drive unit and the second drive unit are correct.
[0018] This may have has the advantage of being a 2-channel approach.
[0019] In an embodiment of the method, the cross checking may comprise cross checking a lateral component of the velocity, of the velocity.
[0020] The lateral component of the velocity of the AMR may be from any point of the AMR. The lateral component of the velocity of the middle between the two drive units Vymidmay be calculated as follows:
[0021] L relates to the distance between the first drive unit and the second drive unit, d relates to a distance between the left wheel and the right wheel. v1Rrelates to a velocity of a right wheel of the first drive unit, d relates to a distance between the left wheel and the right wheel. v2Lrelates to a velocity of a left wheel of the second drive unit. v2Rrelates to a velocity of a right wheel of the second drive unit. <p relates to a steering angle rate of the first drive unit, prelates to a steering angle rate of the second drive unit. < / )1relates to a steering angle of the first drive unit. <p2relates to a steering angle of the second drive unit. dAMRrelates to the rate of rotation of the AMR. Vyiis the lateral velocity of the first drive unit. Vyzis the lateral velocity of the second drive unit. The check of the lateral component of the velocity may allow to check whether the steering angles of the first drive unit and the second drive unit are correct. This may have the advantage of being a 2-channel approach.
[0022] In an embodiment of the method, the cross checking may comprise at least two velocity components, and in particular wherein the two velocity components comprise a longitudinal component of the velocity and a rotational component of the velocity.
[0023] The cross checking of at least two components may allow to address the following disadvantages in comparison to just only cross check a longitudinal component of the velocity:
[0024] • Because the cosine is an even function (cos(- ) = cos( )), the magnitude of the angle may be correct, but the sign could still be wrong.
[0025] • It does not provide a check on the lateral motion or rotational velocity of the vehicle.
[0026] • The cosine function is not very sensitive to errors around zero (straight ahead).
[0027] By cross checking beside the longitudinal component of the velocity, the rotational component of the velocity and / or the lateral component of the velocity, these disadvantages can be overcome.
[0028] In an embodiment of the method, the cross checking may be based on two redundant channels. This may be advantageous as it increases the reliability and safety of the method.
[0029] In an embodiment, the method may further comprise providing a stop signal based on the cross-checking result.
[0030] This may be advantageous as it increases the safety of the method. For example, in case the cross checking result is negative, the method provides a stop signal to the control of the first drive unit and the second drive unit, such the AMR immediately stops the movement. This is very important, as the safety laser scanner field is probably in such a case not correctly aligned such that the safety laser scanner looks in a wrong direction (i.e. different from the movement direction).
[0031] In an embodiment of the method, the cross checking may comprise a comparison of a first velocity determined from the first velocity data and the first steering data with a second velocity determined from the second velocity data and the second steering data.
[0032] The first velocity and the second velocity relate here for example to the longitudinal component of the velocity, the lateral component of the velocity, and / or the rotational component of the velocity of the AMR. The comparison may comprise a determination of a difference the first velocity and the second velocity and a comparison with a predefined threshold. In case, the difference below the predefined threshold, the cross checking result is positive; otherwise it is negative. The predefined threshold may depend on a resolution of the measurement devices.
[0033] In an embodiment of the method, wherein the first velocity data comprises at least a velocity of a first wheel or a position of a first wheel; a velocity of a second wheel or a position of a second wheel; and / or wherein the second velocity data comprises a least a velocity of a first wheel or a position of a first wheel; a velocity of a second wheel or a position of a second wheel; and / or wherein the first steering data comprises at least one of: steering angle, steering angle rate; and / or wherein the second steering data comprises at least one of: steering angle, steering angle rate.
[0034] It is pointed out that the velocity of a wheel can be determined by forming a derivative of a position of the wheel. The first velocity data and / or the second velocity data may comprise a derivative of the position of the first wheel and / or a derivative of the second wheel.
[0035] In an embodiment of the method, each of the first drive unit and the second drive unit may comprises two independently controllable wheels, and / or wherein each of the first drive unit and the second drive unit may be each pivotable around its respective centre axis; and / or wherein each of the first and the second drive unit may comprise a rotation measurement device for measuring a steering angle and / or a steering rate of the drive unit; and / or wherein each of the first and the second drive unit may comprise a second measuring device for measuring a rotation angle of a first wheel and / or a third measuring device for measuring a rotation angle of a second wheel.
[0036] In an embodiment of the method, the further processing may comprise setting a field size and an orientation for an electro sensitive protective device. The electro sensitive protective device may be a safety laser scanner configured to detect obstacles when the AMR moves.
[0037] A further aspect of the present disclosure relates to a use of an AMR in a method described above.
[0038] A further aspect of the present disclosure relates to a data processing device comprising means for carrying out the method described above. A further aspect of the present disclosure relates to a computer program comprising instructions which, when the program is executed by a computer, cause the computer to carry out the method described above.
[0039] A further aspect of the present disclosure relates to a computer-readable medium comprising instructions which, when executed by a computer, cause the computer to carry out the method described above.
[0040] DEFINITIONS
[0041] The term autonomous mobile robot (AMR), as used herein, is to be understood broadly and may relate to a programmable device configured to navigate in an environment without direct human intervention. The AMR may be an omni directional autonomous mobile robot configured to navigate in any direction in a horizontal plane. The AMR may be configured to move in a longitudinal direction and in a lateral direction. The AMR may be configured to rotate around its vertical centre axis. The AMR may comprise one or two instrumented independent drive units. The AMR may comprise a control unit configured to carry the method described discloses herein. The control unit may be configured to control the first drive unit and the second drive unit. The control unit may be configured to exchange data with the first drive unit and the second drive unit. The control unit may be a PLC. The AMR may comprise a safety laser scanner configured to scan a field and detect obstacles in the field. The control unit may be configured to exchange data with the safety laser scanner.
[0042] The term drive unit, as used herein, is to be understood broadly and may relate to a component configured to provide a longitudinal movement, a lateral movement and a rotational movement of the AMR. The drive unit may comprise a first controllable wheel and / or a second controllable wheel. The drive unit may be pivotably arranged in the AMR.
[0043] The term velocity data, as used herein, is to be understood broadly and may preferably relate to data configured to describe a translational velocity of a first a wheel of a drive unit and / or a translational velocity of a second wheel of a drive unit. The term steering data, as used herein, is to be understood broadly and may preferably relate to data configured to describe an orientation of a pivotable drive unit in an AMR and / or a rate of change of an orientation of a pivotable drive unit in an AMR:
[0044] The velocity of the AMR, as used herein, is to be understood broadly and may preferably relate to one or more velocity components of the AMR. The velocity of the AMR may preferably relate to a horizontal velocity of the AMR. The velocity of the AMR may preferably comprise a longitudinal component of the. The velocity of the AMR may preferably comprise a lateral component. The velocity of the AMR may comprise a magnitude and a direction. The velocity of the AMR may relate to any point of the AMR. The velocity of the AMR may preferably relate to a centre of the AMR. The velocity of the AMR may comprise a rotational component.
[0045] The term cross checking the velocity, as used herein, is to be understood broadly and may preferably relate to a calculation of a component, for example a lateral component of the velocity of the AMR first based on measurement data from the first drive unit and then based on measurement data from the second drive unit and a subsequent comparison of the respective calculation results. The cross checking may use two different redundant channels. The cross checking may comprise two independent calculations of the same quantity. The comparison may comprise a determining of a difference between the respective calculation results and a comparison of the determined difference with a threshold (i.e. a tolerance). The threshold may be variable or constant. The threshold may be predefined. The threshold may depend on one or more of the following: velocity of the AMR, resolution of a measurement device, noise on a measurement signal.
[0046] The term cross checking result, as used herein, is to be understood broadly and may comprise a positive result or a negative result. The positive result may indicate that the cross checking was successful and both measurement data were reliable as they lead to a similar velocity in between a tolerance. The negative result may indicate that the cross checking was not successful and one or both measurement data were not reliable as they lead to different velocities out of a tolerance.
[0047] The term further processing, as used herein, is to be understood broadly and may relate to any processing of the determined velocity. The term longitudinal component of the velocity of an AMR, as used herein, is to be understood broadly and may relate to a velocity relating to a movement in a forward direction (i.e. forward movement).
[0048] The term lateral component of the velocity of an AMR, used herein, is to be understood broadly and may relate to a velocity relating to a movement in a sideways direction (i.e. left or right).
[0049] The term rotational component of the velocity of an AMR, as used herein, is to be understood broadly and may relate to a velocity relating to a rotational movement about an AMR vertical axis.
[0050] The AMR may preferably comprise a coordinate system arranged in a centre of the AMR. The coordinate system may comprise two horizontal axis x and y and a vertical axis z. The longitudinal component of the velocity of the AMR may preferably relate to the x axis. The lateral component of the velocity of the AMR may preferably relate to the y axis. The rotational component of the velocity of the AMR may preferably relate to a rotation around the z axis.
[0051] The term channel, as used herein, is to be understood broadly and may preferably mean a measurement channel. The first redundant channel may relate to measurements from the first drive unit. The second redundant channel may relate to measurements from the second drive unit.
[0052] The term stop signal, as used herein, is to be understood broadly and may relate to a signal configured to stop the first drive unit and / or the second drive unit. The stop signal may be sent to a control of the first drive unit and / or the second drive unit. This stop signal may preferably be provided in case the cross checking result is negative.
[0053] The term first velocity and second velocity, as used herein, may relate to an identical velocity that is determined from two different redundant measurement channels. The first velocity and second velocity may be one of the following: longitudinal component of the velocity of the AMR, lateral component of the velocity of the AMR, rotational component of the velocity of the AMR. The first measuring device, as used herein, is to be understood broadly may relate to an encoder. The encoder may be an absolute encoder. The encoder may be a relative encoder.
[0054] The second measurement device and third measurement device, as used herein, are to be understood broadly and may relate to an encoder. The encoder may be an absolute encoder. The encoder may be a relative encoder. The encoder provides information of a rotation of a wheel of the drive unit. In combination with geometry information (e.g., diameter of the wheel) of the wheel a position or velocity of the wheel can be determined or calculated. The second measurement device and / or third measurement device may be a speed measurement device. It will be understood by a person skilled in the art that many rotational sensors working on a variety of different physical principles are equally suitable for this purpose. The speed measurement device may be a resolver, rotary variable differential transformer (RVDT), a potentiometer.
[0055] Units and / or devices according to one or more example embodiments may be implemented using hardware, software, and / or a combination thereof. For example, hardware devices may be implemented using processing circuitry such as, but not limited to, a processor, Central Processing Unit (CPU), a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), a System-on-Chip (SoC), a programmable logic unit, a microprocessor, or any other device capable of responding to and executing instructions in a defined manner.
[0056] Units or devices may include one or more interface circuits. In some examples, the interface circuits may include wired or wireless interfaces that are connected to a local area network (LAN), the Internet, a wide area network (WAN), or combinations thereof. The functionality of any given device or unit of the present disclosure may be distributed among multiple units or devices that are connected via interface circuits.
[0057] Units and / or devices according to one or more example embodiments may also include one or more storage devices. The one or more storage devices may be tangible or non- transitory computer-readable storage media, such as random access memory (RAM), read only memory (ROM), a permanent mass storage device (such as a disk drive), solid state (e.g., NAND flash) device, and / or any other like data storage mechanism capable of storing and recording data. The one or more storage devices may be configured to store computer programs, program code, instructions, or some combination thereof.
[0058] Any disclosure and embodiments described herein relate to the methods, the systems, the devices, the computer program element lined out above and vice versa. Advantageously, the benefits provided by any of the embodiments and examples equally apply to all other embodiments and examples and vice versa.
[0059] As used herein “determining" also includes “initiating or causing to determine", “generating" also includes “initiating or causing to generate" and “providing” also includes “initiating or causing to determine, generate, select, send or receive”. “Initiating or causing to perform an action” includes any processing signal that triggers a computing device to perform the respective action.
[0060] BRIEF DESCRIPTION OF THE DRAWINGS
[0061] In the following, the present disclosure is described exemplarily with reference to the enclosed figures, in which
[0062] Figure 1 shows a flow diagram of an example method of determining a velocity of an autonomous mobile robot;
[0063] Figure 2 shows an exemplary autonomous robot in different views; and
[0064] Figure 3 shows an exemplary drive unit.
[0065] DETAILED DESCRIPTION OF EMBODIMENTS
[0066] Figure 1 shows a flow diagram of an example method for determining a velocity of an AMR. The method comprises the following steps:
[0067] Step S10 comprises receiving first velocity data of the first drive unit of the AMR and second velocity data of a second drive unit of the AMR. The first velocity data may comprise in the present example a velocity of a first wheel and a velocity of a second wheel. The second velocity data may comprise in the present example a velocity of a first wheel and a velocity of a second wheel. The respective velocities may be measured with an incremental encoder.
[0068] Step S20 comprises receiving first steering data of the first drive unit and second steering data of the second drive unit. The first steering data may comprise in the present example a steering angle and a steering angle rate. The second steering data may comprise in the present example a steering angle and a steering angle rate. The respective steering angle and steering angle rates may be measured with an absolute encoder.
[0069] The first drive unit may comprise two independently controllable wheels. The first drive unit may be pivotable around its centre axis. The first drive unit may comprise an absolute encoder for measuring a steering angle and or a steering rate. The first drive unit may comprise a first incremental encoder for measuring a rotation angle of the first wheel and second incremental encoder for measuring a rotation angle of the second wheel.
[0070] The second drive unit may comprise two independently controllable wheels. The second drive unit may be pivotable around its centre axis. The second drive unit may comprise an absolute encoder for measuring a steering angle and / or a steering rate. The second drive unit may comprise a first incremental encoder for measuring a rotation angle of the first wheel and second incremental encoder for measuring a rotation angle of the second wheel.
[0071] Step S30 comprises determining based on the first velocity data, the second velocity data, the first steering data and the second steering data the velocity of the AMR. The velocity may be determined by calculating the longitudinal component of the velocity of the AMR and calculating the lateral component of the velocity of the AMR. The velocity may be determined by calculating a magnitude and a direction of the velocity. The determining may comprise forming an average from results determined from the first measurement channel (i.e. first drive unit) and the second measurement channel (i.e. second drive unit). The determining may comprise selecting results from the first measurement channel or the second measurement channel.
[0072] Step S40 comprises cross checking based on the first velocity data, the second velocity data, the first steering data and the second steering data the velocity of AMR and determining a cross checking result. The cross checking may comprise in the present example a cross checking of at least two velocity components of the velocity of the AMR. The two velocity components comprise in the present example a longitudinal component of the velocity of the AMR and a rotational component of the velocity of the AMR. The cross checking result may be in the present example positive.
[0073] Step S50 comprises providing the determined velocity for further processing based on the cross checking result. The further processing may comprise in the present example setting a field size and an orientation for an electro sensitive protective device.
[0074] Figure 2 shows different views of an autonomous mobile robot.
[0075] The first view 10 is isometric view of an autonomous mobile robot 11. In the first view a coordinate system 12 is depicted with a corresponding x axis 13, y axis 14 and z axis 15. The longitudinal component of the velocity mentioned above corresponds to the x axis 13. The lateral component of the velocity mentioned above corresponds to the y axis 14. The steering angle of the first and second drive units and the rotation angle of AMR mentioned above correspond to a rotation around the z axis 15.
[0076] The second view 20 shows a side view of the AMR.
[0077] The third view 30 shows an underside view of the AMR. The AMR 11 comprise a first drive unit 31 and a second drive unit 32. The drive units 31 and 32 are pivotably arranged in the AMR and enable a movement in a horizontal plane.
[0078] Figure 3 shows an exemplary drive unit 100.
[0079] The drive unit 100 comprises a first wheel 101 and a second wheel 102. Both wheels are independently controllable. Each of wheel comprises an incremental encoder 103 and 104 for measuring a rotation angle of the respective wheel. The drive unit comprises further an absolute encoder 105 for measuring a steering angle and / or steering rate of the drive unit relative to the AMR. The drive unit 100 comprises a crown wheel 106 for the pivotable arrangement of the drive unit 100 in the AMR. REFERENCE SIGNS
[0080] S10
[0081] S20
[0082] S30
[0083] S40
[0084] S50
[0085] 10 isometric view
[0086] 11, 100 AMR
[0087] 12 coordinate system
[0088] 13, 14, 15 axis
[0089] 20 side view
[0090] 30 underside view
[0091] 31 first drive unit
[0092] 32 second drive unit
[0093] 100 drive unit
[0094] 101 first wheel
[0095] 102 second wheel
[0096] 103, 104 incremental encoder
[0097] 105 absolute encoder
[0098] 106 crown wheel
Claims
Claims:
1. A computer implemented method for determining a velocity of an autonomous mobile robot (AMR), comprising: receiving first velocity data of a first drive unit of the AMR and second velocity data of a second drive unit of the AMR (S10); receiving first steering data of the first drive unit and second steering data of the second drive unit (S20); determining based on the first velocity data, the second velocity data, the first steering data and the second steering data the velocity of the AMR (S30), cross checking the velocity based on the first velocity data, the second velocity data, the first steering data and the second steering and determining a cross checking result (S40); providing the determined velocity for further processing based on the cross-checking result (S50).
2. The method according to any one of the preceding claims, wherein the cross checking comprises cross checking a longitudinal component of the velocity.
3. The method according to any one of the preceding claims, wherein the cross checking comprises cross checking a rotational component of the velocity.
4. The method according to any one of the preceding claims, wherein the cross checking comprises cross checking a lateral component of the velocity.
5. The method according to any one of the preceding claims, wherein the cross checking comprises at least two velocity components, and in particular wherein the two velocity components comprise a longitudinal component of the velocity and a rotational component of the velocity.
6. The method according to any one of the preceding claims, wherein the cross checking is based on two redundant channels.
7. The method according to any one of the preceding claims, further comprising providing a stop signal based on the cross-checking result.
8. The method according to any one of the preceding claims, wherein the cross checking comprises a comparison of a first velocity determined from the first velocity data and the first steering data with a second velocity determined from the second velocity data and the second steering data.
9. The method according to any one of the preceding claims, wherein the first velocity data comprises at least a velocity of a first wheel or a position of a first wheel; a velocity of a second wheel or a position of a second wheel; wherein the second velocity data comprises a least a velocity of a first wheel or a position of a first wheel; a velocity of a second wheel or a position of a second wheel; wherein the first steering data comprises at least one of: steering angle, steering angle rate; and / or wherein the second steering data comprises at least one of: steering angle, steering angle rate.
10. The method according to any one of the preceding claims, wherein each of the first drive unit and the second drive unit comprises two independently controllable wheels, and / or wherein each of the first drive unit and the second drive unit are each pivotable around its respective centre axis; and / or wherein each of the first and the second drive unit comprises a first rotation measurement device for measuring a steering angle and / or a steering rate of the drive unit; and / or wherein each of the first and the second drive unit comprises a second measuring device for measuring a rotation angle of a first wheel and / or a third measuring device for measuring a rotation angle of a second wheel.
11. The method according to any one of the preceding claims, wherein the further processing comprises setting a field size and an orientation for an electro sensitive protective device.
12. Use of an AMR in a method according to any one of the claims 1 to 11.
13. A data processing device comprising means for carrying out the method according to any one the claims 1 to 11.
14. A computer program comprising instructions, which, when the program is executed by a computer, cause the computer to carry out the method according to any one the claims 1 to 11.
15. A computer-readable medium comprising instructions which, when executed by a computer, cause the computer to carry out the method according to any one the claims 1 to 11.
Citation Information
Patent Citations
Control architectures for autonomous vehicles
US20210276588A1
Trajectory determination for four-wheel steering
US20230166770A1
Independent robot safety system using a safety rated PLC
WO2021242515A1