| CPC G05D 1/0088 (2013.01) [B60W 40/10 (2013.01); G05D 1/0005 (2013.01); G05D 1/0212 (2013.01); G05D 1/0214 (2013.01); G05D 1/0221 (2013.01); G05D 1/0255 (2013.01); G05D 1/0257 (2013.01); G05D 1/0268 (2013.01); G06N 5/04 (2013.01); G06N 20/00 (2019.01); B60W 2710/18 (2013.01); B60W 2710/20 (2013.01); G01C 21/34 (2013.01)] | 23 Claims |

|
1. An apparatus comprising:
a storage for instructions;
a network interface in communication with a machine having one or more autonomous motion capabilities and configured to receive data associated with one or more motion actions of the machine; and
a processor to operate according to the instructions stored in the storage to:
analyze the data associated with the one or more motion actions of the machine, the data comprising a starting position and an ending position corresponding to the one or more motion actions of the machine;
identify a plurality of candidate trajectories for the machine to traverse through an environment based on the analyzing, wherein a candidate trajectory of the plurality of candidate trajectories comprises a plurality of motion actions for the machine;
evaluate a cost of each of the plurality of the candidate trajectories for the machine, wherein evaluating the cost of a candidate trajectory of the plurality of the candidate trajectories comprises:
identifying one or more strategic guidelines that are applicable to movement of the machine in the environment, wherein a strategic guideline corresponds to at least one environmental condition and specifies a target action corresponding to the at least one environmental condition,
comparing motion factors corresponding to each of a plurality of motion actions included in the candidate trajectory to strategic factors specified in the one or more strategic guidelines,
in response to the comparing, determining deviation metrics of the plurality of motion actions from the strategic factors, and
computing the cost of the candidate trajectory by aggregating the deviation metrics;
select a candidate trajectory of the plurality of the candidate trajectories based on evaluating respective costs; and
provide data that causes the machine to move from the starting position to the ending position in accordance with a sequence of motion actions of the selected candidate trajectory.
|