Go to Post first post and the FRC "well what is a stick" comes in. Toothpick, does it need to be round, does a carbon fiber chain of Buckie balls count as a stick. CD posters are sooooo predictable. - Foster [more]
Home
Go Back   Chief Delphi > Technical > Programming
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Closed Thread
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 20-01-2013, 11:27
apalrd's Avatar
apalrd apalrd is offline
More Torque!
AKA: Andrew Palardy (Most people call me Palardy)
VRC #3333
Team Role: College Student
 
Join Date: Mar 2009
Rookie Year: 2009
Location: Auburn Hills, MI
Posts: 1,347
apalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond repute
Releasing software before kickoff

So, as I struggle through installing LabVIEW DVD's from the kit on all of the team laptops, and activating them all at home (since we don't have internet at our shop), while writing software and re-learning the library since a lot of stuff changed, I wonder:

Why do they have to release the software DVD's and updates on kickoff? What do they really gain?

It's not a mystery that the libraries will contain something similar to last year. We could ask any of the beta teams to show us exactly what changed, if we wanted to. However, there have been cases in the past where major library changes have happened (e.g. from 2009->2010 in LV, the basic framework was completely dropped and the refnum registries were added), forcing teams to re-learn a lot of what they used to know about the library, in the most precious time of the year (build season).

Also, with LV at least, the SW licenses from last year expire mid-build season and they switch to a different version of Labview every year, forcing us to uninstall and re-install everything on all of our computers, every year, during the first week or two of build season.

There just doesn't seem to be any reason to hide and encrypt the new software updates until kickoff. Releasing them earlier would give teams time to install and learn the new features (IMHO the library should be stable enough to not require significant changes each year, but for some reason they keep developing new major additions to it, making the learning issue worse).
__________________
Kettering University - Computer Engineering
Kettering Motorsports
Williams International - Commercial Engines - Controls and Accessories
FRC 33 - The Killer Bees - 2009-2012 Student, 2013-2014 Advisor
VEX IQ 3333 - The Bumble Bees - 2014+ Mentor

"Sometimes, the elegant implementation is a function. Not a method. Not a class. Not a framework. Just a function." ~ John Carmack
  #2   Spotlight this post!  
Unread 20-01-2013, 11:50
joelg236 joelg236 is offline
4334 Retired Mentor & Alumni
AKA: Joel Gallant
no team
Team Role: Mentor
 
Join Date: Dec 2011
Rookie Year: 2012
Location: Calgary
Posts: 733
joelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond repute
Re: Releasing software before kickoff

I have to agree. I can't think of a very good reason not to just release the software publicly before build season. This kind of thing does not apply for building material or CAD software, so I'm not sure why it would have to for the software of the robot. It's even completely possible to code the robot in the previous year's libraries, so there really is no "even playing ground". I would understand if the reason is to make sure rookies have just as much time to practise as veteran teams, but it simply isn't the case. We've been able to practise and learn on 2012 libraries for months, not to mention 2013 beta releases being available publicly (with a link). It might be a habit FIRST has got into, and just does it for the sake of doing it.

I for one would not mind having the next year's software even a month earlier. It would let us worry about things we need to do this year, as opposed to bugs and fixes from last year. (for example, we spent hours finding a solution to bug #2 here)

Maybe there's a good reason to keep software from teams before build starts, but I haven't found one yet. Installing plugins all day is not my ideal first day of build season, and would probably give a bad impression on someone new to FIRST.

Just my 2 cents.
__________________
All opinions are my own.
  #3   Spotlight this post!  
Unread 20-01-2013, 13:10
rsisk's Avatar
rsisk rsisk is offline
The GURU Channel
AKA: Richard Sisk
FRC #2493 (Robokong)
Team Role: Mentor
 
Join Date: Jan 2008
Rookie Year: 2007
Location: Riverside, CA
Posts: 2,750
rsisk has a reputation beyond reputersisk has a reputation beyond reputersisk has a reputation beyond reputersisk has a reputation beyond reputersisk has a reputation beyond reputersisk has a reputation beyond reputersisk has a reputation beyond reputersisk has a reputation beyond reputersisk has a reputation beyond reputersisk has a reputation beyond reputersisk has a reputation beyond repute
Send a message via MSN to rsisk
Re: Releasing software before kickoff

Maybe all the updates are not complete, tested, and packaged until just before kickoff.

Although I do agree with the OP that FIRST should move the GA date for software to Nov. Let teams download and install and provide some time bugs to be reported and fixed before the build season.
__________________
Quote:
The views expressed are mine and should not be construed to represent the views of anyone else.
  #4   Spotlight this post!  
Unread 20-01-2013, 13:17
joelg236 joelg236 is offline
4334 Retired Mentor & Alumni
AKA: Joel Gallant
no team
Team Role: Mentor
 
