add tanslate_tool, some cleanup

This commit is contained in:
Olivier R-D 2013-06-07 21:52:10 +02:00
parent f16b796c79
commit 87e9efe74e

View File

@ -432,15 +432,32 @@ class Robot(URRobot):
self.orient(orient, acc, vel, wait) self.orient(orient, acc, vel, wait)
def translate(self, vect, acc=None, vel=None, wait=True): def translate(self, vect, acc=None, vel=None, wait=True):
trans = self.get_transform() """
trans.pos += m3d.Vector(vect) move tool in base coordinate, keeping orientation
return self.apply_transform(trans, acc, vel, wait) """
t = m3d.Transform()
t.pos += vect
return self.add_transform_base(t, acc, vel, wait)
def translate_tool(self, vect, acc=None, vel=None, wait=True):
"""
move tool in tool coordinate, keeping orientation
"""
t = m3d.Transform()
t.pos += vect
return self.add_transform_tool(t, acc, vel, wait)
def set_pos(self, vect, acc=None, vel=None, wait=True): def set_pos(self, vect, acc=None, vel=None, wait=True):
"""
set tool to given pos, keeping constant orientation
"""
trans = m3d.Transform(self.get_orientation(), m3d.Vector(vect)) trans = m3d.Transform(self.get_orientation(), m3d.Vector(vect))
return self.apply_transform(trans, acc, vel, wait) return self.apply_transform(trans, acc, vel, wait)
def apply_transform(self, trans, acc=None, vel=None, wait=True): def apply_transform(self, trans, acc=None, vel=None, wait=True):
"""
move tcp to point and orientation defined by a transformation
"""
if not acc: if not acc:
acc = self.default_linear_acceleration acc = self.default_linear_acceleration
if not vel: if not vel:
@ -450,7 +467,7 @@ class Robot(URRobot):
if pose != None : #movel does not return anything when wait is False if pose != None : #movel does not return anything when wait is False
return self.csys_inv * m3d.Transform(pose) return self.csys_inv * m3d.Transform(pose)
def add_transform_b(self, trans, acc=None, vel=None, wait=True): def add_transform_base(self, trans, acc=None, vel=None, wait=True):
""" """
Add transform expressed in base coordinate Add transform expressed in base coordinate
""" """
@ -465,11 +482,17 @@ class Robot(URRobot):
return self.apply_transform(pose * trans, acc, vel, wait) return self.apply_transform(pose * trans, acc, vel, wait)
def get_transform(self, wait=False): def get_transform(self, wait=False):
"""
get current transform from base to to tcp
"""
pose = URRobot.getl(self, wait) pose = URRobot.getl(self, wait)
trans = self.csys_inv * m3d.Transform(pose) trans = self.csys_inv * m3d.Transform(pose)
return trans return trans
def get_pose(self, wait=False): def get_pose(self, wait=False):
"""
get current transform from base to to tcp
"""
return self.get_transform(wait) return self.get_transform(wait)
def get_orientation(self, wait=False): def get_orientation(self, wait=False):
@ -507,7 +530,7 @@ class Robot(URRobot):
return self.movels(pose, acc, vel, radius, wait) return self.movels(pose, acc, vel, radius, wait)
t = m3d.Transform(pose) t = m3d.Transform(pose)
if relative: if relative:
return self.add_transform_b(t, acc, vel, wait) return self.add_transform_base(t, acc, vel, wait)
else: else:
return self.apply_transform(t, acc, vel, wait) return self.apply_transform(t, acc, vel, wait)