ConCodeIt! A Comparison of Concurrency Interfaces in Block-Based Visual Robot Programming

Concurrency makes robot programming challenging even for professional programmers, yet it is essential for rich, interactive social robot behaviors. Visual programming aims to lower the barrier for robot programming but does not support rich concurrent behavior for meaningful robotics applications....

Full description

Saved in:
Bibliographic Details
Published in:IEEE RO-MAN pp. 245 - 252
Main Authors: Chung, Michael Jae-Yoon, Nakura, Mino, Neti, Sai Harshita, Lu, Anthony, Hummel, Elana, Cakmak, Maya
Format: Conference Proceeding
Language:English
Published: IEEE 01.08.2020
Subjects:
ISSN:1944-9437
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:Concurrency makes robot programming challenging even for professional programmers, yet it is essential for rich, interactive social robot behaviors. Visual programming aims to lower the barrier for robot programming but does not support rich concurrent behavior for meaningful robotics applications. In this paper, we explore extensions to block-based visual languages to enable programming of concurrent behavior with (1) asynchronous procedure calls, which encourage imperative programming, (2) callbacks, which encourage event-driven programming, and (3) promise, which also encourages imperative programming by providing event synchronization utilities. We compare these approaches through a systematic analysis of social robot programs with representative concurrency patterns, as well as a user study (N=23) in which participants authored such programs. Our work identifies characteristic differences between these approaches and demonstrates that the promise-based concurrency interface enables more concise programs with fewer errors.
ISSN:1944-9437
DOI:10.1109/RO-MAN47096.2020.9223337