ROBOT CONTROL SYSTEM, ROBOT CONTROL METHOD, AND PROGRAM

The robot control system uses map-based navigation with distance sensors to estimate movement vectors and dynamically update costs, addressing inefficiencies in transport robots by optimizing routes to avoid collisions and enhance safety in crowded facilities.

JP7609041B2Active Publication Date: 2025-01-07TOYOTA JIDOSHA KK
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2021184498
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-11-12
Publication Date
2025-01-07
Estimated Expiration
2041-11-12

AI Technical Summary

Technical Problem

Existing transport robots face inefficiencies in navigating environments with obstacles and people, particularly in facilities like hospitals, where they struggle to optimize routes to avoid collisions and ensure safe, efficient delivery of objects.

Method used

A robot control system that utilizes a map-based navigation system with distance sensors to estimate movement vectors and costs, allowing robots to dynamically adjust their paths to avoid obstacles and people by updating costs based on real-time sensor measurements, enabling efficient route planning and collision avoidance.

Benefits of technology

The system enhances the efficiency and safety of transport robots by allowing them to navigate around people and obstacles effectively, reducing travel time and ensuring safe operation in crowded environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007609041000001
    Figure 0007609041000001
  • Figure 0007609041000002
    Figure 0007609041000002
  • Figure 0007609041000003
    Figure 0007609041000003
Patent Text Reader

Abstract

To provide a robot control system, a robot control method, and a program allowing efficient control of a mobile robot.SOLUTION: A robot control system according to the present embodiment is a robot control system for controlling a mobile robot that autonomously moves with reference to a map, and the system acquires a distance to a peripheral object measured by using a distance measuring sensor, specifies a position of the peripheral object on the map according to the distance from the position of the mobile robot to the peripheral object, estimates a moving vector indicating a moving speed and a moving direction of the peripheral object according to a change in the distance to the peripheral object, applies cost for restricting the movement of the mobile robot onto the map, and controls the mobile robot to move according to the cost updated according to a result of measurement performed by the distance measuring sensor.SELECTED DRAWING: Figure 5
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to a robot control system, a robot control method, and a program. [Background technology]

[0002] Patent Document 1 discloses an autonomous mobile system equipped with a transport robot. In Patent Document 1, the transport robot is equipped with a sensor that detects surrounding obstacles. No-entry spaces and entry-restricted spaces are set for the transport robot. When the sensor detects an obstacle entering the entry-restricted space, the transport robot reduces its moving speed or performs an avoidance operation. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Patent Publication No. 2021-86217 Summary of the Invention [Problem to be solved by the invention]

[0004] For such a transport robot, it is desirable to transport objects more efficiently. For example, when there is a person around the transport robot, it is desirable for the transport robot to move around the person.

[0005] The present disclosure has been made to solve such problems, and provides a robot control system, a robot control method, and a program that can control a robot more efficiently. [Means for solving the problem]

[0006] The robot control system according to the present embodiment is a robot control system that controls an autonomously moving robot by referring to a map, acquires a distance to a surrounding object measured using a distance measuring sensor, identifies the position of the surrounding object on the map according to the distance from the position of the mobile robot to the surrounding object, estimates a movement vector indicating the moving speed and moving direction of the surrounding object according to a change in the distance to the surrounding object, and assigns a cost for restricting the movement of the mobile robot on the map. The vehicle is controlled to move in accordance with the cost, which is updated in accordance with the measurement result of the distance measuring sensor.

[0007] In the above robot control system, a plurality of mobile robots may assign costs to the map, and the map may be shared by the plurality of mobile robots.

[0008] In the above robot control system, the ranging sensor may include a three-dimensional ranging sensor and a two-dimensional ranging sensor capable of measuring distances longer than the three-dimensional ranging sensor, and the center of gravity position of the surrounding object may be calculated based on the measurement results of the three-dimensional ranging sensor, and the movement speed and movement direction may be estimated from changes in the center of gravity position.

[0009] In the above robot control system, the peripheral object may be a person or another mobile robot in the vicinity of the mobile robot.

[0010] The robot control method of this embodiment is a robot control method that controls a mobile robot that moves autonomously by referring to a map, obtains the distance to a surrounding object measured using a distance sensor, identifies the position of the surrounding object on the map depending on the distance from the position of the mobile robot to the surrounding object, estimates a movement vector indicating the movement speed and movement direction of the surrounding object depending on changes in the distance to the surrounding object, assigns a cost for restricting the movement of the mobile robot on the map, and controls the mobile robot to move depending on the cost that is updated depending on the measurement results of the distance sensor.

[0011] In the above robot control method, a plurality of mobile robots may assign costs to the map, and the map may be shared by the plurality of mobile robots.

[0012] In the above robot control method, the distance measurement sensor may include a three-dimensional distance measurement sensor and a two-dimensional distance measurement sensor capable of measuring distances longer than the three-dimensional distance measurement sensor, and the center of gravity position of the surrounding object may be calculated based on the measurement results of the three-dimensional distance measurement sensor, and the movement speed and movement direction may be estimated from changes in the center of gravity position.

[0013] In the above robot control method, the peripheral object may be a person or another mobile robot in the vicinity of the mobile robot.

[0014] The program in this embodiment is a program for causing a computer to execute a robot control method for controlling an autonomously moving mobile robot by referring to a map, the robot control method acquiring the distance to a surrounding object measured using a distance measuring sensor, identifying the position of the surrounding object on the map depending on the distance from the position of the mobile robot to the surrounding object, estimating a movement vector indicating the movement speed and movement direction of the surrounding object depending on changes in the distance to the surrounding object, adding a cost for restricting the movement of the mobile robot on the map, and controlling the mobile robot to move depending on the cost updated depending on the measurement results of the distance measuring sensor.

[0015] In the above program, a plurality of mobile robots may assign costs to the map, and the map may be shared by the plurality of mobile robots.

[0016] In the above program, the ranging sensor may include a three-dimensional ranging sensor and a two-dimensional ranging sensor capable of measuring distances longer than the three-dimensional ranging sensor, and the center of gravity position of the surrounding object may be calculated based on the measurement results of the three-dimensional ranging sensor, and the movement speed and movement direction may be estimated from changes in the center of gravity position.

[0017] In the above program, the peripheral object may be a person or another mobile robot in the vicinity of the mobile robot. Effect of the Invention

[0018] According to the present disclosure, it is possible to provide a robot control system, a robot control method, and a program that can control a robot more efficiently. [Brief description of the drawings]

[0019] [Figure 1] 1 is a conceptual diagram for explaining the overall configuration of a system in which a mobile robot according to an embodiment of the present invention is used. [Diagram 2] FIG. 2 is a control block diagram of a control system according to the present embodiment. [Diagram 3] FIG. 1 is a schematic diagram illustrating an example of a mobile robot. [Figure 4] 1 is a schematic diagram for explaining a sensing area of ​​a distance measuring sensor mounted on a mobile robot. [Diagram 5] 11 is a diagram for explaining a cost assigned according to a movement vector of a user UA, which is a peripheral object. FIG. [Figure 6] 4 is a flowchart showing a control method according to the present embodiment. [Figure 7] FIG. 13 is a schematic diagram showing a cost map. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0020] 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.

[0021] (Schematic configuration) FIG. 1 is a conceptual diagram for explaining the overall configuration of a transport system 1 in which a mobile robot 20 according to this embodiment is used. For example, the mobile robot 20 is a transport robot that performs the task of transporting an object. The mobile robot 20 travels autonomously to transport the object in a medical and welfare facility such as a hospital, rehabilitation center, nursing home, or elderly care facility. The system according to this embodiment can also be used in commercial facilities such as shopping malls.

[0022] A user U1 places an item in the mobile robot 20 and requests that it be transported. The mobile robot 20 autonomously moves to a set destination and transports the item. That is, the mobile robot 20 executes a luggage transport 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.

[0023] For example, 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 a nurse's station in one medical department to a nurse's station in 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 in the medical department. The mobile robot 20 also delivers medicines dispensed in a pharmacy department to the medical department or patient who plans to use them.

[0024] Examples of the goods to be transported include consumables such as medicines and packets, specimens, test equipment, medical equipment, hospital food, stationery, and other supplies. Examples of medical equipment include blood pressure monitors, blood transfusion pumps, syringe pumps, foot pumps, nurse call, bed exit sensors, foot pumps, low pressure continuous inhalers, electrocardiogram monitors, drug injection controllers, enteral nutrition pumps, ventilators, cuff pressure gauges, touch sensors, aspirators, nebulizers, pulse oximeters, blood pressure monitors, artificial resuscitators, sterilization devices, and echo devices. Food such as hospital food and test food may also be transported. Furthermore, the mobile robot 20 may transport used equipment, used tableware, and the like. When the destination is on a different floor, the mobile robot 20 may move using an elevator or the like.

[0025] The transport system 1 includes a mobile robot 20, a host management device 10, a network 600, a communication unit 610, and a user terminal 400. A user U1 or a user U2 can use the user terminal 400 to make a transport request for an object. For example, the user terminal 400 is a tablet computer or a smartphone. The user terminal 400 may be any information processing device capable of wireless or wired communication.

[0026] In this embodiment, the mobile robot 20 and the user terminal 400 are connected to the host management device 10 via a network 600. The mobile robot 20 and the user terminal 400 are connected to the network 600 via a communication unit 610. The network 600 is a wired or wireless LAN (Local Area Network) or WAN (Wide Area Network). Furthermore, the host management device 10 is connected to the network 600 by wire or wireless. The communication unit 610 is, for example, a wireless LAN unit installed in each environment. The communication unit 610 may be, for example, a general-purpose communication device such as a WiFi router.

[0027] Various signals transmitted from the user terminals 400 of the users U1 and U2 are first sent to the host management device 10 via the network 600, and then transferred from the host management device 10 to the target mobile robot 20. Similarly, various signals transmitted from the mobile robot 20 are first sent to the host management device 10 via the network 600, and then transferred from the host management device 10 to the target user terminal 400. The host management device 10 is a server connected to each device and collects data from each device. In addition, the host management device 10 is not limited to a single physical device, and may have multiple devices that perform distributed processing. In addition, the host management device 10 may be distributed and arranged in edge devices such as the mobile robot 20. For example, a part or all of the transport system 1 may be mounted on the mobile robot 20.

[0028] The user terminal 400 and the mobile robot 20 may transmit and receive signals without going through the higher level management device 10. For example, the user terminal 400 and the mobile robot 20 may transmit and receive signals directly by wireless communication. Alternatively, the user terminal 400 and the mobile robot 20 may transmit and receive signals via the communication unit 610.

[0029] User U1 or user U2 requests the transport of an item using a user terminal 400. In the following description, it is assumed that user U1 is the transport requester at the transport origin, and user U2 is the intended recipient at the transport destination (destination). Of course, user U2 at the transport destination can also make the transport request. Also, a user at a location other than the transport origin or destination may make the transport request.

[0030] When user U1 makes a transport request, he / she uses the user terminal 400 to input the contents of the transported item, the recipient of the transported item (hereinafter also referred to as the transport origin), the destination of the transported item (hereinafter also referred to as the transport destination), the scheduled arrival time at the transport origin (time of receipt of the transported item), the scheduled arrival time at the transport destination (transport deadline), etc. Hereinafter, this information is also referred to as transport request information. User U1 can input the transport request information by operating the touch panel of the user terminal 400. The transport origin may be the location where user U1 is located, or may be the storage location of the transported item, etc. The transport destination is the location where user U2 who is scheduled to use the item or the patient is located.

[0031] The user terminal 400 transmits the transport request information input by the user U1 to the host management device 10. The host management device 10 is a management system that manages a plurality of mobile robots 20. The host management device 10 transmits operation commands to the mobile robots 20 to execute the transport task. For each transport request, the host management device 10 determines the mobile robot 20 that will execute the transport task. The host management device 10 then transmits a control signal including the operation command to the mobile robot 20. The mobile robot 20 moves from the transport source to the transport destination in accordance with the operation command.

[0032] For example, the host management device 10 assigns a transport task to a mobile robot 20 at or near the transport origin. Alternatively, the host management device 10 assigns a transport task to a mobile robot 20 heading toward the transport origin or its vicinity. The mobile robot 20 to which the task is assigned goes to the transport origin to pick up the transported object. The transport origin is, for example, a location where the user U1 who requested the task is located.

[0033] When the mobile robot 20 arrives at the destination, user U1 or another staff member loads the transported item onto the mobile robot 20. The mobile robot 20 carrying the transported item moves autonomously to the destination. The upper management device 10 transmits a signal to the user terminal 400 of user U2 at the destination. This allows user U2 to know that the transported item is being transported and the estimated arrival time. When the mobile robot 20 arrives at the set destination, user U2 can receive the transported item stored in the mobile robot 20. In this manner, the mobile robot 20 executes the transport task.

[0034] In such an overall configuration, the various elements of the control system can be distributed among the mobile robots 20, the user terminals 400, and the host management device 10 to construct the control system as a whole. It is also possible to construct the system by gathering the essential elements for realizing the transportation of the transported goods in one device. The host management device 10 controls one or more mobile robots 20.

[0035] In this embodiment, the mobile robot 20 moves autonomously by referring to a map. A robot control system that controls the mobile robot 20 acquires distance information indicating the distance to a person measured using a distance measuring sensor. The robot control system estimates a movement vector indicating the moving speed and moving direction of the person according to a change in the distance to the person. The robot control system assigns a cost for restricting the movement of the mobile robot on the map. The robot control system controls the robot to move according to the cost updated according to the measurement result of the distance measuring sensor. The robot control system may be mounted on the mobile robot 20, or a part or all of the robot control system may be mounted on the upper management device 10.

[0036] (Control block diagram) 2 is a control block diagram showing a control system of the system 1. As shown in FIG.

[0037] This system 1 efficiently controls a plurality of mobile robots 20 while autonomously moving the mobile robots 20 within a given facility. For this purpose, a plurality of environmental cameras 300 are installed within the facility. For example, the environmental cameras 300 are installed in passageways, halls, elevators, entrances, etc. within the facility.

[0038] The environmental camera 300 captures images of the range in which the mobile robot 20 moves. In the system 1, the images captured by the environmental camera 300 and information based on them are collected by the host management device 10. Alternatively, the images captured by the environmental camera 300 may be directly transmitted to the mobile robot. The environmental camera 300 may be a surveillance camera installed in a passageway or an entrance / exit in a facility. The environmental camera 300 may be used to obtain the distribution of the congestion state in the facility.

[0039] In the system 1 according to the first embodiment, the host management device 10 performs route planning based on transport request information. Based on the route planning information created by the host management device 10, the host management device 10 instructs each mobile robot 20 as to its destination. Then, the mobile robot 20 moves autonomously toward the destination specified by the host management device 10. The mobile robot 20 moves autonomously toward the destination (destination) using sensors, a floor map, position information, and the like provided on the mobile robot.

[0040] For example, the mobile robot 20 runs so as not to come into contact with surrounding equipment, objects, walls, and people (hereinafter collectively referred to as surrounding objects). Specifically, the mobile robot 20 detects the distance to the surrounding objects, and runs while being at a certain distance (referred to as the distance threshold) or more away from the surrounding objects. When the distance to the surrounding object becomes equal to or less than the distance threshold, the mobile robot 20 slows down or stops. In this way, the mobile robot 20 can run without coming into contact with surrounding objects. As contact can be avoided, safe and efficient transportation becomes possible.

[0041] The upper management device 10 has a calculation processing unit 11, a storage unit 12, a buffer memory 13, and a communication unit 14. The calculation processing unit 11 performs calculations for controlling and managing the mobile robot 20. The calculation processing unit 11 can be implemented as a device capable of executing a program, such as a central processing unit (CPU) of a computer. Various functions can also be realized by a program. Although only the robot control unit 111, route planning unit 115, transported goods information acquisition unit 116, and cost allocation unit 118, which are characteristic of the calculation processing unit 11, are shown in FIG. 2, other processing blocks are also provided.

[0042] The robot control unit 111 performs calculations for remotely controlling the mobile robot 20 and generates a control signal. The robot control unit 111 generates the control signal based on route planning information 125, which will be described later, and the like. Furthermore, the control signal is generated based on various information obtained from the environmental camera 300 and the mobile robot 20. The control signal may include update information such as a floor map 121, robot information 123, and robot control parameters 122, which will be described later. In other words, when various information is updated, the robot control unit 111 generates a control signal according to the update information.

