×

Manipulator joint-limit handling algorithm

  • US 9,205,555 B2
  • Filed: 03/22/2011
  • Issued: 12/08/2015
  • Est. Priority Date: 03/22/2011
  • Status: Active Grant
First Claim
Patent Images

1. A system for controlling a robotic device, the robotic device comprising joints moving an end-effector that operates in an m degrees of freedom task space, the robotic device being driven by n actuators, the system in communications with actuator driver circuitry to control the actuators, the system comprising:

  • a processing unit in communications with the actuator driver circuitry; and

    a memory in communications with the processing unit, the memory comprising program code executable by the processing unit to cause the processing unit to perform the following steps;

    determining if a desired movement command for the robotic device would cause at least a first joint of the n actuated joints to violate a corresponding joint travel limit;

    constructing a modified Jacobian matrix Jmod by removing a matrix column directly from a Jacobian matrix J that is associated with the first joint which would violate the corresponding joint travel limit if the desired movement command is executed, where the Jacobian matrix J is an m×

    n matrix mathematically expressing current positions of the joints;

    constructing a revised movement command for the robotic device by solving the following equation;


    {dot over (q)}mod=Jmod(JmodTW2Jmod)

    1
    JmodTW2{dot over (x)}cmd wherein {dot over (q)}mod is an (n−

    L)×

    1 joint velocity command for joints that are not currently being limited, Jmod is an m×

    (n−

    L) matrix, JmodT is the transpose of Jmod, W is an m×

    m matrix comprising weighting factors to weight respective movements of the n actuated joints, and {dot over (x)}cmd is the desired movement command for the end-effector of the robotic device, where the revised movement command prevents the first joint from violating the corresponding joint travel limit, is not identical to the desired movement command and if submitted to the actuator driver circuitry causes movement of at least a portion of the n actuated joints; and

    utilizing the revised movement command in place of the desired movement command to control the actuator driver circuitry to cause corresponding movement of the robotic device.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×