เริ่มจากผลที่ผู้รับต้องใช้
ผู้ตรวจต้องเปิดทวนรายละเอียดของเป้าหมายสมมติพร้อมบริบทและรายการส่วนที่ยังขาด เพื่อเลือกงานตรวจต่อ คำขอคือให้รายละเอียดพอสำหรับเปิดทวน ไม่ใช่ให้ภาพมีจำนวนมากขึ้นอย่างเดียว เราจึงตรวจเงื่อนไข sampling และพื้นที่เก็บพร้อมกัน หากเพิ่มรายละเอียดแต่เก็บชุดภาพไม่ครบ ผู้รับยังไม่ได้ผลส่งมอบตามโจทย์
เลือก B อ่านโจทย์และเลือกชุด, O วางแผนทรัพยากร หรือ D ตรวจการเปลี่ยนและหลักฐาน ทั้งสามใช้ case เดียวกัน อ่านฐาน M04 ตรวจสภาพ ควบคู่ได้
ภาพ AI เพื่ออธิบายบริบทเท่านั้น ไม่ใช่อุปกรณ์ที่ใช้ใน fixture หรือหลักฐานความเข้ากันได้ เปิดภาพบริบทขนาดเต็ม
ฐาน การเปลี่ยน และสิ่งที่สูตรบอกได้
กำหนดเป้าหมายกว้าง 12 mm และเกณฑ์แต่ง 4 samples พารามิเตอร์ทั้งหมดมาจาก fixture.json รุ่น p4-toy-1 ไม่ใช่สเปกกล้อง GSD ใช้อธิบายระยะบนพื้นระหว่างศูนย์กลางพิกเซล ส่วนความถูกต้องของตำแหน่งต้องประเมินแยกด้วยข้อมูลอ้างอิงอิสระ PIX4D: GSD และ PIX4D: accuracy ใช้เฉพาะนิยามนี้ ไม่ยืมค่ารับรองสมรรถนะ
ในแบบจำลองระนาบ samples = target_mm ÷ gsd_mm_per_px ดังนั้น CAM01 ได้ 12 ÷ 4 = 3 samples ต่ำกว่า 4 แต่ 30 × 8 MiB = 240 MiB ยังอยู่ในความจุ 256 MiB CAM02 เปลี่ยนเป็น 2 mm/px และ 60 ภาพ ได้ 6 samples แต่ต้องใช้ 480 MiB จึงยัง outside_bounds CAM03 แก้ความจุสมมติเป็น 512 MiB จึงผ่านตัวเลขสองด้าน CAM04 ไม่ทราบ GSD ต้องคง samples และ sampling_ok เป็น null แม้ยังคำนวณพื้นที่ได้ CAM05 ใช้ค่าฐาน CAM01 เพื่อทวนการคืนรุ่น
การเปลี่ยน GSD และจำนวนภาพเป็นชุดสมมติฐานที่ต้องเปิดเผย ไม่ได้พิสูจน์ว่ากล้องจริงเปลี่ยนแล้วทำได้ ห้ามแปลงตัวเลขนี้เป็นคำสั่งบินเข้าใกล้โครงสร้าง จำนวน samples ไม่รับรองความคม contrast การตรวจพบข้อบกพร่องหรือความถูกต้องทางเรขาคณิต ต้องมีภาพจริง วิธี QA และผู้ตรวจแยก
แหล่งและรุ่นพารามิเตอร์ทุกค่า: ผู้เขียนแต่งเพื่อการสอน 12 ตุลาคม 2569 ใน fixture.json รุ่น p4-toy-1 ไม่มีพารามิเตอร์จากผู้ผลิต ตัวเลขและผลคาดหวังในบทนี้เป็นการคำนวณอธิบาย ไม่ใช่ผลโปรแกรมที่รันแล้ว
บัญชีอินเทอร์เฟซและทรัพยากรที่ยังต้องขอ
เลื่อนตารางแนวนอนเพื่อดูทุกคอลัมน์ เมื่อโฟกัสตารางด้วยแป้นพิมพ์ ใช้ปุ่มลูกศรซ้ายหรือขวา
| ด้าน/ทรัพยากร | ข้อมูลฐาน → ข้อเสนอ | แหล่ง/ความไม่รู้ | บทบาทและการตรวจ |
|---|---|---|---|
| mechanical: mount/gimbal | unknown → unknown | คู่มือชุดจริงยังไม่มี | D: ขอคู่มือและการตรวจชุดโดยผู้รับผิดชอบ |
| electrical: power/connector | unknown → unknown | คู่มือชุดจริงยังไม่มี | D: พักการต่ออุปกรณ์ |
| data: target/GSD/min_samples | 12 mm; 4 mm/px; 4 → 12 mm; 2 mm/px; 4 | authored p4-toy-1 CAM01-CAM03 | B: เทียบสูตรและรักษา unknown CAM04 |
| storage: image_count/bytes/capacity | 30;8388608;268435456 → 60;8388608;536870912 | authored p4-toy-1 CAM01/CAM03 | O: รวมไฟล์เทียบความจุสมมติ |
| time: capture/processing/sync | unknown → unknown | ยังไม่มีการวัด | O: ขอเวลาและการผูกคู่ภาพ |
| mass_cg: total mass/CG | unknown → unknown | ไม่มีรายการชุดจริง | D: ขอรายการครบและข้อจำกัดรุ่น |
| energy: mission energy | unknown → unknown | ไม่มีการวัดพลังงาน | O: ขอ budget และผลตรวจจริง |
| constraints: permission/quality | unknown → unknown | NOT_CONFIRMED / NOT_RUN | O: ผู้มีอำนาจทวนพื้นที่ข้อมูลและวิธี QA |
B/O/D ในตารางเป็นผู้รับผิดชอบงานฝึกที่เสนอ ยังไม่มีบุคคลจริงได้รับมอบหมาย owner_status=not_assigned ค่าที่ unknown ไม่ใช่ศูนย์ ต้องขอคู่มือรุ่น หลักฐานวัด วิธีตรวจหรือการยืนยันสิทธิ์จากผู้รับผิดชอบก่อนตัดสินใจเรื่องชุดจริง ไม่มีภาพกล้องจริง ความคม แสง การสั่น ตำแหน่ง เวลาและคู่ภาพที่ตรวจแล้ว ผลเห็น/ตรวจพบ NOT_RUN
ทำนายก่อนรัน แล้วตรวจหลักฐานก่อนสรุป
เลื่อนตารางแนวนอนเพื่อดูทุกคอลัมน์ เมื่อโฟกัสตารางด้วยแป้นพิมพ์ ใช้ปุ่มลูกศรซ้ายหรือขวา
| กรณี | disposition ที่คาดก่อนรัน | metrics ที่คาด |
|---|---|---|
| CAM01 | outside_bounds | {"samples":3,"sampling_ok":false,"total_bytes":251658240,"storage_ok":true} |
| CAM02 | outside_bounds | {"samples":6,"sampling_ok":true,"total_bytes":503316480,"storage_ok":false} |
| CAM03 | numeric_fit | {"samples":6,"sampling_ok":true,"total_bytes":503316480,"storage_ok":true} |
| CAM04 | unknown | {"samples":null,"sampling_ok":null,"total_bytes":503316480,"storage_ok":true} |
| CAM05 | outside_bounds | {"samples":3,"sampling_ok":false,"total_bytes":251658240,"storage_ok":true} |
ขอบที่ต้องเข้าใจ: samples = 4 ผ่าน sampling; total_bytes = capacity ผ่าน storage; 0 GSD ถูกปฏิเสธ; null GSD เป็น unknown ขอบเหล่านี้เป็นกติกาสอน ไม่ใช่ operating envelope อ่าน test-plan ของ C01 และ สัญญาแลบทั้งหมด ก่อนใช้โปรแกรม
- เก็บ requirements, fixture และ script ฉบับฐาน พร้อมรุ่นและ SHA-256 ก่อนแก้ แฮชใช้เทียบ bytes ไม่ยืนยันตัวผู้เขียน
- จด expected และเหตุผลเลือกการเปลี่ยนก่อนรัน เก็บ raw stdout คำสั่ง เวลา Python version และ exit code ของงานตน
- เทียบ disposition และ metrics ทุกกรณีกับ expected แยกความผิดจากสูตรกับความผิดจาก input อย่าแก้ expected เพียงเพื่อให้ตรงผลจริง
- รัน input เดิมซ้ำและเทียบ output bytes จากนั้นคืนสำเนา fixture ฐาน เทียบ hash และรันใหม่ ทวนคู่ baseline/rollback โดยไม่นับ case_id
- เก็บ v0/v1 ใต้ outcome ID เดิมพร้อมคำทัก คำตอบ เหตุแก้และ retest ถ้ายังไม่รันให้ actual=NOT_RUN ไม่เติมค่าคาดหวังใน results.csv
หลักฐานผู้เขียน: host_calculation ผู้เขียนรัน Python 3.14.3 เมื่อ 12 ตุลาคม 2026 เวลา 16:20:43 UTC ตรวจตรง expected ทั้ง 17 กรณี รันซ้ำได้ output bytes เดิม และคู่คืนฐานทั้งสามตรงกัน อ่าน ผลดิบ, บันทึก host และแฮช และ ผลกรณีนี้ ผลผู้เขียนอยู่ในบันทึก host; สถานะเนื้อหาและงานค้างดู หน้าภาพรวม ส่วน hardware/flight/RF/field=NOT_RUN; permissions/receiver=NOT_CONFIRMED; learner=NOT_RUN การผ่าน numeric_fit ไม่รับรองความปลอดภัย กฎหมาย ความแม่นยำหรือการตรวจพบ ผลผู้เขียนไม่ใช่หลักฐานว่าผู้เรียนทำได้
ทำชิ้นงานตามบทบาทและทวน KSEC
K = Knowledge, S = Skills, E = Ethics, C = Character บันทึกสถานะราย ID เป็น NOT_RUN ก่อนเริ่ม แล้วใช้ meets / needs_revision / insufficient_evidence พร้อมเหตุและหลักฐานจริง เกณฑ์ผ่านต้องมีชิ้นงานตรงรหัสและตรวจได้ ไม่เฉลี่ยผล Ethics/Character ที่ขาดด้วยคะแนนคำนวณ ผู้เรียนต้องส่งใหม่ภายใต้ ID เดิมเมื่อหลักฐานไม่พอ
B: ผู้เริ่มต้น
ฐาน K: แยก UAV/UAS และผู้รับผลได้; ทวน พื้นฐาน แล้วระบุคน อุปกรณ์ ข้อมูลอย่างละหนึ่ง ฐาน S: อ่านหน่วยและแยกข้อสังเกตจากข้อสรุปได้; ทวน การสังเกต แล้วเขียนสิ่งที่รู้กับสิ่งที่รอ
ตรวจฐานก่อนเริ่ม: เขียนคำตอบฐาน K และตัวอย่างฐาน S อย่างละหนึ่งข้อ ถ้ายังทำไม่ได้ให้อ่านลิงก์เติมฐาน แล้วส่งคำตอบใหม่ก่อนทำงานบทบาทนี้
ทำ brief หนึ่งหน้า: ผู้รับ คำถาม ผลส่งมอบ เทียบฐานกับข้อเสนอด้วยเกณฑ์เดียวกัน และอธิบายว่าผลตัวเลขใดช่วยงานผู้รับหรือยังไม่ช่วย ใช้กรณี C01 เดียวกัน ไม่เปลี่ยนโจทย์เพื่อให้ผ่านโดยไม่บันทึก แก้ข้อความ “6 samples จึงพบตำหนิแน่นอน” ให้เป็นผลตัวเลขพร้อมคำขอภาพและผู้ตรวจ
เลื่อนตารางแนวนอนเพื่อดูทุกคอลัมน์ เมื่อโฟกัสตารางด้วยแป้นพิมพ์ ใช้ปุ่มลูกศรซ้ายหรือขวา
| รหัสผลลัพธ์ | KSEC | เกณฑ์ตรวจและหลักฐานที่ต้องเห็น | ชิ้นงานก่อน/หลัง |
|---|---|---|---|
| APP-C01-B-K01 | Knowledge | อธิบายโจทย์ผู้รับและเหตุเลือกฐาน/ข้อเสนอ พร้อมอย่างน้อยสองข้อจำกัดของแบบจำลอง | B-K-v0 → B-K-v1 ภายใต้ ID เดิม |
| APP-C01-B-S01 | Skills | คำนวณตัวอย่างหลักพร้อมหน่วย แล้วเลือกข้อเสนอหรือพักโดยอ้าง case_id และเกณฑ์ครบ | B-S-v0 → B-S-v1 ภายใต้ ID เดิม |
| APP-C01-B-E01 | Ethics | แก้ข้ออ้างเกินหลักฐานเฉพาะกรณี และระบุข้อมูลหรือสิทธิ์ที่ยังต้องขอ | B-E-v0 → B-E-v1 ภายใต้ ID เดิม |
| APP-C01-B-C01 | Character | เก็บ brief v0/v1 คำทัก คำตอบ เหตุแก้ ผู้รับผิดชอบที่ต้องมอบหมายและเงื่อนไขทวน | B-C-v0 → B-C-v1 ภายใต้ ID เดิม |
O: ผู้ปฏิบัติงาน/ผู้วางแผน
ฐาน K: รู้บทบาทผู้รับและผู้ตัดสินใจหยุด; ทวน mission brief แล้วระบุหน้าที่ในกรณีนี้ ฐาน S: ทำบัญชี requested/confirmed ได้; ทวน เลือกชุดและทรัพยากร แล้วเขียนคำขอทรัพยากรหนึ่งรายการ
ตรวจฐานก่อนเริ่ม: เขียนคำตอบฐาน K และตัวอย่างฐาน S อย่างละหนึ่งข้อ ถ้ายังทำไม่ได้ให้อ่านลิงก์เติมฐาน แล้วส่งคำตอบใหม่ก่อนทำงานบทบาทนี้
ทำแผนทรัพยากร: คน/ทักษะ เวลา เครื่องมือ พื้นที่เก็บ พลังงาน งบประมาณ สิทธิ์และแผนสำรอง ผูกแต่ละคำขอกับผู้ยืนยัน หลักฐานตอบรับ ข้อค้างและผลส่งมอบที่ผู้รับต้องใช้ ใช้กรณี C01 เดียวกัน ไม่เปลี่ยนโจทย์เพื่อให้ผ่านโดยไม่บันทึก ช่องชื่อผู้ปฏิบัติงานจริงยังเป็น not_assigned ห้ามถือชื่อบทบาทว่าได้รับการยืนยันแล้ว
เลื่อนตารางแนวนอนเพื่อดูทุกคอลัมน์ เมื่อโฟกัสตารางด้วยแป้นพิมพ์ ใช้ปุ่มลูกศรซ้ายหรือขวา
| รหัสผลลัพธ์ | KSEC | เกณฑ์ตรวจและหลักฐานที่ต้องเห็น | ชิ้นงานก่อน/หลัง |
|---|---|---|---|
| APP-C01-O-K01 | Knowledge | อธิบายผลกระทบการเปลี่ยนต่อเวลา ข้อมูล พลังงานและผู้รับ พร้อมแยกข้อมูลแต่งกับทรัพยากรจริง | O-K-v0 → O-K-v1 ภายใต้ ID เดิม |
| APP-C01-O-S01 | Skills | กรอก interface ledger และแผนทรัพยากรครบ รวมผู้รับผิดชอบในบทบาท requested/confirmed จุดพักและวิธีสำรอง | O-S-v0 → O-S-v1 ภายใต้ ID เดิม |
| APP-C01-O-E01 | Ethics | พักงานที่สิทธิ์/ความเข้ากันได้/ผู้รับยังไม่ยืนยัน และไม่เปลี่ยน numeric_fit เป็นอนุญาตปฏิบัติงาน | O-E-v0 → O-E-v1 ภายใต้ ID เดิม |
| APP-C01-O-C01 | Character | เก็บแผน v0/v1 เหตุแก้ ข้อทักและคำตอบ พร้อมรายการแจ้งผู้ใช้รุ่นเก่าและผู้รับผิดชอบข้อค้าง | O-C-v0 → O-C-v1 ภายใต้ ID เดิม |
D: ผู้พัฒนา/ผู้ปรับแต่ง
ฐาน K: รู้การเชื่อมระบบและผลการเปลี่ยนชิ้นส่วน; ทวน integration แล้วโยงการเปลี่ยนกับอินเทอร์เฟซสองด้าน ฐาน S: แยก expected/actual และทำสำเนาฐานได้; ทวน testing แล้วเขียนหนึ่งกรณี actual NOT_RUN ก่อนทดลอง
ตรวจฐานก่อนเริ่ม: เขียนคำตอบฐาน K และตัวอย่างฐาน S อย่างละหนึ่งข้อ ถ้ายังทำไม่ได้ให้อ่านลิงก์เติมฐาน แล้วส่งคำตอบใหม่ก่อนทำงานบทบาทนี้
ตรวจ contract และอินเทอร์เฟซ บันทึก expected ก่อนรัน เก็บรุ่น/แฮช/script/fixture/ผลดิบ ตรวจทุกกรณีของ case และ replay จาก input เดิม จากนั้นคืนสำเนาฐานและเทียบผล มี discrepancy log และแผนตรวจฮาร์ดแวร์แยก ใช้กรณี C01 เดียวกัน ไม่เปลี่ยนโจทย์เพื่อให้ผ่านโดยไม่บันทึก ผล host ของผู้เขียนเป็นตัวอย่างหลักฐาน ไม่ใช่ผลงานของผู้เรียน ต้องรันและบันทึกงานตนเองจึงประเมินทักษะได้
เลื่อนตารางแนวนอนเพื่อดูทุกคอลัมน์ เมื่อโฟกัสตารางด้วยแป้นพิมพ์ ใช้ปุ่มลูกศรซ้ายหรือขวา
| รหัสผลลัพธ์ | KSEC | เกณฑ์ตรวจและหลักฐานที่ต้องเห็น | ชิ้นงานก่อน/หลัง |
|---|---|---|---|
| APP-C01-D-K01 | Knowledge | อธิบายสูตร ขอบ ความหมาย null และอินเทอร์เฟซที่เปลี่ยน โดยไม่อ้างผลจากการปัดเลข | D-K-v0 → D-K-v1 ภายใต้ ID เดิม |
| APP-C01-D-S01 | Skills | แสดง expected/actual แยกกันพร้อม source/input hashes เวลา คำสั่ง exit และผล replay/rollback หรือคง NOT_RUN หากยังไม่รัน | D-S-v0 → D-S-v1 ภายใต้ ID เดิม |
| APP-C01-D-E01 | Ethics | เปิดเผยข้อจำกัด ไม่แต่ง actual/ผู้เรียน/ฮาร์ดแวร์ และปฏิเสธ fixture ผิดแทนการเติมค่าที่หาย | D-E-v0 → D-E-v1 ภายใต้ ID เดิม |
| APP-C01-D-C01 | Character | เก็บ change-record v0/v1 คำทัก คำตอบ เหตุแก้ ผล retest และหลักฐานคืนฐานภายใต้ outcome ID เดิม | D-C-v0 → D-C-v1 ภายใต้ ID เดิม |
CLO/PLO ยังเว้นว่าง pending_design ใช้ curriculum mapping และ บันทึก KSEC เชื่อมหลักฐาน ไม่รับรองหลักสูตรจากการมีรหัส
ดาวน์โหลดและงานถัดไป
- ข้อกำหนดและ rubric 12 รหัส
- บัญชี interfaces.csv
- บันทึกการเปลี่ยนและคืนฐาน
- แผนทดสอบพร้อม expected
- ผลจริง results.csv
- ขั้นตอนใช้งาน readme
ใช้ calculator.py, fixture.json, expected.csv และ readme แลบ ร่วมกัน โปรแกรมคำนวณเฉพาะในเครื่อง ไม่มี runtime เพิ่มบนเว็บไซต์
เริ่มจาก requirements ของบทบาทตนและกรอกข้อไม่รู้ใน interfaces ก่อนรัน กลับไป M04 ตรวจสภาพ เพื่อทวนการส่งผลให้ผู้รับ เกณฑ์ P3 ยัง pending_field_review; specialist=not_assigned ส่วน P5 เตรียมชุดลองใช้เท่านั้น ยังไม่มีผู้เรียนจริงและไม่กรอกผลแทนผู้เรียน CPX-Sim ยังพัก