• 대한전기학회
Mobile QR Code QR CODE : The Transactions of the Korean Institute of Electrical Engineers
  • COPE
  • kcse
  • 한국과학기술단체총연합회
  • 한국학술지인용색인
  • Scopus
  • crossref
  • orcid




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)

../../Resources/kiee/KIEE.2022.71.1.203/fig1.png

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

../../Resources/kiee/KIEE.2022.71.1.203/fig2.png

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

../../Resources/kiee/KIEE.2022.71.1.203/fig3.png

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

(1)
$_{bridge}^{violin}R =_{violin}^{bridge}R^{T}=\begin{bmatrix}\cos\theta & -\sin\theta & 0 \\\sin\theta &\cos\theta & 0 \\0&0& 1\end{bmatrix}^{T}$ $=\begin{bmatrix}0.882& 0.471& 0 \\-0.471& 0.882& 0 \\0& 0& 1\end{bmatrix}$

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

../../Resources/kiee/KIEE.2022.71.1.203/fig4.png

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

../../Resources/kiee/KIEE.2022.71.1.203/fig5.png

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.

(2)
R = KR

(3)
R = (1-K) R = R + L

Hence, from Eq(2) and Eq(3),

(4)
(1-K) R = KR + L

Rearranging the equation to compute R, we have

(5)
(1-2K) R = L

(6)
R = L/ (1-2K)

Fig. 6. Computation of workspace radius and minimum lengths of robot links

../../Resources/kiee/KIEE.2022.71.1.203/fig6.png

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

../../Resources/kiee/KIEE.2022.71.1.203/fig7.png

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

1 
A. Kapur, 2005, A History of Robotic Musical Instruments, Proceedings of the International Computer Music Conference, pp. 21-28Google Search
2 
Solis Jorge, Takanishi Atsuo, Hashimoto Kunimatsu, 2010, Development of an Anthropomorphic Saxophone-Playing Robot, Advances in Soft Com-puting, Vol. 83, pp. 175-186DOI
3 
Tankanishi Atsuo, Maeda Manahu, 1998, Development of an Anthropomorphic Flutist Robot W-3RIV, International Computer Music Conference, pp. 328-331DOI
4 
I. Kato, 1987, Wabot-2: Autonomous robot with dexterous finger arm, Proc. IEEE Robotics Automation, Vol. 5, No. 2Google Search
5 
C. Laschi, 2000, Grasping and Manipulation in humanoid robotics, First IEEE-RAS Workshop on Humanoids Humanoids 2000 Boston MAGoogle Search
6 
C. V. Raman, 1920, Experiments with mechanical mechanically played violins, Proc. Indian Assoc. for the Cultivation of Sci., Vol. 6, pp. 19-36Google Search
7 
F. A. Saunders, 1937, The mechanical action of violins, J. Acoustical Society of America, Vol. 9, pp. 81-98DOI
8 
M. Kajitani, 1989, Development of Musician Robots, Journal of Robotics and Mechatronics, Vol. 1, No. 3, pp. 254-255Google Search
9 
Kusuda Yoshihiro, 2008, Toyota's violin-playing robot, Industrial Robot: An International Journal, Vol. 35, No. 6, pp. 504-506DOI
10 
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-1097DOI
11 
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-I18Google Search
12 
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-501DOI
13 
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-191DOI
14 
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-235DOI
15 
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. 11Google Search
16 
Craig John, 2017, Introduction to Robotics: Mechanics and Control, 4th Edition Section 5.8 PearsonGoogle Search

저자소개

최명환 (Myoung Hwan Choi)
../../Resources/kiee/KIEE.2022.71.1.203/au1.png

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.