Archive for the ‘ROBOTC’ tag
Programming is a New Basic
We find ourselves in an era of exponential change. Everything from cell phones, to alarm clocks, to entertainment centers need programmed. Technology designed to improve “quality of life” involves needs optimized to work correctly; everyone needs to have a basic understanding of systems and programming. Many Americans believe that the “dot-com bust” and that “international outsourcing” have led to fewer computer science related jobs. In fact, just the opposite is true, the March 2009 U.S. Department of Labor’s Bureau of Labor Statistics lists “Network Systems and Data Communications Analysts” as the second fastest growing occupation in the country. According to the Computer Research Association, there were 43% fewer graduates and 45% fewer CS degree enrollments in 2006/2007 than in 2003/2004. This is at a time that computers and internet connectivity have become daily fixtures in American lives. If we want to lead the world in innovation we need more students studying computer science not less.
Computer programming is not taught at the middle school level, yet hundreds of thousands of children gain their first experience in programming with robots. In 2006, Carnegie Mellon developed a programming software that worked on all FIRST robotic competition platforms. At the time, FIRST robotics had three unique competitions and three separate programming languages. This required students to move from one language to the next as they changed robot platforms, there was no continuity and it made if more difficult for teachers and mentors to develop programming skills in most of the students that competed in the competition. ROBOTC programmed LEGO’s RCX and NXT robots, both used in the middle school First LEGO League Competition, it also programmed the VEX robot used in the junior FIRST Tech Challenge, and the Innovation First robot controller used in the senior FRC robot competition. ROBOTC is a form of the industry standard C programming language that includes a few carefully chosen elements designed specifically for programming robots. It provides a scaffolded programming experience with beginner, intermediate, and expert user levels and is the only programming language that works on both LEGO and VEX robot systems, the two most popular robot hardware platforms available to education. The Robotics Academy had developed a comprehensive set of training materials for ROBOTC that are posted at the Robotics Academy and the ROBOTC websites.
Over the last four years, Carnegie Mellon’s Robotics Academy has continued to work on the development of a programming software named ROBOTC and an accompanying suite of training tools that are easy enough for elementary level students to use, but full featured and powerful enough for college students to use in their engineering courses. ROBOTC exposes students to an industry standard programming language using a modern programming environment that they can grow with as they move from elementary through college level robot programming. We are pleased to announce the release of ROBOTC2.0®.
ROBOTC2.0 has many significant improvements. First, it has a new graphical user interface that is modeled after Microsoft’s Visual Studio programming environment dramatically easing the transition to this popular programming environment. In contrast, most other educational robotics programming environments are unique to a single platform and have no transition to other environments used in the professional world. It is designed to dramatically lower the learning curve for introductory programming since it has multiple user levels that can progressively expose additional commands and functionality, includes spelling and syntax correction capabilities for user source code, and it is optimized for student programming where typically a complete program fits in one source file. The larger professional environments are optimized for large system programming where a single project may consist of tens of hundreds of files requiring additional complexity to manage the multiple files in a project.
Another unique feature of ROBOTC is its comprehensive inter-active real-time debugger. The debugger operates with either a wired or wireless connection to a PC. Currently Bluetooth and Wi-Fi wireless links are supported. The debugger gives complete access from the PC into the operation and step by step execution of end users’ programs. It is designed to allow users to interactively step through execution of their programs on the fly and even modify the values of variables. The debugger provides access to not only the user’s program but to all the values to the motors and sensors on the robot. There is no other comparable system that provides this range of debugging for robots using the relatively small embedded CPUs supported by ROBOTC!
About ROBOTC -
ROBOTC Facts
- ROBOTC is an Integrated Development Environment (IDE) consisting of compiler, text and project editor and run-time environment.
- ROBOTC is cross-platform. It currently supports CPUs from many different manufacturers including:
- Microchip PIC CPUs for the Innovation First VEX robotic system
- Renesas H8 CPU for the LEGO RCX robotic system
- Atmel ARM7 CPU for LEGO NXT robotic system
- STM Cortex M3 for the Innovation First VEX-Cortex robotic system
- Additional platforms are in development including Atmel AVR CPUs (Arduino) and RISC ARM9 CPUs.
ROBOTC programs written for one run-time are easily portable to a different platform.
- The ROBOTC compiler is an interpretative system generating instructions for a virtual machine (VM) which are then “executed” by a small run-time system on each CPU. Interpretative systems are fairly common; e.g. JAVA is another example of an interpretative system; so are most implementations of BASIC.
- ROBOTC’s interpreter is extremely fast. Head-to-head benchmarks for the LEGO NXT found ROBOTC has execution speeds five to 50 times faster than other programming solutions like JAVA, LUA and LEGO’s own proprietary programming environment. On the VEX Cortex, ROBOTC is able to execute over 1M lines of C source code per second!
- The run-time environment provides a common infrastructure of motor and sensor support found in educational robotics. The ability to rapidly port / migrate this infrastructure to other CPUs and robot types is a unique capability not found in any other robotics system.
- The common run-time includes support for a wide variety of different sensors including: touch sensors, ultrasonic sonar distance sensors, rotation encoders, video cameras, gyroscopes, accelerometers, GPS, temperature, infra-red distance sensors, line following detection, color sensors, etc.
- ROBOTC includes extensive sound playback support ranging from generation of a single sound to playback of standard WAV and MIDI files. Sound file playback is not normally found in the relatively small CPUs of the class supported by ROBOTC.
Updated Support Documents for VEX Robotics Competitions
Are you part of a team that competes in VEX Robotics Competitions? If so, we’ve just released updated support documents that will help guarantee your success when you get to the field:
- Firmware Inspection using ROBOTC
- Firmware Inspection using the IFI Loader
- Testing Robots using the 75 MHz Crystals
- Testing Robots using the VEXnet Upgrade
- Using the ROBOTC Competition Templates
- Complete ROBOTC Software Inspection Guide (11 MB)
If you’re not part of the VEX Robotics Competitions, get involved! You can find out more information through the CMU Robotics Academy and VEX Robotics.
As always, you can also find support on the ROBOTC.net support pages and forums, too.
ROBOTC 2.0 for VEX is now available for download!

