Neuro-symbolic kinematics for intelligent agent

The neuro-symbolic kinematics approach integrates DNNs with kinematic models to enhance computational efficiency and data usage, addressing the inefficiencies of existing methods by predicting and verifying motion parameters for intelligent agents, achieving significant performance improvements.

WO2026152707A1PCT designated stage Publication Date: 2026-07-23INTEL CORP +5
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
INTEL CORP
Filing Date
2025-08-28
Publication Date
2026-07-23

AI Technical Summary

Technical Problem

Current methods for addressing the open set kinematic problem in intelligent agents, such as random sampling and ANN methods, suffer from low computational efficiency and inefficient data usage, respectively, making them unsuitable for practical systems.

Method used

A neuro-symbolic kinematics approach that integrates a deep neural network (DNN) with kinematic models, including a parameter speculation network, grounding module, kinematic calculation module, and kinematic loss module, to efficiently predict and verify motion parameters for intelligent agents.

Benefits of technology

This approach achieves a 20x speedup in computational efficiency compared to random sampling and approximately 100x data efficiency compared to ANN methods, providing a fast and systematic solution for intelligent agents in various environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025117453_23072026_PF_FP_ABST
    Figure CN2025117453_23072026_PF_FP_ABST
Patent Text Reader

Abstract

A neuro-symbolic kinematics system may include a neural network, a grounding module, and a kinematic calculation module. The neural network may be executed using an input to predict one or more motion parameters indicating a speculative movement of an object within the local area. The one or more motion parameters may be converted to one or more grounded motion parameters, which may be used to verify feasibility of the speculative movement. In response to determining that the speculative movement is infeasible, the system may modify one or more internal parameters of the neural network by training the neural network with the input as a training sample. The grounding module and kinematic calculation module may be differentiable to facilitate the training process. In response to determining that the speculative movement is feasible, the system may command the object to make the speculative movement based on the one or more grounded parameters.
Need to check novelty before this filing date? Find Prior Art

Description

NEURO-SYMBOLIC KINEMATICS FOR INTELLIGENT AGENTCross-Reference to Related Application

[0001] This application claims the benefit of International Application No. PCT / CN2025 / 072942, filed January 17, 2025, and titled “NEURO-SYMBOLIC KINEMATICS FOR INTELLIGENT AGENT, ” which is incorporated by reference in its entirety.Technical Field

[0002] This disclosure relates generally to artificial intelligence, and more specifically, neuro-symbolic kinematics for intelligent agents.Background

[0003] Intelligent agents encompass an extensive range of objects including mobile robots, autonomous vehicles, drones, unmanned aerial vehicles (UAVs) , unmanned ground vehicles (UGVs) , unmanned underwater vehicles (UUVs) , and other types of objects in motion. Kinematics (e.g., forward and inverse kinematics) can be used to describe the motion of systems composed of joined parts. Many kinematics systems aim to build an accurate physical model and resolve the problem through calculation so that it can provide a fast and systematic solution for the intelligent agent to make the plan in various situations.Brief Description of the Drawings

[0004] Embodiments can be readily understood by the following detailed description in conjunction with the accompanying drawings. To facilitate this description, like reference numerals designate like structural elements. Embodiments are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings.

[0005] FIG. 1 is a block diagram of a neuro-symbolic kinematics system, in accordance with various embodiments.

[0006] FIG. 2 illustrates an exemplary neuro-symbolic kinematics process, in accordance with various embodiments.

[0007] FIG. 3 illustrates a process of training a deep neural network (DNN) in a neuro-symbolic kinematics system, in accordance with various embodiments.

[0008] FIG. 4 illustrates an exemplary DNN for predicting motion parameters, in accordance with various embodiments.

[0009] FIG. 5 illustrates an application of a neuro-symbolic kinematics system, in accordance with various embodiments.

[0010] FIG. 6 is a flowchart of a method of kinematics for controlling object motion, in accordance with various embodiments.

[0011] FIG. 7 is a block diagram of an example computing device, in accordance with various embodiments.Detailed Description

[0012] There are two primary methods for addressing the open set kinematic problem of intelligent agents: the random sampling method and the Artificial Neural Network (ANN) method. The random sampling method typically uses a random sampling module to propose a candidate for open parameters. Kinematic algorithm is used to verify whether the agent can complete subsequent tasks. If successful, the corresponding control parameters are calculated and transmitted to the agent for control. If unsuccessful, another candidate is resampled until feasible control parameters are obtained. To enhance efficiency, some researchers have refined the sampling space to reduce the number of samples.

[0013] There are two primary methods for addressing the open set kinematic problem of intelligent agents: the random sampling method and the ANN method. The random sampling method typically uses a random sampling module to propose a candidate for open parameters. Kinematic algorithm is then used to verify whether the agent can complete subsequent tasks. When successful, the corresponding control parameters are calculated and transmitted to the agent for control. When unsuccessful, another candidate is resampled until feasible control parameters are obtained. To enhance efficiency, the sampling space may be refined to reduce the number of samples. The random sampling method is widely adopted in current intelligent agent systems due to its ability to ensure the correctness of the output. However, the major drawback of this method is its low efficiency in computation. It can diminish computational efficiency as it requires dozens of samples to obtain a feasible target position, trajectory or some other open parameters. Each sampling implies a complex kinematic related calculation, such as inverse kinematics and collision detection.

[0014] The ANN method typically trains a neural network using a the data that can successfully accomplish the task. Like other ANN methods, it collects a large amount of ground-truth data, ensuring the intelligent agent can complete the task in the target environment. The DNN is then fed with input data, and the network's output is compared with the desired output. The weight of the neural network is adjusted incrementally to minimize the loss function. This method typically requires a large amount of data to train the ANN. Furthermore, due to the fact that there are often multiple feasible results for a same operation target, the convergence speed of the network can be very slow. Furthermore, even when an ANN is trained finally, it cannot ensure a desirable success rate. This method discards the established knowledge within dynamics, instead opting to learn neural networks from scratch. This leads to inefficient data usage and necessitates a large amount of data during the training process. In reality, due to the difficulty in collecting sufficient data, this method is predominantly confined to simulated environments but are not adopted for practical systems.

[0015] Embodiments of the present disclosure may improve on at least some of the challenges and issues described above by providing a neuro-symbolic kinematics approach that can leverage both DNNs and kinematic models to enable an efficient, practical kinematics solution for intelligent agents.

[0016] In various embodiments of the present disclosure, a neuro-symbolic kinematics system may include a parameter speculation network, a grounding module, a kinematic calculation module, and a kinematic loss module. The parameter speculation network may be tasked with speculating motion parameters. The parameter speculation network may receive an input and predict one or more motion parameters with the input. The parameter speculation network may be a DNN, such as a multilayer perceptron (MLP) model. The input may indicate one or more conditions of an environment where an intelligent agent is located. The motion parameters predicted by the DNN may indicate a speculative movement of the intelligent agent in the environment. For instance, the motion parameters may indicate a location or pose of the intelligent agent after it does the speculative movement. The motion parameters predicted by the DNN be ungrounded, open parameters. The motion parameters may be normalized in some implementations. The grounding module may transform the network output into the input required for kinematic calculation. For instance, the grounding module may convert the motion parameters into grounded parameters. The grounded parameters, in an example, may indicate an extent of the speculative movement, such as distance to travel, angle to rotate, and so on. The kinematic calculation module may carry out the verification and calculation tasks related to kinematics. For instance, the kinematic calculation module may determine whether the speculated movement is feasible based on the grounded parameters. In response to determining that the speculative movement is feasible, the system may command the intelligent agent to make the speculative movement. In response to determining that the speculative movement is infeasible, the system may further train the parameter speculation network. For instance, training samples may be input into the network to predict motion parameters, which are then processed by the grounding module and kinematics calculation module. The kinematics loss module may determine a loss based on the output of the kinematics calculation module and ground-truth labels of the training samples. The grounding module and kinematic calculation module may be differentiable to facilitate the backpropagation process, in which internal parameters of the network may be updated.

[0017] This disclosure provides a hybrid approach that can take advantage of both data (DNN) and knowledge (kinematic model) simultaneously for kinematics related calculations. This approach can enable precise speculation on positions, trajectories, and other kinematic aspects. This approach can achieve leading performance for robot pose tasks. It can achieve 20x speed up compared with the random sampling method and approximately 100x data efficiency compared with the ANN method. This approach can provide a fast and systematic solution for any intelligent agent to make the plan in various situations.

[0018] For purposes of explanation, specific numbers, materials and configurations are set forth in order to provide a thorough understanding of the illustrative implementations. However, it can be apparent to one skilled in the art that the present disclosure may be practiced without the specific details or / and that the present disclosure may be practiced with only some of the described aspects. In other instances, well known features are omitted or simplified in order not to obscure the illustrative implementations.

[0019] Further, references are made to the accompanying drawings that form a part hereof, and in which is shown, by way of illustration, embodiments that may be practiced. It is to be understood that other embodiments may be utilized, and structural or logical changes may be made without departing from the scope of the present disclosure. Therefore, the following detailed description is not to be taken in a limiting sense.

[0020] Various operations may be described as multiple discrete actions or operations in turn, in a manner that is most helpful in understanding the claimed subject matter. However, the order of description should not be construed as to imply that these operations are necessarily order dependent. In particular, these operations may not be performed in the order of presentation. Operations described may be performed in a different order from the described embodiment. Various additional operations may be performed or described operations may be omitted in additional embodiments.

[0021] For the purposes of the present disclosure, the phrase “A or B” or the phrase "A and / or B" means (A) , (B) , or (A and B) . For the purposes of the present disclosure, the phrase “A, B, or C” or the phrase "A, B, and / or C" means (A) , (B) , (C) , (A and B) , (A and C) , (B and C) , or (A, B, and C) . The term "between, " when used with reference to measurement ranges, is inclusive of the ends of the measurement ranges.

[0022] The description uses the phrases "in an embodiment" or "in embodiments, " which may each refer to one or more of the same or different embodiments. The terms "comprising, " "including, " "having, " and the like, as used with respect to embodiments of the present disclosure, are synonymous. The disclosure may use perspective-based descriptions such as "above, " "below, " "top, " "bottom, " and "side" to explain various features of the drawings, but these terms are simply for ease of discussion, and do not imply a desired or required orientation. The accompanying drawings are not necessarily drawn to scale. Unless otherwise specified, the use of the ordinal adjectives “first, ” “second, ” and “third, ” etc., to describe a common object, merely indicates that different instances of like objects are being referred to and are not intended to imply that the objects so described must be in a given sequence, either temporally, spatially, in ranking or in any other manner.

[0023] In the following detailed description, various aspects of the illustrative implementations may be described using terms commonly employed by those skilled in the art to convey the substance of their work to others skilled in the art.

[0024] The terms “substantially, ” “close, ” “approximately, ” “near, ” and “about, ” generally refer to being within + / -20%of a target value as described herein or as known in the art. Similarly, terms indicating orientation of various elements, e.g., “coplanar, ” “perpendicular, ” “orthogonal, ” “parallel, ” or any other angle between the elements, generally refer to being within + / -5-20%of a target value as described herein or as known in the art.

[0025] In addition, the terms “comprise, ” “comprising, ” “include, ” “including, ” “have, ” “having” or any other variation thereof, are intended to cover a non-exclusive inclusion. For example, a method, process, device, or DNN accelerator that comprises a list of elements is not necessarily limited to only those elements but may include other elements not expressly listed or inherent to such method, process, device, or DNN accelerators. Also, the term “or” refers to an inclusive “or” and not to an exclusive “or. ”

[0026] The systems, methods and devices of this disclosure each have several innovative aspects, no single one of which is solely responsible for all desirable attributes disclosed herein. Details of one or more implementations of the subject matter described in this specification are set forth in the description below and the accompanying drawings.

[0027] FIG. 1 is a block diagram of a neuro-symbolic kinematics system 100, in accordance with various embodiments. The neuro-symbolic kinematics system 100 may enable kinematics, including forward kinematics and inverse kinematics. Kinematics can be used to describe the motion of systems composed of joined parts. Kinematics may relate to the relationship between the dimensions and connectivity of kinematic chains and the position, velocity and acceleration of each of the links in the systems, in order to plan and control movement and to compute actuator forces and torques. In some embodiments, the neuro-symbolic kinematics system 100 may be implemented on an object whose movement is controlled by the neuro-symbolic kinematics system 100. In other embodiments, the neuro-symbolic kinematics system 100 may be communicatively connected to the object through a network.

[0028] As shown in FIG. 1, the neuro-symbolic kinematics system 100 includes an interface module 110, a network deployment module 120, a neural network (also referred to as “deep neural network (DNN) ” ) 125, a grounding module 130, a kinematic calculation module 140, an agent controller 150, a training module 160, and a datastore 170. In other embodiments, alternative configurations, different or additional components may be included in the neuro-symbolic kinematics system 100. Further, functionality attributed to a component of the neuro-symbolic kinematics system 100 may be accomplished by a different component included in the neuro-symbolic kinematics system 100 or a different module or system.

[0029] The interface module 110 facilitates communication of the neuro-symbolic kinematics system 100 with other modules or systems. In some embodiments, the interface module 110 may establish communication between the neuro-symbolic kinematics system 100 with an external system for training or deploying the DNN 125 for predicting motion parameters. For example, the interface module 110 may receive from the external system data that can be used to train the DNN 125. As another example, the interface module 110 may receive the DNN 125 itself from the external system, such as internal parameters and model architecture parameters of the DNN 125.

[0030] In some embodiments, the interface module 110 establishes communication between the neuro-symbolic kinematics system 100 and a module or system of an object whose movements may be controlled by the neuro-symbolic kinematics system 100. The object may be a device that can make movements, including movements that can change the position or orientation of the agent. In some embodiments, the object may be an agent of a user and may move to perform tasks for the user in an environment where it is located. The environment may also be referred to as the local area of the agent. The agent may be an intelligent agent. Examples of the agent include autonomous vehicles, drones, UAVs, UGVs, UUVs, and so on. The agent may include a computing system that can make decisions or predictions. The agent may also include one or more sensors that can detect environmental conditions. Examples of the sensor may include photodetectors, cameras, RADAR, Sound Navigation And Ranging (SONAR) , LIDAR, Global Positioning System (GPS) , wheel speed sensors, inertial measurement units (IMUs) , accelerometers, microphones, strain gauges, pressure monitors, barometers, thermometers, altimeters, ambient light sensors, other types of sensors, or some combination thereof. The interface module 110 may facilitate receiving data from the agent, such as sensor data captured by the agent, request for kinematics calculation, or other type of data. The interface module 110 may also facilitate sending data to the agent, such as commands or instructions regarding movement of the agent. A movement command or instruction may include one or more motion parameters.

[0031] The network deployment module 120 deploys the DNN 125 to predict motion parameters. For instance, the network deployment module 120 may execute the DNN 125 by using a processing unit. The processing unit may be a graphics processing unit, neural processing unit, or central processing unit. The execution of the DNN 125 may include performing neural network operations in the DNN 125 to process an input. In some embodiments, the network deployment module 120 obtains the input to the DNN 125. The input may be a context input. The context input may include one or more bounding boxes, images, point clouds, or other types of information.

