Archive for the ‘Code’ tag

February Online Professional Development Courses

without comments

February TrainingsThe Carnegie Mellon Robotics Academy will be offering two ROBOTC online professional development courses in February!
The  six-weeks online courses will be:

ROBOTC Online Training for LEGO / TETRIX
February 11th – March 18th, 2014
Tuesdays for 6 Weeks
7-9:00pm EST (4-6:00pm PST)

ROBOTC Online Training for VEX CORTEX
February 13th – March 20th, 2014
Thursdays for 6 Weeks
7-9:00pm EST (4-6:00pm PST)

Web Training graphicThe Professional Development courses provide teachers and coaches with a solid foundation for robot programming in the respective languages, and experience in troubleshooting common student mistakes. It also focuses on identifying and extracting academic value from the naturally occurring STEM situations encountered in robotics explorations. Find out more here – Robotics Academy Professional Development

Classes are filling up quick, so sign up today!




Written by Cara Friez

January 31st, 2014 at 1:03 pm

New Robot Virtual Worlds Video!

with one comment

RVWRobot Virtual Worlds just released a new video all about the software!! Check it out here:






Already using RVW? What do you think? How do you use this software in your classroom? We’d love to hear your feedback!

2014 REC Foundation and Robomatter Scholarship

without comments

REC Foundation Scholarship REC Foundation and Robomatter are pleased to partner to offer one (1) $5,000 non-renewable scholarship to one (1) high school junior or senior intent on pursuing a degree related to science, technology, engineering and mathematics in college. The award will be presented at the VEX Robotics Competition World Championship in April 2014, but the student does not need to be present to win.

Eligible students must have participated in the VEX Robotics Competition and submit a 500-word essay explaining how their participation in both the VEX Robotics Competition and the Carnegie Mellon Robotics Academy Sponsored Robot Virtual World Competition enabled them to develop a high competency and appreciation for programming. In addition, students must indicate how programing skills and use of ROBOTC enhanced their understanding of robotics or aided their participation in the VEX Robotics Competition.

Click this link to see the scholarship requirements: Robomatter Scholarship

Fill out this form and follow the instructions on it to apply: Robomatter Scholarship Application form

Entries must include:

  • Student’s name
  • School name
  • Specify grade level (i.e. Junior or Senior at time of application)
  • Team number
  • Document/statement from team mentor verifying student’s participation/role in the challenge
  • Student’s email, mailing address with city, and state

All entries must be submitted to

Deadline: February 15, 2014!!

ROBOTC Graphical Natural Language

without comments

We know that text based languages (such as ROBOTC) have advantages in terms of customizability with functions, complexity with algorithms and calculations, and typically smaller sized programs over graphical languages; however, it is difficult to overcome the simplicity and ease of use that “Drop and Drag” programming languages offer to new users just getting started with programming.


A few years ago (with ROBOTC 3.X), we announced our “Natural Language” feature – a simplified library of commands that used “natural” commands to control your robot, such as Forward, Reverse, and LineTrackForTime. The Natural Language feature was designed to help ‘bridge the gap’ between a graphical language and the text-based ROBOTC. Teachers have praised ROBOTC’s Natural Language for making it easier to get their students up and running faster than ever before. Currently, ROBOTC supports Natural Language on the VEX Cortex, VEX IQ, and LEGO MINDSTORMS NXT platforms for both “Real” and “Virtual” robots.


Today we’re proud to give you a sneak peek to a new feature we’re calling “Graphical Natural Language”. This new interface will allow you to program robots from inside ROBOTC with easy-to-use graphical blocks that can be drag-and-dropped to form a program. Each block represents an individual command from the “text-based” ROBOTC and Natural Language.



Each block is custom designed to fit the needs for that specific function and parameters. Using text boxes and drop-down menus, users can customize each values of each function to solve various challenge and activities using the same commands as ROBOTC’s Text-Based Natural Language.

We have also added some new language extensions to both ROBOTC and Natural Language, such as the simplistic “Repeat” command. Prior to the Repeat command, users would need to copy and paste large sections of code or use a looping structure (like a ‘for’ or ‘while loop) in order to have a set of actions repeat a certain number of times. With the new “Repeat” command, however, users can simply specify how many times they would like for the code to run, with no complex coding required.

Another awesome tool that we’ve implemented in ROBOTC 4.0 is the “comment out” feature. You can now comment out an entire line of code just by clicking on the block’s line number. Lines of code that are “commented out” are ignored by the robot when the program is run, which makes this feature very useful when testing or debugging a program. This new tool is unique to Graphical Natural Language.

