ROBOTC.net Blog  

ROBOTC News

Archive for the ‘Coding’ tag

Want to Start a Robotics Competition Team but Don’t Know Where to Start?

without comments

Starting a robotics competition team can seem overwhelming, but it’s not as scary as it seems. Here’s a high-level overview of what you need to do to get a team up and running:

  1. Choose a platform
    Now more than ever, robotics teams are faced with the important question of which platform they should purchase and use. LEGO and VEX are the two most widely used platforms. LEGO is primarily used for elementary through middle school (Ages 9 – 14), while VEX can be used for kids in elementary school through college (Ages 8 – 18+).Whether you choose LEGO or VEX, Robomatter has the resources you need to make your team successful, including hardware, software, free curriculum to help students learn to program, and training to help you get things up and running.
  2. Pick your equipment
    Once you’ve chosen a platform, the next step is to pick your equipment. Whether you’ve decided to go with VEX or with LEGO, Carnegie Mellon’s Robotics Academy has a great resources page to provide you with all of the tools and information you need to get started.You can access the VEX page here and the LEGO page here.
  3. Choose your software  
    ROBOTC is a C-based programming language with a Windows-based environment for writing and debugging programs. It’s also the most used language for the VEX IQ Challenge, and for the VEX Robotics Competition. ROBOTC is the only solution that offers a comprehensive, real time debugger. It also comes with a Graphical interface, which is a great way to get new students started.In addition to ROBOTC, you may also want to check out Robot Virtual Worlds, a high-end simulation environment that enables students to learn programming without a physical robot. With Robot Virtual Worlds, students can develop and test code on a simulated robot before running code on a real robot. They can also work on the robot when they’re at home, which means they don’t need to be in the classroom to prepare for the competition. With Robot Virtual Worlds, VEX users can also take part in online competitions.LEGO users can use Robot Virtual Worlds by adding on the Virtual Brick. By looking and acting like a LEGO Brain, the Virtual Brick allows teams to program virtual robots using the same programming language as they use to program real LEGO robots.
  4. Identify your technical and logistical requirements
    Here are some things you’ll need to think about:

    • Computers: You’ll want to have one computer for each robot/team of students.
    • Practice Area: The space should be large enough to accommodate the team, computer, practice table, and storage area for the robots.
    • Parts storage: To keep parts organized and accessible, parts organizers are a must. There are many options – portable organizers, drawer cabinets, boxes, caddies, etc. These are readily available online and at local hardware and craft stores.
    • Network – The software will need to be loaded on each computer or available via the network on each computer. Programs should be included in the regular system backup or a leader should make a backup to a separate disk or memory stick.
  5. Prepare a budget and get funding
    Your budget will need to take into account:

    • Robot kits and pats
    • Software
    • Parts organizers
    • Computers
    • Miscellaneous tools, parts, and supplies
    • Competition entry fees
    • Travel expenses, including gas, food, and lodging
    • Team shirts or other items to promote your team at the event

    Some potential sources of funding include your school district, local businesses, and local non-profit organizations. You may also consider having a fund raiser, like a bake sale or car wash. Be sure to acknowledge your sponsors at every opportunity, such as printing their names on your team shirts, etc.

  6. Build your team and assign rolesIn terms of team size, we’ve found that first-time coaches typically do well with about eight students. For larger teams, or if you have the resources, recruit other mentors for your team to lead the subgroups.Once you’ve built your team, the next step is to define roles. We recommend having students change roles on a regular basis, allowing them to share responsibility for all aspects of building, programming, etc. These are the roles we recommend:
    • Engineer (Builder)
    • Software Specialist (Programmer)
    • Information Specialist (Gets the necessary information for the team to move forward)
    • Project Manager (Whip-cracker)
  7. Plan, build, test, and iterate Once you have your equipment, funding, and team in place, you’re ready to get started!To make your team most effective, it’s a good idea to stick to a schedule. Create a schedule that fits your team’s objectives and resources. When you’re ready to build your robot, be sure to familiarize yourself with the competition rules and requirements. If you have questions, reach out to the community for help. There are a lot of great forums out there, such as the ROBOTC forum.Remember, an important part of the process is testing and iteration. Make sure your team knows it’s going to take time to get it right. Luckily, both the VEX and LEGO platforms allow teams to quickly build, test, iterate, and repeat. Even still, students may get frustrated by this process. Remind them that building, programming, and testing a robot doesn’t always go as planned. But, even though a design may have failed, it’s still a valuable learning opportunity, with lessons that can be applied to the next time you try.