[0032] In some embodiments, the context input indicates one or more conditions of the local area. The one or more conditions may be detected by one or more sensors of the agent itself or detected by one or more sensors arranged in the local area. The one or more conditions may include conditions of the agent, such as pose (position or orientation) , joint angles, components, and so on. The one or more conditions may include conditions of the local area, such as temperature, lightening condition (e.g., level of brightness of the local area) , boundaries of the local area, and so on. Additionally or alternatively, the one or more conditions may include conditions of other objects present in the local area. The other objects may be boundaries of the local area (e.g., walls, floor, ceiling, etc. ) , surrounding obstacles (e.g., furniture, people, other intelligent agents, etc. ) , target objects (e.g., objects the agent needs to reach for performing its tasks) , and so on. In some embodiments, the network deployment module 120 may receive the context input from a computing system in or associated with the agent. In other embodiments, the network deployment module 120 may generate the context input based on data received from a computing system in or associated with the agent.

[0033] In some embodiments, the DNN 125 has been designed and trained to infer open parameters based on context inputs. The DNN 125 can learn from past experiences to predict the most effective motion parameters, such as chassis positioning and joint angles. In some embodiments, the outputs of the DNN 125 are normalized, which can ensure training accuracy and speed. The DNN 125 may include a plurality of layers in which the input can be processed sequentially. The DNN 125 may output motion parameters. The motion parameters predicted by the DNN 125 may indicate a speculative movement of the agent. For instance, the motion parameters may indicate a pose of the agent after it makes the speculative movement. The pose may be referred to as a target pose of the speculative movement. The speculative movement is a potential movement that has not been verified. For instance, the agent may not be able to carry out the speculative movement due to obstacles in the local area or restraints of the agent itself. The motion parameters predicted by the DNN 125 be ungrounded, open parameters. The output parameters may be normalized. An example of the DNN 125 is a feedforward network, such as an MLP. Certain aspects of the DNN 125 are described below in conjunction with FIG. 4.

[0034] The grounding module 130 translates DNN 125 outputs to grounded motion parameters. As described above, outputs of the DNN 125 may be ungrounded, normalized parameters, which may be abstract and not ready to be used for kinematics calculation directly. The grounding module 130 may convert the one or more motion parameters generated by the DNN 125 into one or more grounded parameters. The grounded parameters may be concrete values, which can be used by the kinematic calculation module 140 to perform kinematics calculation. In some embodiments, the grounding module may generate one or more grounded motion parameters that specify the speculative movement to be made by the agent. For instance, the one or more grounded motion parameters may indicate one or more extents of the speculative movement, such as a distance to travel, a degree of angle to rotate, a direction to move, and son on. In some embodiments, the grounding module 130 may generate the one or more ground motion parameters based on a current pose of the agent in addition to the DNN 125 output.

[0035] The kinematic calculation module 140 verifies speculative movements using grounded parameters generated by the grounding module 130. The kinematic calculation module 140 may verify a speculative movement by assessing the feasibility of the speculative movement itself or the feasibility of a subsequent task based on kinematic knowledge. The kinematic calculation module 140 may determine that the speculative movement or subsequent task is feasible based on a determination that the speculative movement or subsequent task can be successfully executed in the local area. In some embodiments, the kinematic calculation module 140 may simulate speculative movements for verification. For instance, the kinematic calculation module 140 may run a simulation of the agent making the speculative movement in the local area. The kinematic calculation module 140 may generate a 2D or 3D representation of the local area, such as a map or a 3D virtual scene simulating the local area. The kinematic calculation module 140 may also generate a virtual object that simulates the agent and have the virtual object make the speculative movement in the virtual scene to check if the speculative movement is feasible.

[0036] In some embodiments, the kinematic calculation module 140 may determine whether the target pose (position or orientation) of the agent is achievable in the local area. For instance, the kinematic calculation module 140 may check whether the agent is to collide with another object in the local area while carrying out the speculative movement. The kinematic calculation module 140 may determine that the speculative movement is infeasible in response to determining that there would be a collision. Additionally or alternatively, the kinematic calculation module 140 may determine whether the agent is capable of carrying out the speculative movement, based on attributes (e.g., components, specifications, etc. ) of the agent. For instance, the kinematic calculation module 140 may check whether the speculative movement is beyond a threshold movement range of the object. In an example where the speculative movement includes a joint rotation, the kinematic calculation module 140 may check whether the speculative rotation angle is beyond a threshold. The threshold range may be a maximum rotation angle of the agent’s joint. The kinematic calculation module 140 may determine that the speculative movement is infeasible in response to determining that the speculative movement is beyond the capability of the agent.

[0037] The kinematic calculation module 140 may request the agent controller 150 to command the agent to make the speculative movement in embodiments where the kinematic calculation module 140 determines that the speculative movement is feasible. The agent controller 150 may generate a control signal and provide it to the agent. The control signal may include the motion parameters generated by the grounding module 130. In some embodiments, the kinematic calculation module 140 may send the control signal to one or more actuators of the agent. The one or more actuators may cause motions of the object based on the control signal. In some embodiment, the movement is to facilitate performance of a subsequent task. For instance, the object may have received a request to reach another object in the local area, and the movement is for changing the pose (position or orientation) of the object so that the other object can be reached by the object. After the object makes the movement, the object may perform the subsequent task.

[0038] The kinematic calculation module 140 may request the training module 160 to train the DNN 125 in embodiments where the kinematic calculation module 140 determines that the speculative movement is infeasible. The kinematic calculation module 140 may send the training module 160 a feedback indicating that the speculative movement is infeasible and request the training module 160 to improve the speculation accuracy of the DNN 125. The training module 160 may modify one or more internal parameters (e.g., weights) of the DNN 125 to adjust the DNN 125’s speculation based on the feedback from the kinematic calculation module 140. In some embodiments, the DNN 125 may have been trained (by the training module 160 or a different module or system) before it is used to predict the speculative movement. The kinematic calculation module 140 may request the training module 160 to further train the DNN 125 by using the input to the DNN 125 as a training sample.

[0039] In some embodiments, the training module 160 may train the DNN 125 by using a training dataset. The training module 160 may form the training dataset or receive the training dataset from a different module or system. The training dataset may include training samples and reference values. The reference values may represent correct predictions made by the DNN 125 from the training samples. In an example, the training samples may be context inputs, and reference values may be motion parameters of verified, feasible movements. In some embodiments, a part of the training dataset may be used to initially train the DNN 125, and the rest of the training dataset may be held back as a fine-tuning subset used by the training module 160 to fine-tune the DNN 125 after the training process or as a validation subset used by the training module 160 to validate performance of the DNN 125 after the training process. The portion of the training dataset not including the fine-tuning subset or the validation subset may be used to train the DNN 125.

[0040] In some embodiments, the training module 160 may determine hyperparameters for training the DNN 125. Hyperparameters are variables specifying the DNN 125 training process. Hyperparameters are different from parameters inside the DNN 125 (e.g., weights of filters) . In some embodiments, hyperparameters include variables determining the architecture of the DNN 125, such as number of hidden layers, etc. Hyperparameters also include variables which determine how the DNN 125 is trained, such as batch size, number of epochs, etc. A batch size defines the number of training samples to work through before updating the parameters of the DNN 125. The batch size is the same as or smaller than the number of samples in the training dataset. The training dataset can be divided into one or more batches. The number of epochs defines how many times the entire training dataset is passed forward and backwards through the entire network. The number of epochs defines the number of times that the deep learning algorithm works through the entire training dataset. One epoch means that each training sample in the training dataset has had an opportunity to update the parameters inside the DNN 125. An epoch may include one or more batches. The number of epochs may be 1, 5, 10, 50, 100, 500, 1000, or even larger.

