After building 1.0, and thumping the inz n outs using raw materials, I'm finding highjacking the Robosapien an easy thing to do. Here are some pics of the prototype rigging. The lobotomy is just an infrared interface, so he has what equates to a spinal tap, sending the same commands you could send from the remote control. The RPI is already driving( thanks to Gbot-1.0 software development), all I had to do was change the throttle controls to 'walk-forward, walk back' ect.
The only problem is, LIRC is hit and miss, but I'm tweaking it now, and getting near 95% of the commands sent to drive the limbs accurately.( sometimes he wont lift his arms) As for Power, I connected directly to the battery terminals in the feet, (I didn't want to start the project by ruining the controller board in a soldering mishap), and power it with an old PC ups. The RPI is powered with a portable cellphone battery recharger( I know right!) and it also powers the camera and wifi.
The camera is 1.5mp usb2.0. it's the fastest I had in my scrap bin. It looks strangely cool. Anyways.. gonna paint it all black.
To make this work is very simple. Go get that old VCR out of the basement, and it's remote out of the kitchen drawer. Remove the IR receiver from the VCR and attach it in tandem( spliced) with the original Robosapien IR receiver mounted in the top of his head. Remove the transmitter LED from the VCR remote, and attach it to your RPI's GPIO.
I'm not versed in the in-s and outs of why this works, but it does. However, the VCR LED seems to only work when pointed at the original Robosapien receiver, and not the one that was in the VCR. what ever, it works! I suspect it has to do with timing technical mumbo jumbo that has less to do with making it work than knowing how it works. As for the wiring and config, I fond an excellent doc that got me through it here:.
You dont need to program the controls. I found a nice file that works well enough to tweek here:
(copy this file to /etc/lirc folder.) You can tweek the delay and the frequency until you get 100% movement. Mine is set to frequency 38671 with GAP 1.
So, there are 4 things you must do
1 download the software noted on http://www.jamesrobertson.eu/blog/2013/may/19/2326hrs.txt
2. edit /etc/modules as described: This will be the GPIO you decide to use. I used a 470k resister to protect my pi.
3. edit /etc/lirc/hardware.conf as described
(save it in /etc/lirc folder and change the frequency and GAP until you get full control)
I used python and imported os,system then called irsend directly which is awkward but since I don't speak Cython, that's that!
TEST: it is pretty unlikely he will move the first time you transmit initially, so send the HIGH5 a few times, or send STOP and see if they eyes flash, then you know your freq is close enough to tweak Remember, STOP and RESET are the best testbeds. Watch the eyes to see if your commands are being received, they will blink..
irsend SEND_ONCE Robosapien HIGH5
A list of things you can do with irsend :LIRC - Linux Infrared Remote Control