System, method, and program

JP7632874B2Active Publication Date: 2025-02-19NEC CORP +1
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2021039798
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-03-12
Publication Date
2025-02-19
Estimated Expiration
2041-03-12

AI Technical Summary

Benefits of technology

【0012】 本開示によれば、移動体に対して位置または時刻の所望の粒度のデータの値を即時に提供することができる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007632874000004
    Figure 0007632874000004
  • Figure 0007632874000005
    Figure 0007632874000005
  • Figure 0007632874000006
    Figure 0007632874000006
Patent Text Reader

Abstract

To provide a system, etc., that immediately provides the value of data with a desired granularity to a moving body.SOLUTION: An interpolating unit 101 interpolates data on a set on the basis of each data contained in the set of data at a predetermined region in such a way that the position or time granularity of data contained in the set becomes the designated granularity. The interpolating unit 101 interpolates data on the set so as to be the granularity utilized by a moving body for the predetermined region before the moving body starts utilizing the value of each data contained in the set at the predetermined region. The wording such that before the moving body starts utilizing the value of each data contained in the set at the predetermined region means before the moving body moves to the predetermined region. A transmitting unit 102 transmits, to the moving body, each data contained in the set and having undergone the interpolation.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to systems and the like. [Background technology]

[0002] Here, there is a technology for providing a map to a moving body such as a robot. For example, Patent Document 1 describes a method of storing detection information in chronological order and creating a map of the robot's surroundings. Patent Document 1 also describes a method of creating a narrow-area map for limited cells around an object that exists in a part of a wide-area map. Patent Document 2 also describes that the grid size of a grid map may be specified as the use of the map resolution.

[0003] Also, for example, Patent Document 3 describes that the control module controls the mobile cleaning robot to navigate in an environment using the persistent map and the sensory data provided by the sensor. Furthermore, Patent Document 3 describes that the control module shares the persistent map with a second mobile cleaning robot and performs a cleaning task in cooperation with the second mobile cleaning robot.

[0004] In addition, data of other locations may be interpolated based on collected data. For example, Non-Patent Document 1 describes a method of estimating unknown values ​​of unobserved locations from input data and creating smooth spatial data for each observation time. [Prior art documents] [Patent documents]

[0005] [Patent Document 1] International Publication No. 2020 / 035902 [Patent Document 2] JP 2020-087248 A [Patent Document 3] JP 2019-121365 A [Non-patent literature]

[0006] [Non-Patent Document 1] Daisuke Sato et al. “People Flow Prediction Technology for Gathering Guidance”, [online], retrieved February 1, 2021, Internet〈URL:https: / / www.rd.ntt / research / JN20180638.html> Summary of the Invention [Problem to be solved by the invention]

[0007] When data values ​​are interpolated as in Non-Patent Document 1, the data values ​​must be interpolated according to the granularity at which the interpolated data values ​​are used. If the data values ​​are interpolated at a fine granularity on the assumption that a mobile object using the interpolated data values ​​will require fine-grained data values, the calculation may not be completed when the mobile object needs them. Thus, there is a problem in that the interpolated data values ​​cannot be obtained when the mobile object needs them.

[0008] One example of an objective of the present disclosure is to provide a system or the like that instantly provides a moving object with location or time data of a desired granularity. [Means for solving the problem]

[0009] A system in one aspect of the present disclosure includes an interpolation means for interpolating data of a set of data associated with each position or each time in a specified area based on each data included in the set so that the granularity of the position or time of the data included in the set becomes a specified granularity, and a transmission means for transmitting each data included in the set to a mobile body, wherein the interpolation means interpolates the data of the set so that the granularity of the position or time used by the mobile body with respect to the specified area becomes the granularity used by the mobile body before the mobile body begins using each data included in the set in the specified area.

[0010] A method according to one aspect of the present disclosure includes a process of interpolating data from a set of data in a specified area based on each data item contained in the set so that the granularity of position or time of the data included in the set becomes a specified granularity, and a process of transmitting each data item contained in the set to a mobile body, wherein the interpolating process interpolates the data from the set so that the granularity of position or time of the data included in the set becomes the granularity used by the mobile body with respect to the specified area before the mobile body begins using each data item contained in the set in the specified area.

[0011] In one aspect of the present disclosure, a program causes a computer to perform a process of interpolating data of a set of data associated with each position or each time in a specified area based on each data item included in the set so that the granularity of the position or time of the data included in the set becomes a specified granularity, and a process of transmitting each data item included in the set to a mobile body, wherein the interpolating process interpolates the data of the set so that the granularity of the position or time used by the mobile body with respect to the specified area becomes a specified granularity before the mobile body begins using each data item included in the set in the specified area. Effect of the Invention

[0012] According to the present disclosure, it is possible to instantly provide data values ​​of a desired granularity, such as location or time, to a moving object. [Brief description of the drawings]

[0013] [Figure 1] 1 is a block diagram showing a configuration example of a system according to a first embodiment. [Diagram 2] 4 is a flowchart showing an operation example of the system according to the first embodiment. [Diagram 3] FIG. 11 is an explanatory diagram illustrating an example of a system according to a second embodiment. [Figure 4] FIG. 11 is an explanatory diagram showing an example of the movement of the robot. [Diagram 5] FIG. 11 is a block diagram showing a configuration example of a server according to a second embodiment. [Figure 6] FIG. 11 is a block diagram showing a configuration example of a robot according to a second embodiment. [Figure 7] 1 is an explanatory diagram showing an example of a trajectory of movement of a robot and positions from which data is acquired; FIG. [Figure 8] FIG. 11 is an explanatory diagram showing an example of interpolation and transmission. [Figure 9] FIG. 11 is an explanatory diagram showing an example of calculation of values ​​of data to be interpolated; [Figure 10] FIG. 11 is an explanatory diagram showing an example of data interpolation when additional data is present; [Figure 11] FIG. 13 is an explanatory diagram showing an example of calculation of data to be interpolated when there is additional data; [Figure 12] FIG. 11 is an explanatory diagram showing an interpolation and transmission example 2. [Figure 13] 13 is a flowchart showing an example of an operation performed by the server according to the second embodiment when new data is acquired. [Figure 14] 13 is a flowchart showing an example of an operation when the server according to the second embodiment predicts the movement of a robot. [Figure 15] 10 is a flowchart showing an example of a specific processing procedure of an interpolation process. [Figure 16] FIG. 2 is an explanatory diagram illustrating an example of a hardware configuration of a computer device. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0014] Hereinafter, with reference to the drawings, embodiments of a system, an information processing device, a method, a program, and a recording medium for recording a program according to the present disclosure will be described in detail. However, the drawings show the configuration of the embodiment of the present disclosure in a schematic manner. Furthermore, the embodiment of the present disclosure described below is an example, and can be appropriately modified within the scope of the same essence.

[0015] Here, we will briefly explain digital twins. Digital twins are a technology that collects information in the real world and reproduces the real world in a virtual space based on the collected information. More specifically, digital twins are a solution that collects information acquired in real time, reproduces situations that may actually occur in a virtual space such as a computer using technologies such as AI (Artificial Intelligence), executes simulations, and predicts what will happen in the real world. Time-series information is acquired through sensor terminals and mobile objects installed in various locations. When simulating in a virtual space, a dynamic map is created by overlaying the acquired time-series information and future prediction information on the map information, and the actual situation is reproduced as a twin in the virtual space. In order to express the events (World) of the real world on the dynamic map, the data used in the simulation is accumulated in layers classified by purpose.

