In case you were searching for more ways to reuse for FRC control system, Waterloo Labs posted a new video demonstrating how to control a car with the FRC-cRIO and an iPhone/Laptop/power wheels.
This would be a great thing to do in the FIRST offseason, with all this hardware laying around, just begging to be played with. Not to mention a great way to train the new kids on everything.
I’m really interested in how they got the iPhone to control the car. I’ve always wanted to do something like that to control our robot (not during competition, of course), but I wouldn’t know where to begin. Ideally, I would not have to put new code on the cRIO, and just have the iPhone run a “Virtual Driver Staton” app (like the one shown here http://www.chiefdelphi.com/forums/showthread.php?t=75431&highlight=virtual+driver+station).
I wrote an app to drive 971’s robot. I reverse engineered the driver station protocol and wrote an iphone app to drive. I’d say joysticks work a lot better. I steered by using the ipod like a steering wheel, and had an onscreen throttle and ball manipulation buttons. I found that I ended up just pegging the throttle full forwards, and then steering, which didn’t work all that well when playing another robot in a practice match.
To do it, you need to either jailbreak your iphone/ipod, or pay for the $99 developer fee for 1 year worth of licensing, mess with all the encryption, and use a mac. I wrote an app for work over the summer, so I already had access to a developer key and a fair amount of knowledge on how to do the graphics.
I’m really bad at remembering this kind of thing, but I’ll see if I can get a video up online.
Did you need to put any special code on the cRIO, or not since the iPod Touch was emulating the DS, like you said earlier?
Also, were both the iPod and the Gaming Adapter on the robot both connected to the blue router?
After reading through the article my first reaction was… gee I hope one of those Jags doesn’t burn out for some reason and lock the accelerator in the “on” position. Could be problematic. :ahh: :rolleyes:
Very cool idea regardless though, even cooler with the different kinds of portable devices you can link to it as well. Just need webcam feedback and you wouldn’t even have to be near the thing to drive it! :rolleyes:
The current implementation hard codes the specific buttons to drive 971’s bot, and provides no way to change what virtual button acts like what physical button. If you would still be interested, understanding that you would have to change your code on the robot to use the stick mapping that I hard coded into the app, I can work on getting it on the app-store as is. (I might change the colors …)
Or, if someone has ideas about an easy way (in terms of developer time) to set which buttons do what, I’m all ears and would be willing to implement it after Finals if it isn’t too hard.