ROBOTC Users…
The CMU Robotics Academy is happy to announce the availability of ROBOTC 2.01 for IFI VEX . The new ROBOTC 2.01 for VEX brings many new improvements to ROBOTC for the Innovation First VEX controller. The new interface brings a new modern feel to the ROBOTC programming language and gives users the power to customize their interface to have all the tools they use the most directly at their fingertips. This update is free to all users who have existing ROBOTC 1.x licenses.
To download, visit the VEX Download Page at the new ROBOTC.net. If you have any questions or have problems upgrading, feel free to contact us via e-mail at support@robotc.net.
Summer 2010 On-Site Teacher Training Classes
This coming summer, you can attend Carnegie Mellon Robotics Academy Teacher Training classes in Pittsburgh, PA. A full slate of classes is available, covering different robotic platforms and software. This video provides a quick overview.
Robotics Academy teacher training courses are designed for robotics educators who use LEGO MIndstorms, TETRIX, or VEX robots in their middle school and high school classrooms. All training is conducted at the National Robotics Engineering Center (NREC) in Pittsburgh, PA. The NREC is part of the Carnegie Mellon University Robotics Institute, a world-renowned robotics organization, where you’ll be surrounded by real-world robot research and commercialization. You also can take advantage of Pittsburgh’s attractions, from world-class museums and entertainment, to shopping, excursions, sports, and more.
ROBOTC for LEGO MINDSTORMS 2.0
The Robotics Academy is proud to announce the arrival of ROBOTC for Mindstorms 2.0. This new version of ROBOTC is coming almost a year after the release of ROBOTC for Mindstorms 1.40. ROBOTC 2.0 adds a lot of new feature and functionality to the popular programming language for LEGO NXT robots.
ROBOTC for LEGO MINDSTORMS is a ANSI-C based programming language for the MINDSTORMS NXT and RCX robotic systems. ROBOTC offers users a common programming language across different popular robotic platforms; with a unique powerful run-time debugger that give a user complete feedback on all input, outputs, and variables in their programs.
New Features in ROBOTC 2.0:
(click links for screen shots)
- Tabbed Programming Interface – Multiple programs can be open at a single time.
- New Hardware Support – Support for PITSCO’s TETRIX Programming Language
- New Competition Support – ROBOTC is an approved programming language for the FIRST Tech Challenge competition.
- “Live Start Page” – Feature allows users to keep in touch with the latest news and updated from the ROBOTC community.
- More Sample Programs – Over 150 new and updates samples programs now included with ROBOTC
- Updated User Interface – Updated and modernized ROBOTC’s user interface, with floating and dockable debugger windows.
- Improved Debugger – ROBOTC’s debugger can now control motors and servo individually, as well as provide easy-to-use debugging information for users.
- NXT Remote Control – NXT users can now send joystick data from their PC to their robots using a Logitech USB game controller.
- Improved Help System – Now includes sample usage of functions, as well as references to sample programs.
- Upgraded Motor and Sensor Setup Wizard– Easier to configure different types of sensors and motor features, such as PID and encoders. Includes easy configuration for TETRIX controllers as well.
- FREE UPGRADE for existing ROBOTC users – Any user of ROBOTC 1.x can upgrade to ROBOTC 2.0 for free! All existing licenses will work with ROBOTC 2.0!
ROBOTC 2.0 is available from www.robotc.net for only $30 for a single user license. Classroom and site licenses are available also. Visit www.robotc.net to download today.



