Skip to main content
  • Research Article
  • Open access
  • Published:

Basic study of sensorless path tracking control based on the musculoskeletal potential method


In a musculoskeletal system, the musculoskeletal potential method utilizes the potential property generated by the internal force between muscles; posture control can be achieved by the step input of muscular tension balancing at the desired posture. The remarkable aspect of this method is that neither sensory feedback nor complicated real-time calculation is required at all. However, previous studies addressed only point-to-point control as motion control. In other words, with the focus on the convergence to the desired posture, path tracking has not been discussed. Extending the previous studies, this paper proposes a path tracking control based on a sensorless feedforward approach. The proposed method first finds the optimal set of muscular forces that can form the potential field to the desired potential shape realizing the desired path; next, inputting the obtained muscular forces into the system achieves path tracking. For verification, this paper demonstrates a case study of a musculoskeletal system with two joints and six muscles. In this case study, a constrained nonlinear programming method is used to find the optimal muscular force, and the path trackability is verified by numerical simulation.


One of the goals in robotics is to develop robots with motion performance equivalent to that of humans. One approach is to elucidate the mechanism of human motion generation and transfer it to robotics. Focusing on human motion generation, various hypotheses such as the equilibrium point hypothesis [1], virtual trajectory hypothesis [2], and internal model hypothesis [3] have been proposed from the viewpoint of exercise physiology and other academic fields.

On the other hand, when attention is given to the structure of the human body, a musculoskeletal structure is recognized in which skeletal muscles (hereafter referred to as muscles) are arranged around the skeleton. Because muscles can transmit force in tension only, the number of muscles is larger than the number of degrees of freedom (DOF) for a movement. This redundant drivability generates the internal force among muscles and realizes flexible joint motion by changing the muscular internal force [4]. The existence of polyarticular muscles acting on multiple joints also contributes to the generation of various motions [5, 6]. Regarding the redundancy of muscles, the synergy hypothesis has recently attracted attention as a way to reduce the amount of information for motion generation [7,8,9,10].

In robotics, many systems have been developed that apply such human structures for tendon-driven manipulators [11,12,13] and humanoids [14, 15].

Against such a background, this study focuses on motion generation by the “musculoskeletal potential method”. Using the property that internal force among muscles forms a unique potential field, this method performs position control for a musculoskeletal system by step-inputting the muscular tension balancing at the desired posture [16]. When the potential generated by the input muscular force has the minimum (or local minimum) value at the desired posture, it becomes a stable equilibrium point and the motion converges to the desired posture. The remarkable aspect of this method is that neither sensory feedback nor complicated real-time calculation is required at all, as long as the demanded muscular tension is precisely realized.

However, the stability of this method is extremely sensitive to the muscular arrangement, and even a slight change in this arrangement strongly affects the resultant convergence. Kino et al. analyzed the potential generated by the muscular internal force of a system with two joints and six muscles [16] and clarified the mathematical conditions that the muscular arrangement must satisfy for convergence to the desired posture [17]. Ochi et al. extended this work to clarify the geometrical conditions to be satisfied for the muscular arrangement [18]. Matsutani et al. showed that stability can be improved by combining this method with sensory feedback even in an unstable system in which sensory feedback suffers from dead time [19]. Kosugi et al. showed that this method can be applied to a planar finger model that has waypoints for winding muscles around joints [20].

Previous studies on the musculoskeletal potential method addressed only point-to-point (PTP) control. That is, focusing only on the convergence at the desired posture, they did not discuss path-tracking. However, actual vertebrate animals generate motions based on path tracking in many cases, and path tracking is also very important for motion generation in robotics.

Therefore, the aim of this paper is to propose a path-tracking control based on the musculoskeletal potential method and to verify its usefulness. In the musculoskeletal system, m muscles are necessary for the n DOF joint motion (\(m>n\)) due to the abovementioned redundant drive. In this case, the remaining \(m-n\) DOFs act to generate the internal force between muscles. Therefore, the active utilization of the remaining \(m-n\) DOFs in the internal force enables a change in the shape of the generated potential in the system.

In the proposed method, the first step gives the desired path in the joint coordinates; the second step produces the desired potential field to realize the desired path motion; the third step obtains the set of muscular internal forces that produces the potential field closest to the shape of the desired one; and finally, the step-input of the muscular internal force achieves sensorless feedforward path tracking control. This paper verifies the usefulness of the proposed method using a musculoskeletal system with two joints and six muscles as a case study of basic research.

In the following, the second section describes the outline of the musculoskeletal potential method. Next, the third section explains the proposed method. The fourth section verifies the proposed method using the musculoskeletal system with two joints and six muscles as a basic case study.

In this case study, at first, the desired path with one waypoint is created using a spline function; second, the desired potential field is determined from the desired path; next, the set of muscular internal forces minimizing the error between the generated potential field and the desired one is calculated by the use of constrained nonlinear programming. After verification of the tracking performance through numerical simulation, the final section summarizes the conclusions.

Musculoskeletal potential method

Target system

This section describes the musculoskeletal system and its posture control based on the musculoskeletal potential method. These concepts form the basis of the proposed path-tracking in this paper. Because the musculoskeletal potential method was studied in the references [16,17,18,19,20], it is only briefly explained here.

The target musculoskeletal system is modeled after a human limb and has n DOFs for the joints and m muscles \((m> n)\). The motion of the limb tip has n DOFs as well as joint motion as shown Fig. 1(a). The joint movement is generated by driving the muscles. This paper makes the following assumptions for the system:

Fig. 1
figure 1

