<<

Temporally Coupled Dynamical Movement Primitives in Cartesian Space

Martin Karlsson* Anders Robertsson Rolf Johansson

Abstract— Control of robot orientation in Cartesian space implicates some difficulties, because the group SO(3) is not contractible, and only globally contractible state spaces support continuous and globally asymptotically stable feedback control systems. In this paper, unit are used to rep- resent orientations, and it is first shown that the unit minus one single is contractible. This is used to design a control system for temporally coupled dynamical movement primitives (DMPs) in Cartesian space. The functionality of the control system is verified experimentally on an industrial robot.

I.INTRODUCTION Industrial robots typically work well for tasks where accurate position control is sufficient, and where work spaces and robot programs have been carefully prepared, so that Fig. 1: The ABB YuMi robot [16] used in the experiments. hardware configurations can be foreseen a priori by robot programmers in each step of the tasks. Such preparation is very consuming, and introduces high costs in terms of made practically realizable in [13], and proven exponentially engineering work. Further, the arrangements are sensitive to stable in [14]. However, these previous results are applicable variations, e.g., uncertainties in work object positions, small only if the robot state space is Euclidean, which is not true differences between individual work objects, etc. This has for orientation in Cartesian space. Higher levels of robot prohibited the automation of a range of tasks, including control typically operate in Cartesian space, for instance to seemingly repetitive ones such as assembly tasks and short- control the pose of a robot end-effector or an unmanned series production. aerial vehicle. It would therefore be beneficial if the capabilities of In this paper, we therefore address the question of whether robots to adapt to their surroundings could be improved. the control algorithm in [13] could be extended also to The framework of dynamical movement primitives (DMPs), incorporate orientations. Because a contractible state space used to model robot movement, has an emphasis on such is necessary for design and analysis of a continuous globally adaptability [1]. For instance, the time scale and goal position asymptotically stable control law (see Sec. II), we first of a movement can be adjusted through one parameter each. investigate the contractibility properties of the quaternion The fundamentals of DMPs have been described in [1], and set used to represent orientations. A space is contractible earlier versions have been introduced in [2], [3], [4]. DMPs if and only if it is homotopy equivalent to a one-point space have been used to modify robot movement based on moving [15], which intuitively means that the space can be deformed arXiv:1905.11176v1 [cs.RO] 27 May 2019 targets in the context of object handover [5], and based continuously to a single point; see, e.g., [15] for a definition on demonstrations by humans [6], [7], [8], [9]. In most of of homotopy equivalence. the previous research, it has been assumed that the robot configuration space is a real coordinate space, such as joint space or Cartesian position space; see, e.g., [5], [6], [8], [10], A. Contribution [11]. However, in [12] DMPs were formulated for orientation This paper provides a control algorithm for DMPs with in Cartesian space. temporal coupling in Cartesian space. It extends our previous Temporal coupling for DMPs enables robots to recover research in [13], [14] by including orientation in Cartesian from unforeseen events, such as disturbances or detours space. Equivalently, it extends [12] by including temporal based on sensor data. This concept was introduced in [1], was coupling. Furthermore, it is shown that the quaternion set * The authors work at the Department of Automatic Control, Lund minus one single point is contractible, which is a necessary University, PO Box 118, SE-221 00 Lund, Sweden. property for design of a continuous and globally asymptoti- [email protected] cally stable control algorithm. Finally, the theoretical results The research leading to these results has received funding from the Vinnova project Kirurgens Perspektiv. The authors are members of the LCCC are verified experimentally on an ABB YuMi robot; see Linnaeus Center and the ELLIIT Excellence Center at Lund University. Fig. 1 and [16]. TABLE I: Notation used in this paper. All quaternions a restriction of f. Since a restriction of a represent orientations and are therefore of unit length. For is also a homeomorphism [23], f2 is a homeomorphism, and such quaternions, the inverse is the same as the conjugate. hence X \ p =∼ Y \ f(p). Notation Description We will also use that homeomorphism preserves con- H Unit quaternion set tractibility. n n+1 S ∈ R Unit sphere of n ∼ 3 Lemma 3: If X = Y , and X is contractible, then Y is ya ∈ R Actual robot position 3 g ∈ R Goal position also contractible. 3 yc ∈ R Coupled robot position Proof: Since X =∼ Y , they are homotopy equivalent qa ∈ H Actual robot orientation according to Lemma 1. In turn, X is contractible and qg ∈ H Goal orientation qc ∈ H Coupled robot orientation therefore homotopy equivalent to a one-point space. Hence 3 ωc ∈ R Coupled angular velocity Y is also homotopy equivalent to a one-point space, and q0 ∈ H Initial robot orientation therefore contractible. h Quaternion difference space dcg ∈ h Difference between qc and qg 3 B. The quaternion set minus one point is contractible z, ωz ∈ R DMP states + αz, βz, kv, kp ∈ R Constant control coefficients n + First, it will be shown that the unit sphere (see τ ∈ R Nominal DMP time constant S + τa ∈ R Adaptive time parameter Definition 1) minus a point is contractible. This will then + 3 x ∈ R Phase variable be applied to H, which is homeomorphic to S [24]. + αx, αe, kc ∈ R Positive constants 6 Definition 1: Let n be a non-negative . The unit f(x) ∈ R Learnable virtual forcing term 3 sphere with dimension n is defined as fp(x), fo(x) ∈ R Position and orientation components + Nb ∈ Z Number of functions n  n+1 6 = p ∈ | kpk = 1 Ψj (x) ∈ R The j:th basis function vector S R 2 (1) 6 n n wj ∈ R The j:th weight vector Theorem 1: The unit sphere minus a point p ∈ , 3 S S e ∈ R × h Low-pass filtered pose error denoted n \ p, is contractible. e ∈ 3 Position component of e S p R Proof: n ≥ 1 eo ∈ h Orientation component of e Consider first the case . There exists a 3 n n y¨r, ω˙ r ∈ R Reference robot acceleration mapping from S \ p to R called stereographic projection 22 3 ξ ∈ R × h DMP state vector from p, which is a homeomorphism. Thus, Sn \p =∼ Rn [25], q¯ ∈ H Inverse of quaternion q n ' Homotopy equivalence [18]. See Fig. 2 for a visualization of these spaces. Since R =∼ Homeomorphic relation is a it is contractible, and it follows from Lemma 3 that Sn \ p is also contractible. Consider now the case n = 0. The sphere S0 consists of the pair of points {−1, 1} according to Definition 1. Thus II.ACONTRACTIBLE S0 \ p consists of one point only, and homotopy equivalence OFTHE UNIT QUATERNION SET with a one-point space is trivial. Hence S0 \p is contractible. The fundamentals of mathematical topology and set theory are described in, e.g., [15], [17], [18]. As noted in [19], the Remark 1: Albeit we consider unit spheres in this paper, rotation group SO(3) is not contractible, and therefore it is it is not necessary to assume radius 1 in Theorem 1. Further, not possible for any continuous state-feedback control law it is arbitrary which point p ∈ Sn to remove. to yield a globally asymptotically stable equilibrium point in Theorem 2: The set of unit quaternions H minus a point SO(3) [20], [21]. Contractibility is also necessary to apply the q˜ ∈ H, denoted H \ q˜, is contractible. contraction theory from [22], as done in [14]. In this paper, Proof: The set H is homeomorphic to S3 [24]. There- unit quaternions are used to parameterize SO(3). Similarly to fore H \ q˜ =∼ S3 \ p for some point p ∈ S3, according SO(3), the unit quaternion set, H, is not contractible. In this to Lemma 2. Theorem 1 with n = 3 yields that S3 \ p section however, is is shown that it is sufficient to remove is contractible, and because of the homeomorphic relation, one point from H to yield a contractible space. Table I lists Lemma 3 yields that H \ q˜ is also contractible. some of the notation used in this paper. It is noteworthy that the contractible subset H \ q˜ is the largest possible subset of , because one point is the smallest A. Preliminary topology H possible subset to remove. Hence, it is guaranteed that no un- We will use that homeomorphism (defined in, e.g., [17]) necessary restriction is made in Theorem 2, though there are is a stronger relation than homotopy equivalence. other, more limited, of H that are also contractible. Lemma 1: If two spaces X and Y are homeomorphic, Sometimes only half of H, for instance the upper half of then they are homotopy equivalent. the quaternion hypersphere, is used to represent orientations. Proof: See Lemma 6.11 in [17]. However, instead of continuous transitions between the half Lemma 2: Assume that X =∼ Y , with a homeomorphism spheres this results in discontinuities within the upper half f : X → Y . Then X minus a point p ∈ X, denoted X \ p, sphere [24]. In the context of DMPs and automatic control is homeomorphic to Y \ f(p). such discontinuities would cause severe obstructions, which Proof: Consider the function f2 : X \ p → Y \ f(p), motivates the search for the largest possible contractible and let f2(x) = f(x) ∀x ∈ X \ p. It can be seen that f2 is subset of H. One of the experiments (Setup 3 in Sec. IV) 1 1 so that for instance 0.5 0 \ p 0.5 0 =p ˆ S R dcg = d(qcq¯g) = 2 · Im[log(qcq¯g)] (3) ∼ 0 = 0 represents the difference between coupled and goal orienta- −0.5 −0.5 tions. This mapping preserves the contractibility concluded in Sec. II, as established by Theorem 3. −1 −1 Theorem 3: The orientation difference space h is con- −1 −0.5 0 0.5 1 −1 −0.5 0 0.5 1 tractible. 1 1 Proof: The mapping 1 1 0.5 S \ p 0.5 R ' pˆ d : H \ (−1, 0, 0, 0) → h (4) ∼ 0 = 0 has the properties necessary to qualify as a homeomorphism. −0.5 −0.5 It is one-to-one [26] and onto, continuous (since the point (−1, 0, 0, 0) has been removed), and its inverse (division by 2 −1 −1 followed by the exponential map) is also continuous. Further, −1 −0.5 0 0.5 1 −1 −0.5 0 0.5 1 its domain H \ (−1, 0, 0, 0) is contractible (see Theorem 2), 2 and therefore its image h is contractible (see Lemma 3). S \ p 2 1 1 R ' pˆ Using the function d, a coupled DMP pose trajectory is modeled by the dynamical system 0 =∼ 0 τaz˙ = αz(βz(g − yc) − z) + fp(x) (5) −1 −1 τay˙c = z (6) 1 1 1 1 0 0 0 0 τaω˙ z = αz(βz(−dcg) − ωz) + fo(x) (7) −1 −1 −1 −1 τaωc = ωz (8) n \ p n Fig. 2: Visualization of S (left) and R (right) for Here, x is a phase variable that evolves as n = 0, 1, 2. The red cross marks a point p removed from the unit sphere. Each space to the left is homeomorphic to the τax˙ = − αxx (9) corressponding space to the right, i.e., Sn \ p =∼ Rn. In turn, n Further, f (x) is a virtual forcing term in the orientation R is homotopy equivalent to a point (for instance pˆ marked o n domain, and each element i of f (x) is given by by a purple dot in each plot to the right) and therefore S \p o is contractible according to Lemma 3. Higher are PNb Ψ (x)w 2 i j=1 i,j i,j difficult to visualize, and therefore S is commonly used to fo(x) = x · di(qgq¯0) (10) PNb visualize parts of the quaternion set, as done in Fig. 10. j=1 Ψi,j(x)

