agimus_sot.control.gripper.AdmittanceControl Class Reference
Inheritance diagram for agimus_sot.control.gripper.AdmittanceControl:
[legend]
Collaboration diagram for agimus_sot.control.gripper.AdmittanceControl:
[legend]

Public Member Functions

def __init__ (self, name, estimated_theta_closed, desired_torque, period, nums, denoms)
 
def setupFeedbackSimulation (self, mass, damping, spring, theta0)
 Setup event to tell when object is grasped and simulate torque feedback. More...
 
def readPositionsFromRobot (self, robot, jointNames)
 
def readCurrentsFromRobot (self, robot, jointNames, torque_constants, first_order_filter=False)
 
def readTorquesFromRobot (self, robot, jointNames)
 
def addOutputTo (self, robot, jointNames, mix_of_vector, sot=None)
 
def addTracerRealTime (self, robot)
 
def outputPosition (self)
 
def referenceTorqueIn (self)
 
def setCurrentPositionIn (self, sig)
 
def currentTorqueIn (self)
 
def torqueConstants (self)
 

Public Attributes

 name
 
 est_theta_closed
 
 desired_torque
 
 dt
 
 torque_controller
 
 omega2theta
 
 sim_contact_condition
 phi -> torque More...
 
 phi2torque
 

Detailed Description

The torque controller is then use to maintain a desired force.
It outputs a velocity command to be sent to entity Device.

Constructor & Destructor Documentation

◆ __init__()

def agimus_sot.control.gripper.AdmittanceControl.__init__ (   self,
  name,
  estimated_theta_closed,
  desired_torque,
  period,
  nums,
  denoms 
)
- estimated_theta_closed: Use for the initial position control. It should correspond to a configuration in collision.
                  The closer to contact configuration, the least the overshoot.
- desired_torque: The torque to be applied on the object.
- period: The SoT integration time.
- nums, denoms: coefficient of the controller:
   \sum_i denoms[i] * d^i theta / dt^i = \sum_j nums[j] d^j torque / dt^j

Member Function Documentation

◆ addOutputTo()

def agimus_sot.control.gripper.AdmittanceControl.addOutputTo (   self,
  robot,
  jointNames,
  mix_of_vector,
  sot = None 
)

◆ addTracerRealTime()

def agimus_sot.control.gripper.AdmittanceControl.addTracerRealTime (   self,
  robot 
)

◆ currentTorqueIn()

◆ outputPosition()

def agimus_sot.control.gripper.AdmittanceControl.outputPosition (   self)

◆ readCurrentsFromRobot()

def agimus_sot.control.gripper.AdmittanceControl.readCurrentsFromRobot (   self,
  robot,
  jointNames,
  torque_constants,
  first_order_filter = False 
)
  • param torque_constants: Should take into account the motor torque constant and the gear ratio.
  • param first_order_filter: Add a first order filter to the current signal.

References agimus_sot.control.gripper.AdmittanceControl._current_selec, agimus_sot.control.gripper.AdmittanceControl._first_order_current_filter, agimus_sot.control.gripper.AdmittanceControl._multiply_by_torque_constants, agimus_sot.control.gripper.AdmittanceControl.currentTorqueIn(), agimus_sot.control.gripper.AdmittanceControl.desired_torque, agimus_sot.control.gripper.AdmittanceControl.dt, agimus_sot.control.controllers.Controller.name, and agimus_sot.control.gripper.AdmittanceControl.name.

◆ readPositionsFromRobot()

def agimus_sot.control.gripper.AdmittanceControl.readPositionsFromRobot (   self,
  robot,
  jointNames 
)

◆ readTorquesFromRobot()

def agimus_sot.control.gripper.AdmittanceControl.readTorquesFromRobot (   self,
  robot,
  jointNames 
)

◆ referenceTorqueIn()

def agimus_sot.control.gripper.AdmittanceControl.referenceTorqueIn (   self)

◆ setCurrentPositionIn()

def agimus_sot.control.gripper.AdmittanceControl.setCurrentPositionIn (   self,
  sig 
)

References agimus_sot.control.gripper.AdmittanceControl._sim_theta2phi, and agimus_sot.control.gripper.AdmittanceControl.omega2theta.

Referenced by agimus_sot.control.gripper.AdmittanceControl.readPositionsFromRobot().

◆ setupFeedbackSimulation()

def agimus_sot.control.gripper.AdmittanceControl.setupFeedbackSimulation (   self,
  mass,
  damping,
  spring,
  theta0 
)

Setup event to tell when object is grasped and simulate torque feedback.

References agimus_sot.control.gripper.AdmittanceControl._sim_theta2phi, agimus_sot.control.gripper.AdmittanceControl.desired_torque, agimus_sot.control.controllers.Controller.name, and agimus_sot.control.gripper.AdmittanceControl.name.

◆ torqueConstants()

def agimus_sot.control.gripper.AdmittanceControl.torqueConstants (   self)

References agimus_sot.control.gripper.AdmittanceControl._multiply_by_torque_constants.

Member Data Documentation

◆ desired_torque

◆ dt

agimus_sot.control.gripper.AdmittanceControl.dt

◆ est_theta_closed

agimus_sot.control.gripper.AdmittanceControl.est_theta_closed

◆ name

◆ omega2theta

◆ phi2torque

agimus_sot.control.gripper.AdmittanceControl.phi2torque

◆ sim_contact_condition

agimus_sot.control.gripper.AdmittanceControl.sim_contact_condition

phi -> torque

◆ torque_controller