ROBOTC.net Blog  

ROBOTC News

Archive for the ‘nxt’ tag

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

ROBOTC for MINDSTORMS 4.53 Preview Available Now!

without comments

ROBOTC 4-53
 

ROBOTC for MINDSTORMS 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 – 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 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:15 am

ROBOTC for LEGO MINDSTORMS 4.51 Preview Available Today!

without comments

ROBOTC 4-51

The ROBOTC Development Team is happy to announce a public preview of ROBOTC 4.51! This update is for the LEGO MINDSTORMS (NXT and EV3) physical and virtual robotics systems and includes some great 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:

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.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 EV3 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

  • 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

General 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.

MINDSTORMS Fixes: 

  • Changing the volume programmatically on an EV3 could cause a screen freeze when using the on-brick volume program after the program had exited.
  • Fixed issue where Casper is not cleaned up properly when the application exits.

Click here to download the .exe file for 4.51!

Happy Programming!

Written by Cara Friez-LeWinter

November 19th, 2015 at 5:49 pm

Online LEGO Professional Development Courses Start this February!

without comments

Teacher Training 2

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

Register for their ROBOTC EV3 class 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 LEGO NXT and EV3

LEGOROBOTC

This course focuses on learning how to program NXT and EV3-based robots using ROBOTC, and how to use robotics as an organizer to teach STEM (Science, Engineering, Technology, and Mathematics) concepts.

Feb 25th – Mar 31st, 2016
Thursdays for 6 weeks
6 – 8pm EST (3 – 5pm PST)
 
 

Register for their ROBOTC EV3 class today!

 

Written by Cara Friez-LeWinter

November 18th, 2015 at 6:00 am

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

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

LEGO Users: Program Virtual Robots Without Downloading Anything New!

without comments

Have You Explored New Worlds with ROBOTC?

ROBOTC has provided you with many challenges and learning opportunities, but did you know you can explore exciting new virtual worlds without downloading anything new? Try out Robot Virtual Worlds for FREE in ROBOTC with a 10-day trial!

See the instructions to get started at the bottom of this email!

What are Robot Virtual Worlds?

Robot Virtual Worlds are high-end simulation environments that enables users, without robots, to learn programming with game and competition worlds. Watch our video for more information!

Game Worlds!

Escape to one of our fantastic game worlds where you can use your programming skills to explore and complete challenges!

Ruins of Atlantis

We thought Atlantis was a myth. We were wrong. Your mission is to explore the Ruins of Atlantis, 6,000 meters below the surface of the ocean, collecting data and treasure as you do.

Palm Island Luau Edition

Visit the beautiful Palm Island and program your robot to drive along its boardwalk path. Collect coconut clusters and set lobster traps for the Luau.

Operation Reset

The mining colony of Alpha Base H99 needs your help! A terrible storm has damaged the colony’s equipment and we need you to use your programming skills to complete the mission.

Virtual Challenges!

Practice your programming skills with virtual versions of popular robotic competitions or challenging obstacle courses.

Curriculum Companion

Practice valuable programming concepts with a variety of activities using the curriculum companion. Use the same ROBOTC code to program your real and virtual robots!

Level Builder

The RVW Level Builder provides a 12’x12′ square field to build on and several objects – from cans and boxes to line tracking tiles – that you can use to design challenging, unique, and fun levels!

Measurement Toolkit

Not sure how far to make your robot move? Use the virtual measurement tools to calculate the distance and angles needed to move around in the virtual worlds!

Getting Started

Starting your Virtual Worlds trial:

1.  Open ROBOTC (from the icon on your desktop or Start Menu).

2.  Click “Help”
in the menu and select “Manage Licenses”.

3.  Click “Add License” in the menu and select “Robot Virtual Worlds – LEGO” from the Product drop-down.


4.
  Click “Start Trial”.

5.  Click “Close”.


Using Virtual Worlds:

1.  Click “Robot” in the menu and set the “Compiler Target” to “Virtual Worlds”.

2.  Click “Window” in the menu and set “Select a Virtual World to Use” to any of the virtual worlds installed.

Visit robotvirtualworlds.com to explore and download more levels!

