ROBOT ENGINEERING NOTES

로봇과 AMR의
전장 설계부터 인증까지

회로 실무, 산업자동화, Functional Safety, ISO 규격과 로봇 인증을 실제 설계 관점에서 정리합니다.

회로 실무 AMR / AGV Functional Safety ISO 13849 EMC / CE
AMR ENGINEERING GUIDE →

【로봇 설계 실무】 델타로봇 역기구학이란? | Workspace와 링크 길이 설계 방법

 

 

【통신 실무】 Modbus Coil, Discrete Input, Holding Register 차이 | 주소와 Function Code 이해하기

【Safety 기능안전】 OSSD란? Safety Scanner 출력과 일반 PNP 센서의 차이AMR이나 산업용 로봇에 Safety Scanner, Light Curtain 같은 안전센서를 적용하다 보면 OSSD1, OSSD2라는 출력을 자주 보게 된다.실제로 측정

terrypack.tistory.com

 

 

【회로-전장 실무】 DC/DC 컨버터와 레귤레이터 선정 방법 | LDO, Buck, TI WEBENCH 설계

【회로 실무】 포토커플러 선정 방법 / CTR, 입력저항, 24V Digital Input 회로【ROBOT】페라이트 코어 조사 (표 첨부)페라이트 코어 로봇의 EMC 테스트를 진행하며, 제조사별 페라이트 코어 표를 정리하

terrypack.tistory.com

ROBOT KINEMATICS PRACTICE
델타로봇 역기구학은 수식을 푸는 문제가 아니라, 원하는 Workspace를 만드는 설계도구다

실제 델타로봇에서 100 mm x 100 mm x 20 mm 작업영역을 먼저 정하고 Link Length와 Base Geometry를 선택한 뒤 Simulation으로 검증했던 과정을 쉽게 설명한다.

델타로봇 Kinematics를 처음 보면 삼각함수와 좌표변환 식이 많아 어렵게 느껴진다. 하지만 설계자가 실제로 하고 싶은 일은 단순하다.

End-effector를 목표 XYZ 위치에 보내려면 세 Motor를 각각 몇 도 돌려야 하는가? 이것이 Inverse Kinematics의 핵심이다.

필자가 델타로봇을 설계했을 때도 역기구학 자체가 목적이 아니었다. 필요한 작업영역을 먼저 정한 뒤 어떤 Base 크기와 Link Length가 그 영역을 실제로 커버할 수 있는지 확인하기 위해 Kinematics를 사용했다.

설계 관점의 핵심
Inverse Kinematics는 "XYZ → Motor Angle" 변환이고, Workspace Analysis는 "이 Link Geometry로 어느 XYZ까지 갈 수 있는가"를 확인하는 과정이다.

1. 델타로봇은 왜 일반 Robot Arm과 다르게 보일까?

델타로봇은 Base에 3개의 Motor가 있고, 세 개의 Leg가 End-effector를 동시에 지지하는 Parallel Robot 구조다.

각 Leg는 Motor가 구동하는 첫 번째 Link와 평행사변형 형태의 Link로 구성된다. 이 평행사변형 구조 덕분에 End-effector의 Orientation 변화가 제한되고, 가벼운 Link를 사용할 수 있어 고속 Motion에 유리하다.

특징 설계상 의미
3개 Motor가 Base에 위치 움직이는 질량을 줄이기 좋음
Parallel Link 구조 높은 강성과 빠른 Motion에 유리
Closed-chain Mechanism Kinematics와 Dynamics가 직렬로봇보다 복잡
End-effector Orientation 제한 Pick-and-Place, Printing 같은 작업에 적합

2. 실제 설계는 "필요한 Workspace"부터 시작했다

프로젝트에서 필요한 작업영역은 약 100 mm x 100 mm x 20 mm였다. 식빵 위 특정 영역에 End-effector가 도달해야 했기 때문이다.

이 Requirement가 Link Length를 정하는 출발점이었다.

01Workspace

필요 XYZ 범위를 정의

02Geometry

Base와 Platform 크기 가정

03Link Length

L1, L2 후보 선정

04Kinematics

도달가능성 계산

05Simulation

Workspace 최종 검증

3. Inverse Kinematics는 XYZ를 Motor Angle로 바꾸는 과정이다

Robot Software에서 End-effector 목표점이 P(x, y, z)로 주어진다고 하자. 실제 Motor Driver는 XYZ를 이해하지 못한다. 세 Motor가 각각 몇 도 움직여야 하는지 Joint Angle로 바꿔야 한다.

Delta Robot Command Flow
INPUTX목표 위치
INPUTY목표 위치
INPUTZ목표 위치
IKθ1Motor 1
IKθ2Motor 2
IKθ3Motor 3

세 Leg는 Base 중심을 기준으로 서로 다른 방향에 배치되어 있으므로, 목표점 P를 각 Leg의 좌표계에서 보고 해당 Leg의 Motor Angle을 계산한다.

4. 수식보다 먼저 각 Geometry Parameter의 의미를 이해한다

발표자료에서 실제로 사용한 대표 설계 Parameter는 다음과 같다.

Parameter 프로젝트 값 설계 의미
a 35 mm End-effector 측 Geometry Parameter
b 115 mm Base 측 Geometry Parameter
L1 120 mm Motor에 직접 연결되는 첫 번째 Link
L2 300 mm 평행사변형 측 긴 Link

여기서 중요한 것은 이 숫자가 델타로봇의 표준값이 아니라 당시 필요한 Workspace와 제작조건에 맞춰 선택한 값이라는 점이다.

5. Link Length를 길게 하면 Workspace가 무조건 좋아질까?

Link를 길게 하면 일반적으로 도달범위를 넓히기 쉬워진다. 하지만 동시에 구조물 크기와 관성, 처짐, 제작오차의 영향도 커질 수 있다.

또 Base 크기와 End-effector 크기의 관계가 바뀌면 Joint Angle 범위와 Singularity 영역도 달라진다.

변수 커졌을 때 기대효과 함께 봐야 할 문제
L1 도달범위 변화 Motor Torque, Link Inertia
L2 깊은 Z 영역 확보 가능 강성, 진동, 조립오차
Base Size Leg 배치범위 확대 전체 장비 크기
End-effector Size Tool 장착공간 변화 Workspace와 Collision

6. 그래서 Parameter를 넣고 Workspace를 직접 그려봤다

당시에는 Matlab에서 Motor Angle을 가능한 범위로 변화시키면서 End-effector가 도달 가능한 점을 계산했다. 그리고 Z값에 따른 X-Y Plane, X값에 따른 Y-Z Plane 단면을 그래프로 확인했다.

목적은 "그림이 예쁘게 나오는가"가 아니라 필요한 100 mm x 100 mm x 20 mm 영역이 실제 Workspace 안에 완전히 들어오는가를 확인하는 것이었다.

실무에서 유용한 방법
복잡한 Workspace를 한 번에 3D로만 보지 말고 X-Y, Y-Z 같은 단면으로 잘라서 보면 필요한 작업영역이 경계에 얼마나 가까운지 훨씬 쉽게 판단할 수 있다.

7. Workspace 경계만 맞으면 끝이 아니다

수학적으로 도달 가능하더라도 실제 설계에서는 경계 근처를 그대로 사용하지 않는 편이 좋다. Joint Limit, Collision, Link Interference와 Singularity를 같이 봐야 한다.

프로젝트에서도 Singularity를 고려해 Motor Angle 범위를 제한하면서 Workspace를 계산했다.

도달 가능 = 안정적으로 제어 가능은 아니다.
Workspace 경계나 Singularity 근처에서는 작은 Motor Angle 변화가 End-effector의 큰 움직임으로 이어지거나 반대로 필요한 Joint Speed가 급격히 커질 수 있다. 실제 작업영역은 계산 가능한 최대영역보다 안쪽으로 잡는 것이 안전하다.