[0041] To train the DNN 125, the training module 160 inputs the training samples into the DNN 125. The training module 160 may also request the grounding module 130 and kinematic calculation module 140 to process the DNN 125 outputs. The training module 160 may determine a loss based on the output of the kinematic calculation module 140. The loss may also be referred to as kinematic calculation loss. The training module 160 may define a loss function that can measure a loss during a forward pass. In some embodiments, the loss function may be selected, e.g., by the training module 160, from various types of loss functions, such as mean square error (MSE) , cross-entropy loss, mean absolute error (MAE) , Huber loss, Hinger loss, cosine similarity, Poisson loss, and so on. The computation of the loss function may be denoted as where is the loss, yref is the reference value (s) , and N is the number of training samples in a batch.

[0042] The loss may indicate an error in speculations made by the DNN 125. In some embodiments, the loss may measure the difference between motion parameters of a speculative movement predicted by the DNN 125 and motion parameters of a verified, feasible movement for the training samples. The training module 160 may update one or more internal parameters of the DNN 125 based on the loss in a backward pass. For instance, the training module 160 may update one or more internal parameters of the DNN 125 to minimize the loss. During the backward pass, data propagates backwards from the kinematic calculation module 140 to the grounding module 130 then backwards through the layers of the DNN 125. The data may be gradients computed using the loss. A gradient may be a partial derivative of a function (e.g., a loss function) with respect to its inputs, which may be the slope of the function. Gradients computed during the backward pass may measure the changes in weights with respect to the change in error or loss. To facilitate the training process, the training module 160 may make the grounding module 130 and kinematic calculation module 140 differentiable.

[0043] In embodiments where the training module 160 is requested to further train the DNN 125 after a speculative movement is determined infeasible, the training module 160 may train the DNN 125 by using the context input, from which the speculative movement is predicted by the DNN 125, as a training sample. The training sample may be used as a negative training sample. The training module 160 may compute a kinematic calculation loss based on the output of the grounding module 130 or kinematic calculation module 140. For instance, the training module 160 may compute a kinematic calculation loss that measures a difference between the one or more grounded parameters determined by the grounding module 130 and one or more motion parameters indicating a verified, feasible movement given the context input. The latter may be determined by the kinematic calculation module 140 in the process of verifying the speculative movement. In some embodiments, a large loss may be generated based on the infeasible result as a penalty. In an example of the speculative movement being a rotation of a joint of the object, when the absolute value of the generated angle is greater than π, which indicates that the joint of the object cannot reach, the part greater than π may be multiplied by a large value and add it to the loss. The training module 160 may modify one or more internal parameters of the DNN 125 to minimize the kinematic calculation loss during the backward pass. The further training may improve the performance of the DNN 125. The DNN 125 may be used to predict speculative movements after it is further trained. In an example where the next speculative movement predicted by the DNN 125 is still infeasible, the kinematic calculation module 140 may request the training module 160 to train the DNN 125 again. This training process may be an iterative process until the performance of the DNN 125 reaches a desirable level, for instance, when a speculative movement predicted by the DNN 125 can be verified as feasible by the kinematic calculation module 140.

[0044] In some embodiments, the training module 160 may also verify accuracy of the DNN 125 after the training process. In some embodiments, the training module 160 inputs samples in a validation dataset into the DNN 125 and uses the outputs of the DNN 125 to determine the model accuracy. In some embodiments, a validation dataset may be formed of some or all the samples in the training dataset. Additionally or alternatively, the validation dataset includes additional samples, other than those in the training sets. In some embodiments, the training module 160 may determine an accuracy score measuring the precision, recall, or a combination of precision and recall of the DNN 125. The training module 160 may use the following metrics to determine the accuracy score: Precision = TP /  (TP + FP) and Recall = TP /  (TP + FN) , where precision may be how many the DNN 125 correctly predicted (TP or true positives) out of the total it predicted (TP + FP or false positives) , and recall may be how many the DNN 125 correctly predicted (TP) out of the total number of objects that did have the property in question (TP + FN or false negatives) . The F-score (F-score = 2 *PR /  (P + R) ) unifies precision and recall into a single measure.

[0045] The training module 160 may compare the accuracy score with a threshold score. In an example where the training module 160 determines that the accuracy score of the DNN 125 is less than the threshold score, the training module 160 may further train the DNN 125. In one embodiment, the training module 160 may iteratively train the DNN 125 until the occurrence of a stopping condition, such as the accuracy measurement indication that the DNN 125 may be sufficiently accurate, or a number of training rounds having taken place.

[0046] The datastore 170 stores data received, generated, used, or otherwise associated with the neuro-symbolic kinematics system 100. For example, the datastore 170 stores the datasets used by the network deployment module 120 or the training module 160. The datastore 170 may also store data generated by the DNN 125, grounding module 130, kinematic calculation module 140, training module 160, and agent controller 150. The datastore 170 may include one or more memories. In the embodiment of FIG. 1, the datastore 170 is a component of the neuro-symbolic kinematics system 100. In other embodiments, the datastore 170 may be external to the neuro-symbolic kinematics system 100 and communicate with the neuro-symbolic kinematics system 100 through a network.

[0047] FIG. 2 illustrates an exemplary neuro-symbolic kinematics process, in accordance with various embodiments. The neuro-symbolic kinematics process starts with inputting a context input 201 into a DNN 210. The DNN 210 may be an example of the DNN 125 in FIG. 1. In the embodiments of FIG. 2, the DNN 210 makes a prediction from the context input 201. The prediction may relate to a speculative movement of an object in an environment. The environment may be a real-world environment where the object is located. The context input 201 may indicate one or more conditions of the environment. The conditions may be detected by the object or another object in the environment. The context input 201 may include obstacle information in the form of bounding boxes. In some embodiments, the context input 201 may include an image or point cloud. The DNN 210 may be selected based on the type of data in the context input 201. In some embodiments, the DNN 210 is a MLP. In other embodiments, the DNN 210 is a convolutional neural network or transformer-based model.

[0048] In some embodiments, the DNN 210 may be deployed multiple times with the context input 201 to generate multiple, different outputs. Outputs of the DNN 210 may have a certain degree of randomness. The DNN 210 may be trained by the training module 160 in FIG. 1. In some embodiments, the DNN 210 may have randomization mechanisms during training to improve its reliability. Such mechanisms may be maintained for training or inference. For example, the DNN 210 may have a random dropout mechanism that can be retained to the inference stage. An output of the DNN 210 may be a normalized representation of a speculative movement. The DNN 210 may be an example of DNNs deployed by the network deployment module 120 in FIG. 1.

[0049] Outputs of the DNN are further processed by a grounding module 220. The grounding module 220 may receive the normalized representation from the DNN 210 and convert it to grounded representation. For instance, the normalized representation may be ungrounded, open motion parameters. The grounding module 220 may convert the ungrounded, open parameters to speculative open parameters. The grounding module 220 may be configured to perform scaling on representation (such as Euler angles, rotation matrices, etc. ) . in some embodiments, the grounding module 220 may be differentiable. The grounding module 220 may be an example of the grounding module 130 in FIG. 1.

[0050] The kinematic calculation module 230 may process the speculative open parameters generated by the grounding module 220 and produce control parameters. In some embodiments, the kinematic calculation module 230 may use one or more kinematics algorithms to produce the control parameters. The one or more kinematics algorithms may be differentiable. In an example, the kinematic calculation module 230 may use a kinematics algorithm denoted as: where x may be a parameter generated by the grounding module 220, g (x) may be a  control parameter, and δ is greater than zero and is sufficiently small. Using this algorithm, calculations that would originally produce exceptions can be transformed into operations that return unreasonable values, while also ensuring they are differentiable.

