I hinted that the DIY Drones team had been working with Google on an Android-compatible RC interface board. Now that I/O is over, I can give the details. We're calling it the "PhoneDrone board for Android", and it's a way to connect any Android device (2.3.4 or higher) to the world of RC and UAVs.The board has 8 channels of RC in and out, with PWM-to-PPM conversion and multiplexing between RC and Android control. You just plug the Android's phone USB connector into the board and you have two-way communications with RC gear and any other board, such as APM.
That means that you can switch between RC control and Android control or mix the two. An example would be "fly/drive by wire". You steer your vehicle via RC, but an Android phone does the actual control using its onboard IMU. On a car, that would allow every turn to be a high-speed controlled drift, for instance (we may show something like that at Maker Faire).
Or, with a UAV, you might have the Android phone doing high-level image processing and object tracking, sending mission commands to an autopilot board such as APM. You might also want to use the phone's long-distance wireless instead of an Xbee for two-way telemetry.
This can either replace APM if you've got equivalent code running on Android, or compliment it with the Android device doing image processing or long-distance wireless comms.
Note that the pictures here are of an early prototype and some branding has been photoshopped out, pending final silkscreen approval.
Specs:
- 8 Input&output PWMs
- Native USB host master (MAX3421)
- Native USB slave (Atmega32-au)
- Arduino Compatible
- Atmega2560 as main controller
- Atmega32-u2 as FTDI substitute and PPM encoder
- Three spare serial ports to communicate with other boards (including APM)
- Build-in 5V-2A switched power regulator (input range 6V - 36V)
- Build-in 3.3V LDO power regulator
- Android TM compatible...
- All Atmega2560 pins exposed.
- High quality PCB is ROHS/lead free, Gold immersed.
- Dimensions: 4" x 1.6"...
Comments
Thank you for answering my question. Somebody said that I was trying to catch you in something, but that was not the case. I was a bit confused as everything I had found indicated that APM was not using a real-time operating system. But I think there may be some confusion in part of your response. You state that you use the Atmega interrupt system for predictable timing. I don't know what your background in embedded operating systems is, but that is exactly what the name "real time operating system" qualifies. All events must be processed before a certain deadline. This uses interrupts as well, along with almost all event-driven systems.
While your comments on the IOIO are correct as far as I can tell, I would still say it can easily be used as a replacement for this board. Unless you were planning on using the phone as the autopilot system, I don't know why you would need PPM input. And very few platforms I know of would need to charge the phones battery. Finally, the special debugging mode is easily activated on all android phones by enabling the settings option. Though others may be happy to pay the extra cost, I personally would need more evidence that it is brought something more to the party to justify the x2 price tag.
First: the IOIO is not designed for RC use. The PhoneDrone has an onboard PPM encoder and RC multiplexor. There are other special RC functions on the PhoneDrone board, such as 8 RC channels in and out.
Second: the IOIO is not part of the new Google ADK standard, so it will not work natively with Android. You have to go into a special debugging mode, and so apps designed for ADK won't work with it.
Third: the PhoneDrone board is designed to work with Android power standards, so it can charge a phone if it's plugged in or be powered by the phone. The IOIO board needs to be powered separately. Because the PhoneDrone is a derivative of Google's reference board, it's both hardware and software compatible with the Android ADK. The IOIO board is not built on the Google reference standard.
Sorry for the simple question but I am technology challenged and oftentimes miss the obvious.
Ever since my wife came home with a Motorola Xoom I have thought what a nice wireless display for an OSD or real time video from a RC plan, car, or copter. Would the PhoneDrone interfaced in some way with the Xoom allow this if the software was available?
This sounds remarkably a lot like the SparkFun IOIO device, http://www.sparkfun.com/products/10585
Can you comment on differences? (oh and the sparkfun model is half the price)
https://store.diydrones.com/ProductDetails.asp?ProductCode=BR-Phone...
I think that a EKF filter would just be scratching the surface of what is possible with a on-board android system. Start thinking about how to integrate video object tracking, motion flow analyzing/image stabilization, high level AI navigation and other goodies.
I think we will soon see some dedicated UAV Android hardware with a form factor and camera system more suitable for UAV usage then a smartphone.
Whoops! I just reread Androids open accessory API notes and it is backwards compatible to 2.3.4... My mistake :|
-
1
-
2
-
3
-
4
-
5
of 5 Next