Society is rapidly opening its doors to robots in our daily life with autonomous vehicles, rehabilitation devices and autonomous appliances. These robots will face unexpected changes in their environment, to which they will have to react immediately and appropriately. Even though robots exceed largely humans’ precision and speed of computation, they are far from matching humans’ capacity to adapt rapidly to unexpected changes. The SAHR project aims at developing new control methods for robots that will enable them to learn gradually complex motor skills.
To ensure speeding response in the face of unexpected changes, we target controllers that can re-plan at run time and on-the-fly. We take a novel approach to robot learning that follows stages of skill acquisition in humans. To inform modelling, we conduct a longitudinal study of the acquisition of dexterous bimanual skills in watchmaking a unique craftsmanship. We study how humans exploit task uncertainty to overcome their sensory-motor noise, and how humans learn bimanual synergies to reduce the control variables. This study informs the design of novel learning strategies for robots that exploit failures as much as successes. We combine traditional optimal control approach with machine learning (ML) to learn feasible control laws, retrievable at run time with no need for further optimization. We exploit properties of dynamical systems (DS), which have received little attention in robot control, and use ML to identify characteristics of DS, in ways that were not explored to date. The approach is assessed in live demonstrations of coordinated adaptation of a multi-arm/hand robotic system engaged in a fast-paced industrial task, in the presence of humans.
Introduction to Watchmaking Task
We follow a cohort of apprentices in watchmaking over a period of two years. We focus on the acquisition process of dexterous bimanual manipulation skills in watchmaking tasks.
We focus on the assembly and disassembly of three components on the watchface: screw, plate, and spring. Three tools are used during manipulation: screwdriver, tweezers, and stick.
We collect both tactile sensing information (applied force) and kinematic information (hand motion) of human subjects during watchmaking tasks. For this purpose, we have established a data collection system, which consists of two systems: Tactile Sensing System and Motion Capture System.
Experimental Setup for Data Collection
For the tactile sensing system, we use three types of sensors to record contact information during manipulation.
(1) Finger TPS Sensors, to record pressure applied on finger phalanges. For each hand, 6 finger TPS sensors are mounted (12 sensors in total) to cover the distal phalanges (thumb, index finger, middle finger) and intermediate phalanges (index finger, middle finger, ring finger).
(2) ATI Nano17 Force/Torque sensor, mounted on the support of the watchface to record the force and torque signals applied to the watchface.
(3) The DigiTacts sensing systems that comprise sensing elements array are mounted on the surfaces of the tool to record applied pressure during manipulation.
The motion capture system is arranged for the recording of kinematic data of human motion: a camera array consisting of 8 GoPro cameras are mounted surrounding the workspace to capture the human hand movement at high speed and high resolution from multiple perspectives. Twenty-five trackers are pasted on each hand to enable the recording of 3D trajectories of each finger joint, which are used to reconstruct the hand skeleton model as well as to reproduce hand motion afterwards.
The video recording work is undertaken by Pomelo Sàrl.
Data Analysis and Modelling
Breakdown of the Manipulation Time
To analyse the complex human motions during watchmaking task, we segment the recorded human motion data in order to breakdown the entire manipulation process into sequential simple action components. For example, a single complete assembly/disassembly process consists of actions like adjusting base pose, selecting tools, adjusting hand pose, pick and place (of target components), localizing tools, executing assembly/disassembly actions.
Part of the data analysis work is conducted in collaboration with Pomelo Sàrl.
Average Failures per Manipulation
We analyse the collected human motion data from several perspectives. We evaluate and compare the motion of subjects at different skill levels to understand the evolvement of manipulation skills. For example, failures happen during complicated manipulation tasks, such as dropping components, breaking fragile components, failed in localizing tools, and so on. Results from preliminary analysis show that subjects from different skill levels display a significant difference in average failure rate, and failures happen more often in the early stages of learning watchmaking tasks.
Our research also focuses on the failures during executions. We study how human manages to generate new successful motions after the occurrence of failures, in order to develop strategies that enable robots learning from failed demonstrations.
Human Hand Skeleton Model of Manipulating Screwdriver
We reconstruct skeleton models of human hand from the collected kinematic data using OpenSim. Combined with the pressure information recorded on the finger phalanges, we analyse the adjustment of hand pose, synergy of fingers, activities of tendons during different manipulation tasks.
Each human hand has 27 degrees of freedoms (DoFs), some of which are redundant in specified manipulation tasks. We analyse the task constraints to identify the required DoFs for planning the robotic task.
Human changes finger configurations to satisfy different task constraints. As an example, in the manipulation of the screwdriver, three fingers are mainly required: thumb, index finger, and middle finger. The distal phalanx of thumb, along with the distal phalanges of middle and ring fingers, move in collaboration to apply friction to the surface of screwdriver for generating rhythmic rotation movements. In the meantime, the index finger applies constant pressure on the top of the screwdriver to maintain the stability of the screwdriver.
Human Hand Skeleton Model of Manipulating Tweezers for Picking Components
To manipulate tweezers for a pick and place motion, the hand constructs a force closure to realize a stable manipulation as well as to compensate the possible perturbations occur on the tip of tweezers.
Human Hand Skeleton Model of Manipulating Tweezers for Watch Components Disassembly
While using the tweezers for disassembly tasks, subjects often prefer to use fingers to wrap the tweezers, so that the movement of the tweezers along the radial direction is constrained when a force is desired to be applied in the normal direction.
Example: Spring Assembly – A Challenging Bimanual Manipulation Task
The assembly of spring on the watchface is one of the most challenging skills that the apprentices must learn to master during study.
On the one hand, the spring is a very tiny component on the watchface, thus motion of high precision is required during the pick and place movement. On the other hand, the spring must be properly deformed during assembly, in order to save elastic potential energy in it. Therefore, appropriate force must be applied (usually by the dominant hand with tweezers) in the correct direction, while the position of the spring must be maintained (usually by the assistant hand, using the wooden stick) unchanged in the meantime.
The correct way to assemble the spring is demonstrated in the following video.
Either inappropriate manipulation direction or improper application of force may result in failures, even the damage of components. Following videos illustrate the typical failures occur during the assembly: the spring flies away.
Dynamical System-based Skill Modelling
Dynamical system (DS) based control approaches offer a framework for robust control with the capability of fast adaptation from unexpected perturbations. In this project, we use time-invariant DSs to model complex movements, such as combined control of limb motion, from the collected human demonstration data with single or multiple equilibrium states.
Learned Dynamical System from Human Demonstration Data
Dynamical systems offer a robust control of the robot, by allowing to adapt the movement rapidly in case of perturbations. In fact, as we can see in the figure below, we can generalize collected movement data (shown in red) to the whole workspace (blue arrows). The diagram shows a model that can switch between a point-to-point motion towards an attractor (reaching the screw in a. and going back in c.) and a periodic motion (b.), such as that of screwing or unscrewing that we find in watchmaking tasks.
As illustrated in the figure below, a DS model can also be exploited for embedding velocity and force to enable admittance control during a haptic task with an attractor at the origin. This DS modelling may be useful for the control of interactions in bimanual tasks including the interaction of forces.