ROBOTC.net Blog  

ROBOTC News

Archive for the ‘Releases’ Category

RVW Sneak Peek!

with one comment

We want to thank everyone who has been using our Robot Virtual World software and providing valuable feedback. Just so you know we’re listening, here are some of the major improvements that will be coming soon!

We had to do an overhaul of our infrastructure, but our VEX Sack Attack and FTC Ring it Up competition tables now support encoders on each joint! Here’s a screenshot of the Sensor and Motor Debug windows – look at all those inputs and outputs!

FTC Ring it Up!
Every NXT and TETRIX Motor on the robots is now equipped with an encoder. Due to several requests, we’ve also replaced the Compass Sensor with a Gyroscope! (Click the picture to enlarge)

VEX Sack Attack
Like the Ring it Up table, we’ve added encoders to the “shoulder” motors on Scooperbot and Clawbot. We also added a potentiometer to the scooper on Scooperbot, and Gyroscopes on all three of the robot models! (Click the picture to enlarge)

These are just some of the major improvements we’ve made in the competition tables. We’ve made lots of other great ones that you’ll just have to wait to see. :)

Keep an eye on our blog for their public availability, scheduled for the very beginning of November.

Written by Jesse Flot

October 25th, 2012 at 5:26 pm

Posted in NXT,Releases,VEX

Tagged with ,

Check out the new RVW Level Builder Video!

with one comment

We’ve just produced an exciting video that shows off the new RVW Level Builder! Check it out to see how easy it is to get started with the powerful new software.

Download the initial version of the software, here. For more information on the Level Builder, visit this page.

Written by Jesse Flot

September 26th, 2012 at 2:37 pm

Posted in General News,Releases

Tagged with ,

ROBOTC 3.51 Update – Now Available!

with 3 comments

The ROBOTC Development team is proud to announce an update to ROBOTC  - Version 3.51 for the LEGO Mindstorms, VEX Cortex and PIC, Arduino, and Robot Virtual World platforms is now available! The new ROBOTC 3.51 update is free-of-charge for ALL existing ROBOTC 3.0 license holders. This build fixes a number of the issues reported by end users – A full change log is below.

Change log for ROBOTC 3.51 (since version 3.50):

  • Change joystick button commands to return a short to avoid “int == bool” comparison warning.
  • Incorrect calculation of “sizeof” operator for ‘call by reference’ variables. Was returning the size of a single pointer rather the the size of the item!!
  • Prevent crash when downloading header file to Emulator.
  • Fixed bug in Tetrix motor encoders not reading correctly.
  • Update File I/O intrinsic definitions to fix issues with string parameters.
  • Operator precedence was changed so that it was all left-to-right order when precedence is equal. Except the assignment operators — +, ++, -+, *=, … are evaluated right-to-left.
  • Trinary — improved calculation of expression type to avoid allocating a temp string variable when both true and false sides are “char *”.
  • Update “motors and sensors setup to re-enable “encoder equipped” check box for Tetrix 12V motors.
  • Add a separate string for “standard models” directory that is different from “sample programs” directory since TETRIX shares the sample programs with NXT but has a different standard models directory.
  • Fix issue with VEX LCD assignment. If two ports are inadvertently assigned to VEX LCD only one is active. But removing assignment from inactive port was wiping out the mapping for the active port. Now when second port is assigned, any existing assignment on another port is changed to “uart none”.
  • Code generation for char string on platforms that don’t support constant pool was not working right. e.g. “display const char string on VEX PIC LCD” was not working. Compiler was incorrectly attempting to store the string constant into the “constant pool” even through the result value was never used. Fixed.
  • Debugger “Task Status” window was incorrectly trying to read address of “variable stack” from VEX PIC. VEX PIC does not support ‘variable stack’ and instead stores everything in global variables (and hence has no recursion). Fixed.
  • Prevent IDE crash when trying to format an invalid property.
  • Emulator was not automatically stopping motors for NXT and TETRIX.
  • Improve definition of the two different enums for “LCD buttons” to make differences clear.
  • Create compiler error when negative value is specified for size of array bounds.
  • Fix bug introduced with “Matrix Controller” support when servo index name to numeric mapping is incorrect.
  • Add new NXT high speed write function to write a single char. Previous opcode only wrote a pointer to an array of bytes and you had to specify the number of bytes to write.
  • Tetrix Servo controller — hold servos on user program stop – variable was not working as expected – now fixed.
  • Correct intrinsic definitions for ‘nxtWriteRawHS’ and ‘nxtReadRawBluetooth’.
  • Cast of “(string *)” was incorrectly calculating the nested “*” level. E.g. “(string *) (char *)” was calculated as if it was “**” (double pointer) rather than “*” (single).
  • Prevent IDE crash when closing file from ‘X’ on top right of main frame and debugger is open; the debugger should also be closed at same time. NOTE: Debugger was closed if you used the “Close” command on the file.
  • Add code to generate compiler errors for mix of ‘*’ and ‘array index’ in a single expression.
  • Add compiler error when trying to dereference (‘*’) an expression that is not a pointer.

