TiLAR v2 brainstorming notes

TAI Architecture

Bold items are high priority.

Near-Term Tasks

  • Command queues
  • Command types (abstract and implemented)
  • Wii remote connectivity

Action Creator

  • Robot preview (done)
  • Sliders for robot “puppeteering” (done)
  • Combine robot preview with sliders (done)
  • Make the interface usable
  • Sounds in-line with motion
  • Another layer/track for facial expression (modify Troy's format again)
    • It would be great to make a separate facial expression track, with a file separate from the motion. That way we can use the same robot motion with different facial expression tracks (or vice-versa). The same with sounds. The way to do this in practice is to load all “track files” that are to be played at the same time, then drop them all into the same queue sorted by timestamp. Then just execute whatever commands are within the current timeframe. With this, we could very easily slightly modify the robot motion (for variation) without worrying about messing up the sound and facial expressions synchronization. To implement this with the socket robot communication, we'll need to add the ability to upload a new program to Troy on the fly.

User Interface

  • Action chooser (Vimitha's work)
  • Logical flow
  • Show Tim's robot preview for robot motion commands
  • Undo (done, but ongoing)
  • Connect input manager
    • Map commands to buttons using physical wii remote as well as by clicking on graphic
    • Indicator to show wii remote connection status.
  • Connect robot manager
    • Indicator to show robot connection status. May need a keepalive command (like 'ver' with Troy).
  • Nodes
    • Output port toolbar (done, but needs resized)
    • Design command queue display
    • Add command queue display button in output port toolbar
    • Move output nodes appropriately when one is moved
    • Enable undo for output port remove

Behavior Manager

  • Data model
    • Nodes (done, hooray!)
    • Command Queues
    • Abstract command type (commands include robot motion, sound, facial expression, combined behavior)
    • Abstract trigger type (input from wii remote, autonomous behaviors, gesture-based controls, timer)
  • Program execution
    • Data Logging!
    • Each command can have a “wait until done” or “proceed immediately” option, perhaps default wait.


  • Network communication protocol for triggers (to communicate with code written in other languages)
  • Wii remote module
    • Haptic feedback
    • Shake gestures (e.g., shake to cancel current action)
  • Initiate motion recording using Honda's motion learner the Kinect sensor
    • Import generated motion for TROY
    • We are phasing out the old Honda code, and working to replacing it with the Kinect sensor and it's associates middleware
    • Tyler is working on various things with the Kinect to enable it to provide motion capture and recording capabilities. Current progress is available on his page here.

Robot Comms

Robot Control (for Mech. Eng.)

  • Show clock on face (done)
    • Note: technically this is done in the UI, not on the robot
  • Head movement
  • Animation end in non-zero (blend to next)
  • Make Troy move faster
  • Pause/resume robot motion and sound
  • Special sounds (for example, child's name) that have a global setting.
    • Might do this as a “sound A” slot, and any sound can be put in there, and then any “sound A” block will use that sound. Like styles in word.
ar/tai-planning.txt · Last modified: 2015/03/26 15:22 by ryancha
Back to top
CC Attribution-Share Alike 4.0 International
chimeric.de = chi`s home Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0