$search

articulate_cart_server::articulateCartServer Class Reference

Inheritance diagram for articulate_cart_server::articulateCartServer:
Inheritance graph
[legend]

List of all members.

Public Member Functions

def __init__
def euler_list_to_pose_msg
def get_l_drift_twist
def get_rel_pose
def get_tf_transform
def get_transform_param
def get_twist_SSE
def interpolate_pose_tup
def interpolate_twist_tup
def pose_msg_to_euler_list
def pose_tup_to_euler_list
def pose_tup_to_matrix
def pose_tup_to_msg
def set_new_pose
def set_transform_param
def twist_msg_to_tup
def twist_tup_to_msg

Public Attributes

 invalid_pose_pub
 Publisher for when when an invalid pose is received.

Static Public Attributes

float errthresh = 0.02

Private Member Functions

def _active_cb
def _check_cart_pose
def _fake_twist_controller
def _fake_twist_goal_cb
def _initialize_poses
def _initialize_ros_coms
def _l_arm_err_cb
def _pose_command_action
def _posture_loop
def _r_arm_err_cb

Private Attributes

 _active
 Attach to all topics and services.
 _active_pub
 _active_sub
 _cart_t_max
 _cart_t_min
 _cart_x_max
 _cart_x_min
 Load cart workspace constraints from parameter server.
 _cart_y_max
 _cart_y_min
 _fake_twist_loop_started
 _goal_sub
 subscriber for goal topic
 _l_arm_err_lock
 _l_arm_err_twist
 _l_arm_pose_pub
 _l_arm_SSE
 _l_arm_sub
 _l_arm_twist_pub
 _l_posture_pub
 _l_xfm
 _last_twist_req
 _last_warn_infeasible
 _pose_mutex
 Mutex for pose-related members {_cart_pose_tup, _cart_pose_msg, _pose_resp, _twist_req, _cart_pose_euler}.
 _postures
 Hard-code a set of arm postures.
 _r_arm_err_lock
 _r_arm_err_twist
 _r_arm_pose_pub
 publisher for arm cartesian pose/twist controller
 _r_arm_SSE
 _r_arm_sub
 subscriber for arm state errors
 _r_arm_twist_pub
 _r_posture_pub
 Publishers for teleop_controllers' posture topics.
 _r_xfm
 _tf_object_name
 _tl
 _twist_req

Static Private Attributes

tuple _l_arm_err_twist = Twist()
int _l_arm_SSE = 0
tuple _r_arm_err_twist = Twist()
int _r_arm_SSE = 0

Detailed Description

A server for manipulating a cart being grasped by the grippers
of the pr2.  Uses manipulation_transforms to compute gripper poses satisfying
incoming goal requests.  Goals for the cart pose are specified in the
base_footprint frame.  manipulation_transforms is used to map this goal to
gripper poses in the base_footprint frame, which are then written
to the goal topics for teleop_controllers (make sure to specify base_footprint
as the frame_id rather than torso_lift_link).
Accepts goals as PoseStamped messages, and issues PoseStamped messages
to the arms.

Definition at line 51 of file articulate_cart_server.py.


Member Function Documentation

def articulate_cart_server::articulateCartServer::__init__ (   self,
  tf_object_name 
)
Parameters:
tf_object_name,: if non-empty, attempt to lookup object initial pose on tf with given frame name, and re-initialize manipulation_transforms

Definition at line 73 of file articulate_cart_server.py.

def articulate_cart_server::articulateCartServer::_active_cb (   self,
  msg 
) [private]

Definition at line 139 of file articulate_cart_server.py.

def articulate_cart_server::articulateCartServer::_check_cart_pose (   self,
  pose 
) [private]
Returns true if pose is reachable given workspace constraints of cart

Definition at line 470 of file articulate_cart_server.py.

def articulate_cart_server::articulateCartServer::_fake_twist_controller (   self,
  r = 20,
  recovery_horizon = 5 
) [private]
Simulates the twist applied to the object, and updates the gripper poses accordingly.