[0016] In the system described in this embodiment, for example, data including attribute values ​​of each attribute associated with a position at each position of a device that emits information in real space is acquired. In the system, multiple attribute values ​​of the same attribute at different positions may be managed as a layer. For example, attributes include temperature, humidity, volume, and congestion level. In other words, a layer is a group of information consisting of multiple attribute values ​​of a certain attribute.

[0017] (Embodiment 1) 1 is a block diagram showing an example of a configuration of a system according to a first embodiment. The system 1 provides a mobile object with data values ​​of a granularity used by the mobile object in a predetermined area. The system 1 includes an interpolation unit 101 and a transmission unit 102.

[0018] The interpolation unit 101 interpolates the data of the set based on each data included in the set of data associated with each position or each time in a predetermined area so that the granularity of the position or time of the data included in the set becomes a specified granularity. The granularity of the position is, for example, the distance interval of the positions associated with the data. Here, the distance interval is the distance between two positions associated with each of the two data at the same time or approximately the same time. The time may be within a predetermined time period, and the time does not have to be completely the same. For example, when data is managed in a chronological order on a daily basis, data at each position on the same day is data at the same time. The granularity of the time is the time interval of the times associated with the data. The time interval is, for example, the time difference between two times associated with each of the two data included in the set at the same position or approximately the same time.

[0019] Each data has a data value of one or more attributes. As described above, the data value is the attribute value of the attribute. The attributes are not particularly limited to temperature, humidity, congestion level, dirtiness level, etc. The data value may be a specific numerical value of these attributes. Also, when the attribute is a result derived from a specific numerical value such as high temperature, the data value may be expressed as a binary value such as 0 or 1. In this way, the attributes and attribute values ​​are not particularly limited.

[0020] Here, the granularity of the position is taken as an example for explanation. If the granularity (distance interval) of the position of the data included in the set is 2 meters and the specified granularity (distance interval) is 1 meter, the interpolation unit 101 interpolates the data of the set so that the distance interval of the positions associated with the data included in the set becomes 1 meter.

[0021] Specifically, the interpolation unit 101 interpolates the data of the set so that the data has the granularity of the position used by the mobile body for the predetermined area before the mobile body starts using each piece of data included in the set in the predetermined area. For example, when the mobile body moves to the predetermined area, the interpolation unit 101 interpolates the data of the set before the mobile body moves to the predetermined area. More specifically, for example, the interpolation unit 101 may interpolate the data of the set so that the data has the granularity of the position used by the mobile body for the predetermined area before the mobile body moves to the predetermined area. The transmission unit 102 transmits each piece of data included in the interpolated set to the mobile body.

[0022] 2 is a flowchart showing an example of an operation of the system according to the first embodiment. For example, before a moving body starts using each piece of data included in a set in a predetermined area, the interpolation unit 101 interpolates the data of the set so that the data becomes the granularity of each position or each time used by the moving body in the predetermined area (step S101). Next, the transmission unit 102 transmits the data included in the interpolated set (step S102).

[0023] Next, the effect of the first embodiment will be described. When a plurality of moving bodies interpolate data collected to generate data at equal intervals, it is desirable that the distance interval is the minimum interval used by the moving body using the data in the area. However, if the interval is narrowed further in consideration of the fact that a moving body moving later uses data at even smaller distance intervals, the interpolation takes time. If the distance interval is reduced to 1 / 10, 100 times as much data is interpolated in the case of a two-dimensional plane. In the case of a three-dimensional space, 1000 times as much data is interpolated. Therefore, the system 1 interpolates the data of the set so that it has the granularity of the position used by the moving body for the specified area before the moving body starts using each data included in the set in the specified area. The same applies when the granularity is the granularity of time. This allows the system 1 to instantly provide the moving body with data at the granularity of the position or time used by the moving body.

[0024] The first embodiment is not limited to the above-mentioned example, and various modifications are possible. For example, each of the functional units shown in Fig. 1 may be realized by one device (information processing device).

[0025] (Embodiment 2) Next, the second embodiment will be described in detail with reference to the drawings. In the second embodiment, a service robot is taken as an example of a moving object, and an example will be described in which the values ​​of data included in a set are interpolated based on the values ​​of data detected by various service robots. Also, in the second embodiment, an example will be described in which the granularity is the distance interval between positions associated with data. Below, to the extent that the explanation of the second embodiment is not unclear, explanations of contents that overlap with the above explanation will be omitted.

[0026] FIG. 3 is an explanatory diagram showing an example of a system according to the second embodiment. The system 2 includes a server 20 and a robot 21. The server 20 (information processing device) and the robot 21 are connected via a communication network 22. In the following description of the second embodiment, when the robot is not specified, it is referred to as the robot 21, and when the server is not specified, it is referred to as the server 20. For example, the robot 21 is a moving body that moves autonomously. The robot 21 may be a service robot 21. The type of the robot 21 is not particularly limited. For example, the robot 21 may be a cleaning robot, a disinfection robot, a delivery robot, a guide robot, or the like. The system 2 may include a plurality of robots 21. When there are a plurality of robots 21, the server 20 may be an edge computer, a parent robot of the plurality of robots 21, or the like.

[0027] FIG. 4 is an explanatory diagram showing an example of the movement of the robot 21. In FIG. 4, for example, robots 21-1 and 21-2 are present in an area L1 on the first floor of a building. A server 20-1 is present to manage each robot 21 working on the first floor of the building. In FIG. 4, the server 20-1 is a parent robot. In FIG. 4, for example, robots 21-3 to 21-6 are present in an area L2 on the seventh floor of the building. A server 20-2 is present to manage each robot 21 working on the seventh floor of the building. In FIG. 4, the server 20-2 is a parent robot.

[0028] 5 is a block diagram showing a configuration example of the server 20 according to the second embodiment. The server 20 includes an interpolation unit 201, a transmission unit 202, a data acquisition unit 203, a granularity determination unit 204, a movement time determination unit 205, and a storage unit 206. The interpolation unit 201 and the transmission unit 202 include, as components, the basic functions of the interpolation unit 101 and the transmission unit 102 described in the first embodiment, respectively.

[0029] The storage unit 206 stores, for example, the processing results of each unit of the server 20. Examples of the storage unit 206 include a read only memory (ROM), a random access memory (RAM), a semiconductor memory, a hard disk drive (HDD), and a solid state drive (SSD). The storage unit 206 may be a combination of these.

[0030] 6 is a block diagram showing a configuration example of the robot 21 according to the embodiment 2. The robot 21 includes an image acquiring unit 211, a position acquiring unit 212, a detecting unit 213, a data notifying unit 214, a movement information notifying unit 215, a requesting unit 216, a mesh data acquiring unit 217, and a storage unit 218.

[0031] The storage unit 218 stores, for example, the processing results of each unit of the robot 21. Examples of the storage unit 218 include a ROM, a RAM, a semiconductor memory, a HDD, and an SSD. The storage unit 218 may be a combination of these.

[0032] As described above, there is no particular limitation on the type of the robot 21. As described above, examples of the robot 21 include a cleaning robot, a disinfection robot, a delivery robot, and a guide robot.

