본문 바로가기
728x90

Magician14

자동 로봇 조립을 위한 스마트 로봇용 예제 조립품 시험 Team Robotics Intelligence Platform (TRIP) 연구의 대상 제품으로 지금까지 사용했던 asm C는 원형 부품을 이용한 -z 축 조립만 필요한 부품이었다. 보다 일반적인 자동 조립 기능을 제공하기 위하여 원형이 아닌 다각형 단면을 가진 부품과 z 축이 아닌 x나 y 축 조립 방향을 가진 예제 제품인 asm D를 준비하였다. asm D 조립품은 base, column 그리고 shaft로 구성되었다. asm D를 활용하여 다각형 단면을 가지는 포켓 특징 형상 판별(base의 직사각형 단면을 가지는 포켓), 다중 특징 형상 판별(shaft의 blind hole과 다면체 기둥) 그리고 z 축 방향 조립(shaft와 column의 조립) 기능을 확장할 예정이다. ​ asm C와 동일하.. 2023. 4. 25.
스마트 로봇 적용 - 4개 부품 조립 예 다음 화면은 TRIP에 아래와 같이 base, shaft, top 그리고 spring, 4개의 부품으로 이루어진 조립품을 자동 조립하는 과정을 보여준다. spring 부품은 3D 프린팅 하기 어려워 원통형 부품으로 대체하였다. 아래 동영상의 프로그램은 itrip 실행 화면이다. itrip은 명령어를 이용하여 연결된 로봇에게 명령을 할 수 있는 상호 작용 환경이다. 예에서는 TRIP이 자동으로 생성한 로봇 조립 계획을 실행하는 run 명령어를 사용하였다. 2023 EDBLab 2023. 4. 18.
로봇 조립 계획 - (5) TRIP 부품 조립 순서(BOM 데이터베이스)와 부품과 중간 조립품의 형상 정보(CAD 데이터베이스)를 이용하여 로봇 조립 계획을 생성한다. 로봇 조립 계획은 로봇 팔을 이용하여 부품을 조립하여 완성품을 만드는데 필요한 작업의 순서와 로봇팔의 단위 위치를 정의한다. 로봇 조립 계획은 로봇 팔의 출발 위치와 도착 위치로 정의되는 단위 움직임인 action, 한 부품에 대한 모든 action의 순서인 operation 그리고 조립품에 대한 모든 operation의 순서인 task로 구분할 수 있다. 그러므로 로봇 조립 계획은 대상 최종 조립품에 대한 task와 동일하다. TRIP에서 로봇 조립 계획을 생성하는 프로그램은 actpy이다. TRIP은 로봇 조립 계획을 BOM 데이터베이스의 BOM에 연결된 robot_pa.. 2023. 4. 7.
제품을 자동 조립하는 스마트한 로봇을 만드는 소프트웨어 TRIP(Team Robotics Intelligence Platform)은 CAD 파일을 입력하면 로봇이 자동으로 해당 제품을 조립하는 시스템을 만들 수 있게 하는 데이터베이스와 소프트웨어 체계이다. 1) CAD 시스템을 이용하여 3D CAD 모델을 작성하고 3D 프린트한다. 3개 부품으로 이루어진 간단한 조립품을 설계한다. 부품을 3D 프린트한다. 2) TRIP을 이용하여 로봇이 자동으로 3D CAD 부품을 조립한다. 아래 동영상은 자동으로 만들어진 로봇 조립 동작이 아니라 수작업으로 로봇을 티칭하여 만든 조립 동작이다. TRIP C2A 과제에서 이 동작을 자동으로 만들어내는 소프트웨어를 개발한다. https://youtube.com/shorts/sc-upyO1szk 3) 완성된 제품 다음 블로그 글.. 2023. 4. 3.
상호작용 - (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.
Movel 이용 - (2) Dobot Magician 로봇팔 티칭 아래 동영상에 대한 로봇 티칭 자료이다. move와 base 부품에 대한 단위 Action의 패턴을 확인할 수 있다. https://www.youtube.com/shorts/sc-upyO1szk 다음 파일은 Dobot Teachning 자료이다. 2023. 3. 31.
Movej이용 - (1) Dobot Magician 로봇팔 티칭 자동 로봇 조립 계획 프로그램 개발을 위해 수작업으로 만든 로봇 계획을 실행시켜 보았다. test010에서는 전체 순서와 패스 정도를 시험하였다. 시험을 하면서 발견된 문제점은 조립 시 movej 옵션을 사용하여 궤적이 직선으로 되지 않는 점이다. test020에서는 movej 대신 movel 옵션을 사용하였다. https://www.youtube.com/shorts/sc-upyO1szk movel 명령 사용으로 조립 과정이 안정되었지만, 3D 프린트된 부품의 정밀도와 로봇 동작의 정밀도 등으로 정밀한 작업은 어려울 수 있다. 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.
대표 예제 분석 - (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.