Information processing device, program, and information processing method
The information processing device corrects map distortions in autonomous mobile devices using SLAM technology by generating a third map based on conversion parameters, improving stability and preventing accidents.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-09-24
- Publication Date
- 2026-04-03
AI Technical Summary
Autonomous mobile devices using SLAM technology face map distortion due to error accumulation, compromising their stability and potentially leading to accidents.
An information processing device generates a third map based on conversion parameters from the autonomous mobile device's map to a server map, determining the device's map receiving function and transmitting the corrected map, allowing for accurate coordinate conversion and improved stability.
Enhances the stability of autonomous mobile devices by correcting map distortions, ensuring accurate position conversion and preventing potential accidents.
Smart Images

Figure 2026057726000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to an information processing device, a program, and an information processing method. [Background technology]
[0002] In recent years, technologies for managing the position of autonomous mobile devices that move autonomously using SLAM (Simultaneous Localization And Mapping) technology have been investigated. For example, Patent Document 1 discloses a technology for converting the coordinates of an environmental map constructed and internally maintained by an autonomous mobile device into coordinates in a plane rectangular coordinate system used by humans for position management. [Prior art documents] [Patent Documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2020-042366 [Overview of the Initiative] [Problems that the invention aims to solve]
[0004] However, due to factors such as the accumulation of errors during map construction, distortions may occur in the map held by the autonomous mobile device. In such cases, if the autonomous mobile device continues to operate using the distorted map, the stability of the autonomous mobile device's operation may be compromised. This compromise in the stability of the autonomous mobile device's operation could potentially lead to accidents (for example, a collision between the autonomous mobile device and a wall).
[0005] Therefore, the present invention has been made in view of the above problems, and the object of the present invention is to provide a novel and improved technology that can improve the stability of operation by an autonomous mobile device. [Means for solving the problem]
[0006] To solve the above problems, according to one aspect of the present invention, an information processing device is provided, comprising: a map generation unit that generates a third map based on a first conversion parameter calculated based on corresponding positions between a first map generated by an autonomous mobile device and a second map stored in advance, and the first map; and a transmission control unit that determines whether the autonomous mobile device has a map receiving function and controls the transmission of the third map to the autonomous mobile device by a transmission unit when it is determined that the autonomous mobile device has a map receiving function.
[0007] The information processing device may include a screen control unit that outputs the third map to the display unit.
[0008] The screen control unit may cause the second map and the third map to be output to the display unit.
[0009] The screen control unit may superimpose the second map and the third map and output them to the display unit.
[0010] The screen control unit may make the display mode of the second map and the display mode of the third map different.
[0011] The information processing device may include a selection unit that selects a plurality of neighboring points from a plurality of corresponding points indicating corresponding positions between the first map and the second map, from the position of the autonomous mobile device, and a conversion value calculation unit that calculates the first conversion parameter based on the selected neighboring points.
[0012] The selection unit may calculate a travel cost indicating the difficulty of reaching the corresponding point from the position of the autonomous mobile device, and based on the travel cost, select a plurality of neighboring points from among the corresponding points.
[0013] The selection unit may select two or more of the corresponding points as neighboring points, in order from the corresponding point with the lowest movement cost.
[0014] The selection unit acquires information on a movable area in the first map or the second map that indicates the range in which the autonomous mobile device can move, calculates the travel distance of the autonomous mobile device from its position to each of the corresponding points based on the information on the movable area, and may consider the corresponding point with a shorter travel distance to have a lower travel cost.
[0015] The information processing device may include an input unit that receives user input operations and a setting unit that sets the corresponding points based on the user input operations in the input unit.
[0016] Furthermore, in order to solve the above problems, according to another aspect of the present invention, a program is provided that causes a computer to function as: a map generation unit that generates a third map based on a first conversion parameter calculated based on corresponding positions between a first map generated by an autonomous mobile device and a second map stored in advance, and the first map; and a transmission control unit that determines whether the autonomous mobile device has a map receiving function and, if it is determined that the autonomous mobile device has a map receiving function, controls the transmission of the third map to the autonomous mobile device by a transmission unit.
[0017] Furthermore, in order to solve the above problems, according to another aspect of the present invention, there is a computer-based information processing method that includes generating a third map based on a first conversion parameter calculated based on corresponding positions between a first map generated by an autonomous mobile device and a second map stored in advance, and the first map; determining whether the autonomous mobile device has a map receiving function, and, if it is determined that the autonomous mobile device has a map receiving function, controlling the transmission of the third map to the autonomous mobile device by a transmission unit. [Effects of the Invention]
[0018] As described above, the present invention provides a novel and improved technology that can improve the stability of operation by an autonomous mobile device.
Brief Description of the Drawings
[0019] [Figure 1] It is a diagram for explaining the outline of an information processing system according to an embodiment of the present invention. [Figure 2] It is a diagram showing an example of a server map held by the information processing device 20. [Figure 3] It is a diagram showing an example of an autonomous mobile device map internally held by the autonomous mobile device 10. [Figure 4] It is a diagram showing another example of an autonomous mobile device map internally held by the autonomous mobile device 10. [Figure 5] It is a diagram for explaining the error before and after coordinate conversion of the position of the autonomous mobile device. [Figure 6] It is a block diagram showing a functional configuration example of the autonomous mobile device 10 according to an embodiment of the present invention. [Figure 7] It is a block diagram showing a configuration example of the information processing device 20 according to the present embodiment. [Figure 8] It is a block diagram for explaining the functions of the control unit 250. [Figure 9] It is a diagram for explaining an example of corresponding points between the autonomous mobile device map and the server map set by the setting unit 251. [Figure 10] It is a diagram for explaining an example of corresponding points set by the setting unit 251 based on a user's input operation. [Figure 11] It is a diagram for explaining the calculation of the movement cost and the selection of neighboring points by the selection unit 252. [Figure 12] It is a flowchart of preprocessing in the first operation example of the present information processing system. [Figure 13] It is a flowchart showing an operation example after completion of preprocessing in the first operation example of the present information processing system. [Figure 14] It is a flowchart of preprocessing in the second operation example of the present information processing system. [Figure 15] It is a flowchart showing an operation example after completion of preprocessing in the second operation example of the present information processing system. [Figure 16] This flowchart shows an example of the operation of the inverse transform parameter calculation process in the third operational example of this information processing system. [Figure 17] This flowchart shows an example of the operation of the movement instruction information generation process in the third operation example of this information processing system. [Figure 18] This is a flowchart illustrating the fourth operational example of this information processing system. [Figure 19] This is a diagram showing an example of a map display screen. [Figure 20] This figure shows an example of the hardware configuration of an information processing device 20 according to one embodiment of the present invention. [Modes for carrying out the invention]
[0020] Preferred embodiments of the present invention will be described in detail below with reference to the attached drawings. In this specification and drawings, components having substantially the same functional configuration are denoted by the same reference numerals, and redundant descriptions will be omitted.
[0021] Furthermore, in this specification and drawings, multiple components having substantially the same functional configuration may be distinguished by adding different numbers or letters after the same reference numeral. However, if there is no need to particularly distinguish each of multiple components having substantially the same functional configuration, each of the multiple components will be given only the same reference numeral.
[0022] <1. Overview> First, an overview of the information processing system according to one embodiment of the present invention will be described. As mentioned above, distortion may occur in the map held by the autonomous mobile device. In such cases, if the autonomous mobile device continues to operate using the distorted map, the stability of the autonomous mobile device's operation may be compromised. This compromise in the stability of the autonomous mobile device's operation may lead to some kind of accident (for example, a collision between the autonomous mobile device and a wall).
[0023] An information processing system according to one embodiment of the present invention can improve the stability of operation by an autonomous mobile device. Specifically, in the information processing system according to one embodiment of the present invention, the map generated by the autonomous mobile device is modified outside the autonomous mobile device. The modified map is then transmitted from outside the autonomous mobile device to the autonomous mobile device. The autonomous mobile device can update its own generated map with the map received from the outside and perform autonomous movement using the updated map.
[0024] However, since autonomous mobile devices are manufactured by various companies, the functions they possess may differ depending on the manufacturer. For example, whether or not an autonomous mobile device has the function to update its own generated map with a map received from an external source (hereinafter also referred to as the "receiving function") may vary depending on the manufacturer.
[0025] In an information processing system according to one embodiment of the present invention, it can be determined from outside the autonomous mobile device whether or not it has a map receiving function. If the autonomous mobile device has a map receiving function, the corrected map is transmitted from outside the autonomous mobile device. The autonomous mobile device with a map receiving function can update the map it has generated with the map received from the outside, and then use the updated map to perform autonomous movement.
[0026] <1-1. System Configuration Example> Figure 1 is a diagram illustrating the outline of an information processing system according to one embodiment of the present invention. As shown in Figure 1, the information processing system according to this embodiment includes an autonomous mobile device 10 and an information processing device 20. The autonomous mobile device 10 and the information processing device 20 are configured to communicate with each other.
[0027] (Autonomous mobile device 10) The autonomous mobile device 10 is an autonomous mobile device that has a moving mechanism such as wheels and is capable of moving by autonomous control. The application of the autonomous mobile device 10 is not particularly limited, and the autonomous mobile device 10 may be, for example, a cleaning robot or a service robot that provides various services to users such as serving food.
[0028] In the example shown in Figure 1, this information processing system has three autonomous mobile devices, 10A to 10C. Each of the autonomous mobile devices 10A to 10C moves autonomously within space S1.
[0029] Such an autonomous mobile device 10 has the function of estimating its own position while constructing a map of the surrounding environment using SLAM technology. Hereinafter, in this specification, the map constructed by each autonomous mobile device 10 will be referred to as the autonomous mobile device map. The autonomous mobile device map is an example of a first map.
[0030] Each autonomous mobile device 10 transmits position information indicating its own position to the information processing device 20 based on the result of self-position estimation. At this time, the position information of the autonomous mobile device 10 is represented by coordinates on the autonomous mobile device map that the autonomous mobile device 10 internally maintains.
[0031] (Information processing device 20) The information processing device 20 has the function of receiving location information of the autonomous mobile device 10 from each of the autonomous mobile devices 10 and converting said location information into coordinates on a map held by the information processing device 20. Hereinafter, in this specification, the map held by the information processing device 20 will be referred to as the server map. The server map is an example of a second map.
[0032] The information processing device 20 may be a general-purpose computer such as a workstation or PC, or it may be a cloud server.
[0033] Furthermore, the information processing device 20 may also include a display unit 270. The information processing device 20 may generate a display screen that shows the position of each autonomous mobile device 10 on the server map MW based on the position information of the autonomous mobile device 10 after it has been converted to coordinates on the server map. The information processing device 20 may output the generated display screen to the display unit 270. This allows the user of the information processing device 20 to confirm the position of each autonomous mobile device 10 on the server map MW displayed on the display unit 270.
[0034] The server map held by the information processing device 20 is a map that includes at least the area corresponding to each autonomous mobile device map of the autonomous mobile device 10. The server map may use image data of any map that the user wants to display the location of the autonomous mobile device 10.
[0035] Figure 2 shows an example of a server map held by the information processing device 20. The server map MW1 shown in Figure 2 is a floor map of the space S1 shown in Figure 1 as viewed from above. The server map MW1 may also show the movable area MA1, which is the area in which the autonomous mobile device 10 can move, and the wall positions W1, which indicate the locations of walls.
[0036] Furthermore, the information processing device 20 may have a function to transmit movement instruction information to each of the autonomous mobile devices 10 to a location specified on the server map MW based on user input.
[0037] <1-2. Clarifying the Issues> In this context, the construction of an environmental map using SLAM technology by an autonomous mobile device is generally based on the measurement of the distance between the autonomous mobile device and objects in the surrounding environment, and the estimation of the autonomous mobile device's own position. The autonomous mobile device acquires sensing data using sensors to estimate the distance to objects in the surrounding environment and the autonomous mobile device's own position. At this time, the accumulation of errors or noise contained in the sensing data may cause distortion in the environmental map constructed by the autonomous mobile device.
[0038] In this specification, distortion of the environmental map constructed by the autonomous mobile device refers to an error that occurs between the global positional relationship (relative positional relationship) of objects in the environmental map and their actual positional relationship.
[0039] For example, one method used for self-position estimation of an autonomous mobile device with wheels is odometry (also called dead reckoning), which calculates the device's position based on the sensing results of the wheel rotation angle. In this case, the autonomous mobile device has an internal sensor that detects the wheel rotation angle. In this method, the autonomous mobile device's position is estimated based on the wheel rotation speed calculated from the wheel rotation angle, but it is known that cumulative errors occur in the estimation results during the calculation process.
[0040] In the construction of environmental maps using autonomous mobile devices, if errors accumulate in the self-position of the autonomous mobile device and the distance measurement results with the surrounding environment, the global positional relationships of each location in the constructed environmental map may no longer be guaranteed.
[0041] The construction of an environmental map by an autonomous mobile device is based on the measurement of distances from the autonomous mobile device's current position to objects in the surrounding environment. For example, the autonomous mobile device measures the distance to walls around itself. As the autonomous mobile device moves, it measures distances to objects in the surrounding environment from different positions along its movement path. Therefore, the positional relationship of objects in the surrounding environment within the distance measurement range can be obtained with relatively high accuracy from the autonomous mobile device's position at the time of distance measurement. However, as the distance traveled by the autonomous mobile device increases and the discrepancy between the self-position estimation result and the actual position of the autonomous mobile device accumulates, the error in the global positional relationship of objects in the surrounding environment of the constructed environmental map becomes larger.
[0042] Figure 3 shows an example of an autonomous mobile device map internally maintained by the autonomous mobile device 10. The autonomous mobile device map ML1 shown in Figure 3 is assumed to be a map showing space S1 constructed by the autonomous mobile device 10A moving through space S1 shown in Figure 1. It can be seen that the autonomous mobile device map ML1 shown in Figure 3 is distorted compared to the server map MW1 shown in Figure 2.
[0043] Figure 4 shows another example of an autonomous mobile device map internally maintained by the autonomous mobile device 10. The autonomous mobile device map ML2 shown in Figure 4 is assumed to be a map representing space S1, constructed by the autonomous mobile device 10B shown in Figure 1. It can be seen that the autonomous mobile device map ML2 shown in Figure 4 is also distorted compared to the server map MW1 shown in Figure 2. Furthermore, it can be seen that the distortions occurring in the autonomous mobile device map ML1 shown in Figure 3 and the autonomous mobile device map ML2 shown in Figure 4 are different.
[0044] Thus, if the autonomous mobile device map constructed by the autonomous mobile device contains distortions, there is a possibility that the error between the actual position of the autonomous mobile device and its position on the map after conversion will become large when the position of the autonomous mobile device is converted to coordinates on the server map.
[0045] Figure 5 illustrates the error in the coordinate transformation of the autonomous mobile device's position. As shown on the left side of Figure 5, assume that the autonomous mobile device 10A is located at the actual position RP1 in space S1.
[0046] As shown in the center of Figure 5, the autonomous mobile device 10A performed self-position estimation and estimated its own position as the estimated self-position LP1 on the autonomous mobile device map ML1. It is understood that the autonomous mobile device map ML1 contains distortions when compared to the global positional relationships of the environment in the actual space S1.
[0047] If the coordinates on the server map are converted based on the position information of the estimated self-position LP1 estimated by the autonomous mobile device 10A, without considering the distortion contained in the autonomous mobile device map ML1, an error will occur between the actual position of the autonomous mobile device 10A in space S1 (actual position RP1) and the converted position SP1, which is the position on the server map MW1 based on the position information after coordinate conversion, as shown in the server map MW1 on the right side of Figure 5.
[0048] Therefore, the information processing system according to one embodiment of the present invention was conceived in view of the above circumstances, and realizes a novel and improved technology that can convert the coordinates of the position of an autonomous mobile device with greater accuracy.
[0049] To this end, the information processing device 20 according to one embodiment of the present invention selects a plurality of neighboring points from a plurality of corresponding points indicating corresponding locations between the autonomous mobile device map constructed by each of the autonomous mobile devices 10 and the server map, from the location of each of the autonomous mobile devices 10.
[0050] Furthermore, the information processing device 20 according to this embodiment calculates a first transformation parameter that converts the position of the autonomous mobile device into coordinate values on the server map based on a plurality of selected neighboring points.
[0051] In this case, the information processing device 20 according to this embodiment may calculate a travel cost indicating the difficulty of reaching each corresponding point as the autonomous mobile device 10 moves through the movable area. The travel cost may be, for example, the distance required for the autonomous mobile device 10 to move from its current position through the movable area to reach each corresponding point. The information processing device 20 may select two or more corresponding points as neighboring points, in order from the corresponding point with the lowest travel cost.
[0052] As explained above, in the autonomous mobile device map constructed by the autonomous mobile device, it is estimated that two points that are closer together are less affected by positional discrepancies due to sensor errors and therefore have higher positional accuracy than two points that are farther apart. Therefore, the information processing device 20 can calculate conversion parameters with higher accuracy by calculating conversion parameters based on the nearest point in the correspondence between the autonomous mobile device map and the server map that is closer in distance from the autonomous mobile device's position.
[0053] Furthermore, the information processing device 20 uses the calculated first conversion parameter to convert the position information of the autonomous mobile device 10, which was obtained from the autonomous mobile device 10, into coordinates on the server map.
[0054] As a result, the information processing device 20 can convert the position of the autonomous mobile device to coordinates on the server map using conversion parameters calculated based on the correspondence between the autonomous mobile device map and the server map. Therefore, even if the autonomous mobile device map contains distortions, the coordinates of the autonomous mobile device's position can be converted to coordinates on the server map with greater accuracy.
[0055] Furthermore, the information processing device 20 may calculate a second transformation parameter based on the first transformation parameter it has calculated, which inversely transforms the coordinates of the position on the server map to the coordinates on the autonomous mobile device map.
[0056] Furthermore, the information processing device 20 may, based on the second conversion parameter, inversely convert the position specified on the server map to coordinates on the autonomous mobile device map, and use the inversely converted coordinates to generate movement instruction information, including movement instructions to the autonomous mobile device. The information processing device 20 may also transmit the generated movement instruction information to the autonomous mobile device 10.
[0057] As a result, the information processing device 20 can, for example, receive instructions from a user regarding the location to move to the autonomous mobile device by specifying the location on the server map, and generate more accurate movement instruction information using a second conversion parameter.
[0058] The outline of an information processing system according to one embodiment of the present invention has been described above with reference to Figure 1. In Figure 1, an example is shown in which the information processing system according to this embodiment has three autonomous mobile devices, namely autonomous mobile devices 10A to 10C. However, the number of autonomous mobile devices 10 is not limited to this example. For example, the information processing system according to this embodiment may have one or two autonomous mobile devices 10. Alternatively, the information processing system according to this embodiment may have four or more autonomous mobile devices 10.
[0059] Furthermore, although Figure 1 illustrates an example where the information processing device 20 is a general-purpose computer, the present invention is not limited to this example. For example, the information processing device 20 may be implemented as an information processing terminal such as a tablet device, smartphone, mobile phone, or PC (Personal Computer).
[0060] The following describes in detail an example of the functional configuration of the autonomous mobile device 10 and the information processing device 20 that realize the above.
[0061] <2. Example of Functional Configuration> <2-1. Autonomous Mobile Device 10> Figure 6 is a block diagram showing an example of the functional configuration of an autonomous mobile device 10 according to one embodiment of the present invention. As shown in Figure 6, the autonomous mobile device 10 includes a communication unit 110, a control unit 120, a sensor unit 130, a drive unit 140, and a storage unit 150.
[0062] (Communications Department 110) The communication unit 110 has the function of communicating with other devices in accordance with the control unit 120. For example, the communication unit 110 transmits location information indicating the position of the autonomous mobile device 10 estimated by the control unit 120 to the information processing device 20. The communication unit 110 also transmits the autonomous mobile device map generated by the control unit 120 to the information processing device 20.
[0063] Furthermore, the communication unit 110 may receive movement instruction information from the information processing device 20 that indicates the location of the destination to which the autonomous mobile device 10 will move.
[0064] (Control unit 120) The control unit 120 has the function of controlling the overall operation of the autonomous mobile device 10. For example, the control unit 120 controls the communication unit 110 to transmit location information of the autonomous mobile device 10 and a map of the autonomous mobile device to the information processing device 20.
[0065] Furthermore, the control unit 120 has the function of controlling the drive unit 140, which will be described later, and controlling the movement of the autonomous mobile device 10. For example, when the control unit 120 receives movement instruction information from the information processing device 20, it may control the autonomous mobile device 10 to move to the destination based on the destination location information included in the movement instruction information.
[0066] Furthermore, the control unit 120 has the function of generating map information of the surrounding environment of the autonomous mobile device 10 (autonomous mobile device map) and estimating the autonomous mobile device 10's own position, based on sensing data acquired by the sensor unit 130 using SLAM technology.
[0067] Furthermore, if the control unit 120 has a map receiving function, it acquires the corrected autonomous mobile device map transmitted from the information processing device 20 and received by the communication unit 110. The control unit 120 then updates the map information of the autonomous mobile device map stored in the storage unit 150 with the corrected autonomous mobile device map received by the communication unit 110. The control unit 120 controls autonomous movement using the updated autonomous mobile device map. This is expected to improve the stability of operation by the autonomous mobile device 10.
[0068] (Sensor unit 130) The sensor unit 130 has the function of acquiring various sensing data used for generating an environmental map by the control unit 120 and for self-position estimation processing.
[0069] For example, the sensor unit 130 may include an internal sensor that acquires sensing data indicating the position and orientation of the autonomous mobile device 10. The internal sensor may be, for example, an IMU (Inertial Measurement Unit), a gyro sensor, or an angular velocity sensor. The control unit 120 may perform self-position estimation based on the sensing data acquired by the sensor unit 130, such as the movement speed, direction of movement, orientation, and tilt of the autonomous mobile device 10.
[0070] Furthermore, the sensor unit 130 may further include an external sensor capable of measuring the distance to objects located in the surrounding environment of the autonomous mobile device 10. The external sensor may be, for example, a Lidar (Light Detection and Ranging) sensor, a distance measuring sensor, a camera, an ultrasonic distance sensor (sonar), or a millimeter-wave radar. The control unit 120 may generate an autonomous mobile device map based on the distances to objects in the surrounding environment measured by the sensor unit 130.
[0071] (Drive unit 140) The drive unit 140 has the function of moving the autonomous mobile device 10 in accordance with the control of the control unit 120. The drive unit 140 may be realized by a movement mechanism for the autonomous mobile device 10 to move, such as wheels, and a drive device such as a motor that drives and controls the movement mechanism.
[0072] (Storage unit 150) The memory unit 150 stores programs and data necessary for operating the control unit 120. The memory unit 150 can also temporarily store various data required during the operation of the control unit 120.
[0073] Furthermore, the memory unit 150 stores map information of the autonomous mobile device map generated by the control unit 120. The memory unit 150 also holds location information of the autonomous mobile device 10 estimated by the control unit 120.
[0074] The above describes an example of the functional configuration of the autonomous mobile device 10 according to this embodiment. It should be noted that the above example of functional configuration, as illustrated with Figure 6, is merely an example, and the configuration of the autonomous mobile device 10 according to this embodiment is not limited to this example.
[0075] For example, the autonomous mobile device 10 may further include an input unit for receiving information from a user, and a display unit for displaying various types of information. The configuration of the autonomous mobile device 10 according to this embodiment can be flexibly modified according to the specifications and operation.
[0076] <2-2. Information Processing Device 20> Next, an example of the configuration of the information processing device 20 according to this embodiment will be described with reference to Figures 7 and 8. Figure 7 is a block diagram showing an example of the configuration of the information processing device 20 according to this embodiment. As shown in Figure 7, the information processing device 20 has a communication unit 210, a storage unit 230, a control unit 250, a display unit 270, and an input unit 290.
[0077] (Communications Department 210) The communication unit 210 has the function of communicating with other devices in accordance with the control unit 250. For example, the communication unit 210 receives location information of the autonomous mobile device 10 from the autonomous mobile device 10. The communication unit 210 also receives map information (autonomous mobile device map information) of the autonomous mobile device map held by the autonomous mobile device 10 from the autonomous mobile device 10.
[0078] Furthermore, the communication unit 210 may transmit movement instruction information to the autonomous mobile device 10 in accordance with the control of the control unit 250.
[0079] (Storage unit 230) The memory unit 230 stores programs and data necessary for operating the control unit 250. The memory unit 230 can also temporarily store various data required during the operation of the control unit 250.
[0080] Furthermore, the storage unit 230 stores map information (server map information) of the server map. The user of the information processing device 20 can set any map on the information processing device 20 on which they want to display the location of the autonomous mobile device 10. The server map information may be an indoor map such as a floor plan or a layout map, or an outdoor map such as a topographic map. The server map information may also be image data.
[0081] The information processing device 20 may accept the setting of server map information through user input operations in the input unit 290 and store it in the storage unit 230. Alternatively, the information processing device 20 may accept the setting of server map information by receiving image data of the server map via the communication unit 210.
[0082] Furthermore, the storage unit 230 stores autonomous mobile device map information received from each of the autonomous mobile devices 10. Alternatively, the storage unit 230 may store autonomous mobile device map information that has been pre-configured by the administrator of the information processing device 20.
[0083] Furthermore, the memory unit 230 stores information on transformation parameters used in coordinate transformation processing, which is calculated by the control unit 250, described later.
[0084] (Control unit 250) The control unit 250 has the function of controlling the overall operation of the information processing device 20. For example, the control unit 250 controls the communication unit 210 to receive position information of the autonomous mobile device 10.
[0085] Such a control unit 250 has a function to calculate conversion parameters for converting the coordinates of the autonomous mobile device's position received from the autonomous mobile device 10 from coordinates on the autonomous mobile device map to coordinates on the server map. Based on the calculated conversion parameters, the control unit 250 performs coordinate transformation processing.
[0086] Furthermore, the control unit 250 may have a function to generate screens containing various information, such as a screen displaying a server map, and to display the generated screens on the display unit 270.
[0087] Furthermore, the control unit 250 may generate movement instruction information for the autonomous mobile device based on the converted coordinates. The details of the functions of the control unit 250 will be explained in more detail later with reference to Figure 8.
[0088] (Display section 270) The display unit 270 has the function of outputting various types of information to the screen in accordance with the control of the control unit 250. The display unit 270 may be a display device such as a CRT (Cathode Ray Tube) display device, a liquid crystal display (LCD), or an OLED (Organic Light Emitting Diode) device. Alternatively, the display unit 270 may be implemented as a separate display device configured to communicate with the information processing device 20. In this case, the display unit 270 may output the screen based on display data distributed from the information processing device 20 via the Internet. The distributed display data may be data composed of, for example, HTML (Hyper Text Markup Language) and JavaScript (registered trademark).
[0089] For example, the display unit 270 displays a server map in accordance with the control unit 250. The display unit 270 also displays a screen showing the position of the autonomous mobile device on the server map in accordance with the control unit 250.
[0090] (Input section 290) The input unit 290 has the function of accepting input operations from the user. The input unit 290 may be implemented by input devices such as a mouse, keyboard, numeric keypad, buttons, or controller used for general computer operation. Alternatively, the input unit 290 may acquire data received by the communication unit 210 via the internet as input data.
[0091] Alternatively, the input unit 290 of the information processing device 20 may be integrated with the display unit 270. In this case, the display unit 270 and the input unit 290 may be implemented by a touch panel.
[0092] Furthermore, the input unit 290 may be implemented by a microphone that accepts voice input.
[0093] (Details of the functions of the control unit 250) Next, the functions of the control unit 250 will be explained in more detail with reference to Figure 8. Figure 8 is a block diagram illustrating the functions of the control unit 250. As shown in Figure 8, the control unit 250 has the functions of a setting unit 251, a selection unit 252, a conversion value calculation unit 253, a coordinate transformation unit 254, a screen control unit 255, an instruction unit 256, a map generation unit 257, and a transmission control unit 258.
[0094] (Settings section 251) The setting unit 251 has the function of setting correspondence points between the autonomous mobile device map received from the autonomous mobile device 10 and the server map stored in the storage unit 230. A correspondence point refers to a corresponding position between the autonomous mobile device map and the server map.
[0095] Figure 9 illustrates an example of the correspondence between the autonomous mobile device map and the server map, as set by the setting unit 251. The server map MW1 shown on the left side of Figure 9 represents the server map stored in the information processing device 20. The autonomous mobile device maps ML1 and ML2 shown in the center and right sides of Figure 9 are assumed to be the autonomous mobile device maps generated by the autonomous mobile device 10A and the autonomous mobile device 10B, respectively, as shown in Figure 1.
[0096] Each of the corresponding points Pa to Pd refers to a point that corresponds to the same location between the server map MW1 and the autonomous mobile device map ML1 and the autonomous mobile device map ML2, respectively.
[0097] The setting unit 251 may set corresponding points between the autonomous mobile device map and the server map based on user input operations in the input unit 290. For example, the setting unit 251 may set a specified position on the autonomous mobile device map displayed on the display unit 270 and on the server map as a corresponding point between the autonomous mobile device map and the server map based on user input operations in the input unit 290.
[0098] Figure 10 illustrates an example of a correspondence point set by the setting unit 251 based on user input. Screen D1 shown in Figure 10 is an example of a screen that accepts user input of a correspondence point. The screen control unit 255, which will be described later, may generate a screen like screen D1 for accepting the setting of correspondence points for the server map MW and the autonomous mobile device map ML, and display it on the display unit 270.
[0099] Screen D1 displays the server map MW1 and the autonomous mobile device map ML1, and includes a user guide on how to set corresponding points. The setting unit 251 may set the location on the server map MW1 and the location on the autonomous mobile device map ML1 as corresponding points, which the user may have specified by inputting into the input unit 290.
[0100] The correspondence points between the autonomous mobile device map and the server map are set at least two locations for the purpose of calculating the conversion parameters described later. The control unit 250 may generate a screen that includes guidance text prompting the user to set two or more correspondence points, as shown in screen D1 in Figure 10.
[0101] Furthermore, if the setting unit 251 detects that the user has selected or pressed the confirmation button B1 displayed on screen D1 in the input unit 290, it may set the position specified by the user's input to the corresponding point between the server map MW1 and the autonomous mobile device map ML1.
[0102] Furthermore, the setting unit 251 may set corresponding points on the autonomous mobile device map and the server map by performing image analysis on the autonomous mobile device map and the server map. For example, the setting unit 251 may extract corresponding points on the autonomous mobile device map and the server map by performing pattern recognition on the autonomous mobile device map and the server map, and then set the corresponding points.
[0103] The setting unit 251 may also extract feature points from the autonomous mobile device map and the server map. The setting unit 251 may set corresponding points in the autonomous mobile device map and the server map by performing a matching process between the extracted feature points and the autonomous mobile device map and the server map.
[0104] (Selection section 252) The selection unit 252 has the function of selecting multiple points near the location of the autonomous mobile device 10, as received from the autonomous mobile device 10, from among the corresponding points between the autonomous mobile device map and the server map set by the setting unit 251.
[0105] For example, the selection unit 252 may calculate a travel cost indicating the difficulty of reaching each corresponding point from the position of the autonomous mobile device 10. Based on the calculated travel cost, the selection unit 252 may select multiple neighboring points from among the corresponding points. For example, the selection unit 252 may calculate the distance of the path that the autonomous mobile device 10 can take to reach each corresponding point by moving through the movable area from the position of the autonomous mobile device 10, and use this distance as the travel cost to each corresponding point.
[0106] Figure 11 illustrates the calculation of movement costs and the selection of neighboring points by the selection unit 252. The autonomous mobile device map ML1 and corresponding points Pa to Pd shown in Figure 11 are as explained with reference to Figure 9, so redundant explanations are omitted.
[0107] The current position CL1 shown in Figure 11 indicates the position of the autonomous mobile device 10A that generated the autonomous mobile device map ML1. The information processing device 20 assumes that it has received the position information of the current position CL1 as the position of the autonomous mobile device 10A.
[0108] The dashed arrows extending from the current position CL1 to corresponding points Pa, Pb, and Pc indicate the paths taken by the autonomous mobile device 10A as it moves from the current position CL1 to corresponding points Pa, Pb, and Pc.
[0109] In the example shown in Figure 11, among the corresponding points Pa to Pd, the point with the shortest travel path distance from the current position CL1 is corresponding point Pa. The point with the second shortest travel path distance from the current position CL1 is corresponding point Pb.
[0110] If we ignore the positions of walls and the movable area on the autonomous mobile device map ML1 and calculate the straight-line distance from the current position CL1 to each of the corresponding points Pa to Pd, the shortest distance from the current position CL1 is to corresponding point Pc. However, in reality, there is a wall on the straight line connecting the current position CL1 and corresponding point Pc, and the autonomous mobile device 10A needs to move through the movable area. Therefore, the distance from the current position CL1 to corresponding point Pc by the autonomous mobile device 10A moving through the movable area is the longest among the points Pa to Pd, as shown by the dashed arrow.
[0111] The selection unit 252 may select two or more corresponding points P as neighboring points from among multiple corresponding points P on the autonomous mobile device map ML, starting with the corresponding point P with the shortest travel distance from the current position CL1 of the autonomous mobile device 10A. In the example shown in Figure 11, the selection unit 252 selects corresponding point Pa and corresponding point Pb as neighboring points.
[0112] Thus, the selection unit 252 may use the distance traveled by the autonomous mobile device 10 through the movable area on the autonomous mobile device map until it reaches each corresponding point P as the travel cost of the autonomous mobile device 10 to each corresponding point. The selection unit 252 may also consider that the travel cost of a corresponding point is lower if the distance to that point is shorter.
[0113] Furthermore, the selection unit 252 may use various types of information, such as obstacle information detected in the movable area or road surface conditions, as other examples of information related to the difficulty of movement of the autonomous mobile device 10 to each corresponding point used to calculate the movement cost. If the space in which the autonomous mobile device 10 is located is outdoors, for example, information such as weather or disaster occurrence status may be used to calculate the movement cost. In addition, the selection unit 252 may use any one of the information related to the difficulty of movement of the autonomous mobile device 10 to each corresponding point as the movement cost, or it may use a combination of multiple pieces of information to calculate the movement cost.
[0114] (Conversion value calculation unit 253) The conversion value calculation unit 253 has the function of calculating conversion parameters that convert the position information of the autonomous mobile device 10 into coordinate values on the server map, based on the neighboring points selected by the selection unit 252. The conversion parameters that convert the position information of the autonomous mobile device 10 into coordinate values on the server map are an example of the first conversion parameters.
[0115] The conversion value calculation unit 253 may calculate a matrix for converting the coordinates of the selected neighboring point on the autonomous mobile device map to the coordinates in the server map information, based on the coordinates of the selected neighboring point on the autonomous mobile device map and the coordinates on the server map. The conversion value calculation unit 253 may calculate conversion parameters based on the calculated matrix.
[0116] For example, the conversion value calculation unit 253 may derive a conversion formula for converting the position information on the autonomous mobile device map into coordinates on the server map using an affine transformation or a Heimert transformation.
[0117] More specifically, for example, let (x,y) be the coordinates of the autonomous mobile device's position on the map before the coordinate transformation, and (X,Y) be the coordinates after the transformation to the server map. In this case, the transformation formula for converting coordinates (x,y) to coordinates (X,Y) can be expressed by the following equation (1) using four parameters a, b, c, and d.
[0118]
Number
[0119] When the above mathematical formula (1) is subjected to formula transformation with respect to (a, b, c, d) T , it can be expressed as the following mathematical formula (2).
[0120]
Number
[0121] Also, let the coordinates of the neighboring points at the position selected by the selection unit 252 be (x 1…n , y 1…n ), and (X 1…n , Y 1…n ). Also, if the error (residual) of the coordinates (X, Y) after conversion to the coordinates on the server map with respect to the coordinates (x, y) before conversion is E, then the above mathematical formula (2) can be expressed as the following mathematical formula (3).
[0122]
Number
[0123] Here, the matrix A is defined as in the following mathematical formula (4).
[0124]
Number
[0125] Also, let the matrix of the coordinate values of the neighboring points represented by the coordinates (X, Y) on the server map be (X1,..., X n , Y1,..., Y n ) T be the matrix L. Also, if (a, b, c, d) T is the matrix w, then the mathematical formula (3) is expressed as follows.
[0126]
Number
[0127] The conversion value calculation unit 253 may calculate the value of w that minimizes the error E in the above formula (5). The value of w that minimizes the error E in formula (5) can be obtained by the least squares method as shown in the following formula (6). Note that the value of w that minimizes the error E may also be obtained by methods other than the least squares method (for example, the maximum likelihood method).
[0128]
number
[0129] The conversion value calculation unit 253 calculates w=(a,b,c,d) such that the calculated error E is minimized. T The values of each parameter a to d may be calculated as conversion parameters.
[0130] Furthermore, the conversion value calculation unit 253 may calculate conversion parameters for each of the multiple autonomous mobile devices 10. This makes it possible to calculate highly accurate conversion parameters for each autonomous mobile device 10, even if the autonomous mobile device maps constructed by each autonomous mobile device 10 are different.
[0131] Alternatively, the conversion value calculation unit 253 may divide the autonomous mobile device map into multiple regions and calculate conversion parameters for each region.
[0132] For example, the conversion value calculation unit 253 may generate grid points at regular intervals on the autonomous mobile device map and divide the region using each grid point. Alternatively, the conversion value calculation unit 253 may divide the region of the autonomous mobile device map based on user input.
[0133] The conversion value calculation unit 253 stores the calculated conversion parameter information in the storage unit 230. If the conversion value calculation unit 253 has calculated conversion parameters for each region, it may also store the conversion parameters for each region in the storage unit 230.
[0134] Furthermore, the conversion value calculation unit 253 may calculate inverse conversion parameters based on the calculated conversion parameters to inversely convert the coordinates of the position on the server map to the coordinates on the autonomous mobile device map of each autonomous mobile device. The inverse conversion parameters are an example of the second conversion parameters.
[0135] For example, the conversion value calculation unit 253 may calculate an inverse matrix that converts the coordinates (X,Y) on the server map to the coordinates (x,y) on the autonomous mobile device map from the calculated conversion parameters and the above formula (1), and then calculate the inverse conversion parameters based on this inverse matrix.
[0136] The conversion value calculation unit 253 may store the calculated inverse conversion parameter information in the storage unit 230.
[0137] (Coordinate transformation unit 254) The coordinate transformation unit 254 performs a coordinate transformation process that converts the position information of the autonomous mobile device 10 into coordinate values on the server map, using the transformation parameters calculated by the transformation value calculation unit 253.
[0138] If the coordinate transformation unit 254 has calculated transformation parameters for each region divided on the autonomous mobile device map by the transformation value calculation unit 253, it may perform coordinate transformation processing for the position of the autonomous mobile device 10 using the transformation parameters for the region to which the position of the autonomous mobile device 10 belongs.
[0139] Furthermore, the coordinate transformation unit 254 may use inverse transformation parameters to perform a process that transforms the coordinates of the position on the server map into coordinates on the autonomous mobile device map.
[0140] (Screen control unit 255) The screen control unit 255 has the function of generating a screen that includes various information such as the display of a server map, and controlling the output of the generated screen to the display unit 270.
[0141] For example, the screen control unit 255 may generate a screen that accepts the setting of correspondence points between the autonomous mobile device map and the server map, such as screen D1 described above with reference to Figure 10.
[0142] Furthermore, the screen control unit 255 may generate a screen that displays the position of the autonomous mobile device 10 on the server map based on the position information of the autonomous mobile device 10 after it has been converted to coordinate values on the server map by the coordinate transformation unit 254. The screen control unit 255 may generate a screen that simultaneously displays the positions of multiple autonomous mobile devices 10 on the server map, or it may generate a screen that displays the position of a specific autonomous mobile device 10 specified by the user on the server map.
[0143] Furthermore, the screen control unit 255 may generate a screen on the server map displayed on the display unit 270 that accepts user input to specify the location of the destination for the autonomous mobile device 10.
[0144] Furthermore, the screen control unit 255 outputs the corrected autonomous mobile device map received by the communication unit 210 to the display unit 270. The corrected autonomous mobile device map is an example of a third map. When the screen control unit 255 outputs the corrected autonomous mobile device map to the display unit 270, it may also output the server map to the display unit 270. This makes it easier for the user to compare the corrected autonomous mobile device map with the server map.
[0145] The screen control unit 255 may output the revised autonomous mobile device map and the server map side by side to the display unit 270. Alternatively, the screen control unit 255 may output the revised autonomous mobile device map and the server map superimposed on each other to the display unit 270. By superimposing the revised autonomous mobile device map and the server map, users can more easily compare the revised autonomous mobile device map and the server map.
[0146] In this case, it is desirable for the screen control unit 255 to make the display mode of the modified autonomous mobile device map different from the display mode of the server map. The display mode may be the thickness or color of the lines drawn on the map.
[0147] Figure 19 shows an example of the map display screen D2. The map display screen D2 shown in Figure 19 includes a server map and a modified autonomous mobile device map superimposed on each other. The screen control unit 255 may generate the map display screen D2 and output the generated map display screen D2 to the display unit 270. In addition, the screen control unit 255 may close the map display screen D2 when the input unit 290 detects that the confirmation button B2 displayed on the map display screen D2 has been selected or pressed.
[0148] Although not shown in Figure 19, the server map may contain a lot of information that the user needs to see, such as the names of each location. Therefore, as shown in Figure 19, the screen control unit 255 may make the line thickness drawn on the modified autonomous mobile device map thinner than the line thickness drawn on the server map. This can reduce the possibility that the information contained in the server map may become difficult to see due to the lines drawn on the autonomous mobile device map.
[0149] Alternatively, the screen control unit 255 may make the color of the lines drawn on the modified autonomous mobile device map lighter than the color of the lines drawn on the server map. This can reduce the possibility that the information contained in the server map may become difficult to see due to the lines drawn on the autonomous mobile device map.
[0150] (Instruction section 256) The instruction unit 256 has the function of generating movement instruction information, including a movement instruction to a location, based on the location of the destination for the autonomous mobile device 10, which is specified by the location on the server map, in response to user input. The instruction unit 256 may also create the movement instruction information using the location information of the destination, which has been converted to coordinates on the autonomous mobile device map using inverse transformation parameters by the coordinate transformation unit 254.
[0151] (Map generation unit 257) The map generation unit 257 modifies the autonomous mobile device map based on conversion parameters that convert the position information of the autonomous mobile device 10 into coordinate values on the server map, and the autonomous mobile device map, thereby generating a modified autonomous mobile device map. The modified autonomous mobile device map is an example of a third map.
[0152] For example, the map generation unit 257 may modify the autonomous mobile device map by applying a coordinate transformation process similar to the coordinate transformation process performed by the coordinate transformation unit 254 to the autonomous mobile device map, thereby generating a modified autonomous mobile device map.
[0153] If transformation parameters have been calculated for the entire autonomous mobile device map, the map generation unit 257 may use the transformation parameters to perform a coordinate transformation process on the entire autonomous mobile device map. In this case, the coordinate transformation process on the autonomous mobile device map may be a linear transformation process.
[0154] Alternatively, if transformation parameters have been calculated for each region divided on the autonomous mobile device map, the map generation unit 257 may use the transformation parameters for each region to perform coordinate transformation processing on the autonomous mobile device map for each region. In this case, the coordinate transformation processing on the autonomous mobile device map may be a nonlinear transformation process.
[0155] (Transmission control unit 258) The transmission control unit 258 determines whether the autonomous mobile device 10 has a map receiving function. For example, the type of autonomous mobile device 10 (e.g., device number) and functional information indicating whether or not it has a map receiving function may be associated and stored in the storage unit 230. In this case, the transmission control unit 258 may determine whether or not the autonomous mobile device 10 has a map receiving function based on the functional information associated with the type of autonomous mobile device 10 that is received from the autonomous mobile device 10 along with the map.
[0156] Alternatively, the autonomous mobile device 10 may be able to transmit functional information indicating whether or not it has a map receiving function. In this case, the transmission control unit 258 may determine whether or not the autonomous mobile device 10 has a map receiving function based on the functional information received by the communication unit 210.
[0157] When the transmission control unit 258 determines that the autonomous mobile device 10 has the ability to receive maps, it controls the transmission of the modified autonomous mobile device map, generated by the map generation unit 257, to the autonomous mobile device 10 via the communication unit 210. It is expected that the stability of the operation of the autonomous mobile device 10 will improve as the autonomous mobile device 10 operates based on the modified autonomous mobile device map.
[0158] For example, if the transmission control unit 258 determines that the autonomous mobile device 10A has a map receiving function, it may control the transmission of the modified map of the autonomous mobile device 10A, generated by the map generation unit 257, to the autonomous mobile device 10A by the communication unit 210.
[0159] On the other hand, if the transmission control unit 258 determines that the autonomous mobile device 10B does not have a map receiving function, it does not need to control the transmission of the modified map of the autonomous mobile device 10B to the autonomous mobile device 10B by the communication unit 210.
[0160] Similarly, if the transmission control unit 258 determines that the autonomous mobile device 10C does not have a map receiving function, it does not need to control the transmission of the modified map of the autonomous mobile device 10C to the autonomous mobile device 10C by the communication unit 210.
[0161] The functional configuration example of the information processing device 20 according to this embodiment has been described in detail above with reference to Figures 7 and 8. Note that the configuration example of the information processing device 20 is not limited to the example described above.
[0162] For example, the information processing device 20 may further include functions as an event detection unit, which are not shown in Figures 7 and 8. The event detection unit monitors the coordinates of the autonomous mobile device 10 based on the position of each autonomous mobile device 10 received from the autonomous mobile device 10, and may control the autonomous mobile device if the coordinates satisfy certain conditions. For example, if the event detection unit detects that the coordinates of the autonomous mobile device 10 have entered a pause area, it may perform control to temporarily pause the autonomous mobile device 10. Alternatively, if the event detection unit detects that the coordinates of the autonomous mobile device 10 have entered a no-entry area, it may perform control to stop the autonomous mobile device 10.
[0163] The example of the functional configuration of the information processing device 20 can be modified as appropriate depending on the specifications and operation.
[0164] <3. Example of operation> Next, with reference to Figures 12 to 18, an example of the operation of an information processing system according to one embodiment of the present invention will be described.
[0165] <3-1. First example of operation> First, a first example of operation of the information processing system according to this embodiment will be described with reference to Figures 12 and 13. Figure 12 is a flowchart of the pre-processing in the first example of operation of this information processing system. The flowchart of pre-processing shown in Figure 12 shows the flow of operation processing that is performed in advance before the information processing device 20 starts the coordinate transformation processing of the position received from the autonomous mobile device 10.
[0166] In this example, the information processing device 20 acquires a map of the autonomous mobile device from the autonomous mobile device 10 in advance, following the example shown in Figure 12, and sets corresponding points between the autonomous mobile device map and the server map. Furthermore, following the example shown in Figure 13, each time the information processing device 20 receives a position from the autonomous mobile device 10, it selects a nearby point from the set corresponding points and calculates conversion parameters based on that nearby point.
[0167] First, the communication unit 210 of the information processing device 20 receives an autonomous mobile device map from the autonomous mobile device 10. The control unit 250 stores the received autonomous mobile device map in the storage unit 230. The control unit 250 also accepts registration of a server map from the user and stores the server map in the storage unit 230 (S101). Note that the server map may be stored in the storage unit 230 in advance.
[0168] Next, the setting unit 251 of the information processing device 20 sets the corresponding points of the registered autonomous mobile device map and the server map (S103).
[0169] The operation example of the pre-processing in the first operation example has been explained with reference to Figure 12. Figure 13 is a flowchart showing the operation example after the completion of pre-processing in the first operation example of this information processing system.
[0170] First, the communication unit 210 of the information processing device 20 receives location information of the autonomous mobile device 10 from the autonomous mobile device 10 (S201).
[0171] The selection unit 252 of the information processing device 20 selects a point near the received position from the corresponding points in the autonomous mobile device map of the autonomous mobile device 10 and the server map (S203).
[0172] The conversion value calculation unit 253 calculates conversion parameters to convert the coordinates on the autonomous mobile device map to the coordinates on the server map based on the selected neighboring points (S205).
[0173] The map generation unit 257 modifies the autonomous mobile device map and generates a modified autonomous mobile device map based on conversion parameters that convert the position information of the autonomous mobile device 10 into coordinate values on the server map (S501). The transmission control unit 258 determines whether or not the autonomous mobile device 10 has a map receiving function (S503).
[0174] If the transmission control unit 258 determines that the autonomous mobile device 10 has a map receiving function (YES in S503), it controls the transmission of the corrected autonomous mobile device map generated by the map generation unit 257 to the autonomous mobile device 10 via the communication unit 210 (S505). On the other hand, if the transmission control unit 258 determines that the autonomous mobile device 10 does not have a map receiving function (NO in S503), it does not need to control the transmission of the corrected autonomous mobile device map to the autonomous mobile device 10 via the communication unit 210.
[0175] The coordinate transformation unit 254 uses the calculated transformation parameters to convert the coordinates of the autonomous mobile device 10's position, received from the autonomous mobile device 10, into coordinates on the server map (S207).
[0176] The screen control unit 255 generates a screen that displays the position of the autonomous mobile device 10 on the server map based on the converted coordinates, and displays it on the display unit 270 (S209).
[0177] When the screen control unit 255 displays the server map on the display unit 270, it may also display the modified autonomous mobile device map on the display unit 270. In this case, the screen control unit 255 may display the modified autonomous mobile device map and the server map side by side on the display unit 270. Alternatively, the screen control unit 255 may overlay the modified autonomous mobile device map and the server map and display them on the display unit 270.
[0178] The above describes an example of operation after pre-processing is completed in the first operation example of this information processing system, with reference to Figure 13. As described above, the information processing device 20 according to this embodiment selects a neighboring point of the received position from among the corresponding points between the autonomous mobile device map held by each autonomous mobile device 10 and the server map. Furthermore, the information processing device 20 calculates conversion parameters to convert the position of the autonomous mobile device 10 into coordinates on the server map based on the selected neighboring point. As a result, the information processing device 20 can perform coordinate conversion with high accuracy even if the autonomous mobile device map contains distortion due to the accumulation of errors during map construction. In addition, when the information processing device 20 displays the position of the autonomous mobile device 10 on the server map, it can display a more accurate position of the autonomous mobile device 10.
[0179] Furthermore, the information processing device 20 acquires a map of the autonomous mobile device from the autonomous mobile device 10 in advance and performs a process to set correspondence points between the autonomous mobile device map and the server map. As a result, the information processing device 20 can start the conversion parameter calculation process without having to perform the correspondence point setting process every time it receives the position of the autonomous mobile device 10. Therefore, the processing load from when the information processing device 20 receives the position of the autonomous mobile device 10 until it performs coordinate transformation processing and displays that position on the server map can be reduced. In addition, the display delay from when the information processing device 20 receives the position information of the autonomous mobile device 10 until that position is displayed on the server map on the display unit 270 can be reduced.
[0180] <3-2. Second example of operation> Next, with reference to Figures 14 and 15, a second example of operation of this information processing system will be described. In this example, the information processing device 20 calculates conversion parameters based on neighboring points selected from corresponding points between maps during the pre-processing stage. In this example, the information processing device 20 also divides the autonomous mobile device map into multiple regions and calculates conversion parameters for each region. This makes it possible to reduce the processing load of the information processing device 20 in a single conversion parameter calculation process.
[0181] Figure 14 is a flowchart of the preprocessing steps in the second operational example of this information processing system. Note that the processes in S101 and S103 are the same as those described in the first operational example with reference to Figure 12, so redundant explanations are omitted.
[0182] After the processing in S101 and S103 is completed, the conversion value calculation unit 253 of the information processing device 20 divides the area of the autonomous mobile device map into multiple areas (S105).
[0183] The selection unit 252 of the information processing device 20 selects a neighboring point from a reference position (for example, a point within the region, such as the centroid of each region) for each divided region (S107).
[0184] The conversion value calculation unit 253 calculates conversion parameters for each divided region (S109). The conversion value calculation unit 253 stores the calculated conversion parameters for each divided region in the storage unit 230 (S111).
[0185] The map generation unit 257 modifies the autonomous mobile device map and generates a modified autonomous mobile device map based on conversion parameters that convert the position information of the autonomous mobile device 10 into coordinate values on the server map (S501). At this time, the transmission control unit 258 performs coordinate transformation processing on the autonomous mobile device map for each region using conversion parameters for each region. The transmission control unit 258 determines whether or not the autonomous mobile device 10 has a map receiving function (S503).
[0186] If the transmission control unit 258 determines that the autonomous mobile device 10 has a map receiving function (YES in S503), it controls the transmission of the corrected autonomous mobile device map generated by the map generation unit 257 to the autonomous mobile device 10 via the communication unit 210 (S505). On the other hand, if the transmission control unit 258 determines that the autonomous mobile device 10 does not have a map receiving function (NO in S503), it does not need to control the transmission of the corrected autonomous mobile device map to the autonomous mobile device 10 via the communication unit 210.
[0187] Figure 15 is a flowchart showing the operation example after pre-processing is completed in the second operation example of this information processing system. Note that the processing in S201 and S209 is the same as explained in the first operation example with reference to Figure 13, so redundant explanations are omitted.
[0188] Following S201, the coordinate transformation unit 254 of the information processing device 20 performs a process to transform the position of the received autonomous mobile device 10 into coordinates on the server map based on the transformation parameters of the region to which the position belongs (S211). Then, the process proceeds to S209.
[0189] The second operational example of this information processing system has been described above with reference to Figures 14 and 15. As described above, in the second operational example, the information processing device 20 divides the autonomous mobile device map into multiple regions and calculates conversion parameters for each region. This reduces the computational load of the conversion parameter calculation process by the conversion value calculation unit 253 after the completion of preprocessing, compared to the case where the conversion parameter calculation process is performed without dividing the regions.
[0190] Furthermore, in the second example of operation, it was explained that the conversion value calculation unit 253 calculates the conversion parameters at the stage of the pre-processing flow. It was also explained that when the coordinate transformation unit 254 receives the position information of the autonomous mobile device 10, it performs coordinate transformation processing using the conversion parameters calculated in advance during pre-processing. This can improve the processing speed from when the information processing device 20 receives the position information of the autonomous mobile device 10 to when it transforms that position information into coordinates on the server map and displays the position of the autonomous mobile device 10 on the display unit 270.
[0191] <3-3. Third example of operation> Next, with reference to Figures 16 and 17, an example of the operation of the information processing device 20 in the process of calculating inverse transformation parameters and generating movement instruction information will be described. Figure 16 is a flowchart showing an example of the operation of the inverse transformation parameter calculation process in the third operation example of this information processing system.
[0192] After the calculation process for the conversion parameters, as explained with reference to Figures 13 and 14 in the first and second operation examples, is completed, the information processing device 20 may calculate the inverse conversion parameters according to the flow shown in Figure 16.
[0193] The conversion value calculation unit 253 of the information processing device 20 calculates inverse conversion parameters to convert the position of the autonomous mobile device 10 received from the autonomous mobile device 10 from coordinates on the server map to coordinates on the autonomous mobile device map, based on the calculated conversion parameters (S301). At this time, if the conversion parameters have been calculated for each divided region of the autonomous mobile device map, the conversion value calculation unit 253 may calculate the inverse conversion parameters for each region.
[0194] The conversion value calculation unit 253 stores the calculated inverse conversion parameters in the storage unit 230 (S303).
[0195] Figure 17 is a flowchart illustrating an example of the operation of the movement instruction information generation process in the third operation example of this information processing system.
[0196] First, based on the user's input operation detected in the input unit 290 of the information processing device 20, the instruction unit 256 accepts the designation of the autonomous mobile device's destination based on its position on the server map (S401).
[0197] Next, the coordinate transformation unit 254 transforms the coordinates of the position on the server map specified in S401 into coordinates on the autonomous mobile device map based on the inverse transformation parameters (S403).
[0198] The instruction unit 256 generates movement instruction information using the position information converted to coordinates on the autonomous mobile device map (S405).
[0199] The communication unit 210 transmits movement instruction information generated by the instruction unit 256 to the autonomous mobile device 10, in accordance with the control of the control unit 250 (S407).
[0200] The process flow for calculating inverse transformation parameters and generating movement instruction information in the third operational example of this information processing system has been explained using Figures 16 and 17. Through the above processing, the user of the information processing device 20 can specify a location on the server map displayed on the display unit 270 and issue movement instructions to the autonomous mobile device 10. Furthermore, in the information processing system according to this embodiment, the user can arbitrarily select image data of a map to be used as the server map and register it in the information processing device 20. Therefore, user convenience is improved.
[0201] <3-4. Fourth example of operation> Next, referring to Figure 18, an example of the operation when the information processing device 20 converts the position information received from each of the multiple autonomous mobile devices into coordinates on the map of the other autonomous mobile devices and transmits it to the other autonomous mobile devices will be explained.
[0202] Figure 18 is a flowchart illustrating a fourth operational example of this information processing system. In this operational example, the information processing device 20 transmits the location information of one autonomous mobile device, which it has received from another autonomous mobile device, to another autonomous mobile device. This allows multiple autonomous mobile devices that are communicatively connected to the information processing device 20 to obtain each other's location information.
[0203] The information processing device 20 starts processing according to the processing flow shown in Figure 18, for example, in accordance with the processing flow described in the first or second operation example above, with the calculation of conversion parameters already completed. Note that the processing of S301 and S303 shown in Figure 18 is the same as described above with reference to Figure 16, so redundant explanations will be omitted.
[0204] After the processing in S301 and S303 is performed, the coordinate transformation unit 254 of the information processing device 20 uses the inverse transformation parameters of an autonomous mobile device 10 other than the autonomous mobile device 10 that received the position to convert the received position into coordinate values on the autonomous mobile device map held by the other autonomous mobile device 10 (S305).
[0205] In addition, the coordinate transformation unit 254 may, in S305, first transform the received position information of the autonomous mobile device 10 into coordinate values on the server map using transformation parameters, and then use inverse transformation parameters to transform the position information back into coordinates on the autonomous mobile device map of the other autonomous mobile device 10.
[0206] Next, the control unit 250 notifies the other autonomous mobile device 10 of the position information of the received autonomous mobile device 10, which has been converted into coordinates on the autonomous mobile device map (S307).
[0207] The fourth operational example of this information processing system has been described above with reference to Figure 18. As described above, the information processing device 20 converts the position of one autonomous mobile device 10, received from another autonomous mobile device 10, into coordinates on the autonomous mobile device map of that other autonomous mobile device 10 using conversion parameters and inverse conversion parameters. Furthermore, the information processing device 20 notifies the other autonomous mobile device 10 of the position information of the autonomous mobile device 10 after the coordinate conversion. As a result, each autonomous mobile device 10 can obtain the position information of the other autonomous mobile device 10. Each autonomous mobile device 10 can use the position information of the other autonomous mobile device 10 for planning its own movement path, collision avoidance, or for performing coordinated operations between autonomous mobile devices.
[0208] <4. Hardware Configuration Example> An embodiment of the present invention has been described above. The processes performed by the information processing device 20, such as setting corresponding points between the autonomous mobile device map and the server map, selecting neighboring points, calculating transformation parameters, and coordinate transformation, are realized through the cooperation of software and the hardware of the information processing device 20. Below, an example of the hardware configuration of the information processing device 20 according to an embodiment of the present invention will be described.
[0209] The hardware configuration example of the information processing device 20 described below is merely one example of a hardware configuration for the information processing device 20. Therefore, the hardware configuration of the information processing device 20 may be modified by removing unnecessary components from the hardware configuration of the information processing device 20 described below, or by adding new components.
[0210] Furthermore, the hardware configuration example of the information processing device 20 described below can also be applied to the autonomous mobile device 10.
[0211] Figure 20 shows an example of the hardware configuration of an information processing device 20 according to one embodiment of the present invention. The information processing device 20 may include a processor 1001, a ROM (Read Only Memory) 1002, a RAM (Random Access Memory) 1003, an internal bus 1004, an input / output interface 1010, a display device 1011, an input device 1012, an audio output unit 1013, a storage device 1014, a drive 1015, a network interface 1016, and an external interface 1017.
[0212] The processor 1001 functions as both an arithmetic processing unit and a control unit, controlling the overall operation within the information processing unit 20 according to various programs. By cooperating with the ROM 1002, RAM 1003, and software described later, the processor 1001 can realize, for example, the functions of the control unit 120 and the control unit 250.
[0213] ROM 1002 stores the program and calculation parameters used by the processor 1001. RAM 1003 temporarily stores the program used in the execution of the processor 1001, and parameters that change as appropriate during its execution.
[0214] The processor 1001, ROM 1002, and RAM 1003 are interconnected by an internal bus 1004, and are further connected to the display device 1011, input device 1012, audio output unit 1013, storage device 1014, drive 1015, network interface 1016, and external interface 1017, which will be described later, via an input / output interface 1010.
[0215] The display device 1011 is, for example, a display device such as a CRT display, a liquid crystal display (LCD), or an OLED display, and converts video data into video and outputs it. The input device 1012 may consist of a mouse, keyboard, touch panel, buttons, microphone, sensor, switch, and control circuit. The audio output unit 1013 is an audio output device such as a speaker or headphones, and converts audio data into audio and outputs it.
[0216] The storage device 1014 is a data storage device configured as an example of the storage unit 150 and storage unit 230 according to this embodiment. The storage device 1014 may include a storage medium, a recording device for recording data on the storage medium, a reading device for reading data from the storage medium, and a deletion device for deleting data recorded on the storage medium. The storage device 1014 is composed of, for example, an HDD (Hard Disk Drive) or an SSD (Solid State Drive), or a memory having equivalent functionality. This storage device 1014 drives the storage and stores programs or various data executed by the processor 1001.
[0217] Drive 1015 is a reader / writer for storage media and is either built into or external to the information processing unit 20. Drive 1015 reads information stored on removable storage media such as magnetic disks, optical disks, magneto-optical disks, or semiconductor memory and outputs it to RAM 1003. Drive 1015 can also write information to removable storage media.
[0218] The network interface 1016 is a communication interface composed of, for example, a device for connecting to a communication network such as the Internet. Alternatively, the network interface 1016 may be a wireless LAN (Local Area Network) and / or wired LAN compatible communication device.
[0219] The external interface 1017 is a connection interface consisting of connection ports for connecting external devices, such as a USB (Universal Serial Bus) port, an IEEE 1394 port, a SCSI (Small Computer System Interface) port, an RS-232C port, or an optical audio terminal.
[0220] <5. Summary> Although preferred embodiments of the present invention have been described in detail above with reference to the attached drawings, the present invention is not limited to these examples. It is clear to any person with ordinary skill in the art to which the present invention belongs that various modifications or alterations can be conceived within the scope of the technical idea described in the claims, and these are also understood to fall within the technical scope of the present invention.
[0221] For example, in the above embodiment, an example was described in which the information processing device 20 is implemented by an information terminal such as a general-purpose computer. However, the information processing device 20 may also be an autonomous mobile device. For example, the autonomous mobile device 10 may implement functions such as setting corresponding points between its own autonomous mobile device map and the server map, selecting nearby points, calculating transformation parameters, performing coordinate transformation, and displaying the position of each autonomous mobile device.
[0222] Furthermore, in the above embodiment, an example of operation was described in which the information processing device 20 receives the autonomous mobile device map of each autonomous mobile device 10 as a preprocessing step and sets the correspondence points between the autonomous mobile device map and the server map. However, the information processing device 20 may acquire the autonomous mobile device map of each autonomous mobile device 10 each time it receives a position from that autonomous mobile device 10. Alternatively, the information processing device 20 may set the correspondence points between the autonomous mobile device map of each autonomous mobile device 10 and the server map each time it receives a position from that autonomous mobile device 10. Or, the information processing device 20 may acquire the autonomous mobile device map from the autonomous mobile device 10 and perform the correspondence point setting process when it detects that the autonomous mobile device map internally held by the autonomous mobile device 10 has been updated. With such modifications, even if the surrounding environment of the autonomous mobile device 10 changes and an update occurs in the autonomous mobile device map generated by the autonomous mobile device 10, the information processing device 20 can calculate highly accurate conversion parameters based on the latest autonomous mobile device map.
[0223] Furthermore, the steps in the operation processing of the autonomous mobile device 10 and the information processing device 20 according to this embodiment do not necessarily have to be processed chronologically in the order shown in the explanatory diagram. For example, each step in the operation processing of the autonomous mobile device 10 and the information processing device 20 may be processed in an order different from the order shown in the explanatory diagram, or they may be processed in parallel.
[0224] Furthermore, one or more computer programs can be created to enable the information processing system according to this embodiment to perform its functions on the hardware, such as the CPU, ROM, and RAM, built into the autonomous mobile device 10 and the information processing device 20 described above. A storage medium that can be read by a computer and on which such one or more computer programs are stored is also provided.
[0225] Furthermore, the effects described herein are merely descriptive or illustrative and not limiting. In other words, the technology according to the present invention may produce other effects that will be apparent to those skilled in the art from the description herein, in addition to or instead of the effects described above. [Explanation of symbols]
[0226] 20 Information Processing Devices 210 Communications Department 230 Storage section 250 Control Unit 251 Setting Section 252 Selection Section 253 Conversion Value Calculation Unit 254 Coordinate Transformation Unit 255 Screen Control Unit 256 Instruction section 257 Map Generation Unit 258 Transmission Control Unit 270 Display section 290 Input section
Claims
1. A map generation unit generates a third map based on a first conversion parameter calculated based on the corresponding position between a first map generated by an autonomous mobile device and a second map stored in advance, and the first map. A transmission control unit determines whether the autonomous mobile device has a map receiving function, and if it is determined that the autonomous mobile device has a map receiving function, controls the transmission of the third map to the autonomous mobile device by the transmission unit, An information processing device equipped with the following features.
2. The information processing device includes a screen control unit that outputs the third map to the display unit. The information processing apparatus according to claim 1.
3. The screen control unit causes the second map and the third map to be output to the display unit. The information processing apparatus according to claim 2.
4. The screen control unit overlays the second map and the third map and outputs them to the display unit. The information processing apparatus according to claim 3.
5. The screen control unit makes the display mode of the second map and the display mode of the third map different. The information processing apparatus according to claim 3 or 4.
6. The aforementioned information processing device is A selection unit selects multiple points near the position of the autonomous mobile device from among a plurality of corresponding points indicating corresponding positions between the first map and the second map, A conversion value calculation unit calculates the first conversion parameter based on the selected neighboring points, The information processing apparatus according to claim 1, comprising:
7. The selection unit calculates the travel cost indicating the difficulty of reaching the corresponding point from the position of the autonomous mobile device, Based on the aforementioned travel cost, select a number of neighboring points from among the corresponding points. The information processing apparatus according to claim 6.
8. The selection unit selects two or more of the corresponding points as neighboring points, in order from the corresponding point with the lowest movement cost. The information processing apparatus according to claim 7.
9. The selection unit acquires information on the movable area in the first map or the second map that indicates the range in which the autonomous mobile device can move, Based on the information of the movable area, the distance traveled by the autonomous mobile device from its position to each of the corresponding points is calculated. The shorter the distance traveled to the corresponding point, the lower the travel cost is considered to be. The information processing apparatus according to claim 7.
10. An input unit that accepts user input, The system includes a setting unit that sets the corresponding points based on the user's input operation in the input unit. The information processing apparatus according to claim 6.
11. Computers, A map generation unit generates a third map based on a first conversion parameter calculated based on the corresponding position between a first map generated by an autonomous mobile device and a second map stored in advance, and the first map. A transmission control unit determines whether the autonomous mobile device has a map receiving function, and if it is determined that the autonomous mobile device has a map receiving function, controls the transmission of the third map to the autonomous mobile device by the transmission unit, A program that makes it function as such.
12. A third map is generated based on a first transformation parameter calculated based on the corresponding positions between a first map generated by an autonomous mobile device and a second map stored in advance, and the first map. The system determines whether the autonomous mobile device has a map receiving function, and if it determines that the autonomous mobile device has a map receiving function, it controls the transmission of the third map to the autonomous mobile device by the transmitting unit. A computer-based information processing method, including [a specific example].
Citation Information
Patent Citations
Autonomous mobile device, server device, program, and information processing method
JP2020042366A