ROBOTC.net Blog  

ROBOTC News

Archive for the ‘Cortex’ Category

Latest High Scores for our VEX Virtual Programming Skills Challenges!

without comments

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.

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

January 6th, 2016 at 6:00 am

Download Today – ROBOTC 4.52 for VEX Robotics!

without comments

ROBOTC 4-52 VEX

The ROBOTC Development Team is very happy to announce the official release of ROBOTC 4.52. This update is for the VEX Robotics (VEX EDR CORTEX and VEX IQ) physical and virtual robotics systems and includes new features, improvements, and a load of bug fixes.

Click here to download 4.52!

Important Setup Information for ROBOTC 4.52:

VEX IQ Users:

  • Run the “VEX IQ Firmware Update Utility” and update your VEX IQ Brain to firmware version 1.15.
  • Also update your VEX IQ Wireless Controller and any other VEX IQ Devices (sensors, motors).
  • After updating to the latest VEX IQ Brain firmware, install the latest ROBOTC firmware from inside of ROBOTC.

VEX Cortex Users (with Black VEXnet 1.0 Keys):

  • You will need to update your VEX Cortex and VEX Game Controllers with Master Firmware Version 4.25 from inside of ROBOTC.
  • After updating the master firmware, you will also have to update the VEX Cortex with the latest ROBOTC firmware.

VEX Cortex Users (with White VEXnet 2.0 Keys):

  • The new VEXnet 2.0 keys have a specific “radio firmware” that you will need to upgrade to enable “Download and Debugging” support. You can download the VEXnet Key 2.0 Firmware Upgrade Utility here.
    • Download the “VEXnet Key 2.0 Firmware Upgrade Utility” and insert your VEXnet 2.0 key to any free USB port on your computer. Follow the instructions on the utility to update each key individually. All VEXnet 2.0 keys must be running the same version in order to function properly.
  • After updating your VEXnet 2.0 keys, you will need to update your VEX Cortex and VEX Game Controllers with Master Firmware Version 4.25 from inside of ROBOTC.
  • After updating the master firmware, you will also have to update the VEX Cortex with the latest ROBOTC firmware.

ROBOTC 4.50 —> 4.51 —> 4.52 Change Log:

New Features and Improvements:

  • Added support for simple mathematical expressions in numerical text boxes in Graphical.
    Graphical_Math
  • Datalogging has been added for the VEX IQ platform.
  • Users can now log data from inside your program, with or without a timestamp.
    DataLogging4
  • Users can also configure motor, sensor and other values to be automatically polled at intervals as low as 10ms.
    DataLogging2
  • Users can view data in ROBOTC as it polled in and save to a .CSV file for additional analysis in a popular spreadsheet software.
    DataLogging3
  • You can use standard keyboard shortcuts to Select All, Copy, Cut and Paste in the Debugstream Window.
  • Natural Language Library Files have been enhanced for improved readability.
  • “Port with no Motor” has been added as an option for graphical blocks that use multiple motors – this will allow you to unselect a specific motor.
  • Graphical Copy and Paste has been improved to work better with comment blocks.
  • A flag (-SUPPRESS ) has been added to allow suppression of command line activation errors.
  • When compiling multiple files at once, the IDE will remain more responsive to user interaction.
  • A setMotorBrakeMode block has been added to Graphical, allowing motors to be set to either “float” or “brake”. This will allow motors to be setup as “free running”. This command can be found in “Expert” and above menu levels.
  • Additional programming samples have been added
  • User I2C commands for the Cortex has been implemented.
  • Users can now use custom I2C sensors within their programs – custom I2C commands are compatible with using the VEX Integrated Motor Encoders.
  • The list of loggable properties has been greatly trimmed down and sorted according to menu level. Static and irrelevant properties have been removed where appropriate.
  • Datalogging has been enabled for the VEX Cortex platform

