Apparatus, method for updating a current model of an environment where the apparatus is present
Patent Information
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
- Filing Date
- 2023-06-16
- Publication Date
- 2026-07-22
AI Technical Summary
Existing Euclidean Distance Field (EDF) models using Gaussian Processes (GP) for robotic navigation face high computational demands and scalability issues, particularly in large environments, leading to inefficient storage and maintenance, and require constant reliable communication for offloading models, which is not robust.
An apparatus and method for updating a current EDF model by determining a resolution value and receiving datapoints based on the apparatus's position and movement indicators, allowing for a partitioned model between the apparatus and network device, reducing computational load and enabling precise local model updates.
This approach reduces computational power requirements on the apparatus and minimizes communication overhead, enabling efficient and precise local EDF model updates even for constrained devices, while avoiding the scalability issues of GP in large environments.
Smart Images

Figure SE2023050612_19122024_PF_FP_ABST
Abstract
Description
[0001] APPARATUS, METHOD FOR UPDATING A CURRENT MODEL OF AN ENVIRONMENT WHERE THE APPARATUS IS PRESENT
[0002] TECHNICAL FIELD
[0003] The invention relates to an apparatus for updating a current model of an environment where the apparatus is present, a network device for updating a current model of an environment where the apparatus is present, corresponding methods, corresponding computer programs, and a corresponding computer readable storage medium.
[0004] BACKGROUND
[0005] Euclidean Distance Fields (EDF) model provides information related to a distance between a closest obstacle from any position within an environment. A EDF may be used for trajectory planning and optimization of a robotic device. A robotic device may be a mobile robot on the surface of Earth, an aerial robot, and / or a robotic manipulator. The environment may represent the robotic device environment.
[0006] In prior art, discrete approximation of the EDF is performed by storing datapoint representing the environment in occupancy grid maps and quad or oct-trees.
[0007] In Barbosa, F. S., & Tumova, J. (n.d.), “Risk-Aware Navigation on Smooth Approximations of Euclidean Distance Fields Among Dynamic Obstacles”, 2022-06- 25, a continuous approximation of EDF using Gaussian Processes (GP) is proposed. Indeed, Barbosa, F. S., & Tumova, J. (n.d.), “Risk-Aware Navigation on Smooth Approximations of Euclidean Distance Fields Among Dynamic Obstacles”, 2022-06- 25 focuses on risk-aware collision avoidance approaches in workspaces with static and dynamic obstacles - more specifically, for Lagrangian systems operating in workspaces without perfect information about the obstacle-space. In order to avoid collision with static obstacles, a smooth approximation of the EDF is build, along with its first and second derivatives, using GP implicit surfaces.
[0008] In Online continuous mapping using gaussian process implicit surfaces, in 2019 International Conference on Robotics and Automation (ICRA) (pp. 6884-6890), IEEE, is proposed a an online (e.g., in real time) approach for continuous maping using Gaussian Process Implicit Surfaces (GPSIs). In particular, a real-time method for constructing truncated approximations of the ED. The truncated approximations of the EDF are precise in neighbouring obstacle space but diverge beyond a certain.
[0009] A disadvantage of in prior art is that GP demand heavy computation for storing and maintaining. Furthermore, GP do not scale well when the size of the dataset is increasing, and therefore become prohibitively large for an EDF modelling a large environment (e.g., multiple rooms, multiple-floor building).
[0010] SUMMARY
[0011] An object of the invention is to enable improvement of a current model of an environment where an apparatus is present.
[0012] According to a first aspect of the invention, an apparatus is provided. The apparatus is for updating a current model of an environment where the apparatus is present. The apparatus is configured to store the current model of the environment. The apparatus is configured to determine a resolution value of the current model of the environment. The apparatus is configured to send the resolution value. The apparatus is configured to receive a set of one or more datapoints. The set of one or more datapoints is comprised in a detailed model of the environment where the apparatus is present. The set of one or more datapoints is based on a position of the apparatus in the detailed model, and on the resolution value. The apparatus is configured to determine an updated current model of the environment based on the current model of the environment and the set of one or more datapoints. Hereby is achieved that an update of the current model of the environment where the apparatus is present based on a set of one or more datapoints from a detailed model of the environment, and on the resolution value of the apparatus.
[0013] According to an embodiment of the first aspect, the resolution value is comprised in a first message.
[0014] According to an embodiment of the first aspect, the set of one or more datapoints is comprised in a second message. According to an embodiment of the first aspect, the current model of the environment comprises a current dataset of one or more datapoints.
[0015] According to an embodiment of the first aspect, the detailed model of the environment comprises a detailed dataset of one or more datapoints.
[0016] According to an embodiment of the first aspect, the updated current model of the environment comprises an updated dataset of one or more datapoints.
[0017] According to an embodiment of the first aspect, the apparatus is configured to determine a maximum value corresponding to a maximum number of datapoints the apparatus is able to store.
[0018] According to an embodiment of the first aspect, the first message comprises the maximum value.
[0019] According to an embodiment of the first aspect, the resolution value corresponds to a minimum distance between datapoints in the current dataset.
[0020] According to an embodiment of the first aspect, the first message comprises a region of interest, wherein a centre of the region of the region of interest is the position of the apparatus.
[0021] According to an embodiment of the first aspect, the region of interest is in a form of a circle, a square, a sphere or a polygon.
[0022] According to an embodiment of the first aspect, the set of one or more datapoints is based on the region of interest.
[0023] According to an embodiment of the first aspect, the apparatus is configured to determine one or more movement indicators. The apparatus is configured to send the one or more movement indicators. According to an embodiment of the first aspect, the one or more movement indicators comprises one or more of a velocity of the apparatus; an acceleration of the apparatus; a path plan of the apparatus; and / or a motion model of the apparatus.
[0024] According to an embodiment of the first aspect, the first message comprises the one or more movement indicators.
[0025] According to an embodiment of the first aspect, the apparatus is determined to be present in a predicted position of the apparatus in the detailed model within a time interval. The predicted position is based on the one or more movement indicators.
[0026] According to an embodiment of the first aspect, the set of one or more datapoints is based on the predicted position.
[0027] According to an embodiment of the first aspect, the detailed model of the environment is partitioned into a set of one or more rooms.
[0028] According to an embodiment of the first aspect, the partitioning of the detailed model of the environment is a spectral clustering.
[0029] According to an embodiment of the first aspect, the apparatus is determined to be present in a room from the set of the one or more rooms.
[0030] According to an embodiment of the first aspect, the set of the one or more datapoints is based on the room.
[0031] According to an embodiment of the first aspect, the apparatus is determined to be present in a predicted room from the set of one or more rooms within the time interval. The predicted room is based on the predicted position.
[0032] According to an embodiment of the first aspect, the set of one or more datapoints is based on the predicted room. According to an embodiment of the first aspect, determining the updated current model of the environment comprises creating a new dataset. The new dataset comprises the current dataset and the set of one or more datapoints. Determining the updated current model of the environment comprises computing a distance between each of the datapoints in the new dataset, and removing datapoints from the new dataset if the distance is lower than the resolution value. Determining the updated current model of the environment comprises selecting a number of datapoints from the new dataset, and assigning the selected datapoints to the updated dataset. The number corresponds to the maximum value. The selected datapoints are the closest to the position of the apparatus.
[0033] According to a second aspect of the invention, a network device is provided. The network device is for updating a current model of an environment where an apparatus is present. The network device is configured to store a detailed model of an environment where the apparatus is present. The network device is configured to receive a resolution value. The resolution value is based on the current model of the environment. The network device is configured to determine a position of the apparatus in the detailed model of the environment. The network device is configured to determine a set of one or more datapoints from the detailed model based on the position and the resolution value. The network device is configured to send the set of the one or more datapoints.
[0034] According to an embodiment of the second aspect, the resolution value is comprised in a first message.
[0035] According to an embodiment of the second aspect, the set of one or more datapoints is comprised in a second message.
[0036] According to an embodiment of the second aspect, the detailed model of the environment comprises a detailed dataset comprising one or more datapoints.
[0037] According to an embodiment of the second aspect, the first message comprises a maximum value of datapoints the apparatus is able to store. According to an embodiment of the second aspect, the resolution value corresponds to a minimum distance between datapoints in the current model.
[0038] According to an embodiment of the second aspect, the set of the one or more datapoints corresponds to the one or more datapoints in the detailed dataset closest to the position of the apparatus in the detailed model of the environment.
[0039] According to an embodiment of the second aspect, the first message comprises a region of interest. A centre of the region of the region of interest is the position of the apparatus.
[0040] According to an embodiment of the second aspect, the region of interest is in a form of a circle, a square, a sphere, or a polygon.
[0041] According to an embodiment of the second aspect, the set of one or more datapoints is based on the region of interest.
[0042] According to an embodiment of the second aspect, the network device is configured to receive one or more movement indicators from the apparatus; and / or determine one or more movement indicators related to the apparatus.
[0043] According to an embodiment of the second aspect, the one or more movement indicators comprises one or more of a velocity of the apparatus; an acceleration of the apparatus; a path plan of the apparatus; and / or a motion model of the apparatus.
[0044] According to an embodiment of the second aspect, the first message comprises the one or more movement indicators.
[0045] According to an embodiment of the second aspect, the network device is configured to determine a predicted position within a time interval of the apparatus in the detailed model of the environment. The determination of the predicted position within the time interval is based on the one or more movement indicators. According to an embodiment of the second aspect, the determination of the set of the one or more datapoints is based on the predicted position.
[0046] According to an embodiment of the second aspect, the network device is configured to determine a partitioning of the detailed model of the environment into a set of one of more rooms. The network device is configured to determine a room from the set of the one or more rooms. The room is based on the position of the apparatus in the detailed model of the environment.
[0047] According to an embodiment of the second aspect, the determined partitioning is a spectral clustering.
[0048] According to an embodiment of the second aspect, the set of the one or more datapoints is based on the room.
[0049] According to an embodiment of the second aspect, the network device is configured to determine a predicted room from the set of the one or more rooms where the apparatus will be present within the time interval. The determination of the predicted room is based on the predicted position.
[0050] According to an embodiment of the second aspect, the set of the one or more datapoints are comprised in the predicted room.
[0051] According to an embodiment of the second aspect, the detailed model of the environment where the apparatus is present is in a two-dimensional format.
[0052] According to an embodiment of the second aspect, the detailed model of the environment where the apparatus is present is one or more occupancy-grids maps, or quad-trees.
[0053] According to an embodiment of the second aspect, the detailed model of the environment where the apparatus is present is in a three-dimensional format. According to an embodiment of the second aspect, the detailed model of the environment where the apparatus is present is an OctoMap, or an octrees.
[0054] According to a third aspect of the invention, a system is provided. The system comprises an apparatus according to one or more embodiments of the first aspect of the invention. The system comprises a network device according to one or more embodiments of the second aspect of the invention.
[0055] According to a fourth aspect of the invention, a method is provided. The method is performed by an apparatus. The method is for updating a current model of an environment where the apparatus is present. The method comprises storing the current model of the environment. The method comprises determining a resolution value of the current model of the environment. The method comprises sending the resolution value. The method comprises receiving a set of one or more datapoints, the set of one or more datapoints is comprised in a detailed model of the environment where the apparatus is present. The set of one or more datapoints is based on a position of the apparatus in the detailed model, and on the resolution value. The method comprises determining an updated current model of the environment based on the current model of the environment and the set of one or more datapoints.
[0056] According to an embodiment of the fourth aspect, the resolution value is comprised in a first message.
[0057] According to an embodiment of the fourth aspect, the set of one or more datapoints is comprised in a second message.
[0058] According to an embodiment of the fourth aspect, the current model of the environment comprises a current dataset of one or more datapoints.
[0059] According to an embodiment of the fourth aspect, the detailed model of the environment comprises a detailed dataset of one or more datapoints. According to an embodiment of the fourth aspect, the updated current model of the environment comprises an updated dataset of one or more datapoints.
[0060] According to an embodiment of the fourth aspect, the method comprises determining a maximum value corresponding to a maximum number of datapoints the apparatus is able to store.
[0061] According to an embodiment of the fourth aspect, the first message comprises the maximum value.
[0062] According to an embodiment of the fourth aspect, the resolution value corresponds to a minimum distance between datapoints in the current dataset.
[0063] According to an embodiment of the fourth aspect, the first message comprises a region of interest. A centre of the region of the region of interest is the position of the apparatus.
[0064] According to an embodiment of the fourth aspect, the region of interest is in a form of a circle, a square, a sphere or a polygon.
[0065] According to an embodiment of the fourth aspect, the set of one or more datapoints is based on the region of interest.
[0066] According to an embodiment of the fourth aspect, the method comprises determining one or more movement indicators and send the one or more movement indicators.
[0067] According to an embodiment of the fourth aspect, one or more movement indicators comprises one or more of a velocity of the apparatus; an acceleration of the apparatus; a path plan of the apparatus; and / or a motion model of the apparatus.
[0068] According to an embodiment of the fourth aspect, the first message comprises the one or more movement indicators. According to an embodiment of the fourth aspect, the apparatus is determined to be present in a predicted position of the apparatus in the detailed model within a time interval, wherein the predicted position is based on the one or more movement indicators.
[0069] According to an embodiment of the fourth aspect, the set of one or more datapoints is based on the predicted position.
[0070] According to an embodiment of the fourth aspect, the detailed model of the environment is partitioned into a set of one or more rooms.
[0071] According to an embodiment of the fourth aspect, the partitioning of the detailed model of the environment is a spectral clustering.
[0072] According to an embodiment of the fourth aspect, the apparatus is determined to be present in a room from the set of the one or more rooms.
[0073] According to an embodiment of the fourth aspect, the set of the one or more datapoints is based on the room.
[0074] According to an embodiment of the fourth aspect, the apparatus is determined to be present in a predicted room from the set of one or more rooms within the time interval. The predicted room is based on the predicted position.
[0075] According to an embodiment of the fourth aspect, the set of one or more datapoints is based on the predicted room.
[0076] According to an embodiment of the fourth aspect, determining the updated current model of the environment comprises creating a new dataset. The new dataset comprises the current dataset and the set of one or more datapoints. Determining the updated current model of the environment comprises computing a distance between each of the datapoints in the new dataset, and removing datapoints from the new dataset if the distance is lower than the resolution value. Determining the updated current model of the environment comprises selecting a number of datapoints from the new dataset, and assigning the selected datapoints to the updated dataset. The number corresponds to the maximum value. The selected datapoints are the closest to the position of the apparatus.
[0077] According to a fifth aspect of the invention, a method is provided. The method is performed by a network device. The method is for updating a current model of an environment where an apparatus is present. The method comprises storing a detailed model of an environment where the apparatus is present. The method comprises receiving a resolution value. The resolution value is based on the current model of the environment. The method comprises determining a position of the apparatus in the detailed model of the environment. The method comprises determining a set of one or more datapoints from the detailed model based on the position, and the resolution value. The method comprises sending the set of the one or more datapoints.
[0078] According to an embodiment of the fifth aspect, the resolution value is comprised in a first message.
[0079] According to an embodiment of the fifth aspect, the set of one or more datapoints is comprised in a second message.
[0080] According to an embodiment of the fifth aspect, the detailed model of the environment comprises a detailed dataset comprising one or more datapoints.
[0081] According to an embodiment of the fifth aspect, the first message comprises a maximum value of datapoints the apparatus is able to store.
[0082] According to an embodiment of the fifth aspect, the resolution value corresponds to a minimum distance between datapoints in the current model.
[0083] According to an embodiment of the fifth aspect, the set of the one or more datapoints corresponds to the one or more datapoints in the detailed dataset closest to the position of the apparatus in the detailed model of the environment. According to an embodiment of the fifth aspect, the first message comprises a region of interest. A centre of the region of the region of interest is the position of the apparatus.
[0084] According to an embodiment of the fifth aspect, the region of interest is in a form of a circle, a square, a sphere, or a polygon.
[0085] According to an embodiment of the fifth aspect, the set of one or more datapoints is based on the region of interest.
[0086] According to an embodiment of the fifth aspect, the method comprises receiving one or more movement indicators from the apparatus; and / or determining one or more movement indicators related to the apparatus.
[0087] According to an embodiment of the fifth aspect, the one or more movement indicators comprises one or more of: a velocity of the apparatus; an acceleration of the apparatus; a path plan of the apparatus; and / or a motion model of the apparatus.
[0088] According to an embodiment of the fifth aspect, the first message comprises the one or more movement indicators.
[0089] According to an embodiment of the fifth aspect, the method comprises determining a predicted position within a time interval of the apparatus in the detailed model of the environment. The determining of the predicted position within the time interval is based on the one or more movement indicators.
[0090] According to an embodiment of the fifth aspect, determining of the set of the one or more datapoints is based on the predicted position.
[0091] According to an embodiment of the fifth aspect, the method comprises determining a partitioning of the detailed model of the environment into a set of one of more rooms. The method comprises determining a room from the set of the one or more rooms, the room is based on the position of the apparatus in the detailed model of the environment. According to an embodiment of the fifth aspect, the determined partitioning is a spectral clustering.
[0092] According to an embodiment of the fifth aspect, the set of the one or more datapoints is based on the room.
[0093] According to an embodiment of the fifth aspect, the method comprises determining a predicted room from the set of the one or more rooms where the apparatus will be present within the time interval. The determination of the predicted room is based on the predicted position.
[0094] According to an embodiment of the fifth aspect, the set of the one or more datapoints are comprised in the predicted room.
[0095] According to an embodiment of the fifth aspect, the detailed model of the environment where the apparatus is present is in a two-dimensional format.
[0096] According to an embodiment of the fifth aspect, the detailed model of the environment where the apparatus is present is one or more occupancy-grids maps, or quad-trees.
[0097] According to an embodiment of the fifth aspect, the detailed model of the environment where the apparatus is present is in a three-dimensional format.
[0098] According to an embodiment of the fifth aspect, the detailed model of the environment where the apparatus is present is an OctoMap, or an octrees.
[0099] According to a sixth aspect of the invention, a method is provided. The method is performed by a system. The system comprises an apparatus. The system comprises a network device. The method comprises one or more embodiments according to the fourth aspect of the invention. The method comprises one or more embodiments according to the fifth aspect of the invention. According to a seventh aspect of the invention, a computer program is provided. The computer program comprises instructions, which when executed on an apparatus, causes the apparatus to perform the method according to one or more embodiments of the fourth aspect of the invention.
[0100] According to an eighth aspect of the invention, a computer program is provided. The computer program comprises instructions, which when executed on a network device, causes the network device to perform the method according to one or more embodiments of the fifth aspect of the invention.
[0101] According to a ninth aspect of the invention, a computer program is provided. The computer program comprises instructions, which when executed on a system, causes the system to perform the method according to one or more embodiments of the sixth aspect of the invention.
[0102] According to a tenth aspect of the invention, a computer readable storage medium is provided. The computer readable storage medium comprises a computer program according to the seventh aspect of the invention. The computer readable storage medium comprises a computer program according to the eighth aspect of the invention. The computer readable storage medium comprises a computer program according to the ninth aspect of the invention.
[0103] At least one or more embodiments advantageously enable a partitioning of the model of the environment between the apparatus and the network device. Indeed, the apparatus stores a current model of the environment where the apparatus is present, and the network device stores a detailed model of the environment where the apparatus is present.
[0104] Further objectives of, features of, and advantages with, the invention will become apparent when studying the following detailed disclosure, the drawings, and the appended claims. Those skilled in the art realize that different features of the invention can be combined to create embodiments other than those described in the following.
[0105] BRIEF DESCRIPTION OF THE DRAWINGS The above, as well as additional object, features and advantages of the invention will be better understood through the following and non-limiting detailed description of embodiments of the invention, with reference to the appended drawings, in which:
[0106] Figure 1 shows an embodiment of a communication network.
[0107] Figure 2 shows an embodiment of a method performed by an apparatus.
[0108] Figure 3 shows an embodiment of a current model of an environment.
[0109] Figure 4 shows an embodiment of the method performed by the apparatus.
[0110] Figure 5 shows an embodiment of the current model of the environment.
[0111] Figure 6 shows an embodiment of a detailed model of the environment.
[0112] Figure 7 shows an embodiment of the detailed model of the environment.
[0113] Figure 8a-8e show embodiments of the detailed model of the environment.
[0114] Figure 9 shows an embodiment of an updated current model of the environment.
[0115] Figure 10 shows an embodiment of the updated current model of the environment.
[0116] Figure 11 shows an embodiment of a method performed by a network device.
[0117] Figure 12 shows an embodiment of a method performed by a system.
[0118] Figure 13 shows a block diagram of the system.
[0119] Figure 14 shows an illustrative example of messages exchanged between an apparatus and a network device. Figure 15 shows a block diagram of an apparatus.
[0120] Figure 16 shows a block diagram of a network device.
[0121] Figure 17 shows a block diagram of an apparatus.
[0122] Figure 18 shows a block diagram of a network device.
[0123] Figure 19 shows a block diagram of a system.
[0124] All figures are schematic, and generally show parts which are necessary in order to elucidate the invention, wherein other parts may be omitted or merely suggested.
[0125] DETAILED DESCRIPTION
[0126] The invention will now be described more fully herein with reference to the accompanying drawings, in which certain embodiments are shown. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided by way of example so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art.
[0127] State of the art EDF approximation are performed by using GP. GP demand heavy computation for storing and maintaining. Furthermore, GP do not scale well when the size of the dataset is increasing, and therefore become prohibitively large for an EDF modelling a large environment (e.g., multiple rooms, multiple-floor building). Furthermore, EDF models are stored in a centralized manner, either on the apparatus or in a network device. If the apparatus has a low computational power, it is not possible to efficiently handle GP. On the other hand, having the EDF model offloaded to the network device requires constant and reliable communication, which is not a robust implementation design.
[0128] To overcome these problems, the solution to be disclosed, in its embodiment, provides an apparatus for updating a current model of an environment where the apparatus is present. The apparatus is configured to store the current model of the environment. The apparatus determines a resolution value of the current model of the environment and sends the resolution value. The apparatus receives a set of one or more datapoints. The set of one or more datapoints is comprised in a detailed model of the environment where the apparatus is present. The set of one or more datapoints is based on a position of the apparatus in the detailed model and the resolution value. The apparatus determines an updated current model of the environment based on the current model of the environment and the set of one or more datapoints.
[0129] The present invention in its embodiments allow a partitioning of the model of the environment between the apparatus and the network device. Thus, the present invention avoids computation power in the apparatus. A detailed model of the environment where the apparatus is present and a set of one or more datapoints is provided to the apparatus based on a position of the apparatus in the detailed model of the environment. The set of one or more datapoints allow the apparatus to have detailed knowledge of its surrounding. Thus, the present invention avoids computation power for communication a detailed model of the environment. Furthermore, the apparatus is able (even if the apparatus is a constrained device) to have precise current model of the environment the apparatus is present in.
[0130] In Figure 1 , a communication network 100 in accordance with an embodiment of the invention is provided. In an embodiment, the communication network 100 is an Internet-of-Things (loT) network. In an embodiment, the communication network 100 is a Constrained Application Protocol (CoAP) network.
[0131] The communication network 100 comprises an apparatus 110. The communication network 100 comprises a network device 120.
[0132] In an embodiment, the apparatus 110 comprises a client. The client may host a client software. In an embodiment, the network device 120 comprises a server host. The server host may host a server software. The apparatus 110 specified herein may be a CoAP client device. The network device 120 specified herein may be a CoAP server device. The communication network 100 may include more than a single apparatus 110. The communication network 100 may include more than a single network device 120. The apparatus 110, the network device 120, or the communication network 100 or all of the apparatus 110, the network device 120 and the communication network 100 may be able of running a CoAP application.
[0133] In an embodiment, the apparatus 110 is a communication device in the form of an loT device. The loT device may be a device for use in one or more application domains, these domains comprising, but not limited to, home, city, wearable technology, extended reality, industrial application, and healthcare.
[0134] As ways of example, the loT device may be an industrial application device wherein an industrial application device may be an industrial unmanned aerial vehicle, an intelligent industrial robot, a vehicle assembly robot, and an automated guided vehicle. As further ways of example, the loT device may be a transportation vehicle, wherein a transportation vehicle may be a bicycle, a motor bike, a scooter, a moped, an auto rickshaw, a rail transport, a train, a tram, a bus, a car, a truck, an airplane, a boat, a ship, a ski board, a snowboard, a snow mobile, a hoverboard, a skateboard, rollerskates, a vehicle for freight transportation, a drone, a robot, a stratospheric aircraft, an aircraft, a helicopter and a hovercraft.
[0135] In an embodiment, the network device 120 is a server. The server may run processing at an edge location, which can be anywhere along the edge spectrum from the apparatus. In an embodiment, the network device 120 is embodied in a hardware and / or software standalone server, a cloud-implemented server, a distributed server or as processing resources in a server farm.
[0136] In Figure 2, a flowchart depicting embodiment of a method 200 is provided. The method 200 is performed by the apparatus 110. The method 200 is for updating a current model of an environment where the apparatus 100 is present.
[0137] The method 200 comprises storing 210 the current model of the environment 300. In Figure 3, an embodiment of the current model of the environment 300 is illustrated. The current model of the environment 300 may comprise a current dataset 310 of one or more datapoints. The one or more datapoints of the current dataset 310 may comprises one or more datapoints, illustrated as current_datapoint_1 ; current_datapoint_2; current_datapoint_3 in Figure 3. The skilled person would understand that even if only three datapoints are illustrated in the current dataset 310, it is possible that the current dataset 310 comprises one datapoint, or a plurality of datapoint (e.g., more than one). The one or more datapoints of the current dataset 310 may be represented by axis coordinates. For example, current_datapoint_1 may be defined by the coordinates (current_x1 ; current_y1 ). The skilled person would understand that in the event the current model of the environment 300 may comprise more than two dimensions, then the one or more datapoints comprised in the current model of the environment 300 may be defined with coordinates on more than two axes (e.g., axis x, axis y, axis z). The current model of the environment 300 may correspond to a current EDF model stored in the apparatus 110.
[0138] The method 200 comprises determining 220 a resolution value 410 of the current model of the environment 310. In Figure 4, an embodiment of the resolution value 410 is illustrated. The resolution value 410 may correspond to a minimum distance between datapoints in the current dataset 310. For example, the resolution value 410 of the current model of the environment 300 may be computed by calculating the minimum distance between the one or more datapoints in the current dataset 310 - e.g., the distance minimum between current_datapoint_1 , current_datapoint_2, and current_datapoint_3. The resolution value 410 may be named dmin.
[0139] The method 200 comprises sending 230 the resolution value 410. In an embodiment, the resolution value 410 is sent to the network device 120. The resolution value 410 may be comprised in a first message 420. The first message 420 may be sent in step 230 of the method 200. The first message 420 may be sent to the network device 120. In Figure 4, an embodiment of the first message 420 is illustrated. The first message 420 may comprise the resolution value 410. The first message 420 may be a request message. The first message 420 may be a CoAP request message. The first message 420 may comprise a number value corresponding to a quantity of datapoints the apparatus is able to receive. Thus, the network device 120 is aware of the number of datapoints that can be sent to the apparatus 110 so that the apparatus 110 is still able to properly perform computational processes properly. In an embodiment, the step 230 of the method 200 is performed at a periodic time interval. For example, the periodic time interval may be equal to every one or more minutes, every one or more hours, every one or more days, etc. The skilled person would understand that the periodic time interval may be any quantity of one or more elapsed time value.
[0140] In an embodiment, the step 230 of the method 200 is performed at a periodic distance interval travelled by the apparatus 110. For example, the periodic distance interval may be equal to every one or more centimetres, every one or more meters, every one or more kilometres, etc. The skilled person would understand that the periodic distance interval may be any quantity of one or more elapsed distance travelled by the apparatus 110.
[0141] In an embodiment, the step 230 of the method 200 is performed after or during a trigger. The trigger may be the apparatus 110 has reached a region in the current model of the environment 300 that has no information.
[0142] In an embodiment, the method 200 comprises determining 232 a maximum value 430 corresponding to a maximum number of datapoints the apparatus 110 is able to store. The apparatus 110 may not be able to store more than the maximum value 430 corresponding to the maximum number of datapoints. In Figure 4, the maximum value 430 is illustrated. The first message 420 may comprise the maximum value 430. Thus, the network device 120 is aware of the maximum number of the datapoints the apparatus 110 is able to store and still be able to perform computational processes properly.
[0143] In an embodiment, the first message 420 may comprise a region of interest 510. In Figure 5, the region of interest 510 is illustrated. A centre 520 of the region of interest 510 may be a position 520 of the apparatus 110 in the current model of the environment 300. The region of interest 510 may be a form of a circle. The region of interest 510 may be a square. The region of interest 510 may be a sphere. The region of interest 510 may be a polygon. Hereby, the apparatus 110 indicates the region of interest 510, where the apparatus would like to obtain more detailed information (e.g., additional datapoints). In an embodiment, the method 200 comprises determining 234 one or more movement indicators 450. The one or more movement indicators 450 may comprise one or more of: a velocity of the apparatus 110; an acceleration of the apparatus 110; a path of the apparatus 110; and / or a motion model of the apparatus 110.
[0144] The velocity of the apparatus 110 may correspond to the speed of the apparatus 110. The acceleration of the apparatus 110 may correspond to the apparatus 110 capacity to gain speed.
[0145] The velocity of the apparatus 110 and / or the acceleration of the apparatus 110 may be determined by using one or more sensors carried by the apparatus 110. The one or more sensors may be Inertial measurement units (IMlls).
[0146] The velocity of the apparatus 110 and / or the acceleration of the apparatus 110 may be determined by using a sensor fusion algorithm, localization algorithm, and / or Simultaneous localization and mapping (SLAM). The sensor fusion algorithm may be Kalmar filter, or extended Kalmar filter. The localization algorithm may be Monte Carlo location algorithm, and / or scan matching.
[0147] The path of the apparatus 110 may corresponds to a series of continuous positions of the apparatus 110. The path of the apparatus 110 may provide information on a movement process of the apparatus 110.
[0148] The motion model of the apparatus 110 may be a mathematical model of dynamics of the apparatus 110. The motion model of the apparatus 110 may be expressed by the following equation
[0149] %(t) = f x, t) where X e R may represent a state of the apparatus 110, including its position 520 in the current model of the environment 300, t e B+may represent a time greater than or equal to zero, and f : X JR.+—> IK. is a function that may describe dynamics of the apparatus 110. The function f may be linear or nonlinear. The function f may describe how the apparatus is capable of moving.
[0150] The first message 420 may comprise the one or more movement indicators 450. The apparatus 110 may be determined to be present in a predicted position 460 of the apparatus 110 within a time interval. The predicted position 460 may be based on the one or more movement indicators 450. In an embodiment, the network device 120 determines the predicted position 460. The first message 420 may be sent in the step 230 of the method 200.
[0151] The skilled person would understand that the steps 220, 232, 234 of the method 200 may be performed in alternative order. For example, the step 220 of the method 200 may be performed before, after, or at simultaneously to the step 232 of the method 200, and / or the step 234 of the method 200. For example, the step 232 of the method 200 may be performed before, after or at simultaneously to the step 220 of the method 200, and / or the step 234 of the method 200. For example, the step 234 of the method 200 may be performed before, after, or simultaneously to the step 220 of the method 200, and / or the step 232 of the method 200.
[0152] The step 230 of the method 200 may be performed before, after or simultaneously to the step 232 of the method 200, the step 234 of the method 200.
[0153] In the event, the first message 420 comprises the resolution value 410, and the maximum value 430, then the step 230 of the method 200 is performed simultaneously or after the step 232 of the method 200.
[0154] In the event, the first message 420 comprises the resolution value 410, and the one or more movement indicators 450, then the step 230 is performed simultaneously or after the step 234 of the method 200.
[0155] The method 200 comprises receiving 240 a set 440 of one or more datapoints. The set 440 of one or more datapoints is comprised in a detailed model of the environment 600 where the apparatus 110 is present. In Figure 6, an embodiment of the detailed model of the environment 600 is illustrated. The detailed model of the environment 600 may comprise a detailed dataset 610 of one or more datapoints. The one or more datapoints of the detailed dataset 610 may comprises one or more datapoints, illustrated as detailed_datapoint_1 ; detailed_datapoint_2; detailed_datapoint_3 in Figure 6. The skilled person would understand that even if only three datapoints are illustrated in the detailed dataset 610, it is possible that the detailed dataset 610 comprises one datapoint, or a plurality of datapoint (e.g., more than one). The one or more datapoints of the detailed dataset 610 may be represented by axis coordinates. For example, detailed_datapoint_1 may be defined by the coordinates (detailed_x1 ; detai Ied_y1 ). The skilled person would understand that in the event the detailed model of the environment 600 may comprise more than two dimensions, then the one or more datapoints comprised in the detailed model of the environment 600 may be defined with coordinates on more than two axes (e.g., axis x, axis y, axis z, ... ). The detailed model of the environment 600 may correspond to a detailed EDF model stored in the network device 120.
[0156] The detailed model of the environment 600 may be in a two-dimensional format. For example, the detailed model of the environment 600 may be one or more occupancygrids maps, or quad trees.
[0157] The detailed model of the environment 600 may be in a three-dimensional format. For example, the detailed model of the environment 600 may be an OctoMap, or an octrees.
[0158] The detailed model of the environment 600 may be partitioned into a set 710 of one or more rooms. The partitioning of the detailed model of the environment 600 may be a spectral clustering. For example, the spectral clustering may correspond to a fast incremental map segmentation algorithm, such as provided in “A fast incremental map segmentation algorithm based on spectral clustering and quadtree”, Yafu Tian, Ke Wang Wangke, Ruifeng Li, and Lijun Zhao, published February 27th, 2018.
[0159] In Figure 7, an embodiment of the detailed model of the environment 600 is illustrated. The one or more rooms from the set 710 of one or more rooms may comprises one or more rooms, illustrated as room_1 , room_2, room_3, and room_4 in Figure 7. The skilled person would understand that even if only four rooms illustrated in the set 710 of the one or more rooms, it is possible that the set 710 of one or more rooms comprises one room, or a plurality of rooms (e.g., more than one).
[0160] Each of the one or more rooms of the set 710 of one or more rooms may comprise one or more datapoints from the detailed dataset 610. For example, room_1 may comprise detailed_datapoint_1 and detailed_datapoint_1 , and room_2 may comprise detai led_datapoint_3.
[0161] The skilled person would also understand that it is possible that any one or more of the rooms of the set 710 of one or more rooms may comprise no datapoint. The apparatus 110 may be determined to be present in a room 470 from the set 710 of one or more rooms. The network device 120 may determine the room 470 the apparatus 110 is present.
[0162] The apparatus 110 may be determined to be present in a predicted room 480 from the set 710 of one or more rooms within a time interval. The predicted room 480 may be based on the predicted position 460. The network device 120 may determine the predicted position 460.
[0163] The set 440 of one or more datapoints received in step 240 of the method 200 is comprised in the detailed model of the environment 600. The set 440 of one or more datapoints received in step 240 of the method 200 may comprise datapoints from the detailed dataset 610.
[0164] The set 440 of one or more datapoints is based on the position 520 of the apparatus 110 in the detailed environment 600, and on the resolution value 410.
[0165] In Figure 8a-8e, embodiments of the detailed model of the environment 600 are illustrated.
[0166] In Figure 8a, an embodiment of the detailed model of the environment 600 is provided. The illustrated datapoints in black shade and grey shade may be comprised in the detailed dataset 610. The illustrated grey shaded datapoints are comprised in the set 440 of one or more datapoints received in step 240 of the method 200. The skilled person would understand that even if only three grey shaded points are illustrated in Figure 8a, it is possible that there is one or more grey shaded datapoints representing the one or more datapoints of the set 440. The set 440 of one or more datapoints may be also based on the resolution value 410. Indeed, in the step 230 of the method 200, the resolution value 410 is sent so as to notify that the apparatus 110 may not be able to support datapoints that do not correspond to the resolution value 410. Thus, the set 440 of one or more datapoints received in the step 240 of the method 200 may have a minimum distance between each one of the datapoints in the set 240 equal or higher than the resolution value.
[0167] The set 440 of one or more datapoints may be based on the region of interest 510. In Figure 8b, an embodiment of the detailed model of the environment 600 is provided. The set 440 of one or more datapoints received in the step 240 of the method 200 may comprise datapoints that are within the region of interest 510.
[0168] The set 440 of one or more datapoints may be based on the one or more indicators 450. Indeed, the predicted position 460. In Figure 8c, an embodiment of the detailed environment 600 is provided. The set 440 of one or more datapoints received in the step 240 of the method 200 may be based on the predicted position 460. For example, the set 440 of one or more datapoints may comprise one or more datapoints in closer proximity to the predicted position 460 compared to other datapoints of the detailed dataset 610.
[0169] The set 440 of one or more datapoints may be based on the room 470. In Figure 8d, an embodiment of the detailed environment 600 is provided. In Figure 8d, the detailed model of the environment 600 comprises one or more rooms 470, 480, 810, 820. The one or more rooms 470, 480, 810, 820 may be from the set 710 of one or more rooms. The skilled person would understand that even if only four rooms are illustrated in Figure 8d, it is possible that there is one room or a plurality of rooms (e.g., more than one room). The set 440 of one or more datapoints received in the step 240 of the method 200 may be based on the room 470. For example, the set 440 of the one or more datapoints may comprise one or more datapoints that are in the room 470, rather than other datapoints of the detailed dataset 610 that are not within the room 470.
[0170] The set 440 of one or more datapoints is based on the predicted room 480. In Figure 8e, an embodiment of the detailed environment 600 is provided. In Figure 8e, the detailed model of the environment 600 comprises one or more rooms 470, 480, 810, 820. The one or more rooms 470, 480, 810, 820 may be from the set 710 of one or more rooms. The skilled person would understand even if only four rooms are illustrated in Figure 8e, it is possible that there is one room or a plurality of rooms (e.g., more than one room). The set 440 of one or more datapoints received in the step 240 of the method 200 may be based on the predicted room 480. For example, the set 440 of one or more datapoints may comprise one or more datapoints that are in the predicted room 480, rather than other datapoints of the detailed dataset 610 that are not within the predicted room 480. In an embodiment, the set 440 of the one or more datapoints is comprised in a second message 450. The second message 450 may be received from the network device 120. The second message 450 may be a response message. The second message 450 may be a CoAP response message.
[0171] The method 200 comprises determining 250 an updated current model of the environment 900 based on the current model of the environment 300 and the set 440 of one or more datapoints. In Figure 9, an embodiment of the updated model of the environment 900 is illustrated. The updated model of the environment 900 may comprise an updated dataset 910 of one or more datapoints. The one or more datapoints of the updated dataset 910 may comprises one or more datapoints, illustrated as updated_datapoint_1 ; updated_datapoint_2; updated_datapoint_3 in Figure 9. The skilled person would understand that even if only three datapoints are illustrated in the updated dataset 910, it is possible that the updated dataset 910 comprises one datapoint, or a plurality of datapoint (e.g., more than one). The one or more datapoints of the current dataset 910 may be represented by axis coordinates. For example, updated_datapoint_1 may be defined by the coordinates (updated_x1 ; updated_y1 ). The skilled person would understand that in the event the updated model of the environment 900 may comprise more than two dimensions, then the one or more datapoints comprised in the updated model of the environment 900 may be defined with coordinates on more than two axes (e.g., axis x, axis y, axis z). The updated model of the environment 900 may correspond to an updated EDF model stored in the apparatus 110.
[0172] In an embodiment, determining 250 the updated current model of the environment comprises creating a new dataset 1000. The new dataset 1000 may comprise the current dataset 310, and the set 440 of one or more datapoints. In Figure 10, an embodiment of the new dataset 1000 is provided. As illustrated, the new dataset 1000 may comprise the current dataset 310 and the set 440 of one or more datapoint received in step 240 of the method 200.
[0173] In an embodiment, determining 250 the updated current model of the environment 900 also comprises computing a distance 1010 between each of the datapoints in the new dataset 1000, and removing datapoints from the new dataset 1000 if the distance 1010 is lower than the resolution value 410. For example, for each of the datapoints in the new dataset 1000, thus for each of the datapoints in the current dataset 310 and the set 440 of one or more datapoints, the distance 1010 is computed between each of the datapoints in the new dataset, the distance 1010 is compared to the resolution value 410, and in case the distance 1010 is lower than the resolution value 410 then the datapoint is removed. Indeed, to avoid hindering the performance of the apparatus 110, the size of the updated current model of the environment 900 may be limited by the resolution value 410. As illustrated in Figure 10, one or more datapoints from the new dataset 1000 may be removed as the distance 1010 between the datapoints in the new dataset is lower than the resolution value 410. For example, in Figure 10, “X” illustrates the datapoint removed from the new dataset 1000.
[0174] In an embodiment, determining 250 the updated current model of the environment 900 also comprises selecting a number of datapoints from the new dataset 1000, and assigning the selected datapoints to the updated dataset 910. The number may correspond to the maximum value 430 determined in the step 232 of the method 200. The selected datapoints are the closest to the position 520 of the apparatus 110. Indeed, to avoid hindering the performance of the apparatus 110, the size of the updated current model of the environment 900 may be limited by the maximum number 430. For example, in Figure 10, the maximum value 430 may be equal to 4, thus the updated dataset 910 may comprise a maximum of 4 datapoints. Hence, as illustrated in Figure 10, the circles datapoints of the new dataset 1000 may correspond to the selected number of datapoints from the new dataset 1000, the selected datapoints are the closest to the position 520 of the apparatus 110.
[0175] The current model of the environment 300, the detailed model of the environment 600, and the updated current model of the environment 900 are models of the environment where the apparatus 110 is present. However, the precision of the current model of the environment 300 is lower than the detailed model of the environment 600. In particular, the current model of the environment 300 may have less datapoints than the detailed model of the environment 600. Furthermore, the apparatus 110 may have less computing power than the network device 120. Thus, the apparatus 110, by receiving in step 240 the set 440 of one or more datapoints is able to update its current model of the environment to the updated current model of the environment 900. Thus, the apparatus 110 is able to obtain a richer representation of the current model of the environment without hindering its computation power.
[0176] In Figure 11 , a flowchart depicting embodiment of a method 1100 is provided. The method 1100 is performed by the network device 120. The method 1100 is for updating the current model of an environment 300 where the apparatus 100 is present.
[0177] The method 1100 comprises storing 1110 the detailed model of the environment 600 where the apparatus 110 is present. The detailed model of the environment 600 may correspond to the detailed model of the environment 600 as described herein with reference to Figure 6, Figure 7, and Figure 8a-8e.
[0178] The method 1100 comprises receiving 1120 a resolution value 410. The resolution value 410 is based on the current model of the environment 300. The resolution value 410 of the step 1120 corresponds to the resolution value 410 sent in the step 230 of the method 200, described herein.
[0179] In an embodiment, the resolution value 410 is comprised in the first message 420. The first message 420 corresponds to the first message 420 sent by the apparatus 110, as described herein.
[0180] The method 1100 comprises determining 1130 the position 520 of the apparatus 110 in the detailed model of the environment 600.
[0181] In an embodiment, determining 1130 comprises obtaining a periodic update on the position 520 of the apparatus 110. For example, obtaining comprise receiving a notification from a network element. The network element may be the apparatus 110. In another embodiment, determining 1130 comprises computing the SLAM algorithm at regular interval so as to determine the position 520 of the apparatus 110.
[0182] In an embodiment, the method 1100 comprises receiving the one or more movement indicators 450 from the apparatus 110. The one or more movement indicators 450 received in the method 1100 corresponds to the one or more movement indicators 450 sent in the first message 420 of the method 230 of the method 200, as described herein. In an embodiment, the method 1100 comprises determining 1132 one or more movement indicators 490 (illustrated in Figure 4) related to the apparatus 110.
[0183] The one or more movement indicators 490 may comprise one or more of: a velocity of the apparatus 110; an acceleration of the apparatus 110; a path of the apparatus 110; and / or a motion model of the apparatus 110.
[0184] The velocity of the apparatus 110 may correspond to the speed of the apparatus 110. The acceleration of the apparatus 110 may correspond to the apparatus 110 capacity to gain speed.
[0185] The velocity of the apparatus 110 and / or the acceleration of the apparatus 110 may be determined by using one or more sensors carried by the apparatus 110. The one or more sensors may be Inertial measurement units (IMlls).
[0186] The velocity of the apparatus 110 and / or the acceleration of the apparatus 110 may be determined by using a sensor fusion algorithm, localization algorithm, and / or Simultaneous localization and mapping (SLAM). The sensor fusion algorithm may be Kalmar filter, or extended Kalmar filter. The localization algorithm may be Monte Carlo location algorithm, and / or scan matching.
[0187] The path of the apparatus 110 may corresponds to a series of continuous positions of the apparatus 110. The path of the apparatus 110 may provide information on a movement process of the apparatus 110.
[0188] The motion model of the apparatus 110 may be a mathematical model of dynamics of the apparatus 110. The motion model of the apparatus 110 may be expressed by the following equation
[0189] %(t) = f x, t) where X e R may represent a state of the apparatus 110, including its position 520 in the current model of the environment 300, t e B+may represent a time greater than or equal to zero, and f : X JR.+—> IK. is a function that may describe dynamics of the apparatus 110. The function f may be linear or nonlinear. The function f may describe how the apparatus is capable of moving.
[0190] The one or more movement indicators 490 may be determined by use of one or more sensors. The one or more sensors may be cameras. The one or more movement indicators 490 may be determined by use of 5G positioning, such as, for example, 5G Radio DoT.
[0191] In an embodiment, the method 1100 comprises determining 1134 the predicted position 460 within the time interval of the apparatus 110 in the detailed model of the environment 600. The determination of the predicted position 460 within the time interval is based on the one or more movement indicators 450, 490.
[0192] In an embodiment, the method 1100 comprises determining 1136 the partitioning of the detailed model of the environment 600 into the set 710 of one or more rooms.
[0193] In an embodiment, the method 1100 comprises determining 1 137 the room from the set 710 of one or more rooms. The room 470 is determined based on the position 520 of the apparatus 110 in the detailed model of the environment 600.
[0194] In an embodiment, the method 110 comprises determining 1138 a predicted room 480 from the set 710 of one or more rooms where the apparatus 110 will be present within the time interval. The determination of the predicted room 480 is based on the predicted position 460 determined in the step 1134 of the method 1100, as described herein.
[0195] The method 1100 comprises determining 1140 a set 440 of one or more datapoints from the detailed model 600 based on the position 520 and the resolution value 410. The set 440 of one or more datapoints determined in the step 1140 of the method 1100 corresponds to the set 440 of one or more datapoints received in the step 240 of the method 200, as described above.
[0196] The skilled person would understand that the steps 1130, 1132, 1134, 1136, 1137, 1138, 1140 of the method 1100 may be performed in alternative order.
[0197] For example, the step 1130 of the method 1100 may be performed before, simultaneously, or after the step 1132 of the method 1100, and / or the step 1136 of the method 1100. For example, the step 1132 of the method 1100 may be performed before, simultaneously, or after the step 1130 of the method 110, and / or the step 1136 of the method 1100. For example, the step 1136 of the method 1100 may be performed before, simultaneously, or after the step 1130 of the method 1100, and / or the step 1132 of the method 1100.
[0198] For example, the step 1130 of the method 1 100, the step 1132 of the method 1100, and / or the step 1136 of the method 110 may be performed before, or simultaneously to the step 1134 of the method 1134.
[0199] For example, the step 1 130 of the method 1100, the step 1132 of the method 1100, the method 1134 of the method 1100, and / or the step 1136 of the method 1100 may be performed before, or simultaneously to the step 1137 of the method 1100.
[0200] For example, the step 1130 of the method 1100, the step 1132 of the method 1100, the method 1 134 of the method 1 100, the step 1136 of the method 1100, and / or the step 1137 of the method 1100 may be performed before, or simultaneously to the step 1138 of the method 1100.
[0201] For example, the step 1130 of the method 1100, the step 1132 of the method 1100, the method 1134 of the method 1100, the step 1136 of the method 1100, the step 1137 of the method 1100, and / or the step 1138 of the method 1100 may be performed before, or simultaneously to the step 1140 of the method 1100.
[0202] The method 1100 comprises sending 1150 the set 440 of one or more datapoints. The set 440 of the one or more datapoints may be sent to the apparatus 110 in the step 1150 of the method 1100. The set 440 of one or more datapoints sent in the step corresponds to the set 440 of one or more datapoints received in the step 240 of the method 200.
[0203] In an embodiment, the set 440 of one or more datapoints is comprised in the second message 450. The second message 450 corresponds to the second message 450 received by the apparatus 110, as described herein.
[0204] In Figures 12, a flowchart depicting an embodiment of a method 1200 is provided. The method 1200 is performed by a system 1300. An embodiment of the system 1300 is illustrated in Figure 13. The system 1300 comprises the apparatus 110, and the network device 120.
[0205] The method 1200 comprises storing 1210 the current model of the environment 300. The step 1210 of the method 1200 may correspond to the step 210 of the method 200, as described herein. The method 1200 comprises determining 1212 the resolution 410 of the current model of the environment 300. The step 1212 of the method 1200 may correspond to the step 220 of the method 200, as described herein.
[0206] The method 1200 comprises sending 1214 the resolution value 410. The step 1214 of the method 1200 may correspond to the step 230 of the method 200, as described herein.
[0207] In an embodiment, the method 1200 comprises determining 1216 the maximum value 430 corresponding to the maximum number of datapoints the apparatus 110 is able to store. The step 1216 of the method 200 may correspond to the step 232 of the method 200, as described herein.
[0208] In an embodiment, the method 1200 comprises determining 1218 one or more movement indicators 450. The step 1218 of the method 1200 may correspond to the step 234 of the method 200, as described herein.
[0209] The method 1200 comprises storing 1220 the detailed model of the environment 600 where the apparatus is present. The step 1220 of the method 1200 may correspond to the step 1110 of the method 1100, as described herein.
[0210] The method 1200 comprises receiving 1222 the resolution value 410, the resolution value 410 being based on the current model of the environment 300. The step 1222 of the method 1200 may correspond to the step 1120 of the method 1100, as described herein.
[0211] The method 1200 comprises determining 1224 the position 520 of the apparatus 110 in the detailed model of the environment 600. The step 1224 of the method 1200 may correspond to the step 1130 of the method 1100, as described herein.
[0212] In an embodiment, the method 1200 comprises determining 1226 one or more movement indicators 490 related to the apparatus 110. The step 1226 of the method 1200 may correspond to the step 1132 of the method 1100, as described herein. In an embodiment, the method 1200 comprises determining 1228 a predicted position 460 within a time interval of the apparatus 110 in the detailed model of the environment 600, the determination of the predicted position 460 within the time internal is based on the one or more movement indicators 450, 490. The step 1228 of the method 1200 may correspond to the step 1134 of the method 1100, as described herein.
[0213] In an embodiment, the method 1200 comprises determining 1230 the partitioning of the detailed model of the environment 600 into a set 710 of one or more rooms 470, 480, 810, 820. The step 1230 of the method 1200 may correspond to the step 1136 of the method 1100, as described herein.
[0214] In an embodiment, the method 1200 comprises determining 1232 a room 470 from the set 710 of one or more rooms. The room 470 is based on the position 520 of the apparatus 110 in the detailed model of the environment 600. The step 1232 of the method 1200 may correspond to the step 1137 of the method 1100, as described herein.
[0215] In an embodiment, the method 1200 comprises determining 1234 a predicted room 480 from the set 710 of one or more rooms 470, 480, 810, 820 where the apparatus will be present within the time interval. The determination of the predicted room 480 is based on the predicted position 460. The step 1234 of the method 1200 may correspond to the step 1138 of the method 1100, as described herein.
[0216] The method 1200 comprises determining 1236 a set 440 of one or more datapoints from the detailed model 600 based on the position 520 and the resolution value 410. The step 1236 of the method 1200 may correspond to the step 1140 of the method 1100, as described herein.
[0217] The method 1200 comprises sending 1238 the set 440 of one or more datapoints. The step 1238 of the method 1200 may correspond to the step 1150 of the method 1100, as described herein. The method 1200 comprises receiving 1240 the set 440 of one or more datapoints. The set 440 of one or more datapoints is comprised in the detailed model of the environment 600 where the apparatus 110 is present. The set 440 of one or more datapoints is based on the position 520 of the apparatus in the detailed model 600, and the resolution value 410. The step 1240 of the method 1200 may correspond to the step 240 of the method 200, as described herein.
[0218] The method 1200 comprises determining 1242 the updated current model of the environment 900 based on the current model of the environment 300 and the set 400 of one or more datapoints. The step 1242 of the method 1200 may correspond to the step 250 of the method 200, as described herein.
[0219] In Figure 14, an illustrative example of message exchanges between the apparatus 110 and the network device 120, according to embodiments, is provided.
[0220] The apparatus 110 is configured to send a resolution value 1410. The resolution value 1410 may be sent to the network device 120. In an embodiment, the resolution value 1410 corresponds to the resolution value 410 sent in the step 230 of the method 200, and the resolution value 410 received in the step 1130 of the method 1100.
[0221] In an embodiment, the resolution value 1410 is comprised in a first message 1415. The first message 1415 may correspond to the first message 420, as described herein.
[0222] The apparatus 110 is configured to receive a set 1420 of one or more datapoints. The set 1420 of one or more datapoints may be received from the network device 120. In an embodiment, the set 1420 of one or more datapoints corresponds to the set 440 of one or more datapoints received in the step 240 of the method 200, and the set 440 of one or more datapoints sent in the step 1150 of the method 1100.
[0223] In an embodiment, the set 1420 of one or more datapoints is comprised in a second message 1420. The second message 1420 may correspond to the second message 450, as described herein.
[0224] In Figure 15, a block diagram of the apparatus 110 is provided. The apparatus 110 comprises a storing unit 1510. The apparatus 110 comprises a first determining unit 1520. The apparatus 110 comprises a second determining unit 1521. The apparatus 110 comprises a sending unit 1530. The apparatus 110 comprises a receiving unit 1540.
[0225] The storing unit 1510 is configured to cause the apparatus 110 to perform the step 210 of the method 200 as described herein.
[0226] The first determining unit 1520 is configured to cause the apparatus 110 to perform the step 220 of the method 200 as described herein.
[0227] The sending unit 1530 is configured to cause the apparatus 110 to perform the step 230 of the method 200 as described herein.
[0228] The receiving unit 1540 is configured to cause the apparatus 110 to perform the step 240 of the method 200 as described above.
[0229] The second determining unit 1521 is configured to cause the apparatus 110 to perform the step 250 of the method 200 as described above.
[0230] In an embodiment, the apparatus 110 comprises a third determining unit 1522. The third determining unit 1522 is configured to cause the apparatus 110 to perform the step 232 of the method 200 as described above.
[0231] In an embodiment, the apparatus 110 comprises a fourth determining unit 1523. The fourth determining unit 1523 is configured to cause the apparatus 110 to perform the step 234 of the method 200 as described above.
[0232] In an embodiment, the sending unit 1530 and the receiving unit 1540 are a same unit, such as a transceiver unit 1550.
[0233] In an embodiment, the first determining unit 1520, the second determining unit 1521 , the third determining unit 1522, and the fourth determining unit 1523 are a same unit, such as determining unit 1560. The storing unit 1510, the first determining unit 1520, the second determining unit 1521 , the third determining unit 1522, the fourth determining unit 1523, the sending unit 1530, and the receiving unit 1540, illustrated in Figure 15, may be implemented as a hardware solution or as a combination of software and hardware, e.g., by one or more of: a processor or a micro-processor and adequate software and memory for storing of the software, a Programmable Logic Device (PLD) or other electronic component(s) or processing circuitry configured to perform the actions described above with regards to the method 200.
[0234] In Figure 16, a block diagram of the network device 120is provided.
[0235] The network device 120 comprises a storing unit 1610. The network device 120 comprises a receiving unit 1620. The network device 120 comprises a first determining unit 1630. The network device 120 comprises a second determining unit 1631. The network device 120 comprises a sending unit 1640.
[0236] The storing unit 1610 is configured to cause the network device 120 to perform the step 1110 of the method 1100 as described herein.
[0237] The receiving unit 1620 is configured to cause the network device 120 to perform the step 1120 of the method 1100 as described herein.
[0238] The first determining unit 1630 is configured to cause the network device 120 to perform the step 1130 of the method 1100 as described herein.
[0239] The second determining unit 1631 is configured to cause the network device 120 to perform the step 1140 of the method 1100 as described herein.
[0240] The sending unit 1640 is configured to cause the network device 120 to perform the step 1150 of the method 1100 as described herein.
[0241] In an embodiment, the network device 120 comprises a third determining unit 1632. the third determining unit 1632 is configured to cause the network device 120 to perform the step 1132 of the method 1100 as described herein. In an embodiment, the network device 120 comprises a fourth determining unit 1633. The fourth determining unit 1633 is configured to cause the network device 120 to perform the step 1134 of the method 1100 as described herein.
[0242] In an embodiment, the network device 120 comprises a fifth determining unit 1634. The fifth determining unit 1634 is configured to cause the network device 120 to perform the step 1136 of the method 1100 as described herein.
[0243] In an embodiment, the network device 120 comprises a sixth determining unit 1635. The sixth determining unit 1635 is configured to cause the network device 120 to perform the step 1137 of the method 1100 as described herein.
[0244] In an embodiment, the network device 120 comprises a seventh determining unit 1636. The seventh determining unit 1636 is configured to cause the network device 120 to perform the step 1138 of the method 1100 as described herein.
[0245] In an embodiment, the receiving unit 1620 and the sending unit 1640 are a same unit, such as a transceiver unit 1650.
[0246] In an embodiment, the first determining unit 1620, the second determining unit 1621 , the third determining unit 1622, the fourth determining unit 1623, the fifth determining unit 1624, the sixth determining unit 1625, the seventh determining unit 1626 are a same unit, such as determining unit 1660.
[0247] The storing unit 1610, the receiving unit 1620, the sending unit 1640, the first determining unit 1620, the second determining unit 1621 , the third determining unit 1622, the fourth determining unit 1623, the fifth determining unit 1624, the sixth determining unit 1625, and the seventh determining unit 1626, illustrated in Figure 16, may be implemented as a hardware solution or as a combination of software and hardware, e.g., by one or more of: a processor or a micro-processor and adequate software and memory for storing of the software, a Programmable Logic Device (PLD) or other electronic component(s) or processing circuitry configured to perform the actions described above with regards to the method 1100. In Figure 17, an embodiment of the apparatus 110 is provided. The apparatus 110 comprises a processor 1710, and a computer readable storage medium 1720 in the form of a memory 1725. The memory 1725 contains a computer program 1730 comprising instructions executable by the processor 1710 whereby the apparatus 110 is operative to perform the steps of the method 200.
[0248] In Figure 18, an embodiment of the network device 120 is provided. The network device 120 comprises a processor 1810, and a computer readable storage medium 1820 in the form of a memory 1825. The memory 1825 contains a computer program 1830 comprising instructions executable by the processor 1810 whereby the network device 120 is operative to perform the steps of the method 1100.
[0249] In Figure 19, an embodiment of the system 1300 is provided. The system 1300 comprises a processor a processor 1910, and a computer readable storage medium 1920 in the form of a memory 1925. The memory 1925 contains a computer program 1930 comprising instructions executable by the processor 1910 whereby the network device 120 is operative to perform the steps of the method 1200.
[0250] The (non-transitory) computer readable storage media mentioned above may be an Electrically Erasable Programmable Read-Only Memory (EEPROM), a flash memory, Field Programmable Gate Array, and a hard drive.
[0251] The processor 1710 of Figure 17, the processor 1810 of Figure 18, and the processor 1910 of the Figure 19 may be a single Central Processing Unit (CPU), but could also comprise two or more processing units. For example, the processor 1710 of Figure 17, the processor 1810 of Figure 18, and the processor 1910 of the Figure 19 may include general purpose microprocessors; instructions set processors and / or related chips sets and / or special purpose microprocessors such as Application Specific Circuits (ASICs). The processor 1710 of Figure 17, the processor 1810 of Figure 18, and the processor 1910 of the Figure 19 may also comprise board memory for caching purposes. The computer program 1730 of Figure 17, the computer program 1830 of Figure 18, and the computer program 1930 may be carried by a computer program product connected to the processor 1710 of Figure 17, the processor 1810 of the Figure 18, and the processor 1910 of Figure 19. The computer program products may be or comprise a non-transitory computer readable storage medium on which the computer program 1730 of Figure 17, the computer program 1830 of Figure 18, and the computer program 1930 are stored. For example, the computer program products may be a flash memory, a Random-Access memory (RAM), a Read-Only Memory (ROM), or an EEPROM, and the computer programs described above could in alternative embodiments be distributed on different computer program products in the form of memories.
[0252] It should be understood that although the terms “first”, “second”, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, the first message could be termed the second message, and similarly, the second message could be termed the first message.
[0253] As used herein, the term “and / or” includes any and all combinations of one or more of the associated listed terms. The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limited of example embodiments. As used herein, the single forms “a”, “an”, and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises”, “comprising”, “has”, “having”, “includes”, and / or “including”, when used herein, specify the presence of stated features, elements, and / or components etc. but not preclude the presence or addition of one or more other features, elements, components, and / or combinations thereof.
[0254] The disclosure has been described above in reference to embodiments thereof. It should be understood that various modifications, alternatives, and additions can be made by those skilled in the art without departing from the scope of the disclosure. Therefore, the scope of the disclosure is not limited to the above particular embodiments but only defined by the claims as attached.
Claims
CLAIMS1 . An apparatus (110) for updating a current model of an environment (300) where the apparatus (110) is present, the apparatus (110) being configured to:- store the current model of the environment (300);- determ ine a resolution value (410, 1410) of the current model of the environment (300);- send the resolution value (410, 1410);- receive a set (440, 1420) of one or more datapoints, the set (440, 1420) of one or more datapoints is comprised in a detailed model of the environment (600) where the apparatus (110) is present, wherein the set (440, 1420) of one or more datapoints is based on a position (520) of the apparatus (110) in the detailed model (600), and on the resolution value (410, 1410);- determine an updated current model of the environment (900) based on the current model of the environment (300) and the set (400) of one or more datapoints.
2. The apparatus (110) according to claim 1 , wherein the resolution value (410, 1410) is comprised in a first message (420, 1415).
3. The apparatus (110) according to one or more of claims 1 -2, wherein the set (440, 1420) of one or more datapoints is comprised in a second message (450, 1425).
4. The apparatus (110) according to one or more of claims 1 -3, wherein the current model of the environment (300) comprises a current dataset (310) of one or more datapoints.
5. The apparatus (110) according to one or more of claims 1 -4, wherein the detailed model of the environment (600) comprises a detailed dataset (610) of one or more datapoints.
6. The apparatus (110) according to one or more of claims 1 -5, wherein the updated current model of the environment (900) comprises an updated dataset (910) of one or more datapoints.
7. The apparatus (110) according to one or more of claims 1-6, is configured to:- determine a maximum value (430) corresponding to a maximum number of datapoints the apparatus (110) is able to store.
8. The apparatus (110) according to one or more of claims 2-7, wherein the first message (420, 1415) comprises the maximum value (430).
9. The apparatus (110) according to one or more of claims 3-8, wherein the resolution value (410, 1410) corresponds to a minimum distance between datapoints in the current dataset (310).
10. The apparatus (110) according to one or more of claims 2-9, wherein the first message (420, 1415) comprises a region of interest (510), wherein a centre of the region of the region of interest (510) is the position (520) of the apparatus (110).11 . The apparatus (110) according to claim 10, wherein the region of interest (510) is in a form of a circle, a square, a sphere or a polygon.
12. The apparatus (110) according to one or more of claims 10-11 , wherein the set (440, 1420) of one or more datapoints is based on the region of interest (510) .
13. The apparatus (110) according to one or more of claims 1-12, is configured to:- determine one or more movement indicators (450); and- send the one or more movement indicators (450).
14. The apparatus (110) according to one or more of claims 1-13, wherein the one or more movement indicators (450) comprises one or more of:- a velocity of the apparatus (110);an acceleration of the apparatus (110); a path plan of the apparatus (110); and / or a motion model of the apparatus (110).
15. The apparatus (110) according to one or more of claims 2-14, wherein the first message (420, 1415) comprises the one or more movement indicators (450).
16. The apparatus (110) according to one or more of claims 14-15, wherein the apparatus (110) is determined to be present in a predicted position (460) of the apparatus (110) in the detailed model (600) within a time interval, wherein the predicted position (460) is based on the one or more movement indicators (450).
17. The apparatus (110) according to claim 16, wherein the set (440, 1420) of one or more datapoints is based on the predicted position (460).
18. The apparatus (110) according to one or more of claims 1-17, wherein the detailed model of the environment (600) is partitioned into a set (710) of one or more rooms (470, 480, 810, 820).
19. The apparatus (110) according to claims 18, wherein the partitioning of the detailed model of the environment (600) is a spectral clustering.
20. The apparatus (110) according to one or more of claims 18-19, wherein the apparatus (110) is determined to be present in a room (470) from the set (710) of the one or more rooms (470, 480, 810, 820).
21. The apparatus (110) according to claim 20, wherein the set (440, 1420) of the one or more datapoints is based on the room (470).
22. The apparatus (110) according to one or more of claims 16-21 , wherein the apparatus (110) is determined to be present in a predicted room (480) from the set (710) of one or more rooms (470, 480, 810, 820) within the timeinterval, wherein the predicted room (480) is based on the predicted position (460).
23. The apparatus (110) according to claim 22, wherein the set (440, 1420) of one or more datapoints is based on the predicted room (480).
24. The apparatus (110) according to one or more of claims 6-23, wherein determining the updated current model of the environment (900)comprises:- creating a new dataset (1000), the new dataset (1000) comprises the current dataset (310) and the set (440, 1420) of one or more datapoints;- computing a distance (1010) between each of the datapoints in the new dataset (1000), and removing datapoints from the new dataset (1000) if the distance (1010) is lower than the resolution value (410, 1410);- selecting a number of datapoints from the new dataset (1000), and assigning the selected datapoints to the updated dataset, wherein the number corresponds to the maximum value (430), wherein the selected datapoints are the closest to the position (520) of the apparatus (110).
25. A network device (120) for updating a current model of an environment (300) where an apparatus (110) is present, the network device (120) being configured to:- store a detailed model of an environment (600) where the apparatus (110) is present;- receive a resolution value (410, 1410), wherein the resolution value (410, 1410) is based on the current model of the environment (300);- determine a position (520) of the apparatus (110) in the detailed model of the environment (600);- determine a set (440, 1420) of one or more datapoints from the detailed model (600) based on the position (520), and the resolution value (410, 1410);- send the set (440, 1420) of the one or more datapoints.
26. The network device (120) according to claim 25, wherein the resolution value (410, 1410) is comprised in a first message (420, 1415).
27. The network device (120) according to one or more of claims 25-26, wherein the set (440, 1420) of one or more datapoints is comprised in a second message (450, 1425).
28. The network device (120) according to one or more of claims 25-27, wherein the detailed model of the environment (600) comprises a detailed dataset (610) comprising one or more datapoints.
29. The network device (120) according to one or more of claims 26-28, wherein the first message (420, 1415) comprises a maximum value (430) of datapoints the apparatus (110) is able to store.
30. The network device (120) according to one or more of claims 25-29, wherein the resolution value (410, 1410) corresponds to a minimum distance between datapoints in the current model (300).31 .The network device (120) according to one or more of claims 25-30, wherein the set (440, 1420) of the one or more datapoints corresponds to the one or more datapoints in the detailed dataset (610) closest to the position (520) of the apparatus (110) in the detailed model of the environment (600).
32. The network device (120) according to one or more of claims 26-31 , wherein the first message (420, 1415) comprises a region of interest (510), wherein a centre of the region of the region of interest (510) is the position (520) of the apparatus (110).
33. The network device (120) according to claim 32, wherein the region of interest (510) is in a form of a circle, a square, a sphere, or a polygon.
34. The network device (120) according to one or more of claims 32-33, wherein the set (440, 1420) of one or more datapoints is based on the region of interest (510).
35. The network device (120) according to one or more of claims 25-34, is configured to:- receive one or more movement indicators (450) from the apparatus (110); and / or- determine one or more movement indicators (490) related to the apparatus (110).
36. The network device (120) according to claim 35, wherein the one or more movement indicators (450, 490) comprises one or more of:- a velocity of the apparatus (110);- an acceleration of the apparatus (110);- a path plan of the apparatus (110); and / or- a motion model of the apparatus (110).
37. The network device (120) according to one or more of claims 26-28, wherein the first message (420, 1415) comprises the one or more movement indicators (450).
38. The network device (120) according to one or more of claims 35-37, is configured to:- determine a predicted position (460) within a time interval of the apparatus (110) in the detailed model of the environment (600), wherein the determination of the predicted position (460) within the time interval is based on the one or more movement indicators (450, 490).
39. The network device (120) according to claim 38, wherein the determination of the set (440, 1420) of the one or more datapoints is based on the predicted position (460).
40. The network device (120) according to one or more of claims 25-38, is configured to:- determine a partitioning of the detailed model of the environment (600) into a set (710) of one of more rooms (470, 480, 810, 820);determine a room (470) from the set (710) of the one or more rooms (470, 480, 810, 820), the room (470) is based on the position (520) of the apparatus (110) in the detailed model of the environment (600).41 . The network device (120) according to claim 40, wherein the determined partitioning is a spectral clustering.
42. The network device (120) according to one or more of claims 40-41 , wherein the set (440, 1420) of the one or more datapoints is based on the room (470).
43. The network device (120) according to one or more of claims 40-42, is configured to:- determine a predicted room (480) from the set (710) of the one or more rooms (470, 480, 810, 820) where the apparatus (110) will be present within the time interval, wherein the determination of the predicted room (480) is based on the predicted position (460).
44. The network device (120) according to claim 43, wherein the set (440, 1420) of the one or more datapoints are comprised in the predicted room (480).
45. The network device (120) according to one or more of claims 25-44, wherein the detailed model of the environment (600) where the apparatus (110) is present is in a two-dimensional format.
46. The network device (120) according to claim 45, wherein the detailed model of the environment (600) where the apparatus (110) is present is one or more occupancy-grids maps, or quad-trees.
47. The network device (120) according to one or more of claims 25-44, wherein the detailed model of the environment (600) where the apparatus (110) is present is in a three-dimensional format.
48. The network device (120) according to claim 47, wherein the detailed model of the environment (600) where the apparatus (110) is present is an OctoMap, or an octrees.
49. A system (1300) comprising an apparatus (110) according to one or more of claims 1 -24, and a network device (120) according to one or more of claims 25-48.
50. A method (200) performed by an apparatus (110) for updating a current model of an environment (300) where the apparatus (110) is present, the method (200) comprising:- storing (210) the current model of the environment (300);- determining (220) a resolution value (410, 1410) of the current model of the environment (300);- sending (230) the resolution value (410, 1410);- receiving (240) a set (440, 1420) of one or more datapoints, the set (440, 1420) of one or more datapoints is comprised in a detailed model of the environment (600) where the apparatus (110) is present, wherein the set (440, 1420) of one or more datapoints is based on a position (520) of the apparatus (110) in the detailed model (600), and on the resolution value (410, 1410);- determining (250) an updated current model of the environment (900) based on the current model of the environment (300) and the set (400) of one or more datapoints.
51. The method (200) according to claim 50, wherein the resolution value (410, 1410) is comprised in a first message (420, 1415).
52. The method (200) according to one or more of claims 50-51 , wherein the set (440, 1420) of one or more datapoints is comprised in a second message (450, 1425).
53. The method (200) according to one or more of claims 50-52, wherein the current model of the environment (300) comprises a current dataset (310) of one or more datapoints.
54. The method (200) according to one or more of claims 50-53, wherein the detailed model of the environment (600) comprises a detailed dataset (610) of one or more datapoints.
55. The method (200) according to one or more of claims 50-54, wherein the updated current model of the environment (900) comprises an updated dataset (910) of one or more datapoints.
56. The method (200) according to one or more of claims 50-55, comprising:- determining (232) a maximum value (430) corresponding to a maximum number of datapoints the apparatus (110) is able to store.
57. The method (200) according to one or more of claims 51 -56, wherein the first message (420, 1415) comprises the maximum value (430).
58. The method (200) according to one or more of claims 52-57, wherein the resolution value (410, 1410) corresponds to a minimum distance between datapoints in the current dataset (310).
59. The method (200) according to one or more of claims 51 -58, wherein the first message (420, 1415) comprises a region of interest (510), wherein a centre of the region of the region of interest (510) is the position (520) of the apparatus (110).
60. The method (200) according to claim 59 wherein the region of interest (510) is in a form of a circle, a square, a sphere or a polygon.61 . The method (200) according to one or more of claims 59-60, wherein the set (440, 1420) of one or more datapoints is based on the region of interest (510).
62. The apparatus (110) according to one or more of claims 50-61 , comprising:- determining (234) one or more movement indicators (450); and- send the one or more movement indicators (450).
63. The method (200) according to one or more of claims 50-62, wherein the one or more movement indicators (450) comprises one or more of:- a velocity of the apparatus (110);- an acceleration of the apparatus (110);- a path plan of the apparatus (110); and / or- a motion model of the apparatus (110).
64. The method (200) according to one or more of claims 51-63, wherein the first message (420, 1415) comprises the one or more movement indicators (450).
65. The method (200) according to one or more of claims 62-64, wherein the apparatus (110) is determined to be present in a predicted position (460) of the apparatus (110) in the detailed model (600) within a time interval, wherein the predicted position (460) is based on the one or more movement indicators (450).
66. The method (200) according to claim 65, wherein the set (440, 1420) of one or more datapoints is based on the predicted position (460).
67. The method (200) according to one or more of claims 50-66, wherein the detailed model of the environment (600) is partitioned into a set (710) of one or more rooms (470, 480, 810, 820).
68. The method (200) according to claims 67, wherein the partitioning of the detailed model of the environment (600) is a spectral clustering.
69. The method (200) according to one or more of claims 67-68, wherein the apparatus (110) is determined to be present in a room (470) from the set70. The method (200) according to claim 69, wherein the set (440, 1420) of the one or more datapoints is based on the room (470).
71. The method (200) according to one or more of claims 65-70, wherein the apparatus (110) is determined to be present in a predicted room (480) from the set (710) of one or more rooms (470, 480, 810, 820) within the time interval, wherein the predicted room (480) is based on the predicted position (460).
72. The method (200) according to claim 71 , wherein the set (440, 1420) of one or more datapoints is based on the predicted room (480).
73. The method (200) according to one or more of claims 55-72, wherein determining (250) the updated current model of the environment (900) comprises:- creating a new dataset (1000), the new dataset (1000) comprises the current dataset (310) and the set (440, 1420) of one or more datapoints;- computing a distance (1010) between each of the datapoints in the new dataset (1000), and removing datapoints from the new dataset (1000) if the distance (1010) is lower than the resolution value (410, 1410);- selecting a number of datapoints from the new dataset (1000), and assigning the selected datapoints to the updated dataset, wherein the number corresponds to the maximum value (430), wherein the selected datapoints are the closest to the position (520) of the apparatus (110).
74. A method (1100) performed by a network device (120) for updating a current model of an environment (300) where an apparatus (110) is present, the method (1100) comprising:- storing (1110) a detailed model of an environment (600) where the apparatus (110) is present;- receiving (1120) a resolution value (410, 1410), wherein the resolution value (410, 1410) is based on the current model of the environment (300);- determining (1130) a position (520) of the apparatus (110) in the detailed model of the environment (600);- determining (1140) a set (440, 1420) of one or more datapoints from the detailed model (600) based on the position (520), and the resolution value (410, 1410);- sending (1140) the set (440, 1420) of the one or more datapoints.
75. The method (1100) according to claim 74, wherein the resolution value (410, 1410) is comprised in a first message (420, 1415).
76. The method (1100) according to one or more of claims 74-75, wherein the set (440, 1420) of one or more datapoints is comprised in a second message (450, 1425).
77. The method (1100) according to one or more of claims 74-76, wherein the detailed model of the environment (600) comprises a detailed dataset (610) comprising one or more datapoints.
78. The method (1100) according to one or more of claims 75-77, wherein the first message (420, 1415) comprises a maximum value (430) of datapoints the apparatus (110) is able to store.
79. The method (1100) according to one or more of claims 74-78, wherein the resolution value (410, 1410) corresponds to a minimum distance between datapoints in the current model (300).
80. The method (1100) according to one or more of claims 74-79, wherein the set (440, 1420) of the one or more datapoints corresponds to the one or more datapoints in the detailed dataset (610) closest to the position (520) of the apparatus (110) in the detailed model of the environment (600).81 . The method (1100) according to one or more of claims 75-80, wherein the first message (420, 1415) comprises a region of interest (510), wherein a centre of the region of the region of interest (510) is the position (520) of the apparatus82. The method (1100) according to claim 81 , wherein the region of interest (510) is in a form of a circle, a square, a sphere, or a polygon.
83. The method (1100) according to one or more of claims 82-83, wherein the set (440, 1420) of one or more datapoints is based on the region of interest (510).
84. The method (1100) according to one or more of claims 74-83, comprising:- receiving one or more movement indicators (450) from the apparatus (110); and / or- determining (1132) one or more movement indicators (490) related to the apparatus (110).
85. The method (1100) according to claim 84, wherein the one or more movement indicators (450, 490) comprises one or more of:- a velocity of the apparatus (110);- an acceleration of the apparatus (110);- a path plan of the apparatus (110); and / or- a motion model of the apparatus (110).
86. The method (1100) according to one or more of claims 84-85, wherein the first message (420, 1415) comprises the one or more movement indicators (450).
87. The method (1100) according to one or more of claims 84-86, comprising:- determining (1134) a predicted position (460) within a time interval of the apparatus (110) in the detailed model of the environment (600), wherein the determining (1134) of the predicted position (460) within the time interval is based on the one or more movement indicators (450, 490).
88. The method (1100) according to claim 87, wherein determining (1140) of the set (440, 1420) of the one or more datapoints is based on the predicted position (460).
89. The method (1100) according to one or more of claims 74-88, comprising:- determining (1136) a partitioning of the detailed model of the environment (600) into a set (710) of one of more rooms (470, 480, 810, 820);- determining (1137) a room (470) from the set (710) of the one or more rooms (470, 480, 810, 820), the room (470) is based on the position (520) of the apparatus (110) in the detailed model of the environment (600).
90. The method (1100) according to claim 89, wherein the determined partitioning is a spectral clustering.91 . The method (1100) according to one or more of claims 89-90, wherein the set (440, 1420) of the one or more datapoints is based on the room (470).
92. The method (1100) according to one or more of claims 89-91 , comprising:- determining (1138) a predicted room (480) from the set (710) of the one or more rooms (470, 480, 810, 820) where the apparatus (110) will be present within the time interval, wherein the determination of the predicted room (480) is based on the predicted position (460).
93. The method (1100) according to claim 92, wherein the set (440, 1420) of the one or more datapoints are comprised in the predicted room (480).
94. The method (1100) according to one or more of claims 74-93, wherein the detailed model of the environment (600) where the apparatus (110) is present is in a two-dimensional format.
95. The method (1100) according to claim 94, wherein the detailed model of the environment (600) where the apparatus (110) is present is one or more occupancy-grids maps, or quad-trees.
96. The method (1100) according to one or more of claims 74-95, wherein the detailed model of the environment (600) where the apparatus (110) is present is in a three-dimensional format.
97. The method (1100) according to claim 96, wherein the detailed model of the environment (600) where the apparatus (110) is present is an OctoMap, or an octrees.
98. A method performed by a system (1300) comprising one or more of the method steps performed by an an apparatus (110) according to one or more of claims 50-73, and one or more of the method steps performed by a network device (120) according to one or more of claims 74-97.
99. A computer program (1730) comprising instructions, which when executed on an apparatus (110), causes the apparatus (110) to perform the method (200) according to one or more of claims 50-73.
100. A computer program (1830) comprising instructions, which when executed on a network device (120), causes the network device (120) to perform the method (1100) according to one or more of claims 74-97.
101. A computer program (1930) comprising instructions, which when executed on a system (1300), causes the system (1300) to perform the method (1200) according to claim 98.
102. A computer readable storage medium (1720, 1820, 1920) comprising a computer program (1730, 1830, 1930) according to claim 99, 100, and / or 101.