Public Member Functions | Public Attributes | List of all members
pyHand_api.pyHand Class Reference

Public Member Functions

def __init__ (self, port='/dev/pcan32')
 
def can_init (self)
 
def can_reset (self)
 
def can_status (self)
 
def can_uninit (self)
 
def check_error (self, connection, result, location_of_error)
 
def clean_read_buffer (self)
 
def close_all (self)
 
def close_finger (self, puckID, autowait=True)
 
def close_finger_step (self, puckID, step=-1, autowait=True)
 
def close_grasp (self)
 
def close_grasp_step (self, step=0)
 
def close_spread (self)
 
def close_spread_step (self, step=-1)
 
def deg_to_enc (self, deg)
 
def detect_breakaway (self, finger)
 
def done_moving (self, motors_to_check=ALL_FINGERS)
 
def enc_to_deg (self, enc)
 
def enc_to_per (self, enc)
 
def enc_to_rad (self, enc, type=BASE_TYPE)
 
def enum (self)
 
def get_16 (self, msgID, propID)
 
def get_32 (self, msgID, propID)
 
def get_fts (self)
 
def get_full_pos_packet (msgID)
 
def get_full_tact (self, msgID)
 
def get_mode (self, msgID)
 
def get_packed_position (self, msgID)
 
def get_position (self, msgID, depth=0)
 
def get_prop_quick (self, msgID, propID, speed)
 
def get_property (self, msgID, propID)
 
def get_role (self, msgID)
 
def get_strain (self, msgID)
 
def get_tact (self, msgID, topOrFull="TOP10")
 
def get_temp (self, msgID)
 
def get_therm (self, msgID)
 
def get_top_tact (self, msgID)
 
def get_velocity (self, msgID)
 
def init_finger (self, msgID)
 
def init_hand (self)
 
def initialize (self)
 
def initialize_fts (self)
 
def load_property (self, msgID, propID)
 
def move (self)
 
def move_grasp (self, position=-1)
 
def move_to (self, puckID, target, autowait=True)
 
def new_temp_mail (self, fingers_to_change)
 
def onescomp (self, binstr)
 
def open_all (self)
 
def open_finger (self, puckID, autowait=True)
 
def open_finger_step (self, puckID, step=-1, autowait=True)
 
def open_grasp (self)
 
def open_grasp_step (self, step=0)
 
def open_spread (self)
 
def open_spread_step (self, step=-1)
 
def per_to_enc (self, per)
 
def process_can_messages (self)
 
def process_force (self, msg)
 
def process_full_tact (self, msg)
 
def process_motor_temp (self, msg)
 
def process_motor_therm (self, msg)
 
def process_packed_position (self, msg)
 
def process_strain (self, msg)
 
def process_tactile_data (self, data_array)
 
def process_torque (self, msg)
 
def rad_to_enc (self, rad, type=BASE_TYPE)
 
def read_full_force_torque (self)
 
def read_full_tact (self, msgID)
 
def read_msg (self)
 
def read_msg_resilient (self, expect_puck, expect_prop, max_recurse=10, counter=0)
 
def read_packed_position (self, msgID)
 
def read_strain (self, msgID)
 
def read_temp (self, msgID)
 
def read_therm (self, msgID)
 
def revert_temp_mail (self, fingers_to_change, former)
 
def save_property (self, msgID, propID)
 
def send_msg (self, msgID, data)
 
def set_16 (self, msgID, propID, value)
 
def set_32 (self, msgID, propID, value)
 
def set_hand_targets (self, f1_target, f2_target, f3_target, sp_target)
 
def set_mode (self, msgID, value)
 
def set_property (self, msgID, propID, value)
 
def set_puck_like (self, puckID, virtID)
 
def set_velocity (self, puckID, velocity)
 
def tare_fts (self)
 
def twoscomp (self, number)
 
def twoscomp2 (self, number, bits)
 
def wait_done_moving (self, motors_to_check=ALL_FINGERS)
 
def write_msg (self, msgID, data, delay=.002)
 

Public Attributes

 ft_sensor
 
 motor_positions
 
 PCAN
 
 strain
 
 tactile_sensor
 
 temp
 

