450 likes | 601 Views
Tools for Programming in the Real World. Self Introduction for MSRA Fellowship 2012 Jun Kato , The University of Tokyo. Jun Kato. 2 nd - year PhD candidate Igarashi Laboratory, The University of Tokyo Concentration: Human-Computer Interaction Especially,
E N D
Tools forProgramming in the Real World Self Introduction for MSRA Fellowship 2012 Jun Kato, The University of Tokyo
Jun Kato • 2nd- year PhD candidate • Igarashi Laboratory, The University of Tokyo • Concentration: Human-Computer Interaction • Especially, Tools for Programming in the Real World
Agenda • My motivation for the research • Introduction of the projects • Ideas for new projects
Tools for Programming in the Real World My motivationfor the research
Tools for Programmingin the Real World Pressing [UIST’09 SIC] IntelliViewer [UIST’10 SIC] Multi-touch [CHI’09 SRC] Surfboard [UIST’10 Demo] CRISTAL [SIGGRAPH’09 E-Tech] DejaVu [UIST’12 (to appear)] Phybots [DIS’12] Sharedo [Ro-MAN’12 (submitted)] Roboko [ CHI’13 (to be submitted)]
In the Real WorldFrom Robot to Human Pressing [UIST’09 SIC] IntelliViewer [UIST’10 SIC] Multi-touch [CHI’09 SRC] Multi-touch [CHI’09 SRC] Surfboard [UIST’10 Demo] CRISTAL [SIGGRAPH’09 E-Tech] CRISTAL [SIGGRAPH’09 E-Tech] DejaVu [UIST’12 (to appear)] Phybots [DIS’12] Phybots [DIS’12] Sharedo [Ro-MAN’12 (submitted)] Roboko [ CHI’13 (to be submitted)]
In the Real WorldFrom Robot to Human Pressing [UIST’09 SIC] IntelliViewer [UIST’10 SIC] Multi-touch [CHI’09 SRC] Surfboard [UIST’10 Demo] CRISTAL [SIGGRAPH’09 E-Tech] DejaVu [UIST’12 (to appear)] DejaVu [UIST’12 (to appear)] Phybots [DIS’12] Sharedo [Ro-MAN’12 (submitted)] Roboko [ CHI’13 (to be submitted)] Roboko [ CHI’13 (to be submitted)]
Tools for ProgrammingFrom Keyboard to IDE Pressing [UIST’09 SIC] IntelliViewer [UIST’10 SIC] Multi-touch [CHI’09 SRC] Multi-touch [CHI’09 SRC] Surfboard [UIST’10 Demo] CRISTAL [SIGGRAPH’09 E-Tech] DejaVu [UIST’12 (to appear)] DejaVu [UIST’12 (to appear)] Phybots [DIS’12] Phybots [DIS’12] Sharedo [Ro-MAN’12 (submitted)] Roboko [ CHI’13 (to be submitted)] Roboko [ CHI’13 (to be submitted)]
Tools for ProgrammingFrom Keyboard to IDE Pressing [UIST’09 SIC] Pressing [UIST’09 SIC] IntelliViewer [UIST’10 SIC] IntelliViewer [UIST’10 SIC] Multi-touch [CHI’09 SRC] Surfboard [UIST’10 Demo] Surfboard [UIST’10 Demo] CRISTAL [SIGGRAPH’09 E-Tech] DejaVu [UIST’12 (to appear)] Phybots [DIS’12] Sharedo [Ro-MAN’12 (submitted)] Roboko [ CHI’13 (to be submitted)]
Tools for Programming in the Real World Introduction ofthe (Selected) Projects
Projects • Phybots • DejaVu • Roboko
Motivation • Add mobility to our daily objects
Gulf of HCI and Robotics Robots Physical UIs Toolkit for: HCI researchers & Interaction designers Robotics people Target users: Prototyping Reliability Focus: Low-level&Static High-level&Extensible Software API: Small&Cheap Medium-Large&Expensive Hardware: K-Junior, $938 Phidget Kit, $200
Goal of Phybots • Add mobility to physical objects • In a cheap and easy way • Through high-level and extendible API • With support for the whole prototyping process
Prototyping with Phybots Test with runtime debug tool Hardware construction Programming with built-in API (Extend APIwhen needed)
Localization and Locomotion API • Hardware setup: easy and cheap • Camera • PC or Mac • Robotic things From our user study: Miniature drive recorder
Localization and Locomotion API • Navigation by global coordinates • Move • Push • TracePath X-axis Y-axis Taskmove = newMove( mouseX, mouseY); move.assign(robot); move.start(); From our user study: Beach flags with obstacles
Localization and Locomotion API • Vector field navigation • Easy design of new behavior ex) Follow another robot • Combination of existing fields ex) Move + collision avoidance
Runtime Debug Tool Workflow Monitor Service Monitor Entity Monitor
User Studies • Alpha version deployment • To graduate students • Current version deployment • To HCI students • To robotics students
Alpha version deployment • Lessons learned: • Mere mobility was not enough. • Most apps only used a single API call. • Parameter configuration was painful. • Lessons learned: • Extendibility is important. • Higher-level task management is desired. • Support for testing phase is needed.
Phybots • A toolkit for prototyping “robotic things” • Localization and Locomotion API • Extensible Architecture • Runtime Debug Tool • Open-source software available at http://phybots.com
Projects • Phybots • DejaVu • Roboko
Motivation • Input by the user’s hands, body, or physical objects • Captured by cameras • Processed in real-time • Support for computer-vision-based programming is needed Wilson, 2005 Wang, 2006 Cao, 2003
Existing approaches • Hardware, Software API • Becomes more and more accessible • Webcam, Kinect, OpenCV, etc. • Development Environments • Do not provide explicit support… Ex) Breakpoint-based variable monitoring OpenCV Visual Studio Eclipse …
DejaVu Canvas Frame data visualization Freehand sketch
DejaVu Canvas • Capable of showing variable values at the different positions in the code
Conclusion • DejaVu provides integrated support for the development of interactive camera-based programs that tightly matches • their nature: Visual/Continuous/Non-reproducible • the workflow:Record input/Change code/Replay Canvas Workflow
Projects • Phybots • DejaVu • Roboko
Motivation: Programming robot actionsis difficult. Dance Clearing dishes Cooking
Typical approach: Text-based Programming arm.setPosition(4.3, 2.4); robot1.setPose(pose32); joint[0].setAngle(0.6); joint[1].setAngle(0.7); joint[2].setAngle(-0.24); … Problem:We cannot imagine the actual pose of the robot…
Typical approach: Visual Editing Problem:We cannot design flexible robot behavior such as “repeat this for 3 times when …”
Workflow of the Programmer 2. Drag and Drop 1. Capture PC Robot Camera
Supported APIs: Getting and setting pose
Supported APIs: Execute a sequential action
Project outcome: new application Not only a robot but a human (Kinect) This work is an outcome of collaboration with a MSR researcher, Xiang Cao
Integrating visual representations into text-based programming environment
Tools for Programming in the Real World Ideas for new projects
Ideas for New Projects • (CENSORED) • (CENSORED) • (CENSORED)
Thank you for listening… • I’ve designed various tools for programming in the real world. • I am looking forward to further collaboration with MSRA researchers.