Mobile Robot Localization System

The mobile robot system uses dual laser scanners to adapt localization modes for dynamic environments, enhancing accuracy and navigation by selectively using one or both scanners based on environmental conditions.

JP2025535047AActive Publication Date: 2025-10-22OMRON CORP
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2025519630
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-10-14
Filing Date
2023-10-05
Publication Date
2025-10-22
Estimated Expiration
2043-10-05

AI Technical Summary

Technical Problem

Existing mobile robot localization systems are inadequate for accurately determining the position and orientation of robots in dynamic or changing environments, leading to potential disorientation and navigation failures.

Method used

A mobile robot equipped with dual laser scanners that operate in a first mode using both scanners for comprehensive localization and a second mode using a single scanner when in designated dynamic areas, based on orientation and position relative to a designated area, to enhance localization accuracy.

Benefits of technology

Improves localization accuracy by adapting to dynamic environments, reducing the likelihood of robot disorientation and ensuring reliable navigation by selectively using laser scanners based on environmental conditions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025535047000001_ABST
    Figure 2025535047000001_ABST
Patent Text Reader

Abstract

The mobile robot includes a first laser scanner and a second laser scanner. The robot position is compared to a designated area to determine whether the robot is within the designated area. One of the first laser scanner or the second laser scanner is selected for use in localization based at least on whether the robot is within the designated area. A laser scan is performed using the selected one of the first laser scanner or the second laser scanner to provide laser scan information. The laser scan information is compared to a mapping of the area surrounding the robot to determine the position of the robot.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims the benefit under 35 U.S.C. §119(e) of U.S. Provisional Patent Application No. 63 / 379,635, entitled "Mobile Robot Localization System," filed October 22, 2022. The entire contents of each of the above applications are incorporated herein by reference and made a part hereof for all that they disclose.

[0002] Some embodiments disclosed herein relate to a localization system for a mobile robot. [Background technology]

[0003] While various localization systems are known for enabling mobile robots to identify their location within an environment, there remains a need for improved mobile robot localization systems. Summary of the Invention

[0004] Certain exemplary aspects of the present disclosure are summarized below for illustrative purposes. The present disclosure is not limited to the particular embodiments described herein. Aspects of the present disclosure may include several novel features, no single one of which is solely responsible for its desirable attributes.

[0005] Various aspects of the present disclosure relate to a mobile robot that can include a drive system configured to move the mobile robot, a first laser scanner, a second laser scanner, a hardware processor, and a computer-readable memory containing a map of an environment, a designated area within the map of the environment, a robot position, and a direction relative to the designated area. The computer-readable memory has instructions executable by the processor to cause the robot to compare the robot position with the designated area to determine whether the robot is inside or outside the designated area. If the robot position is outside the designated area, the robot performs a first laser scan using the first laser scanner to provide first laser scanning information, a second laser scan using the second laser scanner to provide second laser scanning information, and compares the first laser scanning information and the second laser scanning information with the map of the environment to determine a new robot position. When the robot position is within the designated area, the robot compares the robot's orientation with a direction associated with the designated area to determine an angle between the robot's orientation and the direction associated with the designated area, identifies one of the first laser scanner or the second laser scanner based at least in part on the determined angle, performs a laser scan using one of the first laser scanner or the second laser scanner to provide laser scanning information, and compares the laser scanning information with a map of the environment to determine a new robot position.

[0006] The first laser scanner and the second laser scanner together provide a laser scanning range extending 360 degrees around the robot, the first laser scanner having a laser scanning range of at least about 180 degrees, and the second laser scanner having a laser scanning range of at least about 180 degrees. The laser scanning range of the first laser scanner may overlap with the laser scanning range of the second laser scanner.

[0007] Various aspects of the present disclosure relate to a mobile robot including a drive system configured to move the mobile robot, a first laser scanner, a second laser scanner, and a localization system configured to operate in a first mode to determine a position of the robot using both the first laser scanner and the second laser scanner, and the localization system configured to operate in a second mode to determine a position of the robot using only one of the first laser scanner and the second laser scanner.

[0008] The localization system is configured to determine whether to operate in a first mode or a second mode based at least in part on the position of the robot. The localization system may be configured to compare the position of the robot with a designated area to determine whether the robot is within the designated area. The localization system may be configured to operate in the first mode when the robot is outside the designated area and to operate in the second mode when the robot is within the designated area. The localization system may be configured to compare the orientation of the robot with a direction associated with the designated area and select one of the first laser scanner or the second laser scanner to use for localization based at least in part on the comparison of the orientation of the robot with the direction associated with the designated area. The localization system may be configured to determine an angle between the orientation of the robot and the direction associated with the designated area. The localization system may use the first laser scanner for localization when the angle is within a first angle range. The localization system may use the second laser scanner for localization when the angle is within a second angle range. The localization system may be configured to select one of the first laser scanner or the second laser scanner to use for localization based at least in part on the orientation of the robot. The localization system may be configured to execute a first operational mode by performing a first laser scan using a first laser scanner to provide first laser scanning information, performing a second laser scan using a second laser scanner to provide second laser scanning information, and comparing the first laser scanning information and the second laser scanning information with a map of the environment to determine an updated robot position. The first laser scanner and the second laser scanner together provide a laser scanning range extending 360 degrees around the robot. The first laser scanner has a laser scanning range of at least approximately 180 degrees. The second laser scanner has a laser scanning range of at least approximately 180 degrees. The laser scanning range of the first laser scanner may overlap with the laser scanning range of the second laser scanner.

[0009] Various aspects of the present disclosure relate to a method for determining a position of a mobile robot including a first laser scanner and a second laser scanner. The method includes comparing the robot position to a designated area to determine that the robot is within the designated area. In response to determining that the robot is within the designated area, the method may include selecting one of the first laser scanner or the second laser scanner to use for localization. The method may include performing a laser scan using the selected one of the first laser scanner or the second laser scanner to provide laser scan information. The method may include comparing the laser scan information to a mapping of an area surrounding the robot to determine the position of the robot.

[0010] The first laser scanner and the second laser scanner together provide a laser scanning range extending 360 degrees around the robot. The first laser scanner has a laser scanning range of at least about 180 degrees. The second laser scanner has a laser scanning range of at least about 180 degrees. The method may include comparing an orientation of the robot to a direction associated with the designated area and selecting one of the first laser scanner or the second laser scanner to use for localization based at least in part on the comparison of the orientation of the robot to the direction associated with the designated area. The method may include determining an angle between the orientation of the robot and the direction associated with the designated area and selecting the first laser scanner to use for localization based at least in part on the determined angle. The method may include selecting one of the first laser scanner or the second laser scanner to use for localization based at least in part on the orientation of the robot.

[0011] Various aspects of the present disclosure relate to a method that includes accessing a map of an environment, designating a first region within the map of the environment for a first type of robot localization, and designating a second region within the map of the environment for a second type of robot localization.

[0012] The first type of robot localization may use a multi-laser scanner localization operation. The second type of robot localization may use a single laser scanner localization operation. One of the first or second type of robot localization may use GPS localization. One of the first or second type of robot localization may use overhead light localization.

[0013] Various aspects of the present disclosure relate to a method that includes accessing a map of an environment. The method includes determining whether a robot is in a first region within the map of the environment and performing a first type of robot localization when the robot is in the first region. The method may also include determining whether the robot is in a second region within the map of the environment and performing a second type of robot localization when the robot is in the second region. The first type of robot localization may use a multi-laser scanner localization operation. The second type of robot localization may use a single-laser scanner localization operation. One of the first or second types of robot localization may use GPS localization. One of the first or second types of robot localization may use overhead light localization.

[0014] Certain embodiments will be described in detail with reference to the following figures, wherein like reference numerals refer to like features throughout. These figures are provided for illustrative purposes, and embodiments are not limited to the specific implementations shown in the figures. [Brief explanation of the drawings]

[0015] [Figure 1] FIG. 1 illustrates an exemplary embodiment of a mobile robot. [Figure 2] 1 is a schematic diagram of an exemplary embodiment of a mobile robot; [Figure 3] FIG. 1 is a plan view of a robot in a first orientation performing a scan of an environment using two laser scanners. [Figure 4]FIG. 10 is a top view of the robot in a second orientation and performing a scan of the environment using two laser scanners. [Figure 5] FIG. 1 is a top view of the robot in a first orientation and performing a scan of the environment using only the forward laser scanner. [Figure 6] FIG. 10 is a top view of the robot in a second orientation and performing a scan of the environment using only the rear laser scanner. [Figure 7] 1 is a flowchart of an exemplary method for performing a localization procedure for a mobile robot. DETAILED DESCRIPTION OF THE INVENTION

[0016] Various features and advantages of the systems, devices, and methods of the technology described herein will become more fully apparent from the following description of illustrated examples. These examples are intended to illustrate the principles of the disclosure, and the disclosure should not be limited to only the illustrated examples. Features of the illustrated examples can be modified, combined, removed, and / or substituted as would be apparent to one skilled in the art in light of the principles disclosed herein.

[0017] Mobile robot FIG. 1 shows an exemplary embodiment of a mobile robot 100. FIG. 2 shows a schematic diagram of the mobile robot 100. The mobile robot 100 has a chassis or housing 102 that can support various other components of the robot 100. Some components can be located inside the housing 102 and can be at least partially exposed so that they can interact with entities outside the housing 102. The robot 100 has a drive system 104 configured to move the robot 100. For example, the robot 100 has one or more drive wheels 106 that can be driven by at least one motor (not visible in FIG. 1). In some embodiments, two or more drive wheels 106 are independently driven to move the mobile robot 100 forward, backward, turn, etc. In some embodiments, a steering mechanism (e.g., pivot wheels) rotates the robot 100. In some cases, one or more non-drive wheels 108 (e.g., caster wheels) may support the robot 100. In some embodiments, drive system 104 includes a braking system (e.g., not visible in FIG. 1 ) configured to stop robot 100. Various other suitable drive systems, such as tracks or legs, may also be used.

[0018] The robot 100 includes a power source 110, such as a battery. The battery is rechargeable, and the robot 100 is configured to dock with a charging station (e.g., via an electrical interface) for the battery. The power source 110 provides power to operate the drive system 104 (e.g., one or more electric motors), various sensors, processors, controllers, and other systems disclosed herein. The power source 110 may provide DC or AC power. Any suitable type of power source 110 may be used.

[0019] The robot 100 has one or more environmental sensors 112 that can be used to sense or measure the environment around the robot 100. The environmental sensor 112 is, for example, a lidar system. The environmental sensor 112 includes at least one laser capable of emitting laser pulses over a range of angles. The environmental sensor 112 includes a photodetector capable of receiving light from the laser pulses reflected by the environment (e.g., objects) around the robot 100. The received light is used to determine the position of objects around the robot 100. For example, the direction of the emitted laser pulse and / or the direction of the received light indicates the direction of the object, and the timing (e.g., time-of-flight) of the emitted laser pulse and / or the received light indicates the distance of the object from the robot. The housing 102 of the robot 100 has an opening 114, such as a substantially horizontal slit, to allow light to enter and exit the environmental sensor 112 of the robot 100 (e.g., over a range of angles). Although various embodiments are described herein with reference to examples using laser scanners, various other types of environmental sensors 112 may be used, such as a video analytics system that analyzes video from a camera on the robot 100 to identify objects or other environmental features, a sonar system, a thermal sensor, and / or a GPS sensor.

