• 沒有找到結果。

Chapter 2 System Overview

In this chapter, the proposed parallel manipulator of this research is introduced and described. The description of the manipulator mechanism includes the geometric structure and the linkage configuration of the parallel manipulator. The layout of the test rig of the manipulator system, including the experimental setup and the operating principle of both the pneumatic servo subsystem and the overall integrated manipulator system, is presented and illustrated in this chapter. The system hardware which contains pneumatic components, sensory devices and a PC-based controller will be listed and described in detail. In addition, a software interface used to execute the control algorithm and monitor the output data in real time will be introduced.

2.1 Mechanism Description

The proposed manipulator is basically composed of three identical limbs, a fixed base, and a moving platform. The structure of the proposed parallel manipulator is shown in Fig. 2.1. A reference frame (x-y-z) is attached to the fixed base at point O. The three identical limbs labeled as A, B and C are connected the moving platform to the stationary base in parallel. Each limb consists of a linear guide-way, a slider which is also the input link, and a pair of parallel-aligned kinematic links. The axes of the linear guide-ways are assembled and connected to the base in the way that the geometric structure of the manipulator is in an inverted pyramidal shape.

Fig. 2.2 shows the joint-link configuration of the manipulator. The three sliders, driven by the pneumatic rodless cylinders, are translated along the linear guide-ways by three one degree of freedom (DOF) prismatic joints. For each limb, a set of parallel kinematic chain connects the slider and the moving platform. The parallel kinematic

chain is assembled by two carbon fiber rods whose ends are linked to the slider and the moving platform by four 3-DOF spherical joints (ball joints).

Limb B Limb A

Limb C

Fixed Base

Moving Platform

z

x o y

Fig. 2.1 Three-axial pyramidal pneumatic parallel manipulator

Fixed Base

Moving Platform

Prismatic Joint

Spherical Joint

Parallel Kinematic Chain

Fig. 2.2 Joint-link configuration of the parallel manipulator

According to the arrangement of the parallel links and the spherical joints in each limb, there exist the so-called "passive degrees of freedom" in the manipulator system.

Because these passive DOFs do not provide extra motion to the moving platform and do not increase the mobility of the manipulator, the two spherical joint pairs at the upper and lower ends of the parallel kinematic chain function as two single 2-DOF universal joints and can be seen as a P-U-U (Prismatic-Universal-Universal) configuration. Thus, the overall configuration results in a 3-PUU mechanism in accordance with [14].

Note that the only actuated joints of the manipulator are the three prismatic joints and all spherical joints are passive joints. Besides, the structural characteristics and linkage configuration are similar to famous DELTA parallel robots, and can be classified as a linear-type DELTA robot from [48]. The photograph of the three-axial pyramidal pneumatic parallel manipulator developed in this research is shown in Fig. 2.3.

Fig. 2.3 Photograph of the three-axial pyramidal pneumatic parallel manipulator

2.2 Test Rig Layout

2.2.1 Pneumatic Servo Positioning System

The test rig layout of a pneumatic servo positioning system is shown in Fig. 2.4, which illustrates the single-axial pneumatic actuator system of the manipulator. The pneumatic actuator system comprises an air pressure source, a proportional servo valve and a pneumatic rodless cylinder. The pressure source is provided by an air compressor made by Taiwan Co Sheng, and the supplied air pressure is regulated at 6 bar. The servo valve is a 5/3-way proportional directional control valve made by Festo AG (model MPYE-5-M5) and is used to control the air flowing into the cylinder. A pneumatic rodless cylinder with 25 mm bore and 500 mm stroke (Festo model DGC-25-500) is used as the linear actuator. An optical linear encoder with 1 μm resolution is used as the position sensor and installed on the cylinder to measure the piston’s position. Two pressure sensors (Festo model SDE1) are connected to the two ports of the cylinder and used to measure the pressures of the two cylinder chambers.

Fig. 2.4 Test rig layout of the pneumatic servo positioning system