Example of muscular arrangement and its generated potential field for the musculoskeletal system with six muscles and two joints in the case that stability arrangement and \(\varvec{k_e}=(1,\ldots ,1)\) are employed [17] (the desired posture: \(\theta _1=\theta _2=90\) [deg])

  • Both ends of a muscle are directly attached to the link (skeleton). Each muscle forms a straight line between both endpoints and is regarded as a massless rigid wire cable that can generate only tensile force (see Fig. 1a).

  • Although the muscles of living organisms have viscous and elastic properties [21] with various associated models [22,23,24], these properties are ignored. Consequently, the dynamic equation of the musculoskeletal system is expressed as follows [25]:

    $$\begin{aligned} \varvec{M}(\varvec{\theta })\ddot{\varvec{\theta }}+\varvec{h}(\varvec{\theta }, \dot{\varvec{\theta }})+\varvec{B}\dot{\varvec{\theta }} = \varvec{\tau }, \end{aligned}$$

    where \(\varvec{\theta }=(\theta _1,\ldots ,\theta _n)^T \in \Re ^{n \times 1}\) is the joint angular vector; \(\varvec{M}(\varvec{\theta }) \in \Re ^{n \times n}\) is the inertial matrix; \(\varvec{h}(\varvec{\theta }, \dot{\varvec{\theta }}) \in \Re ^{n \times 1}\) is a nonlinear vector; \(\varvec{B} \in \Re ^{n \times n}\) is the joint viscosity matrix; and \(\varvec{\tau } \in \Re ^{n \times 1}\) is the joint torque vector. The joint movable range is defined as \(\theta ^{min}_{i} \le \theta _i \le \theta ^{max}_{i}\) (\(i=1,\ldots ,n\)).

  • The effect of gravity is ignored. The muscles and links are arranged in a hierarchical structure. Owing to the hierarchy, the muscles and links do not interfere with each other three-dimensionally and are allowed to overlap one another in a projected plane.

  • The target system always satisfies “vector closure [26]”. Singularities and their vicinities are not discussed, as they are beyond the scope of this study.

  • The input muscular force is sufficiently large, and the muscles do not loosen during a motion.

The muscle length vector \(\varvec{q} \in \Re ^{m \times 1}\) is defined so that each component in \(\varvec{q}\) is obtained by the distance between the ends of the muscle. For the muscular velocity vector \(\dot{\varvec{q}}\) and the joint velocity vector \(\dot{\varvec{\theta }}\), the following equation holds [17]:

$$\begin{aligned} \dot{\varvec{q}} = -\varvec{W}^{T}(\varvec{\theta })\dot{\varvec{\theta }}. \end{aligned}$$

The matrix \(\varvec{W}^{T} \in \Re ^{m \times n}\) is the Jacobian matrix that relates the vectors \(\dot{\varvec{q}}\) and \(\dot{\varvec{\theta }}\) and is defined by the following equation:

$$\begin{aligned} \varvec{W}(\varvec{\theta }) = -\Bigl ( \frac{\partial \varvec{q}}{\partial \varvec{\theta }} \Bigl )^{T}. \end{aligned}$$

Letting the vector \(\varvec{\alpha }=(\alpha _{1},\ldots ,\alpha _{m})^{T}\) refer to the muscular tension acting on skeletons (links), the generated joint torque vector \(\varvec{\tau }\) is obtained as follows in accordance with the principle of virtual work:

$$\begin{aligned} \varvec{\tau } = \varvec{W}(\varvec{\theta })\varvec{\alpha }, \end{aligned}$$

where \({\alpha }_i \ge 0\) (for any i) because the muscles can generate tension only. Furthermore, the muscular tension vector \(\varvec{\alpha }\) is expressed as follows from the inverse relation of Eq. (4):

$$\begin{aligned} \varvec{\alpha } = \varvec{W}(\varvec{\theta })^{+}\varvec{\tau } + \varvec{v}(\varvec{\theta },{\varvec{k}_e}), \end{aligned}$$

where \(\varvec{W}(\varvec{\theta })^{+}\) is the generalized inverse matrix defined as \(\varvec{W}(\varvec{\theta })^{+}=\varvec{W}(\varvec{\theta })^{T} \bigl ( \varvec{W}(\varvec{\theta })\varvec{W}(\varvec{\theta })^{T} \bigr )^{-1}\). The vector \(\varvec{v}(\varvec{\theta },{\varvec{k}_e})\) exists within the null space of the matrix \(\varvec{W}(\varvec{\theta })\) defined as the following equation:

$$\begin{aligned} \varvec{v}(\varvec{\theta },{\varvec{k}_e}) = \left( \varvec{I}-\varvec{W}(\varvec{\theta })^{+}\varvec{W}(\varvec{\theta }) \right) \varvec{k_e}, \end{aligned}$$

where \(\varvec{k_e} \in \Re ^{m \times 1}\) is an arbitrary vector.

The null space vector \(\varvec{v}(\varvec{\theta },{\varvec{k}_e})\) in Eq. (5) is called the internal force vector, which does not generate any resultant torque at the joint angles but exists as an internal force among the muscles. Therefore, the following is satisfied:

$$\begin{aligned} \varvec{W}(\varvec{\theta }) \varvec{v}(\varvec{\theta },{\varvec{k}_e})= \varvec{0}. \end{aligned}$$

Control input

On the basis of the above, the previous musculoskeletal potential method conventionally applies the following Eq. (8) to the muscular tension \(\varvec{\alpha }\) as a step input for positioning to the desired joint angle \(\varvec{\theta _d}\) (=const.) [16,17,18,19,20].

$$\begin{aligned} \varvec{\alpha } = \varvec{v_{d}} = \left( \varvec{I}-\varvec{W}(\varvec{\theta _{d}})^{+}\varvec{W}(\varvec{\theta _{d}}) \right) \varvec{k}_{e}, \end{aligned}$$

where \(\varvec{v_{d}}\) is the constant in the previous conventional method because of the input constant \(\varvec{k}_{e}\). Although this input cannot generate any joint torque at the desired posture \(\varvec{\theta _d}\) due to \(\varvec{\tau } = \varvec{W}(\varvec{\theta _d}) \varvec{v_{d}} = \varvec{0}\) from Eq. (7), the joint torque when \(\varvec{\theta } \ne \varvec{\theta _d}\) can apply joint torque because of \(\varvec{\tau } \ne \varvec{0}\) or \(\tau = \varvec{0}\).