Written by Tim Friez

September 20th, 2012 at 7:45 pm

Robot Virtual World Level Builder v. 1.0 Now Available!

with 3 comments

The project that you’ve all been waiting for is here at last! We are thrilled to announce that our first version of the Robot Virtual World Level Builder is now available. Configure your own levels out of a wide selection of classroom-themed assets: balls, cylinders, boxes, walls, line tracking tiles, and more. Challenge yourself, or share your levels with students, classmates, or teammates. It’s a free download for all ROBOTC for RVW users, so what are you waiting for?


Once you have the Level Builder installed, you can launch it within ROBOTC by going to Window > Open RVW Level Builder Utility. (Note that you must have ROBOTC 3.50 or newer installed, and that Virtual Worlds must be selected as your Platform Type.)


The Level Builder will appear with two options: CREATE and PLAY.

  • Use CREATE to configure your own virtual world level out of classroom themed assets.
  • Use PLAY to program a virtual robot to complete a level generated in CREATE mode.


In CREATE mode, you’re presented with a blank 12′x12′ table just waiting for you to fill it with objects.

  • Drag-and-drop cubes, cylinders, balls, walls, and line tracking tiles onto the table to configure your level.
  • Use the PROPERTIES panel to adjust the orientation of the objects.
  • Zoom in and out on the table using the slider in the bottom right.
  • Your virtual robot will always start on the START tile, facing out.
  • Be creative!!!

Once you’ve configured the table to your heart’s content, save it, and press PLAY.


From there, you’ll be brought to the Level and Robot selection screen.

  • SELECT LEVEL will automatically be populated with the table that you just configured.
  • Additional demo levels are included in the download.
  • Choose from several available robots, each with their details listed on the screen.
  • Press START LEVEL to load your level with the currently selected robot.

Your level will load with the robot that you selected.

  • Compile and Download ROBOTC code to solve the challenge.
  • Switch quickly between BUILD MODE and LEVEL SELECTION as you create your perfect level.
  • USE the “WASD” keys to easily check out the level before writing code or passing it on to your students or fellow classmates.

More instructions, details, and videos are coming soon! We would love to hear what you think of the Level Builder, so let us know! Any feedback and suggestions are welcome. Most of all, have fun!

Need help getting up and running with ROBOTC for RVW? Check here for setup instructions. Not already a ROBOTC for RVW user? Download a free 60-day trial right now.

Written by Jesse Flot

September 19th, 2012 at 5:07 pm

RVW Update: VEX Sack Attack v1.2.1 Now Available!

without comments

Attention all VEX teams! We just released a substantial update to this year’s VEX Sack Attack virtual world. Download it here, or on the RVW Level Packs download page. Here’s what’s new:

New Robot: Clawbot

  • Clawbot features a 4-wheel, 2-motor drive system, an arm motor, a gripper, and the full array of sensors. Best of all, it’s fully programmable in ROBOTC!
  • Additional sample code for Clawbot is installed with the update, and can be downloaded here.