[0033] FIG. 7 is an explanatory diagram showing an example of the trajectory of the movement of the robot 21 and the positions where the data was acquired. An example is shown in which the robots 21-3 to 21-6 move in the area L2. Each of the robots 21-3 to 21-6 moves in the area L2. The robots 21-3 to 21-6 may be service robots assigned different tasks, or may be service robots assigned the same task. Each robot 21 uses various sensors and imaging devices at each position to collect data including one or more types of attribute values. For example, each robot 21 acquires data associated with the position and time. Here, since the sensors and the like possessed by each robot 21 may be different, the types of data values ​​included in the acquired data may be different.

[0034] An example of data associated with information on position P1 and time T in FIG. 7 will be described. When area L2 is represented in the X-axis and Y-axis directions, the coordinate value of position P1 is (x1, y1). Time T is 11:20. Note that time T may also be a date and time including a date. In FIG. 7, data associated with information on position P1 includes, for example, a data value of temperature and a data value of humidity. The data value of temperature is 25°C, and the data value of humidity is 40%.

[0035] <Example of detecting data values> The types (attributes) of data values ​​included in the data include the degree of crowding of people, the degree of dust and dirt, temperature, humidity, etc. The robot 21 may detect data values ​​such as the degree of crowding of people, the degree of dust and dirt from an image. The robot 21 may detect data values ​​such as temperature and humidity by various sensors. First, an example of detecting data values ​​such as the degree of crowding of people, the degree of dust and dirt from an image will be described.

[0036] For example, the image acquisition unit 211 acquires an image captured by an imaging device (camera) mounted on the robot 21. The detection unit 213 acquires a rectangular area of ​​a person or an object by performing object detection from the image. Taking the degree of crowding as an example, the detection unit 213 detects the number of detected people relative to the area of ​​the imaging range of the imaging device as the value of the crowding degree. Taking the degree of dust and dirt as an example, the object is dust or dirt. The detection unit 213 detects the ratio of the number of detected dust particles or the area of ​​dirt relative to the area of ​​the imaging range of the imaging device as the value of the dust or dirt degree. In this way, if the value of the crowding degree and the value of the degree of dust and dirt are taken as a ratio to the area of ​​the imaging range of the imaging device, these values ​​can be other than integers.

[0037] Furthermore, the detection unit 213 is not limited to detecting an object in a rectangular region on an image. For example, the detection unit 213 may use a method for detecting a pixel region, called semantic segmentation or instance segmentation. To detect dust or dirt, a learning unit (not shown) may learn in advance using an autoencoder or the like to use an image in a clean state as training data. Then, the learning unit may create a learned model. Then, the detection unit 213 may use the model during operation to detect the range of dust or dirt.

[0038] Next, an example of directly detecting the value of data by a sensor will be described. The detection unit 213 may detect the temperature by a temperature sensor. Also, the detection unit 213 may detect the humidity by a humidity sensor.

[0039] In the second embodiment, the robot 21 having the image acquisition unit 211 and the detection unit 213 moves autonomously and detects the data values ​​included in various data autonomously, but the present invention is not limited to this. Although not shown, an imaging device and a device having various sensors may be fixed. The fixed device may acquire data.

[0040] Furthermore, the position acquisition unit 212 acquires, as data, information on the position where the data value is detected. There is no particular limit to how the position is represented. For example, the position may be represented by coordinates. There is no particular limit to how the position is acquired. For example, markers may be attached to the ground or floor in advance, and the positions may be stored for each marker. The position acquisition unit 212 may acquire position information as data from markers shown in an image. In addition, in the case of outdoors, the position acquisition unit 212 may acquire position information using, for example, a global positioning system (GPS). In addition, the position acquisition unit 212 may measure the position using a device such as a beacon. In addition, the position acquisition unit 212 may measure the position using a sensor such as a light detection and ranging (Lidar). More specifically, for example, the position acquisition unit 212 may create a map of the area using simultaneous localization and mapping (SLAM). SLAM refers to simultaneously performing self-location estimation and environmental map creation. SLAM is a technology that creates two-dimensional or three-dimensional environmental maps by having a mobile object equipped with sensors such as Lidar sense the surrounding environment while traveling.

[0041] The data notification unit 214 notifies the server 20 of the detected data, for example.

[0042] Next, the server 20 will be described. The data acquisition unit 203 acquires data from each robot 21 via the communication network 22. The data acquisition unit 203 stores each acquired data in the storage unit 206 or a storage device connected via the communication network 22. The interpolation unit 201 interpolates the value of each data to be interpolated based on the value of the acquired new data so as to achieve a specified granularity. The granularity may be specified in advance. The granularity may also be the granularity of a position used by a newly moving robot 21.

[0043] <Determination of granularity and movement time> The granularity determination unit 204 determines the granularity used by the robot 21. The granularity determination unit 204 determines the granularity based on at least one of a notification from the robot 21, a service provided by the robot 21, the performance of the robot 21, and the specifications of the robot 21.

[0044] Further, the movement time determination unit 205 determines the movement time to the area of ​​the robot 21. The movement time determination unit 205 determines the movement time based on at least one of a notification from a moving object, interpolation history information, and event schedule information.

[0045] First, a case where the movement time and granularity are notified from the robot 21 will be described. For example, the movement information notifying unit 215 notifies the destination server 20 of the destination location, the movement time, and the location granularity associated with the necessary data in association with each other. The destination location may be the destination area, or a detailed subarea within the destination area. For example, the subarea may be a conference room.

[0046] The granularity determination unit 204 receives a notification from the robot 21 and thereby determines the granularity used by the robot 21. Also, the movement time determination unit 205 receives a notification from the robot 21 and thereby determines the movement time.

[0047] In FIG. 4, the case where the robot 21-2 moves from the first floor to the seventh floor will be described as an example. For example, the movement information notification unit 215 of the robot 21-2 notifies the server 20-2 that the robot 21-2 moves from the first floor to the seventh floor at 1:00 p.m. and uses mesh data of granularity g. Here, the mesh data is data included in a set. The granularity determination unit 204 of the server 20-2 determines that the granularity g is used based on the notification from the robot 21-2. The movement time determination unit 205 of the server 20-2 determines that the movement time is 1:00 p.m. by receiving the notification from the robot 21-2. Note that in FIG. 4, the movement information notification unit 215 of the robot 21-2 may notify, for example, a movement to the area L2 on the seventh floor. Alternatively, the robot 21-2 may notify a movement to a small area of ​​the area L2 on the seventh floor.

[0048] Also, for example, the robot 21-2 may get on an elevator when moving from the first floor to the seventh floor. The robot 21-2 may not be able to connect to the communication network 22 while in the elevator. Therefore, the movement information notification unit 215 of the robot 21-2 may notify the server 20-1 of the movement information (granularity, movement time, movement location) while the robot 21-2 is on the first floor. Then, the movement information notification unit 215 (not shown) of the server 20-1 may notify the server 20-2. In this way, the robot 21 may notify the movement information via another device so that the movement information can be notified to the server 20 even when the robot 21 passes through an area where communication is blocked.

[0049] Next, a case will be described in which the granularity and the movement time are determined based on the history of past interpolation and the movement history of the robot 21. For example, the storage unit 206 of the server 20 stores, for example, the history of the granularity of the robot 21 requested in the past and the movement history of the robot 21. The granularity determination unit 204 refers to the storage unit 206 and determines the granularity used by each robot 21 in the area to which it is to be moved. Also, the movement time determination unit 205 refers to the storage unit 206 and determines the movement time of each robot 21.

