Archive for the ‘Classroom’ tag
The VEX IQ robot is a great, new option for middle and high school robotics teachers. With anything new in the classroom, it’s important to have some ideas on how to best implement the new tools in the classroom.
There are some features of the VEX IQ system that teachers will notice initially. The VEX IQ brain has 12 identical ports. This means that any device (either a sensor or a motor) can be plugged into one of the ports. Also, the VEX IQ motors are smart motors; therefore, the motors can hold a position and resist external movements. Some of the sensors for the VEX IQ include a Bumper sensor, a Touch LED sensor, a Gyro Sensor, a Color sensor, and a Sonar sensor. One nice asset of the motors and sensors is the fact that they each have their own upgradeable firmware. As a result, if new features are added, the firmware for the device can be upgraded, as opposed to buying a new sensor and/or motor.
With the VEX IQ Starter Kit, there are over 850 structural and motion components. That many parts allow teachers and students lots of flexibility when it comes to building a robot. But, that’s only if they can find the parts they need. One of the first things that teachers need to do is get their kits organized. The Starter Kit comes with a storage bin and tray that help, but the amount of parts means that different pieces will need to be stored together in the storage bin. If the students know what pieces are located in each section of the storage bin, it will make the building process much easier.
The base robot for the VEX IQ is the Clawbot. The Clawbot include a gripper and a lifter arm. These features immediately grab the attention of most students; they love the idea of being able to lift and grab an object. For teachers, it is a good idea to build the Clawbot before allowing the students the opportunity to do the same. This gives teachers an idea of what problems the students may have as they begin building, and it also allows the teachers to help those students that run into problems. You can’t start anything until all the students have their robot built. Having some groups finish their robot, while other groups lag behind can be an issue. Building a robot first, puts the teacher in the best position to get everyone started off on the right foot.
When it comes time to start building, students can work on different parts of the VEX IQ Clawbot. You can divide the Clawbot into these sections: the Base, the Claw, the Tower, and the Ball Holder. One suggestion to organize a class would be to have two students work on the Base, while one student each works on the Claw, the Tower and the Ball Holder. Or, you could have one student work on each section. It’s important to note that however the class is organized for the building of the Clawbot, there should be a uniform way that the students attach the motors and sensors.
The battery for the VEX IQ robot brain comes charged, so a teacher does not need to worry about doing that preliminarily. So, once the Clawbot is built, the next thing that needs to be done is install the ROBOTC firmware and update the VEX IQ brain, motors, and any sensors that may be on the robot. Click here for directions on how to install the ROBOTC Firmware.
To update the VEX IQ brain, motors, and sensors, the VEX IQ Firmware Update Utility needs to be downloaded to your computer. The Firmware Update Utility and directions on how to utilize it can be found here.
With the next installment, we will take a look at how to set up your first programming lesson. In the meantime, teachers can take advantage of a few readily available resources at Carnegie Mellon’s Robotics Academy VEX Teacher Site and the ROBOTC Wiki to help with questions concerning programming the VEX IQ with ROBOTC.
We are very happy to release the newest version of ROBOTC for VEX Robotics – VEX IQ Preview. Download the new Preview Version today from the ROBOTC Preview Website.
This new preview version includes ROBOTC’s Natural Language 2.0 for the VEX IQ platform. Robot programming has never been easier now with the new and improved Natural Language 2.0. Learn more about Natural Language and download our new documentation at www.vexteacher.com
Here’s a few notes before you get started with the new build:
1. Make sure you use the VEX IQ Firmware Update utility to update your VEX IQ Brain to version 1.06 – This is important for using the new Preview Version of ROBOTC.
2. If you are using the VEX IQ Color Sensor, there is a new firmware version available for it as well. Download the 1.06 version into your Brain, then connect your VEX IQ Color Sensor and use the “Update”
3. Inside of ROBOTC, you’ll want to download the latest ROBOTC firmware (version 10.03) to your VEX IQ. Use the “Robot -> Download Firmware” option to do this.
After that, you should be good to go! Take a look below for the official change log and let us know if you have any questions/concerns or run into any issues.
VEX IQ Preview #3 Changelog
- Added support for VEX IQ with Natural Language 2.0 - Documentation Available Here!
- Support for VEX IQ Distance and Gyro Sensors
- Modified Motor Encoder based commands – encoders now operate in “Degrees” by default (360 counts per revolutions – used to be 960 per revolution)
- Numeous commands have been updated to fix the first letter being a “capital” letter.
- Update some function name commands to better reflect their usage. This may cause an error in your program and we apologize in advance.
- setMotorPosition -> moveMotorTarget (relative movements)
- setMotorPosition ->setMotorTarget (absolute movements)
- getMotorEncoderValue -> getMotorEncoder
- getServoPosition -> getServoEncoder
- getColor12Color -> getColorName
- getColorProximityValue -> getColorProximity
- getColorSaturationValue -> getColorSaturation
- getColorHueValue -> getColorHue
- ROBOTC File System for VEX IQ is operational – users have the ability to store up to 64 programs at the same time!
- Functions Library (left side-bar in ROBOTC) now has hover over text for VEX IQ Motor, Sensor, and Natural Language commands.
- Fixed issue where COM port “Select Port” dialog was being displayed twice when user hits “Cancel”.
- All sample programs updated to reflect new command names and features.
- Added sample programs for VEX IQ Gyro and Distance sensors.
- Added sample programs for VEX IQ Natural Language 2.0 functionality.
- Numerous other bug fixes and enhancements.
The ROBOTC Curriculum contains quizzes to help assess what students have learned, or for that matter, what they haven’t learned. However, as we discussed in a previous blog post, one of the great things about teaching ROBOTC is the ability to differentiate instruction to your students. This can present some issues when it comes to assessment. If a student is progressing quickly through the curriculum, he/she cannot have more assessments than another student. Students all have to be assessed equally. This then begs the question of how you can have the students move through the curriculum at different rates while still assessing them equally.
One of the ways I’ve been able to address this is through the use of rubrics, like the one below:
The programmer uses Pseudocode within the comments to display a logical plan to solve the Mission.
Unsatisfactory - No Pseudocode included.
Satisfactory - Pseudocode is included but it does not display a logical plan to solve the mission.
Good - Pseudocode is included and it displays some logical thinking and something of a plan to solve the mission.
Exemplary – Pseudocode displays a logical plan to solve the mission. The plan is well thought out and clear.
The programmer is able to solve the Mission efficiently and repeatedly.
Unsatisfactory - Less than 70% of the mission is completed.
Satisfactory - Between 70 and 80% of the mission is completed.
Good - Between 80-90% of the mission is completed.
Exemplary - All of the mission is completed, and is able to be completed repeatedly.
Unsatisfactory - Code is hard to read and understand.
Satisfactory - Code is readable but is difficult to understand completely.
Good - Code is readable and understandable, but unclear is certain places.
Exemplary - The code is tabbed well and takes good advantage of white space in order to make it very easy to read.
Unsatisfactory - No Comments included.
Satisfactory - Basic Comments are included but some important parts of the code are not explained.
Good - All of the code is commented but explanations could be more complete.
Exemplary - All of the code is commented and the comments are thorough and comprehensive.
The nice thing about this rubric is that the student does not have to complete the programming challenge in order to be assessed. Just like in any other class, students might not learn a concept to mastery on its initial presentation. You never want a student to reach their frustration level, so this gives the teacher an opportunity to clear up misconceptions while still assessing the student.
Another thing that a teacher can do is utilize Exit Slips. Once again, if students are working at different instructional paces, then the Exit Slips can general. You can ask questions like, “What part(s) of the programming challenge were you able to finish today?” This type of metacognition is valuable for students as they complete projects that last several days. Or, the exit slip can be a review of previously learned concepts. Either way, Exit Slips can play an important role in both teaching and assessing.
Fortunately for teachers, robotc.net contains a wealth of information for extension activities. The ROBOTC blog contains a section entitled “Cool ROBOTC Projects.” Here, there is a wealth of ideas that teachers can look at in order to create an interesting activity.
Moreover, the ROBOTC forum contains a section dedicated to projects. This can also be researched in order to find ideas or interesting projects for your class. Also, the forum can be used to ask questions as you begin to plan and implement a project. Here, you really get the best of both worlds: A wealth of ideas and choose from and a dedicated community willing to help you with those ideas.
Have a great school year!
So your class has gone through the ROBOTC Video Trainer Curriculum (VEX or LEGO), are comfortable programming in ROBOTC, and the robots are starting to zip across the room: however, some students are absorbing the programming knowledge quickly, while others are taking a little longer to grasp the core concepts. Where should a teacher look to if a student (or classroom) advances beyond the pace of the class? In this post, we will take a look at some of the many advanced programming resources available for ROBOTC.
Because ROBOTC is a C-based programming language, there are many C programming features that students can lean about and implement in their code. The first resource to investigate is the ‘Programming Tips and Tricks’ section of the ROBOTC wiki. This special subsection contains samples of some of the more advanced C-based operations that can be executed using ROBOTC and are pulled from a variety of sources. Topics include structs, switch statements, tertiary operators, and more. Because all of the information is available for free online, students can research and test the topics at their own pace and gain a deeper understanding of the subjects.
Next, you may want to take a look at tutorials on the ROBOTC wiki for implementing advanced programming concepts with different sensors. Also be sure to check out ROBOTC’s Sample Programs (via the ‘File -> Open Sample Programs’) as many of the programming concepts have pieces of advanced code that can help the students understand exactly how they are applied in real-world scenarios. There are also several multi-robot projects (for the NXT) that can be found on ROBOTC’s Multi-Robot wiki and a thread dedicated to advanced ROBOTC programming with VEX which will both offer unique challenges for students to conquer, as well as a wealth of community created projects showcased on the ‘Projects Discussion‘ section of the ROBOTC forums.
Once the students have sufficiently expanded their knowledge of advanced ROBOTC programming, they will be ready to tackle more complex robotics projects. This is a perfect opportunity to encourage creativity and inventiveness with preexisting challenges (and is a perfect example of where differentiated instructions can positively impact a classroom). By utilizing differentiated instruction in the classroom, you will be able to not only challenge the newer programmers with the basic programming examples, but will also be able to engage the more advanced students with complex programming options, such as making their robots perform a challenge quicker, more efficiently, or more accurately (or a mix of all three).
Now that the physical robot kits are in the classroom and ROBOTC is installed and activated, you should be ready to build the physical robots for your classroom. One of the best features of a VEX Robotics kit is that they allow students to create a nearly limitless range of robots; the downside of this, however, is maintaining student-created robots in a classroom. To help with this, ROBOTC and the Video Trainer Curriculum support several standard models to help keep a baseline in the classroom.
The first of such robots we will look at is the VEX Squarebot (using the VEX Cortex), one of the standard Cortex models that are used in the VEX Cortex Video Trainer for ROBOTC. The Squarebot utilizes three VEX motors (two for driving, one for the arm), and a wide variety of sensors. These sensors include Quadrature Shaft Encoders, a Sonar Sensor, and a Potentiometer (among others; in total, there are 8 separate sensors on the Squarebot). This model allows for a variety of tasks to be completed and is designed to work with all of the challenges in the ROBOTC Curriculum.
A smaller, different alternative Cortex standard robot is the Swervebot. Like the Squarebot, the Swervebot utilizes the VEX Cortex as its main processor and uses two VEX motors for driving. However, the Swervebot’s small chassis does not utilize an arm. Instead, the Swervebot makes clever use of an Omniwheel in the rear for turning and boasts three Line Follower sensors and a Gyroscope (as well as 6 other sensors, for a total of 10) and is perfect for smaller classroom environments.
Finally, the new VEX IQ platform can be quickly assembled and ready to use in a classroom thanks to the IQ Clawbot standard model. Using 4 motors total (two for driving, one for the arm movement, and one for gripper control), the VEX IQ Clawbot can be controlled either autonomously using the VEX IQ sensors (such as the Bumper Switch and Color Sensors), remotely using the IQ Controller, or a pleasant mix of both, depending on which kit is being used.
Visit CMU’s Robotics Academy VEX site for more information on the different kits available and to find build instructions.
A curriculum pacing guide is something that teachers have to consider whenever they examine their curriculum. This fact does not escape teachers of ROBOTC. Whenever I come across teachers who are just starting to use the ROBOTC curriculum, often their first question revolves around how long the curriculum will take. Once again, teachers are used to having some type of pacing guide that delineates how a subject is to be taught. The ROBOTC curriculum is not organized in that fashion. Instead, the curriculum is organized by topic. The topics include basic programming fundamentals, robot movement, robot sensing, etc. The teacher is then free to spend an appropriate amount of time within each topic.
As teachers, this freedom is welcome. It is welcome because the pacing that comes with most textbooks is an impossible guide to follow. In order to create a true pacing guide, student background knowledge would have to be taken into account. Since every classroom is different (sometimes within the same grade, within the same school), it is impossible to gauge how quickly the students are going to master the concepts as they are presented. Additionally, as the teacher becomes more familiar with ROBOTC, they will find that they spend more time on particular concepts then they did the first time they taught the curriculum. For example, when I first taught ROBOTC, I spent 20 minutes discussing Flowcharts and Pseudocode. Experience has now taught me to spend a significant amount of time on these topics. I also spend much more time talking about Errors. Specifically, what should a student do when they get the dreaded compiler errors in their program? Experience has taught me to spend much more time on thinking about the logic of a program before the writing of ROBOTC and on debugging strategies once the code has been written.
Each of the aforementioned sections of the ROBOTC curriculum contains a programming challenge. The programming challenged is designed to showcase the skills that were emphasized in that section. Each section also contains an assortment of “mini challenges”. These challenges can be used at the teacher’s discretion. They all do not have to be completed. However, they can be very useful. For example, after the students have spent a day or two learning a topic, I will begin the following class with one of these mini challenges. They might not know all of the skills needed to complete the section challenge, but the mini challenge is a good assessment of what has been presented so far in that section. This also serves as a good change of pace for the class. Simply, you can’t learn to program without actually programming. In order to really understand the applications of while loops or if/else statements, students need to apply them. The mini challenges found within the ROBOTC curriculum serve as a great opportunity to scaffold skills toward their more challenging applications.
A beginning teacher of ROBOTC could teach the basic ROBOTC curriculum in one semester. By including many of the mini challenges, the curriculum can be stretched easily over a semester. I often tell teachers who are teaching the class for a year to do this, and then to end the year with a larger programming challenge. After the students have made it through the ROBOTC curriculum, I enjoy introducing them to Multi-Robot Communication. The sensor needed (NXTBee) is inexpensive, and there are a lot of great ideas for activities and programming challenges.
If you have a stronger background in computer science, and maybe you are teaching older students, you may be able to navigate through the curriculum much faster. What then do you do with students if you have them for an entire year? Luckily, there are many great ROBOTC projects on robotc.net. Moreover, the ROBOTC forum is also a wonderful place to look for ideas for projects, in-class competitions, and programming challenges.
Teaching robotics and ROBOTC is a lot of fun. The ability to watch your students apply what they learn in the ROBOTC curriculum in such engaging and open-ended activities is one of the main reasons why.
Once the physical hardware (robotics kits) are secured for a classroom, the next step is to install the software (ROBOTC and Robot Virtual Worlds). It would be nearly impossible to cover every single specific setup that could be encountered on a classroom’s computers, but this blog post will cover the basic installation steps and some of the more common installation issues that educators may run into when installing ROBOTC in a classroom.
The first thing you will need to do is install ROBOTC on the computers in your classroom. To do this, always make sure to grab the latest version of ROBOTC that your license supports from the correct ROBOTC download page. If the wrong version is downloaded and installed, or if there is already a different up-to-date version of ROBOTC installed on the computers, you will not need to uninstall and reinstall the program; instead, you will simply need to activate your license in ROBOTC (more on this later). During the download process, ROBOTC will also attempt to install the necessary drivers for communications with physical robots. Depending on the level of security on the computers, you may need to get your IT department involved in order to ensure that the drivers are installed properly.
Once ROBOTC and the appropriate drivers have been installed, you will need to activate ROBOTC on each computer manually. The license activation ‘unlocks’ the ability to download code to either a physical robot or a Virtual World, depending on which license is used. When ROBOTC is installed on a computer, all versions of ROBOTC (including different robotics platforms, such as the VEX and LEGO platforms, and different compiler options, such as Virtual Worlds compiler options) are installed at the same time. Instead of installing additional copies of the software on the same computer (or opening a new program every time you would like to change the compiler target), the additional platforms and compiler options are ‘unlocked’ by activating their respective keys.
Before we move on to the next blog (Setting up the Robots), here a couple more tips that may come in handy when setting up ROBOTC in a classroom:
- Depending on the programs, policies, and restrictions in place on the machines, your school’s IT department may need to be present for the installation or activation of ROBOTC, Virtual Worlds, or the installation of any drivers for the physical robots.
- If your school’s IT department images and deploys the classroom’s computers, make sure they reference the ROBOTC Deployment Guide on the ROBOTC wiki for important help and information.
- Make sure to check the computers’ hardware to the minimum requirements for ROBOTC or Robot Virtual Worlds before installing and activating a computer.
- Always test one computer first! If there is a problem with the installation, it is better to find out about it early and fix it before they same issue appears on a classroom full of computers.
There is a bevy of materials to help a teacher get started teaching the ROBOTC Curriculum. But what about the teacher that has made it through the curriculum and has a robotics class returning at the beginning of the school year? Whether that teacher is preparing to enter a robotics competition or is planning on creating a cool ROBOTC project, the teacher will still need to determine what the students have retained from the previous year.
Students that have made it through the ROBOTC curriculum should be able to use variables and functions in their programs. A great way to assess this would be to utilize the Robot Virtual Worlds. Students can spend the first week of school trying complete all of the missions within Operation Reset. Working with Operation Reset affords teachers the opportunity to differentiate this beginning diagnostic. Students that have retained more information can work independently, while those students that need more assistance can get the help they need. This is just another great application of Robot Virtual Worlds in the robotics classroom.
If Robot Virtual Worlds is not an option, you can apply the same concept with a physical robot. For students that are already proficient with ROBOTC, a good challenge to begin the year with would be the Chasm Detection.
Another great tool that a teacher can utilize is the debugging of code. This can serve as a good one or two day review of ROBOTC syntax and logic. If a teacher is anxious to get started with a project and wants a quick review, this may be the way to go. One of the nice things about using code is the teacher can get some quick and individual feedback from the students. If time allows, a teacher may use one or two examples of code, see where the students are, and then design a challenge for them. Here is an example of code that the students could troubleshoot.
Hopefully this gives you some ideas of how you can reintroduce ROBOTC to your students. A seamless beginning to the school year will help with all of the projects and activities that you may have planned for the rest of the school year.
Now more than ever, robotics educators are faced with the important question of which kit they should purchase and use. This key question has been made even more intricate in the 2013-2014 school year due to the addition of the new robotics kits, VEX IQ kits. This article will help break down each VEX kit, their capabilities and target audiences, and allow you, the educator, to make an informed decision on which kit is best for your particular classroom.
The VEX IQ system is the brand-new robotics system from Innovation First International (IFI for short, makers of the VEX Robotics Design System). The VEX IQ can be used with any of the all-new hardware and sensors, including a unique plastic snap-fit structural system.
- Sensors include a gyroscope, color sensor, potentiometer, touch LED, and ultrasonic sensor.
- The base kits (either Sensor or Controller kits) are provided with over 650 structural components, 4 plug-and-play ‘smart motors’, at least 2 touch sensors (or more, depending on kit), and the VEX IQ microcontroller (more information on all available kits can be found here).
- The IQ contains 12 smart ports that can be used to control either analog sensors, digital sensors, or servos/motors; the ports are non-typed and can be used to control any piece of VEX IQ compatible hardware that is plugged into it.
- It also includes a micro-USB port for IQ-to-computer communication and a ‘tether’ port for direct connections to an VEX IQ Controller.
- Debugging and programming information can be displayed on the backlit LCD information to increase ease-of-use in real time.
- Wireless communication between the VEX IQ microcontroller and a VEX IQ controller is provided via a set of 900 MHz radio adapters.
- The VEX IQ system will be fully legal in the new VEX IQ Challenge (designed specifically for the VEX IQ system), for students ages 8-14.
- Recommended use: Middle School.
One of the mainstays of the educational robotics world is the VEX Cortex platform. Originally released in 2010 by IFI, the Cortex can be used with the VEX Robotics Design System’s hardware and sensors.
- Includes over 300 metal structural parts, 4 powerful DC motors, the VEX Cortex microcontroller, and a wide variety of fasteners, gears, and other miscellaneous hardware.
- Sensors include touch sensors, an ultrasonic sensor, integrated motor encoders, line following sensors, and a potentiometer; additional sensors are available outside of the base kits.
- Wireless communication between a VEX Cortex and a VEXNet Joystick Controller is possible by using the 802.11b/g VEXNet USB Adapter Keys.
- The VEX Cortex system can be used in the VEX Robotics Challenge (Middle, High School, and College divisions).
- Recommended use: advanced Middle School, High School or College.
We understand that choosing a robotics kit is a tough decision. The number one factor in determining which kit is right for you is the students; depending on the skill level of the students, it may be better to challenge them with a more advanced kit (VEX Cortex) or they made need to start with a simpler kit (VEX IQ.) No matter which kit you decide to use, though, you can rest easy knowing ROBOTC will fully support all of these platforms.
Now more than ever, robotics educators are faced with the important question of which kit they should purchase and use. This key question has been made even more intricate in the 2013-2014 school year due to the addition of the new robotics kit, LEGO MINDSTORMS EV3. This article will help break down LEGO’s kits, their capabilities and target audiences, and allow you, the educator, to make an informed decision on which kit is best for your particular classroom.
The LEGO MINDSTORMS EV3 is the all-new robotics kit from LEGO Education (creators of the LEGO MINDSTORMS NXT system). It is fully compatible with previous NXT hardware (except for the battery), including all plastic structural pieces and sensors.
- Compatibility with the MATRIX and TETRIX metal systems is expected in fall 2013.
- Those starting a classroom from scratch need not worry; the EV3 comes with a total of 541 elements, including a multitude of structural parts (beams, connectors, wheels, gears, etc), 4 different sensor types (color sensor, gyroscopic sensor, ultrasonic sensor, and touch sensor), 3 motors, and the EV3 micocontroller or ‘brain’.
- The EV3 microcontroller sports 4 sensor ports, 4 motor ports, a internal Bluetooth adapter, and a USB slot which can be used with a WiFi adapter for wireless connectivity (as well as microSDHC card slot which supports cards up to 32GB in size).
- It utilizes a Linux-based firmware which allows for on-brick programming and datalogging.
- The EV3 will be legal in the 2013 First Lego League (ages 9-14) and the 2014-2015 First Tech Challenge (High School) competitions.
- Recommended use: Middle School (EV3) or High School (with MATRIX or TETRIX kit).
Now, let’s take a look at the LEGO MINDSTORMS NXT V2.0. Released in 2009, the NXT platform utilizes a plastic snap-fit hardware structure system, with 431 elements included in the base kit.
- These elements consist of both structural pieces (beams, connectors, and axles, to name a few), three interactive servo motors, the NXT microcontroller, and ultrasonic, light, sound, and two touch sensors included.
- There are also many third-party sensors available from sites such as Hitechnic, Dexter Industries, and Mindsensors.
- The NXT is also fully compatible with the MATRIX and TETRIX metal systems.
- Wireless capabilities include built-in Bluetooth and WiFi connectivity (provided by an external Samantha Module adapter).
- The NXT is currently a legal microcontroller for both the First Lego League (FLL, ages 9-14) and First Tech Challenge (High School) challenges.
- Recommended use: Middle School or High School (with MATRIX or TETRIX metal kit).
We understand that choosing a robotics kit is a tough decision. The number one factor in determining which kit is right for you will come down to the students; depending on the skill level of the students, it may be better to challenge them with a more advanced kit (MATRIX or TETRIX kits) or they made need to start with a simpler kit (LEGO NXT or EV3 kits). No matter which kit you decide to use, though, you can rest easy knowing ROBOTC will fully support all of these platforms.