Go to Post It's your duty in FRC to your teammates and alliance partners to put the most competitive robot possible on the field. - Chris is me [more]
Home
Go Back   Chief Delphi > Technical > Programming > Java
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Reply
Thread Tools Rating: Thread Rating: 4 votes, 5.00 average. Display Modes
  #1   Spotlight this post!  
Unread 18-12-2012, 19:58
Herbblood's Avatar
Herbblood Herbblood is offline
Knowledgeable
AKA: Ally
FRC #3044 (OxBE4)
Team Role: Programmer
 
Join Date: Oct 2011
Rookie Year: 2008
Location: Ballston Spa
Posts: 247
Herbblood is an unknown quantity at this point
RobotBuilder

Hi!
I recently went to a seminar hosted by Team 20 for RobotBuilder. I'm not to sure on my opinon on it and would like for others to tell me what they think of it! So please tell me, is your team going to use it? if yes How?
~Programmer from Team 3044
__________________
Off to WPI!
Go OxBE4
Reply With Quote
  #2   Spotlight this post!  
Unread 18-12-2012, 20:18
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: RobotBuilder

Quote:
Originally Posted by Herbblood View Post
Hi!
I recently went to a seminar hosted by Team 20 for RobotBuilder. I'm not to sure on my opinon on it and would like for others to tell me what they think of it! So please tell me, is your team going to use it? if yes How?
~Programmer from Team 3044
Personally, no, but it's great for training younger/less experienced programmers or to help transition from Labview to Java.
__________________
Research is what I’m doing when I don’t know what I’m doing.
- Wernher von Braun
Attending: Raleigh NC Regional
Reply With Quote
  #3   Spotlight this post!  
Unread 18-12-2012, 21:08
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: RobotBuilder

No, but it does allow me to demonstrate concepts to new kids in a way that bad drawings on a white board can't.
__________________
All opinions are my own.
Reply With Quote
  #4   Spotlight this post!  
Unread 18-12-2012, 21:20
Herbblood's Avatar
Herbblood Herbblood is offline
Knowledgeable
AKA: Ally
FRC #3044 (OxBE4)
Team Role: Programmer
 
Join Date: Oct 2011
Rookie Year: 2008
Location: Ballston Spa
Posts: 247
Herbblood is an unknown quantity at this point
Re: RobotBuilder

KK!
My team personally was thinking of just using it to start the program, especially with our new programers
__________________
Off to WPI!
Go OxBE4
Reply With Quote
  #5   Spotlight this post!  
Unread 18-12-2012, 21:45
Bill_B Bill_B is offline
You cannot not make a difference
FRC #2170
 
Join Date: Jan 2010
Rookie Year: 2004
Location: Connecticut
Posts: 1,099
Bill_B has a reputation beyond reputeBill_B has a reputation beyond reputeBill_B has a reputation beyond reputeBill_B has a reputation beyond reputeBill_B has a reputation beyond reputeBill_B has a reputation beyond reputeBill_B has a reputation beyond reputeBill_B has a reputation beyond reputeBill_B has a reputation beyond reputeBill_B has a reputation beyond reputeBill_B has a reputation beyond repute
Re: RobotBuilder

For those wondering what is being considered here (like me, for instance) refer to this location at WPI Lib. Google insisted on dividing the two words and also netted this interesting, if a bit ancient, link.

Gee Whiz, a whole 'nother avenue for exploration. Thanks guys, I guess.
__________________
Nature's Fury FLL team 830 - F L eLements
FRC team 2170 - Titanium Tomahawks
Reply With Quote
  #6   Spotlight this post!  
Unread 19-12-2012, 21:39
Woodie Flowers Award
JDNovak JDNovak is offline
Mentor
AKA: John Novak
FRC #0016 (Bomb Squad)
Team Role: Engineer
 