[0051] The control parameters are provided to an agent controller 240. The agent controller 240 may control the movement of the object based on the control parameters. For instance, the agent controller 240 may command the object (or part of the object) to move the distance indicated by the control parameters in the direction indicated by the control parameters. Additionally or alternatively, the agent controller 240 may command the object (or part of the object) to rotate the degree of angle indicated by the control parameters. The agent controller 240 may be an example of the agent controller 150 in FIG. 1.

[0052] The neuro-symbolic kinematics process shown in FIG. 2 may be a cyclical workflow where initial speculation is made by the DNN 210, then translated into specific actions by the grounding module 220, further evaluated and verified for feasibility by the kinematic calculation module 230, and then. In embodiments where the speculative movement cannot be verified for feasibility, a training process may be performed to improve the performance of the DNN 210.

[0053] FIG. 3 illustrates a process of training a DNN in a neuro-symbolic kinematics system, in accordance with various embodiments. For the purpose of illustration, the DNN in FIG. 3 is the DNN 210 described above in conjunction with FIG. 2. The training process also involves the grounding module 220 and kinematic calculation module 230.

[0054] In some embodiments (such as the embodiments of FIG. 2) , the kinematic calculation module 230 determines that the speculation of the DNN 210 is feasible. The kinematic calculation module 230 may instruct a loss module 310 to set the loss to zero. When the loss is zero, the DNN 210 is not further trained. In other embodiments (such as the embodiments of FIG. 3) , the kinematic calculation module 230 determines that the speculation of the DNN 210 is not feasible. Then, the kinematic calculation module 230 may determine to further train the DNN 210. A training sample set 301, which includes one or more training samples, may be used for further training the DNN 210. In some embodiments, the training sample set 301 is the context input 201, for instance, when the kinematic calculation module 230 determines that the speculative movement predicted from the context input 201 is infeasible.

[0055] The kinematic calculation module 230 may instruct a loss module 310 to determine a loss. The loss module 310 may be part of the training module 160 in FIG. 1. The loss module 310 may determine the loss based on the results of the kinematic verification. The loss may also be referred to as kinematic calculation loss. In some embodiments, a large loss may be generated based on the infeasible result as a penalty. In an example of the speculative movement being a rotation of a joint of the object, when the absolute value of the generated angle is greater than π, which indicates that the joint of the object cannot reach, the part greater than π may be multiplied by a large value and add it to the loss.

[0056] A backward pass is then performed, as indicated by the dashed arrows in FIG. 3. During the backward pass, the loss is used to modify internal parameters of the DNN 210 to improve the performance of the DNN 210. An output gradient may be computed. The output gradient may be a gradient with respect to the output of the DNN 210 and may be denoted as where y denotes the loss, and p denotes the ungrounded parameters generated by the DNN 210. Another gradient may be generated and used for updating internal parameters of the DNN 210, where θ denotes internal parameters of the DNN 210.

[0057] The training process in FIG. 3 encompasses not only the DNN but also the differentiable grounding and kinematic calculation modules, incorporating mature physical knowledge. When adjustments are needed, these components can pinpoint critical areas needing modification during the calculation process and relay these adjustments back to the DNN through gradient descent. This integration can allow for the loss design to move beyond simple ground-truth comparisons, setting the loss through kinematic verification instead. This makes network adjustments more targeted and efficient, reducing the amount of data required for training. With such a training process, the probability of the DNN outputting a feasible target position can be very high, e.g., higher than 95%. This can effectively reduce the number of samples needed for the object to infer where to go.

[0058] The neuro-symbolic kinematics approach has better performance than the random sampling method and ANN method. Unlike random sampling methods, the neuro-symbolic kinematics approach leverages the DNN for predicting open parameters, making it trainable. This means it can improve success rates based on historical data, minimize unnecessary computations, and enhance computational efficiency. In addition, compared to the ANN method, the neuro-symbolic kinematics approach requires much less training data. In an example, when the same number of training samples, the neuro-symbolic kinematics system can output feasible robot positions with a much higher success rate than the ANN method. Moreover, the convergence speed of the ANN method is significantly slower even with more training samples. The neuro-symbolic kinematics system can achieve approximately 100x data efficiency improvement.

[0059] FIG. 4 illustrates an exemplary DNN 400 for predicting motion parameters, in accordance with various embodiments. The DNN 400 may be used to predict motion parameters of speculative movements. The DNN 400 may be an example of the DNN 210 in FIG. 2. As shown in FIG. 4, the DNN 400 includes an input layer 410, hidden layer 420, hidden layer 430, hidden layer 440, and output layer 450. In other embodiments, the DNN 400 may have fewer, more, or different layers. For instance, the DNN 400 may have fewer or more than three hidden layers.

[0060] The input layer 410 may receive the input to the DNN 400. In some embodiments, the input layer 410 receives raw data features, such as bounding boxes, images, point clouds, and so on. In an example for kinematics calculation, the input may be a context input, such as the context inputs described above. The hidden layer 420, hidden layer 430, and hidden layer 440 may transform the input using learned weights and activation functions. The hidden layer 420, hidden layer 430, and hidden layer 440 may each include one or more neural network operations. In an example, the input to the DNN 400 may be processed in the hidden layer 420 by performing a neural network operation of the hidden layer 420 on the input. The output of the hidden layer 420 is then processed in the hidden layer 430 by performing a neural network operation of the hidden layer 430 on the output of the hidden layer 420. The output of the hidden layer 430 is then processed in the hidden layer 440 by performing a neural network operation of the hidden layer 440 on the output of the hidden layer 430. The output of the hidden layer 440 is provided to the output layer 450. The output layer 450 may produce the output of the DNN 400, such as the final prediction result.

[0061] In some embodiments, the DNN 400 is an MLP. Each layer includes a plurality of nodes. Each node (or neuron) in one layer connects to every node in the next layer, forming a fully connected architecture. In FIG. 4, each node is represented by a circle. For the purpose of simplicyt and illustration, the input layer 410 and output layer 450 each have three nodes, the hidden layer 420 and hidden layer 440 each have four nodes, and the hidden layer 430 has five nodes. In other embodiments, the input layer 410, hidden layer 420, hidden layer 430, hidden layer 440, or output layer 450 may have a different number of nodes. In some embodiments, a node may perform a weighted sum of its inputs followed by a non-linear activation function, such as Rectified Linear Unit (ReLU) , Sigmoid, or Tanh function.

[0062] FIG. 5 illustrates speculative movements of an object 510 in an environment 500, in accordance with various embodiments. For the purpose of illustration, the object 510 is a robot with a grabber. The object 510 may travel and perform tasks in the environment 500. The environment 500 may be a room or other types of environments. In addition to the object 510, the environment 500 also has an item 520, item 530, item 540, table 550, and chair 560. The item 520, item 530, and item 540 are on the table 550. The object 510 may be assigned to perform a task of removing the item 520 from the table 550. In order to perform this task, the object 510 needs to move to a new position that is closer to the item 520 where the object 510 can reach and grab the item 520. A neuro-symbolic kinematics system (e.g., the neuro-symbolic kinematics system 100 in FIG. 1) may be used to control the movement of the object 510 for performing the task.