where each basis function, Ψi,j(x), is determined as ! provides an example of when both half spheres are necessary 1 Ψ (x) = exp − (x − c )2 for a continuous representation of the robot orientation. i,j 2 i,j (11) 2σi,j III.CONTROL ALGORITHM Here, σ and c denote the width and center of each basis In this section, we augment the controller in [13], [14] function, respectively. The forcing term fp(x) is determined to incorporate orientation in Cartesian space. The resulting accordingly, see [13], [14]. Further, the parameters of f(x) algorithm can also be seen as a temporally coupled version of can be determined based on a demonstrated trajectory by the Cartesian DMPs proposed in [12]. The pose in Cartesian means of locally weighted regression [27], as described in space consists of position and orientation. The position [1]. control in this paper is the same as described in [13], [14], All dimensions of the robot pose are temporally coupled except that it is also affected by the orientation through the through the shared adaptive time parameter τa. Denote by ya the actual position of the robot, and by qa the actual shared time parameter τa in this paper. Similar to the approaches in [12], [26], we define a orientation. The adaptive time parameter τa is determined based on the low-pass filtered difference between the actual difference between two quaternions, q1 and q2, as and coupled poses as follows. d(q1q¯2) = 2 · Im[log(q1q¯2)] ∈ h (2) e˙p = αe(ya − yc − ep) (12) where h is the orientation difference space, defined as the e˙o = αe(dac − eo) (13) image of d, and Im denotes the imaginary quaternion part, e = [eT eT ]T (14) q q¯ 6= (−1, 0, 0, 0) p o assuming for now that 1 2 . This is elabo- T rated on in Sec. VI. Further, we will use a shorter notation, τa = τ(1 + kce e) (15)   This causes the evolution of the coupled system to slow down Feedforward y¨c in case of configuration deviation; see [1], [13]. Moreover, ω˙ c   y¨    the controller below is used to drive ya to yc, and qa to qc. yc r ya q ω˙ r q c PD a DMP P Robot y¨r = kp(yc − ya) + kv(y ˙c − y˙a) +y ¨c (16) controller ω˙ r = −kpdac − kv(ωa − ωc) +ω ˙ c (17) Feedback This can be seen as a pose PD controller together with the feedforward terms y¨c and ω˙ c. Here, y¨r and ω˙ r denote Fig. 3: The control structure for temporally coupled Cartesian reference accelerations sent to the internal controller of DMPs. The block denoted ’Robot’ includes the internal con- the robot, after conversion to joint values using the robot troller of the robot, together with transformations between 2 Jacobian [28]. We let kp = kv/4, so that (16) – (17) represent Cartesian and joint space for low-level control. The ’DMP’ a critically damped control loop. Similarly, βz = αz/4 [3]. block corresponds to the computations in (5) – (15). The PD The control system is schematically visualized in Fig. 3. controller and the feedforward terms are specified in (16) – We model the ’Robot’ block as a double integrator, so that (17). This forms a cascade controller, with the DMP as outer y¨a =y ¨r and ω˙ a =ω ˙ r, as justified in [14] for accelerations controller and the PD as the inner. with moderate magnitudes and changing rates. In summary, the proposed control system is given by