Definition at line 240 of file articulate_cart_server.py.

def articulate_cart_server::articulateCartServer::_fake_twist_goal_cb (   self,
  msg 
) [private]
An alternative callback for twist messages that spawns an internal controller to simulate
the object twist action using pose commands

Definition at line 199 of file articulate_cart_server.py.

def articulate_cart_server::articulateCartServer::_initialize_poses (   self  )  [private]

Definition at line 176 of file articulate_cart_server.py.

def articulate_cart_server::articulateCartServer::_initialize_ros_coms (   self  )  [private]

Definition at line 151 of file articulate_cart_server.py.

def articulate_cart_server::articulateCartServer::_l_arm_err_cb (   self,
  twist 
) [private]

Definition at line 226 of file articulate_cart_server.py.

def articulate_cart_server::articulateCartServer::_pose_command_action (   self,
  r_desired,
  l_desired 
) [private]
Send the target effector poses to the arm control topics
Assumes that self._pose_resp is up-to-date

Definition at line 311 of file articulate_cart_server.py.

def articulate_cart_server::articulateCartServer::_posture_loop (   self,
  r_posture,
  l_posture 
) [private]
Send updates to the posture topic every ROS second 

Definition at line 232 of file articulate_cart_server.py.

def articulate_cart_server::articulateCartServer::_r_arm_err_cb (   self,
  twist 
) [private]

Definition at line 220 of file articulate_cart_server.py.

def articulate_cart_server::articulateCartServer::euler_list_to_pose_msg (   self,
  euler_pose 
)
convert to pose represented as a list [[vector],[euler angles]] to a Pose msg

Definition at line 392 of file articulate_cart_server.py.

def articulate_cart_server::articulateCartServer::get_l_drift_twist (   self  ) 
Uses pose call to solver to compute error at left gripper, and returns as twist

Definition at line 435 of file articulate_cart_server.py.

def articulate_cart_server::articulateCartServer::get_rel_pose (   self,
  p1,
  p2 
)
Compute relative pose of p2 in frame of p1 (4x4 numpy arrays)

Definition at line 371 of file articulate_cart_server.py.

def articulate_cart_server::articulateCartServer::get_tf_transform (   self,
  ref_frame,
  target_frame 
)
An exception-handling method for querying a transform from tf

Definition at line 426 of file articulate_cart_server.py.

def articulate_cart_server::articulateCartServer::get_transform_param (   self,
  name 
)
Returns the named transform as a pose tuple

Arguments:
- `name`: string matching a pose on the param server

Definition at line 331 of file articulate_cart_server.py.

def articulate_cart_server::articulateCartServer::get_twist_SSE (   self,
  twist 
)

Definition at line 462 of file articulate_cart_server.py.

def articulate_cart_server::articulateCartServer::interpolate_pose_tup (   self,
  p1,
  p2,
  blend = 0.5 
)
Returns weighted interpolation of two pose tuples ((vector), (quaternion))

Definition at line 414 of file articulate_cart_server.py.

def articulate_cart_server::articulateCartServer::interpolate_twist_tup (   self,
  t1,
  t2,
  blend = 0.5 
)
Returns a weighted average of two twist tuples ((linear), (angular))

Definition at line 420 of file articulate_cart_server.py.

def articulate_cart_server::articulateCartServer::pose_msg_to_euler_list (   self,
  Pose 
)
Returns a list representation of Pose [[vector],[euler angles]]

Definition at line 383 of file articulate_cart_server.py.

def articulate_cart_server::articulateCartServer::pose_tup_to_euler_list (   self,
  position,
  orientation 
)
Returns a list representation of Pose [[vector],[euler angles]]

Definition at line 375 of file articulate_cart_server.py.

def articulate_cart_server::articulateCartServer::pose_tup_to_matrix (   self,
  tup 
)
Returns a numpy 4x4 transform array from a pose provided in a tuple ((vector), (quaternion))

Definition at line 351 of file articulate_cart_server.py.