[0020] The system includes a controller 116 that can operate various aspects of the robot 100. For example, the controller 116 interprets information from the environmental sensors 112 to perform localization (e.g., to estimate where the robot is located in a map of the environment), identify objects, determine distance to or location of objects, operate the drive system 104, perform navigation and / or collision avoidance maneuvers, perform safety stops or emergency braking, or various other features and functions of the robot 100. Various functions of the robot 100 disclosed herein can be performed by the controller 116, even if the controller 116 is not specifically discussed.

[0021] The robot 100 includes at least one processor 118, such as a hardware processor. The processor 118 includes circuitry configured to perform operations to implement the various functions and features described herein. In some embodiments, the robot 100 includes multiple processors 118, with different tasks being performed by different processors 118. The robot 100 includes memory 120, such as computer-readable memory (e.g., non-transitory computer-readable memory). The memory 120 includes RAM, ROM, non-volatile memory, flash memory, a hard disk, or any other suitable type of memory. In some embodiments, the robot 100 includes multiple memory components that store different types of information or instructions for different functions or features. The memory 120 includes instructions executable 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 embodiments, the functions and / or features may be implemented by an integrated circuit or other dedicated processor specifically configured to perform the functions and features disclosed herein.

[0022] The robot 100 includes a communication interface 122 used to transmit information from the robot 100 and / or receive information from an external device. The communication interface 122 may be wireless, such as using Wi-Fi®, Bluetooth®, or any other suitable wireless communication protocol. In some embodiments, the communication interface 122 may use a wired connection. For example, the communication interface 122 includes a port or plug configured to connect to a corresponding plug or port coupled to an external device to enable communication therebetween. For example, a USB port is used, although various types of ports or other wired connections may be used. In some cases, a user may connect a laptop, smartphone, or other computing device to the robot 100 via the communication interface to adjust parameters of the robot 100, diagnose problems with the robot 100, update features of the robot 100, etc.

[0023] The robot 100 includes a user interface 124 that is used to receive input from a user and / or provide output (e.g., information) to a user. The user interface 124 includes one or more buttons 126, switches, dials, or other user input elements, a touchscreen, a display, one or more lights, speakers, microphones, etc. In some cases, the user may provide input to adjust parameters of the robot 100.

[0024] The robot 100 includes a localization system 128 that the robot 100 uses to determine its location within the environment. The robot 100 has a map of the expected environment (e.g., stored in memory 120). The localization system measures environmental characteristics around the robot 100 using environmental sensors 112. The localization system 128 compares the measured characteristics of the environment to the map of the expected environment to determine the location of the robot 100 within the environment. For example, the localization system 128 analyzes how well the measured environmental information matches the expected environmental information for multiple robot positions. The localization system 128 identifies the robot position where the measured environmental information better or best matches the expected environmental information. The localization system 128 determines the position and / or orientation (e.g., azimuth) of the robot 100, such as by comparing information from the environmental sensors 112 to the map information.

[0025] The robot 100 includes a navigation system 130. The navigation system 130 receives a destination and / or one or more waypoints, such as from the user interface 124 or the communication interface 122, or determined by the controller 116. The navigation system 130 uses the current position of the robot 100, determined by the localization system 128, to determine a path from the current position to the destination or waypoint. The navigation system 130 may receive environmental information (e.g., object positions) from the environmental sensors 112 and use that information to determine a path to the destination or waypoint. The navigation system 130 determines trajectory information for navigating the robot 100 (e.g., toward the destination). The trajectory information includes a path or route. The trajectory information includes one or more velocities of the robot (e.g., at one or more portions or positions along the path or route). In some cases, the navigation system 130 determines intermediate waypoints based on the environmental information. In some embodiments, the navigation system 130 corrects the trajectory information while the robot 100 is moving. For example, if an object moves or a new unmapped object is detected (e.g., by the environmental sensors 112), the navigation system 130 may decide to change the path or route of the robot 100 and / or may decide to change the speed of the robot 100, for example, to avoid a collision with the detected object.

[0026] The robot 100 includes a safety system 132 that can determine when a safety event occurs and can perform an emergency stop in response to the safety event. The safety system 132 determines whether an object is inside the robot's active safety region. The safety zone forms a boundary around the robot 100. The safety zone extends in front of the robot 100 along the robot's direction of travel (e.g., has an approximately fan-shaped or trapezoidal shape extending along a direction extending away from the robot 100). The safety zone may be larger when the robot 100 is moving at a faster speed or smaller when the robot 100 is moving at a slower speed. The safety system 132 determines whether any object is inside the current safety zone. If an object is identified within the safety region, the safety system 132 implements a safety procedure, such as stopping the robot 100. The safety system 132 uses the environmental sensors 112 (e.g., laser scanner 112a and / or laser scanner 112b) to determine the object's location.

