Real-time self collision and obstacle avoidance
First Claim
1. A method for avoiding collision of a body segment in an articulated system, the method comprising:
- controlling motion of a body segment towards a target based on a generated joint motion;
constructing a virtual surface surrounding an actual surface of the body segment, the virtual surface comprising a plurality of virtual surface points each located at least a nonzero distance away from a corresponding surface point on an actual surface of the body segment in a direction of a unit normal vector from the surface point;
monitoring a distance between the actual surface and an unconnected structure;
detecting that the unconnected structure penetrates the virtual surface;
determining a collision point on the actual surface of the body segment;
determining a redirected joint motion of the collision point that prevents the unconnected structure from penetrating deeper into the virtual surface; and
redirecting the body segment toward the target based on the redirected joint motion without colliding with the unconnected structure.
1 Assignment
0 Petitions
Accused Products
Abstract
A system, method, and computer program product for avoiding collision of a body segment with unconnected structures in an articulated system are described. A virtual surface is constructed surrounding an actual surface of the body segment. Distances between the body segment and unconnected structures are monitored. Responding to an unconnected structure penetrating the virtual surface, a redirected joint motion that prevents the unconnected structure from penetrating deeper into the virtual surface is determined. The body segment is redirected based on the redirected joint motion to avoid colliding with the unconnected structure.
56 Citations
36 Claims
-
1. A method for avoiding collision of a body segment in an articulated system, the method comprising:
-
controlling motion of a body segment towards a target based on a generated joint motion; constructing a virtual surface surrounding an actual surface of the body segment, the virtual surface comprising a plurality of virtual surface points each located at least a nonzero distance away from a corresponding surface point on an actual surface of the body segment in a direction of a unit normal vector from the surface point; monitoring a distance between the actual surface and an unconnected structure; detecting that the unconnected structure penetrates the virtual surface; determining a collision point on the actual surface of the body segment; determining a redirected joint motion of the collision point that prevents the unconnected structure from penetrating deeper into the virtual surface; and redirecting the body segment toward the target based on the redirected joint motion without colliding with the unconnected structure. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A computer program product for avoiding collision of a body segment in an articulated system, the computer program product comprising a non-transitory computer-readable storage medium containing executable computer program code for performing a method comprising:
-
controlling motion of a body segment towards a target based on a generated joint motion; constructing a virtual surface surrounding an actual surface of the body segment, the virtual surface comprising a plurality of virtual surface points each located at least a nonzero distance away from a corresponding surface point on an actual surface of the body segment in a direction of a unit normal vector from the surface point; monitoring a distance between the actual surface and an unconnected structure; detecting that the unconnected structure penetrates the virtual surface; determining a collision point on the actual surface of the body segment; determining a redirected joint motion of the collision point that prevents the unconnected structure from penetrating deeper into the virtual surface; and redirecting the body segment toward the target based on the redirected joint motion without colliding with the unconnected structure. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A system for avoiding collision of a body segment in an articulated system, the system comprising:
-
a computer processor for executing executable computer program code; a computer-readable storage medium containing the executable computer program code for performing a method comprising; controlling motion of a body segment towards a target based on a generated joint motion; constructing a virtual surface surrounding an actual surface of the body segment, the virtual surface comprising a plurality of virtual surface points each located at least a nonzero distance away from a corresponding surface point on an actual surface of the body segment in a direction of a unit normal vector from the surface point; monitoring a distance between the actual surface and an unconnected structure; detecting that the unconnected structure penetrates the virtual surface; determining a collision point on the actual surface of the body segment; determining a redirected joint motion of the collision point that prevents the unconnected structure from penetrating deeper into the virtual surface; and redirecting the body segment toward the target based on the redirected joint motion without colliding with the unconnected structure. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
Specification