Join Date: Jan 2005
Rookie Year: 1996
Location: Mountain Home, AR
Posts: 52
JDNovak has a reputation beyond reputeJDNovak has a reputation beyond reputeJDNovak has a reputation beyond reputeJDNovak has a reputation beyond reputeJDNovak has a reputation beyond reputeJDNovak has a reputation beyond reputeJDNovak has a reputation beyond reputeJDNovak has a reputation beyond reputeJDNovak has a reputation beyond reputeJDNovak has a reputation beyond reputeJDNovak has a reputation beyond repute
Re: RobotBuilder

We beta tested RobotBuilder with the C++ environment so I'll offer my perspective of it's usefulness.

I'm not a programmer but I have written a lot of code in Assembly Language, Basic, C and Ladder Logic. When the cRIO came along in 2009, I started with the simplest program that would compile and crammed a lot of sequential C code into the environment. It worked but it wasn't very inspiring for future programmers. Then a young student committed to learn C++ properly and he started creating properly structured programs. Now he has graduated we could easily slip back to sloppy structure.

Enter Robotbuilder. Instead of starting with a minimal program and trying to adding things, Robotbuilder lets you list all of the subsystems that your team has decided are important for your robot. you can enter the motor controllers and solenoids for outputs and limit switches and potentiometers for feedback and the operator inputs necessary to operate it. All this is independent of program syntax or structure. Then Robotbuilder creates the proper structure for the program for both Java and C++ and allows you to pass the structure to either NetBeans or Windriver. At this point the program doesn't make anything move but the structure is all there. Then you can start adding the code connect outputs to inputs to make things happen.

Another advantage of using Robotbuilder is to aid in wiring and troubleshooting the robot. Most years with our team, the wiring gets done before the controls drawings are made and when the software people start to trying to make anything work many things are misplaced or just defective. PID loops are especially difficult to determine problems with motor and encoder direction etc. so troubleshooting takes hours.

To counter these problems, Robotbuilder lets you generate a wiring list so the wiring people have the right information to hook things up. Then, with Smartdashboard, the Livewindow screen is populated with controls for each device you configured. You can see each input and operate each motor independently to find all the physical problems before you have to write code. this has the potential of saving hours trying to isolate code problems from hardware problems.

How does it work? As with any completely new concept, we ran into lots of problems getting things to work. If all the bugs get worked out by kickoff this will be a great boon for new teams and teams that lost their programming expertise. If there are still bugs it could be worse than just creating a minimal program.

Back to the original question, we will use Robotbuilder as that is the only way it will get stressed and debugged. If I understand it I can help new teams that use it because their structure will be predictable. At this point the Java version of all this is more stable than the C++ version so all this should apply to both.

I hope enough competent programmers use these tools to help make them stable as quickly as possible.
Reply With Quote
  #7   Spotlight this post!  
Unread 20-12-2012, 01:54
Ginto8's Avatar
Ginto8 Ginto8 is offline
Programming Lead
AKA: Joe Doyle
FRC #2729 (Storm)
Team Role: Programmer
 
Join Date: Oct 2010
Rookie Year: 2010
Location: Marlton, NJ
Posts: 174
Ginto8 is a glorious beacon of lightGinto8 is a glorious beacon of lightGinto8 is a glorious beacon of lightGinto8 is a glorious beacon of lightGinto8 is a glorious beacon of light
Re: RobotBuilder

I didn't even know this tool existed... This will be an amazing help once build season starts, if only to keep us accountable to the high-level design. I do have one issue though, and I'd like to request a feature.

