ประมวลผลสดหรือข้อมูลที่บันทึกไว้: อะไรกันแน่ที่ต้องใช้ VPN?
ตัดสินใจว่างานของหุ่นยนต์งานใดต้องข้ามเครือข่าย: ผลลัพธ์ที่ทันเวลา เทเลเมทรีจากการสังเกต หรือชุดข้อมูลที่บันทึกไว้ สามเงื่อนไข แล้วตามด้วยคำสั่ง bag
หุ่นยนต์ที่หมดประโยชน์เมื่ออยู่ห่างออกไปเพียงห้องเดียวมีปัญหาด้านลิงก์หรือภาระงานนานก่อนที่จะมีปัญหาเรื่อง VPN การเข้ารหัสปกป้องเส้นทาง แต่ไม่ได้ขยายระยะคลื่นวิทยุและไม่ได้ทำให้การคำนวณระยะไกลเสร็จเร็วขึ้น การตัดสินใจที่อยู่ตรงหน้าคุณคือ งานใดที่จำเป็นต้องข้ามเครือข่ายจริง ๆ และคำตอบนั้นมักตัดทราฟฟิกออกไปมากกว่าที่คนคาดคิด สามเงื่อนไขเป็นตัวตัดสิน และทรูพุตไม่ใช่หนึ่งในนั้น
สามรูปแบบ หนึ่งคำถามเรื่องการพึ่งพา
ตารางแยกรูปแบบตามสิ่งที่ขึ้นอยู่กับลิงก์ ไม่ใช่ตามซอฟต์แวร์ที่ปรากฏในแผนภาพ
| Arrangement | What depends on the link | What stays onboard |
|---|---|---|
| Live remote processing | The exchange and any timely result the workstation returns | Only what the remote step does not block |
| Onboard processing, remote observation | The declared telemetry or display stream | The processing loop itself |
| Local recording, later analysis | Transfer of one selected dataset | The entire run, including raw sensors |
ไม่มีแถวใดในตารางนั้นเป็นข้อโต้แย้งด้านความปลอดภัย ฟังก์ชันควบคุมและความปลอดภัยยังต้องมีคำตอบที่ผ่านการรับรองสำหรับความหน่วง การสูญเสียแพ็กเก็ต และการเชื่อมต่อที่ขาดหาย และไม่มีตัวบ่งชี้ของอุโมงค์ใดให้คำตอบนั้น ตารางบอกว่าการพึ่งพาอยู่ที่ใด และนั่นคือส่วนที่การออกแบบเครือข่ายเปลี่ยนได้จริง
เงื่อนไขที่หนึ่ง: คำตอบต้องทันเวลาหรือไม่?
หากผลลัพธ์ระยะไกลป้อนเข้าสู่ตัวควบคุม เครือข่ายจะอยู่ภายในวงควบคุม และความหน่วง การสั่นไหว และการขาดหายจะกลายเป็นคุณสมบัติของการควบคุม หากผลลัพธ์เดียวกันป้อนเข้าสู่จอภาพ แดชบอร์ด หรือคนที่กำลังดูอยู่เท่านั้น ความหน่วงเดียวกันนั้นเป็นเพียงภาพลักษณ์
งานวงปิดผ่านลิงก์ไร้สายเป็นไปได้ และนั่นคือที่มาของรายงาน "VPN ช้า" ส่วนใหญ่ เพราะอุโมงค์เป็นองค์ประกอบที่มองเห็นได้ ขณะที่วิทยุและการกำหนดเส้นทางเป็นสาเหตุ วัดเวลาการไปกลับของข้อความจริง ไม่ใช่ ping ของอุโมงค์เอง แล้วถามว่าตัวเลขนั้นพอดีกับงบประมาณของวงหรือไม่ หากไม่พอดี ให้ย้ายขั้นตอนไปบนตัวหุ่นยนต์แทนการเจรจาระดับบริการที่เข้มงวดขึ้นสำหรับลิงก์ที่ไม่มีใครในห้องควบคุมได้ บันทึกตัวเลขที่วัดได้พร้อมเงื่อนไขที่วัด เพราะรายงานฉบับหน้าจะมาโดยไม่มีเงื่อนไขเหล่านั้น
เงื่อนไขที่สอง: อัตรา ทิศทาง และการหยุดชะงักแบบใดที่คุณประกาศได้?
เขียนข้อมูล อัตรา ทิศทาง และการหยุดชะงักที่นานที่สุดที่แอปพลิเคชันทนได้ สตรีมกล้องขาขึ้นและช่องคำสั่งขาลงล้มเหลวต่างกัน และการหยุดชะงักที่การตรวจสอบแบบอยู่กับที่ทนได้จะจบภารกิจที่กำลังเคลื่อนที่
แยกการเชื่อมต่อทางกายภาพกับอุโมงค์ออกจากกันเมื่อเปรียบเทียบตัวเลือก เพราะวิทยุที่แรงขึ้นกับภาระงานที่เล็กลงเป็นการซ่อมคนละแบบ การถ่ายโอนขนาดใหญ่ที่สำเร็จในที่สุดไม่ได้พิสูจน์อะไรเกี่ยวกับผลลัพธ์ที่ไวต่อเวลาซึ่งมาอย่างสม่ำเสมอ และอุโมงค์ที่สมบูรณ์ไม่ได้พิสูจน์อะไรเกี่ยวกับวิทยุที่อยู่เบื้องหลัง
จากนั้นลดความต้องการแทนการปกป้องมัน ลดการสุ่มตัวอย่างสตรีมการสังเกต ส่งสรุปหรือเดลตา และเก็บข้อมูลเซ็นเซอร์ดิบไว้บนตัวหุ่นยนต์ในที่ที่การจัดเก็บมีราคาถูกและการส่งไม่ถูก เพย์โหลดที่เล็กลงทำให้ข้อโต้แย้งเรื่องลิงก์ที่เร็วกว่าอ่อนลง และมักขจัดความจำเป็นนั้นไปเลย
เงื่อนไขที่สาม: ใครต้องเห็น และอะไรคงอยู่ภายใน
การสังเกตมักเป็นข้อกำหนดที่เล็กกว่าการประมวลผลมาก หากคนต้องดูกล้องและต้องมีบันทึกภายหลัง นั่นคือเทเลเมทรีบวกการจัดเก็บ หากโมเดลต้องทำงาน ให้ถามก่อนว่ามันทำงานบนตัวหุ่นยนต์ได้หรือไม่โดยส่งต่อเพียงผลลัพธ์ การย้ายขั้นตอนหนักไปบนตัวหุ่นยนต์ขจัดการพึ่งพาแบบซิงโครนัสและเหลือการถ่ายโอนที่ลองใหม่ได้
การมีผู้ร่วม ROS สองรายบนหุ่นยนต์ตัวเดียวกันไม่ได้ทำให้อุโมงค์ชอบธรรมโดยตัวมันเอง การเข้าถึงโหนด การอนุญาตแอปพลิเคชัน และแผนกู้คืนภายในเป็นปัญหาคนละเรื่อง และ VPN ตอบเพียงข้อแรก และเฉพาะกับทราฟฟิกที่ถูกขอให้กำหนดเส้นทาง.
การบันทึกชุดข้อมูลเป็นการออกแบบของตัวเอง พร้อมคำสั่งของตัวเอง
สำหรับตัวอย่างที่ผูกกับเวอร์ชัน บทช่วยสอนการบันทึก ROS 2 Jazzy ครอบคลุมการบันทึกหัวข้อที่เลือก การตรวจสอบ bag ที่ได้ และการเล่นซ้ำ บันทึกหัวข้อการสังเกตที่ได้รับอนุมัติ ตั้งชื่อการรัน และเก็บคำนิยามข้อความและการกำหนดค่าไว้ข้าง ๆ
ros2 bag record -o run42 /scan /camera/image_raw
ros2 bag info run42
ros2 bag play run42
อย่าบันทึกทุกหัวข้อเพียงเพราะเครื่องมือทำให้ง่าย พื้นที่จัดเก็บเต็ม ข้อมูลกล้องและตำแหน่งมีความอ่อนไหว และ bag ที่มีหัวข้อไม่ได้ติดป้ายคือปัญหาในการวิเคราะห์สำหรับผู้ที่เปิดมันครั้งถัดไป ดิสทริบิวชันที่ติดตั้งไว้เป็นตัวกำหนดคำสั่งด้วย เครื่องมือที่เขียนสำหรับ bag ของ ROS 1 ไม่ย้ายไปยัง bag ของ ROS 2 ดังนั้นจับคู่เอกสารกับเวอร์ชันที่ติดตั้งบนหุ่นยนต์
เล่นซ้ำในสภาพแวดล้อมการวิเคราะห์หรือการจำลองที่แยกออกจากกัน การเล่นหัวข้อคำสั่งที่บันทึกไว้เข้าสู่แอคชูเอเตอร์ของหุ่นยนต์ที่ทำงานอยู่คืออุบัติเหตุ และการป้องกันคือ ROS โดเมนแยกต่างหากหรือไม่มีฮาร์ดแวร์ในวงเลย
ตัดสินใจว่าการพึ่งพาควรอยู่ที่ใดและเขียนไว้: VPN ปกป้องการแลกเปลี่ยนที่ต้องเกิดขึ้น การประมวลผลบนตัวหุ่นยนต์ขจัดการแลกเปลี่ยนที่ไม่จำเป็นต้องซิงโครนัสเลย และชุดข้อมูลที่บันทึกไว้แทนที่ผู้บริโภคสดด้วยผู้บริโภคภายหลัง จากนั้นทดสอบกรณีตัดการเชื่อมต่อโดยเจตนา ขณะที่งานภายในยังทำงานอยู่ ก่อนที่ใครจะบอกว่าการออกแบบเสร็จสมบูรณ์