2010 Innovation in Control Submission - Parker Lusk - Shockwave Team 1742
As an instructor and mentor for Shockwave - Team 1742, I would like to nominate Parker Lusk for the 2010 Dean’s List. Parker’s intellect is only matched by his maturity and willingness to help others. He has distinguished himself over the past two years in three key areas: 1) As a recognized leader of Team 1742, he has earned the respect of the entire team by writing a sophisticated LabView program which gives our drive team unprecedented control. 2) In 2009, Parker helped create and mentor the FIRST Lego League Team 9820 Aftershock. 3) Over the past two years, Parker has helped recruit high school students while promoting FIRST and STEM education at both the local and national level. (Science Technology Engineering Mathematics)

As a programmer, Parker created a program utilizing encoders, gyros, and ultrasonic range finders to give our team complete control of this year’s robot. He is by far the most gifted programmer I have seen in 16 years as an educator. He shows initiative and takes the time to teach other students while he learns. The code written by Parker with an explanation of the program is listed below. He has posted it in the hopes it can help other teams across the country.
In August 2009, our team decided to create two FLL teams and put our high school students in the role of mentors. Parker identified a former elementary teacher as the coach and supported the team through the entire season. His support and mentoring helped them earn a visit to the sweet sixteen in their rookie season. More importantly, he has changed the lives of 10 future FRC students.
Parker has worked with other students in our program promoting STEM education opportunities at our five local high schools. Through his efforts, students have learned about FIRST Robotics and the impact it can have. In November 2009, Parker and 3 other students presented at the second annual Project Lead the Way National Symposium on High School Engineering Education.
If I could choose one student to represent the 42,000+ students involved with FIRST Robotics, It would be Parker Lusk. He has a maturity beyond his chronological years and is the best example of a gracious professional I have seen in a high school student. While working through the challenges of demanding classes and a tough FRC build season, he never forgets to drag others along with him as he succeeds.
Final Bot v1.3 – Program Explanation
Begin.vi
Components to open:
Module / Channel |
Device |
Parameters |
192.168.0.90 |
Camera |
160x120; 15fps |
N/A |
Watchdog |
|
Slot 4 / PWM 1 |
Drive Motor (Left) |
Inverted |
Slot 4 / PWM 2 |
Drive Motor (Right) |
Inverted |
Driver’s Station / USB 1 |
Joystick 1 |
|
Driver’s Station / USB2 |
Joystick 2 |
|
Slot 1 / Analog 1 |
Gyro |
Gain: .00721 |
Slot 4 / PWM 6 |
Servo – For shifters |
|
Slot 4 / PWM 3 |
Motor – For Kicker.Motor |
|
Slot 4 / DIO 1 |
Encoder – Kicker Source A |
|
Slot 4 / DIO 2 |
Encoder – Kicker Source B |
|
Slot 4 / DIO 3 |
Kicker.Lower Limit Switch |
Wired Normally Closed |
Slot 4 / PWM 7 |
Servo – Camera Pan |
|
Slot 4 / PWM 8 |
Servo – Camera Tilt |
|
Teleop.vi
In Teleoperated mode, drive team responsibilities are separated into two roles—the driver and the gunner. The driver moves the robot and chases soccer balls. Once the beater bar has a hold of the ball, the driver presses a button that will engage the ball by grabbing it with grabbers. Then, the gunner rotates the Bot to the target by using the gyro and vision processing in conjunction with the Rotate to Target.vi. Once the Bot is in position, the gunner kicks the ball based on what zone the Bot is in. For each zone, there is a button that controls the speed of the kicker.
Autonomous.vi
In Autonomous mode, the Bot can kick all the soccer balls in its zone to the goal. If the Bot is in zone 3, there are three balls and the Bot will kick 3 times, getting the balls to at least zone 1, if not into the goal.
Joystick Button Case.vi
This VI makes for a much simpler way to handle which Joystick button was pressed. Instead of making a True/False case for each button in question, build a Boolean array of the buttons and feed that array into the Joystick Button Case.vi. The ElementID string that comes out of the VI will specify what button was pressed, and that string can be put into a case structure and for each button pressed, a different case will be called.











