feat: added message for move
This commit is contained in:
@@ -30,31 +30,30 @@ class WallE:
|
||||
self.servo_controller = ServoController()
|
||||
self.servo_controller.setup()
|
||||
|
||||
def set_movement(self, angle: float, distance: float):
|
||||
if distance > 0:
|
||||
distance = distance/50.0 # map 0 - 50 to 0 - 1
|
||||
def set_movement(self, angle: float, force: float):
|
||||
if force > 1:
|
||||
force = 1.0
|
||||
|
||||
angle_rad = math.radians(angle)
|
||||
cos_angle = math.cos(angle_rad)
|
||||
sin_angle = math.sin(angle_rad)
|
||||
cos_angle = math.cos(angle)
|
||||
sin_angle = math.sin(angle)
|
||||
|
||||
velocity_l = 0
|
||||
velocity_r = 0
|
||||
|
||||
if cos_angle > 0 and sin_angle > 0:
|
||||
if cos_angle > sin_angle:
|
||||
velocity_r = cos_angle * distance
|
||||
velocity_l = sin_angle * distance
|
||||
velocity_r = cos_angle * force
|
||||
velocity_l = sin_angle * force
|
||||
elif cos_angle < sin_angle:
|
||||
velocity_r = sin_angle * distance
|
||||
velocity_l = cos_angle * distance
|
||||
velocity_r = sin_angle * force
|
||||
velocity_l = cos_angle * force
|
||||
elif cos_angle < 0 and sin_angle > 0:
|
||||
if cos_angle < sin_angle:
|
||||
velocity_r = 1 - sin_angle * distance
|
||||
velocity_l = sin_angle * distance
|
||||
velocity_r = 1 - sin_angle * force
|
||||
velocity_l = sin_angle * force
|
||||
elif cos_angle > abs(sin_angle):
|
||||
velocity_r = sin_angle * distance
|
||||
velocity_l = cos_angle * distance
|
||||
velocity_r = sin_angle * force
|
||||
velocity_l = cos_angle * force
|
||||
else:
|
||||
pass
|
||||
self.motor_a.set(velocity_l)
|
||||
|
||||
Reference in New Issue
Block a user