[0050] For example, the granularity determination unit 204 identifies the granularity of the robot 21 moving into the area by analyzing the granularity history of each robot 21. For example, the granularity determination unit 204 analyzes "the cleaning robot requests mesh data of granularity g every day when it moves to the 7th floor" and predicts that the granularity used by the cleaning robot will be g. In FIG. 4, the granularity determination unit 204 of the server 20-2 on the 7th floor determines the granularity used by the robot 21-2 in the past based on the granularity history of the robot 21-2 moving to the 7th floor. For example, the granularity history is not limited to the history of the granularity used by the robot 21-2 on the 7th floor, but may be the history of the granularity used on another floor (for example, the 1st floor).

[0051] For example, the movement time determination unit 205 analyzes the movement history of each robot 21 to predict the movement time of the robot 21 moving into the area. The movement time determination unit 205 analyzes, for example, "The cleaning robot moves from the first floor to the seventh floor of the building at w o'clock every day." Then, the movement time determination unit 205 predicts the movement time of the cleaning robot to be w o'clock. Also, for example, the movement time determination unit 205 analyzes, for example, "The disinfection robot 21 disinfects the seventh floor of the building every Tuesday." Then, the movement time determination unit 205 predicts the movement time of the disinfection robot 21 to be 0:00 on Tuesday.

[0052] Next, a case where the movement time is determined based on other information will be described. Examples of the other information include information on the schedule of an event. The event is not particularly limited. Examples of the event include a conference and other events. The event schedule information is assumed to be stored in the storage unit 206 of the server 20, for example. The movement time determination unit 205 determines the time when the robot 21 will move based on the event schedule information. Take the example of a case where a conference is scheduled for x month, x day, x hour, x minute. The movement time determination unit 205 determines that a guide robot or a caretaker robot that organizes the venue will move to an area including the conference room at a time a predetermined time before x hour, x minute.

[0053] A case will be described in which the granularity is determined based on at least one of the contents of the service, the performance of the robot 21, the performance of the sensor mounted on the robot 21, and the specifications of the robot 21. The service here is, for example, a service provided by the robot 21. The granularity determination unit 204 determines the granularity based on at least one of the contents of the service provided by the moving robot 21, the performance of the robot 21, the performance of the sensor mounted on the robot 21, and the specifications of the robot 21.

[0054] For example, if the cleaning robot 21 cleans one floor every day in a few minutes, the granularity determination unit 204 may determine that the granularity used by the cleaning robot 21 is low. If the granularity is a distance interval, low granularity indicates, for example, a long distance interval. For example, if the cleaning robot 21 cleans one floor once a month in one hour, the granularity determination unit 204 may determine that the granularity used by the cleaning robot 21 is high. If the granularity is a distance interval, high granularity indicates, for example, a short distance interval.

[0055] This completes the explanation of the example of determining the granularity and the movement time.

[0056] Next, the interpolation unit 201 interpolates the data of the set based on each data included in the set of data in a specified area so that the granularity of the positions associated with the data included in the set becomes the specified granularity.

[0057] Then, the request unit 216 of the moving robot 21 may request mesh data from, for example, the server 20. Then, the transmission unit 202 of the server 20 transmits the mesh data. Note that the transmission unit 202 may transmit mesh data including a data value of the type (attribute) used by the robot 21. For example, if the robot 21 uses temperature, the transmission unit 202 transmits mesh data including a temperature value. For example, if the robot 21 uses a congestion degree, the transmission unit 202 transmits mesh data including a congestion degree value. Then, the mesh data acquisition unit 217 of the robot 21 acquires the mesh data from the server 20-2.

[0058] FIG. 8 is an explanatory diagram showing an example of interpolation and transmission. An example in which the robot 21-2 moves from the area L1 on the first floor to the area L2 on the seventh floor will be described. For example, the interpolation unit 201 of the server 20-2 interpolates the data of the set so that the data is of the granularity used by the robot 21-2 for the area L2 before the robot 21-2 starts using the values ​​of each data included in the set in the area L2. More specifically, for example, the interpolation unit 201 interpolates the data of the set so that the data is of the granularity used by the robot 21 for a predetermined area before the moving time. A detailed example of the interpolation process will be described later. Each data included in the set after the interpolation is stored in the storage unit 206.

[0059] The request unit 216 of the robot 21-2 may then request mesh data from the server 20-2, for example. The transmission unit 202 of the server 20-2 then transmits each piece of data included in the set to the robot 21-2. The mesh data acquisition unit 217 of the robot 21-2 acquires the mesh data from the server 20-2.

[0060] <Interpolation details> Next, the details of the interpolation process will be described. For example, the interpolation unit 201 interpolates the data of the set based on the acquired data. For example, the interpolation unit 201 calculates the influence (weight) based on the distance between the position associated with the acquired data and the position associated with the data to be interpolated. The interpolation unit 201 calculates the inverse of the real power of the distance as the influence. For example, the interpolation unit 201 calculates the influence by the following formula 1. The distance is represented by d. The degree is represented by p. The degree p is a real number. The degree p may be a positive real number such as 2, but is not particularly limited as long as it is a real number. The influence (weight) is represented by w. Note that, among the acquired data, the data used for the interpolation may be, for example, data included in a predetermined range from the data to be interpolated.

[0061]

number

[0062] Then, the interpolation unit 201 calculates the data value of the data to be interpolated based on the influence and the data value. Taking temperature as an example, for example, the interpolation unit 201 calculates the temperature value included in the data to be interpolated based on the influence and the temperature value. For example, the interpolation unit 201 sums up the products of the influence and the data value for each detected data. Furthermore, the interpolation unit 201 calculates the total value of the detected influences. Then, the interpolation unit 201 calculates the data value included in the data to be interpolated by dividing the total value of the products by the total value of the influences. More specifically, the interpolation unit 201 calculates the data value included in the data to be interpolated, for example, by the following formula 2. In formula 2, the data value of the data to be interpolated is represented by z. In formula 2, the number of acquired data is N, and the data values ​​of each acquired data are divided into u1 to u2. N In addition, the influence of each data calculated by the formula 1 is expressed as w1 to w N It is expressed as:

[0063]

number

[0064] Furthermore, the interpolation unit 201 associates the calculated data value with intermediate calculation results for each data to be interpolated, and stores them in the storage unit 206. The intermediate calculation results are the sum of products, which is the calculation result of the numerator of Equation 2, and the sum of influences, which is the calculation result of the denominator of Equation 2.

[0065] FIG. 9 is an explanatory diagram showing an example of calculation of the value of data to be interpolated. In FIG. 9, for ease of understanding, the detected data and data to be interpolated are shown on a mesh. Also, in FIG. 9, an example of position information associated with data is explained using coordinates when an area is represented by the X axis and the Y axis. Here, if the coordinates of a position newly associated with data to be interpolated are (x a ,y a ) and the data value z of the data to be interpolated aAn example of calculating the data value z a The data values ​​of the other data used to calculate N It is.

[0066] The interpolation unit 201 divides the sum of the products of the influences and the data values ​​by the sum of the influences to obtain the data value z a Calculate.

[0067] Furthermore, the interpolation unit 201 stores in the storage unit 206 the data values ​​of the data to be interpolated and intermediate calculation results (the total value of the products and the total value of the influence degrees).

[0068] <Example of interpolation using intermediate results> The data acquisition unit 203 acquires new data. The interpolation unit 201 updates the data values ​​of each data to be interpolated based on the data values ​​of the newly acquired data and the intermediate calculation results stored in the storage unit 206.

