Beagle Board Challenge: Telepresence Machine
Click here to VOTE for Project Virtual Presence!!!
What is the project?
A telepresence car that can be manipulated over wireless network.
How did we do it?
- Download Ubuntu builds for Beagleboard. Flash the board's NAND and load the build image onto the SD card.
- Ubuntu builds for Beagleboard http://ynezz.ibawizard.net/beagleboard/ | These builds are optimized and are very light so you need to do some customization. But you'll feel much better than using a full version cause that's gonna kill all your patience... We do need a GUI for video streaming, so we used the Lucid build with xfce4.
- Detailed steps for installing Ubuntu on Beagleboard http://www.snowbotic.com/archives/33
- Connect and set up the Maestro Servo Controller. The driver software can be downloaded on pololu's website. You just need to compile it for ARM on the beagleboard. It's fairly simple to do once you get all the packages you need. (This is one of the reasons that we chose Ubuntu over Angstrom. Some packages just don't exist for Angstrom...) After compilation, try it out on the beagleboard to make sure it works.
- Pololu Maestro Servo Controller User's Guide http://www.pololu.com/docs/0J40
- Use VLC to stream the webcam video through UDP. We find that given the limited power of the beagleboard C4, MPEG-2 is the transcoding setting with the shortest delay.
- VLC simple streaming tutorial http://www.videolan.org/doc/streaming-howto/en/ch02.html
- Wireless network. We used the beloved Belkin G USB Wireless Adapter. It's a plug-and-play for Ubuntu Lucid. (Another boom for Angstrom...) We did have some problem with the school wifi. So we set up our own wireless network with Netgear WNDR 3700. (Not sure if that is allowed by the department...Hmm...)
- Wireless G USB Network Adapter http://www.belkin.com/support/ab/c/Default.aspx
- Access the Ubuntu on Beagleboard from another computer through openssh. Then run the MaestroControlCenter remotely.
- Openssh set up ABC https://help.ubuntu.com/8.04/serverguide/C/openssh-server.html
- When you run ssh command, make sure you do
ssh -X user@ip(yes, X has to be capital) so that the GUI will run.
- Permission denial issue. We had this problem with the webcam and the servo controller. The easiest way is to do
sudo chmod 777 device_location.
- Mechanics. After making sure all the parts works, now it's time to put it together. Tapes and a sharp knife shall do the magic. We used the Traxxas Stampede monster truck and it is a good fit for the job. We did have to replace the original springs with stronger ones since we are adding a whole bunch of things.
- Car base: Traxxas Stampede XL-5 http://www.traxxas.com/products/models/electric/3605stampede
- That's about it! Enjoy!
What should have happened but didn't?
- Although Angstrom is very light and is a fully functional OS, we still eventually decided to go with Ubuntu.
- As much as we love it, Beagleboard C4 has limited power and there're things that just can't be done. We find that one way video streaming is the best we could the achieve. So we used iPad to stream the other video line. We'd love to have used the board for all the tasks.
- Sound. We just didn't have enough time to work on this. Our audio device was there during the test but the actual dev file can not be found... Seems to be an issue with the current Ubuntu build.
What did we learn?
- Check your hardware before you doubt the software.
- Estimate the hardware power before establishing function expectations.
- Make a detailed plan before investing on actual parts.
- Proceed as fast as possible during school time. Do NOT expect people to show up during winter break and help you. After all, it's college...
- Doing a homework or a lab is easy. But doing a complete engineering project is a totally different story...
Pictures & Videos
- Project Intro Video. Turn up your volume!~ The #evp parser function was deprecated in EmbedVideo 2.0. Please convert your parser function tag to #ev.
- Ang Li
- Lianfei Shan
- Andrew Coles
- All the code needed are linked in the How-to section.
We feel truly fortunate to be able to have such a great opportunity and generous support from Texas Instruments. At the beginning everything seemed easy. Then it turned into a great awakening call - what we can do seemed so limited and what needs to be done seemed unreachable. But after all the whining, suffering and desperation, the moment the car moved forward made it all worthwhile. We not only learnt the technical details, but also felt by heart what engineering truly means. Now that this project is concluded, I can finally relax my nerves a bit, have a tight sleep and, of course, wake up to the lab due on Saturday. ;-P