[0063] In an example, the neuro-symbolic kinematics system may obtain information of the environment 500, such as information regarding the positions, orientations, shapes, or sizes of all the other objects in the environment 500. The neuro-symbolic kinematics system may receive data indicating bounding boxes representing these objects. Additionally or alternatively, the neuro-symbolic kinematics system may receive one or more images or pint clouds of the environment 500. The neuro-symbolic kinematics system may input the information into a DNN (e.g., the DNN 210 in FIG. 2 or DNN 400 in FIG. 4) . The DNN may predict one or more ungrounded parameters. The one or more ungrounded parameters may indicate a speculative pose of the object 510 with which the object 510 can grab the item 520 and remove the item 520 from the table 550. The speculative pose may represent a speculative movement of the object 510. The neuro-symbolic kinematics system may further convert the one or more ungrounded parameters into one or more grounded parameters, e.g., by using a differentiable grounding module (e.g., the grounding module 130 in FIG. 1 or grounding module 220 in FIG. 2) . The one or more grounded parameters may indicate a traveling distance of the object 510, traveling direction of the object 510, rotation degree of the grabber of the object 510, and so on. The one or more grounded parameters may be used for kinematics calculation, e.g., by a differentiable kinematic calculation module (e.g., the kinematic calculation module 140 in FIG. 1 or kinematic calculation module 230 in FIG. 2) . The one or more grounded parameters may be used to verify the speculative movement. For instance, the neuro-symbolic kinematics system may determine whether the speculative movement is feasible in the environment 500. The neuro-symbolic kinematics system may also determine whether the task is feasible after the object 510 makes the speculative movement.

[0064] For the purpose of illustration, FIG. 5 shows three speculative movements represented by three routes: route 571, route 572, and route 573. In some embodiments, the route 571, route 572, and route 573 may be determined based on the same input to the DNN. In other embodiments, they may be determined based on different inputs. The route 571, route 572, and route 573 may be outputs of the grounding module or kinematic calculation module. The neuro-symbolic kinematics system may determine that the route 571 is infeasible because even though the object 510 can successfully move to the destination without any collision, the grabber of the object 510 cannot reach the item 520 at the destination of the route 571 even when the grabber rotates the maximum degree. That means even though the movement is feasible, the subsequent task that the object 510 is assigned to perform would not be feasible. The neuro-symbolic kinematics system may determine that the route 572 is also infeasible because the object 510 would collide with the chair 560 when it travels towards the item 520 along the route 572. The object 510 would be obstructed by the chair 560 on the route 572. After determining that the route 571 or route 572 is infeasible, the neuro-symbolic kinematics system may further train the DNN using data associate with the route 571 or route 572. For instance, the input used by the DNN to predict the route 571 or route 572 may be used as a negative training sample, and infeasibility of the route 571 or route 572 may be used as ground-truth label of the training sample.

[0065] Different from the route 571 and route 572, the neuro-symbolic kinematics system may determine that the route 573 is feasible as the object 510 can successfully move to the destination without any collision and can grab the item 520 and remove the item 520 from the table 550 at the destination. After determining that the route 573 is feasible, the neuro-symbolic kinematics system may send the control parameters for the route 573 to one or more actuators of the object 510. The object 510 may travel along the route 573 accordingly. Also, the grabber of the object 510 may adjust its pose to facilitate the grabbing task. In some embodiments, the route 573 may be determined by deploying the DNN after the DNN is further trained using data associate with the route 571 or route 572. The neuro-symbolic kinematics system may further train the DNN using data associate with the route 573. For instance, the input used by the DNN to predict the route 573 may be used as a positive training sample, and feasibility of the route 573 may be used as ground-truth label of the training sample. The neuro-symbolic kinematics system can therefore enable an iterative process, in which the DNN may be continuously trained. This neuro-symbolic kinematics approach can provide more efficient and effective kinematics calculation with less training data.

[0066] FIG. 6 is a flowchart of a method 600 of kinematics for controlling object motion, in accordance with various embodiments. The method 600 may be performed by the neuro-symbolic kinematics system 100 in FIG. 1. Although the method 600 is described with reference to the flowchart illustrated in FIG. 6, many other methods of kinematics for controlling object motion may alternatively be used. For example, the order of execution of the steps in FIG. 6 may be changed. As another example, some of the steps may be changed, eliminated, or combined.

[0067] The neuro-symbolic kinematics system 100 executes 610 a neural network with an input to predict one or more motion parameters. The one or more motion parameters indicate a speculative movement of an object within a local area. In some embodiments, the one or more motion parameters indicate a speculative pose of the object within the local area. In some embodiments, the object is a robot. In some embodiments, the input indicates one or more conditions in the local area.

[0068] The neuro-symbolic kinematics system 100 converts 620 the one or more motion parameters to one or more grounded motion parameters. The one or more grounded motion parameters indicate an extent of the speculative movement. In some embodiments, the extent of the speculative movement includes a distance to travel or an angle to rotate.

[0069] The neuro-symbolic kinematics system 100 determines 630, using the one or more grounded motion parameters, whether the speculative movement of the object is feasible. In some embodiments, the neuro-symbolic kinematics system 100 determines whether the speculative movement of the object is feasible by determining whether the object is to collide with another object in the local area during the speculative movement. In some embodiments, the neuro-symbolic kinematics system 100 determines whether the speculative movement of the object is feasible by determining whether the speculative movement is beyond a threshold movement range of the object.

[0070] The neuro-symbolic kinematics system 100 modifies 640 one or more internal parameters of the neural network by training the neural network with the input as a training sample in response to determining that the speculative movement of the object is infeasible. In some embodiments, the neuro-symbolic kinematics system 100 computes a loss based on the plurality of grounded motion parameters in a forward pass. The neuro-symbolic kinematics system 100 modifies the one or more internal parameters of the neural network based on the loss in a backward pass. In some embodiments, the one or more grounded motion parameters are differentiable.

[0071] FIG. 7 is a block diagram of an example computing device 700, in accordance with various embodiments. In some embodiments, the computing device 700 can be used as at least part of the neuro-symbolic kinematics system 100 in FIG. 1. A number of components are illustrated in FIG. 7 as included in the computing device 700, but any one or more of these components may be omitted or duplicated, as suitable for the application. In some embodiments, some or all of the components included in the computing device 700 may be attached to one or more motherboards. In some embodiments, some or all of these components are fabricated onto a single system on a chip (SoC) die. Additionally, in various embodiments, the computing device 700 may not include one or more of the components illustrated in FIG. 7, but the computing device 700 may include interface circuitry for coupling to the one or more components. For example, the computing device 700 may not include a display device 706, but may include display device interface circuitry (e.g., a connector and driver circuitry) to which a display device 706 may be coupled. In another set of examples, the computing device 700 may not include an audio input device 718 or an audio output device 708 but may include audio input or output device interface circuitry (e.g., connectors and supporting circuitry) to which an audio input device 718 or audio output device 708 may be coupled.

[0072] The computing device 700 may include a processing device 702 (e.g., one or more processing devices) . The processing device 702 processes electronic data from registers and / or memory to transform that electronic data into other electronic data that may be stored in registers and / or memory. The computing device 700 may include a memory 704, which may itself include one or more memory devices such as volatile memory (e.g., DRAM) , nonvolatile memory (e.g., read-only memory (ROM) ) , high bandwidth memory (HBM) , flash memory, solid state memory, and / or a hard drive. In some embodiments, the memory 704 may include memory that shares a die with the processing device 702. In some embodiments, the memory 704 includes one or more non-transitory computer-readable media storing instructions executable to perform operations for kinematics of intelligent agents (e.g., the method 600 described in conjunction with FIG. 6) or some operations performed by one or more components of the neuro-symbolic kinematics system 100. The instructions stored in the one or more non-transitory computer-readable media may be executed by the processing device 702.

[0073] In some embodiments, the computing device 700 may include a communication chip 712 (e.g., one or more communication chips) . For example, the communication chip 712 may be configured for managing wireless communications for the transfer of data to and from the computing device 700. The term "wireless" and its derivatives may be used to describe circuits, devices, systems, methods, techniques, communications channels, etc., that may communicate data through the use of modulated electromagnetic radiation through a nonsolid medium. The term does not imply that the associated devices do not contain any wires, although in some embodiments they might not.

