Thursday, November 20, 2014

Robie Jr. Update: If I Only Had a Brain....

So months have gone by... oh ok, more than 18 at this point... since my initial post about my work resurrecting Robie. However, soon after that post I quickly realized the limitations of the Arduino setup in terms of doing anything I would find interesting and so Robie went back on the shelf. 


Now I have Pi.... a Raspberry Pi B+ in fact. 700mhz arm computer with 512MB of RAM running raspian linux. Amazon had a kit for sale that included all the essentials to get rolling and quite a bit more for farting around with it for $80.



In the last few nights have have:

  • Successfully setup the Pi (pretty much comes ready to roll)
  • Setup VNC access from my mac
  • Built a couple of perl scripts on the Pi to make noise on an attached speaker
  • Loaded Arduino dev on the Pi from my Mac
  • attached the Arduino from my earlier tinkering to the Pi and tested out an accelerometer
  • rooted and installed Cyanogen mod to my old Nexus 7 tablet... no I do not know exactly what I intend to do... Animated face? Additional Source of data/storage/processing power? Alternative main brain to the Pi? 
My to do List:
  • Attach Camera Module to Pi
    • Take picture and access from Macbook (not via VNC)
    • Stream Video to VLC on Mac
  • Connect Arduino back up to Robie Motors
    • Have Arduino Motor control originate from Pi program (Python?)
    • Have Pi stream motor status to Mac (start of telemetry...)
    • Have Pi accept motor control inputs from Mac 
  • Stream accelerometer data back to Mac via Pi
  • Connect Ping sensor up to Arduino
    • Ship data to Pi
    • Ship data to Mac
  • Connect Servo up to Arduino
    • Control from Pi
    • Control from Mac Via Pi
    • Build Pan/Tilt solution for ping sensor(s)
  • Connect Nexus 7 (or more likely 4... think the 7 is just an expendable test bed) to Pi
    • Access nexus 7 accelerometer status? Stream via App? 
    • Use Nexus 7 camera ? 
    • Animate face for Robie ? 
    • Play Robie sounds through Nexus 7
  • Connect Robie speaker up to Pi or Arduino
    • Play Robie sounds 
    • Rig Robie Contact points for original sound effects
    • Design new Robie sounds... can Pi OCR and Pi Cam combine to let Robie do Text to speech? 
      • Pi OCR from Pi Camera to generate Text sent to Nexus 7 Google powered Text to speech routine?
  • Design and implement all above into Robie chassis or alt base solution? 
    • Scavenge Roomba Drive system? (probably need beefier motor control solution....)
    • Design new arms\Gripers in sketchup with micro servo's and linear actuators in mind... 
  • Start working on integrated wifi based tele robotics interface for running Robbie via WiFi from Mac
  • Develop Autonomous Routines for navigating\mapping the house
    • Add sensors for routine mapping of House status
      • Temp
      • Humidity
      • ??
  • Build charging base
    • Wirelss? 
    • Solar? 
Kind of a rough layout of components I ultimately want to integrate inside Robie:

Yes, I know it is quite possible to run all the stuff hanging off the Arduino directly from the Pi via the GPIO pins. But then I'd have an arduino gathering dust :-) I have a parrallax propeller board sitting around as well and it may get incorporated at some point. On a more serious note, I am rather interested in the complexities of interfacing multiple compnents like this. 

Given my general pace of progress on Robie through the years I imagine I should have this done by the time I am 50... which means I am more than half way their already :-) Though in all seriousness I actually may keep fairly steady progress on this for a while as I think I have answers for how to get through most of the above list with bits and bobs I have in hand. The Raspberry Pi really is a marvel in terms of what it makes possible for such a low cost. As such it represents something of a "missing link" for my long term crazy thoughts with regards to animating my old buddy. If I actually do manage most of this the end goal is not a cheesy toy upgrade... I do have a notion to put together a bit more serious rover. Robie Jr. just makes for a fun test bed that lets me make good on some ideas I have had bouncing around in my head for a loooooooong time.