ROBOTC.net Blog  

ROBOTC News

Archive for the ‘programming’ tag

Exciting News with ROBOTC for VEX Robotics 4.55!

with 2 comments

ROBOTC 4-55 VEX

 
The ROBOTC Development Team has a brand new update for you, ROBOTC 4.55! A full list of changes and improvements appear below. But we have BIG NEWS to share first…

We are excited to announce that the software required to program VEX robot hardware is finally included with every VEX IQ and VEX EDR kit at no extra charge! Current VEX users can now download the no-cost version of ROBOTC 4.x for VEX directly. Follow these steps to download:

1. Login to your www.vexrobotics.com account. If you don’t have an account, create one at https://www.vexrobotics.com/customer/account/create/

2. Navigate to Software Downloads under “My Account” on the left side of your Account Dashboard.

3. Choose your desired software and follow the download and installation instructions.

 
And here are the highlights of the latest update:

 

Create Graphs from your Datalogs

 

Datalog Graph

Want to know what running your robot into a wall looks like to your accelerometer? Curious about how ambient light intensity varies throughout the day? Datalogging now supports (live) plotting of incoming data gathered on the robot brain. Science experiments involving sensor and motor data can be displayed. You can easily find out by gathering the data and having ROBOTC plot the data for you, as it comes in.

 

Datalog Graphical

Datalogging is no longer restricted to just Full ROBOTC, we’ve added easy to use blocks that allow you to access the same functionality in a simple manner.

Additionally, logged data can even be exported for further analysis in a spreadsheet application of your choice.

 

ROBOTC Graphical Variable Support

 

Variable Support

You can now use variables in ROBOTC Graphical, as well as perform various operations on them. You can add, subtract, divide, multiple, whatever your program requires. You can use variables in loops, motor blocks, you name it!

 

ROBOTC Graphical Break and Continue

 

Continue Break

We’ve added two new program flow blocks, break and continue. This was a much requested feature from our more advanced users of ROBOTC Graphical. You can now create more complex programs without creating work-arounds or having to switch to ROBOTC Full.

 

Beta Channel Access

 

Use Beta Builds

Want to have a front row seat when it comes to upcoming features in ROBOTC? Subscribe to the beta channel through ROBOTC’s preference menu and you will be notified when a preview build (such as this one), is released. Try out new and exciting features before we release them to the general public and provide us with feedback. Help make ROBOTC better!

 

Support for VEXos Utility for VEX IQ

 

VEXos

VEXos is a robotics operating system that harnesses the flexibility and power of VEX hardware for the rigors of competition and the diverse needs of education. This operating system, written completely by VEX Robotics, uses real-time processing for repeatable operation at the fastest possible speeds. The “VEXos Utility” program simplifies updating VEX IQ hardware, and is compatible with Windows 7-10, and Mac OS X 10.8 and greater. Find out more about VEXos here!

 

Other changes and bug fixes

 

New features – VEX

  • Compatible with the VEXos Utility for VEX IQ
  • You can control an LED on the VEX EDR from Graphical and Natural Language using the new setLED block or command.

Changes and Improvements – General

  • The default colors in the Assembly window (F9) have new defaults for increased readability.
  • Function tooltips have been revised and corrected where applicable.
  • License error messages have been improved. A short explanation of the error codes is now provided.
  • #info has been added to the list of support #pragma statements, such as #error and #warn
  • The start and stop buttons on the datalogging control have been merged into a single button.
  • Deleting a file from the File Utility was not possible, this has been fixed.
  • We’ve made some visual changes to ROBOTC Graphical including new colours for enhanced readability.
  • Internal improvements to the datalogging system have been made that resolve possible data corruption and inability to disable polling for a specific data series.
  • Saving a New User Model in the Motors and Sensor Setup has been fixed.
  • Various float conversion related issues have been fixed.
  • NaN (Not a Number) detection has been fixed.
  • Sscanf with more than 7 arguments could crash the VM, this has been fixed.
  • Overloaded deprecated function no longer cause warnings.
  • A discrepancy between the compiler and VM regarding the maximum number of tasks has been fixed.
  • An issue with ROBOTC crashing due to a recursive macro has been addressed.
  • The RVW package manager now shows the correct informational icon.
  • Opening the RVW package manager no longer causes an exception under certain circumstances.
  • An issue with the debugStream window background refresh causing a hang when communications with the robot was lost, has been remedied.
  • The Program Debug window no longer crops the status line.
  • You can now use displayInverseString() in combination with a char *.
  • drawInvertRect and drawInvertEllipse were not deprecated correctly, this has been fixed.
  • ROBOTC no longer crashes when clicking the Custom Joystick Config checkbox under Windows 7 and 8. (4.55)
  • The joystick channel dropdown was incorrect in ROBOTC Graphical after changing platforms, this has been fixed.(4.55)

