Content uploaded by Yasunori Toshimitsu

Author content

All content in this area was uploaded by Yasunori Toshimitsu on Mar 07, 2021

Content may be subject to copyright.

Biomimetic Operational Space Control for Musculoskeletal Humanoid

Optimizing Across Muscle Activation and Joint Nullspace

Yasunori Toshimitsu1, Kento Kawaharazuka1, Manabu Nishiura1, Yuya Koga1, Yusuke Omura1

Yuki Asano1, Kei Okada1, Koji Kawasaki2, and Masayuki Inaba1

Abstract— We have implemented a force-based operational

space controller on a physical musculoskeletal humanoid robot

arm. The controller calculates muscle activations based on a

biomimetic Hill-type muscle model. We propose a method to

include the joint torque nullspace in the optimization process,

which enables the robot to exploit the nullspace to gradually

lower its overall muscle activation. We have veriﬁed in exper-

iments that it can react compliantly to external disturbances

while retaining its operational space task.

I. INTRODUCTION

Musculoskeletal humanoid robots have a biomimetic struc-

ture that mimic the human body by emulating muscles,

using contractile actuators. They can be contrasted with con-

ventional robots which contain axis-driven actuators. These

musculoskeletal humanoids have a highly nonlinear mapping

between the task (e.g. hand position / force), joint pose, and

muscle, and there has been many control schemes proposed

to move these robots effectively [1]–[7].

The movement of musculoskeletal robots can be analyzed

in 3 spaces: operational space, joint space, and muscle space.

The ﬁrst two spaces are used for axis-driven robots as well:

the operational space describes the task of the robot (such

as hand position trajectory) and the joint space describes the

joint angle-based pose of the robot. The third space is unique

to musculoskeletal robots- the muscle space, which describes

the state of each muscle.

Controllers for musculoskeletal robots can be grouped

by looking at which spaces the controller interfaces with.

A biomimetic controller based on motor directional tuning,

previously proposed by the author, used a sensory-motor

mapping between operational space and muscle space [1].

However, the lack of an internal model and relying on a

simple control rule has made it challenging to move the robot

accurately across a wide range of poses.

There has also been much research which considers the

joint space and muscle space. Kawaharazuka et al. used

a neural network to learn the relationship between joint

and muscle space parameters [2], [3]. J¨

antsch et al. has

applied computed muscle control to achieve torque control

of musculoskeletal robots [4]. These methods enable mus-

culoskeletal humanoids to be controlled in joint space, to

1The authors are with Department of Mechano-Informatics, Graduate

School of Information Science and Technology, The University of Tokyo,

7-3-1 Hongo, Bunkyo-ku, Tokyo, 113-8656, Japan. [toshimitsu, kawa-

harazuka, nishiura, koga, oomura, asano, k-okada, inaba]@jsk.t.u-

tokyo.ac.jp

2The author is associated with TOYOTA MOTOR CORPORATION.

koji kawasaki@mail.toyota.co.jp

be treated like axis-driven robots. However, when executing

operational space tasks such as controlling hand position,

a separate controller is required to convert the operational

space commands to joint space commands (e.g. inverse

kinematics).

The proposed operational space controller for muscu-

loskeletal humanoid robots considers all three spaces. A

single controller can compute muscle commands from op-

erational space tasks given to it, while taking advantage of

the joint and muscle redundancies. There has been several

implementations of operational space control to simulated

musculoskeletal bodies [8], [9]. In this research, we propose

a method to include the torque nullspace vector in the

optimization problem, enabling the controller to exploit the

nullspace to gradually drift to a pose that requires less muscle

activation. To the best of our knowledge, it is the ﬁrst

implementation of a force-based operational space controller

on a physical musculoskeletal humanoid robot.

II. MUS CULOSKELETAL DYNAMICS

In this section, we will brieﬂy introduce key concepts

for musculoskeletal robots and biomechanics, which are

