robot
By loading map information at elevator landings and strategically switching during stops, the robot efficiently navigates between floors, reducing waiting times and memory requirements.
Patent Information
- Application Number
- JP2021092691
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-06-02
- Publication Date
- 2024-12-10
- Estimated Expiration
- 2041-06-02
AI Technical Summary
Robots moving within buildings face inefficiencies due to the need to stop and wait during map information switching, which is time-consuming and memory-intensive, especially when transitioning between floors using elevators.
The solution involves loading divided map information near elevator landings onto memory before movement, estimating travel and waiting times, and strategically switching map information during predetermined stops to avoid running delays.
This approach allows robots to seamlessly transition between floors without unnecessary waiting, optimizing movement by minimizing stop times during map information switching.
Smart Images

Figure 0007597650000001 
Figure 0007597650000002 
Figure 0007597650000003
Abstract
Description
[Technical field]
[0001] The present invention relates to a robot capable of moving autonomously, and more particularly to a robot that moves autonomously based on map information. [Background technology]
[0002] An autonomously mobile robot is configured to collect information about the surrounding environment using sensors (cameras, etc.) mounted on the robot, and to estimate the robot's current position and travel route in order to move.
[0003] GPS signals are generally used to estimate the current location of a robot, but for robots used inside buildings, the detection accuracy of GPS signals may not be sufficient, making it difficult to estimate the exact location. For this reason, it has been proposed to compare (match) objects captured in images captured by sensors installed in the robot, such as cameras, with objects stored in a map (map), and estimate the current location from the recognition results.
[0004] The accuracy of this current location estimation depends on, for example, the accuracy and amount of collected image information of the surroundings. If a large amount of image information is collected, the current location can be estimated with high accuracy, but a large amount of map information is also required for comparison. In particular, guide robots used in buildings need a large amount of map information because they move between multiple floors using elevators.
[0005] Therefore, the robot's control device requires a large capacity memory (RAM) to transfer and temporarily store map information for estimating the current position from an external storage device such as a hard disk drive. Also, processing time is required to handle a large amount of map information. This causes problems with the robot's travel control, which is undesirable in terms of operating and managing the robot.
[0006] In response to such a problem, for example, JP 2017-21570 A (Patent Document 1) discloses the following: An external storage device stores divided map information divided into multiple pieces, and multi-floor map information formed by combining divided map information for two or more floors into one is read from the external storage device and written to a main memory (e.g., RAM). A travel route generating unit then refers to the multi-floor map information stored in the main memory to generate a travel route for the robot to a preset destination.
[0007] This means that even if the robot moves to another floor, it does not need to read a lot of map information from the external storage device, and because the map information is divided, it is possible to reduce the waiting time associated with writing (loading) to the main memory. This allows the robot to move to another floor smoothly. [Prior art documents] [Patent documents]
[0008] [Patent Document 1] JP 2017-21570 A Summary of the Invention [Problem to be solved by the invention]
[0009] In such a robot, in order to determine a travel route, a calculation means (CPU) reads out divided map information from a main memory and executes a current position estimation calculation by referring to the read out divided map information. Then, as the robot travels, the current divided map information is replaced with new divided map information, the switched divided map information is read out again, and the current position estimation calculation is executed successively by referring to the read out map information.
[0010] However, it takes a certain amount of time (hereinafter sometimes referred to as map switching time) to read out the divided map information from the main memory and estimate the current position. Therefore, during the map switching time during which the divided map information is switched and re-read in accordance with the movement of the robot to estimate the current position, in order to ensure safety, it is necessary to stop the robot from moving and estimate the current position by referring to the divided map information. Note that the more map information there is, the longer this stopping time tends to become.
[0011] In this way, when switching between divided map information to estimate the current position as the robot moves, the moving robot must be stopped, which creates unnecessary waiting time. Furthermore, the robot is not necessarily equipped with a memory capacity large enough to store a large amount of map information, and there is also a demand to keep the memory capacity of the main memory as small as possible.
[0012] The main object of the present invention is to provide a robot that, when moving toward a destination, can reduce the unnecessary waiting time that would occur when the robot is forced to stop while moving in order to estimate its current position when switching divided map information. [Means for solving the problem]
[0013] The present invention is characterized by: In a case where a user moves to a destination across a plurality of floors determined by the control means using an elevator, the control means a lift area map information loading means for loading at least divided map information in the vicinity of the boarding floor elevator hall and divided map information in the vicinity of the destination floor elevator hall into a memory before the robot moves toward the boarding floor elevator hall; a navigation means for determining a route from a current position to a destination using divided map information of the vicinity of the elevator platform of a boarding floor and divided map information of the vicinity of the elevator platform of a destination floor stored in a memory; a travel time estimation means for estimating a travel time to a predetermined stopping point where the robot intentionally stops on a travel route from an elevator hall at a boarding floor to an elevator hall at a destination floor; a map switching time estimation means for calculating a map switching time required for reading out the divided map information in the vicinity of the destination floor elevator hall and estimating a current position when switching from the divided map information in the vicinity of the boarding floor elevator hall to the divided map information in the vicinity of the destination floor elevator hall; A map information switching means is provided for determining the relationship between the travel time and the map switching time, and for determining the stopping point for switching from the divided map information in the vicinity of the elevator platform of the boarding floor to the divided map information in the vicinity of the elevator platform of the destination floor. It is located there. Effect of the Invention
[0014] According to the present invention, in a robot moving toward a destination, the robot is not stopped while moving when the divided map information is switched, thereby reducing the occurrence of unnecessary waiting time for estimating the current position by referring to the divided map information. [Brief description of the drawings]
[0015] [Figure 1] 1 is a configuration diagram showing a configuration of a robot to which the present invention is applied; [Figure 2A] 10 is a flowchart illustrating the first half of a procedure for switching divided map information according to an embodiment of the present invention. [Figure 2B] 10 is a flowchart illustrating the latter half of the procedure of the process of switching divided map information according to the embodiment of the present invention. [Figure 3A] 2C is a flowchart illustrating a switching process procedure of the switching process A in FIG. 2B. [Figure 3B] 2C is a flowchart illustrating a switching process procedure of the switching process B in FIG. 2B. [Figure 3C] 2C is a flowchart illustrating a switching process procedure of the switching process C in FIG. 2B. [Figure 4]FIG. 11 is an explanatory diagram illustrating the relationship between map size and map switching time. [Diagram 5] FIG. 13 is an explanatory diagram illustrating the operation from arriving in front of the elevator at the boarding floor to disembarking from the elevator at the destination floor. [Figure 6] FIG. 11 is an explanatory diagram illustrating a process for detecting the entrance of an elevator hall. [Figure 7] FIG. 11 is an explanatory diagram for explaining a result of detection of an opening; [Figure 8] FIG. 4 is an explanatory diagram illustrating the operation of the embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0016] The embodiments of the present invention will be described in detail with reference to the drawings. However, the present invention is not limited to the following embodiments, and various modifications and application examples within the technical concept of the present invention are also included within its scope.
[0017] 1 shows the configuration of an autonomously mobile robot 10 to which the present invention is applied. This robot 10 is configured to drive at least two of its four wheels, namely, drive wheels 11, and to determine the direction of travel with the remaining two steering wheels 12.
[0018] The signal receiving unit 13 provided in the robot 10 receives various signals (sensor signals, etc.) from the outside. 13 For example, a GPS signal that estimates the current position in absolute world coordinates is input to the signal receiving unit 13. The signal receiving unit 13 may also have a function of receiving map information from an external server.
[0019] Furthermore, the signal reception section 13 The signal receiving unit may receive an RTK-GPS signal that estimates the current position more accurately than a GPS signal. It may also receive a signal from a quasi-zenith satellite, a signal from a wireless beacon fixed at a known position, a signal from a sensor that estimates the position in relative coordinates such as a wheel encoder, an IMU, or a gyroscope, or a shape information signal such as the shape, size, and height of an object in the driving environment. 13The input is not particularly limited as long as it can be ultimately used to estimate, control, and recognize the current position of the robot 10.
[0020] The sensor 14 is, for example, a still camera or a video camera. The camera 14 may also be a monocular camera or a compound eye camera. The camera 14 may also be a laser sensor such as a lidar. In short, there is no particular limitation as long as it can ultimately extract information on the shapes of objects (pillars, walls, fixtures, etc.) on the travel route. In the following, the sensor 14 will be described as a camera.
[0021] The camera 14a is installed, for example, in front of the robot 10, and the shooting direction of the camera 14a is in front of the robot 10. Therefore, the camera 14a can obtain, for example, a captured image of a distant view in front of the robot 10. The other cameras 14b...14n are installed in positions different from the camera 14a, and capture images in a shooting direction or in a shooting area different from that of the camera 14a. The sensor 14b may be installed, for example, facing downward behind the robot 10, and the camera 14b may obtain a captured image of a close view behind the robot 10. Here, the captured image has a function as image information.
[0022] If the camera 14 is a monocular camera, and the floor surface is flat, the pixel position on the image and the actual ground position relationship (x, y) are constant, so the distance from the camera 14 to the feature point can be calculated geometrically. If the floor surface is not flat, the distance to the feature point can be estimated based on the movement amount of the feature point on the image over time and the movement amount of the robot 10.
[0023] Furthermore, if the camera 14 is a stereo camera, the distance to feature points on the image can be measured geometrically with precision. Furthermore, if a laser sensor is used, more precise shape information can be obtained from a distance. In the following explanation, examples using cameras and lasers will be described, but other cameras (such as cameras with wide-angle lenses or TOF cameras) can also be used as long as the distance to surrounding objects can be calculated.
[0024] Furthermore, the objects captured by the cameras 14a to 14n at a certain time may be different from each other. For example, the camera 14a captures a distant image in front of the robot 10, and in this case, the captured image of the distant view may be configured to extract features such as objects with three-dimensional shapes or landmarks for position estimation. Furthermore, the camera 14b may capture close-up information such as the floor surface around the robot 10.
[0025] Furthermore, the cameras 14a to 14n may be installed on the robot 10 under conditions that are not affected by environmental disturbances such as rain or sunlight. For example, the camera 14a may be installed in front of the robot 10 facing forward, whereas the camera 14b may be installed behind the robot 10 facing backward or downward.
[0026] As a result, for example, even if raindrops adhere to the lens of camera 14a during rainfall, raindrops are unlikely to adhere to the lens of camera 14b, which faces in the opposite direction to the direction of travel or downward. Therefore, even if the image captured by camera 14a is unclear due to the influence of raindrops, the image captured by camera 14b is unlikely to be affected by raindrops. Or, even if the image captured by camera 14a is unclear due to the influence of sunlight, the image captured by camera 14b is clear.
[0027] Furthermore, the captured images of the cameras 14a, 14b, . . . , 14n may be captured under different capture conditions (aperture value, white balance, cycle, etc.). For example, by mounting a camera with parameters adjusted for bright places and a camera with parameters adjusted for dark places, it is possible to obtain good captured images regardless of the brightness of the shooting space.
[0028] The control unit CU includes a control processing unit 15, a volatile memory (RAM) 17, a display control unit 18, etc. Map information is sent to the control unit CU from an external storage device 16, which may be a hard disk device or a flash memory.
[0029] Camera 14a, camera 14b, ... camera 14n acquire captured images when they receive a command to start acquiring captured images from control processing unit 15 constituting control unit CU, or at regular time intervals. Data of the acquired captured images and the acquisition time, etc. are stored in volatile memory (RAM) 17. Furthermore, map information for drawing a map and estimating the current position is written from external storage device 16 to volatile memory (RAM) 17.
[0030] Also, different control tasks may be executed using the captured images acquired by the cameras 14a, 14b, 14n. For example, the position of the robot 10 may be estimated based on the information of the captured images acquired by the cameras 14a and 14b, and obstacle detection may be performed by the cameras 14c and 14d, and finally, the robot 10 may be controlled by the control processing unit 15 based on the information of the captured images acquired by the respective cameras 14a, 14b, 14n.
[0031] Furthermore, if the CPU of the control processing unit 15 is capable of single-threaded processing, the information obtained from each of the cameras 14a, 14b, 14n is processed in the order of camera 14a, 14b, 14n, etc. On the other hand, if the CPU of the control processing unit 15 is capable of multi-threaded processing, the information obtained from the cameras 14a, 14b, 14n can be processed simultaneously.
[0032] The control processing unit 15 also includes a signal receiving unit 13 and processes the information acquired by the camera 14 to calculate the position and amount of movement of the robot 10. For example, the control processing unit 15 calculates the amount of movement of the robot 10 based on the captured images acquired in chronological order by the camera 14, and estimates the current position of the robot 10 by adding the amount of movement to the past positions of the robot 10. The control processing unit 15 may extract feature parts from each piece of information acquired in chronological order.
[0033] The control processing unit 15 further extracts the same feature portion from the next captured image onwards. Then, the control processing unit 15 can calculate the amount of movement of the robot 10 by tracking the feature portion. In addition, the control processing unit 15 can calculate the shape of objects on the travel path of the robot 10 by using a SLAM (Simultaneous Localization and Mapping) method or a SFM (Structure from Motion) method.
[0034] The control processing unit 15 can also use an ICP (Iterative Closest Point) method to perform map matching to compare the image captured by the camera 14 with shape information of objects on a travel route that has been created in advance, and estimate the current position of the robot 10. The control processing unit 15 also processes information obtained from the external storage device 16. Furthermore, the control processing unit 15 may perform display according to the calculated position and amount of movement, or may output a signal related to the control of the robot 10.
[0035] Furthermore, the control processing unit 15 can, for example, process the captured images acquired by the camera 14 while the robot 10 is moving, to detect obstacles, and can also, for example, process the captured images acquired by the camera 14 while the robot 10 is moving, to recognize pre-determined landmarks.
[0036] Furthermore, the control processing unit 14 receives map information stored in the external storage device 16 via the signal receiving unit 13, and loads and stores the received map information in the volatile memory (RAM) 17. The loaded map information is divided map information that has been divided in advance on the external storage device 16 side, but in some cases, divided map information can be generated by dividing it into a predetermined capacity on the robot 10 side.
[0037] Furthermore, based on the result of the information processing, the control processing unit 15 outputs a command regarding the movement speed to the robot 10. For example, the control processing unit 15 can output a command to increase, decrease, or maintain the movement speed of the robot 10 according to the resolution of the object in the captured image, the number of outliers among the features in the captured image, the type (method) of information processing, or the like.
[0038] The volatile memory (RAM) 17 is a main memory of the robot 10, and may include other auxiliary memory devices such as storage. The control processing unit 15 performs various information processing based on the various information stored in the volatile memory (RAM) 17 and the acquisition time, etc. In this information processing, for example, intermediate information is created and stored in the volatile memory (RAM) 17. The intermediate information may be used for judgment or processing by other processes in addition to the processing by the control processing unit 15.
[0039] The display control unit 18 executes control to display status information of the robot 10 and the control operation to be executed next. The display control unit 18 displays, for example, information obtained by the camera 14. It can also display the processing results of the control processing unit 15 and commands from the control processing unit 15, and can display, for example, the destination or destination floor to which the robot 10 will move next. It can also display surrounding obstacles recognized by the camera 14. The display control unit 18 can also display a loaded map.
[0040] The bus line 19 is composed of an IEBUS (Inter Equipment Bus), a LIN (Local Interconnect Network), a CAN (Controller Area Network), or the like.
[0041] The external storage device 16 accumulates map information including spatial information of objects on the travel route of the robot 10. The map information in the external storage device 16 is, for example, the shapes and positions of objects (walls, pillars, signs, lights, tables, chairs, etc.) on the travel route of the robot 10 traveled by navigation means provided in the control processing unit 15. The external storage device 16 may be provided in an external server. In this case, the map information can be sent by wireless communication.
[0042] Each piece of map information in the external storage device 16 may be expressed by a mathematical formula. For example, line information may not be composed of multiple points, but may be expressed only by the slope and intercept of the line. The map information in the external storage device 16 may be expressed as a point cloud without distinction. The point cloud may be expressed in 3D (x, y, z), 4D (x, y, z, color), etc. Ultimately, as long as spatial information on the travel route can be detected from the current position of the robot 10 by a camera or the like and map matching can be performed with the loaded map information, the representation form of the map information in the external storage device 16 is not limited.
[0043] Then, when the external memory unit 16 receives a command from the control processing unit 15 to start acquiring map information, it transfers (loads) the necessary divided map information from the map information stored in the external memory unit 16 to the volatile memory (RAM) 17 of the robot 10.
[0044] Here, in the case where the external storage device 16 is an external server not mounted on the robot 10, a signal receiving unit 13 The robot 10 and the storage device of the external server are connected via a LAN (Local Area Network) or a WAN (Wide Area Network) by wireless communication, for example. When the external storage device 16 is mounted on the robot 10, map information is transmitted and received via a bus line 19. The map information in the external storage device 16 is composed of divided map information that has been divided in advance.
[0045] When the external storage device 16 receives a loading command from the control processing unit 15, it transmits the divided map information on the travel route of the robot 10 stored in the external storage device 16 to the volatile memory (RAM) 17. The external storage device 16 can also transmit divided map information that has been divided in advance or a part of the divided map information as map information.
[0046] The control processing unit 15 has a function of switching the current divided map information loaded in the volatile memory (RAM) 17 to the next divided map information at an appropriate predetermined stopping point on the travel route. For example, when the robot 10 travels along the travel route, a stopping point where the robot stops intentionally without moving is determined, and the divided map information is switched by utilizing this stopping time where the robot does not move, so that the divided map information can be switched without affecting the travel of the robot. The stopping point is not particularly specified, but when the car moves between floors, it corresponds to the landing at the boarding floor, inside the car, or the landing at the destination floor.
[0047] Next, a process flow regarding switching of divided map information by the control processing unit 15 will be described with reference to Fig. 2. The robot 10 is configured to move on a travel route by navigation means provided in the control processing unit 15.
[0048] Here, since switching of the map when the robot 10 moves to a different floor is particularly important, this embodiment will be described with emphasis on this point. Note that the process flow described below can be regarded as a function or means executed by a program.
[0049] <Step S10> (Destination setting means) In step S10, a destination is set when the robot 10 moves to a different floor. The control processing unit 15 can set the destination based on a signal received from the signal receiving unit 13. For example, when a user calls the robot 10 using a mobile terminal or when the user wants to move the robot 10 to a specific destination, the destination can be set by transmitting the destination to the robot 10.
[0050] Then, when the signal receiving unit 13 receives the destination transmitted by the user, the control processing unit 15 temporarily stores the destination in the volatile memory (RAM) 17, and then accesses the volatile memory (RAM) 17 to set the stored destination. When the setting of the destination is completed, the process proceeds to step S11.
[0051] In this embodiment, the control processing unit 15 manages the traveling of the robot 10 based on spatial information (map information) on the traveling route obtained by the camera 14. For example, when an obstacle such as an object appears on the traveling route of the robot 10, the control processing unit 15 recognizes the obstacle from the image captured by the camera 14 and avoids the obstacle.
[0052] <Step S11> (position estimation means) In step S11, the current position of the robot 10 is estimated from the image captured by the camera. The robot 10 is currently located at a certain position on the boarding floor. As described above, this position estimation can be performed by map matching the captured image with the divided map information on which the robot is located. Once the estimation of the current position is completed, the process proceeds to step S12.
[0053] Map matching involves judging the degree of match between an imaged object and an object stored as map information, and when a predetermined degree of match is reached, estimating the position of that object as the current position.
[0054] <Step S12> (Lift area map information loading means) In step S12, divided map information for the vicinity of the elevator hall at the boarding floor is loaded from the external storage device 16. Here, since the robot 10 frequently stops temporarily near the elevator hall at the boarding floor to avoid passengers and obstacles near the hall, the vicinity of the elevator hall at the boarding floor is preset as a predetermined stopping point. In addition, the area in front of the boarding / alighting entrance is also preset as a predetermined stopping point since the robot 10 waits for the arrival of the elevator car.
[0055] Regarding the loading of the divided map information around the elevator hall on the boarding floor, the divided map information around the elevator hall on the boarding floor is transmitted from the external storage device 16 by a command from the control processing unit 15, and temporarily stored in the volatile memory (RAM) 17. When the loading of the divided map information around the elevator hall on the boarding floor is completed, the process proceeds to step S13.
[0056] <Step S13> (Lift area map information loading means) In step S13, divided map information for the vicinity of the elevator hall of the destination floor is loaded from the external storage device 16. Here too, since the robot 10 frequently stops temporarily near the elevator hall of the destination floor to avoid passengers and obstacles near the hall, the vicinity of the elevator hall of the destination floor is preset as a predetermined stopping point.
[0057] Regarding the loading of the divided map information around the elevator hall of the destination floor, the divided map information around the elevator hall of the destination floor is transmitted from the external storage device 16 by a command from the control processing unit 15, and temporarily stored in the volatile memory (RAM) 17. When the loading of the divided map information around the elevator hall of the destination floor is completed, the process proceeds to step S14.
[0058] In order to move from the boarding floor to the destination floor, the passenger gets into the elevator car, and the state of being in the car is also set as a predetermined stopping position.
[0059] <Step S14> (Navigation means) In step S14, a travel plan (route search) for the robot 10 is created. This travel plan is for determining a travel route for the robot 10 to travel based on the destination set in step S10 and the current position estimated in step S11. The route search is typically performed using the Dijkstra algorithm, but is not limited to this and other route search algorithms can also be used. When the travel plan is completed, the process proceeds to step S15.
[0060] <Step S15> (Travel time (waiting time) estimation means) In step S15, the waiting time (TW) of the elevator car at the landing of the boarding floor of the robot 10 is estimated. In this case, the waiting time (TW) that the robot 10 waits at the landing of the boarding floor can be obtained from the car operation status obtained from the elevator management control device. The car operation status from the elevator management control device is transmitted wirelessly. Separately from this, the waiting time (TW) of the elevator car can be estimated using a statistical method from past waiting times.
[0061] Once the waiting time (TW) for the elevator car at the boarding floor landing is estimated, the process proceeds to step S16.
[0062] <Step S16> (Travel time (boarding time) estimation means) In step S16, the travel time (TM) of the passenger riding in the car when moving from the boarding floor to the destination floor is estimated. This travel time can be determined in advance, and is basically determined by the difference in floor numbers from the boarding floor to the destination floor. Therefore, the greater the difference in floor numbers, the longer the travel time. However, since the car may stop at floors along the way, it is preferable to determine the travel time taking this into consideration. In this case, too, the travel time can be obtained using statistical methods.
[0063] Once the travel time (TM) of the car when moving from the boarding floor to the destination floor is estimated, the process proceeds to step S18.
[0064] <Step S17> (Map switching time estimation means) In step S17, a map switching time (Tn) of the divided map information is estimated. This map switching time is the time it takes for the control processing unit 15 to estimate the current position by referring to the divided map information already loaded in the volatile memory (RAM) 17.
[0065] In other words, it means the time it takes to read out the next split map information and estimate the current position when switching from the current split map information (in this embodiment, the split map information near the elevator landing on the boarding floor) to the next split map information (in this embodiment, the split map information near the elevator landing on the destination floor).
[0066] Fig. 4 shows the relationship between divided map information and map switching time. In Fig. 4, the horizontal axis shows the map size, which is the amount of information in the divided map, and the vertical axis shows the map switching time. The size / time characteristic line (F) shows the relationship between the size of the divided map and the map switching time. To facilitate understanding, the size / time characteristic line (F) is shown linearly, but it may also be expressed as a curved characteristic line or a characteristic line expressed by a polynomial.
[0067] This size / time characteristic line (F) can be experimentally determined based on the size of the divided map and the time it takes for the control processing unit 15 to refer to the information of the divided map and estimate the current position. It can also be theoretically determined based on the calculation speed of the control processing unit 15 and the transmission speed of the bus line 19.
[0068] The point is to be able to predict the time it takes to estimate the current position from the divided map to be switched. In Fig. 4, the divided map size (Sn) is the size of a specific divided map, and the map switching time (Tn) is the output when the divided map size (Sn) is substituted into the size / time characteristic line (F). Therefore, if the size of the divided map referenced from the volatile memory (RAM) 17 is known, the map switching time (Tn) can be estimated.
[0069] Incidentally, instead of using calculation, the map switching time and the size of the divided map can also be read from a table in which they are stored. Once the map switching time (Tn) of the divided map information has been estimated, the process proceeds to step S18.
[0070] <Step S18> (Map information switching means) In step S18, the temporal relationship between the map switching time (Tn) estimated in step S17 and the waiting time (TW) estimated in step S15 is determined. In other words, it is determined whether the map switching time (Tn) is longer than the waiting time (TW).
[0071] If it is determined that the map switching time (Tn) is long, it is deemed that the current location cannot be estimated by referring to the divided map information in the vicinity of the boarding gate of the destination floor while departing from the current location and waiting at the boarding floor, and the process proceeds to step S 19 transition to.
[0072] On the other hand, if it is determined that the map switching time (Tn) is short, it is assumed that the current location can be estimated by referring to the divided map information near the boarding gate of the destination floor while departing from the current location and waiting at the boarding floor, and the process proceeds to step S22.
[0073] <Step S19> (Map information switching means) In step S19, step S 17 The system determines the temporal relationship between the map switching time (Tn) estimated in step S12 and the car travel time (TM) estimated in step S16. In other words, it determines whether the map switching time (Tn) is longer than the car travel time (TM).
[0074] If it is determined that the map switching time (Tn) is long, it is assumed that the current position cannot be estimated by referring to the divided map information in the vicinity of the boarding gate of the destination floor while the passenger is in the elevator, and the process proceeds to step S 21 transition to.
[0075] On the other hand, if it is determined that the map switching time (Tn) is short, it is assumed that the current position can be estimated by referring to the divided map information in the vicinity of the landing at the destination floor while the passenger is aboard the elevator, and the process proceeds to step S20.
[0076] <Step S20> (Map information switching means) In step S20, "Processing A" described later is executed. "Processing A" is a process for estimating the current position upon arrival at the destination floor and referring to the divided map information in the vicinity of the destination floor's boarding area. After "Processing A" is executed, the process exits to the end.
[0077] <Step S21> (Map information switching means) In step S21, "Processing B" described later is executed. "Processing B" refers to the divided map information of the vicinity of the boarding gate of the destination floor while the passenger is in the elevator, and estimates the current position. After "Processing B" is executed, the process goes to the end.
[0078] <Step S22> (Map information switching means) In step S22, the temporal relationship between the map switching time (Tn) estimated in step S17 and the car travel time (TM) estimated in step S16 is determined. In other words, it is determined whether the map switching time (Tn) is longer than the car travel time (TM).
[0079] If it is determined that the map switching time (Tn) is long, it is assumed that the current position cannot be estimated by referring to the divided map information in the vicinity of the landing at the destination floor while the passenger is aboard the elevator, and the process proceeds to step S23.
[0080] On the other hand, if it is determined that the map switching time (Tn) is short, it is assumed that the current location can be estimated by referring to the divided map information near the boarding area of the destination floor while boarding the elevator or at the boarding area of the boarding floor, and the process proceeds to step S24.
[0081] <Step S23> (Map information switching means) In step S23, "Processing C" described later is executed. "Processing C" is to estimate the current position at the boarding floor platform by referring to the divided map information in the vicinity of the boarding floor platform. After executing "Processing C", the process goes to the end.
[0082] <Step S24> (Map information switching means) In step S24, "Process B" or "Process C" described later is executed. "Process B" and "Process C" are as described above. After "Process B" or "Process C" is executed, the process goes to the END.
[0083] The control steps before executing the above-mentioned "Process A" to "Process C" are pre-processing before the robot 10 starts running. Next, the specific processes of "Process A" to "Process C" will be explained. "Process A" is shown in FIG. 3A, "Process B" is shown in FIG. 3B, and "Process C" is shown in FIG. 3C.
[0084] Regarding [Process A] (switching the divided map information at the boarding area of the destination floor); <Step S30> In step S30, the robot 10 starts moving to the vicinity of the boarding hall of the boarding floor according to the floor division map information of the boarding floor where the robot 10 is located. This movement of the robot 10 follows the travel plan set in step S14. The robot 10 moves while estimating its own current position. In this state, the process proceeds to step S31.
[0085] <Step S31> In step S31, the robot 10 moves while estimating its current position along the travel route, and determines whether it has arrived near the boarding area of the boarding floor. If it is determined that the robot 10 has arrived near the boarding area of the boarding floor, the robot 10 temporarily stops, since the area near the elevator boarding area of the boarding floor is set as a predetermined stopping point. When the robot stops, the process proceeds to step S32.
[0086] <Step S32> In step S32, a process is executed to switch from the floor divided map information of the boarding floor to divided map information of the vicinity of the elevator landing of the boarding floor. This process switches from the floor divided map information of the current boarding floor to divided map information of the vicinity of the elevator landing of the next boarding floor.
[0087] At the time of this switching, the robot 10 is not traveling, but is intentionally stopped when it arrives near the boarding floor, so even if the above-mentioned map switching time occurs, it does not become a waiting time. Then, when the map switching is completed, the process proceeds to step S33.
[0088] <Step S33> In step S33, the robot 10 starts moving toward the elevator entrance while estimating its current position based on the divided map information of the vicinity of the boarding hall of the switched boarding floor. When the robot 10 starts moving, the process proceeds to step S34.
[0089] <Step S34> In step S34, the current position is estimated based on the divided map information of the vicinity of the boarding area of the switched boarding floor, and it is determined whether or not the vehicle has arrived in front of the elevator entrance. If it is determined that the vehicle has arrived in front of the elevator entrance, the process proceeds to step S35.
[0090] <Step S35> In step S35, the robot 10 boards the elevator car that has arrived and departs for the destination floor. If the width of the entrance is narrow and the position error obtained in the position estimation in step S34 is large, the robot 10 may not be able to enter the elevator car.
[0091] In this case, the camera 14 detects the width of the opening and closing doors of the elevator entrance and the user can enter the elevator car while calculating the relative position. The details of the process of detecting the width of the opening and closing doors of the elevator entrance and alighting will be described later. When the user arrives at the destination floor, the process proceeds to step S36.
[0092] <Step S36> In step S36, the robot 10 exits the entrance of the destination floor and arrives at the landing of the destination floor. Since the vicinity of the landing of the destination floor is set as a predetermined stopping point, the robot 10 is temporarily stopped. When the robot stops, the process proceeds to step S37.
[0093] <Step S37> In step S37, switching of map information between floors is executed. This process executes a process of switching from the divided map information around the landing of the current boarding floor to the divided map information around the landing of the next destination floor. At the time of this switching, the robot 10 is not traveling, but is intentionally stopped temporarily after getting off at the landing of the destination floor, so even if the above-mentioned map switching time occurs, it does not become a waiting time. Then, when the switching of the divided map information is completed, the process proceeds to step S38.
[0094] When switching the map information, a safe stopping place is found based on the information from the camera 14 immediately after getting off the elevator car, and the divided map information is switched. A safe stopping place is, for example, near the wall of the elevator hall that does not interfere with the movement of passengers, etc. Also, a safe stopping place may be a specific place determined in advance in each elevator hall.
[0095] <Step S38> In step S38, the robot 10 starts moving toward the destination while estimating the current position based on the divided map information of the vicinity of the landing of the destination floor to which the robot 10 has been switched. When the robot 10 starts moving, it exits to the end.
[0096] Regarding [Process B] (switching divided map information in the car); This "Process B" executes the switching of the map between floors in step S37 while the car is moving between steps S35 and S36. While the robot is in the car, it is intentionally stopped and does not move, so this is set as a predetermined stopping position. Note that the specific processing contents are the same as "Process A", so the explanation will be omitted.
[0097] Regarding [Process C] (switching the divided map information in front of the boarding floor entrance); This "Process C" executes the switching of the map between floors in step S37, between steps S34 and S35, in front of the boarding / alighting entrance of the boarding floor. The area in front of the boarding / alighting entrance is set as a predetermined stopping point because the robot 10 is intentionally stopped and waits for the arrival of a car. Note that the specific processing content is the same as "Process A", so a description thereof will be omitted.
[0098] Next, a supplementary explanation will be given of the behavior of the robot 10 when moving from the boarding floor to the destination floor in the above-mentioned processing flow.
[0099] In FIG. 5, the vicinity of the elevator landing (EH1) on the boarding floor is the area where the robot 10 boards the elevator car. For convenience, the vicinity of the elevator landing (EH1) on the boarding floor is set to the first floor of the building. The elevator car 20 is a car that the robot 10 uses to move from the boarding floor to the destination floor. The vicinity of the elevator landing (EHn) on the destination floor is the vicinity of the elevator landing on the destination floor where the robot 10 is headed. The vicinity of the elevator landing (EHn) on the destination floor is set to the nth floor of the building. Here, in this embodiment, the vicinity of the elevator landing means the elevator hall.
[0100] The robot 10 is located near the elevator hall (EH1) of the boarding floor, and the passenger 21 is located near the elevator hall (EHn) of the destination floor. The divided map information (M1), (M2)...(Mn) are each divided map information for different floors of the building.
[0101] Here, consider a case where the robot 10 moves from the first floor to the nth floor in response to a command from the control processing unit 15. In step S12, the robot 10 loads divided map information (M1) of the vicinity of the elevator hall (EH1) of the boarding floor, and in step S13, loads divided map information (Mn) of the vicinity of the elevator hall (EHn) of the destination floor.
[0102] Then, the robot 10 moves to the front of the elevator car 20 while referring to the divided map information (M1) of the vicinity of the elevator hall of the boarding floor. Next, the divided map information (Mn) of the nth floor, which is the destination floor, is switched to.
[0103] The timing of switching the divided map information is determined by the time (TG+TW) that the robot 10 takes to wait from its current position near the elevator hall on the first floor (EH1) for the elevator car to arrive, the travel time (TM) that the robot 10 takes to board the elevator car and travel from the first floor to the nth floor, and the map switching time (Tn) shown in Figure 4.
[0104] As shown in FIG. 2B, the robot 10 switches from divided map information (M1) near the elevator landing at the boarding floor (EH1) to divided map information (Mn) near the elevator landing at the destination floor (EHn) when the robot 10 is stopped and waiting for the elevator car at the elevator landing at the boarding floor, when the robot 10 is on board the elevator car and stopped, and when the robot 10 has disembarked from the elevator car at the elevator landing at the destination floor and stopped.
[0105] Next, the entrance detection process executed in step S35 will be described. The robot 10 always executes position estimation (step S11) at a predetermined time interval, but the driving environment and obstacles may cause a large error in the position estimation. In particular, if the entrance width of the elevator is narrow and the position of the entrance cannot be estimated with high accuracy, there is a risk that the robot 10 will not be able to pass through the elevator entrance. For this reason, the entrance detection process becomes necessary.
[0106] 6 and 7 show a state in which the elevator car 20 has arrived at the elevator hall and the door 22 at the entrance is open. The robot 10 uses the camera 14 to capture an image of the entrance at a viewing angle (θ).
[0107] If the position error of the robot 10 estimated in step S11 is large, it will not be able to pass through the narrow opening of the door 22. Therefore, the camera 14 is used to measure the distance to surrounding objects including the door 22 while rotating the robot 10 left and right.
[0108] 7 shows the distances to surrounding objects obtained by the camera 14 after the robot 10 has rotated left and right. The corners Cn are the left and right corners of the opening and closing door 22. The corners Cn are edge portions found by calculating the change in distance to objects (here, the opening and closing door 22 and the car 20 are shown).
[0109] This data is then converted into an image, and the corners Cn are calculated using the Harris Corner Detection (HCD) method. Ultimately, it is sufficient to determine the corners Cn. The robot 10 then boards the elevator car 20 while referring to the relative positions of the detected corners Cn, and then gets off at the destination floor.
[0110] If the position error of the robot 10 estimated in step S11 is large, the robot 10 boards and disembarks from the elevator car 20 while performing the processing of Figure 7, but if the position error is small, the robot 10 can board and disembark from the elevator car 20 only at the position estimated in step S11.
[0111] The position estimation error can be judged, for example, based on an error ellipse in the SLAM method performed by the camera 14. If the error ellipse when the robot 10 gets on and off the elevator car 20 exceeds a predetermined threshold, an entrance detection process may be performed. Also, the position estimation error may be judged based on the number of matching points or score (distance to the closest point) in the ICP method performed by the camera 14.
[0112] The rotation angle of the robot 10 required for the frontage detection process can be calculated based on, for example, the position error of the robot 10 estimated in step S11 and the viewing angle (θ).
[0113] Next, the behavior of the robot 10 and the flow of the divided map information when moving from the boarding floor to the destination floor will be described. Fig. 8 shows the case of moving from the current location on the first floor to the destination on the sixth floor.
[0114] In FIG. 8, the robot 10 is traveling on the first floor (FL1), in this case by referring to the floor division map information (M1F). When the robot arrives at the first floor elevator hall (EH1), it refers to the division map information (M1H) for the first floor elevator hall (EH1) and moves to the elevator entrance.
[0115] Then, when the passenger boards the elevator and arrives at the elevator hall on the 6th floor (EH6), the elevator will operate by referring to the divided map information (M6H) for the elevator hall on the 6th floor (EH6), and will then head to the destination by referring to the floor divided map information (M6F) for the 6th floor.
[0116] In accordance with the behavior of this robot, the processing steps shown in FIG. 2B and FIG. 3A to FIG. 3C are executed, and the divided map information used for the calculation of position estimation is switched and referred to while moving to the destination.
[0117] If passenger 21 is in the elevator hall on the 6th floor (EH6), the robot 10 The elevator may temporarily stop, and after confirming using the image captured by the camera 14 that the passengers 21 have left, move to a safe location and switch to the divided map information (M6H) of the elevator hall (EH6).
[0118] As described above, in the present invention, when the robot travels to a destination across multiple floors determined by the control means by using an elevator car, the robot includes: ascent / descent area map information loading means for loading into memory at least divided map information around the boarding floor elevator car and divided map information around the destination floor elevator car before the robot travels toward the boarding floor elevator car; navigation means for determining a travel route from the current position to the destination using the divided map information around the boarding floor elevator car and the divided map information around the destination floor elevator car stored in the memory; and a navigation means for determining a travel route from the boarding floor elevator car to the destination floor. The robot is provided with a travel time estimation means for estimating a travel time to a predetermined stopping point where the robot will intentionally stop on a travel path to the elevator landing, a map switching time estimation means for determining a map switching time from reading out the divided map information in the vicinity of the destination floor elevator landing to estimating the current position when switching from the divided map information in the vicinity of the elevator landing of the boarding floor to the divided map information in the vicinity of the elevator landing of the destination floor, and a map information switching means for determining the relationship between the travel time and the map switching time, and deciding a stopping point at which to switch from the divided map information in the vicinity of the elevator landing of the boarding floor to the divided map information in the vicinity of the elevator landing of the destination floor.
[0119] According to the present invention, in a robot moving toward a destination, the robot is not made to stop while traveling when switching between divided map information, thereby making it possible to suppress the occurrence of unnecessary waiting time for estimating the current position.
[0120] The present invention is not limited to the above-mentioned embodiments, but includes various modified examples. The above-mentioned embodiments have been described in detail to clearly explain the present invention, and the present invention is not necessarily limited to those having all the configurations described. In addition, it is possible to replace a part of the configuration of one embodiment with the configuration of another embodiment, and it is also possible to add the configuration of another embodiment to the configuration of one embodiment. It is also possible to add, delete, or replace other configurations with respect to the configuration of each embodiment. [Explanation of symbols]
[0121] 10...robot, 11...drive wheel, 12...steering wheel, 13...signal receiving unit, 14...camera, 15...control processing unit, 16...external storage device, 17...volatile memory (RAM), 18...display control unit, 19...bus line, 20...car.
Claims
1. A robot that uses an elevator car to move to a destination location across a plurality of floors determined by a control means, The control means a lift area map information loading means for loading at least divided map information in the vicinity of the boarding floor elevator hall and divided map information in the vicinity of the destination floor elevator hall into a memory before the robot moves toward the boarding floor elevator hall; a navigation means for determining a route from a current position to the destination position by using the divided map information of the vicinity of the boarding floor elevator hall and the divided map information of the vicinity of the destination floor elevator hall stored in the memory; a stop time estimation means for estimating stop times at a plurality of predetermined stop points where the robot intentionally stops on the travel path moving from the boarding floor elevator hall to the destination floor elevator hall; a map switching time estimating means for calculating a map switching time required for reading out the divided map information in the vicinity of the destination floor elevator hall and estimating the current position when switching from the divided map information in the vicinity of the boarding floor elevator hall to the divided map information in the vicinity of the destination floor elevator hall; a map information switching means for determining a relationship between each of the stop times and the map switching time, and for determining a predetermined stop point at which the divided map information in the vicinity of the boarding floor elevator hall is switched to the divided map information in the vicinity of the destination floor elevator hall. A robot characterized by:
2. In the robot according to claim 1, The plurality of predetermined stopping points are the boarding floor elevator hall, the car in which the robot is riding, and the destination floor elevator hall. A robot characterized by:
3. In the robot according to claim 1, the predetermined stopping points are at least the boarding floor elevator hall, the car in which the robot is riding, and the destination floor elevator hall, Each of the stop times is at least a waiting time (TW) at the boarding floor elevator hall and a boarding time (TM) of the elevator car in which the robot is boarding, The map information switching means If the map switching time (Tn) is longer than the waiting time (TW) and longer than the boarding time (TM), switching of map information is performed at the destination floor elevator landing; When the map switching time (Tn) is longer than the waiting time (TW) and shorter than the boarding time (TM), the map information is switched in the elevator in which the robot is riding; When the map switching time (Tn) is shorter than the waiting time (TW) and longer than the boarding time (TM), switching of the map information is performed at the boarding floor elevator landing; When the map switching time (Tn) is shorter than the waiting time (TW) and shorter than the boarding time (TM), the map information is switched at the elevator car in which the robot is riding or at the elevator landing at the boarding floor. A robot characterized by:
Citation Information
Patent Citations
Carriage system
JP2006313462A
Mobile robot
JP2017021570A
