จากข้อความและรูปทรงสู่เส้นทางฝูงโดรน
ฝึกแปลงรูปเป็นจุด จับคู่ลำกับเป้าหมาย และตรวจเส้นทางตามเวลา รวมข้อจำกัด downwash และความคลาดเคลื่อน
ปลายทางถูกต้องไม่ได้แปลว่าระหว่างทางผ่าน
เมื่อมีรูปเริ่มและรูปจบ ต้องเลือกว่าลำใดไปจุดใด แล้ววางเส้นทางให้ถึงตามเวลา การจับคู่ที่เดินทางรวมสั้นที่สุดอาจเกิดการตัดกัน จึงควรแยก “การจัดสรรลำ” จาก “การวางเส้นทางและตรวจข้อจำกัด”
ขั้นตอนทดลองบนคอมพิวเตอร์
- เตรียมข้อความหรือ SVG ที่มีสิทธิ์ใช้ ตรวจรูปอักษรและเครื่องหมายให้ครบ
- แปลงเป็นจุดและกำหนดสเกล บันทึกหน่วย จุดกำเนิด และทิศแกน
- ตั้งหมายเลขลำกับตำแหน่งเริ่ม แล้วจับคู่ไปยังจุดเป้าหมาย
- กำหนดเส้นทางตามเวลาให้รวมขึ้นบิน ค้างรูป เปลี่ยนรูป และลง
- ตรวจตำแหน่ง ความเร็ว ความเร่ง เวลา และไฟตลอดช่วง
- แก้แผนเมื่อพบข้อผิดพลาด แล้วตรวจใหม่ทั้งช่วงที่ได้รับผล
การตรวจเฉพาะเฟรมต้นกับปลายอาจพลาดการเข้าใกล้กันระหว่างเฟรม ถ้าลด timestep แล้วระยะต่ำสุดเปลี่ยนมาก ให้รายงานว่าความละเอียดเวลาเดิมยังไม่พอ อย่าอ้างค่าที่สุ่มตรวจเป็นการรับประกันระยะต่อเนื่อง
ระยะสามมิติและ Downwash
Downwash คือลมที่ถูกใบพัดผลักลงและอาจรบกวนลำที่อยู่ต่ำกว่า งานของ Preiss และคณะ (2017) นำผลนี้มาพิจารณาในการวางเส้นทางฝูง สิ่งที่นำมาใช้ในบทเรียนคือควรตรวจการซ้อนในแนวดิ่งเพิ่มเติม ไม่ใช้ค่าระยะเดียวจากงานวิจัยเป็นเกณฑ์สำหรับทุกโดรน
แผนของเครื่องมือมีข้อสมมติของตัวเอง อ่านเงื่อนไข transition ของรุ่นที่ใช้ และเผื่อความคลาดเคลื่อนการติดตามเส้นทาง การตรวจทางเรขาคณิตกับผลตอบสนองของตัวควบคุมเป็นหลักฐานคนละส่วน
แบบฝึกที่ตรวจคำตอบได้
วาดลำ A จาก (-1, 0) ไป (1, 0) และลำ B จาก (1, 0) ไป (-1, 0) ในเวลาเดียวกัน หากทั้งสองเดินเส้นตรงด้วยอัตราคงที่ จะพบกันที่จุดกึ่งกลางในครึ่งเวลา แม้ตำแหน่งเริ่มและจบห่างกัน ลองเสนอการแก้โดยเปลี่ยนเส้นทางหรือเวลา แล้วอธิบายว่าต้องตรวจช่วงขึ้นและลงเพิ่มอย่างไร
ชิ้นงานคือกราฟตำแหน่งตามเวลา พร้อมข้อสมมติ ไม่ต้องเชื่อมโดรนจริง ดู การประเมินผล เพื่อกำหนดหลักฐานก่อนรันหลายรอบ
บรรณานุกรมและแหล่งต้นทาง
ตรวจเอกสารวันที่ 23 กันยายน 2569
- Preiss, J. A., Hönig, W., Ayanian, N., & Sukhatme, G. S. (2017). Downwash-Aware Trajectory Planning for Large Quadrotor Teams
- Skybrush. Studio: features and service limitations
- Skybrush. Studio for Blender: source and license
F33: ระยะต่ำสุดระหว่างตัวอย่างเวลา
| ตัวแปร | ความหมายและหน่วยเข้า → ออก | ช่วง/แหล่งค่า |
|---|---|---|
| p_A0,p_A1,p_B0,p_B1 | ตำแหน่งปลายช่วงของสองลำ (เข้า) m | frame และ timestamp เดียวกัน; finite3แกน |
| t0, Δt | เวลาเริ่มและความยาวช่วง (เข้า) s | Δt>0; ห้ามใช้เวลาคนละ clock โดยไม่แก้ |
| r0, Δr | relative position เริ่ม และการเปลี่ยนทั้งช่วง (คำนวณ) m | r0=p_A0−p_B0; Δr=(p_A1−p_B1)−r0 |
| u*, d_min, t* | สัดส่วนช่วง ระยะต่ำสุด และเวลา (ออก) ไร้หน่วย,m,s | 0≤u*≤1; เป็นผลของโมเดลเส้นตรง |
ระดับขั้นสูง · แบบจำลองเพื่อการเรียนรู้ · คำถาม: สองเส้นทางที่ห่างกันทุกจุดบันทึก อาจตัดกันระหว่างจุดหรือไม่?
r(u)=r0+uΔr; u*=clip(−r0·Δr/||Δr||²,0,1); d_min=||r(u*)||; t*=t0+u*Δt
กำหนด p(t) เป็น linear interpolation ในแต่ละช่วงเวลาร่วมกัน แล้ว d²(u)=r0·r0+2u(r0·Δr)+u²(Δr·Δr) การตั้งอนุพันธ์เป็นศูนย์และจำกัด u ใน[0,1] ให้คำตอบข้างต้น หาก Δr=0 ระยะคงที่ให้เลือก t*=t0 โดยไม่หารศูนย์ สำหรับหลายช่วงต้องหาทุกช่วงและเลือกระยะต่ำสุดทั้งหมด
ความเร็วในช่วง v=(p1−p0)/Δt เป็นค่าคงที่ของโมเดล ส่วน finite difference ของความเร็วต้องระบุเวลาของ velocity ก่อนหารอีกครั้ง ที่จุดต่อเส้นตรงอาจมีความเร็วกระโดดจึงไม่ใช่ acceleration ทางกายภาพที่เรียบ ข้อมูล timestamp ต่างกันต้องสร้างช่วงร่วมและประกาศ interpolation/offset ก่อนเปรียบเทียบ
ตัวอย่างแทนค่า
เวลา0และ2 s: A จาก(−1,0,0)ไป(1,0,0) m; B จาก(1,0,0)ไป(−1,0,0) m ระยะที่บันทึกทั้งสองปลาย=2 m แต่ r0=(−2,0,0), Δr=(4,0,0) m จึง u*=8/16=0.5 และ d_min=0 m ที่1 s รูปเป็นกราฟ x–t จึงอ่านการตัดกันได้โดยตรง
ผลนี้แน่นอนเฉพาะโมเดล linear ระหว่างจุด ไม่ใช่หลักฐานความปลอดภัยของการบินจริง ไม่รวมขนาดลำ uncertainty ตำแหน่ง/เวลา downwash หรือการหลบหลีก การเพิ่ม sample อย่างเดียวไม่รับรองระยะต่อเนื่อง
เมื่อเวลาเลื่อนหนึ่งวินาที
แบบจำลองสังเคราะห์อีกชุดให้ A_x(t)=−1+t และ B_x(t)=2−t บน clock เดียวกัน โดย y=z=0 ทั้งคู่ มองเป็นการเลื่อนเส้นเวลา B แบบความเร็วคงที่เดิมหนึ่งวินาที ไม่ใช่ให้ลำหยุดรอขึ้นบิน เมื่อ t=0,2 s จุด B คือ(2,0,0),(0,0,0) m ดังนั้น sampled minimum=1 m แต่ r0=(−3,0,0),Δr=(4,0,0) ให้ u*=3/4 และชนกันในโมเดลที่1.5 s ระยะ0 m เวลาที่ใกล้สุดต่างจากโจทย์แรก จึงต้องแก้ clock association ก่อนคำนวณ ข้อนี้กำหนดฟังก์ชันตลอดช่วงไว้แล้ว ไม่อนุญาต extrapolate log นอกช่วงที่วัด
แบบฝึกเปลี่ยนค่า
กลับไปใช้โจทย์แรกที่ยังไม่เลื่อนเวลา: ที่ t=0,2 s ให้ A อยู่ที่(−1,0,0),(1,0,0) m และเลื่อนเส้นทาง B ไปทาง y=1 m จึงอยู่ที่(1,1,0),(−1,1,0) m ระยะที่ sample กับระยะต่ำสุดต่อเนื่องต่างกันอย่างไร?
เปิดเฉลย F33
sample distance=√5=2.236067977 m; ที่1 s xตรงกันแต่yต่าง1 m จึง d_min=1 m ยอมรับ ±0.000001 m สำหรับระยะ และ ±0.000001 s สำหรับเวลา สำหรับสองลำเคลื่อนขนานด้วยความเร็วเท่ากันและห่าง3 m จะได้Δr=0และระยะ3 mตลอด
อ้างอิง: Modern Robotics §3.3.1: กรอบพิกัดร่วม (P4A06); สูตร minimum เป็นการหาค่าต่ำสุดของ quadratic ที่แสดง derivation ในบทนี้ ไม่ใช่มาตรฐาน separation; ตรวจ26กันยายน2569 ตัวเลขทั้งหมดเป็นโจทย์สังเคราะห์
ดาวน์โหลดชุดฝึกการนำทางและภารกิจขั้นสูง (CSV/JSON พร้อมเฉลย) · แบบจำลองสังเคราะห์พร้อมสมมติฐานและข้อจำกัด