![]() |
Rookie team seeking some programming advice
We're a rookie team this year and we were hoping to seek some advice about the coding for FRC.
Here's our situation: We want to use Java to program our robot as it's the most familiar to all of the programmers on the team. However, I just learned that it's Java ME, which means some of the stuff we want to use (such as certain linear algebra libraries for AI) may not be compatible. I've taken a look at C/C++, but I'm not sure if it's doable under Linux. I only saw mentions saying that Java can be developed under Netbean under Linux (Anyway to change that to eclipse by any chance?). Is Java the best choice here? Since our programming team (which includes myself as the lead programmer) has little experiences on "bare metal", how should we gain more experience? Is it beneficial to start something such as a mock interface and some code (maybe some algorithm such as object tracking instead actual control)? Thanks for any input. |
Re: Rookie team seeking some programming advice
Quote:
Quote:
With respect to the linear algebra libraries, that is a concern. However, I don't think it's a large concern -- the vast majority of teams don't use non-FRC libraries of any sort. Quote:
Quote:
The programming environment uses NetBeans plugins -- I don't think it's possible to use Eclipse instead. Quote:
Good luck! |
Re: Rookie team seeking some programming advice
Quote:
@ shuhao: And if you were wanting to program "bare metal", Java would seem not to be the best choice anyway, since it's intended to be abstracted from the machine by the VM. If you haven't yet experienced the joys of programming something that reacts to the outside world in realtime through sensors and actuators, the paradigm shift associated with that kind of programming may be one of your hurdles. If you're looking for a way to get a head start, that might be a fruitful area for study. |
Re: Rookie team seeking some programming advice
Most of the underlying math primitives (e.g. forward and inverse trig, exponents, square roots, etc.) are present in the FRC Java implementation - they went ahead and implemented more than the bare bones J2ME spec requires (albeit in a different package structure than J2SE...you need to do some digging to find where some of the classes live).
This does mean that adding J2SE JARs is generally not going to work. That said, I have found that this is seldom a big problem in FRC. Linear algebra and hardcore AI are not used by most teams, and those that do usually supply their own matrix math functions (for example). If you have the source for a library you would like to use, you may be able to get it to compile for FRC Java by changing the import statements for certain math/container functions and classes to point to the correct FRC Java packages. However, if your library uses a lot of J2SE-only classes, this approach would not work. |
Re: Rookie team seeking some programming advice
Quote:
I have a good understanding of the theory for AIs that's like these, but I have yet to find the the time to implement the theories behind them, especially on actual hardware, rather than simulated environments. And since we are a rookie team, we have no prior experiences telling us how long it takes to write basic functions etc. Quote:
Edit: Just noticed http://www.chiefdelphi.com/forums/sh...ad.php?t=87260 Since my primary language (also currently as lead programmer) is Python, and I have some numpy experience (as oppose to no experience in any Java Lin. Alg library, if they manage to get it ported, and I could try helping, too), is it worth a try to get Python onto cRIO and then go from there? A text editor (geany) + ftp (nautilus) sounds like heaven to me (minus the initial wind river stuff, but not a big deal) |
Re: Rookie team seeking some programming advice
Quote:
|
Re: Rookie team seeking some programming advice
Hm. Ok. I'll keep a distant eye on it, then.
What about unittesting? Is that commonly done? |
Re: Rookie team seeking some programming advice
Quote:
|
Re: Rookie team seeking some programming advice
Hey guys. Although my team primarily uses Java, our mentor tested out some C++ code that he compiled and ran on his Ubuntu machine. I believe he used something called ucpp
https://github.com/nikitakit/ucpp I actually have no C++ experience, but I figured you guys should at least check this out. Good luck! |
Re: Rookie team seeking some programming advice
Hi, we are having a Beta Test Seminar Right now at www.ustream.tv/channel/beta-test-conference (December 10, 10:00 AM-12:00 PM PST)
|
| All times are GMT -5. The time now is 11:22. |
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi