This past Saturday on October 24, 2015, our team went to the Purdue FIRST Workshop. Our team split up so we were able to sit in on as many classes as possible in order to gain as much information as possible. Some classes that we got to sit in on was FIRST In College which taught us about how, even after high school, there still are opportunities for us stay involved with FIRST Robotics! Another class some students visited was LabVIEW Basics, presented by Purdue PhD student Dustin Cruise. He showed how he uses LabView to control Mechanical Engineering Lab systems for flame height, flame color detection, and other instrument controls and monitoring. This allows him to set up very precise laboratory tests, with excellent repeat-ability. For us, Labview allows for robot repeat-ability in Autonomous Mode, and accurate control during Teleop Mode. He showed how to use different "data types", such as boolean, integer, floating, double precision, string, etc. These types of data are often required within our FIRST Robot code as well. Dustin also showed how to use clusters and dimensioned arrays. He pointed out that one of the great benefits of Labview of MatLab, and other such tools, is the ability to live-graph data. This can allow Teams to monitor things happening on the robot and be able to troubleshoot.
One of the other classes some of our students sat in on was Driving Straight with Gyro Control
Chris Elston (Team 1501) did an incredible demo of gyro control of their robot. He showed the robot starting off going quite straight, then making a 90 degree turn, and heading off very straight again. He also showed how their team implements a "probe" dashboard in Labview, with ALL Global Variables that are important, across their entire set of code! This was amazing! It allowed them to tweak things in their code, without any re-compile time... This could be critically helpful to Phyxtgears. He also gave a lot of info on the NAVX Gyro Board which directly mates with and interfaces too, with the RoboRIO. Making gyro functionality a breeze.
SENSORS: A slew of sensors was presented, and the most helpful time was the Q&A, which allowed us to inquire about various Labview Code Examples of how to implement and monitor these sensors. One important take-away was that successful teams have used "shielded cables" to quadrature and other analog-voltage sensors and encoders!! He also talked about how Talon SRX Controllers have embedded limit switches for tight control. And, he reviewed the Pull-Up Resistor Design of the internals of the RoboRIO; and, how to connect Normally Open and Normally Closed switches, correctly, to the RoboRIO. He said to check out http://kevin.org for various sensor and robot details...including for gryo controls, etc.
Some other students sat in on Appendage Design. This presentation showed different lift, arm, and such systems, with insight on weights and balance issues that different systems can present to the robot. And, other info about lift systems and how they can bind, how "four arm" system can lift keeping the fork flat horizontally, and how continuous and cascading lifts route their cables to provide better operation. Oh, and Phyxtgears specifically got KUDOS from the presenter for successfully implementing our 2015 Scissors Mechanism. He pointed this out, because typically Scissor Mechanism bind, and have maintenance issues.
Lastly, one of the other classes was Introduction to PID Control. Jeff Shelton, Purdue PhD student presented and demo'd PID feedback control. He showed how most times you can get away with just the Proportional implementation. But, adding Integration and Differential calculations into the control equations can reduce "ringing", which would show up in our robot as hysteresis swinging back and forth across the desired direction. He even had Labview demos, using the fully-built-in PID vi's (virtual instrument modules)! He was able to type in numbers and demo-live, on a servo controlled motor, how the control circuit will overshoot and then return to the desired final value, if the P, I, and D aren't correct. And, in the end, he caused the system to "race", by changing some values to their extremes. For us, this could cause our robot to completely overshoot the desired direction, or wind up going into a spin! For other systems, like a jet turbine, you could cause it to explode, if it "raced"! Kinda critical to learn how to control something appropriately!
There was so many more classes which our team was able to sit in on. The ones listed above was only a very small portion of the abundance of information we were able to learn that day! As an update on today, we mainly worked on cleaning up our building for an upcoming LEGO EV3 workshop event. So, tune in next week to read about how our LEGO EV3 event went!