Detailed Description

Definition at line 100 of file pyHand_api.py.

Constructor & Destructor Documentation

def pyHand_api.pyHand.__init__ (   self,
  port = '/dev/pcan32' 
)
Creates a PCANBasic object

        @param port: CAN port used to communicate with the hand
        @type connection: string

Definition at line 102 of file pyHand_api.py.

Member Function Documentation

def pyHand_api.pyHand.can_init (   self)
Initializes the CAN connection. Note that this does not initialize the hand itself.

Definition at line 176 of file pyHand_api.py.

def pyHand_api.pyHand.can_reset (   self)
Resets the CAN connection.
Note that this may cause a loss of data, but may also clear unwanted data. Utilize as needed.

Definition at line 154 of file pyHand_api.py.

def pyHand_api.pyHand.can_status (   self)
Returns the status of the CAN connection as specified in PCANBasic's GetStatus method.

Definition at line 168 of file pyHand_api.py.

def pyHand_api.pyHand.can_uninit (   self)
Uninitializes the CAN connection. Rarely used.

Definition at line 185 of file pyHand_api.py.

def pyHand_api.pyHand.check_error (   self,
  connection,
  result,
  location_of_error 
)
Checks error on the CAN Bus.

        @param connection: The connection on which the CAN is talking. For example, PCANBasic()
        @type connection: PCANBasic
        @param result: The number corresponding to the error returned.
        @type resulr: int
        @param location_of_error: A description of where the error occurred.
        @type location_of_error: str

Definition at line 122 of file pyHand_api.py.

def pyHand_api.pyHand.clean_read_buffer (   self)

Definition at line 1699 of file pyHand_api.py.

def pyHand_api.pyHand.close_all (   self)
Closes every finger at once. Mainly for use in DEMO. WARNING: can be dangerous because it may cause fingers to collide if the hand is in an unknown position.

Definition at line 918 of file pyHand_api.py.

def pyHand_api.pyHand.close_finger (   self,
  puckID,
  autowait = True 
)
Close finger and wait for completion.

@param puckID: Finger to be closed.
@type puckID: int
@param autowait: calls wait_done_moving if True. Defaults to True.
@type autowait: bool

Definition at line 865 of file pyHand_api.py.

def pyHand_api.pyHand.close_finger_step (   self,
  puckID,
  step = -1,
  autowait = True 
)
Close finger by input decrement.

        @param puckID: Finger to be closed.
        @type puckID: int
        @param step: size of decrement in encoder counts. Defaults to -1.
        @type step: int
        @param autowait: calls wait_done_moving if True. Defaults to True.
        @type autowait: bool

Definition at line 998 of file pyHand_api.py.

def pyHand_api.pyHand.close_grasp (   self)
Closes all fingers to the position encoded by Close Target (CT).

Definition at line 811 of file pyHand_api.py.

def pyHand_api.pyHand.close_grasp_step (   self,
  step = 0 
)
Close grasp by input decrement.

        @param step: size of decrement in encoder counts. Defaults to 0.
        @type step: int

Definition at line 946 of file pyHand_api.py.

def pyHand_api.pyHand.close_spread (   self)
Close spread to position determined by Close Target (CT).

Definition at line 841 of file pyHand_api.py.

def pyHand_api.pyHand.close_spread_step (   self,
  step = -1 
)
Close spread by input decrement.

        @param step: size of decrement in encoder counts. Defaults to -1.
        @type step: int 

Definition at line 969 of file pyHand_api.py.

def pyHand_api.pyHand.deg_to_enc (   self,
  deg 
)
Given a degree measure of an angle, return it in encoder counts.

        @param deg: Degrees
        @type deg: float
        @return: Encoder counts
        @rtype: int

Definition at line 1686 of file pyHand_api.py.

def pyHand_api.pyHand.detect_breakaway (   self,
  finger 
)
        @return: True if the finger has broken away, False if it hasn't

Definition at line 780 of file pyHand_api.py.

