MAGIKS
1.1
Manipulator General Inverse Kinematic Solver
|
Contains properties and methods regarding the PR2 arm joint-space. More...
Public Member Functions | |
def | __init__ |
The Class Constructor: More... | |
def | joint_in_range |
This function is used to check if a given value for specific joint is in its feasibility range. More... | |
def | all_joints_in_range |
This function is used to check if all values of the given joint array are in their feasibility range. More... | |
def | midrange_error |
Use this function to get the midrange error vector. More... | |
def | joint_stepsize_interval |
This function gives an interval for the magnitude of the arm joint angles correction vector. More... | |
def | set_config |
Use this function to set the joint configuration to the given desired values. More... | |
def | closest_config_metric |
protected More... | |
def | objective_function |
Use this function to find the current value of the objective function. More... | |
Public Attributes | |
q | |
A numpy array of size 7 containing the current values of the joints. More... | |
q_dot | |
A numpy array of size 7 containing the current velocities of the joints. More... | |
q_ddot | |
A numpy array of size 7 containing the current accelerations of the joints. More... | |
ql | |
A numpy array of size 7 containing the lower bounds of the arm joints. More... | |
qh | |
A numpy array of size 7 containing the upper bounds of the arm joints. More... | |
qm | |
A numpy array of size 7 containing a set of reference values for the joint angles. More... | |
w | |
A numpy array of size 7 containing the weights of each joint in the objective function. More... | |
c | |
s | |
s1_mult1 | |
protected More... | |
s2_mult1 | |
protected More... | |
s3_mult1 | |
c0_mult | |
c1_mult | |
mid_dist_sq | |
Contains properties and methods regarding the PR2 arm joint-space.
This class has methods and properties for managing the joint-space of a PR2 robot arm. It contains the joint position, velocity and acceleration values and joint limits.
Definition at line 144 of file pr2_arm_kinematics.py.
def __init__ | ( | self, | |
ql = default_ql , |
|||
qh = default_qh , |
|||
W = default_W |
|||
) |
The Class Constructor:
ql | A numpy array of size 7 containing the lower bounds of the arm joints |
qh | A numpy array of size 7 containing the upper bounds of the arm joints |
W | A numpy array of size 7 containing the weights of each joint in the objective function. The joint weights will be used in the optimization of redundancy. If the weight of a joint is 0, the joint is considered as unlimited. This means the value of that joint does not need to be in a specific range. |
Only ql, qh, qm and W can be manipulated by the user.
Definition at line 153 of file pr2_arm_kinematics.py.
def all_joints_in_range | ( | self, | |
qd | |||
) |
This function is used to check if all values of the given joint array are in their feasibility range.
qd | A numpy array of size 7 containing the values to be checked |
Definition at line 220 of file pr2_arm_kinematics.py.
def closest_config_metric | ( | self, | |
q | |||
) |
protected
Definition at line 355 of file pr2_arm_kinematics.py.
def joint_in_range | ( | self, | |
i, | |||
qi | |||
) |
This function is used to check if a given value for specific joint is in its feasibility range.
i | An integer between 0 to 6 specifying the joint number to be checked |
qi | A float parameter specifying the value for the i-th joint |
Definition at line 208 of file pr2_arm_kinematics.py.
def joint_stepsize_interval | ( | self, | |
direction, | |||
max_speed = genmath.infinity , |
|||
dt = 0.001 |
|||
) |
This function gives an interval for the magnitude of the arm joint angles correction vector.
direction | A numpy array of size 7 specifying the direction of change |
max_speed | A float parameter specifying the maximum feasible speed for a joint change. (Set by infinity by default) |
delta_t | The step time in which the change(correction) is to be applied. |
The correction of joints is always restricted by joint limits and maximum feasible joint speed If you want to move the joints in a desired direction, how much are you allowed to move? This function returns a feasible interval for the stepsize in the given direction. The joint direction of change must be multiplied by a scalar value in this range so that the applied changes are feasible.
Definition at line 238 of file pr2_arm_kinematics.py.
def midrange_error | ( | self | ) |
Use this function to get the midrange error vector.
None |
Definition at line 230 of file pr2_arm_kinematics.py.
def objective_function | ( | self | ) |
Use this function to find the current value of the objective function.
None |
Definition at line 368 of file pr2_arm_kinematics.py.
def set_config | ( | self, | |
qd | |||
) |
Use this function to set the joint configuration to the given desired values.
qd | A numpy array of size 7 containing the desired joint values to be set |
This function sets the robot joint configuration to the given "qd" This function should not be called by the end user. Always use function "set_config" in class PR2_ARM()
Definition at line 269 of file pr2_arm_kinematics.py.
c |
Definition at line 286 of file pr2_arm_kinematics.py.
c0_mult |
Definition at line 302 of file pr2_arm_kinematics.py.
c1_mult |
Definition at line 305 of file pr2_arm_kinematics.py.
mid_dist_sq |
Definition at line 369 of file pr2_arm_kinematics.py.
q |
A numpy array of size 7 containing the current values of the joints.
This property should not be manipulated by the user. Use method Set_Config() to change this property. The joints are in the following order: q[0] : Shoulder Pan Joint, q[1] : Shoulder Lift Joint, q[2] : Upper Arm Roll Joint, q[3] : Elbow Flex Joint, q[4] : Forearm Roll Joint, q[5] : Wrist Flex Joint, q[6] : Wrist Roll Joint
Definition at line 165 of file pr2_arm_kinematics.py.
q_ddot |
A numpy array of size 7 containing the current accelerations of the joints.
Definition at line 171 of file pr2_arm_kinematics.py.
q_dot |
A numpy array of size 7 containing the current velocities of the joints.
Definition at line 168 of file pr2_arm_kinematics.py.
qh |
A numpy array of size 7 containing the upper bounds of the arm joints.
Definition at line 177 of file pr2_arm_kinematics.py.
ql |
A numpy array of size 7 containing the lower bounds of the arm joints.
Definition at line 174 of file pr2_arm_kinematics.py.
qm |
A numpy array of size 7 containing a set of reference values for the joint angles.
This parameter can be used as reference joint values for redundancy optimization. The redundancy will be used to set the joints as close as possible to these reference values. This property is by default set as the middle of joint ranges.
Definition at line 184 of file pr2_arm_kinematics.py.
s |
Definition at line 287 of file pr2_arm_kinematics.py.
s1_mult1 |
protected
Definition at line 292 of file pr2_arm_kinematics.py.
s2_mult1 |
protected
Definition at line 296 of file pr2_arm_kinematics.py.
s3_mult1 |
Definition at line 299 of file pr2_arm_kinematics.py.
w |
A numpy array of size 7 containing the weights of each joint in the objective function.
The joint weights will be used in the optimization of redundancy. If the weight of a joint is 0, the joint is considered as unlimited. This means the value of that joint does not need to be in a specific range.
Definition at line 191 of file pr2_arm_kinematics.py.