Abstract:Natural language allows robot programming to be accessible to everyone. However, the inherent fuzziness in natural language poses challenges for inflexible, traditional robot systems. We focus on instructions with fuzzy time requirements (e.g., "start in a few minutes"). Building on previous robotics research, we introduce fuzzy skills. These define an execution by the robot with so-called satisfaction functions representing vague execution time requirements. Such functions express a user's satisfaction over potential starting times for skill execution. When the robot handles multiple fuzzy skills, the satisfaction function provides a temporal tolerance window for execution, thus, enabling optimal scheduling based on satisfaction. We generalized such functions based on individual user expectations with a user study. The participants rated their satisfaction with an instruction's execution at various times. Our investigations reveal that trapezoidal functions best approximate the users' satisfaction. Additionally, the results suggest that users are more lenient if the execution is specified further into the future.
Abstract:Human-robot collaboration enables highly adaptive co-working. The variety of resulting workflows makes it difficult to measure metrics as, e.g. makespans or idle times for multiple systems and tasks in a comparable manner. This issue can be addressed with virtual commissioning, where arbitrary numbers of non-deterministic human-robot workflows in assembly tasks can be simulated. To this end, data-driven models of human decisions are needed. Gathering the required large corpus of data with on-site user studies is quite time-consuming. In comparison, simulation-based studies (e.g., by crowdsourcing) would allow us to access a large pool of study participants with less effort. To rely on respective study results, human action sequences observed in a browser-based simulation environment must be shown to match those gathered in a laboratory setting. To this end, this work aims to understand to what extent cooperative assembly work in a simulated environment differs from that in an on-site laboratory setting. We show how a simulation environment can be aligned with a laboratory setting in which a robot and a human perform pick-and-place tasks together. A user study (N=29) indicates that participants' assembly decisions and perception of the situation are consistent across these different environments.
Abstract:We can only allow human-robot-cooperation in a common work cell if the human integrity is guaranteed. A surveillance system with multiple cameras can detect collisions without contact to the human collaborator. A failure safe system needs to optimally cover the important areas of the robot work cell with safety overlap. We propose an efficient algorithm for optimally placing and orienting the cameras in a 3D CAD model of the work cell. In order to evaluate the quality of the camera constellation in each step, our method simulates the vision system using a z-buffer rendering technique for image acquisition, a voxel space for the overlap and a refined visual hull method for a conservative human reconstruction. The simulation allows to evaluate the quality with respect to the distortion of images and advanced image analysis in the presence of static and dynamic visual obstacles such as tables, racks, walls, robots and people. Our method is ideally suited for maximizing the coverage of multiple cameras or minimizing an error made by the visual hull and can be extended to probabilistic space carving.
Abstract:Human-Robot Teams offer the flexibility needed for partial automation in small and medium-sized enterprises (SMEs). They will thus be an integral part of Factories of the Future. Our research targets a particularly flexible teaming mode, where agents share tasks dynamically. Such approaches require cognitive robots with reasoning and sensing capabilities. This results in hardware maintenance demands in terms of sensor calibration. In contrast to intuitive end-user programming, system setup and maintenance are rarely addressed in literature on robot application in SMEs. In this paper, we describe a prototype software toolchain that covers the initial setup, task modelling, and online operation of human-robot teams. We further show, that end-users can setup the system quickly and operate the whole toolchain effortlessly. All in all, this work aims to reduce the concern, that deploying human-robot teams comes with high costs for external expertise.
Abstract:Programming robots is a complicated and time-consuming task. A robot is essentially a real-time, distributed embedded system. Often, control and communication paths within the system are tightly coupled to the actual physical configuration of the robot. Thus, programming a robot is a very challenging task for domain experts who do not have a dedicated background in robotics. In this paper we present an approach towards a domain specific language, which is intended to reduce the efforts and the complexity which is required when developing robotic applications. Furthermore we apply a software product line approach to realize a configurable code generator which produces C++ code which can either be run on real robots or on a robot simulator.
Abstract:In modern production facilities industrial robots and humans are supposed to interact sharing a common working area. In order to avoid collisions, the distances between objects need to be measured conservatively which can be done by a camera network. To estimate the acquired distance, unmodelled objects, e.g., an interacting human, need to be modelled and distinguished from premodelled objects like workbenches or robots by image processing such as the background subtraction method. The quality of such an approach massively depends on the settings of the camera network, that is the positions and orientations of the individual cameras. Of particular interest in this context is the minimization of the error of the distance using the objects modelled by the background subtraction method instead of the real objects. Here, we show how this minimization can be formulated as an abstract optimization problem. Moreover, we state various aspects on the implementation as well as reasons for the selection of a suitable optimization method, analyze the complexity of the proposed method and present a basic version used for extensive experiments.