Skip to content

Instantly share code, notes, and snippets.

@quangnhat185
Created June 4, 2020 08:55
Show Gist options
  • Save quangnhat185/a335123ba16a78f397dc9577b8b8c824 to your computer and use it in GitHub Desktop.
Save quangnhat185/a335123ba16a78f397dc9577b8b8c824 to your computer and use it in GitHub Desktop.
# return heading angle from machine learning model
angle = np.radians(max(model.predict(image)))
'''
speed_slider: lowest speed of each motor
angle: heading angle corresponding to current frame
angle_last: heading angle corresponding to previous frame
kP, kD, kI: P - I - D coefficient defined by users
steering_bias_slider: bias coefficient between two motors
steering_slider: turning speed differentiation
'''
pid = angle * kP + (angle - angle_last) * kD + (angle + angle_last) * kI
angle_last = angle
steering_slider = pid + steering_bias_slider
# scale value to range [0,1]
left_speed = max(min(speed_slider + steering_slider, 1.0), 0.0)
right_speed = max(min(speed_slider - steering_slider, 1.0), 0.0)
# set speed in motors
robot.set_motor(right_speed,left_speed)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment