HRC Model Set logo HRC Model Set


We provide a set of software libraries for perception, control and interaction, with the goal of encouraging other researchers to proactively contribute to the proposed work. Our software is compatible with the Robot Operating System (ROS, [Quigley et al. 2009]), the most used middleware to date for robotics research and industry applications. It has been released under the LGPLv2.1 open-source license, and it is freely available on GitHub. The github repository, hosts both the source code for the software library, and some example applications. It is readily available for any Baxter robot, but it is meant to be easy to extend to other robot platforms—provided a valid URDF model is available.

For the purposes of this work, we devised a set of basic capabilities in order for the robot to be an effective partner. To this end, we implemented two low-level, state-less controllers (one for each of the robot’s arms) able to operate in parallel and to communicate one another if needed. A library of high-level predefined actions (in the form of ROS services) is available for the client to choose from; such actions range from the simple, single arm pick object to the more complex hold object (which requires a physical collaboration with the human partner) or hand over (which demands a bi-manual interaction between the two arms). Inverse kinematics is provided by trac_ik [Beeson and Ames 2015], an efficient, general-purpose library that has been adapted to the Baxter robot and guarantees a control rate of 100 Hz.

The system allows for context-based, multi-modal interactions with the user. Multiple, redundant communication channels are exposed by the framework, with the goal of interacting with the user on human terms [Breazeal2002]. This redundancy aims at allowing the human partner to choose the interface that suits him the most; importantly, it also has the advantage of making the interaction itself more robust. The exposed layers are the following:

The main purpose of the accompanying software is to facilitate prospective users with the adoption of the model set in collaborative experiments. Collectively, they target a generic human-robot collaborative setup, with the aim of equipping a standard robot with enough skills for it to effectively locate, manipulate, and interact with parts and tools.