General Bug Fixes:

  • ‘Trial’ indicator displays correctly, regardless of license combinations.
  • Missing function added to the Function Library descriptions
  • Fixed and improved “hover over” tool tip help descriptions inside of the Function Library.
  • Resolved issue where the bottom of the Graphical Library view would not be cleared properly when scrolling
  • Char arrays with “\0” are properly initialized.
  • Selection of options inside of a Graphical Block can be reverted by using “undo”.
  • Fix potential RVW file read issue from crashing ROBOTC.
  • Several float-related issues resolved:
    • Compiler incorrectly optimizes constant expressions with ‘float’ operands.
    • Formatted printing does not work with negative floats
  • Using nSemaphore.nOwningTask comparison no longer generates a compiler warning
  • Two enum issues related to overflowed values have been fixed.
  • Functions returning pointers no longer generate errors when used in Boolean logic expressions.
  • Values from arrays of pointers assigned to another pointer, no longer cause errors.
  • setMotorBrakeMode commands take immediate effect, rather than after the first motor speed command.
  • Closing a source file could cause am unhandled exception under certain conditions, this has been resolved.
  • Compiling multiple Graphical programs at once no longer generates an error that there is no code to compile.
  • Fixed an issue where the Global Variable Base Address was incorrectly displayed.
  • RVW Package Manager will only self-elevate if multiple level packs are being installed.
  • Numerous small visual enhancements and fixes.
  • Clearing a datalog series now clears the listbox properly.
  • The Datalog debug pane can now be opened in Basic menu level.
  • Changing Datalog source could lead to incorrect properties being shown, this has been fixed.
  • The UploadDatalog intrinsic is no longer exposed to the user.
  • Clicking download in the auto check for updates dialog did not work properly, this has been fixed.

VEX Bug Fixes: 

  • VEX IQ no longer crashes when using Ternary String Decisions
  • Users are now alerted when a VEX IQ program exceeds the max allowed compiled program file size.
  • Fixed issue where using playSoundFile on VEX cortex would generate a compiler error
  • Compile errors in sample programs for the VEX IQ Smart Radio messaging have been resolved.
  • Fixed an issue where a disconnected Ultrasonic Sensor was not returning -1 when disconnected from the VEX Cortex.
  • Motors dialog pane for VEX Cortex now shows default motor names, rather than port names.
  • An enum for the VEX IQ data path values instead of using raw numbers, has been added.
  • Prevent users from using sscanf with floats on the VEX IQ to avoid crashing the brain
  • Previously, setMotorTarget on the Cortex would not work correctly if the encoder had been reset to 0, this has been fixed.
  • On the Cortex, moveMotorTarget was not working as intended, this has been remedied.
  • Intrinsics to return the IME velocity values have been added.
  • IME velocity is now shown correctly in the motor debug window, for Cortex.
  • A bug with PID using Quad Encoders has been fixed.
  • bUseVexI2CEncoderVelocity has been obsoleted, it was not tied to any internal functionality.

Click here to download 4.52!

Happy Programming!

Written by Cara Friez

December 7th, 2015 at 6:35 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

December 3rd, 2015 at 6:15 am

ROBOTC Certification Courses Being Offered at this Spring’s ITEEA Conference!

with 2 comments

ITEEA_header

Robomatter and the Carnegie Mellon Robotics Academy are proud to offer Robotics Certification courses at the ITEEA National Harbor conference in Washington, DC on March 2nd and 3rd, 2016!

When you sign up for the training, you’ll get:

  • A Carnegie Mellon Robotics Academy Certification course
  • Membership to ITEEA
  • Access to this year’s the ITEEA Conference at the National Harbor in Washington, D.C.

The courses that we are offering are Certification Courses. They will consist of two trainings sessions at the conference and four online classes after the conference. The online classes are offered once per week, are recorded, provide you with 24/7 access, and include forums that are enable you to get you questions answered on your schedule. There are two courses being offered, ROBOTC for LEGO training and ROBOTC for VEX training.

Each course will consist of:

  • Two (2) three-hour, on-site sessions at the ITEEA National Harbor conference
  • Four (4) additional online evening training sessions following the conference (or you could attend a summer online course)

Limited spots available! To register for the training or to learn more, visit: http://www.robotc.net/iteea/

Written by Cara Friez

December 1st, 2015 at 6:00 am

Released Today – ROBOTC 4.51 for VEX Robotics Preview!!

with 3 comments

ROBOTC 4-51 VEX

The ROBOTC Development Team is very excited to announce a public preview of ROBOTC 4.51. This update is for the VEX Robotics (VEX EDR CORTEX and VEX IQ) physical and virtual robotics systems and includes new features, improvements, and a load of bug fixes.

Click here to download the .exe file for 4.51!

Important Setup Information for ROBOTC 4.51:

VEX IQ Users:

  • Run the “VEX IQ Firmware Update Utility” and update your VEX IQ Brain to firmware version 1.15.
  • Also update your VEX IQ Wireless Controller and any other VEX IQ Devices (sensors, motors).
  • After updating to the latest VEX IQ Brain firmware, install the latest ROBOTC firmware from inside of ROBOTC.

VEX Cortex Users (with Black VEXnet 1.0 Keys):

  • You will need to update your VEX Cortex and VEX Game Controllers with Master Firmware Version 4.25 from inside of ROBOTC.
  • After updating the master firmware, you will also have to update the VEX Cortex with the latest ROBOTC firmware.

VEX Cortex Users (with White VEXnet 2.0 Keys):

  • The new VEXnet 2.0 keys have a specific “radio firmware” that you will need to upgrade to enable “Download and Debugging” support. You can download the VEXnet Key 2.0 Firmware Upgrade Utility here.
    • Download the “VEXnet Key 2.0 Firmware Upgrade Utility” and insert your VEXnet 2.0 key to any free USB port on your computer. Follow the instructions on the utility to update each key individually. All VEXnet 2.0 keys must be running the same version in order to function properly.
  • After updating your VEXnet 2.0 keys, you will need to update your VEX Cortex and VEX Game Controllers with Master Firmware Version 4.25 from inside of ROBOTC.
  • After updating the master firmware, you will also have to update the VEX Cortex with the latest ROBOTC firmware.

ROBOTC 4.50 —> 4.51 Change Log:

New Features and Improvements:

  • Added support for simple mathematical expressions in numerical text boxes in Graphical.

    Graphical_Math

  • Datalogging has been added for the VEX IQ platform.
  • Users can now log data from inside your program, with or without a timestamp.

    DataLogging4

  • Users can also configure motor, sensor and other values to be automatically polled at intervals as low as 10ms.

    DataLogging2

  • Users can view data in ROBOTC as it polled in and save to a .CSV file for additional analysis in a popular spreadsheet software.

    DataLogging3

  • You can use standard keyboard shortcuts to Select All, Copy, Cut and Paste in the Debugstream Window.
  • Natural Language Library Files have been enhanced for improved readability.
  • “Port with no Motor” has been added as an option for graphical blocks that use multiple motors – this will allow you to unselect a specific motor.
  • Graphical Copy and Paste has been improved to work better with comment blocks.
  • A flag (-SUPPRESS ) has been added to allow suppression of command line activation errors.
  • When compiling multiple files at once, the IDE will remain more responsive to user interaction.
  • A setMotorBrakeMode block has been added to Graphical, allowing motors to be set to either “float” or “brake”. This will allow motors to be setup as “free running”. This command can be found in “Expert” and above menu levels.
  • Additional programming samples have been added
  • User I2C commands for the Cortex has been implemented.
  • Users can now use custom I2C sensors within their programs – custom I2C commands are compatible with using the VEX Integrated Motor Encoders.

