Wednesday Jan 25, 2012

2012 FIRST Robotics Competition Season Underway

At this very moment, somewhere around the world, some students are staring at a Java stack trace for a robot. They have three more weeks to finish developing their code, even though the robot isn't done, a motor is fried, and the drive team ate all of the snacks while waiting for the bug to get fixed...

[Read More]

Tuesday Mar 29, 2011

Upcoming FIRST events - San Jose and Boston

Just a reminder that the San Jose and Boston FIRST Robotics Regional competitions are this weekend and next. These are free, cool events near Oracle campuses where you can learn more about FIRST, the FIRST Robotics Competition, Java + FIRST, and FIRST @ Oracle.

 I'll be visiting the local Java teams in Boston.

Date Event Venue Location
Apr 2 Silicon Valley Regional San Jose State U. San Jose, CA
Apr 9
Boston Regional
Agannis Arena (Boston U.)
Boston, MA

There are more details at FIRST Robotics @ Oracle , especially the Event tips page.

Wednesday May 05, 2010

Review of Java for the FIRST Robotics Competition

+

Java Usage

The 2010 FRC season has just completed, which included Java as a programming option for the first time. We don't have full statistics of which teams used which languages, but we conducted surveys at several regional competitions (where “we” mostly means National Instruments and my trusty assistant).

The sample data shows about 16% of the teams used Java to program their robots. There was a lot of regional variation, from 0% Java use at the Dallas and Detroit regionals to 37-40% at the Boston and Manchester regionals. But that same 16% Java average held true for teams at the Championship competition. Extrapolating from that sample, world-wide there should be about 288 teams that used Java this year.

The middle of the US is looking pretty empty! We should get complete data after FIRST conducts its “kit of parts” survey.

Java Results

The Java teams did well. Some Java teams won their regional competitions, and Java teams were in the 2nd place and runner up positions at the world championship! In fact, the number of Java teams in the Quarter finals through to the Championship matches roughly tracked the percentage of teams in Atlanta running Java.

We received feedback from in-person surveys and on support forums. Teams were very happy to be able to use Java because it was either taught in their high school or was well understood by the mentors. They also liked the NetBeans development environment and having a “safe” programming language.

But it wasn't all “teflon wheels and traction control” (a FIRST phrase synonymous with “good”, which I just made up). There were definitely areas that teams wanted improved. Some common issues:

  • Needed more documentation:
    • “Big picture” overview of a robot (IterativeRobot)
    • Cookbook recipes – how to setup and use a gyroscope (for example), and how to use the data
  • Image processing was too slow. Careful tuning of the camera, robot code, and the Dashboard running on the laptop was required to get reasonable performance. This should have been pre-tuned, and the systems should have more “performance headroom”.
  • More diagnostics. Many, many, many robot failures look like either “watchdog” or communication errors, when in fact they may be wiring, low voltage, hardware, networking, USB, field system, or software failures.
    • Need to log more data to detect or rule out error scenarios.
    • Need to present data in a way that makes diagnosis easier
  • Installation/version match issues
    • Built-in installation sanity checks were added, but more can be done
  • Bugs in WPILib and Java IO
  • Late CAN bus implementation

I spent several days at regionals and at the Championship helping Java teams with issues. The most frustrating case was a Java team with intermittent field communication errors, but we couldn't narrow the issue down to hardware, software/Java, networking, or field issues. Another team had some robot logic issues I was able to help with, and several teams had issues that were resolved with wiring or component swaps. I was relieved that the Java system itself didn't seem to be the cause of serious problems.

Beyond looking for teams that needed help, I really enjoyed learning what teams were doing with their robots. One industrious team programmed their robot three times, once in C++, Java, and Labview, and developed an Eclipse module for Java on FRC. Another team experimented with porting several Java libraries to the robot including a JavaScript interpreter. A couple of teams switched from Java to C++ because the CAN interface for Java wasn't complete, but another team simply reimplemented all of the Java CAN interfaces themselves!