Changes and Improvements – VEX

  • The VexIQ LCD screen has been added to the #debuggerWindows #pragma.
  • A bug in the macro parser prevented the use of the VEX EDR platform when a PLTW license was active. This has been fixed.
  • An issue with debugging and using sscanf on the VEX IQ has been addressed.
  • VEX IQ getGyroRate and getGyroRateFloat return incorrect values, this has been fixed.
  • Starting a new task on the VEX EDR no longer clears the screen.
  • Using drawTextCenteredInUserScreenArea function will no longer throw an exception on the VEX IQ.
  • An issue with the start of flash file system not showing correctly in communication debug message has been fixed.
  • The VEX EDR competition template now sets the platform correctly.

 

Download ROBOTC for VEX Robotics 4.55 here!

And let us know what you think of the new updates.

Happy Programming!

Written by Cara Friez-LeWinter

August 31st, 2016 at 10:14 pm

Download ROBOTC for MINDSTORMS 4.55 Today!

without comments

ROBOTC 4-55

The ROBOTC Development Team is excited to share our latest official update with you, ROBOTC for MINDSTORMS 4.55, which includes new features, functionality, and bug fixes. A full list of changes and improvements appear below (including an awesome sale for 3.x users), but here are the highlights:

 

Create Graphs from your Datalogs

 

Datalog Graph

Want to know what running your robot into a wall looks like to your accelerometer? Curious about how ambient light intensity varies throughout the day? Datalogging now supports (live) plotting of incoming data gathered on the robot brain. Science experiments involving sensor and motor data can be displayed. You can easily find out by gathering the data and having ROBOTC plot the data for you, as it comes in.

 

Datalog Graphical

Datalogging is no longer restricted to just Full ROBOTC, we’ve added easy to use blocks that allow you to access the same functionality in a simple manner.

Additionally, logged data can even be exported for further analysis in a spreadsheet application of your choice.

 

ROBOTC Graphical Variable Support

 

Variable Support

You can now use variables in ROBOTC Graphical, as well as perform various operations on them. You can add, subtract, divide, multiple, whatever your program requires. You can use variables in loops, motor blocks, you name it!

 

ROBOTC Graphical Break and Continue

 

Continue Break

We’ve added two new program flow blocks, break and continue. This was a much requested feature from our more advanced users of ROBOTC Graphical. You can now create more complex programs without creating work-arounds or having to switch to ROBOTC Full.

 

Beta Channel Access

 

Use Beta Builds

Want to have a front row seat when it comes to upcoming features in ROBOTC? Subscribe to the beta channel through ROBOTC’s preference menu and you will be notified when a preview build (such as this one), is released. Try out new and exciting features before we release them to the general public and provide us with feedback. Help make ROBOTC better!

 

Other changes and bug fixes

 

New features – MINDSTORMS

  • Battery monitoring on the EV3 through the nImmediateBatteryLevel and nAvgBatteryLevel intrinsic variables has been added

Changes and Improvements – General

  • The default colors in the Assembly window (F9) have new defaults for increased readability.
  • Function tooltips have been revised and corrected where applicable.
  • License error messages have been improved. A short explanation of the error codes is now provided.
  • #info has been added to the list of support #pragma statements, such as #error and #warn
  • The start and stop buttons on the datalogging control have been merged into a single button.
  • Deleting a file from the File Utility was not possible, this has been fixed.
  • We’ve made some visual changes to ROBOTC Graphical including new colours for enhanced readability.
  • Internal improvements to the datalogging system have been made that resolve possible data corruption and inability to disable polling for a specific data series.
  • Saving a New User Model in the Motors and Sensor Setup has been fixed.
  • Various float conversion related issues have been fixed.
  • NaN (Not a Number) detection has been fixed.
  • Sscanf with more than 7 arguments could crash the VM, this has been fixed.
  • Overloaded deprecated function no longer cause warnings.
  • A discrepancy between the compiler and VM regarding the maximum number of tasks has been fixed.
  • An issue with ROBOTC crashing due to a recursive macro has been addressed.
  • The RVW package manager now shows the correct informational icon.
  • Opening the RVW package manager no longer causes an exception under certain circumstances.
  • An issue with the debugStream window background refresh causing a hang when communications with the robot was lost, has been remedied.
  • The Program Debug window no longer crops the status line.
  • You can now use displayInverseString() in combination with a char *.
  • drawInvertRect and drawInvertEllipse were not deprecated correctly, this has been fixed.
  • ROBOTC no longer crashes when clicking the Custom Joystick Config checkbox under Windows 7 and 8. (4.55)
  • The joystick channel dropdown was incorrect in ROBOTC Graphical after changing platforms, this has been fixed. (4.55)

Changes and Improvements – MINDSTORMS

  • The original LEGO firmware file operations have been removed, their functionality has been superseded by ROBOTC file operations.
  • EV3 specific datalogging functions have been marked as obsolete. Users should use the new datalogging functions.
  • Restrictions on the file downloading locations on the EV3 have been relaxed a little.
  • Opening the File Utility on the EV3 will create the rc and rc-data folders, if they don’t already exist.
  • Playing a sound file from inside ROBOTC’s on-brick program folder is easier. It will check if a file with that name exists in the rc folder, before checking the built-in sounds folder.
  • A memory leak in the EV3 connection handling has been fixed; disconnecting an EV3 while the debugger was running would eventually exhaust all program memory.
  • Running a motor with a specified encoder count of 0 on the EV3 would produce unpredictable results, this has been fixed.
  • An issue with reading data from the NXT Sonar sensor in the IDE has been fixed.
  • The examples for the deprecated datalogging API on the EV3 have been removed. (4.55)

 