[0027] 1 includes a first laser scanner 112a disposed at a first location on the robot 100, such as the front right corner. The robot 100 includes a second laser scanner 112b disposed at a second location generally opposite the first location, such as the rear left corner. The first laser scanner 112a has a scanning range generally across the front of the robot 100 and across a first side (e.g., right side) of the robot 100. The second laser scanner 112b has a scanning range generally across the back of the robot 100 and across a second side (e.g., left side) of the robot 100. The first laser scanner 112a and / or the second laser scanner 112b each have a scanning range of approximately 180 degrees, approximately 195 degrees, approximately 210 degrees, approximately 225 degrees, approximately 240 degrees, approximately 255 degrees, approximately 260 degrees, approximately 265 degrees, approximately 270 degrees, approximately 275 degrees, approximately 280 degrees, approximately 285 degrees, or more, or any value or range between any of these values, although other designs are also possible. The two laser scanners 112a and 112b have a combined range that extends a full 360 degrees around the robot 100. The scanning range of the first laser scanner 112a may overlap with the scanning range of the second laser scanner 112b. The housing 102 has a protrusion 113 at the first corner bearing the first laser scanner 112a to allow the first laser scanner 112a to scan a wider range without hitting the housing 102 of the robot 100. The housing 102 has a protrusion 115 at a second corner that has the second laser scanner 112b, allowing the second laser scanner 112b to scan a larger area without hitting the housing 102 of the robot 100. The opening 114 is a channel or slot that allows the first laser scanner 112a and / or the second laser scanner 112b to have a larger scanning area without hitting the robot 100. In some embodiments, the opening 114 (e.g., a channel or slot) extends the entire perimeter of the robot 100.

[0028] Dynamic Location The localization system 128 of the robot 100 uses information from both laser scanners 112a and 112b to determine the location of the robot 100 in a first mode of operation. The localization system 128 may use information from only one of the laser scanners 112a or 112b to determine the location of the robot 100 in a second mode of operation. In some embodiments, the robot 100 defaults to the first mode of operation. In many situations, scanning the entire 360-degree area around the robot 100 is beneficial to provide the localization system 128 with as much information as possible to determine the location of the robot 100. However, as described herein, in some situations, areas of the environment may be unreliable for performing localization. For example, the unreliable area may be an unmapped area of ​​the environment, a loading area where boxes or other items are frequently rearranged, a high-traffic area where other robots or people are frequently present, or some other dynamic area where the actual scan of the area often does not match well with the mapping of the area. Using laser scanning information in unreliable areas can hinder the localization process and in some cases can cause the robot 100 to lose track and not know its location in the environment or on the map.

[0029] In some embodiments, the robot 100 uses a second mode of operation such that the localization system 128 performs localization using information from only one of the laser scanners 112a and 112b. The laser scanner 112a or 112b that is not pointed toward the unreliable area may be used, and information from the other laser scanner 112b or 112a that is pointed toward the unreliable area may be omitted. In some cases, such as for collision avoidance, safety checks, or navigation, both laser scanners 112a and 112b may continue to operate, but the localization system 128 may determine the robot's location without using information from the laser scanner 112a or 112b that scans the unreliable area. This prevents the robot 100 from becoming disoriented or lost if the scan of the unreliable area does not match the mapping of the reliable area.

[0030] 3 and 4 show an example of a robot 100 scanning an environment. A map of the environment is shown in the shape of a circle. The robot 100 has a map of the environment stored in its memory 120. Various types of maps can be used. For example, the map may be generated using a lidar system or other laser scanner. The map may include information about various locations where structures were detected while mapping or scanning the environment. In some cases, the map is generated by the robot 100 itself, such as during a preliminary mapping operation, or a separate scanning or mapping device or system may be used. In some cases, the map may include a structural layout of the environment, such as showing walls, pillars, fixtures, etc., or information about the locations of those features. The map reflects how the environment existed at the time the map was created. In some cases, the actual layout of the environment may differ from the information in the map. For example, objects may have moved since the map was created, or additional structures may have been added to the area, or another robot or person may have moved through the area. In some cases, the map may be an excerpt of a map and may be of a larger area than that shown in FIGS. 3 and 4. 3 and 4 also show a target location 148 (e.g., a waypoint destination) with a location on a map. In some cases, the robot 100 knows its location on the map and therefore can know its position relative to the target location 148.

[0031] 3 and 4 show a first dot or point having a square shape at a location where the first laser scanner 112a identified a structure (e.g., where light from the first laser scanner 112a reflected back to the first laser scanner 112a). FIGS. 3 and 4 show a second dot or point having a triangular shape at a location where the second laser scanner 112b identified a structure (e.g., where light from the second laser scanner 112b reflected back to the second laser scanner 112b). In FIG. 3, the robot 100 faces left, with the first laser scanner 112a scanning the left and top areas of FIG. 3, and the second laser scanner 112b scanning the right and bottom areas of FIG. 3. In FIG. 4, the robot 100 faces right, with the first laser scanner 112a scanning the right and bottom areas of FIG. 4, and the second laser scanner 112b scanning the top and left areas of FIG. 4. In both Figures 3 and 4, the scanning areas of the first and second laser scanners 112a, 112b overlap in the upper right and lower left regions. In Figure 3, the lower right region is scanned only by the second laser scanner 112b, and the upper left region is scanned only by the first laser scanner 112a. In Figure 4, the lower right region is scanned only by the first laser scanner 112a, and the upper left region is scanned only by the second laser scanner 112b.

[0032] Many of the first and second dots align with features in the mapping of the environment, indicating that these particular features have not changed since the environment was mapped. However, in some cases, some of the first and / or second dots are located between the robot 100 and the mapped features. This indicates that some new features were added or moved after the environment was mapped. For example, region 150 does not contain any mapped features, but a laser scan performed by the robot identifies a feature in region 150. This may be because a box or other item was placed in region 150 after the environment was mapped. In some cases, the first and / or second dots are located behind a mapped feature (e.g., a feature mapped between the dot and the robot 100). This indicates that some mapped features have been removed. For example, region 152 has a mapped feature, but the first and second dots are located behind region 152 in a different configuration. This may be because a box or other item was present at location 152 during the mapping of the environment but was later removed.