Join Date: Dec 2011
Rookie Year: 2012
Location: Calgary
Posts: 733
joelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond repute
Re: Releasing software before kickoff

Quote:
Originally Posted by rsisk View Post
Maybe all the updates are not complete, tested, and packaged until just before kickoff.
Not sure, but I know that the Java wpilibj for 2013 was in production stage (as in ready to go) around mid-November. There's been some bug fixes, but it certainly could have been released earlier than January.
__________________
All opinions are my own.
  #5   Spotlight this post!  
Unread 20-01-2013, 13:44
F22Rapture's Avatar
F22Rapture F22Rapture is offline
College Student, Mentor
AKA: Daniel A
FRC #3737 (4H Rotoraptors)
Team Role: Mentor
 
Join Date: Jan 2012
Rookie Year: 2012
Location: Goldsboro, NC
Posts: 476
F22Rapture has a brilliant futureF22Rapture has a brilliant futureF22Rapture has a brilliant futureF22Rapture has a brilliant futureF22Rapture has a brilliant futureF22Rapture has a brilliant futureF22Rapture has a brilliant futureF22Rapture has a brilliant futureF22Rapture has a brilliant futureF22Rapture has a brilliant futureF22Rapture has a brilliant future
Re: Releasing software before kickoff

Quote:
Originally Posted by joelg236 View Post
Not sure, but I know that the Java wpilibj for 2013 was in production stage (as in ready to go) around mid-November. There's been some bug fixes, but it certainly could have been released earlier than January.
Technically speaking, they were. Just change the plugin target to the updates.xml in the "Development" or "Stable" channel rather than "Release."

first.wpi.edu/FRC/java/netbeans/update/
__________________
Research is what I’m doing when I don’t know what I’m doing.
- Wernher von Braun
Attending: Raleigh NC Regional
  #6   Spotlight this post!  
Unread 20-01-2013, 13:58
joelg236 joelg236 is offline
4334 Retired Mentor & Alumni
AKA: Joel Gallant
no team
Team Role: Mentor
 
Join Date: Dec 2011
Rookie Year: 2012
Location: Calgary
Posts: 733
joelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond repute
Re: Releasing software before kickoff

Quote:
Originally Posted by F22Rapture View Post
Technically speaking, they were. Just change the plugin target to the updates.xml in the "Development" or "Stable" channel rather than "Release."

first.wpi.edu/FRC/java/netbeans/update/
That's exactly what I was talking about. They have it ready, but just don't tell anyone.
__________________
All opinions are my own.
  #7   Spotlight this post!  
Unread 20-01-2013, 14:07
apalrd's Avatar
apalrd apalrd is offline
More Torque!
AKA: Andrew Palardy (Most people call me Palardy)
VRC #3333
Team Role: College Student
 
Join Date: Mar 2009
Rookie Year: 2009
Location: Auburn Hills, MI
Posts: 1,347
apalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond repute
Re: Releasing software before kickoff

Ideally, the library is stable, provides the functionality that we NEED (getting IO data from the IO, and control packets from the DS) and never changes. The only beta test that would have been needed would have been the initial test pre-2009 (when the system was new and full of bugs) and pre-2012 (when the 4-slot cRio was new). Every other season would just have carried over the libraries with the previous season, plus bugfixes from the previous season, without even carrying out the beta test process.

But, the library keeps changing, and there's a lot of visible scope creep. IMHO, the purpose of the library is to provide an API for the black-box FPGA and Netcomm modules, and provide a default framework to assist inexperienced programmers. The Basic Framework that LV had way back in 2009 was very easy to use, easy to understand, and worked well. I would be happy if we just stayed there and fixed bugs and fixed bugs and supported the 4-slot cRio.

Another thing the WPIlib lacks is a 'default code' which requires absolutely no programming skills to learn, PERIOD. IFI and Vex controllers always came with code which would map all of the joystick inputs to PWM and relay outputs, and provided a nice tool to download the default code without a compiler installed if you ever needed to get back to that state. You could reasonably build a robot without ever installing the development environment, and be competitive. Most OCCRA teams still run default code, since it works well enough for them. WPIlib lacks this, and requires a team to at least:
-Install the full development environment for one language
-Install at least the Labview runtime for the Driver Station and tools utilities, if they didn't choose LabVIEW.
-Create a complete code project
-Write in the code to support anything other than a drivetrain.
This is non-trivial for a team without any software skills. I have seen many team programmers who spend an entire season getting buttons to map to solenoids and joysticks to map to PWMs.
__________________
Kettering University - Computer Engineering
Kettering Motorsports
Williams International - Commercial Engines - Controls and Accessories
FRC 33 - The Killer Bees - 2009-2012 Student, 2013-2014 Advisor
VEX IQ 3333 - The Bumble Bees - 2014+ Mentor