Download ROBOTC for MINDSTORMS 4.55 here!

And let us know what you think of the new updates.

 

And are you still using ROBOTC 3.x?
If so, you can upgrade today for 50% off!

 

Upgrade ROBOTC (1)
 

Email customerservice@robomatter.com to upgrade your license today! (Note: You must provide your existing ROBOTC LicenseID to confirm eligibility.)

Happy Programming!

Written by Cara Friez-LeWinter

August 31st, 2016 at 10:14 pm

Download ROBOTC for VEX Robotics 4.54 Today!

without comments

Blog ROBOTC VEX
The ROBOTC Development Team is excited to share our latest official update with you, ROBOTC 4.54, which includes new features, functionality, and bug fixes. A full list of changes and improvements appear below (including an awesome sale for 3.x users), but here are the highlights:

Create Graphs from your Datalogs

 

Datalog Graph
 

Want to know what running your robot into a wall looks like to your accelerometer? Curious about how ambient light intensity varies throughout the day? Datalogging now supports (live) plotting of incoming data gathered on the robot brain. Science experiments involving sensor and motor data can be displayed. You can easily find out by gathering the data and having ROBOTC plot the data for you, as it comes in.

 

Datalog Graphical
Datalogging is no longer restricted to just Full ROBOTC, we’ve added easy to use blocks that allow you to access the same functionality in a simple manner.

Additionally, logged data can even be exported for further analysis in a spreadsheet application of your choice.

ROBOTC Graphical Variable Support

 

Variable Support
You can now use variables in ROBOTC Graphical, as well as perform various operations on them. You can add, subtract, divide, multiple, whatever your program requires. You can use variables in loops, motor blocks, you name it!

ROBOTC Graphical Break and Continue

 

Continue Break
We’ve added two new program flow blocks, break and continue. This was a much requested feature from our more advanced users of ROBOTC Graphical. You can now create more complex programs without creating work-arounds or having to switch to ROBOTC Full.

Beta Channel Access

 

Use Beta Builds
Want to have a front row seat when it comes to upcoming features in ROBOTC? Subscribe to the beta channel through ROBOTC’s preference menu and you will be notified when a preview build (such as this one), is released. Try out new and exciting features before we release them to the general public and provide us with feedback. Help make ROBOTC better!

Support for VEXos Utility for VEX IQ

VEXos
VEXos is a robotics operating system that harnesses the flexibility and power of VEX hardware for the rigors of competition and the diverse needs of education. This operating system, written completely by VEX Robotics, uses real-time processing for repeatable operation at the fastest possible speeds. The “VEXos Utility” program simplifies updating VEX IQ hardware, and is compatible with Windows 7-10, and Mac OS X 10.8 and greater. Find out more about VEXos here!

 

Other changes and bug fixes

New features – VEX

  • Compatible with the VEXos Utility for VEX IQ
  • You can control an LED on the VEX EDR from Graphical and Natural Language using the new setLED block or command.

Changes and Improvements – General

  • The default colors in the Assembly window (F9) have new defaults for increased readability.
  • Function tooltips have been revised and corrected where applicable.
  • License error messages have been improved. A short explanation of the error codes is now provided.
  • #info has been added to the list of support #pragma statements, such as #error and #warn
  • The start and stop buttons on the datalogging control have been merged into a single button.
  • Deleting a file from the File Utility was not possible, this has been fixed.
  • We’ve made some visual changes to ROBOTC Graphical including new colours for enhanced readability.
  • Internal improvements to the datalogging system have been made that resolve possible data corruption and inability to disable polling for a specific data series.
  • Saving a New User Model in the Motors and Sensor Setup has been fixed.
  • Various float conversion related issues have been fixed.
  • NaN (Not a Number) detection has been fixed.
  • Sscanf with more than 7 arguments could crash the VM, this has been fixed.
  • Overloaded deprecated function no longer cause warnings.
  • A discrepancy between the compiler and VM regarding the maximum number of tasks has been fixed.
  • An issue with ROBOTC crashing due to a recursive macro has been addressed.
  • The RVW package manager now shows the correct informational icon.
  • Opening the RVW package manager no longer causes an exception under certain circumstances.
  • An issue with the debugStream window background refresh causing a hang when communications with the robot was lost, has been remedied.
  • The Program Debug window no longer crops the status line.
  • You can now use displayInverseString() in combination with a char *.
  • drawInvertRect and drawInvertEllipse were not deprecated correctly, this has been fixed.