[0069] Fig. 10 is an explanatory diagram showing an example of data interpolation when additional data is present. In Fig. 10, an example will be described in which the robot 21 detects a new data value in the area L2. For example, the data notification unit 214 of the robot 21 notifies the server 20-2 of the newly detected data in the area L2. Then, the data acquisition unit 203 of the server 20-2 acquires the newly detected data from the robot 21.

[0070] Then, the interpolation unit 201 updates the value of each data to be interpolated based on the newly acquired data value and the intermediate calculation results stored in the storage unit 206. The granularity used in the interpolation here may be the granularity estimated to be used next.

[0071] The interpolation unit 201 calculates the influence of the newly acquired data based on the distance between the position associated with the newly acquired data and the position associated with the data to be interpolated. The interpolation unit 201 acquires intermediate calculation results for the data to be interpolated. Then, the interpolation unit 201 adds the product of the influence and the data value for the newly acquired data to the total value of the products among the intermediate calculation results. For example, the interpolation unit 201 adds the influence of the newly acquired data to the total value of the influences among the intermediate calculation results. Then, the interpolation unit 201 divides the total value of the products after the addition by the total value of the influences after the addition. More specifically, the interpolation unit 201 can calculate the value of the data to be interpolated by the following formula 3. Since the newly detected data is the N+1th data, the influence is calculated by using N+1. N+1 and the data value is expressed as u N+1 This is expressed as:

[0072]

number

[0073] Furthermore, the interpolation unit 201 associates the calculated data value with intermediate calculation results for each data to be interpolated, and stores them in the storage unit 206. The intermediate calculation results are the sum of products, which is the calculation result of the numerator in Equation 3, and the sum of influence degrees, which is the calculation result of the denominator in Equation 3.

[0074] FIG. 11 is an explanatory diagram showing an example of calculation of the value of data to be interpolated when additional data is available. In FIG. 11, for ease of understanding, previously detected data, newly detected data, and data to be interpolated are shown on a mesh. The value of the data to be interpolated has already been calculated. Therefore, intermediate calculation results when calculating the value of the data to be interpolated are stored in storage unit 206. Here, the position associated with the data to be interpolated is represented by the coordinates (x a ,y a ) The value of the data to be interpolated is z a Let us consider an example of calculating the value of newly detected data.N+1 Also, the position associated with the newly detected data is represented by the coordinates (x N+1 ,y N+1 ).

[0075] The interpolation unit 201 calculates the position (coordinates (x N+1 ,y N+1 )) and the location associated with the data to be interpolated (coordinates are (x a ,y a )) and the distance d between N+1 Based on this, the impact of newly acquired data w N+1 As mentioned above, the impact w N+1 is the inverse of the real power of this distance. The interpolation unit 201 acquires intermediate calculation results for the data to be interpolated. Then, the interpolation unit 201 calculates the influence w N+1 and the data value u N+1 The interpolation unit 201 adds the product of the influence w N+1 The interpolation unit 201 divides the sum of the products of the influences and the data values ​​by the sum of the influences to obtain a new data value z a Calculate.

[0076] Furthermore, the interpolation unit 201 stores in the storage unit 206 the calculated data values ​​and intermediate calculation results (the total value of the products and the total value of the influences) for the data to be interpolated.

[0077] FIG. 12 is an explanatory diagram showing an interpolation and transmission example 2. For example, when there is a predetermined granularity in the area L2, the interpolation unit 201 interpolates the data of the set so as to obtain the predetermined granularity. Each data included in the set after the interpolation is stored in the storage unit 206. In FIG. 12, the determined granularity is g. In FIG. 12, when the granularity is g, the number of data to be interpolated is 12.

[0078] Thereafter, when it is determined that the robot 21-2 moves to the region L2 and the granularity used by the robot 21-2 is smaller than the predetermined granularity, the interpolation unit 201 interpolates the data of the set so that the granularity becomes the granularity used by the robot 21-2. For example, the granularity used by the robot 21-2 is q. In FIG. 12, in the case of the granularity q, the number of data to be interpolated is 35. Here, the interpolation unit 201 performs interpolation based on the value of the detected data. That is, the interpolation unit 201 does not interpolate new data to be interpolated based on the value of the data after the interpolation, but interpolates new data to be interpolated based on the value of the detected data. Also, in FIG. 12, the interpolation unit 201 has already calculated the values ​​of 12 data to be interpolated, so it is sufficient to calculate the values ​​of the remaining 23 data to be interpolated.

[0079] The request unit 216 of the robot 21-2 may then request the data included in the set from the server 20-2, for example. The transmission unit 202 of the server 20-2 then transmits each piece of data included in the set as mesh data to the robot 21-2. The mesh data acquisition unit 217 of the robot 21-2 acquires the mesh data from the server 20-2.

[0080] <Examples of data usage by each robot> Here, an example will be described in which the degree of dust, the degree of dirt, and the degree of crowding of people are used for each type of robot 21. The robots 21 will be described using a cleaning robot, a disinfection robot, a delivery robot, and a guide robot as examples. Here, the degree of dust and the degree of dirt are collectively called the degree of dust and the degree of dirt, but they may be separate data.

[0081] First, a cleaning robot will be described. For example, a cleaning robot is assigned the task of cleaning a floor. For example, the frequency of work performed by the cleaning robot is assumed to be once a day or once a week.

[0082] The cleaning robot, for example, requests the degree of human congestion, dust, and dirt from the server 20. Then, the cleaning robot receives the degree of human congestion, dust, and dirt from the server 20, for example.

[0083] The cleaning robot then focuses on cleaning areas with high levels of dust and dirt. The cleaning robot may also focus on cleaning areas where the hourly cumulative value of the congestion degree is high, estimating that the amount of dust and dirt is increasing. The hourly cumulative value is, for example, the cumulative value of the congestion degree by time period. For example, the cleaning robot may identify areas where the cumulative value of the congestion degree is high between 1:00 p.m.

[0084] Furthermore, the cleaning robot may select an area with a low current congestion level to clean in order to avoid the risk of collision with people. Furthermore, when the cleaning robot detects from the time-series mesh data that the degree of dirt does not change even after cleaning, it may estimate that the dirt at that area is stuck and cannot be removed by normal cleaning. The cleaning robot may then perform a stronger cleaning on such dirt using a cleaning agent. Furthermore, the cleaning robot may notify a supervisor of the presence of such dirt.

[0085] This allows the cleaning robot to perform cleaning work efficiently by prioritizing cleaning locations according to the degree of congestion, dust, and dirt. The cleaning robot may also analyze the degree of dust and dirt in a time series. The cleaning robot can estimate locations where dirt cannot be removed by normal cleaning. The cleaning robot may then use an expensive and strong detergent for this location in the area. On the other hand, the cleaning robot may not need to use an expensive and strong detergent for locations other than this location in the area. This allows the cleaning robot to reduce the amount of detergent used compared to when an expensive detergent is used for the entire area, thereby achieving cost reduction.

[0086] Next, the disinfection work robot will be described. For example, the disinfection work robot is assigned tasks such as spraying disinfectant, irradiating ultraviolet light, and cleaning the air. For example, the disinfection work robot may disinfect the disinfection target by spraying alcohol, disinfectant, etc. Also, the disinfection work robot may disinfect the disinfection target by irradiating ultraviolet light. The disinfection work robot may operate an air purification function to remove viruses, droplets, dust, etc. For example, the work frequency of the disinfection work robot is once every few hours, once every tens of minutes, etc. Also, the work frequency may be variously changeable depending on the degree of congestion, etc.