This is because the muscular internal force balancing at the desired posture, \(\varvec{v_{d}}\) in Eq. (8), yields a unique potential field inside the system.

Noting the step input of constant \(\varvec{\alpha } =\varvec{v_d}\), the generated potential \(P(\varvec{\theta })\) in the joint angle coordinates, \(\varvec{\theta }\), can be simply calculated by multiplying the constant muscular forces by the muscular extension lengths as follows:

$$\begin{aligned} P(\varvec{\theta })= & {} (\varvec{q}(\varvec{\theta })-\varvec{q}(\varvec{\theta _d}))^{T}\varvec{v_d} \end{aligned}$$

Reference [17] analyzed the associated stability by use of the Lyapunov function and demonstrated that PTP control to the desired posture \(\varvec{\theta _d}\) is possible when the potential \(P(\varvec{\theta })\) has the local minimum at \(\varvec{\theta _d}\) as the local stable equilibrium point.

Figure 1a shows an example of muscle arrangement in a musculoskeletal system with two joints and six muscles; Fig. 1(b) demonstrates the potential generated when the muscular internal force \(\varvec{v_d}\) balancing at the desired posture \(\varvec{\theta _d}=(90,90)^T\) [deg] is input. In this example system, the convergence to an arbitrary desired posture \(\varvec{\theta _d}\) is guaranteed because the potential has a local minimum at any desired posture within its motion range.

Feedforward path tracking

Problem setting

This paper extends the abovementioned musculoskeletal potential method which was limited to PTP control and aims to achieve path-tracking control by feedforward-inputting the constant muscular internal force \(\varvec{v_{d}}\). The assumptions of the proposed path-tracking are described below:

  • The desired path is composed of three points that are given in the joint coordinates \(\varvec{\theta }\) in advance: the start posture \(\varvec{\theta _{s}}\), the final desired posture \(\varvec{\theta _d}\) and a single waypoint \(\varvec{\theta _e}\). The desired path is the line that smoothly connects these three points as shown in Fig. 2a.

  • From Eq. (8), path tracking is realized by balancing the step input of the muscular internal force \(\varvec{\alpha }=\varvec{v_d}\) at the desired final posture \(\varvec{\theta _d}\) to each muscle. Note that \(\varvec{k_e}\) is constant so that \(\varvec{\alpha }\) does not change during a motion.

  • If the start and final postures, \(\varvec{\theta _s}\) and \(\varvec{\theta _d}\), are realized for path tracking, it is acceptable that the resultant path slightly deviates from the desired path (\(\varvec{\theta _s} \rightarrow \varvec{\theta _e} \rightarrow \varvec{\theta _d}\)) and does not perfectly achieve the desired path.

  • In the target system, the values in the joint viscosity matrix \(\varvec{B}\) in Eq. (1) are sufficiently large that the effect of inertia due to acceleration in motion is relatively small.

Based on the above assumptions, the proposed control is attributed to how to determine the muscular internal force that generates the potential field to track the desired path.

Fig. 2
figure 2

Desired path in the joint angle coordinates, \(\varvec{\theta }=(\theta _1,~\theta _2)\) and potential field that forms like a sliding way; \(\varvec{\theta _s}\) is the start posture, \(\varvec{\theta _d}\) is the final posture, \(\varvec{\theta _e}\) is a waypoint, and \(P(\varvec{\theta })\) is the desired potential

As mentioned above that the target system has m muscles for the joint motion in n DOFs (\(m>n\)), and the muscular internal force \(\varvec{v_d}\) exists in the \(m-n\) DOF space. Therefore, even when setting \(\varvec{\theta _d}\) constant, the muscular internal force \(\varvec{v_d}\) can vary in the \(m-n\) DOFs by changing the values in \(\varvec{k_e}\) in Eq. (8), as \(\varvec{v_d}(\varvec{k_e})\). Consequently, the generated potential in Eq. (9) can be rewritten as \(P(\varvec{\theta },\varvec{k_e})\) when \(\varvec{k_e}\) varies. The positive utilization of this feature enables path-tracking control based on the sensorless feedforward if the potential field \(P(\varvec{\theta },\varvec{k_e})\) can be formed to achieve the desired path (or its vicinity) by adjusting \(\varvec{k_e}\).

For example, in the two-joint system where the desired path is given in the joint coordinates as shown in Fig. 2a, a potential field configured for sliding with the minimum at \(\varvec{\theta _d}\) as shown in Fig. 2b, can achieve motion similar to the desired path. Of course, there is a possibility that the potential perfectly realizing the desired path is not obtained even when adjusting \(\varvec{k_e}\), and it is difficult to follow a complicated path by use of this sensorless method based on feedforward control. Furthermore, the resultant motion does not necessarily follow the target path with a high degree of accuracy because of the dynamic influence. These points are acceptable in this paper, as mentioned in the above assumptions.

Sensorless path tracking control

Based on the above preparations, this paper proposes the following procedure (steps 1–4) for path tracking control using the musculoskeletal potential method.

STEP 1 (Desired path generation) Generate the desired path function \(\Theta\) composed of three points (the start posture \(\varvec{\theta _s}\), the waypoint \(\varvec{\theta _e}\), and the final desired posture \(\varvec{\theta _d}\)) in the following region R:

$$\begin{aligned}{} & {} R=\{\theta =(\theta _1,\ldots ,\theta _n) \in \text{ R}^n \ |\ \theta _i^{\text{ min }}\le \theta _i\le \theta _i^{\text{ max }},\\{} & {} \ i=1,\ldots ,n\}, \end{aligned}$$

which belongs to the joint angle coordinates \(\varvec{\theta }\), as shown in Fig. 2a.

STEP 2 (Desired potential generation) Construct the desired potential \(P_d(\varvec{\theta })\) minimized at \(\varvec{\theta _d}\), of which the gradient decreases monotonically in the tangential direction from the start posture \(\varvec{\theta _s}\) to the final desired posture \(\varvec{\theta _d}\) (\(\varvec{\theta _{s}} \rightarrow \varvec{\theta _{e}} \rightarrow \varvec{\theta _{d}}\)) on the desired path function \(\Theta (\varvec{\theta })\) (see Fig. 2b).