[0043] The cost assigning unit 118 assigns a cost on the floor map 121. The cost assigning unit 118 associates a cost with a position on the floor map 121. In other words, it calculates a cost for each position on the floor map 121. The cost is information for restricting the movement of the mobile robot 20. For example, the cost is set in 100 stages from 0 to 100, and the movement of the mobile robot 20 is restricted more as the number increases. Specifically, the floor map 121 is a grid map divided into grids. The cost assigning unit 118 then sets a cost for each grid. The mobile robot 20 cannot enter a grid whose cost is equal to or greater than a predetermined value. Alternatively, Cost The larger the value, the lower the upper limit of the moving speed is set. The cost allocating unit 118 calculates the cost on an ongoing basis in accordance with the surrounding situation. The process of the cost allocating unit 118 will be described later.

[0044] The transported item information acquisition unit 116 acquires information about the transported item. The transported item information acquisition unit 116 acquires information about the contents (type) of the transported item being transported by the mobile robot 20. The transported item information acquisition unit 116 acquires transported item information about the transported item being transported by the mobile robot 20 in which an error has occurred.

[0045] The route planning unit 115 plans routes for each mobile robot 20. When a transport task is input, the route planning unit 115 plans a route for transporting the transported object to a transport destination (destination) based on transport request information. Specifically, the route planning unit 115 refers to route planning information 125 and robot information 123 already stored in the storage unit 12, and determines the mobile robot 20 that will execute the new transport task. The starting point is the current location of the mobile robot 20, the destination of the previous transport task, the recipient of the transported object, etc. The destination is the destination of the transported object, a waiting location, a charging location, etc.

[0046] Here, the route planning unit 115 sets pass points from the starting point to the destination of the mobile robot 20. The route planning unit 115 sets the order of passing the pass points for each mobile robot 20. The pass points are set, for example, at branching points, intersections, lobbies in front of elevators, and the surrounding areas. In addition, in narrow passages, it may be difficult for the mobile robots 20 to pass each other. In such cases, a pass point may be set just before the narrow passage. Candidates for pass points may be registered in the floor map 121 in advance.

[0047] The route planning unit 115 determines which mobile robot 20 will perform each transport task from among the multiple mobile robots 20 so that the tasks can be executed efficiently as a whole system. The route planning unit 115 preferentially assigns transport tasks to mobile robots 20 that are on standby or that are close to the transport source.

[0048] The route planning unit 115 sets pass points including a starting point and a destination point for the mobile robot 20 to which a transport task is assigned. For example, when there are two or more moving routes from the transport origin to the transport destination, the pass points are set so that the robot can travel in a shorter time. For this reason, the upper level management device 10 updates information indicating the congestion status of the passageway based on camera images, etc. Specifically, places where other mobile robots 20 are passing through and places with many people are highly crowded. Therefore, the route planning unit 115 sets pass points so as to avoid places with high congestion.

[0049] There are cases where the mobile robot 20 can move to the destination via either a left-handed or a right-handed movement route. In such cases, the route planning unit 115 sets a passing point so that the mobile robot 20 passes through the less congested movement route. By the route planning unit 115 setting one or more passing points on the way to the destination, the mobile robot 20 can move along a less congested movement route. For example, when the passageways are divided at a branch point or an intersection, the route planning unit 115 appropriately sets passing points at the branch point, intersection, corner, and their surroundings. This can improve the efficiency of transportation.

[0050] The route planning unit 115 may set the passing points in consideration of the congestion status of the elevators, the moving distance, and the like. Furthermore, the upper management device 10 may estimate the number of mobile robots 20 and the number of people at the scheduled time when the mobile robots 20 pass a certain location. Then, the route planning unit 115 may set the passing points according to the estimated congestion status. Furthermore, the route planning unit 115 may dynamically change the passing points according to the change in the congestion status. The route planning unit 115 sets the passing points in order for the mobile robots 20 to which the transportation task is assigned. The passing points may include the transportation origin and the transportation destination. As will be described later, the mobile robot 20 moves autonomously so as to pass through the passing points set by the route planning unit 115 in order.

[0051] The storage unit 12 is a storage unit that stores information necessary for managing and controlling the robot. In the example of Fig. 2, a floor map 121, robot information 123, robot control parameters 122, route planning information 125, and transported item information 126 are shown, but other information may be stored in the storage unit 12. The calculation processing unit 11 performs calculations using the information stored in the storage unit 12 when performing various processes. In addition, the various information stored in the storage unit 12 can be updated to the latest information.

[0052] The floor map 121 is map information of the facility in which the mobile robot 20 moves. This floor map 121 may be created in advance, may be generated from information obtained from the mobile robot 20, or may be a basic map created in advance to which map correction information generated from information obtained from the mobile robot 20 has been added.

[0053] For example, the floor map 121 stores the positions and information of walls, gates, doors, stairs, elevators, fixed shelves, etc. of the facility. The floor map 121 may be expressed as a two-dimensional grid map. In this case, information on walls, doors, etc. is added to each grid in the floor map 121.

[0054] The robot information 123 describes the ID, model number, specifications, etc. of the mobile robot 20 managed by the upper management device 10. The robot information 123 may include position information indicating the current position of the mobile robot 20. The robot information 123 may include information on whether the mobile robot 20 is executing a task or is on standby. The robot information 123 may also include information on whether the mobile robot 20 is in operation or out of order. The robot information 123 may also include information on transportable and untransportable goods.

[0055] The robot control parameters 122 describe control parameters such as a threshold distance between the mobile robot 20 managed by the upper management device 10 and a surrounding object. The threshold distance is a margin distance for avoiding contact with a surrounding object including a person. Furthermore, the robot control parameters 122 may include information on the strength of the operation of the mobile robot 20, such as an upper limit of the moving speed of the mobile robot 20.

[0056] The robot control parameters 122 may be updated according to the situation. The robot control parameters 122 may include information indicating the availability and usage of the storage space in the storehouse 291. The robot control parameters 122 may include information on transportable and untransportable goods. The robot control parameters 122 associate the above various information with each mobile robot 20.

[0057] The route planning information 125 includes route planning information planned by the route planning unit 115. The route planning information 125 includes, for example, information indicating a transportation task. The route planning information 125 may include information such as an ID of the mobile robot 20 to which the task is assigned, a starting point, the contents of the transported object, a transport destination, a transport origin, an expected arrival time at the transport destination, an expected arrival time at the transport origin, and an arrival deadline. In the route planning information 125, the above-mentioned various information may be associated with each transportation task. The route planning information 125 may include at least a part of the transportation request information input by the user U1.

[0058] Furthermore, the route planning information 125 may include information on pass points for each mobile robot 20 and each transport task. For example, the route planning information 125 includes information indicating the order of passing through pass points for each mobile robot 20. The route planning information 125 may include the coordinates of each pass point on the floor map 121 and information on whether or not the pass point has been passed.

[0059] The cost map 128 is a map showing the costs assigned by the cost assigning unit 118. Specifically, the costs are associated with positions (addresses or coordinates) on the floor map 121. As described above, the cost map 128 can be a grid map in which costs are stored in each grid. Every time the cost assigning unit 118 assigns a cost, the cost map 128 is updated. Note that the cost map 128 may be generated by integrating cost maps 228 stored in multiple mobile robots 20. In other words, the cost map 128 may be generated based on the costs assigned by multiple mobile robots.

[0060] The transported item information 126 is information about the item for which a transport request has been made. For example, it includes information such as the contents (type) of the item, the origin of the item, and the destination of the item. The transported item information 126 may include the ID of the mobile robot 20 in charge of the transport. Furthermore, the transported item information may include information indicating the status such as being transported, before transport (before loading), and already transported. The transported item information 126 associates these pieces of information with each transported item. The transported item information 126 will be described later.

[0061] The route planning unit 115 formulates a route plan by referring to various information stored in the storage unit 12. For example, the mobile robot 20 that executes the task is determined based on the floor map 121, the robot information 123, the robot control parameters 122, and the route planning information 125. The route planning unit 115 then sets pass points to the destination and the order of passing through them by referring to the floor map 121 and the like. Candidates for pass points are registered in the floor map 121 in advance. The route planning unit 115 then sets the pass points according to the congestion situation and the like. In addition, when tasks are processed continuously, the route planning unit 115 may set the source and destination as pass points.

