Hi, this is my first year doing frc, and only the second year my team has done it, so i was wondering if there were any specific rules for programming, like do we have to us an specific ide, and are all programming languages allowed, also do you guys have any tips on what to program first and any tips, thanks, btw we are using c++, and last year my team used lab view.
There aren’t any rules about the using a specific IDE. However, the IDE that we get at kickoff has the commands to build the code in the right way to run on the cRIO and to send code to the robot built in. These are things that you don’t want to have to figure out yourself until you’re pretty confident with your coding.
I recommend doing as much C++ programming as possible between now and kickoff. It’s less important what you’re coding than that you’re getting practice. Does your team have last year’s robot still together? If so, you could try to make it do the same thing in C++ that it did in Labview.
Hi There!
Although it is always open to change every year, FIRST has allowed FRC Teams to use Java, NI LabVIEW, and C++ to program robots. Some teams are testing using python for programming their robots, but so far nothing has been made official. When programming FIRST encourages us to use Net Beans (Java), NI LabVIEW, and WindWiver (C++) IDEs, although it is possible to use others IDEs for Java and C++ with some additional hacking.
I don’t know your team’s exact situation, but if you are the only programmer on your team then I would highly suggest sticking with NI LabVIEW, especially if you are new to C++. C++ is notoriously unforgiving but offers many advantages such as faster upload speeds. If you are comfortable with the language then by all means make the transition. If not, then LabVIEW may be a better option, as in my experience it seems to be easier to understand for most beginners. Below I have posted some resources to help you with your C++ goal. Good Luck, and we’ll see you at the competition !
Link to WPI FIRST Forge: Here
Link to WindRiver: Here
Link to FRC Getting Started with C++: Here
Link to C++ Tutorial (My Favorite Free C++ Tutorial): Here
Hi, thanks a lot, i already have a some C++ experience, and there is probably about 4 programmers in my team, from my understanding last year we had no programming team, the mentor just made the lab view program (all our robot did was block frisbees) and since i’m the only new person in the prgramming team, i don’t really think i have a say in what we do :P. So is wind river free? if so where do you download it from? thanks again
EDIT: I’m new to chiefdelphi so I don’t know how everything works and i meant to reply to mrscience21.
Heisenburger, welcome to CD, and the FRC programming community. If you want to reply to a specific thing on a post, hit quote, and if there’s any superfluous information, you can remove it from the quote. Additional quotes are initiated by the “QUOTE” tag. If you don’t want to type it in, you can initiate a quote by clicking the little chat bubble between the picture and the # symbol on the bar above the advanced reply board.
As for programming in FRC, as others have pointed out, no specific IDE is required to write the code, but it is required to use Wind River Workbench, a program included in your kit along with Labview, to build and download code to your robot. If you want to get used to a similar interface, Eclipse is nearly the same as far as aesthetics and use to Wind River.
Again, as others have pointed out, WPILib, a programming library built by WPI, is the primary basis for your coding structure; it has (almost) all of the objects and functions you could ever need for your robot. Toss in a couple of your own variables, some flow control if necessary, and you’ve got a working robot.
Some personal advice: If you can, make a testbed platform to test your code and understanding of WPILib and its use BEFORE you get it onto the actual robot. All you need for the testbed system is the control system and a few motors to act as analogues for your real setup. Make sure you coordinate with your team to make sure you know how the robot is being built and what functions your robot will need to perform. Don’t be afraid to ask questions of those building the robot for your programming needs - they hate to hear “we don’t even have a half-decent program yet” when they’re done building as much as you do. Finally, DON’T BE A PERFECTIONIST (except Autonomous, you need to have perfection, or close enough)! Don’t get caught up in making your program of the robot absolutely perfect; make sure everything works how you expect it to. If there are any inconsistencies in performance after it works how it should, the drivers need to handle that on the fly.
Again, welcome to Chief and Good Luck this season!
I would also like to welcome you to the FIRST community. It’s always great to have another software person in the mix. In addition to the excellent ideas posted, here (read and re-read Zuelu562’s personal advice!) I’d like to suggest, that you take a look at the Robot Builder application that Brad Miller (WPI) made available for the C++ and java communities in 2013. We used it to develop the basic program structure for last year’s robot, and then proceeded to make our own tweaks to hash out some dirty details. It definitely helped us get prototyping quickly, with our group of students. I am looking forward to an even better release this year.
Thanks,
Eric
PS: the CD search function is your friend! Use it early, Use it often .
Hi thanks, I was wondering where i could get wind river from.
It was provided in your kit last year, and it will be in the kit again this year.
Actually, you could install the C++11 toolchain on Windows and use that instead of Wind River. I’ve found it to be very stable and my team has been using it all Winter. You can get the installer at http://firstforge.wpi.edu/sf/projects/c--11_toochain under File Releases and the Wiki pages have instructions on using CMake. The toolchain runs from the Command Prompt so you’ll still need something like Eclipse to view and edit your code. Eclipse integration with the toolchain is still in the works for Windows.
It won’t be any issue in your case, but if I remember correctly, you can’t reuse robot code from year to year.* Since you changed from LabView to C++, that is not an issue, and usually the robot is different enough that the same code doesn’t make sense.
Otherwise, there aren’t too many rules imposed by FIRST on programming.
*Unless you made it publicly available after last season, then it would be like a COTS (Common Off-The-Shelf) part