$search
Public Member Functions | |
def | __init__ |
def | check_cartesian_path |
check a Cartesian path for consistent, non-colliding IK solutions start_pose and end_pose are PoseStamped messages with the wrist poses start_angles are angles to try to stay close to num_steps is the number of interpolation steps to use (if 0, use pos_spacing and rot_spacing instead to calculate the number of steps) pos_spacing is max wrist translation in meters between trajectory points rot_spacing is max wrist rotation in radians between trajectory points consistent_angle is the max joint angle change before 2 steps are declared inconsistent collision_check_resolution is the resolution at which to check collisions (0 or 1 for every) steps_before_abort is the number of invalid steps found before aborting (-1 to ignore) if collision_aware is 0, ignore collisions ordered_collision_operations is an optional list of collision operations to feed to IK to modify the collision space link_padding is an optional list of link paddings to feed to IK to modify the robot collision padding IK_robot_state is an optional RobotState message to pass to IK if start_from_end is 1, find an IK solution for the end first and work backwards returns the joint angle trajectory and the error codes (0=good, 1=collisions, 2=inconsistent, 3=out of reach, 4=aborted before checking) | |
def | check_consistent |
check that all differences between angles1 and angles2 (lists of joint angles) are within consistent_range | |
def | check_services_and_get_ik_info |
def | check_state_validity |
check whether a set of joint angles is in collision with the environment allows the same modifications as IK | |
def | draw_pose |
draw a PoseStamped in rviz as a set of arrows (x=red, y=green, z=blue) id is the id number for the x-arrow (y is id+1, z is id+2) | |
def | interpolate_cartesian |
interpolate a Cartesian path (expressed as pos and rot lists) pos_spacing is max wrist translation in meters between trajectory points rot_spacing is max wrist rotation in radians between trajectory points num_steps overrides the number of steps (if != 0, ignore pos_spacing and rot_spacing) | |
def | lists_to_pose_stamped |
convert pos and rot lists (relative to in_frame) to a poseStamped (relative to to_frame) | |
def | normalize_vect |
normalize a vector | |
def | point_stamped_to_list |
convert a pointStamped to a pos list in a desired frame | |
def | pose_stamped_to_lists |
convert a poseStamped to pos and rot (quaternion) lists in a desired frame | |
def | quat_angle |
angle between two quaternions (as lists) | |
def | quaternion_stamped_to_list |
convert a QuaternionStamped to a quat list in a desired frame | |
def | run_fk |
run forward kinematics on a set of 7 joint angles link_name specifies the desired output frame returns a PoseStamped | |
def | run_ik |
run inverse kinematics on a PoseStamped (7-dof pose (position + quaternion orientation) + header specifying the frame of the pose) tries to stay close to double start_angles[7] returns the solution angles as double solution[7] link_name is the link frame to position at pose if collision_aware is 1, runs ik_service_with_collision ordered_collision_operations is a list of collision operations to feed to IK to modify the collision space | |
def | run_query |
get the joint names and limits, and the possible link names for running IK | |
def | trajectory_times_and_vels |
generate appropriate times and joint velocities for a joint path (such as that output by check_cartesian_path) max_joint_vels is a list of maximum velocities to move the arm joints max_joint_accs is a list of maximum accelerations to move the arm joints (can be ignored) starts and ends in stop | |
def | vect_norm |
vector norm of a list | |
def | vector3_stamped_to_list |
convert a Vector3Stamped to a rot list in a desired frame | |
Public Attributes | |
error_code_dict | |
link_name | |
marker_pub | |
perception_running | |
pose_id_set | |
srvroot | |
start_angles_list | |
tf_listener | |
Private Attributes | |
_check_state_validity_service | |
_fk_service | |
_ik_service | |
_ik_service_with_collision | |
_query_service |
Definition at line 60 of file ik_utilities.py.
def interpolated_ik_motion_planner::ik_utilities::IKUtilities::__init__ | ( | self, | ||
whicharm, | ||||
tf_listener = None , |
||||
wait_for_services = 1 | ||||
) |
Definition at line 64 of file ik_utilities.py.
def interpolated_ik_motion_planner::ik_utilities::IKUtilities::check_cartesian_path | ( | self, | ||
start_pose, | ||||
end_pose, | ||||
start_angles, | ||||
pos_spacing = 0.01 , |
||||
rot_spacing = 0.1 , |
||||
consistent_angle = math.pi/9. , |
||||
collision_aware = 1 , |
||||
collision_check_resolution = 1 , |
||||
steps_before_abort = -1 , |
||||
num_steps = 0 , |
||||
ordered_collision_operations = None , |
||||
start_from_end = 0 , |
||||
IK_robot_state = None , |
||||
link_padding = None , |
||||
use_additional_start_angles = 0 | ||||
) |
check a Cartesian path for consistent, non-colliding IK solutions start_pose and end_pose are PoseStamped messages with the wrist poses start_angles are angles to try to stay close to num_steps is the number of interpolation steps to use (if 0, use pos_spacing and rot_spacing instead to calculate the number of steps) pos_spacing is max wrist translation in meters between trajectory points rot_spacing is max wrist rotation in radians between trajectory points consistent_angle is the max joint angle change before 2 steps are declared inconsistent collision_check_resolution is the resolution at which to check collisions (0 or 1 for every) steps_before_abort is the number of invalid steps found before aborting (-1 to ignore) if collision_aware is 0, ignore collisions ordered_collision_operations is an optional list of collision operations to feed to IK to modify the collision space link_padding is an optional list of link paddings to feed to IK to modify the robot collision padding IK_robot_state is an optional RobotState message to pass to IK if start_from_end is 1, find an IK solution for the end first and work backwards returns the joint angle trajectory and the error codes (0=good, 1=collisions, 2=inconsistent, 3=out of reach, 4=aborted before checking)
Definition at line 588 of file ik_utilities.py.
def interpolated_ik_motion_planner::ik_utilities::IKUtilities::check_consistent | ( | self, | ||
angles1, | ||||
angles2, | ||||
consistent_range | ||||
) |
check that all differences between angles1 and angles2 (lists of joint angles) are within consistent_range
Definition at line 480 of file ik_utilities.py.
def interpolated_ik_motion_planner::ik_utilities::IKUtilities::check_services_and_get_ik_info | ( | self | ) |
Definition at line 127 of file ik_utilities.py.
def interpolated_ik_motion_planner::ik_utilities::IKUtilities::check_state_validity | ( | self, | ||
joint_angles, | ||||
ordered_collision_operations = None , |
||||
robot_state = None , |
||||
link_padding = None | ||||
) |
check whether a set of joint angles is in collision with the environment allows the same modifications as IK
Definition at line 288 of file ik_utilities.py.
def interpolated_ik_motion_planner::ik_utilities::IKUtilities::draw_pose | ( | self, | ||
pose_stamped, | ||||
id | ||||
) |
draw a PoseStamped in rviz as a set of arrows (x=red, y=green, z=blue) id is the id number for the x-arrow (y is id+1, z is id+2)
Definition at line 148 of file ik_utilities.py.
def interpolated_ik_motion_planner::ik_utilities::IKUtilities::interpolate_cartesian | ( | self, | ||
start_pos, | ||||
start_rot, | ||||
end_pos, | ||||
end_rot, | ||||
pos_spacing, | ||||
rot_spacing, | ||||
num_steps = 0 | ||||
) |
interpolate a Cartesian path (expressed as pos and rot lists) pos_spacing is max wrist translation in meters between trajectory points rot_spacing is max wrist rotation in radians between trajectory points num_steps overrides the number of steps (if != 0, ignore pos_spacing and rot_spacing)
Definition at line 445 of file ik_utilities.py.
def interpolated_ik_motion_planner::ik_utilities::IKUtilities::lists_to_pose_stamped | ( | self, | ||
pos, | ||||
rot, | ||||
in_frame, | ||||
to_frame | ||||
) |
convert pos and rot lists (relative to in_frame) to a poseStamped (relative to to_frame)
Definition at line 404 of file ik_utilities.py.
def interpolated_ik_motion_planner::ik_utilities::IKUtilities::normalize_vect | ( | self, | ||
vect | ||||
) |
normalize a vector
Definition at line 426 of file ik_utilities.py.
def interpolated_ik_motion_planner::ik_utilities::IKUtilities::point_stamped_to_list | ( | self, | ||
point, | ||||
frame | ||||
) |
convert a pointStamped to a pos list in a desired frame
Definition at line 316 of file ik_utilities.py.
def interpolated_ik_motion_planner::ik_utilities::IKUtilities::pose_stamped_to_lists | ( | self, | ||
pose, | ||||
frame | ||||
) |
convert a poseStamped to pos and rot (quaternion) lists in a desired frame
Definition at line 379 of file ik_utilities.py.
def interpolated_ik_motion_planner::ik_utilities::IKUtilities::quat_angle | ( | self, | ||
quat1, | ||||
quat2 | ||||
) |
angle between two quaternions (as lists)
Definition at line 431 of file ik_utilities.py.
def interpolated_ik_motion_planner::ik_utilities::IKUtilities::quaternion_stamped_to_list | ( | self, | ||
quaternion, | ||||
frame | ||||
) |
convert a QuaternionStamped to a quat list in a desired frame
Definition at line 358 of file ik_utilities.py.
def interpolated_ik_motion_planner::ik_utilities::IKUtilities::run_fk | ( | self, | ||
angles, | ||||
link_name | ||||
) |
run forward kinematics on a set of 7 joint angles link_name specifies the desired output frame returns a PoseStamped
Definition at line 210 of file ik_utilities.py.
def interpolated_ik_motion_planner::ik_utilities::IKUtilities::run_ik | ( | self, | ||
pose_stamped, | ||||
start_angles, | ||||
link_name, | ||||
collision_aware = 1 , |
||||
ordered_collision_operations = None , |
||||
IK_robot_state = None , |
||||
link_padding = None | ||||
) |
run inverse kinematics on a PoseStamped (7-dof pose (position + quaternion orientation) + header specifying the frame of the pose) tries to stay close to double start_angles[7] returns the solution angles as double solution[7] link_name is the link frame to position at pose if collision_aware is 1, runs ik_service_with_collision ordered_collision_operations is a list of collision operations to feed to IK to modify the collision space
Definition at line 241 of file ik_utilities.py.
def interpolated_ik_motion_planner::ik_utilities::IKUtilities::run_query | ( | self | ) |
get the joint names and limits, and the possible link names for running IK
Definition at line 191 of file ik_utilities.py.
def interpolated_ik_motion_planner::ik_utilities::IKUtilities::trajectory_times_and_vels | ( | self, | ||
joint_path, | ||||
max_joint_vels = [.2]*7 , |
||||
max_joint_accs = [.5]*7 | ||||
) |
generate appropriate times and joint velocities for a joint path (such as that output by check_cartesian_path) max_joint_vels is a list of maximum velocities to move the arm joints max_joint_accs is a list of maximum accelerations to move the arm joints (can be ignored) starts and ends in stop
Definition at line 490 of file ik_utilities.py.
def interpolated_ik_motion_planner::ik_utilities::IKUtilities::vect_norm | ( | self, | ||
vect | ||||
) |
vector norm of a list
Definition at line 421 of file ik_utilities.py.
def interpolated_ik_motion_planner::ik_utilities::IKUtilities::vector3_stamped_to_list | ( | self, | ||
vector3, | ||||
frame | ||||
) |
convert a Vector3Stamped to a rot list in a desired frame
Definition at line 337 of file ik_utilities.py.
Definition at line 79 of file ik_utilities.py.
Definition at line 77 of file ik_utilities.py.
Definition at line 73 of file ik_utilities.py.
Definition at line 75 of file ik_utilities.py.
Definition at line 78 of file ik_utilities.py.
Definition at line 94 of file ik_utilities.py.
Definition at line 142 of file ik_utilities.py.
Definition at line 91 of file ik_utilities.py.
Definition at line 71 of file ik_utilities.py.
Definition at line 121 of file ik_utilities.py.
Definition at line 68 of file ik_utilities.py.
Definition at line 105 of file ik_utilities.py.
Definition at line 87 of file ik_utilities.py.