• No results found

Integration of Robot with Vision System

Integration of Vision System and Robot Controller

5.5 Integration of Robot with Vision System

This step is an important step in the system development. Initially, the robot is connected to the vision processor through a terminal software KCwinTCP [http://sine.ni.com/nips/cds/view /p/ lang/en/nid/211069/overview]. For this the robot address and vision system address are set. Here,

Place the Robot and Robot Controller in proper place Connect the Teach Pendant to

robot controller Connect peripheral control

devices and equipment Connect external power supply

Turn ON Controller power and servo motor

Confirm operation of robot arm in Teach Mode

144

the robot address 192.168.1.1 and the system address 192.168.1.3 are mapped by the termina l software. Once they are connected, a third party software is used for controlling the robot by the LabVIEW programming environment. Digi-Matrix Kawasaki Robot Library is the third party software which provides a programming environment for giving commands to robot. This software enables the user to develop applications for automated test, laboratory automation, and automated assembly setup. This software removes the complexity in writing programs in AS language for robot control. Initially, a program is written to check the communication status between robot and vision processor as shown in Figure 5.17 and Figure 5.18.

Figure 5.17: Communication check program functional module

145

A separate program is written to get the status of the robot and its controller. This shows whether the power is ON/OFF. This program generates an error signal if any error is occurred in the robot controller. The program is also shows the current mode of operation of controller i.e., Teach/Repeat. The front panel is shown in Figure 5.19 and its functional block diagram in Figure 5.20.

Figure 5.19: Get the status of the robot Controller (Front panel)

146

Similarly, the servo motor is put in ON condition for robot to act. The servo ON/OFF is done by the program servo_On_Off.vi. This program makes the servo motor to ON/OFF as per the requirement. The front panel and functional block are shown in Figure 5.21 and Figure 5.22.

Figure 5.21: Power state of the servo motor of the robot (Front Panel)

147

A program digital_in_digital_out.vi allows to set control to the desired digital output line number, set the desired line state to set value. Set the line number to get control to the desired digital input or output line number and specify the line type. The front panel and block diagram are given in Figure 5.23 and Figure 5.24. Now, the robot is ready for any operation. The current position of the robot is determined by a LabVIEW program (as shown in Figure 5.25 and Figure 5.26). Actual operation by the robot is performed in program simple_move.vi as shown in Figure 5.27 and Figure 5.28.

Figure 5.23: Program for setting digital in and digital out line number (Front Panel)

148

Figure 5.25: Compute current position of robot (Front Panel)

149

Figure 5.27: Program for a simple move of robot (Front Panel)

150

5.5.1 Proposed Workspace

The technical specification of the Kawasaki robot (model RS06L) used in this work is given in the Table 3.1. The workspace of robot manipulator is defined as the set of points that can be reached by its end‐effector. In other word, the work space of a robot arm is the set of positions, consisting of both a reference point and the orientation about this point, that are reachable by its end effector. A robot is designed so its end effector has unconstrained freedom of movement within its workspace. However, this workspace does have boundaries, defined in part by extreme reach allowed by the chain. The shape, size of the workspace for a robot is a primary consideration in its design.

The workspace of a linkage is defined by identifying a specific link as the work piece. Then the workspace is the set of positions that this workspace can reach. For serial open chains and platform linkages the dimension of the workspace is exactly the generic mobility F of the system, when F<=K. If the mobility F of the linkage is greater than the unconstrained freedom K, then the system is said to have redundant degree of freedom. The system developed for the application is given in Figure 5.29.

Figure 5.29: Developed System Model

Workspace for the robot gripper

151

The important consideration in designing the workspace is the dimension and structure (shape and volume) of the workspace. These aspects have a significant importance due to their impact on the design and manipulability of the robot. The precise knowledge about these factors are important as:

 The shape plays an important role in defining the working environment of the robot.  The dimension determines the reachable location of the end-effector.

 The structure of workspace is important for assuring kinematic characteristics of the robot which are in relation with the interactions of the robot to its environment.

In a part assembly environment, the robot is picking part from a specific location and placing it in a desired place. So, it is understood that, the robot gripper is moving in a region specified according to the application. In this work, the movement of the gripper is restricted to some value along x,y and z directions which is given in the Figure 5.30.

Figure 5.30: Workspace of the robot

Moreover, shape, dimensions and structure of the workspace is dependent on the robot features. The design constraints of robot workspace with respect to robot features are as follows :

 The dimensions of each link of the robot and the mechanical boundaries of each joints (both active and passive) affect the design workspace with respect to its dimension.

(-1100, 200) (-550,200) (-550,-275) (-1100, -275) Y X

152

 The shape of the workspace depends on the geometrical structure of the robot (interference between links).

 The structure of the workspace is also governed by the dimensions of links and the structure of the robot.

The movement along x-axis is restricted to -550 to -1100. It is because, the parts are placed within this region. Similarly, it is restricted to -275 to 200 along y-axis. The downward movement along z-axis is limited to 4. These restrictions is vital for the success of the application. The model of the workspace for left-right, upward-downward and forward-backward are shown in Figure 5.31 (a), (b) and (c) respectively.

Figure 5.31: Movement of Robot gripper in the specified workspace (a) Left-right movement, (b) Upward-downward movement and (c) Backward-forward movement

There may be the case the parts are available different locations inside the workspace. It is desirable that the end effector to reach at the part in a shortest path. Considering this, program is developed in LabVIEW, which make the robot to move along the diagonal direction. The robot also moves along x-axis and y-axis direction. Suppose the desired part is available at a position just near to the center of the workspace. In this case, the robot automatically finds the shortest path by moving along the diagonal and then along x-axis or y-axis direction. Such a case is given in the Figure 5.32. The front panel diagram and functional block of the program are shown in Figure 5.33 and Figure 5.34 respectively.

Left Right Down Up (a) (b) Back Front (c)

153

Figure 5.32: Part present in the workspace near to center

Figure 5.33: Robot axis control program (front panel)

(−1100, 200) (−550, 200) (−550, −275) (−1100, −275) Y X

154

155

5.5.2 Method of Integration

The success in development of the proposed system lies in effective integration of machine vision system with the robot system. Before integrating the robot system with machine vision system, it is assumed that each system is configured accurately as per the requirement in the applicatio n. Going in detail, the attached hardware like vision sensors (camera), data acquisition system, and motion controller are configured by the platform NI-Max (Measurement and Automatio n Explorer) provided by National Instruments. During this configuration, the camera attributes and acquisition attributes are set as required by the application. This steps are shown in Figure 5.8 and Figure 5.9. The proper calibration of camera is a key factor for acquisit ion of better quality images. The steps followed for calibrating the camera is shown in Figure 5.10. The calibration process is performed in the LabVIEW environment as shown in Figure 5.11. Then the robot system is configured to connect to the vision system via Ethernet port. The robot is set to be in repeat mode. For a successful connection, the robot IP and vision system IP is set. In this work, the robot IP is set as 192.168.0.1 and the vision system IP is 192.168.0.3. The status of the connection is checked by a program as shown in Figure 5.17 and Figure 5.18. This program allows to check the status of the communication between vision processor and robot controller. Similarly, the status of the robot controller is determined by executing the program as in Figure 5.19 and Figure 5.20. This program results in determining the power status, modes of operation, error status if any, status of the current task if present and accuracy of the controller. The status information of the robot are important for feeding any task to the robot controller through vision processor. The robot can be controlled by the vision system, if it is in “REPEAT” mode. The robot can be trained in “TEACH” mode. A program is executed to make the servo motor ON. This is required in advance for giving commands to the robot. This is shown in Figure 5.21 and Figure 5.22. This enables the robot to execute tasks. Now, each joints of the robot is checked by examining the digital line that connects it with the robot controller. The program shown in Figure 5.23 and Figure 5.24 is executed to check the status of each digital line. A program is executed to determine the current position of the robot in Cartesian coordinates with respect to each joint as shown in Figure 5.25 and Figure 5.26. All these programs are executed to ensure that all requisite conditions are satisfied before making the robot to move from a position to a desired position. For a simple move, the desired position coordinate is given as input to the program and also the speed, acceleration and deceleration are set. The robot moves from current position to a desired position with synchro motion i.e., point to point or joint

156

interpolation motion. The algorithm for performing a simple movement by the robot autonomous ly is given below.

Algorithm 5.1

Assumption: The robot and the machine vision system are configured properly.

Step 1. Check the status of the communication between machine vision system and robot controller.

Step 2. Get the status of the robot.

Step 3. Make the mode of the robot controller to “REPEAT” Step 4. Make the servo motor ON

Step 5. Check the digital line for each joints of the robot

Step 6: Determine the current position of the robot with respect to joint displacement in Cartesian coordinate

Step 7. Provide the desired position coordinates value for each joint Step 8: Move the robot to a desired position

5.6

Summary

It is important to integrate the vision system with that of the robot in order to make the robot visually active. The process of integration follows certain protocols and takes help of few algorithms for its implementation. This chapter contains the details of the process followed for integrating the two systems and finally testing the vision integrated robotic system for desired and correct operation.

153

Chapter 6

Visual Servoing for Robot