Go to Post I'd say start working on other forms of wireless communication. Scout using Morse Code, hand signals, light flashes (LOST anybody?)... Paper cups and string are cheap too... - AndyB [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 21-07-2013, 22:18
Charles Boehm's Avatar
Charles Boehm Charles Boehm is offline
Build Team Lead, Weapons Officer
AKA: Charles
FRC #2175 (The Fighting Calculators)
Team Role: Leadership
 
Join Date: May 2013
Rookie Year: 2013
Location: Minnesota
Posts: 56
Charles Boehm is a jewel in the roughCharles Boehm is a jewel in the roughCharles Boehm is a jewel in the rough
Re: Programming Advice for Newer FRC Team?

Our team has been using LabVIEW for the last few years but this summer we have been trying to make the change to C++. Somewhere in the process it rendered one of our team laptops unusable for sometime(I don't know the details on what it was), i'm not saying don't use it, but be careful.
  #2   Spotlight this post!  
Unread 23-07-2013, 12:49
kuyan kuyan is offline
Registered User
FRC #4666 (Robowolves)
Team Role: Communications
 
Join Date: Apr 2013
Rookie Year: 2013
Location: Roseville, CA
Posts: 3
kuyan is an unknown quantity at this point
Re: Programming Advice for Newer FRC Team?

Our team is/was in a similar position. Ultimate Ascent was our first season, and we were a LabView shop. I'm not on the programming team, but as I understand it, we stayed away from Java/C++/et al. and close to LabView because LabView seemed simpler and the other languages seemed more daunting and a bit lower-level than we needed.

There's already a load of better advice above this post, so I'll keep this short. Whichever language you decide to use, you need to have a mentor with experience in that area. There are forums, IRC channels, etc. that you can go to if you need help, but it's not the same as having someone with specific experience on-site. Especially with the lower-level and more complex languages like C++.

In short, you really need someone on the team who's been bitten by everything your programming language can bite you with.
  #3   Spotlight this post!  
Unread 23-07-2013, 13:16
BigJ BigJ is offline
Registered User
AKA: Josh P.
FRC #1675 (Ultimate Protection Squad)
Team Role: Engineer
 
Join Date: Jan 2007
Rookie Year: 2007
Location: Milwaukee, WI
Posts: 947
BigJ has a reputation beyond reputeBigJ has a reputation beyond reputeBigJ has a reputation beyond reputeBigJ has a reputation beyond reputeBigJ has a reputation beyond reputeBigJ has a reputation beyond reputeBigJ has a reputation beyond reputeBigJ has a reputation beyond reputeBigJ has a reputation beyond reputeBigJ has a reputation beyond reputeBigJ has a reputation beyond repute
Re: Programming Advice for Newer FRC Team?

We use Java because that's what the mentors prefer and because the AP classes use Java.

An FRC Java environment has a couple more benefits too -- it's (low-effort) cross-platform (Linux or Mac users can easily integrate into the team), and a simple Netbeans+plugins IDE setup is 10 min or less depending on your download speed
  #4   Spotlight this post!  
Unread 23-07-2013, 15:31
Ilovepineapples's Avatar
Ilovepineapples Ilovepineapples is offline
Pineapple Enthusiast
no team
 
Join Date: Jul 2013
Rookie Year: 2007
Location: United States
Posts: 28
Ilovepineapples is a splendid one to beholdIlovepineapples is a splendid one to beholdIlovepineapples is a splendid one to beholdIlovepineapples is a splendid one to beholdIlovepineapples is a splendid one to beholdIlovepineapples is a splendid one to beholdIlovepineapples is a splendid one to beholdIlovepineapples is a splendid one to behold
Re: Programming Advice for Newer FRC Team?

In my experience with programming FRC robots I have found LabView to be the easiest language to pickup if you have little/no experience. The interactive tutorials and exmaples that teams and NI have posted will allow you to get your robot up and running reliably pretty fast. The one downside is that NI LabView tends to not be as powerful as C++/Java.

To put it in perspective you generally see LabView being used for testing in the Manufacturing industry whereas you will see Java/C++ used more in the Development process for the Engineering/Defense Industry.

Also as a note most high school classes that give college credit (Known as AP classes in MN) will teach students Java. With the knowledge I learned in FRC I was able to take the java AP exam without actually taking the class in high school.
  #5   Spotlight this post!  
Unread 23-07-2013, 16:14
404'd's Avatar
404'd 404'd is offline
Lead contributor of sweg
AKA: Josh
FRC #0967 (Iron Lions (9-sits-7))
Team Role: Alumni
 
Join Date: Mar 2011
Rookie Year: 2009
Location: Marion, Iowa
Posts: 86
404'd is a name known to all404'd is a name known to all404'd is a name known to all404'd is a name known to all404'd is a name known to all404'd is a name known to all
Re: Programming Advice for Newer FRC Team?

Quote:
Originally Posted by Ilovepineapples View Post
The one downside is that NI LabView tends to not be as powerful as C++/Java.
In terms of the direct function of the program, what can you do in C based languages or Java that you can't do in LabVIEW? I would say LabVIEW is just as "powerful" as any text language, but it takes some knowledge to know what to use LabVIEW for and how to do it in LabVIEW. In FRC, LabVIEW works well for programming for the robot, and can be simple or complicated depending on how you use it.
__________________
Driving "Career":
2012 GKC: Quarterfinals w/ 6th seeded alliance | Wisconsin: Quarterfinals - 3rd seeded alliance captains
2013 GKC: Quarterfinals w/ 5th seeded alliance | North Star: Regional winners, 2nd seeded alliance captains
2013 CMP: Curie Semis w/ 2056 + 3990
  #6   Spotlight this post!  
Unread 23-07-2013, 18:04
Ilovepineapples's Avatar
Ilovepineapples Ilovepineapples is offline
Pineapple Enthusiast
no team
 
Join Date: Jul 2013
Rookie Year: 2007
Location: United States
Posts: 28
Ilovepineapples is a splendid one to beholdIlovepineapples is a splendid one to beholdIlovepineapples is a splendid one to beholdIlovepineapples is a splendid one to beholdIlovepineapples is a splendid one to beholdIlovepineapples is a splendid one to beholdIlovepineapples is a splendid one to beholdIlovepineapples is a splendid one to behold
Re: Programming Advice for Newer FRC Team?

Quote:
Originally Posted by 404'd View Post
In terms of the direct function of the program, what can you do in C based languages or Java that you can't do in LabVIEW? I would say LabVIEW is just as "powerful" as any text language, but it takes some knowledge to know what to use LabVIEW for and how to do it in LabVIEW. In FRC, LabVIEW works well for programming for the robot, and can be simple or complicated depending on how you use it.
You are correct. You can accomplish anything in LabView that you can accomplish in C++/Java but it is a completely different way of looking at it. When looking at LabView you almost have to look at it from an EE point of view rather than a CS point of view. Both are valid forms of programming that can do advanced tasks but LabView is wiring boxes to make it drive whereas C++/Java is writing words to make it drive.

For the record I much prefer LabView as a programming language overall but there are some applications I would rather write in C++/Java. For me LabView makes programming a little more creative and fun but that is just my 2 cents.
  #7   Spotlight this post!  
Unread 23-07-2013, 16:17
E Dawg E Dawg is offline
... is not done with FRC yet.
AKA: Ethan
FRC #0159 (Alpine Robotics)
Team Role: Mentor
 
Join Date: Feb 2013
Rookie Year: 2012
Location: Fort Collins, CO
Posts: 267
E Dawg has much to be proud ofE Dawg has much to be proud ofE Dawg has much to be proud ofE Dawg has much to be proud ofE Dawg has much to be proud ofE Dawg has much to be proud ofE Dawg has much to be proud ofE Dawg has much to be proud ofE Dawg has much to be proud of
Re: Programming Advice for Newer FRC Team?

We used LabView for programming in past years and have enjoyed it. This year we will be switching to C++. I find that LabView is good for creating robot code due to its intuitive nature concerning machinery, but a downside is longer compile times and its contrasting nature to other languages. In the end, though, it is your choice and you may want to ask the mentors what they think you should do, seeing as they all have prior experience.
  #8   Spotlight this post!  
Unread 23-07-2013, 16:29
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: Programming Advice for Newer FRC Team?

There's a lot to say about all three languages.

Some people argue Java or Object-Oriented programming is better to learn. I disagree. I don't think anyone can truly learn programming by learning only one language/paradigm. A very wise man once said that the most important programming language you learn is your second. When you learn the first language, you learn to design software around the constructs, syntax, and programming practices of that language. When you learn your second (ESPECIALLY if it's vastly different language paradigm) you learn to apply the design skills much better and choose the best method of implementation for a given project, and it really opens your mind to other potential methods for writing software.

We've chosen LabVIEW for various reasons. We prefer the language and diagnostic tools, and feel that they outweigh the downsides that there are. Jim and I both work heavily with C and model-based programming (I do a TON of simulink now), so it all makes sense to us.

All three languages are used heavily in the 'real world'. While it might be true that LV is less commonly used for production software (it's used EXTENSIVELY for prototping, one-off test pieces, and research), Simulink and the similar autocoding languages are used heavily for embedded controls stuff.

Whatever you do, don't restrict your thinking to only one method of writing code. OO is not always the answer. Sometimes it is. Learning two dissimilar languages will teach that.



@Ilovepineapples, all of the defense work I've ever done was in C and Simulink (autocoded to C). We just didn't have the CPU resources to throw away on garbage collection, dynamic memory allocation, and interpreted code. On a related note, automotive safety standards specifically prohibit dynamic memory allocation, heaps, and reuse of memory for different items (aside from the main stack), so Java is ruled out entirely. I haven't read a military vehicle safety standard, though, maybe they do crazy things.
__________________
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
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 03:30.

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