"Sometimes, the elegant implementation is a function. Not a method. Not a class. Not a framework. Just a function." ~ John Carmack
  #8   Spotlight this post!  
Unread 20-01-2013, 14:33
joelg236 joelg236 is offline
4334 Retired Mentor & Alumni
AKA: Joel Gallant
no team
Team Role: Mentor
 
Join Date: Dec 2011
Rookie Year: 2012
Location: Calgary
Posts: 733
joelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond repute
Re: Releasing software before kickoff

Quote:
Originally Posted by apalrd View Post
I have seen many team programmers who spend an entire season getting buttons to map to solenoids and joysticks to map to PWMs.
This is exactly why I'd like the libraries to be available earlier than build season. If your team doesn't have the support to do it, I think you should have time to learn.
__________________
All opinions are my own.
  #9   Spotlight this post!  
Unread 20-01-2013, 17:14
Greg McKaskle Greg McKaskle is offline
Registered User
FRC #2468 (Team NI & Appreciate)
 
Join Date: Apr 2008
Rookie Year: 2008
Location: Austin, TX
Posts: 4,756
Greg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond repute
Re: Releasing software before kickoff

So the questions I saw were ...

Why not release SW earlier?

Why does WPILib keep changing?

and

Why isn't there default code?

The first question is really one for FIRST. They choose to have a kit of parts and it includes software. Sometimes they tell you what will be in it, other times they want it to be a surprise. As mentioned, Java was put up early, others were not. I don't think there is a simple answer.

The second question I can answer directly. It is changing to try and make it easier and more effective for the FIRST competition. WPILib is not meant to simply be a few wrappers above the FPGA. It is that and much more. By mapping measurements to engineering units, it allows for more direct comparison to modeled and theoretical estimates. It includes vision and other libraries that have nothing to do with the FPGA, and it attempts to organize the code into a framework useful for a large number of programmers of varying capabilities. From my point of view, it is changing very little. The refnum registry in LV is an optional part. It adds overhead to avoid clusters and connector panes. It lowers the bar for using the framework, but is optional. SmartDashboard is optional. Except for error handling deep within the libraries, little changed to the LV library this year, but still, there were improvements. Java and C++ changed to add commands and RobotBuilder and LV integrated simulation. These were intended as enhancements, not as major rewrites.

An additional answer to the second question is ... it gives returning teams something else to learn. This is a design competition, and in my mind, it should offer opportunities to learn new stuff and appeal to new types of people.

The answer to the third is also pretty easy to explain. NI, WPI, and members of FIRST all agreed that building a robot without needing to programming wasn't a requirement. Neither is building one without having to wire or having to use nuts and bolts or fasteners of some sort. As a quick comparison, even FLL teams program. They don't even have a framework. FRC teams are clearly capable of installing one of the tools and building the default code, even making small changes to channels. True, there are faster ways to do it, just like it would be faster without nuts and bolts and without having to wire. Providing a binary version to ftp to the controller is clearly not hard, but it deprives exposing teams to a major aspect of the robot.

As I"m reading my post, it comes off a bit stronger than I'd intended. I look forward to hear other's perspectives on how to make the SW be more inspiring.

Greg McKaskle
  #10   Spotlight this post!  
Unread 20-01-2013, 20:36
kenfox kenfox is offline
Registered User
FRC #3322 (Eagle Imperium)
Team Role: Mentor
 
Join Date: Jan 2013
Rookie Year: 2013
Location: Ann Arbor, MI
Posts: 52
kenfox is a glorious beacon of lightkenfox is a glorious beacon of lightkenfox is a glorious beacon of lightkenfox is a glorious beacon of lightkenfox is a glorious beacon of light
Re: Releasing software before kickoff

I'm a new programming mentor. I tagged along with the team for summer events, but didn't get really involved until last fall.

Quote:
Originally Posted by Greg McKaskle View Post
Why not release SW earlier?
I'd like earlier releases. The WPILib is Open Source and new mentors probably become available to help with development and training in the fall. I didn't even know we had to sign up for a beta until it was too late.

The majority of the toolchain is commercial off-the-shelf so release date won't matter. Unless it's a water game. (ha! even noobs know about that joke)

Quote:
Why does WPILib keep changing?
Because it's not dead. The problem domain is way too large to ever be solved, so the only way it'd stop changing is if everyone loses interest. I've only been working with WPILib for a couple weeks and I already have a huge TO-DO list. Robot Builder and Smart Dashboard move things in a good direction, but they are far from complete. Error handling, diagnostics, and testing don't really exist yet.

Quote:
Why isn't there default code?
Lots of teams put their code up in a public repo. I learned a ton from their generous examples. We will put our code up this year.

If someone wants to lead the development of an example or reference control system, I will help. I don't know enough yet to organize it. This would make a great off-season project for teams wanting to stay active without the pressure of a competition schedule.
Closed Thread


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 02:32.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi