System and method for generating secure area for autonomous mobile robot

By generating a safe area of ​​appropriate size and configuration based on user input and combining it with environmental sensor data, the problem of collisions between mobile robots and objects is solved, thus achieving safe mobile operation.

CN121444036APending Publication Date: 2026-01-30OMRON CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202480042242.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-07-28
Filing Date
2024-07-04
Publication Date
2026-01-30

AI Technical Summary

Technical Problem

Existing technologies make it difficult to generate safe zones for mobile robots that take into account the cargo vehicles or other top-mounted devices they carry, which could lead to collisions with objects during movement.

Method used

By inputting information such as the overhang of the cargo vehicle or top device, the number and location of the columns, a safe zone of appropriate size and configuration is generated. Combined with environmental sensor data, the operating boundaries of the mobile robot are dynamically adjusted to avoid collisions.

Benefits of technology

Effectively avoids collisions between mobile robots and objects, ensuring safe operation, especially when carrying cargo vehicles or other top-mounted devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121444036A_ABST
    Figure CN121444036A_ABST
Patent Text Reader

Abstract

Systems and methods for generating a secure area for a mobile robot are described. The system and method may include receiving information about a cargo car or roof device to be used on a mobile robot, such as a size and number of posts of the cargo car. The system and method may also include generating a safe area based on the type of mobile robot and information about the cargo car or roof device. The system and method may also include operating the mobile robot based on the secure area such that a controlled stop of the mobile robot is triggered when an object is detected within the secure area.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] Some implementations described herein relate to systems and methods for generating safety zones for mobile robots (e.g., autonomous mobile robots). BACKGROUND

[0002] Mobile robots can be used to perform a wide variety of tasks within a work environment. For example, within a manufacturing facility or warehouse, mobile robots can be used to move materials throughout the work environment. Mobile robots can be used with a cart or other top device that is carried or otherwise moved by the mobile robot. Mobile robots can include one or more sensors that detect the environment near the mobile robot, and the mobile robot or a control system can use data provided by the one or more sensors to operate the mobile robot in a safe and efficient manner. SUMMARY

[0003] This application provides methods and systems for determining or generating safety zones for mobile robots (e.g., autonomous mobile robots, guided mobile robots, or human controlled (e.g., teleoperated mobile robots)). In particular, the methods and systems described herein can generate safety zones for mobile robots that take into account and / or are adjusted for a cart or other top device that is carried or otherwise moved by the mobile robot.

[0004] Mobile robots can include one or more sensors for detecting the environment around them. Data provided by the sensors (e.g., LiDAR (light detection and ranging) systems) can be used by the mobile robots to determine whether objects near the mobile robots are at risk of collision. For mobile robots, one or more safety zones can be determined to define a boundary or perimeter around the mobile robots. If the mobile robots detect an object within the safety zone (e.g., within the boundary or perimeter associated with the safety zone), the mobile robots can automatically perform a controlled stop as quickly as possible.

[0005] For a mobile robot, a plurality of safety zones can be determined, where each safety zone is associated with a range of different operating conditions (e.g., speed, direction, rotation, etc.). The size and / or shape of each of the plurality of safety zones can be different to accommodate the associated operating conditions. As an example, a safety zone for a mobile robot traveling at a faster speed can be larger than a safety zone for a mobile robot traveling at a lower speed, as at the faster speed the mobile robot will occupy a greater distance to safely perform a controlled stop. As another example, a safety zone for a mobile robot performing a turn (e.g., a rotation) can have an enlarged shape in a direction toward which the mobile robot is turning, so that objects that the mobile robot can turn into can be detected and avoided.

[0006] Further, different safety zones (or different pluralities of safety zones) can be determined for different models of mobile robots. This can take into account different sizes, speeds, and other factors associated with different models of mobile robots. Further, different models of mobile robots can include different numbers and / or types of sensors for detecting the surrounding environment. Based on the number and / or type of sensors included, different safety zones (or different pluralities of safety zones) can be determined for different mobile robots.

[0007] As described above, the size and shape of a safety zone for a mobile robot is configured to allow sufficient space to be left around the mobile robot so that, if an object is detected within the safety zone, the mobile robot can perform a controlled stop before colliding with the object. However, in some cases, a mobile robot can be used in conjunction with a cart or other top device (e.g., such as a conveyor) that can be carried on top of the mobile robot. When this occurs, the size and shape of the safety zone must be adjusted to account for the top device. For example, if a top device is used on a mobile robot that overhangs the mobile robot in one or more directions, these overhanging portions can collide with objects even if the mobile robot itself does not collide with the object. Thus, a mechanism is needed to provide for adjusting the safety zone of a mobile robot to account for a cart or other top device that can be carried on the mobile robot.

[0008] As described herein, methods and systems for determining or generating safety zones for mobile robots that take into account a cart or other overhead device carried or otherwise moved by the mobile robot and / or adjusted for the cart or other overhead device can allow a user to input information about a cart or overhead device to be used on the mobile robot. This information can be used to generate an updated safety zone for the mobile robot that takes into account the cart or overhead device. The mobile robot can then use this updated safety zone for safe operation.

[0009] In some cases, the user can be able to input information related to the size or length of the overhang of the cart or overhead device on each side of the mobile robot (e.g., front, back, right, and left). Additionally, in some cases, the user can be able to input information about the type of mobile robot being used at the same time. With this information, the methods and systems can determine an appropriately sized and configured safety zone for the mobile robot and cart or overhead device pair.

[0010] In some cases, the user can also be able to input information about the number, location, and size of one or more columns or legs associated with the cart or overhead device. The safety zone can be generated to cut or otherwise take into account the columns or legs of the cart or overhead device.

[0011] In a first aspect, a system for generating at least one safety zone for a mobile robot is described. The system can include a processor and a computer-readable memory in communication with the processor, the memory storing instructions executable by the processor. The instructions can cause the processor to display a user interface to a user on a display. The user interface can include input fields that allow a user to input: a front overhang amount associated with a distance that a top device to be used on the mobile robot extends in a forward direction beyond a front edge of the mobile robot; a rear overhang amount associated with a distance that the top device to be used on the mobile robot extends in a rearward direction beyond a rear edge of the mobile robot; a left overhang amount associated with a distance that the top device to be used on the mobile robot extends in a left direction beyond a left edge of the mobile robot; a right overhang amount associated with a distance that the top device to be used on the mobile robot extends in a right direction beyond a right edge of the mobile robot; and a type of the mobile robot. Based on the front overhang amount, the rear overhang amount, the left overhang amount, the right overhang amount, and the type of the mobile robot, the instructions can cause the processor to generate at least one safety zone for operation of the mobile robot, the safety zone defining a boundary around the mobile robot within which an object detected by an environmental sensor of the mobile robot will trigger a controlled stop of the mobile robot to avoid collision with the object.