[0074] The communication chip 712 may implement any of a number of wireless standards or protocols, including but not limited to Institute for Electrical and Electronic Engineers (IEEE) standards including Wi-Fi (IEEE 802.10 family) , IEEE 802.16 standards (e.g., IEEE 802.16-2005 Amendment) , Long-Term Evolution (LTE) project along with any amendments, updates, and / or revisions (e.g., advanced LTE project, ultramobile broadband (UMB) project (also referred to as "3GPP2" ) , etc. ) . IEEE 802.16 compatible Broadband Wireless Access (BWA) networks are generally referred to as WiMAX networks, an acronym that stands for worldwide interoperability for microwave access, which is a certification mark for products that pass conformity and interoperability tests for the IEEE 802.16 standards. The communication chip 712 may operate in accordance with a Global System for Mobile Communication (GSM) , General Packet Radio Service (GPRS) , Universal Mobile Telecommunications System (UMTS) , High Speed Packet Access (HSPA) , Evolved HSPA (E-HSPA) , or LTE network. The communication chip 712 may operate in accordance with Enhanced Data for GSM Evolution (EDGE) , GSM EDGE Radio Access Network (GERAN) , Universal Terrestrial Radio Access Network (UTRAN) , or Evolved UTRAN (E-UTRAN) . The communication chip 712 may operate in accordance with Code-division Multiple Access (CDMA) , Time Division Multiple Access (TDMA) , Digital Enhanced Cordless Telecommunications (DECT) , Evolution-Data Optimized (EV-DO) , and derivatives thereof, as well as any other wireless protocols that are designated as 3G, 4G, 5G, and beyond. The communication chip 712 may operate in accordance with other wireless protocols in other embodiments. The computing device 700 may include an antenna 722 to facilitate wireless communications and / or to receive other wireless communications (such as AM or FM radio transmissions) .

[0075] In some embodiments, the communication chip 712 may manage wired communications, such as electrical, optical, or any other suitable communication protocols (e.g., the Ethernet) . As noted above, the communication chip 712 may include multiple communication chips. For instance, a first communication chip 712 may be dedicated to shorter-range wireless communications such as Wi-Fi or Bluetooth, and a second communication chip 712 may be dedicated to longer-range wireless communications such as GPS, EDGE, GPRS, CDMA, WiMAX, LTE, EV-DO, or others. In some embodiments, a first communication chip 712 may be dedicated to wireless communications, and a second communication chip 712 may be dedicated to wired communications.

[0076] The computing device 700 may include battery / power circuitry 714. The battery / power circuitry 714 may include one or more energy storage devices (e.g., batteries or capacitors) and / or circuitry for coupling components of the computing device 700 to an energy source separate from the computing device 700 (e.g., AC line power) .

[0077] The computing device 700 may include a display device 706 (or corresponding interface circuitry, as discussed above) . The display device 706 may include any visual indicators, such as a heads-up display, a computer monitor, a projector, a touchscreen display, a liquid crystal display (LCD) , a light-emitting diode display, or a flat panel display, for example.

[0078] The computing device 700 may include an audio output device 708 (or corresponding interface circuitry, as discussed above) . The audio output device 708 may include any device that generates an audible indicator, such as speakers, headsets, or earbuds, for example.

[0079] The computing device 700 may include an audio input device 718 (or corresponding interface circuitry, as discussed above) . The audio input device 718 may include any device that generates a signal representative of a sound, such as microphones, microphone arrays, or digital instruments (e.g., instruments having a musical instrument digital interface (MIDI) output) .

[0080] The computing device 700 may include a GPS device 716 (or corresponding interface circuitry, as discussed above) . The GPS device 716 may be in communication with a satellite-based system and may receive a location of the computing device 700, as known in the art.

[0081] The computing device 700 may include another output device 710 (or corresponding interface circuitry, as discussed above) . Examples of the other output device 710 may include an audio codec, a video codec, a printer, a wired or wireless transmitter for providing information to other devices, or an additional storage device.

[0082] The computing device 700 may include another input device 720 (or corresponding interface circuitry, as discussed above) . Examples of the other input device 720 may include an accelerometer, a gyroscope, a compass, an image capture device, a keyboard, a cursor control device such as a mouse, a stylus, a touchpad, a bar code reader, a Quick Response (QR) code reader, any sensor, or a radio frequency identification (RFID) reader.

[0083] The computing device 700 may have any desired form factor, such as a handheld or mobile computer system (e.g., a cell phone, a smart phone, a mobile internet device, a music player, a tablet computer, a laptop computer, a netbook computer, an ultrabook computer, a personal digital assistant (PDA) , an ultramobile personal computer, etc. ) , a desktop computer system, a server or other networked computing component, a printer, a scanner, a monitor, a set-top box, an entertainment control unit, a vehicle control unit, a digital camera, a digital video recorder, or a wearable computer system. In some embodiments, the computing device 700 may be any other electronic device that processes data.

[0084] The following paragraphs provide various examples of the embodiments disclosed herein.

[0085] Example 1 provides a method, including executing a DNN with an input to predict one or more motion parameters, the one or more motion parameters indicating a speculative movement of an object within a local area; converting the one or more motion parameters to one or more grounded parameters, the one or more grounded parameters indicating an extent of the speculative movement of the object; determining, using the one or more grounded parameters, whether the speculative movement of the object is feasible; and in response to determining that the speculative movement of the object is infeasible, modifying one or more internal parameters of the DNN by training the neural network with the input as a training sample.

[0086] Example 2 provides the method of example 1, further including in response to determining that the speculative movement of the object is feasible, commanding the object to make the speculative movement based on the one or more grounded parameters.

[0087] Example 3 provides the method of example 1 or 2, in which the one or more motion parameters indicate a speculative pose of the object within the local area.

[0088] Example 4 provides the method of any one of examples 1-3, in which the extent of the speculative movement includes a distance to travel or an angle to rotate.

[0089] Example 5 provides the method of any one of examples 1-4, in which determining whether the speculative movement of the object is feasible includes determining whether the object is to collide with another object in the local area during the speculative movement.

[0090] Example 6 provides the method of any one of examples 1-5, in which determining whether the speculative movement of the object is feasible includes determining whether the speculative movement is beyond a threshold movement range of the object.

[0091] Example 7 provides the method of any one of examples 1-6, in which training the neural network includes computing a loss based on the one or more grounded parameters in a forward pass; and modifying the one or more internal parameters of the neural network based on the loss in a backward pass.

[0092] Example 8 provides the method of example 7, in which the one or more grounded parameters are differentiable.

[0093] Example 9 provides the method of any one of examples 1-8, in which the object is a robot.

[0094] Example 10 provides one or more non-transitory computer-readable media storing instructions executable to perform operations, the operations including executing a DNN with an input to predict one or more motion parameters, the one or more motion parameters indicating a speculative movement of an object within a local area; converting the one or more motion parameters to one or more grounded parameters, the one or more grounded parameters indicating an extent of the speculative movement of the object; determining, using the one or more grounded parameters, whether the speculative movement of the object is feasible; and in response to determining that the speculative movement of the object is infeasible, modifying one or more internal parameters of the DNN by training the neural network with the input as a training sample.

[0095] Example 11 provides the one or more non-transitory computer-readable media of example 10, in which the operations further include in response to determining that the speculative movement of the object is feasible, commanding the object to make the speculative movement based on the one or more grounded parameters.

[0096] Example 12 provides the one or more non-transitory computer-readable media of example 10 or 11, in which the one or more motion parameters indicate a speculative pose of the object within the local area.

[0097] Example 13 provides the one or more non-transitory computer-readable media of any one of examples 11-12, in which the extent of the speculative movement includes a distance to travel or an angle to rotate.

[0098] Example 14 provides the one or more non-transitory computer-readable media of any one of examples 11-13, in which determining whether the speculative movement of the object is feasible includes determining whether the object is to collide with another object in the local area during the speculative movement.

