Mobile robot control system, control method, and program
A virtual bumper function for autonomous mobile robots uses a control system with adjustable circular areas to avoid obstacles, reducing computational overhead and ensuring safe navigation.
Patent Information
- Application Number
- JP2022177466
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-11-04
- Publication Date
- 2025-10-15
- Estimated Expiration
- 2042-11-04
AI Technical Summary
Autonomous mobile robots face challenges in avoiding dynamic obstacles such as other mobile robots or humans without incurring high computational costs, as their positions change dynamically.
Implement a virtual bumper function using a control system that sets a virtual bumper area defined by multiple circles along the longitudinal direction of the robot, adjusting these areas based on movement speed, and controls the robot to slow down or stop when objects enter this area.
The virtual bumper function effectively prevents collisions with low computational cost by using a simplified circular area model, allowing efficient navigation around dynamic obstacles.
Smart Images

Figure 0007754054000001 
Figure 0007754054000002 
Figure 0007754054000003
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a control system, a control method, and a program for a mobile robot. [Background technology]
[0002] The autonomous mobile device disclosed in Patent Document 1 has a distance sensor that measures the distance to nearby obstacles. A non-existence probability indicating the absence of an obstacle is managed for each grid of the grid map. The autonomous mobile device also has a contact sensor attached to the bumper. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Patent No. 6640779 Summary of the Invention [Problem to be solved by the invention]
[0004] It is desirable for such autonomous mobile devices to move without coming into contact with obstacles (also called peripheral objects) in the vicinity. However, if the peripheral objects around the mobile robot are other mobile robots or humans, their positions change dynamically. Therefore, it is desirable to provide a function (virtual bumper function) that stops or slows down the mobile robot when it approaches a peripheral object. Therefore, it is desirable to realize such a virtual bumper function with low computational cost.
[0005] The present disclosure has been made to solve such problems, and provides a control system, control method, and program for a mobile robot that can realize a virtual bumper function at low calculation cost. [Means for solving the problem]
[0006] The control system for a mobile robot in this embodiment is a mobile robot having a longitudinal direction and a lateral direction when viewed from above, and is equipped with a sensor for measuring the distance from the mobile robot to a surrounding object, an area setting unit for setting a virtual bumper area defined by a first area defined by a plurality of circles arranged along the longitudinal direction and a second area formed by moving the first area in accordance with the movement speed of the mobile robot, and a control unit for controlling the mobile robot to slow down or stop when the surrounding object is within the virtual bumper area.
[0007] The above-mentioned control system for the mobile robot may further include a path setting unit that sets a movement path along which the mobile robot moves, and the second area may be an area obtained by moving the first area along the movement path by a distance corresponding to the movement speed.
[0008] The control method of this embodiment is a control method for a mobile robot having a longitudinal direction and a lateral direction when viewed from above, and includes the steps of measuring the distance from the mobile robot to a surrounding object using the detection results of a sensor, setting a virtual bumper area defined by a first area defined by a plurality of circles arranged along the longitudinal direction and a second area formed by moving the first area in accordance with the movement speed of the mobile robot, and controlling the mobile robot to slow down or stop when the surrounding object is within the virtual bumper area.
[0009] The above control method may further include a step of setting a movement path along which the mobile robot moves, and the second area may be an area obtained by moving the first area along the movement path a distance corresponding to the movement speed.
[0010] The program of this embodiment is a program that causes a computer to execute a control method for controlling a mobile robot having a longitudinal direction and a lateral direction in a top view, and the control method includes the steps of: measuring the distance from the mobile robot to a surrounding object using the detection results of a sensor; setting a virtual bumper area defined by a first area defined by a plurality of circles arranged along the longitudinal direction and a second area formed by moving the first area in accordance with the movement speed of the mobile robot; and controlling the mobile robot to slow down or stop when the surrounding object is within the virtual bumper area.
[0011] In the above program, the control method may further include a step of setting a movement path along which the mobile robot moves, and the second area may be an area obtained by moving the first area along the movement path a distance corresponding to the movement speed. [Effects of the Invention]
[0012] According to the present disclosure, it is possible to provide a control system, a control method, and a program for a mobile robot that can realize a virtual bumper function at low calculation cost. [Brief explanation of the drawings]
[0013] [Figure 1] 1 is a schematic diagram illustrating an example of a mobile robot according to an embodiment of the present invention. [Figure 2] FIG. 2 is a control block diagram showing a control system of the mobile robot according to the present embodiment. [Figure 3] FIG. 10 is a top view for explaining a virtual bumper area of the mobile robot. [Figure 4] FIG. 2 is a top view schematically showing a virtual bumper area of the mobile robot when moving straight ahead. [Figure 5] FIG. 10 is a top view schematically showing a virtual bumper area of the mobile robot when turning left. [Figure 6] FIG. 10 is a top view schematically showing a virtual bumper area of the mobile robot when turning. [Figure 7]1 is a flowchart showing a method for controlling a mobile robot. [Figure 8] FIG. 10 is a top view schematically showing a virtual bumper area when the simulation time is short. [Figure 9] FIG. 10 is a top view schematically showing a virtual bumper area at a reference simulation time. [Figure 10] FIG. 10 is a top view schematically showing a virtual bumper area when the simulation time is long. DETAILED DESCRIPTION OF THE INVENTION
[0014] The present invention will be described below through embodiments of the invention, but the invention according to the claims is not limited to the following embodiments. Furthermore, not all of the configurations described in the embodiments are necessarily essential means for solving the problems.
[0015] Figure 1 is a perspective view showing the configuration of a mobile robot 20. The mobile robot 20 shown in Figure 1 is one embodiment of the mobile robot 20, and other embodiments may also be used. In Figure 1, the x direction is the forward and backward direction of the mobile robot 20, the y direction is the left-right direction of the mobile robot 20, and the z direction is the height direction of the mobile robot 20.
[0016] For example, the mobile robot 20 is a transport robot that performs the task of transporting an object. The mobile robot 20 autonomously travels to transport objects in medical and welfare facilities such as hospitals, rehabilitation centers, nursing homes, and elderly care facilities. The system according to this embodiment can also be used in commercial facilities such as shopping malls.
[0017] A user places an item in the mobile robot 20 and requests that it be delivered. The mobile robot 20 autonomously moves to a set destination and delivers the item. In other words, the mobile robot 20 executes a luggage delivery task (hereinafter simply referred to as a task). In the following description, the location where the item is loaded is referred to as the origin, and the location where the item is delivered is referred to as the destination. For example, a user inputs the destination and other information using a communication terminal such as a tablet computer or smartphone. In other words, a user may make a delivery request using a user terminal.
[0018] The mobile robot 20 autonomously moves to the destination or waypoint by autonomous movement control. In the following explanation, it is assumed that each of the mobile robots 20 controls its own movement, but a host management device that controls the multiple mobile robots 20 may be provided.
[0019] For example, let us say that the mobile robot 20 moves within a general hospital with multiple medical departments. The mobile robot 20 transports supplies, consumables, medical equipment, etc. between the multiple medical departments. For example, the mobile robot delivers the items from the nurse's station of one medical department to the nurse's station of another medical department. Alternatively, the mobile robot 20 delivers the items from a storage room for supplies and medical equipment to the nurse's station of a medical department. Furthermore, the mobile robot 20 delivers medicine dispensed in a pharmacy department to the medical department or patient that will use the medicine.
[0020] Examples of transported items include consumables such as medicines and packets, specimens, testing equipment, medical instruments, hospital food, stationery, and other supplies. Medical equipment includes blood pressure monitors, transfusion pumps, syringe pumps, foot pumps, nurse call buttons, bed exit sensors, foot pumps, low-pressure continuous inhalers, electrocardiogram monitors, drug infusion controllers, enteral nutrition pumps, ventilators, cuff pressure gauges, touch sensors, aspirators, nebulizers, pulse oximeters, blood pressure monitors, artificial resuscitators, sterilization devices, and ultrasound machines. Food such as hospital food and test meals may also be transported. Furthermore, the mobile robot 20 may transport used equipment, used tableware, and other items. If the destination is on a different floor, the mobile robot 20 may travel using an elevator or other means.
[0021] The mobile robot 20 comprises a main body 290 and a carriage 260. The main body 290 is mounted on the carriage 260. The main body 290 and the carriage 260 each have a rectangular parallelepiped housing, and each component is mounted inside this housing. For example, the carriage 260 houses the drive unit 26.
[0022] The main body 290 is provided with a storage cabinet 291 that serves as a storage space, and a door 292 that seals the storage cabinet 291. The storage cabinet 291 is provided with multiple shelves, and the availability status is managed for each shelf. For example, the availability status can be updated by arranging various sensors such as weight sensors on each shelf. The mobile robot 20 autonomously transports the items stored in the storage cabinet 291 to the destination. The main body 290 may be equipped with a control box (not shown) or the like within the housing. The door 292 may also be lockable with an electronic key or the like. When the robot arrives at the destination, the user unlocks the door 292 with the electronic key. Alternatively, the door 292 may be unlocked automatically when the robot arrives at the destination.
[0023] 1, the exterior of the mobile robot 20 is provided with a front-rear distance sensor 241 and a left-right distance sensor 242 as the distance sensor group 24. The mobile robot 20 uses the front-rear distance sensor 241 to measure the distance to surrounding objects in the front and rear directions of the mobile robot 20. The mobile robot 20 also uses the left-right distance sensor 242 to measure the distance to surrounding objects in the left and right directions of the mobile robot 20.
[0024] For example, the front-rear distance sensors 241 are disposed on the front and rear surfaces of the housing of the main body 290, respectively. The left-right distance sensors 242 are disposed on the left and right surfaces of the housing of the main body 290, respectively. The front-rear distance sensors 241 and the left-right distance sensors 242 are, for example, ultrasonic distance sensors or laser range finders. They detect the distance to a surrounding object. When the distance to a surrounding object detected by the front-rear distance sensor 241 or the left-right distance sensor 242 becomes equal to or less than a distance threshold, the mobile robot 20 slows down or stops.
[0025] The virtual bumper area is an area where the mobile robot 20 slows down or stops when a peripheral object approaches the mobile robot. In other words, when a peripheral object enters the virtual bumper area due to relative movement between the peripheral object and the mobile robot 20, the mobile robot 20 stops or slows down. The virtual bumper area is an area that includes the mobile robot 20 and its surroundings in a top view.
[0026] The drive unit 26 is provided with drive wheels 261 and casters 262. The drive wheels 261 are wheels for moving the mobile robot 20 forward, backward, left and right. The casters 262 are driven wheels that do not receive driving force and roll following the drive wheels 261. The drive unit 26 has a drive motor (not shown) that drives the drive wheels 261.
[0027] For example, the drive unit 26 supports, within the housing, two drive wheels 261 and two casters 262, each of which comes into contact with the running surface. The two drive wheels 261 are arranged so that their rotation axes coincide with each other. Each drive wheel 261 is independently driven and rotated by a motor (not shown). The drive wheels 261 rotate in accordance with a control command value from the drive control unit 212 in FIG. 2. The casters 262 are driven wheels, and are provided such that a pivot axis extending vertically from the drive unit 26 is spaced apart from the rotation axis of the wheel to pivotally support the wheel, and follow the direction of movement of the drive unit 26.
[0028] For example, if the two drive wheels 261 are rotated in the same direction at the same rotational speed, the mobile robot 20 moves straight ahead, and if they are rotated in opposite directions at the same rotational speed, the mobile robot 20 turns around a vertical axis passing through approximately the center of the two drive wheels 261. Furthermore, by rotating the two drive wheels 261 in the same direction but at different rotational speeds, the mobile robot 20 can move while turning left or right. For example, by making the rotational speed of the left drive wheel 261 higher than that of the right drive wheel 261, the mobile robot 20 can turn right. Conversely, by making the rotational speed of the right drive wheel 261 higher than that of the left drive wheel 261, the mobile robot 20 can turn left or right, etc., in any direction by controlling the rotational direction and rotational speed of the two drive wheels 261.
[0029] Furthermore, in the mobile robot 20, a display unit 27 and an operation interface 281 are provided on the upper surface of the main body unit 290. The operation interface 281 is displayed on the display unit 27. When the user touches the operation interface 281 displayed on the display unit 27, the operation reception unit 28 can receive instructions input from the user. Furthermore, an emergency stop button 282 is provided on the upper surface of the display unit 27. The emergency stop button 282 and the operation interface 281 function as the operation reception unit 28.
[0030] The display unit 27 is, for example, a liquid crystal panel, and displays an illustration of a character's face or presents information about the mobile robot 20 as text or icons. Displaying a character's face on the display unit 27 gives surrounding observers the impression that the display unit 27 is a pseudo-face. The display unit 27 mounted on the mobile robot 20 can also be used as a user terminal.
[0031] A camera 25 is installed on the front of the main body 290. Here, two cameras 25 function as a stereo camera. That is, two cameras 25 with the same angle of view are arranged horizontally spaced apart from each other. Images captured by each camera 25 are output as image data. Based on the image data from the two cameras 25, it is possible to calculate the distance to the subject and the size of the subject. The calculation processing unit 21 can detect people, obstacles, etc. ahead in the direction of movement by analyzing the images from the cameras 25. If there are people, obstacles, etc. ahead in the direction of movement, the mobile robot 20 moves along the route while avoiding them. In addition, the image data from the cameras 25 is transmitted to a higher-level management device, etc.
[0032] The mobile robot 20 recognizes surrounding objects and identifies its own position by analyzing image data output by the camera 25 and detection signals output by the front-rear distance sensor 241 and the left-right distance sensor 242. The camera 25 captures images of the area ahead of the mobile robot 20 in the direction of travel. As shown in the figure, the side of the mobile robot 20 on which the camera 25 is installed is considered to be the front of the mobile robot 20. In other words, during normal travel, the direction of travel is in front of the mobile robot 20, as indicated by the arrow.
[0033] When viewed from above (in the XY plane), the mobile robot 20 has a shape that has a longitudinal direction and a lateral direction. For example, when viewed from above, the mobile robot 20 has a rectangular shape. Specifically, in FIG. 2, the X direction is the longitudinal direction and the Y direction is the lateral direction. Therefore, with respect to the direction of movement due to the rotation of the wheels as a reference, the front-to-back direction of the mobile robot 20 is the longitudinal direction and the left-to-right direction is the lateral direction.
[0034] A control system for the mobile robot 20 is disposed within the main body 290 of the mobile robot 20. The control system for the mobile robot 20 will be described using FIG. 2. FIG. 2 is a control block diagram showing a control system 1 for the mobile robot 20. The control system 1 includes a host management device 10 and a mobile robot 20. Note that the control system 1 has multiple mobile robots 20, but for simplification, only one mobile robot 20 is shown in FIG. 2. The multiple mobile robots 20 have the same configuration.
[0035] Mobile robot 20 has a processing unit 21, a memory unit 22, a communication unit 23, a proximity sensor (for example, a distance sensor group 24), a camera 25, a driving unit 26, a display unit 27, and an operation reception unit 28. Note that while Fig. 2 shows only representative processing blocks provided in mobile robot 20, mobile robot 20 also includes many other processing blocks not shown.
[0036] The communication unit 23 is a communication interface for communicating with other mobile robots and the host management device 10. The communication unit 23 communicates with the host management device 10, etc., using, for example, wireless signals. In this case, the host management device 10 is configured to be able to communicate with the mobile robot 20 via a wireless LAN, etc. The mobile robot 20 and the host management device 10 send and receive various data. The mobile robot 20 may then move based on the various data from the host management device 10. In other words, part of the processing described below may be performed by the host management device 10. The mobile robot 20 can also communicate with other mobile robots directly or via the host management device 10, etc.
[0037] The host management device 10 is a computer having a processor, memory, etc., and functions as a server device that collects data from multiple mobile robots 20. For example, it can be implemented as a device that can execute programs, such as a computer's central processing unit (CPU). Various functions can also be realized by programs. The host management device 10 performs processing for controlling the mobile robots 20 based on data from the mobile robots 20. Therefore, part of the processing described below may be performed by the host management device 10.
[0038] The distance sensor group 24 is, for example, a proximity sensor, and outputs nearby object distance information indicating the distance to an object or person present around the mobile robot 20. The distance sensor group 24 has a distance measurement sensor such as a LIDAR. The distance to a surrounding object can be measured by manipulating the emission direction of an optical signal. Also, surrounding objects may be recognized from point cloud data detected by a distance measurement sensor or the like. The camera 25, for example, captures images for grasping the situation around the mobile robot 20. Also, the camera 25 can capture, for example, position markers provided on the ceiling of a facility. The mobile robot 20 may be allowed to grasp its own position using these position markers.
[0039] The driving unit 26 drives the driving wheels 261 (see FIG. 1) attached to the mobile robot 20. The driving unit 26 may have an encoder that detects the number of rotations of the driving wheels or their drive motors. The mobile robot's own position (current position) may be estimated based on the output of the encoder. The mobile robot 20 may detect its own current position and transmit it to other mobile robots. The mobile robot 20 estimates its own position on the floor map 221 using odometry or the like.
[0040] The display unit 27 and the operation reception unit 28 are realized by a touch panel display. The display unit 27 displays a user interface screen that serves as the operation reception unit 28. The display unit 27 may also display information indicating the destination of the mobile robot 20 and the status of the mobile robot 20. The operation reception unit 28 receives operations from the user. The operation reception unit 28 includes the user interface screen displayed on the display unit 27 as well as various switches provided on the mobile robot 20.
[0041] The arithmetic processing unit 21 performs calculations used to control the mobile robot 20. The arithmetic processing unit 21 can be implemented as a device capable of executing programs, such as a central processing unit (CPU) of a computer. Various functions can also be realized by programs. The arithmetic processing unit 21 has a movement command extraction unit 211, a drive control unit 212, a route planning unit 215, a virtual bumper setting unit 218, and an object detection unit 219. Note that while FIG. 2 shows only representative processing blocks of the arithmetic processing unit 21, it also includes processing blocks not shown.
[0042] The route planning unit 215 plans a route for the mobile robot 20. When a user inputs a transport request, the route planning unit 215 plans a route for transporting the transported item to the transport destination (destination) based on the transport request information. The route planning unit 215 searches for a route from the current location to the destination. For example, the route planning unit 215 searches for a route from the current location to the destination by referring to a floor map 221, which will be described later. Of course, if there is a waypoint before the destination, the route planning unit 215 searches for a route from the current location to the waypoint and a route from the waypoint to the destination. For example, when multiple transported items with different destinations are transported simultaneously, the destination of the first transported item is set as the waypoint.
[0043] Then, the route planning unit 215 sets passing points along the route. The starting point is the current position of the mobile robot 20, the destination of the previous transport task, the recipient of the transported item, etc. The destination is the destination of the transported item, a waiting location, a charging location, etc. The route planning unit 215 sets passing points on the floor map 221.
[0044] The route planning unit 215 may plan a route depending on the congestion status of a facility. For example, when the congestion status of a facility is detected by a surveillance camera or the like, the route planning unit 215 searches for a route that avoids the congested area. This allows for efficient travel. Furthermore, the upper management device 10 may execute at least a part of the processing of the route planning unit 215.
[0045] The movement command extraction unit 211 extracts a movement command from the control signal. For example, the movement command includes information about the next passing point. For example, the control signal may include coordinates of the passing point and information about the order in which the passing points are to be passed. The movement command extraction unit 211 then extracts this information as a movement command.
[0046] Furthermore, the movement command may include information indicating that it is now possible for the mobile robot 20 to move to the next passing point. If the passage width is narrow, the mobile robots 20 may not be able to pass each other. Also, there may be cases where the passage is temporarily blocked. In such cases, the control signal includes a command to stop the mobile robot 20 at a passing point just before the place where it should stop. Then, after another mobile robot 20 has passed or it has become possible to pass, a higher-level management device or the like outputs a control signal to notify the mobile robot 20 that it is now possible to move. This causes the mobile robot 20, which had been temporarily stopped, to resume moving.
[0047] The drive control unit 212 controls the drive unit 26 to move the mobile robot 20 based on the movement command provided by the movement command extraction unit 211. For example, the drive unit 26 has drive wheels 261 that rotate according to a control command value from the drive control unit 212. The movement command extraction unit 211 extracts a movement command so that the mobile robot 20 moves toward the passing point received from the host management device 10. The drive unit 26 then drives the drive wheels 261 to rotate. The mobile robot 20 autonomously moves toward the next passing point. In this way, the mobile robot 20 passes through the passing points in order and arrives at the destination. The mobile robot 20 may also estimate its own position and transmit a signal to the host management device 10 indicating that it has passed a passing point. This allows the host management device 10 to manage the current position and transportation status of each mobile robot 20.
[0048] The virtual bumper setting unit 218 sets a virtual bumper area for the mobile robot 20. As described above, the virtual bumper area is an area that includes the mobile robot 20 and its surroundings. A distance threshold for setting a virtual bumper is set in the robot control parameters 222, which will be described later. Therefore, the virtual bumper setting unit 218 sets an area within a predetermined distance from the outer shape of the mobile robot 20 as the virtual bumper area. The virtual bumper setting unit 218 sets the virtual bumper area on the XY plane (horizontal plane).
[0049] Furthermore, the virtual bumper setting unit 218 can variably set the virtual bumper area. For example, the virtual bumper setting unit 218 may change the size and shape of the virtual bumper area depending on the moving speed, moving direction, position on the map, etc. of the mobile robot 20.
[0050] The object detection unit 219 detects the presence of a peripheral object within the virtual bumper area. The object detection unit 219 can detect the presence or absence of a peripheral object according to the detection result of the distance sensor. When the object detection unit 219 detects the presence of a peripheral object within the virtual bumper area, it outputs a detection signal to the drive control unit 212.
[0051] The storage unit 22 stores a floor map 221, robot control parameters 222, and transported item information 226. Fig. 2 shows only a portion of the information stored in the storage unit 22, and the storage unit 22 also includes information other than the floor map 221, robot control parameters 222, and transported item information 226 shown in Fig. 2.
[0052] The floor map 221 is map information of the facility through which the mobile robot 20 will travel. This floor map 221 may be created in advance, or may be generated from information obtained from the mobile robot 20, or may be a pre-created basic map to which map correction information generated from information obtained from the mobile robot 20 has been added. The floor map 221 may not be map information of the entire facility, but may be map information that includes only a portion of the area through which the mobile robot 20 will travel. The floor map 221 includes information about the walls, doors, stairs, elevators, etc. of the facility.
[0053] The robot control parameters 222 are parameters for operating the mobile robot 20. The robot control parameters 222 include, for example, a distance threshold to a surrounding object. For example, the robot control parameters 222 include information indicating the shape and size of a virtual bumper area. If the virtual bumper area is variable, the robot control parameters 222 include information regarding a plurality of settings. Furthermore, the robot control parameters 222 include an upper speed limit for the mobile robot 20.
[0054] The transported item information 226 includes information such as the contents (type) of the transported item, the origin of the transported item, and the destination of the transported item. The transported item information may also include information indicating the status such as in transport, before transport (before loading), and already transported. The transported item information 226 associates this information with each transported item.
[0055] The drive control unit 212 decelerates or stops the mobile robot 20 in response to a detection signal from the object detection unit 219. That is, the drive control unit 212 refers to the robot control parameters 222 and stops or decelerates the operation in response to the distance indicated by the distance information obtained from the distance sensor group 24 falling below the distance threshold. When a surrounding object approaches the mobile robot 20 relatively and enters the virtual bumper area, the mobile robot 20 decelerates or stops. In this way, when there is another mobile robot or a person near the mobile robot 20, contact can be prevented.
[0056] The drive control unit 212 controls the drive unit 26 so that the mobile robot 20 travels at a speed equal to or less than the upper speed limit. The drive control unit 212 limits the rotation speed of the drive wheels so that the mobile robot 20 does not travel at a speed equal to or greater than the upper speed limit.
[0057] The virtual bumper setting unit 218 is an area setting unit that sets a virtual bumper area. The distance sensor group 24, which is a distance measurement sensor, detects the distance to a peripheral object. The object detection unit 219 determines whether or not a peripheral object is present in the virtual bumper area based on the detection results of the distance sensor group 24. When the object detection unit 219 detects that a peripheral object is present in the virtual bumper area, the drive control unit 212 controls the drive unit 26 to decelerate or stop the mobile robot 20.
[0058] The virtual bumper setting unit 218 sets a virtual bumper area around the mobile robot 20. In a top view, the virtual bumper area is an area formed by a collection of multiple circles. The virtual bumper area will be explained using FIG. 3. FIG. 3 is a top view that schematically shows the virtual bumper area set for the mobile robot 20. As shown in FIG. 3, areas A1 to A3 are set as virtual bumper areas for the mobile robot 20. In other words, a collection of multiple circular areas becomes the virtual bumper area A. The virtual bumper area A is an area that includes the entire mobile robot 20. The mobile robot 20 is a rectangle with the X direction as the longitudinal direction and the Y direction as the lateral direction.
[0059] Areas A1 to A3 are circular and of the same size when viewed from above. Areas A1 to A3 are circular and of the same diameter, but have different center positions. Areas A1 to A3 are arranged along the longitudinal direction of mobile robot 20.
[0060] For example, in a top view, area A2 coincides with the center of mobile robot 20. Area A1 is a circle shifted from area A2 in the -X direction. Part of area A2 overlaps with part of area A3. Area A3 is a circle shifted from area A2 in the +X direction. Part of area A2 overlaps with part of area A3.
[0061] In the X direction, the distance between the center of region A1 and the center of region A2 is equal to the distance between the center of region A3 and the center of region A2. In other words, the three circular regions A1 to A3 are arranged at equal intervals in the X direction. In the Y direction, the centers of regions A1 to A2 are located at the same position. The diameter of region A1 is larger than the size of mobile robot 20 in the short direction and smaller than the size in the long direction.
[0062] The virtual bumper setting unit 218 then moves the areas A1 to A3, which are multiple circular areas, in accordance with the moving speed. The virtual bumper setting unit 218 sets the area obtained by moving the areas A1 to A3 in the traveling direction of the mobile robot 20 as a virtual bumper area. An example of the virtual bumper area A will be described using Figure 4. Figure 4 is a top view that schematically shows the virtual bumper area A when traveling straight.
[0063] In FIG. 4, the mobile robot 20 is moving along a path P1. Specifically, the mobile robot 20 is moving straight in the +X direction. The virtual bumper setting unit 218 sets areas A4 to A6, which are obtained by moving areas A1 to A3 in the +X direction, as the virtual bumper area A. The area A1 is moved according to the moving speed of the mobile robot 20 to become area A4. The area A2 is moved according to the moving speed of the mobile robot 20 to become area A5. The area A3 is moved according to the moving speed of the mobile robot 20 to become area A6. Part of area A3 and part of area A4 overlap. Areas A1 to A6 are circular and of the same size. The collection of areas A1 to A6 forms the virtual bumper area A. In other words, if the object detection unit 219 detects a nearby object in any of areas A1 to A6, the mobile robot 20 slows down or stops.
[0064] Area A4 is the area obtained by moving area A1 along path P1. Area A5 is the area obtained by moving area A2 along path P1. Area A6 is the area obtained by moving area A3 along path P1. For example, the moving distance between area A1 and area A4 is equal to the moving distance between area A2 and area A5. The moving distance between area A1 and area A4 is equal to the moving distance between area A3 and area A6.
[0065] These movement distances can be set according to the speed at which the mobile robot 20 moves. In other words, the faster the movement speed, the greater the movement distance. The movement distances of the areas A1 to A3 change according to the movement speed. Compared to FIG. 9, FIG. 10 is a diagram showing the virtual bumper area A when the movement speed is high. When the movement speed is high, the areas A4 to A6 move to positions with a longer movement distance. This allows the virtual bumper area to be set more appropriately.
[0066] If the area defined by areas A1 to A3 is the first area, and the area defined by areas A4 to A6 is the second area, the area obtained by moving through the first area according to the moving speed is the second area. The second area is the area obtained by moving through the first area along path P1. The virtual bumper area A is made up of the first area and the second area.
[0067] FIG. 5 is a top view that schematically shows the imaginary bumper area A when the mobile robot 20 is turning left. The mobile robot 20 is moving along a path P2. Specifically, the mobile robot 20 is moving forward while turning left. The rotational speed of the right drive wheel is faster than the rotational speed of the left drive wheel. Therefore, the mobile robot 20 is moving diagonally forward and left.
[0068] The virtual bumper setting unit 218 sets areas A4 to A6, which are obtained by advancing areas A1 to A3 in the movement direction, as the virtual bumper area A. The area obtained by moving area A1 in accordance with the movement speed of the mobile robot 20 becomes area A4. The area obtained by moving area A2 in accordance with the movement speed of the mobile robot 20 becomes area A5. The area obtained by moving area A3 in accordance with the movement speed of the mobile robot 20 becomes area A6. The collection of areas A1 to A6 becomes the virtual bumper area A. In other words, if the object detection unit 219 detects a nearby object in any of areas A1 to A6, the mobile robot 20 will slow down or stop.
[0069] Area A4 is the area obtained by moving area A1 along path P2. Area A5 is the area obtained by moving area A2 along path P2. Area A6 is the area obtained by moving area A3 along path P2. The centers of areas A4 to A6 are located on path P2. If the area defined by areas A1 to A3 is the first area and the area defined by areas A4 to A6 is the second area, then the area obtained by moving the first area according to the moving speed becomes the second area. These moving distances can be set according to the moving speed of mobile robot 20. The second area is the area obtained by moving the first area along path P2.
[0070] 6 is a top view schematically showing the imaginary bumper area A when the mobile robot 20 is turning in place. The mobile robot 20 is turning along a path P3. The turning center of the mobile robot 20 coincides with the center of the area A2.
[0071] Area A4 is the area obtained by moving area A1 along path P3. Areas A1 and A4 are concentric with the turning center as their center. Area A6 is the area obtained by moving area A3 along path P3. Areas A3 and A6 are concentric with the turning center as their center. The center of area A2 coincides with the center of the on-the-spot turn, so area A5 and area A2 are in the same position. In other words, when the mobile robot 20 turns on the spot, the center of area A5 coincides with the center of area A2. If the turning center of the mobile robot 20 coincides with the center of area A2, area A2 does not need to move. The collection of areas A1, A2, A3, A4, and A6 becomes the virtual bumper area A.
[0072] In this way, an area consisting of multiple circles is set as the virtual bumper area A. In this way, the calculation cost for realizing the virtual bumper function can be reduced. In other words, by determining the center of each circle, the virtual bumper area can be easily set. By approximating the area to a circle, the virtual bumper can be realized with low calculation cost. The object detection unit 219 calculates the distance from the center of the circular area to the obstacle and determines whether the distance to the obstacle is equal to or less than the radius. In other words, the object detection unit 219 determines whether the distance from the center of each circle is equal to or less than a threshold. Therefore, the virtual bumper function can be realized with simple processing.
[0073] On the other hand, if the virtual bumper area is set according to the shape of the mobile robot 20, the calculation cost will be high. For example, if the mobile robot 20 is a rectangle having a long side and a short side in a top view, it is necessary to calculate the outline of the virtual bumper area. For a mobile robot 20 that is rectangular in a top view, the calculation cost for the virtual bumper function will be high. Furthermore, the calculation cost will be even higher if the shape of the mobile robot 20 is more complex.
[0074] Furthermore, the areas A4 to A6 obtained by moving the areas A1 to A3, which are made up of multiple circles, become virtual bumper areas. By doing so, if there is a peripheral object ahead of the mobile robot 20 in the direction of travel, the mobile robot 20 slows down or stops. Therefore, the virtual bumper function can be operated appropriately. Note that the number of circular areas to be moved is not limited to three. The number of circular areas can be determined depending on the aspect ratio of the mobile robot 20, etc. The virtual bumper setting unit 218 may set a virtual bumper area by moving two circular areas, or may set a virtual bumper area by moving four or more circular areas.
[0075] A control method for the mobile robot according to this embodiment will be described with reference to Fig. 7. Fig. 7 is a flowchart showing the control method for the mobile robot 20.
[0076] First, the route planning unit 215 searches for a route to the destination (S101). The route planning unit 215 searches for a route by referring to the floor map 221. The destination may be the destination or a waypoint of the transported item, or may be a passing point before the destination.
[0077] Next, the mobile robot 20 detects its own position (S102). For example, the mobile robot 20 can detect its current position using odometry. Alternatively, the mobile robot 20 may detect its own position based on the detection results of each sensor.
[0078] The virtual bumper setting unit 218 sets a virtual bumper area A based on the current vehicle position (S103). As shown in FIGS. 4 and 5, the virtual bumper setting unit 218 sets areas A1 to A3 relative to the vehicle position. Furthermore, the virtual bumper setting unit 218 calculates areas A4 to A6 obtained by moving areas A1 to A3 along the route. In this way, the virtual bumper setting unit 218 sets the virtual bumper area A including areas A1 to A6.
[0079] The distance sensor group 24 measures the distance to the surrounding object (S104). Then, the object detection unit 219 determines whether or not there is a surrounding object in the virtual bumper area A (S105). If there is a surrounding object in the virtual bumper area A (YES in S105), the mobile robot 20 stops or decelerates (S106). If there is no surrounding object in the virtual bumper area A (NO in S105), the process proceeds to step S107. That is, the mobile robot 20 travels while maintaining its speed.
[0080] Then, the mobile robot 20 determines whether or not it has arrived at the destination (S107). If it has not arrived at the destination (NO in S107), the process returns to step S102 and repeats the process. That is, the mobile robot 20 detects its latest position and executes the above process again. If it has arrived at the destination (YES in S107), the process ends. That is, the loop process from step S102 is repeated until it arrives at the destination.
[0081] In this way, the virtual bumper function can be realized with low calculation cost. Furthermore, the control method according to this embodiment is not limited to the processing order shown in Fig. 7. Furthermore, the virtual bumper area A is updated every time the position of the mobile robot 20 is updated. Therefore, an appropriate virtual bumper area can be set, allowing the mobile robot 20 to move efficiently and appropriately.
[0082] The distance traveled along the route through the areas A1 to A3 can be set based on the travel speed and simulation time. The simulation time can be determined based on the time required for the loop process shown in Fig. 7. For example, the simulation time is the time interval for the mobile robot 20 to detect its own position. The virtual bumper setting unit 218 then simulates the movement position after the simulation time has elapsed.
[0083] 8 to 10 are top views schematically showing the virtual bumper area A when the simulation time dt is changed. The simulation time is changed with the simulation time in FIG. 9 as the reference (intermediate). FIG. 8 is a diagram showing the virtual bumper area A when the simulation time is shorter than that in FIG. 9. FIG. 10 is a diagram showing the virtual bumper area A when the simulation time dt is longer than that in FIG. 9. The mobile robot 20 moves straight along the path P1.
[0084] The virtual bumper setting unit 218 sets the areas A4 to A6 by moving the areas A1 to A3 by the product of the simulation time dt and the movement speed v. The virtual bumper setting unit 218 simulates the areas A1 to A3 by the distance (dt*v) forward in the movement direction. As shown in FIG. 8, when the simulation time dt is short, the movement distance becomes short. As shown in FIG. 10, when the simulation time dt is long, the movement distance becomes long.
[0085] By doing this, the virtual bumper setting unit 218 can move the areas A4 to A6 to the destination after the simulation time. In other words, the mobile robot 20 can predict the position of its next destination. Therefore, the virtual bumper setting unit 218 can appropriately set the virtual bumper area A. Furthermore, since the moving speed is 0 when the robot is stopped, a virtual bumper area such as that shown in FIG. 3 is set. Alternatively, it is not necessary to set a virtual bumper area when the robot is stopped.
[0086] The control method according to this embodiment may be performed by the host management device 10 or by an edge device (mobile robot 20). The mobile robot 20 and the host management device 10 may also cooperate to execute the control method. That is, the control system according to this embodiment may be mounted in the mobile robot 20. Alternatively, at least a part or all of the control system may be mounted in a device other than the mobile robot 20, for example, the host management device 10.
[0087] The control system for controlling the mobile robot 20 may be mounted on the mobile robot or on a device other than the mobile robot. Furthermore, the sensor for measuring the distance to an object is not limited to a distance sensor mounted on the mobile robot. For example, the sensor may be installed in the environment in which the mobile robot 20 moves. For example, a camera or lidar mounted on a wall or ceiling may be used as the sensor. For example, when a surveillance camera captures an image of the mobile robot and an object, the distance between the mobile robot and the object is calculated based on the captured image. The sensor may be various types of cameras, such as an RGB camera, a depth camera, or a stereo camera. The arithmetic processing unit 21 or the host management device 10 can detect the distance from the mobile robot to the surrounding object by analyzing the captured image. The arithmetic processing unit 21 or the host management device 10 can measure the distance from the mobile robot 20 to the surrounding object based on the detection results of the sensor.
[0088] The host management device 10 is not limited to being a single physical device, but may be distributed across multiple devices. In other words, the host management device 10 may include multiple memories and multiple processors. Control may be performed using a machine learning model generated by supervised learning or the like. For example, a machine learning model may be used for processing such as route search and object detection.
[0089] Furthermore, part or all of the processing in the above-described upper management device 10 or the mobile robot 20 can be implemented as a computer program. Such a program can be stored on various types of non-transitory computer-readable media and provided to a computer. Non-transitory computer-readable media include various types of tangible recording media. Examples of non-transitory computer-readable media include magnetic recording media (e.g., flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (e.g., magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R / Ws, and semiconductor memories (e.g., mask ROMs, PROMs (Programmable ROMs), EPROMs (Erasable PROMs), flash ROMs, and RAMs (Random Access Memory)). The program may also be provided to a computer by various types of temporary computer-readable media. Examples of temporary computer-readable media include electrical signals, optical signals, and electromagnetic waves. The temporary computer-readable media can provide the program to a computer via wired communication paths such as electric wires and optical fibers, or via wireless communication paths.
[0090] The present invention is not limited to the above-described embodiments, and can be modified as appropriate without departing from the spirit of the present invention. For example, the above-described embodiments have been described as a system in which a transport robot autonomously moves within a hospital, but the above-described system can also transport specified items as luggage in hotels, restaurants, office buildings, event venues, or complexes. [Explanation of symbols]
[0091] 1. Control System 10 Upper management device 20 Mobile Robot 21 Processing unit 22 Memory section 23 Communications Department 24 Range sensors 25 Camera 26 Drive unit 27 Display section 28 Operation reception section 211 Movement command extraction part 212 Drive control unit 218 Virtual bumper setting section 219 Object detection unit 221 Floor Map 222 Robot Control Parameters 226 Transport Information 241 Front and rear distance sensor 242 Left and right distance sensors 260 Bogie section 261 Drive Wheel 262 Caster 281 Operation Interface 290 Main body 291 Storage 292 Door
Claims
1. A control system for a mobile robot having a longitudinal direction and a lateral direction in a top view, a sensor provided to measure a distance from the mobile robot to a surrounding object; a region setting unit that sets a virtual bumper region defined by a first region defined by a plurality of circles arranged along the longitudinal direction and a second region obtained by moving the first region in accordance with the moving speed of the mobile robot; a control unit that controls the mobile robot to slow down or stop when the peripheral object is within the virtual bumper area.
2. a path setting unit that sets a path along which the mobile robot moves, 2. The mobile robot control system according to claim 1, wherein the second area is an area obtained by moving the first area along the movement path by a distance corresponding to the movement speed.
3. A control method for a mobile robot having a longitudinal direction and a lateral direction in a top view, comprising: measuring a distance from the mobile robot to a surrounding object based on a detection result of the sensor; setting a virtual bumper area defined by a first area defined by a plurality of circles arranged along the longitudinal direction and a second area obtained by moving the first area in accordance with the moving speed of the mobile robot; and controlling the mobile robot to decelerate or stop when the peripheral object is within the virtual bumper area.
4. further comprising a step of setting a path along which the mobile robot moves; 4. The method for controlling a mobile robot according to claim 3, wherein the second area is an area obtained by moving the first area along the movement path by a distance corresponding to the movement speed.
5. A program that causes a computer to execute a control method for controlling a mobile robot having a longitudinal direction and a lateral direction in a top view, The control method includes: measuring a distance from the mobile robot to a surrounding object based on a detection result of the sensor; setting a virtual bumper area defined by a first area defined by a plurality of circles arranged along the longitudinal direction and a second area obtained by moving the first area in accordance with the moving speed of the mobile robot; and a step of controlling the vehicle to slow down or stop when the peripheral object is within the virtual bumper area.
6. The control method further includes a step of setting a path along which the mobile robot moves; 6. The program according to claim 5, wherein the second area is an area obtained by moving the first area along the movement path by a distance corresponding to the movement speed.
Citation Information
Patent Citations
Unattended carrying truck
JP1996328659A
Running control apparatus and vehicle
JP2013075639A
Autonomous mobile device and mobile control system
JP6640779B2
Autonomous movement system
WO2012164691A1
Mobile device
WO2018235602A1