Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes
fetch_pbd_interaction.arm_target.ArmTarget Class Reference
Inheritance diagram for fetch_pbd_interaction.arm_target.ArmTarget:
Inheritance graph
[legend]

List of all members.

Public Member Functions

def __init__
def add_marker_callbacks
def build_from_json
def change_ref_frame
def check_post_condition
def check_pre_condition
def decrease_id
def execute
def get_absolute_marker_pose
def get_absolute_marker_position
def get_absolute_pose
def get_json
def get_name
def get_number
def get_primitive_number
def get_ref_frame_name
def get_ref_type
def get_relative_pose
def head_busy
def hide_marker
def is_control_visible
def is_object_required
def is_reachable
def is_selected
def marker_visible
def pose_editable
def select
def set_control_visible
def set_name
def set_pose
def set_primitive_number
def show_marker
def update_ref_frames
def update_viz

Private Member Functions

def _add_6dof_marker
def _change_ref_cb
def _change_target_cb
def _convert_ref_frame
def _delete_primitive_cb
def _get_marker_pose
def _get_menu_ref
def _get_menu_ref_id
def _get_menu_ref_name
def _get_mesh_marker_color
def _make_6dof_control
def _make_gripper_marker
def _marker_feedback_cb
def _move_pose_to_cb
def _move_to_cb
def _pose_changed
def _set_new_pose
def _set_ref
def _set_target
def _update_menu
def _update_viz_core

Static Private Member Functions

def _diff
def _get_json_from_arm_state
def _get_json_from_landmark
def _get_json_from_pose
def _get_json_from_pose_stamped
def _get_matrix_from_pose
def _get_pose_from_json
def _get_pose_from_transform
def _get_pose_stamped_from_json
def _make_mesh_marker
def _offset_pose

Private Attributes

 _action_change_cb
 _arm_state
 _color_mesh_reachable
 _color_mesh_unreachable
 _get_most_similar_obj_srv
 _get_object_from_name_srv
 _get_object_list_srv
 _gripper_state
 _im_server
 _is_control_visible
 _landmark_found
 _marker_click_cb
 _marker_delete_cb
 _marker_visible
 _menu_handler
 _name
 _number
 _pose_change_cb
 _reachable
 _robot
 _selected
 _sub_ref_entries
 _tf_listener

Static Private Attributes

 _offset = DEFAULT_OFFSET

Detailed Description

Defines behaviour for ArmTarget primitive. This is for primitives
where the arm moves to a single pose.

Definition at line 94 of file arm_target.py.


Constructor & Destructor Documentation

def fetch_pbd_interaction.arm_target.ArmTarget.__init__ (   self,
  robot,
  tf_listener,
  im_server,
  arm_state = ArmState(),
  gripper_state = None,
  number = None 
)
Args:
    robot (Robot) : interface to lower level robot functionality
    tf_listener (TransformListener)
    im_server (InteractiveMarkerSerever)
    arm_state (ArmState, optional)
    gripper_state (GripperState.OPEN|GripperState.CLOSED, optional)
    number (int, optional): The number of this primitive in the
    action sequence

Definition at line 101 of file arm_target.py.


Member Function Documentation

def fetch_pbd_interaction.arm_target.ArmTarget._add_6dof_marker (   self,
  int_marker,
  is_fixed 
) [private]
Adds a 6 DoF control marker to the interactive marker.

Args:
    int_marker (InteractiveMarker)
    is_fixed (bool): Looks like whether position is fixed (?).
Currently only passed as True.

Definition at line 1071 of file arm_target.py.

def fetch_pbd_interaction.arm_target.ArmTarget._change_ref_cb (   self,
  feedback 
) [private]
Callback for when a reference frame change is requested.

Args:
    feedback (InteractiveMarkerFeedback (?))

Definition at line 1310 of file arm_target.py.