[0012] In some embodiments, the system further comprises any combination of one or more of the following features: (a) a communication module, and wherein the instructions further cause the system to transmit the at least one safety zone to the mobile robot, whereby the mobile robot operates based in part on the at least one safety zone; (b) wherein the at least one safety zone comprises a plurality of safety zones, and the plurality of safety zones comprises: one or more safety zones associated with linear motion of the mobile robot; one or more safety zones associated with rotational motion of the mobile robot; and one or more safety zones associated with combined linear and rotational motion of the mobile robot; (c) wherein each of the one or more safety zones associated with linear motion of the mobile robot is further associated with a linear velocity range, each of the one or more safety zones associated with rotational motion of the mobile robot is associated with a rotational velocity range, and each of the one or more safety zones associated with combined linear and rotational motion of the mobile robot is associated with the linear velocity range and the rotational velocity range; (d) wherein the instructions further cause the system to access a database storing information about a plurality of types of mobile robots, the information comprising dimensions, linear velocity information, rotational velocity information, linear deceleration information, rotational deceleration, and environmental sensor information for each of the plurality of types of mobile robots; (e) wherein the at least one safety zone is generated based on the linear velocity information, the rotational velocity information, the linear deceleration information, the rotational deceleration, and the environmental sensor information associated with a type of the mobile robot; (f) wherein the input field of the user interface further allows the user to input a number of uprights associated with the overhead device and a position and dimensions associated with each upright; (g) wherein the at least one safety zone is generated based on the number, position, and dimensions of the uprights, and wherein the at least one safety zone comprises one or more exemptions of the safety zone associated with each upright; (h) wherein the environmental sensor comprises a LiDAR sensor; (i) wherein the at least one safety zone comprises a pair of sub-zones, each sub-zone associated with one of a pair of environmental sensors of the mobile robot; and / or other features described herein.

[0013] In another aspect, a method for generating at least one safety zone for a mobile robot can include the steps of: causing a user interface to be displayed to a user on a display, the user interface including input fields that allow the user to input: a front overhang amount associated with a distance that a top device to be used on the mobile robot extends in a forward direction beyond a front edge of the mobile robot; a rear overhang amount associated with a distance that the top device to be used on the mobile robot extends in a rearward direction beyond a rear edge of the mobile robot; a left overhang amount associated with a distance that the top device to be used on the mobile robot extends in a left direction beyond a left edge of the mobile robot; a right overhang amount associated with a distance that the top device to be used on the mobile robot extends in a right direction beyond a right edge of the mobile robot; and a type of the mobile robot; receiving user input of the front overhang amount, the rear overhang amount, the left overhang amount, the right overhang amount, and the type of the mobile robot; and generating, based on the front overhang amount, the rear overhang amount, the left overhang amount, the right overhang amount, and the type of the mobile robot, at least one safety zone for operation of the mobile robot, the safety zone defining a boundary around the mobile robot within which an object detected by an environmental sensor of the mobile robot will trigger a controlled stop of the mobile robot to avoid collision with the object.

[0014] The method may include any combination of one or more of the following features: (a) transmitting the at least one safety area to the mobile robot via a communication module, whereby the mobile robot operates in part based on the at least one safety area; (b) wherein the at least one safety area comprises a plurality of safety areas, and the plurality of safety areas includes: one or more safety areas associated with linear motion of the mobile robot; one or more safety areas associated with rotational motion of the mobile robot; and one or more safety areas associated with a combination of linear motion and rotational motion of the mobile robot; (c) wherein each of the one or more safety areas associated with linear motion of the mobile robot is also associated with a linear speed range; each of the one or more safety areas associated with rotational motion of the mobile robot is associated with a rotational speed range; and each of the one or more safety areas associated with a combination of linear motion and rotational motion of the mobile robot is associated with both the linear speed range and the rotational speed range; (d) accessing storage. A database of information about various types of mobile robots, including dimensions, linear velocity information, rotational velocity information, linear deceleration information, rotational deceleration information, and environmental sensor information for each of the various types of mobile robots; (e) wherein the at least one safety zone is generated based on the linear velocity information, rotational velocity information, linear deceleration information, rotational deceleration information, and environmental sensor information associated with the type of the mobile robot; (f) wherein the input field of the user interface further allows the user to input the number of columns associated with the top device and the position and size associated with each column; (g) wherein the at least one safety zone is generated based on the number, position, and size of the columns, and wherein the at least one safety zone includes one or more exemption zones associated with each column; (h) wherein the environmental sensor includes LiDAR; (i) wherein the at least one safety zone includes a pair of sub-regions, each sub-region being associated with one of the environmental sensors of the mobile robot; and / or other features described herein.

[0015] For the purposes of summarization, some aspects, advantages, and novel features of this disclosure have been described. It should be understood that not all of these advantages may necessarily be achieved according to any particular embodiment of the invention. Thus, for example, those skilled in the art will recognize that the invention may be implemented or practiced in a manner that achieves one or a set of advantages described herein, and not necessarily other advantages taught or suggested herein. Attached Figure Description

[0016] Some embodiments will be discussed in detail below with reference to the following drawings, wherein like reference numerals refer to like features throughout. These drawings are provided to illustrate specific implementations and are not intended to limit the embodiments.

[0017] [ FIG. 1 ] FIG. 1 An example embodiment of a mobile robot is shown.

[0018] [ FIG. 2 ] FIG. 2 is a schematic diagram of an example embodiment of a mobile robot.

[0019] [ FIG. 3 ] FIG. 3 is a schematic diagram of a mobile robot management system in communication with a mobile robot and a user device.

[0020] [ FIG. 4 ] FIG. 4 An example safety zone for a mobile robot is shown.

[0021] [ FIG. 5 ] FIG. 5 Multiple safety zones for a mobile robot that can be associated with linear motion of the mobile robot are shown.

[0022] [ FIG. 6 ] FIG. 6 Additional multiple safety zones for a mobile robot that can be associated with rotational motion of the mobile robot are shown.

[0023] [ FIG. 7A ] FIG. 7A Multiple safety zones for a mobile robot that can be associated with left and right tilt motion of the mobile robot are shown.

[0024] [ FIG. 7B ] FIG. 7B Multiple safety zones for a mobile robot that can be associated with left and right tilt motion of the mobile robot are shown.

[0025] [ FIG. 8A ] FIG. 8A A side view of a mobile robot for use with a cart or other overhead device is provided.

[0026] [ FIG. 8B ] FIG. 8B A top view of a mobile robot for use with a cart or other overhead device is provided.

[0027] [ FIG. 9 ] FIG. 9An example tool that can allow for the creation of a safety zone that can account for a cart or other overhead device in a simple and effective manner is shown.

[0028] [ FIG. 10 ] FIG. 10 A panel that can be associated with the tool to allow a user to input information about the dimensions and locations of columns so that these columns can be accounted for when generating a safety zone is shown.

[0029] [ FIG. 11 ] FIG. 11 An example measurement of column locations and dimensions is shown.

[0030] [ FIG. 12 ] FIG. 12 A cutout created for the columns of a cart is shown.

[0031] [ FIG. 13 ] FIG. 13 A first example modified safety zone for a cart with four columns is shown.

[0032] [ FIG. 14 ] FIG. 14 A similar example is provided, but including eight columns.

[0033] [ FIG. 15 ] FIG. 15 Another example for a cart with four columns in different locations is shown.

[0034] [ FIG. 16 ] FIG. 16 An example method for generating a safety zone for a mobile robot is shown. DETAILED DESCRIPTION