[0033] 3 and 4, robot 100 is shown at its location within the environment. In some situations, robot 100 does not know its location within the environment and performs an initial location operation to determine its location. In some cases, a user may specify the initial location via user interface 122. As the robot moves, it repeatedly or periodically performs location operations (e.g., against a map of the environment) to update the robot's location. Robot 100 performs laser scans of the environment (e.g., using one or both of laser scanners 112a and 112b). Using the laser scan information, robot 100 knows the location of the first and second dots relative to robot 100, but robot 100 does not yet know the location of the mapped structure (e.g., or target location 148). Localization system 128 may compare the laser scan information to map locations, identify locations on the map where the laser scan information sufficiently matches the map information, and determine that robot 100 is located (e.g., position and / or orientation) at that location. In some cases, the laser scanning information does not perfectly match the map information when analyzed with the robot's actual location, such as when objects have been moved or added after the environment has been mapped, as described herein. The more closely the laser scanning information matches the mapping information, the more reliably the localization system 128 can determine the robot's location. For example, in Figures 3 and 4, the laser scanning information for some areas (e.g., areas 150, 152, and 154) does not match the map information, but there is sufficient correspondence between the scanned locations and the locations of structures on the map that the localization system 128 can accurately and / or reliably determine the location of the robot 100 on the map (e.g., relative to the structure of the environment).

[0034] If the actual structure of the environment being scanned by the robot differs sufficiently from the mapped environment, the localization system 128 may not be able to accurately and / or confidently determine the location of the robot 100 on the map. As a result, the robot 100 may become lost. In some cases, the robot 100 may not be able to navigate to the target location 148 because the robot 100 does not know its location relative to the target location 148.

[0035] Some areas may be more dynamic or changing than others. For example, a loading or staging area may change frequently as items are loaded and unloaded. Therefore, laser scanning of that loading or staging area may not be useful to the localization system 128 and may reduce the reliability of the determined location or even cause the robot 100 to be lost. Other dynamic areas may include high-traffic areas, areas with moving devices, etc. In some cases, an area may not even be mapped. In some cases, as the robot 100 approaches a dynamic or unreliable area, its detrimental impact on the localization process may increase, for example, because the dynamic or unreliable area may occupy a larger portion of the laser scan range. As an example, the area in the lower right portion of FIGS. 3 and 4 (e.g., including location 154) may be a dynamic area (e.g., the loading area). As shown in FIGS. 3 and 4, the laser scan hit location indicated by the first dot in FIG. 4 and the second dot in FIG. 3 does not match well with the mapped structure around location 154.

[0036] In some embodiments, the robot 100 may default to a first localization mode that uses both laser scanners 112a and 112b. The robot 100 may change to a second localization mode that uses only one of the laser scanners 112a or 112b, such as when localization attempts using both laser scanners fail or when the robot 100 is near a dynamic or otherwise unreliable area for localization. A laser scanner 112a or 112b facing a dynamic or unreliable area may be omitted from the localization process. In some embodiments, regions of a map may be designated for the second localization mode (e.g., single laser scanner localization mode). Map data or other data may include coordinates, boundaries, or other information identifying one or more regions so that the robot 100 can determine whether it is within one of the one or more regions. The designated region information may be stored in the robot's memory 120 (e.g., as part of the map information or as separate information). The designated region may be a sector 160 of the map.

[0037] 5 and 6 show an example having a designated area 160 for localization of a single laser scanner. When the robot 100 is within the area 160, the robot 100 may use only one of the first and second laser scanners 112 a, 112 b for localization and omit information from the other of the first and second laser scanners 112 a, 112 b. The area 160 may be rectangular, or some other polygonal shape, or any other suitable shape.

[0038] A direction 162 or angle may be associated with the region 160. The direction 162 is used by the robot to determine which laser scanner 112a or 112b to use for a single laser scanner localization operation. The robot may determine the angle between the direction 162 and the direction the robot 100 is facing. In a first angular range, the robot 100 uses the first laser scanner 112a for localization while omitting information from the second laser scanner 112b. In a second angular range, the robot 100 uses the second laser scanner 112b for localization while omitting information from the first laser scanner 112a. The first angular range may be substantially 180 degrees. The second angular range may be substantially 180 degrees. In some embodiments, the first and second angular ranges do not overlap. The first angular range may be centered at approximately 180 degrees (meaning that the robot 100 faces in a direction opposite to the direction 162 associated with the area 160, as shown in FIG. 5 , for example) and extend from approximately 90 degrees to approximately 270 degrees. The second angular range may be centered at approximately 0 degrees (meaning that the robot 100 faces in the same direction as the direction 162 associated with the area 160, as shown in FIG. 6 , for example) and extend from approximately 270 degrees to approximately 90 degrees. Various other angular ranges may be used. For example, because the first laser scanner 112a scans forward and to the right, the first angular range may be centered at approximately 135 degrees and extend from approximately 45 degrees to approximately 225 degrees. Because the second laser scanner 112b scans backward and to the left, the second angular range may be centered at approximately 315 degrees and extend from approximately 225 degrees to approximately 45 degrees. Various other suitable angular ranges may be used.