General Bug Fixes:

  • ‘Trial’ indicator displays correctly, regardless of license combinations.
  • Missing function added to the Function Library descriptions
  • Fixed and improved “hover over” tool tip help descriptions inside of the Function Library.
  • Resolved issue where the bottom of the Graphical Library view would not be cleared properly when scrolling
  • Char arrays with “\0” are properly initialized.
  • Selection of options inside of a Graphical Block can be reverted by using “undo”.
  • Fix potential RVW file read issue from crashing ROBOTC.
  • Several float-related issues resolved:
    • Compiler incorrectly optimizes constant expressions with ‘float’ operands.
    • Formatted printing does not work with negative floats
  • Using nSemaphore.nOwningTask comparison no longer generates a compiler warning
  • Two enum issues related to overflowed values have been fixed.
  • Functions returning pointers no longer generate errors when used in Boolean logic expressions.
  • Values from arrays of pointers assigned to another pointer, no longer cause errors.
  • setMotorBrakeMode commands take immediate effect, rather than after the first motor speed command.
  • Closing a source file could cause am unhandled exception under certain conditions, this has been resolved.
  • Compiling multiple Graphical programs at once no longer generates an error that there is no code to compile.
  • Fixed an issue where the Global Variable Base Address was incorrectly displayed.
  • RVW Package Manager will only self-elevate if multiple level packs are being installed.
  • Numerous small visual enhancements and fixes.

VEX Bug Fixes: 

  • VEX IQ no longer crashes when using Ternary String Decisions
  • Users are now alerted when a VEX IQ program exceeds the max allowed compiled program file size.
  • Fixed issue where using playSoundFile on VEX cortex would generate a compiler error
  • Compile errors in sample programs for the VEX IQ Smart Radio messaging have been resolved.
  • Fixed an issue where a disconnected Ultrasonic Sensor was not returning -1 when disconnected from the VEX Cortex.
  • Motors dialog pane for VEX Cortex now shows default motor names, rather than port names.
  • An enum for the VEX IQ data path values instead of using raw numbers, has been added.
  • Prevent users from using sscanf with floats on the VEX IQ to avoid crashing the brain

Click here to download the .exe file for 4.51!

Happy Programming!

Written by Cara Friez

November 19th, 2015 at 5:50 pm

VEX ROBOTC Online Trainings Start in February!

without comments

VEX Teacher Training

Carnegie Mellon’s Robotics Academy has announced their latest online VEX ROBOTC training schedule! The classes start in February and you can enjoy the convenience of taking Robotics Academy courses without leaving your own computer workstation! 

Register for one of their ROBOTC VEX classes today!

 
Benefits of Robotics Academy Online Training Courses:

  • Convenient online training gives you access from home or your school via the Internet.
  • Online access to supplemental lessons from other Robotics Academy materials.
  • Technical support for all hardware and software used in the class.
  • At the end of the course, take the certification test to become a Robotics Academy Certified Instructor.
  • Certificate of Completion upon course completion to apply for Continuing Education hours.
  • 24/7 access to class forums and message boards (monitored daily)


Robotics Academy Certified ROBOTC Online Training for VEX CORTEX

VEXROBOTC

This course focuses on learning how to program CORTEX robots, and how to use robotics as an organizer to teach STEM (Science, Engineering, Technology, and Mathematics) concepts. Included with the course is online access to the Robotics Academy’s ROBOTC Video Trainer for CORTEX for one month starting the first day of class.

Feb 23rd – Mar 29th, 2016
Tuesdays for 6 weeks
6 – 8pm EST (3 – 5pm PST)

 


Robotics Academy Certified ROBOTC Online Training for VEX IQ

VEXIQROBOTC

This course focuses on learning how to program IQ robots, and how to use robotics as an organizer to teach STEM (Science, Engineering, Technology, and Mathematics) concepts. Included with the course is a free copy of the VEX IQ curriculum (upon completion).

Feb 22nd – Mar 28th, 2016
Mondays for 6 weeks
6 – 8pm EST (3 – 5pm PST)
 

Register for one of their ROBOTC VEX classes today!

 

Written by Cara Friez

November 18th, 2015 at 6:05 am

The VEX and VEX IQ Programming Skills Challenge for Robot Virtual Worlds

without comments

VEX RVW

Robomatter, VEX Robotics, and the REC Foundation are excited to present 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, you could qualify for the 2016 VEX Worlds!

This Year’s Games

Both games simulate the single-player Robot Skills and Programming Skills modes of the physical Nothing But Net and Bank Shot competitions.

