2025년 10월 28일 화요일

VM - 컨트롤러 IO / UNIVERSAL ROBOTS 협동로봇 / SHIFT+WINDAW+S /"캡처"/ TM협동로봇(대만)

 https://techdocs.broadcom.com/us/en/vmware-cis/desktop-hypervisors.html

https://www.youtube.com/@vmware

https://techdocs.broadcom.com/us/en/vmware-cis/desktop-hypervisors/workstation-pro/25H2.html


SHIFT+WINDAW+S  /"캡처"

UNIVERSAL ROBOTS 협동로봇 시스템 및 프로그램

https://www.universal-robots.com/

Collaborative robots from Universal Robots are enabling companies of all sizes to use robotic automation in their production environments.

Cobots

The UR Series includes the highest performing cobots in the ...

유니버설 로봇

유연성. 협동로봇(Cobot)은 새로운 프로세스로 빠르고 손쉽게 이동 ...

Academy

Welcome to. Universal Robots Academy. Here is your chance ...

About Universal Robots

Universal Robots is dedicated to transforming industries and ...

UR5e

The UR5e is the larger of our two light payload industrial ...
[지리산 ㅡ구달수] [오후 12:54] 스크란샷 ㅡ Plc 프로그래밍작업을위한플로우차트를 작성해줘ㆍ기종및모델은 GX2 메뉴툴바에서 순서대로 작업하는 방법을제시하에 신호등제어 방법을예시로함ㆍ세로줄에나타난 기능등을요약하여설명해줘ㆍ작업이끝나면 저장하는방법을설명하고 시물레이션기능도 알려줘
[지리산 ㅡ구달수] [오후 12:54] VM 웨어도사용방법을 어린이


로봇암의 조인트 / 컨트롤러 IO / 컨트롤러 전기사양 / 안전 IO / 범용 디지털 IO / 범용 아날로그 I/O /

툴 I/O / 기본조작(모드) / 이동/ 환경설정/프로그램/

++> 

UNIVERSAL ROBOTS 협동로봇 쉽게 이해하기 🤖

로봇암의 조인트 (관절)

레고 인형의 팔처럼 6개의 관절이 있어요. 어깨, 팔꿈치, 손목처럼 각각 돌아가면서 로봇이 자유롭게 움직일 수 있게 해줘요. 관절이 많을수록 복잡한 동작을 할 수 있어요.

컨트롤러 I/O (입출력)

로봇의 두뇌가 외부와 신호를 주고받는 통로예요. 마치 우리 몸의 신경처럼요.

컨트롤러 전기사양

  • 로봇을 작동시키려면 220V 전기(일반 가정용 콘센트)가 필요해요
  • 로봇이 안전하게 작동하도록 전기 규격이 정해져 있어요

안전 I/O

비상 정지 버튼이나 안전 울타리와 연결되는 통로예요. 위험하면 즉시 로봇을 멈추게 하는 중요한 신호들이 오가요.

범용 디지털 I/O

ON/OFF 스위치처럼 켜짐/꺼짐 신호만 보내는 거예요.

  • 예: "물건을 잡았나요?" → "예(1) / 아니오(0)"
  • 버튼 눌림, LED 켜기/끄기 같은 간단한 신호에 사용

범용 아날로그 I/O

온도계처럼 연속적인 값(0~10V)을 측정하거나 조절해요.

  • 예: 센서로 압력 측정, 모터 속도 조절
  • 디지털보다 정밀한 제어가 필요할 때 사용

툴 I/O

로봇 손끝(그리퍼, 용접기 등)에 연결된 도구를 제어하는 전용 통로예요. 케이블이 로봇 팔 안쪽으로 깔끔하게 정리되어 있어요.

기본 조작 (모드)

1. 매뉴얼 모드 (수동)

사람이 직접 로봇 팔을 손으로 잡고 움직여서 위치를 가르쳐줘요. 마치 아이 손을 잡고 글씨 쓰는 법을 알려주는 것처럼요.

2. 자동 모드

가르쳐준 동작을 로봇이 혼자서 반복해요. 한번 배우면 계속 똑같이 작업할 수 있어요.

이동

로봇을 움직이는 방법:

  • 조그(Jog): 화살표 버튼으로 조금씩 움직이기
  • 티칭: 원하는 위치로 로봇을 이동시켜서 "여기!" 하고 저장하기
  • 태블릿처럼 생긴 티치펜던트(조종기)로 직관적으로 조작해요

환경설정

  • 로봇의 속도, 힘의 세기, 안전 영역 설정
  • 어떤 도구를 사용하는지, 무게가 얼마나 되는지 알려주기
  • 마치 게임 캐릭터 스탯을 조절하는 것과 비슷해요

프로그램

요리 레시피처럼 로봇에게 작업 순서를 알려주는 거예요:

  1. 블록 쌓기처럼 - 그래픽 화면에서 명령어 블록을 드래그해서 조립
  2. 간단한 예시:
    • "A 위치로 이동해"
    • "그리퍼로 물건 잡아"
    • "B 위치로 이동해"
    • "물건 놓아"
    • "처음으로 돌아가"

코딩 지식이 없어도 터치스크린으로 쉽게 만들 수 있어요!


핵심 포인트: UR 협동로봇은 사람 옆에서 안전하게 일할 수 있고, 복잡한 프로그래밍 없이도 직관적으로 가르칠 수 있는 친근한 로봇이에요! 🤝



VMware Workstation 16 Player 기능 설명 🖥️

화면에 보이는 4가지 주요 기능을 설명드릴게요:

1. Create a New Virtual Machine (새 가상머신 만들기)

  • 컴퓨터 안에 또 다른 컴퓨터를 만드는 거예요
  • 마치 인형의 집처럼, 진짜 컴퓨터 안에 가짜 컴퓨터를 설치하는 것
  • Windows 컴퓨터에서 Linux를 써보거나, 테스트용 환경을 만들 때 사용
  • 만들어진 가상머신은 라이브러리 맨 위에 추가돼요

2. Open a Virtual Machine (가상머신 열기)

  • 이미 만들어둔 가상머신 파일을 불러오는 기능
  • 다른 곳에서 만든 가상머신이나 백업해둔 것을 열 수 있어요
  • USB에 저장해둔 가상머신을 가져와서 실행할 수 있어요

3. Upgrade to VMware Workstation Pro (Pro 버전으로 업그레이드)

현재는 무료 Player 버전인데, 유료 Pro 버전으로 업그레이드하면:

  • 스냅샷: 게임 세이브처럼 특정 시점 저장
  • 가상 네트워크 관리: 여러 가상머신을 네트워크로 연결
  • 더 많은 고급 기능들

4. Help (도움말)

  • 온라인 도움말 보기
  • 사용법이 궁금할 때 참고할 수 있는 매뉴얼

왼쪽 패널 정보

현재 2개의 가상머신이 설치되어 있어요:

  • URSim_VIRTUAL-5.9.4.1031232
  • URSim_VIRTUAL-5.15.2.126676

이름을 보니 Universal Robots 시뮬레이터 가상머신들이네요! UR 로봇을 실제 로봇 없이도 컴퓨터에서 테스트하고 프로그래밍할 수 있는 환경이에요.


하단 안내문

  • 이 제품은 비상업적 용도로만 무료 사용 가능
  • 회사에서 업무용으로 쓰려면 라이선스를 구매해야 해요

쉽게 말하면: VMware Player는 컴퓨터 안에서 다른 운영체제를 실행할 수 있게 해주는 프로그램이고, 지금은 UR 로봇 시뮬레이터를 돌리기 위해 사용하고 있는 것 같네요! 🤖💻



이 이미지는 Universal Robots Polyscope 시뮬레이터 인터페이스입니다. 각 아이콘의 용도와 사용방법을 설명드리겠습니다:

주요 구성 요소

1. URSim (UR Simulator) 아이콘들

  • URSim UR3: UR3 로봇 모델 시뮬레이터 실행
  • URSim UR5: UR5 로봇 모델 시뮬레이터 실행
  • URSim UR10: UR10 로봇 모델 시뮬레이터 실행

각 시뮬레이터는 해당 로봇 모델의 동작을 가상 환경에서 테스트할 수 있습니다.

2. Programs 폴더들

  • Programs UR3: UR3용 프로그램 파일 저장 폴더
  • Programs UR5: UR5용 프로그램 파일 저장 폴더
  • Programs UR10: UR10용 프로그램 파일 저장 폴더

각 로봇 모델별로 작성한 프로그램을 저장하고 관리하는 디렉토리입니다.

사용 방법

  1. 시뮬레이터 실행: 원하는 로봇 모델의 URSim 아이콘을 더블클릭
  2. 프로그램 작성: Polyscope 인터페이스에서 로봇 동작 프로그래밍
  3. 프로그램 저장: 해당 로봇 모델의 Programs 폴더에 저장
  4. 테스트 실행: 실제 로봇에 적용하기 전 안전하게 시뮬레이션 테스트

주요 특징

  • 실제 로봇 없이 프로그램 개발 및 테스트 가능
  • 비밀번호로 보호되는 Linux 기반 환경 (easybot)
  • 각 로봇 모델별 독립적인 시뮬레이션 환경 제공

이 시스템은 로봇 프로그래밍 교육이나 실제 적용 전 검증 용도로 매우 유용합니다.

Universal Robots를 이용한 커피 머신 작동 프로그램을 예시로 작성해드리겠습니다.

커피 제조 로봇 프로그램 시나리오

시스템 구성

  • 로봇: UR5 (적절한 페이로드와 작업 반경)
  • 엔드 이펙터: 그리퍼 (컵과 도구 파지용)
  • 작업 공간: 커피 머신, 컵 홀더, 재료 공급대, 완성품 트레이

프로그래밍 순서

프로그램 이름: Coffee_Making_Auto

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. 초기화 단계
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   MoveJ (Home Position)
   - 로봇을 안전한 홈 포지션으로 이동
   - 그리퍼 열기
   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2. 컵 픽업
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   MoveJ (Cup_Storage_Above)
   - 컵 보관 위치 상단으로 이동
   
   MoveL (Cup_Pickup_Position)
   - 컵 파지 위치로 직선 이동
   
   Set Digital Output [Gripper_Close] = High
   Wait: 0.5초
   - 그리퍼로 컵 파지
   
   MoveL (Cup_Storage_Above)
   - 컵을 들고 상단으로 복귀

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
3. 컵을 커피 머신에 배치
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   MoveJ (Coffee_Machine_Above)
   - 커피 머신 상단으로 이동
   
   MoveL (Cup_Place_Position)
   - 컵 배치 위치로 정밀 이동
   
   Set Digital Output [Gripper_Close] = Low
   Wait: 0.3초
   - 그리퍼 열어서 컵 놓기
   
   MoveL (Coffee_Machine_Above)
   - 안전 거리로 후퇴

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
4. 커피 추출 시작
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   MoveJ (Coffee_Button_Approach)
   - 커피 추출 버튼 접근
   
   MoveL (Coffee_Button_Press)
   - 버튼 누르기 위치로 이동
   
   Wait: 0.2초
   - 버튼 작동 확인
   
   MoveL (Coffee_Button_Approach)
   - 버튼에서 후퇴
   
   Wait: 25초
   - 커피 추출 대기 (추출 시간)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
5. 완성된 커피 픽업
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   MoveJ (Coffee_Machine_Above)
   
   MoveL (Cup_Pickup_Position)
   - 완성된 커피 컵 파지 위치
   
   Set Digital Output [Gripper_Close] = High
   Wait: 0.5초
   - 커피 컵 파지
   
   MoveL (Coffee_Machine_Above)
   - 들어 올리기

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
6. 완성품 트레이로 이동
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   MoveJ (Delivery_Tray_Above)
   - 배달 트레이 상단으로 이동
   
   MoveL (Delivery_Position)
   - 컵 배치 위치로 정밀 이동
   
   Set Digital Output [Gripper_Close] = Low
   Wait: 0.3초
   - 컵 놓기
   
   MoveL (Delivery_Tray_Above)
   - 상단으로 복귀

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
7. 홈 복귀
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   MoveJ (Home Position)
   - 대기 위치로 복귀
   
   Popup: "커피 제조 완료!"
   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

주요 설정값

티칭 포인트 (Teaching Points)

  • Home Position: [0°, -90°, 90°, -90°, -90°, 0°]
  • Cup_Storage_Above: 컵 보관소 안전 높이
  • Cup_Pickup_Position: 컵 파지 좌표
  • Coffee_Machine_Above: 커피 머신 안전 높이
  • Cup_Place_Position: 머신 내 컵 배치 위치
  • Coffee_Button_Press: 버튼 위치 좌표
  • Delivery_Position: 완성품 배달 위치

속도 설정

  • 이동 속도: 100% (빠른 이동 구간)
  • 정밀 작업: 50% (컵 파지/배치)
  • 가속도: 50%

안전 설정

  • TCP (Tool Center Point): 그리퍼 끝단에서 컵 중심까지
  • 페이로드: 컵 무게 + 그리퍼 (약 1kg)
  • 충돌 감지: 민감도 높음

추가 고려사항

  1. 에러 처리

    • 컵 파지 실패 감지 (그리퍼 센서)
    • 커피 머신 작동 확인
    • 비상 정지 버튼 구성
  2. 최적화

    • 블렌드 모션으로 이동 시간 단축
    • 웨이포인트 최소화
  3. 확장 기능

    • 메뉴 선택 (에스프레소/아메리카노/라떼)
    • 컵 크기 자동 인식
    • 재료 잔량 확인

이 프로그램을 Polyscope에서 실제로 구현하려면:

  1. URSim UR5 실행
  2. Move → Waypoint로 각 위치 티칭
  3. I/O → Digital Output으로 그리퍼 제어 설정
  4. 시뮬레이션으로 동작 확인
  5. 실제 로봇에 적용

UR3 로봇 POINT(TIME) 작동 순서 설명 ⏱️

POINT(TIME)이란?

로봇이 특정 지점을 정해진 시간 동안 이동하는 명령어예요. 속도가 아닌 시간으로 제어하는 방식입니다.


작동 순서 (단계별)

1️⃣ 로봇 전원 켜기

  • 컨트롤러 전원 ON
  • 티치펜던트(태블릿 조종기) 화면 켜지기 대기

2️⃣ 초기화 및 모드 선택

  • "ON" 버튼 눌러서 로봇 시작
  • 매뉴얼 모드 또는 프로그램 모드 선택

3️⃣ 프로그램 화면 진입

  • 화면에서 "Program" 탭 선택
  • 새 프로그램 만들기 또는 기존 프로그램 열기

4️⃣ 목표 지점(웨이포인트) 설정

순서:
1. "Move" 명령 선택
2. 로봇 팔을 손으로 잡고 원하는 위치로 이동
3. "Set" 버튼으로 위치 저장 (Waypoint_1, Waypoint_2...)

5️⃣ POINT(TIME) 명령 설정

화면 조작:
1. 저장한 웨이포인트 선택
2. 이동 방식을 "MoveJ" 또는 "MoveL"로 선택
   - MoveJ: 관절 공간 이동 (빠름)
   - MoveL: 직선 이동 (정밀)
3. 속도 대신 "Time(t)" 옵션 선택
4. 시간 입력 (예: 2.0초, 5.5초 등)

6️⃣ 프로그램 구조 예시

Robot Program
  ├─ MoveJ(Waypoint_1, t=2.0)  ← 2초 동안 이동
  ├─ MoveL(Waypoint_2, t=3.5)  ← 3.5초 동안 직선 이동
  ├─ Wait(1.0)                 ← 1초 대기
  └─ MoveJ(Home, t=2.0)        ← 2초 동안 원점 복귀

7️⃣ 시뮬레이션 테스트

  • "Play" 버튼 (▶️) 으로 가상 실행
  • 로봇 궤적과 시간 확인
  • 충돌이나 문제 없는지 점검

8️⃣ 실제 실행

안전 확인:
1. 작업 영역에 사람/장애물 없는지 확인
2. "Auto" 모드로 전환
3. "Start" 버튼 눌러서 프로그램 실행
4. 비상정지 버튼 위치 확인해두기

💡 TIME 방식의 특징

장점:

  • ⏱️ 정확한 사이클 타임: 항상 같은 시간에 작업 완료
  • 🔄 일정한 리듬: 다른 기계와 동기화 쉬움
  • 📊 생산 계획 수립 용이

단점:

  • 🐌 짐이 무거우면 시간 내에 도달 못할 수도 있음
  • ⚡ 짐이 가벼우면 불필요하게 느려질 수 있음

속도 방식과 비교:

  • 속도(v): "시속 50km로 가세요" → 거리에 따라 시간 변동
  • 시간(t): "2분 안에 도착하세요" → 무조건 2분

🎯 실전 팁

  1. 처음엔 긴 시간(5초 이상)으로 느리게 테스트
  2. 안전 확인 후 점차 시간 단축
  3. 급격한 가속/감속은 로봇에 무리가 갈 수 있어요
  4. 정밀 작업은 MoveL + Time, 빠른 이동은 MoveJ + Time 추천

