Base class for interacting with a realtime controller using an equilibrium point control frame work. More...
Public Member Functions | |
def | __init__ |
Constructor. | |
def | get_controller_state |
Returns the current state of the realtime controller. | |
def | get_end_effector_pose |
Returns the current pose of the tooltip. | |
def | get_ep |
Returns the current equilibrium point as read from the controller. | |
def | is_ep_stale |
Returns whether the equilibrium point has been recorded for some time. | |
def | set_ep |
Commands the arm to move to desired equilbrium point. | |
def | wait_for_ep |
Wait until we have the ep from the controller. | |
Public Attributes | |
arm_side | |
controller_name | |
ctrl_state_dict | |
ctrl_state_lock | |
ep | |
ep_lock | |
ep_time | |
Private Member Functions | |
def | _save_ep |
Method to be implemented by subclasses to record the equilibrium point. |
Base class for interacting with a realtime controller using an equilibrium point control frame work.
An equilibrium point is a set of parameters representing the state of the controller at which no torques would be applied. For a PID controller, this represents the joint angles where the error would be zero.
Definition at line 51 of file ep_arm_base.py.
def hrl_pr2_arms.ep_arm_base.EPArmBase.__init__ | ( | self, | |
arm_side, | |||
urdf, | |||
base_link, | |||
end_link, | |||
controller_name = None , |
|||
kdl_tree = None , |
|||
timeout = 1. |
|||
) |
Constructor.
arm_side | Used to signify side of robot for similar arms (e.g. 'r' for right, 'l' for left) |
urdf | URDF object of robot. |
base_link | Name of the root link of the kinematic chain. Will fill in arm_side if s is in string. |
end_link | Name of the end link of the kinematic chain. Will fill in arm_side if s is in string. |
controller_name | Optional name of the controller which will be subscribed to to obtain controller information |
kdl_tree | Optional KDL.Tree object to use. If None, one will be generated from the URDF. |
timeout | Time in seconds to wait for the /joint_states topic. |
Definition at line 66 of file ep_arm_base.py.
def hrl_pr2_arms.ep_arm_base.EPArmBase._save_ep | ( | self, | |
ep | |||
) | [private] |
Method to be implemented by subclasses to record the equilibrium point.
Definition at line 143 of file ep_arm_base.py.
Returns the current state of the realtime controller.
The state is filled in by the subclasses.
Definition at line 120 of file ep_arm_base.py.
Returns the current pose of the tooltip.
Definition at line 86 of file ep_arm_base.py.
def hrl_pr2_arms.ep_arm_base.EPArmBase.get_ep | ( | self | ) |
Returns the current equilibrium point as read from the controller.
Definition at line 92 of file ep_arm_base.py.
def hrl_pr2_arms.ep_arm_base.EPArmBase.is_ep_stale | ( | self, | |
stale_time = 1. |
|||
) |
Returns whether the equilibrium point has been recorded for some time.
stale_time | Time in seconds to pass to consider the EP stale. |
Definition at line 134 of file ep_arm_base.py.
def hrl_pr2_arms.ep_arm_base.EPArmBase.set_ep | ( | self, | |
args | |||
) |
Commands the arm to move to desired equilbrium point.
Definition at line 100 of file ep_arm_base.py.
def hrl_pr2_arms.ep_arm_base.EPArmBase.wait_for_ep | ( | self, | |
timeout = 1. |
|||
) |
Wait until we have the ep from the controller.
timeout | Time in seconds at which we break if we haven't recieved the EP. |
Definition at line 106 of file ep_arm_base.py.
Definition at line 66 of file ep_arm_base.py.
Definition at line 66 of file ep_arm_base.py.
Definition at line 66 of file ep_arm_base.py.
Definition at line 66 of file ep_arm_base.py.
Definition at line 66 of file ep_arm_base.py.
Definition at line 66 of file ep_arm_base.py.
Definition at line 66 of file ep_arm_base.py.