[0035] The present disclosure describes various systems, devices, and methods for determining or generating a safety zone for a mobile robot (e.g., an autonomous mobile robot, a guided mobile robot, or a human-controlled (e.g., remotely controlled mobile robot)). In particular, the methods and systems described herein can generate a safety zone for a mobile robot that accounts for and / or is adjusted for a cart or other overhead device carried or otherwise moved by the mobile robot.

[0036] Various features and advantages of the systems, devices, and methods for generating a safety zone for a mobile robot described herein will become more apparent by the following description of examples shown in the drawings. These examples are intended to illustrate the principles of the present disclosure and should not limit the disclosure to only the examples shown. Features of the examples shown can be modified, combined, deleted, and / or replaced as would be apparent to one of ordinary skill in the art when considering the principles disclosed herein.

[0037] FIG. 1 An example implementation of a mobile robot 100 is shown, and FIG. 2 A diagram of a mobile robot 100 is shown. The mobile robot 100 can have a chassis or housing 102 that can support various other components of the robot 100. Some components can be arranged inside the housing 102, and some components can be at least partially exposed so that they can interact with entities outside the housing 102. The mobile robot 100 can have a drive system 104 that can be configured to move the mobile robot 100. For example, the mobile robot 100 can have one or more driven wheels 106 that can be driven by at least one motor (not visible in this view). In some implementations, two or more driven wheels 106 can be independently driven to move the mobile robot 100 forward, backward, turn, etc. In some implementations, a steering mechanism (e.g., a pivot wheel) can turn the mobile robot 100. In some cases, one or more non-driven wheels 108 can provide support to the robot 100. Various other suitable drive systems can be used, such as tracks or legs. FIG. 1

[0038] The mobile robot 100 can have one or more environmental sensors 112 that can be used to sense or measure the environment around the robot 100. For example, the environmental sensor 112 can be a LiDAR (light detection and ranging) system. The environmental sensor 112 can include at least one laser that can emit laser pulses across a range of angles. The environmental sensor 112 can include a light detector that can receive light from laser pulses that are reflected by the environment (e.g., objects) around the mobile robot 100. The received light can be used to determine the location of the objects around the mobile robot 100. For example, the direction of the emitted laser pulses and / or the direction of the received light can indicate the direction of the objects, and the timing (e.g., time of flight) of the emitted laser pulses and / or the received light can indicate the distance of the objects from the robot. The housing 102 of the mobile robot 100 can have an opening 114, such as a generally horizontal slit, to allow light to exit and enter the environmental sensor 112 of the mobile robot 100 (e.g., across a range of angles). Various other types of environmental sensors 112 can be used, such as cameras, video analysis systems that analyze video from cameras on the robot 100 to identify objects or other environmental features, sonar systems, and / or thermal sensors, etc. Moreover, the environmental sensor 112 can be located in other locations on the housing 102 of the mobile robot 100.

[0039] ​As will be discussed in more detail below, the environmental sensor 112 can be associated with the safe zone of the mobile robot 100, such that when the environmental sensor 112 detects an object in the safe zone, the mobile robot 100 can be configured to perform a controlled stop to avoid colliding with that object.

[0040] The mobile robot 100 may include a controller 116 that can operate various aspects of the mobile robot 100. For example, the controller 116 may interpret information from environmental sensors 112 (e.g., for identifying objects, determining distance or position to objects, operating the drive system 104, performing navigation and / or collision avoidance operations), and communicate with a robot management system (e.g., such as...). FIG. 3 (as shown in the diagram) or various other features and functions of the mobile robot 100. The controller 116 can be configured to implement a safety system for the mobile robot 100. For example, the controller 116 can receive data related to the movement of the mobile robot 100 and to objects detected by the environmental sensor 112. This data can be analyzed by the controller 116 to determine whether the mobile robot 100 is operating safely or whether conditions indicate that a controlled stop should be triggered. For example, the controller 116 can detect whether an object is identified within a safe area of ​​the mobile robot 100 and trigger a controlled stop. In some embodiments, the controller 116 determines the speed of the mobile robot 100 based on encoder data received from the wheels of the mobile robot 100 and determines which of a plurality of safe areas should be used. Even without a specific discussion of the controller 116, various functions of the mobile robot 100 disclosed herein can be implemented by the controller 116. In some embodiments, the controller 116 can determine, generate, or apply the safe area to the output of the environmental sensor 112 to determine whether an object is within the safe area.

[0041] The mobile robot 100 can include at least one processor 118, which can be a hardware processor. The processor 118 can include circuitry configured to perform operations to implement the various functions and features discussed herein. In some implementations, the mobile robot 100 can include multiple processors 118, and different tasks can be performed by different processors 118. The mobile robot 100 can include a memory 120, which can be a computer-readable memory (e.g., a non-transitory computer-readable memory). The memory 120 can include RAM, ROM, non-volatile memory, flash memory, a hard disk, or any other suitable type of memory. In some implementations, the mobile robot 100 can include multiple memory components, which can store different types of information or instructions for different functions or features. The memory 120 can include instructions that can be executed by the at least one processor 118 to implement the controller 116 and / or to perform the various functions and features disclosed herein. In some implementations, the functions and / or features can be implemented by an integrated circuit or other specialized processor specifically configured to perform the functions and features disclosed herein. In some cases, the controller 116 can include multiple control modules. Different tasks or functions can be performed by different control modules (e.g., different processors 118 and / or different sets of software instructions).

[0042] The mobile robot 100 can include a communication interface 122, which can be used to send information from the robot 100 and / or to receive information from a robot management system or some other external device. The communication interface 122 can be wireless, such as using WiFi, Bluetooth, or any other suitable wireless communication protocol. In some implementations, the communication interface 122 can include a wired connection. For example, in some cases, the communication interface 122 can include a port or plug that can be configured to connect to a corresponding plug or port coupled to an external device to enable communication therebetween. For example, a USB port can be used, but various types of ports or other wired connections can also be used. In some cases, a user can couple a laptop, smartphone, or other computer device to the mobile robot 100 via the communication interface for adjusting parameters of the mobile robot 100, for diagnosing problems with the mobile robot 100, for updating features of the mobile robot 100, etc. In some implementations, the communication interface 122 can be used to communicate information about a determined position and / or trajectory of the mobile robot 100 relative to a map of the mobile robot to other mobile robots and / or to a robot management system (e.g., as shown in FIG. 1C). Similarly, the communication interface 122 can be configured to receive a safety zone generated by another device. FIG. 3

[0043] ​The mobile robot 100 can include a user interface 124 that can be used to receive input from a user and / or provide output (e.g., information) to a user. The user interface 124 can include one or more buttons 126, switches, dials, or other user input elements, a touchscreen, a display, one or more lights, a speaker, a microphone, etc. In some cases, a user can provide input to adjust parameters of the mobile robot 100. In some implementations, the user interface 124 can allow input of information from which a safe zone for the mobile robot 100 can be determined.

[0044] The mobile robot 100 can include a power source 128, which can be a battery. The battery can be rechargeable, and the mobile robot 100 can be configured to interface with a charging station for charging the battery (e.g., through an electrical interface). The power source 128 can provide power to operate the drive system 104 (e.g., one or more electric motors), various sensors and controllers, and other systems disclosed herein. The power source 128 can provide DC or AC power, and can use any suitable type of power source 128.

