Robot control system, robot control method, and computer readable medium
By measuring the distance to surrounding objects using a ranging sensor and adding a cost map, the problem of low movement efficiency of handling robots in crowded environments is solved, achieving efficient and safe autonomous handling.
Patent Information
- Application Number
- CN202211405583.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-11-12
- Filing Date
- 2022-11-10
- Publication Date
- 2026-02-06
- Estimated Expiration
- 2042-11-10
AI Technical Summary
Existing handling robots struggle to efficiently avoid people when moving around, resulting in low handling efficiency.
By measuring the distance to surrounding objects using range sensors, the robot infers the object's speed and direction of movement, adds costs to the map to limit the robot's movement, calculates the center of gravity position using 3D and 2D range sensors, and enables multiple robots to share map information for collaborative obstacle avoidance.
This enables robots to move autonomously and safely in crowded environments, avoiding contact with people and other objects and improving handling efficiency.
Smart Images

Figure CN116117838B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates to a robot control system, a robot control method, and a program. BACKGROUND
[0002] In Patent Literature 1 (Japanese Patent Application Publication No. 2021-86217), an autonomous moving system provided with a transport robot is disclosed. In Patent Literature 1, the transport robot is provided with a sensor that detects obstacles around the transport robot. For the transport robot, a prohibited entry space and a restricted entry space are set. If the sensor detects an obstacle that enters the restricted entry space, the transport robot reduces the moving speed or performs an avoidance action. SUMMARY
[0003] PROBLEMS TO BE SOLVED BY THE INVENTION
[0004] In such a transport robot, it is desirable to perform transport more efficiently. For example, when there is a person around the transport robot, it is desirable to move while avoiding the person.
[0005] The present disclosure is an invention made to solve such a problem, and provides a robot control system, a robot control method, and a program that can control a robot more efficiently.
[0006] METHOD FOR SOLVING THE PROBLEM
[0007] The robot control system according to the present embodiment is a robot control system that controls a mobile robot that autonomously moves with reference to a map, and controls the mobile robot in such a manner that: a distance to a surrounding object that is measured using a distance measuring sensor is acquired, a position of the surrounding object on the map is particularly specified based on the distance from a position of the mobile robot to the surrounding object, a movement vector that represents a moving speed and a moving direction of the surrounding object is inferred based on a change in the distance to the surrounding object, a cost for limiting movement of the mobile robot is added to the map, and movement is performed based on the cost that is updated based on a measurement result of the distance measuring sensor.
[0008] In the robot control system described above, the following manner can also be employed: a plurality of mobile robots add the cost to the map, and the plurality of mobile robots share the map.
[0009] In the robot control system described above, the ranging sensor can include a three-dimensional ranging sensor and a two-dimensional ranging sensor capable of measuring a distance farther than the three-dimensional ranging sensor, the center-of-gravity position of the surrounding object can be calculated based on a measurement result of the three-dimensional ranging sensor, and the moving speed and the moving direction can be estimated based on a change in the center-of-gravity position.
[0010] In the robot control system described above, the surrounding object can be a person or another mobile robot in the periphery of the mobile robot.
[0011] The robot control method according to the present embodiment is a robot control method of controlling a mobile robot that autonomously moves with reference to a map, and controls the mobile robot in such a manner that a distance to a surrounding object measured using a ranging sensor is acquired, the position of the surrounding object on the map is specifically specified based on the distance from the position of the mobile robot to the surrounding object, a moving vector indicating the moving speed and the moving direction of the surrounding object is estimated based on a change in the distance to the surrounding object, a cost for limiting the movement of the mobile robot is added to the map, and the movement is performed based on the cost updated based on a measurement result of the ranging sensor.
[0012] In the robot control method described above, a plurality of mobile robots can add the cost to the map, and the plurality of mobile robots can share the map.
[0013] In the robot control method described above, the ranging sensor can include a three-dimensional ranging sensor and a two-dimensional ranging sensor capable of measuring a distance farther than the three-dimensional ranging sensor, the center-of-gravity position of the surrounding object can be calculated based on a measurement result of the three-dimensional ranging sensor, and the moving speed and the moving direction can be estimated based on a change in the center-of-gravity position.
[0014] In the robot control method described above, the surrounding object can be a person or another mobile robot in the periphery of the mobile robot.
[0015] The program according to the present embodiment is a program for causing a computer to execute a robot control method of controlling a mobile robot that autonomously moves with reference to a map, in which the robot control method is controlled in such a manner that a distance to a surrounding object measured using a distance measuring sensor is acquired, the position of the surrounding object on the map is specifically specified from the distance to the surrounding object from the position of the mobile robot, a movement vector indicating the moving speed and the moving direction of the surrounding object is inferred from the change in the distance to the surrounding object, a cost for limiting the movement of the mobile robot is added to the map, and the movement is performed in accordance with the cost updated based on the measurement result of the distance measuring sensor.
[0016] In the above program, the following manner can also be employed, in which a plurality of mobile robots add the cost to the map, and the plurality of mobile robots share the map.
[0017] In the above program, the following manner can also be employed, in which the distance measuring sensor includes a three-dimensional distance measuring sensor and a two-dimensional distance measuring sensor capable of measuring a distance farther than the three-dimensional distance measuring sensor, the center of gravity position of the surrounding object is calculated based on the measurement result of the three-dimensional distance measuring sensor, and the moving speed and the moving direction are inferred from the change in the center of gravity position.
[0018] In the above program, the following manner can also be employed, in which the surrounding object is a person or another mobile robot in the periphery of the mobile robot.
[0019] Effects of Invention
[0020] According to the present disclosure, it is possible to provide a robot control system, a robot control method, and a program capable of more efficiently controlling a robot.
[0021] The above and other objects, features and advantages of the present disclosure will be more fully understood from the following detailed description taken in conjunction with the accompanying drawings, which are given only by way of illustration and therefore, are not to be considered as limiting to the present disclosure. BRIEF DESCRIPTION OF DRAWINGS
[0022] Figure 1 A conceptual diagram for explaining the overall structure of a system using a mobile robot according to the present embodiment.
[0023] Figure 2 A control block diagram of a control system according to the present embodiment.
[0024] Figure 3 A schematic diagram showing one example of a mobile robot.
[0025] Figure 4 FIG. 1 is a schematic diagram for explaining a sensing region of a ranging sensor mounted on a mobile robot.
[0026] Figure 5 FIG. 4 is a map for explaining a cost added in accordance with a movement vector of a user UA as a surrounding object.
[0027] Figure 6 FIG. 5 is a flowchart showing a control method according to the present embodiment.
[0028] Figure 7 FIG. 6 is a schematic diagram showing a cost map. DETAILED DESCRIPTION
[0029] Hereinafter, the present application will be described through embodiments of the application, but the application according to the claims is not limited to the following embodiments. Furthermore, not all of the structures described in the embodiments are necessarily essential as a method for solving the problems.
[0030] (Outline structure)
[0031] Figure 1 FIG. 1 is a conceptual diagram for explaining the overall structure of a transport system 1 that utilizes the mobile robot 20 according to the present embodiment. The mobile robot 20 is, for example, a transport robot that performs transport of a transport object as a task. The mobile robot 20 autonomously moves in order to transport a transport object in a medical welfare facility such as a hospital, a rehabilitation center, a nursing facility, a nursing home, and the like. Furthermore, the system according to the present embodiment can also be utilized in a commercial facility such as a shopping center, and the like. Hereinafter, an article transported by the mobile robot 20 will be referred to as a transport object, an object, an article, a mounted object, a cargo, a commodity, and the like.
[0032] The user Ul stores a transport object in the mobile robot 20 and entrusts the transport. The mobile robot 20 autonomously moves to transport the transport object until a set destination. That is, the mobile robot 20 performs a transport task of a cargo (hereinafter, also simply referred to as a task). In the following description, a place where the transport object is mounted is set as a transport departure place, and a place where the transport object is delivered is set as a transport destination.
[0033] For example, assume a case where the mobile robot 20 moves within a general hospital having a plurality of medical treatment departments. The mobile robot 20 carries supplies, consumables, medical instruments, and the like between the plurality of medical treatment departments. For example, the mobile robot 20 carries a load from a nurse station of a certain medical treatment department to a nurse station of another medical treatment department. Alternatively, the mobile robot 20 carries a load from a supply or medical instrument storage to a nurse station of a medical treatment department. Further, the mobile robot 20 carries a medicine prepared in a pharmacy to a medical treatment department or a patient scheduled to use the medicine.
[0034] As examples of the load, there are medicines, consumables such as bandages, specimens, examination instruments, medical instruments, hospital meals, supplies for stationery, and the like. As medical equipment, there are sphygmomanometers, blood transfusion pumps, injection pumps, foot pedal pumps, nurse call systems, bed exit sensors, low-pressure continuous inhaler electrocardiograph monitors, drug infusion controllers, enteral feeding pumps, artificial respirators, cuff pressure gauges, touch sensors, suction devices, nebulizers, pulse oximeters, artificial resuscitators, sterile devices, echo devices, and the like. Further, hospital meals, examination meals, and the like can be carried. Further, the mobile robot 20 can carry used equipment, tableware after meals, and the like. In a case where the destination of the load is on a different floor, the mobile robot 20 can move using an elevator or the like.
[0035] The transport system 1 includes the mobile robot 20, the upper management device 10, a network 600, a communication unit 610, and a user terminal 400. The user U1 or the user U2 can use the user terminal 400 to make a request for transport of a load. The user terminal 400 is, for example, a tablet or a smartphone or the like. The user terminal 400 is merely an information processing device capable of communicating wirelessly or by wire.
[0036] In the present embodiment, the mobile robot 20 and the user terminal 400 are connected to the upper management device 10 via the network 600. The mobile robot 20 and the user terminal 400 are connected to the network 600 via the communication unit 610. The network 600 is a wired or wireless LAN (Local Area Network) or WAN (Wide Area Network). Further, the upper management device 10 is connected to the network 600 by wire or wirelessly. The communication unit 610 is, for example, a wireless LAN unit provided in each environment. The communication unit 610 can also be a general-purpose communication device such as a WiFi router.
[0037] Various signals transmitted from the user terminals 400 of the users U1, U2 are temporarily sent to the upper management device 10 via the network 600, and are transferred from the upper management device 10 to the mobile robot 20 that is the object. Likewise, various signals transmitted from the mobile robot 20 are temporarily sent to the upper management device 10 via the network 600, and are transferred from the upper management device 10 to the user terminal 400 that is the object. The upper management device 10 is a server connected to each device, and collects data from each device. In addition, the upper management device 10 is not limited to a physically single device, and can have a plurality of devices that implement distributed processing. In addition, the upper management device 10 can also be distributed and arranged in an edge device such as the mobile robot 20. For example, part or all of the conveyance system 1 can also be mounted on the mobile robot 20.
[0038] The user terminal 400 and the mobile robot 20 can also transmit and receive signals without going through the upper management device 10. For example, the user terminal 400 and the mobile robot 20 can also directly transmit and receive signals by wireless communication. Alternatively, the user terminal 400 and the mobile robot 20 can also transmit and receive signals via the communication unit 610.
[0039] The user U1 or the user U2 uses the user terminal 400 to entrust the conveyance of the conveyance object. Hereinafter, it is assumed that the user U1 is a conveyance entrustor present at the conveyance departure place, and the user U2 is a predetermined consignee present at the conveyance destination (destination). Obviously, the user U2 present at the conveyance destination can also make a conveyance entrustment. In addition, a user present at a place other than the conveyance departure place or the conveyance destination can also make a conveyance entrustment.
[0040] In the case where the user U1 makes a conveyance entrustment, the user terminal 400 is used to input the contents of the conveyance object, the reception destination of the conveyance object (hereinafter, also referred to as the conveyance departure place), the delivery destination of the conveyance object (hereinafter, also referred to as the conveyance destination), the scheduled arrival time at the conveyance departure place (the reception time of the conveyance object), the scheduled arrival time to the conveyance destination (the conveyance deadline), and the like. Hereinafter, these pieces of information are also referred to as conveyance entrustment information. The user U1 can input the conveyance entrustment information by operating the touch panel of the user terminal 400. The conveyance departure place can be a place where the user U1 is present, or a storage place of the conveyance object, or the like. The conveyance destination is a place where the user U2 or the patient scheduled to use is present.
[0041] The user terminal 400 transmits the carrying-out request information input by the user Ul to the upper management device 10. The upper management device 10 is a management system that manages a plurality of mobile robots 20. The upper management device 10 transmits an action instruction for executing a carrying task to the mobile robots 20. The upper management device 10 determines the mobile robot 20 that executes the carrying task each time a carrying task is requested. Then, the upper management device 10 transmits a control signal including the action instruction to the mobile robot 20. The mobile robot 20 moves in accordance with the action instruction, thereby reaching the carrying destination from the carrying-out place.
[0042] For example, the upper management device 10 assigns a carrying task to the mobile robot 20 at or near the carrying-out place. Alternatively, the upper management device 10 assigns a carrying task to the mobile robot 20 that goes to the carrying-out place or the vicinity thereof. The mobile robot 20 to which the task is assigned goes to the carrying-out place and picks up the carried object. The carrying-out place is, for example, a place where the user Ul who requested the task is present.
[0043] When the mobile robot 20 reaches the carrying-out place, the user Ul or another staff member loads the carried object on the mobile robot 20. The mobile robot 20 on which the carried object is mounted moves autonomously with the carrying destination as the destination. The upper management device 10 transmits a signal to the user terminal 400 of the user U2 at the carrying destination. Thus, the user U2 can know that the carried object is being carried or the scheduled arrival time thereof. When the mobile robot 20 reaches the set carrying destination, the user U2 can receive the carried object housed in the mobile robot 20. In this way, the mobile robot 20 executes the carrying task.
[0044] In such an overall structure, the respective elements of the control system can be dispersed to the mobile robot 20, the user terminal 400, and the upper management device 10 and the control system can be constructed as a whole. Further, the essential elements for realizing the carrying of the carried object can be collected as one device and constructed. The upper management device 10 controls one or a plurality of mobile robots 20.
[0045] In the present embodiment, a mobile robot 20 autonomously moves with reference to a map. A robot control system that controls the mobile robot 20 acquires distance information indicating a distance to a person determined using a distance measuring sensor. The robot control system infers a movement vector indicating a movement speed and a movement direction of the person from a change in the distance to the person. The robot control system adds a cost for restricting movement of the mobile robot to the map. The robot control system controls in a manner that moves in accordance with the cost updated in accordance with a determination result of the distance measuring sensor. The robot control system can also be mounted on the mobile robot 20, or part or all of the robot control system can be mounted on the upper management device 10.
[0046] (CONTROL BLOCK DIAGRAM)
[0047] In Figure 2 , a control block diagram of a control system of the system 1 is shown. As Figure 2 indicated, the system 1 has: the upper management device 10, the mobile robot 20, and the environmental camera 300.
[0048] The system 1 efficiently controls a plurality of mobile robots 20 while autonomously moving the mobile robots 20 within a predetermined facility. Therefore, within the facility, a plurality of environmental cameras 300 are provided. For example, the environmental cameras 300 are provided at passages, halls, elevators, entrances and exits, and the like within the facility.
[0049] The environmental camera 300 acquires an image of a range in which the mobile robot 20 moves. In addition, in the system 1, the upper management device 10 collects an image or information based on the image acquired by the environmental camera 300. Alternatively, the image and the like acquired by the environmental camera 300 can be directly transmitted to the mobile robot. The environmental camera 300 can also be a surveillance camera or the like provided at a passage or an entrance and exit within the facility. The environmental camera 300 can also be used to find a distribution of a crowded state within the facility.
[0050] In the system 1 related to Embodiment 1, the upper management device 10 implements a route plan based on the conveyance commission information. Based on the route plan information created by the upper management device 10, each mobile robot 20 is instructed a destination. Then, the mobile robot 20 autonomously moves toward the destination designated by the upper management device 10. The mobile robot 20 autonomously moves toward a place to go (a destination) using a sensor provided on the robot, a floor map, position information, and the like.
[0051] For example, the mobile robot 20 runs in a manner not to come into contact with the devices, objects, walls, people (hereinafter, collectively referred to as surrounding objects) in its surroundings. Specifically, the mobile robot 20 detects the distance to the surrounding objects, and runs in a state where the distance is above a fixed distance (set as a distance threshold) from the surrounding objects. When the distance to the surrounding objects becomes below the distance threshold, the mobile robot 20 decelerates or stops. By adopting such a manner, the mobile robot 20 is able to run without coming into contact with the surrounding objects. Since contact can be avoided, safe and efficient transport can be achieved.
[0052] The upper management device 10 has an arithmetic processing section 11, a storage section 12, a buffer memory 13, and a communication section 14. The arithmetic processing section 11 implements arithmetic operations for controlling and managing the mobile robot 20. The arithmetic processing section 11 can be installed as a device that can execute programs, such as a central arithmetic processing device (CPU: Central Processing Unit) of a computer, for example. Also, various functions can be implemented by programs. Although only the characteristic robot control section 111, the route planning section 115, the transported object information acquisition section 116, and the cost addition section 118 in the arithmetic processing section 11 are shown in FIG. 1, other processing modules can also be provided. Figure 2
[0053] The robot control section 111 implements arithmetic operations for controlling the mobile robot 20 in a remote manner, and generates a control signal. The robot control section 111 generates the control signal based on the route planning information 125 and the like described later. Further, the control signal is generated based on various information obtained from the environment camera 300 or the mobile robot 20. The control signal can also contain update information of the floor map 121, the robot information 123, and the robot control parameters 122 and the like described later. That is, the robot control section 111 generates a control signal corresponding to the update information when various information is updated.
[0054] The cost addition unit 118 adds a cost on the floor map 121. The cost addition unit 118 establishes a correspondence between the cost and the position on the floor map 121. In other words, the cost is calculated for each position on the floor map 121. The cost is information for restricting the movement of the mobile robot 20. For example, it is set in 100 levels from 0 to 100, and the larger the number, the more the movement of the mobile robot 20 is restricted. Specifically, the floor map 121 becomes a grid map divided in a grid manner. Then, the cost addition unit 118 sets the cost for each grid. The mobile robot 20 cannot enter the grid whose cost is a predetermined value or more. Or, the larger the cost, the lower the upper limit value of the movement speed is set. The cost addition unit 118 calculates the cost at any time according to the situation around. The processing of the cost addition unit 118 will be described later.
[0055] The carried object information acquisition unit 116 acquires information on the carried object. The carried object information acquisition unit 116 acquires information on the content (category) of the carried object that the mobile robot 20 is carrying. The carried object information acquisition unit 116 acquires carried object information on the carried object that the mobile robot 20 in which an error has occurred is carrying.
[0056] The route planning unit 115 performs route planning of each mobile robot 20. When a carrying task is input, the route planning unit 115 performs route planning for carrying the carried object to the carrying destination (destination) based on the carrying commission information. Specifically, the route planning unit 115 refers to the route planning information 125 or the robot information 123 and the like that have been stored in the storage unit 12, and thereby determines the mobile robot 20 that executes a new carrying task. The departure place is the current position of the mobile robot 20, or the carrying destination of the previous carrying task, the reception destination of the carried object, and the like. The destination is the carrying destination of the carried object, the waiting place, the charging place, and the like.
[0057] Here, the route planning unit 115 sets a passing point from the departure place of the mobile robot 20 to the destination. The route planning unit 115 sets the passing order of the passing point for each mobile robot 20. The passing point is set, for example, at a branch, an intersection, a lobby in front of an elevator, or the vicinity of these places. Further, in a passage with a narrow width, the mobile robot 20 is sometimes also difficult to pass through in a staggered manner. In such a case, the vicinity of the passage with a narrow width can also be set as a passing point. Candidates for the passing point can also be registered on the floor map 121 in advance.
[0058] The route planning unit 115 determines the mobile robot 20 that implements each transport task from among a plurality of mobile robots 20 so that the tasks can be efficiently performed as a whole. The route planning unit 115 preferentially assigns the transport task to the mobile robot 20 that is in standby or is closer to the transport departure place.
[0059] The route planning unit 115 sets the passing point including the departure place and the destination for the mobile robot 20 to which the transport task is assigned. For example, in a case where there are two or more moving paths from the transport departure place to the transport destination, the passing point is set in a manner that the mobile robot 20 can move in a shorter time. Thus, the upper-level management device 10 updates information indicating the congestion situation of the passage based on the image of the camera or the like. Specifically, a place where other mobile robots 20 are passing, a place where many people are present, and a place where the congestion degree is high. Thus, the route planning unit 115 sets the passing point in a manner that avoids the place where the congestion degree is high.
[0060] There is a case where the mobile robot 20 can move to the destination in either the moving path that makes a left turn or the moving path that makes a right turn. In such a case, the route planning unit 115 sets the passing point in a manner that passes the moving path on the side that is not congested. The route planning unit 115 can cause the mobile robot 20 to move on the moving path that is not congested by setting one or more passing points between the destination. For example, in a case where the passage is divided at a branch, an intersection, or the like, the route planning unit 115 appropriately sets the passing point at the branch, the intersection, a corner, and the periphery thereof. Thus, the transport efficiency can be improved.
[0061] The route planning unit 115 can also set the passing point in consideration of the congestion situation or the moving distance of the elevator, and the like. Further, the upper-level management device 10 can estimate the number of mobile robots 20 or the number of people at a certain place through which the mobile robot 20 passes at a predetermined time. Then, the route planning unit 115 can set the passing point in accordance with the estimated congestion situation. In addition, the route planning unit 115 can dynamically change the passing point in accordance with the change in the congestion situation. The route planning unit 115 sets the passing point in order for the mobile robot 20 to which the transport task is assigned. The passing point can also include the transport departure place or the transport destination. As described later, the mobile robot 20 autonomously moves in a manner that passes the passing point set by the route planning unit 115 in order.
[0062] The storage unit 12 is a storage unit that stores information necessary for the management and control of the robots. Although the storage unit 12 is provided in the upper-level management device 10 in the present embodiment, the storage unit 12 can be provided in the mobile robot 20 or the like. Figure 2The floor map 121, the robot information 123, the robot control parameter 122, the route plan information 125, and the carried object information 126 are shown in the example, but information stored in the storage section 12 can be information other than these. In the arithmetic processing section 11, arithmetic using information stored in the storage section 12 is performed when various processes are implemented. Further, various information stored in the storage section 12 can be updated to the latest information.
[0063] The floor map 121 is map information of a facility in which the mobile robot 20 moves. The floor map 121 can be a map created in advance, a map generated from information obtained from the mobile robot 20, or a map in which map correction information generated from information obtained from the mobile robot 20 is added to a basic map created in advance.
[0064] For example, in the floor map 121, the positions or information of walls, doors, gates, stairs, elevators, fixed shelves, and the like of the facility are stored. The floor map 121 can also be expressed as a two-dimensional grid map. In this case, in the floor map 121, information of walls or doors is noted in each grid.
[0065] The robot information 123 describes the ID, model, specifications, and the like of the mobile robot 20 managed by the upper-level management device 10. The robot information 123 can also include position information indicating the current position of the mobile robot 20. The robot information 123 can also include information indicating whether the mobile robot 20 is in the middle of a task or is on standby. Further, the robot information 123 can also include information indicating whether the mobile robot 20 is in motion or in trouble. Further, the robot information 123 can also include information of a carried object that can be carried and a carried object that cannot be carried.
[0066] The robot control parameter 122 describes a control parameter such as a threshold distance with respect to a surrounding object related to the mobile robot 20 managed by the upper-level management device 10. The threshold distance becomes a margin distance for avoiding contact with a surrounding object including a person. Further, the robot control parameter 122 can also include information related to the motion strength such as the upper limit value of the moving speed of the mobile robot 20.
[0067] The robot control parameter 122 can also be updated according to the situation. The robot control parameter 122 can also include information indicating the idle state or the use state of the storage space of the storage 291. The robot control parameter 122 can also include information of a carried object that can be carried and a carried object that cannot be carried. For the robot control parameter 122, various information described above is associated with each mobile robot 20.
[0068] The route plan information 125 includes route plan information planned in the route planning section 115. The route plan information 125 includes, for example, information indicating a transport task. The route plan information 125 can also include information of an ID of the mobile robot 20 to which a task is assigned, a departure place, a content of a transported object, a transport destination, a transport departure place, a scheduled arrival time to the transport destination, a scheduled arrival time to the transport departure place, a deadline for arrival, and the like. In the route plan information 125, the above-described various information can also be associated with each transport task. The route plan information 125 can also include at least a part of the transport commission information input by the user U1.
[0069] Further, the route plan information 125 can also include information about a passing point for each mobile robot 20 or transport task. For example, the route plan information 125 includes information indicating a passing order of the passing points for each mobile robot 20. The route plan information 125 can also include coordinates of each passing point in the floor map 121 or information of whether each passing point is passed.
[0070] The cost map 128 is a map indicating a cost added in the cost adding section 118. Specifically, the cost is associated with a position (an address or coordinates) on the floor map 121. As described above, the cost map 128 can be configured as a grid map in which a cost is stored in each grid. The cost map 128 is updated each time a cost is added in the cost adding section 118. Alternatively, the cost map 128 can be generated by merging the cost maps 228 stored in a plurality of mobile robots 20. That is, the cost map 128 can be generated based on costs added in a plurality of mobile robots.
[0071] The transported object information 126 is information about a transported object for which a transport commission is performed. For example, the transported object information 126 includes information of a content (a category) of the transported object, a transport departure place, a transport destination, and the like. The transported object information 126 can also include an ID of the mobile robot 20 in charge of the transport. Further, the transported object information can also include information indicating a state of in-transport, pre-transport (pre-carrying), post-transport, and the like. For the transported object information 126, these information are associated with each transported object. The transported object information 126 will be described later.
[0072] Further, the route planning unit 115 refers to various information stored in the storage unit 12 to make a route plan. For example, based on the floor map 121, the robot information 123, the robot control parameter 122, and the route plan information 125, the mobile robot 20 that performs a task is determined. Also, the route planning unit 115 refers to the floor map 121 and the like to set the passing points and the passing order until the carrying destination. In the floor map 121, candidates of the passing points are registered in advance. Then, the route planning unit 115 sets the passing points according to the congestion situation and the like. Further, in the case of continuous processing of a task and the like, the route planning unit 115 can also set the carrying departure place and the carrying destination as the passing points.
[0073] Further, two or more mobile robots 20 can be assigned for one carrying task. For example, in the case where the carrying object is larger than the carrying capacity of the mobile robot 20, the carrying object is divided into two and carried on two mobile robots 20. Or, in the case where the carrying object is heavier than the carrying weight of the mobile robot 20, the carrying object is divided into two and carried on two mobile robots 20. By adopting such a manner, two or more mobile robots 20 can share the execution of one carrying task. Obviously, in the case of controlling different sizes of mobile robots 20, the route planning can also be implemented in a manner that the mobile robot 20 that can carry the carrying object receives the carrying object.
[0074] Further, one mobile robot 20 can also execute two or more carrying tasks in parallel. For example, one mobile robot 20 can also carry two or more carrying objects at the same time and carry them to different carrying destinations in sequence. Or, one mobile robot 20 can also carry other carrying objects in the process of carrying one carrying object. Further, the carrying destinations of the carrying objects carried in different places can be the same or different. By adopting such a manner, the tasks can be efficiently executed.
[0075] In this case, the storage information indicating the use or idle state can also be updated for the storage space of the mobile robot 20. That is, the upper management device 10 can also manage the storage information indicating the idle state, and thereby control the mobile robot 20. For example, when the mounting or delivery of the carried object is completed, the storage information is updated. When a carrying task is input, the upper management device 10 refers to the storage information, and thereby causes the mobile robot 20 having the idle space capable of mounting the carried object to go to the reception. By adopting this method, one mobile robot 20 can perform a plurality of carrying tasks at the same time, or two or more mobile robots 20 can share the carrying task. A sensor can also be provided in the storage space of the mobile robot 20 to detect the idle state. Further, the capacity or weight of each carried object can be registered in advance.
[0076] The buffer storage 13 is a storage that accumulates intermediate information generated in the processing in the arithmetic processing section 11. The communication section 14 is a communication interface for communicating with the plurality of environmental cameras 300 and at least one mobile robot 20 provided in the facility using the system 1. The communication section 14 can perform both wired and wireless communication. For example, the communication section 14 transmits a control signal necessary for the control of each mobile robot 20 to the mobile robot 20. Further, the communication section 14 receives information collected by the mobile robot 20 or the environmental camera 300.
[0077] The mobile robot 20 has an arithmetic processing section 21, a storage section 22, a communication section 23, a proximity sensor (for example, a distance sensor group 24), a camera 25, a drive section 26, a display section 27, and an operation accepting section 28. In addition, although only representative processing modules possessed by the mobile robot 20 are shown in FIG. 2, many other processing modules not shown are also included in the mobile robot 20. Figure 2
[0078] The communication section 23 is a communication interface for communicating with the communication section 14 of the upper management device 10. The communication section 23 communicates with the communication section 14 using, for example, a wireless signal. The distance sensor group 24 is, for example, a proximity sensor, and outputs proximity object distance information indicating the distance to an object or person existing in the periphery of the mobile robot 20. Hereinafter, the object or person existing in the periphery of the mobile robot 20 is also referred to as a periphery object. The camera 25, for example, photographs an image for grasping the state of the periphery of the mobile robot 20. Further, the camera 25 can also photograph, for example, a position marker provided on the ceiling or the like of the facility. The position marker can be used to cause the mobile robot 20 to grasp the position of the self.
[0079] The drive section 26 drives drive wheels provided on the mobile robot 20. In addition, the drive section 26 can also have an encoder or the like that detects the number of revolutions of the drive wheels or drive motors thereof. The current position (current location) can also be inferred from the output of the encoder. The mobile robot 20 detects its own current position and transmits it to the upper management device 10.
[0080] The display section 27 and the operation accepting section 28 are implemented by a touch panel display. The display section 27 displays a user interface screen that is the operation accepting section 28. In addition, information indicating the destination of the mobile robot 20 or the state of the mobile robot 20 can also be displayed on the display section 27. The operation accepting section 28 accepts operations from the user. The operation accepting section 28 includes not only the user interface screen displayed on the display section 27 but also various switches provided on the mobile robot 20.
[0081] The arithmetic processing section 21 implements arithmetic used in the control of the mobile robot 20. The arithmetic processing section 21 can be installed as a device that executes programs, such as a central arithmetic processing device (CPU: Central Processing Unit) of a computer. Furthermore, various functions can also be implemented by programs. The arithmetic processing section 21 has a movement command extracting section 211, a drive control section 212, a cost adding section 218, and an object detecting section 219. In addition, although only representative processing modules possessed by the arithmetic processing section 21 are shown in FIG. 2, processing modules not shown are also included. The arithmetic processing section 21 can also search for a path through points. In addition, the arithmetic processing section 21 can also refer to the cost map 228 to determine a path. Figure 2
[0082] The movement command extracting section 211 extracts a movement command from a control signal given by the upper management device 10. For example, the movement command includes information about the next passing point. For example, the control signal can also include information about the coordinates of the passing point or the passing order of the passing points. Then, the movement command extracting section 211 extracts this information as a movement command.
[0083] Further, the movement command can also include information indicating that movement to the next passing point is possible. When the passage width is narrow, there are cases where the mobile robot 20 cannot pass through by interleaving. In addition, there are cases where it is temporarily impossible to pass through the passage. In such a case, the control signal includes a command to stop the mobile robot 20 at a passing point near the place where it should stop. Then, after the other mobile robot 20 passes through or becomes passable, the upper management device 10 outputs a control signal to the mobile robot 20 that notifies of the case where movement becomes possible. Thus, the mobile robot 20 that was temporarily stopped resumes movement.
[0084] The drive control section 212 controls the drive section 26 in such a manner that the mobile robot 20 moves based on the movement command given by the movement command extraction section 211. For example, the drive section 26 has a drive wheel that rotates according to a control command value from the drive control section 212. The movement command extraction section 211 extracts a movement command so that the mobile robot 20 moves toward a passing point received from the upper management device 10. Then, the drive section 26 rotationally drives the drive wheel. The mobile robot 20 autonomously moves toward the next passing point. By adopting such a manner, the passing point is sequentially passed, and further, the conveyance destination is reached. Further, the mobile robot 20 can also estimate the own position, and transmit a signal indicating that the passing point has been passed to the upper management device 10. Thus, the upper management device 10 can manage the current position or the conveyance status of each mobile robot 20.
[0085] The cost addition section 218 adds a cost on the floor map 21. The cost addition section 218 causes the cost to correspond to the position on the floor map 221. In other words, the cost is calculated 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 levels from 0 to 100, and the larger the number, the more the movement of the mobile robot 20 is restricted. Although the upper limit value in the set range of the cost is set to 100, and the lower limit value is set to 0, the upper limit value and the lower limit value of the set range are not limited to these values.
[0086] Specifically, the floor map 221 becomes a grid map that is divided in a grid manner. Also, the cost addition section 218 sets the cost for each grid. The mobile robot 20 cannot enter the grid whose cost is a predetermined value or more. Or, the larger the cost, the lower the upper limit value of the movement speed is set. The cost addition section 218 calculates the cost at any time according to the situation around. The processing of the cost addition section 218 will be described later.
[0087] The object detection section 219 detects a surrounding object that is in the periphery of the mobile robot 20. Further, the object detection section 219 estimates the movement speed and the movement direction of the mobile body in the case where the surrounding object is another mobile robot 20 or a human mobile body. Further, the object detection section 219 can also particularly specify whether the surrounding object is a fixed object that is set in the facility or a mobile body that can move within the facility. As the fixed object, there are a wall surface, a door, a table, a fixed shelf, and the like within the facility, and information thereof is stored in the floor map 121, 221. As the mobile body, there are another mobile robot, a movable bed, an infusion stand, a movable medical device, a shelf with casters, a person, a wheelchair, and the like.
[0088] The moving body is not normally registered in the floor map 121, 221 with its information. Therefore, the object detection section 219 can refer to the floor map 121, 221 to detect whether the surrounding object is a fixed object or a moving body. That is, the surrounding object at a position coinciding with the object registered in the floor map 221 becomes a fixed object. The surrounding object not at a position coinciding with the object registered in the floor map 221 becomes a moving body. The moving body is not limited to an object, but can be a human or an animal.
[0089] The mobile robot 20 estimates its own position in the floor map 121 by a route meter or the like. Then, the object detection section 219 can specify the position of the surrounding object on the floor map 121 from the distance and direction to the position of the surrounding object from its own position. The object detection section 219 determines whether the surrounding object has been registered in the floor map 221. The distance and direction to the position of the surrounding object can be acquired by the measurement result of the distance sensor group 24.
[0090] Further, the object detection section 219 can also specify the surrounding object based on the sensing result of the distance sensor group 24 or the camera 25 or the like. For example, when the distance sensor group 24 is a laser radar, the surface shape of the surrounding object can be measured. The object detection section 219 can specify the surrounding object from the surface shape. For example, in the case where the surrounding object is a person present around, the surface shape detected by the distance sensor group 24 matches the surface shape of a person. Alternatively, the object detection section 219 can specify the surrounding object based on the captured image of the camera 25. For example, in the case where the surrounding object is a person present around, the captured image of the camera 25 matches a reference image of a person. Therefore, the object detection section 219 can specify the case where the surrounding object is a person. In this way, by performing pattern matching processing on the detection result of various sensors, it is possible to specify whether the surrounding object is a person or another mobile robot.
[0091] In the storage section 22, the floor map 221, the robot control parameter 222, and the carried object information 226 are stored. Figure 2 The illustrated is a part of the information stored in the storage section 22, and also contains Figure 2The information shown in the floor map 221, the robot control parameter 222, and the conveyance object information 226. The floor map 221 is map information of the facility in which the mobile robot 20 moves. This floor map 221 is, for example, a map downloaded from the floor map 121 of the upper-level management device 10. In addition, the floor map 221 can also be a map created in advance. Furthermore, the floor map 221 can also not be map information of the entire facility, but can be map information of a region in which movement is intended to be performed in part.
[0092] The robot control parameter 222 is a parameter for causing the mobile robot 20 to act. In the robot control parameter 222, for example, a distance threshold value with respect to a surrounding object is included. Further, in the robot control parameter 222, an upper limit value of the speed of the mobile robot 20 is included.
[0093] The conveyance object information 226 includes information on a conveyance object as with the conveyance object information 126. Information on the contents (category) of the conveyance object, the conveyance origin, the conveyance destination, and the like is included. The conveyance object information can also include information indicating a state of being in conveyance, before conveyance (before mounting), after conveyance, and the like. With respect to the conveyance object information 226, a correspondence is established with respect to each of these pieces of information for each conveyance object. The conveyance object information 226 will be described later. The conveyance object information 226 only needs to include information on a conveyance object that is conveyed by the mobile robot 20. Thus, the conveyance object information 226 becomes a part of the conveyance object information 126. That is, the conveyance object information 226 can also not include information on conveyance by other mobile robots 20.
[0094] The drive control section 212 refers to the robot control parameter 222, and causes the mobile robot 20 to stop or decelerate in a case where the distance indicated by the distance information obtained from the distance sensor group 24 is lower than the distance threshold value. The drive control section 212 controls the drive section 26 so as to travel at a speed that is lower than or equal to the upper limit value of the speed. The drive control section 212 limits the rotation speed of the drive wheels so that the mobile robot 20 does not move at a speed that is higher than the upper limit value of the speed.
[0095] The cost map 228 is a map indicating the cost added by the cost adding section 218. Specifically, the cost is in a correspondence with a position (address or coordinates) on the floor map 221. As described above, the cost map 228 can be a grid map in which the cost is stored in each grid. The cost map 228 is updated each time the cost adding section 218 calculates the cost.
[0096] The cost shown in the cost map 228 is transmitted to the upper management device 10 via the communication section 23. That is, the communication section 23 transmits the cost added by the cost adding section 218 to the upper management device 10. Further, the communication section 23 labels the ID of the mobile robot 20 to which the cost is added on the cost, and transmits to the upper management device 10. Thereby, the cost adding section 118 of the upper management device 10 can combine the costs added by the plurality of mobile robots 20.
[0097] (Configuration of mobile robot 20)
[0098] Here, the appearance of the mobile robot 20 is described. Figure 3 A schematic diagram of the mobile robot 20 is shown. Figure 3 The mobile robot 20 shown is one of the styles of the mobile robot 20, and can be other forms. In addition, in the Figure 3 , the x direction is the advancing direction and the retreating 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.
[0099] The mobile robot 20 is provided with a main body section 290 and a dolly section 260. The main body section 290 is mounted on the dolly section 260. The main body section 290 and the dolly section 260 each have a rectangular parallelepiped-shaped casing, and various structural elements are mounted inside the casing. For example, the drive section 26 is housed inside the dolly section 260.
[0100] In the main body section 290, a storage library 291 that becomes a storage space, and a door 292 that seals the storage library 291 are provided. A plurality of shelves are provided in the storage library 291, and the vacant state is managed for each shelf. For example, by providing various sensors such as a weight sensor on each shelf, the vacant state can be updated. The mobile robot 20 carries the carried object stored in the storage library 291 by autonomous movement until the destination instructed by the upper management device 10. The main body section 290 can also mount a control box or the like not shown in the casing. Further, the door 292 can also be locked with an electronic key or the like. When the carrying destination is reached, the user U2 unlocks the door 292 with the electronic key. Alternatively, the door 292 can also be automatically unlocked when the carrying destination is reached.
[0101] As Figure 3As shown, on the exterior of the mobile robot 20, a front-rear distance sensor 241 and a left-right distance sensor 242 are provided as a distance sensor group 24. The mobile robot 20 measures the distance of a surrounding object in the front-rear direction of the mobile robot 20 by the front-rear distance sensor 241. Further, the mobile robot 20 measures the distance of a surrounding object in the left-right direction of the mobile robot 20 by the left-right distance sensor 242.
[0102] For example, the front-rear distance sensor 241 is disposed on the front surface and the rear surface of the housing of the main body 290, respectively. The left-right distance sensor 242 is disposed on the left side surface and the right side surface of the housing of the main body 290, respectively. The front-rear distance sensor 241 and the left-right distance sensor 242 are, for example, an ultrasonic distance sensor or a laser range finder. The distance to a surrounding object is detected. In a case where 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 value, the mobile robot 20 decelerates or stops.
[0103] In the drive section 26, a drive wheel 261 and a caster 262 are provided. The drive wheel 261 is a wheel for moving the mobile robot 20 in the front-rear and left-right directions. The caster 262 is a driven wheel that follows the drive wheel 261 to roll under a condition where no driving force is applied. The drive section 26 has a drive motor not shown and drives the drive wheel 261.
[0104] For example, the drive section 26 supports two drive wheels 261 and two casters 262 each in contact with a traveling surface within the housing. The two drive wheels 261 are disposed so that the rotational shafts thereof coincide with each other. Each of the drive wheels 261 is independently rotationally driven by a motor not shown. The drive wheel 261 rotates in accordance with a control command value from the drive control section 212 of the control section 210. The caster 262 is a driven wheel and is disposed so as to be separated from the rotational shaft of the drive section 261 and to axially support the wheel, and follows the moving direction of the drive section 26. Figure 2
[0105] For the mobile robot 20, for example, if the two drive wheels 261 are rotated in the same direction at the same rotational speed, it straight advances, and if rotated in opposite directions at the same rotational speed, it rotates around a vertical axis passing through the approximate center of the two drive wheels 261. Further, by rotating the two drive wheels 261 in the same direction and at different rotational speeds, it is possible to advance while turning to the left or right. For example, by making the rotational speed of the drive wheel 261 on the left higher than that of the drive wheel 261 on the right, it is possible to turn to the right. Conversely, by making the rotational speed of the drive wheel 261 on the right higher than that of the drive wheel 261 on the left, it is possible to turn to the left. That is, the mobile robot 20 is able to translate, spin, turn left or right, and the like, in any direction by controlling the rotational direction and rotational speed of the two drive wheels 261, respectively.
[0106] Further, in the mobile robot 20, a display section 27, an operation interface 281 are provided on the upper surface of the main body section 290. On the display section 27, the operation interface 281 is displayed. By the user touching the operation interface 281 displayed on the display section 27, the operation accepting section 28 is able to accept an instruction input from the user. Further, an emergency stop button 282 is provided on the upper surface of the display section 27. The emergency stop button 282 and the operation interface 281 function as the operation accepting section 28.
[0107] The display section 27 is, for example, a liquid crystal panel, and displays the face of a person using an illustration, or presents information relating to the mobile robot 20 in the form of text or an icon. If the face of a person is displayed on the display section 27, it is possible to give the impression to the surrounding observers that the display section 27 is like a simulated face. The display section 27 and the like mounted on the mobile robot 20 can also be used as the user terminal 400.
[0108] A camera 25 is provided on the front surface of the main body section 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 separated from each other in the horizontal direction. The 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 photographed object or the size of the photographed object. By analyzing the images of the camera 25, the arithmetic processing section 21 is able to detect a person or an obstacle and the like in front of the moving direction. In the case where a person or an obstacle and the like is in front of the direction of travel, the mobile robot 20 moves along the path while avoiding them. Further, the image data of the camera 25 is transmitted to the upper-level management device 10.
[0109] The mobile robot 20 identifies surrounding objects or determines its own position by analyzing image data output from the camera 25 or detection signals output from the front-to-back distance sensor 241 and the left-to-right distance sensor 242. The camera 25 captures images of the front of the mobile robot 20 in its direction of travel. As shown in the attached diagram, the side where the camera 25 is located is designated as the front of the mobile robot 20. That is, during normal movement, as indicated by the arrow, the front of the robot is the direction of travel.
[0110] Next, an example of the sensing area of the distance sensor group 24 will be described. Here, as... Figure 4 As shown, two distance sensors, 24A and 24B, are provided as part of the distance sensor group 24. Distance sensor 24A is a two-dimensional distance sensor, and distance sensor 24B is a three-dimensional distance sensor. They can be arranged either in conjunction with the front / back distance sensor 241 and the left / right distance sensor 242, or separately. Distance sensors 24A and 24B repeatedly measure the distance to surrounding objects at predetermined time intervals. Distance sensor 24A has a larger measurement range than distance sensor 24B (it can measure a longer distance).
[0111] Ranging sensors 24A and 24B are LiDAR (Light Detection and Ranging, Laser Imaging Detection and Ranging) sensors that use pulsed laser light as the measurement signal. Ranging sensors 24A and 24B measure the distance to surrounding objects by utilizing the phase and round-trip time of the reflected light. Ranging sensors 24A and 24B have scanning mirrors for changing the laser emission direction. By driving the scanning mirrors with ranging sensors 24A and 24B, the measurement direction is changed.
[0112] The ranging sensor 24A is a two-dimensional lidar, and its sensing area (viewing angle range) SA is parallel to the horizontal plane. That is, in the ranging sensor 24A, because the scanning mirror rotates around the vertical axis, the measurement direction changes around the yaw axis. The emission direction of the measurement signal is parallel to the horizontal plane, but it varies within the horizontal plane. Clearly, the sensing area is not limited to a region parallel to the horizontal plane. For example, if the floor surface is inclined, the sensing area SA can also be parallel to the inclined plane. The sensing area SA extends in the left-right direction.
[0113] For example, the distance measuring sensor 24A performs two-dimensional distance measurement by scanning a full range (360°) centered on the mobile robot 20 at every 1°. The sensing area SA can be a full range of 360° or a partial angular range in the horizontal plane. For example, only a predetermined angular range centered on the front of the moving direction can be set as the sensing area SA. The distance measuring sensor 24A can also be used for self-position estimation. For example, in a case where a wall exists around the mobile robot 20, information of the wall is stored in the floor map 221. When the distance measuring sensor 24A measures the distance to the wall, the operation processing unit 21 estimates the current position of the mobile robot 20 with reference to the floor map 221. Further, the distance measuring sensor 24A can also be used in detection of obstacles around the periphery.
[0114] The distance measuring sensor 24B is a three-dimensional laser radar, and the sensing area (viewing angle range) SB is a three-dimensional area. For example, in the distance measuring sensor 24B, the emission direction of the measurement signal is varied around the yaw axis and the pitch axis. The distance measuring sensor 24B can acquire point group data representing the three-dimensional shape of the surrounding object by scanning the three-dimensional sensing area SB.
[0115] The distance to the surrounding object is measured using the distance measuring sensor 24B that performs three-dimensional measurement and the 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 that of the distance measuring sensor 24B. That is, the distance measuring sensor 24A can measure a distance farther 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 pulsed laser.
[0116] In a case where the distance measuring sensor 24A detects a surrounding object that does not exist 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 precision. Thus, the three-dimensional surface shape of the surrounding object can be measured with high precision.
[0117] For example, in a case where the distance measuring sensor 24A detects a surrounding object that does not exist 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 precision. Thus, the three-dimensional surface shape of the surrounding object can be measured with high precision. Figure 4In this case, the user UA exists as a surrounding object in front of the mobile robot 20. The object detection section 219 detects the user UA as a surrounding object based on the measurement result of the distance measuring sensor 24A that can measure a distance to a long distance. Since the user UA is not registered on the floor map 221, the distance measuring sensor 24B performs measurement on the user UA if the distance measuring sensor 24B approaches a position where distance measurement is possible. The measurement by the distance measuring sensor 24B is performed in such a manner that the user UA is included in the sensing region SB, and the distance measuring sensor 24B performs distance measurement with high accuracy in such a manner that the pitch of the scanning angle of the measurement signal is reduced. Then, the distance measuring sensor 24B measures the three-dimensional shape of the surface of the surrounding object. Thus, point group data representing the three-dimensional shape of the user UA can be measured.
[0118] In this manner, when the object detection section 219 detects that there is a surrounding object in the surroundings based on the measurement result of the distance measuring sensor 24A, the distance measuring sensor 24B performs three-dimensional measurement with the surrounding object as the center of the sensing region SB.
[0119] Further, the object detection section 219 can calculate the movement vector of the surrounding object based on the measurement result of the distance measuring sensor 24B. In the case where the surrounding object is a person or another mobile robot 20 that is moving, the object detection section 219 estimates the movement vector of the person or the mobile robot 20. The movement vector is information including the moving speed and the moving direction. For example, the object detection section 219 estimates the movement vector of the surrounding object based on the 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 section 219 detects the position of the surrounding object in the floor map 221 based on the distance and the direction to the surrounding object. Then, the movement vector is calculated based on the temporal change in the position of the surrounding object on the floor map 221.
[0120] In Figure 4 In this case, the user UA exists as a surrounding object in front of the mobile robot 20. The object detection section 219 detects the user UA as a surrounding object based on the measurement result of the distance measuring sensor 24A that can measure a distance to a long distance. Since the user UA is not registered on the floor map 221, the distance measuring sensor 24B performs measurement on the user UA if the distance measuring sensor 24B approaches a position where distance measurement is possible. The measurement by the distance measuring sensor 24B is performed in such a manner that the user UA is included in the sensing region SB, and the distance measuring sensor 24B performs distance measurement with high accuracy in such a manner that the pitch of the scanning angle of the measurement signal is reduced. Then, the distance measuring sensor 24B measures the three-dimensional shape of the surface of the surrounding object. Thus, point group data representing the three-dimensional shape of the user UA can be measured.
[0121] Further, the object detection section 219 can also estimate the center of gravity position of the surrounding object, and estimate the movement vector based on the change in the center of gravity position. For example, the object detection section 219 calculates the center of gravity position of the surrounding object on the floor map 221 based on the three-dimensional shape or point group data obtained by the measurement of the distance measuring sensor 24B. Here, the center of gravity position can be set as a position within the floor map 221, that is, a two-dimensional position within the horizontal plane. For example, the object detection section 219 can calculate the center of gravity position of the surrounding object from the point group data. For example, the object detection section 219 calculates the movement vector of the surrounding object by comparing the center of gravity position obtained from the previous measurement result and the center of gravity position obtained from the latest distance measurement result on the floor map. By employing such a manner, it is possible to improve the estimation accuracy of the movement speed and the movement direction.
[0122] Figure 5 FIG. 6 is a diagram for explaining the cost added for the user UA in the periphery of the mobile robot 20. Figure 5 FIG. 7 is a plan view schematically showing the mobile robot 20 and its periphery running in a corridor. In Figure 5 In the plan view shown in FIG. 7, the mobile robot 20 is moving in the corridor in the up-down direction (for example, the north-south direction). The walls W are provided on both left and right sides of the corridor. In Figure 5 In FIG. 7, the mobile robot 20 is moving in a downward direction. Specifically, the mobile robot 20 is moving in the corridor along the path PI planned in the route planning section 115. The passing points Ml 1, M12 are included in the path PI.
[0123] Here, in front of the mobile robot 20, the user UA is moving in the corridor. The user UA is moving in the direction indicated by the movement vector V. In Figure 5 In FIG. 7, the user UA is walking in the left oblique downward direction. The distance measuring sensor 24A and the distance measuring sensor 24B measure the distance to the user UA.
[0124] As described above, the object detection section 219 calculates the movement vector V of the user UA. That is, the object detection section 219 calculates the movement vector V of the user UA based on the 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 the movement direction of the user UA on the floor map 221.
[0125] For example, the distance measuring sensor 24A and the distance measuring sensor 24B repeatedly measure the distance to the user UA. That is, the distance measuring sensor 24A and the distance measuring sensor 24B measure the distance and direction to the user UA with the mobile robot 20 as a reference. The object detection section 219 takes into account the current position of the mobile robot 20 and specifically specifies the position of the user UA on the floor map 221.
[0126] The object detection section 219 infers the moving direction by comparing 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. The object detection section 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 moving speed of the user UA is inferred from the measurement time interval of the distance measuring sensor 24A and the distance measuring sensor 24B. The measurement time interval is determined, for example, from the scanning period of the laser radar, the size of the sensing area, and the like. Obviously, the inference of the moving vector is not limited to the above-described method. For example, the object detection section 219 can also infer the moving vector V from the average value of three or more measurement results of the distance measuring sensor.
[0127] The cost adding section 218 adds a cost on the floor map 221 based on the moving vector V. The cost adding section 218 calculates the cost for each grid of the floor map 221. In Figure 5 The cost region CU to which the cost is added is set in front of the advancing direction of the user UA according to the latest position of the user UA and the moving vector V. The cost region CU is variable according to the moving speed of the user UA. For example, the greater the moving speed of the user UA, the greater the cost region CU.
[0128] The cost adding section 218 adds a cost to the grid included in the cost region CU. Here, a fixed value of the cost is added to the grid included in the cost region CU. Obviously, the value of the cost that is different for each grid can also be different according to the moving vector or the position. For example, the faster the moving speed, the more the added cost can be increased. Furthermore, the closer to the position of the user UA, the more the cost can be increased or decreased.
[0129] The cost addition section 218 calculates the cost based on the movement vector V obtained for each ranging and sequentially performs addition. The cost is updated based on the measurement result of the ranging sensor 24A, 24B. The cost is added in the grid included in the cost region CU. That is, in the grid in front of the movement direction of the user UA, the cost increases. Further, the cost of the entire grid is subtracted by a fixed value for each measurement. Therefore, in the grid not in front of the movement direction, the cost decreases with the passage of time. That is, in the grid outside the cost region CU, the cost is decreased for each ranging. The added cost or the subtracted cost is determined based on the set range of the cost, the measurement time interval, the movement vector, and the like. In this way, the cost is added by the cost addition section 218 for each measurement, and the cost map is updated at all times.
[0130] Further, the mobile robot 20 moves based on the cost map 228. The mobile robot 20 moves along a path passing through a grid with a lower cost. In the cost map 228, the cost of the grid in front of the movement direction of the user UA is higher than the cost of the grid in the direction of the movement of the user UA. Therefore, the mobile robot 20 moves along a path P2 passing through a grid in front of the movement direction of the user UA. Figure 5 In the cost map 228, since the cost in front of the movement direction of the user UA is high, the mobile robot 20 moves along a path P2 passing through a grid in front of the movement direction of the user UA. Therefore, the mobile robot 20 sets a path P2 passing through a grid from the movement starting point of the user UA. For example, a path P2 passing through a grid with a cost of a predetermined value or less on the cost map is set. The mobile robot 20 reflects the cost map 228 in the path planning.
[0131] By employing such a method, the mobile robot 20 can efficiently move. The mobile robot 20 can predict the movement destination of the user UA and perform path planning. That is, since the mobile robot 20 can move on a path P2 avoiding the movement destination of the user UA, the mobile robot 20 can move without slowing down the movement speed. The movement time until the destination is reached can be shortened. In the mobile robot 20 used in a human-occupied environment, it is desirable to move while avoiding people. In order to control in a manner that people can be avoided, it is difficult to increase the movement speed. By updating the cost based on the movement vector as in the present embodiment, the position of people can be predicted. Therefore, the mobile robot 20 can efficiently move.
[0132] The arithmetic processing section 21 controls in a manner that moves in accordance with the cost updated in accordance with the measurement result of the distance measuring sensor 24A, 24B. For example, the arithmetic processing section 21 can re-plan the path based on the cost map 228. That is, the mobile robot 20 implements the path plan in a manner that passes from the grid with lower cost on the passage on which it is moving. In the grid included in the path PI, when the cost becomes the predetermined value or more, the arithmetic processing section 21 corrects the path PI, thereby setting a new path P2.
[0133] For example, when the destination that becomes the carrying destination is set, the route planning section 115 implements the route plan in a manner that normally passes on the left side of the passage. That is, the route planning section 115 sets the passing points M11, M12 like passing on the left side of the passage as a reference to the advancing direction of the mobile robot 20 as the route plan condition. The route planning section 115 plans the path PI in which the passing points M11, M12 are set for the mobile robot 20.
[0134] However, since the user UA is walking toward the path PI, the arithmetic processing section 21 sets the path P2 like passing on the right side of the passage. The arithmetic processing section 21 sets the path P2 like passing in the order of the passing points M11, M22, M23, M24. In other words, the arithmetic processing section 21 deletes the passing point M12 and adds the passing points M22 to M24. Since a more appropriate path plan can be implemented in accordance with the situation in the facility by adopting such a manner, a highly efficient path plan can be implemented.
[0135] For example, the arithmetic processing section 21 sets the path P2 like the mobile robot 20 passes from the position in which the user UA exists at the timing of the passing point M11. The mobile robot 20 can implement the path plan by predicting the future position of the user UA. For example, the mobile robot 20 can predict the position of the user UA after the mobile robot 20 moves for the moving time of the distance from the passing point M11 to the passing point M12. It can move on the path P2 like avoiding the position of the user UA predicted in accordance with the moving vector V of the user UA in the future. Therefore, it can move without reducing the moving speed, and can shorten the moving time to the destination.
[0136] In addition, in Figure 5In the vicinity of the wall W, a wall cost region CW is set. The wall cost region CW is a region whose distance from the wall W is below a predetermined distance, and is configured along the wall W. The cost of the wall cost region CW is a fixed value. That is, in the wall cost region CW, a fixed wall cost is set. In this case, in the vicinity of the wall W, the cost does not change with time. That is, even in a case where the measurement result of the distance measuring sensor is updated, the cost of the wall cost region CW is fixed to a fixed value. Therefore, a path in which the mobile robot 20 does not run in the vicinity of the wall W is planned. In this way, by always adding a cost in the grid in the vicinity of the wall W or the like, it is possible to prevent collision, approach to the wall W. Therefore, movement can be performed more efficiently. For example, the above-described distance threshold value can be set larger.
[0137] It is also possible to adopt a manner in which a plurality of mobile robots 20 add a cost on each floor map 221. That is, each mobile robot 20 adds a cost based on the measurement result of the distance measuring sensor 24A, 24B provided on each mobile robot 20.
[0138] Further, a plurality of mobile robots 20 can also share a floor map or a cost map. For example, even in a region that becomes a dead angle of the distance measuring sensor 24A, 24B of the mobile robot 20, the distance measuring sensor of the other mobile robot 20 can perform measurement. Therefore, the other mobile robot can add a cost to the region that becomes a dead angle. The mobile robots 20 transmit the respective cost maps to the upper management device 10.
[0139] Then, by the upper management device 10, the costs of the cost maps 228 of the plurality of mobile robots 20 are added, and a shared cost map 128 is generated. The upper management device 10 transmits the cost of the shared cost map 128 to each mobile robot 20. In this case, it is also possible to transmit the cost of only a part of the region of the cost map 128. That is, the upper management device 10 transmits the cost of a region that becomes a dead angle in front of the moving direction of the mobile robot 20 to the mobile robot 20. By adopting such a manner, it is possible to add a cost even to a region that becomes a dead angle of the distance measuring sensor 24A, 24B of the mobile robot 20. Therefore, since the mobile robot 20 can predict the situation in the region that becomes a dead angle, it is possible to plan a path in which movement can be performed more efficiently.
[0140] In addition, although in the above description, the cost of the wall cost region CW is a fixed value, the cost of the wall cost region CW can be changed with time. That is, the cost of the wall cost region CW can be changed in accordance with the measurement result of the distance measuring sensor 24A, 24B. Figure 6The surrounding object is not limited to a person, but can be another mobile robot 20. Alternatively, the surrounding object can be a conveyance cart or a wheelchair. In a case where a mobile robot 20 exists in the periphery of the mobile robot 20, the mobile robot 20 moves based on the movement vector.
[0141] Further, in the present embodiment, the distance to the surrounding object is measured using the distance measuring sensor 24A that performs two-dimensional measurement and the distance measuring sensor 24B that performs three-dimensional measurement. Moreover, the measurable distance (measurement range) of the distance measuring sensor 24A that performs two-dimensional measurement is longer than the measurable distance (measurement range) of the distance measuring sensor 24B. That is, the distance measuring sensor 24A is capable of measuring a distance farther than the distance measuring sensor 24B that performs three-dimensional measurement. By adopting such a configuration, it is possible to improve the estimation accuracy of the movement vector of the surrounding object.
[0142] Further, the center of gravity position of the surrounding object can be estimated based on the measurement result of the distance measuring sensor 24B. Moreover, the object detection unit 219 can calculate the movement vector based on the time change of the center of gravity position of the surrounding object. By adopting such a configuration, it is possible to improve the estimation accuracy of the movement speed and the movement direction.
[0143] The control method according to the present embodiment will be described using Figure 6 Figure 7 Fig. 8 is a flowchart showing the control method according to the present embodiment. First, the distance measuring sensor 24A and the distance measuring sensor 24B perform two-dimensional measurement and three-dimensional measurement (S11, S21). Then, the object detection unit 219 extracts the point group of the surrounding object (S12). Thereby, it is possible to obtain the point group data showing the three-dimensional shape of the surrounding object.
[0144] Next, the object detection section 219 extracts the position, speed, moving vector, and center of gravity of the surrounding object (S13). Here, the object detection section 219 calculates information such as the position, moving speed, center of gravity, moving direction, and the like of the surrounding object by comparing the ranging result of the previous time with the ranging result of the present time. Further, the object detection section 219 projects the information calculated in step S13 on the two-dimensional floor map 221 (S14). Here, the position and the like of the surrounding object are projected on the floor map 221. The cost addition section 218 generates a two-dimensional cost map 228 by adding the cost to the cost map 221 (S15). Here, the self-position is inferred based on the two-dimensional ranging result of the ranging sensor 24A. That is, the arithmetic processing section 21 is able to achieve a high-precision self-position inference by collating the ranging result of the ranging sensor 24A with the floor map 221. Then, the cost addition section 218 projects the cost of the surrounding object on the map based on the inferred self-position. That is, the cost map is projected on the map collated with the two-dimensional ranging result.
[0145] Then, the arithmetic processing section 21 corrects the route plan based on the cost map (S16). For example, in the original route, if the route passes from a place where the cost becomes a predetermined value or more, the route is changed. That is, the route is corrected in such a manner that the place where the cost is high is bypassed. Thereby, movement can be performed efficiently. Further, by formulating the movement plan based on the ranging result of the ranging sensors 24A and 24B, movement can be performed more efficiently. Then, the mobile robot 20 moves along the corrected route.
[0146] Figure 7 A diagram for schematically showing the cost map. In In the drawing, two surrounding objects UB and UC are detected in front of the mobile robot 20. The depth of the map shows the cost, and the deeper the place, the higher the cost. The cost increases in front of the surrounding objects UB and UC. The mobile robot 20 sets a route P3 like passing between the two surrounding objects UB and UC.
[0147] The control method according to the present embodiment can be implemented by the mobile robot 20 alone, or by the upper management device 10. Further, the mobile robot 20 and the upper management device 10 can collectively execute the robot control method. That is, the robot control system according to the present embodiment can also be mounted in the mobile robot 20. Alternatively, at least a part or all of the robot control system can also be mounted on a device other than the mobile robot 20, for example, on the upper management device 10.
[0148] Further, the program can be stored and provided to a computer using various types of non-transitory computer-readable media. The non-transitory computer-readable media include a variety of types of tangible storage media. The non-transitory computer-readable media, for example, include a magnetic recording medium (such as a floppy disk, a tape, a hard disk drive, and the like), an optical magnetic storage medium (such as a magneto-optical disk), a CD-ROM (compact disc read only memory), a CD-R (compact disc recordable), a CD-R / W (compact disc rewritable), and a semiconductor memory (such as a mask ROM, a programmable ROM (PROM), an erasable PROM (EPROM), a flash memory, a random access memory (RAM), and the like). The program can also be provided to a computer via various types of transitory computer-readable media. Examples of the transitory computer-readable media include an electrical signal, an optical signal, and an electromagnetic wave. The transitory computer-readable media can provide the program to a computer via a wired communication line (such as an electrical wire and an optical cable), or a wireless communication line.
[0149] In addition, the present application is not limited to the above-described embodiments, and can be appropriately changed within the scope of the gist. For example, although the system in which the transport robot autonomously moves within a hospital is described in the above-described embodiments, the above-described system can also transport predetermined articles as cargo in a hotel, a restaurant, an office building, an event venue, or a complex facility.
[0150] From the foregoing disclosure, it will be apparent that variations of the embodiments of the disclosure can be made in many ways. Such variations are not to be regarded as a departure from the spirit and scope of the disclosure, and all such modifications are intended to be included within the scope of the following claims. The embodiments of the present disclosure can include various methods and steps. The steps of the methods can be performed in any order.
Claims
1. A robot control system that controls a mobile robot that autonomously moves with reference to a map, the mobile robot mounting a three-dimensional distance measuring sensor and a two-dimensional distance measuring sensor that can measure a distance farther than the three-dimensional distance measuring sensor, the robot control system controlling in such a manner that: a position of the mobile robot on the map is inferred as a self position by collating a measurement result of the two-dimensional distance measuring sensor and the map, a surrounding object that is not registered on the map is detected from the measurement result of the two-dimensional distance measuring sensor, a distance and a direction to the surrounding object measured using the three-dimensional distance measuring sensor are acquired, a position of the surrounding object on the map is particularly specified from the distance and the direction to the surrounding object from the self position of the mobile robot, a movement vector that indicates a moving speed and a moving direction of the surrounding object is inferred from a temporal change in the position of the surrounding object, a cost for limiting movement of the mobile robot is added on the map from the movement vector, movement is made based on the cost that is updated based on measurement results of the three-dimensional distance measuring sensor and the two-dimensional distance measuring sensor, a cost-added cost region is set on the map based on the latest position of the surrounding object and the movement vector, and the cost region is larger as the moving speed is larger.
2. The robot control system according to claim 1, wherein: a plurality of mobile robots add the cost on the map, and the plurality of mobile robots share the map.
3. The robot control system according to claim 1, wherein: a barycentric position of the surrounding object is calculated based on the measurement result of the three-dimensional distance measuring sensor, and a moving speed and a moving direction are inferred from a change in the barycentric position.
4. The robot control system according to any one of claims 1 to 3, wherein: the surrounding object is a person or another mobile robot that is in a periphery of the mobile robot.
5. A robot control method that controls a mobile robot that autonomously moves with reference to a map, the mobile robot mounting a three-dimensional distance measuring sensor and a two-dimensional distance measuring sensor that can measure a distance farther than the three-dimensional distance measuring sensor, the robot control method controlling in such a manner that: a position of the mobile robot on the map is inferred as a self position by collating a measurement result of the two-dimensional distance measuring sensor and the map, a surrounding object that is not registered on the map is detected from the measurement result of the two-dimensional distance measuring sensor, a distance and a direction to the surrounding object measured using the three-dimensional distance measuring sensor are acquired, a position of the surrounding object on the map is particularly specified from the distance and the direction to the surrounding object from the self position of the mobile robot, a movement vector that indicates a moving speed and a moving direction of the surrounding object is inferred from a temporal change in the position of the surrounding object, a cost for limiting movement of the mobile robot is added on the map from the movement vector, movement is made based on the cost that is updated based on measurement results of the three-dimensional distance measuring sensor and the two-dimensional distance measuring sensor, a cost-added cost region is set on the map based on the latest position of the surrounding object and the movement vector, and the cost region is larger as the moving speed is larger. a moving vector indicating a moving speed and a moving direction of the surrounding object is estimated from a temporal change in the position of the surrounding object, a cost for restricting movement of the mobile robot is added to the map based on the moving vector, movement is performed based on the cost that is updated based on the measurement results of the three-dimensional distance measuring sensor and the two-dimensional distance measuring sensor, a cost-added cost region is set on the map based on the latest position of the surrounding object and the moving vector, the cost region is larger as the moving speed is larger.
6. The robot control method according to claim 5, wherein a plurality of mobile robots add a cost to the map, and the plurality of mobile robots share the map.
7. The robot control method according to claim 5, wherein a center of gravity position of the surrounding object is calculated based on the measurement results of the three-dimensional distance measuring sensor, and a moving speed and a moving direction are estimated from a change in the center of gravity position.
8. The robot control method according to any one of claims 5 to 7, wherein the surrounding object is a person or another mobile robot that is in the periphery of the mobile robot.
9. A computer-readable medium on which a program for causing a computer to execute a robot control method of controlling a mobile robot that autonomously moves with reference to a map is stored, wherein the mobile robot is equipped with a three-dimensional distance measuring sensor and a two-dimensional distance measuring sensor that is capable of measuring a distance to a farther distance than the three-dimensional distance measuring sensor, in the robot control method, control is performed in such a manner that: a self position of the mobile robot is estimated as a position on the map by collating a measurement result of the two-dimensional distance measuring sensor with the map, a surrounding object that is not registered on the map is detected based on a measurement result of the two-dimensional distance measuring sensor, a distance and a direction to the surrounding object that is measured using the three-dimensional distance measuring sensor are acquired, a position of the surrounding object on the map is specifically specified from the distance and the direction to the surrounding object from the self position of the mobile robot, a moving vector indicating a moving speed and a moving direction of the surrounding object is estimated from a temporal change in the position of the surrounding object, a cost for restricting movement of the mobile robot is added to the map based on the moving vector, movement is performed based on the cost that is updated based on the measurement results of the three-dimensional distance measuring sensor and the two-dimensional distance measuring sensor, a cost-added cost region is set on the map based on the latest position of the surrounding object and the moving vector, the cost region is larger as the moving speed is larger.
10. The computer-readable medium according to claim 9, wherein a plurality of mobile robots add a cost to the map, and the plurality of mobile robots share the map.
11. The computer-readable medium according to claim 9, wherein The center of gravity position of the surrounding object is calculated based on the measurement result of the three-dimensional distance measuring sensor, and the moving speed and the moving direction are inferred from the change in the center of gravity position.
12. The computer readable medium of any of claims 9 to 11, wherein, The surrounding object is a person or another mobile robot in the periphery of the mobile robot.
Citation Information
Patent Citations
Autonomous mobile body system, control program of autonomous mobile body and method for controlling autonomous mobile body
JP2021086217A
Information processing device and mobile robot
EP3859475A1
Tracking device, tracking program and tracking method
JP2014178789A
Trajectory planning for mobile robots
US11016491B1
Selective deployment of robots to perform mapping
US20170095926A1