iPhone Driver Station, No Computer Needed

Title pretty much says it all.
I have created a iPhone/iPod touch (sorry iPad users) application, that allows for full, 100% control of the robot without the need for the driver station, becasue the application IS the driver station.

The app features the ability to

  • Enable/Disable the robot
  • Teleop/Autonomous Control
  • Read battery voltage and robot state
  • Full digital and analog I/O
  • 10 joystick buttons
  • 2 virtual joysticks
  • accelerometer control

Future Abilities will include

  • Camera View
  • Robot debug messages
  • Anything suggested that is “reasonable” :smiley:

This app will have a few final improvements to be made (icons, splash screen, etc) but should be submitted to apple shortly. Updates will be posted on the state of the applications submission progress

Also attached are a few images of what the UI looks like so far. As always on CD, any and every comment/suggestion is more than welcome.

Edit:
This application also requires no flashing/specialized reprogramming on the robot to work, joysticks are initialized and read in as normal.

Photo Dec 06, 3 40 10 PM.jpg
Photo Dec 06, 3 40 37 PM.jpg
Photo Dec 06, 3 40 47 PM.jpg
Photo Dec 06, 3 41 02 PM.jpg


Photo Dec 06, 3 40 10 PM.jpg
Photo Dec 06, 3 40 37 PM.jpg
Photo Dec 06, 3 40 47 PM.jpg
Photo Dec 06, 3 41 02 PM.jpg

Can I ask how you got it to communicate with the robot without the driver station.

I always thought the communication was proprietary.

This is great news!

But what about those that do not use the I-phone/I-touch?

Is the program able to be transfers to other systems?

Are you working on an I-Pad version?

Can this be uses for a touch screen laptop computer?

These would be excellent options for various other input devices.

Again, Great work.:rolleyes: :cool:

I knew that creating a custom dashboard was (relatively) simple, but was under the impression that the driver station (I/O, joysticks, enable/disable) was locked down by FIRST. Did they publish an API, or did you reverse engineer it, or what? (Sorry if the answer is obvious, I don’t frequent CD too much)

@davidthefat
#EDIT
I used a mix of packet analyzer (wireshark - a program to analyze the packets being sent to/from the drivers station) and packet definitions found in WPIlib to determine how the robot and driver station communicated so I could make an iPhone application that would communicate in that manner.

@MrHance
It could be written for other systems without a tremendous amount of work, more details about what system you would like it made for would be helpful. Also, i would like to make an iPad version of this to test with, but the lack of an iPad to test with is kinda an obstacle (however i might be able to borrow one from someone)

really want it, cant wait to try it out and possibly break our robot with it.

Looks sweet. I’d love to try this out. I’ll be waiting. Is this app going to be free?

@kgzak
the finesse and approval process will probably take about 3 weeks or so, and im planning on either .99 or 1.99, but im leaning more towards 99 cents.

Are you using it as a fund raiser for your team?

not really, its more of a “help me through college” deal, but if the app turned significant profit, a good portion WOULD go to my team.

This sounds really interesting.

So it should work with any current robot, no matter what the programming language is? Will the cRIO properly recognize the “getY()” function from the Iphone?

Regardless, I can’t wait for it to come out and test it.

That is really amazing. I cant wait to try it out.

Nice idea! i would love to see a port for android phones sometime :stuck_out_tongue:

Ditto!

Me and my friend are hoping to make an android version, it will take me a little time to get used to the android sdk versus iPhone sdk, but I will keep everybody posted on android status :smiley:

Yes, the 2 virtual joysticks are mapped to when the robot does getX and getY.
and for second joystick its getRawAxis(3) - for x, and getRawAxis(4) for y

I have some experience with iOS programming as well as an iPad. I’d be happy to beta test the ipad version or even help with the app if you would find that agreeable. I can always email you copies of NSLog’s output as well as safes of instrument runs. (At least I think you can save trials from instruments)

Good luck
Oliver

I have an iPad, so I could test it and send feedback. If you would like. The current robot I would use has a verity of custom senors and outputs.

-Ray H.

When will it come out and what is it going to be called??

It will most likely be called simply “Drive Station” or “FRC Driver Station” and it will be submitted to apple as soon as I make an icon and a splash image for it.