การทดสอบ UAV และการวิเคราะห์หลักฐาน
เขียนเกณฑ์ก่อนทดสอบ เลือก log ให้ตรงคำถาม และตีความสถิติภายใต้ข้อจำกัดของข้อมูล
เริ่มจาก requirement ที่วัดได้
แยก requirement, acceptance criterion, procedure และ evidence เช่น “เวลาไม่ต่ำกว่า20นาที ภายใต้ payload และสภาพแวดล้อมที่กำหนด” ต้องระบุวิธีเริ่ม/หยุดจับเวลาและจำนวนครั้งด้วย คำว่าไม่ต่ำกว่ากับไม่เกินให้ทิศทางการทดสอบต่างกัน
ลำดับการตรวจ
เริ่ม software simulation → bench → integration → controlled field test ตามความพร้อมและวิธีทดสอบที่เหมาะสม แต่ละขั้นตอบข้อสงสัยต่างกัน Simulator ไม่ใช่ผลรับรอง environmental/EMC และผล FEM ไม่ใช่หลักฐานชิ้นงานจริง
เลือก log ให้ตรงคำถาม
ArduPilot DataFlash/TLOG และ PX4 ULog ไม่ใช่ไฟล์ชนิดเดียวกัน pyulog ใช้อ่าน ULog; MAVExplorer และ WebTools มีเส้นทางสำหรับ ArduPilot ตรวจหัวข้อและ sample rate ก่อนคาดหวังว่าจะเห็น IMU spectrum หรือ PID analysis ได้ครบ
FilterReview/PIDReview ใช้ช่วยอ่าน response และผลของค่าตั้งแบบ offline ค่าที่ดูดีในเครื่องมือยังต้องตรวจบนระบบเป้าหมาย อย่าอ้างว่า SITL มี vibration เหมือนลำจริง
สถิติและความไม่แน่นอน
ค่าเฉลี่ยบอกตำแหน่งกลางของข้อมูล แต่ไม่บอกความกระจายทั้งหมด รายงานจำนวนครั้ง mean, SD และช่วงความเชื่อมั่นตามคำถาม พร้อมสภาพแวดล้อมและความไม่แน่นอนเครื่องมือวัด
One-sided test เหมาะเมื่อคำถามมีทิศทางที่กำหนดล่วงหน้า ส่วน two-sided test ถามความต่างสองทิศ ไม่เลือกวิธีหลังเห็นผลเพื่อให้ผ่านเกณฑ์
Confidence interval ของค่าเฉลี่ยกับ tolerance interval ตอบคนละเรื่อง ข้อมูลที่สนับสนุนว่าค่าเฉลี่ยเกินเกณฑ์ยังไม่รับรองว่าเที่ยวบินส่วนใหญ่หรือทุกเที่ยวบินผ่าน
F37: ค่าเฉลี่ย ความกระจาย และช่วงความเชื่อมั่น
ระดับพื้นฐานถึงประยุกต์ · คำถาม: เวลาบินที่วัดหลายครั้งกระจายเท่าไร และค่าเฉลี่ยยังไม่แน่นอนแค่ไหน? เก็บหน่วยทดลองเป็นเที่ยวบินอิสระตามเงื่อนไขเดียวกันก่อนคำนวณ จุด log หนึ่งพันจุดในเที่ยวเดียวไม่ได้เป็นหนึ่งพันเที่ยวอิสระ
x̄ = Σxi / n
s = √[Σ(xi − x̄)2 / (n − 1)]
SE = s / √n
CI95% = x̄ ± t0.975, n−1 × SE
อ่านว่า ค่าเฉลี่ยคือผลรวมหารจำนวนครั้ง; ส่วนเบี่ยงเบนมาตรฐานตัวอย่าง s ใช้ผลรวมระยะห่างจากค่าเฉลี่ยยกกำลังสองหาร n−1 แล้วถอดราก; ช่วงความเชื่อมั่นของค่าเฉลี่ยใช้ค่า t คูณ standard error เป็นระยะบวกและลบจากค่าเฉลี่ย ตาม NIST, Confidence Limits for the Mean (S34, ตรวจ 26 กันยายน 2569)
| ตัวแปร | ความหมายและหน่วย | เงื่อนไข/แหล่งค่า |
|---|---|---|
| xᵢ | เวลาบินแต่ละเที่ยว min ในโจทย์นี้ | ค่าที่วัดด้วยนิยามเริ่ม/จบเดียวกัน; ข้อมูลขาดต้องแจ้ง |
| n | จำนวนเที่ยว ไม่มีหน่วย | จำนวนเต็ม ≥ 2 สำหรับ s และ CI นี้ |
| x̄, s | ค่าเฉลี่ยและ SD ตัวอย่าง min | คำนวณจากข้อมูลดิบเดียวกัน |
| SE | standard error ของค่าเฉลี่ย min | s/√n ภายใต้หน่วยทดลองอิสระ |
| t | quantile ของ Student t ไม่มีหน่วย | ความน่าจะเป็นสะสม 0.975, df = n−1 สำหรับ CI สองด้าน 95% |
| CI | ขอบล่างและบนของค่าเฉลี่ย min | เป็นช่วงอนุมานภายใต้สมมติฐาน |
คำอธิบายภาพ: จุดข้อมูลสามจุดอยู่ที่ 20, 22, 24 นาที ค่าเฉลี่ยอยู่ 22 นาที เส้นช่วงความเชื่อมั่นค่าเฉลี่ย 95% ยาวจากประมาณ 17.03 ถึง 26.97 นาที จึงกว้างกว่าช่วงข้อมูลในตัวอย่างเล็กนี้ ไม่ควรตีความภาพเก่าหรือภาพใหม่ว่าช่วง CI ต้องแคบกว่า tolerance interval เสมอ เพราะสองช่วงใช้คนละนิยามและพารามิเตอร์
ตัวอย่างคำนวณทีละขั้น
สมมติเวลาบินสังเคราะห์สามเที่ยว 20, 22, 24 min เป็นตัวอย่างอิสระจากประชากรปกติที่มีเงื่อนไขคงที่ ตัวอย่างสามค่าเล็กเกินกว่าจะยืนยันสมมติฐานรูปแจกแจงได้ จึงใช้เพื่อฝึกสูตรเท่านั้น
- n = 3 และ x̄ = (20+22+24)/3 = 22 min
- ค่าต่างจากค่าเฉลี่ยคือ −2, 0, 2 min; ผลรวมกำลังสอง = 4+0+4 = 8 min²
- s = √[8/(3−1)] = 2 min และ SE = 2/√3 ≈ 1.154701 min
- df = 2 ใช้ t0.975,2 ≈ 4.30265273 จึงได้ระยะครึ่งช่วง 4.30265273×2/√3 ≈ 4.968275 min
- CI สองด้าน 95% ≈ [17.031725, 26.968275] min หรือ [17.03, 26.97] min เมื่อปัดสองตำแหน่ง
ค่า t ต่างจาก 1.96 ของการประมาณปกติเมื่อรู้เงื่อนไขที่เหมาะสม อย่าแทน 1.96 อัตโนมัติเมื่อมีเพียงสามเที่ยว ตรวจคำตอบด้วย SciPy ttest_1samp และ confidence_interval (S39) โดยกำหนดข้อมูลและ confidence_level เดียวกันได้
ขอบเขตการตีความ: วิธี t นี้ให้ CI ที่ตรงตามระดับที่กำหนดภายใต้ตัวอย่างอิสระจากประชากรปกติ; ข้อมูลมีแนวโน้มตามเวลา แบตเตอรี่เสื่อม หรือเที่ยวบินต่างเงื่อนไขอาจทำให้ใช้วิธีนี้ตรง ๆ ไม่ได้ ความหมาย 95% คือสัดส่วนช่วงที่ครอบคลุมค่าเฉลี่ยประชากรเมื่อทำกระบวนการสุ่มซ้ำ ไม่ใช่โอกาสที่เที่ยวบินถัดไปอยู่ในช่วง หรือการรับรองว่าทุกเที่ยวผ่านเกณฑ์ หากต้องการครอบคลุมสัดส่วนประชากรต้องศึกษาวิธี NIST, Tolerance Intervals (S35) แยกต่างหาก
ตรวจค่าเฉลี่ยและ SD ด้วย เครื่องคำนวณสถิติท้ายบท โดยป้อน 20, 22, 24 ตัวอย่างในบทใช้ค่า t ความละเอียดสูงประมาณ 4.30265273 ส่วนเครื่องมือใช้ค่าตารางที่ปัดเป็น 4.303 สำหรับ df = 2 จึงได้ CI ประมาณ [17.031324, 26.968676] min ต่างจากบทประมาณ 0.000401 min ที่แต่ละขอบ และปัดสองตำแหน่งได้ [17.03, 26.97] min เหมือนกัน ความต่างนี้เกิดจากการปัดค่า t ไม่ใช่สูตรหรือข้อมูลคนละชุด เครื่องมือรองรับจำนวนตัวอย่างตามตารางที่ระบุ ให้ตรวจ df ก่อนเทียบผล
แบบฝึก: เพิ่มทุกเที่ยวหนึ่งนาที
เปลี่ยนข้อมูลเป็น 21, 23, 25 min แล้วหา mean, s และ CI 95% ด้วยค่า t เดิม ยอมรับขอบช่วงคลาดเคลื่อนไม่เกิน 0.001 min
เปิดเฉลย F37
ค่าเฉลี่ยเป็น 23 min; ค่าต่างจากค่าเฉลี่ยยังเป็น −2, 0, 2 จึงได้ s = 2 min และ SE ≈ 1.154701 min เท่าเดิม CI เลื่อนไปหนึ่งนาทีทั้งช่วง เป็น [18.031725, 27.968275] min ช่วงไม่ได้แคบลงเพราะยังมีจำนวนเที่ยวและความกระจายเท่าเดิม
ใช้ แบบบันทึกการทดลอง CSV เดิม เก็บเงื่อนไขและหน่วยทดลองควบคู่ผลคำนวณ รายงานการคัดข้อมูลออกและความไม่แน่นอนของเครื่องมือด้วย; n = 1 คำนวณ mean ได้ แต่ s และ CI นี้ยังคำนวณไม่ได้
แบบบันทึกที่ควรมี
| ช่องข้อมูล | ตัวอย่างสิ่งที่บันทึก |
|---|---|
| Test ID/requirement | ข้อที่ต้องพิสูจน์และทิศเกณฑ์ |
| Environment | payload, battery, ลม, อุณหภูมิ |
| Configuration | firmware, parameters, model/version |
| Raw evidence | log/CSV และหน่วย |
| Analysis | วิธีคำนวณ สมมติฐาน CI และ outlier |
| Conclusion | สิ่งที่สนับสนุนได้และข้อจำกัด |
ตรวจอากาศยานก่อนและหลังงาน
การตรวจความพร้อมเป็นส่วนหนึ่งของหลักฐาน ไม่ใช่เพียงการติ๊กช่องให้ครบ ใช้คู่มือของรุ่นที่ใช้งานกำหนดรายละเอียด จุดยึด ใบพัด แบตเตอรี่ เซนเซอร์ และรายการบำรุงรักษา ถ้าพบความผิดปกติที่ยังประเมินไม่ได้ ให้ระบุสถานะรอตรวจ ไม่เปลี่ยนสถานะเป็นพร้อมใช้งานเพราะเปิดเครื่องติด
| ช่วง | สิ่งที่ตรวจและบันทึก |
|---|---|
| ก่อนงาน | รุ่น/หมายเลขลำ configuration ประวัติ defect ที่ยังไม่ปิด สภาพชิ้นส่วนและการยึด payload |
| ก่อนเริ่มการทดสอบ | เงื่อนไขพื้นที่ คน อากาศ พลังงาน การสื่อสาร และเกณฑ์หยุดตามแผน |
| หลังงาน | ความเสียหายหรือความร้อนผิดปกติ สภาพแบตเตอรี่ ชั่วโมง/รอบใช้งาน log และข้อสังเกต |
| ก่อนกลับมาใช้งาน | วิธีแก้ ผู้รับผิดชอบ ผลตรวจซ้ำ และการยืนยันตามขั้นตอนของอุปกรณ์ |
การตรวจบนโต๊ะควรจัดการพลังงานและส่วนหมุนตามคู่มือ ไม่ใช้การสั่งหมุนใบพัดในพื้นที่ทำงานเป็นวิธีตรวจทั่วไป อายุแบตเตอรี่หรือใบพัดไม่ควรกำหนดเป็นตัวเลขเดียวสำหรับทุกรุ่น
บันทึกข้อบกพร่องให้ตรวจย้อนกลับได้
บันทึกวันที่ อุปกรณ์/รุ่น revision อาการ เงื่อนไขที่พบ หลักฐาน สถานะ และผู้รับผิดชอบ แยก “พบอาการ” ออกจาก “วิเคราะห์สาเหตุ” เช่น การสั่นใน log ยังไม่ยืนยันว่าเกิดจากใบพัดเพียงสาเหตุเดียว หลังแก้ให้ทดสอบเงื่อนไขที่เกี่ยวข้องและอ้างถึงไฟล์ผลใหม่ก่อนปิดรายการ
แบบฝึกบนคอมพิวเตอร์: สร้างรายการ defect สมมติสามรายการ แล้วเชื่อมแต่ละรายการกับ test ID วิธีตรวจซ้ำ และเกณฑ์ปิดรายการ ผู้ตรวจอีกคนควรตามหลักฐานได้โดยไม่ต้องถามผู้สร้างบันทึก
อ่านต่อและแหล่งอ้างอิง
- เอกสารตั้งต้น: DTI, การทดสอบ UAV ต้นแบบขั้นสูง
- ArduPilot WebTools
- SciPy one-sample t-test
- NIST confidence limits
- NIST tolerance intervals
- ดาวน์โหลดแบบบันทึกการทดลอง CSV
เนื้อหานี้เรียบเรียงจากเอกสารที่ DTI เอื้อเฟื้อและแหล่งอ้างอิงข้างต้น ตัวอย่างตัวเลขเป็นกรณีเพื่อการเรียนรู้ อ่านกิตติกรรมประกาศและที่มาของเนื้อหา
F11: อ่าน sample rate กับช่องความถี่ก่อนอ่าน spectrum
| ตัวแปร | ความหมายและหน่วยเข้า → ออก | ช่วง/แหล่งค่า |
|---|---|---|
| fs, f | sample rate และความถี่ sinusoid Hz (เข้า) | fs > 0, f ≥ 0; sample สม่ำเสมอ |
| N | จำนวน sample จริงก่อน zero padding (เข้า) | จำนวนเต็ม ≥ 2; อ่าน log ที่ไม่มีจุดขาด |
| f_N, Δf, f_alias | ขอบ Nyquist, bin spacing, alias magnitude Hz (ออก) | ≥ 0; Δf > 0 |
| α | น้ำหนัก EMA ไร้หน่วย (เข้า) | 0 < α ≤ 1; ผู้ทดลองกำหนด |
| x_k, y_prev, y_k | ค่าวัด output ก่อนหน้าและ output ใหม่ หน่วยสัญญาณ (เข้า/ออก) | finite และหน่วยเดียวกัน; ระบุ initial state |
ระดับประยุกต์ · คำถาม: ความถี่ที่เห็นใน log อาจมาจากสัญญาณจริงที่สูงกว่านั้นหรือไม่?
f_N = fs/2; Δf = fs/N; f_alias = |f − round(f/fs)fs|
y_k = αx_k + (1−α)y_(k−1)
round ในสูตร alias คือจำนวนเต็มที่ใกล้ที่สุด; ใช้ magnitude ของ sinusoid จริงหนึ่งความถี่ NI อธิบายการพับความถี่และการกรองก่อน ADC ขอบ fs/2 ไม่ใช่การรับรองว่าถ่ายสัญญาณตรงขอบแล้วสร้างกลับได้ทุกเฟส ต้องจำกัด band ต่ำกว่าขอบและเผื่อ filter transition
Δf อ้างการจัด bin ของ NumPy 2.0 fftfreq(N,d=1/fs) ไม่ใช่ความสามารถแยก peak ซึ่งขึ้นกับช่วงบันทึก window และ noise การเติมศูนย์เพิ่มจุดแสดงผลไม่เพิ่มข้อมูลจริง PSD มีหน่วยกำลังต่อ Hz ต่างจาก amplitude spectrum สมการ EMA เป็นตัวอย่างการเฉลี่ยหลัง sampling จึงแก้ alias ที่เกิดไปแล้วไม่ได้
ตัวอย่างแทนค่า
fs=200 Hz, N=1000 ได้ f_N=100 Hz และ Δf=0.2 Hz ช่วงบันทึกตาม N/fs คือ5 s ถ้ารับ sinusoid130 Hz จะเห็น alias |130−200|=70 Hz ส่วนหนึ่งก้าว EMA ที่ α=0.25, x=10 และ y_prev=2 ได้ y=0.25×10+0.75×2=4 หน่วยสัญญาณ
แบบฝึกเปลี่ยนค่า
บันทึก sample จริงเพิ่มเป็น N=2000 โดยคง fs และข้อมูลหนึ่งก้าว EMA เดิม ค่าใดเปลี่ยน?
เปิดเฉลย F11
Δf=0.1 Hz และระยะ N/fs=10 s; f_N=100 Hz, alias=70 Hz และ EMA=4 ไม่เปลี่ยน ยอมรับ ±0.000001 การเพิ่มระยะบันทึกไม่แก้ alias
อ้างอิง: NI — Acquiring an Analog Signal, Nyquist Sampling Theorem and Aliasing (P3E04) · NumPy 2.0 — numpy.fft.fftfreq (P3E05); ตรวจ 26 กันยายน 2569
เชื่อมความรู้กับภารกิจและข้อมูล
กำหนดภารกิจทดสอบ วิธีวัด และเกณฑ์ก่อนเริ่ม แล้วบันทึกเงื่อนไขให้คนอื่นทำซ้ำได้ แบบทดสอบมาตรฐานเป็นแนวทางวัดความสามารถ ไม่ใช่การรับรองว่าผู้เรียนผ่านมาตรฐานโดยเพียงอ่านหรือทำครั้งเดียว อ่านแหล่งอ้างอิง: NIST — Aerial Drone Tests
ฝึกตรวจความเข้าใจ: เลือกหนึ่งทักษะ กำหนดตัวชี้วัดและสาเหตุที่ต้องยุติการทดสอบ ใช้แบบจำลองก่อนทดสอบอากาศยานจริง
อ่านต่อ บทที่ใช้ความรู้นี้ในงานจำลอง · ทบทวนแหล่งข้อมูล 26 กันยายน 2569
ดาวน์โหลดชุดตรวจคำตอบสูตรพื้นฐาน (JSON) · ข้อมูลสังเคราะห์พร้อมหน่วย ใช้เปรียบเทียบผลคำนวณของตนเอง
ดาวน์โหลดชุดฝึกสูตรวิศวกรรมและเซนเซอร์ (CSV/JSON พร้อมเฉลย) · ข้อมูลสังเคราะห์สำหรับฝึกคำนวณและตรวจสมมติฐาน
ทดลองค่าเฉลี่ย การกระจาย และช่วงความเชื่อมั่น
คำนวณในเบราว์เซอร์ ข้อมูลไม่ถูกส่งออกจากเครื่อง ใช้ประกอบตัวอย่างและสมมติฐานในบทเรียนนี้
ใช้ผลทดลองอิสระ 2–31 ค่า หน่วยเดียวกัน สมมติประชากรใกล้ปกติและไม่มี bias ใช้ t ที่ df = n − 1 สำหรับ CI 95% ของค่าเฉลี่ย ไม่ใช่ช่วงที่ครอบคลุม 95% ของการบินครั้งถัดไป และไม่ตรวจสมมติฐานให้อัตโนมัติ
ใช้ ตาราง Student’s t ของ NIST คอลัมน์ 0.975 ปัดสามตำแหน่ง จึงได้ช่วงโดยประมาณ หากทุกค่าตรงกัน ช่วงแคบไม่ได้ยืนยันว่าเครื่องมือไม่มีความคลาดเคลื่อน