최명환
                     (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.