Created on 2016-01-20 @author: Andrew H. Fagg and Bonnie Pope
Karpal control tools.
Crane joint angle position. Elbow up and hand oriented downward.
Grasp ready angle position. Elbow up and forearm and hand oriented horizontally (45 degrees off center).
Park angle position. Arm is in a low-energy state where it is safe to be disabled.
Zero joint angle position
Move arm to a specified joint position.
Parameters: |
|
---|
Calibrate the specified gripper
Parameters: | limb – Side to calibrate. Either ‘left’ or ‘right’ |
---|
Close the specified gripper until a force threshold.
Parameters: | limb – Side to close. Either ‘left’ or ‘right’ |
---|
Compute a hand orientation in which the hand is in the horizontal plane
Parameters: |
|
---|---|
Returns: | Quaternion describing the full orientation |
Compute a hand orientation in which the hand is pointed downwards
Parameters: | orient – Orientation of the hand in the robot coordinate frame (about Z) |
---|---|
Returns: | Quaternion describing the full orientation |
Enable the robot.
Note
The robot’s E-Stop button must be disabled in order for this function to be successful (this is the big red button).
Compute the inverse kinematics solution for a small change in position. The change is specified in the robot base coordinate frame.
Parameters: |
|
---|---|
Returns: | None if no solution is found, or a dictionary that contains information about the chosen solution: the joint angles (joint_angles), the full hand orientation (q), position of the limb (position); and the limb that the solution was computed for (limb). |
Find a viable joint solution for a horizontal reach. A range of acceptable orientations in the horizontal plane is specified; one is selected at random. Multiple attempts are tried at finding a valid inverse kinematics solution (up to nAttemts)
Parameters: |
|
---|---|
Returns: | None if no solution is found, or a dictionary that contains information about the chosen configuration: the solution (joint_angles), the full hand orientation (q), the hand orientation in the horizontal plane (orient); and the limb the solution was computed for (limb). |
Compute the inverse kinematics solution for a small change in position. The change is specified in the hand coordinate frame.
Parameters: |
|
---|---|
Returns: | None if no solution is found, or a dictionary that contains information about the chosen solution: the joint angles (joint_angles), the full hand orientation (q), position of the limb (position); and the limb that the solution was computed for (limb). |
Find a viable joint solution for a vertical reach (from above). A range of acceptable orientations about the vertical axis is specified; one is selected at random. Multiple attempts are tried at finding a valid inverse kinematics solution (up to nAttemts)
Parameters: |
|
---|---|
Returns: | None if no solution is found, or a dictionary that contains information about the chosen configuration: the solution (joint_angles), the full hand orientation (q), the hand orientation in the horizontal plane (orient); and the limb the solution was computed for (limb). |
Get the orientation of the specified hand (base of the hand) in the Baxter’s main coordinate frame.
Parameters: | limb – ‘left’ or ‘right’ |
---|---|
Returns: | A vector containing the unit quaternion |
Get the full pose of the specified limb.
Parameters: | limb – ‘left’ or ‘right’ |
---|---|
Returns: | A dict containing the full pose (keys: ‘position’ and ‘orientation’). |
Get the Cartesian position of the specified hand (base of the hand) in the Baxter’s main coordinate frame. :param limb: ‘left’ or ‘right’ :returns: A vector containing the position (m)
Get the joint configuration of the specified limb.
Parameters: | limb – ‘left’ or ‘right’ |
---|---|
Returns: | A dict of joint angles (rad). |
Get the orientation of the left hand (base of the hand) in the Baxter’s main coordinate frame.
Returns: | A vector containing the unit quaternion |
---|
Get the Cartesian position of the left hand (base of the hand) in the Baxter’s main coordinate frame.
Returns: | A vector containing the position (m) |
---|
Get the orientation of the right hand (base of the hand) in the Baxter’s main coordinate frame.
Returns: | A vector containing the unit quaternion |
---|
Get the Cartesian position of the right hand (base of the hand) in the Baxter’s main coordinate frame.
Returns: | A vector containing the position (m) |
---|
Perform the inverse kinematics given a limb, position and orientation
Parameters: |
|
---|---|
Returns: | None if no solution found, or a dict containing the joint angles that correspond to the goal. |
Move the arm to a Cartesian goal position/orientation
Parameters: |
|
---|---|
Returns: | None if no solution found, or a dict containing the joint angles that correspond to the goal. |
Move specified arm to a joint goal
Parameters: |
|
---|---|
Returns: | The joint angles |
Move the arm along the Z axis of the hand until an obstacle is sensed or a maximum distance is achieved.
Warning
Not all obstacles can be sensed with the distance sensor.
Parameters: |
|
---|---|
Returns: | 2 if successfully reached the obstacle; 1 if the maximum distance has been reached; and 0 False if no solution |
Open the specified gripper to its widest extent
Parameters: | limb – Side to open. Either ‘left’ or ‘right’ |
---|