def fetch_pbd_interaction.arm_target.ArmTarget._change_target_cb (   self,
  feedback 
) [private]
Callback for when a reference frame change is requested.

Args:
    feedback (InteractiveMarkerFeedback (?))

Definition at line 1290 of file arm_target.py.

def fetch_pbd_interaction.arm_target.ArmTarget._convert_ref_frame (   self,
  new_landmark 
) [private]
Convert arm_state to be in a different reference frame

    Args:
new_landmark (Landmark)
    Returns:
ArmState

Definition at line 949 of file arm_target.py.

def fetch_pbd_interaction.arm_target.ArmTarget._delete_primitive_cb (   self,
  feedback 
) [private]
Callback for when delete is requested.

Args:
    feedback (InteractiveMarkerFeedback): Unused

Definition at line 1261 of file arm_target.py.

def fetch_pbd_interaction.arm_target.ArmTarget._diff (   float1,
  float2,
  thresh 
) [static, private]
Return true if floats are different by a threshold

Args:
    float1 (float)
    float2 (float)
    thresh (float)

Definition at line 686 of file arm_target.py.

Return json containing data of arm_state

Args:
    arm_state (ArmState)
Returns:
    json (dict)

Definition at line 572 of file arm_target.py.

Return json containing data of landmark

Args:
    landmark (Landmark)
Returns:
    json (dict)

Definition at line 628 of file arm_target.py.

Return json containing data of pose

Args:
    pose (Pose)
Returns:
    json (dict)

Definition at line 605 of file arm_target.py.

Return json containing data of pose_stamped

Args:
    pose_stamped (PoseStamped)
Returns:
    json (dict)

Definition at line 590 of file arm_target.py.

Returns the pose of the primitive.

Returns:
    Pose

Definition at line 988 of file arm_target.py.

Returns the transformation matrix for given pose.

Args:
    pose (PoseStamped)

Returns:
    Matrix3x3

Definition at line 723 of file arm_target.py.

def fetch_pbd_interaction.arm_target.ArmTarget._get_menu_ref (   self,
  target = False 
) [private]
Returns the name string for the reference frame object of the
primitive. 

Returns:
    str|None: Under all normal circumstances, returns the str
reference frame name. Returns None in error.

Definition at line 1360 of file arm_target.py.

def fetch_pbd_interaction.arm_target.ArmTarget._get_menu_ref_id (   self,
  ref_name 
) [private]
Returns the unique menu id from its name or None if the
object is not found.

Args:
    ref_name (str)
Returns:
    int (?)|None

Definition at line 838 of file arm_target.py.

def fetch_pbd_interaction.arm_target.ArmTarget._get_menu_ref_name (   self,
  menu_id 
) [private]
Returns the menu name from its unique menu id.

Args:
    menu_id (int)
Returns:
    str

Definition at line 882 of file arm_target.py.

Gets the color for the mesh marker (thing that looks like a
gripper) for this primitive.

A simple implementation of this will return one color for
reachable poses, another for unreachable ones. Future
implementations may provide further visual cues.

Returns:
    ColorRGBA: The color for the gripper mesh for this arm target.

Definition at line 1184 of file arm_target.py.

Return Pose msg from json

Args:
    json (dict)
Returns:
    Pose

Definition at line 664 of file arm_target.py.

Returns pose for transformation matrix.

Args:
    transform (Matrix3x3): (I think this is the correct type.
See ArmTarget as a reference for how to use.)

Returns:
    Pose

Definition at line 740 of file arm_target.py.

Return PoseStamped msg from json

Args:
    json (dict)
Returns:
    PoseStamped

Definition at line 648 of file arm_target.py.

def fetch_pbd_interaction.arm_target.ArmTarget._make_6dof_control (   self,
  name,
  orientation,
  is_move,
  is_fixed 
) [private]
Creates and returns one component of the 6dof controller.

Args:
    name (str): Name for hte control
    orientation (Quaternion): How the control should be
