SlideShare une entreprise Scribd logo
1  sur  13
Processing Natural Language in Robotics Applications 01001000 01100101 01101100 01101100 01101111 00100000 01010111 01101111 01110010 01101100 01100100 00100001 00100000 Alan Shen
Related work Wubble Voice Command Demo (Gazebo Simulation) Arizona Robotics Research Group - University of Arizona http://www.youtube.com/watch?v=atB9mh6u1Ng http://ua-ros-pkg.googlecode.com
Related work Humanoid robot speech recognition and object tracking http://www.youtube.com/watch?v=0jW9LgtiiM8
Goals Implement sentence recognition in text form (console/gui) Provided some basis for speech processing  “Pick up the blue cup” Pick up the blue cup
Existing tools Possible python library implementation Open Rave Text Processing Speech Processing Robot Action Prairie Dog Libraries Python Tagging Libraries  (eg: NLTK)
Parsing orders Ambiguous interpretations (robot command sentences may suffer less from this) 	“Robot, make her duck” 	“Get the elevator” Mapping verbs to targets:		“Follow that person”				“Get in the elevator”			“Pick up that object”
Parts of speech tagging Given a word, what is its part of speech? 𝐴𝑟𝑔𝑀𝑎𝑥: 𝑃(𝑇𝑎𝑔𝑠|𝑊𝑜𝑟𝑑𝑠)  
Parts of speech tagging 𝐴𝑟𝑔𝑀𝑎𝑥: 𝑃(𝑇𝑎𝑔𝑠|𝑊𝑜𝑟𝑑𝑠) Given a known corpus, maybe it’s easier to predict a word given a tag: Bayes: 𝑃𝐴𝐵=𝑃𝐵𝐴𝑃(𝐴)𝑃(𝐵)  
Parts of speech tagging 𝐴𝑟𝑔𝑀𝑎𝑥: 𝑃(𝑇𝑎𝑔𝑠|𝑊𝑜𝑟𝑑𝑠) Bayes: 𝑃𝐴𝐵=𝑃𝐵𝐴𝑃(𝐴)𝑃(𝐵) 𝐴𝑟𝑔𝑀𝑎𝑥: 𝑃𝑊𝑜𝑟𝑑𝑠𝑇𝑎𝑔𝑠𝑃(𝑇𝑎𝑔𝑠)𝑃(𝑊𝑜𝑟𝑑𝑠) Don’t need to normalize…  
Parts of speech tagging 𝐴𝑟𝑔𝑀𝑎𝑥: 𝑃(𝑇𝑎𝑔𝑠|𝑊𝑜𝑟𝑑𝑠) Bayes: 𝑃𝐴𝐵=𝑃𝐵𝐴𝑃(𝐴)𝑃(𝐵) 𝐴𝑟𝑔𝑀𝑎𝑥:𝑃𝑊𝑜𝑟𝑑𝑠𝑇𝑎𝑔𝑠𝑃𝑇𝑎𝑔𝑠  
Calculating ArgMax and likely tags Speech and Language Processing - Jurafsky and Martin
Further work Once actions and their targets are mapped, generate actions Directly executing OpenRave commands in sequence? Commands ignored if OpenRave is busy Determine method of controllingPrairieDog movement Need to ensure that text command interfaceis compatible with both arm and wheel controls Populate objects in robot’s word dictionary Eg: block, door, elevator, person
Questions? Thank you!

Contenu connexe

Plus de University of Colorado at Boulder

Three-dimensional construction with mobile robots and modular blocks
 Three-dimensional construction with mobile robots and modular blocks Three-dimensional construction with mobile robots and modular blocks
Three-dimensional construction with mobile robots and modular blocksUniversity of Colorado at Boulder
 

Plus de University of Colorado at Boulder (20)

Three-dimensional construction with mobile robots and modular blocks
 Three-dimensional construction with mobile robots and modular blocks Three-dimensional construction with mobile robots and modular blocks
Three-dimensional construction with mobile robots and modular blocks
 
Template classes and ROS messages
Template classes and ROS messagesTemplate classes and ROS messages
Template classes and ROS messages
 
Indoor Localization Systems
Indoor Localization SystemsIndoor Localization Systems
Indoor Localization Systems
 
Vishal Verma: Rapidly Exploring Random Trees
Vishal Verma: Rapidly Exploring Random TreesVishal Verma: Rapidly Exploring Random Trees
Vishal Verma: Rapidly Exploring Random Trees
 
Lecture 10: Summary
Lecture 10: SummaryLecture 10: Summary
Lecture 10: Summary
 
Lecture 09: SLAM
Lecture 09: SLAMLecture 09: SLAM
Lecture 09: SLAM
 
Lecture 08: Localization and Mapping II
Lecture 08: Localization and Mapping IILecture 08: Localization and Mapping II
Lecture 08: Localization and Mapping II
 
Lecture 07: Localization and Mapping I
Lecture 07: Localization and Mapping ILecture 07: Localization and Mapping I
Lecture 07: Localization and Mapping I
 
