Host Anki Cozmo on LetsRobot.tv
pip3 install socketIO-client configparser
Setup the Cozmo SDK on your computer using their instructions:
Clone Nocturnal's fork of the runmyrobot scripts:
Edit runmyrobot/letsrobot.sample.conf:
- Enter your owner, robot_id, camera_id from LetsRobot.tv
- change [robot]
type=nonetotype=cozmo - change [tts]
type=nonetotype=cozmo_tts - change [ffmpeg]
type=ffmpeg-arecordtotype=none - Save file as letsrobot.conf
brew install ffmpeg
- Using the Cozmo app enter SDK mode and connect your mobile device to the host machine.
- Execute the LetsRobot controller using
python3 letsrobot.py - For audio streaming execute python send_video.py YOURCAMERAID 0 --no-camera &
Please see Customizing Your UI for more help
[
{
"button_panels":[
{
"button_panel_label":"movement controls",
"buttons":[
{
"label":"Left",
"command":"L"
},
{
"label":"Right",
"command":"R"
},
{
"label":"Forward",
"command":"F"
},
{
"label":"Backward",
"command":"B"
},
{
"label":"LookUp",
"command":"Q"
},
{
"label":"LookDown",
"command":"A"
},
{
"label":"LiftUp",
"command":"W"
},
{
"label":"LiftDown",
"command":"S"
},
{
"label":"LightToggle",
"command":"V"
}
]
},
{
"button_panel_label":"animation controls",
"buttons":[
{
"label":"drat",
"command":"0"
},
{
"label":"giggle",
"command":"1"
},
{
"label":"wow",
"command":"2"
},
{
"label":"tick tock",
"command":"3"
},
{
"label":"ping pong",
"command":"4"
},
{
"label":"meow",
"command":"5"
},
{
"label":"wufwuf",
"command":"6"
},
{
"label":"lookup",
"command":"7"
},
{
"label":"excite",
"command":"8"
},
{
"label":"backup",
"command":"9"
}
]
},
{
"button_panel_label":"say something cute",
"buttons":[
{
"label":"hello",
"command":"sayhi"
},
{
"label":"watch this",
"command":"saywatch"
},
{
"label":"love you",
"command":"saylove"
},
{
"label":"bye",
"command":"saybye"
},
{
"label":"happy",
"command":"sayhappy"
},
{
"label":"sad",
"command":"saysad"
},
{
"label":"howru",
"command":"sayhowru"
}
]
},
{
"button_panel_label":"more fun stuff",
"buttons":[
{
"label":"singsong",
"command":"singsong",
"premium":true,
"price":1000000
},
{
"label":"lightcubes",
"command":"lightcubes",
"premium":true,
"price":0
},
{
"label":"dimcubes",
"command":"dimcubes",
"premium":true,
"price":0
}
]
}
]
}
]
In addition to the standard chat commands, Cozmo has several specific chat commands available to the owner. You can type these into the chat box on the robot page.
.anim NAMEthis will play the NAME animation..forward_speed ###this will allow you to adjust how fast Cozmo moves forward / backwards..turn_speed ###this will adjust how far Cozmo turns left and right..vol ###This turns Cozmos volume up or down [0...100].- `.charge X' If Cozmo is on the dock, force the changin g state. If Cozmo is off the dock, mark the charging state to start as soon as Cozmo docks [on|off].
.stay XSet Cozmo to stay locked in the dock, regardless of charge state [on|off]..annotateEnable / Disable the annotated view, to see what Cozmo is seeing..coloror.colourEnable / Disable colour. Colour reduces the resolution of the video.
NOTE : These instructions are out of date. The current method to stream audio involves changing the audio_input_format to avfoundation, video type to ffmpeg and no_camera to true.
The startAudioCaptureLinux function in send_video.py calls ffmpeg with alsa input. If you want to stream audio from your mac use -f avfoundation -i ":0" in place of -f alsa -ar 44100 -ac %d -i hw:%d.
For example:
audioCommandLine = '/usr/local/bin/ffmpeg -f avfoundation -i ":0" -f mpegts -codec:a mp2 -b:a 128k -muxdelay 0.001 http://%s:%s/%s/640/480/' % (audioHost, audioPort, robotSettings.stream_key)