def articulate_cart_server::articulateCartServer::pose_tup_to_msg (   self,
  tup 
)
Returns Pose message assembled from tf query tuple 

Definition at line 359 of file articulate_cart_server.py.

def articulate_cart_server::articulateCartServer::set_new_pose (   self,
  p 
)

Definition at line 304 of file articulate_cart_server.py.

def articulate_cart_server::articulateCartServer::set_transform_param (   self,
  name,
  pose_tup 
)
Sets the provided transform param tuple on the paramater server in "cart format"

Arguments:
- `pose_tup`: a tuple containing ((trans),(rot))
- `name`: a string to set

Definition at line 342 of file articulate_cart_server.py.

def articulate_cart_server::articulateCartServer::twist_msg_to_tup (   self,
  msg 
)
Returns a twist tuple ((linear), (angular)) from parameters in a Twist message 

Definition at line 398 of file articulate_cart_server.py.

def articulate_cart_server::articulateCartServer::twist_tup_to_msg (   self,
  tup 
)
Returns a Twist message from parameters in a tuple ((linear), (angular))

Definition at line 403 of file articulate_cart_server.py.


Member Data Documentation

Attach to all topics and services.

Definition at line 122 of file articulate_cart_server.py.

Definition at line 125 of file articulate_cart_server.py.

Definition at line 123 of file articulate_cart_server.py.

Definition at line 98 of file articulate_cart_server.py.

Definition at line 97 of file articulate_cart_server.py.

Definition at line 94 of file articulate_cart_server.py.

Load cart workspace constraints from parameter server.

Definition at line 93 of file articulate_cart_server.py.

Definition at line 96 of file articulate_cart_server.py.

Definition at line 95 of file articulate_cart_server.py.

Definition at line 80 of file articulate_cart_server.py.

subscriber for goal topic

Definition at line 153 of file articulate_cart_server.py.

Definition at line 173 of file articulate_cart_server.py.

Definition at line 228 of file articulate_cart_server.py.

Definition at line 67 of file articulate_cart_server.py.

Definition at line 158 of file articulate_cart_server.py.

Definition at line 229 of file articulate_cart_server.py.

Definition at line 65 of file articulate_cart_server.py.

Definition at line 171 of file articulate_cart_server.py.

Definition at line 160 of file articulate_cart_server.py.

Definition at line 164 of file articulate_cart_server.py.

Definition at line 90 of file articulate_cart_server.py.

Definition at line 87 of file articulate_cart_server.py.

Definition at line 82 of file articulate_cart_server.py.

Mutex for pose-related members {_cart_pose_tup, _cart_pose_msg, _pose_resp, _twist_req, _cart_pose_euler}.

Definition at line 85 of file articulate_cart_server.py.

Hard-code a set of arm postures.

Definition at line 101 of file articulate_cart_server.py.

Definition at line 172 of file articulate_cart_server.py.

Definition at line 222 of file articulate_cart_server.py.

Definition at line 66 of file articulate_cart_server.py.

publisher for arm cartesian pose/twist controller

Definition at line 157 of file articulate_cart_server.py.

Definition at line 223 of file articulate_cart_server.py.

Definition at line 64 of file articulate_cart_server.py.

subscriber for arm state errors

Definition at line 170 of file articulate_cart_server.py.

Definition at line 159 of file articulate_cart_server.py.

Publishers for teleop_controllers' posture topics.

Definition at line 163 of file articulate_cart_server.py.

Definition at line 89 of file articulate_cart_server.py.

Definition at line 74 of file articulate_cart_server.py.

Definition at line 77 of file articulate_cart_server.py.

Definition at line 212 of file articulate_cart_server.py.

Definition at line 68 of file articulate_cart_server.py.

Publisher for when when an invalid pose is received.

Definition at line 167 of file articulate_cart_server.py.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Properties Friends


articulate_cart
Author(s): Jonathan Scholz
autogenerated on Fri Mar 1 14:44:04 2013