Environment map update method, mobile device, management server, and mobile system
The method updates environmental maps by creating frequency value maps from temporary maps generated during multiple movements, addressing the inadequacy of conventional methods in reflecting long-term object placement states, thus improving the accuracy of self-position estimation for mobile devices.
Patent Information
- Application Number
- JP2023212268
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-12-15
- Publication Date
- 2025-06-26
AI Technical Summary
Conventional methods for updating environmental maps used in self-position estimation of mobile devices within predetermined areas are inadequate for long-term operation, as they fail to reflect long-term object placement states.
A method for updating environmental maps by creating local maps at multiple passing points during movement, generating temporary environmental maps, and accumulating multiple temporary maps to create a frequency value map that reflects the long-term variation in object arrangements, thereby updating the environmental map.
This approach allows for the creation of environmental maps suitable for long-term operation by accurately reflecting the long-term variation in object arrangements, enhancing the accuracy of self-position estimation for mobile devices.
Smart Images

Figure 2025095885000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a mobile device that moves within a predetermined area. In particular, the present invention relates to a method for updating an environmental map used when estimating the position of a mobile device while the mobile device is moving within a predetermined area, a mobile device, a management server that manages the mobile device, and a mobile system including the mobile device and the management server.
Background Art
[0002] Conventionally, a mobile device that autonomously moves within a predetermined area is known. This mobile device estimates the position of the mobile device in a predetermined area (also called its own position), and controls the movement of the mobile device based on the estimated own position, thereby enabling autonomous movement within the predetermined area. The mobile device estimates its own position based on a comparison between an environmental map showing the arrangement of objects in the predetermined area where it is autonomously moving and a local map showing the arrangement of objects around the mobile device. Specifically, when the local map is placed on the environmental map, the position where the local map and the environmental map match is estimated as the own position.
[0003] In self-position estimation, whether the environmental map appropriately represents the area where the mobile device moves affects the accuracy of self-position estimation. Therefore, if the environmental map is not updated even though the arrangement of objects has changed in the area where the mobile device moves after the environmental map is created, the self-position cannot be correctly estimated.
[0004] For this reason, the environmental map used for self-position estimation is updated. For example, a method for updating the environmental map in which an object is added to a certain position only when the mobile device detects an object a predetermined number of times or more at a certain position is known (see, for example, Patent Document 1).
Prior Art Documents
Patent Documents
[0005]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0006] The conventional update method as described above could not update the environmental map reflecting the long-term object placement state. As a result, it was not possible to realize the update of the environmental map suitable for long-term operation.
[0007] An object of the present invention is to update an environmental map used for estimating the self-position of a mobile device so as to be suitable for long-term operation.
Means for Solving the Problems
[0008] Below, a plurality of aspects will be described as means for solving the problems. These aspects can be arbitrarily combined as necessary. A method according to an aspect of the present invention is a method for updating an environmental map representing a predetermined area, which is used when estimating the position of a mobile device moving in the area. The method for updating the environmental map includes the following steps. ◎ A step of moving the mobile device to a predetermined area. ◎ For each of a plurality of passing points from the start to the end of the movement, a step of creating a local map representing the presence or absence of objects around the mobile device. ◎ A step of creating a temporary environmental map representing the area during this movement using the plurality of local maps created from the start to the end of the movement. ◎ A step of moving the mobile device to the predetermined area a plurality of times to obtain a plurality of temporary environmental maps. ◎ Based on the plurality of obtained temporary environmental maps, for each of a plurality of positions included in the predetermined area, a step of creating a frequency value map by assigning a frequency value representing the frequency of the presence of an object at the position in the plurality of movements. ◎ A step of updating the environmental map based on the frequency value map.
[0009] In the above method for updating the environmental map, when the mobile device is moved a plurality of times in a predetermined area, a frequency value representing the frequency of the presence of an object at each position included in the predetermined area among the plurality of movements is counted, and the counted frequency value is assigned to each position in the predetermined area to create a frequency value map, and the environmental map is updated based on this frequency value map.
[0010] By updating the environmental map based on the above frequency value map, the environmental map can be updated in consideration of the variation frequency of the arrangement of objects within a predetermined area over a long period. The environmental map updated in consideration of the long-term variation in the arrangement of objects is suitable for long-term operation.
[0011] In the above update method, a variation degree value representing the degree of variation in the arrangement of objects at each position may be assigned to each of the plurality of positions included in the area in the environmental map. In this case, the step of updating the environmental map may include the step of updating the environmental map based on a comparison between the variation degree value of the environmental map and the frequency value of the frequency value map. Thereby, by appropriately updating the variation degree value of the environmental map, an appropriate update of the environmental map can be performed.
[0012] In the above update method, the step of updating the environmental map may include the step of updating the environmental map by increasing or decreasing the variation degree value assigned to each position in the environmental map according to the frequency value assigned to the position in the frequency value map corresponding to each position. Thereby, the variation degree value of the environmental map can be changed to correspond to the frequency value of the frequency value map, and a more appropriate update of the environmental map can be performed.
[0013] In the above update method, the variation degree value may be the brightness when the environmental map is displayed. Thereby, since the variation degree value can be represented by a parameter (brightness) conventionally included in the environmental map, the data amount of the environmental map does not increase even if the concept of the variation degree value is introduced into the environmental map. Also, by displaying this environmental map on the screen, the variation frequency of the object arrangement at each position in the predetermined area can be visually confirmed.
[0014] The above update method may further include a step of estimating the position of the mobile device in a predetermined area based on the updated environmental map, the frequency value map, and the movement amount of the mobile device. Thereby, for example, by using the updated environmental map, the information of an object arranged at the same position for a long time is regarded as more important, and an appropriate self-position estimation considering the variation frequency of the arrangement of the object over a long period can be performed, such as estimating the self-position of the mobile device.
[0015] In the above update method, the step of creating a local map may include the following steps. ◎ A step of obtaining map creation data for creating a local map by detecting an object existing around the mobile device at each of a plurality of passing points from the start to the end of the movement. ◎ A step of creating a plurality of local maps from the start to the end of the movement by using the plurality of map creation data obtained from the start to the end of the movement.
[0016] Thereby, a more accurate local map for creating a temporary environmental map can be created by using the map creation data actually obtained by the movement of the mobile device.
[0017] A mobile device according to another aspect of the present invention is a mobile device that moves in a predetermined area. The mobile device includes a moving unit and a control unit. The moving unit moves the mobile device. The control unit estimates the position of the mobile device by using an environmental map representing a predetermined area and controls the moving unit based on the estimated position.
[0018] The control unit moves the mobile device to a predetermined area, creates a local map representing the presence or absence of objects around the mobile device for each of a plurality of passing points from the start to the end of this movement, creates a temporary environmental map representing the predetermined area during this movement using the plurality of local maps created from the start to the end of this movement, moves the mobile device to the predetermined area a plurality of times to obtain a plurality of temporary environmental maps, and based on the plurality of obtained temporary environmental maps, assigns a frequency value representing the frequency of the presence of an object at each of a plurality of positions included in the predetermined area in the plurality of movements to create a frequency value map, and updates the environmental map based on the frequency value map.
[0019] In the above mobile device, when the control unit moves the mobile device to a predetermined area a plurality of times, it counts the frequency value representing the frequency of the presence of an object at each position included in the predetermined area among the plurality of movements, assigns the counted frequency value to each position in the predetermined area to create a frequency value map, and updates the environmental map based on this frequency value map.
[0020] By updating the environmental map based on the above frequency value map, the environmental map can be updated in consideration of the variation frequency of the object arrangement within the predetermined area over a long period. The environmental map updated in consideration of the long-term variation of the object arrangement is suitable for long-term operation.
[0021] The management server according to still another aspect of the present invention is a server that manages a mobile device that moves in a predetermined area and estimates its own position using an environmental map representing the area. When moving in the predetermined area, the mobile device obtains map creation data by detecting objects existing around the mobile device at each of a plurality of passing points from the start to the end of this movement. The map creation data is data for creating a local map representing the presence or absence of objects around the mobile device. The mobile device transmits the plurality of map creation data obtained from the start to the end of this movement to the management server.
[0022] The management server includes an information processing unit. The information processing unit uses a plurality of map creation data received from the mobile device to create a local map for each of a plurality of passing points from the start to the end of the movement when the map creation data is acquired, and uses the plurality of local maps created from the start to the end of this movement to create a temporary environmental map representing a predetermined area during this movement. Based on a plurality of temporary environmental maps obtained by multiple movements of the mobile device, for each of a plurality of positions included in the predetermined area, a frequency value representing the frequency of the presence of an object at the position during multiple movements is assigned to create a frequency value map, and the environmental map is updated based on the frequency value map.
[0023] In the above management server, when the information processing unit moves the mobile device a plurality of times in a predetermined area, it counts a frequency value representing the frequency of the presence of an object at each position included in the predetermined area during these multiple movements, assigns the counted frequency value to each position in the predetermined area to create a frequency value map, and updates the environmental map based on this frequency value map.
[0024] By updating the environmental map based on the above frequency value map, the environmental map can be updated in consideration of the variation frequency of the arrangement of objects in a predetermined area over a long period. The environmental map updated in consideration of the long-term variation in the arrangement of objects is suitable for long-term operation.
[0025] A mobile system according to still another aspect of the present invention includes a mobile device and a management server. The mobile device moves in a predetermined area and estimates its own position using an environmental map representing the area. The management server manages the mobile device. When the mobile device moves in a predetermined area, it acquires map creation data by detecting objects existing around the mobile device at each of a plurality of passing points from the start to the end of this movement. The map creation data is data for creating a local map representing the presence or absence of objects around the mobile device. The mobile device transmits the plurality of map creation data acquired from the start to the end of this movement to the management server.
[0026] The management server uses a plurality of map creation data received from the mobile device to create a local map for each of a plurality of passing points from the start to the end of the movement when the map creation data is acquired, and uses the plurality of local maps created from the start to the end of this movement to create a temporary environmental map representing a predetermined area during this movement. Based on the plurality of temporary environmental maps obtained by the multiple movements of the mobile device, for each of the plurality of positions included in the predetermined area, a frequency value representing the frequency of the presence of an object at that position during the multiple movements is assigned to create a frequency value map, and the environmental map is updated based on the frequency value map.
[0027] In the above movement system, when the management server moves the mobile device in a predetermined area a plurality of times, it counts the frequency value representing the frequency of the presence of an object at each position included in the predetermined area during these multiple movements, assigns the counted frequency value to each position in the predetermined area to create a frequency value map, and updates the environmental map based on this frequency value map.
[0028] By updating the environmental map based on the above frequency value map, the environmental map can be updated considering the variation frequency of the object arrangement within the predetermined area over a long period. The environmental map updated considering the long-term variation of the object arrangement is suitable for long-term operation.
Advantages of the Invention
[0029] The environmental map can be updated considering the variation frequency of the object arrangement within the predetermined area where the mobile device moves over a long period. The environmental map updated considering the long-term variation of the object arrangement is suitable for long-term operation.
Brief Description of the Drawings
[0030]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Embodiments for Carrying Out the Invention
[0031] 1. First Embodiment (1) Mobile System The mobile system 100 will be described with reference to FIG. 1. FIG. 1 is a diagram showing the configuration of the mobile system. The mobile system 100 includes a mobile device 1 and a management server 3.
[0032] The mobile device 1 is a device that autonomously moves in a predetermined area (referred to as the mobile environment ME). The mobile device 1 is, for example, a cleaning robot that autonomously cleans the mobile environment ME, a promotional robot that autonomously moves in the mobile environment ME to conduct promotions, a guiding robot that guides the mobile environment ME, a transport robot that autonomously transports articles in the mobile environment ME, a shelf check robot that autonomously checks the merchandise shelves arranged in the mobile environment ME, etc. Further, the mobile device 1 may be a mobile cart capable of mounting a device that can realize a predetermined function.
[0033] The management server 3 is a computer composed of a CPU, a storage device (e.g., RAM, ROM, hard disk, SSD, etc.), various interfaces, etc. The management server 3 manages the mobile device 1. Note that the number of mobile devices 1 managed by the management server 3 can be arbitrary.
[0034] The management server 3 can communicate with the mobile device 1, receive various data of the mobile device 1, and send various data to the mobile device 1. Specifically, the management server 3 receives the movement log LOG acquired by the mobile device 1. The management server 3 sends the frequency value map M3 and the updated environmental map M1, which will be described later, to the mobile device 1.
[0035] (2) Mobile device (2-1) Overall configuration of the mobile device Hereinafter, the mobile device 1 will be described with reference to FIG. 2. FIG. 2 is a diagram showing the configuration of the mobile device. The mobile device 1 mainly includes a main body 11, a moving unit 12, a laser range sensor 13, and a control device 14.
[0036] The main body 11 is a housing that constitutes the main body of the mobile device 1. Here, the "self-position" of the mobile device 1 is defined as the position (coordinates) of the center of the main body 11 on the environmental map M1 representing the moving environment ME. Also, the term "itself" refers to the main body 11 of the mobile device 1. Note that the environmental map M1 is map information defined in a coordinate system (referred to as a global coordinate system) representing the moving environment ME.
[0037] The moving unit 12 is, for example, a differential two-wheel type traveling unit that moves the main body 11. Specifically, the moving unit 12 has a pair of motors 121a, 121b and a pair of wheels 123a, 123b. The pair of motors 121a, 121b are electric motors such as servo motors or brushless motors provided at the bottom of the main body 11. The pair of motors 121a, 121b are connected to the control device 14 and rotate their output shafts at an arbitrary rotational speed and torque independently based on commands from the control device 14.
[0038] A pair of wheels 123a and 123b are each partially in contact with the floor surface (moving surface) of the moving environment ME and are connected to the output rotation shafts of a pair of motors 121a and 121b. Thereby, the wheels 123a and 123b rotate independently by the motors 121a and 121b respectively, and move the main body 11. Since the pair of wheels 123a and 123b can rotate independently, a difference can be generated in the rotation speeds of the wheels 123a and 123b to change the posture of the main body 11. On the other hand, if the rotation speeds of the pair of wheels 123a and 123b are the same, the main body 11 can move straight ahead.
[0039] Encoders 125a and 125b (FIG. 2) are provided on the output rotation shafts of the motors 121a and 121b respectively. The encoders 125a and 125b are, for example, incremental encoders that output pulse signals based on the rotation amounts of the output rotation shafts of the motors 121a and 121b.
[0040] The control device 14 can acquire the rotation amounts of the motors 121a and 121b when the moving device 1 moves, that is, the rotation amounts of the wheels 123a and 123b, from the pulse signals obtained from the encoders 125a and 125b. The rotation amounts of the motors 121a and 121b and the rotation amounts of the wheels 123a and 123b correspond to the movement amount (movement distance, posture change) of the moving device 1. Therefore, the movement amount of the moving device 1 obtained from the encoders 125a and 125b is called movement amount data DA1. The control device 14 can estimate the position and / or posture of the moving device 1 (main body 11) in the moving environment ME based on the movement amount data DA1.
[0041] The laser range sensor 13 irradiates, for example, laser light pulsed by a laser oscillator radially onto an object (e.g., a pillar, shelf, wall, etc. arranged in the moving environment ME) in the moving environment ME, and detects an object existing around the moving device 1 by receiving the reflected light reflected from the object with a laser receiver. The laser range sensor 13 is, for example, a laser range finder (LRF). The laser range sensor 13 includes a first laser range sensor 131 arranged at the front of the main body 11 and a second laser range sensor 133 arranged at the rear of the main body 11.
[0042] The first laser range sensor 131 generates laser light radially in the left - right direction in front of the main body 11, and detects an object existing in front of the main body 11 centered on the first laser range sensor 131. The detection range of the object by the first laser range sensor 131 can be, for example, within a circle with a radius of about 5 m.
[0043] On the other hand, the second laser range sensor 133 generates laser light radially in the left - right direction behind the main body 11, and detects an object existing behind the main body 11 centered on the second laser range sensor 133. The detection range of the object by the second laser range sensor 133 can be, for example, within a circle with a radius of about 5 m.
[0044] Note that the detectable range of the laser range sensor is not limited to the above values and can be appropriately changed according to the use of the moving device 1 and the like.
[0045] In addition, as a sensor for detecting an object, in addition to a laser range finder, a sensor capable of measuring the distance between an object existing around and the sensor (main body 11) can be used. For example, a TOF (Time Of Flight) camera or the like can be used. Furthermore, a system or the like that can operate a sensor for measuring one - dimensional or two - dimensional distances as a sensor for measuring two - dimensional or three - dimensional distances can be used.
[0046] The control device 14 calculates the distance between the laser range sensor 13 and the object from the time difference between the timing when the laser light is irradiated from the laser range sensor 13 and the timing when the reflected light generated by the reflection of the laser light by the object is received by the laser range sensor 13 (laser receiver). Further, for example, the direction in which the object exists as viewed from the main body 11 can be calculated from the angle of the light receiving surface of the laser receiver when the reflected light is received. The control device 14 acquires data including the relative distance of the object as viewed from the main body 11 calculated from the above time difference and the direction in which the object exists as viewed from the main body 11.
[0047] From the above data, a local map M2 can be created. The local map M2 is map information representing the arrangement state (presence or absence of objects) of objects (for example, walls, shelves, products, etc.) within a predetermined range around the mobile device 1. The local map M2 is map information defined in a coordinate system (referred to as a local coordinate system) with the mobile device 1 (main body 11) as the origin. Therefore, the above data (data including the relative distance of the object and the direction in which the object exists as viewed from the main body 11) acquired by the laser range sensor 13 is referred to as map creation data DA2.
[0048] In the following, an example using two-dimensional data regarding an object will be described, but the following description can be similarly applied to three-dimensional data.
[0049] The control device 14 is a computer configured by a CPU, a storage device (RAM, ROM, hard disk, SSD, etc.), and various interfaces. The control device 14 controls each part of the mobile device 1 and performs various information processes necessary for the movement of the mobile device 1.
[0050] The mobile device 1 may further have an auxiliary wheel part 15. The auxiliary wheel part 15 has two auxiliary wheels 15a and 15b. The two auxiliary wheels 15a and 15b are attached so that each can rotate independently. By providing the auxiliary wheel part 15, the mobile device 1 can move stably and smoothly.
[0051] (2-2) Configuration of the control device The configuration of the control device 14 will be described with reference to FIG. 3. FIG. 3 is a diagram showing the configuration of the control device. The control device 14 includes a storage unit 141 and a control unit 143. The storage unit 141 is a part of the storage area of the storage device that constitutes the control device 14. The storage unit 141 stores various information used to control the mobile device 1.
[0052] The storage unit 141 stores an environmental map M1, a frequency value map M3, a movement log LOG, and a travel schedule TS. The environmental map M1 is a map representing the arrangement state of objects in the movement environment ME. The environmental map M1 has a configuration in which a variation degree value of the arrangement of objects at each of a plurality of positions (for example, coordinate values) in the movement environment ME is assigned. The variation degree value represents the degree of variation of objects at each position in the movement environment ME. That is, the variation degree value is a value indicating whether the objects in the movement environment ME are arranged at the same position for a long period of time or are arranged only for a short period of time. The variation degree value becomes a large value for positions where objects are arranged for a long period of time, and a small value for positions where objects are arranged only for a short period of time.
[0053] The environmental map M1 has the same configuration as, for example, general image data. Specifically, as shown in FIG. 4, each of a plurality of positions in the movement environment ME is associated with a pixel of the image data, and the luminance of each pixel is associated with the above variation degree value, thereby constituting the environmental map M1. FIG. 4 is a diagram showing an example of the configuration of the environmental map.
[0054] In this way, by associating the variation degree value with the luminance of the pixel, it is not necessary to add parameters other than the pixel and the luminance to the environmental map M1. Therefore, even if the concept of the variation degree value is introduced into the environmental map M1, the data amount of the environmental map does not increase. In addition, when the environmental map M1 is displayed on the screen, the variation frequency of the object arrangement at each position in the movement environment ME can be visually confirmed.
[0055] In the example of the environmental map M1 shown in FIG. 4, a large luminance is assigned to the pixel P1 of the environmental map M1. The pixel P1 having a large luminance indicates that an object has been placed at the position corresponding to the pixel P1 of the moving environment ME for a long period of time. That is, it means that the degree of variation in the placement of the object at that position is low (the variation degree value is small).
[0056] On the other hand, a smaller luminance than that of the pixel P1 is assigned to the pixel P2 of the environmental map M1. The pixel P2 having a small luminance indicates that an object has been placed at the position corresponding to the pixel P2 of the moving environment ME for a relatively short time. That is, it means that the degree of variation in the placement of the object at that position is large (the variation degree value is large).
[0057] Also, a luminance with a minimum value (a value close to the minimum value) is assigned to the pixel P3 of the environmental map M1. The pixel P3 having the minimum luminance indicates that no object has been placed at the position corresponding to the pixel P3 of the moving environment ME for a long period of time. A luminance with an intermediate value is assigned to the pixel P4 of the environmental map M1. The pixel P4 having the intermediate luminance indicates that it is unclear whether an object is placed at the position corresponding to the pixel P4 of the moving environment ME (for example, the content of the object and could not be detected by the laser range sensor 13).
[0058] The environmental map M1 in the initial state (for example, when the mobile device 1 is installed) can be created, for example, by moving the moving environment ME to the mobile device 1 by a user's operation. Specifically, specifically, a local map M2 is created from the map creation data DA2 acquired at each passing point during the movement by the user's operation, the self-position of the mobile device 1 is estimated, and each of the plurality of local maps M2 created by passing through a plurality of passing points from the start to the end of the movement is coordinate-converted from the local coordinate system to the global coordinate system to create a converted local map M2', and the environmental map M1 can be created by arranging each converted local map M2' at the corresponding passing point (estimated self-position). In addition, the environmental map M1 can be created using predetermined drawing software (for example, CAD software, etc.).
[0059] The frequency value map M3 is a map that assigns a frequency value representing the frequency at which an object was present at each of a plurality of positions included in the moving environment ME during a plurality of movements of the mobile device 1. The frequency value map M3 is defined in the same global coordinate system as the environmental map M1. Specifically, the frequency value map M3 has a configuration in which the above frequency values are assigned to information (for example, coordinate values) regarding a plurality of positions within the moving environment ME. The frequency value map M3 is created using a plurality of movement logs LOG acquired by a plurality of movements of the mobile device 1. As will be described later, the frequency value map M3 is used as a map in the initial state of the dynamic map used for estimating the self-position.
[0060] The frequency value map M3 has, for example, the same configuration as general image data. Specifically, as shown in FIG. 5, each of a plurality of positions within the moving environment ME is associated with a pixel of the image data, and the brightness of each pixel is associated with the above frequency value, thereby constituting the frequency value map M3. FIG. 5 is a diagram showing an example of the configuration of the frequency value map.
[0061] In the example of the frequency value map M3 shown in FIG. 5, a brightness of a predetermined value is assigned to the pixel P5 of the frequency value map M3. The pixel P5 having the brightness of the predetermined value indicates that an object is arranged (detected) at a relatively high frequency at the position corresponding to the pixel P5 of the moving environment ME during a plurality of movements. That is, it indicates that the frequency of object detection at that position is high (the frequency value is large). Further, the brightness of the pixel corresponding to the position where the object is arranged (detected) is adjusted according to the height of the frequency (the magnitude of the frequency value) at which the object is arranged. Specifically, a large brightness is assigned to the pixel corresponding to the position where the object is arranged at a very high frequency (for example, all of a plurality of movements). On the other hand, a small brightness is assigned to the pixel corresponding to the position where the frequency of arrangement (detection) of the object is medium (for example, about half of a plurality of movements).
[0062] Also, for pixel P6 of the frequency value map M3, a luminance value of the minimum value (a value close to the minimum value) is assigned. Pixel P6 having the luminance value of the minimum value indicates that no object is placed (or the placement frequency is extremely low) at the position corresponding to pixel P6 of the moving environment ME. For pixel P7 of the frequency value map M3, a luminance value of the intermediate value is assigned. Pixel P7 having the luminance value of the intermediate value indicates that it is unknown whether an object is placed, similar to the environmental map M1.
[0063] The movement log LOG is log data that records data acquired by various sensors (encoder 125a, 125b, laser range sensor 13) when the mobile device 1 moves in the moving environment ME. The movement log LOG includes data that serves as input for self-position estimation. Specifically, the movement log LOG includes map creation data DA2 acquired at each of a plurality of passing points passed by the mobile device 1 during movement, and movement amount data DA1 representing the amount of movement when moving between two passing points. The movement log LOG is created every time the mobile device 1 moves.
[0064] The travel schedule TS is data representing a path that the mobile device 1 is to move along. The travel schedule TS is composed of, for example, a start point, an end point, and a plurality of passing points that the mobile device 1 passes through from the start point to the end point when it is desired to move the mobile device 1 autonomously. These start point, end point, and passing points are represented as coordinate values in, for example, the coordinate system that defines the environmental map M1. Information such as the time to pass each passing point (elapsed time from the start of movement) and the speed of the mobile device 1 at each passing point may be associated with the travel schedule TS.
[0065] The travel schedule TS can be created, for example, by performing self-position estimation at each passing point while moving the mobile device 1 by a user's operation and arranging the self-position estimated positions (coordinate values) in the order of passage. Alternatively, the travel schedule TS can be created using a predetermined path planning algorithm.
[0066] Return to the description of the control device 14. The control unit 143 is a CPU, interface, etc. that constitute the control device 14, and executes various information processes related to the control of the mobile device 1. Some or all of the functions of the control unit 143 described below may be realized as a program executable in the control device 14. Further, the program may be stored in the storage unit 141 of the control device 14. Alternatively, some or all of the above functions may be realized by hardware provided in the control device 14 such as a custom IC.
[0067] The control unit 143 acquires the map creation data DA2 from the laser range sensor 13 and creates a local map M2 from the acquired map creation data DA2. Specifically, the local map M2 can be created by converting the data (data consisting of distance and angle) included in the map creation data DA2 into coordinate values in a local coordinate system with the mobile device 1 as the origin.
[0068] While the mobile device 1 is moving in the movement environment ME, the control unit 143 estimates the self-position of the mobile device 1 in the movement environment ME and / or the attitude information representing the angle (direction) in which the main body 11 of the mobile device 1 is facing in the movement environment ME. Specifically, the mobile device 1 estimates its self-position and attitude information in the movement environment ME based on the environmental map M1 representing the arrangement state of the objects in the movement environment ME, the above local map M2, the frequency value map M3, and the movement amount of the mobile device 1.
[0069] Each time the mobile device 1 moves in the movement environment ME, the control unit 143 acquires a movement log LOG. Specifically, the control unit 143 associates the map creation data DA2 acquired by detecting an object using the laser range sensor 13 at each of a plurality of passing points passed from the start point to the end point of a single movement, and the movement amount data DA1 acquired by the encoders 125a and 125b when moving between two passing points (the passing point where the map creation data DA2 was acquired and the previous passing point) to acquire the movement log LOG.
[0070] The control unit 143 controls the motors 121a and 121b. For example, the control unit 143 calculates the respective control amounts of the motors 121a and 121b, and outputs the drive power based on the control amounts to the motors 121a and 121b respectively. The control unit 143 calculates the control amounts of the motors 121a and 121b so that the rotation amount (rotation speed) per unit time of the motors 121a and 121b input from the encoders 125a and 125b becomes the desired rotation speed (feedback control).
[0071] The control unit 143 is capable of executing either the autonomous mode or the manual mode. Whether to execute either the autonomous mode or the manual mode can be switched, for example, by an operation by the user.
[0072] When the autonomous mode is executed, the control unit 143 calculates the respective control amounts of the motors 121a and 121b based on the difference between the position (coordinate value) and / or attitude information shown in the travel schedule TS stored in the storage unit 141 and the self-position and / or attitude information estimated during movement, and outputs the drive power based on the calculated control amounts to these motors. Thereby, the control unit 143 can autonomously move the moving device 1 according to the travel schedule TS when the autonomous mode is executed.
[0073] On the other hand, when the manual mode is executed, the control unit 143 receives, for example, an operation of the user using a controller or computer system capable of communicating with the moving device 1 wirelessly or wiredly, or an operation device such as an operation handle (not shown) provided on the moving device 1, and controls the motors 121a and 121b based on the operation of the user. Thereby, the moving device 1 can be moved by the operation of the user. The manual mode is executed, for example, when creating the initial environmental map M1 and the travel schedule TS.
[0074] (3) Management server Next, the configuration of the management server 3 will be described with reference to FIG. 6. FIG. 6 is a diagram showing the configuration of the management server. The management server 3 includes a storage unit 31 and an information processing unit 33. The storage unit 31 is a part of the storage area of the storage device that constitutes the management server 3. The storage unit 31 stores various data for managing the mobile device 1. The storage unit 31 stores the environment map M1 to be updated, a plurality of movement logs LOG, and a frequency value map M3 created from the plurality of movement logs LOG.
[0075] The information processing unit 33 is a CPU, an interface, etc. that constitute the management server 3, and executes various information processes related to the management of the mobile device 1. Part or all of the functions of the information processing unit 33 may be realized as a program executable on the management server 3. Further, the program may be stored in the storage unit 31 of the management server 3.
[0076] The information processing unit 33 receives the movement log LOG from the mobile device 1 and stores it in the storage unit 31. Further, the information processing unit 33 creates a plurality of temporary environment maps representing the arrangement of temporary objects in the movement environment ME from the plurality of movement logs LOG received from the mobile device 1, and creates a frequency value map M3 based on the plurality of temporary environment maps. The information processing unit 33 updates the environment map M1 to be updated based on the created frequency value map M3. The information processing unit 33 transmits the created frequency value map M3 and the updated environment map M1 to the mobile device 1.
[0077] As described above, the information processing unit 33 creates a temporary environment map from the movement log LOG including the movement amount data DA1 and the map creation data DA2. Therefore, the information processing unit 33 has a function capable of reproducing and executing the estimation process of the self-position and posture of the mobile device 1 during movement when the movement log LOG is acquired, and the map creation process using the movement log LOG.
[0078] (4) Operation of the movement system (4-1) Outline operation The operation of the mobile system 100 will be described below. First, the schematic operation of the mobile system 100 will be described with reference to FIG. 7. FIG. 7 is a flowchart showing the schematic operation of the mobile system. First, the control unit 143 of the control device 14 of the mobile device 1 determines whether the user has selected an operation mode (step S1). When the user selects an operation mode (Yes in step S1), the control unit 143 determines whether the selected operation mode is the manual mode or the autonomous mode (step S2).
[0079] When it is determined that the selected operation mode is the manual mode (Manual Mode in step S2), the control unit 143 executes the manual mode (step S3). On the other hand, when it is determined that the selected operation mode is the autonomous mode (Autonomous Mode in step S2), the control unit 143 executes the autonomous mode (step S4).
[0080] Also, in the mobile system 100, it is determined whether to update the environmental map M1 stored in the storage unit 141 of the mobile device 1 (step S5). For example, when a predetermined time has elapsed since the previous update, when there is an operation by the user, when the estimated accuracy of the self-position by the control unit 143 of the mobile device 1 has decreased, when there is an update command for the environmental map M1 from the mobile device 1 to the management server 3, etc., it is determined to update the environmental map M1.
[0081] When updating the environmental map M1 (Yes in step S5), the control unit 143 of the mobile device 1 transmits the environmental map M1 to be updated, which is stored in the storage unit 141, to the management server 3. The information processing unit 33 of the management server 3 updates the received environmental map M1 (step S6). Note that the environmental map M1 may be updated by transmitting an update request for the environmental map M1 from the control unit 143 of the mobile device 1 to the management server 3 and replacing it with the environmental map M1 transmitted from the management server 3.
[0082] For example, when ending the operation of the mobile system 100, such as when an operation to stop the operation of the mobile system 100 is performed by the user (Yes in step S5), the operation of the mobile system 100 is stopped. Otherwise (No in step S5), the above steps S1 to S6 are continuously executed.
[0083] (4-2) Update operation of the environmental map Next, with reference to FIG. 8, the update operation of the environmental map M1 executed in step S6 above will be described. FIG. 8 is a flowchart showing the update operation of the environmental map. The following update operation is assumed to be executed by the information processing unit 33 of the management server 3.
[0084] First, the information processing unit 33 acquires a plurality of movement logs LOG from the mobile device 1 (step S11). Specifically, the control unit 143 of the mobile device 1 creates one movement log LOG every time the mobile device 1 moves in the movement environment ME and transmits it to the management server 3. The information processing unit 33 of the management server 3 receives the movement log LOG created by the mobile device 1 and stores it in the storage unit 141. This operation is repeatedly executed every time the mobile device 1 moves. Note that the movement log LOG may be created only during the execution of the autonomous mode, or may be created both during the execution of the autonomous mode and when the mobile device 1 is moved in the manual mode.
[0085] For example, if the mobile device 1 operates for a plurality of days and moves in the movement environment ME a plurality of times, a plurality of movement logs LOG of the movement environment ME will be stored in the storage unit 31 of the management server 3. Note that the control unit 143 of the mobile device 1 may transmit a plurality of movement logs LOG created by the mobile device 1 moving a plurality of times to the management server 3 at once.
[0086] Next, the information processing unit 33 creates a temporary environmental map using each of the plurality of movement logs LOG acquired in step S11 (step S12). The temporary environmental map is a map representing the arrangement state of the objects in the movement environment ME at a specific movement indicated by one movement log LOG that is the basis of the temporary environmental map.
[0087] Specifically, the information processing unit 33 creates a temporary environmental map from the movement log LOG as follows. First, when the information processing unit 33 acquires the target movement log LOG, it reproduces the estimation process of the self-position and attitude information executed during the movement. Specifically, the information processing unit 33 reproduces the estimation process of the self-position and attitude information executed during this movement according to the flowchart shown in FIG. 13 described later.
[0088] However, when performing position estimation by dead reckoning (that is, when executing step S232 in FIG. 13), the information processing unit 33 estimates the movement amount and attitude change of the moving device 1 from the previous passing point (previously estimated position) to the current passing point (position to be estimated this time) based on the movement amount data DA1 representing the movement amount, and adds the movement amount and attitude change estimated this time to the self-position and attitude information estimated as the previous passing point, thereby estimating the position of the current passing point in the movement environment ME and the direction (attitude information) of the moving device 1 at the current passing point.
[0089] In addition, when the information processing unit 33 performs position estimation by map matching (that is, when executing steps S231 and S233 in FIG. 13), it creates a local map M2 by performing coordinate conversion on the map creation data DA2 acquired at the current passing point, creates a converted local map M2' by converting the coordinate values of the data included in this local map M2 into the coordinate values of the global coordinate system, and executes map matching of this converted local map M2' with the environmental map M1 and the dynamic map.
[0090] After executing the estimation process for the self-position and posture information, the information processing unit 33 arranges the transformed local map M2' created by coordinate transformation from the map creation data DA2 acquired at the passing point for each of the plurality of estimated passing points (coordinate values in the global coordinate system), and rotates the transformed local maps M2' arranged at each passing point based on the estimated posture information to create a temporary environmental map. By repeating this operation of creating the temporary environmental map for a plurality of movement logs LOG, a plurality of temporary environmental maps can be created.
[0091] The temporary environmental map created as described above has a data configuration similar to the environmental map M1 and the frequency value map M3. That is, the temporary environmental map is image data in which each of a plurality of positions in the movement environment ME is associated with a pixel, and the luminance of each pixel is associated with the presence or absence of an object (object detected / not detected) at the corresponding position.
[0092] In this way, the temporary environmental map is created for one movement log LOG, that is, for one movement of the mobile device 1. Therefore, the plurality of temporary environmental maps represent the change in the arrangement state of the objects in the movement environment ME during a predetermined period until the mobile device 1 completes a plurality of movements.
[0093] After creating a plurality of temporary environmental maps, the information processing unit 33 creates a frequency value map M3 based on the plurality of created temporary environmental maps (step S13). The information processing unit 33 assigns a frequency value representing the frequency of an object existing at the position in a plurality of movements to each of the plurality of positions (coordinate values) in the movement environment ME to create a frequency value map. More specifically, the information processing unit 33 assigns a luminance corresponding to the frequency value at the position corresponding to the pixel to each pixel (corresponding to each position in the movement environment ME) included in the frequency value map M3 to create the frequency value map M3.
[0094] The information processing unit 33 determines the above frequency value based on the comparison of a plurality of temporary environmental maps. Specifically, for each pixel of the plurality of temporary environmental maps, the information processing unit 33 determines the frequency value according to the number of occurrences of "object present" (for example, the pixel has the maximum or nearly maximum luminance), "object absent" (for example, the pixel has the minimum or nearly minimum luminance), and "unknown presence or absence of object" (for example, the pixel has an intermediate luminance).
[0095] For example, for a specific pixel in five temporary environmental maps, if the number of occurrences of "object present" is 5 times, the maximum frequency value is given to the position corresponding to the pixel. That is, the pixel corresponding to the position in the frequency value map M3 is assigned the maximum or nearly maximum luminance. Also, if the number of occurrences of "object absent" is 5 times, the minimum frequency value is given to the position corresponding to the pixel. That is, the pixel corresponding to the position in the frequency value map M3 is assigned the minimum or nearly minimum luminance.
[0096] Also, for example, for a specific pixel in five temporary environmental maps, if the number of occurrences of "object present" is 3 times and the number of occurrences of "object absent" is 2 times, that is, when the number of occurrences of "object present" is large but not the maximum value (5 times), a frequency value corresponding to the occurrence ratio of "object present" (3 / 5 = 60%) is given to the position corresponding to the pixel. For example, a frequency value of 60% of the maximum value is given. That is, the pixel corresponding to the position in the frequency value map M3 is assigned a luminance corresponding to the occurrence ratio of "object present" (luminance of 60% of the maximum luminance).
[0097] On the other hand, for example, for a specific pixel in five temporary environmental maps, if the number of occurrences of "object present" is 2 times and the number of occurrences of "object absent" is 3 times, that is, when the number of occurrences of "object absent" is large but not the maximum value, a frequency value corresponding to the occurrence ratio of "object absent" (60%) is given to the position corresponding to the pixel. For example, a frequency value of 40% of the maximum value is given. That is, the pixel corresponding to the position in the frequency value map M3 is assigned a luminance corresponding to the occurrence ratio of "object absent" (luminance of 40% of the maximum luminance).
[0098] For each pixel of a plurality of temporary environmental maps, count the number of occurrences of "object present", "object absent", and "object presence / absence unknown", determine a frequency value to be assigned to each position in the moving environment ME according to the number of occurrences of these luminances, and assign a luminance corresponding to the determined frequency value to each pixel (a pixel corresponding to each position in the moving environment ME) of the frequency value map M3. By repeating this process for all positions (pixels) included in the frequency value map M3, the frequency value map M3 can be created.
[0099] After creating the frequency value map M3, the information processing unit 33 updates the environmental map M1 based on the created frequency value map M3 (step S14). The information processing unit 33 updates the environmental map based on a comparison between the degree-of-variation value assigned to each pixel (each position in the moving environment ME) of the environmental map M1 and the frequency value assigned to the corresponding pixel (position) of the frequency value map M3.
[0100] Specifically, the information processing unit 33 updates the environmental map M1 by increasing or decreasing the degree-of-variation value (luminance) assigned to each position (pixel) of the environmental map M1 according to the frequency value (luminance) assigned to the position (pixel) of the frequency value map M3 corresponding to each position.
[0101] More specifically, for example, when a large frequency value is assigned to a specific position (pixel) of the frequency value map M3 (that is, the number of occurrences of "object present" is large at that position), the information processing unit 33 increases the degree-of-variation value (luminance) assigned to the position (pixel) corresponding to the specific position of the environmental map M1. This increase width is determined according to the magnitude of the frequency value assigned to the specific position of the frequency value map M3.
[0102] On the other hand, for example, when a small frequency value is assigned to a specific position (pixel) of the frequency value map M3 (that is, the number of occurrences of "object absent" is large at that position), the information processing unit 33 decreases the degree-of-variation value (luminance) assigned to the position (pixel) corresponding to the specific position of the environmental map M1. This decrease width is determined according to the magnitude of the frequency value assigned to the specific position of the frequency value map M3.
[0103] Using FIGS. 9 to 11, the update result of the environmental map M1 when the above update process is executed will be described. FIG. 9 is a diagram showing an example of the environmental map before update. FIG. 10 is a diagram showing an example of the frequency value map created in step S13. FIG. 11 is a diagram showing an example of the environmental map after update.
[0104] For example, as shown in FIG. 9, in the environmental map M1 before update, it is shown that there are a relatively large object OB1 (e.g., a merchandise shelf, etc.), a round-shaped object OB2 (e.g., a product, etc.), and a triangular-shaped object OB3 (e.g., a product, etc.) in the moving environment ME.
[0105] Also, after the creation (update) of the environmental map M1 before update, it is assumed that the moving device 1 moves in the moving environment ME multiple times, and a frequency value map M3 as shown in FIG. 10 is obtained. In this frequency value map M3, the presence of object OB1 and object OB2 is recognized, but the presence of object OB3 is not recognized. Also, a new square-shaped object OB4 is recognized. That is, the object OB3 that existed in the moving environment ME when the environmental map M1 before update was created has disappeared, such as being removed from the moving environment ME during the period when the moving device 1 moves in the moving environment ME multiple times. On the other hand, the object OB4 that did not exist in the moving environment ME when the environmental map M1 before update was created has been newly placed in the moving environment ME during the period when the moving device 1 moves multiple times.
[0106] When the environmental map M1 shown in FIG. 9 is updated according to the process described above based on the frequency value map M3 shown in FIG. 10, an environmental map M1 as shown in FIG. 11 is obtained. Specifically, the brightness (degree of variation value) of the objects OB1 and OB2 that existed in both the environmental map M1 before the update and the frequency value map M3 is increased in the environmental map M1 after the update. The brightness (degree of variation value) of the object OB3 that existed in the environmental map M1 before the update but did not exist in the frequency value map M3 is decreased in the environmental map M1 after the update. On the other hand, for the object OB4 that did not exist in the environmental map M1 before the update but exists in the frequency value map M3, in the environmental map M1 after the update, a relatively small brightness (degree of variation value) is assigned to the position where the object OB4 exists (the pixel corresponding to the existence position).
[0107] By the update according to the above method, as the update progresses, the environmental map M1 is assigned a larger degree of variation value (brightness) for the position (the pixel corresponding to the position) where the object has been placed for a long time, a relatively small degree of variation value (brightness) for the position where the object has been placed for a short time, and a smaller degree of variation value (brightness) for the position where the object has not been placed for a long time. That is, by the update according to the above method, the environmental map M1 can be updated in consideration of the variation frequency of the object placement in the moving environment ME over a long period. The environmental map M1 updated in consideration of the long-term variation of the object placement is suitable for long-term operation. For example, as will be described later, by emphasizing the object placed at the same position in the moving environment ME for a long time, the self-position / orientation information of the moving device 1 can be estimated more accurately.
[0108] Also, the above update method updates the environmental map M1 by changing the degree of variation value (brightness) assigned to each position (pixel) included in the environmental map M1. Such an update method is also advantageous in that problems such as the shape, orientation, etc. of the environmental map M1 changing from the original environmental map M1 do not occur compared to the method of updating by creating the environmental map M1 again.
[0109] After updating the environmental map M1, the information processing unit 33 transmits the frequency value map M3 created in step S13 and the updated environmental map M1 to the mobile device 1 (step S15). The control unit 143 of the mobile device 1 that has received the frequency value map M3 and the updated environmental map M1 replaces the frequency value map M3 and the environmental map M1 stored in the storage unit 141 with the received frequency value map M3 and the updated environmental map M1, respectively, and stores them.
[0110] (4-3) Operation of the Mobile Device in Autonomous Mode Hereinafter, the autonomous movement operation by the mobile device 1 in the autonomous mode will be described. First, the mobile device 1 is placed at the movement start position (for example, the start point of the travel schedule TS), and the autonomous mode is executed. After that, the mobile device 1 starts autonomous movement. The autonomous movement is executed according to the flowchart shown in FIG. 12. FIG. 12 is a flowchart showing the autonomous movement operation of the mobile device.
[0111] First, the control unit 143 of the mobile device 1 acquires movement amount data DA1 representing the movement amount from the estimation of the previous self-position (previous passing point) to the current position (current passing point) from the encoders 125a and 125b, and acquires map creation data DA2 at the current position by detecting the objects existing around the mobile device 1 arranged at the current position (current passing point) with the laser range sensor 13 (step S21).
[0112] After that, the control unit 143 associates the movement amount data DA1 and the map creation data DA2 acquired in step S21 and records them in the movement log LOG (step S22).
[0113] Next, the control unit 143 estimates the current self-position of the mobile device 1 in the movement environment ME (step S23). The estimation of the self-position is executed according to the flowchart shown in FIG. 13. FIG. 13 is a flowchart showing the self-position estimation operation.
[0114] First, the control unit 143 creates a local map M2 representing the presence or absence of objects around the current position of the mobile device 1 (step S231). Specifically, the control unit 143 creates the local map M2 by converting the data (data consisting of distance and angle) included in the map creation data DA2 acquired in step S21 into coordinate values in a local coordinate system with the mobile device 1 as the origin.
[0115] After creating the local map M2, the control unit 143 estimates the self-position of the mobile device 1 and the orientation (posture information) in the movement environment ME of the mobile device 1 based on the created local map M2, the environmental map M1 stored in the storage unit 141, the dynamic map, and the movement amount of the mobile device 1. The dynamic map is created by using the frequency value map M3 stored in the storage unit 141 as an initial value (that is, the frequency value map M3 as the dynamic map at the start of movement) and arranging the local map M2 acquired so far in the frequency value map M3. By referring not only to the environmental map M1 but also to the dynamic map, the accuracy of map matching with the local map M2 can be improved. Also, by performing self-position estimation using the dynamic map with the frequency value map M3 as the initial value, the accuracy of map matching between the dynamic map and the local map M2 can be improved.
[0116] Specifically, the control unit 143 first estimates the movement amount and posture change of the mobile device 1 from the previous self-position estimation to the current position based on the movement amount data DA1 acquired in step S21, and adds the estimated movement amount and posture change to the previously estimated self-position and posture information to estimate the position and orientation of the mobile device 1 on the environmental map M1 and the dynamic map (position estimation by dead reckoning) (step S232).
[0117] Next, the data (coordinate values in the local coordinate system) included in the local map M2 created in step S231 is converted into coordinate values in the global coordinate system to create a converted local map M2'. The converted local map M2' is placed at the position on the environmental map M1 and the dynamic map calculated by dead reckoning. Further, the control unit 143 rotates the local map M2 at the position so as to correspond to the direction calculated by dead reckoning (step S233).
[0118] After placing the converted local map M2' on the environmental map M1 and the dynamic map as described above, map matching is performed between the environmental map M1 and the dynamic map and the converted local map M2'.
[0119] When performing map matching, in consideration of the estimation errors of the position and orientation by dead reckoning, a margin is provided for the placement position and the rotation angle when placing the converted local map M2' on the environmental map M1 and the dynamic map. Specifically, the control unit 143 places the converted local map M2' at a plurality of positions on the environmental map M1 and the dynamic map within a predetermined range centered on the position and orientation estimated by dead reckoning, and rotates the converted local map M2' within a predetermined rotation angle range at each of the plurality of positions. A matching score representing the degree of matching between the converted local map M2' and the environmental map M1 and the dynamic map at each of the plurality of positions and at each of the plurality of rotation angles is calculated.
[0120] First, a matching score between the converted local map M2' placed at a specific position on the environmental map M1 and the dynamic map and facing a specific direction and the environmental map M1 and the dynamic map is calculated (step S234).
[0121] The matching score is calculated as follows. First, the degree of coincidence between the presence or absence of an object at a specific position on the environmental map M1 and the presence or absence of an object at the position on the transformed local map M2' corresponding to the specific position is calculated. Also, the degree of coincidence between the presence or absence of an object at the specific position (pixel) on the dynamic map and the presence or absence of an object at the position on the transformed local map M2' corresponding to the specific position is calculated.
[0122] The degree of coincidence between the transformed local map M2' and the environmental map M1 is calculated as a large value when the degree of variation value assigned to a specific position (pixel) on the environmental map M1 is large and the presence or absence of an object at that position (pixel) on the transformed local map M2' is "object present", and when the degree of variation value assigned to a specific position (pixel) on the environmental map M1 is small and the presence or absence of an object at that position (pixel) on the transformed local map M2' is "object absent".
[0123] The degree of coincidence between the environmental map M1 and the transformed local map M2' varies depending on the magnitude of the degree of variation value even if there is an "object present" at a specific position on the environmental map M1 and the presence or absence of an object at that position on the transformed local map M2' is "object present". For example, when the degree of variation value is large, that is, when an object has been placed at the same position for a long period of time, the degree of coincidence is calculated as large. On the other hand, when the degree of variation value is small, that is, when an object has been placed for only a short period of time, the degree of coincidence is calculated as small. In this way, the degree of coincidence can be calculated while emphasizing objects placed at the same position for a long period of time. That is, map matching can be performed while emphasizing objects placed at the same position for a long period of time.
[0124] On the other hand, even when there is "no object" at a specific position on the environmental map M1 and the presence or absence of an object at the corresponding position on the transformed local map M2' is "no object", it varies depending on the magnitude of the degree of variation. For example, when the degree of variation value is small (close to the minimum value), that is, when no object has been placed at the same position for a long time, the degree of coincidence is calculated to be large. On the other hand, for a position where the degree of variation value is relatively large, that is, a position where an object has been placed for a short period of time, the degree of coincidence is calculated to be small.
[0125] The degree of coincidence between the transformed local map M2' and the dynamic map is calculated as a large value when the presence or absence of an object at a specific position (pixel) on the dynamic map is "object present" (or the frequency value is large) and the presence or absence of an object at the corresponding position (pixel) on the transformed local map M2' is "object present", and when the presence or absence of an object at a specific position (pixel) on the dynamic map is "no object" (or the frequency value is small) and the presence or absence of an object at the corresponding position (pixel) on the transformed local map M2' is "no object".
[0126] When calculating the degree of coincidence, for the environmental map M1, the calculated degree of coincidence is multiplied by a predetermined coefficient to adjust the value to a larger degree of coincidence. On the other hand, for the dynamic map, the calculated degree of coincidence is multiplied by a coefficient smaller than the above-mentioned predetermined coefficient to adjust the value to a smaller degree of coincidence. In this way, in the calculation of the matching score, the degree of coincidence between the environmental map M1 and the transformed local map M2' can be emphasized more.
[0127] Of the two degrees of coincidence calculated as described above, the larger one is adopted as the degree of coincidence between the transformed local map M2' and the environmental map M1 and the dynamic map at a specific position (pixel).
[0128] Thereafter, the above-described degree-of-match calculation process is repeatedly executed for all positions included in the transformed local map M2', and a plurality of degrees of match are calculated. The sum of the calculated degrees of match is defined as the matching score between the transformed local map M2' arranged at a specific position on the environmental map M1 and the dynamic map, facing a specific direction, and the environmental map M1 and the dynamic map.
[0129] Thereafter, at the specific position, the rotation angle of the transformed local map M2' is changed, and the matching score is calculated as described above. Also, the arrangement position of the transformed local map M2' is changed, and the matching score is calculated as described above (step S236). The above-described calculation of the matching score is repeated until it is performed for all of the above-mentioned plurality of positions and all of the above-mentioned plurality of rotation angles (that is, until step S235 becomes "Yes"). As a result, a matching score is calculated for each of the above-mentioned plurality of positions and each of the above-mentioned plurality of rotation angles.
[0130] Thereafter, among the matching scores calculated for each of the above-mentioned plurality of positions and each of the above-mentioned plurality of rotation angles, the arrangement position and rotation angle (orientation) of the transformed local map M2' when the maximum matching score is calculated are estimated as the current self-position and attitude information of the mobile device 1 (step S237).
[0131] After estimating the self-position and attitude information, the control unit 143 of the mobile device 1 creates a dynamic map by arranging the transformed local map M2' acquired so far in the frequency-value map M3 with the frequency-value map M3 stored in the storage unit 141 as the initial value (that is, the dynamic map at the start of movement) (step S238). Note that the created dynamic map is temporarily stored in the storage unit 141 and is deleted from the storage unit 141 when the autonomous movement ends.
[0132] Return to the description of the autonomous movement operation. After estimating the current self-position and attitude information of the mobile device 1 as described above, it is determined whether the mobile device 1 has reached the end point recorded in the travel schedule TS (step S24). If the self-position (and attitude information) estimated in step S23 does not match the end point recorded in the travel schedule TS and it is determined that the mobile device 1 has not reached the end point ( "No" in step S24), the control unit 143 determines the target passing point through which the mobile device 1 should move (step S25). Specifically, the control unit 143 determines, as the target passing point, the passing point that is closest to the estimated self-position among the passing points recorded in the travel schedule TS and that should be passed in the future.
[0133] After determining the target passing point, the control unit 143 controls the moving unit 12 to move the mobile device 1 from the current position to the target position (step S26). Specifically, the control unit 143 calculates the respective control amounts of the motors 121a and 121b of the moving unit 12 based on the difference between the target passing point determined in step S22 and the self-position and / or attitude information estimated during movement, and outputs the drive power based on the calculated control amounts to these motors.
[0134] Until the self-position (and attitude information) estimated in step S23 matches the end point recorded in the travel schedule TS and it is determined that the mobile device 1 has reached the end point (that is, until "Yes" in step S24), the processes of steps S21 to S26 described above are repeatedly executed.
[0135] On the other hand, if the self-position (and attitude information) estimated in step S23 matches the end point recorded in the travel schedule TS, it is determined that the mobile device 1 has reached the end point ( "Yes" in step S24), and the autonomous movement of the mobile device 1 is terminated.
[0136] When the autonomous movement of the mobile device 1 ends, the control unit 143 transmits a movement log LOG including a plurality of movement amount data DA1 and a plurality of map creation data DA2 acquired from the start to the end of this autonomous movement to the management server 3 (step S27). The management server 3 receives the movement log LOG transmitted from the mobile device 1 (control unit 143 thereof) and stores it in the storage unit 31. In this way, the management server 3 can acquire one movement log LOG for one movement of the mobile device 1.
[0137] 2. Other Embodiments As described above, the embodiments of the present invention have been described. However, the present invention is not limited to the above embodiments, and various modifications are possible without departing from the gist of the invention. In particular, the plurality of embodiments and modification examples described in this specification can be arbitrarily combined as needed. (A) The processing order of each step shown in the flowcharts of FIGS. 7, 8, 12, and 13, and / or the processing content in each step can be appropriately changed without changing the gist of the invention.
[0138] (B) The degree-of-variation value assigned to the environmental map M1 does not have to be luminance. For example, a parameter other than luminance may be used as the degree-of-variation value, and it may be associated with each pixel (position) of the environmental map M1.
[0139] (C) The self-position estimation of the mobile device 1 may be performed based only on map matching between the environmental map M1 and the local map M2. Even in this case, the environmental map M1 can be updated by the above method for updating the environmental map M1.
[0140] (D) The frequency value assigned to the frequency value map M3 may be the most frequent value. That is, for example, for a specific pixel of five temporary environmental maps, even if the number of occurrences of "object present" is 5 or 3, the same (maximum) frequency value may be assigned to the corresponding position (pixel) of the frequency value map M3.
[0141] (E) In the above-described first embodiment, the mobile device 1 acquires the movement log LOG, and the management server 3 executes the self-position estimation process using the movement log LOG for creating a temporary environmental map, the creation of the temporary environmental map, the update of the environmental map M1, and the creation of the frequency value map M3. As a result, the hardware resources (for example, the capacity of the storage unit 141) of the control device 14 of the mobile device 1 can be saved. Further, since the management server 3 generates the local map M2 (converted local map M2') again from the movement log LOG, it is possible to detect an abnormality (for example, environmental change, etc.) that was not noticed during autonomous movement.
[0142] The division of the processes assigned to the mobile device 1 and the processes assigned to the management server 3 is not limited to the above.
[0143] For example, the mobile device 1 may transmit to the management server 3 a plurality of sets of self-position and attitude information obtained by the self-position estimation process executed from the start to the end of the movement in the movement environment ME, and the converted local map M2' obtained at each self-position. Then, the management server 3 may create a temporary environmental map using the set of self-position and attitude information received from the mobile device 1 and the converted local map M2', and update the environmental map M1 and create the frequency value map M3 using this temporary environmental map. As a result, the management server 3 can create a temporary environmental map simply by connecting the converted local maps M2' after coordinate conversion, so that the processing in the management server 3 can be speeded up.
[0144] Further, for example, the mobile device 1 may create a temporary environmental map using a plurality of sets of self-position and attitude information obtained by the self-position estimation process executed from the start to the end of the movement in the movement environment ME, and the converted local map M2' obtained at each self-position, and transmit it to the management server 3. Then, the management server 3 may update the environmental map M1 and create the frequency value map M3 using this temporary environmental map. As a result, the configuration of the mobile system 100 becomes easy.
[0145] Furthermore, all of the methods for updating the environmental map M1 described above may be executed by the control unit 143 of the mobile device 1. In this case, the management server 3 may be omitted.
[0146] 3. Features of the Embodiment The features of the above embodiment can also be described as follows. (1) The method for updating an environmental map (for example, the environmental map M1) is used when estimating the position of a mobile device (for example, the mobile device 1) moving in a predetermined area (for example, the moving environment ME), and is a method for updating the environmental map representing the area. The method for updating the environmental map includes the following steps. ◎ A step of moving the mobile device to a predetermined area (for example, steps S3 and S4). ◎ For each of a plurality of passing points from the start to the end of the movement, a step of creating a local map (for example, the local map M2, the transformed local map M2') representing the presence or absence of an object around the mobile device (for example, steps S11 and S211). ◎ A step of creating a temporary environmental map representing the area during this movement using a plurality of local maps created from the start to the end of the movement (for example, step S12). ◎ A step of moving the mobile device to a predetermined area a plurality of times to obtain a plurality of temporary environmental maps (for example, step S12). ◎ Based on the plurality of obtained temporary environmental maps, for each of a plurality of positions included in the predetermined area, a step of assigning a frequency value representing the frequency of the presence of an object at the position in a plurality of movements to create a frequency value map (for example, the frequency value map M3) (for example, step S13). ◎ A step of updating the environmental map based on the frequency value map (for example, step S14).
[0147] In the above method for updating the environmental map, when the mobile device is moved a plurality of times within a predetermined area, a frequency value representing the frequency of the presence of an object at each position included in the predetermined area among these multiple movements is counted, and the counted frequency value is assigned to each position in the predetermined area to create a frequency value map, and the environmental map is updated based on this frequency value map.
[0148] By updating the environmental map based on the above frequency value map, the environmental map can be updated in consideration of the variation frequency of the arrangement of objects within a predetermined area over a long period. The environmental map updated in consideration of the long-term variation in the arrangement of objects is suitable for long-term operation.
[0149] (2) In the above updating method (1), in the environmental map, a variation degree value representing the degree of variation in the arrangement of objects at each position may be assigned to each of a plurality of positions included in the area. In this case, the step of updating the environmental map may include the step of updating the environmental map based on a comparison between the variation degree value of the environmental map and the frequency value of the frequency value map. Thereby, by appropriately updating the variation degree value of the environmental map, an appropriate update of the environmental map can be performed.
[0150] (3) In the above updating method (2), the step of updating the environmental map may include the step of updating the environmental map by increasing or decreasing the variation degree value assigned to each position of the environmental map according to the frequency value assigned to the position of the frequency value map corresponding to each position. Thereby, the variation degree value of the environmental map can be changed to correspond to the frequency value of the frequency value map, and a more appropriate update of the environmental map can be performed.
[0151] (4) In the above updating method (2) or (3), the variation degree value may be the brightness when the environmental map is displayed. Thereby, since the variation degree value can be represented by a parameter (brightness) conventionally included in the environmental map, the data amount of the environmental map does not increase even if the concept of the variation degree value is introduced into the environmental map. Also, by displaying this environmental map on the screen, the variation frequency of the object arrangement at each position in the predetermined area can be visually confirmed.
[0152] (5) Any of the update methods (1) to (4) above may further include a step (for example, step S23) of estimating the position of the mobile device in a predetermined area based on the updated environmental map, the frequency value map, and the amount of movement of the mobile device. Thereby, for example, using the updated environmental map, more importance is attached to the information of an object arranged at the same position for a long time, and an appropriate self-position estimation considering the variation frequency of the arrangement of the object over a long period can be performed, such as estimating the self-position of the mobile device.
[0153] (6) In any of the update methods (1) to (5) above, the step of creating a local map may have the following steps. ◎ At each of a plurality of passing points from the start to the end of the movement, a step (for example, step S21) of obtaining map creation data (for example, map creation data DA2) for creating a local map by detecting an object existing around the mobile device. ◎ A step (for example, step S12) of creating a plurality of local maps from the start to the end of the movement using the plurality of map creation data obtained from the start to the end of the movement.
[0154] Thereby, a more accurate local map for creating a temporary environmental map can be created using the map creation data actually obtained by the movement of the mobile device.
[0155] (7) The mobile device includes a moving part (for example, moving part 12) and a control part (for example, control part 143). The moving part moves the mobile device. The control part estimates the position of the mobile device using an environmental map representing a predetermined area and controls the moving part based on the estimated position.
[0156] The control unit moves the mobile device to a predetermined area, creates a local map representing the presence or absence of objects around the mobile device for each of a plurality of passing points from the start to the end of this movement, creates a temporary environmental map representing the predetermined area during this movement using the plurality of local maps created from the start to the end of this movement, moves the mobile device to the predetermined area a plurality of times to obtain a plurality of temporary environmental maps, and based on the plurality of obtained temporary environmental maps, assigns a frequency value representing the frequency of the presence of an object at each of a plurality of positions included in the predetermined area in a plurality of movements to create a frequency value map, and updates the environmental map based on the frequency value map.
[0157] In the above mobile device, when the control unit moves the mobile device to a predetermined area a plurality of times, it counts the frequency value representing the frequency of the presence of an object at each position included in the predetermined area among these plurality of movements, assigns the counted frequency value to each position of the predetermined area to create a frequency value map, and updates the environmental map based on this frequency value map.
[0158] By updating the environmental map based on the above frequency value map, the environmental map can be updated considering the variation frequency of the arrangement of objects within the predetermined area over a long period. The environmental map updated considering the long-term variation in the arrangement of objects is suitable for long-term operation.
[0159] (8) The management server (for example, management server 3) is a server that manages a mobile device that moves in a predetermined area and estimates its own position using an environmental map representing the area. When the mobile device moves in a predetermined area, it obtains map creation data by detecting objects existing around the mobile device at each of a plurality of passing points from the start to the end of this movement. The map creation data is data for creating a local map representing the presence or absence of objects around the mobile device. The mobile device transmits the plurality of map creation data obtained from the start to the end of this movement to the management server.
[0160] The management server includes an information processing unit (for example, information processing unit 33). The information processing unit uses a plurality of map creation data received from the mobile device to create a local map for each of a plurality of passing points from the start to the end of the movement when this map creation data is acquired, and uses the plurality of local maps created from the start to the end of this movement to create a temporary environmental map representing a predetermined area during this movement. Based on the plurality of temporary environmental maps obtained by multiple movements of the mobile device, for each of a plurality of positions included in the predetermined area, a frequency value representing the frequency at which an object existed at that position during multiple movements is assigned to create a frequency value map, and the environmental map is updated based on the frequency value map.
[0161] In the above management server, when the information processing unit causes the mobile device to move in a predetermined area multiple times, it counts the frequency value representing the frequency at which an object existed at each position included in the predetermined area among these multiple movements, assigns the counted frequency value to each position in the predetermined area to create a frequency value map, and updates the environmental map based on this frequency value map.
[0162] By updating the environmental map based on the above frequency value map, the environmental map can be updated in consideration of the variation frequency of the object arrangement within the predetermined area over a long period. The environmental map updated in consideration of the long-term variation of the object arrangement is suitable for long-term operation.
[0163] (9) The mobile system (for example, mobile system 100) includes a mobile device and a management server. The mobile device moves in a predetermined area and estimates its own position using an environmental map representing the predetermined area. The management server manages the mobile device. When the mobile device moves in a predetermined area, it acquires map creation data by detecting an object existing around the mobile device at each of a plurality of passing points from the start to the end of this movement. The map creation data is data for creating a local map representing the presence or absence of an object around the mobile device. The mobile device transmits the plurality of map creation data acquired from the start to the end of this movement to the management server.
[0164] The management server uses a plurality of map creation data received from the mobile device to create a local map for each of a plurality of passing points from the start to the end of the movement when the map creation data is acquired, and uses the plurality of local maps created from the start to the end of this movement to create a temporary environmental map representing the area during this movement. Based on the plurality of temporary environmental maps obtained by multiple movements of the mobile device, for each of a plurality of positions included in a predetermined area, a frequency value representing the frequency of an object existing at that position during multiple movements is assigned to create a frequency value map, and the environmental map is updated based on the frequency value map.
[0165] In the above movement system, when the management server causes the mobile device to move in a predetermined area multiple times, it counts the frequency value representing the frequency of an object existing at each position included in the predetermined area during these multiple movements, assigns the counted frequency value to each position in the predetermined area to create a frequency value map, and updates the environmental map based on this frequency value map.
[0166] By updating the environmental map based on the above frequency value map, the environmental map can be updated considering the variation frequency of the object arrangement within the predetermined area over a long period. The environmental map updated considering the long-term variation of the object arrangement is suitable for long-term operation.
Industrial Applicability
[0167] The present invention can be widely applied to a mobile device that moves in a predetermined area to estimate its own position, a management server that manages the mobile device, and a movement system including the mobile device and the management server.
Explanation of Reference Numerals
[0168] 100: Movement system 1: Mobile device 11: Main body 12: Movement unit 121a, 121b: Motors 123a, 123b: Wheels 125a, 125b: Encoders 13: Laser range sensor 131: First laser range sensor 133: Second laser range sensor 14: Control device 141: Memory unit 143: Control unit 15: Auxiliary wheel unit 15a, 15b: Auxiliary wheels 3: Management server 31: Memory unit 33: Information processing unit LOG: Movement log DA1: Movement amount data DA2: Data for map creation ME: Movement environment M1: Environmental map M2: Local map M2’: Transformed local map M3: Frequency value map TS: Travel schedule
Claims
1. A method for updating an environmental map representing a given area, which is used when estimating the position of a moving device in the area that moves in the given area, comprising: moving the moving device in the area; for each of a plurality of passing points from the start to the end of the movement, creating a local map representing the presence or absence of objects around the moving device; using the plurality of local maps created from the start to the end of the movement to create a temporary environmental map representing the area during this movement; moving the moving device in the area a plurality of times to obtain a plurality of temporary environmental maps; based on the plurality of obtained temporary environmental maps, for each of a plurality of positions included in the area, assigning a frequency value representing the frequency of the presence of an object at that position in a plurality of movements to create a frequency value map; updating the environmental map based on the frequency value map; An environmental map updating method comprising the above steps.
2. In the environmental map, a degree of variation value representing the degree of variation in the arrangement of objects at each position is assigned to each of a plurality of positions included in the area, The step of updating the environmental map includes the step of updating the environmental map based on a comparison between the degree of variation value of the environmental map and the frequency value of the frequency value map. The environmental map updating method according to claim 1.
3. The step of updating the environmental map includes the step of updating the environmental map by increasing or decreasing the degree of variation value assigned to each position of the environmental map according to the frequency value assigned to the position of the frequency value map corresponding to each position. The environmental map updating method according to claim 2.
4. The degree of variation value is the brightness when displaying the environmental map. The environmental map updating method according to claim 3.
5. The environmental map updating method according to any one of claims 1 to 4 further comprises the step of estimating the position of the moving device in the area based on the updated environmental map, the frequency value map, and the amount of movement of the moving device.
6. The step of creating the local map includes: at each of a plurality of passing points from the start to the end of the movement, detecting objects existing around the moving device to obtain map creation data for creating the local map; A step of creating a plurality of local maps from the start to the end of the movement using a plurality of map creation data acquired from the start to the end of the movement; The method for updating an environmental map according to any one of claims 1 to 5, comprising:
7. A mobile device that moves in a predetermined area, A moving part that moves the mobile device, A control unit that estimates the position of the mobile device using an environmental map representing the area and controls the moving part based on the estimated position, Comprising: The control unit, Moves the mobile device to the area, For each of a plurality of passing points from the start to the end of this movement, creates a local map representing the presence or absence of an object around the mobile device, Using a plurality of local maps created from the start to the end of this movement, creates a temporary environmental map representing the area during this movement, Moves the mobile device to the area a plurality of times to obtain a plurality of temporary environmental maps, Based on the plurality of acquired temporary environmental maps, for each of a plurality of positions included in the area, assigns a frequency value representing the frequency of the presence of an object at that position in a plurality of movements to create a frequency value map, Updates the environmental map based on the frequency value map. Mobile device.
8. A management server that manages a mobile device that moves in a predetermined area and estimates its own position using an environmental map representing the area, When the mobile device moves in the area, for each of a plurality of passing points from the start to the end of this movement, acquires map creation data for creating a local map representing the presence or absence of an object around the mobile device by detecting an object existing around the mobile device, Transmits the plurality of map creation data acquired from the start to the end of this movement to the management server, The management server includes an information processing unit, The information processing unit, Using the plurality of map creation data received from the mobile device, creates the local map for each of a plurality of passing points from the start to the end of the movement when the map creation data was acquired, Using a plurality of local maps created from the start to the end of this movement, creates a temporary environmental map representing the area during this movement, Based on the plurality of temporary environmental maps obtained by the plurality of movements of the mobile device, for each of a plurality of positions included in the area, assigns a frequency value representing the frequency of the presence of an object at that position in a plurality of movements to create a frequency value map. Updating the environmental map based on the frequency value map Management server
9. A mobile device that moves in a predetermined area and estimates its own position using an environmental map representing the area, A management server that manages the mobile device, and The mobile device is When moving in the area, at each of a plurality of passing points from the start to the end of this movement, by detecting an object existing around the mobile device, map creation data for creating a local map representing the presence or absence of an object around the mobile device is acquired, A plurality of pieces of map creation data acquired from the start to the end of this movement are transmitted to the management server, The management server is Using the plurality of pieces of map creation data received from the mobile device, for each of the plurality of passing points from the start to the end of the movement when the map creation data was acquired, the local map is created, Using the plurality of local maps created from the start to the end of this movement, a temporary environmental map representing the area at the time of this movement is created, Based on the plurality of temporary environmental maps obtained by the plurality of movements of the mobile device, for each of the plurality of positions included in the area, a frequency value representing the frequency of an object existing at the position in the plurality of movements is assigned to create a frequency value map, Updating the environmental map based on the frequency value map Mobile system
Citation Information
Patent Citations
Self-propelled equipment and program for the same
JP2005010907A