oriented.
    is_move (bool): Looks like whether the marker moves the
object (?). Currently passed as True for moving markers,
False for rotating ones.
    is_fixed (bool): Looks like whether position is fixed (?).
Currently always passed as True.

Returns:
    InteractiveMarkerControl

Definition at line 1093 of file arm_target.py.

def fetch_pbd_interaction.arm_target.ArmTarget._make_gripper_marker (   self,
  control,
  gripper_state = GripperState.CLOSED 
) [private]
Makes a gripper marker, adds it to control, returns control.

Args:
    control (InteractiveMarkerControl): IM Control we're using.
    is_hand_open (bool, optional): Whether the gripper is open.
Defaults to False (closed).

Returns:
    InteractiveMarkerControl: The passed control.

Definition at line 1200 of file arm_target.py.

Creates and returns a mesh marker.

Returns:
    Marker

Definition at line 758 of file arm_target.py.

def fetch_pbd_interaction.arm_target.ArmTarget._marker_feedback_cb (   self,
  feedback 
) [private]
Callback for when an event occurs on the marker.

Args:
    feedback (InteractiveMarkerFeedback)

Definition at line 1330 of file arm_target.py.

def fetch_pbd_interaction.arm_target.ArmTarget._move_pose_to_cb (   self,
  feedback 
) [private]
Callback for when a pose change to current is requested.

Args:
    feedback (InteractiveMarkerFeedback): Unused

Definition at line 1277 of file arm_target.py.

def fetch_pbd_interaction.arm_target.ArmTarget._move_to_cb (   self,
  feedback 
) [private]
Callback for when moving to a pose is requested.

Args:
    feedback (InteractiveMarkerFeedback): Unused

Definition at line 1269 of file arm_target.py.

def fetch_pbd_interaction.arm_target.ArmTarget._offset_pose (   pose,
  constant = 1 
) [static, private]
Offsets the world pose for visualization.

Args:
    pose (PoseStamped): The pose to offset.
    constant (int, optional): How much to scale the set offset
by (scales ArmTarget._offset). Defaults to 1.

Returns:
    PoseStamped: The offset pose.

Definition at line 700 of file arm_target.py.

def fetch_pbd_interaction.arm_target.ArmTarget._pose_changed (   self,
  new_pose,
  frame_id 
) [private]
Check if marker pose has changed

Args: 
    pose (Pose)

Definition at line 1142 of file arm_target.py.

def fetch_pbd_interaction.arm_target.ArmTarget._set_new_pose (   self,
  new_pose,
  frame_id 
) [private]
Changes the pose of the primitive to new_pose.

Args:
    new_pose (Pose)

Definition at line 1124 of file arm_target.py.

def fetch_pbd_interaction.arm_target.ArmTarget._set_ref (   self,
  new_ref 
) [private]
Changes the reference frame of the primitive to
new_ref_name.

Args:
    new_ref_name

Definition at line 928 of file arm_target.py.

def fetch_pbd_interaction.arm_target.ArmTarget._set_target (   self,
  new_ref 
) [private]
Changes the reference frame of the primitive to
new_ref_name.

Args:
    new_ref_name

Definition at line 912 of file arm_target.py.

Recreates the menu when something has changed.

Definition at line 777 of file arm_target.py.

def fetch_pbd_interaction.arm_target.ArmTarget._update_viz_core (   self,
  check_reachable = True 
) [private]
Updates visualization after a change.

Args:
    check_reachable (bool) : Check reachability of pose before drawing marker

Definition at line 1014 of file arm_target.py.

def fetch_pbd_interaction.arm_target.ArmTarget.add_marker_callbacks (   self,
  click_cb,
  delete_cb,
  pose_change_cb,
  action_change_cb 
)
Adds marker to world

Reimplemented from fetch_pbd_interaction.primitive.Primitive.

Definition at line 227 of file arm_target.py.

Fills out ArmTarget using json from db