Pre-loads and Automatic Scoring

  • Both Gripperbot and Scooperbot can be pre-loaded with a sack! You can control what side the robot starts on, whether it gets a pre-load, and enable the autonomous duration all from the main menu.
  • Scoring is fully implemented in this new version.
    • Earn normal points from sacks, bonus points from bonus sacks, and even more bonus points from the autonomous bonus and “parking” your robot before time runs out.
    • A cool, new timer and scoreboard keeps track of the match in the top-left corner of the window. Compete with your classmates or teammates to see who can get the highest score before time runs out!
  • Driver Control loads are also implemented once the autonomous period ends. Introduce them into the playing field by clicking on the green sack icons in the top-right corner.

Sensor View

  • Ever wonder why your Ultrasonic sensor “sees” the values that it does? Enable the new Sensor View to see what’s triggering the Ultrasonic sensor and the heading of your compass.

Additional Enhancements

  • We’ve improved the robot-sack interaction on all of the robots.
  • The lighting and contrast of the game have been enhanced, making it easier to grab and score the sacks.
  • Lots of small tweaks and adjustments.

To view the original post for the VEX Sack Attack virtual world (complete with video), visit this link.

Written by Jesse Flot

September 19th, 2012 at 11:16 am

ROBOTC 3.50 Now Available!

with 4 comments

The ROBOTC Development team is proud to announce that ROBOTC 3.50 for the LEGO Mindstorms, VEX Cortex and PIC, Arduino, and Robot Virtual World platforms is now available! The new ROBOTC 3.50 update is free-of-charge for ALL existing ROBOTC 3.0 license holders. Download today and try out all of the new features and enhancements available in ROBOTC 3.50!

Change log for ROBOTC 3.50 (since version 3.08):

MAJOR UPDATES:

  • Full ANSI-C support to support pointers, recursion, and stacks with an updated compiler and updated robot firmware.
  • New and Updated Debugger Windows:
    • “Local Variables” to monitor variables in the current task or function.
    • (Note: Local variables are only available when your program is suspended)
    • “Global Variables” to monitor variables available to your entire program.
    • “Call Stacks” to monitor function calls in the currently selected task.
  • Updated Documentation and Wiki (www.robotc.net/wiki) – Constantly Updating!
  • Support for Standard C commands – sprintf(), sscanf(), support for character arrays, unsigned variables, etc.
  • Support for the Arduino family of controllers (Uno, Mega, Mega 2560) with future support and expanded functionality for the Arduino Leonardo and Due controllers.
  • Updated Robot Virtual Worlds support to include additional sensors and motors.
  • Improved Robot Virtual Worlds performance to simulate more realistic physics and robot behaviors.
  • Support for the new MATRIX building system with the NXT.

Robot Specific Fixes:

  • NXT I2C sensors were incorrectly initializing clock and data lines as outputs when first configuration. They were correctly left as inputs after first message was sent. Change was to initialize as inputs. Before change, the first I2C message on an empty port will incorrectly appear to succeed.
  • Ignore HiTechnic Textrix Motor Controller spurious encoder counts. I.E. if encoder value read is hex ‘FF80xxxx’ then force a reread. Always accept the re-read value.
  • Eliminate Z-Axis from VEX joystick window as is unused.
  • Arduino boards now support controlling LEDs from PWM pins.
  • Arduino boards now will read zero when connecting analog to ground.