Because each Graphical Natural Language block corresponds to a real ROBOTC or Natural Language function, users will be able to graduate from Graphical Natural Language to full text-based Natural Language with the press of a single button. This will allow you to naturally transition from Graphical Natural Language to the text based Natural Language (or ROBOTC), without having to worry about manually converting the code line-by-line!

We have many other features and enhancements planned for Graphical Natural Language – Be on the lookout for a preview version sometime in January!

Please Note: The screenshots and interface in this post are not the finalized version of the ROBOTC Graphical Natural Language – the names, interface, look and feel of the system may change between now and official release.

Updates for Ruins of Atlantis AND Expedition Atlantis Virtual Worlds!

without comments

The Robot Virtual World team is happy to announce not one, but two early presents for you this years! Get ready for some deep sea robot programming, because we’ve updated both the Ruins of Atlantis and Expedition Atlantis virtual worlds.

Ruins of Atlantis
Robots to the Rescue: Ruins of Atlantis is our underwater programming game. This update brings it up to speed with all of the latest RVW technology, including CS2N Achievements, the Measurement Toolkit, Quality Controls, and more. The audio and visuals of the game have also undergone a major overhaul – check out the slideshow to see just how beautiful the world is!

Ruins of Atlantis can be downloaded from or Be sure to create and use a CS2N account to keep track of your achievements and game progress.

Expedition Atlantis
Expedition Atlantis is our brand new underwater math game, designed to teach and reinforce concepts like proportional reasoning. We are currently in the process of collecting and implementing feedback on the game. This update extends the trial period of the game through July 2014!

Atlantis Beta 2

Expedition Atlantis can also be downloaded from or Any feedback you have regarding the game is highly appreciated! Please share your feedback in this short survey.

Written by Jesse Flot

December 18th, 2013 at 4:18 pm

A Teacher’s POV: Programming the VEX IQ Robots

without comments

VEX-IS-DS4In the previous entry, I shared some of the features of the VEX IQ robots. Also discussed were some ideas on how to get a classroom organized. Now that we have those things established, we can move on to a discussion of how to begin programming the VEX IQ robots.

ROBOTC for VEX IQ has Natural Language commands that will help beginning programmers of the VEX IQ by supplying a set of commands that use “natural” words. For example, the “forward” command will make your robot move forwards for a specified amount of time or distance. The robot will come to a stop after the movement. Here are some examples of the command:

Move the robot forward for 2.5 rotations:
• forward(2.5);

Move the robot forward to 180 degrees:
• forward(180, degrees);

Move the robot forward for 1.5 rotations at 30% speed:
• forward(1.5, rotations, 30);

Move the robot forward for 10 seconds:
• forward(10, seconds);
• forward(10000, milliseconds);
Natural Language also contains other helpful commands; such as, “backward”, “turnLeft”, “turnRight”, and “repeat”. Below is an example of a Natural Language sample program that is located within the Natural Language sample program folder in ROBOTC:
VEX IQ Natural Language – Port Names and Numbers
leftMotor – Port #1
rightMotor – Port #6
armMotor – Port #10
clawMotor – Port #11
touchLEDSensor – Port #3
gyroSensor – Port #4
distanceSensor – Port #7
bumperSensor – Port #8
colorSensor – Port #9

task main()
//Configure the Natural Language to use the VEX IQ Clawbot

//Move the robot forward for 1.5 rotations (rotations are the default unit) at 50% speed (default speed)

//Turn the robot right for 1.25 rotations at 50% speed (default speed)
turnRight(180, degrees);

//Move the robot backwards for 720 degrees at 25% speed.
backward(720, degrees, 25);

//Turn the robot left for 2.5 rotations at 50% speed (default speed)
turnLeft(2.5, rotations);

As you can see, there are a couple things that we have to do in order to use the Natural Language functionality. To enable Natural Language, go to “Robot Menu -> Platform Type -> Natural Language”.

The easiest way to get started programming is to open a sample program or to use a template. To open a sample program in ROBOTC, go to File Menu -> Open Sample Program.

To use a Natural Language template in ROBOTC, go to File Menu -> New… -> Natural Language Template.

To make programming easier, Natural Language makes assumptions about the type of robot you are using. To configure your Natural Language program to use our VEX IQ Clawbot, use the following line of code:
More robot models will be supported in future releases.

VEX-IQ-DSFinally, you will notice in the sample program that port names and numbers are given specific names and ports. Make sure that your VEX IQ Clawbot’s motors and sensors are configured this way in order to work with the Natural Language commands.