Conclusion

The first year of Java for FRC went well. Not without a hitch, but not bad. We'll be working with WPI to improve the system for 2011, especially in the areas of diagnostics and performance. And I'd like to see the use of Java for FRC world-wide match the 30% use that we saw in New England.

I'll add in the usual disclaimers here – speaking for myself, not for Oracle, Sun Labs, WPI, or FIRST. Any erroneous data would be due to me.

Tuesday May 26, 2009

FIRST Show-and-Tell at Burlington, MA campus

Last Friday we had three teams, five robots, WPI and FIRST come to visit Sun's Burlington, MA campus. The teams talked about their robots and experiences with FIRST, and mentors explained what mentoring for FIRST was all about.

Two of the robots were Java-powered - team 1519's little "Speed Racer" (look for the Duke on top), and WPI's demo robot ("demo" may stand for demonstration or demolition). Steve Heller arranged a demonstration of torque:

IMG_4563

Check out FIRST Robotics @ Sun for future FIRST show-and-tells on campus, and more information about FIRST.

Next stop - JavaOne!

IMG_4566
IMG_4555 IMG_4554 IMG_4552

Monday May 18, 2009

Java for the FIRST Robotics Competition!

On April 16th we announced that Java would be available for the FIRST Robotics Competition. This is joint work between Sun and WPI to port Squawk (an open-source Java virtual machine) to the compactRIO robot control system, as well as the WPILib robotics library from C++ to Java.

We expect this to be a great addition for FRC teams that have some Java programming experience, and will bring not only the combination of power and safety inherent in Java to robotics programming, but also the ecosystem of Java tools, libraries and learning resources.

The exact flavor of Java that will be available is Java ME (Micro Edition), configured with the CLDC and IMP libraries. This is essentially the same flavor of Java that is installed in millions of cell phones (but without the graphic user interface libraries - LCDUI).

In addition the system is based on the libraries and SDK of the Sun SPOT project. It includes over-the-air debugger support as part of integration with the NetBeans and Eclipse IDEs and also includes ant-based command line tools.


The Java system will be in closed alpha and beta releases over the Summer and Fall, and will be ship in the "kit of parts" for the 2010 season (if not earlier).  We have also developed a software-only robot emulator that allows you to learn how to develop robotic software in Java using the Sun SPOT APIs (but doesn't yet include the WPILib APIs).

I'll be blogging more about this, including technical details, the Atlanta Championship, and Java + FIRST @ Java One, but here are some pointers to more information:

Thursday Mar 05, 2009

Boston and San Diego FIRST Regionals This Weekend

Just a reminder that the Boston and San Diego FIRST Robotics Regional competitions are this weekend. I'll be visiting the local Sun-related teams in Boston.

Date Event Venue Location
Mar 7 Boston Regional Boston U., Agganis Arena Boston, MA
Mar 7 San Diego Regional San Diego Sports Arena San Diego, CA

There are more details at FIRST Robotics @ Sun , especially the Event tips page.

[Sorry for the repost - going out to the Sun Labs blogroll this time...]

Wednesday Mar 04, 2009

Boston and San Diego FIRST Regionals This Weekend

Just a reminder that the Boston and San Diego FIRST Robotics Regional competitions are this weekend. I'll be visiting the local Sun-related teams in Boston...[Read More]

Monday Jan 12, 2009

Terminal to Serial/USB Devices From a Mac

How to get a terminal window on a Mac to a USB device or a serial device connected using a USB-to-Serial adapter (like a Keyspan) using the screen command. Useful for talking to Sun SPOTs, FIRST Robotics Competition controllers (cRIO), etc...
[Read More]
About

Out of the fog... of bits, bytes, and really small Java Virtual Machines, by Derek White. The views expressed on this blog are my own and do not necessarily reflect the views of Oracle.

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today