Interface Updates/Fixes:

  • Add “Show Current Program Counter” button to Debugger.
  • Add new template for “New File”. All new programs will start with a task main structure. This template can be modified by the user (it lives in  /Sample Programs/Platform/Templates)
  • Always force “Save As” for all template files. Before the files were being saved in a default directory.
  • Allow any serial port to be used with VEX PIC systems.
  • Allow user entered blank (empty) lines before first “#pragma config(” lines. Currently generates a compiler error.
  • Improve placement of related compiler generated errors to appropriate line numbers.
  • Fix bug where “Motors and Sensors Setup” did not work on empty files.
  • Properly restore floating “Debugger Panes” when Debugger is invoked.
  • Changed Checkmarks to Radio Icons for many menu items. This shows a “dot” instead of a “check mark” in the menu icon field.
  • Created tooltip strings in resource file for all missing commands.
  • Prepare to add two new Debugger panes to display “Breakpoints” and “Bookmarks”. Based on the existing “Compiler Errors” pane architecture. The new panes are displayed but the content is still empty.
  • Better synchronization of breakpoints between “Source File” and “Disassembly Listing”. Previously when breakpoint was added/removed in one window the corresponding change was not properly made in the other window. Now the breakpoint ICONs are always refreshed whenever a window is “Activated” (i.e. made topmost).
  • Add two new menu commands for “increase indent” and “decrease indent”.
  • Tweak “auto close breakpoint hit” message box implementation. Add a check mark to the dialog.
  • Add new “Compile OR Compile+Download” toolbar.
  • Debug “Task Status” window — minor enhancements.
  • FONT name was not being updated in Preferences “Font” tab correctly. Fixed.

Compiler and Command Updates/Fixes:

  • Pointer support. New functions positioning for improvements in the dereference (“*”) and address of (“&”) unary operators.
  • New “#pragma debugWindows(…)” to specify a list of Debugger Windows that should be opened.
  • Add new intrinsic function “DebugStreamClear” to allow programs on robot to clear the debug stream.
  • Support for “Implied Pointers” in functions.
  • Fixed compiler priority for binary and unary versions of ‘&’, ‘*’, ‘+’ and ‘-’ operators.
  • Support for unsigned longs.
  • Add new intrinsic function for “round”.
  • Added support for ‘atan2′.
  • Allow ‘struct’ pointers as valid function return types.
  • Fix issue in ‘struct’ declaration causing a random memory overwrite in ROBOTC IDE.
  • Support pointer variables for ‘++’ and ‘–’.
  • ‘sizeof’ operator now accepts argument types of ‘char’, ‘short’, ‘long’, ‘float’, …
  • Fix bug in evaluating “complicated” / compound constant expressions in “#if”.
  • Add support for ‘%p’ format code in ‘sprintf’.
  • Improve code generation for pointer references to ‘struct’.
  • Added doubly nested ‘->’ operator.
  • Fixed bug in unary ‘-’ VM opcode.
  • Improve code generation for structure element access.
  • Fix implementation of structure element access code generation; i.e. the “.” operator.
  • Partially re-implement “sizeof” operator for proper calculation of ‘pointer’ and ‘reference’ variables.
  • Add “drop down toolbar button” to “Compile and Download” toolbar to select “Download + Compile” or “Compile” only; vs two separate buttons.
  • Add partial support for new download “write to RAM” message. Needed for new “local variables” window.
  • Add support for new “trinary opcodes” (+, – and *) with ‘long’ operands. Previously trinary opcodes were for ‘short’ variables. Trinary opcodes are primarily used for efficient code generation for array and structure element access.
  • Added definition for new “NoOp” command.

Written by Jesse Flot

September 18th, 2012 at 5:46 pm

RVW Update: FTC Ring It Up v1.2 Now Available!

without comments

UPDATE: Version 1.2.2 of the Ring It Up virtual world is now available, which includes additional starting points and memory management improvements.

We’re happy to announce a MASSIVE update to this year’s virtual world for FTC Ring It Up! Download it here, or on the RVW Level Packs download page. Read on to find out what’s new.

Support for the IR Seeker and IR Beacon

  • As the title implies, the IR Seeker and IR Beacon are both emulated in this new version. From the robot selection screen, you can choose whether your want your robot to start with the Compass or IR Seeker.
  • The IR Beacon is randomly placed along one of the three columns, just like the real game.
  • We’ve even added a cool, new “Sensor View” mode so you can see how the robot is detecting the IR Seeker, Sonar, and Compass values.
  • Additional sample programs for using the IR Seeker are also installed with the update, and can be downloaded here.