[0062] Note that two or more mobile robots 20 may be assigned to one transport task. For example, if the transported object is larger than the transportable capacity of the mobile robot 20, one transported object is divided into two and loaded onto two mobile robots 20. Alternatively, if the transported object is heavier than the transportable weight of the mobile robot 20, one transported object is divided into two and loaded onto two mobile robots 20. In this way, one transport task can be shared and executed by two or more mobile robots 20. Of course, when controlling mobile robots 20 of different sizes, route planning may be performed so that the mobile robot 20 capable of transporting the object receives the object.

[0063] Furthermore, one mobile robot 20 may perform two or more transport tasks in parallel. For example, one mobile robot 20 may simultaneously carry two or more transported objects and transport them sequentially to different destinations. Alternatively, one mobile robot 20 may carry one transported object while carrying another transported object. Furthermore, the destinations of the transported objects carried at different locations may be the same or different. In this way, tasks can be executed efficiently.

[0064] In such a case, the accommodation information indicating the usage status or availability of the accommodation space of the mobile robot 20 may be updated. That is, the upper management device 10 may manage the accommodation information indicating the availability and control the mobile robot 20. For example, when the loading or receiving of the transported object is completed, the accommodation information is updated. When the transport task is input, the upper management device 10 refers to the accommodation information and directs the mobile robot 20 that has the availability to load the transported object to receive it. In this way, it becomes possible for one mobile robot 20 to simultaneously execute multiple transport tasks, or for two or more mobile robots 20 to share and execute the transport task. For example, a sensor may be installed in the accommodation space of the mobile robot 20 to detect the availability. In addition, the capacity and weight of each transported object may be registered in advance.

[0065] The buffer memory 13 is a memory that accumulates intermediate information generated in the processing in the arithmetic processing unit 11. The communication unit 14 is a communication interface for communicating with a plurality of environmental cameras 300 and at least one mobile robot 20 provided in the facility in which the system 1 is used. The communication unit 14 can perform both wired and wireless communication. For example, the communication unit 14 transmits, to each mobile robot 20, a control signal required for controlling the mobile robot 20. The communication unit 14 also receives information collected by the mobile robot 20 and the environmental camera 300.

[0066] The mobile robot 20 has a calculation processing unit 21, a memory unit 22, a communication unit 23, a proximity sensor (e.g., a distance sensor group 24), a camera 25, a drive unit 26, a display unit 27, and an operation reception unit 28. Note that, although Fig. 2 shows only representative processing blocks provided in the mobile robot 20, the mobile robot 20 also includes many other processing blocks that are not shown.

[0067] The communication unit 23 is a communication interface for communicating with the communication unit 14 of the higher-level management device 10. The communication unit 23 communicates with the communication unit 14 using, for example, wireless signals. 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 camera 25, for example, takes an image for grasping the situation around the mobile robot 20. The camera 25 can also take an image of, for example, a position marker provided on the ceiling of a facility. The position marker may be used to allow the mobile robot 20 to grasp its own position.

[0068] The driving unit 26 drives the driving wheels provided on the mobile robot 20. The driving unit 26 may have an encoder that detects the number of rotations of the driving wheels or the driving motor. The mobile robot's own position (current position) may be estimated according to the output of the encoder. The mobile robot 20 detects its own current position and transmits it to the upper management device 10.

[0069] 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 state 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.

[0070] 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 the programs. The arithmetic processing unit 21 has a movement command extraction unit 211, a drive control unit 212, a cost assignment unit 218, and an object detection unit 219. Note that, although FIG. 2 shows only representative processing blocks of the arithmetic processing unit 21, processing blocks not shown in the figure are also included. The arithmetic processing unit 21 may search for a route between passing points. The arithmetic processing unit 21 may also determine a route by referring to a cost map 228.

[0071] The movement command extraction unit 211 extracts a movement command from a control signal provided by the upper management device 10. For example, the movement command includes information on the next passing point. For example, the control signal may include coordinates of the passing point and information on the order of passing through the passing point. Then, the movement command extraction unit 211 extracts this information as a movement command.

[0072] Furthermore, the movement command may include information indicating that movement to the next passing point is now possible. 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 cannot be passed temporarily. 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 is able to pass, the upper management device 10 outputs a control signal to notify the mobile robot 20 that it is now able to move. This causes the mobile robot 20, which had been temporarily stopped, to resume movement.

[0073] The drive control unit 212 controls the drive unit 26 to move the mobile robot 20 based on the movement command given from the movement command extraction unit 211. For example, the drive unit 26 has a drive wheel that rotates 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 upper management device 10. Then, the drive unit 26 rotates and drives the drive wheel. The mobile robot 20 moves autonomously toward the next passing point. In this way, the mobile robot 20 passes through the passing points in order and arrives at the transport destination. In addition, the mobile robot 20 may estimate its own position and transmit a signal indicating that it has passed the passing point to the upper management device 10. This allows the upper management device 10 to manage the current position and transport status of each mobile robot 20.

[0074] The cost assigning unit 218 assigns costs on the floor map 221. The cost assigning unit 218 associates costs with positions on the floor map 221. In other words, it calculates a cost for each position on the floor map 221. The cost is information for restricting the movement of the mobile robot 20. For example, the cost is set in 100 stages from 0 to 100, and the movement of the mobile robot 20 is restricted more as the number increases. The upper limit value in the setting range of the cost is set to 100, and the lower limit value is set to 0, but the upper limit value and the lower limit value of the setting range are not limited to these values.

[0075] Specifically, the floor map 221 is a grid map divided into grids. The cost allocating unit 218 then sets a cost for each grid. The mobile robot 20 cannot enter a grid whose cost is equal to or exceeds a predetermined value. Alternatively, the higher the cost, the lower the upper limit of the moving speed is set. The cost allocating unit 218 calculates the cost at any time according to the surrounding situation. 218 The process will be described later.

[0076] The object detection unit 219 detects surrounding objects around the mobile robot 20. Furthermore, when the surrounding object is another mobile robot 20 or a human moving object, the object detection unit 219 estimates the moving speed and moving direction of the moving object. The object detection unit 219 may also specify whether the surrounding object is a fixed object fixed to the facility or a moving object that can move within the facility. Fixed objects include walls, doors, desks, fixed shelves, etc. within the facility, and information about these objects is stored in the floor maps 121, 221. Moving objects include other mobile robots, stretchers, IV drip stands, movable medical equipment, shelves with casters, people, wheelchairs, etc.

[0077] Information about moving objects is usually not registered in the floor maps 121 and 221. Therefore, the object detection unit 219 can detect whether a surrounding object is a fixed object or a moving object by referring to the floor maps 121 and 221. In other words, a surrounding object that is located at a position that matches an object registered on the floor map 221 is a fixed object. A surrounding object that is not located at a position that matches an object registered on the floor map 221 is a moving object. The moving object is not limited to an object, and may be a human or an animal.

[0078] The mobile robot 20 estimates its own position on the floor map 121 by odometry or the like. Then, the object detection unit 219 can identify the position of the peripheral object on the floor map 121 according to the distance and direction from the mobile robot 20's own position to the peripheral object. The object detection unit 219 determines whether the peripheral object is registered in the floor map 221. The distance and direction to the peripheral object can be acquired from the measurement results of the distance sensor group 24.

[0079] Furthermore, the object detection unit 219 may identify a surrounding object based on the sensing results of the distance sensor group 24, the camera 25, and the like. For example, if the distance sensor group 24 is a lidar, the surface shape of the surrounding object can be measured. The object detection unit 219 can identify the surrounding object according to the surface shape. For example, if the surrounding object is a person in the vicinity, the surface shape detected by the distance sensor group 24 matches the surface shape of the person. Alternatively, the object detection unit 219 can identify the surrounding object based on the captured image of the camera 25. For example, if the surrounding object is a person in the vicinity, the captured image of the camera 25 matches the reference image of the person. Therefore, the object detection unit 219 can identify that the surrounding object is a person. In this way, by performing a pattern matching process on the detection results of various sensors, it is possible to identify whether the surrounding object is a person or another mobile robot.