In the closed-loop system, the measured signals are fed back to a PC-based controller via the interface cards which are the data acquisition (DAQ) cards containing counters (CTR) and A/D converters. The input command voltage for the servo valve is given from the analogue output ports on the DAQ cards via the D/A converters. The control system is implemented on a Windows-based personal computer. The algorithms for the control system are created and built up in a Simulink model by Matlab software, and the Real Time Windows Target (RTWT) by Mathworks is utilized to automatically generate C codes and executable files from this Simulink model. The generated executable file runs in real time on the personal computer with 1 ms of sampling time (1 kHz sampling frequency) and realizes a real-time control system. This allows easy design and rapid testing of the control algorithms with the actual hardware.

2.2.2 Overall Manipulator System

The layout of the overall three-axial pneumatic parallel manipulator system is shown in Fig. 2.5. The pneumatic servo system of the manipulator contains three proportional servo valves of the same type and three identical pneumatic rodless cylinders. The three rodless cylinders work together as the actuators on the three axes of the manipulator sharing the same pressure source and each axis has a linear encoder which measures the piston position of each cylinder,

y ,

A

y and

B

y . There are total

C six pressure sensors which are used to monitor the chamber pressures of the three cylinders, where

P and

1

P respectively represent the upper chamber pressure and the

2 lower chamber pressure of each axis cylinder.

u ,

A

u and

B

u denote the control

C input signals for the proportional valves of axis A, B and C, respectively.

A axis B axis C axis

A axis B axis

C axis

u

A

P

1,A

P

2, A

y

A

u

B

P

1,B

P

2,B

y

B

u

C

P

1,C

P

2,C

y

C

y

A

y

B

y

C 1, 2,

A C

PP

u

A

u

B

u

C

Fig. 2.5 Test rig layout of the overall manipulator system

In the PC-based control unit, three DAQ cards are installed and used to output the control signals and receive the input signal data from the different sensors. The control voltages of three proportional valves are calculated by the real-time control algorithm in the computer and sent to the control valves via the analogue output channels on PCI-1720U DAQ card manufactured by Advantech. The pressure data of cylinder chamber measured by the pressure sensors are recorded by Advantech PCI-1710UL multifunctional card via the analogue input channels. Finally the piston displacements

of cylinders measured by the linear encoders are counted and recorded by the counters on PCI-6601 DAQ card produced by National Instruments. Thus, the motion control of the manipulator end-effector can be achieved by simultaneously controlling the piston positions of the three cylinders with the individual pneumatic servo positioning system.

Table 2.1 summarizes the components and the specifications of the system hardware used in the three-axial pneumatic parallel manipulator system.

Table 2.1 Specifications of system hardware

Components Manufacturer Type Specifications Air Compressor Taiwan Co Sheng AU-5 Flow rate: 500 / min l

Output pressure: 6 bar Pneumatic Rodless

Cylinder Festo DGC-25-500-KF-YSR-A Piston diameter: 25 mm Stroke: 500 mm Pneumatic Proportional

Directional Control Valve

Festo MPYE-5-M5-010-B Valve function: 5/3 way Input voltage: 0 - 10 V

Pressure Sensor Festo SDE1-D10

Pressure measuring range: 0 - 10 bar Output voltage: 0 -10 V Optical Linear Encoder Jena LIA20-L301-WA Resolution: 1

μm

Data Acquisition Card

Advantech PCI-1720U 4-ch analog output with 12-bit D/A converter

Advantech PCI-1710UL

16-ch analog input with 12-bit A/D converter 16-ch digital input/output

National Instruments PCI-6601

4-ch 32-bit counter with 20 MHz maximum

source frequency

32-ch digital input/output

Chapter 3 Path Planning Algorithms for 3D Printing

3D-printing process requires the completion of four main tasks, such as Object Orientation, Support Generation, Slicing, and Path Planning. However, path planning has a remarkable impact on the overall manufacturing time and, therefore, the algorithms play a crucial role in solving this problem.

This chapter consists of three parts. The first part is to derive the path planning model. The Graph theory is introduced first, and according to the ways of linkage between each two points, some are built in double-directions directed graph and others are in single-direction directed graph. Both of them are in vector form. The second part is the path planning strategy for a layer. The modified Depth-First Search (DFS) and the modified Genetic Algorithm (GA) are proposed to generate the sub-paths and optimize the linkages of all sub-paths. The third part is the path planning strategy for layer-to-layer, based on the proposed algorithms for a layer to cascade all layers.

