image.png

/home/i611usr/minjae_files/sungwootest.py에 저장

#!/usr/bin/python
# -*- coding: utf-8 -*-

from i611_MCS import *
from i611_extend import *
from i611_io import *
from teachdata import *
from rbsys import *
from i611_common import *
from i611shm import * 

def main():
  
    rb = i611Robot()
    _BASE = Base()
    rb.open()
    IOinit( rb )

    data = Teachdata( "teach_data" )

    j1 = Joint(10, 0, 0, 0, 0, 0) # joint좌표계(j1, j2, j3, j4, j5, j6)
    p1 = Position( 0, 300, 400, 0, 0, 0 ) # position 좌표계 (x, y, z, rx, ry, rz)
    j2 = Joint(0, 0, 0, 0, 0, 0)

    m = MotionParam( jnt_speed=10, lin_speed=70 )
    rb.motionparam( m )
    rb.home()
    rb.move( j1 )
    a = rb.getjnt() #a는 joint객체로 저장된다
    rb.move( p1 )
    b = rb.getpos() #b는 position 객체로 저장된다
    rb.move( j2 )
    
    ****print(a)  # Joint 객체  기본 출력 (메모리 주소 나옴)
    print(a.__dict__)  # Joint 좌표계 dictionary로 받아옴
    print(a.jnt) # Joint 좌표계 list로 받아옴
    print(b) # Position 객체  기본 출력
    print(b.__dict__) # Position 좌표계 dictionary로 받아옴(메모리 주소 나옴)
    print(b.pos) # Position 좌표계 list로 받아옴
    open("end", "w").close()
 
    rb.close()

if __name__ == "__main__":
    main()

구동 시 로봇의 모션 중, 각 a = j1의 joint 좌표 (joint class), b = p1의 position 좌표 (position class)를 저장

동작이 끝난 후 클래스 및 좌표 관련 정보 print

image.png

위의 코드 실행 후 출력을 보기 편하도록 정리한 것

    print(a)  # Joint 객체  기본 출력 (메모리 주소 나옴)
    
result: <i611_MCS.Joint object at 0x1641c70>
    print(a.__dict__)  # Joint 좌표계 dictionary로 받아옴

result: {'jnt': [9.9999226485148505, -0.0, 0.0, 0.0, 0.0, 0.0]}
	  print(a.jnt) # Joint 좌표계 list로 받아옴

result: [9.9999226485148505, -0.0, 0.0, 0.0, 0.0, 0.0]
    print(b) # Position 객체  기본 출력
    print(b.__dict__) # Position 좌표계 dictionary로 받아옴(메모리 주소 나옴)
    print(b.pos) # Position 좌표계 list로 받아옴

result:
<i611_MCS.Position object at 0x1641d30>
{'pos': [-0.0, 300.0, 400.0, -0.0, -0.0, -0.0, <i611_MCS.Base object at 0x15ccef0>, 2, 0L]}
[-0.0, 300.0, 400.0, -0.0, -0.0, -0.0, <i611_MCS.Base object at 0x15ccef0>, 2, 0L]