Mike: My name is Mike Anderson, I’m with Team 116, actually I’m Chief Scientist for the PTR Group out of Herndon, Virginia. My team is also out of the Herndon High School there in Herndon, Virginia, and this is the new RoboRealm Controller. One of the things that they’ve done this year is they’ve switched away from VxWorks in the power PC to an ARM-based Linux controller, this is using the Xilinx Zynq 7020 Dual-Core Cortex-A9 at 667 megahertz. So the controller now with the FPGA wires out all the digital IOs, we see relays, analogs, PWM, both Spy and I2C.
This particular board here is run in the ardupilot code, it is an STM32 that’s providing me with compass, gyro and accelerometer, plus all the orientation for the robot because these particular wheels that you see here, those are called mecanum wheels, and these wheels give me the ability to move in any direction just by changing the way the joystick is pointed, and this helps me keep track of what the orientation of the robot is. This then talks to these devices through CAN bus. These devices are motor controllers and they can pull about 80 amps off of the individual batteries.
The battery is typically a sealed lead acid 12-volt car battery, so I don’t happen to have that attached here, but we do have that on this other bot that’s sitting next to us. So that’s pretty much it, it’s a brand new system, it is really interesting for the kids, it doesn’t require a lot of programming knowledge, they can get up and running real quick, and it gets Linux into the high schools.
Tim: Can you talk about the voltages that this board controls?
Mike: Yes, this controls 12 volts, so the voltage regulator here brings both 12-volt and 5-volt off, the board itself has got 6-volt, 12-volt, 5-volt, 3.3-volt and 17 volts coming off of it depending on which interface you happen to pull off. So this actually runs quite well against brownouts, it will actually run down to about 6 volts off of the battery because when we’re driving these big motors, they tend to eat batteries really quickly. The key thing – and one of the big difference is in this year is the addition of CAN bus and all of these devices are interconnected with CAN bus. So it gives the kids an opportunity to see real world use of a real world bus that they’ve seen in their automobile and not knowing it was there.
Tim: Can you contrast this with (unintelligible).
Mike: Excuse me?
Tim: Can you contrast this with what it replaces.
Mike: Ah, yes, so this replaces a 400 megahertz power PC running VxWorks. Both of the controllers are made by National Instruments, but the National Instruments C RIO controller that was last year’s control system. The big problem that we had with that was at 400 megahertz we were basically using the entire controller in order to just drive the wheels. So the students were adding BeagleBone Blacks, Raspberry Pis, UDOO boards, you name it, they were adding it and supplementing the control on the bot to be able to do computer vision, to be able to do target tracking, to be able to add new capabilities that we really needed and couldn’t just get enough horsepower out of that 400 megahertz power PC. With this now we have a dual-core 667 megahertz, this gives us enough horsepower to be able to do some machine vision and a little bit of processing that we couldn’t do before.
Tim: So now you’ve got Linux on board, if you want to run in entirely Open Source projects, what are the gaps?
Mike: Yes. Well, it turns out that they do have a pretty complete Open Source solution at this point. We do have the compilers available for Linux, it runs Eclipse, so it’s an Open Source development environment, there are three different languages you can use, you can use LabVIEW, you can use Eclipse, I mean, you can C, C++, you can use Java. The C and C++ and Java both use Eclipse, the LabVIEW uses the proprietary National Instruments Interface. That only runs under Windows, but the C and C++ and the Java you can do development on both Mac OS and on Linux. So some of my squad have already switched over, they've punted all the Windows 8 stuff and just dumped all that, converted everything over to Linux, and they are up and running, so they’re real happy.
Tim: Yeah, kind of the cautionary tale about attaching some things here.
Mike: Yes, well, because of the kind of power we’re dealing with, you can pull 80 amps off of one of these car batteries real quick, and so as a student start working with this power they say, well, it’s only 12 volts, you go – no, no you don’t understand, 12 volts at 80 amps will kill you. So part of our job as mentors is to make sure that the kids have high protection, they come back with all their fingers and toes, but more importantly when they’re messing around with the electronics that they understand that 12 volts is a lot of power when you are talking at those kinds of amperages. So whenever they plug things in, if they short something out they will see a great big spark. I have seen people that were messing around with the screwdriver and they actually arc welded the screwdriver to the frame. So there is some serious stuff here, and as mentors our job to try and keep them from doing anything really off the wall.
Tim: And as well it's the UART as well is kind of a false frame.
Mike: Yes, now the UART, that’s an interesting problem because most of the students that have been using Raspberry Pis and BeagleBones and Arduinos are used to having UARTs that don’t have level shifters on them. So they’re used to be able to plug an Arduino and a Raspberry Pi back to back and everything just works. This is actual RS-232 voltages and if you plug it into an Arduino it toasts it. So that’s kind of cautionary tale, always read the fine print and it turns out there is no fine print on that, you find out the hard way the first time and then you pass the word around through the websites in order to let everybody else know exactly what it does.
Tim: And the same board is not limited to the students during FIRST?
Mike: No. Absolutely. This board is commercially available, you can get it from andymark.com. Those are the people that we’ve been buying in from. They sell for like $235 plus or minus... depends, and the libraries and everything are all Open Source, you can access them, so if you are just a run-of-the-mill person, you don’t have to be associated with FIRST. I mean all of this stuff I did not buy through the team. I bought it myself. This particular setup as it stands with the cameras and everything is probably about $800 for all the parts, but this can run a robot anywhere from this size all the way up to the full 120 to even, this will actually run up to about 200 pounds worth of robot. And do it at about 35 miles an hour across the field. So you’ve got some serious horsepower here. It’s just a question of being able to harness it correctly so that it – harness it for good, not for evil.
Tim: How did you make the documentation for your team?
Mike: Well, the documentation – because this was the very first year, it was a lot of beta type documentation -- and we were left to our own devices to try and put meters on voltages, let’s take a look, hook up in an oscilloscope, see what it does, oh it does that, it’s running at 400 kilohertz, not 100 kilohertz for the I2C. So there is a lot of things that we had to discover electronically with test equipment and that’s just simply because it hadn’t been documented yet, so...
Tim: Can you share whatyou found with other team s in some way?
Mike: No, we absolutely – no, no I’m just kidding, of course, yeah, we have a website called chiefdelphi, chiefdelphi.com. And anytime we find something like this where for instance with the RS-232 being a different voltage than everybody expected, we put that out on chiefdelphi as a big warning that says please read this, these are things you need to know for your particular competition, don’t fry your Rob, they’re expensive.