Reimplemented from fetch_pbd_interaction.primitive.Primitive.

Definition at line 162 of file arm_target.py.

def fetch_pbd_interaction.arm_target.ArmTarget.change_ref_frame (   self,
  ref_type,
  landmark 
)
Sets new reference frame for primitive

Args:

Reimplemented from fetch_pbd_interaction.primitive.Primitive.

Definition at line 288 of file arm_target.py.

Currently just a placeholder
    Meant to return conditions that need to be met after a
    primitive is executed in order for execution to be a success.
    This could be something like "object must be 0.1m above surface"

    Returns:
None

Reimplemented from fetch_pbd_interaction.primitive.Primitive.

Definition at line 215 of file arm_target.py.

Currently just a placeholder
    Meant to return conditions that need to be met before a
    primitive can be executed. This could be something like
    "There should only be one object" or something.

    Returns:
None

Reimplemented from fetch_pbd_interaction.primitive.Primitive.

Definition at line 197 of file arm_target.py.

Reduces the number of the primitive.

Reimplemented from fetch_pbd_interaction.primitive.Primitive.

Definition at line 513 of file arm_target.py.

Execute this primitive

Returns
    bool : Success of execution

Reimplemented from fetch_pbd_interaction.primitive.Primitive.

Definition at line 426 of file arm_target.py.

Returns the absolute pose of the primitive marker.

Args:
    use_final (bool, optional). Unused

Returns:
    PoseStamped

Reimplemented from fetch_pbd_interaction.primitive.Primitive.

Definition at line 479 of file arm_target.py.

Returns the absolute position of the primitive marker.

Args:
    use_final (bool, optional) : Unused
True.

Returns:
    Point

Reimplemented from fetch_pbd_interaction.primitive.Primitive.

Definition at line 497 of file arm_target.py.

Returns the absolute pose of the primitive.

Args:
    None

Returns:
    PoseStamped

Reimplemented from fetch_pbd_interaction.primitive.Primitive.

Definition at line 461 of file arm_target.py.

Returns json representation of primitive

Reimplemented from fetch_pbd_interaction.primitive.Primitive.

Definition at line 150 of file arm_target.py.

Returns the display name for the primitive.

Returns:
    str: A human-readable unique name for the primitive.

Reimplemented from fetch_pbd_interaction.primitive.Primitive.

Definition at line 525 of file arm_target.py.

Returns number of primitive

Returns:
    int

Reimplemented from fetch_pbd_interaction.primitive.Primitive.

Definition at line 533 of file arm_target.py.

Returns what number this primitive is in the sequence

Returns:
    int

Reimplemented from fetch_pbd_interaction.primitive.Primitive.

Definition at line 395 of file arm_target.py.

Returns the name string for the reference frame object of the
primitive.

Returns:
    str|None: Under all normal circumstances, returns the str
reference frame name. Returns None in error.

Definition at line 306 of file arm_target.py.

Return reference type of primitive

Returns:
    ArmState.ROBOT_BASE, etc

Reimplemented from fetch_pbd_interaction.primitive.Primitive.

Definition at line 559 of file arm_target.py.

def fetch_pbd_interaction.arm_target.ArmTarget.get_relative_pose (   self,
  use_final = True 
)
Returns the relative pose of the primitive.
Args:
    use_final (bool, optional) : Unused
Returns:
    PoseStamped

Reimplemented from fetch_pbd_interaction.primitive.Primitive.

Definition at line 451 of file arm_target.py.

Return true if head busy

Returns:
    bool

Reimplemented from fetch_pbd_interaction.primitive.Primitive.

Definition at line 438 of file arm_target.py.

Removes marker from the world.

Reimplemented from fetch_pbd_interaction.primitive.Primitive.

Definition at line 253 of file arm_target.py.

Check if the marker control is visible

Returns
    bool

Reimplemented from fetch_pbd_interaction.primitive.Primitive.