[0045] The mobile robot 100 can include a navigation system 130. The navigation system 130 can be used to perform pathfinding for the mobile robot 100. The navigation system 130 can receive a destination and / or one or more waypoints, such as from the user interface 124 or the communication interface 122. The navigation system 130 can receive environmental information (e.g., object locations) from the environmental sensors 112, and can use this information to determine trajectory information to navigate the mobile robot 100 (e.g., toward the destination). This trajectory information can include a path or route, e.g., from a current location of the robot to a target location (e.g., a task location or other destination or waypoint). In some cases, the navigation system 130 can determine intermediate waypoints based on the environmental information. In some implementations, the navigation system 130 can modify the trajectory information while causing the mobile robot 100 to move. For example, if an object moves or a new object is detected (e.g., by the environmental sensors 112), the navigation system 130 can determine to change the path or route of the mobile robot 100. In some implementations, the navigation system 130 is configured to perform a controlled stop if an object is detected within the safe zone of the mobile robot 100.

[0046] FIG. 3 A schematic diagram of a mobile robot management system 200 that can manage a fleet of mobile robots 100 is shown. In some implementations, the mobile robot management system 200 can be implemented on a server or other computing device that is separate from the mobile robots 100. In some implementations, the mobile robot management system 200 can be implemented on a mobile robot 100 that is configured to manage a fleet of mobile robots 100. FIG. 3In particular embodiments, three mobile robots 100 are shown, but any suitable number of robots 100 can be managed by the system 200, such as 2, 4, 8, 12, 20, 30, 40, 50, or more robots, or any value or range between these numbers. The robot management system 200 can manage robots in a factory, office, hospital, retail store, warehouse, or any other suitable facility, such as a facility in which tasks are performed by the robots 100 at different locations. The robot management system 200 can include a controller 216 that can operate various aspects of the robot management system 200, as described herein.

[0047] The robot management system 200 can include at least one processor 218, which can be a hardware processor. The processor 218 can include circuitry configured to perform operations to implement the various functions and features discussed herein, such as systems and methods for determining map transformations between robots. In some embodiments, the robot management system 200 can include multiple processors 218, and different tasks can be performed by different processors 218. The robot management system 200 can include a memory 220, which can be a computer-readable memory (e.g., a non-transitory computer-readable memory). The memory 220 can include RAM, ROM, non-volatile memory, flash memory, a hard disk, or any other suitable type of memory. In some embodiments, the robot management system 200 can include multiple memory components, which can store different types of information or instructions for different functions or features. The memory 220 can include instructions that can be executed by the at least one processor 218 to implement the controller 216 and / or to perform various functions and features of the management system 200. In some embodiments, the functions and / or features of the robot management system 200 can be implemented by an integrated circuit or other specialized processor specifically configured to perform the functions and features disclosed herein. In some cases, the controller 216 can include multiple control modules. Different tasks or functions can be performed by different control modules (e.g., different processors 218 and / or different sets of software instructions).

[0048] The robot management system 200 can include a communication interface 222 that can be used to send information from the robot management system 200 to the robot 100 and / or other systems or devices. The communication interface 222 can receive information from the robot 100 and / or other systems or devices. The communication interface 222 can be a wireless communication interface, for example using WiFi, Bluetooth, or any other suitable wireless communication protocol. In some implementations, the communication interface 222 can include a wired connection. For example, in some cases, the communication interface 222 can include a port or plug that can be configured to connect to a corresponding plug or port coupled to an external device to enable communication therebetween. For example, a USB port can be used, although various types of ports or other wired connections can also be used. In some cases, a user can couple a laptop, smartphone, or other computer device to the robot management system 200 via the communication interface for adjusting parameters 234 of the robot management system 200, for diagnosing or troubleshooting, for updating functionality of the robot management system 200, etc. The robot management system 200 can communicate with the robot 100 and / or other systems or devices over a network 226, which can be a wireless network such as a WiFi network. The network 226 can be a shared network that conveys other types of information as well as information related to management of a fleet of robots 100. In some implementations, the network 226 can be a dedicated network that can be used exclusively for operating a fleet of robots. In some implementations, the communication interface 222 can be used to communicate information about the determined position and / or trajectory of the mobile robot 100 relative to a map of the individual mobile robot to other mobile robots. Similarly, the communication interface 222 can be configured to communicate safety zone information to the mobile robot 100.

[0049] The robot management system 200 can communicate with external systems or devices (e.g., user devices 300) over the network 226 or in any other suitable manner. The user devices 300 can be user terminals or other computing devices at workstations or other locations in a facility that uses a fleet of robots. For example, the user devices 300 can be at a computer at a factory workstation, an office workstation, a nurse station, a patient room, a point-of-sale station, a manager’s desk or office, etc. The user devices 300 can be mobile user devices, such as smartphones, tablets, etc. The user devices 300 can send tasks to the robot management system 200 for assignment to the robots 100. In some cases, multiple user devices 300 can be used. One or more of the user devices 300 can be located in an environment with mobile robots 100, or can be remote from an environment with mobile robots 100 (e.g., communicate over the Internet or other wide area network). The user devices 300 can be used to provide input from which safety zones can be determined.

[0050] The robot management system 200 can include a user interface 224 that can be used to receive input from a user and / or provide output (e.g., information) to a user. The user interface 224 can include one or more buttons, switches, dials, or other user input elements, a keyboard, a touchscreen, a display, one or more lights, a speaker, a microphone, etc. In some cases, a user can provide input via the user interface 224 or via the user device 300 to adjust parameters of the robot management system 200. In some implementations, the user interface 224 can be used to input data that will be used to generate an updated safety zone that takes into account a cart or a top device used on the mobile robot 100.

[0051] The robot management system 200 can include a power source 228 that can be a wired power connection (e.g., configured to plug into an outlet). In some cases, a battery (e.g., a rechargeable battery) can be used. The power source 228 can provide power to operate the robot management system 200 disclosed herein. The power source 228 can provide DC or AC power and can use any suitable type of power source 228.

[0052] FIG. 4 An example safety zone 301 for a mobile robot 100 is shown. As shown, in this example, the mobile robot 100 includes two environmental sensors 112 (referred to in FIG. 4 as safety laser scanners) configured to detect objects within a field of view of each environmental sensor 112. As described above, for example, the environmental sensors 112 can be LiDAR sensors. In the example shown, the mobile robot 100 includes a first environmental sensor 112 located on a first corner and a second environmental sensor 112 located on a second corner generally opposite the first environmental sensor. This configuration provides the mobile robot 100 with the ability to sense objects on all sides (e.g., front, back, right, and left) of the mobile robot 100. In other implementations, other locations, arrangements, and numbers of environmental sensors 112 can be used.

[0053] With continued reference to FIG. 4 , the two environmental sensors 112 together provide a safety zone 301 around the mobile robot 100. In this example, the safety zone 301 extends around the mobile robot 100 on all sides of the mobile robot 100. The safety zone 301 includes an outer perimeter or boundary 302 that is offset from all sides of the mobile robot 100. When an object is detected by an environmental sensor 112 within the boundary 302, the mobile robot 100 is caused to perform a controlled stop so as not to collide with the object.

