The firmware for the RS Wedge can be found on GitHub.
Communication PC → RS Wedge : CLI
To enable easy interfacing for humans as well as machines, a command line interface has been used. The Arduino-CommandLine library has been used.
Below you can find a capture of a command line session with the RoboSapien:
Welcome to minicom 2.7
OPTIONS: I18n
Compiled on Feb 7 2016, 13:37:27.
Port /dev/ttyACM0, 18:02:16
Press CTRL-A Z for help on special keys
>
> action 196
> action 197
> action 198
> audio 0
> action 198
> action 197
> action 197
> action 196
> action 195
> audio 1
>
Commands
Two commands are implemented "action" and "audio".
The "action" command executes one of the Robosapien standard actions. On a standard Robosapien, you would have used the remote to start these actions. A list of actions can be found in the source code of the RS wedge.
The "audio" command switches the Robosapien's audio source : "0" selects the audio jack as source, which allows the connected laptop to route speech or music to the Robosapien. "1" selects the Robosapien controller as source.
Communication RS Wedge → Robosapien : IR protocol
The easiest way to probe the original protocol is at the back of the main board, at the connector named "HEAD". Remove this PCB, solder your probes to "GND" (black wire of "HEAD"-connector) and "IROUT" (white wire of "HEAD"-connector).
The IR-protocol is quite simple. The default state of the IR-OUT signal is high. The message starts with a low pulse that lasts 6.26ms and is followed by databits 7 downto 0.
- 0-bit = 0.843ms H + 0.843ms L
- 1-bit = 3.512ms H + 0.843ms L
Using this information, you should be able to figure out that the screen capture shows the 0xCE command.
According to Aibohack, the protocol uses 1200baud. I noticed quite a lot of jitter between bits. Pulses of 909ms wide are not uncommon.
Keeping the Robosapien awake
- 5 minutes after startup, the Robosapien goes to sleep. In sleep mode, no commands can be executed. The "WAKE UP" must be sent to wake the unit up. The Robosapien's wake-up routine is the same as when you power it up. It's quite noisy. You don't want to do this more than once a day.
- Robosapien's manual : "After approx. 2 hours of uninterrupted sleep, he'll power himself off to save energy".
Question: "How to keep the Robosapiens on indefinitely while keeping it still & quiet?"
Answer: Sending 0xEF once a minute keeps the Robosapiens on.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.