หุ่นยนต์ที่หมดประโยชน์เมื่ออยู่ห่างออกไปเพียงห้องเดียวมีปัญหาด้านลิงก์หรือภาระงานนานก่อนที่จะมีปัญหาเรื่อง VPN การเข้ารหัสปกป้องเส้นทาง แต่ไม่ได้ขยายระยะคลื่นวิทยุและไม่ได้ทำให้การคำนวณระยะไกลเสร็จเร็วขึ้น การตัดสินใจที่อยู่ตรงหน้าคุณคือ งานใดที่จำเป็นต้องข้ามเครือข่ายจริง ๆ และคำตอบนั้นมักตัดทราฟฟิกออกไปมากกว่าที่คนคาดคิด สามเงื่อนไขเป็นตัวตัดสิน และทรูพุตไม่ใช่หนึ่งในนั้น

สามรูปแบบ หนึ่งคำถามเรื่องการพึ่งพา

ตารางแยกรูปแบบตามสิ่งที่ขึ้นอยู่กับลิงก์ ไม่ใช่ตามซอฟต์แวร์ที่ปรากฏในแผนภาพ

ArrangementWhat depends on the linkWhat stays onboard
Live remote processingThe exchange and any timely result the workstation returnsOnly what the remote step does not block
Onboard processing, remote observationThe declared telemetry or display streamThe processing loop itself
Local recording, later analysisTransfer of one selected datasetThe 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 ปกป้องการแลกเปลี่ยนที่ต้องเกิดขึ้น การประมวลผลบนตัวหุ่นยนต์ขจัดการแลกเปลี่ยนที่ไม่จำเป็นต้องซิงโครนัสเลย และชุดข้อมูลที่บันทึกไว้แทนที่ผู้บริโภคสดด้วยผู้บริโภคภายหลัง จากนั้นทดสอบกรณีตัดการเชื่อมต่อโดยเจตนา ขณะที่งานภายในยังทำงานอยู่ ก่อนที่ใครจะบอกว่าการออกแบบเสร็จสมบูรณ์

บทความที่เกี่ยวข้อง