[0054] InFIG. 4 In the example shown, the safety zone 301 includes two discrete sub-zones 304, 306. Each sub-zone 304, 306 is provided by one of the environmental sensors 112. The pair of sub-zones 304, 306 together form the safety zone 301 around the mobile robot 100. In the embodiment shown, the sub-zones 304, 306 overlap at two corners of the mobile robot 100. The overlap of the sub-zones 304, 306 is not required in all embodiments.

[0055] FIG. 4 A safety zone 301 is shown extending around the mobile robot 100 in the X-Y axes, with units in millimeters and the origin at the center of the mobile robot 100. As will be described below, the shape and size of the safety zone 301 can vary depending on the operational characteristics of the mobile robot 100. Thus, to understand the basic principles, FIG. 4 Only one example of a safety zone 301 is shown.

[0056] FIG. 5 Multiple safety zones 301 are shown for the mobile robot 100. In the example shown, seven different safety zones 301 are shown. In this example, only the outer boundaries of the safety zones 301 are shown, but as described above with reference to FIG. 4 The safety zones 301 can each include a pair of sub-zones associated with two environmental sensors 112. FIG. 5 The seven safety zones 301 can be associated with straight-line motion of the mobile robot 100 (e.g., forward motion). As shown, the safety zones 301 increase in size in the direction from zone 1 to zone 7 in front of the mobile robot 100. Zone 1 can be associated with a slower speed of the mobile robot 100, while zone 7 can be associated with a faster speed of the mobile robot 100, and the intermediate zones 2-6 can each be associated with a different speed between the slower and faster speeds. The different sized safety zones 301 can allow for the increased stopping distance that would be required when the mobile robot 100 is operating at a higher speed. That is, when the mobile robot 100 is moving faster, the safety zone 301 should extend to a greater distance in front of the mobile robot 100 because the mobile robot 100 will need a longer distance to stop due to the increase in speed. Notably, FIG. 5 Safety zones 301 associated with straight-line motion in the forward direction are shown. Similarly, safety zones 301 associated with straight-line motion in the reverse direction can be generated. Further, FIG. 5 The sizes and number of safety zones 301 shown in FIG. 3 are provided by way of example only and can vary depending on the configuration of the mobile robot 100. For example, the sizes and number of safety zones 301 can be selected based on the speed and deceleration of the mobile robot 100.

