K-MOOC 로봇공학과 인공지능 강의 노트
https://lms.kmooc.kr/course/view.php?id=3130

로봇공학과 인공지능
1. 로봇의 종류
NeoStudio에서는 로봇을 크게 Hardware Robot과 Software Robot으로 구분한다.
Hardware Robot
- 인간형태
- 인간과 Interface 가능
- 산업용 Robot
- Service Robot
Software Robot
- 눈에 보이지 않는 형태
- 지능 중심
- AI Robot과 연결
2. 산업용 Robot과 AI Robot
NeoStudio에서는 산업용 Robot을 반복적이고 단순한 작업을 수행하여 생산성을 높이는 Robot으로 기록한다.
반면 AI Robot은 외부 환경을 인식하고 스스로 판단하는 방향으로 기록되어 있다.
3. 산업용 Robot의 특성
원본에서는 Robot의 장점을 생산성과 유연성으로 연결한다.
- 복잡하고 반복적인 작업 수행
- 생산성 향상
- 유연성 증가
- 작업내용 변경 가능
4. Robot 종류
NeoStudio에서는 다음과 같은 Robot 유형을 기록한다.
- 산업용 Robot
- Guide Service Robot
- 전문 Service Robot
- Entertainment Robot
5. Workspace에 따른 Robot 분류
일반 이미지와 NeoStudio에서는 Robot을 Workspace와 Joint 구조에 따라 분류한다.
6. Gantry · Cartesian Robot
직교좌표형 Robot은 서로 직교하는 3개의 Prismatic Joint로 구성된다.
작업공간은 직육면체 형태이다.
7. Cylindrical Robot
원통형 Robot은 두 개의 Prismatic Joint와 하나의 Revolute Joint로 구성된다.
Workspace는 원통좌표계와 유사한 형태이다.
8. Spherical Robot
구형 Robot은 두 개의 Revolute Joint와 하나의 Prismatic Joint로 구성된다.
작업공간은 구면좌표계와 유사하다.
9. SCARA Robot
SCARA는 원본에서 다음의 약자로 기록되어 있다.
두 개의 Revolute Joint가 병렬로 연결되고 끝단에 Prismatic Joint가 연결된다.
일반 이미지에서는 수평방향으로 빠르게 움직일 수 있고 수직방향은 강성이 높아 산업현장에서 많이 사용한다고 기록한다.
10. Articulated Robot
사람의 팔과 유사한 다관절 Robot이다.
NeoStudio에는 일반적으로 6축 Robot과 연결하여 기록되어 있다.
11. Stanford Arm
일반 이미지에서는 Stanford Arm을 Spherical Robot의 예로 나타내며 총 6개의 자유도를 갖는 것으로 표시한다.
12. Robot의 구성요소
- Manipulator
- Controller
- Actuator
- End-Effector
- Sensor
- Processor
- Software / Operating System
13. Manipulator
Manipulator는 Link와 Joint로 구성된다.
Joint ── Link ── Joint ── Link ── End-Effector
14. Controller · Actuator
Actuator는 Motor 등에 의해 Manipulator를 실제로 움직인다.
15. End-Effector
Manipulation의 마지막 부분으로 실제 작업을 수행한다.
원본 예시는 다음과 같다.
- Gripper
- 용접 Tool
- 기타 작업 Tool
16. Sensor
Sensor는 외부 환경과 Robot 내부 상태를 인식하는 역할로 기록된다.
NeoStudio에는 다음 예가 있다.
- Camera
- 초음파 Sensor
- Gyroscope
- 가속도 Sensor
- Encoder
17. Link · Joint · End-Effector
Base
│
Joint
│
Link
│
Joint
│
Link
│
End-Effector
Robot의 기구는 Link와 Joint의 조합으로 구성되며 마지막에 End-Effector가 위치한다.
18. 자유도 · DOF
자유도는 공간에서 물체가 독립적으로 움직일 수 있는 움직임의 수로 기록되어 있다.
강체는 3차원 공간에서 일반적으로 6개의 자유도를 갖는다.
19. Joint 종류
- Revolute Joint : 회전
- Prismatic Joint : 직선
- Helical Joint : 회전하면서 직선 이동
- Cylindrical Joint
- Universal Joint
20. Grübler’s Formula
NeoStudio에는 기구의 자유도를 계산하는 식으로 Grübler’s Formula를 기록한다.
- m : 공간 차원과 관련된 자유도
- N : Link 수
- J : Joint 수
- fᵢ : 각 Joint의 자유도
21. Workspace
Workspace는 End-Effector가 기구적으로 도달할 수 있는 공간이다.
22. Rigid Motion
강체의 위치와 자세변환은 두 운동으로 정리한다.
- Translational Motion
- Rotational Motion
23. Rotation Matrix
좌표계 1의 축을 좌표계 0에서 표현한 Rotation Matrix를 다음과 같이 기록한다.
z축을 기준으로 θ만큼 회전하면
24. 좌표 변환
한 좌표계에서 표현한 Vector를 Rotation Matrix를 이용하여 다른 좌표계로 변환한다.
25. Similarity Transformation
NeoStudio에는 Matrix 변환과 관련하여 다음 식을 기록한다.
26. Homogeneous Transformation
Rotation과 Translation을 하나의 Matrix로 결합하기 위해 Homogeneous Transformation을 사용한다.
27. 여러 Frame의 좌표변환
Frame을 연속해서 변환할 경우 Transformation Matrix를 순서대로 곱한다.
28. Robot Intelligence
NeoStudio에서는 Robot의 지능을 크게 다음 두 기능으로 연결한다.
- Perception
- Motion Planning
Environment
│
▼
Perception
│
▼
Motion Planning
│
▼
Control
│
▼
Robot
29. Perception
Perception은 Sensor를 이용하여 주변 환경과 Robot 상태를 파악하는 과정이다.
실제 측정에는 다음 문제가 존재한다고 기록한다.
- Noise
- 불확실성
- 움직임에 따른 Error
30. State Estimation
Sensor 측정값에는 Noise가 포함되므로 Robot의 실제 상태를 직접 알기 어렵다.
31. Bayes Filter
NeoStudio에서는 State Estimation 방법으로 Bayes Filter를 기록한다.
32. Kalman Filter
Bayes Filter의 한 종류로 Kalman Filter를 기록한다.
Robot 위치와 상태를 추정하는 데 사용하며 계산이 비교적 빠른 방향으로 기록되어 있다.
33. Camera와 Deep Learning
Camera를 이용한 Perception에서는 영상의 정보량이 크기 때문에 Deep Learning을 사용할 수 있다고 기록한다.
34. Motion Planning
Motion Planning은 Robot이 현재 상태에서 목표 상태로 어떻게 이동할지를 결정하는 과정이다.
이동 중에는 장애물을 피해야 한다.
35. Planning과 Perception
Planning만으로 실제 Robot을 정확하게 움직이기는 어렵다고 기록한다.
Perception을 이용하여 주변 물체와 Robot 상태를 Update하고 경로를 보정해야 한다.
36. Open Loop · Closed Loop
| 구분 | NeoStudio 내용 |
|---|---|
| Open Loop | Perception Feedback를 사용하지 않는 방향 |
| Closed Loop | Perception 정보를 이용하여 동작 보정 |
37. Human in the Loop
사람이 직접 일부 Control에 참여하는 Human-in-the-Loop 개념도 기록되어 있다.
38. Teaching by Demonstration
Motion Planning 방법의 하나로 Teaching by Demonstration을 기록한다.
사람이 Robot에게 작업을 직접 가르치고 Robot이 그 동작을 반복하는 방식이다.
39. Path와 Trajectory
Trajectory에는 위치뿐 아니라 시간에 따른 속도·가속도 정보가 포함된다.
40. Point-to-Point
시작점과 목표점 사이를 이동하는 Point-to-Point 방식이 기록되어 있다.
41. Joint Space와 Task Space
| 구분 | 의미 |
|---|---|
| Joint Space | 각 Joint의 관절변수로 Robot 상태를 표현 |
| Task Space | End-Effector의 작업공간 좌표로 표현 |
42. Trajectory와 다항식
부드러운 Trajectory를 만들기 위해 위치를 시간의 다항식으로 표현한다.
위치를 미분하면 속도, 다시 미분하면 가속도를 얻는다.
43. 3차 다항식
3차 다항식은 시작·끝 위치와 속도조건을 이용하는 형태로 기록되어 있다.
44. 5차 다항식
가속도 조건까지 포함하면 6개의 경계조건이 필요하고 5차 다항식으로 경로를 생성한다.
45. Linear Segment with Parabolic Blend
NeoStudio에는 시작과 종료구간은 Parabolic하게 만들고, 중간은 Linear Segment로 구성하는 Motion Profile이 기록되어 있다.
Parabolic
╱
╱
───────── Linear ─────────
╲
╲
Parabolic
46. Feedforward Control
시스템의 관성으로 인해 가속도 변화에 대한 지연이 발생할 수 있으므로 Feedforward 제어를 사용할 수 있다고 기록한다.
47. 장애물 회피와 Motion Planning
장애물이 있는 환경에서는 Start에서 Goal까지 충돌하지 않는 경로를 찾아야 한다.
48. Bug Algorithm
원본에서 첫 번째 장애물 회피 방법으로 Bug Algorithm을 기록한다.
Robot이 장애물을 만나면 경계면을 따라 이동하면서 다시 Goal 방향으로 진행하는 형태이다.
49. Artificial Potential Function
목표는 Robot을 끌어당기고 장애물은 밀어내는 방향의 Artificial Potential Function을 기록한다.
50. Configuration Space · C-Space
Robot의 모든 가능한 상태를 Configuration이라고 기록한다.
이 Configuration들을 모은 공간이 Configuration Space, C-Space이다.
51. Motion Planning의 조건
원본에는 경로계획의 조건으로 다음 항목이 기록되어 있다.
- Accessibility
- Repeatability
- Connectivity
52. Accessibility
Start 상태에서 Goal 상태까지 실제로 경로가 존재하는가를 확인하는 개념으로 기록되어 있다.
53. Repeatability
경로를 반복적으로 수행할 수 있는가와 관련된 항목으로 기록되어 있다.
54. Connectivity
Start와 Goal이 연결된 공간에 존재하는지를 확인하는 개념이다.
55. Visibility Graph
장애물의 꼭짓점을 Node로 두고 서로 직접 연결 가능한 경우를 Edge로 연결하여 Graph를 만드는 방법이 기록되어 있다.
56. Reduced Visibility Graph
불필요한 Edge를 제거하여 Visibility Graph를 단순화하는 방법을 기록한다.
57. Voronoi Diagram
Motion Planning의 방법으로 Voronoi Diagram도 함께 기록되어 있다.
58. Cell Decomposition
Free Space를 여러 Cell로 나누고 Cell 간 연결관계를 Graph로 만들어 경로를 계산하는 방식이다.
Free Space
│
▼
Cell 분할
│
▼
Adjacency Graph
│
▼
Path Search
59. Sampling-Based Algorithm
고차원 공간에서는 Free Space를 모두 계산하기 어렵기 때문에 일부 상태를 Sampling하여 경로를 찾는 방법을 기록한다.
60. PRM
PRM은 원본에서 Probabilistic Roadmap으로 기록되어 있다.
Collision-Free Sample을 만들고 Sample 사이를 연결하여 Roadmap Graph를 구성한다.
61. PRM Learning Phase
Learning Phase에서는 충돌하지 않는 Configuration을 Sampling한다.
가까운 Node들을 연결하고, 연결구간이 Collision-Free인지 검사하여 Graph를 생성한다.
62. PRM Query Phase
Query Phase에서는 Start와 Goal을 Roadmap에 연결한 뒤 Graph Search로 경로를 찾는다.
Start
│
▼
Roadmap Graph
│
▼
Graph Search
│
▼
Goal
63. RRT
RRT는 원본에서 다음으로 기록한다.
Random Node를 생성하고 기존 Tree에서 가까운 Node를 찾은 뒤 일정 Step Size만큼 Tree를 확장한다.
Start Node
│
▼
Random Sample
│
▼
Nearest Node
│
▼
Step Size
│
▼
Tree Expansion
64. PRM과 RRT
| 방법 | NeoStudio 내용 |
|---|---|
| PRM | Sampling으로 Roadmap Graph를 구성 후 Query 수행 |
| RRT | Start에서 Random Tree를 빠르게 확장 |
65. Robot Vision
두 번째 NeoStudio PDF 마지막 페이지에서는 Robot Perception 중 Vision을 기록한다.
사용 Sensor의 예는 다음과 같다.
- Camera
- LiDAR
- Encoder
66. Encoder
Encoder는 Base Frame을 기준으로 Joint 위치를 계산하여 End-Effector 위치를 파악하는 방향으로 기록되어 있다.
67. Camera Image Processing
Camera 영상은 정보량이 많기 때문에 계산량을 줄이기 위한 처리과정이 필요하다고 기록한다.
- Feature Extraction
- Recognition
68. 전체 관계
Robot
│
┌─────────────┼─────────────┐
▼ ▼ ▼
Mechanism Sensor Controller
│ │ │
Link + Joint Perception │
│ │ │
▼ ▼ ▼
DOF State Estimation Actuator
│ Bayes/Kalman │
▼ │ ▼
Workspace │ End-Effector
│ │
└───────┬─────┘
▼
Motion Planning
│
┌────────┼────────┐
▼ ▼ ▼
Bug C-Space Sampling
│ Based
│ │
│ ┌───┴───┐
│ ▼ ▼
│ PRM RRT
│
▼
Path / Trajectory
│
▼
Motion Profile
│
▼
Control
69. 이미지 · NeoStudio 핵심 정리
| 항목 | 원본 내용 |
|---|---|
| Robot 구조 | Manipulator, Controller, Actuator, End-Effector, Sensor, Processor, Software |
| Robot 형식 | Cartesian, Cylindrical, Spherical, SCARA, Articulated |
| Joint | Revolute, Prismatic, Helical, Cylindrical, Universal |
| 강체 자유도 | 3 Translation + 3 Rotation = 6 DOF |
| Workspace | End-Effector가 기구적으로 도달할 수 있는 공간 |
| 좌표변환 | Rotation Matrix, Homogeneous Transformation |
| Robot Intelligence | Perception + Motion Planning |
| State Estimation | Bayes Filter, Kalman Filter |
| Path | 시간정보가 없는 공간상의 경로 |
| Trajectory | Path + 시간 · 속도 · 가속도 |
| C-Space | Robot의 모든 Configuration을 표현하는 공간 |
| 전통적 경로계획 | Bug, Artificial Potential, Visibility, Cell Decomposition |
| Sampling Based | PRM, RRT |
| Vision | Camera → Feature Extraction → Recognition |