Section: New Software and Platforms

3rdHand Project

3rdHand Infrastructure

Keywords: Interaction - Robotics - Infrastructure software - Framework - Robot Operating System (ROS)

Functional Description

The infrastructure is predicate-based to handle relational actions and covers perception (scene description generation, human actions recognition), decision making (teleoperated, scripted or learning from demonstrations), interaction with end users (GUI, voice, gestures) and parallel executions of robotic actions (hold, pick, grasp, bring, ...).

Kinect 2 Server

Kinect 2 server

Keywords: Depth Perception - Speech recognition - Gesture recognition - Kinect

Functional Description

The server written in C# uses the Kinect SDK v2 to get the RGBD raw image, skeleton tracking information, recognized speech. It also uses the text-to-speech from Microsoft. Then it streams JSON data over the network using the Publisher/Subscriber pattern from the ZeroMQ network library. A Linux client has been written in Python but it can be written in any other language that is compatible with ZeroMQ. Features are controllable through a Graphical User Interface on Windows, or through the code from any Linux/Windows client. The clients can for instance enable features (speech recognition on, skeleton tracking off, …) and parameters (set new speech to recognize, change language, …) from remote.


Probabilistic Movement Primitives

Keywords: Interaction - Robotics - Probability - Motion model - Robot Operating System (ROS)

Functional Description

Joint-space primitives with a task-space constraint: The primitives are stored in joint-space but demonstrations are provided both in joint space and task space, context. Thanks to this context, task-space goals can be requested to these joint-space primitives. The benefit is that requesting a new task-space goal does not require to call an IK method which would return demonstrations-agnostic joint configurations.

Vocal interactive learning and clustering: This work includes an interactive learning aspect which allows to automatically cluster motor primitives based on the standard deviation of their demonstrations. A new primitive is created automatically if the provided demonstration is out of 2 standard deviation of the existing primitives, otherwise the demonstration is distributed to an existing one.

ROS Optitrack Publisher

Keywords: Target tracking - Robot Operating System (ROS)

Functional Description

This package allows to publish optitrack markers declared as rigid bodies as TF transforms. Data is gathered through the embedded VRPN server of Motive/Arena. Only rigid bodies are requested to the server, thus single points in 2D/3D are ignored. VRPN server can be enable in View > Data streaming in Motive.