CLAIMS

What is claimed is:

1. A method implemented by one or more processors, comprising:

receiving a set of data points generated based on sensor data from one or more sensors obtained during imitation learning of a robot trajectory, wherein the imitation learning includes physical manipulation of a reference point from an initial point to a target point;

generating a dynamical systems control policy that regulates both robot motion and robot interaction with an environment, wherein generating the dynamical systems control policy comprises:

based on the set of data points, calculating a continuous function that corresponds to the robot trajectory, and

fitting a polynomial vector field to the continuous function using semidefmite programming, wherein the dynamical systems control policy comprises the polynomial vector field; and

controlling a robot based on the dynamical systems control policy.

2. The method of claim 1, further comprising constraining a neighborhood space that contains the set of data points into a contracting region.

3. The method of claim 2, wherein the contracting region comprises a tube around the robot trajectory.

4. The method of claim 1, further comprising:

receiving sensor data indicative of a position of obstacle in Cartesian space;

determining a position of the obstacle in joint space based on the position of the obstacle in Cartesian space;

based on the position of the obstacle in joint space, generating a repulsive polynomial vector field for the obstacle; and

modulating the polynomial vector field of the dynamical systems control policy based on the repulsive polynomial vector field for the obstacle.

5. The method of claim 4, wherein the position of the obstacle in joint space is determined based on a mapping from Cartesian space to joint space.

6. The method of claim 5, wherein the mapping is generated by:

discretizing the joint space of the robot into a plurality of discrete positions;

voxelizing the robot at each of the plurality of discrete positions to generate a mapping from joint space to Cartesian space; and

calculating the mapping from Cartesian space to joint space as an inverse of the mapping from joint space to Cartesian space.

7. The method of claim 6, wherein the discretizing comprising regularly sampling each joint of the robot from a minimum angle to a maximum angle using a predetermined step size.

8. A control system, comprising:

one or more robots;

memory storing instruction; and

one or more processors operable to execute the instructions stored in the

memory, comprising instructions to:

receive a set of data points generated based on sensor data from one or more sensors obtained during imitation learning of a robot trajectory, wherein the imitation learning includes physical manipulation of a reference point from an initial point to a target point;

generate a dynamical systems control policy that regulates both robot motion and robot interaction with an environment, wherein generating the dynamical systems control policy comprises:

based on the set of data points, calculate a continuous function that corresponds to the robot trajectory, and

fit a polynomial vector field to the continuous function using semidefmite

programming, wherein the dynamical systems control policy comprises the polynomial vector field; and

control a robot based on the dynamical systems control policy.

9. The control system of claim 8, further comprising instructions to constrain a neighborhood space that contains the set of data points into a contracting region.

10. The control system of claim 9, wherein the contracting region comprises a tube around the robot trajectory.

11. The control system of claim 8, further comprising instructions to:

receive sensor data indicative of a position of obstacle in Cartesian space;

determine a position of the obstacle in joint space based on the position of the obstacle in Cartesian space;

based on the position of the obstacle in joint space, generate a repulsive polynomial vector field for the obstacle; and

modulate the polynomial vector field of the dynamical systems control policy based on the repulsive polynomial vector field for the obstacle.

12. The control system of claim 11, wherein the position of the obstacle in joint space is determined based on a mapping from Cartesian space to joint space.

13. The control system of claim 12, wherein the mapping is generated by:

discretizing the joint space of the robot into a plurality of discrete positions;

voxelizing the robot at each of the plurality of discrete positions to generate a mapping from joint space to Cartesian space; and

calculating the mapping from Cartesian space to joint space as an inverse of the mapping from joint space to Cartesian space.

14. The control system of claim 13, wherein the discretizing comprising regularly sampling each joint of the robot from a minimum angle to a maximum angle using a

predetermined step size.

15. A computer-readable storage medium comprising instructions that, when executed, cause at least one processor to:

receive a set of data points generated based on sensor data from one or more sensors obtained during imitation learning of a robot trajectory, wherein the imitation learning includes physical manipulation of a reference point from an initial point to a target point;

generate a dynamical systems control policy that regulates both robot motion and robot interaction with an environment, wherein generating the dynamical systems control policy comprises:

based on the set of data points, calculate a continuous function that corresponds to the robot trajectory, and

fit a polynomial vector field to the continuous function using semidefmite

programming, wherein the dynamical systems control policy comprises the polynomial vector field; and

control a robot based on the dynamical systems control policy.

16. The computer-readable storage medium of claim 15, further comprising instructions to constrain a neighborhood space that contains the set of data points into a contracting region.

17. The computer-readable storage medium of claim 16, wherein the contracting region comprises a tube around the robot trajectory.

18. The computer-readable storage medium of claim 15, further comprising instructions to:

receive sensor data indicative of a position of obstacle in Cartesian space;

determine a position of the obstacle in joint space based on the position of the obstacle in Cartesian space;

based on the position of the obstacle in joint space, generate a repulsive polynomial vector field for the obstacle; and

modulate the polynomial vector field of the dynamical systems control policy based on the repulsive polynomial vector field for the obstacle.

19. The computer-readable storage medium of claim 18, wherein the position of the obstacle in joint space is determined based on a mapping from Cartesian space to joint space.

20. The computer-readable storage medium of claim 19, wherein the mapping is generated by:

discretizing the joint space of the robot into a plurality of discrete positions;

voxelizing the robot at each of the plurality of discrete positions to generate a mapping from joint space to Cartesian space; and

calculating the mapping from Cartesian space to joint space as an inverse of the mapping from joint space to Cartesian space.