[0080] The storage unit 22 stores a floor map 221, robot control parameters 222, and transported item information 226. FIG. 2 shows only a part of the information stored in the storage unit 22, and the information stored in the storage unit 22 includes information other than the floor map 221, robot control parameters 222, and transported item information 226 shown in FIG. 2. The floor map 221 is map information of a facility in which the mobile robot 20 is to be moved. This floor map 221 is, for example, a downloaded floor map 121 of the upper management device 10. The floor map 221 may be one that has been created in advance. The floor map 221 may not be map information of the entire facility, but may be map information that partially includes an area to be moved.

[0081] 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. Furthermore, the robot control parameters 222 include an upper limit of the speed of the mobile robot 20.

[0082] The transported goods information 226 includes information related to transported goods, similar to the transported goods information 126. It includes information such as the contents (type) of the transported goods, the transport origin, and the transport destination. The transported goods information may also include information indicating the status such as being transported, before being transported (before being loaded), and already transported. The transported goods information 226 is associated with this information for each transported goods. Transported goods information 226 The transported item information 226 only needs to include information on the items transported by the mobile robot 20. Therefore, the transported item information 226 becomes a part of the transported item information 126. In other words, the transported item information 226 does not need to include information on items transported by other mobile robots 20.

[0083] 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. The drive control unit 212 controls the drive unit 26 so that the mobile robot 20 travels at a speed equal to or lower 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 higher than the upper speed limit.

[0084] The cost map 228 is a map showing the costs assigned by the cost assigning unit 218. Specifically, the costs are associated with positions (addresses or coordinates) on the floor map 221. As described above, the cost map 228 can be a grid map in which costs are stored in each grid. Every time the cost assigning unit 218 calculates a cost, the cost map 228 is updated.

[0085] The costs shown in the cost map 228 are transmitted to the host management device 10 via the communication unit 23. That is, the communication unit 23 transmits the costs assigned by the cost assigning unit 218 to the host management device 10. The communication unit 23 also assigns the ID of the mobile robot 20 that assigned the cost to the cost and transmits it to the host management device 10. This allows the cost assigning unit 118 of the host management device 10 to integrate the costs assigned by multiple mobile robots 20.

[0086] (Configuration of the mobile robot 20) Here, the external appearance of the mobile robot 20 will be described. Fig. 3 shows a schematic diagram of the mobile robot 20. The mobile robot 20 shown in Fig. 3 is one aspect of the mobile robot 20, and other aspects may also be used. In Fig. 3, 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.

[0087] The mobile robot 20 includes a main body section 290 and a cart section 260. The main body section 290 is mounted on the cart section 260. The main body section 290 and the cart section 260 each have a rectangular parallelepiped housing, and each component is mounted inside this housing. For example, the drive section 26 is housed inside the cart section 260.

[0088] The main body 290 is provided with a storage 291 serving as a storage space and a door 292 for sealing the storage 291. The storage 291 is provided with a plurality of 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 transported goods stored in the storage 291 to a destination instructed by the upper management device 10. The main body 290 may be equipped with a control box or the like (not shown) in the housing. The door 292 may be lockable with an electronic key or the like. When the transport destination is reached, the user U2 unlocks the door 292 with the electronic key. Alternatively, the door 292 may be unlocked automatically when the transport destination is reached.

[0089] 3, 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 measures the distance to surrounding objects in the front-rear direction of the mobile robot 20 using the front-rear distance sensor 241. The mobile robot 20 also measures the distance to surrounding objects in the left-right direction of the mobile robot 20 using the left-right distance sensor 242.

[0090] For example, the front / rear distance sensor 241 is disposed on the front and rear surfaces, respectively, of the housing of the main body 290. The left / right distance sensor 242 is disposed on the left and right surfaces, respectively, of the housing of the main body 290. The front / rear distance sensor 241 and the left / right distance sensor 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 decelerates or stops.

[0091] The driving unit 26 is provided with a driving wheel 261 and a caster 262. The driving wheel 261 is a wheel for moving the mobile robot 20 forward, backward, left and right. The caster 262 is a driven wheel that is not given a driving force and rolls following the driving wheel 261. The driving unit 26 has a driving motor (not shown) and drives the driving wheel 261.

[0092] For example, the driving unit 26 supports, within the housing, two driving wheels 261 and two casters 262, each of which comes into contact with the running surface. The two driving wheels 261 are arranged so that their rotational axes coincide with each other. Each driving wheel 261 is independently driven to rotate by a motor (not shown). The driving wheels 261 rotate according to a control command value from the driving control unit 212 in FIG. 2. The casters 262 are driven wheels, and are provided so that a pivot axis extending vertically from the driving unit 26 is separated from the rotation axis of the wheels to support the wheels, and follow the moving direction of the driving unit 26.

[0093] For example, if the two drive wheels 261 are rotated in the same direction at the same rotation speed, the mobile robot 20 moves straight, and if they are rotated in opposite directions at the same rotation speed, the mobile robot 20 turns around a vertical axis passing through approximately the center of the two drive wheels 261. In addition, by rotating the two drive wheels 261 in the same direction at different rotation speeds, the mobile robot 20 can move while turning left and right. For example, by making the rotation 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 rotation speed of the right drive wheel 261 higher than that of the left drive wheel 261, the mobile robot 20 can turn left and right, etc. in any direction by controlling the rotation directions and rotation speeds of the two drive wheels 261, respectively.

[0094] 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.

[0095] The display unit 27 is, for example, a liquid crystal panel, and displays a character's face as an illustration, and presents information about the mobile robot 20 as text or icons. If a character's face is displayed on the display unit 27, it is possible to give the impression to observers in the vicinity that the display unit 27 is a pseudo face. The display unit 27 mounted on the mobile robot 20 can also be used as the user terminal 400.

[0096] A camera 25 is installed on the front of the main body 290. Here, the two cameras 25 function as a stereo camera. That is, the two cameras 25 having 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 of the two cameras 25, it is possible to calculate the distance to the subject and the size of the subject. The arithmetic processing unit 21 can detect people, obstacles, etc. ahead in the moving direction by analyzing the image of the camera 25. If there are people, obstacles, etc. ahead in the moving direction, the mobile robot 20 moves along the route while avoiding them. In addition, the image data of the camera 25 is transmitted to the upper management device 10.

[0097] 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 ahead of the mobile robot 20 is the direction of travel, as indicated by the arrow.

[0098] Next, an example of the sensing area of ​​the distance sensor group 24 will be described. Here, as shown in Fig. 4, two distance measurement sensors 24A and 24B are provided as the distance sensor group 24. The distance measurement sensor 24A is a two-dimensional distance measurement sensor, and the distance measurement sensor 24B is a three-dimensional distance measurement sensor. They may correspond to the front / rear distance sensor 241 and the left / right distance sensor 242, or may be provided separately. The distance measurement sensor 24A and the distance measurement sensor 24B repeatedly measure the distance to surrounding objects at a predetermined time interval. The measurement range (measurable distance) of the distance measurement sensor 24A is longer than that of the distance measurement sensor 24B.

[0099] The distance measurement sensors 24A and 24B are LiDARs (Light Detection and Ranging, Laser Imaging Detection and Ranging) that use pulsed laser light as a measurement signal. The distance measurement sensors 24A and 24B measure the distance to a surrounding object based on the phase and round trip time of the return light reflected by the surrounding object. The distance measurement sensors 24A and 24B have a scanning mirror for changing the emission direction of the laser light. The distance measurement sensors 24A and 24B drive the scanning mirror to change the measurement direction.

[0100] The distance measurement sensor 24A is a two-dimensional lidar, and the sensing area (angle of view range) SA is parallel to the horizontal plane. That is, in the distance measurement sensor 24A, the scanning mirror rotates around the vertical axis, so the measurement direction changes around the yaw axis. The emission direction of the measurement signal is parallel to the horizontal plane, and the emission direction of the measurement signal changes within the horizontal plane. Of course, the sensing area is not limited to being parallel to the horizontal plane. For example, if the floor surface is inclined, the sensing area SA may be parallel to the inclined surface. The sensing area SA extends in the left-right direction.

[0101] For example, the distance measuring sensor 24A performs two-dimensional distance measurement by scanning in all directions (360°) centered on the mobile robot 20 at intervals of 1°. The sensing area SA may be in all directions of 360° in a horizontal plane, or may be a partial angular range. For example, only a predetermined angular range centered on the forward direction of movement may be set as the sensing area SA. The distance measuring sensor 24A may be used to estimate the self-position. For example, when there is a wall around the mobile robot 20, information about the wall is stored in the floor map 221. When the distance measuring sensor 24A measures the distance to the wall, the calculation processing unit 21 refers to the floor map 221 to estimate the current position of the mobile robot 20. The distance measuring sensor 24A may also be used to detect obstacles in the vicinity.

[0102] The distance measurement sensor 24B is a three-dimensional lidar, and the sensing area (angle of view range) SB is three-dimensional. For example, in the distance measurement sensor 24B, the emission direction of the measurement signal changes around the yaw axis and pitch axis. By scanning the three-dimensional sensing area SB, the distance measurement sensor 24B can acquire point cloud data indicating the three-dimensional shape of surrounding objects.

[0103] The distance to a surrounding object is measured using a distance measuring sensor 24B that performs three-dimensional measurement and a distance measuring sensor 24A that performs two-dimensional measurement. For example, the measurable distance (measurement range) of the distance measuring sensor 24A is longer than the measurable distance (measurement range) of the distance measuring sensor 24B. In other words, the distance measuring sensor 24A can measure a longer distance than the distance measuring sensor 24B that performs three-dimensional measurement. In this case, the measurement range can be set according to the intensity of the pulse laser light.

[0104] When the distance measuring sensor 24A detects a surrounding object that is not on the floor map 221, the distance measuring sensor 24B measures the three-dimensional shape of the surrounding object. For example, when the distance measuring sensor 24A detects a moving surrounding object, the distance measuring sensor 24B measures the distance to the moving surrounding object with high accuracy. 3D surface shape can be measured with high accuracy.

[0105] For example, in FIG. 4, the user UA is present as a peripheral object in front of the mobile robot 20. From the measurement result of the distance measurement sensor 24A capable of measuring long distances, the object detection unit 219 detects the user UA as a peripheral object. Since the user UA is not registered in the floor map 221, when the distance measurement sensor 24B approaches to a position where the distance measurement sensor 24B can measure the distance, the distance measurement sensor 24B measures the user UA. The distance measurement sensor 24B measures the user UA by setting the sensing area SB to include the user UA. The distance measurement sensor 24B performs distance measurement with high accuracy by reducing the pitch of the scanning angle of the measurement signal. Then, the distance measurement sensor 24B measures the three-dimensional shape of the surface of the peripheral object. This makes it possible to measure point cloud data indicating the three-dimensional shape of the user UA.

[0106] In this way, when the object detection unit 219 detects the presence of a surrounding object from the measurement result of the distance measurement sensor 24A, the distance measurement sensor 24B performs three-dimensional measurement with the surrounding object as the center of the sensing area SB.

[0107] Furthermore, the object detection unit 219 can calculate the movement vector of the surrounding object from the measurement result of the distance measurement sensor 24B. When the surrounding object is a moving person or another mobile robot 20, the object detection unit 219 estimates the movement vector of the person or the mobile robot 20. The movement vector is information including a moving speed and a moving direction. For example, the movement vector of the surrounding object is estimated based on a change in the distance from the mobile robot 20 to the surrounding object. The mobile robot 20 detects its own current position. Then, the object detection unit 219 detects the position of the surrounding object on the floor map 221 according to the distance and direction to the surrounding object. Then, the object detection unit 219 calculates the movement vector according to the change over time in the position of the surrounding object on the floor map 221.

[0108] In FIG. 4, since the user UA is present in the vicinity of the mobile robot 20, the object detection unit 219 detects the user UA as a surrounding object. The user UA is a staff member or a user of the facility. As described above, the object detection unit 219 detects the position of the user UA on the floor map 221. Furthermore, the distance measurement sensor 24A and the distance measurement sensor 24B perform repeated measurements. The object detection unit 219 estimates the movement vector of the user UA by comparing the position of the user UA on the floor map 221. Then, the cost assignment unit 218 assigns a cost according to the movement vector of the user UA.

[0109] Also, the object detection unit 219 may estimate the center of gravity of a peripheral object and estimate a movement vector based on the change in the center of gravity. For example, the object detection unit 219 calculates the center of gravity of a peripheral object on the floor map 221 based on a three-dimensional shape or point cloud data obtained by the measurement of the distance measurement sensor 24B. Here, the center of gravity may be a position in the floor map 221, that is, a two-dimensional position in a horizontal plane. For example, the object detection unit 219, whose center of gravity of a point of the point cloud data is a peripheral object, may calculate a movement vector from a change in the center of gravity of the peripheral object. For example, the object detection unit 219 calculates the movement vector of the peripheral object by comparing the center of gravity obtained from the previous measurement result and the center of gravity obtained from the latest distance measurement result on the floor map. In this way, the estimation accuracy of the moving speed and the moving direction can be improved.

[0110] FIG. 5 is a schematic diagram for explaining a cost given to a user UA in the vicinity of the mobile robot 20. FIG. 5 is a plan view showing the mobile robot 20 traveling along a passage and its surroundings. In the top view shown in FIG. 5, the mobile robot 20 moves along a passage that runs in the up-down direction (for example, the north-south direction). Walls W are provided on both the left and right sides of the passage. In FIG. 5, the mobile robot 20 moves from bottom to top. Specifically, the mobile robot 20 moves along the passage along a route P1 planned by the route planning unit 115. The route P1 includes passing points M11 and M12.

[0111] Here, a user UA is moving down a passage in front of the mobile robot 20. The user UA is moving in the direction indicated by the movement vector V. In Fig. 5, the user UA is walking diagonally downward to the left. Distance measurement sensors 24A and 24B are measuring the distance to the user UA.

[0112] As described above, the object detection unit 219 calculates the movement vector V of the user UA. That is, the object detection unit 219 calculates the movement vector V of the user UA based on a change in the position of the user UA on the floor map 221. Here, the movement vector V of the user UA indicates the absolute movement speed and movement direction of the user UA on the floor map 221.

[0113] For example, the distance measurement sensor 24A and the distance measurement sensor 24B repeatedly measure the distance to the user UA. That is, the distance measurement sensor 24A and the distance measurement sensor 24B measure the distance and direction to the user UA based on the mobile robot 20. The object detection unit 219 specifies the position of the user UA on the floor map 221, taking into account the current position of the mobile robot 20 itself.

[0114] The object detection unit 219 estimates the movement direction by comparing the position of the user UA at the time of the previous measurement with the position of the user UA at the time of the latest measurement. The object detection unit 219 calculates the distance between the position of the user UA at the time of the previous measurement and the position of the user UA at the time of the latest measurement. Then, the object detection unit 219 estimates the movement speed of the user UA from the measurement time interval of the distance measurement sensor 24A and the distance measurement sensor 24B. For example, the measurement time interval is determined according to the scanning period of the lidar, the size of the sensing area, etc. Of course, the estimation of the movement vector is not limited to the above method. For example, the object detection unit 219 may estimate the movement vector V by averaging the measurement results of three or more distance measurement sensors.

[0115] The cost assigning unit 218 assigns a cost to the floor map 221 based on the movement vector V. The cost assigning unit 218 calculates the cost for each grid of the floor map 221. In FIG. 5, a cost area CU to which a cost is assigned is set based on the latest position of the user UA and the movement vector V. The cost area CU is set ahead in the moving direction of the user UA. The cost area CU is variable according to the moving speed of the user UA. For example, the higher the moving speed of the user UA, the larger the cost area CU becomes.

[0116] The cost assigning unit 218 assigns costs to grids included in the cost area CU. Here, a fixed cost value is assigned to the grids included in the cost area CU. Of course, different cost values ​​may be assigned to each grid depending on the movement vector and the position. For example, the faster the movement speed, the higher the assigned cost can be. Also, the closer the position is to the user UA, the higher or lower the cost can be assigned.