Changes and Improvements – VEX

  • The VexIQ LCD screen has been added to the #debuggerWindows #pragma.
  • A bug in the macro parser prevented the use of the VEX EDR platform when a PLTW license was active. This has been fixed.
  • An issue with debugging and using sscanf on the VEX IQ has been addressed.
  • VEX IQ getGyroRate and getGyroRateFloat return incorrect values, this has been fixed.
  • Starting a new task on the VEX EDR no longer clears the screen.
  • Using drawTextCenteredInUserScreenArea function will no longer throw an exception on the VEX IQ.
  • An issue with the start of flash file system not showing correctly in communication debug message has been fixed.
  • The VEX EDR competition template now sets the platform correctly.

Download ROBOTC for VEX Robotics 4.54 here!

And let us know what you think of the new updates.

 

And are you still using ROBOTC 3.x?
If so, you can upgrade today for 50% off!

 

Upgrade ROBOTC (1)
 

Email customerservice@robomatter.com to upgrade your license today! (Note: You must provide your existing ROBOTC LicenseID to confirm eligibility.)

Happy Programming!

Written by Cara Friez-LeWinter

August 1st, 2016 at 6:00 am

ROBOTC for MINDSTORMS 4.54 Now Available

without comments

Blog ROBOTC LEGO

The ROBOTC Development Team is excited to share our latest official update with you, ROBOTC for MINDSTORMS 4.54, which includes new features, functionality, and bug fixes. A full list of changes and improvements appear below (including an awesome sale for 3.x users), but here are the highlights:

Create Graphs from your Datalogs

 

Datalog Graph

 

Want to know what running your robot into a wall looks like to your accelerometer? Curious about how ambient light intensity varies throughout the day? Datalogging now supports (live) plotting of incoming data gathered on the robot brain. Science experiments involving sensor and motor data can be displayed. You can easily find out by gathering the data and having ROBOTC plot the data for you, as it comes in.

 

Datalog Graphical

Datalogging is no longer restricted to just Full ROBOTC, we’ve added easy to use blocks that allow you to access the same functionality in a simple manner.

Additionally, logged data can even be exported for further analysis in a spreadsheet application of your choice.

ROBOTC Graphical Variable Support

 

Variable Support

You can now use variables in ROBOTC Graphical, as well as perform various operations on them. You can add, subtract, divide, multiple, whatever your program requires. You can use variables in loops, motor blocks, you name it!

ROBOTC Graphical Break and Continue

 

Continue Break

We’ve added two new program flow blocks, break and continue. This was a much requested feature from our more advanced users of ROBOTC Graphical. You can now create more complex programs without creating work-arounds or having to switch to ROBOTC Full.

Beta Channel Access

 

Use Beta Builds

Want to have a front row seat when it comes to upcoming features in ROBOTC? Subscribe to the beta channel through ROBOTC’s preference menu and you will be notified when a preview build (such as this one), is released. Try out new and exciting features before we release them to the general public and provide us with feedback. Help make ROBOTC better!

 

Other changes and bug fixes

New features – MINDSTORMS

  • Battery monitoring on the EV3 through the nImmediateBatteryLevel and nAvgBatteryLevel intrinsic variables has been added

Changes and Improvements – General

  • The default colors in the Assembly window (F9) have new defaults for increased readability.
  • Function tooltips have been revised and corrected where applicable.
  • License error messages have been improved. A short explanation of the error codes is now provided.
  • #info has been added to the list of support #pragma statements, such as #error and #warn
  • The start and stop buttons on the datalogging control have been merged into a single button.
  • Deleting a file from the File Utility was not possible, this has been fixed.
  • We’ve made some visual changes to ROBOTC Graphical including new colours for enhanced readability.
  • Internal improvements to the datalogging system have been made that resolve possible data corruption and inability to disable polling for a specific data series.
  • Saving a New User Model in the Motors and Sensor Setup has been fixed.
  • Various float conversion related issues have been fixed.
  • NaN (Not a Number) detection has been fixed.
  • Sscanf with more than 7 arguments could crash the VM, this has been fixed.
  • Overloaded deprecated function no longer cause warnings.
  • A discrepancy between the compiler and VM regarding the maximum number of tasks has been fixed.
  • An issue with ROBOTC crashing due to a recursive macro has been addressed.
  • The RVW package manager now shows the correct informational icon.
  • Opening the RVW package manager no longer causes an exception under certain circumstances.
  • An issue with the debugStream window background refresh causing a hang when communications with the robot was lost, has been remedied.
  • The Program Debug window no longer crops the status line.
  • You can now use displayInverseString() in combination with a char *.
  • drawInvertRect and drawInvertEllipse were not deprecated correctly, this has been fixed.

Changes and Improvements – MINDSTORMS

  • The original LEGO firmware file operations have been removed, their functionality has been superseded by ROBOTC file operations.
  • EV3 specific datalogging functions have been marked as obsolete. Users should use the new datalogging functions.
  • Restrictions on the file downloading locations on the EV3 have been relaxed a little.
  • Opening the File Utility on the EV3 will create the rc and rc-data folders, if they don’t already exist.
  • Playing a sound file from inside ROBOTC’s on-brick program folder is easier. It will check if a file with that name exists in the rc folder, before checking the built-in sounds folder.
  • A memory leak in the EV3 connection handling has been fixed; disconnecting an EV3 while the debugger was running would eventually exhaust all program memory.
  • Running a motor with a specified encoder count of 0 on the EV3 would produce unpredictable results, this has been fixed.
  • An issue with reading data from the NXT Sonar sensor in the IDE has been fixed.

Download ROBOTC for MINDSTORMS 4.54 here!

And let us know what you think of the new updates.

 

And are you still using ROBOTC 3.x?
If so, you can upgrade today for 50% off!

 

Upgrade ROBOTC (1)

Email customerservice@robomatter.com to upgrade your license today! (Note: You must provide your existing ROBOTC LicenseID to confirm eligibility.)

Happy Programming!

Written by Cara Friez-LeWinter

August 1st, 2016 at 5:55 am

Cool Project: VEX IQ Smart Radio and iOS

without comments

Cool Project - Smart Radio Blog
Our friend, Simon Burfield, put together a fantastic tutorial on how to get the your VEX IQ brain transferring data with your bluetooth enabled smartphone using the VEX Smart Radio and ROBOTC. Who doesn’t want to control their VEX IQ with a smartphone?!?!

And if you were at VEX Worlds 2016, you might have seen the VEX IQ Smart Radio in action with Simon’s robots. Check out a preview below:

 

To get started, you will need the following:

  • An iOS device with xcode installed
  • A way to run ROBOTC 4.5 +
  • The VEX firmware update program

The following video tutorial and steps below will guide you through the process:

Steps

1) Install the VEX Smart Radio firmware on to the brain
2) Enable Smart Radio in ROBOTC
3) Install the RobotC Smart Radio firmware on to the brain
4) Download the code https://github.com/burf2000/VEXIQ_iOS_ROBOTC
5) Plug a motor in to port 8, a Touch LED in to port 2
6) Install the ROBOTC (BT Demo) program on to the brick
7) Disconnect the brain from the PC
8) Find your Smart Radio ID and remember it (mine was 7436)
9) Run the ROBOTC program on the brain (remember not to be connected via USB)
10) Load code project up and deploy to a iOS device that supports Bluetooth LE
11) Enter your Smart Radio ID in to the App and hit connect

Once connected you should be able to control the motor and the LED!

You can find the original code by James Pearman here. And this is Simon’s code shown in the video tutorial.

Have questions? Head over to our ROBOTC VEX IQ Forum and we can help you out.

Happy Programming!

Do you have a cool ROBOTC project you want to share with the world? If so, send us an email at socialmedia@robomatter.com and we’ll post it on our blog and social media pages!

Written by Cara Friez-LeWinter

May 18th, 2016 at 6:00 am

Explore National Robotics Week with Robot Virtual Worlds

without comments

nationalroboticsweek_twitter

 
To help celebrate National Robotics Week, we’ve created a FREE, online version of our Robot Virtual Worlds software, which you can use in your classroom to teach students about robotics and introductory programming concepts.

For the week of April 4th (and the rest of April!) we’ve opened up a free, online version of our Ruins of Atlantis Robot Virtual World, as well as a number of other Robot Virtual World challenges.

 

We thought Atlantis was a myth. We were wrong.

 
ruins of atlantis screenshot with controlsExplore the Ruins of Atlantis, 6,000 meters below the surface of the ocean, collecting data and treasure as you do!

Ruins of Atlantis is one of our Robot Virtual Worlds, themed in a fantasy, underwater environment. It’s designed to teach and reinforce behavior-based programming in a fun and meaningful way. While immersed in a scaffolded programming environment, students practice robot programming, using a full set of virtual motors and sensors on exciting new robots, 6000 meters below the surface of the ocean.

The level design of Ruins of Atlantis features a path that includes collectible objects and additional starting points, making it ideal for teaching introductory programming concepts such as path planning and encoder based movements. Even though the robots in Atlantis do not resemble the real classroom robots, students can use the same programming languages (EV3, NXT-G, ROBOTC, etc.) to control them.

Visit our National Robotics Week website to get started!

 

More Robotics Fun!

 
In addition to Ruins of Atlantis, you can also access free, online versions of the following Robot Virtual Worlds Challenges:

  • Maze Challenge: This challenge features a sequence of turns that the robot must perform in order to get to the “end” of the maze. The robot must first begin at the starting point, and get to the goal area by completing turning and forward movement behaviors.
     
    maze challenge
  • Basic Movement 1 Programming: In this challenge, you will program your robot to pick up the three green cubes on the far side of the field and drop them into the green goal on the near side of the field, one at a time.
     
    basic movement 1
  • Basic Movement 2 Programming: In this challenge, you will program your robot to pick up one red cube, navigate to the red goal without bumping any of the walls, and drop the cube into the goal
     
    Basic movement 2

Visit our National Robotics Week website to learn more!

 

Robot Virtual Worlds + Research-Based Curriculum = Excellent STEM Education

 
STEMWith lots of research from the Carnegie Mellon Robotics Academy backing it up, Robot Virtual Worlds is a great tool to create a scaffold learning experience that teaches students important math, programming, proportional reasoning, and computational thinking skills. That’s we’ve built Robot Virtual Worlds into our STEM Curriculum.

Our curriculum does more than simply teach students basic facts and concepts. We teach students skills they need to be successful in the real world. Here are a few highlights:

  • Learner-centered instruction built on research that’s been proven in the real-world
  • Helps students develop 21st Century college and career readiness skills
  • Teaches important skills in foundational mathematics, engineering, programming, problem-solving, creative thinking, and computational thinking
  • Designed to provide structured problem-based learning that:
    • Provides guidance to both students and teachers
    • Scaffolds difficult concepts and complex tasks
    • Schedules class time closely so that no class time is wasted
    • Requires students to generalize their understanding and apply learning across contexts

To learn more about our curriculum, visit our website or send us an email at STEMSolutions@robomatter.com.

Written by LeeAnn Baronett

April 4th, 2016 at 6:00 am

ROBOTC for VEX Robotics 4.53 Preview Available Today!

without comments

ROBOTC 4-53 VEX

ROBOTC for VEX Robotics 4.53 preview is out and it sports a myriad of awesome new features that we’re very excited about! A full list of changes and improvements appear below, but here are the highlights:

Create Graphs from your Datalogs

Datalog Graph

Want to know what running your robot into a wall looks like to your accelerometer? Curious about how ambient light intensity varies throughout the day? Datalogging now supports (live) plotting of incoming data gathered on the robot brain. Science experiments involving sensor and motor data can be displayed. You can easily find out by gathering the data and having ROBOTC plot the data for you, as it comes in.

Datalog Graphical

Datalogging is no longer restricted to just Full ROBOTC, we’ve added easy to use blocks that allow you to access the same functionality in a simple manner.

Additionally, logged data can even be exported for further analysis in a spreadsheet application of your choice.

 

ROBOTC Graphical Variable Support

Variable Support

You can now use variables in ROBOTC Graphical, as well as perform various operations on them. You can add, subtract, divide, multiple, whatever your program requires. You can use variables in loops, motor blocks, you name it!

 

ROBOTC Graphical Break and Continue

Continue Break

We’ve added two new program flow blocks, break and continue. This was a much requested feature from our more advanced users of ROBOTC Graphical. You can now create more complex programs without creating work-arounds or having to switch to ROBOTC Full.

 

Beta Channel Access

Use Beta Builds

Want to have a front row seat when it comes to upcoming features in ROBOTC? Subscribe to the beta channel through ROBOTC’s preference menu and you will be notified when a preview build (such as this one), is released. Try out new and exciting features before we release them to the general public and provide us with feedback. Help make ROBOTC better!

 

Other changes and bug fixes

New features – VEX

  • You can control an LED on the VEX EDR from Graphical and Natural Language using the new setLED block or command.

Changes and Improvements – General

  • The default colors in the Assembly window (F9) have new defaults for increased readability.
  • Function tooltips have been revised and corrected where applicable.
  • License error messages have been improved. A short explanation of the error codes is now provided.
  • #info has been added to the list of support #pragma statements, such as #error and #warn
  • The start and stop buttons on the datalogging control have been merged into a single button.
  • Deleting a file from the File Utility was not possible, this has been fixed.
  • We’ve made some visual changes to ROBOTC Graphical including new colours for enhanced readability.
  • Internal improvements to the datalogging system have been made that resolve possible data corruption and inability to disable polling for a specific data series.
  • Saving a New User Model in the Motors and Sensor Setup has been fixed.
  • Various float conversion related issues have been fixed.
  • NaN (Not a Number) detection has been fixed.
  • Sscanf with more than 7 arguments could crash the VM, this has been fixed.
  • Overloaded deprecated function no longer cause warnings.
  • A discrepancy between the compiler and VM regarding the maximum number of tasks has been fixed.
  • An issue with ROBOTC crashing due to a recursive macro has been addressed.
  • The RVW package manager now shows the correct informational icon.
  • Opening the RVW package manager no longer causes an exception under certain circumstances.
  • An issue with the debugStream window background refresh causing a hang when communications with the robot was lost, has been remedied.
  • The Program Debug window no longer crops the status line.
  • You can now use displayInverseString() in combination with a char *.
  • drawInvertRect and drawInvertEllipse were not deprecated correctly, this has been fixed.

Changes and Improvements – VEX

  • The VexIQ LCD screen has been added to the #debuggerWindows #pragma.
  • A bug in the macro parser prevented the use of the VEX EDR platform when a PLTW license was active. This has been fixed.
  • An issue with debugging and using sscanf on the VEX IQ has been addressed.
  • VEX IQ getGyroRate and getGyroRateFloat return incorrect values, this has been fixed.
  • Starting a new task on the VEX EDR no longer clears the screen.
  • Using drawTextCenteredInUserScreenArea function will no longer throw an exception on the VEX IQ.
  • An issue with the start of flash file system not showing correctly in communication debug message has been fixed.
  • The VEX EDR competition template now sets the platform correctly.

Download ROBOTC for VEX Robotics 4.53 preview here!

And let us know what you think of the new updates. Happy Programming!

Written by Xander Soldaat

March 29th, 2016 at 6:20 am

Latest High Scores for our VEX Virtual Programming Skills Challenges!

with 3 comments

Updated Scores Can Be Found Here!

As some of you may know, we along with VEX Robotics and the REC Foundation have an exciting competition going on right now with the VEX and VEX IQ Programming Skills Challenges for Robot Virtual Worlds. This competition offers a low cost, high quality virtual competitions that enable students to test their problem solving and programming skills in the VEX Nothing But Net and VEX IQ Bank Shot Robot Virtual World Competitions. And, not only do these virtual competitions provide a great learning experience, the winner of each competition will receive an invitation to the VEX World Championship — April 20-23, 2016 at the Kentucky Expo Center in Louisville, Kentucky!

The competition kicked off a few months ago, and it is time to share our latest high scores …

VEX Scores Together

You still have one more month to compete and try to beat these high scores for a chance to qualify for VEX Worlds! Think you can do it? Learn more here robotc.net/recf and visit www.cs2n.org/competitions to sign up!

Important Deadlines:

  • Submissions for both contests are due by March 1, 2016.
  • Winners will be announced on March 11, 2016!

And remember, you must submit both your score and code through CS2N.org to officially register for the competition.

Written by Cara Friez-LeWinter

February 1st, 2016 at 12:32 pm

Cool Project: Arty the Dual-Bot

with one comment

Cool Project - ArtyFor our latest Cool Project, we have guest bloggers, Team 8086A – Team Semiconductors to discuss their unique dual-bot for last year’s VEX Robotics Skyrise competition. They went on to win the 2015 World Championship Science Division Create Award! Read more below …

———————————————————–

For the 2014-2015 VEX Robotics game, Skyrise, Team 8086A, Team Semiconductors, built a very unique robot, a dual-bot. This robot’s unique design included many advantages, most significantly the ability to multitask. However, along with the advantages came many challenges. The team worked hard all year to conquer the challenges and the assistance of ROBOTC in many of these challenges was invaluable.

Team Semiconductors

Team Semiconductor is a group of friends in Glen Allen, Virginia.  This independent team has its roots in two middle school VEX World Championship competitive robotics teams, Team Theodore (6740C) and Team Dave (6740D).  Several students from the two teams and their school’s Technology Student Association (TSA) who were moving on to high school and wanted to compete in VEX Robotics banded together to create a new team, Team Semiconductors.  Midway through the 2014-2015 season (Skyrise), the team revealed their one-of-a-kind design: Arty the Dual-Bot.

Semiconductors 01

Skyrise

Skyrise was the 2014-2015 Vex robotics game. The goal of Skyrise was to build a skyrise (a yellow pylon, built piece by piece). 4 points were awarded each section built, and putting cubes (hollow cubes, 8 inches wide) on the skyrise were worth another 4 points each. Then, you could put the cubes on varying height poles for 2 points, and if you had the top cube on the post, you scored 1 extra point. This was the tallest game vex had ever made. The highest item was the robot built skyrise which at max was about 60 inches tall.

Semiconductors 02

Arty: The Dual-Bot

Arty is a very unique robot designed to compete in Skyrise: a dual-bot. Arty consisted of two parts each performing specialized tasks simultaneously: an immovable tower that is dedicated to building a skyrise, and a rover, whose task is to move around the field placing cubes on poles and on the skyrise. These two pieces have a connector running between the two holding the wiring, and they also give the robot its name, “Arty” (RT for Rover/Tower).

 


 

Team Semiconductors had multiple reasons for using a dual-bot. The most important reason was the ability to multi-task, which allowed for higher scoring and the ability to still compete if our alliance partner is a no-show. This bot was made possible due to the high scoring potential in the starting area, with scoring skyrises. We noticed that many robots that would do skyrises wouldn’t even leave the starting square for the first minute, while stacking skyrises. We thought it would be best to have a stationary robot in there to score those while another part of our robot was doing something else. One of the biggest advantages of the stationary tower was its precision; instead of relying on time to move the skyrise, we could use potentiometers to measure the position of our claw, and drop the pylon once it lined up.

Arty can score high by itself in matches, up to 58 points on its own without autonomous bonus, allowing it to be able to carry most matches, regardless of alliance partner. It also has high skills scores, with the second highest Driver Skills and Programming Skills scores in Virginia, with 43 and 27 points, respectively.

Semiconductors 03

Why ROBOTC

Two main factors came into play for us choosing ROBOTC to program Arty: it’s easy to learn and it has the ability to use tasks. The first factor was essential, as our team had no previous experience in ROBOTC. The only previous experience with programming robots our team had came from using block code. The transition to using a text-based language, especially one we had almost no base in was worrying, and lead to questions about our ability to learn the language in-time to program the robot. Our lead programmer had experience in programming languages, but no experience in C-based languages, meaning there was a lot of learning involved in the first few weeks of programming. However, after those few weeks, we felt confident in our abilities with the program, and were able to create the complex programs used in Arty with almost no syntax trouble.

The second factor was specific mainly to Arty, but still very important. Due to Arty being a dual-bot, we needed a way to run programs for the rover and the tower at the same time. This was allowed by tasks, which can run side by side with each other, unlike functions, which run one after the other. These tasks allowed us to run the rover and tower side by side, but also allowed for smaller additions to increase efficiency.

Semiconductors 04

How ROBOTC was Used

As mentioned above, one of the key elements of our programming of “Arty” was the use of tasks for the control of both rover and tower. We used separate tasks in both driving and autonomous functions. We also used tasks to increase efficiency in our programs. For example, we used tasks to turn the tower arm and raise the tower simultaneously instead of one after the other to save time. One problem we came up against with tasks was the inability to pass inputs into the tasks. To get around this we created functions that modified global variables and then called the tasks, and used those global variables for things that would’ve needed to be input into the task.

One of the most interesting things we did in the rover’s drive tasks was creating a turret-centric drive. The turret on rover that could swing 360 degrees was always facing forward on the robot. Since we had an X-drive, any direction could be the front of the robot; it was all in how we programmed the wheels. One of the biggest problems rover had was its inability to turn without getting tangled in the connector. We put a turret on the top of the robot to prevent us from having to turn, but this made driving awkward. The solution to this: a turret-centric drive. We measured the location of the turret with a quad encoder and adjusted the values in Robot C according to which way the turret was facing. This made it so that whenever we hit up on the joystick the rover always drove in the direction its turret was facing, making it much easier to drive, since it now had a distinct “front”.

Semiconductors 05

In programming our tower, we found that we were always doing the same thing, but we were just changing times for movement, and target locations to account for swing. To save time and space in our program we used a for loop that looped for however many skyrises we were going to build. At the start of the loop we had a switch statement to assign all the values based on which piece we were stacking. We then had our previous generic code that we had been writing out inserted, with variables instead of numbers being used. This saved a lot of time in programming, as all values that needed to be adjusted were easily found in one place.

Due to the way the tower was built, sometimes our arm would get caught on something, and not finish the turn. To get around this our turn function had a self-check built in. At the start of the task, we would calculate approximately how long it should take for our arm to reach its position. At the end of the time period, we would then check to make sure we were in position. If we were not, we’d raise our arm and then try to turn again. This process would repeat for 3 times at most. If it reached its location, it would then lower the arm the same amount it raised it and continue the program. If it never reached its location it would set a variable to false, and then the program would stop, to avoid wasting scoring objects by dropping them.

 

 

ROBOTC helped the team maximize our unique robot design and Team Semiconductors went on to win the 2015 World Championship Science Division Create Award with Arty the dual-bot. You can learn more about Team Semiconductors and follow us on social media at http://www.VEXTeam8086.org.

– Team Semiconductors

———————————————————–

Test Your Skills with our Virtual Competitions!

VEX-RVW

If you’re looking for a cost-effective and fun way to participate in a robotics competition, check out or low cost, high quality virtual competitions that enable students to test their problem solving and programming skills.

Our VEX Nothing But Net and VEX IQ Bank Shot Robot Virtual World Competitions both simulate the single-player Robot Skills and Programming Skills modes of the physical Nothing But Net and Bank Shot competitions. And, the winners of the Robomatter sponsored VEX Nothing But Net and VEX IQ Bank Shot Robot Virtual World competition will receive an invitation to the VEX World Championship April 20-23, 2016 at the Kentucky Expo Center in Louisville Kentucky! To learn more, check out this blog post.

Do you have a cool ROBOTC project you want to share with the world? If so, send us an email at socialmedia@robomatter.com and we’ll post it on our blog and social media pages!

Written by Cara Friez-LeWinter

January 6th, 2016 at 6:00 am

Cool Project: VEX IQ Tetris

without comments

CP VEX IQ TETRISTetris is a beloved and well-known classic game that many of us have been addicted to at one point or another. We wait patiently for that perfect “Tetrimino” that will create a horizontal line so the board continues to move down so the game keeps going. Well, our latest Cool Project does just that, but on a VEX IQ brain and programmed in ROBOTC!

Petr Nejedly created the game as an experiment to see what could be done with the VEX IQ platform outside of robotics. He says, “I have coded it ad-hoc in one night. The code is pretty … short, not really pretty. 233 lines including (rare) comments.” When we spoke through email he mentioned that game is currently not random at all. “So, my son came to me, that he has an improvement to the program. That I should use this random() function, it will be more fun to play … Teachable moment! We have discussed, how a computer, a very exact instrument that always follows the same instructions and in fact only moves numbers here and there, come up with random numbers. What is a PRNG and how you have to seed it (srand()), what are real sources of randomness and what kind of issues such a lack of true randomness could cause in real world, besides lack of fun.” At this point, Petr said he would like to leave the actual fix to the curious readers/programmers out there to see what they can do with it. (Let us know if you do!)

Check out the game in action here:

Petr was nice enough to share the souce code, which you can download here. You can also read the original VEX IQ forum discussing the project here.

Do you have a cool ROBOTC project you want to share with the world? If so, send us an email at socialmedia@robomatter.com and we’ll post it on our blog and social media pages!

Written by Cara Friez-LeWinter

December 3rd, 2015 at 6:15 am