---
title: "ระบบควบคุมโรโบติกส์: แขนกล หุ่นยนต์เคลื่อนที่ และการควบคุมข้อต่อ"
url: https://modsengineeringmath.com/learn/control-systems/robotics/
site: "Mod's Engineering Mathematics (อาจารย์มด)"
language: th
updated: 2026-10-12
---

> ระบบควบคุมหุ่นยนต์สำหรับวิศวกรไฟฟ้า จลนศาสตร์ตรงและผกผันของแขนกลสองข้อต่อ จาโคเบียนและภาวะเอกฐาน สมการพลศาสตร์แขนกล ควบคุมข้อต่ออิสระด้วย PD/PID ชดเชยแรงโน้มถ่วง computed torque control การสร้างวิถีแบบพหุนามกำลังสามและห้า หุ่นยนต์ล้อแบบ differential drive การนำทางไปยังเป้าหมาย หุ่นยนต์ทรงตัวสองล้อ และไอเดียโปรเจกต์หุ่นยนต์

ฉบับ Markdown ของ https://modsengineeringmath.com/learn/control-systems/robotics/ สำหรับผู้ช่วย AI และเครื่องมือค้นหา สูตรเขียนเป็น LaTeX ($…$ และ $$…$$) แล็บโต้ตอบและรูปมีเฉพาะในหน้าเว็บ

# ระบบควบคุมโรโบติกส์: แขนกล หุ่นยนต์เคลื่อนที่ และการควบคุมข้อต่อ

// บทที่ 13.24 · ระบบควบคุม · Robotics & Robot Control


หุ่นยนต์คือเมคาทรอนิกส์ที่มีหลายข้อต่อทำงานประสานกัน คำถามเปลี่ยนจาก “มอเตอร์หมุนไปมุมนี้” เป็น “ปลายแขนไปตำแหน่งนี้ตามเส้นทางนี้” ต้องเพิ่มจลนศาสตร์ (เรขาคณิต) พลศาสตร์ (แรงบิดที่ต้องใช้) และการวางแผนวิถี แต่ลึก ๆ แล้วทุกข้อต่อยังเป็นเซอร์โวที่คุมด้วยหลักการเดียวกับเมคาทรอนิกส์ หน้านี้พาจากแขนกลสองข้อต่อไปถึงหุ่นยนต์ล้อและหุ่นยนต์ทรงตัว สูตรใช้รหัส A

สรุปใน 30 วินาที

- จลนศาสตร์ตรง $\mathbf x = f(\mathbf q)$ · ผกผัน $\mathbf q = f^{-1}(\mathbf x)$ · ความเร็ว $\dot{\mathbf x} = J(\mathbf q)\dot{\mathbf q}$

- พลศาสตร์: $M(\mathbf q)\ddot{\mathbf q} + C(\mathbf q, \dot{\mathbf q})\dot{\mathbf q} + \mathbf g(\mathbf q) = \boldsymbol\tau$

- PD + ชดเชยแรงโน้มถ่วง → เสถียรเสมอ (ลียาปูนอฟ) · computed torque → ทุกข้อต่อเป็นระบบอันดับสองเชิงเส้นที่เลือก $\zeta, \omega_n$ ได้

- หุ่นยนต์ล้อ: $v = \frac r2(\omega_R + \omega_L)$, $\omega = \frac rb(\omega_R - \omega_L)$

## จลนศาสตร์แขนกลสองข้อต่อ กลาง

A1 Forward kinematics (2-link planar) จลนศาสตร์ตรง

$$x = l_1\cos\theta_1 + l_2\cos(\theta_1 + \theta_2), \qquad y = l_1\sin\theta_1 + l_2\sin(\theta_1 + \theta_2)$$

ใช้ตรีโกณมิติล้วน ๆ · แขนหลายข้อต่อใช้เมทริกซ์แปลงพิกัด (Denavit–Hartenberg) คูณต่อกัน

A2 Inverse kinematics จลนศาสตร์ผกผัน

