Introduction Robotics Challenge Team 56 Johnson Alex (13345086) Abdul-Aziz Alharbi(13102042) Eniola Kasim (13414852) Darren King (13397861) Contact details: dking949@gmail.com
The main challenge for this part of the Engineering Design module is to programme a Robot(Pololu 3pi) to follow a predefined course Each group had to code the robot to perform three tasks It had to follow a light source, then follow a black line and finally balance itself on a seesaw The Pololu 3pi was programmed using Arduino software and the C programming language
Responsibilities Each member had a different responsibility. Abdul and Johnson had the job of soldering the components onto the circuit board and assigning each members with parts of the report writing Eniola and Darren had the main task of programming the robot to make sure it performed well on the testing day.
This project had two major tasks: 1.Soldering 2.Programming
Soldering The circuit board consisted of: 1. resistor 2 Soldering The circuit board consisted of: 1. resistor 2. Light dependent resistors (LDR). 3. wires. 4.accelerometer.
Climb seesaw & balance for 5 seconds Main Objectives Programme the robot so it would be able to follow the lights, follow the black line and balance itself on a seesaw as shown in the diagram. 2 3 1 Climb seesaw & balance for 5 seconds 5 Line Following start to finish 4
Challenges Encountered
Thresholding Testing difficult as lighting was never exactly the same If voltage never went below threshold the robot would just spin in circles Used to tell robot when to turn and when to drive towards light This problem was solved by finding the optimal threshold
Counters Counters used to break out of loops Robot needed a counter to stop light follow and begin line follow When we used counters the robot got stuck in the infinite loop that was originally supposed to turn robot Resulted in robot spinning constantly We were unable to solve this problem
Line follower Robot followed line but at exceptionally slow speed Unsuitable for testing due to 2 minute time limit Tried to edit existing sample line follower in Arduino library More successful Unable to programme line follower in with rest of code No solution found
The Three Main Points So in conclusion we have discussed the following: 1) The Objective 2) Our Method of Approach 3) The Challenges We Encountered
The Objective Programme the Pololu 3pi Robot Detect and drive towards 3 different light sources and switch them off Follow the black line outlined on the obstacle course Balance the robot on a seesaw
Our Method of Approach We decided to tackle each aspect of the course individually. Three separate pieces of code were written. We tested each piece of code individually to make sure it worked. Our final program consisted of these individual pieces of code combined.
Problems Encountered In order to get the robot to move in the obstacle course we had to define thresholds. Using the correct threshold proved to be difficult as they changed with the robots external environment. The programme did not exit FOR loops The Line Following code proved to be unsuccessful.
Summary We managed to successfully write code for the light following and balance aspect of the obstacle course However, the code we wrote for the Line Follow was unsuccessful.
Recommendations for Future Work Always break down the code into smaller problems Deal with these one by one Make use of the LCD screen to display values read in from the robot’s external environment Practice makes perfect – go through examples Never hesitate to ask for help or look-up information