I’m looking at ways to get a rural 2014 rookie team off to a great start and figured that a summer drive train/t-shirt cannon build would be a great way to give students some hands on training before our first official build season. One of the biggest stumbling blocks is going to be a controller. I’m not particularly keen on the idea of plunking down any of our initial budget on a cRIO (especially since one is provided in the rookie KOP and they’re due to be phased out starting in 2015) and so I’ve been looking into cheaper, alternative control methods including RobotOpen or a really barebones Turnigy 9x setup. Has anyone had any experience either learning or teaching RobotOpen programming to students with no CS or programing backgrounds, and how is the transition from that to LabVIEW? Most of the interested students that I’ve met with are freshmen and sophomores, so I’d love to have a programming environment that is (relatively) easy and accessible to as many of them as possible.
I have not played around with RobotOpen, but the environment looks very similar to the Arduino programming environment (somebody confirm this), which is actually fairly easy to learn. The transition from that to LabView will actually be a step down, because RobotOpen is text-based whereas LabView has a simple GUI that is really only a matter of dragging blocks and connecting them together, as opposed to entering lines of text-based commands.
Definitely get where you’re coming from. My personal preference would be to give kids an opportunity to mess around with and explore both LabVIEW and RobotOpen before the season starts to see what sort of preferences show up. Are there any low cost IO boards (>$200) that can be programmed in LabVIEW to control, say, a small number of PWM outputs?
I can’t think of many IO boards greater than $200, but a lot of them that are less. Apparently, LabView has an Embedded module for nearly any ARM7, ARM9, and Cortex-M3 microcontrollers. I don’t personally use Labview (it’s WAY different compared to C++ or Java).
I haven’t had a chance to use the robot open hardware but I modified the software to use on my own arduino board. I really like it overall. The HTML5 chrome driver station was easy to install and use. It is also Open Source and uses the Arduino environment which allows for easy programming and modification using a very well documented programming language. I wish there was a little more documentation on setting it up (the video on the website was outdated) but I would bet that 221 systems would be happy to help if you run into issues.
The Turnigy 9X/9XR is a much simpler system. We mainly use it on our past comp robots that have had there functions removed. It doesn’t allow for advanced programming besides simple digital logic programming. The 9X and it’s receiver does not have any analog or digital inputs and only communicates in one direction. It is also difficult to use with solenoids and spikes.
Pros & Cons
9X/9XR
pro:
-Super easy and quick to set-up.
-Cheap (70$ for the controller and 5-12$ per robot!)
-Very Reliable FHSS 2.4 ghz communication (doesn’t require a wireless network!)
-Very long range 1-12 KM
No need for a computer or external controllers (the gimbals on the 9X/9XR are excellent)
Compact
-simple to program (onboard)
cons:
-No advanced prrogramming
-Difficult too interface with solenoids and spikes
-No inputs
Robot Open:
Pro:
-The ability to replicate your Crio program besides computer vision
-Uses a well documented programming language
-Fully replicates Crio I/O
-Backed and supported by a FIRST related company
-Example code
-Easy pneumatics and spike interfacing
Cons:
-requires a wireless network
-requires a computer
-may be a little more difficult to setup
Hopefully I’ll have a chance to write a white paper on the 9X setup soon. I’ve been considering releasing a low cost board (~25$) that allows you to program using the arduino enviroment and easily interface with solenoids,spikes and inputs.
One possibility that my team did its rookie year was to construct a practice chassis (you could add a t-shirt cannon on top if you want) planned to be completed mechanically right before kickoff. Meanwhile, just train your programmers and electrical guys whatever way you see fit. Then when kickoff comes, you will get your cRIO and can hook up the robot with an frc legal system. So while your programmers are waiting for the mechanical team to do their job, they can get some practice with the practice robot.
I’ve been a mentor with Team 885 for seven years, but have always been on the hardware side. So now I’m trying to learn programming as a dead newby.
I’m using the Arduino and am building a small bot. So far I’ve been able to make the Arduino control Victors and Spikes, drive, steer, pick up balls, shoot them, and so on. Going to tackle wireless next.
RobotOpen is intended to be extremely user friendly…the Arduino IDE has thousands of examples. The RobotOpen Sasquatch Board is an Arduino Mega in a custom format…the RobotOpen shields run on top of an Arduino…all code is executed inside the Arduino.
The RobotOpen Library we provide handles all the Ethernet communication and gives you specific commands for controlling PWM outputs, sensor inputs and all joystick/gamepad operations.
Our Driver Station App is getting better everyday. It handles all functions related to the USB gamepad as well as “enable/disable” functions.
We’d love to have your business. And we’re always keen to help.
The HTML5 chrome driver station was easy to install and use. It is also Open Source and uses the Arduino environment which allows for easy programming and modification using a very well documented programming language. I wish there was a little more documentation on setting it up (the video on the website was outdated) but I would bet that 221 systems would be happy to help if you run into issues.
We’re in the process of updating and improving as we speak. In the meantime to hesitate to reach out with questions.
Our school has a class partly focused on Arduino programming in grade 10. Most students pick it up pretty quickly. There are tons of tutorial out there to follow. I’ve actually found that students tend to learn it faster than LabView which we teach a bit of in grade 11 and 12.
If you want to try out C++ and have some NXTs laying around my team 2704 has a full curriculum of Object Oriented C++ all the way from the basics of text based to the full robot code.