[0087] The disinfection work robot may, for example, request at least one of the degree of human congestion and the degree of dust and dirt from the server 20. Then, the disinfection work robot receives the degree of human congestion and the degree of dust and dirt from the server 20, for example.

[0088] The disinfection work robot may give priority to disinfecting places with a high level of dust and dirt. Also, the disinfection work robot may disinfect floors and equipment when the hourly accumulated value of the congestion degree exceeds a threshold. Also, the disinfection work robot may select a place with a low current congestion degree, for example, to avoid the risk of collision with people. Then, the disinfection work robot may disinfect the disinfection target in the selected place.

[0089] Examples of objects that can be disinfected include walls and floors, doorknobs, elevator buttons, vending machine and ticket machine buttons, chairs and tables in food courts, water dispenser levers, and drink bar buttons.

[0090] The disinfection work robot can determine the priority of disinfection targets using the degree of crowding of people. Therefore, the disinfection work robot can perform disinfection work on disinfection targets as frequently as necessary. This allows the disinfection work robot to reduce the risk of infectious diseases. In addition, the disinfection work robot can move to crowded places and operate air purifiers. The disinfection work robot can remove viruses, droplets, dust, etc. in places where air purifiers cannot be installed in a fixed manner or when the air purification capacity is insufficient even if an air purifier is installed.

[0091] Next, a delivery robot will be described. The delivery robot performs, for example, a task of delivering packages.

[0092] The delivery robot, for example, requests the congestion degree of people from the server 20. Then, the delivery robot receives the congestion degree of people from the server 20, for example.

[0093] The delivery robot may deliver packages along a route with less people that avoids crowded places based on the congestion degree of people. This allows the delivery robot to reduce the risk of colliding with people by using the congestion degree. Also, the delivery robot can deliver packages efficiently by avoiding congestion.

[0094] Finally, a guide robot will be described. The guide robot, for example, provides guidance to a person on his / her destination as a task.

[0095] The guide robot requests the degree of crowding of people from the server 20, for example. Then, the guide robot receives the degree of crowding of people from the server 20, for example. The guide robot may guide a person to a destination along a route with less people that avoids crowded places based on the degree of crowding of people. In this way, the guide robot can shorten the operation time by guiding a person along a less crowded route using the degree of crowding. Furthermore, the guide robot can efficiently deliver luggage by avoiding crowding. Furthermore, the guide robot can disperse the density of people. Therefore, the guide robot's use of the degree of crowding is effective in preventing infection.

[0096] 13 is a flowchart showing an example of an operation performed by the server 20 according to the second embodiment when new data is acquired. The data acquisition unit 203 determines whether data has been acquired (step S201). In step S201, for example, the data acquisition unit 203 may determine whether data has been acquired based on whether new data has been received from each robot 21. If the data acquisition unit 203 has not acquired data (step S201: No), the server 20 returns to step S201.

[0097] If the data acquisition unit 203 acquires data (step S201: Yes), the interpolation unit 201 performs an interpolation process (step S202). After step S202, the server 20 ends the operation of the flow. Details of the interpolation process in step S202 will be described with reference to FIG. 15.

[0098] 14 is a flowchart showing an example of an operation when the server 20 according to the second embodiment predicts the movement of the robot 21. The movement time determination unit 205 determines the movement time of the robot 21 to the target area (step S211). In addition, the granularity determination unit 204 determines the granularity used by the robot 21 moving into the target area (step S212).

[0099] Next, the interpolation unit 201 judges whether or not to perform interpolation (step S213). For example, if data of a set of granularity used by the robot 21 is already stored in the storage unit 206, the interpolation unit 201 judges not to perform interpolation (step S213: No). In step S213, if data of a set of granularity finer than the granularity used by the robot 21 is stored in the storage unit 206, the interpolation unit 201 judges not to perform interpolation. If data of a set of granularity used by the robot 21 is not stored in the storage unit 206, the interpolation unit 201 judges to perform interpolation (step S213: Yes). If the answer is Yes in step S213, the interpolation unit 201 performs an interpolation process (step S214). Details of the interpolation process in step S214 will be described with reference to FIG. 15.

[0100] In the case of No in step S213 or after step S214, the transmission unit 202 judges whether or not a request for mesh data has been received (step S215). If a request for mesh data has not been received (step S215: No), the transmission unit 202 returns to step S215. As a result, the transmission unit 202 waits until a request for mesh data is received. If a request for mesh data has been received (step S215: Yes), the transmission unit 202 transmits mesh data including the data value of the requested type (attribute) to the requesting robot 21 (step S216). In step S216, when, for example, temperature and humidity are requested, the transmission unit 202 transmits mesh data including the temperature value and the humidity value and position information associated with each data to the requesting robot 21. As described above, for example, the type can be humidity, temperature, congestion level, dust and dirt level, etc. After step S216, the server 20 ends the operation of the flow.

[0101] Fig. 15 is a flowchart showing an example of a specific processing procedure of the interpolation process, which includes the interpolation process (step S201) shown in Fig. 13 and the interpolation process (step S214) shown in Fig. 14.

[0102] In FIG. 15, the interpolation unit 201 calculates the inverse of the real power of the distance between the data to be interpolated and each of the acquired data as the degree of influence (step S231). In step S231, the interpolation unit 201 calculates the degree of influence, for example, by the formula 1. The real power is, for example, a square. The distance between the data to be interpolated and each of the acquired data is the distance between the position associated with the data to be interpolated and the position associated with each of the acquired data. The interpolation unit 201 determines whether there is an intermediate calculation result for the data to be interpolated (step S232). In step S232, the interpolation unit 201 determines, for example, whether the intermediate calculation result for the data to be interpolated is stored in the storage unit 206. If there is no intermediate calculation result (step S232: No), the interpolation unit 201 calculates the total value of the degree of influence (step S233). As described above, the total value after the influence is, for example, the denominator of the formula 2. Next, the interpolation unit 201 calculates the sum of the products of the influences and the data values ​​(step S234). As described above, the sum of the products of the influences and the data values ​​is, for example, the numerator of Equation 2.

[0103] If there are intermediate calculation results (step S232: Yes), the interpolation unit 201 acquires the intermediate calculation results (step S235). In step S235, the interpolation unit 201 reads out the intermediate calculation results from the storage unit 206.

[0104] The interpolation unit 201 adds the calculated influence to the total value of the influences among the intermediate calculation results (step S236). In step S236, the interpolation unit 201 calculates the denominator of Equation 3. The interpolation unit 201 adds the product of the calculated influence and the data value to the total value of the products among the intermediate calculation results (step S237). In step S237, the interpolation unit 201 calculates the numerator of Equation 3.

[0105] The interpolation unit 201 calculates the data value of the data to be interpolated based on Equation 3 (step S238). In step S238, the interpolation unit 201 divides the result of the addition in step S237 by the result of the addition in step S236. Then, the interpolation unit 201 stores the data value of the data to be interpolated and the intermediate calculation results in the storage unit 206 (step S239). Then, after step S239, the server 20 ends the operation of the flow.

