The findings of this study confirm that educational robotics outreach programs for high school students improve their ability to apply STEM material. Robotics provides a platform for the application of STEM topics and therefore increases interest in STEM careers. Also, strategies for teaching advanced robotics concepts in high school training programs can be successfully employed to instruct the students in the theory and practical application of STEM concepts with improvement seen to result from this mini training program. The students demonstrated this improvement in the group’s performance in competition abilities and winning the double elimination tournament at the regional Botball competition. The instructor saw improvement in ability to precisely use and apply the mathematics and science knowledge to robotic activities.
The teaching strategies developed for this research revealed the following about the use of robotics to teach high school students STEM concepts and their application. First, the use of robotics provides sufficient incentive for the students to study STEM concepts. A clear objective, here the Botball robotics competition, gives direction to student training and provides a metric for evaluation of student performance. Students quickly absorb the concepts and recognize opportunities to apply them. Second, a physical demonstration of concepts or an assignment that introduces specific considerations necessary is helpful to students as they construct and program the
application. Finally, student interest in all aspects of the training and their recognition of the importance of concepts for Botball depends on demonstrations or examples. Students were less interested in STEM concepts when they did not see any specific application for
them. These findings demonstrate the direct relationship between student perception of the application of robotics to the Botball competition and the instructor’s goal of
improving their interest in and understanding of STEM topic through robotics.
This study demonstrated the successful adaptation of the researcher’s masters of science engineering degree robotics knowledge to coursework, activities, and exercises suitable for teaching high school students. This case study functioned as a first try to analyze the effectiveness of forming a co-op between Missouri S&T and local high school educators to provide after school robotics education to supplement and improve students’ science and mathematics competencies. It is believed that the use of graduate engineering mentors paired with high school students working on the Botball competition will improve student confidence and interest in STEM careers as was seen in this study. Teaching science classes an expanded robotics curriculum based on the learning material prepared for this study is expected to scale the results of this study and likewise show significant increases in students’ mastery of the concepts and ability to apply them to the Botball competition.
APPENDIX
A.1. Main Objectives of the Botball Competition
The following paragraph details the objectives students involved in a Botball competition are intended to be able to demonstrate. The list was compiled by the researcher. (http://www.botball.org/about -- Compiled 09/06/2010)
General objectives
The student will be able to:
• Apply system dynamics to optimize robot control in programming implementation (concepts required for completion: math and mechanics statics/dynamics).
• Demonstrate knowledge of navigation techniques for object avoidance and robot path planning (concepts required for completion: path planning and robot
localization).
• Program the microcontroller to use vision system output to control robot
localization (concepts required for completion: programming, vision algorithms, and motion control).
Detailed Objectives
The following list enumerates topic headings for each of the general objectives. The detailed objectives are concepts that the researcher viewed as beneficial to the students to perform well in the Botball competition that are organized under their appropriate general objective.
• Math and Mechanical Statics/Dynamics o Gearing concepts
o Lever concepts
o Wheel dynamics concepts
• Path planning and robot localization o Wall following algorithms o Line following algorithms o Obstacle avoidance algorithms
• Directional/positional accuracy calculations o Proportional servo/wheel control
• Programming, vision algorithms, and motion control o Conditional programming techniques
o Algorithm programming techniques o Position control through blob recognition
Botball Competition
The following list contains collected descriptions of the Botball competition from the organizers of the Botball competition and my personal description. Together, these definitions should give the reader a more complete view of the function and design of the competition.
• “Team-oriented robotics competition based on national science education standards” (http://www.botball.org/about).
• “By designing, building, programming, and documenting robots, students use science, engineering, technology, math, and writing skills in a hands-on project that reinforces their learning” (http://www.botball.org/about).
• The Botball competition includes a series of gathering and collecting objects robot objectives within two minutes competition time limit.
• To compete in the Botball competition, students must build and program a robot to maneuver on the game board without the need for remote control using an interactive C programming language.
A.2. Rolla Regional Robotics Team Objectives for 2010
This presents the main objectives for the Rolla Regional Robotics Team for the 2010 competition. The objectives were gathered from interviews of an instructor and a member of the 2010 robotics team. The objectives are presented chronologically (compiled by the researcher on 09/02/2010).
The student will have to:
• Use problem solving/creative design to design a robot.
• Integrate robotic sensors, specifically the Botball kit to form a working robot that can complete the assigned task in a prescribed time period.
• Program in the C programming language the provided microcontroller (XBC) to complete the assigned competition tasks.
A.3. INTERVIEWS
A.3.1. 09/02/2010 – Adam Nisbett – Rolla Regional Robotics Team Instructor
Interview conducted by the researcher. The question the instructor was to identify was the objectives of the Rolla Regional Robotics Team in terms of competing in the yearly Botball competition. All topic headings for the objectives summarize the responses of the interviewee.
Problem Solving Objectives
• Find a solution to a given problem.
• Prioritize competition goals and decide how to use the two robots to accomplish those goals.
• Use creativity to complete the problem as fast as possible without sacrificing accuracy.
Robot Objectives
• Use sensors to improve system reliability for better understanding of surroundings.
• Learn coding techniques with programming for checks and balances so that if the robot cannot accomplish a local goal, it can still complete the higher-level goals.
Mathematics and Programming Objectives
• Improve understanding of programming.
• Explain the function of mathematics in robotics.
Future Objectives
• Use a machine-vision system for superior location data over the basic sensor output data.
A.3.2. 09/13/2010 – Adam Nisbett – Rolla Regional Robotics Team Instructor
Interview conducted by the researcher. The question asked what topics were covered in training sessions to prepare the Rolla Regional Robotics Team for the 2010 Botball Competition. All topic headings summarize the responses of the interviewee.
Programming
• Loops
• If-Then statements • Variable assignment
Functions
• Hard Location (wheel rotations/touch sensors) positioning
• Introduction to machine vision (system not successfully implemented)
A.3.3. 09/05/2010 – Anonymous Rolla Regional Robotics Team Member
Interview conducted by the researcher. The question asked the interviewee to identify the objectives of the Rolla Regional Robotics Team for the Botball competition. All topic headings summarize the responses of the interviewee.
• Score the most points in the Botball competition. • Learn design methods and engineering design process.
• Learn autonomous robot design (specifically, how to program an autonomous robot).
A.4. COLLEGE ROBOTICS CLASS CONTENT FOR GENERATING LIST OF POSSIBLE TRAINING TOPICS
The content and purpose of a college-level general robotics class provided a basis for the selection of topics. The class was offered by the Computer Science Department at Missouri University of Science and Technology and offered to computer science,
computer engineering, and electrical engineering majors.
Course Title: “Introduction to Robotic Manipulations”
(http://cs.mst.edu/documents/sp2011_syllibus/CS_345-Wunsch.pdf compiled 09/06/2010)
Class Objectives
• Gain proficiency in system integration. • Improve real-world problem solving skills.
• Learn robotic architectures, sensors, navigation, and simulation.
Topics Covered
• Obstacle Avoidance Overview • State Machines, Simple Sensing • Wheeled Kinematics
• Path Planning • Arm Kinematics
• 3D (UAV, UUV) Kinematics • Machine Vision
• Image Processing
• Programming the LabRat Practical Robotics System • Advanced Obstacle Avoidance, Advanced Path Planning • Swarm Intelligence
• Mechatronics • Machine Learning
A.5. TRAINING DOCUMENTS A.5.1 Gearing Training Module Gearing Overview Worksheet
Intro: The purpose of the gearing overview is to explore how gears work and what they can be used for in robotics. It is not expected for you to master the material covered in this learning module the first time. Try to dig as deep as you can into the material and ask
questions your team members and other facilitators as well. This worksheet will help you understand and apply the material about gearing.
Tutorial Link: Gear Tutorial
Instructions:
1. Read as a group the Gear Tutorial and watch both videos at the end of the tutorial
2. Re-watch the gear video chosen at the beginning of this meeting by the random drawing and think about some of the following questions to aid in processing the video.
a. What types of gears are used?
b. Did the speed increase or decrease through the gearing?
c. Why do the gears turn different directions?
d. What type of devices would contain this type of gear assembly?
e. How can this type of gear assembly be used in the Botball competition?
f. What have I learned about from this video that I can explain to the other team[s]?
3. Present what you have learned about the gearing video you just watched to the other groups.
Lesson Recap: Gear Recap
Gearing Assignment Worksheet
Procedure:
Build a simple robot that can be programmed to go forwards and carry a load. The robot does not need to be able to turn left or right. The robot should be timed to travel in a straight line for 3 feet with two loads. Run one experiment with no load and a 1:1 gear ratio from the motor to the wheels, the second with no load and a high gear ratio of 4:1, the third with a 1 lb load and a 1:1 gear ratio, and the four run with a 1lb load and a high gear ratio of 4:1. Gear Ratio = Large gear diameter/Small gear diameter
Example: Robot 1 with no load uses a motor that rotates at 10 revolutions a minute. The motor shaft has a diameter of 10 mm gear on it, and the gear connected to the wheel is 30 mm. The gear ratio would be 3:1, and the resulting velocity would be 30 revolutions a minute.
Student Activity:
Write a program that makes the robot go forward three feet and then stop. Run each program, record the time required for the robot to cover the three feet and then compare
the time trials. (Return the robot to the starting position after each run.) After running the program four times, answer the questions at the bottom of the worksheet.
Gearing
Group #_______ Start Time: __________ End Time: ___________
How many revolutions did the motor complete in the 3ft test?
Revolutions:
#1
#2
#3
#4
Record time required for robot to reach end of run.
Time required:
#1
#2
#4
1.) If it takes ___ revolutions to travel 3 ft, how fast was the robot traveling
(___ rev/ ___ time)?
#1
#2
#3
#4
2. a.) Compare the two runs with no load on the robot, how many times faster was the run with the high gear ratio (#1 time/#2 time)?
b.) Compare the two runs with no load on the robot, how many times faster was the run with the high gear ratio (#3 time/#4 time)?
Gearing Tutorial
(www.gotbots.org, edited and content re-arranged by researcher, 02/20/2011)
Figure A.5.1.2: Gearing Tutorial Page 1
Figure A.5.1.4: Gearing Tutorial Page 3
Figure A.5.1.6: Gearing Tutorial Page 5
Figure A.5.1.8: Gearing Tutorial Page 7
A.5.2. Dynamics of Wheeled Robots
Dynamics of Wheeled Robots Overview Worksheet
Intro:
The purpose of the wheel dynamics overview is to explore how a robot moves from point A to point B and what speed it travels when making the trip. It is not expected for you to master the material covered in this learning module the first time. The material in this tutorial will use terms that you will not have seen yet in your education. Learn as you can into the material and ask questions your team members and other facilitators as well. This worksheet will help you understand and apply the material about dynamics.
Tutorial Link: Wheel Dynamics
Instructions:
1. Review as a group the Wheel Dynamics Tutorial and experiment with the RMF
Calculator. Alter some of the “Desired Robot Inputs” and see how this changes “Motor
Rotation Speed” under the heading “RMF Results:”
a. What factors can keep the robot from traveling the distance programmed in?
i. Friction?
ii. Wheel slip?
iii. Motor differences?
b. What is one reason the motors might not turn at the same speed?
c. Which will give you better accuracy at arriving at a precise distance?
i. A slowly increasing speed?
ii. Just turn on the motors. The tires will not slip?
d. How can the motors be better used in the Botball competition over last year?
e. What have I learned about from this tutorial that I can explain to the other
team[s]?
3. Present what you have learned to the other groups.
4. Complete the final wheel dynamics assignment to learn how to practically use the wheel dynamics equations on robots!
Dynamics of Wheeled Robots Assignment Worksheet
Procedure:
Build a simple robot that can be programmed to drive forwards. The robot must have two motors and a free-spinning rear wheel. For the first part of this unit, write a program to command the robot to drive forwards. Tune the motor voltage value until the wheels turn at the same speed as seen by a robot that can follow a line without input. For the second part of this unit, write a program to make the robot travel 3ft, and set a yardstick
underneath the robot and run the program 3 times. Lastly, write a program to turn the robot 90 degrees.
Student Activity:
Run first element until robot drives straight. Calculate wheel rotations needed to travel 3ft and then convert that number to ticks for program code. Run program 3 times. Write program to turn robot 90 degrees and test three times. After completing unit, answer the questions at the bottom of the worksheet.
Wheel Dynamics Group #_______ Start Time: __________ End Time: ___________ Part 1) Left Wheel Voltage: _________ Right Wheel Voltage: _________
Part 3) Left Wheel Voltage ______ and # of rotations _________.
Right Wheel Voltage ______ and # of rotations _________.
1.) Why are the wheel voltages not the same in the straight-driving test?
2.) Why does one wheel need to complete more rotations then the other one when turning?
Dynamics of Wheeled Robots Tutorial
(http://www.societyofrobots.com/mechanics_dynamics.shtml)
Robot Dynamics
Introduction to Mechanical Engineering Theory, Dynamics
While statics is the study of structures at a fixed point in time, dynamics is the study of structures over a period of time. Basically statics studies things that dont move, while dynamics studies things that do. Statics is concerned with moments, forces, stresses, torque, pressure, etc. Dynamics is concerned with displacement, velocity, acceleration, momentum, etc. If you want to calculate and/or optimize forces generated or required for a moving robot, this tutorial has the basics that you will need to understand. It is highly recommended you read the statics tutorial first as this tutorial will build off of it.
Displacement and Velocity
We all know what velocity is, but how do you design a robot to go at a defined velocity? Of course you can put a really fast motor on your robot and hope that it will go fast enough. But if you can calculate it you can design it to go your required speed without doubt, and leave the rest of the motor force for torque.
run over old people with. You know from experiments that old people can run at 3 feet per second. So what motor rpm do you need, and what diameter should your wheels be, so they cant get away or hide their medicine?
Figure A.5.2.2: Robot Attacking Person
Conceptually, every time your wheel rotates an entire revolution, your robot travels the distance equal to the circumference of the wheel. So multiply the circumference by the number of rotations per minute, and you then get the distance your robot travels in a minute.
Figure A.5.2.3. Robot Wheel Circumference Illustration
Velocity = circumference * rpm (1) Velocity = diameter * pi * rpm OR Velocity = 2 * radius * pi * rpm (2)
For example, if your motor has a rotation speed (under load) of 100rpm (determined by looking up the motor part number online) and you want to travel at 3 feet per second, calculate:
3 ft/s = diameter * pi * 100rpm (3) 3 ft/s = diameter * pi * 1.67rps (rotations per second) (4) diameter = 3 ft/s / (3.14 * 1.67 rps) (5) diameter = 0.57 ft, or 6.89" (6)
Robot Wheel Diameter vs Torque
faster your robot will go. But this isn't entirely true in that there is another factor involved. If your robot requires more torque than it can give, it will go slower than you calculated. Heavier robots will go slower. Now what you need to do is compare the motor
torque, your robot acceleration, and wheel diameter. These three attributes will have to
be balanced to achieve proper torque.
Motor Torque and Force
High force is required to push other robots around, or to go up hills and rough terrain, or have high acceleration. As calculated with statics, just by knowing your wheel diameter and motor torque, you can determine the force your robot is capable of.
Figure A.5.2.4. Motor Torque and Force
Torque = Distance * Force (7)
Distance = Wheel Radius (8)
Acceleration
But you also want to be concerned with acceleration. For a typical robot on flat terrain, you probably want acceleration to be about half of your max velocity. So if your robot velocity is 3 ft/s, you want your acceleration to be around 1.5 ft/s^2. This means it would take 2 seconds (3 / 1.5 = 2) to reach maximum speed.
Remember that:
Force = Mass * Acceleration (10)
There is one other factor to consider when choosing acceleration. If your robot is going up inclines or through rough terrain, you will need a higher acceleration due to
countering gravity. If say your robot was going straight up a wall, you would require an additional 9.81 m/s^2 (32 ft/s^2) acceleration to counteract. A typical 20 degree incline (as shown) would require 11 ft/s^2.
How do you calculate how much additional acceleration you would need for a specific incline?
acceleration for inclines = 32 ft/s^2 * sin((angle_of_incline * pi) / 180) (11)
You must add this acceleration to what you already require for movement on flat terrain.
Note that motor acceleration and torque are not constants, and that motor acceleration will decrease as motor rotational velocity increases. As it's very dependent on the motor, this tutorial will gloss right over it for simplicity.
Robot Motor Factor
The robot motor factor (RMF) is something I made up. It is simply a way I devised to make your life simpler so you can do a quick calculation to optimize your robot.