STEP 3 (Internal force generation) For the potential \(P(\varvec{\theta }, \varvec{k_e})\) obtained from Eq. (9), find \(\varvec{k_e}^{*}\) that minimizes the following evaluation function \(E(\varvec{k_e})\) by varying the values in vector \(\varvec{k_e}\) in Eq. (8).

$$\begin{aligned} E(\varvec{k_e}):= \frac{1}{2} \int _{R} \bigl | P_{d}(\varvec{\theta }) - P(\varvec{\theta }, \varvec{k_e})\bigr |^2 d\varvec{\theta } \end{aligned}$$

where all elements in the following muscular internal force \(\varvec{v^*_d}=\varvec{v}(\varvec{\theta _d},{\varvec{k}_e^*})\) are positive, which is obtained by substituting the final desired posture \(\varvec{\theta _d}\) and \(\varvec{k_e^*}\) into Eq. (6):

$$\begin{aligned} \varvec{v^*_d} = \left( \varvec{I}-\varvec{W}(\varvec{\theta _{d}})^{+}\varvec{W}(\varvec{\theta _{d}}) \right) \varvec{k_e^*} \end{aligned}$$

STEP 4 (Motion generation) Achieve path tracking by step-inputting the following \(\varvec{\alpha }\) into a target system as the muscular internal force.

$$\begin{aligned} \varvec{\alpha } = \varvec{v^*_d} \end{aligned}$$

Case study using a system with two joints and six muscles

Outline of the target system

As a case study, this section performs basic verification of the proposed method using a system that has two joints and six muscles through numerical simulation. The target system is the human-arm-like structure similar to Fig. 1(a) with reference to [16,17,18,19]; the joint DOFs are \(n=2\), and the number of muscles is \(m=6\). The muscular arrangement and physical parameters of the target system are shown in Fig. 3 and Table 1. The following subsections describe steps 1 to 3 for this case study in detail.

Table 1 Physical parameters for numerical simulation (2-link and 6-muscle system)
Fig. 3
figure 3

Symbols for the muscular arrangement. The target system is the human-arm-like structure similar to that shown in Fig. 1a; the number of joint DOFs is \(n=2\) and the number of muscles is \(m=6\). \(q_i\) (\(i=1,\ldots ,6\)) is the muscular length

Step 1 (desired path generation)

First, the desired path (\(\varvec{\theta _s} \rightarrow \varvec{\theta _e} \rightarrow \varvec{\theta _d}\)) is generated in Step 1. Although many methods exist to generate a path connecting three points, this case study employs a cubic spline curve.

In this case study, the movable joint range is set as \(\theta ^{min}_i=0\) and \(\theta ^{max}_i=180\) [deg] (\(i=1,2\)). The start posture is defined as \(\varvec{\theta _s}=(\theta _{s1},\theta _{s2})^T\), the final desired posture as \(\varvec{\theta _d}=(\theta _{d1},\theta _{d2})^T\), and the waypoint as \(\varvec{\theta _e}=(\theta _{e1},\theta _{e2})^T\). The condition is set on the desired path as \(\theta _{s2}< \theta _{e2} < \theta _{d2}\) (or \(\theta _{s2}> \theta _{e2} > \theta _{d2}\)) for simplicity and focuses only on the desired path function that can be mathematically expressed by \(\theta _1=\Theta (\theta _2)\) for \(\theta _{2} \in [\theta _{s2},\theta _{d2}]\) (see Appendix).

As an example for the case of \(\varvec{\theta _s}=(85,40)^T\), \(\varvec{\theta _e}=(115,95)^T\), and \(\varvec{\theta _d}=(95,135)^T\) [deg], Fig. 4 illustrates the desired path made by the cubic spline curve in the region R.

Fig. 4
figure 4

Example of a desired path \(\theta _1=\Theta (\theta _2)\) and regions \(R_1\)\(R_3\) (start posture: \(\varvec{\theta _s}=(85,40)^T\), waypoint: \(\varvec{\theta _e}=(115,95)^T\), and final posture: \(\varvec{\theta _d}=(95,135)^T\) [deg])

Step 2 (desired potential generation)

Next, the desired potential is generated for the desired path determined in Step 1. In this case study, the joint movable region R is divided into three regions \(R_1\) to \(R_3 \in R\) (\(R_i \cap R_j = \emptyset\) (\(i,j=1,2,3\),  \(i \ne j\))), as shown in Fig. 4. In each divided region, the desired potential forms in a different manner. The three-division of the region R is performed in the joint coordinates \(\varvec{\theta }\) as follows (see Fig. 4):

Region \(R_1\)::

segmentized by the boundary line that passes over the start point \(\varvec{\theta _s}\) of the curve line \(\Theta (\theta _2)\) and is perpendicular to the tangent line of \(\Theta (\theta _2)\) at \(\varvec{\theta _s}\).

Region \(R_2\)::

belonging to neither region \(R_1\) nor \(R_3\) in R.

Region \(R_3\)::

segmentized by the boundary line that passes over the final desired point \(\varvec{\theta _d}\) of the curve line \(\Theta (\theta _2)\) is perpendicular to the tangent line of \(\Theta (\theta _2)\) at \(\varvec{\theta _d}\). The area in \(R_2\) overlapping with \(R_1\) has priority to belong to region \(R_1\).

The segmentized desired potentials on regions \(R_1\) to \(R_3\) are, respectively defined as \(P_{d1}(\varvec{\theta })\)\(P_{d3}(\varvec{\theta })\) as follows:

$$\begin{aligned} P_d(\varvec{\theta }) = \left\{ \begin{array}{ll} P_{d1}(\varvec{\theta }) &{} (\varvec{\theta } \in R_1)\\ P_{d2}(\varvec{\theta }) &{} (\varvec{\theta } \in R_2)\\ P_{d3}(\varvec{\theta }) &{} (\varvec{\theta } \in R_3) \end{array} \right. \end{aligned}$$

Next, the generation method of \(P_{d1}(\varvec{\theta })\)\(P_{d3}(\varvec{\theta })\) is explained.

Calculation of target potentials \(P_{d1}(\varvec{\theta })\) and \(P_{d3}(\varvec{\theta })\)

Fig. 5
figure 5

Desired potentials \(P_{d1}\) and \(P_{d3}\) (start posture: \(\varvec{\theta _s}=(85,40)^T\), waypoint: \(\varvec{\theta _e}=(115,95)^T\), and final posture: \(\varvec{\theta _d}=(95,135)^T\) [deg], \(\varvec{K_1}=\varvec{K_3}=\text{ diag }(1,1)\), \(P_s = 1\))

The potential \(P_{d1}(\varvec{\theta })\) in the region \(R_1\) is given as the following quadratic form that possesses the minimum value at the start posture \(\varvec{\theta _s}\):

$$\begin{aligned} P_{d1}(\varvec{\theta }) = \frac{1}{2} \bigl (\varvec{\theta } - \varvec{\theta _s}\bigr )^T \varvec{K_1}\bigl (\varvec{\theta } - \varvec{\theta _s}\bigr ) + P_s \left( \varvec{\theta } \in R_1\right) , \end{aligned}$$

where \(\varvec{K_1}\) is the \(2 \times 2\) coefficient matrix (\(\varvec{K_1}>{\varvec{0}}\)) and \(P_s\) depicts the potential value at \(\varvec{\theta } = \varvec{\theta _s}\); i.e., \(P_d(\varvec{\theta _s}) = P_s\).

For \(P_{d3}(\varvec{\theta })\), a similar quadratic form is given by the following equation:

$$\begin{aligned} P_{d3}(\varvec{\theta }) = \frac{1}{2} \bigl (\varvec{\theta } - \varvec{\theta _d}\bigr )^T \varvec{K_3}\bigl (\varvec{\theta } - \varvec{\theta _d}\bigr ) \left( \varvec{\theta } \in R_3\right) , \end{aligned}$$

where \(\varvec{K_3}\) is the \(2 \times 2\) coefficient matrix (\(\varvec{K_3}>{\varvec{0}}\)) and \(P_{d3}(\varvec{\theta })\) has the minimum value \(P_{d3}(\varvec{\theta _d})={\varvec{0}}\) at the final desired posture \(\varvec{\theta _d}\). In the example case of the desired path shown in Fig. 4, the desired potentials \(P_{d1}\) and \(P_{d3}\) are as shown in Fig. 5, where \(\varvec{K_1}=\varvec{K_3}=\text{ diag }(1,1)\) and \(P_s = 1\).

Calculation of the desired potential \(P_{d2}(\varvec{\theta })\)

In the region \(R_2\), the potential \(\varvec{P_{d2}(\varvec{\theta })}\) is formulated to monotonically decrease from \(\varvec{\theta _s}\) to \(\varvec{\theta _d}\) along with the desired path \(\theta _1=\Theta (\theta _2)\).

As a preparation, the newly defined vector \(\varvec{\theta _c}\) and path lengths \(\Psi\) and \(\psi\) are explained. For any \(\varvec{\theta }\) in region \(R_2\), let us consider the perpendicular line from \(\varvec{\theta }\) to the desired path \(\Theta\) and define this intersection on \(\Theta\) with the perpendicular line as \(\varvec{\theta _c}(\varvec{\theta })\) (see Fig. 4). In the case that multiple \(\varvec{\theta _c}(\varvec{\theta })\) exist for a single \(\varvec{\theta }\), the point closest to \(\varvec{\theta }\) is defined as \(\varvec{\theta _c}(\varvec{\theta })\).

Letting \(\Psi\) be the total length of the desired path and \(\psi \bigl ( \varvec{\theta _c}(\varvec{\theta }) \bigr )\) be the path length from the start posture \(\varvec{\theta _s}\) to \(\varvec{\theta _c}(\varvec{\theta })\), namely \(\psi (\varvec{\theta _s})=0\) and \(\psi (\varvec{\theta _d})=\Psi\), the desired potential \(P_{d2}(\varvec{\theta })\) is given by the following equation:

$$\begin{aligned} P_{d2}(\varvec{\theta }) &= \frac{1}{2} \bigl (\varvec{\theta } - \varvec{\theta _c}(\varvec{\theta }) \bigr )^T \varvec{K_2} \bigl (\varvec{\theta } - \varvec{\theta _c}(\varvec{\theta })\bigr ) \\ &\quad+\biggl (\frac{\Psi - \psi \bigl ( \varvec{\theta _c}(\varvec{\theta }) \bigr ) }{\Psi } \biggr ) P_s ~~\left( \varvec{\theta } \in R_2\right) ~~~~ \end{aligned}$$

where \(\varvec{K_2}\) is the \(2 \times 2\) coefficient matrix (\(\varvec{K_2}>{\varvec{0}}\)) and \(P_{d2}(\varvec{\theta })\) has the minimum value \(P_{d2}(\varvec{\theta _d})={\varvec{0}}\) at the final desired posture \(\varvec{\theta _d}\). Figure 6 demonstrates the example of \(P_{d2}\) calculated through Eq. (16) for the desired path shown in Fig. 4.

Fig. 6
figure 6

Desired potential \(P_{d2}\) (start posture: \(\varvec{\theta _s}=(85,40)^T\), waypoint: \(\varvec{\theta _e}=(115,95)^T\), and final posture: \(\varvec{\theta _d}=(95,135)^T\) [deg], \(\varvec{K_1}=\varvec{K_3}=\text{ diag }(1,1)\), \(P_s = 1\))

Fig. 7
figure 7

Total desire potential \(P_d\) in the region R (start posture: \(\varvec{\theta _s}=(85,40)^T\), waypoint: \(\varvec{\theta _e}=(115,95)^T\), and final posture: \(\varvec{\theta _d}=(95,135)^T\) [deg], \(\varvec{K_1}=\varvec{K_3}=\text{ diag }(1,1)\), \(P_s = 1\))

Figure 7 shows the total desired potential \(P_d\), which is combined into Figs. 5 and 6. Although this paper generates the desired potential by the above method as a basic study, there exist other methods to generate the desired potential. It is beyond the scope of this paper to discuss the optimization of the desired potential \(P_d\). In addition, note that the desired potential \(P_d\) is discontinuous at the boundaries between regions \(R_1\) to \(R_3\) as shown in Fig. 7; however, this discontinuous dissolution occurs in Step 3.

Step 3 (internal force generation)

To obtain the potential shape closest to the desired potential \(P_d(\varvec{\theta })\), the next step finds \(\varvec{k_e}=\varvec{k_e^*}\) that minimizes the evaluation function \(E(\varvec{k_e})\) in Eq. (10) by changing the vector \(\varvec{k_e}=(k_{e1},\ldots ,k_{e6})^T\) in Eq. (8). In this case study, the optimal solution of the muscular internal force, \(\varvec{v^*_d}\), is numerically obtained by attributing the minimization problem of the evaluation function \(E(\varvec{k_e})\) to the following constrained nonlinear programming method.

Minimize  \(E(\varvec{k_e})\)

subject to  \(v_u >0 ~~(u=1,\ldots 6)\)


$$\begin{aligned} \varvec{v}=(v_1,\ldots , v_6)^T = \left( \varvec{I}-\varvec{W}(\varvec{\theta })^{+}\varvec{W}(\varvec{\theta }) \right) \varvec{k_e}. ~~~~\left( \varvec{\theta } \in R \right) \end{aligned}$$

In addressing the above optimization problem numerically, each joint angle \(\theta _i\) of \(\theta ^{min}_{i} \le \theta _i \le \theta ^{max}_{i}\) (\(\theta _{min}=0, ~\theta _{max}=180\) [deg]) is divided by intervals of 1 [deg], and \(E(\varvec{k_e})\) is treated discretely as follows:

$$\begin{aligned} E(\varvec{k_e}) = \frac{1}{2} \sum _{j=0}^{M} \sum _{k=0}^{N}\Bigl ( P_{d}(\varvec{\theta }_{jk}) - P(\varvec{\theta }_{jk}, \varvec{k_e}) \Bigr )^2 \end{aligned}$$

where \(\varvec{\theta }_{jk}=(\theta _j, \theta _k)\), \(M=N=180\).

In Step 4, tracking control is performed by inputting \(\varvec{v^*_d}\), which is obtained by substituting the optimum solution \(\varvec{k_e^*}\) into Eq. (11), as the muscular tension vector \(\varvec{\alpha }\) in Eq.(12).

Table 2 Details of three sample desired paths (A–C) for simulation verification

Verification by numerical simulation

This subsection verifies the performance of the proposed method for this case study through numerical simulation. Due to space limitations, the resultant tracking for the three samples are reported as examples. Table 2 shows the details of these samples (1–3), such as \({\varvec{\theta }_s}\), \({\varvec{\theta }_e}\), \({\varvec{\theta }_d}\), \(\varvec{k_e^*}\), and \(\varvec{v_d^*}\).

Hereafter, the potential generated by the muscular tension input \(\varvec{\alpha }=\varvec{v_d^*}\) is defined as \(P_d^*(\varvec{\theta })\), and the resultant motion path generated by inputting \(\varvec{v_d^*}\) to the target system is defined as \(\Theta ^*\). Each desired path \(\Theta\) of the three samples is shown in Figs. 8a, Fig. 9 and 10a, desired potential \(P(\varvec{\theta })\) in (b), generated potential \(P_d^*(\varvec{\theta })\) in (c), and resultant motion path \(\Theta ^*\) in (d).

Although it is impossible to realize perfect path tracking because this method does not perform any sensory feedback or complex real-time calculations, the resultant paths \(\Theta ^*\) in Figs. 8d, 9, 10d show that a certain degree of path tracking is possible. To quantitatively evaluate the control performance, this paper employs the following evaluation value \({\widetilde{V}}_P\) by the use of the area \(S_E\) as follows:

$$\begin{aligned} {\widetilde{V}}_P = \frac{S_E}{|\theta _{d2} - \theta _{s2}|}, \end{aligned}$$

where \(S_E\) is the area surrounded by the resultant path \(\Theta ^*\) and the desired path \(\Theta\) as follows:

$$\begin{aligned} S_E = \int ^{\theta _{d2}}_{\theta _{s2}}\sqrt{\Bigl (\Theta ^*(\theta _2) - \Theta (\theta _2) \Bigr )^2} ~~d \theta _2. \end{aligned}$$

Note that \({\widetilde{V}}_P\) means that the smaller value has the higher tracking accuracy. The values of \(S_E\) and \({\widetilde{V}}_P\) of samples 1–3 are shown at the bottom of Table 2.

Discussion of simulation results

From the result of \({\widetilde{V}}_P\) in Table 2, sample 2 has the smallest value (\({\widetilde{V}}_P=0.092\)), sample 3 has the second smallest (\({\widetilde{V}}_P=0.2145\)), and sample 1 has the largest (\({\widetilde{V}}_P= 0.281\)). In addition, \({\widetilde{V}}_P\) of sample 2 is approximately 30–\(40 \%\) compared to those of the other two although samples 1 and 3 have almost the same value.

Figure 9d shows that sample 2 actually achieves very accurate tracking. On the other hand, from Figs. 8d and 10d, the path accuracy is poor in both samples 1 and 3; sample 1 slightly realizes the target curve compared with sample 3 although its \({\widetilde{V}}_P\) is slightly worse than that of sample 3.

Considering the accuracy of these generated paths, there are two main reasons for the path error.


differential between the generated potential \(P_d^*(\varvec{\theta })\) and the desired one \(P_d(\varvec{\theta })\).


dynamic effect, such as the inertia of the system.

However, in the target system of this case study, the value of joint viscosity is relatively large so that the dynamic influence, such as inertia, might be reduced. In Figs. 8 and 10 where the path errors are large, each difference between the desired potential \(P_d(\varvec{\theta })\) (in (a)) and the generated potential \(P_d^*(\varvec{\theta })\) (in (d)) is large. Therefore, in this case study, the first reason (i) could be dominant.

With regard to the accuracy of the generated potential \(P_d^*(\varvec{\theta })\), constrained nonlinear programming was used in the preceding section; however, there is a possibility that the solution falls into a local minimum. Additionally, extremely small positive values exist in \(\varvec{v_d^*}\), as shown in Table 2. Based on these points, the discussion of the technique for selecting a better \(\varvec{k_e^*}\) is a future issue.

Fig. 8
figure 8

Simulation results (sample 1: \({\varvec{\theta }_s}=(45,45)^T\), \({\varvec{\theta }_e}=(90,90)^T\), \({\varvec{\theta }_d}=(90,135)^T\)): a desired path \(\Theta\) and desired potential \(P_d(\varvec{\theta })\), b 3-D data of desired potential \(P_d(\varvec{\theta })\), c generated potential \(P_d^*(\varvec{\theta })\), d comparison between the resultant path \(\Theta ^*\) and the desired path \(\Theta\)

Fig. 9
figure 9

Simulation results (sample 2: \({\varvec{\theta }_s}=(135,45)^T\), \({\varvec{\theta }_e}=(45,90)^T\), \({\varvec{\theta }_d}=(45,135)^T\)): a desired path \(\Theta\) and desired potential \(P_d(\varvec{\theta })\), b 3-D data of desired potential \(P_d(\varvec{\theta })\), c generated potential \(P_d^*(\varvec{\theta })\), d comparison between the resultant path \(\Theta ^*\) and the desired path \(\Theta\)

Fig. 10
figure 10

Simulation results (sample 3: \({\varvec{\theta }_s}=(90,45)^T\), \({\varvec{\theta }_e}=(68,90)^T\), \({\varvec{\theta }_d}=(90,135)^T\)): a desired path \(\Theta\) and desired potential \(P_d(\varvec{\theta })\), b 3-D data of desired potential \(P_d(\varvec{\theta })\), c generated potential \(P_d^*(\varvec{\theta })\), d comparison between the resultant path \(\Theta ^*\) and the desired path \(\Theta\)


Focusing on the redundancy of muscular internal force, this paper proposed a control method for realizing the desired path-tracking by adjusting the muscular internal force. In addition, the trackability of the proposed method was verified by using a two-joint and 6-muscle system through numerical simulation. The simulation results showed the possibility of tracking control even though this method does not apply any sensory feedback or complicated real-time calculations. The result is expected not only to be applicable to the motion control of robot manipulators with musculoskeletal structures but also to be helpful for the elucidation of the principle of motion generation for actual musculoskeletal living organisms.

This paper placed an emphasis on the basic performance of the proposed method; the case study addressed only simple desired paths that had only a single waypoint between the start and final postures. Therefore, it is debatable how to generate the potential corresponding to the more complicated desired path. In addition, there is room for the discussion of the selection method of the muscular internal force that realizes the best potential close to the desired one. These points will be addressed in future works.

Furthermore, this paper focused on the input potential from the viewpoint of statistics. However, because the generated motion is dynamically affected by such inertia, one of the future works should address the issue of path tracking that also considers the kinetic influence.

Availability of data and materials

Not applicable.


  1. Feldman AG (1986) Once more on the equilibrium-point hypothesis (\(\lambda\) Model) for motor control. Motor Behav 18(1):17–54

    Article  Google Scholar 

  2. Hogan N (1984) An organizing principle for a class of voluntary movements. J Neurosci 4(11):2745–2754

    Article  Google Scholar 

  3. Kawato M, Furukawa K, Suzuki R (1982) A hierarchical neural-network model for control and learning of voluntary movement. Biol Cybern. 57:169–185

    Article  MATH  Google Scholar 

  4. Gomi H, Kawato M (1997) Human arm stiffness and equilibrium-point trajectory during multi-joint movement. Biol Cybern 76(3):163–171

    Article  MATH  Google Scholar 

  5. Kumamoto M, Oshima T, Yamamoto T (1994) Control properties induced by the existence of antagonistic pairs of bi-articular muscles - mechanical engineering model analyses. Hum Mov Sci. 13(5):611–634

    Article  Google Scholar 

  6. Oshima T, Toriumi K, Fujikawa T, Momose N (2004) Effects of the lower leg bi-articular muscle in jumping. J Robot Mechatron 16(6):643–648

    Article  Google Scholar 

  7. Berustein N (1984) Chapter II The problem of the Interrelation of Co-Ordination and Localization, Human Motor Actions Bernsttein Reassessed (Advances in Psychology), Edited by H.T.A. Whiting, 77-119, Elsevier Science Ltd,

  8. Loeb EP, Giszter SF, Saltiel P, Bizzi E, Mussa-Ivaldi FA (2000) Output units of motor behavior: an experimental and modeling study. J Cogn Neurosci 12(1):78–97

    Article  Google Scholar 

  9. Watanabe E, Hirai H, Krebs HI (2020) Equilibrium point-based control of muscle-driven anthropomorphic legs reveals modularity of human motor control during pedalling. Adv Robot 43(5):328–342

    Article  Google Scholar 

  10. Cognitive Neuroscience Robotics A: Synthetic approaches to human understanding. In: Kasaki M, Ishiguro H, Asada M Eds. et al., Springer, (2016)

  11. Hirose S, Ma S (1989) Redundancy decomposition control for multi-joint manipulator, in Proc. IEEE Int. Conf. on Robot. Automat, Scottsdale, AZ, pp 119–124

  12. Ozawa R, Kobayashi H, Hashirii K (2014) Analysis, classification, and design of tendon-driven mechanisms. Trans Robot. 30(2):396–410

    Article  Google Scholar 

  13. Koganezawa K, Shimizu Y (2003) Stiffness Control of Tendon Driven Multi-DOF Joint by Actuator with Non Linear Elastic System (ANLES), in Proc. Int. Conf. Robot. Autom., 1184–1189

  14. Kozuki T, Mizoguchi H, Asano Y, Osada M, Shirai T, Urata J, Nakanishi Y, Okada K, Inaba M (2012) Design Methodology for Thorax and Shoulder of Human Mimetic Musculoskeletal Humanoid Kenshiro -A Thorax with Rib like Surface-, in Proc. Int. Conf. Intell. Robot. Syst., 4367–4372.

  15. Dong H, Figueroa N, Saddik AE (2015) Adaptive ‘load-distributed’ muscle coordination method for kinematically redundant musculoskeletal humanoid systems. Robot Autonom Syst 64:59–69

    Article  Google Scholar 

  16. Kino H, Kikuchi S, Matsutani Y, Tahara K, Nishiyama T (2013) Numerical analysis of feedforward position control for non-pulley-musculoskeletal system: a case study of muscular arrangements of a two-link planar system with six muscles. Adv Robot 27(16):1235–1248

    Article  Google Scholar 

  17. Kino H, Ochi H, Matsutani Y, Tahara K (2017) Sensorless point-to-point control for a musculoskeletal tendon-driven manipulator: analysis of a Two-DOF planar system with six tendons. Adv Robot 31(16):851–864

    Article  Google Scholar 

  18. Ochi H, Kino H, Tahara K, Matsutani Y (2020) Geometric conditions of a two-link-and-six muscle structure based on internal force stability. ROBOMECH J. 7:1–6

    Article  Google Scholar 

  19. Matsutani Y, Tahara K, Kino H, Ochi H (2018) Complementary compound set-point control by combining muscular internal force feedforward control and sensory feedback control including a time delay. Adv Robot 32(8):411–425

    Article  Google Scholar 

  20. Kosugi T, Kino H, Goto M (2019) Stability conditions of an ODE arising in human motion and its numerical simulation. Results Appl Math 3:100063

    Article  MathSciNet  MATH  Google Scholar 

  21. Latash ML (1998) Neurophysiological Basis of Movement, Human Kinetics

  22. Thelen DG (2003) Adjustment of muscle mechanics model parameters to simulate dynamic contractions in older adults. J Biomech Eng. 125:70

    Article  Google Scholar 

  23. Hill AV (1938) The heat of shortening and the dynamic constants of muscles. Proc Royal Soc London 126(843):136–195

    Google Scholar 

  24. Romero F, Alonso FJ (2016) A comparison among different Hill-type contraction dynamics formulations for muscle force estimation. Mech Sci 7:19–29

    Article  Google Scholar 

  25. Arimoto S (1996) Control theory of nonlinear mechanical systems: a passivity-based and circuit-theoretic approach. Oxford University Press, London

    MATH  Google Scholar 

  26. Kawamura S, Kino H, Won C (2000) High speed manipulation by using parallel wire driven robots. J ROBOTICA 18(1):13–21

    Article  Google Scholar 

Download references


The authors would like to thank Fukuoka Institute of Technology for partial funding support and the use of equipment.


This work was supported by the JSPS KAKENHI Grant-in-Aid for Scientific Research (B) (Grant Number: 21H03523) and (A) (Grant Number: 20H00610).

Author information

Authors and Affiliations



All research and simulations are conducted by YK, YM, KT , and HK, HK conducted the research concept, drafted the paper and verify the simulation. All authors read and approved the final manuscript.

Corresponding author

Correspondence to Hitoshi Kino.

Ethics declarations

Ethics approval and consent to participate

Not applicable.

Competing interests

The authors declare that they have no competing interests.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.



By using a cubic spline curve, the desired path \(\theta _1=\Theta (\theta _2)\) can be expressed as follows (in the case of \(\theta _{si} \le \theta _{ei} \le \theta _{di}\)):

$$\begin{aligned} \Theta (\theta _2) = \left\{ \begin{array}{l} \beta _0\left( \theta _2 - \theta _{s2}\right) ^3 + \gamma _0\left( \theta _2 - \theta _{s2}\right) ^2 \\ + \delta _0\left( \theta _2 - \theta _{s2}\right) + \epsilon _0 \text{ when } \theta _2 \in [\theta _{s2},\theta _{e2}]\\ \beta _1\left( \theta _2 - \theta _{e2}\right) ^3 + \gamma _1\left( \theta _2 - \theta _{e2}\right) ^2 \\ +\delta _1\left( \theta _2 - \theta _{e2}\right) + \epsilon _1 \text{ when } \theta _2 \in [\theta _{e2},\theta _{d2}], \end{array} \right. \end{aligned}$$

where \(\beta _j\), \(\gamma _j\), \(\delta _j\), and \(\epsilon _j\) (\(j=0,1\)) are constants. Furthermore, the constraint conditions at both ends of the path are given by the following equation:

$$\begin{aligned} \frac{d^2\Theta (\theta _2)}{d \theta _2^{~2}} \Bigl |_{\theta _{s2}}\bigr . = \frac{d^2\Theta (\theta _2)}{d \theta _2^{~2}} \Bigl |_{\theta _{d2}} = 0. \end{aligned}$$

In addition, by giving the condition of continuity at the waypoint (\(\Theta (\theta _2)\), \(d\Theta (\theta _2)/d\theta _2\), and \(d^2\Theta (\theta _2)/d\theta _2 ^2\) have the same value), it becomes possible to determine the value of each constant.

In the case of \(\theta _{si} \ge \theta _{ei} \ge \theta _{di}\), a similar spline curve corresponding to this condition is used.

Rights and permissions

Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Kinjo, Y., Matsutani, Y., Tahara, K. et al. Basic study of sensorless path tracking control based on the musculoskeletal potential method. Robomech J 10, 3 (2023).

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: