Archive for the ‘PIC’ Category
I’ve always been of the opinion that teaching is an art, not a science. Therefore, it’s impossible to devise a scenario that will handle every issue. But, there are some common issues that arise for teachers as they teach robotics and ROBOTC.
Many students come into class familiar with different aspects of technology, but many students will be unfamiliar with some basic things. For example, never assume that students will know how to save a program while using ROBOTC. Secondly, never assume that the students will know where to save their programs. As a teacher, you need to have a plan to cover these things for students. Also, it would be helpful to have a reference for these things for the students. When students return from Christmas Break or a long weekend, sometimes these details escape them.
One things that is very important for teachers who work in classes in which the students are working cooperatively, is for the teachers to identify what is most important and to assess those things. Simply, students get better at things which are measured and assessed. For example, if you want students to use math vocabulary while solving a particular problem involving different wheel sizes, then you need to assess that. If students are working as a group to solve a problem, then each student’s role in that group needs to be defined and assessed.
Additionally, students working cooperatively in groups are always going to be an issue for teachers. The clearer the roles (and how those roles will be assessed) are defined for the students, the better chance you have for success. Still, teachers need to have a plan for those students who just don’t work well in groups. This plan needs to be articulated to the parents and to your administrators at the beginning of the school year.
One of the great things about teaching robotics and ROBOTC is that the first answer is hardly ever correct. This is great because the students are immersed in the problem-solving process. However, some students will become frustrated by this and immediately look to you for the answer. Teachers need to have a plan for these students. How can students work cooperatively to handle these issues? What has been done to prepare for the challenge? Is there a flow chart that the students can review for some ideas? Is there a sample program the students could examine? As teachers gain more experience working through the ROBOTC curriculum, they’ll be able to anticipate these situations more and have an answer for them.
The beginning of class and the end of class oftentimes determine the success, or failure, of a lesson. Teachers should always have a plan for the beginning of class to get the students settled and focused. The more structured this opening activity is, the better. If a routine is developed, the students will respond accordingly. If the students are coming to your class after gym class or lunch, for example, this opening structure will be very important. Examples of class openers could be having the students find errors in code, a review of particular concepts (what is the difference between = and ==), or an Abstraction Bridge.
In much the same way, the closure of the lesson should be used to judge the effectiveness of that day’s lesson. The most popular way to do this is with the use of an exit slip as the students leave the room.
Having a plan allows teachers to work that plan instead of getting frustrated with individual students. Planning your work, and then working your plan will help to allege some of the daily stressors that teachers face.
Eventually your classroom may run into issues with either the ROBOTC software, the robots, or both. The most important question that arises when this happens is ‘Where do I go for help?’ Fortunately, ROBOTC has you covered with an expansive support system designed to help all ROBOTC users get back on their programming feet as quickly and easily as possible. This blog post will take a look at some of the more common issues that you may run into and how to quickly resolve them.
“I am having trouble installing ROBOTC, and do not know why it will not install properly.”
ROBOTC installs like most other programs, but even so you may run into installation issues (depending on your classroom computers’ specific setup). If you run into installation troubles, take a look through our ‘Getting Started’ guide on the ROBOTC wiki as it covers many of the common installation issues that classrooms in particular run into.
“I have installed ROBOTC but am running into issues activating my license.”
First, make sure your license has activations remaining by logging into the ROBOTC customer service page using your license ID and password. Next, check to see if your school’s IT department has recently reimaged the computers; if they have, the license information may have been deployed incorrectly and they will have to contact ROBOTC technical support (below).
“ROBOTC is installed and activated, but my computer will not connect to my robot/won’t load Virtual Worlds!”
There are a variety of reasons this could be occurring (depending on the computer’s set up and the specific robot platform being used), but normally these issue is solved by following the appropriate setup guide on the ROBOTC wiki (LEGO MINDSTORMS NXT, VEX IQ, and VEX Cortex). For the Robot Virtual Worlds software, double check to make sure the computer’s hardware meets or exceeds the minimum requirements as well.
“I have a different question or would like more information on these particular issues.”
There are several resources that can be used when troubleshooting a ROBOTC installation or physical robot issue.
- Coding Problems and Questions – All coding questions should be forwarded to the ROBOTC forums, where the entire support staff may see and answer them.
- Specific Commands, Functions, etc – The ROBOTC wiki is full of useful information including setup guides, programming tips, breakdowns of commands and functions, and more.
- Technical Issues and Bug Reports – For any and all bugs and glitches you may run into, the ROBOTC support line (email@example.com) will be the best mode to contact the ROBOTC support team directly.
Two weeks ago we released ROBOTC for VEX Robotics 4.0 exclusively for VEX IQ and today, we are happy to release the second version of ROBOTC for VEX Robotics – VEX IQ Preview! Thanks to all the feedback we received from our wonderful users, we were able to implement these updates and new features to make it easier for everyone to use!
Download the new Preview Version today from the ROBOTC Preview Website.
Here’s a few notes before you get started with the new build:
- Make sure you use the VEX IQ Firmware Update utility to update your VEX IQ Brain to version 1.03 – This is important for using the new Preview Version of ROBOTC.
- If you are using the VEX IQ Color Sensor, there is a new firmware version available for it as well. Download the 1.03 version into your Brain, then connect your VEX IQ Color Sensor and use the “Update”
- Inside of ROBOTC, you’ll want to download the latest ROBOTC firmware (version 10.02) 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.
- Added Distance Sensor Driver and Test Program – Sensor Implementation is not 100% complete.
- Added VEX IQ Device Drivers to ROBOTC installation.
- New Hardware Verification screen to identify possible hardware configuration errors with VEX IQ
- Fixed various bugs with Tele Op/Autonomous menu system
- Improved Sound sample programs and internal functionality.
- Added “Functions Library” option for VEX IQ Bumper Sensor – function was previously available but not listed.
- Support for “Remote Buttons” on the VEX IQ Remote Screen debugger window.
- Added “Software Inspection” for VEX IQ – gives a quick diagnostics on firmware versions, battery voltages and overall state of the VEX IQ hardware.
- Fixed bug where VEX IQ Bumper Switch would disable other sensors and motors on adjacent ports.
Check out what you can do with ROBOTC for VEX Robotics 4.0 already …
What do you think of the new release?
The challenge for teachers in today’s educational environment is to teach student at their instructional level. Instead of creating an artificial level to instruct the entire class, teachers have to assess each student’s current level and create a plan to ensure that the student has academic growth from that beginning baseline. It’s best to think about this with an example. A sixth grade student has a reading comprehension at a 9th grade level at the beginning of the school year. The student takes assessments during the spring of that school year. When those assessments are scored, it shows that the student is reading at a 9th grade comprehension level. In the past, teachers and parents would be happy with that information, but the recent push towards differentiated instruction has forced educators to look at this information in a new light. What implications does this have for a robotics teacher?
Luckily, teaching robotics seamlessly fits into the demands of differentiated instruction. First, students are encouraged to come up with different solutions to problems. Whether it is a building challenge or a programming exercise, different students are going to come up with different solutions. Students are encouraged to do this in other disciplines also, but robotics is unique because it is so open-ended. There are only so many ways you can solve a math problem, but there is a myriad of different ways to program your robot to accomplish a task.
Secondly, students who are learning robotics are not forced to conform to an artificial ceiling. In another classroom, a teacher has to keep a student’s learning somewhat in line with the rest of the class. When teachers try to differentiate instruction, they create projects or assignments that are open-ended so students can explore those items as much as they can. However, when that assignment/project is completed, students are all brought back to the same point within the curriculum. Teaching robotics revolves around problem-based learning. Therefore, as the students learn how to solve a programming challenge with more sophisticated ROBOTC code, they are accelerating their knowledge both within that project and within the larger curriculum. While some students are mastering the fundamentals of programming their robot to move, other students can be incorporating more complex programming tools, like functions, into their programs. Robotics teachers can point students in the right direction so they can explore different and more intriguing programming concepts to apply to their challenges. It is not necessary that students memorize all of the different programming/building techniques, but that they know how to access the information when they need it. In this way, students are given the tools to create some ownership with their learning. That ownership, combined with the engagement of robotics helps to provide the true key to differentiation: high student interest.
Simply, if students are not interested in what they are doing, they will never develop the intrinsic motivation needed to push their learning. Students will work towards the minimum unless they are engaged and challenged. Teaching robotics provides the perfect platform to accomplish this goal and create a learning environment in which students are receiving individual acceleration and enrichment. Robotics is the perfect means to achieve the end of differentiated instruction.
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.
We are happy to announce that ROBOTC 3.62 is now available! This is a maintenance release that adds a few new features and fixes some outstanding bugs. This will be the last release for the 3.x family of ROBOTC products, barring any major issues that are reported.
ROBOTC is the premiere robotics programming language for educational robotics and competitions. ROBOTC is a C-Based Programming Language with an Easy-to-Use Development Environment. ROBOTC 3.62 contains four major updates, as shown in the change-log below.
3.61 to 3.62 Change-log
- Bug Fix: Fixed additional bug in “NXT Brick – Joystick” windows with the “Improper Argument” message box.
- Installer Fix: Updated Code Signing Certificate for Installers – No more scary warning when installing ROBOTC
- Update: Robot Virtual Worlds Curriculum Companion Tables – ROBOTC now includes version 3.0 of the Curriculum Companion Tables. All robot models have been updated to include grippers, arms, and new sensors such as Gyroscopes, Potentiometers, and IR Seekers. Find out more about recent RVW updates here.
- Update: License management now allows ROBOTC 4.x users to activate and use ROBOTC 3.x – users will be able to simultaneously have both versions installed on their computers without conflict. All ROBOTC 4.x users (new and upgrade users) will continue to have access to 3.62. Using both ROBOTC 3.x and ROBOTC 4.x with a 4.x license will only use one (1) activation from your license.
Over the next few weeks, we will start to release preview versions of ROBOTC 4.0 for the various platforms ROBOTC supports. ROBOTC 4.0 can be installed alongside ROBOTC 3.x to prevent any issues for users of ROBOTC 3.x. Users who purchase a ROBOTC 4.x license will be able to use ROBOTC 3.62 using the same license for added flexibility.
Important Note for FTC and VEX Competition teams: ROBOTC 3.x will be a legal language for the entire 2013-2014 competition season. Once ROBOTC 4.x is fully released, you will be able to use either version during competition. The ROBOTC development team does not recommend the use of “Preview” versions for competition.
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.
Available today, all VEX IQ users will be able to download a preview version of ROBOTC for VEX Robotics 4.0. The ROBOTC Preview for VEX IQ will allow users to program their VEX IQ robots using C-Programming and enjoy all of ROBOTC’s popular features including easy to use motor and sensor configuration, multitasking, and debugging tools. ROBOTC for VEX Robotics 4.0 adds over 75 new commands specifically for the VEX IQ, and has over 50 VEX IQ sample programs to learn how to get your robot moving and sensing!
The ROBOTC Preview for VEX IQ will only work with the VEX IQ system as of today, in the final ROBOTC 4.0 version users will be able to program both the VEX IQ and the Cortex using the exact same software. Everyone can enjoy a no-cost 90-day free trial of the ROBOTC Preview for VEX IQ. To enjoy the VEX IQ preview version of ROBOTC 4.0, head to preview.robotc.net to get started! The ROBOTC development team will be posting software and documentation updates frequently, so make sure to check back often.
Note: Existing users can use the ROBOTC VEX IQ preview alongside previous versions of ROBOTC.
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.