본문 바로가기
728x90

로봇 프로그래밍10

좌표체계에서 x와 z축 방향으로 y축 방향 결정하기 로봇 조립계획을 위하여 각 부품별로 지역 좌표 혹은 모델 좌표계(Local 혹은 Model Coordinate System)를 관리해야 한다. 예로 그림과 같이 원통형 부품을 설계할 때 상부 중심 좌표를 (10, 10, 20)으로 정했다면, 이를 조립할 다른 부품에 조립해야 하므로 (10, 10, 22)로 좌표 값이 변경된다. 조립품에서 부품의 조립품 상의 위치 정보를 placement라고 하며 조립품에서 위치는 원래 부품의 좌표계를 표시하는 지역 좌표계를 기준으로 전역 좌표계(World Coordinate System)로의 3차원 좌표변환(Coordinate Transformation)을 사용하여 표현한다. Placement 정보는 원점 위치와 x, y, z 축의 방향(Direction)으로 표현한다... 2023. 4. 25.
상호작용 - (7) Dobot Magician 로봇 파이썬 프로그래밍 Dobot Magician 로봇 파이썬 프로그래밍 7번째 시험 코드는 상호작용하는 프로그램이다. 상호작용(Interactive)이란 로봇 동작이 미리 프로그램되어 있지 않고 현재 내리는 명령에 따라 즉시 동작하는 방식을 뜻한다. Magician 로봇을 상호작용 방식으로 동작시키기 위해 시험에 다음을 고려하였다. 상호작용 명령 환경 구현 - Dobot Magician에 연속적인 상호작용 명령을 내릴 수 있는 Text Interpretor 환경 구현 상호작용 명령어 구현 - 로봇의 이동을 명령할 수 있는 move to x, y, z 명령어 구현 상호작용 명령 환경 구현을 위해 파이썬의 input과 while 명령어를 사용하여 사용자로부터 입력을 받도록 구현하였다. move to 명령어를 구현하기 위해서 파이.. 2023. 4. 1.
그리퍼 동작 - (6) Dobot Magician 파이썬 프로그래밍 그리퍼의 동작을 제어하는 SetEndEffectorGripper()를 사용하여 반복적으로 그리퍼를 열고 닫는 시험을 진행하였다. # 2023/3/31 test030 # gripper test - 그리퍼 제어 import threading import DobotDllType as dType CON_STR = { dType.DobotConnect.DobotConnect_NoError: "DobotConnect_NoError", dType.DobotConnect.DobotConnect_NotFound: "DobotConnect_NotFound", dType.DobotConnect.DobotConnect_Occupied: "DobotConnect_Occupied"} # Load Dll and get the CD.. 2023. 3. 31.
팔 동작 - (5) Dobot Magician Python 프로그래밍 Dobot Magician Python 프로그램에서 로봇의 동작을 구현하기 위하여 setPTPCmd()를 사용한다. 로봇 동작을 구현할 때 하드웨어 로봇의 동작 수행과 컴퓨터 처리 속도가 차이가 나므로 비동기 장치를 해 주어야 한다. 이 프로그램은 총 5번 x 축 방향으로 왕복하는 명령를 실행시킨다. 명령을 실행시킬 때 마지막 명령어의 Queue Index를 lastIndex에 저장한 후, dType.SetQueuedCmdStartExec() 함수로 Queue의 명령을 실행시킨다. 그 후 LastIndex와 현재까지 실제 실행된 명령어 Index(dType.GetQueuedCmdCurrentIndex(api)[0])를 비교하여 마지막 명령이 실행될 때까지 기다린다. # 2023/3/31 test020 #.. 2023. 3. 31.
팔이동 - (4) Dobot Magician 파이썬 프로그래밍 이번 시험은 로봇이동을 이용한 비동기 명령어 실행이다. 로봇 단위 Action은 한 위치에서 다른 위치로 로봇 엔드이팩터의 단위 이동을 뜻한다. 만일 로봇 Action 명령을 여러 개 내리면 앞의 이동이 끝나기 전에 뒤의 명령어가 실행되어 일관된 이동을 할 수 없다. 그러므로 GetQueuedCmdCurrentIndex(api)를 이용하여 현재 명령어의 인덱스 값을 얻어 해당 명령어 이전부터 현재까지 명령어가 실행될 때까지 dType.dSleep(100)을 이용하여 기다린다. # test020 3/30/2023 # Dobot Magician with Async commands import threading import DobotDllType as dType # string for dobot connect.. 2023. 3. 30.
Dobot Magician 좌표 체계 및 동작 모드 좌표 체계 Dobot의 좌표체계는 Joint와 직교 좌표체계 2개를 제공한다. 첫째는 Joint 좌표계이다. 아래 그림에서 보는 것처럼 4개 관절 축(J1-J4)의 반시계 방향 회전 값을 가진다. 둘째, 직교 좌표계이다. 아래 그림에서 보는 바와 같이 3개의 모터의 중심이 원점이고 End-Effector의 위치가 x, y, z 위치이다. 두 좌표 체계 모두 End-effector에 서보가 붙었을 때 반 시계 방향 회전(단위 도) 값을 추가 좌표값(R)으로 가진다. 모션 모드 PTP(Point To Point) 모드에서 움직일 때 MOVJ와 MOVL 두 가지 모션 모드를 사용할 수 있다. 이는 Teaching 시 사용한다. MOVJ Joint movement -두 점을 이동할때 각 각 모터가 독립적으로 목.. 2023. 3. 29.
모듈 파일 목록 - (3) Dobot Magician Python 프로그래밍 Windows에서 Dobot Magician 로봇 파이썬 프로그램 개발에 필요한 파일은 그림과 같다. 이 중 DobotControl.py가 예제파일이다. 이 파일을 임의의 디렉터리에 저장하면 파이썬 로봇 프로그램을 개발할 수 있다. DobotControl.py 동작 설명 읽어보기 > DobotControl.py 소스 설명 읽어보기 > 다음은test010.py로써 Dobot connection과 homing 기능을 test한다. # 2023/3/29 test010 # Connetion and Homing Test import threading import DobotDllType as dType CON_STR = { dType.DobotConnect.DobotConnect_NoError: "DobotConn.. 2023. 3. 29.
대표 예제 분석 - (2) Dobot Magician 파이썬 프로그래밍 DobotControl.py 예제 파일 소스코드 설명 □ Dobot, "Dobot Magician Demo Description", issue V1.1, 3/12/2019. 24-26 page DobotControl.py 프로그램 전문 import threading import DobotDllType as dType CON_STR = { dType.DobotConnect.DobotConnect_NoError: "DobotConnect_NoError", dType.DobotConnect.DobotConnect_NotFound: "DobotConnect_NotFound", dType.DobotConnect.DobotConnect_Occupied: "DobotConnect_Occupied"} # Load Dl.. 2023. 3. 27.
파이썬과 모듈 설치 - (1) Dobot Magician 파이썬 프로그래밍 이 글은 데스크탑 로봇팔인 Dobot Magician을 파이썬으로 프로그램할 때 기본적으로 필요한 요소들을 설명한다. Dobot Magician 로봇팔 프로그램에 파이썬을 이용하는 이유는 Dobot Magician의 파이썬 모듈이 잘 준비가 되어 있고, 비전 등 추후 확장할 수 있는 모듈도 많기 때문이다. 파이썬 설치 이번 Dobot Magician Program은 Windows 11 환경에서 개발한다. 그러므로 파이썬 64bit 버전을 사용할 예정이다. ​Dobot Magician Demo v2.1부터 Dobot Magician 64bit 파이썬 모듈이 제공된다. Dobot Magician Demo v2.0에서는 32bit 파이썬 모듈만 제공하였다. 이제 64bit 파이썬을 설치하여 Dobot Magi.. 2023. 3. 27.
Dobot Magician 에서 ERR_LIMIT_AXIS23_NEG 오류를 만났을 때 Home 좌표 재설정 Dobot Magician을 사용할 때 많이 보게 되는 오류가 로봇팔의 범위 밖으로 나갔다는 오류이다. 아래처럼 Dobot Magician Studio 창에 오류가 출력된다. ERR_LIMIT_AXIS23_NEG ERR_LIMIT_AXIS23_POS 경우에 따라 AXIS2가 뜨는 경우도 있다. 2, 3은 축을 뜻하는 것으로 보인다. ​동시에 로봇 베이스의 LED가 빨간색으로 변한다. LED 색이 녹색이면 정상, 파란색이면 setting 중이다. 이 오류가 시작하자 마자 생기고 없어지지 않으면 로봇의 home 좌표가 잘못되어 생길 수 있다. 해결하는 방법은 매지션 스튜디오에서 home 좌표를 다시 정하는 것이다. 스튜디오를 실행시키고 로봇을 연결시킨 후, Teaching & Playb.. 2023. 3. 8.