Pre-loads

  • Both Scissorbot and Gripperbot can be pre-loaded with a striped ring!
  • You can control what side the robot starts on, the color of it’s pre-loaded ring, and enable the autonomous duration all from the main menu.

Automatic Scoring

  • Scoring is fully implemented in this new version.
  • Concepts like the weighted rings, owning pegs, line score bonuses and corner goal bonuses are all simulated.
  • Cool, new timer and scoreboard in the top-left corner of the window. Compete with your classmates or teammates to see who can get the highest score before time runs out!

Additional Enhancements

  • We’ve improved the lighting and contrast of the game, making it easier to grab and score the rings.
  • Improved robot-to-ring interaction and control.
  • Lots of small tweaks and adjustments.

To view the original post for the FTC Ring It Up virtual world (complete with video), visit this link.

Written by Jesse Flot

September 14th, 2012 at 4:53 pm

Posted in FTC,NXT,Releases

Tagged with , , , ,

FTC Ring It Up Virtual World v1.0 Now Available!

with 2 comments

The Robot Virtual World team is proud to announce their initial release of the FTC Ring It Up! virtual environment, just in time for kickoff! This year’s virtual competition field features two new robots designed specifically for the game; the Scissorbot and the Gripperbot. The robots are completely programmable in ROBOTC and even use the same Logitech USB Remote Control as the real world competition, allowing teams to refine their programming skills, practice driving, and form gameplay strategies well in advance of their first matches.

Note that the new features in the virtual world require the latest version of ROBOTC, version 3.50.

Here’s a video of the Ring It Up! virtual world in action:

New Robots
TETRIX Scissorbot features 4 driving motors, a scissor lift and a LEGO gripper:

The Scissorbot gripper is best at picking up tubes parallel to its gripper.

TETRIX Gripperbot features 2 driving motors, and arm motor and a LEGO gripper:

The gripper on Gripperbot is best at picking up tubes perpendicular to its gripper.

User Interface
The new and improved user interface allows you to switch between the robots, choose different starting positions, and tells you where the growing list of motors and sensors are connected:

Controlling the Robots
Sample code for programming the robots to move autonomously or via a Logitech USB Remote is installed with the level pack. It can also be downloaded here.

Don’t have a Logitech USB Remote Control? No Problem! We’ve also added keyboard control for the robots when a ROBOTC program isn’t running! The controls are as follows:

  • W” key: Robot moves forward
  • A” key: Robot turns left
  • S” key: Robot moves in reverse
  • D” key: Robot turns right
  • {” key: Gripper Closes
  • }” key: Gripper Opens
  • ;” (semicolon) key: Wrist motor up
  • ” (single quote) key: Wrist motor down
  • <” key: Scissor lift / Arm motor up
  • >” key: Scissor lift / Arm motor down

Driver Camera View
Check out Camera view 4 to practice driving the new virtual robots from the same perspective you’ll use in the competition.

Future Enhancements!
We’re extremely excited about this release, but we’re not done yet. Check out some of the enhancements that are on their way!

  • Addition of “Autonomous Rings” pre-loaded on the robots
  • Emulation of the IR Sensor and IR Beacon
  • Dynamically calculated scoring

The FTC Ring It Up! virtual world can be downloaded here, or under the Available Level Packs section of the RVW Download Page.

Written by Jesse Flot

September 8th, 2012 at 1:56 pm

Posted in Competitions,FTC,NXT,Releases

Tagged with , ,

Announcing ROBOTC 3.5! Beta Version Available Today

with 5 comments

The ROBOTC Development team is proud to announce thatROBOTC 3.5 for the LEGO Mindstorms, VEX Cortex and PIC, Arduino, and Robot Virtual World platforms will be available on September 7th, 2012. The new ROBOTC 3.5 update will be free-of-charge for ALL existing ROBOTC 3.0 license holders. Download a Beta version (3.45) today to get a sneak peak at all of the new features and enhancements available in ROBOTC 3.5!