8. Forward Kinematics와 Inverse Kinematics는 무엇이 다를까?

구분 입력 출력 언제 사용하는가
Inverse Kinematics Target X, Y, Z Motor Angle θ1, θ2, θ3 Robot Command 생성
Forward Kinematics Motor Angle θ1, θ2, θ3 End-effector X, Y, Z 현재 Pose 계산, Simulation

실제 제어에서는 둘 다 필요할 수 있지만, Position Command를 Motor Angle로 바꾸는 데는 Inverse Kinematics가 핵심이다.

9. Kinematics 결과는 Motor Sizing으로 이어진다

Inverse Kinematics로 시간에 따른 Joint Angle을 구하면 이를 미분해 Joint Velocity와 Acceleration을 얻을 수 있다.

Kinematics에서 Motor Sizing으로 이어지는 흐름
PATHXYZ(t)End-effector 경로
IKθ(t)Joint Angle
DERIVATIVEω(t)Joint Speed
DERIVATIVEα(t)Joint Accel
DYNAMICSτ(t)Required Torque
SIZINGMotorTorque-Speed 선정

즉 Kinematics는 단순 좌표계 계산이 아니라 기구설계와 Motor Selection을 연결하는 중간단계다.

10. 실제 Hardware를 만들 때는 Kinematics에 기구 오차가 추가된다

Simulation에서는 Link Length가 정확하고 Joint 중심도 정확하다고 가정한다. 하지만 실제 가공품에는 Hole 위치오차, Joint Clearance, Link Length 편차, Gear Backlash가 존재한다.

따라서 높은 Position Accuracy가 필요하면 조립 후 Calibration으로 실제 Geometry Parameter를 보정하는 것이 필요할 수 있다.

11. 내가 다시 Delta Robot을 설계한다면 이 순서로 한다

Delta Robot Geometry Checklist
  • 작업물 크기와 Tool 길이부터 정한다.
  • 필요한 X, Y, Z Workspace를 숫자로 정의한다.
  • Base와 End-effector 크기의 초기값을 정한다.
  • L1, L2 후보값을 여러 조합으로 Sweep한다.
  • Inverse Kinematics가 모든 Target Point에서 해를 가지는지 확인한다.
  • Joint Angle Limit과 Collision을 적용한다.
  • Singularity에 가까운 영역을 제외한다.
  • Workspace 단면으로 Margin을 확인한다.
  • 선정한 Geometry로 Dynamics와 Motor Sizing을 진행한다.
  • 제작 후 실제 End-effector 위치를 측정해 Calibration 필요성을 판단한다.

12. 이 프로젝트에서 배운 핵심

KEY 01Workspace가 먼저다

Link Length를 먼저 정하면 필요 작업영역을 나중에 맞추기 어렵다.

KEY 02IK는 Motor Command를 만드는 도구다

XYZ를 실제 Joint Angle로 바꿔주는 것이 핵심이다.

KEY 03최대 Workspace를 그대로 쓰지 않는다

Singularity와 Joint Limit을 고려해 유효 작업영역을 정한다.

KEY 04Kinematics 다음은 Dynamics다

Position만 가능한 것이 아니라 필요한 Speed와 Torque까지 이어서 봐야 한다.

마무리

델타로봇 역기구학을 공부할 때 식 하나하나를 외우기보다 "내가 원하는 XYZ를 세 Motor Angle로 어떻게 바꿀 것인가"라는 목적을 먼저 잡는 것이 좋다.

실제 설계에서는 역기구학을 푸는 것에서 끝나지 않고 Workspace, Singularity, Link Length, Motor Speed와 Torque까지 연결해야 한다. 당시 프로젝트에서도 필요한 작업영역을 먼저 정한 뒤 Kinematics로 Geometry를 선택하고, 그 결과를 Dynamics와 Motor Sizing으로 이어갔다.

반응형
LIST