TABLE OF CONTENTS Page EXECUTIVE SUMMARY 2 I. INTRODUCTION 3 II. PROJECT PLAN 4 MEETINGS BILL OF MATERIALS TEAM WEAKNESSES 4 4 4 PROTOTYPE DESIGN 5 ENGINEERING SPECIFICATIONS DESIGN CHALLENGES 5 5 PRODUCT DEVELOPMENT 6 PARTS REQUIRED FABRICATION METHOD MANUFACTURING CHALLENGES 6 6 6 III. IV. V. SOFTWARE DEVELOPMENT 7-9 CODE SENSOR TEST PROGRAMMING DIFFICULTIES 7-9 9 9 PROTOTYPE TESTING 10 PROTOTYPE PERFORMANCE CERTIFICATION TEST REPORT FUNCTIONALITY AND DURABILITY TESTING CHALLENGES ENCOUNTERED 10 10 10 10 VII. RECOMMENDATIONS 11 VIII. CONCLUSIONS 11 VI. REFERENCES 12 1 EXECUTIVE SUMMARY In the introduction the project's objectives are explained. The project’s main objective is to introduce school children to the field of STEM and ignite their interest in something engineering related. The robot can transport items and will also follow the wall. The project plan explains the assembly of the robot which pertains to each material and cost of what the robot is made of. The prototype design includes a picture of the design of the robot and the estimated cost of the robot so that it can be affordable by the parents of the school children. The robot is as simple as it can be so that it will be easy for a child to assemble without getting distracted by everything being too complicated and taking away the fun. Also, the robot will be kept under $30 so that it will be affordable for children's parents to be able to buy it. The product development explains how the robots’ functions work and the different parts that are used in the robot and what their specific functions are for. This is then followed by the instructions of how to set up the robot and Arduino. Also included is the robots’ major error which was the wheel being unable to move since the chassis was too thick. The software development explains the robots main function which is to avoid obstacles, along with the code attached. A movie is shown that shows the early prototype of the robot approaching an obstacle which was a group member's hand. In addition, software issues that happened with this prototype are mentioned. In prototype testing it is explained how the prototype is working and how it improved and will continue to be made better. In recommendations it is mentioned how the group can improve the design of the robot to make it more efficient such as soldering the wires. If the object was too near or too far from the ultrasonic sensor, it might also be seen traveling backwards far away from and onward toward it. Finally, in the conclusions, the main objective of the project is stated once again. It is explained how the redesign of the chassis caused other things about the robot's design to change. 2 I. INTRODUCTION The project aims to educate children from grades K-12 about the STEM mindset. Through the robot, children are able to learn about programming, the different components that create a robot as well as developing their skill in engineering and creativity. The main purpose of the project is to create a wall-following robot that can carry small objects. The motivation of the creation of Beep the Robot comes from toy cars for children. As it is a popular toy among children, the design also aims to help children have fun creating their very own unique toy. This causes a major impact on these children as it allows them to develop interest towards STEM, specifically introducing robotics. As the world continues to develop, people grow closer to technology. In the world, there are self-driving cars, drones, and even more advanced robots. By creating this robot, students are introduced to this world and have a step towards learning more about technology. This is relevant to K-12 STEM education as well as it allows students to explore the fields of technology and engineering. K-12 students learn how to create their robot through detailed instructions and they are also able to use their creative flair to add unique designs to their very own robot. This is relevant to project-based learning as it “engages learners in exploring important and meaningful questions through a process of investigation and collaboration” [1]. This relatively new approach to learning focuses on a variety of methods such as problem-solving, deductive reasoning as well as intuitive methods. The project in particular allows students to work together in creating a robot [2]. Project-based learning leans less towards the traditional teaching approach. Although the professor is there to guide the students, the students themselves explore the environment they are placed in and start to develop skills throughout the process of completing the project. Students are normally given a project plan, which is helpful as it guides students through creating the final product by completing step-by-step tasks [3]. This relates to the robot project as students first learn the necessary skills individually by completing homework assignments and are then tasked to work as a team to create a robot that fits the project guidelines. The article also presents a table of results that expresses each student’s perspective on the most important skills for a good engineer. A majority of students chose ‘problem solving/design’ as it is an integral part in project-based learning [3]. This is important as it shows the value of problem solving in project-based learning. To complete the project, Group 16 incorporated two ultrasonic sensors that detect how close the robot is to the wall. This information is then used by the robot to control the yellow DC motors. These yellow motors are controlled by the H-Bridge. In total, the group uses two yellow DC motors to control the movement of the robot. If the ultrasonic sensors are informed that the wall has changed direction, the two motors redirect the robot away from the wall, causing it to turn. The main component in the robot is the Arduino itself. Beep the robot uses one Arduino, which contains all of the code created by the software lead. The Arduino stores and delivers this information to the rest of the components for the robot to properly follow a wall. 3 II. PROJECT PLAN Throughout the semester, group 16 has been meeting up both during and after class in order to work on planning and assembly for the project. They have been meeting on an approximately weekly basis and have completed the majority of the required assembly for their robot. Assembly of the robot will be finished in approximately 1-2 weeks. Materials Cost Description Each Arduino $4.27 Motor controller $1.50 2/pack of wheel $3.32 Sensor $3.40 Battery $2.00 2/pack DC Motors $1.80 Universal wheel $1.00 Female-to-Male Wire $0.25 Breadboard $1.43 Total $18.97 Group 16 was able to work well together whenever they gathered and did not display any significant weaknesses. Every member of the team has been able to contribute to the completion of the project in a relatively equal way. These contributions included writing the code for the robot, designing and printing the chassis, and taking notes on their progress so far. 4 III. PROTOTYPE DESIGN Group 16 aims to keep the robot under $30 to ensure that it can be bought by many children and parents of these children. To keep the robot as simple as possible, the plan is to keep it under 6 parts. This makes the robot easier to assemble. Group 16 also aims to keep the manufacture time of the chassis to be under a day. This is important as it makes sure that the robot is easier to recreate if it were manufactured again. To make sure that the robot can be created using certain 3D printers, the robot should be less than or 6’’x 6’’ x 1.5’’ The final candidate design of the product is 6’’ x 6’’ x 1.5’’. To improve the previous design that Group 16 had, the holes in the prototype were covered. The group also added another barrier to keep the motors in place. These dimensions were set in place to ensure that the enclosure would fit above the chassis and the robot components would be covered. The prototype design before the final had two main problems. The main problem was that the yellow DC motors could not connect well with the wheels. Another major problem was the size of the chassis. The chassis was too small. Group 16 decided to create a larger chassis to include all of the components. 5 IV. PRODUCT DEVELOPMENT You will need a few essential parts to build an obstacle-avoiding robot. These consist of: A microcontroller board: This is the robot's "brain," and it's what directs movement and interprets sensor data. Electronic circuits known as motor drivers are utilized to regulate the speed and direction of the robot's motors. Ultrasonic sensors: The robot uses these sensors to identify objects in its path. They operate by releasing high frequency sound waves, then timing how long it takes for the waves to return after colliding with an obstruction. The robot can move around thanks to its wheels and motors. Typically, two DC motors and two wheels are required. Power source: To power the microcontroller board, motor drivers, motors, and other components, you will need a battery or another power source. 1. The remainder of the components can be attached after the Arduino has been connected to the desktop or laptop so that the code can be uploaded onto it. 2. The Ultrasonic and Arduino must be connected. The Sonar will be connected to the Arduino through each of the four ports, and vice versa. 3. Vcc from the sonar to 3.3V on the Arduino, Ground from the sonar to Ground on the Arduino, Echo from the sonar to pin 8 on the Arduino, and Trig from the sonar to pin 7 on the Arduino would be the ports from the sonar and the Arduino. 4. The battery should then be linked to the Arduino using the red voltage wire from the battery. The red voltage wire from the H bridge should then be connected to the Arduino's VIN pin. The ground pin on both the H bridge and the Arduino should receive the black voltage cable. 5. The motors should be connected next. The Arduino's pins 4 and 5 should be connected to the H bridge's IN1 and IN2 connectors, and the connectors' OUT1 and OUT2 should then be connected to the motor's copper tabs. 6. To connect the second motor, the Arduino's Pins 9 and 10 should go into the H Bridge's IN3 and IN4 connectors, and the H Bridge's OUT3 and OUT4 connectors should go into the copper tabs that connect to the motor. The robot's primary issue was that the wheel couldn't revolve because of the thickness of the chassis. 6 V. SOFTWARE DEVELOPMENT The robot's primary function is to navigate around obstacles. Here are the codes with its function : // Define pins #define TRIG_PIN 9 #define ECHO_PIN 10 #define MOTOR_LEFT_FORWARD 6 #define MOTOR_LEFT_BACKWARD 5 #define MOTOR_RIGHT_FORWARD 11 #define MOTOR_RIGHT_BACKWARD 10 // Define variables long duration; int distance; int threshold = 15; void setup() { // Set the motor pins as outputs pinode(MOTOR_LEFT_FORWARD, OUTPUT); pinMode(MOTOR_LEFT_BACKWARD, OUTPUT); pinMode(MOTOR_RIGHT_FORWARD, OUTPUT); pinMode(MOTOR_RIGHT_BACKWARD, OUTPUT); // Set the trigger and echo pins for the ultrasonic sensor pinMode(TRIG_PIN, OUTPUT); pinMode(ECHO_PIN, INPUT); // Start serial communication Serial.begin(9600); } 7 void loop() { // Send a pulse to the ultrasonic sensor to start a measurement digitalWrite(TRIG_PIN, LOW); delayMicroseconds(2); digitalWrite(TRIG_PIN, HIGH); delayMicroseconds(10); digitalWrite(TRIG_PIN, LOW); // Measure the duration of the pulse duration = pulseIn(ECHO_PIN, HIGH); // Calculate the distance in centimeters distance = duration / 58; // Print the distance to the serial monitor Serial.print("Distance: "); Serial.print(distance); Serial.println(" cm"); // Check if there is an obstacle within the threshold distance if (distance < threshold) { // Stop the robot digitalWrite(MOTOR_LEFT_FORWARD, LOW); digitalWrite(MOTOR_LEFT_BACKWARD, LOW); digitalWrite(MOTOR_RIGHT_FORWARD, LOW); digitalWrite(MOTOR_RIGHT_BACKWARD, LOW); // Back up and turn around digitalWrite(MOTOR_LEFT_BACKWARD, HIGH); digitalWrite(MOTOR_RIGHT_BACKWARD, HIGH); delay(500); 8 digitalWrite(MOTOR_LEFT_BACKWARD, LOW); delay(500); digitalWrite(MOTOR_LEFT_FORWARD, HIGH); delay(1000); } else { // Move the robot forward digitalWrite(MOTOR_LEFT_FORWARD, HIGH); digitalWrite(MOTOR_RIGHT_FORWARD, HIGH); } } The following link will take you to Group 16's robot construction video: https://drive.google.com/file/d/1iyQpkLTcQJW_GxQ5aU3IQyFAsLOCJpVn/view https://drive.google.com/file/d/1HeDnmSElb6pmCez6IkuQOrQT0F_XTwMh/view?usp=share_lin k This movie shows an early robot prototype approaching the object (a group member's hand) with its exposed parts. The robot rotated along with the hand (item) when it moved at the beginning of the movie. The robot can be seen in the remaining scenes of the movie in a stationary position if the distance did not change for a while. The object may also be seen moving backwards away from and forwards toward it if it was too close to or too far away from the HC-SR04 ultrasonic sensor. The HC-SR04 ultrasonic sensor was used to create an "human following robot" in this film. Group 16 will also incorporate this sensor and this style of "human following" robot in the design of our ultimate product. The prototype of the robot is made to hollow humans. There were some software issues that we ran into, the main one being that an error would keep appearing after being uploaded to the Arduino, even though it would normally compile while it was being verified. This was annoying because the sketch editor just indicates the line of code that is incorrect. Another software problem was attempting to enable the robot to change directions as well, but since the Arduino would only run one string of code at a time, this wasn't feasible without running two Arduinos concurrently. 9 VI. PROTOTYPE TESTING Right now, our prototype is working as intended. We do have an improved design for our chassis being 3D printed, but it should also work with that model with even more efficiency. Because safety is one of our main concerns, the enclosure, which will go over the chassis, will completely take away access to open wires. As for the durability of our design, the thick paper material used for the enclosure is structurally sound, but cannot handle extensive weight. Certification Test Report Net Weight ~5 ounces Dimensions 6” x 6” x 3.8” Maximum Speed ~1 ft/s Assembly Time <5 minutes Power Requirement 1.5 Volts Sensors 2x Ultrasonic Sensors As of 4/27/2023, our robot meets all of the course engineering specifications. When testing functionality, “test walls” made out of thick poster paper were used to simulate curved walls, right angles, and zig zags. The robot failed a lot, but its behavior during each test was used to modify the code and test again. Testing the durability was more simple. The robot chassis with components in it were dropped from a series of different heights, and the structure of the chassis was checked after each drop. The chassis didn’t sustain any damage until the 10 ft. drop, however the group did notice that the wiring would constantly disconnect from drops from 6 feet and higher. We haven’t had many performance issues come up when creating our robot. A big one that we did have was when the wheels couldn’t turn even though they were connected to fully powered motors. When we discovered that it was because friction between the wheel and chassis wall was stopping the wheel, we redesigned the chassis to have a thinner wall and bigger wheel holes so that there was nothing to obstruct the motor. 10 VII. RECOMMENDATIONS Assuming that they had more time beyond this semester, group 16 would improve upon the design of their robot. While their simple design works perfectly, its boxy shape could be improved. A chassis with a more streamlined design along with specific sections to place each component would decrease the assembly time and difficulty. They would also consider soldering the wires to each of the components to lessen the chances of a wire coming loose while the children play with the robot. Lastly, group 16 would improve upon the code of the robot. Admittedly, the robot does not work 100% of the time. With more time to tweak the code and perform more tests, they would undoubtedly have a flawless robot to present. VIII. CONCLUSIONS The main goal of group 16's project was to design a robot that is capable of following a line. This would be done through the use of sensors mounted to the front of the chassis. The main finding that the group discovered during the creation process was the need to redesign the chassis so that it could be printed within a reasonable schedule. This has resulted in several other aspects of the robot's design being altered in order to accommodate for this change in the group's plans. The new chassis that was printed was much simpler than the original design and made use of a cardboard covering in order to conceal the mechanical components and prop up the sensor. 11 REFERENCES [1] M. Frank, I. Lavy, D. Elata, Implementing the Project-Based Learning Approach in an Academic Engineering Course, 1st ed., Israel: Kluwer Academic Publishers: 2003 [2] I. Ríos, A. Cazorlaa, J. M. Díaz-Puentea, J. L. Yaguea, Project–based learning in engineering higher education: two decades of teaching competences in real environments, 1st ed., Madrid, Spain, 2010 [3] R. N. Savage, K. C. Chen, L. Vanasupa, Integrating Project-based Learning throughout the Undergraduate Engineering Curriculum, 1st ed., Cal Poly State University, 2007 12