Robot control system, robot control method, and computer readable medium
By setting safe distances and movement restrictions on a map and using range sensors to control the robot's movement, the problem of transport robots struggling to efficiently avoid people in the vicinity is solved, thus improving transport efficiency and safety.
Patent Information
- Application Number
- CN202211405140.8
- 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-03
- Estimated Expiration
- 2042-11-10
AI Technical Summary
Existing handling robots have difficulty efficiently avoiding people when they are around, resulting in reduced handling efficiency.
By referring to a map and using a ranging sensor to measure the distance to surrounding objects, a designated area is set and movement restriction information is added to ensure that the robot maintains a safe distance from surrounding objects, infers the direction of movement, and moves autonomously.
This enables robots to efficiently avoid people even when they are around, improving both handling efficiency and safety.
Smart Images

Figure CN116125969B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to a robot control system, a robot control method, and a program. Background Technology
[0002] Patent Document 1 (Japanese Patent Application Publication No. 2021-86217) discloses an autonomous movement system equipped with a transport robot. In Patent Document 1, the transport robot is equipped with sensors that detect surrounding obstacles. For the transport robot, prohibited entry spaces and restricted entry spaces are set. If the sensors detect an obstacle entering the restricted entry space, the transport robot will reduce its movement speed or perform an avoidance maneuver. Summary of the Invention
[0003] The problem that the invention aims to solve
[0004] In such transport robots, the goal is to perform transport more efficiently. For example, when there are people around the transport robot, the goal is to move around them.
[0005] This disclosure is an invention made to solve such problems, providing a robot control system, robot control method, and program that can control robots more efficiently.
[0006] Methods for solving problems
[0007] The robot control system involved in this embodiment is a robot control system for controlling a mobile robot that moves autonomously in the channel direction within a channel included in the map with reference to the map. The robot control system controls the robot in the following manner: obtaining the distance to the surrounding objects measured by a distance measuring sensor; specifically designating the position of the surrounding objects on the map based on the distance from the position of the mobile robot to the surrounding objects; setting a setting area such that the setting area includes the surrounding objects on the map; setting a first endpoint at a position in the channel direction that is separated from the surrounding objects by a first distance; setting a second endpoint at a position in the channel width direction that is separated from the position of the surrounding objects by a second distance shorter than the first distance; adding restriction information to the setting area on the map to restrict the movement of the mobile robot; and moving according to the restriction information.
[0008] In the robot control system described above, the dimension of the channel direction of the set area can also be greater than the dimension of the width direction.
[0009] In the robot control system described above, the following method can also be adopted: based on the change in distance to the surrounding object, the movement direction of the surrounding object in the channel direction is inferred, and a setting area is set as follows: the setting area sets the point on the front side of the movement direction that is separated from the position of the surrounding object by the first distance as the first endpoint, and sets the point on the rear side of the movement direction that is separated from the position of the surrounding object by a third distance shorter than the first distance as the third endpoint.
[0010] In the robot control system described above, the limiting information can also be updated based on the measurement results of the ranging sensor.
[0011] In the robot control system described above, the following approach can also be adopted: the ranging sensor includes a three-dimensional ranging sensor and a two-dimensional ranging sensor that can measure distances further than the three-dimensional ranging sensor.
[0012] In the robot control system described above, the surrounding objects can also be people or other mobile robots located around the mobile robot.
[0013] The robot control method involved in this embodiment is a robot control method for controlling a mobile robot that moves autonomously in the channel direction within a channel contained in the map with reference to the map. The control is performed in the following manner: obtaining the distance to the surrounding objects measured by a distance measuring sensor; specifically designating the position of the person on the map based on the distance from the position of the mobile robot to the surrounding objects; setting a setting area such that the setting area includes the surrounding objects on the map; setting a first endpoint at a position in the channel direction that is separated from the surrounding objects by a first distance; setting a second endpoint at a position in the channel width direction that is separated from the position of the surrounding objects by a second distance shorter than the first distance; adding restriction information to the setting area on the map to restrict the movement of the mobile robot; and moving according to the restriction information.
[0014] In the robot control method described above, the dimension of the channel direction of the set area can also be greater than the dimension of the width direction.
[0015] In the robot control method described above, the following approach can also be adopted: based on the change in distance to the surrounding object, the movement direction of the surrounding object in the channel direction is inferred, and a setting region is set as follows: the setting region sets the point on the front side of the movement direction that is separated from the position of the surrounding object by the first distance as the first endpoint, and sets the point on the rear side of the movement direction that is separated from the position of the surrounding object by a third distance shorter than the first distance as the third endpoint.
[0016] In the robot control method described above, the limiting information can also be updated based on the measurement results of the ranging sensor.
[0017] In the robot control method described above, the following approach can also be adopted: the ranging sensor includes a three-dimensional ranging sensor and a two-dimensional ranging sensor that can measure distances further than the three-dimensional ranging sensor.
[0018] In the robot control method described above, the surrounding objects can also be people or other mobile robots located around the mobile robot.
[0019] The procedure involved in this embodiment is a robot control method that enables a computer to execute a robot that autonomously moves in the direction of a passage within a passage included in the map, with reference to a map. In this robot control method, control is performed as follows: the distance to a surrounding object, measured using a range sensor, is obtained; based on the distance from the position of the mobile robot to the surrounding object, the position of the person on the map is specifically designated; a setting area is set such that the surrounding object is included on the map; a first endpoint is set at a position in the passage direction that is separated from the surrounding object by a first distance; a second endpoint is set at a position in the width direction of the passage that is separated from the position of the surrounding object by a second distance shorter than the first distance; restriction information for restricting the movement of the mobile robot is added to the setting area on the map; and the robot moves according to the restriction information.
[0020] In the above procedure, the dimension of the channel direction of the set area can also be greater than the dimension of the width direction.
[0021] In the above procedure, the following method can also be adopted: based on the change in distance to the surrounding object, the movement direction of the surrounding object in the channel direction is inferred, and the following setting area is set: the setting area sets the point on the front side of the movement direction that is separated from the position of the surrounding object by the first distance as the first endpoint, and the point on the rear side of the movement direction that is separated from the position of the surrounding object by a third distance shorter than the first distance as the third endpoint.
[0022] In the above procedure, the limiting information can also be updated based on the measurement results of the ranging sensor.
[0023] In the above procedure, the following approach can also be adopted: the ranging sensor includes a three-dimensional ranging sensor and a two-dimensional ranging sensor that can measure distances at greater distances than the three-dimensional ranging sensor.
[0024] In the above procedure, the surrounding objects can also be people or other mobile robots located around the mobile robot.
[0025] Invention Effects
[0026] According to this disclosure, a robot control system, robot control method, and program that can control a robot more efficiently can be provided.
[0027] The above and other objects, features and advantages of this disclosure will be more fully understood from the detailed description given below and the accompanying drawings, which are given by way of example only, and should therefore not be considered as limitations on this disclosure. Attached Figure Description
[0028] Figure 1 This is a conceptual diagram used to illustrate the overall structure of a system utilizing the mobile robot described in this embodiment.
[0029] Figure 2 This is a control block diagram of the control system involved in this embodiment.
[0030] Figure 3 A schematic diagram illustrating an example of a mobile robot.
[0031] Figure 4 This is a schematic diagram illustrating the sensing area of a ranging sensor mounted on a mobile robot.
[0032] Figure 5 A map used to illustrate the costs added based on the user agents (UAs) of the surrounding objects.
[0033] Figure 6 This is a flowchart illustrating the control method involved in this embodiment.
[0034] Figure 7 A map showing the designated area where a user UB is detected around an intersection. Detailed Implementation
[0035] Although the present invention will be described below through embodiments, the invention as defined in the claims is not limited to these embodiments. Furthermore, not all of the structures described in the embodiments are necessarily necessary as a method for solving the problem.
[0036] (Overview Structure)
[0037] Figure 1 This is a conceptual diagram used to explain the overall structure of the handling system 1 utilizing the mobile robot 20 according to this embodiment. For example, the mobile robot 20 is a handling robot that performs the task of handling objects. The mobile robot 20 moves autonomously within medical and welfare facilities such as hospitals, rehabilitation centers, nursing facilities, and elderly care facilities to handle objects. Furthermore, the system according to this embodiment can also be used in commercial facilities such as shopping malls. Hereinafter, the items handled by the mobile robot 20 will be referred to as handling objects, objects, articles, carried items, goods, merchandise, etc.
[0038] User U1 stores the item to be transported inside mobile robot 20 and entrusts it for transport. Mobile robot 20 transports the item autonomously until it reaches the designated destination. In other words, mobile robot 20 performs a goods transport task (hereinafter referred to as the task). In the following description, the location where the item is loaded is designated as the transport origin, and the location where the item is delivered is designated as the transport destination.
[0039] For example, consider a scenario where mobile robot 20 moves within a general hospital with multiple departments. Mobile robot 20 transports supplies, consumables, and medical equipment between these departments. For instance, mobile robot 20 might move items from the nurses' station of one department to the nurses' station of another. Alternatively, mobile robot 20 might move items from the storage area for supplies or medical equipment to the nurses' station of a department. Furthermore, mobile robot 20 might deliver medications dispensed in the pharmacy to the designated department or patient.
[0040] Examples of items that can be transported include consumables such as medicines and bandages, patients, examination instruments, medical equipment, hospital meals, and spare supplies such as stationery. Examples of medical equipment include blood pressure monitors, blood transfusion pumps, infusion pumps, foot pumps, nurse call buttons, bed exit sensors, low-pressure continuous inhaler ECG monitors, drug infusion controllers, enteral nutrition pumps, ventilators, cuff pressure gauges, touch sensors, suction devices, nebulizers, pulse oximeters, resuscitation devices, sterile devices, and echo devices. Furthermore, it can also transport hospital meals and examination meals. Moreover, the mobile robot 20 can also transport used equipment and used tableware. When the destination is on a different floor, the mobile robot 20 can also use elevators or similar equipment for movement.
[0041] The material handling system 1 includes: a mobile robot 20, a host management device 10, a network 600, a communication unit 610, and a user terminal 400. User U1 or user U2 can use the user terminal 400 to entrust the handling of the materials. For example, the user terminal 400 can be a tablet computer or a smartphone. The user terminal 400 only needs to be an information processing device capable of wireless or wired communication.
[0042] In this 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). Furthermore, the upper management device 10 is connected to the network 600 via a wired or wireless connection. The communication unit 610 is, for example, a wireless LAN unit located in various environments. The communication unit 610 can also be a general communication device such as a WiFi router.
[0043] Various signals sent from user terminals 400 of users U1 and U2 are temporarily sent to the upper management device 10 via network 600, and then forwarded from the upper management device 10 to the mobile robot 20. Similarly, various signals sent from the mobile robot 20 are temporarily sent to the upper management device 10 via network 600, and then forwarded from the upper management device 10 to the user terminal 400. The upper management device 10 is a server connected to each device and collects data from each device. Furthermore, the upper management device 10 is not limited to a single physical device, but may have multiple devices that implement distributed processing. In addition, the upper management device 10 may also be distributed in edge devices such as the mobile robot 20. For example, part or all of the handling system 1 may also be mounted on the mobile robot 20.
[0044] User terminal 400 and mobile robot 20 can also transmit and receive signals without going through the upper management device 10. For example, user terminal 400 and mobile robot 20 can also directly transmit and receive signals via wireless communication. Alternatively, user terminal 400 and mobile robot 20 can also transmit and receive signals via communication unit 610.
[0045] User U1 or User U2 uses User Terminal 400 to entrust the transportation of goods. Hereinafter, we will explain this as User U1 being the person entrusting the transportation from the originating location and User U2 being the intended recipient at the destination. Obviously, User U2, located at the destination, can also entrust the transportation. Furthermore, users located at locations other than the originating or destination locations can also entrust the transportation.
[0046] When user U1 requests a transport service, user terminal 400 is used to input the contents of the item to be transported, the destination of the item (hereinafter also referred to as the origin of the transport), the destination of the item to be delivered (hereinafter also referred to as the destination of the transport), the scheduled arrival time at the origin of the transport (the time of receipt of the item), and the scheduled arrival time at the destination of the transport (the transport period). This information will also be referred to as transport request information. User U1 can input the transport request information by operating the touch panel of user terminal 400. The origin of the transport can be the location of user U1 or the storage location of the item to be transported. The destination of the transport is the location of the user U2 or the patient who is scheduled to use the service.
[0047] User terminal 400 sends the handling request information input by user U1 to the upper-level management device 10. The upper-level management device 10 is a management system that manages multiple mobile robots 20. The upper-level management device 10 sends action commands to the mobile robots 20 to perform handling tasks. Each time a handling task is requested, the upper-level management device 10 determines which mobile robot 20 will perform the task. Then, the upper-level management device 10 sends control signals, including action commands, to the mobile robot 20. The mobile robot 20 moves according to the action commands, thus moving from the starting point to the destination.
[0048] For example, the host management device 10 assigns a transport task to a mobile robot 20 located at or near a transport origin. Alternatively, the host management device 10 assigns a transport task to a mobile robot 20 that is traveling to or near a transport origin. The mobile robot 20 assigned the task travels to the transport origin to retrieve the transported item. The transport origin is, for example, the location of the user U1 who commissioned the task.
[0049] When the mobile robot 20 arrives at the starting point, user U1 or other staff load the goods onto it. The mobile robot 20, carrying the goods, then autonomously moves towards the designated destination. The host management device 10 sends a signal to the user terminal 400 of user U2 at the destination. This allows user U2 to know the status of the goods being transported or their scheduled arrival time. When the mobile robot 20 arrives at the designated destination, user U2 can receive the goods stored inside it. In this way, the mobile robot 20 performs the transport task.
[0050] In this overall structure, the various elements of the control system can be distributed among the mobile robot 20, the user terminal 400, and the upper-level management device 10, and constructed as a whole. Furthermore, the essential elements for realizing the transport of objects can be integrated into a single device. The upper-level management device 10 controls one or more mobile robots 20.
[0051] In this embodiment, a mobile robot 20 moves autonomously with reference to a map. A robot control system that controls the mobile robot 20 acquires distance information representing the distance to a person, as measured using a distance measuring sensor. Based on changes in the distance to the person, the robot control system infers a movement vector representing the person's speed and direction of movement. The robot control system adds costs to the map to limit the movement of the mobile robot. The robot control system controls the movement in a manner that updates the costs based on the distance measured by 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 host management device 10.
[0052] (Control diagram)
[0053] exist Figure 2 The diagram shows the control block diagram of the control system of System 1. For example... Figure 2 As shown, system 1 includes a host management device 10, a mobile robot 20, and an environmental camera 300.
[0054] This system 1 enables mobile robots 20 to move autonomously within a predetermined facility while effectively controlling multiple mobile robots 20. Therefore, multiple environmental cameras 300 are installed within the facility. For example, the environmental cameras 300 are installed in passageways, lobbies, elevators, entrances, and exits within the facility.
[0055] The environmental camera 300 acquires images of the area traversed by the mobile robot 20. Additionally, in System 1, the host management device 10 collects images acquired by the environmental camera 300 or information based on those images. Alternatively, images acquired by the environmental camera 300 can be directly sent to the mobile robot. The environmental camera 300 can also be a surveillance camera installed in passageways or at entrances / exits within the facility. The environmental camera 300 can also be used to determine the distribution of congestion within the facility.
[0056] In System 1 according to Implementation Method 1, the host management device 10 implements route planning based on transport request information. Based on the route planning information created by the host management device 10, each mobile robot 20 is instructed to its destination. Then, the mobile robot 20 moves autonomously toward the destination specified by the host management device 10. The mobile robot 20 uses sensors, floor maps, location information, etc., installed on its own to move autonomously toward its destination.
[0057] For example, the mobile robot 20 operates in a manner that avoids contact with surrounding equipment, objects, walls, and people (hereinafter collectively referred to as surrounding objects). Specifically, the mobile robot 20 detects the distance to surrounding objects and operates while maintaining a distance above a fixed threshold. When the distance to surrounding objects falls below the threshold, the mobile robot 20 slows down or stops. By employing this method, the mobile robot 20 can operate without contacting surrounding objects. Because contact can be avoided, safe and efficient handling can be achieved.
[0058] The host management unit 10 includes a processing unit 11, a storage unit 12, a buffer memory 13, and a communication unit 14. The processing unit 11 performs calculations for controlling and managing the mobile robot 20. The processing unit 11 can be installed as a programmable device, such as a computer's central processing unit (CPU). Furthermore, various functions can be implemented through programs. Although in Figure 2 Only the characteristic robot control unit 111, route planning unit 115, transport information acquisition unit 116, and cost addition unit 118 of the computing and processing unit 11 are shown, but other processing modules may also be included.
[0059] The robot control unit 111 performs calculations for remotely controlling the mobile robot 20 and generates control signals. The robot control unit 111 generates control signals based on route planning information 125, as described later. Furthermore, control signals are generated based on various information obtained from the environmental camera 300 or the mobile robot 20. The control signals may also include updated information such as the floor map 121, robot information 123, and robot control parameters 122, as described later. In other words, the robot control unit 111 generates control signals corresponding to updated information whenever various information is updated.
[0060] The cost addition unit 118 adds costs to the floor map 121. The cost addition unit 118 establishes a correspondence between costs and locations on the floor map 121. In other words, it calculates costs for each location on the floor map 121. Costs are information used to restrict the movement of the mobile robot 20. For example, they are set in 100 levels from 0 to 100, with higher numbers indicating more restricted movement of the mobile robot 20. Specifically, the floor map 121 is a grid map divided into grids. Then, the cost addition unit 118 sets a cost for each grid. The mobile robot 20 cannot enter grids with costs exceeding a predetermined value. Alternatively, the higher the cost, the lower the upper limit of its movement speed is set. The cost addition unit 118 calculates costs continuously based on the surrounding conditions. The processing of the cost addition unit 118 will be described later.
[0061] The transport information acquisition unit 116 acquires information related to the transported item. The transport information acquisition unit 116 acquires information related to the contents (category) of the transported item being transported by the mobile robot 20. The transport information acquisition unit 116 acquires transport information related to the transported item being transported by the mobile robot 20 where the error occurred.
[0062] The route planning unit 115 implements route planning for each mobile robot 20. When a transport task is input, the route planning unit 115 implements a route plan based on the transport request information to transport the item to its destination. Specifically, the route planning unit 115 refers to route plan information 125 or robot information 123 already stored in the storage unit 12 to determine which mobile robot 20 will perform the new transport task. The departure point is the current position of the mobile robot 20, or the destination of a previous transport task, or the receiving destination of the item. The destination is the transport destination of the item, a waiting area, a charging location, etc.
[0063] Here, the route planning unit 115 sets the passing points from the starting point of the mobile robot 20 to its destination. The route planning unit 115 sets the passing order of these passing points for each mobile robot 20. Passing points are set, for example, at forks in the road, intersections, lobbies in front of elevators, or around these locations. Furthermore, in narrow passageways, it is sometimes difficult for the mobile robots 20 to pass each other. In such cases, the nearest point in the narrow passageway can be set as a passing point. Candidate passing points can also be pre-registered on the floor plan 121.
[0064] The route planning unit 115 selects the mobile robots 20 from among the multiple mobile robots 20 to perform each transport task, so that the system as a whole can perform tasks efficiently. The route planning unit 115 prioritizes assigning transport tasks to mobile robots 20 that are in standby mode or that are closer to the transport departure point.
[0065] The route planning unit 115 sets transit points, including departure and destination points, for the mobile robots 20 assigned transport tasks. For example, if there are two or more transport paths from the departure point to the destination, transit points are set in a way that allows for faster movement. Therefore, the upper management device 10 updates information indicating congestion levels in the passageway based on camera images, etc. Specifically, areas where other mobile robots 20 are passing through or areas with many people are considered congested. Therefore, the route planning unit 115 sets transit points to avoid areas with high congestion.
[0066] There are situations where the mobile robot 20 can reach its destination via either a left-turning or right-turning path. In such cases, the route planning unit 115 sets waypoints to allow movement along the less congested path. By setting one or more waypoints between the robot and its destination, the route planning unit 115 enables the mobile robot 20 to move along less congested paths. For example, where the path is divided at forks or intersections, the route planning unit 111 appropriately sets waypoints at and around these locations. This improves handling efficiency.
[0067] The route planning unit 115 can also set passing points considering factors such as elevator congestion or travel distance. Furthermore, the upper management device 10 can also infer the number of mobile robots 20 or personnel at a predetermined time when the mobile robots 20 pass through a certain location. Then, the route planning unit 115 can set passing points based on the inferred congestion situation. Additionally, the route planning unit 115 can dynamically change the passing points based on changes in congestion. The route planning unit 115 sets passing points sequentially for the mobile robots 20 assigned transport tasks. Passing points may include a transport origin or a transport destination. As described later, the mobile robots 20 move autonomously by sequentially passing through the passing points set by the route planning unit 115.
[0068] Storage unit 12 is a storage unit that stores information required for the management and control of the robot. Although in Figure 2The example shows floor plan 121, robot information 123, robot control parameters 122, route planning information 125, and transported item information 126, but the information stored in storage unit 12 can also be other than these. In the arithmetic processing unit 11, calculations using the information stored in storage unit 12 are performed when various processes are implemented. Furthermore, the various information stored in storage unit 12 can be updated to the latest information.
[0069] Floor map 121 is a map of the facilities through which the mobile robot 20 moves. This floor map 121 can be a pre-created map, a map generated based on information obtained from the mobile robot 20, or a map with map correction information generated based on information obtained from the mobile robot 20 added to a pre-created base map.
[0070] For example, floor map 121 stores the locations or information of facilities such as walls, doors, staircases, elevators, and fixed shelves. Floor map 121 can also be represented as a two-dimensional grid map. In this case, information about walls or doors is marked in each grid cell of floor map 121.
[0071] Robot information 123 records the ID, model, specifications, etc. of the mobile robot 20 managed by the host management device 10. Robot information 123 may also include location information indicating the current position of the mobile robot 20. Robot information 123 may also include information on whether the mobile robot 20 is performing a task or is in standby mode. Furthermore, robot information 123 may also include information indicating whether the mobile robot 20 is in operation or experiencing a malfunction. Additionally, robot information 123 may include information on transportable and non-transportable objects.
[0072] The robot control parameters 122 describe control parameters related to the mobile robot 20 managed by the host management device 10, such as threshold distances between the robot and surrounding objects. The threshold distance is defined as the margin distance used to avoid contact with surrounding objects, including people. Furthermore, the robot control parameters 122 may also include information related to the intensity of motion, such as the upper limit of the mobile robot 20's movement speed.
[0073] The robot control parameters 122 can also be updated according to the situation. The robot control parameters 122 may also include information indicating the availability or usage status of the storage space in the storage compartment 291. The robot control parameters 122 may also include information about movable or non-movable objects. For the robot control parameters 122, the above-mentioned information establishes a correspondence with each mobile robot 20.
[0074] Route planning information 125 includes route planning information planned in route planning unit 115. Route planning information 125 may include, for example, information indicating a transport task. Route planning information 125 may also include information such as the ID of the mobile robot 20 assigned the task, departure point, contents of the transported item, destination, departure point, scheduled arrival time to the destination, scheduled arrival time to the departure point, and arrival deadline. In route planning information 125, the aforementioned information may also be associated with each transport task. Route planning information 125 may also include at least a portion of the transport request information input by user U1.
[0075] Furthermore, the route planning information 125 may also include information related to the passing points for each mobile robot 20 or the handling task. For example, the route planning information 125 may include information indicating the passing order of the passing points related to each mobile robot 20. The route planning information 125 may also include the coordinates of each passing point in the floor map 121, or information on whether a passing point has been passed.
[0076] Cost map 128 is a map representing the costs added in cost addition unit 118. Specifically, a correspondence is established between costs and their locations (addresses or coordinates) on floor map 121. As mentioned above, cost map 128 can be configured as a grid map storing costs in each grid. Cost map 128 is updated each time a cost is added in cost addition unit 118. Alternatively, cost map 128 can be generated by merging cost maps 228 stored in multiple mobile robots 20. In other words, cost map 128 can also be generated based on costs added in multiple mobile robots.
[0077] The transported item information 126 is information related to the transported item for which a transport commission has been made. For example, it includes information such as the contents (category) of the transported item, the origin of the transport, and the destination of the transport. The transported item information 126 may also include the ID of the mobile robot 20 responsible for the transport. Furthermore, the transported item information may also include information indicating the status of transport in progress, before transport (before loading), or after transport completion. For each transported item, a correspondence is established between this information and the transported item information 126. The transported item information 126 will be described later.
[0078] Furthermore, the route planning unit 115 formulates a route plan by referring to various information stored in the storage unit 12. For example, based on the floor map 121, robot information 123, robot control parameters 122, and route plan information 125, it determines the mobile robot 20 that will perform the task. Moreover, the route planning unit 115 refers to the floor map 121 and the like to set the passing points and their sequence up to the transport destination. Candidate passing points are pre-registered in the floor map 121. Then, the route planning unit 115 sets the passing points based on factors such as congestion. Furthermore, in cases of continuous task processing, the route planning unit 115 can also set the transport origin and destination as passing points.
[0079] Alternatively, two or more mobile robots 20 can be assigned to a single transport task. For example, if the object to be transported is larger than the transport capacity of a mobile robot 20, the object can be split into two and loaded onto two mobile robots 20. Or, if the object to be transported is heavier than the transport weight of a mobile robot 20, the object can be split into two and loaded onto two mobile robots 20. By adopting this method, a single transport task can be shared by two or more mobile robots 20. Obviously, when controlling mobile robots 20 of different sizes, route planning can also be implemented by having mobile robots 20 capable of carrying objects receive the objects.
[0080] Furthermore, a mobile robot 20 can also perform two or more transport tasks in parallel. For example, a mobile robot 20 can carry two or more transport items simultaneously and transport them sequentially to different transport destinations. Alternatively, a mobile robot 20 can carry other transport items while transporting one transport item. In addition, the transport destinations of the transport items carried in different locations can be the same or different. By adopting this approach, tasks can be performed efficiently.
[0081] In such cases, the storage information indicating usage or vacancy status can be updated based on the storage space of the mobile robot 20. That is, the host management device 10 can also manage the storage information indicating vacancy status, thereby controlling the mobile robot 20. For example, the storage information is updated when the loading or receiving of a transported item is completed. When a transport task is input, the host management device 10 refers to the storage information, causing a mobile robot 20 with available space to load the transported item to proceed to receive it. By adopting this method, one mobile robot 20 can perform multiple transport tasks simultaneously, or two or more mobile robots 20 can share the transport tasks. Sensors can also be installed in the storage space of the mobile robot 20 to detect vacancy status. Furthermore, the capacity or weight of each transported item can be pre-registered.
[0082] The buffer memory 13 is a memory that stores intermediate information generated during processing in the arithmetic processing unit 11. The communication unit 14 is a communication interface for communicating with multiple environmental cameras 300 and at least one mobile robot 20 installed in the facility using system 1. The communication unit 14 is capable of both wired and wireless communication. For example, the communication unit 14 sends control signals required for controlling each mobile robot 20 to each of the mobile robots 20. Furthermore, the communication unit 14 receives information collected by the mobile robots 20 or the environmental cameras 300.
[0083] The mobile robot 20 includes a processing unit 21, a storage unit 22, a communication unit 23, a proximity sensor (e.g., a proximity sensor group 24), a camera 25, a drive unit 26, a display unit 27, and an operation receiving unit 28. Additionally, although in Figure 2 Only representative processing modules of the mobile robot 20 are shown in the figure, but the mobile robot 20 also contains many other processing modules not shown.
[0084] The communication unit 23 is a communication interface for communicating with the communication unit 14 of the host management device 10. The communication unit 23 communicates with the communication unit 14, for example, using wireless signals. The distance sensor group 24 is, for example, a proximity sensor, and outputs proximity distance information indicating the distance to objects or people present around the mobile robot 20. The camera 25 captures images, for example, to monitor the surroundings of the mobile robot 20. Furthermore, the camera 25 can also capture images of location markers installed on the ceiling or other surfaces of the facility. These location markers can also be used to allow the mobile robot 20 to determine its own location.
[0085] The drive unit 26 drives the drive wheels mounted on the mobile robot 20. Alternatively, the drive unit 26 may include an encoder or similar device that detects the rotation speed of the drive wheels or their drive motors. The robot's position (current position) can also be inferred from the encoder's output. The mobile robot 20 detects its current position and sends it to the host management device 10.
[0086] The display unit 27 and the operation receiving unit 28 are implemented via a touch panel display. The display unit 27 displays the user interface screen that becomes the operation receiving unit 28. In addition, information indicating the destination of the mobile robot 20 or the status of the mobile robot 20 can also be displayed on the display unit 27. The operation receiving unit 28 receives operations from the user. In addition to the user interface screen displayed on the display unit 27, the operation receiving unit 28 also includes various switches provided on the mobile robot 20.
[0087] The arithmetic processing unit 21 performs calculations used in the control of the mobile robot 20. The arithmetic processing unit 21 can be installed as an executable program device, such as a computer's central processing unit (CPU). Furthermore, various functions can be implemented through programs. The arithmetic processing unit 21 includes a movement command extraction unit 211, a drive control unit 212, a cost addition unit 218, and an object detection unit 219. Additionally, although in Figure 2 Only representative processing modules of the arithmetic processing unit 21 are shown, but other processing modules not shown are also included. The arithmetic processing unit 21 can also search for paths between points. Furthermore, the arithmetic processing unit 21 can also determine the path by referring to the cost map 228.
[0088] The movement command extraction unit 211 extracts movement commands from the control signals given by the host management device 10. For example, the movement command contains information related to the next passing point. For example, the control signal may also contain information related to the coordinates of the passing point or the passing order of the passing points. Then, the movement command extraction unit 211 extracts this information as a movement command.
[0089] Furthermore, the movement command may also include information indicating that movement to the next passage point is possible. When the passageway is narrow, there may be situations where the mobile robots 20 cannot pass each other. Additionally, there may be situations where movement in the passageway is temporarily impossible. In such cases, the control signal includes a command to stop the mobile robot 20 at the passage point near the location where it should stop. Then, after other mobile robots 20 have passed or the passageway becomes passable, the host management device 10 outputs a control signal to the mobile robot 20 notifying it that movement is now possible. Thus, the temporarily stopped mobile robot 20 resumes movement.
[0090] The drive control unit 212 controls the drive unit 26 to move the mobile robot 20 based on the movement command given by the movement command extraction unit 211. For example, the drive unit 26 has drive wheels that rotate according to control command values from the drive control unit 212. The movement command extraction unit 211 extracts movement commands to cause the mobile robot 20 to move toward a pass point received from the upper management device 10. Then, the drive unit 26 drives the drive wheels to rotate. The mobile robot 20 moves autonomously toward the next pass point. By adopting this method, it passes through the pass points sequentially and reaches the transport destination. In addition, the mobile robot 20 can also infer its own position and send a signal to the upper management device 10 indicating that it has passed through a pass point. Thus, the upper management device 10 can manage the current position or transport status of each mobile robot 20.
[0091] The cost addition unit 218 adds costs to the floor map 21. The cost addition unit 218 establishes a correspondence between costs and locations on the floor map 221. In other words, costs are calculated for each location on the floor map 221. Costs are restriction information used to limit the movement of the mobile robot 20. For example, costs are set in 100 levels from 0 to 100, with higher numbers indicating more restricted movement of the mobile robot 20. Although the upper limit of the cost setting range is set to 100 and the lower limit to 0, the upper and lower limits of the setting range are not actually limited to these values.
[0092] Specifically, the floor map 221 is a grid map divided into grids. Furthermore, the cost addition unit 218 sets a cost for each grid. The mobile robot 20 cannot enter grids where the cost exceeds a predetermined value. Alternatively, the higher the cost, the lower the upper limit of its movement speed is set. The cost addition unit 218 calculates the cost in real time based on the surrounding conditions. The processing of the cost addition unit 218 will be described later.
[0093] The object detection unit 219 detects surrounding objects around the mobile robot 20. Furthermore, when the surrounding objects are other mobile robots 20 or human mobile bodies, the object detection unit 219 infers the movement speed and direction of the mobile body. Additionally, the object detection unit 219 can specifically designate whether the surrounding objects are fixed objects within the facility or mobile bodies capable of moving within the facility. Fixed objects include walls, doors, tables, fixed shelves, etc., within the facility, and their information is stored in floor maps 121 and 221. Mobile bodies include other mobile robots, mobile beds, IV stands, mobile medical equipment, wheelchairs, and others.
[0094] Moving objects are typically not registered in floor maps 121 and 221. Therefore, the object detection unit 219 can refer to floor maps 121 and 221 to detect whether surrounding objects are stationary or moving. That is, surrounding objects located in the same position as objects registered in floor map 221 are considered stationary objects. Surrounding objects not located in the same position as objects registered in floor map 221 are considered moving objects. Moving objects are not limited to objects; they can also be humans or animals.
[0095] The mobile robot 20 infers its own position on the floor map 121 using a speedometer or similar device. Then, the object detection unit 219 specifically identifies the positions of surrounding objects on the floor map 121 based on the distance and direction from its own position to the positions of surrounding objects. The object detection unit 219 determines whether surrounding objects have already been registered on the floor map 221. The distance and direction to the positions of surrounding objects can be obtained through measurements from the distance sensor group 24.
[0096] Furthermore, the object detection unit 219 can also specifically identify surrounding objects based on the sensing results of the distance sensor group 24 or the camera 25, etc. For example, when the distance sensor group 24 is a LiDAR, the surface shape of the surrounding objects can be measured. The object detection unit 219 can specifically identify surrounding objects based on the surface shape. For example, if the surrounding object is a person in the vicinity, the surface shape detected by the distance sensor group 24 is matched with the surface shape of the person. Alternatively, the object detection unit 219 can specifically identify surrounding objects based on the image captured by the camera 25. For example, if the surrounding object is a person in the vicinity, the image captured by the camera 25 is matched with a reference image of the person. Therefore, the object detection unit 219 can specifically identify the surrounding object as a person. In this way, by performing pattern matching processing on the detection results of various sensors, it is possible to specifically identify whether the surrounding object is a person or another mobile robot.
[0097] The storage unit 22 stores floor maps 221, robot control parameters 222, and transported object information 226. Figure 2 What is shown is a portion of the information stored in storage unit 22, which also includes Figure 2Information other than the floor map 221, robot control parameters 222, and transported item information 226 shown. The floor map 221 is map information of the facility through which the mobile robot 20 moves. This floor map 221 can be, for example, a map downloaded from the floor map 121 of the upper management device 10. Alternatively, the floor map 221 can be a pre-created map. Furthermore, the floor map 221 may not be map information of the entire facility, but rather map information of a specific area that is intended to be moved.
[0098] Robot control parameters 222 are parameters used to enable the mobile robot 20 to perform actions. For example, robot control parameters 222 include a distance threshold between the robot and surrounding objects. Furthermore, robot control parameters 222 include an upper limit value for the speed of the mobile robot 20.
[0099] The transported item information 226, like the transported item information 126, contains information related to the transported item. This includes information such as the item's contents (category), origin, and destination. The transported item information may also include information indicating the status of transport, such as during transport, before transport (before loading), or after transport. For transported item information 226, a correspondence is established between this information and each transported item. Transported item information 126 will be described later. Transported item information 226 only needs to contain information related to the transported item being transported by the mobile robot 20. Therefore, transported item information 226 is a part of transported item information 126. That is to say, transported item information 226 may not include transported item information for other items transported by the mobile robot 20.
[0100] The drive control unit 212 refers to the robot control parameters 222 and, based on the distance information obtained from the distance sensor group 24, determines if the distance is below a distance threshold, thereby stopping or slowing down the movement. The drive control unit 212 controls the drive unit 26 to travel at a speed below the speed limit. The drive control unit 212 limits the rotational speed of the drive wheels to prevent the mobile robot 20 from moving at a speed exceeding the speed limit.
[0101] Cost map 228 is a map representing the costs added by cost addition unit 218. Specifically, a correspondence is established between costs and their locations (addresses or coordinates) on floor map 221. As mentioned above, cost map 228 can be configured as a grid map storing costs in each grid cell. Cost map 228 is updated each time cost addition unit 218 calculates costs.
[0102] The costs shown in cost map 228 are sent to the upper management device 10 via communication unit 23. That is, communication unit 23 sends the costs added by cost addition unit 218 to the upper management device 10. Furthermore, communication unit 23 marks the ID of the mobile robot 20 with added costs on the costs and sends it to the upper management device 10. Thus, the cost addition unit 118 of the upper management device 10 can merge the costs added by multiple mobile robots 20.
[0103] (Structure of mobile robot 20)
[0104] Here, the appearance of the mobile robot 20 will be described. Figure 3 A schematic diagram showing the mobile robot 20. Figure 3 The mobile robot 20 shown is one example of what a mobile robot 20 can look like; it can also be in other forms. Additionally, in Figure 3 In the diagram, the x-direction represents the forward and backward directions of the mobile robot 20, the y-direction represents the left and right directions of the mobile robot 20, and the z-direction represents the height of the mobile robot 20.
[0105] The mobile robot 20 includes a main body 290 and a trolley section 260. The main body 290 is mounted on the trolley section 260. Both the main body 290 and the trolley section 260 have a cuboid-shaped housing, inside which various structural elements are housed. For example, a drive unit 26 is housed inside the trolley section 260.
[0106] The main body 290 includes a storage compartment 291 that serves as storage space and a door 292 that seals the storage compartment 291. The storage compartment 291 has multiple shelves, and the availability of each shelf is managed. For example, by installing various sensors such as weight sensors on each shelf, the availability status can be updated. The mobile robot 20 autonomously moves the items stored in the storage compartment 291 to the destination indicated by the upper management device 10. The main body 290 may also house a control box (not shown) inside a basket. Furthermore, the door 292 can be locked using an electronic key. When the destination is reached, the user U2 unlocks the door 292 using the electronic key. Alternatively, the door 292 may unlock automatically upon arrival at the destination.
[0107] like Figure 3As shown, the mobile robot 20 is equipped with a front-rear distance sensor 241 and a left-right distance sensor 242 as a distance sensor group 24 on its external surface. The mobile robot 20 uses the front-rear distance sensor 241 to measure the distance to surrounding objects in the front-back direction. Furthermore, the mobile robot 20 uses the left-right distance sensor 242 to measure the distance to surrounding objects in the left-right direction.
[0108] For example, front and rear distance sensors 241 are respectively disposed on the front and rear surfaces of the housing of the main body 290. Left and right distance sensors 242 are respectively disposed on the left and right sides of the housing of the main body 290. The front and rear distance sensors 241 and the left and right distance sensors 242 are, for example, ultrasonic distance sensors or laser rangefinders. The distance to surrounding objects is detected. If the distance to surrounding objects detected by the front and rear distance sensors 241 or the left and right distance sensors 242 is below a distance threshold, the mobile robot 20 will decelerate or stop.
[0109] The drive unit 26 includes a drive wheel 261 and casters 262. The drive wheel 261 is a wheel used to move the mobile robot 20 forward, backward, left, and right. The casters 262 are driven wheels that roll following the drive wheel 261 when no driving force is applied. The drive unit 26 has a drive motor (not shown) that drives the drive wheel 261.
[0110] For example, the drive unit 26 supports two drive wheels 261 and two casters 262, each grounded on the driving surface, within the housing. The two drive wheels 261 are configured such that their rotational axles coincide. Each drive wheel 261 is independently driven to rotate by a motor (not shown). The drive wheels 261 are driven by a motor... Figure 2 The caster 262 rotates according to the control command value of the drive control unit 212. The caster 262 is a driven wheel and is configured such that the rotation axis extending vertically from the drive unit 26 is separate from the rotation axis of the wheel and supports the wheel, and follows the movement direction of the drive unit 26.
[0111] For the mobile robot 20, for example, if the two drive wheels 261 rotate in the same direction at the same speed, it will move forward in a straight line; if they rotate in opposite directions at the same speed, it will rotate around a vertical axis passing approximately at the center of the two drive wheels 261. Furthermore, by rotating the two drive wheels 261 in the same direction but at different speeds, it can move forward while turning left or right. For example, by making the speed of the left drive wheel 261 higher than that of the right drive wheel 261, a right turn is possible. Conversely, by making the speed of the right drive wheel 261 higher than that of the left drive wheel 261, a left turn is possible. In other words, by controlling the rotation direction and speed of the two drive wheels 261 respectively, the mobile robot 20 can translate, rotate, and turn left or right in any direction.
[0112] Furthermore, in the mobile robot 20, a display unit 27 and an operation interface 281 are provided on the upper surface of the main body 290. The operation interface 281 is displayed on the display unit 27. By having a user touch the operation interface 281 displayed on the display unit 27, the operation receiving unit 28 can receive instructions from the user. In addition, an emergency stop button 282 is provided on the upper surface of the display unit 27. The emergency stop button 282 and the operation interface 281 function as the operation receiving unit 28.
[0113] Display unit 27 is, for example, an LCD panel, and uses illustrations to display a person's face, or presents information related to the mobile robot 20 in the form of text or icons. If a person's face is displayed on display unit 27, it can give observers the impression that display unit 27 is a simulated face. Display unit 27 and the like mounted on mobile robot 20 can also be used as a user terminal 400.
[0114] A camera 25 is mounted on the front surface of the main body 290. Here, the two cameras 25 function as stereo cameras. That is, the two cameras 25, having the same field of view, are arranged horizontally separated from each other. Images captured by each camera 25 are output as image data. Based on the image data from the two cameras 25, the distance to the object being photographed or the size of the object can be calculated. The processing unit 21 analyzes the images from the cameras 25, enabling it to detect people or obstacles in front of it in the direction of movement. When people or obstacles are in front of it in the direction of movement, the mobile robot 20 moves along the path while avoiding them. Furthermore, the image data from the cameras 25 is sent to the host management device 10.
[0115] 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.
[0116] 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).
[0117] 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.
[0118] 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.
[0119] For example, the ranging sensor 24A performs two-dimensional ranging by scanning the entire 360° centered on the mobile robot 20 in 1° increments. The sensing area SA is in the horizontal plane and can be either the entire 360° centered or a partial angular range. For example, a predetermined angular range centered on the direction of movement can be set as the sensing area SA. The ranging sensor 24A can also be used to infer its own position. For example, if there are walls around the mobile robot 20, information about the walls is stored in the floor map 221. When the ranging sensor 24A measures the distance to the wall, the processing unit 21 infers the current position of the mobile robot 20 by referring to the floor map 221. Furthermore, the ranging sensor 24A can also be used for detecting obstacles in the surrounding area.
[0120] The ranging sensor 24B is a three-dimensional lidar, and the sensing area (viewing angle range) SB becomes a three-dimensional region. For example, in the ranging sensor 24B, the emission direction of the measurement signal varies around the yaw axis and the pitch axis. By scanning the three-dimensional sensing area SB, the ranging sensor 24B can obtain point group data representing the three-dimensional shape of surrounding objects.
[0121] Distances to surrounding objects are measured using a range sensor 24B that performs three-dimensional measurements and a range sensor 24A that performs two-dimensional measurements. For example, the measurable distance (measurement range) of range sensor 24A is longer than that of range sensor 24B. In other words, range sensor 24A can measure distances at greater distances than range sensor 24B, which performs three-dimensional measurements. In this case, the measurement range can be set based on the intensity of the pulsed laser.
[0122] When a surrounding object not present on the floor plan 221 is detected using the ranging sensor 24A, the ranging sensor 24B measures the three-dimensional shape of that object. For example, when the ranging sensor 24A detects a moving surrounding object, the ranging sensor 24B measures the distance to that moving object with high precision. Thus, the three-dimensional surface shape up to the surrounding object can be measured with high precision.
[0123] For example, in Figure 4In this context, user UA exists as a surrounding object in front of mobile robot 20. Based on the measurement results of ranging sensor 24A, which can measure distances over long distances, object detection unit 219 detects user UA as a surrounding object. Since user UA is not registered on floor map 221, ranging sensor 24B will measure user UA if it approaches a position where it can perform distance measurement. The ranging sensor 24B is configured to include user UA within the sensing area SB, thereby performing the measurement. The ranging sensor 24B performs distance measurement with high precision by reducing the spacing of the scanning angle of the measurement signal. Then, the ranging sensor 24B measures the three-dimensional shape of the surrounding object's surface. This allows for the measurement of point data representing the three-dimensional shape of user UA.
[0124] In this manner, when the object detection unit 219 detects the presence of a surrounding object based on the measurement results of the ranging sensor 24A, the ranging sensor 24B performs three-dimensional measurement with the surrounding object as the center of the sensing area SB.
[0125] Furthermore, the object detection unit 219 can calculate the movement vectors of surrounding objects based on the measurement results of the ranging sensor 24B. When the surrounding object is a moving person or other mobile robot 20, the object detection unit 219 infers the movement vector of the person or mobile robot 20. The movement vector includes information about the movement speed and direction. For example, the movement vector of the surrounding object is inferred based on the change in distance from the mobile robot 20 to the surrounding object. The mobile robot 20 detects its current position. Then, the object detection unit 219 detects the positions of surrounding objects in the floor map 221 based on the distance and direction to the surrounding objects. Then, it calculates the movement vector based on the time changes in the positions of surrounding objects on the floor map 221.
[0126] exist Figure 4 In this process, since there are users (UAs) around the mobile robot 20, the object detection unit 219 detects the users (UAs) as surrounding objects. Furthermore, the users (UAs) are facility staff or users. As described above, the object detection unit 219 detects the position of the user (UA) on the floor map 221. Further, the ranging sensors 24A and 24B repeatedly take measurements. The object detection unit 219 infers the movement vector of the user (UA) by comparing its position on the floor map 221. Then, the cost addition unit 218 adds costs based on the movement vector of the user (UA).
[0127] Furthermore, the object detection unit 219 can also infer the center-of-gravity position of surrounding objects and infer the movement vector based on changes in the center-of-gravity position. For example, the object detection unit 219 calculates the center-of-gravity position of surrounding objects on the floor map 221 based on three-dimensional shape or point group data obtained by the distance 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 in the horizontal plane. For example, when the center-of-gravity position of a point in the point group data is the center-of-gravity position of a surrounding object, the object detection unit 219 can also calculate the movement vector based on changes in the center-of-gravity position of the surrounding objects. For example, the object detection unit 219 calculates the movement vector of surrounding objects by comparing the center-of-gravity position obtained based on the previous measurement result and the center-of-gravity position obtained based on the latest distance measurement result on the floor map. By adopting this method, the accuracy of inferring the movement speed and movement direction can be improved.
[0128] Figure 5 This is a diagram used to illustrate the user UAs around the mobile robot 20 and the costs added to the mobile robot 20A. Figure 5 The diagram illustrates a top view of a mobile robot 20 operating in channel H and its surroundings. Figure 5 In the top-down view shown, the mobile robot 20 is moving along a channel H in a vertical direction (e.g., a north-south direction). Walls W are located on the left and right sides of the channel H. That is, the channel H is formed between the left and right walls W. Figure 5 In this process, the mobile robot 20 moves along the channel H from bottom to top. Specifically, the mobile robot 20 moves along the path P1 planned in the route planning unit 115 within the channel H. Path P1 is a straight path that moves along the channel direction within the channel H.
[0129] exist Figure 5 In the middle, mobile robot 20 moves upwards. That is to say, Figure 5 The upward direction becomes the forward direction of the mobile robot 20, and the downward direction becomes the backward direction of the mobile robot 20. Furthermore, the mobile robot moves along the channel direction of channel H. Figure 5 The vertical direction is called the channel direction, and the horizontal direction is called the channel width direction. The dimension of the channel H in the channel direction is larger than the dimension of the channel H in the width direction. The channel direction and width direction can also be pre-registered on floor maps 221 and 121. That is to say, on floor maps 221 and 121, information indicating the channel direction and width direction can also be registered for each channel.
[0130] Here, in front of the mobile robot 20, the user UA and the mobile robot 20A move in channel H. Based on the ranging results of the ranging sensors 24A and 24B, the object detection unit 219 detects the user UA and the mobile robot 20A. Furthermore, the mobile robot 20 infers its own position on the floor map 221. Therefore, the object detection unit 219 can specifically designate the positions of the user UA and the mobile robot 20A on the floor map 221. The object detection unit 219 detects the positions of surrounding objects based on the ranging results of the ranging sensors. The positions of the surrounding objects detected by the object detection unit 219 are set as detection positions. The detection positions are the positions on the floor map 221. Here, the detection positions of the user UA and the mobile robot 20A are included in channel H.
[0131] The object detection unit 219 can also infer the movement vectors of the user UA and the mobile robot 20A. The movement vector represents the direction and speed of movement of surrounding objects. For example, the ranging sensors 24A and 24B repeatedly measure the distance to the user UA. That is, the ranging sensors 24A and 24B measure the distance and direction to the user UA using the mobile robot 20 as a reference. The object detection unit 219 considers the current position of the mobile robot 20 and specifically designates the position of the user UA on the floor map 221.
[0132] The object detection unit 219 infers the direction of movement by comparing the position of the user UA at the time of the last measurement with the position of the user UA at the time of the latest measurement. The object detection unit 219 calculates the distance between the positions of the user UA at the time of the last measurement and the position of the user UA at the time of the latest measurement. Then, it infers the movement speed of the user UA based on the measurement time interval of the ranging sensors 24A and 24B. For example, the measurement time interval can be determined based on factors such as the scanning cycle of the lidar and the size of the sensing area. Obviously, the inference of the movement vector is not limited to the above method. For example, the object detection unit 219 can also infer the movement vector by averaging the results of three or more measurements from the ranging sensors.
[0133] The object detection unit 219 calculates the movement vector of the user UA. That is, the object detection unit 219 calculates the movement vector of the user UA based on changes in the user UA's position on the floor map 221. Here, the user UA's movement vector represents the absolute speed and direction of movement of the user UA on the floor map 221. Similarly, the object detection unit 219 can also infer the movement vector of the mobile robot 20A.
[0134] The cost addition unit 218 adds costs to the floor map 221 based on the detected positions of surrounding objects. The cost addition unit 218 calculates the cost for each grid cell of the floor map 221. A setting area for which costs are added based on the position of user UA is designated as setting area C1, and a setting area for which costs are added based on the position of mobile robot 20A is designated as setting area C2. Setting area C1 is set in a manner that includes user UA and its surroundings. The cost addition unit 218 sets the setting areas on the floor map 221 based on the positions of surrounding objects on the floor map 221. Here, the cost addition unit 218 sets the setting area for each surrounding object.
[0135] Setting areas C1 and C2 are shaped with the channel direction as the long side. For example, setting area C1 is an ellipse with the channel direction as the long axis and the width direction as the short axis. Setting area C2 is a rectangle with a long side along the channel direction and a short side along the width direction. Setting area C1 is set in a way that includes the user UA and its surroundings. Setting area C2 is set in a way that includes the mobile robot 20A and its surroundings.
[0136] When a person is detected as a surrounding object, the designated area C1 becomes a fixed area set based on the detected position of this person. When a mobile robot is detected as a surrounding object, the designated area C2 becomes a fixed area set based on the detected position of this mobile robot 20A. Obviously, the designated area can also be a shape other than an ellipse or a rectangle.
[0137] For example, the object detection unit 219 specifically identifies surrounding objects based on point group data detected by the ranging sensor. The object detection unit 219 performs pattern matching on the point group data, thereby specifically identifying whether the surrounding object is a person or a mobile robot. In the cost addition unit 218, the size and planar shape are preset according to the type of the surrounding object. The cost addition unit 218 sets a setting area with the corresponding size and shape of the surrounding object at the detection position on the floor map 221. The cost addition unit 218 sets the setting area on the floor map 221 in a manner that includes the surrounding object.
[0138] The cost addition unit 218 adds costs to the grids contained in the designated areas C1 and C2. Here, a fixed cost value is added to the grids contained in the designated areas C1 and C2. Obviously, the cost value can also be different for each grid depending on the movement vector or position. For example, the faster the movement speed, the higher the added cost. Furthermore, the closer the location is to the user UA and the mobile robot 20A, the higher or lower the cost can be. The cost addition unit 218 can also determine the cost value based on the type of surrounding objects. The costs can also have a predetermined distribution within the designated areas C1 and C2.
[0139] The following section describes in detail the setting area C1 used to set costs for the user agent (UA). In this description, the forward and backward directions, as well as the left and right directions, are explained based on the movement direction of the mobile robot 20. For example, for the mobile robot 20, the forward direction is the forward movement direction of the mobile robot 20. Furthermore, the setting area C2 is omitted from the description as it can be defined from the same perspective as setting area C1.
[0140] Set the endpoint of the rear setting area C1 as endpoint E1, and the endpoint of the front setting area C1 as endpoint E3. Set the endpoint of the left setting area C1 as endpoint E2, and the endpoint of the right setting area C1 as endpoint E4. The setting area C1 is an ellipse passing through endpoints E1 to E4.
[0141] Let distance D1 be the distance from user UA to endpoint E1 in the forward / backward direction, and distance D3 be the distance from user UA to endpoint E3. In the channel direction, the point that is separated from surrounding objects by distance D1 is called endpoint E1. In the channel direction, the point that is separated from surrounding objects by distance D3 is called endpoint E3.
[0142] Distance D2 is defined as the distance from user UA to endpoint E2 in the left-right direction, and distance D4 is defined as the distance from user UA to endpoint E4. In the width direction, the point that separates from surrounding objects by distance D2 is defined as endpoint E2. Similarly, the point that separates from surrounding objects by distance D4 in the width direction is defined as endpoint E4. Distance D1 is greater than distances D2 through D4. In other words, endpoints E1 through E4 are defined such that distance D1 is the largest among distances D1 through D4 on the rear side of the channel direction.
[0143] Alternatively, while the surface positions of the surrounding objects are set as the starting points for distances D1 to D4, the center of gravity of the surrounding objects can also be set as the starting point. In this case, the starting points for distances D1 to D4 become a common starting point. Therefore, the sum of distances D1 and D3 becomes the size of the set area C1 in the channel direction. The sum of distances D2 and D4 becomes the size of the set area C1 in the width direction.
[0144] The size of the setting area C1 in the front-back direction is defined by the distance from endpoint E1 to endpoint E3 in the front-back direction. The size of the setting area C1 in the left-right direction is defined by the distance from endpoint E2 to endpoint E4 in the left-right direction. As mentioned above, the setting area C1 has the channel direction as its longer side. Therefore, the distance from endpoint E1 to endpoint E3 in the front-back direction is greater than the distance from endpoint E2 to endpoint E4 in the left-right direction.
[0145] The cost addition unit 218 sets a designated area based on the detected positions of surrounding objects and adds a cost to that designated area. By employing this method, the mobile robot 20 can move efficiently. For example, the mobile robot 20 moves along a path P2 that avoids designated areas C1 and C2. Therefore, the mobile robot 20 can move without slowing down its movement speed.
[0146] Typically, on channel H, the user UA or mobile robot 20A moves mostly along the channel direction. In other words, since the width is limited in channel H, movement in the width direction is less frequent. The cost addition unit 218 sets a setting area C1 such that the distance D1 to endpoint E1 is longer than the distances D2 and D3 to endpoints E2 and E3. Furthermore, the cost addition unit 218 adds a cost to this setting area C1.
[0147] By employing this method, the mobile robot 20 can move while avoiding the user UA and the mobile robot 20A's destination. Therefore, the mobile robot 20 can move along the channel H without slowing down or stopping. Even in the presence of moving surrounding objects, the mobile robot 20 can move efficiently within the channel H. Furthermore, it is preferable that the designated area C1 is shaped with the channel direction as its longer side and the width direction as its shorter side. More preferably, among distances D1 to D4, the distance D1 to the endpoint E1 on the rear side in the channel direction closest to the mobile robot 20 is the largest. This allows for the addition of a suitable designated area.
[0148] Furthermore, the cost addition unit 218 calculates the cost based on the detection position obtained for each ranging measurement and performs addition operations sequentially. Since the detection position of surrounding objects changes with each ranging measurement when they are moving, the positions of the set areas C1 and C2 also change with each ranging measurement. The cost is updated based on the measurement results of the ranging sensors 24A and 24B. The cost is added within the grids contained in the set areas C1 and C2. That is, the cost increases within the grids of the set areas C1 and C2. Additionally, a fixed value is subtracted from the cost of all grids for each measurement. Therefore, the cost decreases over time in grids not contained in the set areas C1 and C2. In other words, the cost decreases for each ranging measurement in the grids outside the set areas C1 and C2. The added or subtracted cost is determined based on the cost setting range, measurement time interval, movement vector, etc. In this way, the cost addition unit 218 adds costs for each measurement, thereby updating the cost map at any time.
[0149] Furthermore, the mobile robot 20 moves according to the cost map 228. The mobile robot 20 moves along a path P2 from the grid of lower costs. Figure 5 In this process, due to the increased costs surrounding user UA and mobile robot 20A, mobile robot 20 will move along path P2, avoiding the movement directions of user UA and mobile robot 20B. For example, path P2 is set to pass through a grid on the cost map where the cost is below a predetermined value. Path P2 is set to pass between designated area C1 and designated area C2. Mobile robot 20 reflects the cost map 228 in the path plan.
[0150] By employing this method, the mobile robot 20 can move efficiently. The mobile robot 20 can predict the user UA and the mobile robot 20A's destination, thereby planning its path. In other words, since it can move along a path P2 that avoids the user UA's destination, it can move without slowing down its speed. This shortens the travel time to the destination. In mobile robots 20 used in human-occupied environments, it is desirable to move while avoiding people. Increasing the movement speed is difficult to achieve in a way that avoids people. By setting a defined area and updating the cost as in this embodiment, the location of people can be predicted. Therefore, the mobile robot 20 can move efficiently.
[0151] The processing unit 21 controls the movement in a manner that updates the cost based on the measurement results from the ranging sensors 24A and 24B. For example, the processing unit 21 can simply replan the path based on the cost map 228. That is, the mobile robot 20 implements path planning by passing through grids with lower costs on the moving path. In the grids included in path P1, when the cost exceeds a predetermined value, the processing unit 21 corrects the straight-line path P1, thereby setting a new path P2.
[0152] In addition, Figure 5 In this design, a wall cost region CW is defined near wall W. The wall cost region CW is the area within a predetermined distance of wall W and is configured along wall W. The cost of the wall cost region CW is a fixed value. That is, a fixed wall cost is set within the wall cost region CW. In this case, the cost near wall W does not change over time. In other words, even if the measurement results of the ranging sensor are updated, the cost of the wall cost region CW remains fixed. Therefore, it is planned that the mobile robot 20 will not traverse paths such as those through wall W. In this way, by constantly adding a cost to the grid near wall W, collisions and approaching wall W can be prevented. Therefore, movement can be performed more efficiently. For example, the aforementioned distance threshold can be set to a larger value.
[0153] Alternatively, multiple mobile robots 20 can add costs to the floor plan 221. In other words, each mobile robot 20 adds costs based on the measurement results from the ranging sensors 24A and 24B installed on it.
[0154] Furthermore, multiple mobile robots 20 can share a floor plan or a cost map. For example, even in areas that are blind spots for the ranging sensors 24A and 24B of mobile robot 20, the ranging sensors of other mobile robots 20 can still perform measurements. Therefore, other mobile robots can add costs to the blind spots. The mobile robots 20 send their respective cost maps to the host management device 10.
[0155] Then, the host management device 10 adds the costs of the cost maps 228 of the multiple mobile robots 20 to generate a shared cost map 128. The host management device 10 sends the costs of the shared cost map 128 to each mobile robot 20. In this case, the cost of only a portion of the cost map 128 can also be sent. That is, the host management device 10 sends the cost of the area that becomes a blind spot in front of the mobile robot 20's direction of movement to the mobile robot 20. By adopting this method, costs can be added even for blind spots of the ranging sensors 24A and 24B of the mobile robot 20. Therefore, since the mobile robot 20 can predict the situation in the blind spots, it can plan a more efficient path of movement.
[0156] In addition, although Figure 5 The example described uses the user UA, i.e., a person, as the surrounding object. However, the surrounding object is not limited to a person; it can also be other mobile robots 20A. Alternatively, the surrounding object can be a transport cart or a wheelchair, etc. When there are moving surrounding objects (people or mobile robots, etc.) around the mobile robot 20, the mobile robot 20 moves based on the cost added to that designated area.
[0157] Furthermore, in this embodiment, a distance measuring sensor 24A performing two-dimensional measurement and a distance measuring sensor 24B performing three-dimensional measurement are used to measure the distance to surrounding objects. Moreover, the measurable distance (measuring range) of the distance measuring sensor 24A performing two-dimensional measurement is longer than that of the distance measuring sensor 24B. In other words, the distance measuring sensor 24A can measure distances at greater distances compared to the distance measuring sensor 24B performing three-dimensional measurement. By employing this method, the accuracy of inferring the movement vector of surrounding objects can be improved.
[0158] Furthermore, the center of gravity position of surrounding objects can be inferred based on the measurement results of the ranging sensor 24B. Moreover, the object detection unit 219 can calculate the movement vector based on the time-varying center of gravity position of surrounding objects. By employing this method, the accuracy of inferring movement speed and direction can be improved. Floor maps or cost maps can also be shared. For example, even in areas that are blind spots for the ranging sensors 24A and 24B of the mobile robot 20, the ranging sensors of other mobile robots 20 can still perform measurements. Therefore, other mobile robots can add costs to the blind spots. The mobile robots 20 send their respective cost maps to the host management device 10.
[0159] Furthermore, the cost addition unit 218 can also add costs based on the moving direction or speed of surrounding objects. For example, the object detection unit 219 infers that user UA is moving towards the mobile robot 20 in channel H. In other words, user UA is moving towards... Figure 5 The robot moves downwards. In this case, the distance D3 to the endpoint E3 on the rear side of the movement direction is less than the distance D1. That is, on the side farther from the mobile robot 20, the possibility of interference with surrounding objects is lower, so the distance D3 is shortened to reduce the set area C1. Alternatively, the endpoint E3 can also be set such that the distance D3 is less than the distances D2 and D4.
[0160] Furthermore, the cost-adding unit 218 can also change the size of the set area according to the moving speed of surrounding objects. For example, the greater the moving speed of surrounding objects, the larger the set area set by the cost-adding unit 218. In addition, the cost-adding unit 218 can also deform or rotate the set area according to the direction of movement. For example, the set area can be set so that the long side of the set area is parallel to the direction of movement.
[0161] use Figure 6 The control method involved in this embodiment will be described below. Figure 6 The flowchart below illustrates the control method. First, ranging sensors 24A and 24B perform two-dimensional and three-dimensional ranging (S11, S21). Then, the object detection unit 219 extracts point sets of surrounding objects (S12). This allows the acquisition of point set data representing the three-dimensional shape of the surrounding objects.
[0162] Next, the object detection unit 219 detects the positions of surrounding objects (S13). Here, the object detection unit 219 detects the positions of surrounding objects on the floor map 221. Additionally, the object detection unit 219 can calculate a movement vector based on changes in the positions of surrounding objects. Then, the cost addition unit 218 projects the set area set at the detection position onto the two-dimensional floor map 221 (S14). Here, the positions of surrounding objects, etc., are projected onto the floor map 221.
[0163] The cost addition unit 218 determines whether the detected position of a surrounding object is a passage on the floor map 221. For example, information indicating the position or range of a passage is registered on the floor map 221. If the detected position of a surrounding object is on a passage, the cost addition unit 218 sets a setting area passing through the aforementioned endpoints E1 to E4. For example, an elliptical or rectangular setting area is set within the passage. The cost addition unit 218 predicts the passage direction as the movement direction of the surrounding object and sets a setting area whose dimension in the passage direction is greater than its dimension in the width direction. If the detected position of a surrounding object is not on a passage, the cost addition unit 218 extracts an isotropic setting area. For example, a circular or square setting area is set outside the passage. In addition, the object detection unit 219 can also determine the movement speed or movement direction of the surrounding object. The cost addition unit 218 can also change the size or shape of the setting area according to the movement speed or movement direction.
[0164] On the floor plan 221, information indicating whether a location is a passageway is recorded at each position (coordinate). Therefore, the cost addition unit 218 can determine whether the detected location of surrounding objects is a passageway. For example, in places other than passageways, such as waiting rooms or elevator lobbies, since the direction of human movement cannot be predicted, the cost addition unit 218 sets a circular setting area. In addition, the object detection unit 219 can also calculate the moving speed or moving direction of surrounding objects. The cost addition unit 218 can also change the size or shape of the setting area according to the moving speed or moving direction.
[0165] The cost addition unit 218 generates a two-dimensional cost map 228 (S15) by adding costs to a set area. Here, the inferred self-position is used based on the two-dimensional ranging result of the ranging sensor 24A. That is, the calculation processing unit 21 can achieve high-precision self-position inference by comparing the ranging result of the ranging sensor 24A with the floor map 221. Then, the cost addition unit 218 projects the costs of surrounding objects onto the map based on the inferred self-position. In other words, the cost map is projected onto the map compared with the two-dimensional ranging result.
[0166] Then, the processing unit 21 modifies the path plan based on the cost map (S16). For example, if the original path passes through a place where the cost exceeds a predetermined value, the path is changed. That is, the path is modified by detouring through places with higher costs. As a result, efficient movement is achieved. Furthermore, by formulating a movement plan based on the ranging results of the ranging sensors 24A and 24B, even more efficient movement is achieved. Then, the mobile robot 20 moves along the modified path.
[0167] Figure 7 "For" represents an example diagram of a defined region. Figure 7 This is a map representing the three-way intersection of channels H1 and H2. Channel H1 uses the vertical direction as its channel direction, and channel H2 uses the horizontal direction. The mobile robot 20 moves from bottom to top in channel H1. Although channels H1 and H2 are orthogonal, they can also be non-orthogonal. That is, channels H1 and H2 only need not be parallel; they can intersect at any angle.
[0168] A user UB is located in front of the mobile robot 20. The user UB is situated at the intersection of channels H1 and H2. In this case, the cost addition unit 218 sets setting regions C3a and C3b based on the detection position of the user UB. Setting region C3a, like setting region C1, is an ellipse with the longitudinal direction as its long side (major axis direction). Setting region C3b is such that the channel direction of channel H2 (… Figure 7 The left and right directions of the region are elliptical with the long side (major axis) as the direction. Therefore, the long side of the set region C3a is orthogonal to the long side of the set region C3b.
[0169] In this way, the setting area can be expanded according to the extension direction of the channel near the intersection. Specifically, since channel H2 extends to the right from channel H1, the distance of the setting area C3b from user UB to the rightward endpoint becomes longer. By adopting this method, the cost addition unit 218 can add costs more appropriately. That is, the user UB is more likely to move not only in the forward and backward direction, but also in the rightward direction. Therefore, the cost addition unit 218 adds costs to the setting area C3b extending to the right.
[0170] In other words, when the channel H1 extending in the direction of travel of the mobile robot 20 merges with the channel H2 extending in the left and right directions, a cost is added to the set area C3b extending in the left and right directions. That is, the cost addition unit 218 adds a cost to the mesh contained in the set area C3a or the set area C3b. By adopting this method, the mobile robot 20 can move more appropriately.
[0171] For example, although in Figure 7The system initially sets a path P1 that travels on the right side of channel H1, but mobile robot 20 remaps path P1 to path P2 based on the cost map. The remapped path P2 passes through the left side of user UB. In other words, mobile robot 20 moves along path P2, which passes between user UB and the left wall W1. Since user UB may move to the right, mobile robot 20 passes through the left side of user UB and advances on channel H1. Thus, mobile robot 20 can move without reducing its speed.
[0172] For example, floor maps 221 and 121 record information indicating intersections such as three-way intersections, four-way intersections (crossroads), and five-way intersections. Floor maps 221 and 121 also contain location information indicating the location of these intersections. Furthermore, floor maps 221 and 121 record the direction of each passageway at each intersection. For example, in... Figure 7 The registration includes information indicating that, with the center of the intersection as the reference point, lane H1 extends in a north-south direction, and lane H2 extends in an east-west direction. Clearly, the angle between the two lane directions is not limited to 90 degrees.
[0173] The cost addition unit 218 refers to the floor map 221 to determine whether the detected positions of surrounding objects are included in the intersection. If the detected position is within the intersection, the cost addition unit 218 sets a predetermined area extending in each direction of the passage. Then, the cost addition unit 218 adds a cost to the predetermined area. By adopting this method, the cost addition unit 218 can add an appropriate cost. The mobile robot 20 moves with reference to the cost map 228 based on the updated cost. By adopting this method, the mobile robot 20 can move without reducing its speed even around intersections. Therefore, it can move efficiently.
[0174] Furthermore, although cost was used as limiting information to restrict the movement of the mobile robot 20 in the above description, the limiting information is not limited to cost. For example, the upper limit speed of the mobile robot 20 can be used as limiting information. That is, when entering a designated area, the robot control system can also control the mobile robot 20 by slowing down the upper limit speed. For example, suppose that the upper limit speed (limited speed) is 5 km / h in areas outside the designated area, and 2 km / h in the designated area. When the mobile robot 20 enters the designated area surrounding surrounding objects, the control system slows down the speed from 5 km / h to 2 km / h.
[0175] By employing this method, the mobile robot 20 can move without contacting surrounding objects. Furthermore, in areas outside the vicinity of surrounding objects, the mobile robot 20 can move at high speeds because a higher upper speed limit can be set. Therefore, the mobile robot 20 can move efficiently.
[0176] Alternatively, the limiting information is not limited to information indicating the upper speed limit; it can also be information used for temporary stopping. That is, upon entering a designated area, the robot control system causes the mobile robot to temporarily stop. Furthermore, it is also possible to move after a temporary stop. In this case, because low-speed movement is possible, movement is safer.
[0177] The control method involved in this embodiment can be implemented by the mobile robot 20 alone or by the host management device 10. Furthermore, the mobile robot 20 and the host management device 10 can also jointly execute the robot control method. That is, the robot control system involved in this embodiment can also be mounted within the mobile robot 20. Alternatively, at least part or all of the robot control system can be mounted on a device other than the mobile robot 20, such as the host management device 10.
[0178] Furthermore, some or all of the processing in the aforementioned upper-level management device 10 or mobile robot 20 can be implemented as a computer program.
[0179] Furthermore, the program can be stored and provided to a computer using various types of non-transitory computer-readable media. Non-transitory computer-readable media include various types of physical storage media. Examples of non-transitory computer-readable media include magnetic recording media (e.g., floppy disks, magnetic tapes, hard disk drives, etc.), optical-magnetic storage media (e.g., magneto-optical disks), CD-ROMs (compact disc read-only memory), CD-Rs (compact disc recordable), CD-R / Ws (compact disc rewritable), and semiconductor memories (e.g., mask ROMs, PROMs (programmable ROMs), EPROMs (erasable PROMs), flash memory, RAMs (random access memory), etc.). The program can also be provided to a computer using various transient computer-readable media. Examples of transient computer-readable media include electrical signals, optical signals, and electromagnetic waves. Transient computer-readable media can provide the program to a computer via wired communication lines (e.g., electrical wires and optical fibers) or wireless communication lines.
[0180] Furthermore, the present invention is not limited to the embodiments described above, and appropriate modifications can be made without departing from the spirit of the invention. For example, although the above embodiments describe a system for autonomous movement of a transport robot within a hospital, the same system can also be used to transport predetermined items as cargo in hotels, restaurants, office buildings, event venues, or complexes.
[0181] It will be apparent from this description that embodiments of the present disclosure can be modified in a variety of ways. Clearly, such modifications should not be considered as departing from the spirit and scope of this disclosure, and all such modifications should be included within the scope of the appended claims for those skilled in the art.
Claims
1. A robot control system for controlling a mobile robot that autonomously moves in a first channel direction within a first channel included in a reference map, wherein the control is performed in the following manner: Repeatedly obtain the distance to surrounding objects as measured by the range sensor. The detection locations of the surrounding objects on the map are specifically designated based on the distance from the mobile robot's position to the surrounding objects. A first defined area is set such that it includes the detection position on the map. A first endpoint is defined as a position in the first channel direction that is separated from the detection position by a first distance, and a second endpoint is defined as a position in the first width direction of the first channel that is separated from the detection position by a second distance shorter than the first distance. Costs are added to the first designated area on the map as constraint information to limit the movement of the mobile robot. Move along the route according to the aforementioned restriction information. The dimension of the first channel direction in the first defined area is greater than the dimension in the first width direction. The cost is set for each grid on the map based on the measurement results from the ranging sensor. Based on the change in distance to the surrounding objects, the movement direction of the surrounding objects in the first channel direction is inferred. The following settings are defined: the first endpoint is a point on the front side of the movement direction that is separated from the position of the surrounding object by a first distance; the third endpoint is a point on the rear side of the movement direction that is separated from the position of the surrounding object by a third distance shorter than the first distance. The map includes a second channel in a direction different from the first channel. The intersection of the first lane and the second lane is registered on the map. When the detection location is at the intersection, a second defined area is set based on the detection location. The dimension of the second channel direction of the second defined region is greater than the dimension of the second width direction. Add costs to the second designated area on the map. The first and second defined areas are fixed areas defined based on the detection position. The dimensions and planar shapes of the first and second defined areas are set according to the types of surrounding objects. When the detection location is specifically designated, the cost is updated in such a way that the cost increases within the first or second designated area and decreases outside the first or second designated area.
2. The robot control system as described in claim 1, wherein, The ranging sensor includes a three-dimensional ranging sensor and a two-dimensional ranging sensor that can measure distances at greater distances than the three-dimensional ranging sensor.
3. The robot control system as described in claim 1, wherein, The surrounding objects refer to people or other mobile robots located around the mobile robot.
4. A robot control method for controlling a mobile robot that autonomously moves in a first channel direction within a first channel included in a reference map, wherein the control is performed in the following manner: Repeatedly obtain the distance to surrounding objects as measured by the range sensor. The detection locations of the surrounding objects on the map are specifically designated based on the distance from the mobile robot's position to the surrounding objects. A first defined area is set such that it includes the detection position on the map. A first endpoint is defined as a position in the first channel direction that is separated from the detection position by a first distance, and a second endpoint is defined as a position in the first width direction of the first channel that is separated from the detection position by a second distance shorter than the first distance. Costs are added to the first designated area on the map as constraint information to limit the movement of the mobile robot. Move along the route according to the aforementioned restriction information. The dimension of the first channel direction in the first defined area is greater than the dimension in the first width direction. The cost is set for each grid on the map based on the measurement results from the ranging sensor. Based on the change in distance to the surrounding objects, the movement direction of the surrounding objects in the first channel direction is inferred. The following settings are defined: the first endpoint is a point on the front side of the movement direction that is separated from the position of the surrounding object by a first distance; the third endpoint is a point on the rear side of the movement direction that is separated from the position of the surrounding object by a third distance shorter than the first distance. The map includes a second channel in a direction different from the first channel. The intersection of the first lane and the second lane is registered on the map. When the detection location is at the intersection, a second defined area is set based on the detection location. The dimension of the second channel direction of the second defined region is greater than the dimension of the second width direction. Add costs to the second designated area on the map. The first and second defined areas are fixed areas defined based on the detection position. The dimensions and planar shapes of the first and second defined areas are set according to the types of surrounding objects. When the detection location is specifically designated, the cost is updated in such a way that the cost increases within the first or second designated area and decreases outside the first or second designated area.
5. The robot control method as described in claim 4, wherein, The ranging sensor includes a three-dimensional ranging sensor and a two-dimensional ranging sensor that can measure distances at greater distances than the three-dimensional ranging sensor.
6. The robot control method as described in claim 4, wherein, The surrounding objects refer to people or other mobile robots located around the mobile robot.
7. A computer-readable medium storing a program for a robot control method that causes a computer to execute a robot control method for controlling a mobile robot to autonomously move in a first channel direction within a first channel included in a reference map, wherein... The robot control method controls the robot in the following manner: Repeatedly obtain the distance to surrounding objects as measured by the range sensor. The detection locations of the surrounding objects on the map are specifically designated based on the distance from the mobile robot's position to the surrounding objects. A first defined area is set such that it includes the detection location on the map. A first endpoint is defined as a location in the first channel direction that is separated from the detection location by a first distance, and a second endpoint is defined as a location in the first width direction of the first channel that is separated from the detection location by a second distance shorter than the first distance. Costs are added to the first designated area on the map as constraint information to limit the movement of the mobile robot. Move along the route according to the aforementioned restriction information. The dimension of the first channel direction in the first defined area is greater than the dimension in the first width direction. The cost is set for each grid on the map based on the measurement results from the ranging sensor. Based on the change in distance to the surrounding objects, the movement direction of the surrounding objects in the first channel direction is inferred. The following settings are defined: the first endpoint is a point on the front side of the movement direction that is separated from the position of the surrounding object by a first distance; the third endpoint is a point on the rear side of the movement direction that is separated from the position of the surrounding object by a third distance shorter than the first distance. The map includes a second channel in a direction different from the first channel. The intersection of the first lane and the second lane is registered on the map. When the detection location is at the intersection, a second defined area is set based on the detection location. The dimension of the second channel direction of the second defined region is greater than the dimension of the second width direction. Add costs to the second designated area on the map. The first and second defined areas are fixed areas defined based on the detection position. The dimensions and planar shapes of the first and second defined areas are set according to the types of surrounding objects. When the detection location is specifically designated, the cost is updated in such a way that the cost increases within the first or second designated area and decreases outside the first or second designated area.
8. The computer-readable medium of claim 7, wherein, The ranging sensor includes a three-dimensional ranging sensor and a two-dimensional ranging sensor that can measure distances at greater distances than the three-dimensional ranging sensor.
9. The computer-readable medium of claim 7, wherein, The surrounding objects refer to people or other mobile robots located around 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
Motor driving device, clock device, and method for driving motor
JP2013200216A
Vehicular control apparatus
JP2021172153A
Autonomous mobile device, and control device and program product for the autonomous mobile device
US20090043440A1