If you’re interested in starting a robotics competition team, be sure to tune into our Webinar on September 9th and 7:00 pm ET, Using ROBOTC and RVW to prepare for VEX Competitions. Visit www.robotc.net/hangouts to join.

 

 

Written by LeeAnn Baronett

September 4th, 2015 at 6:30 am

ROBOTC 4.50 for VEX Robotics Available Today!!

with one comment

ROBOTC 4-50 VEX

The ROBOTC Development Team is very excited to announce our latest update, ROBOTC 4.50. This update is for the VEX Robotics (VEX EDR CORTEX and VEX IQ) robotics systems and includes new features, functionality and a load of bug fixes.

Click here to download 4.50!

Important Setup Information for ROBOTC 4.50:

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.32 —> 4.50 Change Log:

General new features:

  • Graphical blocks can now be copied, cut and pasted

Copy Paste

  • Graphical actions, such as adding, deleting and moving a blocks, changing parameters and their values can be undone and redone.
  • The Graphical repeat and while blocks values can now be adjusted without a keyboard using spin buttons.

Number Scroll
Color Loop
VEX new features:

  • Added support for the new VEX IQ Smart Radio in ROBOTC Firmware (for use with iOS applications)
  • Added Smart Radio based User Messaging system (for use with iOS applications)

General fixes:

  • Large amounts of data in debug stream no longer causes debugger to hang.
  • Fixed issue when mixing PLTW building licenses with other license types.
  • When changing the motor type in the Motor and Sensor Setup utility, the additional parameters, such as PID, drive side, encoder type, are reset to their default values.
  • UAC prompt now appear only once for installing multiple RVW packages.

RVW Package Manager

  • The toolbar buttons are sized to the individual content, instead of the largest one.
  • Recursive pre-compiler statements are correctly identified and no longer crash the IDE.
  • The Graphical block library’s expansion/collapse state is now preserved when switching between files.
  • LineTrackLeft help text has been corrected.
  • Fixed issue of undefined entries in text libraries.
  • Hover over text for NL text commands no longer has artifacts.
  • Building licenses now check and update their local status whenever an active internet connection is available.
  • Fixed issue with the Advanced RBC file saving adding an additional “rbc” to the file name.
  • Opening RBC/RBG files with “download on open” no longer prompts for save and add a “00#” to the end of the file name.
  • Fixed issue where the “Advanced save as macro” feature did not load RVW options correctly.
  • Joystick issue with Graphical and Natural Language fixed;’ waitUntil(), displayButtonValues() and displayControllerValues() now function correctly.

VEX bug fixes:

  • Fixed issue where IQ Graphical playSound() block dropdown displayed internal values.
  • VEX IQ displayButtonValues does not display correct value in RVW.

Happy Programming!

Written by Cara Friez-LeWinter

August 27th, 2015 at 8:16 pm

Download ROBOTC for LEGO MINDSTORMS 4.50 Today!

with 4 comments

ROBOTC 4-50 LEGO

The ROBOTC Development Team is excited to announce our latest update, ROBOTC 4.50! This update is for the LEGO MINDSTORMS (NXT and EV3) robotics systems and includes new features, functionality and a load of bug fixes.

Click here to download 4.50!

 

Important Setup Information for ROBOTC 4.50:

LEGO NXT Users:

  • Simply update to the latest ROBOTC firmware from inside of ROBOTC.

LEGO EV3 Users:

  • All users will need to update the  LEGO EV3′s Kernel by connecting the EV3 and selecting “Robot Menu -> Download EV3 Linux Kernel” from inside of ROBOTC. The version number (1.07X) is the same to keep alignment with the EV3 Programming Software and LEGO’s releases.
  • After updating your EV3′s Linux Kernel, you’ll also need to update the ROBOTC firmware from inside of ROBOTC.

ROBOTC 4.32 —> 4.50 Change Log:

General new features:

  • Graphical blocks can now be copied, cut and pasted

Copy Paste

  • Graphical actions, such as adding, deleting and moving a blocks, changing parameters and their values can be undone and redone.
  • The Graphical repeat and while blocks values can now be adjusted without a keyboard using spin buttons.

Number Scroll Color Loop
General fixes:

  • Large amounts of data in debug stream no longer causes debugger to hang.
  • Fixed issue when mixing PLTW building licenses with other license types.
  • When changing the motor type in the Motor and Sensor Setup utility, the additional parameters, such as PID, drive side, encoder type, are reset to their default values.
  • UAC prompt now appear only once for installing multiple RVW packages.