3.1 Path Planning Model

Before building the path planning model, the desired printing object has to be sliced equally first, and Fig. 3.1 shows an example. 3D printing is an additive manufacturing, which builds up layer by layer, and the easiest way to establish layers is to slice horizontally. The height of layers depends on the extruder of 3D printers. In order to simplify naming layers in this thesis, the bottom layer, called Layer 1, means the first layer to manufacture, and Layer 2 means the second layer to manufacture, etc.

In Fig. 3.2, it is a three-layer object which means the bottom layer is Layer 1 and the top layer is Layer 3. Besides, the number of top layer implies that how many layers the desired printing object is composed of.

Fig. 3.1 Slicing a desired printing object equally

Fig. 3.2 The definition of layers

After slicing the desired printing object, the next step is to make each layer with equal-sized rectangular mesh, according to the resolution and extruder of 3D printers. In Fig. 3.3, a layer meshes into nine small cubes.

The last step is to choose an appropriate position as a point to represent component mesh. The best position of x-y plane, the horizontal direction of slicing, is to pick the center of shape of component mesh; the ideal position of z plane, the perpendicular direction of slicing, is at the bottom surface of component mesh, because of additive manufacturing. The result is depicted in Fig. 3.4. In the end, a 3D object is converted into 2D images, which are composed of simple points.

Layer 3

Layer 2

Layer 1

(a)

(b)

Fig. 3.3 Equal-sized rectangular mesh on a layer: (a) front view (b) top view

Fig. 3.4 The position of a point (red dot) substitutes component mesh

Graph theory [49] has a wide range of applications in engineering, in biological sciences, and in numerous other areas. A graph can be used to represent almost any physical situation involving discrete objects and a relationship among them. The Königsberg Bridge Problem is perhaps the best-known example in graph theory. It was a long-standing problem until solved by Leonhard Eular in 1736, by means of a graph [50]. Eular wrote the first paper ever in graph theory and thus become the originator of

y x

z

the theory of graphs as well as of the rest of topology.

In path planning model, the component mesh is represented as points. It is helpful to use graph conveying the relationship between points on a layer and layers. In order to express the path directions of 3D printing, a directed graph G could be considered as going form vertex

v to vertex

i

v or from

j

v to

j

v , which presented as a start point

i and an end point in an overall path trajectory. For example, Fig. 3.5 shows a directed graph with five vertices (

v v v v v ) and five edges (

1, , , ,2 3 4 5

e e e e e ).

1, , , ,2 3 4 5

Fig. 3.5 A directed graph with 5 vertices and 5 edges

On a layer, each two of adjacent points should use double directions of directed graph representing two possible straight paths between vertex

v and vertex

a

v which

b are adjacent points and denoted

v v 

a b

and

v v 

b a

as edges, or paths. The reason is to show all possible path trajectories before path planning. In Fig. 3.6, five points

v ,

1

v ,

2

v ,

3

v , and

4

v on a same layer are used double-directions directed graph to represent

5 the relationship of adjacent points.

Between layers, vertex

v and vertex

c

v , which are on different layers, should

d use single direction of directed graph representing only one straight path which denoted

v

1

e

2

e

3

e

5

v

3

v

4

v

5

v

2 4

e

e

1

v v 

c d

as an edge, or a path. Owing to additive manufacturing, the overall path trajectory must start from bottom layer and end at top later; thus, using single direction of directed graph between layers shows the characteristic of 3D printing. In Fig. 3.7, there are three points

v , in Layer 1,

1

v , in Layer 2, and

2

v , in Layer 3, which used single-direction

3 directed graph to link layers from bottom to top.

Both two directed graphs, the double-directions and the single-direction, are in vector form to express all possible orientations among points before path planning and also show only an overall expected path trajectory after path planning which are introduced in Section 3.2 and 3.3.

Fig. 3.6 Double-directions directed graph on a layer before path planning

Fig. 3.7 Single-direction directed graph between layers before path planning

Layer 1

Layer 2 Layer 3 v

3

v

2

v

1

v

5

v

2

v

1

v

4

v

3

3.2 Single-Layer Path Planning Strategy

The algorithms of single-layer path planning are divided into two steps. The first step is to traverse all points on a layer and establish all sub-paths, which is introduced in Section 3.2.1 based on Depth-First Search (DFS), named modified-DFS. The second step is to find a minimum cost, means shortest lengths, of linking all sub-paths on a layer, which is introduced in Section 3.2.2 based on Genetic Algorithm (GA), named modified-GA. After that, a planned path trajectory on a layer is accomplished.

3.2.1 Path Generation

Depth-First Search (DFS) is a powerful technique of systematically traversing the edges of a given graph

G

=( , )

V E

, consists of a non-empty set of V of vertices and a set E of unordered pairs of vertices of V called edges, such that every edge is traversed exactly once, and each vertex is visited at least once. This technique, also called backtracking, was first formalized and used by Hopcroft and Tarjan in 1974 [51].

But in Section 3.1, each two points on a layer are connected in double-directions directed graph indicating all possible traversing ways; nevertheless, DFS is used on directed or undirected graphs of which edges are certainly exist. Therefore, DFS is not perfectly suitable for this case and needs modifications, named modified-DFS, which means to continue the concept of traversing all vertices on a layer.

As DFS, before using the modified-DFS, the priorities of traversing directions from a vertex to another have to be determined first and are only considered in four possible directions: Right, Left, Front, and Back. Fig. 3.8 shows the priorities of four traversing directions starting from vertex v. Right is the highest priority which means if a vertex is at adjacent right of v, it must traverse this direction first; Front is the lowest

priority which means this direction is the last consideration if other adjacent vertices have traversed before or no other adjacent vertices exist near to v.

Fig. 3.8 The priorities of traversing directions (1 is the highest priority)

Owing to only four possible traversing directions, the double-directions linkages between each two points on a layer, mentioned in Section 3.1, are therefore also considered in four directions: Right, Left, Front, and Back. In other words, the diagonal double-directions linkages are impossible to happen. For instance, there are six points on a layer in Fig. 3.9(a). The linkages among these six points are only considered in four directions and shown in Fig. 3.9(b). Apparently, the linkage between

v

2,2, denoted the position of (2, 2), and

v , denoted the position of (3, 3), does not exist.

3,3

Fig. 3.9 The linkages between each two points based on traversing directions:

(a) 6 points (b) double-directions linking strategy

Front

After the priorities of traversing directions are decided, the modified-DFS works in the following ways with an example shown in Fig. 3.10 for better understanding.

A.

Select a start point as first sub-path named Sub-path 1. In Fig. 3.10(a), there are nine points on a layer and the start point of Sub-path 1 is

v , denoted the

1,4 position of (1, 4).

B.

Check the neighborhood of start point to see if any of points are available. In Fig. 3.10(a),

v

2,4, denoted the position of (2, 4), is at adjacent right of

v

1,4 and the only neighbor.

C.

Select a point in the neighborhood of start point except been visited according to the priorities of traversing directions, and mark it as part of Sub-path 1. In Fig. 3.10(b), select

v

2,4, the only neighbor and the highest traversing priority, and link

v to

1,4

v

2,4 as path trajectory of Sub-path 1.

D.

Repeat the steps from step B to step C. If no points are available in the neighborhood of last selected point in Sub-path 1, the first sub-path is finished.

In Fig. 3.10(c), the selected point are

v

2,3, denoted the position of (2, 3),

v ,

3,3 denoted the position of (3, 3), and

v

4,3, denoted the position of (4, 3), in order.

No points are available in the neighborhood of

v

4,3 except been visited and, thus, Sub-path 1 is accomplished.

E.

Go back to the former selected point and check if any of points are available in neighborhood except been visited. If not, repeat step E again. If the former selected point is the start point of Sub-path 1, jump to step I. In Fig. 3.10(d), the last selected point is

v

4,3 and the former selected point is

