Improving Quality of Decision-Making in Android Robots Anshuman Radhakrishnan, Nikhil Murthy, Jennie Wang
Our Team - Batteries in Black: FIRST Tech Challenge team since 2007 - Attended the World Championships multiple times - Received the “Sensor Savant”Judge’s Award at the 2015 World Championship
FIRST and FIRST Tech Challenge - FIRST: For Inspiration and Recognition of Science and Technology - FTC (FIRST Tech Challenge): FIRST program for high schoolers that provides an opportunity for “real world engineering” - Students design and build a robot and program it using Java-based software
Components of an FTC Robot
Decision Making - Over the course of the game, there is an Autonomous portion where the robot needs to operate without human input - In this portion, more points can be scored if the robot can sense its environment and make decisions - Examples of Decisions to be made: - Choosing between two different paths if one path is blocked - Stopping the robot before it tips - Determining the position of a randomly placed object
Challenges in Decision Making and Motivation - Dynamic environment - Variations in positions and conditions of game elements - Motion of other robots - Decision must be made based off of external factors - Must be thoroughly tested
Machine Learning - Used widely in computer science and other fields - “Gives computers the ability to learn without being explicitly programmed” through data - Allows robots to learn from past scenarios and adapt to new situations - Data is provided in terms of values for “features” or variables which are suited to the task
Machine Learning: Context of Robotics
Testing of Algorithms - When collecting data, we partitioned our data into training and testing sets- one set is used to develop the model, and the other is used to evaluate the model - After performing an evaluation of the test set accuracy, the model is implemented into the main Autonomous routine - There may also be a cross-validation set used to tune hyperparameters for an algorithm, but that was not needed here
Classification vs Regression - Classification involves identifying to which category something belongs to - Regression involves estimating the value of some response variable - In robotics, we are more concerned with Classification
Survey of Classification Methods - Logistic Regression Fits a Sigmoid Function to Data and returns a Probability - - Support Vector Machines Finds the optimal separator between classes - - Naive Bayes Assumes feature independence to return a Probability - - Decision Tree Classifiers Use Decision Trees to map feature values to classes - - Neural Networks Used in Deep Learning -
Why Logistic Regression is preferred (for Robotics) - Easy to interpret (returns a Probability) - Overfitting can be reduced with Regularization - Easy to update the model (Online Learning) - Works better for data that is not cleanly separable (probability threshold can be adjusted)
Implementation - scikit-learn (Python) - caret (R) - Octave/Matlab
Case Studies - Case Study 1: Use an IR seeker sensor to determine the position of an IR beacon from a set of possible positions - Case Study 2: Use a Color Sensor to determine the color of a Beacon (Red or Blue) - Case Study 3: Use internal sensors in an Android Phone to determine the robot’s orientation, allowing the robot to detect tipping
Case Study 1: IR Seeker - Determine which position an IR beacon is placed - Ambient Lighting Conditions can make detecting the IR Beacon difficult - Machine learning allows the robot to determine this position in different environments - Collected data of the possible orientations of the beacon - Using a One vs. All method with three logistic regressions, the position of the IR beacon can be determined
Case Study 2: Color Sensor - Determine whether a color is either red or blue (randomly assigned) - A machine learning algorithm allows the robot to classify the color under variable lighting conditions - Use an RGB sensor that outputs many values - These are inputs into the machine learning algorithm
Case Study 2: Machine Learning Program - Four datasets were used for training, four for testing - Data was averaged over time for each training dataset - Tested under four different lighting conditions - Algorithm performed with 100% accuracy on predicting the right color - These parameters correspond to each feature (column vector shown to the left)
Case Study 3: Orientation Determination - Use internal sensors within the phone - Collected data from five phones in five different orientations - 60% of the data was used for training - 40% was used for testing - Used to detect when the robot is tipping and in what direction (Multiclass Classification)
Case Study 3: Data - Sensor data gathered from the internal sensors in each position (1 through 5)
Case Study 3: Confusion Matrix - Confusion Matrix above shows that the algorithm performed with 100% accuracy
Future Work - Using Neural Networks to tune PID controllers for moving straight and turning - Reinforcement Learning such that the robot can learn to perform an Autonomous Program with less explicit programming - Object Recognition with Deep Learning
Conclusion - We investigated utilizing machine learning to improve decision-making in the context of robotics - The key contributions of this presentation are: - Developed a process to determine when Machine Learning is applicable in Robotics - Identified key algorithms to use and determined a good algorithm for decision-making in robotics - Performed several Case Studies in the context of the FIRST Tech Challenge
Recommend
More recommend