def pyHand_api.pyHand.done_moving (   self,
  motors_to_check = ALL_FINGERS 
)
Checks a given list of motors once to see if they have stopped moving, and if so, it returns true

        @param motors_to_check: A list of motors to check.
        @type motors_to_check: Array[*int]
        @rtype: bool
        @return: Whether or not the motors are done moving.

Definition at line 755 of file pyHand_api.py.

def pyHand_api.pyHand.enc_to_deg (   self,
  enc 
)
Given an angle in encoder counts, return the degree measure of the angle that represents.

        @param enc: Encoder counts.
        @type enc: int
        @return: Degrees
        @rtype: float

Definition at line 1639 of file pyHand_api.py.

def pyHand_api.pyHand.enc_to_per (   self,
  enc 
)
Given an angle in encoder counts, return the percentage of the angle that represents.

        @param enc: Encoder counts.
        @type enc: int
        @return: Percentage
        @rtype: float

Definition at line 1604 of file pyHand_api.py.

def pyHand_api.pyHand.enc_to_rad (   self,
  enc,
  type = BASE_TYPE 
)
Given an angle in encoder counts, return the radian measure of the angle that represents.

        @param enc: Encoder counts.
        @type enc: int
        @return: Radians
        @rtype: float

Definition at line 1616 of file pyHand_api.py.

def pyHand_api.pyHand.enum (   self)
Finds and returns all of the pucks that are attached to the bus.

        @rtype: Array[]
        @return: An array containing the pucks attached to the bus.

Definition at line 138 of file pyHand_api.py.

def pyHand_api.pyHand.get_16 (   self,
  msgID,
  propID 
)
Gets a 16 bit property. Please use get_property instead of this method where applicable.

        @param msgID: The puck whose property will be read from.
        @type msgID: int
        @param propID: The property be read from.
        @type propID: int
        @rtype: int
        @return: The value held in the property.

Definition at line 421 of file pyHand_api.py.

def pyHand_api.pyHand.get_32 (   self,
  msgID,
  propID 
)
Gets a 32 bit property. Please use get_property instead of this method where applicable.

        @param msgID: The puck whose property will be read from.
        @type msgID: int
        @param propID: The property be read from.
        @type propID: int
        @rtype: int
        @return: The value held in the property.

Definition at line 401 of file pyHand_api.py.

def pyHand_api.pyHand.get_fts (   self)
    Returns the FTS values

Definition at line 1585 of file pyHand_api.py.

def pyHand_api.pyHand.get_full_pos_packet (   msgID)

Definition at line 1017 of file pyHand_api.py.

def pyHand_api.pyHand.get_full_tact (   self,
  msgID 
)
Unpack all tactile sensor values in an array.

        @param msgID: The puck or group to get full tactile array sensor data.
        @type msgID: int
        @rtype: Array[*data]
        @return: An array containing the tactile data from a given puck.
self.set_property(msgID, TACT, TACT_FULL) 
#self.write_msg(msgID, [TACT])
output = [0,0,0,0,0]
read_result = self.PCAN.Read(PCAN_USBBUS1)
self.check_error(self.PCAN,read_result[0],"reading full tactile data")
read_result2 = self.PCAN.Read(PCAN_USBBUS1)
self.check_error(self.PCAN,read_result2[0],"reading full tactile data")
read_result3 = self.PCAN.Read(PCAN_USBBUS1)
self.check_error(self.PCAN,read_result3[0],"reading full tactile data")
read_result4 = self.PCAN.Read(PCAN_USBBUS1)
self.check_error(self.PCAN,read_result4[0],"reading full tactile data")
read_result5 = self.PCAN.Read(PCAN_USBBUS1)
self.check_error(self.PCAN,read_result5[0],"reading full tactile data")

output[0] = read_result[1].DATA
output[1] = read_result2[1].DATA
output[2] = read_result3[1].DATA
output[3] = read_result4[1].DATA
output[4] = read_result5[1].DATA