If you need to go back to programming your physical robot, select “Physical Robot” from the “Compiler Target” menu.

 

Written by Cara Friez-LeWinter

June 9th, 2015 at 9:41 am

Student POV: Droids Robotics

without comments

DroidsIn our newest edition of Student POV, we have Sanjay and Arvind Seshan, who are members of the robotics team, Not the Droids You Are Looking For (Droids Robotics) from Pittsburgh, PA, USA. They are actively involved in robotics all year around, whether competing themselves or teaching others. They constantly share some great pictures on their Twitter page of their team and outreach programs, so we’ve asked them to share some of their experiences in robotics …

—————————————————————————————————————————————————
Droids 01Our first exposure to robotics was in 2010 when we decided to visit a FIRST LEGO League tournament at the National Robotics Engineering Center (NREC). We were excited by what we saw and, the next summer, we purchased an NXT LEGO Mindstorms kit and learnt to program using Carnegie Mellon Robotics Academy’s NXT Video Trainer.

We haven’t stopped since! In 2011, we started our own neighborhood-based robotics team with eight other friends. We have participated in FIRST LEGO League as well as VEX IQ contests since then. You can read more about us on our team website (www.droidsrobotics.org).

Benefits of Robotics:

Droids 02Participating in robotics has taught us several programming languages, as well as general computer science skills and presentation skills. We now code in NXT-G, EV3-G, ROBOTC, Python and HTML as a direct result of robotics. We are comfortable interviewing experts as well as being interviewed about our work.

We use these skills outside of robotics contests to create webpages, and make online tools and programming tutorials. We even developed a robot in Minecraft that uses Python code to complete tasks. One sDroids 03ummer, we participated in a 24-hour coding contest called Code Extreme. For that event, we created a bicycle renting system using a Raspberry Pi and an RFID reader.

Robotics has taken us to some interesting places: the inside of a Smart House for seniors, under the hood of an airplane engine, and even to a sulfur dioxide sensor manufacturing plant. These field trips have shown us many different STEM careers we might choose from.

Spreading our love for robotics:

We do many robotics outreach activities all year round. We have been invited to teach other students at the Carnegie Science Center and four local libraries in the Pittsburgh area. At these events, we try to introduce students to LEGO Mindstorms, VEX IQ, EV3-G, and ROBOTC. Kids are naturally attracted to robots, and our hands-on workshops have been very popular. In September 2014, we expanded this outreach beyond Pittsburgh by teaching students around the world to program robots using our own lessons and website (EV3Lessons.com).

Challenges of Robotics:

The biggest challenge in robotics is probably robot reliability – getting your robot to “behave” as you intend again and again. It takes both software and hardware solutions in combination to improve reliability. To add to this problem, contest environments are often very different from practice environments. Kids who don’t have access to good programming lessons like the ones provided by ROBOTC, CS2N, Carnegie Mellon Robotics Academy’s EV3 Trainer, and EV3Lessons.com often feel frustrated.

Droids 04The challenges in robotics are not problems you cannot solve. They are part of what makes robotics interesting for us. They teach us to come up with different techniques as solutions. They also teach us patience and perseverance!

Overall, robotics has given us opportunities and skills that we might not have discovered otherwise. The greatest opportunity from robotics is finding out what all a robot can do! People some times think that a child’s robot “can only do so much”. We have found that it can lead to learning a lot of advanced programming techniques.

Robotics has opened up a world of possibilities for us. We especially like sharing these possibilities with other people we meet at our workshops and demos.

————————————————————————————————————————————————————————————————-
You can find more information about their team here: www.droidsrobotics.org and on their programming lessons here: www.ev3lessons.com.

Written by Cara Friez-LeWinter

March 24th, 2015 at 6:45 am

Cool Project: ColumnBot

without comments

We recently asked a group of engineering students from the University of Aalborg in Denmark to write about their experience using ROBOTC on a recent project. Check it out below!

——————————————————————————————————————————————————————————

A model of the robot we built.

A model of the robot we built.

Hi all! We are 6 software engineering students from the University of Aalborg in Denmark. As part of our Bachelor’s degree, we had to design and implement an embedded system, and we chose to design and implement a robot that would solve the Simultaneous Localization And Mapping (SLAM) problem. We called the robot ColumBot.