$$\cos\theta_2 = \frac{x^2 + y^2 - l_1^2 - l_2^2}{2l_1l_2}, \qquad \theta_1 = \operatorname{atan2}(y, x) - \operatorname{atan2}(l_2\sin\theta_2,\ l_1 + l_2\cos\theta_2)$$

$\theta_2 = \pm\cos^{-1}(\cdot)$ ให้สองคำตอบ (ข้อศอกขึ้น/ลง) · ถ้า $|\cos\theta_2| \gt 1$ ปลายแขนเอื้อมไม่ถึง

A3 Jacobian จาโคเบียนและภาวะเอกฐาน

$$\begin{pmatrix} \dot x \\ \dot y \end{pmatrix} = \underbrace{\begin{pmatrix} -l_1s_1 - l_2s_{12} & -l_2s_{12} \\ l_1c_1 + l_2c_{12} & l_2c_{12} \end{pmatrix}}_{J(\boldsymbol\theta)}\begin{pmatrix} \dot\theta_1 \\ \dot\theta_2 \end{pmatrix}, \qquad \det J = l_1l_2\sin\theta_2, \qquad \boldsymbol\tau = J^T\mathbf F$$

$s_{12} = \sin(\theta_1 + \theta_2)$ · $\theta_2 = 0, \pi$ (แขนเหยียดตรงหรือพับสุด) เป็นภาวะเอกฐาน · $J^T$ แปลงแรงที่ปลายแขนเป็นแรงบิดข้อต่อ (ใช้ใน force control) · ดูอินเวอร์สและดีเทอร์มิแนนต์

ตัวอย่าง A-1 · ไปและกลับ

### แขนกล $l_1 = l_2 = 0.5$ m ที่ $\theta_1 = 30^\circ,\ \theta_2 = 60^\circ$ ปลายแขนอยู่ที่ไหน แล้วคำนวณย้อนกลับ

- A1: $x = 0.5\cos30^\circ + 0.5\cos90^\circ = 0.433$ m · $y = 0.5\sin30^\circ + 0.5\sin90^\circ = 0.75$ m

- A2: $\cos\theta_2 = \dfrac{0.1875 + 0.5625 - 0.25 - 0.25}{0.5} = 0.5 \Rightarrow \theta_2 = 60^\circ$ · $\theta_1 = \operatorname{atan2}(0.75, 0.433) - \operatorname{atan2}(0.433, 0.75) = 60^\circ - 30^\circ = 30^\circ$ ✓

- A3: $\det J = 0.25\sin60^\circ = 0.217$ ห่างจากเอกฐาน ✓

ปลายแขนที่ (0.433, 0.75) m · คำนวณย้อนกลับได้มุมเดิม (คำตอบข้อศอกลง) · อีกคำตอบคือ $\theta_2 = -60^\circ,\ \theta_1 = 90^\circ$

## พลศาสตร์และการควบคุมข้อต่อ ขั้นสูง

A4 Manipulator dynamics สมการพลศาสตร์แขนกล

$$M(\mathbf q)\ddot{\mathbf q} + C(\mathbf q, \dot{\mathbf q})\dot{\mathbf q} + \mathbf g(\mathbf q) + \mathbf f(\dot{\mathbf q}) = \boldsymbol\tau$$

$M$ เมทริกซ์ความเฉื่อย (สมมาตร บวกแน่นอน เปลี่ยนตามท่า) · $C$ แรงโคริโอลิสและหนีศูนย์ · $\mathbf g$ แรงโน้มถ่วง · $\mathbf f$ แรงเสียดทาน · ได้จากสมการออยเลอร์–ลากรานจ์ $\frac{d}{dt}\frac{\partial\mathcal L}{\partial\dot q} - \frac{\partial\mathcal L}{\partial q} = \tau$

A5 PD + gravity compensation PD + ชดเชยแรงโน้มถ่วง

$$\boldsymbol\tau = K_P(\mathbf q_d - \mathbf q) - K_D\dot{\mathbf q} + \mathbf g(\mathbf q)$$

