Haptic coupling with the PR2 as a demo of the OROCOS - ROS - Blender integration

Modern and future robotic applications will have to integrate many software components. Inevitably, the components will be provided by different vendors or research institutes, and will not be designed together, and in many cases also not implemented from the same source code repository. This paper presents a discussion on how we deal with this multi-component, multi-vendor situation in a haptic robot setup. This situation includes the least optimal case when most or all of the components are “legacy”, in the sense that they have to be integrated as binary pieces of code, without the possibility to change the components for the sole purpose of facilitating system-level integration. The presented approach is illustrated by an application that integrates (i) two KUKA Light-Weight Robot FRI control components, (ii) a set of ROS components to control a Willow Garage PR2 robot, (iii) a Blender component for on-line visualization, and (iv) a set of Orocos/RTT components that take care of the data flow communication and some simple coordination between all components. This application gathers a large number of aspects of our PR2 Beta Program of the past year. Many robotics groups (academic as well as industrial) are investigating how to make robotic systems by integrating an increasing number of functional components (hardware as well as software). The state of the art in hardware integration has, since quite some time already, reached a state in which it is not too difficult to make a system out of “common of the shelf” components, not in the least because of the rather high level of standardization of mechanical, power and communication interfaces of such hardware components. However, the state of the art at the software level is much less advanced. Widely accepted standards for integrate-able component design and interfaces do not yet exist, and there is, even surprisingly very little demand for such standardization from providers of software components. What did boom in the software domain during the last decade is the availability of a large number of “software frameworks”, mostly with liberal “open source” software (e.g., Orocos [4], Player [6], ROS [9], [11], OpenRTM [8].) but also with significant proprietary parts (e.g., URBI [7], Webots [5]). The current development of these frameworks is almost exclusively focused on extending one’s own framework by adding more and more functionality to it, with close to none coordinated efforts for functionality sharing; the Gearbox project [2] is a notable (but not so popular) exception. In this paper and demonstration we show how we couple a KUKA LWR to the Willow Garage PR2 to allow remote “haptic” control of the PR2 robot. Although, currently, it might be a bit of an overstatement saying that this combination of hardware is “common off the shelf”, the authors do believe that more and more research groups, industries, and (professional) users will have access to similar systems in the coming decade, and will want to couple some of them in a “haptic” set-up as presented in this paper. The authors also realize that using the term “haptic” in the context of the presented work has a very different meaning (performance-wise) than in the dedicated research on haptic interfaces; nevertheless, the concepts (and the subjective feeling of the human operators involved in the experiments) do have a significant haptic component, in the strict sense of the word, namely to get on-line motion/force feedback from the remote system to which the human operator can react without being disturbed too much by performance issues to make the task unbearable or ineffective. The presented teleoperation application is furthermore an ideal example of the integration of two componentbased robotic frameworks namely OROCOS (Open Robot Control Software) [4] and ROS (Robot Operating System), together with the Blender visualisation environment and thus illustrating 2 of our focus points of the PR2 Beta Program.