y¨ = −kp(y − yc) − kv(y ˙ − y˙c) +y ¨c (18)

ω˙ a = −kpdac − kv(ωa − ωc) +ω ˙ c (19)  T  h T T i e˙ = αe [y − yc] dac − e (20)

T τa = τ(1 + kce e) (21) (a) (b) τax˙ = −αxx (22) Fig. 4: Photographs of a trial of Setup 1. The robot was τ y˙ = z (23) a c initially released from the pose in (a), with an offset to the τaz˙ = α(β(g − yc) − z) + fp(x) (24) goal pose. In (b), the goal pose was reached. τaωc = ωz (25)

τaω˙ z = α(β(−dcg) − ωz) + fo(x) (26) which was available in the YuMi product by default. In each We introduce a state vector ξ as trial, the temporally coupled DMP was executed while the   magnitudes of the states in (27) were logged. y − yc Perturbations were introduced by physical contact with a  y˙ − y˙   c  human. This was enabled by estimating joint torques induced    dac  by the contact, and mapping these to Cartesian contact   ω − ω  forces and torques using the robot Jacobian. A corresponding  a c   acceleration was then added to the reference acceleration  e  22 3 ξ =   ∈ R × h (27) y¨r as a load disturbance. However, we emphasize that this  x    paper is not focused on how to generate the perturbations    yc − g  themselves. Instead, that functionality was used only as an    z  example of unforeseen deviations, and to investigate the     stability properties of the proposed control algorithm.  dcg  A video of the experimental arrangement is available as an w z attachment to this paper, and a version with higher resolution is available in [32]. The setups were as follows. IV. EXPERIMENTS Setup 1. This setup is visualized in Fig. 4. Prior to the The control law in Sec. III was implemented in the Julia experiment, a test DMP that did not perform any particular programming language [29], to control an ABB YuMi [16] task was executed, and the robot then converged to the goal robot. The Julia program communicated with the internal pose, i.e., to ya = yc = g and dac = dcg = 0. Thereafter, robot controller through a research interface version of the operator pushed the end-effector, so that the actual pose Externally Guided Motion (EGM) [30], [31] at a sampling deviated from the coupled and goal poses. The experiment rate of 250 Hz. was initialized when the operator released the robot arm. The Three different setups were used to investigate the behav- purpose of this procedure was to examine the stability of the ior of the controller. As preparation for each setup, a tem- subsystem in (18) – (20). A total of 100 perturbations were porally coupled Cartesian DMP had been determined from conducted. a demonstration by means of lead-through programming, Setup 2. See Fig. 5. The task of the robot was to reach a (a) (b) (a) (b)