프로그래밍 화면에서 직관적으로 드래그 앤 드롭으로 만들 수 있어서 생각보다 쉬워요! 🤖✨

UR3 로봇 변수 입력 방법 📝

변수란?

값을 담아두는 상자예요. 숫자, 위치, 참/거짓 등을 저장했다가 나중에 꺼내 쓸 수 있어요.


변수 만들기 순서

1️⃣ Variables 탭으로 이동

티치펜던트 화면에서:
Program → Variables (또는 좌측 메뉴에서 변수 아이콘)

2️⃣ 새 변수 추가

1. "Add Variable" 버튼 클릭 ➕
2. 변수 이름 입력 (예: counter, speed_value, box_position)

3️⃣ 변수 타입 선택

타입 설명 예시
Number 숫자 10, 3.14, -5
Boolean 참/거짓 True, False
Pose 로봇 위치 [x, y, z, rx, ry, rz]
String 문자열 "Hello", "Box_A"
List 배열/리스트 [1, 2, 3, 4]

프로그램에서 변수 사용하기

방법 1: Assignment (할당)

프로그램 화면에서:
1. "Script" → "Assignment" 선택
2. 변수명 = 값 입력

예시:
├─ counter = 0           (숫자 저장)
├─ speed = 0.5           (속도 저장)
├─ is_running = True     (상태 저장)
└─ home_pos = get_actual_tcp_pose()  (현재 위치 저장)

방법 2: Set 명령어로 위치 저장

1. 로봇을 원하는 위치로 이동
2. "Set" 버튼 클릭
3. "Save as variable" 선택
4. 변수명 입력 (예: pickup_point)

실전 예시 코드

예시 1: 카운터 (반복 횟수 세기)

Robot Program
  ├─ counter = 0                    (초기화)
  ├─ Loop (counter < 10)            (10번 반복)
  │   ├─ MoveJ(Waypoint_1)
  │   ├─ MoveJ(Waypoint_2)
  │   └─ counter = counter + 1      (1씩 증가)
  └─ Popup("작업 완료!")

예시 2: 속도 변수 사용

Robot Program
  ├─ my_speed = 0.3                 (속도 30%)
  ├─ MoveJ(Point_1, a=1.2, v=my_speed)
  ├─ my_speed = 0.8                 (속도 변경)
  └─ MoveJ(Point_2, a=1.2, v=my_speed)

예시 3: 조건문과 함께

Robot Program
  ├─ box_detected = False
  ├─ If (digital_in[0] == True)     (센서 확인)
  │   └─ box_detected = True
  ├─ If (box_detected == True)
  │   ├─ MoveJ(Grab_Position)
  │   └─ set_digital_out(0, True)   (그리퍼 작동)
  └─ Else
      └─ Popup("박스 없음!")

변수 입력 팁 💡

좋은 변수명

  • counter (카운터)
  • box_weight (박스 무게)
  • target_position (목표 위치)
  • is_gripping (잡고 있는지 여부)

피해야 할 변수명

  • a, x, temp (너무 짧고 의미 불명)
  • 한글 (시스템에 따라 오류 가능)
  • 띄어쓰기 포함 (언더스코어 _ 사용)

변수 값 확인하기

방법 1: Popup으로 보기

Popup(str(counter))  ← 변수 값을 화면에 표시

방법 2: Log에 기록

textmsg("Counter = ", counter)  ← 로그에 출력

방법 3: Variables 탭에서 실시간 확인

  • 프로그램 실행 중 Variables 탭 보면 값이 실시간으로 바뀌는 걸 볼 수 있어요

고급 활용: Script 모드

더 복잡한 계산은 Script 모드에서:

# Script 예시
global my_variable = 10
my_variable = my_variable * 2 + 5
if my_variable > 20:
  textmsg("값이 20보다 큽니다")
end

🎯 실전 시나리오

시나리오: 부품을 3개씩 묶음으로 포장

Robot Program
  ├─ part_count = 0                     (부품 개수)
  ├─ box_count = 0                      (박스 개수)
  │
  ├─ Loop (box_count < 5)               (5박스 만들기)
  │   │
  │   ├─ part_count = 0                 (부품 카운터 초기화)
  │   ├─ Loop (part_count < 3)          (부품 3개 담기)
  │   │   ├─ MoveJ(Part_Pickup)
  │   │   ├─ [그리퍼 작동]
  │   │   ├─ MoveJ(Box_Position)
  │   │   ├─ [그리퍼 열기]
  │   │   └─ part_count = part_count + 1
  │   │
  │   ├─ box_count = box_count + 1      (박스 카운터 증가)
  │   └─ Popup("박스 " + str(box_count) + " 완료!")
  │
  └─ Popup("전체 작업 완료!")

자주 쓰는 변수 함수들

# 숫자 계산
result = 10 + 5 * 2        (사칙연산)
result = sqrt(16)          (제곱근)
result = pow(2, 3)         (거듭제곱)

# 위치 계산
current_pos = get_actual_tcp_pose()     (현재 위치)
target = pose_trans(current_pos, p[0,0,0.1,0,0,0])  (상대 이동)

# 시간
time = get_actual_time()   (현재 시간)

변수를 잘 활용하면 유연하고 똑똑한 프로그램을 만들 수 있어요! 처음엔 간단한 카운터부터 시작해보세요. 🚀✨

https://claude.ai/chat/31d108a4-6ecd-49e5-bd79-6ba9b148c382


UR3 정사각형 티칭 프로그램 📐

15cm x 15cm 정사각형을 그리는 프로그램을 만들어드릴게요!


🎯 프로그램 작성 순서

1️⃣ 시작 위치 설정

1. 로봇을 정사각형의 시작점(왼쪽 아래 모서리)으로 이동
2. "Set" 버튼으로 위치 저장
3. 이름: "Point_Start" 또는 "Point_1"

