Skip to content
henrygarner edited this page Sep 22, 2012 · 24 revisions

key things -

apparently can find red ball

built in object recognition - can pre-program to find plunger

Choreographe 101

  • Box libraries available with extra widgets
  • Set stiffness off before manually moving robot
  • Inputs and outputs are typed
  • Numbers, strings, bangs, or any python type
  • Boxes can contain others boxes
  • Boxes are active all the time, more like data flow than imperative programming
  • Audio > Voice > Choice box for conditionals
  • Choice can return response as string, or branch on a given response
  • Sit > Emotions > Angry / Fear / Happy / Sad (inspiration for feeble Dalek cowering?)
  • Face detection outputs whether or not there's a face, and how many faces
  • Animation mode allows you to do keyframe animation
  • Animation box has a timeline within it
  • Timeline editor allows you to specify event to trigger a new keyframe
  • Need to cover sensors on back of hand or bumpers on feet to release stiffness to move to next keyframe
  • Python examples https://github.com/uknao/examples
  • Application template https://github.com/uknao/application_template
  • Can save project as directory rather than file for version control
  • Concept of resources in animation timeline editor. Multiple animations can run in parallel as long as they aren't using the same resource
  • Behavior layers - several flows running in parallel to avoid spaghetti mess
  • Can transition between keyframe behaviors with Goto or GotoAndStop
  • self.log("Message") will appear in the debug window (Window > Debug)
  • Can fire a message into the X input of a box to stop
  • Flow control box library contains loop constructs

Emotional Models

  • Need to be taught. Can't be calculated from first principles
  • Experience vs expression
  • Humans capable of simultaneous emotions
  • towards many subjects
  • towards one subject
  • background emotion
  • Emotions interact
  • Emotions decay
  • Implementation. Event -> Subject -> Effects
  • Also background flow dealing with general agitation / anger / boredom / depression
  • Paradoxical emotions e.g. feels good to be angry at politicians
  • PAD model (Pleasure, Arousal, Dominance) - any emotion a combination of these?
  • Plutchik's Wheel - emotion is a two-dimensional circumplex model
  • Scherer's emotional map / affective states table. PDF
  • Labview application, running an emotional model http://www.ni.com/labview/
  • Boredom creeping up, give NAO his ball and entertained jumps up, boredom decreases

OpenCV

  • OpenCV is pre-loaded on the NAO OpenCV wiki
  • NAO can already do face and ball detection
  • Using OpenCV can extend this to more powerful image processing
  • Intel is backing OpenCV
  • Accessible using Python but most examples are C++
  • Can develop code using computer's webcam before sending to NAO
  • Or you can run directly on Nao using choreographe
  • Make your programs save images of their processing which you can view to see what's going on
  • Use an ALVideoDevice proxy... set resolution, colorspace, subscribe as client
  • Blurring the image helps to reduce noise cv.Smooth(image, image, cv.CV_BLUR, 3)
  • Save an image cs.SaveImage("/path/image.jpg", image)
  • Segmentation
  • Detect features
  • Find faces or other objects (classifiers)
  • Tracking (optic flow)
  • Machine learning
  • SimpleCV is a Python wrapper for OpenCV with a slightly different interface
  • If looking at HSV (hue saturation value) colours, red wraps around so is lt 25 and gt 340 in degrees
  • Black is not a colour, is when the saturation and value are both very small
  • Females can see much more into the red, can distinguish between different sorts of red
Clone this wiki locally