(c) (d) (c) (d) Fig. 5: Photographs of a trial of Setup 2. The DMP was Fig. 6: Photographs of a trial of Setup 3. The robot started executed from the home position (a), and was perturbed its movement from the configuration in (a). The end-effector twice on its way toward the goal (b). It recovered from these was rotated as indicated by the red arrows, which resulted perturbations (c), and reached the goal at the work object (d). in a rotation larger than π from start to goal. The robot was perturbed twice by the operator (b), recovered and continued its movement (c), and accomplished the handover (d). work object (in this case a gore-tex graft used in cardiac and vascular surgery) from its home position. A DMP defined ||y − y || [m] for this purpose was executed, and the operator introduced 1.5 a c ||y˙ − y˙ || [m/s] two perturbations during the robot movement. The purpose of a c ||d || [rad] this setup was to investigate the stability of the entire control 1 ac ||ω − ω || [rad/s] system in (18) – (26). A total of 10 trials were conducted. a c 0.5 ||e|| [1] Setup 3. See Fig. 6. The task of the robot was to hand over the work object from its right arm to its left. The movement 0 was specifically designed to require an end-effector rotation 0 1 2 3 4 angle of more than π, thus requiring both the upper and the Time [s] lower halves of the quaternion hypersphere (see Fig. 10), and not only one of the halves which is sometimes used [24]. Fig. 7: Data from a trial of Setup 1. The notation k · k Such movements motivate the search for the largest possible represents the 2-, and the unit symbol [1] indicates dimensionless quantity. The experiment was initialized with contractible subset of H in Sec. II. Similar to Setup 2, the purpose was to investigate the stability of (18) – (26), and some position error ya − yc and orientation error dac. The 10 trials were conducted. operator released the robot at t = 0. It can be seen that each state converged to 0. V. RESULTS Figures 7–10 display data from the experiments. Figure 7 shows the magnitude of the states during a trial of Setup 1, expected given a sufficient number of DMP basis functions. and it can be seen that each state converged to 0 after the The perturbations can be seen in the bottom plots, which robot had been released. Similarly, Figs. 8 and 9 show data show qa relative to qc. Though qaq¯c was very close to from Setup 2 and 3 respectively, and it can be seen that the the identity quaternion for most of the time, it deviated robot recovered from each of the perturbations. Further, each significantly twice per trial as a result of the perturbations. state subsequently converged to 0. All trials in a given setup Setup 3 is an example of a movement where it would not gave similar results. Further, these results suggest that the be possible to restrict the quaternions to the upper half control system (18) – (26) is exponentially stable. sphere, without introducing discontinuities. This is shown Figure 10 shows orientation data from Setup 2 (left) in Figure 10, as quaternions were present not only on the and Setup 3 (right). The upper plots show quaternions for upper half sphere, but also on the lower, for Setup 3. the demonstrated paths, qd, determined using lead-through VI.DISCUSSION programming prior to the experimental trials, relative to the goal quaternions qg. The middle plots show coupled In each of the experiments, the robot recovered from the orientations qc relative to qg. It can be seen that the paths perturbations and subsequently reached the goal pose, which of qd and qc were similar for each of the setups, which was was the desired behavior. Further, the behavior corresponded ||ya − yc|| [m] see Fig. 10. In Sec. III, the removed point q˜ was chosen as 1 ||y˙a − y˙c|| [m/s] (−1, 0, 0, 0), which corresponds to a full 2π rotation from the

