# Kinesthetic Learning Based on Fast Marching Square Method for Manipulation
## 1 Introduction
* The proposed approach can handle high-dimensional data and it can learn from one or more demonstrations. * The method presents an ability to explore unknown environments even if it has not been taught beforehand, searching for the fastest paths. In addition, this exploration allows one to work on dynamic environments where objects that were not accounted for during data acquisition are present. * It can guarantee a correct performance regardless of the variation of starting points even in the case of high-dimensional complex motions. * It is robust against erroneous paths learned during data acquisition. * The method overcomes state-of-the-art methods in terms of similarity with respect to demonstrations. * The method improves on previous works because it can be applied to a real robot, makes use of kinesthetic learning techniques and can be applied in both 2D and 3D. The work presented in this paper is focused on the use of a specific learning method known as learning by imitation [10], which is also referred to as programming by demonstration (PbD) [11]. In this type of learning, the robot is provided with a set of demonstrations as input. These demonstrations can be given in different ways, including by observing human demonstrators doing a task, collecting data by haptic devices and physically guiding the robot to emulate the task that must be learned (i.e., kinesthetic teaching). When dealing with learning by human demonstration, motion capture (MOCAP) suits are usually the preferable option, as highlighted in [12]. This methodology is based on marker point measurements from a 3D motion capture system. However, it requires the system to deal with the re-targeting problem, since robotic arm joints do not necessarily have the same structure as the human arm. Regarding haptic learning, there are different options that can be developed. One of the most common ways consists in the use of some haptic device which may be similar to a joystic [13] that the user controls to generate training data. Other common ways to work with the haptic method are based on the use of a twin master to capture data [14]. Typically, that twin master is a simplified version of the robotic arm, which is provided with a sufficient amount of sensors to capture the required data and to report the user through haptic information on any problem that may occur. Another important detail is that those devices normally have the same structure as the real arm, which eliminates the retargeting problem. However, these haptic-based method have some drawbacks. Given the great amount of DoF of manipulator arms, it may not be intuitive to operate these devices through just a joystick. In case of using a twin master, possible delays between the twin and the real arm movements could also occur, which could lead to delays in data collection or even potential collisions when performing complex trajectories. Kinesthetic teaching solves all these problems. First of all, as for the demonstration (data collection) and reproduction of the learned movements, the same embodiment is used: the real robot. Hence, the re-targeting problem does not appear and furthermore, no delays in the data acquisition process exist. Second of all, data collection is performed in an very intuitive way by moving the robotic arm through the desired positions. This process generates point-to-point trajectories, which will be used as input for the learning algorithm. When performing kinesthetic teaching, two different types of tasks can be identified. Firstly, there are tasks where the path does not necessarily require critical accuracy. In those kind of tasks, the main objective is not to move to a specific point but to perform a certain controlled dynamic in the movement. This type of task focuses on teaching the robot how to complete a given task without any data about the initial or goal position.