This document outlines the implementation of a dipole field algorithm for directing a soccer robot to a ball and goal. It calculates vectors between the robot, ball, and goal to determine the robot's moving direction. A GUI was created for visualization. Requirements include a robot with two servo motors and positioning access. A Lego EV3 robot was chosen for its Python compatibility. A camera setup monitors and reads ball positions to feed into the direction algorithm. Major challenges involve accurate camera readout and adjusting motors based on the direction vector.
This document outlines the implementation of a dipole field algorithm for directing a soccer robot to a ball and goal. It calculates vectors between the robot, ball, and goal to determine the robot's moving direction. A GUI was created for visualization. Requirements include a robot with two servo motors and positioning access. A Lego EV3 robot was chosen for its Python compatibility. A camera setup monitors and reads ball positions to feed into the direction algorithm. Major challenges involve accurate camera readout and adjusting motors based on the direction vector.
This document outlines the implementation of a dipole field algorithm for directing a soccer robot to a ball and goal. It calculates vectors between the robot, ball, and goal to determine the robot's moving direction. A GUI was created for visualization. Requirements include a robot with two servo motors and positioning access. A Lego EV3 robot was chosen for its Python compatibility. A camera setup monitors and reads ball positions to feed into the direction algorithm. Major challenges involve accurate camera readout and adjusting motors based on the direction vector.
1. Calculate Vector from Robot To ball 2. Calculate Vector from ball to goal 3. Get angle between both vectors 4. Calculate moving direction as (cos(2angle),sin(2angle))
Implemented in GUI for visualization Robot Goal Direction Vector X-dir Y-dir Real World Application Requirement 1. Need a robot 2. Need to access global positions
GUI Screenshot Dipole Vector Field Robot Choice: Lego ev3 for easy python implementation of code 2 Servo Motors for control Setup Choice: Macbook Camera on cupboard to monitor ball positions Schematic view of Room -Room is flat surface with laid over Cartesian coords -Python script reads ball position based on contrast function of camera images
Major difficulties: Correct camera readout, motor adjustment according to direction vector