【통신 실무】 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

델타로봇 역기구학은 수식을 푸는 문제가 아니라, 원하는 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를 정하는 출발점이었다.
필요 XYZ 범위를 정의
Base와 Platform 크기 가정
L1, L2 후보 선정
도달가능성 계산
Workspace 최종 검증
3. Inverse Kinematics는 XYZ를 Motor Angle로 바꾸는 과정이다
Robot Software에서 End-effector 목표점이 P(x, y, z)로 주어진다고 하자. 실제 Motor Driver는 XYZ를 이해하지 못한다. 세 Motor가 각각 몇 도 움직여야 하는지 Joint Angle로 바꿔야 한다.
세 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 Selection을 연결하는 중간단계다.
10. 실제 Hardware를 만들 때는 Kinematics에 기구 오차가 추가된다
Simulation에서는 Link Length가 정확하고 Joint 중심도 정확하다고 가정한다. 하지만 실제 가공품에는 Hole 위치오차, Joint Clearance, Link Length 편차, Gear Backlash가 존재한다.
따라서 높은 Position Accuracy가 필요하면 조립 후 Calibration으로 실제 Geometry Parameter를 보정하는 것이 필요할 수 있다.
11. 내가 다시 Delta Robot을 설계한다면 이 순서로 한다
- 작업물 크기와 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. 이 프로젝트에서 배운 핵심
Link Length를 먼저 정하면 필요 작업영역을 나중에 맞추기 어렵다.
XYZ를 실제 Joint Angle로 바꿔주는 것이 핵심이다.
Singularity와 Joint Limit을 고려해 유효 작업영역을 정한다.
Position만 가능한 것이 아니라 필요한 Speed와 Torque까지 이어서 봐야 한다.
마무리
델타로봇 역기구학을 공부할 때 식 하나하나를 외우기보다 "내가 원하는 XYZ를 세 Motor Angle로 어떻게 바꿀 것인가"라는 목적을 먼저 잡는 것이 좋다.
실제 설계에서는 역기구학을 푸는 것에서 끝나지 않고 Workspace, Singularity, Link Length, Motor Speed와 Torque까지 연결해야 한다. 당시 프로젝트에서도 필요한 작업영역을 먼저 정한 뒤 Kinematics로 Geometry를 선택하고, 그 결과를 Dynamics와 Motor Sizing으로 이어갔다.
'【로봇-AMR 실무】' 카테고리의 다른 글
| 【로봇-AMR 실무】 SLAM이란? | LiDAR, Camera, IMU, Encoder는 어떻게 함께 쓰일까 (0) | 2026.10.08 |
|---|---|
| 【로봇 제어 실무】 엔코더 A상 B상 Z상이란? | PPR, CPR, 4체배, 회전방향과 RPM 계산 (0) | 2026.10.07 |
| 【로봇 제어 실무】 DC 모터 위치 제어가 흔들리는 이유 | Encoder Resolution과 Gear Backlash (0) | 2026.10.04 |
| 【로봇 설계 실무】 로봇 모터 선정 방법 | 토크, 속도, 동역학 시뮬레이션으로 Motor Sizing (0) | 2026.10.03 |
| 【로봇 제어 실무】 DC 모터 PID 위치제어 | 전류센서, 엔코더와 Cascade 제어 구조 (0) | 2026.10.03 |