Archive for the ‘Computer Science’ tag
I’d like to welcome a new section to our blog called Teacher’s POV (Point of View) that will allow guest bloggers who are teachers, mentors, and coaches to share some of the lessons they have learned while teaching robotics. Our first guest blogger is a good friend to the ROBOTC family, Jason McKenna, a K-8 Gifted Support Teacher in the Hopewell Area School District outside of Pittsburgh, PA. He has been kind enough to put together some blogs about his experiences teaching robotics.
As teachers, we are constantly looking for ways to make the subjects that we are teaching relevant. Students are always asking when they will ever use a particular concept, or how what they are learning applies to a real life scenario. Admittedly, teachers sometimes have a hard time answering those questions.
Thankfully, teaching Robotics and computer programming puts those questions to rest. Because technology is so ubiquitous in students’ lives, students will immediately see the benefits of learning how to program. Moreover, Robotics is the perfect platform to show the application of math and science concepts to everyday scenarios.
In addition to all of that stuff that we educators like to talk about, students just have fun programming a robot to do something. Add in the allure of some competition, and you have yourself a pretty engaged classroom.
With that in mind, I decided to have my 8th grade students participate in a line following car race. Students were to program their robots to follow a line as fast as possible. Of course, the trick is the robot has to stay on the line. While following a black line, the robot has to decide (using a light sensor) if it is on the black line or on the white part of the mat. For the competition, the students added some PID concepts to their line following. As many of you already know, PID is used in many control systems, from your car, to your homes, to large scale factories. The students and I discussed how PID is basically a control system that tries to calculate an error and make adjustments to a control system based upon that error. The robot calculates an error (how far it is off the black line) and then makes adjustments to the motor speed based upon the error. That is what makes it proportional: the movement is based upon the error. Large error equals a large correction whereas a smaller error creates a smaller correction.
The students were able to apply some of the concepts they are currently learning in Algebra to their program. For example, they are utilizing the slope intercept formula (y=mx+b) to find their turn. Y is the turn distance, x is the light sensor reading (the error), and m is the change in y (maximum and minimum turning power) divided by the change in x (maximum and minimum light sensor reading). Students get to apply an important math concept to a fun and engaging scenario that has real-world applications.
The students then decided that they wanted to see what would happen with two light sensors. The students adjusted their code, conducted some iterative testing, and surveyed their results.
In conclusion, one really sees how Robotics and ROBOTC meld perfectly with the goals of a STEM classroom. Really, the only limitation is a teacher’s (and students’) imagination.
- Jason McKenna
Thank you Jason! If you are a teacher who would like to share your experiences on our blog, send us an email to firstname.lastname@example.org.
Top Images - Code designed by Brennan Novak, Teacher designed by Juan Pablo Bravo, and Robot designed by Simon Child all from The Noun Project.
We will be hosting our final April Robot Virtual Worlds Google hangout tonight at 6pm EST! We will be discussing the competition environments in RVW. This will be your last chance to enter the ROBOTC annual license drawing and get your 15% off discount code for Robot Virtual Worlds! Join us at http://www.robotc.net/hangouts
If you missed any of that past hangouts, check them out here …
Week 1 – What is RVW?
Week 2 – Curriculum Companion
Week 3 – Level Builder with Model Importer
Week 4 – Gaming Environments
Week 5 – Competition Environments
While scouring Vimeo a couple weeks ago, I came across a “Vimeo Staff Pick” time-lapse video featuring beautiful landscapes, lakes, mountains, and skies called “Hdr Skies.” When looking in the description for more details, I noticed that ROBOTC was listed! I sent the creator, Tanguy Louvigny, an email to learn more about his process with ROBOTC and time-lapse photography. He was nice enough to answer some questions for us …
- When did you start using ROBOTC?
I started using ROBOTC some 3 years ago, when I started my TETRIX based time-lapse rig project.
- What made you decide to program your time lapse rig with ROBOTC?
Version 2 of my rig used three motors to move the camera on three different axis, and was thus more complex to program. That’s when I decided I needed something more convenient and powerful to be able to control the TETRIX encoders and synchronize the motors with the camera shots. ROBOTC was the solution to my problems and worked like a charm.
- What did you use to build your rig?
My goal with this project was to construct a motorized base for my camera to add movement in my time lapse clips. The first, one axis version of the rig simply used a LEGO MINDSTORMS NXT 2.0 kit to support the camera. For version 2, I needed more robust parts and powerful motors to be abled to sustain the weight of new and bigger cameras, so I went for a TETRIX kit that I would couple with the MINDSTORMS brick to control the motors.
- How long was this video in production?
The ”Hdr skies” video was a compilation of one year of time lapse shots. Since then, as I shoot more, I try to achieve a new video every six months or so.
- How has your experience been with ROBOTC?
I had a great time programming with it, I already knew a bit of C, so I found it very easy and natural to use, in fact so simple I was rapidly able to code all my ideas with ease!
- Do you have any other projects coming up that you are using ROBOTC with?
My next project is a new TETRIX based five axis rig using a motorized jib. I’ll use ROBOTC to control the motors and build a new MINDSTORMS interface to program the moves. I’m also exploring new possibilities to use ROBOTC to fire the camera directly, thus simplifying the robot/camera synchronizing part.
Tanguy also mentioned that all his time lapse videos are made with the rig.
Thank you so much Tanguy for sharing your awesome project! Do you have a cool projects that you created using ROBOTC? If so, let us know! We’d love to feature it here.