def reset_pid(self): """Reset PID controller state""" self.integral = 0 self.previous_error = 0 self.last_time = time.time()
def set_motor_speeds(self, base_speed, turn_speed): """ Calculate and set left/right motor speeds based on base speed and turn """ # Differential steering left_speed = base_speed + turn_speed right_speed = base_speed - turn_speed # Apply speed limits left_speed = max(-self.MAX_SPEED, min(self.MAX_SPEED, left_speed)) right_speed = max(-self.MAX_SPEED, min(self.MAX_SPEED, right_speed)) # Set motor speeds self.bot.set_left_motor_speed(left_speed) self.bot.set_right_motor_speed(right_speed)
""" MBot2 Line Follower Feature =========================== Uses the 5-channel line follower sensor to follow a black line on a white surface. Supports PID control for smooth tracking, speed adjustment, and emergency stop. """ import mbot2 import time import sys
def reset_pid(self): """Reset PID controller state""" self.integral = 0 self.previous_error = 0 self.last_time = time.time()
def set_motor_speeds(self, base_speed, turn_speed): """ Calculate and set left/right motor speeds based on base speed and turn """ # Differential steering left_speed = base_speed + turn_speed right_speed = base_speed - turn_speed # Apply speed limits left_speed = max(-self.MAX_SPEED, min(self.MAX_SPEED, left_speed)) right_speed = max(-self.MAX_SPEED, min(self.MAX_SPEED, right_speed)) # Set motor speeds self.bot.set_left_motor_speed(left_speed) self.bot.set_right_motor_speed(right_speed)
""" MBot2 Line Follower Feature =========================== Uses the 5-channel line follower sensor to follow a black line on a white surface. Supports PID control for smooth tracking, speed adjustment, and emergency stop. """ import mbot2 import time import sys