#print 'Init: ID1 = %x,  ID2 = %x,  ID3 = %x,  ID4 = %x,  ID5 = %x'%(read_result[1].ID, read_result2[1].ID, read_result3[1].ID, read_result4[1].ID, read_result5[1].ID)
tactileVals = range(0,24)
index_ = 0
for data in output:
        index_ = int(data[0]/16) * 5
        #print 'index = %d, data[0] = %x'%(index_, data[0])
        # Get the bits and then unpack them.
        tactileVals[index_ + 0] = round(((data[0]%0x10)*0x100 + data[1])/256.0,2)
        tactileVals[index_ + 1] = round((data[2]*0x10 + int(data[3]/0x10))/256.0,2)
        tactileVals[index_ + 2] = round(((data[3]%0x10)*0x100 + data[4])/256.0,2)
        tactileVals[index_ + 3] = round((data[5]*0x10 + int(data[6]/0x10))/256.0,2)
        if index_ != 20:
tactileVals[index_ + 4] = round(((data[6]%0x10)*0x100 + data[7])/256.0,2)
#print 'Return OK : %s'%(tactileVals)
return tactileVals

Definition at line 1141 of file pyHand_api.py.

def pyHand_api.pyHand.get_mode (   self,
  msgID 
)
Read from MODE property, and return a tuple with the number corresponding to the mode, along with
the string name of the mode.

        @param msgID: The puck from which to get the mode.
        @type msgID: int
        @rtype: Tuple(int, str)
        @return: A tuple with the number and name of the mode.

Definition at line 546 of file pyHand_api.py.

def pyHand_api.pyHand.get_packed_position (   self,
  msgID 
)
Get packed position data and return both P and JP.

        @param msgID: The puck or group to get position data.
        @type msgID: int
        @rtype: (int, int)

        @return: The position and joint position of the finger in encoder counts.
         Position in radians

Definition at line 1301 of file pyHand_api.py.

def pyHand_api.pyHand.get_position (   self,
  msgID,
  depth = 0 
)
Get packed position data and return it.

        @param msgID: The puck or group to get position data.
        @type msgID: int
        @rtype: int

        @param depth: number of times get message was retried.
        
        @return: The position of the finger in encoder counts.

Definition at line 1267 of file pyHand_api.py.

def pyHand_api.pyHand.get_prop_quick (   self,
  msgID,
  propID,
  speed 
)
Gets a property timed at a certain rate.

        @param msgID: The puck or group to have its property gotten.
        @type msgID: int
        @param propID: The property to be saved.
        @type propID: int
        @param speed: The time delay for the get.
        @type speed: float

Definition at line 466 of file pyHand_api.py.

def pyHand_api.pyHand.get_property (   self,
  msgID,
  propID 
)
Get property from pucks in msgID.

        @param msgID: The puck whose property will be read from.
        @type msgID: int
        @param propID: The property be read from.
        @type propID: int
        @rtype: int
        @return: The value held in the property.

Definition at line 381 of file pyHand_api.py.

def pyHand_api.pyHand.get_role (   self,
  msgID 
)
Read from ROLE property and return something that makes sense.
Returns an array of holding the following data:

[4-bit Product Identifier,
Internal Thermistor,
20 MHz (vs 32 MHz),
Hall Motor Encoder,
Enc Motor Encoder,
Strain Gauge,
IMU for Force-Torque Sensor,
Optical Motor Encoder]

        @param msgID: The puck to get the ROLE from.
        @type msgID: int
        @rtype: Array[int,bool,bool,bool,bool,bool,bool,bool]
        @return: An array holding the above values.

Definition at line 514 of file pyHand_api.py.

def pyHand_api.pyHand.get_strain (   self,
  msgID 
)
Gets the fingertip torque sensor value. 

        @param msgID: The puck or group to get fingertip torque sensor data. 
        @type msgID: int
        @rtype: int
        @return: Strain Gauge Reading

Definition at line 1222 of file pyHand_api.py.

def pyHand_api.pyHand.get_tact (   self,
  msgID,
  topOrFull = "TOP10" 
)
Obtain and interpret tactile sensor data.

        @param msgID: The puck or group to get full or top 10 tactile array sensor data.
        @type msgID: int
        @param topOrFull: To get full data, enter "FULL". To get the top 10 values, enter "TOP10". Or anything else, really.
        @type topOrFull: str
        @return 

Definition at line 1190 of file pyHand_api.py.

def pyHand_api.pyHand.get_temp (   self,
  msgID 
)
Gets temperature value for all pucks in msgID.

        @param msgID: The puck or group to get temp.
        @type msgID: int
        @rtype: int
        @return: The value of the TEMP property.

Definition at line 1059 of file pyHand_api.py.

def pyHand_api.pyHand.get_therm (   self,
  msgID 
)
Gets motor temperature value for all pucks in msgID. 

        @param msgID: The puck or group to get motor temperature.
        @text msgID: int
        @rtype: int
        @return: The value of the THERM property.

Definition at line 1082 of file pyHand_api.py.

def pyHand_api.pyHand.get_top_tact (   self,
  msgID 
)
Unpack the top10 values from TACT.
Returns a dictionary with 10 items like (sensor number):(tact value).

        @param msgID: The puck or group to get top 10 tactile data.
        @type msgID: int
        @rtype: Dictionary{sensorID:value}
        @return topVals: Dictionary of the top 10 tactile array sensor values. 

Definition at line 1104 of file pyHand_api.py.

def pyHand_api.pyHand.get_velocity (   self,
  msgID 
)
Returns velocity values of finger when in motion. Mostly returns garbage. It's used to help tell when finger is stopped or near to it.

        @param msgID: The puck or group to get velocity.
        @type msgID: int
        @rtype: float
        @return: A (garbage) value representing the approximate velocity of the finger.

Definition at line 1022 of file pyHand_api.py.

def pyHand_api.pyHand.init_finger (   self,
  msgID 
)
Sends a command to the puck to wake up the motor attatched to the puck.

        @param msgID: The id of the finger to initialize.
        @type msgID: int

Definition at line 251 of file pyHand_api.py.

def pyHand_api.pyHand.init_hand (   self)
Initialize all pucks in the hand.

        @rtype: Boolean
        @return: Succesfully Initialized Hand?

Definition at line 217 of file pyHand_api.py.

def pyHand_api.pyHand.initialize (   self)
Wakes up pucks and initializes the CAN.
This function must be implemented at the beginning of a program for this library to properly work.

        @rtype: ROLE
        @return: First finger's ROLE property if initialization is successful. Otherwise it returns False.

Definition at line 194 of file pyHand_api.py.

def pyHand_api.pyHand.initialize_fts (   self)
    Wake pucks and tare sensor.

Definition at line 261 of file pyHand_api.py.

def pyHand_api.pyHand.load_property (   self,
  msgID,
  propID 
)
Load a property's value for puck's flash memory.

        @param msgID: The puck or group to have its property loaded.
        @type msgID: int
        @param propID: The property to be loaded.
        @type propID: int

Definition at line 455 of file pyHand_api.py.

def pyHand_api.pyHand.move (   self)
Moves all fingers/spread to their default.

Definition at line 897 of file pyHand_api.py.

def pyHand_api.pyHand.move_grasp (   self,
  position = -1 
)
Moves all fingers to input argument or default position (50).

        @param position: position of fingers. Defaults to -1. Valid position range is from 0-195,000 encoder counts.
        @type position: int

Definition at line 882 of file pyHand_api.py.

def pyHand_api.pyHand.move_to (   self,
  puckID,
  target,
  autowait = True 
)
Move the motor to a specific position.

        @param puckID: The puck to move.
        @type puckID: int
        @param target: The end position to move to.
        @type target: int
        @param autowait: Does the program wait until the motor is done moving?
        @type autowait: bool

Definition at line 740 of file pyHand_api.py.

def pyHand_api.pyHand.new_temp_mail (   self,
  fingers_to_change 
)

Definition at line 1591 of file pyHand_api.py.

def pyHand_api.pyHand.onescomp (   self,
  binstr 
)

Definition at line 1247 of file pyHand_api.py.

def pyHand_api.pyHand.open_all (   self)
Opens every fingers at once. Mainly used in DEMO. WARNING: can be dangerous because it may cause fingers to collide if the hand is in an unknown position.

Definition at line 904 of file pyHand_api.py.