[0099] Example 15 provides the one or more non-transitory computer-readable media of any one of examples 10-14, in which determining whether the speculative movement of the object is feasible includes determining whether the speculative movement is beyond a threshold movement range of the object.

[0100] Example 16 provides the one or more non-transitory computer-readable media of any one of examples 10-15, in which training the neural network includes computing a loss based on the one or more grounded parameters in a forward pass; and modifying the one or more internal parameters of the neural network based on the loss in a backward pass.

[0101] Example 17 provides the one or more non-transitory computer-readable media of example 16, in which the one or more grounded parameters are differentiable.

[0102] Example 18 provides the one or more non-transitory computer-readable media of any one of examples 10-17, in which the object is a robot.

[0103] Example 19 provides an apparatus, including a computer processor for executing computer program instructions; and a non-transitory computer-readable memory storing computer program instructions executable by the computer processor to perform operations, the operations including executing a DNN with an input to predict one or more motion parameters, the one or more motion parameters indicating a speculative movement of an object within a local area, converting the one or more motion parameters to one or more grounded parameters, the one or more grounded parameters indicating an extent of the speculative movement of the object, determining, using the one or more grounded parameters, whether the speculative movement of the object is feasible, and in response to determining that the speculative movement of the object is infeasible, modifying one or more internal parameters of the DNN by training the neural network with the input as a training sample.

[0104] Example 20 provides the apparatus of example 19, in which the operations further include in response to determining that the speculative movement of the object is feasible, commanding the object to make the speculative movement based on the one or more grounded parameters.

[0105] Example 21 provides the apparatus of example 19 or 20, in which the one or more motion parameters indicate a speculative pose of the object within the local area.

[0106] Example 22 provides the apparatus of any one of examples 19-21, in which the extent of the speculative movement includes a distance to travel or an angle to rotate.

[0107] Example 23 provides the apparatus of any one of examples 19-22, in which determining whether the speculative movement of the object is feasible includes determining whether the object is to collide with another object in the local area during the speculative movement.

[0108] Example 24 provides the apparatus of any one of examples 19-23, in which determining whether the speculative movement of the object is feasible includes determining whether the speculative movement is beyond a threshold movement range of the object.

[0109] Example 25 provides the apparatus of any one of examples 19-24, in which training the neural network includes computing a loss based on the one or more grounded parameters in a forward pass; and modifying the one or more internal parameters of the neural network based on the loss in a backward pass.

[0110] The above description of illustrated implementations of the disclosure, including what is described in the Abstract, is not intended to be exhaustive or to limit the disclosure to the precise forms disclosed. While specific implementations of, and examples for, the disclosure are described herein for illustrative purposes, various equivalent modifications are possible within the scope of the disclosure, as those skilled in the relevant art can recognize. These modifications may be made to the disclosure in light of the above detailed description.

Claims

1.A method, comprising:executing a neural network with an input to predict one or more motion parameters, the one or more motion parameters indicating a speculative movement of an object within a local area;converting the one or more motion parameters to one or more grounded parameters, the one or more grounded parameters indicating an extent of the speculative movement of the object;determining, using the one or more grounded parameters, whether the speculative movement of the object is feasible; andin response to determining that the speculative movement of the object is infeasible, modifying one or more internal parameters of the neural network by training the neural network with the input as a training sample.2.The method of claim 1, further comprising:in response to determining that the speculative movement of the object is feasible, commanding the object to make the speculative movement based on the one or more grounded parameters.3.The method of claim 1 or 2, wherein the one or more motion parameters indicate a speculative pose of the object within the local area.4.The method of any one of claims 1-3, wherein the extent of the speculative movement includes a distance to travel or an angle to rotate.5.The method of any one of claims 1-4, wherein determining whether the speculative movement of the object is feasible comprises:determining whether the object is to collide with another object in the local area during the speculative movement.6.The method of any one of claims 1-5, wherein determining whether the speculative movement of the object is feasible comprises:determining whether the speculative movement is beyond a threshold movement range of the object.7.The method of any one of claims 1-6, wherein training the neural network comprises:computing a loss based on the one or more grounded parameters in a forward pass; andmodifying the one or more internal parameters of the neural network based on the loss in a backward pass.8.The method of claim 7, wherein the one or more grounded parameters are differentiable.9.The method of any one of claims 1-8, wherein the object is a robot.10.One or more non-transitory computer-readable media storing instructions executable to perform operations, the operations comprising:executing a neural network with an input to predict one or more motion parameters, the one or more motion parameters indicating a speculative movement of an object within a local area;converting the one or more motion parameters to one or more grounded parameters, the one or more grounded parameters indicating an extent of the speculative movement of the object;determining, using the one or more grounded parameters, whether the speculative movement of the object is feasible; andin response to determining that the speculative movement of the object is infeasible, modifying one or more internal parameters of the neural network by training the neural network with the input as a training sample.11.The one or more non-transitory computer-readable media of claim 10, wherein the operations further comprise:in response to determining that the speculative movement of the object is feasible, commanding the object to make the speculative movement based on the one or more grounded parameters.12.The one or more non-transitory computer-readable media of claim 10 or 11, wherein the one or more motion parameters indicate a speculative pose of the object within the local area.13.The one or more non-transitory computer-readable media of any one of claims 11-12, wherein the extent of the speculative movement includes a distance to travel or an angle to rotate.14.The one or more non-transitory computer-readable media of any one of claims 11-13, wherein determining whether the speculative movement of the object is feasible comprises:determining whether the object is to collide with another object in the local area during the speculative movement.15.The one or more non-transitory computer-readable media of any one of claims 10-14, wherein determining whether the speculative movement of the object is feasible comprises:determining whether the speculative movement is beyond a threshold movement range of the object.16.The one or more non-transitory computer-readable media of any one of claims 10-15, wherein training the neural network comprises:computing a loss based on the one or more grounded parameters in a forward pass; andmodifying the one or more internal parameters of the neural network based on the loss in a backward pass.17.The one or more non-transitory computer-readable media of claim 16, wherein the one or more grounded parameters are differentiable.18.The one or more non-transitory computer-readable media of any one of claims 10-17, wherein the object is a robot.19.An apparatus, comprising:a computer processor for executing computer program instructions; anda non-transitory computer-readable memory storing computer program instructions executable by the computer processor to perform operations, the operations comprising:executing a neural network with an input to predict one or more motion parameters, the one or more motion parameters indicating a speculative movement of an object within a local area,converting the one or more motion parameters to one or more grounded parameters, the one or more grounded parameters indicating an extent of the speculative movement of the object,determining, using the one or more grounded parameters, whether the speculative movement of the object is feasible, andin response to determining that the speculative movement of the object is infeasible, modifying one or more internal parameters of the neural network by training the neural network with the input as a training sample.20.The apparatus of claim 19, wherein the operations further comprise:in response to determining that the speculative movement of the object is feasible, commanding the object to make the speculative movement based on the one or more grounded parameters.21.The apparatus of claim 19 or 20, wherein the one or more motion parameters indicate a speculative pose of the object within the local area.22.The apparatus of any one of claims 19-21, wherein the extent of the speculative movement includes a distance to travel or an angle to rotate.23.The apparatus of any one of claims 19-22, wherein determining whether the speculative movement of the object is feasible comprises:determining whether the object is to collide with another object in the local area during the speculative movement.24.The apparatus of any one of claims 19-23, wherein determining whether the speculative movement of the object is feasible comprises:determining whether the speculative movement is beyond a threshold movement range of the object.25.The apparatus of any one of claims 19-24, wherein training the neural network comprises:computing a loss based on the one or more grounded parameters in a forward pass; andmodifying the one or more internal parameters of the neural network based on the loss in a backward pass.