Archive for the ‘Student POV’ Category
In our newest edition of Student POV, we have Sanjay and Arvind Seshan, who are members of the robotics team, Not the Droids You Are Looking For (Droids Robotics) from Pittsburgh, PA, USA. They are actively involved in robotics all year around, whether competing themselves or teaching others. They constantly share some great pictures on their Twitter page of their team and outreach programs, so we’ve asked them to share some of their experiences in robotics …
Our first exposure to robotics was in 2010 when we decided to visit a FIRST LEGO League tournament at the National Robotics Engineering Center (NREC). We were excited by what we saw and, the next summer, we purchased an NXT LEGO Mindstorms kit and learnt to program using Carnegie Mellon Robotics Academy’s NXT Video Trainer.
We haven’t stopped since! In 2011, we started our own neighborhood-based robotics team with eight other friends. We have participated in FIRST LEGO League as well as VEX IQ contests since then. You can read more about us on our team website (www.droidsrobotics.org).
Benefits of Robotics:
Participating in robotics has taught us several programming languages, as well as general computer science skills and presentation skills. We now code in NXT-G, EV3-G, ROBOTC, Python and HTML as a direct result of robotics. We are comfortable interviewing experts as well as being interviewed about our work.
We use these skills outside of robotics contests to create webpages, and make online tools and programming tutorials. We even developed a robot in Minecraft that uses Python code to complete tasks. One summer, we participated in a 24-hour coding contest called Code Extreme. For that event, we created a bicycle renting system using a Raspberry Pi and an RFID reader.
Robotics has taken us to some interesting places: the inside of a Smart House for seniors, under the hood of an airplane engine, and even to a sulfur dioxide sensor manufacturing plant. These field trips have shown us many different STEM careers we might choose from.
Spreading our love for robotics:
We do many robotics outreach activities all year round. We have been invited to teach other students at the Carnegie Science Center and four local libraries in the Pittsburgh area. At these events, we try to introduce students to LEGO Mindstorms, VEX IQ, EV3-G, and ROBOTC. Kids are naturally attracted to robots, and our hands-on workshops have been very popular. In September 2014, we expanded this outreach beyond Pittsburgh by teaching students around the world to program robots using our own lessons and website (EV3Lessons.com).
The biggest challenge in robotics is probably robot reliability – getting your robot to “behave” as you intend again and again. It takes both software and hardware solutions in combination to improve reliability. To add to this problem, contest environments are often very different from practice environments. Kids who don’t have access to good programming lessons like the ones provided by ROBOTC, CS2N, Carnegie Mellon Robotics Academy’s EV3 Trainer, and EV3Lessons.com often feel frustrated.
The challenges in robotics are not problems you cannot solve. They are part of what makes robotics interesting for us. They teach us to come up with different techniques as solutions. They also teach us patience and perseverance!
Overall, robotics has given us opportunities and skills that we might not have discovered otherwise. The greatest opportunity from robotics is finding out what all a robot can do! People some times think that a child’s robot “can only do so much”. We have found that it can lead to learning a lot of advanced programming techniques.
Robotics has opened up a world of possibilities for us. We especially like sharing these possibilities with other people we meet at our workshops and demos.
You can find more information about their team here: www.droidsrobotics.org and on their programming lessons here: www.ev3lessons.com.
Alexis and Noah are back again with another Student POV! This time, sharing how they programmed a robovacuum in ROBOTC Graphical Language for the VEX IQ platform.
In this challenge, we programmed the Vex IQ robot to perform a task that was based off of the robotic vacuums that vacuum autonomously while avoiding obstacles. Our challenge was to program a robot that would perform like a robotic vacuum. Therefore it would be able to move autonomously while avoiding obstacles.
We started our program by putting in a repeat forever loop. This means that our program will continuously run until we stop it with the exit button on the Vex IQ brain.
We then made a plan on what we needed our robot to do. Within the repeat loop, we had to put an “if else” statement. An if else statement is a command that makes a decision based on a condition. With our program, our condition is the bumper sensor. The robot checks the condition of whether or not the bumper sensor is depressed. If the bumper sensor is not depressed, it will run the command inside the curly braces of the if statement. If the bumper sensor is depressed, it will run the commands inside the brackets of the else statement. We had to put this statement inside a repeat forever loop because without it, it would only make this decision once.
We then had to decide what task the robot was to perform when the sensor was depressed. So we set up commands within the curly braces of the else statement shown here.
Below is an image of the final program.
Now our robot is able to move around autonomously while avoiding different obstacles!
– Alexis and Noah
It’s Danica and Jake, back again! This time, teaching people about the slalom challenge, in ROBOTC Graphical Language for the VEX IQ platform. The challenge is to line follow using the VEX IQ color sensor without hitting the “mines”, also known as the cups.
In the graphical organizer, to line follow on the left side of the line, all you have to do is use the block, lineTrackLeft, to follow the right side you have to use lineTrackRight.
In this block, there are 3 boxes, one for the threshold, the second for the speed of the left motor, and the last box is for the speed of the right motor. In this line of code, the threshold of 105, the robot’s left motor is set to go at 50% power, and the right motor is set to go at 15% power.
This block has to be included into a repeat loop to make sure the robot continues to do this command for an allotted amount of time.
The repeatUntil loop has many options for how long the loop should run. For this challenge, we decided to use the timer.
The timer is set at 7000 milliseconds or 7 seconds, so it has enough time to make it through the slalom. Our finished program looks like this:
Now you can line follow in any challenge you would like, the possibilities are endless!
Hi, we’re Alexis and Noah, two eighth grade students at Hopewell Memorial Junior High School. Earlier this week, we did the Robo 500 challenge. To write the programs, we used the recently released ROBOTC Graphical software for the VEX IQ. The goal of the challenge was to complete two laps around a Vex IQ storage bin.
We completed the challenge by using timing and degree measurements. The first step was to get the robot to move forward. For this, we would use a basic motor command.
In ROBOTC Graphical, it gives you the option to choose the values in which you want your motor to run by, such as time and rotations. In this challenge, we chose time.
From there, we experimented with different time values until we found the timing that was needed to finish the side of the challenge before the turn. Through testing, I found that 3.7 seconds covered the distance needed.
Now, what was left was the largest challenge of the program, the turn. Timing a turn can be challenging on seconds alone. So, I used degree turns. I started with a 180 degree, which brought me around about 45°. Due to the drift of the robot when it moves forward, I had to make the turn slightly less than double the 180° turn. I settled on a value of 300°.
Once the values were established, the rest was just repeating the commands so the robot would go around the whole box. Here is an example of my final program.
We were then thinking about how the turns were a hassle with trial and error, and contemplated a better way to turn. So, we decided to use a gyro sensor to have the most accurate turns possible.
To start out the program we had to reset the gyro sensor so the sensor could record the degrees from zero.
From here we moved forward to the end of the course for time, and we moved forward for about four seconds. Then we used a while loop. A while loop is set to check a condition and while the condition is true, it performs what is inside of the curly braces of the while loop. In this case the condition is while the gyro sensor value is less than 90 degrees.
We would then repeat these actions until the robot has made two full laps around the course. Here is the program for one lap. To do two laps I would just repeat this program again.
We were able to finish our programs efficiently in a short amount of time due to the design of the new graphical programming. This new design enables you to drag over commands from the function library; such as, moving forwards and backwards, turning, and sensor commands while avoiding the hassle of painstakingly typing each command. This reduces the time spent on each program and allows us to speed up the pace at which we program, and we are able to complete challenges in a shorter amount of time.
To the left, we have an image of the function library and a depiction of what would happen if you dragged a command into your program. The command would line up with the next available open line and would give you options as to what values you wanted to program your robot with.
If you’re a student who would like to contribute to the blog, let us know at firstname.lastname@example.org.
We are really excited to introduce a new blog series called Student POV! This series will feature students giving their perspective and advice for programming in ROBOTC. If you’re a student who would like to contribute to the blog, let us know at email@example.com. Welcome our first student bloggers, Danica and Jake!
Hi it’s Danica and Jake, and we just completed the Labyrinth Challenge. We are both 8th grade students attending Hopewell Memorial Junior High. We both used VEX IQ Graphical Programming Language to complete this challenge since it is a new software recently released by ROBOTC. The first challenge we had to accomplish was the labyrinth challenge. The labyrinth is a square, where the robot has to travel from the starting point, to the ending point by doing a series of basic commands.
Our first task was to make our robot move forward.
This block is telling the robot to go forward at 50% power for 5 rotations, but you can also set the robot to move for degrees, milliseconds, seconds, and minutes.
Our second task was to make the robot turn left.
When turning left, you can use multiple commands such as degrees, rotations, milliseconds, seconds, and minutes. You can also use this for turning right.
One problem while programming for this challenge was making 90 degree turns. To get a perfect 90 degree turn, with timing, you had to go through a lot of trial and error. After figuring out the perfect turns, based on timing, the time for moving forward, and the stops to prevent drifts, we had to string all the commands together to form the program for the challenge. This what the finished program looks like:
An easier way to perform more accurate turns, is with the use of the gyro sensor. The gyro sensor allows you to count how many degrees you turn. This simply means that you can actually tell the robot to make an accurate turn. You also have to remember to reset the gyro after every use, and it will make this program a lot easier.
To reset the gyro you have to use this block:
The finished program with the gyro sensor looks like this:
In this program we used the setMotor command instead of turnLeft or turnRight. This command is better to use in the while loop since you only have to set the speed of the motor. The condition in the while loop determines how long the robot turns. As a result, we just need to set the motor speed with the setMotor command.
A cool feature you can use in RobotC is commenting out your code. You can also do this in the VEX IQ Graphical Organizer. It is much easier though since you only have to click the number on the block of code you want to comment out.
Commenting looks like this:
These comments allow you to test only one turn out of the whole code, which is very useful during the trial and error stage.
Now it is time to go try the Labyrinth challenge on your own, either with or without the gyro sensor. Have fun!
We had the chance to interview the lead programmer for FTC Team 5037, Kristen McKellar. She is an impressive programmer with a bright future ahead. Check out her story on how her knowledge of ROBOTC helped her win the National 4-H Engineering Challenge …
Are you a ROBOTC student who wants to share your story with us? If so, send us an email at firstname.lastname@example.org!
We interviewed Kjersti Chippindale and Violet Replicon, who are the mentors for the FIRST Tech Team 6002 – The Basilisks, and asked them to tell us about their FTC robotics experience. They used to be members of FTC Team Antipodes, but decided that they’d rather spend their Senior year mentoring two brand new teams in hopes to keep the robotics tradition alive at their school.
Are you a robotics student, mentor, coach, or teacher who wants to share your story with us? If so, send us an email at email@example.com!
As we mentioned before, every year at Worlds, we get to meet some amazingly talented students. Jacob Mason was one of those students. He is the lead programmer for FTC Team 3486 the Techno Warriors Advanced. Check out his story in this interview:
Are you a ROBOTC student who wants to share your story with us? If so, send us an email at firstname.lastname@example.org!
Every year at Worlds, we get to meet some amazingly talented students. This year was no different! One of those students was the lead programmer and captain for the all-girls VEX team 355E, Mia Garbaccio. She is an avid programmer with an organized binder of code that impressed the entire Robotics Academy team. Check out her story and programming binder in this interview:
Are you a programming student who wants to share your story with us? If so, send us an email at
We are proud to announce that Landon Woollard from Shasta High School in Redding, CA is the first student to finish the CS2N ROBOTC student certification!
Mr. Brian Grigsby teaches the 2-hour per day, 5 days per week Career Technical Education Space, Science, and Engineering class at Shasta High School. Mr. Grigsby states, “[In this class,] we combine engineering principles with the VEX system with science exploration through NASA data programs (like the Mars Exploration Student Data Teams and the Student Planetary Investigator program) to emphasize how STEM related disciplines work together in our world.” As part of the curriculum he has incorporated CS2N.org and the ROBOTC certification, along with the physical part of building and programming. Students taking the class get lab science and elective credit for the University of California A-G requirements. The class also satisfies their computer proficiency for graduation.
Mr. Grigsby and Landon were nice enough to answer some questions for us…
What ways has the ROBOTC certification program and CS2N helped you reach your teaching goals?
Mr. Grigsby: It has allowed me to have another measure of student understanding and assessment to my course. By including ROBOTC certification, I am able to know how much the students truly understand about programming and where they need extra help.
Can you explain how students have responded to CS2N and the curriculum?
Mr. Grigsby: The students had been trained in the area of building and testing physical robots, so adding CS2N into the mix gives students another outlet to experience programming. They can also design programs and test them on the virtual robots before they test it on their physical robot. If there are any problems with motors, encoders, or other parts to the robot that are causing problems with their programming, they can go to CS2N and the Robot Virtual Worlds to make sure their programming is solid. Then they can troubleshoot their physical robot, and learn how to better engineer what they have built.
What is your favorite part of ROBOTC?
Landon: My favorite part of the ROBOTC course was the creativity required. The creative freedom allowing the accomplishment of various tasks is something that isn’t found in very many classrooms today, and really made it fun and challenging.
What did you find to be the most challenging part of learning ROBOTC?
Landon: What I found to be the most difficult part in learning this language was my previous coding knowledge in Java. I frequently found myself trying to implement many Java keywords into my ROBOTC code and trying to use methods from the
Java API, which the compiler didn’t like.
What does it mean to have a ROBOTC Certification?
Landon: To me, the ROBOTC Certification means better opportunities. As a student who wishes to study computer science and software design in college, this class and certification course was an excellent opportunity to further expose myself to the coding aspects of computers. Also, having a physical documentation to show to college admissions will set me apart from every other student, hopefully increasing my chances of acceptance.
Landon’s classmate, Marisa Kuntz, was the first female to finish the certification a few weeks later. We want to congratulate Landon and Marisa, as well as Mr. Grigsby!
To find out more about the ROBOTC student certification, visit:
Note: This is one of the first schools to work through our ROBOTC certification. We are slowly rolling this out to all teachers and students, through CS2N, in the very near future. Check back for more details in the next few months!