2️⃣ 4개의 모서리 포인트 설정

로봇을 직접 움직여서 각 모서리를 티칭하거나, 상대 좌표로 계산해서 입력할 수 있어요.


방법 1: 직접 티칭 (추천 - 초보자용)

Robot Program
  ├─ Point_1 (시작점 - 왼쪽 아래)
  │   손으로 로봇을 이동시켜 위치 저장
  │
  ├─ Point_2 (오른쪽 아래)
  │   Point_1에서 오른쪽으로 15cm 이동 후 저장
  │
  ├─ Point_3 (오른쪽 위)
  │   Point_2에서 위로 15cm 이동 후 저장
  │
  ├─ Point_4 (왼쪽 위)
  │   Point_3에서 왼쪽으로 15cm 이동 후 저장
  │
  └─ Point_1 (시작점으로 복귀)

프로그램 구조:

Robot Program
  ├─ MoveJ(Point_1, v=0.3)      ← 시작점으로 이동
  ├─ MoveL(Point_2, v=0.1)      ← 직선으로 Point_2
  ├─ MoveL(Point_3, v=0.1)      ← 직선으로 Point_3
  ├─ MoveL(Point_4, v=0.1)      ← 직선으로 Point_4
  └─ MoveL(Point_1, v=0.1)      ← 직선으로 시작점 복귀

방법 2: 상대 좌표 계산 (고급 - 정밀함)

Robot Program
  ├─ BeforeStart
  │   └─ start_pos = p[0.3, -0.2, 0.2, 0, 3.14, 0]  (시작 위치 예시)
  │
  ├─ MoveJ(start_pos)                                (시작점)
  │
  ├─ MoveL(pose_trans(start_pos, p[0.15, 0, 0, 0, 0, 0]))    (→ 15cm)
  ├─ MoveL(pose_trans(start_pos, p[0.15, 0.15, 0, 0, 0, 0])) (→ 위 15cm)
  ├─ MoveL(pose_trans(start_pos, p[0, 0.15, 0, 0, 0, 0]))    (← 15cm)
  └─ MoveL(start_pos)                                (시작점 복귀)

좌표 설명:

  • p[x, y, z, rx, ry, rz] 형식
  • 15cm = 0.15m (미터 단위 사용!)
  • x축: 앞/뒤, y축: 좌/우, z축: 위/아래

방법 3: 변수 활용 (가장 유연함)

Robot Program
  ├─ BeforeStart
  │   ├─ square_size = 0.15              (15cm = 0.15m)
  │   ├─ speed = 0.1                     (속도 10%)
  │   └─ start = get_actual_tcp_pose()   (현재 위치 저장)
  │
  ├─ MoveJ(start, v=0.5)
  │
  ├─ # Point 1 → Point 2 (오른쪽)
  ├─ point_2 = pose_trans(start, p[square_size, 0, 0, 0, 0, 0])
  ├─ MoveL(point_2, v=speed)
  │
  ├─ # Point 2 → Point 3 (위)
  ├─ point_3 = pose_trans(start, p[square_size, square_size, 0, 0, 0, 0])
  ├─ MoveL(point_3, v=speed)
  │
  ├─ # Point 3 → Point 4 (왼쪽)
  ├─ point_4 = pose_trans(start, p[0, square_size, 0, 0, 0, 0])
  ├─ MoveL(point_4, v=speed)
  │
  └─ # Point 4 → Point 1 (아래)
      └─ MoveL(start, v=speed)

🔄 반복 버전 (여러 번 그리기)

Robot Program
  ├─ count = 0
  ├─ Loop (count < 3)                    (3번 반복)
  │   │
  │   ├─ MoveJ(Point_1)
  │   ├─ MoveL(Point_2)
  │   ├─ MoveL(Point_3)
  │   ├─ MoveL(Point_4)
  │   ├─ MoveL(Point_1)
  │   │
  │   ├─ count = count + 1
  │   └─ Wait(1.0)                       (1초 대기)
  │
  └─ Popup("정사각형 그리기 완료!")

⚙️ 상세 설정 팁

속도 설정:

MoveL(Point_2, a=1.2, v=0.1)
  • a (acceleration): 가속도 (1.2 rad/s²)
  • v (velocity): 속도 (0.1 m/s = 10cm/s)

부드러운 모서리 (Blend):

MoveL(Point_2, a=1.2, v=0.1, r=0.01)
  • r (blend radius): 모서리를 둥글게 (0.01m = 1cm)
  • r값이 크면 정사각형이 둥근 사각형이 돼요

📋 완성 프로그램 예시 (복사용)

Robot Program
  ├─ BeforeStart
  │   ├─ square_size = 0.15
  │   └─ speed = 0.1
  │
  ├─ # 시작점으로 이동
  ├─ MoveJ(Point_Start, a=1.4, v=0.5)
  │
  ├─ # 정사각형 그리기
  ├─ MoveL(Point_1, a=1.2, v=speed)      # 왼쪽 아래
  ├─ MoveL(Point_2, a=1.2, v=speed)      # 오른쪽 아래
  ├─ MoveL(Point_3, a=1.2, v=speed)      # 오른쪽 위
  ├─ MoveL(Point_4, a=1.2, v=speed)      # 왼쪽 위
  ├─ MoveL(Point_1, a=1.2, v=speed)      # 시작점 복귀
  │
  ├─ # 안전 높이로 복귀
  ├─ MoveJ(Home, a=1.4, v=0.5)
  │
  └─ Popup("작업 완료!")

🎨 응용: 펜으로 그리기

만약 펜을 달고 종이에 그린다면:

Robot Program
  ├─ MoveJ(Above_Point_1, v=0.5)         # 시작점 위
  ├─ MoveL(Point_1, v=0.05)              # 천천히 내려가서 접촉
  │
  ├─ # 정사각형 그리기
  ├─ MoveL(Point_2, v=0.05)
  ├─ MoveL(Point_3, v=0.05)
  ├─ MoveL(Point_4, v=0.05)
  ├─ MoveL(Point_1, v=0.05)
  │
  └─ MoveL(Above_Point_1, v=0.1)         # 펜 들어올리기

✅ 체크리스트

실행 전 확인사항:

  • [ ] 작업 영역에 장애물 없음
  • [ ] 15cm 이동 가능한 충분한 공간
  • [ ] 속도가 너무 빠르지 않음 (첫 테스트는 v=0.05 추천)
  • [ ] 비상정지 버튼 위치 확인
  • [ ] 시뮬레이션 먼저 실행

정사각형이 완벽하게 그려질 거예요! 🟦✨


UR3 로봇에서 화면을 확장하는 방법을 알려드리겠습니다.

UR3 티치펜던트 화면 확장 방법

1. 외부 모니터 연결

UR 로봇 컨트롤 박스에 외부 모니터를 연결할 수 있습니다:

연결 방법:

  • 컨트롤 박스 후면의 HDMI 포트 또는 DisplayPort 사용
  • 외부 모니터 연결 시 티치펜던트와 동일한 화면이 미러링됩니다
  • 더 큰 화면에서 프로그래밍 및 모니터링 가능

2. 화면 레이아웃 조정

PolyScope 내에서:

프로그램 화면:

  • 좌측 프로그램 트리 너비를 드래그하여 조정
  • 명령어 패널을 최소화/최대화
  • 3D 뷰어 크기 조정

설정 메뉴:

  • 상단의 햄버거 메뉴(≡)를 통해 필요한 패널만 표시

3. 원격 접속으로 PC에서 제어

VNC 또는 원격 데스크톱:

  • UR 로봇은 Linux 기반으로 VNC 서버가 내장되어 있습니다
  • PC에서 VNC 클라이언트로 접속하면 큰 화면에서 작업 가능

연결 방법:

1. 로봇의 IP 주소 확인 (Setup → Network)
2. PC에서 VNC Viewer 설치 (예: RealVNC, TightVNC)
3. 로봇 IP:5900 으로 접속

4. PolyScope 인터페이스 확대

  • 폰트 크기: Setup → System → Display에서 일부 설정 가능
  • : 일부 버전에서는 제스처로 화면 확대 가능 (핀치 투 줌)

참고사항

  • UR3의 티치펜던트 자체 화면 크기는 고정되어 있습니다 (12인치)
  • 가장 효과적인 방법은 외부 모니터 연결 또는 PC에서 원격 접속입니다

추가로 궁금하신 점이 있으시면 말씀해주세요!




- 전용 안전신호

- 안전을 위한 시스템구성

-범용디지털 IO : PNP(+)입력

- 범용 아날로그 IO

- 안전 IO :브랜치(Branch)형태로 구성

-CONFIGURABLE IO : 설정(변경) 가능한 IO


툴 IO

- 전원, 디지털 출력(2), 디지털 입력(2), 아날로그 입력

-

# 협동로봇 소프트웨어

- TCP (TOOL  CENTER POINT)

- M0veJ  

1 . 로봇의 조인트 포지션을 계산하여 이동한다

-경유점간의 이동 경로가 중요하지 않고 , 빠르게 움직일 경우에 사용한다.

# MoveL

- 로봇의 TCP 계산하여 이동한다

- 경유점간 TCP가 직선경로로 이동하기 때문에 직선성이 필요한 경우에 사용한다

- 기본적으로 경유점애 도착할때마다, 정지한후에 다음 경유점으로 이동한다

- MoveP

- 로봇의 TCP 계산하여 이동한다

- 경유점간 TCP가


PLC GX2와 UR3 로봇을 연동하는 방법에 대해 최신 정보를 검색해드리겠습니다.PLC GX2와 UR3 로봇 연동에 대해 안내드리겠습니다. 참고로 "GX2"는 미쓰비시의 GX Works2 프로그래밍 소프트웨어를 의미하시는 것으로 보입니다.

UR3 로봇과 PLC 연동 주요 방법

1. PROFINET 통신 (가장 일반적)

PROFINET은 UR 로봇과 PLC 간 통신에 널리 사용되며, 로봇의 조인트 데이터, I/O 신호 등을 PLC와 주고받을 수 있습니다.

필요 사항:

  • UR3 로봇 (PolyScope v3.3 이상)
  • GSD 파일 설치
  • IP 주소 설정 및 PROFINET 장치 이름 할당

2. Ethernet/IP 통신

Ethernet/IP는 Allen-Bradley 등의 PLC와 주로 사용되며, UR3의 일반 목적 레지스터를 통해 데이터를 교환합니다.

3. SRCI (Standard Robot Command Interface)

SRCI는 Siemens와 Universal Robots가 협력하여 개발한 표준 인터페이스로, PLC에서 직접 로봇을 프로그래밍하고 제어할 수 있습니다.

미쓰비시 PLC와의 연동

미쓰비시 PLC(GX Works2 사용)와 UR3를 연동하려면:

  1. 디지털 I/O 방식: 가장 간단한 방법으로 PLC의 디지털 출력을 UR3의 디지털 입력에 연결
  2. Ethernet 통신: Modbus TCP 또는 Socket 통신 사용
  3. PROFINET: 미쓰비시가 PROFINET을 지원하는 경우 활용

유용한 참고 자료 (URL)

Universal Robots 공식 가이드:

  • PROFINET 가이드: https://www.universal-robots.com/articles/ur/interface-communication/profinet-how-to-guide-e-series/
  • Ethernet/IP 가이드: https://www.universal-robots.com/articles/ur/interface-communication/ethernet-ip-guide/
  • SRCI 가이드: https://www.universal-robots.com/articles/ur/interface-communication/standard-robot-command-interface-srci-how-to-guide/