def pyHand_api.pyHand.open_finger (   self,
  puckID,
  autowait = True 
)
Open finger and wait for completion.

        @param puckID: Finger to be opened.
        @type puckID: int
        @param autowait: calls wait_done_moving if True. Defaults to True.
        @type autowait: bool

Definition at line 848 of file pyHand_api.py.

def pyHand_api.pyHand.open_finger_step (   self,
  puckID,
  step = -1,
  autowait = True 
)
Open finger by input increment.

        @param puckID: Finger to be opened.
        @type puckID: int
        @param step: size of increment in encoder counts. Defaults to -1.
        @type step: int
        @param autowait: calls wait_done_moving if True. Defaults to True.
        @type autowait: bool

Definition at line 980 of file pyHand_api.py.

def pyHand_api.pyHand.open_grasp (   self)
Opens all fingers to the position encoded by Open Target (OT)

Definition at line 789 of file pyHand_api.py.

def pyHand_api.pyHand.open_grasp_step (   self,
  step = 0 
)
Open grasp by input increment.

        @param step: size of increment in encoder counts. Defaults to 0.
        @type step: int

Definition at line 934 of file pyHand_api.py.

def pyHand_api.pyHand.open_spread (   self)
Open spread to position determined by Open Target (OT).

Definition at line 833 of file pyHand_api.py.

def pyHand_api.pyHand.open_spread_step (   self,
  step = -1 
)
Open spread by input increment.

        @param step: size of increment in encoder counts. Defaults to -1.
        @type step: int

Definition at line 958 of file pyHand_api.py.

def pyHand_api.pyHand.per_to_enc (   self,
  per 
)
Given a percentage of an angle, return it in encoder counts.

        @param per: Percentage
        @type per: float
        @return: Encoder counts
        @rtype: int

Definition at line 1651 of file pyHand_api.py.

def pyHand_api.pyHand.process_can_messages (   self)
        Reads and process all the msgs in the bus
        Depending on the CAN id, it'll use different methods

Definition at line 1330 of file pyHand_api.py.

def pyHand_api.pyHand.process_force (   self,
  msg 
)
        Process the CAN msgs and saves the position depending on the MSG ID

Definition at line 1541 of file pyHand_api.py.

def pyHand_api.pyHand.process_full_tact (   self,
  msg 
)
        Process and saves all the messages containing the tactile information

Definition at line 1466 of file pyHand_api.py.

def pyHand_api.pyHand.process_motor_temp (   self,
  msg 
)
        Process the msg and extract the temperature of the motor puck on the CAN ID

Definition at line 1426 of file pyHand_api.py.

def pyHand_api.pyHand.process_motor_therm (   self,
  msg 
)
        Process the msg and extract the temperature of the motor on the CAN ID

Definition at line 1446 of file pyHand_api.py.

def pyHand_api.pyHand.process_packed_position (   self,
  msg 
)
        Process the CAN msgs and saves the position depending on the MSG ID

Definition at line 1370 of file pyHand_api.py.

def pyHand_api.pyHand.process_strain (   self,
  msg 
)
        Process the msg and extract the strain value depending on the CAN ID

Definition at line 1410 of file pyHand_api.py.

def pyHand_api.pyHand.process_tactile_data (   self,
  data_array 
)
        Process the array of data and returns a tactile array

Definition at line 1522 of file pyHand_api.py.

def pyHand_api.pyHand.process_torque (   self,
  msg 
)
        Process the CAN msgs and saves the position depending on the MSG ID

Definition at line 1560 of file pyHand_api.py.

def pyHand_api.pyHand.rad_to_enc (   self,
  rad,
  type = BASE_TYPE 
)
Given the readian measure of an angle, return it in encoder counts.

        @param rad: Radians
        @type rad: float
        @return: Encoder counts
        @rtype: int

Definition at line 1663 of file pyHand_api.py.

def pyHand_api.pyHand.read_full_force_torque (   self)
        Read all tactile sensors

Definition at line 1706 of file pyHand_api.py.

def pyHand_api.pyHand.read_full_tact (   self,
  msgID 
)
        Read all tactile sensors

Definition at line 1135 of file pyHand_api.py.