[0057] In some implementations, the shape and size of the safety zone 301 associated with linear motion can be determined based on the maximum translational speed of the mobile robot 100 associated with that zone, the response time of the mobile robot 100 (e.g., how quickly the mobile robot 100 detects an object and triggers an action), a safety factor, and a maximum translational deceleration value (representing the robot's stopping capability). Generally, as the maximum translational speed of the mobile robot 100 increases, the safety zone 301 in the direction of travel towards the object also increases as shown in the figure to provide an additional stopping distance, thereby avoiding collisions with objects.

[0058] FIG. 6 Multiple additional safety zones 301 for the mobile robot 100 are shown. In the example shown, three different safety zones 301 are depicted. In this example, only the outer boundaries of the safety zones 301 are shown, but as referenced above... FIG. 4 The safety area 301 may include a pair of sub-areas associated with the two environmental sensors 112. FIG. 6 The three safety zones 301 can be associated with the rotational motion of the mobile robot 100, for example, when the mobile robot 100 rotates in place and / or rotates at a slower translational speed (e.g., less than 100 mm / s). Zones 8 and 9 can be associated with lower rotational speeds, but for rotations in opposite directions (clockwise and counterclockwise). When rotating at slower speeds, the size of the safety zones 301 in zones 8 and 9 can be smaller. In the example shown, zones 8 and 9 can be constructed (including response time) by performing a geometric union along the path along which the simplified robot (e.g., a rectangle defined by the robot's maximum boundary) will stop, running at both positive and negative translational speeds. The safety zone 301, represented as zone 10, can be associated with faster rotations of the robot, thus providing a larger boundary around the mobile robot 100. In this example, the geometric union process of the stopping path is run four times, and the resulting contours are geometrically unioned. From this polygon, the maximum radius of the robot's center is determined, and a circle is created. The geometry of region 10 is a circle in which the top and bottom portions are cut off. The cut-off segments are defined by taking the minimum and maximum Y values ​​of the polygons formed by the geometric union of the four original contours. FIG. 6 The specific safety regions 301 (regions 8 to 10) associated with rotational motion shown are provided as examples, and different numbers, sizes, and shapes of safety regions 301 associated with rotational motion may be included in other embodiments.

[0059] FIG. 7A and FIG. 7BEach of the safety zones 301 is shown for a straight motion of the mobile robot 100. In the illustrated example, eleven different safety zones 301 are shown for each of FIG. 7A (zone 11-21) and FIG. 7B (zone 22-32). In these examples, only the outer boundary of the safety zones 301 is shown, but as described above with reference to FIG. 4 each of the safety zones 301 can include a pair of sub-zones associated with two environment sensors 112. FIG. 7A and FIG. 7B The safety zones of the mobile robot 100 can be associated with a tilt motion, in which the mobile robot 100 both translates and turns. FIG. 7A The zones 11-21 are shown associated with a left tilt motion, while FIG. 7B The zones 22-32 are shown associated with a right tilt motion. As shown, the shape of each safety zone extends in front of the mobile robot 100 and in the direction of the turning tilt. An increase in the size of the safety zone can be associated with an increase in speed to allow for additional stopping distance as described previously. In the illustrated example, FIG. 7A and FIG. 7B The shape of the safety zones 301 of the mobile robot 100 can be defined according to the following parameters: the angle of travel, the speed of rotation, the maximum translational speed for the zone, the response time for the mobile robot 100, a safety factor, a maximum translational deceleration, and a maximum rotational deceleration. FIG. 7A and FIG. 7B The particular safety zones 301 associated with a tilt motion (zones 11-32) shown in

[0060] FIG. 5 to FIG. 7B A plurality of safety zones 301 are shown for the mobile robot 100 for various operating conditions, such as straight motion, spin-on-the-spot motion, and tilt motion, in which different safety zones are also associated with different speeds of the mobile robot 100. In use, the mobile robot 100 operates on a different one of these safety zones 301 based on the current operating characteristics of the mobile robot 100 (e.g., the current translational and / or rotational speed and the type of motion). In this way, the mobile robot 100 can operate using the appropriate zone based on the operating characteristics. As described above, different numbers and / or shapes of safety zones 301 can be used.

[0061] FIG. 4 to FIG. 7BA safety zone 301 is described with respect to a mobile robot 100 that includes sufficient environmental sensors 112 such that the mobile robot 100 can detect objects on all sides of the mobile robot 100. In some implementations, some mobile robots 100 can include sufficient environmental sensors 112 to detect objects on only some of the sides of the mobile robot, for example, only in front of the mobile robot 100. Thus, in some implementations, the safety zone does not completely surround the mobile robot 100.

[0062] FIG. 8A and FIG. 8B Side and top views of a mobile robot 100 for use with a cart 400 (or other overhead device) are provided. In some cases, the mobile robot 100 can be configured to carry and move a cart 400 or other overhead device on its upper surface. As shown in FIG. 8A The mobile robot 100 can be configured to be positioned under the cart 400. The cart 400 can include one or more support columns 402. As shown in FIG. 8B The cart 400 can be suspended on the mobile robot by a front overhang, a rear overhang, a right overhang, and a left overhang. As shown in FIG. 8A and FIG. 8B In some cases, the cart 400 or other overhead device can be suspended on the mobile robot 100 in one or more directions. Notably, if the mobile robot 100 is operated using the safety zone 301 described previously with respect to FIG. 4 to FIG. 7B the overhanging portions of the cart 400 or other overhead device can collide with objects because the overhanging portions of the cart 400 or overhead device are not considered in the safety zone. Thus, it can be considered to modify the safety zone 301 of the mobile robot 100 to account for the size and shape of the cart 400 or other overhead device in order to allow the mobile robot 100 to operate safely with the cart of the other overhead device.

[0063] FIG. 9 An example tool 500 is shown that can allow for the creation of a safety zone that can account for the cart 400 (or other overhead device) in a simple and effective manner. In the example shown, the tool 500 includes a user interface that allows a user to input information about the cart 400 and the mobile robot 100. The tool 500 then uses the input information to generate a new safety zone that accounts for the cart 400. Once generated, the new safety zone can be uploaded or otherwise communicated to the mobile robot 100 for use by the mobile robot 100.

[0064] As FIG. 9As shown in the middle, in the illustrated example, the tool 500 allows for user input of values for front overhang, rear overhang, left overhang, and right overhang. In some implementations, these values can be obtained by using computer aided design (CAD) software. For example, a CAD model of the cart 400 and a CAD model of the mobile robot 100 can be used to determine these overhangs. In other implementations, these values can be obtained by positioning the cart 400 on the mobile robot 100 and measuring the distances that the cart extends beyond the boundaries of the mobile robot 100 in the front, rear, left, and right directions. In some cases, these distances are measured by hand and input into the tool 500.

[0065] FIG. 9 Also shown, in some examples, the user can select the type of mobile robot 100 to be used with the cart 400, as represented by the AMR Type (Autonomous Mobile Robot Type) field. The tool 500 can be configured to access a database of different mobile robot types that includes information about dimensions and operating characteristics (e.g., translational and rotational velocities, translational and rotational deceleration velocities, and the number and location of environmental sensors 112).

[0066] In some examples, with the overhang information input into the tool 500 and the type of mobile robot 100 selected, the user can generate a new safety zone by selecting the generated zone button that takes into account the cart 400. A new zone will be generated that takes into account the dimensions of the cart 400. In some implementations, multiple zones can be generated that correspond to the different velocity straight line motions, rotational motions, and tilt motions described above; however, these zones will be expanded to take into account the increase in cart dimensions.

[0067] In FIG. 9 The tool 500 also includes an input that allows the user to input the number of posts 402 associated with the cart 400. It can be important to take into account the posts 402 of the cart 400 when generating updated safety zones, as the posts 402 are likely to be positioned within the safety zones and thus can be detected as objects by the environmental sensors 112. Thus, these posts can be considered static intrusions within the safety zones that must be carved out in order to allow the mobile robot 100 to operate.

[0068] FIG. 10 A panel 505 is shown that can be associated with the tool 500 to allow the user to input information about the dimensions and locations of the posts 402 so that they can be taken into account when generating safety zones. The user can input the dimensions and locations of the posts 402 in the fields shown in the panel 505. In some implementations, the dimensions and locations of the posts 402 can be obtained by using CAD software. For example, a CAD model of the cart 400 and a CAD model of the mobile robot 100 can be used to determine the dimensions and locations of the posts 402. In other implementations, the dimensions and locations of the posts 402 can be obtained by positioning the cart 400 on the mobile robot 100 and measuring the dimensions and locations of the posts 402. In some cases, these dimensions and locations are measured by hand and input into the tool 500. FIG. 9after the user inputs the number of columns into the tool, panel 505 can be presented to the user. As shown, in the illustrated embodiment, panel 505 allows the user to input an X position and a Y position for each of the columns. The X position and Y position of the columns can be input relative to the origin of the mobile robot 100 (e.g., as shown in FIG. 11 FIG. 6B). Panel 505 can also allow the user to input a length and a width for each of the columns. For example, as shown in FIG. 11 FIG. 6B, the length and width can be measured. In this way, each column can be approximated as a rectangle having the input length and width, and located at the X position, Y position relative to the robot origin. FIG. 10 It is also shown that, in some cases, the user can be configured to input a buffer to account for tolerances, measurement, or positioning errors. In some embodiments, this buffer is used to increase the length and width of the input columns.

[0069] With the information about the columns 402 input into the panel 505 of the tool 500, the tool can then generate safety zones. In some cases, as a first step, the tool 500 can be configured to generate the required cutouts so that the static intrusions of the columns 402 can be carved out of the safety zones. For example, this can include determining which columns 402 are visible by each of the environmental sensors. For example, in some embodiments, each of the environmental sensors includes a 270 degree field of view, and thus can only observe or detect some of the columns 402. Next, a carving of the vertices (e.g., outer edges) of the columns 402 is created from the environmental sensors. This can include determining the angle of each vertex relative to the environmental sensor. In some embodiments, next, the vertices with the smallest angle and largest angle, and the closest other vertices are used to define a polygon that will be used to remove the static intrusions caused by the columns 402. This will be shown in FIG. 11 FIG. 6C, where different line types are used to show the cutouts provided by different environmental sensors 112.

[0070] With the cutouts of the columns 402 determined, new safety zones can be generated corresponding to the various safety zones described above with reference to FIG. 4 to FIG. 7B in addition to these safety zones being based on the increased size of the cart 400 input by the measurement of the overhang, and removing the cutouts determined with reference to FIG. 10 to FIG. 12 FIG. 6D.

[0071] FIG. 13 to FIG. 15 An example updated safety zone 301 that takes into account the cart 400 and the columns 402 is shown in FIG. 13 to FIG. 15 Only some examples are provided, and for example, it can be determined that the updated safety zone 301 shown in FIG. 5 to FIG. 7BOther sizes and shapes of safety zones corresponding to each of the safety zones 301 shown and described for different types of motion and speed of the mobile robot 100.

[0072] FIG. 13 A first example modified safety zone 301 is shown. As shown, the safety zone includes a perimeter or boundary that surrounds the cart 400 and cutouts for four posts for the cart 400. FIG. 14 A similar example is provided, but including eight posts. FIG. 15 A similar example is provided that includes four posts located at different positions than the four posts shown in FIG. 13 FIG. 4.

[0073] FIG. 16 An example method 600 for generating a safety zone for a mobile robot is shown. The method 600 begins at step 602, where a user interface is displayed to a user. The user interface can include the tool 500 described above. In some implementations, the user interface includes input fields that allow the user to input: a front overhang amount associated with a distance that a top device to be used on the mobile robot extends in a forward direction past a front edge of the mobile robot; a rear overhang amount associated with a distance that the top device to be used on the mobile robot extends in a rearward direction past a rear edge of the mobile robot; a left overhang amount associated with a distance that the top device to be used on the mobile robot extends in a leftward direction past a left edge of the mobile robot; a right overhang amount associated with a distance that the top device to be used on the mobile robot extends in a rightward direction past a right edge of the mobile robot; and a type of mobile robot.

[0074] At block 604, the method includes receiving user input of the front overhang amount, the rear overhang amount, the left overhang amount, the right overhang amount, and the type of mobile robot. The user can determine the various overhang amounts, for example, by measuring as described above with reference to FIG. 10 and FIG. 11 In some implementations, the method 600 can also include accessing a database that stores information about a plurality of types of mobile robots, including dimensions, linear velocity information, rotational velocity information, linear acceleration information, rotational deceleration, and environmental sensor information for each of the plurality of types of mobile robots. The information can be retrieved based on the type of mobile robot input at block 602. In some implementations, the input fields of the user interface also allow the user to input a number of posts associated with the top device and a position and dimension associated with each post.

[0075] At block 606, the method can include generating a safety zone for the mobile robot. For example, block 602 can include generating, based on the front overhang, the back overhang, the left overhang, the right overhang, and the type of the mobile robot, at least one safety zone for operation of the mobile robot, the safety zone defining a boundary around the mobile robot within which an object detected by an environmental sensor of the mobile robot will trigger a controlled stop of the mobile robot to avoid collision with the object. In some embodiments, the safety zone is further generated based on linear velocity information, rotational velocity information, linear deceleration information, rotational deceleration, and environmental sensor information associated with the type of the mobile robot.

[0076] In some embodiments, the safety zone includes one or more safety zones associated with linear motion of the mobile robot, one or more safety zones associated with rotational motion of the mobile robot, and / or one or more safety zones associated with combined linear and rotational motion of the mobile robot. In some embodiments, each of the one or more safety zones associated with linear motion of the mobile robot is further associated with a linear velocity range. In some embodiments, each of the one or more safety zones associated with rotational motion of the mobile robot is associated with a rotational velocity range. In some embodiments, each of the one or more safety zones associated with combined linear and rotational motion of the mobile robot is associated with a linear velocity range and a rotational velocity range. In some embodiments, the safety zone is further generated based on a number, position, and size of the pillars such that the safety zone includes one or more cutouts from the safety zone associated with each of the pillars.

[0077] At block 608, the method can include transmitting, via the communication module, the safety zone to the mobile robot, whereby the mobile robot operates based in part on the at least one safety zone.

[0078] In some embodiments, the methods, techniques, microprocessors and / or controllers described herein are implemented by one or more special purpose computing devices. The special purpose computing device can be hard-wired to perform the techniques, or can include digital electronic devices such as one or more application-specific integrated circuits (ASICs) or field programmable gate arrays (FPGAs) that are persistently programmed to perform the techniques, or can include one or more general purpose hardware processors programmed to perform the techniques pursuant to program instructions in firmware, memory, other storage, or a combination. The instructions can reside collectively or individually in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM, or any other form of non-transitory computer- readable storage medium. The special purpose computing device can also combine self- defining hard-wired logic, ASICs, or FPGAs with self-defining programming to realize the techniques. The special purpose computing device can be a desktop computer system, a server computer system, a portable computer system, a handheld device, a network device, or any other device that incorporates hard-wired and / or program logic to implement the techniques.

[0079] The microprocessors or controllers described herein can be coordinated by operating system software. In other embodiments, the computing device can be controlled by a proprietary operating system. Conventional operating systems control and schedule computer processes for execution, perform memory management, provide file system, networking, I / O services, and provide user interface functionality such as a graphical user interface ("GUI").

[0080] The microprocessors and / or controllers described herein can implement the techniques described herein using custom hard-wired logic, one or more ASICs or FPGAs, firmware and / or program logic that converts the microprocessor and / or controller into a particular machine for the techniques. According to one embodiment, the controller responds to an input by performing some or all of the techniques disclosed herein in response to the one or more sequences of instructions contained in memory. Such instructions can be read into memory from another storage medium, such as a storage device. Execution of the sequences of instructions contained in the memory causes the processor or controller to perform the process steps described herein. In alternative embodiments, hard-wired circuitry can be used in place of, or in combination with, software instructions.

[0081] Furthermore, various illustrative logical blocks and modules described in connection with the embodiments disclosed herein can be implemented or performed by a machine, such as a processor device, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field- programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A processor device can be a microprocessor, but in the alternative, the processor device can be a controller, a microcontroller, or a state machine, combinations of the

[0082] Unless the context clearly requires otherwise, throughout the description and the claims, the words "comprise," "comprising," "include," "including," and the like are to be construed in an inclusive sense, as opposed to an exclusive or exhaustive sense; that is to say, in the sense of "including, but not limited to." As used herein, the terms "coupled" or "connected" mean a direct connection or an indirect connection via one or more intermediary devices. Additionally, the words "herein," "above," "below," and words of similar import, when used in this application, refer to this application as a whole and not to any particular portions thereof. Where the context permits, words in the detailed description using the singular or plural number can also include the plural or singular number respectively. The word "or" in reference to a list of two or more items is intended to cover all of the following interpretations of the word: any of the items in the list, all of the items in the list, and any combination of the items in the list. All numerical values provided herein are intended to include similar values within a range of measurement error.

[0083] While the present disclosure includes some embodiments and examples, it will be understood by those skilled in the art that the scope extends beyond the specifically disclosed embodiments to other alternative embodiments and / or uses of the disclosure and obvious modifications and equivalents thereof. In addition, while the description above contains many specificities, these should not be construed as limiting the scope of the disclosure but as merely providing illustrations of some of the various aspects and embodiments. It will also be appreciated by those skilled in the art that other modifications could be made which fall within the scope of the present disclosure. It will be also be appreciated that one or more specific features and aspects of the embodiments can be combined or sub-combined and still fall within the scope of the present disclosure. It should be understood that various features and aspects of the disclosed embodiments can be combined or substituted with each other, or with other features and aspects not expressly disclosed. Any method disclosed herein need not be performed in the order indicated. Hence, the scope should not be limited to the specific embodiments described herein, but rather it should be given the full breadth of the prior art to which the disclosure pertains.

[0084] Conditional language used herein, such as, among others, "can," "could," "might," "may," "e.g.," and the like, unless specifically stated otherwise, are generally intended to convey that certain embodiments include, while other embodiments do not include, certain features, elements and / or steps. Thus, such conditional language is not generally intended to imply that one or more features, elements and / or steps are required to some embodiments or that one or more embodiments necessarily include logic for deciding, with or without user input or prompting, whether these features, elements and / or steps are included or are to be performed in any particular embodiment. Any headings used herein are for convenience only and do not interpret the scope or meaning of the embodiments.

[0085] Moreover, while the devices, systems, and methods described herein can be susceptible to various modifications and alternative forms, specific examples thereof have been shown by way of example in the drawings and are herein described in detail. It should be understood, however, that the disclosure is not to be limited to the particular forms or methods disclosed, but to the contrary, the disclosure is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the various implementations described. Further, any particular feature, aspect, method, property, characteristic, quality, attribute, element, or the like as disclosed herein in relation to one implementation or embodiment can be incorporated or used in all other implementations or embodiments set forth herein. Any method disclosed herein need not be performed in the order indicated. The methods disclosed herein can include some actions performed by a practitioner; however, these methods can also include any third-party instructions, whether explicit or implicit.

[0086] Any ranges disclosed herein also encompass any and all overlap, sub-ranges, and combinations thereof. Language such as "up to," "at least," "greater than," "less than," "between," and the like includes the number recited. Numbers prefixed by terms such as "about" or "approximately" include the recited number and should be interpreted based on the circumstances (e.g., as accurate as possible in the particular circumstances, e.g., ±5%, ±10%, ±15%, etc.). For example, "about 3.5 millimeters" includes "3.5 millimeters." Phrases prefixed by terms such as "substantially" include the recited phrase and should be interpreted based on the circumstances (e.g., as reasonable as possible in the particular circumstances). For example, "substantially constant" includes "constant."

Claims

1. A system for generating at least one safety zone for a mobile robot, the system comprising: a processor; and a computer-readable memory in communication with the processor, the memory storing instructions executable by the processor to cause the system to: display, on a display, a user interface to a user, the user interface including input fields that allow the user to input: a front overhang, the front overhang associated with a distance in a forward direction that a top device to be used on the mobile robot extends beyond a front edge of the mobile robot; a rear overhang, the rear overhang associated with a distance in a rearward direction that the top device to be used on the mobile robot extends beyond a rear edge of the mobile robot; a left overhang, the left overhang associated with a distance in a leftward direction that the top device to be used on the mobile robot extends beyond a left edge of the mobile robot; a right overhang, the right overhang associated with a distance in a rightward direction that the top device to be used on the mobile robot extends beyond a right edge of the mobile robot; and a type of the mobile robot; generate, based on the front overhang, the rear overhang, the left overhang, the right overhang, and the type of the mobile robot, at least one safety zone for operation of the mobile robot, the safety zone defining a boundary around the mobile robot within which an object detected by an environmental sensor of the mobile robot will trigger a controlled stop of the mobile robot to avoid collision with the object. the instructions further cause the system to transmit the at least one safety zone to the mobile robot, whereby the mobile robot operates based in part on the at least one safety zone.

2. The system of claim 1, further comprising a communication module, and wherein, the at least one safety zone comprises a plurality of safety zones, and the plurality of safety zones includes:

3. The system of claim 1, wherein, one or more safety zones associated with linear motion of the mobile robot; one or more safety zones associated with rotational motion of the mobile robot; and one or more safety zones associated with combined linear and rotational motion of the mobile robot.

4. The system of claim 3, wherein, each of the one or more safety zones associated with linear motion of the mobile robot is further associated with a linear velocity range; each of the one or more safety zones associated with rotational motion of the mobile robot is associated with a rotational velocity range; and each of the one or more safety zones associated with combined linear and rotational motion of the mobile robot is associated with the linear velocity range and the rotational velocity range. the instructions further cause the system to:

5. The system of claim 1, wherein, access a database storing information regarding a plurality of types of mobile robots, the information including dimensions, linear velocity information, rotational velocity information, linear deceleration information, rotational deceleration, and environmental sensor information for each of the plurality of types of mobile robots. ​ 6. The system of claim 5, wherein, The at least one safety zone is generated based on the linear velocity information, the rotational velocity information, the linear deceleration information, the rotational deceleration, and the environmental sensor information associated with each type of mobile robot.

7. The system of claim 1, wherein, The input fields of the user interface further allow the user to input: a number of columns associated with the top device; and a position and a size associated with each column.

8. The system of claim 7, wherein, The at least one safety zone is generated based on the number, position, and size of the columns, and wherein the at least one safety zone includes one or more exemptions zones of the safety zone associated with each column.

9. The system of claim 1, wherein, The environmental sensors include LiDAR sensors.

10. The system of claim 1, wherein, The at least one safety zone includes a pair of sub-zones, each sub-zone associated with one of a pair of environmental sensors of the mobile robot.

11. A method for generating at least one safety zone for a mobile robot, the method comprising the steps of: causing a user interface to be displayed to a user on a display, the user interface including input fields that allow the user to input: a front overhang, the front overhang associated with a distance in a forward direction that a top device to be used on the mobile robot extends beyond a front edge of the mobile robot; a rear overhang, the rear overhang associated with a distance in a rearward direction that the top device to be used on the mobile robot extends beyond a rear edge of the mobile robot; a left overhang, the left overhang associated with a distance in a leftward direction that the top device to be used on the mobile robot extends beyond a left edge of the mobile robot; a right overhang, the right overhang associated with a distance in a rightward direction that the top device to be used on the mobile robot extends beyond a right edge of the mobile robot; and a type of the mobile robot; receiving the user input of the front overhang, the rear overhang, the left overhang, the right overhang, and the type of the mobile robot; and generating, based on the front overhang, the rear overhang, the left overhang, the right overhang, and the type of the mobile robot, at least one safety zone for operation of the mobile robot, the safety zone defining a boundary around the mobile robot within which an object detected by an environmental sensor of the mobile robot will trigger a controlled stop of the mobile robot to avoid collision with the object. transmitting, via a communication module, the at least one safety zone to the mobile robot, whereby the mobile robot operates based in part on the at least one safety zone.

12. The method of claim 11, further comprising the step of: The at least one safety zone includes a plurality of safety zones, and the plurality of safety zones includes:

13. The method of claim 11, wherein, one or more safety zones associated with linear motion of the mobile robot; one or more safety zones associated with rotational motion of the mobile robot; and one or more safety zones associated with combined linear motion and rotational motion of the mobile robot.

14. The method of claim 13, wherein, ​ Each of the one or more safety zones associated with linear motion of the mobile robot is further associated with a linear velocity range; Each of the one or more safety zones associated with rotational motion of the mobile robot is associated with a rotational velocity range; and Each of the one or more safety zones associated with combined linear and rotational motion of the mobile robot is associated with the linear velocity range and the rotational velocity range.

15. The method of claim 11, further comprising the steps of: accessing a database storing information regarding a plurality of types of mobile robots, the information including dimensions, linear velocity information, rotational velocity information, linear deceleration information, rotational deceleration, and environmental sensor information for each of the plurality of types of mobile robots.

16. The method of claim 15, wherein, The at least one safety zone is generated based on the linear velocity information, the rotational velocity information, the linear deceleration information, the rotational deceleration, and the environmental sensor information associated with each of the types of mobile robots.

17. The method of claim 11, wherein, The input fields of the user interface further allow the user to input: a number of columns associated with the top device; and a location and dimensions associated with each column.

18. The method of claim 17, wherein, The at least one safety zone is generated based on the number, location, and dimensions of the columns, and wherein the at least one safety zone includes one or more exemptions of the safety zone associated with each column.

19. The method of claim 11, wherein, The environmental sensor includes a LiDAR sensor.

20. The method of claim 11, wherein, The at least one safety zone includes a pair of sub-zones, each sub-zone associated with one of a pair of environmental sensors of the mobile robot. The at least one safety zone includes a pair of sub-zones, each sub-zone associated with one of a pair of environmental sensors of the mobile robot.