RVW Package Manager

  • The toolbar buttons are sized to the individual content, instead of the largest one.
  • Recursive pre-compiler statements are correctly identified and no longer crash the IDE.
  • The Graphical block library’s expansion/collapse state is now preserved when switching between files.
  • LineTrackLeft help text has been corrected.
  • Fixed issue of undefined entries in text libraries.
  • Hover over text for NL text commands no longer has artifacts.
  • Building licenses now check and update their local status whenever an active internet connection is available.
  • Fixed issue with the Advanced RBC file saving adding an additional “rbc” to the file name.
  • Opening RBC/RBG files with “download on open” no longer prompts for save and add a “00#” to the end of the file name.
  • Fixed issue where the “Advanced save as macro” feature did not load RVW options correctly.
  • Joystick issue with Graphical and Natural Language fixed;’ waitUntil(), displayButtonValues() and displayControllerValues() now function correctly.

MINDSTORMS fixes:

  • Disconnecting an EV3, with the debugger running, no longer causes the IDE to hang.
  • Missing sensor commands have been added to the EV3 text library.
  • Fixed issue of incorrect NXT sensor variables when dragged into program from the text library
  • Fixed mistakes in examples for the help documentation of the EV3 motor commands.
  • EV3 standard models and sample code have been updated with the default mode for the Gyro set to Rate and Angle and the Color sensor mode set to Color.
  • Corrected issue where nPgmTime was erroneously identified as a signed long in the help.
  • Added numerics to Color name values in help documentation.
  • Wireless Searching for NXT in EV3 context has been removed.
  • Fixed issue where the return value of getColorName() opcode expected a long, but the TLegoColors is a byte, this could cause memory corruption.

Happy Programming!

Written by Cara Friez-LeWinter

August 27th, 2015 at 8:14 pm

VEX CORTEX Trainer: Competition Programming

without comments

Engineering ProgrammingThe latest chapter within the VEX CORTEX Video Trainer Curriculum is now available … Competition Programming! Located in the Engineering Section, this chapter includes lessons designed to help students prepare their programs for a VEX Competition.

Some of the lessons you’ll learn within this chapter includes:

  • Creating a Competition Legal Program with the ROBOTC Competition Program Template
  • Performing a hardware-based test of a competition program with the VEXnet Competition Switch
  • Testing a competition program through ROBTOC with the Programming Hardware Kit

 

Competition Chapters
 

Check out one of the chapter videos here:
 

 

Check out the entire curriculum here!

Written by Cara Friez-LeWinter

August 6th, 2015 at 11:49 am

Cool Project: LEGO EV3 Sorter Machine

without comments

CH Chen created a cool project and shared it with us! This LEGO EV3 Sorter machine is able to detect the color of Lego Technic beams and then add it to the appropriate slot of the three colors.

 

 

BrickSorter_Mechanism

 

 

Click here to see the code! And check out CH Chen’s blog with even more of his projects.

Do you have a cool project you’d like to share? If so, send us an email at socialmedia@robotc.net.

Written by Cara Friez-LeWinter

July 22nd, 2015 at 7:00 am

VEX CORTEX Trainer: Using the LCD

without comments

VEX Cortex Trainer The latest chapter within the VEX CORTEX Video Trainer Curriculum is now available … Using the LCD! Located in the Sensing section, this chapter covers how to configure and implement the LCD as a useful tool in your program.

Some of the lessons you’ll learn within this chapter includes:

  • Three steps to using the LCD

  • Displaying a custom message

  • How to display continuously updating values

  • How to use the LCD to debug your program

 

VEX LCD

 
Check out one of the chapter videos here:

 

Check out the entire curriculum here!

Written by Cara Friez-LeWinter

July 20th, 2015 at 6:35 am

VEX CORTEX Trainer: Gyro Sensor Chapter Now Available!

without comments

VEX Cortex Trainer The latest chapter within our latest VEX CORTEX Video Trainer Curriculum is now available … Gyro Sensor! Located in the Sensing section, this chapter will allow you to to turn the robot by measurements of degrees.

Some of the lessons you’ll learn within this chapter includes:

  • How the Gyro Sensor works

  • How to account for the momentum of the robot when turning.

  • How to use the Gyro Sensor to reduce Accumulated Error.

  • How to use the Gyro Sensor to increase turning accuracy.

 