[0039] In the example of FIG. 5, the direction in which the robot 100 is facing is substantially opposite to the direction 162 associated with the region 160. The angle between the directions is approximately 180 degrees, within a first angle range. Therefore, the robot 100 performs localization operations using only the first laser scanner 112a. Therefore, FIG. 5 includes only the first dot (e.g., shown in FIG. 5 as a square shape). In FIG. 5, the region 154 was not scanned by the robot 100 in connection with localization.

[0040] In the example of FIG. 6, the direction in which the robot 100 is facing is substantially the same as the direction 162 associated with the region 160. The angle between the directions is approximately 0 degrees and is within a second angle range. Therefore, the robot 100 performs localization operations using only the second laser scanner 112b. Therefore, FIG. 6 includes only the second dot (e.g., shown as a triangle in FIG. 6). In FIG. 6, the region 154 was not scanned by the robot 100 in connection with localization.

[0041] The direction 162 refers to a direction that the robot 100 ignores for localization operations, such as a dynamic or unreliable area (e.g., generally toward location 154). The direction 162 refers to a direction away from the direction the robot scans when performing a single laser scanner localization operation. Alternatively, the direction 162 refers to the direction the robot scans the environment to perform localization. That is, the direction 162 refers to a direction away from dynamic or unreliable areas that the user wants to avoid scanning when performing localization. The selection of the first or second laser scanner 112a, 112b may be switched from the examples described in connection with FIGS. 5 and 6.

[0042] In some embodiments, a user may specify the region 160, such as the shape, location, and / or size of the region 160, and the direction 162 of the region. A user interface 124 on the robot 100 may be used to specify the region 160 and / or the direction 162. A user interface 124 on a separate system (e.g., a computer, a smartphone, or a tablet) may also be used to specify the region 160 and / or the direction 162. The region 160 and / or the direction 162 may be communicated to the robot 100 via the communication interface 122. Information about the region 160 and / or the direction 162 may be stored on the member 120 of the robot 100, for example, along with map information used for location determination.

[0043] 7 is a flowchart of an example method 200 for performing localization for a mobile robot, such as when operating in a mapped environment. The method may be performed by the robot 100 to enable the robot to determine its own position. In some cases, at least a portion of the localization analysis may be performed by a separate system. For example, the robot 100 may transmit laser scanning information to a separate system for localization analysis, and the separate system may feed back the determined position of the robot.

[0044] In block 202, the robot position is compared to designated region 160 to determine whether the robot position is within the designated region. The robot's position from a previous localization operation may be used. If, in block 204, the robot position is outside the region, the method proceeds to block 206, where dual laser scanner localization is performed. In block 206, information from both laser scanners is obtained and used for localization. In some cases, the laser scan information from both laser scanners may be combined. In block 208, the laser scanner information (e.g., from both laser scanners 112a and 112b) is compared with map information, such as to find a position where the laser scanner information sufficiently matches the map information, and in block 210, that position is determined to be the new robot position. The robot position may be updated in the robot 100's own memory, in another system, etc. Then, in block 214, the method repeats, such as returning to block 202. In some cases, the robot may move between localization procedures so that it is in a different position for the next localization.

[0045] If, at block 204, the robot position is inside the region, the method proceeds to block 216, where single laser scanner localization is performed. In block 216, the orientation of the robot is compared to an orientation associated with the region, such as to determine the angle between the direction the robot is facing and the direction of the region. In block 218, the first laser scanner 112a or the second laser scanner 112b is selected for use during localization based on a comparison of the orientation of the robot with the direction or angle associated with the region. For example, if the angle between the orientation of the robot and the direction of the region is within a first range, only the first laser scanner 112a is used for localization. If the angle between the orientation of the robot and the direction of the region is within a second range, only the second laser scanner 112b is used for localization.

[0046] In block 220, information from one laser scanner is obtained and used for localization (e.g., the other laser scanner is not operational or is ignored by the localization procedure). In block 222, the laser scanner information (e.g., from one of laser scanners 112a or 112b) is compared to the map information, such as to find a location where the laser scanner information sufficiently matches the map information, and in block 224, that location is determined to be the new robot position. The robot position may be updated in the robot 100's own memory, in another system, etc. Then, in block 214, the process repeats, such as returning to block 202. In some cases, the robot may move between localization procedures, so that the robot is in a different position for the next localization.

[0047] Many alternatives are possible. In some embodiments, the robot 100 may have three or more laser scanners, such as three, four, five, six, eight, or more laser scanners. The first localization mode uses more laser scanners than the second localization mode. In some embodiments, single laser scanner localization may be the default, and the user may designate areas for dual laser scanner localization. In some embodiments, the user may designate other areas for other types of localization, such as GPS-based localization, or overhead light localization, or any other suitable type of localization. For example, the user may designate outdoor areas using GPS localization, illuminated indoor areas using overhead light localization, and other indoor areas using laser scanner localization (e.g., single and / or dual laser scanner localization).

[0048] Additional Information 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 devices may be hardwired to execute the techniques, or may include digital electronic devices such as one or more application-specific integrated circuits (ASICs) or field-programmable gate arrays (FPGAs) permanently programmed to execute the techniques, or may include one or more general-purpose hardware processors programmed to execute the techniques in response to program instructions in firmware, memory, other storage, or a combination thereof. The instructions may reside 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. Such special-purpose computing devices may also combine custom hardwired logic, ASICs, or FPGAs with custom programming to accomplish the techniques. The special-purpose computing devices may be desktop computer systems, server computer systems, portable computer systems, handheld devices, networking devices, or any other device or combination of devices incorporating wired and / or program logic to implement the techniques.