Definition at line 355 of file arm_target.py.

Check if this primitive requires an object to be present

Returns:
    bool

Reimplemented from fetch_pbd_interaction.primitive.Primitive.

Definition at line 411 of file arm_target.py.

Check if robot can physically reach target

Reimplemented from fetch_pbd_interaction.primitive.Primitive.

Definition at line 446 of file arm_target.py.

Return whether or not primitive is selected

Returns
    bool

Reimplemented from fetch_pbd_interaction.primitive.Primitive.

Definition at line 347 of file arm_target.py.

Return whether or not marker is visible

Returns:
    bool

Reimplemented from fetch_pbd_interaction.primitive.Primitive.

Definition at line 261 of file arm_target.py.

Return whether pose of primitive is editable

Returns:
    bool : True

Reimplemented from fetch_pbd_interaction.primitive.Primitive.

Definition at line 551 of file arm_target.py.

def fetch_pbd_interaction.arm_target.ArmTarget.select (   self,
  is_selected 
)
Set whether primitive is selected or not

Args:
    is_selected (bool)

Reimplemented from fetch_pbd_interaction.primitive.Primitive.

Definition at line 330 of file arm_target.py.

Set visibility of marker controls

Args:
    visible (bool, optional)

Reimplemented from fetch_pbd_interaction.primitive.Primitive.

Definition at line 363 of file arm_target.py.

Sets the display name for the primitive.

Args:
    name (str) : A human-readable unique name for the primitive.

Reimplemented from fetch_pbd_interaction.primitive.Primitive.

Definition at line 517 of file arm_target.py.

Changes the pose of the primitive to new_pose.

Args:
    new_pose (PoseStamped)

Reimplemented from fetch_pbd_interaction.primitive.Primitive.

Definition at line 541 of file arm_target.py.

Sets what number this primitive is in the sequence

Args:
    num (int)

Reimplemented from fetch_pbd_interaction.primitive.Primitive.

Definition at line 403 of file arm_target.py.

Adds marker for primitive

Reimplemented from fetch_pbd_interaction.primitive.Primitive.

Definition at line 238 of file arm_target.py.

Updates and re-assigns coordinate frames when the world changes.

Reimplemented from fetch_pbd_interaction.primitive.Primitive.

Definition at line 269 of file arm_target.py.

def fetch_pbd_interaction.arm_target.ArmTarget.update_viz (   self,
  check_reachable = True 
)
Updates visualization fully.
Args:
    check_reachable (bool) : whether to evaluate reachability
                    before drawing marker

Reimplemented from fetch_pbd_interaction.primitive.Primitive.

Definition at line 371 of file arm_target.py.


Member Data Documentation

Definition at line 110 of file arm_target.py.

Definition at line 110 of file arm_target.py.

Definition at line 110 of file arm_target.py.

Definition at line 110 of file arm_target.py.

Definition at line 110 of file arm_target.py.

Definition at line 110 of file arm_target.py.

Definition at line 110 of file arm_target.py.

Definition at line 110 of file arm_target.py.

Definition at line 110 of file arm_target.py.

Definition at line 110 of file arm_target.py.

Definition at line 110 of file arm_target.py.

Definition at line 110 of file arm_target.py.

Definition at line 110 of file arm_target.py.

Definition at line 110 of file arm_target.py.

Definition at line 110 of file arm_target.py.

Definition at line 110 of file arm_target.py.

Definition at line 110 of file arm_target.py.

Definition at line 99 of file arm_target.py.

Definition at line 110 of file arm_target.py.

Definition at line 110 of file arm_target.py.

Definition at line 110 of file arm_target.py.

Definition at line 110 of file arm_target.py.

Definition at line 110 of file arm_target.py.

Definition at line 110 of file arm_target.py.


The documentation for this class was generated from the following file:


fetch_pbd_interaction
Author(s): Sarah Elliott
autogenerated on Thu Jun 6 2019 18:27:21