important elements of the proposed controller.

A. Relation Between Joint & Muscle Space

The differential relationship between joint space and

muscle space can be described using the muscle Jacobian

(sometimes refered to as muscle moment arms) Jm.

Jm:= ∂l

∂q

τ=−JT

mf

(1)

Where lis muscle length, qis the joint angle vector, fis

muscle tension, and τis joint torque.

Although it is a simple matrix calculation to calculate joint

torque τfrom muscle force f, the computation of its inverse

is not straightforward because of the muscle redundancy. In

the biomechanics ﬁeld, this problem is solved with the in-

verse dynamics-based static optimization method, which uses

an objective function to resolve this redundancy [10]. The

objective function is usually designed to minimize muscle

tension or stress. Joint-torque controllers for musculoskeletal

robots have been proposed based on this method, using the

sum of muscle forces squared as its objective function [4],

[6].

Fig. 1: Force-length relationship curve of muscle.

B. Hill-type Model for Muscles

The Hill-type muscle model is commonly used to describe

the macroscopic behavior of biological muscles [11]. Using

this model, the muscle contractile force can be calculated

from the muscle activation value a. The isometric force

can be calculated from the force-length relation. In non-

isometric conditions, the force-velocity relation must also be

considered, which states that muscles exert more force while

lengthening than when they are shortening.

For this research, only the force-length relationship was

considered since it was considered to capture enough of

the nonlinear properties of muscles without introducing too

many parameters.

The force-length curve used for the proposed controller is

described in Fig. 1, when the activation ais 1 and 0.5 as an

example. The total muscle force is the sum of the active force

afa, which depends on both the muscle length and activation

a, and passive force fp, which only depends on muscle

length. The resulting muscle force fcan be calculated as

f=afa(l) + fp(l) (0 ≤a≤1) (2)

In this research, the Hill-type muscle model was adapted

for use in musculoskeletal humanoids. However, since the

”optimal length” (where fapeaks) for each muscle of

musculoskeletal humanoid robot is not obvious, we cannot

directly apply this model. We propose a model which uses

the minimum and maximum length (respectively lmin and

lmax) of the muscle during nominal movement to deﬁne the

horizontal scale of the force-length curve. The active and

passive force curves were approximated respectively by a

cosine and quadratic function, which captured the general

shape of the curves measured from biological muscles.

lo:= lmin +lmax

2

lrange := lmax −lmin

(3)