[0049] The microprocessors or controllers described herein may be coordinated by operating system software, such as iOS, Android, Chrome OS, Windows XP, Windows Vista, Windows 7, Windows 8, Windows 10, Windows Server, Windows CE, Unix, Linux, SunOS, Solaris, iOS, Blackberry OS, VxWorks, or other compatible operating systems. In other embodiments, a computing device may be controlled by its own operating system. A traditional operating system controls and schedules computer processes for execution, performs memory management, provides file system, networking, I / O services, and provides user interface functionality such as a graphical user interface ("GUI"), among other things.

[0050] The microprocessors and / or controllers described herein may implement the techniques described herein using customized hardwired logic, one or more ASICs or FPGAs, firmware, and / or program logic that renders the microprocessor and / or controller a dedicated machine. According to one embodiment, portions of the techniques disclosed herein are performed by the controller in response to execution of one or more sequences of instructions contained in a memory. Such instructions may be loaded into the 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 processes described herein. In alternative embodiments, hardwired circuitry is used in place of or in combination with software instructions.

[0051] Furthermore, the various illustrative logic blocks and modules described in connection with the embodiments disclosed herein may 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 may be a microprocessor, but alternatively, a processor device may be a controller, microcontroller, or state machine, combinations thereof, etc. A processor device may include electrical circuitry configured to process computer-executable instructions. In another embodiment, a processor device includes an FPGA or other programmable device that performs logical operations without processing computer-executable instructions. A processor device may be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors in combination with a DSP core, or any other such configuration. While described herein primarily with respect to digital technology, a processor device may also include primarily analog components. For example, some or all of the techniques described herein may be implemented in analog circuitry or mixed analog and digital circuitry.

[0052] Unless the context clearly dictates otherwise, throughout the specification and claims, words such as "comprise," "comprising," "include," "including," and the like, are to be construed in an inclusive sense, i.e., meaning "but not limited to," as opposed to an exclusive or exhaustive sense. The terms "coupled" or "connected," as generally used herein, refer to two or more elements, which may be directly connected or connected by one or more intermediate elements. Furthermore, 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 particular portions of this application. Where the context permits, words in the detailed description using the singular or plural number include the plural or singular number, respectively. The word "or" in connection with a list of two or more items is intended to encompass all of the following interpretations of that 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 encompass similar values ​​within the limits of measurement error.

[0053] While the present disclosure includes specific 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, and obvious modifications and equivalents thereof. Moreover, while several variations of the embodiments have been shown and described in detail, other modifications will be readily apparent to those skilled in the art based on this disclosure. It is also contemplated that various combinations or subcombinations of specific features and aspects of the embodiments may be made 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 with or substituted for one another to form various aspects of the embodiments. The methods disclosed herein need not be performed in the order recited. Therefore, it is not intended that the scope be limited by the specific embodiments described above.

[0054] In particular, conditional language such as "can" or "may," unless otherwise specified or understood otherwise within the context of use, is intended to generally convey that certain embodiments include certain features, elements, and / or steps, while other embodiments do not. Thus, such conditional language is not generally intended to imply that features, elements, and / or steps are somehow required in one or more embodiments, or that one or more embodiments necessarily include logic for determining whether those features, elements, and / or steps should be included in or performed in any particular embodiment, with or without user input or prompting. Any headings used herein are for the convenience of the reader only and are not intended to limit the scope.

[0055] Furthermore, the devices, systems, and methods described herein may be susceptible to various modifications and alternative forms, specific examples of which are shown in the drawings and described in detail herein. However, it should be understood that the disclosure is not limited to the particular forms or methods disclosed; on the contrary, the disclosure encompasses all modifications, equivalents, and alternatives falling within the spirit and scope of the various described embodiments. Furthermore, any particular feature, aspect, method, property, characteristic, quality, attribute, element, etc., disclosed herein relating to an implementation or embodiment may be used in all other implementations or embodiments described herein. The methods disclosed herein need not be performed in the order listed. The methods disclosed herein may include specific actions performed by a practitioner; however, the methods may also include, explicitly or implicitly, any third-party instruction of those actions.

[0056] Ranges disclosed herein also encompass any and all overlaps, subranges, and combinations thereof. Language such as "up to," "at least," "greater than," "less than," and "between" includes the recited numbers. Numbers preceded by terms such as "about" or "approximately" are inclusive of the recited numbers and should be interpreted based on the context (e.g., as precisely as reasonably possible under the circumstances, e.g., ±5%, ±10%, ±15%, etc.). For example, "about 3.5 mm" includes "3.5 mm." Phrases preceded by terms such as "substantially" are inclusive of the recited numbers and should be interpreted based on the context (e.g., as precisely as reasonably possible under the circumstances). For example, "substantially constant" includes "constant." Unless otherwise specified, all measurements are at standard conditions, including ambient temperature and pressure.

Claims

1. A mobile robot, a drive system configured to move the mobile robot; a first laser scanner; a second laser scanner; a hardware processor; a computer readable memory containing a map of an environment, a designated area within the map of the environment, and a robot position and orientation relative to the designated area; Including, The computer readable memory has instructions executable by the processor, the instructions causing the robot to: comparing the robot position to the designated area to determine whether the robot is within or outside the designated area; If the robot position is outside the designated area, performing a first laser scan using the first laser scanner to provide first laser scan information; performing a second laser scan using the second laser scanner to provide second laser scan information; comparing the first laser scanning information and the second laser scanning information with the map of the environment to determine a new robot position; If the robot position is within the designated area, comparing the orientation of the robot with a direction relative to the designated area to determine an angle between the orientation of the robot and the direction relative to the designated area; identifying one of the first laser scanner or the second laser scanner based at least in part on the determined angle; performing a laser scan using the one of the first laser scanner or the second laser scanner to provide laser scan information; A mobile robot that compares the laser scanning information with the map of the environment to determine a new robot position.

