Fixed simulator Turn state instanting turning and turning a suboptimal direction for shortest rotation

This commit is contained in:
2020-06-16 16:26:18 -05:00
parent 12b89f9370
commit 0425d5db04

View File

@@ -160,12 +160,11 @@ class State
if @robot.angle.between?(target_angle - @allowable_error, target_angle + @allowable_error)
@complete = true
@robot.angle = target_angle
elsif (@robot.angle - @last_angle).between?(target_angle - @allowable_error, target_angle + @allowable_error)
@complete = true
@robot.angle = target_angle
elsif target_angle > @starting_angle
elsif Gosu.angle_diff(@starting_angle, target_angle) > 0
@robot.angle += @power * dt * @robot.speed
elsif target_angle < @starting_angle
elsif Gosu.angle_diff(@starting_angle, target_angle) < 0
@robot.angle -= @power * dt * @robot.speed
end