Skip to content

ZRA – ex13_Tack_Time.py

				
					#!/usr/bin/python
# -*- coding: utf-8 -*-
## 1. 초기 설정① #######################################
# 라이브러리 가져오기
## 1.초기 설정 ① 모듈 가져오기 ######################
from i611_MCS import *
from teachdata import *
from i611_extend import *
from rbsys import *
from i611_common import *
from i611_io import *
from i611shm import * 
import time 

def main():
    ## 2. 초기 설정② ####################################
    # ZERO 로봇 생성자
    rb = i611Robot()
    # 좌표계의 정의
    _BASE = Base()
    # 로봇과 연결 시작 초기화
    rb.open()
    # I/O 입출력 기능의 초기화 
    IOinit( rb )
    # 교시 데이터 파일 읽기
    data = Teachdata( "teach_data" )
    ## 1. 교시 포인트 설정 ######################
    p1 = Position( -418.30, -398.86, 287.00, 0, 0, -180 )
    p2 = Position( -158.54, -395.10, 287.00, 0, 0, -180 )
    ## 2. 동작 조건 설정 ######################## 
    m = MotionParam( jnt_speed=10, lin_speed=100, pose_speed=100, overlap = 30 )
    #MotionParam 형으로 동작 조건 설정
    rb.motionparam( m )

    rb.home()
    dout(48,'000')
    dout(48,'100')
    dout(48,'000')
    ## 3. 로봇 동작을 정의 ##############################
    # 작업 시작
    while True:
        # 시작 시간 my Tack에 저장
        myTact = time.time() 

        # Move p1
        rb.move(p1)
        rb.line( p1.offset(dz = -50))
        # OUT: 50번:0, 49번:0, 48번:1 
        dout(48,'001')
        rb.sleep(0.5)
        dout(48,'000')
        rb.line( p1)

        rb.line( p2 )
        rb.line( p2.offset(dz = -50))
        # Move p2 
        dout(48,'100')
        rb.sleep(0.5)
        rb.line(p2)

        dout(48,'000')

        # Tack Time = 종료 시간 - 시작 시간
        myTact = time.time() - myTact
        
        # Tack Time 출력 
        print "Tack time : ", myTact
        
    ## 4. 종료 ######################################
    # 로봇과의 연결을 종료
    rb.close()
if __name__ == '__main__':
    main()