ลู่เข้า $\mathbf q_d$ คงที่เสมอสำหรับ $K_P, K_D \succ 0$ ใดก็ได้ (พิสูจน์ด้วยลียาปูนอฟ $V = \tfrac12\dot{\mathbf q}^TM\dot{\mathbf q} + \tfrac12\mathbf e^TK_P\mathbf e$) · ไม่ต้องรู้ $M$ และ $C$ เลย · ไม่มีเทอม I จึงไม่ต้องกลัว windup

A6 Computed torque (inverse dynamics) คอมพิวเต็ดทอร์ก

$$\boldsymbol\tau = M(\mathbf q)\big[\ddot{\mathbf q}_d + K_D\dot{\mathbf e} + K_P\mathbf e\big] + C\dot{\mathbf q} + \mathbf g \ \Rightarrow\ \ddot{\mathbf e} + K_D\dot{\mathbf e} + K_P\mathbf e = \mathbf 0$$

ความผิดพลาดทุกข้อต่อกลายเป็นระบบอันดับสองเชิงเส้นอิสระ เลือก $K_P = \omega_n^2,\ K_D = 2\zeta\omega_n$ · ต้องรู้แบบจำลองแม่น · คือ feedback linearization

ตัวอย่าง A-2 · ตั้งเกน computed torque

### ต้องการให้ความผิดพลาดของทุกข้อต่อลู่เข้าแบบหน่วงวิกฤต เวลาเข้าที่ประมาณ 0.6 s

- หน่วงวิกฤต $\zeta = 1$: $t_s \approx 5.8/\omega_n$ (2%) → $\omega_n \approx 10$ rad/s

- A6: $K_P = 100\ \text{s}^{-2}$, $K_D = 20\ \text{s}^{-1}$ (เป็นเมทริกซ์ทแยงมุม)

$K_P = 100I,\ K_D = 20I$ ทุกข้อต่อตอบสนองเหมือนกันไม่ว่าท่าไหน (ตราบที่แบบจำลองถูก) · ต้องตรวจว่าแรงบิดที่คำนวณได้ไม่เกินขีดจำกัดของมอเตอร์

## วางแผนวิถี กลาง

A7 Cubic and quintic trajectories วิถีพหุนาม (จากหยุดนิ่งถึงหยุดนิ่ง)

$$q(t) = q_0 + \Delta\left[3\left(\tfrac tT\right)^2 - 2\left(\tfrac tT\right)^3\right], \qquad \dot q_{max} = \frac{3\Delta}{2T}, \qquad \ddot q_{max} = \frac{6\Delta}{T^2}$$

ความเร็วต่อเนื่อง ความเร่งกระโดดที่ต้นและปลาย · พหุนามกำลังห้า $\Delta[10\tau^3 - 15\tau^4 + 6\tau^5]$ ให้ความเร่งต่อเนื่องด้วย (นุ่มกว่า กระตุ้นเรโซแนนซ์น้อยกว่า) · ส่ง $q, \dot q, \ddot q$ ไปเป็น feedforward (K4)

ตัวอย่าง A-3 · หมุนข้อต่อ 90° ใน 2 วินาที

### หาวิถีกำลังสามและความเร็ว ความเร่งสูงสุด

- $\Delta = \pi/2,\ T = 2$: $q(t) = 1.178t^2 - 0.393t^3$ rad A7

- $\dot q_{max} = \dfrac{3(\pi/2)}{4} = 1.178$ rad/s ที่ $t = 1$ s · $\ddot q_{max} = \dfrac{6(\pi/2)}{4} = 2.356$ rad/s² ที่ $t = 0$

$q(t) = 1.178t^2 - 0.393t^3$ · ความเร็วสูงสุด 67.5°/s · ใช้ตรวจว่ามอเตอร์และเกียร์รับไหว (แรงบิดสูงสุด $\approx J_{eq}\ddot q_{max}$ + แรงโน้มถ่วง)

## หุ่นยนต์ล้อและหุ่นยนต์ทรงตัว กลาง

A8 Differential-drive kinematics จลนศาสตร์หุ่นยนต์สองล้อขับ

$$v = \frac r2(\omega_R + \omega_L), \quad \omega = \frac rb(\omega_R - \omega_L), \quad \dot x = v\cos\phi,\ \dot y = v\sin\phi,\ \dot\phi = \omega$$

$r$ รัศมีล้อ $b$ ระยะห่างล้อ · ผกผัน: $\omega_{R,L} = \dfrac{v \pm \omega b/2}{r}$ แล้วใช้ PI คุมความเร็วล้อแต่ละข้าง

A9 Go-to-goal / heading control นำทางไปเป้าหมาย

$$\phi_d = \operatorname{atan2}(y_g - y,\ x_g - x), \qquad \omega = K_\phi\,\operatorname{wrap}(\phi_d - \phi), \qquad v = \min\big(v_{max},\ K_\rho\rho\big)$$

$\rho$ = ระยะถึงเป้า · wrap มุมให้อยู่ใน $(-\pi, \pi]$ · หุ่นเดินตามเส้นใช้ PD กับความคลาดจากเส้นแทน $\phi_d - \phi$

ตัวอย่าง A-4 · สั่งล้อ

### หุ่นยนต์ล้อรัศมี 5 cm ระยะห่างล้อ 30 cm ต้องการ $v = 0.5$ m/s และเลี้ยวด้วย $\omega = 1$ rad/s

- A8: $\omega_R = \dfrac{0.5 + 1(0.15)}{0.05} = 13$ rad/s · $\omega_L = \dfrac{0.5 - 0.15}{0.05} = 7$ rad/s

ล้อขวา 13 rad/s (124 rpm) ล้อซ้าย 7 rad/s (67 rpm) รัศมีวงเลี้ยว $v/\omega = 0.5$ m · ส่งเป็นค่าอ้างอิงให้ลูปความเร็วล้อแต่ละข้าง

หุ่นยนต์ทรงตัวสองล้อ คือลูกตุ้มกลับหัวบนล้อ (ขั้วฝั่งขวา) วัดมุมเอียงด้วย IMU (complementary filter: $\hat\theta = \alpha(\hat\theta + \omega_{gyro}T) + (1 - \alpha)\theta_{acc}$, $\alpha \approx 0.98$) แล้วใช้ LQR กับสถานะ (มุม อัตรามุม ตำแหน่ง ความเร็ว) หรือ PID สองลูป ลูปในคุมมุมเร็ว ลูปนอกคุมความเร็วช้า

## แล็บ: ข้อต่อหนึ่งข้อต่อ

ข้อต่อที่มีความเฉื่อยและแรงโน้มถ่วงถูกชดเชยแล้ว คือพลานต์ $\frac{1}{Js^2 + bs}$ ลองตั้ง $K_P = 100,\ K_D = 20$ (ตัวอย่าง A-2 กับ $J = 1$) ดูการตอบสนองแบบหน่วงวิกฤต แล้วลองข้อต่อที่ยืดหยุ่น

กำลังโหลดแล็บ (ต้องเปิด JavaScript)

## ไอเดียโปรเจกต์หุ่นยนต์

- พื้นฐาน หุ่นเดินตามเส้น PD · หุ่นหลบสิ่งกีดขวางด้วยอัลตราโซนิก · แขนกลเซอร์โว RC 3 แกนพร้อมจลนศาสตร์ผกผัน

- กลาง หุ่นยนต์ล้อนำทางด้วยเอนโค้ดเดอร์ (odometry) ไปยังพิกัด · หุ่นทรงตัวสองล้อ · พล็อตเตอร์วาดรูป SCARA สองข้อต่อ

- ขั้นสูง แขนกล 6 แกนด้วย computed torque · โดรนสี่ใบพัด (PID คาสเคดมุม–อัตรา) · หุ่นยนต์ทำแผนที่ด้วย LiDAR + ตัวกรองคาลมาน · หุ่นยนต์ขาเดิน

ไอเดียเพิ่มเติมอยู่ในคลังไอเดียระบบควบคุม

## ต่อยอดไปหน้าถัดไป

