reset master to f59ae44 and applied 376532a and 3c4cb19

This commit is contained in:
jureao 2018-03-22 22:05:43 +01:00 committed by d3rped
parent 6f00e3c717
commit 800cf6302d

View file

@ -26,5 +26,38 @@ Functionality that should be implemented in this class:
class Odometry:
def __init__(self, planet):
pass
self._wheel_axis = 11
self._distance_per_tick= 0.0488
self._pi = 3.141
self.distance = 0
#worked fine outside the class as function in nano, maybe we must fix it a bit :)
def degree(self, delta_rotation_l, delta_rotation_r,star_Direc): #delta_rotation_l/r should work with getmovement method
self.alpha = 0 #should be start_Direc
self.alpha=star_Direc
while True:
self.alpha = ((self.delta_rotation_l * self._distance_per_tick - self.delta_rotation_r * self._distance_per_tick)/self._wheel_axis) + self.alpha
self.distance=(self.delta_rotation_r * self._distance_per_tick + self.delta_rotation_l * self._distance_per_tick)/2 + self.distance
if self.alpha % (2 * self._pi) >=0 and self.alpha % (2 * pi) <pi*0.25 or self.alpa % (2 * pi ) >= 7/4*pi and self.alpha %(2 * pi) <2*pi:
return(Direction.NORTH)
elif self.alpha % (2 * self._pi) >= self._pi*0.25 and self.alpha % ( 2 * pi ) < self._pi*0.5 or self.alpha % (2 * self._pi ) >= self._pi * 0.5 and self.alpha % (2 * self._pi ) < self._pi *0.75:
return(Direction.EAST)
elif self.alpha % (2 * self._pi)>=self._pi * 0.75 and self.alpha % (2* self._pi)< self._pi or self.alpha % (2 * self_pi) >=self._pi and self.alpha < self.alpha * 5/4 pi :
return(Direction.SOUTH)
else:
return(Direction.WEST)
def coordinates(self,delta_rota_l,delta_rota_r,Y_koord,X_koord): # worked as function outside the class
self.y= self.Y_koord
self.x= self.X_koord
self.wheel_center = (delta_rota_r + delta_rota_l) /2
self.alpha = ((self.delta_rotation_l * self._distance_per_tick - self.delta_rotation_r * self._distance_per_tick)/self._wheel_axis) + self.alpha
self.y = self.y + wheel_center * math.cos(alpha)
self.x = self.x + wheel_center * math.sin(alpha)
return(self.x,self.y)