fa(l) = ((1 + cos(2πl−lo

1.5lrange ))f1

2,if |l−l0| ≤ 0.75lrange

0,otherwise

fp(l) = (fmin,if l < lo

(l−lo

lrange/2)2f2+fmin ,otherwise

(4)

The functions fa(l)and fp(l)as deﬁned in (4) are depicted

in Fig. 1. f1and f2deﬁne the scale of the two graphs, and

fmin is the baseline tension which is necessary to keep the

muscle wires taut.

From a control system aspect, we can view this force-

length relationship of muscle actuators as a kind of ”soft

Fig. 2: Overview of the proposed controller.

limit” to body movements, which limit the range of joint

movements gradually before they reach their ”hard limit”

deﬁned by the joint structure. As joints are moved and

muscles deviate from their optimal length, their ability to

produce output (described with fa) decreases, and also the

passive element fpacts like a nonlinear spring that inhibits

further movement away from the optimal length. As a result,

further movement towards joint limits is gradually inhibited.

III. OPE RATIO NAL SPACE CO NTROLLE R FOR

MUS CUL OSKELETAL ROBOTS

The operational space control attempts to resolve the

redundancy of robot structures by designing the controller to

achieve goals deﬁned in operational space, rather than joint

space [12], [13]. After brieﬂy introducing the original force-

based operational space controller proposed for axis-driven

robots, in Section III-A, we will later extended it in Section

III-B so that it can be applied to musculoskeletal robots.

A. Operational Space Control

Our proposed operational space controller for muscu-

loskeletal robots was based on the force-based operational

space control, formulated by Khatib in 1987, which directly

computes the joint torque commands from the operational

space command (usually given as a desired pose for the end

effector) [12].

The behavior of the robot can be described with the

standard manipulator equation

M(q)¨

q+C(q,˙

q) + g(q) = τ(5)

where qis the generalized coordinates represented as a

joint angle vector, M(q)is the inertial matrix, C(q,˙

q)is the

vector for Coriolis and centripetal force, g(q)is the gravity

compensation torque, and τis the vector of joint torque. The

relationship between the joint space and operational space

can be given by the forward kinematics function f(q)and

Jacobian matrix Jas such:

x=f(q)

˙

x=J(q)˙

q(6)

Where xrepresents the operational space conﬁguration,

usually the end effector pose.

The inertial matrix in operational space is

¯

M= (JM−1JT)−1(7)

Using this matrix ¯

M, the desired acceleration in operational

space ¨

xrcan be calculated as a force in operational space

¯

M¨

xrand mapped to a joint torque control law:

τref =JT(¯

M¨

xr) + C+g+ (I−JT¯

JT)τnull (8)

¯

Jis the inertia-weighted pseudo-inverse of the Jacobian,

deﬁned as ¯

J=M−1JT(JM−1JT)−1.τnull is the nullspace

vector, which can take any value and not affect the resulting

acceleration or velocity in operational space.

B. Application of Simpliﬁed Hill’s Muscle Model

The proposed operational space controller for muscu-

loskeletal humanoid robots will now be derived. To resolve

the redundancy when converting joint torques to muscle

forces, we will create an objective function. This function is

based on the muscle activation values a. After ais obtained,

muscle forces will be calculated from (2) and (4), then sent to

the muscle actuators as a reference tension value command.

The overview of the proposed controller is described in Fig.

2.

The operational space formulation of (8) can be adapted to

a quadratic optimization problem that optimizes for muscle

activation values aas follows.

arg min

a

||a||2

subject to (−JT

m(afa+fp) = JT¯

M¨xr+g

a≥0

(9)

Note that the nullspace has been ignored in this formulation

(it will be re-introduced later). Also, the Coriolis and cen-

trifugal force vector Cwas not used in this research, as it was

considered negligible compared to the gravity and feedback

forces. Here, ||·|| is the L2 norm, and is the element-wise

product of two vectors. The objective function is the squared

sum of activation values, and the equality constraint ensures

that the muscle force realizes the joint torque calculated from

the operational space formulation.

The formulation of (9) assumes that a solution exists for

the equation of motion described as an equality constraint.

However, this may not always be the case, such as when the

robot is trying to reach out of its workspace. In a manner

similar to that introduced in [6], the equation of motion was

moved to the objective function to act as a ”soft” equality

constraint, and the optimization will attempt to fulﬁll it as

much as possible without actually requiring it to be solvable.

arg min

a

(k||a||2+

||JT

m(afa+fp) + JT¯

M¨xr+g||2)

subject to a≥0

(10)

where a larger value of the constant kwill trade off torque

accuracy for minimization of muscle activation values.

(a) Joint arrangement. (b) Muscle Arrangement.

Fig. 3: Structure of musculoskeletal humanoid Musashi’s left

arm [14].

C. Considering the Nullspace in the Optimization Process

Finally, we will re-introduce the nullspace into the opti-

mization problem formulation. By including the nullspace

vector in the optimization, the controller can exploit the

nullspace to achieve a more optimal muscle activation. The

effect of this consideration is veriﬁed later in the experi-

ments.

arg min

a,τnull

(k||a||2+

||JT

m(afa+fp)+

JT¯

M¨xr+g+ (I−JT¯

JT)τnull||2

+r||τnull||2)

subject to a≥0

(11)

The term r||τnull||2was included to make the objective

function be always convex for τnull and improve the stability

of the optimization results. rwas set to 0.1 in the following

experiments. This was given to a quadratic programming

solver by formulating (11) to optimize for x, where x:=

aTτT

nullT.

IV. IMP LEM ENTATI ON ON T HE MUSCULOSKEL ETA L

HUMANOID ROB OT MUSA SHI

Musashi is a modularized musculoskeletal humanoid de-

veloped at the JSK robotics lab in the University of Tokyo

[14]. One of its features is that it contains a potentiometer

in each of its joints, enabling measurement of joint pose that

can be used in the controller. Each muscle is implemented

as a tendon-driven actuator using a sensor-driver integrated

module, which can accept target tension commands [15].

Only the left arm was used in this experiment. Fig. 3 shows

the joint and muscle structure of the arm.

The muscle Jacobian was calculated from the joint-muscle

mapping proposed by Kawaharazuka et al., which uses a

neural network to learn the relation between joint and muscle

on the actual robot [3].

The controller was implemented in C++, using the rigid

body dynamics library Pinocchio [16], [17] and used sep-

arate threads for rigid body dynamic parameter calculation

(running at 20Hz) and the quadratic optimization process

(running at 125 Hz).

In the following experiments, the operational space con-

sisted of 5 dimensions: the xyz positional coordinates and

rotation around the yand zaxis (The coordinate axes used

here are shown in Fig. 3). Allowing rotation around the

”gripping axis” (xaxis in Fig. 3) of the hand was found

to be easier to control than attempting to control the full

6-dimensional position and orientation. The resulting joint

Jacobian Jis a 5-by-7 matrix:

˙

x=˙x˙y˙z ωyωzT=J˙

q(12)

Furthermore, before inputting into the optimization process,

we have modiﬁed the joint Jacobian computed from the link

model, by setting some of the elements to 0.

J1,i =J2,i =J3,i = 0 (i= 5,6)

J4,j =J5,j = 0 (j= 1,2,3,4) (13)

This effectively informs the controller that the proximal

joints (shoulder-p/r/y joints and elbow-p joint) are to be used

only to control position, and some of the distal joints (elbow-

yand wrist-r joints) are to be used only for orientation

control. Heuristically, this decoupling procedure has realized

a more stable behavior of the robot.

The reference acceleration ¨

xrwas calculated as follows.

For the position goal, a PD feedback rule was applied, based

on a given desired goal xdes,˙

xdes,¨

xdes:

¨

xr,pos =kp(xdes −xpos) + kd(˙

xdes −˙

xpos) + ¨

xdes (14)

where xpos indicates the positonal part of x(i.e. the ﬁrst 3

elements), and kpand kdare feedback gains. By setting kd=

2pkp, the hand will make a critically damped approach to

the target position. For the orientation, a simple proportianal

feedback was used:

¨

xr,ori =−kr∆θy∆θzT(15)

where xori indicates the orientational part of x(i.e. the last

2 elements), kris the feedback gain, and ∆θy,∆θzare the

angle difference in the yand zaxis between the current and

desired goal orientations.

In the experiments, some of the muscles actuating the

ﬁngers (#13, #15, and #16 in Fig. 3) were kept at a constant

target tension and was not involved in the operational space

controller. In total, 15 muscles and 7 joints were used in the

controller. Unless otherwise noted, the quadratic optimization

fomulation in (11) was used, resulting in a optimization

process of 22 variables. Table I shows the parameter values

used in the experiments.

We have also created a simple graphical user interface,

shown in Fig. 4a, which enables control of the hand position

and orientation by moving a marker with the mouse, and

conducted demonstrations utilizing tools such as badminton

rackets, which in effect extend the end effector of the robot.

They are documented in the attached video, together with

video footage of the experiments detailed in the next section.

TABLE I: Parameter values used in experiments

parameter value

f1200 [N]

f240 [N]

fmin 5 [N]

k0.01 [N2m2]

kp300 [/s2]

kd34.6 [/s]

kr300 [m/rad ·s2]

(a) Simple GUI. (b) Tool usage task.

Fig. 4: Applications of the proposed controller.

V. EXPERIMENTS

A. Compliant response to external disturbance

This experiment measures how the controller can adapt

compliantly to external forces applied to the arm. The

experiment is described in Fig. 5. A force gauge was used

to push the elbow 4 cm inwards, as external disturbance.

The desired position xdes for the operational space controller

was ﬁxed to the initial hand position. For comparison with

the proposed method, controllers based on joint stiffness and

muscle stiffness were used.

The joint stiffness controller implements torque control to

achieve desired joint position. The formulation is similar to

the joint-space controller proposed by Kawamura et al. [6].

arg min

f

(k||f||2+

||JT

mf+K(qdes −q) + g||2)

subject to f≥fmin

(16)

The proportional term which accounts for joint stiffness, K,

was set to diag(40,40,40,15,2,2,2)[Nm/rad].

The muscle stiffness controller implements P control at

the muscle level and has also been used to control muscu-

Fig. 5: Overview of the external disturbance experiment.

Fig. 6: Result of external disturbance experiment.

loskeletal robots [7].

ldes := g(qdes)

for each muscle i...

fi=max(km(li−ldes,i),0) + fmin

(17)

where g(·)is the joint-muscle mapping, kmis the muscle

stiffness term, and liis the length of muscle i.

For both comparison experiments, which accepts goal

input as joint pose, a desired pose of qdes = (-0.43, 0.48, -

0.43, -1.8, 0.68, 0.5, 0.4)[rad]was given, to match the initial

pose in the trial using the operational space controller.

The results are shown in Fig. 6. The left column shows the

results for the proposed operational space controller, and the

middle and right columns are the comparison controllers.

Only the representative muscles and joints are plotted for

the lower two graphs. The hand position deviation from

the initial position was always kept below 2 [cm] for the

proposed controller, while in the comparison methods it

rose to above 4 [cm]. The pushing force measured by the

force gauge also shows a signiﬁcant difference between the

proposed and comparison methods; in the proposed method,

the force increases as the elbow is displaced, peaking at

around 40 [N] and then gradually decreases to 0 [N], even

as the 4 [cm] elbow displacement is held in place. In the

comparison methods, constant force is required to hold the

elbow in place.

It should be noted that the proposed method does not

explicitly consider external disturbances (e.g. using distur-

bance observers or contact sensors). Instead, as the elbow

is displaced and the joints move, the controller detects the

error in operational space, and generates feedback output to

decrease the error.

B. Dynamic trajectory tracking with different arm poses

In this experiment, the ability of the controller to execute

the same operational space trajectory with different poses

was veriﬁed. The robot followed the same pre-calculated

dynamic trajectory in each trial, moving between two points

distanced 20[cm]apart, as depicted in Fig. 7. In this experi-

ment, orientation feedback was disabled, and only positional

control was used (i.e., krwas set to 0).

The results are shown in Fig. 7. The 3 poses used are

depicted in the same ﬁgure, and it can be seen that they are

achieving the same operational space trajectory with different

joint angle pose. For graph legibility, the hand position is

plotted as the difference from the center of the movement,

(0.36,0.25,−0.3)[m].

It can be seen that for poses A and B, the robot shows

relatively good tracking with an average tracking error of

respectively 3.5[cm]and 5.0[cm]. However, for pose C,

where the elbow was higher, the robot struggles to track the

desired trajectory, and average error increases to 7.7[cm].

C. Effect of optimization across nullspace

This experiment evaluated the effect of including the

nullspace vector in the optimization process. It compared

the full optimization problem formulation which includes the

nullspace vector τnull, described in (11), and the formulation

that does not include τnull, described in (10).

The robot was manually set to a pose with a high elbow

position (shown in Fig. 8a), and released at t= 0.

Fig. 7: Result of dynamic trajectory following experiment. The same trajectory was executed starting from different poses.

(a) Robot was released manu-

ally from this pose at t= 0 (b) Results.

Fig. 8: Nullspace optimization experiment.

The results are shown in Fig. 8b. This pose requires a

higher muscle activation to keep in place than when the

elbow is lower, and in both cases, the L2 norm of the muscle

activation ||a|| starts around 10. When the nullspace vector

is included in the optimization, ||a|| gradually decreases to

below 5 as time goes by, while ||a|| does not signiﬁcantly

change in the other formulation. The resulting joint angle

history shows that for the proposed method, the robot drifts

to a smaller shoulder-r angle, lowering the elbow position.

VI. CONCLUSION

We have implemented an operational space controller on a

physical musculoskeletal humanoid arm robot. It can receive

commands describing the task in operational space, and

through a quadratic optimization process using parameters

calculated from a dynamic rigid body model, joint-muscle

mapping model, and biomimetic muscle activation model, it

can calculate muscle activation values. With this controller,

we can achieve reaching tasks without a process that ex-

plicitly considers the target joint angles, such as inverse

kinematics. Because the robot does not consider its joint

angle pose, it can adapt compliantly to external disturbances

while still achieving the operational space task. We have also

proposed a method to include the torque nullspace vector

into the quadratic optimization. This effectively informs the

optimizer of possible movements that do not affect the

task, which enables the robot to automatically adjust its

pose in order to lower the overall muscle activation without

sacriﬁcing operational space accuracy.

In order to have robots that can work together with

humans, we consider it imperative that they can react com-

pliantly to external disturbances while achieving the desired

task. To that end, we take the task-oriented approach of

the operational space formulation and apply the concept

of muscle models inspired by biological muscles to realize

compliant motion in musculoskeletal robots. In the future,

we hope to extend this approach to other semgents of the

musculoskeletal humanoid, such as the trunk and legs, in

order to create a full-body operational space controller that

can consider its dynamic balance while achieving operational

space tasks.

REFERENCES

[1] Y. Toshimitsu, K. Kawaharazuka, K. Tsuzuki, M. Onitsuka,

M. Nishiura, Y. Koga, Y. Omura, M. Tomita, Y. Asano, K. Okada,

K. Kawasaki, and M. Inaba, “Biomimetic Control Scheme for Mus-

culoskeletal Humanoids Based on Motor Directional Tuning in the

Brain,” in Proceedings of the 2020 IEEE/RSJ International Conference

on Intelligent Robots and Systems, 2020.

[2] K. Kawaharazuka, K. Tsuzuki, M. Onitsuka, Y. Asano, K. Okada,

K. Kawasaki, and M. Inaba, “Musculoskeletal AutoEncoder: A Uni-

ﬁed Online Acquisition Method of Intersensory Networks for State

Estimation, Control, and Simulation of Musculoskeletal Humanoids,”

IEEE Robotics and Automation Letters, vol. 5, no. 2, pp. 2411–2418,

2020.

[3] K. Kawaharazuka, S. Makino, M. Kawamura, A. Fujii, Y. Asano,

K. Okada, and M. Inaba, “Online Self-body Image Acquisition Con-

sidering Changes in Muscle Routes Caused by Softness of Body Tissue

for Tendon-driven Musculoskeletal Humanoids,” in Proceedings of the

2018 IEEE/RSJ International Conference on Intelligent Robots and

Systems, 2018, pp. 1711–1717.

[4] M. J¨

antsch, C. Schmaler, S. Wittmeier, K. Dalamagkidis, and A. Knoll,

“A scalable joint-space controller for musculoskeletal robots with

spherical joints,” in Proceedings of the 2011 IEEE International

Conference on Robotics and Biomimetics, 2011, pp. 2211–2216.

[5] G. Martius, R. Hostettler, A. Knoll, and R. Der, “Compliant control

for soft robots: Emergent behavior of a tendon driven anthropomor-

phic arm,” in 2016 IEEE/RSJ International Conference on Intelligent

Robots and Systems (IROS), Oct 2016, pp. 767–773.

[6] M. Kawamura, S. Ookubo, Y. Asano, T. Kozuki, K. Okada, and

M. Inaba, “A Joint-Space Controller Based on Redundant Muscle

Tension for Multiple DOF Joints in Musculoskeletal Humanoids,”

in Proceedings of the 2016 IEEE-RAS International Conference on

Humanoid Robots, 2016, pp. 814–819.

[7] T. Shirai, J. Urata, Y. Nakanishi, K. Okada, and M. Inaba, “Whole

body adapting behavior with muscle level stiffness control of tendon-

driven multijoint robot,” in Proceedings of the 2011 IEEE Interna-

tional Conference on Robotics and Biomimetics, 2011, pp. 2229–2234.

[8] D. Stanev and K. Moustakas, “Simulation of constrained muscu-

loskeletal systems in task space,” IEEE Transactions on Biomedical

Engineering, vol. 65, pp. 307–318, 02 2018.

[9] S. Menon, T. Migimatsu, and O. Khatib, Controlling Muscle-Actuated

Articulated Bodies in Operational Space, 01 2020, pp. 1037–1053.

[10] A. Erdemir, S. Mclean, W. Herzog, and A. van den Bogert, “Model-

based estimation of muscle forces during movements,” Clinical biome-

chanics (Bristol, Avon), vol. 22, pp. 131–54, 03 2007.

[11] F. Zajac, “Muscle and tendon: properties, models, scaling, and ap-

plication to biomechanics and motor control.” Critical reviews in

biomedical engineering, vol. 17 4, pp. 359–411, 1989.

[12] O. Khatib, “A uniﬁed approach for motion and force control of robot

manipulators: The operational space formulation,” IEEE Journal on

Robotics and Automation, vol. 3, no. 1, pp. 43–53, 1987.

[13] J. Nakanishi, R. Cory, M. Mistry, J. Peters, and S. Schaal, “Oper-

ational space control: A theoretical and empirical comparison,” The

International Journal of Robotics Research, vol. 27, p. 737, 06 2008.

[14] K. Kawaharazuka, S. Makino, K. Tsuzuki, M. Onitsuka, Y. Nagamatsu,

K. Shinjo, T. Makabe, Y. Asano, K. Okada, K. Kawasaki, and

M. Inaba, “Component Modularized Design of Musculoskeletal Hu-

manoid Platform Musashi to Investigate Learning Control Systems,”

in Proceedings of the 2019 IEEE/RSJ International Conference on

Intelligent Robots and Systems, 2019, pp. 7294–7301.

[15] Y. Asano, T. Kozuki, S. Ookubo, K. Kawasaki, T. Shirai, K. Kimura,

K. Okada, and M. Inaba, “A Sensor-driver Integrated Muscle Module

with High-tension Measurability and Flexibility for Tendon-driven

Robots,” in Proceedings of the 2015 IEEE/RSJ International Con-

ference on Intelligent Robots and Systems, 2015, pp. 5960–5965.

[16] J. Carpentier, F. Valenza, N. Mansard, et al., “Pinocchio: fast forward

and inverse dynamics for poly-articulated systems,” https://stack-of-

tasks.github.io/pinocchio, 2015–2019.

[17] J. Carpentier, G. Saurel, G. Buondonno, J. Mirabel, F. Lamiraux,

O. Stasse, and N. Mansard, “The pinocchio c++ library – a fast and

ﬂexible implementation of rigid body dynamics algorithms and their

analytical derivatives,” in IEEE International Symposium on System

Integrations (SII), 2019.