Lecture 06: Features and Uncertainty
Lecture 06: Features and UncertaintyLecture 06: Features and Uncertainty
Lecture 06: Features and Uncertainty
 
Lecture 05
Lecture 05Lecture 05
Lecture 05
 
Lecture 04
Lecture 04Lecture 04
Lecture 04
 
Lecture 03 - Kinematics and Control
Lecture 03 - Kinematics and ControlLecture 03 - Kinematics and Control
Lecture 03 - Kinematics and Control
 
Lecture 02: Locomotion
Lecture 02: LocomotionLecture 02: Locomotion
Lecture 02: Locomotion
 
Lecture 01
Lecture 01Lecture 01
Lecture 01
 
Lectures 11+12: Debates
Lectures 11+12: DebatesLectures 11+12: Debates
Lectures 11+12: Debates
 
Lecture 09: Localization and Mapping III
Lecture 09: Localization and Mapping IIILecture 09: Localization and Mapping III
Lecture 09: Localization and Mapping III
 
Lecture 10: Navigation
Lecture 10: NavigationLecture 10: Navigation
Lecture 10: Navigation
 
Lecture 08: Localization and Mapping II
Lecture 08: Localization and Mapping IILecture 08: Localization and Mapping II
Lecture 08: Localization and Mapping II
 
Lecture 07: Localization and Mapping I
Lecture 07: Localization and Mapping ILecture 07: Localization and Mapping I
Lecture 07: Localization and Mapping I
 
Lecture 06: Features
Lecture 06: FeaturesLecture 06: Features
Lecture 06: Features
 

NLP for Robotics

  • 1. Processing Natural Language in Robotics Applications 01001000 01100101 01101100 01101100 01101111 00100000 01010111 01101111 01110010 01101100 01100100 00100001 00100000 Alan Shen
  • 2. Related work Wubble Voice Command Demo (Gazebo Simulation) Arizona Robotics Research Group - University of Arizona http://www.youtube.com/watch?v=atB9mh6u1Ng http://ua-ros-pkg.googlecode.com
  • 3. Related work Humanoid robot speech recognition and object tracking http://www.youtube.com/watch?v=0jW9LgtiiM8
  • 4. Goals Implement sentence recognition in text form (console/gui) Provided some basis for speech processing “Pick up the blue cup” Pick up the blue cup
  • 5. Existing tools Possible python library implementation Open Rave Text Processing Speech Processing Robot Action Prairie Dog Libraries Python Tagging Libraries (eg: NLTK)
  • 6. Parsing orders Ambiguous interpretations (robot command sentences may suffer less from this) “Robot, make her duck” “Get the elevator” Mapping verbs to targets: “Follow that person” “Get in the elevator” “Pick up that object”
  • 7. Parts of speech tagging Given a word, what is its part of speech? 𝐴𝑟𝑔𝑀𝑎𝑥: 𝑃(𝑇𝑎𝑔𝑠|𝑊𝑜𝑟𝑑𝑠)  
  • 8. Parts of speech tagging 𝐴𝑟𝑔𝑀𝑎𝑥: 𝑃(𝑇𝑎𝑔𝑠|𝑊𝑜𝑟𝑑𝑠) Given a known corpus, maybe it’s easier to predict a word given a tag: Bayes: 𝑃𝐴𝐵=𝑃𝐵𝐴𝑃(𝐴)𝑃(𝐵)  
  • 9. Parts of speech tagging 𝐴𝑟𝑔𝑀𝑎𝑥: 𝑃(𝑇𝑎𝑔𝑠|𝑊𝑜𝑟𝑑𝑠) Bayes: 𝑃𝐴𝐵=𝑃𝐵𝐴𝑃(𝐴)𝑃(𝐵) 𝐴𝑟𝑔𝑀𝑎𝑥: 𝑃𝑊𝑜𝑟𝑑𝑠𝑇𝑎𝑔𝑠𝑃(𝑇𝑎𝑔𝑠)𝑃(𝑊𝑜𝑟𝑑𝑠) Don’t need to normalize…  
  • 10. Parts of speech tagging 𝐴𝑟𝑔𝑀𝑎𝑥: 𝑃(𝑇𝑎𝑔𝑠|𝑊𝑜𝑟𝑑𝑠) Bayes: 𝑃𝐴𝐵=𝑃𝐵𝐴𝑃(𝐴)𝑃(𝐵) 𝐴𝑟𝑔𝑀𝑎𝑥:𝑃𝑊𝑜𝑟𝑑𝑠𝑇𝑎𝑔𝑠𝑃𝑇𝑎𝑔𝑠  
  • 11. Calculating ArgMax and likely tags Speech and Language Processing - Jurafsky and Martin
  • 12. Further work Once actions and their targets are mapped, generate actions Directly executing OpenRave commands in sequence? Commands ignored if OpenRave is busy Determine method of controllingPrairieDog movement Need to ensure that text command interfaceis compatible with both arm and wheel controls Populate objects in robot’s word dictionary Eg: block, door, elevator, person