커뮤니티 포럼:

  • UR Forum: https://forum.universal-robots.com/
  • PLC 연동 토론: https://dof.robotiq.com/discussion/1266/integration-ur-cobot-to-siemens-plc

미쓰비시 관련:

  • MELSOFT Library: https://www.mitsubishielectric-fa.cn/fb/english/melsoft_library/

미쓰비시 PLC와의 구체적인 연동은 사용하는 PLC 모델(Q 시리즈, iQ-R 등)에 따라 방법이 달라질 수 있습니다. 추가로 궁금하신 점이 있으시면 말씀해 주세요!

UR 로봇에서 페이로드 설치가 0이라는 것은 다음을 의미합니다:

의미

**"로봇 팔 끝단(Tool Flange)에 아무런 도구나 부착물이 설치되어 있지 않다"**는 설정입니다.

즉:

  • 그리퍼, 흡착 패드, 용접 토치 등의 엔드이펙터(End-effector)가 없음
  • 추가 무게 = 0kg
  • 무게중심(Center of Gravity) = 기본 플랜지 위치

왜 중요한가?

UR 로봇은 페이로드 정보를 사용하여:

  1. 동역학 계산: 정확한 모션 제어와 경로 계획
  2. 안전 기능: 충돌 감지, 힘 제한 설정
  3. 성능 최적화: 가속도, 속도 조정
  4. 모터 보호: 과부하 방지

실제 사용 시

실제로 도구를 설치했다면 반드시 페이로드 설정을 해야 합니다:

PolyScope에서 설정:

  • Installation → Payload
  • 무게(kg) 입력
  • 무게중심 좌표(X, Y, Z) 입력

UR3 기준:

  • 최대 페이로드: 3kg
  • 페이로드를 정확히 설정하지 않으면 → 부정확한 동작, 충돌 감지 오류, 로봇 손상 가능

페이로드가 실제로는 있는데 0으로 설정되어 있다면, 반드시 정확한 값으로 업데이트해야 합니다!









https://claude.ai/chat/7a8592fa-6b62-4e1e-be22-a4fd8160e2d2

TM 협동로봇 상세 정보

테크맨(Techman Robot)은 대만의 컴퓨터 IT 기업인 콴타그룹의 사내 로봇 연구소로 시작하여 2016년 독립 법인을 설립했으며, 세계 최초로 비전시스템을 기본 장착한 협동로봇을 출시했습니다.

주요 모델 및 제원

TM5 시리즈 (일반 페이로드)

TM5는 반복 정밀도 ±0.05mm를 제공합니다

  • TM5-700: 도달거리 700mm, 페이로드 4kg
  • TM5-900: 도달거리 900mm, 페이로드 6kg

TM12/TM14 시리즈 (중대형 페이로드)

TM12는 12kg 페이로드와 1300mm 도달거리를 제공하며, TM14는 14kg 페이로드와 1100mm 도달거리를 제공합니다. 반복 정밀도는 ±0.1mm입니다

TM16/TM20 시리즈 (고중량 페이로드)

  • TM16: 도달거리 900mm, 페이로드 16kg
  • TM20: 도달거리 1300mm, 페이로드 20kg

주요 특징

1. 내장 비전 시스템

TM 협동로봇은 내장된 비전 시스템과 AI 기술을 탑재하여 사물의 위치인식, 색상식별, 이미지보정을 통해 정렬 없이 공정 자동화가 가능합니다

2. TMflow 소프트웨어

TMflow는 간단한 클릭 앤 드래그 방식의 Flow 기반 로봇 편집 소프트웨어로, IT 배경 지식이 없는 운영자도 단 5분 만에 프로젝트를 프로그래밍할 수 있습니다

TMflow는 그래픽 인터페이스 기반으로 복잡한 로봇 작업을 간단하게 생성할 수 있으며, AI Vision 노드와 Force-Related 노드를 활용한 다양한 응용이 가능합니다

3. 안전 기능

ISO 13849-1 카테고리 3, 성능 수준 PLd 인증을 받은 31가지 안전 기능을 탑재하여 작업자와 협업이 가능합니다

4. TM Plug & Play

TM Plug & Play는 소프트웨어 패키지로 제공되며, 다양한 주변 기기를 쉽게 연결할 수 있어 시간과 비용을 크게 줄일 수 있습니다

사용법

기본 프로그래밍

  1. TMflow 실행: 로봇 컨트롤러 또는 PC에서 실행 가능
  2. 노드 기반 프로그래밍: 드래그 앤 드롭으로 동작 노드 배치
  3. 비전 설정: GUI를 통해 쉽게 비전 기능 설정
  4. 시뮬레이션: 가상 환경에서 테스트 후 실행

주요 응용 분야

  • 조립(Assembly)
  • 픽앤플레이스(Pick & Place)
  • 검사(Inspection)
  • 팔레타이징(Palletizing)
  • 용접(Welding)
  • 머신 텐딩(Machine Tending)

관련 URL

공식 홈페이지:

  • Techman Robot 글로벌: https://www.tm-robot.com/en/
  • Techman Robot 한국: https://www.tm-robot.com/ko/
  • OMRON TM Robot (한국): https://www.ia.omron.co.kr/products/product_detail.asp?list_code2=032010&prodPk=2563

기술 문서 및 매뉴얼:

  • TMflow 소프트웨어: https://www.tm-robot.com/en/tmflow/
  • 다운로드 센터: https://www.tm-robot.com/en/download-center/
  • OMRON 매뉴얼 다운로드: https://assets.omron.eu/downloads/latest/manual/en/i689_tm_collaborative_robot_software_manual_tmflow_version_2_operation_manual_en.pdf

