Public Member Functions | Public Attributes | Static Public Attributes
fancy_touch_demo.FancyDemo Class Reference

List of all members.

Public Member Functions

def __init__
def callback_biotacs
def callback_psts
def create_hand_publishers
def ff_pressed
def hand_publish
def lf_pressed
def mf_pressed
def rf_pressed
def th_pressed

Public Attributes

 fingers_pressed_functions
 hand_publishers
 sub_biotacs
 sub_psts

Static Public Attributes

tuple action_running = mutex.mutex()
tuple arm_publisher = rospy.Publisher('/sr_arm/sendupdate', sendupdate)
string controller_type = "_position_controller"
dictionary extended_pos_hand
list start_pos_arm
dictionary start_pos_hand
dictionary thumb_up_pos_hand

Detailed Description

Definition at line 42 of file fancy_touch_demo.py.


Constructor & Destructor Documentation

Definition at line 129 of file fancy_touch_demo.py.


Member Function Documentation

The callback function for the biotacs. Checks if one of the fingers
was pressed (filter the noise). If it is the case, call the
corresponding function.

@msg is the message containing the biotac data

Definition at line 178 of file fancy_touch_demo.py.

def fancy_touch_demo.FancyDemo.callback_psts (   self,
  msg 
)
The callback function for the PSTs. Checks if one of the fingers
was pressed (filter the noise). If it is the case, call the
corresponding function.

@msg is the message containing the biotac data

Definition at line 197 of file fancy_touch_demo.py.

Creates a dictionnary of publishers to send the targets to the controllers
on /sh_??j?_position_controller/command

Definition at line 153 of file fancy_touch_demo.py.

def fancy_touch_demo.FancyDemo.ff_pressed (   self,
  data 
)
The first finger was pressed.

If no action is currently running, we set the ShoulderJRotate
to a negative value proportional to the pressure received.

@param data: the pressure value (pdc)

Definition at line 215 of file fancy_touch_demo.py.

def fancy_touch_demo.FancyDemo.hand_publish (   self,
  pose 
)
Publishes the given pose to the correct controllers for the hand.
The targets are converted in radians.

Definition at line 170 of file fancy_touch_demo.py.

def fancy_touch_demo.FancyDemo.lf_pressed (   self,
  data 
)
The little finger was pressed.

If no action is currently running, we reset the arm and
hand to their starting position

@param data: the pressure value (pdc)

Definition at line 325 of file fancy_touch_demo.py.

def fancy_touch_demo.FancyDemo.mf_pressed (   self,
  data 
)
The middle finger was pressed.

If no action is currently running, we move the arm angles
to a positive value proportional to the pressure received.

@param data: the pressure value (pdc)

Definition at line 260 of file fancy_touch_demo.py.

def fancy_touch_demo.FancyDemo.rf_pressed (   self,
  data 
)
The ring finger was pressed.

If no action is currently running, we make a beep
but don't do anything else.

@param data: the pressure value (pdc)

Definition at line 303 of file fancy_touch_demo.py.

def fancy_touch_demo.FancyDemo.th_pressed (   self,
  data 
)
The thumb was pressed.

If no action is currently running, we send the thumb_up
targets to the hand.

@param data: the pressure value (pdc)

Definition at line 355 of file fancy_touch_demo.py.


Member Data Documentation

tuple fancy_touch_demo.FancyDemo::action_running = mutex.mutex() [static]

Definition at line 127 of file fancy_touch_demo.py.

tuple fancy_touch_demo.FancyDemo::arm_publisher = rospy.Publisher('/sr_arm/sendupdate', sendupdate) [static]

Definition at line 123 of file fancy_touch_demo.py.

string fancy_touch_demo.FancyDemo::controller_type = "_position_controller" [static]

Definition at line 46 of file fancy_touch_demo.py.

Initial value:
{  "THJ1":0,
                           "THJ2":0,
                           "THJ3":0,
                           "THJ4":0,
                           "THJ5":-6,
                           "FFJ0":0,
                           "FFJ3":0,
                           "FFJ4":0,
                           "MFJ0":0,
                           "MFJ3":0,
                           "MFJ4":0,
                           "RFJ0":0,
                           "RFJ3":0,
                           "RFJ4":0,
                           "LFJ0":0,
                           "LFJ3":0,
                           "LFJ4":0,
                           "LFJ5":0,
                           "WRJ1":0,
                           "WRJ2":0 }

Definition at line 70 of file fancy_touch_demo.py.

Definition at line 129 of file fancy_touch_demo.py.

Definition at line 129 of file fancy_touch_demo.py.

Initial value:
[ joint(joint_name = "ElbowJRotate", joint_target = 0),
                      joint(joint_name = "ElbowJSwing", joint_target = 59),
                      joint(joint_name = "ShoulderJRotate", joint_target = 0),
                      joint(joint_name = "ShoulderJSwing", joint_target = 33)
                      ]

Definition at line 114 of file fancy_touch_demo.py.

Initial value:
{ "THJ1":21,
                       "THJ2":25,
                       "THJ3":0,
                       "THJ4":50,
                       "THJ5":-6,
                       "FFJ0":180,
                       "FFJ3":90,
                       "FFJ4":0,
                       "MFJ0":180,
                       "MFJ3":90,
                       "MFJ4":0,
                       "RFJ0":180,
                       "RFJ3":90,
                       "RFJ4":0,
                       "LFJ0":180,
                       "LFJ3":90,
                       "LFJ4":0,
                       "LFJ5":0,
                       "WRJ1":0,
                       "WRJ2":0 }

Definition at line 49 of file fancy_touch_demo.py.

Definition at line 129 of file fancy_touch_demo.py.

Definition at line 129 of file fancy_touch_demo.py.

Initial value:
{  "THJ1":0,
                           "THJ2":0,
                           "THJ3":0,
                           "THJ4":0,
                           "THJ5":0,
                           "FFJ0":180,
                           "FFJ3":90,
                           "FFJ4":0,
                           "MFJ0":180,
                           "MFJ3":90,
                           "MFJ4":0,
                           "RFJ0":180,
                           "RFJ3":90,
                           "RFJ4":0,
                           "LFJ0":180,
                           "LFJ3":90,
                           "LFJ4":0,
                           "LFJ5":0,
                           "WRJ1":0,
                           "WRJ2":10 }

Definition at line 92 of file fancy_touch_demo.py.


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


sr_example
Author(s): Ugo Cupcic
autogenerated on Mon Oct 6 2014 07:49:30