||dac|| [rad] identity quaternion. A natural question is therefore how to (−1, 0, 0, 0) q q¯ q q¯ 0.5 ||ωa − ωc|| [rad/s] handle the case where is visited by a c or c g. ||e|| [1] In theory, almost any control signal could be used to move the orientations away from this point, and in practice a single 0 point would never be visited because it is infinitely small. 0 5 10 15 20 25 30 However, in practice some care should be taken in a small x [1] region around (−1, 0, 0, 0), because of possible numerical 2 ||yc − g|| [m] difficulties and rapidly changing control signals. ||z|| [m/s] In this paper, the same control gains were used in the ||dcg|| [rad] 1 position domain as in the orientation domain. This was done ||ωz|| [rad/s] in order to limit the notation, but is not actually required. An interesting direction of future work is to use the 0 proposed controller to warm start reinforcement learning 0 5 10 15 20 25 30 approaches for robotic manipulation. Reinforcement learning Time [s] with earlier DMP versions has been investigated in, e.g., [33], [34], [35], [36]. Fig. 8: Data from a trial of Setup 2. Consider first the upper plot. The two perturbations are clearly visible, and these were recovered from as the states converged to 0. In the lower plot, VII.CONCLUSION it can be seen that the time evolution of the states was slowed In this paper, it was first shown that the unit quaternion set down in the presence of perturbations. It can further be seen minus one point is contractible, thus allowing for continuous that each of the states converged to 0. and asymptotically stable control systems. This was used to design a control algorithm for DMPs with temporal coupling in Cartesian space. The proposed DMP functionality was to that in [13], [14], except that orientations in Cartesian verified experimentally on an industrial robot. space are now supported. Most of the discussion in [13], [14] A video that shows the experiments is provided as an is therefore valid also for these results, and is not repeated attachment to this paper, and a version with higher resolution here. is available in [32]. A mathematical proof that the proposed control system is exponentially stable would enhance the contribution of this paper, but remains as future research. Nevertheless, is has 1.5 ||ya − yc|| [m] now been shown that the topology of h does not prohibit ||y˙a − y˙c|| [m/s] a globally exponentially stable control system. One may 1 ||d || [rad] object that this topological result is not directly necessary ac ||ω − ω || [rad/s] for the control design in Sec. III. However, it is still useful 0.5 a c ||e|| [1] because it rules out the otherwise possible obstruction of a non-contractible state space. This result is relevant not only 0 for DMP applications, but for any control application where 0 5 10 15 20 25 30 35 quaternions are used to represent orientation. Furthermore, 4 the experimental results indicate exponential stability, since x [1] in practice the DMP states converged to 0. 3 ||yc − g|| [m] The magnitude of the difference between two quaternions, ||z|| [m/s] 2 ||dcg|| [rad] ||d(q1q¯2)||, corresponds to the length of a geodesic curve ||ωz|| [rad/s] connecting q1 and q2 [26]. This results in proper scaling 1 between orientation difference and angular velocity in the DMP control algorithm, as explained in [12]. This is the 0 reason why the quaternion difference in (2) was used in [12] 0 5 10 15 20 25 30 35 and in this paper. Time [s] In Sec. II, the largest possible contractible subset of was H Fig. 9: Data from a trial of Setup 3. The organization is the found as \ q˜. Hence, it is not necessary to remove a large H same as in Fig. 8, and similar conclusions can be drawn. In proportion of the quaternion set, which is sometimes done. addition, the required rotation angle from start to goal was For instance, sometimes the lower half of the quaternion larger than π in this setup, which corresponds to ||d || being hypersphere is removed [24], which is unnecessarily limiting. cg larger than π initially. The results from Setup 3 show that this proposed method works also when it is necessary to use both half spheres, H qdq¯g [8] C. Talignani Landi, F. Ferraguti, C. Fantuzzi, and C. Secchi, “A passivity-based strategy for coaching in human-robot interaction,” in Start Identity quaternion IEEE International Conference on Robotics and Automation (ICRA), 1 May 21–25, Brisbane, Australia, 2018, pp. 3279–3284. 1 [9] M. Karlsson, “Human–robot interaction based on motion and force ]

q control,” Ph.D. dissertation, TFRT–1124–SE, Dept. Automatic Control, 0 0 Lund University, Lund, Sweden, 2019. Re[ [10] D. Papageorgiou, A. Sidiropoulos, and Z. Doulgeri, “Sinc-based dy- −1 −1 namic movement primitives for encoding point-to-point kinematic be- −1 1 haviors,” in IEEE/RSJ International Conference on Intelligent Robots −1 −1 0 0 0 0 and Systems (IROS). October 1–5, Madrid, Spain: IEEE, 2018, pp. 1 −1 1 1 8339–8345. [11] D. Yang, Q. Lv, G. Liao, K. Zheng, J. Luo, and B. Wei, “Learning 1 from demonstration: Dynamical movement primitives based reusable 1 suturing skill modelling method,” in Chinese Automation Congress ]

q (CAC). November 30–December 2, Xi’an, China: IEEE, 2018, pp. 0 0 4252–4257. Re[ [12] A. Ude, B. Nemec, T. Petric,´ and J. Morimoto, “Orientation in −1 −1 Cartesian space dynamic movement primitives,” in IEEE International −1 qcq¯g 1 Conference on Robotics and Automation (ICRA), May 31–June 7, 0 0 −1 0 0 −1 1 1 1 Hong Kong, China, 2014, pp. 2997–3004. −1 [13] M. Karlsson, F. Bagge Carlson, A. Robertsson, and R. Johansson, 0.5 0.5 “Two-degree-of-freedom control for trajectory tracking and perturba- tion recovery during execution of dynamical movement primitives,” in The 20th IFAC World Congress, July 9–14, Toulouse, France, 2017, pp. 1959 – 1966. 0 0 [14] M. Karlsson, A. Robertsson, and R. Johansson, “Convergence of dynamical movement primitives with temporal coupling,” in European Control Conference (ECC), June 12–15, Limassol, Cyprus, 2018, pp. qaq¯c 32–39. −0.5 −0.5 [15] A. Hatcher, Algebraic Topology. Cambridge University Press, Cam- −0.5 0 0.5 −0.5 0 0.5 bridge, England, 2002. [16] ABB Robotics. (2019) ABB YuMi. Accessed 2019-02-28. [Online]. Fig. 10: Orientation data from Setup 2 (left) and Setup 3 Available: http://new.abb.com/products/robotics/yumi (right). Quaternions have been projected on S2 for the pur- [17] M. D. Crossley, Essential topology. Springer, London, UK, 2006. pose of visualization. Vertical axes represent quaternion real [18] A. S. Schwarz, Topology for Physicists. Springer, Berlin Heidelberg, Germany, 2013, vol. 308. parts, and horizontal axes represent the first two imaginary [19] C. G. Mayhew, R. G. Sanfelice, and A. R. Teel, “Quaternion-based elements with magnitudes adjusted to yield unit length of the hybrid control for robust global attitude tracking,” IEEE Transactions resulting projection. The bottom plots show the quaternion on Automatic Control, vol. 56, no. 11, pp. 2555–2566, 2011. [20] S. P. Bhat and D. S. Bernstein, “A topological obstruction to con- set seen from above, and hence their real axes are directed tinuous global stabilization of rotational motion and the unwinding out from the figure. phenomenon,” Systems & Control Letters, vol. 39, no. 1, pp. 63–70, 2000. [21] D. E. Koditschek, “Application of a new Lyapunov function to global adaptive attitude tracking,” in 27th IEEE Conference on Decision and REFERENCES Control, December 7-9, Austin, TX, 1988, pp. 63–68. [22] W. Lohmiller and J. J. E. Slotine, “On contraction analysis for non- [1] A. J. Ijspeert, J. Nakanishi, H. Hoffmann, P. Pastor, and S. Schaal, linear systems,” Automatica, vol. 34, no. 6, pp. 683–696, 1998. “Dynamical movement primitives: learning attractor models for motor [23] J. Lehner, Discontinuous Groups and Automorphic Functions. Amer- behaviors,” Neural Computation, vol. 25, no. 2, pp. 328–373, 2013. ican Mathematical Society, Providence, RI, 1964, no. 8. [2] S. Schaal, S. Kotosaka, and D. Sternad, “Nonlinear dynamical sys- [24] S. M. LaValle, Planning Algorithms. Cambridge University Press, tems as movement primitives,” in IEEE International Conference on Cambridge, UK, 2006. Humanoid Robotics, September 7–8, Boston, MA, 2000, pp. 1–11. [25] S. Huggett and D. Jordan, A Topological Aperitif. Springer, London, [3] A. J. Ijspeert, J. Nakanishi, and S. Schaal, “Movement imitation UK, 2009. with nonlinear dynamical systems in humanoid robots,” in IEEE [26] A. Ude, “Filtering in a unit quaternion space for model-based object International Conference on Robotics and Automation (ICRA), vol. 2, tracking,” Robotics and Autonomous Systems, vol. 28, no. 2-3, pp. May 11–15, Washington, DC, May 11-15 2002, pp. 1398–1403. 163–172, 1999. [4] A. Ijspeert, J. Nakanishi, and S. Schaal, “Learning control policies [27] C. G. Atkeson, A. W. Moore, and S. Schaal, “Locally weighted for movement imitation and movement recognition,” in Neural Infor- learning for control,” in Lazy Learning. Dordrecht, Netherlands: mation Processing System (NIPS), vol. 15, December 5–10, Stateline, Springer, 1997, pp. 75–113. Nevada, December 5-10 2003, pp. 1547–1554. [28] M. W. Spong, S. Hutchinson, and M. Vidyasagar, Robot Modeling and [5] M. Prada, A. Remazeilles, A. Koene, and S. Endo, “Implementation Control. John Wiley & Sons, Hoboken, NJ, 2006. and experimental validation of dynamic movement primitives for [29] J. Bezanson, A. Edelman, S. Karpinski, and V. B. Shah, “Julia: A object handover,” in IEEE/RSJ International Conference on Intelligent fresh approach to numerical computing,” arXiv:1411.1607, November Robots and Systems (IROS), September 14–18, Chicago, Illinois, Sept. 2014. 14–18 2014, pp. 2146–2153. [30] ABB Robotics. (2019) Application Manual – Controller Software [6] M. Karlsson, A. Robertsson, and R. Johansson, “Autonomous inter- IRC5. Accessed 2019-02-28. [Online]. Available: https://us.v-cdn.net/ pretation of demonstrations for modification of dynamical movement 5020483/uploads/editor/7y/p0a51v5nb8kg.pdf primitives,” in IEEE International Conference on Robotics and Au- [31] F. Bagge Carlson and M. Haage, “YuMi low-level motion guidance tomation (ICRA), May 29–June 3, Singapore, 2017, pp. 316 – 321. using the Julia programming language and externally guided motion [7] M. Karlsson, “On motion control and machine learning for robotic research interface,” Technical Reports, no. TFRT-7651, 2017, Dept. assembly,” 2017, TFRT–3274–SE, Dept. Automatic Control, Lund Automatic Control, Lund University, Lund, Sweden. University, Lund, Sweden. [32] M. Karlsson. (2018) Exponential stability of temporally coupled DMPs in Cartesian space. Automatic Control, Lund University. [Online]. Available: https://www.youtube.com/watch?v=r0UMux3KH64 [33] F. Stulp, E. Theodorou, M. Kalakrishnan, P. Pastor, L. Righetti, and S. Schaal, “Learning motion primitive goals for robust manipulation,” in IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), September 25–30, San Francisco, CA, 2011, pp. 325– 331. [34] F. Stulp, E. A. Theodorou, and S. Schaal, “Reinforcement learning with sequences of motion primitives for robust manipulation,” IEEE Transactions on Robotics, vol. 28, no. 6, pp. 1360–1370, 2012. [35] F. Stulp, J. Buchli, A. Ellmer, M. Mistry, E. A. Theodorou, and S. Schaal, “Model-free reinforcement learning of impedance control in stochastic environments,” IEEE Transactions on Autonomous Mental Development, vol. 4, no. 4, pp. 330–341, 2012. [36] Z. Li, T. Zhao, F. Chen, Y. Hu, C.-Y. Su, and T. Fukuda, “Reinforce- ment learning of manipulation and grasping using dynamical move- ment primitives for a humanoidlike mobile manipulator,” IEEE/ASME Transactions on Mechatronics, vol. 23, no. 1, pp. 121–131, 2018.