Table of Contents
Fetching ...

Combining Movement Primitives with Contraction Theory

Moses C. Nah, Johannes Lachner, Neville Hogan, Jean-Jacques Slotine

TL;DR

This modular framework enables a divide-and-conquer strategy to simplify the programming of complex robot motion planning and has potential to address diverse challenges in robot motion planning.

Abstract

This paper presents a modular framework for motion planning using movement primitives. Central to the approach is Contraction Theory, a modular stability tool for nonlinear dynamical systems. The approach extends prior methods by achieving parallel and sequential combinations of both discrete and rhythmic movements, while enabling independent modulation of each movement. This modular framework enables a divide-and-conquer strategy to simplify the programming of complex robot motion planning. Simulation examples illustrate the flexibility and versatility of the framework, highlighting its potential to address diverse challenges in robot motion planning.

Combining Movement Primitives with Contraction Theory

TL;DR

This modular framework enables a divide-and-conquer strategy to simplify the programming of complex robot motion planning and has potential to address diverse challenges in robot motion planning.

Abstract

This paper presents a modular framework for motion planning using movement primitives. Central to the approach is Contraction Theory, a modular stability tool for nonlinear dynamical systems. The approach extends prior methods by achieving parallel and sequential combinations of both discrete and rhythmic movements, while enabling independent modulation of each movement. This modular framework enables a divide-and-conquer strategy to simplify the programming of complex robot motion planning. Simulation examples illustrate the flexibility and versatility of the framework, highlighting its potential to address diverse challenges in robot motion planning.
Paper Structure (30 sections, 25 equations, 4 figures)

This paper contains 30 sections, 25 equations, 4 figures.

Figures (4)

  • Figure 1: Dynamic movement primitives (DMP) for (A-D) discrete and (E-F) rhythmic movements and their (B, F) scaling, (C, G) rotational, and (D, H) temporal invariance properties. Discrete and rhythmic movements are depicted with blue and orange colors, respectively. (A, E) Discrete and rhythmic DMPs for letter A and heart, respectively. DMP parameters used for Imitation Learning: $\alpha_z=100$, $\beta_z=25$, $\alpha_s=1.0$, $N=50$, $P=1200$, $\tau_{d}^{(d)}=\tau_{r}^{(d)}=1.0$s, $T=2\pi$, $\mathbf{S}=\mathbb{I}_2$. (B, F) Spatial invariance property for discrete and rhythmic DMPs (Section \ref{['subsubsec:spatial_temporal_invariance']}). Values used for spatial scaling: $\kappa_s=0.1, 0.2, 0.3, 0.5, 0.8, 1.0, 1.5, 2.0$, ordered from left to right for discrete DMP (B), ordered from inside to outside for rhythmic DMP (F). (C, G) Rotational invariance property for discrete and rhythmic DMPs (Section \ref{['subsubsec:rotational_invariance']}). Spatial rotation matrices used for rotation: $\mathbf{R}=\text{rotz}(0^{\circ}),\text{rotz}(60^{\circ}), \text{rotz}(120^{\circ}), \text{rotz}(180^{\circ}), \text{rotz}(240^{\circ}), \text{rotz}(300^{\circ})$, ordered counterclockwise from the colored trajectories; $\text{rotz}$ denotes the rotation along $+Z$, which is positive out of the page. (D, H) Temporal invariance property for discrete and rhythmic DMPs (Section \ref{['subsubsec:spatial_temporal_invariance']}). Trajectories on top, middle, bottom rows depict trajectories generated by temporal scaling values of $\kappa_t=0.5, 1.0, 2.0$, respectively. Ordered from left to right columns, trajectories at time $t=[0.25, 0.50, 0.75, 1.0, 1.25, 1.5, 1.75, 2.0]\tau_{d}^{(d)}$ and $t=[0.25, 0.50, 0.75, 1.0, 1.25, 1.5, 1.75, 2.0]T$ are depicted for figure (D) and (H), respectively. For all figures, circle markers depict the start position for discrete and rhythmic DMPs; diamond markers depict the goal position of discrete DMP. For figures (B-D) and (E-G), blue and orange trajectories depict the trajectories in (A) and (B), respectively.
  • Figure 2: Parallel combination of both discrete and rhythmic DMPs. (A) Parallel combination of discrete DMPs. For the combination, primitive inputs to generate the letters A and B were used. (B) Parallel combination of discrete and rhythmic DMPs. For the combination, primitive inputs to generate letter A (discrete) and heart (rhythmic) were used. (C) Parallel combination of rhythmic DMPs. For the combination, primitive inputs to generate heart and circle were used. For the 11 trajectories of each figure, the parameters used for parallel combination were $\alpha_1=[0.0,0.1,\cdots, 1.0]$ and $\alpha_2=1-\alpha_1$, ordered from left to right. DMP parameters used for Imitation Learning were identical to those in Figure \ref{['fig1']}. For all DMPs, the parameters for spatial scaling and rotation were $\kappa_{s}=1.0$, $\mathbf{R}=\mathbb{I}_2$. For temporal scaling, $\kappa_t=1.0$ was used for the trajectories in figure (A) and (C); for figure (B), $\kappa_t=0.25, 6.00$ were used for letter A (discrete) and heart (rhythmic), respectively. For all figures, circle markers depict the start position for discrete and rhythmic DMPs; diamond markers depict the goal position of discrete DMP.
  • Figure 3: Sequential combination of both discrete and rhythmic DMPs. (A) Sequential combination of three discrete DMPs, which generate Alphabets "R", "A" and "L". (B) Sequential combination of two discrete DMPs, which generate Alphabets "R" and "B", and one rhythmic DMP which generates a circular trajectory. DMP parameters used for Imitation Learning were identical to those in Figure \ref{['fig1']}. Black filled trajectories depict the result of the sequenced DMP; blue and orange dotted trajectories depict the trajectory of each individual discrete and rhythmic DMPs, respectively; circle and diamond markers depict the start and goal positions of discrete DMP, respectively. Time offsets for each movements (Eq. \ref{['eq:sequential_combination_primitives']}): (A) $t_{off,1}=0.0$s, $t_{off,2}=0.969$s, $t_{off,3}=1.939$s; (B) $t_{off,1}=0.0$s, $t_{off,2}=0.970$s, $t_{off,3}=4.499$s. The corresponding parameters for the activation function (Eq. \ref{['eq:activation_function']}) were selected to achieve a smooth transition to the subsequent trajectory.
  • Figure 4: Parallel and sequential combinations of both discrete and rhythmic DMPs. On the sequenced trajectory used in Figure \ref{['fig3']}B, additional rhythmic DMPs were parallel combined. For the circular trajectory and letter B, rhythmic DMPs for heart (Figure \ref{['fig2']}B) and infinity symbol were parallel combined, respectively.