2. The mobile robot of claim 1 , wherein the first laser scanner and the second laser scanner together provide a laser scanning range extending 360 degrees around the robot.

3. The mobile robot of claim 1 , wherein the first laser scanner has a laser scanning range of at least about 180 degrees and the second laser scanner has a laser scanning range of at least about 180 degrees.

4. The mobile robot of claim 1 , wherein the laser scanning range of the first laser scanner overlaps with the laser scanning range of the second laser scanner.

5. A mobile robot, a drive system configured to move the mobile robot; a first laser scanner; a second laser scanner; a location system configured to operate in a first mode using both the first laser scanner and the second laser scanner to determine a location of the robot, and configured to operate in a second mode using only one of the first laser scanner and the second laser scanner to determine the location of the robot; A mobile robot.

6. The mobile robot of claim 5 , wherein the localization system is configured to determine whether to operate in the first mode or the second mode based at least in part on a location of the robot.

7. 6. The mobile robot of claim 5, wherein the localization system is configured to compare a position of the robot with a designated area to determine whether the robot is within the designated area, and wherein the localization system is configured to operate in the first mode when the robot is outside the designated area and to operate in the second mode when the robot is within the designated area.

8. 8. The mobile robot of claim 7, wherein the localization system is configured to compare an orientation of the robot with a direction associated with the designated area and select one of the first laser scanner or the second laser scanner to use for localization based at least in part on the comparison between the orientation of the robot and the direction associated with the designated area.

9. 8. The mobile robot of claim 7, wherein the localization system is configured to determine an angle between an orientation of the robot and a direction relative to the designated area, and wherein the localization system uses the first laser scanner for localization when the angle is in a first angle range, and wherein the localization system uses the second laser scanner for localization when the angle is in a second angle range.

10. 6. The mobile robot of claim 5, wherein the localization system is configured to select one of the first laser scanner or the second laser scanner to use for localization based at least in part on the orientation of the robot.

11. the location system comprising: performing a first laser scan using the first laser scanner to provide first laser scan information; performing a second laser scan using the second laser scanner to provide second laser scan information; comparing the first laser scanning information and the second laser scanning information with a map of the environment to determine an updated robot position; 6. The mobile robot of claim 5, wherein the mobile robot is configured to execute the first operation mode by:

12. The mobile robot of claim 5 , wherein the first laser scanner and the second laser scanner together provide a laser scanning range extending 360 degrees around the robot.

13. 6. The mobile robot of claim 5, wherein the first laser scanner has a laser scanning range of at least about 180 degrees and the second laser scanner has a laser scanning range of at least about 180 degrees.

14. The mobile robot of claim 5 , wherein the laser scanning range of the first laser scanner overlaps with the laser scanning range of the second laser scanner.

15. 1. A method for determining a position of a mobile robot including a first laser scanner and a second laser scanner, comprising: comparing the robot position with the designated area to determine if the robot is within the designated area; selecting one of the first laser scanner or the second laser scanner for use in locating in response to determining that the robot is within the designated area; performing a laser scan using the selected one of the first laser scanner or the second laser scanner to provide laser scan information; comparing the laser scanning information with a mapping of the area around the robot to determine the position of the robot; A method comprising:

16. The method of claim 15 , wherein the first laser scanner and the second laser scanner together provide a laser scanning range extending 360 degrees around the robot.

17. 16. The method of claim 15, wherein the first laser scanner has a laser scanning range of at least about 180 degrees and the second laser scanner has a laser scanning range of at least about 180 degrees.

18. comparing the orientation of the robot with a direction relative to the designated area; selecting one of the first laser scanner or the second laser scanner to use for localization based at least in part on the comparison between the orientation of the robot and the direction relative to the designated area; 16. The method of claim 15, comprising:

19. 16. The method of claim 15, comprising: determining an angle between an orientation of the robot and a direction associated with the designated area; and selecting the first laser scanner for use in localization based at least in part on the determined angle.

20. The method of claim 15 , comprising selecting one of the first laser scanner or the second laser scanner to use for localization based at least in part on the orientation of the robot.

21. Accessing a map of the environment; Designating a first region within the map of the environment for a first type of robot localization; designating a second region within the map of the environment for a second type of robot localization; A method comprising:

22. 22. The method of claim 21, wherein the first type of robot localization uses multiple laser scanner localization operations and the second type of robot localization uses single laser scanner localization operations.

23. 22. The method of claim 21, wherein one of the first or second types of robot localization uses GPS localization.

24. 22. The method of claim 21, wherein one of the first or second types of robot localization uses overhead light localization.

25. Accessing a map of the environment; determining whether a robot is within a first region in the map of the environment and performing a first type of robot localization if the robot is within the first region; determining whether the robot is within a second region in the map of the environment and performing a second type of robot localization if the robot is within the second region; A method comprising:

26. 26. The method of claim 25, wherein the first type of robot localization uses multiple laser scanner localization operations and the second type of robot localization uses single laser scanner localization operations.

27. 26. The method of claim 25, wherein one of the first or second types of robot localization uses GPS localization.

28. 26. The method of claim 25, wherein one of the first or second types of robot localization uses overhead light localization.

Citation Information

Patent Citations

  • Obstacle detecting device, and method

    JP2016206999A

  • Self-position estimation device

    JP2021018638A

  • Travel control device

    JP2021096703A

  • Industrial vehicle

    JP2022110773A

  • Self-positioning device and method thereof

    US20110097014A1