My request is to have an option to export to the same directory where the .yml is stored. I'd like to be able to store it in a git repository with the rest of the project, but currently there are two problems: a) the export path is absolute, meaning that if two people clone the same repository in different places, they'll have to maintain separate export paths (almost more trouble than it's worth), and b) when I tried to trick RobotBuilder into exporting into a relative path by changing the .yml to use "." as the export directory, it output to the directory I was running it from (~/sunspotfrcsdk/tools/). While this second behavior makes sense from an implementation standpoint, it isn't helpful to users like myself and makes what would otherwise be a tremendously useful tool sadly impractical.

If any of you know how to contact the devs with feature requests, let me know how or just point them to this post!
__________________
I code stuff.
Reply With Quote
  #8   Spotlight this post!  
Unread 20-12-2012, 19:45
rdmarsh rdmarsh is offline
Junior Mentor - Programming
FRC #2186 (Dogs of Steel)
Team Role: Mentor
 
Join Date: Oct 2012
Rookie Year: 2008
Location: Herndon, VA
Posts: 6
rdmarsh is an unknown quantity at this point
Re: RobotBuilder

RobotBuilder is built to generate classes for the CommandBasedRobot template. If you're using that part of WPIlib anyway, RobotBuilder will be a nicer frontend for it than the standard netbeans plugin, and some of its features will be nice, but it's otherwise useless. Otherwise, I doubt it's worth switching just for RobotBuilder, especially given that it's two week from kickoff.

tl;dr use if it you're using Commands already, otherwise stay away
Reply With Quote
  #9   Spotlight this post!  
Unread 21-12-2012, 16:34
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: RobotBuilder

Quote:
Originally Posted by rdmarsh View Post
RobotBuilder is built to generate classes for the CommandBasedRobot template. If you're using that part of WPIlib anyway, RobotBuilder will be a nicer frontend for it than the standard netbeans plugin, and some of its features will be nice, but it's otherwise useless. Otherwise, I doubt it's worth switching just for RobotBuilder, especially given that it's two week from kickoff.

tl;dr use if it you're using Commands already, otherwise stay away
I wouldn't necessarily agree -- besides the fact that there's few reasons not to use command-based in the first place, RobotBuilder also outputs wiring diagrams for the mechanical/electrical teams to follow.
__________________
Research is what I’m doing when I don’t know what I’m doing.
- Wernher von Braun
Attending: Raleigh NC Regional
Reply With Quote
  #10   Spotlight this post!  
Unread 23-12-2012, 18:39
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,102
Ether has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond repute
Re: RobotBuilder

Quote:
Originally Posted by F22Rapture View Post
there's few reasons not to use command-based in the first place
What would you consider to be the top 3 reasons, and why?


Reply With Quote
  #11   Spotlight this post!  
Unread 23-12-2012, 19:54
Joe Ross's Avatar Unsung FIRST Hero
Joe Ross Joe Ross is offline
Registered User
FRC #0330 (Beachbots)
Team Role: Engineer
 
Join Date: Jun 2001
Rookie Year: 1997
Location: Los Angeles, CA
Posts: 8,590
Joe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond repute
Re: RobotBuilder

Quote:
Originally Posted by Ginto8 View Post
If any of you know how to contact the devs with feature requests, let me know how or just point them to this post!
I posted it in the beta bug tracker. I also posted that the public RobotBuilder project doesn't appear to accept tracker entries except from project members.
Reply With Quote
  #12   Spotlight this post!  
Unread 23-12-2012, 21:52
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: RobotBuilder

Quote:
Originally Posted by Ether View Post
What would you consider to be the top 3 reasons, and why?

Let me first say that I'm sure there's many FRC teams to whom much of this wouldn't apply, and who could create equivalent or superior solutions on their own. For most teams though, it's analogous to using the kitbot on steroids vs a homebrew chassis, and using a standard model with modifications to fit specific needs will ultimately work better than developing a custom solution, while reducing overhead and allowing you to focus on the stuff that matters most.

1. Structure. All the code pertaining to the Operator Interface goes in one file. All the code pertaining to the Drivetrain goes in another. Newer programmers tend to find smaller blocks more easily digestible and less intimidating than monolithic chunks of code, ime.

2. Extensibility. While it takes more time, effort, and complexity to get the basic functions of the robot set up than it does with Iterative, it's generally faster to add new functions to the robot once that's done. Once you have the commands written, it could literally take less than an hour to write a fully functional autonomous program by stringing them together, whilst using parts of those same routines in teleop as well.

3. Because that's the direction FRC programming seems to be heading in, and the documentation is becoming increasingly tailored for it. Not an issue for some teams with lots of older code to look back at, or teams with great programming mentors, or students with lots of programming experience. Many newer teams don't have any of those, and and for them the best-documented solution is probably the best one.
__________________
Research is what I’m doing when I don’t know what I’m doing.
- Wernher von Braun
Attending: Raleigh NC Regional
Reply With Quote
  #13   Spotlight this post!  
Unread 23-12-2012, 21:55
Djur's Avatar
Djur Djur is offline
WPILib
AKA: Sam Carlberg
no team
Team Role: Mentor
 
Join Date: Jan 2011
Rookie Year: 2009
Location: Massachusetts
Posts: 182
Djur will become famous soon enough
Re: RobotBuilder

Quote:
Originally Posted by JDNovak View Post
-snip-
Thanks! That's exactly what we're trying to do with RobotBuilder.

Quote:
Originally Posted by Ginto8 View Post
If any of you know how to contact the devs with feature requests, let me know how or just point them to this post!
I'll pass it on.

F22Rapture: We wrote a program from scratch for GearsBot (the VEX robot that's used to show off new code) in less than an hour. Writing code for a FRC robot won't take that little time, but it should certainly be a lot faster than it's been in the past.
__________________
WPILib dev (RobotBuilder, SmartDashboard, GRIP)

Last edited by Djur : 23-12-2012 at 22:59.
Reply With Quote
  #14   Spotlight this post!  
Unread 24-12-2012, 12:56
Woodie Flowers Award
JDNovak JDNovak is offline
Mentor
AKA: John Novak
FRC #0016 (Bomb Squad)
Team Role: Engineer
 
Join Date: Jan 2005
Rookie Year: 1996
Location: Mountain Home, AR
Posts: 52
JDNovak has a reputation beyond reputeJDNovak has a reputation beyond reputeJDNovak has a reputation beyond reputeJDNovak has a reputation beyond reputeJDNovak has a reputation beyond reputeJDNovak has a reputation beyond reputeJDNovak has a reputation beyond reputeJDNovak has a reputation beyond reputeJDNovak has a reputation beyond reputeJDNovak has a reputation beyond reputeJDNovak has a reputation beyond repute
Re: RobotBuilder

An update on the post I made above:

A new Beta version of Robotbuilder, WPILib for C++, and Smartdashboard were released a few days ago and we were able to test it for a couple of hours.

Many of the bugs I alluded to above were fixed. The things we had trouble with may be related to misunderstanding and ignorance rather than real problems.

Our perspective is that Robotbuilder is useful with or without Command based structure. We tried Command structure last year but defaulted back to our old methods because we didn't have time to learn it properly.

Robotbuilder creates code based on the Iterative structure that I prefer because of my Programmable Logic Controller background. managing multiple subsystems with minimal overhead is much easier once you are used to it. We are still unsure whether we will use the Command structure this year but we will use Robotbuilder.

The Livewindow feature works now with a new Test Mode and I'm looking forward to this enabling new teams as well as our newer members to get more involved with debugging. We didn't have time to test a PID loop but we will before kickoff.

I'm much more hopeful that this will be a great addition to the FIRST programming world.
Reply With Quote
  #15   Spotlight this post!  
Unread 24-12-2012, 13:20
MikeReilly's Avatar
MikeReilly MikeReilly is offline
Registered User
FRC #4509 (Mechanical Bulls)
Team Role: Mentor
 
Join Date: Apr 2008
Rookie Year: 2005
Location: Sugar Hill, GA
Posts: 72
MikeReilly has much to be proud ofMikeReilly has much to be proud ofMikeReilly has much to be proud ofMikeReilly has much to be proud ofMikeReilly has much to be proud ofMikeReilly has much to be proud ofMikeReilly has much to be proud ofMikeReilly has much to be proud ofMikeReilly has much to be proud of
Re: RobotBuilder

Thanks for putting this kind of effort into making programming more approachable . Since most schools in the country don't have serious programming classes, this really empowers the students. I look forward to trying this for Java development in FRC.
__________________
Mentor for Rookie Team 4509, Formerly with 1771
Reply With Quote
Reply


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 12:52.

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