v ; sadly, no

3,3 points are available in the neighborhood of

v except been visited. After

3,3

repeating step E again, the former selected point is

v

2,3 and one neighbor

v

2,2, denoted the position of (2, 2), is at adjacent back of

v

2,3.

F.

Select an available point based on step E except been visited according to the priorities of traversing directions and set it as start point of new sub-path named Sub-path 2. In Fig. 3.10(d), the start point of Sub-path 2 is

v

2,2 which is in neighborhood of

v

2,3, one of selected points in Sub-path 1.

G.

Check the neighborhood of start point, select a point except been visited according to the priorities of traversing directions and mark it as part of Sub-path 2. Repeat on following selected points till no points are available in neighborhood and, finally, Sub-path 2 is finished. In Fig. 3.10(e), the selected point except start point are

v , denoted the position of (2, 1),

2,1

v , denoted

1,1 the position of (1, 1), and

v , denoted the position of (1, 2), in order. No

1,2 points are available in the neighborhood of

v except been visited and, thus,

1,2 Sub-path 2 is accomplished.

H.

Repeat the steps from step E to step G and name new sub-path as Sub-path 3 if any of points are still available, and so on till the former selected point in step E is the start point of Sub-path 1. In Fig. 3.10(f), the last selected point is

v ; after repeating step E again and again because of no available points, the

1,2

former selected point becomes

v which is the start point of Sub-path 1.

1,4

I.

If no points are available in the neighborhood of the start point of Sub-path 1

except been visited, modified-DFS is completed. If not, repeat the steps from step F to step H. In Fig. 3.10(f), no points are available in the neighborhood of

v except been visited; therefore, modified-DFS is completed.

1,4

0 1 2 3 4 5

Fig. 3.10 A general example of modified-DFS

start start

Fig. 3.10 is a general example in which each point has at least one point in the neighborhood of four traversing directions; however, occasionally some points are separated into un-connected groups on a layer. For instance, Fig. 3.11(a) shows a layer with eleven points selected

v , denoted the position of (1, 4), as the start. After

1,4 applying modified-DFS, only one sub-path, Sub-path 1, is generated which starts from

v and ends at

1,4

v , denoted the position of (1, 3), shown in Fig. 3.11(b). Apparently,

1,3 Sub-path 1 merely includes eight points and three points are left to wait for traversing.

To solve this situation, the method is adding a counter to calculate how many points have been marked in step C and step G. Because the total amount of points on a layer is given, the advantage is to make sure each point belongs in one of sub-paths. If the counter does not match up after first modified-DFS, finding a nearest point to the first start point, because modified-DFS ends when backing to the start in step I, to turn into a new start point as second modified-DFS, and so on till the counter matches the total amount of points on a layer. By continuing the case in Fig. 3.11, the nearest point to

v , the start of first modified-DFS, is

1,4

v

4,3, denoted the position of (4, 3), which becomes the new start point of second modified-DFS and shown in Fig. 3.12(a). After applying second modified-DFS in Fig. 3.12(b), Sub-path 2 is generated and starts from

v

4,3 and ends at

v , denoted the position of (4, 1). The counter is eleven which means

4,1 each point has been traversed and no needs to try third modified-DFS.

Fig. 3.13 is a complete example including the exception. Fig. 3.13(a) shows a layer with forty-five point selected

v as the start. In Fig. 3.13(b), Sub-path 1, Sub-path 2

1,8 and Sub-path 3 are generated during first modified-DFS; Sub-path 4 is established during second modified-DFS. After these, the counter is forty-five and each point has been traversed, which means the first step of single-layer path planning is finished.

0 1 2 3 4 5

Fig. 3.11 The exception in modified-DFS:

(a) 11 points (b) some un-traversed points after modified-DFS

0 1 2 3 4 5

Fig. 3.12 Solution of the exception in modified-DFS:

(a) selecting a new start point nearest to the start point of Sub-path 1 (b) using modified-DFS again and checking the counter when completed

(a) selecting a new start point nearest to the start point of Sub-path 1 (b) using modified-DFS again and checking the counter when completed

相關文件