The hardware we were issued were LEGO NXT bricks and sensors as well as a few from MindSensors. MindSensors provided libraries for use with ROBOTC, which was one of the reasons why we ended up choosing ROBOTC as our IDE.

This shows the generated map for TestCourse.

This shows a map of the test course we ran.

Work in Aalborg is group-based and many of the other groups spent the first weeks trying to get their NXT bricks set up for the firmwares they were using, but ROBOTC allowed us to have the part of the project kept to a minimum. ROBOTC provided us with a strong and versatile tool in solving our project, and was of great help.

Using ROBOTC, we were able to implement a mapping robot with a drive queue, with enough memory for 100m2, as well as a particle filter to correct the inaccuracies that arose from sensing when mapping. All this functionality was scheduled using a real time scheduling scheme. We do not believe this would have been possible with some of the IDEs used by the other groups.

This shows a map of the test course we ran.

TestCourse map.

ROBOTC has its quirks, namely much of the documentation is faulty. [Editor’s Note: ROBOTC recently went through a complete documentation overhaul to address issues like these – take a look at our help docs here.] As the focus of our project was to fit as much functionality as possible into the limited space, this problem mainly arose with the sizes of different types, where the documentation deviated from the reality. But the community is fantastic and many answers to difficult questions were found in the forums during the project period. The most useful features in our project were the Bluetooth Communication and the Debug Stream, which allowed us to monitor the robot remotely and communicate with it.

We would recommend ROBOTC to anyone attempting a build of the same size as ours, but advice you to be wary and test things for yourself, because this was sometimes a problem for us.

Check out one of our test runs here:

Written by Cara Friez-LeWinter

February 23rd, 2015 at 11:01 am

ROBOTC for LEGO MINDSTORMS Updates 4.30 and 3.65 Available Today!

with 2 comments

ROBOTC 4-30
The ROBOTC Development Team is excited to announce not one, not two, but three updates this week! Yes, earlier in the week we announced our 4.29 update, but we’ve taken care of a few more bugs along with a 3.65 update. These updates are for the LEGO MINDSTORMS (NXT and EV3) robotics systems and includes new features, functionality and a load of bug fixes. You can download them here! Read more below …

4.29 -> 4.30 Change Log

  • (EV3) LEGO NXT Sensors that are normally auto-ID’d no longer have their autoID flag disabled for that port.
  • (EV3) Fixed an issue with the EV3 remote screen may have caused a ROBOTC crash.
  • (ALL) Rebuilt firmware to version 10.30. All platforms will require a firmware update.
  • (ALL) Prevent Graphical files from asking to save if the “Save On Compile” flag is set to false.
  • (ALL) Update all standard models to have correct drive train setting.
  • (ALL) Fixed an issue where a “sprintf’ varArg list contains a string constant the compiler was generating incorrect code causing a firmware crash.
  • (ALL) Compiler Fix: ‘long’ pointer temporary variables were sometimes being allocated as type ‘signed’ instead of ‘unsigned’.
  • (ALL) Checking for “divide by zero” exception forgot to check in the “module” opcodes; it was only checking the “divide” opcodes. Fixed.
  • (ALL) Fixed issues where the first time the Debugger “Local Variables” window is painted with values (rather than blank) the address field displays “0xCDCDCDCD” rather than the offset.
  • (ALL) Graphical Interface now support “multiple selection” using Shift/Control keyboard modifiers (drag select coming soon!)
  • (ALL) Fix for DebugStream which was adding \r to the String as it was written to file.

3.64 -> 3.65 Change Log

  • (All) Fixed issue with licensing system when an unexpected error code (i.e. server is available but service is down) would cause ROBOTC to crash.
  • (All) Fixed issue with ‘Check for Update’ functionality where a hotel/school wifi login screen might cause a ROBOTC crash with unexpected XML parameters.
  • (All) Fixed issue with licensing system where a license could not be used on the same computer twice.

To read more about the updates from 4.29, visit our post from earlier this week. Happy Programming!

Written by Cara Friez-LeWinter

February 18th, 2015 at 9:30 am