Far-edge intensive processing for so-maps
Systems and methods for decoupling information into multiple levels of detail based on semantics while providing a compact global representation structure. A tree-based graph represents objects in an environment. The top node provides complete environment information at the lowest level of detail. Leaves of the tree-based graph complement the parent nodes with more detailed local information. This achieved efficient processing, communication, and data compaction. Steps for updating the tree-based graph are performed at both a far-edge node and a near-edge node.
1 . In a computing system including a far-edge node and a near-edge node, a method comprising:
obtaining a set of measurements and interactions at a far-edge node in an environment, wherein the far-edge node is one of a moveable far-edge node or a sensing far-edge node, wherein a plurality of far-edge nodes are present in the environment and each is associated with a different set of measurements, wherein the interactions include relationships between the far-edge node and objects in the environment;
associating the set of measurements and the interactions to a graph node in a local representation of a local graph at the far-edge node, wherein the local graph is a portion of a global graph, wherein each of the far-edge nodes and objects in the environment are represented in the global graph;
updating the graph node in the local representation of the local graph associated with the set of measurements and the interactions with a local update, wherein updating the graph node includes updating graph node relationships based on the interactions, wherein updating graph node relationships may include creating a parent-child relationship in the local graph when the far-edge node begins an interaction with an object or a second far-edge node and pruning a child node in the local graph when the interaction with the object or the second far-edge node ends;
updating other graph nodes in the local representation of the graph not associated with the graph node that was updated, wherein the other graph nodes are associated with other far-edge nodes included in the plurality of far-edge nodes;
generating local environmental information that has been filtered to include information about the far edge nodes included in the local representation of the local graph that have been updated;
sending the local environmental information to the near-edge node to be merged with second local environmental information received the plurality of far-edge nodes and to be used in updating a global representation of a global graph by updating graph nodes in the global graph based on the local environmental information and the second local environment information; and
receiving local update information from the near-edge node at the far-edge node; and
updating the local representation of the local graph at the far-edge node with the local update information received from the near-edge node.
2 . The method of claim 1 , further comprising:
at the far-edge node, updating graph nodes associated with the graph node that was updated at the far-edge node.
3 . The method of claim 1 , wherein the moveable far-edge node undergoes a periodic charging procedure, wherein during the periodic charging procedure processing resources of the far-edge node are integrated into processing resources of the near-edge node so that the far-edge node is able to assist the near-edge node in updating the global representation of the global graph.
4 . The method of claim 1 , wherein each of the graph nodes is represented in its minimal form by a sextuplet including a map, a frame of reference, a parent node, a set of child nodes, a label, and an update timestamp.
5 . The method of claim 1 , further comprising pruning, at the far-edge node, graph nodes in the local representation of the local graph whose likelihood of existing are below a threshold value or based on the interactions.
6 . The method of claim 1 , wherein the local update information includes a region of interest.
7 . The method of claim 1 , further comprising creating, at the far-edge node, a graph node in the local representation of the graph when the set of measurements are not associated with an existing graph node in the local representation of the local graph based on the interactions, wherein the interactions are represented at least semantically.
8 . The method of claim 1 , wherein updating the graph node includes verifying that the set of measurements are from a particular semantic class and determining whether the set of measurements are compatible with an existing graph node in local representation of the local graph.
9 . The method of claim 1 , further comprising updating parent nodes in a bottom-up approach, updating other nodes in a top-down approach, wherein updating other nodes includes updating freespace voxels at the far-edge node.
10 . A non-transitory storage medium having stored therein instructions that are executable by one or more hardware processors to perform operations comprising:
Obtaining a set of measurements and interactions at a far-edge node in an environment, wherein the far-edge node is one of a moveable far-edge node or a sensing far-edge node, wherein a plurality of far-edge nodes are present in the environment and each is associated with a different set of measurements, wherein the interactions include relationships between the far-edge node and objects in the environment;
associating the set of measurements and the interactions to a graph node in a local representation of a local graph at the far-edge node, wherein the local graph is a portion of a global graph, wherein each of the far-edge nodes and objects in the environment are represented in the global graph;
updating the graph node in the local representation of the local graph associated with the set of measurements and the interactions with a local update, wherein updating the graph node includes updating graph node relationships based on the interactions, wherein updating graph node relationships may include creating a parent-child relationship in the local graph when the far-edge node begins an interaction with an object or a second far-edge node and pruning a child node in the local graph when the interaction with the object or the second far-edge node ends;
updating other graph nodes in the local representation of the graph not associated with the graph node that was updated, wherein the other graph nodes are associated with other far-edge nodes included in the plurality of far-edge nodes;
generating local environmental information that has been filtered to include information about the far edge nodes included in the local representation of the local graph that have been updated;
sending the local environmental information to the near-edge node to be merged with second local environmental information received the plurality of far-edge nodes and to be used in updating a global representation of a global graph by updating graph nodes in the global graph based on the local environmental information and the second local environment information; and
receiving local update information from the near-edge node at the far-edge node; and
updating the local representation of the local graph at the far-edge node with the local update information received from the near-edge node.
11 . The non-transitory storage medium of claim 10 , further comprising:
at the far-edge node, updating graph nodes associated with the graph node that was updated at the far-edge node.
12 . The non-transitory storage medium of claim 10 , wherein the moveable far-edge node undergoes a periodic charging procedure, wherein during the periodic charging procedure processing resources of the far-edge node are integrated into processing resources of the near-edge node so that the far-edge node is able to assist the near-edge node in updating the global representation of the global graph.
13 . The non-transitory storage medium of claim 10 , wherein each of the graph nodes is represented in its minimal form by a sextuplet including a map, a frame of reference, a parent node, a set of child nodes, a label, and an update timestamp.
14 . The non-transitory storage medium of claim 10 , further comprising pruning, at the far-edge node, graph nodes in the local representation of the local graph whose likelihood of existing are below a threshold value or based on the interactions.
15 . The non-transitory storage medium of claim 10 , further comprising creating at the far-edge node a node in the local representation of the graph when the set of measurements are not associated with an existing node in the local representation of the graph based on the interactions, wherein the interactions are represented at least semantically.
16 . The non-transitory storage medium of claim 10 , wherein the local update information includes a region of interest.
17 . The non-transitory storage medium of claim 10 , further comprising updating parent nodes in a bottom-up approach, updating other nodes in a top-down approach, wherein updating other nodes includes updating freespace voxels at the far-edge node.
18 . In a computing system including a far-edge node and a near-edge node, a method comprising:
at the far-edge node:
obtaining a set of measurements and interactions from the far-edge node in an environment, wherein the far-edge node is one of a moveable far-edge node or a sensing far-edge node, wherein the interactions include relationships between the far-edge node and objects in the environment, wherein a plurality of far-edge nodes are present in the environment and each is associated with a set of measurements;
associating the set of measurements and the interactions to a graph node in a local representation of a local graph, wherein each of the far-edge nodes and objects in the environment are represented in the global graph;
updating the graph node in the local representation of the local graph associated with the set of measurements and the interactions with a local update, wherein updating the graph node includes updating graph node relationships based on the interactions, wherein updating graph node relationships may include creating a parent-child relationship in the local graph when the far-edge node begins an interaction with an object or a second far-edge node and pruning a child node in the local graph when the interaction with the object or the second far-edge node ends;
updating graph nodes in the local representation of the local graph not associated with the graph node in the local graph that was updated; and
generating local environmental information that has been filtered to include information about the graph nodes in the local representation of the local graph that have been updated; and
at the near-edge node:
merging the local environmental information received from the far-edge node with second local environmental information received other far-edge nodes or generated at the near-edge node; and
updating a global representation of a global graph by updating graph based on the local environmental information and the second local environmental information.