Ok. We are ready to go with programming! What should we do? My suggestion would be to start with the Labyrinth Challenge.

The Labyrinth challenge gives the students an opportunity to engage with the VEX IQ robots and ROBOTC. The students are immediately engaged because they can see and test their robot’s movement as it makes its way through the course. Since this may be the first program that some students write, there are a couple of things worth remembering. First, makes sure the students create a flowchart before they begin programming. For more information on flowcharts, you can look here: VEX Teacher – Engineering.

VEX-IQ-DS2Second, it is important that the students describe what is going on in their programs with comments. For more information on how to utilize comments, please see here:

Now you are ready to go! Good luck and have fun! Remember, if you have any questions as you are working, please visit the ROBOTC forums.

- Jason McKenna


Robomatter Blog Ad VEX IQ


Written by Cara Friez

December 13th, 2013 at 6:41 am

A Teacher’s POV: Getting Started with the VEX IQ

without comments

VEX-IQ-Carly-and-KarriThe 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.

VEX-IQ-JacobThe 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.

-Jason McKenna


Robomatter Blog Ad VEX IQ


Written by Cara Friez

December 5th, 2013 at 4:43 pm

RVW FTC Block Party Competition Now Live!

without comments

Block Party CS2N ModeCarnegie Mellon’s Robotics Academy, a research-based organization committed to teaching students how to program robots, is really excited to be able to support FTC teams again this year. Follow the links below to learn about FREE Programming Classes and a new Block Party Programming Game that can be used by students, teachers in classrooms, coaches, or competition providers. The new game is designed to teach programming and has over $5,000 in prizes. We’ve also made CS2N Groups Technology that enables teachers, coaches, and regional competition sponsors to host their own competitions.

In the FTC Block Party Virtual World, program one of three robots to score as many points as possible in autonomous and driver controlled modes. Score points by:

  • Placing Blocks in Floor goals
  • Placing Blocks in Pendulum goals
  • Raising the Flag
  • Hanging from the Bar

See the rules documents for the full game explanation:

  1. FTC Block Party – Autonomous CS2N Mode
  2. FTC Block Party – Remote Control CS2N Mode


Additional information to help you get started:

How to Setup Your Own In-Class Competition – Teachers, coaches, and competition organizers can setup their own unique programming competitions using CS2N Groups Technology.  The Robotics Academy has developed groups technology that enables teachers to setup their own in-class competitions.  To learn how to setup your own Group competition click here:

Be sure to visit the or for the latest version of the FTC Block Party software. Happy Programming!

RVW VEX Toss Up Competition Now Live!

without comments

Toss-Up-CS2N-ModeCarnegie Mellon’s Robotics Academy, a research-based organization committed to teaching students how to program robots, is really excited to be able to support VEX Competition teams again this year. Follow the links below to learn about a NEW VEX Toss Up Programming Game that can be used by students, teachers in classrooms, coaches, or competition providers with FREE Programming Classes that your students can take. The new game is designed to teach programming and has over $5,000 in prizes. The Robotics Academy has also developed CS2N Group Technology that enables teachers, coaches, and regional competition sponsors to host their own programming and remote control virtual competitions.

VEX Toss Up is played on a 12′x12′ square field. The object of the game is to score your colored BuckyBalls and Large Balls into the Near Zone and Far Zone, by Locking Up your colored BuckyBalls and Large Balls into the Goals, and by Low Hanging, Hanging and Ultra Hanging off your colored Bar at the end of the match.

This Virtual World is designed to simulate the Toss Up competition field and several robot designs, allowing teams to practice their programming and form winning gameplay strategies.

See the rules documents for the full CS2N game explanation:

  1. VEX Toss Up – Autonomous CS2N Mode
  2. VEX Toss Up – Remote Control CS2N Mode

Additional information to help you get started:

How to Setup Your Own In-Class Competition – Teachers, coaches, and competition organizers can setup their own unique programming competitions using CS2N Groups Technology.  The Robotics Academy has developed group technology that enables teachers to setup their own in-class competitions.  To learn how to setup your own Group competition click here:

Be sure to visit the or for the latest version of the VEX Toss Up software. Happy Programming!


Robomatter Blog Ad VEX RVW

Advanced ROBOTC and Robotics in the Classroom

without comments

robotc-code-2-copySo 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.

An example of an advanced program using a while loop as a counter

An example of an advanced program using a while loop as a counter

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).

YouTube Direct Link 

- John Watson

Written by Cara Friez

September 24th, 2013 at 6:59 am