카테고리
산업계측제어기술사

로봇공학과 인공지능

K-MOOC 로봇공학과 인공지능 강의 노트

https://lms.kmooc.kr/course/view.php?id=3130

“`html

로봇공학과 인공지능

Robot · DOF · Workspace · Coordinate Transform · Perception · Motion Planning · C-Space · PRM · RRT

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은 외부 환경을 인식하고 스스로 판단하는 방향으로 기록되어 있다.

Environment → Perception → Decision → Action

3. 산업용 Robot의 특성

원본에서는 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로 구성된다.

P + P + P

작업공간은 직육면체 형태이다.

7. Cylindrical Robot

원통형 Robot은 두 개의 Prismatic Joint와 하나의 Revolute Joint로 구성된다.

P + P + R

Workspace는 원통좌표계와 유사한 형태이다.

8. Spherical Robot

구형 Robot은 두 개의 Revolute Joint와 하나의 Prismatic Joint로 구성된다.

R + R + P

작업공간은 구면좌표계와 유사하다.

9. SCARA Robot

SCARA는 원본에서 다음의 약자로 기록되어 있다.

Selective Compliance Articulated Robot Arm

두 개의 Revolute Joint가 병렬로 연결되고 끝단에 Prismatic Joint가 연결된다.

R + R + P

일반 이미지에서는 수평방향으로 빠르게 움직일 수 있고 수직방향은 강성이 높아 산업현장에서 많이 사용한다고 기록한다.

10. Articulated Robot

사람의 팔과 유사한 다관절 Robot이다.

NeoStudio에는 일반적으로 6축 Robot과 연결하여 기록되어 있다.

Multi Revolute Joint → High DOF

11. Stanford Arm

일반 이미지에서는 Stanford Arm을 Spherical Robot의 예로 나타내며 총 6개의 자유도를 갖는 것으로 표시한다.

12. Robot의 구성요소

  1. Manipulator
  2. Controller
  3. Actuator
  4. End-Effector
  5. Sensor
  6. Processor
  7. Software / Operating System

13. Manipulator

Manipulator는 Link와 Joint로 구성된다.

      Joint ── Link ── Joint ── Link ── End-Effector
    

14. Controller · Actuator

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

자유도는 공간에서 물체가 독립적으로 움직일 수 있는 움직임의 수로 기록되어 있다.

DOF = Degree of Freedom

강체는 3차원 공간에서 일반적으로 6개의 자유도를 갖는다.

3 Translational + 3 Rotational = 6 DOF

19. Joint 종류

  • Revolute Joint : 회전
  • Prismatic Joint : 직선
  • Helical Joint : 회전하면서 직선 이동
  • Cylindrical Joint
  • Universal Joint

20. Grübler’s Formula

NeoStudio에는 기구의 자유도를 계산하는 식으로 Grübler’s Formula를 기록한다.

DOF = m(N – 1 – J) + Σ fᵢ
  • m : 공간 차원과 관련된 자유도
  • N : Link 수
  • J : Joint 수
  • fᵢ : 각 Joint의 자유도

21. Workspace

Workspace는 End-Effector가 기구적으로 도달할 수 있는 공간이다.

Robot Structure → Workspace 결정

22. Rigid Motion

강체의 위치와 자세변환은 두 운동으로 정리한다.

  • Translational Motion
  • Rotational Motion

23. Rotation Matrix

좌표계 1의 축을 좌표계 0에서 표현한 Rotation Matrix를 다음과 같이 기록한다.

R⁰₁ = [ X⁰₁ Y⁰₁ Z⁰₁ ]

z축을 기준으로 θ만큼 회전하면

R = [ cosθ -sinθ 0 ; sinθ cosθ 0 ; 0 0 1 ]

24. 좌표 변환

Y = R X

한 좌표계에서 표현한 Vector를 Rotation Matrix를 이용하여 다른 좌표계로 변환한다.

25. Similarity Transformation

NeoStudio에는 Matrix 변환과 관련하여 다음 식을 기록한다.

B = T⁻¹ A T

26. Homogeneous Transformation

Rotation과 Translation을 하나의 Matrix로 결합하기 위해 Homogeneous Transformation을 사용한다.

H = [ R d ; 0 1 ]
회전 Matrix와 이동 Vector를 하나의 Transformation Matrix에 포함한다.

27. 여러 Frame의 좌표변환

Frame을 연속해서 변환할 경우 Transformation Matrix를 순서대로 곱한다.

H = H₁ H₂ …

28. Robot Intelligence

NeoStudio에서는 Robot의 지능을 크게 다음 두 기능으로 연결한다.

  1. Perception
  2. Motion Planning
      Environment
          │
          ▼
      Perception
          │
          ▼
      Motion Planning
          │
          ▼
        Control
          │
          ▼
        Robot
    

29. Perception

Perception은 Sensor를 이용하여 주변 환경과 Robot 상태를 파악하는 과정이다.

실제 측정에는 다음 문제가 존재한다고 기록한다.

  • Noise
  • 불확실성
  • 움직임에 따른 Error

30. State Estimation

Sensor 측정값에는 Noise가 포함되므로 Robot의 실제 상태를 직접 알기 어렵다.

Measurement + Noise → State Estimation

31. Bayes Filter

NeoStudio에서는 State Estimation 방법으로 Bayes Filter를 기록한다.

Previous State + Measurement → State Estimation

32. Kalman Filter

Bayes Filter의 한 종류로 Kalman Filter를 기록한다.

Robot 위치와 상태를 추정하는 데 사용하며 계산이 비교적 빠른 방향으로 기록되어 있다.

33. Camera와 Deep Learning

Camera를 이용한 Perception에서는 영상의 정보량이 크기 때문에 Deep Learning을 사용할 수 있다고 기록한다.

Camera Image → Deep Learning → Perception

34. Motion Planning

Motion Planning은 Robot이 현재 상태에서 목표 상태로 어떻게 이동할지를 결정하는 과정이다.

Start → Path Planning → Goal

이동 중에는 장애물을 피해야 한다.

35. Planning과 Perception

Planning만으로 실제 Robot을 정확하게 움직이기는 어렵다고 기록한다.

Perception을 이용하여 주변 물체와 Robot 상태를 Update하고 경로를 보정해야 한다.

Planning + Perception → Feedback Control

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

Path = 시간 정보가 없는 공간상의 위치
Trajectory = Path + Time

Trajectory에는 위치뿐 아니라 시간에 따른 속도·가속도 정보가 포함된다.

40. Point-to-Point

시작점과 목표점 사이를 이동하는 Point-to-Point 방식이 기록되어 있다.

41. Joint Space와 Task Space

구분 의미
Joint Space 각 Joint의 관절변수로 Robot 상태를 표현
Task Space End-Effector의 작업공간 좌표로 표현

42. Trajectory와 다항식

부드러운 Trajectory를 만들기 위해 위치를 시간의 다항식으로 표현한다.

q(t) = a₀ + a₁t + a₂t² + a₃t³

위치를 미분하면 속도, 다시 미분하면 가속도를 얻는다.

43. 3차 다항식

3차 다항식은 시작·끝 위치와 속도조건을 이용하는 형태로 기록되어 있다.

q(t₀), q̇(t₀), q(t_f), q̇(t_f)

44. 5차 다항식

가속도 조건까지 포함하면 6개의 경계조건이 필요하고 5차 다항식으로 경로를 생성한다.

q(t₀), q̇(t₀), q̈(t₀), q(t_f), q̇(t_f), q̈(t_f)

45. Linear Segment with Parabolic Blend

NeoStudio에는 시작과 종료구간은 Parabolic하게 만들고, 중간은 Linear Segment로 구성하는 Motion Profile이 기록되어 있다.

      Parabolic
          ╱
         ╱
        ───────── Linear ─────────
                                 ╲
                                  ╲
                                Parabolic
    

46. Feedforward Control

시스템의 관성으로 인해 가속도 변화에 대한 지연이 발생할 수 있으므로 Feedforward 제어를 사용할 수 있다고 기록한다.

F = m a
τ = I α
원하는 가속도에 대응하는 입력을 미리 계산하여 제어기의 부담을 줄이는 방향이다.

47. 장애물 회피와 Motion Planning

장애물이 있는 환경에서는 Start에서 Goal까지 충돌하지 않는 경로를 찾아야 한다.

Start → Collision-Free Path → Goal

48. Bug Algorithm

원본에서 첫 번째 장애물 회피 방법으로 Bug Algorithm을 기록한다.

Robot이 장애물을 만나면 경계면을 따라 이동하면서 다시 Goal 방향으로 진행하는 형태이다.

49. Artificial Potential Function

목표는 Robot을 끌어당기고 장애물은 밀어내는 방향의 Artificial Potential Function을 기록한다.

Goal → Attractive
Obstacle → Repulsive

50. Configuration Space · C-Space

Robot의 모든 가능한 상태를 Configuration이라고 기록한다.

Configuration = Robot의 모든 관절 위치

이 Configuration들을 모은 공간이 Configuration Space, C-Space이다.

실제 Workspace의 복잡한 Robot 형상을 C-Space에서는 한 점으로 표현하여 경로계획 문제를 단순화한다.

51. Motion Planning의 조건

원본에는 경로계획의 조건으로 다음 항목이 기록되어 있다.

  • Accessibility
  • Repeatability
  • Connectivity

52. Accessibility

Start 상태에서 Goal 상태까지 실제로 경로가 존재하는가를 확인하는 개념으로 기록되어 있다.

53. Repeatability

경로를 반복적으로 수행할 수 있는가와 관련된 항목으로 기록되어 있다.

54. Connectivity

Start와 Goal이 연결된 공간에 존재하는지를 확인하는 개념이다.

55. Visibility Graph

장애물의 꼭짓점을 Node로 두고 서로 직접 연결 가능한 경우를 Edge로 연결하여 Graph를 만드는 방법이 기록되어 있다.

Obstacle Vertex → Node → Visible Connection → Edge

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하여 경로를 찾는 방법을 기록한다.

High-Dimensional C-Space → Random Sampling → Path Search

60. PRM

PRM은 원본에서 Probabilistic Roadmap으로 기록되어 있다.

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는 원본에서 다음으로 기록한다.

RRT = Rapidly Exploring Random Tree

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
Image → 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
이 HTML은 페이지 본문, K-MOOC 강의 본문, YouTube 및 외부 Motion Profile PDF를 사용하지 않고, 일반 이미지 1장과 NeoStudio PDF 2개만 시각 판독하여 작성했다. NeoStudio PDF는 각각 20페이지와 3페이지이다. 첫 번째 NeoStudio PDF의 20페이지 중 페이지 1과 페이지 19는 PDF 렌더러가 반복적으로 Timeout되어 직접 판독하지 못했다. 따라서 해당 두 페이지 내용은 추정하거나 외부 자료로 보완하지 않았다. 나머지 첫 번째 PDF 18페이지와 두 번째 PDF 3페이지는 직접 확인하였다. 두 번째 PDF의 앞부분은 첫 번째 PDF 후반부의 Cell Decomposition, PRM, RRT 내용을 일부 반복한다. 페이지에 연결된 ‘Design of a Motion Profile – Part A~D’는 NeoStudio가 아닌 외부 참고 PDF이므로 제외하였다. DH Parameter, Jacobian, Inverse Kinematics, SLAM 등의 일반 로봇공학 이론은 이번 판독자료에 명확히 전개되어 있지 않아 추가하지 않았다.
Robot, Artificial Intelligence, Cartesian Robot, Cylindrical Robot, Spherical Robot, SCARA, Articulated Robot, Link, Joint, End-Effector, DOF, Workspace, Rotation Matrix, Homogeneous Transformation, Perception, Bayes Filter, Kalman Filter, Motion Planning, Path, Trajectory, Joint Space, Task Space, Configuration Space, C-Space, Bug Algorithm, Artificial Potential Function, Visibility Graph, Cell Decomposition, PRM, RRT, Robot Vision
“`

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 Akismet을 사용하여 스팸을 줄입니다. 댓글 데이터가 어떻게 처리되는지 알아보세요.