Archive for the ‘FLL’ tag
In 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 …
Our 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:
Participating 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 summer, 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).
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.
The 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.
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!
The ROBOTC Development Team is excited to announce our latest update, ROBOTC 4.29! This update is for the LEGO MINDSTORMS (NXT and EV3) robotics systems and includes new features, functionality and a load of bug fixes.
This new build of ROBOTC for LEGO Mindstorms includes a number of new features for the EV3 platform, including USB Joystick Support, File I/O (reading and writing files on the EV3), and also Datalogging while using the EV3 platform. Take a look at the sample programs folder for examples on how to use all of the new features with ROBOTC and the EV3 platform!
Important Setup Information for ROBOTC 4.29:
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 is the same to keep alignment with the EV3 Programming Software and LEGO’s releases, but the Kernel has bug fixes to increase sensor reliability.
- After updating your EV3′s Linux Kernel, you’ll also need to update the ROBOTC firmware from inside of ROBOTC.
ROBOTC 4.28 BETA –> 4.29 Change Log:
- (EV3) Add additional message traces when enumerating Casper devices — generate a message about each device that is found during enumeration.
- (EV3) Hide “Poll LEGO Brick” from EV3 – not currently supported.
- (EV3) EV3 motors now use correct motor speed/power functions, depending on the PID flag in the setup pragma/dialog.
- (EV3) Added intrinsic (getMotorRPM()) to calculate the RPM of a motor, updated 10x per second
- (EV3) Added intrinsic to sync two motors for an infinite amount of time (setMotorSync)
- (EV3) modeNXTTemperature_F was incorrectly setting mode to sensorSONAR
- (EV3) Example of how to use the getMotorRPM() function. Displays a cool RPM meter on the screen.
- (EV3) convertPCFileNameToFileName_LINUX() uses getMaxFileNameSize() to retrieve max filename size.
- (EV3) File names exceeding 31 chars are now truncated to prevent errors.
- (EV3) Fixed the Friendly_IRBeacon.c program, some code was commented out, which shouldn’t have been
- (EV3) Added a stall detection example which uses the getMotorRPM() function
- (EV3) Convert legacy NXT I2C types into EV3 equivalents.
- (EV3) Added “moveMotorTarget” to Graphical
- (EV3/NXT) Driver Suite updated to the latest version in Git. Note that there’s an identical copy in both the NXT and EV3 folders
- (NXT) Fixed issue in “Motors and Sensors Setup” the code that compared configuration against the various standard models was not working when “External Controllers” are used.
- (ALL) “Test Communications Link” dialog was not properly storing/retrieving the registry value for the “Ping Type” variable.
- (ALL) Debug stream fixed so that “Clear Debug Stream” clears the IDE’s Window at the proper location; previously it was possibly erasing the screen at a spot well after the actual “clear” function was called.
- (ALL) Enhance Debug Stream handling to better support (1) Buffer overflow conditions and (2) proper visual appearance on IDE when “Clear Debug Stream” intrinsic is used.
- (ALL) Adjustments so maximum size of messages transferred between IDE and emulator increased to 10K from 1K.
- (ALL) Fix bug when maximum message size now exceeds maximum flash sector size.
- (ALL) Joystick buttons had different enums for real and virtual robots. This affected the joy1Btn() command.
- (ALL) Upissue Firmware Version to 10.29 / Upissue IDE Version to 4.29
- (ALL) Contents of DebugStream window can now be saved through the menu
- (ALL) Automatically select RVW package if one is not selected.
- (ALL) Increase number of RVW Packages available to 40 potential options – allows for future level packs.
- (ALL) DebugStream can now also be saved as a *.csv file
- (ALL) DebugStream Window contents can now be saved to a file.
- (ALL) User models (from Motors and Sensors setup) can now use relative filenames for user models.
- (ALL) Fix crashing issue when CheckForUpdates get a malformed XML file (typically hotel login pages)
- (ALL) Fix crash issue when Version XML file download is corrupted by school/hotel/conference “login” screens.
- (ALL) Fix crash issue when licensing libraries return an unexpected return value – error message string formatting command was invalid causing a crash.
- (ALL) Added pipe symbol to the LCD Printing Libraries fonts.
- (ALL) Fixed backslash character in small font.
- (ALL) Better parsing of “If” and dangling “else” clauses. Prevents a compiler crash when bad syntax in the “if” condition clause.
- (ALL) Support in GUI for use of user-defined “motors and sensor configuration data files”.
- (ALL) New “registry flag” to indicate whether user defined “configuration model” files are allowed.
- (ALL) Previously breakpoints could not be defined in header files. This is now fixed.
- (ALL) Benign. Enhance output in message trace window for “set breakpoint” message.
- (ALL) Command line based activation / deactivation commands. Implemented but not fully tested yet – documentation to follow.
ROBOTC 4.27 -> 4.28 BETA Change Log:
- (ALL) Updated Help System Documentation for new commands and features.
- (ALL) Updated Firmware for 10.28 / 4.28 compatibility.
- (ALL) Added a compiler error when ‘switch’ expression was illegal.
- (ALL) Support for optional “int” keyword as in the declaration “short int” or “int short” in addition to “short”.
- (ALL) Add USB Joystick control to Graphical (in loop blocks)
- (EV3) Fixed user reported bug in Synchronized Motor Movements commands.
- (EV3) Disabled setting sensor ports to typeNone/modeNone when initially configuring port. This prevented sensor ports from being reconfigured manually afterwards inside a program.
- (EV3) Added Joystick support for EV3.
- (EV3) Fixed BMP files not displaying properly on the EV3 screen.
- (EV3) Added Datalogging for the EV3. It is file based and saves the data in a CSV format under prjs/rc-data/
- (EV3) Added EV3 file operations for reading/writing to files. Commands are available for reading/writing all types and raw data. Files are saved in the standard ROBOTC projects folder and cannot be saved elsewhere for security/safety reasons.
- (EV3) Fix EV3 issue of USB connected brick disconnected when COMM link is open and IDE cannot recover when USB link is reconnected.
- (EV3) Changed ramp up/down parameters to 0 for EV3 motors, as per the LEGO programming environment. This is a feature ROBOTC was using but isn’t supported well by the EV3.
- (EV3) Fixed issue where motor speed was not normalized to -100 to 100 when values exceeding the maximum were provided.
- (EV3) Adjusted I2C read and write commands to use standard LEGO ioctl. The calls are non-blocking.
- (EV3) setSensorTypeModeFromWithinOpcode is now used instead of calling for a separate type and mode change. This fixes the issue of bad sensor modes.
- (EV3) EV3 Touch sensor can now have both bumps and touch value read, regardless of mode
- (EV3) sensorReset() now calls appropriate reset function, depending on the connection type. If used on Gyro or Touch, the heading or bump count is reset, respectively.
- (EV3/NXT) Fixed issue with ROBOTC ‘auto-updater’ when launching ROBOTC for LEGO based platforms.
Want to earn a free Robot Virtual Worlds – Virtual Brick license? BotBench has an awesome license giveaway going on now. Be one of the first 20 people to write a review about it on your website, blog or Tumblr, and you’ll receive a free license! Read more about it here!
Not sure what the Virtual Brick is? Check out our video …
Botbench also did a wonderful “First Look” blog on the Virtual Brick. Check it out here – Virtual Brick: A First Look – Making a Line Follower
Want to try out the Virtual Brick? You can download it here and when you do, you get a 10 day trial period.
The ROBOTC team is proud to announce the completion of the Sensing section of the Introduction to Programming EV3 Curriculum!
Check it out to learn how to use the EV3 Touch, Sonar, Gyro, and Color sensors with ROBOTC Graphical here! The curriculum is completely free to use, and more materials are always being added.
Check out two of the video tutorials below:
Now that the physical robot kits are in the classroom and ROBOTC is installed and activated, you should be ready to build the physical robots for your classroom. One of the best features of a LEGO Mindstorms educational robotics kit is that they allow students to create a nearly limitless range of robots; the downside of this, however, is maintaining student-created robots in a classroom. To help with this, ROBOTC and their related Video Trainer Curriculum support several standard models to help keep a baseline in the classroom.
The first of such robots we will look at is the NXT REMbot (which stands for ‘Robotics Education Model), the standard NXT that is used in the ROBOTC Curriculum for TETRIX and LEGO MINDSTORMS. The REMbot utilizes three NXT motors (two for driving, one for the (optional) arm), a Light Sensor mounted below the robot, a Touch Sensor mounted in the front, a Sonar Sensor positioned above the robot, and a Sound Sensor on the side of the REMBot. This model allows for a variety of tasks to be completed and is designed to work with all of the challenges in the ROBOTC Curriculum.
If your classroom will be utilizing the TETRIX kit, the Mantis Robot standard model would be the build of choice. The Mantis Robot utilizes the TETRIX kit to add two TETRIX DC motors (for driving) and a TETRIX Servo (for the arm), as well as the respective motor and servo controllers; all of which are fully programmable in ROBOTC. Sensors can be added using any of the remaining sensor ports (one of which is used by the HiTechnic Motor/Servo controller chain).
Users of the MATRIX kits are not left in the dark however! MATRIX also has several options to use in the classroom, but the Quick Start Rover stands out from the pack. Combined with The Little Gripper, the MATRIX kits can be quickly and effectively set up for a standard robotics classroom. Like the TETRIX bots, the Quick Start Rover can be outfitted with NXT sensors on any of the remaining sensor ports for added versatility. It uses two MATRIX motors for movement and a MATRIX servo for The Little Gripper (all controlled through one MATRIX controller), all of which is fully programmable in ROBOTC.
Visit CMU’s Robotics Academy LEGO site for more information on the different kits available and to find build instructions.
Teacher Appreciation Week is May 6th – 10th and we are celebrating! We LOVE all teachers and appreciate everything they do for their students! Here at the Robotics Academy, we have a special place in our hearts for robotics teachers, mentors and coaches, so this year we want to make sure they get the attention they deserve.
Do you know an amazing robotics teacher, mentor, or coach? Let us know who they are and why they are AWESOME! Send us your best story, pictures, and/or video about this person to email@example.com. We will share several of these stories on the Robotics Academy blog during Teacher Appreciation Week. And the Top Three Stories, voted by us, will each WIN one Classroom Annual License for Robot Virtual Worlds for their teacher/mentor/coach!
Stories must be submitted by Wednesday, May 8th at 5pm Eastern Standard Time. We will announce the winners on Friday, May 10, 2013.
Please include contact information (name and email/school phone number) for the teacher, mentor, or coach that you’re writing about so we can make sure to get their permission to publish their name on our site. You can send any questions to firstname.lastname@example.org.