def pyHand_api.pyHand.read_msg (   self)
Read a general message from PCAN_USBBUS1
Typically, msg[1] (where msg is the thing returned), contains the pertinent information.

        @rtype: (TPCANStatus, TPCANMsg, TPCANTimestamp)
        @return: A tuple containing the status, message, and timestamp.

Definition at line 270 of file pyHand_api.py.

def pyHand_api.pyHand.read_msg_resilient (   self,
  expect_puck,
  expect_prop,
  max_recurse = 10,
  counter = 0 
)
Reads message given the puckID and the propertyID. 
It will read as normal, until it gets some expected output from the puck.

        @param expect_puck: The puck to read from.
        @type expect_puck: int
        @param expect_prop: The property read from.
        @type expect_prop: int
        @param max_recurse: The most number of times to repeat the get.
        @type max_recurse: int
        @param counter: Used internally. Do not set.
        @type counter: int
        @rtype: int
        @return: The value held in the property of the given puck.

Definition at line 484 of file pyHand_api.py.

def pyHand_api.pyHand.read_packed_position (   self,
  msgID 
)
Get packed position data and return both P and JP.

        @param msgID: The puck or group to get position data.
        @type msgID: int
        @rtype: (int, int)

        @return: sends a msg to read the position.

Definition at line 1316 of file pyHand_api.py.

def pyHand_api.pyHand.read_strain (   self,
  msgID 
)
Sends the message to get the fingertip torque sensor value. 

        @param msgID: The puck or group to get fingertip torque sensor data. 
        @type msgID: int
        @rtype: int
        @return: CAN status

Definition at line 1234 of file pyHand_api.py.

def pyHand_api.pyHand.read_temp (   self,
  msgID 
)
Sends a message to get the temperature value for all pucks in msgID.

        @param msgID: The puck or group to get temp.
        @type msgID: int
        @rtype: int
        @return: The value of the TEMP property.

Definition at line 1071 of file pyHand_api.py.

def pyHand_api.pyHand.read_therm (   self,
  msgID 
)
Gets motor temperature value for all pucks in msgID. 

        @param msgID: The puck or group to get motor temperature.
        @text msgID: int
        @rtype: int
        @return: The value of the THERM property.

Definition at line 1093 of file pyHand_api.py.

def pyHand_api.pyHand.revert_temp_mail (   self,
  fingers_to_change,
  former 
)

Definition at line 1598 of file pyHand_api.py.

def pyHand_api.pyHand.save_property (   self,
  msgID,
  propID 
)
Save a property.

        @param msgID: The puck or group to have its property saved.
        @type msgID: int
        @param propID: The property to be saved.
        @type propID: int

Definition at line 443 of file pyHand_api.py.

def pyHand_api.pyHand.send_msg (   self,
  msgID,
  data 
)
        Send a general message to PCAN_USBBUS1. This can be a get, set, or even garbage.
        It does not apply any sleep
        
        @param msgID: The puck or group to which the message will be sent.
        @type msgID: int
        @param data: The array containing the data for the TPCANMsg.
        @type data: Array[]
        
        @return the return status after writing in the bus

Definition at line 307 of file pyHand_api.py.

def pyHand_api.pyHand.set_16 (   self,
  msgID,
  propID,
  value 
)
Set property to a given value for a 16 bit property.
Avoid usage of this method. Use self.set_property instead.

        @param msgID: The puck or group whose property will be set.
        @type msgID: int
        @param propID: The number corresponding to the property to be set.
        @type propID: int
        @param value: The value to which the property will be set.
        @type value: int

Definition at line 363 of file pyHand_api.py.

def pyHand_api.pyHand.set_32 (   self,
  msgID,
  propID,
  value 
)
Set property to a given value for a 32 bit property.
Avoid usage of this method. Use self.set_property instead.

        @param msgID: The puck or group whose property will be set.
        @type msgID: int
        @param propID: The number corresponding to the property to be set.
        @type propID: int
        @param value: The value to which the property will be set.
        @type value: int

Definition at line 347 of file pyHand_api.py.

