Archive for the ‘FTC’ tag
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.
This Wednesday, Tim Friez, ROBOTC Senior Software Engineer, will be joining FTC’s “Ask an Expert” webinar series to go over the basics of ROBOTC programming for FTC. This is a great opportunity to get an overview of the environment, learn from an expert and ask questions. The live webinar begins Wednesday, October 15 at 7:00 PM ET on YouTube! You can also find the video embedded below …
Hot on the heels of the official game unveiling, the ROBOTC and Robot Virtual World team is proud to announce the availability of the new FTC Cascade Effect virtual world! Check out the rules for the new game here.
Like past FTC Robot Virtual Worlds, the game elements, scoring, autonomous period, and tele-operated period are all simulated. We also provide three different robot models that can interact with this year’s game objects.
Conveyorbot is capable of picking up 4 balls at a time, and dropping them into the movable tube goals. The 4 balls can be any combination of the small golf balls or larger wiffle balls.
Scissorbot can pick up any of this year’s game objects: the larger wiffle balls, smaller golf balls, and the movable tube goals. It’s gripper can extend high into the air, allowing it to also drop the balls into any of the goals!
Gripperbot can also pick up all of this year’s game objects: the larger wiffle balls, smaller golf balls, and the movable tube goals. Its streamlined design and low center of gravity allow it to quickly score balls and move tubes across the playing field.
All robots this year have been upgraded with “ball guards” around their chassis and wheels, which will help them to traverse the field once it has been covered in balls. They can also be equipped with either a Gyro sensor for precise turns, even if the robot slips, or an IR Receiver for tracking the center goal! Click here to download some sample code we’ve written to help you get started with all of the robots.
Download and try out the game today. If you are using ROBOTC 4, make sure that your Platform Type is set to LEGO Mindstorms NXT, and that you have “External Motor/Servo Controllers” enabled.
We appreciate any feedback you have! Please feel free to share it at the ROBOTC.net forums. Also, be on the lookout for future updates on our blog. We will be releasing a game video, along with an update that includes additional features along with robot-to-game object interaction tweaks.
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:
Anna Lynn Martino attended one of our Professional Development classes recently and wrote a wonderful blog about her experience. Check it out below …
Reblogged – “Robots Oh My!” from (link temporarily unavailable)
Last week I attended another teacher training at CMU’s Robotics Academy. My goals this year was to be more comfortable working with ROBOTC, which is the programming language that my FTC robotics team uses. Also, I am teaching/mentoring/moderating our robotics class in the fall. As a middle school with a programming class, I thought my students would be better served by teaching them robotC but also I thought it would be great to have them also prepped for the team if they are interested in becoming part of the team.
Above is a collage showing the ROBOTC graphical interface, some “regular” ROBOTC, and a Tetrix bot.
Again, it was a really great workshop and I learned a lot! It is crazy. I have been teaching Scratch and this summer I introduced kids to Python and some basic programming in Arduino and I was struggling with explaining variables and functions. I got the basics but I had a hard time explaining it because I do not have a Comp Sci background but this time, I totally understood how variables and functions operating within a programming language. Tim Friez, our instructor, was really amazing and his style of teaching was perfect. I think, that his style is what a lot of teachers are starting to go for – in the parlance of our field – student-driven/centered.
We also had a teacher, who works on curriculum development at the center, come in and give us tips and hints about teaching robotics. It was practical advice and just giving us tips on what to be aware of. Also, in order to have a class, there is a fair amount of start-up costs.
What you need:
- The Robot kits (you might want different types)
- Fields (for kids to do their challenges on)
- license for the programming language
- license for the curriculum
- remote controls
- wifi/bluetooth adapters
- challenge elements (blocks, balls, cut pvc pipes, folders or books for walls
- colored electrical tape
- expansion kits if you have advanced students (which you will probably have)
I also met some really amazing people and it was great hearing what their challenges are and how they dealt with them. Most of us were just “regular teachers” which also made the prospect of having a robotics class less daunting.
I am again super excited about it but I also realize that I need to recharge. I am taking the next few weeks to do that before orientation week. I worked all of June and July. I do not want to go back feeling like I did not have this time to process all that I did this summer and last year.
If anyone is thinking about teaching robotics, I would highly highly recommend the CMU Robotics Academy. They offer online and campus workshops in the summer. They are going to have webinar soon about EV3 and ROBOTC.
Follow them on Twitter @ROBOTC or subscribe to their blog
Thank you, Anna for the great blog post! To read more from here blog, visit her at (link temporarily unavailable)!
FIRST TECH Challenge invited us to participate in their Summer Conference this week! Tim Friez, Senior Software Engineer, shared some advanced concepts in using ROBOTC such as understanding more about the Debugger, using 3rd Party Sensors, and coding practices to make your team more efficient and productive to develop reliable competition code. Check out the video below featuring his full presentation …
There is only one day left to enter our Robot Virtual Worlds FTC Block Party Programming Competitions!
In the FTC Block Party Virtual World, program one of three robots to score as many points as possible in autonomous and driver controlled modes. Score points by:
- Placing Blocks in Floor goals
- Placing Blocks in Pendulum goals
- Raising the Flag
- Hanging from the Bar
See the rules documents for the full game explanation:
- All information on CS2N Competitions can be found here
- FTC Block Party can also be downloaded at RobotVirtualWorlds.com or CS2N.org
- If you don’t already have a CS2N account, sign up for a free one here
- Updates and information will be posted on the CS2N Competition pages.
- If you need any help, don’t hesitate to post on the ROBOTC.net forums
Good Luck and Happy Programming!
We know that text based languages (such as ROBOTC) have advantages in terms of customizability with functions, complexity with algorithms and calculations, and typically smaller sized programs over graphical languages; however, it is difficult to overcome the simplicity and ease of use that “Drop and Drag” programming languages offer to new users just getting started with programming.
A few years ago (with ROBOTC 3.X), we announced our “Natural Language” feature – a simplified library of commands that used “natural” commands to control your robot, such as Forward, Reverse, and LineTrackForTime. The Natural Language feature was designed to help ‘bridge the gap’ between a graphical language and the text-based ROBOTC. Teachers have praised ROBOTC’s Natural Language for making it easier to get their students up and running faster than ever before. Currently, ROBOTC supports Natural Language on the VEX Cortex, VEX IQ, and LEGO MINDSTORMS NXT platforms for both “Real” and “Virtual” robots.
Today we’re proud to give you a sneak peek to a new feature we’re calling “Graphical Natural Language”. This new interface will allow you to program robots from inside ROBOTC with easy-to-use graphical blocks that can be drag-and-dropped to form a program. Each block represents an individual command from the “text-based” ROBOTC and Natural Language.
Each block is custom designed to fit the needs for that specific function and parameters. Using text boxes and drop-down menus, users can customize each values of each function to solve various challenge and activities using the same commands as ROBOTC’s Text-Based Natural Language.
We have also added some new language extensions to both ROBOTC and Natural Language, such as the simplistic “Repeat” command. Prior to the Repeat command, users would need to copy and paste large sections of code or use a looping structure (like a ‘for’ or ‘while loop) in order to have a set of actions repeat a certain number of times. With the new “Repeat” command, however, users can simply specify how many times they would like for the code to run, with no complex coding required.
Another awesome tool that we’ve implemented in ROBOTC 4.0 is the “comment out” feature. You can now comment out an entire line of code just by clicking on the block’s line number. Lines of code that are “commented out” are ignored by the robot when the program is run, which makes this feature very useful when testing or debugging a program. This new tool is unique to Graphical Natural Language.
Because each Graphical Natural Language block corresponds to a real ROBOTC or Natural Language function, users will be able to graduate from Graphical Natural Language to full text-based Natural Language with the press of a single button. This will allow you to naturally transition from Graphical Natural Language to the text based Natural Language (or ROBOTC), without having to worry about manually converting the code line-by-line!
Please Note: The screenshots and interface in this post are not the finalized version of the ROBOTC Graphical Natural Language – the names, interface, look and feel of the system may change between now and official release.