View Full Version : PCDuino!! Talk about potential
billbo911
01-03-2013, 13:39
Sparkfun (http://www.sparkfun.com) just announced the PCDuino (https://www.sparkfun.com/products/11712). It looks to run on Ubuntu and appears to be powered by an Arm Cortex A8 CPU running at 1GHz.
With a selling price of $59.95, we're sure to see them on future robots if their video processing power is sufficient.
So, who's going to be first to do it successfully??
I'll do it. I have a few other projects I could use this for, so I'll pick one up and try 1444's Kinect code on there and see how it does.
MathMaven
01-03-2013, 19:21
So, who's going to be first to do it successfully??
I see what you did there.
billbo911
01-03-2013, 20:00
I see what you did there.
Yep, but it should have been"FIRST".
Has only a single-core CPU. Streaming a 640x480@15fps Kinect image while also calculating the point cloud could be rough.
Has only a single-core CPU. Streaming a 640x480@15fps Kinect image while also calculating the point cloud could be rough.
Yeah, that was my thought too. The dual-core A9 on our Pandaboard requires some pretty efficient programming to give us the performance we need, so I imagine the single A8 will struggle. But it is worth a shot and if I doesn't work out, I have another project I could use it for. ;)
billbo911
02-03-2013, 01:12
OK, so I really know nothing about the Cortex processor line. So this makes me wonder.....
All the PCDuino pictures I can dig up show a big "A 10" on the CPU chip. Yet, all the specs say "A 8" processor. So, what am I missing?
Additionally, what impact on performance when processing images from a camera or Kinect does the GPU on this board have?
What are the functional differences between this and a BeagleBone? Is the appeal simply the Arduino I/O, or am I missing something?
The actual chip they use is the A10 from Allwinner Technology (lol china) which contains the ARM Cortex-A8. http://www.allwinnertech.com/en/product/A10.html
This board has a faster processor than the BeagleBone and four times as much RAM. Not sure how the 3D acceleration will compare. Looks like it may be a bit smaller.
Having access to the GPIO is certainly nice, but not really necessary for vision stuff.
Is this thing better or worse than the Rhaspberry Pi?
I've been looking to buy one of those, but if this is better I might just buy one of these.
Edit: pcDuino has 1gb of RAM compared to the Pi with 512mb. I don't know much about the processors though!
taichichuan
04-03-2013, 11:16
The ARM Cortex A8 in the AllWinner A10 includes both the Mali-400 GPU and the ARM NEON instruction unit. The NEON is used for audio/video CODEC decoding (e.g., vision processing) as well as running DSP-like functions. This brings quite a bit more horsepower than the RPi's ARM 11. Add the extra memory and you should have a board that's faster than the Beagleboard XM and more capable than the RPi. The unknown here is AllWinner. I'm not familiar with them as a SoC vendor, so I can't comment on their reliability.
Sparkfun claims that they have an Arduino shield adapter board in the works and they also claim that they've got the Arduino library ported to the pcduino. This could be really interesting if it actually works.
HTH,
Mike
DominickC
04-03-2013, 13:11
http://www.amazon.com/Rikomagic-MK802IIIS-Bluetooth-OpenVG1-1-Certificate/dp/B00B18K4T2/ref=sr_1_1?ie=UTF8&qid=1362420355&sr=8-1&keywords=mk802iiis
I purchased this last week. It's got a dual core 1.6GHz A9 processor, quad core graphics, 1gb of DDR3, and 8gb of onboard NAND flash, expandable to 32gb via a micro sd card.
Has 802.11 n/g/b (WiFi), and supports USB to ethernet dongles.
IO:
1 USB
2 Micro USB (1 for power, the other for data IO. Comes with a micro usb to usb converter)
1 male HDMI out for video.
Comes stock with Android 4.1 Jelly Bean, but with a lot of work - and three separate operating systems for setup - the MK can run Picuntu, an ARM compile of Ubuntu.
protoserge
04-03-2013, 13:38
We have successfully tested the MK802 Mini Android PC with a Kinect http://www.amazon.com/MK802-Android-Google-Player-Allwinner/dp/B008BFXOZE/ref=sr_1_3?s=electronics&ie=UTF8&qid=1362422106&sr=1-3&keywords=mini+android+pc. It should be noted that the vision processing is for target identification and control loop with the cRIO via Ethernet. The image can be streamed at a very low rate to the driver station. The MK802 has some heat issues.
I believe more work will be done using the MK808 http://www.amazon.com/Computer-Dual-core-Android-RK3066-ownshop/dp/B009PJ3AZ4/ref=sr_1_2?s=electronics&ie=UTF8&qid=1362422106&sr=1-2&keywords=mini+android+pc
We did not use the Kinect or Mini Android PC at all during Palmetto (suspected comm issue or memory leak that needs resolving, so we left it unplugged).
Received my RaspberryPi and PCDuino this weekend! Piiiccccsssss :-)
http://i100.photobucket.com/albums/m4/catacon/IMG_20130310_112546_zps23e7de9b.jpg
http://i100.photobucket.com/albums/m4/catacon/IMG_20130310_112614_zps6c97ac5b.jpg
billbo911
10-03-2013, 13:55
I was visiting my son in Denver this week, so I made a run to SparkFun (http://www.sparkfun.com) in Boulder.
I now own a PCDuino. Time for the learning to begin!
I know next to zero about programming in Ubuntu-Linux. I have an end goal of using this as a out board video processor to identify and track vision targets. Then to make the position information available to the cRio via I2c, or Serial, or Ethernet.
I guess the first thing I need to do is get a basic understanding of coding in Linux. Next I will need to figure out how to interface a USB webcam. Once I get that working, I will need to work on image processing, then lastly, how to communicate target info to the cRio.
I know there are plenty of white papers and links here on CD and I plan on taking advantage of those resources. But, the first piece of help I need is a basic primer in working within Ubuntu-Linux (or Lbunutu on the PCDuino). Then I need a bit of help interfacing the camera.
So, where do I begin?
protoserge
10-03-2013, 16:43
You're doing almost identical work to our team :cool:
I know they got a single core ARM working (the Mk802 Android PC) with the Kinect, but wanted to harness the power of the Mk808 dual core for more processing power. The Ubuntu install on the Mk808 has had a couple hangups that need to be corrected before we can explore this.
DominickC
10-03-2013, 18:05
A quick update - I've got Lubuntu running on my dual core MK802IIIs (quad core graphics, might help with vision). It runs normally, with minor networking idiosyncrasies.
billbo911
15-03-2013, 19:38
I'm working on learning to function in the Linux/Ubuntu environment. Books are coming!
One thing that appears to be an issue right now is that the Lubuntu version that came with the PCDuino does not contain libUVC (http://pcduino.com/forum/index.php?topic=3611.0).
Being a total noob, I have no clue, yet, how to address this.
Any clue how I would add this module/library to Lubuntu so that the board will recognize and work with a webcam?
taichichuan
17-03-2013, 00:57
I'm working on learning to function in the Linux/Ubuntu environment. Books are coming!
One thing that appears to be an issue right now is that the Lubuntu version that came with the PCDuino does not contain libUVC (http://pcduino.com/forum/index.php?topic=3611.0).
Being a total noob, I have no clue, yet, how to address this.
Any clue how I would add this module/library to Lubuntu so that the board will recognize and work with a webcam?
UVC is and interface for USB webcams from vendors like Logitech among others. You can install the package using "sudo apt-get install luvcview". That's a video capture framework. It may not be everything you need, but is't a start. You can likely find more info at this link:
http://www.ubuntu.com/download/arm
Lubuntu is derived from this distro.
HTH,
Mike
billbo911
02-04-2013, 11:30
So, a little progress to report.
Considering so much of this is very new to me: Linux, Ubuntu (Lubuntu), OpenCV, Python etc., I am making progress.
The first thing I need to do is figure out how to run this system entirely from a bootable uSD. The storage onboard just isn't quite enough to do everything I need.
I have the board running with UVC and can validate the USB Video Camera is working.
I have installed OpenCV, but not the latest version. Hopefully those libraries will be available soon. I could always build it myself from source, but I really am not comfortable, let alone knowledgeable, with that process. Again, I need more storage space to do this properly.
I need to install a Python IDE, but I am already at 82% used space onboard, so I am really tight on space for additional software. Again, see the "first thing I need to do".
There are lots of examples available to see how others are doing this on RPi, BeagleBones, MK802/MK808 etc. But without having access to the tools and knowledge I need yet, I am struggling a bit. Any advice is welcome!!!
billbo911
18-04-2013, 00:47
OK, now that a fully uSD bootable image is available, I have the board acquireing images and processing them at close to 20 FPS. I can track a rectangular target of any color, once I have calibrated for that color. It will generated (X , Y) coordinates for the four corners as well as the center of mass of the object tracked. Thank you Team 3847 for providing access to your code so I could learn the process.
At this point, I need to figure out how to send this tracking info to the cRio. Network Tables is one option, but I'm sure there are other ways. This too will be new to me, so any help is appreciated.
billbo911
28-04-2013, 20:05
Got it!!!
Today I figured out the last piece of the puzzle.
I'm currently getting approx. 20fps of target tracking data. I can send it over to Labview at the same rate. I have not tested this on the cRio yet, but I see no reason to think the same vi running on the cRio would behave differently than on my PC.
The four corner coordinates of the target are merged into a 24 character string and passed to LabView. From there, what you choose to do with it is up to you.
Thanks to FIRST Team 3847 Spectrum for their guidance and advice during this process.
Also check out the Udoo. It has a quad core ARM CPU and is also Arduino compatible, although it is larger and more expensive.
http://www.udoo.org/features/
vBulletin® v3.6.4, Copyright ©2000-2017, Jelsoft Enterprises Ltd.