Robot control for avoiding singular configurations
AssigneeIntrinsic Innovation LLC
InventorSean Alexander Cassero
Life of this patent
Estimating the term…
Abstract
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for avoiding singular configurations of a robot. A singular configuration of the robot is obtained. A location of an end effector of the robot when the robot is in the singular configuration is determined. For each of a plurality of voxels in a workcell, a distance from the voxel to the location of the end effector when the robot is in the singular configuration is computed. A negative potential gradient of the computed distance is computed. Control rules are generated, wherein the control rules, when followed by the robot, offset the trajectory of the robot according to the negative potential gradient.
Claims28
A computer-implemented method comprising:
- obtaining a singular configuration of a robot;
- determining a location of an end effector of the robot when the robot is in the singular configuration;
- for each of a plurality of voxels in a workcell, computing a respective distance from the voxel to the location of the end effector when the robot is in the singular configuration;
- computing a negative potential gradient of the computed distance, wherein a magnitude of the negative potential gradient is inversely proportional to the distance from the singular configuration;
- and
- generating control rules to be followed by the robot, wherein the control rules, when followed by the robot, cause the robot to avoid the singular configuration by offsetting a trajectory of the robot according to the respective negative potential gradients of the voxels through which the robot end effector travels.
A computer-implemented method for controlling a robot at runtime, the method comprising:
- accessing an initial Cartesian trajectory comprising a sequence of initial Cartesian-space poses in Cartesian space;
- for each initial Cartesian-space pose of the sequence:
- computing a modified Cartesian-space pose by enforcing control rules on the initial Cartesian-space pose, wherein enforcing the control rules on the initial Cartesian-space pose comprises offsetting the initial Cartesian-space pose according to a negative potential gradient of a distance from the initial Cartesian-space pose to a location of an end effector of the robot when the robot is in a singular configuration, wherein a magnitude of the negative potential gradient is inversely proportional to the distance;
- and
- computing a joint-space pose in joint space by applying inverse kinematic to the modified Cartesian-space pose;
- and
- controlling the robot according to a joint position trajectory, wherein the joint position trajectory is defined by a sequence of the computed joint-space poses.
A computer-implemented method comprising:
- obtaining a singular configuration of a robot;
- for each of a plurality of hypervoxels in a workcell, computing a respective distance from the hypervoxel to the singular configuration;
- computing a negative potential gradient of the computed distance, wherein a magnitude of the negative potential gradient is inversely proportional to the distance from the hypervoxel to the singular configuration;
- and
- generating control rules to be followed by the robot, wherein the control rules, when followed by the robot, cause the robot to avoid the singular configuration by offsetting a trajectory of the robot according to the respective negative potential gradients of the hypervoxels.
A computer-implemented method for controlling a robot at runtime, the method comprising:
- accessing an initial Cartesian trajectory comprising a sequence of initial Cartesian-space poses in Cartesian space;
- for each initial Cartesian-space pose of the sequence:
- computing an initial joint-space pose in joint space by applying inverse kinematic to the initial Cartesian-space pose;
- and
- computing a modified joint-space pose by enforcing control rules on the initial joint-space pose, wherein enforcing the control rules on the initial joint-space pose comprises offsetting the initial joint-space pose according to a negative potential gradient of a distance from the initial joint-space pose to a singular configuration, wherein a magnitude of the negative potential gradient is inversely proportional to the distance;
- and
- controlling the robot according to a joint position trajectory, wherein the joint position trajectory is defined by a sequence of the computed modified joint-space poses.
A computing system comprising a plurality of computers and one or more storage devices storing instructions that are operable, when executed by the plurality of computers, to cause the plurality of computers perform operations comprising:
- obtaining a singular configuration of a robot;
- determining a location of an end effector of the robot when the robot is in the singular configuration;
- for each of a plurality of voxels in a workcell, computing a respective distance from the voxel to the location of the end effector when the robot is in the singular configuration;
- computing a negative potential gradient of the computed distance, wherein a magnitude of the negative potential gradient is inversely proportional to the distance from the singular configuration;
- and
- generating control rules to be followed by the robot, wherein the control rules, when followed by the robot, cause the robot to avoid the singular configuration by offsetting a trajectory of the robot according to the respective negative potential gradients of the voxels through which the robot end effector travels.
One or more non-transitory computer storage media encoded with computer program instructions that when executed by a distributed system comprising a plurality of computers cause the plurality of computers to perform operations comprising:
- obtaining a singular configuration of a robot;
- determining a location of an end effector of the robot when the robot is in the singular configuration;
- for each of a plurality of voxels in a workcell, computing a respective distance from the voxel to the location of the end effector when the robot is in the singular configuration;
- computing a negative potential gradient of the computed distance, wherein a magnitude of the negative potential gradient is inversely proportional to the distance from the singular configuration;
- and
- generating control rules to be followed by the robot, wherein the control rules, when followed by the robot, cause the robot to avoid the singular configuration by offsetting a trajectory of the robot according to the respective negative potential gradients of the voxels through which the robot end effector travels.
A computing system comprising a plurality of computers and one or more storage devices storing instructions that are operable, when executed by the plurality of computers, to cause the plurality of computers perform operations comprising:
- accessing an initial Cartesian trajectory comprising a sequence of initial Cartesian-space poses in Cartesian space;
- for each initial Cartesian-space pose of the sequence:
- computing a modified Cartesian-space pose by enforcing control rules on the initial Cartesian-space pose, wherein enforcing the control rules on the initial Cartesian-space pose comprises offsetting the initial Cartesian-space pose according to a negative potential gradient of a distance from the initial Cartesian-space pose to a location of an end effector of a robot when the robot is in a singular configuration, wherein a magnitude of the negative potential gradient is inversely proportional to the distance;
- and
- computing a joint-space pose in joint space by applying inverse kinematic to the modified Cartesian-space pose;
- and
- controlling the robot according to a joint position trajectory, wherein the joint position trajectory is defined by a sequence of the computed joint-space poses.
One or more non-transitory computer storage media encoded with computer program instructions that when executed by a distributed system comprising a plurality of computers cause the plurality of computers to perform operations comprising:
- accessing an initial Cartesian trajectory comprising a sequence of initial Cartesian-space poses in Cartesian space;
- for each initial Cartesian-space pose of the sequence:
- computing a modified Cartesian-space pose by enforcing control rules on the initial Cartesian-space pose, wherein enforcing the control rules on the initial Cartesian-space pose comprises offsetting the initial Cartesian-space pose according to a negative potential gradient of a distance from the initial Cartesian-space pose to a location of an end effector of a robot when the robot is in a singular configuration, wherein a magnitude of the negative potential gradient is inversely proportional to the distance;
- and
- computing a joint-space pose in joint space by applying inverse kinematic to the modified Cartesian-space pose;
- and
- controlling the robot according to a joint position trajectory, wherein the joint position trajectory is defined by a sequence of the computed joint-space poses.
A computing system comprising a plurality of computers and one or more storage devices storing instructions that are operable, when executed by the plurality of computers, to cause the plurality of computers perform operations comprising:
- obtaining a singular configuration of a robot;
- for each of a plurality of hypervoxels in a workcell, computing a respective distance from the hypervoxel to the singular configuration;
- computing a negative potential gradient of the computed distance, wherein a magnitude of the negative potential gradient is inversely proportional to the distance from the hypervoxel to the singular configuration;
- and
- generating control rules to be followed by the robot, wherein the control rules, when followed by the robot, cause the robot to avoid the singular configuration by offsetting a trajectory of the robot according to the respective negative potential gradients of the hypervoxels.
One or more non-transitory computer storage media encoded with computer program instructions that when executed by a distributed system comprising a plurality of computers cause the plurality of computers to perform operations comprising:
- obtaining a singular configuration of a robot;
- for each of a plurality of hypervoxels in a workcell, computing a respective distance from the hypervoxel to the singular configuration;
- computing a negative potential gradient of the computed distance, wherein a magnitude of the negative potential gradient is inversely proportional to the distance from the hypervoxel to the singular configuration;
- and
- generating control rules to be followed by the robot, wherein the control rules, when followed by the robot, cause the robot to avoid the singular configuration by offsetting a trajectory of the robot according to the respective negative potential gradients of the hypervoxels.
A computing system comprising a plurality of computers and one or more storage devices storing instructions that are operable, when executed by the plurality of computers, to cause the plurality of computers perform operations comprising:
- accessing an initial Cartesian trajectory comprising a sequence of initial Cartesian-space poses in Cartesian space;
- for each initial Cartesian-space pose of the sequence:
- computing an initial joint-space pose in joint space by applying inverse kinematic to the initial Cartesian-space pose;
- and
- computing a modified joint-space pose by enforcing control rules on the initial joint-space pose, wherein enforcing the control rules on the initial joint-space pose comprises offsetting the initial joint-space pose according to a negative potential gradient of a distance from the initial joint-space pose to a singular configuration, wherein a magnitude of the negative potential gradient is inversely proportional to the distance;
- and
- controlling a robot according to a joint position trajectory, wherein the joint position trajectory is defined by a sequence of the computed modified joint-space poses.
One or more non-transitory computer storage media encoded with computer program instructions that when executed by a distributed system comprising a plurality of computers cause the plurality of computers to perform operations comprising:
- accessing an initial Cartesian trajectory comprising a sequence of initial Cartesian-space poses in Cartesian space;
- for each initial Cartesian-space pose of the sequence:
- computing an initial joint-space pose in joint space by applying inverse kinematic to the initial Cartesian-space pose;
- and
- computing a modified joint-space pose by enforcing control rules on the initial joint-space pose, wherein enforcing the control rules on the initial joint-space pose comprises offsetting the initial joint-space pose according to a negative potential gradient of a distance from the initial joint-space pose to a singular configuration, wherein a magnitude of the negative potential gradient is inversely proportional to the distance;
- and
- controlling a robot according to a joint position trajectory, wherein the joint position trajectory is defined by a sequence of the computed modified joint-space poses.
Dependencies are inferred from the claim text.