add tanslate_tool, some cleanup
This commit is contained in:
		
							
								
								
									
										33
									
								
								urx/urx.py
									
									
									
									
									
								
							
							
						
						
									
										33
									
								
								urx/urx.py
									
									
									
									
									
								
							| @@ -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) | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user