최명환
(Myoung Hwan Choi)
†iD
Copyright © The Korean Institute of Electrical Engineers(KIEE)
Key words
Violin, Bow, Robot Arm, Minimum Link Length, Singularity Avoidance, Violin bridge, Frog Point, Entertainment robot
1. Introduction
One of the areas of robot application is entertainment and many research results have
been published on robots that play musical instruments (1). Waseda Saxophonist Robot (2) and Flutist Robot (3) were developed at Waseda University. WABOT-2 played concert organ (4), and WASUBOT performed a concerto with NHK Symphony Orchestra (5). Researchers developed mechanical devices to study the mechanism of sound generation
on violin (6-7). Violin playing MUBOT was presented in (8) that used pantograph mechanism to move the bow back and forth in a predetermined
path while the violin body was rotated to select the string to play, and Toyota Motor
Corporation developed a humanoid type violin performance robot (9). A 2-DOF Cartesian mechanism was used in (10) to generate bow motion in a fixed line path with a mechanism that rotates the violin
body to select the string to play.
Various control methods have been proposed that sought to improve the violin sound.
Bow speed adjustment was used with offline feedback (11). A study of sound quality for the violin playing robot was presented in (12), and an experiment was presented that verified the importance of auditory feedback
during violin performance (13), and violin playing robots were presented that produced sound by considering kansei
(14).
The mechanism used in the research literature for the violin sound generation can
be grouped into two types. The first type is the mechanism dedicated to violin playing
(6,8,10). A complex mechanism is used to move the bow and press the bow on the strings, but
these mechanisms have structures that are completely different from human arm. While
this type of mechanism is successful in generating violin sound, its limitation is
that it fails to portray the image of a human arm playing the violin.
The second type is the anthropomorphic robot arm, and general purpose 6 or 7 DOF robotic
arms were used to move the bow while the violin body is positioned at a fixed location
(9,11-14). This type of robotic manipulator has a similar kinematic structure as the human
arm and has the appearance of a human arm playing the violin. However, while this
second type is successful in producing violin sound, it is difficult to play the full
scale classical violin music, since it requires extremely fast bow motion and acceleration.
General purpose 6 DOF robotic arms are usually heavy and slow for classical music.
Fig. 1. Bridge geometry and location of the string contact points. Distances d and
h are measured, and coordinates of points G, D, A, and E are computed in bridge coordinate
system (length unit:mm)
Fig. 2. The relationship between the bow and the bridge when the bow is on string
D. The effective bow is the portion of the bow hair from Bu to Bd
For a violin playing robot to be successful as an entertainment robot it needs to
portray the image of a human arm playing the violin. Hence it is desired that the
robotic manipulator has an articulated structure similar to the human arm. The robotic
mechanism has to be as light and fast as possible. This leads to the following questions:
What is the desired kinematic structure of the bow playing robot arm, and what are
the minimum lengths of the links? Shorter link lengths result in smaller link weight,
smaller actuator size and weight, and thus fast motion capabilities of the manipulator.
This paper focuses on the computation method of the minimum link lengths required
for the motion of the violin bow playing robot arm and the kinematic design. The workspace
of the bow playing arm is analyzed using the geometric dimensions of the bow and the
violin bridge. The bow frog motion paths are computed for four violin strings. The
minimum link lengths of the manipulator are found that results in the robot workspace
encompassing the bow frog motion paths and that avoids the singularities in the robot
motion path.
2. Violin Bridge and Bow Geometry
2.1 Violin Bridge Geometry
Dimensions of the full size violin and bridge are standardized although they can vary
slightly depending on the individual instruments. In this study a typical violin bow
and a bridge are used for the dimension measurements. The bridge of a violin and
locations of the strings are shown in Fig 1. The four strings contact the bridge at points G, D, A, and E where these letters
represent the notes of open strings. The bridge coordinate system {bridge} with unit
vectors $\hat X_{bridge},\:$ $\hat Y_{bridge},\:$ $\hat Z_{bridge}$ is setup at the
center O of the top arc. The top arc is modelled as a circumference of a circle of
radius R with the center at C. The arcs GD, DA, AE are assumed to have the same length,
so the angles ∠GCD, ∠DCA, ∠ACE are equal. In the figure, d is the distance between
G and E, and h is the height of the origin O of {bridge} from the line segment GE.
The distance d and h were measured and found to be 36mm and 4.5mm. The the coordinates
of G, D, A, and E with respect to bridge coordinate system can be computed from the
geometry of the bridge, and they are found to be G = (-18.00, -4.5), D = (-6.22, -0.51),
A = (6.22, -0.51), E = (18.00, -4.5) mm.
2.2 Frog Point
The relationship between the bow and the bridge is shown in Fig 2. For the convenience of illustration, the bow length is scaled down so the bow is
not in scale in the figure. The bow is playing the string D, and moves in a straight
line QT. In actual practice, the bow moves not on the bridge, but the bow is in contact
with string roughly 1 centimeter away from the bridge. However, the geometry shown
in Fig 2 is used as an approximation of the bow and bridge relationship. The dimensions of
the bow were measured as follows. Length of the bow from the tip to the frog, denoted
as Lb, was 720 mm. Length of the bow hair, Lt, near the tip and the frog of the bow
that are not used in playing was 50 mm. Length of the frog handle Lh was 45mm. The
effective bow length that is actually used in the violin playing was Le = (Lb-2*Lt-Lh)
= 575mm, and is the portion of the bow hair from the uppermost point Bu to the lowermost
point Bd in Fig 2. The end point of the frog is defined as frog point and will be used as the reference
point of the frog. The robotic manipulator will hold the frog using an end effector,
and the shape and length of the end effector can vary depending on the application.
In this paper, the length of the end effector is assumed to be zero for simplicity,
and the frog point will be used as the goal point of the robot end effector.
The frog point moves along QT so that a string is in contact with the portion of the
bow hair between Bu and Bd. The coordinates of the frog point when string D is in
contact with Bu is denoted as Frog(D,Bu) and computed as follows. The gradient, denoted
as $g_{D}$, of the frog path QT on string D is the same as the gradient of line segment
GA, and is computed from the coordinates of G and A. The frog point is away from string
D a distance of (Le + Lt + Lh) along the line QT. The frog point coordinates Frog(D,Bu)
is computed using $g_{D}$ and found to be (654.87, 108.43) mm. When string D is in
contact with Bd, the distance of the frog point from string D is (Lt + Lh). The frog
point coordinates, denoted as Frog(D,Bd), is computed similarly, and was (87.52, 14.94)
mm. These two coordinates, Frog(D,Bu) and Frog(D,Bd), are two end points of the frog
path when the bow is playing the string D.
Table 1. The coordinates of the frog points
String
|
Frog Point
|
Coordinates in
bridge frame (mm)
|
Distance from bridge
frame origin (mm)
|
G
|
Frog(G,Bu)
Frog(G,Bd)
|
(573.18, 310.79)
( 65.82, 40.21)
|
652.02
77.13
|
D
|
Frog(D,Bu)
Frog(D,Bd)
|
(654.87, 108.43)
( 87.52, 14.94)
|
663.79
88.79
|
A
|
Frog(A,Bu)
Frog(A,Bd)
|
(667.30, 109.45)
( 99.96, -15.96)
|
676.22
101.23
|
E
|
Frog(E,Bu)
Frog(E,Bd)
|
(609.18, 319.79)
(101.82, -49.21)
|
688.02
113.09
|
When the bow is playing the string A, the gradient of the frog path, denoted as $g_{A}$,
is computed as the gradient of the line segment DE. When the bow is on string G and
$g_{G}$ is to be computed, there exists only one neighboring point so the method used
for computing $g_{D}$ and $g_{A}$ can not be used. Instead, the difference between
$g_{D}$ and $g_{A}$ is used to compute $g_{G}$. Since the gradient change from $g_{A}$
to $g_{D}$ must be the same as the gradient change from $g_{D}$ to $g_{G}$, we have
$(g_{G}-g_{D})=$$(g_{D}-g_{A})$, and hence $g_{G}=g_{D}+$$(g_{D}-g_{A})$. Applying
the same logic, we have $g_{E}=$$g_{A}+(g_{A}-g_{D})$. Once the gradients $g_{A}$,
$g_{G}$ and $g_{E}$ are obtained, the coordinates of the frog points can be computed
using the method described above and are shown in Table 1. It should be noted that there are violin techniques where the bow plays not just
one single string, but multiple strings at the same time. “Double stop” technique
plays two strings, and “triple stop” technique plays three strings at the same time.
However, in the context of the workspace analysis, the double stop and triple stop
techniques alter the frog path only slightly, and not considered in this study.
Fig. 3. Frog paths in bridge coordinate system. String G, D, A, E are shown. Bridge
is not shown for simplicity
2.3 Frog Paths in Bridge Coordinate System
The frog paths for four strings are shown in the X-Y plane of the bridge coordinate
system in Fig 3. When the uppermost point Bu of the bow is on G string, the frog point is at Frog(G,Bu).
When the lowermost point Bd of the bow is on G string, the frog point is at Frog(G,Bd).
Hence, the line segment between Frog(G,Bd) and Frog(G,Bu) represents the path of the
frog point when the bow is playing the string G. This path is also the path of the
robot end effector since we assume the frog point is the same as the end effector
position. The frog paths for strings D, A and E are also shown in the figure. It is
noted that when Bu is in contact with a string, the frog point is distant from the
string by approximately the length of the bow. Frog(D,Bd) is nearer to the string
D than Frog(D,Bu).
2.4 Frog Paths in Violin Coordinate System
When a violinist plays the violin, he/she holds the violin slightly rotated so that
the human arm can play the string G along the frog path that is approximately horizontal,
as shown in Fig 4. Two coordinate systems are introduced. World coordinate system {world} represent
the space we live in. Violin coordinate system {violin} has the same origin as the
{bridge}, but its orientation is the same as {world}. The transformation from {bridge}
to {violin} is achieved by rotation of angle θ about $\hat Z_{bridge}$. The rotation
angle θ is the same as the gradient of the frog path from Frog(G,Bd) and Frog(G,Bu)
for string G in bridge coordinate system, and found to be 28.07 degree. The angle
θ may vary depending on the rotation of the bridge. Different values of θ result in
different coordinates of the frog points, but will not change the computation of the
minimum link lengths presented in this paper. Let $_{violin}^{bridge}R$ represent
the rotation matrix representing the orientation of {violin} with respect to {bridge},
then it can be written as
A point in {bridge} written as $^{bridge}P=(p_{x},\: p_{y},\: p_{z})^{T}$ can be represented
in {violin} as $^{violin}P=_{bridge}^{violin}R^{bridge}P$. In Fig 5, robot end effector positions shown in Fig 3 are represented in {violin} and drawn in X-Y plane of the violin coordinate system.
Fig. 4. Definition of violin coordinate system
In Fig 5, the frog path positions are all in the X-Y plane of the violin coordinate system,
and the required motion to reach the frog path positions can be generated by a two
revolute joint planar manipulator. At the frog point, an additional degree of freedom
is required to change the angle of the bow. Hence the robotic manipulator of planar
RRR mechanism can generate the required end effector motions.
Fig. 5. Frog paths in violin coordinate system
3. Minimum Link Lengths Computation
The link length of the link 3 or the end effector was assumed to be zero, and the
lengths L and L of link 1 and 2 have to be computed. Let the ratio of the two link
lengths be denoted as K, so that L = K L. The ratio K is a design parameter, and is
assumed to be 1.0 for the convenience of illustration in this paper, so the two link
lengths L and L are equal. Different values of K may be used and the same method presented
in this paper can be applied. The workspace of a two link planar manipulator is a
circle of radius R = L + L as shown in Fig 6. We need to compute R.
The end effector moves in a straight line in Cartesian space, and must avoid singularities.
A two link planar robot arm is known to have two types of singularity (16), the first at the center of the workspace, and the second at the boundary of the
workspace. When the end effector velocity is given in Cartesian space, the joint velocities
increase rapidly towards infinity near the singularity, and the end effector must
avoid approaching near these two singularities. Hence, two singular regions are defined
that the end effector must avoid. The first singular region is a circle of radius
R = KR at the center. The second singular region is a ring where the radius varies
from R = (1-K)R to R. These two singularity regions are shown shaded in Fig 6. The constant K, 0 < K < 1 is a singularity avoidance factor, and is a design parameter.
Large value of K results in the large area of singularity region.
The singularity avoidance can be achieved by selecting R so that all end effector
line paths in Fig 5 are located in a doughnut where the distance of the workspace points from the center
vary from R = KR to R = (1-K)R. When a violinist holds a bow with the right hand and
plays the violin, the arm is always in the right arm configuration. Since the violinist
holds the violin in front of the chest, frog points are always in the front of the
violinist and never behind his/her back. These observations lead to the following
steps to compute R.
The four end points of the frog paths named in Fig 5 are denoted as a, b, c and d in Fig 6, and their coordinate values are known. The point e is the intersection of line cd
with the normal from point b to line cd. The coordinates of point e can be computed.
The distance from b to e can be computed, and denoted as L. Let the center of the
circular workspace be denoted as o, then the center o is on the extrapolated line
segment be. Since the end effector line paths must be outside singularity regions,
the circular singularity region at the center with radius R must touch the line segment
cd at point e. The values K, L, are known, while R, R, R are to be found. From the
figure, we have the following relations.
Hence, from Eq(2) and Eq(3),
Rearranging the equation to compute R, we have
Fig. 6. Computation of workspace radius and minimum lengths of robot links
Once R is computed, L and L are given by L = L = 0.5 R. The result of computation
with K = 0.05 are shown in Table 2. Radius R was found to be 599.42 mm, and the link lengths were L = L = 299.71 mm.
4. Motion of the Bow Playing Robot Arm
Base coordinate system {base} is defined at the center of the circular workspace so
that its orientation is the same as {violin} as shown in Fig 7. This is the coordinate system fixed to the base of the manipulator. For each of
the four frog paths, the inverse kinematics of the 2 DOF planar arm with link lengths
L and L is solved with right arm configuration, and robot link positions are shown
in Fig 7. The singularity avoidance factor K is 0.05. All the frog paths avoid the singularity
regions. The singularity avoidance factor K determines the portion of the workspace
that can actually be used, and larger value of K results in the smaller area of the
usable workspace and longer lengths of the manipulator links. The result in Table 2 shows that the link lengths computed are L = L = 299.71 mm.
A study on the human upper arm length was presented in (15) where data were measured from students between ages 19-21 according to gender. The
average upper arm length was 33.72 cm for male, and 30.12 cm for female subjects.
These data are in good agreement with the results in Table 2. The distance of the bridge from the origin of {base} is computed from the coordinates
of o in Table 2, and is found to be 360.41 mm.
Table 2. Minimum Link Lengths when Kw = 0.05
Name
|
Values (mm)
|
Coordinates of e in {bridge}
|
(204.03, -296.04)
|
Coordinates of o in {bridge}
|
(179.14, -312.74)
|
Lbe
|
539.48
|
R
|
599.42
|
R1
|
67.43
|
R2
|
606.91
|
L1
|
299.71
|
L2
|
299.71
|
It is noted that advanced bow playing techniques, (on the touch, near the finger
board), and (on the bridge, near the bridge), can be used to change the distance
of the bow from the bridge. When these techniques are used the end effector positions
are not confined to a two dimensional plane as in Fig 7, but expanded into a three dimensional space. In this case, the manipulator must
have an additional degree of freedom at the manipulator base and its joint axis must
be perpendicular to the three parallel rotation axes of the above mentioned RRR joints.
However, the variation of the bow to bridge distance in these techniques is within
a few centimeters and the resulting changes in frog paths are small. Since the bridge
to bow distance was not included in the frog point modelling in Section 2.2, the results
of this study are valid.
Fig. 7. Robot link positions of a planar 2 DOF manipulator for frog paths in base
coordinate system
5. Conclusion
A method to compute the minimum link lengths of violin playing robot arm and related
kinematic analysis were presented. The minimum link lengths computed are similar to
the lengths of adult human arm. There are two design parameters, the ratio of two
link lengths, K, and singularity avoidance factor K, that can be adjusted to change
the manipulator workspace. The mechanical design factors such as link material, actuator,
gear reduction, etc may result in longer link lengths in the design. However, the
analysis in this paper shows that if the minimum link lengths are observed, the robot
arm will generate the bow motions required in the violin playing. The analysis in
this paper can be used as a foundation for the design of robotic manipulators that
play string instruments such as viola, cello, and double bass.
References
A. Kapur, 2005, A History of Robotic Musical Instruments, Proceedings of the International
Computer Music Conference, pp. 21-28
Solis Jorge, Takanishi Atsuo, Hashimoto Kunimatsu, 2010, Development of an Anthropomorphic
Saxophone-Playing Robot, Advances in Soft Com-puting, Vol. 83, pp. 175-186
Tankanishi Atsuo, Maeda Manahu, 1998, Development of an Anthropomorphic Flutist Robot
W-3RIV, International Computer Music Conference, pp. 328-331
I. Kato, 1987, Wabot-2: Autonomous robot with dexterous finger arm, Proc. IEEE Robotics
Automation, Vol. 5, No. 2
C. Laschi, 2000, Grasping and Manipulation in humanoid robotics, First IEEE-RAS Workshop
on Humanoids Humanoids 2000 Boston MA
C. V. Raman, 1920, Experiments with mechanical mechanically played violins, Proc.
Indian Assoc. for the Cultivation of Sci., Vol. 6, pp. 19-36
F. A. Saunders, 1937, The mechanical action of violins, J. Acoustical Society of America,
Vol. 9, pp. 81-98
M. Kajitani, 1989, Development of Musician Robots, Journal of Robotics and Mechatronics,
Vol. 1, No. 3, pp. 254-255
Kusuda Yoshihiro, 2008, Toyota's violin-playing robot, Industrial Robot: An International
Journal, Vol. 35, No. 6, pp. 504-506
Maruyama Tsugito, September 19-22 2017, Development of a Violin Playing Robot and
Its Sound Volume and Pitch Controls, Proceedings of the SICE Annual Conference 2017
Kanazawa University Kanazawa Japan, pp. 1092-1097
A. Takahara, S. Matsuda, K. Shibuya, 2008, Study on Volume Feedback System for Violin
Playing Robot, Proceedings of the 2008 JSME Conference on Robotics and Mechatronics,
pp. 2p1-I18
Hyeonjun Park, Wonse Jo, Kyeongmin Choi, Hwonjae Jung, Yura. Jargalbaatar, Bum-Joo
Lee, Donghan Kim, 2015, A Study about Sound Quality for Violin Playing Robot, Procedia
Computer Science, Vol. 56, pp. 496-501
Wonse Jo, Hyeonjun Park, Bumjoo Lee, Donghan Kim, Feb 17-19 2015, A Study on Improving
Sound Quality of Violin Playing Robot, Proceedings of the 6th International Conference
on Automation, Vol. robotics and applications queenstown new zealand, pp. 185-191
K. Shibuya, Y. Chikaoka, T. Koyama, S. Sugano, 1997, The planning of violin playing
robot with KANSEI information-algorithm to decide bowing parameters from timbre, IEEE
International Workshop on Robot and Human Communication Proceedings, pp. 230-235
Navid Shadan, Mokhtari Tahmineh, Alizamir Tahereh, Arabkheradmand Ali, Hassanzadeh
Golamreza, August 2013, Determination of Stature from Upper Arm Length in Medical
Students, Anatomical Sciences, Vol. 11
Craig John, 2017, Introduction to Robotics: Mechanics and Control, 4th Edition Section
5.8 Pearson
저자소개
Myoung Hwan Choi received B.S., M.S. and Ph.D. degrees from Seoul National University,
Seoul, Korea in 1982, 1986, and 1992 respectively.
He is currently a professor at the Department of Electrical and Electronics Engineering,
Kangwon National University, Chuncheon, South Korea.
He was a Visiting Research Scholar in Oak Ridge National Laboratory, Oak Ridge, TN
in 1995, and a visiting scholar in the Department of Electrical and Computer Engineering,
Virginia Polytechnic Institute and State University, VA, USA in 2010.