교육 및 지원:

  • TM Academy: https://www.tm-robot.com/en/tm-academy/
  • 기술 문서: https://www.tm-robot.com/en/technical-document/
  • 포럼: https://www.tm-robot.com/en/forum/

국내 공급사:

  • 한국로봇산업협회 TM로봇: https://www.k-robot.co.kr/k-robot/view.php?idx=65295

TM 협동로봇은 직관적인 프로그래밍과 내장 비전 시스템으로 빠른 배치와 높은 생산성을 제공하는 솔루션입니다. 추가 문의사항이 있으시면 말씀해주세요!




첨부하신 3개의 이미지를 분석해드리겠습니다.


이미지 1: TM Robot 티치펜던트 (실습 모드)

기기 정보

  • 제조사: TM Robot (Techman Robot)
  • 디스플레이: Pro-face 터치스크린
  • 주최: KOSME (중소벤처기업진흥공단)

화면 구성

실습 모드 메뉴:

  1. 색상검사 - 비전 시스템을 이용한 색상 식별 실습
  2. CODE 검사 - 바코드/QR코드 읽기 실습
  3. 내용물 검사 - 객체 검출 및 인식 실습
  4. 전화번호 조립물검사 - 조립 품질 검사 실습

특징

  • TM 로봇의 내장 비전 시스템을 활용한 교육용 인터페이스
  • 중소기업 및 스타트업 교육을 위한 실습 프로그램
  • 직관적인 한글 메뉴 구성

이미지 2: 로봇 I/O 인터페이스 보드

구성 요소

상단 포트:

  • RS-232C: 시리얼 통신 포트
  • PLC USB: PLC 연결용 USB
  • PC USB (2개): PC 연결 포트
  • Ethernet 1, 2: 네트워크 통신 포트
  • V METER: 전압 모니터 (디지털 디스플레이)

중단 - ROBOT OUTPUT (DO 0~11):

  • 12개의 디지털 출력 포트
  • DO 0~5: 빨간색 LED (미사용 상태)
  • DO 6~11: 흰색 LED (사용 가능 상태)

하단 - ROBOT INPUT (DI 0~11):

  • 12개의 디지털 입력 포트
  • DI 0~5: 토글 스위치
  • DI 6~11: 노란색 버튼 (푸시 버튼)

우측:

  • DC 24V: 전원 공급 단자 (24V, 0V)
  • POWER: 메인 전원 스위치 및 차단기

사용법

  1. 디지털 입력: 스위치/버튼을 조작하여 로봇에 신호 전달
  2. 디지털 출력: 로봇 프로그램에서 LED를 제어하여 상태 표시
  3. 통신: Ethernet 또는 USB로 PLC/PC와 연동
  4. 전원: 24V DC 전원 공급으로 I/O 회로 구동

활용 예시

  • PLC와 로봇 간 신호 교환 실습
  • 센서 입력 처리
  • 액추에이터 제어
  • 자동화 시퀀스 구현

이미지 3: TMflow 프로그래밍 화면

소프트웨어 정보

  • 프로그램: TMflow (TM Robot 전용 프로그래밍 소프트웨어)
  • 프로젝트 번호: 10

화면 구성

좌측 툴바 (노드 메뉴):

  • Set: 설정
  • Vision: 비전 기능
  • Point: 포인트 티칭
  • Stop: 정지
  • Wait for: 대기
  • Gateway: 게이트웨이
  • If: 조건문
  • Pause: 일시정지
  • Voice: 음성
  • Goto: 이동
  • Pallet: 팔레타이징
  • Display: 디스플레이
  • Move: 이동
  • Circle: 원 궤적
  • SubFlow: 서브플로우
  • Network: 네트워크
  • Warp: 워프
  • Path: 경로

중앙 플로우차트:

  • Start: 시작 노드
  • P1, P2, P3: 포인트 노드 (위치 저장)
  • HelloFor2, IF02, SET1, SET2: 사용자 정의 노드
  • SET2: 현재 선택된 노드 (녹색 하이라이트)

상단 메뉴:

  • 저장, 불러오기, 실행 등의 기본 기능
  • 로봇 연결 상태: RobotBa (0개 연결)
  • 배터리: 5%

사용법

기본 프로그래밍 순서:

  1. 좌측 툴바에서 필요한 노드를 드래그 앤 드롭
  2. 노드를 순차적으로 연결하여 플로우 구성
  3. 각 노드를 더블클릭하여 세부 설정
  4. 시뮬레이션으로 테스트
  5. 실행 버튼으로 로봇 작동

주요 기능:

  • 노드 기반 프로그래밍: 코딩 없이 비주얼 프로그래밍
  • 포인트 티칭: 로봇 암을 직접 움직여 위치 저장
  • 조건문/반복문: 복잡한 로직 구현 가능
  • 비전 통합: 내장 카메라로 객체 인식 및 처리

전체 시스템 연동

이 3개의 이미지는 TM 협동로봇 교육/실습 시스템을 보여줍니다:

  1. 이미지 1: 사용자 인터페이스 (비전 기반 실습 선택)
  2. 이미지 2: 하드웨어 I/O (PLC 연동, 센서/액추에이터 제어)
  3. 이미지 3: 소프트웨어 프로그래밍 (TMflow로 로봇 동작 생성)

일반적인 작업 흐름

  1. TMflow에서 프로그램 작성
  2. I/O 보드로 외부 신호 연결
  3. 내장 비전으로 객체 인식
  4. 실습 모드에서 테스트 및 검증

추가로 궁금하신 점이 있으시면 말씀해주세요!

https://claude.ai/chat/7a8592fa-6b62-4e1e-be22-a4fd8160e2d2


https://claude.ai/chat/7a8592fa-6b62-4e1e-be22-a4fd8160e2d2













슬롯번호 / 선두 어드레스



댓글 없음:

댓글 쓰기