of Used Buttons 7 N/A # of Used Joysticks N/A 2 Length of Joystick (mm) N/A 53 Gap between Joysticks (mm) N/A 44 Angles of Joystick (degrees) N/A ±25

Connection Wire USB

The self-feeding robot has a basic input device consisting of a set of buttons. We usually use six buttons that correspond with start, return, and four directions. The buttons were originally developed to check the basic operations of the self-feeding robot. However, quadriplegics who can only move their neck and head would have difficulty pushing the button with their chin. Because the buttons are out of the field of view, the user has a hard time knowing where the buttons are and whether or not they are pushed. Additionally, pushing these buttons requires excessive force and can result in muscle fatigue in a user's neck. Thus, a user who uses his or her neck would have difficulty pushing the buttons. Users prefer to use joysticks rather than buttons. On the basis of users' opinions, we tested

Two joysticks are employed. Originally, it was determined that a user wants to use two joysticks rather than one joystick and buttons. The length of the joystick is modified from 10 to 53 mm according to users' opinions. Because of the gap between the two joysticks, a user can easily manipulate one of the joysticks without any resulting malfunction of the other

The length of the joystick depends on user preference. Some users prefer a long joystick while others like a short one. Most users prefer the wide gap between the two joysticks because a short gap can result in the malfunction of the unused joystick. The moving angles of a joystick are ±25°. Users express satisfaction with the flexibility of the joystick and its

Fig. 16. Input devices of a self-feeding robot. (a) Buttons, (b) Joysticks

Table 2. Input devices for the self-feeding robot

input devices that have joysticks.

silicon cover, which can be connected to the user's skin.

**4.3.1 Buttons** 

**4.3.2 Joysticks** 

joystick.

### **4.4 Satisfaction evaluation of the self-feeding robot**

We carried out the user tests with user candidates, including people with spinal cord injuries. After they actually ate food using the developed self-feeding robot, we collected their feedback to determine their satisfaction score in accordance with input devices. The users ate food using the self-feeding robot with each of the input devices. The results of the users' feedback pertained to the self-feeding robot as well as the input devices. The users rated their satisfaction with the input device activity on a scale of 1 to 10, as with the Canadian Occupational Performance Measure (Pendleton, 2001). A score of 10 indicates the highest level of satisfaction. Most users were satisfied with the self-feeding system that had a dual joystick, as shown in Table 3. This indicates that the use of joysticks is more comfortable than that of buttons. In addition, the self-feeding system operates well. Based on the analysis of users' feedback, the key factors affecting the handling of joysticks with regard to a user's neck motion are as follows: the distance between the joysticks, the moving angle of the joysticks, and the length of the joysticks. We will perform a comparison study between commercialized feeding systems and the developed system.


Table 3. Satisfaction score of input devices when users eat food via a self-feeding robot (max = 10)

### **5. Concluding remarks**

We have developed a novel assistive robot for self-feeding that is capable of handling Korean food, including sticky rice. This paper presents the overall operation of the selffeeding robot. The proposed robot has three distinguishing points: handling sticky rice, using an ordinary meal tray, and a modular design that can be divided into two arms. Users are people with physical disabilities who have limited arm function. During the development of the robot, we considered the feedback provided by several users and experts. In addition, the user candidates tested the actual the self-feeding robot. It was determined that the input device has the most important role. Many users prefer a dual joystick for self-feeding. Most of the users who participated in the experiments gave us positive feedback. Some users were impressed that they were able to eat their desired food when they wanted to eat it. In future work, we will add several functions to the robot, including improving the reliability of basic operations and adding a safety feature. We will also simplify the system components and perform user evaluations.

**4** 

*Greece* 

Zacharia Paraskevi

**Robot Handling Fabrics Towards Sewing** 

*University of Patras, Department of Mechanical Engineering & Aeronautics* 

In cloth making industry, the need for high flexibility in automation is really imperative due to the extensive style and material variation of the products and the fast fashion changes. The automated handling of fabric materials is one of the most challenging problems in the field of robotics, since it contains a vast potential for high productivity and cost reduction. The main difficulty to get full use of this potential is the fact that it is rather impossible to predict the behaviour of fabrics towards handling due to their low bending rigidity. Moreover, it is difficult to be modelled due to their unpredictable, non-linear and complex

Sewing is the most important joining technology in garments and textiles manufacturing. The fact that sewing fabrics is a "sensitive" operation due to the erratic behaviour of fabrics poses barriers in the development of automated sewing systems. A solution to manipulation tasks that are afflicted with uncertainty, subjectivity, ambiguity and vagueness is an intelligent control approach. The development of intelligent control systems with vision feedback enables robots to perform skilful tasks in more realistic environments and make the research efforts for flexibility and automation really promising. Thus, industrial robots supported by machine vision and sensors can contribute towards advanced automation in apparel manufacturing. On the other hand, sewing fabrics with the exclusive use of robots, without human intervention, is a complicated task. The stitching process is special in the sense that the error cannot be corrected after a part of the cloth has been stitched, implying that the stitching process is not reversible. This limitation implies that clothes that do not conform to the specifications are defective and should be withdrawn from the production. This imposes a great demand on precision during the sewing process. In practice, there is a predefined tolerance considered to be acceptable, as errors resulting from robot accuracy and camera

The main focus of this work lies on the design of an innovative intelligent robot controller based on visual servoing that aims to enable robots to handle flexible fabric sheets towards sewing. A great challenge is the design of a robot controller showing robustness against deformations that are likely to appear on the fabric towards robot handling. Special emphasis is given on robot handling fabrics comprised of curved edges with arbitrary curvature. This task is even harder, because up-todate industrial robots present limitations in their movement, owing to the fact that they can only be programmed to make straight or

**1. Introduction** 

mechanical behaviour.

resolution cannot be eliminated.

circular motions.

**Using Computational Intelligence Methods** 

## **6. Acknowledgment**

This research was supported by a grant (code #10-A-01, #11-A-04) from the Korea National Rehabilitation Research Institute, Korea National Rehabilitation Center, Korea. The authors acknowledge the input of consumer candidates, including Mr. Hongki Kim and Mr. Kwangsup Lee. In addition, the authors gratefully acknowledge the work of Mr. Won-Jin Song and the comments of clinical specialists, including Dr. Bum-Suk Lee, Dr. Sung-Il Hwang, and Ms. Mi-Ok Son at the Korea National Rehabilitation Center.

## **7. References**


## **Robot Handling Fabrics Towards Sewing Using Computational Intelligence Methods**

Zacharia Paraskevi

*University of Patras, Department of Mechanical Engineering & Aeronautics Greece* 

## **1. Introduction**

60 Robotic Systems – Applications, Control and Programming

This research was supported by a grant (code #10-A-01, #11-A-04) from the Korea National Rehabilitation Research Institute, Korea National Rehabilitation Center, Korea. The authors acknowledge the input of consumer candidates, including Mr. Hongki Kim and Mr. Kwangsup Lee. In addition, the authors gratefully acknowledge the work of Mr. Won-Jin Song and the comments of clinical specialists, including Dr. Bum-Suk Lee, Dr. Sung-Il

Ding, D.; Cooper, R. & Pearlman, J. (2007). *Incorporating Participatory Action Design into* 

Employment Development Institute (2009). *2009 Disability Statistics (in Korean)*, Survey &

Guglielmelli, E.; Lauro, G.; Chiarugi, F.; Giachetti, G.; Perrella, Y.; Pisetta, A. & Scoglio, A.

Hermann, R.; Phalangas, A.; Mahoney, R. & Alexander, M. (1999). *Powered Feeding Devices:* 

Mann, W. (2005). *Smart Technology for Aging, Disability, and Independence: The State of the* 

Song, W.-K.; Kim, J.; An, K.-O.; Lee, I.-H.; Song, W.-J.; Lee, B.-S.; Hwang, S.-I.; Son, M.-O. &

Song, W.-K.; Kim, J.; An, K.-O.; Lee, I.-H.; Song, W.-J. & Lee, B.-S. (2010b). *New Dual-Arm* 

Soyama, R.; Ishii, S. & Fukase, A. (2003). *The Development of Meal-assistance Robot MySpoon*, International Conference on Rehabilitation Robotics, pp. 88–91, Daejeon, Korea. Topping, M. & Smith, J. (1999) *The Development of HANDY 1, a Robotic System to Assist the Severely Disabled*, International Conference on Rehabilitation Robotics, 1999.

Pourmohammadali, H.; Kofman, J. & Khajepour, A. (2007). *Design of a Multiple-user* 

Biological Engineering Conference (CMBEC30), Toronto, Ontario, Canada.

Pendleton, H. & Schultz-Krohn, W. (2001). *Pedretti's Occupational Therapy*, Elsevier.

*Research and Education*, International Conference on Engineering Education (ICEE)

*An Evaluation of Three Models*, Arch Phys Med Rehabil, Vol. 80, pp. 1237–1242, 1999.

Lee, E.-C. (2010a). *Design of Novel Feeding Robot for Korean Food*, ICOST2010, LNCS

*Assistive Robot for Self-Feeding*, Second International Symposium on Quality of Life

*Intelligent Feeding Robot for Elderly and Disabled People*, 30th Canadian Medical and

Hwang, and Ms. Mi-Ok Son at the Korea National Rehabilitation Center.

Statistics Team , Korea, ISBN 978-89-5813-737-5.

Mealtime Partners, http://www.mealtimepartners.com.

Sammons Preston, http://www.sammonspreston.com.

Neater Solutions, http://www.neater.co.uk.

Technology, Las Vegas, USA.

(2009). *Self-feeding Apparatus*, US Patent2009/0104004.

6159, Yeunsook Lee *et al*., Eds. Springer, pp. 152–159.

*Science*, Wiley, Hoboken, New Jersey, ISBN 978-0-471-69694-0.

**6. Acknowledgment** 

**7. References** 

2007, Coimbra, Portugal.

In cloth making industry, the need for high flexibility in automation is really imperative due to the extensive style and material variation of the products and the fast fashion changes. The automated handling of fabric materials is one of the most challenging problems in the field of robotics, since it contains a vast potential for high productivity and cost reduction. The main difficulty to get full use of this potential is the fact that it is rather impossible to predict the behaviour of fabrics towards handling due to their low bending rigidity. Moreover, it is difficult to be modelled due to their unpredictable, non-linear and complex mechanical behaviour.

Sewing is the most important joining technology in garments and textiles manufacturing. The fact that sewing fabrics is a "sensitive" operation due to the erratic behaviour of fabrics poses barriers in the development of automated sewing systems. A solution to manipulation tasks that are afflicted with uncertainty, subjectivity, ambiguity and vagueness is an intelligent control approach. The development of intelligent control systems with vision feedback enables robots to perform skilful tasks in more realistic environments and make the research efforts for flexibility and automation really promising. Thus, industrial robots supported by machine vision and sensors can contribute towards advanced automation in apparel manufacturing.

On the other hand, sewing fabrics with the exclusive use of robots, without human intervention, is a complicated task. The stitching process is special in the sense that the error cannot be corrected after a part of the cloth has been stitched, implying that the stitching process is not reversible. This limitation implies that clothes that do not conform to the specifications are defective and should be withdrawn from the production. This imposes a great demand on precision during the sewing process. In practice, there is a predefined tolerance considered to be acceptable, as errors resulting from robot accuracy and camera resolution cannot be eliminated.

The main focus of this work lies on the design of an innovative intelligent robot controller based on visual servoing that aims to enable robots to handle flexible fabric sheets towards sewing. A great challenge is the design of a robot controller showing robustness against deformations that are likely to appear on the fabric towards robot handling. Special emphasis is given on robot handling fabrics comprised of curved edges with arbitrary curvature. This task is even harder, because up-todate industrial robots present limitations in their movement, owing to the fact that they can only be programmed to make straight or circular motions.

Robot Handling Fabrics Towards Sewing Using Computational Intelligence Methods 63

(Koustoumpardis & Aspragathos, 2003; Koustoumpardis et al., 2006; Moulianitis et al., 1999; Zoumponos & Aspragathos, 2008). After the fabric has been placed at a random location on the working table, a number of sub-tasks should be performed before the sewing process starts. These preliminary sub-tasks are: the recognition of the fabric's shape, the extraction of the 'seam line', the detection of the edges targeted for sewing, planning of the stitching process and the location of the end-effector on the fabric (Koustoumparis et al., 2007). After the preprocess planning, the robot sewing process is considered and divided into three subtasks: the manipulation of the fabric towards the needle, the sewing of the seam segment

Concerning visual servoing, the developed vision system is a combination of image-based and position-based control system. The image-based analysis is used for the identification of the fabric's shape. After the image acquisition of the fabric, the features (vertices of the edges), the needle-point and the sewing line's orientation are derived from the image analysis. Besides, the position of the needle is also known in the robot coordinate system. The end-effector's position is unknown in the image coordinate system; however, the robot system gives feedback to the control system of the current end-effector's position in the robot base coordinate system. Moreover, the relation between the robot- and the imagecoordinate system is known from the calibration of the camera. This approach makes the

Initially, the fabric lies free of wrinkles at a random location on the work table. The camera captures the image of the fabric without the gripper on it in order to obtain the shape of the fabric and use it as the reference shape towards handling. The stitching process is performed on the *seam line* situated parallel to the specified fabric edges. The distance between the outer edge and the seam line, called *seam allowance*, depends on the cloth part and is defined by the apparel manufacturer. In practice, it usually ranges between 1/4 inch and 5/8 inch. After the seam edges of the fabric (dashed-line in Fig. 1) have been determined, the sewing process is ready to start. The sewing line is determined by the feeding mechanism. The sewing process can be decomposed in three separate tasks: transfer, stitching and rotation. **The movement towards the needle.** After the robot touches the fabric at a proper location, the features, namely the vertices of the fabric, are extracted from the image taken from the camera. After the starting seam edge is identified, the vision system captures the distance (r) between the starting seam vertex and the sewing needle and the orientation angle (θ) formed by the starting seam segment and the sewing line (Fig. 1 (a)). The linear (u) and angular velocity (ω) of the robot end-effector are derived through the designed fuzzy decision system, described in Section 3.2. Given the time step dt and the angle φ, i.e. the orientation of r in the image coordinate system, the new position and orientation of the end-

> ( ) ( )

(1)

x = x + u×cos φ ×dt y = y + u×sin φ ×dt

Therefore, the robot end-effector moves along the direction of r (defined by φ) and simultaneously rotates around the end-effector's z-axis, which is vertical to the table, until the angle becomes θ′ (Zacharia et al., 2005). The fabric is transferred to a new position with

θ = θ - ω×dt

′ ′ ′

and the rotation around the needle.

**3.1 The sewing process** 

effector is computed by:

system more flexible and limits the calibration errors.

## **2. Literature review on automated sewing systems**

To the best of my knowledge, the published research work on robot handling fabrics with curved edges towards sewing is limited to few papers. A first approach to automating fabric manipulation was introduced by (Torgerson & Paul, 1988) including robotic motion control of various fabric shapes. The determination of robot motion paths is based on visual information defining the location of the fabric edges in world coordinates. However, no visual feedback was employed during the robot motion, making the method less accurate. The vision system detects the workpiece edge, extracts the boundary points, determines the parameters defining the geometry of the interior points, and computes the coordinates of the robot path points along subsequent linear and circular path segments. The error deviations between the desired seam line and the actual path line ranged between 3 and 5 mm. However, the flexibility of the method is limited owing to the fact that the path determination algorithms require a geometrical relationship between the robot end-effector and the workpiece to extract the edge parameters that are necessary for determining the robot motion.

The FIGARO system (Gershon and Porat, 1988, 1986) performed handling and assembling operations using two superimposed servo control systems. The first system maintains a small tension moving the robot forward with the cloth and the second one rotates the cloth about the sewing needle to produce a seam parallel to the edges. The system performed best with shirting and worsted woven fabrics, which have a reasonable resistance in buckling. Robotic manipulation strategies have been investigated (Gershon, 1993) for handling limp materials proposing a parallel process decomposition of the robot sewing task (Gershon, 1990). A robot arm manipulates the fabric, modeled as a mass-spring-damper system, to modify its orientation and control the fabric tension during the sewing process, which was decomposed into four concurrent processes within a superposition parallel architecture.

After FIGARO system, an automated sewing system including two robots handling the fabric on the table was developed (Kudo et al., 2000). The nominal trajectories for both robots are defined through the definition of the points and are necessary for the programming of the robots. Visual information was used to improve tracking accuracy. Sewing along a curved line is achieved by translating the fabric in the sewing direction using the internal command for straight-line motion and simultaneously rotating about the needle according to the visual feedback information. The rotation angle is computed making use of the tangent of the cloth panel based on the method in reference (Gershon & Porat, 1988). The trajectory error was within the range of ±0.5mm.

A position-based visual servoing system for edge trimming of fabric embroideries by laser was proposed by (Amin-Nejad et al.). A tracking controller, decomposed into a feedforward controller in the tangential direction of the seam and a feedback controller in the normal direction, was implemented. The aim of the controller is to move the cutting beam along the seam with constant velocity and with a constant offset from it as a cutting tolerance. In the experimental results, three types of seam pattern, straight line, sinusoidal, and circular, were chosen for edge trimming. The accuracy achieved with this method was within ±0.5mm.

## **3. Sewing fabrics with straight edges**

The present work is part of a project for the development of a robotic workcell for sewing fabrics. The project includes handling tasks (ply separation, translation, placement, folding, feeding and orientation), tension control and quality control of fabrics and stitches (Koustoumpardis & Aspragathos, 2003; Koustoumpardis et al., 2006; Moulianitis et al., 1999; Zoumponos & Aspragathos, 2008). After the fabric has been placed at a random location on the working table, a number of sub-tasks should be performed before the sewing process starts. These preliminary sub-tasks are: the recognition of the fabric's shape, the extraction of the 'seam line', the detection of the edges targeted for sewing, planning of the stitching process and the location of the end-effector on the fabric (Koustoumparis et al., 2007). After the preprocess planning, the robot sewing process is considered and divided into three subtasks: the manipulation of the fabric towards the needle, the sewing of the seam segment and the rotation around the needle.

Concerning visual servoing, the developed vision system is a combination of image-based and position-based control system. The image-based analysis is used for the identification of the fabric's shape. After the image acquisition of the fabric, the features (vertices of the edges), the needle-point and the sewing line's orientation are derived from the image analysis. Besides, the position of the needle is also known in the robot coordinate system. The end-effector's position is unknown in the image coordinate system; however, the robot system gives feedback to the control system of the current end-effector's position in the robot base coordinate system. Moreover, the relation between the robot- and the imagecoordinate system is known from the calibration of the camera. This approach makes the system more flexible and limits the calibration errors.

### **3.1 The sewing process**

62 Robotic Systems – Applications, Control and Programming

To the best of my knowledge, the published research work on robot handling fabrics with curved edges towards sewing is limited to few papers. A first approach to automating fabric manipulation was introduced by (Torgerson & Paul, 1988) including robotic motion control of various fabric shapes. The determination of robot motion paths is based on visual information defining the location of the fabric edges in world coordinates. However, no visual feedback was employed during the robot motion, making the method less accurate. The vision system detects the workpiece edge, extracts the boundary points, determines the parameters defining the geometry of the interior points, and computes the coordinates of the robot path points along subsequent linear and circular path segments. The error deviations between the desired seam line and the actual path line ranged between 3 and 5 mm. However, the flexibility of the method is limited owing to the fact that the path determination algorithms require a geometrical relationship between the robot end-effector and the workpiece to extract the edge parameters that are necessary for determining the robot motion. The FIGARO system (Gershon and Porat, 1988, 1986) performed handling and assembling operations using two superimposed servo control systems. The first system maintains a small tension moving the robot forward with the cloth and the second one rotates the cloth about the sewing needle to produce a seam parallel to the edges. The system performed best with shirting and worsted woven fabrics, which have a reasonable resistance in buckling. Robotic manipulation strategies have been investigated (Gershon, 1993) for handling limp materials proposing a parallel process decomposition of the robot sewing task (Gershon, 1990). A robot arm manipulates the fabric, modeled as a mass-spring-damper system, to modify its orientation and control the fabric tension during the sewing process, which was decomposed into four concurrent processes within a superposition parallel architecture. After FIGARO system, an automated sewing system including two robots handling the fabric on the table was developed (Kudo et al., 2000). The nominal trajectories for both robots are defined through the definition of the points and are necessary for the programming of the robots. Visual information was used to improve tracking accuracy. Sewing along a curved line is achieved by translating the fabric in the sewing direction using the internal command for straight-line motion and simultaneously rotating about the needle according to the visual feedback information. The rotation angle is computed making use of the tangent of the cloth panel based on the method in reference (Gershon & Porat,

**2. Literature review on automated sewing systems** 

1988). The trajectory error was within the range of ±0.5mm.

**3. Sewing fabrics with straight edges** 

A position-based visual servoing system for edge trimming of fabric embroideries by laser was proposed by (Amin-Nejad et al.). A tracking controller, decomposed into a feedforward controller in the tangential direction of the seam and a feedback controller in the normal direction, was implemented. The aim of the controller is to move the cutting beam along the seam with constant velocity and with a constant offset from it as a cutting tolerance. In the experimental results, three types of seam pattern, straight line, sinusoidal, and circular, were chosen for edge trimming. The accuracy achieved with this method was within ±0.5mm.

The present work is part of a project for the development of a robotic workcell for sewing fabrics. The project includes handling tasks (ply separation, translation, placement, folding, feeding and orientation), tension control and quality control of fabrics and stitches Initially, the fabric lies free of wrinkles at a random location on the work table. The camera captures the image of the fabric without the gripper on it in order to obtain the shape of the fabric and use it as the reference shape towards handling. The stitching process is performed on the *seam line* situated parallel to the specified fabric edges. The distance between the outer edge and the seam line, called *seam allowance*, depends on the cloth part and is defined by the apparel manufacturer. In practice, it usually ranges between 1/4 inch and 5/8 inch. After the seam edges of the fabric (dashed-line in Fig. 1) have been determined, the sewing process is ready to start. The sewing line is determined by the feeding mechanism. The sewing process can be decomposed in three separate tasks: transfer, stitching and rotation.

**The movement towards the needle.** After the robot touches the fabric at a proper location, the features, namely the vertices of the fabric, are extracted from the image taken from the camera. After the starting seam edge is identified, the vision system captures the distance (r) between the starting seam vertex and the sewing needle and the orientation angle (θ) formed by the starting seam segment and the sewing line (Fig. 1 (a)). The linear (u) and angular velocity (ω) of the robot end-effector are derived through the designed fuzzy decision system, described in Section 3.2. Given the time step dt and the angle φ, i.e. the orientation of r in the image coordinate system, the new position and orientation of the endeffector is computed by:

$$\begin{aligned} \mathbf{x'} &= \mathbf{x} + \mathbf{u} \times \cos(\mathbf{q}) \times \mathbf{dt} \\ \mathbf{y'} &= \mathbf{y} + \mathbf{u} \times \sin(\mathbf{q}) \times \mathbf{dt} \\ \mathbf{0'} &= \mathbf{0} \cdot \mathbf{a} \times \mathbf{dt} \end{aligned} \tag{1}$$

Therefore, the robot end-effector moves along the direction of r (defined by φ) and simultaneously rotates around the end-effector's z-axis, which is vertical to the table, until the angle becomes θ′ (Zacharia et al., 2005). The fabric is transferred to a new position with

Robot Handling Fabrics Towards Sewing Using Computational Intelligence Methods 65

effector. The controller inputs are the position error (er) and the orientation error (eθ), which

u, (ω) Fuzzy

Features extraction

*position error*  **SMALL MEDIUM LARGE** 

**SMALL** Very Small Medium Very Large **MEDIUM** Very Small Medium Very Large **LARGE** Very Small Small Large

An analytical model of the robot and the fabric is not necessary, since no geometrical characteristics are taken into account and there is no need for special mathematical computations for different fabrics. The proposed technique is feature-based, since only the features, r and u, are necessary for handling the fabric and can cope with the uncertainties that arise due to deformations. The proposed controller can handle possible deformations without changes in its structure achieving the desired accuracy on condition that the seam segment targeted for sewing is undistorted. Fig. 1 (b) shows the fabric of Fig. 1 (a), which has been deformed except for the seam segment targeted for sewing. It is clear from Fig. 1 (b) that the presence of deformations does not affect the control system, despite the fact that

The membership functions for the two inputs (Fig. 3 (a) and (b)) and the output of the system that controls the translation of the fabric towards the needle (Fig. 3 (c)) are experimentally tuned with various fabrics. Expert knowledge, often afflicted with uncertainty, is summarized in the proposition: *The larger the distance/angle and the smaller its change rate is, the faster the fabric should move/rotate*. The fuzzy associative memory (FAM) of the system that controls the translation of the fabric (Table 1) is derived after studying the behavior of the human workers towards sewing. For the rule evaluation, the "min" operator is used and for the aggregation mechanism the "max" operation is used. The centroid defuzzification method is used to determine the linear and angular velocity. Owing to space

limitation, only the study for the system that controls the translation is presented.

controller

<sup>r</sup> e ) and ( ′

Robot & Fabric

image

<sup>θ</sup> e ). The linear (u) and angular

Camera

are computed on the image, and their time rates ( ′

*dt d*

Fig. 2. The block diagram of the fuzzy logic control

*position error* 

the shape of the fabric has significantly changed.

*rate*

Table 1. Fuzzy Associative Memory (FAM) of the sewing system

r, (θ)

rd, (θd) er, (eθ)

velocity (ω) of the end-effector around z-axis are the outputs.

er΄, (eθ΄)

new orientation as a result of the movement and rotation of the end-effector, which is stuck on the fabric to avoid slipping between the gripper and the fabric. This motion stops when the seam segment reaches the needle with the desired orientation within an acceptable tolerance.

Fig. 1. Scene of the fabric lying on the work table (a) without deformations (b) with deformations

**The stitching process.** During sewing, the fabric is guided along the sewing line with a constant velocity, which should be the same with the velocity of the sewing machine, so that good seam quality is ensured. When the end-effector's velocity is higher than the sewing velocity, puckering will appear, whereas in the case where it is lower, low seam quality will be produced due to the tension increase. At each time step, the current image of the fabric is captured in order that the orientation error is determined. The orientation error is fed back to be corrected by rotating the fabric around the needle, while simultaneously the robot moves the fabric towards the direction of the sewing line. To circumvent the problem of uncertainty due to the distortions of the fabric's shape, fuzzy logic control is necessary. The inputs are the orientation error and its rate and the output is the rotation angle around the needle.

**The rotation around the needle.** When the seam segment coincides with the sewing line, the robot rotates the fabric around the needle until the next seam segment is aligned to the sewing line. It is worth noting that the end-effector is enforced to make a circular motion around the needle, since it has penetrated into the fabric. The orientation error (eθ) of the next seam segment in relation to the sewing line and its time rate are the inputs to the fuzzy system that controls the rotation of the fabric around the needle, whereas the output is the angular velocity (ω) of the end-effector's motion around an axis perpendicular to the table at the needle-point.

### **3.2 The fuzzy robot control system**

Since modeling the mechanical behavior of fabrics for real-time applications is rather difficult due to their low bending rigidity, an approach based on a fuzzy logic controller (FLC) is developed (Zacharia et al., 2009) considering the robustness and the fast response requirements. The block diagram for the control system is shown in Fig. 2, where the symbols in parentheses stand for the fuzzy system that controls the orientation of the endeffector. The controller inputs are the position error (er) and the orientation error (eθ), which are computed on the image, and their time rates ( ′ <sup>r</sup> e ) and ( ′ <sup>θ</sup> e ). The linear (u) and angular velocity (ω) of the end-effector around z-axis are the outputs.

Fig. 2. The block diagram of the fuzzy logic control

64 Robotic Systems – Applications, Control and Programming

new orientation as a result of the movement and rotation of the end-effector, which is stuck on the fabric to avoid slipping between the gripper and the fabric. This motion stops when the seam segment reaches the needle with the desired orientation within an acceptable

x-axis

y-axis

r φ θ

(b)

Needle

sewing line

needle

sewing line

Fig. 1. Scene of the fabric lying on the work table (a) without deformations (b) with

**The stitching process.** During sewing, the fabric is guided along the sewing line with a constant velocity, which should be the same with the velocity of the sewing machine, so that good seam quality is ensured. When the end-effector's velocity is higher than the sewing velocity, puckering will appear, whereas in the case where it is lower, low seam quality will be produced due to the tension increase. At each time step, the current image of the fabric is captured in order that the orientation error is determined. The orientation error is fed back to be corrected by rotating the fabric around the needle, while simultaneously the robot moves the fabric towards the direction of the sewing line. To circumvent the problem of uncertainty due to the distortions of the fabric's shape, fuzzy logic control is necessary. The inputs are the orientation error and its rate and the output is the rotation angle around the

**The rotation around the needle.** When the seam segment coincides with the sewing line, the robot rotates the fabric around the needle until the next seam segment is aligned to the sewing line. It is worth noting that the end-effector is enforced to make a circular motion around the needle, since it has penetrated into the fabric. The orientation error (eθ) of the next seam segment in relation to the sewing line and its time rate are the inputs to the fuzzy system that controls the rotation of the fabric around the needle, whereas the output is the angular velocity (ω) of the end-effector's motion around an axis perpendicular to the table at

Since modeling the mechanical behavior of fabrics for real-time applications is rather difficult due to their low bending rigidity, an approach based on a fuzzy logic controller (FLC) is developed (Zacharia et al., 2009) considering the robustness and the fast response requirements. The block diagram for the control system is shown in Fig. 2, where the symbols in parentheses stand for the fuzzy system that controls the orientation of the end-

tolerance.

x-axis

deformations

needle.

the needle-point.

**3.2 The fuzzy robot control system** 

y-axis

θ

(a)

r φ

> The membership functions for the two inputs (Fig. 3 (a) and (b)) and the output of the system that controls the translation of the fabric towards the needle (Fig. 3 (c)) are experimentally tuned with various fabrics. Expert knowledge, often afflicted with uncertainty, is summarized in the proposition: *The larger the distance/angle and the smaller its change rate is, the faster the fabric should move/rotate*. The fuzzy associative memory (FAM) of the system that controls the translation of the fabric (Table 1) is derived after studying the behavior of the human workers towards sewing. For the rule evaluation, the "min" operator is used and for the aggregation mechanism the "max" operation is used. The centroid defuzzification method is used to determine the linear and angular velocity. Owing to space limitation, only the study for the system that controls the translation is presented.


Table 1. Fuzzy Associative Memory (FAM) of the sewing system

An analytical model of the robot and the fabric is not necessary, since no geometrical characteristics are taken into account and there is no need for special mathematical computations for different fabrics. The proposed technique is feature-based, since only the features, r and u, are necessary for handling the fabric and can cope with the uncertainties that arise due to deformations. The proposed controller can handle possible deformations without changes in its structure achieving the desired accuracy on condition that the seam segment targeted for sewing is undistorted. Fig. 1 (b) shows the fabric of Fig. 1 (a), which has been deformed except for the seam segment targeted for sewing. It is clear from Fig. 1 (b) that the presence of deformations does not affect the control system, despite the fact that the shape of the fabric has significantly changed.

Robot Handling Fabrics Towards Sewing Using Computational Intelligence Methods 67

In the field of pattern recognition, considerable research work has been done on the polygonal approximation of digital contours. Two main families of technique concerning the polygonal approximation of digital curves have been published: those that try to obtain an error-bounded polygonal approximation and those that search for a set of dominant points

In the first family of methods, the main idea is to approximate a given curve with a minimal number of line segments such that the approximation error between the original curve and the corresponding line segments is less than a pre-specified tolerance. Several methods have been used for polygonal approximation, but most of them have the disadvantage that the results are dependent on the selection of the initial points and the arbitrary initial solution. To circumvent these drawbacks, nature-inspired algorithms have been proposed for

In the genetic algorithm presented in reference (Zhang & Guo, 2001), each chromosome is a binary string of fixed length. The chromosome represents a subset of the curve points, Where the i-th bit denoting the ith original curve point is '1' if the corresponding curve point is taken as a vertex of the approximation polygon and '0' otherwise. The algorithm is improved based on Pareto optimal solution, and the results show that it is efficient and

In reference (Yin, 2003), an ant colony search (ACS) algorithm for optimal polygonal approximation is developed. To apply the ACS, the underlying problem should be represented in terms of a graph. Apparently, for the polygonal approximation problem, each point on the curve should be represented as a node of the graph. A number of artificial ants are distributed on the graph and communicate with one another through the pheromone trails that are a form of the long-term memory guiding the future exploration of the graph. The authors compared the performance of the proposed method to those of genetic-based and tabu-search-based methods, and concluded that the numerical results are very encouraging. A polygonal approximation approach of digital curves based on the particle swarm optimization (PSO) algorithm was presented by (Yin, 2004). In PSO – which belongs to the class of natural algorithms – each particle is presented as a binary vector corresponding to a candidate solution to the polygonal approximation problem. A swarm of particles are initiated and fly through the solution space for targeting the optimal solution. The experimental results manifest that their devised PSO algorithm is comparable to the genetic algorithm (GA), and it

achieves less processing time compared to dynamic programming algorithms.

also outperforms other PSO versions in the literature for polygonal approximation.

determination of the region of support (Wu, 2002).

**4.2 Sewing using polygonal approximation** 

In the second family of methods, the approximation does not depend on the starting point and is insensitive to changes of orientation and scale. A representative technique is the dominant point approach (Teh & Chin, 1989). This method focused on the determination of the region of support of every point of the curve, which is the region used in the calculation of each point's curvature. Thus, the method overcomes the problem of various scales in the curve's features. However, the Teh–Chin approach is not robust in the presence of noise. For the noise compensation, Wu proposed a modification of the method based on a dynamic

The apparel manufacturer's requirements focus on time minimization for the accomplishment of the sewing process and satisfactory quality of seam, which is mainly based on stitch accuracy and smoothness. To fulfil these requirements, an algorithm based

**4.1 Related work** 

polygonal approximation.

as vertices of the approximating polygon.

Fig. 3. The membership functions of (a) the position error (b) the position error rate (c) the linear velocity after manual tuning

## **4. Sewing fabrics with curved edges through a Genetic-based approach**

Real fabric pieces used for cloth making consist of edges with arbitrary curvature. This fact gave an impetus to tackle the problem of robot-handling fabrics with curved edges. To robot-sew fabrics of different shapes and materials is a rather difficult task that requires system flexibility and good quality of the final product. To compensate for ensuing high machine-hour rates, a high throughput is vital if product costs are to be kept low. To enhance system flexibility and its efficiency to handle various fabrics, fuzzy logic and visual servoing control has been employed.

Curved edges pose additional difficulties in robot handling compared to straight edges, owing to the fact that up-to-date robots present limitations in their movements. The current industrial robots can only be programmed to perform straight or circular motions using internal commands. Sewing a fabric with arbitrary curvatures is a complicated task and can only be performed by approximating the curve with movements along straight-line segments (Zacharia et al., 2006). The robot makes a straight-line motion along the sewing line and a rotation around the needle-point simultaneously. This motion results in a smooth stitch that resembles the stitch produced by human operators.

## **4.1 Related work**

66 Robotic Systems – Applications, Control and Programming

(a) (b)

(c)

Real fabric pieces used for cloth making consist of edges with arbitrary curvature. This fact gave an impetus to tackle the problem of robot-handling fabrics with curved edges. To robot-sew fabrics of different shapes and materials is a rather difficult task that requires system flexibility and good quality of the final product. To compensate for ensuing high machine-hour rates, a high throughput is vital if product costs are to be kept low. To enhance system flexibility and its efficiency to handle various fabrics, fuzzy logic and visual

Curved edges pose additional difficulties in robot handling compared to straight edges, owing to the fact that up-to-date robots present limitations in their movements. The current industrial robots can only be programmed to perform straight or circular motions using internal commands. Sewing a fabric with arbitrary curvatures is a complicated task and can only be performed by approximating the curve with movements along straight-line segments (Zacharia et al., 2006). The robot makes a straight-line motion along the sewing line and a rotation around the needle-point simultaneously. This motion results in a smooth

Fig. 3. The membership functions of (a) the position error (b) the position error rate (c) the

**4. Sewing fabrics with curved edges through a Genetic-based approach** 

linear velocity after manual tuning

servoing control has been employed.

stitch that resembles the stitch produced by human operators.

In the field of pattern recognition, considerable research work has been done on the polygonal approximation of digital contours. Two main families of technique concerning the polygonal approximation of digital curves have been published: those that try to obtain an error-bounded polygonal approximation and those that search for a set of dominant points as vertices of the approximating polygon.

In the first family of methods, the main idea is to approximate a given curve with a minimal number of line segments such that the approximation error between the original curve and the corresponding line segments is less than a pre-specified tolerance. Several methods have been used for polygonal approximation, but most of them have the disadvantage that the results are dependent on the selection of the initial points and the arbitrary initial solution. To circumvent these drawbacks, nature-inspired algorithms have been proposed for polygonal approximation.

In the genetic algorithm presented in reference (Zhang & Guo, 2001), each chromosome is a binary string of fixed length. The chromosome represents a subset of the curve points, Where the i-th bit denoting the ith original curve point is '1' if the corresponding curve point is taken as a vertex of the approximation polygon and '0' otherwise. The algorithm is improved based on Pareto optimal solution, and the results show that it is efficient and achieves less processing time compared to dynamic programming algorithms.

In reference (Yin, 2003), an ant colony search (ACS) algorithm for optimal polygonal approximation is developed. To apply the ACS, the underlying problem should be represented in terms of a graph. Apparently, for the polygonal approximation problem, each point on the curve should be represented as a node of the graph. A number of artificial ants are distributed on the graph and communicate with one another through the pheromone trails that are a form of the long-term memory guiding the future exploration of the graph. The authors compared the performance of the proposed method to those of genetic-based and tabu-search-based methods, and concluded that the numerical results are very encouraging.

A polygonal approximation approach of digital curves based on the particle swarm optimization (PSO) algorithm was presented by (Yin, 2004). In PSO – which belongs to the class of natural algorithms – each particle is presented as a binary vector corresponding to a candidate solution to the polygonal approximation problem. A swarm of particles are initiated and fly through the solution space for targeting the optimal solution. The experimental results manifest that their devised PSO algorithm is comparable to the genetic algorithm (GA), and it also outperforms other PSO versions in the literature for polygonal approximation.

In the second family of methods, the approximation does not depend on the starting point and is insensitive to changes of orientation and scale. A representative technique is the dominant point approach (Teh & Chin, 1989). This method focused on the determination of the region of support of every point of the curve, which is the region used in the calculation of each point's curvature. Thus, the method overcomes the problem of various scales in the curve's features. However, the Teh–Chin approach is not robust in the presence of noise. For the noise compensation, Wu proposed a modification of the method based on a dynamic determination of the region of support (Wu, 2002).

## **4.2 Sewing using polygonal approximation**

The apparel manufacturer's requirements focus on time minimization for the accomplishment of the sewing process and satisfactory quality of seam, which is mainly based on stitch accuracy and smoothness. To fulfil these requirements, an algorithm based

Robot Handling Fabrics Towards Sewing Using Computational Intelligence Methods 69

defined by the dominant point detection approach. Consequently, the input for the micro-

Let G\*\*={P1, P2,…, Pm} be a subset of G\*={P1, P2,…, PNs }, G\*\*⊆ G\*, where m m < N ( ) s is the number of the vertices Pi=(xi, yi) of the polygon that approximate the curve section captured in the current image. The function expressing the total length of a polygon with m vertices

The constraint that should be satisfied is expressed as the maximum deviation between the curve section and the approximating polygon section. For two points P = x ,y i ii ( ) and P = x ,y i+1 i+1 i+1 ( ) defining an edge of the polygon and a data point p = x ,y j jj ( ) between Pi and Pi+1 , the perpendicular distance of the arc point pj to the chord P Pi i+1 is computed by

( ) i+1 i i ( )<sup>j</sup>

P -P × P -p

i+1 i

total

The representation mechanism: In this algorithm, variable-length chromosomes are defined to represent a polygon with m vertices approximating the curve. The maximum number of polygon vertices, defined by the user, is equal to , which is the maximum possible length of the chromosome. The encoding mechanism maps each approximating polygon to a string

> m numbers 1 10 24 49 67 92 104 ... i ... N

where s 1iN ≤ ≤ , Ns is the number of the integer-coordinate data-points of curve section captured by the camera and m , where m ≤ , is the length of the chromosome representing the number of vertices of the approximated polygon. The integers i represent the rows of the matrix consisting of all the points Pi=(xi, yi) in ascending order. Consequently, the genes of

≤

fitness = L

  <sup>1</sup> , if ε ε

0 , otherwise

m-1

total <sup>i</sup> i=1 L= L (2)

<sup>2</sup> L = P -P i i+1 i (3)

<sup>ε</sup> <sup>=</sup> P -P (4)

( ) 12 j q ε = max ε ,ε ,...,ε ,...,ε (5)

(6)

0

s

GA is the output of the dominant point detection approach.

and Li is the length of the th i edge of the polygon given by:

j

Consequently, the maximum deviation ε is found by:

The fitness function is given by:

where *Ltotal* is given by Eq.(2).

composed of integers is in the following form:

where q is the number of the data points between Pi and Pi+1 .

can be written as:

on the polygonal approximation of the curved edges of the fabric is developed for robot handling fabrics towards the sewing process.

During the stitching process the robot's end-effector is commanded to make two motions simultaneously: a straight motion with constant speed (equal to the sewing machine's speed to ensure good seam quality) in the direction of the sewing line, and a rotation around the needle-point. Therefore, the final stitch is not a straight line, but a line that is yielded as a result of the combined end-effector's motion. After all the straight-line segments have been stitched, the deviation error is computed. Then, a new image is taken and the process is iterated. The stitching process stops when the whole curve has been sewn, i.e. when the last point reaches the needle.

The problem is formulated as follows: The curve section of the fabric is defined by N data points acquired by the vision system in the form of pixel coordinates in clockwise order, and can be described by a sequence of these points: G={p1, p2, . . ., pN}. Given the N data-points, find the optimal polygon that approximates the curve satisfying two criteria: the criterion for sewing time minimization and the criterion for acceptable accuracy. In this case, the time minimization is translated to the requirement for minimal length of the approximating polygon. Initially, a local search technique is developed to extract the dominant points and then a global search technique is applied taking the dominant points as inputs (Zacharia et al., 2008). The idea behind this is to filter out the initial curve points in an attempt to speed up the convergence of the algorithm. The proposed approach combines two algorithms to benefit from the advantages of each one.

The contribution of the work addressed in this Section is twofold. Firstly, a strategy for handling fabrics with curved edges towards the sewing process using a visual servoing controller is developed based on polygonal approximation. Secondly, the algorithms are further extended based on polygonal approximation that exhibited superiority in many other applications, and a new algorithm is proposed based on the dominant point detection approach and the genetic algorithm.

### **4.3 The proposed genetic-based approach**

Genetic algorithms (GAs) (Michalewitz, 1996) have attracted attention in solving combinatorial optimization problems of high complexity because of their intrinsic parallelism and their effectiveness. The contribution of the proposed GA is a variable-length chromosome encoding scheme to reduce the computational time and memory requirement and the use of micro-GAs (Krishnakumar, 1989) as an approach for shortening the computational time. The traditional fixed length chromosomes could also be used to solve this problem, but it would lead to computational time increase, as the length of the chromosome would be too large to incorporate all the points comprising the curve. On the other hand, micro-GAs are ideally suited to optimization problems, where the emphasis is on quickly identifying a near-optimal region. In contrast to the traditional GA, the population size is small, yielding a much quicker convergence. Moreover, the micro-GA uses elitism and convergence checking with re-initialization to obtain the near-optimal solution. As a consequence, the proposed micro-GA with variable-length chromosomes can be used in a real-time application.

The evaluation mechanism: Given a maximum acceptable error ε0, find the polygonal approximation with the minimal number of vertices (corresponding to the minimum total length of the polygon), such that the polygon is distant from the curve by no more than ε0. It is worth noting that the algorithm searches in a set of Ns points that are the dominant points defined by the dominant point detection approach. Consequently, the input for the micro-GA is the output of the dominant point detection approach.

Let G\*\*={P1, P2,…, Pm} be a subset of G\*={P1, P2,…, PNs }, G\*\*⊆ G\*, where m m < N ( ) s is the number of the vertices Pi=(xi, yi) of the polygon that approximate the curve section captured in the current image. The function expressing the total length of a polygon with m vertices can be written as:

$$\mathbf{L}\_{\text{total}} = \sum\_{i=1}^{m-1} \mathbf{L}\_i \tag{2}$$

and Li is the length of the th i edge of the polygon given by:

$$\mathbf{L}\_{\mathbf{i}} = \left\| \mathbf{P}\_{\mathbf{i}+1} - \mathbf{P}\_{\mathbf{i}} \right\|^2 \tag{3}$$

The constraint that should be satisfied is expressed as the maximum deviation between the curve section and the approximating polygon section. For two points P = x ,y i ii ( ) and P = x ,y i+1 i+1 i+1 ( ) defining an edge of the polygon and a data point p = x ,y j jj ( ) between Pi and Pi+1 , the perpendicular distance of the arc point pj to the chord P Pi i+1 is computed by

$$\varepsilon\_{\parallel} = \frac{\left| (\mathbf{P\_{i+1}} \cdot \mathbf{P\_i}) \times \left(\mathbf{P\_i} \cdot \mathbf{p\_\parallel}\right) \right|}{\left| \mathbf{P\_{i+1}} \cdot \mathbf{P\_i} \right|} \tag{4}$$

Consequently, the maximum deviation ε is found by:

$$\varepsilon = \max\left(\varepsilon\_1, \varepsilon\_2, \dots, \varepsilon\_{\lfloor \prime \rfloor}, \dots, \varepsilon\_q\right) \tag{5}$$

where q is the number of the data points between Pi and Pi+1 . The fitness function is given by:

$$\text{fitness} = \left\{ \begin{array}{c} 1 \\ \hline \text{L}\_{\text{total}} \\ 0 \\ \end{array} \right., \text{ if } \mathfrak{e} \le \mathfrak{e}\_{0} \\ \text{ (} \mathfrak{e} \text{)}, \text{ otherwise} \end{array} \tag{6}$$

where *Ltotal* is given by Eq.(2).

68 Robotic Systems – Applications, Control and Programming

on the polygonal approximation of the curved edges of the fabric is developed for robot

During the stitching process the robot's end-effector is commanded to make two motions simultaneously: a straight motion with constant speed (equal to the sewing machine's speed to ensure good seam quality) in the direction of the sewing line, and a rotation around the needle-point. Therefore, the final stitch is not a straight line, but a line that is yielded as a result of the combined end-effector's motion. After all the straight-line segments have been stitched, the deviation error is computed. Then, a new image is taken and the process is iterated. The stitching process stops when the whole curve has been sewn, i.e. when the last

The problem is formulated as follows: The curve section of the fabric is defined by N data points acquired by the vision system in the form of pixel coordinates in clockwise order, and can be described by a sequence of these points: G={p1, p2, . . ., pN}. Given the N data-points, find the optimal polygon that approximates the curve satisfying two criteria: the criterion for sewing time minimization and the criterion for acceptable accuracy. In this case, the time minimization is translated to the requirement for minimal length of the approximating polygon. Initially, a local search technique is developed to extract the dominant points and then a global search technique is applied taking the dominant points as inputs (Zacharia et al., 2008). The idea behind this is to filter out the initial curve points in an attempt to speed up the convergence of the algorithm. The proposed approach combines two algorithms to

The contribution of the work addressed in this Section is twofold. Firstly, a strategy for handling fabrics with curved edges towards the sewing process using a visual servoing controller is developed based on polygonal approximation. Secondly, the algorithms are further extended based on polygonal approximation that exhibited superiority in many other applications, and a new algorithm is proposed based on the dominant point detection

Genetic algorithms (GAs) (Michalewitz, 1996) have attracted attention in solving combinatorial optimization problems of high complexity because of their intrinsic parallelism and their effectiveness. The contribution of the proposed GA is a variable-length chromosome encoding scheme to reduce the computational time and memory requirement and the use of micro-GAs (Krishnakumar, 1989) as an approach for shortening the computational time. The traditional fixed length chromosomes could also be used to solve this problem, but it would lead to computational time increase, as the length of the chromosome would be too large to incorporate all the points comprising the curve. On the other hand, micro-GAs are ideally suited to optimization problems, where the emphasis is on quickly identifying a near-optimal region. In contrast to the traditional GA, the population size is small, yielding a much quicker convergence. Moreover, the micro-GA uses elitism and convergence checking with re-initialization to obtain the near-optimal solution. As a consequence, the proposed micro-GA with variable-length chromosomes can

The evaluation mechanism: Given a maximum acceptable error ε0, find the polygonal approximation with the minimal number of vertices (corresponding to the minimum total length of the polygon), such that the polygon is distant from the curve by no more than ε0. It is worth noting that the algorithm searches in a set of Ns points that are the dominant points

handling fabrics towards the sewing process.

benefit from the advantages of each one.

approach and the genetic algorithm.

be used in a real-time application.

**4.3 The proposed genetic-based approach** 

point reaches the needle.

The representation mechanism: In this algorithm, variable-length chromosomes are defined to represent a polygon with m vertices approximating the curve. The maximum number of polygon vertices, defined by the user, is equal to , which is the maximum possible length of the chromosome. The encoding mechanism maps each approximating polygon to a string composed of integers is in the following form:

$$\underbrace{1\ 10\ 24\ 49\ 67\ 92\ 104\ldots\text{i\dots N}\_{\ast}}\_{\text{m\,number}}$$

where s 1iN ≤ ≤ , Ns is the number of the integer-coordinate data-points of curve section captured by the camera and m , where m ≤ , is the length of the chromosome representing the number of vertices of the approximated polygon. The integers i represent the rows of the matrix consisting of all the points Pi=(xi, yi) in ascending order. Consequently, the genes of

Robot Handling Fabrics Towards Sewing Using Computational Intelligence Methods 71

fuzzy approaches have been successfully used for other applications in robotics (Marichal et al., 2001; Rusu et al., 2003; Hui et al., 2006) gave rise to the idea of using it for robot sewing fabrics of curved edges. The main purpose is to overcome difficulties arising from the fact that the fabric pieces have curved edges with arbitrary curvatures; thus, a learning technique is used. The proposed ANFIS based on genetic-oriented clustering combines the concepts of fuzzy logic and neural networks to form a hybrid intelligent system that enhances the ability to automatically learn and adapt. The system learns from the information obtained from the fabrics used for training and is able to respond to new

The main scope of this Section is to provide a control system capable of dealing with different curvatures and thus, flexible to changes in fabrics' shape. To enhance system's flexibility and its efficiency to handle fabric edges with various curvatures, Artificial Intelligent techniques and visual servoing control are employed. Since there is no standardization for curved edges, a method is necessary for estimating the curve. However, searching for the equation that approximates the curve is a time-consuming procedure. In addition, such an approach would require curve estimation for each one curved edge for

The proposed system does not need any geometrical computations for estimating the curves, which would lead to computational burden and would, therefore, be prohibitive for using it in an on-line process. The developed control scheme is able to learn from the existed

Now, assume a piece of fabric with a curved edge of arbitrary curvature, as the one depicted in Fig. 4, which is guided for sewing. The camera captures an image that covers a small area in the vicinity of the sewing needle. The curved section captured in the image is approximated by an edge (AB) that joins the two endings of the curved section. Then, the distance d and the angle φ are extracted from the image. The feature d is the minimum distance between the needle-point and the straight edge that approximates the curved section. If the seam allowance is α, then the distance D, where D=d-α, is the minimum distance between the seam line and the needle. The angle φ is defined by the straight edge

sewing direction

needle

ω

end-effector

that approximates the curve section and the sewing line (Zacharia, 2010).

40 mm

d

B

<sup>α</sup> <sup>D</sup>

φ

fabrics, which had not been included in the training process.

**5.2 Sewing tracking approach** 

knowledge and respond to new curved edges.

25 mm

Fig. 4. Features extracted from the camera image

A

different fabrics.

the chromosome represent the curve data-points used to construct the polygon, i.e. the vertices of the polygon. It should also be mentioned that the first (1) and the last (m) row of the matrix are fixed for each chromosome.

Crossover: Crossover is a recombination operator and follows the reproduction. The individuals are randomly selected according to a predefined probability (crossover rate). The one-point crossover is modified, so that the produced offspring are feasible chromosomes. The cut-point lies between the first and the last gene of the parent chromosome with the minimum length. Next, the numbers at each string are reordered in order to appear in ascending order, so that the polygonal section is created by joining the successive points.

Population size: The population size depends on the nature and the complexity of the current problem. In this work, the proposed algorithm was tested for various small population sizes, so that both quick convergence and near-optimum solution are achieved. Finally, the selected population size is equal to 20.

## **5. Sewing fabrics with curved edges through ANFIS**

One of the difficulties when applying the fuzzy approach of Section 4 is to obtain the fuzzy rules and the membership functions. In this Section, a neuro-fuzzy approach is introduced with the purpose of extracting fuzzy rules and the membership functions automatically. The proposed neuro-fuzzy approach combines the main components of soft computing (fuzzy logic, neural networks and genetic algorithms) that have shown great ability in solving complex control problems to benefit from the advantages of each one.

## **5.1 ANFIS framework**

Fuzzy systems have the capability of translating the expert knowledge into linguistic rules inside a robust mathematical framework in order to draw conclusions and generate responses. However, a fuzzy model consisting of large number of if-then rules to map inputs to outputs is not desired due to the phenomenon of overfitting. Thus, the Takagi– Sugeno–Kang type fuzzy models (Sugeno & Kang, 1988; Takagi & Sugeno, 1985), known as TSK models, are widely used for control and modeling because of their high accuracy and relatively small models (Delgado et al., 2001; Männle, 2001).

When the system complexity is high, fuzzy modeling from input/output data is a useful way of creating FIS models. Because it is a more compact and computationally efficient representation than a Mamdani system, the Sugeno system using cluster information lends itself to the use of adaptive techniques for constructing fuzzy models with a minimum number of rules. Thus, data clustering algorithms were elaborated in order to construct FIS models from data, since they partition a collection of data into clusters based on similarity between data.

An adaptive neuro-fuzzy inference system, ANFIS, has been proposed in (Jang, 1993) to effectively deal with multivariable complex systems. ANFIS uses techniques like least squares or back propagation algorithms to determine the membership functions for a given input/output data set. These adaptive techniques can be used to customize the membership functions so that the fuzzy system best models the data. The effectiveness of using ANFIS for control and modeling has been pointed in (Jang et al., 1997; Rizzi et al., 1999).

This Section proposes an innovative approach for robot handling pieces of fabrics with curved edges towards sewing, which is based on learning. The fact that adaptive neurofuzzy approaches have been successfully used for other applications in robotics (Marichal et al., 2001; Rusu et al., 2003; Hui et al., 2006) gave rise to the idea of using it for robot sewing fabrics of curved edges. The main purpose is to overcome difficulties arising from the fact that the fabric pieces have curved edges with arbitrary curvatures; thus, a learning technique is used. The proposed ANFIS based on genetic-oriented clustering combines the concepts of fuzzy logic and neural networks to form a hybrid intelligent system that enhances the ability to automatically learn and adapt. The system learns from the information obtained from the fabrics used for training and is able to respond to new fabrics, which had not been included in the training process.

### **5.2 Sewing tracking approach**

70 Robotic Systems – Applications, Control and Programming

the chromosome represent the curve data-points used to construct the polygon, i.e. the vertices of the polygon. It should also be mentioned that the first (1) and the last (m) row of

Crossover: Crossover is a recombination operator and follows the reproduction. The individuals are randomly selected according to a predefined probability (crossover rate). The one-point crossover is modified, so that the produced offspring are feasible chromosomes. The cut-point lies between the first and the last gene of the parent chromosome with the minimum length. Next, the numbers at each string are reordered in order to appear in ascending order, so that the polygonal section is created by joining the

Population size: The population size depends on the nature and the complexity of the current problem. In this work, the proposed algorithm was tested for various small population sizes, so that both quick convergence and near-optimum solution are achieved.

One of the difficulties when applying the fuzzy approach of Section 4 is to obtain the fuzzy rules and the membership functions. In this Section, a neuro-fuzzy approach is introduced with the purpose of extracting fuzzy rules and the membership functions automatically. The proposed neuro-fuzzy approach combines the main components of soft computing (fuzzy logic, neural networks and genetic algorithms) that have shown great ability in solving

Fuzzy systems have the capability of translating the expert knowledge into linguistic rules inside a robust mathematical framework in order to draw conclusions and generate responses. However, a fuzzy model consisting of large number of if-then rules to map inputs to outputs is not desired due to the phenomenon of overfitting. Thus, the Takagi– Sugeno–Kang type fuzzy models (Sugeno & Kang, 1988; Takagi & Sugeno, 1985), known as TSK models, are widely used for control and modeling because of their high accuracy and

When the system complexity is high, fuzzy modeling from input/output data is a useful way of creating FIS models. Because it is a more compact and computationally efficient representation than a Mamdani system, the Sugeno system using cluster information lends itself to the use of adaptive techniques for constructing fuzzy models with a minimum number of rules. Thus, data clustering algorithms were elaborated in order to construct FIS models from data, since they partition a collection of data into clusters based on similarity

An adaptive neuro-fuzzy inference system, ANFIS, has been proposed in (Jang, 1993) to effectively deal with multivariable complex systems. ANFIS uses techniques like least squares or back propagation algorithms to determine the membership functions for a given input/output data set. These adaptive techniques can be used to customize the membership functions so that the fuzzy system best models the data. The effectiveness of using ANFIS

This Section proposes an innovative approach for robot handling pieces of fabrics with curved edges towards sewing, which is based on learning. The fact that adaptive neuro-

for control and modeling has been pointed in (Jang et al., 1997; Rizzi et al., 1999).

the matrix are fixed for each chromosome.

Finally, the selected population size is equal to 20.

**5. Sewing fabrics with curved edges through ANFIS** 

relatively small models (Delgado et al., 2001; Männle, 2001).

complex control problems to benefit from the advantages of each one.

successive points.

**5.1 ANFIS framework** 

between data.

The main scope of this Section is to provide a control system capable of dealing with different curvatures and thus, flexible to changes in fabrics' shape. To enhance system's flexibility and its efficiency to handle fabric edges with various curvatures, Artificial Intelligent techniques and visual servoing control are employed. Since there is no standardization for curved edges, a method is necessary for estimating the curve. However, searching for the equation that approximates the curve is a time-consuming procedure. In addition, such an approach would require curve estimation for each one curved edge for different fabrics.

The proposed system does not need any geometrical computations for estimating the curves, which would lead to computational burden and would, therefore, be prohibitive for using it in an on-line process. The developed control scheme is able to learn from the existed knowledge and respond to new curved edges.

Now, assume a piece of fabric with a curved edge of arbitrary curvature, as the one depicted in Fig. 4, which is guided for sewing. The camera captures an image that covers a small area in the vicinity of the sewing needle. The curved section captured in the image is approximated by an edge (AB) that joins the two endings of the curved section. Then, the distance d and the angle φ are extracted from the image. The feature d is the minimum distance between the needle-point and the straight edge that approximates the curved section. If the seam allowance is α, then the distance D, where D=d-α, is the minimum distance between the seam line and the needle. The angle φ is defined by the straight edge that approximates the curve section and the sewing line (Zacharia, 2010).

Fig. 4. Features extracted from the camera image

Robot Handling Fabrics Towards Sewing Using Computational Intelligence Methods 73

parameters, and then through output membership functions and associated parameters to outputs can be used to interpret the input–output map. Considering a first-order Sugeno fuzzy model with two inputs x and y and one output f, a typical rule set with two fuzzy if–

where x, y are inputs, Ai, Bi are membership functions and pi, qi, ri are consequent parameters and i is the node number. The entire system architecture consists of five layers, namely, the fuzzy layer (Layer 1), product layer (Layer 2), normalized layer (Layer 3),

**Model Validation (Step 4):** The validation process is used to evaluate the model generalization capability. One problem with model validation is selecting a data set that is both representative of the data the trained model is intended to emulate, yet sufficiently distinct from the training data set so as not to render the validation process trivial. Especially in noisy measurements, it is possible that the training data set does not include all the representative features needed for the model. The idea behind using a checking data set for model validation is that after a certain point in the training, the model begins overfitting the training data set. Overfitting can be detected when the checking error starts increasing while the training error is still decreasing. In practice, the experimental data is divided into training data and checking data. The training data is used in both genetic-oriented clustering process and ANFIS training. The checking data is only used in ANFIS training to

The experiments were carried out using a robotic manipulator with 6 rotational degrees of freedom (RV4A) and controlled by a PC. The robot is programmed in Melfa-Basic language in Cosirop environment, while the analysis of the visual information is performed with Matlab 7.1. The vision system consists of a Pulnix analog video camera at 768×576 pixels resolution RGB and a analog camera of the same resolution, which are fixed above the working table in a vertical position (Fig. 5). The vision is transferred to the second camera when the position error becomes less than 10 pixels (≈ 12.3 mm) and the orientation error is less than 5°. Using the second camera, the accepted position and orientation error are set equal to 10 pixels (≈ 1.389 mm) and 1°, respectively. A simple gripper has been designed, so that the arm of the robot is distant from the fabric, as shown in Fig. 5. The fabric is stuck on the gripper to avoid slipping; however, the placement of the gripper onto the fabric is out of

In this work, buckling modes during robot handling are supportable on the condition that it does not appear in the segment to be sewed. However, it still remains a problem that should be avoided. Thus, the position where the gripper touches the fabric is estimated in terms of reducing the possibilities for deformation appearance, taking into account the properties of the fabric (Koustoumpardis & Aspragathos, 2003). It is worth noting that the intent of this work deals with buckling in context of achieving a successful seam tracking and not the correction strategy against folding or wrinkling problems. The experimental tests also showed that deformations are likely to appear close to the gripper position on the fabric,

then rules can be expressed as

prevent the model from overfitting.

**6. Experimental results** 

the reach of this work.

and not on the edge.

• Rule 1: *If (x is A1) and (y is B1) then (f1 = p1x + q1y + r1)* • Rule 2: *If (x is A2) and (y is B2) then (f2 = p2x + q2y + r2)*

consequence layer (Layer 4) and total output layer (Layer 5).

The position error is defined as eD=D-D0, where the desired distance is D0=0 and the orientation error is defined as eφ=φ-φ0, where the desired angle is φ0=0. To compensate for the seam errors (eD and eφ), the robot should be assigned to rotate around the needle with an angular velocity (ω) around z-axis. The angular velocity (ω) of the robot's end-effector is derived through a Sugeno-type fuzzy decision system, which takes as inputs the position error eD and the orientation error eφ.

The end-effector guides the fabric towards the sewing direction and the camera monitors the fabric to compensate for the seam error. The fuzzy controller, which is tuned through ANFIS, inputs the position and orientation error (eD and eφ) of the new fabric piece and outputs the predicted angular velocity (ω) of the robot's end-effector. Next, the robot is commanded to make a circular motion around the sewing needle by an angle θ and a translational motion in the sewing direction. The angle θ is derived by the relationship θ≈ω·Δt, where Δt is the sampling period.

### **5.3 Training using the modified ANFIS**

The basic idea behind using neuro-adaptive learning techniques is that it is very simple and allows implementation of multi-input–single-output first order Sugeno-type FIS. This technique provides a method for the fuzzy modeling procedure to learn information about a data set, in order to compute the membership function parameters that best allow the associated fuzzy inference system to track the given input/output data. This learning approach takes place prior to the operation of the control system. The ANFIS methodology can be decomposed into four steps:

**Data acquisition (Step 1):** A number of different fabric pieces of various arbitrary curvatures are selected for experimental tests. During the sewing process, the position and orientation error in the image, as well as the end-effector's angular velocity are measured. As a result, a number of data sets, each one consisting of 3 attributes (eD, eφ and ω) obtained from the robot sewing process. These data sets are divided into training and checking data sets. It is worth noting that the position error (eD), which is derived from the image, is computed in pixels and not in millimetres.

**Genetic-oriented Clustering (Step 2):** Clustering is used to generate a Sugeno-type fuzzy inference system that best models the data behavior using a minimum number of rules. The rules partition themselves according to the fuzzy qualities associated with each of the data clusters. The initial Sugeno-type FIS models are built by means of a genetic-oriented clustering approach using the training data set. In this approach, a Genetic Algorithm using variable-length chromosomes is applied to find the optimum number of cluster centers as well as the partitioning of the data. A comprehensive description of this algorithm can be found in (Zacharia & Aspragathos, 2008). This technique has the advantage over other clustering algorithms that the selection of the cluster centers is not limited to the data points and that it is able to escape from local optima, which is an inherent ability of Genetic Algorithms (GAs). Another advantage is the ability of automatically evolving the number of clusters due to the use of variable-length chromosomes in GA's structure. After applying the genetic-oriented clustering approach, the training data is partitioned into groups, called clusters, and as a result, simpler optimized FIS models with the minimum number of rules are obtained.

**ANFIS architecture (Step 3):** The purpose of this step is to optimize the initial FIS created by using the genetic-oriented clustering technique. A network-type structure similar to that of a neural network, which maps inputs through input membership functions and associated parameters, and then through output membership functions and associated parameters to outputs can be used to interpret the input–output map. Considering a first-order Sugeno fuzzy model with two inputs x and y and one output f, a typical rule set with two fuzzy if– then rules can be expressed as


where x, y are inputs, Ai, Bi are membership functions and pi, qi, ri are consequent parameters and i is the node number. The entire system architecture consists of five layers, namely, the fuzzy layer (Layer 1), product layer (Layer 2), normalized layer (Layer 3), consequence layer (Layer 4) and total output layer (Layer 5).

**Model Validation (Step 4):** The validation process is used to evaluate the model generalization capability. One problem with model validation is selecting a data set that is both representative of the data the trained model is intended to emulate, yet sufficiently distinct from the training data set so as not to render the validation process trivial. Especially in noisy measurements, it is possible that the training data set does not include all the representative features needed for the model. The idea behind using a checking data set for model validation is that after a certain point in the training, the model begins overfitting the training data set. Overfitting can be detected when the checking error starts increasing while the training error is still decreasing. In practice, the experimental data is divided into training data and checking data. The training data is used in both genetic-oriented clustering process and ANFIS training. The checking data is only used in ANFIS training to prevent the model from overfitting.

## **6. Experimental results**

72 Robotic Systems – Applications, Control and Programming

The position error is defined as eD=D-D0, where the desired distance is D0=0 and the orientation error is defined as eφ=φ-φ0, where the desired angle is φ0=0. To compensate for the seam errors (eD and eφ), the robot should be assigned to rotate around the needle with an angular velocity (ω) around z-axis. The angular velocity (ω) of the robot's end-effector is derived through a Sugeno-type fuzzy decision system, which takes as inputs the position

The end-effector guides the fabric towards the sewing direction and the camera monitors the fabric to compensate for the seam error. The fuzzy controller, which is tuned through ANFIS, inputs the position and orientation error (eD and eφ) of the new fabric piece and outputs the predicted angular velocity (ω) of the robot's end-effector. Next, the robot is commanded to make a circular motion around the sewing needle by an angle θ and a translational motion in the sewing direction. The angle θ is derived by the relationship

The basic idea behind using neuro-adaptive learning techniques is that it is very simple and allows implementation of multi-input–single-output first order Sugeno-type FIS. This technique provides a method for the fuzzy modeling procedure to learn information about a data set, in order to compute the membership function parameters that best allow the associated fuzzy inference system to track the given input/output data. This learning approach takes place prior to the operation of the control system. The ANFIS methodology

**Data acquisition (Step 1):** A number of different fabric pieces of various arbitrary curvatures are selected for experimental tests. During the sewing process, the position and orientation error in the image, as well as the end-effector's angular velocity are measured. As a result, a number of data sets, each one consisting of 3 attributes (eD, eφ and ω) obtained from the robot sewing process. These data sets are divided into training and checking data sets. It is worth noting that the position error (eD), which is derived from the image, is

**Genetic-oriented Clustering (Step 2):** Clustering is used to generate a Sugeno-type fuzzy inference system that best models the data behavior using a minimum number of rules. The rules partition themselves according to the fuzzy qualities associated with each of the data clusters. The initial Sugeno-type FIS models are built by means of a genetic-oriented clustering approach using the training data set. In this approach, a Genetic Algorithm using variable-length chromosomes is applied to find the optimum number of cluster centers as well as the partitioning of the data. A comprehensive description of this algorithm can be found in (Zacharia & Aspragathos, 2008). This technique has the advantage over other clustering algorithms that the selection of the cluster centers is not limited to the data points and that it is able to escape from local optima, which is an inherent ability of Genetic Algorithms (GAs). Another advantage is the ability of automatically evolving the number of clusters due to the use of variable-length chromosomes in GA's structure. After applying the genetic-oriented clustering approach, the training data is partitioned into groups, called clusters, and as a result, simpler optimized FIS models with the minimum number of rules

**ANFIS architecture (Step 3):** The purpose of this step is to optimize the initial FIS created by using the genetic-oriented clustering technique. A network-type structure similar to that of a neural network, which maps inputs through input membership functions and associated

error eD and the orientation error eφ.

θ≈ω·Δt, where Δt is the sampling period.

**5.3 Training using the modified ANFIS** 

can be decomposed into four steps:

computed in pixels and not in millimetres.

are obtained.

The experiments were carried out using a robotic manipulator with 6 rotational degrees of freedom (RV4A) and controlled by a PC. The robot is programmed in Melfa-Basic language in Cosirop environment, while the analysis of the visual information is performed with Matlab 7.1. The vision system consists of a Pulnix analog video camera at 768×576 pixels resolution RGB and a analog camera of the same resolution, which are fixed above the working table in a vertical position (Fig. 5). The vision is transferred to the second camera when the position error becomes less than 10 pixels (≈ 12.3 mm) and the orientation error is less than 5°. Using the second camera, the accepted position and orientation error are set equal to 10 pixels (≈ 1.389 mm) and 1°, respectively. A simple gripper has been designed, so that the arm of the robot is distant from the fabric, as shown in Fig. 5. The fabric is stuck on the gripper to avoid slipping; however, the placement of the gripper onto the fabric is out of the reach of this work.

In this work, buckling modes during robot handling are supportable on the condition that it does not appear in the segment to be sewed. However, it still remains a problem that should be avoided. Thus, the position where the gripper touches the fabric is estimated in terms of reducing the possibilities for deformation appearance, taking into account the properties of the fabric (Koustoumpardis & Aspragathos, 2003). It is worth noting that the intent of this work deals with buckling in context of achieving a successful seam tracking and not the correction strategy against folding or wrinkling problems. The experimental tests also showed that deformations are likely to appear close to the gripper position on the fabric, and not on the edge.

Robot Handling Fabrics Towards Sewing Using Computational Intelligence Methods 75

straight-line segments and an arbitrary curve, its colour is red and it has medium bending

Initially, simulation tests were carried out in order to approve the effectiveness of the proposed polygonal approximation based on a micro-Genetic Algorithm (micro-GA). A number of points along a section of the curved edge are captured by the camera that focuses on the area of the needle-point. The array that contains the curve data-points has dimensions 185×2 and is the input to the micro-GA. The maximum length of the chromosomes is set to 6 and the maximum acceptable deviation is arbitrarily set to 8 pixels

Fig. 7 (a) shows the optimum polygon section resulted from the micro-GA, which approximates the given data-points of the curved edge. The curve section is approximated by a polygon section consisted of three sides and each of them deviates from the corresponding arc section 6.87, 5.55 and 7.07 pixels. Increasing the maximum acceptable deviation from 8 pixels to 12 pixels, the arc section is approximated by a polygon section with three sides, as shown in Fig. 7 (b), where the maximum deviation errors between the curve and each polygon side are 4.48, 5.88 and 10.37 pixels, respectively. Decreasing the maximum acceptable deviation to 4 pixels, the arc is approximated by a polygon section with six sides, as shown in Fig. 7 (c), where the maximum deviation errors are 3.37, 2.52, 2.32, 0.88, 3.15 and 3.08 pixels. Fig. 7 (d) zooms in the first two sides of the polygon shown in

(a) (b)

(c) (d)

Fig. 7. Polygonal approximation with (a) ε=8 pixels (b) ε=12 pixels (c) ε=4 pixels (d) detail of

rigidity (Fig. 6 (a)).

(≈1 mm).

Fig. 7 (c).

the approximation with ε=4 pixels

Fig. 5. The experimental stage

Since there is no standardization for deformations, it is difficult to be quantified. However, the greater deformation observed in buckling is about 30 mm, which is the height between the highest and the lowest point of the fabric. In some cases, fabrics were 'partially folded'. In other cases, the wrinkles induced the fabric to fold due to its own weight forming a loop at one side of the fabric. In some experiments, the fabric presented simultaneously both wrinkles, and folds.

Fig. 6. Fabric A with curved edge of small curvature (a) Fabric B with curved edge of large curvature

In the experiments, a considerable number of fabric pieces of different materials, shape and colour have been used. Both simulation and experimental tests are conducted to verify the efficiency of the proposed approach. A fabric piece is indicatively presented to show the results for both simulation and experimental tests. The shape of this fabric consists of two 74 Robotic Systems – Applications, Control and Programming

Since there is no standardization for deformations, it is difficult to be quantified. However, the greater deformation observed in buckling is about 30 mm, which is the height between the highest and the lowest point of the fabric. In some cases, fabrics were 'partially folded'. In other cases, the wrinkles induced the fabric to fold due to its own weight forming a loop at one side of the fabric. In some experiments, the fabric presented simultaneously both

(a) (b)

Fig. 6. Fabric A with curved edge of small curvature (a) Fabric B with curved edge of large

In the experiments, a considerable number of fabric pieces of different materials, shape and colour have been used. Both simulation and experimental tests are conducted to verify the efficiency of the proposed approach. A fabric piece is indicatively presented to show the results for both simulation and experimental tests. The shape of this fabric consists of two

Fig. 5. The experimental stage

wrinkles, and folds.

curvature

straight-line segments and an arbitrary curve, its colour is red and it has medium bending rigidity (Fig. 6 (a)).

Initially, simulation tests were carried out in order to approve the effectiveness of the proposed polygonal approximation based on a micro-Genetic Algorithm (micro-GA). A number of points along a section of the curved edge are captured by the camera that focuses on the area of the needle-point. The array that contains the curve data-points has dimensions 185×2 and is the input to the micro-GA. The maximum length of the chromosomes is set to 6 and the maximum acceptable deviation is arbitrarily set to 8 pixels (≈1 mm).

Fig. 7 (a) shows the optimum polygon section resulted from the micro-GA, which approximates the given data-points of the curved edge. The curve section is approximated by a polygon section consisted of three sides and each of them deviates from the corresponding arc section 6.87, 5.55 and 7.07 pixels. Increasing the maximum acceptable deviation from 8 pixels to 12 pixels, the arc section is approximated by a polygon section with three sides, as shown in Fig. 7 (b), where the maximum deviation errors between the curve and each polygon side are 4.48, 5.88 and 10.37 pixels, respectively. Decreasing the maximum acceptable deviation to 4 pixels, the arc is approximated by a polygon section with six sides, as shown in Fig. 7 (c), where the maximum deviation errors are 3.37, 2.52, 2.32, 0.88, 3.15 and 3.08 pixels. Fig. 7 (d) zooms in the first two sides of the polygon shown in Fig. 7 (c).

Fig. 7. Polygonal approximation with (a) ε=8 pixels (b) ε=12 pixels (c) ε=4 pixels (d) detail of the approximation with ε=4 pixels

Robot Handling Fabrics Towards Sewing Using Computational Intelligence Methods 77

**Fabric type/color Steps Maximum deviation (mm) Average deviation (mm)**  fleece/red 15 0.83 0.34 cotton/green 9 1.00 0.52 jeans/blue 10 0.99 0.65 baize/green 10 0.79 0.34 tweed 10 0.96 0.58

(a) (b)

To test the ANFIS system, the robot-camera-sewing system is restructured to achieve even better accuracy (Fig. 9). Now, the vision system consists of a web camera at 480×640 pixels resolution RGB, which is mounted on the sewing machine, so that the area in the vicinity of the sewing needle is in the field of view of the web camera. The area captured by the web camera is about 40×55 mm, but the seam errors (eD and eφ) are computed in a smaller area

Fig. 9. (a) Robot-camera-sewing machine system (b) zoom in the camera

Table 2. Experimental results for the tested fabrics

Fig. 10. Identification of a curved section

These simulation tests demonstrate that the polygon approximation of the curve serves as a trade-off between rapidity and smoothness affected by the tolerance for imprecision. The results show that the approximation leads to a satisfactory seam approximation, while simultaneously the time for the entire process is minimized.

In practice, the sewing process is repeated many times and the deviation errors are collected and processed. The maximum acceptable deviation error for all tested cases is set to 8 pixels (≈1 mm). Fig. 8 (a) shows the deviation errors for Fabric A, a fabric piece with small curvature (Fig. 6 (a)) and Fig. 8 (b) shows the deviation errors for Fabric B, a fabric piece with small curvature (Fig. 6 (b)).

Fig. 8. Deviation between real and desired path using the micro-GA for (a) fabric A (b) fabric B

**Fabric A:** The proposed micro-GA is experimentally tested using the dominant points as input. The maximum deviation (in pixels) between the needle-point and polygon approximation is computed from the image captured. The sewing process for the curved edge is accomplished after 15 steps and the results are shown in Fig. 8 (a). The maximum deviation is 6.63 pixels (≈0.83 mm) and is lower than the maximum acceptable limit of 8 pixels. The average value for the deviation is 2.75 pixels (≈0.34 mm), which is really satisfactory. The steps 6-10 correspond to the part of the curve with high curvature.

**Fabric B:** Using the dominant points as input, the micro-GA terminates with 9 steps and the average value for the deviation is 4.14 pixels (≈0.52 mm). The maximum deviation for each method is depicted in Fig. 8 (b). The deviation error for this fabric piece is greater compared to the previous one, which is reasonable, since the curvature is higher.

More fabric pieces are used to test the proposed approach, but detailed results are not presented due to the space limit. Table 2 shows indicatively the total steps, as well as the average and maximum deviations for some of the tested fabrics. The task is accomplished in less steps (corresponding to lower total time) when the micro Genetic-based approach that uses the dominant points as input is applied, satisfying the predefined the boundary of 1 mm.

In apparel industry, the maximum allowable deviation, which is empirically evaluated, lies in the range between 0.5-5 mm. For all tested cases, the proposed algorithm is proved to be quite robust and efficient, since the achieved deviation, which is the maximum predefined deviation set by the user, is less than 1 mm. Bearing in mind that the robot accuracy is within ± 0.03 mm, the deviations resulting from the vision- and the robot position errors are very satisfactory.


Table 2. Experimental results for the tested fabrics

76 Robotic Systems – Applications, Control and Programming

These simulation tests demonstrate that the polygon approximation of the curve serves as a trade-off between rapidity and smoothness affected by the tolerance for imprecision. The results show that the approximation leads to a satisfactory seam approximation, while

In practice, the sewing process is repeated many times and the deviation errors are collected and processed. The maximum acceptable deviation error for all tested cases is set to 8 pixels (≈1 mm). Fig. 8 (a) shows the deviation errors for Fabric A, a fabric piece with small curvature (Fig. 6 (a)) and Fig. 8 (b) shows the deviation errors for Fabric B, a fabric piece

satisfactory. The steps 6-10 correspond to the part of the curve with high curvature.

to the previous one, which is reasonable, since the curvature is higher.

0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0

(a) (b)

Fig. 8. Deviation between real and desired path using the micro-GA for (a) fabric A (b) fabric B **Fabric A:** The proposed micro-GA is experimentally tested using the dominant points as input. The maximum deviation (in pixels) between the needle-point and polygon approximation is computed from the image captured. The sewing process for the curved edge is accomplished after 15 steps and the results are shown in Fig. 8 (a). The maximum deviation is 6.63 pixels (≈0.83 mm) and is lower than the maximum acceptable limit of 8 pixels. The average value for the deviation is 2.75 pixels (≈0.34 mm), which is really

**Fabric B:** Using the dominant points as input, the micro-GA terminates with 9 steps and the average value for the deviation is 4.14 pixels (≈0.52 mm). The maximum deviation for each method is depicted in Fig. 8 (b). The deviation error for this fabric piece is greater compared

More fabric pieces are used to test the proposed approach, but detailed results are not presented due to the space limit. Table 2 shows indicatively the total steps, as well as the average and maximum deviations for some of the tested fabrics. The task is accomplished in less steps (corresponding to lower total time) when the micro Genetic-based approach that uses the dominant points as input is applied, satisfying the predefined the boundary of 1 mm. In apparel industry, the maximum allowable deviation, which is empirically evaluated, lies in the range between 0.5-5 mm. For all tested cases, the proposed algorithm is proved to be quite robust and efficient, since the achieved deviation, which is the maximum predefined deviation set by the user, is less than 1 mm. Bearing in mind that the robot accuracy is within ± 0.03 mm, the deviations resulting from the vision- and the robot position errors are

**deviation (pixels)**

123456789 **number of straight-line segments**

simultaneously the time for the entire process is minimized.

with small curvature (Fig. 6 (b)).

0 3 6 912 15 **number of straight-line segments**

very satisfactory.

**deviation (pixels)**

Fig. 9. (a) Robot-camera-sewing machine system (b) zoom in the camera

Fig. 10. Identification of a curved section

To test the ANFIS system, the robot-camera-sewing system is restructured to achieve even better accuracy (Fig. 9). Now, the vision system consists of a web camera at 480×640 pixels resolution RGB, which is mounted on the sewing machine, so that the area in the vicinity of the sewing needle is in the field of view of the web camera. The area captured by the web camera is about 40×55 mm, but the seam errors (eD and eφ) are computed in a smaller area

Robot Handling Fabrics Towards Sewing Using Computational Intelligence Methods 79

are shown in Fig. 14 (a). The rule base obtained through the genetic-oriented clustering

1. If (*eD is Small*) and *(eφ is Extremely Small)* then *(ω is Extremely Small)* (1)

3. If *(eD is Extremely Small)* and *(eφ is Extremely Large)* then *(ω is Small)* (1)

7. If *(eD is Extremely Large)* and *(eφ is Very Large)* then *(ω is Extremely Large)* (1)

2. If *(eD is Very Small)* and *(eφ is Small)* then *(ω is Very Small)* (1)

6. If *(eD is Very Large)* and *(eφ is Medium)* then *(ω is Very Large)* (1)

Fig. 13. Cluster centers resulting from the genetic-oriented clustering method

(a) (b)

Fig. 14. The membership functions for inputs using (a) genetic-based clustering (b) ANFIS

4. If *(eD is Large)* and *(eφ is Very Small)* then *(ω is Medium)* (1) 5. If *(eD is Medium)* and *(eφ is Large)* then *(ω is Large)* (1)

approach consists of 7 rules, shown in Table 3.

Table 3. Fuzzy rule base

40×25 mm for a better approximation. Fig. 10 presents indicatively a curved section of a fabric, which is identified and approximated by a straight edge.

The proposed seam control strategy is tested using real fabric pieces of different materials, shapes and colours. Fig. 11 shows four fabric pieces with curved edges that were used for training and Fig. 12 shows three fabric pieces that were used for testing. Several experimental tests are conducted to verify the efficiency and approve the effectiveness of the proposed adaptive neuro-fuzzy approach for robot sewing fabrics of curved edges.

Fig. 11. (a) jacket's sleeve (b) shirt's sleeve (c) trouser's leg (d) short sleeve

Fig. 12. (a) skirt's piece (b) pocket (c) hood

Using the fabric pieces shown in Fig. 11, a total of 350 data sets are obtained. A total of 300 data sets are selected for the purpose of training in ANFIS and the rest 50 data sets are selected for testing purposes after the training is completed in order to verify the accuracy of the predicted values.

Next, the genetic-oriented clustering method is applied to the training data set. Fig. 13 shows the training data sets and the resulting cluster centers obtained after applying the genetic-oriented clustering method. The cluster centers determine the number of the fuzzy sets and the parameters (mean values) μ of the Gaussian membership functions of the antecedent part, as well as the number of fuzzy rules of the Sugeno-type FIS. The number of the resulted clusters for ra=0.4 is seven. As a result, each input variable is characterized by seven fuzzy sets with the linguistic values {Extremely Small (ES), Very Small (VS), Small (S), Medium (M), Large (L), Very Large (VL), Extremely Large (EL)}. The consequent parameters of each rule of the Sugeno-type FIS are determined by using the linear least-squares algorithm. The membership functions for the two inputs resulting from these cluster centers are shown in Fig. 14 (a). The rule base obtained through the genetic-oriented clustering approach consists of 7 rules, shown in Table 3.


Table 3. Fuzzy rule base

78 Robotic Systems – Applications, Control and Programming

40×25 mm for a better approximation. Fig. 10 presents indicatively a curved section of a

The proposed seam control strategy is tested using real fabric pieces of different materials, shapes and colours. Fig. 11 shows four fabric pieces with curved edges that were used for training and Fig. 12 shows three fabric pieces that were used for testing. Several experimental tests are conducted to verify the efficiency and approve the effectiveness of the

(a) (b) (c) (d)

Using the fabric pieces shown in Fig. 11, a total of 350 data sets are obtained. A total of 300 data sets are selected for the purpose of training in ANFIS and the rest 50 data sets are selected for testing purposes after the training is completed in order to verify the accuracy of

Next, the genetic-oriented clustering method is applied to the training data set. Fig. 13 shows the training data sets and the resulting cluster centers obtained after applying the genetic-oriented clustering method. The cluster centers determine the number of the fuzzy sets and the parameters (mean values) μ of the Gaussian membership functions of the antecedent part, as well as the number of fuzzy rules of the Sugeno-type FIS. The number of the resulted clusters for ra=0.4 is seven. As a result, each input variable is characterized by seven fuzzy sets with the linguistic values {Extremely Small (ES), Very Small (VS), Small (S), Medium (M), Large (L), Very Large (VL), Extremely Large (EL)}. The consequent parameters of each rule of the Sugeno-type FIS are determined by using the linear least-squares algorithm. The membership functions for the two inputs resulting from these cluster centers

Fig. 11. (a) jacket's sleeve (b) shirt's sleeve (c) trouser's leg (d) short sleeve

(a) (b) (c)

Fig. 12. (a) skirt's piece (b) pocket (c) hood

the predicted values.

proposed adaptive neuro-fuzzy approach for robot sewing fabrics of curved edges.

fabric, which is identified and approximated by a straight edge.

Fig. 13. Cluster centers resulting from the genetic-oriented clustering method

Fig. 14. The membership functions for inputs using (a) genetic-based clustering (b) ANFIS

Robot Handling Fabrics Towards Sewing Using Computational Intelligence Methods 81

data points fall very close to the predicted points, indicating good correlation. The average error of the prediction of the angular velocity is around 2.57%, which means that the

An interesting and important conclusion established from the results is that the proposed approach is capable of well estimating data points outside the training space using the advantages of fuzzy logic, neural networks and genetic algorithms. This conclusion reflects the model's ability to predict the output based on the input data used for training. In practice, this implies that the method is effective in robot handling fabrics with curved

The strategy for robot-sewing fabrics with curved edges described above has the advantage of performing well regardless of the fabric's deformations. This advantage is of major importance, as fabrics are limp materials that have a tendency to distort and change their shape when handled on a work table. The fact that this approach is based on the information taken from the image that captures the fabric in the neighbourhood of the needle amplifies the system's robustness against deformations. Therefore, deformations that may appear on the fabric during robot handling do not affect the effectiveness of the

The main focus of this work lies on the design of an innovative visual servoing manipulator controller based on Fuzzy Logic that aims to enable robots to handle flexible fabric sheets lying on a work table. Visual servoing and fuzzy logic are used in robot motion control increases the intelligence of robots and the flexibility of the system. The designed visual servoing control system can deal with a variety of fabrics that are likely to deform and can cope with possible deformations due to buckling (wrinkling, folding) towards handling without degrading its performance, on condition that the seam segment to be sewed is undistorted. The desired accuracy is achieved in approaching the needle even in cases

This work focuses on the difficult case, where fabrics consist of edges with arbitrary curvatures. The need for approximating the curved edges through straight lines arises from the fact that current industrial robots can only be programmed to make straight or circular motions. From the standpoint of apparel industry manufacturing, it is important to assure that the fabric is sewn in the minimum time, while simultaneously satisfactory accuracy and

In our approach, the curve is approximated through small straight segments applying a micro-GA approach that uses the dominant point detection method as input. The proposed approach aims at the minimization of the execution time satisfying a predefined maximum tolerance. Based on the results, some consideration is made concerning the trade-offs

To alleviate the computational burden of geometrical computations, an innovative method for robot handling fabrics with curved edges towards sewing has been proposed, which is based on a novel genetic-oriented clustering method and an adaptive neuro-fuzzy inference system. This work presents the design and tune of an ANFIS network with the minimum number of fuzzy rules for modelling the complex process of robot sewing fabrics. The proposed adaptive neuro-fuzzy inference system benefits from the advantages of fuzzy logic, neural networks and genetic algorithms. This feature makes this approach a powerful

between running times and the quality of the final approximation.

accuracy is as high as 97.43%.

stitching process.

**7. Conclusion** 

where deformations appeared.

smoothness are achieved.

edges, which have not been used in the training process.

The next step is the training process that aims at tuning the fuzzy inference system. Fig. 14 (b) shows the final Gaussian membership functions derived after training the system. In contrast to the first input, there is a considerable change in the final membership functions concerning the second input, since the supports of all fuzzy sets are broadened. The root mean squared errors of the output over 100 training epochs, which are obtained by using 300 training datasets and 50 checking data sets, are plotted in Fig. 15. It is obvious that both training and checking error gradually decrease versus the number of epochs.

Fig. 15. ANFIS training process

Fig. 16. Comparisons between measured & predicted angular velocity

After 50 checking data sets are entered in ANFIS, an output value can be obtained from the calculation results. This output value is the predicted value for the angular velocity of the end-effector. Fig. 16 shows measured and predicted angular velocity for the checking data, as well as the prediction error expressed as the absolute value of the percentage error between the measured and predicted angular velocity. These two diagrams demonstrate that the predicted values are close to the experimentally measured values, as many of the data points fall very close to the predicted points, indicating good correlation. The average error of the prediction of the angular velocity is around 2.57%, which means that the accuracy is as high as 97.43%.

An interesting and important conclusion established from the results is that the proposed approach is capable of well estimating data points outside the training space using the advantages of fuzzy logic, neural networks and genetic algorithms. This conclusion reflects the model's ability to predict the output based on the input data used for training. In practice, this implies that the method is effective in robot handling fabrics with curved edges, which have not been used in the training process.

The strategy for robot-sewing fabrics with curved edges described above has the advantage of performing well regardless of the fabric's deformations. This advantage is of major importance, as fabrics are limp materials that have a tendency to distort and change their shape when handled on a work table. The fact that this approach is based on the information taken from the image that captures the fabric in the neighbourhood of the needle amplifies the system's robustness against deformations. Therefore, deformations that may appear on the fabric during robot handling do not affect the effectiveness of the stitching process.

## **7. Conclusion**

80 Robotic Systems – Applications, Control and Programming

The next step is the training process that aims at tuning the fuzzy inference system. Fig. 14 (b) shows the final Gaussian membership functions derived after training the system. In contrast to the first input, there is a considerable change in the final membership functions concerning the second input, since the supports of all fuzzy sets are broadened. The root mean squared errors of the output over 100 training epochs, which are obtained by using 300 training datasets and 50 checking data sets, are plotted in Fig. 15. It is obvious that both

training and checking error gradually decrease versus the number of epochs.

Fig. 16. Comparisons between measured & predicted angular velocity

After 50 checking data sets are entered in ANFIS, an output value can be obtained from the calculation results. This output value is the predicted value for the angular velocity of the end-effector. Fig. 16 shows measured and predicted angular velocity for the checking data, as well as the prediction error expressed as the absolute value of the percentage error between the measured and predicted angular velocity. These two diagrams demonstrate that the predicted values are close to the experimentally measured values, as many of the

Fig. 15. ANFIS training process

The main focus of this work lies on the design of an innovative visual servoing manipulator controller based on Fuzzy Logic that aims to enable robots to handle flexible fabric sheets lying on a work table. Visual servoing and fuzzy logic are used in robot motion control increases the intelligence of robots and the flexibility of the system. The designed visual servoing control system can deal with a variety of fabrics that are likely to deform and can cope with possible deformations due to buckling (wrinkling, folding) towards handling without degrading its performance, on condition that the seam segment to be sewed is undistorted. The desired accuracy is achieved in approaching the needle even in cases where deformations appeared.

This work focuses on the difficult case, where fabrics consist of edges with arbitrary curvatures. The need for approximating the curved edges through straight lines arises from the fact that current industrial robots can only be programmed to make straight or circular motions. From the standpoint of apparel industry manufacturing, it is important to assure that the fabric is sewn in the minimum time, while simultaneously satisfactory accuracy and smoothness are achieved.

In our approach, the curve is approximated through small straight segments applying a micro-GA approach that uses the dominant point detection method as input. The proposed approach aims at the minimization of the execution time satisfying a predefined maximum tolerance. Based on the results, some consideration is made concerning the trade-offs between running times and the quality of the final approximation.

To alleviate the computational burden of geometrical computations, an innovative method for robot handling fabrics with curved edges towards sewing has been proposed, which is based on a novel genetic-oriented clustering method and an adaptive neuro-fuzzy inference system. This work presents the design and tune of an ANFIS network with the minimum number of fuzzy rules for modelling the complex process of robot sewing fabrics. The proposed adaptive neuro-fuzzy inference system benefits from the advantages of fuzzy logic, neural networks and genetic algorithms. This feature makes this approach a powerful

Robot Handling Fabrics Towards Sewing Using Computational Intelligence Methods 83

Koustoumpardis P.; Zacharia P. & Aspragathos N. (2007). Intelligent robotic handling of

Koustoumpardis, P.; Zoumponos, G.; Zacharia, P.; Mariolis, I.; Chatzis, I.; Evangelidis, G. &

Krishnakumar, K. (1989). Micro-genetic algorithms for stationary and non-stationary

Kudo, M.; Nasu, Y.; Mitobe, K. & Borovac, B. (2000). Multi-arm robot control system for

Männle, M. (2001). FTSM—Fast Takagi-Sugeno Fuzzy Modeling, Institute for Computer

Marichal, G.N.; Acosta, L.; Moreno, L.; Méndez, J.A.; Rodrigo, J.J. & Sigut, M. (2001).

Michalewitz, Z. (1996). Genetic Algorithms + Data Structures = Evolution Programs, 3rd

Moulianitis, V.; Dentsoras, A. & Aspragathos, N. (1999). A knowledge-based system for the

Rusu, P.; Petriu, E.M.; Whalen, T.E.; Cornell, A. & Spoelder H.J.W. (2003). Behaviour-based

Sugeno, M. & Kang, G.T. (1988). Structure identification of fuzzy model, *Fuzzy Sets and* 

Takagi, T. & Sugeno, M. (1985). Fuzzy identification of systems and its applications to

Teh, C. H. & Chin, R. T. (1989). On the detection of dominant points in digital curves, *IEEE Transactions on Pattern Analysis and Machine Intelligence*, Vol.11, No.8, pp.859–872. Torgerson, E. & Paul, F.-W. (1988). Vision-guided robotic fabric manipulation for apparel manufacturing, *IEEE Control Systemss Magazine*, Vol.8, No.1, pp.14–20. Wu, W.-Y. (2002). A dynamic method for dominant point detection, *Graphical Models*, Vol.64,

Yin, P.-Y. (2003). Ant colony search algorithms for optimal polygonal approximation of

*Engineering Design, Analysis and Manufacturing*, Vol.13, No.1, pp. 3-25. Rizzi, A.; Mascioli F.M.F. & Martinelli G. (1999). Automatic training of ANFIS networks,

*Instrumentation and Measurement*, Vol.52, No.4, pp.1335–1340.

plane curves, *Pattern Recognition*, Vol.36, No.8, 1783–1797.

Design and Fault Tolerance, University of Karlsruhe, Karlsruhe.

*Intelligent and Robotic Systems*, Vol.36 No.1, pp.65-88.

Ljubljana, Slovenia, June 15–17, 2006.

*Systems*, Vol.124, No.2, pp.171–179.

edition, Springer-Verlag.

ISBN: 0-7803-5406-0.

No.1, pp.116–132.

No.5, pp.304–315.

*Systems*, Vol.28, No.1, pp.15–33.

pp.289–296.

pp.371–402.

fabrics for sewing, Industrial Robotics: Programming, Simulation and Applications, pIV pro literature Verlag Robert Mayer-Scholz, Chapter 28, pp.559-582, February. Koustoumpardis, P. & Aspragathos, N. (2003). Fuzzy logic decision mechanism combined

with a neuro-controller for fabric tension in robotized sewing process, *Journal of* 

Zampetakis, A. (2006). Handling of non-rigid materials (XROMA), application in robotic sewing, *37th International Symposium on novelties in Textiles*, pp.528-533,

function optimization. *SPIE Intelligent Control and Adaptive Systems*, Vol.1196,

manipulation of flexible materials in sewing operation, *Mechatronics*, Vol.10, No.8,

Obstacle avoidance for a mobile robot: a neuro-fuzzy approach, *Fuzzy Sets and* 

conceptual design of grippers for handling robots, *Artificial Intelligence for* 

IEEE International Fuzzy Systems Conference, Seoul, Korea, Vol.3, pp.1655-1660,

neuro fuzzy controller for mobile robot navigation, *IEEE Transactions on* 

modeling and control, *IEEE Transactions on Systems, Man and Cybernetics*, Vol.15,

tool to deal with uncertainty embedded in the curved edges of real cloth parts and to cope with new fabric pieces that have not been used for the training process.

The experimental results show that the proposed control scheme is effective and efficient in guiding the fabric towards the sewing needle, sewing it and rotating it around the needle. After extensive experimentation, it has been proved to be rather simple, flexible and robust due to its capability to respond to any position and orientation error for a variety of fabrics that are likely to present deformations. The experimental data were obtained using the robot-camera-sewing machine system and real parts of cloths. The proposed method presented good results when applied to fabrics with curved edges of unknown curvatures, which manifest the validity of proposed approach. This method is applicable to any piece of fabric with edges of arbitrary curvature, since it has been proved to be efficient in estimating the appropriate angular velocity of fabrics that were not included in the training process. Although no direct comparison with human stitching is possible, as the equipment deployed attained differ, the achieved accuracy is really promising for future use in industrial applications.

## **8. Acknowledgment**

The author would like to acknowledge Robotics Group of Mechanical Engineering & Aeronautics Dep., University of Patras (http://robotics.mech.upatras.gr/www/) for help and cooperation.

## **9. References**


82 Robotic Systems – Applications, Control and Programming

tool to deal with uncertainty embedded in the curved edges of real cloth parts and to cope

The experimental results show that the proposed control scheme is effective and efficient in guiding the fabric towards the sewing needle, sewing it and rotating it around the needle. After extensive experimentation, it has been proved to be rather simple, flexible and robust due to its capability to respond to any position and orientation error for a variety of fabrics that are likely to present deformations. The experimental data were obtained using the robot-camera-sewing machine system and real parts of cloths. The proposed method presented good results when applied to fabrics with curved edges of unknown curvatures, which manifest the validity of proposed approach. This method is applicable to any piece of fabric with edges of arbitrary curvature, since it has been proved to be efficient in estimating the appropriate angular velocity of fabrics that were not included in the training process. Although no direct comparison with human stitching is possible, as the equipment deployed attained differ, the achieved accuracy is really promising for future use in

The author would like to acknowledge Robotics Group of Mechanical Engineering & Aeronautics Dep., University of Patras (http://robotics.mech.upatras.gr/www/) for help

Amin-Nejad, S.; Smith, J.-S. & Lucas, J. (2003). A visual servoing system for edge trimming of fabric embroideries by laser, *Mechatronics*, Vol.13, No.6, pp.533–551. Delgado, M.R.; Von Zuben, F. & Gomide, F. (2001). Hierarchical genetic fuzzy systems,

Gershon, D. & Porat, I. (1986). Robotic sewing using multi-sensory feedback, *Proceedings of the 16th International Symposium of Industrial Robots*, Brussels, pp. 823-34. Gershon, D. & Porat, I. (1988). Visual servo control of a robotic sewing system, *Proceedings of* 

Gershon, D. (1990). Parallel process decomposition of a dynamic manipulation task: robotic sewing, *IEEE Transactions on Robotics and Automation*, Vol.6 No.3, pp. 357-366. Gershon, D. (1993), Strategies for robotic handling of flexible sheet material, *Mechatronics*,

Hui, N.B.; Mahendar, V. & Pratihar, D.K. (2006). Time-optimal, collision-free navigation of a

Jang, J.-S.R. (1993). ANFIS: Adaptive network-based fuzzy inference system, *IEEE Transactions on Systems, Man and Cybernetics*, Vol.23, No.3, pp.665–685. Jang, J.-S.R.; Sun, C.-T. & Mizutani, E. (1997). Neuro-Fuzzy and Soft Computing: A

*the IEEE International Conference on Robotics and automation*, pp.1830–1835,

carlike mobile robot using neuro-fuzzy approaches, *Fuzzy Sets and Systems*, Vol.157,

Computation Approach to Learning and Machine Intelligence, Prentice Hall, Upper

*Information Sciences*, Vol.136, No.1, pp.29–52.

Philadelphia, PA, USA.

Vol.3 No.5, pp. 611-23.

No.16, pp.2171–2204.

Saddle River.

with new fabric pieces that have not been used for the training process.

industrial applications.

**8. Acknowledgment** 

and cooperation.

**9. References** 


**5** 

*USA* 

**Robotic Systems for Radiation Therapy** 

Medical robotics is an exciting and relatively new field. Robotics plays an important role in medical engineering. Medical robots were initially used in the 1980s, in the field of urology. Robotic arms were developed and used for prostate resection. They can also be highly specialized and assist in diagnosing and treating patients. While there is still much more work to be done, using robots can enhance medical treatments in terms of both the quality and accessibility of care. Using robots can help reduce human error and bring highly specialized information to remote areas without requiring physicians' direct intervention. In radiation therapy, high-energy radiation from x-rays, gamma rays, neutrons, and other sources has been used to kill cancer cells and shrink tumors. Radiation may come from a machine outside the body (external-beam radiation therapy), or it may come from radioactive materials placed in the body near cancer cells (internal radiation therapy,

The usage of robotic systems to improve the cancer treatment outcome is a new field. This field overlaps with electronics, computer science, artificial intelligence, mechatronics, nanotechnology, and bioengineering. For this purpose, robots can be used in medical facilities to perform different tasks such as delivering radiation sources, real-time tumor

The only product in the market for robotic radiotherapy is CyberKnife Robotic Radiosurgery System. The robotic system has provision for so-called real-time tracking during beam delivery. The device itself is a 6MV linear accelerator mounted on a six degree-of-freedom (DOF) Keller und Knappich Augsburg (KUKA) industrial robot. This system has real-time image-guided control. Consequently, there is a significantly long time delay (about 200 ms) between the acquisition of tumor coordinates and repositioning to the linear accelerator. The CyberKnife-KUKA robot with linear accelerator end-effector is suited for radiation therapy to any body sites. Its field size is restricted to the limited geometry of 12 discrete circular fields ranging from 5mm to 60mm in diameter. Therefore, the workspace is confined and the radiation therapy community has not fully embraced the idea of using an industrial

The details about CyberKnife robotic system are not included in this chapter. Consequently, the basic idea is to present the novel research results in the field of robotic radiation therapy

**1. Introduction** 

implant radiation, or brachytherapy).

articulated robotic manipulator yet.

and its applications.

tracking during radiation delivery or external beam delivery.

Ivan Buzurovic1, Tarun K. Podder2 and Yan Yu1 *1Thomas Jefferson University, Philadelphia, Pennsylvania, 2East Carolina University, Greenville, North Carolina* 


## **Robotic Systems for Radiation Therapy**

Ivan Buzurovic1, Tarun K. Podder2 and Yan Yu1

*1Thomas Jefferson University, Philadelphia, Pennsylvania, 2East Carolina University, Greenville, North Carolina USA* 

## **1. Introduction**

84 Robotic Systems – Applications, Control and Programming

Yin, P.-Y. (2004). A discrete particle swarm algorithm for optimal polygonal approximation, *Journal of Visual Communication and Image Representation*, Vol.15, No.2, pp.241–260. Zacharia P.Th. (2010). An adaptive neuro-fuzzy inference system for robot handling fabrics

Zacharia, P.; Mariolis, I., Aspragathos, N. & Dermatas, E. (2005). Visual servoing of a robotic

Zacharia, P.; Mariolis, I., Aspragathos, N. & Dermatas, E. (2006). Visual servoing controller

Zacharia, P.Th.; Mariolis, I.G.; Aspragathos, N.A. & Dermatas E.S. (2008). Robot handling

Zacharia, P.Th.; Mariolis, I.G.; Aspragathos, N.A. & Dermatas E.S. (2009). A robotic system

Zhang, H. & Guo, J. (2001). Optimal polygonal approximation of digital planar curves using

Zoumponos, G. & Aspragathos, N. (2008). Fuzzy logic path planning for the robotic

meta heuristics, *Pattern Recognition*, Vol.34, No.7, pp.1429–1436.

*Innovative Production Machines and Systems*, pp. 301–306, July3–14, 2006. Zacharia, P.Th. & Aspragathos, N.A. (2008), Genetically oriented clustering using variable

*Production Machines and Systems*, pp.204-209, July 1-14, 2008.

*Engineering Manufacture*, Vol.222, No.10, pp. 263-1274.

*Industrial Robot*, Vol. 36, No.5, pp.489-496.

Vol.24, No.2, pp.174-186.

No.3, pp.193-209.

416, July 4–15 ,2005.

with curved edges towards sewing, *Journal of Intelligent and Robotic Systems*, Vol.58,

manipulator based on fuzzy logic control for handling fabric lying on a table, *I\*PROMS Virtual Conference on Innovative Production Machines and Systems*, , pp. 411–

for robot handling fabrics of curved edges, *I\*PROMS Virtual Conference on* 

length chromosomes, *I\*PROMS Virtual International Conference on Intelligent* 

fabrics with curved edges based on visual servoing and polygonal approximation, *Special Issue of Proceedings of the Institution of Mechanical Engineers, Part B, Journal of* 

based on fuzzy visual servoing for handling flexible sheets lying on a table,

placement of fabrics on a work table, *Robotics & Computer-integrated Manufacturing*,

Medical robotics is an exciting and relatively new field. Robotics plays an important role in medical engineering. Medical robots were initially used in the 1980s, in the field of urology. Robotic arms were developed and used for prostate resection. They can also be highly specialized and assist in diagnosing and treating patients. While there is still much more work to be done, using robots can enhance medical treatments in terms of both the quality and accessibility of care. Using robots can help reduce human error and bring highly specialized information to remote areas without requiring physicians' direct intervention.

In radiation therapy, high-energy radiation from x-rays, gamma rays, neutrons, and other sources has been used to kill cancer cells and shrink tumors. Radiation may come from a machine outside the body (external-beam radiation therapy), or it may come from radioactive materials placed in the body near cancer cells (internal radiation therapy, implant radiation, or brachytherapy).

The usage of robotic systems to improve the cancer treatment outcome is a new field. This field overlaps with electronics, computer science, artificial intelligence, mechatronics, nanotechnology, and bioengineering. For this purpose, robots can be used in medical facilities to perform different tasks such as delivering radiation sources, real-time tumor tracking during radiation delivery or external beam delivery.

The only product in the market for robotic radiotherapy is CyberKnife Robotic Radiosurgery System. The robotic system has provision for so-called real-time tracking during beam delivery. The device itself is a 6MV linear accelerator mounted on a six degree-of-freedom (DOF) Keller und Knappich Augsburg (KUKA) industrial robot. This system has real-time image-guided control. Consequently, there is a significantly long time delay (about 200 ms) between the acquisition of tumor coordinates and repositioning to the linear accelerator. The CyberKnife-KUKA robot with linear accelerator end-effector is suited for radiation therapy to any body sites. Its field size is restricted to the limited geometry of 12 discrete circular fields ranging from 5mm to 60mm in diameter. Therefore, the workspace is confined and the radiation therapy community has not fully embraced the idea of using an industrial articulated robotic manipulator yet.

The details about CyberKnife robotic system are not included in this chapter. Consequently, the basic idea is to present the novel research results in the field of robotic radiation therapy and its applications.

Robotic Systems for Radiation Therapy 87

kinematic chains called needling mechanism and an ultrasound probe driver with five and

Fig. 1. a) EUCLIDIAN – image-guided brachytherapy robotic system; b) Kinematic DH

(*denote by needling mechanism* in Fig. 21.) with seed holder and seed pusher.

and optical encoders fitted with the motors, Figs. 1 and 2.

which allow independent motions of the TRUS probe and the needle.

The three main subsystems of the surgical module, Fig. 2, are: 1) Two DOF transrectal ultrasound (TRUS) probe driver, three DOF robotic gantry, and two DOF needle inserter

A brief description of these subsystems is provided in the following sections. The TRUS probe, which contains two transducers, transverse and sagittal planes can be translated and rotated separately by two motors fitted with high-resolution optical encoders. This enables imaging the prostate in transverse as well as in sagittal planes with variable slice thicknesses

Working ranges of motion of the TRUS probe are 0–185 mm and -91° to +91° in translation and rotation, respectively. The TRUS probe can also be operated manually using the knobs; during this mode, the motors are disengaged automatically by electric clutches. There is a provision for a template holder at the end of the TRUS probe driver, enabling manual takeover if required. A pair of prostate stabilization needles can be placed with angulation in both sagittal and coronal planes to prevent the obstruction of robotic needle insertion. This approach has also been shown to produce significant improvement in prostate

This subsystem, which features two translational motions, x and y direction, and one rotational motion (*pitch*, i.e., the rotation upward or downward about the x-axis), connects the needle driving module to the positioning platform. The motions are achieved by motors

The range of motion is 62 mm - 67 mm in the x-y direction. The rotational range for angulating the needle is -5° to +5° to avoid pubic arch interference and to reach the target region close to the TRUS probe. The TRUS probe motion and the rest of the surgery module (gantry and needle driver) is decoupled, as they are two separate open kinematic chains,

two DOF, respectively.

a) b)

schema with reference frames

or intervals, as thin as 0.1 mm.

immobilization.

**2.1.1 System description** 

## **2. Brachytherapy robotics**

Brachytherapy is a method of treatment in which sealed radioactive sources are used to deliver radiation at a short distance by interstitial, intracavitary, or surface application. With this mode of therapy, a high radiation dose can be delivered locally to the tumor with rapid dose falloff in the surrounding normal tissue.

Recently, several research groups have reported the investigation and development of the robotic systems for the prostate seeds implants, (Stoianovici et al., 2003), (Wei et al., 2004), (Fichtinger et al., 2006), (Yu et al., 2007), (Meltsner, 2007), (Meltsner et al., 2007), (Stoianovici et al., 2007), (Podder et al., 2007), (Salcudean et al., 2008), (Lin et al., 2008), (Moerland et al., 2008). The potential advantages of the robotic seed implants include improving the accuracy of the needle placement and seed delivery, as well as improving the consistency of the seed implant. In medical, especially prostate brachytherapy, applications of robots, precise endeffector position, steady state and positioning accuracy is required. In such applications, even small positioning errors at the manipulator end-effector can have dangerous and costly consequences, (Mavrodis et al., 1997). To achieve the enhancements of the robotic seed delivery, the robots need to be calibrated. Properly calibrated robotic systems have higher absolute positioning accuracy and the deposited seeds positions correspond better to the ones calculated in the planning systems. The brachytherapy robots are usually ultrasound (US) or magnetic resonance imaging (MRI) guided. Generally, to improve needle placement and seed deposition in brachytherapy procedure several methods have been presented in the literature, such as parameter optimization, different needle rotation techniques, robotic insertion, force modeling, and needle steering techniques. Robot assisted therapeutic delivery systems are attractive for several reasons. The potential advantages are increased accuracy, reduced human variability, reduction of clinician's fatigue and reduction of operation time.

There can be two methods for robotic needle insertion and seed deposition: single-channel approach and multi-channel approach. In single-channel approach one needle can be inserted at a time and typically 2-5 seeds along the needle track are deposited in the prostate according to dosimetry plan. On the other hand, multi-channel system is capable of placing several needles at the time. Thereby, seed delivery can be faster. Since prostate is not rigidly mounted, it can move and rotate as well as unpredictably deform. When several needles are inserted concurrently, prostate will be uniformly pushed back symmetrically to more stable position and deformation of the tissue can be better estimated for precise delivery.

In the following sections two brachytherapy robotic systems has been presented. Both robotic systems: single-channel and multi-channel systems have been designed, developed and manufactured in our research laboratories.

### **2.1 Single-channel brachytherapy robotic system**

We have designed and developed a robotic system, named **E**ndo-**U**ro **C**omputer **L**attice for **I**ntratumoral **D**elivery, **I**mplantation, and **A**blation with **N**anosensing (EUCLIDIAN). The system consists of a surgical module, a positioning module and a electronic housing, as in Fig. 1.a. Kinematic Denavit-Hartenberg (DH) parameters of the system are presented in Fig.1.b.

The platform connects the surgical module to the cart. The platform has provision for both translational and rotational motion. The vertical lift of the surgery module is motorized for ease of operation against gravitational effect. The supporting platform connects the surgical module to the cart. The surgical module consists of two robotic manipulators, i.e., two open 86 Robotic Systems – Applications, Control and Programming

Brachytherapy is a method of treatment in which sealed radioactive sources are used to deliver radiation at a short distance by interstitial, intracavitary, or surface application. With this mode of therapy, a high radiation dose can be delivered locally to the tumor with rapid

Recently, several research groups have reported the investigation and development of the robotic systems for the prostate seeds implants, (Stoianovici et al., 2003), (Wei et al., 2004), (Fichtinger et al., 2006), (Yu et al., 2007), (Meltsner, 2007), (Meltsner et al., 2007), (Stoianovici et al., 2007), (Podder et al., 2007), (Salcudean et al., 2008), (Lin et al., 2008), (Moerland et al., 2008). The potential advantages of the robotic seed implants include improving the accuracy of the needle placement and seed delivery, as well as improving the consistency of the seed implant. In medical, especially prostate brachytherapy, applications of robots, precise endeffector position, steady state and positioning accuracy is required. In such applications, even small positioning errors at the manipulator end-effector can have dangerous and costly consequences, (Mavrodis et al., 1997). To achieve the enhancements of the robotic seed delivery, the robots need to be calibrated. Properly calibrated robotic systems have higher absolute positioning accuracy and the deposited seeds positions correspond better to the ones calculated in the planning systems. The brachytherapy robots are usually ultrasound (US) or magnetic resonance imaging (MRI) guided. Generally, to improve needle placement and seed deposition in brachytherapy procedure several methods have been presented in the literature, such as parameter optimization, different needle rotation techniques, robotic insertion, force modeling, and needle steering techniques. Robot assisted therapeutic delivery systems are attractive for several reasons. The potential advantages are increased accuracy, reduced human variability, reduction of clinician's fatigue and reduction of

There can be two methods for robotic needle insertion and seed deposition: single-channel approach and multi-channel approach. In single-channel approach one needle can be inserted at a time and typically 2-5 seeds along the needle track are deposited in the prostate according to dosimetry plan. On the other hand, multi-channel system is capable of placing several needles at the time. Thereby, seed delivery can be faster. Since prostate is not rigidly mounted, it can move and rotate as well as unpredictably deform. When several needles are inserted concurrently, prostate will be uniformly pushed back symmetrically to more stable

In the following sections two brachytherapy robotic systems has been presented. Both robotic systems: single-channel and multi-channel systems have been designed, developed

We have designed and developed a robotic system, named **E**ndo-**U**ro **C**omputer **L**attice for **I**ntratumoral **D**elivery, **I**mplantation, and **A**blation with **N**anosensing (EUCLIDIAN). The system consists of a surgical module, a positioning module and a electronic housing, as in Fig. 1.a. Kinematic Denavit-Hartenberg (DH) parameters of the system are presented in Fig.1.b. The platform connects the surgical module to the cart. The platform has provision for both translational and rotational motion. The vertical lift of the surgery module is motorized for ease of operation against gravitational effect. The supporting platform connects the surgical module to the cart. The surgical module consists of two robotic manipulators, i.e., two open

position and deformation of the tissue can be better estimated for precise delivery.

**2. Brachytherapy robotics** 

operation time.

dose falloff in the surrounding normal tissue.

and manufactured in our research laboratories.

**2.1 Single-channel brachytherapy robotic system** 

kinematic chains called needling mechanism and an ultrasound probe driver with five and two DOF, respectively.

Fig. 1. a) EUCLIDIAN – image-guided brachytherapy robotic system; b) Kinematic DH schema with reference frames

### **2.1.1 System description**

The three main subsystems of the surgical module, Fig. 2, are: 1) Two DOF transrectal ultrasound (TRUS) probe driver, three DOF robotic gantry, and two DOF needle inserter (*denote by needling mechanism* in Fig. 21.) with seed holder and seed pusher.

A brief description of these subsystems is provided in the following sections. The TRUS probe, which contains two transducers, transverse and sagittal planes can be translated and rotated separately by two motors fitted with high-resolution optical encoders. This enables imaging the prostate in transverse as well as in sagittal planes with variable slice thicknesses or intervals, as thin as 0.1 mm.

Working ranges of motion of the TRUS probe are 0–185 mm and -91° to +91° in translation and rotation, respectively. The TRUS probe can also be operated manually using the knobs; during this mode, the motors are disengaged automatically by electric clutches. There is a provision for a template holder at the end of the TRUS probe driver, enabling manual takeover if required. A pair of prostate stabilization needles can be placed with angulation in both sagittal and coronal planes to prevent the obstruction of robotic needle insertion. This approach has also been shown to produce significant improvement in prostate immobilization.

This subsystem, which features two translational motions, x and y direction, and one rotational motion (*pitch*, i.e., the rotation upward or downward about the x-axis), connects the needle driving module to the positioning platform. The motions are achieved by motors and optical encoders fitted with the motors, Figs. 1 and 2.

The range of motion is 62 mm - 67 mm in the x-y direction. The rotational range for angulating the needle is -5° to +5° to avoid pubic arch interference and to reach the target region close to the TRUS probe. The TRUS probe motion and the rest of the surgery module (gantry and needle driver) is decoupled, as they are two separate open kinematic chains, which allow independent motions of the TRUS probe and the needle.

Robotic Systems for Radiation Therapy 89

surgical module, such as needle insertion, needle rotation, seed deposition, x-y movement of

The three DOF cart (two translations and a rotation about the vertical axis) provides gross movement of the robotic system to align with the patient, while the six DOF platform enables finer movement for desired positioning and orientation of the robot in three-

The computer, system electronics, and cable junctions are housed in the electronics housing, Fig. 1. The EUCLIDIAN's surgery module is fully autonomous; all the motors are fitted with high-resolution optical encoders and precision gear boxes. The robot is controlled by an industrial computer, which is proven to be robust and reliable for working in harsh industrial environments and military applications. It has a special metallic casing for

Two Galil control cards, Model DMC- 1842; Galil Motion Control, Inc., Rocklin, CA, are used: One card to control the TRUS probe driver and gantry motions and the other card to control the needle driver and the seed pusher. A robust and stable proportional, integral and derivative (PID) controller has been developed for controlling the motorized surgical module. We have tuned the PID gains in such a manner so that the system's stability is maintained when the needle changes its states from merely position control in the air to both position and force control mode in the patient's body. The needle can be driven at a maximum velocity of approximately 100 mm/s; however, a lower velocity, 60 mm/s, setting is used as the default. A frame grabber, FlashBus, Integrated Technologies, Indianapolis, IN, is used for TRUS image capturing. Three force-torque sensors , Nano17, ATI Industrial Automation, Apex, NC and M13, Honeywell, Morristown, NJ, are used for needle insertion force monitoring and robot control feedback. Each of the motors is fitted with an optical encoder, MicroMo Electronics, Inc., Faulhaber Group, Clearwater, FL, which can provide final motion resolutions, considering gear ratios and screw leads, of 0.0007 mm for gantry xy translations, 0.004 mm for stylet and cannula motions, and 0.005 mm and 0.06° for TRUS

In the previous studies, it was concluded that the proper selection of the translational and rotational velocities may reduce tissue deformation and target movements by reducing insertion force, (Buzurovic et al., 2008.a). Therefore, it can be concluded that the insertion force has a dominant influence on the needle insertion, seed deposition precision, and dosimetry distribution in brachytherapy procedure. In our initial work, (Buzurovic et al., 2008.b) we have investigated tracking problem for the same robotic system using neural network approach. The force prediction model was introduced as well. In this article we have introduced novel methods to control the brachytherapy robot with the lowest tissue deformation and highest seed precision delivery as the ultimate goals. In order to achieve the desired dynamic behavior of the robotic system, the control strategies that we implemented in the robotic system have a force prediction module. For the first one we have used an artificial neural network (ANN) and neural network predictive control (NNPC),

In the following part the use of a feedforward model predictive control (MPC) was described. The purpose of this approach is to control the reactive force which is responsible for tissue displacement. Also, as the second control task was to predict and compensate the impact of the measured and unmeasured disturbances rather than waiting until the effect

the gantry, and system abort.

minimizing electromagnetic interferences.

probe translation and rotation, respectively.

**2.1.2 Advanced control techniques** 

(Buzurovic et al., 2010.a).

dimensional (3D) space.

Fig. 2. Surgical module of EUCLIDIAN

Fig. 3. Needle driver and seed depositor of EUCLIDIAN robot

The needle driver is the most complex subsystem of the EUCLIDIAN, Fig. 3, as the degree of complexity is increased with the introduction of three force-torque sensors, stylet sensor, cannula sensor, and whole needle sensor for cannula rotation and autonomous seed delivery system. The main components of this subsystem are: 1) stylet driver, 2) cannula driver, 3) seed-cartridge holder, and 4) force-torque sensors. The cannula and the stylet are driven separately by two motors. The travel ranges of both the cannula and the stylet are 0– 312 mm. During the surgical procedure, the motions of the cannula as well as of the stylet are autonomous in accordance with the treatment plan; however, the clinician must approve the movements at critical points. Our custom-designed seed cartridge can hold 35 radioactive seeds. Accommodation of additional seeds posed some challenges for smooth functioning of the seed cartridge due to spring nonlinearity. However, after careful investigation and adjustments, the seed cartridge is working satisfactorily.

The seed pusher, a flat ended stylet, is deployed to expel the seed out of the cartridge and to deposit it at the planned location. Every motion during the sequence of seed delivery is fully automatic; however, the clinician is able to interrupt and/or manipulate the movements at any time using a hand pendant. By monitoring the force data from the sensor installed at the proximal end of the stylet, Fig. 4, the seed removal from the cartridge to the cannula can be verified. A ten-button hand pendant provides the clinician with the authority and freedom to assert control of the surgery module at any desired time. That is, the clinician can command each of the motors for manipulating the motion of various components of the 88 Robotic Systems – Applications, Control and Programming

Fig. 2. Surgical module of EUCLIDIAN

Fig. 3. Needle driver and seed depositor of EUCLIDIAN robot

investigation and adjustments, the seed cartridge is working satisfactorily.

The needle driver is the most complex subsystem of the EUCLIDIAN, Fig. 3, as the degree of complexity is increased with the introduction of three force-torque sensors, stylet sensor, cannula sensor, and whole needle sensor for cannula rotation and autonomous seed delivery system. The main components of this subsystem are: 1) stylet driver, 2) cannula driver, 3) seed-cartridge holder, and 4) force-torque sensors. The cannula and the stylet are driven separately by two motors. The travel ranges of both the cannula and the stylet are 0– 312 mm. During the surgical procedure, the motions of the cannula as well as of the stylet are autonomous in accordance with the treatment plan; however, the clinician must approve the movements at critical points. Our custom-designed seed cartridge can hold 35 radioactive seeds. Accommodation of additional seeds posed some challenges for smooth functioning of the seed cartridge due to spring nonlinearity. However, after careful

The seed pusher, a flat ended stylet, is deployed to expel the seed out of the cartridge and to deposit it at the planned location. Every motion during the sequence of seed delivery is fully automatic; however, the clinician is able to interrupt and/or manipulate the movements at any time using a hand pendant. By monitoring the force data from the sensor installed at the proximal end of the stylet, Fig. 4, the seed removal from the cartridge to the cannula can be verified. A ten-button hand pendant provides the clinician with the authority and freedom to assert control of the surgery module at any desired time. That is, the clinician can command each of the motors for manipulating the motion of various components of the surgical module, such as needle insertion, needle rotation, seed deposition, x-y movement of the gantry, and system abort.

The three DOF cart (two translations and a rotation about the vertical axis) provides gross movement of the robotic system to align with the patient, while the six DOF platform enables finer movement for desired positioning and orientation of the robot in threedimensional (3D) space.

The computer, system electronics, and cable junctions are housed in the electronics housing, Fig. 1. The EUCLIDIAN's surgery module is fully autonomous; all the motors are fitted with high-resolution optical encoders and precision gear boxes. The robot is controlled by an industrial computer, which is proven to be robust and reliable for working in harsh industrial environments and military applications. It has a special metallic casing for minimizing electromagnetic interferences.

Two Galil control cards, Model DMC- 1842; Galil Motion Control, Inc., Rocklin, CA, are used: One card to control the TRUS probe driver and gantry motions and the other card to control the needle driver and the seed pusher. A robust and stable proportional, integral and derivative (PID) controller has been developed for controlling the motorized surgical module. We have tuned the PID gains in such a manner so that the system's stability is maintained when the needle changes its states from merely position control in the air to both position and force control mode in the patient's body. The needle can be driven at a maximum velocity of approximately 100 mm/s; however, a lower velocity, 60 mm/s, setting is used as the default. A frame grabber, FlashBus, Integrated Technologies, Indianapolis, IN, is used for TRUS image capturing. Three force-torque sensors , Nano17, ATI Industrial Automation, Apex, NC and M13, Honeywell, Morristown, NJ, are used for needle insertion force monitoring and robot control feedback. Each of the motors is fitted with an optical encoder, MicroMo Electronics, Inc., Faulhaber Group, Clearwater, FL, which can provide final motion resolutions, considering gear ratios and screw leads, of 0.0007 mm for gantry xy translations, 0.004 mm for stylet and cannula motions, and 0.005 mm and 0.06° for TRUS probe translation and rotation, respectively.

### **2.1.2 Advanced control techniques**

In the previous studies, it was concluded that the proper selection of the translational and rotational velocities may reduce tissue deformation and target movements by reducing insertion force, (Buzurovic et al., 2008.a). Therefore, it can be concluded that the insertion force has a dominant influence on the needle insertion, seed deposition precision, and dosimetry distribution in brachytherapy procedure. In our initial work, (Buzurovic et al., 2008.b) we have investigated tracking problem for the same robotic system using neural network approach. The force prediction model was introduced as well. In this article we have introduced novel methods to control the brachytherapy robot with the lowest tissue deformation and highest seed precision delivery as the ultimate goals. In order to achieve the desired dynamic behavior of the robotic system, the control strategies that we implemented in the robotic system have a force prediction module. For the first one we have used an artificial neural network (ANN) and neural network predictive control (NNPC), (Buzurovic et al., 2010.a).

In the following part the use of a feedforward model predictive control (MPC) was described. The purpose of this approach is to control the reactive force which is responsible for tissue displacement. Also, as the second control task was to predict and compensate the impact of the measured and unmeasured disturbances rather than waiting until the effect

Robotic Systems for Radiation Therapy 91

where *M(q)* denotes the inertia matrix function and *G* is the vector function which describes coriolis, centrifugal and gravitational effects. *q* is a vector of the generalized coordinates and

is the torque vector. Influence of the external contact forces is described by factor *f*.

+ =+ , ( ) ( ( )) ( , , ) *M(q)q G(q q) T T τ J q D M q qq*

00 0 0 0 0

 λ

*Φ*

System (7) is linearized at the surrounding point where the needle is inserted into the

with singular matrix *E*∈ℜ*n*×*n*, and vector *d* which represents the unmeasured disturbances such as needle deflection, tissue deformation and displacement, *A*∈ℜ*n*×*n*, *B*∈ℜ*m*×*r*. *x* and *u* 

The system defined by (8) is known as a singular system, descriptor system, semi-state system, system of differential-algebraic equations or generalized state space system. They arise naturally in many physical applications, such as electrical networks, aircraft and robotic systems, neutral delay and large-scale systems, economics, optimization problem and constrained mechanics. The matrices of linearized system (8) are defined as

00 0

0 0 0 0 ( )| 0 | , 0 ( ) 0 ,

*<sup>I</sup> <sup>I</sup>*

τ

= ++ =+ +

*x Lx Bu d*

*s ss s s ff f f f*

<sup>∂</sup> = − <sup>=</sup> <sup>∂</sup>

Now it is possible to find subspaces *S* and *F*, as in (Buzurovic et al., 2010.a), having in mind that for state space *X* the system equation (8) can be represented as the direct sum of *S* and *F*, *X*= *S* ⊕ *F*. As a result of the matrix transformation **M** applied to system (8), the slow and

with *Ls* = **M***A*|*S*, *Lf* =**M***A*|*F*, *Bs*=*P***M***B*, *Bf*=*Q***M***B*, *ds*=*P***M***d* and *df*=*Q***M***d* for some linear transformations Q and P represented by matrices *Q* and *P*, respectively. For that case, the

 

*M q q J D q Gqq Mq I*

*T T*

After an appropriate transformation, equation (6) is transformed to its matrix form

0 () 0 0 0 (,) () 0 0 0 00 0 () 0 = + <sup>−</sup> <sup>−</sup> <sup>+</sup>

patient. The linearized mathematical model of the system is obtained, as follows

represent the system state-space vector and control vector, respectively, *x*∈ℜ*n*, *u*∈ℜ*r*.

λ

*p*

*Ex t Ax t Bu t d* () () () = ++ (8)

000

*L x x Bu d* (10)

 τ

(6)

τ

(7)

(9)

Combining equations (1)-(5) the mathematical model of the system is

*I qI q*

0

*DJ*

*q*

, ,

fast subsystems can be described by a mathematical formulation

*BI u d*

0 0

λ

0 0

= = =Δ

δτ


*T T T T*

*A G JD JD E Mq*

λ

τ

follows

appears at the output of the system on the other side. When the reactive force is minimized, tissue displacement decreases. The force prediction control was also used to minimize the effect of system time-delay. Because of the fact that this procedure required an accurate robot system model, it was necessary to obtain a more precise model. That is a reason for adopting the robotic system model as a singular system of differential equations.

Fig. 4 represents the contact surface where reactive force appears during surgery. A mathematical equation of contact surface is calculated using EUCLIDIAN robotic system software.

Fig. 4. a) 3D representation of the contact surface (prostate gland) during insertion. b) 5DOF surgical module. Absolute and local coordinate systems together with generalized coordinates *qi*

Assume that the contact surface is a scalar functionΦ*: Rm*→*R1*, Fig. 4a.

$$\mathbb{Q}(p) = 0 \tag{1}$$

The contact force vector is:

$$f = \mathbf{D}^T \text{(p)} \mathcal{X} \tag{2}$$

λ is a scalar multiplier for the constraint function and *D(p)* is the gradient of the constraint function, described as in (3),

$$D(p) = \frac{\partial \Phi(p)}{\partial p} \tag{3}$$

In the previous equation *p*∈ℜ3 is a position vector from the fixed reference frame to the constrained surface. Additional constraint is *p=*Φ*(q)* at the contact point. The matrix function *J(q)* is defined as the Jacobian matrix function.

$$J(q) = \frac{\partial \Phi(q)}{\partial q} \tag{4}$$

The influence of the contact force to the system can be described as

$$M(q)\ddot{q} + G(q, \dot{q}) = \mathbf{r} + \mathbf{J}^{\top}(q)f \tag{5}$$

90 Robotic Systems – Applications, Control and Programming

appears at the output of the system on the other side. When the reactive force is minimized, tissue displacement decreases. The force prediction control was also used to minimize the effect of system time-delay. Because of the fact that this procedure required an accurate robot system model, it was necessary to obtain a more precise model. That is a reason for

Fig. 4 represents the contact surface where reactive force appears during surgery. A mathematical equation of contact surface is calculated using EUCLIDIAN robotic system

Fig. 4. a) 3D representation of the contact surface (prostate gland) during insertion. b) 5DOF

Φ

λ

= *<sup>T</sup> f D (p)*

is a scalar multiplier for the constraint function and *D(p)* is the gradient of the constraint

( ) <sup>∂</sup> <sup>=</sup> <sup>∂</sup> *<sup>Φ</sup>(p) D p*

In the previous equation *p*∈ℜ3 is a position vector from the fixed reference frame to the

Φ

( ) <sup>∂</sup> <sup>=</sup> <sup>∂</sup> *(q) J q q* Φ

*p*

*: Rm*→*R1*, Fig. 4a.

*Φ(p)* = 0 (1)

(2)

*(q)* at the contact point. The matrix function

(4)

+ =+ , () *M(q)q G(q q) <sup>T</sup> τ J q f* (5)

(3)

surgical module. Absolute and local coordinate systems together with generalized

Assume that the contact surface is a scalar function

Φ**(***p***)=0** 

constrained surface. Additional constraint is *p=*

*J(q)* is defined as the Jacobian matrix function.

The influence of the contact force to the system can be described as

adopting the robotic system model as a singular system of differential equations.

software.

coordinates *qi*

λ

The contact force vector is:

function, described as in (3),

where *M(q)* denotes the inertia matrix function and *G* is the vector function which describes coriolis, centrifugal and gravitational effects. *q* is a vector of the generalized coordinates and τ is the torque vector. Influence of the external contact forces is described by factor *f*. Combining equations (1)-(5) the mathematical model of the system is

$$M(q)\ddot{q} + G(q, \dot{q}) = \tau + J^T(q)D^T(M(q))\mathcal{J}(q, \dot{q}, \tau) \tag{6}$$

After an appropriate transformation, equation (6) is transformed to its matrix form

$$
\begin{bmatrix} I & 0 & 0 \\ 0 & M(q) & 0 \\ 0 & 0 & 0 \end{bmatrix} \begin{bmatrix} \dot{q} \\ \ddot{q} \\ \dot{\mathcal{A}} \end{bmatrix} = \begin{bmatrix} 0 & I & 0 \\ 0 & 0 & J^T D^T \\ 0 & 0 & 0 \end{bmatrix} \begin{bmatrix} q \\ \dot{q} \\ \dot{\mathcal{A}} \end{bmatrix} + \begin{bmatrix} 0 & 0 \\ -G(q, \dot{q}) - M(q) \\ \Phi(p) \end{bmatrix} + \begin{bmatrix} 0 \\ I \\ 0 \end{bmatrix} \tag{7}
$$

System (7) is linearized at the surrounding point where the needle is inserted into the patient. The linearized mathematical model of the system is obtained, as follows

$$E\dot{\mathbf{x}}(t) = A\mathbf{x}(t) + Bu(t) + d\tag{8}$$

with singular matrix *E*∈ℜ*n*×*n*, and vector *d* which represents the unmeasured disturbances such as needle deflection, tissue deformation and displacement, *A*∈ℜ*n*×*n*, *B*∈ℜ*m*×*r*. *x* and *u*  represent the system state-space vector and control vector, respectively, *x*∈ℜ*n*, *u*∈ℜ*r*.

The system defined by (8) is known as a singular system, descriptor system, semi-state system, system of differential-algebraic equations or generalized state space system. They arise naturally in many physical applications, such as electrical networks, aircraft and robotic systems, neutral delay and large-scale systems, economics, optimization problem and constrained mechanics. The matrices of linearized system (8) are defined as follows

$$\begin{aligned} A &= \begin{bmatrix} 0 & I & 0 \\ \frac{\partial}{\partial q}(G - \int^T D^T \mathcal{A}) \, \vert\_0 & 0 & \int^T D^T \, \vert\_0 \\\ D f \vert\_0 & 0 & 0 \end{bmatrix}, & E &= \begin{bmatrix} I & 0 & 0 \\ 0 & M \{q\_0\} & 0 \\ 0 & 0 & 0 \end{bmatrix}, \\\ B &= \begin{bmatrix} 0 \\ I \\ 0 \end{bmatrix}, & u = \delta \boldsymbol{\sigma}, & d = \begin{bmatrix} 0 \\ \Delta \boldsymbol{\sigma} \\ 0 \end{bmatrix} \end{aligned} \tag{9}$$

Now it is possible to find subspaces *S* and *F*, as in (Buzurovic et al., 2010.a), having in mind that for state space *X* the system equation (8) can be represented as the direct sum of *S* and *F*, *X*= *S* ⊕ *F*. As a result of the matrix transformation **M** applied to system (8), the slow and fast subsystems can be described by a mathematical formulation

$$\begin{aligned} \dot{\mathbf{x}}\_s &= L\_s \mathbf{x}\_s + B\_s \boldsymbol{\mu} + d\_s \\ L\_f \dot{\mathbf{x}}\_f &= \mathbf{x}\_f + B\_f \boldsymbol{\mu} + d\_f \end{aligned} \tag{10}$$

with *Ls* = **M***A*|*S*, *Lf* =**M***A*|*F*, *Bs*=*P***M***B*, *Bf*=*Q***M***B*, *ds*=*P***M***d* and *df*=*Q***M***d* for some linear transformations Q and P represented by matrices *Q* and *P*, respectively. For that case, the

Robotic Systems for Radiation Therapy 93

insertion are minimized. These conclusions give us a reason to believe that tissue

Fig. 6. Controlled force with MPC (red) and insertion force with PID controller (blue)

Multi-channel system is capable of placing several needles or even all needles at a time and thereby, it can be faster in delivering the seeds required for the treatment. A multi-channel delivery system can effectively avoid the problem of gradual prostate swelling (i.e., edema) and deformation, which occurs while depositing the seeds by single needle. Since the prostate is not rigidly mounted, the prostate can move and rotate as well as deform quite unpredictably, at every time a needle is inserted. But, when several needles are inserted concurrently, the prostate will be uniformly pushed back symmetrically to a more stable position and the deformation can better be estimated for precise delivery of seeds. Thus, the multi-channel system can overcome some of the drawbacks that may be encountered by the single-channel robotic systems. In this part, we present our **M**ultichannel **I**mageguided **R**obotic **A**ssistant for **B**rachytherapy (MIRAB), which is designed and fabricated for prostate seed implantation. Currently, MIRAB can simultaneously rotate and insert 16 needles. The MIRAB is capable of inserting more needles concurrently, if needle rotation

The MIRAB system shown in Fig. 7 consisted of five modules: (1) Rotary Needle Adapter, (2) Surgical x-y Carrier, 3) Mounting and Driving Mechanism, (4) Seed Applicator, and (5)

Rotary Needle Adapter can hold 16 needles with rotational capability. However, additional needles can be installed without provision for rotation. Two direct current (DC) motors rotate the needle using a spur- gear train. It is known that provision of needle rotation reduces the insertion force as well as organ (or target) deflection and deformation. For guiding the extended needles (brachytherapy needles are about 200mm in length and 1.27mm or

1.47mm in diameter) a regular brachytherapy template is installed at the distal end.

**2.2 Multi-channel brachytherapy robotic system** 

Transrectal Ultrasound (TRUS) Driver, (Podder et al., 2010).

is excluded.

**2.2.1 System description** 

deformation can be decreased better than using the traditional PID control.

initial conditions are chosen to satisfy *x*0*<sup>s</sup>*=*P x*0 and *x*0*<sup>f</sup>*=*Q x*0. The solution of system (10) is *x*=*xs*+ *xf*

$$\mathbf{x}\_s = e^{L\_t t} \mathbf{x}\_{0s} + \int\_0^t e^{L\_s(t \cdot \tau)} B\_s \mathbf{u}(\tau) d\tau + \int\_0^t e^{L\_s(t \cdot \tau)} d(\tau) d\tau, \quad \mathbf{x}\_f = -\sum\_{i=0}^{v-1} L\_f^i B\_f u^i \tag{11}$$

Now it is possible to apply the MPC control, Fig. 5, and to investigate dynamical behavior of the system. Disturbance *d* is given to MPC and its effect is predicted and compensated before the effect appears at the system output.

Fig. 5. Insertion force control scheme for the slow subsystem

In (Mills, 1988) is shown that the impulsive behavior of the system can be avoided using appropriate initial conditions, defined by *x*0*<sup>s</sup>*=*P x*0 and *x*0*<sup>f</sup>*=*Q x*0. By using the described approach the fast subsystem will not induce impulsive behavior. Moreover, it can be concluded as stated previously and from equation (11) that there is little need to find fast feedback to eliminate the impulsive behavior. The necessary task was to find an appropriate feedback for the slow subsystem. The control scheme for the slow subsystem is represented in Fig. 5, as suggested in (Cobb, 1983).

Furthermore, when the MPC controller is applied, the main objective is to hold the insertion force at the predefined acceptable reference value, by adjusting the control signal from actuators in order to minimize the prostate displacement, i.e. the reactive force which acts upon the tissue. Using this approach it is possible to decrease the insertion force during insertion trajectory. The needle displacement is an unmeasured disturbance and the controller provides feedback compensation for such disturbances. For the insertion force the controller provides feedforward compensation. Various noise effects can corrupt the measurements. The noise could vary randomly with a zero mean, or could exhibit a nonzero, drifting bias. The MPC uses a filtering method for removing estimated noise component. At the beginning of each sampling instant, the controller estimates the current system state. Accurate knowledge of the state improves prediction accuracy which improves controller performances.

During the insertion passive force control becomes active and keeps passive insertion force close to the predefined minimal value. When the MPC control approach was implemented it is possible to decrease the insertion force, as it is shown in Fig. 6. Also, peaks during the 92 Robotic Systems – Applications, Control and Programming

initial conditions are chosen to satisfy *x*0*<sup>s</sup>*=*P x*0 and *x*0*<sup>f</sup>*=*Q x*0. The solution of system (10) is

ττ

Now it is possible to apply the MPC control, Fig. 5, and to investigate dynamical behavior of the system. Disturbance *d* is given to MPC and its effect is predicted and compensated

κ

In (Mills, 1988) is shown that the impulsive behavior of the system can be avoided using appropriate initial conditions, defined by *x*0*<sup>s</sup>*=*P x*0 and *x*0*<sup>f</sup>*=*Q x*0. By using the described approach the fast subsystem will not induce impulsive behavior. Moreover, it can be concluded as stated previously and from equation (11) that there is little need to find fast feedback to eliminate the impulsive behavior. The necessary task was to find an appropriate feedback for the slow subsystem. The control scheme for the slow subsystem is represented

Furthermore, when the MPC controller is applied, the main objective is to hold the insertion force at the predefined acceptable reference value, by adjusting the control signal from actuators in order to minimize the prostate displacement, i.e. the reactive force which acts upon the tissue. Using this approach it is possible to decrease the insertion force during insertion trajectory. The needle displacement is an unmeasured disturbance and the controller provides feedback compensation for such disturbances. For the insertion force the controller provides feedforward compensation. Various noise effects can corrupt the measurements. The noise could vary randomly with a zero mean, or could exhibit a nonzero, drifting bias. The MPC uses a filtering method for removing estimated noise component. At the beginning of each sampling instant, the controller estimates the current system state. Accurate knowledge of the state improves prediction accuracy which improves

During the insertion passive force control becomes active and keeps passive insertion force close to the predefined minimal value. When the MPC control approach was implemented it is possible to decrease the insertion force, as it is shown in Fig. 6. Also, peaks during the

η

+

(*p*)

τ

0 0 0 () () ,

 τ*B L*

 ττ

τ

0 τˆ

,, *fqq z* 

*f ref*

robot dynamic

=+ + = − *t t <sup>v</sup> <sup>i</sup> ss s f f*

*B L t s s L (t - ) L (t - ) <sup>s</sup> <sup>i</sup>*

*x ex e u d e d d x u*

0

φ(*p*)

+

d ynamic model

*C* 

Fig. 5. Insertion force control scheme for the slow subsystem

*y* 

before the effect appears at the system output.


*qq* ,, λ

+

in Fig. 5, as suggested in (Cobb, 1983).

controller performances.

*x* 

1

*<sup>f</sup>* (11)

λ

*D*

φ

− =

*i*

*x*=*xs*+ *xf*

<sup>000</sup> *qq* ,, λ insertion are minimized. These conclusions give us a reason to believe that tissue deformation can be decreased better than using the traditional PID control.

Fig. 6. Controlled force with MPC (red) and insertion force with PID controller (blue)

### **2.2 Multi-channel brachytherapy robotic system**

Multi-channel system is capable of placing several needles or even all needles at a time and thereby, it can be faster in delivering the seeds required for the treatment. A multi-channel delivery system can effectively avoid the problem of gradual prostate swelling (i.e., edema) and deformation, which occurs while depositing the seeds by single needle. Since the prostate is not rigidly mounted, the prostate can move and rotate as well as deform quite unpredictably, at every time a needle is inserted. But, when several needles are inserted concurrently, the prostate will be uniformly pushed back symmetrically to a more stable position and the deformation can better be estimated for precise delivery of seeds. Thus, the multi-channel system can overcome some of the drawbacks that may be encountered by the single-channel robotic systems. In this part, we present our **M**ultichannel **I**mageguided **R**obotic **A**ssistant for **B**rachytherapy (MIRAB), which is designed and fabricated for prostate seed implantation. Currently, MIRAB can simultaneously rotate and insert 16 needles. The MIRAB is capable of inserting more needles concurrently, if needle rotation is excluded.

### **2.2.1 System description**

The MIRAB system shown in Fig. 7 consisted of five modules: (1) Rotary Needle Adapter, (2) Surgical x-y Carrier, 3) Mounting and Driving Mechanism, (4) Seed Applicator, and (5) Transrectal Ultrasound (TRUS) Driver, (Podder et al., 2010).

Rotary Needle Adapter can hold 16 needles with rotational capability. However, additional needles can be installed without provision for rotation. Two direct current (DC) motors rotate the needle using a spur- gear train. It is known that provision of needle rotation reduces the insertion force as well as organ (or target) deflection and deformation. For guiding the extended needles (brachytherapy needles are about 200mm in length and 1.27mm or 1.47mm in diameter) a regular brachytherapy template is installed at the distal end.

Robotic Systems for Radiation Therapy 95

The experimental procedure, Fig. 8, is described in the following part. For cannula, we used 18ga x 20cm Stainless steel BARD needle and for stylet Rev. A4, 304 Stainless steel needle Vita Needle Company. Phantom was prepared from polyvinylchloride (PVC) plastic and PVC+ hardener in the ratio 80% to 20%, respectively, MF Manufacturing, TX. Force measurements were performed using single-axis force sensor, Model 13, Honeywell Sensotech, Columbus, OH, installed on proximal end of the cannula. Deposited seeds were rounded stainless steel dummy seeds, BARD. Position of the tip of the needle and consequently depth of the deposition into the phantom was measured using optical encoders FAULHABER MicroMo HEDM5500J series 5500, attached to the template stage and seed applicator motors. The MIRAB was evaluated for insertion speed of 5mm/s, 10mm/s, 20mm/s, 40mm/s, 60mm/s and 80mm/s and stylet speed in the range of 20-60 mm/s. For each insertion speed we recorded force for 1, 2, 4, 8 and 16 needles installed

Absolute seed placement error was 0.10mm (SD=0.11mm) in X and Y direction and 0.15mm (SD=0.12mm) in Z direction for plan with 16 needles and 64 seeds. Relative position error between seeds were 0.07mm (SD=0.05mm). It can be seen in Fig. 9.a that maximum insertion force for insertion speed of 40mm/s was in the case when 16 needles were inserted together. For that case, maximum force value was 43N. Fig. 9.b represents the insertion force for the insertion speed of 80mm/s. Maximum insertion force for 16 needles was 52N. It can be concluded that more needles were inserted in one insertion the force value was higher. But when 8 needles were inserted in the same time maximum insertion force did not change. For insertion speed of 40mm/s and 80mm/s the insertion force was around 35N. In Fig. 9.c and Fig. 9.d insertion force for whole range of the insertion speed were represented. In the former case 8 needles were inserted together while in the latter 16 needles were inserted. The insertion force for the latter case was about 7N higher due to bigger number of the inserted needles. However, it can be noticed that force does not significantly change in the

Fig. 8. MIRAB robotic system, experimental setup

together on the template stage.

Fig. 7. MIRAB robotic system

The needles can be simultaneously inserted using one of the DC motors on the Mounting and Driving Module. Surgical x-y Carrier is 3-DOF module carries the Seed Applicator which delivers seeds and withdraws needle. Two DC servo motors on the x-y carrier provide motions to the Seed Applicator in x- and y-direction, while another DC servo motor on the Mounting and Driving module provide motion in the z-direction, i.e. the depth. Mounting and Driving Mechanism is driven my two DC servo motors to impart translational motion (along z-direction) to the Needle Adapter and Surgical x-y Carrier. Seed Applicator is a module which is attached to the Surgical x-y Carrier. A DC servo motor is employed to expel the seed from the seed cartridge. Transrectal Ultrasound (TRUS) Driver is a module was originally developed for EUCLIDIAN system, Fig. 2). However, the MIRAB is designed in a way so that it can be installed on the EUCLIDIAN by taking the needling module away from the EUCLIDIAN away. This interchangeability is of MIRAB and EUCLIDIAN will be very convenient to switch from a single-channel system to a multichannel system. TRUS can image the prostate and the relevant anatomies in transverse as well as sagittal planes.

All the DC servo motors are fitted with high-resolution (up to about 0.0007mm) optical encoder, MicroMo Electronics, Inc., Faulhaber Group, Clearwater, FL. An industrial computer, Plans, San Diego, CA, is used for controlling the whole system. Two Galil control cards, Model DMC-1842; Galil Motion Control, Inc., Rocklin, CA, are used. All the desired motions are achieved by deploying a Proportional, Derivative and Integral (PID) controller.

### **2.2.2 Experimental results**

The purpose of the following experiments is to evaluate performances of multichannel robotic brachytherapy system designed for prostate seed implantation.

The developed multichannel robotic system is capable of inserting large number of needles concurrently and depositing seeds automatically.

94 Robotic Systems – Applications, Control and Programming

The needles can be simultaneously inserted using one of the DC motors on the Mounting and Driving Module. Surgical x-y Carrier is 3-DOF module carries the Seed Applicator which delivers seeds and withdraws needle. Two DC servo motors on the x-y carrier provide motions to the Seed Applicator in x- and y-direction, while another DC servo motor on the Mounting and Driving module provide motion in the z-direction, i.e. the depth. Mounting and Driving Mechanism is driven my two DC servo motors to impart translational motion (along z-direction) to the Needle Adapter and Surgical x-y Carrier. Seed Applicator is a module which is attached to the Surgical x-y Carrier. A DC servo motor is employed to expel the seed from the seed cartridge. Transrectal Ultrasound (TRUS) Driver is a module was originally developed for EUCLIDIAN system, Fig. 2). However, the MIRAB is designed in a way so that it can be installed on the EUCLIDIAN by taking the needling module away from the EUCLIDIAN away. This interchangeability is of MIRAB and EUCLIDIAN will be very convenient to switch from a single-channel system to a multichannel system. TRUS can image the prostate and the relevant anatomies in transverse

All the DC servo motors are fitted with high-resolution (up to about 0.0007mm) optical encoder, MicroMo Electronics, Inc., Faulhaber Group, Clearwater, FL. An industrial computer, Plans, San Diego, CA, is used for controlling the whole system. Two Galil control cards, Model DMC-1842; Galil Motion Control, Inc., Rocklin, CA, are used. All the desired motions are achieved by deploying a Proportional, Derivative and Integral (PID)

The purpose of the following experiments is to evaluate performances of multichannel

The developed multichannel robotic system is capable of inserting large number of needles

robotic brachytherapy system designed for prostate seed implantation.

concurrently and depositing seeds automatically.

Fig. 7. MIRAB robotic system

as well as sagittal planes.

**2.2.2 Experimental results** 

controller.

Fig. 8. MIRAB robotic system, experimental setup

The experimental procedure, Fig. 8, is described in the following part. For cannula, we used 18ga x 20cm Stainless steel BARD needle and for stylet Rev. A4, 304 Stainless steel needle Vita Needle Company. Phantom was prepared from polyvinylchloride (PVC) plastic and PVC+ hardener in the ratio 80% to 20%, respectively, MF Manufacturing, TX. Force measurements were performed using single-axis force sensor, Model 13, Honeywell Sensotech, Columbus, OH, installed on proximal end of the cannula. Deposited seeds were rounded stainless steel dummy seeds, BARD. Position of the tip of the needle and consequently depth of the deposition into the phantom was measured using optical encoders FAULHABER MicroMo HEDM5500J series 5500, attached to the template stage and seed applicator motors. The MIRAB was evaluated for insertion speed of 5mm/s, 10mm/s, 20mm/s, 40mm/s, 60mm/s and 80mm/s and stylet speed in the range of 20-60 mm/s. For each insertion speed we recorded force for 1, 2, 4, 8 and 16 needles installed together on the template stage.

Absolute seed placement error was 0.10mm (SD=0.11mm) in X and Y direction and 0.15mm (SD=0.12mm) in Z direction for plan with 16 needles and 64 seeds. Relative position error between seeds were 0.07mm (SD=0.05mm). It can be seen in Fig. 9.a that maximum insertion force for insertion speed of 40mm/s was in the case when 16 needles were inserted together. For that case, maximum force value was 43N. Fig. 9.b represents the insertion force for the insertion speed of 80mm/s. Maximum insertion force for 16 needles was 52N. It can be concluded that more needles were inserted in one insertion the force value was higher. But when 8 needles were inserted in the same time maximum insertion force did not change. For insertion speed of 40mm/s and 80mm/s the insertion force was around 35N. In Fig. 9.c and Fig. 9.d insertion force for whole range of the insertion speed were represented. In the former case 8 needles were inserted together while in the latter 16 needles were inserted. The insertion force for the latter case was about 7N higher due to bigger number of the inserted needles. However, it can be noticed that force does not significantly change in the

Robotic Systems for Radiation Therapy 97

Respiratory and cardiac motions induce displacement and deformation of the tumorvolumes in various internal organs. To accommodate this undesired movement and other errors, physicians incorporate a large margin around the tumor to delineate the Planning Target Volume (PTV), so that the Clinical Target Volume (CTV) receives the prescribed radiation dose under any scenario. Consequently, a large volume of healthy tissue is irradiated and sometimes it is difficult to spare critical organs adjacent to the tumor,

In this section we described a novel approach to the 4D Active Tracking and Dynamic Delivery (ATDD) incorporating tumor motion prediction technique. The proposed algorithm can predict the tumor position and the robotic systems are able to continuously track the tumor during radiation dose delivery. Therefore a precise dose is given to a moving target while the dose to nearby critical organs is reduced to improve patient treatment outcome. The efficacy of the proposed method has been investigated by extensive

Recently, several research groups are investigating various aspects of tumor tracking and developing tools to deliver precise dose to moving target-volumes, (Ozhasoglu & Murphy, 2001), (Keall et al., 2006.a), (Benchetrit, 2000), (Vedam et al., 2004), (Sharp et al., 2004), (Schweikard et al., 2000), (Kamino et al., 2006), (D'Souza & McAvoy, 2006), (Keall et al., 2006.b), (D'Souza et al., 2005), (Chung et al., 2006), (Podder et al., 2007, 2008), (Buzurovic et al., 2010.d, 2011.a). Generally, commonly practiced methods for compensating target/tumor motion can be structured as: (*i*) breath-hold techniques, (*ii*) gating techniques, and (*iii*) ATDD. The ATDD is the most effective technique, but it is the most challenging one. The ATDD can be accomplished in three different ways: (1) using the multi-leaf collimator (MLC), (2) using the treatment couch, and (3) using the MLC and the couch simultaneously.

For instance, MLC gating technique using internal fiducials requires kilovoltage x-ray which delivers unwanted radiation dose to the patient, and additionally gating suffers from severely low duty-cycle (only 30%-50%) and intensity modulated radiation therapy (IMRT) efficiency (only 20%-50%); all these lead to a 4- to 15-fold increase in delivery time over conventional treatment, (Keall et al., 2006.a). Therefore, it is of tremendous clinical interest, if the radiation beam can be delivered with higher duty-cycle (or almost continuously) while compensating for the target movement without exposing the patient to kilovoltage x-ray.

In the following part we present developed dynamic equations of motion HexaPOD robotic couch. We applied the similar approach to one standard 3DOF robotic couch for radiation treatment (Buzurovic et al., 2010.d). In addition, we presented the control approach and prediction module which is capable of compensating time delay of the

For system dynamics, we used energy based Lagrangian formulation. The Lagrangian

L = Kinetic energy (K) – Potential energy (P) (12)

**3. Robotic systems for real-time tumor tracking** 

computer simulation, (Buzurovic et al., 2010.d, 2011.a).

However, each of them has its own unique limitations.

Robotic systems can help in a great deal solving this problem.

function of dynamic systems can be expressed as:

Thus, the general form of dynamic equations is

(Buzurovic et al., 2010.b,c).

mechanical system.

range of insertion speed higher that 40mm/s (60mm/s or 80mm/s). The conclusion based on this fact is that insertion speed can be divided into two regions with different insertion parameters.

It can be concluded that the average maximum insertion force was less then 45N for moderate speed range (insertion speed 40mm/s and stylet speed 30mm/s, 16 needles in the stage) and 52N for high speed range (insertion speed greater then 40mm/s and stylet speed 50mm/s, 16 needles in the stage). Insertion time per seed was 5-8 seconds. Plan delivery time for high speed range was 8min and 12min for moderate speed range.

The summary of conclusion is as follows. It was observed that more needles were inserted together force value was higher. However, when 8 and 16 needles were inserted in the same time maximum insertion force did not change. Furthermore, force did not change significantly in the range of insertion speed higher than 40mm/s. Consequently, insertion speed range can be divided into two regions with different insertion parameters. Preliminary results reveal that MIRAB is efficacious for delivering seed accurately. MIRAB can potentially be used for image-guided robotic brachytherapy.

Fig. 9. a) Insertion force for different number of needles installed on the template stage, for insertion speed of 40mm/s. b) Insertion force for different number of needles installed on the template stage, for insertion speed of 80mm/s. c) Insertion force for different insertion speed;8 needles inserted in the same time. d) Insertion force for different insertion speed; 16 needles inserted in the same time

96 Robotic Systems – Applications, Control and Programming

range of insertion speed higher that 40mm/s (60mm/s or 80mm/s). The conclusion based on this fact is that insertion speed can be divided into two regions with different insertion

It can be concluded that the average maximum insertion force was less then 45N for moderate speed range (insertion speed 40mm/s and stylet speed 30mm/s, 16 needles in the stage) and 52N for high speed range (insertion speed greater then 40mm/s and stylet speed 50mm/s, 16 needles in the stage). Insertion time per seed was 5-8 seconds. Plan delivery

The summary of conclusion is as follows. It was observed that more needles were inserted together force value was higher. However, when 8 and 16 needles were inserted in the same time maximum insertion force did not change. Furthermore, force did not change significantly in the range of insertion speed higher than 40mm/s. Consequently, insertion speed range can be divided into two regions with different insertion parameters. Preliminary results reveal that MIRAB is efficacious for delivering seed accurately. MIRAB

**Insertion force for insertion speed of 80mm/s**

**Insertion force for 16 needles**

1 needle 2 needles 4 needles 8 needles 16 needles

> 5mm/s 10mm/s 20mm/s 40mm/s 60mm/s 80mm/s

1 needle 2 needles 4 needles 8 needles 16 needles

> 5mm/s 10mm/s 20mm/s 40mm/s 60mm/s 80mm/s

Fig. 9. a) Insertion force for different number of needles installed on the template stage, for insertion speed of 40mm/s. b) Insertion force for different number of needles installed on the template stage, for insertion speed of 80mm/s. c) Insertion force for different insertion speed;8 needles inserted in the same time. d) Insertion force for different insertion speed; 16

**Force [N]**

**Force [N]**

time for high speed range was 8min and 12min for moderate speed range.

can potentially be used for image-guided robotic brachytherapy.

**Insertion force for insertion speed of 40mm/s**

**Insertion force for 8 needles**

parameters.

needles inserted in the same time

**Force [N]**

**Force [N]**

## **3. Robotic systems for real-time tumor tracking**

Respiratory and cardiac motions induce displacement and deformation of the tumorvolumes in various internal organs. To accommodate this undesired movement and other errors, physicians incorporate a large margin around the tumor to delineate the Planning Target Volume (PTV), so that the Clinical Target Volume (CTV) receives the prescribed radiation dose under any scenario. Consequently, a large volume of healthy tissue is irradiated and sometimes it is difficult to spare critical organs adjacent to the tumor, (Buzurovic et al., 2010.b,c).

In this section we described a novel approach to the 4D Active Tracking and Dynamic Delivery (ATDD) incorporating tumor motion prediction technique. The proposed algorithm can predict the tumor position and the robotic systems are able to continuously track the tumor during radiation dose delivery. Therefore a precise dose is given to a moving target while the dose to nearby critical organs is reduced to improve patient treatment outcome. The efficacy of the proposed method has been investigated by extensive computer simulation, (Buzurovic et al., 2010.d, 2011.a).

Recently, several research groups are investigating various aspects of tumor tracking and developing tools to deliver precise dose to moving target-volumes, (Ozhasoglu & Murphy, 2001), (Keall et al., 2006.a), (Benchetrit, 2000), (Vedam et al., 2004), (Sharp et al., 2004), (Schweikard et al., 2000), (Kamino et al., 2006), (D'Souza & McAvoy, 2006), (Keall et al., 2006.b), (D'Souza et al., 2005), (Chung et al., 2006), (Podder et al., 2007, 2008), (Buzurovic et al., 2010.d, 2011.a). Generally, commonly practiced methods for compensating target/tumor motion can be structured as: (*i*) breath-hold techniques, (*ii*) gating techniques, and (*iii*) ATDD. The ATDD is the most effective technique, but it is the most challenging one. The ATDD can be accomplished in three different ways: (1) using the multi-leaf collimator (MLC), (2) using the treatment couch, and (3) using the MLC and the couch simultaneously. However, each of them has its own unique limitations.

For instance, MLC gating technique using internal fiducials requires kilovoltage x-ray which delivers unwanted radiation dose to the patient, and additionally gating suffers from severely low duty-cycle (only 30%-50%) and intensity modulated radiation therapy (IMRT) efficiency (only 20%-50%); all these lead to a 4- to 15-fold increase in delivery time over conventional treatment, (Keall et al., 2006.a). Therefore, it is of tremendous clinical interest, if the radiation beam can be delivered with higher duty-cycle (or almost continuously) while compensating for the target movement without exposing the patient to kilovoltage x-ray. Robotic systems can help in a great deal solving this problem.

In the following part we present developed dynamic equations of motion HexaPOD robotic couch. We applied the similar approach to one standard 3DOF robotic couch for radiation treatment (Buzurovic et al., 2010.d). In addition, we presented the control approach and prediction module which is capable of compensating time delay of the mechanical system.

For system dynamics, we used energy based Lagrangian formulation. The Lagrangian function of dynamic systems can be expressed as:

$$\mathbf{L} = \text{Kinetic energy (K)} - \text{Potential energy (P)}\tag{12}$$

Thus, the general form of dynamic equations is

Robotic Systems for Radiation Therapy 99

where *C*(.) =cos(.), and *S*(.) = sin(.). This definition of the orientation not only provides us with a clear physical meaning but also avoids violating the one-to-one relationship between the system configuration and the values of *Xp-0*, which may cause the Jacobian matrix to lose its rank, even if the system is not in a singular configuration. Thus, the position and orientation of the upper platform is specified by the Cartesian coordinate system

where, ),,,,,( <sup>654321</sup> *td* = *ffffffF* is the vector of forces applied by the actuators of the legs, *J* is the full system Jacobian matrix. For convenience, we divide the HexaPOD robotic couch into two subsystems: the upper platform (TOP) and the six legs, Fig. 10. We compute the kinetic energy and potential energy of these subsystems and then derive the global dynamic

is a expression for kinetic energy of the upper platform. Potential energy of the upper

<sup>1</sup> ( )[ ( )( ) ] <sup>2</sup> =+ − *<sup>i</sup> jj j <sup>j</sup>*

where, *Li* is the length of the leg at the current configuration, (*m*1+*m*2)is the mass of the leg,

1 2

=+ + + + <sup>+</sup> *Legs Z Ti i i i <sup>m</sup> P mm <sup>g</sup> <sup>l</sup> <sup>p</sup> <sup>Z</sup>*

of the platform. Substituting the expression from equation (15)-(20) into equations (12), and (13), we can obtain the dynamic equations for the HexaPOD (leg plus top platform).

,

1 2 21 1 2 11 2 <sup>ˆ</sup> ( ) ( )

*m m*

= −

1

*m ml*

<sup>ˆ</sup> <sup>2</sup> <sup>−</sup> <sup>=</sup> <sup>+</sup>

δ

*T TT K m m hV V kV u u V <sup>L</sup> iT T iT i i T* (18)

1 2

2

*Lmm* , 1 22

*l*

3

2 1 2

1 2

<sup>−</sup>*op up* += *MMXM Legs* )( , *opopm mup mLegs*

γαβ

 <sup>ˆ</sup> = + <sup>+</sup> *<sup>i</sup> i l m <sup>h</sup>*

where, ( ) = [0 0 1][ ( ) ( ) ( ) ] *<sup>j</sup> TTT Z RR RG <sup>T</sup> ZX Y Tj mf*

Recalling equation (15), more precisely it can be written,

*<sup>T</sup>* −− + −−− *opopopmopop* + <sup>−</sup>*op* = <sup>−</sup> )()(),()( *FXJXGXXXVXXM* (15)

222 ( ) () () () 1 1 ( ) 2 2 = + = + + +Ω Ω *<sup>T</sup> K K K mp p p I up up trans up rot u X Y Z up mf up mf* (16)

*tdop*

*P m up* = *u Z g p* (17)

2

(19)

2 1 2

*L L mm* (20)

; *GTj*( ) *mf* is obtained from the geometry

*m m*

 = − <sup>+</sup> *i i <sup>m</sup> k h*

2

−− ),( += *VVXXV* <sup>−</sup>*op up* += *GGXG Legs* )( (21)

Now, the dynamic equations in Cartesian-space (or task-space) are expressed as:

as *<sup>T</sup> ZYxop pppX* ],,,,[ , <sup>−</sup> =

equations.

platform:

Kinetic energy of the legs:

*V*Tj is the velocity of the leg, and :

Potential energy of the legs:

γβα.

$$\frac{d}{dt}\left(\frac{\partial L}{\partial \dot{q}}\right) - \frac{\partial L}{\partial q} = \mathbf{r} \tag{13}$$

where, *q*∈*Rn* is the vector of generalized coordinates, and τ is the generalized force (or torque) applied to the system through the actuators.

The dynamical behavior of a 6DOF robotic couch, has been investigated. Proposed approach is explained below.

### **3.1 Parallel robotic platform**

The HexaPOD is a special type of Stewart Platform, i.e., a parallel robotic manipulator. The parallel robotic mechanism consists of a rigid body top plate, or mobile plate, connected to a fixed base plate and is defined by at least three stationary points on the grounded base connected to six independent kinematic legs. Typically, the six legs are connected to both the base plate and the top plate by universal joints in parallel located at both ends of each leg. The legs are designed with an upper body and lower body that can be adjusted, allowing each leg to be varied in length as in Fig. 10.

Fig. 10. HexaPOD robotic couch, a) External isometric view with moving coordinate system, b) External schematic view with fixed coordinate system, c) Schematic of the leg

In this study, we have used the following notations for modeling the HexaPOD, i.e. the Stewart platform. Referring figure 2 we have assigned an inertial frame (X,Y,Z) at the center O of the lower platform, i.e. the BASE, and assigned another moving coordinate system (x,y,z) at the center of the top platform, i.e. the TOP. The BASE frame is assigned and called as fixed frame and the TOP frame is moving and is called as moving frame.

To specify the configuration of the 6DOF Stewart Platform, six independent positionorientation variables are needed. Denote the position of the origin of the TOP frame with respect to the BASE frame[ ]*<sup>T</sup> x y <sup>z</sup> ppp* . The orientation is not defined by the standard Euler angles, but by rotating the TOP frame first about the fixed X-axis by α, then about fixed Y-axis by β and finally about Z-axis by γ. We denote *RX*(α), *RY*(β) and *RZ*(γ) as the three matrices that represent three basic rotations as follows:

$$R\_X(\alpha), \mathbf{\bar{s}} \begin{bmatrix} 1 & 0 & 0 \\ 0 & C\alpha & -S\alpha \\ 0 & S\alpha & C\alpha \end{bmatrix}, R\_Y(\beta), \mathbf{\bar{s}} \begin{bmatrix} C\beta & 0 & S\beta \\ 0 & 1 & 0 \\ -S\beta & 0 & C\beta \end{bmatrix}, R\_Z(\gamma), \mathbf{\bar{s}} \begin{bmatrix} C\gamma & -S\gamma & 0 \\ S\gamma & C\alpha & 0 \\ 0 & 0 & 1 \end{bmatrix} \tag{14}$$

98 Robotic Systems – Applications, Control and Programming

 ∂ ∂

The dynamical behavior of a 6DOF robotic couch, has been investigated. Proposed approach

The HexaPOD is a special type of Stewart Platform, i.e., a parallel robotic manipulator. The parallel robotic mechanism consists of a rigid body top plate, or mobile plate, connected to a fixed base plate and is defined by at least three stationary points on the grounded base connected to six independent kinematic legs. Typically, the six legs are connected to both the base plate and the top plate by universal joints in parallel located at both ends of each leg. The legs are designed with an upper body and lower body that can be adjusted,

Fig. 10. HexaPOD robotic couch, a) External isometric view with moving coordinate system,

In this study, we have used the following notations for modeling the HexaPOD, i.e. the Stewart platform. Referring figure 2 we have assigned an inertial frame (X,Y,Z) at the center O of the lower platform, i.e. the BASE, and assigned another moving coordinate system (x,y,z) at the center of the top platform, i.e. the TOP. The BASE frame is assigned and called

To specify the configuration of the 6DOF Stewart Platform, six independent positionorientation variables are needed. Denote the position of the origin of the TOP frame with

γ

 

− =

. We denote *RX*(

 

ββ

*CS*

0 010 0 ),( ,

ββ

*SC*

*x y <sup>z</sup> ppp* . The orientation is not defined by the standard

α), *RY*(β

> 

 *CS SC*

=

),(

γ

−

α

γ

 

0 0 ) and *RZ*(

100

*RZ* (14)

αγ

γγ

, then about

) as the three

b) External schematic view with fixed coordinate system, c) Schematic of the leg

as fixed frame and the TOP frame is moving and is called as moving frame.

Euler angles, but by rotating the TOP frame first about the fixed X-axis by

β

*RY*

and finally about Z-axis by

 

matrices that represent three basic rotations as follows:

αα

*CS*

001 ),( ,

αα

*dt d*

where, *q*∈*Rn* is the vector of generalized coordinates, and

torque) applied to the system through the actuators.

allowing each leg to be varied in length as in Fig. 10.

respect to the BASE frame[ ]*<sup>T</sup>*

 

*RX SC* 0 0

= −

β

α

fixed Y-axis by

is explained below.

**3.1 Parallel robotic platform** 

*q L*

= τ

τ

(13)

is the generalized force (or

∂ ∂ − 

*q L* where *C*(.) =cos(.), and *S*(.) = sin(.). This definition of the orientation not only provides us with a clear physical meaning but also avoids violating the one-to-one relationship between the system configuration and the values of *Xp-0*, which may cause the Jacobian matrix to lose its rank, even if the system is not in a singular configuration. Thus, the position and orientation of the upper platform is specified by the Cartesian coordinate system as *<sup>T</sup> ZYxop pppX* ],,,,[ , <sup>−</sup> = γβα.

Now, the dynamic equations in Cartesian-space (or task-space) are expressed as:

$$M(X\_{p-o})\ddot{X}\_{p-o} + V\_m(X\_{p-o}, \dot{X}\_{p-o})\dot{X}\_{p-o} + G(X\_{p-o}) = J^\top(X\_{p-o})F\_{\text{ul}}\tag{15}$$

where, ),,,,,( <sup>654321</sup> *td* = *ffffffF* is the vector of forces applied by the actuators of the legs, *J* is the full system Jacobian matrix. For convenience, we divide the HexaPOD robotic couch into two subsystems: the upper platform (TOP) and the six legs, Fig. 10. We compute the kinetic energy and potential energy of these subsystems and then derive the global dynamic equations.

$$K\_{up} = K\_{up\{trans\}} + K\_{up\{rot\}} = \frac{1}{2} m\_u (\dot{p}\_X^2 + \dot{p}\_Y^2 + \dot{p}\_Z^2) + \frac{1}{2} \Omega\_{up\{mf\}}^T I \Omega\_{up\{mf\}} \tag{16}$$

is a expression for kinetic energy of the upper platform. Potential energy of the upper platform:

$$P\_{\text{up}} = m\_u \text{g } p\_Z \tag{17}$$

Kinetic energy of the legs:

$$K\_{l\_i} = \frac{1}{2} (m\_1 + m\_2) [h\_i V\_{T\_j}^T V\_{T\_j} - k\_i V\_{T\_j}^T (\mu\_i) (\mu\_i)^T V\_{T\_j}] \tag{18}$$

where, *Li* is the length of the leg at the current configuration, (*m*1+*m*2)is the mass of the leg, *V*Tj is the velocity of the leg, and :

$$h\_i = \left(\frac{\hat{l}}{L\_i} + \frac{m\_2}{m\_1 + m\_2}\right)^2, \hat{l} = \frac{\delta m\_1 - \frac{1}{2}m\_2l\_2}{m\_1 + m\_2}, k\_i = h\_i - \left(\frac{m\_2}{m\_1 + m\_2}\right)^2\tag{19}$$

Potential energy of the legs:

$$P\_{L\text{sys}} = (m\_1 + m\_2)\lg\sum\_{i=1}^{3} \left[\hat{l}\left[\frac{1}{L\_{2i}} + \frac{1}{L\_{2i-1}}\right] + \frac{2m\_2}{m\_1 + m\_2}\right](p\_Z + Z\_{T\_i})\tag{20}$$

where, ( ) = [0 0 1][ ( ) ( ) ( ) ] *<sup>j</sup> TTT Z RR RG <sup>T</sup> ZX Y Tj mf* γαβ ; *GTj*( ) *mf* is obtained from the geometry of the platform. Substituting the expression from equation (15)-(20) into equations (12), and (13), we can obtain the dynamic equations for the HexaPOD (leg plus top platform). Recalling equation (15), more precisely it can be written,

$$M(X\_{p-o}) = M\_{up} + M\_{Loy} \cdot V\_m(X\_{p-o}, \dot{X}\_{p-o}) = V\_{m\_{up}} + V\_{m\_{Loy}} \cdot G(X\_{p-o}) = G\_{up} + G\_{Loy} \tag{21}$$

Robotic Systems for Radiation Therapy 101

gain matrix and *KP* is the proportional gain matrix. For HexaPOD <sup>123456</sup> = ( ) *K diag k k k k k k V vvvvvv* and 1 23 4 56 = ( ) *K dia P p pp p pp g kkk k kk* . If the estimates of the model parameters are close approximation of the actual system's parameter, from equations

Now, denoting the position, velocity, and acceleration errors as = − *X X <sup>d</sup>*

where, *M*ˆ and ˆ

= − *X X <sup>d</sup>* ε

becomes,

purposes.

algorithm.

**3.2.2 Prediction module** 

summarized as follows:

ξ

(22) and (23) it can be written,

, we can rewrite equation (24) as

errors as well as reduction of steady-state errors.

predicted value *Xd*. The system output *X*

[*w*(*n*), *w*(*n*-1),…, *w*(*n*-t+1)] T. Predicted value is

ˆ ˆ *MX K X X K X X* [ ( ) ( )] *d Vd Pd* + − + − + =ℑ

 ++= 0 *K K V P* εεε

+++ = <sup>0</sup>

*K K K dt VPI*

0

 ε

*t*

Equation (25) guarantees asymptotic reduction of the tumor tracking errors or at least keeps error in the acceptable margins. However, to reduce any steady-state errors, an integral control part was also incorporated into equation (26). Thus the final control equation

εεε

where, *KI* is the integral gain. Thus, equation (26) ensures asymptotic decay of the transient

Prediction module PM is developed to predict tumor motion and to compensate errors due to delay in the system response. Prediction module algorithm uses *Xmot* to calculate

Normalized Least Mean Square (nLMS) algorithm is adapted for the dynamic system to predict the position in three dimensions. System delay *td* is a parameter in the developed

The nLMS algorithm belongs to the family of Least Mean Square LMS algorithms. The LMS algorithm is an adaptive algorithm presented by Widrow and Hoff as in (Widrow & Walach, 1994) and (Chen, 1993). The LMS algorithm use iterative procedures to make successive corrections to the weight vector towards the negative direction of the gradient vector. As a result minimal mean square error will be minimized. The LMS algorithm can be

Input vector is *X*(*n*) = [*x*(*n*), x(*n*-1),…, x(*n*-*t*+1)]T, where *n* is the current algorithm iteration and *t* is the tap number. Desired vector is *D*(*n*) = [*d*(*n*), *d*(*n*-1),…, *d*(*n*-*t*+1)]T. Consequently, predicted vector is *Y*(*n*) = [*y*(*n*), *y*(*n*-1),…, *y*(*n*-*t*+1)] T. Error vector is *E*(*n*) = [*e*(*n*), *e*(*n*-1),…, *e*(*n*-*t*+1)]T. Filter vector *W*(*n*) is used to calculate predicted value *y*(*n*). It is of the form *W*(*n*) =

ξη

are the estimates of the system's model parameters, *KV* is the derivative

ξ

=+ −+ − ( )( ) *X X KX X KX X d Vd Pd* (24)

ε

(25)

, (26)

*<sup>s</sup>* is used for accuracy checking and fine tuning

, (23)

 , = − *X X <sup>d</sup>* ε

,

The dynamic equations of motion for HexaPOD robotic couch have been discussed above. These equations are essential in developing our proposed dynamics-based coordinated control system. In the following part it can be seen that the speeds for tracking are slow. However, it was necessary to use dynamical model approach to fulfill strong requirements regarding the tracking accuracy. Since the tracking is impaired with a real-time radiation delivery, it was of the significant importance to have accurate model and to decrease possibilities for inaccurate radiation delivery during tracking.

## **3.2 Control and prediction**

To track the tumor trajectory for optimal dose delivery to the CTV while sparing normal tissue, we propose PID control for HexaPOD parallel robotic platform. The basic goal of the controller was to specify the desired trajectory of the couch for all tumor positions. Block diagram of the decentralized coordinated dynamics-based closed-loop control strategy for HexaPOD robotic couch using prediction module PM, controller C and robotic couch T, is presented in Fig.11.

Fig. 11. Control schema for parallel robotic platform

By taking this approach it is possible to compare the dynamical behavior of the one of the most suitable system for 4D tracking. In the proposed approach, the trajectories of the tumor motion in the x, y and z directions were obtained from the 4D Computer Tomography (CT) data of real patients. These task-space trajectories were used to generate joint-space motion trajectories for the robotic systems.

Referring Fig. 11, we have denoted the following parameters: *Xmot* is raw data of the tumor motion. *Xmot* is the input into the prediction module (PM). Output of the PM is predicted value of the tumor motion *Xd*. Dynamic-based controller is denoted by C. Robotic couch is denoted by T. Input to the T module are desired forces values and output is the motion of the robotic table , denoted by *X*ξη*<sup>s</sup>*, which compensate tumor motion.

## **3.2.1 Dynamic-based controller**

To implement the proposed algorithms, we have used a PID control scheme. Dropping the subscripts, we can rewrite equation (21) as

$$M(X)\ddot{X} + \xi(X,\dot{X}) = \mathfrak{D} \, , \tag{22}$$

where, (,) (,) () = + *XX VXXX GX* ξ , and ( ) ℑ = <sup>−</sup> *T <sup>p</sup> o td JX F* . Now, the computed torque can be written as follows:

100 Robotic Systems – Applications, Control and Programming

The dynamic equations of motion for HexaPOD robotic couch have been discussed above. These equations are essential in developing our proposed dynamics-based coordinated control system. In the following part it can be seen that the speeds for tracking are slow. However, it was necessary to use dynamical model approach to fulfill strong requirements regarding the tracking accuracy. Since the tracking is impaired with a real-time radiation delivery, it was of the significant importance to have accurate model and to decrease

To track the tumor trajectory for optimal dose delivery to the CTV while sparing normal tissue, we propose PID control for HexaPOD parallel robotic platform. The basic goal of the controller was to specify the desired trajectory of the couch for all tumor positions. Block diagram of the decentralized coordinated dynamics-based closed-loop control strategy for HexaPOD robotic couch using prediction module PM, controller C and robotic couch T, is

By taking this approach it is possible to compare the dynamical behavior of the one of the most suitable system for 4D tracking. In the proposed approach, the trajectories of the tumor motion in the x, y and z directions were obtained from the 4D Computer Tomography (CT) data of real patients. These task-space trajectories were used to generate

Referring Fig. 11, we have denoted the following parameters: *Xmot* is raw data of the tumor motion. *Xmot* is the input into the prediction module (PM). Output of the PM is predicted value of the tumor motion *Xd*. Dynamic-based controller is denoted by C. Robotic couch is denoted by T. Input to the T module are desired forces values and output is the motion of

To implement the proposed algorithms, we have used a PID control scheme. Dropping the

*T*

*MXX XX* () (,) + =ℑ ξ

*<sup>s</sup>*, which compensate tumor motion.

*X*

τξη*s*

ξη*s*

, (22)

*<sup>p</sup> o td JX F* . Now, the computed torque can be

**PM C T \_**

ε

possibilities for inaccurate radiation delivery during tracking.

**3.2 Control and prediction** 

*Xmot X<sup>d</sup>*

the robotic table , denoted by *X*

**3.2.1 Dynamic-based controller** 

where, (,) (,) () = + *XX VXXX GX*

ξ

written as follows:

subscripts, we can rewrite equation (21) as

Fig. 11. Control schema for parallel robotic platform

joint-space motion trajectories for the robotic systems.

ξη

, and ( ) ℑ = <sup>−</sup>

presented in Fig.11.

$$
\hat{M}[\ddot{X}\_d + K\_\vee(\dot{X}\_d - \dot{X}) + K\_p(X\_d - X)] + \hat{\xi} = \mathfrak{D} \tag{23}
$$

where, *M*ˆ and ˆ ξ are the estimates of the system's model parameters, *KV* is the derivative gain matrix and *KP* is the proportional gain matrix. For HexaPOD <sup>123456</sup> = ( ) *K diag k k k k k k V vvvvvv* and 1 23 4 56 = ( ) *K dia P p pp p pp g kkk k kk* . If the estimates of the model parameters are close approximation of the actual system's parameter, from equations (22) and (23) it can be written,

$$
\ddot{X} = \ddot{X}\_d + K\_V(\dot{X}\_d - \dot{X}) + K\_P(X\_d - X) \tag{24}
$$

Now, denoting the position, velocity, and acceleration errors as = − *X X <sup>d</sup>* ε , = − *X X <sup>d</sup>* ε , = − *X X <sup>d</sup>* ε, we can rewrite equation (24) as

$$
\ddot{\mathcal{E}} + \mathcal{K}\_V \dot{\mathcal{E}} + \mathcal{K}\_P \mathcal{E} = 0 \tag{25}
$$

Equation (25) guarantees asymptotic reduction of the tumor tracking errors or at least keeps error in the acceptable margins. However, to reduce any steady-state errors, an integral control part was also incorporated into equation (26). Thus the final control equation becomes,

$$
\dot{\mathcal{E}} + \mathcal{K}\_V \,\dot{\mathcal{E}} + \mathcal{K}\_P \,\mathcal{E} + \mathcal{K}\_l \int\_0^t \mathcal{E} \,dt = 0 \,\prime \,. \tag{26}
$$

where, *KI* is the integral gain. Thus, equation (26) ensures asymptotic decay of the transient errors as well as reduction of steady-state errors.

### **3.2.2 Prediction module**

Prediction module PM is developed to predict tumor motion and to compensate errors due to delay in the system response. Prediction module algorithm uses *Xmot* to calculate predicted value *Xd*. The system output *X*ξη*<sup>s</sup>* is used for accuracy checking and fine tuning purposes.

Normalized Least Mean Square (nLMS) algorithm is adapted for the dynamic system to predict the position in three dimensions. System delay *td* is a parameter in the developed algorithm.

The nLMS algorithm belongs to the family of Least Mean Square LMS algorithms. The LMS algorithm is an adaptive algorithm presented by Widrow and Hoff as in (Widrow & Walach, 1994) and (Chen, 1993). The LMS algorithm use iterative procedures to make successive corrections to the weight vector towards the negative direction of the gradient vector. As a result minimal mean square error will be minimized. The LMS algorithm can be summarized as follows:

Input vector is *X*(*n*) = [*x*(*n*), x(*n*-1),…, x(*n*-*t*+1)]T, where *n* is the current algorithm iteration and *t* is the tap number. Desired vector is *D*(*n*) = [*d*(*n*), *d*(*n*-1),…, *d*(*n*-*t*+1)]T. Consequently, predicted vector is *Y*(*n*) = [*y*(*n*), *y*(*n*-1),…, *y*(*n*-*t*+1)] T. Error vector is *E*(*n*) = [*e*(*n*), *e*(*n*-1),…, *e*(*n*-*t*+1)]T. Filter vector *W*(*n*) is used to calculate predicted value *y*(*n*). It is of the form *W*(*n*) = [*w*(*n*), *w*(*n*-1),…, *w*(*n*-t+1)] T. Predicted value is

Robotic Systems for Radiation Therapy 103

*<sup>Z</sup>* in X, Y and Z directions for HexaPOD couch.

*ZH=* ±0.2mm and 0.4mm for

ε*XH*=ε*YH* =ε

irregular motion pattern, Fig.13. The tracking error cannot be zero, but it can be kept within

From the simulation results it appeared that proposed methods could yield superior

Analyzing the simulation results it can be concluded that the robotic system show the same maximum tracking error which was 1mm. Based on dosimetric studies, (Buzurovic et al., 2010.b,c) it was noticed that implementation of real-time tracking techniques can minimize irradiation to healthy tissues and improve sparing of critical organs. It was shown in the studies that the dosimetric effect on PTV and CTV coverage, caused by the prediction error in tumor tracking procedure, is insignificant. Consequently, tumor tracking error for the described proposed method will not compromise patient treatment outcome. Implementation of the proposed technique can potentially improve real-time tracking of the tumor-volume to deliver highly conformal precise radiation dose at almost 100% duty cycle while minimizing irradiation to health tissues and sparing critical organs. This, in turn, will potentially improve the quality of patient treatment by lowering the toxicity level and

In this study, we have deployed a closed-loop PID control. Adaptive control can be a good choice because of the variability in the payload on the system, i.e., the weight of the patient. Results of the adaptive control applied to the proposed system can be found in (Buzurovic

In this chapter the use of the robotic systems in radiation therapy has been presented. It was shown that robotic systems can greatly influence to the current method of radiation therapy in both delivering radioactive material inside the cancerous tissue and in compensation of moving tumors during the external beam radiation therapy. The presented systems are novel and the clinical applications of such systems will be near future in modern cancer treatments. It was shown many times that modern robotics can improve many aspects of human work. The presented robotics systems are the example of the previous statement.

Fig. 13. Overall system errors; a)

the tolerable limit.

increasing survival.

et al., 2011.b).

**4. Conclusion** 

b) The error amplitudes for steady states

An average system error after the transient time was

ε*X*, ε*Y*,ε

prediction and tracking of the tumor motion induced by respiratory motion.

$$y(n) = \mathcal{W}(n-1)^H X(n) \tag{27}$$

where *W*(*n*-*1*)*H* is the hermitian transpose of *W*(*n*-*1*). Thus, algorithm error is

$$e\_1(n) = |d(n) - y(n). \tag{28}$$

Now, filter vector becomes *W*(*n*) = *W(n*-1)+μ *X*(*n*)*e*(*n*), where μ is the learning rate. In order to ensure the stability of the algorithm it is necessary to adjust LMS to its normalized form nLMS. For the nLMS algorithm the filter vector is:

$$\mathcal{W}(n) = \mathcal{W}(n-1) + \frac{\mu X(n)e(n)}{X(n)^H X(n)}\tag{29}$$

Furthermore, to ensure accuracy of the prediction process, algorithm checks difference between predicted value *y*(*t*) and system output *X*ξη*<sup>s</sup>*. We defined

$$e\_{\mathfrak{T}}(n) \equiv |d(n) - X\_{\mathfrak{S}^{\mathfrak{P}}}(n). \tag{30}$$

Finally, prediction module calculates next position of the tumor, based on algorithm which incorporates nLMS error *e*1(*n*) and physical error *e*2(*n*). Therefore, the resultant error is sum of the prediction and tracking error.

### **3.3 Simulation**

The computer simulation results for HexaPOD robotic couch have been presented in the Fig. 12 through Fig. 13 below. Fig. 12 shows position of the each HexaPOD leg during tracking task. Combined motion of the robotic legs results in tracking the desired trajectory. This means that the robotic couch will start moving the legs according to the desired trajectory, obtained from 4D-CT. Combined motion of the HexaPOD legs will result in patient motion which has opposite direction of the tumor. Consequently, tumor will appear steady and the beam will irradiate smaller PTV which does not include all possible tumor position during the respiratory cycle.

Fig. 12. HexaPOD legs positions during tracking

102 Robotic Systems – Applications, Control and Programming

μ

to ensure the stability of the algorithm it is necessary to adjust LMS to its normalized form

( )( ) ( ) ( 1) () () = −+ *<sup>H</sup> Xnen Wn Wn*

Furthermore, to ensure accuracy of the prediction process, algorithm checks difference

*e*2(*n*) = *d*(*n*) – *X*

Finally, prediction module calculates next position of the tumor, based on algorithm which incorporates nLMS error *e*1(*n*) and physical error *e*2(*n*). Therefore, the resultant error is sum

The computer simulation results for HexaPOD robotic couch have been presented in the Fig. 12 through Fig. 13 below. Fig. 12 shows position of the each HexaPOD leg during tracking task. Combined motion of the robotic legs results in tracking the desired trajectory. This means that the robotic couch will start moving the legs according to the desired trajectory, obtained from 4D-CT. Combined motion of the HexaPOD legs will result in patient motion which has opposite direction of the tumor. Consequently, tumor will appear steady and the beam will irradiate smaller PTV which does not include all possible tumor position during

 *X*(*n*)*e*(*n*), where

μ

ξη

*Xn Xn*

ξη

*<sup>s</sup>*. We defined

where *W*(*n*-*1*)*H* is the hermitian transpose of *W*(*n*-*1*). Thus, algorithm error is

Now, filter vector becomes *W*(*n*) = *W(n*-1)+

nLMS. For the nLMS algorithm the filter vector is:

between predicted value *y*(*t*) and system output *X*

Fig. 12. HexaPOD legs positions during tracking

of the prediction and tracking error.

**3.3 Simulation** 

the respiratory cycle.

( ) ( 1) ( ) = − *<sup>H</sup> y n Wn Xn* (27)

*e*1(*n*) = *d*(*n*) – *y*(*n*). (28)

is the learning rate. In order

*<sup>s</sup>*(*n*). (30)

(29)

μ

Fig. 13. Overall system errors; a) ε*X*, ε*Y*,ε*<sup>Z</sup>* in X, Y and Z directions for HexaPOD couch. b) The error amplitudes for steady states

An average system error after the transient time was ε*XH*=ε*YH* =ε*ZH=* ±0.2mm and 0.4mm for irregular motion pattern, Fig.13. The tracking error cannot be zero, but it can be kept within the tolerable limit.

From the simulation results it appeared that proposed methods could yield superior prediction and tracking of the tumor motion induced by respiratory motion.

Analyzing the simulation results it can be concluded that the robotic system show the same maximum tracking error which was 1mm. Based on dosimetric studies, (Buzurovic et al., 2010.b,c) it was noticed that implementation of real-time tracking techniques can minimize irradiation to healthy tissues and improve sparing of critical organs. It was shown in the studies that the dosimetric effect on PTV and CTV coverage, caused by the prediction error in tumor tracking procedure, is insignificant. Consequently, tumor tracking error for the described proposed method will not compromise patient treatment outcome. Implementation of the proposed technique can potentially improve real-time tracking of the tumor-volume to deliver highly conformal precise radiation dose at almost 100% duty cycle while minimizing irradiation to health tissues and sparing critical organs. This, in turn, will potentially improve the quality of patient treatment by lowering the toxicity level and increasing survival.

In this study, we have deployed a closed-loop PID control. Adaptive control can be a good choice because of the variability in the payload on the system, i.e., the weight of the patient. Results of the adaptive control applied to the proposed system can be found in (Buzurovic et al., 2011.b).

## **4. Conclusion**

In this chapter the use of the robotic systems in radiation therapy has been presented. It was shown that robotic systems can greatly influence to the current method of radiation therapy in both delivering radioactive material inside the cancerous tissue and in compensation of moving tumors during the external beam radiation therapy. The presented systems are novel and the clinical applications of such systems will be near future in modern cancer treatments. It was shown many times that modern robotics can improve many aspects of human work. The presented robotics systems are the example of the previous statement.

Robotic Systems for Radiation Therapy 105

Keall, P.J.; Cattell, H.; Pokhrel, D.; et al. (2006). Geometric accuracy of a real-time target

Lin, A.; Trejos, A.L.; Patel R.V.; and Malthaner, R.A. (2008). Robot-Assisted Minimally

Mavrodis, C.; Dubowsky, S.; et al. (April 19-23, 1997). A Systematic Error Analysis of

Meltsner, M.A.; Ferrier N.J.; and Thomadsen, B.R. (2007). Observations on rotating needle insertions using a brachytherapy robot, *Phys. Med. Biol.* 52, pp. 6027-6037 Mills, J.K. (1988). Constrained Manipulator Dynamic Models and Hybrid Control, *Proc. of the* 

Moerland, M; Van den Bosch, M.; Lagerburg, V.; et al. (2008). An MRI scanner compatible

Ozhasoglu, C.; Murphy, M.J. (2002). Issues in respiratory motion compensation during external-beam radiotherapy, *Int. J Radiat Oncol Biol Phys.*, 52(5), pp. 1389–1399 Podder, T.K.; Ng, W.S.; and Yu, Y. (August 23-26, 2007). Multi-channel robotic system for

Podder, T.K.; Buzurovic, I.; and Yu, Y. (May-June 2010). Multichannel Robot for Image-

Podder, T.K.; Buzurovic, I.; Hu, Y.; Galvin, J.M.; Yu, Y. (2007). Partial transmission high-

Podder, T.K.; Buzurovic, I.; Hu, Y.; Galvin, J.M.; Yu, Y. (2008). Dynamics-based

Salcudean, S.E.; Prananta, T.D.; et al. (May 19-23, 2008). A robotic needle guide for prostate

Schweikard, A.; Glosser, G.; Bodduluri, M.; et al. (2000). Robotic motion compensation for respiratory movement during radiosurgery, *Comput. Aided Surg.*, 5(4), pp. 263–277 Sharp, G.C.; Jiang, S.B.; Shimizu, S.; Shirato, H. (2004). Prediction of respiratory tumour

Stoianovici, K.; Cleary, A.; Patriciu, M.; et al. (2003). AcuBot: A robot for radiological

*Conf. Robotics and Automation* (*ICRA*), Albuquerque, NM, pp. 2975-2981 Meltsner, M.A. (2007). Design and optimization of a brachytherapy robot, *PhD Thesis*,

Department of Medical Physics, University of Wisconsin-Madison

implant robot for prostate brachytherapy, *Brachytherapy*, 7, p.100

*Bioengineering* (*BIBE*), Philadelphia, PA, USA, pp.209-213

*Oncology, Biol. Phys.*, 65(5), pp. 1579-1584

(*EMBS*), Lyon, France, pp. 1233-1236

424-429

1108-1112

2496-2502.

2975-2981

440

930

540-72998-3, Springer, Berlin, Germany, pp. 33-52

tracking system with dynamic multileaf collimator tracking system, *Int. J. Radiation* 

Invasive Brachytherapy for Lung Cancer, *Teletherapy* (book chapter), ISBN: 978-3-

Robotic Manipulators: Application to a High Performance Medical Robot, *IEEE Int.* 

*IEEE International Symposium on Intelligent Control*, Vol. I, Arlington, VA, USA, pp.

prostate brachytherapy, *Int. Conf. of the IEEE Engineering in Medicine and Biology*

guided Brachytherapy, *Proc. of 10th IEEE International Conference on Bioinformatics&* 

speed continuous tracking multi-leaf collimator for 4D adaptive radiation therapy, *IEEE Int. Conf. on Bioninformatics and Bioengineering* (*BIBE*), Boston, MA, USA, pp.

decentralized control of robotic couch and multi-leaf collimators for tracking tumor motion, *IEEE Int. Conf. on Robotics and Automation* (*ICRA*), Pasadena, CA, USA, pp.

brachytherapy, *IEEE Int. Conf. Robotics and Automation* (*ICRA*), Anaheim, CA, pp.

motion for real-time image-guided radiotherapy, *J.Phys. Med Biol.*, 49(3), pp. 425–

percutaneous Interventions, *IEEE Trans. on Robotics and Automation*, Vol. 19, pp. 927

### **5. References**


104 Robotic Systems – Applications, Control and Programming

Benchetrit, G. (2000). Breathing pattern in humans: diversity and individuality, *Respir.* 

Buzurovic, I.; Podder, T.; Yan, K.; et al. 2008. Parameter optimization for brachytherapy

Buzurovic, I.; Podder, T.K.; and Yu, Y. (November 2008). Force prediction and tracking for

Buzurovic, I.; Podder, T.K.; and Yu, Y. (2010). Prediction Control for Brachytherapy Robotic System, *Journal of Robotics*, Vol. 2010, Article ID 581840, doi:10.1155/2010/581840 Buzurovic, I.; Werner-Wasik, M.; Biswas. T.; Galvin J.; Dicker, A.P.; Yu, Y.; Podder, T. (2010).

Buzurovic, I.; Huang, K.; Werner-Wasik, M.; Biswas. T.; Galvin J.; Dicker, A.P.; Yu, Y.;

Buzurovic, I.; Huang, K.; Yu, Y.; Podder, T. (2011). Robotic Approach to 4D Real-time Tumor

Buzurovic, I.; Huang, K.; Yu, Y.; Podder, T. (May-June, 2010). Tumor Motion Prediction and

Buzurovic, I., Yu, Y.; Podder, T.K. (September, 2011). Active Tracking and Dynamic Dose

Chen, W.K. (1993). Linear Networks and Systems: Algorithms and Computer-Aided

Chung, H.; et al. (2006). Mechanical Accuracy of a Robotic Couch, *Medical Physics*, 33(6),

Cobb, D. (May, 1983). Descriptor Variable Systems and State Regulation", *IEEE Transaction* 

D'Souza, W.; McAvoy, T.J.; Analysis of the treatment couch and control system dynamics

D'Souza, W.; Naqvi, S.A.; Yu, C.X.; (2005). Real-time intra-fraction-motion tracking using the treatment couch: a feasibility study, *Phys. Med. and Biol.*, 50, pp. 4021-4033 Fichtinger, G.; Burdettem, E.C.; Tanacsm, A.; et al. (2006). Robotically assisted prostate

Kamino Y.; Takayama, K.; Kokubo, M.; et al. (2006). Development of a four-dimensional

Keall, P.J.; Mageras, G.S.; Balter, J.M.; et al. (2006). The management of respiratory motion

for respiration-induced motion compensation. Medical Physics, 2006, 33(12):4701-

Brachytherapy with transrectal ultrasound guidance - Phantom experiments,

image-guided radiotherapy system with a gimbaled x-ray head, *Int. J. Radiation* 

in radiation oncology report of AAPM Task Group 76, *Medical Physics*, 33(10), pp.

Tracking for Radiotherapy, *Phys. Med. Biol.*, 56(5), pp.1299-1320

*Engineering in Medicine and Biology* (*EMBC*), Boston, MA, USA

*Int. J. Radiat. Oncol. Biol. Phys.*, 78(3) Suppl.1, p. S689

Implementations, *Belmont Wadsworth,* pp. 123–135

*and Bioengineering* (*BIBE*), pp. 273-278

*on Automatic Control*, Vol. AC-28., No.5

*Oncology Biol. Phys.*, 66(1), pp. 271–278

*Brachytherapy* 5, pp. 14-26

robotic needle insertion and seed deposition, *Medical Physics*, Vol. 35, No. 6, p. 2865

image-guided robotic system using neural network approach, *Proceedings of IEEE Biomedical Circuits and Systems Conference* (*BIOCAS '08*), Baltimore, MD, USA, pp.

Dosimetric Advantages of Active Tracking and Dynamic Delivery. *Med. Phys.*, 37,

Podder, T. (2010). Dosimetric Evaluation of Tumor Tracking in 4D Radiotherapy,

Tracking in Adaptive Radiotherapy, *Proc. of 2010 IEEE Int. Conf. on Bioinformatics* 

Delivery for Robotic Couch in Radiation Therapy, *Proc. of 2011 IEEE Int. Conf. on* 

**5. References** 

41–44

p. 3191

p.2041

4701.

3874-3900

*Physiol.*, 22(2-3), pp. 123–129


**6** 

*USA* 

**Robotic Urological Surgery: State of the Art** 

Rachid Yakoubi, Shahab Hillyer and Georges-Pascal Haber

*Glickman Urological and Kidney Institute, Cleveland Clinic, Cleveland, Ohio,* 

Minimally invasive surgery has gained popularity over the last decade by offering shorter

Community urologists have typically performed standard laparoscopic nephrectomies secondary to its short learning curve, low complication rate, and limited requirement for sophisticated laparoscopic skills. However, advanced minimally invasive operations such as partial nephrectomies, pyeloplasties and prostatectomies necessitate advanced laparoscopic adeptness. The emergence of robotics, with 3D vision and articulated instruments, has allowed wider applications of minimally invasive techniques for more complex urological

Though robotics has overcome some shortcomings of laparoscopic surgery, there remains a limitation with its assertion as a standard amongst the urological community. The lack of tactile feedback, displacement of the surgeon from the bedside, fixed-port system, longer operating room times and cost remain barriers to widespread acceptance of robotics. In addition, the deficiencies within the robotic platform have propagated an evolution in the field with micro and nano-robotics. This chapter highlights the history of robotic surgery

The da Vinci robot (Intuitive Surgical, Sunnyvale, CA, USA) (Figure 1) remains the only commercially available robotic surgical system since the fusion of computer motion and intuitive surgical system (Table 1). It is a master–slave system in which the surgeon operates the robot from a remote console. The articulating laparoscopic instruments in the da Vinci robot offer six degrees of freedom simulating the human wrist movement during open surgery. This facilitates intra-corporeal suturing especially in reconstructive surgery

Robotic-assisted laparoscopic radical prostatectomy was first reported in 2000 using the da Vinci robot system. Since then, the robotic platform has been applied for a variety of minimally invasive procedures, such as partial nephrectomy, pyeloplasty, cyctectomy and

convalescences, improved peri-opertive outcomes as well as enhanced cosmesis.

**1. Introduction** 

procedures.

(Yohannes et al., 2002).

adrenalectomy.

along with current and future applications.

**2. The Da Vinci surgical system and urology** 

**and Future Perspectives** 

*Center for Laparoscopic and Robotic Surgery,* 


## **Robotic Urological Surgery: State of the Art and Future Perspectives**

Rachid Yakoubi, Shahab Hillyer and Georges-Pascal Haber *Center for Laparoscopic and Robotic Surgery, Glickman Urological and Kidney Institute, Cleveland Clinic, Cleveland, Ohio, USA* 

## **1. Introduction**

106 Robotic Systems – Applications, Control and Programming

Stoianovici, D.; Song, S.; Petrisor, D.; et al. (2007). MRI Stealth robot for prostate

Vedam, S.S.; Keall, P.J.; Docef, A.; et al. (2004). Predicting respiratory motion for four-

Wei, Z; Wan, G; Gardi, L; Fenster, A.; et al. (2004). Robot-assisted 3D-TRUS guided prostate brachytherapy: system integration and validation, *Med. Phys.* 31, pp. 539-548

Yu Y.; Podder, T.K.; Zhang, Y.D.; Ng, W.S.; et al. (2007). Robotic system for prostate

dimensional radiotherapy, *J. Medical Physics*, 31(8), pp. 2274–2283

Widrow, B.; Walach, E. (1994). Adaptive Inverse Control, *Prentice-Hall,* NJ, USA

interventions, *Minimally Invasive Therapy* 16, pp. 241-248

brachytherapy, *J. Comp. Aid. Surg.* 12, pp. 366-370

Minimally invasive surgery has gained popularity over the last decade by offering shorter convalescences, improved peri-opertive outcomes as well as enhanced cosmesis.

Community urologists have typically performed standard laparoscopic nephrectomies secondary to its short learning curve, low complication rate, and limited requirement for sophisticated laparoscopic skills. However, advanced minimally invasive operations such as partial nephrectomies, pyeloplasties and prostatectomies necessitate advanced laparoscopic adeptness. The emergence of robotics, with 3D vision and articulated instruments, has allowed wider applications of minimally invasive techniques for more complex urological procedures.

Though robotics has overcome some shortcomings of laparoscopic surgery, there remains a limitation with its assertion as a standard amongst the urological community. The lack of tactile feedback, displacement of the surgeon from the bedside, fixed-port system, longer operating room times and cost remain barriers to widespread acceptance of robotics. In addition, the deficiencies within the robotic platform have propagated an evolution in the field with micro and nano-robotics. This chapter highlights the history of robotic surgery along with current and future applications.

## **2. The Da Vinci surgical system and urology**

The da Vinci robot (Intuitive Surgical, Sunnyvale, CA, USA) (Figure 1) remains the only commercially available robotic surgical system since the fusion of computer motion and intuitive surgical system (Table 1). It is a master–slave system in which the surgeon operates the robot from a remote console. The articulating laparoscopic instruments in the da Vinci robot offer six degrees of freedom simulating the human wrist movement during open surgery. This facilitates intra-corporeal suturing especially in reconstructive surgery (Yohannes et al., 2002).

Robotic-assisted laparoscopic radical prostatectomy was first reported in 2000 using the da Vinci robot system. Since then, the robotic platform has been applied for a variety of minimally invasive procedures, such as partial nephrectomy, pyeloplasty, cyctectomy and adrenalectomy.

Robotic Urological Surgery: State of the Art and Future Perspectives 109

Positive surgical margins are a surrogate for oncological outcomes reported for RARP. A significant advantage in positive margin rates was demonstrated for RALP over RRP. This same difference amongst the robotic and open groups does not exist when comparing laparoscopic radical prostatectomy (LRP). The positive surgical margin rates ranged from 11% to 37% after RRP, from 11% to 30% after LRP, and from 9.6% to 26% after RALP (Ficarra

Recently, survival outcomes have been reported after RARP. Barocas et al. compared 491 open RRP with 1,413 patients undergoing RARP, over a median follow-up of 10 months (Barocas et al., 2010). Robotic group had lower pathological stage (80.5% pT2 vs 69.6% pT2, p <0.01). The 3-year biochemical recurrence-free survival rate was similar between the 2 groups, even after adjusting for pathological stage, grade and margin status. More recently, comparisons of 522 consecutive RARP were matched to patients who underwent LRP and RRP evaluating oncological outcomes (Magheli et al., 2011). Positive surgical margin rates were higher in the robotic group (19%), compared to LRP (13%) and RRP (14%). This difference was not significant for pT2 disease. The mean follow-up was 2.5, 1.4 and 1.3 years for RRP, LRP and RARP respectively, with no statistically significant difference in

Erectile function and continence are major outcomes evaluated after prostatectomy. In a matched cohort, comparing 294 RARP for clinically localized prostate cancer with 588 RRP, showed no difference in continence between the 2 approaches at the 1-year follow-up (Krambeck et al. 2009). Furthermore, Roco et al showed 1year continence rates of 97% vs 88% after RARP and RRP, respectively (P = 0.014). The 1 year overall potency recovery rate was 61% vs 41%, after RARP and RRP, respectively (P = 0.003). Overall, RRP seems to be a faster procedure. However, EBL, hospitalization time, and functional outcomes were superior with RARP. Early oncological outcome seemed to be equivalent in the two groups

The drawback of RARP is the cost related to purchasing and maintaining the instruments of the robotic system. Bolenz et al. compared the cost of 262 RALP, 220 LRP, and 161 RRP performed at the same institution. The direct cost was higher for the robotic approach than laparoscopic or open. The median direct cost was US\$ 6752, US\$ 5687, and US\$ 4437 for RALP, LRP, and RRP respectively. The most important difference was due to surgical supply and operating room cost (Bolenz et al., 2010). However, the surgical volume may reduce this difference. Scales et al. showed that the cost of RALP is volume dependent, and cost equivalence is achievable with RRP at a surgical volume of 10 cases weekly (Scales et al., 2005). Even the cost of robotic surgery is a difficult question to assess; the costeffectiveness of robotics will probably continue to improve with time (Wilson & Torrey,

The available data demonstrates improvements in blood loss, hospital stay, and pain control with RALP. However the lack of long term cancer specific mortality limits robust

Robotic radical and simple nephrectomy is a feasible and safe procedure. A comparison of 46 laparoscopic nephrectomies, 20 hand-assisted laparoscopic nephrectomy, and 13 robotic nephrectomies showed no significant advantage of robotics over traditional laparoscopy or hand-assisted approaches. However, cost analysis illustrated far more cost with robotics

et al., 2009).

(Rocco et al., 2009).

2011).

biochemical-free survival between groups.

oncological comparisons of RARP to RRP.

among the three groups (Boger et al., 2010).

**2.2 Radical nephrectomy** 

### Fig. 1. Da Vinci robot


Table 1. Robotic surgery timeline

## **2.1 Prostatectomy**

Robotic-assisted laparoscopic radical prostatectomy (RARP) was first reported in 2000 (Abbou et al., 2000). Since then the number of patients undergoing RARP for prostate cancer has steadily increased. Early comparisons between radical retropubic prostatectomy (RRP) and RARP show encouraging results. Menon et al. in a prospective nonrandomized study, compared results of 30 consecutive patients undergoing (RRP) and 30 initial patients undergoing (RARP). Estimated blood loss (EBL), blood transfusions, pain score, hospital stay, and mean duration of postoperative catheterization were improved in the RARP group. However, the mean operating time increased for RARP (Menon et al. 2002).

In a recent review, Ficcara et al. found that the mean OR time for RARP ranged between 127 and 288 minutes, corroborating a longer operative time with robotics versus open. Nevertheless, transfusion rates and hospital stay were lower with RARP then open RRP. In addition there were comparable complication rates between the RARP and open RRP patients (Ficarra et al., 2009).

108 Robotic Systems – Applications, Control and Programming

Fig. 1. Da Vinci robot

1985 First surgical robot utilization (Neurosurgery)

2003 The Zeus system and Intuitive Surgical fusion

1993 First commercially available robot approved by the FDA (AESOP)

Robotic-assisted laparoscopic radical prostatectomy (RARP) was first reported in 2000 (Abbou et al., 2000). Since then the number of patients undergoing RARP for prostate cancer has steadily increased. Early comparisons between radical retropubic prostatectomy (RRP) and RARP show encouraging results. Menon et al. in a prospective nonrandomized study, compared results of 30 consecutive patients undergoing (RRP) and 30 initial patients undergoing (RARP). Estimated blood loss (EBL), blood transfusions, pain score, hospital stay, and mean duration of postoperative catheterization were improved in the RARP

In a recent review, Ficcara et al. found that the mean OR time for RARP ranged between 127 and 288 minutes, corroborating a longer operative time with robotics versus open. Nevertheless, transfusion rates and hospital stay were lower with RARP then open RRP. In addition there were comparable complication rates between the RARP and open RRP

group. However, the mean operating time increased for RARP (Menon et al. 2002).

1989 First urologic robot (Probot)

Table 1. Robotic surgery timeline

patients (Ficarra et al., 2009).

**2.1 Prostatectomy** 

1998 Zeus system commercially available 2000 First robotic radical prostatectomy 2001 FDA clearance for Da Vinci system

Positive surgical margins are a surrogate for oncological outcomes reported for RARP. A significant advantage in positive margin rates was demonstrated for RALP over RRP. This same difference amongst the robotic and open groups does not exist when comparing laparoscopic radical prostatectomy (LRP). The positive surgical margin rates ranged from 11% to 37% after RRP, from 11% to 30% after LRP, and from 9.6% to 26% after RALP (Ficarra et al., 2009).

Recently, survival outcomes have been reported after RARP. Barocas et al. compared 491 open RRP with 1,413 patients undergoing RARP, over a median follow-up of 10 months (Barocas et al., 2010). Robotic group had lower pathological stage (80.5% pT2 vs 69.6% pT2, p <0.01). The 3-year biochemical recurrence-free survival rate was similar between the 2 groups, even after adjusting for pathological stage, grade and margin status. More recently, comparisons of 522 consecutive RARP were matched to patients who underwent LRP and RRP evaluating oncological outcomes (Magheli et al., 2011). Positive surgical margin rates were higher in the robotic group (19%), compared to LRP (13%) and RRP (14%). This difference was not significant for pT2 disease. The mean follow-up was 2.5, 1.4 and 1.3 years for RRP, LRP and RARP respectively, with no statistically significant difference in biochemical-free survival between groups.

Erectile function and continence are major outcomes evaluated after prostatectomy. In a matched cohort, comparing 294 RARP for clinically localized prostate cancer with 588 RRP, showed no difference in continence between the 2 approaches at the 1-year follow-up (Krambeck et al. 2009). Furthermore, Roco et al showed 1year continence rates of 97% vs 88% after RARP and RRP, respectively (P = 0.014). The 1 year overall potency recovery rate was 61% vs 41%, after RARP and RRP, respectively (P = 0.003). Overall, RRP seems to be a faster procedure. However, EBL, hospitalization time, and functional outcomes were superior with RARP. Early oncological outcome seemed to be equivalent in the two groups (Rocco et al., 2009).

The drawback of RARP is the cost related to purchasing and maintaining the instruments of the robotic system. Bolenz et al. compared the cost of 262 RALP, 220 LRP, and 161 RRP performed at the same institution. The direct cost was higher for the robotic approach than laparoscopic or open. The median direct cost was US\$ 6752, US\$ 5687, and US\$ 4437 for RALP, LRP, and RRP respectively. The most important difference was due to surgical supply and operating room cost (Bolenz et al., 2010). However, the surgical volume may reduce this difference. Scales et al. showed that the cost of RALP is volume dependent, and cost equivalence is achievable with RRP at a surgical volume of 10 cases weekly (Scales et al., 2005). Even the cost of robotic surgery is a difficult question to assess; the costeffectiveness of robotics will probably continue to improve with time (Wilson & Torrey, 2011).

The available data demonstrates improvements in blood loss, hospital stay, and pain control with RALP. However the lack of long term cancer specific mortality limits robust oncological comparisons of RARP to RRP.

## **2.2 Radical nephrectomy**

Robotic radical and simple nephrectomy is a feasible and safe procedure. A comparison of 46 laparoscopic nephrectomies, 20 hand-assisted laparoscopic nephrectomy, and 13 robotic nephrectomies showed no significant advantage of robotics over traditional laparoscopy or hand-assisted approaches. However, cost analysis illustrated far more cost with robotics among the three groups (Boger et al., 2010).

Robotic Urological Surgery: State of the Art and Future Perspectives 111

26). After a mean follow-up of 10 months, no recurrences had occurred indicating that RPN

RPN seems to be as an effective and safe alternative to LPN. Surgical technique for RPN has improved and indications have been expanded to more challenging tumors. Currently available comparative studies are retrospective and with a limited follow-up. Future trials

Robotic-assisted adrenalectomy (RAA) was first reported in 1999 and 2001 using the Aesop (Hubens et al., 1999) and Da Vinci systems, respectively (Horgan & Vanuno, 2001). Since

Brunaud et al. prospectively evaluated 100 consecutive patients who underwent RAA. The mean operative time was 95 minutes with a conversion rate 5%. Complication and mortality rates were 10% and 0%, respectively. The mean operative time decreased by 1 minute every 10 cases. Operative time improved more for junior surgeons than for senior surgeons after the first 50 cases. Surgeon's experience, first assistant level and tumor size were independent predictors of operative time. The robotic procedure was 2.3 times more costly

The same authors, compared prospectivly perioperative data of 50 patients who underwent RAA with 59 patients who underwent laparoscopic adrenalectomy (LA). RAA was associated with lower blood loss but longer operative times. However, the difference in operative time was not significant after the learning curve of 20 cases. Operative time increased, only in the LA group for obese patients (body mass index >30 kg/m2) and patients with large tumors (>55mm). Length of hospital stay, complication and conversion

Recently, Giulianotti et al. examined 42 patients who underwent RAA by a single surgeon. Median hospital stay was 4 days with postoperative complication rate of 2.4% and mortality

Suggestions have been made that robot assistance may be beneficial for obese patients with large tumors (Brunaud et al., 2008a; Giulianotti et al., 2011), as well as for surgeons with limited laparoscopic experience. Regardless of its feasibility, Prospective studies must focus on potential improve in learning curve with robotic utilization along with a cost analysis

The first clinical experience of robot-assisted pyeloplasty (RAP) was reported in 2002 (Gettman et al., 2002a). Since then, numerous studies have evaluated the efficiency of RAP. Gupta et al. prospectively evaluated results of 85 consecutive patients who had transperitoneal RAP, using four or five ports. Based on anatomic considerations, different types of pyeloplasty were completed. The mean operative time was 121 min, 47 min of which was for the anastomosis. Mean EBL was 45 mL, with hospital stay of 2.5 days. Three patients had stent migrations, and delayed drainage. Mean follow-up was 13.6 months with

In a comparative non-randomized study**,** 98 RAP were compared with 74 LP with a mean operative time of 189.3 and 186.6 minutes for RAP and LP respectively. Complication rate was similar with 5.1% and 2.7% for RAP and LP respectively. The suturing time was shorter

is a safe and feasible option for highly complex renal masses (White et al., 2011).

are expected to confirm encouraging findings from early reported series.

then, the few studies published were about RAA using Da Vinci system.

than laparoscopic adrenalectomy (Brunaud et al., 2008a).

rates were equivalent in the groups (Brunaud et al., 2008b).

evaluating RAA compared to current standards. (Brunaud et al., 2008a)

an overall success rate of 97%, based on imaging assessment (Gupta et al., 2010).

rate of 2.4% (Giulianotti et al., 2011).

**2.5 Pyeloplasty** 

**2.4 Adrenalectomy** 

Platforms where robotics may be applied to radical nephrectomies are complex tumors with caval thrombosis. Abaza reported five patients with a renal tumor and inferior vena cava (IVC) thrombus who underwent robotic nephrectomy. The robotic system allowed for venotomy into the vena cava with suture of the defect and no complications. (Abaza, 2011) Robotic-assisted nephrectomy was also applied for live kidney donor. A series of 35 first cases was reported with a mean warm ischemia time of 5.9 minutes. (Louis et al., 2009). However, the cost of the robotic approach may limit its applicability for radical nephrectomies except in complex renal cases with caval thromsis.

## **2.3 Partial nephrectomy**

The da Vinci Surgical System provides advantages during robotic partial nephrectomy (RPN) such as 3-D vision, articulating instruments, scaling of movement, tremor filtration, fourth robotic arm assistance, and the TilePro™ software (Intuitive surgical, Sunnyvale, CA), a live intra-operative ultrasound platform. All these tools are helpful during partial nephrectomy and may overcome the technical challenges of laparoscopic partial nephrectomy (LPN).

Since the first report by Gettman et al. showing the feasibility of robotic assisted partial nephrectomy (RPN) (Gettman et al., 2004), a steadily increasing number of series have been reported.

Forty consecutive RPN and 62 LPN were retrospectively compared in a study by wang and colleagues showing no significant difference in EBL, collecting system repair (56% for each group), or positive margin rate (1 case in each group). Furthermore, the mean operative time, warm ischemia time (19 vs 25 minutes, for RPN and LPN respectively), and length of stay decreased significantly in the robotic group (Wang & Bhayani, 2009).

Haber et al. compared results of 150 consecutive patients who underwent RPN (n = 75) or LPN (n = 75) by a single surgeon. There was no significant difference between the 2 groups in the mean operative time (200 and 197 minutes) (P = .75)), warm ischemia time (18.2 minutes vs 20.3 minutes, P = .27), length of hospital stay (P = .84), change in renal function, or adverse events in the RPN and LPN groups respectively. The mean EBL was higher in the RPN group (323 vs 222 mL); surprisingly fewer patients required a blood transfusion in either group. The higher EBL with RPN may be explained by the surgeons learning curve for RPN compared with LPN. Overall these findings demonstrated comparable outcomes to LPN, regardless of the vast experience the primary laparoscopic surgeon possessed (Haber et al., 2010a).

The safety and effectiveness of RPN regarding functional and oncologic outcomes were evaluated in a multi-institutional review with 183 patients who underwent RPN (Benway et al., 2010). The means of peri-operative demographics and outcomes were analyzed illustrating a tumor size 2.87 cm, total operative time 210 min, warm ischemic time 23.9 min, and EBL of 131.5 ml. Sixty-nine percent of excised tumors were malignant, of which 2.7% had positive surgical margins. The incidence of major complications was 8.2%. At up to 26 months follow-up, there have been no recurrences and no significant change in renal function.

Additionally, indications for RPN have significantly expanded to include RPN for complex renal tumors (Rogers et al., 2008a; White et al., 2011). White et al. reviewed 67 patients who underwent RPN for a moderately or highly complex renal mass according to the R.E.N.A.L. nephrometry score (≥7). The median tumor size was 3.7 cm, median operative time was 180 minutes, median EBL was 200 mL, and the warm ischemia time was 19.0 minutes (range 1526). After a mean follow-up of 10 months, no recurrences had occurred indicating that RPN is a safe and feasible option for highly complex renal masses (White et al., 2011).

RPN seems to be as an effective and safe alternative to LPN. Surgical technique for RPN has improved and indications have been expanded to more challenging tumors. Currently available comparative studies are retrospective and with a limited follow-up. Future trials are expected to confirm encouraging findings from early reported series.

## **2.4 Adrenalectomy**

110 Robotic Systems – Applications, Control and Programming

Platforms where robotics may be applied to radical nephrectomies are complex tumors with caval thrombosis. Abaza reported five patients with a renal tumor and inferior vena cava (IVC) thrombus who underwent robotic nephrectomy. The robotic system allowed for venotomy into the vena cava with suture of the defect and no complications. (Abaza, 2011) Robotic-assisted nephrectomy was also applied for live kidney donor. A series of 35 first cases was reported with a mean warm ischemia time of 5.9 minutes. (Louis et al., 2009). However, the cost of the robotic approach may limit its applicability for radical

The da Vinci Surgical System provides advantages during robotic partial nephrectomy (RPN) such as 3-D vision, articulating instruments, scaling of movement, tremor filtration, fourth robotic arm assistance, and the TilePro™ software (Intuitive surgical, Sunnyvale, CA), a live intra-operative ultrasound platform. All these tools are helpful during partial nephrectomy and may overcome the technical challenges of laparoscopic partial

Since the first report by Gettman et al. showing the feasibility of robotic assisted partial nephrectomy (RPN) (Gettman et al., 2004), a steadily increasing number of series have been

Forty consecutive RPN and 62 LPN were retrospectively compared in a study by wang and colleagues showing no significant difference in EBL, collecting system repair (56% for each group), or positive margin rate (1 case in each group). Furthermore, the mean operative time, warm ischemia time (19 vs 25 minutes, for RPN and LPN respectively), and length of

Haber et al. compared results of 150 consecutive patients who underwent RPN (n = 75) or LPN (n = 75) by a single surgeon. There was no significant difference between the 2 groups in the mean operative time (200 and 197 minutes) (P = .75)), warm ischemia time (18.2 minutes vs 20.3 minutes, P = .27), length of hospital stay (P = .84), change in renal function, or adverse events in the RPN and LPN groups respectively. The mean EBL was higher in the RPN group (323 vs 222 mL); surprisingly fewer patients required a blood transfusion in either group. The higher EBL with RPN may be explained by the surgeons learning curve for RPN compared with LPN. Overall these findings demonstrated comparable outcomes to LPN, regardless of the vast experience the primary laparoscopic surgeon possessed (Haber

The safety and effectiveness of RPN regarding functional and oncologic outcomes were evaluated in a multi-institutional review with 183 patients who underwent RPN (Benway et al., 2010). The means of peri-operative demographics and outcomes were analyzed illustrating a tumor size 2.87 cm, total operative time 210 min, warm ischemic time 23.9 min, and EBL of 131.5 ml. Sixty-nine percent of excised tumors were malignant, of which 2.7% had positive surgical margins. The incidence of major complications was 8.2%. At up to 26 months follow-up, there have been no recurrences and no significant change in renal

Additionally, indications for RPN have significantly expanded to include RPN for complex renal tumors (Rogers et al., 2008a; White et al., 2011). White et al. reviewed 67 patients who underwent RPN for a moderately or highly complex renal mass according to the R.E.N.A.L. nephrometry score (≥7). The median tumor size was 3.7 cm, median operative time was 180 minutes, median EBL was 200 mL, and the warm ischemia time was 19.0 minutes (range 15-

stay decreased significantly in the robotic group (Wang & Bhayani, 2009).

nephrectomies except in complex renal cases with caval thromsis.

**2.3 Partial nephrectomy** 

nephrectomy (LPN).

reported.

et al., 2010a).

function.

Robotic-assisted adrenalectomy (RAA) was first reported in 1999 and 2001 using the Aesop (Hubens et al., 1999) and Da Vinci systems, respectively (Horgan & Vanuno, 2001). Since then, the few studies published were about RAA using Da Vinci system.

Brunaud et al. prospectively evaluated 100 consecutive patients who underwent RAA. The mean operative time was 95 minutes with a conversion rate 5%. Complication and mortality rates were 10% and 0%, respectively. The mean operative time decreased by 1 minute every 10 cases. Operative time improved more for junior surgeons than for senior surgeons after the first 50 cases. Surgeon's experience, first assistant level and tumor size were independent predictors of operative time. The robotic procedure was 2.3 times more costly than laparoscopic adrenalectomy (Brunaud et al., 2008a).

The same authors, compared prospectivly perioperative data of 50 patients who underwent RAA with 59 patients who underwent laparoscopic adrenalectomy (LA). RAA was associated with lower blood loss but longer operative times. However, the difference in operative time was not significant after the learning curve of 20 cases. Operative time increased, only in the LA group for obese patients (body mass index >30 kg/m2) and patients with large tumors (>55mm). Length of hospital stay, complication and conversion rates were equivalent in the groups (Brunaud et al., 2008b).

Recently, Giulianotti et al. examined 42 patients who underwent RAA by a single surgeon. Median hospital stay was 4 days with postoperative complication rate of 2.4% and mortality rate of 2.4% (Giulianotti et al., 2011).

Suggestions have been made that robot assistance may be beneficial for obese patients with large tumors (Brunaud et al., 2008a; Giulianotti et al., 2011), as well as for surgeons with limited laparoscopic experience. Regardless of its feasibility, Prospective studies must focus on potential improve in learning curve with robotic utilization along with a cost analysis evaluating RAA compared to current standards. (Brunaud et al., 2008a)

## **2.5 Pyeloplasty**

The first clinical experience of robot-assisted pyeloplasty (RAP) was reported in 2002 (Gettman et al., 2002a). Since then, numerous studies have evaluated the efficiency of RAP. Gupta et al. prospectively evaluated results of 85 consecutive patients who had transperitoneal RAP, using four or five ports. Based on anatomic considerations, different types of pyeloplasty were completed. The mean operative time was 121 min, 47 min of which was for the anastomosis. Mean EBL was 45 mL, with hospital stay of 2.5 days. Three patients had stent migrations, and delayed drainage. Mean follow-up was 13.6 months with an overall success rate of 97%, based on imaging assessment (Gupta et al., 2010).

In a comparative non-randomized study**,** 98 RAP were compared with 74 LP with a mean operative time of 189.3 and 186.6 minutes for RAP and LP respectively. Complication rate was similar with 5.1% and 2.7% for RAP and LP respectively. The suturing time was shorter

Robotic Urological Surgery: State of the Art and Future Perspectives 113

In an others series of 100 patients with a mean follow up of 21 months, 15 patients had disease recurrence and 6 died of bladder cancer (Pruthi et al., 2010). Comparisons between open and robotic cystectomy are lacking because of the heterogenity in disease burden and

In a multi-institutional study, of the 527 patients who underwent RRC, 437 (82.9%) had a lymphadenectomy. Surgeons experience on the robot influenced whether a lymphadenectomy was performed (Hellenthal, 2010a). In the same data base, the Positive surgical margin was 6.5% (Hellenthal, 2010b). In a study of 100 consecutive patients with RRC, no positive margin was found (Pruthi et al., 2010). However in this series only 13%

RRC offers the potential for improving peri-operative outcomes with the advantages of minimally invasive surgery. It may offer shorter hospital stay, decrease blood loss and pain, and offer a smaller incision, with equal complication rates and oncological outcomes to the current gold standard, ORC. Future studies with longer follow up are essential to have

Laparoendoscopic single-site surgery (LESS) (Figure. 2) and natural orifice translumenal endoscopic surgery (NOTES) exploit the use of a single incision or natural entry points into the body cavity. A trend towards scareless surgery with the advantages of laparoscopy has

The first laparoscopic transvaginal nephrectomy (NOTES) in a porcine model was described in 2002, introducing another achievable surgical approach (Gettman et al, 2002b). Moreover, the continued dynamism for workable new approaches sprung the inception of the first reported hybrid NOTES nephrectomy in a porcine model utilizing the da Vinci surgical

Robotic technologies offer a potential improvement over the current flexible instruments and endoscopes. Other limitations include the indirect transmission of forces and space

In 2008, 30 urologic robotic NOTES procedures on 10 porcine models were performed using the current da Vinci robotic system (Haber et al., 2008a). A 12 and an 8-mm port were placed through a single transumbilical incision to introduce the robotic camera along with a robotic arm using a single port (Uni-X (TM) P-navel Systems, Morganville, NJ). A flexible 12-mm cannula 20cm long (US Endoscopy, Mentor, Ohio, USA) served as a transvaginal port, through which the second robotic arm was docked. All interventions were conducted without complications or conversion. However, problems encountered included the inadequate length of transvaginal instruments, essentially prolonging surgical time. In order for widespread use of newer approaches, development of appropriate instruments should

The Da Vinci® S robotic system using a LESS approach has also been applied to prostate surgery. A transvesical robotic radical prostatectomy was performed in a cadaver model (Desai et al., 2008a) (Figure. 3). Articulated instruments and 3D vision facilitated the dissection of the prostate through the single-port. Moreover, architectural advances with the robotic system will allow accessibility to a wider range of surgeons interested in LESS and NOTES approaches. An example of robotic modifications helping the growth of LESS came

cases were pT3/T4 at the final pathology, which may explain this result.

**3. Robotic laparoendoscopic single-site surgery and natural orifice** 

fueled the development of a novel surgical technique, LESS and NOTES.

robust data on the comparability of RRC to ORC

constraints for the operating surgeon (Table 2).

**translumenal endoscopic surgery: Current status** 

patient selection.

system (Box et al., 2008).

simultaneously occur.

for the RAP but without statistical significance (48.3 and 60 minutes (P =0.30) for RAP and LP respectively). RAP had a success rate of 93.4% versus 95% for LP based on renal scintigraphy (Bird et al., 2011).

Hemal and colleagues illustrated successful application of robotics to pyeoplasty surgery. A nonrandomized study, comparing results of 30 RAP with 30 LP, performed in a transperitoneal approach by a single surgeon. The mean total operating times were 98 minutes and 145 minutes, the mean EBL were 40 mL and 101 mL, and the mean hospital stay of the patients were 2 days and 3.5 days, for RAP and LP, respectively. At follow up, one patient in LP group had obstruction managed by balloon dilation (Hemal et al., 2010).

Insufficent evidence exists for the retroperitoneal approach to RAP. Kaouk et al. reported results of 10 patients who underwent retroperitoneal RAP. Four ports were placed for the robot and a successful operation was accomplished. Operative time was 175 mins with minimal complications. The advantage to the retroperitoneal approach was the direct access to the UPJ; however, retroperitoneal surgery has limited working space with unfamiliar anatomy to most urologist (Kaouk et al., 2008).

Cestari et al. compared 36 patients who underwent retroperitoneal RAP and 19 transperitoneal RAP for UPJO. Median operative time and hospital stay were similar. Complication rates were comparable. (Cestari et al, 2010).

Studies of RAP demonstrate feasibility, efficacy and safety. However, the cost of robotic surgery continues to limit the widespread application of this platform.

## **2.6 Cystectomy**

Radical cystectomy with pelvic lymphadectomy (PLND) remains the gold-standard treatment for patients with muscle-invasive blader cancer. However, morbidity related to open radical cystectomy (ORC) presents a real challenge. Thus, robotic-assisted radical cystectomy (RRC) represents a potentiel alltenative to the open approach. Similar to other robotic procedures, the potential advantages of RRC over ORC are decrease in blood loss, pain, and hospital stay. On the other hand, the oncologic outcomes of the RRC remain largely unknown.

In a series of 100 consecutive patients who underwent RRC for clinically localized bladder cancer, the mean operative time was 4.6 hours and an EBL 271 ml. Mean hospital stay was 4.9 days with 36 patients experiencing postoperative complications; 8% major complications. Urinary diversion included, ileal conduits 61 % of the time (Pruthi et al., 2010).

Kauffman et al. presented results of 85 consecutive patients treated with RRC for bladder cancer. The median age was 73.5 years with high proportion of patients having comorbidities (46% of ASA class ≥3). Extended pelvic lymphadenectomy was performed in almost all patients (98%). Extravesical disease was found in 36.5% cases and positive surgical margins were present in 6% of patients. At a mean follow-up of 18 months, 20 (24%) patients had presented recurrence; three of them (4%) only had a local recurrence. The overall survival and disease-specific survival rates for the cohort at 2 years were 79% and 85%, respectively. Extravesical disease, positive lymph node, and lymphovascular invasion were associated with worse prognosis (Kauffman et al., 2011). Even with the encouraging results of this study, comparative analysis and long term outcomes are still needed.

Josephson et al., in his report of 58 RRC, found different results, with a overall survival rate of 54% and disease specific survival rates of 76% at 2-year (Josephson et al., 2010). However, stratification of survival outcomes by patholoical stage was not reported, making comparasions with other studies futile.

112 Robotic Systems – Applications, Control and Programming

for the RAP but without statistical significance (48.3 and 60 minutes (P =0.30) for RAP and LP respectively). RAP had a success rate of 93.4% versus 95% for LP based on renal

Hemal and colleagues illustrated successful application of robotics to pyeoplasty surgery. A nonrandomized study, comparing results of 30 RAP with 30 LP, performed in a transperitoneal approach by a single surgeon. The mean total operating times were 98 minutes and 145 minutes, the mean EBL were 40 mL and 101 mL, and the mean hospital stay of the patients were 2 days and 3.5 days, for RAP and LP, respectively. At follow up, one patient in LP group had obstruction managed by balloon dilation (Hemal et al., 2010). Insufficent evidence exists for the retroperitoneal approach to RAP. Kaouk et al. reported results of 10 patients who underwent retroperitoneal RAP. Four ports were placed for the robot and a successful operation was accomplished. Operative time was 175 mins with minimal complications. The advantage to the retroperitoneal approach was the direct access to the UPJ; however, retroperitoneal surgery has limited working space with unfamiliar

Cestari et al. compared 36 patients who underwent retroperitoneal RAP and 19 transperitoneal RAP for UPJO. Median operative time and hospital stay were similar.

Studies of RAP demonstrate feasibility, efficacy and safety. However, the cost of robotic

Radical cystectomy with pelvic lymphadectomy (PLND) remains the gold-standard treatment for patients with muscle-invasive blader cancer. However, morbidity related to open radical cystectomy (ORC) presents a real challenge. Thus, robotic-assisted radical cystectomy (RRC) represents a potentiel alltenative to the open approach. Similar to other robotic procedures, the potential advantages of RRC over ORC are decrease in blood loss, pain, and hospital stay. On the other hand, the oncologic outcomes of the RRC remain

In a series of 100 consecutive patients who underwent RRC for clinically localized bladder cancer, the mean operative time was 4.6 hours and an EBL 271 ml. Mean hospital stay was 4.9 days with 36 patients experiencing postoperative complications; 8% major complications.

Kauffman et al. presented results of 85 consecutive patients treated with RRC for bladder cancer. The median age was 73.5 years with high proportion of patients having comorbidities (46% of ASA class ≥3). Extended pelvic lymphadenectomy was performed in almost all patients (98%). Extravesical disease was found in 36.5% cases and positive surgical margins were present in 6% of patients. At a mean follow-up of 18 months, 20 (24%) patients had presented recurrence; three of them (4%) only had a local recurrence. The overall survival and disease-specific survival rates for the cohort at 2 years were 79% and 85%, respectively. Extravesical disease, positive lymph node, and lymphovascular invasion were associated with worse prognosis (Kauffman et al., 2011). Even with the encouraging

Urinary diversion included, ileal conduits 61 % of the time (Pruthi et al., 2010).

results of this study, comparative analysis and long term outcomes are still needed.

Josephson et al., in his report of 58 RRC, found different results, with a overall survival rate of 54% and disease specific survival rates of 76% at 2-year (Josephson et al., 2010). However, stratification of survival outcomes by patholoical stage was not reported, making

scintigraphy (Bird et al., 2011).

**2.6 Cystectomy** 

largely unknown.

comparasions with other studies futile.

anatomy to most urologist (Kaouk et al., 2008).

Complication rates were comparable. (Cestari et al, 2010).

surgery continues to limit the widespread application of this platform.

In an others series of 100 patients with a mean follow up of 21 months, 15 patients had disease recurrence and 6 died of bladder cancer (Pruthi et al., 2010). Comparisons between open and robotic cystectomy are lacking because of the heterogenity in disease burden and patient selection.

In a multi-institutional study, of the 527 patients who underwent RRC, 437 (82.9%) had a lymphadenectomy. Surgeons experience on the robot influenced whether a lymphadenectomy was performed (Hellenthal, 2010a). In the same data base, the Positive surgical margin was 6.5% (Hellenthal, 2010b). In a study of 100 consecutive patients with RRC, no positive margin was found (Pruthi et al., 2010). However in this series only 13% cases were pT3/T4 at the final pathology, which may explain this result.

RRC offers the potential for improving peri-operative outcomes with the advantages of minimally invasive surgery. It may offer shorter hospital stay, decrease blood loss and pain, and offer a smaller incision, with equal complication rates and oncological outcomes to the current gold standard, ORC. Future studies with longer follow up are essential to have robust data on the comparability of RRC to ORC

## **3. Robotic laparoendoscopic single-site surgery and natural orifice translumenal endoscopic surgery: Current status**

Laparoendoscopic single-site surgery (LESS) (Figure. 2) and natural orifice translumenal endoscopic surgery (NOTES) exploit the use of a single incision or natural entry points into the body cavity. A trend towards scareless surgery with the advantages of laparoscopy has fueled the development of a novel surgical technique, LESS and NOTES.

The first laparoscopic transvaginal nephrectomy (NOTES) in a porcine model was described in 2002, introducing another achievable surgical approach (Gettman et al, 2002b). Moreover, the continued dynamism for workable new approaches sprung the inception of the first reported hybrid NOTES nephrectomy in a porcine model utilizing the da Vinci surgical system (Box et al., 2008).

Robotic technologies offer a potential improvement over the current flexible instruments and endoscopes. Other limitations include the indirect transmission of forces and space constraints for the operating surgeon (Table 2).

In 2008, 30 urologic robotic NOTES procedures on 10 porcine models were performed using the current da Vinci robotic system (Haber et al., 2008a). A 12 and an 8-mm port were placed through a single transumbilical incision to introduce the robotic camera along with a robotic arm using a single port (Uni-X (TM) P-navel Systems, Morganville, NJ). A flexible 12-mm cannula 20cm long (US Endoscopy, Mentor, Ohio, USA) served as a transvaginal port, through which the second robotic arm was docked. All interventions were conducted without complications or conversion. However, problems encountered included the inadequate length of transvaginal instruments, essentially prolonging surgical time. In order for widespread use of newer approaches, development of appropriate instruments should simultaneously occur.

The Da Vinci® S robotic system using a LESS approach has also been applied to prostate surgery. A transvesical robotic radical prostatectomy was performed in a cadaver model (Desai et al., 2008a) (Figure. 3). Articulated instruments and 3D vision facilitated the dissection of the prostate through the single-port. Moreover, architectural advances with the robotic system will allow accessibility to a wider range of surgeons interested in LESS and NOTES approaches. An example of robotic modifications helping the growth of LESS came

Robotic Urological Surgery: State of the Art and Future Perspectives 115

Fig. 2. The robot scope and two arms are inserted through a 2.5-cm incision in the umbilicus

The initial clinical experience with robotic single-port transumbilical surgery was reported in 2009 (Kaouk et al, 2009a). A multichannel single port (R-port; Advanced Surgical Concepts, Dublin, Ireland) was inserted through a 2-cm umbilical incision into the abdomen. Three procedures were performed, including radical prostatectomy, dismembered pyeloplasty, and right sided radical nephrectomy. All procedures were completed without intraoperative complications. The radical prostatectomy was completed in 5 h, with 45 min required for the anastomosis. The pathology reported negative margins. The pyeloplasty was completed in 4.5 h, and the radical nephrectomy was completed in 2.5 h. R-LESS procedures were accomplished without additional ports or significant differences

Fig. 3. Single-port and robot instruments through the bladder

in peri-operative outcomes compared to standard robotic approaches.

with the advent of the novel robotic platform (VeSPA, Intuitive Surgical, California, USA) (Figures. 4 & 5). These curved cannulae and semi-rigid instruments have been designed to compensate for the limitations encountered with conventional LESS surgery. The VeSPA curved cannulae and semirigid instrument design allow the cannulae and instruments to be inserted in close proximity while allowing approximate triangulation intraabdominally. The VESPA platform was successfully applied in a porcine model without conversions or addition of ports (Haber et al., 2010b). However, it is recognized that Robotic-LESS for the kidney is technically more challenging in humans compared to animal model. Therefore, further clinical research is required to confirm these early experimental results.


Table 2. From laparoendoscopic single-site surgery to robotic laparoendoscopic single-site surgery: technical advances with da Vinci system

114 Robotic Systems – Applications, Control and Programming

with the advent of the novel robotic platform (VeSPA, Intuitive Surgical, California, USA) (Figures. 4 & 5). These curved cannulae and semi-rigid instruments have been designed to compensate for the limitations encountered with conventional LESS surgery. The VeSPA curved cannulae and semirigid instrument design allow the cannulae and instruments to be inserted in close proximity while allowing approximate triangulation intraabdominally. The VESPA platform was successfully applied in a porcine model without conversions or addition of ports (Haber et al., 2010b). However, it is recognized that Robotic-LESS for the kidney is technically more challenging in humans compared to animal model. Therefore, further clinical research is required to confirm these early

high resolution, unstable

**Instrument collision** Significant Significant (due to bulky

**Tissue dissection** Challenging Limited at steep angles

**Suturing** Extremely challenging Accurate

**Range of motion** Limited Enhanced surgeon dexterity

**Ergonomics** Reduced Enhanced (surgeon sitting at

Table 2. From laparoendoscopic single-site surgery to robotic laparoendoscopic single-site

Very high Medium high

**Main assistant's role** Camera manoeuvring Managing collisions

articulating/flexible

instruments

surgery)

**Standard LESS Da Vinci robotic LESS** 

Three-dimensional vision, high definition, stable vision

Articulating instruments

Lacking (chopstick surgery)

because of the Endowrist

robotic arms)

technology

console)

experimental results.

**Steepness of learning** 

surgery: technical advances with da Vinci system

**curve** 

**Scope** Two-dimensional vision,

**Triangulation** Lacking (crossed hand

**Instruments** Straight and

vision

Fig. 2. The robot scope and two arms are inserted through a 2.5-cm incision in the umbilicus

Fig. 3. Single-port and robot instruments through the bladder

The initial clinical experience with robotic single-port transumbilical surgery was reported in 2009 (Kaouk et al, 2009a). A multichannel single port (R-port; Advanced Surgical Concepts, Dublin, Ireland) was inserted through a 2-cm umbilical incision into the abdomen. Three procedures were performed, including radical prostatectomy, dismembered pyeloplasty, and right sided radical nephrectomy. All procedures were completed without intraoperative complications. The radical prostatectomy was completed in 5 h, with 45 min required for the anastomosis. The pathology reported negative margins. The pyeloplasty was completed in 4.5 h, and the radical nephrectomy was completed in 2.5 h. R-LESS procedures were accomplished without additional ports or significant differences in peri-operative outcomes compared to standard robotic approaches.

Robotic Urological Surgery: State of the Art and Future Perspectives 117

harmonic scalpel. EBL was 100 ml, operative time was 170 min, length of stay was 3.5 days,

Stein et al. reported robotic LESS using a gel port (Applied Medical, Rancho Santa Margarita, California, USA) as the access platform (Stein et al., 2010). Four clinical procedures were performed, including two pyeloplasties, one radical nephrectomy, and one partial nephrectomy. The gel port system was used to allow for a larger working platform. The partial nephrectomy was completed in 180 min. The mass was excised without hilar clamping, using the harmonic scalpel and Hem-o-lok clips (Weck Closure Systems, Research Triangle Park, North Carolina, USA). A radical nephrectomy was performed for a 5-cm leftsided lower pole mass. The renal vein and artery were secured with an endoscopic stapler, and the remainder of the dissection was completed with hook cautery. The specimen was retrieved with an entrapment sac and removed via the umbilical incision extended to 4 cm.

The Da Vinci system has several advantages over conventional laparoscopy allowing an increasing number of urologist adopt this method. Preliminary results of these minimal invasive approaches are encouraging in LESS and NOTES techniques. Further refinement in instrumentation, improved triangulation and development of robotic systems specific to

The development of robotic technologies has also flourished in endocopic surgeries. A flexible robotic catheter manipulator (Sensei, Hansen Medical, Mountain View, CA, USA) thought to allow enhanced ergonomics with improved efficiency over standard flexible ureteroscopy was developed by Sensei, Hansen medical. Initial experience in the porcine

Fig. 6. Pictorial depiction of components of flexible robotic catheter control system. Surgeon

console (workstation) showing three LCD screens, one touch screen, and MID

EBL was 250 ml, operative time was 200 min, and the hospital stay was 2 days.

LESS and NOTES may define the new horizons in single site surgery.

**4. Flexible robots** 

model showed promising outcomes.

and visual analog pain scale at discharge was 1.0/10.

Fig. 4. Da Vinci® robotic with VeSPA instruments

Fig. 5. VeSPA instruments and accessories. (A) Curved cannulae; (B) multichannel singleport, 8.5-mm robotic scope, flexible instruments passed through the cannulae

We recently reported our initial experience with single port robotic partial nephrectomy in two patients without conversions or complications (Kaouk et al. 2009b). A multichannel port (Triport; Advanced Surgical Concepts, Bray, Co Wicklow, Ireland) was utilized. Pediatric 5 mm robotic instruments were used. A 30° robotic lens placed in the upward configuration minimized clashing between the scope and instruments. A 2.8 cm left lower pole tumor and a 1.1 cm right lower pole tumor were excised without renal hilar clamping using the harmonic scalpel. EBL was 100 ml, operative time was 170 min, length of stay was 3.5 days, and visual analog pain scale at discharge was 1.0/10.

Stein et al. reported robotic LESS using a gel port (Applied Medical, Rancho Santa Margarita, California, USA) as the access platform (Stein et al., 2010). Four clinical procedures were performed, including two pyeloplasties, one radical nephrectomy, and one partial nephrectomy. The gel port system was used to allow for a larger working platform. The partial nephrectomy was completed in 180 min. The mass was excised without hilar clamping, using the harmonic scalpel and Hem-o-lok clips (Weck Closure Systems, Research Triangle Park, North Carolina, USA). A radical nephrectomy was performed for a 5-cm leftsided lower pole mass. The renal vein and artery were secured with an endoscopic stapler, and the remainder of the dissection was completed with hook cautery. The specimen was retrieved with an entrapment sac and removed via the umbilical incision extended to 4 cm. EBL was 250 ml, operative time was 200 min, and the hospital stay was 2 days.

The Da Vinci system has several advantages over conventional laparoscopy allowing an increasing number of urologist adopt this method. Preliminary results of these minimal invasive approaches are encouraging in LESS and NOTES techniques. Further refinement in instrumentation, improved triangulation and development of robotic systems specific to LESS and NOTES may define the new horizons in single site surgery.

### **4. Flexible robots**

116 Robotic Systems – Applications, Control and Programming

Fig. 5. VeSPA instruments and accessories. (A) Curved cannulae; (B) multichannel single-

We recently reported our initial experience with single port robotic partial nephrectomy in two patients without conversions or complications (Kaouk et al. 2009b). A multichannel port (Triport; Advanced Surgical Concepts, Bray, Co Wicklow, Ireland) was utilized. Pediatric 5 mm robotic instruments were used. A 30° robotic lens placed in the upward configuration minimized clashing between the scope and instruments. A 2.8 cm left lower pole tumor and a 1.1 cm right lower pole tumor were excised without renal hilar clamping using the

port, 8.5-mm robotic scope, flexible instruments passed through the cannulae

Fig. 4. Da Vinci® robotic with VeSPA instruments

The development of robotic technologies has also flourished in endocopic surgeries. A flexible robotic catheter manipulator (Sensei, Hansen Medical, Mountain View, CA, USA) thought to allow enhanced ergonomics with improved efficiency over standard flexible ureteroscopy was developed by Sensei, Hansen medical. Initial experience in the porcine model showed promising outcomes.

Fig. 6. Pictorial depiction of components of flexible robotic catheter control system. Surgeon console (workstation) showing three LCD screens, one touch screen, and MID

Robotic Urological Surgery: State of the Art and Future Perspectives 119

Miniaturization has been the key advancement for the progression of robotics in endoscope.

Incorporation of real-time radiographic imaging for biopsy or ablative treatment of urological cancer is currently in development. A robotic arm Vicky® (Endo-Control, Grenoble, France) and an ultra-sound probe (B-K Medical, Denmark), were utilized to perform tranrectal prostate biopsies. The software was modified to save up to 24 spatial coordinates and answer the constraints of transrectal ultrasound. Tests on phantom and human cadaver prostates demonstrated the feasibility of robotic transrectal ultrasound, with precision biopsies performed on a target tumor ranging from (0.1 to 0.9 mm) on the prostate and (0.2 to 0.9 mm) on the phantom (Figure. 8). Initial results are encouraging with clinical

Moreover, a robotic positioning system with a biplane ultrasound probe on a mobile horizontal platform was used to perform prostate biopsies in a phantom model. . The integrated software acquires ultrasound images for three-dimensional modeling, coordinates target planning and directs the robotic positioning system. A repeatable accuracy of <1 mm was obtained (Ho et al., 2009). This robotic prostate biopsy system can theoretically biopsy targets from MRI images after merging the ultrasound images, allowing

Presently, a fully automated robot system, the MrBot, has been developed for transperineal prostate access. (Patriciu et al., 2007). It is mounted alongside the patient in the MR imager and is operated from the control room under image feedback. The robot presents 6 degrees of freedom: 5 for positioning and orienting the injector and 1 for setting the depth of needle insertion. The first driver was developed for fully automated low-dose (seed) brachytherapy. Compared with classic templates for needle guides, the robot enables additional freedom of motion for better targeting. As such, multiple needle insertions can be performed through the same skin entry point. In addition, angulations reduce the pubic arch interference, allowing better prostate access for sampling. The MrBot robot was constructed to be ubiquitous with medical imaging equipment such as ultrasound and MRI. An accuracy of 0.72 ± 0.36 mm was described for seed placement. Furthermore, multiple clinical interventions are possible with the MrBot system, such as biopsy, therapy injections, and radiofrequency ablations. Preclinical testing in cadaver and animal models has shown

**6. Future trends in the design and application of surgical robots** 

desired locations, further aiding the laparoscopic procedures (Joseph et al., 2008).

and eventually nanorobots, are realistic near future advancements.

Advances in robotic systems accompanied by trends toward miniature devices, microrobots

Prototypes of the Microrobot cameras (15 mm /3 inches) were placed inside the abdomen of a canine model during laparoscopic prostatectomy and nephrectomy allowing for additional views (360-degree) of the surgical field The microrobot was mobile, controlled remotely to

More recently, Lehman et al. showed the feasibility of LESS cholecystectomy in a porcine model, using a miniature robot platform (Lehman et al., 2011). The robot platform incorporated a dexterous in-vivo robot and a remote surgeon interface console. In addition,

Further studies are needed to corroborate these early clinical results.

**5. Robotic prostate biopsy** 

trials forthcoming (Haber et al., 2008b).

treatment of positive areas found on biopsies.

favorable results (Mozer et al., 2009).

Fig. 7. Robotic arm and steerable catheter

The novel robotic catheter system comprises the following components (Figure. 6 & 7), (a) surgeon console, including the LCD display and master input device, (b) steerable catheter system, (c) remote catheter manipulator, and (d) electronic rack. The master input device (MID) is a three-dimensional joystick the surgeon uses to remotely maneuver the catheter tip. The real-time image of ureteroscopy, fluoroscopy and representation in space of the catheter position is projected simultaneous on the screens. Furthermore, images from the CT scan or an ultrasound probe images display.

The steerable catheter system contains an outer catheter sheath (14F/12F) and an inner catheter guide (12F/10F). The movement of the MID intuitively controls the tip of the catheter guide. The robotic arm, steerable catheter, is attached to the edge of the table. The catheter can be controlled either by fluoroscopy mode, direct vision from the ureteroscope or by a combination of both. In addition, a 3D reconstruction of the extremity the catheter is displayed on the screen, assisting in the identifying the location. Moreover, manoeuvrability is not diminished when the use of fiber laser 200 to 365 microns.

The technical feasibility of the robotic catheter system was evaluated in retrograde renoscopy in the porcine model. Authors concluded that the robotic catheter system could easily manoeuvre the ureteroscope into 83 (98%) of the 85 calices tested in a reproducible manner. The ease and reproducibility of intra-renal navigation was rated at a mean of 10 of 10 on the VAS (Desai et al., 2008b). Clinical investigation for flexible robotic system in ureteroscopy was performed in 18 patients who had renal calculi. Mean stone size was 11.9 mm. All procedures were done unilaterally and all patients had ureteral stents placed for 2 weeks. The robotic catheter system was introduced into the renal collecting system manually using fluoroscopic control along a guide wire. All intra-renal manoeuvres were performed completely by the surgeon from the robotic console. All procedures were technically successful, and all calculi were fragmented to the surgeon's satisfaction, without conversion to standard ureteroscopy. Mean operative time was 91 minutes, including a robot docking time of 7 minutes, and stone localization time of 9 minutes. The mean visual analog scale rating (from 1, worst, to 10, best) for ease of stone localization was 8.3, ease of maneuvering was 8.5, and ease of fragmentation was 9.2. Complete fragment clearance was achieved in 56% of patients at 2 months, and in 89% of patients at 3 months. One patient required secondary ureteroscopy for a residual stone (Desai et al, 2008c)

Improvements in flexible instrumentation have brought a revolution with retrograde intrarenal surgery. Advancements in flexible ureteroscopes, laser lithotripsy, and ureteroscope accessories are contributors to the metamorphosis with robotics in endo-urology. Miniaturization has been the key advancement for the progression of robotics in endoscope. Further studies are needed to corroborate these early clinical results.

## **5. Robotic prostate biopsy**

118 Robotic Systems – Applications, Control and Programming

The novel robotic catheter system comprises the following components (Figure. 6 & 7), (a) surgeon console, including the LCD display and master input device, (b) steerable catheter system, (c) remote catheter manipulator, and (d) electronic rack. The master input device (MID) is a three-dimensional joystick the surgeon uses to remotely maneuver the catheter tip. The real-time image of ureteroscopy, fluoroscopy and representation in space of the catheter position is projected simultaneous on the screens. Furthermore, images from the CT

The steerable catheter system contains an outer catheter sheath (14F/12F) and an inner catheter guide (12F/10F). The movement of the MID intuitively controls the tip of the catheter guide. The robotic arm, steerable catheter, is attached to the edge of the table. The catheter can be controlled either by fluoroscopy mode, direct vision from the ureteroscope or by a combination of both. In addition, a 3D reconstruction of the extremity the catheter is displayed on the screen, assisting in the identifying the location. Moreover, manoeuvrability

The technical feasibility of the robotic catheter system was evaluated in retrograde renoscopy in the porcine model. Authors concluded that the robotic catheter system could easily manoeuvre the ureteroscope into 83 (98%) of the 85 calices tested in a reproducible manner. The ease and reproducibility of intra-renal navigation was rated at a mean of 10 of 10 on the VAS (Desai et al., 2008b). Clinical investigation for flexible robotic system in ureteroscopy was performed in 18 patients who had renal calculi. Mean stone size was 11.9 mm. All procedures were done unilaterally and all patients had ureteral stents placed for 2 weeks. The robotic catheter system was introduced into the renal collecting system manually using fluoroscopic control along a guide wire. All intra-renal manoeuvres were performed completely by the surgeon from the robotic console. All procedures were technically successful, and all calculi were fragmented to the surgeon's satisfaction, without conversion to standard ureteroscopy. Mean operative time was 91 minutes, including a robot docking time of 7 minutes, and stone localization time of 9 minutes. The mean visual analog scale rating (from 1, worst, to 10, best) for ease of stone localization was 8.3, ease of maneuvering was 8.5, and ease of fragmentation was 9.2. Complete fragment clearance was achieved in 56% of patients at 2 months, and in 89% of patients at 3 months. One patient

Improvements in flexible instrumentation have brought a revolution with retrograde intrarenal surgery. Advancements in flexible ureteroscopes, laser lithotripsy, and ureteroscope accessories are contributors to the metamorphosis with robotics in endo-urology.

Fig. 7. Robotic arm and steerable catheter

scan or an ultrasound probe images display.

is not diminished when the use of fiber laser 200 to 365 microns.

required secondary ureteroscopy for a residual stone (Desai et al, 2008c)

Incorporation of real-time radiographic imaging for biopsy or ablative treatment of urological cancer is currently in development. A robotic arm Vicky® (Endo-Control, Grenoble, France) and an ultra-sound probe (B-K Medical, Denmark), were utilized to perform tranrectal prostate biopsies. The software was modified to save up to 24 spatial coordinates and answer the constraints of transrectal ultrasound. Tests on phantom and human cadaver prostates demonstrated the feasibility of robotic transrectal ultrasound, with precision biopsies performed on a target tumor ranging from (0.1 to 0.9 mm) on the prostate and (0.2 to 0.9 mm) on the phantom (Figure. 8). Initial results are encouraging with clinical trials forthcoming (Haber et al., 2008b).

Moreover, a robotic positioning system with a biplane ultrasound probe on a mobile horizontal platform was used to perform prostate biopsies in a phantom model. . The integrated software acquires ultrasound images for three-dimensional modeling, coordinates target planning and directs the robotic positioning system. A repeatable accuracy of <1 mm was obtained (Ho et al., 2009). This robotic prostate biopsy system can theoretically biopsy targets from MRI images after merging the ultrasound images, allowing treatment of positive areas found on biopsies.

Presently, a fully automated robot system, the MrBot, has been developed for transperineal prostate access. (Patriciu et al., 2007). It is mounted alongside the patient in the MR imager and is operated from the control room under image feedback. The robot presents 6 degrees of freedom: 5 for positioning and orienting the injector and 1 for setting the depth of needle insertion. The first driver was developed for fully automated low-dose (seed) brachytherapy. Compared with classic templates for needle guides, the robot enables additional freedom of motion for better targeting. As such, multiple needle insertions can be performed through the same skin entry point. In addition, angulations reduce the pubic arch interference, allowing better prostate access for sampling. The MrBot robot was constructed to be ubiquitous with medical imaging equipment such as ultrasound and MRI. An accuracy of 0.72 ± 0.36 mm was described for seed placement. Furthermore, multiple clinical interventions are possible with the MrBot system, such as biopsy, therapy injections, and radiofrequency ablations. Preclinical testing in cadaver and animal models has shown favorable results (Mozer et al., 2009).

## **6. Future trends in the design and application of surgical robots**

Advances in robotic systems accompanied by trends toward miniature devices, microrobots and eventually nanorobots, are realistic near future advancements.

Prototypes of the Microrobot cameras (15 mm /3 inches) were placed inside the abdomen of a canine model during laparoscopic prostatectomy and nephrectomy allowing for additional views (360-degree) of the surgical field The microrobot was mobile, controlled remotely to desired locations, further aiding the laparoscopic procedures (Joseph et al., 2008).

More recently, Lehman et al. showed the feasibility of LESS cholecystectomy in a porcine model, using a miniature robot platform (Lehman et al., 2011). The robot platform incorporated a dexterous in-vivo robot and a remote surgeon interface console. In addition,

Robotic Urological Surgery: State of the Art and Future Perspectives 121

Robotic applications in urology are effective and safe technologies. Surgical technique have

Abaza R. (2011) Initial series of robotic radical nephrectomy with vena caval tumor

Abbou CC, Hoznek A, Salomon L, Lobontiu A, Saint F, Cicco A, Antiphon P, & Chopin D.

Barocas DA, Salem S, Kordan Y, Herrell SD, Chang SS, Clark PE, Davis R, Baumgartner R,

Bird VG, Leveillee RJ, Eldefrawy A, Bracho J, & Aziz MS. (2011) Comparison of robot-

Benway BM, Bhayani SB, Rogers CG, Porter JR, Buffi NM, Figenshau RS, & Mottrie A. (2010)

Boger M, Lucas SM, Popp SC, Gardner TA, & Sundaram CP. (2010) Comparison of robot-

Bolenz C, Gupta A, Hotze T, Ho R, Cadeddu JA, Roehrborn CG, Lotan Y. (2010) Cost

Box GN, Lee HJ, Santos RJ, Abraham JB, Louie MK, Gamboa AJ, Alipanah R, Deane LA,

Brunaud L, Bresler L, Ayav A, Zarnegar R, Raphoz AL, Levan T, Weryha G, & Boissel P.

NOTES nephrectomy: initial report*. J Endourol*. 2008 Mar;22(3):503-6. Brunaud L, Ayav A, Zarnegar R, Rouers A, Klein M, Boissel P, & Bresler L. (2008a)

in adults: techniques and results. *Eur Urol*. 2010 Nov;58(5):711-8.

(2000) [Remote laparoscopic radical prostatectomy carried out with a robot.Report

Phillips S, Cookson MS, & Smith JA Jr. (2010) Robotic assisted laparoscopic prostatectomy versus radical retropubic prostatectomy for clinically localized prostate cancer: comparison of short-term biochemical recurrence-free survival. *J* 

assisted versus conventional laparoscopic transperitoneal pyeloplasty for patients with ureteropelvic junction obstruction: a single-center study. *Urology*. 2011

Robot-assisted partial nephrectomy: an international experience. *Eur Urol.* 2010

assisted nephrectomy with laparoscopic and hand-assisted laparoscopic

comparison of robotic, laparoscopic, and open radical prostatectomy for prostate

McDougall EM, & Clayman RV. (2008) Rapid communication: robot-assisted

Prospective evaluation of 100 robotic-assisted unilateral adrenalectomies. *Surgery*.

(2008b) Robotic-assisted adrenalectomy: what advantages compared to lateral transperitoneal laparoscopic adrenalectomy? *Am J Surg*. 2008b Apr;195(4):433-8. Cestari A, Buffi NM, Lista G, Sangalli M, Scapaticci E, Fabbri F, Lazzeri M, Rigatti P, &

Guazzoni G. (2010) Retroperitoneal and transperitoneal robot-assisted pyeloplasty

evolved and indications have been expanded to more challenging scenarios. New technologies are constantly reshaping the urological sphere especially robotics. Further refinements in robotic systems along with a reduction in cost are key components for rapid

assimilation amongst the urological community.

*Urol*. 2010 Mar;183(3):990-6.

Mar;77(3):730-4.

May;57(5):815-20

thrombectomy. *Eur Urol*. 2011 Apr;59(4):652-6.

of a case]. *Prog Urol.* 2000 Sep;10(4):520-3.

nephrectomy. *JSLS*. 2010 Jul-Sep;14(3):374-80.

cancer. Eur Urol. 2010 Mar;57(3):453-8.

2008a Dec;144(6):995-1001.

**7. Conclusion** 

**8. References** 

multiple robots could be inserted through a single incision rather than the traditional use of multiple port sites. Capabilities such as tissue retraction, single incision surgery, supplementary visualization, or lighting can be delivered by these micro-robots.

A well-known limitation of the current robotic platform is the lack of tactile feedback. However, the improved visualization and accuracy of robotic instrumentation may overcome this limitation. Furthermore, newer technologies with multiple compact robots, tracking tools, and tactile feedback apparatus may further expand the application of robotic surgery.

Fig. 8. Robot installation for tranrectal prostate biopsies

Fig. 9. The combination of multiple compact robots

## **7. Conclusion**

120 Robotic Systems – Applications, Control and Programming

multiple robots could be inserted through a single incision rather than the traditional use of multiple port sites. Capabilities such as tissue retraction, single incision surgery,

A well-known limitation of the current robotic platform is the lack of tactile feedback. However, the improved visualization and accuracy of robotic instrumentation may overcome this limitation. Furthermore, newer technologies with multiple compact robots, tracking tools, and tactile feedback apparatus may further expand the application of robotic

supplementary visualization, or lighting can be delivered by these micro-robots.

Fig. 8. Robot installation for tranrectal prostate biopsies

Fig. 9. The combination of multiple compact robots

surgery.

Robotic applications in urology are effective and safe technologies. Surgical technique have evolved and indications have been expanded to more challenging scenarios. New technologies are constantly reshaping the urological sphere especially robotics. Further refinements in robotic systems along with a reduction in cost are key components for rapid assimilation amongst the urological community.

## **8. References**


Robotic Urological Surgery: State of the Art and Future Perspectives 123

Hellenthal NJ, Hussain A, Andrews PE, Carpentier P, Castle E, Dasgupta P, Kaouk J, Khan

Hellenthal NJ, Hussain A, Andrews PE, Carpentier P, Castle E, Dasgupta P, Kaouk J, Khan

Hemal AK, Mukherjee S, & Singh K. (2010) Laparoscopic pyeloplasty versus robotic

Ho HS, Mohan P, Lim ED, Li DL, Yuen JS, Ng WS, Lau WK, & Cheng CW. (2009) Robotic

Horgan S, Vanuno D. (2001) Robots in laparoscopic surgery. *J Laparoendosc Adv Surg Tech*

Hubens G, Ysebaert D, Vaneerdeweg W, Chapelle T, & Eyskens E. (1999) Laparoscopic adrenalectomy with the aid of the AESOP 2000. *Acta Chir Belg* 1999;99:125-9. Joseph JV, Oleynikov D, Rentschler M, Dumpert J, & Patel HR. (2008) Microrobot assisted laparoscopic urological surgery in a canine model. *J Urol*. 2008 Nov;180(5):2202-5. Josephson DY, Chen JA, Chan KG, Lau CS, Nelson RA, & Wilson TG. (2010) Robotic-

Kaouk JH, Hafron J, Parekattil S, Moinzadeh A, Stein R, Gill IS, & Hegarty N. (2008) Is

Kaouk JH, Goel RK, Haber GP, Crouzet S, Stein RJ. (2009a) Robotic single-port transumbilical surgery in humans: initial report. *BJU Int*. 2009a Feb;103(3):366-9. Kaouk JH, Goel RK. (2009b) Single-port laparoscopic and robotic partial nephrectomy. *Eur* 

Kauffman EC, Ng CK, Lee MM, Otto BJ, Wang GJ, & Scherr DS. (2011) Early oncological

Krambeck AE, DiMarco DS, Rangel LJ, Bergstralh EJ, Myers RP, Blute ML, & Gettman MT.

experience and long-term results. *J Endourol*. 2008 Sep;22(9):2153-9.

radical cystectomy. *BJU Int*. 2011 Feb;107(4):628-35.

a single surgeon. *Can J Urol*. 2010 Feb;17(1):5012-6.

from phantom studies. *Int J Med Robot*. 2009 Mar;5(1):51-8

*BJU Int*. 2011 Feb;107(4):642-6.

2010 Jul;184(1):87-91.

2001;11:415-9. 15.

2010 Sep;6(3):315-23.

*Urol* 2009b; 55:1163–1169.

*Nephrol Ther*. 2009 Dec;5(7):623-30

S, Kibel A, Kim H, Manoharan M, Menon M, Mottrie A, Ornstein D, Palou J, Peabody J, Pruthi R, Richstone L, Schanne F, Stricker H, Thomas R, Wiklund P, Wilding G, & Guru KA. (2011) Lymphadenectomy at the time of robot-assisted radical cystectomy: results from the International Robotic Cystectomy Consortium.

S, Kibel A, Kim H, Manoharan M, Menon M, Mottrie A, Ornstein D, Palou J, Peabody J, Pruthi R, Richstone L, Schanne F, Stricker H, Thomas R, Wiklund P, Wilding G, & Guru KA. (2010) Surgical margin status after robot assisted radical cystectomy: results from the International Robotic Cystectomy Consortium. *J Urol*.

pyeloplasty for ureteropelvic junction obstruction: a series of 60 cases performed by

ultrasound-guided prostate intervention device: system description and results

assisted laparoscopic radical cystoprostatectomy and extracorporeal continent urinary diversion: highlight of surgical techniques and outcomes. *Int J Med Robot*.

retroperitoneal approach feasible for robotic dismembered pyeloplasty: initial

outcomes for bladder urothelial carcinoma patients treated with robotic-assisted

(2009) Radical prostatectomy for prostatic adenocarcinoma: a matched comparison of open retropubic and robot-assisted techniques. *BJU Int*. 2009 Feb;103(4):448-53. Lehman AC, Wood NA, Farritor S, Goede MR, & Oleynikov D. (2011) Dexterous miniature robot for advanced minimally invasive surgery. *Surg Endosc*. 2011 Jan;25(1):119-23. Louis G, Hubert J, Ladriere M, Frimat L, & Kessler M. (2009) [Robotic-assisted laparoscopic

donor nephrectomy for kidney transplantation. An evaluation of 35 procedures].


122 Robotic Systems – Applications, Control and Programming

Desai MM, Aron M, Berger A, Canes D, Stein R, Haber GP, Kamoi K, Crouzet S, Sotelo R,

Desai MM, Aron M, Gill IS, Haber GP, Ukimura O, Kaouk JH, Stahler G, Barbagli F, Carlson

Desai MM, Grover R, Aron M, Haber GP, Ganpule A, Kaouk I, Desai M, & Gill IS. (2008c)

Ficarra V, Novara G, Artibani W, Cestari A, Galfano A, Graefen M, Guazzoni G,

Gettman MT, Neururer R, Bartsch G, & Peschel R. (2002a) Anderson–Hynes dismembered

Gettman MT, Lotan Y, Napper CA, & Cadeddu JA. (2002b) Transvaginal laparoscopic

Gettman MT, Blute ML, Chow GK, Neururer R, Bartsch G, & Peschel R. (2004) Robotic-

Giulianotti PC, Buchs NC, Addeo P, Bianco FM, Ayloo SM, Caravaglios G, & Coratti A.

Gupta NP, Nayyar R, Hemal AK, Mukherjee S, Kumar R, & Dogra PN. (2010) Outcome

Haber GP, Crouzet S, Kamoi K, Berger A, Aron M, Goel R, Canes D, Desai M, Gill IS, &

Haber GP, Kamoi K, Vidal C, Koenig P, Crouzet S, Berger A, Aron M, Kaouk J, Desai M, &

Haber GP, White WM, Crouzet S, White MA, Forest S, Autorino R, & Kaouk JH. (2010a)

Haber GP, White MA, Autorino R, Escobar PF, Kroh MD, Chalikonda S, Khanna R, Forest S,

study of 150 patients. *Urology*. 2010a Sep;76(3):754-8.

with DaVinci robotic system. *Urology*. 2004 Nov;64(5):914-8.

Dec;102(11):1666-9.

May;55(5):1037-63.

*Robot*. 2011 Mar;7(1):27-32.

Apr;105(7):980-3.

Jun;71(6):996-1000.

Meeting; 2008b. p. 85.

Dec;76(6):1279-82.

1268].

509–513

59:446–450.

Gill IS. (2008a) Transvesical robotic radical prostatectomy. *BJU Int*. 2008a

C, & Moll F. (2008b) Flexible robotic retrograde renoscopy: description of novel robotic device and preliminary laboratory experience. *Urology*. 2008b Jul;72(1):42-6.

Remote robotic ureteroscopic laser lithotripsy for renal calculi: initial clinical experience with a novel flexible robotic system. *J Urol* 2008c; 179(4S):435 [Abstract #

Guillonneau B, Menon M, Montorsi F, Patel V, Rassweiler J, & Van Poppel H. (2009) Retropubic, laparoscopic, and robot-assisted radical prostatectomy: a systematic review and cumulative analysis of comparative studies. *Eur Urol*. 2009

pyeloplasty performed using the da Vinci robotic system. *Urology* (2002a) 60(3),

nephrectomy: development and feasibility in the porcine model. *Urology* 2002b;

assisted laparoscopic partial nephrectomy: technique and initial clinical experience

(2011) Robot-assisted adrenalectomy: a technical option for the surgeon? *Int J Med* 

analysis of robotic pyeloplasty: a large single-centre experience. *BJU Int*. 2010

Kaouk J. (2008a) Robotic NOTES (Natural Orifice Translumenal Endoscopic Surgery) in reconstructive urology: initial laboratory experience. *Urology*. 2008a

Gill IS. (2008b) Development and Evaluation of a Transrectal Ultrasound Robot for Targeted Biopsies and Focal Therapy of Prostate Cancer. EUS 2008 Annual

Robotic versus laparoscopic partial nephrectomy: single-surgeon matched cohort

Yang B, Altunrende F, Stein RJ, & Kaouk J. (2010b) Novel robotic da Vinci instruments for laparoendoscopic single-site surgery. *Urology.* 2010b


**7** 

**Reconfigurable Automation of** 

Wei Yao and Jian S. Dai *King's College London United Kingdom* 

**Carton Packaging with Robotic Technology** 

In the highly competitive food market, a wide variety of cartons is used for packaging with attractive forms, eye-catching shapes and various structures from a logistical and a marketing point of view. These frequent changes require innovative packaging. Hence, for some complex styles like origami cartons and cartons for small batch products, most confectionery companies have to resort to using manual efforts, a more expensive process adding cost to the final products, particularly when an expensive seasonal labor supply is required. This manual operating line must go through an expensive induction and training

Current machines are only used for the same general style or are specifically designed for a fixed type of cartons and all new cartons require development and manufacture of new tooling for this machinery. New tooling is also required for each different pack size and format. The development and manufacture of this tooling can be very expensive and increases the manufacturer's lead time for introducing new products to market, therefore reducing the manufacturer's ability to match changes in consumer demands. Tooling changeovers, when changing production from one packaging format to another, also adds cost to the manufacturer. It is uneconomical to produce a dedicated machine for a small batch production. Hence, in this high seasonal and competitive market, manufacturer needs a dexterous and reconfigurable machine for their variety and complexity in attracting

The machines are expected to reconfigure themselves to adapt to different types of cartons and to follow different instructions for various closing methods. Rapid expansion of robotics and automation technology in recent years has led to development of robots in packaging industry. Though pick and place robots were extensively used, complex tasks for erecting and closing origami-type cartons still resort to manual operations. This presents a challenge

Some related areas with carton folding on the problem of creating 3-D sheet metal parts from sheet metal blanks by bending are explored by some researchers to provide a starting point for exploration in this field when discussing folding sequences based on their objective function, consisting of a high-level planner that determines the sequence of bends, and a number of low level planners for individual actions. deVin (de Vin *et al.,1994)* described a computer-aided process planning system to determine bending sequences for sheet-metal manufacturing. Shpitalni and Saddan (Shpitalni & Saddan., 1994) described a system to

**1. Introduction** 

customers.

to robotics.

program to teach employees how to erect a carton.


## **Reconfigurable Automation of Carton Packaging with Robotic Technology**

Wei Yao and Jian S. Dai *King's College London United Kingdom* 

## **1. Introduction**

124 Robotic Systems – Applications, Control and Programming

Magheli A, Gonzalgo ML, Su LM, Guzzo TJ, Netto G, Humphreys EB, Han M, Partin AW, &

Menon M, Tewari A, Baize B, Guillonneau B, & Vallancien G. (2002) Prospective comparison

Patriciu A, Petrisor D, Muntener M, Mazilu D, Schär M, & Stoianovici D. (2007) Automatic

Pruthi RS, Nielsen ME, Nix J, Smith A, Schultz H, & Wallen EM. (2010) Robotic radical

Rocco B, Matei DV, Melegari S, Ospina JC, Mazzoleni F, Errico G, Mastropasqua M, Santoro

Rogers CG, Singh A, Blatt AM, Linehan WM, & Pinto PA. (2008a) Robotic partial

Scales CD Jr, Jones PJ, Eisenstein EL, Preminger GM, & Albala DM. (2005) Local cost

Stein RJ, White WM, Goel RK, Irwin BH, Haber GP, & Kaouk JH. (2010) Robotic

Wang AJ, Bhayani SB. (2009) Robotic partial nephrectomy versus laparoscopic partial

White MA, Haber GP, Autorino R, Khanna R, Hernandez AV, Forest S, Yang B, Altunrende

Yohannes P, Rotariu P, Pinto P, Smith AD, & Lee BR. (2002) Comparison of robotic versus

masses with nephrometry score of ≥7. *Urology*. 2011 Apr;77(4):809-13. Wilson T, Torrey R. (2011) Open versus robotic-assisted radical prostatectomy: which is

Vattikuti Urology Institute experience. *Urology*. 2002 Nov;60(5):864-8. Mozer PC, Partin AW, & Stoianovici D. (2009) Robotic image-guided needle interventions of

the prostate. Rev Urol. 2009 Winter;11(1):7-15

consecutive cases. *J Urol*. 2010 Feb;183(2):510-4.

procedures. *Urology*. 2009 Feb;73(2):306-10.

better? *Curr Opin Urol*. 2011 May;21(3):200-5.

Jun;107(12):1956-62.

Aug;54(8):1499-506

Mar;53(3):514-21

Dec;174(6):2323-9.

2010 Jan;57(1):132-6

Jul;60(1):39-45

5.

Pavlovich CP. (2011) Impact of surgical technique (open vs laparoscopic vs roboticassisted) on pathological and biochemical outcomes following radical prostatectomy: an analysis using propensity score matching. *BJU Int*. 2011

of radical retropubic prostatectomy and robot-assisted anatomic prostatectomy: the

brachytherapy seed placement under MRI guidance. IEEE Trans Biomed Eng. 2007

cystectomy for bladder cancer: surgical and pathological outcomes in 100

L, Detti S, & de Cobelli O. (2009) Robotic vs open prostatectomy in a laparoscopically naive centre: a matched-pair analysis. *BJU Int*. 2009 Oct;104(7):991-

nephrectomy for complex renal tumors: surgical technique. *Eur Urol*. 2008a

structures and the economics of robot assisted radical prostatectomy*. J Urol*. 2005

laparoendoscopic single-site surgery using GelPort as the access platform. *Eur Urol*.

nephrectomy for renal cell carcinoma: single-surgeon analysis of >100 consecutive

F, Stein RJ, & Kaouk JH. (2011) Outcomes of robotic partial nephrectomy for renal

laparoscopic skills: is there a difference in the learning curve? *Urology*. 2002.

In the highly competitive food market, a wide variety of cartons is used for packaging with attractive forms, eye-catching shapes and various structures from a logistical and a marketing point of view. These frequent changes require innovative packaging. Hence, for some complex styles like origami cartons and cartons for small batch products, most confectionery companies have to resort to using manual efforts, a more expensive process adding cost to the final products, particularly when an expensive seasonal labor supply is required. This manual operating line must go through an expensive induction and training program to teach employees how to erect a carton.

Current machines are only used for the same general style or are specifically designed for a fixed type of cartons and all new cartons require development and manufacture of new tooling for this machinery. New tooling is also required for each different pack size and format. The development and manufacture of this tooling can be very expensive and increases the manufacturer's lead time for introducing new products to market, therefore reducing the manufacturer's ability to match changes in consumer demands. Tooling changeovers, when changing production from one packaging format to another, also adds cost to the manufacturer. It is uneconomical to produce a dedicated machine for a small batch production. Hence, in this high seasonal and competitive market, manufacturer needs a dexterous and reconfigurable machine for their variety and complexity in attracting customers.

The machines are expected to reconfigure themselves to adapt to different types of cartons and to follow different instructions for various closing methods. Rapid expansion of robotics and automation technology in recent years has led to development of robots in packaging industry. Though pick and place robots were extensively used, complex tasks for erecting and closing origami-type cartons still resort to manual operations. This presents a challenge to robotics.

Some related areas with carton folding on the problem of creating 3-D sheet metal parts from sheet metal blanks by bending are explored by some researchers to provide a starting point for exploration in this field when discussing folding sequences based on their objective function, consisting of a high-level planner that determines the sequence of bends, and a number of low level planners for individual actions. deVin (de Vin *et al.,1994)* described a computer-aided process planning system to determine bending sequences for sheet-metal manufacturing. Shpitalni and Saddan (Shpitalni & Saddan., 1994) described a system to

Reconfigurable Automation of Carton Packaging with Robotic Technology 127

A carton is formed with crease lines and various geometric shapes of panels. Folding and manipulating a carton is a process of changing the position of panels and their relationship. Taking creases as revolute joints and cardboard panels as links, a carton can be modeled as a mechanism. The kinematic model of this equivalent mechanism provides motion of carton

Carton folding starts from a flat cardboard consisting of a set of panels with creases connecting adjacent panels. All the required motions involve carton panels folding about a crease-line through an angle. There are many ways to fold the carton box into its final state, which are based on the location and orientation of the folding. For the simple cartons the manipulation can be assumed to be at one joint between adjacent boards and each joint moves to its goal configuration. The motion path and sequence can be easily calculated by the joint angles of the carton. Folding sequence can be checked by following steps, including checking the reduced graph, which is checking the equivalent mechanism structures of cartons, to see if they are symmetric or have any other geometric characteristics; identifying independent branches which result in independent operations; searching folding layers in turn; and manipulating from the layer which is closest to the base, from the symmetric

**2. Equivalent mechanism of an origami carton** 

panels and from the node which is present in the shortest branch.

Fig. 1. A Carton Folding Sequence for an Origami Carton

During the process of the Origami carton folding the guiding joint can be identified. Four closed loops with four folding sub-mechanisms are found. For the sub-mechanism of a guiding joint, the mechanism can be described as a 5-Bar mechanism that the panels are described linkage and the creases are revolute joints. It is means that the reaction forces at

folding.

automatically generate bending sequences. The domain-specific costs for example the number of tool changes and part reorientations were used to guide the A\* search algorithm. Radin *et al.,* (Radin *et al.,* 1997) presented a two-stage algorithm. This method generates a bending sequence using collision avoidance heuristics and then searches for lower cost solutions without violating time constrains. Inui *et al.* (Inui *et al., 1987)* developed a method to plan sheet metal parts and give a bending simulation. Gupta *et al.* (Gupta *et al., 1997*) described a fully automated process planning system with a state-space search approach. Wang and Bourne (Wang & Bourne, 1997) explored a way to shape symmetry to reduce planning complexity for sheet metal layout planning, bend planning, part stacking, and assembly, the geometric constraints in carton folding parallel those in assembly planning. Wang (Wang, 1997) developed methods to unfold 3-D products into 2-D patterns, and identified unfolding bend sequences that avoided collisions with tools.

In computational biology, protein folding is one of the most important outstanding problems that fold a one-dimensional amino acid chain into a three-dimensional protein structure. Song and Amato (Song & Amato, 2001a, 2001b) introduced a new method by modeling these foldable objects as tree-like multi-link objects to apply a motion planning technique to a folding problem. This motion planning approach is based on the successful *probabilistic roadmap* (PRM) method (Kavraki *et al.,* 2001a, 2001b) which has been used to study the related problem of ligands binding (Singh *et al.,* 1999, Bayazit *et al.,* 2001). Advantages of the PRM approach are that it efficiently covers a large portion of the planning space and it also provides an effective way to incorporate and study various initial conformations, which has been of interest in drug design. Molecular dynamics simulations are the other methods (Levitt *et al*, 1983, Duan. *et al.*, 1993) which tried to simulate the true dynamics of the folding process using the classic Newton's equations of motion. They provided a means to study the underlying folding mechanism, to investigate folding pathways, and provided intermediate folding states.

Rapid expansion of robotics and automation technology in recent years has led to development of robots in packaging industry. Automation of the carton folding process involves several subtasks including automatic folding sequence generation, motion planning of carton folding, and development of robotic manipulators for reconfigurability. Though pick and place robots have been extensively used, complex tasks for erecting and closing origami-type cartons still resort to manual operations. This presents a challenge to robotics.

Investigating origami naturally leads to the study of folding machinery. This evolves to folding a carton. Lu and Akella (Lu & Akella, 1999, 2000) in 1999 by exploring a fixture technique to describe carton folding based on a conventional cubical carton using a SCARAtype robot and on the similarity between carton motion sequences with robot operation sequences. This approach uses the motion planner to aid the design of minimal complexity hardware by a human designer. But the technology only focused on rectangular cartons not on origami-type cartons which include spherical close chains on vertexes. Balkcom and Mason (Balkcom & Mason, 2004, Balkcom et al., 2004) investigated closed chain folding of origami and developed a machine designed to allow a 4DOF Adept SCARA robot arm to make simple folds. However for complex cartons including multi-closed chains the flexibility and reconfigurability of this method are limited. This requires a quantitative description of a carton, its folding motion and operations. Dai (Dai & Rees Jones, 2001, 2002, 2005, Liu & Dai, 2002, 2003, Dubey &Dai, 2006) and Yao (Yao & Dai, 2008, 2010, 2011) at King's College London developed a multi-fingered robotic system for carton folding.

## **2. Equivalent mechanism of an origami carton**

126 Robotic Systems – Applications, Control and Programming

automatically generate bending sequences. The domain-specific costs for example the number of tool changes and part reorientations were used to guide the A\* search algorithm. Radin *et al.,* (Radin *et al.,* 1997) presented a two-stage algorithm. This method generates a bending sequence using collision avoidance heuristics and then searches for lower cost solutions without violating time constrains. Inui *et al.* (Inui *et al., 1987)* developed a method to plan sheet metal parts and give a bending simulation. Gupta *et al.* (Gupta *et al., 1997*) described a fully automated process planning system with a state-space search approach. Wang and Bourne (Wang & Bourne, 1997) explored a way to shape symmetry to reduce planning complexity for sheet metal layout planning, bend planning, part stacking, and assembly, the geometric constraints in carton folding parallel those in assembly planning. Wang (Wang, 1997) developed methods to unfold 3-D products into 2-D patterns, and

In computational biology, protein folding is one of the most important outstanding problems that fold a one-dimensional amino acid chain into a three-dimensional protein structure. Song and Amato (Song & Amato, 2001a, 2001b) introduced a new method by modeling these foldable objects as tree-like multi-link objects to apply a motion planning technique to a folding problem. This motion planning approach is based on the successful *probabilistic roadmap* (PRM) method (Kavraki *et al.,* 2001a, 2001b) which has been used to study the related problem of ligands binding (Singh *et al.,* 1999, Bayazit *et al.,* 2001). Advantages of the PRM approach are that it efficiently covers a large portion of the planning space and it also provides an effective way to incorporate and study various initial conformations, which has been of interest in drug design. Molecular dynamics simulations are the other methods (Levitt *et al*, 1983, Duan. *et al.*, 1993) which tried to simulate the true dynamics of the folding process using the classic Newton's equations of motion. They provided a means to study the underlying folding mechanism, to investigate folding

Rapid expansion of robotics and automation technology in recent years has led to development of robots in packaging industry. Automation of the carton folding process involves several subtasks including automatic folding sequence generation, motion planning of carton folding, and development of robotic manipulators for reconfigurability. Though pick and place robots have been extensively used, complex tasks for erecting and closing origami-type cartons still resort to manual operations. This presents a challenge to

Investigating origami naturally leads to the study of folding machinery. This evolves to folding a carton. Lu and Akella (Lu & Akella, 1999, 2000) in 1999 by exploring a fixture technique to describe carton folding based on a conventional cubical carton using a SCARAtype robot and on the similarity between carton motion sequences with robot operation sequences. This approach uses the motion planner to aid the design of minimal complexity hardware by a human designer. But the technology only focused on rectangular cartons not on origami-type cartons which include spherical close chains on vertexes. Balkcom and Mason (Balkcom & Mason, 2004, Balkcom et al., 2004) investigated closed chain folding of origami and developed a machine designed to allow a 4DOF Adept SCARA robot arm to make simple folds. However for complex cartons including multi-closed chains the flexibility and reconfigurability of this method are limited. This requires a quantitative description of a carton, its folding motion and operations. Dai (Dai & Rees Jones, 2001, 2002, 2005, Liu & Dai, 2002, 2003, Dubey &Dai, 2006) and Yao (Yao & Dai, 2008, 2010, 2011) at

King's College London developed a multi-fingered robotic system for carton folding.

identified unfolding bend sequences that avoided collisions with tools.

pathways, and provided intermediate folding states.

robotics.

A carton is formed with crease lines and various geometric shapes of panels. Folding and manipulating a carton is a process of changing the position of panels and their relationship. Taking creases as revolute joints and cardboard panels as links, a carton can be modeled as a mechanism. The kinematic model of this equivalent mechanism provides motion of carton folding.

Carton folding starts from a flat cardboard consisting of a set of panels with creases connecting adjacent panels. All the required motions involve carton panels folding about a crease-line through an angle. There are many ways to fold the carton box into its final state, which are based on the location and orientation of the folding. For the simple cartons the manipulation can be assumed to be at one joint between adjacent boards and each joint moves to its goal configuration. The motion path and sequence can be easily calculated by the joint angles of the carton. Folding sequence can be checked by following steps, including checking the reduced graph, which is checking the equivalent mechanism structures of cartons, to see if they are symmetric or have any other geometric characteristics; identifying independent branches which result in independent operations; searching folding layers in turn; and manipulating from the layer which is closest to the base, from the symmetric panels and from the node which is present in the shortest branch.

Fig. 1. A Carton Folding Sequence for an Origami Carton

During the process of the Origami carton folding the guiding joint can be identified. Four closed loops with four folding sub-mechanisms are found. For the sub-mechanism of a guiding joint, the mechanism can be described as a 5-Bar mechanism that the panels are described linkage and the creases are revolute joints. It is means that the reaction forces at

Reconfigurable Automation of Carton Packaging with Robotic Technology 129

One of the corners located at O1 formed one spherical mechanism. When its folding joint *s*  moves and controls the configuration of the mechanism and drives joints *t*, and *p*. When the two joints attached the mobility of the mechanism reduces from 2 to 1 and the mechanism gets its singularity. The joint *s* is active and called control joint. During the manually folding of this origami carton human fingers attaches the control joints and drives them into goal

*y*

*p* 

4 *ρ*

*x*

2 *b*

<sup>1</sup> E

Among joint axes *t, s, p* and fixed axes *b1* and *b2* configuration control vector *s* provides the guiding joint axis that controls the carton section configuration. The spherical links between joint axes are labeled as AB, BC, CD, DE, and EA. Since angles *ρi* between revolute joints are constant throughout the movement of the linkage, the coordinates of the joint axes *t, s,* and *p* can be obtained by matrix operation from original joint axis *b1* which is a unit vector. This

σ

3 *ρ* D

5 *ρ*

= ⋅ arccos( ) *b t*

= ⋅ arccos( ) *t s*

= ⋅ arccos( ) *s p*

relationship of the axes can be given in terms of geometric constraints as,

1 ρ

2 ρ

3 ρ

positions.

**3.Geometry analysis of the mechanism**  The geometric arrangement is defined in figure 4.

*t*

*s*

Fig. 4. Geometry of spherical five-bar mechanism

1 *b*

A

<sup>1</sup> <sup>O</sup> *<sup>ρ</sup>* B

C

2 *ρ*

*z*

the joint of the box paper do not produce unexpected deformation. Five revolute joints axes that intersect in the point that is the intersection of the creases define the spherical linkage and their movement is defined.

Figure 2 gives a half-erected origami carton which consists of four sections at vertexes located at four corners of the carton labeled as O1, O2, O3, and O4Folding manipulation of the carton is dominated by these sections. The rectangular base of the carton is fixed on the ground. Four creases along the rectangular base are given by four vectors *b1, b2, b3* and *b4* Four centrally movable creases are given as *s, s'', s''* and *s'''* each of which is active in a gusset corner. The carton is symmetric along line AA' .

Fig. 2. A half-erected origami

Thus an equivalent mechanism is modeled in figure 3.4. The five bar mechanism's centres are located at four corners of the carton base O1, O2, O3, and O4.From the equivalent mechanism and folding process, the five-bar spherical mechanism can determine the configuration of the carton.

Fig. 3. The equivalent mechanism of the base of a double wall tray

One of the corners located at O1 formed one spherical mechanism. When its folding joint *s*  moves and controls the configuration of the mechanism and drives joints *t*, and *p*. When the two joints attached the mobility of the mechanism reduces from 2 to 1 and the mechanism gets its singularity. The joint *s* is active and called control joint. During the manually folding of this origami carton human fingers attaches the control joints and drives them into goal positions.

## **3.Geometry analysis of the mechanism**

128 Robotic Systems – Applications, Control and Programming

the joint of the box paper do not produce unexpected deformation. Five revolute joints axes that intersect in the point that is the intersection of the creases define the spherical linkage

Figure 2 gives a half-erected origami carton which consists of four sections at vertexes located at four corners of the carton labeled as O1, O2, O3, and O4Folding manipulation of the carton is dominated by these sections. The rectangular base of the carton is fixed on the ground. Four creases along the rectangular base are given by four vectors *b1, b2, b3* and *b4* Four centrally movable creases are given as *s, s'', s''* and *s'''* each of which is active in a gusset

.

Thus an equivalent mechanism is modeled in figure 3.4. The five bar mechanism's centres are located at four corners of the carton base O1, O2, O3, and O4.From the equivalent mechanism and folding process, the five-bar spherical mechanism can determine the

O 2

A

1 *b*

*s*′

O1

*b*<sup>1</sup> *b*<sup>4</sup>

*s''*

*t s p*

O3

*t''*

O4

*s'''*

A′

<sup>O</sup> <sup>3</sup> <sup>O</sup> <sup>4</sup>

*s*′′′ *s*′′

<sup>2</sup> *<sup>b</sup>* <sup>3</sup> *<sup>b</sup>* <sup>4</sup> *<sup>b</sup>*

*p'''*

*b*3

*t'''*

Fig. 3. The equivalent mechanism of the base of a double wall tray

*p''*

*b*2

O2

*t' s'*

*s*

O1

and their movement is defined.

Fig. 2. A half-erected origami

configuration of the carton.

*p'*

corner. The carton is symmetric along line AA'

The geometric arrangement is defined in figure 4.

Fig. 4. Geometry of spherical five-bar mechanism

Among joint axes *t, s, p* and fixed axes *b1* and *b2* configuration control vector *s* provides the guiding joint axis that controls the carton section configuration. The spherical links between joint axes are labeled as AB, BC, CD, DE, and EA. Since angles *ρi* between revolute joints are constant throughout the movement of the linkage, the coordinates of the joint axes *t, s,* and *p* can be obtained by matrix operation from original joint axis *b1* which is a unit vector. This relationship of the axes can be given in terms of geometric constraints as,

$$\begin{aligned} \rho\_1 &= \arccos(b \cdot t) \\\\ \rho\_2 &= \arccos(t \cdot s) \\\\ \rho\_3 &= \arccos(s \cdot p) \end{aligned}$$

Reconfigurable Automation of Carton Packaging with Robotic Technology 131

5 5 4 4

 ς

<sup>−</sup> <sup>=</sup> − −

ς ς

Substituting *p* of equation (4.15) and *s* of equation (4.6) into equation (4.3) gives,

*D E F*

σ ξ

σξ

= −

− − = ±

σρ

ρ

ς and sς

ς

*s*

3 21

3 21

μσς

Two columns are equal and can be easily got,

ςφξ

The control vector *s* also can be gotten from the transformation:

ρ ρ μ σ

c

μ

σ ξ ς

ρ

ρ

/ 2 , the above becomes,

π

Assembling the same terms of c

The main elevation angle

The vector can be expressed,

Since ρ ρ4 5 = =

Where,

obtained,

 ρς

 ρ

c 0s c s 0 c 0s 0 0 10s c 0 0 100 s 0c 0 0 1 s 0c 1

 ρ

ρ

*p* (10)

 ρ

 ρ

*p* (11)

= + (12)

(13)

(15)

(17)

can hence be

(14)

φ and ξ

*y z y b* (16)

<sup>−</sup> <sup>=</sup> (18)

<sup>−</sup> (19)

5 5 4 4

0 s c ς

= −

<sup>3</sup> c c s c s s

*DEF* ( , )c ( , )s 0

3

1 1 2 2 ( , ) tan ( ) cos ( ) *D F*

1 1 11 <sup>1</sup> 2 1 *s z* = *RR RR* ( ,)( , )( ,)( , ) ′′ ′′

*E D E*

 μρ

1 2 2 1 2 2 2 22 21

 σμρ

2 2 cc cc

 ρρ

> 2 2

 ρρ

s ρς

ρ

s ρς

cc cc ( , )=arccos

ρ

 ρρ

c s cc c s c sss sss css ssc cc

ρ ρ σ σμ ρ

− −+ =−+ − +

σμρ

ρρμ

+

ρ

(,) s c (,) s c

= =

 + += σ ξ ς

> φξ

 ξ

varying with the transmission angles

 ςφξ

ς

 ςξ

, the above can be rearranged as,

$$
\rho\_4 = \arccos(p \cdot d)
$$

$$
\rho\_5 = \arccos(d \cdot b) \tag{1}
$$

Further, the configuration control vector *s* can be determined as,

$$\begin{aligned} s &= \mathbf{R} (-\,^1 y, \mathbf{9} \mathbf{0}^0 + \phi) \mathbf{R} (-\,^1 \mathbf{x}', \tilde{\xi}) \mathbf{b}\_1 = \\ &= \begin{bmatrix} \mathbf{c} (\mathbf{9} \mathbf{0}^0 + \phi & \mathbf{0} & -\mathbf{s} (\mathbf{9} \mathbf{0}^0 + \phi) \\ \mathbf{0} & \mathbf{1} & \mathbf{0} \\ \mathbf{s} (\mathbf{9} \mathbf{0}^0 + \phi) & \mathbf{0} & \mathbf{c} (\mathbf{9} \mathbf{0}^0 + \phi) \end{bmatrix} \begin{bmatrix} \mathbf{1} & \mathbf{0} & \mathbf{0} \\ \mathbf{0} & \mathbf{c} \tilde{\xi} & \mathbf{s} \tilde{\xi} \\ \mathbf{0} & -\mathbf{s} \tilde{\xi} & \mathbf{c} \tilde{\xi} \end{bmatrix} \begin{bmatrix} \mathbf{0} \\ \mathbf{0} \\ \mathbf{1} \end{bmatrix} = \begin{bmatrix} -\mathbf{c} \phi \mathbf{c} \tilde{\xi} \\ \mathbf{s} \tilde{\xi} \\ -\mathbf{s} \phi \mathbf{c} \tilde{\xi} \end{bmatrix} \end{aligned} \tag{2}$$

The side elevation vector *t* is given as,

$$\begin{aligned} \mathbf{t} &= \mathbf{R}(-^{1}\mathbf{z}, \sigma) \mathbf{R}(-^{1}\mathbf{y}', \rho\_{1}) \mathbf{b}\_{1} = \\\\ &= \begin{bmatrix} \mathbf{c}\sigma & \mathbf{s}\sigma & 0 \\ -\mathbf{s}\sigma & \mathbf{c}\sigma & 0 \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} \mathbf{c}\rho\_{1} & 0 & -\mathbf{s}\rho\_{1} \\ 0 & 1 & 0 \\ \mathbf{s}\rho\_{1} & 0 & \mathbf{c}\rho\_{1} \end{bmatrix} \begin{bmatrix} 0 \\ 0 \\ 1 \end{bmatrix} = \begin{bmatrix} -\mathbf{c}\sigma \mathbf{s}\rho\_{1} \\ \mathbf{s}\sigma \mathbf{s}\rho\_{1} \\ \mathbf{c}\rho\_{1} \end{bmatrix} \end{aligned} \tag{3}$$

Further the geometric constraint gives,

$$\mathbf{t} \cdot \mathbf{s} = \mathbf{c} \,\rho\_2 \tag{4}$$

Substituting *t* of equation (2) and *s* of equation (3) into above yields

$$\mathbf{c}\,\rho\_2 = c\phi\,\mathbf{c}\,\xi\,\mathbf{c}\,\sigma\,\mathbf{s}\rho\_1 + \mathbf{s}\xi\,\mathbf{s}\sigma\,\mathbf{s}\rho\_1 - s\phi\,\mathbf{c}\,\rho\_1\,\mathbf{c}\xi\tag{5}$$

Collecting the same terms with cσ and sσ, the above equation can be rewritten as,

$$A(\phi, \xi) \propto \sigma + B(\phi, \xi) \,\mathrm{s} \,\sigma - C(\phi, \xi) = 0,\tag{6}$$

Where

$$\begin{array}{l} A(\phi,\xi) = \operatorname{s\,\rho\_1\ c\,\xi}\text{ c\,\phi,} \\ B(\phi,\xi) = \operatorname{s\,\xi}\text{ s\,\rho\_1,} \\ C(\phi,\xi) = -\operatorname{s\,\phi\,\,c\,\rho\_1\ c\,\xi-\operatorname{c\,\rho\_2}.} \end{array} \tag{7}$$

The side elevation angle σ varying with the transmission angles φ and ξ can hence be given:

$$\sigma(\phi,\xi) = \tan^{-1}(\frac{A}{B}) \pm \cos^{-1}(\frac{\mathbb{C}}{\sqrt{A^2 + B^2}}) \tag{8}$$

Further, the main elevation vector *p* can be obtain as,

$$\mathbf{p} = \mathbf{R}(^1y\_{\prime}\rho\_{\S})\mathbf{R}(^1z^{\prime},\xi)\mathbf{R}(^1y\_{\prime}^{\prime}\rho\_{\S})\mathbf{b}\_1\tag{9}$$

Hence,

$$
\boldsymbol{\mathfrak{p}} = \begin{bmatrix}
\mathbf{c}\boldsymbol{\rho}\_{\mathfrak{s}} & \mathbf{0} & \mathbf{s}\boldsymbol{\rho}\_{\mathfrak{s}} \\
\mathbf{0} & \mathbf{1} & \mathbf{0} \\
\end{bmatrix}
\begin{bmatrix}
\mathbf{c}\boldsymbol{\varphi} & -\mathbf{s}\boldsymbol{\varphi} & \mathbf{0} \\
\mathbf{s}\boldsymbol{\varphi} & \mathbf{c}\boldsymbol{\varphi} & \mathbf{0} \\
\mathbf{0} & \mathbf{0} & \mathbf{1}
\end{bmatrix}
\begin{bmatrix}
\mathbf{c}\boldsymbol{\rho}\_{4} & \mathbf{0} & \mathbf{s}\boldsymbol{\rho}\_{4} \\
\mathbf{0} & \mathbf{1} & \mathbf{0} \\
\end{bmatrix}
\begin{bmatrix}
\mathbf{0} \\
\mathbf{0} \\
\mathbf{1}
\end{bmatrix}
\tag{10}
$$

Since ρ ρ 4 5 = = π/ 2 , the above becomes,

$$\mathbf{p} = \begin{bmatrix} 0 \\ \mathbf{s}\boldsymbol{\zeta} \\ -\mathbf{c}\boldsymbol{\zeta} \end{bmatrix} \tag{11}$$

Substituting *p* of equation (4.15) and *s* of equation (4.6) into equation (4.3) gives,

$$\mathbf{c}\,\rho\_{\clubsuit} = \mathbf{c}\,\mathbf{\tilde{s}}\,\mathbf{s}\,\phi\,\mathbf{c}\,\tilde{\mathbf{\tilde{s}}} + \mathbf{s}\,\mathbf{\tilde{s}}\,\mathbf{s}\,\tilde{\mathbf{\tilde{s}}}\tag{12}$$

Assembling the same terms of cς and sς, the above can be rearranged as,

$$D(\sigma,\xi)\csc\xi + E(\sigma,\xi)\csc\xi + F = 0\tag{13}$$

Where,

130 Robotic Systems – Applications, Control and Programming

= ⋅ arccos( ) *p d*

1

0 1 0 0c s 0 s

φ

φ

c(90 0 s(90 ) 1 0 0 0 c c

+ −+ <sup>−</sup> = =

ξξ

11 1

 ρ

11 1

φ ξ

1 2

*B A B*

+

<sup>5</sup> 4 1 *p y* = *z*′ ′ *y b* (9)

 ξ ξ

s(90 ) 0 c(90 ) 0 s c 1 s c

1 1

 ρ

ρ

c s 0 c 0 s 0 cs s c 0 0 1 0 0 ss 0 0 1s 0 c 1 c

− − = − <sup>=</sup>

ρρ

<sup>2</sup> *t s*⋅ = c ρ

= +− *ccc s ss s sc c*

*A BC* ( , )c ( , )s ( , ) 0,

1 1

 φ ρ ξ ρ

(,) c .

=− −

varying with the transmission angles

1 1 2 2 ( , ) tan ( ) cos ( ) *A C*

1 11 R( , )R( , )R( , )

 ςρ

(,) c, (,) ,

 ρ ξ φ

 ξ ρ

− − = ±

ρ

*A sc B ss C sc c*

= =

φξ

φξ

φξ

φ ξ σ

+ −=

+ +− −

= ⋅ arccos( ) *d b* (1)

φ ξ (2)

(3)

(5)

(6)

(7)

(8)

can hence be

φ and ξ

 ξ

 φξ

1

(4)

σ ρ

σ ρ

> ρ

, the above equation can be rewritten as,

4 ρ

5 ρ

> ξ

Further, the configuration control vector *s* can be determined as,

0 0

0 0

1 1

*t z yb*

Substituting *t* of equation (2) and *s* of equation (3) into above yields

 2 1 11 c ρ

> φ ξ σ

σ

Further, the main elevation vector *p* can be obtain as,

σφξ

 φξ

σ and sσ

σ ρ ξ σ ρ φρ ξ

σ

σ σ

σ σ

R( , )R( , )

=− − = ′

10 1

φ

φ

*s*

The side elevation vector *t* is given as,

Further the geometric constraint gives,

Collecting the same terms with c

The side elevation angle

Where

given:

Hence,

R( ,90 )R( , )

φ

*y xb*

=− + − = ′

$$\begin{array}{l}D(\sigma,\xi) = \mathbf{s}\,\phi \; \mathbf{c}\,\xi\\E(\sigma,\xi) = \mathbf{s}\,\tilde{\xi}\\F = -\mathbf{c}\,\rho\_{\oplus}\end{array} \tag{14}$$

The main elevation angle ς varying with the transmission angles φ and ξ can hence be obtained,

$$\text{sgn}(\phi, \xi) = \tan^{-1}(\frac{D}{E}) \pm \cos^{-1}(\frac{F}{\sqrt{D^2 + E^2}}) \tag{15}$$

The control vector *s* also can be gotten from the transformation:

$$\mathbf{s} = \mathbf{R}(^1z', \sigma)\mathbf{R}(^1y', \rho\_1)\mathbf{R}(^1z', \mu)\mathbf{R}(^1y', \rho\_2)b\_1\tag{16}$$

The vector can be expressed,

$$\mathbf{s} = \begin{bmatrix} -\mathbf{c}\rho\_1 \mathbf{s}\rho\_2 \mathbf{c}\mu \mathbf{c}\sigma - \mathbf{c}\rho\_2 \mathbf{s}\rho\_1 \mathbf{c}\sigma + \mathbf{s}\sigma \mathbf{s}\mu \mathbf{s}\rho\_2 \\ -\mathbf{s}\sigma \mathbf{s}\mu \mathbf{s}\rho\_2 + \mathbf{c}\sigma \mathbf{s}\mu \mathbf{s}\rho\_2 \\ -\mathbf{s}\rho\_2 \mathbf{s}\rho\_2 \mathbf{c}\mu + \mathbf{c}\rho\_2 \mathbf{c}\rho\_1 \end{bmatrix} \tag{17}$$

Two columns are equal and can be easily got,

$$\mathbf{c}\,\mu = \frac{\mathbf{c}\rho\_3\mathbf{c}\,\mathbf{c}\,\mathbf{y} - \mathbf{c}\rho\_2\mathbf{c}\,\rho\_1}{\mathbf{s}\rho\_2^2} \tag{18}$$

$$\mu(\sigma,\xi) = \arccos \frac{\mathbf{c}\rho\_3 \mathbf{c}\xi - \mathbf{c}\rho\_2 \mathbf{c}\rho\_1}{\mathbf{s}\rho\_2^2} \tag{19}$$

Reconfigurable Automation of Carton Packaging with Robotic Technology 133

Thus after canceling the dual parts of the infinitesimal screw the joint speeds can be

*s*

• • • − + =

2 1

3

s s +s c c +s <sup>G</sup> c cs ss c c cs cs

c c s s s c c +s c c <sup>G</sup> c cs ss c c cs cs ss s cc sc scs

3 1

ss s cc cs 1 0 0 cs s sc ss 0 0 s cc c 01 c <sup>ω</sup> κ ς− ρ κ ς − σ ρ <sup>ω</sup> ω κ ς− ρ κ ρ = σ ρ ς <sup>ω</sup> −ρ ς ρ −ς

3 1

−κς ρ κ ς ς <sup>=</sup> <sup>σ</sup> ς ρ <sup>κ</sup> ρ ρ − σ ς ρ <sup>κ</sup> <sup>ς</sup>

1 33 1

1 33 1

− κ ς + ρ κ ς + ς ρ − ςςρ

ss s cc sc scs

κ ς ς− ρ κ ς ρ ς ς ρ <sup>=</sup> <sup>σ</sup> ς ρ <sup>κ</sup> ρ ρ − σ ς ρ <sup>κ</sup> <sup>ς</sup>

3 11

3 11

*b bt p*

 σ

ω

ς

κ

 *\$\$\$ \$ \$*

κ

<sup>−</sup> =− +

 μω

μςσ

(20)

(21)

(24)

(26)

*t p s* (22)

− κ <sup>ς</sup> <sup>+</sup> <sup>ρ</sup> <sup>κ</sup> <sup>ς</sup> <sup>+</sup> ς ρ <sup>−</sup> ςςρ (23)

*v b* (25)

2

p

ω

is the Jacobean matrix for the control of the system.

t

b

b

Where, *s* is control vector that got from last section Assume that a velocity of control vector *v* is,

With the application of Cramer's rule,

For the coefficients can be gotten,

computed as,

then,

Where,

where, the matrix

45 34 15 21 32 *<sup>s</sup> v\$ \$ \$ \$ \$* =+= ++

[ ] 34 21 32 45 15

1

 33 3 2

1

s 33 1

So, the velocity of the control joint *s* can be obtained,

1 1 1

cs 1 0 0 ss 0 0 s c 01 c −σρ <sup>σ</sup> ρ ς <sup>ρ</sup> <sup>−</sup> <sup>ς</sup>

=ς +ς +σ 21 2 G G

ςκσ

Hence, the elevation angles are related to the transmission angles that control the configuration vector *s*. Both sets of angles feature the carton configuration. The following Figure 5 shows the end-point trajectories of four configuration control vector.

Fig. 5. End-point trajectories of four configuration control vectors

## **4. Velocity-control formulation of the single-vertex on the origami carton**

The kinematic representation of the spherical mechanism is showed an above figure which is in the Cartesian space

Fig. 6. Screw of the spherical five-bar mechanism

.

Since the system is spherical the fixed point o can be selected as represent point and the system only have 3 rotation parts in Plücker coordinates the infinitesimal screw are given by, 51 *\$* <sup>=</sup> (0,0,1;0) , 12 1 11 *\$* = −( c s ,s s ,c ;0) σρ σρ ρ , 45 *\$* <sup>=</sup> (1,0,0;0) , 34 *\$* = − (0,s , c ;0) ς ς , <sup>23</sup> *\$* <sup>=</sup> ( ;0) *<sup>s</sup>* . 23 *\$* <sup>=</sup> ( ;0) *<sup>s</sup>* .

Where, *s* is control vector that got from last section Assume that a velocity of control vector *v* is,

$$\boldsymbol{\sigma} = \dot{\boldsymbol{\mathfrak{S}}} \cdot \boldsymbol{\mathfrak{S}}\_{45} + \dot{\boldsymbol{\kappa}} \cdot \boldsymbol{\mathfrak{S}}\_{34} = \dot{\boldsymbol{\sigma}} \cdot \boldsymbol{\mathfrak{S}}\_{15} + \dot{\boldsymbol{\mu}} \, \mathbf{S}\_{21} + o\_s \, \mathbf{S}\_{32} \tag{20}$$

Thus after canceling the dual parts of the infinitesimal screw the joint speeds can be computed as,

$$\begin{bmatrix} -\mathbb{S}\_{34} \ \mathbb{S}\_{21} \ \mathbb{S}\_{32} \end{bmatrix} \begin{bmatrix} \cdot\\\kappa\\\dot{\mu}\\a\_{\ast}\\b\_{\ast} \end{bmatrix} = -\dot{\varphi}\mathbb{S}\_{43} + \dot{\sigma}\mathbb{S}\_{13} \tag{21}$$

With the application of Cramer's rule,

$$\stackrel{\star}{\kappa} = \frac{\stackrel{\star}{\cdots} \stackrel{\star}{b\_2 + \stackrel{\star}{\sigma} b\_1} \stackrel{\star}{t} \stackrel{p}{p}}{\begin{vmatrix} \stackrel{\star}{t} \stackrel{p}{p} \stackrel{\star}{s} \end{vmatrix}} \tag{22}$$

For the coefficients can be gotten,

$$\mathbf{G}\_{1} = \frac{-s\mathbf{x}\mathbf{s}\mathbf{s}\mathbf{\zeta}^{+}\mathbf{s}\mathbf{p}\_{3}\mathbf{c}\mathbf{x}\mathbf{c}\mathbf{c}\mathbf{\zeta} + s\mathbf{s}\mathbf{\zeta}}{\mathbf{c}\mathbf{c}\mathbf{c}\mathbf{c}\mathbf{c}\mathbf{s}\mathbf{p}\_{1}\mathbf{s}\mathbf{x}\mathbf{s}\mathbf{p}\_{3}\mathbf{c}\mathbf{p}\_{3} - \mathbf{c}\mathbf{c}\mathbf{c}\mathbf{c}\mathbf{y}\mathbf{c}\mathbf{p}\_{1}\mathbf{c}\mathbf{x}\mathbf{s}\mathbf{g}}}$$

$$-\mathbf{s}\mathbf{x}\mathbf{s}\mathbf{\zeta} + s\mathbf{p}\_{3}\mathbf{c}\mathbf{x}\mathbf{c}\mathbf{\zeta} + s\mathbf{c}\mathbf{y}\mathbf{c}\mathbf{p}\_{1} - s\mathbf{c}\mathbf{y}\mathbf{c}\mathbf{y}\mathbf{s}\mathbf{p}\_{1}}\tag{23}$$

 then,

132 Robotic Systems – Applications, Control and Programming

Hence, the elevation angles are related to the transmission angles that control the configuration vector *s*. Both sets of angles feature the carton configuration. The following

Figure 5 shows the end-point trajectories of four configuration control vector.

Fig. 5. End-point trajectories of four configuration control vectors

μ

is in the Cartesian space

.

<sup>23</sup> *\$* <sup>=</sup> ( ;0) *<sup>s</sup>* . 23 *\$* <sup>=</sup> ( ;0) *<sup>s</sup>* .

**51**

Fig. 6. Screw of the spherical five-bar mechanism

by, 51 *\$* <sup>=</sup> (0,0,1;0) , 12 1 11 *\$* = −( c s ,s s ,c ;0)

*z*

*\$***<sup>12</sup>**

**4. Velocity-control formulation of the single-vertex on the origami carton** 

*y*

O

Since the system is spherical the fixed point o can be selected as represent point and the system only have 3 rotation parts in Plücker coordinates the infinitesimal screw are given

> ρ

σ

σρ σρ

The kinematic representation of the spherical mechanism is showed an above figure which

*\$***<sup>23</sup>** *\$***<sup>34</sup>**

κ

ζ

*x*

, 45 *\$* <sup>=</sup> (1,0,0;0) , 34 *\$* = − (0,s , c ;0)

ς ς,

*\$***<sup>45</sup>**

$$\mathbf{G}\_2 = \frac{\mathbf{c}\mathbf{c}\mathbf{c}\mathbf{c}\mathbf{s}\mathbf{c} - \mathbf{s}\mathbf{p}\_3 \mathbf{s}\mathbf{c}\mathbf{c}\mathbf{c}\mathbf{p}\mathbf{p}\_3 + \mathbf{s}\mathbf{c}\mathbf{c}\mathbf{c}\mathbf{p}\_3}{\mathbf{c}\mathbf{c}\mathbf{c}\mathbf{c}\mathbf{s}\mathbf{p}\_1 \mathbf{s}\mathbf{c}\mathbf{s}\mathbf{p}\_3 - \mathbf{c}\mathbf{c}\mathbf{c}\mathbf{c}\mathbf{s}\mathbf{p}\_1 \mathbf{c}\mathbf{s}\mathbf{c}\mathbf{s}}}\tag{24}$$
 
$$-\mathbf{s}\mathbf{c}\mathbf{s}\mathbf{c} + \mathbf{s}\mathbf{p}\_3 \mathbf{c}\mathbf{c}\mathbf{c}\mathbf{c} + \mathbf{s}\mathbf{c}\mathbf{c}\mathbf{p}\_1 - \mathbf{s}\mathbf{c}\mathbf{c}\mathbf{c}\mathbf{s}\mathbf{p}\_1}$$

So, the velocity of the control joint *s* can be obtained,

$$\mathbf{v} = \dot{\mathbf{\zeta}} \,\mathbf{b}\_2 + \dot{\mathbf{\zeta}} \,\mathbf{G}\_1 + \dot{\mathbf{\sigma}} \,\mathbf{G}\_2 \tag{25}$$

Where,

$$\mathbf{o}\_{\mathbf{s}} \begin{bmatrix} \mathbf{s}\mathbf{x}\mathbf{s}\mathbf{\xi} - \mathbf{s}\mathbf{p}\_{3}\mathbf{c}\mathbf{x}\mathbf{c}\mathbf{\xi} \\ \mathbf{c}\mathbf{x}\mathbf{s}\mathbf{\xi} - \mathbf{s}\mathbf{p}\_{3}\mathbf{s}\mathbf{x}\mathbf{c}\mathbf{p}\_{3} \\ -\mathbf{c}\mathbf{p}\_{3}\mathbf{c}\mathbf{\xi} \end{bmatrix} = \begin{bmatrix} -\mathbf{c}\mathbf{c}\mathbf{s}\boldsymbol{\rho}\_{1} & 1 & 0 & 0 \\ \mathbf{s}\mathbf{c}\mathbf{s}\boldsymbol{\rho}\_{1} & 0 & 0 & \mathbf{s}\boldsymbol{\xi} \\ \mathbf{c}\boldsymbol{\rho}\_{1} & 0 & 1 & -\mathbf{c}\boldsymbol{\xi} \end{bmatrix} \begin{bmatrix} \mathbf{o}\_{\mathbf{t}} \\ \mathbf{o}\_{\mathbf{b}\_{1}} \\ \mathbf{o}\_{\mathbf{b}\_{2}} \\ \mathbf{o}\_{\mathbf{p}\_{3}} \end{bmatrix} \tag{26}$$

where, the matrix 1 1 1 cs 1 0 0 ss 0 0 s c 01 c −σρ <sup>σ</sup> ρ ς <sup>ρ</sup> <sup>−</sup> <sup>ς</sup> is the Jacobean matrix for the control of the system.

Reconfigurable Automation of Carton Packaging with Robotic Technology 135

[ν<sup>1234</sup> ννν ] (28)

Then the Jacobean matrix of the robotic system is determined as *ij \$* , where *i* for finger's

The whole folding process can be simulated by the multi-fingered robotic system in the

This methodology of multi-robotic manipulations using configuration space transformation in interactive configuration space is the theoretical base for the further development of multi-finger reconfigurable systems. This test rig has given experimental knowledge and information for further reconfigurable systems in packaging industry. In this robotic system, all motors of the robotic fingers and the two horizontal jaws are controlled by a computer. For different types of cartons, the system just need be changed the programs based on their

[] [ ] <sup>−</sup><sup>1</sup> ω= ν *ij <sup>i</sup> <sup>J</sup>* (29)

number and *j* for motors number.

following figure 8.

Then every motor's speeds and control can be set.

folding trajectories without readjusting the hardwires of the system.

## **5. Simulation of automatically folding origami carton using a multi-fingered robotic system**

The robot has been designed based on the analysis of common motion and manipulation, which has four fingers in the following figure 7, two with three degrees of freedom noted finger 1 and finger 2, and two noted with finger 3 and finger4 with two degrees of freedom each. These fingers design are able to offer required folding trajectories by changing the control programs of the fingers' motors. Two horizontal jaws are arranged with the pushing direction parallel to the fingers' horizontal tracks. The joints of the fingers are actuated directly by motors and the whole system requires 14 controlled axes. This design is considered specifically based on providing high degree of reconfigurability with minimum number of motors to be controlled.

Fig. 7. A Multi-fingered robot for origami carton folding

To determine the control setting and speeds of the actuated joints for the multi-finger robotic system when fingertips are in special location and twists the *Jacobian* [ **J** ] need to be identified as.

$$\begin{bmatrix} \mathbf{S}\_s \end{bmatrix} = \begin{bmatrix} \mathbf{J} \end{bmatrix} \begin{bmatrix} \alpha \mathbf{o}\_l \end{bmatrix} \tag{27}$$

For corner1 which located in O1 in configuration space the main parts of the screw is shown in equation 25.

Expanding to the four fingers robotic system, each finger related one Conner manipulation which their velocities is got from four five bar's control joints twist. While ,

$$\begin{bmatrix} \mathbf{v}\_1 & \mathbf{v}\_2 & \mathbf{v}\_3 & \mathbf{v}\_4 \end{bmatrix} \tag{28}$$

Then the Jacobean matrix of the robotic system is determined as *ij \$* , where *i* for finger's number and *j* for motors number.

$$\begin{bmatrix} \alpha\_{ij} \end{bmatrix} = \begin{bmatrix} J \end{bmatrix}^{-1} \begin{bmatrix} \mathbf{v}\_i \end{bmatrix} \tag{29}$$

Then every motor's speeds and control can be set.

134 Robotic Systems – Applications, Control and Programming

**5. Simulation of automatically folding origami carton using a multi-fingered** 

The robot has been designed based on the analysis of common motion and manipulation, which has four fingers in the following figure 7, two with three degrees of freedom noted finger 1 and finger 2, and two noted with finger 3 and finger4 with two degrees of freedom each. These fingers design are able to offer required folding trajectories by changing the control programs of the fingers' motors. Two horizontal jaws are arranged with the pushing direction parallel to the fingers' horizontal tracks. The joints of the fingers are actuated directly by motors and the whole system requires 14 controlled axes. This design is considered specifically based on providing high degree of reconfigurability with minimum

**robotic system** 

number of motors to be controlled.

Finger4

Fig. 7. A Multi-fingered robot for origami carton folding

which their velocities is got from four five bar's control joints twist.

identified as.

in equation 25.

While ,

To determine the control setting and speeds of the actuated joints for the multi-finger robotic system when fingertips are in special location and twists the *Jacobian* [ **J** ] need to be

Finger2

Finger1

Finger3

[*\$ J s i* ] = ω [ ][ ] (27)

For corner1 which located in O1 in configuration space the main parts of the screw is shown

Expanding to the four fingers robotic system, each finger related one Conner manipulation

The whole folding process can be simulated by the multi-fingered robotic system in the following figure 8.

This methodology of multi-robotic manipulations using configuration space transformation in interactive configuration space is the theoretical base for the further development of multi-finger reconfigurable systems. This test rig has given experimental knowledge and information for further reconfigurable systems in packaging industry. In this robotic system, all motors of the robotic fingers and the two horizontal jaws are controlled by a computer. For different types of cartons, the system just need be changed the programs based on their folding trajectories without readjusting the hardwires of the system.

Reconfigurable Automation of Carton Packaging with Robotic Technology 137

This paper has presented new approaches to carton modelling and carton folding analysis. By investigating carton examples, with an analysis of the equivalent mechanism, the gusset vertexes of the cartons - being a common structure of cartons - were extracted and analyzed based on their equivalent spherical linkages and were identified as guiding linkages that

A reconfigurable robotic system was designed based on the algorithms for multi-fingered manipulation and the principle of reconfigurability was demonstrated. The simulation results for the folding of an origami carton were given to prove the theory of the multifingered manipulation strategy and the concept of reconfigurable robotic systems. Test rigs were developed to demonstrate the principles of the reconfigurable packaging technology.

Balkcom, D.J., Demaine, E.D. and Demaine, M.L. Folding paper shopping bags, In

Balkcom, D.J.and Mason, M.T. Introducing Robotic Origami Folding, *Proc. 2004 IEEE* 

Bayazit, O. B., Song, G. and Amato, N. M. Ligand binding with obprm and haptic user

Dai, J. S. and Rees Jones, J. Interrelationship between screw systems and corresponding reciprocal systems and applications, *Mech.Mach.Theary*, 36(3), pp633-651, 2001. Dai, J. S. and Rees Jones, J., Kinematics and Mobility Analysis of Carton Folds in Packing

Dai, J. S. and Rees Jones, J., Matrix Representation of Topological Configuration

de Vin, L. J., de Vries, J., Streppel, A. H., Klaassen, E. J. W. and Kals, H. J. J., The generation

Duan, Y. and Kollman, P.A. Pathways to a protein folding intermediate observed in a 1 microsecond simulation in aqueous solution, *Science*, 282:740–744, 1998. Dubey, V. N., and Dai, J.S., A Packaging Robot for Complex Cartons, *Industrial Robot: An* 

Gupta, S. K., Bourne, D. A., Kim, K. H. and Krishnan, S. S., Automated process planning for sheet metal bending operations, *J. Manufact. Syst.*, vol. 17, no. 5, pp. 338–360, 1998. Inui, M., Kinosada, A., Suzuki, H., Kimura, F. and Sata, T., Automatic process planning for

*International Conference on Robotics and Automation*, 2004.

*Science, Proc, IMechE, Part C*, 216(10): 959-970, 2002.

*Mechanical Design*, 127(4): 837-840, 2005

*Processing Technol.*, vol. 41, pp. 331–339, 1994.

*International Journal*, ISSN: 0143-991X, 33(2): 82-87, 2006.

*Foundations of Robotics (WAFR)*, pages 435–448, 1996.

*Proceedings of the 14th Annual Fall Workshop on Computational Geometry*, Cambridge,

input: Enhancing automatic motion planning with virtual touch, In *Proc. IEEE Int. Conf. Robot. Autom. (ICRA)*, 2001. To appear. This work will be presented as a poster

Manipulation Based on the Mechanism Equivalent, *Journal of Mechanical Engineering* 

Transformation of Metamorphic Mechanisms, *Transactions of the ASME: Journal of* 

of bending sequences in a CAPP system for sheet metal components, *J. Mater.* 

sheet metal parts with bending simulation, in *ASME Winter Annu. Meeting, Symp. on Intelligent and Integrated Manufacturing Analysis and Synthesis*, 1987, pp. 245–258. Kavraki, L., Geometry and the discovery of new ligands, In *Proc. Int. Workshop on Algorithmic* 

**6. Conclusion** 

determine folding.

**7. References** 

Mass., Nov. 19-20. 2004.

at RECOMB'01.

Fig. 8. Simulation of a multi-fingered manipulation on an origami carton

Fig. 9. A multi-fingered robotic system

## **6. Conclusion**

136 Robotic Systems – Applications, Control and Programming

Fig. 8. Simulation of a multi-fingered manipulation on an origami carton

Fig. 9. A multi-fingered robotic system

This paper has presented new approaches to carton modelling and carton folding analysis. By investigating carton examples, with an analysis of the equivalent mechanism, the gusset vertexes of the cartons - being a common structure of cartons - were extracted and analyzed based on their equivalent spherical linkages and were identified as guiding linkages that determine folding.

A reconfigurable robotic system was designed based on the algorithms for multi-fingered manipulation and the principle of reconfigurability was demonstrated. The simulation results for the folding of an origami carton were given to prove the theory of the multifingered manipulation strategy and the concept of reconfigurable robotic systems. Test rigs were developed to demonstrate the principles of the reconfigurable packaging technology.

## **7. References**


**8** 

*New Zealand* 

**Autonomous Anthropomorphic Robotic System** 

**to Monitor Plant Growth in a Laboratory** 

Gourab Sen Gupta1, Mark Seelye1, John Seelye2 and Donald Bailey1

*2The New Zealand Institute for Plant & Food Research Limited, Palmerston North* 

An autonomous anthropomorphic robotic arm has been designed and fabricated to automatically monitor plant tissue growth in a modified clonal micro-propagation system which is being developed for the New Zealand Institute for Plant & Food Research Limited. The custom-fabricated robotic arm uses a vertical linear ball shaft and high speed stepper motors to provide the movements of the various joints, with the arm able to swivel 180 degrees horizontally. Sensors located at the end of the arm monitor plant growth and the ambient growing environment. These include a compact colour zoom camera mounted on a pan and tilt mechanism to capture high resolution images, RGB (red, green and blue) colour sensors to monitor leaf colour as well as sensors to measure ambient atmospheric temperature, relative humidity and carbon dioxide. The robotic arm can reach anywhere over multiple trays (600mm x 600mm) of plantlets. Captured plant tissue images are processed using innovative algorithms to determine tissue, or whole plant, growth rates over specified time periods. Leaf colour sensors provide information on the health status of tissue by comparing the output with predetermined optimum values. Custom software has been developed to fully automate the operation of the robotic arm and capture data, allowing the arm to return to specified sites (i.e. individual plantlets) at set time intervals to identify subtle changes in growth rates and leaf colour. This will allow plant nutrient levels and the immediate environment to be routinely adjusted in response to this continuous

sensing, resulting in optimised rapid growth of the plant with minimal human input.

These low cost colour sensors can be incorporated into a continuous automated system for monitoring leaf colour of growing plants. Subtle colour changes can be an early indication of stress from less than optimum nutrient concentrations. In this chapter we also detail the calibration technique for a RGB sensor and compare it with a high end spectrophotometer.

Robotic and automated systems are becoming increasingly common in all economic sectors. In the past decade there has been a push towards more automation in the horticulture

**1. Introduction** 

**2. Robotic systems in agriculture** 

**with Low-Cost Colour Sensors** 

*1School of Engineering and Advanced Technology (SEAT),* 

*Massey University, Palmerston North,* 


## **Autonomous Anthropomorphic Robotic System with Low-Cost Colour Sensors to Monitor Plant Growth in a Laboratory**

Gourab Sen Gupta1, Mark Seelye1, John Seelye2 and Donald Bailey1 *1School of Engineering and Advanced Technology (SEAT), Massey University, Palmerston North, 2The New Zealand Institute for Plant & Food Research Limited, Palmerston North New Zealand* 

## **1. Introduction**

138 Robotic Systems – Applications, Control and Programming

Kavraki, L., Svestka, P., Latombe, J. C. and Overmars, M., Probabilistic roadmaps for path

Levitt, M., Protein folding by restrained energy minimization and molecular dynamics, *J.* 

Liu, H. and Dai, J.S., Carton Manipulation Analysis Using Configuration Trasformation, *Journal of Mechanical Science, Proc. IMechE*. 216(C5), pp. 543-555,2002. Liu,H. and Dai, J.S., An Approach to Carton-Folding Trajectory Planning Using Dual Robotic Fingers, *Robotics and Autonomous Systems*, 42(1), pp. 47-63, 2003. Lu, L and Akella, S., Folding Cartons with Fixtures: A Motion Planning Approach, *IEEE Trans on Robotics and Automation*, vol.16, no. 4, pp. 346-356, August 2000. Lu, L. and Akella, S. Folding Cartons with Fixtures: A Motion Plannin Approach, *Proc of the* 

Radin, B., Shpitalni, M. and Hartman, I., Two-stage algorithm for determination of the

Radin, B., Shpitalni, M. and Hartman, I., Two-stage algorithm for determination of the

Shpitalni, M. and Saddan, D., Automatic determination of bending sequence in sheet metal

Singh, A.P., Latombe, J.C. and Brutlag, D.L. A motion planning approach to flexible ligand

Song, G. and Amato, N. M., A motion planning approach to folding: From paper craft to protein folding, In *Proc. IEEE Int. Conf. Robot. Autom. (ICRA)*, pages 948–953, 2001. Song, G. and Amato, N. M., Using motion planning to study protein folding pathways, In *Proc. Int. Conf. Comput. Molecular Biology (RECOMB)*, pages 287–296, 2001. Wang, C.-H. and Bourne, D. A., Using symmetry to reduce planning complexity: A case

Wang, C.-H., Manufacturability-Driven Decomposition of Sheet Metal Products, Ph.D.

Yao,W. and Dai,J.S., Dexterous Manipulation of Origami Cartons with Robot Fingers in the

Yao,W., Cannella,F and Dai,J.S., Automatic Folding of Cartons Using a Reconfigurable

Yao,W., Dai,J.S., Medland,T. and Mullineux,G., A Reconfigurable Robotic Folding System

bending sequence in sheet metal products, *ASME J. Mechan. Design*, vol. 119, pp.

bending sequence in sheet metal products, *ASME J. Mechan. Design*, vol. 119, pp.

binding, In *7th Int. Conf. on Intelligent Systems for Molecular Biology (ISMB)*, pages

study in sheet-metal production, in *Proc. 1997 ASME Design Engineering Technical* 

dissertation, The Robotics Inst., Carnegie Mellon Univ., Pittsburgh, PA, Robotics

Interactive Configuration Space, *Transactions of the ASME: Journal of Mechanical* 

Robotic System, *Robotics and Computer-Integrated Manufacturing*. 27(3), pp 604-613,

for Confectionery Industry, *Industrial Robot: An International Journal*, 37(6), pp 542-

*IEEE International Conference on Robotics and Automation*, May 1999.

products, *Ann. CIRP*, vol. 43, no. 1, pp. 23–26, 1994.

*Conf.*, Sacramento, CA, Sept. 1997, DETC97DFM4327.

Inst. Tech. Rep. CMU-RI-TR-97-35, Sept. 1997.

*Design,* 130(2),pp.022303\_1-8, 2008.

12(4):566–580, August 1996.

*Mol. Bio.*, 170:723–764, 1983.

259–266, 1997.

259–266, 1997.

252–261, 1999.

2011.

551, 2010.

planning in high-dimensional configuration spaces, *IEEE Trans. Robot. Automat.*,

An autonomous anthropomorphic robotic arm has been designed and fabricated to automatically monitor plant tissue growth in a modified clonal micro-propagation system which is being developed for the New Zealand Institute for Plant & Food Research Limited. The custom-fabricated robotic arm uses a vertical linear ball shaft and high speed stepper motors to provide the movements of the various joints, with the arm able to swivel 180 degrees horizontally. Sensors located at the end of the arm monitor plant growth and the ambient growing environment. These include a compact colour zoom camera mounted on a pan and tilt mechanism to capture high resolution images, RGB (red, green and blue) colour sensors to monitor leaf colour as well as sensors to measure ambient atmospheric temperature, relative humidity and carbon dioxide. The robotic arm can reach anywhere over multiple trays (600mm x 600mm) of plantlets. Captured plant tissue images are processed using innovative algorithms to determine tissue, or whole plant, growth rates over specified time periods. Leaf colour sensors provide information on the health status of tissue by comparing the output with predetermined optimum values. Custom software has been developed to fully automate the operation of the robotic arm and capture data, allowing the arm to return to specified sites (i.e. individual plantlets) at set time intervals to identify subtle changes in growth rates and leaf colour. This will allow plant nutrient levels and the immediate environment to be routinely adjusted in response to this continuous sensing, resulting in optimised rapid growth of the plant with minimal human input.

These low cost colour sensors can be incorporated into a continuous automated system for monitoring leaf colour of growing plants. Subtle colour changes can be an early indication of stress from less than optimum nutrient concentrations. In this chapter we also detail the calibration technique for a RGB sensor and compare it with a high end spectrophotometer.

### **2. Robotic systems in agriculture**

Robotic and automated systems are becoming increasingly common in all economic sectors. In the past decade there has been a push towards more automation in the horticulture

Autonomous Anthropomorphic Robotic System

**3. Overview of the robotic system** 

axis, as opposed to just the end-effector.

**3.1 Robotic arm using servo motors** 

camera.

with Low-Cost Colour Sensors to Monitor Plant Growth in a Laboratory 141

The reported robotic system has been developed to work in a specific environment using specific sensors – it is meant to monitor growth of plant tissues in a laboratory. The plantlets are growing in multiple trays (600mm x 600mm) which are arranged contiguously on a shelf and there are multiple shelves one above the other. The robot should thus be able to extend its reach vertically and monitor plants in each shelf and be capable of reaching each tray. The robotic system designed is based on a SCARA (Selective Compliant Assembly/Articulated Robot Arm) robot. However, SCARA robots are rigid in the Z-axis and pliable in the XY-axes only. This rigidity in the Z-axis is a serious limitation of a SCARA robot for the given scenario. In the proposed system the entire arm is able to move in the Z-

Another point of difference between the proposed system and conventional off-the-shelf industrial robot is the mechanism to house the sensors. To monitor the growth of plants, colour camera and RGB sensors are used. To enable the robot to position itself at a desired distance from the plant surface, proximity sensors are also required. The sensors need to be housed in an enclosure at the end of the robotic arm. In order to capture images and take RGB sensor readings from any angle it should be possible to pan and tilt the sensor housing structure. Such a mechanism is not a standard part of a conventional off-the-shelf industrial robot. In general, the costs of industrial robotic systems are far greater than the proposed system, often a lot more bulky and it is hard to integrate additional components (i.e. Sensors). Two prototypes of the camera-in-hand robotic system were designed and built. The initial prototype made use of servo motors, designed as a simple experiment to test the viability of the system and its control mechanism. The colour camera was incorporated in this prototype and its control was implemented. The captured images were stored in a database for subsequent retrieval and processing. The prototype also helped to experiment with the wireless remote control of the robotic arm and the remote setting of camera features such as zoom, gain and exposure. Having established the 'proof-of-concept', the second prototype was designed and built to industrial specifications. This version of the prototype made use of hightorque stepper motors and greatly improved the performance of the robotic arm. Additionally, this prototype incorporated low-cost RGB colour sensors for monitoring plant health together with a proximity sensor. Sensors to monitor the ambient atmosphere were also incorporated to measure temperature, humidity and CO2 levels. Section 3.1 gives a concise overview of the

first prototype and section 3.2 details the second prototype in greater depth.

The basic concept of this robotic system, from human input to the control of the arm and camera, is outlined in the functional block diagram shown in figure 1. A system engineering approach was employed to take the robotic arm from concept to reality, making use of standard components and integrating them together to make the final product. The robotic arm was designed using 5 servo motors and implemented a pan and tilt mechanism for the

The operator uses a joystick to control the movement of the robotic arm. This joystick connects to the PC via a USB interface. Movements of the joystick, made by the operator, vary the slide bars on the Graphical User Interface (GUI) running on the PC and at the same time control the movement of the joints of the arm. Serial data is then sent via the USB to the wireless transmitter (Zigbee Pro) module which transmits the data to the wireless receiver

industry, and it is only now, as robots become more sophisticated and reliable, that we are beginning to see them used to undertake routine, often repetitive tasks, which are expensive to do using a highly paid labour force. With rapid strides in technological advancement, more and more applications have become possible. These include the development of a robotic system for weed control (Slaughter, et al., 2008), a system for automatic harvesting of numerous agri-science products such as cutting flowers grown in greenhouses (Kawollek & Rath, 2008) and automating cucumber harvesting in greenhouses (van Henten, et al., 2002). Advances in electronics have empowered engineers to build robots that are capable of operating in unstructured environments (Garcia, et al., 2009). Camera-in-hand robotic systems are becoming increasingly popular, wherein a camera is mounted on the robot, usually at the hand, to provide an image of the objects located in the robot's workspace (Kelly, et al., 2000). Increasingly, robots are being used to sort, grade, pack and even pick fruits. Fruits can be identified and classified on a continuously moving conveyer belt (Reyes & Chiang, 2009). An autonomous wheeled robot has been developed to pick kiwifruit from orchard vines (Scarfe, et al., 2009). Robotic techniques for production of seedlings have been developed, identifying a need to add a machine vision system to detect irregularities in seed trays and to provide supplementary sowing using a 5-arm robot (HonYong, et al., 1999).

Automation of micro propagation for the rapid multiplication of plants has been described for the micro propagation of a grass species that replaces the costly and tedious manual process (Otte, et al., 1996). A system has also been developed that combines plant recognition and chemical micro-dosing using autonomous robotics (Sogaard & Lund, 2007).

Colour as a means of assessing quality is also gaining popularity amongst researchers. These include evaluating bakery products using colour-based machine vision (Abdullah, et al., 2000), monitoring tea during fermentation (Borah & Bhuyan, 2005), grading specific fruits and vegetables (Kang & Sabarez, 2009; Miranda, et al., 2007; Omar & MatJafri, 2009) and in the health sector to determine blood glucose concentrations (Raja & Sankaranarayanan, 2006). Near infrared (NIR) sensors are also gaining popularity as non-destructive means of assessing fruit and plant material, including the measurements of plant nutrient status (Menesatti, et al., 2010) as well as testing of fruit quality (Hu, et al., 2005; Nicola¨, et al., 2007; Paz, et al., 2009).

Investigation into non-destructive methods to measure the health status of plants is a relatively new area of research. Subtle leaf colour changes can be used as a measure of plant health. Although limited work has been carried out in real time, a recent micro-propagation based system used potato tissue images captured via a digital camera, to identify the colour of selected pixels (Yadav, et al., 2010). Spectral reflectance, using a range of spectral bands, has been used as a non-destructive measure of leaf chlorophyll content in a range of species (Gitelson, et al., 2003). Alternative methods make use of spectroscopic systems using a fixed light source to record colour reflectance of multiple samples (Yam & Papadakis, 2004).

The introduction of machine vision as a means of investigating the environment allows for very complex systems to be developed. Over the years the conventional "robotic design types" have remained more or less the same; however modified designs are increasingly being employed for specific tasks. Designs of robotic arms have made huge progress in recent years, as motor controllers, sensors and computers have become more sophisticated. It is envisaged that as more sensors, such as NIR (near infra-red) and colour sensors, become readily available, these will be integrated in the robotic arm. One such integrated system, which is unique and different from off-the-shelf robots, is detailed in this chapter.

## **3. Overview of the robotic system**

140 Robotic Systems – Applications, Control and Programming

industry, and it is only now, as robots become more sophisticated and reliable, that we are beginning to see them used to undertake routine, often repetitive tasks, which are expensive to do using a highly paid labour force. With rapid strides in technological advancement, more and more applications have become possible. These include the development of a robotic system for weed control (Slaughter, et al., 2008), a system for automatic harvesting of numerous agri-science products such as cutting flowers grown in greenhouses (Kawollek & Rath, 2008) and automating cucumber harvesting in greenhouses (van Henten, et al., 2002). Advances in electronics have empowered engineers to build robots that are capable of operating in unstructured environments (Garcia, et al., 2009). Camera-in-hand robotic systems are becoming increasingly popular, wherein a camera is mounted on the robot, usually at the hand, to provide an image of the objects located in the robot's workspace (Kelly, et al., 2000). Increasingly, robots are being used to sort, grade, pack and even pick fruits. Fruits can be identified and classified on a continuously moving conveyer belt (Reyes & Chiang, 2009). An autonomous wheeled robot has been developed to pick kiwifruit from orchard vines (Scarfe, et al., 2009). Robotic techniques for production of seedlings have been developed, identifying a need to add a machine vision system to detect irregularities in seed trays and to provide supplementary sowing using a 5-arm robot (HonYong, et al., 1999). Automation of micro propagation for the rapid multiplication of plants has been described for the micro propagation of a grass species that replaces the costly and tedious manual process (Otte, et al., 1996). A system has also been developed that combines plant recognition and chemical micro-dosing using autonomous robotics (Sogaard & Lund, 2007). Colour as a means of assessing quality is also gaining popularity amongst researchers. These include evaluating bakery products using colour-based machine vision (Abdullah, et al., 2000), monitoring tea during fermentation (Borah & Bhuyan, 2005), grading specific fruits and vegetables (Kang & Sabarez, 2009; Miranda, et al., 2007; Omar & MatJafri, 2009) and in the health sector to determine blood glucose concentrations (Raja & Sankaranarayanan, 2006). Near infrared (NIR) sensors are also gaining popularity as non-destructive means of assessing fruit and plant material, including the measurements of plant nutrient status (Menesatti, et al., 2010) as well as testing of fruit quality (Hu, et al., 2005; Nicola¨, et al.,

Investigation into non-destructive methods to measure the health status of plants is a relatively new area of research. Subtle leaf colour changes can be used as a measure of plant health. Although limited work has been carried out in real time, a recent micro-propagation based system used potato tissue images captured via a digital camera, to identify the colour of selected pixels (Yadav, et al., 2010). Spectral reflectance, using a range of spectral bands, has been used as a non-destructive measure of leaf chlorophyll content in a range of species (Gitelson, et al., 2003). Alternative methods make use of spectroscopic systems using a fixed light source to record colour reflectance of multiple samples (Yam & Papadakis, 2004). The introduction of machine vision as a means of investigating the environment allows for very complex systems to be developed. Over the years the conventional "robotic design types" have remained more or less the same; however modified designs are increasingly being employed for specific tasks. Designs of robotic arms have made huge progress in recent years, as motor controllers, sensors and computers have become more sophisticated. It is envisaged that as more sensors, such as NIR (near infra-red) and colour sensors, become readily available, these will be integrated in the robotic arm. One such integrated system,

which is unique and different from off-the-shelf robots, is detailed in this chapter.

2007; Paz, et al., 2009).

The reported robotic system has been developed to work in a specific environment using specific sensors – it is meant to monitor growth of plant tissues in a laboratory. The plantlets are growing in multiple trays (600mm x 600mm) which are arranged contiguously on a shelf and there are multiple shelves one above the other. The robot should thus be able to extend its reach vertically and monitor plants in each shelf and be capable of reaching each tray. The robotic system designed is based on a SCARA (Selective Compliant Assembly/Articulated Robot Arm) robot. However, SCARA robots are rigid in the Z-axis and pliable in the XY-axes only. This rigidity in the Z-axis is a serious limitation of a SCARA robot for the given scenario. In the proposed system the entire arm is able to move in the Zaxis, as opposed to just the end-effector.

Another point of difference between the proposed system and conventional off-the-shelf industrial robot is the mechanism to house the sensors. To monitor the growth of plants, colour camera and RGB sensors are used. To enable the robot to position itself at a desired distance from the plant surface, proximity sensors are also required. The sensors need to be housed in an enclosure at the end of the robotic arm. In order to capture images and take RGB sensor readings from any angle it should be possible to pan and tilt the sensor housing structure. Such a mechanism is not a standard part of a conventional off-the-shelf industrial robot. In general, the costs of industrial robotic systems are far greater than the proposed system, often a lot more bulky and it is hard to integrate additional components (i.e. Sensors).

Two prototypes of the camera-in-hand robotic system were designed and built. The initial prototype made use of servo motors, designed as a simple experiment to test the viability of the system and its control mechanism. The colour camera was incorporated in this prototype and its control was implemented. The captured images were stored in a database for subsequent retrieval and processing. The prototype also helped to experiment with the wireless remote control of the robotic arm and the remote setting of camera features such as zoom, gain and exposure. Having established the 'proof-of-concept', the second prototype was designed and built to industrial specifications. This version of the prototype made use of hightorque stepper motors and greatly improved the performance of the robotic arm. Additionally, this prototype incorporated low-cost RGB colour sensors for monitoring plant health together with a proximity sensor. Sensors to monitor the ambient atmosphere were also incorporated to measure temperature, humidity and CO2 levels. Section 3.1 gives a concise overview of the first prototype and section 3.2 details the second prototype in greater depth.

## **3.1 Robotic arm using servo motors**

The basic concept of this robotic system, from human input to the control of the arm and camera, is outlined in the functional block diagram shown in figure 1. A system engineering approach was employed to take the robotic arm from concept to reality, making use of standard components and integrating them together to make the final product. The robotic arm was designed using 5 servo motors and implemented a pan and tilt mechanism for the camera.

The operator uses a joystick to control the movement of the robotic arm. This joystick connects to the PC via a USB interface. Movements of the joystick, made by the operator, vary the slide bars on the Graphical User Interface (GUI) running on the PC and at the same time control the movement of the joints of the arm. Serial data is then sent via the USB to the wireless transmitter (Zigbee Pro) module which transmits the data to the wireless receiver

Autonomous Anthropomorphic Robotic System

with Low-Cost Colour Sensors to Monitor Plant Growth in a Laboratory 143

Fig. 3. The completed robotic arm with camera, joystick and plant trays

Using a modular approach the system was built and tested in parts. The sub-systems that had to be programmed, such as the servo-controller, joystick and camera, were tested separately. The testing setup and procedures are explained in this section. The servo controller board can take two types of serial mode signals – USB and 5V TTL UART. The controller board, together with the joystick, was tested using the connection diagram shown

Fig. 4. Block diagram showing connection between PC, servo controller board and joystick In the first instance a simple program was written in Visual Basic, allowing each servo motor to be controlled separately by clicking buttons. The motor parameters such as stepping rate and acceleration interval could be entered through the program's user interface. The user interface of the test program is shown in figure 5. This program sent the corresponding commands to the servo motor controller board. The next step was to control the servo motor by implementing a slide bar (figure 2). This allowed the operator to slide the bar, which incremented or decremented the position value, allowing simple movements based on the position byte. On successfully implementing controls for one servo motor,

multiple servo motors could then be controlled in the same manner.

**3.1.1 Control of servo motor based robotic arm** 

in figure 4.

module. The received data is then sent to the camera and the servo controller board. The user interface is shown in figure 2 and the completed robotic system, with plant trays, is shown in figure 3.

Fig. 1. Functional block diagram of the camera-in-hand robotic system

Fig. 2. The Graphical User Interface (GUI) of the robot control system

142 Robotic Systems – Applications, Control and Programming

module. The received data is then sent to the camera and the servo controller board. The user interface is shown in figure 2 and the completed robotic system, with plant trays, is

Fig. 1. Functional block diagram of the camera-in-hand robotic system

**Image Additional Commands** 

**Coordinate system** 

**Zoom position** 

Fig. 2. The Graphical User Interface (GUI) of the robot control system

shown in figure 3.

**Joystick On/Off** 

**Slide Bars (Manual Control)** 

Fig. 3. The completed robotic arm with camera, joystick and plant trays

## **3.1.1 Control of servo motor based robotic arm**

Using a modular approach the system was built and tested in parts. The sub-systems that had to be programmed, such as the servo-controller, joystick and camera, were tested separately. The testing setup and procedures are explained in this section. The servo controller board can take two types of serial mode signals – USB and 5V TTL UART. The controller board, together with the joystick, was tested using the connection diagram shown in figure 4.

Fig. 4. Block diagram showing connection between PC, servo controller board and joystick

In the first instance a simple program was written in Visual Basic, allowing each servo motor to be controlled separately by clicking buttons. The motor parameters such as stepping rate and acceleration interval could be entered through the program's user interface. The user interface of the test program is shown in figure 5. This program sent the corresponding commands to the servo motor controller board. The next step was to control the servo motor by implementing a slide bar (figure 2). This allowed the operator to slide the bar, which incremented or decremented the position value, allowing simple movements based on the position byte. On successfully implementing controls for one servo motor, multiple servo motors could then be controlled in the same manner.

Autonomous Anthropomorphic Robotic System

Fig. 6. SolidWorks rendered design of the robotic arm

Fig. 7. The system in various stages of development and integration

Sensors

Fig. 8. (a) Completed robotic arm using stepper motors (b) Camera housing and RGB colour

with Low-Cost Colour Sensors to Monitor Plant Growth in a Laboratory 145


Fig. 5. User interface of the test program to control individual motors

### **3.2 Robotic arm using stepper motors**

The second design of the robot was extensively influenced by the knowledge and insight gained from the servo motor based design of the robotic arm. The robotic arm was designed to move the end-effector over trays of plant material located on different levels of shelving units to capture images and the colour of the plant material and to use this information as a non-destructive measurement of plant health. To achieve this, a compact colour camera ("Sony Professional," 2010), proximity and colour sensor ("Parallax Home," 2010) are housed in the end-effector. Each tray measures approximately 600mm x 600mm, with each shelf located approximately 300mm above the previous shelf, with the top shelf approximately 1000mm high. The system is designed to move the arm into the trays, capture the required information and then move up to the next shelf and repeat the process on the next tray.

### **3.2.1 Mechanical design of the robotic arm**

To allow the robotic arm to move vertically, a ball screw and shaft assembly is incorporated, converting rotational motion into vertical movement. The conceptual design is shown in figure 6. The arm contains a pan and tilt system at its distal end, which houses the camera, colour and proximity sensors. The operation of the arm is completely automated, continually gathering information from the sensors and capturing images for assessment and analysis.

The design is based on a modified SCARA robotic arm. Designed in the 3D CAD package, Solidworks, all components where machined in-house using a CNC machine. The arm itself has been through a number of design iterations to overcome unforeseen problems and to improve the efficiency of operation.

The robotic arm went through a number of design phases, with each design an improvement over the previous design iteration. In the initial concept it was intended to

144 Robotic Systems – Applications, Control and Programming

Fig. 5. User interface of the test program to control individual motors

The second design of the robot was extensively influenced by the knowledge and insight gained from the servo motor based design of the robotic arm. The robotic arm was designed to move the end-effector over trays of plant material located on different levels of shelving units to capture images and the colour of the plant material and to use this information as a non-destructive measurement of plant health. To achieve this, a compact colour camera ("Sony Professional," 2010), proximity and colour sensor ("Parallax Home," 2010) are housed in the end-effector. Each tray measures approximately 600mm x 600mm, with each shelf located approximately 300mm above the previous shelf, with the top shelf approximately 1000mm high. The system is designed to move the arm into the trays, capture the required information and then move up to the next shelf and repeat the process on the next tray.

To allow the robotic arm to move vertically, a ball screw and shaft assembly is incorporated, converting rotational motion into vertical movement. The conceptual design is shown in figure 6. The arm contains a pan and tilt system at its distal end, which houses the camera, colour and proximity sensors. The operation of the arm is completely automated, continually gathering

The design is based on a modified SCARA robotic arm. Designed in the 3D CAD package, Solidworks, all components where machined in-house using a CNC machine. The arm itself has been through a number of design iterations to overcome unforeseen problems and to

The robotic arm went through a number of design phases, with each design an improvement over the previous design iteration. In the initial concept it was intended to

information from the sensors and capturing images for assessment and analysis.

**3.2 Robotic arm using stepper motors** 

**3.2.1 Mechanical design of the robotic arm** 

improve the efficiency of operation.

Fig. 6. SolidWorks rendered design of the robotic arm

Fig. 7. The system in various stages of development and integration

Fig. 8. (a) Completed robotic arm using stepper motors (b) Camera housing and RGB colour Sensors

Autonomous Anthropomorphic Robotic System

**4. Sensors** 

**4.1 Camera** 

on the application's GUI (figure 12).

with Low-Cost Colour Sensors to Monitor Plant Growth in a Laboratory 147

information. A proximity sensor has been integrated into the system to ensure that the

Sensors provide information on the surroundings, which vary depending on their intended applications. A number of sensors have been integrated into the system to provide information in a non-destructive method on plant growth, with the intention of using low cost sensors which are easily amendable into the system. The use of a camera provides information on how fast the plant is growing, by identifying the quantity of plant material from a 2D view. Colour sensors provide information on the colour of an object. When colour sensors are used to monitor plant leaves, subtle changes can be detected before the human eye can identify them. This allows for media and nutrient levels to be adjusted accordingly. A proximity sensor ensures colour readings are taken at a fixed height, while temperature,

We detail the camera control and testing in section 4.1. Colour sensor selection, along with

A Sony colour camera (model: FCB-IX11AP) was used. It features a ¼″ CCD (charge coupled device) image sensor using PAL (Phase Alternating Line) encoding system. The camera has a 40x zoom ratio (10x optical, 4x digital) that is controllable from a PC via Sony's VISCA (Video System Control Architecture) command protocol. Over 38,000 different command combinations are possible for controlling the cameras features. The camera's macro capability allows it to capture images as close as 10mm from the subject and it can operate in light conditions as low as 1.5 Lux. The electronic shutter speed is controllable from 1/10 to 1/10000 of a second allowing for clarity in photographs. In order for the camera's functions to be controlled, hexadecimal commands (as serial data) are sent to the camera. These serial commands require 8 data bits, 1 start bit, 1 (or 2) stop bit and no parity. They have a communication speed of 9.6, 19.2 or 38.4 kbps. The camera can be programmed and controlled using a TTL or RS232C signal level serial interface. To test the camera features, it was directly wired to the PC using the RS232C interface via a USB-to-RS232 converter as shown in figure 10. The video output signal from the camera was fed to a frame grabber/digitizer which is interfaced to the PC using USB. The image captured is displayed

colour readings are taken at a fixed height of 20mm above the plant material.

humidity and CO2 sensors provide information on the ambient environment.

Fig. 10. Block diagram showing wired connection of PC to camera's RS232 inputs

calibration techniques and results, are presented in detail in section 4.2.

make the links of the robotic arm extendable so that the robot can be flexible and adapted to operate in various workspaces. To ensure the motor torque ratings were not exceeded, a gearing system was investigated, which made use of spur gears to increase torque ratios. However, once constructed, a number of issues arose, including excessive weight (with the links extended) and slippage between gears. To overcome these issues a rethink of the arm design removed the ability to extend the link lengths, and a belt and pulley system was integrated to alleviate slippage within the gears. However, each design iteration maintained the overall original design concept. Figure 7 shows an initial version of the robotic arm in various stages of assembly and figure 8 shows the final design, with the various aluminium parts anodized. The completed robotic arm is shown in figure 8 (a). The close up view of the camera housing mechanism and the RGB colour sensors is shown in figure 8(b).

## **3.2.2 Actuation and control of the robotic arm joints using stepper motors**

To allow the various joints to move, the arm uses bipolar, high torque stepper motors, which have varying amounts of torque, depending on the joint. The robotic arm uses five stepper motors that are controlled through a motor controller (KTA-190) and micro-step driver (M542) ("OceanControls," 2010). All the five motors have a step angle of 1.8 degrees and make use of a micro step driver that allows the user to select an even finer resolution (i.e. increasing the number of steps per revolution). Both a pulse signal and a direction signal are required for connecting a 4-wire stepper motor to the driver, with speed and torque depending on the winding inductance.

The KTA-190 motor controllers provide an interface between the computer and up to 4 stepper motors as well as the ability to control each motor independently or collectively. Utilizing a RS-232 9600, 8N1 ASCII serial communication protocol, up to 4 controller boards can be linked, giving control of up to 16 stepper motors (figure 9). A motor is controlled by a simple address, followed by the appropriate ASCII commands. The controller has as interface to allow limit switches to be used to prevent the motors from travelling out of range. With a total of 17 commands it is possible to tailor the operation and move the motors. Commands include: setting the position of the motors, returning the current positions of the motors, moving the motors by a relative or absolute amount and acceleration settings. A status command returns a 12-bit binary representation on the status of the controller board at any given time, providing information on the movement, direction and status of the limit switch respectively.

Fig. 9. Block diagram showing control of the 5 stepper motors

The angle each motor is required to move is calculated via an inverse kinematic algorithm. The user simply enters the desired tray that is required to be monitored, along with the number (and frequency) of readings within the tray. The software then calculates the required motor positions to enable the camera and sensors to capture the required information. A proximity sensor has been integrated into the system to ensure that the colour readings are taken at a fixed height of 20mm above the plant material.

## **4. Sensors**

146 Robotic Systems – Applications, Control and Programming

make the links of the robotic arm extendable so that the robot can be flexible and adapted to operate in various workspaces. To ensure the motor torque ratings were not exceeded, a gearing system was investigated, which made use of spur gears to increase torque ratios. However, once constructed, a number of issues arose, including excessive weight (with the links extended) and slippage between gears. To overcome these issues a rethink of the arm design removed the ability to extend the link lengths, and a belt and pulley system was integrated to alleviate slippage within the gears. However, each design iteration maintained the overall original design concept. Figure 7 shows an initial version of the robotic arm in various stages of assembly and figure 8 shows the final design, with the various aluminium parts anodized. The completed robotic arm is shown in figure 8 (a). The close up view of the

camera housing mechanism and the RGB colour sensors is shown in figure 8(b).

**3.2.2 Actuation and control of the robotic arm joints using stepper motors** 

depending on the winding inductance.

and status of the limit switch respectively.

Fig. 9. Block diagram showing control of the 5 stepper motors

To allow the various joints to move, the arm uses bipolar, high torque stepper motors, which have varying amounts of torque, depending on the joint. The robotic arm uses five stepper motors that are controlled through a motor controller (KTA-190) and micro-step driver (M542) ("OceanControls," 2010). All the five motors have a step angle of 1.8 degrees and make use of a micro step driver that allows the user to select an even finer resolution (i.e. increasing the number of steps per revolution). Both a pulse signal and a direction signal are required for connecting a 4-wire stepper motor to the driver, with speed and torque

The KTA-190 motor controllers provide an interface between the computer and up to 4 stepper motors as well as the ability to control each motor independently or collectively. Utilizing a RS-232 9600, 8N1 ASCII serial communication protocol, up to 4 controller boards can be linked, giving control of up to 16 stepper motors (figure 9). A motor is controlled by a simple address, followed by the appropriate ASCII commands. The controller has as interface to allow limit switches to be used to prevent the motors from travelling out of range. With a total of 17 commands it is possible to tailor the operation and move the motors. Commands include: setting the position of the motors, returning the current positions of the motors, moving the motors by a relative or absolute amount and acceleration settings. A status command returns a 12-bit binary representation on the status of the controller board at any given time, providing information on the movement, direction

The angle each motor is required to move is calculated via an inverse kinematic algorithm. The user simply enters the desired tray that is required to be monitored, along with the number (and frequency) of readings within the tray. The software then calculates the required motor positions to enable the camera and sensors to capture the required Sensors provide information on the surroundings, which vary depending on their intended applications. A number of sensors have been integrated into the system to provide information in a non-destructive method on plant growth, with the intention of using low cost sensors which are easily amendable into the system. The use of a camera provides information on how fast the plant is growing, by identifying the quantity of plant material from a 2D view. Colour sensors provide information on the colour of an object. When colour sensors are used to monitor plant leaves, subtle changes can be detected before the human eye can identify them. This allows for media and nutrient levels to be adjusted accordingly. A proximity sensor ensures colour readings are taken at a fixed height, while temperature, humidity and CO2 sensors provide information on the ambient environment.

We detail the camera control and testing in section 4.1. Colour sensor selection, along with calibration techniques and results, are presented in detail in section 4.2.

## **4.1 Camera**

A Sony colour camera (model: FCB-IX11AP) was used. It features a ¼″ CCD (charge coupled device) image sensor using PAL (Phase Alternating Line) encoding system. The camera has a 40x zoom ratio (10x optical, 4x digital) that is controllable from a PC via Sony's VISCA (Video System Control Architecture) command protocol. Over 38,000 different command combinations are possible for controlling the cameras features. The camera's macro capability allows it to capture images as close as 10mm from the subject and it can operate in light conditions as low as 1.5 Lux. The electronic shutter speed is controllable from 1/10 to 1/10000 of a second allowing for clarity in photographs. In order for the camera's functions to be controlled, hexadecimal commands (as serial data) are sent to the camera. These serial commands require 8 data bits, 1 start bit, 1 (or 2) stop bit and no parity. They have a communication speed of 9.6, 19.2 or 38.4 kbps. The camera can be programmed and controlled using a TTL or RS232C signal level serial interface. To test the camera features, it was directly wired to the PC using the RS232C interface via a USB-to-RS232 converter as shown in figure 10. The video output signal from the camera was fed to a frame grabber/digitizer which is interfaced to the PC using USB. The image captured is displayed on the application's GUI (figure 12).

Fig. 10. Block diagram showing wired connection of PC to camera's RS232 inputs

Autonomous Anthropomorphic Robotic System

**4.2 RGB colour sensors** 

Fig. 14. Parallax ColorPAL colour sensor

Connection pins (+5V, GND, Signal)

Red, Green and Blue LED

with Low-Cost Colour Sensors to Monitor Plant Growth in a Laboratory 149

Fig. 13. Graphical User Interface (GUI) of the remote control application (camera zoom 8x)

Currently there are a number of colour sensors on the market, with prices ranging from low cost light-to-frequency chips to sophisticated and very expensive spectrophotometers. Parallax (Parallax Inc, CA, USA) has two colour sensors that integrate seamlessly with their Basic Stamp microcontroller. Both the ColorPAL and TCS 3200 colour sensors are provided with some source code, making them amenable to integrating with our customised system.

> TSL13T light sensor

> > Snorkel

The ColorPAL sensor (figure 14) illuminates a sample using in-built red, green and blue LED light sources (one colour at a time) and records the quantity of light reflected back from

To familiarize with the VISCA command structure and to test the various camera functions, especially the programming commands for controlling the zoom, a standard communication program (Terminal v1.9b) was used to send commands to the camera. To test the TTL interface, the system shown in figure 11 was employed. IC ST232 was used to convert the RS232 level signals to 5V TTL.

Fig. 11. Block diagram showing wired connection of PC to camera's TTL inputs

In the final design of the robotic system the camera was connected using the original RS-232 interface, with custom software created to control the features of the camera. Figure 12 shows the user interface which allows camera zoom, iris, gain, exposure settings and shutter features to be manually controlled. It also displays the image captured by the camera. Figure 13 shows the test program depicting the magnified image of the object under observation, with the camera set to 8x zoom.

Each of the controllable settings for the camera is controlled by sending arrays of hexadecimal commands to the camera, making use of Sony's VISCA protocol. Custom created software allows the user to control a number of settings to customize the camera to the user's desire.

Fig. 12. User interface of the camera control program

Fig. 13. Graphical User Interface (GUI) of the remote control application (camera zoom 8x)

## **4.2 RGB colour sensors**

148 Robotic Systems – Applications, Control and Programming

To familiarize with the VISCA command structure and to test the various camera functions, especially the programming commands for controlling the zoom, a standard communication program (Terminal v1.9b) was used to send commands to the camera. To test the TTL interface, the system shown in figure 11 was employed. IC ST232 was used to convert the

Fig. 11. Block diagram showing wired connection of PC to camera's TTL inputs

In the final design of the robotic system the camera was connected using the original RS-232 interface, with custom software created to control the features of the camera. Figure 12 shows the user interface which allows camera zoom, iris, gain, exposure settings and shutter features to be manually controlled. It also displays the image captured by the camera. Figure 13 shows the test program depicting the magnified image of the object under observation,

Each of the controllable settings for the camera is controlled by sending arrays of hexadecimal commands to the camera, making use of Sony's VISCA protocol. Custom created software allows the user to control a number of settings to customize the camera to

RS232 level signals to 5V TTL.

with the camera set to 8x zoom.

Fig. 12. User interface of the camera control program

the user's desire.

Currently there are a number of colour sensors on the market, with prices ranging from low cost light-to-frequency chips to sophisticated and very expensive spectrophotometers. Parallax (Parallax Inc, CA, USA) has two colour sensors that integrate seamlessly with their Basic Stamp microcontroller. Both the ColorPAL and TCS 3200 colour sensors are provided with some source code, making them amenable to integrating with our customised system.

Fig. 14. Parallax ColorPAL colour sensor

The ColorPAL sensor (figure 14) illuminates a sample using in-built red, green and blue LED light sources (one colour at a time) and records the quantity of light reflected back from

Autonomous Anthropomorphic Robotic System

(Lindbloom, 2010).

(Eq. 5)

sampling a supplied white and black object respectively.

with Low-Cost Colour Sensors to Monitor Plant Growth in a Laboratory 151

Since the TCS3200 is mounted 20 mm above the sample, and therefore not in direct contact with the sample, it was more suited for our application than the full contact required by the ColorPAL sensor. A Konica Minolta CM-700D Spectrophotometer (Konica Minolta Sensing Americas, Inc., NJ, USA) was used to validate and calibrate the RGB sensors. For accurate measurements, the CM-700D was calibrated by taking both white and black readings by

The CM-700D gives colour in the XYZ colour space, as well as L\*a\*b\*, L\*C\*h, Hunter Lab, Yxy and Munsell. A linear transformation matrix was required to transform data from the XYZ colour space to the RGB colour space to enable comparisons and calibrations to the

> *X R Y MG Z B* = ×

> > *X*

*Y*

*Z*

Equations (2 – 4) combined with the standard 1931 xy chromaticity diagram provided the foundation for the linear transformation (Eq. 1). This transformation converted the XYZ data initially to sRGB colour. The chromaticity values of x, y and z are shown in Table 1

> Colour *x y z*  Red 0.64 0.33 0.212656 Green 0.30 0.60 0.715158 Blue 0.15 0.06 0.072186

Table 1. x, y, and z chromaticity values of red, green and blue converting xyz to sRGB

*M*

To calculate the R, G and B values the inverse is taken (Eq. 6 - 7).

From the x, y and z chromaticity values (Table 1), the transformation matrix, M, is calculated

0.721144 0.063298 0.166008 0.303556 0.643443 0.052999 0.000076 0.064689 1.024294

1 *R X GM Y B Z* − = × 

<sup>≈</sup>

(1)

(5)

(6)

*XYZ* <sup>=</sup> + + (2)

*<sup>y</sup> XYZ* <sup>=</sup> + + (3)

*XYZ* <sup>=</sup> + + (4)

Parallax sensor. The linear transformation equation to be solved (Juckett, 2010) is:

*x*

*z*

the object. The ColorPAL makes use of a TAOS (Texas Advanced Optoelectronic Solutions) light-to-voltage chip. When light is reflected, the voltage, which is proportional to the light reflected, is used to determine the sample's R, G and B colour contents. The ColorPAL requires the sample to be illuminated using each of the red, green and blue LEDs, with a 'snorkel' to shield possible interference from external light sources. This requires the ColorPAL to be in direct contact with the object for an optimum reading without interference.

Fig. 15. Parallax TCS3200 colour sensor

The TCS3200 Colour sensor (figure 15) makes use of a TAOS TCS3200 RGB light-tofrequency chip. The TCS3200 colour sensor operates by illuminating the object with two white LEDs, while an array of photo detectors (each with a red, green, blue and clear filter) interpret the colour being reflected by means of a square wave output whose frequency is proportional to the light reflected. The TSC3200 Colour sensor has a 5.6-mm lens, which is positioned to allow an area of 3.5 mm2 to be viewed.

A USB4000 spectrometer (Ocean Optics Inc., FL, USA) was used to find the height at which the greatest intensity of light occurred when the RGB sensor was placed above a sample. As the two white LEDs are directed down at an angle, there is a point where the light intensity is the greatest. This position was 20 mm above the surface of the sample, as shown in figure 16.

Fig. 16. Light absorbed from TCS3200 across the white LED light spectrum when the sensor is positioned at 6 different heights

150 Robotic Systems – Applications, Control and Programming

the object. The ColorPAL makes use of a TAOS (Texas Advanced Optoelectronic Solutions) light-to-voltage chip. When light is reflected, the voltage, which is proportional to the light reflected, is used to determine the sample's R, G and B colour contents. The ColorPAL requires the sample to be illuminated using each of the red, green and blue LEDs, with a 'snorkel' to shield possible interference from external light sources. This requires the ColorPAL to be in direct contact with the object for an optimum reading without

Lens

The TCS3200 Colour sensor (figure 15) makes use of a TAOS TCS3200 RGB light-tofrequency chip. The TCS3200 colour sensor operates by illuminating the object with two white LEDs, while an array of photo detectors (each with a red, green, blue and clear filter) interpret the colour being reflected by means of a square wave output whose frequency is proportional to the light reflected. The TSC3200 Colour sensor has a 5.6-mm lens, which is

White LED

A USB4000 spectrometer (Ocean Optics Inc., FL, USA) was used to find the height at which the greatest intensity of light occurred when the RGB sensor was placed above a sample. As the two white LEDs are directed down at an angle, there is a point where the light intensity is the greatest. This position was 20 mm above the surface of the sample, as shown in figure

Fig. 16. Light absorbed from TCS3200 across the white LED light spectrum when the sensor

interference.

16.

Fig. 15. Parallax TCS3200 colour sensor

is positioned at 6 different heights

positioned to allow an area of 3.5 mm2 to be viewed.

Connection Pins (on the bottom of the board)

Since the TCS3200 is mounted 20 mm above the sample, and therefore not in direct contact with the sample, it was more suited for our application than the full contact required by the ColorPAL sensor. A Konica Minolta CM-700D Spectrophotometer (Konica Minolta Sensing Americas, Inc., NJ, USA) was used to validate and calibrate the RGB sensors. For accurate measurements, the CM-700D was calibrated by taking both white and black readings by sampling a supplied white and black object respectively.

The CM-700D gives colour in the XYZ colour space, as well as L\*a\*b\*, L\*C\*h, Hunter Lab, Yxy and Munsell. A linear transformation matrix was required to transform data from the XYZ colour space to the RGB colour space to enable comparisons and calibrations to the Parallax sensor. The linear transformation equation to be solved (Juckett, 2010) is:

$$
\begin{pmatrix} X \\ Y \\ Z \end{pmatrix} = M \times \begin{pmatrix} R \\ G \\ B \end{pmatrix} \tag{1}
$$

$$\infty = \frac{X}{X+Y+Z} \tag{2}$$

$$y = \frac{Y}{X + Y + Z} \tag{3}$$

$$z = \frac{Z}{X + Y + Z} \tag{4}$$

Equations (2 – 4) combined with the standard 1931 xy chromaticity diagram provided the foundation for the linear transformation (Eq. 1). This transformation converted the XYZ data initially to sRGB colour. The chromaticity values of x, y and z are shown in Table 1 (Lindbloom, 2010).


Table 1. x, y, and z chromaticity values of red, green and blue converting xyz to sRGB

From the x, y and z chromaticity values (Table 1), the transformation matrix, M, is calculated (Eq. 5)

$$M = \begin{pmatrix} 0.721144 & 0.063298 & 0.166008 \\ 0.303556 & 0.643443 & 0.052999 \\ 0.000076 & 0.064689 & 1.024294 \end{pmatrix} \tag{5}$$

To calculate the R, G and B values the inverse is taken (Eq. 6 - 7).

$$
\begin{pmatrix} R \\ G \\ B \end{pmatrix} = \boldsymbol{M}^{-1} \times \begin{pmatrix} X \\ Y \\ Z \end{pmatrix} \tag{6}
$$

Autonomous Anthropomorphic Robotic System

TCS3200.

ID

γ

where: ' *RN* = CM-700D (desired RGB value)

*RN* = TCS3200 RGB (Un-calibrated sensor data)

= Gamma (required calibration factor)

with Low-Cost Colour Sensors to Monitor Plant Growth in a Laboratory 153

First the TCS3200 sensor data were scaled to ensure all values are offset, thus ensuring that

where max max max *RGB* , , represent the maximum R, G and B value of a white object from the

' ''

max max max , , *N NN*

Gain Adjusted White Adjusted RGB Equivalent (CIE) Calibrated RGB) R G B R G B R G B R G B 123A 99 148 167 88 152 144 62 155 152 85 158 143 127C 38 79 75 34 81 65 17 89 69 31 89 64 129C 99 152 137 88 156 118 71 166 123 85 162 117 131C 25 41 35 22 42 30 10 43 27 20 49 29 133C 62 88 85 55 90 73 47 93 80 52 98 72 135C 42 51 35 37 52 30 36 78 39 35 60 29 137C 42 51 35 37 52 30 40 54 30 35 60 29 139C 68 82 58 61 84 50 63 88 48 57 92 49 141C 57 80 45 51 82 39 55 87 35 48 90 38 143C 71 88 48 63 90 41 72 91 32 60 98 41 145C 171 168 122 152 172 105 169 185 101 149 178 104 147C 84 86 62 75 88 53 84 91 51 71 96 53 149C 174 183 114 155 187 98 170 206 86 152 192 97 155D 255 249 258 227 255 222 227 255 222 226 255 222 202A 17 17 20 15 17 17 10 13 13 14 22 17

=× = × =× (11)

TCS-3200 CMD-700 Output

*R GB*

the white reading is that of the CMD-700 for each of R, G and B reading (Eq. 11)

*N NN R GB RR GG BB*

Table 3. Results obtained comparing the TCS3200 colour sensor (calibrated and uncalibrated) with the CM-700D spectrophotometer over a range of 15 RHS colours

*RGB*

γγγ

results. Table 4, shows the errors associated with the Table 3.

Table 3 shows the data recorded from the colour sensors along with the equivalent results from the CMD-700 (using the CIE RGB transformation matrix) and the calibrated TCS3200

The calibration factors (γ) for each colour were calculated using normalized data. (Eq. 12)

' '' log( / 255) log( / 255) log( / 255) , , log( / 255) log( / 255) log( / 255) *N NN*

=== (12)

*N NN RGB RGB*

For each colour sample measured, the calibration factor was calculated and averaged using a geometric mean (as opposed to the more general arithmetic mean function (Fleming &

$$M^{-1} = \begin{pmatrix} 1.436603 & -0.118534 & -0.226698 \\ -0.681279 & 1.618476 & 0.026671 \\ 0.042919 & -0.102206 & 0.974614 \end{pmatrix} \tag{7}$$


Table 2. x, y, and z chromaticity values of red, green and blue converting xyz to CIE RGB

The x, y and z chromaticity values shown in Table 2, are again used to solve the transformation matrix, M (Eq. 8)

Testing showed that the TCS3200 produced light in the CIE RGB colour space, and although results would later show the colour sensor could be calibrated to the sRGB colour space, results from the calibration would be incorrect. Therefore a colour transformation to a CIE RGB colour space was more appropriate than the sRGB colour space; consequently a new linear transformation was required.

$$M = \begin{pmatrix} 0.4887180 & 0.3106803 & 0.2006017 \\ 0.1762044 & 0.8129847 & 0.0108109 \\ 0.0000000 & 0.0102048 & 0.9897952 \end{pmatrix} \tag{8}$$

Again calculating the R, G and B values the inverse is taken (Eq. 6).

$$M^{-1} = \begin{pmatrix} 2.3706743 & -0.9000405 & -0.4706338 \\ -0.5138850 & 1.4253036 & 0.0885814 \\ 0.0052982 & 0.0052982 & 1.0093968 \end{pmatrix} \tag{9}$$

### **4.2.1 Colour sensor calibration and results**

In order to validate the TCS3200 colour sensor, it was necessary to calibrate and test it using the CM-700D Spectrophotometer. This involved taking 200 RGB readings with the TCS3200 using fifteen different coloured samples from the Royal Horticulture Society (RHS) colour charts and averaging them. The same samples were measured, each 20 times, with the CM-700D and again averaged. These tests were all completed in a constant temperature dark room. As the CM-700D uses the XYZ colour space, the linear transformation matrix was used to convert the XYZ values to a CIE RGB colour space (Eq. 9).

The TCS3200 was firstly calibrated through software by modifying the integration time, to allow the white object (used to calibrate the CMD-700) to have a RGB value as close as possible to 255,255,255 followed by scaling each of the RGB values, to ensure the white reading was that of the CMD-700.

In order to calculate a calibration factor the following equation was used:

$$R\_N^\cdot = R\_N^\cdot \tag{10}$$

where: ' *RN* = CM-700D (desired RGB value)

152 Robotic Systems – Applications, Control and Programming

1.436603 -0.118534 -0.226698 -0.681279 1.618476 0.026671 0.042919 -0.102206 0.974614

(7)

(8)

(9)

= (10)

 <sup>≈</sup>

Colour x y z Red 0.7350 0.2650 0.176204 Green 0.2740 0.7170 0.812985 Blue 0.1670 0.0090 0.010811

Table 2. x, y, and z chromaticity values of red, green and blue converting xyz to CIE RGB The x, y and z chromaticity values shown in Table 2, are again used to solve the

Testing showed that the TCS3200 produced light in the CIE RGB colour space, and although results would later show the colour sensor could be calibrated to the sRGB colour space, results from the calibration would be incorrect. Therefore a colour transformation to a CIE RGB colour space was more appropriate than the sRGB colour space; consequently a new

> 0.4887180 0.3106803 0.2006017 0.1762044 0.8129847 0.0108109 0.0000000 0.0102048 0.9897952

 <sup>≈</sup>

2.3706743 0.9000405 0.4706338 0.5138850 1.4253036 0.0885814 0.0052982 0.0052982 1.0093968

In order to validate the TCS3200 colour sensor, it was necessary to calibrate and test it using the CM-700D Spectrophotometer. This involved taking 200 RGB readings with the TCS3200 using fifteen different coloured samples from the Royal Horticulture Society (RHS) colour charts and averaging them. The same samples were measured, each 20 times, with the CM-700D and again averaged. These tests were all completed in a constant temperature dark room. As the CM-700D uses the XYZ colour space, the linear transformation matrix was

The TCS3200 was firstly calibrated through software by modifying the integration time, to allow the white object (used to calibrate the CMD-700) to have a RGB value as close as possible to 255,255,255 followed by scaling each of the RGB values, to ensure the white

> ' *R R N N* γ

− − ≈ −

1

*M*<sup>−</sup>

transformation matrix, M (Eq. 8)

linear transformation was required.

*M*

1

*M*<sup>−</sup>

**4.2.1 Colour sensor calibration and results** 

reading was that of the CMD-700.

Again calculating the R, G and B values the inverse is taken (Eq. 6).

used to convert the XYZ values to a CIE RGB colour space (Eq. 9).

In order to calculate a calibration factor the following equation was used:

*RN* = TCS3200 RGB (Un-calibrated sensor data)

γ= Gamma (required calibration factor)

First the TCS3200 sensor data were scaled to ensure all values are offset, thus ensuring that the white reading is that of the CMD-700 for each of R, G and B reading (Eq. 11)

$$R\_N = R \times \frac{R\_N^{\cdot^{\cdot}}}{R\_{\text{max}}}, G\_N = G \times \frac{G\_N^{\cdot^{\cdot}}}{G\_{\text{max}}}, B\_N = B \times \frac{B\_N^{\cdot^{\cdot}}}{B\_{\text{max}}} \tag{11}$$

where max max max *RGB* , , represent the maximum R, G and B value of a white object from the TCS3200.


Table 3. Results obtained comparing the TCS3200 colour sensor (calibrated and uncalibrated) with the CM-700D spectrophotometer over a range of 15 RHS colours

Table 3 shows the data recorded from the colour sensors along with the equivalent results from the CMD-700 (using the CIE RGB transformation matrix) and the calibrated TCS3200 results. Table 4, shows the errors associated with the Table 3.

The calibration factors (γ) for each colour were calculated using normalized data. (Eq. 12)

$$\gamma\_{\mathbb{R}} = \frac{\log(\mathcal{R}\_{\mathbb{N}}^{\cdot} \mid \text{255})}{\log(\mathcal{R}\_{\mathbb{N}} \mid \text{255})}, \gamma\_{\mathbb{G}} = \frac{\log(\mathcal{G}\_{\mathbb{N}}^{\cdot} \mid \text{255})}{\log(\mathcal{G}\_{\mathbb{N}} \mid \text{255})}, \gamma\_{\mathbb{B}} = \frac{\log(\mathcal{B}\_{\mathbb{N}}^{\cdot} \mid \text{255})}{\log(\mathcal{B}\_{\mathbb{N}} \mid \text{255})} \tag{12}$$

For each colour sample measured, the calibration factor was calculated and averaged using a geometric mean (as opposed to the more general arithmetic mean function (Fleming &

Autonomous Anthropomorphic Robotic System

(Colour samples are as given in Table 3)

calibrated TCS3200 colour sensor

before and after calibration is shown in figure 18.

B. A colour representation can be seen in Figure 19.

RGB results to be more accurate than the sRGB

with Low-Cost Colour Sensors to Monitor Plant Growth in a Laboratory 155

Fig. 17. TCS3200 sensor RGB readings, calibrated and un-calibrated, compared with the CM-700D readings of: Red (A); Green (B); Blue (C) using a CIE RGB colour transformation.

An example of a green colour interpreted by the CM-700D and TCS3200 colour sensor

RGB = 63,90,41 RGB = 60,98,41 RGB = 72,91,32

Spectrophotometer

TCS3200 (un-calibrated) TCS3200 (calibrated) CM-700D

Fig. 18. Graphical representation of the colour differences between, calibrated and un-

Results showed when calibrating the CM-700D XYZ values to CIE RGB instead of sRGB, the calibration results improved, as shown in Table 5, to have a much smaller error for R, G and

Colour R G B R G B Error 10.289 6.117 5.683 14.777 7.055 9.564 Error % 4.035 2.399 2.229 5.795 2.767 3.751 S.D 6.562 4.739 3.357 12.314 7.54 5.772 Table 5. Comparisons between CIE RGB and sRGB transformation matrix, showing the CIE

CIE RGB sRGB

Wallace, 1986), thus providing the γ factor for R, G and B individually. The (desired) calibrated values were then obtained using equation 13.

$$R\_{N\text{(calubutad)}}^{'} = (R\_N \; / \; 255)^{\text{y}} \times 255 \tag{13}$$

For a range of fifteen colours, measurements were taken using the TCS3200 RGB sensor and the CM-700D Spectrophotometer (Table 3). The gamma calibration factors calculated were:

$$(\text{Red})\newline\newline\lambda\_{\text{\\$}} = 1.05, \ (\text{Green})\newline\newline\lambda\_{\text{\\$}} = 0.92, \ (\text{Blue})\newline\newline\lambda\_{\text{\\$}} = 1.00 \newline\tag{14}$$


Table 4. Average Error (0-255), percentage error and standard deviation for red, green and blue measurements of the TCS3200 colour sensor, calibrated and un-calibrated, compared with CM-700D spectrophotometer results across a range of colours

154 Robotic Systems – Applications, Control and Programming

Wallace, 1986), thus providing the γ factor for R, G and B individually. The (desired)

( ) ( / 255) 255 *R R N calibrated N*

For a range of fifteen colours, measurements were taken using the TCS3200 RGB sensor and the CM-700D Spectrophotometer (Table 3). The gamma calibration factors calculated were:

() ( ) ( ) Red 1.05, Green 0.92, Blue 1.00

TCS3200 (un-calibrated) TCS3200 (calibrated)

Colour R G B R G B Error 9.691 6.806 5.107 10.161 6.162 4.966 Error % 3.8 2.669 2.003 3.985 2.416 1.947 S.D 7.423 7.298 3.485 6.631 4.757 3.699 Table 4. Average Error (0-255), percentage error and standard deviation for red, green and blue measurements of the TCS3200 colour sensor, calibrated and un-calibrated, compared

γ

λλ

R GB = == (14)

= × (13)

calibrated values were then obtained using equation 13.

λ

'

with CM-700D spectrophotometer results across a range of colours

Fig. 17. TCS3200 sensor RGB readings, calibrated and un-calibrated, compared with the CM-700D readings of: Red (A); Green (B); Blue (C) using a CIE RGB colour transformation. (Colour samples are as given in Table 3)

An example of a green colour interpreted by the CM-700D and TCS3200 colour sensor before and after calibration is shown in figure 18.


Fig. 18. Graphical representation of the colour differences between, calibrated and uncalibrated TCS3200 colour sensor

Results showed when calibrating the CM-700D XYZ values to CIE RGB instead of sRGB, the calibration results improved, as shown in Table 5, to have a much smaller error for R, G and B. A colour representation can be seen in Figure 19.


Table 5. Comparisons between CIE RGB and sRGB transformation matrix, showing the CIE RGB results to be more accurate than the sRGB

Autonomous Anthropomorphic Robotic System

Technology, 40(6), 675-682.

http://www.brucelindbloom.com/

Agricultural Machinery, 30, 57-62.

Society (IEEE-EMBS 2005), 1956-1959

14/8/2010, from http://www.ryanjuckett.com

orange leaves. Biosystems Engineering, 105(4), 448-454.

**7. References** 

(1), 39-50.

608.

39 - 48.

with Low-Cost Colour Sensors to Monitor Plant Growth in a Laboratory 157

Abdullah, M. Z., Aziz', S. A., & Mohamed, A. M. D. (2000). Quality Inspection Of Bakery

Borah, S., & Bhuyan, M. (2005). A computer based system for matching colours during the

Lindbloom, B. (2010). Useful colour Equations. Retrieved 18/8/2010, from

Fleming, P. J., & Wallace, J. J. (1986). How not to lie with statistics: The correct way to summarize the benchmark results. Communications of the ACM, 29(3), 218-221 Garcia, G. J., Pomares, J., & Torres, F. (2009). Automatic robotic tasks in unstructured

Gitelson, A. A., Gritz, Y., & Merzlyak, M. N. (2003). Relationships between leaf chlorophyll

Hu, X., He, Y., Pereira, A. G., & Gómez, A. H. (2005). Nondestructive Determination Method

Juckett, R. (2010). RGB color space conversion - Linear transformation of color. Retrieved

Kang, S. P., & Sabarez, H. T. (2009). Simple colour image segmentation of bicolour food products for quality measurement. Journal of Food Engineering, 94, 21-25. Kawollek, M., & Rath, T. (2007). Robotic Harvest of Cut Flowers Based on Image Processing

Technology for Greenhouse System Management (Greensys 2007), 557-563 Kelly, R., Carelli, R., Nasisi, O., Kuchen, B., & Reyes, F. (2000). Stable Visual Servoing of

Menesatti, P., Antonucci, F., Pallottino, F., Roccuzzo, G., Allegra, M., Stagno, F., et al. (2010).

Miranda, C., Girard, T., & Lauri, P. E. (2007). Random sample estimates of tree mean for

Nicola¨, B. M., Beullens, K., Bobelyn, E., Peirs, A., Saeys, W., Theron, K. I., et al. (2007).

spectroscopy: A review. Postharvest Biology and Technology, 46(2), 99-118.

fruit size and colour in apple. Scientia Horticulturae, 112 (1), 33-41.

OceanControls. (2010). Retrieved 12/04/2010, from www.oceancontrols.com.au

Products Using A Color-Based Machine Vision System. Journal of Food Quality, 23

monitoring of tea fermentation. International Journal of Food Science and

environments using an image path tracker. Control Engineering Practice, 17(5), 597-

content and spectral reflectance and algorithms for non-destructive chlorophyll assessment in higher plant leaves. Journal of Plant Physiology, 160(3), 271-282. HonYong, W., QiXin, C., Masateru, N., & JianYue, B. (1999). Image processing and robotic

techniques in plug seedling production. Transactions of the Chinese Society of

of Fruit Quantity Detection Based on Vis/NIR Spectroscopy Technique. 27th Annual International Conference of the Engineering in Medicine and Biology

by Using Gerbera jamesonii as Model Plant. In S. DePascale, G. S. Mugnozza, A. Maggio & E. Schettini (Eds.), Proceedings of the International Symposium on High

Camera-in-Hand Robotic Systems. IEEE/ASME Transactions on Mechatronics, 5(1),

Estimation of plant nutritional status by Vis–NIR spectrophotometric analysis on

Nondestructive measurement of fruit and vegetable quality by means of NIR


Fig. 19. An example of a green colour interpreted by the TCS3200 colour sensor with no calibration compared with the CM-700D with both a sRGB and CIE RGB

## **5. Conclusion**

An anthropomorphic robotic arm has been designed, fabricated and fully tested to meet the requirements set out by The New Zealand Institute for Plant & Food Research Limited. The robotic system is able to reach and monitor plantlets growing in trays on a multi-level shelving unit. Custom software has been developed to fully automate the control of the robotic arm. The position of the robotic arm can be controlled with great precision using the microstepper controller to allow micro-motion of the stepper motors. The robot can be programmed to autonomously position itself and take readings at regular intervals.

Several sensors have been integrated in the robotic system, namely a high-end colour camera for capturing high resolution images of plantlets; proximity sensor to position the arm at a predetermined distance from the plant surface for taking measurements; temperature, humidity and CO2 sensors to monitor the ambient atmospheric conditions and a low-cost RGB sensor to measure the colour of plant leaves.

Two different RGB sensors have been evaluated. Experimental results show that the Parallax TCS3200 RGB sensor is a useful low cost colour sensor, which when calibrated to an industry standard spectrophotometer, can provide accurate RGB readings. It is therefore a useful component for integrating into an automated system such as a robotic arm, with various other sensors, for monitoring plants growing in a modified plant micro-propagation system.

The system has the potential for not only monitoring plant material in a laboratory environment but other applications as well where non-destructive measurements of colour are required.

## **6. Acknowledgment**

The hardware cost of this research has been funded by The New Zealand Institute for Plant & Food Research. The authors greatly appreciate the financial and technical workshop support given by the School of Engineering and Advanced Technology, Massey University and The New Zealand Institute for Plant & Food Research Limited.

## **7. References**

156 Robotic Systems – Applications, Control and Programming

CM-700D Spectrophotometer (CIE RGB)

Spectrophotometer (sRGB)

Fig. 19. An example of a green colour interpreted by the TCS3200 colour sensor with no

An anthropomorphic robotic arm has been designed, fabricated and fully tested to meet the requirements set out by The New Zealand Institute for Plant & Food Research Limited. The robotic system is able to reach and monitor plantlets growing in trays on a multi-level shelving unit. Custom software has been developed to fully automate the control of the robotic arm. The position of the robotic arm can be controlled with great precision using the microstepper controller to allow micro-motion of the stepper motors. The robot can be programmed to autonomously position itself and take readings at

Several sensors have been integrated in the robotic system, namely a high-end colour camera for capturing high resolution images of plantlets; proximity sensor to position the arm at a predetermined distance from the plant surface for taking measurements; temperature, humidity and CO2 sensors to monitor the ambient atmospheric conditions and

Two different RGB sensors have been evaluated. Experimental results show that the Parallax TCS3200 RGB sensor is a useful low cost colour sensor, which when calibrated to an industry standard spectrophotometer, can provide accurate RGB readings. It is therefore a useful component for integrating into an automated system such as a robotic arm, with various other sensors, for monitoring plants growing in a modified plant micro-propagation

The system has the potential for not only monitoring plant material in a laboratory environment but other applications as well where non-destructive measurements of colour

The hardware cost of this research has been funded by The New Zealand Institute for Plant & Food Research. The authors greatly appreciate the financial and technical workshop support given by the School of Engineering and Advanced Technology, Massey University

RGB 71,88,48 RGB = 149,166,81 RGB = 72,91,31

calibration compared with the CM-700D with both a sRGB and CIE RGB

a low-cost RGB sensor to measure the colour of plant leaves.

and The New Zealand Institute for Plant & Food Research Limited.

TCS3200 (raw reading) CM-700D

**5. Conclusion** 

regular intervals.

system.

are required.

**6. Acknowledgment** 


**Part 2** 

**Control and Modeling**


**Part 2** 

**Control and Modeling**

158 Robotic Systems – Applications, Control and Programming

Omar, A. F. B., & MatJafri, M. Z. B. (2009). Optical Sensor in the Measurement of Fruits

Otte, C., Schwanke, J., & Jensch, P. (1996). Automatic micropropagation of plants. Optics in Agriculture, Forestry, and Biological Processing II, Proc. SPIE 2907, 80-87.

Paz, P., S´anchez, M. .-T., P´erez-Mar´n, D., Guerrerob, J. e.-E., & Garrido-Varob, A. (2009).

apple quality. Journal of the Science of Food and Agriculture, 89(5), 781-790. Raja, A. S., & Sankaranarayanan, K. (2006). Use of RGB Color Sensor in Colorimeter for better clinical measurements of blood Glucose. BIME Journal 6(1), 23 - 28. Reyes, J., & Chiang, L. (2009). Location And Classification Of Moving Fruits In Real Time

Scarfe, A. J., Flemmer, R. C., Bakker, H. H., & Flemmer, C. L. (2009). Development of An

Slaughter, D. C., Giles, D. K., & Downey, D. (2008). Autonomous robotic weed control systems: A review. Computers and Electronics in Agriculture, 61(1), 63-78. Sogaard, H. T., & Lund, I. (2007). Application accuracy of a machine vision-controlled robotic micro-dosing system. biosystems engineering, 96(3), 315-322.

van Henten, E. J., Hemming, J., van Tuijl, B. A. J., Kornet, J. G., Meuleman, J., van Os, E. A.,

Yadav, S. P., Ibaraki, Y., & Gupta, S. D. (2010). Estimation of the chlorophyll content of

Yam, K. L., & Papadakis, S. E. (2004). A simple digital imaging method for measuring and analyzing color of food surfaces. Journal of Food Engineering, 61, 137-142.

and Electrical Engineering, 1(5), 557-561.

Autonomous Robots and Agents, 380-384.

[Article]. Autonomous Robots, 13(3), 241-258.

and Organ Culture, 100(2), 183-188.

Sony Professional. (2010). Retrieved 05/06/2009, from www.pro.sony.eu

187.

Parallax Home. (2010). Retrieved 05/07/2010, from www.Parallax.com

Quality: A Review on an Innovative Approach. International Journal of Computer

Evaluating NIR instruments for quantitative and qualitative assessment of intact

With A Single Colour Camera. Chilean Journal Of Agricultural Research, 69, 179-

Autonomous Kiwifruit Picking Robot. 4th International Conference on

et al. (2002). An autonomous robot for harvesting cucumbers in greenhouses.

micropropagated potato plants using RGB based image analysis. Plant Cell Tissue

**0**

**9**

*Mexico*

**Analysis and Design**

**CPG Implementations for Robot Locomotion:**

The ability to efficiently move in a complex environment is a key property of animals. It is central to their survival, i.e. to avoid predators, to look for food, and to find mates for reproduction (Ijspeert, 2008). Nature has found different solutions for the problem of legged locomotion. For example, the vertebrate animals have a spinal column and one or two pairs of limbs that are used for walking. Arthropoda animals are characterized by a segmented body that is covered by a jointed external skeleton (exoskeleton), with paired jointed limbs on each segment and they can have a high number of limbs (Carbone & Ceccarelli, 2005). The biological mechanisms underlaying locomotion have therefore been extensively studied by neurobiologists, and in recent years there has been an increase in the use of computer simulations for testing and investigating models of locomotor circuits based on neurobiological observations (Ijspeert, 2001). However, the mechanisms generating the complex motion patterns performed by animals are still not well understood (Manoonpong,

Animal locomotion, for instance, requires multi-dimensional coordinated rhythmic patterns that need to be correctly tuned so as to satisfy multiple constraints: the capacity to generate forward motion, with low energy, without falling over, while adapting to possibly complex terrain (uneven ground, obstacles), and while allowing the modulation of speed and direction (Ijspeert & Crespi, 2007). In vertebrate animals, an essential building block of the locomotion controller is the Central Pattern Generator (CPG) located in the spinal cord. The CPG is a neural circuit capable of producing coordinated patterns of rhythmic activity in open loop, i.e. without any rhythmic inputs from sensory feedback or from higher control centers (Delcomyn, 1980; Grillner, 1985). Interestingly, very simple input signals are sufficient to modulate the produced patterns. Furthermore, CPG can adapt to various environments by changing the periodic rhythmic patterns. For instance, the cats and horses are able to change

This relevance of locomotion both for biology and for robotics has led to multiple interesting interactions between the two fields. The interactions have mainly been in one direction, with robotics taking inspiration from biology in terms of morphologies, modes of locomotion, and/or control mechanisms. In particular, many robot structures are directly inspired by animal morphologies, from snake robots, quadruped robots, to humanoid robots. Increasingly, robotics is now providing something back to biology, with robots being used

their locomotor patterns depending on the situation.

**1. Introduction**

2007).

Jose Hugo Barron-Zambrano and Cesar Torres-Huitzil

*Information Technology Laboratory, CINVESTAV-IPN*

## **CPG Implementations for Robot Locomotion: Analysis and Design**

Jose Hugo Barron-Zambrano and Cesar Torres-Huitzil *Information Technology Laboratory, CINVESTAV-IPN Mexico*

### **1. Introduction**

The ability to efficiently move in a complex environment is a key property of animals. It is central to their survival, i.e. to avoid predators, to look for food, and to find mates for reproduction (Ijspeert, 2008). Nature has found different solutions for the problem of legged locomotion. For example, the vertebrate animals have a spinal column and one or two pairs of limbs that are used for walking. Arthropoda animals are characterized by a segmented body that is covered by a jointed external skeleton (exoskeleton), with paired jointed limbs on each segment and they can have a high number of limbs (Carbone & Ceccarelli, 2005). The biological mechanisms underlaying locomotion have therefore been extensively studied by neurobiologists, and in recent years there has been an increase in the use of computer simulations for testing and investigating models of locomotor circuits based on neurobiological observations (Ijspeert, 2001). However, the mechanisms generating the complex motion patterns performed by animals are still not well understood (Manoonpong, 2007).

Animal locomotion, for instance, requires multi-dimensional coordinated rhythmic patterns that need to be correctly tuned so as to satisfy multiple constraints: the capacity to generate forward motion, with low energy, without falling over, while adapting to possibly complex terrain (uneven ground, obstacles), and while allowing the modulation of speed and direction (Ijspeert & Crespi, 2007). In vertebrate animals, an essential building block of the locomotion controller is the Central Pattern Generator (CPG) located in the spinal cord. The CPG is a neural circuit capable of producing coordinated patterns of rhythmic activity in open loop, i.e. without any rhythmic inputs from sensory feedback or from higher control centers (Delcomyn, 1980; Grillner, 1985). Interestingly, very simple input signals are sufficient to modulate the produced patterns. Furthermore, CPG can adapt to various environments by changing the periodic rhythmic patterns. For instance, the cats and horses are able to change their locomotor patterns depending on the situation.

This relevance of locomotion both for biology and for robotics has led to multiple interesting interactions between the two fields. The interactions have mainly been in one direction, with robotics taking inspiration from biology in terms of morphologies, modes of locomotion, and/or control mechanisms. In particular, many robot structures are directly inspired by animal morphologies, from snake robots, quadruped robots, to humanoid robots. Increasingly, robotics is now providing something back to biology, with robots being used

**2. Locomotion solution methods**

**2.1 Trajectory based methods**

(Picado et al., 2008).

it more accessible.

**2.2 Heuristic based methods**

methods.

In the literature, there are different approaches to the design of locomotion control systems such as: trajectory based methods, heuristic based methods and biologically inspired

CPG Implementations for Robot Locomotion: Analysis and Design 163

In trajectory based methods, to move a leg in a desired trajectory, the joint angles between limbs are calculated in advance, by using a mathematical model that incorporates both robot and environment parameters, to produce a sequence of actions specifically scheduled. But these methods are not providing any methodology to design a controller. It is only a method to prove the stability of the motion. Therefore, the trajectories have to be designed by trial-and-error or from animal locomotion recording data (Jalal et al., 2009). The most popular stabilization criteria are the Center of Mass (CoM), Center of Pressure (CoP) and Zero Moment Point (ZMP). The gait is stable when one of these criteria remains inside the support polygon

These methods can generate either static or dynamic stability. The first one prevents the robot from falling down by keeping the CoM inside the support polygon by adjusting the body posture very slowly. Thus minimizing the dynamic effects and allowing the robot to pause at any moment of the gait without falling down. Using this criterion will generally lead to more power consumption since the robot has to adjust its posture so that the CoM is always inside the support polygon. The second one relies on keeping the ZMP or CoP inside the support polygon and this is a necessary and sufficient condition to achieve stability. Dynamic balance is particularly relevant during the single support phase, which means that the robot is standing in only one foot. This generally leads to more fast and reliable walking gaits

The major problem with the ZMP or CoP methods are the complexity of the equations used to compute the robot dynamic. With such a level of complexity directly exposed to the robot programmer, it becomes very difficult to have a global view over the robot behavior. This is because heuristics methods were developed to hide the complexity of the problem and make

Heuristic methods have strong similarities with the trajectory based approach. Joint trajectories are also pre-computed from an external optimization process, only the generation strategy differs. This time, heuristic or evolutionary based techniques are used (e.g. genetic

The most successful approach of this methods is called Virtual Model Control (VMC) (Picado et al., 2008). It is a motion control framework that uses simulations of virtual components to generate desired joint torques. These joint torques create the same effect that the virtual components would have created, thereby creating the illusion that the simulated components are connected to the real robot. Such components can include simple springs, dampers, dash pots, masses, latches, bearings, non-linear potential and dissipative fields, or any other imaginable component. The generated joint torques create the same effect that the virtual components would create if they were in fact connected to the real robot (Pratt et al., 2001). This heuristic makes the design of the controller much easier. First, it is necessary to place some virtual components to maintain an upright posture and ensure stability. Virtual

algorithms) to design the desired trajectories (Lathion, 2006).

(the convex hull formed by the contact points of the feet with the ground).

as scientific tools to test biological hypotheses (Ijspeert, 2008). Researchers have studied the CPGs for decades and some principles have been derived to model their functionality and structure. CPGs have been proposed as a mechanism to generate an efficient control strategy for legged robots based on biological locomotion principles. Locomotion in legged robots is much more complex than wheeled robots, since the formers have between twelve or twenty degrees of freedom, which must be rhythmically coordinated to produce specific gaits. The design of locomotion control systems of legged robots is a challenge that has been partially solved. To develop bio-inspired solutions, detailed analyses of candidate biological neural systems are essential as in the case of legged locomotion.

Models of CPGs have been used to control a variety of different types of robots and different modes of locomotion. For instance, CPG models have been used with hexapod and octopod robots inspired by insect locomotion, quadruped robots inspired by vertebrates, such as horse, biped robots inspired by humans and other kind of robots inspired by reptiles, such as snakes, as it will be discussed in the section 2. CPGs could been modeled with different levels of abstraction, these aspects will be presented in section 3. Additionally, CPGs present several interesting properties including distributed control, the ability to deal with redundancies, fast control loops, and allowing modulation of locomotion by simple control signals. These properties, when transferred to mathematical models, make CPGs interesting building blocks for locomotion controllers in robots (Fujii et al., 2002; Ijspeert, 2008), as shown in section 4.

In spite of its importance, the CPG-approach presents several disadvantages. One of the main drawbacks of CPGs is related with the learning methodologies to generate the rhythmic signals (Zielinska, 1996). For that purpose, a method to tune a CPG using genetic algorithms (GA) is proposed, whose details are provided in section 5. Moreover, a methodology for designing CPGs to solve a particular locomotor problem is yet missing. Other problem is that animals rarely perform steady-state locomotion for long time, and tend to superpose, and switch between, multiple motor behaviors. A remaining open challenge is therefore to design control architectures capable of exhibiting such richness motor skills.

Engineering CPG-based control systems has been difficult since the simulation of even rather simple neural network models requires a significant computational power that exceeds the capacity of general embedded microprocessors. As a result, CPG dedicated hardware implementations, both analog and digital, have received more attention (Nakada, 2003). On one hand, analog circuits have been already proposed, being computation and power efficient but they usually lack flexibility and dynamics and they involve large design cycles. On the other hand, Field-Programmable Gate Array (FPGA) substrate might provide real-time response, low power consumption and concurrent processing solutions for low-level locomotion issues (Barron-Zambrano et al., 2010b). So, a brief analysis of CPG implementations is presented in section 6. Also, the integration of environment information might allow to produce behaviors by means of selection and adaption of lower substrates. Under this scenario, legged robots may reconfigure their locomotion control strategies on-line according to sensory information so as to effectively handle dynamic changes in the real world. Yet, the FPGA-based approach fits well since it could handle efficiently higher perception functions for CPG parameter adaptation, and to provide the neural processing and coordination of a custom and adaptive CPG hardware module. For those reasons, section 7 presents a hardware implementation for quadruped locomotion control based on FPGA. The experimental results of hardware implementation and the future work are shown in sections 8 and 9, respectively. Finally, the conclusions of this work are presented in section 10.

## **2. Locomotion solution methods**

In the literature, there are different approaches to the design of locomotion control systems such as: trajectory based methods, heuristic based methods and biologically inspired methods.

### **2.1 Trajectory based methods**

2 Robotic Systems

as scientific tools to test biological hypotheses (Ijspeert, 2008). Researchers have studied the CPGs for decades and some principles have been derived to model their functionality and structure. CPGs have been proposed as a mechanism to generate an efficient control strategy for legged robots based on biological locomotion principles. Locomotion in legged robots is much more complex than wheeled robots, since the formers have between twelve or twenty degrees of freedom, which must be rhythmically coordinated to produce specific gaits. The design of locomotion control systems of legged robots is a challenge that has been partially solved. To develop bio-inspired solutions, detailed analyses of candidate biological neural

Models of CPGs have been used to control a variety of different types of robots and different modes of locomotion. For instance, CPG models have been used with hexapod and octopod robots inspired by insect locomotion, quadruped robots inspired by vertebrates, such as horse, biped robots inspired by humans and other kind of robots inspired by reptiles, such as snakes, as it will be discussed in the section 2. CPGs could been modeled with different levels of abstraction, these aspects will be presented in section 3. Additionally, CPGs present several interesting properties including distributed control, the ability to deal with redundancies, fast control loops, and allowing modulation of locomotion by simple control signals. These properties, when transferred to mathematical models, make CPGs interesting building blocks for locomotion controllers in robots (Fujii et al., 2002; Ijspeert, 2008), as shown in section 4. In spite of its importance, the CPG-approach presents several disadvantages. One of the main drawbacks of CPGs is related with the learning methodologies to generate the rhythmic signals (Zielinska, 1996). For that purpose, a method to tune a CPG using genetic algorithms (GA) is proposed, whose details are provided in section 5. Moreover, a methodology for designing CPGs to solve a particular locomotor problem is yet missing. Other problem is that animals rarely perform steady-state locomotion for long time, and tend to superpose, and switch between, multiple motor behaviors. A remaining open challenge is therefore to design

Engineering CPG-based control systems has been difficult since the simulation of even rather simple neural network models requires a significant computational power that exceeds the capacity of general embedded microprocessors. As a result, CPG dedicated hardware implementations, both analog and digital, have received more attention (Nakada, 2003). On one hand, analog circuits have been already proposed, being computation and power efficient but they usually lack flexibility and dynamics and they involve large design cycles. On the other hand, Field-Programmable Gate Array (FPGA) substrate might provide real-time response, low power consumption and concurrent processing solutions for low-level locomotion issues (Barron-Zambrano et al., 2010b). So, a brief analysis of CPG implementations is presented in section 6. Also, the integration of environment information might allow to produce behaviors by means of selection and adaption of lower substrates. Under this scenario, legged robots may reconfigure their locomotion control strategies on-line according to sensory information so as to effectively handle dynamic changes in the real world. Yet, the FPGA-based approach fits well since it could handle efficiently higher perception functions for CPG parameter adaptation, and to provide the neural processing and coordination of a custom and adaptive CPG hardware module. For those reasons, section 7 presents a hardware implementation for quadruped locomotion control based on FPGA. The experimental results of hardware implementation and the future work are shown in sections 8 and 9, respectively. Finally, the conclusions of this work are presented in section 10.

systems are essential as in the case of legged locomotion.

control architectures capable of exhibiting such richness motor skills.

In trajectory based methods, to move a leg in a desired trajectory, the joint angles between limbs are calculated in advance, by using a mathematical model that incorporates both robot and environment parameters, to produce a sequence of actions specifically scheduled. But these methods are not providing any methodology to design a controller. It is only a method to prove the stability of the motion. Therefore, the trajectories have to be designed by trial-and-error or from animal locomotion recording data (Jalal et al., 2009). The most popular stabilization criteria are the Center of Mass (CoM), Center of Pressure (CoP) and Zero Moment Point (ZMP). The gait is stable when one of these criteria remains inside the support polygon (the convex hull formed by the contact points of the feet with the ground).

These methods can generate either static or dynamic stability. The first one prevents the robot from falling down by keeping the CoM inside the support polygon by adjusting the body posture very slowly. Thus minimizing the dynamic effects and allowing the robot to pause at any moment of the gait without falling down. Using this criterion will generally lead to more power consumption since the robot has to adjust its posture so that the CoM is always inside the support polygon. The second one relies on keeping the ZMP or CoP inside the support polygon and this is a necessary and sufficient condition to achieve stability. Dynamic balance is particularly relevant during the single support phase, which means that the robot is standing in only one foot. This generally leads to more fast and reliable walking gaits (Picado et al., 2008).

### **2.2 Heuristic based methods**

The major problem with the ZMP or CoP methods are the complexity of the equations used to compute the robot dynamic. With such a level of complexity directly exposed to the robot programmer, it becomes very difficult to have a global view over the robot behavior. This is because heuristics methods were developed to hide the complexity of the problem and make it more accessible.

Heuristic methods have strong similarities with the trajectory based approach. Joint trajectories are also pre-computed from an external optimization process, only the generation strategy differs. This time, heuristic or evolutionary based techniques are used (e.g. genetic algorithms) to design the desired trajectories (Lathion, 2006).

The most successful approach of this methods is called Virtual Model Control (VMC) (Picado et al., 2008). It is a motion control framework that uses simulations of virtual components to generate desired joint torques. These joint torques create the same effect that the virtual components would have created, thereby creating the illusion that the simulated components are connected to the real robot. Such components can include simple springs, dampers, dash pots, masses, latches, bearings, non-linear potential and dissipative fields, or any other imaginable component. The generated joint torques create the same effect that the virtual components would create if they were in fact connected to the real robot (Pratt et al., 2001). This heuristic makes the design of the controller much easier. First, it is necessary to place some virtual components to maintain an upright posture and ensure stability. Virtual

**3. Locomotion modeling based on CPG**

Kimura, Shimoyama & Miura, 2003).

higher level signals from the central nervous system.

robotics purposes is given in (Buchli et al., 2006).

and the spinal cord (Ijspeert, 2008; Loeb, 2001).

The activity of the locomotor organs (legs, wings, etc.) generates a propulsive force that leads to locomotion. Each piece of a locomotor organ is rhythmically controlled by a CPG generating the rhythm. These neural networks, controlling each individual organ, interact with others so as to coordinate, in a distributed manner, the locomotor action of a complete specie. Moreover, they also adopt their activity to the surrounding environment through sensory feedback and

CPG Implementations for Robot Locomotion: Analysis and Design 165

CPGs are often modeled as neurons that have mutually coupled excitatory and inhibitory neurons, following regular interconnection structures. CPGs automatically generate complex control signals for the coordination of muscles during rhythmic movements, such as walking, running, swimming and flying (Delcomyn, 1980; Hooper, 2000;

The locomotion patterns can usually be modulated by some parameters, which offers the possibility to smoothly modify the gait (e.g. increase frequency and/or amplitude) or even to induce gait transitions. In CPG design, there are some common assumptions: the nonlinear oscillators are often assumed to be identical, the stepping movements of each limb are controlled by a single oscillator, while interlimb coordination is provided by the connections between the oscillators (Arena et al., 2004). Moreover, the sensory inputs from lower-level central nervous system and signals from higher-level central nervous system can modulate the activity of CPGs. The lower level signals are used for slow movements (low frequency response). Higher level signals are use to produce intelligent behavior and faster movements (higher frequency response). A comprehensive review of utilizing CPGs in robotics can be found in (Ijspeert, 2008), and an interesting overview of the different oscillators utilized for

The vertebrate locomotor system is organized hierarchically where the CPGs are responsible for producing the basic rhythmic patterns, and that higher-level centers (the motor cortex, cerebellum, and basal ganglia) are responsible for modulating these patterns according to environmental conditions. Such a distributed organization presents several interesting features: (i) It reduces time delays in the motor control loop (rhythms are coordinated with mechanical movements using short feedback loops through the spinal cord). (ii) It dramatically reduces the dimensionality of the descending control signals. Indeed the control signals in general do not need to specify muscle activity but only modulate CPG activity. (iii) It therefore significantly reduces the necessary bandwidth between the higher-level centers

CPG have been modeled with several levels of abstraction as for example: biophysical models, connectionist models, abstract systems of coupled oscillators. In some cases, the CPG models have been coupled to biomechanical simulation of a body, in such case they are called neuromechanical models. Detailed biophysical models are constructed based on the Hodgkin-Huxley type of neuron models. That is, neuron models that compute how ion pumps and ion channels influence membrane potentials and the generation of action potentials. In particular, the cells excite themselves via fast feedback signals while they inhibit themselves and other populations via slower feedback signals. In some cases, the pacemaker properties of single neurons are investigated. While most models concentrate on the detailed dynamics of small circuits, some models address the dynamics of larger populations of neurons, for instance the generation of traveling waves in the complete lamprey swimming CPG (Arena, 2001). Connectionist models use simplified neuron models such as leaky-integrator neurons or integrate-and-fire neurons. This connectionist model has

model control has been used to control dynamic walking bipedal robots (Pratt et al., 2001) and an agile 3D hexapod in simulation (Torres, 1996).

### **2.3 Biologically inspired methods**

This approach uses CPGs which are supposed to take an important role in animal locomotion. By coupling the neural oscillators signals when they are stimulated through some input, they are able to synchronize their frequencies. In the field of artificial intelligence and robotics, it is possible to build structures that are similar to the neural oscillators found in animals by the definition of a mathematical model (Picado et al., 2008). The term central indicates that sensory feedback (from the peripheral nervous system) is not needed for generating the rhythms. In other words, the CPG has the ability to produce a periodic output from a non-periodic input signal. CPG is a proven fact which exists in animals and its task is to generate the rhythmic movements almost independent of central nervous system. There are a lot of CPG methods and different robotic application have been proposed by different authors (Lee et al., 2007; Loeb, 2001; Nakada, 2003). However, most of the time these CPGs are designed for a specific application and there are very few methodologies to modulate the shape of the rhythmic signals, in particular for on-line trajectory generation and the CPG internal parameters are usually tuned by trial and error methods.

### **2.4 Approaches analysis**

Many different solutions have been experimented to achieve stable robot locomotion, from trajectory based methods to biologically inspired approaches. Each method presents different advantages as well as disadvantages. Next, a features summary of each approach under different requirements such as: robot knowledge, perturbation problems, design methodology, physical implementation and control scheme is presented.


The review shown that the CPG approach presents advantages, over the ZMP and VMC approaches, in the requirements of robot knowledge, perturbation problems, physical implementation and control scheme. For that reasons, more locomotion controllers for legged robots based on CPG are using currently.

### **3. Locomotion modeling based on CPG**

4 Robotic Systems

model control has been used to control dynamic walking bipedal robots (Pratt et al., 2001) and

This approach uses CPGs which are supposed to take an important role in animal locomotion. By coupling the neural oscillators signals when they are stimulated through some input, they are able to synchronize their frequencies. In the field of artificial intelligence and robotics, it is possible to build structures that are similar to the neural oscillators found in animals by the definition of a mathematical model (Picado et al., 2008). The term central indicates that sensory feedback (from the peripheral nervous system) is not needed for generating the rhythms. In other words, the CPG has the ability to produce a periodic output from a non-periodic input signal. CPG is a proven fact which exists in animals and its task is to generate the rhythmic movements almost independent of central nervous system. There are a lot of CPG methods and different robotic application have been proposed by different authors (Lee et al., 2007; Loeb, 2001; Nakada, 2003). However, most of the time these CPGs are designed for a specific application and there are very few methodologies to modulate the shape of the rhythmic signals, in particular for on-line trajectory generation and the CPG

Many different solutions have been experimented to achieve stable robot locomotion, from trajectory based methods to biologically inspired approaches. Each method presents different advantages as well as disadvantages. Next, a features summary of each approach under different requirements such as: robot knowledge, perturbation problems, design

• *Robot knowledge*: the major drawback of the trajectory based and heuristic based methods is that they both required an exact knowledge of the robot model. The CPG approach does

• *Perturbation problems*: the CPG will recover smoothly and quickly after a perturbation, the ZMP needs external on-line control to deal with perturbations and the VMC is robust

• *Design methodology*: the ZMP and VMC have well defined methodology to prove stability and intuitive ways of describing the controller. In the CPG approach, the number of parameters needed to describe the CPG is usually large and the stability is not guaranteed

• *Physical implementation*: the ZMP is easy to implement in real robots. In the VMC, the control is fast and can be efficiently done on-line. Meanwhile, the CPG is able to generate

• *Control scheme*: In the ZMP and VMC, the control is more centralized in a black box connected to the robot. But the CPG will be distributed over the whole robot body, as a virtual spinal cord, this property allows to the robot to continue with the gait generation

The review shown that the CPG approach presents advantages, over the ZMP and VMC approaches, in the requirements of robot knowledge, perturbation problems, physical implementation and control scheme. For that reasons, more locomotion controllers for legged

new trajectories for various speeds, without the necessity to be trained again.

an agile 3D hexapod in simulation (Torres, 1996).

internal parameters are usually tuned by trial and error methods.

methodology, physical implementation and control scheme is presented.

not require an exact knowledge of the robot model.

as in trajectory and heuristic based methods.

if some part of the control is missing.

robots based on CPG are using currently.

**2.3 Biologically inspired methods**

**2.4 Approaches analysis**

against small perturbation.

The activity of the locomotor organs (legs, wings, etc.) generates a propulsive force that leads to locomotion. Each piece of a locomotor organ is rhythmically controlled by a CPG generating the rhythm. These neural networks, controlling each individual organ, interact with others so as to coordinate, in a distributed manner, the locomotor action of a complete specie. Moreover, they also adopt their activity to the surrounding environment through sensory feedback and higher level signals from the central nervous system.

CPGs are often modeled as neurons that have mutually coupled excitatory and inhibitory neurons, following regular interconnection structures. CPGs automatically generate complex control signals for the coordination of muscles during rhythmic movements, such as walking, running, swimming and flying (Delcomyn, 1980; Hooper, 2000; Kimura, Shimoyama & Miura, 2003).

The locomotion patterns can usually be modulated by some parameters, which offers the possibility to smoothly modify the gait (e.g. increase frequency and/or amplitude) or even to induce gait transitions. In CPG design, there are some common assumptions: the nonlinear oscillators are often assumed to be identical, the stepping movements of each limb are controlled by a single oscillator, while interlimb coordination is provided by the connections between the oscillators (Arena et al., 2004). Moreover, the sensory inputs from lower-level central nervous system and signals from higher-level central nervous system can modulate the activity of CPGs. The lower level signals are used for slow movements (low frequency response). Higher level signals are use to produce intelligent behavior and faster movements (higher frequency response). A comprehensive review of utilizing CPGs in robotics can be found in (Ijspeert, 2008), and an interesting overview of the different oscillators utilized for robotics purposes is given in (Buchli et al., 2006).

The vertebrate locomotor system is organized hierarchically where the CPGs are responsible for producing the basic rhythmic patterns, and that higher-level centers (the motor cortex, cerebellum, and basal ganglia) are responsible for modulating these patterns according to environmental conditions. Such a distributed organization presents several interesting features: (i) It reduces time delays in the motor control loop (rhythms are coordinated with mechanical movements using short feedback loops through the spinal cord). (ii) It dramatically reduces the dimensionality of the descending control signals. Indeed the control signals in general do not need to specify muscle activity but only modulate CPG activity. (iii) It therefore significantly reduces the necessary bandwidth between the higher-level centers and the spinal cord (Ijspeert, 2008; Loeb, 2001).

CPG have been modeled with several levels of abstraction as for example: biophysical models, connectionist models, abstract systems of coupled oscillators. In some cases, the CPG models have been coupled to biomechanical simulation of a body, in such case they are called neuromechanical models. Detailed biophysical models are constructed based on the Hodgkin-Huxley type of neuron models. That is, neuron models that compute how ion pumps and ion channels influence membrane potentials and the generation of action potentials. In particular, the cells excite themselves via fast feedback signals while they inhibit themselves and other populations via slower feedback signals. In some cases, the pacemaker properties of single neurons are investigated. While most models concentrate on the detailed dynamics of small circuits, some models address the dynamics of larger populations of neurons, for instance the generation of traveling waves in the complete lamprey swimming CPG (Arena, 2001). Connectionist models use simplified neuron models such as leaky-integrator neurons or integrate-and-fire neurons. This connectionist model has

Fig. 1. Configurations of typical gait patterns in quadruped locomotion and their relative

CPG Implementations for Robot Locomotion: Analysis and Design 167

There are several models for neural oscillators to model the basic CPG to control a limb, such as the Amari-Hopfield model (Amari, 1988), Matsuoka model (Billard & Ijspeert, 2000) and Van Der Pol model (Van Der Pol B, 1928). For this work, the basic cell is modeled by a Van Der Pol (VDP) oscillator which is a relaxation oscillator governed by a second-order differential

where *x* is the output signal from the oscillator, *α*, *p* and *ω* are the parameters that tune the properties of oscillators. In general, *α* affects the shape of the waveform, the amplitude of *x* depends largely on the parameter *p*. When the amplitude parameter *p* is fixed, the output frequency is highly dependent on the parameter *ω*. However, a variation of parameter *p* can slightly change the frequency of the signal, and *α* also can influence the output frequency.

A simplified mathematical model of CPG-based locomotion consists of using one cell per limb and replacing each cell by a nonlinear oscillator. Thus, quadruped gaits are modeled by coupling four nonlinear oscillators, and by changing the connections among them, it is possible to reproduce rhythmic locomotion patterns. In rhythmic movements of animals, transition between these movements is often observed. As a typical example, horses choose different locomotive patterns in accordance with their needs, locomotive speeds or the rate of energy consumption. In addition, each gait pattern is characterized by relative phase among the limbs (Dagg, 1973). Figure 1 shows the typical horse gait pattern configurations and theirs relatives phases between the limbs. Here, *LF*, *LH*, *RF*, and *RH* stand for left forelimb, left hindlimb, right forelimb, and right hindlimb. In the rest of this work, *LF*, *RF*, *RH* and *LH*

The mutual interaction among the VDP oscillators in the network produces a gait. By changing the coupling weights, it is possible to generate different gaits. The dynamics of

For *i* = 1, 2, 3, 4 , where *xi* is the output signal from oscillator *i*, *xai* denotes the coupling

*<sup>i</sup>* <sup>−</sup> *<sup>x</sup>*<sup>2</sup>

*xai* = ∑ *j*

*<sup>x</sup>*¨ <sup>−</sup> *<sup>α</sup>*(*p*<sup>2</sup> <sup>−</sup> *<sup>x</sup>*2)*x*˙ <sup>+</sup> *<sup>ω</sup>*2*<sup>x</sup>* <sup>=</sup> 0 (1)

*ai*)*x*˙*<sup>i</sup>* <sup>−</sup> *<sup>ω</sup>*<sup>2</sup>*xai* <sup>=</sup> 0 (2)

*wijxj* (3)

phases among the limbs.

equation (equation 1):

**4.2 Quadruped gaits**

will be refer as *X*1, *X*2, *X*3 and *X*4 , respectively.

the *i*th coupled oscillator in the network is given by:

contribution of its neighbors given by the equation 3:

*x*¨*<sup>i</sup>* + *α*(*p*<sup>2</sup>

**4.1 Van Der Pol oscillator model**

shown that connectivity alone is sufficient to produce an oscillatory output. The goal of these models is on how rhythmic activity is generated by network properties and how different oscillatory neural circuits get synchronized via interneuron connections (Ijspeert, 2008).

Other extensively used oscillators include phase oscillators (Buchli & Ijspeert, 2004; Matsuoka, 1987). Most of the oscillators have a fixed waveform for a given frequency. In some cases, closed-form solutions or specific regimes, as for example phase-locked regimes, can be analytically derived but most systems are solved using numerical integration. Several neuromechanical models have been developed. The addition of a biomechanical model of the body and its interaction with the environment offers the possibility to study the effect of sensory feedback on the CPG activity.

Finally, oscillator models are based on mathematical models of coupled nonlinear oscillators to study population dynamics. In this case, an oscillator represents the activity of a complete oscillatory center (instead of a single neuron or a small circuit). The purpose of these models is not to explain rhythmogenesis (oscillatory mechanisms are assumed to exist) but to study how inter-oscillator couplings and differences of intrinsic frequencies affect the synchronization and the phase lags within a population of oscillatory centers. The motivation for this type of modeling comes from the fact that the dynamics of populations of oscillatory centers depend mainly on the type and topology of couplings rather than on the local mechanisms of rhythm generation, something that is well established in dynamical systems theory (Ijspeert & Crespi, 2007).

### **4. CPG-based locomotion design for quadruped robots**

The locomotion control research field has been pretty active and has produced different approaches for legged robots. But the ability for robots to walk in an unknown environment is still much reduced at the time. Experiments and research work have addressed the feasibility of the design of locomotion control systems of legged robots taking inspiration from locomotion mechanisms in humans and animals. Legged locomotion is performed in rhythmic synchronized manner where a large number of degrees of freedom is involved so as to produce well-coordinated movements.

As described previously, one of the main drawbacks of CPGs is that there are few learning methodologies to generate the rhythmic signals and their parameters are usually tuned by trial and error methods. Learning and optimization algorithms can be used in different ways. The approaches can be divided into two categories: supervised learning and unsupervised learning. Supervised learning techniques can be applied when the desired rhythmic pattern that the CPG should produce is known. The desired pattern can then be used to define an explicit error function to be minimized. Such techniques can sometimes be used for designing CPGs, but they are restricted to situations where suitable patterns are available (e.g. they are obtained from kinematic measurements of animals). Some examples of these techniques are learning for vectors fields (Okada et al., 2002), gradient descent learning algorithms (Pribe et al., n.d.) and statistical learning algorithms (Nakanishi et al., 2004). Unsupervised learning techniques are used when the desired behavior of the CPG is not defined by a specific desired pattern (as in supervised learning), but by a high-level performance criterion, for instance, moving as fast as possible. Among unsupervised learning techniques, stochastic population-based optimization algorithms such as evolutionary algorithms have extensively been used to design CPG-like models (Ijspeert, 2008). The parameters that are optimized are usually the synaptic weights in fixed neural network architectures and coupling weights in systems of coupled oscillators.

Fig. 1. Configurations of typical gait patterns in quadruped locomotion and their relative phases among the limbs.

#### **4.1 Van Der Pol oscillator model**

6 Robotic Systems

shown that connectivity alone is sufficient to produce an oscillatory output. The goal of these models is on how rhythmic activity is generated by network properties and how different oscillatory neural circuits get synchronized via interneuron connections (Ijspeert, 2008). Other extensively used oscillators include phase oscillators (Buchli & Ijspeert, 2004; Matsuoka, 1987). Most of the oscillators have a fixed waveform for a given frequency. In some cases, closed-form solutions or specific regimes, as for example phase-locked regimes, can be analytically derived but most systems are solved using numerical integration. Several neuromechanical models have been developed. The addition of a biomechanical model of the body and its interaction with the environment offers the possibility to study the effect of

Finally, oscillator models are based on mathematical models of coupled nonlinear oscillators to study population dynamics. In this case, an oscillator represents the activity of a complete oscillatory center (instead of a single neuron or a small circuit). The purpose of these models is not to explain rhythmogenesis (oscillatory mechanisms are assumed to exist) but to study how inter-oscillator couplings and differences of intrinsic frequencies affect the synchronization and the phase lags within a population of oscillatory centers. The motivation for this type of modeling comes from the fact that the dynamics of populations of oscillatory centers depend mainly on the type and topology of couplings rather than on the local mechanisms of rhythm generation, something that is well established in dynamical systems theory (Ijspeert & Crespi,

The locomotion control research field has been pretty active and has produced different approaches for legged robots. But the ability for robots to walk in an unknown environment is still much reduced at the time. Experiments and research work have addressed the feasibility of the design of locomotion control systems of legged robots taking inspiration from locomotion mechanisms in humans and animals. Legged locomotion is performed in rhythmic synchronized manner where a large number of degrees of freedom is involved so as

As described previously, one of the main drawbacks of CPGs is that there are few learning methodologies to generate the rhythmic signals and their parameters are usually tuned by trial and error methods. Learning and optimization algorithms can be used in different ways. The approaches can be divided into two categories: supervised learning and unsupervised learning. Supervised learning techniques can be applied when the desired rhythmic pattern that the CPG should produce is known. The desired pattern can then be used to define an explicit error function to be minimized. Such techniques can sometimes be used for designing CPGs, but they are restricted to situations where suitable patterns are available (e.g. they are obtained from kinematic measurements of animals). Some examples of these techniques are learning for vectors fields (Okada et al., 2002), gradient descent learning algorithms (Pribe et al., n.d.) and statistical learning algorithms (Nakanishi et al., 2004). Unsupervised learning techniques are used when the desired behavior of the CPG is not defined by a specific desired pattern (as in supervised learning), but by a high-level performance criterion, for instance, moving as fast as possible. Among unsupervised learning techniques, stochastic population-based optimization algorithms such as evolutionary algorithms have extensively been used to design CPG-like models (Ijspeert, 2008). The parameters that are optimized are usually the synaptic weights in fixed neural network architectures and coupling weights in

sensory feedback on the CPG activity.

to produce well-coordinated movements.

systems of coupled oscillators.

**4. CPG-based locomotion design for quadruped robots**

2007).

There are several models for neural oscillators to model the basic CPG to control a limb, such as the Amari-Hopfield model (Amari, 1988), Matsuoka model (Billard & Ijspeert, 2000) and Van Der Pol model (Van Der Pol B, 1928). For this work, the basic cell is modeled by a Van Der Pol (VDP) oscillator which is a relaxation oscillator governed by a second-order differential equation (equation 1):

$$
\ddot{\mathbf{x}} - \mathbf{a} (p^2 - \mathbf{x}^2) \dot{\mathbf{x}} + \omega^2 \mathbf{x} = \mathbf{0} \tag{1}
$$

where *x* is the output signal from the oscillator, *α*, *p* and *ω* are the parameters that tune the properties of oscillators. In general, *α* affects the shape of the waveform, the amplitude of *x* depends largely on the parameter *p*. When the amplitude parameter *p* is fixed, the output frequency is highly dependent on the parameter *ω*. However, a variation of parameter *p* can slightly change the frequency of the signal, and *α* also can influence the output frequency.

#### **4.2 Quadruped gaits**

A simplified mathematical model of CPG-based locomotion consists of using one cell per limb and replacing each cell by a nonlinear oscillator. Thus, quadruped gaits are modeled by coupling four nonlinear oscillators, and by changing the connections among them, it is possible to reproduce rhythmic locomotion patterns. In rhythmic movements of animals, transition between these movements is often observed. As a typical example, horses choose different locomotive patterns in accordance with their needs, locomotive speeds or the rate of energy consumption. In addition, each gait pattern is characterized by relative phase among the limbs (Dagg, 1973). Figure 1 shows the typical horse gait pattern configurations and theirs relatives phases between the limbs. Here, *LF*, *LH*, *RF*, and *RH* stand for left forelimb, left hindlimb, right forelimb, and right hindlimb. In the rest of this work, *LF*, *RF*, *RH* and *LH* will be refer as *X*1, *X*2, *X*3 and *X*4 , respectively.

The mutual interaction among the VDP oscillators in the network produces a gait. By changing the coupling weights, it is possible to generate different gaits. The dynamics of the *i*th coupled oscillator in the network is given by:

$$
\ddot{\mathfrak{x}}\_i + \mathfrak{a}(p\_i^2 - \mathfrak{x}\_{ai}^2)\dot{\mathfrak{x}}\_i - \omega^2 \mathfrak{x}\_{ai} = 0 \tag{2}
$$

For *i* = 1, 2, 3, 4 , where *xi* is the output signal from oscillator *i*, *xai* denotes the coupling contribution of its neighbors given by the equation 3:

$$\mathbf{x}\_{\rm ai} = \sum\_{\mathbf{j}} w\_{\mathbf{i}\mathbf{j}} \mathbf{x}\_{\mathbf{j}} \tag{3}$$

Fig. 2. Block diagram of first stage. It estimates the oscillator parameter values, [*α*, *p*, *ω*], to

CPG Implementations for Robot Locomotion: Analysis and Design 169

individuals. Furthermore, the remaining individuals are randomly modified by mutation.

The second stage performs the synchronization among the oscillator outputs. The generation of different gaits needs patterns with specific phase amount the output signals, see figure 1. The stage computes the value of *wij*. To produce a desired phase is not enough only with connection weights, it is necessary to calculate the initial conditions of each oscillator, *x*1..4, too. For that purpose, in the second stage each individual, *n*, has five values in order to generate a specific phase in the network. The values in the gene are organized from the right to left. The first four values are the initial values for each oscillator, *x*1..4. And the fifth value codes the connection weight, *w*. The equation 6 shows the presentation of *n* in this stage.

*n* = [*wx*4*x*3*x*2*x*1] (6)

The probabilities of crossover and mutation are set to be 0.8 and 0.2, respectively.

where the initial values and connection weight were represented by real numbers.

The GA only needs estimate one value of *w* for one gait and by changing the algebraic sign it is possible to generate the rest of the gaits. The fitness function is based on the phase among the patterns. To estimate the phase among the signals, the correlation was used. The oscillator labeled as *LF* (*X*1) is the reference signal, phase equal to zero, and the other signals are shifted with respect to this signal. The fitness function to evaluate the individual is given by equation

*fitness<sup>ω</sup>* = *abs*(90 − *phase*(*x*1, *x*3)) + *abs*(90 − *phase*(*x*3, *x*2)) + *abs*(90 − *phase*(*x*2, *x*4)) (7)

where *phase*(*xi*, *xj*) is the phase between the *i*th and *j*th oscillator. The simulation of *x*1..4 is generated by around of 50 seconds by each *n* and only the last 10 seconds are considered for

Nowadays, many works have aimed to develop robust legged locomotion controllers (Fujii et al., 2002; Fukuoka et al., 2003; Susanne & Tilden, 1998). The design CPG-based control systems has been difficult given that the simulation of even rather simple neural network models requires a computational power that exceeds the capacity of general processors. For that reason, CPG dedicated hardware implementations, both analog and digital, have received more attention (Nakada, 2003). On one hand, CPGs have been implemented using

the phase estimation. Figure 2 shows a block diagram of the second stage.

produce a signal with specific frequency and amplitude.

7. Here, the GA minimizes the value of the fitness function.

**6. Related work of hardware implementations**

where *wij* is the coupling weight that represents the strength of *i*th oscillator over the *j*th oscillator. The generation of the respective gaits depends on the values of the oscillators parameters and the connection wights among oscillators.

The analysis of the behavior reported in (Barron-Zambrano & Torres-Huitzil, 2011) shows that *the sign of the coupling weight determines the phase difference. For inhibitory connections, the phase lag is around of* 360/*n to particular values of wij, where n is the number of coupled oscillators. For excitatory connections, the phase difference is equal to zero. Finally, the matrix built for the connection weights, wij, might be symmetrical and regular*.

### **5. GA-based approach for gait learning**

To efficiently search for CPG parameters a genetic algorithm for oscillator parameters estimation was used. A genetic algorithm is a powerful optimization approach that can work in large-dimensional, nonlinear, and, often, largely unknown parameter spaces. In the simplest form of gait evolution, functional forward locomotion is the only goal and no sensor inputs are used. Gait learning is a form of locomotion learning, but it might be considered a somewhat more difficult problem in legged robots. The search space is represented by the genome defining the controller representation (or controller and morphology representation). Each evolvable parameter of the genome defines a dimension of the search space, and the fitness landscape is then given by the manifold defined by the fitness of each point in the search space.

The tuned method is divided into two stages and the robot controller was represented by a string of real numbers that describe oscillators and their connectivity. The first one estimates the oscillator parameters and the second one calculates the values of *wij* to produce the locomotion pattern. The two stages work in sequential way.

The first stage estimates the parameters [*α*, *p*, *ω*] to generate a specific wave in frequency and amplitude. Here, the oscillators parameters correspond to the gene and represent the organization of an individual *n* in a group of population *N*. The individual, *n*, is represented by the concatenation of parameters in order shown in equation 4, where each parameter was represented by real numbers of 32-bit:

$$
\mathfrak{m} = [\mathfrak{a}p\omega] \tag{4}
$$

Each individual *n* is evaluated according to the next fitness function which is minimized by the GA:

$$fitness\_p = abs((A\_d - A\_p) \* (f\_d - DFT(S\_o)))\tag{5}$$

where *Ad* is the desired amplitude of the signal, *fd* is the desired frequency, *Ap* is the amplitude of the generated pattern, *So* is the pattern generated by the oscillator with the individual *n* and *DFT* is the Discrete Fourier Transform. Simulation of *So* is generated by around of 50 seconds by each individual, *n*, and only the last 5 seconds are considered for the *DFT* computation. This is to ensure a stable signal, in frequency and amplitude, and to reduce the amount of data to be processed. Figure 2 shows a block diagram of this stage.

The GA ranks the individuals according the fitness function. As result of ranking, the best individuals remain in the next generation without modification. For this stage, 2 individuals remain without modification and go to the next generation. By using the crossover operation, other individuals in the next generation are created by combining two 8 Robotic Systems

where *wij* is the coupling weight that represents the strength of *i*th oscillator over the *j*th oscillator. The generation of the respective gaits depends on the values of the oscillators

The analysis of the behavior reported in (Barron-Zambrano & Torres-Huitzil, 2011) shows that *the sign of the coupling weight determines the phase difference. For inhibitory connections, the phase lag is around of* 360/*n to particular values of wij, where n is the number of coupled oscillators. For excitatory connections, the phase difference is equal to zero. Finally, the matrix built for the*

To efficiently search for CPG parameters a genetic algorithm for oscillator parameters estimation was used. A genetic algorithm is a powerful optimization approach that can work in large-dimensional, nonlinear, and, often, largely unknown parameter spaces. In the simplest form of gait evolution, functional forward locomotion is the only goal and no sensor inputs are used. Gait learning is a form of locomotion learning, but it might be considered a somewhat more difficult problem in legged robots. The search space is represented by the genome defining the controller representation (or controller and morphology representation). Each evolvable parameter of the genome defines a dimension of the search space, and the fitness landscape is then given by the manifold defined by the fitness of each point in the

The tuned method is divided into two stages and the robot controller was represented by a string of real numbers that describe oscillators and their connectivity. The first one estimates the oscillator parameters and the second one calculates the values of *wij* to produce the

The first stage estimates the parameters [*α*, *p*, *ω*] to generate a specific wave in frequency and amplitude. Here, the oscillators parameters correspond to the gene and represent the organization of an individual *n* in a group of population *N*. The individual, *n*, is represented by the concatenation of parameters in order shown in equation 4, where each parameter was

Each individual *n* is evaluated according to the next fitness function which is minimized by

where *Ad* is the desired amplitude of the signal, *fd* is the desired frequency, *Ap* is the amplitude of the generated pattern, *So* is the pattern generated by the oscillator with the individual *n* and *DFT* is the Discrete Fourier Transform. Simulation of *So* is generated by around of 50 seconds by each individual, *n*, and only the last 5 seconds are considered for the *DFT* computation. This is to ensure a stable signal, in frequency and amplitude, and to reduce

The GA ranks the individuals according the fitness function. As result of ranking, the best individuals remain in the next generation without modification. For this stage, 2 individuals remain without modification and go to the next generation. By using the crossover operation, other individuals in the next generation are created by combining two

the amount of data to be processed. Figure 2 shows a block diagram of this stage.

*n* = [*αpω*] (4)

*fitnessp* = *abs*((*Ad* − *Ap*) ∗ (*fd* − *DFT*(*So*))) (5)

parameters and the connection wights among oscillators.

*connection weights, wij, might be symmetrical and regular*.

locomotion pattern. The two stages work in sequential way.

represented by real numbers of 32-bit:

**5. GA-based approach for gait learning**

search space.

the GA:

Fig. 2. Block diagram of first stage. It estimates the oscillator parameter values, [*α*, *p*, *ω*], to produce a signal with specific frequency and amplitude.

individuals. Furthermore, the remaining individuals are randomly modified by mutation. The probabilities of crossover and mutation are set to be 0.8 and 0.2, respectively.

The second stage performs the synchronization among the oscillator outputs. The generation of different gaits needs patterns with specific phase amount the output signals, see figure 1. The stage computes the value of *wij*. To produce a desired phase is not enough only with connection weights, it is necessary to calculate the initial conditions of each oscillator, *x*1..4, too. For that purpose, in the second stage each individual, *n*, has five values in order to generate a specific phase in the network. The values in the gene are organized from the right to left. The first four values are the initial values for each oscillator, *x*1..4. And the fifth value codes the connection weight, *w*. The equation 6 shows the presentation of *n* in this stage.

$$m = [w \mathbf{x}\_4 \mathbf{x}\_3 \mathbf{x}\_2 \mathbf{x}\_1] \tag{6}$$

where the initial values and connection weight were represented by real numbers. The GA only needs estimate one value of *w* for one gait and by changing the algebraic sign it is possible to generate the rest of the gaits. The fitness function is based on the phase among the patterns. To estimate the phase among the signals, the correlation was used. The oscillator labeled as *LF* (*X*1) is the reference signal, phase equal to zero, and the other signals are shifted with respect to this signal. The fitness function to evaluate the individual is given by equation 7. Here, the GA minimizes the value of the fitness function.

$$\text{The first-order coupling between the two-dimensional } \mathcal{N} \text{-matrices is the only possible } \mathcal{N} \text{-matrices with } \mathcal{N} = \{0, 1, 2, \dots, N\} \text{ and } \mathcal{N} = \{0, 1, 2, \dots, N\}.$$

where *phase*(*xi*, *xj*) is the phase between the *i*th and *j*th oscillator. The simulation of *x*1..4 is generated by around of 50 seconds by each *n* and only the last 10 seconds are considered for the phase estimation. Figure 2 shows a block diagram of the second stage.

*fitness<sup>ω</sup>* = *abs*(90 − *phase*(*x*1, *x*3)) + *abs*(90 − *phase*(*x*3, *x*2)) + *abs*(90 − *phase*(*x*2, *x*4)) (7)

### **6. Related work of hardware implementations**

Nowadays, many works have aimed to develop robust legged locomotion controllers (Fujii et al., 2002; Fukuoka et al., 2003; Susanne & Tilden, 1998). The design CPG-based control systems has been difficult given that the simulation of even rather simple neural network models requires a computational power that exceeds the capacity of general processors. For that reason, CPG dedicated hardware implementations, both analog and digital, have received more attention (Nakada, 2003). On one hand, CPGs have been implemented using

an analog array of nonlinear systems known as Cellular Neural Networks (CNN). The CNN is defined as a two-dimensional array of *M* × *N* identical cells arranged in a rectangular grid, where each cell was defined as the nonlinear first order circuit. The author reports that the application to service robot further underlines that CNNs can be used as powerful devices to

CPG Implementations for Robot Locomotion: Analysis and Design 171

Another solution to implement the CPG is using FPGAs as the hardware platform. The CPG is programmed in either VHDL or Verilog and download it onto the FPGA. This approach provide the hardware efficiency with software flexibility. In (Torres-Huitzil, 2008), Torres and Girau present an implementation of a CPG module based on the Amari-Hopfield structure into pure FPGA hardware. In their work, they have chosen to attached the CPG implementation to a Microblaze soft-core processor running uclinux. By doing this, they achieve the computation speed from having the CPG running the mathematical operations in the FPGA hardware making it possible to achieve some degree of parallelization in the calculations and then having the soft-core CPU free to handle other high level control algorithms and this could change the control parameters on the CPG implementation. Barron et al in (Barron-Zambrano et al., 2010b) present a FPGA implementation of a controller, based on CPG, to generate adaptive gait patterns for quadruped robots. The proposed implementation is based on an specific digital module for CPGs attached to a soft-core processor so as to provide an integrated and flexible embedded system. Experimental results show that the proposed implementation is able to generate suitable gait patterns, such as

Other CPGs implementations are using microprocessor. It gives the designer more freedom, because it is not constrained by the difficulty of designing e.g. a differential analog circuits. These implementations using a scheme where the control is distributed trough the robot body. The first implementation example of these is presented by (Inagaki et al., 2006). In that work, Inagaki et al proposed a method to control gait generation and walking speed control for an autonomous decentralized multi-legged robot using CPGs. The robot locomotion control is composed by subsystems. Each subsystem controls a leg and has a microcomputer. The subsystems are connected mechanically and communicate with neighbors. Each microcomputer calculates the dynamics of two oscillators, sends and receives the dynamic results from neighbor subsystems. The gait generation and the walking speed control are achieved by controlling the virtual energy of the oscillators (Hamiltonian). A real robot experiment showed the relationship to the Hamiltonian, the actual energy consumption and the walking speed. The effectiveness of the proposed method was verified. The proposed controller can be generalized as a wave pattern controller, especially for robots that have homogeneous components. In (Crespi & Ijspeert, 2006), Crespi and Ijspeert proposed an amphibious snake robot designed for both serpentine locomotion (crawling) and swimming. It is controlled by an on-board CPG inspired by those found in vertebrates. The AmphiBot II robot is designed to be modular: it is constructed out of several identical segments, named elements. Each element contains three printed circuits (a power board, a proportional-derivative motor controller and a small water detector) connected with a flat cable, a DC motor with an integrated incremental encoder, a set of gears. The elements are connected (both mechanically and electrically) using a compliant connection piece fixed to the output axis. The main contribution of this article is a detailed characterization of how the CPG parameters (i.e., amplitude, frequency and wavelength) influence the locomotion speed of the

implement biologically inspired locomotion and swimming.

walking, trotting, and galloping.

robot.

Fig. 3. Block diagram of second stage. It finds the values of coupling, *wij* and the initial values of *x*1..4.

microprocessors providing high accuracy and flexibility but those systems consume high power and occupy a large area restricting their utility in embedded applications. On the other hand, analog circuits have been already proposed, being computation and power efficient but they usually lack flexibility and dynamics and they involve large design cycles.

Relatively few works have focused on adopting the hardware technology to fully practical embedded implementations. Examples of this adaptation using analog circuit are presented by (Kier et al., 2006; Lee et al., 2007; Lewis et al., 2001; Nakada, 2003). In the first one, Nakada et al present a neuromorphic analog CMOS controller for interlimb coordination in quadruped locomotion. Authors propose a CPG controller with analog CMOS circuits. It is capable of producing various rhythmic patterns and changing these patterns promptly. Lewis at al constructed an adaptive CPG in an analog VLSI (*Very Large Scale Integration*) chip, and have used the chip to control a running robot leg. They show that adaptation based on sensory feedback permits a stable gait even in an under actuated condition: the leg can be driven using a hip actuator alone while the knee is purely passive. Their chip has short-term on board memory devices that allow the continuous, real-time adaptation of both center-of-stride and stride amplitude. In addition, they make use of integrate-and-fire neurons for the output motor neurons. Finally, the authors report that their abstraction is at a higher level than other reported work, which lends itself to easier implementation of on-chip learning. Kier et al present a new implementation of an artificial CPG that can be switched between multiple output patterns via brief transient inputs. The CPG is based on continuous-time recurrent neural networks (CTRNNs) that contain multiple embedded limit cycles. The authors designed and tested a four-neuron CPG chip in AMI's 1.5 *μm* CMOS process, where each neuron on the chip implements the CTRNN model and is fully programmable. The authors report the measured results from the chip agree well with simulation results, making it possible to develop multi-pattern CPGs using off-line simulations without being concerned with implementation details. Lee at al report a feasibility study of a central pattern generator-based analog controller for an autonomous robot. The operation of a neuronal circuit formed of electronic neurons based on Hindmarsh-Rose neuron dynamics and first order chemical synapses modeled. The controller is based on a standard CMOS process with 2V supply voltage. Simulated results show that the CPG circuit with coordinate controller and command neuron is viable to build adaptive analog controller for autonomous biomimetic underwater robots. Finally, a biologically inspired swimming machine is presented by Arena in (Arena, 2001). The system used to generate locomotion is 10 Robotic Systems

Fig. 3. Block diagram of second stage. It finds the values of coupling, *wij* and the initial

they usually lack flexibility and dynamics and they involve large design cycles.

microprocessors providing high accuracy and flexibility but those systems consume high power and occupy a large area restricting their utility in embedded applications. On the other hand, analog circuits have been already proposed, being computation and power efficient but

Relatively few works have focused on adopting the hardware technology to fully practical embedded implementations. Examples of this adaptation using analog circuit are presented by (Kier et al., 2006; Lee et al., 2007; Lewis et al., 2001; Nakada, 2003). In the first one, Nakada et al present a neuromorphic analog CMOS controller for interlimb coordination in quadruped locomotion. Authors propose a CPG controller with analog CMOS circuits. It is capable of producing various rhythmic patterns and changing these patterns promptly. Lewis at al constructed an adaptive CPG in an analog VLSI (*Very Large Scale Integration*) chip, and have used the chip to control a running robot leg. They show that adaptation based on sensory feedback permits a stable gait even in an under actuated condition: the leg can be driven using a hip actuator alone while the knee is purely passive. Their chip has short-term on board memory devices that allow the continuous, real-time adaptation of both center-of-stride and stride amplitude. In addition, they make use of integrate-and-fire neurons for the output motor neurons. Finally, the authors report that their abstraction is at a higher level than other reported work, which lends itself to easier implementation of on-chip learning. Kier et al present a new implementation of an artificial CPG that can be switched between multiple output patterns via brief transient inputs. The CPG is based on continuous-time recurrent neural networks (CTRNNs) that contain multiple embedded limit cycles. The authors designed and tested a four-neuron CPG chip in AMI's 1.5 *μm* CMOS process, where each neuron on the chip implements the CTRNN model and is fully programmable. The authors report the measured results from the chip agree well with simulation results, making it possible to develop multi-pattern CPGs using off-line simulations without being concerned with implementation details. Lee at al report a feasibility study of a central pattern generator-based analog controller for an autonomous robot. The operation of a neuronal circuit formed of electronic neurons based on Hindmarsh-Rose neuron dynamics and first order chemical synapses modeled. The controller is based on a standard CMOS process with 2V supply voltage. Simulated results show that the CPG circuit with coordinate controller and command neuron is viable to build adaptive analog controller for autonomous biomimetic underwater robots. Finally, a biologically inspired swimming machine is presented by Arena in (Arena, 2001). The system used to generate locomotion is

values of *x*1..4.

an analog array of nonlinear systems known as Cellular Neural Networks (CNN). The CNN is defined as a two-dimensional array of *M* × *N* identical cells arranged in a rectangular grid, where each cell was defined as the nonlinear first order circuit. The author reports that the application to service robot further underlines that CNNs can be used as powerful devices to implement biologically inspired locomotion and swimming.

Another solution to implement the CPG is using FPGAs as the hardware platform. The CPG is programmed in either VHDL or Verilog and download it onto the FPGA. This approach provide the hardware efficiency with software flexibility. In (Torres-Huitzil, 2008), Torres and Girau present an implementation of a CPG module based on the Amari-Hopfield structure into pure FPGA hardware. In their work, they have chosen to attached the CPG implementation to a Microblaze soft-core processor running uclinux. By doing this, they achieve the computation speed from having the CPG running the mathematical operations in the FPGA hardware making it possible to achieve some degree of parallelization in the calculations and then having the soft-core CPU free to handle other high level control algorithms and this could change the control parameters on the CPG implementation. Barron et al in (Barron-Zambrano et al., 2010b) present a FPGA implementation of a controller, based on CPG, to generate adaptive gait patterns for quadruped robots. The proposed implementation is based on an specific digital module for CPGs attached to a soft-core processor so as to provide an integrated and flexible embedded system. Experimental results show that the proposed implementation is able to generate suitable gait patterns, such as walking, trotting, and galloping.

Other CPGs implementations are using microprocessor. It gives the designer more freedom, because it is not constrained by the difficulty of designing e.g. a differential analog circuits. These implementations using a scheme where the control is distributed trough the robot body. The first implementation example of these is presented by (Inagaki et al., 2006). In that work, Inagaki et al proposed a method to control gait generation and walking speed control for an autonomous decentralized multi-legged robot using CPGs. The robot locomotion control is composed by subsystems. Each subsystem controls a leg and has a microcomputer. The subsystems are connected mechanically and communicate with neighbors. Each microcomputer calculates the dynamics of two oscillators, sends and receives the dynamic results from neighbor subsystems. The gait generation and the walking speed control are achieved by controlling the virtual energy of the oscillators (Hamiltonian). A real robot experiment showed the relationship to the Hamiltonian, the actual energy consumption and the walking speed. The effectiveness of the proposed method was verified. The proposed controller can be generalized as a wave pattern controller, especially for robots that have homogeneous components. In (Crespi & Ijspeert, 2006), Crespi and Ijspeert proposed an amphibious snake robot designed for both serpentine locomotion (crawling) and swimming. It is controlled by an on-board CPG inspired by those found in vertebrates. The AmphiBot II robot is designed to be modular: it is constructed out of several identical segments, named elements. Each element contains three printed circuits (a power board, a proportional-derivative motor controller and a small water detector) connected with a flat cable, a DC motor with an integrated incremental encoder, a set of gears. The elements are connected (both mechanically and electrically) using a compliant connection piece fixed to the output axis. The main contribution of this article is a detailed characterization of how the CPG parameters (i.e., amplitude, frequency and wavelength) influence the locomotion speed of the robot.

(a) (b)

Fig. 4. (a) Digital hardware architecture for the Van Der Pol oscillator and (b) average error as

CPG Implementations for Robot Locomotion: Analysis and Design 173

From the analysis of Van Der Pol equation, Eq. 2, three basic operations were identified: addition, subtraction and multiplication. Thus, one block for each operation was implemented with 2's complement fixed-point arithmetic representation. Figure 4(a) shows a block diagram for the hardware implementation of the discretized VDP equation. In the first stage, the value of *xai* (equation 3) is calculated: this value depends on the *xi*-neighbors and the coupling weight values. This stage uses four multipliers and one adder. The square values of *p*, *xai* and *ω* are calculated in the second stage, it uses three multipliers. In the third stage, the values of *<sup>α</sup>* <sup>∗</sup> *yi* and *<sup>p</sup>*<sup>2</sup> <sup>−</sup> *xai* are calculated, one multiplier and a subtracter are used. The fourth stage computes the values of *<sup>α</sup>* <sup>∗</sup> *yi* <sup>∗</sup> (*p*<sup>2</sup> <sup>−</sup> *xai*) and *<sup>w</sup>*<sup>2</sup> <sup>∗</sup> *xai*. This stage uses two multipliers. For the integration stage, the numerical method of Euler was implemented by using two shift registers and two adders. The integration factor is implemented by a shift register, which shifts six positions the values of *y*˙*<sup>i</sup>* and *x*˙*<sup>i</sup>* to provide an integration factor of 1/64. The block labeled as *Reg* stands for accumulators that hold the internal state of the VPD oscillators. Finally, the

The size word for each block was 18-bit fixed point representation with 11-bit for the integer part and 7-bit for the fractional part. Figure 4(b) shows the amplitude average error using different precisions for the fractional part. The errors were obtained from the hardware implementation. Plot shows that the average error decreases as the resolution of the input variables is incremented. This reduction is not linear, and the graphic shows a point where such reduction is not significant. Seven bits were chosen as a good compromise between the

In the CPG model for quadruped locomotion all basic VDP oscillators are interconnected through the connection weights (*wij*). In order to overcome the partial lack of flexibility of the CPG digital architecture, it has been attached as a specialized coprocessor to a microblaze processor following an embedded system design approach so as to provide a high level interface layer for application development. A bank of registers is used to provide communication channels to an embedded processor. The bank has twenty-three registers and it receives the input parameters from microblaze, *α*, *p*2, *ω*2, *wij* and the initial values of each oscillator. The architecture sends output data to specific FPGA pins. Figure 5 shows

a function of the bit precision used in the basic blocks.

fractional part representation and its average error.

**7.3 Quadruped gait network architecture**

**7.2 Module of Van Der Pol oscillator**

values *yi* and *xi* are obtained.

The related works present control schemes for robot locomotion based on biological systems under different implementation platforms. The schemes compute the walk pattern in a parallel way through the specialized either systems or coupled subsystems. The CPG control can be implemented by different approaches (analog circuits, reconfigurable hardware and digital processors). The analog circuit implementations present a good performance between power and energy consumption, but they have a large design cycle. For that, these approaches are useful in robots with either limited storage of energy or data processing with real time constraints. In the second approach is possible to implement CPG control with real time constraint sacrificing the energy performance. These implementations have smaller design cycle than the analog circuit implementations. The approach is ideal to be used in the early robot design stages. The last approach presents a high flexibility because it is not constrained by the difficulty of designing. The design cycle is shorter but it has the worst energy performance. Furthermore, those systems occupy a large area restricting their utility in embedded applications.

The analyzed implementations shown several common features. The first one is that they are reconfigurable. The second one, they are capable to adapt oneself to different environments. The most of the implementations presents a scheme where the control is distributed trough the robot body or they are implemented through the interaction of basic elements. These similar features are seen in animal locomotion tasks.

### **7. CPG hardware implementation for a quadruped robot**

In this section, we describe the architecture of the CPG controller for interlimb coordination in quadruped locomotion. First, the design considerations for the implementation are presented. Next, the basic Van Der Pol Oscillator that constitute a part of the CPG network is given. Finally, the architecture of the complete system is described.

### **7.1 Design considerations**

The Van Der Pol oscillator is suitable for CPG implementation as a digital circuit but two main factors for an efficient and flexible FPGA-based implementation should be taken into account: a) *arithmetic representation*, CPG computations when implemented in general microprocessor-based systems use floating point arithmetic. An approach for embedded implementations is the use of 2s complement fixed point representation with a dedicated wordlength that better matches the FPGA computational resources and that saves further silicon area at the cost of precision, and b) *efficiency and flexibility*, embedded hard processor cores or configurable soft processors developed by FPGA vendors add the software programmability of optimized processors to the fine grain parallelism of custom logic on a single chip (Torres-Huitzil, 2008). In the field of neural processing, several applications mix real-time or low-power constraints with a need for flexibility, so that FPGAs appear as a well-fitted implementation solution.

Most of the previous hardware implementation of CPGs are capable of generating sustained oscillations similar to the biological CPGs, however, quite a few have addressed the problem of embedding several gaits and performing transitions between them. One important design consideration in this work, is that the FPGA-based implementation should be a *platform well suited to explore reconfigurable behavior and dynamics*, i.e., the platform can be switched between multiple output patterns through the application of external inputs.

Fig. 4. (a) Digital hardware architecture for the Van Der Pol oscillator and (b) average error as a function of the bit precision used in the basic blocks.

### **7.2 Module of Van Der Pol oscillator**

12 Robotic Systems

The related works present control schemes for robot locomotion based on biological systems under different implementation platforms. The schemes compute the walk pattern in a parallel way through the specialized either systems or coupled subsystems. The CPG control can be implemented by different approaches (analog circuits, reconfigurable hardware and digital processors). The analog circuit implementations present a good performance between power and energy consumption, but they have a large design cycle. For that, these approaches are useful in robots with either limited storage of energy or data processing with real time constraints. In the second approach is possible to implement CPG control with real time constraint sacrificing the energy performance. These implementations have smaller design cycle than the analog circuit implementations. The approach is ideal to be used in the early robot design stages. The last approach presents a high flexibility because it is not constrained by the difficulty of designing. The design cycle is shorter but it has the worst energy performance. Furthermore, those systems occupy a large area restricting their utility

The analyzed implementations shown several common features. The first one is that they are reconfigurable. The second one, they are capable to adapt oneself to different environments. The most of the implementations presents a scheme where the control is distributed trough the robot body or they are implemented through the interaction of basic elements. These similar

In this section, we describe the architecture of the CPG controller for interlimb coordination in quadruped locomotion. First, the design considerations for the implementation are presented. Next, the basic Van Der Pol Oscillator that constitute a part of the CPG network is given.

The Van Der Pol oscillator is suitable for CPG implementation as a digital circuit but two main factors for an efficient and flexible FPGA-based implementation should be taken into account: a) *arithmetic representation*, CPG computations when implemented in general microprocessor-based systems use floating point arithmetic. An approach for embedded implementations is the use of 2s complement fixed point representation with a dedicated wordlength that better matches the FPGA computational resources and that saves further silicon area at the cost of precision, and b) *efficiency and flexibility*, embedded hard processor cores or configurable soft processors developed by FPGA vendors add the software programmability of optimized processors to the fine grain parallelism of custom logic on a single chip (Torres-Huitzil, 2008). In the field of neural processing, several applications mix real-time or low-power constraints with a need for flexibility, so that FPGAs appear as a

Most of the previous hardware implementation of CPGs are capable of generating sustained oscillations similar to the biological CPGs, however, quite a few have addressed the problem of embedding several gaits and performing transitions between them. One important design consideration in this work, is that the FPGA-based implementation should be a *platform well suited to explore reconfigurable behavior and dynamics*, i.e., the platform can be switched between

in embedded applications.

**7.1 Design considerations**

well-fitted implementation solution.

features are seen in animal locomotion tasks.

**7. CPG hardware implementation for a quadruped robot**

Finally, the architecture of the complete system is described.

multiple output patterns through the application of external inputs.

From the analysis of Van Der Pol equation, Eq. 2, three basic operations were identified: addition, subtraction and multiplication. Thus, one block for each operation was implemented with 2's complement fixed-point arithmetic representation. Figure 4(a) shows a block diagram for the hardware implementation of the discretized VDP equation. In the first stage, the value of *xai* (equation 3) is calculated: this value depends on the *xi*-neighbors and the coupling weight values. This stage uses four multipliers and one adder. The square values of *p*, *xai* and *ω* are calculated in the second stage, it uses three multipliers. In the third stage, the values of *<sup>α</sup>* <sup>∗</sup> *yi* and *<sup>p</sup>*<sup>2</sup> <sup>−</sup> *xai* are calculated, one multiplier and a subtracter are used. The fourth stage computes the values of *<sup>α</sup>* <sup>∗</sup> *yi* <sup>∗</sup> (*p*<sup>2</sup> <sup>−</sup> *xai*) and *<sup>w</sup>*<sup>2</sup> <sup>∗</sup> *xai*. This stage uses two multipliers. For the integration stage, the numerical method of Euler was implemented by using two shift registers and two adders. The integration factor is implemented by a shift register, which shifts six positions the values of *y*˙*<sup>i</sup>* and *x*˙*<sup>i</sup>* to provide an integration factor of 1/64. The block labeled as *Reg* stands for accumulators that hold the internal state of the VPD oscillators. Finally, the values *yi* and *xi* are obtained.

The size word for each block was 18-bit fixed point representation with 11-bit for the integer part and 7-bit for the fractional part. Figure 4(b) shows the amplitude average error using different precisions for the fractional part. The errors were obtained from the hardware implementation. Plot shows that the average error decreases as the resolution of the input variables is incremented. This reduction is not linear, and the graphic shows a point where such reduction is not significant. Seven bits were chosen as a good compromise between the fractional part representation and its average error.

#### **7.3 Quadruped gait network architecture**

In the CPG model for quadruped locomotion all basic VDP oscillators are interconnected through the connection weights (*wij*). In order to overcome the partial lack of flexibility of the CPG digital architecture, it has been attached as a specialized coprocessor to a microblaze processor following an embedded system design approach so as to provide a high level interface layer for application development. A bank of registers is used to provide communication channels to an embedded processor. The bank has twenty-three registers and it receives the input parameters from microblaze, *α*, *p*2, *ω*2, *wij* and the initial values of each oscillator. The architecture sends output data to specific FPGA pins. Figure 5 shows

<sup>0</sup> <sup>5</sup> <sup>10</sup> <sup>15</sup> <sup>20</sup> <sup>25</sup> <sup>0</sup>

<sup>20</sup> <sup>40</sup> <sup>60</sup> <sup>80</sup> <sup>0</sup>

(b)

⎞

⎛

⎜⎜⎝

⎟⎟⎠

Generations

1.0 0.26 −0.26 −0.26 −0.26 1.0 0.26 −0.26 −0.26 −0.26 1.0 0.26 0.26 −0.26 −0.26 1.0

⎞

⎟⎟⎠

50

100

Fitness

CPG Implementations for Robot Locomotion: Analysis and Design 175

Fig. 6. (a) Fitness convergence plots for the first stage, oscillator parameters and (b) for the

is stable. Then, the remaining matrices, trot and gallop, were calculated using the behavior analysis presented in (Barron-Zambrano & Torres-Huitzil, 2011). The analysis shows that the combination of inhibitory and excitatory connections is able to modify the phase among the oscillators. Thus, it is possible to generate different gaits from walk matrix. To change the connections from inhibitory to excitatory type, and vice-versa, is only necessary to change the

In the trot gait, the front limbs have the reverse phase and the limbs on a diagonal line move synchronously. From that, to generate the trot gait is necessary to change the algebraic sign in the matrix of weights for limbs on a diagonal line. The gallop has similarities with the walk gait, the phase is equal to 90 degrees but the order is different, *X*1 − *X*2 − *X*3 − *X*4. Therefore, the design of a new matrix for this gait is necessary. The gallop matrix is obtained only by changing the algebraic sign in the one connections off-diagonal, this produces a phase equal to 90 degrees among the limbs. Table 1 shows the matrix weights for the three basic gaits, walk, trot and gallop with parameters *α*, *p* and *ω* equal to [1.12, 1.05, 4.59] and initial

Figure 7 shows the evolution of network weights and the initials condition of *x*. The plot 7(a) shows the pattern generated when the second stage starts. It shows a synchronized pattern where all signals have the same phase. The evolution of population shows how the signals start to have different phases, figure 7(b). Figure 7(c) shows that the method found the correct weight and the initial values of *x*1..4 to generate the walk gait pattern. Finally, figure 7(d) and 7(e) show the pattern generated by the trot and gallop gaits with matrices estimated from the

1.0 −0.26 0.26 −0.26 −0.26 1.0 −0.26 0.26 0.26 −0.26 1.0 −0.26 −0.26 0.26 −0.26 1.0

Gait Walk Trot Gallop

150

Generations

second stage, network weights and initial conditions of *x*1..4.

⎞

⎛

⎜⎜⎝

⎟⎟⎠

(a)

1.0 −0.26 −0.26 −0.26 −0.26 1.0 −0.26 −0.26 −0.26 −0.26 1.0 −0.26 −0.26 −0.26 −0.26 1.0

algebraic sign of the values in the gait matrix.

conditions *x*1..4 = [2.44, 4.28, −1.84, 2.71].

walk gait matrix.

Table 1. Weight matrix to configure the CPG network

0.1

0.2

0.3

Fitness

Matrix

⎛

⎜⎜⎝

0.4

0.5

Fig. 5. Complete architecture for embedded implementation of a CPG-based quadruped locomotion controller.

a simplified block diagram of the VPD network interfacing scheme to the bank registers and microblaze processor.

### **8. Experimental results**

### **8.1 GA-based method results**

The proposed GA-based method was implemented in Matlab and its results were tested through hardware implementation reported in (Barron-Zambrano et al., 2010b). For the implementation of the GA, the specialized toolbox of Matlab was used. The parameters used to estimate the variables of the oscillator were: a population of 30 individuals and 200 generations. The probabilities of crossover and mutation are set to be 0.8 and 0.2 respectively. The method has an average error with the desired frequency of ±0.03 Hz and with the desired amplitude of ±0.15. Simulations show the state of the parameters in different generations, the first plot shows the simulations in the 2*nd* population generation. The generated signal in the early generations is periodic but it has low value of frequency and amplitude respect to the actual desired value. The second plot shows a signal with periodic behavior, 7*th* generation, but with a different frequency with respect to the desired frequency. Finally, the last plot shows the pattern with the desired frequency, 1 Hz, and amplitude, 2.5. The final parameters [*α*, *p*, *ω*] estimated for the method are [0.705, 0.956, 4.531].

Figure 6 shows the behavior of the fitness values at each generation for the oscillator parameters, plot 6(a), and for the network weights and initial conditions of *x*1..4, plot 6(b). In both cases, the fitness function values decrease suddenly in the early stages of tuning. Also, plots show that the method needs a reduced number of generations to tune the oscillator and the network.

In a second step, the estimation of *wih* and the initial values of *x*1..4 is computed. The parameters used for this step were: a population of 40 individuals and 300 generations. The probabilities of crossover and mutation are set to be 0.5 and 0.2 respectively. In the test, the desired pattern is a walk gait. This pattern has a phase of 90 degrees among the signal in fixed order, *X*1 − *X*3 − *X*2 − *X*4. Only, the walk matrix was estimated by the method. It is possible to generate the trot and gallop gait with the walk matrix and only changing the initial condition of *x*1..4, but it is impossible to switch from one gait to another when the gait 14 Robotic Systems

Fig. 5. Complete architecture for embedded implementation of a CPG-based quadruped

a simplified block diagram of the VPD network interfacing scheme to the bank registers and

The proposed GA-based method was implemented in Matlab and its results were tested through hardware implementation reported in (Barron-Zambrano et al., 2010b). For the implementation of the GA, the specialized toolbox of Matlab was used. The parameters used to estimate the variables of the oscillator were: a population of 30 individuals and 200 generations. The probabilities of crossover and mutation are set to be 0.8 and 0.2 respectively. The method has an average error with the desired frequency of ±0.03 Hz and with the desired amplitude of ±0.15. Simulations show the state of the parameters in different generations, the first plot shows the simulations in the 2*nd* population generation. The generated signal in the early generations is periodic but it has low value of frequency and amplitude respect to the actual desired value. The second plot shows a signal with periodic behavior, 7*th* generation, but with a different frequency with respect to the desired frequency. Finally, the last plot shows the pattern with the desired frequency, 1 Hz, and amplitude, 2.5. The final parameters

Figure 6 shows the behavior of the fitness values at each generation for the oscillator parameters, plot 6(a), and for the network weights and initial conditions of *x*1..4, plot 6(b). In both cases, the fitness function values decrease suddenly in the early stages of tuning. Also, plots show that the method needs a reduced number of generations to tune the oscillator and

In a second step, the estimation of *wih* and the initial values of *x*1..4 is computed. The parameters used for this step were: a population of 40 individuals and 300 generations. The probabilities of crossover and mutation are set to be 0.5 and 0.2 respectively. In the test, the desired pattern is a walk gait. This pattern has a phase of 90 degrees among the signal in fixed order, *X*1 − *X*3 − *X*2 − *X*4. Only, the walk matrix was estimated by the method. It is possible to generate the trot and gallop gait with the walk matrix and only changing the initial condition of *x*1..4, but it is impossible to switch from one gait to another when the gait

locomotion controller.

microblaze processor.

the network.

**8. Experimental results**

**8.1 GA-based method results**

[*α*, *p*, *ω*] estimated for the method are [0.705, 0.956, 4.531].

Fig. 6. (a) Fitness convergence plots for the first stage, oscillator parameters and (b) for the second stage, network weights and initial conditions of *x*1..4.


Table 1. Weight matrix to configure the CPG network

is stable. Then, the remaining matrices, trot and gallop, were calculated using the behavior analysis presented in (Barron-Zambrano & Torres-Huitzil, 2011). The analysis shows that the combination of inhibitory and excitatory connections is able to modify the phase among the oscillators. Thus, it is possible to generate different gaits from walk matrix. To change the connections from inhibitory to excitatory type, and vice-versa, is only necessary to change the algebraic sign of the values in the gait matrix.

In the trot gait, the front limbs have the reverse phase and the limbs on a diagonal line move synchronously. From that, to generate the trot gait is necessary to change the algebraic sign in the matrix of weights for limbs on a diagonal line. The gallop has similarities with the walk gait, the phase is equal to 90 degrees but the order is different, *X*1 − *X*2 − *X*3 − *X*4. Therefore, the design of a new matrix for this gait is necessary. The gallop matrix is obtained only by changing the algebraic sign in the one connections off-diagonal, this produces a phase equal to 90 degrees among the limbs. Table 1 shows the matrix weights for the three basic gaits, walk, trot and gallop with parameters *α*, *p* and *ω* equal to [1.12, 1.05, 4.59] and initial conditions *x*1..4 = [2.44, 4.28, −1.84, 2.71].

Figure 7 shows the evolution of network weights and the initials condition of *x*. The plot 7(a) shows the pattern generated when the second stage starts. It shows a synchronized pattern where all signals have the same phase. The evolution of population shows how the signals start to have different phases, figure 7(b). Figure 7(c) shows that the method found the correct weight and the initial values of *x*1..4 to generate the walk gait pattern. Finally, figure 7(d) and 7(e) show the pattern generated by the trot and gallop gaits with matrices estimated from the walk gait matrix.

7 8 9 10

X1 X2 X3 X4

Fig. 8. (a)-(c) Three basic gaits for quadruped locomotion

Amplitude

<sup>7</sup> <sup>8</sup> <sup>9</sup> <sup>10</sup> −3

CPG Implementations for Robot Locomotion: Analysis and Design 177

(b) Trot

In general, the discussion of future work will be focused in three goals: (a) to scale up the present approach to legged robots with several degrees of freedom to generate complex rhythmic movements and behavior, (b) integrate visual perception information to adapt the locomotion control in unknown environment, (c) incorporate the feedback from the robot

Nowadays, in robotics, the decentralization of control is an approach increasingly used in the design stage. In this approach, the robot control consists of group of modules where each module process the information in a local way. Then, the information of each module is sent to neighbor modules to produce a global result. One of the remarkable features of modular robots control is its scalability. This ability is important to achieve the best configuration required for doing the task, it is also useful in self-repair by separating faulty modules and replacing them with other modules (Murata & Kurokawa, 2007). Self-organization and distributed intelligence characterized by distribution of processing, decentralization of control and sensing tasks and modularization of components, have become essential control

In the hardware architecture context, the scalability can be defined as the ability to increase the architecture throughput without a complete re-design, using additional hardware, in order to meet a user need. In other words, the architecture must be able to adapt oneself to robots with more degrees of freedom only adding the necessary modules. The first example of hardware scalability is presented in (Barron-Zambrano et al., 2010a). In this work, the scalability of a CPG, which control a quadruped robot with 1 DOF per limb, was the necessity to control a quadruped robot with two degrees of freedom per limb. In this case, the locomotion control system will be scalable a network with eight VDP oscillators as suggested in most works

reported in the literature (Fujii et al., 2002; Kimura, Fukuoka, Hada & Takase, 2003).

Locomotion and perception have been treated as separate problems in the field of robotics. Under this paradigm, one first solves the vision problem of recovering the three-dimensional geometry of the scene. This information is then passed to a planning system that has access to an explicit model of the robot (Lewis & Simo, 1999). This solution is computationally intense and too slow for real-time control using moderate power CPUs. Furthermore, this approach

Time (s)

X1 X2 X3 X4

−2

0

Amplitude

2

7 8 9 10

X1 X2 X3 X4

Time (s)

(c) Gallop

Time (s)

body to improve the generation of patterns.

paradigms (Mutambara & Durrant-Whyte, 1994).

**9.2 Visual perception information**

(a) Walk

−2

**9. Future work**

**9.1 Network scalability**

0

Amplitude

2

Fig. 7. (a)-(c)Evolution of pattern, in different generations, generated by the walk gait. (d)-(e) Pattern generated by the trot and gallop gait with matrices estimated from the walk gait matrix.

#### **8.2 Physical implementation**

The CPG digital architecture has been modeled using the Very High Speed Integrated Circuits Hardware Description Language (VHDL), and synthesized using the ISE Foundation and EDK tools from Xilinx targeted to the Virtex-4 FPGA device. In the hardware implementation test, a C-based application was developed on the microblaze embedded processor to set the values of the parameters in the CPG module. The implementation was validated in two ways. The first one, the results were sent to the host computer through serial connection to visualize the waveforms generated by the module. Then, the hardware waveforms were compared with the software waveforms. In the second way, results were sent to digital-analog converter (DAC) and the output signal from DAC was visualized on a oscilloscope. Figure 8 shows, the periodic rhythmic patterns corresponding to the gaits (walk, trot, gallop) generated by hardware implementation. The values of the weight matrix to configure the CPG network are shown in table 1. The initial value, *x*1..4, the parameter values, [*α*, *p*, *ω*], and the weight value, *wij*, were calculated automatically with a GA implementation.

The last CPG-hardware test was done through Webots robot simulator software. In this simulation the network with 8 VPD modules was used. Figure 9 shows, the walking locomotion pattern, in the bioloid robot simulator, and the periodic oscillations for the different joints, limbs and knees, produced by the hardware implementation. Figures 9(a)- 9(h) show the specific bioloid joint positions corresponding to the time labels shown in the walk time graph. Figures 9(i)- 9(k) show the phase relationship between the knee and limb joints in the right forelimb and hindlimb during walking. Finally, in figure 9(l) a time graph to show transition between walking and trotting is presented. Locomotions patterns for trot and gallop, and the transitions between them, were also tested.

Fig. 8. (a)-(c) Three basic gaits for quadruped locomotion

## **9. Future work**

16 Robotic Systems

X1 X2 X3 X4

Amplitude

<sup>5</sup> <sup>6</sup> <sup>7</sup> <sup>8</sup> <sup>9</sup> <sup>10</sup> −3

(e)

Time (s)

<sup>5</sup> <sup>6</sup> <sup>7</sup> <sup>8</sup> <sup>9</sup> <sup>10</sup> −3

(c)

X1 X2 X3 X4

robot simulator software. In this

Time (s)

X1 X2 X3 X4

<sup>5</sup> <sup>6</sup> <sup>7</sup> <sup>8</sup> <sup>9</sup> <sup>10</sup> −3

(b)

X1 X2 X3 X4 Time (s)

Amplitude

Fig. 7. (a)-(c)Evolution of pattern, in different generations, generated by the walk gait. (d)-(e) Pattern generated by the trot and gallop gait with matrices estimated from the walk gait

The CPG digital architecture has been modeled using the Very High Speed Integrated Circuits Hardware Description Language (VHDL), and synthesized using the ISE Foundation and EDK tools from Xilinx targeted to the Virtex-4 FPGA device. In the hardware implementation test, a C-based application was developed on the microblaze embedded processor to set the values of the parameters in the CPG module. The implementation was validated in two ways. The first one, the results were sent to the host computer through serial connection to visualize the waveforms generated by the module. Then, the hardware waveforms were compared with the software waveforms. In the second way, results were sent to digital-analog converter (DAC) and the output signal from DAC was visualized on a oscilloscope. Figure 8 shows, the periodic rhythmic patterns corresponding to the gaits (walk, trot, gallop) generated by hardware implementation. The values of the weight matrix to configure the CPG network are shown in table 1. The initial value, *x*1..4, the parameter values, [*α*, *p*, *ω*], and the weight value,

Webots

simulation the network with 8 VPD modules was used. Figure 9 shows, the walking locomotion pattern, in the bioloid robot simulator, and the periodic oscillations for the different joints, limbs and knees, produced by the hardware implementation. Figures 9(a)- 9(h) show the specific bioloid joint positions corresponding to the time labels shown in the walk time graph. Figures 9(i)- 9(k) show the phase relationship between the knee and limb joints in the right forelimb and hindlimb during walking. Finally, in figure 9(l) a time graph to show transition between walking and trotting is presented. Locomotions patterns

<sup>5</sup> <sup>6</sup> <sup>7</sup> <sup>8</sup> <sup>9</sup> <sup>10</sup> −3

(a)

Time (s)

Amplitude

**8.2 Physical implementation**

X1 X2 X3 X4

Amplitude

<sup>5</sup> <sup>6</sup> <sup>7</sup> <sup>8</sup> <sup>9</sup> <sup>10</sup> −3

(d)

*wij*, were calculated automatically with a GA implementation.

for trot and gallop, and the transitions between them, were also tested.

The last CPG-hardware test was done through

Time (s)

Amplitude

matrix.

In general, the discussion of future work will be focused in three goals: (a) to scale up the present approach to legged robots with several degrees of freedom to generate complex rhythmic movements and behavior, (b) integrate visual perception information to adapt the locomotion control in unknown environment, (c) incorporate the feedback from the robot body to improve the generation of patterns.

### **9.1 Network scalability**

Nowadays, in robotics, the decentralization of control is an approach increasingly used in the design stage. In this approach, the robot control consists of group of modules where each module process the information in a local way. Then, the information of each module is sent to neighbor modules to produce a global result. One of the remarkable features of modular robots control is its scalability. This ability is important to achieve the best configuration required for doing the task, it is also useful in self-repair by separating faulty modules and replacing them with other modules (Murata & Kurokawa, 2007). Self-organization and distributed intelligence characterized by distribution of processing, decentralization of control and sensing tasks and modularization of components, have become essential control paradigms (Mutambara & Durrant-Whyte, 1994).

In the hardware architecture context, the scalability can be defined as the ability to increase the architecture throughput without a complete re-design, using additional hardware, in order to meet a user need. In other words, the architecture must be able to adapt oneself to robots with more degrees of freedom only adding the necessary modules. The first example of hardware scalability is presented in (Barron-Zambrano et al., 2010a). In this work, the scalability of a CPG, which control a quadruped robot with 1 DOF per limb, was the necessity to control a quadruped robot with two degrees of freedom per limb. In this case, the locomotion control system will be scalable a network with eight VDP oscillators as suggested in most works reported in the literature (Fujii et al., 2002; Kimura, Fukuoka, Hada & Takase, 2003).

### **9.2 Visual perception information**

Locomotion and perception have been treated as separate problems in the field of robotics. Under this paradigm, one first solves the vision problem of recovering the three-dimensional geometry of the scene. This information is then passed to a planning system that has access to an explicit model of the robot (Lewis & Simo, 1999). This solution is computationally intense and too slow for real-time control using moderate power CPUs. Furthermore, this approach

does not exploit the fact that the walking machine will be presented with a similar situation

CPG Implementations for Robot Locomotion: Analysis and Design 179

Recently, approaches consider to eliminate the intermediate explicit model and consider creating a direct coupling of perception to action, with the mapping being adaptive and based on experience. Also, continuous visual input is not necessary for accurate stepping. Not all visual samples have the same potential for control limb movements. Samples taken when the foot to be controlled is in stance are by far more effective in modulating gait. It has been suggested that during stepping visual information is used during the stance phase in a feed forward manner to plan and initiate changes in the swing limb trajectory

Taken together, this may indicate that gait is modulated at discrete intervals. This modulation may be a program that depends on a brief sampling of the visual environment to instantiate it (c.f. (Patla Aftab E., 1991) ). This hypothesis is intriguing because it implies that after a brief sample it is not necessary to store an internal representation of the world that needs to be shifted and updated during movement. This shifting and updating is problematic for both

Studies of mechanisms of adaptive behavior generally focus on neurons and circuits. But adaptive behavior also depends on interactions among the nervous system, body and environment: sensory preprocessing and motor post-processing filter inputs to and outputs from the nervous system; co-evolution and co-development of nervous system and periphery create matching and complementarity between them; body structure creates constraints and opportunities for neural control; and continuous feedback between nervous system, body and environment are essential for normal behavior. This broader view of adaptive behavior has been a major underpinning of ecological psychology and has influenced behavior-based

Recent work in the field of autonomous robotics has emphasized that intelligent behavior is an emergent property of an agent embedded in an environment with which it must continuously interact. The goal is to integrate information of the robot status with the CPG. The robot will be equipped with different sensors such as bumpers and accelerometers. These sensor signals could be added as coupling terms in the differential equation in the oscillator model. This can be able to simplify the control, allowing them to traverse irregular terrain and making them

The quadruped locomotion principles were studied and analyzed. It is feasible to generate locomotion patterns by coupling the neural oscillators signals that are similar to the neural oscillators found in animals by the definition of a mathematical model. The GA based approach takes advantage that the fitness function works directly with the oscillator and the network. It makes possible consider other restriction as the power consumption and it does not need knowledge of the robot dynamic to generate the pattern gait. The GA based approach uses small population, some tens individuals, and limited generations, some hundreds generations, ideal to be processed on computers with reduced resources. The applications only estimate the matrix for walk gait. Furthermore, it is possible to build the matrix for gallop and trot gaits using the walk gait matrix. This reduces the number of

again and again.

(Hollands & Marple-Horvat, 1996; Patla et al., 1996).

**9.3 Feedback from the robot body**

robotics. (Chiel & Beer, 1997).

robust to failures.

**10. Conclusions**

neural and traditional robotics models (Lewis & Simo, 1999).

operations necessary to estimate the matrix for each gait

Fig. 9. (a)-(h) Walking locomotion patter snapshots for the bioloid robot simulator. (i) Walk time graph for different joints. (j)-(k) Oscillation patterns for the right forelimbs, hindlimbs and knees. (l) Waveforms during transition between walking and trotting.

does not exploit the fact that the walking machine will be presented with a similar situation again and again.

Recently, approaches consider to eliminate the intermediate explicit model and consider creating a direct coupling of perception to action, with the mapping being adaptive and based on experience. Also, continuous visual input is not necessary for accurate stepping. Not all visual samples have the same potential for control limb movements. Samples taken when the foot to be controlled is in stance are by far more effective in modulating gait. It has been suggested that during stepping visual information is used during the stance phase in a feed forward manner to plan and initiate changes in the swing limb trajectory (Hollands & Marple-Horvat, 1996; Patla et al., 1996).

Taken together, this may indicate that gait is modulated at discrete intervals. This modulation may be a program that depends on a brief sampling of the visual environment to instantiate it (c.f. (Patla Aftab E., 1991) ). This hypothesis is intriguing because it implies that after a brief sample it is not necessary to store an internal representation of the world that needs to be shifted and updated during movement. This shifting and updating is problematic for both neural and traditional robotics models (Lewis & Simo, 1999).

### **9.3 Feedback from the robot body**

18 Robotic Systems

(a) (b) (c) (d)

(e) (f) (g) (h)

−2

−2

0

Amplitude

Fig. 9. (a)-(h) Walking locomotion patter snapshots for the bioloid robot simulator. (i) Walk time graph for different joints. (j)-(k) Oscillation patterns for the right forelimbs, hindlimbs

2

4


0

Amplitude

2

4

<sup>7</sup> <sup>8</sup> <sup>9</sup> <sup>10</sup> −4

<sup>8</sup> <sup>10</sup> <sup>12</sup> <sup>14</sup> −4

(l) walk to trot transition

Time (s)


X1 X2 X3 X4

(j) Right forelimb

Time (s)

X2 X2 knee

X1 X2 X3 X4

<sup>7</sup> <sup>8</sup> <sup>9</sup> <sup>10</sup> −4

(i) Walk time graph

<sup>7</sup> <sup>8</sup> <sup>9</sup> <sup>10</sup> −4

(k) Right hindlimb

Time (s)

(e)

(f)

(g)

(h)

X3 X3 knee

and knees. (l) Waveforms during transition between walking and trotting.

(d)

Time (s)

−2

−2

0

Amplitude

2

4

0

(a)

(b)

(c)

Amplitude

2

4

Studies of mechanisms of adaptive behavior generally focus on neurons and circuits. But adaptive behavior also depends on interactions among the nervous system, body and environment: sensory preprocessing and motor post-processing filter inputs to and outputs from the nervous system; co-evolution and co-development of nervous system and periphery create matching and complementarity between them; body structure creates constraints and opportunities for neural control; and continuous feedback between nervous system, body and environment are essential for normal behavior. This broader view of adaptive behavior has been a major underpinning of ecological psychology and has influenced behavior-based robotics. (Chiel & Beer, 1997).

Recent work in the field of autonomous robotics has emphasized that intelligent behavior is an emergent property of an agent embedded in an environment with which it must continuously interact. The goal is to integrate information of the robot status with the CPG. The robot will be equipped with different sensors such as bumpers and accelerometers. These sensor signals could be added as coupling terms in the differential equation in the oscillator model. This can be able to simplify the control, allowing them to traverse irregular terrain and making them robust to failures.

### **10. Conclusions**

The quadruped locomotion principles were studied and analyzed. It is feasible to generate locomotion patterns by coupling the neural oscillators signals that are similar to the neural oscillators found in animals by the definition of a mathematical model. The GA based approach takes advantage that the fitness function works directly with the oscillator and the network. It makes possible consider other restriction as the power consumption and it does not need knowledge of the robot dynamic to generate the pattern gait. The GA based approach uses small population, some tens individuals, and limited generations, some hundreds generations, ideal to be processed on computers with reduced resources. The applications only estimate the matrix for walk gait. Furthermore, it is possible to build the matrix for gallop and trot gaits using the walk gait matrix. This reduces the number of operations necessary to estimate the matrix for each gait

Delcomyn, F. (1980). Neural basis of rhythmic behavior in animals, *Science* 210: 492–498. Fujii, A., Saito, N., Nakahira, K., Ishiguro, A. & Eggenberger, P. (2002). Generation of an

CPG Implementations for Robot Locomotion: Analysis and Design 181

pp. 2037–2042.

109: 343–356.

*and vertebrates* pp. 35–56.

review, *Neural Networks* 21(4): 642–653.

Berlin, Heidelberg, pp. 130–137.

multipattern generators in analog vlsi.

Springer Berlin / Heidelberg, pp. 147–160.

*Biologically Inspired Robotics Group* .

71: 284–296.

adaptation.

*Research 22(3U4):187 ˝ U202 ˝* , MIT Press, pp. 187–202.

adaptive controller CPG for a quadruped robot with neuromodulation mechanism, *IEEE/RSJ international conference on intelligent robots and systems* pp. 2619–2624. Fukuoka, Y., Kimura, H., Hada, Y. & Takase, K. (2003). Adaptive dynamic walking of a

quadruped robot 'tekken' on irregular terrain using a neural system model, *ICRA*,

interaction with special reference to the cat, *Feedback and motor control in invertebrates*

of step cycle-related denial of visual information, *Experimental Brain Research*

using a lamprey-like central pattern generator model, *Proceedings of the 2007 IEEE*

decentralized multi-legged robot: Gait generation and walking speed control, *Robotics and Autonomous Systems* 54(2): 118 – 126. Intelligent Autonomous Systems. Jalal, A., Behzad, M. & Fariba, B. (2009). Modeling gait using CPG (central pattern generator)

and neural network, *Proceedings of the 2009 joint COST 2101 and 2102 international conference on Biometric ID management and multimodal communication*, Springer-Verlag,

quadruped robot on irregular terrain using a neural system model, *in* R. Jarvis & A. Zelinsky (eds), *Robotics Research*, Vol. 6 of *Springer Tracts in Advanced Robotics*,

robot, *Irregular Terrain Based on Biological Concepts. International Journal of Robotics*

central pattern generator design for a biomimetic underwater robot, *Neurocomputing*

Grillner, S. (1985). Neural control of vertebrate locomotion - central mechanisms and reflex

Hollands, M. A. & Marple-Horvat, D. E. (1996). Visually guided stepping under conditions

Ijspeert, A. (2001). A connectionist central pattern generator for the aquatic and terrestrial gaits of a simulated salamander, *Biological Cybernetics* 84(5): 331–348. Ijspeert, A. (2008). Central pattern generators for locomotion control in animals and robots: A

Ijspeert, A. J. & Crespi, A. (2007). Online trajectory generation in an amphibious snake robot

*International Conference on Robotics and Automation (ICRA 2007)*, pp. 262–268. Inagaki, S., Yuasa, H., Suzuki, T. & Arai, T. (2006). Wave CPG model for autonomous

Kier, R. J., Ames, J. C., Beer, R. D. & Harrison, R. R. (2006). Design and implementation of

Kimura, H., Fukuoka, Y., Hada, Y. & Takase, K. (2003). Adaptive dynamic walking of a

Kimura, H., Shimoyama, I. & Miura, H. (2003). Dynamics in the dynamic walk of a quadruped

Lathion, C. (2006). Computer science master project, biped locomotion on the hoap2 robot,

Lee, Y. J., Lee, J., Kim, K. K., Kim, Y.-B. & Ayers, J. (2007). Low power cmos electronic

Lewis, M. A., Hartmann, M. J., Etienne-Cummings, R. & Cohen, A. H. (2001). Control of a robot leg with an adaptive VLSI CPG chip, *Neurocomputing* 38-40: 1409 – 1421. Lewis, M. A. & Simo, L. S. (1999). Elegant stepping: A model of visually triggered gait

Loeb, G. (2001). Learning from the spinal cord, *The Journal of Physiology* 533(1): 111–117.

Hooper, S. L. (2000). Central pattern generator, *Current Biology* 10(2): 176–177.

The hardware implementation exploits the distributed processing able to carry out in FPGA devices. The presented examples show that the measured waveforms from the FPGA-based implementation agree with the numerical simulations. The architecture of the elemental Van Der Pol oscillator was designed and attached as a co-processor to microblaze processor. The implementation provides flexibility to generate different rhythmic patterns, at runtime, suitable for adaptable locomotion and the implementation is scalable to larger networks. The microblaze allows to propose an strategy for both generation and control of the gaits, and it is suitable to explore the design with dynamic reconfiguration in the FPGA. The coordination of joint of a legged robot could be accomplished by a simple CPG-based network extremely small suitable for special-purpose digital implementation. Also, the implementation takes advantage of its scalability and reconfigurability and it can be used in robots with different numbers of limbs.

### **11. References**


20 Robotic Systems

The hardware implementation exploits the distributed processing able to carry out in FPGA devices. The presented examples show that the measured waveforms from the FPGA-based implementation agree with the numerical simulations. The architecture of the elemental Van Der Pol oscillator was designed and attached as a co-processor to microblaze processor. The implementation provides flexibility to generate different rhythmic patterns, at runtime, suitable for adaptable locomotion and the implementation is scalable to larger networks. The microblaze allows to propose an strategy for both generation and control of the gaits, and it is suitable to explore the design with dynamic reconfiguration in the FPGA. The coordination of joint of a legged robot could be accomplished by a simple CPG-based network extremely small suitable for special-purpose digital implementation. Also, the implementation takes advantage of its scalability and reconfigurability and it can be used in robots with different

Amari, S.-I. (1988). Characteristics of random nets of analog neuron-like elements, pp. 55–69. Arena, P. (2001). A mechatronic lamprey controlled by analog circuits, *MED'01 9th*

Arena, P., Fortuna, L., Frasca, M. & Sicurella, G. (2004). An adaptive, self-organizing

Barron-Zambrano, J. H., Torres-Huitzil, C. & Girau, B. (2010a). FPGA-based circuit for

Barron-Zambrano, J. H., Torres-Huitzil, C. & Girau, B. (2010b). Hardware implementation

Billard, A. & Ijspeert, A. J. (2000). Biologically inspired neural controllers for motor control

Buchli, J. & Ijspeert, A. J. (2004). Distributed central pattern generator model for robotics

Buchli, J., Righetti, L. & Ijspeert, A. J. (2006). Engineering entrainment and adaptation in limit

Carbone, G. & Ceccarelli, M. (2005). *Legged Robotic Systems, Cutting Edge Robotics*, Vedran

Chiel, H. J. & Beer, R. D. (1997). The brain has a body: adaptive behavior emerges

Crespi, A. & Ijspeert, A. J. (2006). AmphiBot II: An Amphibious Snake Robot that Crawls and

*Transactions on Systems, Man, and Cybernetics, Part B* 34(4): 1823–1837. Barron-Zambrano, J. H. & Torres-Huitzil, C. (2011). Two-phase GA parameter tunning method

dynamical system for hierarchical control of bio-inspired locomotion, *IEEE*

of CPGs for quadruped gaits, *International Joint Conference on Neural Networks*,

central pattern generator in quadruped locomotion, *Australian Journal of Intelligent*

of a CPG-based locomotion control for quadruped robots, *International Conference on*

in a quadruped robot., *in a IEEE-INNS-ENNS International Joint Conference on Neural*

application based on phase sensitivity analysis, *In Proceedings BioADIT 2004*, Springer

cycle systems: From biological inspiration to applications in robotics, *Biol. Cybern.*

from interactions of nervous system, body and environment, *Trends in Neurosciences*

Swims using a Central Pattern Generator, *Proceedings of the 9th International Conference*

*Mediterranean Conference on Control and Automation*, IEEE.

*Networks. Volume VI*, IEEE Computer Society, pp. 637–641.

Kordic, Aleksandar Lazinica and Munir Merdan.

Dagg, A. (1973). Gaits in mammals, *Mammal Review* 3(4): 6135–154.

*on Climbing and Walking Robots (CLAWAR 2006)*, pp. 19–27.

numbers of limbs.

**11. References**

pp. 1767–1774.

Verlag, pp. 333–349.

95: 645–664.

20(12): 553 – 557.

*Information Processing Systems* 12(2).

*Artificial Neural Networks*, pp. 276–285.

Delcomyn, F. (1980). Neural basis of rhythmic behavior in animals, *Science* 210: 492–498.


**10** 

**Tracking Control in an Upper Arm Exoskeleton** 

E. Y. Veslin1, M. Dutra2, J. Slama2, O. Lengerke2,3 and M. J. M. Tavera2

The Exoskeleton is classified inside of a wider technology known as Wearable Robots, that group describes a robotic field who studies the interaction between the human body and the robotics. In those systems, a mechatronics structure is attached to different members of the human body, and while the wearer commands the mechanical system using physical signals, like the electronic stimulation produced by the orders of the brain, or the movements of the body generated by the muscles; the mechanical system do the hard work, like carrying heavier objects or helping the movement of handicaps members of the body. Since its conception in the sixties (Croshaw, 1969) the bibliography speaks about two models of wearable robots: the prosthetics and the orthotics systems (Fig. 1). The first group replaces the lost body members, while the second one assists to the body movements or, in

Fig. 1. (Left), orthotic robot of upper parts (Perry et al., 2007). (Right), prosthetic robot of

The exoskeleton take part of the orthotics wearable robots field, it's a robotic structure (actually could be considered a mechatronics structure due to the integration of different

**1. Introduction** 

other cases, extends the body capabilities.

upper parts (Rehabilitation Institute of Chicago, 2006)

**with Differential Flatness** 

*2Universidade Federal do Rio de Janeiro, 3Universidad Autónoma de Bucaramanga* 

*1Universidad de Boyacá,* 

*1,3Colombia 2Brazil* 


## **Tracking Control in an Upper Arm Exoskeleton with Differential Flatness**

E. Y. Veslin1, M. Dutra2, J. Slama2, O. Lengerke2,3 and M. J. M. Tavera2 *1Universidad de Boyacá, 2Universidade Federal do Rio de Janeiro, 3Universidad Autónoma de Bucaramanga 1,3Colombia 2Brazil* 

## **1. Introduction**

22 Robotic Systems

182 Robotic Systems – Applications, Control and Programming

Manoonpong, P. (2007). *Neural Preprocessing and Control of Reactive Walking Machines: Towards*

Matsuoka, K. (1987). Mechanisms of frequency and pattern control in the neural rhythm

Murata, S., K. K. & Kurokawa, H. (2007). Toward a scalable modular robotic system, *IEEE*

Mutambara, A. G. O. & Durrant-Whyte, H. F. (1994). Modular scalable robot control,

Nakada, K. (2003). An analog cmos central pattern generator for interlimb coordination in quadruped locomotion, *IEEE Tran. on Neural Networks* 14(5): 1356–1365. Nakanishi, J., Morimoto, J., Endo, G., Cheng, G., Schaal, S. & Kawato, M. (2004). Learning

Okada, M., Tatani, K. & Nakamura, Y. (2002). *Polynomial design of the nonlinear dynamics for the brain-like information processing of whole body motion*, Vol. 2, pp. 1410—1415 vol.2. Patla, A. E., Adkin, A., Martin, C., Holden, R. & Prentice, S. (1996). Characteristics of

Patla Aftab E., Stephen D., R. C. N. J. (1991). Visual control of locomotion: Strategies for

Picado, H., Lau, N., Reis, L. P. & Gestal, M. (2008). Biped locomotion methodologies applied

Pratt, J. E., Chew, C.-M., Torres, A., Dilworth, P. & Pratt, G. A. (2001). Virtual model control: An intuitive approach for bipedal locomotion, *I. J. Robotic Res.* 20(2): 129–143.

Susanne, S. & Tilden, M. W. (1998). Controller for a four legged walking machine,

Van Der Pol B, V. D. M. J. (1928). The heartbeat considered as a relaxation oscillation, and an

Zielinska, T. (1996). Coupled oscillators utilised as gait rhythm generators of a two-legged

Torres, A. L. (1996). Virtual model control of a hexapod walking robot, *Technical report*. Torres-Huitzil, C, Girau B. (2008). Implementation of Central Pattern Generator in an

FPGA-Based Embedded System, *ICANN* (2): 179-187.

walking machine, *Biological Cybernetics* 74(3): 263–273.

electrical model of the heart, 6: 763–775.

New York, Inc., Secaucus, NJ, USA.

*Systems* 47: 79–91.

to humanoid robotics.

pp. 138–148.

Pribe, C., Grossberg, S. & Cohen, M. A. (n.d.).

generators, *Biological Cybernetics* 56(5): 345–353.

*Robotics & Automation Magazine* pp. 56–63.

*Integration for Intelligent Systems* pp. 121–127.

terrains, *Experimental Brain Research* 112: 513–522.

*Perception and Performance* 17: 603–634.

*Versatile Artificial Perception-Action Systems (Cognitive Technologies)*, Springer-Verlag

*Proceedings of 1994 IEEE International Conference on MFI 94 Multisensor Fusion and*

from demonstration and adaptation of biped locomotion, *Robotics and Autonomous*

voluntary visual sampling of the environment for safe locomotion over different

changing direction and for going over obstacles., *Experimental Psychology: Human*

*Neuromorphic Systems Engineering Silicon from Neurobiology, World Scientific, Singapore*,

The Exoskeleton is classified inside of a wider technology known as Wearable Robots, that group describes a robotic field who studies the interaction between the human body and the robotics. In those systems, a mechatronics structure is attached to different members of the human body, and while the wearer commands the mechanical system using physical signals, like the electronic stimulation produced by the orders of the brain, or the movements of the body generated by the muscles; the mechanical system do the hard work, like carrying heavier objects or helping the movement of handicaps members of the body. Since its conception in the sixties (Croshaw, 1969) the bibliography speaks about two models of wearable robots: the prosthetics and the orthotics systems (Fig. 1). The first group replaces the lost body members, while the second one assists to the body movements or, in other cases, extends the body capabilities.

Fig. 1. (Left), orthotic robot of upper parts (Perry et al., 2007). (Right), prosthetic robot of upper parts (Rehabilitation Institute of Chicago, 2006)

The exoskeleton take part of the orthotics wearable robots field, it's a robotic structure (actually could be considered a mechatronics structure due to the integration of different

Tracking Control in an Upper Arm Exoskeleton with Differential Flatness 185

of those species that didn't could adapt to its environment. In conclusion is possibly to say that exist optimizations mechanisms that transforms our structure in function of a goal:

The human arm is a result of this optimization, following the bones that conforms it (Fig. 2) its seen that the member are divided into three segments: the arm, the forearm and the hand, united among them by three joints: the shoulder that unites the upper limb to the rest of the body, the elbow that unites the arm with the forearm and finally the wrist that unites the forearm with the hand. The mechanical model of the exoskeleton responds to this configuration, conserving the systems general characteristics, this process of make a copy of

Initially, for this study the hand and fingers movements will not be considered, so, it could be reduced to a single segment (Pons, 2008), in this way the kinematics is constructed with three segments, the arm, the forearm and the hand, also exists other considerations that

2. All the components of each segment, including the bones and the soft parts (muscles,

3. The deformations of the soft part will not affect significantly the mechanical properties

The lengths of the segments are considered constants and depend of the height of the individual (*H)*, this numerical relationship are detailed into Table 1, who also related another parameters of the human arm, like the position of the centre of mass of each

1. The mechanical behaviour of the arm is independent of the rest of the body.

the nature design, is called bioimitation (Pons, 2008).

Fig. 2. Human arm structure (Pons, 2008)

of the entire segment.

segment.

could help into the study of the system (Rocon & Pons, 2005):

skin, etc.) take part of the same rigid body.

survival.

electronics equipments like sensors, actuators and an intelligent controller that are integrated into the mechanical system) fixed to the human body that follows along the movements of the wearer. At the present time are presented several models of exoskeletons: those that are attached to the legs was called lower part exoskeletons (Kazerooni, 2006) and also exists those that are attached to the arms, that are denominated upper part exoskeletons (Perry et al., 2007). In both structures, its applications goes from the medical camp to military applications; with functions like help handicap patients assisting on the body member's movement recuperation (Gopura & Kiguchi, 2007) or helping to the soldiers to carry heavier loads (Kazerooni, 2005). Also, exists prototypes that integrates both systems (Sankai, 2006), those mechanisms like Kazerooni's structure, used to help the wearer to extends his body capabilities in order to carry weights that are beyond his normal possibilities, or help to patients to made normal movements that a sane body could develop. Our work are focussed into the study of the upper arm exoskeleton and a application of differential flatness in order to control the system that moves in a determinate path (in this case a path generated by a polynomial). This document will describe its consecution, initiating with a morphological analysis that leads to a mathematical model and posterior to a cinematic simulation. This model is useful to the consecution of the dynamic model, this study was based on the mechanical structure and the arm movements that were selected to made. This dynamic model will be applied into the problem of trajectory tracking, in this part, the arm is controlled using differential flatness, this part was considered our contribution, therefore, we will discuss about its applications, benefits and problems founded. All the analysis was supported by a code made in Matlab® and gives the necessaries simulation to this work, in this way, graphics of the model behaviours was characterized and captured in order to detail the different parts of this work.

## **2. Forward kinematics**

The first problem to solve is the characterization of a human arm model than could be implemented for an exoskeleton design. In this part, forward kinematics plays an important role; offering a mathematical model that allows the prediction of the system's behaviour, giving the necessary preliminary information about the structure and movement capabilities. Case of modelling the human arm for the study of the human motion (Maurel & Thalman, 1999), (Klopčar & Lenarčič, 2005), or in a implementation study of a rehabilitation system in an arm (Culmer et al., 2005), or the design of a master arm for a man-machine interface (Lee et al., 1999), All needs of the forward kinematical analysis in order to initiate a system's modelling.

The forward kinematic study initiate with a morphological analysis in the part of the body that will be attached to the mechanical structure. At is says, the exoskeleton is a system that accompany the arm on their movements; therefore the design of the structure must not had interference with it. In order to do this, the morphological analysis gives the information about movements, lengths of the members, number of segments and its respective masses. Another justification is that the biological inspirations permits the creation of mechanical systems that are more compacted and reliable and also, more energy-efficient (Kazerooni, 2006).

In the nature, the biological designs of the living organisms allows the adaptation with the environment; the evolution mechanisms have made transformation into the body as the circumstances rules, for this reason the diversity of organic designs and also, the extinction 184 Robotic Systems – Applications, Control and Programming

electronics equipments like sensors, actuators and an intelligent controller that are integrated into the mechanical system) fixed to the human body that follows along the movements of the wearer. At the present time are presented several models of exoskeletons: those that are attached to the legs was called lower part exoskeletons (Kazerooni, 2006) and also exists those that are attached to the arms, that are denominated upper part exoskeletons (Perry et al., 2007). In both structures, its applications goes from the medical camp to military applications; with functions like help handicap patients assisting on the body member's movement recuperation (Gopura & Kiguchi, 2007) or helping to the soldiers to carry heavier loads (Kazerooni, 2005). Also, exists prototypes that integrates both systems (Sankai, 2006), those mechanisms like Kazerooni's structure, used to help the wearer to extends his body capabilities in order to carry weights that are beyond his normal possibilities, or help to patients to made normal movements that a sane body could develop. Our work are focussed into the study of the upper arm exoskeleton and a application of differential flatness in order to control the system that moves in a determinate path (in this case a path generated by a polynomial). This document will describe its consecution, initiating with a morphological analysis that leads to a mathematical model and posterior to a cinematic simulation. This model is useful to the consecution of the dynamic model, this study was based on the mechanical structure and the arm movements that were selected to made. This dynamic model will be applied into the problem of trajectory tracking, in this part, the arm is controlled using differential flatness, this part was considered our contribution, therefore, we will discuss about its applications, benefits and problems founded. All the analysis was supported by a code made in Matlab® and gives the necessaries simulation to this work, in this way, graphics of the model behaviours was

characterized and captured in order to detail the different parts of this work.

The first problem to solve is the characterization of a human arm model than could be implemented for an exoskeleton design. In this part, forward kinematics plays an important role; offering a mathematical model that allows the prediction of the system's behaviour, giving the necessary preliminary information about the structure and movement capabilities. Case of modelling the human arm for the study of the human motion (Maurel & Thalman, 1999), (Klopčar & Lenarčič, 2005), or in a implementation study of a rehabilitation system in an arm (Culmer et al., 2005), or the design of a master arm for a man-machine interface (Lee et al., 1999), All needs of the forward kinematical analysis in order to initiate a

The forward kinematic study initiate with a morphological analysis in the part of the body that will be attached to the mechanical structure. At is says, the exoskeleton is a system that accompany the arm on their movements; therefore the design of the structure must not had interference with it. In order to do this, the morphological analysis gives the information about movements, lengths of the members, number of segments and its respective masses. Another justification is that the biological inspirations permits the creation of mechanical systems that are more compacted and reliable and also, more energy-efficient (Kazerooni,

In the nature, the biological designs of the living organisms allows the adaptation with the environment; the evolution mechanisms have made transformation into the body as the circumstances rules, for this reason the diversity of organic designs and also, the extinction

**2. Forward kinematics** 

system's modelling.

2006).

of those species that didn't could adapt to its environment. In conclusion is possibly to say that exist optimizations mechanisms that transforms our structure in function of a goal: survival.

The human arm is a result of this optimization, following the bones that conforms it (Fig. 2) its seen that the member are divided into three segments: the arm, the forearm and the hand, united among them by three joints: the shoulder that unites the upper limb to the rest of the body, the elbow that unites the arm with the forearm and finally the wrist that unites the forearm with the hand. The mechanical model of the exoskeleton responds to this configuration, conserving the systems general characteristics, this process of make a copy of the nature design, is called bioimitation (Pons, 2008).

Fig. 2. Human arm structure (Pons, 2008)

Initially, for this study the hand and fingers movements will not be considered, so, it could be reduced to a single segment (Pons, 2008), in this way the kinematics is constructed with three segments, the arm, the forearm and the hand, also exists other considerations that could help into the study of the system (Rocon & Pons, 2005):


The lengths of the segments are considered constants and depend of the height of the individual (*H)*, this numerical relationship are detailed into Table 1, who also related another parameters of the human arm, like the position of the centre of mass of each segment.

Tracking Control in an Upper Arm Exoskeleton with Differential Flatness 187

10 0 0 0 cos -sen 0 0 sen cos 0 00 0 1

 γ

(3)

(4)

 γ

> *x y z*

*d d*

*d*

γ

<sup>=</sup>

γ

In (4) is necessary to define in which, or what axis the translation movement will be effectuated. The cinematic model obeys to a kinematics open chain, because only exists one sequence of joints together, connecting the two endings of the chain (Siciliano et al., 2009). Fig. 3 shows the arm structure from the shoulder to the hand, each movement is associated to a Latin symbol and an orientation respects to the inertial axis. In this way, all the movements of flexion-extension occur into the Y axis, the rotation movements on the bone into the Z axis, and the others into the X axis. Its seen that in the shoulder exists a special case where three rotations intercepts in of one point without the existence of any translation, this kind of configuration it's called spherical wrist. All the translations referents to the

The four reference Points P0, P1, P2 and P3 will define the path a across the system. The set of equations (5) describes the number and kind of transformations given from the origin in the shoulder (P0) to the each reference point. In this way, the matrix result *T* will define the position en XYZ and the orientation respects to the origin in each final of segment, being T01

<sup>=</sup>

( )

( )

*T d*

γ

*Rx*

segments lengths (l1,l2 and l3) happens in the Z axis.

Fig. 3. Description of arm transformations


Table 1. Human arm Anthropometric data (Pons, 2008)

Each joint has its proper movements, which depending of the movement could it be: uni, bi or multiaxial (Gowitzke & Milner, 2000), it means that the joints allows movements in one, two or three degrees of freedom and planes generated by the rotation of the segments. For this study all the joints could be considered ideals (Rocon & Pons, 2005).

The movements of the arm are showed into Fig. 3. The first joint, the elbow, is compared with a spherical joint that allows movements in three degrees of freedom (multiaxial), its movements are defined as: flexion-extension, abduction-adduction, and rotation. The second joint, the elbow is an uniaxial joint, its movement is compared with a hinge, nevertheless, the bone of the forearm generates a movement of rotation around its own axis, that not affects the position of the three spatial coordinates, but if it rotation. This rotation could be located on the elbow joint or into the wrist joint. On early studies this rotation was considered on the elbow but later in order to make a simplification in the numerical operations it was transported to the wrist (Veslin, 2010).

Some research studies the movement of the arm in the plane (Gerald et al., 1997); others articles analyse the movement of the forearm for applications of trembling reduction (Rocon & Pons, 2007). The kinematic analysis on this work will be focused on the movement of the three joints of the elbow, and specifically to the posterior control of the hand position using a mechanical structure supported by the arm, for this reason is necessary to know its capabilities based in an analysis of the workspace.

Knowing the structure of the arm, the distance of the segments and the degrees of freedom of its joints, the mathematical model could be developed, in this part the concepts of morphology previously studied are combined with the classical robotic concepts, in this case using the model of homogenous transformation matrix (Siciliano et al., 2009). Equations (1- 3) descript the rotations *R* around the three axis X, Y and Z, while (4) descript the translations *T* in whatever axis.

$$R\_z(\mathcal{J}) = \begin{bmatrix} \cos \mathcal{J} & -\text{sen}\mathcal{J} & 0 & 0\\ \text{sen}\mathcal{J} & \cos \mathcal{J} & 0 & 0\\ 0 & 0 & 1 & 0\\ 0 & 0 & 0 & 1 \end{bmatrix} \tag{1}$$

$$R\_y(\alpha) = \begin{bmatrix} \cos \alpha & 0 & \text{sen}\alpha & 0 \\ 0 & 1 & 0 & 0 \\ \text{-sen}\alpha & 0 & \cos \alpha & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \tag{2}$$

186 Robotic Systems – Applications, Control and Programming

**Body Segment Length,** *L* **Centre of Mass (% of** *L***)** 

Each joint has its proper movements, which depending of the movement could it be: uni, bi or multiaxial (Gowitzke & Milner, 2000), it means that the joints allows movements in one, two or three degrees of freedom and planes generated by the rotation of the segments. For

The movements of the arm are showed into Fig. 3. The first joint, the elbow, is compared with a spherical joint that allows movements in three degrees of freedom (multiaxial), its movements are defined as: flexion-extension, abduction-adduction, and rotation. The second joint, the elbow is an uniaxial joint, its movement is compared with a hinge, nevertheless, the bone of the forearm generates a movement of rotation around its own axis, that not affects the position of the three spatial coordinates, but if it rotation. This rotation could be located on the elbow joint or into the wrist joint. On early studies this rotation was considered on the elbow but later in order to make a simplification in the numerical

Some research studies the movement of the arm in the plane (Gerald et al., 1997); others articles analyse the movement of the forearm for applications of trembling reduction (Rocon & Pons, 2007). The kinematic analysis on this work will be focused on the movement of the three joints of the elbow, and specifically to the posterior control of the hand position using a mechanical structure supported by the arm, for this reason is necessary to know its

Knowing the structure of the arm, the distance of the segments and the degrees of freedom of its joints, the mathematical model could be developed, in this part the concepts of morphology previously studied are combined with the classical robotic concepts, in this case using the model of homogenous transformation matrix (Siciliano et al., 2009). Equations (1- 3) descript the rotations *R* around the three axis X, Y and Z, while (4) descript the

> cos sen 0 0 sen cos 0 0 0 0 10 0 0 01

<sup>−</sup> <sup>=</sup>

cos 0 sen 0 0 100 -sen 0 cos 0 0 001

<sup>=</sup>

 α

 α

 β

 β

(1)

(2)

β

β

α

α

 Proximal Distal Upper Arm 0.186 *H* 0.436 0.564 Forearm 0.146 *H* 0.43 057 Hand 0.108 *H* 0.506 0.494

Table 1. Human arm Anthropometric data (Pons, 2008)

operations it was transported to the wrist (Veslin, 2010).

capabilities based in an analysis of the workspace.

translations *T* in whatever axis.

this study all the joints could be considered ideals (Rocon & Pons, 2005).

( )

β

( )

α

*Ry*

*Rz*

$$R\_{\chi}(\boldsymbol{\gamma}) = \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & \cos \boldsymbol{\gamma} & -\text{sen}\boldsymbol{\gamma} & 0 \\ 0 & \text{sen}\boldsymbol{\gamma} & \cos \boldsymbol{\gamma} & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \tag{3}$$

$$T(\boldsymbol{d}) = \begin{bmatrix} 1 & 0 & 0 & d\_x \\ 0 & 1 & 0 & d\_y \\ 0 & 0 & 1 & d\_z \\ 0 & 0 & 0 & 1 \end{bmatrix} \tag{4}$$

In (4) is necessary to define in which, or what axis the translation movement will be effectuated. The cinematic model obeys to a kinematics open chain, because only exists one sequence of joints together, connecting the two endings of the chain (Siciliano et al., 2009). Fig. 3 shows the arm structure from the shoulder to the hand, each movement is associated to a Latin symbol and an orientation respects to the inertial axis. In this way, all the movements of flexion-extension occur into the Y axis, the rotation movements on the bone into the Z axis, and the others into the X axis. Its seen that in the shoulder exists a special case where three rotations intercepts in of one point without the existence of any translation, this kind of configuration it's called spherical wrist. All the translations referents to the segments lengths (l1,l2 and l3) happens in the Z axis.

Fig. 3. Description of arm transformations

The four reference Points P0, P1, P2 and P3 will define the path a across the system. The set of equations (5) describes the number and kind of transformations given from the origin in the shoulder (P0) to the each reference point. In this way, the matrix result *T* will define the position en XYZ and the orientation respects to the origin in each final of segment, being T01

Tracking Control in an Upper Arm Exoskeleton with Differential Flatness 189

This mathematical model was implemented in MATLAB®, and the results graphics Fig. 4, describes different positions of the arm structure, as the anatomical position with all the rotations in 0°. The three segments represent the arm divisions, the triangle the body and the sphere the human head. All the graphics was made for an individual of 1.75 m of

The model obtained of the kinematical analysis give to the researcher a map of the system behaviour, the restrictions on the joint movements and the extensions of the segments of the arm can detail the workspace (Fig. 5), a graphical analysis that gives an understanding of the system capabilities. Analysing the workspace of the human arm, is possible to obtain information for the design and control of the mechanism, and also, gives an understanding of the movement properties. In the case of the human arm, this study allows the planning and programming of rehabilitation process comparing the workspace of a normal patient, with a person with pathology deficient, this differences could be used for the diagnosis

In an exoskeleton analysis, exist two workspaces in interaction: the human arm movement and the mechanical system movement (Pons, 2008), both generates a range of positions in the space that intercepts, this interception will be the plausible movement generated by the wearer of the exoskeleton. In the case of the human arm, the graphics was obtained using the three movements of the shoulder and the flections of the elbow. The arm was moved with movements of flexion-extension and, finally, the rotation of the elbow. The Fig. 5 shows the path made by the right arm around the shoulder, the figure describes a form like a circumference with radio equal to the distance of the arm (l1) and forearm (l2), all the dots points the wrist position for each movement. Exists a space that the arm cannot reach, this space correspond to the sector near to the back, where is impossible to reach due to the physics restrictions for the body. Is important to say that in ideal conditions, the workspace

height.

study (Lenarčič & Umek, 1994).

Fig. 5. Arm Workspace

in both arms is the same.

the path from the origin to the point P1, T02 the path from P0 to P2 and T03 the path from P0 to P3.

$$\begin{aligned} T\_0^1\left(\beta\_1,\alpha\_2,\gamma\_3\right) &= R\_y\left(\alpha\_2\right)R\_x\left(\gamma\_3\right)R\_z\left(\beta\_1\right)T\_z\left(l\_1\right) \\ T\_0^2\left(\beta\_1,\alpha\_2,\gamma\_3,\alpha\_4,\beta\_5\right) &= T\_0^1R\_y\left(\alpha\_4\right)R\_z\left(\beta\_5\right)T\_z\left(l\_2\right) \\ T\_0^3\left(\beta\_1,\alpha\_2,\gamma\_3,\alpha\_4,\beta\_5,\alpha\_6,\gamma\_7\right) &= T\_0^2R\_y\left(\alpha\_6\right)R\_x\left(\gamma\_7\right) \end{aligned} \tag{5}$$

The order of multiplication of each matrix is given according to an observation analysis; the orientation due to the consecutive operations on the rotation matrix could make variations into the final response, affecting both the visualization and the position of a point of the system. It's important to be clear in what will be the order of the final equation (5), this gives an analysis of what happened into the arm with the variation of each joint. This analysis is compatible to both arms, only changes the direction of the rotation, remembering that according to the established parameters of the homogeneous transformation, every rotation made counter the clock is considered positive.

Fig. 4. Different positions of the arm

This mathematical model was implemented in MATLAB®, and the results graphics Fig. 4, describes different positions of the arm structure, as the anatomical position with all the rotations in 0°. The three segments represent the arm divisions, the triangle the body and the sphere the human head. All the graphics was made for an individual of 1.75 m of height.

The model obtained of the kinematical analysis give to the researcher a map of the system behaviour, the restrictions on the joint movements and the extensions of the segments of the arm can detail the workspace (Fig. 5), a graphical analysis that gives an understanding of the system capabilities. Analysing the workspace of the human arm, is possible to obtain information for the design and control of the mechanism, and also, gives an understanding of the movement properties. In the case of the human arm, this study allows the planning and programming of rehabilitation process comparing the workspace of a normal patient, with a person with pathology deficient, this differences could be used for the diagnosis study (Lenarčič & Umek, 1994).

Fig. 5. Arm Workspace

188 Robotic Systems – Applications, Control and Programming

the path from the origin to the point P1, T02 the path from P0 to P2 and T03 the path from

( ) ( ) ( ) ( ) () ( ) ( ) ( ) () ( ) ( ) ()

*y x zz*

 α

=

 γ

*y zz*

 β

*y x*

γ

(5)

 β

α

0 1 23 4 5 0 4 5 2

0 1 23 4 5 67 0 6 7

The order of multiplication of each matrix is given according to an observation analysis; the orientation due to the consecutive operations on the rotation matrix could make variations into the final response, affecting both the visualization and the position of a point of the system. It's important to be clear in what will be the order of the final equation (5), this gives an analysis of what happened into the arm with the variation of each joint. This analysis is compatible to both arms, only changes the direction of the rotation, remembering that according to the established parameters of the homogeneous transformation, every rotation

0 1 23 2 3 1 1

=

*T R RRT l T T R R T l T T R R*

 α

2 1

, ,, ,

βαγα

, ,

βαγ

3 2

 β

, ,, ,, ,

=

1

made counter the clock is considered positive.

Fig. 4. Different positions of the arm

β α γ α β α γ

P0 to P3.

In an exoskeleton analysis, exist two workspaces in interaction: the human arm movement and the mechanical system movement (Pons, 2008), both generates a range of positions in the space that intercepts, this interception will be the plausible movement generated by the wearer of the exoskeleton. In the case of the human arm, the graphics was obtained using the three movements of the shoulder and the flections of the elbow. The arm was moved with movements of flexion-extension and, finally, the rotation of the elbow. The Fig. 5 shows the path made by the right arm around the shoulder, the figure describes a form like a circumference with radio equal to the distance of the arm (l1) and forearm (l2), all the dots points the wrist position for each movement. Exists a space that the arm cannot reach, this space correspond to the sector near to the back, where is impossible to reach due to the physics restrictions for the body. Is important to say that in ideal conditions, the workspace in both arms is the same.

Tracking Control in an Upper Arm Exoskeleton with Differential Flatness 191

 BMI= mass/weight2 (6) To do the simulation, the arm is modeled using a Lagrangian conception, where the human arm is considered a robotic manipulator. With the kinematics model, the information of the position of the ends of segments and inertial centers could be added into the model. The final result is a nonlinear mechanical model that simulates the arm behavior in different

For the evaluation of the forces that involves the movement of the system, a PD controller is use to move the arm from an initial position to a desired position. Movements like lift the arm while the forearm is static or move only the forearm could be simulated. Initiating in different positions and with various wearer statures, the code, gives the necessary information about the maximal and minimal forces involved, the influence of the Coriollis and centrifugal forces and the gravitational forces into the arm, and also plausible

In previously works (Veslin 2010), the dynamical model was obtained and finally condensed into a form described in (7), in this equation, the joints are considered ideals so the mathematical model ignore the friction forces, also, the perturbations that could exist into the movement doesn't be introduced because we don´t have a way to quantify it, and finally is considered that the system is fully actuated, its means that each movement have its proper

*Mqq Cqq Kq* () ( ) () + += ,

τ

(7)

reductions into the model to reduce the computational time in the simulation.

movements.

Fig. 6. Human arm model

force actuating into it.

The workspace is defined by the mobility of the articulations, these being from the human arm or the mechanical system that support the arm. Therefore, the workspace of a wearer that carries an exoskeleton could be affected by the mechanical restrictions that the system imposes, for this reason, better mechanical designs allows the performance of movements more obedient and with a wider rank.

## **3. Dynamics**

While the kinematics analysis gives an approach of the system, the dynamic model generates the necessary information about the forces needed to umbalnce the segments an initiate the movement, and posteriorly the behavior of the system across the differents possible positions that the arm could reach.

Refers to other autors (Rosen et al. 2005), the conception of upper arm exoskeleton approach to the behavior of an human arm due to the morphologycal design of the mechanism. In some designs, the weight of the sytems doesn't influentiate in the dynamical analysis, and all the intertial forces are related to the human arm physiollogy (Carignan et al., 2005), in this case the center of mass is realted to the extenstion of the arm, and its mass depends of the organical structure (Table 1 and Table 2). In other cases, the mechanical system is more heavier than the human arm (Croshaw, 1969), in these models the structure must be included into the analysis, this cause that parameters like intertial center and estructure change drastically. Nevertheless, with a adecuate code this changes could be easilly modifcated, because this information could be parametrized or previouslly changed to the simulation code.

Figure 6 illustrated the model of the arm, C1 and C2 are the possition of the center of mass on the arm segments, the rotations consdired into the study are the shoulder movements and the flexion-extension of the foream. The hand movements doesn´t be considered into this part of the study.

The initial evaluation are focused into the minimal forces necessaries to move an human arm, in order to do that, is necessary to known its composition . In this way, parameters like mass, length and position of the inertial center that depends of the wearer stature, are introduced into the model and simulated to obtain a further analysis.


Table 2. Mass of the segments body (Tözerem 2000)

To obtain the body mass, exists a relation with its height, this relation is called Body Mass Index (BMI) established by Adolphe Quelet in the XIX century, that evaluates the health conditions of the person using a number, a discussion of its validation it's not an interest in this work, but this model gives a mathematical relation (6) that is useful to introduce into the code of the model, high values of BMI evidences complication in the health, a BDI of 24 considerate that the person have good health conditions, and this number will be used to obtain the body mass that finally gives the segments mass due to Table 2.

BMI= mass/weight2 (6)

To do the simulation, the arm is modeled using a Lagrangian conception, where the human arm is considered a robotic manipulator. With the kinematics model, the information of the position of the ends of segments and inertial centers could be added into the model. The final result is a nonlinear mechanical model that simulates the arm behavior in different movements.

### Fig. 6. Human arm model

190 Robotic Systems – Applications, Control and Programming

The workspace is defined by the mobility of the articulations, these being from the human arm or the mechanical system that support the arm. Therefore, the workspace of a wearer that carries an exoskeleton could be affected by the mechanical restrictions that the system imposes, for this reason, better mechanical designs allows the performance of movements

While the kinematics analysis gives an approach of the system, the dynamic model generates the necessary information about the forces needed to umbalnce the segments an initiate the movement, and posteriorly the behavior of the system across the differents

Refers to other autors (Rosen et al. 2005), the conception of upper arm exoskeleton approach to the behavior of an human arm due to the morphologycal design of the mechanism. In some designs, the weight of the sytems doesn't influentiate in the dynamical analysis, and all the intertial forces are related to the human arm physiollogy (Carignan et al., 2005), in this case the center of mass is realted to the extenstion of the arm, and its mass depends of the organical structure (Table 1 and Table 2). In other cases, the mechanical system is more heavier than the human arm (Croshaw, 1969), in these models the structure must be included into the analysis, this cause that parameters like intertial center and estructure change drastically. Nevertheless, with a adecuate code this changes could be easilly modifcated, because this information could be parametrized or previouslly changed to the

Figure 6 illustrated the model of the arm, C1 and C2 are the possition of the center of mass on the arm segments, the rotations consdired into the study are the shoulder movements and the flexion-extension of the foream. The hand movements doesn´t be considered into

The initial evaluation are focused into the minimal forces necessaries to move an human arm, in order to do that, is necessary to known its composition . In this way, parameters like mass, length and position of the inertial center that depends of the wearer stature, are

**Body Segment Percent respect to the body weight m(%)** 

To obtain the body mass, exists a relation with its height, this relation is called Body Mass Index (BMI) established by Adolphe Quelet in the XIX century, that evaluates the health conditions of the person using a number, a discussion of its validation it's not an interest in this work, but this model gives a mathematical relation (6) that is useful to introduce into the code of the model, high values of BMI evidences complication in the health, a BDI of 24 considerate that the person have good health conditions, and this number will be used to

introduced into the model and simulated to obtain a further analysis.

Table 2. Mass of the segments body (Tözerem 2000)

Upper Arm 2.70 Forearm 1.60 Hand 0.66

obtain the body mass that finally gives the segments mass due to Table 2.

more obedient and with a wider rank.

possible positions that the arm could reach.

**3. Dynamics** 

simulation code.

this part of the study.

For the evaluation of the forces that involves the movement of the system, a PD controller is use to move the arm from an initial position to a desired position. Movements like lift the arm while the forearm is static or move only the forearm could be simulated. Initiating in different positions and with various wearer statures, the code, gives the necessary information about the maximal and minimal forces involved, the influence of the Coriollis and centrifugal forces and the gravitational forces into the arm, and also plausible reductions into the model to reduce the computational time in the simulation.

In previously works (Veslin 2010), the dynamical model was obtained and finally condensed into a form described in (7), in this equation, the joints are considered ideals so the mathematical model ignore the friction forces, also, the perturbations that could exist into the movement doesn't be introduced because we don´t have a way to quantify it, and finally is considered that the system is fully actuated, its means that each movement have its proper force actuating into it.

$$M(q)\ddot{q} + \mathcal{C}(q, \dot{q}) + \mathcal{K}(q) = \tau \tag{7}$$

Tracking Control in an Upper Arm Exoskeleton with Differential Flatness 193

The movement is generated around the movement determined by the trajectory equation, the Figures 8 and 9, shows a common displacement between two points in the shoulder and elbow respectively, this movement is called plane movement because only actuate in one degree of freedom of the shoulder. The dot line represents the movement interpolated by the cubic equation, and the solid line is the movement generated by the degrees of freedom of the system that are actuated, moving according by the path and controlled by equation 8.

Fig. 9. Comparison between the movement generated by the controller into the shoulder and

Fig. 8. Variation of the angular position in a cubical way

the elbow respects the desired path

The mass of the segments was concentrated in its geometrical center, the form of the arm was approximated into a cylinder (Admiral et al. 2004, Soechting et al., 1995) this gives a mathematical relationship and evades the use of tables or interpolations to find the inertial center of the arm. Was demonstrated (Veslin, 2010) that the presence of the inertial tensor doesn´t influence significantly the system behaviour, this consideration gives a reduction of the model equation and converts the tensor on a single equation.

Each movement was controlled using a feedback rule (8), it gives to the system the force needed to move the segments to de desired position, given by *qnd*, its equivalent to a PD controller, its applications are seen in industrial robots and lower parts exoskeletons (Carignan, et al. 2005).

$$
\pi\_n = -\beta \dot{q}\_n - \mathcal{Y}(q\_n - q\_{nd}) + \mathcal{W}\_n(q\_n) \tag{8}
$$

The Gain *β* involve the arm velocities and the energy dissipation, in oscillatory movements it controls its amplitude and the duration of the movement, γ gives a force that depends of the distance between the actual position of the segment qn and the desired position, in this way the equation reduce the force while the arm is reaching the goal. Wn are the forces that the actuators have to support when the segments are in static equilibrium. The implementation of these controllers adds a problem called overshoot (a high input that occurs in a small portion of time) into the beginning of the simulation (Figure 6).

Fig. 7. Presence of overshoots at the beginning of the simulation

In order to resolve this problem, a trajectory generator is added to the system control, this generator increments the position of the segment considering the initial an finally positions, in this way is possible to create trajectory that descript a desired behavior applying interpolation methods, like cubical, quadratic or another equation. Considering that the model initiate and finish with zero speed, the form that could be implemented into the model is a cubical equation (Figure 7), which is implemented into (8) replacing the term *qnd*.

192 Robotic Systems – Applications, Control and Programming

The mass of the segments was concentrated in its geometrical center, the form of the arm was approximated into a cylinder (Admiral et al. 2004, Soechting et al., 1995) this gives a mathematical relationship and evades the use of tables or interpolations to find the inertial center of the arm. Was demonstrated (Veslin, 2010) that the presence of the inertial tensor doesn´t influence significantly the system behaviour, this consideration gives a reduction of

Each movement was controlled using a feedback rule (8), it gives to the system the force needed to move the segments to de desired position, given by *qnd*, its equivalent to a PD controller, its applications are seen in industrial robots and lower parts exoskeletons

The Gain *β* involve the arm velocities and the energy dissipation, in oscillatory movements it controls its amplitude and the duration of the movement, γ gives a force that depends of the distance between the actual position of the segment qn and the desired position, in this way the equation reduce the force while the arm is reaching the goal. Wn are the forces that the actuators have to support when the segments are in static equilibrium. The implementation of these controllers adds a problem called overshoot (a high input that

*n n n nd n n* =− − − + *q q q Wq* ( ) () (8)

the model equation and converts the tensor on a single equation.

τ

Fig. 7. Presence of overshoots at the beginning of the simulation

In order to resolve this problem, a trajectory generator is added to the system control, this generator increments the position of the segment considering the initial an finally positions, in this way is possible to create trajectory that descript a desired behavior applying interpolation methods, like cubical, quadratic or another equation. Considering that the model initiate and finish with zero speed, the form that could be implemented into the model is a cubical equation (Figure 7), which is implemented into (8) replacing the term *qnd*.

 βγ

occurs in a small portion of time) into the beginning of the simulation (Figure 6).

(Carignan, et al. 2005).

Fig. 8. Variation of the angular position in a cubical way

The movement is generated around the movement determined by the trajectory equation, the Figures 8 and 9, shows a common displacement between two points in the shoulder and elbow respectively, this movement is called plane movement because only actuate in one degree of freedom of the shoulder. The dot line represents the movement interpolated by the cubic equation, and the solid line is the movement generated by the degrees of freedom of the system that are actuated, moving according by the path and controlled by equation 8.

Fig. 9. Comparison between the movement generated by the controller into the shoulder and the elbow respects the desired path

Tracking Control in an Upper Arm Exoskeleton with Differential Flatness 195

For this graphics the forearm was conserved into a position of 0° while the arm was moving

The maximal forces generated by the controller are illustrated in Fig. 14. In this graphics two movements are compared, in the red line the movements begins from the 0° and moves into different positions in a range of 0° to 180° with increments of 10°, always executed in a time of 20 seconds. The blue line effectuates the same movement in a time that is proportional with the space travelled, in other words, faster than the first move. This movement generates bigger forces because effectuate the same movement with less time, the augmentation of the velocities into the generalized coordinate generates an augmentation of the Coriollis forces between the segments, generating in the controller a bigger force to counteract the impulse generated by the movement and the mass of the

Fig. 11. Deviation of the final position of the wrist depending of the position of the forearm

Also this forces changes depending of the height in the individual, as is show in (6) and Table 2, the mass on the arms differ depending of the stature of the individual and his BMI, in this case, the maximal forces in the arm (which actuator have to support the weight of the complete system) are illustrated in Fig 16, where in a range of heights from 1.5 m to 2m, the

Movements out of the plane, with a rotation of two degrees of freedom in the shoulder are illustrated in Fig 16, the shoulder was commanded to move the arm in flexion and abduction, while the forearm rotates from the rest position to 90°, (1) illustrates the movement according with the generalized coordinates, while (2), (3) y (4) illustrates the

while the arm is rotating into flexion movement

behaviour on the system in the space.

forces necessaries to arise the arm increases in almost 10 Nm.

in a range of 0° to 180°.

arm.

The absolute error (Fig. 10) between the movements executed and the path is evaluated, the mayor displacement happens in the middle of the movement around the 8 seconds, being major in the shoulder, presenting a displacement of 2.5 degrees and 1.4 degrees into the elbow. The final position also shows a displacement, the error in this position is near to 0,5 degrees in both movements.

Fig. 10. Difference between the shoulder and elbow movement with the desired path

To evaluate the controller, different movements were generated and the result is showed in Fig. 11, the forearm final position is evaluated because it gives the location of the wrist, which is the object of control. The graphic evaluates the final position of the forearm initiating its movement from 0° to 140° during a elevation movement of the arm (that moves from 0° to 180°), the mayor displacements happens when the final position of the forearm is 90°. The internal forces between the segments cause this variations, the forearm in this position generates the biggest moment to the arm in movement. The controller assure that them doesn't influencing moving the arm to another position, the moments caused by the mass segments and the energy induced by the velocity is controlled by the model proposed, with a minimal error as is illustrated that doesn't overcome the 0.3° in the worst case.

Therefore, this error could be reduced according with the variation of the parameter γ in the controller, Fig. 12 and 13 evaluates different errors in the final position with different values in γ in a range of 100 Nm/rad to 600 Nm/rad, into ascending (Fig. 12) and descending (Fig. 13) movements. Bigger values into the constants reduces the difference in the displacement generated by the internal forces of the arm, the controller supplies the necessary force and consecutively the error of displacements change according to the variation of the constant. 194 Robotic Systems – Applications, Control and Programming

The absolute error (Fig. 10) between the movements executed and the path is evaluated, the mayor displacement happens in the middle of the movement around the 8 seconds, being major in the shoulder, presenting a displacement of 2.5 degrees and 1.4 degrees into the elbow. The final position also shows a displacement, the error in this position is near to 0,5

Fig. 10. Difference between the shoulder and elbow movement with the desired path

To evaluate the controller, different movements were generated and the result is showed in Fig. 11, the forearm final position is evaluated because it gives the location of the wrist, which is the object of control. The graphic evaluates the final position of the forearm initiating its movement from 0° to 140° during a elevation movement of the arm (that moves from 0° to 180°), the mayor displacements happens when the final position of the forearm is 90°. The internal forces between the segments cause this variations, the forearm in this position generates the biggest moment to the arm in movement. The controller assure that them doesn't influencing moving the arm to another position, the moments caused by the mass segments and the energy induced by the velocity is controlled by the model proposed, with a minimal error as is illustrated that doesn't overcome the 0.3° in the

Therefore, this error could be reduced according with the variation of the parameter γ in the controller, Fig. 12 and 13 evaluates different errors in the final position with different values in γ in a range of 100 Nm/rad to 600 Nm/rad, into ascending (Fig. 12) and descending (Fig. 13) movements. Bigger values into the constants reduces the difference in the displacement generated by the internal forces of the arm, the controller supplies the necessary force and consecutively the error of displacements change according to the variation of the constant.

degrees in both movements.

worst case.

For this graphics the forearm was conserved into a position of 0° while the arm was moving in a range of 0° to 180°.

The maximal forces generated by the controller are illustrated in Fig. 14. In this graphics two movements are compared, in the red line the movements begins from the 0° and moves into different positions in a range of 0° to 180° with increments of 10°, always executed in a time of 20 seconds. The blue line effectuates the same movement in a time that is proportional with the space travelled, in other words, faster than the first move. This movement generates bigger forces because effectuate the same movement with less time, the augmentation of the velocities into the generalized coordinate generates an augmentation of the Coriollis forces between the segments, generating in the controller a bigger force to counteract the impulse generated by the movement and the mass of the arm.

Fig. 11. Deviation of the final position of the wrist depending of the position of the forearm while the arm is rotating into flexion movement

Also this forces changes depending of the height in the individual, as is show in (6) and Table 2, the mass on the arms differ depending of the stature of the individual and his BMI, in this case, the maximal forces in the arm (which actuator have to support the weight of the complete system) are illustrated in Fig 16, where in a range of heights from 1.5 m to 2m, the forces necessaries to arise the arm increases in almost 10 Nm.

Movements out of the plane, with a rotation of two degrees of freedom in the shoulder are illustrated in Fig 16, the shoulder was commanded to move the arm in flexion and abduction, while the forearm rotates from the rest position to 90°, (1) illustrates the movement according with the generalized coordinates, while (2), (3) y (4) illustrates the behaviour on the system in the space.

Tracking Control in an Upper Arm Exoskeleton with Differential Flatness 197

Fig. 14. Variation into the maximal forces for movements in the arm with different velocities

Fig. 15. Variation into the maximal forces for movements in the forearm arm with different

velocities

Fig. 12. Reduction of the error according to different values of γ into the controller in a ascending movement

Fig. 13. Reduction of the error according to different values of γ into the controller in a descending movement

196 Robotic Systems – Applications, Control and Programming

Fig. 12. Reduction of the error according to different values of γ into the controller in a

Fig. 13. Reduction of the error according to different values of γ into the controller in a

ascending movement

descending movement

Fig. 14. Variation into the maximal forces for movements in the arm with different velocities

Fig. 15. Variation into the maximal forces for movements in the forearm arm with different velocities

Tracking Control in an Upper Arm Exoskeleton with Differential Flatness 199

The influence of the gravitational forces in the arm model was evident when was founded an increase in the maximal forces effectuated by each generalized coordinate, this is caused by the increasing of the mass in the segments and also to the position of the forearm respects to the arm, meanwhile and augmentation on the velocities also increase the value on the applied forces to effectuate the movement. The implementation of the PD controller with a compensation of the gravitational forces in the arm position allows to made the previously forces analysis, the constants have an important role in the system behaviour, adding

Introduced by Fliess (Fliess et al., 1994), the differential flatness is a concept of the dynamic control, where a system is assumed to be flat, if it have a number of outputs known as flat outputs (9), such that them and its derivatives, could describe the system inputs (that have

ݔ ൌ ݂ ቀݕǡ ݕǡ ǥ ǡ ݑሶ ሺሻ

ݑ ൌ ݃ ቀݕǡ ݕǡ ǥ ǡ ݑሶ ሺሻ

This property called is called by Fliess diffeomorphism, and is very useful in the control of systems that are needed to achieve a desired behaviour. In order to do that, the flat outputs are parameterized into functions, and posterior introduced into the system; the result is a non linear equation system that is transformed into a polynomial, so, the solution of the problem is reduced significantly because is not necessary the use of integration or numerical

The focus of this analysis is to assume than a system is differential flat, work that isn't easy to achieve, in fact, not all the systems have this property, and is considered that be flat it's a characteristic of the system itself . Many systems are defined as flat and some authors have studied its implications (Murray et al., 1995). Like Murray´s text, these works are focused into the demonstration of the flat property and its application, in systems like mobile robots

The manipulator trajectory tracking, consist in determinate the necessary inputs (forces) in each system's generalized coordinate, in order to accomplish that the model moves between one point to another across a defined path. In this kind of problems the first step consist in the specification of a sequel of points in the manipulator space work, this points will become desires positions across the path, and posterior are integrated using an interpolation function (which is typically in a polynomial form). Actually, different techniques exist for the trajectory planning: (i) when is given each final and ending position, talk about a point to point motion, (ii) when is working with a finite point sequence, talk about motion through a sequence of points. Both techniques give a time function that describes the

The second step is the implementation of this function into the system's dynamical model and verifies that effectively is given a trajectory tracking. In this part, is necessary to take a decision, if the problem is going to be worked into the operational space, or in each joint.

ݕൌ݄ሺݔǡ ݑǡ ݑሶǡǥǡݑሻ (9)

<sup>ቁ</sup> (10)

<sup>ቁ</sup> (11)

stabilities and reducing the error in the positioning of the arm wrist.

the same number of outputs) and the states of the system (10-11).

desired behavior (Siciliano, 2009, van Nieuwstadt, 1997a).

**4. Differential flatness** 

solutions.

and cars with *n* trailers.

Fig. 16a. Variation into the maximal forces with different individual heights

Fig. 16b. Movement in the generalized coordinates generated by the controller (1), trajectory in the space described by the arm (2), projection in the transversal plane (3) and the sagittal plane (4)

The influence of the gravitational forces in the arm model was evident when was founded an increase in the maximal forces effectuated by each generalized coordinate, this is caused by the increasing of the mass in the segments and also to the position of the forearm respects to the arm, meanwhile and augmentation on the velocities also increase the value on the applied forces to effectuate the movement. The implementation of the PD controller with a compensation of the gravitational forces in the arm position allows to made the previously forces analysis, the constants have an important role in the system behaviour, adding stabilities and reducing the error in the positioning of the arm wrist.

## **4. Differential flatness**

198 Robotic Systems – Applications, Control and Programming

(2)

(4)

Fig. 16a. Variation into the maximal forces with different individual heights

(1)

(3)

plane (4)

Fig. 16b. Movement in the generalized coordinates generated by the controller (1), trajectory in the space described by the arm (2), projection in the transversal plane (3) and the sagittal

Introduced by Fliess (Fliess et al., 1994), the differential flatness is a concept of the dynamic control, where a system is assumed to be flat, if it have a number of outputs known as flat outputs (9), such that them and its derivatives, could describe the system inputs (that have the same number of outputs) and the states of the system (10-11).

$$\mathbf{y} = h(\mathbf{x}, \mathbf{u}, \dot{\mathbf{u}}, \dots, \mathbf{u}^r) \tag{9}$$

$$\mathbf{x} = f\left(\mathbf{y}, \mathbf{y}, \dots \mathbf{i}, \mathbf{u}^{(q)}\right) \tag{10}$$

$$u = g\left(y, y, \stackrel{\cdot}{\ldots}u^{(q)}\right) \tag{11}$$

This property called is called by Fliess diffeomorphism, and is very useful in the control of systems that are needed to achieve a desired behaviour. In order to do that, the flat outputs are parameterized into functions, and posterior introduced into the system; the result is a non linear equation system that is transformed into a polynomial, so, the solution of the problem is reduced significantly because is not necessary the use of integration or numerical solutions.

The focus of this analysis is to assume than a system is differential flat, work that isn't easy to achieve, in fact, not all the systems have this property, and is considered that be flat it's a characteristic of the system itself . Many systems are defined as flat and some authors have studied its implications (Murray et al., 1995). Like Murray´s text, these works are focused into the demonstration of the flat property and its application, in systems like mobile robots and cars with *n* trailers.

The manipulator trajectory tracking, consist in determinate the necessary inputs (forces) in each system's generalized coordinate, in order to accomplish that the model moves between one point to another across a defined path. In this kind of problems the first step consist in the specification of a sequel of points in the manipulator space work, this points will become desires positions across the path, and posterior are integrated using an interpolation function (which is typically in a polynomial form). Actually, different techniques exist for the trajectory planning: (i) when is given each final and ending position, talk about a point to point motion, (ii) when is working with a finite point sequence, talk about motion through a sequence of points. Both techniques give a time function that describes the desired behavior (Siciliano, 2009, van Nieuwstadt, 1997a).

The second step is the implementation of this function into the system's dynamical model and verifies that effectively is given a trajectory tracking. In this part, is necessary to take a decision, if the problem is going to be worked into the operational space, or in each joint.

Tracking Control in an Upper Arm Exoskeleton with Differential Flatness 201

The equation (13) leads the arm from the origin positioned in 0° to a position of 18°, on equation (14) the forearm moves from 0° to 30° (Fig. 4), both segments presents null velocities at the beginning and at the end, executing the translation in a time of 10 seconds. The equations (13) and (14) and its respective derivatives are introduced in the dynamic model (12). To determine the inputs *τ* only is necessary to solve the system in a given time. The response provided by the Fig. 17 is a set of outputs that are applied into the system and must allow to displace it according to the behavior implemented in equations (13) and (14),

This response is evaluated into the dynamic model (8), the system response is verified in Fig. 18, where the trajectory made by the generalized coordinates is superposed on the desired path define by the cubic equations. Due to the proximity in each equation, Fig. 19 evaluates the error between them, showing an oscillatory trend of error variation, the

for each segment.

maximum difference is the order of 10-2.

Fig. 17a. Set of forces obtained through equation (8) in each segment

Fig. 17b. Response of the system according of the forces

The obtained response Fig. 17. is desirable, but for another positions tests following the same cubic behavior, was founded stability problems represents in a leak of the desired path

Due to his generality, the first solution, could give singularity problems and redundancy caused by the number of degrees of freedom in each joint, and the nonlinear effects could made it difficult to predict, meanwhile, a joint position path parameterization shows to be furthermore suitable, because this study allows to work in each element, considering factors like the restrictions movements and degrees of freedom on each joint.

Everything joint parameterized trajectory is defined by a function *q(t).* This function is the source of a joint desired position collections for the manipulators movement across the time. Then, using different control techniques: like the PD control with gravity compensation, IDC (Inverse Dynamic Control) or adaptive control, is possible accomplish a manipulator movement on the defined path with the minimal deviation (Marguitu, 2009, Spong, 1992, Wang, 2009).

It was demonstrated that all robotic manipulator (if the upper arm exoskeleton is asumed of this form) could be flat if the system is fully actuated (Lévine, 2009); it means, that all its generalized coordinates have an actuator. In this case, from the model of the system (7), assuming that all the outputs are the position of the generalized coordinates *q*, and the inputs are the forces that moves each coordinate *τ*, the systems is differential flat if the position of each generalized coordinate and its derivatives (the velocity and the acceleration) are the flat outputs. It must be realized that all the systems outputs didn't are flat, so it's important that those be differentiated from the normal ones by the letter *Z* (Van Nieuwstadt, 1997b). Thus the equation (7), remembering that the joints are considered ideals, can be represented as:

$$\mathcal{M}(\mathbf{z})\ddot{\mathbf{z}} + \mathcal{C}(\mathbf{z}, \dot{\mathbf{z}}) = \mathbf{r} \tag{12}$$

The tracking trajectories problem doesn't present complications in a flat system; as the inputs and its states are defined in function of the flat outputs, is possible to create paths that vary in the time in order to define an behavior on its outputs, and through them and its respective derivatives, determine which are the inputs needed by the system to generate an answer that approach to the desired one by the path. This path could be polynomial or a function of *C<sup>∞</sup>* type as the trigonometric or the exponentials (Rotella & Zambettakis, 2008). The application of the flat theories allows the transformation of the differential equation system (12) into a polynomial of order *n*, making a simplification into the problem solution and transforming it to a completely algebraic system.

The next step is to applying the differential flat theories into the model; the general objective is control the behavior of the system in function of a desired action. This behavior will be parameterized into a trajectory. With knowledge of the flat outputs of the system, these trajectories could be easily implemented. The model in (12) shows that is possible to interpret the systems inputs knowing its flat outputs behaviors until the second derivative, therefore, is necessary add this functions and its derivatives into the model. By example, if is desired that the arm that is working in a plane movement rise starting from the origin, with a gradual variation of the positioning, it could be commanded a behavior using a cubic function in the generalized coordinates of the shoulder and the elbow, this is:

$$z\_1(t) = 0.0094t^2 - 0.0006t^3 \tag{13}$$

$$z\_4(t) = 0.0157t^2 - 0.001t^3 \tag{14}$$

200 Robotic Systems – Applications, Control and Programming

Due to his generality, the first solution, could give singularity problems and redundancy caused by the number of degrees of freedom in each joint, and the nonlinear effects could made it difficult to predict, meanwhile, a joint position path parameterization shows to be furthermore suitable, because this study allows to work in each element, considering factors

Everything joint parameterized trajectory is defined by a function *q(t).* This function is the source of a joint desired position collections for the manipulators movement across the time. Then, using different control techniques: like the PD control with gravity compensation, IDC (Inverse Dynamic Control) or adaptive control, is possible accomplish a manipulator movement on the defined path with the minimal deviation (Marguitu, 2009, Spong, 1992,

It was demonstrated that all robotic manipulator (if the upper arm exoskeleton is asumed of this form) could be flat if the system is fully actuated (Lévine, 2009); it means, that all its generalized coordinates have an actuator. In this case, from the model of the system (7), assuming that all the outputs are the position of the generalized coordinates *q*, and the inputs are the forces that moves each coordinate *τ*, the systems is differential flat if the position of each generalized coordinate and its derivatives (the velocity and the acceleration) are the flat outputs. It must be realized that all the systems outputs didn't are flat, so it's important that those be differentiated from the normal ones by the letter *Z* (Van Nieuwstadt, 1997b). Thus the equation (7), remembering that the joints are considered

The tracking trajectories problem doesn't present complications in a flat system; as the inputs and its states are defined in function of the flat outputs, is possible to create paths that vary in the time in order to define an behavior on its outputs, and through them and its respective derivatives, determine which are the inputs needed by the system to generate an answer that approach to the desired one by the path. This path could be polynomial or a function of *C<sup>∞</sup>* type as the trigonometric or the exponentials (Rotella & Zambettakis, 2008). The application of the flat theories allows the transformation of the differential equation system (12) into a polynomial of order *n*, making a simplification into the problem solution

The next step is to applying the differential flat theories into the model; the general objective is control the behavior of the system in function of a desired action. This behavior will be parameterized into a trajectory. With knowledge of the flat outputs of the system, these trajectories could be easily implemented. The model in (12) shows that is possible to interpret the systems inputs knowing its flat outputs behaviors until the second derivative, therefore, is necessary add this functions and its derivatives into the model. By example, if is desired that the arm that is working in a plane movement rise starting from the origin, with a gradual variation of the positioning, it could be commanded a behavior using a cubic function in the generalized coordinates of the

ܯሺݖሻݖሷ ܥሺݖǡ ݖሶሻ ൌ ߬ (12)

ݖଵሺݐሻ ൌ ͲǡͲͲͻͶݐ<sup>ଶ</sup> െ ͲǡͲͲͲݐ<sup>ଷ</sup> (13)

ݖସሺݐሻ ൌ ͲǡͲͳͷݐ<sup>ଶ</sup> െ ͲǡͲͲͳݐ<sup>ଷ</sup> (14)

like the restrictions movements and degrees of freedom on each joint.

Wang, 2009).

ideals, can be represented as:

shoulder and the elbow, this is:

and transforming it to a completely algebraic system.

The equation (13) leads the arm from the origin positioned in 0° to a position of 18°, on equation (14) the forearm moves from 0° to 30° (Fig. 4), both segments presents null velocities at the beginning and at the end, executing the translation in a time of 10 seconds. The equations (13) and (14) and its respective derivatives are introduced in the dynamic model (12). To determine the inputs *τ* only is necessary to solve the system in a given time. The response provided by the Fig. 17 is a set of outputs that are applied into the system and must allow to displace it according to the behavior implemented in equations (13) and (14), for each segment.

This response is evaluated into the dynamic model (8), the system response is verified in Fig. 18, where the trajectory made by the generalized coordinates is superposed on the desired path define by the cubic equations. Due to the proximity in each equation, Fig. 19 evaluates the error between them, showing an oscillatory trend of error variation, the maximum difference is the order of 10-2.

Fig. 17a. Set of forces obtained through equation (8) in each segment

Fig. 17b. Response of the system according of the forces

The obtained response Fig. 17. is desirable, but for another positions tests following the same cubic behavior, was founded stability problems represents in a leak of the desired path

Tracking Control in an Upper Arm Exoskeleton with Differential Flatness 203

level generates inputs based on these outputs, and finally the lower level stabilizes the system around the nominal trajectory. The uncertainties were variations caused by the

unom

The solution gives an input trajectory that could be used into the real model. This assumption works in theory, however some interferences, could separate the real behaviour of the desired, thus, is necessary to apply a PD feedback control into each generalized coordinate, with this, is possibly to enforce the manipulator to describe a desired

Equation (15) ensures that the nominal state *Xn* follow the desired path *Zn* over a correct choice of *kp* and *kd* constants. *kp* generates an action that modifies the inputs from the flatness system control in a proportional form. The derivative constant *kd,* removes variations (oscillations) caused by the corrections in the proportional part. In Fig. 19 are visible the jumps in the position ranging from 100° to 800° in a small period of time, so hopefully abrupt change in the action of proportional control and consequently oscillations in the model. If each segment has its own control loop, with the constant *kp*=25 and *kd*=0,5 for the segment of the arm and *kp*=2,5 and *kd*=0,5 to the forearm. The results of the implementation of these values can be seen in Fig. 21 Obtained paths follow very near to the desired paths.

With this control, is easier to move the system using others trajectories, any position that is within the manipulator workspace, can be parameterized by a polynomial for then of differentially flatness systems theory, appropriate requirements. For example, is required that the arm makes a movement oscillating from a cosine function while the forearm elevate to 90° position following the same methodology of the previous path behavior, is

For the controller in Fig. 20 is established a feedback law (Franch & Agrawal, 2003):

+

System

Controller

߬ ൌ ߬ ݇ሺݖ െ ݔሻ ݇ௗሺݖሶ െ ݔሶ ሻ (15)

+

xreal


xnom e

uerro

Uncertainty

gravitational, friction forces, and nonlinear in the models.

Inputs definded by diffeomorphism

Fig. 20. Two degree of Freedom Control System (Van Nieuswtadt, 1997b)

Fig. 22 shows the performance of the arm according the inputs.

obtained the behavior described in Fig 23.

Output Trajectory

performance.

system, this is evidenced in Fig. 19, where is tried to move both segments from 0° to 90° position.

Fig. 18. Tracking error in each generalized coordinate

Fig. 19. Trajectory deviation for each generalized coordinate in higher movements

This doesn't mean that the flat systems theories doesn't can be applied to certain positions, only that, for these solutions , flatness not guarantee the tracking and the necessary stability if applied in open loop, case of the examples seen before. It is necessary then, to change the focus, in order to take advantage of the benefits that flatness offers. This scheme implementing a controller that feedback information from real estate and compare it with the desired output, generated from this difference a control action that finally allows the system track the trajectory desired with a minimum error, this is made with the implementation of a controller into the system.

Called two degrees of freedom control (Fig. 20), any closed loop system contains a controller and a trajectories generator. The controller modifies the output in function of existing error between the actual output and nominated desired output (Van Nieuwstadt, 1997b).

This system had actually three degrees of freedom, such system contains a higher level that generate the output depending of the desired paths (output trajectory). An intermediate 202 Robotic Systems – Applications, Control and Programming

system, this is evidenced in Fig. 19, where is tried to move both segments from 0° to 90°

Fig. 19. Trajectory deviation for each generalized coordinate in higher movements

This doesn't mean that the flat systems theories doesn't can be applied to certain positions, only that, for these solutions , flatness not guarantee the tracking and the necessary stability if applied in open loop, case of the examples seen before. It is necessary then, to change the focus, in order to take advantage of the benefits that flatness offers. This scheme implementing a controller that feedback information from real estate and compare it with the desired output, generated from this difference a control action that finally allows the system track the trajectory desired with a minimum error, this is made with the

Called two degrees of freedom control (Fig. 20), any closed loop system contains a controller and a trajectories generator. The controller modifies the output in function of existing error between the actual output and nominated desired output (Van Nieuwstadt,

This system had actually three degrees of freedom, such system contains a higher level that generate the output depending of the desired paths (output trajectory). An intermediate

Fig. 18. Tracking error in each generalized coordinate

implementation of a controller into the system.

1997b).

position.

level generates inputs based on these outputs, and finally the lower level stabilizes the system around the nominal trajectory. The uncertainties were variations caused by the gravitational, friction forces, and nonlinear in the models.

Fig. 20. Two degree of Freedom Control System (Van Nieuswtadt, 1997b)

The solution gives an input trajectory that could be used into the real model. This assumption works in theory, however some interferences, could separate the real behaviour of the desired, thus, is necessary to apply a PD feedback control into each generalized coordinate, with this, is possibly to enforce the manipulator to describe a desired performance.

For the controller in Fig. 20 is established a feedback law (Franch & Agrawal, 2003):

$$
\pi = \pi + k\_p(\mathbf{z}\_n - \mathbf{x}\_n) + k\_d(\dot{\mathbf{z}}\_n - \mathbf{x}\_n) \tag{15}
$$

Equation (15) ensures that the nominal state *Xn* follow the desired path *Zn* over a correct choice of *kp* and *kd* constants. *kp* generates an action that modifies the inputs from the flatness system control in a proportional form. The derivative constant *kd,* removes variations (oscillations) caused by the corrections in the proportional part. In Fig. 19 are visible the jumps in the position ranging from 100° to 800° in a small period of time, so hopefully abrupt change in the action of proportional control and consequently oscillations in the model. If each segment has its own control loop, with the constant *kp*=25 and *kd*=0,5 for the segment of the arm and *kp*=2,5 and *kd*=0,5 to the forearm. The results of the implementation of these values can be seen in Fig. 21 Obtained paths follow very near to the desired paths. Fig. 22 shows the performance of the arm according the inputs.

With this control, is easier to move the system using others trajectories, any position that is within the manipulator workspace, can be parameterized by a polynomial for then of differentially flatness systems theory, appropriate requirements. For example, is required that the arm makes a movement oscillating from a cosine function while the forearm elevate to 90° position following the same methodology of the previous path behavior, is obtained the behavior described in Fig 23.

Tracking Control in an Upper Arm Exoskeleton with Differential Flatness 205

Fig. 24. System behaviour using the desired trajectories

Fig. 25. System behaviour using the entries defined by differential flatness

these desired trajectories for a system that controls the four generalized coordinates.

therefore, in to reconfigure a strategy for solution of this situation.

part of the results.

The concept is also applicable to systems with more degrees of freedom, although the fact that the equations of motion are more complex it is possible to obtain path tracking and behaviors. But this implementation presents difficulties, inputs equations in function of four outputs are extensive and prevent the possibility of achieving an acceptable result for extensive times. Precisely this error, forced to resort to the use of a controller. Open loop system presented difficulties during the follow-up. The controller makes modifications imperceptibles on the inputs, but enough so that there is a stable trajectory. Fig. 26 visualize the behavior of one of

The ability to follow-up on trajectories using differential flatness systems on robotics manipulators depends on the quality of input values. Was founded that small changes in these settings offer better performance, proving that the resolution of inputs is an important

The tests carried out previously, the models were analyzed over a time period in increments of 0.01 seconds. But testing with greater increases do not provide appropriate behavior, as it may be identified in Fig. 27, this makes it difficult to determine the values of the constants of the controller or even worse, that do not exist. This restriction to use short times make it difficult for the calculation of inputs due to the high consumption of computing resources,

Fig. 21.Trajectory tracking using the controller

Fig. 22. System behavior using the inputs defined by flatness

Fig. 23. Force behaviour obtained according with the cosine function implemented in the arm

204 Robotic Systems – Applications, Control and Programming

Fig. 21.Trajectory tracking using the controller

Fig. 22. System behavior using the inputs defined by flatness

arm

Fig. 23. Force behaviour obtained according with the cosine function implemented in the

Fig. 24. System behaviour using the desired trajectories

Fig. 25. System behaviour using the entries defined by differential flatness

The concept is also applicable to systems with more degrees of freedom, although the fact that the equations of motion are more complex it is possible to obtain path tracking and behaviors. But this implementation presents difficulties, inputs equations in function of four outputs are extensive and prevent the possibility of achieving an acceptable result for extensive times. Precisely this error, forced to resort to the use of a controller. Open loop system presented difficulties during the follow-up. The controller makes modifications imperceptibles on the inputs, but enough so that there is a stable trajectory. Fig. 26 visualize the behavior of one of these desired trajectories for a system that controls the four generalized coordinates.

The ability to follow-up on trajectories using differential flatness systems on robotics manipulators depends on the quality of input values. Was founded that small changes in these settings offer better performance, proving that the resolution of inputs is an important part of the results.

The tests carried out previously, the models were analyzed over a time period in increments of 0.01 seconds. But testing with greater increases do not provide appropriate behavior, as it may be identified in Fig. 27, this makes it difficult to determine the values of the constants of the controller or even worse, that do not exist. This restriction to use short times make it difficult for the calculation of inputs due to the high consumption of computing resources, therefore, in to reconfigure a strategy for solution of this situation.

Tracking Control in an Upper Arm Exoskeleton with Differential Flatness 207

Therefore, the dynamical analysis provides the information about the system requirements in function of the stature of the wearer, the influences of the mechanical model was not considered into the dynamics, the movements was made considered the human arm as the objective to make an actuation, and the prototype as the element that actuated on the arm. Every consideration on the physical model of the system must be considered in the dynamical design. This dynamical analysis generates a mathematical model that is implementing into the problem of the trajectory tracking on the system. It was demonstrated that the arm is differential flat, and with this assumption, was possibly to generate any behaviour to be implemented into the system, it means a path in each generalized coordinate. In order to ensure a correct tracking, a PD controller was added into each generalized coordinate, the simulations shows that the model of the upper arm get a closely approach to the desired path, and with that is possibly the imposition of behaviours more

Carignan, C. & Liszka, M. (2005). Design of an Arm Exoskeleton with Scapula Motion for

Croshaw, P.F. (1969). Hardiman I Arm Test – Hardiman I Prototype Project. *General Electric Co*. Shcenectady NY. Specialty Materials Handling Products Operation. Culmer, P., Jackson, A., Levesley, M.C., Savage, J., Richardson, R., Cozens, J.A. & Bhatka,

Fliess, M. ; Lévine, J. ; Martin, P. & Rouchon, P. (1994). Flatness and defect of nonlinear

Franch, J. & Agrawal, S.K. (2003). Design of differentially Flat Planar Space Robots : A

Gerald, L.G. ; Song, Q. ; Almeida, G.L. ; Hong, D. & Corcos, D. (1997). Directional Control of

Gopura, R.A.R.C. & Kiguchi, K. (2007). Development of an Exoskeleton Robot for Human

Kazerooni, H. (2005). Exoskeletons for Human Power Augmentation. *Proceedings of the* 

Kazerooni, H. (2006). The Berkeley Lower Extremity Exoskeleton Project. In : *Experimental* 

Klopčar, N. & Lenarčič, J. (2005) Kinematic Model for Determination of Human Arm Recheable Workspace. *Meccanica*. Vol 40. No. 2. Pp 203-219. Springer.

*Conference on Intelligence Robots and Systems*, pp. 3053-3058.

Shoulder Rehabilitation. *Proceedings of 12th International Conference of Advanced* 

BB. (2005) An Admitance Control Scheme for a Robotic Upper-Limb Stroke Rehabilitation System. *Proceedings of 27th Annual International Conference of the IEEE Engineering in Medicine and Biology Society. IEEE Engineering in Medicine and Biology* 

systems : Introduction, theory and examples. *International Journal of Control.* Vol 61,

Stepforward in their Planning and Control, *Proceedings of the IEEE/RSJ Interntational* 

Planar Human Arm Movement. *The Journal of Neurophysiology.* Vol 78, No. 6

Wirst and Forearm Motion Assist. *Proceeding of the Second International Conference on Industrial and Information Systems, ICIIS 2007,* pp. 535-540, August 2007. Sri Lanka. Gowitzke, B & Milner, M. (2000). *Scientific Base of Human Movements*. Ed. Paidotribo. ISBN :

*IEEE/RSJ International Conference on Intelligent Robots and Systems*, pp. 3120-3125.

*Robotics* Vol IX*.* Ang, M.H.; Khatib, O. pp. 291-301, Springer-Verlag Berlin Heidelberg.

specific, only defined by polynomial functions.

*Robotics 2005*, pp. 524-531.

*Society. Conference.* pp. 5081-5084.

(December 1997), pp. 2985-2998.

84-8019-418-9. Barcelona, Spain.

August 2005.

No. 6, pp. 1327-1361.

**6. References** 

Fig. 26. Behavior of system for each trajectory, the dash line describes the actual movement while continuous line describes the desired trajectory

Fig. 27. Behavior model with higher time period, are evidence a difficulty in the follow-up to the desired output

### **5. Conclusions**

This study gives to us the initial phases into the consecution of a trajectory control for an upper arm exoskeleton. Whit the forward kinematics study is possibly to generate a fist view on the system, this mathematical model achieved by means of a morphological study of the human arm gives a first view of the system behaviour, being this workspace a tool to predict the system capabilities in function of the mechanical restrictions and also the human movements. This one is an important implementation of the code made.

Therefore, the dynamical analysis provides the information about the system requirements in function of the stature of the wearer, the influences of the mechanical model was not considered into the dynamics, the movements was made considered the human arm as the objective to make an actuation, and the prototype as the element that actuated on the arm. Every consideration on the physical model of the system must be considered in the dynamical design. This dynamical analysis generates a mathematical model that is implementing into the problem of the trajectory tracking on the system. It was demonstrated that the arm is differential flat, and with this assumption, was possibly to generate any behaviour to be implemented into the system, it means a path in each generalized coordinate. In order to ensure a correct tracking, a PD controller was added into each generalized coordinate, the simulations shows that the model of the upper arm get a closely approach to the desired path, and with that is possibly the imposition of behaviours more specific, only defined by polynomial functions.

## **6. References**

206 Robotic Systems – Applications, Control and Programming

Fig. 26. Behavior of system for each trajectory, the dash line describes the actual movement

Fig. 27. Behavior model with higher time period, are evidence a difficulty in the follow-up to

This study gives to us the initial phases into the consecution of a trajectory control for an upper arm exoskeleton. Whit the forward kinematics study is possibly to generate a fist view on the system, this mathematical model achieved by means of a morphological study of the human arm gives a first view of the system behaviour, being this workspace a tool to predict the system capabilities in function of the mechanical restrictions and also the human

movements. This one is an important implementation of the code made.

while continuous line describes the desired trajectory

the desired output

**5. Conclusions** 


**0**

**11**

*USA*

Alex Simpkins

*University of Washington*

**Real-Time Control in Robotic Systems**

Robotic systems are beginning to interact with humans and are increasing in dimensionality, control complexity, task difficulty, and dynamic capability. It is therefore becoming increasingly imperative that control be performed in real-time (i.e. on or faster than the timescale of the system dynamics), intelligently making decisions on demand, and then executing them in a dependable fashion. In addition, high-dimensional bio-inspired systems are becoming more common (Butterfab & et al., 2001; Movellan et al., 2005; Simpkins et al., 2011; Todorov et al., 2010; Vandeweghe et al., 2004; Wilkinson et al., 2003), and are based upon a different strategy for control (and therefore control system design) than traditional engineered systems - coordinated, compliant, and often coupled control rather than orthogonal, stiff, and independent control of joints. As a result, issues related to real-time capability, more critical now than ever, must be addressed with a coherent, measured

In order to deal with this challenge appropriately, a number of sub-problems must be addressed and will be discussed in this chapter. These are timing, dimensionality, computational capabilities, system bandwidth, and safety. There are fields devoted to each problem independently, and the background of each will be given as each one is discussed. Rarely does a researcher or practitioner in one field work in any of the other fields, let alone all of them. However, ignoring any of these sub-problems will likely lead to a failure of a complex real-time system. Therefore, familiarization with these issues and methods will help the researcher and practitioner design, implement, and troubleshoot a real-time system most effectively. This chapter will present current solution methods for each component of the

• A rare integrative approach between real-time control theory and practical hardware issues

• A novel means of semi-redundant integrated systems to provide improved safety

• Strategies which effectively deal with high dimensional systems and complex control

• The concept of real-time is different in different fields. Here we discuss a variety, how they

relate to each other, and how each can enhance and integrate with the others.

problem and show how they can be integrated together effectively.

which are closely linked with the functionality of these theories.

**1.1 Key points and contributions**

strategies in real-time.

measures for human-robot interaction.

**1. Introduction**

approach.


## **Real-Time Control in Robotic Systems**

Alex Simpkins *University of Washington USA*

## **1. Introduction**

208 Robotic Systems – Applications, Control and Programming

Lee, S., Lee, J., Kim, M. & Lee, C. (1999) A New Masterarm for Man- Machine Interface.

Lenarčič, J. & Umek, A. (1994). Simple Model of Humarn Arm Reachable Workspace. *IEEE Transactions on Systems, Man and Cybernetic.* Vol 24, No 8, pp. 1239-1246. Lévine, J. (2009). *Analysys and Control of Non Linear Systems : A Flatness Based Approach.* Springer-Verlag Berlin Heilderberg, ISBN 978-3-642-00838-2, Germany. Marguitu, D. B. (2009). *Mechanics and Robot Analysis with MATLAB.* Springer-Verlag London

Maurel, W & Thalman, D. (1999) A Case Study on Human Arm Upper Limb Modelling for

Murray, R. M.; Rathinam, M. & Sluis, W. (1995). Differential Flatness of Mechanical Control Systems : A catalog of Prototype Systems. *ASME International Mechanical Engineer.*  Perry, J.C. ; Rosen, J. & Burns, S. (2007). Upper Limb Powered Exoskeleton Design*.* 

Pons, J.L. (2008). *Wearable Robots : Biomechatronic Exokeletons*, John Willey & Sons, Ltd, ISBN

Rocon, E. & Pons, J.L. (2005). Case study : Study of tremor charcateristics based on a

Rosen, J. ; Perry, J. C. ; Manning, N. ; Burns, S. & Hannaford, S. B. (2005). The Human Arm

Rotella F. & Zambettakis, I. (2008) *Comande des Systèmes par Platitude* Available: http://www.techniquesingenieur.fr/book/s7450/commande-des-systemes-par-

Sankai, Y. (2006). Leading Edge of Cybernics : Robot Suit HAL. *Proceedings of SICE-ICASE* 

Siciliano, B. ; Sciavicco, L. ;Villani, H. & Oriolo, G. (2009). *Robotics : Modeling Planning and Control*, Springer-Verlag London Limited, ISBN 978-1-84628-641-4, England. Spong, M.W. (1992). On the Robust Control of Robot Manipulators, *Transactions on* 

Tözerem, A. (2000). *Human Body Dynamics : Classical Mechanis and Human Movements*,

Van Nieuwstadt, M.J. (1997a). Trajectory Generation for Nonlinear Control Systems,

Van Nieuwstadt, M.J. (1997b). *Trajectory Generation of Non Linear Control Systems,* Ph. D. dissertation, University of California at Berkeley, Berkeley, California, USA. Veslin E. (2010). *Implementação dos Sistemas diferencialmente planos para o contrôle de um* 

Wang H. & Xie, Y. (2009). Adaptative Inverse Dynamics Control of Robot with Uncertain

Technical Report CS 96-011 del Department of Mechanical Engineering, California

*manipulador robótico tipo braço humano.* M.Sc. Dissertation, Universidade Federal do

platitude.html.Site Access: August 2008, pp. 5-6.

Springer Verlag Berlin Heidelberg. Germany.

Rio de Janeiro, Rio de Janeiro, RJ, Brazil.

*International Joint Conference*, October 2006. Busan, Korea.

Institute of Technology, Pasadena, California, pp. 54-57.

Kinematics and Dynamics, *Automatica 45*, pp. 2114-2119.

*Automatic Control of Robot Manipulators*, Vol 37 No. pp. 1782-1786.

biomechanical model of the upper limb. In : Pons, J.L. (2008) *Wearable Robots : Biomechatronic Exokeletons*, John Willey & Sons, Ltd, ISBN 978-0-470-5194-4,

Kinematics and Dynamics during daily activities – Towar to a 7 DOF Upper Limb Powered Exoskeleton. *Proceedings fo the 12th Internatinal Conference on Advance* 

*IEEE/ASME Transactions on Mechatronics*, Vol 12, No. 4, pp. 408-417.

Dynamic Simulation. *Computer methods in biomechanics and biomedical engineering,* 

Limited. ISBN 978-1-84800-390-3.London, England. pp. 183-204.

Vol 4. pp 1038-1043.

Vol. 2, No. 1. pp. 65 – 82.

978-0-470-5194-4, England.

*Robotics,* pp. 532-539.

England.

*Proceedings of 1999 IEEE International Conference on Systems, Man and Cybernetics*.

Robotic systems are beginning to interact with humans and are increasing in dimensionality, control complexity, task difficulty, and dynamic capability. It is therefore becoming increasingly imperative that control be performed in real-time (i.e. on or faster than the timescale of the system dynamics), intelligently making decisions on demand, and then executing them in a dependable fashion. In addition, high-dimensional bio-inspired systems are becoming more common (Butterfab & et al., 2001; Movellan et al., 2005; Simpkins et al., 2011; Todorov et al., 2010; Vandeweghe et al., 2004; Wilkinson et al., 2003), and are based upon a different strategy for control (and therefore control system design) than traditional engineered systems - coordinated, compliant, and often coupled control rather than orthogonal, stiff, and independent control of joints. As a result, issues related to real-time capability, more critical now than ever, must be addressed with a coherent, measured approach.

In order to deal with this challenge appropriately, a number of sub-problems must be addressed and will be discussed in this chapter. These are timing, dimensionality, computational capabilities, system bandwidth, and safety. There are fields devoted to each problem independently, and the background of each will be given as each one is discussed. Rarely does a researcher or practitioner in one field work in any of the other fields, let alone all of them. However, ignoring any of these sub-problems will likely lead to a failure of a complex real-time system. Therefore, familiarization with these issues and methods will help the researcher and practitioner design, implement, and troubleshoot a real-time system most effectively. This chapter will present current solution methods for each component of the problem and show how they can be integrated together effectively.

### **1.1 Key points and contributions**


when setting sample rate for the control algorithm, one possible constraint could be that this must not cause a need to communicate data more rapidly than the data bandwidth allows.

Real-Time Control in Robotic Systems 211

Timing problems can be mitigated by ensuring that traditional real-time control issues as well as new issues arising in complex robotics are addressed. If sample time is unavoidably significantly variable, some mathematical assumptions in discrete control do not hold (Nilsson, 1998; Wittenmark et al., 1995), and various equations in the dynamics will have variation over ones with the precise sample time assumption. However, a constant delay can

*dt* <sup>=</sup> *Ax*(*t*) + *Bu*(*<sup>t</sup>* <sup>−</sup> *<sup>τ</sup>*) (1)

*x*(*kh* + *h*) = Φ*x*(*kh*) + Γ0*u*(*kh*) + Γ1*u*(*kh* − *h*) (3)

*y*(*t*) = *Cx*(*t*) (2)

*y*(*kh*) = *Cx*(*kh*) (4)

Φ(*h*) = *eAh* (5)

*eAsdsB* (6)

*eAsdsB*, (7)

, 0 *< τ*� ≤ *h* (8)

be modeled, following (Wittenmark et al., 1995), as a standard state-space system,

<sup>Γ</sup>0(*h*, *<sup>τ</sup>*) = *<sup>h</sup>*−*<sup>τ</sup>*

and delays larger than a sample *h* can be dealt with fairly simply, by adding the relation

Γ1(*h*, *τ*) = *eA*(*h*−*τ*)

*τ* = (*d* − 1)*h* + *τ*�

with an integer d. Now our system becomes, after replacing *τ* by *τ*� in Γ<sup>0</sup> and Γ1,

0

Variable delays can be dealt with by simply computing time varying system matrices. Then the model described in Equation 3 is still valid. As long as the variation in sampling is less than a delay in duration, the model described is still valid, as the control signal does not vary with the delay. If the delay varies longer than a sample period, then a different model may be derived which causes the control signal to not be held constant, but rather to vary along with the delay. This allows the control signal to be scaled appropriately, and mitigates instabilities. Excessively large variations in sampling period can lead to unavoidable (or rather 'very difficult to avoid') instability due to violation of controllability guarantees. In other words, when the system finally processes the delayed sample, too much time may have passed to react properly, and a large error may already have been incurred from the previous control action. In the case that this type of problem is likely, it is possible to create robust controls, which guarantee certain bounded behaviors even in the event of large errors due to sample time variability, which may be lumped into disturbances. Another way to effectively alter

 *τ* 0

*x*(*kh* + *h*) = Φ*x*(*kh*) + Γ0*u*(*kh* − *dh* + *h*) + Γ1*u*(*kh* − *dh*). (9)

*dx*(*t*)

**3.1 Timing issues**

where

then the sampled-data system becomes

• This unifies and expands upon approaches in the fields of real-time control systems, control engineering, mechatronics, dynamics, robotics, embedded systems, and computer science to address new design challenges.

### **1.2 Chapter organization**

The rest of this chapter is organized as follows. Section 2 breaks down the real-time problem into sub-problems, and Section 3 presents how each problem is addressed. Each sub-problem is discussed in a way which exposes how they are all related, why it is important to address all aspects of the real-time problem, and how this can be done. Section 5 presents a set of results for a real-time system which has been designed with the methods presented in this chapter, demonstrating its effectiveness. Section 6 closes the chapter with a review, discussion of the problem and approach, and suggests further directions in research.

## **2. The sub-problems**

By defining the sub-problems we can begin to address the overall issue of real-time control in robotic systems. The timing problem is centered around what is defined as real-time for a particular application. For example, an energy-producing chemical process may occur on the order of several hours, or the coordination of joints required for locomotion may occur on the order of milliseconds. Microprocessors are digital devices, and commands to the actuators are updated periodically. Thus timing issues become guaranteeing that sample time is short enough, that delays in the system are minimal (or properly addressed), that samples are not missed (or if sample time is variable, this is accounted for), and that information bottlenecks are avoided or part of the control strategy. Timing leads to issues of computational capability required versus what is available. This defines what dimensionality and control complexity is possible, and limits the overall system bandwidth. Traditionally designers have considered processing power versus requirements as an afterthought, with little concern over the criticality. This is due to the fact that, for simple problems, most modern processors are more than powerful enough. In complex systems, however, this quickly becomes a poor assumption. When one considers the actual realities of controlling a fifty degree of freedom (DOF) system, for example, where each DOF possesses multiple sensors and actuators, the required information flow bandwidth becomes large quickly. A system with such limitations can effectively lose control of some or all DOFs under dynamic load, though it may be guaranteed to be controllable in theory from a dynamical systems perspective. When considering these issues, and that in the future robots will be interacting directly with humans more often in everyday activities, safety becomes a major consideration. A robot which can exert large forces, is not back-drivable, and/or possesses significant mass is inherently unsafe for human interaction. Making the robot small and weak is not the only or best solution as this still does not guarantee that the system will not be dangerous. There are ways to minimize risk of human injury in the case of loss of control, even during a catastrophic failure of the entire primary control system.

### **3. The solution approach**

Though there are a number of sub-goals for approaching real-time control in robotic systems, an overall and most significant approach is that the various design aspects of the system must be constrained such that each solution does not violate another's constraints. For example, when setting sample rate for the control algorithm, one possible constraint could be that this must not cause a need to communicate data more rapidly than the data bandwidth allows.

### **3.1 Timing issues**

2 TBD

• This unifies and expands upon approaches in the fields of real-time control systems, control engineering, mechatronics, dynamics, robotics, embedded systems, and computer

The rest of this chapter is organized as follows. Section 2 breaks down the real-time problem into sub-problems, and Section 3 presents how each problem is addressed. Each sub-problem is discussed in a way which exposes how they are all related, why it is important to address all aspects of the real-time problem, and how this can be done. Section 5 presents a set of results for a real-time system which has been designed with the methods presented in this chapter, demonstrating its effectiveness. Section 6 closes the chapter with a review, discussion of the

By defining the sub-problems we can begin to address the overall issue of real-time control in robotic systems. The timing problem is centered around what is defined as real-time for a particular application. For example, an energy-producing chemical process may occur on the order of several hours, or the coordination of joints required for locomotion may occur on the order of milliseconds. Microprocessors are digital devices, and commands to the actuators are updated periodically. Thus timing issues become guaranteeing that sample time is short enough, that delays in the system are minimal (or properly addressed), that samples are not missed (or if sample time is variable, this is accounted for), and that information bottlenecks are avoided or part of the control strategy. Timing leads to issues of computational capability required versus what is available. This defines what dimensionality and control complexity is possible, and limits the overall system bandwidth. Traditionally designers have considered processing power versus requirements as an afterthought, with little concern over the criticality. This is due to the fact that, for simple problems, most modern processors are more than powerful enough. In complex systems, however, this quickly becomes a poor assumption. When one considers the actual realities of controlling a fifty degree of freedom (DOF) system, for example, where each DOF possesses multiple sensors and actuators, the required information flow bandwidth becomes large quickly. A system with such limitations can effectively lose control of some or all DOFs under dynamic load, though it may be guaranteed to be controllable in theory from a dynamical systems perspective. When considering these issues, and that in the future robots will be interacting directly with humans more often in everyday activities, safety becomes a major consideration. A robot which can exert large forces, is not back-drivable, and/or possesses significant mass is inherently unsafe for human interaction. Making the robot small and weak is not the only or best solution as this still does not guarantee that the system will not be dangerous. There are ways to minimize risk of human injury in the case of loss of control, even during a catastrophic

Though there are a number of sub-goals for approaching real-time control in robotic systems, an overall and most significant approach is that the various design aspects of the system must be constrained such that each solution does not violate another's constraints. For example,

science to address new design challenges.

failure of the entire primary control system.

**3. The solution approach**

problem and approach, and suggests further directions in research.

**1.2 Chapter organization**

**2. The sub-problems**

Timing problems can be mitigated by ensuring that traditional real-time control issues as well as new issues arising in complex robotics are addressed. If sample time is unavoidably significantly variable, some mathematical assumptions in discrete control do not hold (Nilsson, 1998; Wittenmark et al., 1995), and various equations in the dynamics will have variation over ones with the precise sample time assumption. However, a constant delay can be modeled, following (Wittenmark et al., 1995), as a standard state-space system,

$$\frac{d\mathbf{x}(t)}{dt} = A\mathbf{x}(t) + Bu(t-\tau) \tag{1}$$

$$y(t) = \mathbb{C}x(t) \tag{2}$$

then the sampled-data system becomes

$$\mathbf{x}(kh+h) = \Phi \mathbf{x}(kh) + \Gamma\_0 \boldsymbol{u}(kh) + \Gamma\_1 \boldsymbol{u}(kh-h) \tag{3}$$

$$y(kh) = \mathbb{C}x(kh)\tag{4}$$

where

$$\Phi(h) = e^{Ah} \tag{5}$$

$$
\Gamma\_0(\hbar, \tau) = \int\_0^{\hbar - \tau} e^{As} ds B \tag{6}
$$

$$\Gamma\_1(h,\tau) = e^{A(h-\tau)} \int\_0^{\tau} e^{As} ds B\_\prime \tag{7}$$

and delays larger than a sample *h* can be dealt with fairly simply, by adding the relation

$$
\pi = (d-1)h + \pi', \ 0 < \pi' \le h \tag{8}
$$

with an integer d. Now our system becomes, after replacing *τ* by *τ*� in Γ<sup>0</sup> and Γ1,

$$\mathbf{x}(kh+h) = \Phi \mathbf{x}(kh) + \Gamma\_0 \boldsymbol{u}(kh - dh + h) + \Gamma\_1 \boldsymbol{u}(kh - dh). \tag{9}$$

Variable delays can be dealt with by simply computing time varying system matrices. Then the model described in Equation 3 is still valid. As long as the variation in sampling is less than a delay in duration, the model described is still valid, as the control signal does not vary with the delay. If the delay varies longer than a sample period, then a different model may be derived which causes the control signal to not be held constant, but rather to vary along with the delay. This allows the control signal to be scaled appropriately, and mitigates instabilities. Excessively large variations in sampling period can lead to unavoidable (or rather 'very difficult to avoid') instability due to violation of controllability guarantees. In other words, when the system finally processes the delayed sample, too much time may have passed to react properly, and a large error may already have been incurred from the previous control action. In the case that this type of problem is likely, it is possible to create robust controls, which guarantee certain bounded behaviors even in the event of large errors due to sample time variability, which may be lumped into disturbances. Another way to effectively alter

compared to cluster computing) and highly effective. This approach is useful not only to run single-thread algorithms, but also to run multiple model predictive algorithms in parallel. In this way, several potential control decisions or trajectories can be explored very rapidly, and

Real-Time Control in Robotic Systems 213

Measuring execution time for all the computations required, including communication delays, and delays from peripherals is an important ability to have. This is not a trivial problem,

Worst Case Execution Time (WCET) is the time it takes to execute the longest branch of code, not including hardware peripherals. This is important to at least have a reliable estimate of, since a designer needs to know whether a task can finish in a set amount of time for real-time systems. Traditionally, with fixed code and no caches, this was not as difficult a problem as it is in the context of more advanced (often multicore) processors, infinite loops, complex

The traditional methods of measuring WCET comprise an entire field and will be mentioned here fairly briefly, as the main contribution is when and how to use these tools in conjunction with all the other subproblems that need to be addressed (The interested reader is referred to (Ermedahl, 2003; Hansen et al., 2009; Wilhelm et al., 2008). This field is moderately mature, though advances continue steadily. Timing analysis is the process of determining estimates or bounds on execution times. (Wilhelm et al., 2008) provides an excellent overview of timing

There essentially are two approaches for WCET prediction. These are static and dynamic (Grob, 2001) approaches. Static prediction approaches measure small pieces of code which do not change, do not have recursion, and are otherwise limited (Puschner & Nossal, 1998), while dynamic approaches (sometimes called measurement-based methods) measure an entire execution pathway, running on a simulator or the actual hardware for a set of (probably

The static method may not provide realistic estimates when code snippets are combined together, and scheduling complex algorithms which combine many snippets together may break down the estimates. In addition, some processors have speculative components, where the processor determines an expected path, begins to load items in memory, and performs some processing ahead of time in anticipation. However, these speculations can of course be mistaken, and then all the predicted data must be deleted and the proper execution performed, which is actually slower than just waiting then branching when the call happens,

Modern processors provide means of measuring code performance in a variety of ways via peripherals built into the chip, but some of these methods are imprecise at best. They do give a measure of how many cycles a task takes, however performing the measurement itself takes some computation. This violates the basic principle of measurement - that the action of performing the measurement should have such a small effect on the system measured that no significant change occurs in the process, but it does give a great deal of information, and the effect is fairly small. These measures can be used to create an estimate of best and worst case execution times. In practice this is very helpful, though difficult or impossible to provide hard

analysis and the WCET problem in general, as well as tools which are available.

the one with the best outcome selected.

**3.2.1 Worst case execution time**

pipelines, and dynamic code length.

however.

limited) inputs.

without prediction.

guarantees in all cases.

Fig. 1. For complex control systems, it is effective to split time-critical aspects of control from non-critical aspects. In this way a complex algorithm can be computed in near real-time, but may not be guaranteed, while the critical aspects which require such guarantees can be designed at the low level to handle variable updates to its reference. L stands for 'Low level' while H stands for 'High level.' y represents output, and u represents control input.

control parameters to match the delay is to include the delay as a parameter of the control equation (Åström & Wittenmark, 1990).

Thus we can attempt to model delays by measurement, and then compute an appropriate control, but that does not tell us everything that might happen, and how do we, in the context of complex systems, measure for every possible permutation? Additionally, it may not be trivial to make measurements of some features needing to be measured! That leads us to the next section regarding computational capabilities.

### **3.2 Computational capability issues**

Computational capabilities required depend on required overall update rates, complexity of the control algorithm, number of peripherals involved and dimensionality of the system (thus the size of data passed around during code execution). There are a number of ways to ensure code will be processed on time and that computational requirements and capability are matched. With highly complex control algorithms required for artificial intelligence and complex coordinated movements, a very effective approach to ensuring real-time capability is to split the time-critical aspects of control from the computationally intensive aspects, as in Figure 1. Then a hierarchical but highly interconnected framework is formulated. This parallels the human brain's sensorimotor system structure, which can be thought of, most definitely, as the most intricate and advanced control system on the planet. Biological systems are also excellent at solving the types of control problems now beginning to be addressed by roboticists. The high level would consist of powerful personal computers or clusters of computers which are excellent for massive floating point computations but are limited for time-critical applications, while the low level would consist of embedded systems which are excellent at time-critical applications but less adept at complex calculations. This design approach has been applied and is detailed in (Simpkins et al., 2011). The challenge then becomes communication between the levels. There are a number of communication strategies and protocols which address this issue well. Additionally, the high level operating system must be carefully selected. Most common operating systems are not real-time.

GPU parallel processing is a powerful tool which is significantly under-applied in control applications at this time. It is possible to perform complex algorithms rapidly on thousands of processors in parallel on such devices, and the current state-of-the-art simulators are beginning to take advantage of such capabilities (such as introduced in the appendix of (Erez et al., 2011), which takes advantage of such an engine for speed). They are low cost (especially 4 TBD

Fig. 1. For complex control systems, it is effective to split time-critical aspects of control from non-critical aspects. In this way a complex algorithm can be computed in near real-time, but may not be guaranteed, while the critical aspects which require such guarantees can be designed at the low level to handle variable updates to its reference. L stands for 'Low level'

control parameters to match the delay is to include the delay as a parameter of the control

Thus we can attempt to model delays by measurement, and then compute an appropriate control, but that does not tell us everything that might happen, and how do we, in the context of complex systems, measure for every possible permutation? Additionally, it may not be trivial to make measurements of some features needing to be measured! That leads us to the

Computational capabilities required depend on required overall update rates, complexity of the control algorithm, number of peripherals involved and dimensionality of the system (thus the size of data passed around during code execution). There are a number of ways to ensure code will be processed on time and that computational requirements and capability are matched. With highly complex control algorithms required for artificial intelligence and complex coordinated movements, a very effective approach to ensuring real-time capability is to split the time-critical aspects of control from the computationally intensive aspects, as in Figure 1. Then a hierarchical but highly interconnected framework is formulated. This parallels the human brain's sensorimotor system structure, which can be thought of, most definitely, as the most intricate and advanced control system on the planet. Biological systems are also excellent at solving the types of control problems now beginning to be addressed by roboticists. The high level would consist of powerful personal computers or clusters of computers which are excellent for massive floating point computations but are limited for time-critical applications, while the low level would consist of embedded systems which are excellent at time-critical applications but less adept at complex calculations. This design approach has been applied and is detailed in (Simpkins et al., 2011). The challenge then becomes communication between the levels. There are a number of communication strategies and protocols which address this issue well. Additionally, the high level operating system

must be carefully selected. Most common operating systems are not real-time.

GPU parallel processing is a powerful tool which is significantly under-applied in control applications at this time. It is possible to perform complex algorithms rapidly on thousands of processors in parallel on such devices, and the current state-of-the-art simulators are beginning to take advantage of such capabilities (such as introduced in the appendix of (Erez et al., 2011), which takes advantage of such an engine for speed). They are low cost (especially

while H stands for 'High level.' y represents output, and u represents control input.

equation (Åström & Wittenmark, 1990).

**3.2 Computational capability issues**

next section regarding computational capabilities.

compared to cluster computing) and highly effective. This approach is useful not only to run single-thread algorithms, but also to run multiple model predictive algorithms in parallel. In this way, several potential control decisions or trajectories can be explored very rapidly, and the one with the best outcome selected.

Measuring execution time for all the computations required, including communication delays, and delays from peripherals is an important ability to have. This is not a trivial problem, however.

### **3.2.1 Worst case execution time**

Worst Case Execution Time (WCET) is the time it takes to execute the longest branch of code, not including hardware peripherals. This is important to at least have a reliable estimate of, since a designer needs to know whether a task can finish in a set amount of time for real-time systems. Traditionally, with fixed code and no caches, this was not as difficult a problem as it is in the context of more advanced (often multicore) processors, infinite loops, complex pipelines, and dynamic code length.

The traditional methods of measuring WCET comprise an entire field and will be mentioned here fairly briefly, as the main contribution is when and how to use these tools in conjunction with all the other subproblems that need to be addressed (The interested reader is referred to (Ermedahl, 2003; Hansen et al., 2009; Wilhelm et al., 2008). This field is moderately mature, though advances continue steadily. Timing analysis is the process of determining estimates or bounds on execution times. (Wilhelm et al., 2008) provides an excellent overview of timing analysis and the WCET problem in general, as well as tools which are available.

There essentially are two approaches for WCET prediction. These are static and dynamic (Grob, 2001) approaches. Static prediction approaches measure small pieces of code which do not change, do not have recursion, and are otherwise limited (Puschner & Nossal, 1998), while dynamic approaches (sometimes called measurement-based methods) measure an entire execution pathway, running on a simulator or the actual hardware for a set of (probably limited) inputs.

The static method may not provide realistic estimates when code snippets are combined together, and scheduling complex algorithms which combine many snippets together may break down the estimates. In addition, some processors have speculative components, where the processor determines an expected path, begins to load items in memory, and performs some processing ahead of time in anticipation. However, these speculations can of course be mistaken, and then all the predicted data must be deleted and the proper execution performed, which is actually slower than just waiting then branching when the call happens, without prediction.

Modern processors provide means of measuring code performance in a variety of ways via peripherals built into the chip, but some of these methods are imprecise at best. They do give a measure of how many cycles a task takes, however performing the measurement itself takes some computation. This violates the basic principle of measurement - that the action of performing the measurement should have such a small effect on the system measured that no significant change occurs in the process, but it does give a great deal of information, and the effect is fairly small. These measures can be used to create an estimate of best and worst case execution times. In practice this is very helpful, though difficult or impossible to provide hard guarantees in all cases.

Fig. 2. First four principle components of postural movement data for humans undergoing a 'variability maximizing experiment,' scaled appropriately for joint angles and applied such that the size of the component for a joint determines its deviation from a neutral posture. It is interesting to note that the components, which represent the dimensions that were most significant in terms of accounting for the variability in the data, and the direction of variability, comprise certain basic components of manipulation - gripping with all fingers, using a wavelike pattern of all fingers or using the first few primary fingers and thumb, precision manipulation with all fingers in fine patterns, and finally the thumb dominating the movement. This may suggest that combining these synergies, or using subsets of fingers,

Real-Time Control in Robotic Systems 215

the subspace is quite dynamic, and changes depending on the task. In other words, joints are coupled together in a fairly optimal fashion for each task(Todorov & Ghahramani, 2003; 2004). In fact, the author has performed a series of studies attempting to maximize the dimensionality of hand movement control, and there is still a notion of synergies(Simpkins, 2009). The maximum dimensionality is approximately ten DOFs. The obvious advantage is that the less individual trajectories that must be computed, or more generally, control decisions to be individually made, the faster those decisions can happen, and the more complexity can go into computing what exactly those decisions will be. So couple joints together when possible into synergies such as Figure 2 and compute a global trajectory for them to follow, such as open vs. closed hand (See Figure 3), and this can be done quite quickly and efficiently computationally. A number of approaches can be taken to build control systems upon this general methodology, but optimal control has been found to effectively model much biological movement control data, and provides an intuitive means of building control systems. Optimal control (Stengel, 1986) is a methodology which makes decisions based upon a notion of optimality for a task. This notion comes in the form of a cost (or reward, hereafter referred to only as cost for simplicity) function. Behaviors are created by specifying the dynamics of the system as constraints, then actions are chosen which minimize the cost computed by the cost function. There is evidence that the sensorimotor system ignores task-irrelevant deviations (Todorov, 2004; Todorov & Jordan, 2003), which tends to reduce dynamic load and uses less system bandwidth to compute controls than actively controlling

Bandwidth is a term which is used in many fields for different purposes. In control theory it relates the ability to track a reference signal (Franklin & et al., 1994); in communications and

many manipulations can be performed.

everything individually.

Two effective approaches which can be used on complex real-time robotic control systems, of the techniques discussed are either to split the time-critical components from the non-critical components, or to use a measurement technique which will not necessarily guarantee perfect timing, but may provide fairly good estimates on bounds of timing. In safety-critical applications it is suggested that having a low level which has timing guarantees is more appropriate than bounded estimates, in combination with a watchdog (discussed in Section 3.5). In some experimental robotic systems it may be sufficient to simply design controllers which deal with temporal variability without instability, but write code which minimizes delays. This latter method may be effective for rapid prototyping of new designs and testing experimental theories, while the hierarchical structure with some components real-time may be a more effective general strategy, as long as communication between levels is designed carefully, such as in (Simpkins et al., 2011). Standard timing analysis tools should be used at the programming stage to test algorithms and ensure their real-time performance. Even in the best cases, there are always limitations, and in complex high dimensional systems we must consider carefully what is the maximum capability available, and how much is required.

### **3.3 Dimensionality and bandwidth**

The dimensionality of a system may technically be very high, but can be reduced in practice depending on the task. Or alternatively, simple coordination can be performed at a low level (akin to reflexes in biological systems, which are thought to be processed in the brain stem or lower levels, depending), leaving higher levels free to coordinate a few degrees of freedom (DOF) in more complex patterns. This reduces and efficiently distributes the processing load. For example, though human beings have over twenty-two DOFs in their hands, during the majority of grasping and manipulation tasks, they tend to use as few as two DOFs for a variety of common tasks. The individual DOFs are coupled together into movement 'synergies,' which makes the computational task significantly simpler.

### **3.3.1 Advantages of synergies and evidence to support their uses**

Biological systems are almost unilaterally agreed to be capable of superior complex manipulation tasks in terms of complexity and variety of skills. Interestingly enough, several studies have been performed of humans undergoing complex manipulation tasks, and dimensionality of the movements have been explored using principle components analysis and canonical correlations analysis. See (Anderson, 2003) and (Mardia et al., 1992) for good discussions of these techniques. The results essentially state that biological systems use synergistic movements to achieve goals. It is likely that there are a number of reasons for this, but one advantage of synergistic control is that the number of individual dimensions controlled is reduced significantly over the total state space. Of the many DOFs available, many manipulation tasks require less than *three* (Santello et al., 1998). This has led some researchers to claim that this is a maximum for control but it appears that there is a sliding dimensionality. However dynamic complex movements require more training than lower dimensional, less dynamic ones. One theory is that when learning a new skill, humans go through stages of learning, where initially many dimensions are frozen, then gradually are unfrozen as learning takes place(Bernstein, 1967). One possible explanation for this strategy is that, in order to free bandwidth as much as possible, coordinated movement is encoded at as low a level as possible, freeing up the high level to devote bandwidth to complexity of the strategy, rather than simply giving individual joint commands. In fact, the manifold of 6 TBD

Two effective approaches which can be used on complex real-time robotic control systems, of the techniques discussed are either to split the time-critical components from the non-critical components, or to use a measurement technique which will not necessarily guarantee perfect timing, but may provide fairly good estimates on bounds of timing. In safety-critical applications it is suggested that having a low level which has timing guarantees is more appropriate than bounded estimates, in combination with a watchdog (discussed in Section 3.5). In some experimental robotic systems it may be sufficient to simply design controllers which deal with temporal variability without instability, but write code which minimizes delays. This latter method may be effective for rapid prototyping of new designs and testing experimental theories, while the hierarchical structure with some components real-time may be a more effective general strategy, as long as communication between levels is designed carefully, such as in (Simpkins et al., 2011). Standard timing analysis tools should be used at the programming stage to test algorithms and ensure their real-time performance. Even in the best cases, there are always limitations, and in complex high dimensional systems we must consider carefully what is the maximum capability available, and how much is required.

The dimensionality of a system may technically be very high, but can be reduced in practice depending on the task. Or alternatively, simple coordination can be performed at a low level (akin to reflexes in biological systems, which are thought to be processed in the brain stem or lower levels, depending), leaving higher levels free to coordinate a few degrees of freedom (DOF) in more complex patterns. This reduces and efficiently distributes the processing load. For example, though human beings have over twenty-two DOFs in their hands, during the majority of grasping and manipulation tasks, they tend to use as few as two DOFs for a variety of common tasks. The individual DOFs are coupled together into movement 'synergies,'

Biological systems are almost unilaterally agreed to be capable of superior complex manipulation tasks in terms of complexity and variety of skills. Interestingly enough, several studies have been performed of humans undergoing complex manipulation tasks, and dimensionality of the movements have been explored using principle components analysis and canonical correlations analysis. See (Anderson, 2003) and (Mardia et al., 1992) for good discussions of these techniques. The results essentially state that biological systems use synergistic movements to achieve goals. It is likely that there are a number of reasons for this, but one advantage of synergistic control is that the number of individual dimensions controlled is reduced significantly over the total state space. Of the many DOFs available, many manipulation tasks require less than *three* (Santello et al., 1998). This has led some researchers to claim that this is a maximum for control but it appears that there is a sliding dimensionality. However dynamic complex movements require more training than lower dimensional, less dynamic ones. One theory is that when learning a new skill, humans go through stages of learning, where initially many dimensions are frozen, then gradually are unfrozen as learning takes place(Bernstein, 1967). One possible explanation for this strategy is that, in order to free bandwidth as much as possible, coordinated movement is encoded at as low a level as possible, freeing up the high level to devote bandwidth to complexity of the strategy, rather than simply giving individual joint commands. In fact, the manifold of

**3.3 Dimensionality and bandwidth**

which makes the computational task significantly simpler.

**3.3.1 Advantages of synergies and evidence to support their uses**

Fig. 2. First four principle components of postural movement data for humans undergoing a 'variability maximizing experiment,' scaled appropriately for joint angles and applied such that the size of the component for a joint determines its deviation from a neutral posture. It is interesting to note that the components, which represent the dimensions that were most significant in terms of accounting for the variability in the data, and the direction of variability, comprise certain basic components of manipulation - gripping with all fingers, using a wavelike pattern of all fingers or using the first few primary fingers and thumb, precision manipulation with all fingers in fine patterns, and finally the thumb dominating the movement. This may suggest that combining these synergies, or using subsets of fingers, many manipulations can be performed.

the subspace is quite dynamic, and changes depending on the task. In other words, joints are coupled together in a fairly optimal fashion for each task(Todorov & Ghahramani, 2003; 2004). In fact, the author has performed a series of studies attempting to maximize the dimensionality of hand movement control, and there is still a notion of synergies(Simpkins, 2009). The maximum dimensionality is approximately ten DOFs. The obvious advantage is that the less individual trajectories that must be computed, or more generally, control decisions to be individually made, the faster those decisions can happen, and the more complexity can go into computing what exactly those decisions will be. So couple joints together when possible into synergies such as Figure 2 and compute a global trajectory for them to follow, such as open vs. closed hand (See Figure 3), and this can be done quite quickly and efficiently computationally. A number of approaches can be taken to build control systems upon this general methodology, but optimal control has been found to effectively model much biological movement control data, and provides an intuitive means of building control systems. Optimal control (Stengel, 1986) is a methodology which makes decisions based upon a notion of optimality for a task. This notion comes in the form of a cost (or reward, hereafter referred to only as cost for simplicity) function. Behaviors are created by specifying the dynamics of the system as constraints, then actions are chosen which minimize the cost computed by the cost function. There is evidence that the sensorimotor system ignores task-irrelevant deviations (Todorov, 2004; Todorov & Jordan, 2003), which tends to reduce dynamic load and uses less system bandwidth to compute controls than actively controlling everything individually.

Bandwidth is a term which is used in many fields for different purposes. In control theory it relates the ability to track a reference signal (Franklin & et al., 1994); in communications and

Fig. 5. Block diagram of hierarchical control scheme. This approach breaks a single complex

Real-Time Control in Robotic Systems 217

use some subset of features of the complex system for any given task, but have the capability

As more intelligent control is applied, the computations required to carry out these algorithms tend to increase. For example, the number of mathematical operations per second to run model-predictive nonlinear stochastic optimal control is far higher than proportional integral

An approach which is promising is to break the one complex problem down into simpler components with a hierarchical control approach (See Figure 5). Then different components of the hierarchy, as discussed in Section 3.2, can address either time-critical or computationally intensive aspects of the controller. This will be explored through results from a system developed by the author (in collaboration with Michael S. Kelley and Emanuel Todorov) for

Finally, some aspects of the control can be computed or adapted offline or on a slow timescale. This is parallel to some learning processes in humans. The resulting solutions (such as

The basis for this approach is presented in (Simpkins & Todorov, 2011) for the robot in

The goal of these robotic fingers was to develop a robotic system which parallels certain key aspects of biological systems for manipulation (and similarly for locomotion). The reason to do so is that most robots are not designed to behave in a similar fashion to biological systems. They are often solving different problems, such as how to follow a trajectory in order to weld two parts together or to cut away material in a prescribed pattern with a milling bit. In these standard cases it is very important for the robot to track a specific trajectory regardless of outside disturbances from the world. Biological systems such as a human being walking across a room, or selecting a key from a keychain full of keys in his or her pocket are solving a completely different problem. They require a bidirectional information flow with the world at an actuator level - many movements are more like a dance with the outside world as one

pre-computed trajectories) can be accessed from memory rapidly when required.

problem into several smaller and more tractable problems.

for a variety of tasks (Todorov & Jordan, 2002).

complex manipulation and locomotion (Figure 6(a)).

**3.4 Control complexity**

derivative control.

**3.4.1 Model and approach**

(Simpkins et al., 2011).

Fig. 3. Images of a hand gripping an object. Though there are many degrees of freedom in the hand, it is clear that there is a low dimensional synergy in this case. We can control the entire hand from this synergy for this task (open-close). In that way, more complex algorithms can be computed in real-time if needed. A sliding complexity (in terms of dimensionality and dynamics) can be used to guarantee real-time control even for a complex system.

Fig. 4. The bandwidth cutoff for a system tracking a sinusoidal input is considered to be the point at which the amplitude of the output drops below -3dB, along with a corresponding phase shift. This is the bode plot for *G*(*s*) = 1/(*s* + 1).

networking it refers to how much data throughput is possible. However, the general concept is very similar in all instances. We will use as the following as the definition of bandwidth: **Definition:** *Bandwidth shall be defined as the rate at which a system, open-loop or closed-loop, may successfully track a reference. The boundary between successful tracking and unsuccessful tracking is the point at which the amplitude of the output drops below -3 Decibels (dB) relative to the input signal in the frequency domain, such as Figure 4.*

The bandwidth requirement for a system is also reduced by synergistic movement control. It is also significant that a designer consider not what the maximum possible bandwidth of the overall system can be, but more what the maximum bandwidth *should* be. In other words, what is required (along with a factor of safety) to succeed at all tasks the system is designed to accomplish? Too high of a (dynamic) mechanical bandwidth may lead to instability, high forces, and other problems affecting system safety. Too high of a data bandwidth leads to higher probabilities of lost samples, delays, and related issues. It is also possible to have a sliding bandwidth which varies depending on computational complexity versus dynamic timing of a particular task. In fact, this appears to be closer to what biological systems do - 8 TBD

Fig. 3. Images of a hand gripping an object. Though there are many degrees of freedom in the hand, it is clear that there is a low dimensional synergy in this case. We can control the entire hand from this synergy for this task (open-close). In that way, more complex algorithms can be computed in real-time if needed. A sliding complexity (in terms of dimensionality and

10−2 10−1 <sup>100</sup> <sup>101</sup> <sup>102</sup> −90

Frequency (rad/sec)

Fig. 4. The bandwidth cutoff for a system tracking a sinusoidal input is considered to be the point at which the amplitude of the output drops below -3dB, along with a corresponding

networking it refers to how much data throughput is possible. However, the general concept is very similar in all instances. We will use as the following as the definition of bandwidth: **Definition:** *Bandwidth shall be defined as the rate at which a system, open-loop or closed-loop, may successfully track a reference. The boundary between successful tracking and unsuccessful tracking is the point at which the amplitude of the output drops below -3 Decibels (dB) relative to the input signal*

The bandwidth requirement for a system is also reduced by synergistic movement control. It is also significant that a designer consider not what the maximum possible bandwidth of the overall system can be, but more what the maximum bandwidth *should* be. In other words, what is required (along with a factor of safety) to succeed at all tasks the system is designed to accomplish? Too high of a (dynamic) mechanical bandwidth may lead to instability, high forces, and other problems affecting system safety. Too high of a data bandwidth leads to higher probabilities of lost samples, delays, and related issues. It is also possible to have a sliding bandwidth which varies depending on computational complexity versus dynamic timing of a particular task. In fact, this appears to be closer to what biological systems do -

dynamics) can be used to guarantee real-time control even for a complex system.

System -3dB boundary

−40

0

−45

phase shift. This is the bode plot for *G*(*s*) = 1/(*s* + 1).

*in the frequency domain, such as Figure 4.*

−20

Magnitude (dB)

Phase (deg)

0

Fig. 5. Block diagram of hierarchical control scheme. This approach breaks a single complex problem into several smaller and more tractable problems.

use some subset of features of the complex system for any given task, but have the capability for a variety of tasks (Todorov & Jordan, 2002).

### **3.4 Control complexity**

As more intelligent control is applied, the computations required to carry out these algorithms tend to increase. For example, the number of mathematical operations per second to run model-predictive nonlinear stochastic optimal control is far higher than proportional integral derivative control.

An approach which is promising is to break the one complex problem down into simpler components with a hierarchical control approach (See Figure 5). Then different components of the hierarchy, as discussed in Section 3.2, can address either time-critical or computationally intensive aspects of the controller. This will be explored through results from a system developed by the author (in collaboration with Michael S. Kelley and Emanuel Todorov) for complex manipulation and locomotion (Figure 6(a)).

Finally, some aspects of the control can be computed or adapted offline or on a slow timescale. This is parallel to some learning processes in humans. The resulting solutions (such as pre-computed trajectories) can be accessed from memory rapidly when required.

### **3.4.1 Model and approach**

The basis for this approach is presented in (Simpkins & Todorov, 2011) for the robot in (Simpkins et al., 2011).

The goal of these robotic fingers was to develop a robotic system which parallels certain key aspects of biological systems for manipulation (and similarly for locomotion). The reason to do so is that most robots are not designed to behave in a similar fashion to biological systems. They are often solving different problems, such as how to follow a trajectory in order to weld two parts together or to cut away material in a prescribed pattern with a milling bit. In these standard cases it is very important for the robot to track a specific trajectory regardless of outside disturbances from the world. Biological systems such as a human being walking across a room, or selecting a key from a keychain full of keys in his or her pocket are solving a completely different problem. They require a bidirectional information flow with the world at an actuator level - many movements are more like a dance with the outside world as one

Fig. 7. Image sequences showing manipulation of an object (top) and locomotion (bottom). Note the parallels between the two. In fact, the two can be thought of as essentially the same

Real-Time Control in Robotic Systems 219

of the two links shown for a particular manipulator in order to generate an output force at the endpoint. This is similar to human joints in terms of the way tendons pull on joints to cause an output force. However, here for design simplicity and robustness, the complex inner musculoskeletal structure is reduced to a four bar linkage model. The motors which produce the torque are coupled to the joints through a cable drive system which has ultra-low friction and little if any backlash - essential components for back-drivability. The cables act as the tendons would in biological systems in the sense of a pull-pull system, as well as providing some spring characteristics. As much mass as possible is kept at the base, and decoupled from the output, which is another reason for the linkage design. This helps keep inertia small relative to the objects being manipulated, and relative to the output force capabilities of the finger. This is significant because the finger needs to be capable of dynamic movement (rapid accelerations and decelerations), and must avoid wasting most of the force output capability of the motors in overcoming the structure's inertia (imagine going through your day with an extra 10kg of weight strapped to your wrists; it would indeed be very difficult to perform simple tasks because nearly all of your strength would be used to overcome the weight and inertia of the additional mass). Large inertia also is very detrimental to back-drivability. The concept of these devices is not to attempt to duplicate the structure of a biological system. Rather, the concept is to capture the capabilities which are significant for developing controllers that solve the problems of manipulation and locomotion similarly to biological systems. Each finger is capable of producing a few Newtons of peak output force in each axis, and requires a fraction of that to be backdriven (frictional and inertial loads are small), enough for fine dynamic manipulation. Each can perform closed loop control at over 1kHz, communicating between all fingers and a higher level processor (such as a personal computer)

Consider for simplicity the manipulation or locomotion problem within a 2D context. Objects are represented by center of mass, position and angle, mass (*m*), inertia (*J*), and a boundary (*d*()), which may be described by splines, allowing any shape to be represented, convex or

problem - this is a significant insight.

all relevant data (position, velocity, force, actuator states, etc).

concave. The sum of forces on the object (*Fx*, *Fy*, and *M*) are given by

Fig. 6. (a) A modular bio-mimetic robotic system developed by the author at the University of California, San Diego and the University of Washington in the Movement Control Laboratory. (b) A simplified 2-dimensional representation of the robot and object, used in the algorithm described in this section.

partner, and the human being as the other. The human acts on the keys by applying forces to the keychain, the keychain changes state, and by nature of the contacts with the human's hand, alters the state of the human, who gains information about the state of the keys. This also helps simplify the control problem in various ways, as the human hand conforms to the shape of the key, rather than the hand attempting to move *in spite of* the key.

Creating a robot which interacts with the world in this fashion involves solving a number of new design challenges without compromising on any one specification. For example, in order to dynamically manipulate objects, a robotic finger must be able to move rapidly, be completely compliant and back-drivable, communicate at a high rate with a host processor, be capable of implementing complex control in real-time, be sensitive, measure appropriate variables (such as force, velocity, and position), and it must be sufficiently robust. This is to the author's knowledge the first design which solves all these constraints and incorporates modularity (each finger is completely self-contained and has wireless capabilities, with provisions to be attached to any base with the appropriate hole pattern). Controlling such a device to perform dynamic manipulation in the way previously described is a new type of control problem, and requires a significantly new approach.

The goal is to apply forces to an object to cause it to behave in a desired fashion. This can be tracking a trajectory, or any other goal of control. An important note is that the two problems (manipulation and locomotion) are related in that we either have a small object relative to manipulators such as a hand, or the ground, an object of infinite size (in either case, it is often that one side of the problem is significantly larger than the other side - manipulators or object manipulated), as in Figure 7.

Forces are applied to the object by manipulators, described as linkages, as shown in Figure 6(b), which are a simplified model of the physical robots developed by the author, shown in Figure 6(a) and described in detail in (Simpkins et al., 2011). Torques (*τi*) are applied to either 10 TBD

(a) (b)

shape of the key, rather than the hand attempting to move *in spite of* the key.

control problem, and requires a significantly new approach.

algorithm described in this section.

manipulated), as in Figure 7.

Fig. 6. (a) A modular bio-mimetic robotic system developed by the author at the University of California, San Diego and the University of Washington in the Movement Control

Laboratory. (b) A simplified 2-dimensional representation of the robot and object, used in the

partner, and the human being as the other. The human acts on the keys by applying forces to the keychain, the keychain changes state, and by nature of the contacts with the human's hand, alters the state of the human, who gains information about the state of the keys. This also helps simplify the control problem in various ways, as the human hand conforms to the

Creating a robot which interacts with the world in this fashion involves solving a number of new design challenges without compromising on any one specification. For example, in order to dynamically manipulate objects, a robotic finger must be able to move rapidly, be completely compliant and back-drivable, communicate at a high rate with a host processor, be capable of implementing complex control in real-time, be sensitive, measure appropriate variables (such as force, velocity, and position), and it must be sufficiently robust. This is to the author's knowledge the first design which solves all these constraints and incorporates modularity (each finger is completely self-contained and has wireless capabilities, with provisions to be attached to any base with the appropriate hole pattern). Controlling such a device to perform dynamic manipulation in the way previously described is a new type of

The goal is to apply forces to an object to cause it to behave in a desired fashion. This can be tracking a trajectory, or any other goal of control. An important note is that the two problems (manipulation and locomotion) are related in that we either have a small object relative to manipulators such as a hand, or the ground, an object of infinite size (in either case, it is often that one side of the problem is significantly larger than the other side - manipulators or object

Forces are applied to the object by manipulators, described as linkages, as shown in Figure 6(b), which are a simplified model of the physical robots developed by the author, shown in Figure 6(a) and described in detail in (Simpkins et al., 2011). Torques (*τi*) are applied to either

Fig. 7. Image sequences showing manipulation of an object (top) and locomotion (bottom). Note the parallels between the two. In fact, the two can be thought of as essentially the same problem - this is a significant insight.

of the two links shown for a particular manipulator in order to generate an output force at the endpoint. This is similar to human joints in terms of the way tendons pull on joints to cause an output force. However, here for design simplicity and robustness, the complex inner musculoskeletal structure is reduced to a four bar linkage model. The motors which produce the torque are coupled to the joints through a cable drive system which has ultra-low friction and little if any backlash - essential components for back-drivability. The cables act as the tendons would in biological systems in the sense of a pull-pull system, as well as providing some spring characteristics. As much mass as possible is kept at the base, and decoupled from the output, which is another reason for the linkage design. This helps keep inertia small relative to the objects being manipulated, and relative to the output force capabilities of the finger. This is significant because the finger needs to be capable of dynamic movement (rapid accelerations and decelerations), and must avoid wasting most of the force output capability of the motors in overcoming the structure's inertia (imagine going through your day with an extra 10kg of weight strapped to your wrists; it would indeed be very difficult to perform simple tasks because nearly all of your strength would be used to overcome the weight and inertia of the additional mass). Large inertia also is very detrimental to back-drivability.

The concept of these devices is not to attempt to duplicate the structure of a biological system. Rather, the concept is to capture the capabilities which are significant for developing controllers that solve the problems of manipulation and locomotion similarly to biological systems. Each finger is capable of producing a few Newtons of peak output force in each axis, and requires a fraction of that to be backdriven (frictional and inertial loads are small), enough for fine dynamic manipulation. Each can perform closed loop control at over 1kHz, communicating between all fingers and a higher level processor (such as a personal computer) all relevant data (position, velocity, force, actuator states, etc).

Consider for simplicity the manipulation or locomotion problem within a 2D context. Objects are represented by center of mass, position and angle, mass (*m*), inertia (*J*), and a boundary (*d*()), which may be described by splines, allowing any shape to be represented, convex or concave. The sum of forces on the object (*Fx*, *Fy*, and *M*) are given by

forces applied to the point mass in order to cause accelerations. This assumption is made because the rotor inertias of the motors dominate the overall finger inertia. It is also makes the system more simple to model and control than one with complex nonlinear dynamics, but this would be possible as well and is a trivial extension. The affine point mass dynamics for

Real-Time Control in Robotic Systems 221

⎧ ⎨ ⎩

*ax*,*<sup>i</sup> ay*,*<sup>i</sup>* 1

∑*<sup>i</sup> fx*,*<sup>i</sup>* ∑*<sup>i</sup> fy*,*<sup>i</sup>* − ∑*<sup>i</sup> fx*,*idy*(*θi*,*p*) + ∑*<sup>i</sup> fy*,*idx*(*θi*,*p*)

> � *ax*,*<sup>o</sup> ay*,*o* � + *mi*

solve for the unknown forces and accelerations in one operation

*A* =

*w* = �

> *b* = �

point masses in response, and the acceleration of the object.

⎡ ⎢ ⎢ ⎢ ⎢ ⎣ ⎫ ⎬ ⎭ = ⎡ ⎢ ⎣

and the object dynamics, after rearranging the terms in Equation 10 are given by

1 *mi* 0 0 0 <sup>1</sup> *mi* −*g* 00 1

⎤ ⎥ ⎦

⎫ ⎬ ⎭ −

*<sup>θ</sup>odx*(*θi*) ¨ *θody*(*θi*)

and the end effector dynamics when in contact with the object can be similarly derived to give

� ¨

We combine the object and end effector dynamics into a single equation, which allows us to

1 0 −*mo* 0 0 01 0 −*mo* 0 00 0 0 −*J I* **0** *mi* 0 *mi*

**0** *I* 0 *mi mi*

*<sup>f</sup>*(*x*,*i*), *<sup>f</sup>*(*y*,*i*), *<sup>a</sup>*(*x*,*o*), *<sup>a</sup>*(*y*,*o*), ¨

0, *g*, 0, *b*(*x*,*i*), *b*(*y*,*i*) + *mig*

Then, we can compute a solution, or an approximation to the solution quite quickly using the solution method of choice. One method that works well is simply to use the pseudoinverse of A, which will yield the forces the point masses apply on the object and thus the forces on the

The A matrix changes dimensions as needed depending on which manipulator is in contact, on the fly. This is how we can easily compute an approximation to the contact forces and

The overall problem, now that the physics are laid out, can be presented as the following:

⎧ ⎨ ⎩

⎧ ⎨ ⎩

> � =

¨ *θodx*(*θi*)

¨ *θody*(*θi*)

*bx*,*<sup>i</sup> by*,*<sup>i</sup>* 1

*mo ax*,*o mo ay*,*o J* ¨ *θo*

⎫ ⎬ ⎭ =

� *bx*,*<sup>i</sup> by*,*<sup>i</sup>* + *mig*

> ⎤ ⎥ ⎥ ⎥ ⎥ ⎦

*θo* �*<sup>T</sup>*

�*<sup>T</sup>*

*w* = *A*+*b* (19)

*Aw* = *b*, (15)

⎧ ⎨ ⎩

0 *mog* 0

�

⎫ ⎬ ⎭

⎫ ⎬ ⎭

(12)

(13)

(16)

(17)

. (18)

. (14)

mass *i* are given by

where *A* is given by

*w* is given by,

and *b* is given by

resulting acceleration.

⎧ ⎨ ⎩

> � *fx*,*<sup>i</sup> fy*,*i* � + *mi*

$$
\begin{Bmatrix} \sum F\_{\mathbf{x},\boldsymbol{\rho}} \\ \sum F\_{\mathbf{y},\boldsymbol{\rho}} \\ \sum M\_{\boldsymbol{\theta}} \end{Bmatrix} = \begin{bmatrix} 1 & 0 \\ 0 & 1 \\ -d\_{\boldsymbol{\theta}}(\boldsymbol{\theta}) \ d\_{\mathbf{x}}(\boldsymbol{\theta}) \end{bmatrix} \begin{Bmatrix} \sum f\_{\mathbf{x}\_{i}} \\ \sum\_{i} f\_{\mathbf{y}\_{i}} \end{Bmatrix} - \begin{bmatrix} m\_{\boldsymbol{\theta}} & 0 & 0 \\ 0 & m\_{\boldsymbol{\theta}} & 0 \\ 0 & 0 & I \end{bmatrix} \begin{Bmatrix} a\_{\mathbf{x},\boldsymbol{\rho}} \\ (a\_{\mathbf{y},\boldsymbol{\rho}} + \mathbf{g}) \\ \tilde{\theta}\_{\boldsymbol{\theta}} \end{Bmatrix} \tag{10}
$$

Where *fi* representing the force applied by manipulator i at the surface location relative to the object center of mass as a function of angle (*θ*) relative to horizontal in the global coordinate system (*d*(*θ*)), *g* representing gravitational acceleration, *a* representing acceleration of either manipulator *i*'s endpoint or the manipulated object, depending on the subscript, and ()*<sup>o</sup>* representing 'with respect to the object being manipulated.' Time derivatives are represented by an over-dot, for example, the time derivative of *x* has the notation *x*˙.

Contact dynamics can be complex to simulate accurately, and can bring about bottlenecks for otherwise lightning fast algorithms (important in real-time contexts). Though with the rigid body assumption it is true that accurate contact dynamics appear difficult to 'get right,' real objects are not infinitely rigid. This provides a means by which contacts are smooth, soft, and damped. The reader is encouraged to consider his or her hands as an example- note the flexibility of the tissue. In general we, as human beings, do very little manipulation of rigid objects with rigid objects. When was the last time you attempted to pick up and manipulate a coffee cup or other fairly rigid body while wearing rigid steel armor which has no padding over your hand? It is unlikely that you ever have, or ever will. In fact, it is important to have damped interactions to avoid damaging the manipulators and objects - consider shoes, which prevent joint and limb damage due to shocks over time. This makes the problem significantly simpler, and we can make strong assumptions which do not necessarily reproduce contact dynamics of rigid bodies perfectly, but instead assume that objects interacting with each other do so with damping. In addition, the concepts we are presenting here do not necessarily depend upon the contact algorithm, being a modular method, and so the physics and contact model can easily be switched for others, even on the fly. And it makes sense to have a more flexible strategy for simulating dynamic interactions than making one assumption and basing the entire methodology upon this such that the algorithm becomes 'brittle' to simple changes, or becomes computationally infeasible due to complexity.

Given this discussion we create a constraint for the form of the algorithm presented here (Simpkins & Todorov, 2011). We assume that there is no slip during contacts, effectively creating a sticky contact algorithm. The advantage here is that it allows a constraint on acceleration of the manipulators relative to the object,

$$\begin{Bmatrix} a\_{\mathbf{x},i} \\ a\_{\mathbf{y},i} \end{Bmatrix} = \begin{bmatrix} 1 \ 0 \ d\_{\mathbf{x}}(\theta\_{\hat{i}}) \\ 0 \ 1 \ d\_{\mathbf{y}}(\theta\_{\hat{i}}) \end{bmatrix} \begin{Bmatrix} a\_{\mathbf{x},o} \\ a\_{\mathbf{y},o} \\ \hat{\theta}\_o \end{Bmatrix} \tag{11}$$

where *a* represents the acceleration of the object *o* or point mass *i*, and ¨ *θ<sup>o</sup>* is the angular acceleration of the object. This does create an instantaneous change of velocity when a contact occurs, which can be modeled as an impulsive force that causes the change in velocity which is required. There is also an assumption that the point masses are small enough in mass relative to the object that their contribution to the momentum of the system when in contact is insignificant.

When not in contact, the point masses experience accelerations due to a force which is applied by the robot fingers. The entire robot finger assembly is modeled as a point mass with external 12 TBD

� <sup>∑</sup>*<sup>i</sup> fxi* ∑*<sup>i</sup> fyi*

Where *fi* representing the force applied by manipulator i at the surface location relative to the object center of mass as a function of angle (*θ*) relative to horizontal in the global coordinate system (*d*(*θ*)), *g* representing gravitational acceleration, *a* representing acceleration of either manipulator *i*'s endpoint or the manipulated object, depending on the subscript, and ()*<sup>o</sup>* representing 'with respect to the object being manipulated.' Time derivatives are represented

Contact dynamics can be complex to simulate accurately, and can bring about bottlenecks for otherwise lightning fast algorithms (important in real-time contexts). Though with the rigid body assumption it is true that accurate contact dynamics appear difficult to 'get right,' real objects are not infinitely rigid. This provides a means by which contacts are smooth, soft, and damped. The reader is encouraged to consider his or her hands as an example- note the flexibility of the tissue. In general we, as human beings, do very little manipulation of rigid objects with rigid objects. When was the last time you attempted to pick up and manipulate a coffee cup or other fairly rigid body while wearing rigid steel armor which has no padding over your hand? It is unlikely that you ever have, or ever will. In fact, it is important to have damped interactions to avoid damaging the manipulators and objects - consider shoes, which prevent joint and limb damage due to shocks over time. This makes the problem significantly simpler, and we can make strong assumptions which do not necessarily reproduce contact dynamics of rigid bodies perfectly, but instead assume that objects interacting with each other do so with damping. In addition, the concepts we are presenting here do not necessarily depend upon the contact algorithm, being a modular method, and so the physics and contact model can easily be switched for others, even on the fly. And it makes sense to have a more flexible strategy for simulating dynamic interactions than making one assumption and basing the entire methodology upon this such that the algorithm becomes 'brittle' to simple changes,

Given this discussion we create a constraint for the form of the algorithm presented here (Simpkins & Todorov, 2011). We assume that there is no slip during contacts, effectively creating a sticky contact algorithm. The advantage here is that it allows a constraint on

> 1 0 *dx*(*θi*) 0 1 *dy*(*θi*)

acceleration of the object. This does create an instantaneous change of velocity when a contact occurs, which can be modeled as an impulsive force that causes the change in velocity which is required. There is also an assumption that the point masses are small enough in mass relative to the object that their contribution to the momentum of the system when in contact

When not in contact, the point masses experience accelerations due to a force which is applied by the robot fingers. The entire robot finger assembly is modeled as a point mass with external

� ⎧ ⎨ ⎩

*ax*,*o ay*,*o* ¨ *θo*

⎫ ⎬ ⎭

� − ⎡ ⎣

*mo* 0 0 0 *mo* 0 0 0 *J*

⎤ ⎦ ⎧ ⎨ ⎩

*ax*,*o* (*ay*,*<sup>o</sup>* <sup>+</sup> *<sup>g</sup>*) ¨ *θo*

⎫ ⎬ ⎭

(10)

(11)

*θ<sup>o</sup>* is the angular

⎤ ⎦

⎧ ⎨ ⎩

∑ *Fx*,*o* ∑ *Fy*,*o* ∑ *Mo*

⎫ ⎬ ⎭ = ⎡ ⎣

1 0 0 1 −*dy*(*θ*) *dx*(*θ*)

by an over-dot, for example, the time derivative of *x* has the notation *x*˙.

or becomes computationally infeasible due to complexity.

acceleration of the manipulators relative to the object,

is insignificant.

� *ax*,*<sup>i</sup> ay*,*<sup>i</sup>* � = �

where *a* represents the acceleration of the object *o* or point mass *i*, and ¨

forces applied to the point mass in order to cause accelerations. This assumption is made because the rotor inertias of the motors dominate the overall finger inertia. It is also makes the system more simple to model and control than one with complex nonlinear dynamics, but this would be possible as well and is a trivial extension. The affine point mass dynamics for mass *i* are given by

$$\begin{Bmatrix} a\_{\mathbf{x},i} \\ a\_{\mathbf{y},i} \\ 1 \end{Bmatrix} = \begin{bmatrix} \frac{1}{m\_i} & 0 & 0 \\ 0 & \frac{1}{m\_i} & -g \\ 0 & 0 & 1 \end{bmatrix} \begin{Bmatrix} b\_{\mathbf{x},i} \\ b\_{\mathbf{y},i} \\ 1 \end{Bmatrix} \tag{12}$$

and the object dynamics, after rearranging the terms in Equation 10 are given by

$$\begin{Bmatrix} \Sigma\_i f\_{\mathbf{x},i} \\ \Sigma\_i f\_{\mathbf{y},i} \\ -\Sigma\_i f\_{\mathbf{x},i} d\_{\mathbf{y}}(\theta\_{i,p}) + \sum\_i f\_{\mathbf{y},i} d\_{\mathbf{x}}(\theta\_{i,p}) \end{Bmatrix} - \begin{Bmatrix} m\_0 a\_{\mathbf{x},o} \\ m\_0 a\_{\mathbf{y},o} \\ \check{\theta}\_o \end{Bmatrix} = \begin{Bmatrix} 0 \\ m\_0 g \\ 0 \end{Bmatrix} \tag{13}$$

and the end effector dynamics when in contact with the object can be similarly derived to give

$$\left\{ \begin{matrix} f\_{\mathbf{x},i} \\ f\_{\mathbf{y},i} \end{matrix} \right\} + m\_{\mathbf{i}} \left\{ \begin{matrix} a\_{\mathbf{x},o} \\ a\_{\mathbf{y},o} \end{matrix} \right\} + m\_{\mathbf{i}} \left\{ \begin{matrix} \ddot{\theta}\_o d\_{\mathbf{x}}(\theta\_i) \\ \ddot{\theta}\_o d\_{\mathbf{y}}(\theta\_i) \end{matrix} \right\} = \left\{ \begin{matrix} b\_{\mathbf{x},i} \\ b\_{\mathbf{y},i} + m\_{\mathbf{i}} \mathbf{g} \end{matrix} \right\}. \tag{14}$$

We combine the object and end effector dynamics into a single equation, which allows us to solve for the unknown forces and accelerations in one operation

$$Aw = b,\tag{15}$$

where *A* is given by

$$A = \begin{bmatrix} 1 \ 0 \ -m\_o \ 0 \ & 0 \\ 0 \ 1 \ 0 \ -m\_o \ & 0 \\ 0 \ 0 \ 0 \ 0 \ 0 \ & -J \\ I \ \mathbf{0} \ m\_i \ & 0 \ m\_i \ddot{\theta}\_o d\_x(\theta\_i) \\ \mathbf{0} \ I \ 0 \ 0 \ & m\_i \ \ m\_i \ \dot{\theta}\_o d\_y(\theta\_i) \end{bmatrix} \tag{16}$$

*w* is given by,

$$w = \left\{ f\_{(\mathbf{x}, \mathbf{i})'} f\_{(y, \mathbf{i})'} a\_{(\mathbf{x}, \mathbf{o})'}, a\_{(y, \mathbf{o})'}, \ddot{\theta}\_o \right\}^T \tag{17}$$

and *b* is given by

$$b = \left\{0, \text{g}, 0, b\_{(\mathbf{x}, \mathbf{i}) \prime} b\_{(y, \mathbf{i})} + m\_{\mathbf{i}} \mathbf{g} \right\}^T. \tag{18}$$

Then, we can compute a solution, or an approximation to the solution quite quickly using the solution method of choice. One method that works well is simply to use the pseudoinverse of A, which will yield the forces the point masses apply on the object and thus the forces on the point masses in response, and the acceleration of the object.

$$w = A^{+}b \tag{19}$$

The A matrix changes dimensions as needed depending on which manipulator is in contact, on the fly. This is how we can easily compute an approximation to the contact forces and resulting acceleration.

The overall problem, now that the physics are laid out, can be presented as the following:

feedback signal, and finally *r* the reference,

have a negative surface normal component).

*k*) , for manipulator *i* acting on the object as

*fti*,*<sup>k</sup>* =

where the error is given by

**3.4.3 Mid-level**

equation.

*uPD*

*<sup>k</sup>* <sup>=</sup> *Kp*(*ek*) + *Kd*

Given the required force to apply to the object, the mid-level splits this force into (given the number of manipulators) what forces each manipulator should apply and where they should apply them. This level deals also with workspace limitations, what to do if the object moves outside the manipulator workspace, and contact breaking is handled as well, all in one

Real-Time Control in Robotic Systems 223

This is done differently, depending on which of the manipulators are in contact and which are not. Given a particular contact grouping, the overall ideal force is distributed among the in-contact fingers with a fast quadratic constrained optimization (forces constrained to only

The forces (*fx*) acting upon the object (at location specified by *d*(*θ*)) are in the x, y, and angle *θ* coordinates, and are linear forces and the resulting moments, given in matrix form (at timestep

The objective *J*(*fi*)*<sup>k</sup>* is to minimize the error between the ideal force and the sum of total forces

We can pose this as a constrained optimization problem by stating (with *n* representing the

So given the manipulators in contact, we can extremely quickly determine a set of forces which

The behavior of the fingers that are not in contact (and the contact breaking behavior) can be encoded in a field equation which combines several different elements to create a pattern of action. This is easier to build from scratch or data than a cost function, since it is more direct and actions can be easily shaped. This is similar to directly constructing a policy - imagine a virtual force acting on a finger, so when you hold a coffee cup in your hand and rotate it continuously in one direction, there is a moment where you feel an increasing urge to change your grip (in such a way that you do not drop your cup). A virtual force field translates well to constructing these types of behaviors from observations. In the case presented here it is desirable to change grip when a manipulator is nearing the boundary of its workspace (i.e.

acting on the object, which tends to keep any force from being excessively large,

*fr*,*<sup>k</sup>* − ∑ *i fti*,*<sup>k</sup>*

> *J*(*fi*)*<sup>k</sup>* ,*s*.*t*.

*<sup>i</sup>* = argmin *fi*

sum (as closely as possible) to an equivalent of the ideal desired force.

*J*(*fi*)*<sup>k</sup>* =

normal to the surface of the object at the point of contact),

 *f opt*

 *fxi fyi dx*(*θi*) <sup>−</sup> *fxi dy*(*θi*) *fyi dx*(*θi*) − *fxi dy*(*θi*) *fyi*

> <sup>2</sup> <sup>+</sup> ∑ (*x*,*y*),*i*

*f* 2 *i*,*k* 

*<sup>f</sup>* • *<sup>n</sup> <sup>&</sup>lt;* 0,

<sup>Δ</sup>*<sup>T</sup>* (*ek* <sup>−</sup> *ek*−1) (20)

(22)

(23)

(24)

*ek* = *rk* − *yk* (21)

*Compute the optimal forces and contact locations to track the reference if in contact, and if not, compute the trajectories for those manipulators not in contact in order to move them to new contact points, or into a useful position (if, for example, the object moves out of the particular manipulator's workspace).*

These two trajectory classes form a pattern, which could be referred to as a gait for manipulation or locomotion.

There are several sub-problems to consider in order to not only solve the above overall problem, but to do so in a useful way - for example, manipulate objects without dropping them, make a robot walk without falling over. Additionally, it should be noted that most manipulation problems involve redundancy - usually one has more fingers than one needs to for any given task, so how does one decide what to do with each finger? There are many solutions (Simpkins & Todorov, 2011). Here we will state that this can be formulated within the optimal control framework, and solved using the method described below. In that way the solution which 'best' solves the problem at hand is selected from the set. It remains to further describe what 'best' means, and how the set of possible actions is generated.

It is possible to formulate this problem within the optimal control framework as a single level problem, however it is nonlinear, high dimensional, and stochastic. We are interested in real-time solutions, and it is difficult to solve these problems with an unprescribed length of time and computational capabilities, let alone limited resources and time. There is also support for the notion that the human brain solves such problems in a hierarchical but interconnected fashion. Thus we draw from nature to address this problem - break the one complex problem down into several more simple and tractable problems, organizing challenging aspects of the problems into groups which sum to the solution of the more difficult problem.

The three levels are the high level, which assumes one can apply an ideal force to the object directly at its center of mass, a mid-level, which takes as input the requirement for the ideal force, and decides how to break the force up into individual forces to apply with the manipulators, and where these forces should be applied, and finally a low level which deals with mapping endpoint forces to apply with manipulators to joint torques. The mid-level also, in computing optimal configurations, weighs out the difference between remaining in the same contact posture and breaking contact to create a new grip.

### **3.4.2 High-level**

Another advantage of this approach is that the high level can employ more complex algorithms, as it will be lower dimensional overall. In fact, predicting individual trajectories of the manipulators would be prohibitively computationally expensive, however implemented in this way it is not.

To implement this high level controller, one can implement any desired strategy: optimal (Stengel, 1986), robust (Zhou & Doyle, 1998), risk-sensitive, model-predictive (Erez et al., 2011; Li & Todorov, 2004), classical (Franklin & et al., 1994), and adaptive (Krstic et al., 1995), to list a small subset of possibilities.

In an opposing notion, it is simpler to implement classical control using ideal forces, and the lower level controls may be implemented similarly as, for example, Proportional Derivative (PD) control which, in its discrete form, is given by, with Δ*T* the time increment, *k* the current time-step, *Kd* the differential gain and *Kp* the proportional gain, *e* the error, *y* the output state feedback signal, and finally *r* the reference,

$$
\mu\_k^{PD} = K\_p(e\_k) + \frac{K\_d}{\Delta T}(e\_k - e\_{k-1}) \tag{20}
$$

where the error is given by

$$
\sigma\_k = r\_k - y\_k \tag{21}
$$

#### **3.4.3 Mid-level**

14 TBD

*Compute the optimal forces and contact locations to track the reference if in contact, and if not, compute the trajectories for those manipulators not in contact in order to move them to new contact points, or into a useful position (if, for example, the object moves out of the particular manipulator's workspace).* These two trajectory classes form a pattern, which could be referred to as a gait for

There are several sub-problems to consider in order to not only solve the above overall problem, but to do so in a useful way - for example, manipulate objects without dropping them, make a robot walk without falling over. Additionally, it should be noted that most manipulation problems involve redundancy - usually one has more fingers than one needs to for any given task, so how does one decide what to do with each finger? There are many solutions (Simpkins & Todorov, 2011). Here we will state that this can be formulated within the optimal control framework, and solved using the method described below. In that way the solution which 'best' solves the problem at hand is selected from the set. It remains to

further describe what 'best' means, and how the set of possible actions is generated.

It is possible to formulate this problem within the optimal control framework as a single level problem, however it is nonlinear, high dimensional, and stochastic. We are interested in real-time solutions, and it is difficult to solve these problems with an unprescribed length of time and computational capabilities, let alone limited resources and time. There is also support for the notion that the human brain solves such problems in a hierarchical but interconnected fashion. Thus we draw from nature to address this problem - break the one complex problem down into several more simple and tractable problems, organizing challenging aspects of the problems into groups which sum to the solution of the more difficult

The three levels are the high level, which assumes one can apply an ideal force to the object directly at its center of mass, a mid-level, which takes as input the requirement for the ideal force, and decides how to break the force up into individual forces to apply with the manipulators, and where these forces should be applied, and finally a low level which deals with mapping endpoint forces to apply with manipulators to joint torques. The mid-level also, in computing optimal configurations, weighs out the difference between remaining in

Another advantage of this approach is that the high level can employ more complex algorithms, as it will be lower dimensional overall. In fact, predicting individual trajectories of the manipulators would be prohibitively computationally expensive, however implemented

To implement this high level controller, one can implement any desired strategy: optimal (Stengel, 1986), robust (Zhou & Doyle, 1998), risk-sensitive, model-predictive (Erez et al., 2011; Li & Todorov, 2004), classical (Franklin & et al., 1994), and adaptive (Krstic et al., 1995), to list

In an opposing notion, it is simpler to implement classical control using ideal forces, and the lower level controls may be implemented similarly as, for example, Proportional Derivative (PD) control which, in its discrete form, is given by, with Δ*T* the time increment, *k* the current time-step, *Kd* the differential gain and *Kp* the proportional gain, *e* the error, *y* the output state

the same contact posture and breaking contact to create a new grip.

manipulation or locomotion.

problem.

**3.4.2 High-level**

in this way it is not.

a small subset of possibilities.

Given the required force to apply to the object, the mid-level splits this force into (given the number of manipulators) what forces each manipulator should apply and where they should apply them. This level deals also with workspace limitations, what to do if the object moves outside the manipulator workspace, and contact breaking is handled as well, all in one equation.

This is done differently, depending on which of the manipulators are in contact and which are not. Given a particular contact grouping, the overall ideal force is distributed among the in-contact fingers with a fast quadratic constrained optimization (forces constrained to only have a negative surface normal component).

The forces (*fx*) acting upon the object (at location specified by *d*(*θ*)) are in the x, y, and angle *θ* coordinates, and are linear forces and the resulting moments, given in matrix form (at timestep *k*) , for manipulator *i* acting on the object as

$$f\_{t\_l,k} = \begin{bmatrix} f\_{\mathbf{x}\_l} & f\_{\mathbf{y}\_l d\_{\mathbf{x}}(\theta\_l)} - f\_{\mathbf{x}\_l d\_{\mathbf{y}}(\theta\_l)} \\ f\_{\mathbf{y}\_l} d\_{\mathbf{x}}(\theta\_l) - f\_{\mathbf{x}\_l} d\_{\mathbf{y}}(\theta\_l) \end{bmatrix} \tag{22}$$

The objective *J*(*fi*)*<sup>k</sup>* is to minimize the error between the ideal force and the sum of total forces acting on the object, which tends to keep any force from being excessively large,

$$J(f\_i)\_k = \left[ \left[ f\_{r,k} - \sum\_i f\_{t\_i,k} \right]^2 + \sum\_{(x,y),i} f\_{i,k}^2 \right] \tag{23}$$

We can pose this as a constrained optimization problem by stating (with *n* representing the normal to the surface of the object at the point of contact),

$$f\left(f\_i^{opt} = \underset{f\_i}{\text{argmin}} \left[ f(f\_i)\_k \right], \text{s.t.} \left[ f \bullet n < 0, \right] \right) \tag{24}$$

So given the manipulators in contact, we can extremely quickly determine a set of forces which sum (as closely as possible) to an equivalent of the ideal desired force.

The behavior of the fingers that are not in contact (and the contact breaking behavior) can be encoded in a field equation which combines several different elements to create a pattern of action. This is easier to build from scratch or data than a cost function, since it is more direct and actions can be easily shaped. This is similar to directly constructing a policy - imagine a virtual force acting on a finger, so when you hold a coffee cup in your hand and rotate it continuously in one direction, there is a moment where you feel an increasing urge to change your grip (in such a way that you do not drop your cup). A virtual force field translates well to constructing these types of behaviors from observations. In the case presented here it is desirable to change grip when a manipulator is nearing the boundary of its workspace (i.e.

**3.4.4 Low-level**

dynamics of the structure or system.

**3.5 Safety and real-time control**

from moving unsafely.

**3.5.1 Failure modes of a standard system**

the design.

system.

*Case 1: Sensor failure*

linear.

There are advantages to working in endpoint coordinates (Simpkins & Todorov, 2011), one of the most notable being the flexibility in actual structures the control is solving the problem for. In addition, the more challenging parts of the problem are solved for dynamics which are

Real-Time Control in Robotic Systems 225

We here implement a bounded Newton's method (Ferziger, 1998) to compute the optimal feasible torques to apply which map as closely as possible to the desired forces at the endpoints. Each state is initialized with the current state rather than randomly in order to be near the goal initially, and this is quite effective and efficient in practice. When implemented on a physical system, accuracy is further improved by implementing a low level PD controller to track these joint torques more closely, and deal with issues of friction and un-modeled

Human and robot interaction can pose a number of dangers. This is especially true when the humans are interacting with dynamic or powerful robots. Not only do the robots present danger to humans directly, but the unpredictable nature of human behavior is such that they can introduce disturbances into the system which are difficult to account for ahead of time. There are a number of ways to mitigate hazards. One approach is to make the entire robotic system passive - based on inertia, back-drivability, and brakes. Then the human applies all the energy to the system. Though this is powerful, the human-robot system can still create accelerations which can cause injury to themselves or others, and the system is no longer autonomous. The human *must* be in the loop for the system to act. Making the entire robot small and weak, or to mechanically decouple the motors from the human is another approach. This may be effective in some cases, but has limitations as then the robot cannot perform many tasks. In the mechanical coupling case it may be difficult to keep disconnected components

In all cases it is beneficial to have a secondary monitoring system which is connected with all the necessary sensors and can control either braking or power to actuators. This 'watchdog' system performs checks on the control system to make sure it does not exceed safety specifications, that all components operate properly, and that the high level control has not crashed. If anything does fail checks, the watchdog can disable the power and stop the system safely. A small processor is all that is required to perform these duties, requiring minimal space and power. The overall architecture for this watchdog approach will be discussed, along with demonstrations of a robot with such a system integrated into

Consider a standard engineered control system, as shown in Figure 9(a). The system consists of a mechanical system, sensors, actuators, power input/supply, and some sort of computer

Assume this is a feedback system, such as a robotic arm used for high energy haptics. The robot is aware of its current position by a series of position sensors coupled to key joints. This allows the robot to follow a reference trajectory, as in the image sequence in Figure 12. Now consider what happens if one sensor suddenly discontinues to function (Figure 9(b)), or begins

Fig. 8. Virtual force field rendering. Here one sees the forces acting on the manipulator endpoint. Note how the object (white) affects the field as it enters the workspace - the further the object is from the center of the workspace, the narrower the contact region becomes. This is a fast way of generating trajectories for the endpoint, and is very flexible for a variety of behaviors or adapting behaviors, as it is simply a matter of altering parameters of an equation.

apply a force which pulls the finger away from the object near the boundary of the workspace), and find a new contact which is closer to the middle of the workspace, in order to maximize potential for varied actions. This force should fall off near the line between the center of the workspace and the center of the object.

$$F\_{\mathcal{C}} = K\_{\mathcal{C}} \frac{(\mathbf{x} - \mathbf{x}\_{\mathcal{C}})}{1 + ||\mathbf{x} - \mathbf{x}\_{w}||^{2}} \tag{25}$$

Equation 25 pulls the manipulator toward the object, but falls off the further the object is from the center of the workspace - in other words if the object is too far away, the term which pulls the manipulator towards the center of the workspace (Equation 26, the spring element, dominates (here *xw* represents the center of the workspace, *xc* represents the center of the object, *x* the endpoint of the manipulator, *Ke* and *Ks* gains, and *a* is a constant determining the fall-off of equation 26 as a function of distance from the object, surface normal *n*,

$$\mathbf{K}\_s = \mathbf{K}\_s \mathfrak{n} || \mathbf{x} - \mathbf{x}\_w || e^{-a(\mathbf{x} - \mathbf{x}\_\ell)^2} \tag{26}$$

and finally *Ft* the total virtual force field equation.

$$F\_l = F\_\ell + F\_s \tag{27}$$

Outside of the workspace, biological system tendons and joint assemblies act as springs, pulling toward the center of the workspace, as in Equation 28.

$$F\_l = \mathcal{K}\_k(\mathbf{x} - \mathbf{x}\_w) \tag{28}$$

These equations can be visualized as in Figure 8. Here it is clear that as the object enters the workspace, the virtual force field acting on the manipulator endpoint correspondingly alters. In the case just described we use (for clarity) circular objects and workspaces, but different shapes can be used by replacing the simple subtraction by a function of any shape.

## **3.4.4 Low-level**

16 TBD

Fig. 8. Virtual force field rendering. Here one sees the forces acting on the manipulator endpoint. Note how the object (white) affects the field as it enters the workspace - the further the object is from the center of the workspace, the narrower the contact region becomes. This is a fast way of generating trajectories for the endpoint, and is very flexible for a variety of behaviors or adapting behaviors, as it is simply a matter of altering parameters of an

apply a force which pulls the finger away from the object near the boundary of the workspace), and find a new contact which is closer to the middle of the workspace, in order to maximize potential for varied actions. This force should fall off near the line between the center of the

Equation 25 pulls the manipulator toward the object, but falls off the further the object is from the center of the workspace - in other words if the object is too far away, the term which pulls the manipulator towards the center of the workspace (Equation 26, the spring element, dominates (here *xw* represents the center of the workspace, *xc* represents the center of the object, *x* the endpoint of the manipulator, *Ke* and *Ks* gains, and *a* is a constant determining the

Outside of the workspace, biological system tendons and joint assemblies act as springs,

These equations can be visualized as in Figure 8. Here it is clear that as the object enters the workspace, the virtual force field acting on the manipulator endpoint correspondingly alters. In the case just described we use (for clarity) circular objects and workspaces, but different

shapes can be used by replacing the simple subtraction by a function of any shape.

(*x* − *xc*)

<sup>−</sup>*a*(*x*−*xc* )<sup>2</sup>

<sup>1</sup> <sup>+</sup> ||*<sup>x</sup>* <sup>−</sup> *xw*||<sup>2</sup> (25)

*Ft* = *Fe* + *Fs* (27)

*Ft* = *Kk*(*x* − *xw*) (28)

(26)

*Fe* = *Ke*

fall-off of equation 26 as a function of distance from the object, surface normal *n*,

*Fs* = *Ksn*||*x* − *xw*||*e*

equation.

workspace and the center of the object.

and finally *Ft* the total virtual force field equation.

pulling toward the center of the workspace, as in Equation 28.

There are advantages to working in endpoint coordinates (Simpkins & Todorov, 2011), one of the most notable being the flexibility in actual structures the control is solving the problem for. In addition, the more challenging parts of the problem are solved for dynamics which are linear.

We here implement a bounded Newton's method (Ferziger, 1998) to compute the optimal feasible torques to apply which map as closely as possible to the desired forces at the endpoints. Each state is initialized with the current state rather than randomly in order to be near the goal initially, and this is quite effective and efficient in practice. When implemented on a physical system, accuracy is further improved by implementing a low level PD controller to track these joint torques more closely, and deal with issues of friction and un-modeled dynamics of the structure or system.

## **3.5 Safety and real-time control**

Human and robot interaction can pose a number of dangers. This is especially true when the humans are interacting with dynamic or powerful robots. Not only do the robots present danger to humans directly, but the unpredictable nature of human behavior is such that they can introduce disturbances into the system which are difficult to account for ahead of time. There are a number of ways to mitigate hazards. One approach is to make the entire robotic system passive - based on inertia, back-drivability, and brakes. Then the human applies all the energy to the system. Though this is powerful, the human-robot system can still create accelerations which can cause injury to themselves or others, and the system is no longer autonomous. The human *must* be in the loop for the system to act. Making the entire robot small and weak, or to mechanically decouple the motors from the human is another approach. This may be effective in some cases, but has limitations as then the robot cannot perform many tasks. In the mechanical coupling case it may be difficult to keep disconnected components from moving unsafely.

In all cases it is beneficial to have a secondary monitoring system which is connected with all the necessary sensors and can control either braking or power to actuators. This 'watchdog' system performs checks on the control system to make sure it does not exceed safety specifications, that all components operate properly, and that the high level control has not crashed. If anything does fail checks, the watchdog can disable the power and stop the system safely. A small processor is all that is required to perform these duties, requiring minimal space and power. The overall architecture for this watchdog approach will be discussed, along with demonstrations of a robot with such a system integrated into the design.

### **3.5.1 Failure modes of a standard system**

Consider a standard engineered control system, as shown in Figure 9(a). The system consists of a mechanical system, sensors, actuators, power input/supply, and some sort of computer system.

### *Case 1: Sensor failure*

Assume this is a feedback system, such as a robotic arm used for high energy haptics. The robot is aware of its current position by a series of position sensors coupled to key joints. This allows the robot to follow a reference trajectory, as in the image sequence in Figure 12. Now consider what happens if one sensor suddenly discontinues to function (Figure 9(b)), or begins

Fig. 10. One possible safety configuration for a watchdog system. In this system there is a simple microprocessor overseeing all safety-critical functions of the main device - sensors, actuators, and boundaries. If anything is incorrect, it can disable the motors and enable a

Real-Time Control in Robotic Systems 227

pressure loss may be more rapid than for a fluid-based system. Many pneumatic, electrical, and hydraulic systems include integrated sensors which may fail, as previously discussed in

A mechanical failure is defined by the author as a failure in one or more mechanical aspects of the system. This can be a component breaking or yielding (deforming such that it does not return to its original shape), a mechanical jam, or a physical disconnection which is

A computer failure may occur through a software crash, electrical short or disconnection, a software bug or error, memory corruption, or computational insufficiency, as in Figure 9(e).

Ultimately, many failures can be detected and 'handled' in such a way that potentially devastating effects are mitigated. It may be convenient to include as a safety device a redundant low level microprocessor-based 'watchdog' which is independent of the standard system, as in Figure 10. It is connected to all the sensor information and actuators, and has a programmed set of boundaries to maintain. Its job is to oversee all the components of the system and ensure they are functioning. The watchdog and main computer system ping each other frequently in a simple way such as with a pulse train. If there is a failure in either system component (main or watchdog) the system, depending on its function, may be shut down. The watchdog may be connected to the actuators such that it may disable the power output and engage some braking action if desired. It is also generally a high bandwidth system (since it is not performing many computations). If the system is mission-critical, such as in a military application or in a flight control or other situation where it may be dangerous for the system to be suddenly disabled entirely, it may be more effective to determine the safest course of action which still achieves the objective. In the case of a walking robot, where a Case 1-4 failure has occurred in the leg, it may still be possible to walk. Consider humans with an injured joint - they can often offload much of the dynamic load to anther leg or joint. It is simply a matter of an adaptive control algorithm which recomputes a solution for a different system configuration. Consider sending a robot into a situation where it will be gradually melting - a radioactive disaster or extreme conditions. The robot needs to be capable of adapting to loss of actuators, sensors, and some computational capabilities. An algorithm such as discussed

Any of these can lead to the control system not acting as designed.

brake directly.

*Case 3: Mechanical failure*

undesirable, as in Figure 9(d). *Case 4: Computer or electronic failure*

*Achieving the goal regardless*

Case 1.

Fig. 9. (a) A typical engineered control system. It consists of a mechanical structure, sensors, actuators, power input/supply, and some computer system. (b)-(e) Some examples of failures of the typical system, and how they can be classified into one of the four cases (power supply omitted for clarity). (b) Case 1 : sensor failure - a sensor stops functioning properly. (c) Case 2 : actuator failure - in this case an actuator breaks, but it could be that it has an internal electrical failure. (d) Case 3 : mechanical failure - here we see that a main mechanical component has dislocated completely. (e) Case 4 : Computer failure - here it seems that the computer has been destroyed, but this type of failure also can be a software crash.

to function abnormally (a wire breaks, it wears out, shock destroys it, a bad ground, etc). The robot control algorithm assumes it is still being fed sensor information, and acts accordingly. This will likely cause a disastrous acceleration until a boundary is struck with maximum force, and the user may be injured.

In the case of a haptic system, it is better to have a motor turn off rather than accelerate uncontrollably, however how does one integrate available information to react properly? There actually is information available to tell us that there is a hardware failure, even if the sensor failure itself is literally undetectable.

### *Case 2: Actuator failure*

There are a number of ways an actuator can fail (Figure 9(c)). An electrical actuator may fail such that it becomes passive, unresponsive, sluggish, or lacking in power output. It may also lock or jam due to some component failure. The internal circuit of the actuator may fail such that it shorts (which tends to make the actuator act as a viscous brake) or has an open circuit, which leads to a non-responsive, passive actuator. A hydraulic actuator may lock, or it may leak fluid which leads to pressure loss and either stiffness or loss of power, depending on where the leak occurs. It may also suffer a compressor failure (which may lead to a total failure of the actuator) or component wear (which may lead to inefficiency or lack of functionality as well). Pneumatic actuators may experience a lock-up, but due to gas compressibility this is less common. Often the failure of pneumatics lead to rapid functionality loss as the gas 18 TBD

(d) (e)

Fig. 9. (a) A typical engineered control system. It consists of a mechanical structure, sensors, actuators, power input/supply, and some computer system. (b)-(e) Some examples of failures of the typical system, and how they can be classified into one of the four cases (power supply omitted for clarity). (b) Case 1 : sensor failure - a sensor stops functioning properly. (c) Case 2 : actuator failure - in this case an actuator breaks, but it could be that it has an internal electrical failure. (d) Case 3 : mechanical failure - here we see that a main mechanical component has dislocated completely. (e) Case 4 : Computer failure - here it seems that the

to function abnormally (a wire breaks, it wears out, shock destroys it, a bad ground, etc). The robot control algorithm assumes it is still being fed sensor information, and acts accordingly. This will likely cause a disastrous acceleration until a boundary is struck with maximum force,

In the case of a haptic system, it is better to have a motor turn off rather than accelerate uncontrollably, however how does one integrate available information to react properly? There actually is information available to tell us that there is a hardware failure, even if the

There are a number of ways an actuator can fail (Figure 9(c)). An electrical actuator may fail such that it becomes passive, unresponsive, sluggish, or lacking in power output. It may also lock or jam due to some component failure. The internal circuit of the actuator may fail such that it shorts (which tends to make the actuator act as a viscous brake) or has an open circuit, which leads to a non-responsive, passive actuator. A hydraulic actuator may lock, or it may leak fluid which leads to pressure loss and either stiffness or loss of power, depending on where the leak occurs. It may also suffer a compressor failure (which may lead to a total failure of the actuator) or component wear (which may lead to inefficiency or lack of functionality as well). Pneumatic actuators may experience a lock-up, but due to gas compressibility this is less common. Often the failure of pneumatics lead to rapid functionality loss as the gas

computer has been destroyed, but this type of failure also can be a software crash.

and the user may be injured.

*Case 2: Actuator failure*

sensor failure itself is literally undetectable.

(a) (b) (c)

Fig. 10. One possible safety configuration for a watchdog system. In this system there is a simple microprocessor overseeing all safety-critical functions of the main device - sensors, actuators, and boundaries. If anything is incorrect, it can disable the motors and enable a brake directly.

pressure loss may be more rapid than for a fluid-based system. Many pneumatic, electrical, and hydraulic systems include integrated sensors which may fail, as previously discussed in Case 1.

### *Case 3: Mechanical failure*

A mechanical failure is defined by the author as a failure in one or more mechanical aspects of the system. This can be a component breaking or yielding (deforming such that it does not return to its original shape), a mechanical jam, or a physical disconnection which is undesirable, as in Figure 9(d).

### *Case 4: Computer or electronic failure*

A computer failure may occur through a software crash, electrical short or disconnection, a software bug or error, memory corruption, or computational insufficiency, as in Figure 9(e). Any of these can lead to the control system not acting as designed.

### *Achieving the goal regardless*

Ultimately, many failures can be detected and 'handled' in such a way that potentially devastating effects are mitigated. It may be convenient to include as a safety device a redundant low level microprocessor-based 'watchdog' which is independent of the standard system, as in Figure 10. It is connected to all the sensor information and actuators, and has a programmed set of boundaries to maintain. Its job is to oversee all the components of the system and ensure they are functioning. The watchdog and main computer system ping each other frequently in a simple way such as with a pulse train. If there is a failure in either system component (main or watchdog) the system, depending on its function, may be shut down. The watchdog may be connected to the actuators such that it may disable the power output and engage some braking action if desired. It is also generally a high bandwidth system (since it is not performing many computations). If the system is mission-critical, such as in a military application or in a flight control or other situation where it may be dangerous for the system to be suddenly disabled entirely, it may be more effective to determine the safest course of action which still achieves the objective. In the case of a walking robot, where a Case 1-4 failure has occurred in the leg, it may still be possible to walk. Consider humans with an injured joint - they can often offload much of the dynamic load to anther leg or joint. It is simply a matter of an adaptive control algorithm which recomputes a solution for a different system configuration. Consider sending a robot into a situation where it will be gradually melting - a radioactive disaster or extreme conditions. The robot needs to be capable of adapting to loss of actuators, sensors, and some computational capabilities. An algorithm such as discussed

Fig. 12. Animation sequence of three manipulators tracking a rotating stationary trajectory (Frames advance starting from top-left in sequence to the right in the same fashion as normal english text). Note the multiple contact breaks in order to allow the object to be continuously

Real-Time Control in Robotic Systems 229

depend upon others, Figure 11 suggests a sequence which is typically effective. Each component is interdependent with each other component, however an effective starting point is to define the problem, or class of problems first. This gives a sense of the requirements for timing. Then the designer can compute required bandwidth and dimensionality of the system (as well as constraining the design by the available computational power), or generate something like the sensorimotor system of a human, with a high mechanical dimensionality, but limitations on overall bandwidth and dimensionality of control, leading to optimal actions for a particular task. At each stage of the process, safety engineers or the primary designer can design checks such as a secondary safety system and impose safety-based constraints. Real-time control itself, in order to be most effective, should not be decoupled from the design of the actual system. Otherwise the system may be unnecessarily limited due to designed-in bottlenecks. However, being aware of the concepts presented in this chapter, a control engineer can effectively maximize the capabilities of a system which already exists

We begin with a description of the problem, originally described in (Simpkins et al., 2011), and discussed previously in Section 3.4.1. In order to study biological systems, and how they interact with their environment through manipulation and locomotion, it is useful to have a robotic device which mimics certain key aspects of biology (those systems capable of manipulation and dextrous locomotion), such as output-to-actuator backdrivability1, low endpoint inertia, high dynamic capabilities, and sensitivity. After carefully determining the requirements for manipulation and locomotion, the author and collaborators drew upon biological systems in terms of timing and dynamic capability to define requirements. In addition, there was a desire to create a modular system which could ultimately be assembled quickly into a variety of configurations. There are a variety of requirements determined,

<sup>1</sup> Application of force at the output can about a change of state at the input of a back-drivable system.

rotated.

and must merely be controlled.

**5. Results and application**

Fig. 11. Suggested flowchart for real-time system design. Note that safety is to be part of each stage of the design process. In addition, bandwidth, dimensionality, and timing are somewhat interdependent, which is the reason that feedback is incorporated in this chart. The first thing to start with as a question is 'what are the dynamics of interest?' This leads to the computations outlined in Section 3.1. Second, one must determine just how many degrees of freedom the system needs to perform all its tasks (Section 3.3), and how complex the control algorithms need to be (and can be, depending upon hardware available). This determines dimensionality, which affects the timing. Bandwidth limitations impose constraints on both dimensionality and timing (slower timing allows for higher dimensionality, and vice versa for faster timing).

in Section 3.4.1 can easily handle these sorts of challenges. Identification of the failure is a challenge. This can be achieved through the integration of the watchdog. A watchdog can be used to compare the measurements with expected outputs - for example a sensor with a zero voltage output which measures velocity of a motor normally, while a motor is being commanded to a high velocity, and is currently not drawing very much current (meaning it probably is not stalled), and has significant back-emf being generated can be a flag for a sensor or actuator failure. All the components of a system work together in unison, and the dynamics of a system express themselves through all the sensors and actuators. Expected values can be integrated into the watchdog in the form of a classifier which can output error states very quickly and efficiently, if well-trained and carefully coded. The watchdog and computer compare error signals, and can eliminate (from the control algorithm), freeze, or otherwise remove from or adjust the dynamics as much as possible to minimize failure impact. Then the control algorithm is simply updated with a new number of actuators or in the case of something similar to locking an injured joint, a new number of degrees of freedom, and it continues to solve the problem in the optimal fashion given the new system. Since everything is solved online this is possible.

## **4. Putting it all together**

Methods have been presented which, when combined, effectively deal with the real-time control problem for complex robotic systems. Since some of the components of the design 20 TBD

Fig. 11. Suggested flowchart for real-time system design. Note that safety is to be part of each

in Section 3.4.1 can easily handle these sorts of challenges. Identification of the failure is a challenge. This can be achieved through the integration of the watchdog. A watchdog can be used to compare the measurements with expected outputs - for example a sensor with a zero voltage output which measures velocity of a motor normally, while a motor is being commanded to a high velocity, and is currently not drawing very much current (meaning it probably is not stalled), and has significant back-emf being generated can be a flag for a sensor or actuator failure. All the components of a system work together in unison, and the dynamics of a system express themselves through all the sensors and actuators. Expected values can be integrated into the watchdog in the form of a classifier which can output error states very quickly and efficiently, if well-trained and carefully coded. The watchdog and computer compare error signals, and can eliminate (from the control algorithm), freeze, or otherwise remove from or adjust the dynamics as much as possible to minimize failure impact. Then the control algorithm is simply updated with a new number of actuators or in the case of something similar to locking an injured joint, a new number of degrees of freedom, and it continues to solve the problem in the optimal fashion given the new system. Since everything

Methods have been presented which, when combined, effectively deal with the real-time control problem for complex robotic systems. Since some of the components of the design

stage of the design process. In addition, bandwidth, dimensionality, and timing are somewhat interdependent, which is the reason that feedback is incorporated in this chart. The first thing to start with as a question is 'what are the dynamics of interest?' This leads to the computations outlined in Section 3.1. Second, one must determine just how many degrees of freedom the system needs to perform all its tasks (Section 3.3), and how complex the control algorithms need to be (and can be, depending upon hardware available). This determines dimensionality, which affects the timing. Bandwidth limitations impose constraints on both dimensionality and timing (slower timing allows for higher

dimensionality, and vice versa for faster timing).

is solved online this is possible.

**4. Putting it all together**

Fig. 12. Animation sequence of three manipulators tracking a rotating stationary trajectory (Frames advance starting from top-left in sequence to the right in the same fashion as normal english text). Note the multiple contact breaks in order to allow the object to be continuously rotated.

depend upon others, Figure 11 suggests a sequence which is typically effective. Each component is interdependent with each other component, however an effective starting point is to define the problem, or class of problems first. This gives a sense of the requirements for timing. Then the designer can compute required bandwidth and dimensionality of the system (as well as constraining the design by the available computational power), or generate something like the sensorimotor system of a human, with a high mechanical dimensionality, but limitations on overall bandwidth and dimensionality of control, leading to optimal actions for a particular task. At each stage of the process, safety engineers or the primary designer can design checks such as a secondary safety system and impose safety-based constraints. Real-time control itself, in order to be most effective, should not be decoupled from the design of the actual system. Otherwise the system may be unnecessarily limited due to designed-in bottlenecks. However, being aware of the concepts presented in this chapter, a control engineer can effectively maximize the capabilities of a system which already exists and must merely be controlled.

## **5. Results and application**

We begin with a description of the problem, originally described in (Simpkins et al., 2011), and discussed previously in Section 3.4.1. In order to study biological systems, and how they interact with their environment through manipulation and locomotion, it is useful to have a robotic device which mimics certain key aspects of biology (those systems capable of manipulation and dextrous locomotion), such as output-to-actuator backdrivability1, low endpoint inertia, high dynamic capabilities, and sensitivity. After carefully determining the requirements for manipulation and locomotion, the author and collaborators drew upon biological systems in terms of timing and dynamic capability to define requirements. In addition, there was a desire to create a modular system which could ultimately be assembled quickly into a variety of configurations. There are a variety of requirements determined,

<sup>1</sup> Application of force at the output can about a change of state at the input of a back-drivable system.

Fig. 14. Image sequence of a bio-mimetic robotic finger designed by the author undergoing real-time control as described in this chapter. The finger is tracking a cyclical shape in 3-Dimensional space at approximately a 10Hz frequency. The robot is controlled wirelessly, through bluetooth, and is communicating 9x12bit values for position, velocity, and coil current at 1kHz, and assuming it is receiving the same amount of data as it is sending (as a worst-case), required bandwidth is 9x12x1000x2 = 216,000 bits per second, or 216kbps. The bandwidth of the connection is 2e6bps, or 2Mbps, which is nearly 10 times greater. In this case the algorithm controlling the finger is not computing any contacts, and so executes in an

Real-Time Control in Robotic Systems 231

This simulation runs entirely in real-time, with no offline components. With code executing in Matlab R2008b for Macintosh upon an Intel Core 2 Duo processor at 2.33GHz with 2GB of RAM, each loop takes on average 30msec, as measured from within Matlab (See Matlab help on tic-toc), which is fast enough for real-time manipulation. Human beings have an update rate perceptually of approximately 30Hz, and dynamically of only a few Hz (Nigg & Herzog, 1994). Additionally, it would be straightforward to optimize this code to execute far faster by

The fully implemented control algorithm including hardware executes in approximately the same time, as the hardware is provided the command computed by the simulation, and the actual object states are fed back into the system to adjust for the difference between simulation and reality. Essentially including the hardware in the loop in parallel with the model adds a model reference control element to the hierarchical optimal control strategy. The majority of the processor time is spent on the contact dynamics computations, and could be further improved to minimize some calculations without changing the algorithm significantly. Therefore when some manipulators are not in contact (as in Figure 14), computation time is reduced dramatically. The 30Hz or even a 200Hz sample rate are well within the 1kHz bandwidth of the robot manipulator and wireless communication system. It is notable that, in Figure 13(b), the variability in timing is less than one sample, and so the state space representations described in Section 3.1 hold. In the case that the manipulator is tracking a trajectory, as in Figure 13(a), we see that this hierarchical strategy is capable of smooth rapid control of the manipulator. If the current Matlab implementation were to be used, and the system were required to perform manipulation at a faster rate than 30Hz, the concepts in Section 3.3 could be more explicitly included in the control strategy of Section 3.4.1 by adding a cost on the number of simultaneous manipulator control inputs. A lower dimensionality means the algorithm will execute faster and be capable of a higher bandwidth, while still

average of less than 1msec at the PC side.

implementing it in C, for example.

being able to increase dimensionality on demand.

Fig. 13. (a) The robot, controlled hierarchically from a PC running matlab and communicating over bluetooth, with a local low level PID controller, is capable of tracking a cyclical motion very rapidly. The timing of the loop for this plot is approximately 1msec, with some variability in timing. (b) In this plot, the loop (which here includes contact dynamics and a more complex simulation) was deliberately executed in a non-optimal fashion in order to vary the timing of the sampling and updates, for demonstration purposes. When such variability is handled properly, as described in this chapter, the system can be built to remain stable.

and a summary is a 1kHz maximum bandwidth for the control of five fingers through one bluetooth or USB connection, ability to apply approximately 1N of endpoint force, minimal friction and endpoint inertia, resolution above one-tenth of a degree, and measures of force in addition to position. These requirements pose a challenge as communicating position, force, and current for each joint of each finger for five fingers at 1kHz becomes 9000 variables per second, and at 12-bits of resolution, for five fingers, this becomes 540kbps. If the robot is receiving, for example, no more than three variables for command of either position, velocity, or force output, then the most data must be sent from the low to the higher levels, as the serial interface used can simultaneously send and receive data.

There have been a few biologically-based robots recently developed, however they all suffer from some limitation imposed by a lack of an integrative real-time approach such as discussed in this chapter. It is not unusual for a well-designed hand mechanism to have a maximum bandwidth of one-tenth of a Hz to move from open-to-closed. Consider attempting most daily tasks where every motion could be performed in no shorter time than ten seconds. Dynamic manipulation would indeed be impossible! We omit the discussion of the design itself here, shown in Figure 6(a), instead focusing on how to maximize the real-time capabilities.

Figure 12 demonstrates a simulation based upon the real-time concepts discussed in previous sections. This is an implementation of a real-time hierarchical optimal control of a number of manipulators tracking a reference trajectory, and can be applied to the physical robots. In this case the high level is a simple proportional-derivative controller tracking a 'rotate continuously' command. It is clear that the algorithm is capable of multiple contact breaks required in order to allow continuous rotation.2

<sup>2</sup> Further results and animations can be found at the author's home page, http://casimpkinsjr.radiantdolphinpress.com/pages/papersv2.html. In addition, this is the location for all the author's publications, with most available for download.

22 TBD

Time (msec)

communicating over bluetooth, with a local low level PID controller, is capable of tracking a cyclical motion very rapidly. The timing of the loop for this plot is approximately 1msec, with some variability in timing. (b) In this plot, the loop (which here includes contact dynamics and a more complex simulation) was deliberately executed in a non-optimal fashion in order to vary the timing of the sampling and updates, for demonstration purposes. When such variability is handled properly, as described in this chapter, the system can be

and a summary is a 1kHz maximum bandwidth for the control of five fingers through one bluetooth or USB connection, ability to apply approximately 1N of endpoint force, minimal friction and endpoint inertia, resolution above one-tenth of a degree, and measures of force in addition to position. These requirements pose a challenge as communicating position, force, and current for each joint of each finger for five fingers at 1kHz becomes 9000 variables per second, and at 12-bits of resolution, for five fingers, this becomes 540kbps. If the robot is receiving, for example, no more than three variables for command of either position, velocity, or force output, then the most data must be sent from the low to the higher levels, as the serial

There have been a few biologically-based robots recently developed, however they all suffer from some limitation imposed by a lack of an integrative real-time approach such as discussed in this chapter. It is not unusual for a well-designed hand mechanism to have a maximum bandwidth of one-tenth of a Hz to move from open-to-closed. Consider attempting most daily tasks where every motion could be performed in no shorter time than ten seconds. Dynamic manipulation would indeed be impossible! We omit the discussion of the design itself here,

Figure 12 demonstrates a simulation based upon the real-time concepts discussed in previous sections. This is an implementation of a real-time hierarchical optimal control of a number of manipulators tracking a reference trajectory, and can be applied to the physical robots. In this case the high level is a simple proportional-derivative controller tracking a 'rotate continuously' command. It is clear that the algorithm is capable of multiple contact breaks

<sup>2</sup> Further results and animations can be found at the author's home page, http://casimpkinsjr.radiantdolphinpress.com/pages/papersv2.html. In addition, this is the location

shown in Figure 6(a), instead focusing on how to maximize the real-time capabilities.

0.025 0.03 0.035 0.04 0.045 0.05 0.055

200 300 400 500 600

Sample

(b)

0 1

(a)

interface used can simultaneously send and receive data.

required in order to allow continuous rotation.2

for all the author's publications, with most available for download.

ϕ2

**Reference Actual**

Fig. 13. (a) The robot, controlled hierarchically from a PC running matlab and

0

built to remain stable.

1

ϕ1

Fig. 14. Image sequence of a bio-mimetic robotic finger designed by the author undergoing real-time control as described in this chapter. The finger is tracking a cyclical shape in 3-Dimensional space at approximately a 10Hz frequency. The robot is controlled wirelessly, through bluetooth, and is communicating 9x12bit values for position, velocity, and coil current at 1kHz, and assuming it is receiving the same amount of data as it is sending (as a worst-case), required bandwidth is 9x12x1000x2 = 216,000 bits per second, or 216kbps. The bandwidth of the connection is 2e6bps, or 2Mbps, which is nearly 10 times greater. In this case the algorithm controlling the finger is not computing any contacts, and so executes in an average of less than 1msec at the PC side.

This simulation runs entirely in real-time, with no offline components. With code executing in Matlab R2008b for Macintosh upon an Intel Core 2 Duo processor at 2.33GHz with 2GB of RAM, each loop takes on average 30msec, as measured from within Matlab (See Matlab help on tic-toc), which is fast enough for real-time manipulation. Human beings have an update rate perceptually of approximately 30Hz, and dynamically of only a few Hz (Nigg & Herzog, 1994). Additionally, it would be straightforward to optimize this code to execute far faster by implementing it in C, for example.

The fully implemented control algorithm including hardware executes in approximately the same time, as the hardware is provided the command computed by the simulation, and the actual object states are fed back into the system to adjust for the difference between simulation and reality. Essentially including the hardware in the loop in parallel with the model adds a model reference control element to the hierarchical optimal control strategy. The majority of the processor time is spent on the contact dynamics computations, and could be further improved to minimize some calculations without changing the algorithm significantly. Therefore when some manipulators are not in contact (as in Figure 14), computation time is reduced dramatically. The 30Hz or even a 200Hz sample rate are well within the 1kHz bandwidth of the robot manipulator and wireless communication system. It is notable that, in Figure 13(b), the variability in timing is less than one sample, and so the state space representations described in Section 3.1 hold. In the case that the manipulator is tracking a trajectory, as in Figure 13(a), we see that this hierarchical strategy is capable of smooth rapid control of the manipulator. If the current Matlab implementation were to be used, and the system were required to perform manipulation at a faster rate than 30Hz, the concepts in Section 3.3 could be more explicitly included in the control strategy of Section 3.4.1 by adding a cost on the number of simultaneous manipulator control inputs. A lower dimensionality means the algorithm will execute faster and be capable of a higher bandwidth, while still being able to increase dimensionality on demand.

Krstic, M., Kanellakopoulos, I. & Kokotovic, P. (1995). *Nonlinear and Adaptive Control Design*,

Real-Time Control in Robotic Systems 233

Li, W. & Todorov, E. (2004). Iterative linear quadratic regulator design for nonlinear bio-logical

Movellan, J., Tanaka, F., Fortenberry, B. & Aisaka, K. (2005). The rubi/qrio project: Origins,

Nilsson, J. (1998). *Real-time control systems with delays*, PhD thesis, Dept. of automatic control,

Puschner, P. & Nossal, R. (1998). Testing the results of static worst-case execution-time

Santello, M., Flanders, M. & Soechting, J. (1998). Postural hand synergies for tool use, *Journal*

Simpkins, A. (2009). *Exploratory studies of sensorimotor control and learning with system*

Simpkins, A., Kelley, M. & Todorov, E. (2011). Modular bio-mimetic robots that can interact

Simpkins, A. & Todorov, E. (2011). Complex object manipulation with hierarchical optimal

Todorov, E. & Ghahramani, Z. (2003). Unsupervised learning of sensory-motor primitives,

Todorov, E. & Ghahramani, Z. (2004). Analysis of synergies underlying complex hand

Todorov, E., Hu, C., Simpkins, A. & Movellan, J. (2010). Identification and control of a

Todorov, E. & Jordan, M. (2002). Optimal feedback control as a theory of motor coordination,

Todorov, E. & Jordan, M. (2003). A minimal intervention principle for coordinated movement,

Vandeweghe, J. M., M.Rogers, M.Weissert & Matsuoka, Y. (2004). The act hand: Design of the

Wilhelm, R., Engblom, J., Ermedahl, A., Holsti, N., Thesing, S., Whalley, D., Bernat, G.,

*Advances in Neural Information Processing Systems* **15**: 27–34.

Stengel, R. (1986). *Stochastic Optimal Control: Theory and Application*, John Wiley and Sons. Todorov, E. (2004). Optimality principles in sensorimotor control, *Nature Neuroscience*

Mardia, K., Kent, J. & Bibby, J. (1992). *Multivariate Analysis*, Academic Press.

Nigg, B. & Herzog, W. (1994). *Biomechanics*, John Wiley and Sons, New York.

movement systems, *Proc. of the 1st International Conference on Informatics in Control,*

principles, and first steps, *IEEE International Conference on Development and Learning*

analysis, *Proceedings of the 19th IEEE Real-Time Systems Symposium (RTSS98) Madrid*.

*identification and stochastic optimal control*, PhD thesis, University of California, San

with the world the way we do, *Proceedings of the IEEE International Conference on*

control, *IEEE Symposium of Adaptive Dynamic Programming and Reinforcement Learning,*

IEEE, *In Proceedings of the 25th Annual International Conference of the IEEE Engineering*

manipulation, IEEE, *Proceedings of the 26th Annual International Conference of the IEEE*

pneumatic robot, *Proc. of the fourth IEEE RAS / EMBS International Conference on*

skeletal structure, *Proc. of the IEEE International Conference on Robotics and Automation*.

Ferdinand, C., Heckmann, R., Mitra, T., Mueller, F., Puaut, I., Puschner, P., Staschulat,

John Wiley and Sons.

**1**: 80 – 86.

*Automation and Robotics* **1**: 222–229.

Lund institute of technology, Sweden.

*of Neuroscience* (18): 10105–15.

Diego, La Jolla, CA.

**7**: 907–915.

*Robotics and Automation* .

*IEEE Computer Society, Paris, France*.

*in Medicine and Biology Society*.

*EMBS, San Francisco, CA, USA*.

*Biomedical Robotics and Biomechatronics* .

*Nature Neuroscience* **5**(11): 1226–1235.

### **6. Conclusion**

Modern robotic systems are becoming more and more complex, and requiring far more sophisticated controllers to be designed and implemented than ever before in order to deal with the demand for them to perform more complex tasks. These changes have raised a new challenge for engineers and roboticists. This chapter has presented a first step toward a unifying theory which combines and expands upon modern real-time design control techniques. It broke the problem down into sub-problems which each have a significant body of literature, while describing the fact that these seemingly separate fields are in fact intertwined, are part of a whole, and complement each other. By being at least aware of this method of organizing the problem, and the potential pitfalls associated with the sub-problems, it is possible to improve the end result of a design by making revisions and requirements which are more appropriate far earlier in the process than otherwise possible.

A number of results were presented for the control strategy discussed, as well as an implementation on a real dynamic bio-mimetic robot. Currently, many of the Matlab functions associated with this robot are being implemented in C and made available as MEX files which Matlab can still make use of. This should improve the execution time significantly of the simulation, as well as all other aspects of the computations. These techniques will be part of the development of new skills for these dynamic manipulators. The two dimensional representation has been extended to three dimensions, and will be part of a series of papers to be released soon by the author.

These new challenges require a different overall strategy for problem solving than ever before in engineered systems, but have the potential to truly revolutionize all aspects of human experience. By developing and refining methodologies, we will transition from individual designs which take years of iterative slow improvements with many dead ends to clear paths with fewer roadblocks, and new tools to illuminate the way.

### **7. References**

Anderson, T. W. (2003). *An Introduction to Multivariate Statistical Analysis*, John Wiley and Sons. Åström, K. & Wittenmark, B. (1990). *Computer controlled systems - theory and design*, 2nd edn, Prentice Hall, Englewood cliffs, NJ.


24 TBD

Modern robotic systems are becoming more and more complex, and requiring far more sophisticated controllers to be designed and implemented than ever before in order to deal with the demand for them to perform more complex tasks. These changes have raised a new challenge for engineers and roboticists. This chapter has presented a first step toward a unifying theory which combines and expands upon modern real-time design control techniques. It broke the problem down into sub-problems which each have a significant body of literature, while describing the fact that these seemingly separate fields are in fact intertwined, are part of a whole, and complement each other. By being at least aware of this method of organizing the problem, and the potential pitfalls associated with the sub-problems, it is possible to improve the end result of a design by making revisions and requirements which are more appropriate far earlier in the process than otherwise possible. A number of results were presented for the control strategy discussed, as well as an implementation on a real dynamic bio-mimetic robot. Currently, many of the Matlab functions associated with this robot are being implemented in C and made available as MEX files which Matlab can still make use of. This should improve the execution time significantly of the simulation, as well as all other aspects of the computations. These techniques will be part of the development of new skills for these dynamic manipulators. The two dimensional representation has been extended to three dimensions, and will be part of a series of papers to

These new challenges require a different overall strategy for problem solving than ever before in engineered systems, but have the potential to truly revolutionize all aspects of human experience. By developing and refining methodologies, we will transition from individual designs which take years of iterative slow improvements with many dead ends to clear paths

Anderson, T. W. (2003). *An Introduction to Multivariate Statistical Analysis*, John Wiley and Sons. Åström, K. & Wittenmark, B. (1990). *Computer controlled systems - theory and design*, 2nd edn,

Butterfab, J. & et al. (2001). Dlr-hand ii: Next generation of a dextrous robot hand, *Proc. of the IEEE International Conference on Robotics and Automation* pp. 109–114. Erez, T., Todorov, E. & Tassa, Y. (2011). Fast model predictive control for complex robotic

Ermedahl, A. (2003). *A modular tool architecture for worst-case execution time analysis*, PhD thesis,

Ferziger, J. (1998). *Numerical Methods for Engineering Application*, 2nd edition edn, John Wiley

Franklin, G. F. & et al. (1994). *Feedback control of dynamic systems*, 3rd edn, Addison Wesley,

Grob, H.-G. (2001). A prediction system for evolutionary testability applied to dynamic execution time analysis, *Information and Software Technology* (43): 855–862. Hansen, J., Hissam, S. & Moreno, G. (2009). Statistical-based wcet estimation and validation, *9th International Workshop on Worst-Case Execution Time (WCET) Analysis* .

Bernstein, N. (1967). *The coordination and regulation of movements*, Pergamon, London.

**6. Conclusion**

be released soon by the author.

**7. References**

with fewer roadblocks, and new tools to illuminate the way.

behavior, *Robotics Science and Systems (RSS'11)* .

Prentice Hall, Englewood cliffs, NJ.

Uppsala University.

Reading, MA.

and Sons, New York, NY.


Erik Billing, Thomas Hellström and Lars-Erik Janlert

**Robot Learning from Demonstration Using** 

In this chapter, the prediction algorithm Predictive Sequence Learning (PSL) is presented and evaluated in a robot *Learning from Demonstration* (LFD) setting. PSL generates hypotheses from a sequence of sensory-motor events. Generated hypotheses can be used as a semi-reactive controller for robots. PSL has previously been used as a method for LFD (Billing et al., 2010; 2011) but suffered from combinatorial explosion when applied to data with many dimensions, such as high dimensional sensor and motor data. A new version of PSL, referred to as *Fuzzy Predictive Sequence Learning* (FPSL), is presented and evaluated in this chapter. FPSL is implemented as a Fuzzy Logic rule base and works on a continuous state space, in contrast to the discrete state space used in the original design of PSL. The evaluation of FPSL shows a significant performance improvement in comparison to the discrete version of the algorithm. Applied to an LFD task in a simulated apartment environment, the robot is able to learn to

navigate to a specific location, starting from an unknown position in the apartment.

Learning from Demonstration is a well-established technique for teaching robots new behaviors. One of the greatest challenges in LFD is to implement a learning algorithm that allows the robot pupil to generalize a sequence of actions demonstrated by the teacher such that the robot is able to perform the desired behavior in a dynamic environment. A behavior may be any complex sequence of actions executed in relation to sensor data (Billing

The LFD problem is often formulated as four questions, *what-to-imitate*, *how-to-imitate*, *when-to-imitate* and *who-to-imitate* which leads up to the larger problem of how to evaluate an imitation (Alissandrakis et al., 2002). Large parts of the literature approach the learning problem by trying to find the common features within a set of demonstrations of the same behavior. A skill is generalized by exploiting statistical regularities among the demonstrations (e.g. Calinon, 2009). This is reflected in the *what-to-imitate* question, originally introduced in a

An action or sequence of actions is a successful component of imitation of a particular action if it achieves the same subgoal as that action. An entire sequence of actions is successful if it successively achieves each of a sequence of abstracted

The problem is difficult since a certain behavior can be imitated on many different abstraction levels. Byrne & Russon (1998) identified two levels; the *action-level imitation* copying the surface of the behavior and a *program-level imitation* copying the structure of the behavior. A

classical work by Nehaniv & Dautenhahn (2000) and is in a longer form described as:

**1. Introduction**

& Hellström, 2010).

subgoals.

*Department of Computing Science, Umeå University*

**Predictive Sequence Learning** 

*Sweden*

**12**

J. & Stenström, P. S. (2008). The worst-case execution time problem - overview of methods and survey of tools, *ACM Transactions on Embedded Computing Systems* **7**(3).


## **Robot Learning from Demonstration Using Predictive Sequence Learning**

Erik Billing, Thomas Hellström and Lars-Erik Janlert *Department of Computing Science, Umeå University Sweden*

### **1. Introduction**

26 TBD

234 Robotic Systems – Applications, Control and Programming

Wilkinson, D. D., Vandeweghe, J. M. & Matsuoka, Y. (2003). An extensor mechanism for

Wittenmark, B., Nilsson, J. & Torngren, M. (1995). Timing problems in real-time control systems, *In Proceedings of the 1995 American Control Conference. Seattle, WA* . Zhou, K. & Doyle, J. (1998). *Essentials of Robust Control*, Prentice Hall, Upper Saddle River, NJ.

*Automation*, Vol. 1, pp. 238 – 243.

J. & Stenström, P. S. (2008). The worst-case execution time problem - overview of methods and survey of tools, *ACM Transactions on Embedded Computing Systems* **7**(3).

an anatomical robotic hand, *Proc. of the IEEE International Conference on Robotics and*

In this chapter, the prediction algorithm Predictive Sequence Learning (PSL) is presented and evaluated in a robot *Learning from Demonstration* (LFD) setting. PSL generates hypotheses from a sequence of sensory-motor events. Generated hypotheses can be used as a semi-reactive controller for robots. PSL has previously been used as a method for LFD (Billing et al., 2010; 2011) but suffered from combinatorial explosion when applied to data with many dimensions, such as high dimensional sensor and motor data. A new version of PSL, referred to as *Fuzzy Predictive Sequence Learning* (FPSL), is presented and evaluated in this chapter. FPSL is implemented as a Fuzzy Logic rule base and works on a continuous state space, in contrast to the discrete state space used in the original design of PSL. The evaluation of FPSL shows a significant performance improvement in comparison to the discrete version of the algorithm. Applied to an LFD task in a simulated apartment environment, the robot is able to learn to navigate to a specific location, starting from an unknown position in the apartment.

Learning from Demonstration is a well-established technique for teaching robots new behaviors. One of the greatest challenges in LFD is to implement a learning algorithm that allows the robot pupil to generalize a sequence of actions demonstrated by the teacher such that the robot is able to perform the desired behavior in a dynamic environment. A behavior may be any complex sequence of actions executed in relation to sensor data (Billing & Hellström, 2010).

The LFD problem is often formulated as four questions, *what-to-imitate*, *how-to-imitate*, *when-to-imitate* and *who-to-imitate* which leads up to the larger problem of how to evaluate an imitation (Alissandrakis et al., 2002). Large parts of the literature approach the learning problem by trying to find the common features within a set of demonstrations of the same behavior. A skill is generalized by exploiting statistical regularities among the demonstrations (e.g. Calinon, 2009). This is reflected in the *what-to-imitate* question, originally introduced in a classical work by Nehaniv & Dautenhahn (2000) and is in a longer form described as:

An action or sequence of actions is a successful component of imitation of a particular action if it achieves the same subgoal as that action. An entire sequence of actions is successful if it successively achieves each of a sequence of abstracted subgoals.

The problem is difficult since a certain behavior can be imitated on many different abstraction levels. Byrne & Russon (1998) identified two levels; the *action-level imitation* copying the surface of the behavior and a *program-level imitation* copying the structure of the behavior. A

encoded relative object displacement and the relevant aspects of the behavior were in this way extracted as the common features in the demonstration set. Calinon et al. (2007) developed this approach by encoding the demonstration set using a mixture of Gaussian/Bernoulli distributions. The Gaussian Mixture Model approach is attractive since the behavior is divided into several distributions with different covariance, and different metrics can in this way be selected for different parts of the demonstrated behavior. More recently, similar encoding strategies have been evaluated for learning of a robot navigation task (de Rengervé

Robot Learning from Demonstration Using Predictive Sequence Learning 237

Another common approach to LFD is to map the demonstration onto a set of pre-programmed or previously learned primitives controllers (Billing & Hellström, 2010). The approach has strong connections to *behavior-based architectures* (Arkin, 1998; Matari´c, 1997; Matari´c & Marjanovic, 1993) and earlier reactive approaches (e.g. Brooks, 1986; 1991). When introducing behavior primitives, the LFD process can be divided into three tasks (Billing & Hellström,

3. *Behavior coordination*, referring to identification of rules or switching conditions for how the

Behavior segmentation and recognition can be seen as one way to approach the what-to-imitate problem, whereas behavior coordination is part of how-to-imitate. The approach represents one way of introducing good bias in learning and solve the generalization problem by relying on previous behavioral knowledge. While there are many domain specific solutions to these three subproblems, they appear very difficult to solve in the general case. Specifically, behavior recognition poses the problem of mapping a sequence of observations to a set of controllers to which the input is unknown. Again, the need to introduce a metric of

Part of the problem to find a general solution to these problems may lie in a vague definition of *behavior* (Matari´c, 1997). The notion of behavior is strongly connected to the purpose of executed actions and a definition of goal. Nicolescu (2003) identified two major types of goals:

The use of behavior primitives as a basis for imitation has many connections to biology (e.g. Matari´c, 2002) and specifically the mirror system (Brass et al., 2000; Gallese et al., 1996; Rizzolatti et al., 1988; Rizzolatti & Craighero, 2004). While the role of the mirror system is still highly debated, several groups of researchers propose computational models where perception and action are tightly interweaved. Among the most prominent examples are the *HAMMER* architecture (Demiris & Hayes, 2002; Demiris, 1999; Demiris & Johnson, 2003) and the *MOSAIC* architecture (Haruno et al., 2001; Wolpert & Kawato, 1998). Both these architectures implement a set of modules, where each module is an inverse model (controller) paired with a forward model (predictor). The inverse and forward models are trained together such that the forward model can predict sensor data in response to the actions produced by the inverse model. The inverse model is tuned to execute a certain behavior when the forward model produces good predictions. The prediction error is used to compute a bottom-up

**Maintenance goals:** A specific condition has to be maintained for a time interval.

**Achievement goals:** A specific condition has to be reached.

1. *Behavior segmentation* where a demonstration is divided into smaller segments. 2. *Behavior recognition* where each segment is associated with a primitive controller.

et al., 2010).

2010):

imitation appears.

**1.2 Behavior primitives as a basis for imitation**

primitives are to be combined.

third level, the *effect-level imitation*, was introduced by Nehaniv & Dautenhahn (2001) in order to better describe imitation between agents with dissimilar body structures. Demiris & Hayes (1997) proposed three slightly different levels: *1) basic imitation* with strong similarities to the notion of action-level imitation, 2) *functional imitation* that best corresponds to effect-level imitation and 3) *abstract imitation* that represents coordination based on the presumed internal state of the agent rather than the observed behavior. Demiris and Hayes give the example of making a sad face when someone is crying.

The necessity to consider the level of imitation in LFD becomes apparent when considering two demonstrations that look very different considered as sequences of data, but that we as humans still interpret as examples of the same behavior since they achieve similar results on an abstract level. This would correspond to a functional or program-level imitation. In these situations it is very difficult to find similarities between the demonstrations without providing high level knowledge about the behavior, often leading to specialized systems directed to LDF in limited domains.

A related problem is that two demonstrations of the same behavior may not have the same length. If one demonstration takes longer time than another, they can not be directly compared in order to find common features. Researchers have therefore used techniques to determine the temporal alignment of demonstrations. One common technique is *dynamic time warping* (Myers & Rabiner, 1981)*,* that can be used to compensate for temporal differences in the data. Behaviors can be demonstrated to a robot in many different ways. Argall et al. (2009) outline four types of demonstrations: A direct recording of sensor stimuli, joint angles, etc., is referred to as an *identity record mapping.* In this case, the robot is often used during the demonstration and controlled via teleoperation or by physically moving the robot's limbs (kinestetic teaching). An external observation, e.g. a video recording of the teacher, is called a *non-identity record mapping*. This type of demonstrations poses a difficult sensing problem of detecting how the teacher has moved, but also allows much more flexible demonstration setting. The teacher may have a body identical to that of the pupil (*identity embodiment*) or a body with a different structure (*non-identity embodiment*). In the latter case, the demonstration has to be transformed into corresponding actions using the body of the pupil, a difficult problem known as the *correspondence problem* (Nehaniv & Dautenhahn, 2001). In this work we focus on LFD via teleoperation. Sensor data and motor commands are in this setting recorded while a human teacher demonstrates the desired behavior by tele-operating the robot, producing demonstrations with identity in both record mapping and embodiment.

### **1.1 Metric of imitation**

Successful imitation requires that relevant features of the demonstration are selected at a suitable imitation level and processed into a generalized representation of the behavior. The process is difficult to implement in a robot since it is often far from obvious which imitation level that is optimal in a specific situation, and the relevance of features may consequently vary significantly from one learning situation to another. This problem has been formalized as a *metric of imitation*, defined as a weighted sum over all strategy-dependent metrics on all imitation levels (Billard et al., 2003).

The metric of imitation was originally demonstrated on a manipulation task with a humanoid robot (Billard et al., 2003). With focus on the correspondence problem, Alissandrakis et al. (2005) propose a similar approach to imitation of manipulation tasks. The what-to-imitate problem is approached by maximizing trajectory agreements of manipulated objects, using several different metrics. Some metrics encoded absolute trajectories while other metrics encoded relative object displacement and the relevant aspects of the behavior were in this way extracted as the common features in the demonstration set. Calinon et al. (2007) developed this approach by encoding the demonstration set using a mixture of Gaussian/Bernoulli distributions. The Gaussian Mixture Model approach is attractive since the behavior is divided into several distributions with different covariance, and different metrics can in this way be selected for different parts of the demonstrated behavior. More recently, similar encoding strategies have been evaluated for learning of a robot navigation task (de Rengervé et al., 2010).

## **1.2 Behavior primitives as a basis for imitation**

2 Robot Control

third level, the *effect-level imitation*, was introduced by Nehaniv & Dautenhahn (2001) in order to better describe imitation between agents with dissimilar body structures. Demiris & Hayes (1997) proposed three slightly different levels: *1) basic imitation* with strong similarities to the notion of action-level imitation, 2) *functional imitation* that best corresponds to effect-level imitation and 3) *abstract imitation* that represents coordination based on the presumed internal state of the agent rather than the observed behavior. Demiris and Hayes give the example of

The necessity to consider the level of imitation in LFD becomes apparent when considering two demonstrations that look very different considered as sequences of data, but that we as humans still interpret as examples of the same behavior since they achieve similar results on an abstract level. This would correspond to a functional or program-level imitation. In these situations it is very difficult to find similarities between the demonstrations without providing high level knowledge about the behavior, often leading to specialized systems directed to LDF

A related problem is that two demonstrations of the same behavior may not have the same length. If one demonstration takes longer time than another, they can not be directly compared in order to find common features. Researchers have therefore used techniques to determine the temporal alignment of demonstrations. One common technique is *dynamic time warping* (Myers & Rabiner, 1981)*,* that can be used to compensate for temporal differences in the data. Behaviors can be demonstrated to a robot in many different ways. Argall et al. (2009) outline four types of demonstrations: A direct recording of sensor stimuli, joint angles, etc., is referred to as an *identity record mapping.* In this case, the robot is often used during the demonstration and controlled via teleoperation or by physically moving the robot's limbs (kinestetic teaching). An external observation, e.g. a video recording of the teacher, is called a *non-identity record mapping*. This type of demonstrations poses a difficult sensing problem of detecting how the teacher has moved, but also allows much more flexible demonstration setting. The teacher may have a body identical to that of the pupil (*identity embodiment*) or a body with a different structure (*non-identity embodiment*). In the latter case, the demonstration has to be transformed into corresponding actions using the body of the pupil, a difficult problem known as the *correspondence problem* (Nehaniv & Dautenhahn, 2001). In this work we focus on LFD via teleoperation. Sensor data and motor commands are in this setting recorded while a human teacher demonstrates the desired behavior by tele-operating the robot, producing demonstrations with identity in both record mapping and embodiment.

Successful imitation requires that relevant features of the demonstration are selected at a suitable imitation level and processed into a generalized representation of the behavior. The process is difficult to implement in a robot since it is often far from obvious which imitation level that is optimal in a specific situation, and the relevance of features may consequently vary significantly from one learning situation to another. This problem has been formalized as a *metric of imitation*, defined as a weighted sum over all strategy-dependent metrics on all

The metric of imitation was originally demonstrated on a manipulation task with a humanoid robot (Billard et al., 2003). With focus on the correspondence problem, Alissandrakis et al. (2005) propose a similar approach to imitation of manipulation tasks. The what-to-imitate problem is approached by maximizing trajectory agreements of manipulated objects, using several different metrics. Some metrics encoded absolute trajectories while other metrics

making a sad face when someone is crying.

in limited domains.

**1.1 Metric of imitation**

imitation levels (Billard et al., 2003).

Another common approach to LFD is to map the demonstration onto a set of pre-programmed or previously learned primitives controllers (Billing & Hellström, 2010). The approach has strong connections to *behavior-based architectures* (Arkin, 1998; Matari´c, 1997; Matari´c & Marjanovic, 1993) and earlier reactive approaches (e.g. Brooks, 1986; 1991). When introducing behavior primitives, the LFD process can be divided into three tasks (Billing & Hellström, 2010):


Behavior segmentation and recognition can be seen as one way to approach the what-to-imitate problem, whereas behavior coordination is part of how-to-imitate. The approach represents one way of introducing good bias in learning and solve the generalization problem by relying on previous behavioral knowledge. While there are many domain specific solutions to these three subproblems, they appear very difficult to solve in the general case. Specifically, behavior recognition poses the problem of mapping a sequence of observations to a set of controllers to which the input is unknown. Again, the need to introduce a metric of imitation appears.

Part of the problem to find a general solution to these problems may lie in a vague definition of *behavior* (Matari´c, 1997). The notion of behavior is strongly connected to the purpose of executed actions and a definition of goal. Nicolescu (2003) identified two major types of goals:

**Maintenance goals:** A specific condition has to be maintained for a time interval.

**Achievement goals:** A specific condition has to be reached.

The use of behavior primitives as a basis for imitation has many connections to biology (e.g. Matari´c, 2002) and specifically the mirror system (Brass et al., 2000; Gallese et al., 1996; Rizzolatti et al., 1988; Rizzolatti & Craighero, 2004). While the role of the mirror system is still highly debated, several groups of researchers propose computational models where perception and action are tightly interweaved. Among the most prominent examples are the *HAMMER* architecture (Demiris & Hayes, 2002; Demiris, 1999; Demiris & Johnson, 2003) and the *MOSAIC* architecture (Haruno et al., 2001; Wolpert & Kawato, 1998). Both these architectures implement a set of modules, where each module is an inverse model (controller) paired with a forward model (predictor). The inverse and forward models are trained together such that the forward model can predict sensor data in response to the actions produced by the inverse model. The inverse model is tuned to execute a certain behavior when the forward model produces good predictions. The prediction error is used to compute a bottom-up

of BECCA is to capture the discrete episodic nature of many types of human motor behavior, without introducing a priori knowledge into the system. BECCA was presented as a very general reinforcement learning system, applicable to many types of learning and control problems. One of the core elements of BECCA is the temporal difference (TD) algorithm *Sequence Learning* (SL) (Rohrer, 2007). SL builds sequences of passed events which is used to predict future events, and can in contrast to other TD algorithms base its predictions on

Robot Learning from Demonstration Using Predictive Sequence Learning 239

Inspired by BECCA and specifically SL, we developed the PSL algorithm as a method for LFD (Billing et al., 2010; 2011). PSL has many interesting properties seen as a learning algorithm for robots. It is model free, meaning that it introduces very few assumptions into learning and does not need any task specific configuration. PSL can be seen as a variable-order Markov model. Starting out from a reactive (first order) model, PSL estimates transition probabilities between discrete sensor and motor states. For states that do not show Markov property, the order is increased and PSL models the transition probability based on several passed events. In this way, PSL will progressively gain memory for parts of the behavior that cannot be modeled in a reactive way. In theory, there is no limitation to the order of the state and hence the length of the memory, but PSL is in practice unable to capture long temporal dependencies

PSL has been evaluated both as a controller (Billing et al., 2011) and as a method for behavior recognition (Billing et al., 2010). Even though the evaluation overall generated good results, PSL is subject to combinatorial explosion both when the number of sensors and actuators increase, and when the demonstrated behavior requires modeling of long temporal dependencies. PSL can however efficiently model short temporal dependencies in a semi-reactive way and should thus be a good platform for implementing a hierarchical system

In this chapter, we present and evaluate a new version of PSL based on Fuzzy Logic. While keeping the core idea of the original PSL algorithm, the new version can handle continuous and multi dimensional data in a better way. To distinguish between the two, the new fuzzy version of the algorithm is denoted FPSL, whereas the previous discrete version is denoted DPSL. A detailed description of FPSL is given in Section 2. An evaluation with comparisons between the two algorithms is presented in Section 3, followed by a discussion

FPSL builds fuzzy rules, referred to as *hypotheses h*, describing temporal dependencies between a sensory-motor event *et*+<sup>1</sup> and a sequence of passed events

Υ*<sup>i</sup>* is the event variable and *E<sup>h</sup>* (*e*) is a fuzzy membership function returning a membership value for a specific *e*. The right hand side *E*¯*<sup>h</sup>* is a membership function comprising expected events at time *t* + 1. |*h*| denotes the length of *h*, i.e., the number of left-hand-side conditions of the rule. Both *E* and *E*¯ are implemented as standard cone membership functions with base

A set of hypotheses can be used to compute a prediction *e*ˆ*t*+<sup>1</sup> given a sequence of passed

<sup>|</sup>*h*|−<sup>2</sup> <sup>∧</sup> ... <sup>∧</sup> <sup>Υ</sup>*<sup>t</sup> is E<sup>h</sup>*

0 *C*

<sup>⇒</sup> <sup>Υ</sup>*t*+<sup>1</sup> *is <sup>E</sup>*¯ *<sup>h</sup>* (1)

, defined up until current time *t*.

<sup>|</sup>*h*|−<sup>1</sup> <sup>∧</sup> <sup>Υ</sup>*t*−|*h*|+<sup>2</sup> *is E<sup>h</sup>*

many previous states.

due to combinatorial explosion.

and conclusions in section 4.

*et*−|*h*|<sup>+</sup>1,*et*−|*h*|<sup>+</sup>2,...,*et*

*h* : 

width *ε* (e.g. Klir & Yuan, 1995).

**2. Predictive Sequence Learning**

sensory-motor events *η*, defined up to the current time *t*:

<sup>Υ</sup>*t*−|*h*|+<sup>1</sup> *is E<sup>h</sup>*

similar to the HAMMER and MOSAIC architectures.

signal for each module. Based on the bottom-up signal, a top-down responsibility signal or confidence value is computed and propagated to each module. The output of the system is a combination of the actions produced by each inverse model, proportional to their current responsibility. The responsibility signal also controls the learning rate of each module, such that modules are only updated when their responsibility is high. In this way, modules are tuned to a specific behavior or parts of a behavior. Since the prediction error of the forward model is used as a measure of how well the specific module fits present circumstances, it can be seen as a metric of imitation that is learnt together with the controller. The architecture can be composed into a hierarchical system where modules are organized in layers, with the lowest layer interacting with sensors and actuators. The bottom-up signal constitutes sensor input for the layer above and actions produced by higher levels constitutes the top-down responsibility signal.

One motivation for this architecture lies in an efficient division of labor between different parts of the system. Each module can be said to operate with a specific temporal resolution. Modules at the bottom layer are given the highest resolution while modules higher up in the hierarchy have decreasing temporal resolution. State variables that change slowly compared to a specific module's resolution are ignored by that module and are instead handled by modules higher up in the hierarchy. Slowly changing states that lead to high responsibility for the module is referred to as the module's *context*. In a similar fashion, variables that change fast in comparison to the temporal resolution are handled lower in the hierarchy. This allows each module to implement a controller where the behavior depends on relatively recent states. Long temporal dependencies are modeled by switching between modules, which removes the requirement for each model to capture these dependencies. Furthermore, updates of a single behavior or parts of a behavior will only require updates of a few modules and will not propagate changes to other modules. See Billing (2009) for a longer discussion on these aspects of hierarchical architectures.

The HAMMER and MOSAIC architectures make few restrictions on what kind of controllers each module should implement. We argue however, that modules should be *semi-reactive*, meaning that action selection and predictions of sensor events should be based on recent sensor and motor events. Strictly reactive modules are not desirable since each module must be able to model any dependency shorter than the temporal resolution of modules in the layer directly above.

The division of behavior into modules is however also producing a number of drawbacks. The possibility for the system to share knowledge between behaviors is limited. Moreover, the system has to combine actions produced by different modules, which may be difficult in cases when more than one module receives high responsibility.

One architecture with similarities to HAMMER and MOSAIC able to share knowledge between different behaviors is *RNNPB* (Tani et al., 2004). *RNNPB* is a recurrent neural network with parametric bias (PB). Both input and output layer of the network contains sensor and motor nodes as well as nodes with recurrent connections. In addition, the input layer is given a set of extra nodes, representing the PB vector. The network is trained to minimize prediction error, both by back-propagation and by changing the PB vector. The PB vector is however updated slowly, such that it organizes into what could be seen as a context layer for the rest of the network. In addition to giving the network the ability to represent different behaviors that share knowledge, the PB vector can be used for behavior recognition.

Another architecture known as *Brain Emulating Cognition and Control Architecture* (BECCA) (Rohrer & Hulet, 2006) heavily influenced our early work on the PSL algorithm. The focus 4 Robot Control

signal for each module. Based on the bottom-up signal, a top-down responsibility signal or confidence value is computed and propagated to each module. The output of the system is a combination of the actions produced by each inverse model, proportional to their current responsibility. The responsibility signal also controls the learning rate of each module, such that modules are only updated when their responsibility is high. In this way, modules are tuned to a specific behavior or parts of a behavior. Since the prediction error of the forward model is used as a measure of how well the specific module fits present circumstances, it can be seen as a metric of imitation that is learnt together with the controller. The architecture can be composed into a hierarchical system where modules are organized in layers, with the lowest layer interacting with sensors and actuators. The bottom-up signal constitutes sensor input for the layer above and actions produced by higher levels constitutes the top-down

One motivation for this architecture lies in an efficient division of labor between different parts of the system. Each module can be said to operate with a specific temporal resolution. Modules at the bottom layer are given the highest resolution while modules higher up in the hierarchy have decreasing temporal resolution. State variables that change slowly compared to a specific module's resolution are ignored by that module and are instead handled by modules higher up in the hierarchy. Slowly changing states that lead to high responsibility for the module is referred to as the module's *context*. In a similar fashion, variables that change fast in comparison to the temporal resolution are handled lower in the hierarchy. This allows each module to implement a controller where the behavior depends on relatively recent states. Long temporal dependencies are modeled by switching between modules, which removes the requirement for each model to capture these dependencies. Furthermore, updates of a single behavior or parts of a behavior will only require updates of a few modules and will not propagate changes to other modules. See Billing (2009) for a longer discussion on these

The HAMMER and MOSAIC architectures make few restrictions on what kind of controllers each module should implement. We argue however, that modules should be *semi-reactive*, meaning that action selection and predictions of sensor events should be based on recent sensor and motor events. Strictly reactive modules are not desirable since each module must be able to model any dependency shorter than the temporal resolution of modules in the layer

The division of behavior into modules is however also producing a number of drawbacks. The possibility for the system to share knowledge between behaviors is limited. Moreover, the system has to combine actions produced by different modules, which may be difficult in

One architecture with similarities to HAMMER and MOSAIC able to share knowledge between different behaviors is *RNNPB* (Tani et al., 2004). *RNNPB* is a recurrent neural network with parametric bias (PB). Both input and output layer of the network contains sensor and motor nodes as well as nodes with recurrent connections. In addition, the input layer is given a set of extra nodes, representing the PB vector. The network is trained to minimize prediction error, both by back-propagation and by changing the PB vector. The PB vector is however updated slowly, such that it organizes into what could be seen as a context layer for the rest of the network. In addition to giving the network the ability to represent different behaviors

Another architecture known as *Brain Emulating Cognition and Control Architecture* (BECCA) (Rohrer & Hulet, 2006) heavily influenced our early work on the PSL algorithm. The focus

cases when more than one module receives high responsibility.

that share knowledge, the PB vector can be used for behavior recognition.

responsibility signal.

aspects of hierarchical architectures.

directly above.

of BECCA is to capture the discrete episodic nature of many types of human motor behavior, without introducing a priori knowledge into the system. BECCA was presented as a very general reinforcement learning system, applicable to many types of learning and control problems. One of the core elements of BECCA is the temporal difference (TD) algorithm *Sequence Learning* (SL) (Rohrer, 2007). SL builds sequences of passed events which is used to predict future events, and can in contrast to other TD algorithms base its predictions on many previous states.

Inspired by BECCA and specifically SL, we developed the PSL algorithm as a method for LFD (Billing et al., 2010; 2011). PSL has many interesting properties seen as a learning algorithm for robots. It is model free, meaning that it introduces very few assumptions into learning and does not need any task specific configuration. PSL can be seen as a variable-order Markov model. Starting out from a reactive (first order) model, PSL estimates transition probabilities between discrete sensor and motor states. For states that do not show Markov property, the order is increased and PSL models the transition probability based on several passed events. In this way, PSL will progressively gain memory for parts of the behavior that cannot be modeled in a reactive way. In theory, there is no limitation to the order of the state and hence the length of the memory, but PSL is in practice unable to capture long temporal dependencies due to combinatorial explosion.

PSL has been evaluated both as a controller (Billing et al., 2011) and as a method for behavior recognition (Billing et al., 2010). Even though the evaluation overall generated good results, PSL is subject to combinatorial explosion both when the number of sensors and actuators increase, and when the demonstrated behavior requires modeling of long temporal dependencies. PSL can however efficiently model short temporal dependencies in a semi-reactive way and should thus be a good platform for implementing a hierarchical system similar to the HAMMER and MOSAIC architectures.

In this chapter, we present and evaluate a new version of PSL based on Fuzzy Logic. While keeping the core idea of the original PSL algorithm, the new version can handle continuous and multi dimensional data in a better way. To distinguish between the two, the new fuzzy version of the algorithm is denoted FPSL, whereas the previous discrete version is denoted DPSL. A detailed description of FPSL is given in Section 2. An evaluation with comparisons between the two algorithms is presented in Section 3, followed by a discussion and conclusions in section 4.

### **2. Predictive Sequence Learning**

FPSL builds fuzzy rules, referred to as *hypotheses h*, describing temporal dependencies between a sensory-motor event *et*+<sup>1</sup> and a sequence of passed events *et*−|*h*|<sup>+</sup>1,*et*−|*h*|<sup>+</sup>2,...,*et* , defined up until current time *t*.

$$h: \left(\mathbf{Y}\_{t-|h|+1} \text{ is } E\_{|h|-1}^{\hbar} \wedge \mathbf{Y}\_{t-|h|+2} \text{ is } E\_{|h|-2}^{\hbar} \wedge \dots \wedge \mathbf{Y}\_{t} \text{ is } E\_{0}^{\hbar}\right) \stackrel{\mathbb{C}}{\Leftrightarrow} \mathbf{Y}\_{t+1} \text{ is } \bar{E}^{\hbar} \tag{1}$$

Υ*<sup>i</sup>* is the event variable and *E<sup>h</sup>* (*e*) is a fuzzy membership function returning a membership value for a specific *e*. The right hand side *E*¯*<sup>h</sup>* is a membership function comprising expected events at time *t* + 1. |*h*| denotes the length of *h*, i.e., the number of left-hand-side conditions of the rule. Both *E* and *E*¯ are implemented as standard cone membership functions with base width *ε* (e.g. Klir & Yuan, 1995).

A set of hypotheses can be used to compute a prediction *e*ˆ*t*+<sup>1</sup> given a sequence of passed sensory-motor events *η*, defined up to the current time *t*:

*E*ˆ (*et*+1) :

*E*ˆ is converted to crisp values using a squared *center of sum* defuzzification:

exp � ∑ *h*

PSL is able to produce a prediction is referred to as the *coverage φ* (*η*):

*φ* (*η*) =

is, referred to as the *trust c*ˆ:

**2.2 Generating hypotheses**

Algorithm 0.1.

2011).

*c*ˆ � *M*ˆ � = ⎧ ⎨ ⎩ � *h E*¯

Robot Learning from Demonstration Using Predictive Sequence Learning 241

*e*ˆ = ∑ *e eE*ˆ (*e*) 2

∑ *e E*ˆ (*e*)

The amount of entropy in *M*ˆ also bears information about how reliable a specific prediction

0

The trust is important since it allows a controller to evaluate when to rely on PSL, and when to choose an alternate control method. The proportion of time steps in *η* for which *c*ˆ *>* 0 and

� *M*ˆ (*h*) �

*c*ˆ*<sup>i</sup> >* 0 *otherwise*

*<sup>M</sup>*<sup>ˆ</sup> (*h*)log2

*t* ∑ *i*=1 � 1 0

Hypotheses can be generated from a sequence of sensory-motor events *η*. During training, PSL continuously makes predictions and creates new hypotheses when no matching hypothesis produces the correct prediction *E*¯. The exact training procedure is described in

For example, consider the event sequence *η* = *abccabccabcc*. Let *t* = 1. PSL will search for a hypothesis with a body matching *a*. Initially, the context set *C* is empty and consequently PSL will create a new hypothesis (*a*) ⇒ *b* which is added to *C* with confidence 1, denoted *C* (*a* ⇒ *b*) = 1. The same procedure will be executed at *t* = 2 and *t* = 3 such that *C* ((*b*) ⇒ *c*) = 1 and *C* ((*c*) ⇒ *c*) = 1. At *t* = 4, PSL will find a matching hypothesis (*c*) ⇒ *c* producing the wrong prediction *c*. Consequently, a new hypothesis (*c*) ⇒ *a* is created and confidences are updated such that *C* ((*c*) ⇒ *c*) = 0.5 and *C* ((*c*) ⇒ *a*) = 1. The new hypothesis receives a higher confidence since confidence values are calculated from the creation time of the hypothesis (Equation 4). The predictions at *t* = 5 and *t* = 6 will be correct and no new hypotheses are created. At *t* = 7, both (*c*) ⇒ *a* and (*c*) ⇒ *c* will contribute to the prediction *<sup>E</sup>*ˆ. Since the confidence of (*c*) <sup>⇒</sup> *<sup>a</sup>* is higher than that of (*c*) <sup>⇒</sup> *<sup>c</sup>*, *<sup>E</sup>*<sup>ˆ</sup> will defuzzify towards *a*, producing the wrong prediction (Equation 10). As a result, PSL creates a new hypothesis (*b*, *c*) ⇒ *c*. Similarly, (*c*, *c*) ⇒ *a* will be created at *t* = 8. PSL is now able to

predict all elements in the sequence perfectly and no new hypotheses are created.

Source code from the implementation used in the present work is available online (Billing,

*<sup>h</sup>* (*et*+1) *M*ˆ (*h*) (9)

<sup>2</sup> (10)

*<sup>t</sup>* (12)

*otherwise* (11)

� *<sup>M</sup>*<sup>ˆ</sup> <sup>=</sup> <sup>∅</sup>

$$\eta = (e\_1, e\_2, \dots, e\_l) \tag{2}$$

The process of matching hypothesis to data is described in Section 2.1. The PSL learning process, where hypotheses are generated from a sequence of data, is described in Section 2.2. Finally, a discussion about parameters and configuration is found in Section 2.3.

### **2.1 Matching hypotheses**

Given a sequence of sensory-motor events *η* = (*e*1,*e*2,...,*et*), a match *α<sup>t</sup>* (*h*) of the rule is given by:

$$\mathfrak{a}\_{\mathfrak{h}}\left(\hbar\right) : \bigwedge\_{i=0}^{|h|-1} E\_i^{\mathfrak{h}}\left(e\_{t-i}\right) \tag{3}$$

where ∧ is implemented as a *min*-function.

Hypotheses are grouped in fuzzy sets *C* whose membership value *C* (*h*) describes the confidence of *h* at time *t*:

$$C\left(h\right) = \frac{\sum\_{k=t^h}^t \alpha\_k\left(h\right) \bar{E}^h\left(e\_{k+1}\right)}{\sum\_{k=t^h}^t \alpha\_k\left(h\right)}\tag{4}$$

*t <sup>h</sup>* is the creation time of *h* or 1 if *h* existed prior to training. Each C represents a *context* and can be used to implement a specific behavior or part of a behavior. The *responsibility signal λ<sup>t</sup>* (*C*) is used to control which behavior that is active at a specific time. The combined confidence value *C*˜ *<sup>t</sup>* (*h*) is a weighted sum over all *C*:

$$
\tilde{\mathbf{C}}\_{t}\left(h\right) = \frac{\sum \mathbf{C}\left(h\right)\lambda\_{t}\left(\mathbf{C}\right)}{\sum \lambda\_{t}\left(\mathbf{C}\right)}\tag{5}
$$

*C*˜ *<sup>t</sup>* can be seen as a fuzzy set representing the active context at time *t*. Hypotheses contribute to a prediction in proportion to their membership in *C*˜ and the *match set M*ˆ . *M*ˆ is defined in three steps. First, the best matching hypotheses for each *E*¯ is selected:

$$M = \left\{ h \mid \mathfrak{a}\left( h\right) \ge \mathfrak{a}\left( h'\right) \text{ for all } \left\{ h' \mid \vec{E}^{h'} = \vec{E}^h \right\} \right\} \tag{6}$$

The longest *h* ∈ *M* for each RHS is selected:

$$\tilde{M} = \left\{ h \mid |h| \ge |h'| \text{ for all } \left\{ h' \in M \mid \bar{E}^{h'} = \bar{E}^h \right\} \right\} \tag{7}$$

Finally, the match set *M*ˆ is defined as:

$$\hat{M}\left(h\right) = \begin{cases} \text{a } \left(h\right) \tilde{\mathbb{C}}\left(h\right) & h \in \tilde{M} \\ 0 & \text{otherwise} \end{cases} \tag{8}$$

The aggregated prediction *E*ˆ (*et*+1) is computed using the Larsen method (e.g. Fullér, 1995):

.

.

.

.

.

$$
\triangle \left( e\_{t+1} \right) : \bigvee\_{h} \bar{E}\_h \left( e\_{t+1} \right) \hat{M} \left( h \right) \tag{9}
$$

*E*ˆ is converted to crisp values using a squared *center of sum* defuzzification:

$$\mathcal{E} = \frac{\sum\_{\mathcal{E}} e \hat{\mathcal{E}} \left( \boldsymbol{\varepsilon} \right)^{2}}{\sum\_{\mathcal{E}} \hat{\mathcal{E}} \left( \boldsymbol{\varepsilon} \right)^{2}} \tag{10}$$

The amount of entropy in *M*ˆ also bears information about how reliable a specific prediction is, referred to as the *trust c*ˆ:

$$\hat{\mathcal{E}}\left(\hat{\mathcal{M}}\right) = \begin{cases} 0 & \hat{\mathcal{M}} = \mathcal{D} \\ \exp\left[\sum\_{h} \hat{\mathcal{M}}\left(h\right) \log\_{2}\left(\hat{\mathcal{M}}\left(h\right)\right)\right] & \text{otherwise} \end{cases} \tag{11}$$

The trust is important since it allows a controller to evaluate when to rely on PSL, and when to choose an alternate control method. The proportion of time steps in *η* for which *c*ˆ *>* 0 and PSL is able to produce a prediction is referred to as the *coverage φ* (*η*):

$$\phi\_{\phi}(\eta) = \frac{\sum\_{i=1}^{t} \begin{cases} 1 & \text{ $\mathcal{E}\_{i}$ } > 0 \\ 0 & \text{otherwise} \end{cases}}{t} \tag{12}$$

#### **2.2 Generating hypotheses**

6 Robot Control

The process of matching hypothesis to data is described in Section 2.1. The PSL learning process, where hypotheses are generated from a sequence of data, is described in Section 2.2.

Given a sequence of sensory-motor events *η* = (*e*1,*e*2,...,*et*), a match *α<sup>t</sup>* (*h*) of the rule is


*i*=0 *Eh*

Hypotheses are grouped in fuzzy sets *C* whose membership value *C* (*h*) describes the

*t* ∑ *k*=*th*

*<sup>h</sup>* is the creation time of *h* or 1 if *h* existed prior to training. Each C represents a *context* and can be used to implement a specific behavior or part of a behavior. The *responsibility signal λ<sup>t</sup>* (*C*) is used to control which behavior that is active at a specific time. The combined confidence

> ∑ *C*

> > ∑ *C*

*<sup>t</sup>* can be seen as a fuzzy set representing the active context at time *t*. Hypotheses contribute to a prediction in proportion to their membership in *C*˜ and the *match set M*ˆ . *M*ˆ is defined in

*f or all*

 *<sup>h</sup>*� <sup>|</sup> *<sup>E</sup>*¯ *<sup>h</sup>*�

*<sup>h</sup>*� <sup>∈</sup> *<sup>M</sup>* <sup>|</sup> *<sup>E</sup>*¯ *<sup>h</sup>*�

*<sup>h</sup>* <sup>∈</sup> *<sup>M</sup>*˜

 *h*� *α<sup>k</sup>* (*h*) *E*¯ *<sup>h</sup>* (*ek*<sup>+</sup>1)

*α<sup>k</sup>* (*h*)

*C* (*h*) *λ<sup>t</sup>* (*C*)

*t* ∑ *k*=*th*

Finally, a discussion about parameters and configuration is found in Section 2.3.

*α<sup>t</sup>* (*h*) :

*C* (*h*) =

*C*˜ *<sup>t</sup>* (*h*) =

three steps. First, the best matching hypotheses for each *E*¯ is selected:

*h* | *α* (*h*) ≥ *α*

*<sup>h</sup>* <sup>|</sup> <sup>|</sup>*h*<sup>|</sup> <sup>≥</sup>

*M*ˆ (*h*) =

*h*� *f or all*

*α* (*h*) *C*˜ (*h*) 0

The aggregated prediction *E*ˆ (*et*+1) is computed using the Larsen method (e.g. Fullér, 1995):

**2.1 Matching hypotheses**

confidence of *h* at time *t*:

where ∧ is implemented as a *min*-function.

*<sup>t</sup>* (*h*) is a weighted sum over all *C*:

*M* = 

*M*˜ = 

The longest *h* ∈ *M* for each RHS is selected:

Finally, the match set *M*ˆ is defined as:

given by:

. *t*

. *C*˜

.

.

.

value *C*˜

*η* = (*e*1,*e*2,...,*et*) (2)

*<sup>i</sup>* (*et*−*i*) (3)

*<sup>λ</sup><sup>t</sup>* (*C*) (5)

= *E*¯ *<sup>h</sup>* 

= *E*¯ *<sup>h</sup>* 

*otherwise* (8)

(4)

(6)

(7)

Hypotheses can be generated from a sequence of sensory-motor events *η*. During training, PSL continuously makes predictions and creates new hypotheses when no matching hypothesis produces the correct prediction *E*¯. The exact training procedure is described in Algorithm 0.1.

For example, consider the event sequence *η* = *abccabccabcc*. Let *t* = 1. PSL will search for a hypothesis with a body matching *a*. Initially, the context set *C* is empty and consequently PSL will create a new hypothesis (*a*) ⇒ *b* which is added to *C* with confidence 1, denoted *C* (*a* ⇒ *b*) = 1. The same procedure will be executed at *t* = 2 and *t* = 3 such that *C* ((*b*) ⇒ *c*) = 1 and *C* ((*c*) ⇒ *c*) = 1. At *t* = 4, PSL will find a matching hypothesis (*c*) ⇒ *c* producing the wrong prediction *c*. Consequently, a new hypothesis (*c*) ⇒ *a* is created and confidences are updated such that *C* ((*c*) ⇒ *c*) = 0.5 and *C* ((*c*) ⇒ *a*) = 1. The new hypothesis receives a higher confidence since confidence values are calculated from the creation time of the hypothesis (Equation 4). The predictions at *t* = 5 and *t* = 6 will be correct and no new hypotheses are created. At *t* = 7, both (*c*) ⇒ *a* and (*c*) ⇒ *c* will contribute to the prediction *<sup>E</sup>*ˆ. Since the confidence of (*c*) <sup>⇒</sup> *<sup>a</sup>* is higher than that of (*c*) <sup>⇒</sup> *<sup>c</sup>*, *<sup>E</sup>*<sup>ˆ</sup> will defuzzify towards *a*, producing the wrong prediction (Equation 10). As a result, PSL creates a new hypothesis (*b*, *c*) ⇒ *c*. Similarly, (*c*, *c*) ⇒ *a* will be created at *t* = 8. PSL is now able to predict all elements in the sequence perfectly and no new hypotheses are created.

Source code from the implementation used in the present work is available online (Billing, 2011).

**2.3 Parameters and task specific configuration**

in the interval [0, 1] (Klir & Yuan, 1995).

in more hypotheses being created during learning.

the previous version of PSL.

errors but also a low coverage.

were however fed directly into PSL.

use of FPSL as a method for LFD.

**3.1 Sensor prediction**

the parameters *ε* and *α*ˆ.

**3. Evaluation**

A clear description of parameters is important for any learning algorithm. Parameters always introduce the risk that the learning algorithm is tuned towards the evaluated task, producing better results than it would in the general case. We have therefore strived towards limiting the number of parameters of PSL. The original design of PSL was completely parameter free, with the exception that continuous data was discretized using some discretization method. The version of PSL proposed here can be seen as a generalization of the original algorithm (Billing et al., 2011) where the width *ε* of the membership function *E* determines the discretization resolution. In addition, a second parameter is introduced, referred to as the *precision constant α*ˆ. *α*ˆ is in fuzzy logic terminology an *α-cut*, i.e., thresholds over the fuzzy membership function

Robot Learning from Demonstration Using Predictive Sequence Learning 243

*ε* controls how generously FPSL matches hypotheses. A high *ε* makes the algorithm crisp but typically increases the precision of predictions when a match is found. Contrary, a low *ε* reduces the risk that FPSL reaches unobserved states at the cost of a decreased prediction performance. The high value of *ε* can be compared to a fine resolution data discretization for

*α*ˆ is only used during learning, controlling how exact a specific *E*¯ has to be before a new hypothesis with a different *E*¯ is created. A large *α*ˆ reduces prediction error but typically results

Both *ε* and *α*ˆ controls the tolerance to random variations in the data and can be decided based on how exact we desire that FPSL should model the data. Small *ε* in combination with large *α*ˆ will result in a model that closely fits the training data, typically producing small prediction

Two tests were performed to evaluate the performance of FPSL and compare it to the previous version. A simulated Robosoft Kompai robot (Robosoft, 2011) was used in the Microsoft RDS simulation environment (Microsoft, 2011). The 270 degree laser scanner of the Kompai was used as sensor data and the robot was controlled by setting linear and angular speeds. Demonstrations were performed via tele-operation using a joypad, while sensor and motor data were recorded with a temporal resolution of 20 Hz. The dimensionality of the laser scanner was reduced to 20 dimensions using an average filter. Angular and linear speeds

The first test (Section 3.1) was designed to compare FPSL and DPSL as prediction algorithms, using sensor data from the simulated robot. The second test (Section 3.2) demonstrates the

The two versions of PSL were compared using a series of tests of prediction performance. Even though DPSL and FPSL are similar in many ways, a comparison is not trivial since DPSL works on discrete data whereas FPSL uses continuous data. Prediction performance of DPSL will hence depend on how the data is discretized while the performance of FPSL depends on

To capture the prediction performance of the two algorithms using different configurations, a series of tests were designed. 10 discretization levels were chosen, ranging from a fine resolution where DPSL could only produce predictions on a few samples in the test set, to a low resolution where DPSL rarely met unobserved states. Laser readings were discretized

**Algorithm 0.1** Predictive Sequence Learning (PSL)

**Require:** *ψ* = (*e*1,*e*2,...,*eT*) where *T* denotes the length of the training set **Require:** *α*ˆ as the precision constant, see text

```
1: let t ← 1
 2: let η = (e1,e2,...,et)
 3: let C ← ∅
 4: let Eˆ as Eq. 9
 5: if Eˆ (et+1) < αˆ then
 6: let hnew = CreateHypothesis (η, C) as defined by Algorithm 0.2
 7: C (hnew) ← 1
 8: end if
 9: Update confidences C (h) as defined by Equation 4
10: set t = t + 1
11: if t<T then
12: goto 2
13: end if
```
**Algorithm 0.2** CreateHypothesis

**Require:** *η* = (*e*1,*e*2,...,*et*) **Require:** *C* : *h* → [0, 1] **Require:** *α* as defined by Eq. 3 1: **let** *M*ˆ (*h*) as Eq. 8 2: **let** *M*¯ = *<sup>h</sup>* <sup>|</sup> *<sup>E</sup>*¯ *<sup>h</sup>* (*et*+1) <sup>≥</sup> *<sup>α</sup>*<sup>ˆ</sup> <sup>∧</sup> *<sup>M</sup>*<sup>ˆ</sup> (*h*) *<sup>&</sup>gt;* <sup>0</sup> where *α*ˆ is the precision constant, see Section 2.3 3: **if** *M*¯ = ∅ **then** 4: **let** *E*∗ be a new membership function with center *et* and base *ε* 5: **return** *hnew* : (Υ*<sup>t</sup> is E*∗) <sup>⇒</sup> <sup>Υ</sup>*t*+<sup>1</sup> *is <sup>E</sup>*¯ 6: **else** 7: **let** ¯ *<sup>h</sup>* <sup>∈</sup> *<sup>M</sup>*¯ 8: **if** *C* ¯ *h* = 1 **then** 9: **return** *null* 10: **else** 11: **let** *<sup>E</sup>*<sup>∗</sup> be a new membership function with center *et*−|¯ *<sup>h</sup>*<sup>|</sup> and base *<sup>ε</sup>* 12: **return** *hnew* : <sup>Υ</sup>*t*−|¯ *<sup>h</sup>*<sup>|</sup> *is E*∗, <sup>Υ</sup>*t*−|¯ *<sup>h</sup>*|+<sup>1</sup> *is E*¯ *h* |¯ *<sup>h</sup>*|−<sup>1</sup> ,..., <sup>Υ</sup>*<sup>t</sup> is E*¯ *h* 0 <sup>⇒</sup> <sup>Υ</sup>*t*+<sup>1</sup> *is <sup>E</sup>*¯ 13: **end if** 14: **end if**

## **2.3 Parameters and task specific configuration**

A clear description of parameters is important for any learning algorithm. Parameters always introduce the risk that the learning algorithm is tuned towards the evaluated task, producing better results than it would in the general case. We have therefore strived towards limiting the number of parameters of PSL. The original design of PSL was completely parameter free, with the exception that continuous data was discretized using some discretization method. The version of PSL proposed here can be seen as a generalization of the original algorithm (Billing et al., 2011) where the width *ε* of the membership function *E* determines the discretization resolution. In addition, a second parameter is introduced, referred to as the *precision constant α*ˆ. *α*ˆ is in fuzzy logic terminology an *α-cut*, i.e., thresholds over the fuzzy membership function in the interval [0, 1] (Klir & Yuan, 1995).

*ε* controls how generously FPSL matches hypotheses. A high *ε* makes the algorithm crisp but typically increases the precision of predictions when a match is found. Contrary, a low *ε* reduces the risk that FPSL reaches unobserved states at the cost of a decreased prediction performance. The high value of *ε* can be compared to a fine resolution data discretization for the previous version of PSL.

*α*ˆ is only used during learning, controlling how exact a specific *E*¯ has to be before a new hypothesis with a different *E*¯ is created. A large *α*ˆ reduces prediction error but typically results in more hypotheses being created during learning.

Both *ε* and *α*ˆ controls the tolerance to random variations in the data and can be decided based on how exact we desire that FPSL should model the data. Small *ε* in combination with large *α*ˆ will result in a model that closely fits the training data, typically producing small prediction errors but also a low coverage.

## **3. Evaluation**

8 Robot Control

**Require:** *ψ* = (*e*1,*e*2,...,*eT*) where *T* denotes the length of the training set

6: **let** *hnew* = *CreateHypothesis* (*η*, *C*) as defined by Algorithm 0.2

9: Update confidences *C* (*h*) as defined by Equation 4

*<sup>h</sup>* <sup>|</sup> *<sup>E</sup>*¯ *<sup>h</sup>* (*et*+1) <sup>≥</sup> *<sup>α</sup>*<sup>ˆ</sup> <sup>∧</sup> *<sup>M</sup>*<sup>ˆ</sup> (*h*) *<sup>&</sup>gt;* <sup>0</sup>

5: **return** *hnew* : (Υ*<sup>t</sup> is E*∗) <sup>⇒</sup> <sup>Υ</sup>*t*+<sup>1</sup> *is <sup>E</sup>*¯

 <sup>Υ</sup>*t*−|¯

= 1 **then**

4: **let** *E*∗ be a new membership function with center *et* and base *ε*

11: **let** *<sup>E</sup>*<sup>∗</sup> be a new membership function with center *et*−|¯

*<sup>h</sup>*<sup>|</sup> *is E*∗, <sup>Υ</sup>*t*−|¯

*<sup>h</sup>*|+<sup>1</sup> *is E*¯ *h* |¯ *<sup>h</sup>*|−<sup>1</sup>

where *α*ˆ is the precision constant, see Section 2.3

*<sup>h</sup>*<sup>|</sup> and base *<sup>ε</sup>*

<sup>⇒</sup> <sup>Υ</sup>*t*+<sup>1</sup> *is <sup>E</sup>*¯

*h* 0 

,..., <sup>Υ</sup>*<sup>t</sup> is E*¯

**Algorithm 0.1** Predictive Sequence Learning (PSL)

**Require:** *α*ˆ as the precision constant, see text

1: **let** *t* ← 1

3: **let** *C* ← ∅ 4: **let** *E*ˆ as Eq. 9 5: **if** *E*ˆ (*et*+1) *< α*ˆ **then**

8: **end if**

10: **set** *t* = *t* + 1 11: **if** t<T **then** 12: **goto** 2 13: **end if**

7: *C* (*hnew*) ← 1

**Algorithm 0.2** CreateHypothesis **Require:** *η* = (*e*1,*e*2,...,*et*) **Require:** *C* : *h* → [0, 1] **Require:** *α* as defined by Eq. 3

1: **let** *M*ˆ (*h*) as Eq. 8

3: **if** *M*¯ = ∅ **then**

*<sup>h</sup>* <sup>∈</sup> *<sup>M</sup>*¯

*h* 

9: **return** *null*

12: **return** *hnew* :

2: **let** *M*¯ =

6: **else** 7: **let** ¯

8: **if** *C* ¯

10: **else**

13: **end if** 14: **end if**

2: **let** *η* = (*e*1,*e*2,...,*et*)

Two tests were performed to evaluate the performance of FPSL and compare it to the previous version. A simulated Robosoft Kompai robot (Robosoft, 2011) was used in the Microsoft RDS simulation environment (Microsoft, 2011). The 270 degree laser scanner of the Kompai was used as sensor data and the robot was controlled by setting linear and angular speeds.

Demonstrations were performed via tele-operation using a joypad, while sensor and motor data were recorded with a temporal resolution of 20 Hz. The dimensionality of the laser scanner was reduced to 20 dimensions using an average filter. Angular and linear speeds were however fed directly into PSL.

The first test (Section 3.1) was designed to compare FPSL and DPSL as prediction algorithms, using sensor data from the simulated robot. The second test (Section 3.2) demonstrates the use of FPSL as a method for LFD.

## **3.1 Sensor prediction**

The two versions of PSL were compared using a series of tests of prediction performance. Even though DPSL and FPSL are similar in many ways, a comparison is not trivial since DPSL works on discrete data whereas FPSL uses continuous data. Prediction performance of DPSL will hence depend on how the data is discretized while the performance of FPSL depends on the parameters *ε* and *α*ˆ.

To capture the prediction performance of the two algorithms using different configurations, a series of tests were designed. 10 discretization levels were chosen, ranging from a fine resolution where DPSL could only produce predictions on a few samples in the test set, to a low resolution where DPSL rarely met unobserved states. Laser readings were discretized

Fig. 2. Results from the prediction evaluation (Section 3.1). Upper plot shows prediction errors for FPSL (solid line) and DPSL (dashed line). Lower plot shows coverage , i.e. the proportion of samples for which the algorithm generated predictions, see Equation 12.

Robot Learning from Demonstration Using Predictive Sequence Learning 245

This evaluation can be seen as a continuation of previous tests with DPSL using a Khepera robot (Billing et al., 2011). The evaluation is here performed in a more complex environment, using a robot with much larger sensor dimensionality. Initial tests showed that DPSL has sever problems to handle the increased sensor dimensionality when used as a controller. A discretization resolution of about 2 m appeared necessary in order to produce satisfying discrimination ability. Even with this relatively low resolution, the 20 dimensional data produced a very large state space causing DPSL to frequently reach unrecognized states. DPSL could control the robot after intense training in parts of the test environment, but could

Vertical bars represent standard deviation.

**3.2 Target reaching**

Fig. 1. Simulation Environment (Microsoft, 2011) used for evaluations. Blue stars and yellow dots represent starting positions used for demonstrations and test runs, respectively. The green area marked with a *G* represents the target position. The white area under star 10 is the robot.

over 0.8 m for the finest resolution, up to 8 m for the lowest resolution. Motor data was discretized over 0.06m/s for the finest resolution up to 0.6 m/s for the lowest resolution. Similarly, 10 *ε* values were chosen, corresponding to a cone base ranging from 0.8 m to 8 m for laser data, and 0.06 m/s up to 0.6 m/s for motor data. *α*ˆ was given a constant value of 0.9, corresponding to a error tolerance of 10% of *ε*.

10 data files were used, each containing a demonstration where the teacher directed the robot from a position in the apartment to the TV, see Figure 1. A rotating comparison was used, where PSL was tested on one demonstration at a time and the other nine demonstrations were used as training data. Prediction performance was measured in meters on laser range data.

### **3.1.1 Results**

The results from the evaluation are illustrated in Figure 2. While the *ε* value of FPSL cannot directly be compared to the discretization level used for DPSL, the two parameters have similar effect on coverage. Prediction error is only calculated on the proportion of the data for which prediction are produced, and consequently, prediction error increases with coverage.

Fig. 2. Results from the prediction evaluation (Section 3.1). Upper plot shows prediction errors for FPSL (solid line) and DPSL (dashed line). Lower plot shows coverage , i.e. the proportion of samples for which the algorithm generated predictions, see Equation 12. Vertical bars represent standard deviation.

### **3.2 Target reaching**

10 Robot Control

Fig. 1. Simulation Environment (Microsoft, 2011) used for evaluations. Blue stars and yellow dots represent starting positions used for demonstrations and test runs, respectively. The green area marked with a *G* represents the target position. The white area under star 10 is the

over 0.8 m for the finest resolution, up to 8 m for the lowest resolution. Motor data was discretized over 0.06m/s for the finest resolution up to 0.6 m/s for the lowest resolution. Similarly, 10 *ε* values were chosen, corresponding to a cone base ranging from 0.8 m to 8 m for laser data, and 0.06 m/s up to 0.6 m/s for motor data. *α*ˆ was given a constant value of 0.9,

10 data files were used, each containing a demonstration where the teacher directed the robot from a position in the apartment to the TV, see Figure 1. A rotating comparison was used, where PSL was tested on one demonstration at a time and the other nine demonstrations were used as training data. Prediction performance was measured in meters on laser range

The results from the evaluation are illustrated in Figure 2. While the *ε* value of FPSL cannot directly be compared to the discretization level used for DPSL, the two parameters have similar effect on coverage. Prediction error is only calculated on the proportion of the data for which prediction are produced, and consequently, prediction error increases with coverage.

robot.

data.

**3.1.1 Results**

corresponding to a error tolerance of 10% of *ε*.

This evaluation can be seen as a continuation of previous tests with DPSL using a Khepera robot (Billing et al., 2011). The evaluation is here performed in a more complex environment, using a robot with much larger sensor dimensionality. Initial tests showed that DPSL has sever problems to handle the increased sensor dimensionality when used as a controller. A discretization resolution of about 2 m appeared necessary in order to produce satisfying discrimination ability. Even with this relatively low resolution, the 20 dimensional data produced a very large state space causing DPSL to frequently reach unrecognized states. DPSL could control the robot after intense training in parts of the test environment, but could

Fig. 3. Results from test runs in simulated environment (Section 3.2). Each bar corresponds to one starting position, see Figure 1. The green part of the bar represents number of successful runs where the robot reached and stopped at the target position in front of the TV. The yellow part represents runs when the robot successfully reached the target, but did not stop.

Robot Learning from Demonstration Using Predictive Sequence Learning 247

The evaluation shows that FPSL produces significantly smaller prediction errors in relation to the coverage than DPSL (Section 3.1). This was expected since FPSL can be trained to produce small prediction errors by keeping a high precision constant *α*ˆ, while the coverage is still kept high by using a large *ε*. In contrast, when using DPSL, one must choose between a small prediction error with low coverage or a high coverage at the price of an increased prediction error. As can be seen in Figure 2, FPSL is also affected by the precision/coverage tradeoff, but not nearly as much as DPSL. Furthermore, the number of generated hypotheses will increase

While FPSL performs much better than DPSL on large and multidimensional state spaces, it should not be seen as a general solution to the dimensionality problem. The increased number of hypotheses results in increased processing and memory requirements. Furthermore, FPSL is still not able to ignore uncorrelated dimensions in data, making it subject to the curse of dimensionality. One potential solution is to modify the size of membership functions in relation to the information content of the dimension. However, initial tests did not produce satisfying results and further experiments in this direction were postponed to future work.

with *α*ˆ, which also has a positive effect on coverage for multidimensional data.

The test was executed 10 times from each starting position.

not compete with FPSL in a more realistic setting. We therefore chose to not make a direct controller comparison, but rather show the behavior of FPSL in an applied and reproducible setting.

FPSL was trained on 10 demonstrations showing how to get to the TV from various places in the apartment, see Figure 1. The performance of FPSL as a method for LFD was evaluated by testing how often the robot reached the target position in front of the TV starting out from 10 different positions than the ones used during training. FPSL controlled the robot by continuously predicting the next sensory-motor event based on the sequence of passed events. The motor part of the predicted element was sent to the robot controller. A standard reactive obstacle avoidance controller was used as fallback in cases where FPSL did not find any match with observed data. The task was considered successfully executed if the target position was reached without hitting any walls or obstacles. The experiment was repeated ten times, producing a total of 100 test runs.

## **3.2.1 Results**

FPSL successfully reached the target position in front of the TV (the green area in Figure 1) in 79% of the test runs. In 68 runs, it stopped in front of the TV as demonstrated, but in 11 runs it failed to stop even though it reached the target position. The distribution over the 10 starting positions illustrated in Figure 3.

## **4. Discussion**

Applied as a robot controller, PSL is a semi-reactive generative model that produces both actions and expected observations, based on recent sensory-motor events. We believe that this approach to robot learning has great potential since the behavior can be learnt progressively and previous knowledge contributes to the interpretation of new events. It is also general in the sense that very little domain specific knowledge is introduced. Memories are stored as sequences of sensory-motor events that in principle can represent any behavior. While PSL efficiently can represent behaviors with short temporal dependencies, it is subject to combinatorial explosion when the behavior requires representations over longer time spans. We argue that the gradually extending memory of PSL, from being purely reactive to containing representations over longer time when needed, provides a good bias in learning. It will however make learning of behaviors that do require long temporal dependencies slow. The fuzzy version of PSL presented in this work does not directly provide a solution to this problem, but is one step towards integrating PSL in a hierarchical structure as discussed in Section 1.2.

The seeds to FPSL came from the observation that a lot of training was required in order to cover the state space of DPSL with satisfying resolution. A better tradeoff between high precision in prediction and coverage would make PSL a more competitive alternative for real world LFD scenarios. Without sacrificing the strong attributes of the original PSL algorithm, such as the model free design, few parameters and progressively growing representations, FPSL was designed.

Expressing PSL with Fuzzy Logic is in many ways a natural extension and generalization of the discrete algorithm. By using a discrete uniform membership function *E* and a *max* operator for defuzzification, FPSL becomes very similar to DPSL. Even though the processing of continuous values does add significant processing requirements in comparison to DPSL, FPSL can still be efficiently implemented as a fuzzy rule controller.

12 Robot Control

not compete with FPSL in a more realistic setting. We therefore chose to not make a direct controller comparison, but rather show the behavior of FPSL in an applied and reproducible

FPSL was trained on 10 demonstrations showing how to get to the TV from various places in the apartment, see Figure 1. The performance of FPSL as a method for LFD was evaluated by testing how often the robot reached the target position in front of the TV starting out from 10 different positions than the ones used during training. FPSL controlled the robot by continuously predicting the next sensory-motor event based on the sequence of passed events. The motor part of the predicted element was sent to the robot controller. A standard reactive obstacle avoidance controller was used as fallback in cases where FPSL did not find any match with observed data. The task was considered successfully executed if the target position was reached without hitting any walls or obstacles. The experiment was repeated ten

FPSL successfully reached the target position in front of the TV (the green area in Figure 1) in 79% of the test runs. In 68 runs, it stopped in front of the TV as demonstrated, but in 11 runs it failed to stop even though it reached the target position. The distribution over the 10 starting

Applied as a robot controller, PSL is a semi-reactive generative model that produces both actions and expected observations, based on recent sensory-motor events. We believe that this approach to robot learning has great potential since the behavior can be learnt progressively and previous knowledge contributes to the interpretation of new events. It is also general in the sense that very little domain specific knowledge is introduced. Memories are stored as sequences of sensory-motor events that in principle can represent any behavior. While PSL efficiently can represent behaviors with short temporal dependencies, it is subject to combinatorial explosion when the behavior requires representations over longer time spans. We argue that the gradually extending memory of PSL, from being purely reactive to containing representations over longer time when needed, provides a good bias in learning. It will however make learning of behaviors that do require long temporal dependencies slow. The fuzzy version of PSL presented in this work does not directly provide a solution to this problem, but is one step towards integrating PSL in a hierarchical structure as discussed in

The seeds to FPSL came from the observation that a lot of training was required in order to cover the state space of DPSL with satisfying resolution. A better tradeoff between high precision in prediction and coverage would make PSL a more competitive alternative for real world LFD scenarios. Without sacrificing the strong attributes of the original PSL algorithm, such as the model free design, few parameters and progressively growing representations,

Expressing PSL with Fuzzy Logic is in many ways a natural extension and generalization of the discrete algorithm. By using a discrete uniform membership function *E* and a *max* operator for defuzzification, FPSL becomes very similar to DPSL. Even though the processing of continuous values does add significant processing requirements in comparison to DPSL,

FPSL can still be efficiently implemented as a fuzzy rule controller.

setting.

**3.2.1 Results**

**4. Discussion**

Section 1.2.

FPSL was designed.

times, producing a total of 100 test runs.

positions illustrated in Figure 3.

Fig. 3. Results from test runs in simulated environment (Section 3.2). Each bar corresponds to one starting position, see Figure 1. The green part of the bar represents number of successful runs where the robot reached and stopped at the target position in front of the TV. The yellow part represents runs when the robot successfully reached the target, but did not stop. The test was executed 10 times from each starting position.

The evaluation shows that FPSL produces significantly smaller prediction errors in relation to the coverage than DPSL (Section 3.1). This was expected since FPSL can be trained to produce small prediction errors by keeping a high precision constant *α*ˆ, while the coverage is still kept high by using a large *ε*. In contrast, when using DPSL, one must choose between a small prediction error with low coverage or a high coverage at the price of an increased prediction error. As can be seen in Figure 2, FPSL is also affected by the precision/coverage tradeoff, but not nearly as much as DPSL. Furthermore, the number of generated hypotheses will increase with *α*ˆ, which also has a positive effect on coverage for multidimensional data.

While FPSL performs much better than DPSL on large and multidimensional state spaces, it should not be seen as a general solution to the dimensionality problem. The increased number of hypotheses results in increased processing and memory requirements. Furthermore, FPSL is still not able to ignore uncorrelated dimensions in data, making it subject to the curse of dimensionality. One potential solution is to modify the size of membership functions in relation to the information content of the dimension. However, initial tests did not produce satisfying results and further experiments in this direction were postponed to future work.

**5. References**

vol.3.

Alissandrakis, A., Nehaniv, C. L. & Dautenhahn, K. (2002). Imitation With ALICE: Learning

Robot Learning from Demonstration Using Predictive Sequence Learning 249

Argall, B. D., Chernova, S., Veloso, M. & Browning, B. (2009). A survey of robot learning from

Billard, A., Epars, Y., Cheng, G. & Schaal, S. (2003). Discovering imitation strategies through

Billing, E. A. (2009). *Cognition Reversed - Robot Learning from Demonstration*, Lic. thesis, Umeå

Billing, E. A. & Hellström, T. (2010). A Formalism for Learning from Demonstration, *Paladyn:*

Billing, E. A., Hellström, T. & Janlert, L. E. (2010). Behavior Recognition for Learning

Billing, E. A., Hellström, T. & Janlert, L. E. (2011). Predictive learning from demonstration, *in*

Brass, M., Bekkering, H., Wohlschläger, A. & Prinz, W. (2000). Compatibility between

Brooks, R. A. (1986). A Robust Layered Control System For A Mobile Robot, *IEEE Journal of*

Byrne, R. W. & Russon, A. E. (1998). Learning by Imitation: a Hierarchical Approach, *The*

Calinon, S. (2009). *Robot Programming by Demonstration - A Probabilistic Approach*, EFPL Press. Calinon, S., Guenter, F. & Billard, A. (2007). On Learning, Representing and Generalizing a

de Rengervé, A., D'halluin, F., Andry, P., Gaussier, P. & Billard, A. (2010). A study

Demiris, J. & Hayes, G. (1997). Do robots ape?, *Proceedings of the AAAI Fall Symposium on*

Demiris, J. & Hayes, G. R. (2002). *Imitation as a dual-route process featuring predictive and learning components: a biologically plausible computational model*, MIT Press, pp. 327–361. Demiris, Y. (1999). *Movement Imitation Mechanisms in Robots and Humans*, PhD thesis,

demonstration, *Robotics and Autonomous Systems* 57(5): 469–483.

University, Department of Computing Science, Umeå, Sweden.

Arkin, R. C. (1998). *Behaviour-Based Robotics*, MIT Press.

Billing, E. A. (2011). www.cognitionreversed.com.

*Automation*, Anchorage, Alaska.

*Robotics and Automation* 2(1): 14–23.

*Epigenetic Robotics*, Lund, Sweden.

*Socially Intelligent Agents*, pp. 28–31.

University of Edinburgh.

Berlin, pp. 186–200.

*Journal of Behavioral Robotics* 1(1): 1–13.

imitative cues., *Brain and cognition* 44(2): 124–43.

*Journal of Behavioral and Brain Sciences* 16(3).

Brooks, R. A. (1991). New Approaches to Robotics, *Science* 253(13): 1227–1232.

*on Systems, Man and Cybernetics, Part A: Systems and Humans* 32: 482–496. Alissandrakis, A., Nehaniv, C. L., Dautenhahn, K. & Saunders, J. (2005). An Approach

to Imitate Corresponding Actions Across Dissimilar Embodiments, *IEEE Transactions*

for Programming Robots by Demonstration: Generalization Across Different Initial Configurations of Manipulated Objects, *Proceedings of 2005 International Symposium on Computational Intelligence in Robotics and Automation*, Ieee, Espoo, Finland, pp. 61–66.

categorization of multi-dimensional data, *Proceedings of the 2003 IEEE/RSJ Intl. Conference on Intelligent Robots and Systems*, Vol. 3, Las Vegas, Nevada, pp. 2398–2403

from Demonstration, *Proceedings of IEEE International Conference on Robotics and*

J. Filipe, A. Fred & B. Sharp (eds), *Agents and Artificial Intelligence*, Springer Verlag,

observed and executed finger movements: comparing symbolic, spatial, and

Task in a Humanoid Robot, *IEEE Transactions on Systems, Man and Cybernetics, Part B. Special issue on robot learning by observation, demonstration and imitation* 37(2): 286–298.

of two complementary encoding strategies based on learning by demonstration for autonomous navigation task, *Proceedings of the Tenth International Conference on*

We found the results from the controller evaluation very promising (Section 3.2). The application environment has been scaled up significantly in comparison to previous work (Billing et al., 2011) and we are now able to perform learning in a fairly realistic setting. When observing these results one should remember that PSL does not solve a spatial task. There is no position sensor or internal map of the environment and the robot is still able to navigate from almost any position in the environment, to a specific target location. The goal is better described as an attractor in a dynamic system, where the robot in interaction with the environment finally reaches a stable state in front of the TV (Figure 1).

An interesting observation is that it is often difficult to predict how well PSL will be able to handle a specific situation. For example, starting position 6 was not passed during any demonstration, but PSL still managed to control the robot such that it reached the target in 7 out of 10 test runs. On the other hand, position 5 and 10 produced worse results than expected. Even though these starting positions were spatially close to several positions passed during the demonstrations, the directions at which the robot reached these positions were different, producing different laser scans, and PSL could consequently not find a suitable match. In some of the cases, inappropriate matches were found and the robot turned in the wrong direction. In other cases, no match at all was found causing the robot to fall back on the reactive controller for a longer period and usually getting stuck in a corner.

The amount of training data used in this evaluation was fairly small. Only one demonstration from each starting position was performed. One reason why FPSL is able to solve the task despite the small amount of training is that all data potentially contribute to every action selection, independently of where in the demonstration it originally took place. Techniques that represent the whole behavior as a sequence with variations, typically require more training since information from the beginning of the demonstration does not contribute to action selection in other parts of the behavior. PSL does not relies on common features within a set of demonstrations and consequently does not require that demonstrations are compared or temporally aligned, see Section 1. In its current design, PSL is of course unable to perform a program-level imitation since it always rely on sensory-motor events, but it does not suffer from a large diversity in the demonstration set as long as the recent sensory-motor events bear necessary information to select a suitable action.

### **4.1 Conclusions and future work**

In this chapter, we show that PSL can be used as a method for LFD, in a fairly realistic setting. The move from a discrete state space used in previous work to the continuous state space appears to have a positive effect on generalization ability and prediction performance, especially on multi-dimensional data. The next step is to conduct experiments with the physical Kompai robot (Robosoft, 2010) in an attempt to verify the results in the real world. The fuzzy version of PSL proposed here, and specifically the introduction of context sets *C*, should be seen as one step towards integrating PSL in a hierarchical architecture. The higher level controller may be another instance of PSL working on a lower temporal resolution, or a completely different control system interacting with PSL by changing the responsibility *λ<sup>t</sup>* (*C*) for each context (Equation 5). For an actual interaction to take place, PSL also has to feed information upwards, to higher level controllers. In previous work on behavior recognition (Billing et al., 2010), we have shown that PSL can be used to compute a bottom-up signal providing information about how well each context corresponds to present circumstances. While this has not been the focus of this chapter, we intend to evaluate these aspects of PSL in future work.

### **5. References**

14 Robot Control

We found the results from the controller evaluation very promising (Section 3.2). The application environment has been scaled up significantly in comparison to previous work (Billing et al., 2011) and we are now able to perform learning in a fairly realistic setting. When observing these results one should remember that PSL does not solve a spatial task. There is no position sensor or internal map of the environment and the robot is still able to navigate from almost any position in the environment, to a specific target location. The goal is better described as an attractor in a dynamic system, where the robot in interaction with the

An interesting observation is that it is often difficult to predict how well PSL will be able to handle a specific situation. For example, starting position 6 was not passed during any demonstration, but PSL still managed to control the robot such that it reached the target in 7 out of 10 test runs. On the other hand, position 5 and 10 produced worse results than expected. Even though these starting positions were spatially close to several positions passed during the demonstrations, the directions at which the robot reached these positions were different, producing different laser scans, and PSL could consequently not find a suitable match. In some of the cases, inappropriate matches were found and the robot turned in the wrong direction. In other cases, no match at all was found causing the robot to fall back on the

The amount of training data used in this evaluation was fairly small. Only one demonstration from each starting position was performed. One reason why FPSL is able to solve the task despite the small amount of training is that all data potentially contribute to every action selection, independently of where in the demonstration it originally took place. Techniques that represent the whole behavior as a sequence with variations, typically require more training since information from the beginning of the demonstration does not contribute to action selection in other parts of the behavior. PSL does not relies on common features within a set of demonstrations and consequently does not require that demonstrations are compared or temporally aligned, see Section 1. In its current design, PSL is of course unable to perform a program-level imitation since it always rely on sensory-motor events, but it does not suffer from a large diversity in the demonstration set as long as the recent sensory-motor events bear

In this chapter, we show that PSL can be used as a method for LFD, in a fairly realistic setting. The move from a discrete state space used in previous work to the continuous state space appears to have a positive effect on generalization ability and prediction performance, especially on multi-dimensional data. The next step is to conduct experiments with the physical Kompai robot (Robosoft, 2010) in an attempt to verify the results in the real world. The fuzzy version of PSL proposed here, and specifically the introduction of context sets *C*, should be seen as one step towards integrating PSL in a hierarchical architecture. The higher level controller may be another instance of PSL working on a lower temporal resolution, or a completely different control system interacting with PSL by changing the responsibility *λ<sup>t</sup>* (*C*) for each context (Equation 5). For an actual interaction to take place, PSL also has to feed information upwards, to higher level controllers. In previous work on behavior recognition (Billing et al., 2010), we have shown that PSL can be used to compute a bottom-up signal providing information about how well each context corresponds to present circumstances. While this has not been the focus of this chapter, we intend to evaluate these aspects of PSL in

environment finally reaches a stable state in front of the TV (Figure 1).

reactive controller for a longer period and usually getting stuck in a corner.

necessary information to select a suitable action.

**4.1 Conclusions and future work**

future work.


**13** 

Jan Babič

*Slovenia* 

*"Jožef Stefan" Institute* 

**Biarticular Actuation of Robotic Systems** 

In biology, biarticular muscles are muscles that are passing two joints. One of the biarticular muscles that is passing the knee and the ankle joints is the Gastrocnemius muscle (see Fig. 1). Functions of the biarticular muscles during human movement have been studied extensively by many researchers but these functions still remain unclear. One of such functions is the transportation of mechanical energy from proximal to distal points (Ingen Schenau, 1989). It is believed that this transportation causes an effective transformation of rotational motion of body segments into translation of the body centre of gravity. The mechanism by which this is achieved is the timely activation of biarticular muscles before the end of the explosive phase of the movement. The activation of the biarticular muscle prior to the end of the explosive phase of the motion enables the transportation of the power generated by the proximal joint extensors from the proximal joint to the distal joint. This transfer of mechanical energy can be explained using the following example of the gastrocnemius muscle activation. During the push-off phase of the human jump, the knee joint is rapidly extended as a result of the positive work done by the knee extensor muscles. If the biarticular gastrocnemius muscle contracts isometrically (its length does not change), the additional mechanical work is done at the ankle joint because of the gastrocnemius muscle, which contributes no mechanical work by itself. A part of the energy generated by the knee extensors appears as mechanical work at the ankle joint and the height of the jump is significantly increased. This is because, as the jump proceeds and the knee straightens, the angular position changes of the knee have progressively less effect on vertical velocity of the jumper centre of gravity. By gastrocnemius muscle activation, a rapid extension of the foot is produced. This extension has a greater effect on the vertical velocity than the extension of the almost straightened knee. The energy is more effectively translated into vertical velocity and a greater height of the jump is achieved. However, the timing of the gastrocnemius muscle activation is critical to obtain a maximum effect. This was demonstrated by an

articulated physical model of the vertical jump by Bobbert et al (1986).

Besides biarticularity, the gastrocnemius muscle has one more interesting feature. It is connected to the foot by an elastic tendon (see Fig. 1). The elasticity in the muscle fibres and tendons plays an important role in enhancing the effectiveness and the efficiency of human performance. An enhanced performance of human motion has been most effectively demonstrated for jumping and running (Cavagna, 1970; Bobbert et al., 1996; Shorten, 1985; Hobara, 2008). An important feature of elastic tissues is the ability to store elastic energy when stretched and to recoil this energy afterwards as a mechanical work (Asmussen and

**1. Introduction** 


## **Biarticular Actuation of Robotic Systems**

Jan Babič *"Jožef Stefan" Institute Slovenia* 

### **1. Introduction**

16 Robot Control

250 Robotic Systems – Applications, Control and Programming

Demiris, Y. & Johnson, M. (2003). Distributed, predictive perception of actions: a

Gallese, V., Fadiga, L., Fogassi, L. & Rizzolatti, G. (1996). Action recognition in the premotor

Haruno, M., Wolpert, D. M. & Kawato, M. M. (2001). MOSAIC Model for Sensorimotor

Klir, G. J. & Yuan, B. (1995). *Fuzzy Sets and Fuzzy Logic: Theory and Applications*, Prentice Hall. Matari´c, M. J. (1997). Behavior-Based Control: Examples from Navigation, Learning,

Matari´c, M. J. (2002). *Sensory-motor primitives as a basis for imitation: linking perception to action*

Matari´c, M. J. & Marjanovic, M. J. (1993). Synthesizing Complex Behaviors by Composing

Myers, B. C. S. & Rabiner, L. R. (1981). A Comparative Study of Several Dynamic

Nehaniv, C. L. & Dautenhahn, K. (2000). *Of hummingbirds and helicopters: An algebraic framework*

Nehaniv, C. L. & Dautenhahn, K. (2001). Like Me? - Measures of Correspondence and

Nicolescu, M. (2003). *A Framework for Learning from Demonstration, Generalization and Practice in Human-Robot Domains*, PhD thesis, University of Southern California. Rizzolatti, G., Camarda, R., Fogassi, L., Gentilucci, M., Luppino, G. & Matelli, M. (1988).

Rizzolatti, G. & Craighero, L. (2004). The Mirror-Neuron System, *Annual Review of Neuroscience*

Rohrer, B. (2007). S-Learning: A Biomimetic Algorithm for Learning, Memory, and Control in

Rohrer, B. & Hulet, S. (2006). BECCA - A Brain Emulating Cognition and Control Architecture,

Tani, J., Ito, M. & Sugita, Y. (2004). Self-Organization of Distributedly Represented Multiple

Wolpert, D. M. & Kawato, M. (1998). Multiple paired forward and inverse models for motor

*Technical report*, Cybernetic Systems Integration Department, Univeristy of Sandria

Behavior Schemata in a Mirror System : Reviews of Robot Experiments Using

Time-Warping, *The Bell System Technical Journal* 60(7): 1389–1409.

*Science* 15(4): 231–243.

9(2-3): 323–336.

Press, pp. 136–161.

27: 169–192. Robosoft (2010). www.robosoft.com. Robosoft (2011). Kompai Robot.

control.

cortex, *Brain* 119(2): 593–609.

Brussels, Belgium, pp. 698–707. Microsoft (2011). Microsoft Robotic Developer Studio. URL: *http://www.microsoft.com/robotics/*

Fullér, R. (1995). *Neural Fuzzy Systems*, Abo Akademi University.

*and biology to robotics*, MIT Press, pp. 391–422.

Imitation, *Cybernetics and Systems* 32: 11–51.

*Expérimentation cérébrale* 71(3): 491–507.

Robots, Kohala Coast, Hawaii, pp. 148 – 151.

RNNPB, *Neural Networks* 17: 1273–1289.

National Laboratories, Alberquerque, NM, USA.

Learning and Control, *Neural Comput.* 13(10): 2201–2220.

biologically inspired robotics architecture for imitation and learning, *Connection*

and Group Behavior, *Journal of Experimental and Theoretical Artificial Intelligence*

Simple Primitives, *Proceedings of the European Conference on Artificial Life*, Vol. 2,

*for interdisciplinary studies of imitation and its applications*, Vol. 24, World Scientific

Functional organization of inferior area 6 in the macaque monkey. II. Area F5 and the control of distal movements., *Experimental brain research. Experimentelle Hirnforschung.* In biology, biarticular muscles are muscles that are passing two joints. One of the biarticular muscles that is passing the knee and the ankle joints is the Gastrocnemius muscle (see Fig. 1). Functions of the biarticular muscles during human movement have been studied extensively by many researchers but these functions still remain unclear. One of such functions is the transportation of mechanical energy from proximal to distal points (Ingen Schenau, 1989). It is believed that this transportation causes an effective transformation of rotational motion of body segments into translation of the body centre of gravity. The mechanism by which this is achieved is the timely activation of biarticular muscles before the end of the explosive phase of the movement. The activation of the biarticular muscle prior to the end of the explosive phase of the motion enables the transportation of the power generated by the proximal joint extensors from the proximal joint to the distal joint. This transfer of mechanical energy can be explained using the following example of the gastrocnemius muscle activation. During the push-off phase of the human jump, the knee joint is rapidly extended as a result of the positive work done by the knee extensor muscles. If the biarticular gastrocnemius muscle contracts isometrically (its length does not change), the additional mechanical work is done at the ankle joint because of the gastrocnemius muscle, which contributes no mechanical work by itself. A part of the energy generated by the knee extensors appears as mechanical work at the ankle joint and the height of the jump is significantly increased. This is because, as the jump proceeds and the knee straightens, the angular position changes of the knee have progressively less effect on vertical velocity of the jumper centre of gravity. By gastrocnemius muscle activation, a rapid extension of the foot is produced. This extension has a greater effect on the vertical velocity than the extension of the almost straightened knee. The energy is more effectively translated into vertical velocity and a greater height of the jump is achieved. However, the timing of the gastrocnemius muscle activation is critical to obtain a maximum effect. This was demonstrated by an articulated physical model of the vertical jump by Bobbert et al (1986).

Besides biarticularity, the gastrocnemius muscle has one more interesting feature. It is connected to the foot by an elastic tendon (see Fig. 1). The elasticity in the muscle fibres and tendons plays an important role in enhancing the effectiveness and the efficiency of human performance. An enhanced performance of human motion has been most effectively demonstrated for jumping and running (Cavagna, 1970; Bobbert et al., 1996; Shorten, 1985; Hobara, 2008). An important feature of elastic tissues is the ability to store elastic energy when stretched and to recoil this energy afterwards as a mechanical work (Asmussen and

Biarticular Actuation of Robotic Systems 253

The prime criterion for vertical jump efficiency is the height of the jump that depends on the speed of the jumper's centre of gravity (COG) in the moment when the feet detach from the ground. Besides maintaining the balance, the task of the muscles during the push-off phase of the jump is to accelerate the body's COG up in the vertical direction to the extended body position. During the push-off phase of the jump, the jumper's centre of gravity must be above the supporting polygon that is formed by the feet (Babič et al., 2001). In contrast to the humans, today's humanoid robots are mostly unable to perform fast movements such as the vertical jump. They can mostly perform only slow and statically stable movements that do not imitate the human motion. Besides, these slow and statically stable movements are energy inefficient. With the understanding of the anatomy and the biomechanics of the human body, one can find out that, beside the shape, majority of today's humanoid robots and human bodies do not have a lot of common properties. To achieve a better imitation of the human motion and ability to perform fast movements such as the vertical jump or running, other properties and particularities, beside the shape of the body, should be

In this section we will first analyse the human vertical jump and show that for each and every subject there exists an optimal triceps surae muscle-tendon complex stiffness that ensures the maximal possible height of the vertical jump. We define the influence of the m. gastrocnemius activation timing and the m. gastrocnemius and Achilles tendon stiffness on the height of the vertical jump and establish the methodology for analysis and evaluation of the vertical jump. We monitored kinematics, dynamics and m. gastrocnemius electrical activity during the maximum height countermovement jump of human subjects and measured viscoelastic properties of the m. gastrocnemius and Achilles tendon using the free-vibration technique. Based on the findings of the biomechanical study of the human vertical jump we performed a simulation study of the humanoid robot vertical jump. As a result we propose a new human inspired structure of the lower extremity mechanism by which a humanoid robot would be able to efficiently perform fast movements such as

Biorobotic model of the vertical jump consists of the dynamic model of the musculoskeletal system and of the mathematical model used for the motion control of the model. The results of the modelling are differential equations and a diagram for simulation and optimization of

Vertical jump is an example of a movement that can be satisfactorily observed and analysed in just a sagittal plane. Therefore we built a model of the musculoskeletal system in a two dimensional space of the sagittal plane. Because both lower extremities perform the same movement during the vertical jump, we joined both extremities in one extremity with three rigid body segments. Trunk, head and upper extremities were modelled as one rigid body with a common COG, mass and moment of inertia. The model of the musculoskeletal system is therefore a planar model composed of four segments that represent the foot, shank, thigh and trunk together with the head and both upper extremities. Segments of the model are joined together by frictionless rotational hinges whose axes are perpendicular to the sagittal plane. The contact between the foot and the ground is modelled as a rotational

considered in the design of the humanoid robot.

running and jumping.

the vertical jump.

**2.1 Biorobotic model of vertical jump** 

**2.1.1 Dynamic model of musculoskeletal system** 

Bonde-Petersen, 1974). Beside this feature, oscillatory movements performed at the natural frequency of muscle-tendon complex could maximize the performance. A countermovement vertical jump can be treated as one period of oscillatory movement and from this point of view the natural frequency, as well as parameters that define the natural frequency, can be determined.

Lower extremities of today's humanoid robots are mostly serial mechanisms with simple rotational joints that are driven directly or indirectly by electrical servo drives. Such design of humanoid robot mechanism allows only rotational motion in joints to occur. This means that translations of the robot's centre of gravity are solely a result of the transformation of rotations in joints into translations of the robot centre of gravity. Especially in ballistic movements such as fast running or jumping where the robot centre of gravity is to be accelerated from low or zero velocity to a velocity as high as possible, this transformation is handicapped. The transfer of the angular motion of the lower extremity segments to the desired translational motion of the robot centre of gravity is less effective the more the joints are extended. When the joint is fully extended, the effect of this joint on the translational motion of the robot centre of gravity in a certain direction equals zero. Besides, the motion of the segments should decelerate to zero prior to the full extension to prevent a possible damaging hyperextension. Where relatively large segments which may contain considerable amounts of rotational energy are involved, high power is necessary to decelerate the angular motion.

Fig. 1. Biarticular muscle gastrocnemius passing the knee and the ankle joints. It acts as a knee flexor and ankle extensor. Gastrocnemius muscle is connected to the foot by an elastic tendon

The purpose of this chapter is, first, to make an extensive review of the research of the role of biarticular muscles in motion of the humans and to present this biomechanical body of knowledge from an engineering perspective, and second, to describe the research results where biarticular actuation was used to achieve energy efficient and high performance motion of a humanoid robotic leg. The chapter is based mostly on the previous journal publications of the author and on the yet unpublished research results.

## **2. Role of biarticular muscles in human jump**

Vertical jumping is a complex task requiring quick and harmonized coordination of jumper's body segments, first for the push-off, then for the flight and lastly for the landing. 252 Robotic Systems – Applications, Control and Programming

Bonde-Petersen, 1974). Beside this feature, oscillatory movements performed at the natural frequency of muscle-tendon complex could maximize the performance. A countermovement vertical jump can be treated as one period of oscillatory movement and from this point of view the natural frequency, as well as parameters that define the natural frequency, can be

Lower extremities of today's humanoid robots are mostly serial mechanisms with simple rotational joints that are driven directly or indirectly by electrical servo drives. Such design of humanoid robot mechanism allows only rotational motion in joints to occur. This means that translations of the robot's centre of gravity are solely a result of the transformation of rotations in joints into translations of the robot centre of gravity. Especially in ballistic movements such as fast running or jumping where the robot centre of gravity is to be accelerated from low or zero velocity to a velocity as high as possible, this transformation is handicapped. The transfer of the angular motion of the lower extremity segments to the desired translational motion of the robot centre of gravity is less effective the more the joints are extended. When the joint is fully extended, the effect of this joint on the translational motion of the robot centre of gravity in a certain direction equals zero. Besides, the motion of the segments should decelerate to zero prior to the full extension to prevent a possible damaging hyperextension. Where relatively large segments which may contain considerable amounts of rotational energy are involved, high power is necessary to decelerate the angular

Fig. 1. Biarticular muscle gastrocnemius passing the knee and the ankle joints. It acts as a knee flexor and ankle extensor. Gastrocnemius muscle is connected to the foot by an elastic

publications of the author and on the yet unpublished research results.

**2. Role of biarticular muscles in human jump** 

The purpose of this chapter is, first, to make an extensive review of the research of the role of biarticular muscles in motion of the humans and to present this biomechanical body of knowledge from an engineering perspective, and second, to describe the research results where biarticular actuation was used to achieve energy efficient and high performance motion of a humanoid robotic leg. The chapter is based mostly on the previous journal

Vertical jumping is a complex task requiring quick and harmonized coordination of jumper's body segments, first for the push-off, then for the flight and lastly for the landing.

determined.

motion.

tendon

The prime criterion for vertical jump efficiency is the height of the jump that depends on the speed of the jumper's centre of gravity (COG) in the moment when the feet detach from the ground. Besides maintaining the balance, the task of the muscles during the push-off phase of the jump is to accelerate the body's COG up in the vertical direction to the extended body position. During the push-off phase of the jump, the jumper's centre of gravity must be above the supporting polygon that is formed by the feet (Babič et al., 2001). In contrast to the humans, today's humanoid robots are mostly unable to perform fast movements such as the vertical jump. They can mostly perform only slow and statically stable movements that do not imitate the human motion. Besides, these slow and statically stable movements are energy inefficient. With the understanding of the anatomy and the biomechanics of the human body, one can find out that, beside the shape, majority of today's humanoid robots and human bodies do not have a lot of common properties. To achieve a better imitation of the human motion and ability to perform fast movements such as the vertical jump or running, other properties and particularities, beside the shape of the body, should be considered in the design of the humanoid robot.

In this section we will first analyse the human vertical jump and show that for each and every subject there exists an optimal triceps surae muscle-tendon complex stiffness that ensures the maximal possible height of the vertical jump. We define the influence of the m. gastrocnemius activation timing and the m. gastrocnemius and Achilles tendon stiffness on the height of the vertical jump and establish the methodology for analysis and evaluation of the vertical jump. We monitored kinematics, dynamics and m. gastrocnemius electrical activity during the maximum height countermovement jump of human subjects and measured viscoelastic properties of the m. gastrocnemius and Achilles tendon using the free-vibration technique. Based on the findings of the biomechanical study of the human vertical jump we performed a simulation study of the humanoid robot vertical jump. As a result we propose a new human inspired structure of the lower extremity mechanism by which a humanoid robot would be able to efficiently perform fast movements such as running and jumping.

### **2.1 Biorobotic model of vertical jump**

Biorobotic model of the vertical jump consists of the dynamic model of the musculoskeletal system and of the mathematical model used for the motion control of the model. The results of the modelling are differential equations and a diagram for simulation and optimization of the vertical jump.

### **2.1.1 Dynamic model of musculoskeletal system**

Vertical jump is an example of a movement that can be satisfactorily observed and analysed in just a sagittal plane. Therefore we built a model of the musculoskeletal system in a two dimensional space of the sagittal plane. Because both lower extremities perform the same movement during the vertical jump, we joined both extremities in one extremity with three rigid body segments. Trunk, head and upper extremities were modelled as one rigid body with a common COG, mass and moment of inertia. The model of the musculoskeletal system is therefore a planar model composed of four segments that represent the foot, shank, thigh and trunk together with the head and both upper extremities. Segments of the model are joined together by frictionless rotational hinges whose axes are perpendicular to the sagittal plane. The contact between the foot and the ground is modelled as a rotational

Biarticular Actuation of Robotic Systems 255

<sup>0</sup> =⋅ − −⋅ *k b* ( )

where *k* represents the stiffness of the m. gastrocnemius and Achilles tendon connected in series, *BC* is the vector between the insertions of the biarticular link on the foot and thigh. *BC*0 is the vector *BC* in the moment of the gastrocnemius muscle activation. Force in the

where *r*B is the moment arm vector from the centre of the ankle joint to the insertion of the

where *r*C is the moment arm vector from the centre of the knee joint to the insertion of the

Motion of the musculoskeletal system is written with a system of dynamic equations of motion

() (,) () **H** + + = ++ *mov pas bl qq hqq Gq Q Q Q* , (4)

where *Qpas* is the vector of joint torques caused by the passive constraints in the joints and *Qbl* is the vector of joint torques caused by the biarticular link. *Qmov* is the vector of joint torques caused by muscles and represents the input to the direct dynamic model of the musculoskeletal system. The output from the direct dynamic model is the vector of joint displacements *q*. We determined parameters of (4) **H**() ( ) () *q hqq Gq* , ,, using the equations published by Asada and Slotine (1986). Simulation diagram of the direct dynamic model of

Motion controller of the musculoskeletal system was designed to meet the following four

1. Perpendicular projection of the body's COG on the ground coincides with the virtual joint that connects the foot with the ground during the entire push-off phase of the vertical jump. Therefore balance of the jumper and verticality of the jump is assured.

() 0 *<sup>d</sup>*

2. Motion controller assures the desired vertical movement of the body's COG relative to

parameters of the biarticular link can be varied and optimized for a certain desired

COG on the ground from the origin of the base coordinate system in time *t*.

we excluded the influence of the biarticular link on the motion ( ) *<sup>d</sup>*

*<sup>T</sup> x t* is the distance between the desired perpendicular projection of the body's

*TA y t* . By controlling the movement of the body's COG relative to the ankle,

the musculoskeletal system is shown in the shaded rectangle of the Fig. 3.

Equation that describes this requirement is

motion of the body's COG relative to the ankle.

*f BC BC BC* , (1)

*Qbl* <sup>2</sup> =− ×*Br f* , (2)

*Qbl C* <sup>3</sup> = × *r f* , (3)

*<sup>T</sup> x t* = , (5)

*TA y t* . Therefore

Vector of the force in the biarticular link *f* is

biarticular link *f* causes a torque in the ankle joint

biarticular link on the thigh.

**2.1.2 Motion control** 

where ( ) *<sup>d</sup>*

the ankle ( ) *<sup>d</sup>*

requirements:

biarticular link on the foot and a torque in the knee joint

joint between the tip of the foot and the ground. A model, whose foot is connected to the ground by a rotational joint, is applicable only for the push-off and landing phases of the vertical jump and is not applicable for the flight. As the motion of the COG during the flight is simply described and depends only on the speed vector of the COG just prior to the takeoff, this simplification does not present any limitations.

Fig. 2 shows the planar model of the musculoskeletal system, composed of four rigid bodies that represent the foot, shank, thigh and trunk together with the head and both upper extremities. The origin of the base coordinate system is in the centre of the virtual joint that connects the foot with the ground.

Fig. 2. Planar model of the musculoskeletal system

Passive constraints in the hip, knee and ankle that define the range of motion of these joints were modelled as simple nonlinear springs (Audu and Davy, 1985; Davy and Audu, 1987).

Fig. 2 also shows the model of the biarticular link that consists of the gastrocnemius muscle (GA) with stiffness *kGA* and damping *b* and the Achilles tendon (AT) with stiffness *kAT*. Contrary to the real gastrocnemius muscle, biarticular link cannot contract. It can only be enabled or disabled at different moments during the push-off phase of the jump. High pennation angle of the gastrocnemius muscle fibres suggest that the predominant role of the m. gastrocnemius is not in its contraction but in its ability to bear high forces and to enable the energy transportation from the knee to the ankle (Bogert et al., 1989; Legreneur et al., 1997). Therefore our simulated biarticular link that cannot contract and can only be enabled or disabled is considered as an appropriate model for this study.

Insertions of the biarticular link on the foot (B) and thigh (C) have been determined from the muscle data provided by Brand et al. (1982) and Delp (1990).

254 Robotic Systems – Applications, Control and Programming

joint between the tip of the foot and the ground. A model, whose foot is connected to the ground by a rotational joint, is applicable only for the push-off and landing phases of the vertical jump and is not applicable for the flight. As the motion of the COG during the flight is simply described and depends only on the speed vector of the COG just prior to the take-

Fig. 2 shows the planar model of the musculoskeletal system, composed of four rigid bodies that represent the foot, shank, thigh and trunk together with the head and both upper extremities. The origin of the base coordinate system is in the centre of the virtual joint that

Passive constraints in the hip, knee and ankle that define the range of motion of these joints were modelled as simple nonlinear springs (Audu and Davy, 1985; Davy and Audu, 1987). Fig. 2 also shows the model of the biarticular link that consists of the gastrocnemius muscle (GA) with stiffness *kGA* and damping *b* and the Achilles tendon (AT) with stiffness *kAT*. Contrary to the real gastrocnemius muscle, biarticular link cannot contract. It can only be enabled or disabled at different moments during the push-off phase of the jump. High pennation angle of the gastrocnemius muscle fibres suggest that the predominant role of the m. gastrocnemius is not in its contraction but in its ability to bear high forces and to enable the energy transportation from the knee to the ankle (Bogert et al., 1989; Legreneur et al., 1997). Therefore our simulated biarticular link that cannot contract and can only be enabled

Insertions of the biarticular link on the foot (B) and thigh (C) have been determined from the

off, this simplification does not present any limitations.

Fig. 2. Planar model of the musculoskeletal system

or disabled is considered as an appropriate model for this study.

muscle data provided by Brand et al. (1982) and Delp (1990).

connects the foot with the ground.

Vector of the force in the biarticular link *f* is

$$f = k \cdot (\mathbf{BC} - \mathbf{BC}\_0) - b \cdot \dot{\mathbf{BC}} \,, \tag{1}$$

where *k* represents the stiffness of the m. gastrocnemius and Achilles tendon connected in series, *BC* is the vector between the insertions of the biarticular link on the foot and thigh. *BC*0 is the vector *BC* in the moment of the gastrocnemius muscle activation. Force in the biarticular link *f* causes a torque in the ankle joint

$$Q\_{\mathbb{M}2} = -\left\| r\_{\mathbb{B}} \times f \right\|\_{\prime} \tag{2}$$

where *r*B is the moment arm vector from the centre of the ankle joint to the insertion of the biarticular link on the foot and a torque in the knee joint

$$Q\_{\mathcal{M}^3} = \left\| r\_{\mathbb{C}} \times f \right\|,\tag{3}$$

where *r*C is the moment arm vector from the centre of the knee joint to the insertion of the biarticular link on the thigh.

Motion of the musculoskeletal system is written with a system of dynamic equations of motion

$$\mathbf{H}(q)\ddot{q} + \mathbf{h}(q, \dot{q}) + \mathbf{G}(q) = \mathbf{Q}\_{mav} + \mathbf{Q}\_{\rho a} + \mathbf{Q}\_{\dot{b}}.\tag{4}$$

where *Qpas* is the vector of joint torques caused by the passive constraints in the joints and *Qbl* is the vector of joint torques caused by the biarticular link. *Qmov* is the vector of joint torques caused by muscles and represents the input to the direct dynamic model of the musculoskeletal system. The output from the direct dynamic model is the vector of joint displacements *q*. We determined parameters of (4) **H**() ( ) () *q hqq Gq* , ,, using the equations published by Asada and Slotine (1986). Simulation diagram of the direct dynamic model of the musculoskeletal system is shown in the shaded rectangle of the Fig. 3.

### **2.1.2 Motion control**

Motion controller of the musculoskeletal system was designed to meet the following four requirements:

1. Perpendicular projection of the body's COG on the ground coincides with the virtual joint that connects the foot with the ground during the entire push-off phase of the vertical jump. Therefore balance of the jumper and verticality of the jump is assured. Equation that describes this requirement is

$$
\boldsymbol{\alpha}\_T^d(t) = \mathbf{0} \; , \tag{5}
$$

where ( ) *<sup>d</sup> <sup>T</sup> x t* is the distance between the desired perpendicular projection of the body's COG on the ground from the origin of the base coordinate system in time *t*.

2. Motion controller assures the desired vertical movement of the body's COG relative to the ankle ( ) *<sup>d</sup> TA y t* . By controlling the movement of the body's COG relative to the ankle, we excluded the influence of the biarticular link on the motion ( ) *<sup>d</sup> TA y t* . Therefore parameters of the biarticular link can be varied and optimized for a certain desired motion of the body's COG relative to the ankle.

Biarticular Actuation of Robotic Systems 257

2 3 *q q* ′ <sup>=</sup>

> 2 3 3

By substitution of (13) into a system of dynamic equations of motion (4) we get control torques in joints *Qmov* that we need to control the model of the musculoskeletal system

Direct dynamic model of the musculoskeletal system together with the motion controller compose the biorobotic model of the vertical jump. Simulation diagram for the simulation of the vertical jump is shown in Fig. 3. Inputs into the simulation diagram are the desired

Fig. 3. Simulation diagram for the simulation of the vertical jump. Inputs into the simulation

diagram are the desired trajectory of the COG relative to the ankle and a signal for biarticular link activation. Output from the simulation diagram is the vector of jumper's

Output from the simulation diagram is the vector of body's COG position *xT*.

0 *c c c*

 <sup>=</sup> 

*q q nq*

On the basis of conditions (8) and (9) and relation (11) we define control angular

*<sup>q</sup>* . (12)

*qc* . (13)

*TA y* and a signal for biarticular link activation *a*.

() (,) () *Q qq hqq Gq mov* **= H** *<sup>c</sup>* + + . (14)

where

accelerations in all four joints

trajectory of COG relative to the ankle *<sup>d</sup>*

COG position


Motion controller that considers the requirement (5) and enables the desired vertical motion of the COG relative to the ankle ( ) *<sup>d</sup> TA y t* in the base coordinate system is

$$
\ddot{\mathbf{x}}\_{T}^{c} = \begin{bmatrix} 0 \\ \ddot{y}\_{TA}^{d} + \ddot{y}\_{A} \end{bmatrix} + k\_{p} \begin{pmatrix} 0 \\ \left[ y\_{TA}^{d} + y\_{A} \right] \end{pmatrix} - \mathbf{x}\_{T} \tag{6}
\\
+ k\_{d} \begin{pmatrix} 0 \\ \left[ \dot{y}\_{TA}^{d} + \dot{y}\_{A} \right] \end{pmatrix} - \dot{\mathbf{x}}\_{T} \tag{6}
$$

where *kp* and *kd* are coefficients of the PD controller, *<sup>c</sup> <sup>T</sup> x* is the vector of the control acceleration of the COG in the base coordinate system, *yA* is the current height of the ankle joint relative to the ground, , *T T x x* are the vectors of the current speed and position of the COG in the base coordinate system.

The relation between the vector of the control speed of the COG in the base coordinate system *<sup>c</sup> <sup>T</sup> x* and the vector of the control angular velocities in the joints *<sup>c</sup> q* is

$$
\dot{\mathbf{x}}\_T^c = \mathbf{J}\_T \dot{\mathbf{q}}\_c \tag{7}
$$

where **J**T is the Jacobian matrix of the COG speed in the base coordinate system. Equation (7) represents an under determined system of equations. From the requirement that the motion controller assures a constant angle of the foot relative to the ground *q1* before the biarticular link activation occurs, follows the condition

$$
\dot{q}\_{c1} = 0 \,. \tag{8}
$$

An additional condition that abolishes the under determination of (7) is the relationship of the knee and hip joint angles

*c c* 4 3 *q nq* = ⋅ , (9)

where *n* is the coefficient that describes the relationship.

By substitution of (8) and (9) into (7) we get a relation between the vector of the control speed of the COG in the base coordinate system *<sup>c</sup> <sup>T</sup> x* and the vector of the control angular velocities in the ankle and knee joints *<sup>c</sup> q*′

$$
\dot{\mathbf{x}}\_{\rm T}^{c} = \mathbf{J}\_{\rm T}^{\prime} \dot{q}\_{c\prime}^{\prime} \,. \tag{10}
$$

where ′ **TJ** is a new Jacobian matrix of the centre of gravity speed in the base coordinate system. Differentiation of (10) with respect to time yields

$$
\ddot{\boldsymbol{q}}\_c' = \begin{bmatrix} \ddot{\boldsymbol{q}}\_{c2} \\ \ddot{\boldsymbol{q}}\_{c3} \end{bmatrix} = \mathbf{J}\_T'^{-1} (\dot{\mathbf{x}}\_T^c - \dot{\mathbf{J}}\_T' \dot{\mathbf{q}}')\_{\prime} \tag{11}
$$

where

256 Robotic Systems – Applications, Control and Programming

3. Motion controller assures a constant angle of the foot relative to the ground *q1* before the biarticular link activation occurs. Thus the number of degrees of freedom of the model

4. In the moment, when the biarticular link activates, motion controller sets the torque in the ankle joint *Q2* to zero and thus enable a free motion of the foot relative to the ground. By setting the torque in the ankle joint to zero, the motion in the ankle joint is only a function of the motion in the knee joint that is transmitted to the ankle by the

Motion controller that considers the requirement (5) and enables the desired vertical motion

*T dd d T d T TA A TA A TA A k k yy yy yy*

acceleration of the COG in the base coordinate system, *yA* is the current height of the ankle joint relative to the ground, , *T T x x* are the vectors of the current speed and position of the

The relation between the vector of the control speed of the COG in the base coordinate

where **J**T is the Jacobian matrix of the COG speed in the base coordinate system. Equation (7) represents an under determined system of equations. From the requirement that the motion controller assures a constant angle of the foot relative to the ground *q1* before the biarticular

An additional condition that abolishes the under determination of (7) is the relationship of

By substitution of (8) and (9) into (7) we get a relation between the vector of the control

**TJ** is a new Jacobian matrix of the centre of gravity speed in the base coordinate

( ) *<sup>c</sup> T T*

*c <sup>T</sup>* = ′ ′

2 1

**J J**

<sup>−</sup> ′ ′ ′′ == −

3

*c q q*

*<sup>T</sup> x* and the vector of the control angular velocities in the joints *<sup>c</sup> q* is

 = + −+ − ++ +

00 0 *<sup>c</sup>*

where *kp* and *kd* are coefficients of the PD controller, *<sup>c</sup>*

*TA y t* in the base coordinate system is

*<sup>p</sup> <sup>x</sup> x x* , (6)

*T*

*<sup>c</sup> x T Tc* = **J** *q* , (7)

<sup>1</sup> 0 *<sup>c</sup> q* = . (8)

*c c* 4 3 *q nq* = ⋅ , (9)

**<sup>T</sup> J** *<sup>c</sup> x q* , (10)

*<sup>c</sup> q xq c T* , (11)

*<sup>T</sup> x* and the vector of the control angular

*x* is the vector of the control

remains constant during the push-off phase of the vertical jump

biarticular link.

of the COG relative to the ankle ( ) *<sup>d</sup>*

COG in the base coordinate system.

link activation occurs, follows the condition

where *n* is the coefficient that describes the relationship.

system. Differentiation of (10) with respect to time yields

speed of the COG in the base coordinate system *<sup>c</sup>*

velocities in the ankle and knee joints *<sup>c</sup> q*′

the knee and hip joint angles

system *<sup>c</sup>*

where ′

2 3 *q q* ′ <sup>=</sup> *<sup>q</sup>* . (12)

On the basis of conditions (8) and (9) and relation (11) we define control angular accelerations in all four joints

$$
\ddot{\boldsymbol{q}}\_c = \begin{bmatrix} 0 \\ \ddot{\boldsymbol{q}}\_{c2} \\ \ddot{\boldsymbol{q}}\_{c3} \\ n\ddot{\boldsymbol{q}}\_{c3} \end{bmatrix}. \tag{13}
$$

By substitution of (13) into a system of dynamic equations of motion (4) we get control torques in joints *Qmov* that we need to control the model of the musculoskeletal system

$$\mathbf{Q}\_{mov} \equiv \mathbf{H}(q)\ddot{q}\_c + \mathbf{h}(q, \dot{q}) + \mathbf{G}(q) \,. \tag{14}$$

Direct dynamic model of the musculoskeletal system together with the motion controller compose the biorobotic model of the vertical jump. Simulation diagram for the simulation of the vertical jump is shown in Fig. 3. Inputs into the simulation diagram are the desired trajectory of COG relative to the ankle *<sup>d</sup> TA y* and a signal for biarticular link activation *a*. Output from the simulation diagram is the vector of body's COG position *xT*.

Fig. 3. Simulation diagram for the simulation of the vertical jump. Inputs into the simulation diagram are the desired trajectory of the COG relative to the ankle and a signal for biarticular link activation. Output from the simulation diagram is the vector of jumper's COG position

Biarticular Actuation of Robotic Systems 259

() () () *m mm*

The activity of the m. gastrocnemius was recorded using a pair of surface electrodes put over the medial head of the m. gastrocnemius. Analogue EMG signals were amplified and filtered with a band-pass filter with cut off frequencies at 1 Hz and 200 Hz. The signals were then digitalized with 1000 Hz sampling frequency and full-wave rectified. To reduce the variability of sampled EMG signal, the signal was then smoothed with a digital low-pass Butterworth filter. Finally the EMG signal was normalized with respect to the maximum

Triceps surae muscle-tendon complex viscoelastic properties of both legs were measured for each subject using the free-vibration method described by Babič and Lenarcič (2004). The measurement device and the procedure have been designed in such a manner that as few human body segments move as possible during the measurement. Thus the measurement uncertainty due to the approximation of the properties of the human body segments was minimized. The results of the measurements are the elastic stiffness *kGA* and viscosity *b* of

For the purposes of analysis and optimization of the vertical jump we adjusted the biomechanical model of the musculoskeletal system with segmental anthropometric parameters, such as masses, moments of inertia about the transverse axes, lengths and locations of the centers of gravity of each subject. Parameters of the biarticular link, such as insertion of the m. gastrocnemius on femur, insertion of the Achilles tendon on calcaneus, elastic stiffness and viscosity were adjusted to match the measured parameters of each

To simulate the vertical jump of the individual subject we used the measured trajectory of the body's COG as the input into the biomechanical model of the vertical jump. Biarticular link activation that is also an input into the biomechanical model of the vertical jump was determined from the EMG signal of the m. gastrocnemius. The moment of biarticular link activation was determined as the moment when the rectified, normalized and filtered EMG signal of the m. gastrocnemius increased to 95% of its maximum value. After the activation,

To determine the optimal timing of the biarticular link activation that results in the highest vertical jump, a series of the countermovement vertical jump simulations have been performed for each subject. Each simulation was performed with a different timing of the

All subjects activated their m. gastrocnemius slightly before the optimal moment, determined by means of simulations. In average, the difference between the optimal and measured knee angle when the m. gastrocnemius was activated was 6.4 ± 2.22. Because the

the biarticular link remains active during the entire push-off phase of the jump.

*<sup>A</sup> y t* is the vertical position of the ankle in time *t*.

**2.2.5 Measurements of muscle-tendon viscoelastic properties** 

the m. gastrocnemius and the elastic stiffness *kAT* of the Achilles tendon.

where ( ) *<sup>m</sup>*

**2.2.4 Electromyography** 

**2.2.6 Treatment of data** 

subject.

**2.2.7 Results** 

biarticular link activation.

value attained during the vertical jump.

*TA T A y t yt yt* = − (16)

## **2.2 Biomechanical analysis of human vertical jump**

### **2.2.1 Subjects and experimental protocol**

Ten trained male subjects (age 26 ± 4 years, height 180.3 ± 6.56 cm, body mass 77.1 ± 7.24 kg) participated in the study. Informed consent was obtained from all of them. The protocol of the study was approved by the National Ethics Committee of the Republic of Slovenia. The experiments comply with the current laws of the Republic of Slovenia.

After a warm-up procedure and three practice jumps, subjects subsequently performed four countermovement vertical jumps. They were instructed to keep their hands on the hips and to jump as high as possible. At the beginning of each vertical jump, subjects stood on their toes and in the erected position. During each jump, position of anatomical landmarks over epicondylus lateralis and fifth metatarsophalangeal joint were monitored, ground reaction forces were measured and electromyogram of m. gastrocnemius was recorded. After the jumping, we determined viscoelastic properties of the triceps surae muscle tendon complex of all subjects. Details on methods and procedures are provided in the following sections.

### **2.2.2 Anthropometric measurements**

Segmental anthropometric parameters, such as masses, moments of inertia about the transverse axes, lengths and locations of the centres of gravity were estimated using regression equations (Zatsiorsky and Seluyanov 1983; Leva 1996). Position of the first metatarsophalangeal joint and the Achilles tendon insertion on the calcaneus were determined by palpation for each subject. Insertion of the m. gastrocnemius on femur was determined using the muscle data collected by Brand et al. (1982) and Delp (1990).

### **2.2.3 Kinematics and dynamics**

To determine the motion of the body's COG during the vertical jump we measured the vertical component of the ground reaction force caused by the subject during the jump. Subjects performed vertical jumps on a force platform (Kistler 9281CA) that is capable to measure ground reaction forces with the frequency of 1000 Hz. We zeroed the force platform just prior to the vertical jump when the subject was standing still in the erected position. Thus we enabled the precise determination of the subject's body mass. Body mass of the subject standing on the force platform is therefore equal to the quotient between the negative ground reaction force during the flight phase of the jump and the ground acceleration. The vertical position of the body's COG relative to the ground in time *t* ( ) *<sup>m</sup> <sup>T</sup> y t* was obtained by double integrating with respect to time the vertical ground reaction force in time *t F*(*t*)

$$y\_T^m(t) = \frac{1}{m} \prod\_{0 \neq 0}^t F(t)dtdt + y\_T^m(0) \tag{15}$$

where *m* is the body mass of the subject and (0) *<sup>m</sup> <sup>T</sup> y* is the initial height of the body's COG relative to the ground. To determine the vertical position of the body's COG relative to the ankle in time *t* ( ) *<sup>m</sup> TA y t* we measured the motion of the ankle during the vertical jump by means of the contactless motion capture system (eMotion Smart). The vertical position of the body's COG relative to the ankle is therefore

$$y\_{TA}^{\prime\prime}(t) = y\_{T}^{\prime\prime}(t) - y\_{A}^{\prime\prime}(t) \tag{16}$$

where ( ) *<sup>m</sup> <sup>A</sup> y t* is the vertical position of the ankle in time *t*.

## **2.2.4 Electromyography**

258 Robotic Systems – Applications, Control and Programming

Ten trained male subjects (age 26 ± 4 years, height 180.3 ± 6.56 cm, body mass 77.1 ± 7.24 kg) participated in the study. Informed consent was obtained from all of them. The protocol of the study was approved by the National Ethics Committee of the Republic of Slovenia. The

After a warm-up procedure and three practice jumps, subjects subsequently performed four countermovement vertical jumps. They were instructed to keep their hands on the hips and to jump as high as possible. At the beginning of each vertical jump, subjects stood on their toes and in the erected position. During each jump, position of anatomical landmarks over epicondylus lateralis and fifth metatarsophalangeal joint were monitored, ground reaction forces were measured and electromyogram of m. gastrocnemius was recorded. After the jumping, we determined viscoelastic properties of the triceps surae muscle tendon complex of all subjects. Details on methods and procedures are provided in the following

Segmental anthropometric parameters, such as masses, moments of inertia about the transverse axes, lengths and locations of the centres of gravity were estimated using regression equations (Zatsiorsky and Seluyanov 1983; Leva 1996). Position of the first metatarsophalangeal joint and the Achilles tendon insertion on the calcaneus were determined by palpation for each subject. Insertion of the m. gastrocnemius on femur was

To determine the motion of the body's COG during the vertical jump we measured the vertical component of the ground reaction force caused by the subject during the jump. Subjects performed vertical jumps on a force platform (Kistler 9281CA) that is capable to measure ground reaction forces with the frequency of 1000 Hz. We zeroed the force platform just prior to the vertical jump when the subject was standing still in the erected position. Thus we enabled the precise determination of the subject's body mass. Body mass of the subject standing on the force platform is therefore equal to the quotient between the negative ground reaction force during the flight phase of the jump and the ground acceleration. The vertical position of the body's COG relative to the ground in time *t* ( ) *<sup>m</sup>*

was obtained by double integrating with respect to time the vertical ground reaction force in

<sup>1</sup> ( ) ( ) (0) *t t m m T T y t F t dtdt y m*

relative to the ground. To determine the vertical position of the body's COG relative to the

means of the contactless motion capture system (eMotion Smart). The vertical position of the

*TA y t* we measured the motion of the ankle during the vertical jump by

= + (15)

*<sup>T</sup> y* is the initial height of the body's COG

0 0

where *m* is the body mass of the subject and (0) *<sup>m</sup>*

body's COG relative to the ankle is therefore

determined using the muscle data collected by Brand et al. (1982) and Delp (1990).

**2.2 Biomechanical analysis of human vertical jump** 

experiments comply with the current laws of the Republic of Slovenia.

**2.2.1 Subjects and experimental protocol** 

**2.2.2 Anthropometric measurements** 

**2.2.3 Kinematics and dynamics** 

sections.

time *t F*(*t*)

ankle in time *t* ( ) *<sup>m</sup>*

The activity of the m. gastrocnemius was recorded using a pair of surface electrodes put over the medial head of the m. gastrocnemius. Analogue EMG signals were amplified and filtered with a band-pass filter with cut off frequencies at 1 Hz and 200 Hz. The signals were then digitalized with 1000 Hz sampling frequency and full-wave rectified. To reduce the variability of sampled EMG signal, the signal was then smoothed with a digital low-pass Butterworth filter. Finally the EMG signal was normalized with respect to the maximum value attained during the vertical jump.

## **2.2.5 Measurements of muscle-tendon viscoelastic properties**

Triceps surae muscle-tendon complex viscoelastic properties of both legs were measured for each subject using the free-vibration method described by Babič and Lenarcič (2004). The measurement device and the procedure have been designed in such a manner that as few human body segments move as possible during the measurement. Thus the measurement uncertainty due to the approximation of the properties of the human body segments was minimized. The results of the measurements are the elastic stiffness *kGA* and viscosity *b* of the m. gastrocnemius and the elastic stiffness *kAT* of the Achilles tendon.

## **2.2.6 Treatment of data**

For the purposes of analysis and optimization of the vertical jump we adjusted the biomechanical model of the musculoskeletal system with segmental anthropometric parameters, such as masses, moments of inertia about the transverse axes, lengths and locations of the centers of gravity of each subject. Parameters of the biarticular link, such as insertion of the m. gastrocnemius on femur, insertion of the Achilles tendon on calcaneus, elastic stiffness and viscosity were adjusted to match the measured parameters of each subject.

To simulate the vertical jump of the individual subject we used the measured trajectory of the body's COG as the input into the biomechanical model of the vertical jump. Biarticular link activation that is also an input into the biomechanical model of the vertical jump was determined from the EMG signal of the m. gastrocnemius. The moment of biarticular link activation was determined as the moment when the rectified, normalized and filtered EMG signal of the m. gastrocnemius increased to 95% of its maximum value. After the activation, the biarticular link remains active during the entire push-off phase of the jump.

## **2.2.7 Results**

*<sup>T</sup> y t*

To determine the optimal timing of the biarticular link activation that results in the highest vertical jump, a series of the countermovement vertical jump simulations have been performed for each subject. Each simulation was performed with a different timing of the biarticular link activation.

All subjects activated their m. gastrocnemius slightly before the optimal moment, determined by means of simulations. In average, the difference between the optimal and measured knee angle when the m. gastrocnemius was activated was 6.4 ± 2.22. Because the

Biarticular Actuation of Robotic Systems 261

Fig. 4. Results of the measurements, simulations and optimizations of the vertical jumps. Whole bars represent the maximal heights of the vertical jumps achieved with the optimal values of the Achilles tendon stiffness and determined by means of simulations. The dark shaded parts of the bars represent the measured heights of the vertical jumps while the light shaded tops represent the differences between the maximal and measured heights of the vertical jumps. The differences are also shown as percentages relative to the measured heights. Bold line represents the ratio between the optimal stiffness of the Achilles tendon determined by means of simulations and the measured stiffness of the Achilles tendon for

In the past, several research groups developed and studied jumping robots but most of these were simple mechanisms not similar to humans. Probably the best-known hopping robots were designed by Raibert and his team (Raibert, 1986). They developed different hopping robots, all with telescopic legs and with a steady-state control algorithm. Later, De Man et al. developed a trajectory generation strategy based on the angular momentum theorem which was implemented on a model with articulated legs (De Man et al., 1996). Hyon et al. developed a one-legged hopping robot with a structure based on the hind-limb model of a dog (Hyon et al., 2003). Recently, Iida et al. investigated a model of biped robot which makes use of minimum control and elastic passive joints inspired by the structures of

We built an efficient dynamic model of the humanoid robot and designed and built a human inspired half sized humanoid robotic mechanism that is capable of performing vertical jump and long jump. We describe the complete design process of the real robotic

each subject

**3. Biarticular legged robot** 

biological systems (Iida et al., 2009).

dynamic model of the musculoskeletal system does not include the monoarticular muscle soleus, the measured heights of the jumps were higher than the jump heights determined with the simulations for 4.3 ±1.12 % in average. The primary motive for omitting the m. soleus from the modelling is that we wanted to control the motion of the body's COG relative to the ankle so that the parameters of the biarticular link could be varied and optimized for a certain measured motion of the subject's COG relative to the ankle. If the dynamic model of the musculoskeletal system would include the m. soleus, the motion of the ankle would be fully determined by the force of the m. soleus and we would not be able to control it with regard to the desired body's COG relative to the ankle. Moreover if the dynamic model of the musculoskeletal system would include the m. soleus, force produced by the m. soleus would be another input into the biomechanical model of the vertical jump and we would have to accurately measure the force produced by the m. soleus of subjects performing the vertical jump. An additional cause for the differences between the measured heights of the jumps and the jump heights determined by means of simulations can be the simplified model of the foot that we modelled as one rigid body. The arch of the foot is linked up by elastic ligaments that can store elastic energy when deformed and later reutilize it as the mechanical work (Alexander, 1988). Ker et al. (1987) measured the deformation of the foot during running and determined the amount of the energy stored during the deformation. They showed that the elasticity of the foot significantly contribute to the efficiency of the human movement. To be able to compare the measurements and the simulation results, we corrected the simulation results by adding the contribution of the m. soleus to the height of the vertical jump. Such corrected heights of the vertical jumps at the optimal moments of m. gastrocnemius activation are insignificantly larger than the measured heights of the vertical jumps for all subjects. In average the height difference is only 1.6 ± 0.74 cm.

To determine the optimal stiffness of the Achilles tendon regarding to the height of the vertical jump, a series of the countermovement vertical jump simulations have been performed, each with a different stiffness of the Achilles tendon. Optimal timing of the biarticular link has been determined for each stiffness of the Achilles tendon as described in the previous paragraph. The measured values of the Achilles tendon stiffness for all subjects were always higher than the optimal values determined by means of simulations. By considering the elastic properties of the arch of the foot, we can assume that the optimal values of the Achilles tendon stiffness would increase and therefore the differences between the optimal and measured values would decrease.

Results of the measurements, simulations and optimizations of the human vertical jumps are presented in Fig. 4. Subjects are arranged with regard to the ratio between the optimal stiffness of the Achilles tendon determined by means of simulations and the measured stiffness of the Achilles tendon. If we want to evaluate the contribution of the viscoelastic properties to the height of the jump, ranking of the subjects with regard to the height of the jump is not appropriate because the main parameter that influences the height of the vertical jump is the power generated by muscles during the push-off phase of the jump. The elasticity of the Achilles tendon has the secondary influence on the height of the jump. Results show that for the same power generated by an individual subject during the pushoff phase of the jump, the height of the vertical jump varies with the Achilles tendon stiffness. Therefore the appropriate criterion for ranking the subjects have to consider the elasticity of the Achilles tendon.

260 Robotic Systems – Applications, Control and Programming

dynamic model of the musculoskeletal system does not include the monoarticular muscle soleus, the measured heights of the jumps were higher than the jump heights determined with the simulations for 4.3 ±1.12 % in average. The primary motive for omitting the m. soleus from the modelling is that we wanted to control the motion of the body's COG relative to the ankle so that the parameters of the biarticular link could be varied and optimized for a certain measured motion of the subject's COG relative to the ankle. If the dynamic model of the musculoskeletal system would include the m. soleus, the motion of the ankle would be fully determined by the force of the m. soleus and we would not be able to control it with regard to the desired body's COG relative to the ankle. Moreover if the dynamic model of the musculoskeletal system would include the m. soleus, force produced by the m. soleus would be another input into the biomechanical model of the vertical jump and we would have to accurately measure the force produced by the m. soleus of subjects performing the vertical jump. An additional cause for the differences between the measured heights of the jumps and the jump heights determined by means of simulations can be the simplified model of the foot that we modelled as one rigid body. The arch of the foot is linked up by elastic ligaments that can store elastic energy when deformed and later reutilize it as the mechanical work (Alexander, 1988). Ker et al. (1987) measured the deformation of the foot during running and determined the amount of the energy stored during the deformation. They showed that the elasticity of the foot significantly contribute to the efficiency of the human movement. To be able to compare the measurements and the simulation results, we corrected the simulation results by adding the contribution of the m. soleus to the height of the vertical jump. Such corrected heights of the vertical jumps at the optimal moments of m. gastrocnemius activation are insignificantly larger than the measured heights of the vertical jumps for all subjects. In average the height difference is

To determine the optimal stiffness of the Achilles tendon regarding to the height of the vertical jump, a series of the countermovement vertical jump simulations have been performed, each with a different stiffness of the Achilles tendon. Optimal timing of the biarticular link has been determined for each stiffness of the Achilles tendon as described in the previous paragraph. The measured values of the Achilles tendon stiffness for all subjects were always higher than the optimal values determined by means of simulations. By considering the elastic properties of the arch of the foot, we can assume that the optimal values of the Achilles tendon stiffness would increase and therefore the differences between

Results of the measurements, simulations and optimizations of the human vertical jumps are presented in Fig. 4. Subjects are arranged with regard to the ratio between the optimal stiffness of the Achilles tendon determined by means of simulations and the measured stiffness of the Achilles tendon. If we want to evaluate the contribution of the viscoelastic properties to the height of the jump, ranking of the subjects with regard to the height of the jump is not appropriate because the main parameter that influences the height of the vertical jump is the power generated by muscles during the push-off phase of the jump. The elasticity of the Achilles tendon has the secondary influence on the height of the jump. Results show that for the same power generated by an individual subject during the pushoff phase of the jump, the height of the vertical jump varies with the Achilles tendon stiffness. Therefore the appropriate criterion for ranking the subjects have to consider the

only 1.6 ± 0.74 cm.

the optimal and measured values would decrease.

elasticity of the Achilles tendon.

Fig. 4. Results of the measurements, simulations and optimizations of the vertical jumps. Whole bars represent the maximal heights of the vertical jumps achieved with the optimal values of the Achilles tendon stiffness and determined by means of simulations. The dark shaded parts of the bars represent the measured heights of the vertical jumps while the light shaded tops represent the differences between the maximal and measured heights of the vertical jumps. The differences are also shown as percentages relative to the measured heights. Bold line represents the ratio between the optimal stiffness of the Achilles tendon determined by means of simulations and the measured stiffness of the Achilles tendon for each subject

## **3. Biarticular legged robot**

In the past, several research groups developed and studied jumping robots but most of these were simple mechanisms not similar to humans. Probably the best-known hopping robots were designed by Raibert and his team (Raibert, 1986). They developed different hopping robots, all with telescopic legs and with a steady-state control algorithm. Later, De Man et al. developed a trajectory generation strategy based on the angular momentum theorem which was implemented on a model with articulated legs (De Man et al., 1996). Hyon et al. developed a one-legged hopping robot with a structure based on the hind-limb model of a dog (Hyon et al., 2003). Recently, Iida et al. investigated a model of biped robot which makes use of minimum control and elastic passive joints inspired by the structures of biological systems (Iida et al., 2009).

We built an efficient dynamic model of the humanoid robot and designed and built a human inspired half sized humanoid robotic mechanism that is capable of performing vertical jump and long jump. We describe the complete design process of the real robotic

Biarticular Actuation of Robotic Systems 263

biarticular actuator is deactivated. This sequence must be executed over a short time in an

To efficiently control the robot we determined the dynamic model of the robot. We approximated the robotic system as a planar articulated system composed of four rigid bodies connected together by three rotational joints. To define the dynamic model of the robot, all kinematic and dynamic properties of the robot segments have to be determined. We determined these parameters using I-DEAS modeling software. To increase the accuracy of the model, the weights that we obtained from the I-DEAS model were further adjusted by

The obtained properties of all four links including servo drives, computer, power amplifiers

foot 0.399 93.5 70.7, -3.4 1057 shank 0.963 255 127.8, 10.5 7487 thigh 1.033 254 119.2, -12.0 7440 trunk 2.031 370 186.4, -12.0 20366

The dynamic model of the robot was used in the simulation of the robotic system and for the

The dynamic model is a combination of two separate models, the model of the robot in contact with the ground and the model of the robot in the air. The contact between the tip of

COM position mm

Inertia kgmm2

length mm

optimal fashion to maximize jump performance.

Fig. 5. Real jumping robot

**3.2 Dynamic modelling** 

the measured weights of the manufactured parts.

link mass

kg

Table 1. Kinematic and dynamic properties of the robot links

and wirings are shown in Table 1.

control of the real system.

system. Besides, we describe the controller of the robot and show the results of the vertical jump experiments performed by the hardware prototype of the robot.

### **3.1 Design and specifications**

To perform explosive movements such as the vertical jump, very high torques in the robot's joints are required in addition with the low mass of the whole system. To achieve high joint torque with a lightweight electromotor available on the market today, high gear ratio is usually necessary. However, high gear ratio is not desired because we want to maintain the friction in the joints as low as possible. Besides, the back drivability of the joints, where the joints can be easily moved by an external force, cannot be achieved using gears with high ratio. A suitable method to achieve high torques and back drivability at the same time is to use a motor with low gear ratio and overload it for the short periods of time when the high torque is needed. This allows us to get a sufficient torque for a shorter time, that depends on the cooling situation and the desired overloaded torque. Explosive movements such as vertical jump usually last a very brief period of time. Therefore this overloading method seems appropriate for our task.

We used Maxon RE 40 DC servo drives with stall torque of 2.5 Nm and weight of only 480 g. The gear ratio we chose is 1:8, which ensures both low friction and back drivability of the joint. Using this motor/gear combination, the maximal joint torque is 20 Nm, which can, based on the simulations, be sufficient to perform a 20cm high vertical jump.

Each joint is activated by a servo drive mounted inside the proximal segment with regard to the joint. The largest part of the robot weight is in the trunk segment where, besides the motor that activates the hip joint, a computer, a motion controller, all power amplifiers and an inclinometer are installed. To have a heavy trunk is not desired from a control point of view. However, it can be shown that this kind of weight distribution can be beneficial for improvement of fast and explosive movements such as the vertical jump.

The biarticular actuation mechanism is attached between the thigh and heel as in the simulation model. It is realized by a stiff steel wire of diameter 1mm that is connected to the heel via a spring. The spring is interchangeable – springs of varying stiffness determined by measurements are available. At one end the steel wire is wound on a 10mm diameter grooved shaft that is directly connected to a flat servo motor (the spiral groove prevents the wire from knotting itself). This motor functions solely as a break: when the motor is not activated the biarticular link smoothly follows the motion of the robot (the force in the biarticular link is zero).

### **3.1.1 Construction**

The real robotic system was constructed considering the CAD model built in I-DEAS. The real robotic system and its comparison with the CAD model is shown in Fig. 5. All mechanical parts are made of aluminium except the gears and axes that are made of titanium. The total weight of the robot is approximately 4.4 kg and its height is 972mm.

To better understand the biarticular actuation mechanism, consider a jumping motion starting from a squat position. Until the instant of activation, the biarticular actuation mechanism has no effect on the system, essentially acting as a passive prismatic joint. When the biarticular actuation mechanism is activated, the robot essentially becomes redundantly actuated by the biarticular force. Immediately after robot pushes off the ground, the 262 Robotic Systems – Applications, Control and Programming

system. Besides, we describe the controller of the robot and show the results of the vertical

To perform explosive movements such as the vertical jump, very high torques in the robot's joints are required in addition with the low mass of the whole system. To achieve high joint torque with a lightweight electromotor available on the market today, high gear ratio is usually necessary. However, high gear ratio is not desired because we want to maintain the friction in the joints as low as possible. Besides, the back drivability of the joints, where the joints can be easily moved by an external force, cannot be achieved using gears with high ratio. A suitable method to achieve high torques and back drivability at the same time is to use a motor with low gear ratio and overload it for the short periods of time when the high torque is needed. This allows us to get a sufficient torque for a shorter time, that depends on the cooling situation and the desired overloaded torque. Explosive movements such as vertical jump usually last a very brief period of time. Therefore this overloading method

We used Maxon RE 40 DC servo drives with stall torque of 2.5 Nm and weight of only 480 g. The gear ratio we chose is 1:8, which ensures both low friction and back drivability of the joint. Using this motor/gear combination, the maximal joint torque is 20 Nm, which can,

Each joint is activated by a servo drive mounted inside the proximal segment with regard to the joint. The largest part of the robot weight is in the trunk segment where, besides the motor that activates the hip joint, a computer, a motion controller, all power amplifiers and an inclinometer are installed. To have a heavy trunk is not desired from a control point of view. However, it can be shown that this kind of weight distribution can be beneficial for

The biarticular actuation mechanism is attached between the thigh and heel as in the simulation model. It is realized by a stiff steel wire of diameter 1mm that is connected to the heel via a spring. The spring is interchangeable – springs of varying stiffness determined by measurements are available. At one end the steel wire is wound on a 10mm diameter grooved shaft that is directly connected to a flat servo motor (the spiral groove prevents the wire from knotting itself). This motor functions solely as a break: when the motor is not activated the biarticular link smoothly follows the motion of the robot (the force in the

The real robotic system was constructed considering the CAD model built in I-DEAS. The real robotic system and its comparison with the CAD model is shown in Fig. 5. All mechanical parts are made of aluminium except the gears and axes that are made of titanium. The total weight of the robot is approximately 4.4 kg and its height is 972mm. To better understand the biarticular actuation mechanism, consider a jumping motion starting from a squat position. Until the instant of activation, the biarticular actuation mechanism has no effect on the system, essentially acting as a passive prismatic joint. When the biarticular actuation mechanism is activated, the robot essentially becomes redundantly actuated by the biarticular force. Immediately after robot pushes off the ground, the

based on the simulations, be sufficient to perform a 20cm high vertical jump.

improvement of fast and explosive movements such as the vertical jump.

jump experiments performed by the hardware prototype of the robot.

**3.1 Design and specifications** 

seems appropriate for our task.

biarticular link is zero).

**3.1.1 Construction** 

biarticular actuator is deactivated. This sequence must be executed over a short time in an optimal fashion to maximize jump performance.

Fig. 5. Real jumping robot

## **3.2 Dynamic modelling**

To efficiently control the robot we determined the dynamic model of the robot. We approximated the robotic system as a planar articulated system composed of four rigid bodies connected together by three rotational joints. To define the dynamic model of the robot, all kinematic and dynamic properties of the robot segments have to be determined. We determined these parameters using I-DEAS modeling software. To increase the accuracy of the model, the weights that we obtained from the I-DEAS model were further adjusted by the measured weights of the manufactured parts.

The obtained properties of all four links including servo drives, computer, power amplifiers and wirings are shown in Table 1.


Table 1. Kinematic and dynamic properties of the robot links

The dynamic model of the robot was used in the simulation of the robotic system and for the control of the real system.

The dynamic model is a combination of two separate models, the model of the robot in contact with the ground and the model of the robot in the air. The contact between the tip of

Biarticular Actuation of Robotic Systems 265

in the controller. The output of the inverse dynamics block depends on whether the robot is

To get the requested output of the block, the following SD/FAST functions were used: *sdpos* for the position*, sdrel2cart* to calculate the Jacobian matrix and *sdmassmat*, *sdequivht*, *sdfrcmat*

The direct dynamic model performs the integration of the equations of motion (17) and returns the states of the robot ( **q,q** ) depending on the input torque *τ*. In our case where Matlab/Simulink performs the integration, we only have to define the derivatives of the states ( **q,q** ). To calculate the derivatives of the states and to apply the input torque, the following functions were used: *sdstate* to get states, *sdderiv* to get the derivatives of the states

Fig. 6. Inverse and direct dynamic model blocks in simulation environment Simulink

maintains their values. Hence continuity and dynamic consistency is achieved.

Special attention should be paid to switching between the dynamic models. Usually all movements start with the foot touching the ground. In case of vertical jumping the switch occurs when the ground reaction forces exerted by the robot in the vertical direction change direction from downwards to upwards. In the moment of the switch all joint states have to

On the other hand when the robot lands, a force impact occurs and the joint velocities change their values. The joint velocities after the impact have to be calculated with regard to the robot configuration and the joint velocities before the impact using following equation


<sup>100000</sup> . <sup>010000</sup> <sup>=</sup>

To get the ground reaction force and the position of the toe, the following functions are

where **H**air represents the **H** matrix of the system in the air, Δ**v** represents the velocity change in the moment of the impact and Δ**q** represents the resulting changes of the joint

velocities at the impact. Matrix **S** defines the constraints of the impact and is equal to

used: *sdreac* to calculate the reaction force and *sdpos* to calculate the position.

air air Δ Δ **q =** *H S SH S* ( ) **v,** (18)

*S* (19)

in the contact with the ground or in the air.

to calculate the **H**, **C** and **g** matrices..

**3.3.2 Direct dynamics** 

and *sdhinget* to set the torque.

(Zheng & Hemami, 1985):

the foot and the ground is modeled as a rotational hinge joint between the foot tip and the ground. With the assumption that the foot tip does not slip and does not bounce, the robot has four degrees of freedom during stance. While in the air, the robot has two more degrees of freedom. The generalized coordinates that describe the state of the robot and its motion are denoted by qi. The dynamic model of the robot is

$$H(\mathbf{q})\ddot{\mathbf{q}} + \mathbf{C}(\mathbf{q}, \dot{\mathbf{q}}) + \mathbf{g}(\mathbf{q}) = \boldsymbol{\tau} \tag{17}$$

where **H**, **C** and **g** denote the inertia matrix, the vector of Coriolis and centrifugal forces and the vector of gravity forces, respectively. **τ** is the vector of the joint torques and **q** is the vector of the joint positions. The dynamic equation does not consider the friction in the gears. For this purpose, an additional controller was implemented in the control strategy.

## **3.2.1 Description of model using SD/FAST**

SD/FAST is a physically-based simulation tool for simulating the mechanical systems. Based on the short description of an articulated mechanical system of rigid bodies it derives the full nonlinear equations of motion for the given system. These equations can then be directly used in a C programming language and further compiled or linked with an arbitrary simulation or animation environment. The symbolic derivation of the equations provides one of the fastest possible simulations of the mechanical system.


Table 2. Description of the jumping robot

When the system was completely described, SD/FAST generated the equations of motion for both models. To perform simulations and to control the robotic system, these equations were then used in the simulation environment.

## **3.3 Simulation and control**

The equations of motion which were generated by SD/FAST have to be used together with a programming tool that provides the integration of the equations of motion. For this purpose we used Matlab/Simulink. The C code describing the equations of motion is used in S-function, that can be used directly as a Simulink block. We designed two S-functions, one for the inverse dynamics and one for the direct dynamics.

## **3.3.1 Inverse dynamics**

Depending on the current state of the robot ( **q,q** ) the inverse dynamics block in Simulink defines the matrices **H**, **C** and **g** that form the dynamic equations of motion (17). The inverse dynamics block also defines the position of the COM and its Jacobian matrix, which is used in the controller. The output of the inverse dynamics block depends on whether the robot is in the contact with the ground or in the air.

To get the requested output of the block, the following SD/FAST functions were used: *sdpos* for the position*, sdrel2cart* to calculate the Jacobian matrix and *sdmassmat*, *sdequivht*, *sdfrcmat* to calculate the **H**, **C** and **g** matrices..

### **3.3.2 Direct dynamics**

264 Robotic Systems – Applications, Control and Programming

the foot and the ground is modeled as a rotational hinge joint between the foot tip and the ground. With the assumption that the foot tip does not slip and does not bounce, the robot has four degrees of freedom during stance. While in the air, the robot has two more degrees of freedom. The generalized coordinates that describe the state of the robot and its motion

*HC g* () ( ) () **q q + q,q q** + =

where **H**, **C** and **g** denote the inertia matrix, the vector of Coriolis and centrifugal forces and the vector of gravity forces, respectively. **τ** is the vector of the joint torques and **q** is the vector of the joint positions. The dynamic equation does not consider the friction in the gears. For this purpose, an additional controller was implemented in the control

SD/FAST is a physically-based simulation tool for simulating the mechanical systems. Based on the short description of an articulated mechanical system of rigid bodies it derives the full nonlinear equations of motion for the given system. These equations can then be directly used in a C programming language and further compiled or linked with an arbitrary simulation or animation environment. The symbolic derivation of the equations

> segment connected joint type joint type foot ground rot 2 trans + 1 rot shank foot rot rot thigh shank rot rot trunk thigh rot rot Number of DOFs 4 (*q*3-*q*6) 6 (*q*1-*q*6)

When the system was completely described, SD/FAST generated the equations of motion for both models. To perform simulations and to control the robotic system, these equations

The equations of motion which were generated by SD/FAST have to be used together with a programming tool that provides the integration of the equations of motion. For this purpose we used Matlab/Simulink. The C code describing the equations of motion is used in S-function, that can be used directly as a Simulink block. We designed two S-functions,

Depending on the current state of the robot ( **q,q** ) the inverse dynamics block in Simulink defines the matrices **H**, **C** and **g** that form the dynamic equations of motion (17). The inverse dynamics block also defines the position of the COM and its Jacobian matrix, which is used

provides one of the fastest possible simulations of the mechanical system.

τ

On the ground In the air

, (17)

are denoted by qi. The dynamic model of the robot is

**3.2.1 Description of model using SD/FAST** 

Table 2. Description of the jumping robot

**3.3 Simulation and control** 

**3.3.1 Inverse dynamics** 

were then used in the simulation environment.

one for the inverse dynamics and one for the direct dynamics.

strategy.

The direct dynamic model performs the integration of the equations of motion (17) and returns the states of the robot ( **q,q** ) depending on the input torque *τ*. In our case where Matlab/Simulink performs the integration, we only have to define the derivatives of the states ( **q,q** ). To calculate the derivatives of the states and to apply the input torque, the following functions were used: *sdstate* to get states, *sdderiv* to get the derivatives of the states and *sdhinget* to set the torque.

Fig. 6. Inverse and direct dynamic model blocks in simulation environment Simulink

Special attention should be paid to switching between the dynamic models. Usually all movements start with the foot touching the ground. In case of vertical jumping the switch occurs when the ground reaction forces exerted by the robot in the vertical direction change direction from downwards to upwards. In the moment of the switch all joint states have to maintains their values. Hence continuity and dynamic consistency is achieved.

On the other hand when the robot lands, a force impact occurs and the joint velocities change their values. The joint velocities after the impact have to be calculated with regard to the robot configuration and the joint velocities before the impact using following equation (Zheng & Hemami, 1985):

$$
\Delta \dot{\mathbf{q}} \equiv \mathbf{H}\_{\text{air}}^{\cdot 1} \mathbf{S}^{\top} (\mathbf{S} \mathbf{H}\_{\text{air}}^{\cdot 1} \mathbf{S}^{\top})^{\cdot 1} \Delta \mathbf{v}\_{\prime} \tag{18}
$$

where **H**air represents the **H** matrix of the system in the air, Δ**v** represents the velocity change in the moment of the impact and Δ**q** represents the resulting changes of the joint velocities at the impact. Matrix **S** defines the constraints of the impact and is equal to

$$\mathbf{S} = \begin{bmatrix} 1 & 0 & 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 & 0 \end{bmatrix} \tag{19}$$

To get the ground reaction force and the position of the toe, the following functions are used: *sdreac* to calculate the reaction force and *sdpos* to calculate the position.

Biarticular Actuation of Robotic Systems 267

control the vertical jump we used ground model of the robot in the former case and air model of the robot in the latter case. Switching between the models was performed by the

 In the push-off phase of the jump we controlled the position of the COM and ZMP in such a way that the robot performed a vertical jump. The task of the controller in the flight phase of the jump was to stop the motion in all joints and to prevent the mechanical damage by over extension of the joints. At this point we did not consider any strategies for the landing phase

2 2 , *H Cg new c new new c* **q** ++= *τ* (25)

where 2*<sup>c</sup>* **τ** is the control torque and **q**2*<sup>c</sup>* is the control acceleration of all active degrees of

Here, **q**<sup>2</sup> *<sup>d</sup>* and **q**2 are the desired and the actual joint positions of the joints, respectively. The desired joint trajectory during the jump is defined with regard to the COM and ZMP as

Fig. 7 schematically shows the complete system consisting of the controller and the direct dynamic model of the robot. The controller includes both ground and air controllers of the

Fig. 7. Block diagram of robotic system consisting of controller and direct dynamic model of

Fig. 8. Block diagram of vertical jump controller made of two separate controllers for push-

vertical jump. These two controllers are merged together as shown in Fig. 8.

2 2 2 2 . **q q e e, e = q q** *c dp d d* =+ + − *K K* (26)

controller on the basis of the foot switch.

To control all joints we used the controller described by

of the jump.

robot

freedom. **q**2*<sup>c</sup>* is defined as

described in (Babič et al. 2006).

off and flight phases of vertical jump

### **3.3.3 Control of the system**

To control the robot to perform the vertical jump, two separate controllers were used, one for the push-off phase of the jump and the other for the flight phase of the jump. Furthermore, not all degrees of freedom of the robot can be actuated. Both degrees of freedom that describe the position of the toe (*q*1 and *q*2) and the degree of freedom in the passive toe joint (*q*3) are considered as free degrees of freedom that cannot be actuated by the robot. While the robot is in contact with the ground, position of the toe (*q*1 and *q*2) is fixed. In the free degrees of freedom the control torque should remain zero at all times. The system of dynamic equations that describe the robot can be divided into two parts, for actuated and inactivated joints separately,

$$
\begin{bmatrix}
\mathbf{H}\_{11} & \mathbf{H}\_{12} \\
\mathbf{H}\_{21} & \mathbf{H}\_{22}
\end{bmatrix}
\begin{bmatrix}
\ddot{\mathbf{q}}\_{1} \\
\ddot{\mathbf{q}}\_{2}
\end{bmatrix} + 
\begin{bmatrix}
\mathbf{C}\_{1} \\
\mathbf{C}\_{2}
\end{bmatrix} + 
\begin{bmatrix}
\mathbf{g}\_{1} \\
\mathbf{g}\_{2}
\end{bmatrix} = 
\begin{bmatrix}
\mathbf{r}\_{1} \\
\mathbf{r}\_{2}
\end{bmatrix}'
\tag{20}
$$

where *τ* 1 represents the degrees of freedom that cannot be actuated. This condition leads to

$$\begin{aligned} \mathbf{H}\_{11}\ddot{\mathbf{q}}\_1 + \mathbf{H}\_{12}\ddot{\mathbf{q}}\_2 + \mathbf{C}\_1 + \mathbf{g}\_1 &= \mathbf{0}, \\ \mathbf{H}\_{21}\ddot{\mathbf{q}}\_1 + \mathbf{H}\_{22}\ddot{\mathbf{q}}\_2 + \mathbf{C}\_2 + \mathbf{g}\_2 &= \mathbf{r}\_2. \end{aligned} \tag{21}$$

Accelerations in the uncontrollable joints **q**<sup>1</sup> are unknown and can therefore be eliminated. Combining both equations (21) we get

$$\ddot{\mathbf{q}}\_1 = -H\_{11}^{-1}(H\_{12}\ddot{\mathbf{q}}\_2 + \mathbf{C}\_1 + \mathbf{g}\_1) \tag{22}$$

and

$$-H\_{21}H\_{11}^{-1}(H\_{12}\ddot{\mathbf{q}}\_2 + \mathbf{C}\_1 + \mathbf{g}\_1) + H\_{22}\ddot{\mathbf{q}}\_2 + \mathbf{C}\_2 + \mathbf{g}\_2 = \mathbf{r}\_2. \tag{23}$$

Finally we get

$$\begin{aligned} \underbrace{(-H\_{21}H\_{11}^{-1}H\_{12} + H\_{22})}\_{H\_{\text{new}}}\ddot{\mathbf{q}}\_{2} +\\ \underbrace{(-H\_{21}H\_{11}^{-1}\mathbf{C}\_{1} + \mathbf{C}\_{2})}\_{\mathbf{c}\_{\text{new}}} +\\ \underbrace{(-H\_{21}H\_{11}^{-1}\mathbf{g}\_{1} + \mathbf{g}\_{2})}\_{\mathbf{g}\_{\text{new}}} = \mathbf{r}\_{2}.\end{aligned} \tag{24}$$

We have acquired a new dynamic model with three degrees of freedom. The other degrees of freedom cannot be controlled directly; however they can be controlled indirectly using other conditions such as COM and ZMP.

### **3.3.4 Vertical jump controller**

To assure the verticality of the jump, the robot's COM has to move in the upward direction above the support polygon during the push-off phase of the jump. The second condition, which refers to the balance of the robot during the push-off phase, is the position of the zero moment point (ZMP). Both conditions are described in details in (Babič et al. 2006).

The vertical jump consists of a phase when the robot is in contact with the ground and a phase when the robot is in the air without any contact with the environment. To sufficiently 266 Robotic Systems – Applications, Control and Programming

To control the robot to perform the vertical jump, two separate controllers were used, one for the push-off phase of the jump and the other for the flight phase of the jump. Furthermore, not all degrees of freedom of the robot can be actuated. Both degrees of freedom that describe the position of the toe (*q*1 and *q*2) and the degree of freedom in the passive toe joint (*q*3) are considered as free degrees of freedom that cannot be actuated by the robot. While the robot is in contact with the ground, position of the toe (*q*1 and *q*2) is fixed. In the free degrees of freedom the control torque should remain zero at all times. The system of dynamic equations that describe the robot can be divided into two parts, for

> 11 12 1 1 1 1 21 22 2 2 2 2 , ++=

where *τ* 1 represents the degrees of freedom that cannot be actuated. This condition leads to

+ ++= + ++=

Accelerations in the uncontrollable joints **q**<sup>1</sup> are unknown and can therefore be eliminated.

11 1 12 2 1 1 21 1 22 2 2 2 2

*HH C g <sup>τ</sup>* (20)

*H H Cg <sup>τ</sup>* (21)

1 11 12 2 1 1 ( ) <sup>−</sup> **q q** =− + + *H H Cg* (22)

(24)

0, .

21 11 12 2 1 1 22 2 2 2 2 () . <sup>−</sup> − ++ + ++= *HH H C g H C g* **q q** *τ* (23)

*HH C g τ*

**q q** 

**q q q q** *H H Cg*

1

1 21 11 12 22 2

−

( )

*HHH H*

− ++

*new*

**<sup>q</sup>**

− ++

1 21 11 1 2 1 21 11 1 2 2

*HHC C*

*H*

*new*

−

*C*

*g*

moment point (ZMP). Both conditions are described in details in (Babič et al. 2006).

*new*

( ).

*HH g g τ*

We have acquired a new dynamic model with three degrees of freedom. The other degrees of freedom cannot be controlled directly; however they can be controlled indirectly using

To assure the verticality of the jump, the robot's COM has to move in the upward direction above the support polygon during the push-off phase of the jump. The second condition, which refers to the balance of the robot during the push-off phase, is the position of the zero

The vertical jump consists of a phase when the robot is in contact with the ground and a phase when the robot is in the air without any contact with the environment. To sufficiently

− +=

( )

−

1

**3.3.3 Control of the system** 

actuated and inactivated joints separately,

Combining both equations (21) we get

other conditions such as COM and ZMP.

**3.3.4 Vertical jump controller** 

and

Finally we get

control the vertical jump we used ground model of the robot in the former case and air model of the robot in the latter case. Switching between the models was performed by the controller on the basis of the foot switch.

 In the push-off phase of the jump we controlled the position of the COM and ZMP in such a way that the robot performed a vertical jump. The task of the controller in the flight phase of the jump was to stop the motion in all joints and to prevent the mechanical damage by over extension of the joints. At this point we did not consider any strategies for the landing phase of the jump.

To control all joints we used the controller described by

$$H\_{new}\ddot{\mathbf{q}}\_{2c} + \mathbf{C}\_{new} + \mathbf{g}\_{new} = \mathbf{r}\_{2c},\tag{25}$$

where 2*<sup>c</sup>* **τ** is the control torque and **q**2*<sup>c</sup>* is the control acceleration of all active degrees of freedom. **q**2*<sup>c</sup>* is defined as

$$
\ddot{\mathbf{q}}\_{2c} = \ddot{\mathbf{q}}\_{2d} + K\_p \mathbf{e} + K\_d \dot{\mathbf{e}}\_r \quad \mathbf{e} = \mathbf{q}\_{2d} - \mathbf{q}\_2. \tag{26}
$$

Here, **q**<sup>2</sup> *<sup>d</sup>* and **q**2 are the desired and the actual joint positions of the joints, respectively. The desired joint trajectory during the jump is defined with regard to the COM and ZMP as described in (Babič et al. 2006).

Fig. 7 schematically shows the complete system consisting of the controller and the direct dynamic model of the robot. The controller includes both ground and air controllers of the vertical jump. These two controllers are merged together as shown in Fig. 8.

Fig. 7. Block diagram of robotic system consisting of controller and direct dynamic model of robot

Fig. 8. Block diagram of vertical jump controller made of two separate controllers for pushoff and flight phases of vertical jump

Biarticular Actuation of Robotic Systems 269

Alexander, R.McN. (1988). *Elastic mechanisms in animal movement,* Cambridge University

Asada, H. & Slotine, J.J.E. (1986). *Robot analysis and control*, John Wiley and sons, New York Asmussen, E. & Bonde-Petersen, F. (1974). Storage of elastic energy in skeletal muscles in

Audu, M.L. & Davy, D.T. (1985). The influence of muscle model complexity in

Babič, J. & Lenarčič, J. (2004). In vivo determination of triceps surae muscle-tendon complex viscoelastic properties. *European Journal of Applied Physiology*, 92, 477-484 Babič, J., Omrčen, D. & Lenarčič, J. (2006). Balance and control of human inspired jumping

Babič, J.; Karčnik, T. & Bajd, T. (2001). Stability analysis of four-point walking, *Gait &* 

Bobbert, M.F.; Gerritsen, K.G.M.; Litjens, M.C.A. & Soest, A.J. van (1996). Why is

Bobbert, M.F.; Hoed, E.; Schenau, G.J. van.; Sargeant, A.J. & Schreurs, A.W. (1986). A model

Bogert, A.J. van den; Hartman, W.; Schamhardt, H.C. & Sauren, A.A. (1989). In vivo

Brand, R.A.; Crowninshield, R.D.; Wittstock, C.E.; Pederson, D.R.; Clark, C.R. & Krieken,

Delp, S.L. (1990). Surgery simulation: A computer graphics system to analyze and design

De Man, H., Lefeber, F., Daerden, F. & Faignet, E. (1996). Simulation of a new control

Hyon, S., Emura, T. & Mita, T. (2003). Dynamics-based control of a one-legged hopping

Hobara, H. (2008). Spring-like leg behavior and stiffness regulation in human movements,

Iida, F., Minekawa, Y., Rummel, J., Seyfarth, A. (2009). Toward a human-like biped robot

Ker, R.F.; Bennett, M.B.; Bibby, S.R.; Kester, R.C. & Alexander, R.McN. (1987). The spring in

with complient legs. *Robotics and Autonomous Systems*, 57, 139-144

robot*, Journal of Systems and Control Engineering*, 217, 83–98

Coctoral Dissertation, Waseda University, Japan

the arch of the human foot. *Nature*, 325, 147-149

Cavagna, G.A. (1970). Elastic bounce of the body, *Journal of Applied Physiology*, 29, 279-282 Davy, D.T. & Audu, M.L. (1987). A dynamic optimization technique for predicting muscle

forces in the swing phase of gait. *Journal of Biomechanics*, 20, 187-201

musculoskeletal motion modeling. *Journal of Biomechanical Engineering*, 107, 147-157

robot, *Advances in Robot Kinematics*, J. Lenarčič, B. Roth (Eds.), pp. 147-156, Springer

countermovement jump height greater than squat jump height? *Medicine & Science* 

to demonstrate the power transportating role of bi-articular muscles, *Journal of* 

relationship between force, EMG and length change in the deep digital flexor muscle in the horse, In *Biomechanics XI-A,* G. de Groot; A.P. Hollander; P.A. Huijing; G.J. van Ingen Schenau (Eds.), pp. 68-74, Free University Press,

F.M. van (1982). A model of lower extremity muscular anatomy. *Journal of* 

musculoskeletal reconstructions of the lower limb, Doctoral Dissertation, Stanford

algorithm for a one-legged hopping robot (using the multibody code mechanics motion), In *Proceedings International Workshop on Advanced Robotics and Intelligent* 

man. *Acta Physiologica Scandinavica*, 91, 385-392

**5. References** 

Press, Cambridge

*Posture*, 14, 56-60

*Physiology,* 387 24

Amsterdam

*Biomechanics*, 104, 304-310

University, Palo Alto

*Machines*, pp.1-13

*in Sports & Exercise*, 28, 1402-1412

## **3.4 Vertical jump experiments**

Based on the numerical results, we performed vertical jumping experiments with the hardware prototype and the controller described above. Joint torques obtained in the simulation study were used as the desired joint torques for the experiments. In the first case we performed squat vertical jumps for a conventional robot that does not have a biarticular link. In the second case we performed squat vertical jumps for a biarticular legged robot. In this latter case the robot was equipped with biarticular link that represents the gastrocnemius muscle in a human leg.

The robot performed jumps on a force platform that was used to measure ground reaction forces generated by the robot during the push-off and landing phases of the vertical jump. By double integration of the measured forces that are proportional to the acceleration of the robot's center of mass during the jump, the trajectory of the robot's center of mass is determined during the vertical jump experiments. In this way we obtained the height of the jump of the robot without the biarticular link (0.11m) and the height of the jump of the biarticular legged robot (0.13m). The biarticular legged robot jumped approximately 18% higher than the conventional robot.

A typical sequence of the vertical jump performed by the biarticular legged robot is shown in Fig. 9. Images in the first row show the robot between the beginning of the push-off phase of the jump and the moment when the robot reached the maximal height of the jump. In the second row of Fig. 9 the second part of the flight phase and the landing phase is shown.

Fig. 9. A sequence of the biarticular legged robot performing a vertical jump experiment

## **4. Acknowledgement**

This investigation was supported by the Slovenian Ministry of Education, Science and Sport. Thanks to Borut Lenart, Jožef Stefan Institute for designing the robot prototype and to Damir Omrčen, Jožef Stefan Institute for designing the vertical jump controller and for the help with the experiments.

## **5. References**

268 Robotic Systems – Applications, Control and Programming

Based on the numerical results, we performed vertical jumping experiments with the hardware prototype and the controller described above. Joint torques obtained in the simulation study were used as the desired joint torques for the experiments. In the first case we performed squat vertical jumps for a conventional robot that does not have a biarticular link. In the second case we performed squat vertical jumps for a biarticular legged robot. In this latter case the robot was equipped with biarticular link that represents the

The robot performed jumps on a force platform that was used to measure ground reaction forces generated by the robot during the push-off and landing phases of the vertical jump. By double integration of the measured forces that are proportional to the acceleration of the robot's center of mass during the jump, the trajectory of the robot's center of mass is determined during the vertical jump experiments. In this way we obtained the height of the jump of the robot without the biarticular link (0.11m) and the height of the jump of the biarticular legged robot (0.13m). The biarticular legged robot jumped approximately 18%

A typical sequence of the vertical jump performed by the biarticular legged robot is shown in Fig. 9. Images in the first row show the robot between the beginning of the push-off phase of the jump and the moment when the robot reached the maximal height of the jump. In the second row of Fig. 9 the second part of the flight phase and the landing phase is shown.

Fig. 9. A sequence of the biarticular legged robot performing a vertical jump experiment

This investigation was supported by the Slovenian Ministry of Education, Science and Sport. Thanks to Borut Lenart, Jožef Stefan Institute for designing the robot prototype and to Damir Omrčen, Jožef Stefan Institute for designing the vertical jump controller and for the

**3.4 Vertical jump experiments** 

gastrocnemius muscle in a human leg.

higher than the conventional robot.

**4. Acknowledgement** 

help with the experiments.


**14** 

*Latvia* 

**Optimization and Synthesis** 

Janis Viba, Semjons Cifanskis and Vladimirs Jakushevich

Inverse method algorithm for investigation of mechatronic systems in vibration technology is used for robotic systems motion control synthesis. The main difference of this method in comparison with simple analysis method is that before synthesis of a real system the optimal control task for abstract initial subsystem is solved [1 - 4]. As a result of calculations the optimal control law is found that allows to synthesize series of structural schemes for real systems based on initial subsystem. Is shown that near the optimal control excitation new structural schemes may be found in the medium of three kinds of strongly non–linear

Two types of vibration devices are considered. The first one is a vibration translation machine with constant liquid or air flow excitation. The main idea is to find the optimal control law for variation of additional surface area of machine working head interacting with water or air medium. The criterion of optimization is the time required to move working head of the machine from initial position to end position. The second object of the theoretical study is a fin type propulsive device of robotic fish moving inside water. In that case the aim is to find optimal control law for variation of additional area of vibrating tail like horizontal pendulum which ensures maximal positive impulse of motion forces acting on the tail. Both problems have been solved by using the Pontryagin's maximum principle. It is shown that the optimal control action corresponds to the case of boundary values of

First object with one degree of freedom x and constant water or air flow *V*0 excitation is investigated (Fig. 1., 2.). The system consists of a mass m with spring c and damper b. The main idea is to find the optimal control law for variation of additional area *S(t)* of vibrating

*S St S* 1 2 ≤ ≤ () , (1)

**1. Introduction** 

systems:



**2. Translation motion system** 

mass m within limits (1.):


area. One real prototype was investigated in linear water tank.

**of a Robot Fish Motion** 

*Riga Technical University* 


## **Optimization and Synthesis of a Robot Fish Motion**

Janis Viba, Semjons Cifanskis and Vladimirs Jakushevich *Riga Technical University Latvia* 

## **1. Introduction**

270 Robotic Systems – Applications, Control and Programming

Legreneur, P.; Morlon, B. & Hoecke, J. van (1997). Joined effects of pennation angle and

Leva, P. de (1996). Adjustments to Zatsiorsky-Seluyanov's segment inertia parameters.

Schenau, G.J. van. (1989). From rotation to translation: constraints of multi-joint movements and the unique action of bi-articular muscles, *Human Movement Science*, 8, 301-337 Shorten, M.R. (1985). Mechanical energy changes and elastic energy storage during

Zheng, Y.F. & Hemami, H. (1985). Mathematical modeling of a robot collision with its

Hayes; A. Patla (Eds.), pp. 65-70, Human Kinetics Publ, Champaign Zatsiorsky, V. & Seluyanov, V. (1983). The mass and inertia characteristics of the main

*Archives of Physiology and Biochemistry*, 105, 450-455

(Eds.), pp. 1152-1159, Human Kinetics, Illinois

environment, *Journal of Robotic Systems,* 2, 289-307

*Journal of Biomechanics*, 29, 1223-1230 Raibert, M. (1986). *Legged Robots That Balance*, MIT Press.

tendon compliance on fibre length in isometric contractions: A simulation study.

treadmill running, In: *Biomechanics IXB*, D.A. Winter; R.W. Norman; R. Wells; K.C.

segments of the human body, In *Biomechanics VIII-B,* H. Matsui; K. Kobayashi

Inverse method algorithm for investigation of mechatronic systems in vibration technology is used for robotic systems motion control synthesis. The main difference of this method in comparison with simple analysis method is that before synthesis of a real system the optimal control task for abstract initial subsystem is solved [1 - 4]. As a result of calculations the optimal control law is found that allows to synthesize series of structural schemes for real systems based on initial subsystem. Is shown that near the optimal control excitation new structural schemes may be found in the medium of three kinds of strongly non–linear systems:


Two types of vibration devices are considered. The first one is a vibration translation machine with constant liquid or air flow excitation. The main idea is to find the optimal control law for variation of additional surface area of machine working head interacting with water or air medium. The criterion of optimization is the time required to move working head of the machine from initial position to end position. The second object of the theoretical study is a fin type propulsive device of robotic fish moving inside water. In that case the aim is to find optimal control law for variation of additional area of vibrating tail like horizontal pendulum which ensures maximal positive impulse of motion forces acting on the tail. Both problems have been solved by using the Pontryagin's maximum principle. It is shown that the optimal control action corresponds to the case of boundary values of area. One real prototype was investigated in linear water tank.

## **2. Translation motion system**

First object with one degree of freedom x and constant water or air flow *V*0 excitation is investigated (Fig. 1., 2.). The system consists of a mass m with spring c and damper b. The main idea is to find the optimal control law for variation of additional area *S(t)* of vibrating mass m within limits (1.):

$$S\_1 \le S(t) \le S\_{2'} \tag{1}$$

Optimization and Synthesis of a Robot Fish Motion 273

For solution of problem the Pontryagin's maximum principle may be used [5 - 13]. We have

*x x x cx bx ut V x*

*H x* ( ) *cx bx u t V x*

0 12 2 1 2 0 2

; *X x*

ψ

2 sign (5):

< = 0, ( ) 2 *ut u* , where *u Sk* = ⋅ <sup>1</sup> 1 and *u Sk* = ⋅ <sup>2</sup> 2 , see (1).

S2

<sup>2</sup>

*x* = 1 2

0 

( ()( ) , (3)

. (4)

x1

x(T)

and *X* in any time (function H) must be

( ( ) ( ) ) max. (5)

= = ⋅− − − ⋅ + <sup>2</sup> 12 2 0 <sup>1</sup> ; ( ()( ))

*m*

*m* = + + ⋅− − − ⋅ +

ψ

ψ

*if u t V x*

ψ

maximal. To take this maximum, control action *u(t)* must be within limits

⋅− ⋅ + = <sup>2</sup> 2 02

The examples of control action with one, two and three switch points are shown in Fig. 3. –

1

 ψ

ψ ψ

*H H*

max ,

ψ

=

**2.1 Solution of optimal control problem** 

To assume *t tT* 0 0; 1 , = = we have *K T*= .

*t*

*t K dt* = ⋅ 1

From the system (2), we transform *xx xx* 1 12 = = ; or

ψψ

0 1 .

the high-speed problem

and we have Hamiltonian (3):

, where (4)

<sup>2</sup> > = 0, ( ) 1 *ut u* and if 2

S1

x(0)

Scalar product of those vector functions

*ut u ut u* ( ) 1; ( ) 2 = = , depending only on function

ψ

x2

Fig. 3. Example of optimal control with one switch point

here *H X* = ⋅ ψ

If ψ

Fig. 5.

where *S*1 - lower level of additional area of mass m; *S*<sup>2</sup> - upper level of additional area of mass m, *t* - time.

The criterion of optimization is the time *T* required to move object from initial position to end position.

Then the differential equation for large water velocity *V x* 0 ≥ is (2):

$$
\hat{\mathbf{x}} \cdot \ddot{\mathbf{x}} = -\mathbf{c} \cdot \mathbf{x} - b \, \dot{\mathbf{x}} - \mu(t) \cdot \left(V\_0 + \dot{\mathbf{x}}\right)^2,\tag{2}
$$

where *ut St k* () () = ⋅ , c – stiffness of a spring, b – damping coefficient, *V*0 - constant velocity of water, S(t) – area variation, *u t*( ) - control action, k – constant.

It is required to determine the control action *u = u(t)* for displacement of a system (2) from initial position *x(t0)* to end position *x(t1)* in minimal time (criterion K) K= T, if area *S(t)* has the limit (1).

Fig. 1. Working head construction

Fig. 2. Side-view of a mathematical model

### **2.1 Solution of optimal control problem**

For solution of problem the Pontryagin's maximum principle may be used [5 - 13]. We have

the high-speed problem *t t K dt* = ⋅ 1 0 1 .

272 Robotic Systems – Applications, Control and Programming

where *S*1 - lower level of additional area of mass m; *S*<sup>2</sup> - upper level of additional area of

The criterion of optimization is the time *T* required to move object from initial position to

*mx cx bx ut V x* =− − − ⋅ + <sup>2</sup>

where *ut St k* () () = ⋅ , c – stiffness of a spring, b – damping coefficient, *V*0 - constant velocity

It is required to determine the control action *u = u(t)* for displacement of a system (2) from initial position *x(t0)* to end position *x(t1)* in minimal time (criterion K) K= T, if area *S(t)* has

<sup>x</sup>Flow V

c, b

<sup>0</sup> ()( ) , (2)

Flow

x

Then the differential equation for large water velocity *V x* 0 ≥ is (2):

of water, S(t) – area variation, *u t*( ) - control action, k – constant.

S1, S2

c

b

mass m, *t* - time.

end position.

the limit (1).

Fig. 1. Working head construction

S1, S2

Fig. 2. Side-view of a mathematical model

To assume *t tT* 0 0; 1 , = = we have *K T*= .

From the system (2), we transform *xx xx* 1 12 = = ; or

$$\dot{\mathbf{x}}\_1 = \mathbf{x}\_2; \quad \dot{\mathbf{x}}\_2 = \frac{1}{m} \cdot (-c \propto -b \; \dot{\mathbf{x}} - \mu(t) \cdot (V\_0 + \dot{\mathbf{x}})^2)$$

and we have Hamiltonian (3):

$$H = \boldsymbol{\Psi}\_0 + \boldsymbol{\Psi}\_1 \mathbf{x}\_2 + \boldsymbol{\Psi}\_2 \left(\frac{1}{m} \cdot \left(-c\mathbf{x}\_1 - b\mathbf{x}\_2 - \boldsymbol{\mu}(t) \cdot \left(V\_0 + \mathbf{x}\_2\right)^2\right)\right) \tag{3}$$

here *H X* = ⋅ ψ, where (4)

$$\begin{aligned} \boldsymbol{\Psi} = \begin{bmatrix} \boldsymbol{\Psi}\_0 \\ \boldsymbol{\Psi}\_1 \\ \boldsymbol{\Psi}\_2 \end{bmatrix}; \; \boldsymbol{X} = \begin{bmatrix} \boldsymbol{0} \\ \dot{\boldsymbol{x}}\_1 \\ \dot{\boldsymbol{x}}\_2 \end{bmatrix}. \end{aligned} \tag{4}$$

Scalar product of those vector functions ψ and *X* in any time (function H) must be maximal. To take this maximum, control action *u(t)* must be within limits *ut u ut u* ( ) 1; ( ) 2 = = , depending only on function ψ2 sign (5):

$$\begin{aligned} H &= \max H\_{\prime} \\ \text{if} \quad & \mathbb{1}\_{2} \cdot (-\mu(t) \cdot (V\_{0} + \mathbf{x}\_{2})^{2}) = \max. \end{aligned} \tag{5}$$

If ψ <sup>2</sup> > = 0, ( ) 1 *ut u* and if 2 ψ< = 0, ( ) 2 *ut u* , where *u Sk* = ⋅ <sup>1</sup> 1 and *u Sk* = ⋅ <sup>2</sup> 2 , see (1).

The examples of control action with one, two and three switch points are shown in Fig. 3. – Fig. 5.

Fig. 3. Example of optimal control with one switch point

Optimization and Synthesis of a Robot Fish Motion 275

<sup>0</sup> <sup>t</sup> <sup>2</sup> <sup>n</sup> 0 1 2

<sup>0</sup> <sup>t</sup> <sup>4</sup> <sup>n</sup> 0 2 4

0.110112 <sup>x</sup> 0.019987 <sup>n</sup>

0.15 0.1 0.05 0

Fig. 6. Full control action in time domain

0.500132

Pan

0.999687

0.019987

x n

0.110112

0.2

0.1

0

0.1

1

0.8

0.6

Fig. 7. Displacement in time domain

0.822123

v n

0.820635

Fig. 8. Motion in phase plane starting from inside of limit cycle

1

0

1

water or air flow) more than one limit cycles exist (Fig. 10., 11.).

A search for the case with more than one limit cycle was investigated in a very complicated system with linear and cubic restoring force, linear and cubic resistance force and dry friction. It was found that for a system with non-periodic excitation (like constant velocity of

Fig. 4. Example of optimal control with two switch points in the system with damping

Fig. 5. Example of optimal control with three switch points in the task of system excitation

### **2.2 Theoretical synthesis of control action**

For realizing of optimal control actions (in general case) system of one degree of freedom needs a feedback system with two adapters: one to measure a displacement and another one to measure a velocity. There is a simple case of control existing with only one adapter when directions of motion are changed (Fig. 5) [3]. It means that control action is like negative dry friction and switch points are along zero velocity line. In this case equation of motion is (6):

$$\begin{aligned} \mathbf{m} \cdot \ddot{\mathbf{x}} &= -\mathbf{c} \cdot \mathbf{x} - b \cdot \dot{\mathbf{x}} - \left[ k \cdot (V0 + \dot{\mathbf{x}})^2 \cdot A \mathbf{1} \cdot (0, \mathbf{5} - 0, \mathbf{5} \cdot \frac{\dot{\mathbf{x}}}{\left| \dot{\mathbf{x}} \right|}) \right] - \\ &+ \left[ k \cdot (V0 + \dot{\mathbf{x}})^2 \cdot A \mathbf{2} \cdot (0, \mathbf{5} + 0, \mathbf{5} \cdot \frac{\dot{\mathbf{x}}}{\left| \dot{\mathbf{x}} \right|}) \right] \end{aligned} \tag{6}$$

where m – mass; c, b, k, V0 – constants. Examples of modeling are shown in Fig. 6. – Fig. 9.

274 Robotic Systems – Applications, Control and Programming

S1

Fig. 4. Example of optimal control with two switch points in the system with damping

S2

x2

S1

Fig. 5. Example of optimal control with three switch points in the task of system excitation

S2

x(T)

For realizing of optimal control actions (in general case) system of one degree of freedom needs a feedback system with two adapters: one to measure a displacement and another one to measure a velocity. There is a simple case of control existing with only one adapter when directions of motion are changed (Fig. 5) [3]. It means that control action is like negative dry friction and switch points are along zero velocity line. In this case equation

2

⋅ =− ⋅ − ⋅ − ⋅ + ⋅ ⋅ − ⋅ −

*x*

*<sup>x</sup> mx cx bx k V x A*

where m – mass; c, b, k, V0 – constants. Examples of modeling are shown in Fig. 6. – Fig. 9.

( 0 ) 1 (0,5 0,5 )

*x*

x1

S2

(6)

x1

**2.2 Theoretical synthesis of control action** 

x(0)

x(0)

x2

S1

S1

x(T)

2

( 0 ) 2 (0,5 0,5 ) ,

*<sup>x</sup> kV x A*

 +⋅ + ⋅ ⋅ + ⋅ 

of motion is (6):

Fig. 6. Full control action in time domain

Fig. 7. Displacement in time domain

Fig. 8. Motion in phase plane starting from inside of limit cycle

A search for the case with more than one limit cycle was investigated in a very complicated system with linear and cubic restoring force, linear and cubic resistance force and dry friction. It was found that for a system with non-periodic excitation (like constant velocity of water or air flow) more than one limit cycles exist (Fig. 10., 11.).

Optimization and Synthesis of a Robot Fish Motion 277

Scheme of a system includes main mass of the object, spring and viscous damper (Fig. 12.). Part of mass with blades does not rotate. Second part of main mass like blades rotates

**2.3 Synthesis of a real system with rotating blades** 

Fig. 12. System with rotating blades

depending from velocity squared.

velocity ω

Results of investigation are shown in Fig. 13. – Fig. 14.

An

0.03

0.04

0.05

0.06

Fig. 13. Area change function in time domain when blades rotate with constant angular

Investigation shows that system is very stable because of air excitation and damping forces

t n 0 5 10

t <sup>n</sup> n s.

around fixed axis inside body. Blades have symmetric areas A1 and A2.

Fig. 9. Motion with initial conditions outside of limit cycle

Fig. 10. Motion in phase plane for small limit cycle

Fig. 11. Motion for large limit cycle

276 Robotic Systems – Applications, Control and Programming

x 0 v0

0.496229 <sup>x</sup> 0.01 <sup>n</sup> 0.6 0.4 0.2 0 0.2

> 0.09 0

x n 0.2 0.1 <sup>0</sup> 0.1 <sup>2</sup>

> 9 0

x n 15 10 5 0 5 10

x 0 v0

Fig. 9. Motion with initial conditions outside of limit cycle

2

0

2

1.164209

v n

1.500808

Fig. 10. Motion in phase plane for small limit cycle

v n

1000

500

0

500

1000

v n

1

0

1

2

Fig. 11. Motion for large limit cycle

## **2.3 Synthesis of a real system with rotating blades**

Scheme of a system includes main mass of the object, spring and viscous damper (Fig. 12.). Part of mass with blades does not rotate. Second part of main mass like blades rotates around fixed axis inside body. Blades have symmetric areas A1 and A2.

Results of investigation are shown in Fig. 13. – Fig. 14.

Fig. 13. Area change function in time domain when blades rotate with constant angular velocity ω

Investigation shows that system is very stable because of air excitation and damping forces depending from velocity squared.

Optimization and Synthesis of a Robot Fish Motion 279

It is shown that adaptive systems are also very stable because of water or air excitation and

In order to get values of parameters in equations, experiments were made in the wind tunnel. It should be noted that the air flow is similar to the water flow, with one main difference in the density. It is therefore convenient to perform synthesis algorithm experiments done with air flow in the wind tunnel. Experimental results obtained in the wind tunnel to some extent may be used to analyze water flow excitation in robot fish prototypes. Using "Armfield" subsonic wind tunnel several additional results were obtained. For example, drag forces, acting on different shapes of bodies, were measured and

velocity, *S* – specific area, *Cd* – drag coefficient. These coefficients depend on bodie's

geometry, orientation relative to flow, and non-dimensional Reynolds number.

Fig. 17. Subsonic wind tunnel used for experiments at Mechanics Institute of Riga TU

*<sup>V</sup> F CS* ρ<sup>⋅</sup> = ⋅⋅

0.17494 x 0.04685 n 0.2 0.1 0 0.1

> 2 , <sup>2</sup>

where *ρ* – density, *V* – flow

Fig. 16. Motion in phase plane

damping forces depending from velocity squared.

0.278263

0.5

0

0.5

0.352604

v n

drag coefficients were calculated by formula *d d*

Fig. 14. Motion in phase plane for parameters close to the first resonance

### **2.4 Synthesis of real system inside tube with variable hole area - A**

Adaptive control where analyzed by next area exchange functions f1(A) (Fig. 15, 16.):

$$f1(A) = A \cdot (1 + a \cdot \frac{v \cdot x}{|v \cdot x|}) \cdot x$$

where A2, a – constants, v, x – velocity and coordinate of moving mass m2.

Fig. 15. Synthesis of system inside tube

278 Robotic Systems – Applications, Control and Programming

c

m

= 1

ω

Fig. 14. Motion in phase plane for parameters close to the first resonance

1

0.5

0

0.5

1

**2.4 Synthesis of real system inside tube with variable hole area - A** 

where A2, a – constants, v, x – velocity and coordinate of moving mass m2.

Fig. 15. Synthesis of system inside tube

b1

c

v n

Adaptive control where analyzed by next area exchange functions f1(A) (Fig. 15, 16.):

m2

1( ) 2 (1 ) *v x fA A a*

<sup>⋅</sup> = ⋅ +⋅ <sup>⋅</sup> ,

*v x*

A2

x n

0.5 0.4 0.3 0.2 0.1

Fig. 16. Motion in phase plane

It is shown that adaptive systems are also very stable because of water or air excitation and damping forces depending from velocity squared.

In order to get values of parameters in equations, experiments were made in the wind tunnel. It should be noted that the air flow is similar to the water flow, with one main difference in the density. It is therefore convenient to perform synthesis algorithm experiments done with air flow in the wind tunnel. Experimental results obtained in the wind tunnel to some extent may be used to analyze water flow excitation in robot fish prototypes. Using "Armfield" subsonic wind tunnel several additional results were obtained. For example, drag forces, acting on different shapes of bodies, were measured and

drag coefficients were calculated by formula *d d <sup>V</sup> F CS* ρ <sup>⋅</sup> = ⋅⋅ 2 , <sup>2</sup> where *ρ* – density, *V* – flow

velocity, *S* – specific area, *Cd* – drag coefficient. These coefficients depend on bodie's geometry, orientation relative to flow, and non-dimensional Reynolds number.

Fig. 17. Subsonic wind tunnel used for experiments at Mechanics Institute of Riga TU

Optimization and Synthesis of a Robot Fish Motion 281

Ay

y

The principal task described in this report is to find optimal control law for variation of

Ax

where *B*1 - lower level of additional area of a tail; *B*<sup>2</sup> - upper level of additional area of a

The criterion of optimization is full reaction *Ax\** impulse in pivot, acting to a hull (indirect reaction to a tail) which is required to move an object from one stop - initial position (

> ϕ min , 0 ϕ

*T K Ax dt* =− ⋅ 0

Differential equation of motion of the system with one degree of freedom (including a

= −⋅ − ⋅⋅ ⋅ ⋅ ⋅ ⋅⋅

 ϕϕ

ϕ

*B Bt B* 1 2 ≤ ≤ () , (7)

x

Stop

\* , (8)



= ) in time *T*(8).

( ) *L*

ϕ

( ) - component of the moment of resistance

 ϕ ξ ξ ξ


 *gn d* <sup>2</sup> 0 (, , ) ( ) . (9)

Fig. 19. Top-view of a robot fish tail like horizontal pendulum.

Tail

additional area *B(t)* of vibrating tail within limits (7.):

S1, S2

ϕ

Spring of pendulum

= ) to another stop - end position (

ϕ

constant coefficient; *B* - area; ( )

ϕ ϕ

force expressed as an integral along tail direction;

rigid straight tail; *M t*(, , )

change of angular momentum around fixed point A) is (9):

*A t J M t c k B si*

*L* ϕ ⋅ ⋅⋅ ξ ξξ

0

From the principle of the motion of mass center *C* it follows (10):

 ϕ

*<sup>d</sup>* <sup>2</sup>

ϕϕ

Here *AJ* - moment of inertia of the tail around pivot point;

Simplified model with fixed pivot A

tail, *t* - time.

ϕ max , 0 ϕ

tail.

All experiments were done at constant air flow velocity in the range of 10 – 20 m/s. This corresponds to *Re* value of about 40 000.

Drag coefficient for a plate perpendicular to the flow depends on plate's length and chord ratio. For standard plates Cd it is about 1.2. For infinitely long plates Cd reaches the value of 2. For a cone *Cd* = 0,5; for a cylinder along the flow - about 0,81; for both cylinder and cone in one direction - 0,32. All these forms can be used for robot fish main body form designing, (together with the tail) in real robot fish models (see part 3.4, where cone and cylinder were used). Depth control of prototypes was provided by two front control wings (see part 3.4).

Parameters of subsonic wind tunnel were as follows: length 2.98m, width 0.8m., height 1.83m. Variable speed motor drive unit downstream of the working section permits stepless control of airspeed between 0 and 26 ms-1. Experiments prove that air flow excitation is very efficient.

## **3. Investigation of a rotating system**

The second object of the theoretical study is a fin type propulsive device of robotic fish moving inside water. The aim of the study is to find out optimal control law for variation of additional area of vibrating tail like horizontal pendulum, which ensures maximal positive impulse of motion forces components acting on a tail parallel to x axis (Fig.18).

Fig. 18. Side-view of a robot fish tail like horizontal pendulum

Problem has been solved by using Pontryagin's maximum principle. It is shown that optimal control action corresponds to the case of boundary values of area.

Mathematical model of a system consists of rigid straight flat tail moving around pivot (Fig. 18.,19.). Area of the tail may be changed by control actions. For excitation of the motion a moment *M(t,φ,ω)* around pivot must be added, where *ω = dφ/dt* – angular velocity of a rigid tail. To improve performance of a system additional rotational spring with stiffness *c* may be added (Fig. 19.).

280 Robotic Systems – Applications, Control and Programming

All experiments were done at constant air flow velocity in the range of 10 – 20 m/s. This

Drag coefficient for a plate perpendicular to the flow depends on plate's length and chord ratio. For standard plates Cd it is about 1.2. For infinitely long plates Cd reaches the value of 2. For a cone *Cd* = 0,5; for a cylinder along the flow - about 0,81; for both cylinder and cone in one direction - 0,32. All these forms can be used for robot fish main body form designing, (together with the tail) in real robot fish models (see part 3.4, where cone and cylinder were used). Depth control of prototypes was provided by two front control wings (see

Parameters of subsonic wind tunnel were as follows: length 2.98m, width 0.8m., height 1.83m. Variable speed motor drive unit downstream of the working section permits stepless control of airspeed between 0 and 26 ms-1. Experiments prove that air flow excitation is

The second object of the theoretical study is a fin type propulsive device of robotic fish moving inside water. The aim of the study is to find out optimal control law for variation of additional area of vibrating tail like horizontal pendulum, which ensures maximal positive

y

x

Stop

Problem has been solved by using Pontryagin's maximum principle. It is shown that

Mathematical model of a system consists of rigid straight flat tail moving around pivot (Fig. 18.,19.). Area of the tail may be changed by control actions. For excitation of the motion a moment *M(t,φ,ω)* around pivot must be added, where *ω = dφ/dt* – angular velocity of a rigid tail. To improve performance of a system additional rotational spring with stiffness *c* may be

impulse of motion forces components acting on a tail parallel to x axis (Fig.18).

z

Fig. 18. Side-view of a robot fish tail like horizontal pendulum

S1, S2

Tail

optimal control action corresponds to the case of boundary values of area.

corresponds to *Re* value of about 40 000.

**3. Investigation of a rotating system** 

part 3.4).

very efficient.

added (Fig. 19.).

Fig. 19. Top-view of a robot fish tail like horizontal pendulum. Simplified model with fixed pivot A

The principal task described in this report is to find optimal control law for variation of additional area *B(t)* of vibrating tail within limits (7.):

$$B\_1 \le B(t) \le B\_{2'} \tag{7}$$

where *B*1 - lower level of additional area of a tail; *B*<sup>2</sup> - upper level of additional area of a tail, *t* - time.

The criterion of optimization is full reaction *Ax\** impulse in pivot, acting to a hull (indirect reaction to a tail) which is required to move an object from one stop - initial position ( ϕ max , 0 ϕ = ) to another stop - end position (ϕ min , 0 ϕ= ) in time *T*(8).

$$K = -\bigcap\_{0}^{T} A \mathbf{x}^\* \cdot dt \,, \tag{8}$$

Differential equation of motion of the system with one degree of freedom (including a change of angular momentum around fixed point A) is (9):

$$J\_A \ddot{\boldsymbol{\varphi}} = M(\boldsymbol{t}, \boldsymbol{\varphi}, \dot{\boldsymbol{\varphi}}) - \boldsymbol{c} \cdot \boldsymbol{\varphi} - \boldsymbol{k}\_t \cdot \boldsymbol{B} \cdot \operatorname{sign}(\dot{\boldsymbol{\varphi}} \cdot \boldsymbol{\varphi}) \cdot \int\_0^L \left(\dot{\boldsymbol{\varphi}} \cdot \boldsymbol{\xi}\right)^2 \cdot \boldsymbol{\xi} \cdot d\boldsymbol{\xi}.\tag{9}$$

Here *AJ* - moment of inertia of the tail around pivot point; ϕ - angular acceleration of a rigid straight tail; *M t*(, , ) ϕ ϕ - excitation moment of the drive; *c* - angular stiffness; *<sup>t</sup> k* constant coefficient; *B* - area; ( ) *L* ϕ ⋅ ⋅⋅ ξ ξξ*<sup>d</sup>* <sup>2</sup> 0 ( ) - component of the moment of resistance force expressed as an integral along tail direction; ϕ - angular velocity; *L* - length of the tail.

From the principle of the motion of mass center *C* it follows (10):

Optimization and Synthesis of a Robot Fish Motion 283

*m Mt c J*

<sup>1</sup> ( 2) 2 sin( 1)}) 4 2

= ⋅− ⋅ − ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ + +

4 2

 ϕϕ

sin( 1) ( 1 2) 2 <sup>3</sup>

 ϕϕ

*t*

<sup>1</sup> 2 2 ( , 1, 2) 1 ( 2) 2 <sup>4</sup>

 ϕ

*L M t c k B sign <sup>J</sup>*

+ ⋅ + ⋅ ⋅ −⋅ − ⋅ ⋅ ⋅ ⋅

ψ

0 1 2

=

ψ

Φ Φ= Φ Φ

0 1 2

*H* φ

*d dt* Φ Φ = 0,1,2 0,1,2 .

<sup>012</sup> , , . Solution of such system is out of the scope of this report because it

*H* φ

<sup>∂</sup> Φ =− ∂ <sup>2</sup> 2

ψ

<sup>∂</sup> Φ =− ∂ <sup>1</sup> 1 ;

From equations (15) and (18) we get nonlinear system of differential equations to find

depends from unknown moment *M(t,φ,ω)*. But some conclusions and recommendations may be given from Hamiltonian if excitation moment *M(t,φ,ω)* does not depend from phase

M = M(t).

*H* [11]) must be maximal (supremum - in this linear B case) [8 – 12]. To have such maximum (supremum), control action *B(t)* must be within limits *Bt B Bt B* = = 1 2 () ; () , depending only

ψ ψ

For functions ΦΦΦ <sup>012</sup> , , calculations are following differential equations [9 - 12]:

*H* φ

<sup>∂</sup> Φ =− ∂ <sup>0</sup> 0 ;

In this case scalar product of two last vector functions

 ϕϕ

<sup>1</sup> } 2 cos( 1) ( , 1, 2) 1 <sup>2</sup>

⋅ ⋅ ⋅ + ⋅ −⋅ −

*A*

*<sup>L</sup> k B sign*

+⋅⋅ ⋅ ⋅ ⋅ ⋅ 

3 2

> ϕ ϕ

ϕ

 ϕ

 ϕ

> 4 2

; (16)

, (17)

, (18)

and Φ in any time (Hamiltonian

. 

(15)

[ <sup>2</sup>

 ϕ

ϕ ϕ

ϕ

( )

*t*

ϕ

*A*

*t*

*L L <sup>H</sup> k B sign*

*L*

0

ψ

1

here *H* = ⋅Φ ψ

functions

ψϕ

, where (10, 11)

 ψ

ΦΦΦ <sup>012</sup> , , - right side of system equations (14).

where left side is the derivation in time *t*:

from the *sign* of a function *(*19) or (20):

ψψψ

coordinates *φ = φ1, ω = φ2:* 

$$\operatorname{Im} \cdot \left( \dot{\boldsymbol{\phi}}^2 \cdot \frac{\mathbf{L}}{2} \cdot \cos \boldsymbol{\varphi} + \ddot{\boldsymbol{\varphi}} \cdot \frac{\mathbf{L}}{2} \cdot \sin \boldsymbol{\varphi} \right) = \mathbf{A} \cdot \mathbf{x} - \mathbf{k}\_t \cdot \mathbf{B} \cdot \sin(\boldsymbol{\varphi}) \cdot \operatorname{sign}(\boldsymbol{\varphi} \cdot \dot{\boldsymbol{\varphi}}) \cdot \left( \iint\_0^\mathbb{L} \left( \dot{\boldsymbol{\varphi}} \cdot \boldsymbol{\xi} \right)^2 \cdot d\boldsymbol{\xi} \right) \tag{10}$$

After integration from equations (9) and (10) we have (11, 12):

$$\ddot{\varphi} = \frac{1}{I\_A} \cdot \left[ M(t, \varphi, \dot{\varphi}) - c \cdot \varphi - k\_t \cdot B \cdot \text{sign}(\dot{\varphi}) \cdot \dot{\varphi}^2 \cdot \frac{L^4}{4} \right]. \tag{11}$$

$$\begin{split} Ax &= m \cdot \{\phi^2 \cdot \frac{L}{2} \cdot \cos(\phi) + \frac{1}{I\_A} \cdot \left[ M(t, \varphi, \phi) - c \cdot \varphi - k\_i \cdot B \cdot \text{sign}(\phi) \cdot \phi^2 \cdot \frac{L^4}{4} \right] \cdot \frac{L}{2} \cdot \sin(\phi) \} + \\ &+ k\_i \cdot B \cdot \sin(\phi) \cdot \text{sign}(\phi \cdot \phi) \cdot \phi^2 \cdot \frac{L^3}{3} .\end{split} \tag{12}$$

Then the criterion of optimization (full impulse) is:

$$\mathcal{K} = -\int\_{0}^{T} \left( m \cdot \left\{ \dot{\boldsymbol{\rho}}^{2} \cdot \frac{L}{2} \cdot \cos(\boldsymbol{\rho}) + \frac{1}{f\_{A}} \cdot \left[ M(t, \boldsymbol{\rho}, \dot{\boldsymbol{\rho}}) - \boldsymbol{c} \cdot \boldsymbol{\varrho} - k\_{t} \cdot \boldsymbol{B} \cdot \text{sign}(\dot{\boldsymbol{\rho}}) \cdot \dot{\boldsymbol{\phi}}^{2} \cdot \frac{L^{4}}{4} \right] \cdot \frac{L}{2} \cdot \sin(\boldsymbol{\rho}) \right) + \right.\\ \left. \left. \left. \left. \frac{L}{2} \cdot \sin(\boldsymbol{\rho}) \right\} \cdot \left[ \boldsymbol{\rho} \right] \cdot \left[ \boldsymbol{\rho} \right] \right] \cdot \left[ \boldsymbol{\rho} \right] \right) \, dt,\tag{13}$$

Equations (13) will be used to solve the optimization problem.

### **3.1 Task of optimization**

Solution of optimal control problem for a system with one degree of freedom (11) by using the Pontryagin's maximum principle includes following steps [8 - 13]:

1. Formulation of a criterion of optimization (13):

*A*

$$K = -\int\_0^\top A x \cdot dt \; . \; .$$

2. Transformation of the equation (9) and equation (13) in the three first order equations with new variables φ0, φ1 and φ2 (phase coordinates):

$$\begin{aligned} \varphi0 &= (-1) \cdot \left[ \begin{aligned} m \cdot \{\varphi 2^{-} \cdot \frac{L}{2} \cdot \cos(\varphi 1) + \frac{1}{I\_{A}} \left[ M(t, \varphi 1, \varphi 2) - c \cdot \varphi 1 - k\_{t} \cdot B \cdot \text{sign}(\varphi 2) \cdot \varphi 2^{-} \cdot \frac{L^{4}}{4} \right] \cdot \frac{L}{2} \cdot \sin(\varphi 1) \} + \right] \\ &+ k\_{t} \cdot B \cdot \sin(\varphi 1) \cdot \text{sign}(\varphi 1 \cdot \varphi 2) \cdot \varphi 2^{-} \cdot \frac{L^{3}}{3}, \end{aligned} \right] \\\\ \begin{aligned} \dot{\varphi}1 &= \varphi 2; \\ \dot{\varphi}2 &= \frac{1}{I\_{A}} \cdot \left[ M(t, \varphi 1, \varphi 2) - c \cdot \varphi 1 - k\_{t} \cdot B \cdot \text{sign}(\varphi 2) \cdot \varphi 2^{-} \cdot \frac{L^{4}}{4}. \end{aligned} \right] \end{aligned} \tag{14}$$

According to procedure of Pontryagin's maximum principle, Hamiltonian (*H*) is [9 -12]:

282 Robotic Systems – Applications, Control and Programming

*t*

*<sup>d</sup>* ⋅ ⋅ ⋅ +⋅ ⋅ = − ⋅⋅ ⋅ ⋅ ⋅ ⋅ ⋅ <sup>2</sup> <sup>2</sup>

*Ax k B sign*

*t*

 ϕ

<sup>1</sup> { cos( ) ( , , ) ( ) sin( )} <sup>2</sup> 4 2

= ⋅ ⋅ ⋅ + ⋅ −⋅ − ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ +

*<sup>L</sup> M t c k B sign <sup>J</sup>*

= ⋅ −⋅ − ⋅ ⋅ ⋅ ⋅

 ϕ

*L L <sup>L</sup> Ax m M t c k B sign <sup>J</sup>*

*L L <sup>L</sup> m M <sup>t</sup> <sup>c</sup> <sup>k</sup> <sup>B</sup> sign <sup>J</sup> <sup>K</sup> dt*

2 2

 ϕ

<sup>1</sup> { cos( ) ( , , ) ( ) sin( )} <sup>2</sup> 4 2 ,

Solution of optimal control problem for a system with one degree of freedom (11) by using

*T K Ax dt* =− ⋅ 0

2. Transformation of the equation (9) and equation (13) in the three first order equations

*L L <sup>L</sup> m M <sup>t</sup> <sup>c</sup> <sup>k</sup> <sup>B</sup> sign*

<sup>1</sup> { 2 cos( 1) ( , 1, 2) 1 ( 2) 2 sin( 1)} 2 4 <sup>2</sup> 0 1

2 2

3 2

⋅ ⋅ ⋅ + ⋅ −⋅ − ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ + =− ⋅ +⋅⋅ ⋅ ⋅ ⋅ ⋅

*<sup>L</sup> M t c k B sign <sup>J</sup>*

<sup>1</sup> 2 ( , 1, 2) 1 ( 2) 2 . <sup>4</sup>

= ⋅ −⋅ − ⋅⋅ ⋅ ⋅

 ϕ

According to procedure of Pontryagin's maximum principle, Hamiltonian (*H*) is [9 -12]:

 ϕ

*t*

 ϕ ϕ

(14)

 ϕϕ

 ϕ .

 ⋅ ⋅ ⋅ + ⋅ −⋅ − ⋅⋅ ⋅ ⋅ ⋅ ⋅ + = − ⋅

ϕϕ

2 2

ϕ

 ϕ ϕ

 ϕ ϕ

<sup>4</sup> <sup>1</sup> <sup>2</sup> (, , ) ( ) <sup>4</sup> . (11)

cos sin sin( ) ( ) 2 2 (10)

*t*

 ϕϕ

 ϕ ϕ

 ϕ

> ϕϕ

3 2

> ϕϕ

After integration from equations (9) and (10) we have (11, 12):

*A*

*A*

 ϕ

 ϕϕ ϕ

Then the criterion of optimization (full impulse) is:

*<sup>L</sup> k B sign*

 ϕ

+⋅⋅ ⋅ ⋅ ⋅ ⋅

<sup>3</sup> <sup>0</sup> <sup>2</sup>

ϕ

*T t A*

> ϕϕ ϕ

Equations (13) will be used to solve the optimization problem.

with new variables φ0, φ1 and φ2 (phase coordinates):

( ) *<sup>t</sup> A*

> ϕϕ

*<sup>L</sup> k B sign*

 ϕ

*A*

ϕ

=

1 2;

ϕ ϕ

ϕ

*J*

sin( 1) ( 1 2) 2 , <sup>3</sup>

 ϕϕ

the Pontryagin's maximum principle includes following steps [8 - 13]:

sin( ) ( ) <sup>3</sup>

1. Formulation of a criterion of optimization (13):

sin( ) ( ) . <sup>3</sup>

*L L*

 ϕϕ

ϕ

*<sup>L</sup> k B sign*

+⋅⋅ ⋅ ⋅ ⋅ ⋅

ϕ

ϕ

*m* ϕ

*t*

*t*

**3.1 Task of optimization** 

*t*

ϕ

ϕ

ϕ

( ) *L*

 ξ

ϕ

ϕ

(12)

(13)

ϕ

4

 ϕξ

0

4

4

 ϕ ϕ

> 4 2

$$H = \begin{bmatrix} m \cdot \{\boldsymbol{\varrho}\boldsymbol{\varrho}^{2} \cdot \frac{\boldsymbol{L}}{2} \cdot \cos(\boldsymbol{\varrho}\boldsymbol{1}) + \frac{1}{f\_{\Lambda}} \cdot \left[M(t, \boldsymbol{\varrho}\boldsymbol{1}, \boldsymbol{\varrho}\boldsymbol{2}) - \boldsymbol{c} \cdot \boldsymbol{\varrho}\boldsymbol{1} - \boldsymbol{\varrho}\boldsymbol{1}\right] \\\\ -k\_{\iota} \cdot \boldsymbol{B} \cdot \operatorname{sign}(\boldsymbol{\varrho}\boldsymbol{2}) \cdot \boldsymbol{\varrho}\boldsymbol{2}^{\top} \cdot \frac{\boldsymbol{L}^{4}}{4} \Big] \cdot \frac{\boldsymbol{L}}{2} \cdot \operatorname{sign}(\boldsymbol{\varrho}\boldsymbol{1}) \Big| + \\\\ + k\_{\iota} \cdot \boldsymbol{B} \cdot \operatorname{sign}(\boldsymbol{\varrho}\boldsymbol{1}) \cdot \operatorname{sign}(\boldsymbol{\varrho}\boldsymbol{1} \cdot \boldsymbol{\varrho}\boldsymbol{2}) \cdot \boldsymbol{\varrho}\boldsymbol{2}^{\top} \cdot \frac{\boldsymbol{L}^{3}}{3} \\\\ \vdots \quad \vdots \quad \vdots \end{bmatrix} \tag{15}$$

$$+\psi\_1 \cdot \varphi \mathbf{2} + \psi \mathbf{2} \cdot \frac{1}{I\_A} \cdot \left[ M(t, \varphi \mathbf{1}, \varphi \mathbf{2}) - \mathbf{c} \cdot \varphi \mathbf{1} - k\_t \cdot \mathbf{B} \cdot \text{sign}(\varphi \mathbf{2}) \cdot \varphi \mathbf{2}^2 \cdot \frac{L^4}{4} \right].$$

here *H* = ⋅Φ ψ, where (10, 11)

$$\begin{aligned} \boldsymbol{\Psi} &= \begin{bmatrix} \boldsymbol{\Psi}\_0 \\ \boldsymbol{\Psi}\_1 \\ \boldsymbol{\Psi}\_2 \end{bmatrix}; \tag{16} \end{aligned} \tag{16}$$

$$\Phi = \begin{Bmatrix} \Phi\_0 \\ \Phi\_1 \\ \Phi\_2 \end{Bmatrix},\tag{17}$$

ΦΦΦ <sup>012</sup> , , - right side of system equations (14).

For functions ΦΦΦ <sup>012</sup> , , calculations are following differential equations [9 - 12]:

$$\dot{\Phi}\_0 = -\frac{\partial H}{\partial \phi\_0}; \ \dot{\Phi}\_1 = -\frac{\partial H}{\partial \phi\_1}; \ \dot{\Phi}\_2 = -\frac{\partial H}{\partial \phi\_2},\tag{18}$$

where left side is the derivation in time *t*: *d dt* Φ Φ = 0,1,2 0,1,2 .

From equations (15) and (18) we get nonlinear system of differential equations to find functionsψψψ <sup>012</sup> , , . Solution of such system is out of the scope of this report because it depends from unknown moment *M(t,φ,ω)*. But some conclusions and recommendations may be given from Hamiltonian if excitation moment *M(t,φ,ω)* does not depend from phase coordinates *φ = φ1, ω = φ2:* 

$$\mathbf{M} = \mathbf{M}(\mathbf{t}).$$

In this case scalar product of two last vector functions ψ and Φ in any time (Hamiltonian *H* [11]) must be maximal (supremum - in this linear B case) [8 – 12]. To have such maximum (supremum), control action *B(t)* must be within limits *Bt B Bt B* = = 1 2 () ; () , depending only from the *sign* of a function *(*19) or (20):

Optimization and Synthesis of a Robot Fish Motion 285

Fig. 21. Angular acceleration of the tail as function of angle. At the end of transition process

0.15 0.08 0.01 0.06 0.13 0.2

ϕn

0 1.67 3.33 5 6.67 8.33 10

t n

of a tail in time domain (see equation (9)). Practically

graph is symmetric

Fig. 22. Angular acceleration

Axn

zero level (non-symmetry is negative)

0.04 0.03 0.02 0.01 0 0.01 0.02 ε = ϕ

2

1.33

0.67

εn

0

0.67

1.33

2

2

1

0

εn

1

2

angular acceleration of the tail reaches steady-state cycle after one oscillation

Fig. 23. Impulse *Ax(t)* in time domain (see equation (12)). Impulse is non-symmetric against

0 1.67 3.33 5 6.67 8.33 10

t n

$$\text{sign}\left(\begin{aligned} \left(\boldsymbol{\nu}\_{\text{o}}\cdot\left[\frac{m}{I\_{A}}\cdot\left[k\_{i}\cdot\mathbf{1}\cdot\text{sign}(\varrho\boldsymbol{\varrho})\cdot\frac{L^{5}}{4}\right]\cdot\frac{1}{2}\cdot\text{sign}(\varrho\boldsymbol{\varrho}1) + k\_{i}\cdot\mathbf{1}\cdot\text{sign}(\varrho\boldsymbol{\varrho}1)\cdot\text{sign}(\varrho\boldsymbol{\varrho}1\cdot\varrho\boldsymbol{\varrho}2)\cdot\frac{L^{3}}{3}\right] + \\ + \boldsymbol{\nu}\prime\mathbf{2}\cdot\frac{1}{I\_{A}}\cdot\left[-k\_{i}\cdot\mathbf{1}\cdot\text{sign}(\varrho\boldsymbol{\varrho}2)\cdot\frac{L^{4}}{4}\right] \\ \text{B}=\text{B2}; \end{aligned}\right) \geq 0,\tag{19}$$

$$\text{sign}\left(\begin{aligned} \left(\boldsymbol{\nu}\_{\text{o}}\cdot\left[\frac{m}{I\_{A}}\cdot\left[k\_{i}\cdot\mathbf{1}\cdot\text{sign}(\varrho\boldsymbol{\varrho}2)\cdot\frac{L^{5}}{4}\right]\cdot\frac{1}{2}\cdot\text{sign}(\varrho\boldsymbol{\varrho}1) + k\_{i}\cdot\mathbf{1}\cdot\text{sign}(\varrho\boldsymbol{\varrho}1)\cdot\text{sign}(\varrho\boldsymbol{\varrho}1\cdot\varrho\boldsymbol{\varrho}2)\cdot\frac{L^{3}}{3}\right] + \\ + \boldsymbol{\nu}\prime\mathbf{2}\cdot\frac{1}{I\_{A}}\cdot\left[-k\_{i}\cdot\mathbf{1}\cdot\text{sign}(\varrho\boldsymbol{\varrho}2)\cdot\frac{L^{4}}{4}\right] \end{aligned}\right) \leq 0.\tag{20}$$

*B = B1;*

From inequalities (19) and (20) in real system synthesis following quasi-optimal control action may be recommended (21):

$$B = \left[ B2 \cdot (0, 5 - 0, 5 \cdot \text{sign}(\varphi 1 \cdot \varphi 2)) + B1 \cdot (0, 5 + 0, 5 \cdot \text{sign}(\varphi 1 \cdot \varphi 2)) \right],$$

or

$$B = \left[ B \, 2 \cdot (0, 5 - 0, 5 \cdot \text{sign}(\varphi \cdot \dot{\varphi})) + B \, 1 \cdot (0, 5 + 0, 5 \cdot \text{sign}(\varphi \cdot \dot{\varphi})) \right]. \tag{21}$$

### **3.2 Synthesis of mixed system with time-harmonic excitation and area adaptive control**

In the case of time-harmonic excitation moment *M* in time domain is (see equations (9) and (11)):

 *M(t) = M0*٠*sin(k*٠*t).* 

Results of modeling are shown in Fig. 20. – 25. Comments about graphics are given under all Fig. 20. – 25.

Fig. 20. Tail angular motion in the phase plane – angular velocity as function of angle

284 Robotic Systems – Applications, Control and Programming

 ϕ

⋅ ⋅ ⋅⋅ ⋅ ⋅ ⋅ + ⋅⋅ ⋅ ⋅ ⋅ + <sup>≥</sup>

<sup>1</sup> 1 ( 2) sin( 1) 1 sin( 1) ( 1 2) 4 2 <sup>3</sup>

+ ⋅ ⋅− ⋅ ⋅ ⋅

 ϕ

⋅ ⋅ ⋅⋅ ⋅ ⋅ ⋅ + ⋅⋅ ⋅ ⋅ ⋅ + <sup>≤</sup>

<sup>1</sup> 1 ( 2) sin( 1) 1 sin( 1) ( 1 2) 4 2 <sup>3</sup>

+ ⋅ ⋅− ⋅ ⋅ ⋅

*B = B1;* From inequalities (19) and (20) in real system synthesis following quasi-optimal control

*B B* = ⋅ − ⋅ ⋅ +⋅ + ⋅ ⋅ [ 2 (0,5 0,5 ( 1 2)) 1 (0,5 0,5 ( 1 2)) *sign B*

*B B* = ⋅ − ⋅ ⋅ +⋅ + ⋅ ⋅ [ 2 (0,5 0,5 ( )) 1 (0,5 0,5 ( ) . *sign B* ϕ ϕ

In the case of time-harmonic excitation moment *M* in time domain is (see equations (9) and (11)):  *M(t) = M0*٠*sin(k*٠*t).*  Results of modeling are shown in Fig. 20. – 25. Comments about graphics are given under

**3.2 Synthesis of mixed system with time-harmonic excitation and area adaptive** 

Fig. 20. Tail angular motion in the phase plane – angular velocity as function of angle

0.5

0.25

ω<sup>n</sup>

0

0.25

0.5

0.2 0.1 0 0.1 0.2

ϕn

ϕ ϕ

*B = B2;* 

5 3

*sign*

*sign*

5 3

ϕϕ ϕ

ϕϕ ϕ

> ϕ ϕ] ,

ϕ ϕ 0,

0.

] (21)

(19)

(20)

*t t*

*t t*

4

4

*m L <sup>L</sup> k sign <sup>k</sup> sign <sup>J</sup> sign*

*m L <sup>L</sup> k sign <sup>k</sup> sign <sup>J</sup> sign*

*A*

ψ

0

ψ

ψ

0

ψ

or

**control** 

all Fig. 20. – 25.

*A*

*A*

*A*

action may be recommended (21):

*t*

*t*

*<sup>L</sup> k sign <sup>J</sup>*

<sup>1</sup> 2 1 ( 2) <sup>4</sup>

*<sup>L</sup> k sign <sup>J</sup>*

<sup>1</sup> 2 1 ( 2) <sup>4</sup>

 ϕ

 ϕ

 ϕ

 ϕ

Fig. 21. Angular acceleration of the tail as function of angle. At the end of transition process graph is symmetric

Fig. 22. Angular acceleration ε = ϕ of a tail in time domain (see equation (9)). Practically angular acceleration of the tail reaches steady-state cycle after one oscillation

Fig. 23. Impulse *Ax(t)* in time domain (see equation (12)). Impulse is non-symmetric against zero level (non-symmetry is negative)

Optimization and Synthesis of a Robot Fish Motion 287

Fig. 26. Tail angular motion in phase plane – angular velocity as the function of angle. Due to large water resistance the transition process is very short. Adaptive excitation is more

0.3 0.15 0 0.15 0.3

ϕ n

Fig. 27. Angular acceleration of a tail as the function of angle. At the end of transition

0.3 0.2 0.1 0 0.1 0.2 0.3

ϕ n

0 2.5 5 7.5 10

t n

of a tail in time domain (see equation (9)). Typically

process graph is more symmetric than the graph shown in Fig. 22

4

2.67 1.33 0

1.33 2.67 4

> ε = ϕ

4

2

0

εn

2

4

angular acceleration of the tail reaches steady-state cycle after half oscillation

efficient than harmonic excitation (see Fig.20.)

εn

0.5

0.25

0

0.25

ω<sup>n</sup> 0

0.5

Fig. 28. Angular acceleration

Fig. 24. Impulse *Ax(t)* as a function of angle φ. Impulse is non-symmetric against zero level (non-symmetry is negative)

Fig. 25. Negative mean value of *Ax(t)* in time domain. Force of pivot to push a hull (necessary for robotic fish motion)

### **3.3 Synthesis of a system with adaptive excitation and adaptive area control**

In a case of adaptive excitation a moment *M* may be used as the function of angular velocity in the form [3. 4]:

$$M(t) = MO \cdot \text{sign}(\alpha).$$

Results of modeling are shown in Fig. 26. – 31. Comments about graphics are given under all Fig. 26. – 31.

286 Robotic Systems – Applications, Control and Programming

0.2 0.13 0.067 0 0.067 0.13 0.2

ϕn

n

0 2000 4000 6000

n

:=

Ax <sup>n</sup>

Fig. 24. Impulse *Ax(t)* as a function of angle φ.

0.03

0.0217

0.0133

0.005

Axn

0.0033

0.0117

0.02

Fig. 25. Negative mean value of *Ax(t)* in time domain.

IAxn

in the form [3. 4]:

all Fig. 26. – 31.

Force of pivot to push a hull (necessary for robotic fish motion)

9.08

9.07

9.06

**3.3 Synthesis of a system with adaptive excitation and adaptive area control** 

In a case of adaptive excitation a moment *M* may be used as the function of angular velocity

*M(t) = M0*٠*sign(ω).*  Results of modeling are shown in Fig. 26. – 31. Comments about graphics are given under

Impulse is non-symmetric against zero level (non-symmetry is negative)

IAx n

Fig. 26. Tail angular motion in phase plane – angular velocity as the function of angle. Due to large water resistance the transition process is very short. Adaptive excitation is more efficient than harmonic excitation (see Fig.20.)

Fig. 27. Angular acceleration of a tail as the function of angle. At the end of transition process graph is more symmetric than the graph shown in Fig. 22

Fig. 28. Angular acceleration ε = ϕ of a tail in time domain (see equation (9)). Typically angular acceleration of the tail reaches steady-state cycle after half oscillation

Optimization and Synthesis of a Robot Fish Motion 289

A prototype of robot fish for experimental investigations was made (Fig. 32, 33). This prototype was investigated in a linear water tank with different aims, for example: – find maximal motion velocity depending on the power pack capacity; – find minimal propulsion

Additionally this prototype was investigated in a large storage lake with autonomy power pack and distance control system, moving in real under water conditions with waves (Fig. 34.). The results of the theoretical and experimental investigation may be used for inventions of new robotic systems. The new ideas of synthesising robotic systems in Latvia can be

**3.4 Robot fish model** 

found in [15 - 23].

Fig. 32. Top-view of prototype

Fig. 33. Inside prototype there are: microcontroller 1; three actuators

6 5

(for level 4, direction 5 and velocity 6 control); power supply 2 and radio signal detector 3)

3

1

4

2

force, depending on the system parameters.

Fig. 29. Impulse *Ax(t)* in time domain (see equation (12)). Impulse is non-symmetric against zero level (non-symmetry is negative)

Fig. 30. Impulse *Ax(t)* as a function of angle φ

Impulse is non-symmetric against zero level (non-symmetry is negative), it means that criterion of optimization (8) is positive and force of pivot pushes fish hull to the right.

Fig. 31. Negative mean value of *Ax(t)* in time domain. Force of pivot to push fish hull to the right (in order to have robotic fish motions to the right). This graph shows that adaptive excitation of a moment is about four times more efficient than harmonic excitation (see Fig. 25.)

## **3.4 Robot fish model**

288 Robotic Systems – Applications, Control and Programming

Fig. 29. Impulse *Ax(t)* in time domain (see equation (12)). Impulse is non-symmetric against

0 1.67 3.33 5 6.67 8.33 10

tn

Impulse is non-symmetric against zero level (non-symmetry is negative), it means that criterion of optimization (8) is positive and force of pivot pushes fish hull to the right.

IAxn

0.3 0.2 0.1 0 0.1 0.2 0.3

ϕ n

n Ax <sup>n</sup> :=

0 2000 4000 6000

n

Fig. 31. Negative mean value of *Ax(t)* in time domain. Force of pivot to push fish hull to the right (in order to have robotic fish motions to the right). This graph shows that adaptive excitation of a moment is about four times more efficient than harmonic excitation (see Fig. 25.)

37.9

37.85

IAxn

37.8

zero level (non-symmetry is negative)

0.1 0.075 0.05 0.025 0 0.025 0.05

Axn

Fig. 30. Impulse *Ax(t)* as a function of angle φ

Axn

0.1 0.075 0.05 0.025 0 0.025 0.05

A prototype of robot fish for experimental investigations was made (Fig. 32, 33). This prototype was investigated in a linear water tank with different aims, for example: – find maximal motion velocity depending on the power pack capacity; – find minimal propulsion force, depending on the system parameters.

Additionally this prototype was investigated in a large storage lake with autonomy power pack and distance control system, moving in real under water conditions with waves (Fig. 34.). The results of the theoretical and experimental investigation may be used for inventions of new robotic systems. The new ideas of synthesising robotic systems in Latvia can be found in [15 - 23].

Fig. 32. Top-view of prototype

Fig. 33. Inside prototype there are: microcontroller 1; three actuators (for level 4, direction 5 and velocity 6 control); power supply 2 and radio signal detector 3)

Optimization and Synthesis of a Robot Fish Motion 291

[6] http://en.wikipedia.org/wiki/Pontryagin%27s\_maximum\_principle.(February

[8] V.G. Boltyanskii, R.V. Gamkrelidze and L. S. Pontryagin: On the Theory of Optimum

[9] L. S. Pontryagin, V.G. Boltyanskii, R.V.Gamkrelidze and E.F. Mischenko: (Fizmatgiz). *The* 

[10] L.S. Pontryagin, V.G. Boltyanskii, R.V. Gamkrelidze, and E.F. Mishchenko: *The Mathematical Theory of Optimal Processes*, Wiley-Interscience, New York. (1962).

[13] E.B. Lee and L. Markus: *Foundations of Optimal Control Theory*, Moscow: Nauka, (1972).

[15] Patent LV 13928, Republic of Latvia, Int.Cl. B25 D9/00, B25 D11/00. Method for control

[16] Patent LV 14033, Republic of Latvia, Int.Cl. B63 H 1/00. Method for tractive force

[17] Patent LV 14034, Republic of Latvia, Int.Cl. B63 H1/00. Hydrodynamic fin-type

[18] Patent LV 14054, Republic of Latvia, Int.Cl. B63 H1/00. Fin of hydrodynamic vibration

[19] Patent LV 14055, Republic of Latvia, Int.Cl. B63 H1/00. Method for control of operating

[20] Patent LV 14076, Republic of Latvia, Int.Cl. B63 H1/00. Hydrodynamic fin-type

published 20.03.2010 // Patenti un preču zīmes, 2010, No. 3, p. 428.

published 20.04.2010 // Patenti un preču zīmes, 2010, No. 4, p. 631.

20.02.2010 // Patenti un preču zīmes, 2010, No. 2, p. 203.

form the Russian. Translator K.N. Trirogoff. Balskrishnan-Neustadt series. New

(in Russian). 14. Sonneborn, L., and F. Van Vleck (1965): *The Bang-Bang Principle for* 

of operation condition of one-mass vibromachine on elastic suspension / J. Viba, V. Beresnevich, M. Eiduks, L. Shtals, E. Kovals, G. Kulikovskis. – Applied on 03.03.2009, application P-09-38; published on 20.09.2009 // Patenti un preču zīmes,

forming in fin propulsive device / J. Viba, V. Beresnevich, S. Cifanskis, G. Kulikovskis, M. Kruusmaa, W. Megill, J.-G. Fontaine, P. Fiorini. – Applied on 04.09.2009, application P-09-151; published on 20.02.2010 // Patenti un preču

vibration propulsive device / S. Cifanskis, J. Viba, V. Jakushevich, O. Kononova, J.- G. Fontaine, W. Megill. – Applied on 29.09.2009, application P-09-160; published

propulsive device / S. Cifanskis, J. Viba, V. Jakushevich, V. Beresnevich, O. Kononova, G. Kulikovskis. – Applied on 15.10.2009, application P-09-174;

condition of hydrodynamic fin-type vibration propulsive device / J. Viba, S. Cifanskis, V. Jakushevich, O. Kononova, J.-G. Fontaine, E. Kovals. – Applied on 02.11.2009, application P-09-191; published 20.03.2010 // Patenti un preču zīmes,

vibration propulsive device / S. Cifanskis, J. Viba, V. Jakushevich, O. Kononova, M. Kruusmaa, G. Kulikovskis. – Applied on 24.11.2009, application P-09-205;

[11]V. G. Boltyanskii: *Mathematical Methods of Optimal Control*, Nauka, Moscow. (1966). [12] V.G. Boltyanskii: Mathematical methods of optimal control: Authorized translation

[7] http://en.wikipedia.org/wiki/Hamiltonian\_%28control\_theory%29. (2007).

Processes (In Russian), *Dokl. AN SSSR*, 110, No. 1, 7-10 (1956).

*Mathematical Theory of Optimal Processes*, Moscow (1961).

York. Holt, Rinehart and Winston. (1971).

2009, No. 9, p. 1209 – 1210.

zīmes, 2010, No. 2, p. 203.

2010, No. 3, p. 428.

*Linear Control Systems*, SIAM J. Control 2, 151-159. [14] http://en.wikipedia.org/wiki/Bang-bang\_control. (2008).

(2008).

Fig. 34. Prototype was investigated in a large storage lake with autonomy power pack and distance control system, moving in real under water conditions with waves

## **4. Conclusion**

Motion of robotic systems vibration by simplified interaction with water or air flow can be described by rather simple equations for motion analysis. That allows to solve mathematical problem of area control optimization and to give information for new systems synthesis. Control (or change) of object area under water or in air allows to create very efficient mechatronic systems. For realization of such systems adapters and controllers must be used. For this reason very simple control action have solutions with use of sign functions. Examples of synthesis of real mechatronic systems are given. As one example of synthesis is a system with time-harmonic moment excitation of the tail in the pivot. The second example of synthesis is a system with adaptive force moment excitation as the function of phase coordinates. In both systems area change (from maximal to minimal values) has control action as the function of phase coordinates. It is shown that real controlled systems vibration motion is very stable.

## **5. References**


290 Robotic Systems – Applications, Control and Programming

Fig. 34. Prototype was investigated in a large storage lake with autonomy power pack and

Motion of robotic systems vibration by simplified interaction with water or air flow can be described by rather simple equations for motion analysis. That allows to solve mathematical problem of area control optimization and to give information for new systems synthesis. Control (or change) of object area under water or in air allows to create very efficient mechatronic systems. For realization of such systems adapters and controllers must be used. For this reason very simple control action have solutions with use of sign functions. Examples of synthesis of real mechatronic systems are given. As one example of synthesis is a system with time-harmonic moment excitation of the tail in the pivot. The second example of synthesis is a system with adaptive force moment excitation as the function of phase coordinates. In both systems area change (from maximal to minimal values) has control action as the function of phase coordinates. It is shown that real controlled systems vibration

[1] E. Lavendelis: Synthesis of optimal vibro machines. Zinatne, Riga, (1970). (in Russian). [2] E. Lavendelis and J. Viba: Individuality of Optimal Synthesis of vibro impact systems.

[3] J. Viba: Optimization and synthesis of vibro impact systems. Zinatne, Riga, (1988). (in

[4] E. Lavendelis and J. Viba: Methods of optimal synthesis of strongly non – linear (impact)

systems. Scientific Proceedings of Riga Technical University. Mechanics. Volume

Book: Vibrotechnics". Kaunas. Vol. 3 (20), (1973). (in Russian).

distance control system, moving in real under water conditions with waves

**4. Conclusion** 

motion is very stable.

Russian).

24. Riga (2007).

[5] http://en.wikipedia.org/wiki/Lev\_Pontryagin. (2008).

**5. References** 


**0**

**15**

**Modeling of Elastic Robot Joints with Nonlinear**

Elastic robot joints gain in importance since the nowadays robotics tends to the lightweight structures. The lightweight metals and composite materials deployed not only in the links but also in the joint assemblies affect the overall stiffness of robotic system. The elastic joints provide the loaded robot motion with additional compliance and can lead to significant control errors and vibrations in the joint as well as operational space. A better understanding of the compliant joint behavior can help not only to analyze and simulate robotic systems but

Elastic robot joints are often denoted as flexible joints or compliant joints as well. The former modeling approaches aimed to describe the dynamic behavior of elastic robot joints lead back to Spong (1987). Spong extended the general motion equation of a rigid robotic manipulator to the case of joint elasticity captured by a linear connecting spring. Remember that the general motion equation derived either from Lagrange or Newton-Euler formalism for a class of rigid

Here, **<sup>q</sup>** <sup>∈</sup> **<sup>R</sup>***<sup>n</sup>* is the vector of Lagrangian (also joint) coordinates and **<sup>u</sup>** <sup>∈</sup> **<sup>R</sup>***<sup>n</sup>* is the vector of generalized input forces. The configuration dependent matrixes **<sup>M</sup>** <sup>∈</sup> **<sup>R</sup>***n*×*n*, **<sup>C</sup>** <sup>∈</sup> **<sup>R</sup>***n*×*n*, and **<sup>G</sup>** <sup>∈</sup> **<sup>R</sup>***<sup>n</sup>* constitute the inertia, Coriolis-centrifugal, and gravity terms correspondingly. The model introduced by Spong (1987) has been widely used in the later works which deal with a compliance control (Zollo et al. (2005)) and passivity-based impedance control (Ott et al. (2008)) of robots with joint elasticities. Despite a good acceptance for the control applications this modeling strategy misses the damping factor related to the connecting spring. In this regard, the approach proposed by Ferretti et al. (2004) which provides two masses connected by a linear spring and damper arranged in parallel is more consistent with the physical joint structure. Also the inverse dynamic model used for vibration control of elastic joint robots (Thummel et al. (2005)) incorporates a torsional spring with both stiffness and damping characteristics. From a slightly diversing point of view the modeling of elastic robot joints was significantly influenced by the studies of harmonic drive gear transmission performed in the end-nineties and last decade. The harmonic drives are widely spread in the robotic systems due to their compact size, high reduction ratios, high torque capacity, and low (nearly zero) backlash. However, a specific mechanical assembly

robotic manipulators (Sciavicco & Siciliano (2000)) can be expressed as

**1. Introduction**

also to improve their control performance.

*Institute of Control Theory and Systems Engineering, TU-Dortmund*

**M**(**q**)**q**¨ + **C**(**q**, ˙**q**)**q**˙ + **G**(**q**) = **u** . (1)

**Damping and Hysteresis**

Michael Ruderman

*Germany*


## **Modeling of Elastic Robot Joints with Nonlinear Damping and Hysteresis**

Michael Ruderman

*Institute of Control Theory and Systems Engineering, TU-Dortmund Germany*

### **1. Introduction**

292 Robotic Systems – Applications, Control and Programming

[21] Patent LV 14077, Republic of Latvia, Int.Cl. B63 H 1/00. Method for adjustment of

[22] Patent LV 14175, Republic of Latvia, Int.Cl. B63 H 1/00. Method for adjustment of

[23] Patent LV 14237, Republic of Latvia, Int.Cl. B63 H1/00. Hydrodynamic fin-type

20.02.2011 // Patenti un preču zīmes, 2011, No. 2, p. 188.

zīmes, 2010, No. 4, p. 631.

p. 1515 – 1516.

operation condition of fin-type vibration propulsive device / S. Cifanskis, V. Beresnevich, J. Viba, V. Yakushevich, J.-G. Fontaine, G. Kulikovskis. – Applied on 10.12.2009, application P-09-219; published on 20.04.2010 // Patenti un preču

operation condition of fin-type vibration propulsive device / S. Cifanskis, J. Viba, V.Beresnevich, V. Jakushevich, M. Listak, T. Salumäe. – Applied on 28.04.2010, application P-10-63; published 20.10.2010 // Patenti un preču zīmes, 2010, No. 10,

vibration propulsive device / S. Cifanskis, J. Viba, V. Beresnevich, V. Jakushevich, J.-G. Fontaine, W. Megill. – Applied on 07.10.2010, application P-10-141; published

> Elastic robot joints gain in importance since the nowadays robotics tends to the lightweight structures. The lightweight metals and composite materials deployed not only in the links but also in the joint assemblies affect the overall stiffness of robotic system. The elastic joints provide the loaded robot motion with additional compliance and can lead to significant control errors and vibrations in the joint as well as operational space. A better understanding of the compliant joint behavior can help not only to analyze and simulate robotic systems but also to improve their control performance.

> Elastic robot joints are often denoted as flexible joints or compliant joints as well. The former modeling approaches aimed to describe the dynamic behavior of elastic robot joints lead back to Spong (1987). Spong extended the general motion equation of a rigid robotic manipulator to the case of joint elasticity captured by a linear connecting spring. Remember that the general motion equation derived either from Lagrange or Newton-Euler formalism for a class of rigid robotic manipulators (Sciavicco & Siciliano (2000)) can be expressed as

$$\mathbf{M(q)}\ddot{\mathbf{q}} + \mathbf{C(q, \dot{q})}\dot{\mathbf{q}} + \mathbf{G(q)} = \mathbf{u} \,. \tag{1}$$

Here, **<sup>q</sup>** <sup>∈</sup> **<sup>R</sup>***<sup>n</sup>* is the vector of Lagrangian (also joint) coordinates and **<sup>u</sup>** <sup>∈</sup> **<sup>R</sup>***<sup>n</sup>* is the vector of generalized input forces. The configuration dependent matrixes **<sup>M</sup>** <sup>∈</sup> **<sup>R</sup>***n*×*n*, **<sup>C</sup>** <sup>∈</sup> **<sup>R</sup>***n*×*n*, and **<sup>G</sup>** <sup>∈</sup> **<sup>R</sup>***<sup>n</sup>* constitute the inertia, Coriolis-centrifugal, and gravity terms correspondingly. The model introduced by Spong (1987) has been widely used in the later works which deal with a compliance control (Zollo et al. (2005)) and passivity-based impedance control (Ott et al. (2008)) of robots with joint elasticities. Despite a good acceptance for the control applications this modeling strategy misses the damping factor related to the connecting spring. In this regard, the approach proposed by Ferretti et al. (2004) which provides two masses connected by a linear spring and damper arranged in parallel is more consistent with the physical joint structure. Also the inverse dynamic model used for vibration control of elastic joint robots (Thummel et al. (2005)) incorporates a torsional spring with both stiffness and damping characteristics. From a slightly diversing point of view the modeling of elastic robot joints was significantly influenced by the studies of harmonic drive gear transmission performed in the end-nineties and last decade. The harmonic drives are widely spread in the robotic systems due to their compact size, high reduction ratios, high torque capacity, and low (nearly zero) backlash. However, a specific mechanical assembly

joint transmission. Although those hardware solutions are often not technically or (and) economically profitable, a prototypic laboratory measurement performed on the load side of robotic joints can yield adequate data sufficient for analysis and identification. Here, one can think about highly accurate static as well as dynamic measurements of the joint output position performed by means of the laser interferometry or laser triangulation. The load torques can also be determined externally either by applying an appropriate accelerometer or by using locked-load mechanisms equipped by the torque (load) cells. However, the latter solution is restricted to the quasi-static experiments with a constrained output motion. Now let us consider the topology of an elastic robot joint as shown in Fig. 1. In terms of the input-output behavior the proposed structure does not substantially differ from a simple fourth-order linear dynamic model of two connected masses. An external exciting torque *u* constitutes the input value and the relative position of the second moving mass *θ* constitutes the output value we are interested in. Going into the input-output representation,

Modeling of Elastic Robot Joints with Nonlinear Damping and Hysteresis 295

gear transmission

let us subdivide the robotic joint into three close subsystems connected by the feedforward and feedback actions realized by appropriate physical states. The joint actuator loaded by the feedback torque *τ* provides the output angular displacement *q* of a rigid shaft. This value is an inherent determinant of the relative motion entering the gear transmission and mostly measurable prior to that one. Since the gear transmission captures the intrinsic joint elasticity, the angular output displacement of the joint load constitutes the second feedback state. Assuming that the gear with elasticities behaves like a torsion spring with a certain stiffness capacity its output value represents the transmitted torque which drives the joint load. When cutting free the forward and feedback paths the joint model decomposes into three stand-alone submodels, each one describing the specified physical subsystem. Note that from energy conversion point of view we obtain three dissipative mappings with two different sets of the input values. The first input set constitutes the forward propagation of the energy fed to the system. The second input set represents the system reaction with a negative or positive energy feedback depending on the instantaneous operation state. The superposition of the feed-in and reactive joint torque provides the internal angular motion (*u* − *τ*) �→ *q* damped by the friction. The constrained relative displacement across the gear transmission provides the elastic tension in the joint (*q* − *θ*) �→ *τ* damped by its structure. Finally, the transmitted torque provides the output relative motion *τ* �→ *θ* whose damping depends on the topology

The actual joint topology represents a general case which covers both elastic and rigid transmission. The actuator submodel can be equally used for a rigid joint modeling, where *τ* will appear as an input disturbance fed back directly from the joint load and acting upon the overall torque balance. The stand-alone gear transmission modeling is however meaningful only when the relative displacement occurs, i.e. *q* �= *θ*. When considering a rigid robotic joint

joint actuator *u q*

Fig. 1. Topology of elastic robot joint

of subsequent load.

joint load

provides the harmonic drive gears with additional elasticities which are strongly coupled with frictional effects. A structure-oriented dissipative model of the harmonic drive torque transmission was proposed by Taghirad & Bélanger (1998). The model composes multiple component-related frictional elements and an additional structural damping attributed to the flexspline. Another notable modeling issue provided by Dhaouadi et al. (2003) presents the torsional torque in harmonic drives as an integro-differential hysteresis function of both angular displacement and angular velocity across the flexspline. Later, Tjahjowidodo et al. (2006) describe the dynamics in harmonic drives using nonlinear stiffness characteristics combined with distributed Maxwell-slip elements that capture the hysteresis behavior. A complex phenomenological model of elastic robot joints with coupled hysteresis, friction and backlash nonlinearities was proposed by Ruderman et al. (2009). However, realizing the complexity of decomposing and identifying the single nonlinearities a simplified nonlinear dynamic model was later introduced in Ruderman et al. (2010).

The leitmotif provided in this Chapter is to incorporate a combined physical as well as phenomenological view when modeling the joint transmission with elasticities. Unlike the classical approaches which rather operate with linear stiffness and damping elements arranged either in series or in parallel the structure-oriented effects are emphasized here. The inherently nonlinear compliance and damping of elastic robot joints are tackled from the cause-and-effect point of view. It is important to note that such approaches can rapidly increase the number of free parameters to be identified, so that the model complexity has to be guarded carefully. The Chapter is organized as follows. Section 2 introduces the robot joint topology which captures equally the dynamic behavior of both rigid and elastic revolute joints. Three closed subsystems are described in terms of their eigenbehavior and feedforward and feedback interactions within the overall joint structure. Section 3 provides the reader with description of the developed joint model capable to capture two main nonlinearities acting in the joint transmission. First, the dynamic joint friction is addressed. Secondly, the nonlinear stiffness combined with hysteresis map is described in detail. An experimental case study provided in Section 4 shows some characteristical observations obtained on a laboratory setup of the joint with elasticities and gives some identification results in this relation. The main conclusions are derived in Section 5.

## **2. Robot joint topology**

Before analyzing the dynamic behavior of an elastic robot joint an underlying joint topology has to be assumed first. Different topologies of robotic joints are conceivable starting from the more simple linear structures as used e.g. by Ferretti et al. (2004), Zollo et al. (2005), Albu-Schaffer et al. (2008) and migrating towards the more complex nonlinear approaches as proposed e.g. by Taghirad & Bélanger (1998), Dhaouadi et al. (2003), Tjahjowidodo et al. (2006), particularly in context of harmonic drive gear transmissions. Here it is important at which level of detail the robot joint transmission could be described. Mostly it is conditioned by the available knowledge about the mechanical joint structure and the accessibility of system measurements required for the identification. In majority of applications, the actuator measurements such as the angular position and velocity as well as active motor current are available only prior to the gear transmission. In more advanced but also more cost-intensive applications like DLR lightweight robots (see e.g. by Albu-Schaffer et al. (2008)), the angular motion and torque measurements are available at both actuator and load side of the joint transmission. Although those hardware solutions are often not technically or (and) economically profitable, a prototypic laboratory measurement performed on the load side of robotic joints can yield adequate data sufficient for analysis and identification. Here, one can think about highly accurate static as well as dynamic measurements of the joint output position performed by means of the laser interferometry or laser triangulation. The load torques can also be determined externally either by applying an appropriate accelerometer or by using locked-load mechanisms equipped by the torque (load) cells. However, the latter solution is restricted to the quasi-static experiments with a constrained output motion.

Now let us consider the topology of an elastic robot joint as shown in Fig. 1. In terms of the input-output behavior the proposed structure does not substantially differ from a simple fourth-order linear dynamic model of two connected masses. An external exciting torque *u* constitutes the input value and the relative position of the second moving mass *θ* constitutes the output value we are interested in. Going into the input-output representation,

Fig. 1. Topology of elastic robot joint

2 Will-be-set-by-IN-TECH

provides the harmonic drive gears with additional elasticities which are strongly coupled with frictional effects. A structure-oriented dissipative model of the harmonic drive torque transmission was proposed by Taghirad & Bélanger (1998). The model composes multiple component-related frictional elements and an additional structural damping attributed to the flexspline. Another notable modeling issue provided by Dhaouadi et al. (2003) presents the torsional torque in harmonic drives as an integro-differential hysteresis function of both angular displacement and angular velocity across the flexspline. Later, Tjahjowidodo et al. (2006) describe the dynamics in harmonic drives using nonlinear stiffness characteristics combined with distributed Maxwell-slip elements that capture the hysteresis behavior. A complex phenomenological model of elastic robot joints with coupled hysteresis, friction and backlash nonlinearities was proposed by Ruderman et al. (2009). However, realizing the complexity of decomposing and identifying the single nonlinearities a simplified nonlinear

The leitmotif provided in this Chapter is to incorporate a combined physical as well as phenomenological view when modeling the joint transmission with elasticities. Unlike the classical approaches which rather operate with linear stiffness and damping elements arranged either in series or in parallel the structure-oriented effects are emphasized here. The inherently nonlinear compliance and damping of elastic robot joints are tackled from the cause-and-effect point of view. It is important to note that such approaches can rapidly increase the number of free parameters to be identified, so that the model complexity has to be guarded carefully. The Chapter is organized as follows. Section 2 introduces the robot joint topology which captures equally the dynamic behavior of both rigid and elastic revolute joints. Three closed subsystems are described in terms of their eigenbehavior and feedforward and feedback interactions within the overall joint structure. Section 3 provides the reader with description of the developed joint model capable to capture two main nonlinearities acting in the joint transmission. First, the dynamic joint friction is addressed. Secondly, the nonlinear stiffness combined with hysteresis map is described in detail. An experimental case study provided in Section 4 shows some characteristical observations obtained on a laboratory setup of the joint with elasticities and gives some identification results in this relation. The main

Before analyzing the dynamic behavior of an elastic robot joint an underlying joint topology has to be assumed first. Different topologies of robotic joints are conceivable starting from the more simple linear structures as used e.g. by Ferretti et al. (2004), Zollo et al. (2005), Albu-Schaffer et al. (2008) and migrating towards the more complex nonlinear approaches as proposed e.g. by Taghirad & Bélanger (1998), Dhaouadi et al. (2003), Tjahjowidodo et al. (2006), particularly in context of harmonic drive gear transmissions. Here it is important at which level of detail the robot joint transmission could be described. Mostly it is conditioned by the available knowledge about the mechanical joint structure and the accessibility of system measurements required for the identification. In majority of applications, the actuator measurements such as the angular position and velocity as well as active motor current are available only prior to the gear transmission. In more advanced but also more cost-intensive applications like DLR lightweight robots (see e.g. by Albu-Schaffer et al. (2008)), the angular motion and torque measurements are available at both actuator and load side of the

dynamic model was later introduced in Ruderman et al. (2010).

conclusions are derived in Section 5.

**2. Robot joint topology**

let us subdivide the robotic joint into three close subsystems connected by the feedforward and feedback actions realized by appropriate physical states. The joint actuator loaded by the feedback torque *τ* provides the output angular displacement *q* of a rigid shaft. This value is an inherent determinant of the relative motion entering the gear transmission and mostly measurable prior to that one. Since the gear transmission captures the intrinsic joint elasticity, the angular output displacement of the joint load constitutes the second feedback state. Assuming that the gear with elasticities behaves like a torsion spring with a certain stiffness capacity its output value represents the transmitted torque which drives the joint load. When cutting free the forward and feedback paths the joint model decomposes into three stand-alone submodels, each one describing the specified physical subsystem. Note that from energy conversion point of view we obtain three dissipative mappings with two different sets of the input values. The first input set constitutes the forward propagation of the energy fed to the system. The second input set represents the system reaction with a negative or positive energy feedback depending on the instantaneous operation state. The superposition of the feed-in and reactive joint torque provides the internal angular motion (*u* − *τ*) �→ *q* damped by the friction. The constrained relative displacement across the gear transmission provides the elastic tension in the joint (*q* − *θ*) �→ *τ* damped by its structure. Finally, the transmitted torque provides the output relative motion *τ* �→ *θ* whose damping depends on the topology of subsequent load.

The actual joint topology represents a general case which covers both elastic and rigid transmission. The actuator submodel can be equally used for a rigid joint modeling, where *τ* will appear as an input disturbance fed back directly from the joint load and acting upon the overall torque balance. The stand-alone gear transmission modeling is however meaningful only when the relative displacement occurs, i.e. *q* �= *θ*. When considering a rigid robotic joint

from the complexity of a particular robotic system. Being conditional upon the gear and bearing structure an optimal level of detail for modeling can be determined using a top-down approach. Starting from the simplest rigid case with a single actuator damping, additional compliant and frictional elements can be included hierarchically in order to particularize the

Modeling of Elastic Robot Joints with Nonlinear Damping and Hysteresis 297

In the following, we consider the single modeling steps required to achieve an adequate

Considering the joint actuator which is driven by an electrical servo motor the angular velocity and angular position of the output shaft are determined by two input values. The first one is the input torque *u* which induces the angular acceleration of the rotor. The second one is a feedback load torque *τ* which antagonizes the controllable motion and thus behaves as a disturbance value to be accounted for. The conjoint moment of inertia *m* includes the rotor with shaft as well as the additional rotating elements such as encoders, breaks, and couplings. Mostly, it can be supposed that all rotating bodies are homogenous and axially symmetrical. This straightforward simplification allows us to deal with the concentrated model parameters and to consider the relative motion at this stage as the single body dynamics. The joint

in which the input torque is assumed to be linear to the regulated motor current *i*. The fast current controls of the common servo motors operate at sampling rates about or larger than 10 kHz. Hence, the transient behavior of the current control loop can be easily neglected taking into account the time constants of the mechanical system part. The latter amount to several tens up to some hundred milliseconds. With an appropriate current regulation an electrical servo motor can be considered as a nearly reactionless power source which provides the joint

The friction *f*(·) acting in the bearings is in large part load-independent. However, since a particular joint actuator can be mounted on the robotic manipulator with multiple degrees of freedom (DOF) its frictional characteristics can vary dependent on the actual robot configuration. Particularly, the orientation of the supported motor shaft to the gravity field can influence the breakaway and sliding friction properties to a certain degree. Aside of the dependency from the robotic configuration the most significant frictional variations, as well known, are due to the thermal effects. Both the external environment temperature and the internal temperature of contacting elements play a decisive role, whereas the last one increases usually with the operating time and intensity. However, the thermal frictional effects can be rather attributed to a slow time-variant process and a corresponding adaptivity of the model parameters. For reason of clarity an explicit temperature dependency is omitted here just as in most known approaches of modeling the robot dynamics. In the following, we also assume that no significant eccentricities are present in the system, so that almost no periodic torque ripples occur on a shaft revolution. Otherwise, the harmonic disturbances partially attributed to the position-dependent friction can be efficiently estimated and compensated as proposed

The complexity of the obtained actuator model can differ in number of the free parameters to be identified, mostly dependent on the selected mapping of the friction behavior. The lumped

*m q*¨ + *f*(*q*˙) + *τ* = *u* , (4)

description of each subsystem included in the topology of a nonlinear elastic joint.

case-specific system behavior.

actuator can be described as follows

e.g. by De Wit & Praly (2000).

actuator with the driving input torque *u*(*t*) ∼= *kmi*(*t*).

**2.1 Joint actuator**

the transmission submodel will describe a particular case with an unlimited stiffness. At this, each infinitesimal change in *q* will lead to an immediate excitation of the load part, so that the eigendynamics of the joint transmission disappears.

The following analytical example of two equivalent linear joint models explains the upper mentioned ideas in more detail. For instant, consider a simple motion problem of two connected masses *m* and *M* with two damping factors *d* and *D*, once with a rigid and once with an elastic joint. Assume that the last one is represented by the spring with the stiffness *K*. The first case can be described by the simple differential equation

$$
\ddot{q}\left(m+M\right)\ddot{q} + \left(d+D\right)\dot{q} = \mu\,.\tag{2}
$$

It is evident that the system (2) provides the single dynamic state, and the mass and damping factors appear conjointly whereas *q* = *θ*. The more sophisticated second case with elasticity requires two differential equations

$$\begin{aligned} m\ddot{\eta} + d\dot{\eta} + K(q - \theta) &= u \\ M\ddot{\theta} + D\dot{\theta} - K(q - \theta) &= 0 \end{aligned} \tag{3}$$

which constitute the fourth-order dynamic system. For both systems, let us analyze the step response in time domain and the amplitude response in frequency domain shown in Fig. 2 (a) and (b). Here, H1(*s*) denotes the transfer function H(*s*) = ˙ *θ*(*s*)/*U*(*s*) of Eq. (2), and H2(*s*) as well as H3(*s*) denote the one of Eq. (3). At this, the stiffness *K* is set to 1e3 for H2(*s*), and to 1e8 for H3(*s*). The case described by H3(*s*) should approximate a rigid system at which the stiffness increases towards unlimited. Note that the residual parameters of Eqs. (2) and (3) remain constant. It is easy to recognize that the step response of H3(*s*) coincides well with those one of the absolute rigid joint H1(*s*). When analyzing the frequency response function it can be seen that the resonance peak of H3(*s*) is shifted far to the right comparing to H2(*s*). Up to the resonance range the frequency response function H3(*s*) coincides exactly with H1(*s*). Note that the shifted resonance of H3(*s*) provides the same peak value as H2(*s*). Hence, during an exceptional excitation exactly at the resonance frequency the oscillatory output will arise again. However, from the practical point of view such a high-frequently excitation appears as hardly realizable in a mechanical system. Even so, when approaching the resonance range, the high decrease of the frequency response function provides a high damping within the overall system response.

Fig. 2. Comparison of linear joint approaches; step response (a), frequency response (b)

The performed qualitative example demonstrates the universal character of the proposed joint topology. At this, the principal mechanisms conducting the joint dynamics are independent from the complexity of a particular robotic system. Being conditional upon the gear and bearing structure an optimal level of detail for modeling can be determined using a top-down approach. Starting from the simplest rigid case with a single actuator damping, additional compliant and frictional elements can be included hierarchically in order to particularize the case-specific system behavior.

In the following, we consider the single modeling steps required to achieve an adequate description of each subsystem included in the topology of a nonlinear elastic joint.

#### **2.1 Joint actuator**

4 Will-be-set-by-IN-TECH

the transmission submodel will describe a particular case with an unlimited stiffness. At this, each infinitesimal change in *q* will lead to an immediate excitation of the load part, so that the

The following analytical example of two equivalent linear joint models explains the upper mentioned ideas in more detail. For instant, consider a simple motion problem of two connected masses *m* and *M* with two damping factors *d* and *D*, once with a rigid and once with an elastic joint. Assume that the last one is represented by the spring with the stiffness

It is evident that the system (2) provides the single dynamic state, and the mass and damping factors appear conjointly whereas *q* = *θ*. The more sophisticated second case with elasticity

*m q*¨ + *d q*˙ + *K*(*q* − *θ*) = *u* ,

which constitute the fourth-order dynamic system. For both systems, let us analyze the step response in time domain and the amplitude response in frequency domain shown in Fig. 2

H2(*s*) as well as H3(*s*) denote the one of Eq. (3). At this, the stiffness *K* is set to 1e3 for H2(*s*), and to 1e8 for H3(*s*). The case described by H3(*s*) should approximate a rigid system at which the stiffness increases towards unlimited. Note that the residual parameters of Eqs. (2) and (3) remain constant. It is easy to recognize that the step response of H3(*s*) coincides well with those one of the absolute rigid joint H1(*s*). When analyzing the frequency response function it can be seen that the resonance peak of H3(*s*) is shifted far to the right comparing to H2(*s*). Up to the resonance range the frequency response function H3(*s*) coincides exactly with H1(*s*). Note that the shifted resonance of H3(*s*) provides the same peak value as H2(*s*). Hence, during an exceptional excitation exactly at the resonance frequency the oscillatory output will arise again. However, from the practical point of view such a high-frequently excitation appears as hardly realizable in a mechanical system. Even so, when approaching the resonance range, the high decrease of the frequency response function provides a high

(*m* + *M*) *q*¨ + (*d* + *D*) *q*˙ = *u* . (2)

*θ* − *K*(*q* − *θ*) = 0 (3)

<sup>100</sup> <sup>102</sup> <sup>10</sup><sup>4</sup> <sup>106</sup> 10−6

(s) H2

ω (rad/s)

(s) H3

(s)

(b)

*θ*(*s*)/*U*(*s*) of Eq. (2), and

eigendynamics of the joint transmission disappears.

requires two differential equations

damping within the overall system response.

0.5

0.75

dθ / dt (−)

0.25

1

<sup>0</sup> 0.01 0.02 0.03 0.04 0.05 <sup>0</sup>

(s) H2

(s) H3

(s)

Fig. 2. Comparison of linear joint approaches; step response (a), frequency response (b)

The performed qualitative example demonstrates the universal character of the proposed joint topology. At this, the principal mechanisms conducting the joint dynamics are independent

10−4

H1

10−2


100

H1

(a)

t (s)

*K*. The first case can be described by the simple differential equation

*M* ¨ *θ* + *D* ˙

(a) and (b). Here, H1(*s*) denotes the transfer function H(*s*) = ˙

Considering the joint actuator which is driven by an electrical servo motor the angular velocity and angular position of the output shaft are determined by two input values. The first one is the input torque *u* which induces the angular acceleration of the rotor. The second one is a feedback load torque *τ* which antagonizes the controllable motion and thus behaves as a disturbance value to be accounted for. The conjoint moment of inertia *m* includes the rotor with shaft as well as the additional rotating elements such as encoders, breaks, and couplings. Mostly, it can be supposed that all rotating bodies are homogenous and axially symmetrical. This straightforward simplification allows us to deal with the concentrated model parameters and to consider the relative motion at this stage as the single body dynamics. The joint actuator can be described as follows

$$m\ddot{q} + f(\dot{q}) + \tau = \mu \, , \tag{4}$$

in which the input torque is assumed to be linear to the regulated motor current *i*. The fast current controls of the common servo motors operate at sampling rates about or larger than 10 kHz. Hence, the transient behavior of the current control loop can be easily neglected taking into account the time constants of the mechanical system part. The latter amount to several tens up to some hundred milliseconds. With an appropriate current regulation an electrical servo motor can be considered as a nearly reactionless power source which provides the joint actuator with the driving input torque *u*(*t*) ∼= *kmi*(*t*).

The friction *f*(·) acting in the bearings is in large part load-independent. However, since a particular joint actuator can be mounted on the robotic manipulator with multiple degrees of freedom (DOF) its frictional characteristics can vary dependent on the actual robot configuration. Particularly, the orientation of the supported motor shaft to the gravity field can influence the breakaway and sliding friction properties to a certain degree. Aside of the dependency from the robotic configuration the most significant frictional variations, as well known, are due to the thermal effects. Both the external environment temperature and the internal temperature of contacting elements play a decisive role, whereas the last one increases usually with the operating time and intensity. However, the thermal frictional effects can be rather attributed to a slow time-variant process and a corresponding adaptivity of the model parameters. For reason of clarity an explicit temperature dependency is omitted here just as in most known approaches of modeling the robot dynamics. In the following, we also assume that no significant eccentricities are present in the system, so that almost no periodic torque ripples occur on a shaft revolution. Otherwise, the harmonic disturbances partially attributed to the position-dependent friction can be efficiently estimated and compensated as proposed e.g. by De Wit & Praly (2000).

The complexity of the obtained actuator model can differ in number of the free parameters to be identified, mostly dependent on the selected mapping of the friction behavior. The lumped

represented as shown schematically in Fig. 3. Here in (a), the angular relative displacement

Modeling of Elastic Robot Joints with Nonlinear Damping and Hysteresis 299

is additionally subject to a backlash. However, the latter one can be neglected when the play size stays below the resolution of *q* and *θ* measurement. Thereafter, the case (b) represents a pure elastic deflection of the teeth meshing, whereat the corresponding compliance is not mandatory linear. In fact, it is rather expected that the teeth interaction exhibits a hardening stiffness property. Due to internal frictional mechanisms within the teeth engagement area the overall torsional joint compliance can behave piecewise as elasto-plastic and thus give rise to substantial hysteresis effects. The backlash, even when marginal, is coupled with an internal teeth friction and thus provides a damped bedstop motion. Due to a mutual interaction between the mentioned nonlinear phenomena the resulting hysteresis is hardly decomposable in proper frictional, structural and backlash elements. Hence, it must be rather considered as a compound input-output nonlinearity, while keeping in mind the nature of its

The overall hysteresis torque can be considered as a general nonlinear function

*T*(*t*) = *h*

of the relative displacement, and that under impact of the initial condition *δ*(0). The latter is poorly known when the absolute angular position is captured neither on the input nor output side of the joint, that is the most typical case in the robotic praxis. In this regard, it could be necessary first to saturate the transmission load in order to determine a proper hysteresis state which offers a well known memory effect. Here, the hysteresis memory manifests itself in the transmitted torque value which depends not only on the recent relative displacement between the gear input and output but equally on the history of the previous values. Thus, the dynamic hysteresis map has to replace the static stiffness characteristic curve of the gear transmission. However, the last one remains a still suitable approximation sufficient for numerous practical applications. Well understood, the hysteretic torque transmission includes an inherent damping which is characterized by the energy dissipation on a closed load-release cycle. The enclosed hysteresis loop area provides a measure of the corresponding structural losses, where the damping ratio is both amplitude- an frequency-dependent. Thus, the structural hysteresis damping differs from the linear viscous one and can lead to the limit

The following numerical example demonstrates the damping characteristics of the joint transmission in a more illustrative way. For instance, the single mass with one DOF is connected to the ground, once using a linear spring with linear viscous damping, and once using a nonlinear hysteretic spring. At this, the linear stiffness is selected so as to coincide with the average value of the nonlinear stiffness map included in the hysteresis model. When exciting the system by the Dirac impulse (at time *t*=1) the eigenmotion behaves as a damped oscillation shown in Fig. 4. The linear case (a) provides a typical second-order oscillatory response which is dying out towards zero equilibrium state, having an exponential enveloping function. In case (b), the nonlinear hysteretic spring is higher damped at the beginning, though does not provide a final equilibrium state. Instead of that, the motion enters a stable limit cycle up from a certain amplitude. The last one indicates the hysteresis cancelation close to zero displacement that is however case-specific and can vary dependent

*δ*(*t*), *δ*(0)

internal mechanisms.

cycles and multiple equilibrium states.

*δ* = *N q* − *θ* (7)

(8)

moment of inertia can be easily estimated by decoupled load using the large steps and (or) free run-out experiments. However, in doing so a linear damping has to be assumed. Since the motion is essentially damped by a nonlinear friction it appears as more reasonable to identify the actuator inertia together with the corresponding friction parameters. For these purposes more elaborated and specially designed experiments either in time or frequency domain can be required (see e.g. by Ruderman & Bertram (2011a)). Often, it is advantageous to identify the actuator friction together with the friction acting in the gear transmission. The friction effects in the actuator and gear assembly are strongly coupled with each other since no significant elasticities appear between both. When identifying the dynamic friction one has to keep in mind that the captured torque value, mostly computed from the measured motor current, represents a persistent interplay between the system inertia and frictional damping.

### **2.2 Gear transmission**

The mechanical gear transmission can be considered as a passive transducer of the actuator motion to the output torque which drives the joint load. At this, the angular position of the joint load constitutes the feedback value which contains the signature of elasticities and backlash acting in the transmission system. Often, the gear transmission provides the main source of nonlinearities when analyzing the joint behavior, the reason for which several applications arrange the direct drives without gear reduction (see e.g. by Ruderman et al. (2010)). However, most nowadays robotic systems operate using the gear units which offer the transmission ratios from 30:1 up to 300:1. Apart from the classical spur gears the more technologically elaborated planetary and harmonic drive gears have been established in robotics for several years. Different gear types exhibit quite differing level of torsional compliance and mechanical play, also known as backlash.

Fig. 3. Gear transmission with elasticities and backlash

An idealized rigid gear with a transmission ratio *N* provides the angular motion reduction

$$
\theta = \frac{1}{N}\,\eta\tag{5}
$$

and the corresponding torque gain

$$T = N \,\mathsf{T} \,. \tag{6}$$

Due to the gear teeth meshing the disturbing torsional compliance and backlash can occur during a loaded motion. Assuming the rotationally symmetrical gear mechanisms, i.e. excluding any rotary cam structures, the cumulative effects of the gear teeth meshing can be 6 Will-be-set-by-IN-TECH

moment of inertia can be easily estimated by decoupled load using the large steps and (or) free run-out experiments. However, in doing so a linear damping has to be assumed. Since the motion is essentially damped by a nonlinear friction it appears as more reasonable to identify the actuator inertia together with the corresponding friction parameters. For these purposes more elaborated and specially designed experiments either in time or frequency domain can be required (see e.g. by Ruderman & Bertram (2011a)). Often, it is advantageous to identify the actuator friction together with the friction acting in the gear transmission. The friction effects in the actuator and gear assembly are strongly coupled with each other since no significant elasticities appear between both. When identifying the dynamic friction one has to keep in mind that the captured torque value, mostly computed from the measured motor current, represents a persistent interplay between the system inertia and frictional damping.

The mechanical gear transmission can be considered as a passive transducer of the actuator motion to the output torque which drives the joint load. At this, the angular position of the joint load constitutes the feedback value which contains the signature of elasticities and backlash acting in the transmission system. Often, the gear transmission provides the main source of nonlinearities when analyzing the joint behavior, the reason for which several applications arrange the direct drives without gear reduction (see e.g. by Ruderman et al. (2010)). However, most nowadays robotic systems operate using the gear units which offer the transmission ratios from 30:1 up to 300:1. Apart from the classical spur gears the more technologically elaborated planetary and harmonic drive gears have been established in robotics for several years. Different gear types exhibit quite differing level of torsional

An idealized rigid gear with a transmission ratio *N* provides the angular motion reduction

*<sup>θ</sup>* <sup>=</sup> <sup>1</sup>

Due to the gear teeth meshing the disturbing torsional compliance and backlash can occur during a loaded motion. Assuming the rotationally symmetrical gear mechanisms, i.e. excluding any rotary cam structures, the cumulative effects of the gear teeth meshing can be

*N q*

*<sup>N</sup> <sup>q</sup>* (5)

*T* = *N τ* . (6)

T

(b) (c)

compliance and mechanical play, also known as backlash.

(a)

Fig. 3. Gear transmission with elasticities and backlash

and the corresponding torque gain

**2.2 Gear transmission**

represented as shown schematically in Fig. 3. Here in (a), the angular relative displacement

$$
\delta = N\,\eta - \theta \,\tag{7}
$$

is additionally subject to a backlash. However, the latter one can be neglected when the play size stays below the resolution of *q* and *θ* measurement. Thereafter, the case (b) represents a pure elastic deflection of the teeth meshing, whereat the corresponding compliance is not mandatory linear. In fact, it is rather expected that the teeth interaction exhibits a hardening stiffness property. Due to internal frictional mechanisms within the teeth engagement area the overall torsional joint compliance can behave piecewise as elasto-plastic and thus give rise to substantial hysteresis effects. The backlash, even when marginal, is coupled with an internal teeth friction and thus provides a damped bedstop motion. Due to a mutual interaction between the mentioned nonlinear phenomena the resulting hysteresis is hardly decomposable in proper frictional, structural and backlash elements. Hence, it must be rather considered as a compound input-output nonlinearity, while keeping in mind the nature of its internal mechanisms.

The overall hysteresis torque can be considered as a general nonlinear function

$$T(t) = h(\delta(t), \delta(0))\tag{8}$$

of the relative displacement, and that under impact of the initial condition *δ*(0). The latter is poorly known when the absolute angular position is captured neither on the input nor output side of the joint, that is the most typical case in the robotic praxis. In this regard, it could be necessary first to saturate the transmission load in order to determine a proper hysteresis state which offers a well known memory effect. Here, the hysteresis memory manifests itself in the transmitted torque value which depends not only on the recent relative displacement between the gear input and output but equally on the history of the previous values. Thus, the dynamic hysteresis map has to replace the static stiffness characteristic curve of the gear transmission. However, the last one remains a still suitable approximation sufficient for numerous practical applications. Well understood, the hysteretic torque transmission includes an inherent damping which is characterized by the energy dissipation on a closed load-release cycle. The enclosed hysteresis loop area provides a measure of the corresponding structural losses, where the damping ratio is both amplitude- an frequency-dependent. Thus, the structural hysteresis damping differs from the linear viscous one and can lead to the limit cycles and multiple equilibrium states.

The following numerical example demonstrates the damping characteristics of the joint transmission in a more illustrative way. For instance, the single mass with one DOF is connected to the ground, once using a linear spring with linear viscous damping, and once using a nonlinear hysteretic spring. At this, the linear stiffness is selected so as to coincide with the average value of the nonlinear stiffness map included in the hysteresis model. When exciting the system by the Dirac impulse (at time *t*=1) the eigenmotion behaves as a damped oscillation shown in Fig. 4. The linear case (a) provides a typical second-order oscillatory response which is dying out towards zero equilibrium state, having an exponential enveloping function. In case (b), the nonlinear hysteretic spring is higher damped at the beginning, though does not provide a final equilibrium state. Instead of that, the motion enters a stable limit cycle up from a certain amplitude. The last one indicates the hysteresis cancelation close to zero displacement that is however case-specific and can vary dependent

*L*

 

1 *d*

(b)

*L*1

*n d*

*Ln*

*n k*

*θL*)*<sup>T</sup>* and the vector of nonlinearities

⎞

⎛

⎞

⎟⎟⎟⎟⎠ *τ* .

(10)

⎜⎜⎜⎜⎝

⎟⎟⎟⎟⎠ **h** +

1 *n i i* 

*M*

*θ θ<sup>L</sup>* ˙

*<sup>θ</sup>*) 0 0�*<sup>T</sup>* one can obtain the state-space model of the concentrated joint load

0 0 00 −*l*g/*M* −*Fc*/*M* 0 0 0 0 00 0 0 00

For reasons of clarity let us analyze here the case of a concentrated mass shown in Fig. 5 (a). At this point it is important to say that the load model with distributed masses shown in Fig. 5 (b) can behave more accurately and capture more complex vibration modes. At the same time, the identification of distributed mass-stiffness-damper parameters can rapidly exceed the given technical conditions of the system measurement. Besides, the achieved gain in accuracy of capturing the reactive load related to vibrations is not necessarily high. Recall that the primary objective here is to determine the reactive torque fed back from the oscillating elastic link and thus to improve the prediction of *θ*. An accurate computation of the link end-position due to link elasticities is surely also an important task in robotics. However, this falls beyond the scope of the current work whose aim is to describe the robot joint transmission with

Modeling of Elastic Robot Joints with Nonlinear Damping and Hysteresis 301

⎞

⎛

⎜⎜⎜⎜⎝

⎟⎟⎟⎟⎠ **x** +

The 4×4 matrices in Eq. (10) constitute the system matrix of a linear part and the coupling matrix of nonlinearities correspondingly. For all physically reasonable parameter values the system proves to be controllable whereas the input torque *τ* occurs as always lagged due to

The following numerical example demonstrates the disturbing link vibrations during the torque step whose unavoidable lag is approximated by a first-order low pass filter with cut-off frequency 1000 rad/s. The parameter values are selected so as to provide the relation between both inertia *M*/*L* = 0.1 and damping *d <sup>f</sup>* /*d* = 10000. Further, two relative stiffness values 1*k* and 10*k* are considered. Since the gravity term is not directly involved into vibrational characteristics it can be omitted at this stage. In the same manner the Coulomb friction nonlinearity which constitutes a constant torque disturbance during an unidirectional motion is also excluded from the computation. The response of the simulated, insofar linear, joint load is shown in Fig. 6. Two stiffness values differing in order of magnitude lead to the oscillating link deflection depicted in Fig. 6 (b) and (c). Besides the differing eigenfrequencies the principal shape of the enveloping function appears as quite similar for both stiffness values.

1 *k*

*d*

(a)

*M*

**h** = �

**˙x** =

given by

⎛

⎜⎜⎜⎜⎝

sin(*θ*) sgn( ˙

*k*

Fig. 5. Concentrated (a) and distributed (b) joint load

nonlinearities. Introducing the state vector **x** = (*θ* ˙

0 1 00 −*k*/*M* −(*d <sup>f</sup>* + *d*)/*M k*/*M d*/*M* 0 0 01 *k*/*L d*/*L* −*k*/*L* −*d*/*L*

preceding dynamics of the joint actuator and gear transmission.

Fig. 4. Damped response of the excited eigenmotion when applying linear and nonlinear hysteretic spring

on the selected hysteresis map. From a physical point of view an autonomous mechanical system will surely converge to a static idle state due to additional damping mechanisms not necessarily captured by the hysteresis. However, theoretically seen the hysteresis damping does not guarantee the full decay of all eigenmotions. An interesting and more realistic case (c) represents a combination of the linear and nonlinear hysteretic damping. Due to an additional velocity-dependent damping term the eigenmotion does not stay inside of a limit cycle and converges towards a non-zero idle state, thus providing the system response with memory. The characteristical nonzero equilibrium states denote the forces remaining in the gear transmission after the input and output loads drop out.

#### **2.3 Joint load**

The robot links which connect the single joints within the kinematic chain of manipulator constitute the moving bodies with additional inertia and elasticities. They may generate lightly damped vibrational modes, which reduce the robot accuracy in tracking tasks according to Zollo et al. (2005).

The overall multi-body manipulator dynamics (1) provides the interaction between the actuated joints and passive links. Recall that Eq. (1) captures a rigid robot structure with no elasticities at all. However in general case, the contribution of the gravity and Coriolis-centrifugal forces has to be taken into account independent of the considered rigid or elastic manipulator. For reason of traceability, we cut free the kinematic chain and consider the single robot joint with the following link as depicted in Fig. 5. At this, the joint link can be represented either as the concentrated *L* or distributed *L*1,..., *Ln* mass. Here, no additional inertia and Coriolis-centrifugal terms fed back from the following joints and links contribute to the overall load balance. Note that the recent approach constitutes a strong simplification of the link dynamics so that the additional degree of freedom *θ<sup>L</sup>* = *θ* − *α* or *θ<sup>L</sup>* = *θ* − ∑ *α<sup>i</sup>* for case (b) is used to capture the vibrational disturbances only. It means that in terms of the distributed impact of gravity the angular link deflection *α* is assumed to be small enough, so that sin(*θ*) ≈ sin(*θ* − *α*) and

$$\mathbf{G} = l \lg \sin(\theta) \,\mathrm{s} \tag{9}$$

Here, g denotes the gravity constant and *l* is the lever of COG (center of gravity). The transmitted torque *τ* drives the joint output with inertia *M* and bearing friction which can be captured in a simplified way using Coulomb and viscous friction *Fc* sgn(˙ *θ*) + *d <sup>f</sup>* ˙ *θ* only.

8 Will-be-set-by-IN-TECH

(b)

Nonlinear

0 5 10 15 20

t (−)

(c)

Combined

−1 −0.5 0 0.5 1

*G* = *l* g sin(*θ*). (9)

*θ*) + *d <sup>f</sup>* ˙

*θ* only.

q (−)

0 5 10 15 20

t (−)

Fig. 4. Damped response of the excited eigenmotion when applying linear and nonlinear

on the selected hysteresis map. From a physical point of view an autonomous mechanical system will surely converge to a static idle state due to additional damping mechanisms not necessarily captured by the hysteresis. However, theoretically seen the hysteresis damping does not guarantee the full decay of all eigenmotions. An interesting and more realistic case (c) represents a combination of the linear and nonlinear hysteretic damping. Due to an additional velocity-dependent damping term the eigenmotion does not stay inside of a limit cycle and converges towards a non-zero idle state, thus providing the system response with memory. The characteristical nonzero equilibrium states denote the forces remaining in the

The robot links which connect the single joints within the kinematic chain of manipulator constitute the moving bodies with additional inertia and elasticities. They may generate lightly damped vibrational modes, which reduce the robot accuracy in tracking tasks

The overall multi-body manipulator dynamics (1) provides the interaction between the actuated joints and passive links. Recall that Eq. (1) captures a rigid robot structure with no elasticities at all. However in general case, the contribution of the gravity and Coriolis-centrifugal forces has to be taken into account independent of the considered rigid or elastic manipulator. For reason of traceability, we cut free the kinematic chain and consider the single robot joint with the following link as depicted in Fig. 5. At this, the joint link can be represented either as the concentrated *L* or distributed *L*1,..., *Ln* mass. Here, no additional inertia and Coriolis-centrifugal terms fed back from the following joints and links contribute to the overall load balance. Note that the recent approach constitutes a strong simplification of the link dynamics so that the additional degree of freedom *θ<sup>L</sup>* = *θ* − *α* or *θ<sup>L</sup>* = *θ* − ∑ *α<sup>i</sup>* for case (b) is used to capture the vibrational disturbances only. It means that in terms of the distributed impact of gravity the angular link deflection *α* is assumed to be small enough, so

Here, g denotes the gravity constant and *l* is the lever of COG (center of gravity). The transmitted torque *τ* drives the joint output with inertia *M* and bearing friction which can

be captured in a simplified way using Coulomb and viscous friction *Fc* sgn(˙

−1 −0.5 0 0.5 1

q (−)

0 5 10 15 20

(a)

Linear

gear transmission after the input and output loads drop out.

t (−)

−1 −0.5 0 0.5 1

q (−)

hysteretic spring

**2.3 Joint load**

according to Zollo et al. (2005).

that sin(*θ*) ≈ sin(*θ* − *α*) and

Fig. 5. Concentrated (a) and distributed (b) joint load

For reasons of clarity let us analyze here the case of a concentrated mass shown in Fig. 5 (a). At this point it is important to say that the load model with distributed masses shown in Fig. 5 (b) can behave more accurately and capture more complex vibration modes. At the same time, the identification of distributed mass-stiffness-damper parameters can rapidly exceed the given technical conditions of the system measurement. Besides, the achieved gain in accuracy of capturing the reactive load related to vibrations is not necessarily high. Recall that the primary objective here is to determine the reactive torque fed back from the oscillating elastic link and thus to improve the prediction of *θ*. An accurate computation of the link end-position due to link elasticities is surely also an important task in robotics. However, this falls beyond the scope of the current work whose aim is to describe the robot joint transmission with nonlinearities. Introducing the state vector **x** = (*θ* ˙ *θ θ<sup>L</sup>* ˙ *θL*)*<sup>T</sup>* and the vector of nonlinearities **h** = � sin(*θ*) sgn( ˙ *<sup>θ</sup>*) 0 0�*<sup>T</sup>* one can obtain the state-space model of the concentrated joint load given by

$$\dot{\mathbf{x}} = \begin{pmatrix} 0 & 1 & 0 & 0 \\ -k/M - (d\_f + d)/M & k/M & d/M \\ 0 & 0 & 0 & 1 \\ k/L & d/L & -k/L & -d/L \end{pmatrix} \mathbf{x} + \begin{pmatrix} 0 & 0 & 0 & 0 \\ -l\lg/M - F\_{\mathbb{C}}/M & 0 & 0 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \end{pmatrix} \mathbf{h} + \begin{pmatrix} 0 \\ N/M \\ 0 \\ 0 \end{pmatrix} \boldsymbol{\tau}. \tag{10}$$

The 4×4 matrices in Eq. (10) constitute the system matrix of a linear part and the coupling matrix of nonlinearities correspondingly. For all physically reasonable parameter values the system proves to be controllable whereas the input torque *τ* occurs as always lagged due to preceding dynamics of the joint actuator and gear transmission.

The following numerical example demonstrates the disturbing link vibrations during the torque step whose unavoidable lag is approximated by a first-order low pass filter with cut-off frequency 1000 rad/s. The parameter values are selected so as to provide the relation between both inertia *M*/*L* = 0.1 and damping *d <sup>f</sup>* /*d* = 10000. Further, two relative stiffness values 1*k* and 10*k* are considered. Since the gravity term is not directly involved into vibrational characteristics it can be omitted at this stage. In the same manner the Coulomb friction nonlinearity which constitutes a constant torque disturbance during an unidirectional motion is also excluded from the computation. The response of the simulated, insofar linear, joint load is shown in Fig. 6. Two stiffness values differing in order of magnitude lead to the oscillating link deflection depicted in Fig. 6 (b) and (c). Besides the differing eigenfrequencies the principal shape of the enveloping function appears as quite similar for both stiffness values.

*N*

Apart from the hardening stiffness and hysteresis property, the rotary spring can also include the backlash nonlinearities as mentioned afore in Section 2.2. Note that the complexity degree of nonlinearities involved in the transmitting rotary spring can vary. This depends on the required model accuracy as well as significance of each particular phenomenon observable

Since the hysteresis map captures the frequency-independent structural damping, an additional linear damping term *D* is connected in parallel to the rotary spring. The introduced linear damping comprises all viscous (velocity-dependent) dissipative effects arising from the internal teeth and slider interactions as mentioned afore in Section 2.2. Here, one must be aware that the velocity-dependent damping map can ditto possess the nonlinear characteristics. However, for reasons of clarity and more straightforward identification the simple linear damping is further assumed. As shown previously in Fig. 4 (c) the superposition of both damping mechanisms provides the system dynamics with multiple non-zero equilibrium states. Apart from the curvature and area of the underlying hysteresis, which determine the dissipative map, the magnitude of the linear damping affects a faster

The moving output joint part is mandatory supported by some rotary-type bearing, so that the output friction torque *F* has to be included. A proper decomposition of the input and output joint friction appears as one of the most challenging identification tasks when modeling the joint with elasticities. When no sufficient input and output torque measurements are available, certain assumptions about the friction distribution across the joint transmission have to be made. One feasible way to decompose a coupled joint friction is to identify first the overall friction behavior under certain conditions, at which the impact of joint elasticities is either negligible or it constitutes a constant bias term. Here, one can think about the drive experiments under reduced (decoupled) or stationary handled joint load. The steady-state velocity drive experiments can constitute the basis for such an identification procedure. Once the overall joint friction is identified it can be decomposed by introducing the weighting functions and finding the appropriate weighting rates within the overall joint dynamics. However, this heuristic method requires a good prior knowledge about the acting joint elasticities. That is the nonlinear spring and damping models have to be identified afore.

The modeling of dynamic friction is one of the crucial tasks in robotics since the joint friction constitutes not only the stabilizing damping but also can lead to large errors in the control. There is a huge number of works dedicated to modeling and compensating the frictional

, *q q*,

 

*D*

Modeling of Elastic Robot Joints with Nonlinear Damping and Hysteresis 303

*f F*

*M*

*m*

Fig. 7. Elastic robot joint with nonlinear damping and hysteresis

*u*

when measuring the joint behavior.

settling of the oscillatory joint motion.

**3.2 Dynamic friction**

Fig. 6. Response of the joint load with elasticities to the lagged step of the input torque

However, most crucial is the fact that the amplitudes differ in the same order of magnitude, so that a lower stiffness provides a definitely higher level of link vibrations. Considering the correspondent velocity response, once in the joint output and once in the link deflection coordinates depicted in Fig. 6 (a) the impact of the link vibrations becomes evident. Here, the output joint velocity ˙ *θ* is subject to the substantial oscillations at the beginning of relative motion. As a consequence, the oscillating behavior of the joint load will be propagated back to the joint transmission, thus increasing the complexity of overall joint behavior.

### **3. Nonlinear joint model**

The main focus of the current Chapter relates to the grey-box modeling of elastic robot joints with nonlinearities. With respect to the proposed joint topology shown in Fig. 1 that means to derive a particular structure and to find a suitable set of equations to capture the transmission behavior for a class of robotic joints with elasticities. At this, the use of freely parameterizable sub-models and functions allows to describe the system dynamics for different types of gears and bearings involved in the joint assembly. The class of the robot joints aimed to be described here is characterized by a rotary-to-rotary transmission of the actuated relative motion with no position-dependent changes in the joint behavior. That is the input drive torque is transmitted to the joint output by means of the axially symmetric gear mechanisms. Note that the latter, including all bearings and couplings, allow one degree of freedom only. Several types of the gears like harmonic drives, planetary, and diverse subtypes of spur gears fulfill these assumptions, though offering quite differing mechanical principles of the torque transmission.

#### **3.1 Joint structure**

The proposed single elastic robot joint with nonlinear damping and hysteresis is shown in Fig. 7. The input drive torque *u* accelerates the combined actuator mass *m*, where the friction *f* constitutes the overall coupled friction of the actuator and gear input. The mechanical joint interface arranges the observation of angular motion, once prior (*q*, *q*˙) and once beyond (*θ*, ˙ *θ*) the gear transmission. That is the input and output joint axes are assumed to be rigid outside the employable state measurements. Note that the output joint axis does not necessarily coincide with some physical rotary shaft coming out from the mechanical joint assembly. Just as well it can be a virtual axis of a rotary motion for which the interface will indicate the measuring points. More simply, the input motion interface coincides with the rotary actuator (motor) shaft to which the angular position/velocity measurement is directly applied in the most cases. The nominal gear transmission ratio is denoted by *N*. The main transmission element with elasticities can be represented by a nonlinear rotary spring with hysteresis Γ. 10 Will-be-set-by-IN-TECH

(b)

1 k

α (−)

*θ* is subject to the substantial oscillations at the beginning of relative

<sup>16</sup> x 10−5

0 0.2 0.4 0.6

t (s)

(c)

10 k

*θ*)

0 0.2 0.4 0.6

t (s)

However, most crucial is the fact that the amplitudes differ in the same order of magnitude, so that a lower stiffness provides a definitely higher level of link vibrations. Considering the correspondent velocity response, once in the joint output and once in the link deflection coordinates depicted in Fig. 6 (a) the impact of the link vibrations becomes evident. Here,

motion. As a consequence, the oscillating behavior of the joint load will be propagated back

The main focus of the current Chapter relates to the grey-box modeling of elastic robot joints with nonlinearities. With respect to the proposed joint topology shown in Fig. 1 that means to derive a particular structure and to find a suitable set of equations to capture the transmission behavior for a class of robotic joints with elasticities. At this, the use of freely parameterizable sub-models and functions allows to describe the system dynamics for different types of gears and bearings involved in the joint assembly. The class of the robot joints aimed to be described here is characterized by a rotary-to-rotary transmission of the actuated relative motion with no position-dependent changes in the joint behavior. That is the input drive torque is transmitted to the joint output by means of the axially symmetric gear mechanisms. Note that the latter, including all bearings and couplings, allow one degree of freedom only. Several types of the gears like harmonic drives, planetary, and diverse subtypes of spur gears fulfill these assumptions, though offering quite differing mechanical principles of the torque transmission.

The proposed single elastic robot joint with nonlinear damping and hysteresis is shown in Fig. 7. The input drive torque *u* accelerates the combined actuator mass *m*, where the friction *f* constitutes the overall coupled friction of the actuator and gear input. The mechanical joint interface arranges the observation of angular motion, once prior (*q*, *q*˙) and once beyond (*θ*, ˙

the gear transmission. That is the input and output joint axes are assumed to be rigid outside the employable state measurements. Note that the output joint axis does not necessarily coincide with some physical rotary shaft coming out from the mechanical joint assembly. Just as well it can be a virtual axis of a rotary motion for which the interface will indicate the measuring points. More simply, the input motion interface coincides with the rotary actuator (motor) shaft to which the angular position/velocity measurement is directly applied in the most cases. The nominal gear transmission ratio is denoted by *N*. The main transmission element with elasticities can be represented by a nonlinear rotary spring with hysteresis Γ.

to the joint transmission, thus increasing the complexity of overall joint behavior.

Fig. 6. Response of the joint load with elasticities to the lagged step of the input torque

0 0.2 0.4 0.6

dQL /dt dQ/dt

α (−)

<sup>16</sup> x 10−4

t (s)

(a)

0 0.2 0.4 0.6 0.8 1

the output joint velocity ˙

**3. Nonlinear joint model**

**3.1 Joint structure**

dθ/dt (−)

Fig. 7. Elastic robot joint with nonlinear damping and hysteresis

Apart from the hardening stiffness and hysteresis property, the rotary spring can also include the backlash nonlinearities as mentioned afore in Section 2.2. Note that the complexity degree of nonlinearities involved in the transmitting rotary spring can vary. This depends on the required model accuracy as well as significance of each particular phenomenon observable when measuring the joint behavior.

Since the hysteresis map captures the frequency-independent structural damping, an additional linear damping term *D* is connected in parallel to the rotary spring. The introduced linear damping comprises all viscous (velocity-dependent) dissipative effects arising from the internal teeth and slider interactions as mentioned afore in Section 2.2. Here, one must be aware that the velocity-dependent damping map can ditto possess the nonlinear characteristics. However, for reasons of clarity and more straightforward identification the simple linear damping is further assumed. As shown previously in Fig. 4 (c) the superposition of both damping mechanisms provides the system dynamics with multiple non-zero equilibrium states. Apart from the curvature and area of the underlying hysteresis, which determine the dissipative map, the magnitude of the linear damping affects a faster settling of the oscillatory joint motion.

The moving output joint part is mandatory supported by some rotary-type bearing, so that the output friction torque *F* has to be included. A proper decomposition of the input and output joint friction appears as one of the most challenging identification tasks when modeling the joint with elasticities. When no sufficient input and output torque measurements are available, certain assumptions about the friction distribution across the joint transmission have to be made. One feasible way to decompose a coupled joint friction is to identify first the overall friction behavior under certain conditions, at which the impact of joint elasticities is either negligible or it constitutes a constant bias term. Here, one can think about the drive experiments under reduced (decoupled) or stationary handled joint load. The steady-state velocity drive experiments can constitute the basis for such an identification procedure. Once the overall joint friction is identified it can be decomposed by introducing the weighting functions and finding the appropriate weighting rates within the overall joint dynamics. However, this heuristic method requires a good prior knowledge about the acting joint elasticities. That is the nonlinear spring and damping models have to be identified afore.

#### **3.2 Dynamic friction**

The modeling of dynamic friction is one of the crucial tasks in robotics since the joint friction constitutes not only the stabilizing damping but also can lead to large errors in the control. There is a huge number of works dedicated to modeling and compensating the frictional

force is attracted towards the static characteristic curve which represents the steady-state friction behavior. Depicted in Fig. 8 (b), the dynamic friction response is obtained using 2SEP (two-state with elasto-plasticity) model which is briefly described in the rest of this Section. The 2SEP dynamic friction model (Ruderman & Bertram (2010), Ruderman & Bertram (2011a)) maintains the well-established properties of dynamic friction which can be summarized as i) Stribeck effect at steady-state velocity-dependent sliding, ii) position-dependent pre-sliding hysteresis, and iii) friction lag at transient response. The model describes the dynamic friction behavior using a linear combination of the pre-sliding and transient friction state that converges towards the velocity-dependent steady-state. At this, one independent and one dependent state variables are intuitively related to such frictional phenomena as the pre-sliding hysteresis and friction lag at transient behavior. The

Modeling of Elastic Robot Joints with Nonlinear Damping and Hysteresis 305

Note that the instantaneous friction value is conducted coevally by the relative displacement and relative velocity without switching functions and (or) thresholds to separate the pre-sliding and sliding regimes. The pre-sliding friction behavior, predominantly captured by *z*1, is described using the Modified Maxwell-Slip (MMS) approximation (Ruderman & Bertram (2011b)). The MMS structure can be imagined similar to a single Maxwell-slip element, but with a pivotal difference of representing the applied connecting spring. In MMS model, the irreversible nonlinear spring exhibits a saturating elasto-plastic deflection until a motion reversal occurs. Assuming an exponentially decreasing stiffness by an increasing relative displacement after reversal, the overall hysteretic state converges towards the constant tangential force. It is assumed that the deflection of elasto-plastic asperity contacts saturates at the Coulomb friction level, so that the weighting factor *A* can be often set to one. A saturated friction state characterizes the plastic sliding at which the deflected asperities slip upon each other and provide an approximately constant value of the tangential force at non-zero velocity. The state dynamic is defined as a first-order nonlinear

*<sup>z</sup>*˙1 <sup>=</sup> <sup>|</sup>Ω<sup>|</sup> *w K* exp

the initial stiffness *K*, determine the overall hysteresis map of the pre-sliding friction.

the linear viscous friction term and the nonlinear characteristic curve

*s*(*w*) = sgn(*w*)

when the velocity sign changes. The average stiffness capacity Ω of interacting asperities memorizes the last motion reversal, at which the asperity junctions are released and reloaded again in the opposite direction. The integrated relative displacement *qr* is reset to zero whenever the motion direction changes. Solely two parameters, the Coulomb friction *Fc* and

*<sup>z</sup>*˙2 <sup>=</sup> *<sup>S</sup>*(*w*) <sup>−</sup> *<sup>F</sup>*

behaves as a first-order time delay element that transfers the velocity-dependent dynamic friction and attracts it towards the steady-state *S*(*w*) = *s*(*w*) + *σ w*. The factor *σ* constitutes

*Fc* + (*Fs* <sup>−</sup> *Fc*) exp

−*K*|*qr*| 

*F* = *A z*<sup>1</sup> + *B* |*w*| *z*<sup>2</sup> . (11)

Ω = sgn(*w*) *Fc* − *F* , (13)

<sup>|</sup>*S*(*w*)<sup>|</sup> , (14)

−| *<sup>w</sup> Vs* | *δ*

, (12)

(15)

weighted superposition of both yields the total friction force as

differential equation

The transient friction state

with

effects in robotic joints and machine tools (see Armstrong-Helouvry et al. (1994), Bona & Indri (2005), Al-Bender & Swevers (2008) for overview).

Generally, the existent approaches can be subdivided into static and dynamic mapping of kinetic friction. Note that in terms of kinetics the static friction signifies the friction forces acting during a relative motion at constant or slightly changing velocities and not the sticking forces of stationary bodies. Here, the classical constant Coulomb friction and the linear velocity-dependent viscous friction can be involved to describe the frictional forces between two contacting surfaces which slide upon each other. Moreover, the well-known Stribeck effect can be involved to describe the nonlinear transition between the break-away friction at zero velocity and linear viscous friction in a more accurate way. The most dynamic friction models capture both pre-sliding and sliding regimes of the friction and provide the smooth transition through zero velocity without discontinuities typical for static friction models. The most advanced dynamic friction models are also capable of describing such significant frictional phenomena as position-dependent pre-sliding hysteresis and frictional lag in the transient behavior. An extensive comparative analysis of several dynamic friction models, among Dahl, LuGre, Leuven, and GMS one, can be found in Al-Bender & Swevers (2008) and Armstrong-Helouvry & Chen (2008).

Apart from the pre-sliding frictional mechanisms, the main differences between the static and dynamic friction modeling can be explained when visualized in the velocity-force (*w*, *F*) coordinates as shown in Fig. 8. The static friction map provides a discontinuity at zero velocity which can lead to significant observation errors and control problems since the system operates with frequent motion reversals. However, when the steady-state operation modes are predominant the static map can be accurate enough to capture the main frictional phenomena. Further, it is easy to recognize that the closer the relative velocity is to zero the larger is the impact of nonlinear Stribeck effect. The peak value at zero velocity indicates the maximal force, also called break-away, required to bear the system from the sticking to the sliding state of continuous motion. Comparing the Stribeck static map with the dynamic

Fig. 8. Static (a) and dynamic (b) friction map in velocity-force coordinates

one shown in Fig. 8 (b) it can be seen that the principal shape of the velocity-force curves remain the same. However, the transient frictional behavior when passing through zero velocity is quite different dependent on the ongoing input frequency *ω*. Here, the overall friction response to a cyclic input velocity with an increasing frequency is shown. The higher is the ongoing frequency when changing the motion direction the higher is the stretch of the resulting frictional hysteresis. This phenomenon is also known as the frictional lag (see by Al-Bender & Swevers (2008)) since the friction force lags behind the changing relative velocity. Roughly speaking, the frictional lag occurs due to the time required to modify either the hydro-dynamic lubricant properties during the viscous, or the adhesion contact properties during the dry sliding. With an increasing relative velocity after transient response the friction force is attracted towards the static characteristic curve which represents the steady-state friction behavior. Depicted in Fig. 8 (b), the dynamic friction response is obtained using 2SEP (two-state with elasto-plasticity) model which is briefly described in the rest of this Section. The 2SEP dynamic friction model (Ruderman & Bertram (2010), Ruderman & Bertram (2011a)) maintains the well-established properties of dynamic friction which can be summarized as i) Stribeck effect at steady-state velocity-dependent sliding, ii) position-dependent pre-sliding hysteresis, and iii) friction lag at transient response. The model describes the dynamic friction behavior using a linear combination of the pre-sliding and transient friction state that converges towards the velocity-dependent steady-state. At this, one independent and one dependent state variables are intuitively related to such frictional phenomena as the pre-sliding hysteresis and friction lag at transient behavior. The weighted superposition of both yields the total friction force as

$$F = A\,z\_1 + B\,|w|\,z\_2\,. \tag{11}$$

Note that the instantaneous friction value is conducted coevally by the relative displacement and relative velocity without switching functions and (or) thresholds to separate the pre-sliding and sliding regimes. The pre-sliding friction behavior, predominantly captured by *z*1, is described using the Modified Maxwell-Slip (MMS) approximation (Ruderman & Bertram (2011b)). The MMS structure can be imagined similar to a single Maxwell-slip element, but with a pivotal difference of representing the applied connecting spring. In MMS model, the irreversible nonlinear spring exhibits a saturating elasto-plastic deflection until a motion reversal occurs. Assuming an exponentially decreasing stiffness by an increasing relative displacement after reversal, the overall hysteretic state converges towards the constant tangential force. It is assumed that the deflection of elasto-plastic asperity contacts saturates at the Coulomb friction level, so that the weighting factor *A* can be often set to one. A saturated friction state characterizes the plastic sliding at which the deflected asperities slip upon each other and provide an approximately constant value of the tangential force at non-zero velocity. The state dynamic is defined as a first-order nonlinear differential equation

$$\dot{z}\_1 = |\Omega| \, w \, K \exp\left(-K|q\_r|\right) \, , \tag{12}$$

with

12 Will-be-set-by-IN-TECH

effects in robotic joints and machine tools (see Armstrong-Helouvry et al. (1994), Bona & Indri

Generally, the existent approaches can be subdivided into static and dynamic mapping of kinetic friction. Note that in terms of kinetics the static friction signifies the friction forces acting during a relative motion at constant or slightly changing velocities and not the sticking forces of stationary bodies. Here, the classical constant Coulomb friction and the linear velocity-dependent viscous friction can be involved to describe the frictional forces between two contacting surfaces which slide upon each other. Moreover, the well-known Stribeck effect can be involved to describe the nonlinear transition between the break-away friction at zero velocity and linear viscous friction in a more accurate way. The most dynamic friction models capture both pre-sliding and sliding regimes of the friction and provide the smooth transition through zero velocity without discontinuities typical for static friction models. The most advanced dynamic friction models are also capable of describing such significant frictional phenomena as position-dependent pre-sliding hysteresis and frictional lag in the transient behavior. An extensive comparative analysis of several dynamic friction models, among Dahl, LuGre, Leuven, and GMS one, can be found in Al-Bender & Swevers (2008) and

Apart from the pre-sliding frictional mechanisms, the main differences between the static and dynamic friction modeling can be explained when visualized in the velocity-force (*w*, *F*) coordinates as shown in Fig. 8. The static friction map provides a discontinuity at zero velocity which can lead to significant observation errors and control problems since the system operates with frequent motion reversals. However, when the steady-state operation modes are predominant the static map can be accurate enough to capture the main frictional phenomena. Further, it is easy to recognize that the closer the relative velocity is to zero the larger is the impact of nonlinear Stribeck effect. The peak value at zero velocity indicates the maximal force, also called break-away, required to bear the system from the sticking to the sliding state of continuous motion. Comparing the Stribeck static map with the dynamic

0

F (−)

one shown in Fig. 8 (b) it can be seen that the principal shape of the velocity-force curves remain the same. However, the transient frictional behavior when passing through zero velocity is quite different dependent on the ongoing input frequency *ω*. Here, the overall friction response to a cyclic input velocity with an increasing frequency is shown. The higher is the ongoing frequency when changing the motion direction the higher is the stretch of the resulting frictional hysteresis. This phenomenon is also known as the frictional lag (see by Al-Bender & Swevers (2008)) since the friction force lags behind the changing relative velocity. Roughly speaking, the frictional lag occurs due to the time required to modify either the hydro-dynamic lubricant properties during the viscous, or the adhesion contact properties during the dry sliding. With an increasing relative velocity after transient response the friction

0

2SEP <sup>ω</sup>

ω

(b)

w (−)

(2005), Al-Bender & Swevers (2008) for overview).

Armstrong-Helouvry & Chen (2008).

0

F (−)

0

Coulomb & viscous with Stribeck

Fig. 8. Static (a) and dynamic (b) friction map in velocity-force coordinates

(a)

w (−)

$$
\Omega = \text{sgn}(w) \, F\_{\mathfrak{c}} - F\_{\mathfrak{c}} \, \tag{13}
$$

when the velocity sign changes. The average stiffness capacity Ω of interacting asperities memorizes the last motion reversal, at which the asperity junctions are released and reloaded again in the opposite direction. The integrated relative displacement *qr* is reset to zero whenever the motion direction changes. Solely two parameters, the Coulomb friction *Fc* and the initial stiffness *K*, determine the overall hysteresis map of the pre-sliding friction. The transient friction state

$$\dot{z}\_2 = \frac{\mathcal{S}(w) - F}{|\mathcal{S}(w)|}\,'\tag{14}$$

behaves as a first-order time delay element that transfers the velocity-dependent dynamic friction and attracts it towards the steady-state *S*(*w*) = *s*(*w*) + *σ w*. The factor *σ* constitutes the linear viscous friction term and the nonlinear characteristic curve

$$s(w) = \text{sgn}(w) \left( F\_{\mathcal{E}} + (F\_{\mathcal{S}} - F\_{\mathcal{E}}) \exp \left( - |\frac{w}{V\_{\mathcal{S}}}|^{\delta} \right) \right) \tag{15}$$

The restoring torque arising in a hysteretic spring is subdivided into an elastic and plastic (irreversible) part related to each other by a weighting factor. When using the polynomials *k*1,..., *ki* for describing the characteristic stiffness curve the total restoring torque can be

Modeling of Elastic Robot Joints with Nonlinear Damping and Hysteresis 307

At this, the weighting coefficient 0 *< μ <* 1 provides a relationship between the purely elastic (*μ* = 1) and purely hysteretic, further also as plastic, (*μ* = 0) deflection. The dynamic state variable *x* which captures the elasto-plastic deflection, therefore responsible for arising

*δ*| |*x*|

The amplitude and shape of hysteresis are determined by the parameters *A*, *β*, and *γ*. The factor *n* ≥ 1 provides the smoothness of transition between an elastic and plastic response. For an interested reader a more extensive parameter analysis of Bouc-Wen-like differential

(b)

μ = 0.5

0

δ (−)

hysteresis models can be found by Ma et al. (2004). In Fig. 9, an example of the restoring torque on a closed load-release cycle is shown dependent on the factor *μ*. At this, the residual model parameters have been held by the same values. It is evident that no hysteresis losses occur for *μ*=1, and the case represented in Fig. 9 (a) provides a simple nonlinear characteristic stiffness curve with hardening properties. Though the larger a plastic contribution to the overall restoring torque is the larger is the hysteresis area in Fig. 9 (b) and (c), and the larger

With respect to the joint structure derived in Section 3.1 the overall transmitted joint torque is

*T* = Γ(*δ*) + *D* ˙

Note that the transmitted joint torque already includes the nominal gear ratio *N* captured by *δ*. When replacing the nonlinear function Γ(·) by a linear spring described by *Kδ* a simple joint transmission model with linear stiffness and damping can be achieved again. However, when accounting for hysteresis motion losses the use of a hysteresis stiffness map becomes

Fig. 9. Hysteretic restoring torque for purely elastic (a), elasto-plastic (b), and plastic (c)

*<sup>n</sup>*−1*<sup>x</sup>* <sup>−</sup> *<sup>γ</sup>* ˙

*<sup>i</sup>* + (<sup>1</sup> <sup>−</sup> *<sup>μ</sup>*) *ki* sgn(*x*)|*x*<sup>|</sup>

*δ* |*x*|

0

Γ (−)

*i* 

0

(c)

μ = 0

δ (−)

*δ* . (18)

. (16)

*<sup>n</sup>* . (17)

*μ ki* sgn(*δ*)|*δ*|

*<sup>δ</sup>* <sup>−</sup> *<sup>β</sup>* <sup>|</sup> ˙

0

Γ (−)

is the corresponding structural damping acting in the joint transmission.

indispensable and has to be included in the overall joint dynamics.

expressed as a superposition

hysteresis, is described by

Γ(*δ*, *x*) = ∑

0

(a)

μ=1

δ (−)

0

Γ (−)

torsional deflection

given by

*i* 

*x*˙ = *A* ˙

describes the well-known Stribeck effect. The velocity-dependent Stribeck map is upper bounded by the static friction (also called stiction) force *Fs* and low bounded by the Coulomb friction force. The exponential factors *Vs* and *δ* denote the Stribeck velocity and the Stribeck shape factor correspondingly. In Eq. (11), the attraction gain *B* determines how fast the overall friction force converges towards the steady-state. The attraction gain is additionally subject to the velocity magnitude. On the one hand, this is done in order to reduce the impact of the transient behavior in vicinity to zero velocity, at which the pre-sliding frictional mechanisms predominate. On the other hand, the velocity-dependent attraction gain ensures the steady-state convergence as |*w*| increases.

Overall seven free parameters are required to describe the dynamic friction using 2SEP model, where five of them are already spent to support the standard Stribeck effect. Here, it is important to say that other dynamic friction models which capture the basic frictional phenomena can be applied in equal manner when describing the overall joint behavior. At this, the most significant aspects by the choice of a particular friction model are the ease of implementation, generality, as well as practicability in terms of the identification to be done under the circumstances of a real operation mode.

### **3.3 Nonlinear stiffness with hysteresis**

In the simplest case the robot joint stiffness can be represented by a linear function of the relative angular displacement across the joint transmission. This somehow archaic but still widely used and, in particular, robust approach relates the joint torque transmission to a classical spring behavior. Nevertheless, most compliant mechanical structures are well known to exhibit a kind of the hardening properties. That is an increasing relative displacement or better to say deflection of the transmitting elements causes an increase of the overall joint stiffness, and thus leads to higher torque rates. Hence, the joint stiffness which is the inverse compliance of all embedded transmitting elements appears as variable, depending on the ongoing joint load. In order to account for variable stiffness properties several manufacturers of gears and components as well as some works published by researchers suggest to use a piecewise linear stiffness approximation with multiple characteristical segments. An alternative to describe the variable stiffness characteristics is to use the polynomial functions whose coefficients have to be fitted from the accurate laboratory measurements.

Since a nonlinear transmission spring is coupled with corresponding hysteresis effects as mentioned in Section 2.2 a suitable hysteresis map has to be also incorporated. A huge number of available hysteresis approaches (see e.g. Bertotti & Mayergoyz (2006)), originated from different domains of natural and technical science, allow a certain freedom by choosing an appropriate model. The well established Bouc-Wen (Bouc (1967), Wen (1976)) hysteresis model as well as its numerous differential extensions (see survey provided by Ismail et al. (2009)) appears to be particulary suitable for those purposes. The Bouc-Wen hysteresis model, which originated from the structural mechanics, uses a first-order non-linear differential equation that relates the relative displacement to the restoring force in a hysteretic way. At this, the shape of the displacement-force hysteresis is controlled by a compact set of free parameters to be determined in each particular case. Another advantage of a Bouc-Wen-like hysteresis modeling is the possibility to incorporate more complex nonlinear stiffness characteristics, as suggested by Ruderman et al. (2010) and shown in the following in more detail.

14 Will-be-set-by-IN-TECH

describes the well-known Stribeck effect. The velocity-dependent Stribeck map is upper bounded by the static friction (also called stiction) force *Fs* and low bounded by the Coulomb friction force. The exponential factors *Vs* and *δ* denote the Stribeck velocity and the Stribeck shape factor correspondingly. In Eq. (11), the attraction gain *B* determines how fast the overall friction force converges towards the steady-state. The attraction gain is additionally subject to the velocity magnitude. On the one hand, this is done in order to reduce the impact of the transient behavior in vicinity to zero velocity, at which the pre-sliding frictional mechanisms predominate. On the other hand, the velocity-dependent attraction gain ensures

Overall seven free parameters are required to describe the dynamic friction using 2SEP model, where five of them are already spent to support the standard Stribeck effect. Here, it is important to say that other dynamic friction models which capture the basic frictional phenomena can be applied in equal manner when describing the overall joint behavior. At this, the most significant aspects by the choice of a particular friction model are the ease of implementation, generality, as well as practicability in terms of the identification to be done

In the simplest case the robot joint stiffness can be represented by a linear function of the relative angular displacement across the joint transmission. This somehow archaic but still widely used and, in particular, robust approach relates the joint torque transmission to a classical spring behavior. Nevertheless, most compliant mechanical structures are well known to exhibit a kind of the hardening properties. That is an increasing relative displacement or better to say deflection of the transmitting elements causes an increase of the overall joint stiffness, and thus leads to higher torque rates. Hence, the joint stiffness which is the inverse compliance of all embedded transmitting elements appears as variable, depending on the ongoing joint load. In order to account for variable stiffness properties several manufacturers of gears and components as well as some works published by researchers suggest to use a piecewise linear stiffness approximation with multiple characteristical segments. An alternative to describe the variable stiffness characteristics is to use the polynomial functions

whose coefficients have to be fitted from the accurate laboratory measurements.

Since a nonlinear transmission spring is coupled with corresponding hysteresis effects as mentioned in Section 2.2 a suitable hysteresis map has to be also incorporated. A huge number of available hysteresis approaches (see e.g. Bertotti & Mayergoyz (2006)), originated from different domains of natural and technical science, allow a certain freedom by choosing an appropriate model. The well established Bouc-Wen (Bouc (1967), Wen (1976)) hysteresis model as well as its numerous differential extensions (see survey provided by Ismail et al. (2009)) appears to be particulary suitable for those purposes. The Bouc-Wen hysteresis model, which originated from the structural mechanics, uses a first-order non-linear differential equation that relates the relative displacement to the restoring force in a hysteretic way. At this, the shape of the displacement-force hysteresis is controlled by a compact set of free parameters to be determined in each particular case. Another advantage of a Bouc-Wen-like hysteresis modeling is the possibility to incorporate more complex nonlinear stiffness characteristics, as suggested by Ruderman et al. (2010) and shown in the following in

the steady-state convergence as |*w*| increases.

under the circumstances of a real operation mode.

**3.3 Nonlinear stiffness with hysteresis**

more detail.

The restoring torque arising in a hysteretic spring is subdivided into an elastic and plastic (irreversible) part related to each other by a weighting factor. When using the polynomials *k*1,..., *ki* for describing the characteristic stiffness curve the total restoring torque can be expressed as a superposition

$$\Gamma(\delta, \mathbf{x}) = \sum\_{i} \left( \mu \, k\_{i} \operatorname{sgn}(\delta) \, |\, \delta|^{i} + (1 - \mu) \, k\_{i} \operatorname{sgn}(\mathbf{x}) \, |\mathbf{x}|^{i} \right). \tag{16}$$

At this, the weighting coefficient 0 *< μ <* 1 provides a relationship between the purely elastic (*μ* = 1) and purely hysteretic, further also as plastic, (*μ* = 0) deflection. The dynamic state variable *x* which captures the elasto-plastic deflection, therefore responsible for arising hysteresis, is described by

$$\dot{\mathfrak{x}} = A \, \dot{\delta} - \beta \left| \dot{\delta} \right| \left| \mathfrak{x} \right|^{n-1} \mathfrak{x} - \gamma \, \dot{\delta} \left| \mathfrak{x} \right|^{n}. \tag{17}$$

The amplitude and shape of hysteresis are determined by the parameters *A*, *β*, and *γ*. The factor *n* ≥ 1 provides the smoothness of transition between an elastic and plastic response. For an interested reader a more extensive parameter analysis of Bouc-Wen-like differential

Fig. 9. Hysteretic restoring torque for purely elastic (a), elasto-plastic (b), and plastic (c) torsional deflection

hysteresis models can be found by Ma et al. (2004). In Fig. 9, an example of the restoring torque on a closed load-release cycle is shown dependent on the factor *μ*. At this, the residual model parameters have been held by the same values. It is evident that no hysteresis losses occur for *μ*=1, and the case represented in Fig. 9 (a) provides a simple nonlinear characteristic stiffness curve with hardening properties. Though the larger a plastic contribution to the overall restoring torque is the larger is the hysteresis area in Fig. 9 (b) and (c), and the larger is the corresponding structural damping acting in the joint transmission.

With respect to the joint structure derived in Section 3.1 the overall transmitted joint torque is given by

$$T = \Gamma(\delta) + D\,\dot{\delta} \,. \tag{18}$$

Note that the transmitted joint torque already includes the nominal gear ratio *N* captured by *δ*. When replacing the nonlinear function Γ(·) by a linear spring described by *Kδ* a simple joint transmission model with linear stiffness and damping can be achieved again. However, when accounting for hysteresis motion losses the use of a hysteresis stiffness map becomes indispensable and has to be included in the overall joint dynamics.

prestressed FRF exhibits a slight resonance increase due to the raised joint elasticity comparing to the bounded relaxed and the free FRF. At the same time, the high structural and frictional damping impedes the occurrence of significant resonances which could be related to the joint elasticities. The transfer from the joint torque *T*(*jω*) to the angular velocity *W*(*jω*) illustrates a backward propagation of reactive restoring torque coming from the joint load. The torque excitation is realized by an external shock applied mechanically to the load part of the joint. The *W*(*jω*)/*T*(*jω*) FRF coincides qualitatively with the *W*(*jω*)/*U*(*jω*) FRF of free motion

Modeling of Elastic Robot Joints with Nonlinear Damping and Hysteresis 309

Further, let us examine the identification of the joint actuator including the nonlinear friction and the total inertia of the motor and gear assembly. Using the available motor current and joint torque as the inputs and the angular actuator velocity as the output the identification problem can be easily solved in the least-squares sense. The system is excited by a down-chirp signal with 30–1 Hz frequency range. The measured and identified velocity response shown in Fig. 12 exhibits some resonant and anti-resonant phases related to the overall system

0 2 4 6 8 10 12 14 16 18 20

t (s)

Fig. 13. Measured and identified joint torque, (a) time series, (b) torsion-torque hysteresis

T (Nm)

−1 −0.5 <sup>0</sup> 0.5 <sup>1</sup> −40

δ (deg)

(b)

measurement model

In the similar manner, the nonlinear joint transmission can be identified using the joint torque and torsion measurements obtained from the same experiment. The time series of the measured and identified joint torque is depicted in Fig. 13 (a). It is easy to recognize that both curves coincide fairly well with each other, thus proving the transmission model to be capable of describing the dynamic joint behavior. Note that the visible discrepancies occur rather at low frequencies at *t >* 19 s. Here, the joint output vibrations which come from the non-smoothly moving load part influence the torque and angular measurements in a non-congruent way. The corresponding torsion-torque hysteresis depicted in Fig. 13 (b) confirms ditto a good agreement between the measured and modeled response, and that for a

Fig. 12. Measured and identified velocity response to the down-chirp excitation

despite a high level of process and measurement noise.

measurement model

dynamics.

−40 −20 0 20 40

large set of the nested hysteresis loops.

T (Nm)

<sup>0</sup> <sup>5</sup> <sup>10</sup> <sup>15</sup> <sup>20</sup> −40

t (s)

(a)

measurement model

w (rps)

### **4. Experimental case study**

In the following, let us analyze the experimental observations together with some exemplary identification results obtained on the laboratory setup of an elastic revolute joint. The deployed laboratory setup depicted in Fig. 10 has been designed and constructed at the Institute of Control Theory and Systems Engineering of Technical University Dortmund and is primarily intended for investigating the single joint behavior as well as for the control experiments. The testbed contains a standard BLDC motor with rated power 400 W and idling speed 3100 rpm. The servo drive is equipped by a 15-bit resolver and is energized by a PWM electronic unit with onboard current control loop of 11 kHz rate. Through a torsionally stiff

Fig. 10. Laboratory setup of elastic revolute joint

compensating coupling the servo drive is connected to the lightweight harmonic drive gear set (160:1) embedded in a rigid casting. On the output of gear transmission a high-precise absolute encoder with 20-bit resolution is mounted. Using the fixture with couplings a contactless torque cell is applied to measure the output torque for both bounded and free joint motion. Behind the torque measurement the output shaft is equipped with a mechanical interface in order to attach the link rod with adjustable additional weights. Note that the torsional deflection is determined as a difference between the output joint angle and input joint angle captured on the motor shaft.

Fig. 11. Frequency response functions measured at different excitation conditions

Before looking on the identification results let us analyze first the obtained frequency response functions (FRF)s of the joint actuator. Four FRFs depicted in Fig. 11 are measured at the different excitation conditions. The transfer from the input torque *U*(*jω*) to the angular velocity *W*(*jω*)is realized once for a free and once for a bounded motion for which the output joint shaft was locked. As a controlled input excitation the short impulse of 5 A amplitude and 1.5 ms duration is applied. The bounded motion response is obtained once for a relaxed and once for a prestressed joint state. The latter one means that before applying the input impulse the motor shaft was turned manually in the same motion direction until the elastic transmission becomes fully twisted but does not rotate back due to the friction. The bounded 16 Will-be-set-by-IN-TECH

In the following, let us analyze the experimental observations together with some exemplary identification results obtained on the laboratory setup of an elastic revolute joint. The deployed laboratory setup depicted in Fig. 10 has been designed and constructed at the Institute of Control Theory and Systems Engineering of Technical University Dortmund and is primarily intended for investigating the single joint behavior as well as for the control experiments. The testbed contains a standard BLDC motor with rated power 400 W and idling speed 3100 rpm. The servo drive is equipped by a 15-bit resolver and is energized by a PWM electronic unit with onboard current control loop of 11 kHz rate. Through a torsionally stiff

compensating coupling the servo drive is connected to the lightweight harmonic drive gear set (160:1) embedded in a rigid casting. On the output of gear transmission a high-precise absolute encoder with 20-bit resolution is mounted. Using the fixture with couplings a contactless torque cell is applied to measure the output torque for both bounded and free joint motion. Behind the torque measurement the output shaft is equipped with a mechanical interface in order to attach the link rod with adjustable additional weights. Note that the torsional deflection is determined as a difference between the output joint angle and input

<sup>101</sup> <sup>10</sup><sup>2</sup> 10−1

Fig. 11. Frequency response functions measured at different excitation conditions

ω (rad/s)

Before looking on the identification results let us analyze first the obtained frequency response functions (FRF)s of the joint actuator. Four FRFs depicted in Fig. 11 are measured at the different excitation conditions. The transfer from the input torque *U*(*jω*) to the angular velocity *W*(*jω*)is realized once for a free and once for a bounded motion for which the output joint shaft was locked. As a controlled input excitation the short impulse of 5 A amplitude and 1.5 ms duration is applied. The bounded motion response is obtained once for a relaxed and once for a prestressed joint state. The latter one means that before applying the input impulse the motor shaft was turned manually in the same motion direction until the elastic transmission becomes fully twisted but does not rotate back due to the friction. The bounded

W(jω)/U(jω) − free

W(jω)/U(jω) − bounded, prestressed W(jω)/U(jω) − bounded, relaxed W(jω)/T(jω) − free

BLDC motor

Fig. 10. Laboratory setup of elastic revolute joint

joint angle captured on the motor shaft.

100

Amplitude

101

Gear unit

Joint load

**4. Experimental case study**

prestressed FRF exhibits a slight resonance increase due to the raised joint elasticity comparing to the bounded relaxed and the free FRF. At the same time, the high structural and frictional damping impedes the occurrence of significant resonances which could be related to the joint elasticities. The transfer from the joint torque *T*(*jω*) to the angular velocity *W*(*jω*) illustrates a backward propagation of reactive restoring torque coming from the joint load. The torque excitation is realized by an external shock applied mechanically to the load part of the joint. The *W*(*jω*)/*T*(*jω*) FRF coincides qualitatively with the *W*(*jω*)/*U*(*jω*) FRF of free motion despite a high level of process and measurement noise.

Further, let us examine the identification of the joint actuator including the nonlinear friction and the total inertia of the motor and gear assembly. Using the available motor current and joint torque as the inputs and the angular actuator velocity as the output the identification problem can be easily solved in the least-squares sense. The system is excited by a down-chirp signal with 30–1 Hz frequency range. The measured and identified velocity response shown in Fig. 12 exhibits some resonant and anti-resonant phases related to the overall system dynamics.

Fig. 12. Measured and identified velocity response to the down-chirp excitation

In the similar manner, the nonlinear joint transmission can be identified using the joint torque and torsion measurements obtained from the same experiment. The time series of the measured and identified joint torque is depicted in Fig. 13 (a). It is easy to recognize that both curves coincide fairly well with each other, thus proving the transmission model to be capable of describing the dynamic joint behavior. Note that the visible discrepancies occur rather at low frequencies at *t >* 19 s. Here, the joint output vibrations which come from the non-smoothly moving load part influence the torque and angular measurements in a non-congruent way. The corresponding torsion-torque hysteresis depicted in Fig. 13 (b) confirms ditto a good agreement between the measured and modeled response, and that for a large set of the nested hysteresis loops.

Fig. 13. Measured and identified joint torque, (a) time series, (b) torsion-torque hysteresis

Armstrong-Helouvry, B., Dupont, P. & de Wit, C. C. (1994). A survey of modeling, analysis

Modeling of Elastic Robot Joints with Nonlinear Damping and Hysteresis 311

Bertotti, G. & Mayergoyz, I. D. (2006). *The Science of Hysteresis 1–3*, first edn, Academic Press. Bona, B. & Indri, M. (2005). Friction compensation in robotics: an overview, *Proc. 44th IEEE*

Bouc, R. (1967). Forced vibration of mechanical systems with hysteresis, *Proc. 4th Conference*

De Wit, C. C. & Praly, L. (2000). Adaptive eccentricity compensation, *IEEE Transactions on*

Dhaouadi, R., Ghorbel, F. H. & Gandhi, P. S. (2003). A new dynamic model of hysteresis in harmonic drives, *IEEE Transactions on Industrial Electronics* 50(6): 1165–1171. Ferretti, G., Magnani, G. & Rocco, P. (2004). Impedance control for elastic joints industrial manipulators, *IEEE Transactions on Robotics and Automation* 20(3): 488–498. Ismail, M., Ikhouane, F. & Rodellar, J. (2009). The hysteresis Bouc-Wen model, a survey,

Ma, F., Zhang, H., Bockstedte, A., Foliente, G. C. & Paevere, P. (2004). Parameter analysis of

Ott, C., Albu-Schaeffer, A., Kugi, A. & Hirzinger, G. (2008). On the passivity-based impedance control of flexible joint robots, *IEEE Transactions on Robotics* 24(2): 416–429. Ruderman, M. & Bertram, T. (2010). Friction model with elasto-plasticity for advanced

Ruderman, M. & Bertram, T. (2011a). FRF based identification of dynamic friction using

Ruderman, M. & Bertram, T. (2011b). Modified Maxwell-slip model of presliding friction,

Ruderman, M., Bertram, T. & Aranovskiy, S. (2010). Nonlinear dynamic of actuators with

Ruderman, M., Hoffmann, F. & Bertram, T. (2009). Modeling and identification of elastic

Sciavicco, L. & Siciliano, B. (2000). *Modelling and Control of Robot Manipulators*, second edn,

Spong, M. W. (1987). Modeling and control of elastic joint robots, *Journal of Dynamic Systems,*

Taghirad, H. D. & Bélanger, P. R. (1998). Modeling and parameter identification of harmonic

Thummel, M., Otter, M. & Bals, J. (2005). Vibration control of elastic joint robots by inverse

Tjahjowidodo, T., Al-Bender, F. & Brussel, H. V. (2006). Nonlinear modelling and identification

dynamics models, *Solid Mechanics and its Applications* 130: 343–354.

*Vibration Engineering (ISMA2006)*, Leuven, Belgium, pp. 2785–2796.

drive systems, *Journal of Dynamic Systems, Measurement, and Control* 120(4): 439–444.

of torsional behaviour in Harmonic Drives, *Proc. International Conference on Noise and*

the differential model of hysteresis, *ASME Journal of Applied Mechanics* 71(3): 342–349.

control applications, *Proc. IEEE/ASME International Conference on Advanced Intelligent*

two-state friction model with elasto-plasticity, *Proc. IEEE International Conference on*

elasticities and friction, *Proc. IFAC 5th Symposium on Mechatronic Systems*, MA, USA,

robot joints with hysteresis and backlash, *IEEE Transactions on Industrial Electronics*

*Archives of Computational Methods in Engineering* 16(2): 161–188.

*Mechatronics (AIM2010)*, Montreal, Canada, pp. 914–919.

*Mechatronics (ICM 2011)*, Istanbul, Turkey, pp. 230–235.

*Proc. 18th IFAC World Congress*, Milan, Italy, pp. 10764–10769.

*on Nonlinear Oscillations*, Prague, Czechoslovakia.

*Control Systems Technology* 8(5): 757–766.

30: 1083–1138.

pp. 4360–4367.

pp. 255–260.

56(10): 3840–3847.

Springer, Berlin, Germany.

*Measurement, and Control* 109(4): 310–319.

tools and compensation methods for the control of machines with friction, *Automatica*

*Conference on Decision and Control, and the European Control Conferenc*, Seville, Spain,

Finally, the diagrams provided in Fig. 14 visualize some identification results related to the joint load. The gravity term can be determined in a quite simple way using the quasi-static motion experiments. The joint link is driven slowly across the overall operation space by using the lowest possible constant input torque. The obtained measurements of the joint torque and output angular position are used to fit the gravity as shown in Fig. 14 (a). The measured and predicted velocity response of the identified joint load is shown in Fig. 14 (b) for the applied step excitation. The peak velocity of about 60 deg/s is in the upper operation range of the experimental joint setup. A substantial velocity decrease occurs due to an increasing impact of gravity. Note that the depicted (measured) joint torque constitutes the total torque balance behind the gear affected simultaneously by the transmitted actuator torque and reactive torque of the joint load. A clearly visible oscillation pattern indicates the impact of the output joint shaft and link vibrations.

Fig. 14. Measured and identified gravity torque (a), measured and predicted velocity response of the joint load together with the measured applied and transmitted torque (b)

### **5. Conclusions**

The presented methodology aims for analyzing and modeling the behavior of elastic robot joints with nonlinearities such as hysteresis and friction which affect the stiffness and damping characteristics. Independent of the rigid or elastic joint consideration a general topology of revolute robot joints has been demonstrated as a starting position for a subsequent, more detailed system modeling. The defined forward and feedback paths allow to decompose the robot joint into the close physical subsystems with appropriate eigenbehavior. This permits to cut free the entire joint, and to analyze and identify its subsystems stand-alone, under the terms of fully or partially measurable states. For a large class of rotary joint transmissions a sophisticated but nevertheless manageable model has been proposed. In addition to numerical examples an experimental case study has been shown to prove the proposed methods.

### **6. References**


18 Will-be-set-by-IN-TECH

Finally, the diagrams provided in Fig. 14 visualize some identification results related to the joint load. The gravity term can be determined in a quite simple way using the quasi-static motion experiments. The joint link is driven slowly across the overall operation space by using the lowest possible constant input torque. The obtained measurements of the joint torque and output angular position are used to fit the gravity as shown in Fig. 14 (a). The measured and predicted velocity response of the identified joint load is shown in Fig. 14 (b) for the applied step excitation. The peak velocity of about 60 deg/s is in the upper operation range of the experimental joint setup. A substantial velocity decrease occurs due to an increasing impact of gravity. Note that the depicted (measured) joint torque constitutes the total torque balance behind the gear affected simultaneously by the transmitted actuator torque and reactive torque of the joint load. A clearly visible oscillation pattern indicates the

0 1 2 3 4 5

t (s)

(b)

measured vel. predicted vel. joint torque input torque

dθ/dt (deg/s); T, u (Nm)

Fig. 14. Measured and identified gravity torque (a), measured and predicted velocity response of the joint load together with the measured applied and transmitted torque (b)

The presented methodology aims for analyzing and modeling the behavior of elastic robot joints with nonlinearities such as hysteresis and friction which affect the stiffness and damping characteristics. Independent of the rigid or elastic joint consideration a general topology of revolute robot joints has been demonstrated as a starting position for a subsequent, more detailed system modeling. The defined forward and feedback paths allow to decompose the robot joint into the close physical subsystems with appropriate eigenbehavior. This permits to cut free the entire joint, and to analyze and identify its subsystems stand-alone, under the terms of fully or partially measurable states. For a large class of rotary joint transmissions a sophisticated but nevertheless manageable model has been proposed. In addition to numerical examples an experimental case study has been shown to prove the

Al-Bender, F. & Swevers, J. (2008). Characterization of friction force dynamics, *IEEE Control*

Albu-Schaffer, A., Eiberger, O., Grebenstein, M., Haddadin, S., Ott, C., Wimbock, T., Wolf, S.

Armstrong-Helouvry, B. & Chen, Q. (2008). The Z-properties chart, *IEEE Control Systems*

& Hirzinger, G. (2008). Soft robotics, *IEEE Robotics Automation Magazine* 15(3): 20–30.

impact of the output joint shaft and link vibrations.

measurement model

*Systems Magazine* 28(6): 64–81.

*Magazine* 28(5): 79–89.

−180 −135 −90 −45 0 45 90 135

(a)

θ (deg)

−15 −10 −5 0 5 10 15

**5. Conclusions**

proposed methods.

**6. References**

G (Nm)


**0**

**16**

*USA*

**Gravity-Independent Locomotion: Dynamics**

In recent years, the scientific community has had an increased interest in exploring the asteroids of the solar system (JAXA/ISAS, 2003; JHU/APL, 1996; NASA/JPL, 2007). Technological advances have enabled mankind for the first time to take a closer look at these small solar system objects through sensors and instruments of robotic deep space probes. However, most of these space probe missions have focused on the reconnaissance of the asteroids' surfaces and their compositional analysis from a distance. Little attention has been given to locomotion on their surfaces with a mobile robotic system, due to the challenging

In small bodies like asteroids, the gravitational fields are substantially weaker than those of Earth or Mars, therefore the likelihood of a robot's unintentional collision with the surface while attempting a movement is substantially higher. In one of the latest missions, the Japanese Hayabusa spacecraft carried onboard a small robot named MINERVA (Yoshimitsu et al., 2001) to be deployed and used to explore the asteroid surface. The robot was designed with a single reaction wheel, located inside of it, to produce the necessary inertial reaction to move. But with this system the location of the robot when the motion is damped out is very challenging to predict or control. Subsequently, in order to maximize the scientific return from any given mission on an asteroid's surface, future missions must have the ability to conduct

In the robotics field, limbed locomotion is broadly recognized as superior in its capability to traverse terrains with irregularities such as obstacles, cliffs and slants. Exotic types of wheeled rovers (Bares et al., 1999; Wilcox & Jones, 2000) can only drive over obstacles of heights that are at best a fraction of the vehicle's body length. Thus, some terrains are not accessible to wheeled vehicles. Conversely, legged or limbed locomotion has the possibility to provoke minimum reactions on the asteroid surface that could push the robot with sufficient force to reach escape velocity and drift into space. It also facilitates achievement of desired goal configurations that deal with new complex situations, ensuring that a robot's behavior does

In this chapter, the focus is on gravity-independent locomotion approaches, technologies and challenges of robotic mobility on asteroids. Recommendations and methods to perform

gravity conditions found in these small solar system bodies.

stable mobility and accurate positioning on the rough terrain.

not deviate from a stable condition.

**1. Introduction**

**and Position-Based Control of Robots**

**on Asteroid Surfaces**

<sup>1</sup>*Singularity University*

Marco Chacin1 and Edward Tunstel2

<sup>2</sup>*John Hopkins University Applied Physics Laboratory*


## **Gravity-Independent Locomotion: Dynamics and Position-Based Control of Robots on Asteroid Surfaces**

Marco Chacin1 and Edward Tunstel2 <sup>1</sup>*Singularity University* <sup>2</sup>*John Hopkins University Applied Physics Laboratory USA*

### **1. Introduction**

20 Will-be-set-by-IN-TECH

312 Robotic Systems – Applications, Control and Programming

Wen, Y. K. (1976). Method for random vibration of hysteretic systems, *ASCE Journal of the*

Zollo, L., Siciliano, B., Luca, A. D., Guglielmelli, E. & Dario, P. (2005). Compliance control

for an anthropomorphic robot with elastic joints: Theory and experiments, *Journal of*

*Engineering Mechanics Division* 102(2): 249–263.

*Dynamic Systems, Measurement, and Control* 127(3): 321–328.

In recent years, the scientific community has had an increased interest in exploring the asteroids of the solar system (JAXA/ISAS, 2003; JHU/APL, 1996; NASA/JPL, 2007). Technological advances have enabled mankind for the first time to take a closer look at these small solar system objects through sensors and instruments of robotic deep space probes. However, most of these space probe missions have focused on the reconnaissance of the asteroids' surfaces and their compositional analysis from a distance. Little attention has been given to locomotion on their surfaces with a mobile robotic system, due to the challenging gravity conditions found in these small solar system bodies.

In small bodies like asteroids, the gravitational fields are substantially weaker than those of Earth or Mars, therefore the likelihood of a robot's unintentional collision with the surface while attempting a movement is substantially higher. In one of the latest missions, the Japanese Hayabusa spacecraft carried onboard a small robot named MINERVA (Yoshimitsu et al., 2001) to be deployed and used to explore the asteroid surface. The robot was designed with a single reaction wheel, located inside of it, to produce the necessary inertial reaction to move. But with this system the location of the robot when the motion is damped out is very challenging to predict or control. Subsequently, in order to maximize the scientific return from any given mission on an asteroid's surface, future missions must have the ability to conduct stable mobility and accurate positioning on the rough terrain.

In the robotics field, limbed locomotion is broadly recognized as superior in its capability to traverse terrains with irregularities such as obstacles, cliffs and slants. Exotic types of wheeled rovers (Bares et al., 1999; Wilcox & Jones, 2000) can only drive over obstacles of heights that are at best a fraction of the vehicle's body length. Thus, some terrains are not accessible to wheeled vehicles. Conversely, legged or limbed locomotion has the possibility to provoke minimum reactions on the asteroid surface that could push the robot with sufficient force to reach escape velocity and drift into space. It also facilitates achievement of desired goal configurations that deal with new complex situations, ensuring that a robot's behavior does not deviate from a stable condition.

In this chapter, the focus is on gravity-independent locomotion approaches, technologies and challenges of robotic mobility on asteroids. Recommendations and methods to perform

any scientific return from a mission operating on an asteroid, movement on the surface would require a closer look at stability control against the forces interacting between bodies in a

<sup>315</sup> Gravity-Independent Locomotion:

The following section presents recent developments in robotics which may pose the most

Weak gravitational fields (micro-g to milli-g) characteristic of asteroids make it difficult to achieve normal forces usually required for stable surface locomotion. Various approaches to

Although all rovers sent to other planetary surfaces have been wheeled vehicles, wheels are not an obvious solution for asteroid surface mobility. However, at least one study has suggested wheels to be viable in certain cases for rovers with mass less than one kilogram. Baumgartner et al (Baumgartner et al., 1998) reported that the analysis of whether adequate tractive forces can be achieved for rolling mobility depends on the wheel-terrain interaction model employed. Traction sufficient for a small rover to traverse at a rate of 1 cm/sec was shown to be feasible via dynamic simulations revealing traction losses at the beginning of traverses. The simulations separately considered Coulomb friction alone and a combined

Behar conducted computer-based dynamic simulation studies of hopping and wheeled vehicles concluding that both types have limited use for asteroid mobility (Behar et al., 1997). Hopping robots were deemed to be of limited utility due to complexity of both thruster control for accurate maneuvers and robot pose estimation. Wheeled robot utility was viewed as limited due to difficulty maintaining wheels on the surface when undesired surface reactions led to long periods of ballistic floating before touching down. To mitigate difficulties of maintaining wheel contact with asteroid terrain, Behar proposed a colony of small robots that would traverse asteroid surfaces while connected to a common physical net that was anchored to the asteroid. Robots connected to the anchored net would use wheeled locomotion to traverse along dedicated strands of the net. Another variation on rolling locomotion for asteroid mobility was proposed by Hokamoto and Ochi (Hokamoto & Ochi, 2001) based on a vehicle with a dodecahedron shape and 12 individually actuated prismatic leg joints oriented

When complexities associated with accurate 3-axis thruster-based maneuvers are avoided and replaced by simpler propulsion mechanisms, ballistic hopping is perhaps the simplest means of mobility for reaching discrete patches of asteroid terrain. The aforementioned MINERVA vehicle was the only asteroid hopping rover fully developed for a space flight mission thus far. It was a 600 g vehicle designed for several asteroid days of autonomous operation involving ballistic hopping with variable hop speed and some control of hop direction depending on its attitude on the surface (Yoshimitsu et al., 2001). Other designs are in development or have been proposed as viable concepts. A 1.3 kg wheeled rover, at one time considered a payload for the Hayabusa mission on which MINERVA flew (Kawaguchi et al., 2003; Wilcox, 2000), was proposed with a novel mobility mechanism that also enables ballistic hopping. It further offered a capability to self-right in response to inevitable tumbling during landing from a hop

feasible solutions to asteroid surface exploration challenges.

Dynamics and Position-Based Control of Robots on Asteroid Surfaces

mobility in weak gravity domains of asteroids are discussed below.

radially around the body to provide intermittent walking and rolling.

or while traversing the surface at 1.5 mm/sec in low gravity (Tunstel, 1999).

microgravity environment.

**3. Mobility in microgravity**

**3.1 Rolling and hopping locomotion**

Coulomb friction and adhesive force model.

Fig. 1. Mosaic of Eros ©Applied Physics Lab/JHU and Asteroid 25143 Itokawa ©JAXA/ISAS

compliant motions during operations by a surface robot under microgravity conditions are presented. Taking into account the contact dynamics and the reaction force from its environment, a control scheme enables a limbed robot to move using the natural features of the environment and the friction of the surface for forward progress in any direction having contact only with the limbs' end tips.

## **2. Asteroid exploration**

Orbiting between 2.1 to 3.2 AU1 from the sun, primitive asteroids in the main asteroid belt represent key bodies to research on the early planetary system origin and evolution. Asteroids could provide clues about the birth and growth of our planetary system, but without any in-situ observation, we are not able to link measurements of asteroid material with a corresponding catalog of meteorite groups on Earth. The in-situ study of asteroids can lead to important scientific findings in the effort to map the main asteroid belt. Mapping the belt by spectral classes and knowledge about which region on Earth the meteorites have landed can provide key clues about the origin and evolution of our solar system, even including the geological history of our planet Earth (Fujiwara et al., 2006).

Asteroids' physical characteristics provide a very hostile environment distinguished by the absence of (almost any) gravity. The effects of the microgravity environment can be approximated for convenience as those on order of 10−<sup>6</sup> *g* (Scheeres, 2004) (where *g* is the acceleration due to gravity on Earth). In such an environment, objects basically do not fall, but remain orbiting unless they reach the low escape velocity of the asteroid on order of 20 cm/s (Scheeres, 2004), as in the case of the asteroid 25143 Itokawa (Fig. 1, right). To attain stable mobility on these bodies, it is critical to consider the interaction forces between a robot and the asteroid's surface in such microgravity environments.

Relatively little attention from planetary scientists and planetary robotics engineers has been focused on surface mobility on asteroids. As a result, there exists some risk that premature conclusions about the feasibility of stable mobility on asteroid surfaces may be drawn without thorough consideration of all possible alternatives. However, it is clear that in order to increase

<sup>1</sup> AU stands for astronomical unit and is based on the mean distance from Earth to the Sun, 1.5×*108* [km].

any scientific return from a mission operating on an asteroid, movement on the surface would require a closer look at stability control against the forces interacting between bodies in a microgravity environment.

The following section presents recent developments in robotics which may pose the most feasible solutions to asteroid surface exploration challenges.

## **3. Mobility in microgravity**

2 Will-be-set-by-IN-TECH

Fig. 1. Mosaic of Eros ©Applied Physics Lab/JHU and Asteroid 25143 Itokawa ©JAXA/ISAS

compliant motions during operations by a surface robot under microgravity conditions are presented. Taking into account the contact dynamics and the reaction force from its environment, a control scheme enables a limbed robot to move using the natural features of the environment and the friction of the surface for forward progress in any direction having

Orbiting between 2.1 to 3.2 AU1 from the sun, primitive asteroids in the main asteroid belt represent key bodies to research on the early planetary system origin and evolution. Asteroids could provide clues about the birth and growth of our planetary system, but without any in-situ observation, we are not able to link measurements of asteroid material with a corresponding catalog of meteorite groups on Earth. The in-situ study of asteroids can lead to important scientific findings in the effort to map the main asteroid belt. Mapping the belt by spectral classes and knowledge about which region on Earth the meteorites have landed can provide key clues about the origin and evolution of our solar system, even including the

Asteroids' physical characteristics provide a very hostile environment distinguished by the absence of (almost any) gravity. The effects of the microgravity environment can be approximated for convenience as those on order of 10−<sup>6</sup> *g* (Scheeres, 2004) (where *g* is the acceleration due to gravity on Earth). In such an environment, objects basically do not fall, but remain orbiting unless they reach the low escape velocity of the asteroid on order of 20 cm/s (Scheeres, 2004), as in the case of the asteroid 25143 Itokawa (Fig. 1, right). To attain stable mobility on these bodies, it is critical to consider the interaction forces between a robot

Relatively little attention from planetary scientists and planetary robotics engineers has been focused on surface mobility on asteroids. As a result, there exists some risk that premature conclusions about the feasibility of stable mobility on asteroid surfaces may be drawn without thorough consideration of all possible alternatives. However, it is clear that in order to increase

<sup>1</sup> AU stands for astronomical unit and is based on the mean distance from Earth to the Sun, 1.5×*108* [km].

contact only with the limbs' end tips.

geological history of our planet Earth (Fujiwara et al., 2006).

and the asteroid's surface in such microgravity environments.

**2. Asteroid exploration**

Weak gravitational fields (micro-g to milli-g) characteristic of asteroids make it difficult to achieve normal forces usually required for stable surface locomotion. Various approaches to mobility in weak gravity domains of asteroids are discussed below.

## **3.1 Rolling and hopping locomotion**

Although all rovers sent to other planetary surfaces have been wheeled vehicles, wheels are not an obvious solution for asteroid surface mobility. However, at least one study has suggested wheels to be viable in certain cases for rovers with mass less than one kilogram. Baumgartner et al (Baumgartner et al., 1998) reported that the analysis of whether adequate tractive forces can be achieved for rolling mobility depends on the wheel-terrain interaction model employed. Traction sufficient for a small rover to traverse at a rate of 1 cm/sec was shown to be feasible via dynamic simulations revealing traction losses at the beginning of traverses. The simulations separately considered Coulomb friction alone and a combined Coulomb friction and adhesive force model.

Behar conducted computer-based dynamic simulation studies of hopping and wheeled vehicles concluding that both types have limited use for asteroid mobility (Behar et al., 1997). Hopping robots were deemed to be of limited utility due to complexity of both thruster control for accurate maneuvers and robot pose estimation. Wheeled robot utility was viewed as limited due to difficulty maintaining wheels on the surface when undesired surface reactions led to long periods of ballistic floating before touching down. To mitigate difficulties of maintaining wheel contact with asteroid terrain, Behar proposed a colony of small robots that would traverse asteroid surfaces while connected to a common physical net that was anchored to the asteroid. Robots connected to the anchored net would use wheeled locomotion to traverse along dedicated strands of the net. Another variation on rolling locomotion for asteroid mobility was proposed by Hokamoto and Ochi (Hokamoto & Ochi, 2001) based on a vehicle with a dodecahedron shape and 12 individually actuated prismatic leg joints oriented radially around the body to provide intermittent walking and rolling.

When complexities associated with accurate 3-axis thruster-based maneuvers are avoided and replaced by simpler propulsion mechanisms, ballistic hopping is perhaps the simplest means of mobility for reaching discrete patches of asteroid terrain. The aforementioned MINERVA vehicle was the only asteroid hopping rover fully developed for a space flight mission thus far. It was a 600 g vehicle designed for several asteroid days of autonomous operation involving ballistic hopping with variable hop speed and some control of hop direction depending on its attitude on the surface (Yoshimitsu et al., 2001). Other designs are in development or have been proposed as viable concepts. A 1.3 kg wheeled rover, at one time considered a payload for the Hayabusa mission on which MINERVA flew (Kawaguchi et al., 2003; Wilcox, 2000), was proposed with a novel mobility mechanism that also enables ballistic hopping. It further offered a capability to self-right in response to inevitable tumbling during landing from a hop or while traversing the surface at 1.5 mm/sec in low gravity (Tunstel, 1999).

contact while crawling or climbing based on examples of technology proposed for space and

<sup>317</sup> Gravity-Independent Locomotion:

Dry adhesive and electrostatic adhesion approaches that permit walking or climbing robotic systems to stick to natural surfaces hold promise for gravity-independent locomotion. An example is the Automated Walking Inspection and Maintenance Robot (AWIMR), a concept intended for operation on the exterior of crewed space vehicles or structures in space rather than on planet or asteroid surfaces (Wagner & Lane, 2007). The AWIMR engineers established the feasibility of walking on such surfaces with the aid of prototype sticky feet, inspired by gecko feet, using dry adhesive polydimethylsiloxane for adhesion. The robot's sticky feet could walk on any clean, non-fragile surface (of the types found on space vehicle exteriors) and required a certain pull-off force. The AWIMR project also tested electrostatic means of sticking to surfaces, finding that greater shear forces were possible and that 2-3 kV was

Bombardelli (Bombardelli et al., 2007) proposed artificial dry adhesives inspired by geckos and spiders for securing ballistically delivered microprobes to asteroid surfaces upon landing. The preliminary study suggests that multilevel conformal adhesive structures may be key to the performance of the microprobe attachment system for unknown asteroid terrain. The concept is motivated by the successful fabrication of several engineering prototypes of artificial reusable gecko adhesives. It is reported that the strongest such dry adhesive was recently fabricated using bundles of carbon nanotubes exhibiting four times the stickiness of natural gecko foot hairs (Bombardelli et al., 2007; Ge et al., 2007). Some researchers have found carbon nanotubes to be intrinsically brittle but express confidence in their near-term

Among the desirable characteristics of synthetic, gecko-like dry adhesion for enabling asteroid traversal by rovers is its effectiveness on many surface types (as its functional basis is van der Waals forces), its effectiveness in the vacuum of space, the fact that no additional energy is required to maintain an established grip on a surface, and their potential for mimicking the self-cleaning or dust resistant property of natural gecko footpads (Menon et al., 2007; Silva & Tenreiro, 2008). The applicability of this technology for space and planetary robotic vehicles that would walk or climb on in-space structures and terrestrial surfaces is highlighted in (Menon et al., 2007). What could be considered early phases of suitable asteroid robot designs are briefly described in that work. We next discuss examples of technologies that offer mechanical means for gripping with robot limbs or momentarily anchoring robot limbs

Limbed approaches employing gripping end-effectors as feet/hands can enable walking/climbing locomotion while maintaining contact with asteroid surfaces. The ability to grapple onto surfaces is key to gravity-independent locomotion allowing mobility in any orientation including steeply sloped natural terrain and upside down. Such "grapple-motion" capability enables natural surface traversal by clawing into regolith or

During the past decade, prototypes of such limbed systems have been under development for planetary mobility and more recently focused on the problem of climbing steep terrain on Mars. A representative example of the state of the art for such applications is an 8 kg

forming grasping configurations against rough, hard surfaces of high friction.

planetary rovers.

to natural surfaces.

**3.2.3 Limbs with gripping end-effectors**

**3.2.2 Enabling adhesion technologies**

suitable for locomotion in this case (Wagner & Lane, 2007).

Dynamics and Position-Based Control of Robots on Asteroid Surfaces

robustness for climbing robots (Menon et al., 2007).

Another hopping vehicle intended for asteroids is the Asteroid Surface Probe (Cottingham et al., 2009), an 8 kg battery-powered (100 hours) spherical body of 30 cm diameter that uses thrusters to hop. When stationary, the sphere opens up using 3 petals to expose a science instrument payload. The petals also provide the means to self-right the probe (Ebbets et al., 2007). Similar, in principle, is a 12 kg thruster-propelled ballistic free-flyer concept designed by the German Aerospace Center (DLR) as part of a European Space Agency study (Richter, 1998). Other hopping robots proposed for asteroid exploration include a pyramid-shaped, 533 g prototype with four single degree-of freedom (DOF) flippers at its base to enable hopping plus a lever arm for self-righting (Yoshida, 1999), and a spherical 1 kg robot with internal iron ball actuated by electro-magnets to induce hopping (Nakamura et al., 2000).

A recent study concluded that wheeled and hopping locomotion modes in low gravity are comparable in locomotion speed (Kubota et al., 2009). The study considered ideal conditions (e.g., flat terrain and no loss of contact between wheels and terrain). A similar conclusion regarding energy consumption was reached in a comparative study of wheeled and hopping rovers for Mars gravity (Schell et al., 2001).

### **3.2 Locomotion by crawling and climbing**

Nature offers many existence proofs, in the form of animals and insects, for solutions capable of traversing rough terrain against forces of gravity. Limbed locomotion solutions are common among alternatives that could enable crawling or climbing to achieve viable mobility across asteroid surfaces.

Certain limbed mobility solutions for planetary rovers received limited consideration in the past for reasons of lower efficiency as compared to wheeled systems. Related arguments are less persuasive when dealing with the microgravity environment encountered on asteroids. The same holds when considering mobility on planetary surfaces of extreme topography that are impossible to access using conventional wheeled systems. On asteroids, a means to cling to the surface (Yoshida et al., 2002) would offer a critical capability for controlled motion and fine positioning. Limbs can also be beneficial as an active suspension that damps and prevents "bouncing" during traverse or upon landing after a hop. Crawling/climbing locomotion approaches without the use of limbs may also have merit for the asteroid domain. Such "limbless" approaches are briefly discussed below followed by promising technologies and concepts for clinging and gripping to surfaces.

### **3.2.1 Limbless crawling**

A significant volume of engineering literature exists on research advances for snake-like or serpentine robots. A recent survey is provided in (Transeth et al., 2009). Robots have been developed to execute a variety of locomotion gaits inspired by snakes. Among them, the side-winding gait is perhaps best suited for effective locomotion under low surface friction conditions (Dalilsafaei, 2007) and especially effective for traversal of loose or slippery terrain (Hatton & Choset, 2010). The latest technologies for implementing side-winding gaits may provide viable solutions to local locomotion on asteroid surfaces. Relying largely on lateral friction forces, side-winding seems promising as a means to maintain surface contact but, in lieu of limbed mechanisms, may require additional means to adhere to the surface. Technologies such as dry adhesion are advancing for robotics applications in combination with mechanisms for climbing. Similar technologies can enhance the capability of a robotic side-winding mechanism. Discussed next are adhesive means of achieving secure surface contact while crawling or climbing based on examples of technology proposed for space and planetary rovers.

## **3.2.2 Enabling adhesion technologies**

4 Will-be-set-by-IN-TECH

Another hopping vehicle intended for asteroids is the Asteroid Surface Probe (Cottingham et al., 2009), an 8 kg battery-powered (100 hours) spherical body of 30 cm diameter that uses thrusters to hop. When stationary, the sphere opens up using 3 petals to expose a science instrument payload. The petals also provide the means to self-right the probe (Ebbets et al., 2007). Similar, in principle, is a 12 kg thruster-propelled ballistic free-flyer concept designed by the German Aerospace Center (DLR) as part of a European Space Agency study (Richter, 1998). Other hopping robots proposed for asteroid exploration include a pyramid-shaped, 533 g prototype with four single degree-of freedom (DOF) flippers at its base to enable hopping plus a lever arm for self-righting (Yoshida, 1999), and a spherical 1 kg robot with internal iron

A recent study concluded that wheeled and hopping locomotion modes in low gravity are comparable in locomotion speed (Kubota et al., 2009). The study considered ideal conditions (e.g., flat terrain and no loss of contact between wheels and terrain). A similar conclusion regarding energy consumption was reached in a comparative study of wheeled and hopping

Nature offers many existence proofs, in the form of animals and insects, for solutions capable of traversing rough terrain against forces of gravity. Limbed locomotion solutions are common among alternatives that could enable crawling or climbing to achieve viable mobility across

Certain limbed mobility solutions for planetary rovers received limited consideration in the past for reasons of lower efficiency as compared to wheeled systems. Related arguments are less persuasive when dealing with the microgravity environment encountered on asteroids. The same holds when considering mobility on planetary surfaces of extreme topography that are impossible to access using conventional wheeled systems. On asteroids, a means to cling to the surface (Yoshida et al., 2002) would offer a critical capability for controlled motion and fine positioning. Limbs can also be beneficial as an active suspension that damps and prevents "bouncing" during traverse or upon landing after a hop. Crawling/climbing locomotion approaches without the use of limbs may also have merit for the asteroid domain. Such "limbless" approaches are briefly discussed below followed by promising technologies and

A significant volume of engineering literature exists on research advances for snake-like or serpentine robots. A recent survey is provided in (Transeth et al., 2009). Robots have been developed to execute a variety of locomotion gaits inspired by snakes. Among them, the side-winding gait is perhaps best suited for effective locomotion under low surface friction conditions (Dalilsafaei, 2007) and especially effective for traversal of loose or slippery terrain (Hatton & Choset, 2010). The latest technologies for implementing side-winding gaits may provide viable solutions to local locomotion on asteroid surfaces. Relying largely on lateral friction forces, side-winding seems promising as a means to maintain surface contact but, in lieu of limbed mechanisms, may require additional means to adhere to the surface. Technologies such as dry adhesion are advancing for robotics applications in combination with mechanisms for climbing. Similar technologies can enhance the capability of a robotic side-winding mechanism. Discussed next are adhesive means of achieving secure surface

ball actuated by electro-magnets to induce hopping (Nakamura et al., 2000).

rovers for Mars gravity (Schell et al., 2001).

**3.2 Locomotion by crawling and climbing**

concepts for clinging and gripping to surfaces.

asteroid surfaces.

**3.2.1 Limbless crawling**

Dry adhesive and electrostatic adhesion approaches that permit walking or climbing robotic systems to stick to natural surfaces hold promise for gravity-independent locomotion. An example is the Automated Walking Inspection and Maintenance Robot (AWIMR), a concept intended for operation on the exterior of crewed space vehicles or structures in space rather than on planet or asteroid surfaces (Wagner & Lane, 2007). The AWIMR engineers established the feasibility of walking on such surfaces with the aid of prototype sticky feet, inspired by gecko feet, using dry adhesive polydimethylsiloxane for adhesion. The robot's sticky feet could walk on any clean, non-fragile surface (of the types found on space vehicle exteriors) and required a certain pull-off force. The AWIMR project also tested electrostatic means of sticking to surfaces, finding that greater shear forces were possible and that 2-3 kV was suitable for locomotion in this case (Wagner & Lane, 2007).

Bombardelli (Bombardelli et al., 2007) proposed artificial dry adhesives inspired by geckos and spiders for securing ballistically delivered microprobes to asteroid surfaces upon landing. The preliminary study suggests that multilevel conformal adhesive structures may be key to the performance of the microprobe attachment system for unknown asteroid terrain. The concept is motivated by the successful fabrication of several engineering prototypes of artificial reusable gecko adhesives. It is reported that the strongest such dry adhesive was recently fabricated using bundles of carbon nanotubes exhibiting four times the stickiness of natural gecko foot hairs (Bombardelli et al., 2007; Ge et al., 2007). Some researchers have found carbon nanotubes to be intrinsically brittle but express confidence in their near-term robustness for climbing robots (Menon et al., 2007).

Among the desirable characteristics of synthetic, gecko-like dry adhesion for enabling asteroid traversal by rovers is its effectiveness on many surface types (as its functional basis is van der Waals forces), its effectiveness in the vacuum of space, the fact that no additional energy is required to maintain an established grip on a surface, and their potential for mimicking the self-cleaning or dust resistant property of natural gecko footpads (Menon et al., 2007; Silva & Tenreiro, 2008). The applicability of this technology for space and planetary robotic vehicles that would walk or climb on in-space structures and terrestrial surfaces is highlighted in (Menon et al., 2007). What could be considered early phases of suitable asteroid robot designs are briefly described in that work. We next discuss examples of technologies that offer mechanical means for gripping with robot limbs or momentarily anchoring robot limbs to natural surfaces.

### **3.2.3 Limbs with gripping end-effectors**

Limbed approaches employing gripping end-effectors as feet/hands can enable walking/climbing locomotion while maintaining contact with asteroid surfaces. The ability to grapple onto surfaces is key to gravity-independent locomotion allowing mobility in any orientation including steeply sloped natural terrain and upside down. Such "grapple-motion" capability enables natural surface traversal by clawing into regolith or forming grasping configurations against rough, hard surfaces of high friction.

During the past decade, prototypes of such limbed systems have been under development for planetary mobility and more recently focused on the problem of climbing steep terrain on Mars. A representative example of the state of the art for such applications is an 8 kg

Fig. 2. Robot during early stages of development (top) and its simulated model (bottom).

end tips to provide feedback of the applied force to the surface.

environment with as little information from its surroundings as possible.

imposed.

**4.1 General assumptions**

surface, ATHLETE uses a combination of conventional rolling on wheels and quasi-static walking on wheels, and in ASTRO's case, the use of six limbs was decided based on the needs of a mission to an asteroid, where the microgravity environment would impose on the robot the challenging task of moving with high accuracy and still performing science operations in a stable manner. The main purpose of this form of motion is to avoid getting ejected from the surface. Therefore, six limbs would be better than two or four, given the possibility of using at least three limbs to grasp the surface to maintain the robot's attachment to the asteroid as a stable base while still using the remaining limbs for locomotion towards any direction or available for manipulation. Therefore, ASTRO is equipped with force/torque sensors on its

<sup>319</sup> Gravity-Independent Locomotion:

Dynamics and Position-Based Control of Robots on Asteroid Surfaces

ASTRO is expected to move on an asteroid surface with the capability of fine positioning over the surface to achieve science studies and mapping at several locations. As a result, the robot's design has been developed in a modular basis for all of its components, facilitating any normal changes in the adaptation process to accomplish a robust design for the demanding activities

Finally, because the scientific objectives of asteroid exploration missions are so ambitious, extensive prioritization on the development had to be made. Given that no robot designed by the current effort is intended to be tested in space, the space-environment requirements were given the lowest priority. This means that, the robot needs to be tested first in a 1*g*

Regular operations for limbed robots are characterized by multiple contacts between the limbs and the environment. In a microgravity environment, a planning algorithm can exploit this property by generating motions in contact, or more formally *compliant motions* (Borenstein,

four-limbed planetary rover, LEMUR IIb, for which several types of climbing end-effectors have been investigated (Kennedy et al., 2005). The locomotion functionality for the LEMUR-class of robots evolved (kinematically) from 6-limbed robots for walking on space structures in orbit to 4-limbed free-climbing on steep terrain. Technologies addressed during the development of free-climbing capabilities for LEMUR IIb (e.g., gripping end-effectors, force control, and stability-based motion planning) should be useful for gravity-independent locomotion on asteroids as well.

Recent work at Tohoku University spearheaded limbed locomotion solutions and prototypes that are more specific to asteroid surface mobility and explored the feasibility of statically stable grapple-motion in microgravity (Chacin & Yoshida, 2005). The work is motivated by a desire to achieve finer and more deterministic control of robot motion and position. The focus thus far has been a 6-legged rover with 4 DOF per leg and spiked/gripping end-effectors for grasping the asteroid surface. Motion control complexities are handled using a behavior-based control approach in addition to bio-inspired central pattern generators for rhythmic motion and sensor-driven reflexes. Dynamic simulation results showed that static locomotion is feasible when grasping forces on the surface can be achieved (Chacin & Yoshida, 2005). A 2.5 kg prototype of the Tohoku asteroid rover was built using a piercing spike at the tip of each limb to serve as momentary anchors in soft regolith or as contact points of a static grip on hard surfaces when used in combination (Chacin et al., 2006). Crawling gaits feasible for locomotion in microgravity environments using this system are analyzed in (Chacin & Yoshida, 2006) for stability (in the sense that they hold the rover to the asteroid surface).

The next section focuses on this robotic system as an example of an asteroid mobility solution and control approach. It considers issues related to the microgravity environment and its effect on dynamics of robotic systems on asteroids.

### **4. Asteroid robot - ASTRO**

In a future asteroid exploration mission (Chacin & Yoshida, 2005; 2006; Yoshida et al., 2002), it is expected to have a smart design of a robotic system that would allow scientists to benefit from more accurate instrument positioning capability on the asteroid's surface in microgravity. However, the engineering complexity of this task makes the design of an effective robot with stable locomotion difficult. A feasible robotic design for such a mission would be a small limbed robot deployed over the asteroid to crawl on its rough surface.

The asteroid robot ASTRO (Fig. 2) is a multi-limbed ambulatory locomotion system (Chacin et al., 2006) developed through the observation and imitation of clever solutions exhibited by biological systems. The robot is intended to use the natural features of the environment and the friction of the surface for omni-directional walking, having contact only at the limb end tips. This type of locomotion has the possibility to provoke minimum reactions on the asteroid surface thus avoiding excessive forces that could push the robot into space, or even the possibility to grasp the surface when some legs are controlled in a coordinated manner (Chacin & Yoshida, 2006).

During its development, the limbed robot concept was inspired from nature and other robots that have adopted the radially symmetric hexapod topology commonly used to obtain a platform complexity with a type of mechanism expected to perform robustly in unstructured environments, through the replication of walking gaits using six limbs like certain insects. A similar but much larger lunar rover concept is ATHLETE (Wilcox et al., 2007). However, while ASTRO and ATHLETE are kinematically similar, their distinguishable sizes and purposes enforce different sets of constraints to their designs. To eventually move on the Moon's 6 Will-be-set-by-IN-TECH

four-limbed planetary rover, LEMUR IIb, for which several types of climbing end-effectors have been investigated (Kennedy et al., 2005). The locomotion functionality for the LEMUR-class of robots evolved (kinematically) from 6-limbed robots for walking on space structures in orbit to 4-limbed free-climbing on steep terrain. Technologies addressed during the development of free-climbing capabilities for LEMUR IIb (e.g., gripping end-effectors, force control, and stability-based motion planning) should be useful for gravity-independent

Recent work at Tohoku University spearheaded limbed locomotion solutions and prototypes that are more specific to asteroid surface mobility and explored the feasibility of statically stable grapple-motion in microgravity (Chacin & Yoshida, 2005). The work is motivated by a desire to achieve finer and more deterministic control of robot motion and position. The focus thus far has been a 6-legged rover with 4 DOF per leg and spiked/gripping end-effectors for grasping the asteroid surface. Motion control complexities are handled using a behavior-based control approach in addition to bio-inspired central pattern generators for rhythmic motion and sensor-driven reflexes. Dynamic simulation results showed that static locomotion is feasible when grasping forces on the surface can be achieved (Chacin & Yoshida, 2005). A 2.5 kg prototype of the Tohoku asteroid rover was built using a piercing spike at the tip of each limb to serve as momentary anchors in soft regolith or as contact points of a static grip on hard surfaces when used in combination (Chacin et al., 2006). Crawling gaits feasible for locomotion in microgravity environments using this system are analyzed in (Chacin & Yoshida, 2006) for stability (in the sense that they hold the rover to the asteroid surface). The next section focuses on this robotic system as an example of an asteroid mobility solution and control approach. It considers issues related to the microgravity environment and its

In a future asteroid exploration mission (Chacin & Yoshida, 2005; 2006; Yoshida et al., 2002), it is expected to have a smart design of a robotic system that would allow scientists to benefit from more accurate instrument positioning capability on the asteroid's surface in microgravity. However, the engineering complexity of this task makes the design of an effective robot with stable locomotion difficult. A feasible robotic design for such a mission would be a small limbed robot deployed over the asteroid to crawl on its rough surface. The asteroid robot ASTRO (Fig. 2) is a multi-limbed ambulatory locomotion system (Chacin et al., 2006) developed through the observation and imitation of clever solutions exhibited by biological systems. The robot is intended to use the natural features of the environment and the friction of the surface for omni-directional walking, having contact only at the limb end tips. This type of locomotion has the possibility to provoke minimum reactions on the asteroid surface thus avoiding excessive forces that could push the robot into space, or even the possibility to grasp the surface when some legs are controlled in a coordinated manner

During its development, the limbed robot concept was inspired from nature and other robots that have adopted the radially symmetric hexapod topology commonly used to obtain a platform complexity with a type of mechanism expected to perform robustly in unstructured environments, through the replication of walking gaits using six limbs like certain insects. A similar but much larger lunar rover concept is ATHLETE (Wilcox et al., 2007). However, while ASTRO and ATHLETE are kinematically similar, their distinguishable sizes and purposes enforce different sets of constraints to their designs. To eventually move on the Moon's

locomotion on asteroids as well.

effect on dynamics of robotic systems on asteroids.

**4. Asteroid robot - ASTRO**

(Chacin & Yoshida, 2006).

Fig. 2. Robot during early stages of development (top) and its simulated model (bottom).

surface, ATHLETE uses a combination of conventional rolling on wheels and quasi-static walking on wheels, and in ASTRO's case, the use of six limbs was decided based on the needs of a mission to an asteroid, where the microgravity environment would impose on the robot the challenging task of moving with high accuracy and still performing science operations in a stable manner. The main purpose of this form of motion is to avoid getting ejected from the surface. Therefore, six limbs would be better than two or four, given the possibility of using at least three limbs to grasp the surface to maintain the robot's attachment to the asteroid as a stable base while still using the remaining limbs for locomotion towards any direction or available for manipulation. Therefore, ASTRO is equipped with force/torque sensors on its end tips to provide feedback of the applied force to the surface.

ASTRO is expected to move on an asteroid surface with the capability of fine positioning over the surface to achieve science studies and mapping at several locations. As a result, the robot's design has been developed in a modular basis for all of its components, facilitating any normal changes in the adaptation process to accomplish a robust design for the demanding activities imposed.

Finally, because the scientific objectives of asteroid exploration missions are so ambitious, extensive prioritization on the development had to be made. Given that no robot designed by the current effort is intended to be tested in space, the space-environment requirements were given the lowest priority. This means that, the robot needs to be tested first in a 1*g* environment with as little information from its surroundings as possible.

### **4.1 General assumptions**

Regular operations for limbed robots are characterized by multiple contacts between the limbs and the environment. In a microgravity environment, a planning algorithm can exploit this property by generating motions in contact, or more formally *compliant motions* (Borenstein,

where,

where *J<sup>T</sup>*

, we have:

where *τ<sup>i</sup>* = [*τi*1, ··· , *τim*]

govern the motion of the system.

*fi*

*H* : inertia matrix of the robot *x<sup>b</sup>* : position/orientation of the base

*cb*, *c<sup>m</sup>* : velocity/gravity dependent non-linear terms *F<sup>b</sup>* : forces/moments directly applied on the base

Dynamics and Position-Based Control of Robots on Asteroid Surfaces

*Fex* : external forces/moments on the end points.

And the kinematic relationship around the end points is expressed as follows:

*x*¨*ex* = *Jmφ*¨ + ˙

relationship between the contact force and the joint torque is given by

*Jmφ*˙ + *Jbx*¨ *<sup>b</sup>* + ˙

*ij* denotes the transpose of the Jacobian matrix that maps the contact force into the

where *J<sup>b</sup>* and *J<sup>m</sup>* denote the Jacobian of the base (main) body and the Jacobian of a given

<sup>321</sup> Gravity-Independent Locomotion:

The magnitude of the forces is determined by the friction of the contact surface. Let us consider the *<sup>i</sup>*-th limb of the robot. Vectors *<sup>p</sup>ij* <sup>∈</sup> *<sup>R</sup>*3×1, *<sup>f</sup>ij* <sup>∈</sup> *<sup>R</sup>*3×<sup>1</sup> and *<sup>τ</sup>ij* <sup>∈</sup> *<sup>R</sup>*3×<sup>1</sup> denote the contact position, the contact force and the joint torque vectors, respectively; *i* and *j* express

> *τj <sup>i</sup>* <sup>=</sup> *<sup>J</sup><sup>T</sup>*

joint torque. Then, using the principle of superposition for the relationship between *<sup>τ</sup><sup>j</sup>*

*ki* ∑ *j*=1 *τj*

*ki* ∑ *j*=1 *JT*

where, *ki* is the number of contact points of the *i*-th limb. Since it is assumed that a limb can

*τ<sup>i</sup>* = *J<sup>T</sup>*

*im*]

Mathematically, both arms (upper limbs) and legs (lower limbs) are linked multi-body systems. Forces and moments yielded by the contact with the ground, or planetary surface,

*<sup>T</sup>* and *J<sup>T</sup>*

*<sup>i</sup>* = [*J<sup>T</sup>*

*τ<sup>i</sup>* =

*τ<sup>i</sup>* =

only have one contact point, Equation 6 can be rewritten in the following form.

*<sup>i</sup>*1, ··· , *<sup>f</sup> <sup>T</sup>*

*<sup>T</sup>*, *<sup>f</sup><sup>i</sup>* = [*<sup>f</sup> <sup>T</sup>*

*x*˙*ex* = *Jmφ*˙ + *Jbx*˙ *<sup>b</sup>* (2)

*<sup>i</sup>* be the torque due to the contact force *fij*. The

*ij fij* (4)

*<sup>i</sup>* (5)

*ij f<sup>i</sup>* (6)

*<sup>i</sup> f<sup>i</sup>* (7)

*im*].

*<sup>i</sup>*1, ··· , *<sup>J</sup><sup>T</sup>*

*<sup>i</sup>* and

*Jbx*˙ *<sup>b</sup>* (3)

*φ* : articulated joint angles

*τ* : joint articulated torque *J<sup>T</sup>* : Jacobian matrix

manipulator (limb) respectively.

the *<sup>i</sup>*-th limb and the *<sup>j</sup>*-th contact point. Let *<sup>τ</sup><sup>j</sup>*

1995). During the execution of a compliant motion, the trajectory of the end tip is reflected according to the sensed forces derived from the contacts.

In this context, the problem of specifying a compliant motion command is similar to the problem of planning using pure position control to orient the end tip. The compliant motion control (Klein & Briggs, 1980) allows specification of the forces and velocities to be maintained in the motion frame until the meeting of a set of termination conditions is detected.

Throughout the following analysis, to simplify the discussion, it is assumed that:

*a***1**) The object is a rigid body in contact with a rigid link of the robot;

*a***2**) Accurate models of the limbs and object are given;


Assumption *a***<sup>4</sup>** allows us to consider only forces at the contact points. In this way, while executing a compliant command, the robot controller can interpret the sensed forces to automatically generate the corrective actions needed to comply with the task while preserving contact during motion.

Static friction occurs when the relative tangential velocity at a contact point is zero; otherwise, the friction is called dynamic friction. Assumptions *a***<sup>7</sup>** and *a***<sup>8</sup>** allow us to consider a "first-order" (or quasi-static) world where forces and velocities are related and also has static friction but no dynamic friction.

#### **4.2 Dynamics model**

Surface mobile robots have the same structure in terms of dynamics equations as free flying or floating robots which do not have a fixed point but have interaction with the ground. The model of the robot developed in this research (Chacin & Yoshida, 2005) consists of a central body with a hexagonal shape and six identical limbs (Inoue et al., 2001; 2002) symmetrically distributed around it.

Each limb has three links and three actuated revolute joints. Two of these joints are located in the junction of the leg/limb with the central body. The third joint is located at the knee connecting the upper and lower link, which results in each limb having three DOF. Considering six legs and the additional six DOF for central body translation and rotation, the system has a total of 24 DOF.

In this model, self-collision between limbs is ignored, meaning that links are allowed to cross each other, equal mass and length is assumed for all eighteen links, and that the joints are limited by internal mechanical stops. Any configuration of the robot can be defined by a set of parameters, the coordinates and orientation of the body, and the joint angles of each limb.

The dynamic motion of the free-flying multi-body system with the presence of the external forces *Fex* is described as (Yoshida, 1997):

$$H\begin{bmatrix} \ddot{\mathbf{x}}\_b\\ \ddot{\boldsymbol{\Phi}} \end{bmatrix} + \begin{bmatrix} \mathbf{c}\_b\\ \mathbf{c}\_m \end{bmatrix} = \begin{bmatrix} \mathbf{F}\_b\\ \mathbf{\tau} \end{bmatrix} + \mathbf{J}^T \mathbf{F}\_{\text{ex}} \tag{1}$$

<sup>2</sup> A quasi-static ("quasi-" (almost) "static") motion ensures that the system will go through a sequence of states that are infinitesimally close to equilibrium.

where,

8 Will-be-set-by-IN-TECH

1995). During the execution of a compliant motion, the trajectory of the end tip is reflected

In this context, the problem of specifying a compliant motion command is similar to the problem of planning using pure position control to orient the end tip. The compliant motion control (Klein & Briggs, 1980) allows specification of the forces and velocities to be maintained

Assumption *a***<sup>4</sup>** allows us to consider only forces at the contact points. In this way, while executing a compliant command, the robot controller can interpret the sensed forces to automatically generate the corrective actions needed to comply with the task while preserving

Static friction occurs when the relative tangential velocity at a contact point is zero; otherwise, the friction is called dynamic friction. Assumptions *a***<sup>7</sup>** and *a***<sup>8</sup>** allow us to consider a "first-order" (or quasi-static) world where forces and velocities are related and also has static

Surface mobile robots have the same structure in terms of dynamics equations as free flying or floating robots which do not have a fixed point but have interaction with the ground. The model of the robot developed in this research (Chacin & Yoshida, 2005) consists of a central body with a hexagonal shape and six identical limbs (Inoue et al., 2001; 2002) symmetrically

Each limb has three links and three actuated revolute joints. Two of these joints are located in the junction of the leg/limb with the central body. The third joint is located at the knee connecting the upper and lower link, which results in each limb having three DOF. Considering six legs and the additional six DOF for central body translation and rotation,

In this model, self-collision between limbs is ignored, meaning that links are allowed to cross each other, equal mass and length is assumed for all eighteen links, and that the joints are limited by internal mechanical stops. Any configuration of the robot can be defined by a set of parameters, the coordinates and orientation of the body, and the joint angles of each limb. The dynamic motion of the free-flying multi-body system with the presence of the external

<sup>2</sup> A quasi-static ("quasi-" (almost) "static") motion ensures that the system will go through a sequence of

+ *JTFex* (1)

in the motion frame until the meeting of a set of termination conditions is detected. Throughout the following analysis, to simplify the discussion, it is assumed that:

*a***1**) The object is a rigid body in contact with a rigid link of the robot;

*a***4**) Each limb has only one frictional contact point at a fixed location;

*a***8**) The motion is quasi-static2 to suppress any dynamic effect.

*a***5**) The *z* direction of the contact point is always inward of the surface normal; *a***6**) Contact points are known and the mass of each link of the robot is negligible; *a***7**) Dynamic and static frictional coefficients are not distinguished between each other;

according to the sensed forces derived from the contacts.

*a***2**) Accurate models of the limbs and object are given;

*a***3**) Interference between limbs is ignored;

contact during motion.

**4.2 Dynamics model**

distributed around it.

friction but no dynamic friction.

the system has a total of 24 DOF.

forces *Fex* is described as (Yoshida, 1997):

states that are infinitesimally close to equilibrium.

*H x*¨ *b φ*¨ + *c<sup>b</sup> cm* = *Fb τ* 


*cb*, *c<sup>m</sup>* : velocity/gravity dependent non-linear terms


And the kinematic relationship around the end points is expressed as follows:

$$
\dot{\mathbf{x}}\_{ex} = \mathbf{J}\_m \dot{\boldsymbol{\Phi}} + \mathbf{J}\_b \dot{\mathbf{x}}\_b \tag{2}
$$

$$
\ddot{\mathbf{x}}\_{\varepsilon\mathbf{x}} = \mathbf{J}\_m \ddot{\boldsymbol{\Phi}} + \dot{\mathbf{J}}\_m \dot{\boldsymbol{\Phi}} + \mathbf{J}\_b \ddot{\mathbf{x}}\_b + \dot{\mathbf{J}}\_b \dot{\mathbf{x}}\_b \tag{3}
$$

where *J<sup>b</sup>* and *J<sup>m</sup>* denote the Jacobian of the base (main) body and the Jacobian of a given manipulator (limb) respectively.

The magnitude of the forces is determined by the friction of the contact surface. Let us consider the *<sup>i</sup>*-th limb of the robot. Vectors *<sup>p</sup>ij* <sup>∈</sup> *<sup>R</sup>*3×1, *<sup>f</sup>ij* <sup>∈</sup> *<sup>R</sup>*3×<sup>1</sup> and *<sup>τ</sup>ij* <sup>∈</sup> *<sup>R</sup>*3×<sup>1</sup> denote the contact position, the contact force and the joint torque vectors, respectively; *i* and *j* express the *<sup>i</sup>*-th limb and the *<sup>j</sup>*-th contact point. Let *<sup>τ</sup><sup>j</sup> <sup>i</sup>* be the torque due to the contact force *fij*. The relationship between the contact force and the joint torque is given by

$$
\boldsymbol{\pi}\_{i}^{j} = \mathbf{J}\_{ij}^{T} \boldsymbol{f}\_{ij} \tag{4}
$$

where *J<sup>T</sup> ij* denotes the transpose of the Jacobian matrix that maps the contact force into the joint torque. Then, using the principle of superposition for the relationship between *<sup>τ</sup><sup>j</sup> <sup>i</sup>* and *fi* , we have:

$$\boldsymbol{\sigma}\_{i} = \sum\_{j=1}^{k\_{l}} \boldsymbol{\sigma}\_{i}^{j} \tag{5}$$

$$\pi\_i = \sum\_{j=1}^{k\_l} J\_{ij}^T f\_i \tag{6}$$

where, *ki* is the number of contact points of the *i*-th limb. Since it is assumed that a limb can only have one contact point, Equation 6 can be rewritten in the following form.

$$\mathbf{r}\_{i} = \mathbf{J}\_{i}^{T} \mathbf{f}\_{i} \tag{7}$$

where *τ<sup>i</sup>* = [*τi*1, ··· , *τim*] *<sup>T</sup>*, *<sup>f</sup><sup>i</sup>* = [*<sup>f</sup> <sup>T</sup> <sup>i</sup>*1, ··· , *<sup>f</sup> <sup>T</sup> im*] *<sup>T</sup>* and *J<sup>T</sup> <sup>i</sup>* = [*J<sup>T</sup> <sup>i</sup>*1, ··· , *<sup>J</sup><sup>T</sup> im*]. Mathematically, both arms (upper limbs) and legs (lower limbs) are linked multi-body systems. Forces and moments yielded by the contact with the ground, or planetary surface, govern the motion of the system.

of the impacting bodies. In the restitution stage the elastic energy stored in the compression

<sup>323</sup> Gravity-Independent Locomotion:

The robot can be modeled as a mass-spring system (Fig. 3) with a purely elastic contact at its end tips (Chacin & Yoshida, 2008). As a result, the following relation between the mass, the

*<sup>F</sup>* <sup>=</sup> <sup>2</sup>*mv*

Now, considering the time of contact as a function of the mass of the system *m* and the stiffness

*π* √ *mK*

In commonly used contact models (Brach, 1991; Keller, 1986), the relationship of momentum exchange and force-time product assumes infinitesimal impact. However, the infinitesimal impact between two single rigid bodies is a much idealized case. When modeling the ground (natural terrain), it is usually observed that as the stiffness coefficient is lowered, greater penetration in the ground occurs. The lower the damping constants, the longer the vibrations occur. However, a very high increment in stiffness or in damping constants in the limbs' model produces instabilities in simulations due to numerical issues that can be avoided by using a rigid limb, thus reducing the model order. The following discussion looks at how to

Where there is friction at a contact point, the friction force at a point acts tangential to the contact surface. We will denote the magnitude of the friction force at the *i*-th contact as *f<sup>i</sup>*

magnitude of the normal force as *f <sup>n</sup>*. To specify the tangential acceleration and friction force completely in a three-dimensional system, we would also need to specify the direction of the acceleration and friction force in the tangent plane (Gilardi & Shraf, 2002; Yoshida, 1999). Since the authors assume a model with a purely elastic deformation in the normal (*z*) direction of the contact point, and Coulomb friction in the tangential directions, we have the following

*Fcontact* =

*m*

*N* ∑ *i*=1

Δ*t* = *π*

*<sup>F</sup>contact* <sup>=</sup> <sup>2</sup>

2*mv* = *F*Δ*t*. (15)

<sup>Δ</sup>*<sup>t</sup>* . (16)

*<sup>K</sup>* . (17)

*v* (18)

, an

*f<sup>i</sup>* (19)

*<sup>f</sup> ci*−*tg* <sup>=</sup> *<sup>f</sup> cicos<sup>θ</sup>* (20) *<sup>f</sup> ci*−*normal* <sup>=</sup> *<sup>f</sup> cisin<sup>θ</sup>* (21)

stage is released back to the bodies making the relative velocity greater than zero.

Dynamics and Position-Based Control of Robots on Asteroid Surfaces

velocity and the force should hold:

Isolating the reaction force, we have:

coefficient of the limbs *K*, we have:

with

**4.4 Contact dynamics**

general expressions from Fig. 4:

where *θ* is the angle of the surface normal.

Finally, from Equation 16 and Equation 17,

where *N* is the number of limbs in contact at landing.

determine the contact force *Fex* (Der Stappen et al., 1999).

Fig. 3. Contact model.

#### **4.3 Limb compliance and stiffness**

Given an applied force on the end tip, any kinematic chain (on any given limb) experiences a deformation. This relation between the applied force and the corresponding deformation is defined as the "stiffness" of the kinematic chain. This stiffness can be related to two possibilities: the mechanical elasticity of the system and/or the dynamic behavior of the control system.

In general, for each joint there is a deflexion component defined by:

$$
\boldsymbol{\pi} = \mathbf{K} \boldsymbol{\Delta\phi} \tag{8}
$$

where

$$\mathbf{K} = \begin{bmatrix} \mathbf{k}\_1 & \mathbf{0} \\ & \ddots \\ \mathbf{0} & \mathbf{k}\_N \end{bmatrix}. \tag{9}$$

The relation between the force *f<sup>i</sup>* and the corresponding spatial deformation Δ*p* is determined from the following relationship:

$$
\Delta p = \mathbf{J} \Delta \boldsymbol{\phi}.\tag{10}
$$

Solving Equation 8 for Δ*φ*,

$$
\Delta \boldsymbol{\phi} = \mathbf{K}^{-1} \boldsymbol{\tau}.\tag{11}
$$

And substituting in Equation 10,

$$
\Delta p = \mathbf{J} \mathbf{K}^{-1} \mathbf{\tau}.\tag{12}
$$

Finally, from Equation 7 and Equation 12,

$$
\Delta p = \mathbf{J} \mathbf{K}^{-1} \mathbf{J}^{T} f\_{\text{i}}.\tag{13}
$$

From this point the compliance matrix can be defined as:

$$\mathbf{C} = \mathbf{J} \mathbf{K}^{-1} \mathbf{J}^{T}. \tag{14}$$

The impact phase can be divided into two stages: compression and restitution. During the compression stage, the elastic energy is absorbed by the deformation of the contact surfaces of the impacting bodies. In the restitution stage the elastic energy stored in the compression stage is released back to the bodies making the relative velocity greater than zero.

The robot can be modeled as a mass-spring system (Fig. 3) with a purely elastic contact at its end tips (Chacin & Yoshida, 2008). As a result, the following relation between the mass, the velocity and the force should hold:

$$
\mathbf{\color{red}{2}m\mathbf{v} = F\Delta t.}\tag{15}
$$

Isolating the reaction force, we have:

$$F = \frac{2mv}{\Delta t}.\tag{16}$$

Now, considering the time of contact as a function of the mass of the system *m* and the stiffness coefficient of the limbs *K*, we have:

$$
\Delta \mathbf{t} = \pi \sqrt{\frac{m}{K}}.\tag{17}
$$

Finally, from Equation 16 and Equation 17,

$$F\_{contact} = \frac{2}{\pi} \left(\sqrt{m\mathbf{K}}\right) v \tag{18}$$

with

10 Will-be-set-by-IN-TECH

*m*

Fig. 3. Contact model.

control system.

where

**4.3 Limb compliance and stiffness**

from the following relationship:

And substituting in Equation 10,

Finally, from Equation 7 and Equation 12,

From this point the compliance matrix can be defined as:

Solving Equation 8 for Δ*φ*,

*K*

*Fcontact*

Given an applied force on the end tip, any kinematic chain (on any given limb) experiences a deformation. This relation between the applied force and the corresponding deformation is defined as the "stiffness" of the kinematic chain. This stiffness can be related to two possibilities: the mechanical elasticity of the system and/or the dynamic behavior of the

In general, for each joint there is a deflexion component defined by:

*K* =

⎡ ⎢ ⎣ *k*<sup>1</sup> 0 ... 0 *k<sup>N</sup>*

The relation between the force *f<sup>i</sup>* and the corresponding spatial deformation Δ*p* is determined

<sup>Δ</sup>*<sup>p</sup>* <sup>=</sup> *JK*−<sup>1</sup> *<sup>J</sup><sup>T</sup> <sup>f</sup><sup>i</sup>*

The impact phase can be divided into two stages: compression and restitution. During the compression stage, the elastic energy is absorbed by the deformation of the contact surfaces

⎤ ⎥ *v*

*τ* = *K*Δ*φ* (8)

Δ*p* = *J*Δ*φ*. (10)

Δ*φ* = *K*−1*τ*. (11)

Δ*p* = *JK*−1*τ*. (12)

*C* = *JK*−<sup>1</sup> *JT*. (14)

<sup>⎦</sup> . (9)

. (13)

$$F\_{contact} = \sum\_{i=1}^{N} f\_i \tag{19}$$

where *N* is the number of limbs in contact at landing.

### **4.4 Contact dynamics**

In commonly used contact models (Brach, 1991; Keller, 1986), the relationship of momentum exchange and force-time product assumes infinitesimal impact. However, the infinitesimal impact between two single rigid bodies is a much idealized case. When modeling the ground (natural terrain), it is usually observed that as the stiffness coefficient is lowered, greater penetration in the ground occurs. The lower the damping constants, the longer the vibrations occur. However, a very high increment in stiffness or in damping constants in the limbs' model produces instabilities in simulations due to numerical issues that can be avoided by using a rigid limb, thus reducing the model order. The following discussion looks at how to determine the contact force *Fex* (Der Stappen et al., 1999).

Where there is friction at a contact point, the friction force at a point acts tangential to the contact surface. We will denote the magnitude of the friction force at the *i*-th contact as *f<sup>i</sup>* , an magnitude of the normal force as *f <sup>n</sup>*. To specify the tangential acceleration and friction force completely in a three-dimensional system, we would also need to specify the direction of the acceleration and friction force in the tangent plane (Gilardi & Shraf, 2002; Yoshida, 1999).

Since the authors assume a model with a purely elastic deformation in the normal (*z*) direction of the contact point, and Coulomb friction in the tangential directions, we have the following general expressions from Fig. 4:

$$f\_{c\bar{\imath}-t\mathfrak{g}} = f\_{c\bar{\imath}} \cos \theta \tag{20}$$

$$f\_{c\text{i}-normal} = f\_{c\text{i}} \sin \theta \tag{21}$$

where *θ* is the angle of the surface normal.

**4.5 Motion control**

system.

tipping over.

If a robot is to successfully achieve walking with static stability, the control system must ensure

<sup>325</sup> Gravity-Independent Locomotion:

To remain balanced, the robot must be able to apply forces with its end tips on the terrain that compensate for gravity without slipping. A necessary condition is that the robot's center of mass lies above the support polygon. But on an irregular surface, the support polygon does not always correspond to the base of the contact points. To compute the support polygon the

The support polygon is the projection of these polyhedrons onto the global coordinate system. The body attitude also needs to be controlled in order for the robot to maintain static balance. Assuming that the robot is well balanced in the lateral plane, the body attitude at any given moment is an important determinant of the acceleration experienced by the center of mass (COM) in the sagittal plane. If the desired value of the acceleration output is known at all times throughout the gait cycle, then a corrective action can be generated which will maintain the robot in a stable state. If the body attitude needs to be increased or decreased depending upon the error signal, and assuming that we can determine the desired acceleration in the sagittal plane for all times throughout the gait cycle, we can implement a continuous control

> Point

(Vukobratovic et al., 1970), is a key concept to discuss the tip-over stability and gait control of a robot. Fig. 5 is a schematic drawing to explain ZMP. Point *O* is the center of gravity (COG) of the entire robot. Let vector *r* be a position vector from an arbitrary point on the ground P to the point *O*, and vector *l<sup>i</sup>* be a position vector from the point P to each ground contact point

where *Pp* and *Lp* are linear and angular momentum around point P, and *M* is the total mass of the robot. The ZMP is a position P at which the component of moment *np* around the horizontal axes, *npx* and *npy*, becomes zero. The robot is stable, otherwise if the ZMP stays inside a polygon formed by ground contact points of the limbs. Otherwise the robot starts

Gait generation and motion control algorithms for walking robots have been developed based on this concept. In addition, an advanced planning and control algorithm with a special

attention to the kinetic momentum has been proposed recently (Kajita et al., 2003).

*f<sup>i</sup>* + *mog* = 0 (26)

*p<sup>i</sup>* × *f<sup>i</sup>* = 0 (27)

� *f <sup>n</sup>*� ≥ 0 (28) � *ft*� ≤ *μ*� *f <sup>n</sup>*�. (29)

(ZMP), which was first introduced by

*<sup>P</sup>*˙ *<sup>p</sup>* <sup>=</sup> ∑ *<sup>f</sup>exi* <sup>+</sup> *<sup>M</sup><sup>g</sup>* (30)

*<sup>L</sup>*˙ *<sup>p</sup>* <sup>=</sup> *<sup>n</sup><sup>p</sup>* <sup>+</sup> *<sup>r</sup>* <sup>×</sup> *<sup>P</sup>*˙ *<sup>p</sup>* <sup>+</sup> ∑(*l<sup>i</sup>* <sup>×</sup> *<sup>f</sup>exi*) (31)

that the behavior of the robot does not deviate from the following stable condition. *m* ∑ *i*=1

Dynamics and Position-Based Control of Robots on Asteroid Surfaces

*m* ∑ *i*=1

contact interface (all contact points) is modeled as shown in (Chacin, 2007), with

Zero Moment

of the limbs. For this model, the following dynamic equilibria hold true

**4.6 Zero moment point and momentum of the system**

In the walking robotics community,

Fig. 4. Decomposition of the contact forces.

Next, the coefficient of friction can be denoted as:

$$
\mu = \frac{f\_{ci}}{f\_{ci-normal}} > \frac{f\_{ci}\cos\theta}{f\_{ci}\sin\theta} \tag{22}
$$

$$
\mu > f\_{\text{ci}} \tan \theta. \tag{23}
$$

Considering *Fcontact* = *f ci* on the last expression, and using Equation 16 we have,

$$
\mu > \frac{2\pi\nu v}{\Delta t} \tan \theta.\tag{24}
$$

And substituting Equation 17,

$$\frac{\tan \theta \mu}{2\mathfrak{m}} \left( \pi \sqrt{\frac{\mathfrak{m}}{\mathcal{K}}} \right) > \mathfrak{v}. \tag{25}$$

Equation 25 shows that the considered contact stability will strictly depend on the approach velocity of the robot.

Quasi-static stability is a more general stability criterion than that used in the previous discussion. Under this condition, inertia forces are included but limb dynamics are not separately considered; the masses of the limbs are considered with that of the body. In the previous argument, quasi-static stability is partly assumed, provided all the normal components of the contact points' *f* forces are positive. Since the contact point cannot support a negative normal force (as shown in Fig. 4), the appearance of a negative force indicates that the given limb will lift and, since it cannot provide the required movement about the center of mass, the robot will jump in a microgravity environment like MINERVA (Yoshimitsu et al., 2001).

### **4.5 Motion control**

12 Will-be-set-by-IN-TECH

*z*

*v*

*ci normal f* <sup>−</sup>

*<sup>μ</sup>* <sup>=</sup> *<sup>f</sup> ci*

Considering *Fcontact* = *f ci* on the last expression, and using Equation 16 we have,

*μ >*

 *π m K* 

*tanθμ* 2*m*

*<sup>f</sup> ci*−*normal*

2*mv* Δ*t*

Equation 25 shows that the considered contact stability will strictly depend on the approach

Quasi-static stability is a more general stability criterion than that used in the previous discussion. Under this condition, inertia forces are included but limb dynamics are not separately considered; the masses of the limbs are considered with that of the body. In the previous argument, quasi-static stability is partly assumed, provided all the normal components of the contact points' *f* forces are positive. Since the contact point cannot support a negative normal force (as shown in Fig. 4), the appearance of a negative force indicates that the given limb will lift and, since it cannot provide the required movement about the center of mass, the robot will jump in a microgravity environment like MINERVA (Yoshimitsu et al.,

*o*

θ

μ

θ

*ci <sup>f</sup> ci <sup>f</sup>*

*ci normal f* <sup>−</sup>

*<sup>&</sup>gt; <sup>f</sup> cicos<sup>θ</sup>*

*ci tg f* <sup>−</sup>

*x*

*<sup>f</sup> cisin<sup>θ</sup>* (22)

*tanθ*. (24)

*> v*. (25)

*μ > f citanθ*. (23)

*ci tg f* <sup>−</sup>

Fig. 4. Decomposition of the contact forces.

And substituting Equation 17,

velocity of the robot.

2001).

Next, the coefficient of friction can be denoted as:

If a robot is to successfully achieve walking with static stability, the control system must ensure that the behavior of the robot does not deviate from the following stable condition.

$$\sum\_{i=1}^{m} f\_i + m\_o \mathbf{g} = 0 \tag{26}$$

$$\sum\_{i=1}^{m} p\_i \times f\_i = 0 \tag{27}$$

To remain balanced, the robot must be able to apply forces with its end tips on the terrain that compensate for gravity without slipping. A necessary condition is that the robot's center of mass lies above the support polygon. But on an irregular surface, the support polygon does not always correspond to the base of the contact points. To compute the support polygon the contact interface (all contact points) is modeled as shown in (Chacin, 2007), with

$$\|f\_n\| \ge 0 \tag{28}$$

$$\|f\_t\| \le \mu \|f\_n\|. \tag{29}$$

The support polygon is the projection of these polyhedrons onto the global coordinate system. The body attitude also needs to be controlled in order for the robot to maintain static balance. Assuming that the robot is well balanced in the lateral plane, the body attitude at any given moment is an important determinant of the acceleration experienced by the center of mass (COM) in the sagittal plane. If the desired value of the acceleration output is known at all times throughout the gait cycle, then a corrective action can be generated which will maintain the robot in a stable state. If the body attitude needs to be increased or decreased depending upon the error signal, and assuming that we can determine the desired acceleration in the sagittal plane for all times throughout the gait cycle, we can implement a continuous control system.

### **4.6 Zero moment point and momentum of the system**

In the walking robotics community, Zero Moment Point (ZMP), which was first introduced by (Vukobratovic et al., 1970), is a key concept to discuss the tip-over stability and gait control of a robot. Fig. 5 is a schematic drawing to explain ZMP. Point *O* is the center of gravity (COG) of the entire robot. Let vector *r* be a position vector from an arbitrary point on the ground P to the point *O*, and vector *l<sup>i</sup>* be a position vector from the point P to each ground contact point of the limbs. For this model, the following dynamic equilibria hold true

$$
\dot{P}\_p = \sum f\_{\text{exit}} + M \mathbf{g} \tag{30}
$$

$$
\dot{L}\_p = \mathfrak{n}\_p + \mathfrak{r} \times \dot{\mathcal{P}}\_p + \sum (l\_i \times f\_{exi}) \tag{31}
$$

where *Pp* and *Lp* are linear and angular momentum around point P, and *M* is the total mass of the robot. The ZMP is a position P at which the component of moment *np* around the horizontal axes, *npx* and *npy*, becomes zero. The robot is stable, otherwise if the ZMP stays inside a polygon formed by ground contact points of the limbs. Otherwise the robot starts tipping over.

Gait generation and motion control algorithms for walking robots have been developed based on this concept. In addition, an advanced planning and control algorithm with a special attention to the kinetic momentum has been proposed recently (Kajita et al., 2003).

leR esae gnitroppus dna stcatnoc ta ecrof ylppa tniop tcatnoc wen

rotceleS etatS

*X Xx*<sup>r</sup> <sup>r</sup> = − <sup>~</sup>

etatS metsyS etatS metsyS

<sup>327</sup> Gravity-Independent Locomotion:

yticoleV tnioJ s'bmiL etaluclaC *e m bb <sup>x</sup> x J Jx* & φ+= &

*.*

oN

dnE dnE

*X* ?deveihca r

seY

ydoB evoM

etatS egnahC etatS egnahC

leR esae gnitroppus dna stcatnoc ta ecrof ylppa tniop tcatnoc wen

 ecrof niatniam ot tsujdA CF nihtiw dednuob rotcev ecrof niatniam ot tsujdA CF nihtiw dednuob rotcev

�**5** Considering the friction cone estimation (Chacin, 2007) and the contact stability

�**6** Calculate the joint velocity of the limbs *φ*˙ by Equation 2, using ˙*x<sup>b</sup>* and ˙*xex* while considering Equation 29; change the state of the control system. If necessary, adjust *x*

�**7** Adopt the new contact configuration to release the support contacts and apply a permissible contact force at the new contact points. Dynamic exploration can be applied to reduce the surface position/orientation uncertainties. Change the state of the control

�**8** Control the joints along with the solution from �**6** to move the body. Verify if the goal

One difference of this algorithm with respect to conventional ones is the consideration of momentum of the robot in �**3** . Without this step, the obtained joint motion may have errors from the originally planned end point trajectory, thus may not satisfy the stability condition. Conventionally, a feedback control may be employed to correct these errors. But using

<sup>+</sup> *<sup>J</sup>TFex* <sup>−</sup>

 *c<sup>b</sup> cm* 

 *F<sup>b</sup> τ* 

*x* r

conditions shown by Equation 25, determine the robot base motion ˙*x<sup>b</sup>* by

= *H*−<sup>1</sup>

to maintain the force vectors bounded within the friction cones.

*X* has been reached; if it has not, then repeat.

Equation 33 in �**3** , the error can be compensated in advance.

iT rotareneG enilemiT rotareneG enilem

Dynamics and Position-Based Control of Robots on Asteroid Surfaces

noitom ydob enimreteD *L H HJ x HJ x b ms b ms xe* & & <sup>1</sup> <sup>1</sup> ( ) <sup>−</sup> <sup>−</sup> = − +

yrotcejarT wolloF

> 0 *<sup>i</sup> f* seY

enoC noitcirF enoC noitcirF

λ υ

[ ]

υ

, , ,... ...,

*l*

*l i l i i*

> *L i*

υ

oN seY

 *x*¨ *b φ*¨ 

\* *i i f f* ≡

*i ii*

υ

= ∑=

*f V V*

\*

Fig. 6. Gait planner detail

system.

position

= =

*f*

\*

*ii i*

1 1

λ

*L l*

oN

*X* r

Fig. 5. A schematic force/moment model for an articulated surface robot

For a surface limbed robot, the gravity forces exerted on it can be neglected; the non-linear term in Equation 1 then becomes *<sup>c</sup><sup>b</sup>* = *<sup>H</sup>*˙ *bx*˙*<sup>b</sup>* + *<sup>H</sup>*˙ *bmφ*˙ *<sup>b</sup>*. Integrating its upper set with respect to time, we obtain the total momentum of the system as:

$$\mathcal{L} = \int \mathbf{J}\_b^T \mathbf{F}\_{\varepsilon \mathbf{x}} dt = \mathbf{H}\_b \dot{\mathbf{x}}\_b + \mathbf{H}\_{bm} \dot{\boldsymbol{\phi}}.\tag{32}$$

Going back to Equation 2, and eliminating *φ*˙ , we can obtain the following equation:

$$\mathcal{L} = (\mathbf{H}\_b - \mathbf{H}\_m \mathbf{J}\_s^{-1}) \dot{\mathbf{x}}\_b + \mathbf{H}\_m \mathbf{J}\_s^{-1} \dot{\mathbf{x}}\_{\varepsilon \mathbf{x}}.\tag{33}$$

In this way, if the system does depart from static stability, then the control system can identify this condition and bring the robot back to the statically stable condition.

#### **4.7 Generalized control algorithm**

Since walking is a continuous and cyclic process, we can consider two main types of control systems, a closed-loop control system and an event driven control system (Fig. 6). A general closed-loop control system for controlling the continuous process of the walking gait can be considered. However, since the positioning of the end tip itself can be modeled as a discrete process, we use an event driven control system to identify the existence of such states and modify the closed-loop control depending upon the current state of the system.

Given a motion command (a vector *X*), the motion planning and control algorithm to move in the commanded direction and magnitude is carried out in the following way:


326 Robotic Systems – Applications, Control and Programming Gravity-Independent Locomotion: Dynamics and Position-Based Control of Robots on Asteroid Surfaces <sup>15</sup> <sup>327</sup> Gravity-Independent Locomotion: Dynamics and Position-Based Control of Robots on Asteroid Surfaces

Fig. 6. Gait planner detail

14 Will-be-set-by-IN-TECH

*P*

Going back to Equation 2, and eliminating *φ*˙ , we can obtain the following equation:

<sup>L</sup> = (*H<sup>b</sup>* <sup>−</sup> *<sup>H</sup><sup>m</sup> <sup>J</sup>*−<sup>1</sup>

modify the closed-loop control depending upon the current state of the system.

in the commanded direction and magnitude is carried out in the following way:

�**2** At time *t*, compute link positions and velocities, recursively from link 0 to *n*.

and *φ* are equal to the non-linear forces *cb* and *cm*, respectively.

this condition and bring the robot back to the statically stable condition.

Fig. 5. A schematic force/moment model for an articulated surface robot

*Fex*

to time, we obtain the total momentum of the system as:

**4.7 Generalized control algorithm**

Given a motion command (a vector

trajectory.

limb motions to move in the desired direction.

L = *JT* *r*

ω*v*

*o*

*np*

*<sup>s</sup>* )*x*˙ *<sup>b</sup>* + *<sup>H</sup><sup>m</sup> <sup>J</sup>*−<sup>1</sup>

For a surface limbed robot, the gravity forces exerted on it can be neglected; the non-linear term in Equation 1 then becomes *<sup>c</sup><sup>b</sup>* = *<sup>H</sup>*˙ *bx*˙*<sup>b</sup>* + *<sup>H</sup>*˙ *bmφ*˙ *<sup>b</sup>*. Integrating its upper set with respect

In this way, if the system does depart from static stability, then the control system can identify

Since walking is a continuous and cyclic process, we can consider two main types of control systems, a closed-loop control system and an event driven control system (Fig. 6). A general closed-loop control system for controlling the continuous process of the walking gait can be considered. However, since the positioning of the end tip itself can be modeled as a discrete process, we use an event driven control system to identify the existence of such states and

�**1** Use the gait planner presented in (Chacin & Yoshida, 2006) to plan the complete set of

�**3** Set accelerations ¨*x<sup>b</sup>* and *φ*¨ to zero, and external forces *F<sup>b</sup>* and *Fex* to zero, then compute the inertial forces recursively from link *n* to 0. The resultant forces on the coordinates *xb*

�**4** Plan the end point trajectory of each limb *xexi* using the kinematics in Subsec. 4.6, so that ZMP satisfies the stability condition. Then obtain the end point velocity ˙*xex* along the

*g*

*<sup>b</sup> <sup>F</sup>exdt* = *<sup>H</sup>bx*˙ *<sup>b</sup>* + *<sup>H</sup>bmφ*˙ . (32)

*X*), the motion planning and control algorithm to move

*<sup>s</sup> x*˙ *ex*. (33)

�**5** Considering the friction cone estimation (Chacin, 2007) and the contact stability conditions shown by Equation 25, determine the robot base motion ˙*x<sup>b</sup>* by

$$
\begin{bmatrix} \ddot{\mathbf{x}}\_b \\ \ddot{\boldsymbol{\Phi}} \end{bmatrix} = \boldsymbol{H}^{-1} \left\{ \begin{bmatrix} \boldsymbol{F}\_b \\ \boldsymbol{\tau} \end{bmatrix} + \boldsymbol{J}^T \boldsymbol{F}\_{\boldsymbol{\varepsilon}\boldsymbol{x}} - \begin{bmatrix} \boldsymbol{c}\_b \\ \boldsymbol{c}\_m \end{bmatrix} \right\}
$$


One difference of this algorithm with respect to conventional ones is the consideration of momentum of the robot in �**3** . Without this step, the obtained joint motion may have errors from the originally planned end point trajectory, thus may not satisfy the stability condition. Conventionally, a feedback control may be employed to correct these errors. But using Equation 33 in �**3** , the error can be compensated in advance.

Velocity [mm/s]

the desired properties.

**4.9 Preliminary tests**

satisfy the condition.

zero.

small mechanical vibrations on the system.

position without any further movement.

change where it remains when the velocity is damped out.

0 2 4 6 8 10 12 time [s]

<sup>329</sup> Gravity-Independent Locomotion:

and knowing the forces and torques as well as the displacement, the arm can be controlled in real-time using Equation 36 and Equation 1 to simulate the attached robot and to compensate the input of the F/T sensor on its tip. In short, the control policy uses the relationship between force and velocity to find the position and then calculate a velocity command as inputs to the system. The behavior of the system can be altered by changing the impedance constants [*m*], [*K*] and [*C*] as defined in Subsec. 4.3 and Subsec. 4.4 or can be fine tuned in order to exhibit

To evaluate the performance of the manipulator's control strategy, several tests were designed to examine how the impedance constants [*m*], [*K*] and [*C*] influence the behavior of the system. For simplicity, only four typical cases are described while keeping [*m*] constant to damp out

During the first case, the parameters were selected under the following constraint *K C*. A force is applied on the manipulator's end tip, which is displaced before it starts swinging back and forth. A small reduction in the position is observed with time since the damping is not

In the second case the condition changes to *K > C*. As in the first experiment, the end tip starts to swing back and forth when a force is applied, but since the damping constant [*C*] has been increased, this swing motion dies out much faster as the end tip is back to its initial

For the third case, the condition is switched to *K C*. When a force is applied, the velocity increases but it is quickly reduced back to zero. The position also exhibits a rather small

In the fourth case, the spring and damping constants are selected to satisfy *K < C*, but both parameters are chosen similar to what they are expected to be in a microgravity environment, where both [*K*] and [*C*] tend to zero3. It was observed that the manipulator's end tip velocity

Several tests designed to verify the energy absorption and the velocity profile of the

The manipulator's end tip velocity changes after impacting the surface but remains within 10%-15% of its approaching phase yielding reasonable results that are in accordance with what is expected in microgravity conditions. At this point, if the virtual mass value is to be changed in any of the experiments, the behavior of the system would not change, but the force

<sup>3</sup> In reality [*C*] is chosen to be 0.1 to avoid problems in the computational solution of Equation 36 and to

changes rapidly, and then it slowly decreases due to the small damping coefficient.

manipulator arm were performed. Typical experimental results are shown in Fig. 8.

Fig. 8. Composite velocity profile of the manipulator's end tip.

Dynamics and Position-Based Control of Robots on Asteroid Surfaces

Fig. 7. The experimental setup: robot mounted on a PA10 manipulator (left) and over an uneven surface (right).

### **4.8 Emulating microgravity**

To simulate the real dynamic conditions of a robot on an asteroid, the authors used a robust control system that could counterbalance Earth's gravity and leave the robot in an emulated state of microgravity. For this reason, ASTRO was mounted on the tip of a Mitsubishi PA10 manipulator arm (Fig. 7) controlled by a dynamics based model simulation equipped with an ATI Industrial Automation Gamma SI-32-2.5 Force/Torque sensor (ATI, 2005). This sensor allows the appropriate control of the manipulator arm to emulate the microgravity condition that asteroid 25143 Itokawa would impose on the robot by means of calculating its position, force, acceleration and velocity with high accuracy using real-time impedance and dynamic compliance control.

Experiments were performed to observe and analyze the robot's behavior under microgravity conditions, as it would approach the surface of an asteroid and perform motions on it. Gravity emulation is achieved through impedance control, also known as virtual compliance control, as shown in (Hirabayashi et al., 2000). The control algorithm is based upon the basic equation of motion shown in Equation 34.

$$\left[m\right]\frac{d\overline{\boldsymbol{\sigma}}}{dt} = \overline{\boldsymbol{\eta}} - \left[\mathbf{K}\right]\Delta\overline{\boldsymbol{\pi}} - \left[\mathbf{C}\right]\overline{\boldsymbol{\sigma}}\tag{34}$$

where *q* is the external force and torque applied to the manipulator's end tip, Δ*x* is the displacement of the end tip relative to the reference and *<sup>v</sup>* is its velocity. [*m*] <sup>∈</sup> *<sup>R</sup>*<sup>6</sup> is the virtual mass, [*K*] <sup>∈</sup> *<sup>R</sup>*<sup>6</sup> is the virtual spring constant and [*C*] <sup>∈</sup> *<sup>R</sup>*<sup>6</sup> is the damping constant. Equation 34 can be transformed into:

$$
\overline{\boldsymbol{\sigma}} = \frac{1}{\lceil \boldsymbol{m} \rceil} \int (\overline{\boldsymbol{\eta}} - [\boldsymbol{K}] \boldsymbol{\Delta} \overline{\boldsymbol{x}} - [\boldsymbol{C}] \overline{\boldsymbol{\sigma}}) \boldsymbol{d} \boldsymbol{t} \tag{35}
$$

which can be represented as the following finite differential equation:

$$
\overline{\boldsymbol{w}}\_{\boldsymbol{n}} = \frac{\Delta t}{[\boldsymbol{m}]} (\overline{\boldsymbol{q}}\_{n-1} - [\boldsymbol{\mathsf{K}}] \boldsymbol{\Delta \overline{\boldsymbol{x}}\_{n-1}}) + ([\boldsymbol{I}] - \frac{\Delta t}{[\boldsymbol{m}]} [\boldsymbol{\mathsf{C}}]) \overline{\boldsymbol{w}}\_{n-1} \tag{36}
$$

where **Δ***t* is the time step and [*I*] is the identity matrix. Equation 36 describes the velocity at the sampling time based upon values from the previous time step. Based on this equation,

Fig. 8. Composite velocity profile of the manipulator's end tip.

and knowing the forces and torques as well as the displacement, the arm can be controlled in real-time using Equation 36 and Equation 1 to simulate the attached robot and to compensate the input of the F/T sensor on its tip. In short, the control policy uses the relationship between force and velocity to find the position and then calculate a velocity command as inputs to the system. The behavior of the system can be altered by changing the impedance constants [*m*], [*K*] and [*C*] as defined in Subsec. 4.3 and Subsec. 4.4 or can be fine tuned in order to exhibit the desired properties.

### **4.9 Preliminary tests**

16 Will-be-set-by-IN-TECH

Fig. 7. The experimental setup: robot mounted on a PA10 manipulator (left) and over an

To simulate the real dynamic conditions of a robot on an asteroid, the authors used a robust control system that could counterbalance Earth's gravity and leave the robot in an emulated state of microgravity. For this reason, ASTRO was mounted on the tip of a Mitsubishi PA10 manipulator arm (Fig. 7) controlled by a dynamics based model simulation equipped with an ATI Industrial Automation Gamma SI-32-2.5 Force/Torque sensor (ATI, 2005). This sensor allows the appropriate control of the manipulator arm to emulate the microgravity condition that asteroid 25143 Itokawa would impose on the robot by means of calculating its position, force, acceleration and velocity with high accuracy using real-time impedance and dynamic

Experiments were performed to observe and analyze the robot's behavior under microgravity conditions, as it would approach the surface of an asteroid and perform motions on it. Gravity emulation is achieved through impedance control, also known as virtual compliance control, as shown in (Hirabayashi et al., 2000). The control algorithm is based upon the basic equation

where *q* is the external force and torque applied to the manipulator's end tip, Δ*x* is the displacement of the end tip relative to the reference and *<sup>v</sup>* is its velocity. [*m*] <sup>∈</sup> *<sup>R</sup>*<sup>6</sup> is the virtual mass, [*K*] <sup>∈</sup> *<sup>R</sup>*<sup>6</sup> is the virtual spring constant and [*C*] <sup>∈</sup> *<sup>R</sup>*<sup>6</sup> is the damping constant.

(*qn*−<sup>1</sup> <sup>−</sup> [*K*]**Δ***xn*−1) + ([*I*] <sup>−</sup> **<sup>Δ</sup>***<sup>t</sup>*

where **Δ***t* is the time step and [*I*] is the identity matrix. Equation 36 describes the velocity at the sampling time based upon values from the previous time step. Based on this equation,

*dt* <sup>=</sup> *<sup>q</sup>* <sup>−</sup> [*K*]Δ*<sup>x</sup>* <sup>−</sup> [*C*]*<sup>v</sup>* (34)

(*q* − [*K*]Δ*x* − [*C*]*v*)*dt* (35)

[*C*])*vn*−<sup>1</sup> (36)

[*m*]

[*m*] *dv*

*<sup>v</sup>* <sup>=</sup> <sup>1</sup> [*m*] 

which can be represented as the following finite differential equation:

*<sup>v</sup><sup>n</sup>* <sup>=</sup> **<sup>Δ</sup>***<sup>t</sup>* [*m*]

uneven surface (right).

compliance control.

of motion shown in Equation 34.

Equation 34 can be transformed into:

**4.8 Emulating microgravity**

To evaluate the performance of the manipulator's control strategy, several tests were designed to examine how the impedance constants [*m*], [*K*] and [*C*] influence the behavior of the system. For simplicity, only four typical cases are described while keeping [*m*] constant to damp out small mechanical vibrations on the system.

During the first case, the parameters were selected under the following constraint *K C*. A force is applied on the manipulator's end tip, which is displaced before it starts swinging back and forth. A small reduction in the position is observed with time since the damping is not zero.

In the second case the condition changes to *K > C*. As in the first experiment, the end tip starts to swing back and forth when a force is applied, but since the damping constant [*C*] has been increased, this swing motion dies out much faster as the end tip is back to its initial position without any further movement.

For the third case, the condition is switched to *K C*. When a force is applied, the velocity increases but it is quickly reduced back to zero. The position also exhibits a rather small change where it remains when the velocity is damped out.

In the fourth case, the spring and damping constants are selected to satisfy *K < C*, but both parameters are chosen similar to what they are expected to be in a microgravity environment, where both [*K*] and [*C*] tend to zero3. It was observed that the manipulator's end tip velocity changes rapidly, and then it slowly decreases due to the small damping coefficient.

Several tests designed to verify the energy absorption and the velocity profile of the manipulator arm were performed. Typical experimental results are shown in Fig. 8.

The manipulator's end tip velocity changes after impacting the surface but remains within 10%-15% of its approaching phase yielding reasonable results that are in accordance with what is expected in microgravity conditions. At this point, if the virtual mass value is to be changed in any of the experiments, the behavior of the system would not change, but the force

<sup>3</sup> In reality [*C*] is chosen to be 0.1 to avoid problems in the computational solution of Equation 36 and to satisfy the condition.

 Force [N]

**5. Challenges**

time [s]

<sup>331</sup> Gravity-Independent Locomotion:

The results of this experiment are shown in Fig. 10. It can be noted that the force values are higher, but more importantly the robot is resting balanced on the limbs in contact with the surface. With the feedback from the force sensors, the control system was able to determine an appropriate corrective measure for the robot to take in order to maintain the stability of the contact while keeping its attitude (expressed in roll-pitch-yaw angles) mostly unchanged during motion. For the case where the robot is under a known environment and the desired forces to be exerted on the surface are known in advance, any deviation from this state should

A rich set of challenges are encountered during development and evaluation of prospective solutions for gravity-independent locomotion on asteroids. The experiments reported here are indicative of a few, but several additional key challenges deserve early attention by researchers. One of them is the mechanics of controlled ballistic hopping on rotating asteroids and in non-uniform gravity fields due to their irregularly shaped bodies. Bellerose et al (Bellerose et al., 2008; Bellerose & Scheeres, 2008) modeled the dynamics of hopping vehicles to enable hops covering designated distances by computing and controlling initial hop velocity. The model accounts for distance covered by residual bounces as the vehicle comes to rest (considering surface friction coefficient and restitution). A particularly challenging aspect to consider is that some asteroid shapes may have surface locations where a vehicle could stay in equilibrium, thus affecting vehicle dynamics on the surface (Bellerose et al., 2008; Bellerose & Scheeres, 2008). Conceivably, a hopping rover could be perturbed away from predicted ballistic trajectories by such equilibria. This can affect exploration objectives by constraining the total area that a rover can safely or reliably traverse to on an asteroid surface when stable and unstable equilibrium locations happen to coincide with surface regions of scientific interest. Purely hopping vehicles that operate primarily at the mercy of small body physics can have limited accessibility of such surface regions. Bellerose's model also provides insight into the effects of non-uniform gravity fields and how centripetal and Coriolis forces due to asteroid rotation may assist or hinder hop performance (Bellerose & Scheeres, 2008). Another key challenge is achieving the ability to land after hopping in such a way as to avoid rebound. Control and robotics techniques can be used to address this challenge. One robot concept employs a spring and linear actuators with horizontal velocity control to achieve this (Shimoda et al., 2003), while other research is experimenting with active grappling of the surface upon landing (Chacin, 2007; Chacin & Yoshida, 2008; 2009). The related challenge, central to gravity-independent locomotion, is maintaining grip or temporary anchoring while controlling force for closure and compliance. The work presented herein and in (Chacin

0 1 2 3 4

Fig. 10. Force profile during motion with control feedback.

Dynamics and Position-Based Control of Robots on Asteroid Surfaces

cause an appropriate corrective action to be taken.

Fig. 9. Force profile during motion without control feedback.

required in order to get the same velocity and position displacement would have increased accordingly. Similar experiments have been carried out for rotational and multi-translational movements, but their description has been omitted to show these results as the basic principle behind the selection of proper parameter values.

After achieving a satisfactory response from the control system, ASTRO was attached to the end tip of the manipulator and was suspended above a table that serves as analog to the asteroid surface.

#### **4.10 Experimental results**

To demonstrate the concept and to verify the control strategy, further experiments were performed under the dynamic conditions shown in the previous section, and for comparison, motion was attempted first without control or feedback and then using the control algorithm described in Subsec. 4.7. In the first motion experiment, the robot was commanded to go forward over a rugged surface<sup>4</sup> with a known inclination angle, while keeping a stable and statically balanced position. The problem of control is simplified by giving the control system the geometry<sup>5</sup> of the environment and the gait is calculated off-line.

Although the robot successfully took three contact points and executed one gait motion, the selected contact points were not ideal, and the robot exhibited pronounced oscillating swaying motions in the lateral plane causing slip. This can be seen in the force data (Fig. 9). It was observed that after the gait missed the contact points the stability of the system was severely undermined. This instability at the end tips could cause the unpredictable behavior of the robot due to the escalating effect of the accumulative error. This is somewhat indicative of the dynamic behavior of uncontrolled hopping robots in similar microgravity environments.

Due to the contact instability of the previous attempt, the ability of the robot to use the information from the friction forces (friction cones) while walking on the surface was further examined (Fig. 11). The overall stability of the walking gait depends upon the timing of the motion from the gait planner. If the timing is incorrect, it will affect the stability of the robot during the walking gait. It is, therefore, desirable to study the relationship between the stability of the robot and the motion conditions. The stability of the robot can be examined by enabling the robot to walk continuously on the surface using the control strategy presented in Subsec. 4.7. This has the desired effect of reducing end tip momenta which are created when the robot translates or rotates an end tip, which can increase the instability of the contact.

<sup>4</sup> Sandpaper of different grit sizes was used in the experiments to simulate the potential roughness of an asteroid surface.

<sup>5</sup> The term geometry is used, when referring to robot control and gait planning, to mean that a robot is controlled based on fixed relationships between models of the robot and models of the world in which the robot operates.

Fig. 10. Force profile during motion with control feedback.

The results of this experiment are shown in Fig. 10. It can be noted that the force values are higher, but more importantly the robot is resting balanced on the limbs in contact with the surface. With the feedback from the force sensors, the control system was able to determine an appropriate corrective measure for the robot to take in order to maintain the stability of the contact while keeping its attitude (expressed in roll-pitch-yaw angles) mostly unchanged during motion. For the case where the robot is under a known environment and the desired forces to be exerted on the surface are known in advance, any deviation from this state should cause an appropriate corrective action to be taken.

## **5. Challenges**

18 Will-be-set-by-IN-TECH

time [s]

required in order to get the same velocity and position displacement would have increased accordingly. Similar experiments have been carried out for rotational and multi-translational movements, but their description has been omitted to show these results as the basic principle

After achieving a satisfactory response from the control system, ASTRO was attached to the end tip of the manipulator and was suspended above a table that serves as analog to the

To demonstrate the concept and to verify the control strategy, further experiments were performed under the dynamic conditions shown in the previous section, and for comparison, motion was attempted first without control or feedback and then using the control algorithm described in Subsec. 4.7. In the first motion experiment, the robot was commanded to go forward over a rugged surface<sup>4</sup> with a known inclination angle, while keeping a stable and statically balanced position. The problem of control is simplified by giving the control system

Although the robot successfully took three contact points and executed one gait motion, the selected contact points were not ideal, and the robot exhibited pronounced oscillating swaying motions in the lateral plane causing slip. This can be seen in the force data (Fig. 9). It was observed that after the gait missed the contact points the stability of the system was severely undermined. This instability at the end tips could cause the unpredictable behavior of the robot due to the escalating effect of the accumulative error. This is somewhat indicative of the dynamic behavior of uncontrolled hopping robots in similar microgravity environments. Due to the contact instability of the previous attempt, the ability of the robot to use the information from the friction forces (friction cones) while walking on the surface was further examined (Fig. 11). The overall stability of the walking gait depends upon the timing of the motion from the gait planner. If the timing is incorrect, it will affect the stability of the robot during the walking gait. It is, therefore, desirable to study the relationship between the stability of the robot and the motion conditions. The stability of the robot can be examined by enabling the robot to walk continuously on the surface using the control strategy presented in Subsec. 4.7. This has the desired effect of reducing end tip momenta which are created when the robot translates or rotates an end tip, which can increase the instability of the contact.

<sup>4</sup> Sandpaper of different grit sizes was used in the experiments to simulate the potential roughness of an

<sup>5</sup> The term geometry is used, when referring to robot control and gait planning, to mean that a robot is controlled based on fixed relationships between models of the robot and models of the world in which

0 2 3 5 4

2.0 1.5 1.0 0.5 0.0

 Force [N]

asteroid surface.

asteroid surface.

the robot operates.

**4.10 Experimental results**

1

behind the selection of proper parameter values.

Fig. 9. Force profile during motion without control feedback.

the geometry<sup>5</sup> of the environment and the gait is calculated off-line.

A rich set of challenges are encountered during development and evaluation of prospective solutions for gravity-independent locomotion on asteroids. The experiments reported here are indicative of a few, but several additional key challenges deserve early attention by researchers. One of them is the mechanics of controlled ballistic hopping on rotating asteroids and in non-uniform gravity fields due to their irregularly shaped bodies. Bellerose et al (Bellerose et al., 2008; Bellerose & Scheeres, 2008) modeled the dynamics of hopping vehicles to enable hops covering designated distances by computing and controlling initial hop velocity. The model accounts for distance covered by residual bounces as the vehicle comes to rest (considering surface friction coefficient and restitution). A particularly challenging aspect to consider is that some asteroid shapes may have surface locations where a vehicle could stay in equilibrium, thus affecting vehicle dynamics on the surface (Bellerose et al., 2008; Bellerose & Scheeres, 2008). Conceivably, a hopping rover could be perturbed away from predicted ballistic trajectories by such equilibria. This can affect exploration objectives by constraining the total area that a rover can safely or reliably traverse to on an asteroid surface when stable and unstable equilibrium locations happen to coincide with surface regions of scientific interest. Purely hopping vehicles that operate primarily at the mercy of small body physics can have limited accessibility of such surface regions. Bellerose's model also provides insight into the effects of non-uniform gravity fields and how centripetal and Coriolis forces due to asteroid rotation may assist or hinder hop performance (Bellerose & Scheeres, 2008). Another key challenge is achieving the ability to land after hopping in such a way as to avoid rebound. Control and robotics techniques can be used to address this challenge. One robot

concept employs a spring and linear actuators with horizontal velocity control to achieve this (Shimoda et al., 2003), while other research is experimenting with active grappling of the surface upon landing (Chacin, 2007; Chacin & Yoshida, 2008; 2009). The related challenge, central to gravity-independent locomotion, is maintaining grip or temporary anchoring while controlling force for closure and compliance. The work presented herein and in (Chacin

& Yoshida, 2009) examines the motion/force control and dynamic modeling germane to the problem of stable crawling and force closure needed to maintain contact/grip with an asteroid surface under microgravity conditions. Experiments with ASTRO reveal the utility of force feedback for maintaining contact during execution of compliant motion. Kennedy et al (Kennedy et al., 2005) address active force control to achieve anchoring associated with stable free-climbing motion control. Tactile sensing and related motion planning algorithms

<sup>333</sup> Gravity-Independent Locomotion:

The low gravity environment and its effect on surface vehicles present a key challenge for rover localization whether hopping, crawling, or climbing. Determining, updating and maintaining knowledge of rover position and orientation on an asteroid surface can be important for recording spatial context for surface science measurements and for certain mission concepts of operation. Localization approaches for hopping robots have been proposed with some reliance on range measurements to an orbiting or station-keeping mother spacecraft (Yoshimitsu et al., 2001) and via use of more general approaches such as particle filters (Martinez, 2004), Kalman Filters with landmark geo-referencing (Fiorini et al., 2005), and optical flow as well as visual odometry without continuous terrain feature tracking while tumbling (So et al., 2008; 2009). During local navigation across the terrain, existing localization approaches for rolling or walking robots may apply. These may be based on use of extended Kalman Filters on fused celestial sensor data and optical-flow measurements (Baumgartner et

Finally, a key challenge is the testing and verification of gravity-independent locomotion systems to ensure confidence in their technology readiness for asteroid missions. This is always a challenge for space systems and particularly those intended for operation in microgravity domains. The testbed described in the previous section and its means of emulating reduced gravity are representative solutions for addressing the challenge using relatively affordable technology. Other testbed approaches to emulating reduced gravity in the laboratory include the use of overhead gantry systems with frictionless air-bearing pulleys from which to suspend prototype rovers, and the use of prototype rovers on flat air-tables or mounted on a mobile base with integrated air bearings. Beyond the fundamental feasibility of controlled surface mobility in low gravity fields of asteroids, additional challenges of high relevance and importance remain to be addressed by advanced research and technology

In this chapter, various approaches to gravity-independent locomotion on weak gravity surfaces of asteroids are discussed along with related technologies. Challenges are also described that affect planning and control of surface exploration robots that use hopping and

Given the focus on gravity-independent locomotion approaches, technologies, and challenges of robotic mobility on asteroids, an in-depth representative example of an asteroid mobility solution and control approach is provided. The control approach considers reaction and friction forces with the asteroid surface and is demonstrated using a prototype robot (ASTRO) and laboratory testbed that emulates microgravity. This example considered issues that most solutions must address related to the microgravity environment and its effect on dynamics of

The research presents a planning and control structure for the locomotion of a multi-limbed robot under microgravity conditions. The algorithm can be considered as constructive proof

rolling mechanisms and/or articulated limbs for the ground contact.

(Bretl et al., 2003) have been implemented on the LEMUR IIb robot.

Dynamics and Position-Based Control of Robots on Asteroid Surfaces

al., 1998).

development.

**6. Summary and conclusions**

robotic systems on asteroids.

Fig. 11. Movement over inclined frictional surface with friction feedback gait control.

20 Will-be-set-by-IN-TECH

(a) (b)

(c) (d)

(e) (f)

Fig. 11. Movement over inclined frictional surface with friction feedback gait control.

& Yoshida, 2009) examines the motion/force control and dynamic modeling germane to the problem of stable crawling and force closure needed to maintain contact/grip with an asteroid surface under microgravity conditions. Experiments with ASTRO reveal the utility of force feedback for maintaining contact during execution of compliant motion. Kennedy et al (Kennedy et al., 2005) address active force control to achieve anchoring associated with stable free-climbing motion control. Tactile sensing and related motion planning algorithms (Bretl et al., 2003) have been implemented on the LEMUR IIb robot.

The low gravity environment and its effect on surface vehicles present a key challenge for rover localization whether hopping, crawling, or climbing. Determining, updating and maintaining knowledge of rover position and orientation on an asteroid surface can be important for recording spatial context for surface science measurements and for certain mission concepts of operation. Localization approaches for hopping robots have been proposed with some reliance on range measurements to an orbiting or station-keeping mother spacecraft (Yoshimitsu et al., 2001) and via use of more general approaches such as particle filters (Martinez, 2004), Kalman Filters with landmark geo-referencing (Fiorini et al., 2005), and optical flow as well as visual odometry without continuous terrain feature tracking while tumbling (So et al., 2008; 2009). During local navigation across the terrain, existing localization approaches for rolling or walking robots may apply. These may be based on use of extended Kalman Filters on fused celestial sensor data and optical-flow measurements (Baumgartner et al., 1998).

Finally, a key challenge is the testing and verification of gravity-independent locomotion systems to ensure confidence in their technology readiness for asteroid missions. This is always a challenge for space systems and particularly those intended for operation in microgravity domains. The testbed described in the previous section and its means of emulating reduced gravity are representative solutions for addressing the challenge using relatively affordable technology. Other testbed approaches to emulating reduced gravity in the laboratory include the use of overhead gantry systems with frictionless air-bearing pulleys from which to suspend prototype rovers, and the use of prototype rovers on flat air-tables or mounted on a mobile base with integrated air bearings. Beyond the fundamental feasibility of controlled surface mobility in low gravity fields of asteroids, additional challenges of high relevance and importance remain to be addressed by advanced research and technology development.

## **6. Summary and conclusions**

In this chapter, various approaches to gravity-independent locomotion on weak gravity surfaces of asteroids are discussed along with related technologies. Challenges are also described that affect planning and control of surface exploration robots that use hopping and rolling mechanisms and/or articulated limbs for the ground contact.

Given the focus on gravity-independent locomotion approaches, technologies, and challenges of robotic mobility on asteroids, an in-depth representative example of an asteroid mobility solution and control approach is provided. The control approach considers reaction and friction forces with the asteroid surface and is demonstrated using a prototype robot (ASTRO) and laboratory testbed that emulates microgravity. This example considered issues that most solutions must address related to the microgravity environment and its effect on dynamics of robotic systems on asteroids.

The research presents a planning and control structure for the locomotion of a multi-limbed robot under microgravity conditions. The algorithm can be considered as constructive proof

Chacin, M. & Yoshida, K. (2005). Multi-limbed rover for asteroid surface exploration

<sup>335</sup> Gravity-Independent Locomotion:

*Conference on Intelligent Robots and Systems (IROS2006)* Beijing, China. 2006. Chacin, M. & Yoshida, K. (2006). Evolving Legged Rovers for Minor Body Exploration

Chacin, M., Nagatani, K. & Yoshida, K. (2006). Next-Generation Rover Development for

Chacin, M. (2007). Landing Stability and Motion Control of Multi-Limbed Robots for Asteroid

Chacin, M. & Yoshida, K. (2008). A Microgravity Emulation Testbed for Asteroid Exploration

Cottingham, C.M., Deininger, W.D., Dissly, R.W., Epstein, K.W., Waller, D.M. & Scheeres, D.J.

Ebbets, D., Reinert, R. & Dissly, R. (2007). Small landing probes for in-situ characterization

Fiorini, P., Cosma, C. & Confente, M. (2005). Localization and sensing for hopping robots.

Fujiwara A., Kawaguchi J., Yeomans D. K. et al. (2006). The Rubble Pile Asteroid Itokawa as

Ge, L., Sethi, S., Ci, L., Ajayan, P.M. & Dhinojwala, A. (2007). Carbon nanotube-based synthetic

Gilardi, G. & Shraf, I. (2002). Literature Survey of Contact Dynamics Modeling. *Mechanism and*

Hatton, R.L. & Choset, H. (2010). Generating gaits for snake robots: annealed chain fitting and keyframe wave extraction. *Autonomous Robots*, pp. 271-281, Vol. 28, 2010.

Automation in Space (i-SAIRAS08) Los Angeles, CA, February 2008. Chacin, M. & Yoshida K., (2009). Motion control of multi-limbed robots for asteroid

*Robotics and Biomechatronics, BioRob2006* Pisa, Italy. 2006.

*Flight Dynamics* Kanazawa, Japan. June 2006.

Dynamics and Position-Based Control of Robots on Asteroid Surfaces

University, Tohoku, Japan, 2007.

*Automation*, Kobe, Japan, May 2009.

*Automation, ICRA* pp. 1837-1842, USA. 1999.

*Autonomous Robots*, pp. 185-200, Vol. 18, 2005.

*Machine Theory*, pp.1213-1239, Vol. 37, 2002.

League City, TX. 2007.

2007.

Vol. 312, No. 5778, June, 2006.

using static locomotion. *Proceedings of the 8th International Symposium on Artificial Intelligence, Robotics and Automation in Space*, Munich, Germany. September 2005. Chacin, M. & Yoshida, K. (2006). Stability and Adaptability Analysis for Legged Robots

Intended for Asteroid Exploration. *Proceedings of the 2006 IEEE International*

Missions. *Proceedings of the 1st IEEE / RAS-EMBS International Conference on Biomedical*

Asteroid Surface Exploration: System Description. *Proceedings of the 25th International Symposium on Space Technology and Science and 19th International Symposium on Space*

Exploration Missions. *Ph.D. dissertation*, Dept. of Aerospace Engineering, Tohoku

Robots. Proceedings of International Symposium on Artificial Intelligence, Robotics,

exploration missions, *Proceedings 2009 IEEE International Conference on Robotics and*

(2009). Asteroid Surface Probes: A low-cost approach for the in situ exploration of small solar system objects. *Proceedings IEEE Aerospace Conference*, Big Sky, MT, 2009. Dalilsafaei, S. (2007). Dynamic analyze of snake robot. *Proceedings World Academy of Science, Engineering and Technology*, pp. 305-310, Issue 29, Berlin, Germany. May, 2007. Der Stappen, A. V., Wentink, C. & Overmars, M. (1999). Computing form-closure

configurations. *Proceedings of the IEEE International Conference on Robotics and*

of asteroids and comets. *textitProceedings 38th Lunar and Planetary Science Conference*,

observed by Hayabusa. Report: Hayabusa at asteroid Itokawa. *Science*, pp. 1330-1334,

gecko tapes. *Procedings National Academy of Sciences*, pp. 10792-10795, Vol. 104, No. 26,

that there exists a solution that satisfies the force conditions for any system with friction. It works by reacting to the current locations of contact points and estimating the force-closure condition for stable motion. Such a mechanism is central in the control structure.

The control methods proposed in this research are useful to improve the operational performance and efficiency for robots capable of position-based controlled motion on an asteroid. They demonstrated that proper knowledge of the force cone interaction with the surface plays a significant role in the development of proper control procedures that can allow next-generation surface robots to gain proper mobility in a microgravity environment.

### **7. Acknowledgments**

The research reported in this chapter was partly sponsored by the Japanese Ministry of Education, Culture, Sports, Science and Technology and conducted at the Space Robotics Laboratory in Tohoku University, Sendai, Japan. Partial support of the JHU/APL Civilian Space Business Area is acknowledged.

### **8. References**


22 Will-be-set-by-IN-TECH

that there exists a solution that satisfies the force conditions for any system with friction. It works by reacting to the current locations of contact points and estimating the force-closure

The control methods proposed in this research are useful to improve the operational performance and efficiency for robots capable of position-based controlled motion on an asteroid. They demonstrated that proper knowledge of the force cone interaction with the surface plays a significant role in the development of proper control procedures that can allow next-generation surface robots to gain proper mobility in a microgravity environment.

The research reported in this chapter was partly sponsored by the Japanese Ministry of Education, Culture, Sports, Science and Technology and conducted at the Space Robotics Laboratory in Tohoku University, Sendai, Japan. Partial support of the JHU/APL Civilian

ATI Industrial Automation (2005). Force Torque Transducer TWE F/T Instalation and oparation manual. *Component data sheet*, ATI Industrial Automation. 2005. Bares, J., Hebert, M., Kanade, T., Krotkov, E., Mitchell, T., Simmons, R. & Whittaker, W. (1999).

Brach, R. M. (1991). Mechanical Impact Dynamics: Rigid Body Collisions. John Wiley & Sons.

Baumgartner, E.T., Wilcox, B.H., Welch, R.V. & Jones, R.M. (1998). Mobility performance of a

Behar, A., Bekey, G., Friedman, G., & Desai, R. (1997). Sub-kilogram intelligent tele-robots

Bellerose, J. & Scheeres, D.J. (2008). Dynamics and control for surface exploration of small

Bombardelli, C., Broschart, M. & Menon, C. (2007). Bio-inspired landing and attachment

Borenstein, J. (1995). Control and Kinematic Design of Multi-degree-of-freedom Mobile

Bretl, T. & Rock, S. & Latombe, J.C. (2003). Motion planning for a three-limbed climbing robot

*World Automation Congress*, Anchorage, Alaska. 1998.

*Optimization*, pp. 135-150, January, Gainesville, FL. 2008.

Ambler: An Autonomous Rover for Planetary Exploration. *IEEE Computer*, pp. 18-26,

small-body rover. *Proceedings 7th International Symposium on Robotics and Applications,*

(SKIT) for asteroid exploration and exploitation. *Proceedings SSI/Princeton Conference on Space Manufacturing, Space Studies Institute*, pp. 65-83, May, Princeton, NJ. 1997. Bellerose, J., Girard, A. & Scheeres, D.J. (2008). Dynamics and control of surface exploration

robots on asteroids. *Proceedings 8th International Conference on Cooperative Control and*

bodies. *Proceedings AIAA/AAS Astrodynamics Specialist Conference and Exhibit*, Paper

system for miniaturised surface modules. *Proceedings 58th International Astronautical*

Robots with Compliant Linkage. *IEEE Transactions on Robotics and Automation*, pp.

in vertical natural terrain. *IEEE International Conference on Robotics and Automation*,

condition for stable motion. Such a mechanism is central in the control structure.

**7. Acknowledgments**

**8. References**

1991.

Space Business Area is acknowledged.

Vol. 22, No 6, 1999.

6251, Honolulu, Hawaii, 2008.

*Congress* Hyderabad, India. 2007.

21-35, Vol. 11, No. 1, February, 1995.

pp. 2947-2953, Taipei, Taiwan, 2003.


Richter, L. (1998). Principles for robotic mobility on minor solar system bodies, *Robotics and*

<sup>337</sup> Gravity-Independent Locomotion:

Schell, S., Tretten, A., Burdick, J., Fuller, S.B. & Fiorini, P. (2001). Hopper on wheels: Evolving

Scheeres, D. (2004). Dynamical Environment About Asteroid 25143 Itokawa. University of

Scheeres, D., Broschart, S., Ostro, S.J. & Benner, L.A. (2004). The Dynamical Environment

Shimoda, S., Wingart, A., Takahashi, K., Kubota, T. & Nakatani, I. (2003). Microgravity

Silva, M.F. & Tenreiro Machado, J.A. (2008). New technologies for climbing robots adhesion

So, E.W.Y., Yoshimitsu, T. & Kubota, T. (2008). Relative localization of a hopping rover on an

So, E.W.Y., Yoshimitsu, T. & Kubota, T. (2009). Hopping odometry: Motion estimation with

Tunstel, E. (1999). Evolution of autonomous self-righting behaviors for articulated nanorovers.

Transeth, A.A., Pettersen, K.Y. & Liljebck, P. (2009). A survey on snake robot modeling and

Vukobratovic, M., Frank, A. & Juricic, D. (1970). On the Stability of Biped Locomotion. *IEEE*

Wagner, R. & Lane, H. (2007). Lessons learned on the AWIMR project. *Proceedings of the IEEE*

Wilcox, B.H. & Jones, R.M. (2000). The MUSES-CN nanorover mission and related technology.

Wilcox, B.H. & Jones, R.M. (2001). A 1 kilogram asteroid exploration rover. *Proceedings IEEE International Conference on Robotics and Automation (ICRA)*, San Francisco, CA. 2001. Wilcox, B., Litwin, T., Biesiadecki, J., Matthews, J., Heverly, M., Morrison, J., Townsend,

Yano, H., Kubota, T., Miyamoto, H. & Yoshida, K. et al. (2006). Touchdown of the Hayabusa

Michigan, Department of Aerospace Engineering, USA, 2004.

*Technology and Science*, pp. 456-461, Miyazaki, Japan, 2004.

*Systems*, pp. 3808-3813, October, St. Louis, MO. 2009.

*in Space*, pp. 341-346, Noordwijk, The Netherlands, June, 1999.

locomotion. *Robotica*, pp. 999-1015, Vol. 27, No. 7, December. 2009.

*Transactions on Biomedical Engineering*, pp. 25-36, Vol.17, No.1, 1970.

*IEEE Aerospace Conference*, Big Sky, MT, USA, pp. 287-295, 2000.

the hopping robot concept. *Proceedings International Conference on Field and Service*

About Asteroid 25143 Itokawa. *Proceedings of the 24th International Symposium on Space*

hopping robot with controlled hopping and landing capability. *textitProceedings IEEE/RSJ Intl. Conference on Intelligent Robots and Systems*, pp. 2571-2576, October, Las

to surfaces. *Proceedings International Workshop on New Trends in Science and Technology*,

asteroid surface using optical flow. *Proceedings Intl. Conf. on Instrumentation, Control, and Information Technology, SICE Annual Conference*, pp. 1727-1732, August, Tokyo,

selective vision. *Proceedings IEEE/RSJ International Conference on Intelligent Robots and*

*Proceedings 5th International Symposium on Artificial Intelligence, Robotics & Automation*

*International Conference Robotics and Automation, Space Robotics Workshop*, Rome, Italy.

J., Ahmad, N., Sirota, A. & Cooper, B. (2007). ATHLETE: A cargo handling and manipulation robot for the moon. *Journal of Field Robotics*, pp. 421-434, Volume 24,

Spacecraft at the Muses Sea on Itokawa. Report: Hayabusa at asteroid Itokawa.

*Autonomous Systems*, pp. 117-124, Vol. 23, 1998.

Dynamics and Position-Based Control of Robots on Asteroid Surfaces

*Robotics*, pp. 379-384, Helsinki, Finland, 2001.

Vegas, NV, 2003.

Japan. 2008.

2007.

Issue 5, May 2007.

*Science*, Vol. 312, No. 312, June, 2006.

November, Ankara, Turkey, 2008.


24 Will-be-set-by-IN-TECH

Hirabayashi, H., Sugimoto, K., Enomoto, A. & Ishimaru, I. (2000). Robot Manipulation Using

Hokamoto, S. & Ochi, M. (2001). Dynamic behavior of a multi-legged planetary rover

Inoue, K., Mae, Y., Arai, T. & Koyachi, N. (2002). Sensor-based Walking of Limb Mechanism on

JAXA / Institute of Space and Astronautical Science (2003), Asteroid Explorer HAYABUSA,

Johns Hopkins University Applied Physics Laboratory (1996), Near Earth Asteroid

Jones, R. et al. (1998). NASA/ISAS collaboration on the ISAS MUSES C asteroid sample return

Kajita, S., Kanehiro, F., Kaneko, K., Fujiwara, K., Harada, K., Yokoi, K. & Hirukawa, H. (2003).

Kawaguchi, J., Uesugi, K. & Fujiwara, A. (2003). The MUSES-C mission for the sample

Keller, J. B. (1986). Impact With Friction. *ASME Journal of Applied Mechanics*, Vol. 53, No. 1,

Kennedy, B., Okon, A., Aghazarian, H., Badescu, M., Bao, X. & Bar-Cohen, Y. et al. (2005).

*Conference on Climbing and Walking Robots*, pp. 595-695, London, UK, 2005. Klein, D.P.C. & Briggs, R. (1980). Use of compliance in the control of legged vehicles. *IEEE Transactions on Systems, Man and Cybernetics*, pp. 393-400, Vol. 10, No. 7, 1980. Kubota, T., Takahashi, K., Shimoda, S., Yoshimitsu, T. & Nakatani, I. (2009). Locomotion

Martinez-Cantin, R. (2004). Bio-inspired multi-robot behavior for exploration in low gravity

Menon, C., Murphy, M., Sitti, M. & Lan, N. (2007). Space exploration Towards bio-inspired

M.K. Habib, Ed., Vienna, Austria: I-Tech Education and Publishing, 2007. Nakamura, Y., Shimoda, S. & Shoji, S. (2000). Mobility of a microgravity rover using internal

NASA / Jet Propulsion Laboratory (2007), Dawn Mission, *http://dawn.jpl.nasa.gov/*, September

*Robots and Systems*, pp. 1639-1645, Takamatsu, Japan, 2000.

*Robotics, and Automation in Space*, June, St-Hubert, Quebec, Canada, 2001. Inoue, K., Arai, T., Mae, Y., Takahashi, Y., Yoshida, H. & Koyachi, N. (2001). Mobile

*IFAC Workshop on Mobile Robot Technology*, pp. 104-109, 2001.

Rendezvous - Shoemaker Mission, *http://near.jhuapl.edu*, 1996.

*Robots and Systems (IROS'03)*, pp. 1644-1650, 2003.

No.5, 2000.

*Robots (CLAWAR)*, 2002.

Pasadena, CA. 1998.

117-123, Vol. 52, 2003.

1986.

Canada, 2004.

2007.

*http://hayabusa.jaxa.jp/*, 2003.

Virtual Compliance Control. *Journal of Robotics and Mechatronics*, pp. 567-575, Vol. 12,

of isotropic shape. *Proceedings 6th International Symposium on Artificial Intelligence,*

Manipulation of Limbed Robots -Proposal on Mechanism and Control. *Preprints of*

Rough Terrain. *Proceedings of the 5th International Conference on Climbing and Walking*

mission. *Proceedings of 3rd IAA International Conference on Low-Cost Planetary Missions*,

Resolved Momentum Control: Humanoid Motion Planning based on the Linear and Angular Momentum. *Proceedings of the IEEE/RSJ International Conference on Intelligent*

and returnits technology development status and readiness. *Acta Astronautica*, pp.

LEMUR IIb: A robotic system for steep terrain access. *Proceedings 8th International*

mechanism of intelligent unmanned explorer for deep space exploration. *Intelligent Unmanned Systems: Theory and Applications*, pp. 11-26, Vol. 192, Springer, Berlin, 2009.

environments. *Proceedings 55th International Astronautical Congress*, Vancouver,

climbing robots. *Bioinspiration and Robotics: Walking and Climbing Robots*, pp. 261-278,

electro-magnetic levitation. *Proceedings IEEE/RSJ International Conference on Intelligent*


**0**

**17**

<sup>1</sup>*France* <sup>2</sup>*Italy*

**Kinematic and Inverse Dynamic Analysis**

Parallel manipulators have been proposed to overcome accuracy problem in the end effector positioning, exhibited by serial manipulators(Stewart, 1965)(Reboulet, 1988)(Merlet, 2000). These parallel robots are primarly used in the applications for which the considered processes require a high degree of accuracy, high speeds or accelerations. Aircraft simulator (Stewart, 1965), machining tools (Neugebauer et al., 1998)(Poignet et al., 2002), and various other medical applications (Merlet, 2002)(Leroy et al., 2003)(Plitea et al., 2008) constitute some of the

The computation of the inverse dynamic model is essential for an effective robot control. In the field of parallel robots, many approaches have been developed for efficient computation of the inverse dynamics. The formalism of d'Alembert has been used to obtain an analytical expression of the dynamics model (Fichter, 1986)(Nakamura & Ghodoussi, 1989). The principle of virtual works has been applied in (Tsai, 2000) for solving the inverse dynamics of the Gough-Stewart platform and in (Zhu et al., 2005) for a Tau parallel robot. Lagrangian formalism is applied in (Leroy et al., 2003) for the dynamics modeling of a parallel robot used as a haptic interface for a surgical simulator. These various approaches do not seem effective for a robot dynamic control under the real time constraint. A better computational efficiency can be achieved by the development of approaches using recursive schemes, in particular, based on the Newton-Euler formulation. Gosselin (Gosselin, 1996) proposed an approach for the computation of the inverse dynamic model of planar and spatial parallel robots, in which all the masses and inertias are taken into account. This proposed method is difficult to generalize for all the parallel architectures. Dasgupda et al (Dasgupta & Choudhury, 1999) applied this method to several parallel manipulators. Khan (Khan, 2005) has developed a recursive algorithm for the inverse dynamics. This method is applied to a 3*R* planar parallel robot. Bi et al (Bi & Lang, 2006) use the Newton-Euler recursive scheme for the computation of the articular forces of a tripod system. Khalil et al (Khalil & Guegan, 2004) proposed a general method for the inverse and direct dynamic model computation of parallel robots, which is

Despite the large amount of contributions in this field, there is still a need for improving the computational effeciency of the inverse kinematic and dynamic model clculation for real-time control. In this paper, a parallel robot is considered as a multi robot system with

**1. Introduction**

many possible applications of parallel robots.

applied to several parallel manipulators (Khalil & Ibrahim, 2007).

**of a C5 Joint Parallel Robot**

<sup>2</sup>*The Italian Institute of Technology*

Georges Fried1, Karim Djouani1 and Amir Fijany<sup>2</sup> <sup>1</sup>*University of Paris Est Créteil LISSI-SCTIC Laboratory*


## **Kinematic and Inverse Dynamic Analysis of a C5 Joint Parallel Robot**

Georges Fried1, Karim Djouani1 and Amir Fijany<sup>2</sup>

<sup>1</sup>*University of Paris Est Créteil LISSI-SCTIC Laboratory* <sup>2</sup>*The Italian Institute of Technology* <sup>1</sup>*France* <sup>2</sup>*Italy*

### **1. Introduction**

26 Will-be-set-by-IN-TECH

338 Robotic Systems – Applications, Control and Programming

Yoshida, K. (1997). A General Formulation for Under-Actuated Manipulators. *Proceedings*

Yoshida, K. (1999). Touch-Down Dynamics Simulation of MUSES-C with a Contact Friction

Yoshida, K. (1999). The jumping tortoise: A robot design for locomotion on micro gravity

*Automation in Space*, pp. 705-707, Noordwijk, The Netherlands, June, 1999. Yoshida, K., Kubota, T., Sawai, S., Fujiwara, A.& Uo M. (2001). MUSES-C Touch-down

Yoshida, K., Maruki, T. & Yano, H. (2001). A Novel Strategy for Asteroid Exploration with

Yoshimitsu, T., Kubota, T. & Akabane, S. et al. (2001). Autonomous navigation and observation

AAS/AIAA, Santa Barbara, California, February, 2001.

1997.

2001.

Kanagawa, Japan. 1999.

*Robotics*, pp. 281-286, Finland, 2002.

*IEEE/RSJ Int. Conf. on Intelligent Robots and Systems*, pp.1651-1957, Grenoble, France,

Model. *Proceedings of 9th Workshop on Astrodynamics and Flight Mechanics* JAXA,

surface. *Proceedings 5th International Symposium on Artificial Intelligence, Robotics &*

Simulation on the Ground. *In AAS/AIAA Space Flight Mechanics Meeting*, pp. 481-490,

a Surface Robot. *Proceedings of the 3rd International Conference on Field and Service*

on asteroid surface by hopping rover MINERVA. *Proceedings 6th International Symposium on Artificial Intelligence, Robotics & Automation in Space*, Quebec, Canada.

Parallel manipulators have been proposed to overcome accuracy problem in the end effector positioning, exhibited by serial manipulators(Stewart, 1965)(Reboulet, 1988)(Merlet, 2000). These parallel robots are primarly used in the applications for which the considered processes require a high degree of accuracy, high speeds or accelerations. Aircraft simulator (Stewart, 1965), machining tools (Neugebauer et al., 1998)(Poignet et al., 2002), and various other medical applications (Merlet, 2002)(Leroy et al., 2003)(Plitea et al., 2008) constitute some of the many possible applications of parallel robots.

The computation of the inverse dynamic model is essential for an effective robot control. In the field of parallel robots, many approaches have been developed for efficient computation of the inverse dynamics. The formalism of d'Alembert has been used to obtain an analytical expression of the dynamics model (Fichter, 1986)(Nakamura & Ghodoussi, 1989). The principle of virtual works has been applied in (Tsai, 2000) for solving the inverse dynamics of the Gough-Stewart platform and in (Zhu et al., 2005) for a Tau parallel robot. Lagrangian formalism is applied in (Leroy et al., 2003) for the dynamics modeling of a parallel robot used as a haptic interface for a surgical simulator. These various approaches do not seem effective for a robot dynamic control under the real time constraint. A better computational efficiency can be achieved by the development of approaches using recursive schemes, in particular, based on the Newton-Euler formulation. Gosselin (Gosselin, 1996) proposed an approach for the computation of the inverse dynamic model of planar and spatial parallel robots, in which all the masses and inertias are taken into account. This proposed method is difficult to generalize for all the parallel architectures. Dasgupda et al (Dasgupta & Choudhury, 1999) applied this method to several parallel manipulators. Khan (Khan, 2005) has developed a recursive algorithm for the inverse dynamics. This method is applied to a 3*R* planar parallel robot. Bi et al (Bi & Lang, 2006) use the Newton-Euler recursive scheme for the computation of the articular forces of a tripod system. Khalil et al (Khalil & Guegan, 2004) proposed a general method for the inverse and direct dynamic model computation of parallel robots, which is applied to several parallel manipulators (Khalil & Ibrahim, 2007).

Despite the large amount of contributions in this field, there is still a need for improving the computational effeciency of the inverse kinematic and dynamic model clculation for real-time control. In this paper, a parallel robot is considered as a multi robot system with

**2.1.2 Spatial quantities**

• V*<sup>j</sup>* =

� *ωj vj* �

**2.1.3 Global quantities**

Q˙ *j* �

*Vj* �

> *Hj* �

• Q˙ = *Col* �

• *<sup>V</sup>* <sup>=</sup> *Col* �

• <sup>H</sup> <sup>=</sup> *Diag* �

**2.2 General notation** With any vector V = �

(DOF) around z-axis, *Hj* is given by:

• *Ij* ∈ �6×<sup>6</sup> : spatial inertia of body *<sup>j</sup>*

∈ �6: spatial velocity of point *Oj*

mass of link *j*. The spatial inertia *Ij* can be calculated by:

Where s*<sup>j</sup>* represents the position vector from *Oj* to *Gj*

The following global quantities are defined for *j* = *N* to 1

: vector of joint velocity

• M : Symmetric positive definite (SPD) mass matrix

*Vx Vy Vz*

The tensor *<sup>V</sup>*˜ has the property that *<sup>V</sup>*˜ <sup>=</sup> <sup>−</sup>*V*˜ *<sup>t</sup>* and *<sup>V</sup>*˜

frame is a skew symmetric matrix given by:

�*t*

*V*˜ = ⎡ ⎣

cross-product operator. A matrix *V***ˆ** associated to the vector V is defined as:

• <sup>V</sup>*N*+**<sup>1</sup>** ∈ �6: spatial velocity of the end effector

*IGj* =

∈ �6*N*: global vector of spatial velocities

∈ �6*N*×*N*: global matrix of spatial axis.

• *Hj*: spatial-axis (map matrix) of joint *j*. For a joint with one rotational degree of freedom

Kinematic and Inverse Dynamic Analysis of a C5 Joint Parallel Robot 341

⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣

⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦

*Hj* =

The spatial inertia of body *j* about its center of mass,*Gj*, is denoted by *IGj* and is given by:

where *JGj* is the second moment of mass of link *j* about its center of mass and *mj* is the

*Ij* = <sup>S</sup>ˆ*<sup>j</sup> IGj* <sup>S</sup><sup>ˆ</sup> <sup>t</sup>

0 −*Vz Vy Vz* 0 −*Vx* −*Vy Vx* 0

�

*j*

, a tensor *V*˜ can be associated whose representation in any

<sup>1</sup>V<sup>2</sup> = V<sup>1</sup> × V<sup>2</sup> i.e., it is the vector

⎤ ⎦

∈ �6×<sup>6</sup>

� *JGj* 0 0 *mj U*

*k* serial robots (the *k* parallel robot segments) moving a common load (the mobile platform). The proposed approach uses the methodology developed by Khalil et al (Khalil & Guegan, 2004)(Khalil & Ibrahim, 2007).

In this paper, we first review the proposed approaches for computation of kinematics and inverse dynamics of of a C5 joint parallel robot. One of the interesting aspects of the parallel robots is that, unlike the serial robots, it is easy and efficient to directly compute the inverse of Jacobian matrix: However, there seems to be no proposed approach for direct computation of the Jacobian matrix. We propose a new method which allows the derivation of the Jacobian matrix in a factored form, i.e., as a product of two highly sparse matrices. This factored form enables a very fast computation and application of the Jacobian matrix, which is also needed for the inverse dynamics computation. Another issue for inverse dynamics computation is the determination of joint accelerations given the acceleration of the mobile platform. We propose a new scheme that, by using projection matrices, enablse a fast and direct calculation of the joint accelerations. Since this calculation is needed in any inverse dynamics formalism, our proposed new method improves the efficiency of the computation. For calculation of the inverse dynamics, we consider the formalism developped by Khalil et al (Khalil & Guegan, 2004)(Khalil & Ibrahim, 2007). In this approach, since the inverse of Jacobian is used, the calculation of the joint forces would require a linear system solution. We show that, by using our factorized form of the Jacobian, our proposed scheme not only eliminates the need for linear system solution but it also does not require the explicit computation of either Jacobian or its inverse. As a result, a significantly better efficiency in the computation can be achieved. This paper is organized as follows. In Section 2, we present some preliminaries and the notation used in our appraoches. The C5 parallel robot is presented in Section 3. The proposed methodologies for computation of the inverse kinematics and the inverse Jacobian matrix are reviewed in Sections 4 and 5. The new methodology for derivation of the Jacobian matrix in a factored form is presented in Section 6. In Section 7, we present a fast and direct scheme for calculation of joint accelerations, given the desired acceleration of the mobile platform. The formalism for computation of the inverse dynamics, developed by Khalil et al (Khalil & Guegan, 2004)(Khalil & Ibrahim, 2007), is discussed in Section 8 and it is shown how the new scheme for calculation of joint accelerations as well as the use of factored form of the Jacobian matrix can significantly improve the computational efficiency. A simulation of the proposed scheme for computation of the inverse dynamics is provided in section 9 validating the proposed approach. Finally, some concluding remarks are presented in Section 10.

## **2. Preliminaries**

In this section, the required notation for a serial chain are presented (see also Fig. 1).

### **2.1 System model and notations**

### **2.1.1 Joint and link parameters**


### **2.1.2 Spatial quantities**

2 Will-be-set-by-IN-TECH

*k* serial robots (the *k* parallel robot segments) moving a common load (the mobile platform). The proposed approach uses the methodology developed by Khalil et al (Khalil & Guegan,

In this paper, we first review the proposed approaches for computation of kinematics and inverse dynamics of of a C5 joint parallel robot. One of the interesting aspects of the parallel robots is that, unlike the serial robots, it is easy and efficient to directly compute the inverse of Jacobian matrix: However, there seems to be no proposed approach for direct computation of the Jacobian matrix. We propose a new method which allows the derivation of the Jacobian matrix in a factored form, i.e., as a product of two highly sparse matrices. This factored form enables a very fast computation and application of the Jacobian matrix, which is also needed for the inverse dynamics computation. Another issue for inverse dynamics computation is the determination of joint accelerations given the acceleration of the mobile platform. We propose a new scheme that, by using projection matrices, enablse a fast and direct calculation of the joint accelerations. Since this calculation is needed in any inverse dynamics formalism, our proposed new method improves the efficiency of the computation. For calculation of the inverse dynamics, we consider the formalism developped by Khalil et al (Khalil & Guegan, 2004)(Khalil & Ibrahim, 2007). In this approach, since the inverse of Jacobian is used, the calculation of the joint forces would require a linear system solution. We show that, by using our factorized form of the Jacobian, our proposed scheme not only eliminates the need for linear system solution but it also does not require the explicit computation of either Jacobian or its inverse. As a result, a significantly better efficiency in the computation can be achieved. This paper is organized as follows. In Section 2, we present some preliminaries and the notation used in our appraoches. The C5 parallel robot is presented in Section 3. The proposed methodologies for computation of the inverse kinematics and the inverse Jacobian matrix are reviewed in Sections 4 and 5. The new methodology for derivation of the Jacobian matrix in a factored form is presented in Section 6. In Section 7, we present a fast and direct scheme for calculation of joint accelerations, given the desired acceleration of the mobile platform. The formalism for computation of the inverse dynamics, developed by Khalil et al (Khalil & Guegan, 2004)(Khalil & Ibrahim, 2007), is discussed in Section 8 and it is shown how the new scheme for calculation of joint accelerations as well as the use of factored form of the Jacobian matrix can significantly improve the computational efficiency. A simulation of the proposed scheme for computation of the inverse dynamics is provided in section 9 validating the proposed approach. Finally, some concluding remarks are presented in Section

In this section, the required notation for a serial chain are presented (see also Fig. 1).

*th* joint

*th* joint

2004)(Khalil & Ibrahim, 2007).

10.

**2. Preliminaries**

**2.1 System model and notations 2.1.1 Joint and link parameters**

• *N*: number of bodies

• P*j*: position vector from *Oj* to *Oj*+<sup>1</sup>

• Q*j*, Q˙ *<sup>j</sup>*: position and velocity of the *j*

• *Oj*: Origin of frame *j* which is taken to be the center of *j*

• *Hj*: spatial-axis (map matrix) of joint *j*. For a joint with one rotational degree of freedom (DOF) around z-axis, *Hj* is given by:

$$H\_j = \begin{bmatrix} 0\\0\\1\\0\\0\\0 \end{bmatrix}$$


The spatial inertia of body *j* about its center of mass,*Gj*, is denoted by *IGj* and is given by:

$$I\_{G\_{\circ}} = \begin{bmatrix} J\_{G\_{\circ}} & 0 \\ 0 & m\_{\circ} \, U \end{bmatrix} \in \mathfrak{R}^{6 \times 6}$$

where *JGj* is the second moment of mass of link *j* about its center of mass and *mj* is the mass of link *j*. The spatial inertia *Ij* can be calculated by:

$$I\_j = \mathbf{S}\_f \ I\_{G\_f} \mathbf{S}\_f^t$$

Where s*<sup>j</sup>* represents the position vector from *Oj* to *Gj*

• <sup>V</sup>*N*+**<sup>1</sup>** ∈ �6: spatial velocity of the end effector

### **2.1.3 Global quantities**

The following global quantities are defined for *j* = *N* to 1


#### **2.2 General notation**

With any vector V = � *Vx Vy Vz* �*t* , a tensor *V*˜ can be associated whose representation in any frame is a skew symmetric matrix given by:

$$
\tilde{V} = \begin{bmatrix}
0 & -V\_z & V\_y \\
V\_z & 0 & -V\_x \\
\end{bmatrix},
$$

The tensor *<sup>V</sup>*˜ has the property that *<sup>V</sup>*˜ <sup>=</sup> <sup>−</sup>*V*˜ *<sup>t</sup>* and *<sup>V</sup>*˜ <sup>1</sup>V<sup>2</sup> = V<sup>1</sup> × V<sup>2</sup> i.e., it is the vector cross-product operator. A matrix *V***ˆ** associated to the vector V is defined as:

Thus, inserting the expression of V from Eq. (3), we obtain:

**2.3.2 Acceleration and force propagation**

Where F*Sj* represents the constraint force.

Fig. 1. Joint force and position vector of a serial chain.

the serial chain (Luh et al., 1980).

(*DOC* = 6 − *DOF*).

Thus:

V*N*+**<sup>1</sup>** = *β*

J = *β* P*t*

V˙ *<sup>j</sup>* = Pˆ <sup>t</sup>

F*<sup>j</sup>* = *Ij* V˙

force of the form (see, for example (Fijany et al., 1995) (Fijany et al., 1997), as:

*Ht*

*Ht*

*HjH<sup>t</sup>*

The propagation of accelerations and forces among the links of serial chain are given by:

*<sup>j</sup>−***<sup>1</sup>** <sup>V</sup>˙

*<sup>j</sup>* + Pˆ

Eqs. (9)-(10) represent the simplified N-E algorithm (with nonlinear terms being excluded) for

The force F*<sup>j</sup>* can be written, by using a rather unconventional decomposition of inter body

Complement to the Degrees Of Freedom (*DOF*), Degrees Of Constraint (*DOC*) are introduced

The projection matrices *Hj* and *Wj* are taken to satisfy the following orthogonality conditions:

*<sup>j</sup>* <sup>+</sup> *WjW<sup>t</sup>*

*<sup>j</sup> Wj* <sup>=</sup> *<sup>W</sup><sup>t</sup>*

*<sup>j</sup> Hj* <sup>=</sup> *<sup>W</sup><sup>t</sup>*

 P*t*

Kinematic and Inverse Dynamic Analysis of a C5 Joint Parallel Robot 343

<sup>−</sup><sup>1</sup> <sup>H</sup>*Q***˙** (7)

<sup>−</sup><sup>1</sup> <sup>H</sup> (8)

*<sup>j</sup>−***<sup>1</sup>** <sup>+</sup> *Hj*Q¨ *<sup>j</sup>* (9)

F*<sup>j</sup>* = *Hj* F*Tj* + *Wj* F*Sj* (11)

*<sup>j</sup>* F*j*+**<sup>1</sup>** (10)

*<sup>j</sup> Hj* = 0 (12)

*<sup>j</sup> Wj* = *U* (14)

*<sup>j</sup>* = *U* (13)

$$
\hat{\Psi} = \begin{bmatrix} \hat{U} \ \vec{V} \\ 0 \ \hat{U} \end{bmatrix}
$$

where *U* and 0 stand for unit and zero matrices of appropriate size.

In our derivation, we also make use of global matrices and vectors which lead to a compact representation of various factorizations. A bidiagonal block matrix P∈�6*N*×6*<sup>N</sup>* is defined as:

$$\mathcal{P} = \begin{bmatrix} \boldsymbol{U} \\ -\hat{\mathsf{P}}\_{N-1} & \boldsymbol{U} & \boldsymbol{0} \\ \boldsymbol{0} & -\hat{\mathsf{P}}\_{N-2} \, \boldsymbol{U} \\ \boldsymbol{0} & \boldsymbol{0} \\ \vdots & \vdots \\ \boldsymbol{0} & \boldsymbol{0} & \boldsymbol{0} - \mathsf{P}\_1 \, \boldsymbol{U} \end{bmatrix}$$

The inverse of matrix P is a block triangular matrix given by:

$$\mathcal{P}^{-1} = \begin{bmatrix} U & 0 & \cdots & 0 \\ \hat{P}\_{N,N-1} & U & 0 & \cdots & 0 \\ \hat{P}\_{N,N-2} & \hat{P}\_{N-1,N-2} & U & 0 & 0 \\ \vdots & \vdots & \vdots & \vdots & \vdots \\ \hat{P}\_{N,1} & \hat{P}\_{N-1,1} & \cdots & \hat{P}\_{2,1} & U \end{bmatrix}$$

### **2.3 Equations of motion**

In this section, we briefly review the equations of motion: velocity, force and acceleration propagation, for a serial chain of interconnected bodies.

#### **2.3.1 Velocity propagation**

The velocity propagation for a serial chain of interconnected bodies, shown in Fig. (1), is given by the following intrinsic equation:

$$\mathbf{V}\_{j} - \mathbf{\hat{P}}\_{j-1}^{t} \mathbf{V}\_{j-1} = H\_{j} \mathbf{\dot{Q}}\_{j} \tag{1}$$

By using the matrix P, Eq. (1) can be expressed in a global form as:

$$\mathcal{P}^t \mathcal{V} = \mathcal{H} \dot{\mathcal{Q}} \tag{2}$$

thus:

$$\mathcal{V} = \left(\mathcal{P}^t\right)^{-1} \mathcal{H}\dot{\mathbf{Q}} \tag{3}$$

The end effector spatial velocity V*N*+**<sup>1</sup>** is obtained by the following relation:

$$\mathbf{V}\_{\mathbf{N}+\mathbf{1}} - \mathbf{P}\_{\mathbf{N}}^{\mathbf{t}} \mathbf{V}\_{\mathbf{N}} = \mathbf{0} \tag{4}$$

thus:

$$\mathbf{V\_{N+1}} = \mathbf{\hat{P}\_N^t} \mathbf{V\_N} \tag{5}$$

Let *<sup>β</sup>* ∈ �6×6*<sup>N</sup>* be the matrix defined by *<sup>β</sup>* <sup>=</sup> � *P***ˆ**t *<sup>N</sup>* 0 ··· 0 � , Eq. (5) becomes:

$$\mathbf{V\_{N+1}} = \beta \mathbf{V} \tag{6}$$

Thus, inserting the expression of V from Eq. (3), we obtain:

$$\mathcal{V}\_{\mathbf{N}+\mathbf{1}} = \mathcal{\beta} \left(\mathcal{P}^{\mathbf{f}}\right)^{-1} \mathcal{H}\dot{\mathbf{Q}} \tag{7}$$

Thus:

4 Will-be-set-by-IN-TECH

In our derivation, we also make use of global matrices and vectors which lead to a compact representation of various factorizations. A bidiagonal block matrix P∈�6*N*×6*<sup>N</sup>* is defined as:

> ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦

<sup>−</sup>*P***<sup>ˆ</sup>** *<sup>N</sup>−***<sup>1</sup>** *<sup>U</sup>* <sup>0</sup> <sup>0</sup> <sup>−</sup>*P***<sup>ˆ</sup>** *<sup>N</sup>−***<sup>2</sup>** *<sup>U</sup>* 0 0

*U* 0 ··· 0

*<sup>N</sup>−***1,***N−***<sup>2</sup>** *U* 0 0

**2,1** *U*

⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦

*<sup>j</sup>−***<sup>1</sup>** <sup>V</sup>*j−***<sup>1</sup>** <sup>=</sup> *HjQ***˙** *<sup>j</sup>* (1)

<sup>P</sup>*<sup>t</sup> <sup>V</sup>* <sup>=</sup> <sup>H</sup>*Q***˙** (2)

�−<sup>1</sup> <sup>H</sup>*Q***˙** (3)

*<sup>N</sup>* V*<sup>N</sup>* = 0 (4)

*<sup>N</sup>* V*<sup>N</sup>* (5)

, Eq. (5) becomes:

V*N*+**<sup>1</sup>** = *βV* (6)

*<sup>N</sup>−***1,1** ··· <sup>P</sup><sup>ˆ</sup>

*<sup>N</sup>***,***N−***<sup>1</sup>** *U* 0 ··· 0

. . . . . . . . . . .

*V***ˆ** = � *U V*˜ 0 *U* �

where *U* and 0 stand for unit and zero matrices of appropriate size.

⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ *U*

. . . . . . 0 00 <sup>−</sup>*P***ˆ1** *<sup>U</sup>*

P =

The inverse of matrix P is a block triangular matrix given by:

⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣

Pˆ

Pˆ

*<sup>N</sup>***,***N−***<sup>2</sup>** <sup>P</sup><sup>ˆ</sup>

. .

In this section, we briefly review the equations of motion: velocity, force and acceleration

The velocity propagation for a serial chain of interconnected bodies, shown in Fig. (1), is given

*<sup>N</sup>***,1** Pˆ

. .

Pˆ

<sup>V</sup>*<sup>j</sup>* <sup>−</sup> *<sup>P</sup>***ˆ***<sup>t</sup>*

*<sup>V</sup>* <sup>=</sup> � P*t*

<sup>V</sup>*N*+**<sup>1</sup>** <sup>−</sup> *<sup>P</sup>***ˆ**<sup>t</sup>

V*N*+**<sup>1</sup>** = Pˆ <sup>t</sup>

� *P***ˆ**t

*<sup>N</sup>* 0 ··· 0

�

The end effector spatial velocity V*N*+**<sup>1</sup>** is obtained by the following relation:

By using the matrix P, Eq. (1) can be expressed in a global form as:

<sup>P</sup>−<sup>1</sup> <sup>=</sup>

propagation, for a serial chain of interconnected bodies.

**2.3 Equations of motion**

**2.3.1 Velocity propagation**

thus:

thus:

by the following intrinsic equation:

Let *<sup>β</sup>* ∈ �6×6*<sup>N</sup>* be the matrix defined by *<sup>β</sup>* <sup>=</sup>

$$\mathcal{J} = \mathcal{J} \left( \mathcal{P}^t \right)^{-1} \mathcal{H} \tag{8}$$

#### **2.3.2 Acceleration and force propagation**

The propagation of accelerations and forces among the links of serial chain are given by:

$$
\dot{\mathbf{V}}\_{\dot{j}} = \dot{\mathbf{P}}\_{\dot{j}-1}^{t} \dot{\mathbf{V}}\_{\dot{j}-1} + H\_{\dot{j}} \ddot{\mathbf{Q}}\_{\dot{j}} \tag{9}
$$

$$F\_{\hat{f}} = I\_{\hat{f}} \dot{V}\_{\hat{f}} + \hat{P}\_{\hat{f}} F\_{\hat{f}+1} \tag{10}$$

Eqs. (9)-(10) represent the simplified N-E algorithm (with nonlinear terms being excluded) for the serial chain (Luh et al., 1980).

The force F*<sup>j</sup>* can be written, by using a rather unconventional decomposition of inter body force of the form (see, for example (Fijany et al., 1995) (Fijany et al., 1997), as:

$$F\_{\dot{\jmath}} = H\_{\dot{\jmath}} \, \mathbf{F}\_{\mathbf{T}\_{\dot{\jmath}}} + W\_{\dot{\jmath}} \, \mathbf{F}\_{\mathbf{S}\_{\dot{\jmath}}} \tag{11}$$

Where F*Sj* represents the constraint force.

Complement to the Degrees Of Freedom (*DOF*), Degrees Of Constraint (*DOC*) are introduced (*DOC* = 6 − *DOF*).

The projection matrices *Hj* and *Wj* are taken to satisfy the following orthogonality conditions:

$$H\_j^t \, W\_{\dot{l}} = W\_{\dot{l}}^t \, H\_{\dot{l}} = 0 \tag{12}$$

$$\rm{H}\_{\dot{\jmath}}\rm{H}\_{\dot{\jmath}}^{t} + \rm{W}\_{\dot{\jmath}}\rm{W}\_{\dot{\jmath}}^{t} = \rm{U} \tag{13}$$

$$\mathbf{M}\_{\mathbf{j}}^{\mathbf{t}} H\_{\mathbf{j}} = \mathbf{W}\_{\mathbf{j}}^{\mathbf{t}} \mathbf{W}\_{\mathbf{j}} = \mathbf{U} \tag{14}$$

Fig. 1. Joint force and position vector of a serial chain.

Fig. 4. Details of the C5 joint.

are given by:

where:

*r*<sup>11</sup> = cos *β* cos *γ r*<sup>12</sup> = − cos *β* sin *γ r*<sup>13</sup> = sin *β*

Following notations are used in the description of the parallel robot:

• *Rp* is the mobile frame, attached to the mobile part: *Rp* = �

• *O* is the origin of the absolute coordinate system.

expression for this matrix is given by:

*r*<sup>21</sup> = sin *γ* cos *α* + cos *γ* sin *β* sin *α r*<sup>22</sup> = cos *α* cos *γ* − sin *α* sin *β* sin *γ*

• *Rb* is the absolute frame, attached to to the fixed base: *Rb* = (0, *x*, *y*, *z*).

• *Ai* is the center of the joint between the segment *i* and the fixed base:

• *C* is the origin of the mobile coordinate system, whose coordinates in the absolute frame

Kinematic and Inverse Dynamic Analysis of a C5 Joint Parallel Robot 345

*xc yc zc*

*ax i a y <sup>i</sup> <sup>a</sup><sup>z</sup> i* �*t*

*bx i b y <sup>i</sup> <sup>b</sup><sup>z</sup> i* �*t*

*r*<sup>11</sup> *r*<sup>12</sup> *r*<sup>13</sup> *r*<sup>21</sup> *r*<sup>22</sup> *r*<sup>23</sup> *r*<sup>31</sup> *r*<sup>32</sup> *r*<sup>33</sup> ⎤

�*t*

OC/*Rb* <sup>=</sup> �

OAi/*Rb* <sup>=</sup> �

CBi/*Rp* <sup>=</sup> �

• *R* is the rotation matrix, with elements *rij* (using the *RPY* formalism), expressing the orientation of the *Rp* coordinate system with respect to the *Rb* coordinate system. The

> ⎡ ⎣

• *Bi* is the center of the rotational joint between the segment *i* and the mobile part:

*R* =

*C*, *xp*, *yp*, *zp*

� .

⎦ (15)

## **3. C**5 **parallel robot**

The C5 joint parallel robot (Dafaoui et al., 1998) consists of a static and a mobile part connected together by six actuated segments (Fig. 2 and 3). Each segment is connected to the static part at point *Ai* and linked to the mobile part through a C5 passive joint (3*DOF*) in rotation and 2*DOF* in translation) at point *Bi*. Each C5 joint consists of a spherical joint tied to two crossed sliding plates (Fig 4). Each segment is equipped with a ball and a screw linear actuator driven by a DC motor.

Fig. 2. C5 joint parallel robot

Fig. 3. C5 parallel robot representation.

Fig. 4. Details of the C5 joint.

6 Will-be-set-by-IN-TECH

The C5 joint parallel robot (Dafaoui et al., 1998) consists of a static and a mobile part connected together by six actuated segments (Fig. 2 and 3). Each segment is connected to the static part at point *Ai* and linked to the mobile part through a C5 passive joint (3*DOF*) in rotation and 2*DOF* in translation) at point *Bi*. Each C5 joint consists of a spherical joint tied to two crossed sliding plates (Fig 4). Each segment is equipped with a ball and a screw linear actuator driven

**3. C**5 **parallel robot**

by a DC motor.

Fig. 2. C5 joint parallel robot

Fig. 3. C5 parallel robot representation.

Following notations are used in the description of the parallel robot:


$$OC\_{/R\_b} = \begin{bmatrix} x\_c \ y\_c \ z\_c \end{bmatrix}^t$$

• *Ai* is the center of the joint between the segment *i* and the fixed base:

$$\mathbf{O} \mathbf{A}\_{\mathbf{i}/R\_{\flat}} = \begin{bmatrix} a\_i^{\times} \ a\_i^{y} \ a\_i^{z} \end{bmatrix}^{\dagger}$$

• *Bi* is the center of the rotational joint between the segment *i* and the mobile part:

$$C B\_{i/R\_p} = \begin{bmatrix} b\_i^x \ b\_i^y \ b\_i^z \end{bmatrix}^t$$

• *R* is the rotation matrix, with elements *rij* (using the *RPY* formalism), expressing the orientation of the *Rp* coordinate system with respect to the *Rb* coordinate system. The expression for this matrix is given by:

$$R = \begin{bmatrix} r\_{11} \ r\_{12} \ r\_{13} \\ r\_{21} \ r\_{22} \ r\_{23} \\ r\_{31} \ r\_{32} \ r\_{33} \end{bmatrix} \tag{15}$$

where:

*r*<sup>11</sup> = cos *β* cos *γ r*<sup>12</sup> = − cos *β* sin *γ r*<sup>13</sup> = sin *β r*<sup>21</sup> = sin *γ* cos *α* + cos *γ* sin *β* sin *α r*<sup>22</sup> = cos *α* cos *γ* − sin *α* sin *β* sin *γ*

*H*<sup>52</sup> = *H*<sup>62</sup> =

*W*<sup>12</sup> = *W*<sup>22</sup> = �

*W*<sup>32</sup> = *W*<sup>42</sup> = �

*W*<sup>52</sup> = *W*<sup>62</sup> = �

• *Iij* ∈ �6×<sup>6</sup> : spatial inertia of body *<sup>j</sup>* for the segment *<sup>i</sup>*

∈ �<sup>6</sup> is the spatial velocity of the link *<sup>j</sup>* for the segment *<sup>i</sup>*

∈ �12: global vector of spatial velocities for the segment *<sup>i</sup>*

∈ �12×6: global matrix of spatial axis for the leg *<sup>i</sup>*

In this section, we briefly review the methodology used for the inverse kinematic model

The inverse kinematic model relates the active joint variables Q<sup>a</sup> =

*<sup>Q</sup>*<sup>61</sup> *<sup>Q</sup>*<sup>51</sup> *<sup>Q</sup>*<sup>41</sup> *<sup>Q</sup>*<sup>31</sup> *<sup>Q</sup>*<sup>21</sup> *<sup>Q</sup>*<sup>11</sup> �*<sup>t</sup>* to the operational variables which define the position and the orientation of the end effector (X). This relation is given by the following equation

computation. More details can be found in (Dafaoui et al., 1998).

• M*<sup>i</sup>* : Symmetric positive definite (SPD) mass matrix of the segment *i*

• V*ij* =

• *<sup>V</sup><sup>i</sup>* <sup>=</sup> *Col* �

• <sup>H</sup>*<sup>i</sup>* <sup>=</sup> *Diag* �

� *ωij vij* �

*Vij* �

Fig. 5. Force and position vectors.

**4. Inverse kinematic model**

�

*Hij* �

⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣

Kinematic and Inverse Dynamic Analysis of a C5 Joint Parallel Robot 347

000100 �*<sup>t</sup>*

000010 �*<sup>t</sup>*

000001 �*<sup>t</sup>*

⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦

*r*<sup>23</sup> = − cos *β* sin *α r*<sup>31</sup> = sin *γ* sin *α* − cos *γ* sin *β* cos *α r*<sup>32</sup> = sin *α* cos *γ* + cos *α* sin *β* sin *γ r*<sup>33</sup> = cos *β* cos *α*


$$\mathbf{X} = \begin{bmatrix} \mathfrak{a} \ \mathfrak{b} \ \gamma \ \mathbf{x}\_{\mathfrak{c}} \ \mathbf{y}\_{\mathfrak{c}} \ \mathbf{z}\_{\mathfrak{c}} \end{bmatrix}^{t}$$

In the following, the parallel robot is considered as six serial robots (the six segments) moving a common load (the mobile platform). According to our notation presented in the previous section, we define the following quantities:


$$\begin{aligned} H\_{11} &= H\_{21} = \begin{bmatrix} 0 \ 0 \ 0 \ 1 \ 0 \ 0 \end{bmatrix}^T \\ H\_{31} &= H\_{41} = \begin{bmatrix} 0 \ 0 \ 0 \ 0 \ 1 \ 0 \end{bmatrix}^T \\ H\_{51} &= H\_{61} = \begin{bmatrix} 0 \ 0 \ 0 \ 0 \ 0 \ 1 \end{bmatrix}^T \\\\ H\_{12} &= H\_{22} = \begin{bmatrix} 0 \ 0 \ 0 \ 0 \ 1 \\\ 0 \ 0 \ 0 \ 1 \ 0 \\\ 0 \ 0 \ 0 \ 0 \\\ 0 \ 0 \ 0 \ 0 \\\ 0 \ 1 \ 0 \ 0 \ 0 \\\ 1 \ 0 \ 0 \ 0 \ 0 \\\ \end{bmatrix} \\ H\_{32} &= H\_{42} = \begin{bmatrix} 0 \ 0 \ 0 \ 0 \ 1 \\\ 0 \ 0 \ 0 \ 0 \\\ 0 \ 0 \ 1 \ 0 \\\ 0 \ 1 \ 0 \ 0 \\\ 0 \ 1 \ 0 \ 0 \\\ 0 \ 0 \ 0 \ 0 \\\ 1 \ 0 \ 0 \ 0 \\\ \end{bmatrix} \end{aligned}$$

8 Will-be-set-by-IN-TECH

• The rotation angles, *α*, *β* and *γ* , also called Roll Pitch and Yaw (RPY), describe the rotation of the mobile platform with respect to the fixed part. *α* is the rotation around *x* axis, *β*

In the following, the parallel robot is considered as six serial robots (the six segments) moving a common load (the mobile platform). According to our notation presented in the previous

*αβγ xc yc zc*

�*t*

*th* joint of the segment *i*. For the C5 joint robot the projection

000100 �*<sup>t</sup>*

000010 �*<sup>t</sup>*

000001 �*<sup>t</sup>*

⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦

⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦

⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣

⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣

X = �

*th* joint of the segment *i*

∈ �<sup>6</sup> is the joint coordinate vector of the segment *<sup>i</sup>*

∈ �<sup>6</sup> is the joint velocity vector of the segment *<sup>i</sup>*

matrices *Hij* and *Wij*, describe in the base frame, are given as:

∈ �<sup>6</sup> is the joint acceleration vector of the segment *<sup>i</sup>*

*<sup>H</sup>*<sup>11</sup> = *<sup>H</sup>*<sup>21</sup> = �

*H*<sup>31</sup> = *H*<sup>41</sup> = �

*H*<sup>51</sup> = *H*<sup>61</sup> = �

*H*<sup>12</sup> = *H*<sup>22</sup> =

*H*<sup>32</sup> = *H*<sup>42</sup> =

*r*<sup>23</sup> = − cos *β* sin *α*

*r*<sup>33</sup> = cos *β* cos *α*

• *i* is the segment index • *j* is the body index

• Q*ij* is the position of the *j*

• *Hij* is the spatial-axis of joint *j*

� Q*i***<sup>2</sup>** Q*i***<sup>1</sup>** �

� Q˙ *<sup>i</sup>***<sup>2</sup>** Q˙ *<sup>i</sup>***<sup>1</sup>** �

� Q¨ *<sup>i</sup>***<sup>2</sup>** Q¨ *<sup>i</sup>***<sup>1</sup>** �

• *Oij* is the *j*

• Q<sup>i</sup> =

• Q˙ <sup>i</sup> =

• Q¨ <sup>i</sup> =

*r*<sup>31</sup> = sin *γ* sin *α* − cos *γ* sin *β* cos *α r*<sup>32</sup> = sin *α* cos *γ* + cos *α* sin *β* sin *γ*

around *y* axis and *γ* around *z* axis.

section, we define the following quantities:

• P*ij* is the position vector from *Oij* to *Oi*,*j*+<sup>1</sup>

*th* joint center of the segment *i*

• X is the task coordinate vector.

$$H\_{52} = H\_{62} = \begin{bmatrix} 0 \ 0 \ 0 \ 0 \ 1 \\ 0 \ 0 \ 0 \ 1 \ 0 \\ 0 \ 0 \ 1 \ 0 \ 0 \\ 0 \ 1 \ 0 \ 0 \ 0 \\ 1 \ 0 \ 0 \ 0 \ 0 \\ 0 \ 0 \ 0 \ 0 \ 0 \end{bmatrix}$$

$$\begin{array}{c} W\_{12} = W\_{22} = \begin{bmatrix} 0 \ 0 \ 0 \ 1 \ 0 \ 0 \end{bmatrix}^t \\ W\_{32} = W\_{42} = \begin{bmatrix} 0 \ 0 \ 0 \ 0 \ 1 \ 0 \end{bmatrix}^t \\ W\_{52} = W\_{62} = \begin{bmatrix} 0 \ 0 \ 0 \ 0 \ 0 \ 1 \end{bmatrix}^t \end{array}$$


Fig. 5. Force and position vectors.

### **4. Inverse kinematic model**

In this section, we briefly review the methodology used for the inverse kinematic model computation. More details can be found in (Dafaoui et al., 1998).

The inverse kinematic model relates the active joint variables Q<sup>a</sup> = � *<sup>Q</sup>*<sup>61</sup> *<sup>Q</sup>*<sup>51</sup> *<sup>Q</sup>*<sup>41</sup> *<sup>Q</sup>*<sup>31</sup> *<sup>Q</sup>*<sup>21</sup> *<sup>Q</sup>*<sup>11</sup> �*<sup>t</sup>* to the operational variables which define the position and the orientation of the end effector (X). This relation is given by the following equation

and inserting Eq. (17) into Eq. (18), we obtain the following expression:

�

(n<sup>6</sup> × B6C)

(n<sup>5</sup> × B5C)

(n<sup>4</sup> × B4C)

(n<sup>3</sup> × B3C)

(n<sup>2</sup> × B2C)

(n<sup>1</sup> × B1C)

(n<sup>i</sup> × BiC)

Kinematic and Inverse Dynamic Analysis of a C5 Joint Parallel Robot 349

The inverse Jacobian matrix of the C5 parallel robot is then given by the following relation:

*<sup>t</sup>* n*<sup>t</sup>* 6 ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦

=

⎡ ⎢ ⎢ ⎣

*<sup>t</sup>* n*<sup>t</sup>* 5

*<sup>t</sup>* n*<sup>t</sup>* 4

*<sup>t</sup>* n*<sup>t</sup>* 3

*<sup>t</sup>* n*<sup>t</sup>* 2

*<sup>t</sup>* n*<sup>t</sup>* 1

As stated before, for parallel robots, unlike the serial robots, the inverse of Jacobian matrix can be directly and efficiently obtained. In fact, the cost of computation of <sup>J</sup> <sup>−</sup><sup>1</sup> from Eq. (22) is (18*m* + 30*a*) where *m* and *a* denote the cost of multiplication and addition, respectively.

The differential kinematic model of a manipulator is defined by the relationship between the spatial velocity of the end effector and the vector of generalized coordinate velocities of the

For parallel robots, it seems more efficient to compute the Jacobian matrix J by inverting the inverse Jacobian matrix <sup>J</sup> <sup>−</sup><sup>1</sup> (see for example (Khalil & Ibrahim, 2007)). In deriving the forward kinematic model of the C5 parallel robot, an analytical expression of the Jacobian matrix is presented in (Dafaoui et al., 1998). From a computational efficiency point of view, such a classical method, which is only applicable to the C5 parallel robot, is not well suited

Here, we present opur approach for direct and efficient computation of the Jacobian matrix (Fried et al., 2006). In this approach, an analytical expression of the Jacobian matrix is obtained in factorized form as a product of sparse matrices which achieves a much better

In our approach, the parallel robot is considered as a multi-robot system, composed of serial robots (the segments) moving a common load (the mobile platform). A relationship between the Jacobian matrix of the parallel robot (J ) to the Jacobian matrix of each segment (J*i*) is first

The principle of this approach consists of first computing the Jacobian matrix for each leg considered as an open serial chain. Secondly, the closing constraint is determined, allowing

The Jacobian matrix J of the parallel robot is obtained by the closing constraint determination of the kinematic chain. This determination can be obtained by expressing the actuated joint velocity *<sup>Q</sup>***˙** <sup>a</sup> of the parallel robot in function of vectors *<sup>Q</sup>***˙** <sup>i</sup> associated to each segment *<sup>i</sup>*. Let

*<sup>t</sup>* n*<sup>t</sup>* i �

*<sup>i</sup>*<sup>1</sup> = niv*N*+**<sup>1</sup>** + ω*N*+**<sup>1</sup>** (n<sup>i</sup> × B*i*C) (20)

(n<sup>6</sup> × P**62**)

. . . (n<sup>1</sup> × P**12**)

*<sup>t</sup>* n*<sup>t</sup>* 6 ⎤ ⎥ ⎥ ⎦

*<sup>t</sup>* n*<sup>t</sup>* 1

*<sup>Q</sup>***˙** <sup>i</sup> = <sup>Π</sup>*<sup>i</sup> <sup>Q</sup>***˙** <sup>a</sup> (23)

(21)

(22)

*Q*˙

The (<sup>6</sup> <sup>−</sup> *<sup>i</sup>*)*th* row of the inverse Jacobian matrix is given as:

⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣

<sup>J</sup> <sup>−</sup><sup>1</sup> <sup>=</sup>

**6. Factorized expression of the Jacobian matrix**

robot: <sup>V</sup>*N*+**<sup>1</sup>** <sup>=</sup> <sup>J</sup> *<sup>Q</sup>***˙** <sup>a</sup>, where <sup>J</sup> is the Jacobian matrix.

the computation of the parallel robot Jacobian matrix.

**6.1 General approach**

for real-time control.

computational efficiency.

the matrix Π*<sup>i</sup>* be defined as:

derived.

(Dafaoui et al., 1998):

$$\begin{cases} Q\_{11} = x\_c + \frac{r\_{31}(z\_c - L) + r\_{21}y\_c}{r\_{11}}\\ Q\_{21} = x\_c + \frac{r\_{31}(z\_c + L) + r\_{21}y\_c}{r\_{11}}\\ Q\_{31} = y\_c + \frac{r\_{12}(x\_c - L) + r\_{32}z\_c}{r\_{22}}\\ Q\_{41} = y\_c + \frac{r\_{12}(x\_c + L) + r\_{32}z\_c}{r\_{22}}\\ Q\_{51} = z\_c + \frac{r\_{23}(y\_c - L) + r\_{13}x\_c}{r\_{33}}\\ Q\_{61} = z\_c + \frac{r\_{23}(y\_c + L) + r\_{13}x\_c}{r\_{33}}\end{cases} \tag{16}$$

where:

$$L = \frac{\|\mathbf{A}\_i \mathbf{A}\_{i+1}\|}{2} \text{ for } i = 1, 3 \text{ and } 5$$

For the C5 joint parallel robot, the actuators are equidistant from point *O* (Fig. 6).

Fig. 6. The spatial arrangement of the C5 joint parallel robot segments.

### **5. Determination of the inverse Jacobian matrix**

For parallel robots, the inverse Jacobian matrix computation (<sup>J</sup> <sup>−</sup>1) is obtained by the determination of the velocity of point *Bi* (Merlet, 2000)(Gosselin, 1996):

$$
\dot{\mathbf{O}} \dot{\mathbf{B}}\_i = v\_{N+1} + \mathbf{B}\_i \mathbf{C} \times \boldsymbol{\omega}\_{N+1} \tag{17}
$$

By using the following:

$$
\dot{Q}\_{i1} = \mathbf{O} \dot{\mathbf{B}}\_i \, n\_i \tag{18}
$$

where n<sup>i</sup> is the unit vector of the segment *i*, defined by:

$$n\_i = \frac{A\_i B\_i}{Q\_{i1}} \tag{19}$$

and inserting Eq. (17) into Eq. (18), we obtain the following expression:

$$
\dot{Q}\_{l1} = n\_i v\_{N+1} + \omega\_{N+1} \left( n\_i \times B\_i C \right) \tag{20}
$$

The (<sup>6</sup> <sup>−</sup> *<sup>i</sup>*)*th* row of the inverse Jacobian matrix is given as:

$$\left[ \left( n\_i \times B\_i C \right)^t n\_i^t \right] \tag{21}$$

The inverse Jacobian matrix of the C5 parallel robot is then given by the following relation:

$$\mathcal{J}^{-1} = \begin{bmatrix} \left(n\_{\mathsf{G}} \times \mathsf{B}\_{\mathsf{G}} \mathbf{C}\right)^{\dagger} \, n\_{\mathsf{G}}^{\dagger} \\ \left(n\_{\mathsf{5}} \times \mathsf{B}\_{\mathsf{5}} \mathbf{C}\right)^{\dagger} \, n\_{\mathsf{5}}^{\dagger} \\ \left(n\_{\mathsf{4}} \times \mathsf{B}\_{\mathsf{4}} \mathbf{C}\right)^{\dagger} \, n\_{\mathsf{4}}^{\dagger} \\ \left(n\_{\mathsf{3}} \times \mathsf{B}\_{\mathsf{3}} \mathbf{C}\right)^{\dagger} \, n\_{\mathsf{3}}^{\dagger} \\ \left(n\_{\mathsf{2}} \times \mathsf{B}\_{\mathsf{2}} \mathbf{C}\right)^{\dagger} \, n\_{\mathsf{2}}^{\dagger} \\ \left(n\_{\mathsf{1}} \times \mathsf{B}\_{\mathsf{1}} \mathbf{C}\right)^{\dagger} \, n\_{\mathsf{1}}^{\dagger} \end{bmatrix} = \begin{bmatrix} \left(n\_{\mathsf{6}} \times \mathsf{P}\_{\mathsf{6}2}\right)^{\dagger} \, n\_{\mathsf{6}}^{\dagger} \\ \vdots \\ \left(n\_{\mathsf{1}} \times \mathsf{P}\_{\mathsf{1}2}\right)^{\dagger} \, n\_{\mathsf{1}}^{\dagger} \end{bmatrix} \tag{22}$$

As stated before, for parallel robots, unlike the serial robots, the inverse of Jacobian matrix can be directly and efficiently obtained. In fact, the cost of computation of <sup>J</sup> <sup>−</sup><sup>1</sup> from Eq. (22) is (18*m* + 30*a*) where *m* and *a* denote the cost of multiplication and addition, respectively.

### **6. Factorized expression of the Jacobian matrix**

#### **6.1 General approach**

10 Will-be-set-by-IN-TECH

*<sup>Q</sup>*<sup>11</sup> <sup>=</sup> *xc* <sup>+</sup> *<sup>r</sup>*31(*zc*−*L*)+*r*21*yc*

*<sup>Q</sup>*<sup>21</sup> <sup>=</sup> *xc* <sup>+</sup> *<sup>r</sup>*31(*zc*+*L*)+*r*21*yc*

*<sup>Q</sup>*<sup>31</sup> <sup>=</sup> *yc* <sup>+</sup> *<sup>r</sup>*<sup>12</sup> (*xc*−*L*)+*r*32*zc*

*<sup>Q</sup>*<sup>41</sup> <sup>=</sup> *yc* <sup>+</sup> *<sup>r</sup>*<sup>12</sup> (*xc*+*L*)+*r*32*zc*

*<sup>Q</sup>*<sup>51</sup> <sup>=</sup> *zc* <sup>+</sup> *<sup>r</sup>*23(*yc*−*L*)+*r*<sup>13</sup> *xc*

*<sup>Q</sup>*<sup>61</sup> <sup>=</sup> *zc* <sup>+</sup> *<sup>r</sup>*23(*yc*+*L*)+*r*<sup>13</sup> *xc*

*L* = �A*i*A*i*+**1**�

Fig. 6. The spatial arrangement of the C5 joint parallel robot segments.

determination of the velocity of point *Bi* (Merlet, 2000)(Gosselin, 1996):

For parallel robots, the inverse Jacobian matrix computation (<sup>J</sup> <sup>−</sup>1) is obtained by the

<sup>n</sup><sup>i</sup> <sup>=</sup> <sup>A</sup>iB<sup>i</sup> *Qi*<sup>1</sup>

OB˙ <sup>i</sup> <sup>=</sup> <sup>v</sup>*N*+**<sup>1</sup>** <sup>+</sup> <sup>B</sup>i<sup>C</sup> <sup>×</sup> <sup>ω</sup>*N*+**<sup>1</sup>** (17)

*Q*˙ *<sup>i</sup>*<sup>1</sup> = OB˙ <sup>i</sup> n<sup>i</sup> (18)

**5. Determination of the inverse Jacobian matrix**

where n<sup>i</sup> is the unit vector of the segment *i*, defined by:

By using the following:

For the C5 joint parallel robot, the actuators are equidistant from point *O* (Fig. 6).

*r*<sup>11</sup>

*r*<sup>11</sup>

*r*<sup>22</sup>

(16)

(19)

*r*<sup>22</sup>

*r*<sup>33</sup>

*r*<sup>33</sup>

<sup>2</sup> for *i* = 1, 3 and 5

(Dafaoui et al., 1998):

where:

The differential kinematic model of a manipulator is defined by the relationship between the spatial velocity of the end effector and the vector of generalized coordinate velocities of the robot: <sup>V</sup>*N*+**<sup>1</sup>** <sup>=</sup> <sup>J</sup> *<sup>Q</sup>***˙** <sup>a</sup>, where <sup>J</sup> is the Jacobian matrix.

For parallel robots, it seems more efficient to compute the Jacobian matrix J by inverting the inverse Jacobian matrix <sup>J</sup> <sup>−</sup><sup>1</sup> (see for example (Khalil & Ibrahim, 2007)). In deriving the forward kinematic model of the C5 parallel robot, an analytical expression of the Jacobian matrix is presented in (Dafaoui et al., 1998). From a computational efficiency point of view, such a classical method, which is only applicable to the C5 parallel robot, is not well suited for real-time control.

Here, we present opur approach for direct and efficient computation of the Jacobian matrix (Fried et al., 2006). In this approach, an analytical expression of the Jacobian matrix is obtained in factorized form as a product of sparse matrices which achieves a much better computational efficiency.

In our approach, the parallel robot is considered as a multi-robot system, composed of serial robots (the segments) moving a common load (the mobile platform). A relationship between the Jacobian matrix of the parallel robot (J ) to the Jacobian matrix of each segment (J*i*) is first derived.

The principle of this approach consists of first computing the Jacobian matrix for each leg considered as an open serial chain. Secondly, the closing constraint is determined, allowing the computation of the parallel robot Jacobian matrix.

The Jacobian matrix J of the parallel robot is obtained by the closing constraint determination of the kinematic chain. This determination can be obtained by expressing the actuated joint velocity *<sup>Q</sup>***˙** <sup>a</sup> of the parallel robot in function of vectors *<sup>Q</sup>***˙** <sup>i</sup> associated to each segment *<sup>i</sup>*. Let the matrix Π*<sup>i</sup>* be defined as:

$$
\dot{Q}\_i = \Pi\_i \dot{Q}\_a \tag{23}
$$

for *i* and *j* = 1 to 6. From Eq. (31), we can show that for all *i*, *j* = 1, . . . , 6, we have the following

Kinematic and Inverse Dynamic Analysis of a C5 Joint Parallel Robot 351

*α*˙ *pi* = *α*˙ *pj β*˙ *pi* = *β*˙ *pj γ*˙ *pi* = *γ*˙ *pj*

*<sup>u</sup>*˙ *<sup>p</sup>*<sup>1</sup> <sup>=</sup> (*z*<sup>1</sup> <sup>−</sup> *<sup>z</sup>*3) *<sup>α</sup>*˙ *pi* <sup>+</sup> (*x*<sup>3</sup> <sup>−</sup> *<sup>x</sup>*1) *<sup>γ</sup>*˙ *pi* <sup>+</sup> *<sup>Q</sup>*˙

From Eq. (28), we have *y*<sup>1</sup> = *y*2, *z*<sup>3</sup> = *z*<sup>4</sup> and *x*<sup>5</sup> = *x*6. Thus, the Eqs. (33, 34, and 35) can be

*<sup>Q</sup>*˙ <sup>11</sup> <sup>=</sup> (*z*<sup>2</sup> <sup>−</sup> *<sup>z</sup>*1) *<sup>β</sup>*˙ *pi* <sup>+</sup> *<sup>Q</sup>*˙

<sup>31</sup> <sup>=</sup> (*x*<sup>4</sup> <sup>−</sup> *<sup>x</sup>*3) *<sup>γ</sup>*˙ *pi* <sup>+</sup> *<sup>Q</sup>*˙ <sup>41</sup> *<sup>Q</sup>*˙ <sup>51</sup> <sup>=</sup> (*y*<sup>6</sup> <sup>−</sup> *<sup>y</sup>*5) *<sup>α</sup>*˙ *pi* <sup>+</sup> *<sup>Q</sup>*˙ <sup>61</sup>

*<sup>y</sup>*6−*y*<sup>5</sup> 0 0 *<sup>x</sup>*1−*x*<sup>5</sup>

*x*4−*x*<sup>1</sup>

*<sup>y</sup>*6−*y*<sup>5</sup> <sup>0000</sup> 000001

*x*3−*x*<sup>1</sup> *x*3−*x*<sup>4</sup>

<sup>0000</sup> <sup>1</sup> *<sup>z</sup>*1−*z*<sup>2</sup> <sup>1</sup> *<sup>z</sup>*2−*z*<sup>1</sup> <sup>1</sup>

The computational cost of explicit construction of the matrix Π<sup>1</sup> is (17*m* + 28*a*) wherein the

Pˆ <sup>t</sup> **<sup>12</sup>** 0 � � *U* Pˆ <sup>t</sup> **11** 0 *U*

**<sup>11</sup>** *<sup>H</sup>*<sup>11</sup> �

=

⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣

<sup>11</sup> <sup>=</sup> (*z*<sup>2</sup> <sup>−</sup> *<sup>z</sup>*1) *<sup>β</sup>*˙ *pi* <sup>+</sup> (*y*<sup>1</sup> <sup>−</sup> *<sup>y</sup>*2) *<sup>γ</sup>*˙ *pi* <sup>+</sup> *<sup>Q</sup>*˙ <sup>21</sup> (33)

<sup>31</sup> <sup>=</sup> (*z*<sup>3</sup> <sup>−</sup> *<sup>z</sup>*4) *<sup>α</sup>*˙ *pi* <sup>+</sup> (*x*<sup>4</sup> <sup>−</sup> *<sup>x</sup>*3) *<sup>γ</sup>*˙ *pi* <sup>+</sup> *<sup>Q</sup>*˙ <sup>41</sup> (34)

<sup>51</sup> <sup>=</sup> (*y*<sup>6</sup> <sup>−</sup> *<sup>y</sup>*5) *<sup>α</sup>*˙ *pi* <sup>+</sup> (*x*<sup>5</sup> <sup>−</sup> *<sup>x</sup>*6) *<sup>β</sup>*˙ *pi* <sup>+</sup> *<sup>Q</sup>*˙ <sup>61</sup> (35)

*<sup>w</sup>*˙ *<sup>p</sup>*<sup>1</sup> <sup>=</sup> (*y*<sup>5</sup> <sup>−</sup> *<sup>y</sup>*1) *<sup>α</sup>*˙ *pi* <sup>+</sup> (*x*<sup>1</sup> <sup>−</sup> *<sup>x</sup>*5) *<sup>β</sup>*˙ *pi* <sup>+</sup> *<sup>Q</sup>*˙ <sup>51</sup> (37)

21

*z*1−*z*<sup>2</sup>

*<sup>x</sup>*4−*x*<sup>3</sup> 0 0

<sup>1</sup> *<sup>x</sup>*4−*x*<sup>3</sup> 0 0

*x*1−*x*<sup>5</sup> *z*2−*z*<sup>1</sup>

J = J<sup>1</sup> Π<sup>1</sup> (40)

⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦

� � *H*<sup>12</sup> 0 <sup>0</sup> *<sup>H</sup>*<sup>11</sup> �

00 0 0 1 0 00 0 1 0 0 00 1 0 0 0 0 0 −*y*<sup>1</sup> *z*<sup>1</sup> 0 1 0 1 *x*<sup>1</sup> 0 −*z*<sup>1</sup> 0 10 0 −*x*<sup>1</sup> *y*<sup>1</sup> 0

⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ (32)

(38)

(39)

(41)

<sup>31</sup> (36)

⎧ ⎨ ⎩

After some manipulations on relation (31), we obtain:

*Q*˙

*Q*˙

*Q*˙

*Q*˙

From Eqs. (30), (36), (37) and (38), the matrix Π<sup>1</sup> is computed as:

*y*5−*y*<sup>1</sup> *y*5−*y*<sup>6</sup>

*z*1−*z*<sup>3</sup> *y*5−*y*<sup>6</sup>

*y*5−*y*<sup>6</sup>

cost of division has been taken to be the same as multiplication.

<sup>J</sup><sup>1</sup> <sup>=</sup> *<sup>β</sup>*<sup>1</sup> <sup>P</sup>−*<sup>t</sup>*

Pˆ <sup>t</sup>

**<sup>12</sup>** *<sup>H</sup>*<sup>12</sup> <sup>P</sup><sup>ˆ</sup> <sup>t</sup>

<sup>J</sup><sup>1</sup> <sup>=</sup> �

*y*6−*y*<sup>1</sup>

*z*1−*z*<sup>3</sup> *y*6−*y*<sup>5</sup>

0 0 <sup>1</sup> *<sup>x</sup>*3−*x*<sup>4</sup>

1

Considering the matrix Π1, the expression of the jacobian matrix is given by:

<sup>1</sup> <sup>H</sup><sup>1</sup> <sup>=</sup> �

**<sup>12</sup>** <sup>P</sup><sup>ˆ</sup> <sup>t</sup>

⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣

Π<sup>1</sup> =

relations:

• For *i* = 1 and *j* = 2

• For *i* = 3 and *j* = 4:

• For *i* = 5 and *j* = 6:

• For *i* = 1 and *j* = 3:

• For *i* = 1 and *j* = 5:

written as:

With:

Thus:

Inserting Eq. (23) into Eq. (7), we obtain:

$$\mathcal{V}\_{\mathbf{N}+\mathbf{1}} = \beta\_i \left(\mathcal{P}\_i^t\right)^{-1} \mathcal{H}\_i \Pi\_i \dot{\mathcal{Q}}\_a \tag{24}$$

Therefore, a factorized expression of the parallel robot Jacobian matrix is obtained as:

$$\mathcal{J} = \mathcal{J}\_i \left(\mathcal{P}\_i^t\right)^{-1} \mathcal{H}\_i \Pi\_i \tag{25}$$

The matrices J and J*<sup>i</sup>* are related by the following relationship:

$$\mathcal{J} = \mathcal{J}\_{\text{i}} \Pi\_{\text{i}} \tag{26}$$

The computation of matrix of Π*<sup>i</sup>* depends on the considered parallel robot's structure. In the following, we present the computation of this matrix for the C5 parallel robot.

#### **6.2 Application to the C**5 **parallel robot**

Let P*i***<sup>2</sup>** = � *xi yi zi* �*t* denote the position vector from *Bi* to *C*:

$$P\_{i2} = B\_i C\_{/R\_\flat} = -Q\_{i1} \, n\_i + A\_i O + OC \,\tag{27}$$

The spatial arrangement of the segments (see Fig. 6) is as follows:


Thus, we deduce the following relations:

$$\begin{aligned} y\_1 &= y\_2 = y\_\mathcal{c} \\ z\_3 &= z\_4 = z\_\mathcal{c} \\ x\_5 &= x\_6 = x\_\mathcal{c} \end{aligned} \tag{28}$$

The global vector of articular coordinate velocity of the leg *i* is given by:

$$
\dot{\mathbf{Q}}\_{\dot{\mathbf{u}}} = \begin{bmatrix}
\dot{w}\_{p\_l} \ \dot{u}\_{p\_l} \ \dot{\gamma}\_{p\_l} \ \dot{\beta}\_{p\_l} \ \dot{u}\_{p\_l} \ \dot{Q}\_{i1}
\end{bmatrix}^t \tag{29}
$$

where *u*˙ *pi* and *w*˙ *pi* are translation velocities due to the crossed sliding plates.

### **6.2.1 Determination of matrix** Π*<sup>i</sup>*

The matrix Π*<sup>i</sup>* given in Eq. (23) is obtained as follows. We have:

$$
\begin{bmatrix}
\dot{w}\_{p\_l} \\
\dot{u}\_{p\_l} \\
\dot{\gamma}\_{p\_l} \\
\dot{\theta}\_{p\_l} \\
\dot{\alpha}\_{p\_l} \\
\dot{Q}\_{l1}
\end{bmatrix} = \Pi \mathbf{I}\_l \begin{bmatrix}
\dot{Q}\_{61} \\
\dot{Q}\_{51} \\
\dot{Q}\_{41} \\
\dot{Q}\_{31} \\
\dot{Q}\_{21}
\end{bmatrix} \tag{30}
$$

The elements *<sup>i</sup> πjk* of the matrix Π*<sup>i</sup>* are computed by using Eq. (7). This equation is true for *i* = 1 to 6, thus:

$$\left(\boldsymbol{\beta}\_{i}\left(\mathcal{P}\_{i}^{t}\right)^{-1}\,\mathcal{H}\_{i}\dot{\mathbf{Q}}\_{i} = \boldsymbol{\beta}\_{\dot{\boldsymbol{\beta}}}\left(\mathcal{P}\_{\dot{\boldsymbol{\beta}}}^{t}\right)^{-1}\,\mathcal{H}\_{\dot{\boldsymbol{\beta}}}\dot{\mathbf{Q}}\_{\dot{\boldsymbol{\beta}}}\tag{31}$$

for *i* and *j* = 1 to 6. From Eq. (31), we can show that for all *i*, *j* = 1, . . . , 6, we have the following relations:

$$\begin{cases} \dot{\alpha}\_{p\_i} = \dot{\alpha}\_{p\_j} \\ \dot{\beta}\_{p\_i} = \dot{\beta}\_{p\_j} \\ \dot{\gamma}\_{p\_i} = \dot{\gamma}\_{p\_j} \end{cases} \tag{32}$$

After some manipulations on relation (31), we obtain:

• For *i* = 1 and *j* = 2

12 Will-be-set-by-IN-TECH

� P*t i*

The computation of matrix of Π*<sup>i</sup>* depends on the considered parallel robot's structure. In the

*y*<sup>1</sup> = *y*<sup>2</sup> = *yc z*<sup>3</sup> = *z*<sup>4</sup> = *zc x*<sup>5</sup> = *x*<sup>6</sup> = *xc*

*w*˙ *pi u*˙ *pi γ*˙ *pi β*˙ *pi α*˙ *pi Q*˙

⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ *Q*˙ <sup>61</sup> *Q*˙ <sup>51</sup> *Q*˙ 41 *Q*˙ 31 *Q*˙ <sup>21</sup> *Q*˙ 11

*πjk* of the matrix Π*<sup>i</sup>* are computed by using Eq. (7). This equation is true for

� P*t j* �−<sup>1</sup>

⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦

Therefore, a factorized expression of the parallel robot Jacobian matrix is obtained as:

�−<sup>1</sup> <sup>H</sup>*i*Π*iQ***˙** <sup>a</sup> (24)

�−<sup>1</sup> <sup>H</sup>*i*Π*<sup>i</sup>* (25)

<sup>100</sup> �*<sup>t</sup>* for *<sup>i</sup>* = 1, 2).

<sup>010</sup> �*<sup>t</sup>* for *<sup>i</sup>* = 3, 4).

for *i* = 5, 6).

�*<sup>t</sup>* (29)

<sup>H</sup>*jQ***˙** *<sup>j</sup>* (31)

(28)

(30)

001 �*<sup>t</sup>*

J = J*<sup>i</sup>* Π*<sup>i</sup>* (26)

P*i***<sup>2</sup>** = B*i*C/*Rb* = −*Qi*<sup>1</sup> n<sup>i</sup> + AiO + OC (27)

*i*1

V*N*+**<sup>1</sup>** = *β<sup>i</sup>*

J = *β<sup>i</sup>* � P*t i*

following, we present the computation of this matrix for the C5 parallel robot.

denote the position vector from *Bi* to *C*:

The matrices J and J*<sup>i</sup>* are related by the following relationship:

The spatial arrangement of the segments (see Fig. 6) is as follows: • The segments 1 and 2 are in the direction of the *<sup>x</sup>*-axis (n<sup>i</sup> = �

• The segments 3 and 4 are in the direction of the *<sup>y</sup>*-axis (n<sup>i</sup> = �

• The segments 5 and 6 are in the direction of the *<sup>z</sup>*-axis (n<sup>i</sup> = �

The global vector of articular coordinate velocity of the leg *i* is given by:

where *u*˙ *pi* and *w*˙ *pi* are translation velocities due to the crossed sliding plates.

⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣

*w*˙ *pi u*˙ *pi γ*˙ *pi β*˙ *pi α*˙ *pi Q*˙ *<sup>i</sup>*<sup>1</sup> ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦

�−<sup>1</sup> <sup>H</sup>*iQ***˙** *<sup>i</sup>* <sup>=</sup> *<sup>β</sup><sup>j</sup>*

= Π*<sup>i</sup>*

Q˙ <sup>i</sup> = �

The matrix Π*<sup>i</sup>* given in Eq. (23) is obtained as follows. We have:

*βi* � P*t i*

Inserting Eq. (23) into Eq. (7), we obtain:

**6.2 Application to the C**5 **parallel robot**

�*t*

Thus, we deduce the following relations:

**6.2.1 Determination of matrix** Π*<sup>i</sup>*

The elements *<sup>i</sup>*

*i* = 1 to 6, thus:

*xi yi zi*

Let P*i***<sup>2</sup>** = �

$$
\dot{Q}\_{11} = \left(z\_2 - z\_1\right)\dot{\beta}\_{p\_i} + \left(y\_1 - y\_2\right)\dot{\gamma}\_{p\_i} + \dot{Q}\_{21} \tag{33}
$$

• For *i* = 3 and *j* = 4:

$$
\dot{Q}\_{31} = \left(z\_3 - z\_4\right)\dot{\mathbf{n}}\_{p\_l} + \left(\mathbf{x}\_4 - \mathbf{x}\_3\right)\dot{\gamma}\_{p\_l} + \dot{Q}\_{41} \tag{34}
$$

• For *i* = 5 and *j* = 6:

$$
\dot{Q}\_{51} = \left(y\_6 - y\_5\right)\dot{\alpha}\_{p\_l} + \left(\mathbf{x}\_5 - \mathbf{x}\_6\right)\dot{\beta}\_{p\_l} + \dot{Q}\_{61} \tag{35}
$$

• For *i* = 1 and *j* = 3:

$$
\dot{\mu}\_{p\_1} = \left(z\_1 - z\_3\right)\dot{\mu}\_{p\_l} + \left(\mathbf{x}\_3 - \mathbf{x}\_1\right)\dot{\gamma}\_{p\_l} + \dot{Q}\_{31} \tag{36}
$$

• For *i* = 1 and *j* = 5:

$$
\dot{w}\_{p\_1} = \left(y\_5 - y\_1\right)\dot{\mathbf{x}}\_{p\_i} + \left(\mathbf{x}\_1 - \mathbf{x}\_5\right)\dot{\boldsymbol{\beta}}\_{p\_i} + \dot{\mathbf{Q}}\_{51} \tag{37}
$$

From Eq. (28), we have *y*<sup>1</sup> = *y*2, *z*<sup>3</sup> = *z*<sup>4</sup> and *x*<sup>5</sup> = *x*6. Thus, the Eqs. (33, 34, and 35) can be written as:

$$\begin{array}{l}\dot{Q}\_{11} = (z\_2 - z\_1)\dot{\not{\beta}}\_{p\_i} + \dot{Q}\_{21} \\ \dot{Q}\_{31} = (x\_4 - x\_3)\dot{\gamma}\_{p\_i} + \dot{Q}\_{41} \\ \dot{Q}\_{51} = (y\_6 - y\_5)\dot{\kappa}\_{p\_i} + \dot{Q}\_{61} \end{array} \tag{38}$$

From Eqs. (30), (36), (37) and (38), the matrix Π<sup>1</sup> is computed as:

$$
\Pi\_1 = \begin{bmatrix}
\frac{y\_5 - y\_1}{y\_5 - y\_6} \frac{y\_6 - y\_1}{y\_6 - y\_5} & 0 & 0 & \frac{x\_1 - x\_5}{z\_1 - z\_2} \frac{x\_1 - x\_5}{z\_2 - z\_1} \\
\frac{z\_1 - z\_3}{y\_5 - y\_6} \frac{z\_1 - z\_3}{y\_6 - y\_5} & \frac{x\_3 - x\_1}{x\_3 - x\_4} \frac{x\_4 - x\_3}{x\_4 - x\_3} & 0 & 0 \\
0 & 0 & \frac{1}{x\_3 - x\_4} \frac{1}{x\_4 - x\_3} & 0 & 0 \\
0 & 0 & 0 & \frac{1}{z\_1 - z\_2} & \frac{1}{z\_2 - z\_1} \\
\frac{1}{y\_5 - y\_6} \frac{1}{y\_6 - y\_5} & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 1
\end{bmatrix} \tag{39}
$$

The computational cost of explicit construction of the matrix Π<sup>1</sup> is (17*m* + 28*a*) wherein the cost of division has been taken to be the same as multiplication.

Considering the matrix Π1, the expression of the jacobian matrix is given by:

$$\mathcal{J} = \mathcal{J}\_{\mathrm{I}} \,\mathrm{II}\_{\mathrm{I}} \tag{40}$$

With:

$$\mathcal{J}\_1 = \beta\_1 \ \mathcal{P}\_1^{-t} \ \mathcal{H}\_1 = \begin{bmatrix} \mathcal{P}\_{12}^t \ 0 \end{bmatrix} \ \begin{bmatrix} \mathcal{U} \ \dot{\mathcal{P}}\_{11}^t \\ 0 \ \mathcal{U} \end{bmatrix} \begin{bmatrix} H\_{12} & 0 \\ 0 & H\_{11} \end{bmatrix} \ \begin{bmatrix} \mathcal{U} \ \dot{\mathcal{U}} \end{bmatrix}$$

Thus:

$$\mathcal{J}\_1 = \begin{bmatrix} \hat{P}\_{12}^t \, H\_{12} \, \hat{P}\_{12}^t \, \hat{P}\_{11}^t \, H\_{11} \end{bmatrix} = \begin{bmatrix} 0 \, 0 & 0 & 0 & 1 & 0\\ 0 \, 0 & 0 & 1 & 0 & 0\\ 0 \, 0 & 1 & 0 & 0 & 0\\ 0 \, 0 & -y\_1 & z\_1 & 0 & 1\\ 0 \, 1 & x\_1 & 0 & -z\_1 & 0\\ 1 \, 0 & 0 & -x\_1 & y\_1 & 0 \end{bmatrix} \tag{41}$$

Exploiting the sparse structure of matrices *Hi*1, *Hi*2, and *Wi*<sup>2</sup> as well as an appropriate scheme

Kinematic and Inverse Dynamic Analysis of a C5 Joint Parallel Robot 353

The inverse dynamic computation for the parallel robot consists of determination of the required active joints torques to achieve a desired acceleration of the mobile platform, which is needed for accurate control of the robot. In this section, we review the approch proposed

Our contibution is to show that by using the factorized expression of the Jacobian matrix, and the new formulation of acceleration joints, a significantly better computational efficiency can

• J*Bi* is the Jacobian matrix of the segment *i*, computed to the point *Bi*. The expression of

<sup>J</sup>*Bi* <sup>=</sup> <sup>P</sup><sup>ˆ</sup> *<sup>−</sup><sup>t</sup>*

• C<sup>i</sup> + G<sup>i</sup> represents the contributation of the Coriolis, centrifugal, and gravitional terms.

The contact forces exerted to the mobile platform by the segments, shown in Fig. 5, are

• F*N*+**<sup>1</sup>** is the spatial force applied at the point *C*, representing the contribution of the contact

 = 6 ∑ *i*=1 Pˆ <sup>t</sup>

*IC mC GC* −*mC GC m <sup>C</sup> U*

The dynamic behavior of the mobile platform is given by the following relation:

F*N*+**<sup>1</sup>** = Λ*<sup>C</sup>* V˙

F*N*+**<sup>1</sup>** =

Λ*<sup>C</sup>* =

• <sup>Λ</sup>*<sup>C</sup>* ∈ �6×<sup>6</sup> is the spatial inertia matrix of the mobile platform:

 n*N*+**<sup>1</sup>** f*N*+**<sup>1</sup>**

<sup>M</sup>*<sup>i</sup>* <sup>Q</sup>¨ <sup>i</sup> <sup>+</sup> <sup>C</sup><sup>i</sup> <sup>+</sup> <sup>G</sup><sup>i</sup>

 <sup>+</sup> <sup>J</sup> <sup>−</sup>*<sup>t</sup>*

*Bi*

<sup>M</sup>*<sup>i</sup>* <sup>Q</sup>¨ <sup>i</sup> <sup>+</sup> <sup>C</sup><sup>i</sup> <sup>+</sup> <sup>G</sup><sup>i</sup> <sup>+</sup> <sup>J</sup> *<sup>t</sup>*

• F*i***<sup>2</sup>** is the force exterted to the mobile platform by the segment *i* (Fig. 5).

 Q¨ *<sup>i</sup>***<sup>2</sup>** Q¨ *<sup>i</sup>***<sup>1</sup>** 

for each segment is of

F*i***<sup>2</sup>** = **Γ**<sup>i</sup> (49)

*<sup>i</sup>***<sup>2</sup>** J*<sup>i</sup>* (50)

*<sup>N</sup>*+**<sup>1</sup>** + (G<sup>C</sup> + CC) (52)

*Bi* **Γ**<sup>i</sup> (51)

*<sup>i</sup>***<sup>2</sup>** F*i***<sup>2</sup>** (53)

(54)

for projection of the equations, the cost of computing Q¨ <sup>i</sup> =

by Khalil et al in (Khalil & Guegan, 2004) (Khalil & Ibrahim, 2007).

The dynamical equation of motion for each segment is given by:

• **Γ**<sup>i</sup> represents the joint force vector of the segment *i*.

forces F*iN* propagated to the point *C*:

<sup>F</sup>*i***<sup>2</sup>** <sup>=</sup> −J <sup>−</sup>*<sup>t</sup> Bi* 

be achieved for the inverse dynamic calculation.

**8.1 Computation of inverse dynamic model**

(10*m* + 10*a*).

Where:

Where:

J*Bi* is given by:

computed from Eq. (49) as:

**8. Inverse dynamic model**

Note the highly sparse structure of the matrix J1. In fact, if the matrix Π<sup>1</sup> is already computed then the computation of the matrix J<sup>1</sup> does not require any operation. However, if the explicit computatiuon of J is needed it can be then computed as J = J<sup>1</sup> Π1. Exploiting the sparse structure of matrices J<sup>1</sup> and Π1, this computation can be performed with a cost of 29*m* + 37*a*.

### **7. Computation of joint accelerations of the segments**

The conventional approach to calculate Q¨ <sup>i</sup> is based on time derivation of Eq. (7) as:

$$
\ddot{\mathbf{Q}}\_i = \mathcal{J}\_i^{-1} \dot{\mathbf{V}}\_{N+1} + \frac{d}{dt} \mathcal{J}\_i^{-1} \mathbf{V}\_{N+1} \tag{42}
$$

Eq. (42) represents the second-order inverse kinematic model of the segment *i*.

In the following, we propose a new and more efficient approach for computation of Q¨ <sup>i</sup>. From the propagation of acceleration given in Eq. (9), we can derive the following relations:

$$
\dot{V}\_{N+1} = \dot{P}\_{i2}^t \dot{V}\_{i2} \tag{43}
$$

$$
\dot{V}\_{i2} = H\_{i2}\ddot{Q}\_{i2} + \dot{P}\_{i1}^t \dot{V}\_{i1} + \frac{d}{dt} \dot{P}\_{i1}^t \, V\_{i1} \tag{44}
$$

$$
\dot{V}\_{i1} = H\_{i1} \ddot{Q}\_{i1} \tag{45}
$$

Considering the othogonality properties of the projection matrices *Hij* and *Wij* given in Eq. (12), by multiplying both sides of Eq. (44) by *W<sup>t</sup> <sup>i</sup>*<sup>2</sup> we get:

$$\boldsymbol{W}\_{l2}^{t}\dot{\mathbf{V}}\_{l2} = \underbrace{\boldsymbol{W}\_{l2}^{t}\boldsymbol{H}\_{l2}\ddot{\mathbf{Q}}\_{l2}}\_{0} + \boldsymbol{W}\_{l2}^{t}\dot{\mathbf{P}}\_{l1}^{t}\dot{\mathbf{V}}\_{l1} + \underbrace{\boldsymbol{W}\_{l2}^{t}\frac{d}{dt}\dot{\mathbf{P}}\_{l1}^{t}\boldsymbol{H}\_{l1}}\_{0}\dot{\mathbf{Q}}\_{l1} = \boldsymbol{W}\_{l2}^{t}\dot{\mathbf{P}}\_{l1}^{t}\dot{\mathbf{V}}\_{l1}\tag{46}$$

Note that the above projection indeed eliminates the term Q¨ *<sup>i</sup>***<sup>2</sup>** from the equation. From Eqs. (45) and (46), we then obtain:

$$
\ddot{\mathbf{Q}}\_{i\mathbf{1}} = \left(\boldsymbol{W}\_{i\mathbf{2}}^t \, \dot{\mathbf{P}}\_{i\mathbf{1}}^t \, \boldsymbol{H}\_{i\mathbf{1}}\right)^{-1} \, \boldsymbol{W}\_{i\mathbf{2}}^t \, \dot{\mathbf{V}}\_{i\mathbf{2}} \tag{47}
$$

Where the term defined by *W<sup>t</sup> <sup>i</sup>*<sup>2</sup> <sup>P</sup><sup>ˆ</sup> <sup>t</sup> *<sup>i</sup>***<sup>1</sup>** *Hi*<sup>1</sup> −<sup>1</sup> is a scalar.

Again, considering the properties given by Eq. (14), multiplying both sides of Eq. (44) by by *Ht <sup>i</sup>*<sup>2</sup> we get:

$$
\ddot{\mathbf{Q}}\_{l2} = \mathbf{H}\_{l2}^{t}\dot{\mathbf{V}}\_{l2} - \mathbf{H}\_{l2}^{t}\dot{\mathbf{P}}\_{l1}^{t}\dot{\mathbf{V}}\_{l1} - \underbrace{\mathbf{H}\_{l2}^{t}\frac{d}{dt}\dot{\mathbf{P}}\_{l1}^{t}H\_{l1}}\_{0}\dot{\mathbf{Q}}\_{l1} = \mathbf{H}\_{l2}^{t}\dot{\mathbf{V}}\_{l2} - \mathbf{H}\_{l2}^{t}\dot{\mathbf{P}}\_{l1}^{t}\dot{\mathbf{V}}\_{l1} \tag{48}
$$

Note that, *H<sup>t</sup> i*2 *d dt*P<sup>ˆ</sup> <sup>t</sup> *<sup>i</sup>***<sup>1</sup>** *Hi*<sup>1</sup> <sup>=</sup> <sup>0</sup> since *<sup>d</sup> dt*P<sup>ˆ</sup> <sup>t</sup> *<sup>i</sup>***<sup>1</sup>** is along *Hi*<sup>1</sup> and as can be seen from the description of *Hi*<sup>1</sup> and *Hi*<sup>2</sup> in section 3, *H<sup>t</sup> <sup>i</sup>*2*Hi*<sup>1</sup> = 0.

The joint accelerations of the segment *i* are then computed in four steps as follows:


Exploiting the sparse structure of matrices *Hi*1, *Hi*2, and *Wi*<sup>2</sup> as well as an appropriate scheme for projection of the equations, the cost of computing Q¨ <sup>i</sup> = Q¨ *<sup>i</sup>***<sup>2</sup>** Q¨ *<sup>i</sup>***<sup>1</sup>** for each segment is of (10*m* + 10*a*).

### **8. Inverse dynamic model**

The inverse dynamic computation for the parallel robot consists of determination of the required active joints torques to achieve a desired acceleration of the mobile platform, which is needed for accurate control of the robot. In this section, we review the approch proposed by Khalil et al in (Khalil & Guegan, 2004) (Khalil & Ibrahim, 2007).

Our contibution is to show that by using the factorized expression of the Jacobian matrix, and the new formulation of acceleration joints, a significantly better computational efficiency can be achieved for the inverse dynamic calculation.

#### **8.1 Computation of inverse dynamic model**

The dynamical equation of motion for each segment is given by:

$$\mathcal{M}\_{i}\ddot{\mathbf{Q}}\_{i} + \mathbf{C}\_{i} + \mathbf{G}\_{i} + \mathcal{J}\_{\mathcal{B}\_{i}}^{l}\mathbf{F}\_{\bar{l}2} = \Gamma\_{i}$$

Where:

14 Will-be-set-by-IN-TECH

Note the highly sparse structure of the matrix J1. In fact, if the matrix Π<sup>1</sup> is already computed then the computation of the matrix J<sup>1</sup> does not require any operation. However, if the explicit computatiuon of J is needed it can be then computed as J = J<sup>1</sup> Π1. Exploiting the sparse structure of matrices J<sup>1</sup> and Π1, this computation can be performed with a cost of 29*m* + 37*a*.

The conventional approach to calculate Q¨ <sup>i</sup> is based on time derivation of Eq. (7) as:

*<sup>N</sup>*+**<sup>1</sup>** +

In the following, we propose a new and more efficient approach for computation of Q¨ <sup>i</sup>. From

*<sup>N</sup>*+**<sup>1</sup>** = Pˆ <sup>t</sup>

the propagation of acceleration given in Eq. (9), we can derive the following relations:

*d dt*<sup>J</sup> <sup>−</sup><sup>1</sup>

*<sup>i</sup>***<sup>2</sup>** <sup>V</sup>˙

*<sup>i</sup>*<sup>2</sup> we get:

 0

−<sup>1</sup> *<sup>W</sup><sup>t</sup> <sup>i</sup>*<sup>2</sup> <sup>V</sup>˙

Q˙ *<sup>i</sup>***<sup>1</sup>** = *H<sup>t</sup>*

*<sup>i</sup>*<sup>2</sup> <sup>V</sup>˙

*<sup>i</sup>***<sup>1</sup>** is along *Hi*<sup>1</sup> and as can be seen from the description

*<sup>i</sup>***<sup>2</sup>** <sup>−</sup> *<sup>H</sup><sup>t</sup>*

*i***1**V˙ *<sup>i</sup>***<sup>1</sup>** + *d dt* <sup>P</sup><sup>ˆ</sup> <sup>t</sup>

Considering the othogonality properties of the projection matrices *Hij* and *Wij* given in

*<sup>i</sup>***<sup>1</sup>** + *W<sup>t</sup> i*2 *d dt* <sup>P</sup><sup>ˆ</sup> <sup>t</sup> *<sup>i</sup>***<sup>1</sup>** *Hi*<sup>1</sup>

Note that the above projection indeed eliminates the term Q¨ *<sup>i</sup>***<sup>2</sup>** from the equation. From

−<sup>1</sup> is a scalar. Again, considering the properties given by Eq. (14), multiplying both sides of Eq. (44) by by

> 0

*<sup>i</sup>* V*N*+**<sup>1</sup>** (42)

*<sup>i</sup>***<sup>2</sup>** (43)

*<sup>i</sup>***<sup>1</sup>** = *Hi*1Q¨ *<sup>i</sup>***<sup>1</sup>** (45)

Q˙ *<sup>i</sup>***<sup>1</sup>** = *W<sup>t</sup>*

*<sup>i</sup>***<sup>1</sup>** V*i*<sup>1</sup> (44)

*<sup>i</sup>*<sup>2</sup> <sup>P</sup><sup>ˆ</sup> <sup>t</sup> *i***1**V˙

*<sup>i</sup>***<sup>2</sup>** (47)

*<sup>i</sup>*<sup>2</sup> <sup>P</sup><sup>ˆ</sup> <sup>t</sup> *i***1**V˙

*<sup>i</sup>***<sup>1</sup>** (46)

*<sup>i</sup>***<sup>1</sup>** (48)

**7. Computation of joint accelerations of the segments**

V˙

Eq. (12), by multiplying both sides of Eq. (44) by *W<sup>t</sup>*

*<sup>i</sup>*<sup>2</sup> *Hi*2Q¨ *<sup>i</sup>***<sup>2</sup>** 0

> *W<sup>t</sup> <sup>i</sup>*<sup>2</sup> <sup>P</sup><sup>ˆ</sup> <sup>t</sup> *<sup>i</sup>***<sup>1</sup>** *Hi*<sup>1</sup>

*<sup>i</sup>*<sup>2</sup> <sup>P</sup><sup>ˆ</sup> <sup>t</sup> *i***1**V˙

*<sup>i</sup>***<sup>2</sup>** = *W<sup>t</sup>*

*W<sup>t</sup> <sup>i</sup>*<sup>2</sup> <sup>V</sup>˙

Eqs. (45) and (46), we then obtain:

Where the term defined by

Q¨ *<sup>i</sup>***<sup>2</sup>** = *H<sup>t</sup>*

*i*2 *d dt*P<sup>ˆ</sup> <sup>t</sup>

of *Hi*<sup>1</sup> and *Hi*<sup>2</sup> in section 3, *H<sup>t</sup>*

2. Compute Q¨ *<sup>i</sup>***<sup>1</sup>** from Eq. (47)

4. Compute Q¨ *<sup>i</sup>***<sup>2</sup>** from Eq. (48)

*<sup>i</sup>*<sup>2</sup> <sup>V</sup>˙

*<sup>i</sup>***<sup>2</sup>** from Eq. (43)

*<sup>i</sup>***<sup>1</sup>** from Eq. (45)

*<sup>i</sup>***<sup>2</sup>** <sup>−</sup> *<sup>H</sup><sup>t</sup>*

*<sup>i</sup>***<sup>1</sup>** *Hi*<sup>1</sup> <sup>=</sup> <sup>0</sup> since *<sup>d</sup>*

*Ht*

*<sup>i</sup>*<sup>2</sup> we get:

Note that, *H<sup>t</sup>*

1. Compute V˙

3. Compute V˙

<sup>Q</sup>¨ <sup>i</sup> <sup>=</sup> <sup>J</sup> <sup>−</sup><sup>1</sup> *<sup>i</sup>* <sup>V</sup>˙

Eq. (42) represents the second-order inverse kinematic model of the segment *i*.

V˙

*<sup>i</sup>***<sup>2</sup>** = *Hi*2Q¨ *<sup>i</sup>***<sup>2</sup>** + Pˆ <sup>t</sup>

+*W<sup>t</sup> <sup>i</sup>*<sup>2</sup> <sup>P</sup><sup>ˆ</sup> <sup>t</sup> *i***1**V˙

Q¨ *<sup>i</sup>***<sup>1</sup>** =

*W<sup>t</sup> <sup>i</sup>*<sup>2</sup> <sup>P</sup><sup>ˆ</sup> <sup>t</sup> *<sup>i</sup>***<sup>1</sup>** *Hi*<sup>1</sup>

*<sup>i</sup>***<sup>1</sup>** <sup>−</sup> *<sup>H</sup><sup>t</sup> i*2 *d dt* <sup>P</sup><sup>ˆ</sup> <sup>t</sup> *<sup>i</sup>***<sup>1</sup>** *Hi*<sup>1</sup>

The joint accelerations of the segment *i* are then computed in four steps as follows:

*dt*P<sup>ˆ</sup> <sup>t</sup>

*<sup>i</sup>*2*Hi*<sup>1</sup> = 0.

V˙


$$\mathcal{J}\_{\mathcal{B}\_i} = \mathcal{P}\_{i\mathbf{2}}^{-\mathbf{t}} \mathcal{J}\_i \tag{50}$$


The contact forces exerted to the mobile platform by the segments, shown in Fig. 5, are computed from Eq. (49) as:

$$\mathbf{F\_{l2}} = -\mathcal{J}\_{\mathcal{B}\_l}^{-t} \left( \mathcal{M}\_{\dot{l}} \ddot{\mathbf{Q}}\_{\dot{l}} + \mathbf{C}\_{\dot{l}} + \mathbf{G}\_{\dot{l}} \right) + \mathcal{J}\_{\mathcal{B}\_l}^{-t} \mathbf{r}\_{\dot{l}} \tag{51}$$

The dynamic behavior of the mobile platform is given by the following relation:

$$F\_{N+1} = \Lambda\_{\mathbb{C}} \dot{V}\_{N+1} + (\mathbf{G}\_{\mathbb{C}} + \mathbf{C}\_{\mathbb{C}}) \tag{52}$$

Where:

• F*N*+**<sup>1</sup>** is the spatial force applied at the point *C*, representing the contribution of the contact forces F*iN* propagated to the point *C*:

$$F\_{N+1} = \begin{bmatrix} n\_{N+1} \\ f\_{N+1} \end{bmatrix} = \sum\_{i=1}^{6} \hat{P}\_{i2}^{t} \, F\_{i2} \tag{53}$$

• <sup>Λ</sup>*<sup>C</sup>* ∈ �6×<sup>6</sup> is the spatial inertia matrix of the mobile platform:

$$
\Lambda\_{\mathbb{C}} = \begin{bmatrix} I\_{\mathbb{C}} & m\_{\mathbb{C}} \, \widetilde{\mathbf{G} \mathbf{C}} \\ -m\_{\mathbb{C}} \, \widetilde{\mathbf{G} \mathbf{C}} & m\_{\mathbb{C}} \, \boldsymbol{U} \end{bmatrix} \tag{54}
$$

6. Computation of the vector **<sup>Γ</sup>** <sup>=</sup> <sup>J</sup> *<sup>t</sup>* <sup>K</sup>

(134*m* + 125*a*)

2007) .

end, we have:

then performed as follows:

structure of matrices Π<sup>1</sup>

compared by using Eq. (40).

simulation are given in appendix.

platform along the given trajectory.

*β* = 15*<sup>o</sup>* and *γ* = 20*o*).

**9. Simulation of the inverse dynamic model**

The trajectory profile used for this study is given as follows:

10 shows the active joint force evolution along the trajectory.

The computation of the last step, as discussed by Khalil et al in (Khalil & Guegan, 2004) (Khalil & Ibrahim, 2007), is performed by first computing <sup>J</sup> <sup>−</sup>*<sup>t</sup>* from Eq. (22). As a result,

Kinematic and Inverse Dynamic Analysis of a C5 Joint Parallel Robot 355

The computation cost for the derivation of <sup>J</sup> <sup>−</sup>1, from Eq. (22), is (18*<sup>m</sup>* <sup>+</sup> <sup>30</sup>*a*). The cost of solving the linear system of dimension 6 in Eq. (61) is of (116*m* + 95*a*) wherein the cost of division and multiplication are taken to be the same. Therefore, the total cost of Step 6 is of

Our contribution concerns the improvement of the efficiency of the inverse dynamic computational by using the factorized expression of the Jacobian matrix and the new formulation of the joint accelerations. Using these formulations, the computations can be

Step 1 is performed with a cost of (10*m* + 10*a*) for each segment by using the expression given in Eqs. (47) and (48). This represents a much better efficiency than that of using Eq. (42). Steps 2, 3, 4 and 5 are the same as in Khalil et al in (Khalil & Guegan, 2004) (Khalil & Ibrahim,

For computation of Step 6, the factorized expression of J , given by Eq. (40) is used. To this

Note that, the above equation not only eliminates the need for solving a linear system but it also does not require the explicit computation of neither <sup>J</sup> <sup>−</sup><sup>1</sup> nor <sup>J</sup> . By exploiting the sparse

of (65*m* + 67*a*), which represents a much better efficiency, almost half of the computations,

To validate our inverse dynamic model of the C5 joint parallel robot, a simulation under Matlab environment is presented in this section. The dynamic parameters used for the

• Fig. 7 shows cartesian trajectory of the mobile platform for a constant orientation (*α* = 10*o*,

• Fig. 8 and 9 show respectively the linear velocity and linear acceleration of the mobile

• The active joint forces are computed using inverse dynamic model given by Eq. (60). Fig.

factorized form, which represent our main contribution in this present paper.

The simulation results show the feasibility of the proposed approach. The terms of Eq (60) have been computed, and especially, the joint accelerations and the Jacobian matrix in its

*<sup>t</sup>* <sup>J</sup><sup>1</sup> *t*

*<sup>t</sup>* and <sup>J</sup>1, the cost of computation of the vector <sup>Γ</sup> from Eq. (62) is

**Γ** = Π<sup>1</sup>

<sup>J</sup> <sup>−</sup>*<sup>t</sup>* **<sup>Γ</sup>** <sup>=</sup> <sup>K</sup> (61)

K (62)

the computation of **Γ** requires solving a linear system of dimension 6 as:


$$I\_{\mathbb{C}} = R \ I\_{\mathbb{C}\_{/R\_{\text{in}}}} R^t \tag{55}$$

• <sup>C</sup><sup>C</sup> ∈ �<sup>6</sup> is the vector of Coriolis and centrifugal forces:

$$\mathbf{C}\_{\mathbf{C}} = \begin{bmatrix} \tilde{\omega}\_{N+1} \, ^{I}\_{\mathbb{C}} \, \underset{\widetilde{\mathbf{C}} \, \overleftarrow{\omega}\_{N+1}}{\mathbf{1}} \\ -m\_{\mathbb{C}} \, \tilde{\omega}\_{N+1} \, \overset{\ast}{G} \, \overleftarrow{\omega}\_{N+1} \end{bmatrix} \tag{56}$$

• <sup>G</sup><sup>C</sup> ∈ �<sup>6</sup> is the vector of gravitational forces:

$$\mathbf{G\_C} = \begin{bmatrix} -m\_{\mathbb{C}} \, \widetilde{\mathbf{G} \mathbf{C}} \\ -m\_{\mathbb{C}} \, \boldsymbol{U} \end{bmatrix} \mathbf{g} \tag{57}$$

• g being the acceleration vector of gravity

Substituting (51) in (53), we obtain:

$$F\_{\mathbf{N}+\mathbf{1}} = \sum\_{i=1}^{6} \dot{\mathcal{P}}\_{i\mathbf{2}}^{t} \left( \mathcal{J}\_{\mathcal{B}\_{i}}^{-t} \, \Gamma\_{i} - \mathcal{J}\_{\mathcal{B}\_{i}}^{-t} \left( \mathcal{M}\_{i} \ddot{\mathcal{Q}}\_{i} + \mathbf{C}\_{i} + \mathbf{G}\_{i} \right) \right) \tag{58}$$

The active joint forces vector is given by:

$$\Gamma = \begin{bmatrix} \Gamma\_{61} \ \Gamma\_{51} \ \Gamma\_{41} \ \Gamma\_{31} \ \Gamma\_{21} \ \Gamma\_{11} \end{bmatrix}^{t}$$

We have ∑<sup>6</sup> *<sup>i</sup>*=<sup>1</sup> <sup>P</sup><sup>ˆ</sup> <sup>t</sup> *<sup>i</sup>***<sup>2</sup>** <sup>J</sup> <sup>−</sup>*<sup>t</sup> Bi* **<sup>Γ</sup>**<sup>i</sup> <sup>=</sup> <sup>J</sup> <sup>−</sup><sup>1</sup> **<sup>Γ</sup>** where <sup>J</sup> <sup>−</sup><sup>1</sup> is the inverse Jacobian matrix of the parallel robot. Eq. (58) can be rewritten as:

$$F\_{\mathbf{N}+\mathbf{1}} = \mathcal{J}^{-l}\,\Gamma - \sum\_{i=1}^{6} \hat{\mathcal{P}}\_{i\mathbf{2}}^{t} \,\mathcal{J}\_{\mathcal{B}\_{l}}^{-t} \left(\mathcal{M}\_{i}\ddot{\mathbf{Q}}\_{i} + \mathbf{C}\_{i} + \mathbf{G}\_{i}\right) \tag{59}$$

The inverse dynamic model, given by Kahlil et al in (Khalil & Ibrahim, 2007) is then expressed by:

$$\boldsymbol{\Gamma} = \mathcal{J}^{t} \left[ \boldsymbol{F}\_{\text{N}+\text{1}} + \sum\_{i=1}^{6} \mathbf{P}\_{i\text{2}}^{t} \mathcal{J}\_{\text{B}\_{i}}^{-t} \left( \mathcal{M}\_{i} \boldsymbol{Q}\_{i} + \mathbf{C}\_{i} + \mathbf{G}\_{i} \right) \right] \tag{60}$$

#### **8.2 Computational complexity analysis**

The inverse dynamic model, given in Eq. (60), is computed in six steps:


6. Computation of the vector **<sup>Γ</sup>** <sup>=</sup> <sup>J</sup> *<sup>t</sup>* <sup>K</sup>

16 Will-be-set-by-IN-TECH

• *IC* ∈ �3×<sup>3</sup> is the inertia tensor of the mobile platform expressed in the mobile platform

 *ω*˜ *<sup>N</sup>*+<sup>1</sup> *IC* ω*N*+**<sup>1</sup>** −*mC ω*˜ *<sup>N</sup>*+<sup>1</sup> *GC*

> −*mC GC* −*mC U*

ω*N*+**<sup>1</sup>**

*IC* <sup>=</sup> *R IC*/*Rm <sup>R</sup><sup>t</sup>* (55)

g (57)

(56)

(58)

(60)

(59)

<sup>M</sup>*i*Q¨ <sup>i</sup> <sup>+</sup> <sup>C</sup><sup>i</sup> <sup>+</sup> <sup>G</sup><sup>i</sup>

*t*

<sup>M</sup>*i*Q¨ <sup>i</sup> <sup>+</sup> <sup>C</sup><sup>i</sup> <sup>+</sup> <sup>G</sup><sup>i</sup>

<sup>M</sup>*i*Q¨ <sup>i</sup> <sup>+</sup> <sup>C</sup><sup>i</sup> <sup>+</sup> <sup>G</sup><sup>i</sup>

 

*Bi* **<sup>Γ</sup>**<sup>i</sup> <sup>=</sup> <sup>J</sup> <sup>−</sup><sup>1</sup> **<sup>Γ</sup>** where <sup>J</sup> <sup>−</sup><sup>1</sup> is the inverse Jacobian matrix of the parallel

• *mC* is the platform mass

center of mass and projected in the fixed frame *Rb*:

• <sup>C</sup><sup>C</sup> ∈ �<sup>6</sup> is the vector of Coriolis and centrifugal forces:

• <sup>G</sup><sup>C</sup> ∈ �<sup>6</sup> is the vector of gravitational forces:

• g being the acceleration vector of gravity

F*N*+**<sup>1</sup>** =

The active joint forces vector is given by:

*<sup>i</sup>***<sup>2</sup>** <sup>J</sup> <sup>−</sup>*<sup>t</sup>*

robot. Eq. (58) can be rewritten as:

6 ∑ *i*=1 Pˆ <sup>t</sup> *i***2** <sup>J</sup> <sup>−</sup>*<sup>t</sup>*

<sup>F</sup>*N*+**<sup>1</sup>** <sup>=</sup> <sup>J</sup> <sup>−</sup>*<sup>t</sup>* **<sup>Γ</sup>** <sup>−</sup>

F*N*+**<sup>1</sup>** +

The inverse dynamic model, given in Eq. (60), is computed in six steps:

**<sup>Γ</sup>** <sup>=</sup> <sup>J</sup> *<sup>t</sup>*

1. Computation of joint accelerations from Eq. (42)

5. Computation of the vector defined as K = F*N*+**<sup>1</sup>** + **Φ**

Newton-Euler algorithm (Cork, 1996).

platform by all the segments as **Φ** = ∑<sup>6</sup>

4. Computation of F*N*+**<sup>1</sup>** from Eq. (52)

**8.2 Computational complexity analysis**

**Γ** =

Substituting (51) in (53), we obtain:

*<sup>i</sup>*=<sup>1</sup> <sup>P</sup><sup>ˆ</sup> <sup>t</sup>

We have ∑<sup>6</sup>

by:

C<sup>C</sup> =

G<sup>C</sup> =

6 ∑ *i*=1 Pˆ <sup>t</sup> *<sup>i</sup>***<sup>2</sup>** <sup>J</sup> <sup>−</sup>*<sup>t</sup> Bi* 

6 ∑ *i*=1 Pˆ <sup>t</sup> *<sup>i</sup>***<sup>2</sup>** <sup>J</sup> <sup>−</sup>*<sup>t</sup> Bi* 

*Bi* **<sup>Γ</sup>**<sup>i</sup> − J <sup>−</sup>*<sup>t</sup> Bi* 

Γ<sup>61</sup> Γ<sup>51</sup> Γ<sup>41</sup> Γ<sup>31</sup> Γ<sup>21</sup> Γ<sup>11</sup>

The inverse dynamic model, given by Kahlil et al in (Khalil & Ibrahim, 2007) is then expressed

2. Computation of the vector defined as <sup>T</sup><sup>i</sup> <sup>=</sup> <sup>M</sup>*i*Q¨ <sup>i</sup> <sup>+</sup> <sup>C</sup><sup>i</sup> <sup>+</sup> <sup>G</sup><sup>i</sup> with the recursive

3. Computation of the vector resulting from the propagation of forces exterted on the mobile

*<sup>i</sup>*=<sup>1</sup> <sup>P</sup><sup>ˆ</sup> <sup>t</sup> *<sup>i</sup>***<sup>2</sup>** T<sup>i</sup> The computation of the last step, as discussed by Khalil et al in (Khalil & Guegan, 2004) (Khalil & Ibrahim, 2007), is performed by first computing <sup>J</sup> <sup>−</sup>*<sup>t</sup>* from Eq. (22). As a result, the computation of **Γ** requires solving a linear system of dimension 6 as:

$$\mathcal{J}^{-\dagger}\Gamma = \mathbf{K} \tag{61}$$

The computation cost for the derivation of <sup>J</sup> <sup>−</sup>1, from Eq. (22), is (18*<sup>m</sup>* <sup>+</sup> <sup>30</sup>*a*). The cost of solving the linear system of dimension 6 in Eq. (61) is of (116*m* + 95*a*) wherein the cost of division and multiplication are taken to be the same. Therefore, the total cost of Step 6 is of (134*m* + 125*a*)

Our contribution concerns the improvement of the efficiency of the inverse dynamic computational by using the factorized expression of the Jacobian matrix and the new formulation of the joint accelerations. Using these formulations, the computations can be then performed as follows:

Step 1 is performed with a cost of (10*m* + 10*a*) for each segment by using the expression given in Eqs. (47) and (48). This represents a much better efficiency than that of using Eq. (42).

Steps 2, 3, 4 and 5 are the same as in Khalil et al in (Khalil & Guegan, 2004) (Khalil & Ibrahim, 2007) .

For computation of Step 6, the factorized expression of J , given by Eq. (40) is used. To this end, we have:

$$
\Gamma = \Pi\_1^{\;\!\;1} \mathcal{J}\_1^{\;\!\;1} \mathbf{K} \tag{62}
$$

Note that, the above equation not only eliminates the need for solving a linear system but it also does not require the explicit computation of neither <sup>J</sup> <sup>−</sup><sup>1</sup> nor <sup>J</sup> . By exploiting the sparse structure of matrices Π<sup>1</sup> *<sup>t</sup>* and <sup>J</sup>1, the cost of computation of the vector <sup>Γ</sup> from Eq. (62) is of (65*m* + 67*a*), which represents a much better efficiency, almost half of the computations, compared by using Eq. (40).

### **9. Simulation of the inverse dynamic model**

To validate our inverse dynamic model of the C5 joint parallel robot, a simulation under Matlab environment is presented in this section. The dynamic parameters used for the simulation are given in appendix.

The trajectory profile used for this study is given as follows:


The simulation results show the feasibility of the proposed approach. The terms of Eq (60) have been computed, and especially, the joint accelerations and the Jacobian matrix in its factorized form, which represent our main contribution in this present paper.

Fig. 9. Mobile platform linear acceleration profile.

Kinematic and Inverse Dynamic Analysis of a C5 Joint Parallel Robot 357

Fig. 10. Active joint forces Γ*<sup>i</sup>* along the trajectory.

Fig. 7. Mobile platform cartesian trajectory.

Fig. 8. Mobile platform linear velocity profile.

18 Will-be-set-by-IN-TECH

Fig. 7. Mobile platform cartesian trajectory.

Fig. 8. Mobile platform linear velocity profile.

Fig. 9. Mobile platform linear acceleration profile.

Fig. 10. Active joint forces Γ*<sup>i</sup>* along the trajectory.

**Body Mass Inertia**

0.00125 + 0.1667 (*Qi*1)

⎡ ⎣

Kinematic and Inverse Dynamic Analysis of a C5 Joint Parallel Robot 359

**Body Mass Inertia**

Bi, Z. M. & Lang, S. Y. T. (2006). Kinematic and dynamic models of a tripod system with a passive leg, *IEEE/ASME Transactions on Mechatronics* Vol. 11(No. 1): 108–112. Cork, P. I. (1996). A robotics toolbox for matlab, *IEEE Robotics and Automation Magazine* Vol.

Dafaoui, M., Amirat, Y., François, C. & Pontnau, J. (1998). Analysis and design of a six dof

Dasgupta, B. & Choudhury, P. (1999). A general strategy based on the newton-euler approach

Fichter, E. F. (1986). A stewart platform based manipulator: general theory and pratical construction, *International Journal of Robotics Research* Vol. 5(No. 2): 157–182. Fijany, A., Djouani, K., Fried, G. & J. Pontnau, J. (1997). New factorization techniques and fast

Fried, G., Djouani, K., Borojeni, D. & Iqbal, S. (2006). Jacobian matrix factorization

Gosselin, C. M. (1996). Parallel computational algorithms for the kinematics and dynamics of

Khalil, W. & Guegan, S. (2004). Inverse and direct dynamic modeling of gough-stewart robots,

*IEEE Transactions on Robotics* Vol. 20(No. 4): 745–762.

parallel robot. modeling, singular configurations and workspace, *IEEE Trans. Robotics*

for the dynamic formulation of parallel manipulators, *Mech. Mach. Theory* Vol.

serial and parallel algorithms for operational space control of robot manipulators, *Proceedings of IFAC, 5thSymposium on Robot Control*, Nantes, France, pp. 813–820. Fijany, A., Sharf, I. & Eleuterio, G. M. T. (1995). Parallel o(logn) algorithms for computation

of manipulator forward dynamics, *IEEE Trans. Robotics and Automation* Vol. 11(No.

and singularity analysis of a parallel robot, *WSEAS Transaction on Systems* Vol.

planar and spatial parallel manipulator, *Journal of Dynamic System, Measurement and*

⎡ ⎣

Mobile platform 10 *kg IC* =

<sup>2</sup> 0 0

⎤ ⎦

> ⎤ ⎦

<sup>2</sup> 0

⎤ ⎦

0 0.00125 + 0.1667 (*Qi*1)

0.375 0 0 0 0.1875 0 0 0 0.1875

0.0084 0 0 0 0.0084 0 0 0 0.00167

0 0 0.0025

⎡ ⎣

2 1.67 *kg JGi*<sup>2</sup> =

Table 4. Dynamic parameters of the mobile platform

*and Automation* Vol. 14(No. 1): 78–92.

**12. References**

3: 24–32.

4: 61–69.

3): 389–400.

5/6: 1482–1489.

*Control* Vol. 118: 22–28.

Table 3. Dynamic parameters of the segment *i* = 5 and 6

1 2 *kg JGi*<sup>1</sup> =

## **10. Conclusion**

In this paper, we first presented a review of various proposed schemes for kinematics and inverse dynamics computation of the C5 parallel robot. We presented a new and efficient scheme for derivation of the Jacobian matrix in a factored form as a product two highly sparse matrices. We also presented a new scheme for fast and direct computation of the joint accelerations, given the desired acceleration of the mobile platform. We also reviewed the proposed scheme by Khalil et al (Khalil & Guegan, 2004)(Khalil & Ibrahim, 2007) for computation of the inverse dynamics of the C5 parallel robot. We showed that by using our new scheme for computation of the joint acceleration as well as the use of Jacobian in a factored form a much better efficiency in the computation can be achieved.

The proposed methodology by Khalil et al (Khalil & Guegan, 2004)(Khalil & Ibrahim, 2007) for computation of the inverse dynamics is very systematic and indeed has been applied to several parallel robots. However, we still believe that more efficient formulations can be derived by a further exploitation of specific structures of the parallel robots. We are currently investigating new approaches for the inverse dynamics computation of parallel robots. We are also extending our derivation of the Jacobian matrix in the factored form to other parallel robots.

## **11. Appendix: dynamic parameters**


Table 1. Dynamic parameters of the segment *i* = 1 and 2


Table 2. Dynamic parameters of the segment *i* = 3 and 4


Table 3. Dynamic parameters of the segment *i* = 5 and 6


Table 4. Dynamic parameters of the mobile platform

### **12. References**

20 Will-be-set-by-IN-TECH

In this paper, we first presented a review of various proposed schemes for kinematics and inverse dynamics computation of the C5 parallel robot. We presented a new and efficient scheme for derivation of the Jacobian matrix in a factored form as a product two highly sparse matrices. We also presented a new scheme for fast and direct computation of the joint accelerations, given the desired acceleration of the mobile platform. We also reviewed the proposed scheme by Khalil et al (Khalil & Guegan, 2004)(Khalil & Ibrahim, 2007) for computation of the inverse dynamics of the C5 parallel robot. We showed that by using our new scheme for computation of the joint acceleration as well as the use of Jacobian in

The proposed methodology by Khalil et al (Khalil & Guegan, 2004)(Khalil & Ibrahim, 2007) for computation of the inverse dynamics is very systematic and indeed has been applied to several parallel robots. However, we still believe that more efficient formulations can be derived by a further exploitation of specific structures of the parallel robots. We are currently investigating new approaches for the inverse dynamics computation of parallel robots. We are also extending our derivation of the Jacobian matrix in the factored form to other parallel

0.0025 0 0

0 0 0.00125 + 0.1667 (*Qi*1)

0.00167 0 0 0 0.0084 0 0 0 0.0084

<sup>2</sup> 0

<sup>2</sup> 0 0

0 0 0.00125 + 0.1667 (*Qi*1)

⎤ ⎦

0 0.0025 0

0.0084 0 0 0 0.00167 0 0 0 0.0084 ⎤ ⎦ 2

2

⎤ ⎦

⎤ ⎦

0 0.00125 + 0.1667 (*Qi*1)

⎡ ⎣

a factored form a much better efficiency in the computation can be achieved.

**Body Mass Inertia**

⎡ ⎣

2 1.67 *kg JGi*<sup>2</sup> =

Table 1. Dynamic parameters of the segment *i* = 1 and 2

⎡ ⎣

2 1.67 *kg JGi*<sup>2</sup> =

Table 2. Dynamic parameters of the segment *i* = 3 and 4

**Body Mass Inertia**

0.00125 + 0.1667 (*Qi*1)

⎡ ⎣

**10. Conclusion**

robots.

**11. Appendix: dynamic parameters**

1 2 *kg JGi*<sup>1</sup> =

1 2 *kg JGi*<sup>1</sup> =


**18** 

**Utilizing the Functional Work Space** 

**and Reconfiguration Alternatives** 

A. Djuric and R. J. Urbanic

*University of Windsor* 

*Canada* 

**Evaluation Tool for Assessing a System Design** 

The 'boundary of space' model representing all possible positions which may be occupied by a mechanism during its normal range of motion (for all positions and orientations) is called the work envelope. In the robotic domain, it is also known as the robot operating envelope or workspace (Nof, 1999). Several researchers have investigated workspace boundaries for different degrees of freedom (DOF), joint types and kinematic structures utilizing many approaches (Ceccarelli , 1996), (Ceccarelli & Vinciguerra, 1995), (Ceccarelli & Lanni, 2004), (Cebula & Zsombor-Murray, 2006), (Castelli, et al., 2008), (Yang, et al., 2008). A recent example utilizes a reconfigurable modeling approach, where the 2D and 3D boundary workspace is created by using a method identified as the Filtering Boundary

However, this work envelope based work is limited as it does not contain relevant information regarding the relationships between the robot, or mechanisms within a system. This includes the general kinematic structures within the system, the location of the working part(s), tools, process parameters and other operation related parameters. Here an operation is defined as consisting of the travel path, manipulator/end-effector or working tool, tool and part location, and orientation, and any other related process related parameters. The work envelope provides essential boundary information, which is critical for safety and layout concerns, but the work envelope information does not by itself determine the feasibility of a desired configuration. The effect of orientation is not captured as well as the coupling related to operational parameters. Included in this are spatial occupancy concerns due to linking multiple kinematic chains, which is an issue with multi-tasking machine

Multi-tasking machine tools can be considered CNC mill-lathe hybrids (Figure 1). These machines enable multiple tool engagement in multiple parts simultaneously. Each tool/ part/ spindle/ axis set combination follows its own unique programmed path. These machines minimize the number of manual operations, as well as reduce setup costs and potential quality issues. A single multi-tasking machine tool can completely machine complex parts from start to finish (Hedrick & Urbanic, 2004). Traditional computer numerical control (CNC) machines consist of multiple kinematic chains (two – one to

Points (FBP) algorithm. This is developed fully in Djuric and ElMaraghy (2008).

tools, reconfigurable machines, and manufacturing cells.

**1. Introduction** 

**1.1 Problem definition** 


## **Utilizing the Functional Work Space Evaluation Tool for Assessing a System Design and Reconfiguration Alternatives**

A. Djuric and R. J. Urbanic *University of Windsor Canada* 

## **1. Introduction**

22 Will-be-set-by-IN-TECH

360 Robotic Systems – Applications, Control and Programming

Khalil, W. & Ibrahim, O. (2007). General solution for the dynamic modeling of parallel robots,

Khan, W. A. (2005). Recursive kinematics and inverse dynamics of a 3r planar

Leroy, N., Kokosy, A. M. & Perruquetti, W. (2003). Dynamic modeling of a parallel robot.

Luh, J. Y. S., Walker, W. & Paul, R. P. C. (1980). On line computational scheme for mechanical manipulator, *ASME Journal of Dynamic System, Meas Control* Vol. 102: 69–76.

Merlet, J. P. (2002). Optimal design for the micro parallel robot mips, *Proceedings of IEEE*

Nakamura, Y. & Ghodoussi, M. (1989). Dynamic computation of closed link robot mechanism

Neugebauer, R., Schwaar, M. & F. Wieland, F. (1998). Accuracy of parallel structured of

Plitea, N., Pisla, D., Vaida, C., Gherman, B. & Pisla, A. (2008). Dynamic modeling of a parallel

Poignet, P., Gautier, M., Khalil, W. & Pham, M. T. (2002). Modeling, simulation and control

Stewart, D. (1965). A plaform with 6 degrees of freedom, *Proceedings of the institute of mechanical*

Tsai, L. W. (2000). Solving the inverse dynamics of a gough-stewart manipulator by the

Zhu, Z., Li, J., Gan, Z. & Zhang, H. (2005). Kinematic and dynamic modelling for real-time

principle of virtual work, *Journal of Mechanism Design* Vol. 122: 3–9.

parallel manipulator, *Journal of Dynamic System, Measurment and Control* Vol. 4(No.

Application to a surgical simulator, *Proceedings of IEEE International Conference on*

*International Conference on Robotics and Automation, ICRA '02*, Washington DC, USA,

with non redundant actuators, *IEEE Journal of Robotics and Automation* Vol. 5: 295–302.

machine tools, *Proceedings of the International Seminar on Improving Tool Performance*,

robot used in minimally invasive surgery, *Proceedings of EUCOMES 08*, Cassino, Italy,

of high speed machine tools using robotics formalism, *Journal of Mechatronics* Vol.

control of tau parallel robot, *Journal of Mechanism and Machine Theory* Vol. 40(No.

*Journal of Intelligent and Robotic Systems* Vol. 49(No. 1): 19–37.

*Robotics and Automation*, Taipei, Taiwan, pp. 4330–4335.

Merlet, J. P. (2000). *Parallel Robots*, Kluwer Academic Publishers.

Reboulet, C. (1988). *Robots parallèles*, Eds Hermès, Paris.

4): 529–536.

pp. 1149–1154.

Spain, pp. 521–531.

*engineers*, pp. 371–386.

pp. 595–602.

12: 461–487.

9): 1051–1067.

### **1.1 Problem definition**

The 'boundary of space' model representing all possible positions which may be occupied by a mechanism during its normal range of motion (for all positions and orientations) is called the work envelope. In the robotic domain, it is also known as the robot operating envelope or workspace (Nof, 1999). Several researchers have investigated workspace boundaries for different degrees of freedom (DOF), joint types and kinematic structures utilizing many approaches (Ceccarelli , 1996), (Ceccarelli & Vinciguerra, 1995), (Ceccarelli & Lanni, 2004), (Cebula & Zsombor-Murray, 2006), (Castelli, et al., 2008), (Yang, et al., 2008). A recent example utilizes a reconfigurable modeling approach, where the 2D and 3D boundary workspace is created by using a method identified as the Filtering Boundary Points (FBP) algorithm. This is developed fully in Djuric and ElMaraghy (2008).

However, this work envelope based work is limited as it does not contain relevant information regarding the relationships between the robot, or mechanisms within a system. This includes the general kinematic structures within the system, the location of the working part(s), tools, process parameters and other operation related parameters. Here an operation is defined as consisting of the travel path, manipulator/end-effector or working tool, tool and part location, and orientation, and any other related process related parameters. The work envelope provides essential boundary information, which is critical for safety and layout concerns, but the work envelope information does not by itself determine the feasibility of a desired configuration. The effect of orientation is not captured as well as the coupling related to operational parameters. Included in this are spatial occupancy concerns due to linking multiple kinematic chains, which is an issue with multi-tasking machine tools, reconfigurable machines, and manufacturing cells.

Multi-tasking machine tools can be considered CNC mill-lathe hybrids (Figure 1). These machines enable multiple tool engagement in multiple parts simultaneously. Each tool/ part/ spindle/ axis set combination follows its own unique programmed path. These machines minimize the number of manual operations, as well as reduce setup costs and potential quality issues. A single multi-tasking machine tool can completely machine complex parts from start to finish (Hedrick & Urbanic, 2004). Traditional computer numerical control (CNC) machines consist of multiple kinematic chains (two – one to

Utilizing the Functional Work Space Evaluation Tool

Fig. 2. Extendibility breakdown

Fig. 3. Reconfigurability breakdown

required.

for Assessing a System Design and Reconfiguration Alternatives 363

reconfiguration, a totally different programming or process planning strategy may be

The work envelope does not allow one to assess the operating feasibility of a machine, robot, or system configuration for a set of tasks. Another assessment parameter needs to be introduced to indicate the functional operating work space. Hence, the work window is introduced, and is defined as the valid functional space for a configuration to allow a kinematic structure (robot, machine tool, manufacturing cell, etc.) to follow a path for a set of conditions relating to the system configuration, tooling, fixture location and so forth (Djuric & Urbanic, 2009). A part may be located within the work envelope, but it may not be within the work window. In Figure 4, the encircled region cannot be reached for the 'normal to the base' orientation for the 6R Fanuc robot although the part is within the envelope. The

items bounded by a bolded line in Figures 2 and 3 are discussed in this research.

support the tool and the other to support the fixture), and can be defined by standard families, i.e., 3 axis horizontal machine, 3 axis vertical, 4 axis horizontal and so forth. The valid kinematic chain loops need to be defined, but are static. It must be noted that depending on the machine type and configuration for multi-tasking machines, the kinematic chain loops can dynamically change, which is beyond the scope of this work, but needs to be considered when assessing the feasibility in time and space of these machine families.

Fig. 1. Okuma LT300-MY (Okuma, 2002) and Programmable Axes (adapted from Hedrick & Urbanic, 2004)

In any manufacturing environment, responsiveness to unforeseen disturbances on the shop floor is highly desirable in order to increase throughput, reduce waste and improve resource utilization and productivity (ElMaraghy, 1993). Process improvement methods to increase shop floor responsiveness while minimizing capital investments have consistently been a topic for manufacturing research. This is presently being addressed through the concept of reconfigurable manufacturing (ElMaraghy, 2008). The key building blocks of a reconfigurable manufacturing system are scalability, adaptability, and transformability (Koren et al., 1999). This should reduce capital investments over the system life cycle, rapid changeovers, steeper launch curves, and minimal fluctuations in quality and this has great future potential (Anderson & Bunce, 2000). The reconfiguration concept is divided into two subsets for this work: extendibility (Figure 2) and reconfigurability (Figure 3).

Changing cutting tools, the tooling systems used to mount the tools into the machine, the end-effector or replacing an axis with another with different constraints is considered extendibility. For machining, this usually introduces shifts in the working boundaries allowing the same programs / travel paths to be used with appropriate offsets.

For robotic applications, this may not be the case. (Note: for systems where the end-effector requires specific orientations, it is assumed that the orientation remains constant for a given length offset.) These modifications are typically made in the tooling domain.

A reconfiguration consists of altering the machine topology, i.e. changing the DOF by adding or removing an axis. This may require re-programming, or depending on the 362 Robotic Systems – Applications, Control and Programming

support the tool and the other to support the fixture), and can be defined by standard families, i.e., 3 axis horizontal machine, 3 axis vertical, 4 axis horizontal and so forth. The valid kinematic chain loops need to be defined, but are static. It must be noted that depending on the machine type and configuration for multi-tasking machines, the kinematic chain loops can dynamically change, which is beyond the scope of this work, but needs to be considered when assessing the feasibility in time and space of these machine families.

Fig. 1. Okuma LT300-MY (Okuma, 2002) and Programmable Axes (adapted from Hedrick &

In any manufacturing environment, responsiveness to unforeseen disturbances on the shop floor is highly desirable in order to increase throughput, reduce waste and improve resource utilization and productivity (ElMaraghy, 1993). Process improvement methods to increase shop floor responsiveness while minimizing capital investments have consistently been a topic for manufacturing research. This is presently being addressed through the concept of reconfigurable manufacturing (ElMaraghy, 2008). The key building blocks of a reconfigurable manufacturing system are scalability, adaptability, and transformability (Koren et al., 1999). This should reduce capital investments over the system life cycle, rapid changeovers, steeper launch curves, and minimal fluctuations in quality and this has great future potential (Anderson & Bunce, 2000). The reconfiguration concept is divided into two

Changing cutting tools, the tooling systems used to mount the tools into the machine, the end-effector or replacing an axis with another with different constraints is considered extendibility. For machining, this usually introduces shifts in the working boundaries

For robotic applications, this may not be the case. (Note: for systems where the end-effector requires specific orientations, it is assumed that the orientation remains constant for a given

A reconfiguration consists of altering the machine topology, i.e. changing the DOF by adding or removing an axis. This may require re-programming, or depending on the

subsets for this work: extendibility (Figure 2) and reconfigurability (Figure 3).

allowing the same programs / travel paths to be used with appropriate offsets.

length offset.) These modifications are typically made in the tooling domain.

Urbanic, 2004)

reconfiguration, a totally different programming or process planning strategy may be required.

Fig. 3. Reconfigurability breakdown

The work envelope does not allow one to assess the operating feasibility of a machine, robot, or system configuration for a set of tasks. Another assessment parameter needs to be introduced to indicate the functional operating work space. Hence, the work window is introduced, and is defined as the valid functional space for a configuration to allow a kinematic structure (robot, machine tool, manufacturing cell, etc.) to follow a path for a set of conditions relating to the system configuration, tooling, fixture location and so forth (Djuric & Urbanic, 2009). A part may be located within the work envelope, but it may not be within the work window. In Figure 4, the encircled region cannot be reached for the 'normal to the base' orientation for the 6R Fanuc robot although the part is within the envelope. The items bounded by a bolded line in Figures 2 and 3 are discussed in this research.

Utilizing the Functional Work Space Evaluation Tool

based kinematic chains is then presented.

illustrative examples.

applications are as follows:

Table 1.)

profile)

Table 1.)

*T* in Table 1.)

in Table 1.)

of Cases 4-6 and 8-10 in Table 1.)

**2. Methodology to define the work window** 

for Assessing a System Design and Reconfiguration Alternatives 365

The approaches to determine the work window are different for machine tool type kinematic structures and 6 DOF robots at the base level due to their unique topologies. The machine tool type of devices is decomposed into elemental or primitive groups. The term primitive is utilized, as basic mathematical definitions are used to present the regions of interest. Combining these primitive elemental structures to characterize a selection of machine tools is then illustrated. The methodology to couple the fixture based and tooling

For the selected industrial robot families, an empirical and detailed analytical methodology to determine the workspace boundary for a desired orientation is presented, along with

• 2 axis (X, Y) travel path motion (used for tool less profile machines such as water jet, plasma jet and laser cutting – this is trivial as the work space = work window and is a rectangular surface bounded by the axis stroke limits. This is presented as Case 4 in

• 2 axis (Z, X) travel path motion + rotary spindle (used for lathe machining – this is a subset of Case 4 in Table 1. The axes only move in Z and X, but are swept in a rotary

• 2 axis (X, Y) + Z depth ('2 ½ axis') travel path motion (used for additive manufacturing machines – this is trivial as the work space = work window and is a surface bounded by the axis stroke limits, incremented by a specific Δz value. This is a subset of Case 6 in

• 3 axis travel path motion (used for standard milling machines – the work window is offset from the workspace by the length of the tool and is a solid, also bounded by the axis stroke limits. This is presented by Case 6 or Case 4 in combination with the Case 0,

• 3 axis travel path motion and 1 or 2 axis rotary positioning (used for standard 4 and 5 axis milling machines, and 5 axis CMMs. These are combinations of Cases 4-6 and 8-10

• 5 axis travel path motion and (used for 5 axis milling machines. These are combinations

More sophisticated machines, such as multi-tasking machines (Figure 1), consist of a combination of 3, 4, and 5 axis sub-machines on a lathe frame. The valid kinematic chain combinations must be understood for these machines. The common characteristic of these types of mechanisms is that they can be broken down into basic primitive elemental structures. One kinematic chain holds the tool, the other the part. These elemental structures are combined to create a closed kinematic loop. The reference planes reflect how the axes are physically stacked, and the datum locating points between these elemental structures, and

**2.1 Decomposition analysis for machines consisting of elemental combinations**  Machine types consisting of primitive elemental combinations are milling machines, lathes, routers, coordinate measuring machines (CMM's), and so forth. There are standard machine families, but there are also specialty combinations that are becoming more ubiquitous. There are several basic travel paths strategies that can be employed. The types and typical

Fig. 4. Work envelope and work window for a 6R Fanuc robot (Djuric & Urbanic, 2009)

The actual work window conditions will vary based on the part, travel path tool parameters, geometry, machine kinematic composition and the application. For machining operations, the work window will vary for each unique orientation/ tooling /fixture combination. Structural reconfigurations, such as adding or removing an axis (DOF and type of joints) either virtually or physically, will also impact the work window. A methodology needs to be developed to define the work window for a configuration, and any potential reconfigurations. The assessment of system elements is necessary in order to examine the feasibility and practicality of a set of kinematic structures in a manufacturing scenario. This does not exist at this time. There is a direct relation between the kinematic structures, their manipulability and constraints, to the work window. Proper assessment of system elements will help in optimization of a system and help in deciding various parameters such as number of degrees of freedom, placement of machines, robots and other supporting mechanisms (in case of a work cell consisting of multiple kinematic chain elements) and so forth. The methodology needs to be applicable for the reconfigurable type of machinery. The goal of this work is to focus on foundational work window assessment approaches.

### **1.2 Research approach**

This structure of the chapter is as follows. First, the assessment methodology for machine tool type mechanisms is presented. An appraisal of "primitive" or basic kinematic building blocks is performed and a breakdown of their characteristics is presented. These elemental building blocks are used to create the basic working boundaries using geometric modelling techniques and Boolean operations for more advanced kinematic structures.

A different solution approach is required for the selected industrial robot families (ABB and Fanuc), which is presented in detail in this work. However, the Boolean approach in order to couple the operating environment to the kinematic structure is common. The case study in this work in centred on a robotics work cell application. The feasibility of solution alternatives can then be assessed, as well as the determination of alternative options, which is explored in the case studies section. This research work is then summarized and concluded.

## **2. Methodology to define the work window**

364 Robotic Systems – Applications, Control and Programming

Fig. 4. Work envelope and work window for a 6R Fanuc robot (Djuric & Urbanic, 2009)

goal of this work is to focus on foundational work window assessment approaches.

techniques and Boolean operations for more advanced kinematic structures.

This structure of the chapter is as follows. First, the assessment methodology for machine tool type mechanisms is presented. An appraisal of "primitive" or basic kinematic building blocks is performed and a breakdown of their characteristics is presented. These elemental building blocks are used to create the basic working boundaries using geometric modelling

A different solution approach is required for the selected industrial robot families (ABB and Fanuc), which is presented in detail in this work. However, the Boolean approach in order to couple the operating environment to the kinematic structure is common. The case study in this work in centred on a robotics work cell application. The feasibility of solution alternatives can then be assessed, as well as the determination of alternative options, which is explored in the case studies section. This research work is then summarized and

**1.2 Research approach** 

concluded.

The actual work window conditions will vary based on the part, travel path tool parameters, geometry, machine kinematic composition and the application. For machining operations, the work window will vary for each unique orientation/ tooling /fixture combination. Structural reconfigurations, such as adding or removing an axis (DOF and type of joints) either virtually or physically, will also impact the work window. A methodology needs to be developed to define the work window for a configuration, and any potential reconfigurations. The assessment of system elements is necessary in order to examine the feasibility and practicality of a set of kinematic structures in a manufacturing scenario. This does not exist at this time. There is a direct relation between the kinematic structures, their manipulability and constraints, to the work window. Proper assessment of system elements will help in optimization of a system and help in deciding various parameters such as number of degrees of freedom, placement of machines, robots and other supporting mechanisms (in case of a work cell consisting of multiple kinematic chain elements) and so forth. The methodology needs to be applicable for the reconfigurable type of machinery. The The approaches to determine the work window are different for machine tool type kinematic structures and 6 DOF robots at the base level due to their unique topologies. The machine tool type of devices is decomposed into elemental or primitive groups. The term primitive is utilized, as basic mathematical definitions are used to present the regions of interest. Combining these primitive elemental structures to characterize a selection of machine tools is then illustrated. The methodology to couple the fixture based and tooling based kinematic chains is then presented.

For the selected industrial robot families, an empirical and detailed analytical methodology to determine the workspace boundary for a desired orientation is presented, along with illustrative examples.

## **2.1 Decomposition analysis for machines consisting of elemental combinations**

Machine types consisting of primitive elemental combinations are milling machines, lathes, routers, coordinate measuring machines (CMM's), and so forth. There are standard machine families, but there are also specialty combinations that are becoming more ubiquitous. There are several basic travel paths strategies that can be employed. The types and typical applications are as follows:


More sophisticated machines, such as multi-tasking machines (Figure 1), consist of a combination of 3, 4, and 5 axis sub-machines on a lathe frame. The valid kinematic chain combinations must be understood for these machines. The common characteristic of these types of mechanisms is that they can be broken down into basic primitive elemental structures. One kinematic chain holds the tool, the other the part. These elemental structures are combined to create a closed kinematic loop. The reference planes reflect how the axes are physically stacked, and the datum locating points between these elemental structures, and

Utilizing the Functional Work Space Evaluation Tool

1 RR Flat circular

2 RT Cylindrical

3 TR Cylindrical

*articulated*

*articulated*

**8** TXRB **Line** 

**9** TXRBRA **Line** 

**6** TXTYTZ Cube solid Cube solid

**4** TXTY

**5** *RR-*

7 *RRR-*

**10** TZRCRA

**Case Kinematic** 

0, R

**Structure** 

for Assessing a System Design and Reconfiguration Alternatives 367

0, T T - - 1 DOF basic element

surface

surface

surface

Rectangular surface

*Spherical* 

*Toroidal* 

*Hemi- spherical + cylindrical surfaces*

Table 1. Summary of selected elemental structures (adapted from Djuric & Urbanic (2009)

**Label Workspace Work window Comment** 

R - - 1 DOF basic element

Work space = Work window

Work window = Work space - tool length

Work window = Work space - tool length

Work space = Work window

*Point position also dependent on tool length / part fixture length* 

Work window = Work space offset by tool length

*on tool length* 

**Void in the region of the axis dependent on the revolve profile sweep radius and axis stack** 

**Void in the region of the axis dependent on the revolve profile sweep radii and axis stack** 

**Void in the region of the axis dependent on the sweep radii and tool length** 

Flat circular surface

Cylindrical surface

Cylindrical surface

Rectangular Surface

**Segmented or offset line – not completely defined until combined with other kinematic chains**

*Indeterminate*

*surface Indeterminate Point position also dependent* 

*surface Indeterminate* 

are used to link relationships to define the usable three dimensional (3D) space. It is readily evident that the work envelope essentially consists the bounding stroke positions of the linear or translational axes. The process flow for determining the work window for these mechanisms is illustrated in Figure 5.

Fig. 5. Work window algorithm for mechanisms created from elemental kinematic chains, adapted from Djuric & Urbanic, 2009

To assist with steps 1 and 2 in the process flow, the workspace and window are analysed for a set of 2 and 3 DOF kinematic structures (a selected set presented in Table 1). The *R* represents a rotary axis, and the *T* a translational axis. For this work, it is assumed that axes are stacked orthogonally. The coded delineation represents the axis stack, i.e., *RT* indicates that a translational axis is orthogonally stacked at the end of a rotary axis (Case 2 in Table 1). When specific subscripts are included, for example Case 8 - *TXRB*, this is used to indicate an axis placed on top of another axis, in the order listed. The *A* axis rotates around the *X* translational axis, the *B* axis rotates around the *Y* translational axis, and the *C* axis rotates around the *Z* translational axis.

The workspace of the 2 DOF mechanisms may be a surface, curve or line. Depending on the axis combination and axis stack, the bounding conditions for an axis combination may be a segmented line – i.e., a void exists where the axis/part / fixture is located. The 3 DOF mechanisms usually have a solid workspace. Again, this depends of the joint type (rotational or translational) and their order in the kinematic chain. The revolve profile consists of the sweep volume of the rotary axis, part, and fixture profiles around the rotation axis.

Two combinations of vertical 3 axis milling machines are shown in Figure 6, which are comprised of Case 0, T and Case 4. In Figure 7, a 5 axis vertical milling machine which is comprised of Cases 5 and 6 is shown. In Figure 8, a horizontal 5 axis milling machine is illustrated, which is comprised of Cases 4 and 9. For this machine, the revolve profile is also displayed.

366 Robotic Systems – Applications, Control and Programming

are used to link relationships to define the usable three dimensional (3D) space. It is readily evident that the work envelope essentially consists the bounding stroke positions of the linear or translational axes. The process flow for determining the work window for these

Fig. 5. Work window algorithm for mechanisms created from elemental kinematic chains,

To assist with steps 1 and 2 in the process flow, the workspace and window are analysed for a set of 2 and 3 DOF kinematic structures (a selected set presented in Table 1). The *R* represents a rotary axis, and the *T* a translational axis. For this work, it is assumed that axes are stacked orthogonally. The coded delineation represents the axis stack, i.e., *RT* indicates that a translational axis is orthogonally stacked at the end of a rotary axis (Case 2 in Table 1). When specific subscripts are included, for example Case 8 - *TXRB*, this is used to indicate an axis placed on top of another axis, in the order listed. The *A* axis rotates around the *X* translational axis, the *B* axis rotates around the *Y* translational axis, and the *C* axis rotates

The workspace of the 2 DOF mechanisms may be a surface, curve or line. Depending on the axis combination and axis stack, the bounding conditions for an axis combination may be a segmented line – i.e., a void exists where the axis/part / fixture is located. The 3 DOF mechanisms usually have a solid workspace. Again, this depends of the joint type (rotational or translational) and their order in the kinematic chain. The revolve profile consists of the sweep volume of the rotary axis, part, and fixture profiles around the rotation

Two combinations of vertical 3 axis milling machines are shown in Figure 6, which are comprised of Case 0, T and Case 4. In Figure 7, a 5 axis vertical milling machine which is comprised of Cases 5 and 6 is shown. In Figure 8, a horizontal 5 axis milling machine is illustrated, which is comprised of Cases 4 and 9. For this machine, the revolve profile is also

mechanisms is illustrated in Figure 5.

adapted from Djuric & Urbanic, 2009

around the *Z* translational axis.

axis.

displayed.


Table 1. Summary of selected elemental structures (adapted from Djuric & Urbanic (2009)

Utilizing the Functional Work Space Evaluation Tool

for Assessing a System Design and Reconfiguration Alternatives 369

(a) (b)

Fig. 8. 5 axis milling machine and basic structure, TZRBRA+ TXTY combination, (b) revolve

The addition of the rotary axes immediately reduces the maximum part size that can be machined. This reduction of available work space (or volumetric void) depends on the centre of rotation for the rotary axis, its rotational limits, and the axis stack; hence, the importance of being able to generate the revolve profile. The inclusion of the fixture(s) and part(s) modifies the rotary profile for an axis stack located on the table. For an axis stack located on the end-effector, the tool length (cutting tool or CMM probe) needs to be taken into consideration. This needs to be defined in order to assess the optimal fixture(s) positioning, the maximum part size or number of parts to be located on a fixture (i.e., a tombstone configuration consisting of multiple parts), the maximum tool length and width parameters, and the retraction travel path. The table based revolve profile must be contained or be a volumetric space subset within the workspace region defined by the *X, Y, Z* travel limits. For mechanisms that contain Cases 8 and 9, initial volumetric assessments need to be performed at the *X* and *Y* travel limits with the *Z* axis fully retracted while considering the tool offset to ensure no basic crash conditions and the maximum part/fixture conditions. Then assessments need to be performed at the rotary axes limits to determine orientation feasibilities. A sample of Boolean operations for the region defined by the tool offset (Figure 9 (a)) and then an axis stack on the *Z* axis (Figure 9 (b)) are illustrated in

To start, the Denavit-Hartenberg notation (i.e., DH parameters) is presented to provide the background for the subsequent analyses, as the DH parameters are commonly used in the

profile around the B axis at the home position (centre) of X axis

Figure 9.

**2.2 Industrial robot solution approach** 

Fig. 6. (a) TZ + TYTX combination, (b) (TZ1 + TZ2)+ TXTY combination

For step 3 in the work window process flow, the analytical representation for Cases 1-7 is relatively simple, and related directly to the axis limits (all cases) and tool length (Cases 2, 3, 5 - 7). The complexity is introduced when coupling the kinematic chains for Cases 0, *R* and 0, *T*, and Cases 4, 5, and 6 with Cases 8-10. Reference planes need to be established to link the axes' grounds. Along with the axis stack order, the axes travel limits must be defined, as well as the revolve profiles, where appropriate. Set theory and Boolean operations are then performed to couple the fixture and tooling kinematic chains in relation to their bounding geometry.

Fig. 7. (a) 5 axis milling machine and basic structure, (b) RR+ TXTYTZ combination

368 Robotic Systems – Applications, Control and Programming

For step 3 in the work window process flow, the analytical representation for Cases 1-7 is relatively simple, and related directly to the axis limits (all cases) and tool length (Cases 2, 3, 5 - 7). The complexity is introduced when coupling the kinematic chains for Cases 0, *R* and 0, *T*, and Cases 4, 5, and 6 with Cases 8-10. Reference planes need to be established to link the axes' grounds. Along with the axis stack order, the axes travel limits must be defined, as well as the revolve profiles, where appropriate. Set theory and Boolean operations are then performed to couple the fixture and tooling kinematic chains in relation to their bounding

 (a) (b) Fig. 7. (a) 5 axis milling machine and basic structure, (b) RR+ TXTYTZ combination

 (a) (b) Fig. 6. (a) TZ + TYTX combination, (b) (TZ1 + TZ2)+ TXTY combination

geometry.

Fig. 8. 5 axis milling machine and basic structure, TZRBRA+ TXTY combination, (b) revolve profile around the B axis at the home position (centre) of X axis

The addition of the rotary axes immediately reduces the maximum part size that can be machined. This reduction of available work space (or volumetric void) depends on the centre of rotation for the rotary axis, its rotational limits, and the axis stack; hence, the importance of being able to generate the revolve profile. The inclusion of the fixture(s) and part(s) modifies the rotary profile for an axis stack located on the table. For an axis stack located on the end-effector, the tool length (cutting tool or CMM probe) needs to be taken into consideration. This needs to be defined in order to assess the optimal fixture(s) positioning, the maximum part size or number of parts to be located on a fixture (i.e., a tombstone configuration consisting of multiple parts), the maximum tool length and width parameters, and the retraction travel path. The table based revolve profile must be contained or be a volumetric space subset within the workspace region defined by the *X, Y, Z* travel limits. For mechanisms that contain Cases 8 and 9, initial volumetric assessments need to be performed at the *X* and *Y* travel limits with the *Z* axis fully retracted while considering the tool offset to ensure no basic crash conditions and the maximum part/fixture conditions. Then assessments need to be performed at the rotary axes limits to determine orientation feasibilities. A sample of Boolean operations for the region defined by the tool offset (Figure 9 (a)) and then an axis stack on the *Z* axis (Figure 9 (b)) are illustrated in Figure 9.

### **2.2 Industrial robot solution approach**

To start, the Denavit-Hartenberg notation (i.e., DH parameters) is presented to provide the background for the subsequent analyses, as the DH parameters are commonly used in the

Utilizing the Functional Work Space Evaluation Tool

Link *n*-1

*dn*

*zn***-1** *yn***-1**

Joint *n*-1

*xn***-1**

Fig. 10. Coordinate frames and D-H parameters

*an***-1**

for Assessing a System Design and Reconfiguration Alternatives 371

Joint *n*

Link *n*

Joint *n*+1

*zn***+1**

α*n* *xn***+1**

*yn***+1**

**2.2.1 Empirical approach using a commercial robot simulation software package**  The determination of open kinematic chain dexterity has been done using numerical and analytical methods. These methods are applied and compared using a six DOF manipulator, (Abdel-Malek & Yeh, 2000). The Jacobian formulation provides quantitative dexterity comparison between manipulators with different architectures. It was first applied to analyze serial robots and compared with parallel robots with the same DOF, (Pond & Carretro, 2011). Using the virtual angle analysis the dexterous workspace is generated to analyzed the orientation capability of a manipulator trough its equivalent mechanism (Dai & Shah, 2003). Placement of the manipulator has been done by implementing the Workspace towards the target points and subjecting it to a set of constraints to determine the reachability

*zn xn*

*yn*

θ*n*

*an*

of the end-effector without using the inverse kinematics (Jingzhou Yang, et al., 2009).

Using the above information as a starting point, the methodology to generate the work window for robots using empirical equations follows. Two robots were selected with different kinematic structures (an ABB IRB 140 Robot and a Fanuc M16) and their work window was generated using the Workspace 5 robotic simulation software. A systematic manual valid point generation approach is used to develop the algorithm that supports both procedures. After this was completed, analytical equations were developed empirically and tested for their validity using different examples, an approach conceptually similar to that taken by Abdel-Malek & Yeh (2000). Then the methodology was expanded upon to reflect the problem being solved. By varying joint values to get the complete space representation with the desired orientation (in this example, the orientation is 'normal to the robot base' as this represents common pick and place operations associated with material handling), only four joints are used: Joint 1, Joint 2, Joint 3, and Joint 5. Joint 4 and Joint 6 remain constant. For this study the detailed kinematic information for the ABB IRB 140 Robot and Fanuc M16

Fig. 9. Boolean operations for a Case 10 set of tools to establish valid operating region

robotics domain and provide a standard methodology to write the kinematic equations of a manipulator or end-effector. Each joint in a serial kinematic chain is assigned a coordinate frame. Using the DH notation (Denavit & Hartenberg , 1955), 4 parameters are needed to describe how a frame *i* relates to a previous frame *i* −1 as shown in Figure 10. After assigning coordinate frames the four D-H parameters can be defined as following:


370 Robotic Systems – Applications, Control and Programming

(a)

(b)

robotics domain and provide a standard methodology to write the kinematic equations of a manipulator or end-effector. Each joint in a serial kinematic chain is assigned a coordinate frame. Using the DH notation (Denavit & Hartenberg , 1955), 4 parameters are needed to

Fig. 9. Boolean operations for a Case 10 set of tools to establish valid operating region

After assigning coordinate frames the four D-H parameters can be defined as following:

describe how a frame *i* relates to a previous frame *i* −1 as shown in Figure 10.

*ai* - Link length is the distance along the common normal between the joint axes

*<sup>i</sup> d* - Link offset is the displacement, along the joint axes between the links

*i* - Twist angle is the angle between the joint axes

*<sup>i</sup>* - Joint angle is the angle between the links

α

θ

Fig. 10. Coordinate frames and D-H parameters

## **2.2.1 Empirical approach using a commercial robot simulation software package**

The determination of open kinematic chain dexterity has been done using numerical and analytical methods. These methods are applied and compared using a six DOF manipulator, (Abdel-Malek & Yeh, 2000). The Jacobian formulation provides quantitative dexterity comparison between manipulators with different architectures. It was first applied to analyze serial robots and compared with parallel robots with the same DOF, (Pond & Carretro, 2011). Using the virtual angle analysis the dexterous workspace is generated to analyzed the orientation capability of a manipulator trough its equivalent mechanism (Dai & Shah, 2003). Placement of the manipulator has been done by implementing the Workspace towards the target points and subjecting it to a set of constraints to determine the reachability of the end-effector without using the inverse kinematics (Jingzhou Yang, et al., 2009).

Using the above information as a starting point, the methodology to generate the work window for robots using empirical equations follows. Two robots were selected with different kinematic structures (an ABB IRB 140 Robot and a Fanuc M16) and their work window was generated using the Workspace 5 robotic simulation software. A systematic manual valid point generation approach is used to develop the algorithm that supports both procedures. After this was completed, analytical equations were developed empirically and tested for their validity using different examples, an approach conceptually similar to that taken by Abdel-Malek & Yeh (2000). Then the methodology was expanded upon to reflect the problem being solved. By varying joint values to get the complete space representation with the desired orientation (in this example, the orientation is 'normal to the robot base' as this represents common pick and place operations associated with material handling), only four joints are used: Joint 1, Joint 2, Joint 3, and Joint 5. Joint 4 and Joint 6 remain constant. For this study the detailed kinematic information for the ABB IRB 140 Robot and Fanuc M16

Utilizing the Functional Work Space Evaluation Tool

*i <sup>i</sup> d*

1 1 *d* <sup>1</sup>

2 0 <sup>2</sup>

3 0 <sup>3</sup>

4 4 *d* <sup>4</sup>

5 0 <sup>5</sup>

6 6 *d* <sup>6</sup>

Table 3. D-H parameters for the Fanuc M16 Robot

3 θ<sup>4</sup> *z*

<sup>3</sup> <sup>3</sup> *<sup>x</sup> <sup>y</sup>*

<sup>2</sup> *<sup>y</sup>* <sup>2</sup> *x*

2 *z*

0 *z*

1*d*

2 *a*

θ1

1*a*

θ3

Fig. 12. Kinematic structure of the Fanuc M16 Robot

0 *x*

1*y*

0 *y*

Using a commercial simulation and off-line programming software Workspace 5, the work window (subspace with 'normal to the base' orientation) is generated for the ABB IRB 140 robot. The black net represents the 2D workspace and the green coordinate frames represent

for Assessing a System Design and Reconfiguration Alternatives 373

*<sup>i</sup> <sup>i</sup> a*

= 0 <sup>1</sup> *a* −90

= −90 <sup>2</sup> *a* 180

= 180 <sup>3</sup> *a* 90

= 0 0 −90

= 0 0 90

= 180 0 180

θ5

5*z*

<sup>5</sup> *<sup>y</sup>* <sup>5</sup> *<sup>x</sup>*

α*i*

4 *y*

6 *d*

*z* = *a* <sup>6</sup>

*x* = *n* <sup>6</sup>

*y* = *s* <sup>6</sup>

4 *x*

θ

θ

θ

θ

θ

θ

4 *z*

1*z*

1*x*

θ2 θ6

4 *d*

θ

robots is presented below. The ABB IRB 140 kinematic structure diagram is shown in Figure 11 and its D-H parameters are given in Table 2.


Table 2. D-H parameters for the ABB IRB 140 Robot

The Fanuc M16 kinematic structure diagram is shown in Figure 12 and its D-H parameters are given in Table 3.

Fig. 11. Kinematic structure of the ABB IRB 140 robot

372 Robotic Systems – Applications, Control and Programming

robots is presented below. The ABB IRB 140 kinematic structure diagram is shown in Figure

θ

θ

θ

θ

θ

θ

The Fanuc M16 kinematic structure diagram is shown in Figure 12 and its D-H parameters

4 *y*

4 *x*

5 *x*

θ

4 *d*

*<sup>i</sup> <sup>i</sup> a*

= 0 <sup>1</sup> *a* −90

= −90 <sup>2</sup> *a* 0

= 180 0 90

= 0 0 −90

= 0 0 90

= −90 0 90

α*i*

4 *z*

*z* = *a* <sup>6</sup>

*y* = *s* <sup>6</sup>

*x* = *n* <sup>6</sup>

θ6

5*z*

θ5

5 *y*

6 *d*

11 and its D-H parameters are given in Table 2.

*i <sup>i</sup> d*

1 1 *d* <sup>1</sup>

2 0 <sup>2</sup>

3 0 <sup>3</sup>

4 4 *d* <sup>4</sup>

5 0 <sup>5</sup>

6 6 *d* <sup>6</sup>

2 *z*

θ 3 θ4

<sup>3</sup> *<sup>z</sup>* <sup>3</sup> *<sup>x</sup>*

Table 2. D-H parameters for the ABB IRB 140 Robot

2 *x*

Fig. 11. Kinematic structure of the ABB IRB 140 robot

0 *x*

1*z*

2 *y*

3 *y*

θ2

1*x*

0 *y*

θ1

*a*1

1*y*

0 *z*

1*d*

*a*2

are given in Table 3.


Table 3. D-H parameters for the Fanuc M16 Robot

Fig. 12. Kinematic structure of the Fanuc M16 Robot

Using a commercial simulation and off-line programming software Workspace 5, the work window (subspace with 'normal to the base' orientation) is generated for the ABB IRB 140 robot. The black net represents the 2D workspace and the green coordinate frames represent

Utilizing the Functional Work Space Evaluation Tool

<sup>2</sup> is the Joint 2 twist angle.

21,

φ

Δ

αα

,increment limits,Joint

<sup>2</sup> *K* = cosα

Fig. 15. Algorithm for work window generation

θ = θmin55 *or*

*No*

)(

point a Create

θ+−= *K*

*No*

*No*

*Yes*

*Yes*

θ32

θ = θmin33

θmax33 Δ−=

θ *Yes*

θ

θmax33 Δ−=

*Yes*

32 *Workwindow* ? *wantyouDo*

> = θθmin11

θmax11 Δ−=

*No*

*Yes*

−

θ

*No*

θ = θmin22

θmax22 Δ−=

θ

Where

α

2D or 3D work window.

θ = θmax22

θ < θmin55

θ = θmax55

θ <sup>5</sup> *K*φ

= θθmax33

θ = θmax11

*anglesTwist anglenOrientatio*

for Assessing a System Design and Reconfiguration Alternatives 375

)( <sup>5</sup> *K* +−= *K*θθφθ

> <sup>2</sup> *K* = cosα

The generalized algorithm for generating the work window for two different kinematic structures is given in Figure 15. This solution is valid for 6 DOF robots with rotational joints and the Fanuc and ABB robot kinematic structures. The outcome of the algorithm is either a

The parameter K in Equation 1 is calculated using the formula below:

<sup>32</sup> (1)

(2)

3-2 Workwindow :OUTPUT

*Yes*

*No* 3-2-1 Workwindow :OUTPUT

the work window region. The 2D set of points for the ABB IRB 140 is presented in Figure 13. Similarly, the work window (subspace with 'normal to the base' orientation) is generated for the Fanuc M16 robot and this set of 2D points is presented in Figure 14.

Fig. 13. Work window for the ABB IRB 140 Robot for the 90 degree (normal) orientation

Fig. 14. Work window for the Fanuc M16 Robot for 90 degree (normal) orientation

Upon combining the procedures for the generation both work windows, an empirical formula for the joint five angle is developed, which is shown in equation (1).

$$
\theta\_{\text{\\$}} = K\phi - (\theta\_{\text{2}} + K\theta\_{\text{3}}) \tag{1}
$$

The parameter K in Equation 1 is calculated using the formula below:

$$K = \cos \alpha\_2 \tag{2}$$

Where α<sup>2</sup> is the Joint 2 twist angle.

374 Robotic Systems – Applications, Control and Programming

the work window region. The 2D set of points for the ABB IRB 140 is presented in Figure 13. Similarly, the work window (subspace with 'normal to the base' orientation) is generated for

Fig. 13. Work window for the ABB IRB 140 Robot for the 90 degree (normal) orientation

Fig. 14. Work window for the Fanuc M16 Robot for 90 degree (normal) orientation

formula for the joint five angle is developed, which is shown in equation (1).

Upon combining the procedures for the generation both work windows, an empirical

the Fanuc M16 robot and this set of 2D points is presented in Figure 14.

The generalized algorithm for generating the work window for two different kinematic structures is given in Figure 15. This solution is valid for 6 DOF robots with rotational joints and the Fanuc and ABB robot kinematic structures. The outcome of the algorithm is either a 2D or 3D work window.

Fig. 15. Algorithm for work window generation

Utilizing the Functional Work Space Evaluation Tool

 αθ

α

 αθ

 αθ

α

 αθ

α

 αθ

 αθ

α

 αθ

 αθ

θ

θ

θ

θ

θ

θ

θ

θ

3

*A*

4

5

6

*A*

*A*

*A*

for Assessing a System Design and Reconfiguration Alternatives 377

3 3 3 3 33 3 3 3 2

3 33

 α

4 4 4 4 44 4 4 4 3

5 5 5 5 55 5 5 5 4

5 55

 α

6 6 6 6 66 6 6 6 5

 α

The ABB IRB 140 robot can now be kinematically modeled by using Equations 4-10.

The pose matrix of the end-effector relative to the base is presented in Equation 12.

0 6

*A*

0 6  α

 αθ

 αθ

 αθ

 αθ

 αθ

 αθ

 αθ

 αθ

3 3 3 3 33 3 3 3

<sup>−</sup> − − = =

4 4 4 4 44 4 4 4

*a a*

0 0 0 1 00 0 1

5 5 5 5 55 5 5 5

<sup>−</sup> − − = =

6 6 6 6 66 6 6 6

<sup>−</sup> − − = =

0 0 0 1 00 0 1

0001

*xxx yyy zz z*

*nsa*

*nsa*

<sup>=</sup>

*R nsa*

*nsap*

<sup>=</sup>

The end-effector orientation is defined with the rotation matrix. The upper 3 3 *X* sub matrices of the homogeneous transformation matrices Equation 11, represents the rotational matrix, Equation 13. The graphical representation of the end-effector is shown in Figure16.

*xx x x yy y y zz z z*

*nsap nsap*

cos cos sin sin sin cos cos 0 sin 0 sin cos cos sin cos sin sin 0 cos 0 0 sin cos 01 0

*a a*

cos cos sin sin sin cos cos 0 sin 0 sin cos cos sin cos sin sin 0 cos 0 0 sin cos 01 0 0 0 0 0 1 00 0 1

*a a*

*d*

cos cos sin sin sin cos cos 0 sin 0 sin cos cos sin cos sin sin 0 cos 0 0 sin cos 0 10

− − <sup>−</sup> = = <sup>−</sup>

cos cos sin sin sin cos cos 0 sin 0 sin cos cos sin cos sin sin 0 cos 0 0 sin cos 01 0 0 0 0 0 1 00 0 1

*a a*

*d*

 θ

 θ

4 44 4

 θ

 θ

6 66 6

 θ

 θ

 θ

 θ  θ

 θ

 θ

 θ

> θ

 θ

 θ

 θ

0 012345 *A AAAAAA* 6 123456 = (11)

*d d*

*d d*

 θ

> θ

> > θ

 θ

 θ

 θ

(12)

(13)

 θ

 θ (7)

(8)

(9)

(10)

### **2.2.2 Generation of Work window using analytical equations**

In the kinematic analysis of the manipulator position, there are two separate problems to be solved: the direct kinematics, and inverse kinematics. Assessing the direct kinematics involves solving the forward transformation equation to find the location of the hand in terms of the angles and displacements between the links. The angles and displacements between the links are called joint coordinates and are described with link variables, while the location of the hand in space is described using Cartesian coordinates. Inverse kinematics involves solving the inverse transformation equation to find the relationships between the links of the manipulator from the location of the hand in space. A serial link manipulator is a series of links, which connects the end-effector to the base, with each link connected to the next by an actuated joint. If a coordinate frame is attached to each link, the relationship between two links can be described with a homogeneous transformation matrix using D-H rules (Denavit & Hartenberg, 1955), and they are named *<sup>i</sup>* <sup>1</sup> *Ai* <sup>−</sup> , where *i* is number of joints.

$$A\_i^{i-1} A\_i = \begin{bmatrix} \cos \theta\_i & -\cos \alpha\_i \sin \theta\_i & \sin \alpha\_i \sin \theta\_i & a\_i \cos \theta\_i \\\\ \sin \theta\_i & \cos \alpha\_i \cos \theta\_i & -\sin \alpha\_i \cos \theta\_i & a\_i \sin \theta\_i \\\\ 0 & \sin \alpha\_i & \cos \alpha\_i & d\_i \\\\ 0 & 0 & 0 & 1 \end{bmatrix} \tag{3}$$

The robot can now be kinematically modeled by using the link transforms:

$${}^{0}A\_{n} = {}^{0}A\_{1} {}^{1}A\_{2} {}^{2}A\_{3} \cdots {}^{i-1}A\_{i} \cdots {}^{n-1}A\_{n} \tag{4}$$

Where <sup>0</sup> *An* is the pose of the end-effector relative to base; *<sup>i</sup>* <sup>1</sup> *Ai* <sup>−</sup> is the link transform for the *th i* joint; and *n* is the number of links.

For the ABB IRB 140 robot, six homogeneous transformation matrices have been developed using Maple 12 symbolic manipulation software, Equation 2 and the D-H parameters from Table 2.

$${}^{0}\_{A\_{1}} = \begin{bmatrix} \cos\theta\_{1} & -\cos\alpha\_{1}\sin\theta\_{1} & \sin\alpha\_{1}\sin\theta\_{1} & a\_{1}\cos\theta\_{1} \\\\ \sin\theta\_{1} & \cos\alpha\_{1}\cos\theta\_{1} & -\sin\alpha\_{1}\cos\theta\_{1} & a\_{1}\sin\theta\_{1} \\\\ 0 & \sin\alpha\_{1} & \cos\alpha\_{1} & d\_{1} \\\\ 0 & 0 & 0 & 1 \end{bmatrix} = \begin{bmatrix} \cos\theta\_{1} & 0 & -\sin\theta\_{1} & a\_{1}\cos\theta\_{1} \\\\ \sin\theta\_{1} & 0 & \cos\theta\_{1} & a\_{1}\sin\theta\_{1} \\\\ 0 & -1 & 0 & d\_{1} \\\\ 0 & 0 & 0 & 1 \end{bmatrix} \tag{5}$$

$${}^{1}\_{A\_{2}} = \begin{bmatrix} \cos\theta\_{2} & -\cos\alpha\_{2}\sin\theta\_{2} & \sin\alpha\_{2}\sin\theta\_{2} & a\_{2}\cos\theta\_{2} \\\\ \sin\theta\_{2} & \cos\alpha\_{2}\cos\theta\_{2} & -\sin\alpha\_{2}\cos\theta\_{2} & a\_{2}\sin\theta\_{2} \\\\ 0 & \sin\alpha\_{2} & \cos\alpha\_{2} & d\_{2} \\\\ 0 & 0 & 0 & 1 \end{bmatrix} = \begin{bmatrix} \cos\theta\_{2} & -\sin\theta\_{2} & 0 & a\_{2}\cos\theta\_{2} \\\\ \sin\theta\_{2} & \cos\theta\_{2} & 0 & a\_{2}\sin\theta\_{2} \\\\ 0 & 0 & 1 & 0 \\\\ 0 & 0 & 0 & 1 \end{bmatrix} \tag{6}$$

376 Robotic Systems – Applications, Control and Programming

In the kinematic analysis of the manipulator position, there are two separate problems to be solved: the direct kinematics, and inverse kinematics. Assessing the direct kinematics involves solving the forward transformation equation to find the location of the hand in terms of the angles and displacements between the links. The angles and displacements between the links are called joint coordinates and are described with link variables, while the location of the hand in space is described using Cartesian coordinates. Inverse kinematics involves solving the inverse transformation equation to find the relationships between the links of the manipulator from the location of the hand in space. A serial link manipulator is a series of links, which connects the end-effector to the base, with each link connected to the next by an actuated joint. If a coordinate frame is attached to each link, the relationship between two links can be described with a homogeneous transformation matrix

> cos cos sin sin sin cos sin cos cos sin cos sin

<sup>−</sup> <sup>−</sup>

*i i i i ii i*

 αθ

 αθ

*i ii*

 α

*<sup>n</sup> <sup>n</sup> <sup>i</sup>*

<sup>0</sup> <sup>0</sup> <sup>−</sup> <sup>−</sup> <sup>=</sup> (4)

*Ai*

*a a a a*

*a a a a*

 θ

 θ

 θ

 θ

*d d*

*a a*

*d*

 θ

 θ

00 0 1

*<sup>i</sup> An <sup>A</sup> <sup>A</sup> <sup>A</sup> <sup>A</sup> <sup>A</sup>* <sup>1</sup> <sup>1</sup> 3 2 2 1 1

For the ABB IRB 140 robot, six homogeneous transformation matrices have been developed using Maple 12 symbolic manipulation software, Equation 2 and the D-H parameters from

1 1 1 1 11 1 1 11 1 <sup>0</sup>

2 2 2 2 22 2 2 2 2 2 <sup>1</sup>

0 sin cos 0 10

1 1 1 1 11 1 1 11 1

2 2 2 2 22 2 2 2 2 2

 θ

 θ

*d*

 θ

 θ

cos cos sin sin sin cos cos 0 sin cos sin cos cos sin cos sin sin 0 cos sin

− − <sup>−</sup>

0 0 0 1 00 0 1

cos cos sin sin sin cos cos sin 0 cos sin cos cos sin cos sin sin cos 0 sin 0 sin cos 0 01 0 0 0 0 1 0 00 1

= =

− − <sup>−</sup>

= = <sup>−</sup>

1 11 1

<sup>=</sup>

0 sin cos

α

*i i i i ii i <sup>i</sup>*

*Ai*

<sup>−</sup> is the link transform for the

 θ

 θ

 θ

 θ  θ

 θ

 θ

 θ (5)

(6)

<sup>−</sup> , where *i* is

(3)

**2.2.2 Generation of Work window using analytical equations** 

using D-H rules (Denavit & Hartenberg, 1955), and they are named *<sup>i</sup>* <sup>1</sup>

 αθ

 αθ

The robot can now be kinematically modeled by using the link transforms:

*An* is the pose of the end-effector relative to base; *<sup>i</sup>* <sup>1</sup>

 αθ

 αθ

 αθ

 αθ

 α

2 22

 α

θ

θ

number of joints.

Where <sup>0</sup>

Table 2.

1

2

*A*

*A*

*th*

1

−

*i* joint; and *n* is the number of links.

 αθ

 αθ

> αθ

 αθ

α

α

θ

θ

θ

θ

*i*

*A*

3 3 3 3 33 3 3 3 3 3 3 3 33 3 3 3 2 3 3 33 cos cos sin sin sin cos cos 0 sin 0 sin cos cos sin cos sin sin 0 cos 0 0 sin cos 01 0 0 0 0 0 1 00 0 1 *a a A d* θ αθ αθ θ θ θ θ αθ αθ θ θ θ α α <sup>−</sup> − − = = (7) 4 4 4 4 44 4 4 4 4 4 4 4 44 4 4 4 3 4 4 44 4 cos cos sin sin sin cos cos 0 sin 0 sin cos cos sin cos sin sin 0 cos 0 0 sin cos 0 10 0 0 0 1 00 0 1 *a a A d d* θ αθ αθ θ θ θ θ αθ αθ θ θ θ α α − − <sup>−</sup> = = <sup>−</sup> (8) 5 5 5 5 55 5 5 5 5 5 5 5 55 5 5 5 4 5 5 55 cos cos sin sin sin cos cos 0 sin 0 sin cos cos sin cos sin sin 0 cos 0 0 sin cos 01 0 0 0 0 0 1 00 0 1 *a a A d* θ αθ αθ θ θ θ θ αθ αθ θ θ θ α α <sup>−</sup> − − = = (9) 6 6 6 6 66 6 6 6 6 6 6 6 66 6 6 6 5 6 6 66 6 cos cos sin sin sin cos cos 0 sin 0 sin cos cos sin cos sin sin 0 cos 0 0 sin cos 01 0 0 0 0 1 00 0 1 *a a A d d* θ αθ αθ θ θ θ θ αθ αθ θ θ θ α α <sup>−</sup> − − = = (10)

The ABB IRB 140 robot can now be kinematically modeled by using Equations 4-10.

$$\mathbf{A}^{0}\mathbf{A}\_{6} = {}^{0}\mathbf{A}\_{1}\,^{1}\mathbf{A}\_{2}\,^{2}\mathbf{A}\_{3}\,^{3}\mathbf{A}\_{4}\,^{4}\mathbf{A}\_{5}\,^{5}\mathbf{A}\_{6} \tag{11}$$

The pose matrix of the end-effector relative to the base is presented in Equation 12.

$$\begin{aligned} \;^0A\_6 = \begin{bmatrix} n\_x & s\_x & a\_x & p\_x \\ n\_y & s\_y & a\_y & p\_y \\ n\_z & s\_z & a\_z & p\_z \\ 0 & 0 & 0 & 1 \end{bmatrix} \tag{12} \end{aligned} \tag{12}$$

The end-effector orientation is defined with the rotation matrix. The upper 3 3 *X* sub matrices of the homogeneous transformation matrices Equation 11, represents the rotational matrix, Equation 13. The graphical representation of the end-effector is shown in Figure16.

$$\mathbf{R}^0 \mathbf{R}\_6 = \begin{bmatrix} n\_x & s\_x & a\_x \\ n\_y & s\_y & a\_y \\ n\_z & s\_z & a\_z \end{bmatrix} \tag{13}$$

Utilizing the Functional Work Space Evaluation Tool

case is calculated and is shown in Equation 15.

 θ

> θ

kinematic solution to generate the solution for Joint 5.

Fig. 18. Evaluation of the formula for the ABB IRB 140 robot

3 and Table 3, which are shown in equations 17-22.

**Workspace 5**

θθ

θθ

0 6

*R*

for Assessing a System Design and Reconfiguration Alternatives 379

The calculation of the 2D end-effector orientation is dependent on the three joint angles: Joint 2, Joint 3 and Joint 5. The formula for Joint 5 is generated by assigning initial values for the Joint 1, Joint 4 and Joint 6 in the forward kinematic solution. The rotational matrix in that

0 cos( )sin sin( )cos cos( )cos sin( )sin

+ ++ −+ ++

 θ

0 sin( )sin cos( )cos cos( )sin sin( )cos

 θ

sin( ) tan 2

To be able to generate complete work window, the Joint 2 and Joint 3 angles must vary between their given limits for the desired increment value Δ and using the forward

Equation 16 was evaluated using the commercial software Matlab. The results were compared to the forward kinematics calculated using the Maple 12 software and the

The forward kinematic calculations for the Fanuc M16 robot are done using Equations 2 and

= − −+ + + + ++

1 0 0

By combining Equation 14 and 15 the formula for the Joint 5 angle is generated.

*a*

 θθ

> θθ

5

Workspace 5 simulation and off-line programming software ( Figure 18).

θ

23 5 23 5 23 5 23 5

 θθ

 θθ

2 3

cos( )

θ θ

θ θ

2 3

 θ

 θ

<sup>+</sup> <sup>=</sup> − + (16)

 θθ

 θθ

**Matlab PROGRAM**

 θ

(15)

 θ

23 5 23 5 23 5 23 5

Fig. 16. The end-effector frame of the ABB IRB 140 robot

The normal vector *n* is along 6 *x* axis, the sliding vector *s*is along 6 *y* axis, and the approach vector *a* is along 6 *z* axis. The orientation of the end-effector, relative to the robot base frame, is defined with the three vectors: *n* , *s*, and *a* . Their projections onto the robot base frame are given with the rotational matrix <sup>0</sup> *R*<sup>6</sup> . For the ABB IRB 140 Robot the relation between end-effector and base frame, when the end-effector is normal to the robot base, is graphically shown in Figure 17. The orientation matrix for the given position is calculated (see Equation 13).

$$\begin{aligned} \, ^0R\_6 = \begin{bmatrix} 0 & 0 & 1 \\ -1 & 0 & 0 \\ 0 & -1 & 0 \end{bmatrix} \end{aligned} \tag{14}$$

Fig. 17. The end-effector frame of the ABB IRB 140 robot

378 Robotic Systems – Applications, Control and Programming

*z* = *a* <sup>6</sup>

The normal vector *n* is along 6 *x* axis, the sliding vector *s*is along 6 *y* axis, and the approach vector *a* is along 6 *z* axis. The orientation of the end-effector, relative to the robot base frame, is defined with the three vectors: *n* , *s*, and *a* . Their projections onto the robot base

*x* = *n* <sup>6</sup> *y* =*s* <sup>6</sup>

between end-effector and base frame, when the end-effector is normal to the robot base, is graphically shown in Figure 17. The orientation matrix for the given position is calculated

= − <sup>−</sup>

*x* = *n* <sup>6</sup>

0 6

*R*

*R*<sup>6</sup> . For the ABB IRB 140 Robot the relation

*z* = *a* <sup>6</sup>

*y* = *s* <sup>6</sup>

(14)

Fig. 16. The end-effector frame of the ABB IRB 140 robot

Fig. 17. The end-effector frame of the ABB IRB 140 robot

0*x*

0 *y*

0*z*

frame are given with the rotational matrix <sup>0</sup>

(see Equation 13).

The calculation of the 2D end-effector orientation is dependent on the three joint angles: Joint 2, Joint 3 and Joint 5. The formula for Joint 5 is generated by assigning initial values for the Joint 1, Joint 4 and Joint 6 in the forward kinematic solution. The rotational matrix in that case is calculated and is shown in Equation 15.

$${}^{0}R\_{\mathfrak{e}} = \begin{bmatrix} 0 & \cos(\theta\_2 + \theta\_3)\sin\theta\_5 + \sin(\theta\_2 + \theta\_3)\cos\theta\_5 & -\cos(\theta\_2 + \theta\_3)\cos\theta\_5 + \sin(\theta\_2 + \theta\_3)\sin\theta\_5\\ -1 & 0 & 0 \\ 0 & -\sin(\theta\_2 + \theta\_3)\sin\theta\_5 + \cos(\theta\_2 + \theta\_3)\cos\theta\_5 & \cos(\theta\_2 + \theta\_3)\sin\theta\_5 + \sin(\theta\_2 + \theta\_3)\cos\theta\_5 \end{bmatrix} \tag{15}$$

By combining Equation 14 and 15 the formula for the Joint 5 angle is generated.

$$\theta\_5 = a \tan 2 \left( \frac{\sin(\theta\_2 + \theta\_3)}{-\cos(\theta\_2 + \theta\_3)} \right) \tag{16}$$

To be able to generate complete work window, the Joint 2 and Joint 3 angles must vary between their given limits for the desired increment value Δ and using the forward kinematic solution to generate the solution for Joint 5.

Equation 16 was evaluated using the commercial software Matlab. The results were compared to the forward kinematics calculated using the Maple 12 software and the Workspace 5 simulation and off-line programming software ( Figure 18).

Fig. 18. Evaluation of the formula for the ABB IRB 140 robot

The forward kinematic calculations for the Fanuc M16 robot are done using Equations 2 and 3 and Table 3, which are shown in equations 17-22.

Utilizing the Functional Work Space Evaluation Tool

Fig. 19. The end-effector frame of the Fanuc M16 robot

0*z*

Fig. 20. The end-effector frame of the Fanuc M16 robot

0*x*

0 6

*R*

θθ

θθ

 θ

 θ  θθ

 θθ 0 6

The rotational matrix in this case is calculated and is shown in Equation 24.

 θ

 θ

By combining Equations 23 and 24, the formula for Joint 5 angle is generated.

*R*

= − <sup>−</sup>

23 5 23 5 23 5 23 5

 θθ

 θθ  θ

*x*<sup>6</sup> = *n*

 θ

cos( )cos sin( )sin 0 cos( )sin sin( )cos 0 10 cos( )sin sin( )cos 0 sin( )sin cos( )cos

= − −− +− − +−

−− −− −− +−

23 5 23 5 23 5 23 5

<sup>0</sup> *y z* = *a* <sup>6</sup>

*y* = *s* <sup>6</sup>

(23)

 θθ

 θθ  θ

(24)

 θ

for Assessing a System Design and Reconfiguration Alternatives 381

*y* =*s* <sup>6</sup>

*x* = *n* <sup>6</sup>

*z* = *a* <sup>6</sup>

1 1 1 1 11 1 1 11 1 1 1 1 1 11 1 1 11 1 <sup>0</sup> 1 1 11 1 cos cos sin sin sin cos cos 0 sin cos sin cos cos sin cos sin sin 0 cos sin 0 sin cos 0 10 0 0 0 1 00 0 1 *a a a a A d d* θ αθ αθ θ θ θ θ θ αθ αθ θ θ θ θ α α − − <sup>−</sup> = = <sup>−</sup> (17) 2 2 2 2 22 2 2 2 2 2 2 2 2 2 22 2 2 2 2 2 <sup>1</sup> 2 2 22 cos cos sin sin sin cos cos sin 0 cos sin cos cos sin cos sin sin cos 0 sin 0 sin cos 0 0 10 0 0 0 1 0 00 1 *a a a a A d* θ αθ αθ θ θ θ θ θ αθ αθ θ θ θ θ α α <sup>−</sup> − − = = <sup>−</sup> (18) 3 3 3 3 33 3 3 33 3 3 3 3 3 33 3 3 33 3 <sup>2</sup> 3 3 33 cos cos sin sin sin cos cos 0 sin cos sin cos cos sin cos sin sin 0 cos sin 0 sin cos 01 0 0 0 0 0 1 00 0 1 *a a a a A d* θ αθ αθ θ θ θ θ θ αθ αθ θ θ θ θ α α <sup>−</sup> − − = = (19) 4 4 4 4 44 4 4 4 4 4 4 4 44 4 4 <sup>4</sup> <sup>3</sup> 4 4 44 4 cos cos sin sin sin cos cos 0 sin 0 sin cos cos sin cos sin sin 0 cos 0 0 sin cos 0 10 0 0 0 1 00 0 1 *a a A d d* θ αθ αθ θ θ θ θ αθ αθ θ θ θ α α − − <sup>−</sup> = = <sup>−</sup> (20) 5 5 5 5 55 5 5 5 5 5 5 5 55 5 5 5 <sup>4</sup> 5 5 55 cos cos sin sin sin cos cos 0 sin 0 sin cos cos sin cos sin sin 0 cos 0 0 sin cos 01 0 0 0 0 0 1 00 0 1 *a a A d* θ αθ αθ θ θ θ θ αθ αθ θ θ θ α α <sup>−</sup> − − = = (21) 6 6 6 6 66 6 6 6 6 6 6 6 66 6 6 6 <sup>5</sup> 6 6 66 6 cos cos sin sin sin cos cos sin 0 0 sin cos cos sin cos sin sin cos 0 0 0 sin cos 0 01 0 0 0 1 0 0 01 *a a A d d* θ αθ αθ θ θ θ θ αθ αθ θ θ θ α α <sup>−</sup> − − = = <sup>−</sup> (22)

Similarly to the previous calculations, the end-effector orientation matrix is found. The graphical representation of the end-effector is shown in Figure 19. For the Fanuc M16 Robot the relationship between end-effector and base frame, when end-

effector is normal to the robot base, is graphically shown in Figure 20. The orientation matrix for the given position is calculated using Equation 23.

380 Robotic Systems – Applications, Control and Programming

cos cos sin sin sin cos cos 0 sin cos sin cos cos sin cos sin sin 0 cos sin

− − <sup>−</sup>

0 0 0 1 00 0 1

cos cos sin sin sin cos cos sin 0 cos sin cos cos sin cos sin sin cos 0 sin 0 sin cos 0 0 10 0 0 0 1 0 00 1

= = <sup>−</sup>

cos cos sin sin sin cos cos 0 sin cos sin cos cos sin cos sin sin 0 cos sin 0 sin cos 01 0 0 0 0 0 1 00 0 1

= =

4 4 4 4 44 4 4 4

− − <sup>−</sup>

*a a*

0 0 0 1 00 0 1

5 5 5 5 55 5 5 5

<sup>−</sup> − −

= =

6 6 6 6 66 6 6 6

Similarly to the previous calculations, the end-effector orientation matrix is found. The

For the Fanuc M16 Robot the relationship between end-effector and base frame, when endeffector is normal to the robot base, is graphically shown in Figure 20. The orientation

cos cos sin sin sin cos cos sin 0 0 sin cos cos sin cos sin sin cos 0 0 0 sin cos 0 01

<sup>−</sup> − − = = <sup>−</sup>

*a a*

0 0 0 1 0 0 01

cos cos sin sin sin cos cos 0 sin 0 sin cos cos sin cos sin sin 0 cos 0 0 sin cos 01 0 0 0 0 0 1 00 0 1

*a a*

*d*

cos cos sin sin sin cos cos 0 sin 0 sin cos cos sin cos sin sin 0 cos 0

0 sin cos 0 10

= = <sup>−</sup>

<sup>−</sup> − −

<sup>−</sup> − −

= = <sup>−</sup>

1 1 1 1 11 1 1 11 1 <sup>0</sup>

2 2 2 2 22 2 2 2 2 2 <sup>1</sup>

3 3 3 3 33 3 3 33 3 <sup>2</sup>

4 4 4 4 44 4 4 <sup>4</sup> <sup>3</sup>

5 5 5 5 55 5 5 5 <sup>4</sup>

5 55

 α

 α

0 sin cos 0 10

 αθ

 αθ

 αθ

 αθ

 αθ

 αθ

 α

2 22

 α

3 33

 αθ

 αθ

 αθ

 αθ

6 6 6 6 66 6 6 6 <sup>5</sup>

 α

 αθ

 αθ

 α

1

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

θ

 αθ

 αθ

 αθ

 αθ

α

 αθ

 αθ

α

 αθ

 αθ

α

 αθ

 αθ

 αθ

 αθ

α

graphical representation of the end-effector is shown in Figure 19.

matrix for the given position is calculated using Equation 23.

α

α

*A*

2

3

4

5

*A*

6

*A*

*A*

*A*

*A*

1 1 1 1 11 1 1 11 1

2 2 2 2 22 2 2 2 2 2

 θ

 θ

*d*

3 3 3 3 33 3 3 33 3

 θ

 θ

4 44 4

 θ

 θ

6 66 6

 θ

 θ

 θ

 θ

*d*

 θ

 θ

1 11 1

*a a a a*

*a a a a*

*a a a a*

*d d*

 θ

 θ

> θ

 θ

 θ

 θ

*d d*

 θ

> θ

 θ

 θ

 θ

 θ

 θ

 θ

*d d*

 θ

> θ

> > θ

> > > θ

> > > > θ

 θ

 θ

> θ

 θ

 θ  θ

 θ

> θ

 θ

 θ

 θ (17)

(18)

(19)

(20)

(21)

(22)

Fig. 19. The end-effector frame of the Fanuc M16 robot

Fig. 20. The end-effector frame of the Fanuc M16 robot

$$\begin{aligned} \, \, ^0R\_\epsilon = \begin{bmatrix} 1 & 0 & 0 \\ 0 & -1 & 0 \\ 0 & 0 & -1 \end{bmatrix} \end{aligned} \tag{23}$$

The rotational matrix in this case is calculated and is shown in Equation 24.

$$\begin{aligned} \;^0R\_\circ = \begin{bmatrix} -\cos(\theta\_2-\theta\_3)\cos\theta\_5 - \sin(\theta\_2-\theta\_3)\sin\theta\_5 & 0 & -\cos(\theta\_2-\theta\_3)\sin\theta\_5 + \sin(\theta\_2-\theta\_3)\cos\theta\_5\\ 0 & -1 & 0\\ -\cos(\theta\_2-\theta\_3)\sin\theta\_5 + \sin(\theta\_2-\theta\_3)\cos\theta\_5 & 0 & \sin(\theta\_2-\theta\_3)\sin\theta\_5 + \cos(\theta\_2-\theta\_3)\cos\theta\_5 \end{bmatrix} \end{aligned} \tag{24}$$

By combining Equations 23 and 24, the formula for Joint 5 angle is generated.

Utilizing the Functional Work Space Evaluation Tool

for Assessing a System Design and Reconfiguration Alternatives 383

Fig. 22. Work window for the ABB IRB 140 robot for the 45 degree orientation

Fig. 23. Work window for the ABB IRB 140 robot showing the comparison between the 90

normal to the base orientation and the 45 degree orientation

$$\theta\_3 = a \tan 2 \left( \frac{-\sin(\theta\_2 - \theta\_3)}{-\cos(\theta\_2 - \theta\_3)} \right) \tag{25}$$

To be able to generate the complete work window, again the Joint 2 and Joint 3 angles must be varied between their given limits for the desired increment value Δ and using the forward kinematic solution to generate the solution for the Joint 5.

As with the ABB IRB 140 robot, this resulting equation 25 is evaluated using Matlab, and compared with result assessments Maple 12 and Workspace 5 (Figure 21).

Fig. 21. Evaluation of the formula for Fanuc M16 Robot

Equations 16 and 25 can be unified into one general formula for calculating Joint 5 angle for either ABB IRB 140 robot or Fanuc M16 robot by using the parameter K in Equation 2. The unified formula is presented in Equation 26.

$$\theta\_{\circ} = a \tan 2 \left( \frac{K \sin(\theta\_2 + K\theta\_3)}{-\cos(\theta\_2 + K\theta\_3)} \right) \tag{26}$$

This methodology can be applied to any similar kinematic structure and the unification procedure can be extended. The formula is valid for any desired orientation. The example using a 45 degree orientation for the ABB IRB 140 robot is illustrated in Figures 22 and 23. As with the machine tool example illustrated in Figure 9 (b), the Boolean intersection of the selected 45° orientation and the 90 ° normal to the base regions is the zone where both orientations are valid (Figure 23), and where the part should be located if both orientations are required for the process travel paths.

382 Robotic Systems – Applications, Control and Programming

sin( ) tan 2 cos( )

− − <sup>=</sup>

To be able to generate the complete work window, again the Joint 2 and Joint 3 angles must be varied between their given limits for the desired increment value Δ and using the

As with the ABB IRB 140 robot, this resulting equation 25 is evaluated using Matlab, and

Equations 16 and 25 can be unified into one general formula for calculating Joint 5 angle for either ABB IRB 140 robot or Fanuc M16 robot by using the parameter K in Equation 2. The

> sin( ) tan 2 cos( ) *K K*

<sup>+</sup> <sup>=</sup>

This methodology can be applied to any similar kinematic structure and the unification procedure can be extended. The formula is valid for any desired orientation. The example using a 45 degree orientation for the ABB IRB 140 robot is illustrated in Figures 22 and 23. As with the machine tool example illustrated in Figure 9 (b), the Boolean intersection of the selected 45° orientation and the 90 ° normal to the base regions is the zone where both orientations are valid (Figure 23), and where the part should be located if both orientations

θ

θ

2 3

2 3

*K*

 θ

 θ

− + (26)

5

θ

forward kinematic solution to generate the solution for the Joint 5.

Fig. 21. Evaluation of the formula for Fanuc M16 Robot

**Workspace 5**

5

θ

*a*

unified formula is presented in Equation 26.

are required for the process travel paths.

*a*

compared with result assessments Maple 12 and Workspace 5 (Figure 21).

2 3

θ θ

θ θ

2 3

− − (25)

**Matlab PROGRAM**

Fig. 22. Work window for the ABB IRB 140 robot for the 45 degree orientation

Fig. 23. Work window for the ABB IRB 140 robot showing the comparison between the 90 normal to the base orientation and the 45 degree orientation

Utilizing the Functional Work Space Evaluation Tool

cost savings.

**5. References** 

778-789

2009

Vol. 39, pp. 119-132

France, October 2008

22, No. 1, pp. 5-11

*Manufacturing Systems,* Vol. 17, pp. 261-276

Springer-Verlag (Publisher), ISBN: 978-1-84882-066-1

for Assessing a System Design and Reconfiguration Alternatives 385

executed virtually, and these methods employed to determine feasibility prior to physical set ups or modification in the manufacturing environment, which represents a time and

Abdel-Malek, K. & Yeh, H. J. (2000). Local Dexterity Analysis for Open Kinematic Chains*,* 

Anonymous - Okuma, 2002, Okuma Twin Star LT Series Turning Centres with Twin

Castelli, G.; Ottaviano, E. & Ceccarelli, M. (2008). A Fairly General Algorithm to Evaluate

Cebula, A.J. & Zsombor-Murray, P.J. (2006). Formulation of the Workspace Equation for

Ceccarelli, M. & Lanni, C. (2003). A Multi-objective Optimum Design of General 3R

Ceccarelli, M. & Vinciguerra, A. (1995). On the Workspace of the General 4R Manipulators,

Ceccarelli, M. (1996). A Formulation for the Workspace Boundary of General N-revolute

Dai, J. & Shah, P. (2003). Orientation Capability Planar Manipulators Using Virtual Joint

Denavit J. & Hartenberg R. S. (1955). A Kinematic Notation for Lower-pair Mechanisms Based on Matrices, *Journal of Applied Mechanics,* Vol. 77, pp. 215-221. Djuric, A. & Urbanic, R. J. (2009). A Methodology for Defining the Functional Space (Work

Djuric, A. M. & ElMaraghy, W. H. (2008). Filtering Boundary Points of the Robot

ElMaraghy, H. A. & ElMaraghy, W. H. (1993). Bridging the Gap Between Process Planning

ElMaraghy, H. A. (2005). Flexible and Reconfigurable Manufacturing Systems Paradigms,

ElMaraghy, H. A. (2008). *Changeable and Reconfigurable Manufacturing Systems,* (editor)

Hedrick R. & Urbanic, R. J. (2007). A Methodology for Managing Change when

Koren, Y.; Heisel, U.; Jovane, F.; Moriwaki, T.; Pritchow, G.; Van Brussel, H. & Ulsoy, A.G. (1999). Reconfigurable Manufacturing Systems, *CIRP Annals*, Vol. 48, No. 2.

*Agile, Virtual and Reconfigurable Production (CARV),* pp. 992-1001

Window) for a Machine Configuration, *3nd International Conference on Changeable, Agile, Reconfigurable and Virtual Production*, CD-ROM, Munich, October 5th-7th,

Workspace, *5th International Conference on Digital Enterprise Technology*. Nantes,

and Production Planning and Control, *CIRP Journal of Manufacturing Systems*, Vol.

*International Journal of Flexible Manufacturing Systems, Special Issue on Reconfigurable* 

Reconfiguring a Manufacturing System, *2nd International Conference on Changeable,* 

*The International Journal of Robotics Research*, Vol.14, pp.152-160

Manipulators, *Mechanisms and Machine Theory*, Vol. 31, pp. 637-646

Angle Analysis, *Mechanism and Machine Theory*, Vol. 38, pp. 241-252

Workspace Characteristics of Serial and Parallel Manipulators, *Mechanics Based* 

Wrist-Partitioned Spatial Manipulators, *Mechanisms and Machine Theory*, Vol 41, pp.

Manipulators for Prescribed Workspace Limits, *Mechanisms and Machine Theory*,

*Mechanism and Machine Theory*, Vol. 35, pp. 131-154.

*Design of Structures and Machines*, Vol. 36, pp. 14-33

Spindles, *LT Series - (1) –300*, Okuma Co.

To facilitate the 6 DOF work window calculation, empirical and analytical methods are used and validated. From the empirical study, it found out that Joint 2, Joint 3, and Joint 5 play the most important role. By varying Joint 2 and Joint 3 between their limits, Joint 5 needs to be calculated to satisfy the desired end-effector orientation angle. The study of a repeatable procedure led to the generation of the analytical method.

Two kinematically different robots are selected and their work windows are generated: the ABB IRB 140 and Fanuc M16 robots. The resulting work window space can then be assessed using Boolean operations to determine the valid working zone for multiple travel paths, orientations, or regions of overlap for a manufacturing cell. This is illustrated for the 90 degree normal to the base and selected 45 degree orientation example.

## **3. Robot cell case study**

For the selected example, the work window is generated using the empirical formula (algorithm in Figure 11) and evaluated with analytical solution (Figure 24). Three 6DOF ABB robots are place in a work cell. The desired orientation is required for synchronous motion. The robots' placement will depend on the end-effector orientation. Using the work window for each robot, the layout can be done quickly, accurately and options can then be assessed. For example, the consideration that the robots may offset and sliding rails (or a 7th axis) added such that one robot could be repositioned to perform the other robot's tasks if a robot is non-performing for a reason. Reduced productivity would result, but production could still continue.

Fig. 24. Work window for the selected example

## **4. Conclusion**

To conclude, a methodology to predetermine regions of feasible operation for multiple kinematic chain mechanisms and manufacturing cells is presented. The approach differs for mechanisms consisting of 1, 2, and 3 DOF subsets linked together via reference frames, and 6 DOF industrial robots. However, after the basic region of valid operation is determined, assessment of the part location and travel paths can be performed. With complex system configurations, it is not intuitive to define the region of task feasibility for the initial design and as well as design alternatives, as there is much coupling related to the kinematic structures and their manipulability, tooling, fixtures, part geometry and task requirements. Changing an operation / task set or a system reconfiguration can be executed virtually, and these methods employed to determine feasibility prior to physical set ups or modification in the manufacturing environment, which represents a time and cost savings.

## **5. References**

384 Robotic Systems – Applications, Control and Programming

To facilitate the 6 DOF work window calculation, empirical and analytical methods are used and validated. From the empirical study, it found out that Joint 2, Joint 3, and Joint 5 play the most important role. By varying Joint 2 and Joint 3 between their limits, Joint 5 needs to be calculated to satisfy the desired end-effector orientation angle. The study of a repeatable

Two kinematically different robots are selected and their work windows are generated: the ABB IRB 140 and Fanuc M16 robots. The resulting work window space can then be assessed using Boolean operations to determine the valid working zone for multiple travel paths, orientations, or regions of overlap for a manufacturing cell. This is illustrated for the 90

For the selected example, the work window is generated using the empirical formula (algorithm in Figure 11) and evaluated with analytical solution (Figure 24). Three 6DOF ABB robots are place in a work cell. The desired orientation is required for synchronous motion. The robots' placement will depend on the end-effector orientation. Using the work window for each robot, the layout can be done quickly, accurately and options can then be assessed. For example, the consideration that the robots may offset and sliding rails (or a 7th axis) added such that one robot could be repositioned to perform the other robot's tasks if a robot is non-performing for a reason. Reduced productivity would result, but production

To conclude, a methodology to predetermine regions of feasible operation for multiple kinematic chain mechanisms and manufacturing cells is presented. The approach differs for mechanisms consisting of 1, 2, and 3 DOF subsets linked together via reference frames, and 6 DOF industrial robots. However, after the basic region of valid operation is determined, assessment of the part location and travel paths can be performed. With complex system configurations, it is not intuitive to define the region of task feasibility for the initial design and as well as design alternatives, as there is much coupling related to the kinematic structures and their manipulability, tooling, fixtures, part geometry and task requirements. Changing an operation / task set or a system reconfiguration can be

Generation of Work window for the selected example

procedure led to the generation of the analytical method.

**3. Robot cell case study** 

could still continue.

**4. Conclusion** 

Fig. 24. Work window for the selected example

degree normal to the base and selected 45 degree orientation example.


**0**

**19**

*Germany*

**Requirement Oriented Reconfiguration**

The development of industrial production is subject to a change, which is mainly caused by higher customer orientation. The possibility of an end-customer to configure nearly individual mass products results in sophisticated challenges for production. The diversity of variants is growing. In addition an increasing demand to offer a band of new products leads to shorter product life cycles. To be competitive a company has to provide the product at reasonable costs. Considering serial production lines in highly developed countries, a high degree of automation is necessary to gain economies of scale. These changes of the economic boundaries demand specific design methodologies for the production equipment. In particular reconfigurable robotic systems are promising alternatives to the purchase of new production equipment. In case of changed production organization, reconfigurable robotic systems reduce redesign efforts and do not require rescheduling of entire production lines. Major impact factors to the design of reconfigurable robots are shown in Figure 1. They are

Regarding robotic systems, parallel robots, due to their high speed, acceleration and stiffness parameters have a huge potential to be reconfigurable systems. Several and entirely different reconfiguration strategies of parallel robotic systems can be derived based on these properties. Starting from the early design stage of requirement management, design considerations

subdivided into product and production driven aspects.

Fig. 1. Impact factors to reconfigurable robotic systems.

**1. Introduction**

**of Parallel Robotic Systems**

Annika Raatz and Thomas Vietor *Technische Universität Braunschweig*

Jan Schmitt, David Inkermann, Carsten Stechert,

Nof, S.Y. (1999). *Handbook of Industrial Robotics*, 2nd edn. New York: John Wiley & Sons.


## **Requirement Oriented Reconfiguration of Parallel Robotic Systems**

Jan Schmitt, David Inkermann, Carsten Stechert, Annika Raatz and Thomas Vietor *Technische Universität Braunschweig Germany*

## **1. Introduction**

386 Robotic Systems – Applications, Control and Programming

Yang, J.; Yu, W.; Kim, J. & Abdel-Malet, K. (2009). On the Placement of Open-Loop

Robotic Manipulators for Reachability, *Mechanism and Machine Theory*, Vol. 44,

Nof, S.Y. (1999). *Handbook of Industrial Robotics*, 2nd edn. New York: John Wiley & Sons. Pond, G. & Carretro, J. (2011). Dexterity Measures and Their Use in Quantitative Dexterity

Comparisons, *Meccanica*, Vol. 46, pp. 51-64

pp. 671-684

The development of industrial production is subject to a change, which is mainly caused by higher customer orientation. The possibility of an end-customer to configure nearly individual mass products results in sophisticated challenges for production. The diversity of variants is growing. In addition an increasing demand to offer a band of new products leads to shorter product life cycles. To be competitive a company has to provide the product at reasonable costs. Considering serial production lines in highly developed countries, a high degree of automation is necessary to gain economies of scale. These changes of the economic boundaries demand specific design methodologies for the production equipment. In particular reconfigurable robotic systems are promising alternatives to the purchase of new production equipment. In case of changed production organization, reconfigurable robotic systems reduce redesign efforts and do not require rescheduling of entire production lines. Major impact factors to the design of reconfigurable robots are shown in Figure 1. They are subdivided into product and production driven aspects.

Fig. 1. Impact factors to reconfigurable robotic systems.

Regarding robotic systems, parallel robots, due to their high speed, acceleration and stiffness parameters have a huge potential to be reconfigurable systems. Several and entirely different reconfiguration strategies of parallel robotic systems can be derived based on these properties. Starting from the early design stage of requirement management, design considerations

of Parallel Robotic Systems 3

Requirement Oriented Reconfiguration of Parallel Robotic Systems 389

Auxiliary Drives and Adaptive Machine Elements

© Festo, Molecubes (2011) © Krefft (2006) © Riedel (2008)

Replacement

> System Inherent Reconfiguration

© Wenger (1998)

Reconfiguration via Grasping

Modular selfreconfiguration

Reassembling

Offline / Static

Online / Dynamic © Fischer (2004) © Ji (1998)

Fig. 2. General classification of reconfiguration approaches to adapted parallel robots to

The mechanical structure of fully parallel robotic systems is very suitable for offline reconfiguration since those structures are actuated in parallel and therefore consists of many consistent components. Components or sub-modules of the system are replaced or the same components are mounted in different positions and orientations. Thus, various morphologies

**Reassembling and replacement.** Various pieces of work focus on the design of modular kinematic structures in order to enable effective reconfiguration of robot systems [Krefft (2006), Fisher (2004), Wurst (2002)]. A modular robotic system consists of a set of standardized modules, such as actuators, passive joints, rigid links (connectors), mobile platforms, and end-effectors, that can be rapidly assembled into complete systems with various configurations. In Ji (1998) a reconfigurable platform manipulator based on a HEXAPOD kinematic structure is presented. Each module e.g. leg modules of the structure can be replaced and position and orientation of the joints on the mobile platform and the base can be varied, using different sets of pattened holes. Thus, different workspace dimensions are obtained. Yang et al. (2001) propose two types of robot modules in order to simply assemble three-legged parallel robots. Using fixed-dimension joint modules and variable dimension link modules that can be custom-designed rapidly, various kinematic structures

In order to develop offline reconfigurable parallel robots numerous design approaches have been presented in literature. Since modular design is a research field in engineering design, specific methodologies for modular reconfigurable parallel kinematic machines (PKM) were introduced e.g. by Jovane (2002), Pritschow et al. (2000), and Koren et al. (1999). These approaches are mostly limited to concrete kinematic structures e.g. HEXAPOD robots, so

Online reconfiguration means to change the robots' properties without rearranging the mechanical parts. Hence, no shut-down of the system is essential, but particular hardware

**Modular self-reconfiguration.** Modular self-reconfigurable robotic systems have been topic of tradition in robotics science for years, a survey of Jantapremjit (2001) shows a variety of these reconfigurable robots. In general they are assembled by a set of identical modules with the same functional range. Each module has to carry actuation, sensing, control entities

General Reconfiguration Approaches

external environments.

can be facilitated.

**2.2.2 Online reconfiguration**

**2.2.1 Offline reconfiguration**

of the kinematic structure can be arranged.

transfer of constructive realizations is narrowed down.

components as well as dedicated control functions are required.

and machine elements have to be considered in order to enable effective reconfiguration of the systems. Since development and design complexity for reconfigurable robotic systems increase necessary steps to be addressed are use case derivations, their segmentation and discretization as requirement spreads as well as the relation between the systems components and parameters of the robotic system, which are modified.

In this contribution general aspects of robotic reconfiguration approaches are shown and a methodological design procedure for reconfigurable systems is introduced. A brief literature review tends to determine the general idea of reconfiguration and the state of research of robotic reconfiguration by several approaches. As parallel robots constitute the focus in this chapter, some basics of this particular type of robots are shown. In order to develop reconfigurable robotic systems, the requirement management as the first step of the design process is significant. Therefore, paragraph 4 discusses the modeling of complex requirements and requirement spreads using SysML. In the following, static and dynamic reconfiguration approaches of parallel robots are presented and applied exemplary. Since the suitability of each reconfiguration strategy depends on the restrictions of the considered use cases, a systematic assessment of reconfiguration approaches is done in section 6. The chapter closes with a conclusion and a brief prospect to further research activities.

## **2. Literature review**

The field of robotic research reconfiguration is often attended by modularization, standardization of interfaces or morphology on different mechatronic levels. In order to establish a consistent comprehension the term "'reconfiguration"' is defined, before representatives of different concepts are described briefly.

## **2.1 General idea and term definition**

The general idea in developing reconfigurable robots is to enable a system to change its abilities to fulfil various tasks. These tasks are characterized by different requirements depending on the robots field of application. In this contribution parallel kinematic robots are focused on, where handling and assembly tasks are typical. Hence, a suitable definition for reconfiguration is given by Setchi (2004):

*"'Reconfigurability is the ability to repeatedly change and rearrange the components of a system in a cost-effective way"'.*

In literature a wide spread understanding of reconfigurable robots is existent (see Figure 2). In the following section different approaches and realization examples are introduced in order to distinguish the scope of this contribution.

### **2.2 Classification of reconfiguration approaches**

Many approaches for the reconfiguration of robotic systems have been proposed in literature but are not yet established in industry. These approaches can be considered as either online or offline. While online reconfiguration is performed during the use of a robot without switching it off, offline reconfiguration demands a shut-down of the robot (see Figure 2). The following literature review helps to gain a deeper insight into the possibilities to realize reconfigurable robots that can adapt to external environments.

Fig. 2. General classification of reconfiguration approaches to adapted parallel robots to external environments.

### **2.2.1 Offline reconfiguration**

2 Will-be-set-by-IN-TECH

and machine elements have to be considered in order to enable effective reconfiguration of the systems. Since development and design complexity for reconfigurable robotic systems increase necessary steps to be addressed are use case derivations, their segmentation and discretization as requirement spreads as well as the relation between the systems components

In this contribution general aspects of robotic reconfiguration approaches are shown and a methodological design procedure for reconfigurable systems is introduced. A brief literature review tends to determine the general idea of reconfiguration and the state of research of robotic reconfiguration by several approaches. As parallel robots constitute the focus in this chapter, some basics of this particular type of robots are shown. In order to develop reconfigurable robotic systems, the requirement management as the first step of the design process is significant. Therefore, paragraph 4 discusses the modeling of complex requirements and requirement spreads using SysML. In the following, static and dynamic reconfiguration approaches of parallel robots are presented and applied exemplary. Since the suitability of each reconfiguration strategy depends on the restrictions of the considered use cases, a systematic assessment of reconfiguration approaches is done in section 6. The chapter closes

The field of robotic research reconfiguration is often attended by modularization, standardization of interfaces or morphology on different mechatronic levels. In order to establish a consistent comprehension the term "'reconfiguration"' is defined, before

The general idea in developing reconfigurable robots is to enable a system to change its abilities to fulfil various tasks. These tasks are characterized by different requirements depending on the robots field of application. In this contribution parallel kinematic robots are focused on, where handling and assembly tasks are typical. Hence, a suitable definition

*"'Reconfigurability is the ability to repeatedly change and rearrange the components of a system in a*

In literature a wide spread understanding of reconfigurable robots is existent (see Figure 2). In the following section different approaches and realization examples are introduced in order

Many approaches for the reconfiguration of robotic systems have been proposed in literature but are not yet established in industry. These approaches can be considered as either online or offline. While online reconfiguration is performed during the use of a robot without switching it off, offline reconfiguration demands a shut-down of the robot (see Figure 2). The following literature review helps to gain a deeper insight into the possibilities to realize reconfigurable

and parameters of the robotic system, which are modified.

with a conclusion and a brief prospect to further research activities.

representatives of different concepts are described briefly.

**2. Literature review**

*cost-effective way"'.*

**2.1 General idea and term definition**

for reconfiguration is given by Setchi (2004):

to distinguish the scope of this contribution.

**2.2 Classification of reconfiguration approaches**

robots that can adapt to external environments.

The mechanical structure of fully parallel robotic systems is very suitable for offline reconfiguration since those structures are actuated in parallel and therefore consists of many consistent components. Components or sub-modules of the system are replaced or the same components are mounted in different positions and orientations. Thus, various morphologies of the kinematic structure can be arranged.

**Reassembling and replacement.** Various pieces of work focus on the design of modular kinematic structures in order to enable effective reconfiguration of robot systems [Krefft (2006), Fisher (2004), Wurst (2002)]. A modular robotic system consists of a set of standardized modules, such as actuators, passive joints, rigid links (connectors), mobile platforms, and end-effectors, that can be rapidly assembled into complete systems with various configurations. In Ji (1998) a reconfigurable platform manipulator based on a HEXAPOD kinematic structure is presented. Each module e.g. leg modules of the structure can be replaced and position and orientation of the joints on the mobile platform and the base can be varied, using different sets of pattened holes. Thus, different workspace dimensions are obtained. Yang et al. (2001) propose two types of robot modules in order to simply assemble three-legged parallel robots. Using fixed-dimension joint modules and variable dimension link modules that can be custom-designed rapidly, various kinematic structures can be facilitated.

In order to develop offline reconfigurable parallel robots numerous design approaches have been presented in literature. Since modular design is a research field in engineering design, specific methodologies for modular reconfigurable parallel kinematic machines (PKM) were introduced e.g. by Jovane (2002), Pritschow et al. (2000), and Koren et al. (1999). These approaches are mostly limited to concrete kinematic structures e.g. HEXAPOD robots, so transfer of constructive realizations is narrowed down.

### **2.2.2 Online reconfiguration**

Online reconfiguration means to change the robots' properties without rearranging the mechanical parts. Hence, no shut-down of the system is essential, but particular hardware components as well as dedicated control functions are required.

**Modular self-reconfiguration.** Modular self-reconfigurable robotic systems have been topic of tradition in robotics science for years, a survey of Jantapremjit (2001) shows a variety of these reconfigurable robots. In general they are assembled by a set of identical modules with the same functional range. Each module has to carry actuation, sensing, control entities

of Parallel Robotic Systems 5

Requirement Oriented Reconfiguration of Parallel Robotic Systems 391

Based on this brief literature review in the following section particular properties as well as design aspects of parallel robots are introduced. Subsequently, requirement management for reconfigurable robots is introduced in section 4. Further considerations will also focus on offline and online reconfiguration. Here, the use of adaptive machine elements as well as

Parallel robots constitute a special class of robotic systems mainly for industrial applications. The characteristic property of parallel robots, in comparison to their serial counterparts is the closed-loop kinematic chain referring to the kinematic structure. The constructive advantage of this robot architecture is the possibility to assemble the drive near the frame, which implicates very low moving masses. This specific design leads to several significant benefits in the robots' performance, such as high stiffness and high dynamic properties. Due to these aspects, parallel robots are employed for an increasing amount of handling and assembly tasks [Merlet (2001)]. The most famous example of a parallel kinematic structure is the Delta robot of Clavel (1991) (see Figure 3). Here, a four DoF Delta robot is shown, where three translational DoF are provided by the rotary drives mounted at the frame. The load transmission is carried out by the three close-loop chains, where the constant orientation of the end-effector platform is provided by the parallelogram structure in the mechanism. The middle axis offers an

additional rotary DoF by the application of a length variable connecting shaft. Drive Frame

Closed Kinematic Chain

The rather low market penetration of parallel robots (except the Delta kinematic) is reasoned by specific drawbacks. The unfavorable workspace-to-installation space ration in comparison to serial robots is the main aspect. Furthermore, the presence of diverse singularities within the workspace, which lead to a degeneration of the robots' manipulability. In addition, these singularities result in challenging tasks in control design. In Park (1998) singularities are

Fig. 3. Delta structure as famous example for parallel robotic systems.

1. configuration space singularities at the boundaries of configuration space

(a) degenerate types: links can be moved, even if the actuators are locked

2. actuator singularities, where the DoF of the robot varies

(b) nondegenerate types: internal forces are generated

End-effector Platform

system inherent reconfigurations are considered.

**3. Parallel robotic systems**

classified as

as well as energy supply, communication and offers several interfaces. In order to be self-reconfigurating the set of interlocked modules has to change configuration autonomously, which mostly imply the ability of locomotion for each module. In Yim (2007) the classification of modular self-reconfigurable robots by architecture and the way in which the units are reconfigured is provided. The control strategy of those robots can be centralized or distributed. Famous examples of this robot class are PolyBot G3 [Yim (2000)] or Molecubes [Molecubes (2011)].

**Auxiliary drives and adaptive machine elements.** In order to adapt the configuration of the kinematic structure during operation of the robot, passive components can be substituted by auxiliary drives or adaptive machine elements. Using these components, geometries of the kinematic structure e.g. strut length and degree of freedom (DoF) are affected, thus different configurations are achieved. Adaption of the strut length is carried out using auxiliary linear motion devices such as linear motors, hydraulic jacks, air cylinders, or lead screws driven by rotary actuators. An approach to select suitable components for reconfiguration of manufacturing systems is introduced by Lee (1997). However, a requirement oriented consideration of component parameters is not made. In Krefft (2006) a concept to vary the length of struts in discrete steps by means of air cylinders is introduced. This geometric reconfiguration results in workspace as well as stiffness variations. Approaches to affect systems DoF are presented e.g. by Theingi et al. (2007). Here, belt drives are used to couple joints and therefore reach new kinematic configurations as well as passing singularities within the workspace. O'Brien (2001) proposes a kinematic control of singularities applying passive joint brakes to affect the kinematic DoF.

Main difference of the described approaches is the impact to the robots' performance. Adding auxiliary drives, the performance is mostly influenced negatively. For instance system weight raises because of higher component weight. Hence, adaptive machine elements which offer basic function as well as additional ones are focus of this contribution. Other aspects such as the realization of redundant actuated mechanisms are not considered.

**System inherent reconfiguration.** Due to the fact that within the workspace of parallel robots singularities occur (see section 3), system inherent reconfiguration without demanding particular mechanical components is feasible. Several research works focus on passing through or avoiding singularities within the workspace [Budde (2010), Hesselbach et al. (2002), Wenger (1998)]. Passing actuator singularities, workspaces of different assembly modes can be combined to a larger workspace [Krefft (2006)]. Hesselbach et al. (2002) firstly introduced an approach to cross singularities using inertia of the Tool Center Point. A comprehensive procedure for the passing of singularities as well as the concerning control issues is described in Budde (2008).

**Reconfiguration via grasping.** The last approach to be considered in context of online reconfiguration of parallel robots is, that separate manipulators constituting an entire mechanism by grasping an object. In Riedel (2008) a reconfigurable parallel robot with an underactuated arm structure is presented. After grasping, the contact elements at the end of the underactuated arm mechanisms are connected to the object which forms a closed loop mechanism similar to the architecture of parallel manipulators. Each arm mechanism is a combination of a five-bar-linkage with a parallelogram arrangement, a revolute joint around the vertical axis and a spherical wrist joint [Riedel (2010)]. Consequently, different configurations of the entire system can be arranged to face specific requirements (workspace dimension, process forces, stiffness) of the current task.

Based on this brief literature review in the following section particular properties as well as design aspects of parallel robots are introduced. Subsequently, requirement management for reconfigurable robots is introduced in section 4. Further considerations will also focus on offline and online reconfiguration. Here, the use of adaptive machine elements as well as system inherent reconfigurations are considered.

## **3. Parallel robotic systems**

4 Will-be-set-by-IN-TECH

as well as energy supply, communication and offers several interfaces. In order to be self-reconfigurating the set of interlocked modules has to change configuration autonomously, which mostly imply the ability of locomotion for each module. In Yim (2007) the classification of modular self-reconfigurable robots by architecture and the way in which the units are reconfigured is provided. The control strategy of those robots can be centralized or distributed. Famous examples of this robot class are PolyBot G3 [Yim (2000)] or Molecubes

**Auxiliary drives and adaptive machine elements.** In order to adapt the configuration of the kinematic structure during operation of the robot, passive components can be substituted by auxiliary drives or adaptive machine elements. Using these components, geometries of the kinematic structure e.g. strut length and degree of freedom (DoF) are affected, thus different configurations are achieved. Adaption of the strut length is carried out using auxiliary linear motion devices such as linear motors, hydraulic jacks, air cylinders, or lead screws driven by rotary actuators. An approach to select suitable components for reconfiguration of manufacturing systems is introduced by Lee (1997). However, a requirement oriented consideration of component parameters is not made. In Krefft (2006) a concept to vary the length of struts in discrete steps by means of air cylinders is introduced. This geometric reconfiguration results in workspace as well as stiffness variations. Approaches to affect systems DoF are presented e.g. by Theingi et al. (2007). Here, belt drives are used to couple joints and therefore reach new kinematic configurations as well as passing singularities within the workspace. O'Brien (2001) proposes a kinematic control of singularities applying passive

Main difference of the described approaches is the impact to the robots' performance. Adding auxiliary drives, the performance is mostly influenced negatively. For instance system weight raises because of higher component weight. Hence, adaptive machine elements which offer basic function as well as additional ones are focus of this contribution. Other aspects such as

**System inherent reconfiguration.** Due to the fact that within the workspace of parallel robots singularities occur (see section 3), system inherent reconfiguration without demanding particular mechanical components is feasible. Several research works focus on passing through or avoiding singularities within the workspace [Budde (2010), Hesselbach et al. (2002), Wenger (1998)]. Passing actuator singularities, workspaces of different assembly modes can be combined to a larger workspace [Krefft (2006)]. Hesselbach et al. (2002) firstly introduced an approach to cross singularities using inertia of the Tool Center Point. A comprehensive procedure for the passing of singularities as well as the concerning control

**Reconfiguration via grasping.** The last approach to be considered in context of online reconfiguration of parallel robots is, that separate manipulators constituting an entire mechanism by grasping an object. In Riedel (2008) a reconfigurable parallel robot with an underactuated arm structure is presented. After grasping, the contact elements at the end of the underactuated arm mechanisms are connected to the object which forms a closed loop mechanism similar to the architecture of parallel manipulators. Each arm mechanism is a combination of a five-bar-linkage with a parallelogram arrangement, a revolute joint around the vertical axis and a spherical wrist joint [Riedel (2010)]. Consequently, different configurations of the entire system can be arranged to face specific requirements (workspace

the realization of redundant actuated mechanisms are not considered.

[Molecubes (2011)].

joint brakes to affect the kinematic DoF.

issues is described in Budde (2008).

dimension, process forces, stiffness) of the current task.

Parallel robots constitute a special class of robotic systems mainly for industrial applications. The characteristic property of parallel robots, in comparison to their serial counterparts is the closed-loop kinematic chain referring to the kinematic structure. The constructive advantage of this robot architecture is the possibility to assemble the drive near the frame, which implicates very low moving masses. This specific design leads to several significant benefits in the robots' performance, such as high stiffness and high dynamic properties. Due to these aspects, parallel robots are employed for an increasing amount of handling and assembly tasks [Merlet (2001)]. The most famous example of a parallel kinematic structure is the Delta robot of Clavel (1991) (see Figure 3). Here, a four DoF Delta robot is shown, where three translational DoF are provided by the rotary drives mounted at the frame. The load transmission is carried out by the three close-loop chains, where the constant orientation of the end-effector platform is provided by the parallelogram structure in the mechanism. The middle axis offers an additional rotary DoF by the application of a length variable connecting shaft.

Fig. 3. Delta structure as famous example for parallel robotic systems.

The rather low market penetration of parallel robots (except the Delta kinematic) is reasoned by specific drawbacks. The unfavorable workspace-to-installation space ration in comparison to serial robots is the main aspect. Furthermore, the presence of diverse singularities within the workspace, which lead to a degeneration of the robots' manipulability. In addition, these singularities result in challenging tasks in control design. In Park (1998) singularities are classified as

	- (a) degenerate types: links can be moved, even if the actuators are locked
	- (b) nondegenerate types: internal forces are generated

of Parallel Robotic Systems 7

Requirement Oriented Reconfiguration of Parallel Robotic Systems 393

system properties is needed. Nevertheless, a consistent model is essential to facilitate domain specific views on the gathered information and therefore enable an efficient treatment of the

In this section an object oriented approach to work out a requirement model is introduced. In

The modeling of requirements is carried out in order to provide a functional, comprehensive, complete, operational, non redundant and minimal set of requirements, which can be used as a pattern for the whole development process [Roozenburg (1991)]. Analysing the requirements and their relations reconfigurations scenarios for the robotic system can be derived and estimated. Requirement management for reconfigurable robotic systems focuses on three aspects [Stechert (2010)], namely: Surroundings, structure, and relations. Based on these aspects an analysis can be arranged in order to indentify reconfiguration parameters and

**Surroundings.** As one of the first steps in the development process the surrounding of the robotic system has to be respected in order to recognize important requirements for the involved domains. Therefore, each life-cycle phase has to be taken into account including different scenarios (e.g. Anggreeni (2008), Brouwer (2008)) or use cases with all related actors, surrounding environment and possible disturbances. A systematic documentation helps to identify and to use gathered requirements and constraints. It further shows which

**Structure.** In order to handle the gathered information in the following development steps, it has to be structured [Franke (1999)]. Requirements can be hierarchical structured such as goal, target, system requirement and subsystem requirement. Furthermore, they can be allocated to the respective domain and to the purpose in the development process. In progress of the development process requirements can be allocated to concerning subsystems. Assignment of certainty and change probability helps to focus on most relevant requirements during each

**Relations.** Elements of complex models are related among one another. A basic classification for relations was presented in earlier work [Stechert (2009b)]. This classification helps to declare relations associated to development steps, granularity, support, direction, linking and quantifiability. Representing these relations within the requirement model helps designers to understand the influences of changes (e.g. change of rack radii), point out goal conflicts and highlight interfaces to other disciplines. However, the modeling of relations is the basis for

Within the work of the Collaboration Research Centre (CRC) 562 "'Robotic Systems for Handling and Assembly - High Dynamic Parallel Structures with Adaptronic Components"' a SysML-based requirement model was developed [Stechert (2010)]. Since the Systems Modeling Language (SysML) uses parts of UML (Unified Modeling Language) it is a widely known notation in the fields of software development, electronic design and automation. In recent years it has become more and more popular in mechanical engineering e.g. Woelkl (2009). Using SysML a product can be modeled out of different viewpoints and on different levels of abstraction [Weilkiens (2008)]. However, within the introduced requirement model the above mentioned aspects are picked up in order to provide a coherent product model. Major elements of the requirement model are "'Requirements"' and "'Surroundings"' [Stechert (2009a)]. The requirements are hierarchically distinguished into "'Goals"', "'Targets"', and

order to identify reconfiguration parameters a methodical procedure is presented.

development task.

development step.

**4.1 Modeling requirements**

develop reconfiguration concepts.

requirements derive from what surrounding element.

the analysis of the requirement model, discussed in section 4.2.

3. end-effector singularities, in which the end-effector frame loses DoF of available motion.

Mathematically, the mentioned singularities occur, if one of the Jacobian Matrices *JA*,*<sup>B</sup>* with

$$J\_A = \frac{\delta f}{\delta X} \lor J\_B = \frac{\delta f}{\delta q} \tag{1}$$

where X represents the Tool Center Point (TCP) coordinates *X* = (*x*, *y*, *z*)*<sup>T</sup>* and q the actuator variables *q* = (*q*1, *q*1, ..., *qn*)*T*, becomes singular. Whereas, a configuration space singularity appears if,

$$\det(\mathbf{J}\_A) \neq \mathbf{0} \land \det(\mathbf{J}\_B) = \mathbf{0}.\tag{2}$$

Actuation singularities are conditioned by

$$\det(f\_A) = 0 \land \det(f\_B) \neq 0. \tag{3}$$

The singularity analysis is hindered by the structural complexity of parallel mechanisms, which is attended by an extensive kinematic description. Due to reconfiguration approaches of parallel robots, singularity detection, avoidance or passing is especially focused in paragraph 5.2.

For the systematic design of parallel robotic systems different approaches have been proposed in literature e.g. [Frindt (2001)]. The parameter space approach proposed by Merlet (1997) considers requirements such as workspace and the articular velocities and leads to possible sets of robot geometries that satisfy these requirements. These first design solutions are sampled to identify the best compromise with regard to other requirements, i.e. accuracy. Following the cost function approach [Bourdreau (2001)] the robot geometries are arranged in the way that workspace dimensions are as closely congruent as possible with the prescribed as possible. Based on this demand the design problem becomes a multi objective optimization problem. Whereas these approaches consider only one use cases of the robotic system they lead to "'static"' solutions, which can hardly be adapted to other use cases. Therefore, the proposed approach can be seen as an addition to these approaches. It ensures the design of reconfigurable robotic systems in order to satisfy temporal changes of requirements which are caused by different use cases.

This brief overview of the properties of parallel robotic systems shows the benefits and drawbacks of these systems. With regard to the aforementioned aspects of reconfiguration parallel robots are suitable systems to be reconfigured, as their extensive dynamic, accuracy and stiffness parameters. Hence, they can cover a huge range of requirements. For this reason a specific methodical approach for the requirement management e.g. under consideration of the identification of requirement spreads is needed.

### **4. Requirement management for reconfigurable robotic systems**

The development of reconfigurable robotic systems demands detailed analysis of the product surroundings and relevant use cases during each life-cycle phase (e.g. operation, maintenance). As a result of this analysis numerous requirements are refined to forecast claimed system properties. In order to enhance life-time and performance of the system several target values for one requirement have to be fulfilled. For instance, different use cases require different workspace dimensions. These varying values for one requirement we call *requirement spread* [Schmitt (2009)]. In order to identify spreading requirements and derive reconfiguration scenarios, a structured model of the expected life-cycle as well as the desired system properties is needed. Nevertheless, a consistent model is essential to facilitate domain specific views on the gathered information and therefore enable an efficient treatment of the development task.

In this section an object oriented approach to work out a requirement model is introduced. In order to identify reconfiguration parameters a methodical procedure is presented.

## **4.1 Modeling requirements**

6 Will-be-set-by-IN-TECH

3. end-effector singularities, in which the end-effector frame loses DoF of available motion. Mathematically, the mentioned singularities occur, if one of the Jacobian Matrices *JA*,*<sup>B</sup>* with

*<sup>δ</sup><sup>X</sup>* <sup>∨</sup> *JB* <sup>=</sup> *<sup>δ</sup> <sup>f</sup>*

where X represents the Tool Center Point (TCP) coordinates *X* = (*x*, *y*, *z*)*<sup>T</sup>* and q the actuator variables *q* = (*q*1, *q*1, ..., *qn*)*T*, becomes singular. Whereas, a configuration space singularity

The singularity analysis is hindered by the structural complexity of parallel mechanisms, which is attended by an extensive kinematic description. Due to reconfiguration approaches of parallel robots, singularity detection, avoidance or passing is especially focused in

For the systematic design of parallel robotic systems different approaches have been proposed in literature e.g. [Frindt (2001)]. The parameter space approach proposed by Merlet (1997) considers requirements such as workspace and the articular velocities and leads to possible sets of robot geometries that satisfy these requirements. These first design solutions are sampled to identify the best compromise with regard to other requirements, i.e. accuracy. Following the cost function approach [Bourdreau (2001)] the robot geometries are arranged in the way that workspace dimensions are as closely congruent as possible with the prescribed as possible. Based on this demand the design problem becomes a multi objective optimization problem. Whereas these approaches consider only one use cases of the robotic system they lead to "'static"' solutions, which can hardly be adapted to other use cases. Therefore, the proposed approach can be seen as an addition to these approaches. It ensures the design of reconfigurable robotic systems in order to satisfy temporal changes of requirements which are

This brief overview of the properties of parallel robotic systems shows the benefits and drawbacks of these systems. With regard to the aforementioned aspects of reconfiguration parallel robots are suitable systems to be reconfigured, as their extensive dynamic, accuracy and stiffness parameters. Hence, they can cover a huge range of requirements. For this reason a specific methodical approach for the requirement management e.g. under consideration of

The development of reconfigurable robotic systems demands detailed analysis of the product surroundings and relevant use cases during each life-cycle phase (e.g. operation, maintenance). As a result of this analysis numerous requirements are refined to forecast claimed system properties. In order to enhance life-time and performance of the system several target values for one requirement have to be fulfilled. For instance, different use cases require different workspace dimensions. These varying values for one requirement we call *requirement spread* [Schmitt (2009)]. In order to identify spreading requirements and derive reconfiguration scenarios, a structured model of the expected life-cycle as well as the desired

*<sup>δ</sup><sup>q</sup>* (1)

*det*(*JA*) �= 0 ∧ *det*(*JB*) = 0. (2)

*det*(*JA*) = 0 ∧ *det*(*JB*) �= 0. (3)

*JA* <sup>=</sup> *<sup>δ</sup> <sup>f</sup>*

appears if,

paragraph 5.2.

caused by different use cases.

the identification of requirement spreads is needed.

**4. Requirement management for reconfigurable robotic systems**

Actuation singularities are conditioned by

The modeling of requirements is carried out in order to provide a functional, comprehensive, complete, operational, non redundant and minimal set of requirements, which can be used as a pattern for the whole development process [Roozenburg (1991)]. Analysing the requirements and their relations reconfigurations scenarios for the robotic system can be derived and estimated. Requirement management for reconfigurable robotic systems focuses on three aspects [Stechert (2010)], namely: Surroundings, structure, and relations. Based on these aspects an analysis can be arranged in order to indentify reconfiguration parameters and develop reconfiguration concepts.

**Surroundings.** As one of the first steps in the development process the surrounding of the robotic system has to be respected in order to recognize important requirements for the involved domains. Therefore, each life-cycle phase has to be taken into account including different scenarios (e.g. Anggreeni (2008), Brouwer (2008)) or use cases with all related actors, surrounding environment and possible disturbances. A systematic documentation helps to identify and to use gathered requirements and constraints. It further shows which requirements derive from what surrounding element.

**Structure.** In order to handle the gathered information in the following development steps, it has to be structured [Franke (1999)]. Requirements can be hierarchical structured such as goal, target, system requirement and subsystem requirement. Furthermore, they can be allocated to the respective domain and to the purpose in the development process. In progress of the development process requirements can be allocated to concerning subsystems. Assignment of certainty and change probability helps to focus on most relevant requirements during each development step.

**Relations.** Elements of complex models are related among one another. A basic classification for relations was presented in earlier work [Stechert (2009b)]. This classification helps to declare relations associated to development steps, granularity, support, direction, linking and quantifiability. Representing these relations within the requirement model helps designers to understand the influences of changes (e.g. change of rack radii), point out goal conflicts and highlight interfaces to other disciplines. However, the modeling of relations is the basis for the analysis of the requirement model, discussed in section 4.2.

Within the work of the Collaboration Research Centre (CRC) 562 "'Robotic Systems for Handling and Assembly - High Dynamic Parallel Structures with Adaptronic Components"' a SysML-based requirement model was developed [Stechert (2010)]. Since the Systems Modeling Language (SysML) uses parts of UML (Unified Modeling Language) it is a widely known notation in the fields of software development, electronic design and automation. In recent years it has become more and more popular in mechanical engineering e.g. Woelkl (2009). Using SysML a product can be modeled out of different viewpoints and on different levels of abstraction [Weilkiens (2008)]. However, within the introduced requirement model the above mentioned aspects are picked up in order to provide a coherent product model.

Major elements of the requirement model are "'Requirements"' and "'Surroundings"' [Stechert (2009a)]. The requirements are hierarchically distinguished into "'Goals"', "'Targets"', and

of Parallel Robotic Systems 9

Requirement Oriented Reconfiguration of Parallel Robotic Systems 395

Analysing how these parameters can be used for reconfiguration and how changed parameters will affect the whole system.

Identify reasonable reconfiguration scenarios

> Assess possible reconfiguration concepts

Structuring use cases and establishing relations to requirements.

concept and embodiment.

by the structural stiffness of the kinematic structure.

Compiling the hierarchical goal-system and identifying essential requirements for both

> Analysing whether spreading requirements are subject of reconfiguration.

> > parameters, respectively.

Fig. 5. Working steps for the identification of reconfiguration-relevant parameters.

Establishing relations between requirements and system components and component

the derived requirements have to be analysed to determine whether they are relevant for reconfiguration of the robot. First of all, concept-relevant requirements (e.g. DoF) are analysed. Based on the definition of concepts, embodiment related requirements have to be considered. For instance, different payloads and process loads lead to the relevant requirement operation forces, while accuracy leads to elastic deformation. Both are related

The object of the third step is to estimate whether spreading requirements are subject of reconfiguration. It is obvious, that a reconfiguration is not probable between every use case. A robot used in the chemical industry first will not be sold to a company from the food industry, reconfigured and reused for pick-and-place tasks. However, a pick-and-place robot in the food industry might handle muffins first and convert to packaging of croissants in the same company later. Additionally the influence of requirement changes to other requirements have to be considered. The DoF at the gripper for instance might be subject of a wide spread. However, extending a fully parallel structure with an additional DoF causes a completely new control program. Therefore, it becomes obvious that not every requirement spread is a meaningful basis for reconfiguration concepts. Costs and engineering complexity are major limits. A detailed analysis of the goal-system leads to a lean set of

essential reconfiguration-relevant requirements for robotic systems [Schmitt (2009)]:

• provide degree of freedom

this requirement.

• enabling object handling • assure high accuracy • provide workspace • provide performance • enable operation forces • enable low lifecycle costs

These general requirements are specified by different use cases. For instance, the DoF is refined by the number of possible movements and the orientation of rotation (e.g. *ξ* = ±25). In the fourth step, requirements are related to system components. System components can be hard- or software and are related to other components (e.g. information flow, geometric surfaces). For instance, the requirement workspace dimension is satisfied by the kinematic structure. More precisely the system component strut and its parameter strut length fulfill

As a last step reconfiguration scenarios are developed and analyzed. Therefore, traces from a

Fig. 4. Elements of an extended requirements diagramm based on SysML.

"'Technical Requirements"'. Within the element "'Surronding"' "'Product Environments"' (e.g. neighbor systems) and "'Use Cases"' are defined. These use cases are related to the product life-cycle and describe e.g. the handling of muffins within the use-phase of the robot. Figure 4 shows an excerpt of the hierarchical structure as well as different use cases. Pointing out the relations between use cases and requirements, several requirements are refined concerning their target values. For instance, the use case "'handling muffins"' correlates amongst others with the requirements "'workspace"' and "'payload"'. In addition, the requirements are linked to components of the robotic system (e.g. drive). Indicating constraints, correlation between components and requirements as well as requirements among each other are specified. In this way the requirement speed correlates with the component drive (constraint *power*).

### **4.2 Identification of reconfiguration parameters**

Based on the introduced requirement model a systematic analysis can be carried out in order to identify meaningful scenarios and relevant requirement spreads for reconfiguration scenarios as well as their particular impact on the whole robotic system. By linking requirements which vary for different use cases with corresponding product parameters, reasonable reconfiguration concepts can be derived. Reconfiguration parameters can be systematically detected following the two steps shown in Figure 5. These two superordinated steps; *identify resonable reconfiguration scenarios* and *assess possible reconfiguration concepts*; constitute five working steps which are described below, following earlier work [Schmitt (2009)].

Initially, possible applications of the robotic systems and the corresponding use cases (e.g. handling muffins, PCB assembly) have to be considered. With regard to tasks (e.g. pick-and-place, feeding, high precision assembly) on the one hand and branches of trade (e.g. food industry, material processing, ICT) on the other hand, the identified use cases are structured. In addition, the reconfiguration of the robotic system is considered as a use case itself. Subsequently, relations between use cases and requirements are established. Using the relation "'refine"' each requirement is stated more precisely by an use case. As a result of this refinement a new sub requirement is created. For instance, the use case handling muffins refines the requirement workspace width to the exact value 500 mm. Assuming different use cases within the life-time of the robotic system it becomes evident, that diverse sub requirements for the same parent requirement occur.

Within the second step a hierarchical goal-system is developed. Based on the requirements considered before, traces are followed to superordinated targets and goals. Furthermore, 8 Will-be-set-by-IN-TECH

"'Technical Requirements"'. Within the element "'Surronding"' "'Product Environments"' (e.g. neighbor systems) and "'Use Cases"' are defined. These use cases are related to the product life-cycle and describe e.g. the handling of muffins within the use-phase of the robot. Figure 4 shows an excerpt of the hierarchical structure as well as different use cases. Pointing out the relations between use cases and requirements, several requirements are refined concerning their target values. For instance, the use case "'handling muffins"' correlates amongst others with the requirements "'workspace"' and "'payload"'. In addition, the requirements are linked to components of the robotic system (e.g. drive). Indicating constraints, correlation between components and requirements as well as requirements among each other are specified. In this

Based on the introduced requirement model a systematic analysis can be carried out in order to identify meaningful scenarios and relevant requirement spreads for reconfiguration scenarios as well as their particular impact on the whole robotic system. By linking requirements which vary for different use cases with corresponding product parameters, reasonable reconfiguration concepts can be derived. Reconfiguration parameters can be systematically detected following the two steps shown in Figure 5. These two superordinated steps; *identify resonable reconfiguration scenarios* and *assess possible reconfiguration concepts*; constitute five working steps which are described below, following earlier work [Schmitt

Initially, possible applications of the robotic systems and the corresponding use cases (e.g. handling muffins, PCB assembly) have to be considered. With regard to tasks (e.g. pick-and-place, feeding, high precision assembly) on the one hand and branches of trade (e.g. food industry, material processing, ICT) on the other hand, the identified use cases are structured. In addition, the reconfiguration of the robotic system is considered as a use case itself. Subsequently, relations between use cases and requirements are established. Using the relation "'refine"' each requirement is stated more precisely by an use case. As a result of this refinement a new sub requirement is created. For instance, the use case handling muffins refines the requirement workspace width to the exact value 500 mm. Assuming different use cases within the life-time of the robotic system it becomes evident, that diverse

Within the second step a hierarchical goal-system is developed. Based on the requirements considered before, traces are followed to superordinated targets and goals. Furthermore,

way the requirement speed correlates with the component drive (constraint *power*).

**4.2 Identification of reconfiguration parameters**

sub requirements for the same parent requirement occur.

(2009)].

Fig. 4. Elements of an extended requirements diagramm based on SysML.

Fig. 5. Working steps for the identification of reconfiguration-relevant parameters.

the derived requirements have to be analysed to determine whether they are relevant for reconfiguration of the robot. First of all, concept-relevant requirements (e.g. DoF) are analysed. Based on the definition of concepts, embodiment related requirements have to be considered. For instance, different payloads and process loads lead to the relevant requirement operation forces, while accuracy leads to elastic deformation. Both are related by the structural stiffness of the kinematic structure.

The object of the third step is to estimate whether spreading requirements are subject of reconfiguration. It is obvious, that a reconfiguration is not probable between every use case. A robot used in the chemical industry first will not be sold to a company from the food industry, reconfigured and reused for pick-and-place tasks. However, a pick-and-place robot in the food industry might handle muffins first and convert to packaging of croissants in the same company later. Additionally the influence of requirement changes to other requirements have to be considered. The DoF at the gripper for instance might be subject of a wide spread. However, extending a fully parallel structure with an additional DoF causes a completely new control program. Therefore, it becomes obvious that not every requirement spread is a meaningful basis for reconfiguration concepts. Costs and engineering complexity are major limits. A detailed analysis of the goal-system leads to a lean set of essential reconfiguration-relevant requirements for robotic systems [Schmitt (2009)]:


These general requirements are specified by different use cases. For instance, the DoF is refined by the number of possible movements and the orientation of rotation (e.g. *ξ* = ±25). In the fourth step, requirements are related to system components. System components can be hard- or software and are related to other components (e.g. information flow, geometric surfaces). For instance, the requirement workspace dimension is satisfied by the kinematic structure. More precisely the system component strut and its parameter strut length fulfill this requirement.

As a last step reconfiguration scenarios are developed and analyzed. Therefore, traces from a

of Parallel Robotic Systems 11

Requirement Oriented Reconfiguration of Parallel Robotic Systems 397

Fig. 6. SysML model for the modularization of the system components of a parallel robot.

moments of inertia influences operation forces, accuracy and performance.

the interfaces between modules have to correspond with one another.

as stiffness can be influenced according to the identified requirement spread.

platform and active prismatic joints (P) (see Fig. 7).

The application of different grippers (*RM*1) according to the requirement spread accomplishes the type of requirement, that result from the variation of the manufactured product. In this case, the workpiece size, geometries, surface or material properties are meant. The workspace or the required structural stiffness are only slightly influenced by the gripper. To integrate different kinds of grippers, e.g. mechanical or pneumatic ones, adequate constructive and control interfaces have to be designed. Furthermore, the changing manner of energy supply must be considered e.g. at the mobile platform. The change in mass and

The strut/joint assembly (*RM*2) can be reconfigured through the installation of different strut kits. Here, diverse strut length results in variations of the position and dimension of the workspace. In addition, changes in strut length affect performance and accuracy due to changes in moved masses and transmission ratio of the kinematic chain, thence possible acceleration, maximum speed and eigenfrequencies. In terms of a modular construction kit,

In general the drives are the base of the characteristic kinematic chain of a parallel robot and represent the 3rd reconfiguration module (*RM*3) together with the drive/joint fixture. They are assembled at or near the frame platform and are distinguishable between rotational and translational DoF. According to static reconfiguration, the specific properties such as weight or number and accessibility of the application points, must be observed during the design process for reconfigurability. Therefore, the frame can determine the ability for the static reconfiguration of parallel robots. If the frame provides a set of patterned holes to assemble the drives or base assembly points of the struts, the workspace dimension and position as well

In order to show the benefits of static reconfiguration concerning the variation of the workspace position and dimension, a simple 2-DoF parallel mechanism is considered. The kinematic 2-RPR structure consists of passive rotary joints (R) at the base and the end-effector

The point of origin is fixed at base *A* and the Tool Centre Point (TCP) is defined by the vector *X* = (*xp*, *yp*)*T*. The distance between base *A* and *B* is given by b. The vector

requirement to the involved parameters are followed and detected relations are described in a qualitative or - if possible - in a quantitative way. For instance, relation between strut length and workspace dimension can be described by kinematic problem, see section 3. Furthermore, it is necessary to determine the influence of the identified reconfiguration parameters to other requirements and detect possible goal-conflicts. It is obvious, that an extension of the strut length will lead to a higher moved mass, which might decrease the performance of the robotic system.

## **5. Reconfiguration approaches for parallel robotic systems**

In Paragraph 2.1 general approaches for reconfigure robotic systems were introduced, in case of parallel robots for industrial applications three reconfiguration approaches are of major relevance. These different concepts are discussed in detailed, following the classification proposed by Krefft (2006):


Table 1 illustrates the description of *SR*, *DR I* and *DR II* by characterizing the robot status and the configuration chance. The detailed discussion of the concepts is made in the following sections, whereas section 5.4 points out two case studies of reconfigurable parallel robots.


Table 1. Reconfiguration approaches for parallel robotic systems.

### **5.1 Static reconfiguration**

According to the term of definition of static reconfiguration, the rearrangement of mechanical components is the objective to deal with. Based on a starting concept, the introduced methodology supports identification of reasonable reconfiguration modules (*RMi*) of the parallel robot. Within this modularization it is possible to allocate several requirements to the system components. In this way it can be sorted out, which key property of the system is affected by what reconfiguration strategy. Figure 6 shows the *RM*1...3 and their interrelation as well as the interfaces between single machine components of parallel robots.

10 Will-be-set-by-IN-TECH

requirement to the involved parameters are followed and detected relations are described in a qualitative or - if possible - in a quantitative way. For instance, relation between strut length and workspace dimension can be described by kinematic problem, see section 3. Furthermore, it is necessary to determine the influence of the identified reconfiguration parameters to other requirements and detect possible goal-conflicts. It is obvious, that an extension of the strut length will lead to a higher moved mass, which might decrease the performance of the robotic

In Paragraph 2.1 general approaches for reconfigure robotic systems were introduced, in case of parallel robots for industrial applications three reconfiguration approaches are of major relevance. These different concepts are discussed in detailed, following the classification

• *Static reconfiguration (SR)* requires switching off the robot and rearranging machine parts such as drives, struts, or joints as well as complete sub-assemblies manually (see section

• *Dynamic reconfiguration type 1 (DR I)* is carried out during operation of the system. Physical dimensions are not changed, but different configurations of the kinematic structure are used. Here singularities of type 1 have to be passed by the robot (see paragraph *system*

• *Dynamic reconfiguration type 2 (DR II)* is realized during operation of the system. The changing of kinematic properties is effected by the adjustment of geometric parameters such as strut length or modification of the DoF by joint couplings in order to avoid or

Table 1 illustrates the description of *SR*, *DR I* and *DR II* by characterizing the robot status and the configuration chance. The detailed discussion of the concepts is made in the following sections, whereas section 5.4 points out two case studies of reconfigurable parallel robots. **Reconfiguration Approach Robot Status Configuration Change**

**Static (SR)** off manual rearrangement of

**Dynamic Type I (DR I)** on usage of different configuration

**Dymanic Type II (DR II)** on adjustment of geometries by

According to the term of definition of static reconfiguration, the rearrangement of mechanical components is the objective to deal with. Based on a starting concept, the introduced methodology supports identification of reasonable reconfiguration modules (*RMi*) of the parallel robot. Within this modularization it is possible to allocate several requirements to the system components. In this way it can be sorted out, which key property of the system is affected by what reconfiguration strategy. Figure 6 shows the *RM*1...3 and their interrelation

as well as the interfaces between single machine components of parallel robots.

Table 1. Reconfiguration approaches for parallel robotic systems.

components/ subassemblies

by passing through singularities

machine components

replace singularities (see paragraph *auxiliary drives and adaptive machine elements*).

**5. Reconfiguration approaches for parallel robotic systems**

system.

2.2.1).

proposed by Krefft (2006):

*inherent reconfiguration*).

**5.1 Static reconfiguration**

Fig. 6. SysML model for the modularization of the system components of a parallel robot.

The application of different grippers (*RM*1) according to the requirement spread accomplishes the type of requirement, that result from the variation of the manufactured product. In this case, the workpiece size, geometries, surface or material properties are meant. The workspace or the required structural stiffness are only slightly influenced by the gripper. To integrate different kinds of grippers, e.g. mechanical or pneumatic ones, adequate constructive and control interfaces have to be designed. Furthermore, the changing manner of energy supply must be considered e.g. at the mobile platform. The change in mass and moments of inertia influences operation forces, accuracy and performance.

The strut/joint assembly (*RM*2) can be reconfigured through the installation of different strut kits. Here, diverse strut length results in variations of the position and dimension of the workspace. In addition, changes in strut length affect performance and accuracy due to changes in moved masses and transmission ratio of the kinematic chain, thence possible acceleration, maximum speed and eigenfrequencies. In terms of a modular construction kit, the interfaces between modules have to correspond with one another.

In general the drives are the base of the characteristic kinematic chain of a parallel robot and represent the 3rd reconfiguration module (*RM*3) together with the drive/joint fixture. They are assembled at or near the frame platform and are distinguishable between rotational and translational DoF. According to static reconfiguration, the specific properties such as weight or number and accessibility of the application points, must be observed during the design process for reconfigurability. Therefore, the frame can determine the ability for the static reconfiguration of parallel robots. If the frame provides a set of patterned holes to assemble the drives or base assembly points of the struts, the workspace dimension and position as well as stiffness can be influenced according to the identified requirement spread.

In order to show the benefits of static reconfiguration concerning the variation of the workspace position and dimension, a simple 2-DoF parallel mechanism is considered. The kinematic 2-RPR structure consists of passive rotary joints (R) at the base and the end-effector platform and active prismatic joints (P) (see Fig. 7).

The point of origin is fixed at base *A* and the Tool Centre Point (TCP) is defined by the vector *X* = (*xp*, *yp*)*T*. The distance between base *A* and *B* is given by b. The vector

a) Kinematic structure of the RPR mechanism.

*q*<sup>1</sup> = *xp yp* = *x*2 *<sup>p</sup>* + *y*<sup>2</sup> *<sup>p</sup>* (4) of Parallel Robotic Systems 13

Requirement Oriented Reconfiguration of Parallel Robotic Systems 399

(a) (b) (c)

to be varied to fulfil different tasks. Since the main drawback of parallel mechanisms is the small workspace-to-installation-space ratio, dynamic reconfiguration type I facilitates the passing of singularties. Hence, several workspaces are combined during operation and the useable overall workspace is enlarged. The different workspaces are mathematically defined by different solutions of the direct kinematic problem (DKP) (assembly modes) or the indirect kinematic problem (IKP) (working modes). Each mode constitutes its own workspace. The workspaces of different working modes are divided by configuration space singularities, where assembly mode workspaces are distinguished by actuator singularities. In order to determine each of the possible configurations a vector **k** of binary configuration parameters

where *kIKP* expresses the different solutions of the IKP and *kDKP* denotes the different set of drive positions (solutions of the DKP). Each sprocket chain has two solutions of the IKP. Hence, a parallel mechanism with *nSC* sprocket chains and *nDKP* solutions of the DKP can have 2*nSC* · *nDKP* theoretical configurations, whereas not every solution is a real one and therefore relevant for the reconfiguration strategy. In order to use different workspaces or configurations generally (several) change-over configurations has to be captured to

drive 3

The described approach of DR I (passing through singularities to enlarge the workspace) should now be demonstrated using the example of the CRC 562 TRIGLIDE robot. The robot is based on the Linear-Delta structure. It consists of three linear driven kinematic chains, which guide the working platform. Each chain has a parallelogram structure in order to keep the end-effector platform in a constant orientation. This arrangement allows three DoF,

x y z

drive 2

**k** = (*k*1, *k*2, ...)=(**k***IKP*, **k***DKP*), (8)

drive 1

Fig. 8. Influence of the reconfiguration parameter on the position and dimension of the workspace: a) varied strut length *l*1, *l*2; b) varied frame diameter *b* and c) varied angle *α* at

the frame connection level.

reconfigure the mechanism.

(+1 or -1) has been established by Budde (2008) with

Fig. 9. Kinematic structure of the TRIGLIDE robot.

$$q\_2 = \begin{bmatrix} \cos(\alpha) \cdot (b - \chi\_p) \\ \sin(\alpha) \cdot b \cdot \chi\_p \end{bmatrix} = \tag{5}$$

$$=\sqrt{\cos(\alpha)\cdot(b-\mathfrak{x}\_p))^2+(y\_p+b\cdot\sin(\alpha))^2}\tag{6}$$

b) Relations for kinematic analysis.

Fig. 7. Kinematic structure and relation for kinematic analysis of the considered RPR mechanism.

*q* = (*q*1, *q*2)*<sup>T</sup>* includes the actuated strut variables, whereas each strut can be moved between the intervals [*qmin*, *qmax*]. The parameter *α* describes the angular displacement *B* of base *B* to *A*. For the kinematic analysis the solution of the relation between end-effector coordinates and drive parameter (*f*(*X*, *q*) = 0) is essential. Here, the direct and inverse kinematic problem constitutes the motion behavior constrained by the geometric dimensions. The direct kinematic problem calculates the position and orientation of the TCP out of the given drive displacement. If the TCP coordinates are defined, the inverse kinematic problem assesses the actuator displacement. The relation given in Figure 7 b) is important for kinematic analysis. In paragraph 3 the existence and kinematic influences of singularities of parallel robots were discussed briefly. In case of the shown planar 2-DoF parallel mechanism the configuration space singularities can be associated with the boundary of the respective workspace.

$$\text{The first-order coupling between the two-dimensional } \mathcal{N} \text{-matrices is the only possible } \mathcal{N} \text{-matrices with } \mathcal{N} = \{0, 1, 2, \dots, N\} \text{ and } \mathcal{N} = \{0, 1, 2, \dots, N\}.$$


Referring to the kinematic structure in Figure 7 a) a workspace analysis to point out several reconfiguration concepts was done using MATLAB. First, the variation of the interval [*qmin*, *qmax*] can be associated as a change of strut kits. Here length range can be varied according to the boundary of each requirement in the chosen use case. The second reconfiguration concept is to reposition the assembly points. This can be shown by the variation of the parameter b in a way that the distance between *A* and *B* is in- or decreasable. Furthermore, the change *α* expresses the repositioning of *B* not only in x-, but also in y- direction to *B*. The following Figure 8 demonstrates the possibilities of workspace repositioning by changing the drive assembly points and varying strut length. In field (a) the range *l* with respect to [*qmin*...*qmax*] of the actuated struts is changed. Illustration (b) shows the repositioning of the drive carrying struts in x-direction. In the kinematic model this is equivalent to the adjustment of parameter *b*. Furthermore in (c) the reconfiguration of the base assembly points in y-direction by varying the angel *α* between the drives is shown.

### **5.2 Dynamic reconfiguration type I**

Actuation singularities are existent for the condition

Dynamic reconfiguration of type I focuses on the passing through singularities during operation without adding specific components. Therefore, it also can be constituted as a system inherent ability of the parallel robot to reconfigure itself. Based on the works of *Budde* [Budde (2010), Budde (2007)] this reconfiguration approach is introduced in detail, using the TRIGLIDE structure as an example.

As pointed out before, workspace dimension is an essential system parameter, which has

12 Will-be-set-by-IN-TECH

= 

Fig. 7. Kinematic structure and relation for kinematic analysis of the considered RPR

*q* = (*q*1, *q*2)*<sup>T</sup>* includes the actuated strut variables, whereas each strut can be moved between the intervals [*qmin*, *qmax*]. The parameter *α* describes the angular displacement *B* of base *B* to *A*. For the kinematic analysis the solution of the relation between end-effector coordinates and drive parameter (*f*(*X*, *q*) = 0) is essential. Here, the direct and inverse kinematic problem constitutes the motion behavior constrained by the geometric dimensions. The direct kinematic problem calculates the position and orientation of the TCP out of the given drive displacement. If the TCP coordinates are defined, the inverse kinematic problem assesses the actuator displacement. The relation given in Figure 7 b) is important for kinematic analysis. In paragraph 3 the existence and kinematic influences of singularities of parallel robots were discussed briefly. In case of the shown planar 2-DoF parallel mechanism the configuration space singularities can be associated with the boundary of the respective workspace.

Referring to the kinematic structure in Figure 7 a) a workspace analysis to point out several reconfiguration concepts was done using MATLAB. First, the variation of the interval [*qmin*, *qmax*] can be associated as a change of strut kits. Here length range can be varied according to the boundary of each requirement in the chosen use case. The second reconfiguration concept is to reposition the assembly points. This can be shown by the variation of the parameter b in a way that the distance between *A* and *B* is in- or decreasable. Furthermore, the change *α* expresses the repositioning of *B* not only in x-, but also in y- direction to *B*. The following Figure 8 demonstrates the possibilities of workspace repositioning by changing the drive assembly points and varying strut length. In field (a) the range *l* with respect to [*qmin*...*qmax*] of the actuated struts is changed. Illustration (b) shows the repositioning of the drive carrying struts in x-direction. In the kinematic model this is equivalent to the adjustment of parameter *b*. Furthermore in (c) the reconfiguration of the base assembly points in y-direction by varying the angel *α* between the drives is shown.

Dynamic reconfiguration of type I focuses on the passing through singularities during operation without adding specific components. Therefore, it also can be constituted as a system inherent ability of the parallel robot to reconfigure itself. Based on the works of *Budde* [Budde (2010), Budde (2007)] this reconfiguration approach is introduced in detail, using the

As pointed out before, workspace dimension is an essential system parameter, which has

*q*<sup>1</sup> = *xp yp* = *x*2 *<sup>p</sup>* + *y*<sup>2</sup>

> *cos*(*α*) · (*b* − *xp*) *sin*(*α*) · *b* · *yp*

b) Relations for kinematic analysis.


*cos*(*α*) · (*<sup>b</sup>* − *xp*))<sup>2</sup> + (*yp* + *<sup>b</sup>* · *sin*(*α*))<sup>2</sup> (6)

*q*<sup>2</sup> =  *<sup>p</sup>* (4)

= (5)

a) Kinematic structure of the RPR mechanism.

Actuation singularities are existent for the condition

**5.2 Dynamic reconfiguration type I**

TRIGLIDE structure as an example.

mechanism.

Fig. 8. Influence of the reconfiguration parameter on the position and dimension of the workspace: a) varied strut length *l*1, *l*2; b) varied frame diameter *b* and c) varied angle *α* at the frame connection level.

to be varied to fulfil different tasks. Since the main drawback of parallel mechanisms is the small workspace-to-installation-space ratio, dynamic reconfiguration type I facilitates the passing of singularties. Hence, several workspaces are combined during operation and the useable overall workspace is enlarged. The different workspaces are mathematically defined by different solutions of the direct kinematic problem (DKP) (assembly modes) or the indirect kinematic problem (IKP) (working modes). Each mode constitutes its own workspace. The workspaces of different working modes are divided by configuration space singularities, where assembly mode workspaces are distinguished by actuator singularities. In order to determine each of the possible configurations a vector **k** of binary configuration parameters (+1 or -1) has been established by Budde (2008) with

$$\mathbf{k} = (k\_1, k\_2, \ldots) = (\mathbf{k}\_{IKP}, \mathbf{k}\_{DKP})\_\prime \tag{8}$$

where *kIKP* expresses the different solutions of the IKP and *kDKP* denotes the different set of drive positions (solutions of the DKP). Each sprocket chain has two solutions of the IKP. Hence, a parallel mechanism with *nSC* sprocket chains and *nDKP* solutions of the DKP can have 2*nSC* · *nDKP* theoretical configurations, whereas not every solution is a real one and therefore relevant for the reconfiguration strategy. In order to use different workspaces or configurations generally (several) change-over configurations has to be captured to reconfigure the mechanism.

Fig. 9. Kinematic structure of the TRIGLIDE robot.

The described approach of DR I (passing through singularities to enlarge the workspace) should now be demonstrated using the example of the CRC 562 TRIGLIDE robot. The robot is based on the Linear-Delta structure. It consists of three linear driven kinematic chains, which guide the working platform. Each chain has a parallelogram structure in order to keep the end-effector platform in a constant orientation. This arrangement allows three DoF,

of Parallel Robotic Systems 15

Requirement Oriented Reconfiguration of Parallel Robotic Systems 401

x y z

x y z

Fig. 11. Main-workspaces in working configuration (top); Selected changeover

(a) (b)

Fig. 12. Effect principle and realized prototype of the adaptive revolute joint used for

B2

Fig. 13. Kinematic scheme and geometries of the RRRRR-mechanism (a) and solutions of the

B1

L11

C

q1

L12

L22

A1 A2 LB

(b)

C´

B2

q2 L21

q2 L21

manipulator with two DoF. The cranks at the base points *A*<sup>1</sup> and *A*<sup>2</sup> are actuated. The two passive rods *L*<sup>12</sup> and *L*<sup>22</sup> are coupled to each other by a passive revolute joint in the end-effector point C. The kinematic chain originating at base *A*<sup>1</sup> and the corresponding crank is connected by the described adaptive revolute joint, which is marked by ⊗ (see Figure 13).

configurations (middle, buttom) of the TRIGLIDE robot.

Faxial Mfriction Faxial + Factuator Mfriction

C

y

(a)

q1

L12

L22

A1 A2

x LB

clearance

outer ring

dynamic reconfiguration type II.

B1

L11

inner ring

DKP (b).

additionally a fourth rotary axis can be mounted at the end-effector platform. Thus, a hybrid kinematic structure occurs. In Figure 9 the kinematic structure of the TRIGLIDE robot without the rotary axis is shown.

Fig. 10. Prototype of the TRIGLIDE robot (left); Usable working-configurations and resulting overall workspace (right).

In case of the TRIGLIDE robot the change between different configuration workspaces is accomplished by passing through singularities. Implemented strategies to go through the different singularity type are described in Budde (2010). In Figure 10 the prototype of the TRIGLIDE robot is shown as well as the desired main-workspaces and the resulting overall workspace.

As mentioned before the so called change-over configurations have to be captured in order to reach the main-workspaces, which are mostly capable to fulfil requirement spreads regarding to workspace. Several configurations are shown in Figure 11. The presented approach to reconfigure the TRIGLIDE robot leads to challenging tasks in control. The necessary steps and the adapted control strategy is explained in Maass (2006).

To complete the explanation of the named reconfiguration approaches for parallel robots, the next paragraph deals with *DR II* with a focus on adaptive machine elements.

### **5.3 Dynamic reconfiguration type II**

Unlike the aforementioned reconfiguration strategies, the adjustment of geometric parameters is the subject of *DR II*. Here, the variation of strut length or the modification of kinematic DoF by joint couplings or lockings e.g. in order to avoid singularities or dislocate them are reasonable reconfiguration scenarios. Since this reconfiguration strategy demands no shut-down of the system, specific machine elements are required. In Schmitt (2010) an adaptive revolute joint is presented. Besides the basic functions of a passive joint, this revolute joint enables adaption of friction and stiffness. This functionality is based on the so-called quasi-statical clearance adjustment in the bearings using piezoelectric actuators Stechert (2007). This clearance modification between the inner and outer ring leads to an adaption of friction and stiffness (see Fig. 12 a)). Depending on the previous friction moment caused by the preload of the bearings the realized prototype enables continuous locking of rotary DoF by friction magnification of 440 percent [Inkermann (2011)]. In Figure 12 the first prototype of the adaptive revolute joint is illustrated.

In order to demonstrate a reconfiguration strategy of parallel mechanisms in the sense of *DR II* with an adaptive machine element a simple RRRRR-mechanism is further considered, following Schmitt (2010). The RRRRR-mechanism is a fully closed-loop planar parallel 14 Will-be-set-by-IN-TECH

additionally a fourth rotary axis can be mounted at the end-effector platform. Thus, a hybrid kinematic structure occurs. In Figure 9 the kinematic structure of the TRIGLIDE robot without

Fig. 10. Prototype of the TRIGLIDE robot (left); Usable working-configurations and resulting

In case of the TRIGLIDE robot the change between different configuration workspaces is accomplished by passing through singularities. Implemented strategies to go through the different singularity type are described in Budde (2010). In Figure 10 the prototype of the TRIGLIDE robot is shown as well as the desired main-workspaces and the resulting overall

As mentioned before the so called change-over configurations have to be captured in order to reach the main-workspaces, which are mostly capable to fulfil requirement spreads regarding to workspace. Several configurations are shown in Figure 11. The presented approach to reconfigure the TRIGLIDE robot leads to challenging tasks in control. The necessary steps and

To complete the explanation of the named reconfiguration approaches for parallel robots, the

Unlike the aforementioned reconfiguration strategies, the adjustment of geometric parameters is the subject of *DR II*. Here, the variation of strut length or the modification of kinematic DoF by joint couplings or lockings e.g. in order to avoid singularities or dislocate them are reasonable reconfiguration scenarios. Since this reconfiguration strategy demands no shut-down of the system, specific machine elements are required. In Schmitt (2010) an adaptive revolute joint is presented. Besides the basic functions of a passive joint, this revolute joint enables adaption of friction and stiffness. This functionality is based on the so-called quasi-statical clearance adjustment in the bearings using piezoelectric actuators Stechert (2007). This clearance modification between the inner and outer ring leads to an adaption of friction and stiffness (see Fig. 12 a)). Depending on the previous friction moment caused by the preload of the bearings the realized prototype enables continuous locking of rotary DoF by friction magnification of 440 percent [Inkermann (2011)]. In Figure 12 the first

In order to demonstrate a reconfiguration strategy of parallel mechanisms in the sense of *DR II* with an adaptive machine element a simple RRRRR-mechanism is further considered, following Schmitt (2010). The RRRRR-mechanism is a fully closed-loop planar parallel

next paragraph deals with *DR II* with a focus on adaptive machine elements.

the adapted control strategy is explained in Maass (2006).

prototype of the adaptive revolute joint is illustrated.

the rotary axis is shown.

overall workspace (right).

**5.3 Dynamic reconfiguration type II**

workspace.

Fig. 11. Main-workspaces in working configuration (top); Selected changeover configurations (middle, buttom) of the TRIGLIDE robot.

Fig. 12. Effect principle and realized prototype of the adaptive revolute joint used for dynamic reconfiguration type II.

manipulator with two DoF. The cranks at the base points *A*<sup>1</sup> and *A*<sup>2</sup> are actuated. The two passive rods *L*<sup>12</sup> and *L*<sup>22</sup> are coupled to each other by a passive revolute joint in the end-effector point C. The kinematic chain originating at base *A*<sup>1</sup> and the corresponding crank is connected by the described adaptive revolute joint, which is marked by ⊗ (see Figure 13).

Fig. 13. Kinematic scheme and geometries of the RRRRR-mechanism (a) and solutions of the DKP (b).

of Parallel Robotic Systems 17

Requirement Oriented Reconfiguration of Parallel Robotic Systems 403

A1 A2 LB

case studies are explained and the benefits of reconfigurable robots are shown. The first one deals with the reconfiguration of a pick-and-place robot to an assembly robot, using the approach of static reconfiguration. Another case study is the classification of solar cells under consideration of their efficiency. This case study will illustrate an example of dynamic

**5.4.1 Example I - reconfiguration of a "'pick-and-place"' robot into an assembly robot** In order to highlight the introduced procedure and the concept of static reconfiguration in this section case study is presented. Therefore, a "'pick-and-place"' robot should be reconfigured for an assembly task, while handling object and DoF of the system remain the same. To demonstrate the reconfiguration concept the kinematic structure described in section 5.1 is used. The use case assembly is characterised by a small workspace. However, higher process forces and accuracy are required. At the same time the performance (in this case numbers of assembly cycles per minute) compared with the "'pick-and-place"' task is not such important. The lifetime cost should be minimal. With regard to the introduced reconfiguration modules (see section 5.1), a change of the rack radius (*RM*3) leads to a meaningful reconfiguration

Fig. 15. Relation network for the static reconfiguration of a tow DoF parallel mechanism.

C

LR

q1

L11

**(3)**

Fig. 14. Strategy of passing through singularity by blocking the adaptive joint.

B1

1=40°

A1 A2 LB

q1

LR

C L22

B1

reconfiguration of type I.

concept.

L12

L11 1=40°

**(1)**

L12

L21

B2

B1

L11 1=40°

L22

path through singularity

L21

B2

**(2)**

A1 A2 LB

L21

singular position

B2

q1

L22 L12

C

LR

The kinematic description of the mechanism with its two closed loop chains *i* = 1, 2 can be geometrically done with the cartesian end-effector coordinates **X** = [*xc*, *yc*] *<sup>T</sup>*, the base coordinates **A** = [*xAi*, *yAi*] *<sup>T</sup>*, which can be derived by *LB*, the actuator angles **qi** and the given geometric parameters *Lii* with respect to the base frame {0}. In eq. 9 the kinematic describtion of the mechanism is given, considering the parameters and variables shown in Figure 13 (a).

$$\mathbf{F} = \begin{bmatrix} \begin{bmatrix} \mathbf{x}\_c \\ \mathbf{y}\_c \end{bmatrix} - \begin{bmatrix} \mathbf{x}\_{Ai} + \cos(q\_i) \cdot L\_{i1} \\ \mathbf{y}\_{Ai} + \sin(q\_i) \cdot L\_{i1} \end{bmatrix} \end{bmatrix}^2 - L\_{i2}^2 = \mathbf{0}. \tag{9}$$

Expression 9 provides a system of equations which relate the end-effector coordinated **X** to the actuator coordinates **qi**. The equation for the direct kinematic problem (DKP) has two solutions, in case of the RRRRR-mechanism. They constitute to different configurations of the mechanism (see Figure 13 (b)). Changing these configurations an actuator singularity occurs, when moving from position *C* to *C*� . In general actuator singularities can occur in the workspace or separate workspaces into different areas.

In order to reconfigure the mechanism or to use these different workspaces adequate strategies have to be developed, in case of *DR II* using the adaptive revolute joint. Assembling the adaptive revolute joint in point *B*<sup>1</sup> (see Fig. 13 (a)) and blocking it entirely, it is possible to treat the mechanism as a RRRR 4-bar structure, with one actuated revolute joint at base point *A*1. According to the theorem of GRASHOF different kinds of 4-bar mechanisms exist, depending on the geometric aspect ratio of the links [Kerle (2007)]:

> *lmin* + *lmax < l* � + *l* �� ability to turn around *lmin* + *lmax* = *l* � + *l* �� ability to snap-through *lmin* + *lmax > l* � + *l* �� no ability to turn around.

*lmin* and *lmax* are the lengths of the shortest and the longest link in the structure and l', l" are the lengths of the remaining links. In case of the shown 5-bar mechanism with the adaptive revolute joint, one link length can be adjusted according to the desired mechanism property. The resulting length *LR* can be calculated by

$$\mathbf{L}\_{R} = \sqrt{\mathbf{L}\_{12}^{2} + \mathbf{L}\_{11}^{2} - 2 \cdot L\_{12} \cdot L\_{11} \cdot \cos(\Theta\_{1})}.\tag{10}$$

Beside the aforementioned possibility to reconfigure the robot, it is feasible to develop strategies to pass through an actuator singularity in an assured manner by blocking and releasing the mechanism at point *B*<sup>1</sup> by means of the adaptive revolute joint. This reconfiguration strategy is shown in Fig. 14.

The aspect ratios in the example are chosen by *Li*1/(*Li*2, *LB*) = 3/4. If the mechanism is close to a singular position (Fig. 14.1), the adaptive revolute joint will be locked, (*θ*<sup>1</sup> = 40◦). The resulting 4-bar mechanism moves on a path, which is defined by a segment of a circle of radius *LR* with center at *A*<sup>1</sup> through the singular position (Figure 14.2). Subsequently, the mechanism is in another configuration, which is not a singular position (Fig. 14.3) and the adaptive joint can be released.

#### **5.4 Case studies**

In the previous paragraphs different approaches to reconfigure parallel robotic systems were explained on a theoretical level. In order to give examples and fields of application two 16 Will-be-set-by-IN-TECH

The kinematic description of the mechanism with its two closed loop chains *i* = 1, 2 can

geometric parameters *Lii* with respect to the base frame {0}. In eq. 9 the kinematic describtion of the mechanism is given, considering the parameters and variables shown in Figure 13 (a).

> *xAi* + *cos*(*qi*) · *Li*<sup>1</sup> *yAi* + *sin*(*qi*) · *Li*<sup>1</sup>

Expression 9 provides a system of equations which relate the end-effector coordinated **X** to the actuator coordinates **qi**. The equation for the direct kinematic problem (DKP) has two solutions, in case of the RRRRR-mechanism. They constitute to different configurations of the mechanism (see Figure 13 (b)). Changing these configurations an actuator singularity

In order to reconfigure the mechanism or to use these different workspaces adequate strategies have to be developed, in case of *DR II* using the adaptive revolute joint. Assembling the adaptive revolute joint in point *B*<sup>1</sup> (see Fig. 13 (a)) and blocking it entirely, it is possible to treat the mechanism as a RRRR 4-bar structure, with one actuated revolute joint at base point *A*1. According to the theorem of GRASHOF different kinds of 4-bar mechanisms exist, depending

*lmin* and *lmax* are the lengths of the shortest and the longest link in the structure and l', l" are the lengths of the remaining links. In case of the shown 5-bar mechanism with the adaptive revolute joint, one link length can be adjusted according to the desired mechanism property.

Beside the aforementioned possibility to reconfigure the robot, it is feasible to develop strategies to pass through an actuator singularity in an assured manner by blocking and releasing the mechanism at point *B*<sup>1</sup> by means of the adaptive revolute joint. This

The aspect ratios in the example are chosen by *Li*1/(*Li*2, *LB*) = 3/4. If the mechanism is close to a singular position (Fig. 14.1), the adaptive revolute joint will be locked, (*θ*<sup>1</sup> = 40◦). The resulting 4-bar mechanism moves on a path, which is defined by a segment of a circle of radius *LR* with center at *A*<sup>1</sup> through the singular position (Figure 14.2). Subsequently, the mechanism is in another configuration, which is not a singular position (Fig. 14.3) and the adaptive joint

In the previous paragraphs different approaches to reconfigure parallel robotic systems were explained on a theoretical level. In order to give examples and fields of application two

�� ability to turn around

�� ability to snap-through

�� no ability to turn around.

*<sup>T</sup>*, which can be derived by *LB*, the actuator angles **qi** and the given

− *Li*<sup>2</sup>

. In general actuator singularities can occur in the

<sup>11</sup> − 2 · *L*<sup>12</sup> · *L*<sup>11</sup> · *cos*(Θ1). (10)

<sup>2</sup>

*<sup>T</sup>*, the base

<sup>2</sup> = 0. (9)

be geometrically done with the cartesian end-effector coordinates **X** = [*xc*, *yc*]

coordinates **A** = [*xAi*, *yAi*]

**F** =

occurs, when moving from position *C* to *C*�

The resulting length *LR* can be calculated by

reconfiguration strategy is shown in Fig. 14.

can be released.

**5.4 Case studies**

 *xc yc* − 

workspace or separate workspaces into different areas.

on the geometric aspect ratio of the links [Kerle (2007)]:

*lmin* + *lmax < l*

*lmin* + *lmax* = *l*

*lmin* + *lmax > l*

**L***<sup>R</sup>* =

 *L*2 <sup>12</sup> <sup>+</sup> *<sup>L</sup>*<sup>2</sup>

� + *l*

� + *l*

� + *l*

Fig. 14. Strategy of passing through singularity by blocking the adaptive joint.

case studies are explained and the benefits of reconfigurable robots are shown. The first one deals with the reconfiguration of a pick-and-place robot to an assembly robot, using the approach of static reconfiguration. Another case study is the classification of solar cells under consideration of their efficiency. This case study will illustrate an example of dynamic reconfiguration of type I.

### **5.4.1 Example I - reconfiguration of a "'pick-and-place"' robot into an assembly robot**

In order to highlight the introduced procedure and the concept of static reconfiguration in this section case study is presented. Therefore, a "'pick-and-place"' robot should be reconfigured for an assembly task, while handling object and DoF of the system remain the same. To demonstrate the reconfiguration concept the kinematic structure described in section 5.1 is used. The use case assembly is characterised by a small workspace. However, higher process forces and accuracy are required. At the same time the performance (in this case numbers of assembly cycles per minute) compared with the "'pick-and-place"' task is not such important. The lifetime cost should be minimal. With regard to the introduced reconfiguration modules (see section 5.1), a change of the rack radius (*RM*3) leads to a meaningful reconfiguration concept.

Fig. 15. Relation network for the static reconfiguration of a tow DoF parallel mechanism.

of Parallel Robotic Systems 19

Requirement Oriented Reconfiguration of Parallel Robotic Systems 405

The values of the cell efficiency are subject to a distribution e.g. Gaussian, which means that a certain percentage rate (depends on the standard deviation *σ*) of the classes corresponding to the cell efficiency are distributed with a dedicated expectation value of *μ*. The remaining

Under this assumption the concept of DR I, the TRIGLIDE robot makes use of the two workspaces. The high frequented boxes to classify the solar cells are located in the first, the less ones in the second workspace. Due to the required time *TR* to change the configuration, it is not efficient to vary workspace every cycle. Therefore, the proposed box distribution according to the expectation value *μ* is feasible. In Figure 17 (a) the workspaces with the corresponding intervals of the Gaussian distribution and in (b) the concept of the storage boxes are shown. The indices of the boxes *cmno* describe the actual workspace (m), the column

TR

(a)

(b)

Fig. 17. Exemplarily probability distribution of supplied solar cells and used workspaces (a) and top view of a feasible conceptual design of a classification facility with the TRIGLIDE

Since the introduced application examples highlight the advantages of reconfigurable parallel robotic systems to fulfil changing requirement, specific restrictions have to be considred in order to apply reasonable reconfiguration concepts. For this reason in the following section major aspects for the assessment and their interrelations to the presented static and dynamic

*μ* ± *nd* · *σ*, (11)

P (X = x )i

xi

+ n - nd <sup>d</sup>

6. Drop the cell in the box

classes, which belong to

P (X = x )i

7. Pick up the next cell → return to process step 3

where *nd* constitutes the desired interval of *σ*.

(n) and the row (o), so that the position is dedicated.

xi

robot without periphery (b).

reconfiguration strategies are proposed.

As can be seen in Figure 15 with the new use case the requirements *process forces*, *accuracy* and *workspace dimension* are refined. Since the workspace is directly influenced by the rack radius, the accuracy is influenced via the sensitivity. For increasing rack radius sensitivity in x-direction also increases and leads to higher accuracy in this direction. At the same time accuracy decreases in y-direction. In addition, the accuracy is influenced by the elastic deformation of the structure. The dimension of the deformation correlates with the value of the process forces and the stiffness of the structure. For the same stiffness higher process forces result in higher deformation and, therefore, decreased accuracy. This leads to a goal conflict which can be reduced with higher stiffness of the structure. At the same time the stiffness can be increased due to an adaption of the rack radius. Here, a higher rack radius results in a higher stiffness.

Fig. 16. Exemplary use cases for reconfiguration of a "'pick-and-place"' robot (a) into an assembly robot (b).

Static Reconfiguration from "'pick-and-place"' to assembly system in this case is carried out by increasing the rack radius. Figure 16 highlights the reconfiguration, showing the two use cases. In the first use case push-buttons are delivered via a first conveyer belt and placed into a container on a second belt. For this reason the workspace is elongated. After reconfiguration the same push-buttons are taken from a container and assembled into a casing. As the push-buttons provide a snap-in fastening operational forces in y-direction are needed and forces in x-direction might appear due to alignment deviations. Hence, the second configuration complies with the demanded changes.

### **5.4.2 Use case II - solar cell classification**

The end-of-line process-step within the fabrication of crystalline solar cells is the classification of the cells according to their efficiency. Here, the "'flash-test"' is conducted, where each cell is lighted by a defined flash (time, brightness per area) comparable to the sun irradiation. The result determines the quality class of a cell. In order to sort the cells according to their class after the flash-test, handling devices are necessary. Due to the high number of classes, which are physically represented as square boxes, the handling robot has to provide a relatively huge workspace. Additionally, the requirement of cycle time about 1 sec. per "'pick-and-place"' operation is very challenging. This combination makes the application of parallel robots feasible, if it is possible to overcome the poor workspace-to-installation-space ratio. The process flow of the classification can be summarized as following:


6. Drop the cell in the box

18 Will-be-set-by-IN-TECH

As can be seen in Figure 15 with the new use case the requirements *process forces*, *accuracy* and *workspace dimension* are refined. Since the workspace is directly influenced by the rack radius, the accuracy is influenced via the sensitivity. For increasing rack radius sensitivity in x-direction also increases and leads to higher accuracy in this direction. At the same time accuracy decreases in y-direction. In addition, the accuracy is influenced by the elastic deformation of the structure. The dimension of the deformation correlates with the value of the process forces and the stiffness of the structure. For the same stiffness higher process forces result in higher deformation and, therefore, decreased accuracy. This leads to a goal conflict which can be reduced with higher stiffness of the structure. At the same time the stiffness can be increased due to an adaption of the rack radius. Here, a higher rack radius results in a

Fig. 16. Exemplary use cases for reconfiguration of a "'pick-and-place"' robot (a) into an

Static Reconfiguration from "'pick-and-place"' to assembly system in this case is carried out by increasing the rack radius. Figure 16 highlights the reconfiguration, showing the two use cases. In the first use case push-buttons are delivered via a first conveyer belt and placed into a container on a second belt. For this reason the workspace is elongated. After reconfiguration the same push-buttons are taken from a container and assembled into a casing. As the push-buttons provide a snap-in fastening operational forces in y-direction are needed and forces in x-direction might appear due to alignment deviations. Hence, the second

The end-of-line process-step within the fabrication of crystalline solar cells is the classification of the cells according to their efficiency. Here, the "'flash-test"' is conducted, where each cell is lighted by a defined flash (time, brightness per area) comparable to the sun irradiation. The result determines the quality class of a cell. In order to sort the cells according to their class after the flash-test, handling devices are necessary. Due to the high number of classes, which are physically represented as square boxes, the handling robot has to provide a relatively huge workspace. Additionally, the requirement of cycle time about 1 sec. per "'pick-and-place"' operation is very challenging. This combination makes the application of parallel robots feasible, if it is possible to overcome the poor workspace-to-installation-space ratio. The

higher stiffness.

assembly robot (b).

configuration complies with the demanded changes.

process flow of the classification can be summarized as following: 1. Conveying the cells to the classifying facility via feed band

5. Position the cell at the determined box according to the efficiency value

2. Determination of the efficiency value (flash test)

4. Picking up the cell with the robot

3. Define the right box/position of the robots' end-effector

**5.4.2 Use case II - solar cell classification**

7. Pick up the next cell → return to process step 3

The values of the cell efficiency are subject to a distribution e.g. Gaussian, which means that a certain percentage rate (depends on the standard deviation *σ*) of the classes corresponding to the cell efficiency are distributed with a dedicated expectation value of *μ*. The remaining classes, which belong to

$$
\mu \pm n\_d \cdot \sigma\_\prime \tag{11}
$$

where *nd* constitutes the desired interval of *σ*.

Under this assumption the concept of DR I, the TRIGLIDE robot makes use of the two workspaces. The high frequented boxes to classify the solar cells are located in the first, the less ones in the second workspace. Due to the required time *TR* to change the configuration, it is not efficient to vary workspace every cycle. Therefore, the proposed box distribution according to the expectation value *μ* is feasible. In Figure 17 (a) the workspaces with the corresponding intervals of the Gaussian distribution and in (b) the concept of the storage boxes are shown. The indices of the boxes *cmno* describe the actual workspace (m), the column (n) and the row (o), so that the position is dedicated.

Fig. 17. Exemplarily probability distribution of supplied solar cells and used workspaces (a) and top view of a feasible conceptual design of a classification facility with the TRIGLIDE robot without periphery (b).

Since the introduced application examples highlight the advantages of reconfigurable parallel robotic systems to fulfil changing requirement, specific restrictions have to be considred in order to apply reasonable reconfiguration concepts. For this reason in the following section major aspects for the assessment and their interrelations to the presented static and dynamic reconfiguration strategies are proposed.

of Parallel Robotic Systems 21

Requirement Oriented Reconfiguration of Parallel Robotic Systems 407

Object Handling

The need to increase flexibility of production systems via reconfiguration is mainly driven by the customers of the end product. Rising demands for individual products and shorter periods for product changes force the manufacturers to think about reconfigurable production equipment. In order to present ideas and strategies for reconfigurable robotic systems this contribution firstly shows the general meaning of reconfiguration and gives a brief literature

Such as parallel robots are in focus in this chapter, this special class of robotic systems was explained and the essential benefits as well as disadvantages, in particular the occurrence of singularities within the workspace and at its borders were introduced. Based on high potential of parallel robots to cover a huge range of requirements, an adequate requirements management referring to robotic reconfiguration has been introduced. Thereby, the identification of requirement spreads and the derivation of reconfiguration parameters were considered. The main part of the contribution examines the distinctive static and dynamic (type I and II) reconfiguration approaches of parallel robotic system. Each strategy is first discussed theoretically before two case studies are presented. In order to assess the different reconfiguration approaches, a matrix-based scheme is proposed, which serves the

Potential aims of further research activities should deal with the validation of the adapted development procedure with respect to reconfiguration issues. Further, regarding parallel robots, the proposed reconfiguration strategies should be surveyed to their transferability to other parallel structures. Another aspect, to be investigated, is the control implementation of the *SR* or *DR* concepts, in order to reduce efforts of changes. The treatment of an entirely changed kinematic structure after reassembling its mechanical components (*SR*) or the

review by classifying the most common types into offline and online approaches.

Workspace

Opertaion Force

Degree of Freedom

Accuracy

Concept-Requirement Interactions Concept-Complexity Interactions



Aspects of Complexity

Performance

Duration Time

Mechanical Complexity

Computational Complexity

Parameter Range

Robustness

Reconfiguration type Reconfiguration concept


Fig. 18. Reconfiguration-approach-matrix.

**7. Conclusion and further research**

designer as a decision support.


Reconfiguration-Relevant Requirements

Strut kits; diverse length Varing fixture distances Gripping principle; geometry, DoF

Adaptive revolut joint Air cylinders (Krefft, 2006b)

Singularity passing; inertia of TCP

Static (SR)

Dynamic Type II (DR II) Dynamic Type I (DR I)

Legend

## **6. Assessment of reconfiguration concepts**

As pointed out before the reconfiguration of robotic systems should not be considered as an end itself. It should rather follow an aim and should be subject of a systematic analysis. According to Steiner [(Steiner (1998), Steiner (1999))] changeability (reconfiguration) may not be cost efficient for systems which:


However, different use cases within the life time (e.g. handling muffins, packing croissants) and specific secondary functions (e.g. gripping principle) call for reconfiguration of robotic systems. Demands of high life-cycle times emphasize this need. In order to support the assessment of the before mentioned reconfiguration concepts a set of distinguishing aspects was derived. These aspects point out for which type of requirement spread a static or dynamic reconfiguration should be considered. Furthermore, the complexity of each reconfiguration approach is taken into account considering:


The matrix in Figure 18 indicates which reconfiguration strategy is contributing to what reconfiguration-relevant requirement, see section 4.2. In applying the different approaches it is important to show up more detailed realizations. For this reason different reconfiguration concepts are stated following the introduced concepts. For instance, static reconfiguration can be realized by different strut kits and varying fixture distances. Relevant reconfiguration concepts are given for each approach.

While static reconfiguration concepts do not demand specific computational adaption and have high potencies to change several system properties such as workspace and accuracy, long time is needed to carry out the reconfiguration. The system has to be switched off, in order to rearrange several components. Thus, static reconfigurations approaches offer robust solutions since the configurations are changed manually. Regarding to dynamic reconfiguration concepts duration time is the essential advantage. However, to realize dynamic reconfiguration of a parallel robotic system specific components (DR II) have to developed or challenging control tasks have to be solved (DR I). Besides this in particular DR II features high potential to affect system properties.

This brief assessment of the introduced reconfiguration approaches should not be seen as a strict selecting tool. It rather helps to reason different concepts in early design phases of parallel robotic systems.

20 Will-be-set-by-IN-TECH

As pointed out before the reconfiguration of robotic systems should not be considered as an end itself. It should rather follow an aim and should be subject of a systematic analysis. According to Steiner [(Steiner (1998), Steiner (1999))] changeability (reconfiguration) may not

• are highly precendented systems in slowly changing markets and no customer variety,

• are developed for ultrahigh performance markets with no performance loss allowables. However, different use cases within the life time (e.g. handling muffins, packing croissants) and specific secondary functions (e.g. gripping principle) call for reconfiguration of robotic systems. Demands of high life-cycle times emphasize this need. In order to support the assessment of the before mentioned reconfiguration concepts a set of distinguishing aspects was derived. These aspects point out for which type of requirement spread a static or dynamic reconfiguration should be considered. Furthermore, the complexity of each reconfiguration

• *Duration time* characterizes the period needed to adapt the robotic systems performance,

• *Mechanical complexity* indicates the complexity of mechanical modifications and additional

• *Computational complexity* indicates the complexity of computational modifications and additional algorithms, including costs to realize a reconfigurable robotic system.

• *Parameter range* characterizes the potential of a reconfiguration approach to change several

• *Robustness* indicates the vulnerability of a reconfiguration concept due to unforeseen

The matrix in Figure 18 indicates which reconfiguration strategy is contributing to what reconfiguration-relevant requirement, see section 4.2. In applying the different approaches it is important to show up more detailed realizations. For this reason different reconfiguration concepts are stated following the introduced concepts. For instance, static reconfiguration can be realized by different strut kits and varying fixture distances. Relevant reconfiguration

While static reconfiguration concepts do not demand specific computational adaption and have high potencies to change several system properties such as workspace and accuracy, long time is needed to carry out the reconfiguration. The system has to be switched off, in order to rearrange several components. Thus, static reconfigurations approaches offer robust solutions since the configurations are changed manually. Regarding to dynamic reconfiguration concepts duration time is the essential advantage. However, to realize dynamic reconfiguration of a parallel robotic system specific components (DR II) have to developed or challenging control tasks have to be solved (DR I). Besides this in particular

This brief assessment of the introduced reconfiguration approaches should not be seen as a strict selecting tool. It rather helps to reason different concepts in early design phases of

components, including costs to realize a reconfigurable robotic system.

system properties e.g. workspace dimension in a wide range.

• are highly expedient, short life systems without needed product variety,

**6. Assessment of reconfiguration concepts**

be cost efficient for systems which:

• are insensitive to change over time, and

approach is taken into account considering:

operating conditions e.g. varying payload

DR II features high potential to affect system properties.

concepts are given for each approach.

parallel robotic systems.

both manually and automatically.

## **7. Conclusion and further research**

The need to increase flexibility of production systems via reconfiguration is mainly driven by the customers of the end product. Rising demands for individual products and shorter periods for product changes force the manufacturers to think about reconfigurable production equipment. In order to present ideas and strategies for reconfigurable robotic systems this contribution firstly shows the general meaning of reconfiguration and gives a brief literature review by classifying the most common types into offline and online approaches.

Such as parallel robots are in focus in this chapter, this special class of robotic systems was explained and the essential benefits as well as disadvantages, in particular the occurrence of singularities within the workspace and at its borders were introduced. Based on high potential of parallel robots to cover a huge range of requirements, an adequate requirements management referring to robotic reconfiguration has been introduced. Thereby, the identification of requirement spreads and the derivation of reconfiguration parameters were considered. The main part of the contribution examines the distinctive static and dynamic (type I and II) reconfiguration approaches of parallel robotic system. Each strategy is first discussed theoretically before two case studies are presented. In order to assess the different reconfiguration approaches, a matrix-based scheme is proposed, which serves the designer as a decision support.

Potential aims of further research activities should deal with the validation of the adapted development procedure with respect to reconfiguration issues. Further, regarding parallel robots, the proposed reconfiguration strategies should be surveyed to their transferability to other parallel structures. Another aspect, to be investigated, is the control implementation of the *SR* or *DR* concepts, in order to reduce efforts of changes. The treatment of an entirely changed kinematic structure after reassembling its mechanical components (*SR*) or the

of Parallel Robotic Systems 23

Requirement Oriented Reconfiguration of Parallel Robotic Systems 409

Jantapremjit, P., Austin, D. (2001). Design of a Modular Self-Reconfigurable Robot. In: Proc.

Ji, Z., Song, P. (1998). Design of a Reconfigurable Platform Manipulator. In: Journal of Robotic

Jovane, F. et al. (2002). Design issues for reconfigurable PKMs. In: Proc. of the 4th Chemnitz

Kerle, H., Pittschellis, R., Corves, B. (2007). Einführung in die Getriebelehre. Teubner Verlag,

Koren, Y. et al. (1999). Reconfigurable Manufacturing Systems. Annals of the CRIP, Vol. 48,

Krefft, M., Brüggemann, H., Herrmann, G. & Hesselbach, J. (2006). Reconfigurable Parallel

Lee, G.H. (1997). Reconfigurability Consideration Design of Components and Manufacturing

Maass, J. et al. (2006). Control strategies for enlarging a spatial parallel robot's workspace by

Merlet, J.P. (1997). DEMOCRAT: A DEsign MethOdology for the Conception of Robot with

Merlet, J.-P. (2001). Parallel Robots - Solid Mechanisms and its applications, Vol. 74, ISBN

O'Brien, J.-F.; Wen, J.-T. (2001). Kinematic Control of Parallel Robots in the Presence of

Park, F.C., Jin Wook Kim (1998). Manipulability and singularity analysis of multiple robot

Pritschow, G. (2000). Parallel Kinematic Machines (PKM) - Limitations and New Solutions. CIRP Anals-Manifacturing Technology. Vol. 49, No. 1, 2000, pp. 275-295. Riedel, M., Nefzi, M., and Corves, B. (2010). Grasp Planning for a Reconfigurable Parallel

Riedel, M., Nefzi, M., Hüsing, M., and Corves, B. (2008). An Adjustable Gripper as a

Roozenburg, N.F.M, Dorst, K., (1991). Some Guidelines for the Development of Performance

Schmitt, J., Inkermann, D., Raatz, A., Hesselbach, J., Vietor, T. (2010). Dynamic

Robots and Systems, IROS, Grenoble France, pp. 1630-1636.

1402003854, Kluwer Academic Publishers, Dordrecht.

Robots: Combining High Flexibility and Short Cycle Times. In: *Journal of Production*

Systems. In: The International Journal of Advanced Manufacturing Technology, Vol.

change of configuration. In Proc. of the 5th Chemnitz Parallel Kinematics Seminar,

parallel ArchiTecture. In: Proceedings of the International Conference on Intelligent

Unstable Singularities. In: Proceedings of IEEE International Conference on Robotics

systems: a geometric approach, In: Proceedings of the IEEE International Conference

Robot with an Underactuated Arm Structure. In: Mechanical Sciences, Vol. 1, 2010,

Reconfigurable Robot with a parallel Structure. In: Proc. of the 2nd Int. Workshop on Fundamental Issues and Future Research Directions for Parallel Mechanisms and

Specifications in Product Design. In: Proc. of the 8th International Conference on

Reconfiguration of Parallel Mechanisms. In: *EUCOMES - European Conference on*

2001, pp. 38-43.

No. 2, 1999, pp. 527-540.

13, 1997, pp. 376-386.

http://www.molecubes.org/

pp. 33U42. ˝

Manipulators, 2008.

Systems Vol. 15, No. 6, 1998, pp. 341-346.

*Engineering*, Vol. XIII, No.1., pp. 109-112.

Chemnitz (Germany), 2006, pp. 515-530.

and Automation, Seoul, Korea, pp.354-359.

Engineering Design ICED 91, pp.359-366.

on Robotics and Automation, Vol.2, pp.1032-1037.

Parallel Kinematic Seminar, Chemnitz, 2001, pp. 69-82.

Wiesbaden, Germany, ISBN 978-3-8351-0070-1.

of the 2001 Australien Conference on robotics and Automation. Syndney (Australia),

realization of passing through respectively to avoid singular positions (*DR*) are challenging research fields to deal with.

### **8. Acknowledgments**

The authors gratefully thank the Deutsche Forschungsgemeinschaft (DFG) for supporting the CRC 562 "'Robotic Systems for Handling and Assembly"' and the Project "'Application-Oriented Analysis of High Dynamic Handling of Solar Cells with Parallel Robots"'.

### **9. References**


22 Will-be-set-by-IN-TECH

realization of passing through respectively to avoid singular positions (*DR*) are challenging

The authors gratefully thank the Deutsche Forschungsgemeinschaft (DFG) for supporting the CRC 562 "'Robotic Systems for Handling and Assembly"' and the Project "'Application-Oriented Analysis of High Dynamic Handling of Solar Cells with Parallel

Anggreeni, I., van der Voort, M.C. (2008). Classifying Scenarios in a Product Design Process: a

Boudreau, R. and C.M. Gosselin (2001). La synthèse d'une plate-forme de Gough-Stewart pour un espace atteignable prescrit. Mechanism and Machine Theory 36. pp. 327-342. Brouwer, M., van der Voort, M.C. (2008). Scenarios as a Communication Tool in the Design

Budde, C., Helm, M., Last, P., Raatz, A., Hesselbach, J. (2010). Configuration Switching

Budde, C., Last, P., Hesselbach, J. (2007). Development of a Triglide-Robot with Enlarged

Budde, C. (2008). Wechsel der Konfiguration zur Arbeitsraumvergrösserung bei

Clavel, R. (1991). Conception d'un robot parallel rapide a 4 degres de liberte, Ph.D. Thesis,

Fisher, R., Podhorodeski, R.P., Nokleby, S.B. (2004). Design of a Reconfigurable Planar Parallel Manipulator. In: Journal of Robotic Systems Vol. 21, No. 12, (2004), pp. 665-675. Franke, H.-J., Krusche, T. (1999). Design decisions derived from product requirements. In:

Frindt, M. (2001). Modulbasierte Synthese von Parallelstrukturen für Maschinen

Hesselbach, J., Helm, M., Soetebier, S. (2002). Connecting Assembly Modes for Workspace

Inkermann, D., Stechert, C., Vietor, T. (2011). Einsatz multifunktionaler Werkstoffe für die

Conference - Design Synthesis, Enschede.

Conference - Design Synthesis, Enschede.

Rom, Italy, ISBN 978-1-4244-0602-9.

Design, Enschede, pp.371-382.

978-3-642-16784-3.

978-3-8027-8747-8.

EPFL, Lausanne.

978-3-8027-8659-4.

347-356.

231-244.

study towards semi-automated scenario generation. In: Proc. of the 18th CIRP Design

Process: Examples from a Design Course. In: Proc. of the 18th CIRP Design

for Workspace Enlargement In: Schütz, D., Wahl, F. (Ed.), Robotic Systems for Handling and Assembly, Springer-Verlag, Star Series, Berlin, pp. 175-189, ISBN

Workspace In: Proc. of the International Conference on Robotics and Automation,

Parallelrobotern. Ph.D Thesis, TU Braunschweig, Vulkan, Essen, ISBN

Proc. of the 9th CIRP Design Conference - Integration of Process Knowledge into

in der Produktionstechnik. Ph.D, TU Braunschweig, Vulkan, Essen, ISBN

Enlargement. In: Advances in Robotis, Kluwer Academic Publishers, 2002, pp.

Entwicklung einer adaptiven Gelenkachse. In: Proc. of 8. Paderborner Workshop Entwurf mechatronischer Systeme. HNI-Verlagsschriftenreihe Paderborn, 2011, pp.

research fields to deal with.

**8. Acknowledgments**

Robots"'.

**9. References**


**Part 3** 

**Vision and Sensors**

*Mechanism Design*, Cluj-Napoca, Rumänien, Springer Berlin / Heidelberg, 2010, pp. 557-565, ISBN 978-90-481-9688-3.


**Part 3** 

**Vision and Sensors**

24 Will-be-set-by-IN-TECH

410 Robotic Systems – Applications, Control and Programming

Schmitt, J., Stechert, C., Raatz, A., Hesselbach, J., Vietor, T., Franke, H.-J. (2009).

Setchi, R-M. & Lagos, N. (2004). Reconfigurability and Reconfigurable Manufacturing

Stechert, C. (2010). Modellierung komplexer Anforderungen. Ph.D Thesis, TU Braunschweig,

Stechert, C., Franke, H.-J. (2009). Requirements Models for Collaborative Product Development. In: Proc. of the 19th CIRP Design Conference, Cranfield, pp.24-31. Stechert, C., Franke, H.-J. (2009). Managing Requirements as the Core of Multi-Disciplinary

Stechert, C., Pavlovic, N., Franke, H.-J. (2007). Parallel Robots with Adaptronic Components

Steiner, R. (1998). Systems Architectures and evolvability - definitions and perspectives. In:

Steiner, R. (1999). Enduring Systems Architectures. In: Proc. of the 10th Int. Symp. INCOSE,

Theingi; Chen, I.M.; Angeles, J.; Chuan, Li. (2007). Management of Parallel-Manipulator

Weilkiens, T. (2008). Systems Engineering with SysML/UML - Modeling, Analysis, Design.

Wenger, Ph., Chalbat, D. (1998). Workspace and Assembly Modes in Fully-Parallel

Woelkl, S., Shea, K. (2009). A Computational Product Model for Conceptual Design Using

Wurst, K.-H. & Peting, U. (2002). PKM Concept for Reconfigurable Machine Tools. Proc. of the 4th Chemnitz Parallel Kinematic Seminar, Chemnitz, 2002, pp. 683-696. Yang, G., Chen, I-M., Lim, W.K., Yeo, S.H. (2001). Kinematic Design of Modular

Yim, M., et al. (2007). Modular Self-Reconfigurable Robot Systems - Challenges and

Yim, M.; Duff, D.G.; Roufas, K.D. (2000). "PolyBot: a modular reconfigurable robot," Robotics

and Automation, 2000. In: Proc of ICRA '00., pp.514-520.

557-565, ISBN 978-90-481-9688-3.

*Industrial Informatics (INDIN)*, Berlin.

Congress, Besancon, France, 2007.

Morgan Kaufmann. ISBN:9780123742742

Verlag Dr. Hut, München, ISBN 978-3-86853-545-7.

Proc. of the 8th Annu Symp. INCOSE, Vancouver, 1998.

2009), Cambridge.

1, Is. 3, pp.153-158.

Brighton, 1999.

2009, San Diego.

2007, pp. 43-52

pp.583-600.

*Mechanism Design*, Cluj-Napoca, Rumänien, Springer Berlin / Heidelberg, 2010, pp.

Reconfigurable Parallel Kinematic Structures for Spreading Requirements, In: Proc. of the 14th IASTED International Conference on Robotics and Applications (RA

Systems - State-of-the-art Review, In: *Proc. 2nd. IEEE International Conference on*

Product Development. Cirp Journal of Manufacturing Science and Technology, Vol.


Singularities Using Joint-Coupling. In: Advanced Robotics, Vol. 21, No.5-6,

Manipulators: A Descriptive Study. In: Proc. of the International Conference on Advances in Robotic Kinematics: Analysis and Control. Salzburg, 1998, pp. 117-126.

SysML In: Proc. of the ASME 2009 International Design Engineering Technical Conferences & Computers and Information in Engineering Conference IDETC/CIE

Reconfigurable In-Parallel Robots. In: Autonomous Robots No. 10, 2001, pp. 83U89.

Opportunities for the Future -. In: IEEE Robotics and Automation Magazine. March

˝

**20** 

*India* 

**Real-Time Robotic Hand Control** 

Jagdish Lal Raheja, Radhey Shyam, G. Arun Rajsekhar and P. Bhanu Prasad

Interpretation of human gestures by a computer is used for human-machine interaction in the area of computer vision [3][28]. The main purpose of gesture recognition research is to identify a particular human gesture and convey information to the user pertaining to individual gesture. From the corpus of gestures, specific gesture of interest can be identified[30][36], and on the basis of that, specific command for execution of action can be given to robotic system[31]. Overall aim is to make the computer understand human body language [14], thereby bridging the gap between machine and human. Hand gesture recognition can be used to enhance human–computer interaction without depending on

Hand gestures are extensively used for telerobotic control applications [20]. Robotic systems can be controlled naturally and intuitively with such telerobotic communication [38] [41]. A prominent benefit of such a system is that it presents a natural way to send geometrical information to the robot such as: left, right, etc. Robotic hand can be controlled remotely by hand gestures. Research is being carried out in this area for a long time. Several approaches have been developed for sensing hand movements and controlling robotic hand [9][13][22]. Glove based technique is a well-known means of recognizing hand gestures. It utilizes sensor attached mechanical glove devices that directly measure hand and/or arm joint angles and spatial position. Although glove-based gestural interfaces give more precision, it limits freedom as it requires users to wear cumbersome patch of devices. Jae-Ho Shin et al [14] used entropy analysis to extract hand region in complex background for hand gesture recognition system. Robot controlling is done by fusion of hand positioning and arm gestures [2][32] using data gloves. Although it gives more precision, it limits freedom due to necessity of wearing gloves. For capturing hand gestures correctly, proper light and camera angles are required. A technique to manage light source and view angles, in an efficient way for capturing hand gestures, is given in [26]. Reviews have been written on the subsets of hand postures and gesture recognition in [6]and [18]. The problem of visual hand recognition and tracking is quite challenging. Many early approaches used position markers or colored bands to make the problem of hand recognition easier, but due to their inconvenience, they cannot be considered as a natural interface for the robot control [24]. A 3D Matlab Kinematic model of a PUMA [1][4][16] robot, is used for executing actions by hand gesture[39]. It can be extended to

any robotic system with a number of specific commands suitable to that system [17].

traditional input devices such as keyboard and mouse.

**1. Introduction** 

*Digital Systems Group, Central Electronics Engineering Research Institute (CEERI)/Council of Scientific & Industrial Research (CSIR), Pilani, Rajasthan* 

**Using Hand Gestures** 

## **Real-Time Robotic Hand Control Using Hand Gestures**

Jagdish Lal Raheja, Radhey Shyam, G. Arun Rajsekhar and P. Bhanu Prasad *Digital Systems Group, Central Electronics Engineering Research Institute (CEERI)/Council of Scientific & Industrial Research (CSIR), Pilani, Rajasthan India* 

## **1. Introduction**

Interpretation of human gestures by a computer is used for human-machine interaction in the area of computer vision [3][28]. The main purpose of gesture recognition research is to identify a particular human gesture and convey information to the user pertaining to individual gesture. From the corpus of gestures, specific gesture of interest can be identified[30][36], and on the basis of that, specific command for execution of action can be given to robotic system[31]. Overall aim is to make the computer understand human body language [14], thereby bridging the gap between machine and human. Hand gesture recognition can be used to enhance human–computer interaction without depending on traditional input devices such as keyboard and mouse.

Hand gestures are extensively used for telerobotic control applications [20]. Robotic systems can be controlled naturally and intuitively with such telerobotic communication [38] [41]. A prominent benefit of such a system is that it presents a natural way to send geometrical information to the robot such as: left, right, etc. Robotic hand can be controlled remotely by hand gestures. Research is being carried out in this area for a long time. Several approaches have been developed for sensing hand movements and controlling robotic hand [9][13][22]. Glove based technique is a well-known means of recognizing hand gestures. It utilizes sensor attached mechanical glove devices that directly measure hand and/or arm joint angles and spatial position. Although glove-based gestural interfaces give more precision, it limits freedom as it requires users to wear cumbersome patch of devices. Jae-Ho Shin et al [14] used entropy analysis to extract hand region in complex background for hand gesture recognition system. Robot controlling is done by fusion of hand positioning and arm gestures [2][32] using data gloves. Although it gives more precision, it limits freedom due to necessity of wearing gloves. For capturing hand gestures correctly, proper light and camera angles are required. A technique to manage light source and view angles, in an efficient way for capturing hand gestures, is given in [26]. Reviews have been written on the subsets of hand postures and gesture recognition in [6]and [18]. The problem of visual hand recognition and tracking is quite challenging. Many early approaches used position markers or colored bands to make the problem of hand recognition easier, but due to their inconvenience, they cannot be considered as a natural interface for the robot control [24]. A 3D Matlab Kinematic model of a PUMA [1][4][16] robot, is used for executing actions by hand gesture[39]. It can be extended to any robotic system with a number of specific commands suitable to that system [17].

Real-Time Robotic Hand Control Using Hand Gestures 415

technique to acquire hand gestures and to control robotic system using hand gestures is

• Generation of instructions corresponding to matched gesture, for specified robotic

First step is to capture the image from video stream. It is assumed that while capturing video, black background with proper light soure is used. To minimize number of light

From video stream one frame is captured every 1/3 of a second. Our aim is to identify the frame that contains hand gesture shown by human. For this we are searching the frame in which there is no or least movement. Required frame is identified by comparing three continuously captured frames. *Motion parameter* is determined for each frame by counting total pixels of mismatch. If *motion parameter* is less than the specified threshold value, it is

Analysis of frames to find the frame of interest is carried out by converting the captured frame into a binary frame[23]. Since binary images have values of one or zero., differences of white pixels between newly captured frame and two previously captured frames are determined and they are added together to find *motion parameter.* XOR function is used to

If *frame1, frame2,* and, *frame3* are three matrices containing three frames captured in three

*fr1 = frame1 XOR frame3* (1)

*fr2 = frame2 XOR frame 3* (2)

considered as a frame having least movement of object i.e. the hand of the person.

sources, arrangement of the light sources and camera is made as shown in figure 2.

divided into four subparts:

action.

• Image acquisition to get hand gestures.

**2.1 Image acquisition to get hand gestures** 

**Light Source**

**Light Source**

**Camera**

• Extracting hand gesture area from captured frame.

Fig. 2. Arrangement of light sources for image aquisition

find the differences in white pixels [5][15].

continuous time slots respectively then:

• Determining gesture by pattern matching using PCA algorithm.

In this chapter, we have proposed a fast as well as automatic hand gesture detection and recognition system. Once a hand gesture is recognised, an appropriate command is sent to a robot. Once robot recieves a command, it does a pre-defined work and keeps doing until a new command arrives. A flowchart for overall controlling of a robot is given in figure 1.

Fig. 1. Flow diagram for robot control using hand gestures

## **2. Methodology**

The proposed methodology involves acquisition of live video from a camera for gesture identification. It acquire frames from live video stream in some given time interval[15]. In this case frame capture rate for gesture search is 3 frames per second. The overall proposed technique to acquire hand gestures and to control robotic system using hand gestures is divided into four subparts:

• Image acquisition to get hand gestures.

414 Robotic Systems – Applications, Control and Programming

In this chapter, we have proposed a fast as well as automatic hand gesture detection and recognition system. Once a hand gesture is recognised, an appropriate command is sent to a robot. Once robot recieves a command, it does a pre-defined work and keeps doing until a new command arrives. A flowchart for overall controlling of a robot is given in figure 1.

Video Capture of hand movement

Normalization (Improving image brightness)

Smoothing (Removing Noise)

Frame contain object of

Frame

Yes

No

Crop unused extra part (i.e. removal of wrist, arm etc)

Compare and match the gesture using Principal Component Analysis (PCA)

> Identification of Gesture and Extaction of instruction set corresponding to the matched gesture

Passing the instructions to robot for execution of corresponding

Fig. 1. Flow diagram for robot control using hand gestures

Commands.

The proposed methodology involves acquisition of live video from a camera for gesture identification. It acquire frames from live video stream in some given time interval[15]. In this case frame capture rate for gesture search is 3 frames per second. The overall proposed

**2. Methodology** 

contains object of interest?


### **2.1 Image acquisition to get hand gestures**

First step is to capture the image from video stream. It is assumed that while capturing video, black background with proper light soure is used. To minimize number of light sources, arrangement of the light sources and camera is made as shown in figure 2.

Fig. 2. Arrangement of light sources for image aquisition

From video stream one frame is captured every 1/3 of a second. Our aim is to identify the frame that contains hand gesture shown by human. For this we are searching the frame in which there is no or least movement. Required frame is identified by comparing three continuously captured frames. *Motion parameter* is determined for each frame by counting total pixels of mismatch. If *motion parameter* is less than the specified threshold value, it is considered as a frame having least movement of object i.e. the hand of the person.

Analysis of frames to find the frame of interest is carried out by converting the captured frame into a binary frame[23]. Since binary images have values of one or zero., differences of white pixels between newly captured frame and two previously captured frames are determined and they are added together to find *motion parameter.* XOR function is used to find the differences in white pixels [5][15].

If *frame1, frame2,* and, *frame3* are three matrices containing three frames captured in three continuous time slots respectively then:

$$\text{fr1} = \text{frame1 XOR frame3} \tag{1}$$

$$\text{fr2} = \text{frame2 XOR frame 3} \tag{2}$$

Real-Time Robotic Hand Control Using Hand Gestures 417

Fig. 4. Binary Image formation (a) Target image (b) HSV conversion (c) Filtered image

To remove these errors, the biggest BLOB (Binary Linked Object) method was applied to the noisy image [24][25]. The error free image is shown in figure 5. The only limitation of this filter was that the BLOB for hand should be the biggest one. In this, masking background

Second step is to extract object of interest from the frame. In our case, object of interest is the part of human hand showing gesture [29]. For this, extra part, other than the hand, is cropped out so that pattern matching can give more accurate results [12]. For cropping extra parts row and column numbers are determined, from where object of interest appears. This is done by searching from each side of binary image and moving forward until white pixels encountered are more than the offset value [25]. Experimental results show that offset value set to 1% of total width gives better result for noise compensation. If size of selected image is

*Min\_col=* minimum value of column number where total number of white pixels are more

*Max\_col=* maximum value of column number where total number of white pixels are more

 *Hor\_offset= m/100* (7) *Ver\_offset=n/100* (8)

would be illuminated, so false detection is not possible from the background [7][10].

(d) Smoothened image (e) Binary image (f) Biggest BLOB

mXn then:

than *Hor\_offset*.

than *Hor\_offset*.

$$\text{mismatch\\_matrix} \equiv \text{fr1 OR } \text{fr2} \tag{3}$$

$$\text{Sum} = \sum\_{i=1}^{r} \sum\_{j=1}^{c} mismatch\\_matrix} \begin{bmatrix} i \end{bmatrix} \begin{bmatrix} j \end{bmatrix} \tag{4}$$

$$\text{Motion parameter } = \frac{sum}{r \, ^\ast c} \tag{5}$$

Here r and c are the number of rows and columns in an image frame. Threshold value is set as 0.01. i.e. if total pixels of mismatch are less than 1% of total pixels in a frame, then it is considered as frame of interest. Required frame is forwarded for further processing and this module again starts searching for next frame of interest.

### **2.2 Extracting hand gesture area from frame of interest**

It may happen that the frame, as shown in fig.3, with a gesture contains extra part along with required part of hand i.e. background objects, blank spaces etc. For better results in pattern matching, unused part must be removed. Therefore hand gesture is cropped out from the obtained frame. Cropping of hand gesture from the obtained frame contains three steps:

Fig. 3. Grayscale image

First step is to convert selected frame into HSV color space. As shown in fig.4, a HSV based skin filter was applied on the RGB format image to reduce lighting effects [8][1]. The thresholds for skin filter used in the experiment were as below:

$$\begin{array}{c} 0.05 \text{$$

The resultant image was segmented to get a binary image of hand[37]. Binary images are bilevel images where each pixel is stored as a single bit (0 or 1). Smoothening was needed, as the output image had some jagged edges as clearly visible in figure 4(c). There can be some noise in the filtered images due to false detected skin pixels or some skin color objects (like wood) in background, it can generate few unwanted spots in the output image as shown in figure 4(e).

416 Robotic Systems – Applications, Control and Programming

[ ][ ] 1 1 Sum = \_ *r c*

Motion parameter \*

module again starts searching for next frame of interest.

Fig. 3. Grayscale image

**2.2 Extracting hand gesture area from frame of interest** 

thresholds for skin filter used in the experiment were as below:

Here r and c are the number of rows and columns in an image frame. Threshold value is set as 0.01. i.e. if total pixels of mismatch are less than 1% of total pixels in a frame, then it is considered as frame of interest. Required frame is forwarded for further processing and this

It may happen that the frame, as shown in fig.3, with a gesture contains extra part along with required part of hand i.e. background objects, blank spaces etc. For better results in pattern matching, unused part must be removed. Therefore hand gesture is cropped out from the obtained frame. Cropping of hand gesture from the obtained frame contains three steps:

First step is to convert selected frame into HSV color space. As shown in fig.4, a HSV based skin filter was applied on the RGB format image to reduce lighting effects [8][1]. The

> < < << → < <

The resultant image was segmented to get a binary image of hand[37]. Binary images are bilevel images where each pixel is stored as a single bit (0 or 1). Smoothening was needed, as the output image had some jagged edges as clearly visible in figure 4(c). There can be some noise in the filtered images due to false detected skin pixels or some skin color objects (like wood) in background, it can generate few unwanted spots in the output image as shown in figure 4(e).

0.05 H 0.17 0.1 S 0.3 0.09 V 0.15

*mismatch\_matrix = fr1 OR fr2* (3)

*i j mismatch matrix i <sup>j</sup>* = = (4)

*r c* <sup>=</sup> (5)

(6)

*sum*

Fig. 4. Binary Image formation (a) Target image (b) HSV conversion (c) Filtered image (d) Smoothened image (e) Binary image (f) Biggest BLOB

To remove these errors, the biggest BLOB (Binary Linked Object) method was applied to the noisy image [24][25]. The error free image is shown in figure 5. The only limitation of this filter was that the BLOB for hand should be the biggest one. In this, masking background would be illuminated, so false detection is not possible from the background [7][10].

Second step is to extract object of interest from the frame. In our case, object of interest is the part of human hand showing gesture [29]. For this, extra part, other than the hand, is cropped out so that pattern matching can give more accurate results [12]. For cropping extra parts row and column numbers are determined, from where object of interest appears. This is done by searching from each side of binary image and moving forward until white pixels encountered are more than the offset value [25]. Experimental results show that offset value set to 1% of total width gives better result for noise compensation. If size of selected image is mXn then:

$$\text{Hor\\_offset} \equiv \text{m/100} \tag{7}$$

$$\text{Ver\\_offset=n/100} \tag{8}$$

*Min\_col=* minimum value of column number where total number of white pixels are more than *Hor\_offset*.

*Max\_col=* maximum value of column number where total number of white pixels are more than *Hor\_offset*.

Real-Time Robotic Hand Control Using Hand Gestures 419

shows that whether the object continues from the column of Global maxima to first column

Fig. 7. Histogram showing white pixels in each column, with cropping point for hand gesture

or to last column. i.e. whether extra hand is left side of palm or right side of palm.

Fig. 6. Boundary selection for hand cropping

*Min\_row=* minimum value of row number where total number of white pixels are more than *Ver\_offset*.

Max\_row= maximum value of row number where total number of white pixels are more than *Ver\_offset*.

Fig. 5. Error free image

Figure 6 shows Min\_row, Max\_row, Min\_col, and, Max\_col for the selection of the boundary for cropping of hand.

Third step is to remove parts of hand not used in gesture i.e. removal of wrist, arm etc. As these extra parts are of variable length in image frame and pattern matching with gesture database gives unwanted results. Therefore, parts of hand before the wrist need to be cropped out.

Statistical analysis of hand shape shows that either we pose palm or fist, width is lowest at wrist and highest at the middle of palm. Therefore extra hand part can be cropped out from wrist by determining location where minimum width of vertical histogram is found. Figure 7.c and 7.d show global maxima and cropping points for hand gestures in figure 7.a and 7.b respectively.

Cropping point is calculated as:

*Global Maxima = column number where height of histogram is highest (i.e. column number for global maxima as shown in figure 7).* 

*Cropping point = column number where height of histogram is lowest in such a way that cropping point is in between first column and column of Global Maxima* 

If gesture is shown from opposite side (i.e. from other hand), then *Cropping point* is searched between column of *Global Maxima* and last column. Direction of the hand is detected using continuity analysis of object during hand gesture area determination. Continuity analysis 418 Robotic Systems – Applications, Control and Programming

*Min\_row=* minimum value of row number where total number of white pixels are more than

Max\_row= maximum value of row number where total number of white pixels are more

Figure 6 shows Min\_row, Max\_row, Min\_col, and, Max\_col for the selection of the boundary

Third step is to remove parts of hand not used in gesture i.e. removal of wrist, arm etc. As these extra parts are of variable length in image frame and pattern matching with gesture database gives unwanted results. Therefore, parts of hand before the wrist need to be

Statistical analysis of hand shape shows that either we pose palm or fist, width is lowest at wrist and highest at the middle of palm. Therefore extra hand part can be cropped out from wrist by determining location where minimum width of vertical histogram is found. Figure 7.c and 7.d show global maxima and cropping points for hand gestures in figure 7.a and 7.b

*Global Maxima = column number where height of histogram is highest (i.e. column number for global* 

*Cropping point = column number where height of histogram is lowest in such a way that cropping* 

If gesture is shown from opposite side (i.e. from other hand), then *Cropping point* is searched between column of *Global Maxima* and last column. Direction of the hand is detected using continuity analysis of object during hand gesture area determination. Continuity analysis

*Ver\_offset*.

than *Ver\_offset*.

Fig. 5. Error free image

for cropping of hand.

cropped out.

respectively.

Cropping point is calculated as:

*point is in between first column and column of Global Maxima* 

*maxima as shown in figure 7).* 

shows that whether the object continues from the column of Global maxima to first column or to last column. i.e. whether extra hand is left side of palm or right side of palm.

Fig. 6. Boundary selection for hand cropping

Fig. 7. Histogram showing white pixels in each column, with cropping point for hand gesture

Real-Time Robotic Hand Control Using Hand Gestures 421

Principal Component Analysis (PCA)[11] is used in this application to compare the acquired gesture with the gestures available in the database and recognize the intended gesture.

> RGB images take 3 values for each pixel (RED, GREEN, BLUE) but we want gray scale images.

we are taking image of 100 X 100

A column vector contains data for 1 complete image, so size of each column vector will be 10000 X 1. All images will be stored like this in T Matrix, T grows after each turn. So the final size of T will be 10000 X 10.

Mj = (1/P)\*sum (Tj), where P is number of images in Train Database, and Tj is the jth image, Mj is the mean of jth image.

Ai = Ti- Mi , where A represents new difference matrix of images. Size of A will be 10000 X 10

L = A'\*A, A' is transpose of matrix A Size of L will be 10 X

[V D] = eig (L), Diagonal elements of D are Eigenvalues for both L=A'\*A and C=A\*A'

10

we are considering 10 images in Training database[12][21]

 

Calculate number of images which are

Convert RGB images into Gray images

Reshaping of an image by converting this

Compute the difference image for each

Calculate surrogate of covariance matrix

Calculate Eigenvalues and Eigenvectors

stored in Training Database

Calculate size of an image

into 1-D column vector

Calculate mean of all images

image and merge all images

C=A\*A'

## **2.3 Determining the gesture by resizing and pattern matching**

Cropping results in a frame of 60x80 pixels, so that the gesture can be compared with the database. This particular size of 60x80 is chosen to preserve the aspect ratio of the original image, so that no distortion takes place.

Figure 8.b shows cropped hand gesture from figure 8.a. and figure 8.c. shows the result of scaling and fitting 8.b within 60X80 pixels. Figure 8.d represents final cropped and resized gesture of desired dimension.

Fig. 8. Scaling cropped hand gesture to fit into desired dimension

Fig. 9. (a) PCA basis (b) PCA reduction to 1D

(a) The concept of PCA. Solid lines: the original basis; dashed lines: the PCA basis. The dots are selected at regularly spaced locations on a straight line rotated at 30degrees, and then perturbed by isotropic 2D Gaussian noise. (b) The projection (1D reconstruction) of the data using only the first principal component.

There are many different algorithms available for Gesture Recognition, such as principal Component Analysis, Linear Discriminate Analysis, Independent Component Analysis, Neural Networks and Genetic Algorithms.

420 Robotic Systems – Applications, Control and Programming

Cropping results in a frame of 60x80 pixels, so that the gesture can be compared with the database. This particular size of 60x80 is chosen to preserve the aspect ratio of the original

Figure 8.b shows cropped hand gesture from figure 8.a. and figure 8.c. shows the result of scaling and fitting 8.b within 60X80 pixels. Figure 8.d represents final cropped and resized

(a) (b)

(a) The concept of PCA. Solid lines: the original basis; dashed lines: the PCA basis. The dots are selected at regularly spaced locations on a straight line rotated at 30degrees, and then perturbed by isotropic 2D Gaussian noise. (b) The projection (1D reconstruction) of the data

There are many different algorithms available for Gesture Recognition, such as principal Component Analysis, Linear Discriminate Analysis, Independent Component Analysis,

**2.3 Determining the gesture by resizing and pattern matching** 

Fig. 8. Scaling cropped hand gesture to fit into desired dimension

Fig. 9. (a) PCA basis (b) PCA reduction to 1D

using only the first principal component.

Neural Networks and Genetic Algorithms.

image, so that no distortion takes place.

gesture of desired dimension.

Principal Component Analysis (PCA)[11] is used in this application to compare the acquired gesture with the gestures available in the database and recognize the intended gesture.

Real-Time Robotic Hand Control Using Hand Gestures 423

The concept of PCA is illustrated in Figure 9; The graph shows data that originally has two components along the x1 and x2 directions. This is now resolved along the Φ1 and Φ<sup>2</sup> directions. Φ1 corresponds to the direction of maximum variance and is chosen as the first principal component. In the 2D case currently being considered, the second principal component is then determined uniquely by orthogonality constraints; in a higherdimensional space the selection process would continue, guided by the variances of the

A comprehensive explanation of the above scheme for gesture recognition[19] within a database of ten images is given in figure 10. For simplicity of calculations and ease of understanding, each figure is taken to be of size of 100X100 pixels. This algorithms was

Different functions corresponding to each meaningful hand gesture are written and stored in database for controlling the robotic Arm. For implementation of robotic arm control, PUMA robotic model has been chosen. Since this model was only available at the time of interface, hand gestures are used to control the various joints of the arm. However, these gestures can be used to control the robotic hand also. Altogether 10 different hand gestures are related to 10 different movements of robotic arm. Movement commands are written as a function in robot specific language. Whenever a gesture is matched with a meaningful gesture from the database, the instruction set corresponding to that gesture is identified and passed to robot for execution. In this way the robotic system can be controlled by hand gesture using live camera. Figure 11 shows movements of robotic hand corresponding to

Fig. 11. Movements of PUMA 762 corresponding to some specific hand gestures

purpose that have been identified as shown in fig. 12.

However, there are a total of 10 actionable gestures, and one background image for resetting

projections.

tested on a PC platform.

four different specific hand gestures.

**2.4 Generation of control Instructions for a robot** 

Fig. 10. PCA Algorithm steps for 10 Images

422 Robotic Systems – Applications, Control and Programming

All eigenvalues of matrix L are sorted and those less than a specified threshold are eliminated. So the number of non-zero eigen vectors may be less than (P-1). Let us consider for discussion's sake that it is P-1 i.e. 9 here.

Eigenhands = A\*L\_eig\_vec. Eignevhands is centered image vector, Size of Eigenhands is

Projection of all centered images

temp= Eigenhands'\*A (: i); Projection of centered images into face space. Temp grows after

10000 X 9

each turn.

9 X 9

be 9 X 1

will be stored in Projected Train Images

Reshape test image, Calculate difference by subtracting mean of Train images from test image for which we are calculating

Calculate Projected Test Image by Eigenhands'\*Difference. Size of Eigenhands is 10000 X 9, size of difference is 10000 X 1 So, size of project test image will

Size of Projected Train Image is

equivalent image.

Fig. 10. PCA Algorithm steps for 10 Images

Extracting the PCA features from test

Projected test image

i

Sorting and eliminating eigen values

Projected Train Image

Calculate Eigenhands

The concept of PCA is illustrated in Figure 9; The graph shows data that originally has two components along the x1 and x2 directions. This is now resolved along the Φ1 and Φ<sup>2</sup> directions. Φ1 corresponds to the direction of maximum variance and is chosen as the first principal component. In the 2D case currently being considered, the second principal component is then determined uniquely by orthogonality constraints; in a higherdimensional space the selection process would continue, guided by the variances of the projections.

A comprehensive explanation of the above scheme for gesture recognition[19] within a database of ten images is given in figure 10. For simplicity of calculations and ease of understanding, each figure is taken to be of size of 100X100 pixels. This algorithms was tested on a PC platform.

## **2.4 Generation of control Instructions for a robot**

Different functions corresponding to each meaningful hand gesture are written and stored in database for controlling the robotic Arm. For implementation of robotic arm control, PUMA robotic model has been chosen. Since this model was only available at the time of interface, hand gestures are used to control the various joints of the arm. However, these gestures can be used to control the robotic hand also. Altogether 10 different hand gestures are related to 10 different movements of robotic arm. Movement commands are written as a function in robot specific language. Whenever a gesture is matched with a meaningful gesture from the database, the instruction set corresponding to that gesture is identified and passed to robot for execution. In this way the robotic system can be controlled by hand gesture using live camera. Figure 11 shows movements of robotic hand corresponding to four different specific hand gestures.

Fig. 11. Movements of PUMA 762 corresponding to some specific hand gestures

However, there are a total of 10 actionable gestures, and one background image for resetting purpose that have been identified as shown in fig. 12.

Real-Time Robotic Hand Control Using Hand Gestures 425

laboratory. A gesture database consisting of binary images of size 60 X 80 pixels is prestored, so it takes less time and memory space during pattern recognition. Due to the use of cropped image of gesture, our database becomes more effective as one image is sufficient for one type of gesture presentation. So, neither we need to store more than one image for same gesture at different positions of image, nor have we to worry about positions of hand in front of camera. Experimental results show that the system can detect hand gestures with an accuracy of 95 % when it is kept still in front of the camera for 1

**PCA Eigenvector** 

**PCA Eigenvector** 

**Stored in RAM** 

**RAM** 

**Image Acquisition** 

**Image Acquisition** 

**Gesture Recognition** 

This research is being carried out at Central Electronics Engineering Research Institute (CEERI), Pilani, India as part of a project "Supra Institutional Projects on Technology Development for Smart Systems". Authors would like to thank Director, CEERI for his

**Minimum Distance** 

second.

Fig. 13. Recognition process

active encouragement and support.

**5. Acknowledgment** 

Fig. 12. Set of specified gestures used for robot control

## **3. Implementation on FPGA processor**

We have implemented the algorithm on an FPGA, using a Database of 6 images. Each image size is 60X80 pixels. The reduction in number of images, image size and its resolution are due to FPGA memory constraints. The MATLAB code produces 6x6 projection vectors which are stored in the RAM of the FPGA using a JTAG cable [27]. After formation of the database, the system captures an image and projection vector of 6x1 is produced and that is given to the hardware for further processing. The hardware is responsible for calculating the Euclidian Distance [ED] with a dedicated block which we designate as ED block [34]. Then the minimum distance [MD] is found using a dedicated block named MD block. And the index corresponding to the minimum distance is returned to MATLAB to display the matched image from the Database [33]. The whole process is shown in fig. 13.

The main drawback of this implementation is that only part of the algorithm resides on FPGA and rest of the algorthim still runs on PC. Therefore it is not standalone system and requires interface with the PC[13]. FPGA implementation of PCA algorithm is a great challenge due to the limited resources available in commercial FPGA kits. But it is quite important to have a complete system on a FPGA chip [40]. As far as the technology is concerned, FPGA is most suited for implementation of real time image processing algorithm. It can be readily designed with custom parallel digital circuitry tailored for performing various imaging tasks making them well-suited for high speed real time vision processing applications[35].

## **4. Conclusion**

Controlling a robot arm, in real time, through the hand gestures is a novel approach. The technique proposed here was tested under proper lighting conditions that we created in our 424 Robotic Systems – Applications, Control and Programming

We have implemented the algorithm on an FPGA, using a Database of 6 images. Each image size is 60X80 pixels. The reduction in number of images, image size and its resolution are due to FPGA memory constraints. The MATLAB code produces 6x6 projection vectors which are stored in the RAM of the FPGA using a JTAG cable [27]. After formation of the database, the system captures an image and projection vector of 6x1 is produced and that is given to the hardware for further processing. The hardware is responsible for calculating the Euclidian Distance [ED] with a dedicated block which we designate as ED block [34]. Then the minimum distance [MD] is found using a dedicated block named MD block. And the index corresponding to the minimum distance is returned to MATLAB to display the

The main drawback of this implementation is that only part of the algorithm resides on FPGA and rest of the algorthim still runs on PC. Therefore it is not standalone system and requires interface with the PC[13]. FPGA implementation of PCA algorithm is a great challenge due to the limited resources available in commercial FPGA kits. But it is quite important to have a complete system on a FPGA chip [40]. As far as the technology is concerned, FPGA is most suited for implementation of real time image processing algorithm. It can be readily designed with custom parallel digital circuitry tailored for performing various imaging tasks making them well-suited for high speed real time vision

Controlling a robot arm, in real time, through the hand gestures is a novel approach. The technique proposed here was tested under proper lighting conditions that we created in our

matched image from the Database [33]. The whole process is shown in fig. 13.

Fig. 12. Set of specified gestures used for robot control

**3. Implementation on FPGA processor** 

processing applications[35].

**4. Conclusion** 

laboratory. A gesture database consisting of binary images of size 60 X 80 pixels is prestored, so it takes less time and memory space during pattern recognition. Due to the use of cropped image of gesture, our database becomes more effective as one image is sufficient for one type of gesture presentation. So, neither we need to store more than one image for same gesture at different positions of image, nor have we to worry about positions of hand in front of camera. Experimental results show that the system can detect hand gestures with an accuracy of 95 % when it is kept still in front of the camera for 1 second.

Fig. 13. Recognition process

## **5. Acknowledgment**

This research is being carried out at Central Electronics Engineering Research Institute (CEERI), Pilani, India as part of a project "Supra Institutional Projects on Technology Development for Smart Systems". Authors would like to thank Director, CEERI for his active encouragement and support.

Real-Time Robotic Hand Control Using Hand Gestures 427

[16] Katupitiya, J., Radajewski, R., Sanderson, J., Tordon, M. Implementation of PC Based

[18] Mohammad, Y.; Nishida, T.; Okada, S.; Unsupervised simultaneous learning of

[19] Moezzi and R. Jain, "ROBOGEST: Telepresence Using Hand Gestures". Technical report

[20] M. Moore, A DSP-based real time image processing system. In the Proceedings of the

[21] Nolker, C.; Ritter, H.; Parametrized SOMs for hand posture reconstruction, Neural

[22] Nolker C., Ritter H., Visual Recognition of Continuous Hand Postures, IEEE Transactions on neural networks, Vol 13, No. 4, July 2002, pp. 983-994. [23] K. Oka, Y. Sato and H. Koike. Real-Time Fingertip Tracking and Gesture Recognition.

[24] Ozer, I. B., Lu, T., Wolf, W. Design of a Real Time Gesture Recognition System: High

[25] V.I. Pavlovic, R. Sharma, T.S. Huang. Visual interpretation of hand gestures for human-

[26] Quek, F. K. H., Mysliwiec, T., Zhao, M. (1995). Finger Mouse: A Free hand Pointing

[27] A.K. Ratha, N.K. Jain, FPGA-based computing in computer vision, Computer

[28] Ramamoorthy, N. Vaswani, S. Chaudhury, S. Banerjee, Recognition of Dynamic hand

[29] Sawah A.E., and et al., a framework for 3D hand tracking and gesture recognition

[30] Sergios Theodoridis, Konstantinos Koutroumbas, Pattern Recognition, Elsevier

[31] Seyed Eghbal Ghobadi, Omar Edmond Loepprich, Farid Ahmadov Jens Bernshausen,

International Journal of Computer Science, 35:4, IJCS\_35\_4\_08, Nov 2008.

and robot vision, Montreal, Canada, 28-30 May, 2007, pp. 495-502.

VCL-94-104, University of California, San Diego, 1994.

Joint Conference on , vol.4, no., pp.139-144 vol.4, 2000

IEEE Computer Graphics and Applications: 64-71, 2002.

and Gesture Recognition, pp.372-377, Zurich, Switzerland.

International Workshop on, pp. 128–137, 20-22 Oct 1997.

gestures, Pattern Recognition 36: 2069-2081, 2003.

Publication, Second Edition, 2003.

Machine Intelligence 19(7): 677-695, 1997.

Zurich: pp. 184-188, 1995.

Boston MA, August 1995.

pp. 57-64, 2005.

no., pp.2537-2544, 10-15 Oct. 2009.

Controller for a PUMA Robot. Proc. 4th IEEE Conf. on Mechatronics and Machine Vision in Practice. Australia, p.14-19. [doi:10.1109/MMVIP.1997.625229], 1997. [17] R. Kjeldsen, J. Kinder. Visual hand gesture recognition for window system control, in

International Workshop on Automatic Face and Gesture Recognition (IWAFGR),

gestures, actions and their associations for Human-Robot Interaction, Intelligent Robots and Systems, 2009. IROS 2009. IEEE/RSJ International Conference on, vol.,

6th International conference on signal processing applications and technology,

Networks, 2000. IJCNN 2000, Proceedings of the IEEE-INNS-ENNS International

Performance through algorithms and software. IEEE Signal Processing Magazine,

computer interaction, A Review, IEEE Transactions on Pattern Analysis and

Computer Interface. Proceedings of International Workshop on Automatic Face

Architecture for Machine Perception, CAMP '97. Proceedings Fourth IEEE

using elements of genetic programming, 4th Canadian conference on Computer

Real Time Hand Based Robot Control Using Multimodal Images, IAENG

## **6. References**


426 Robotic Systems – Applications, Control and Programming

[1] Becerra V.M., Cage, C.N.J., Harwin, W.S., Sharkey, P.M. Hardware retrofit and

[2] L. Brthes, P. Menezes, F. Lerasle, and J. Hayet. Face tracking and hand gesture

[3] Chan Wah Ng, Surendra Ranganath, Real-time gesture recognition system and

[4] Corke, P.I. Operational Details of the Unimation Puma Servo System. Report, CSIRO

[5] Crow, F. Summed-area tables for texture mapping. SIGGRAPH '84: Proceedings of the

[6] J. Davis, M. Shah. Recognizing hand gestures. In Proceedings of European Conference

[7] Daggu Venkateshwar Rao, Shruti Patil, Naveen Anne Babu and V Muthukumar,

[8] Dastur, J.; Khawaja, A.; Robotic Arm Actuation with 7 DOF Using Haar Classifier

[9] K G Derpains, A review of Vision-based Hand Gestures, Internal Report, Department of

[10] Didier Coquin, Eric Benoit, Hideyuki Sawada, and Bogdan Ionescu, Gestures

[11] Fang Zhong, David W. Capson, Derek C. Schuurman, Parallel Architecture for PCA Image Feature Detection using FPGA 978-1-4244-1643-1/08/2008 IEEE. [12] Freeman W., Computer vision for television and games. In Recognition, Analysis, and

[13] Haessig D.,Hwang J., Gallagher S., Uhm M., Case-Study of a Xilinx System Generator

[15] Jagdish Raheja, Radhey Shyam and Umesh Kumar, Hand Gesture Capture and

and Automation, pp. 1901–1906, 2004. New Orleans, Louisiana.

application. Image and Vision computing (20): 993-1007, 2002.

on Computer Vision, ECCV: 331-340, 1994. Stockholm, Sweden.

and Applications (ICCEA), vol.1, no., pp.27-29, 19-21 March 2010.

Computer Science. York University, February 2004.

Robotics and Mechatronics Vol.18 No.6, 2006. pp. 751-759.

Science and Network Security, VOL.6 No.2A, 2006 pp. 216-222.

September 7 - 9, 2009 Palma de Mallorca, Spain.

Division of Manufacturing Technology. Australia, 1993.

IEEE Control Systems Magazine, 24(5): 78-82. 2004.

computed torque control of Puma 560 robot updating an industrial manipulator.

recognition for human robot interaction. In International Conference on Robotics

11th annual conference on Computer graphics and interactive techniques. pp. 207-

Implementation and Evaluation of Image Processing Algorithms on Reconfigurable Architecture using C-based Hardware Descriptive Languages, International Journal of Theoretical and Applied Computer Sciences, Volume 1 Number 1 pp. 9–34, 2006.

Gesture Recognition, Second International Conference on Computer Engineering

Recognition Based on the Fusion of Hand Positioning and Arm Gestures, Journal of

Tracking of Faces and Gestures in Real-Time Systems, page 118, 1999. Copyright©

Design Flow For Rapid Development of SDR Waveforms, Proceeding of the SDR 05 Technical Conference and Product Exposition. Copyright © 2005 SDR Forum. [14] Jae-Ho Shin, Jong-Shill Lee, Se-Kee Kil, Dong-Fan Shen, Je-Goon Ryu, Eung-Hyuk Lee,

Hong-Ki Min, Seung-Hong Hong, Hand Region Extraction and Gesture Recognition using entropy analysis, IJCSNS International Journal of Computer

Recognition Technique for Real-time Video Stream, In The 13th IASTED International Conference on Artificial Intelligence and Soft Computing (ASC 2009),

**6. References** 

212.

MEITCA.


**21** 

Ebrahim Mattar

*University of Bahrain Kingdom of Bahrain* 

**Robotics Arm Visual Servo:** 

**with Epipolar Geometry** 

**Estimation of Arm-Space Kinematics Relations** 

*Intelligent Control & Robotics, Department of Electrical and Electronics Engineering,* 

Numerous advances in robotics have been inspired by reliable concepts of biological systems. Necessity for improvements has been recognized due to lack of sensory capabilities in robotic systems which make them unable to cope with challenges such as anonymous and changing workspace, undefined location, calibration errors, and different alternating concepts. Visual servoing aims to control a robotics system through artificial vision, in a way as to manipulate an environment, in a similar way to humans actions. It has always been found that, it is not a straightforward task to combine "Visual Information" with a "Arm Dynamic" controllers. This is due to different natures of descriptions which defines "Physical Parameters" within an arm controller loop. Studies have also revealed an option of using a trainable system for learning some complicated kinematics relating object features to robotics arm joint space. To achieve visual tracking, visual servoing and control, for accurate manipulation objectives without losing it from a robotics system, it is essential to relate a number of an object's geometrical features (object space) into a robotics system joint space (arm joint space). An object visual data, an play important role in such sense. Most robotics visual servo systems rely on object "features Jacobian", in addition to its inverse Jacobian. Object visual features inverse Jacobian is not easily put together and computed, hence to use such relation in a visual loops. A neural system have been used to approximate such relations, hence avoiding computing object's feature inverse Jacobian, even at singular Jacobian postures. Within this chapter, we shall be discussing and presenting an integration approach that combines "Visual Feedback" sensory data with a "6-DOF robotics Arm Controller". Visual servo is considered as a methodology to control movements of a robotics system using certain visual information to achieve a task. Visionary data is acquired from a camera that is mounted directly on a robot manipulator or on a mobile robot, in which case, motion of the robot induces camera motion. Differently, the camera can be fixed, so that can observe the robot motion. In this sense, visual servo control relies on techniques from image processing, computer vision control theory, kinematics,

**1. Introduction** 

**1.1 Visual servoing for robotics applications** 

dynamic and real time computing.


hitp://xvww.xilinix.coinjpoblication s/xcellonlince/xcell 47/xc svsen47.htm


## **Robotics Arm Visual Servo: Estimation of Arm-Space Kinematics Relations with Epipolar Geometry**

Ebrahim Mattar

*Intelligent Control & Robotics, Department of Electrical and Electronics Engineering, University of Bahrain Kingdom of Bahrain* 

## **1. Introduction**

428 Robotic Systems – Applications, Control and Programming

[32] Shin M. C., Tsap L. V., and Goldgof D. B., Gesture recognition using bezier curves for

[33] N. Shirazi and J. Ballagh, "Put Hardware in the Loop with Xilinx System Generator for

hitp://xvww.xilinix.coinjpoblication s/xcellonlince/xcell 47/xc svsen47.htm [34] Stephen D.Brown, R.J. Francis, J.Rose, Z.G.Vranesic, Field Programmable Gate Arrays,

[35] Starner T., Pentland. A., Real-time American Sign Language recognition from video

[36] Triesch J., Malsburg. C.V.D., Robotic gesture recognition. In Gesture Workshop, pages

[37] Tomita, A., Ishii. R. J. Hand shape extraction from a sequence of digitized grayscale

& Workshops, 12-14 Oct, 2009, pp. 1-6, in St. Petersburg, Russia.

http://www.mathworks.com/matlabcentral/fileexchange/14932

Issue 5, May 2004, pp.1011–1024.

233–244, Nara, Japan, 1997.

[39] Walla Walla University, robotic lab PUMA 762.

[40] Xilinx Inc., System Generator for DSP, Users Guide

1992.

1995.

1999.

DSP", Xcell Journal online, May 2003,

visualization navigation from registered 3-d data, Pattern Recognition, Vol. 37,

using hidden markov models. In SCV95, pages 265–270, Ames Street, Cambridge,

images. Proceedings of tweenth International Conference on Industrial Electronics, Control and Instrumentation, IECON '94, vol.3, pp.1925–1930, Bologna, Italy, 1994. [38] Verma R., Dev A., Vision based Hand Gesture Recognition Using finite State Machines

and Fuzzy Logic, International Conference on Ultra-Modern Telecommunications

http://wsssw.xilinx.con1i/products/softwa-e/svstzen/app docs/userLguide.htm

Notes In Computer Science; Vol. 1739, Proceedings of the International Gesture Workshop on Gesture-Based Communication in Human-Computer Interaction,

[41] Ying Wu, Thomas S Huang, Vision based Gesture. Recognition: A Review, Lecture

## **1.1 Visual servoing for robotics applications**

Numerous advances in robotics have been inspired by reliable concepts of biological systems. Necessity for improvements has been recognized due to lack of sensory capabilities in robotic systems which make them unable to cope with challenges such as anonymous and changing workspace, undefined location, calibration errors, and different alternating concepts. Visual servoing aims to control a robotics system through artificial vision, in a way as to manipulate an environment, in a similar way to humans actions. It has always been found that, it is not a straightforward task to combine "Visual Information" with a "Arm Dynamic" controllers. This is due to different natures of descriptions which defines "Physical Parameters" within an arm controller loop. Studies have also revealed an option of using a trainable system for learning some complicated kinematics relating object features to robotics arm joint space. To achieve visual tracking, visual servoing and control, for accurate manipulation objectives without losing it from a robotics system, it is essential to relate a number of an object's geometrical features (object space) into a robotics system joint space (arm joint space). An object visual data, an play important role in such sense. Most robotics visual servo systems rely on object "features Jacobian", in addition to its inverse Jacobian. Object visual features inverse Jacobian is not easily put together and computed, hence to use such relation in a visual loops. A neural system have been used to approximate such relations, hence avoiding computing object's feature inverse Jacobian, even at singular Jacobian postures. Within this chapter, we shall be discussing and presenting an integration approach that combines "Visual Feedback" sensory data with a "6-DOF robotics Arm Controller". Visual servo is considered as a methodology to control movements of a robotics system using certain visual information to achieve a task. Visionary data is acquired from a camera that is mounted directly on a robot manipulator or on a mobile robot, in which case, motion of the robot induces camera motion. Differently, the camera can be fixed, so that can observe the robot motion. In this sense, visual servo control relies on techniques from image processing, computer vision control theory, kinematics, dynamic and real time computing.

Robotics Arm Visual Servo:

**1.2 Literature surveys** 

Estimation of Arm-Space Kinematics Relations with Epipolar Geometry 431

**EGT**, **E**pipolar **G**eometry **T**oolbox, (Eleonora et al., 2004), was also built to grant MATLAB users with a broaden outline for a creation and visualization of multi-camera scenarios. Additionally, to be used for the manipulation of visual information, and the visual geometry. Functions provided, for both classes of vision sensing, the PINHOLE and PANORAMIC, include camera assignment and visualization, computation, and estimation of epipolar geometry entities. Visual servoing has been classified as using visual data within

**I**mage **B**ased **V**isual **S**ervoing (**IBVS**) Using Takagi-Sugeno Fuzzy Neural Network Controller has been proposed by (Miao et. al, 2007). In their study, a T-S fuzzy neural controller based IBVS method was proposed. Eigenspace based image compression method is firstly explored which is chosen as the global feature transformation method. Inner structure, performance and training method of T-S neural network controller are discussed

An Image Based Visual Servoing using Takagi-Sugeno fuzzy neural network controller has been proposed by Miao, (Miao et. al, 2007). In this paper, a TAKAGI-SUGENO Fuzzy Neural Network Controller (TSFNNC) based Image Based Visual Servoing (IBVS) method was proposed. Firstly, an eigenspace based image compression method is explored, which is chosen as the global feature transformation method. After that, the inner structure, performance and training method of T-S neural network controller are discussed

Panwar and Sukavanam in (Panwar & Sukavanam 2007) have introduced Neural Network Based Controller for Visual Servoing of Robotic Hand Eye System. For Panwar and Sukavanam, in their paper a neural network based controller for robot positioning and tracking using direct monocular visual feedback is proposed. Visual information is provided using a camera mounted on the end-effector of a robotics manipulator. A PI kinematics controller is proposed to achieve motion control objective in an image plane. A Feed forward Neural Network (FFNN) is used to compensate for the robot dynamics. The FFNN computes the required torques to drive the robot manipulator to achieve desired tracking. The stability of combined PI kinematics and FFNN computed torque is proved by Lyapunov theory. Gracia and Perez-Vidal in (Gracia & Perez-Vidal 2009), have presented a research framework through which a new control scheme for visual servoing that takes into account the delay introduced by image acquisition and image processing. The capabilities (steadystate errors, stability margins, step time response, etc.) of the proposed control scheme and of previous ones are analytically analyzed and compared. Several simulations and experimental results were provided to validate the analytical results and to illustrate the benefits of the proposed control scheme. In particular, it was shown that this novel control

Alessandro and researchers, as in (Alessandro et. al. 2007), in their research framework, they proposed an image-based visual servoing framework. Error signals are directly computed from image feature parameters, thus obtaining control schemes which do not need neither a 3-D model of the scene, nor a perfect knowledge of the camera calibration matrix. Value of the depth "Z" for each considered feature must be known. Thus they proposed a method to estimate on-line the value of Z for point features while the camera is moving through the scene, by using tools from nonlinear observer theory. By interpreting "Z" as a continuous unknown state with known dynamics, they build an estimator which asymptotically

a control loop (Cisneros, 2004), thus enabling visual-motor (Hand-Eye) coordination.

respectively. Besides that, the whole architecture of TS-FNNC was investigated.

respectively. Besides, the whole architecture of the TS-FNNC is investigated.

scheme clearly improves the performance of the previous ones.

recovers the actual depth value for the selected feature.

Robotics visual servoing has been recently introduced by robotics, AI and control communities. This is due to the significant number of advantages over blind robotic systems. Researchers have also demonstrated that, VISUAL SERVOING is an effective and a robust framework to control robotics systems while relying on visual information as feedback. An image-based scheme task is said to be completely performed if a desired image is acquired by a robotic system. Numerous advances in robotics have been inspired by the biological systems. In reference to Fig. (1), visual servoing aims to control a robotics system through an artificial vision in a way as to manipulate an environment, comparable to humans actions. Intelligence-based visual control has also been introduced by research community as a way to supply robotics system even with more cognitive capabilities. A number of research on the field of intelligent visual robotics arm control have been introduced. Visual servoing has been classified as using visual data within a control loop, enabling visual-motor (hand-eye) coordination. There have been different structures of visual servo systems. However, the main two classes are; **P**osition-**B**ased **V**isual **S**ervo systems (**PBVS**), and the **I**mage-**B**ased **V**isual **S**ervo systems (**IBVS**). In this chapter, we shall concentrate on the second class, which is the Image-based visual servo systems.

Fig. 1. Overall structure of an ANN based visual servoing

## **1.2 Literature surveys**

430 Robotic Systems – Applications, Control and Programming

Robotics visual servoing has been recently introduced by robotics, AI and control communities. This is due to the significant number of advantages over blind robotic systems. Researchers have also demonstrated that, VISUAL SERVOING is an effective and a robust framework to control robotics systems while relying on visual information as feedback. An image-based scheme task is said to be completely performed if a desired image is acquired by a robotic system. Numerous advances in robotics have been inspired by the biological systems. In reference to Fig. (1), visual servoing aims to control a robotics system through an artificial vision in a way as to manipulate an environment, comparable to humans actions. Intelligence-based visual control has also been introduced by research community as a way to supply robotics system even with more cognitive capabilities. A number of research on the field of intelligent visual robotics arm control have been introduced. Visual servoing has been classified as using visual data within a control loop, enabling visual-motor (hand-eye) coordination. There have been different structures of visual servo systems. However, the main two classes are; **P**osition-**B**ased **V**isual **S**ervo systems (**PBVS**), and the **I**mage-**B**ased **V**isual **S**ervo systems (**IBVS**). In this chapter, we

shall concentrate on the second class, which is the Image-based visual servo systems.

Fig. 1. Overall structure of an ANN based visual servoing

**EGT**, **E**pipolar **G**eometry **T**oolbox, (Eleonora et al., 2004), was also built to grant MATLAB users with a broaden outline for a creation and visualization of multi-camera scenarios. Additionally, to be used for the manipulation of visual information, and the visual geometry. Functions provided, for both classes of vision sensing, the PINHOLE and PANORAMIC, include camera assignment and visualization, computation, and estimation of epipolar geometry entities. Visual servoing has been classified as using visual data within a control loop (Cisneros, 2004), thus enabling visual-motor (Hand-Eye) coordination.

**I**mage **B**ased **V**isual **S**ervoing (**IBVS**) Using Takagi-Sugeno Fuzzy Neural Network Controller has been proposed by (Miao et. al, 2007). In their study, a T-S fuzzy neural controller based IBVS method was proposed. Eigenspace based image compression method is firstly explored which is chosen as the global feature transformation method. Inner structure, performance and training method of T-S neural network controller are discussed respectively. Besides that, the whole architecture of TS-FNNC was investigated.

An Image Based Visual Servoing using Takagi-Sugeno fuzzy neural network controller has been proposed by Miao, (Miao et. al, 2007). In this paper, a TAKAGI-SUGENO Fuzzy Neural Network Controller (TSFNNC) based Image Based Visual Servoing (IBVS) method was proposed. Firstly, an eigenspace based image compression method is explored, which is chosen as the global feature transformation method. After that, the inner structure, performance and training method of T-S neural network controller are discussed respectively. Besides, the whole architecture of the TS-FNNC is investigated.

Panwar and Sukavanam in (Panwar & Sukavanam 2007) have introduced Neural Network Based Controller for Visual Servoing of Robotic Hand Eye System. For Panwar and Sukavanam, in their paper a neural network based controller for robot positioning and tracking using direct monocular visual feedback is proposed. Visual information is provided using a camera mounted on the end-effector of a robotics manipulator. A PI kinematics controller is proposed to achieve motion control objective in an image plane. A Feed forward Neural Network (FFNN) is used to compensate for the robot dynamics. The FFNN computes the required torques to drive the robot manipulator to achieve desired tracking. The stability of combined PI kinematics and FFNN computed torque is proved by Lyapunov theory. Gracia and Perez-Vidal in (Gracia & Perez-Vidal 2009), have presented a research framework through which a new control scheme for visual servoing that takes into account the delay introduced by image acquisition and image processing. The capabilities (steadystate errors, stability margins, step time response, etc.) of the proposed control scheme and of previous ones are analytically analyzed and compared. Several simulations and experimental results were provided to validate the analytical results and to illustrate the benefits of the proposed control scheme. In particular, it was shown that this novel control scheme clearly improves the performance of the previous ones.

Alessandro and researchers, as in (Alessandro et. al. 2007), in their research framework, they proposed an image-based visual servoing framework. Error signals are directly computed from image feature parameters, thus obtaining control schemes which do not need neither a 3-D model of the scene, nor a perfect knowledge of the camera calibration matrix. Value of the depth "Z" for each considered feature must be known. Thus they proposed a method to estimate on-line the value of Z for point features while the camera is moving through the scene, by using tools from nonlinear observer theory. By interpreting "Z" as a continuous unknown state with known dynamics, they build an estimator which asymptotically recovers the actual depth value for the selected feature.

Robotics Arm Visual Servo:

**1.4 Chapter organization** 

chapter conclusions.

produce a considerable accurate results.

Fig. 2. Camera geometrical representation in a 3-D space

Estimation of Arm-Space Kinematics Relations with Epipolar Geometry 433

utilizing and mergence three fundamentals. The first is a robotics arm-object visual kinematics, the second is the Epipolar Geometry relating different object scenes during motion, and a learning artificial neural system. To validate the concept, the visual control loop algorithm developed by RIVES has been thus adopted to include a learning neural system. Results have indicated that, the proposed visual servoing methodology was able to

The chapter has been sub-divided into six main sections. In this respect, in section (1) we introduce the concept of robotics visual servo and related background, as related to visual servo. In section (2), we present a background and some related literatures for single scene via signal camera system. Double scene, as known as Epipolar Geometry is also presented in depth in section (3). Artificial Neural Net based **IBVS** is also presented in Section (4), whereas simulated of learning and training of an Artificial Neural Net is presented in section (5). Section (5) presents a case study and a simulation result of the proposed method, as compared to RIVES algorithm. Finally, Section (6) presents the

In (Chen et. al. 2008), an adaptive visual servo regulation control for camera-in-hand configuration with a fixed camera extension was presented by Chen. An image-based regulation control of a robot manipulator with an uncalibrated vision system is discussed. To compensate for the unknown camera calibration parameters, a novel prediction error formulation is presented. To achieve the control objectives, a Lyapunov-based adaptive control strategy is employed. The control development for the camera-in-hand problem is presented in detail and a fixed-camera problem is included as an extension. Epipolar Geometry Toolbox as in (Gian et. al. 2004), was also created to grant MATLAB users with a broaden outline for a creation and visualization of multi-camera scenarios. In addition, to be used for the manipulation of visual information, and the visual geometry. Functions provided, for both class of vision sensing, the pinhole and panoramic, include camera assignment and visualization, computation, and estimation of epipolar geometry entities. Visual servoing has been classified as using visual data within a control loop, enabling visual-motor (hand-eye) coordination.

Image Based Visual Servoing Using Takagi-Sugeno Fuzzy Neural Network Controller has been proposed by (Miao et. al. 2007). In their study, a T-S fuzzy neural controller based IBVS method was proposed. Eigenspace based image compression method is firstly explored which is chosen as the global feature transformation method. Inner structure, performance and training method of T-S neural network controller are discussed respectively. Besides that, the whole architecture of TS-FNNC is investigated. For robotics arm visual servo, this issue has been formulated as a function of object feature Jacobian. Feature Jacobian is a complicated matrix to compute for real-time applications. For more feature points in space, the issue of computing inverse of such matrix is even more hard to achieve.

### **1.3 Chapter contribution**

For robotics arm visual servo, this issue has been formulated as a function of object feature Jacobian. Feature Jacobian Matrix entries are complicated differential relations to be computed for real-time applications. For more feature points in space, the issue of computing inverse of such matrix is even more hard to achieve. In this respect, this chapter concentrates on approximating differential visual information relations relating an object movement in space to the object motion in camera space (which usually complicated relation), hence to joint space. This is known as the (object feature points). The proposed methodology will also discuss how a trained learning system can be used to achieve the needed approximation. The proposed methodology is entirely based on utilizing and merging of three MatLab Tool Boxes. Robotics Toolbox developed by Peter Corke (Corke, 2002), secondly is the Epipolar Geometry Toolbox (EGT) developed by Eleonora Alunno (Eleonora et. al. 2004), whereas the third is the ANN MatLab Tool Box.

This chapter is presenting a research framework which was oriented to develop a robotics visual servo system that relies on approximating complicated nonlinear visual servo kinematics. It concentrates on approximating differential visual changes (object features) relations relating objects movement in a world space to object motion in a camera space (usually time-consuming relations as expressed by time-varying Jacobian matrix), hence to a robotics arm joint space.

The research is also presenting how a trained Neural Network can be utilized to learn the needed approximation and inter-related mappings. The research whole concept is based on utilizing and mergence three fundamentals. The first is a robotics arm-object visual kinematics, the second is the Epipolar Geometry relating different object scenes during motion, and a learning artificial neural system. To validate the concept, the visual control loop algorithm developed by RIVES has been thus adopted to include a learning neural system. Results have indicated that, the proposed visual servoing methodology was able to produce a considerable accurate results.

## **1.4 Chapter organization**

432 Robotic Systems – Applications, Control and Programming

In (Chen et. al. 2008), an adaptive visual servo regulation control for camera-in-hand configuration with a fixed camera extension was presented by Chen. An image-based regulation control of a robot manipulator with an uncalibrated vision system is discussed. To compensate for the unknown camera calibration parameters, a novel prediction error formulation is presented. To achieve the control objectives, a Lyapunov-based adaptive control strategy is employed. The control development for the camera-in-hand problem is presented in detail and a fixed-camera problem is included as an extension. Epipolar Geometry Toolbox as in (Gian et. al. 2004), was also created to grant MATLAB users with a broaden outline for a creation and visualization of multi-camera scenarios. In addition, to be used for the manipulation of visual information, and the visual geometry. Functions provided, for both class of vision sensing, the pinhole and panoramic, include camera assignment and visualization, computation, and estimation of epipolar geometry entities. Visual servoing has been classified as using visual data within a control loop, enabling

Image Based Visual Servoing Using Takagi-Sugeno Fuzzy Neural Network Controller has been proposed by (Miao et. al. 2007). In their study, a T-S fuzzy neural controller based IBVS method was proposed. Eigenspace based image compression method is firstly explored which is chosen as the global feature transformation method. Inner structure, performance and training method of T-S neural network controller are discussed respectively. Besides that, the whole architecture of TS-FNNC is investigated. For robotics arm visual servo, this issue has been formulated as a function of object feature Jacobian. Feature Jacobian is a complicated matrix to compute for real-time applications. For more feature points in space,

For robotics arm visual servo, this issue has been formulated as a function of object feature Jacobian. Feature Jacobian Matrix entries are complicated differential relations to be computed for real-time applications. For more feature points in space, the issue of computing inverse of such matrix is even more hard to achieve. In this respect, this chapter concentrates on approximating differential visual information relations relating an object movement in space to the object motion in camera space (which usually complicated relation), hence to joint space. This is known as the (object feature points). The proposed methodology will also discuss how a trained learning system can be used to achieve the needed approximation. The proposed methodology is entirely based on utilizing and merging of three MatLab Tool Boxes. Robotics Toolbox developed by Peter Corke (Corke, 2002), secondly is the Epipolar Geometry Toolbox (EGT) developed by Eleonora Alunno

This chapter is presenting a research framework which was oriented to develop a robotics visual servo system that relies on approximating complicated nonlinear visual servo kinematics. It concentrates on approximating differential visual changes (object features) relations relating objects movement in a world space to object motion in a camera space (usually time-consuming relations as expressed by time-varying Jacobian matrix), hence to a

The research is also presenting how a trained Neural Network can be utilized to learn the needed approximation and inter-related mappings. The research whole concept is based on

the issue of computing inverse of such matrix is even more hard to achieve.

(Eleonora et. al. 2004), whereas the third is the ANN MatLab Tool Box.

visual-motor (hand-eye) coordination.

**1.3 Chapter contribution** 

robotics arm joint space.

The chapter has been sub-divided into six main sections. In this respect, in section (1) we introduce the concept of robotics visual servo and related background, as related to visual servo. In section (2), we present a background and some related literatures for single scene via signal camera system. Double scene, as known as Epipolar Geometry is also presented in depth in section (3). Artificial Neural Net based **IBVS** is also presented in Section (4), whereas simulated of learning and training of an Artificial Neural Net is presented in section (5). Section (5) presents a case study and a simulation result of the proposed method, as compared to RIVES algorithm. Finally, Section (6) presents the chapter conclusions.

Fig. 2. Camera geometrical representation in a 3-D space

Robotics Arm Visual Servo:

frame B . For translation case :

rigid transformation we have:

are thus expressed :

In Equ (4), *<sup>B</sup>*

Estimation of Arm-Space Kinematics Relations with Epipolar Geometry 435

= −

In reference to (Gian et. al. 2004), using Craig Notation, denotes coordinate of point P in

OA <sup>B</sup> is a coordinate of the origin OA of frame "A" in a new coordinate system "B". Rotations

*B A B*

( )

*B B B B AT A AAA B*

*R i j k j*

= =

*<sup>B</sup> B A P RP* <sup>=</sup> *<sup>A</sup>*

For more than single consecutive rigid transformations, (for example to frame "C"), i.e. form

( ) *<sup>B</sup> B BA B C P R RP* = ++ *A A O O <sup>A</sup> <sup>B</sup>*

*BB A B A A T PR P O* 1 11 *O* <sup>=</sup> 

*C B C C B B T P P R*

1 1 1 <sup>=</sup>

*CC B A C B B A B A T T PR R P O O* 1 1 11 *O O* <sup>=</sup> 

*o*

Γ

) by writing :

*O*

frames →→ CBA , coordinate of point P in frame "C" can hence be expressed by:

For homogeneous coordinates, it looks very concise to express <sup>B</sup>

We could express elements of a transformation (

*a* 1 11

 ζ ζ

(2)

(4)

*<sup>A</sup> P P* = + *O* (3)

*<sup>B</sup> B A <sup>B</sup> P RP* = + *<sup>A</sup> OA* (5)

( ) ( ) *<sup>B</sup> <sup>C</sup> <sup>B</sup> A C A C P RP R* = ++ *BR <sup>A</sup> <sup>B</sup> O O <sup>A</sup> <sup>A</sup>* (6)

P as :

(7)

(8)

(9)

*A T B*

*i*

*A T B*

*k*

*iA* is a frame axis coordinate of "A" in another coordinate "B". In this respect, for

φ

Fig. 3. Camera image plane and geometry

## **2. Single camera model: {object to camera plane kinmeatics}**

Fig. (2) shows a typical camera geometrical representation in a space. Hence, to assemble a closed loop visual servo system, a loop is to be closed around the robotics arm system. In this study, this is a PUMA-560 robotics arm, with a Pinhole camera system. The camera image plane and associated geometry is shown in Fig. (3). For analyzing closed loop visual kinematics, we shall employ a Pinhole Camera Model for capturing object features. For whole representation, details of a Pinhole camera model in terms of image plane ( *<sup>a</sup>* ξ , *<sup>a</sup>* ψ ) location are expressed in terms ( ξ ,ψ , and ζ ), as in Equ. (1). In reference to Fig. (2), we can express ( ) *a a* ξ ψ, locations as expressed in terms ( ) ξ ξ, , Ψ :

$$\begin{cases} \xi^a = \phi^a \left( \frac{\xi}{\zeta'} \right) \\\\ \nu^a = \phi^a \left( \frac{\nu \nu}{\zeta'} \right) \end{cases} \tag{1}$$

Both ( ) *a a* ξ ψ, location over an image plane is thus calculated by Equ. (1). For thin lenses (as the Pinhole camera model), camera geometry are thus represented by, (Gian et. al. 2004) :

434 Robotic Systems – Applications, Control and Programming

Fig. 3. Camera image plane and geometry

location are expressed in terms (

express ( ) *a a* ξ ψ

Both ( ) *a a* ξ ψ

**2. Single camera model: {object to camera plane kinmeatics}** 

ξ ,ψ, and

, locations as expressed in terms ( )

Fig. (2) shows a typical camera geometrical representation in a space. Hence, to assemble a closed loop visual servo system, a loop is to be closed around the robotics arm system. In this study, this is a PUMA-560 robotics arm, with a Pinhole camera system. The camera image plane and associated geometry is shown in Fig. (3). For analyzing closed loop visual kinematics, we shall employ a Pinhole Camera Model for capturing object features. For whole representation, details of a Pinhole camera model in terms of image plane ( *<sup>a</sup>*

ζ

*a a*

<sup>=</sup>

ξ φ ζ

ψ φ ζ

*a a*

the Pinhole camera model), camera geometry are thus represented by, (Gian et. al. 2004) :

<sup>=</sup>

ξ ξ, , Ψ :

ξ

ψ

, location over an image plane is thus calculated by Equ. (1). For thin lenses (as

ξ , *<sup>a</sup>* ψ)

), as in Equ. (1). In reference to Fig. (2), we can

(1)

$$
\left(\frac{1}{\phi}\right) = \left(\frac{1}{\zeta^a} - \frac{1}{\zeta}\right) \tag{2}
$$

In reference to (Gian et. al. 2004), using Craig Notation, denotes coordinate of point P in frame B . For translation case :

$$\prescript{B}{}{P} = \prescript{A}{}{P} + \prescript{B}{}{\mathbf{O}}\_A \tag{3}$$

OA <sup>B</sup> is a coordinate of the origin OA of frame "A" in a new coordinate system "B". Rotations are thus expressed :

$$\boldsymbol{\dot{\dot{\lambda}}}\_{A}^{B} \mathbf{R} = \begin{pmatrix} \ ^{B}\boldsymbol{\dot{\dot{\lambda}}}\_{A} & \ ^{B}\boldsymbol{\dot{\dot{\lambda}}}\_{A} & \ ^{B}\boldsymbol{\dot{\lambda}}\_{A} \end{pmatrix} = \begin{pmatrix} \ ^{A}\dot{\boldsymbol{\dot{\lambda}}}\_{B}^{T} \\\ ^{A}\boldsymbol{\dot{\dot{\lambda}}}\_{B}^{T} \\\ ^{A}\boldsymbol{\dot{\lambda}}\_{B}^{T} \end{pmatrix} \tag{4}$$

In Equ (4), *<sup>B</sup> iA* is a frame axis coordinate of "A" in another coordinate "B". In this respect, for rigid transformation we have:

$$\prescript{\ast}{}{}^{\mathcal{B}}P = \prescript{\ast}{}{}^{\mathcal{B}}P$$

$$\prescript{\ast}{}{}^{\mathcal{B}}P = \prescript{\ast}{}{}^{\mathcal{B}}R \prescript{\ast}{}{}^{\mathcal{B}}O\_A \tag{5}$$

For more than single consecutive rigid transformations, (for example to frame "C"), i.e. form frames →→ CBA , coordinate of point P in frame "C" can hence be expressed by:

$$\prescript{\mathcal{S}}{}{}^{B}P = \prescript{\mathcal{B}}{}{R} \left( \prescript{\mathcal{B}}{}{R}\prescript{\mathcal{A}}{}{}^{P}P + \prescript{\mathcal{B}}{}{O}\_{A} \right) + \prescript{\mathcal{C}}{}{O}\_{B}$$

$$\prescript{\mathcal{B}}{}{}^{B}P = \left( \prescript{\mathcal{C}}{}{R}\prescript{\mathcal{B}}{}{R}\prescript{\mathcal{A}}{}{}^{A}P \right) + \left( \prescript{\mathcal{C}}{}{R}{}^{A}O\_{A} + \prescript{\mathcal{C}}{}{O}\_{A} \right) \tag{6}$$

For homogeneous coordinates, it looks very concise to express <sup>B</sup> P as :

$$
\begin{pmatrix} \,^B P \\\\ \mathbf{1} \end{pmatrix} = \begin{pmatrix} \,^B R & \,^B O\_A \\\\ \mathbf{O}^T & \mathbf{1} \end{pmatrix} \begin{pmatrix} \,^A P \\\\ \mathbf{1} \end{pmatrix} \tag{7}
$$

$$
\begin{pmatrix} \,^c P \\ \,^c \\ 1 \end{pmatrix} = \begin{pmatrix} \,^c\_B R & \,^c \mathcal{O}\_B \\ \,^c\_B & 1 \end{pmatrix} \begin{pmatrix} \,^b P \\ 1 \end{pmatrix} \tag{8}
$$

$$
\begin{pmatrix} \,^c P \\\\ \, 1 \end{pmatrix} = \begin{pmatrix} \,^c\_B R & \,^c O\_B \\\\ O^T & \mathbf{1} \end{pmatrix} \begin{pmatrix} \,^B R & \,^B O\_A \\\\ O^T & \mathbf{1} \end{pmatrix} \begin{pmatrix} \,^A P \\\\ \mathbf{1} \end{pmatrix} \tag{9}
$$

We could express elements of a transformation ( Γ) by writing :

Robotics Arm Visual Servo:

Both ( *R* ) and (

Ω

intrinsic and extrinsic parameters.

want to solve for *M*1 and *M*<sup>2</sup> :

**2.1 Computing a projection matrix** 

Estimation of Arm-Space Kinematics Relations with Epipolar Geometry 437

φ

<sup>=</sup>

0 0

0 0

<sup>=</sup>

between camera coordinate system and world coordinate system. Hence, any ( ) *u v*, point in

*w*

Here ( M ) in Equ (17) is referred to as a Camera Projection Matrix. We are given (1) a calibration rig, i.e., a reference object, to provide the world coordinate system, and (2) an image of the reference object. The problem is to solve (a) the projection matrix, and (b) the

> *i ii* ξψ

*<sup>i</sup> <sup>w</sup>*

 =

*<sup>i</sup> <sup>C</sup> <sup>w</sup>*

*<sup>i</sup> <sup>w</sup>*

 =

*<sup>i</sup> <sup>C</sup> <sup>w</sup>*

*<sup>v</sup> <sup>M</sup>*<sup>1</sup>

ζ

*v MM*1 2 1

ζ  ζ

> *w i*

ξ

*i*

ψ

*i*

ζ

1

*w i*

ξ

*i*

ψ

*i*

ζ

1

<sup>1</sup> 0 0

β

*u k u v k v*

1 001

<sup>1</sup> <sup>0</sup>

ζ

*u u*

*v v*

*C*

ζ

=

*v M M*1 2 *p* 1

*u*

1

*u*

1

ζ

camera image plan is evaluated via the following relation:

*u*

1

In a mathematical sense, we are given ( ) *www*

1 00 10

κ

*<sup>C</sup> <sup>c</sup>*

*<sup>C</sup> <sup>T</sup> <sup>c</sup>*

φ

0

*c c*

ξ

ψ

ζ

1

0

Ω ψ

*c c*

ξ

1

ζ

(16)

(17)

and *<sup>T</sup> u v i i* ( ) for *i* = (1 …… n), we

(18)

0 0

*R*

*O*

) extrinsic camera parameters, do represent coordinate transformation

 *<sup>w</sup> C*

*v Mp* 1

ζ

*u*

1

=

$$
\Gamma = \begin{pmatrix}
\sigma\_{11} & \sigma\_{12} & \sigma\_{13} & \sigma\_{14} \\\\ \sigma\_{21} & \sigma\_{22} & \sigma\_{23} & \sigma\_{24} \\\\ \sigma\_{31} & \sigma\_{32} & \sigma\_{33} & \sigma\_{34} \\\\ \sigma\_{41} & \sigma\_{42} & \sigma\_{43} & \sigma\_{44} \\\\ \end{pmatrix} \quad \Gamma = \begin{pmatrix} A & \mathcal{Q} \\\\ O^T & 1 \end{pmatrix} \tag{10}
$$

as becoming offline transformation. If ( ) *A* = *R* , i.e., a rotation matrix ( Γ ), once *<sup>T</sup> RR I* = , then :

$$
\boldsymbol{\Gamma} = \begin{pmatrix} \boldsymbol{R} & \boldsymbol{\mathcal{Q}} \\ \boldsymbol{O}^{\top} & \boldsymbol{1} \end{pmatrix} \tag{11}
$$

Euclidean transformation preserves parallel lines and angles, on the contrary, affine preserves parallel lines but not angles, Introducing a normalized image plane located at focal length φ = 1 . For this normalized image plane, pinhole (C) is mapped into the origin of an image plane using:

$$
\hat{P} = \begin{pmatrix} \hat{\mu} & \hat{\upsilon} \end{pmatrix}^T \tag{12}
$$

Cˆ and P are mapped to : ( )

$$
\hat{P} = \begin{pmatrix} \hat{u} \\ \hat{u} \\ \hat{u} \\ 1 \end{pmatrix} = \frac{1}{\mathcal{L}^{\mathcal{C}}} (I \quad \mathbf{0}) \begin{pmatrix} P^{\mathcal{C}} \\ \mathbf{1} \end{pmatrix} \tag{13}
$$

$$
\hat{P} = \frac{I}{\xi^{c^{\circ}}} \begin{pmatrix} I & O \end{pmatrix} \begin{pmatrix} \xi^{c} \\ \psi^{c} \\ \psi^{c} \\ \xi^{c} \\ I \end{pmatrix} \tag{14}
$$

we also have :

$$
\begin{pmatrix} u \\ v \\ 1 \end{pmatrix} = \begin{pmatrix} \mathbf{1} \\ \boldsymbol{\xi^c} \\ \boldsymbol{\xi^c} \end{pmatrix} \begin{pmatrix} k\boldsymbol{\phi} & \mathbf{0} & u\_0 \\ \boldsymbol{0} & k\boldsymbol{\phi} & v\_0 \\ \mathbf{0} & \mathbf{0} & \mathbf{1} \end{pmatrix} \begin{pmatrix} \boldsymbol{\xi^c} \\ \boldsymbol{\nu^c} \\ \boldsymbol{\xi^c} \\ \boldsymbol{\xi^c} \\ \mathbf{1} \end{pmatrix} \tag{15}
$$

Now once κ = *k*φ and β φ = *L* , then we identify these parameters o <sup>o</sup> κ ,, , β u v as intrinsic camera parameters. In fact, they do present an inner camera imaging parameters. In matrix notation, this can be expressed as :

c

c

c

0

C 0

 = φ <sup>ψ</sup> <sup>ζ</sup> <sup>ζ</sup>

<sup>φ</sup> <sup>ξ</sup>

u k0 a <sup>1</sup> v 0k <sup>v</sup>

1 001

436 Robotic Systems – Applications, Control and Programming

*R*

Euclidean transformation preserves parallel lines and angles, on the contrary, affine preserves parallel lines but not angles, Introducing a normalized image plane located at focal length φ = 1 . For this normalized image plane, pinhole (C) is mapped into the origin of

*O* 1

( )*<sup>T</sup> P uv*

 = = 

*C*

( )

0

ζ

*C*

*P*

1

 

 

*<sup>C</sup> <sup>c</sup>*

0 0

1

ζ

*c c c*

ψ

ξ

( )

= *L* , then we identify these parameters o <sup>o</sup>

*c c*

ξ

ψ

ζ

1

κ ,, , β

 = 

Ω

*<sup>T</sup>*

Γ

*A*

*O* 1

 = 

Ω

(10)

), once *<sup>T</sup> RR I* = ,

Γ

(11)

(13)

(15)

u v as intrinsic

ˆ = ˆ ˆ (12)

*<sup>C</sup> IPˆ* (14)

11 12 13 14 21 22 23 24 31 32 33 34 41 42 43 44

σσσσ

 

σσσσ

σσσσ

σσσσ

as becoming offline transformation. If ( ) *A* = *R* , i.e., a rotation matrix (

Γ

*u*

1

=

0

*u k u*

1 001

ζ

*v kI v*

φ

C 0

 = φ <sup>ψ</sup> <sup>ζ</sup> <sup>ζ</sup>

<sup>φ</sup> <sup>ξ</sup>

u k0 a <sup>1</sup> v 0k <sup>v</sup>

1 001

ζ

c

c

0 <sup>1</sup> 0 0

φ

<sup>=</sup>

camera parameters. In fact, they do present an inner camera imaging parameters. In matrix

c

1

ˆ

*Pu I*

<sup>1</sup> <sup>ˆ</sup> <sup>ˆ</sup> <sup>0</sup>

Γ

*<sup>T</sup>*

Cˆ and P are mapped to : ( )

then :

an image plane using:

we also have :

Now once

κ = *k*φ and β φ

notation, this can be expressed as :

=

$$
\begin{pmatrix} u \\ v \\ 1 \end{pmatrix} = \begin{pmatrix} 1 \\ \frac{1}{\xi^{c^c}} \end{pmatrix} \begin{pmatrix} k\phi & 0 & u\_0 \\ 0 & k\phi & v\_0 \\ 0 & 0 & 1 \end{pmatrix} \begin{pmatrix} \xi^c \\ \varphi^c \\ \varphi^c \\ 1 \end{pmatrix}
$$

$$
\begin{pmatrix} u \\ v \\ 1 \end{pmatrix} = \begin{pmatrix} 1 \\ \frac{1}{\xi^c} \\ 1 \end{pmatrix} \begin{pmatrix} \kappa & 0 & u\_{10} & 0 \\ 0 & \beta & v\_{10} & 0 \\ 0 & 0 & 1 & 0 \end{pmatrix} \begin{pmatrix} R & \Omega \\ \mathbf{O}^T & 0 \end{pmatrix} \begin{pmatrix} \xi^c \\ \varphi^c \\ \varphi^c \\ 1 \end{pmatrix} \tag{16}
$$

*c*

Both ( *R* ) and ( Ω ) extrinsic camera parameters, do represent coordinate transformation between camera coordinate system and world coordinate system. Hence, any ( ) *u v*, point in camera image plan is evaluated via the following relation:

$$
\begin{pmatrix} u \\ v \\ 1 \end{pmatrix} = \left(\frac{1}{\mathcal{\zeta}^C}\right) M\_1 M\_2 p^w \qquad \begin{pmatrix} u \\ v \\ 1 \end{pmatrix} = \frac{1}{\mathcal{\zeta}^C} M p^w \tag{17}
$$

Here ( M ) in Equ (17) is referred to as a Camera Projection Matrix. We are given (1) a calibration rig, i.e., a reference object, to provide the world coordinate system, and (2) an image of the reference object. The problem is to solve (a) the projection matrix, and (b) the intrinsic and extrinsic parameters.

### **2.1 Computing a projection matrix**

In a mathematical sense, we are given ( ) *www i ii* ξψ ζ and *<sup>T</sup> u v i i* ( ) for *i* = (1 …… n), we want to solve for *M*1 and *M*<sup>2</sup> :

$$\begin{pmatrix} u\_i \\ v\_i \\ \mathbf{1} \end{pmatrix} = \frac{1}{\boldsymbol{\xi}^{\text{c}^{\text{c}}}} M\_1 M\_2 \begin{pmatrix} \boldsymbol{\xi}^{\text{w}} \\ \boldsymbol{\Psi}^{\text{w}} \\ \boldsymbol{\Psi}\_i^{\text{w}} \\ \boldsymbol{\xi}\_i^{\text{w}} \\ \mathbf{1} \end{pmatrix} \tag{18}$$
 
$$\begin{pmatrix} u\_i \\ v\_i \\ \mathbf{1} \end{pmatrix} = \frac{1}{\boldsymbol{\xi}^{\text{c}^{\text{c}}}} M \begin{pmatrix} \boldsymbol{\xi}\_i^{\text{w}} \\ \boldsymbol{\Psi}\_i^{\text{w}} \\ \boldsymbol{\xi}\_i^{\text{w}} \\ \mathbf{1} \end{pmatrix}$$

Robotics Arm Visual Servo:

In such a similar case, a 3-D point (

line of *m* 1 gives *<sup>T</sup> m m E P P* <sup>1</sup> 2 1 <sup>2</sup>

here *v P P m*

image plane pass through an epipole point.

This is a projection of conjugate optical centre:

λ

:

E1 and E2

2004) :

Estimation of Arm-Space Kinematics Relations with Epipolar Geometry 439

It is also possible to express such an epipole geometry in homogeneous coordinates in terms

*EEE* <sup>111</sup> *x y* <sup>=</sup> <sup>1</sup> and ( )*<sup>T</sup>*

One of the main parameters of an epipolar geometry is the fundamental Matrix Η (which is ℜ∈ ×3 3 ). In reference to the Η matrix, it conveys most of the information about the relative position and orientation ( t,R ) between the two different views. Moreover, the fundamental matrix Η algebraically relates corresponding points in the two images through the Epipolar Constraint. For instant, let the case of two views of the same 3-D point Χ<sup>w</sup> , both characterized by their relative position and orientation ( t,R ) and the internal, hence Η is evaluated in terms of K1 and K2 , representing extrinsic camera parameters, (Gian et al.,

> ( ) *<sup>T</sup> <sup>x</sup> K t RK* <sup>1</sup>

and ( *m*<sup>1</sup> ), as to constitute a conjugate pair. Given a point ( *m*<sup>1</sup> ) in left image plane, its conjugate point in the right image is constrained to lie on the epipolar line of ( *m*<sup>1</sup> ). The line is considered as the projection through *C*2 of optical ray of *m*<sup>1</sup> . All epipolar lines in one

() ( ) ( ) ()

() ( ) ( ) ()

<sup>+</sup> = =

<sup>+</sup> = =

<sup>1</sup> 2 2 <sup>1</sup> <sup>−</sup> = is a projection operator extracting the (*i*th ) component from a vector. When (*C*<sup>1</sup> ) is in the focal plane of right camera, the right epipole is an infinity, and the epipolar lines form a bundle of parallel lines in the right image. Direction of each epipolar

> [ ] [ ] [ ] [ ] [ ] []

2 3 3

[ ] [ ] [ ] [ ] [ ] []

2 3 3

 λ ( ) <sup>−</sup> <sup>=</sup> <sup>+</sup> 

23 32 2 2

 λ ( ) <sup>−</sup> <sup>=</sup> <sup>+</sup> 

13 31 2 2

2

2

*du ve ve d ev*

*dv ve ve d ev*

2 1

2 2

line is evaluated by derivative of parametric equations listed above with respect to (

2 1

Η

Χ

*u m*

*v m*

λ

λ

*EEE* <sup>222</sup> *x y* = 1 (24)

− − = (25)

. Parametric equation of epipolar

(26)

(27)

(28)

(29)

λ) :

*<sup>w</sup>* ) is projected onto two image planes, to points ( *m*<sup>2</sup> )

*c E P* <sup>1</sup> 1 2

1 <sup>=</sup>

2 1<sup>−</sup> = + . In image coordinates this can be expressed as:

( ) () *e v*

( ) () *e v*

+ 

2 3 3

*e v* 2 2 2

+

2 3 3

λ

λ

λ

λ

*e v* 2 1 1

( )*<sup>T</sup>*

*w i <sup>i</sup> <sup>w</sup> i c <sup>i</sup> <sup>i</sup> <sup>w</sup> i u mmmm v mmmm mmmm* 11 12 13 14 21 22 23 24 1 31 32 33 34 1 ξ ψ ζ ζ = = (19) *c w ww i* ζ ξψ ζ *i i ii um m m m* =+ ++ 11 12 13 14 *c w ww i* ζ ξψ ζ *i i ii um m m m* =+ ++ 21 22 <sup>23</sup> 24 (20) *c w ww i* ζ ξψ ζ *i i ii um m m m* =+ ++ 31 32 <sup>33</sup> <sup>34</sup> *w i <sup>i</sup> <sup>w</sup> i c <sup>i</sup> <sup>i</sup> <sup>w</sup> i u v* 11 12 13 14 21 22 23 24 1 31 32 33 34 1 ξ σσσσ ψ ζ σσσσ ζ σσσσ = = (21) *c w ww i* ζ ξψ ζ *i i ii u* =+ ++ σσ σσ21 22 23 24 (22)

Obviously, we can let σ <sup>34</sup> = 1 . This will result in the projection matrix is scaled by σ <sup>34</sup> . Once KM U= , 2n 11 K <sup>×</sup> ∈ℜ is a matrix, a 11-D vector, and 2n D U <sup>−</sup> ∈ℜ vector. A least square solution of equation KM U= is thus expressed by:

*c w ww*

 *i i ii u* =+ ++ σσ

 ζ

 σσ

31 32 33 34

 ξψ

$$\mathbf{M} = \mathbf{K}^{\ast} \mathbf{U}$$

$$\mathbf{M} = \mathbf{K}^{T} \mathbf{K}^{-1} \mathbf{K}^{T} \mathbf{U} \tag{23}$$

K<sup>+</sup> is the pseudo inverse of matrix K , and m and m34 consist of the projection matrix M . We now turn to double scene analysis.

### **3. Double camera scene {epipolar geometry analysis}**

*i* ζ

In this section, we shall consider an image resulting from two camera views. For two perspective views of the same scene taken from two separate viewpoints Ο1 and Ο<sup>2</sup> , this is illustrated in Fig. (3). Also we shall assume that ( m1 and m2 ) are representing two separate points in two the views. In other words, perspective projection through Ο1 and Ο<sup>2</sup> , of the same point Χ<sup>w</sup> , in both image planes Λ1 and Λ<sup>2</sup> . In addition, by letting ( <sup>1</sup> c ) and ( <sup>2</sup> c ) be the optical centers of two scene, the projection E1 ( E2 ) of one camera center Ο<sup>1</sup> ( Ο<sup>2</sup> ) onto the image plane of the other camera frame Λ<sup>2</sup> ( Λ<sup>1</sup> ) is the epipole geometry.

438 Robotic Systems – Applications, Control and Programming

*u mmmm v mmmm*

ζ

*i* ζ

*i* ζ

> *i* ζ

> > *u v*

*i* ζ

> *i* ζ

**3. Double camera scene {epipolar geometry analysis}** 

the image plane of the other camera frame Λ<sup>2</sup> ( Λ<sup>1</sup> ) is the epipole geometry.

ζ

σ

solution of equation KM U= is thus expressed by:

We now turn to double scene analysis.

Obviously, we can let

*<sup>i</sup> <sup>w</sup> i c <sup>i</sup> <sup>i</sup> <sup>w</sup>*

 = = 

11 12 13 14 21 22 23 24

*mmmm*

*i i ii um m m m* =+ ++ 11 12 13 14

*i i ii um m m m* =+ ++ 31 32 <sup>33</sup> <sup>34</sup>

*<sup>i</sup> <sup>w</sup> i c <sup>i</sup> <sup>i</sup> <sup>w</sup>*

σσσσ

 = = 

σσσσ

σσσσ

11 12 13 14 21 22 23 24

1 31 32 33 34

*c w ww*

*c w ww*

*c w ww*

1 31 32 33 34

*c w ww*

 *i i ii u* =+ ++ σσ

*c w ww*

 *i i ii u* =+ ++ σσ

Once KM U= , 2n 11 K <sup>×</sup> ∈ℜ is a matrix, a 11-D vector, and 2n D U <sup>−</sup> ∈ℜ vector. A least square

*M K U*<sup>+</sup> =

K<sup>+</sup> is the pseudo inverse of matrix K , and m and m34 consist of the projection matrix M .

In this section, we shall consider an image resulting from two camera views. For two perspective views of the same scene taken from two separate viewpoints Ο1 and Ο<sup>2</sup> , this is illustrated in Fig. (3). Also we shall assume that ( m1 and m2 ) are representing two separate points in two the views. In other words, perspective projection through Ο1 and Ο<sup>2</sup> , of the same point Χ<sup>w</sup> , in both image planes Λ1 and Λ<sup>2</sup> . In addition, by letting ( <sup>1</sup> c ) and ( <sup>2</sup> c ) be the optical centers of two scene, the projection E1 ( E2 ) of one camera center Ο<sup>1</sup> ( Ο<sup>2</sup> ) onto

 ξψ

 ξψ

 ξψ

 ξψ

 ξψ

*w i*

ξ

ψ

*i*

(19)

(21)

σ<sup>34</sup> .

ζ

1

*i i ii um m m m* =+ ++ 21 22 <sup>23</sup> 24 (20)

*w i*

ξ

ψ

*i*

ζ

1

21 22 23 24 (22)

*M T T KK K U* <sup>−</sup><sup>1</sup> = (23)

 ζ

 ζ

> ζ

 ζ

> ζ

<sup>34</sup> = 1 . This will result in the projection matrix is scaled by

 σσ

 σσ

31 32 33 34

It is also possible to express such an epipole geometry in homogeneous coordinates in terms E1 and E2 :

$$
\tilde{E}\_1 = \begin{pmatrix} E\_{1x} & E\_{1y} & 1 \end{pmatrix}^T \text{ and } \tilde{E}\_2 = \begin{pmatrix} E\_{2x} & E\_{2y} & 1 \end{pmatrix}^T \tag{24}
$$

One of the main parameters of an epipolar geometry is the fundamental Matrix Η (which is ℜ∈ ×3 3 ). In reference to the Η matrix, it conveys most of the information about the relative position and orientation ( t,R ) between the two different views. Moreover, the fundamental matrix Η algebraically relates corresponding points in the two images through the Epipolar Constraint. For instant, let the case of two views of the same 3-D point Χ<sup>w</sup> , both characterized by their relative position and orientation ( t,R ) and the internal, hence Η is evaluated in terms of K1 and K2 , representing extrinsic camera parameters, (Gian et al., 2004) :

$$H = K\_2^{-T} \left( \mathbf{t} \right)\_x \mathcal{R} K\_1^{-1} \tag{25}$$

In such a similar case, a 3-D point ( Χ *<sup>w</sup>* ) is projected onto two image planes, to points ( *m*<sup>2</sup> ) and ( *m*<sup>1</sup> ), as to constitute a conjugate pair. Given a point ( *m*<sup>1</sup> ) in left image plane, its conjugate point in the right image is constrained to lie on the epipolar line of ( *m*<sup>1</sup> ). The line is considered as the projection through *C*2 of optical ray of *m*<sup>1</sup> . All epipolar lines in one image plane pass through an epipole point.

This is a projection of conjugate optical centre: *c E P* <sup>1</sup> 1 2 1 <sup>=</sup> . Parametric equation of epipolar

line of *m* 1 gives *<sup>T</sup> m m E P P* <sup>1</sup> 2 1 <sup>2</sup> λ2 1<sup>−</sup> = + . In image coordinates this can be expressed as:

$$\mathcal{L}\left(\mu\right) = \left(m\_2\right)\_1 = \left(\frac{\left(\tilde{\mathcal{e}}\_2\right)\_1 + \mathcal{\mathcal{A}}\left(\tilde{v}\right)\_1}{\left(\tilde{\mathcal{e}}\_2\right)\_3 + \mathcal{\mathcal{A}}\left(\tilde{v}\right)\_3}\right) \tag{26}$$

$$\mathcal{A}\begin{pmatrix}\upsilon\end{pmatrix} = \begin{pmatrix}m\_2\end{pmatrix}\_2 = \begin{pmatrix}\left(\tilde{\mathcal{e}}\_2\right)\_2 + \mathcal{A}\{\tilde{\upsilon}\}\_2\\\left(\tilde{\mathcal{e}}\_2\right)\_3 + \mathcal{A}\{\tilde{\upsilon}\}\_3\end{pmatrix}\tag{27}$$

here *v P P m* <sup>1</sup> 2 2 <sup>1</sup> <sup>−</sup> = is a projection operator extracting the (*i*th ) component from a vector. When (*C*<sup>1</sup> ) is in the focal plane of right camera, the right epipole is an infinity, and the epipolar lines form a bundle of parallel lines in the right image. Direction of each epipolar line is evaluated by derivative of parametric equations listed above with respect to ( λ) :

$$
\left(\frac{d\boldsymbol{u}}{d\boldsymbol{\lambda}}\right) = \left(\frac{\left[\boldsymbol{\tilde{v}}\right]\_1 \left[\boldsymbol{\tilde{e}}\_2\right]\_3 - \left[\boldsymbol{\tilde{v}}\right]\_3 \left[\boldsymbol{\tilde{e}}\_2\right]\_1}{\left(\left[\boldsymbol{\tilde{e}}\_2\right]\_3 + \boldsymbol{\mathcal{A}}\left[\boldsymbol{\tilde{v}}\right]\_3\right)^2}\right) \tag{28}
$$

$$
\left(\frac{dv}{d\mathcal{A}}\right) = \left(\frac{\left[\tilde{v}\right]\_2 \left[\tilde{e}\_2\right]\_3 - \left[\tilde{v}\right]\_3 \left[\tilde{e}\_2\right]\_2}{\left(\left[\tilde{e}\_2\right]\_3 + \mathcal{A}\left[\tilde{v}\right]\_3\right)^2}\right) \tag{29}
$$

Robotics Arm Visual Servo:

relationship :

In Equ (32), ( ) *<sup>f</sup> <sup>c</sup>*

square and non-singular, then:

(Croke, 1994), as follows:

θ*t*

by:

from which a control law can be expressed by :

between the end-effecter and camera, ( ) *<sup>c</sup>*

converted to robot end-effector rates. A Jacobian , *<sup>f</sup> <sup>c</sup>*

Estimation of Arm-Space Kinematics Relations with Epipolar Geometry 441

over features of an object, at a desired distance. Elements of the task are thus specified in image space. For a robotics system with an end-effector mounted camera, viewpoint and

usually nonlinear and cross-coupled. A motion of end-effectors DOF results in complex motion of many features. For instant, a camera rotation can cause features to translate horizontally and vertically on the same image plane, as related via the following

> ( ) *<sup>c</sup> t*

 ξ

( ) *<sup>f</sup> c c*

*<sup>c</sup> <sup>t</sup> <sup>c</sup> <sup>t</sup>*

of change in feature space. Variously, this Jacobian is referred to as the feature Jacobian, image Jacobian, feature sensitivity matrix, or interaction matrix. Assume that the Jacobian is

> ( ) *c c <sup>f</sup> t t <sup>c</sup> x x <sup>J</sup> <sup>f</sup>* <sup>−</sup><sup>1</sup>

( ) ( ) ( ) ( ) *<sup>c</sup> <sup>f</sup> <sup>t</sup> <sup>c</sup> <sup>t</sup> <sup>d</sup> <sup>x</sup> <sup>K</sup> <sup>J</sup> <sup>c</sup> <sup>x</sup> f ft* <sup>−</sup><sup>1</sup>

will tend to move the robotics arm towards desired feature vector. In Equ (34), *<sup>f</sup> K* is a diagonal gain matrix, and (t) indicates a time varying quantity. Object posture rates *<sup>c</sup>*

technique to determine a transformation between a robot's end-effector and the camera frame is given by Lenz and Tsai, as in (Lenz & Tsai. 1988). In a similar approach, an endeffector rates may be converted to manipulator joint rates using the manipulator's Jacobian

> ( ) *<sup>t</sup> <sup>t</sup> <sup>t</sup> <sup>c</sup> J x* 6 1 <sup>6</sup>

represents the robot joint space rate. A complete closed loop equation can then be given

*<sup>t</sup> K J JJc d <sup>t</sup> x f f t* 61 6 1

 θ

 θ θ

θ

 θ θ

For achieving this task, an analytical expression of the error function is given by :

( ) ( ) ( ) *t t <sup>f</sup> <sup>c</sup>*

θ

 δ

*x* ∂φ

*<sup>c</sup> <sup>t</sup> J x* is the Jacobian matrix, relating rate of change in robot arm pose to rate

φ

( ) *<sup>f</sup> <sup>c</sup>*

*J x*

Equ (30) is to be linearized. This is to be achieved around an operating point:

δφ

<sup>t</sup> ξ ). Such function is

*xt* is

= *f* (30)

= *J <sup>c</sup> x x t t* (31)

= (33)

*<sup>c</sup> <sup>t</sup> J* ( ) *x* as derived from relative pose

*xt* is used for that purpose. In this respect, a

<sup>−</sup> = (35)

− − = − (36)

= − (34)

<sup>=</sup> <sup>∂</sup> (32)

features are functions of relative pose of the camera to the target, ( <sup>c</sup>

Fig 4. Camera image frame (Epipolar Geometry)

The epipole is projected to infinity once ( ) *<sup>E</sup>*<sup>2</sup> <sup>3</sup> <sup>=</sup> <sup>0</sup> . In such a case, direction of the epipolar lines in right image doesn't depend on any more. All epipolar lines becomes parallel to vector ( )*<sup>T</sup> E E* 2 2 1 2 . A very special occurrence is once both epipoles are at infinity. This happens once a line containing (*C*<sup>1</sup> ) and (*C*<sup>2</sup> ), the baseline, is contained in both focal planes, or the retinal planes are parallel and horizontal in each image as in Fig. (4). The right pictures plot the epipolar lines corresponding to the point marked in the left pictures. This procedure is called rectification. If cameras share the same focal plane the common retinal plane is constrained to be parallel to the baseline and epipolar lines are parallel.

## **4. Neural net based Image - Based Visual Servo control (ANN-IBVS)**

Over the last section we have focused more in single and double camera scenes, i.e. representing the robot arm visual sensory input. In this section, we shall focus on "Image-Based Visual Servo" (IBVS) which uses locations of object features on image planes (epipolar) for direct visual feedback. For instant, while reconsidering Fig. (1), it is desired to move a robotics arm in such away that camera's view changes from ( an initial) to (final) view, and feature vector from ( φ0 ) to ( φ<sup>d</sup> ). Here ( φ<sup>0</sup> ) may comprise coordinates of vertices, or areas of the object to be tracked. Implicit in ( φ<sup>d</sup> ) is the robot is normal to, and centered 440 Robotic Systems – Applications, Control and Programming

The epipole is projected to infinity once ( ) *<sup>E</sup>*<sup>2</sup> <sup>3</sup> <sup>=</sup> <sup>0</sup> . In such a case, direction of the epipolar lines in right image doesn't depend on any more. All epipolar lines becomes parallel to

happens once a line containing (*C*<sup>1</sup> ) and (*C*<sup>2</sup> ), the baseline, is contained in both focal planes, or the retinal planes are parallel and horizontal in each image as in Fig. (4). The right pictures plot the epipolar lines corresponding to the point marked in the left pictures. This procedure is called rectification. If cameras share the same focal plane the common retinal

Over the last section we have focused more in single and double camera scenes, i.e. representing the robot arm visual sensory input. In this section, we shall focus on "Image-Based Visual Servo" (IBVS) which uses locations of object features on image planes (epipolar) for direct visual feedback. For instant, while reconsidering Fig. (1), it is desired to move a robotics arm in such away that camera's view changes from ( an initial) to (final) view, and feature vector from ( φ0 ) to ( φ<sup>d</sup> ). Here ( φ<sup>0</sup> ) may comprise coordinates of vertices, or areas of the object to be tracked. Implicit in ( φ<sup>d</sup> ) is the robot is normal to, and centered

plane is constrained to be parallel to the baseline and epipolar lines are parallel.

**4. Neural net based Image - Based Visual Servo control (ANN-IBVS)** 

. A very special occurrence is once both epipoles are at infinity. This

Fig 4. Camera image frame (Epipolar Geometry)

vector ( )*<sup>T</sup> E E* 2 2 1 2 

over features of an object, at a desired distance. Elements of the task are thus specified in image space. For a robotics system with an end-effector mounted camera, viewpoint and features are functions of relative pose of the camera to the target, ( <sup>c</sup> <sup>t</sup> ξ ). Such function is usually nonlinear and cross-coupled. A motion of end-effectors DOF results in complex motion of many features. For instant, a camera rotation can cause features to translate horizontally and vertically on the same image plane, as related via the following relationship :

$$
\phi = f\left(\,^c\xi\_t\right) \tag{30}
$$

Equ (30) is to be linearized. This is to be achieved around an operating point:

$$\delta\phi = \,^l f\_{\,\varepsilon} \left( ^\varepsilon \mathbf{x}\_l \right) \delta \,^\varepsilon \mathbf{x}\_l \tag{31}$$

$$\mathbf{J}^{\prime} J\_{c} \left( \,^{c} \mathbf{x}\_{t} \right) = \left( \frac{\partial \phi}{\partial \,^{c} \mathbf{x}\_{t}} \right) \tag{32}$$

In Equ (32), ( ) *<sup>f</sup> <sup>c</sup> <sup>c</sup> <sup>t</sup> J x* is the Jacobian matrix, relating rate of change in robot arm pose to rate of change in feature space. Variously, this Jacobian is referred to as the feature Jacobian, image Jacobian, feature sensitivity matrix, or interaction matrix. Assume that the Jacobian is square and non-singular, then:

$$\mathbf{x}^c \dot{\mathbf{x}}\_t = \prescript{f}{}{J}\_c \left( \prescript{c}{}{\mathbf{x}}\_t \right)^{-1} \dot{f} \tag{33}$$

from which a control law can be expressed by :

$$\mathbf{x}^c \dot{\mathbf{x}}\_l = \left(\mathbf{K}\right)^f J\_c \left(\mathbf{c}\_{\mathcal{X}\_l}\right)^{-1} \left(f\_d - f\left(t\right)\right) \tag{34}$$

will tend to move the robotics arm towards desired feature vector. In Equ (34), *<sup>f</sup> K* is a diagonal gain matrix, and (t) indicates a time varying quantity. Object posture rates *<sup>c</sup> xt* is converted to robot end-effector rates. A Jacobian , *<sup>f</sup> <sup>c</sup> <sup>c</sup> <sup>t</sup> J* ( ) *x* as derived from relative pose between the end-effecter and camera, ( ) *<sup>c</sup> xt* is used for that purpose. In this respect, a technique to determine a transformation between a robot's end-effector and the camera frame is given by Lenz and Tsai, as in (Lenz & Tsai. 1988). In a similar approach, an endeffector rates may be converted to manipulator joint rates using the manipulator's Jacobian (Croke, 1994), as follows:

$$\dot{\theta}\_t = \,^{t\theta}I\_\theta^{-1} \left(\theta\right) \,^{t\theta}\dot{\chi}\_t \tag{35}$$

θ*t* represents the robot joint space rate. A complete closed loop equation can then be given by:

$$\dot{\theta}\_t = \mathbf{K}^{\prime t6} f\_\theta^{-1} \left(\boldsymbol{\theta}\right)^{\prime t6} l\_\theta^{\prime} l\_c^{-1} \propto\_t \left(f\_d - f\left(t\right)\right) \tag{36}$$

For achieving this task, an analytical expression of the error function is given by :

Robotics Arm Visual Servo:

where *wji*

*ji*

Fig. 5. Employed four layers artificial neural system

combination of the output of the hidden units, as in Equ. (42):

Equ. (39) can be rewritten to the form of:

*nonlinear activation function g*( ) *x* :

Estimation of Arm-Space Kinematics Relations with Epipolar Geometry 443

inputs, (*m*) hidden units, and (*n*) output units. The output of the *jth* hidden unit is obtained by first forming a weighted linear combination of the (*i*) input values, then adding a bias:

= + (39)

<sup>=</sup> (40)

(1)

<sup>0</sup> is a bias for

*l i j <sup>j</sup> i a wx w* 1 1 <sup>0</sup> =1

(1) is a weight from input (*i*) to hidden unit (*j*) in the first layer. *wj*

hidden unit *j*. If we are considering a bias term as being weights from an extra input *x*<sup>0</sup> = 1 ,

*l <sup>j</sup> <sup>i</sup> ji i a wx*<sup>1</sup> =0

The activation of hidden unit *j* then can be obtained by transforming the linear sum using a

*hj j* = *g* ( ) *a* (41)

Outputs of the neural net is obtained by transforming the activation of the hidden units using a second layer of processing units. For each output unit k, first we get the linear

$$\boldsymbol{\phi} = \mathbf{Z}^+ \boldsymbol{\phi}\_1 + \boldsymbol{\chi} \left(\mathbf{I}\_6 - \mathbf{Z}^+ \mathbf{Z}\right) \frac{\partial \boldsymbol{\phi}\_2}{\partial \mathbf{X}} \tag{37}$$

Here, <sup>+</sup> γ ∈ℜ and <sup>+</sup> Ζ is pseudo inverse of the matrix Ζ , mn T T <sup>1</sup> ( ) (J ) <sup>×</sup> Ζ∈ℜ =ℜ Ζ =ℜ and J is the Jacobian matrix of task function as J ∂φ <sup>=</sup> ∂Χ . Due to modeling errors, such a closed-loop system is relatively robust in a possible presence of image distortions and kinematics parameter variations of the Puma 560 kinematics. A number of researchers also have demonstrated good results in using this image-based approach for visual servoing. It is always reported that, the significant problem is computing or estimating the feature Jacobian, where a variety of approaches have been used (Croke, 1994). The proposed IBVS structure of Weiss (Weiss et. al., 1987 and Craig, 2004), controls robot joint angles directly using measured image features. Non-linearities include manipulator kinematics and dynamics as well as the perspective imaging model. Adaptive control was also proposed, since f 1c J( ) <sup>−</sup> <sup>θ</sup> θ , is pose dependent, (Craig, 2004). In this study, changing relationship between robot posture and image feature change is learned during a motion via a learning neural system. The learning neural system accepts a weighted set of inputs (stimulus) and responds.

### **4.1 Visual mapping: Nonlinear function approximation ANN mapping**

A layered feed-forward network consists of a certain number of layers, and each layer contains a certain number of units. There is an input layer, an output layer, and one or more hidden layers between the input and the output layer. Each unit receives its inputs directly from the previous layer (except for input units) and sends its output directly to units in the next layer. Unlike the Recurrent network, which contains feedback information, there are no connections from any of the units to the inputs of the previous layers nor to other units in the same layer, nor to units more than one layer ahead. Every unit only acts as an input to the immediate next layer. Obviously, this class of networks is easier to analyze theoretically than other general topologies because their outputs can be represented with explicit functions of the inputs and the weights.

In this research we focused on the use of Back-Propagation Algorithm as a learning method, where all associated mathematical used formulae are in reference to Fig. (5). The figure depicts a multi-layer artificial neural net (a four layer) being connected to form the entire network which learns using the Back-propagation learning algorithm. To train the network and measure how well it performs, an objective function must be defined to provide an unambiguous numerical rating of system performance. Selection of the objective function is very important because the function represents the design goals and decides what training algorithm can be taken. For this research frame work, a few basic cost functions have been investigated, where the sum of squares error function was used as defined by Equ. (38):

$$E = \frac{1}{NP} \sum\_{p=1}^{P} \sum\_{i=1}^{N} \left( t\_{\mathbb{P}^l} - y\_{\mathbb{P}^l} \right)^2 \tag{38}$$

where p indexes the patterns in the training set, *i* indexes the output nodes, and *tpi* and *ypi*  are, respectively, the target hand joint space position and actual network output for the *ith* output unit on the *pth* pattern. An illustration of the layered network with an input layer, two hidden layers, and an output layer is shown in Fig. (5). In this network there are *i*

442 Robotic Systems – Applications, Control and Programming

system is relatively robust in a possible presence of image distortions and kinematics parameter variations of the Puma 560 kinematics. A number of researchers also have demonstrated good results in using this image-based approach for visual servoing. It is always reported that, the significant problem is computing or estimating the feature Jacobian, where a variety of approaches have been used (Croke, 1994). The proposed IBVS structure of Weiss (Weiss et. al., 1987 and Craig, 2004), controls robot joint angles directly using measured image features. Non-linearities include manipulator kinematics and dynamics as well as the perspective imaging model. Adaptive control was also proposed,

1 6

 φγ+ + <sup>∂</sup> =Ζ + Ι −Ζ Ζ

Here, <sup>+</sup> γ ∈ℜ and <sup>+</sup> Ζ is pseudo inverse of the matrix Ζ , mn T T

φ

the Jacobian matrix of task function as J ∂φ <sup>=</sup>

functions of the inputs and the weights.

since f 1c J( ) −

responds.

( ) <sup>2</sup>

<sup>θ</sup> θ , is pose dependent, (Craig, 2004). In this study, changing relationship between

robot posture and image feature change is learned during a motion via a learning neural system. The learning neural system accepts a weighted set of inputs (stimulus) and

A layered feed-forward network consists of a certain number of layers, and each layer contains a certain number of units. There is an input layer, an output layer, and one or more hidden layers between the input and the output layer. Each unit receives its inputs directly from the previous layer (except for input units) and sends its output directly to units in the next layer. Unlike the Recurrent network, which contains feedback information, there are no connections from any of the units to the inputs of the previous layers nor to other units in the same layer, nor to units more than one layer ahead. Every unit only acts as an input to the immediate next layer. Obviously, this class of networks is easier to analyze theoretically than other general topologies because their outputs can be represented with explicit

In this research we focused on the use of Back-Propagation Algorithm as a learning method, where all associated mathematical used formulae are in reference to Fig. (5). The figure depicts a multi-layer artificial neural net (a four layer) being connected to form the entire network which learns using the Back-propagation learning algorithm. To train the network and measure how well it performs, an objective function must be defined to provide an unambiguous numerical rating of system performance. Selection of the objective function is very important because the function represents the design goals and decides what training algorithm can be taken. For this research frame work, a few basic cost functions have been investigated, where the sum of squares error function was used as defined by Equ. (38):

> ( ) *P N pi pi*

2

= − (38)

*p i E ty NP*

1

1 1

where p indexes the patterns in the training set, *i* indexes the output nodes, and *tpi* and *ypi*  are, respectively, the target hand joint space position and actual network output for the *ith* output unit on the *pth* pattern. An illustration of the layered network with an input layer, two hidden layers, and an output layer is shown in Fig. (5). In this network there are *i*

= =

**4.1 Visual mapping: Nonlinear function approximation ANN mapping** 

φ

∂Χ (37)

∂Χ . Due to modeling errors, such a closed-loop

<sup>1</sup> ( ) (J ) <sup>×</sup> Ζ∈ℜ =ℜ Ζ =ℜ and J is

inputs, (*m*) hidden units, and (*n*) output units. The output of the *jth* hidden unit is obtained by first forming a weighted linear combination of the (*i*) input values, then adding a bias:

$$a\_{\rangle} = \left(\sum\_{i=1}^{l} w^{1}\_{\;\;i} \chi\_{i} + w^{1}\_{\;\;i} a\_{\;\;i} \right) \tag{39}$$

where *wji* (1) is a weight from input (*i*) to hidden unit (*j*) in the first layer. *wj* (1) <sup>0</sup> is a bias for hidden unit *j*. If we are considering a bias term as being weights from an extra input *x*<sup>0</sup> = 1 , Equ. (39) can be rewritten to the form of:

$$\mathbf{a}\_{l} = \left(\sum\_{i=0}^{l} \mathbf{w}\_{jl}^{1} \mathbf{x}\_{l}\right) \tag{40}$$

The activation of hidden unit *j* then can be obtained by transforming the linear sum using a *nonlinear activation function g*( ) *x* :

$$h\_{\rangle} = g\begin{pmatrix} a\_{\rangle} \end{pmatrix} \tag{41}$$

Fig. 5. Employed four layers artificial neural system

Outputs of the neural net is obtained by transforming the activation of the hidden units using a second layer of processing units. For each output unit k, first we get the linear combination of the output of the hidden units, as in Equ. (42):

Robotics Arm Visual Servo:

network.

Estimation of Arm-Space Kinematics Relations with Epipolar Geometry 445

The network of Fig. (5) is a synthesized ANN network with two hidden layers, which can be extended to have extra hidden layers easily, as long as we make the above transformation further. Input units do transform neural network signals to the next processing nodes. They are hypothetical units that produce outputs equal to their supposed inputs, hence no processing is done by these input units. Through this approach, the error of the network is propagated backward recursively through the entire network and all of the weights are adjusted so as to minimize the overall network error. The block diagram of the used learning neural network is illustrated in Fig. (6). The network learns the relationship between the previous changes in the joint angles ΔΘ*k*−<sup>1</sup> , changes in the object posture *<sup>c</sup>* Δ*ua* , and changes joint angles ΔΘ*<sup>k</sup>* . This is done by executing some random displacements from the desired object position and orientation. The hand fingers is set up in the desired position and orientation to the object. Different Cartesian based trajectories are then defined and the inverse Jacobian were used to compute the associated joints displacement Θ*<sup>h</sup>* ( ) *k* . Different object postures with joint positions and differential changes in joint positions are the inputoutput patterns for training the employed neural network. During the learning epoch, weights of connections of neurons and biases are updated and changed, in such away that errors decrease to a value close to zero, which resulted in the learning curve that minimizes the defined objective function shown as will be further discussed later. It should be mentioned at this stage that the training process has indeed consumed nearly up to three hours, this is due to the large mount of training patterns to be presented to the neural

**4.2 Artificial neural networks mapping: A biological inspiration** 

resemble actual biological neuron, as they are made of:

• *Dendrites*: Receive synaptic contacts from other neurons • *Cell body /soma*: Metabolic centre of the neuron: processing

(known as the input)

Animals are able to respond adaptively to changes in their external and internal environment and surroundings, and they use their nervous system to perform these behaviours. An appropriate model/simulation of a nervous system should be able to produce similar responses and behaviours in artificial systems. A nervous system is built by relatively simple; units, the neurons, so copying their behaviour and functionality should be the solution, (Pellionisz, 1989). In reality, human brain is a part of the central nervous system, it contains of the order of (10+10) neurons. Each can activate in approximately 5ms and connects to the order of (10+4) other neurons giving (10+14) connections, (Shields & Casey, 2008). In reality, a typical neural net (with neurons) is shown in Fig. (5), it does

• *Synapses*: Gap between adjacent neurons across which chemical signals are transmitted:

By emulation, ANN information transmission happens at the synapses, as shown in Fig. (5). Spikes travelling along the axon of the pre-synaptic neuron trigger the release of neurotransmitter substances at the synapse. The neurotransmitters cause excitation or inhibition in the dendrite of the post-synaptic neuron. The integration of the excitatory and inhibitory signals may produce spikes in the post-synaptic neuron. The contribution of the signals depends on the strength of the synaptic connection (Pellionisz, 1989). An Artificial Neural Network (ANN) is an information processing paradigm that is inspired by the way

• *Axon*: Long narrow process that extends from body: (known as the output)

$$a\_k = \left(\sum\_{j=1}^{m} w\_{\phantom{i}k}^2 h\_j + w\_{\phantom{i}0}^2\right) \tag{42}$$

absorbing the bias and expressing the above equation to:

$$a\_k = \left(\sum\_{j=0}^m w\_{kj}^2 h\_j\right) \tag{43}$$

Applying the activation function *g x* <sup>2</sup> ( ) to Equ. (43), we can therefore get the *kth* output :

$$\mathbf{g}\_k = \mathbf{g}\_2(a\_k) \tag{44}$$

<sup>=</sup> (45)

Combining Equ. (40), Equ. (41), Equ. (43) and Equ. (44), we get a complete representation of the network as:

> *m l k kj i j i y g wg wx*<sup>2</sup> <sup>2</sup>

= = 0 0

2

*ij*

Fig. 6. Features based data gathering: Training patterns generations

444 Robotic Systems – Applications, Control and Programming

 = + 

0

*ij*

(42)

(43)

*yk k* = *g a* <sup>2</sup> ( ) (44)

<sup>=</sup> (45)

*m*

=1

*k j a wh*<sup>2</sup> =0

2

Fig. 6. Features based data gathering: Training patterns generations

*m*

Applying the activation function *g x* <sup>2</sup> ( ) to Equ. (43), we can therefore get the *kth* output :

Combining Equ. (40), Equ. (41), Equ. (43) and Equ. (44), we get a complete representation of

*m l k kj i j i y g wg wx*<sup>2</sup> <sup>2</sup>

= = 0 0

 = 

*k j a wh w* 2 2

*kj j k*

absorbing the bias and expressing the above equation to:

*kj j*

the network as:

The network of Fig. (5) is a synthesized ANN network with two hidden layers, which can be extended to have extra hidden layers easily, as long as we make the above transformation further. Input units do transform neural network signals to the next processing nodes. They are hypothetical units that produce outputs equal to their supposed inputs, hence no processing is done by these input units. Through this approach, the error of the network is propagated backward recursively through the entire network and all of the weights are adjusted so as to minimize the overall network error. The block diagram of the used learning neural network is illustrated in Fig. (6). The network learns the relationship between the previous changes in the joint angles ΔΘ*k*−<sup>1</sup> , changes in the object posture *<sup>c</sup>* Δ*ua* , and changes joint angles ΔΘ*<sup>k</sup>* . This is done by executing some random displacements from the desired object position and orientation. The hand fingers is set up in the desired position and orientation to the object. Different Cartesian based trajectories are then defined and the inverse Jacobian were used to compute the associated joints displacement Θ*<sup>h</sup>* ( ) *k* . Different object postures with joint positions and differential changes in joint positions are the inputoutput patterns for training the employed neural network. During the learning epoch, weights of connections of neurons and biases are updated and changed, in such away that errors decrease to a value close to zero, which resulted in the learning curve that minimizes the defined objective function shown as will be further discussed later. It should be mentioned at this stage that the training process has indeed consumed nearly up to three hours, this is due to the large mount of training patterns to be presented to the neural network.

### **4.2 Artificial neural networks mapping: A biological inspiration**

Animals are able to respond adaptively to changes in their external and internal environment and surroundings, and they use their nervous system to perform these behaviours. An appropriate model/simulation of a nervous system should be able to produce similar responses and behaviours in artificial systems. A nervous system is built by relatively simple; units, the neurons, so copying their behaviour and functionality should be the solution, (Pellionisz, 1989). In reality, human brain is a part of the central nervous system, it contains of the order of (10+10) neurons. Each can activate in approximately 5ms and connects to the order of (10+4) other neurons giving (10+14) connections, (Shields & Casey, 2008). In reality, a typical neural net (with neurons) is shown in Fig. (5), it does resemble actual biological neuron, as they are made of:


By emulation, ANN information transmission happens at the synapses, as shown in Fig. (5). Spikes travelling along the axon of the pre-synaptic neuron trigger the release of neurotransmitter substances at the synapse. The neurotransmitters cause excitation or inhibition in the dendrite of the post-synaptic neuron. The integration of the excitatory and inhibitory signals may produce spikes in the post-synaptic neuron. The contribution of the signals depends on the strength of the synaptic connection (Pellionisz, 1989). An Artificial Neural Network (ANN) is an information processing paradigm that is inspired by the way

Robotics Arm Visual Servo:

**PUMA robotics arm** 

points:

has already been discussed and presented in Fig. (5).

**5.1 Training phase: visual training patterns generation** 

*U*

ξ

ψ ψ

=

ζ

ξ

ψ ψ

=

ζ

*U*

Estimation of Arm-Space Kinematics Relations with Epipolar Geometry 447

Visual servoing using a "pin-hole" camera for a 6-DOF robotics arm is simulated here. The system under study is a (PUMA) and integrated with a camera and ANN. Simulation block is shown Fig. (7). Over simulation, the task has been performed using 6-DOF-PUMA manipulator with 6 revolute joints and a camera that can provide position information of the robot gripper tip and a target (object) in robot workplace. The robot dynamics and direct kinematics are expressed by a set of equations of PUMA-560 robotics system, as documented by Craig, (Craig, 2004). Kinematics and dynamics equations are already well known in the literature, therefore. For a purpose of comparison, the used example is based on visual servoing system developed by RIVES, as in (Eleonora, 2004). The robotics arm system are has been servoing to follow an object that is moving in a 3-D working space. Object has been characterized by some like (8-features) marks, this has resulted in 24, 8 3<sup>×</sup> ℜ∈ size, feature Jacobian matrix. This is visually shown in Fig. (7). An object 8-features will be mapped to the movement of the object in the camera image plane through defined geometries. Changes in features points, and the differentional changes in robot arm, constitute the data that will be used for training the ANN. The employed ANN architecture

The foremost ambition of this visual servoing is to drive a 6-DOF robot arm, as simulated with Robot Toolbox (Corke , 2002), and equipped with a pin-hole camera, as simulated with Epipolar Geometry Toolbox, EGT (Gian et al., 2004), from a starting configuration toward a desired one using only image data provided during the robot motion. For the purpose of setting up the proposed method, RIVES algorithm has been run a number of time before hand. In each case, the arm was servoing with different object posture and a desired location in the working space. The EGT function to estimate the fundamental matrix Η , given U1 and U2, for both scenes in which U1 and U2 are defined in terms of eight ( ξ , ψ , ζ ) feature

> 12 8 11 1 12 8 1 11 1 12 8 11 1

 

 ξ

ξ

 ζ

(47)

 ξ

ξ

 ζ

12 8 22 2 12 8 2 22 2 12 8 22 2

 

and

ξ

ζ

Large training patterns have been gathered and classified, therefore. Gathered patterns at various loop locations gave an inspiration to a feasible size of learning neural system. Four layers artificial neural system has been found a feasible architecture for that purpose. The

ζ

ξ

**5. Simulation case study: Visual servoing with pin-hole camera for 6-DOF** 

biological nervous systems, such as the brain, process information. The key element of this paradigm is the novel structure of the information processing system. It is composed of a large number of highly interconnected processing elements (neurons) working in unison to solve specific problems. ANN system, like people, learn by example.

An ANN is configured for a specific application, such as pattern recognition or data classification, through a learning process. Learning in biological systems involves adjustments to the synaptic connections that exist between the neurons. This is true of ANN system as well (Aleksander & Morton, 1995). The four-layer feed-forward neural network with (*n*) input units, (*m*) output units and N units in the hidden layer, already shown in the Fig. (5), and as will be further discussed later. In reality, Fig. (5). exposes only one possible neural network architecture that will serve the purpose. In reference to the Fig. (5), every node is designed in such away to mimic its biological counterpart, the neuron. Interconnection of different neurons forms an entire grid of the used ANN that have the ability to learn and approximate the nonlinear visual kinematics relations. The used learning neural system composes of four layers. The {input}, {output} layers, and two {hidden layers}. If we denote ( *<sup>w</sup>* ν *<sup>c</sup>* ) and ( *<sup>w</sup>* ω*<sup>c</sup>* ) as the camera's linear and angular velocities with respect to the robot frame respectively, motion of the image feature point as a function of the camera velocity is obtained through the following matrix relation:

$$
\dot{\mathcal{V}} = -\begin{pmatrix} \alpha \mathbf{\dot{\lambda}} \\ \frac{c}{p\_c} \end{pmatrix} \begin{pmatrix} 0 & 0 & \frac{c}{c} \boldsymbol{p\_x} & \frac{c}{c} \boldsymbol{p\_x}^c \boldsymbol{c\_x} & -\frac{c}{c} \boldsymbol{p\_x}^c \boldsymbol{c\_x} & c \boldsymbol{p\_x} \\ & \ddots & \ddots & \vdots \\ 1 & -1 & \frac{c}{c} \boldsymbol{p\_y} & \frac{c}{c} \boldsymbol{p\_y}^c \boldsymbol{c\_y} & -\frac{c}{c} \boldsymbol{p\_x}^c \boldsymbol{c\_x} & -\boldsymbol{p\_x} \end{pmatrix} \begin{pmatrix} \boldsymbol{c} \ R\_w & \mathbf{0} \\ & \mathbf{0} & \mathbf{c} \end{pmatrix} \begin{pmatrix} \boldsymbol{u} \boldsymbol{v\_c} \\ \boldsymbol{u} \boldsymbol{p\_c} \end{pmatrix} \tag{46}
$$

Instead of using coordinates ( *<sup>x</sup> Pc* ) and *( <sup>y</sup> Pc* ) for the object feature described in camera coordinate frame, which are a priori unknown, it is usual to replace them by coordinates (*u*) and (*v*) of the projection of such a feature point onto the image frame, as shown in Fig. (7).

Fig. 7. Neural net based visual servo system

446 Robotic Systems – Applications, Control and Programming

biological nervous systems, such as the brain, process information. The key element of this paradigm is the novel structure of the information processing system. It is composed of a large number of highly interconnected processing elements (neurons) working in unison to

An ANN is configured for a specific application, such as pattern recognition or data classification, through a learning process. Learning in biological systems involves adjustments to the synaptic connections that exist between the neurons. This is true of ANN system as well (Aleksander & Morton, 1995). The four-layer feed-forward neural network with (*n*) input units, (*m*) output units and N units in the hidden layer, already shown in the Fig. (5), and as will be further discussed later. In reality, Fig. (5). exposes only one possible neural network architecture that will serve the purpose. In reference to the Fig. (5), every node is designed in such away to mimic its biological counterpart, the neuron. Interconnection of different neurons forms an entire grid of the used ANN that have the ability to learn and approximate the nonlinear visual kinematics relations. The used learning neural system composes of four layers. The {input}, {output} layers, and two {hidden layers}.

robot frame respectively, motion of the image feature point as a function of the camera

*p pp pp <sup>p</sup> pp p R*

<sup>−</sup> = −

*<sup>p</sup> p R pp pp <sup>p</sup> pp p*

coordinate frame, which are a priori unknown, it is usual to replace them by coordinates (*u*) and (*v*) of the projection of such a feature point onto the image frame, as shown in Fig. (7).

*<sup>c</sup> c c cc cc <sup>w</sup> <sup>c</sup> <sup>y</sup> xx xx <sup>c</sup> w c cc c x zz z*

− −−

*c cc cc x xx xx c*

*Pc* ) and *( <sup>y</sup>*

*<sup>c</sup>* ) as the camera's linear and angular velocities with respect to the

0

ν

ω

0

*Pc* ) for the object feature described in camera

*cc c <sup>x</sup> c w zz z w c*

(46)

solve specific problems. ANN system, like people, learn by example.

If we denote ( *<sup>w</sup>*

ν*<sup>c</sup>* ) and ( *<sup>w</sup>*

γ

Instead of using coordinates ( *<sup>x</sup>*

ω

0 0

αλ

Fig. 7. Neural net based visual servo system

1 1

velocity is obtained through the following matrix relation:

## **5. Simulation case study: Visual servoing with pin-hole camera for 6-DOF PUMA robotics arm**

Visual servoing using a "pin-hole" camera for a 6-DOF robotics arm is simulated here. The system under study is a (PUMA) and integrated with a camera and ANN. Simulation block is shown Fig. (7). Over simulation, the task has been performed using 6-DOF-PUMA manipulator with 6 revolute joints and a camera that can provide position information of the robot gripper tip and a target (object) in robot workplace. The robot dynamics and direct kinematics are expressed by a set of equations of PUMA-560 robotics system, as documented by Craig, (Craig, 2004). Kinematics and dynamics equations are already well known in the literature, therefore. For a purpose of comparison, the used example is based on visual servoing system developed by RIVES, as in (Eleonora, 2004). The robotics arm system are has been servoing to follow an object that is moving in a 3-D working space. Object has been characterized by some like (8-features) marks, this has resulted in 24, 8 3<sup>×</sup> ℜ∈ size, feature Jacobian matrix. This is visually shown in Fig. (7). An object 8-features will be mapped to the movement of the object in the camera image plane through defined geometries. Changes in features points, and the differentional changes in robot arm, constitute the data that will be used for training the ANN. The employed ANN architecture has already been discussed and presented in Fig. (5).

### **5.1 Training phase: visual training patterns generation**

The foremost ambition of this visual servoing is to drive a 6-DOF robot arm, as simulated with Robot Toolbox (Corke , 2002), and equipped with a pin-hole camera, as simulated with Epipolar Geometry Toolbox, EGT (Gian et al., 2004), from a starting configuration toward a desired one using only image data provided during the robot motion. For the purpose of setting up the proposed method, RIVES algorithm has been run a number of time before hand. In each case, the arm was servoing with different object posture and a desired location in the working space. The EGT function to estimate the fundamental matrix Η , given U1 and U2, for both scenes in which U1 and U2 are defined in terms of eight ( ξ , ψ , ζ ) feature points:

$$\begin{aligned} \,^1U\_1 &= \begin{pmatrix} \mathcal{E}\_1^1 & \mathcal{E}\_1^2 & \cdots & \mathcal{E}\_1^8 \\ \mathcal{W}\_1^1 & \mathcal{W}\_1^2 & \cdots & \mathcal{E}\_1^8 \\ \mathcal{L}\_1^1 & \mathcal{L}\_1^2 & \cdots & \mathcal{L}\_1^8 \end{pmatrix} \\ &\quad \text{and} \\ \,^1U\_2 &= \begin{pmatrix} \mathcal{E}\_2^1 & \mathcal{E}\_2^2 & \cdots & \mathcal{E}\_2^8 \\ \mathcal{W}\_2^1 & \mathcal{W}\_2^2 & \cdots & \mathcal{E}\_2^8 \\ \mathcal{W}\_2^1 & \mathcal{L}\_2^2 & \cdots & \mathcal{L}\_2^8 \end{pmatrix} \end{aligned} \tag{47}$$

Large training patterns have been gathered and classified, therefore. Gathered patterns at various loop locations gave an inspiration to a feasible size of learning neural system. Four layers artificial neural system has been found a feasible architecture for that purpose. The

Robotics Arm Visual Servo:

**5.3 Object visual features migration** 

arm movement.

postures.

Estimation of Arm-Space Kinematics Relations with Epipolar Geometry 449

approaching towards a desired object posture. ANN was fed with defined patterns during arm movement. Epipolars have been used to evaluate visual features and the update during

Fig. (10) shows the error between the RIVES Algorithm and the proposed ANN based visual servo for the first (60) iterations. Results suggest high accuracy of identical results, indicating that a learned neural system was able to servo the arm to desired posture. Difference in error was recorded within the range of (4×10<sup>−</sup>6) for specific joint angles. Fig. (11) shows migration of the eight visual features as seen over the camera image plan. Just the once the Puma robot arm was moving, concentration of features are located towards an end within camera image plane. In Fig. (12), it is shown the object six dimensional movements. They indicate that they are approaching the zero reference. As an validation of the neural network ability to servo the robotics arm toward a defined object posture, Fig. (13) show that the trained ANN visual servo controller does approach zero level of movement. This is for different training patterns and for different arm postures in the 6 dimenstional space. Finally, Fig. (14) shows the error between RIVES computed joint space values and the proposed ANN controller computed joint space values. Results indicate excellent degree of accuracy while the visual servo controller approaching the target posture with nearly zero level of erroe for different training visual servo target

Fig. 9. Robot arm-camera system: Clear servoing towards a desired object posture

Actual position

z

Desired position Xc

<sup>Z</sup> <sup>X</sup> <sup>c</sup> <sup>c</sup>

Zc

2

8

1

Yc

Puma 560 x y

Yc

net maps 24 (3×8 feature points) inputs characterizing object cartesian feature position and arm joint positions into the (six) differential changes in arm joints positions. The network is presented with some arm motion in various directions. Once the neural system has learned with presented patterns and required mapping, it is ready to be employed in the visual servo controller. Trained neural net was able to map nonlinear relations relating object movement to differentional changes in arm joint space. Object path of motion was defined and simulated via RIVES Algorithm, as given in (Gian et al., 2004), after such large number of running and patterns, it was apparent that the learning neural system was able to capture such nonlinear relations.

## **5.2 The execution phase**

Execution starts primary while employing learned neural system within the robotics dynamic controller (which is mainly dependent on visual feature Jacobian). In reference to Fig. (7), visual servoing dictates the visual features extraction block. That was achieved by the use of the Epipolar Toolbox. For assessing the proposed visual servo algorithm, simulation of full arm dynamics has been achieved using kinematics and dynamic models for the Puma 560 arm. Robot Toolbox has been used for that purpose. In this respect, also Fig. (8) shows an "aerial view" of actual object "initial" posture and the "desired" posture. This is prior to visual servoing to take place. The figure also indicates some scene features. Over simulation, Fig. (9) shows an "aerial view" of the Robot arm-camera servoing, as

Fig. 8. Top view. Actual object position and desired position before the servoing

approaching towards a desired object posture. ANN was fed with defined patterns during arm movement. Epipolars have been used to evaluate visual features and the update during arm movement.

## **5.3 Object visual features migration**

448 Robotic Systems – Applications, Control and Programming

net maps 24 (3×8 feature points) inputs characterizing object cartesian feature position and arm joint positions into the (six) differential changes in arm joints positions. The network is presented with some arm motion in various directions. Once the neural system has learned with presented patterns and required mapping, it is ready to be employed in the visual servo controller. Trained neural net was able to map nonlinear relations relating object movement to differentional changes in arm joint space. Object path of motion was defined and simulated via RIVES Algorithm, as given in (Gian et al., 2004), after such large number of running and patterns, it was apparent that the learning neural system was able to capture

Execution starts primary while employing learned neural system within the robotics dynamic controller (which is mainly dependent on visual feature Jacobian). In reference to Fig. (7), visual servoing dictates the visual features extraction block. That was achieved by the use of the Epipolar Toolbox. For assessing the proposed visual servo algorithm, simulation of full arm dynamics has been achieved using kinematics and dynamic models for the Puma 560 arm. Robot Toolbox has been used for that purpose. In this respect, also Fig. (8) shows an "aerial view" of actual object "initial" posture and the "desired" posture. This is prior to visual servoing to take place. The figure also indicates some scene features. Over simulation, Fig. (9) shows an "aerial view" of the Robot arm-camera servoing, as

Fig. 8. Top view. Actual object position and desired position before the servoing

Desired position

Xc

Yc

Zc

Zc

2

8

1

such nonlinear relations.

**5.2 The execution phase** 

Actual position

Puma 560

Xc

x y z

Yc

Fig. (10) shows the error between the RIVES Algorithm and the proposed ANN based visual servo for the first (60) iterations. Results suggest high accuracy of identical results, indicating that a learned neural system was able to servo the arm to desired posture. Difference in error was recorded within the range of (4×10<sup>−</sup>6) for specific joint angles. Fig. (11) shows migration of the eight visual features as seen over the camera image plan. Just the once the Puma robot arm was moving, concentration of features are located towards an end within camera image plane. In Fig. (12), it is shown the object six dimensional movements. They indicate that they are approaching the zero reference. As an validation of the neural network ability to servo the robotics arm toward a defined object posture, Fig. (13) show that the trained ANN visual servo controller does approach zero level of movement. This is for different training patterns and for different arm postures in the 6 dimenstional space. Finally, Fig. (14) shows the error between RIVES computed joint space values and the proposed ANN controller computed joint space values. Results indicate excellent degree of accuracy while the visual servo controller approaching the target posture with nearly zero level of erroe for different training visual servo target postures.

Fig. 9. Robot arm-camera system: Clear servoing towards a desired object posture

Robotics Arm Visual Servo:

Fig. 12. Puma arm six dimensional movements

servo target postures

Estimation of Arm-Space Kinematics Relations with Epipolar Geometry 451

Fig. 13. ANN visual servo controller approaching zero value for different training visual

Fig. 10. Resulting errors. Use of proposed ANN based visual servo

Fig. 11. Migration of eight visual features (as observed over the camera image plan)

450 Robotic Systems – Applications, Control and Programming

0 10 20 30 40 50 60

Simulation Time in Sec.

Fig. 10. Resulting errors. Use of proposed ANN based visual servo





0

Error Between ANN output and Rives Outputs

1

2

3

4 x 10-6

Fig. 11. Migration of eight visual features (as observed over the camera image plan)

Fig. 12. Puma arm six dimensional movements

Fig. 13. ANN visual servo controller approaching zero value for different training visual servo target postures

Robotics Arm Visual Servo:

*International Edition 2nd Edition*.

*Robotics and Automation*, Italy, 1014

2344, New Orleans, LA, United States

*Edition, Prentice Hall*

*MATLAB, User Guide*, Vo1. 1.

10.1007/s12555-009-0509-9

Singapore, pp. 1-3

Advance Online Publication

*Conference*, September 2004, Japan.

*Control, ISIC 2007*, Singapore, Vol. 1, No. 3, pp. 53 – 58

Philosophy.

75

of Manchester, Institute for Science and Technology

**7. References** 

Estimation of Arm-Space Kinematics Relations with Epipolar Geometry 453

Aleksander, I. & Morton, H. (1995), An Introduction to Neural Computing, *Textbook,* 

Alessandro, D.; Giuseppe, L.; Paolo, O. & Giordano, R. (2007), On-Line Estimation of Feature

Chen, J.; Dawson, M.; Dixon, E. & Aman, B. (2008), Adaptive Visual Servo Regulation

Cisneros P. (2004), Intelligent Model Structures in Visual Servoing, *Ph.D. Thesis*, University

Croke, P. (1994), High-Performance Visual Closed-Loop Robot Control, Thesis

Eleonora, A.; Gian, M. & Domenico, P. (2004), Epipolar Geometry Toolbox, *For Use with* 

Gian, M.; Eleonora, A. & Domenico, P. (2004), The Epipolar Geometry Toolbox (EGT) for MATLAB, *Technical Report*, 07-21-3-DII University of Siena, Siena, Italy Gracia, L. & Perez-Vidal, C. (2009), A New Control Scheme for Visual Servoing, *International* 

Lenz, K. & Tsai, Y. (1988), Calibrating a Cartesian Robot with Eye-on-Hand Configuration

Martinet, P. (2004), Applications In Visual Servoing, *IEEE-RSJ IROS'04 International* 

Miao, H.; Zengqi, S. & Fujii, M. (2007), Image Based Visual Servoing Using Takagi-Sugeno

Miao, H.; Zengqi, S. & Masakazu, F. (2007), Image Based Visual Servoing Using Takagi-

Panwar, V. & Sukavanam, N. (2007), Neural Network Based Controller for Visual Servoing

Pellionisz, A. (1989), About the Geometry Intrinsic to Neural Nets, *International Joint* 

Shields, M. & Casey, C. (2008), A Theoretical Framework for Multiple Neural Network

*Conference on Neural Nets*, Washington, D.C., Vol. 1, pp. 711-715

Systems, *Journal of Neurocomputing*, Vol. 71, No.7-9, pp. 1462-1476

submitted in total fulfillment of the Requirements for the Degree of Doctor of

*Journal of Control, Automation,and Systems*, Vol. 7, No. 5, pp. 764-776, DOI

Independent of Eye-To-Hand Relationship, *Proceedings Computer Vision and Pattern Recognition*, 1988 CVPR apos., Computer Society Conference, Vol.5, No. 9, pp. 67 –

Fuzzy Neural Network Controller, *IEEE 22nd International Symposium on Intelligent* 

Sugeno Fuzzy Neural Network Controller, *22nd IEEE International Symposium on Intelligent Control*, Part of IEEE Multi-conference on Systems and Control

of Robotic Hand Eye System, *Engineering Letters*, Vol. 14, No.1, EL\_14\_1\_26,

Corke, P. (2002), Robotics Toolbox for MatLab, *For Use with MATLAB, User Guide*, Vo1. 1. Craig, J. (2004), Introduction to Robotics: Mechanics and Control, Textbook, *International* 

Depth for Image-Based Visual Servoing Schemes, *IEEE International Conference on* 

Control for Camera-in-Hand Configuration With a Fixed-Camera Extension, *Proceedings of the 46th IEEE Conference on Decision and Control*, CDC, 2008, pp. 2339-

Fig. 14. Error of arm movements: ANN based controller and RIVES output difference ANN visual Servo

## **6. Conclusions**

Servoing a robotics arm towards a moving object movement using visual information, is a research topic that has been presented and discussed by a number of researchers for the last twenty years. In this sense, the chapter has discussed a mechanism to learn kinematics and feature-based Jacobian relations, that are used for robotics arm visual servo system. In this respect, the concept introduced within this chapter was based on an employment and utilization of an artificial neural network system. The ANN was trained in such away to learn a mapping relating the " complicated kinematics" as relating changes in visual loop into arm joint space. Changes in a loop visual Jocobain depends heavily on a robotics arm 3-D posture, in addition, it depends on features associated with an object under visual servo (to be tracked). Results have shown that, trained neural network can be used to learn such complicated visual relations relating an object movement to an arm joint space movement. The proposed methodology has also resulted in a great deal of accuracy. The proposed methodology was applied to the well-know Image Based Visual Servoing, already discussed and presented by RIVES as documented in (Gian et al., 2004). Results have indicated a close degree of accuracy between the already published "RIVES Algorithm" results and the newly proposed "ANN Visual Servo Algorithm". This indicates ANN Visual Servo, as been based on some space learning mechanisms, can reduce the computation time.

## **7. References**

452 Robotic Systems – Applications, Control and Programming

Fig. 14. Error of arm movements: ANN based controller and RIVES output difference ANN

Servoing a robotics arm towards a moving object movement using visual information, is a research topic that has been presented and discussed by a number of researchers for the last twenty years. In this sense, the chapter has discussed a mechanism to learn kinematics and feature-based Jacobian relations, that are used for robotics arm visual servo system. In this respect, the concept introduced within this chapter was based on an employment and utilization of an artificial neural network system. The ANN was trained in such away to learn a mapping relating the " complicated kinematics" as relating changes in visual loop into arm joint space. Changes in a loop visual Jocobain depends heavily on a robotics arm 3-D posture, in addition, it depends on features associated with an object under visual servo (to be tracked). Results have shown that, trained neural network can be used to learn such complicated visual relations relating an object movement to an arm joint space movement. The proposed methodology has also resulted in a great deal of accuracy. The proposed methodology was applied to the well-know Image Based Visual Servoing, already discussed and presented by RIVES as documented in (Gian et al., 2004). Results have indicated a close degree of accuracy between the already published "RIVES Algorithm" results and the newly proposed "ANN Visual Servo Algorithm". This indicates ANN Visual Servo, as been based on some space learning mechanisms, can

visual Servo

**6. Conclusions** 

reduce the computation time.


**22** 

*Colombia* 

**Design and Construction of an** 

**Material Identification in Robotic Agents** 

*Research group in Artificial Intelligence for Education, Universidad Nacional de Colombia* 

Quality assurance in all industrial fields depends on having a suitable and robust inspection method which let to know the integrity or characteristics of the inspected sample. The testing can be destructive or not destructive. The former is more expensive and it does not guarantee to know the condition of the inspected sample. Though, it is used in sectors where the latter cannot be used due to the technical limitations. The second one is an ongoing research field where cheaper, faster and more reliable methods are searched to

Once a suitable reliability and quality are achieved by using a specific method, the next step is to reduce the duration and cost of the associated process. If it is paid attention to the fact that most of these processes require of a human operator, who is skilled in the labour of interpreting the data, it can be said that those previously mentioned factors (process duration and cost) can be reduced by improving the automation and autonomy of the associated processes. If a robotic system is used this can be achieved. However, most of the algorithms associated to those processes are computationally expensive and therefore the robots should have a high computational capacity which implies a platform of big size, reduced mobility, limited accessibility and/or considerable cost. Those constraints are

One important factor which should be considered to develop a low cost, small size and mobile robotic system is the design of the software and hardware of the sensor. If it is designed with a depth analysis of the context of the specific application it can be obtained a

The appropriated design of the hardware and software of the sensor depends on the proper selection of the signal pattern which is going to be used to characterize the condition of the inspected sample. For ultrasonic waves the patterns are changes on amplitude, frequency or phase on the received echo because of the properties of a specific target. Some of those

Among the many applications of ultrasound, one of them which is important for the aerospace, automotive, food and oil industries, among others, is the material identification. Depict the fact that there are many ultrasonic sensors which let to identify the material of the sample being inspected, most of them are not appropriated to be implemented in a

considerable reduction on the requirements and complexity of the robotic system.

properties are attenuation, acoustic impedance and speed of sound, among others.

**1. Introduction** 

assess the quality of specific specimens.

decisive for some specific applications.

Juan José González España, Jovani Alberto Jiménez Builes

 **Ultrasonic Sensor for the** 

and Jaime Alberto Guzmán Luna

Weiss, L.; Sanderson, A & Neuman, A. (1987), Dynamic Visual Servo Control of Robots: An adaptive Image-Based Approach , *IEEE Journal on Robotics and Automation*, Vol. 3, No.5, pp. 404–417.

## **Design and Construction of an Ultrasonic Sensor for the Material Identification in Robotic Agents**

Juan José González España, Jovani Alberto Jiménez Builes and Jaime Alberto Guzmán Luna *Research group in Artificial Intelligence for Education, Universidad Nacional de Colombia Colombia* 

## **1. Introduction**

454 Robotic Systems – Applications, Control and Programming

Weiss, L.; Sanderson, A & Neuman, A. (1987), Dynamic Visual Servo Control of Robots: An

No.5, pp. 404–417.

adaptive Image-Based Approach , *IEEE Journal on Robotics and Automation*, Vol. 3,

Quality assurance in all industrial fields depends on having a suitable and robust inspection method which let to know the integrity or characteristics of the inspected sample. The testing can be destructive or not destructive. The former is more expensive and it does not guarantee to know the condition of the inspected sample. Though, it is used in sectors where the latter cannot be used due to the technical limitations. The second one is an ongoing research field where cheaper, faster and more reliable methods are searched to assess the quality of specific specimens.

Once a suitable reliability and quality are achieved by using a specific method, the next step is to reduce the duration and cost of the associated process. If it is paid attention to the fact that most of these processes require of a human operator, who is skilled in the labour of interpreting the data, it can be said that those previously mentioned factors (process duration and cost) can be reduced by improving the automation and autonomy of the associated processes. If a robotic system is used this can be achieved. However, most of the algorithms associated to those processes are computationally expensive and therefore the robots should have a high computational capacity which implies a platform of big size, reduced mobility, limited accessibility and/or considerable cost. Those constraints are decisive for some specific applications.

One important factor which should be considered to develop a low cost, small size and mobile robotic system is the design of the software and hardware of the sensor. If it is designed with a depth analysis of the context of the specific application it can be obtained a considerable reduction on the requirements and complexity of the robotic system.

The appropriated design of the hardware and software of the sensor depends on the proper selection of the signal pattern which is going to be used to characterize the condition of the inspected sample. For ultrasonic waves the patterns are changes on amplitude, frequency or phase on the received echo because of the properties of a specific target. Some of those properties are attenuation, acoustic impedance and speed of sound, among others.

Among the many applications of ultrasound, one of them which is important for the aerospace, automotive, food and oil industries, among others, is the material identification. Depict the fact that there are many ultrasonic sensors which let to identify the material of the sample being inspected, most of them are not appropriated to be implemented in a

Design and Construction of an

to the position of the transducer.

absence of mobility and autonomy.

material.

mobility.

this article.

Ultrasonic Sensor for the Material Identification in Robotic Agents 457

Furthermore, for this case is used a database which contains the typical values of the parameters correspondent to specific materials. Its more relevant strengths are the identification of the materials of objects of non-planar cylindrical surface profiles and the accuracy of the results. On the other hand, its more significant limitations are the expensive computational cost of its processing algorithm, the absence of autonomy and the restrictions

In [Ohtanil et al, 2006], is implemented an array of ultrasonic sensors and a MLP neural network for the materials identification. Some experiments were performed on copper, aluminium, pasteboard and acrylic, at different angles with respect to the x and z axes. The maximum distance between the sensor array and the target was 30cm. The main strength of the system is that it works in air over a wide range of distances between the target and the sensor system. Additionally, the sensor model is automatically adjusted based on this distance. The results are quite accurate. Its more significant limitation is the big size of the system (only appropriated for a huge robot), the computing requirements and the dependence on the position of the target to achieve the identification of the

In [Zhao et al, 2003] is used the ultrasonic identification of materials for the quality assurance in the production of canned products. The configuration of the ultrasonic system is pulse-echo. Water is the coupling medium between the transducer and the target. By means of this set up, it can be detected any shift from a specific value of the acoustic impedance, which is the result of foreign bodies within the bottle. Its main strengths are the accuracy of the system and the high sensibility. Its more relevant weaknesses are the

In [Pallav et al, 2009] is illustrated a system which has the same purpose of the previous mentioned system, i.e. also by means of the material identification performs quality control in canned food. The system uses an ultrasonic sensor to identify the acoustic impedance shift within the canned food which is related to foreign bodies within the can. The main difference in comparison to the previous mentioned system [Zhao et al, 2003] is the fact that the Through-Transmission configuration is used, and that the couplant is not water but air. Its more relevant strengths are the successful detection of foreign bodies and the mobility achieve in the X and Y axes. Its more important limitations are the high requirements of voltage, the dependence of the object's position and the narrow range of

In [Stepanić et al, 2003] is used the identification of materials to differentiate between common buried objects in the soil and antipersonnel landmines. For this case is used a tip with an ultrasonic transducer in its border and this latter is acoustically coupled with the target. The procedure to operate the system is: 1. Select a zone where is suspected the landmine is. 2. Introduced the tip in this zone in order to touch the suspecting object 3. Take some measurements. Based on this measurements the material can be identified and as a consequence it can be detected the presence or absence of landmines. Its more important limitations are the lack of autonomy, because it requires a human operator, and the

From the previous mentioned approaches the most significant limitation which forbids the automation in small robotic agents is the expensive computational cost of the processing algorithms. This problem was addressed in a master thesis and the results are exposed in

dangerous fact which involves making contact with the landmine.

robot. The high computational capacity demanded by the algorithm of the sensor is the main constraint for the implementation of the ultrasonic identification of materials in a robot. In this book chapter is addressed this problem and it is solved by the Peniel method. Based on this method is designed and constructed a novel sensor which is implemented in two robots of the kit TEAC2H-RI.

This book chapter is organized as follows: Section Two briefly reviews some approaches in Material Identification with ultrasonic sensors. Section Three illustrates the novel Peniel method and its associated hardware and software. Section Four describes the results. Finally, section five presents the conclusions and future work.

## **2. Material identification with ultrasonic sensors**

The material identification using ultrasonic techniques is very important for a plethora of sectors of the industry, research, security, health, among others. In contrast with other methods for the identification of materials, those based on ultrasonic signals not only are cheaper but also some of them let to identify objects which are occluded by others. Following is the general procedure to achieve this:


In the next lines is illustrated some methods proposed in the state of the art for the material identification and is mentioned their strengths and more important limitations.

In [Thomas et al, 1991] is developed an ultrasonic perception system for robots for the task of identification of materials. This system is based on the neural network Multi Layer Perceptron (MLP), which was trained with the characteristics of the frequency spectrum and the time domain of the ultrasonic echo. Its most relevant advantage is that the sample was inspected from different positions; additionally the ultrasonic transducer did not require making contact with the inspected sample. Its more remarkable limitations are that it identifies the material in a stochastic manner, i.e. sometimes the material is correctly identified and other not, and the issue that the sensor was never implemented in a robotic system.

In [Gunarathne et al, 2002] is proposed an implementation to identify the material of nonplanar cylindrical surface profiles (e.g. petroleum pipelines) with a prediction accuracy of the result. The method is mainly based on the feature extraction by curve fitting. The curve fitting consists in a computationally generated artificial signal which fits the shape of the experimental signal. The optimal parameters chosen for the artificial signal (AS) are those which make the AS to fit the experimental signal with a low error; those are used for the task of material identification.

456 Robotic Systems – Applications, Control and Programming

robot. The high computational capacity demanded by the algorithm of the sensor is the main constraint for the implementation of the ultrasonic identification of materials in a robot. In this book chapter is addressed this problem and it is solved by the Peniel method. Based on this method is designed and constructed a novel sensor which is implemented in

This book chapter is organized as follows: Section Two briefly reviews some approaches in Material Identification with ultrasonic sensors. Section Three illustrates the novel Peniel method and its associated hardware and software. Section Four describes the results.

The material identification using ultrasonic techniques is very important for a plethora of sectors of the industry, research, security, health, among others. In contrast with other methods for the identification of materials, those based on ultrasonic signals not only are

1. It is used a specific configuration for the receiver and transmitter ultrasonic transducers. Some of them are: Pulse-Echo, Through-Transmission and Pitch-Catch configuration

3. Once the wave has interacted with the object, it returns as an echo to its source and

4. Then, the electrical signal goes to a signal conditioning system, which is formed by

5. Finally, there is the processing module, which is in charge to perform the most important stage of the system, i.e., the signal processing. In this case, it can be used microcontrollers, microprocessors, FPGAs, computers, among other devices. In this processing module the algorithm is implemented, in order to process the respective

In the next lines is illustrated some methods proposed in the state of the art for the material

In [Thomas et al, 1991] is developed an ultrasonic perception system for robots for the task of identification of materials. This system is based on the neural network Multi Layer Perceptron (MLP), which was trained with the characteristics of the frequency spectrum and the time domain of the ultrasonic echo. Its most relevant advantage is that the sample was inspected from different positions; additionally the ultrasonic transducer did not require making contact with the inspected sample. Its more remarkable limitations are that it identifies the material in a stochastic manner, i.e. sometimes the material is correctly identified and other

In [Gunarathne et al, 2002] is proposed an implementation to identify the material of nonplanar cylindrical surface profiles (e.g. petroleum pipelines) with a prediction accuracy of the result. The method is mainly based on the feature extraction by curve fitting. The curve fitting consists in a computationally generated artificial signal which fits the shape of the experimental signal. The optimal parameters chosen for the artificial signal (AS) are those which make the AS to fit the experimental signal with a low error; those are used for

cheaper but also some of them let to identify objects which are occluded by others.

there it is captured by means of an ultrasonic transducer (receiver).

amplifiers, filters, digital to analog converters (DAC), and so on.

signal patterns and indicates the material under inspection.

identification and is mentioned their strengths and more important limitations.

not, and the issue that the sensor was never implemented in a robotic system.

two robots of the kit TEAC2H-RI.

[NASA, 2007]

the task of material identification.

Finally, section five presents the conclusions and future work.

**2. Material identification with ultrasonic sensors** 

Following is the general procedure to achieve this:

2. It is sent an ultrasonic wave to the inspected sample

Furthermore, for this case is used a database which contains the typical values of the parameters correspondent to specific materials. Its more relevant strengths are the identification of the materials of objects of non-planar cylindrical surface profiles and the accuracy of the results. On the other hand, its more significant limitations are the expensive computational cost of its processing algorithm, the absence of autonomy and the restrictions to the position of the transducer.

In [Ohtanil et al, 2006], is implemented an array of ultrasonic sensors and a MLP neural network for the materials identification. Some experiments were performed on copper, aluminium, pasteboard and acrylic, at different angles with respect to the x and z axes. The maximum distance between the sensor array and the target was 30cm. The main strength of the system is that it works in air over a wide range of distances between the target and the sensor system. Additionally, the sensor model is automatically adjusted based on this distance. The results are quite accurate. Its more significant limitation is the big size of the system (only appropriated for a huge robot), the computing requirements and the dependence on the position of the target to achieve the identification of the material.

In [Zhao et al, 2003] is used the ultrasonic identification of materials for the quality assurance in the production of canned products. The configuration of the ultrasonic system is pulse-echo. Water is the coupling medium between the transducer and the target. By means of this set up, it can be detected any shift from a specific value of the acoustic impedance, which is the result of foreign bodies within the bottle. Its main strengths are the accuracy of the system and the high sensibility. Its more relevant weaknesses are the absence of mobility and autonomy.

In [Pallav et al, 2009] is illustrated a system which has the same purpose of the previous mentioned system, i.e. also by means of the material identification performs quality control in canned food. The system uses an ultrasonic sensor to identify the acoustic impedance shift within the canned food which is related to foreign bodies within the can. The main difference in comparison to the previous mentioned system [Zhao et al, 2003] is the fact that the Through-Transmission configuration is used, and that the couplant is not water but air. Its more relevant strengths are the successful detection of foreign bodies and the mobility achieve in the X and Y axes. Its more important limitations are the high requirements of voltage, the dependence of the object's position and the narrow range of mobility.

In [Stepanić et al, 2003] is used the identification of materials to differentiate between common buried objects in the soil and antipersonnel landmines. For this case is used a tip with an ultrasonic transducer in its border and this latter is acoustically coupled with the target. The procedure to operate the system is: 1. Select a zone where is suspected the landmine is. 2. Introduced the tip in this zone in order to touch the suspecting object 3. Take some measurements. Based on this measurements the material can be identified and as a consequence it can be detected the presence or absence of landmines. Its more important limitations are the lack of autonomy, because it requires a human operator, and the dangerous fact which involves making contact with the landmine.

From the previous mentioned approaches the most significant limitation which forbids the automation in small robotic agents is the expensive computational cost of the processing algorithms. This problem was addressed in a master thesis and the results are exposed in this article.

Design and Construction of an

A and *w* are known.

Ultrasonic Sensor for the Material Identification in Robotic Agents 459

*<sup>w</sup> <sup>t</sup> B* <sup>≤</sup> ln

The left side term in the expression (3) is an artificial signal which fits the received ultrasonic echo (see page 3). If the received ultrasonic echo is amplified by a Gain G, as will the

*G A*

*G A*

*<sup>w</sup> <sup>t</sup> B* <sup>⋅</sup> <sup>≤</sup> ln

ln

*<sup>w</sup> <sup>t</sup> B*

Therefore, for two signals with similar A values, the tdi duration is inversely proportional to the decay coefficient B. It can be seen in figure 1 for the case when A = 1, *w* = 0.5, and B = 1000, 2000, 3000 and 4000. Additionally, it is shown the behavior with G of the difference between tdi3 and tdi4. This let us to conclude that tdi can be used to characterize a material if G,

Fig. 1. The variation of the time interval duration depending on the gain. For this case, the

time interval is the time during an exponential signal is above 0.5 (*w*)

*di*

*A*

*B t G Ae w* − ⋅ ⋅ ≥ (6)

<sup>⋅</sup> <sup>=</sup> (8)

(5)

(7)

*di*

exponential function (3). Thus it is obtained from (3):

It leads to expressions similar to those obtained in (4) and (5):

## **3. Peniel method**

In the following lines is exposed the Peniel Method, which is a method of low computational cost and therefore its associated algorithm and circuit can be implemented in a small robot. It is important to highlight that only one microcontroller is used to implement this method.

### **3.1 Mathematical model**

In [Gunarathne et al, 1997, 1998, 2002; Gonzalez & Jiménez, 2010b] is exposed that the reverberations within a plate follow the next expression.

$$A\left(t\right) = Ae^{-B\left(t-C\right)} + D\tag{1}$$

where A is related to the first echo amplitude, B to the rate of decay of reverberations, C to the timing of the first echo from the start of the scan and D to the signal-to-noise ratio.

In [Gunarathne et al, 2002] is mentioned that knowing the decay coefficient (B) the material can be identified. Moreover, in [Allin, 2002] is illustrated that there are several methods that are based on the decay coefficient to identify the material. This variable is important because it only depends on the attenuation and acoustic impedance of the material, if the thickness is kept constant. In most of the solids, the attenuation is low and its effect is negligible in comparison with the acoustic impedance. Based on this the material can be identified if the acoustic impedance is known. In the following lines we present a novel method developed to estimate indirectly the decay coefficient B and therefore it can be used to identify the material of solid plates.

Without losing generality, in (1) we assume that D=0 and C=0. If it is sought the time interval during *A(t)* is greater than or equal to a value *w,* then the equation which express this is:

$$A(t) \ge w \tag{2}$$

Replacing (1) in (2) and taking into account the considerations that were made with respect C and D, we obtained:

$$
\epsilon \leftrightarrow A e^{-\mathcal{B} \cdot t} \succeq w \tag{3}
$$

After some algebra we obtained:

$$t \leftrightarrow t \le \frac{\ln\left(\frac{A}{w}\right)}{B} \tag{4}$$

It means that in the time interval

*w B* ln 0, the exponential function is greater than or

equal to *w.* The duration of this time interval is defined as tdi,, and then for the previous case it can be said that:

*A*

458 Robotic Systems – Applications, Control and Programming

In the following lines is exposed the Peniel Method, which is a method of low computational cost and therefore its associated algorithm and circuit can be implemented in a small robot. It is important to highlight that only one microcontroller is used to implement

In [Gunarathne et al, 1997, 1998, 2002; Gonzalez & Jiménez, 2010b] is exposed that the

where A is related to the first echo amplitude, B to the rate of decay of reverberations, C to the timing of the first echo from the start of the scan and D to the signal-to-noise

In [Gunarathne et al, 2002] is mentioned that knowing the decay coefficient (B) the material can be identified. Moreover, in [Allin, 2002] is illustrated that there are several methods that are based on the decay coefficient to identify the material. This variable is important because it only depends on the attenuation and acoustic impedance of the material, if the thickness is kept constant. In most of the solids, the attenuation is low and its effect is negligible in comparison with the acoustic impedance. Based on this the material can be identified if the acoustic impedance is known. In the following lines we present a novel method developed to estimate indirectly the decay coefficient B and therefore it can be used to identify the

Without losing generality, in (1) we assume that D=0 and C=0. If it is sought the time interval during *A(t)* is greater than or equal to a value *w,* then the equation which express

Replacing (1) in (2) and taking into account the considerations that were made with respect

*A*

 ↔ ≤ ln

*<sup>w</sup> <sup>t</sup> B*

equal to *w.* The duration of this time interval is defined as tdi,, and then for the previous case

*A w B* ln

( ) *Bt C* ( ) *A t Ae D* − − = + (1)

*At w* ( ) ≥ (2)

*B t Ae w* ↔ ≥ − ⋅ (3)

0, the exponential function is greater than or

(4)

**3. Peniel method** 

**3.1 Mathematical model** 

material of solid plates.

C and D, we obtained:

it can be said that:

After some algebra we obtained:

It means that in the time interval

reverberations within a plate follow the next expression.

this method.

ratio.

this is:

$$t\_{cl} \leq \frac{\ln\left(\frac{A}{w}\right)}{B} \tag{5}$$

The left side term in the expression (3) is an artificial signal which fits the received ultrasonic echo (see page 3). If the received ultrasonic echo is amplified by a Gain G, as will the exponential function (3). Thus it is obtained from (3):

$$\mathbf{G} \cdot \mathbf{A} \mathbf{e}^{-\mathbb{R} \cdot t} \succeq w \tag{6}$$

It leads to expressions similar to those obtained in (4) and (5):

$$t \le \frac{\ln\left(\frac{G \cdot A}{w}\right)}{B} \tag{7}$$

$$t\_{di} = \frac{\ln\left(\frac{G \cdot A}{w}\right)}{B} \tag{8}$$

Therefore, for two signals with similar A values, the tdi duration is inversely proportional to the decay coefficient B. It can be seen in figure 1 for the case when A = 1, *w* = 0.5, and B = 1000, 2000, 3000 and 4000. Additionally, it is shown the behavior with G of the difference between tdi3 and tdi4. This let us to conclude that tdi can be used to characterize a material if G, A and *w* are known.

Fig. 1. The variation of the time interval duration depending on the gain. For this case, the time interval is the time during an exponential signal is above 0.5 (*w*)

Design and Construction of an

more robust the method.

Ultrasonic Sensor for the Material Identification in Robotic Agents 461

have a similar value A (see equation 1). To meet this requirement it has been used the circuit in the figure 3. This circuit is called **clustering circuit***.* Despite the fact that by means of (14) the material can be identified without knowing A, the clustering circuit is used to make

Fig. 2. Behavior of the duration increment of the time interval, (∆t), in function of the decay

This circuit is formed by four amplifiers, four comparators and a microcontroller. Each amplifier has different gains. The gain grows in the direction of AMP4, i.e., the smaller and higher gains belong to the AMP1 and AMP4 amplifiers, respectively. Each amplifier represents a group, in this manner AMP3 represents the group 3 and group 2 is represented

The output of the amplifiers goes to the respective comparators. The threshold (*w*) is the same for the last three comparators and a little bit higher for the first comparator (AMP1). The echo signal belongs to the group which has the amplifier with lower gain but with its comparator activated. In this manner a signal which activates the comparator three only belongs to the group three if the respective comparators of AMP1 and AMP2 are not

The output of each comparator goes to the microcontroller and once this detects low levels on any comparator, it identifies what is the amplifier with lower gain which has its

Consequently, those signals with similar peak amplitude, A (see equation 1), will be in the same group. In this manner is met the requirement that the A value should be similar

comparator activated and therefore it identifies the group the signal belongs to.

between signals which are compared in terms of the duration of the time interval.

coefficient for values of G1=10, 20, 30 and G2= 20, 30, 40

**3.2.1 Clustering algorithm and circuit** 

by AMP2

activated.

Now, if it is used two different gain values (G1 and G2) for the same signal, the equation (8) yields:

$$t\_{d11} = \frac{\ln\left(\frac{G\_1 \cdot A}{w}\right)}{B} \tag{9}$$

$$t\_{di2} = \frac{\ln\left(\frac{G\_2 \cdot A}{w}\right)}{B} \tag{10}$$

If G1<G2 and (9) is subtracted from (10), it is obtained:

$$t\_{d12} - t\_{d11} = \frac{\ln\left(\frac{G\_2 \cdot A}{w}\right)}{B} - \frac{\ln\left(\frac{G\_1 \cdot A}{w}\right)}{B} \tag{11}$$

$$t\_{d12} - t\_{d11} = \frac{\ln\left(\frac{G\_2 \cdot A}{w}\right) - \ln\left(\frac{G\_1 \cdot A}{w}\right)}{B} \tag{12}$$

$$\ln\left(\frac{\frac{\text{G}\_2\cdot A}{w}}{\frac{\text{G}\_1\cdot A}{w}}\right)$$

$$t\_{d12} - t\_{d11} = \frac{\ln\left(\frac{w}{w}\right)}{B} \tag{13}$$

$$t\_{d12} - t\_{d11} = \Delta t\_1 = \frac{\ln\left(\frac{G\_2}{G\_1}\right)}{B} \tag{14}$$

$$
\Delta t\_1 = \frac{\ln \left( G\_r \right)}{B} \tag{15}
$$

where *<sup>r</sup> <sup>G</sup> <sup>G</sup> G*<sup>=</sup> <sup>2</sup> 1

As it can be seen (14) does not depend on A and therefore is only necessary to know G2 and G1 to find B from ∆t1. Moreover, if there are two signals from different materials, even though G2 and G1 are not known, the material can be identified from the difference between the correspondent ∆ts. In figure 2 is shown the behavior of ∆t as a function of B for different values of Gr.

As it can be seen in the figure 2 the duration increment of the time interval (∆t) depends on B if Gr is kept constant. Also, it can be recognized that if B is kept constant, high values of Gr result in high increases on the duration of the time interval (∆t).

### **3.2 The electronic circuit and the algorithm**

One of the conditions to identify the material using the expression (8) of the Peniel Method, is that those signals compared in terms of the behavior of the time interval durations should 460 Robotic Systems – Applications, Control and Programming

Now, if it is used two different gain values (G1 and G2) for the same signal, the equation (8)

ln

*<sup>w</sup> <sup>t</sup>*

ln

*<sup>w</sup> <sup>t</sup>*

*w w t t*

*w w t t*

*<sup>w</sup> t t*

− =

− =Δ =

( ) *Gr <sup>t</sup> B*

As it can be seen (14) does not depend on A and therefore is only necessary to know G2 and G1 to find B from ∆t1. Moreover, if there are two signals from different materials, even though G2 and G1 are not known, the material can be identified from the difference between the correspondent ∆ts. In figure 2 is shown the behavior of ∆t as a function of B for different

As it can be seen in the figure 2 the duration increment of the time interval (∆t) depends on B if Gr is kept constant. Also, it can be recognized that if B is kept constant, high values of Gr

One of the conditions to identify the material using the expression (8) of the Peniel Method, is that those signals compared in terms of the behavior of the time interval durations should

ln

−= −

 ⋅ ⋅ <sup>−</sup> − = 2 1

ln ln

ln ln

1

2

*di*

If G1<G2 and (9) is subtracted from (10), it is obtained:

*di di*

*di di*

2 1

*di di*

*di di*

result in high increases on the duration of the time interval (∆t).

**3.2 The electronic circuit and the algorithm** 

2 1

*tt t*

21 1

Δ =<sup>1</sup>

2 1

*di*

1

*B*

2

*B*

*G A*

<sup>⋅</sup>

*GA GA*

⋅ ⋅

2 1

*B B*

*B*

*B*

ln

*G G*

 

2 1

*B*

*G A w G A*

 <sup>⋅</sup> <sup>⋅</sup>

2

1

*GA GA*

*G A*

<sup>⋅</sup>

<sup>=</sup> (9)

<sup>=</sup> (10)

ln (15)

(11)

(12)

(13)

(14)

yields:

where *<sup>r</sup>*

values of Gr.

*<sup>G</sup> <sup>G</sup> G*<sup>=</sup> <sup>2</sup> 1 have a similar value A (see equation 1). To meet this requirement it has been used the circuit in the figure 3. This circuit is called **clustering circuit***.* Despite the fact that by means of (14) the material can be identified without knowing A, the clustering circuit is used to make more robust the method.

Fig. 2. Behavior of the duration increment of the time interval, (∆t), in function of the decay coefficient for values of G1=10, 20, 30 and G2= 20, 30, 40

## **3.2.1 Clustering algorithm and circuit**

This circuit is formed by four amplifiers, four comparators and a microcontroller. Each amplifier has different gains. The gain grows in the direction of AMP4, i.e., the smaller and higher gains belong to the AMP1 and AMP4 amplifiers, respectively. Each amplifier represents a group, in this manner AMP3 represents the group 3 and group 2 is represented by AMP2

The output of the amplifiers goes to the respective comparators. The threshold (*w*) is the same for the last three comparators and a little bit higher for the first comparator (AMP1). The echo signal belongs to the group which has the amplifier with lower gain but with its comparator activated. In this manner a signal which activates the comparator three only belongs to the group three if the respective comparators of AMP1 and AMP2 are not activated.

The output of each comparator goes to the microcontroller and once this detects low levels on any comparator, it identifies what is the amplifier with lower gain which has its comparator activated and therefore it identifies the group the signal belongs to.

Consequently, those signals with similar peak amplitude, A (see equation 1), will be in the same group. In this manner is met the requirement that the A value should be similar between signals which are compared in terms of the duration of the time interval.

Design and Construction of an

two different gain values, i.e. finding ∆t.

**4. Results and discussion** 

duration and a pulse rate of 10Hz.

and the inspected sample.

**durations** 

Ultrasonic Sensor for the Material Identification in Robotic Agents 463

As it was mentioned in section 3.1 the material can be identified by finding the difference between the two durations which are produced for the same signal when it is amplified by

In order to do this, the circuit of Figure 5 was implemented. In this case AMP1-4 correspond to the same amplifiers mentioned in Figure 3. Amp1.1, Amp2.1, Amp3.1 and Amp4.1 are additional amplifiers. COMP5, COMP6, COMP7 and COMP8 are comparators which even with an amplitude modulated sinusoidal signal, such as the ultrasonic echo, remains activated as long as the envelope of the signal is above the threshold of 2.5V. While the output of this comparator is quite stable, still it has some noisy fluctuations which are necessary to be removed and this is the reason to use the comparators COMP5.1, COMP6.1, COMP7.1 and COMP8.1. The output of these comparators is connected to a specific input in the CD4052, and the output in the pin 13 of this multiplexer goes to the microcontroller.

Fig. 5. The electronic circuit for calculating the durations associated to different gain values

In order to prove the effectiveness of the Peniel Method, it was performed some

The transducer used for the measurements was the AT120 (120KHz) of Airmar Technology, which is a low cost transducer commonly used for obstacle avoidance or level measurement but not for NDT. This transducer was used both for transmission and reception in the

The transmitter circuit is the T1 *development board* of Airmar Technology (Airmar Technology, 2011). With this transmitter is sent a 130KHz toneburst which has a 40µs

The chosen samples for the inspection were Acrylic (16mm thickness), Aluminium (16mm thickness) and Glass (14mm thickness). Oil was the couplant used between the transducers

The receiver circuit is the result of integrating the three circuits mentioned in the section 3.2. The circuit is fed by four 9volts batteries. Two of them are for the positive source and the other two are for the negative. The data were processed by the main board of the mom-robot of the kit TEAC2H-RI (González J.J. *et al*, 2010a).which was developed by the authors. In the main board, the microcontroller MC68HC908JK8 is the device in charge to assign tasks or

experiments. The characteristics of the experiments are mentioned below:

Through-Transmission configuration which was used to inspect the samples.

**3.2.3 The Circuit and the algorithm for the identification of the changes in the** 

Fig. 3. Clustering circuit to assure that the A value is similar in signals which are compared in terms of duration of the time interval. The abbreviation Amp refers to the amplifier and Comp to the comparator

### **3.2.2 The Peak voltage detection circuit and the algorithm**

In addition to the previous mentioned circuit also the system has a circuit that allows knowing the peak value of the received echo. This peak value is an estimation of A, which is also a parameter of the expression (1) and therefore can be used to identify the material. The associated circuit is shown in Figure 4. The AMP1, 2, 3 and 4 are the same as in the circuit of Figure 3. The ENV1, 2, 3 and 4 are envelope detectors, whose function is conditioning the signal before is sent to the microcontroller. The CD4052 is a multiplexer. The exit of each comparator goes to a specific input of the CD4052, and the output of this latter in the pin 3 goes to the microcontroller.

As mentioned above, the clustering circuit identifies which group the signal belongs to; this information is used by the microcontroller to select which of the four envelope detectors should be used to find the peak amplitude. This selection is done by means of the CD4052. Once the microcontroller has chosen the right envelope detector and captured the correspondent signal, it proceeds to search the peak value by successive analog to digital conversions and comparison.

Fig. 4. Electronic circuit for calculating an estimated value of A. AMP1, AMP2, AMP3 and AMP4 are the same as in Figure 3. ENV means envelope detector

462 Robotic Systems – Applications, Control and Programming

Fig. 3. Clustering circuit to assure that the A value is similar in signals which are compared in terms of duration of the time interval. The abbreviation Amp refers to the amplifier and

In addition to the previous mentioned circuit also the system has a circuit that allows knowing the peak value of the received echo. This peak value is an estimation of A, which is also a parameter of the expression (1) and therefore can be used to identify the material. The associated circuit is shown in Figure 4. The AMP1, 2, 3 and 4 are the same as in the circuit of Figure 3. The ENV1, 2, 3 and 4 are envelope detectors, whose function is conditioning the signal before is sent to the microcontroller. The CD4052 is a multiplexer. The exit of each comparator goes to a specific input of the CD4052, and the output of this latter in the pin 3

As mentioned above, the clustering circuit identifies which group the signal belongs to; this information is used by the microcontroller to select which of the four envelope detectors should be used to find the peak amplitude. This selection is done by means of the CD4052. Once the microcontroller has chosen the right envelope detector and captured the correspondent signal, it proceeds to search the peak value by successive analog to digital

Fig. 4. Electronic circuit for calculating an estimated value of A. AMP1, AMP2, AMP3 and

AMP4 are the same as in Figure 3. ENV means envelope detector

**3.2.2 The Peak voltage detection circuit and the algorithm** 

Comp to the comparator

goes to the microcontroller.

conversions and comparison.

## **3.2.3 The Circuit and the algorithm for the identification of the changes in the durations**

As it was mentioned in section 3.1 the material can be identified by finding the difference between the two durations which are produced for the same signal when it is amplified by two different gain values, i.e. finding ∆t.

In order to do this, the circuit of Figure 5 was implemented. In this case AMP1-4 correspond to the same amplifiers mentioned in Figure 3. Amp1.1, Amp2.1, Amp3.1 and Amp4.1 are additional amplifiers. COMP5, COMP6, COMP7 and COMP8 are comparators which even with an amplitude modulated sinusoidal signal, such as the ultrasonic echo, remains activated as long as the envelope of the signal is above the threshold of 2.5V. While the output of this comparator is quite stable, still it has some noisy fluctuations which are necessary to be removed and this is the reason to use the comparators COMP5.1, COMP6.1, COMP7.1 and COMP8.1. The output of these comparators is connected to a specific input in the CD4052, and the output in the pin 13 of this multiplexer goes to the microcontroller.

Fig. 5. The electronic circuit for calculating the durations associated to different gain values

## **4. Results and discussion**

In order to prove the effectiveness of the Peniel Method, it was performed some experiments. The characteristics of the experiments are mentioned below:

The transducer used for the measurements was the AT120 (120KHz) of Airmar Technology, which is a low cost transducer commonly used for obstacle avoidance or level measurement but not for NDT. This transducer was used both for transmission and reception in the Through-Transmission configuration which was used to inspect the samples.

The transmitter circuit is the T1 *development board* of Airmar Technology (Airmar Technology, 2011). With this transmitter is sent a 130KHz toneburst which has a 40µs duration and a pulse rate of 10Hz.

The chosen samples for the inspection were Acrylic (16mm thickness), Aluminium (16mm thickness) and Glass (14mm thickness). Oil was the couplant used between the transducers and the inspected sample.

The receiver circuit is the result of integrating the three circuits mentioned in the section 3.2. The circuit is fed by four 9volts batteries. Two of them are for the positive source and the other two are for the negative. The data were processed by the main board of the mom-robot of the kit TEAC2H-RI (González J.J. *et al*, 2010a).which was developed by the authors. In the main board, the microcontroller MC68HC908JK8 is the device in charge to assign tasks or

Design and Construction of an

Ultrasonic Sensor for the Material Identification in Robotic Agents 465

(a)

(b)

(c) Fig. 7. Duration increment of the time interval for the results obtained using the procedure 1.

The materials inspected were a) Acrylic b) Glass and c) Aluminum

process the data of the sensors. The six outputs from the receiver circuit go to the main board and two outputs of the main board go to the receiver circuit. These two outputs control the CD4052.

The microcontroller sends the duration and the peak voltage of the signals to the PC. There, the signal is processed by Matlab and the results are plotted.

The whole set up of the experiments can be seen in figure 6.

In order to assure the repeatability of the results the following procedure was followed: **Procedure 1** 


The ten different measurements refer to send in different moments a toneburst to the inspected sample and capture the received echo. This is done ten times.

For the different materials used in this experiment this procedure was followed and the results are in figure 7.

Fig. 6. Diagram of the Experimental set up used in procedure 1. The couplant is oil. Tx and Rx refer to the Transmitter and Receiver, respectively

In figure 7 Delta t1 refers to tdi2 - tdi1, Delta t2 refers to tdi3 - tdi2, and so on. tdi1 refers to the duration of the signal at the output of the comparator which corresponds to the group signal and the other tdi, belong to the comparators of the groups with amplifiers with higher gain than the amplifier of the group of the signal, e.g. if the signal belongs to group 2 the tdi1 refers to the duration of Comp6.1, and tdi2 and tdi3 belong to Comp7.1 and Comp8.1, respectively. As it can be seen, for the higher order groups the number of tdi will be fewer than for the groups of lower order.

As it can be seen from figures 7a-7b, the ∆t is not constant for any material. However, it can be said that this value is always within a defined interval. In [Gunarathne et al, 2002] is mentioned that the decay coefficient B does not have a fixed value from measurement to measurement but it takes different values within an interval. Because of this is defined a Gaussian Probability Density Function for the B value of each material, then the value can be any of those values within the PDF. This fact, confirms that the results obtained here with ∆t are correct because they are congruent with the theory. Though, for the current case it was not necessary to create a PDF but only intervals where the correspondent ∆t belongs. This fact simplifies the material identification task. Following, the intervals are chosen.

464 Robotic Systems – Applications, Control and Programming

process the data of the sensors. The six outputs from the receiver circuit go to the main board and two outputs of the main board go to the receiver circuit. These two outputs

The microcontroller sends the duration and the peak voltage of the signals to the PC. There,

The ten different measurements refer to send in different moments a toneburst to the

For the different materials used in this experiment this procedure was followed and the

Fig. 6. Diagram of the Experimental set up used in procedure 1. The couplant is oil. Tx and

In figure 7 Delta t1 refers to tdi2 - tdi1, Delta t2 refers to tdi3 - tdi2, and so on. tdi1 refers to the duration of the signal at the output of the comparator which corresponds to the group signal and the other tdi, belong to the comparators of the groups with amplifiers with higher gain than the amplifier of the group of the signal, e.g. if the signal belongs to group 2 the tdi1 refers to the duration of Comp6.1, and tdi2 and tdi3 belong to Comp7.1 and Comp8.1, respectively. As it can be seen, for the higher order groups the number of tdi will be fewer

As it can be seen from figures 7a-7b, the ∆t is not constant for any material. However, it can be said that this value is always within a defined interval. In [Gunarathne et al, 2002] is mentioned that the decay coefficient B does not have a fixed value from measurement to measurement but it takes different values within an interval. Because of this is defined a Gaussian Probability Density Function for the B value of each material, then the value can be any of those values within the PDF. This fact, confirms that the results obtained here with ∆t are correct because they are congruent with the theory. Though, for the current case it was not necessary to create a PDF but only intervals where the correspondent ∆t belongs. This fact simplifies the material identification task. Following, the intervals are chosen.

In order to assure the repeatability of the results the following procedure was followed:

the signal is processed by Matlab and the results are plotted. The whole set up of the experiments can be seen in figure 6.

1. Clean the inspected sample and the transducers face 2. Spread oil over the surface of both transducer faces 3. Push the transducers against the inspected sample

Rx refer to the Transmitter and Receiver, respectively

than for the groups of lower order.

inspected sample and capture the received echo. This is done ten times.

4. Take ten different measurements 5. Repeat this procedure for five times.

control the CD4052.

results are in figure 7.

**Procedure 1** 

Fig. 7. Duration increment of the time interval for the results obtained using the procedure 1. The materials inspected were a) Acrylic b) Glass and c) Aluminum

Design and Construction of an

Ultrasonic Sensor for the Material Identification in Robotic Agents 467

(a) (b)

(c) Fig. 9. Duration increment of the time interval for the results obtained using the procedure 2.

From figure 7a it can be seen that the ∆t1 is always within the range (0.025ms, 0.15ms), while ∆t2 and ∆t3 are in the ranges (0.16ms, 0.4ms) and (0, 0.1ms), respectively, then these intervals

From figure 7b it can be seen that the ∆t1 and ∆t2 are always between (0.6ms, 1ms) and

From figure 7c it can be seen that the ∆t1 and ∆t2 are always between (1ms, 2ms) and (0.8ms,

In figure 8 is shown the peak voltages for the correspondent measurements in figure 7. It can be seen from this figure that the peak voltage also varies in a wide range from measurement to measurement. Then, if this parameter is going to be implemented to identify the material also have to be defined a voltage interval for each material. This parameter can be used to make more robust the measurements but for this moment only the

It is important to mention that both, the peak voltage and ∆t change, are within an interval from measurement to measurement because those variables are very dependent on the characteristics of the couplant used between the transducer face and the inspected sample.

(0.2ms, 0.65ms), respectively. Then, those are the intervals for the glass sample.

1.9ms), respectively. Then, those are the intervals for the aluminium sample.

The materials inspected were a) Acrylic b) Glass and c) Aluminum

∆t variable will be used for the identification of the materials.

are chosen to identify the acrylic sample.

Fig. 8. Peak voltage for the results obtained using the procedure 1. The materials inspected were a) Acrylic b) Glass and c) Aluminum

466 Robotic Systems – Applications, Control and Programming

(a)

(b)

**(c)**  Fig. 8. Peak voltage for the results obtained using the procedure 1. The materials inspected

were a) Acrylic b) Glass and c) Aluminum

Fig. 9. Duration increment of the time interval for the results obtained using the procedure 2. The materials inspected were a) Acrylic b) Glass and c) Aluminum

From figure 7a it can be seen that the ∆t1 is always within the range (0.025ms, 0.15ms), while ∆t2 and ∆t3 are in the ranges (0.16ms, 0.4ms) and (0, 0.1ms), respectively, then these intervals are chosen to identify the acrylic sample.

From figure 7b it can be seen that the ∆t1 and ∆t2 are always between (0.6ms, 1ms) and (0.2ms, 0.65ms), respectively. Then, those are the intervals for the glass sample.

From figure 7c it can be seen that the ∆t1 and ∆t2 are always between (1ms, 2ms) and (0.8ms, 1.9ms), respectively. Then, those are the intervals for the aluminium sample.

In figure 8 is shown the peak voltages for the correspondent measurements in figure 7. It can be seen from this figure that the peak voltage also varies in a wide range from measurement to measurement. Then, if this parameter is going to be implemented to identify the material also have to be defined a voltage interval for each material. This parameter can be used to make more robust the measurements but for this moment only the ∆t variable will be used for the identification of the materials.

It is important to mention that both, the peak voltage and ∆t change, are within an interval from measurement to measurement because those variables are very dependent on the characteristics of the couplant used between the transducer face and the inspected sample.

Design and Construction of an

**5. Conclusion and future work** 

was not found in the literature reviewed.

material identification task at a low cost.

the algorithm and circuit for optimum performance.

the application at the lowest cost.

wider database of materials.

**6. Acknowledgment** 

material.

Ultrasonic Sensor for the Material Identification in Robotic Agents 469

In this book chapter was proposed for the first time in the literature the shift in ∆t as a variable which can be used to identify the material. The method based on this variable, Peniel Method, is much easier and much less computationally expensive than other methods in the literature. This fact is the most important approach of this research because it lets to implement the ultrasonic material identification sensor in two robots. This last result

The cost of the ultrasonic AT120 transducer is only \$35US which is very low in comparison with other options (>\$400US) in the market which are used for the identification of materials. Then, it can be concluded that low cost ultrasonic transducers can be used instead of more expensive transducers if the proper method is used. This is another important strength of the method because it can be used in industrial processes to automate the

Another important conclusion of this work is that if the appropriate methodology is followed to design a sensor, it could be save considerable economical investments in the transducer, the processing system and the other elements necessary to design the sensor. In this case the methodology followed to develop the sensor consists of seven steps: 1) to study in depth the model or physical-mathematical models proposed in the literature 2) to perform experiments to confirm the theory and identify new signal patterns which let to develop new models 3) to redefine or create a new physical-mathematical model which must be simpler than the others and fits to the specific characteristics of the application, which in this case is two small robots to identify materials 4) This new model is the basis of the new method, but again it is necessary to also consider the characteristics of the specific application and all the constraints in order to design the electronic circuit and the algorithm of the method 5) to build the sensor with the proper devices in terms of cost, size and functionality 6) to design the appropriate experiments for the verification of the method 7) to validate the performance of the sensor using the proposed experiments and debug both

As it can be seen not only is necessary to design or redefined the software or hardware but also the mathematical model in order to obtain the sensor which fulfils the requirements of

The next step of this work is to implement completely the sensor in the mom-robot and sonrobot of the kit TEAC2H-RI without depending on the processing of the PC to identify the

Also more materials will be evaluated with the sensor in order to provide to the robot a

Also in future work, will be used the peak voltage as another factor to identify the materials

We would like to acknowledge to the Science, Technology and Innovation Management Department, COLCIENCIAS, for the economical support to the master student Juan José

or to differentiate between materials of very similar acoustic properties.

González España within the Youth Researchers and Innovators Program- 2009.

From the previous mentioned results the algorithm was modified and the intervals were used to identify the material. With this new algorithm a procedure (procedure 2) similar to procedure 1 was repeated for all the materials. The only difference in this new procedure is that the average of the ten measurements is taken and this result is compared with the different intervals. In figure 9 can be seen one of the five repetitions of the new procedure. In table 1 can be seen the performance of the developed sensor for the material identification task.


Table 1. Accuracy of the developed sensor to identify the material

As it can be seen in these experiments the accuracy of the identification is 100% for all the materials. This fact is very important because with a quite easy method and a low cost computational algorithm was performed a task which requires of more complex methods and algorithms of more expensive computational cost.

#### **4.1 The robotic kit TEAC2 H-RI**

In the previous sections, the signal was processed using the main board of the mom-robot of the kit TEAC2H-RI (González J.J. et al, 2010a) joint with the software Matlab. Then, the Peniel Method was partially implemented in a robotic system.

In future work the sensor will be fully implemented in a robotic system formed by two robots of the kit TEAC2H-RI. These robots are the mom-robot and the son-robot. Both of them can be seen in figure 10

Fig. 10. Son-robot and mom-robot exploring the environment (González J.J. *et al*, 2010a)

## **5. Conclusion and future work**

468 Robotic Systems – Applications, Control and Programming

From the previous mentioned results the algorithm was modified and the intervals were used to identify the material. With this new algorithm a procedure (procedure 2) similar to procedure 1 was repeated for all the materials. The only difference in this new procedure is that the average of the ten measurements is taken and this result is compared with the different intervals. In figure 9 can be seen one of the five repetitions of the new procedure. In table 1 can be seen the performance of the developed sensor for the material identification

**Identification**

As it can be seen in these experiments the accuracy of the identification is 100% for all the materials. This fact is very important because with a quite easy method and a low cost computational algorithm was performed a task which requires of more complex methods

In the previous sections, the signal was processed using the main board of the mom-robot of the kit TEAC2H-RI (González J.J. et al, 2010a) joint with the software Matlab. Then, the

In future work the sensor will be fully implemented in a robotic system formed by two robots of the kit TEAC2H-RI. These robots are the mom-robot and the son-robot. Both of

Fig. 10. Son-robot and mom-robot exploring the environment (González J.J. *et al*, 2010a)

Acrylic 5 5 0 100% Glass 5 5 0 100% Aluminum 5 5 0 100%

**Wrong** 

**Identification % Accuracy** 

**Material Trials Correct** 

and algorithms of more expensive computational cost.

**H-RI** 

Peniel Method was partially implemented in a robotic system.

**4.1 The robotic kit TEAC2**

them can be seen in figure 10

Table 1. Accuracy of the developed sensor to identify the material

task.

In this book chapter was proposed for the first time in the literature the shift in ∆t as a variable which can be used to identify the material. The method based on this variable, Peniel Method, is much easier and much less computationally expensive than other methods in the literature. This fact is the most important approach of this research because it lets to implement the ultrasonic material identification sensor in two robots. This last result was not found in the literature reviewed.

The cost of the ultrasonic AT120 transducer is only \$35US which is very low in comparison with other options (>\$400US) in the market which are used for the identification of materials. Then, it can be concluded that low cost ultrasonic transducers can be used instead of more expensive transducers if the proper method is used. This is another important strength of the method because it can be used in industrial processes to automate the material identification task at a low cost.

Another important conclusion of this work is that if the appropriate methodology is followed to design a sensor, it could be save considerable economical investments in the transducer, the processing system and the other elements necessary to design the sensor. In this case the methodology followed to develop the sensor consists of seven steps: 1) to study in depth the model or physical-mathematical models proposed in the literature 2) to perform experiments to confirm the theory and identify new signal patterns which let to develop new models 3) to redefine or create a new physical-mathematical model which must be simpler than the others and fits to the specific characteristics of the application, which in this case is two small robots to identify materials 4) This new model is the basis of the new method, but again it is necessary to also consider the characteristics of the specific application and all the constraints in order to design the electronic circuit and the algorithm of the method 5) to build the sensor with the proper devices in terms of cost, size and functionality 6) to design the appropriate experiments for the verification of the method 7) to validate the performance of the sensor using the proposed experiments and debug both the algorithm and circuit for optimum performance.

As it can be seen not only is necessary to design or redefined the software or hardware but also the mathematical model in order to obtain the sensor which fulfils the requirements of the application at the lowest cost.

The next step of this work is to implement completely the sensor in the mom-robot and sonrobot of the kit TEAC2H-RI without depending on the processing of the PC to identify the material.

Also more materials will be evaluated with the sensor in order to provide to the robot a wider database of materials.

Also in future work, will be used the peak voltage as another factor to identify the materials or to differentiate between materials of very similar acoustic properties.

## **6. Acknowledgment**

We would like to acknowledge to the Science, Technology and Innovation Management Department, COLCIENCIAS, for the economical support to the master student Juan José González España within the Youth Researchers and Innovators Program- 2009.

**Part 4** 

**Programming and Algorithms**

## **7. References**

