분류 전체보기 11

[로봇공학기초 / 2DOF] #9. 로봇 제어 Part 2 – PD 제어 + 중력 보상

✍️ 서문이전 글에서는 PID 제어를 통해 기본적인 피드백 제어를 구현해보았습니다.하지만 실제 로봇팔은 자체 무게와 중력의 영향을 크게 받기 때문에, 단순 PID로는 정확한 제어가 어려운 경우가 많습니다.그래서 이번 글에서는 PD 제어에 **중력 보상(Gravity Compensation)**을 더해조금 더 현실적인 제어기를 만들어 보겠습니다.⚖️ 중력 보상이란?로봇팔은 관절의 각도에 따라 중력 방향으로 떨어지려는 토크가 생깁니다.이 토크를 미리 계산해서 제어기에 넣어주는 것이 중력 보상입니다.즉,τ=τPD+τgravity\tau = \tau_{PD} + \tau_{\text{gravity}}τ=τPD​+τgravity​또는τ=G(θ)+Kp(θd−θ)+Kd(θ˙d−θ˙)\tau = G(\theta) + ..

로봇공학기초 2025.05.02

[로봇공학기초 / 2DOF] #7. Robot Dynamics (로봇 동역학)

🦾 로봇 동역학이란?지금까지 우리는 로봇팔의 위치, 속도, 도달 가능한 영역에 대해 알아보았습니다.하지만 실제로 로봇을 움직이기 위해서는, “어떤 동작을 만들기 위해 관절에 얼마만큼의 힘(토크)을 줘야 하는가?” 가 핵심입니다.바로 이 질문에 답하는 것이 로봇 동역학(Robot Dynamics)입니다. 🧮 로봇 동역학을 이해하는 두 가지 방법Newton-Euler 방식: 힘/토크의 균형을 기반으로 직접 계산Lagrangian 방식: 운동에너지 - 위치에너지 기반의 수식 유도→ 더 수학적으로 깔끔하게 정리 가능이번 글에서는 Lagrangian 방식을 기반으로, 평면상의 2자유도(2-DOF) 로봇팔의 동역학 모델이 어떤 형태로 유도되는지 결과 중심으로 소개하겠습니다. ⚙️ Lagrangian 이란?Lag..

로봇공학기초 2025.04.21

[로봇공학기초 / 2DOF] #6-3. Trajectory Planning (Quintic Polynomial Trajectory)

📐 Quintic Polynomial Trajectory란? 이번 글에서는 궤적 생성 방식 중 하나인 Quintic Polynomial Trajectory (5차 다항식 궤적) 에 대해 알아보겠습니다.앞서 살펴본 Cubic Polynomial이 위치와 속도를 고려했다면, Quintic Polynomial은 위치, 속도, 가속도까지 모두 고려하는 궤적 생성 방법입니다.이 방식은 로봇이 출발점에서 목표점까지 이동할 때, 시작과 끝의 위치, 속도, 가속도 조건을 동시에 만족하도록 설계되며,특히 가속도까지 연속이 보장되어 매우 부드럽고 물리적으로 안정적인 움직임을 만들어냅니다. 🔸 Quintic Trajectory 의 특징위치 \( \theta \) , 속도 \( \dot{\theta} \) , 가속도 ..

로봇공학기초 2025.04.18

[로봇공학기초 / 2DOF] #6-2. Trajectory Planning (Cubic Polynomial Trajectory)

📐 Cubic Polynomial Trajectory란?이번 글에서는 궤적 생성 방식 중 하나인 Cubic Polynomial Trajectory(3차 다항식 궤적) 에 대해 알아보겠습니다.앞서 살펴본 Trapezoidal Profile이 속도 기반의 직선적이고 단순한 궤적이었다면, Cubic Polynomial 방식은 위치와 속도를 동시에 고려하는 곡선 기반의 궤적 생성 방법입니다.이 방식은 로봇이 출발점에서 목표점까지 이동할 때, 시작과 끝에서의 위치와 속도 조건을 만족하도록 설계됩니다. 특히, 속도와 가속도의 연속성이 보장되어 움직임이 한층 더 부드럽고 자연스럽습니다. 🔸 Cubic Trajectory의 특징위치 \( \theta \), 속도 \( \dot{\theta} \)에 대한 초기 및 ..

로봇공학기초 2025.04.16

[로봇공학기초 / 2DOF] #6-1. Trajectory Planning (궤적계획)

📌 Trajectory Planning (궤적 계획)이란?이번 글에서는 2자유도 매니퓰레이터를 기준으로 Trajectory Planning(궤적 계획)의 개념을 살펴봅니다. 로봇의 움직임을 계획할 때는 출발점에서 목표점까지 단순히 도달하는 것이 전부가 아닙니다. 목적지에 얼마나 빠르고 정확하게 도착하는지 뿐 아니라, 중간 과정에서 로봇이 흔들림 없이, 안정적이고 부드럽게 움직이는지도 매우 중요합니다. 예를 들어, 로봇 팔이 특정 물체를 들어 올릴 때 갑자기 급가속하거나 급정지하면, 로봇 자체에 과부하가 걸리고 시스템이 손상될 가능성도 있습니다. 또한 주변의 물체와 충돌하거나, 손으로 잡고 있는 물체를 떨어뜨릴 수도 있습니다. 따라서 로봇의 관절 각도, 각속도, 각가속도를 적절히 제어하여 안정적이고 매끄..

로봇공학기초 2025.04.07

[로봇공학기초 / 2DOF] #5. Singularity (특이점)

⚠️ 특이점(Singularity)이란?지난 글에서는 자코비안 행렬(Jacobian Matrix)을 이용해로봇팔의 말단 속도를 계산하는 방법을 알아보았습니다.이번에는 로봇공학에서 매우 중요한 개념인 특이점(Singularity)에 대해 정리해보겠습니다.특이점은 종종 로봇이 잘 움직이지 못하는 지점라고 설명되지만, 더 정확하게 말하면 다음과 같습니다:“우리가 원하는 말단 속도를 만들기 위해 관절 속도를 계산할 수 없는 지점”이는 속도 역기구학(Inverse Velocity Kinematics)이 실패하는 지점입니다.수학적으로는 자코비안 행렬 \( J \)의 행렬식(det)이 0이 되는 지점에서 발생하며,이 경우 역행렬 \( J^{-1} \)이 존재하지 않게 됩니다. ✋ 특이점은 어떤 상황일까?우리는 로봇을..

로봇공학기초 2025.04.04

[로봇공학기초 / 2DOF] #4. Jacobian Matrix (자코비안 행렬)

📐 Jacobian(자코비안)이란?지난 글에서는 2자유도 로봇팔의 Workspace ( 작업공간 )에 대해 알아보며,   로봇이 실제로 움직일 수 있는 위치의 범위를 수치적으로 표현해봤습니다. 그보다 앞에서는 Inverse Kinematics(역기구학)을 통해 관절 각도를 구하는 방법도 다뤘죠. 로봇팔의 말단 위치 $(x_2, y_2)$를 기준으로 각 관절 각도 $\theta_1$, $\theta_2$를 어떻게 구하는지 살펴보았습니다.이번에는 속도에 대해 알아보겠습니다.  ✍ 로봇팔의 말단 속도 구하기 (2 DOF 로봇 기준) 말단 위치 $(x_2, y_2)$는 관절각 $\theta_1, \theta_2$와 링크 길이 $L_1, L_2$에 따라 다음과 같이 표현됩니다:\[\begin{aligned}x_..

로봇공학기초 2025.04.02

[로봇공학기초 / 2DOF] #3. Work Space (작업공간)

🦾 작업공간(Workspace)이란? 로봇팔이 실제로 움직일 수 있는 공간.즉, 말단(End-effector)이 도달할 수 있는 위치의 전체 집합을 우리는 작업공간 (Workspace) 이라고 부릅니다.  “ 아무리 열심히 움직여도, 절대 닿지 않는 곳이 있다면? ”그건 작업공간 밖입니다.  그럼, 이 작업공간은 수치적으로 어떻게 표현할 수 있을까요? ✍ 수치적으로 풀기2자유도 로봇팔에서, 각 관절의 회전 범위가 $360^\circ$라고 가정하면, 말단 위치 $(x, y)$는 다음 조건을 만족해야 합니다:최대 도달 거리: $L_1 + L_2$최소 도달 거리: $|L_1 - L_2|$즉, 작업공간은 아래 조건을 만족하는 원판 형태입니다:$$|L_1 - L_2| \leq \sqrt{x^2 + y^2} \l..

로봇공학기초 2025.03.31

[로봇공학기초 / 2DOF] #2. Inverse Kinematics (역기구학)

📐 Inverse Kinematics란? 지난 글에서는 Forward Kinematics(정기구학)에 대해 살펴보았습니다.로봇 관절의 각도를 알 때, 로봇팔의 끝단(End-effector)이 어디에 위치하는지를 계산하는 방법이었죠.이번에는 반대로, "로봇팔의 끝단(End-effector) 이 특정 위치에 있어야 한다면, 각 관절은 어떤 각도를 가져야 할까?" 에 대한 문제를 다룹니다.  사실 실제 환경에서는 사람이 로봇과 상호작용할 때“관절 각도를 몇 도로 꺾을까”라고 생각하기보다는,  “로봇팔의 끝을 이 위치로 이동시키고 싶다” 라는 방식으로 접근하는 경우가 많습니다. 따라서, 목표 위치에 따른 관절의 값을 계산하는 과정이 필요하며,그걸 해결하는 것이 바로 Inverse Kinematics(역기구학)..

로봇공학기초 2025.03.28

[로봇공학기초 / 2DOF] #1. Forward Kinematics (정기구학)

안녕하세요.이번 글에서는 2자유도(2 DOF) 매니퓰레이터를 기반으로,로봇팔의 구조와 정기구학(Forward Kinematics)에 대해 정리해보려고 합니다. 🤖 로봇 매니퓰레이터란?로봇 매니퓰레이터(manipulator)는 고정된 베이스를 기준으로 여러 개의 관절(joint)과 링크(link)가 연결된 구조를 갖고 있으며,말단의 위치나 자세를 제어하기 위한 기계적 장치입니다.각 링크는 관절을 기준으로 회전하거나 직선 운동을 하며,이러한 움직임을 통해 전체 로봇팔의 형태가 결정됩니다. 🦾 링크와 관절링크(link): 관절과 관절 사이를 연결하는 고정 길이의 막대입니다.관절(joint): 링크를 연결하며, 일반적으로 회전(Rotational) 또는 직선(Prismatic) 운동을 제공합니다.이번 시리즈..

로봇공학기초 2025.03.26