Purpose: ENGR-195 class project

  • To demonstrate basic movement
  • To accurately know its position

Creator: Team 33

My Role: Team Leader, programmer


Drivetrain: Two-wheel differential drive.

Controls: Lego NXT


  • Front-facing ultrasonic
  • Wheel encoders


Movement: The drivetrain allows the robot to move with precision and turn on a dime.

Positioning: DUCK uses motor encoders to track its current position.

Pathfinding: An internal map and an A* pathfinding algorithm allow DUCK to compute its path to any coordinates given at runtime.

Obstacle avoidance: DUCK stops if it detects an obstacle with the Ultrasonic sensor. If the obstacle does not move out of the way, DUCK recalculates a route around the obstacle and remembers the obstacle from then on.