[0106] In addition, when there are a plurality of data to be interpolated, the interpolation unit 201 may sequentially select the data to be interpolated as a calculation target before step S231. Then, the interpolation unit 201 performs the processes from step S231 to step S239 on the data to be interpolated selected as a calculation target.

[0107] Next, the effect of the second embodiment will be described. For each data to be interpolated included in the set, intermediate calculation results in the interpolation calculation process are stored, and the server 20 updates the value of each data to be interpolated based on the acquired new data value and the stored intermediate calculation results. In this way, the server 20 can reduce the amount of calculation by using the intermediate calculation results. And the server 20 can improve the overall processing performance.

[0108] The server 20 interpolates data values ​​of the granularity used by the robot 21 for a predetermined area before the robot 21 moves to the predetermined area, thereby enabling the server 20 to instantly provide the robot 21 with data of the granularity used by the robot 21.

[0109] The server 20 determines the time when the robot 21 moves to a predetermined area based on at least one of a notification from the robot 21, interpolation history information, and schedule information of the robot 21. In this way, the server 20 can interpolate data of the granularity used by the robot 21 before the robot moves in, and can provide the robot 21 immediately.

[0110] The server 20 determines the granularity used by the robot 21 based on at least one of a notification from the robot 21, a service provided by the robot 21, the performance of the robot 21, and the specifications of the robot 21. In this way, the server 20 can suppress an increase in the amount of data to be interpolated. And the server 20 can reduce the amount of calculation.

[0111] The second embodiment is not limited to the above-mentioned example, and various modifications are possible. Each functional unit of the server 20 may be realized by a plurality of devices. For example, the interpolation unit 201, the granularity determination unit 204, and the movement time determination unit 205 may be realized by different devices. For example, the server 20 may use a storage device connected via the communication network 22 instead of the memory unit 206. Moreover, the robot 21 may use a storage device connected via the communication network 22 instead of the memory unit 218.

[0112] In addition, in the examples of Figs. 3 and 4, each robot 21 is connected to a communication network 22, but a different communication network 22 may be constructed for each area.

[0113] 4 shows an example in which the server 20 manages the robots 21 working within each area by area, but the present invention is not limited to this. For example, one server 20 may manage the robots 21 working within a plurality of areas. The server 20 may also manage the robots 21 by type of data value.

[0114] Moreover, a modification of the second embodiment will be described below.

[0115] <Variation 1> For example, when the destination location is a predetermined small area within the destination area, the interpolation unit 201 interpolates data in the small area so that the granularity is the same as that used in the small area by the moving robot 21. For example, in Fig. 4, when the robot 21-2 moves to a predetermined conference room in the area on the seventh floor, the interpolation unit 201 needs only to interpolate data in the predetermined conference room, and does not need to interpolate data in the entire area on the seventh floor.

[0116] <Variation 2> In the second embodiment, when detecting a data value from an image, the robot 21 may take an image and transmit the image data to the server 20. The server 20 may have a detection unit 213, which may detect various data values ​​from the image data. Also, for example, some of the robots 21 may detect data values ​​from an image on their own devices, and some of the robots 21 may notify the server 20 of the image, and the server 20 may detect the data values ​​from the notified image.

[0117] This completes the description of each embodiment.

[0118] (Computer Equipment) Next, an example of a hardware configuration in which devices such as the server 20 (information processing device) and the robot 21 described in the second embodiment are realized by a computer device will be described. Fig. 16 is an explanatory diagram showing an example of a hardware configuration of a computer device. Some or all of the components of the server 20 and the robot 21 described in the second embodiment above can also be realized by using any combination of a computer device 30 and a program as shown in Fig. 16.

[0119] The computer device 30 includes, for example, a processor 301, a ROM 302, a RAM 303, a storage device 304, a communication interface 305, and an input / output interface 306. Each component is connected to each other via a bus 307.

[0120] The processor 301 controls the entire computer device 30. The processor 301 may be, for example, a central processing unit (CPU) or a digital signal processor (DSP). The computer device 30 has a ROM 302, a RAM 303, and a storage device 304 as a storage unit. The storage device 304 may be, for example, a semiconductor memory such as a flash memory, a HDD, or an SSD. For example, the storage device 304 stores an operating system (OS) program, an application program, a program according to each embodiment, and the like. Alternatively, the ROM 302 stores an application program, a program according to each embodiment, and the like. The RAM 303 is used as a work area for the processor 301.

[0121] Moreover, the processor 301 loads a program stored in the storage device 304, the ROM 302, etc. Then, the processor 301 executes each process coded in the program. The processor 301 may also download various programs via the communication network 32. The processor 301 functions as a part or the whole of the computer device 30. Then, the processor 301 may execute processes or instructions in the illustrated flowchart based on the program.

[0122] The communication interface 305 is connected to a communication network 32, such as a local area network (LAN) or a wide area network (WAN), via a wireless or wired communication line. This allows the computer device 30 to be connected to an external device or computer via the communication network 32. The communication interface 305 serves as an interface between the communication network 32 and the inside of the computer device 30. The communication interface 305 also controls the input and output of data from the external device or computer.

[0123] Furthermore, the input / output interface 306 is connected to at least one of an input device, an output device, and an input / output device. The connection method may be wireless or wired. Examples of the input device include a keyboard, a mouse, and a microphone. Examples of the output device include a display device, a lighting device, and a speaker that outputs sound. Examples of the input / output device include a touch panel display. The input device, the output device, and the input / output device may be built into the computer device or may be external.

[0124] The hardware configuration of the computer device 30 shown in FIG. 16 is an example. The computer device 30 may not have some of the components shown in FIG. 16. The computer device 30 may have components other than those shown in FIG. 16. The computer device 30 may have devices not shown. For example, the computer device 30 may have a camera as an imaging device. The computer device 30 may also have various sensors. For example, the computer device 30 may have a drive device. The processor 301 may read programs and data from a recording medium attached to the drive device or the like into the RAM 303. Examples of the recording medium include an optical disk, a flexible disk, a magneto-optical disk, and a USB (Universal Serial Bus) memory.

[0125] This concludes the description of the hardware configuration examples of each device, such as a robot and a server. There are various variations in the method of realizing each device. For example, the system may be realized by any combination of a different computer and program for each component. Furthermore, multiple components included in each device may be realized by any combination of a single computer and program.

[0126] Also, some or all of the components of each device may be realized by circuits for specific applications. Also, some or all of the system may be realized by general-purpose circuits including a processor such as an FPGA (Field Programmable Gate Array). Also, some or all of the system may be realized by a combination of circuits for specific applications and general-purpose circuits. Also, these circuits may be a single integrated circuit. Or, these circuits may be divided into multiple integrated circuits. And, the multiple integrated circuits may be configured by being connected via a bus or the like.

[0127] Furthermore, when some or all of the components of each device are realized by a plurality of computers, circuits, etc., the plurality of computers, circuits, etc. may be arranged in a centralized manner or in a distributed manner.

[0128] The method described in each embodiment is realized by a computer device executing the method. Also, the method is realized by a computer device executing a program prepared in advance. The program described in each embodiment is recorded on a computer-readable recording medium such as an HDD, SSD, flexible disk, optical disk, flexible disk, magneto-optical disk, USB memory, etc. Then, the program is executed by reading it from the recording medium by the computer. Also, the program may be distributed via the communication network 32.

[0129] The functions of each of the components of the system in each embodiment described above may be realized by hardware, such as computer device 30 shown in Fig. 16. Alternatively, each component may be realized by a computer device or firmware based on program control.

[0130] Although the present disclosure has been described above with reference to each embodiment, the present disclosure is not limited to the above embodiment. The configuration and details of each disclosure may include embodiments to which various modifications that a person skilled in the art may understand within the scope of the present disclosure are applied. The present disclosure may include embodiments in which the matters described in this specification are appropriately combined or replaced as necessary. For example, matters described using a specific embodiment may also be applied to other embodiments to the extent that no contradiction occurs. For example, although multiple operations are described in order in the form of a flowchart, the order of description does not limit the order in which the multiple operations are performed. Therefore, when implementing each embodiment, the order of the multiple operations can be changed to the extent that the content is not impaired.

[0131] A part or all of the above-described embodiments can be described as follows: However, a part or all of the above-described embodiments is not limited to the following.

[0132] (Appendix 1) an interpolation means for interpolating data of the set based on each data included in the set of data at each position or each time in a predetermined area so that the granularity of the position or time of the data included in the set becomes a specified granularity; A transmitting means for transmitting each data included in the set to a mobile object; Equipped with the interpolation means interpolates the data of the set so as to obtain a granularity of location or time used by the mobile unit with respect to the specified area before the mobile unit starts using each of the data included in the set in the specified area; system. (Appendix 2) A means for acquiring new data; a storage means for storing intermediate calculation results in a calculation process of the interpolation for each data to be interpolated that is included in the set; Equipped with the interpolation means updates each of the data to be interpolated based on the acquired new data and the intermediate calculation results stored in the storage means; 2. The system of claim 1. (Appendix 3) the interpolation means interpolates data values ​​of a granularity used by the moving body for the predetermined region before the moving body moves into the predetermined region; 3. The system of claim 1 or 2. (Appendix 4) a movement time determination means for determining a movement time of the moving object to the predetermined area based on at least one of a notification from the moving object, history information of the interpolation by the interpolation means, and information on a schedule of the moving object; 4. The system of claim 3, comprising: (Appendix 5) a granularity determination means for determining the granularity used by the mobile body based on at least one of a notification from the mobile body, a service provided by the mobile body, a performance of the mobile body, and a specification of the mobile body; 5. The system of claim 1, further comprising: (Appendix 6) an interpolation means for interpolating data of the set based on each data included in the set of data associated with each position or each time in a predetermined area such that the granularity of the position or time of the data included in the set becomes a specified granularity; A transmitting means for transmitting each data included in the set to a mobile object; Equipped with the interpolation means interpolates the data of the set so as to obtain a granularity of location or time used by the mobile unit with respect to the specified area before the mobile unit starts using each of the data included in the set in the specified area; Information processing device. (Appendix 7) A process of interpolating data of the set based on each data included in the set of data associated with each position or each time in a predetermined area, so that the granularity of the position or time of the data included in the set becomes a specified granularity; transmitting each data set to a mobile entity; Do the following: In the interpolating process, the data of the set is interpolated to a granularity of location or time used by the mobile unit with respect to the specified area before the mobile unit starts using each of the data included in the set in the specified area. method. (Appendix 8) On the computer, A process of interpolating data of the set based on each data included in the set of data associated with each position or each time in a predetermined area, so that the granularity of the position or time of the data included in the set becomes a specified granularity; transmitting each data set to a mobile entity; Run the command, In the interpolating process, the data of the set is interpolated to a granularity of location or time used by the mobile unit with respect to the specified area before the mobile unit starts using each of the data included in the set in the specified area. program. (Appendix 9) On the computer, A process of interpolating data of the set based on each data included in the set of data associated with each position or each time in a predetermined area, so that the granularity of the position or time of the data included in the set becomes a specified granularity; transmitting each data set to a mobile entity; Run the command, In the interpolating process, the data of the set is interpolated to a granularity of location or time used by the mobile unit with respect to the specified area before the mobile unit starts using each of the data included in the set in the specified area. A non-transitory recording medium readable by the computer, which records a program. [Explanation of symbols]

[0133] 1 System 2. System 20 Servers 21 Robot 22 Communication Networks 30 Computer Equipment 32 Communication Network 101 Interpolation section 102 Transmitter 201 Interpolation section 202 Transmitter 203 Data Acquisition Department 204 Particle size determination section 205 Movement time determination section 206 Memory section 211 Image acquisition unit 212 Position acquisition part 213 Detection unit 214 Data Notification Section 215 Movement information notification section 216 Request part 217 Mesh data acquisition unit 218 Memory section 301 Processor 302 ROM 303 RAM 304 Storage device 305 Communication Interface 306 Input / Output Interface 307 Bus

Claims

1. A granularity determination means for determining a granularity used by a moving object moving in a predetermined area based on at least one of a notification from the moving object, a service provided by the moving object, a performance of the moving object, and a specification of the moving object; an interpolation means for interpolating data of the set based on each data included in the set of data associated with each position or each time in the predetermined area, so that the granularity of the position or time of the data included in the set becomes the determined granularity; a transmitting means for transmitting each data included in the set to the mobile unit; Equipped with the interpolation means interpolates the data of the set so as to obtain a granularity of location or time used by the mobile unit with respect to the specified area before the mobile unit starts using each of the data included in the set in the specified area; system.

2. A means for acquiring new data; a storage means for storing intermediate calculation results in a calculation process of the interpolation for each data to be interpolated that is included in the set; Equipped with the interpolation means updates each of the data to be interpolated based on the acquired new data and the intermediate calculation results stored in the storage means; The system of claim 1 .

3. the interpolation means interpolates data values ​​of a granularity used by the moving body for the predetermined region before the moving body moves into the predetermined region; 3. A system according to claim 1 or 2.

4. a movement time determination means for determining a movement time of the moving object to the predetermined area based on at least one of a notification from the moving object, history information of the interpolation by the interpolation means, and information on a schedule of the moving object; The system of claim 3 .

5. A granularity determination means for determining the granularity used by a moving object moving in a predetermined area based on at least one of a notification from the moving object, a service provided by the moving object, a performance of the moving object, and a specification of the moving object; A process of interpolating data of the set based on each data included in the set of data associated with each position or each time in the predetermined area so that the granularity of the position or time of the data included in the set becomes the determined granularity; transmitting each piece of data included in the set to the mobile unit; Do the following: In the interpolating process, the data of the set is interpolated to a granularity of location or time used by the mobile unit with respect to the specified area before the mobile unit starts using each of the data included in the set in the specified area. method.

6. On the computer, a granularity determination means for determining a granularity used by a moving object moving in a predetermined area based on at least one of a notification from the moving object, a service provided by the moving object, a performance of the moving object, and a specification of the moving object; A process of interpolating data of the set based on each data included in the set of data associated with each position or each time in the predetermined area so that the granularity of the position or time of the data included in the set becomes the determined granularity; transmitting each piece of data included in the set to the mobile unit; Run the command, In the interpolating process, the data of the set is interpolated to a granularity of location or time used by the mobile unit with respect to the specified area before the mobile unit starts using each of the data included in the set in the specified area. program.

Citation Information

Patent Citations

  • Route prediction apparatus, route prediction method, and route prediction program

    JP2017083273A

  • Cooperative and persistent mapping of mobile cleaning robot

    JP2019121365A

  • Control device, control method and program

    JP2020087248A

  • Autonomous driving support apparatus and method

    US20190113925A1

  • Mobile robot

    WO2020035902A1