[0117] The cost assigning unit 218 calculates the cost based on the movement vector V obtained for each distance measurement, and sequentially adds the cost. The cost is updated according to the measurement results of the distance measuring sensors 24A and 24B. The cost is added to the grids included in the cost area CU. That is, the cost increases in the grids in front of the user UA in the moving direction. Also, a fixed value is subtracted from the cost of all grids for each measurement. Therefore, in the grids not in front of the moving direction, the cost decreases as time passes. That is, in the grids outside the cost area CU, the cost decreases for each distance measurement. The cost to be assigned or subtracted may be determined according to the cost setting range, the measurement time interval, the movement vector, and the like. In this way, the cost assigning unit 218 assigns the cost for each measurement, and the cost map is updated at any time.

[0118] The mobile robot 20 then moves according to the cost map 228. The mobile robot 20 moves along a route that passes through grids with low costs. In FIG. 5, the cost is high ahead in the moving direction of the user UA, so the mobile robot 20 moves along a route P2 that avoids passing ahead in the moving direction of the user UA. Therefore, the mobile robot 20 sets a route P2 that passes through the origin of the user UA. For example, a route P2 that passes through grids whose costs in the cost map are equal to or less than a predetermined value is set. The mobile robot 20 reflects the cost map 228 in the route plan.

[0119] In this way, the mobile robot 20 can move efficiently. The mobile robot 20 can predict the destination of the user UA and plan a route. In other words, since the mobile robot 20 can move along a route P2 that avoids the destination of the user UA, the mobile robot 20 can move without slowing down its moving speed. The moving time to the destination can be shortened. In the mobile robot 20 used in an environment where people are present, it is desirable for the mobile robot 20 to move while avoiding people. In order to control the mobile robot 20 so as to avoid people, it is difficult to increase the moving speed. As in this embodiment, the cost is updated according to the moving vector, so that the position of the person can be predicted. Therefore, the mobile robot 20 can move efficiently.

[0120] The calculation processing unit 21 controls the movement according to the cost updated according to the measurement results of the distance measuring sensors 24A and 24B. For example, the calculation processing unit 21 may re-plan the route based on the cost map 228. In other words, the mobile robot 20 plans the route so that the mobile robot 20 passes through grids with low costs in the passageway it is moving through. When the cost of a grid included in the route P1 becomes equal to or exceeds a predetermined value, the calculation processing unit 21 corrects the route P1 and sets a new route P2.

[0121] For example, when a destination to be a delivery destination is set, the route planning unit 115 performs route planning so that the robot normally passes on the left side of the passage. That is, the route planning unit 115 sets, as route planning conditions, pass points M11 and M12 so that the robot passes on the left side of the passage, based on the direction in which the mobile robot 20 moves. The route planning unit 115 plans a route P1 for the mobile robot 20, in which the pass points M11 and M12 are set.

[0122] However, since the user UA is walking toward the route P1, the calculation processing unit 21 sets a route P2 that passes through the right side of the passage. The calculation processing unit 21 sets a route P2 that passes through the pass points M11, M22, M23, and M24 in that order. In other words, the calculation processing unit 21 deletes the pass point M12 and adds the pass points M22 to M24. In this way, a more appropriate route plan can be made according to the situation in the facility, thereby enabling efficient route planning.

[0123] For example, the calculation processing unit 21 sets a route P2 that passes through the position where the user UA is located at the timing when the mobile robot 20 is at the passing point M11. The mobile robot 20 can predict the future position of the user UA and perform route planning. For example, the mobile robot 20 can predict the position of the user UA after the travel time when the mobile robot 20 travels the distance from the passing point M11 to the passing point M12. The mobile robot 20 can move on the route P2 that avoids the future position of the user UA predicted from the movement vector V of the user UA. Therefore, the mobile robot 20 can move without reducing the travel speed, and the travel time to the destination can be shortened.

[0124] In FIG. 5, a wall cost area CW is set in the vicinity of the wall W. The wall cost area CW is an area that is a predetermined distance or less from the wall W, and is arranged along the wall W. The cost of the wall cost area CW is a fixed value. That is, a constant wall cost is set in the wall cost area CW. In this case, the cost does not change over time in the vicinity of the wall W. That is, even if the measurement result of the distance measurement sensor is updated, the cost of the wall cost area CW is fixed at a constant value. Therefore, a route is planned so that the mobile robot 20 does not pass through the wall W. In this way, by constantly assigning a cost to grids in the vicinity of the wall W, etc., it is possible to prevent collision with or approaching the wall W. Therefore, it is possible to move more efficiently. For example, it becomes possible to set the above-mentioned distance threshold value to a large value.

[0125] A plurality of mobile robots 20 may be configured to assign costs to the respective floor maps 221. That is, each mobile robot 20 assigns a cost based on the measurement results of the distance measuring sensors 24A, 24B provided on each mobile robot 20.

[0126] A floor map or a cost map may be shared among a plurality of mobile robots 20. For example, the distance measuring sensors of the other mobile robots 20 can measure areas that are blind spots of the distance measuring sensors 24A, 24B of the mobile robots 20. Therefore, costs can be assigned to areas that are blind spots of the other mobile robots. The mobile robots 20 transmit their own cost maps to the upper management device 10.

[0127] Then, the host management device 10 generates a shared cost map 128 by adding up the costs of the cost maps 228 of the multiple mobile robots 20. The host management device 10 transmits the costs of the shared cost map 128 to each mobile robot 20. In this case, the costs of only a part of the area of ​​the cost map 128 may be transmitted. That is, the host management device 10 transmits the costs of the blind areas in the forward direction of the moving direction of the mobile robot 20 to the mobile robot 20. In this way, costs are also assigned to the blind areas of the distance measuring sensors 24A and 24B of the mobile robot 20. Therefore, the mobile robot 20 can predict the situation in the blind areas, and can plan a route that allows more efficient movement.

[0128] 5, the surrounding object is described as the user UA, that is, a person, but the surrounding object is not limited to a person and may be another mobile robot 20. Alternatively, the surrounding object may be a transport cart, a wheelchair, etc. When there is a moving surrounding object (such as a person or a mobile robot) around the mobile robot 20, the mobile robot 20 moves based on the movement vector of the moving object.

[0129] In this embodiment, the distance to a peripheral object is measured using distance measuring sensor 24A that performs two-dimensional measurement and distance measuring sensor 24B that performs three-dimensional measurement. The measurable distance (measurement range) of distance measuring sensor 24A that performs two-dimensional measurement is longer than the measurable distance (measurement range) of distance measuring sensor 24B. In other words, distance measuring sensor 24A can measure a longer distance than distance measuring sensor 24B that performs three-dimensional measurement. In this way, the estimation accuracy of the movement vector of a peripheral object can be improved.

[0130] Also, the center of gravity of the surrounding object may be estimated from the measurement result of the distance measurement sensor 24B. Then, the object detection unit 219 may calculate a movement vector from the change in the center of gravity of the surrounding object over time. In this way, it is possible to improve the estimation accuracy of the movement speed and movement direction.

[0131] A control method according to this embodiment will be described with reference to Fig. 6. Fig. 6 is a flowchart showing the control method. First, the distance measurement sensor 24A and the distance measurement sensor 24B perform two-dimensional distance measurement and three-dimensional distance measurement (S11, S21). Then, the object detection unit 219 extracts a point cloud of a peripheral object (S12). This makes it possible to obtain point cloud data indicating the three-dimensional shape of the peripheral object.

[0132] Next, the object detection unit 219 detects the positions of surrounding objects. Movement vector, The center of gravity is extracted (S13). Here, the object detection unit 219 obtains information such as the position, moving speed, center of gravity, and moving direction of the surrounding object by comparing the previous distance measurement result with the current distance measurement result. Then, the object detection unit 219 projects the information obtained in step S13 onto a two-dimensional floor map 221 (S14). Here, the floor map 221The positions of the surrounding objects and the like are projected onto the map. The cost assigning unit 218 generates a two-dimensional cost map 228 by assigning costs to the floor map 221 (S15). Here, an estimated self-position based on the two-dimensional distance measurement result of the distance measurement sensor 24A is used. That is, the calculation processing unit 21 compares the distance measurement result of the distance measurement sensor 24A with the floor map 221, thereby enabling highly accurate self-position estimation. Then, the cost assigning unit 218 projects the costs of the surrounding objects onto the map based on the estimated self-position. That is, the cost map is projected onto the map compared with the two-dimensional distance measurement result.