Gyro Chapters
 

Check out one of the chapter videos here:


 

End Gyro SectionAt the end, there are two programming challenges, Mine Traversal and Robo 500, that can be completed with either a physical or virtual robot.

 

Check out the entire curriculum here!

 
 
 

Written by Cara Friez-LeWinter

July 2nd, 2015 at 7:25 am

Download ROBOTC for VEX Robotics 4.32 Today!

with one comment

ROBOTC 4-32
 

The ROBOTC Development Team is very excited to announce our latest update, ROBOTC 4.32. This update is for the VEX Robotics (VEX EDR CORTEX and VEX IQ) robotics systems and includes new features, functionality and a load of bug fixes.

 

Click here to download 4.32!
Important Setup Information for ROBOTC 4.32:

VEX IQ Users:

  • Run the “VEX IQ Firmware Update Utility” and update your VEX IQ Brain to firmware version 1.15.
  • Users will also have to update their VEX IQ Wireless Controller in addition to any other VEX IQ Devices (sensors, motors) that may need to be updated as well.
  • After updating to the latest VEX IQ Brain firmware, users will also have to 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, users will also have to update the VEX Cortex with the latest ROBOTC firmware as well.

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, users will also have to update the VEX Cortex with the latest ROBOTC firmware as well.

ROBOTC 4.30 —> 4.32 Change Log:

Robot Virtual Worlds Package Manager

Robot Virtual Worlds Package Manager simplifies keeping your RVW worlds up-to-date and allows you to easily download new ones.

RBC Macro Editor

The RBC Macro Editor allows you to quickly create a ROBOTC Text-Based or Graphical macro file that will pre-configure many aspects of the UI, such as platform, the debugger windows that are to be opened, the default save-as file name and many others. If you are targeting Virtual Worlds, you can also select which world should be used.

General Changes

  • Debugstream has been made more robust to prevent buffer overflows and corrupted data.
  • Added quick access, “Add License” menu item.
  • Added command line option to deactivate all active, non-building licenses (-DEACTIVATE).
  • “SensorValue” intrinsic definition changed from ‘word’ to ‘int’. This will allow it be be either ‘short’ or ‘long’ depending on the native “int” format of specific platform.
  • CTRL+ALT+SHIFT+D” is new keyboard accelerator to open preferences.
  • All libraries (DLLs) and executables are now signed.

General Bug Fixes

  • Fix issue where a “save as” with a new document -> then a subsequent “save” would cause a “save as” prompt in the wrong location.
  • Fix enumeration bug in Joystick Driver
  • Context menu for large ICON toolbar changes now take immediate effect.
  • Fix the repeatUntil(0) warning message to say “‘repeat until’ expression is constant ‘0’. Loop will never exit.”
  • Fix issue with command line deactivation with building licenses
  • IDE was not removing error flags from graphical blocks.
  • Long operands on opcodes “&” “|”, “^” and “~” were incorrectly handling negative 16-bit constants.
  • Fix bug in addTo/MinusTo/DivideTo/TimesTo opcode when variable is a global short variable and the operand is a 16-bit or less compile time constant.
  • Fix issue that prevented functions that return pointers to be dereferenced in an expression.
  • Fixed a bug where the missing “Name” field would cause a crash for the command line activation.

Graphical

  • Hitting the Control key no longer deselects all the things.
  • Bug causing Graphical Block artefacts on the screen has been fixed.

VEX

  • Added 2 more RVW Cortex Standard Models.
  • Enhancements to improve the VEX Cortex IME functionality in Virtual Worlds
  • Fixed download firmware button not allowing you to cancel the procedure
  • Small fix for VEX Cortex to disable sensor ports during initialization to prevent solenoid jitter.
  • Fixed issue of “SQUAREBOT” standard model having PID control enabled with quadrature encoders.
  • Fixed issue of “SQUAREBOT” standard model not having the VEX LCD configured.
  • Removed the quadrature encoders from the “SQUAREBOT – IME” standard model.

Happy Programming!

Written by Cara Friez-LeWinter

June 12th, 2015 at 5:29 pm

ROBOTC for LEGO MINDSTORMS 4.32 Available Today!

with 2 comments

ROBOTC 4-32 LEGO
 

The ROBOTC Development Team is excited to announce our latest update, ROBOTC 4.32! This update is for the LEGO MINDSTORMS (NXT and EV3) robotics systems and includes new features, functionality and a load of bug fixes.

Click here to download 4.32!

Important Setup Information for ROBOTC 4.32:

LEGO NXT Users:

  • Simply update to the latest ROBOTC firmware from inside of ROBOTC.

LEGO EV3 Users:

  • All users will need to update the  LEGO EV3′s Kernel by connecting the EV3 and selecting “Robot Menu -> Download EV3 Linux Kernel” from inside of ROBOTC. The version number (1.07X) is the same to keep alignment with the EV3 Programming Software and LEGO’s releases.
  • After updating your EV3′s Linux Kernel, you’ll also need to update the ROBOTC firmware from inside of ROBOTC.

ROBOTC 4.30 —> 4.32 Change Log:

Robot Virtual Worlds Package Manager

Robot Virtual Worlds Package Manager simplifies keeping your RVW worlds up-to-date and allows you to easily download new ones.

RBC Macro Editor

The RBC Macro Editor allows you to quickly create a ROBOTC Text-Based or Graphical macro file that will pre-configure many aspects of the UI, such as platform, the debugger windows that are to be opened, the default save-as file name and many others. If you are targeting Virtual Worlds, you can also select which world should be used.

General Changes

  • Debug Stream has been made more robust to prevent buffer overflows and corrupted data.
  • Added quick access, “Add License” menu item.
  • Added command line option to deactivate all active, non-building licenses (-DEACTIVATE).
  • “SensorValue” intrinsic definition changed from ‘word’ to ‘int’. This will allow it be be either ‘short’ or ‘long’ depending on the native “int” format of specific platform.
  • CTRL+ALT+SHIFT+D” is new keyboard accelerator to open preferences.
  • All libraries (DLLs) and executables (EXEs) are now signed.

General Bug Fixes

  • Fix issue where a “save as” with a new document -> then a subsequent “save” would cause a “save as” prompt in the wrong location.
  • Fix enumeration bug in Joystick Driver
  • Context menu for large ICON toolbar changes now take immediate effect.
  • Fix the repeatUntil(0) warning message to say “‘repeat until’ expression is constant ‘0’. Loop will never exit.”
  • Fix issue with command line deactivation with building licenses
  • IDE was not removing error flags from graphical blocks.
  • Long operands on opcodes “&” “|”, “^” and “~” were incorrectly handling negative 16-bit constants.
  • Fix bug in addTo/MinusTo/DivideTo/TimesTo opcode when variable is a global short variable and the operand is a 16-bit or less compile time constant.
  • Fix issue that prevented functions that return pointers to be dereferenced in an expression.
  • Fixed a bug where the missing “Name” field would cause a crash for the command line activation.

Graphical

  • Hitting the Control key no longer deselects all the things.
  • Bug causing Graphical Block artefacts on the screen has been fixed.

MINDSTORMS

  • New Linux image, updated to 1.07X to ensure compatibility with LEGO EV3 Programming Software. Please be sure to update your brick to the latest Linux firmware.
  • EV3 brick can now be renamed from both the file and the communication utilities in the Robot menu.
  • Refreshed the Driver Suite files for both NXT and EV3
  • getColorRGB() will now also work with a standard LEGO NXT Color sensor.
  • Added intrinsic getSensorConnType() to retrieve sensor connection type.
  • Fixed multi-tasking issue in EV3 VM where multi-tasking was not possible with programs started directly from the EV3 Brick.
  • Fixed a division by zero error in DatalogTest.c sample program
  • Fixed an issue where uploading a file from your EV3 to your PC removed the file extension from the uploaded file.
  • LEGO NXT Sensors that are normally auto-ID’d no longer have their autoID flag disabled for that port.
  • LEGO Energy Meter was improperly configured.
  • Fix Standard Model issue for EV3 (Gyro was improperly configured)

Happy Programming!

Written by Cara Friez-LeWinter

June 12th, 2015 at 5:29 pm

The Robotics Summer of Learning is Back!

without comments

SOL Coming Soon

We are proud to announce the return of our Robotics Summer of Learning program! This summer, students have the opportunity to learn how to program robots, earn a programming certificate and badges, and play with cool software for FREE! We will provide all of the software and training materials at no cost to you or your students.  The course will consist of three modules: movement, sensing, and program flow and will be taught using the Robot Virtual World software.

The Robotics Summer of Learning starts June 15th, register here and we’ll send you a reminder when it opens up!

Written by Cara Friez-LeWinter

June 11th, 2015 at 6:00 am