ทุกมอเตอร์ในหุ่นยนต์ต้องการแหล่งจ่ายที่นิ่ง และไดรเวอร์ทุกตัวคือตัวแปลงกำลัง ไปที่สะพานสู่อิเล็กทรอนิกส์กำลัง เพื่อดูว่าวิชาควบคุมทั้งหมดไปอยู่ในพาวเวอร์ซัพพลายได้อย่างไร

## คำถามที่พบบ่อย

ทำไมควบคุมแขนกลด้วย PID แยกแต่ละข้อต่อได้?
เพราะข้อต่อส่วนใหญ่มีเกียร์ทดสูง ความเฉื่อยของโหลดที่สะท้อนมายังมอเตอร์ลดลงตามกำลังสองของอัตราทด ผลกระทบระหว่างข้อต่อ (coupling) จึงเล็กเมื่อเทียบกับความเฉื่อยของมอเตอร์เอง มองเป็นการรบกวนที่ PID จัดการได้ แต่หุ่นยนต์ที่ขับตรง (direct drive) หรือเคลื่อนที่เร็วมาก ต้องใช้ computed torque

ภาวะเอกฐาน (singularity) คืออะไร?
คือท่าที่จาโคเบียนเสียแรงก์ (ดีเทอร์มิแนนต์เป็นศูนย์) เช่น แขนกลเหยียดตรงสุด ปลายแขนเคลื่อนในบางทิศไม่ได้ และการคำนวณความเร็วข้อต่อจากความเร็วปลายแขนจะได้ค่าอนันต์ ต้องวางแผนวิถีให้ห่างจากท่าเหล่านี้

หุ่นยนต์ทรงตัวสองล้อควบคุมอย่างไร?
เป็นลูกตุ้มกลับหัวบนล้อ พลานต์ไม่เสถียรวงเปิด นิยมใช้ LQR กับสถานะ มุมเอียง อัตราเอียง ตำแหน่ง และความเร็วล้อ หรือ PID สองลูป (ลูปในคุมมุมเอียง ลูปนอกคุมความเร็ว) มุมเอียงได้จากการหลอมรวมไจโรกับ accelerometer

มด

อาจารย์มด · ธีรวุฒิ แสวงบุญ
อาจารย์สาขาวิชาวิศวกรรมไฟฟ้า มหาวิทยาลัยราชภัฏธนบุรี สมุทรปราการ · ดูโปรไฟล์

## คำถามที่พบบ่อย (FAQ)

**ทำไมควบคุมแขนกลด้วย PID แยกแต่ละข้อต่อได้?**
เพราะข้อต่อส่วนใหญ่มีเกียร์ทดสูง ความเฉื่อยของโหลดที่สะท้อนมายังมอเตอร์ลดลงตามกำลังสองของอัตราทด ผลกระทบระหว่างข้อต่อ (coupling) จึงเล็กเมื่อเทียบกับความเฉื่อยของมอเตอร์เอง มองเป็นการรบกวนที่ PID จัดการได้ แต่หุ่นยนต์ที่ขับตรง (direct drive) หรือเคลื่อนที่เร็วมาก ต้องใช้ computed torque

**ภาวะเอกฐาน (singularity) คืออะไร?**
คือท่าที่จาโคเบียนเสียแรงก์ (ดีเทอร์มิแนนต์เป็นศูนย์) เช่น แขนกลเหยียดตรงสุด ปลายแขนเคลื่อนในบางทิศไม่ได้ และการคำนวณความเร็วข้อต่อจากความเร็วปลายแขนจะได้ค่าอนันต์ ต้องวางแผนวิถีให้ห่างจากท่าเหล่านี้

**หุ่นยนต์ทรงตัวสองล้อควบคุมอย่างไร?**
เป็นลูกตุ้มกลับหัวบนล้อ พลานต์ไม่เสถียรวงเปิด นิยมใช้ LQR กับสถานะ มุมเอียง อัตราเอียง ตำแหน่ง และความเร็วล้อ หรือ PID สองลูป (ลูปในคุมมุมเอียง ลูปนอกคุมความเร็ว) มุมเอียงได้จากการหลอมรวมไจโรกับ accelerometer