[0133] Then, the calculation processing unit 21 corrects the route plan based on the cost map (S16). For example, if the original route passes through a point where the cost is equal to or greater than a predetermined value, the route is changed. That is, the route is corrected so as to detour around the point where the cost is high. This allows efficient movement. Furthermore, by formulating a movement plan based on the distance measurement results of the distance measurement sensors 24A and 24B, it becomes possible to move more efficiently. Then, the mobile robot 20 moves along the corrected route.

[0134] Fig. 7 is a diagram showing a schematic diagram of a cost map. In Fig. 7, two peripheral objects UB and UC are detected in front of the mobile robot 20. The shading of the map indicates the cost, and the darker the area, the higher the cost. The cost is higher in front of the peripheral objects UB and UC. A route P3 is set so as to pass between the two peripheral objects UB and UC.

[0135] The control method according to this embodiment may be performed by the mobile robot 20 alone, or may be performed by the host management device 10. The mobile robot 20 and the host management device 10 may also cooperate to execute the robot control method. That is, the robot control system according to this embodiment may be mounted in the mobile robot 20. Alternatively, at least a part or the whole of the robot control system may be mounted in a device other than the mobile robot 20, for example, the host management device 10.

[0136] In addition, a part or all of the processing in the above-mentioned upper management device 10 or the mobile robot 20 can be realized as a computer program. Such a program can be stored using various types of non-transitory computer-readable media and supplied to the computer. The non-transitory computer-readable media includes various types of tangible recording media. Examples of the 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 supplied to the computer by various types of temporary computer-readable media. Examples of the temporary computer-readable media include electrical signals, optical signals, and electromagnetic waves. The temporary computer-readable media can supply the program to the computer via wired communication paths such as electric wires and optical fibers, or wireless communication paths.

[0137] The present invention is not limited to the above-described embodiment, and can be modified as appropriate without departing from the spirit of the present invention. For example, the above-described embodiment describes a system in which a transport robot moves autonomously within a hospital, but the above-described system can transport specified items as luggage in a hotel, restaurant, office building, event venue, or complex. [Explanation of symbols]

[0138] 1. Transport system 10 Upper management device 11. Processing unit 12 Storage section 13 Buffer Memory 14 Communications Department 20 Mobile Robot 21 Processing unit 22 Memory section 23 Communications Department 24 Distance Sensor Group 25 Camera 26 Drive unit 27 Display section 28 Operation reception section 111 Robot control unit 115 Route Planning Department 118 Cost Allocation Department 121 Floor Map 122 Robot Control Parameters 123 Robot Information 125 Route Planning Information 126 Delivery Information 128 Cost Map 211 Movement command extraction part 212 Drive control unit 218 Cost Allocation Department 219 Object detection unit 221 Floor Map 222 Robot Control Parameters 226 Delivery Information 241 Front and rear distance sensor 242 Left and right distance sensor 260 Bogie section 261 Drive Wheel 262 Caster 281 Operation Interface 290 Main body 291 Storage 292 Door 400 User terminals 610 Communication Unit

Claims

1. A robot control system for controlling a mobile robot that moves autonomously by referring to a map, the mobile robot is equipped with a three-dimensional distance measuring sensor and a two-dimensional distance measuring sensor capable of measuring a distance longer than the three-dimensional distance measuring sensor; comparing the measurement result of the two-dimensional distance measuring sensor with the map, and estimating the position of the mobile robot on the map as a self-position; Detecting a surrounding object not registered in the map from the measurement result of the two-dimensional distance measuring sensor; Obtaining a distance and a direction to the surrounding object measured by the three-dimensional distance measuring sensor; Identifying the position of the surrounding object on the map according to a distance and a direction from the self-position of the mobile robot to the surrounding object; estimating a movement vector indicating a moving speed and a moving direction of the peripheral object according to a change in the position of the peripheral object over time; assigning a cost for restricting the movement of the mobile robot on a map based on the movement vector; a control unit that controls the movement according to the cost updated according to the measurement results of the three-dimensional distance measuring sensor and the two-dimensional distance measuring sensor; a cost area to which a cost is assigned is set on the map according to the latest position of the peripheral object and the movement vector; A robot control system, wherein the higher the moving speed, the larger the cost area becomes.

2. 2. The robot control system according to claim 1, wherein a plurality of mobile robots assign costs to the map, and the map is shared by the plurality of mobile robots.

3. A robot control system as described in claim 1 or 2, which calculates the center of gravity position of the surrounding object based on the measurement results of the three-dimensional ranging sensor, and estimates the movement speed and movement direction from changes in the center of gravity position.

4. 4. The robot control system according to claim 1, wherein the peripheral object is a person or another mobile robot in the vicinity of the mobile robot.

5. A robot control method for controlling an autonomously moving robot by referring to a map, comprising the steps of: the mobile robot is equipped with a three-dimensional distance measuring sensor and a two-dimensional distance measuring sensor capable of measuring a distance longer than the three-dimensional distance measuring sensor; comparing the measurement result of the two-dimensional distance measuring sensor with the map, and estimating the position of the mobile robot on the map as a self-position; Detecting a surrounding object not registered in the map from the measurement result of the two-dimensional distance measuring sensor; Obtaining a distance and a direction to a surrounding object measured using the three-dimensional distance measuring sensor; Identifying the position of the surrounding object on the map according to a distance and a direction from the self-position of the mobile robot to the surrounding object; estimating a movement vector indicating a moving speed and a moving direction of the peripheral object according to a change in the position of the peripheral object over time; assigning a cost for restricting the movement of the mobile robot on a map based on the movement vector; a control unit that controls the movement according to the cost updated according to the measurement results of the three-dimensional distance measuring sensor and the two-dimensional distance measuring sensor; a cost area to which a cost is assigned is set on the map according to the latest position of the peripheral object and the movement vector; A robot control method, wherein the higher the moving speed, the larger the cost area becomes.

6. 6. A robot control method according to claim 5, wherein a plurality of mobile robots assign costs to said map, and said map is shared by the plurality of mobile robots.

7. A robot control method as described in claim 5 or 6, in which the center of gravity position of the surrounding object is calculated based on the measurement results of the three-dimensional ranging sensor, and the movement speed and movement direction are estimated from the change in the center of gravity position.

8. The robot control method according to any one of claims 5 to 7, wherein the peripheral object is a person or another mobile robot in the vicinity of the mobile robot.

9. A program for causing a computer to execute a robot control method for controlling an autonomously moving robot by referring to a map, the mobile robot is equipped with a three-dimensional distance measuring sensor and a two-dimensional distance measuring sensor capable of measuring a distance longer than the three-dimensional distance measuring sensor; The robot control method includes: comparing the measurement result of the two-dimensional distance measuring sensor with the map, and estimating the position of the mobile robot on the map as a self-position; Detecting a surrounding object not registered in the map from the measurement result of the two-dimensional distance measuring sensor; Obtaining a distance and a direction to the surrounding object measured by the three-dimensional distance measuring sensor; Identifying the position of the surrounding object on the map according to a distance and a direction from the self-position of the mobile robot to the surrounding object; estimating a movement vector indicating a moving speed and a moving direction of the peripheral object according to a change in the position of the peripheral object over time; assigning a cost for restricting the movement of the mobile robot on a map based on the movement vector; a control unit that controls the movement according to the cost updated according to the measurement results of the three-dimensional distance measuring sensor and the two-dimensional distance measuring sensor; a cost area to which a cost is assigned is set on the map according to the latest position of the peripheral object and the movement vector; The higher the moving speed, the larger the cost area becomes.

10. 10. The program according to claim 9, wherein a plurality of mobile robots assign costs to the map, and the map is shared by the plurality of mobile robots.

11. A program as described in claim 9 or 10, which calculates the center of gravity position of a surrounding object based on the measurement results of the three-dimensional ranging sensor, and estimates the movement speed and movement direction from changes in the center of gravity position.

12. The program according to any one of claims 9 to 11, wherein the peripheral object is a person or another mobile robot in the vicinity of the mobile robot.

Citation Information

Patent Citations

  • Robot, robot control program and robot control method

    JP2020004182A

  • Autonomous mobile body system, control program of autonomous mobile body and method for controlling autonomous mobile body

    JP2021086217A

  • Information processing device, information processing system, and information processing method

    JP2021144399A

  • Vehicular control apparatus

    JP2021172153A

  • Trajectory planning for mobile robots

    US11016491B1