def pyHand_api.pyHand.set_hand_targets (   self,
  f1_target,
  f2_target,
  f3_target,
  sp_target 
)
Given fingers and spread target values, move the hand to that position.
Will mainly be used to load user-defined hand positions.
Takes Barrett Units as inputs.

        @param f1_target: The position (in encoder ticks) for finger 1 to move to.
        @type f1_target: int
        @param f2_target: The position for finger 2 to move to.
        @type f2_target: int
        @param f3_target: The position for finger 3 to move to.
        @type f3_target: int
        @param sp_target: The position for spread to move to.
        @type sp_target: int

Definition at line 714 of file pyHand_api.py.

def pyHand_api.pyHand.set_mode (   self,
  msgID,
  value 
)
Set the mode property using either strings or numbers.

        @param msgID: The puck or group to set the mode.
        @type msgID: int
        @param value: The value to which the mode should be set.
        @type value: int

Definition at line 571 of file pyHand_api.py.

def pyHand_api.pyHand.set_property (   self,
  msgID,
  propID,
  value 
)
Set property to a given value.

        @param msgID: The puck or group whose property will be set.
        @type msgID: int
        @param propID: The number corresponding to the property to be set.
        @type propID: int
        @param value: The value to which the property will be set.
        @type value: int

Definition at line 330 of file pyHand_api.py.

def pyHand_api.pyHand.set_puck_like (   self,
  puckID,
  virtID 
)
Set the puck to have all the default properties of the indicated puck ID.

        @param puckID: The original puck to change.
        @type puckID: int
        @param virtID: The ID of the puck to load defaults from.
        @type virtID: int

Definition at line 587 of file pyHand_api.py.

def pyHand_api.pyHand.set_velocity (   self,
  puckID,
  velocity 
)
Set the velocity and make the motor move.

        @param puckID: The ID of the puck to set the velocity of.
        @type puckID: int
        @param velocity: The velocity (in cts/ms) of the motor.
        @type velocity: int

Definition at line 1205 of file pyHand_api.py.

def pyHand_api.pyHand.tare_fts (   self)
    Tare the FTS sensor.

Definition at line 1579 of file pyHand_api.py.

def pyHand_api.pyHand.twoscomp (   self,
  number 
)

Definition at line 1250 of file pyHand_api.py.

def pyHand_api.pyHand.twoscomp2 (   self,
  number,
  bits 
)
Returns the two's complement of a number with a certain amount of bits.

    @param number: The number to take the two's complement of.
    @type number: int
    @param bits: The size of the integer in bits.
    @type bits: int

Definition at line 1255 of file pyHand_api.py.

def pyHand_api.pyHand.wait_done_moving (   self,
  motors_to_check = ALL_FINGERS 
)
Waits until the given list of motors have all stopped moving.

        @param motors_to_check: A list of motors to wait for.
        @type motors_to_check: Array[*int]

Definition at line 770 of file pyHand_api.py.

def pyHand_api.pyHand.write_msg (   self,
  msgID,
  data,
  delay = .002 
)
Send a general message to PCAN_USBBUS1. This can be a get, set, or even garbage.

        @param msgID: The puck or group to which the message will be sent.
        @type msgID: int
        @param data: The array containing the data for the TPCANMsg.
        @type data: Array[]
        @param delay: The time delay to wait for the message to be written.
        @type delay: float
        @rtype: TPCANStatus
        @return: Status of the self.PCAN bus.

Definition at line 282 of file pyHand_api.py.

Member Data Documentation

pyHand_api.pyHand.ft_sensor

Definition at line 120 of file pyHand_api.py.

pyHand_api.pyHand.motor_positions

Definition at line 112 of file pyHand_api.py.

pyHand_api.pyHand.PCAN

Definition at line 110 of file pyHand_api.py.

pyHand_api.pyHand.strain

Definition at line 114 of file pyHand_api.py.

pyHand_api.pyHand.tactile_sensor

Definition at line 117 of file pyHand_api.py.

pyHand_api.pyHand.temp

Definition at line 115 of file pyHand_api.py.


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


bhand_controller
Author(s): Román Navarro , Jorge Ariño
autogenerated on Thu Aug 1 2019 03:30:51