Skip to content

Use Cases Brainstorm

Bryce George edited this page Jan 20, 2021 · 1 revision

Use Case 1: Manipulating Writing Implement

Flow of Events:

  • Obtain writing implement
  • Hold Writing Implement
  • Perform actions

Use Case 1.1: Hold Writing Implement

Flow of Events:

  • Determine if writing implement present
  • Determine if writing implement position correct
  • Close hand

Use Case 1.1.1: Close Hand

Flow of Events:

  • Trigger close hand action in NAO SDK

Use Case 1.2: Ask for Writing Implement

Flow of Events:

  • Generate question
  • Speak question
  • Await person to put writing implement in hand
  • Hold Writing Implement

Use Case 1.3: Pickup Writing Implement (opt)

Flow of Events:

  • Scan Environment
  • Identify Writing Implement
  • Change Position to get to writing implement
  • Determine Writing Implement orientation
  • Pick up writing implement

Use Case 2: Draw Picture

Flow of Events:

  • Determine what is supposed to be drawn
  • Identify steps to create drawing
  • Execute drawing steps

Use Case 2.1: Draw Line

Flow of Events:

Use Case 2.2: Draw Square

Flow of Events:

Use Case 2.3: Draw Rectangle

Flow of Events:

Use Case 2.4: Draw Circle

Flow of Events:

Use Case 2.5: Draw Right Triangle

Flow of Events:


Use Case 3: Speak

Flow of Events:

  • Post speech text to NAO SDK broker

Use Case 4: Scan Environment

Flow of Events:

  • Obtain camera feed
  • Pass camera feed to requesting module

Use Case 4.1: Scan for Drawing Surface

Flow of Events:

  • Request to Scan Environment
  • Identify Drawing Surface

Use Case 4.2.: Scan for Writing Implement

Flow of Events:

  • Request to Scan Environment
  • Identify Writing Implement

Use Case 5: Identify Object

Flow of Events:

Need generic object identification process here

Use Case 5.1: Identify Writing Implement

Flow of Events:

  • Identify the writing implement's colors
  • Pick a color for a writing implement

Use Case 5.2: Identify Drawing Surface

Flow of Events:

  • Find drawing surface
  • Detect and recognize the drawing boundaries

Use Case 5.3: Identify Color

Flow of Events:

  • Identify writing implement color as black, blue, red, green, brown, purple, yellow

Use Case 5.4: Identify All Writing Implements (opt)

Flow of Events:

  • Process environment scan

  • Repeatedly Identify writing implements until environment scan full processed

  • Orient itself with writing surface


Use Case 6: Listen for Command

Flow of Events:

  • Listen for command to be given
  • Raise Event when command heard
  • Continue listening for next command

Use Case 7: Raise Event

Flow of Events:

  • Create event body
  • Raise event on broker

Use Case 8: Identify Orientation (opt)

Flow of Events:

  • Determine how drawing surface is oriented compared to self

Use Case 9: Change Location (opt)

Flow of Events:

Use Case 9.1: Adjust position to draw properly (opt)

Flow of Events:

  • Determine orientation of surface initially relative to its location
  • Move until robot is in a position to draw on the surface

Extension Use Case 7: Distinguish different colors

Flow of Events:

  • Uses different colors on command
  • Picks colors on own if not told otherwise
  • Identifies a variety of colors

Extension Use Case 7.1: Autonomously picks a color

Flow of Events:

  • No color is specified by user
  • NAO picks colors for specific parts of image

Extension Use Case 7.2: Overridden by user

Flow of Events:

  • The user does specify a color
  • NAO identifies that utensil
  • NAO uses that utensil to draw

Extension Use Case 7.3: Identifying colors

Flow of Events:

  • User specifies a color
  • NAO Can identify: black, blue, red, green, brown, purple, yellow

Extension Use Case 8: Line drawings containing several objects

Flow of Events:

  • Composing drawings made up of simple shapes
  • Separate a drawing into different parts using separate colors
  • Receive instructions to put one part of drawing in a different location
  • Recreating line drawings

Extension Use Case 8.1: Drawings from simple shapes

Flow of Events:

  • Compose a drawing from predefined shapes
  • Shapes could include square, rectangle, circle, or right triangle

Extension Use Case 8.2: Multi-Colored Drawings

      Flow of Events:

                 Separates drawings into parts

                 Denotes a color for each part

                 Draws each part in respective color



      Extension Use Case 8.3: Receiving Positioning Instructions

      Flow of Events:

                 Robot receives instructions including a shape going to a certain location

                 Robot draws said shape in said location relative to drawing surface

     

      Extension Use Case 8.4: Recreating Line Drawings

      Flow of Events:

                 Robot looks at image

                 Robot learns what to draw using edge detection algorithm

                 Robot recreates line drawing                 

Extension Use Case 9: Recognizing Interaction Windows

      Flow of Events:

                Robot can ask qualitative questions about drawing

                 Robot can make contextual decisions on where to take interaction

                 Robot can come up with meaningful responses to questions

      Extension Use Case 9.1: Asking Questions

      Flow of Events:

                 Robot asks questions about its drawing

                 Robot responds to feedback from user

      Extension Use Case 9.2: Pushing Conversation

      Flow of Events:

                 Robot knows when to ask user questions

                 Robot knows when to interact with user based on context

      Extension Use Case 9.3: Responding to questions

      Flow of Events:

                 User asks robot a question

                 Robot knows what user is asking

                 Robot comes up with meaningful response to the question
Clone this wiki locally