ROBOTC 3.5 has a number of new features and enhancements:

  • Full ANSI-C support to support pointers, recursion, and stacks with an updated compiler and updated robot firmware.
  • New and Updated Debugger Windows:
    • “Local Variables” to monitor variables in the current task or function.
      (Note: Local variables are only available when your program is suspended)
    • “Global Variables” to monitor variables available to your entire program.
    • “Call Stacks” to monitor function calls in the currently selected task.
  • Updated Documentation and Wiki (www.robotc.net/wiki) – Still in progress!
  • Support for Standard C commands – sprintf(), sscanf(), support for character arrays, unsigned variables, etc.
  • Support for the Arduino family of controllers (Uno, Mega, Mega 2560) with future support and expanded functionality for the Arduino Leonardo and Due controllers.
  • Updated Robot Virtual Worlds support to include additional sensors and motors.
  • Improved Robot Virtual Worlds performance to simulate more realistic physics and robot behaviors.
  • Support for the new MATRIX building system with the NXT.
  • Many general enhancements and bug fixes – more in-depth change log to come with the ROBOTC 3.5 official release.

Please remember that the Beta available today should not be installed across entire school sites–this is a beta version, so install at your own risk!

You can participate in the ROBOTC 3.45 Beta version by downloading a copy here. Please note that the Beta version will uninstall your existing version of ROBOTC; the Beta will use your existing licensing so there is no need to ‘Deactivate’ before installing. If you have any issues/questions with the ROBOTC Beta, please e-mail betasupport [at] robotc [dot] net for assistance and to alert us of any issues to be fixed between now and release day.

Written by Tim Friez

August 24th, 2012 at 11:24 am

New Version of the RVW Curriculum Companion Challenge Tables!

without comments

The ROBOTC Robot Virtual World team is extremely proud to announce a brand new version of the RVW Curriculum Companion Tables for both LEGO and VEX. This new version (2.2.1) contains an incredible number of enhancements and new features. It is a free update for all existing Robot Virtual World users. Read on to find out more!

New Login Functionality
If you have an account on the Computer Science Student Network (CS2N.org), you can now log in and earn achievements. This also allows you to save your progress – marking the challenges that you’ve completed so far. If you don’t have a CS2N account, what are you waiting for?


If your computer isn’t online, you can also create a local account to log in and track your progress locally. If you’re not interested in tracking your progress, you can always take advantage of the “Log In as Guest” feature, too.


Achievement Badges and Updated User Interface
As the new login functionality implies, we’ve also added achievement badges to the challenges! You can earn Motivation badges as you work through a given challenge, Progress badges as you complete challenges, and Mastery badges when you complete specified sets from the Movement, Sensing, Remote Control, and Variables sections of the Curriculum Companion Challenges. For additional background information on badges, visit this page on CS2N.

We’ve upgraded the user interface to indicate which challenges have achievement badges. Challenges with badges have a star next to their name on the list on the left. Clicking on the challenge provides additional detail.


Whether you’re logged in with a CS2N or a local account, the new Badges section displays all of the challenges that you’ve earned so far.


From the Badges section, you can also generate a PDF of all of your Progress and Mastery badges.


And if you’re using your CS2N account, you can check your progress on your Achievements page.


New In-Game Animations and Notifications
We’ve also added brand new animations and achievements to the challenges. You’ll be notified when you complete the challenge, or if your robot does something that that causes it to fail. Motivation and Progress badges will appear as you earn them on the challenges.


Challenges that require a number of laps to be performed or for certain lines to be crossed now include visual cues such as counters and 3D makers.


Robot Physics and Size Improvements
All VEX, LEGO and TETRIX robots have had their size and physics adjusted to more closely match their real-world counterparts.


Many More Small Fixes and Enhancements
There’s too many in this category to list, so try the latest version out for yourself! Download it here.

For more information about the Robot Virtual World software, or help getting it up and running, visit this page.

Written by Jesse Flot

July 23rd, 2012 at 3:49 pm