Ok, so I learned (very basically) how to use LabVIEW this year as my team’s default programmer and I want to improve for next year. I used a lot of basic code and copied a lot from examples other teams had, and I’d like to know what would make really good practice programming projects. I won’t have access to my team’s robot, so I’m really looking for projects that will help me get more familiar with different functions and possibly make more advanced code.
Also, I found one new recruit who is interested in programming, but she’s more interested in written code. I can teach her the little that I know in LabVIEW, but I also wanted to be able to help her try out Java. We’re planning for her to be the main programmer after I graduate next year, so any ideas about how I can start her off and which language I should use?
I am currently our teams programmer. We are a text based team, we have experience with java and c++. I personally love text based compared to LabVIEW. But we(team 5122) might have a solution for you dilemma, EasyJ4FRC. This program acts as a logic based programming, except it outputs in Java. Our mentor created EasyJ and is now having me with on it, trying to fix bugs and add cool features. I suggest you and your recruit check it out at http://easyj.team5122.com/
I’d suggest that you use the examples and simulator to work on more sophisticated robot techniques. You can do things like make PID loops to drive a fixed distance from a wall, integrate sensors and more advanced techniques for both auto and tele. You can debug, profile, and get more comfortable with the programming tools in LV this way as well.
Similarly, look over the Java examples and build some projects with it, possibly using the linux based simulator. This will also allow the two of you to compare the languages, the libraries, the learning materials, and benefit from the combination. If you have questions, feel free to post.
I really, really, really like EasyJ. I just played around with it and it’s very simple and I’m definitely going to use it!
I’m also going to look through the examples for LV again. I tried using some during build season when I was just learning, but I didn’t even know how to find the little blocks. As for the simulator, how do I get that?
To learn programming, you can write any sort of code you want - and that’s what I suggest - writing something that you want to write. Desire to stick with it and make it work because you want a specific functionality is a far better motivator than “learning” for the vast majority of people.
Robotics is a bit different than most programming people do today due to the level of feedback required. I suggest that you get or build a robot of some type, with a drive system, some sort of manipulator, and some sensors. Programming it to do complex tasks at a single button (or better yet, going to full autonomous) will improve your skill at programming robots more than coding a video game, editor, or a business or math application. Even if you have to do this in a different language, the patterns and skills you learn will carry over to other languages.
There is also a lot of documentation on LABview and tutorials at http://www.ni.com/academic/students/learn-labview/ although this is a more generic set (not specific to FRC) I learned a lot about how LABview works by going through these.