In the Nothing But Net Robot Virtual Worlds Competition, your goal is to program your virtual robot to put as many balls as you can in the Low and High goals, and by Elevating Robots in your Climbing Zone.

 

For the Bank Shot Robot Virtual Worlds Competition, your robot will need to pick up balls and make some tricky bank shots! The object of Bank Shot is to attain the highest score by Emptying Cutouts, Scoring Balls into the Scoring Zone and Goals, and by Parking Robots on the Ramp. There are a total of forty-four Balls available as Scoring Objects in the game, with one Scoring Zone, one Goal, and one Ramp on the field.

Winners Qualify for VEX Worlds!

splash-image_RECF

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!

Important Deadlines:

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

To learn more about the VEX and VEX IQ Programming Skills Challenge for Robot Virtual Worlds, visit www.robotc.net/recf and visit www.cs2n.org/competitions to sign up!

Written by LeeAnn Baronett

November 17th, 2015 at 6:00 am

What’s the Big Idea? Using your STEM Classroom to Teach What Matters

with one comment

Computer Science

Computers are an everyday part of life. We use them constantly in our personal lives and in the workplace. According the the U.S. Bureau of Labor statistics, over 50% of jobs today require some level of technology skills. And, that percentage is expected to grow to almost 80% in the next ten years.

There’s no question that computer science skills are helping students succeed. But, computer science is about more than just learning to program. Students also need to learn how to think programmatically, to use programming as a problem-solving tool, and to understand the global impact of computer science and computing.

The most effective STEM programs include what are sometimes called the “Big Ideas” of computer science – foundational principles that are central to computing and help show students how computer science can change the world. Here’s a quick overview of some of the big ideas we think are important, and some tips on how you can incorporate them into your STEM Robotics or Computer Science classroom:

  1. Abstraction – Abstraction is a key problem-solving technique that we use in our everyday lives and that can be applied across disciplines and problems. Abstraction helps students manage complexity by reducing the information and details of a problem, allowing them to focus on the main idea. But how do you teach students abstraction?

One way is to Implement a project that start with a complex problem but uses mini-challenges to break the problem into smaller pieces. Have students solve the mini-challenges, focusing on one aspect of the problem at a time, and then use those mini-challenge solutions to build a final solution to the larger, more complex problem.

Algorithm2. Algorithms – Algorithms are used to develop and express computational problems and they’re an important part of Computer Science. But, algorithmic thinking is a tool that students can apply across disciplines and problems. Algorithmic thinking means defining a series of ordered steps you can take to solve a problem. Therefore, it’s important that students learn how to not only develop algorithms, but to also learn how to express algorithms in language, connect problems to algorithmic solutions, and evaluate algorithms effectively and analytically.

Here’s one idea for introducing algorithms into your STEM Robotics or Computer Science classroom: Provide students with a list of numbers. Ask them to find the largest number and document the procedure they used. (This is also good pseudocode practice!) Next, tell students that they will be given a program that generates 10 random numbers between 0 and 30 and they will have to provide an algorithm to find the largest number from the list. Once students have generated the algorithm and seen it in action, discuss why the algorithm is valuable. While it may not be a big deal to find the largest number out of a group of 10, what if we increased the range of numbers from 0 to 10,000, and increased the amount of numbers from 10 to 1000? In a situation like that, an algorithm would be able to find the largest number much faster than a human.

Computational
3. Computational Thinking – Computational thinking is a basic a problem-solving process that can be applied to any domain. This makes computational thinking an important skill for all students, and it’s why our curriculum is structured to teach students how to use computational thinking to be precise with their language, base their decisions on data, use a systematic way of thinking to recognize patterns and trends, and break down larger problems into smaller chunks that can be more easily solved.

To learn more about implementing computational thinking in your classroom, read our blog post from last month, “What is Computational Thinking and Why Should You Care?

Creativity4. Creativity – People often think that science and creativity are two terms that don’t belong together. However, that couldn’t be further from the truth. Innovation and creativity are at the heart of STEM and Computer Science. Along with programming skills, students need to learn how to think creatively and need to get comfortable with the creative process.

One great way to do this is by using structured problem-solving in your classroom. Structured problem-solving allows students to be creative, but within parameters. While students will still have opportunities to personalize their projects and justify their solutions, their creativity will still be structured. That way, teachers don’t have to worry about students constantly losing focus.

5. Data – This “Big Idea” revolves around the fact that data and information facilitate the creation of knowledge. Over the past 50 years, the tasks that we perform on a routine basis have gotten more and more complex. According to an analysis done by Frank Levy and Richard J. Murane, the amount that employees are asked to solve unstructured problems and acquire and make sense of new information has increased dramatically, by more than 40% .[i] Therefore, it’s important to teach students how to analyze and interpret data.

You can do this by having students use coordinate data to code precise movements. Or, ask students to design a short, school-appropriate survey to collect data and answer specific questions. Then, have students write a program to input and analyze their data and calculate basic descriptive statistics such as mean, mode, range, and frequency. You can also ask students to plot their data on a chart or graph, and identify subgroups within the dataset to explain response patterns. Finally ask students to draw conclusions or make generalizations from their data and present their results to the class.


2_2-4_mc_bossOnRoad6. Impact
– Computers have had a global impact on the way we think and live. The way we work, play, collaborate, communicate, and do business has changed dramatically in recent years and will likely continue to change. It’s important for students to understand the global impact of computing in everyday life, and the numerous ways computing helps enable innovation in other fields.

One way to help students understand the impact of computer science is to use activities that involve things like the internet, cybersecurity, internet searches, and the power of programming within advertising. You can also create activities that ask students to connect their programming skills to content from other classes (science, math, etc.). Or, you can ask students to think about and report on the less obvious ways they use technology every day, such as making breakfast, driving in a car, using the self-checkout line at the grocery store, etc.

7. Precision
– Programming is precise. It’s important for students to learn that a computer program will do exactly what they tell it to do. This is especially evident with robots. If you aren’t precise about what you tell your robots to do, they probably won’t do what you want. However, precision does not need to be complex. Even simple programming activities can require precise, thoughtful communication – How far should the robot move? How far should it turn?

 

 

Ultimately, we’re asking students to change the way they think about giving directions. So, a great activity is to have students create a set of instructions explaining how to do a task like following a recipe, drawing a house, or making a paper airplane. Have one student provide the instructions and a second student act as a robot, doing exactly what student #1 is telling him or her to do. Most times, it quickly becomes apparent that students have not fully considered the level of detail required for programming and that they need to be more precise with how they provide instructions.

If you’re looking for more ideas on how to integrate “Big Ideas” into your STEM classroom, we’ve embedded these “Big Ideas” into our research-based curriculum, which is available for free online, or through the purchase of a classroom edition that comes with the benefits of:

  • Guaranteed Uptime – Keep your classroom up, even if your internet is down.
  • Zero bandwidth requirements – 30 kids accessing the same curriculum can really slow things down.
  • High Quality Support – Have a question or need help getting started? You’ll have access to our best-in-class support team.
  • Individual curriculum access for each student or group – With individual access to the curriculum, students can move at the instructional pace that’s right for them.

 

[i] http://content.thirdway.org/publications/714/Dancing-With-Robots.pdf

Written by LeeAnn Baronett

November 11th, 2015 at 6:00 am

Cool Project: VEX IQ Game of Simon

without comments

Cool ProjectDamien Kee, a VEX IQ Super User, designed a really cool and creative Game of Simon using a VEX IQ Smart Brain, three Touch LEDs, and programmed with ROBOTC.  He says, “This is my version of the Game of Simon for the VEX IQ. The TouchLED’s are an awesome input/output device that is just so natural to use. Programmed in ROBOTC and designed to be used as a way of teaching / reinforcing the concepts of arrays, in less than 100 lines of code.”

Check out the video below that shows it in action …

 

 

For a more detailed breakdown of the code, visit his website here. Damien also is sharing his code for others to use, which you can download here! (He just asks that if you do use it, please acknowledge and forgive any errors.)

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

November 2nd, 2015 at 6:00 am