Check the following Tips and Tricks for Robosapien:

RSV1

RSV2

RSMedia

General

RSV1 Hacker Hints Arm wire tip RSMedia Hacker Hints Recommended Batteries
Eye Patterns IR Codes Recommended input voltage
IR Codes Balancing trick Bluetooth tip
Cam stabilizer Custom PC IR interface
External Power and Sound
Robosapien PC software
Quick walking
Volume Control
Remote Control Set
Manual Pickup
Enhanced IR receiver

 

Post Tips and Tricks

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


1. RS Hacker Hints

The RoboSapien is designed for modifications.  Here are some RS hacker hints.

First off, I warn that completely replacing the RS brain should only be attempted by those with a lot of time, electronic skills, and programming ego.  You don't have to though -- if you carefully remove the connectors and lift the RS motherboard, on the back you will find all inputs and outputs labeled next to gold pads convenient for soldering interface wires.

- M means motors,
- P means input or output port,
- VDD is raw battery voltage (caution: fluctuates wildly)
- Vcc is regulated 3.6v (100mA but don't overload it)
- Gnd is universal ground.

The only way to input commands is by direct serial input to the IR-OUT pin (active low signals, 1200bps), and through the P1.4 (right) and P1.1 (left) touch sensors.  In three I/O ports, you have his entire body now under control.

The 6 outputs for the eyes (P2.0 to P2.5) can be used as a very effective digital-level feedback source.  If you look carefully, you'll see his eyes give distinct patterns for all conditions.  Mapping these will tell your uP everything it needs about what the robot is doing.

The chest area is mostly empty space and ideal for mounting any brain add-ons.  However, glue tinfoil (or equivalent) across his sternum first so the waist and shoulder motors do not cause interference.

Most of the secret I/R codes are designed so that a controlling computer can cause him to dovetail commands very quickly (up to 30 baud) and even be programmed at very high rates from a nearby I/R port.  Some people will already have noticed that it is possible to move the robot by the remote faster than he can move himself.  Taken to the limit, the robot can be a very responsive "horse" to any uP controller or I/R equipped PDA or laptop.

 

Posted by M. W. Tilden


2. Eye Patterns

Posted by M. W. Tilden


3. IR codes

The IR Carrier is 39.2kHz. Data is modulated using a space coded signal with 8 data bits (data clock is 1200Hz, but actual data rate varies depending on the data).

 

NOTES:

 

Programming Commands (including shift variants)

 

SECRET UNDOCUMENTED CODES

Several different launch codes (Executing the main program)

Useful? secret codes

WORK IN PROGRESS, not useful [or at least no significant difference detected]

(c) 2004 RoboSapienPet
http://www.aibohack.com/robosap/ir_codes.htm


4. Cam Stabilizer

Here´s a look at a camera stabilizer built from a pc i/o port shield, fishing wire, one rubberband, two paperclips and a couple of small nuts and bolts.  The camera mount is from an old piece of predrilled bent aluminum stock.  The camera is pulled either left or right by the robo's swinging gait and snaps back to horizontal due to the one rubber band.  While my cam lacks a fast capture it still improved greatly on keeping the image steady.  As of now I have had to use a usb wired cam. The frame of the camera mount is on a bearing made from a screw and a plastic grommet so as to let the cam swing up and down on each side.

Posted by Ushi


5. External power and sound

This weekend I hacked in an external, wired power and sound source into my RoboSapien. This lets me use it as a always on extention to our talking smart house ( http://misterhouse.net).

I control the RS via a USB RedRat IR interface, sending out a 'arm in' command every 5 minutes to keep it from going into sleep mode. Whenver MisterHouse speaks, it will send random commands to make the RS animated, also optionally sending it's speech into the RS speaker. Those of you familar with Perl code can review it here:
http://misterhouse.net:8080/bin/browse.pl?/code/common/robot_robosapien.pl

I just created a 5 MB, 4 minute video of it saying some goofy things here:

http://misterhouse.net/public/movies/mh_robot1.wmv

I was amazed at how well that little internal speaker plays sound!

Bruce Winter
misterhouse.net


6. Robosapien PC Software

Also see this movie

Posted by Andre


7. Quick walking

Robosapien walks much faster with both arms down and fully eextended to the sides (so the hands are open). This gives him a little extra side to side action, enabling his feet to move more forward before planting. The gain in speed is about 150 to 200 % normal, depending on the terrain.

Posted by Robby the Robot


8. Volume Control

Here's my first little hack on this guy. I had a submini 1K linear pot laying around from the inline volume control on an old set of Koss headphones. Snip-snip, solder-solder, quick bit of whittling with an x-acto and a little bit of hot glue here and there, and I now have a nice little volume slider for my robot.

It's tucked away nicely behind the robot's head, where it's barely noticeable but easily accesible. I can adjust the sound from full blast to a barely audible whisper. In fact, the sound of the motors easily drowns out the yawns, farts and burps. Now I can try out my new animations after midnight without waking my wife and scaring the cats...

Also see the pictures

Posted by Rob


9. Remote Control Set

I've made a remote for use with PocketPC or Phillips Pronto that is easier to use than the original remote. I have included a picture and the .ccf file.

 

The file can be used with the Phillips Pronto or any remote software that supports Phillips .ccf configurations, such as TV Remote Controller from www.pdawin.com . The remote features macros for one-button programming of some of the more popular hidden features, such as the autonomous walking mode. This is a work in progress, so some macro buttons will not function properly. The functions can be customized in the free ProntoEdit software available at www.remotecentral.com.

Posted by Robby The Robot

 

 

 

 

 

 

 

 

 

 

 


10. Recommended Batteries

From testing, a record lifetime of 28 hours was recently obtained with a latest-version RS from the factory on Energizer Alkalines. Your mileage may vary but that's still pretty good.

The reason we don't recommend NiCads is that under strong load conditions (like when his arms are trapped under a pillow while dancing, for example), there is the danger of overloading his motor driver chip. As long as you're careful though, they should do you fine. Nicads will provide a constant power source so he can perform more uniformly. (You might also notice that the loop mounts on the soles of his feet make excellent points for a floor-mounted autocharger.)

NiMH can be used but to compensate for the lesser weight you have to raise his outside footpads on each foot by at least 2mm (placing #4 washers under his footpads works fine). He will walk a bit shallower but won't stumble. Some adjustment may be necessary.

And to really optimize his battery life, a 1 farad, low internal-resistance supercap (7v rating) across his battery contacts on the motherboard really extends his battery life by reducing dynamic current loads.

Thanks.

Mark W. Tilden
WowWee Ltd.


11. Recommended input voltage

The RS uP needs signals to be within 0.3v of Vdd (3.3v) before problems arise. The I/O pins are not TTL compatible unless you use an appropriate level translator like a 47k resistor for inputs, or a N channel FET or transistor for outputs. 74LCXxxx style up-shifting buffers also work (74LCX245 comes to mind).

I regret to say that direct 5v TTL driving or sinking RS uP I/Os will result in progressive brain disorders for both the robot and the user, and is strongly discouraged.

The outputs from the motor driver are TTL levels, but are quite noisy as they drive motors.

Hope this helps.

Mark W. Tilden
WowWee Ltd.


12. Manual Pickup

Also see the movie

Posted by Martijn Jakobs


13. Enhanced IR Receiver

To make Robosapien receive better signal cut a slit in a card toilet roll holder, wrap it in foil and stick it on the back of his head Robosapien will now receive better signal and still be able to be controlled from all angles.

Posted by Charlie Reynolds

 

 

 

 

 


14. Bluetooth tip

I found out that my wireless cam has a much larger reach when I shut town all Bluetooth devices (my phone, PDA, and BT adaptor for my PC). Bluetooth is operating on the same frequency as my wireless cam which is 2.4 GHz, So Bluetooth was 'scrambling' the video signal...

Posted by RSV2


15. RSV2 arm wire tip

The arm wires of Robosapien V2 seem to have some room for extra cabling, this is probably a hackers help from Mark T.  so you can hack your RSV2 without seeing the extra cabling.

Posted by RSV2


16. RSV2 IR Codes

www.aibohack.com has deciphered the IR codes of the RSV2 controller, you can download them here

Posted by RSV2


17. RSV2 Balancing Trick

Mark W. Tilden has send me the following picture. It shows a RSV2 balancing on his heels.

Do try this at home

Posted by Mark W. Tilden


18. Custom PC IR interface

How to control Robosapien with PC ?

IRDA port is not able to control Robosapien, the protocol is not compatible with Robosapien infrared remote control. There was only USB UIRT until this day. But price is cheaper than Robosapien (Oops)
With several components, we are able to make an interface IR connect thru a default serial COM port (RS232).
We need some common components: IR LED, resistors, CMOS 4011, 2 transistors, 2 Condensators, an IR Transmiter of an old mouse…

We use PC port COM2: RTS (pin 7) and Ground (pin 5)
We use Visual Basic 6 to transmit IR remote command to Robosapien.

IR command info:

Timing based on 1/1200 second clock (~.833ms)
Signal is normally high (idle, no IR).
Start: signal goes low for 8/1200 sec.
Data bits: for each of 8 data bits, space encoded signal depending on bit value
Sends the most significant data bit first
    If the data bit is 0: signal goes high for 1/1200 sec, and low for 1/1200 sec.
    If the data bit is 1: signal goes high for 4/1200 sec, and low for 1/1200 sec.
BTW: The first bit (msb) is always 1 (valid codes are from $80 to $FF)

Carrier is 39,2 kHz

VB example:

Private Sub Command2_Click()
Dim i As Byte
Dim resultat As String
Dim Octet(7) As String
    With MSComm1 'configuration du port
        .CommPort = 2 'On utilise le port COM2:
        .Handshaking = 0
        .RTSEnable = False
        .Settings = "115200,n,6,1"
        .SThreshold = 1
        .PortOpen = True 'ouverture du port
    End With

    CodeHex = “85” 'Octet que l’on veut transmettre en hexadécimal



    For i = 1 To Len(CodeHex) 'On converti Octet en Binaire
        Select Case Mid(CodeHex, i, 1)
            Case "0": resultat = resultat & "0000"
            Case "1": resultat = resultat & "0001"
            Case "2": resultat = resultat & "0010"
            Case "3": resultat = resultat & "0011"
            Case "4": resultat = resultat & "0100"
            Case "5": resultat = resultat & "0101"
            Case "6": resultat = resultat & "0110"
            Case "7": resultat = resultat & "0111"
            Case "8": resultat = resultat & "1000"
            Case "9": resultat = resultat & "1001"
            Case "A": resultat = resultat & "1010"
            Case "B": resultat = resultat & "1011"
            Case "C": resultat = resultat & "1100"
            Case "D": resultat = resultat & "1101"
            Case "E": resultat = resultat & "1110"
            Case "F": resultat = resultat & "1111"
        End Select
    Next i
   
    Hex2Bin = resultat

    For i = 0 To 7
        Octet(i) = Mid(Hex2Bin, i + 1, 1)
    Next i

'******************************************** Start Command = 8x1200Mhz
    MSComm1.RTSEnable = True 'start
    MSComm1.Output = "111111111111" '=0,833 ms
    MSComm1.Output = "111111111111" '=0,833 ms
    MSComm1.Output = "111111111111" '=0,833 ms
    MSComm1.Output = "111111111111" '=0,833 ms
    MSComm1.Output = "111111111111" '=0,833 ms
    MSComm1.Output = "111111111111" '=0,833 ms
    MSComm1.Output = "111111111111" '=0,833 ms
    MSComm1.Output = "111111111111" '=0,833 ms

'********************************************* Handle octets left to right
    For i = 0 To 7 '***** pour chaque bit de MSB à LSB
        If Octet(i) = "1" Then
            MSComm1.RTSEnable = False 'bit=1
            MSComm1.Output = "111111111111" '=0,833 ms
            MSComm1.Output = "111111111111" '=0,833 ms
            MSComm1.Output = "111111111111" '=0,833 ms
            MSComm1.Output = "111111111111" '=0,833 ms
            MSComm1.RTSEnable = True
            MSComm1.Output = "111111111111" '=0,833 ms
        Else
            MSComm1.RTSEnable = False 'bit=0
            MSComm1.Output = "111111111111" '=0,833 ms
            MSComm1.RTSEnable = True
            MSComm1.Output = "111111111111" '=0,833 ms
        End If
    Next i

'******************************************** Close port
    MSComm1.RTSEnable = False '
    MSComm1.PortOpen = False

End Sub

Text and pictures by Cedric Durand (edited by RSV2)
 


19. RSMedia Hacker Hints

The RSMedia is designed as a hackers dream, everything the QRIO was supposed to be without the cost.
A simple mod and you can telnet straight into it's LINUX brains and run your own programs,
or just use our own conditional interaction editor to set up your own behavior routines.

Posted by Mark W. Tilden


Info and News | Hidden features | Tips and Tricks | Hacks and Mods | Movies and Downloads | Guestbook | Forum | Links and resources

Copyright © 2004-2007 www.robosapien.tk. All Rights Reserved.