การตั้ง Heading จาก RTK GNSS สองเครื่องใน Hypack

ถือว่าเป็นโน๊ตกันลืมสำหรับผมก็แล้วกัน ในงาน Bathymetric survey เอง ถ้าเป็นเรือเล็กๆ เราจะใช้ RTK ตัวเดียวก็เอาอยู่ ถึงแม้ตอนอยู่นิ่งๆมันจะหมุนในหน้าจอ Hypack ก็ตาม เนื่องจากเรือขนาดเล็กคล่องตัว บังคับง่าย เลี้ยวง่าย แต่ถ้าเป็นเรือใหญ่ขึ้นมาการเปลี่ยนทิศทางจะทำได้ยากกว่า ช้ากว่า ถ้าเรือใบจักรเดียวก็ยิ่งช้า ถ้าใบจักรคู่อาจจะเร็วขึ้นมาหน่อย แต่สุดท้ายคนขับเรือสำรวจและช่างสำรวจก็อยากได้ทิศทางหรือ heading เพราะมองหน้าจอแล้วบังคับเรือเข้า survey line ได้ง่ายกว่า

สำหรับเรือสำรวจใหญ่ๆที่มีภารกิจมากกว่า Bathymetric survey เช่นงานวัด seabed ด้วยระบบ seismic ในทะเลหรือการทำ Multibeam survey เป็นต้น งานพวกนี้ต้นทุนสูง ดังนั้นอุปกรณ์ที่นำมาใช้จึงพร้อม ส่วนใหญ่จะเป็น RTK แบบเครื่องเดียวแต่มีจานมาเป็นคู่ (dual antenna) การตั้งค่า heading ใน Hypack เป็นเรื่องง่าย ผมใช้เรือสำรวจติดตั้งเครื่องหยั่งน้ำแบบ Multibeam ที่ต้องการ IMU ที่แม่นยำติดตั้งแนบไปกับทรานสดิวเซอร์ และมีโพลเป็นรูปตัว T สองข้างติดตั้ง RTK ของ trimble รวมๆขายเป็นชุดคือ Applanix Pos MV ราคาชุดนี้เมื่อรวมกับ Multibeam echo sounder (MBES) ก็สามารถซื้อบ้านใหญ่ๆพร้อมที่ดินในต่างจังหวัดได้งามๆ

ปัจจุบันอุปกรณ์ RTK อยู่ในราคาหลักแสนหรือต่ำกว่าอยู่ในหลักหมื่น ทำให้การใช้ RTK สองเครื่องมาทำ heading จึงเป็นเรื่องที่ไม่ยากเย็นนัก ปัญหาที่คู่มือของ Hypack เขียนไว้ไม่กี่บรรทัดว่าทำได้

we use two incidents of the GPS driver–one configured for the
forward GPS to record posilion and speed, and the other for the aft GPS to calculate the The ‘Use this device only for heading’ option
…”

แต่ผมค้นหาในอินเทอร์เน็ตอยู่นานมากก็ไม่มีตัวอย่างให้เห็น จึงต้องมาลองผิดลองถูกกัน

Heading จากเครื่องรับสัญญาน GNSS สองเครื่อง

อุปกรณ์ที่นำมาลองทดสอบครั้งนี้มี Emlid RS2 สองเครื่อง และบางครั้งผมก็ใช้ Emlid M2 สองเครื่องแล้วแต่ความสะดวก หมายเหตุ Emlid M2 ราคาหลักหมื่นต้นๆ ความจริงทางผู้ผลิตต้องการให้เอาไปใช้งานจำพวกโดรนมากกว่า แต่การเอามาใช้เป็น RTK หรือเอาไปรังวัด static survey ก็ทำได้ แต่การนำมาใช้รังวัด static นั้น แนะนำว่าควรจะใช้จาน (antenna) แบบดีๆที่คาลิเบรทมาแล้ว เพราะสามารถหาตำแหน่ง antenna phase center(APC) ได้ ในที่นี้ผมจับคู่กับจาน AT312 ของ CHCNav

รูปที่สอง Emlid RS2 สองเครื่องในโหมด RTK เพื่อหา heading

การส่งข้อมูลพิกัด NMEA ผ่านทาง TCP

Emlid RS2 หรือ M2 มีความสะดวกสามารถที่จะตัวเป็น hotspot ให้เข้าไปตั้งค่าได้ง่าย หรือสามารถเชื่อมต่อกับไวไฟหรือเราเตอร์ได้ อย่างหลังนี้สะดวก เพราะเราสามารถตั้งค่าให้อุปกรณ์สามารถแจกจ่ายข้อมูลค่าพิกัด (Position) ผ่านทาง TCP โดยที่อุปกรณ์ RTK ทำตัวเป็น TCP server ส่วนเครื่องคอมพิวเตอร์ที่โปรแกรม Hypack ที่ต่อไวไฟอยู่สามารถไปรับข้อมูลโดยทำตัวเป็น TCP client

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

รูปที่ 3 Emlid M2 สองเครื่องในโหมด RTK เพื่อหา heading

สำหรับ hotspot บนโทรศัพท์มือถือก็ต้องมีอินเทอร์เน็ตเพื่อที่อุปกรณ์ RTK จะสามารถรับค่าปรับแก้จาก Ntrip server ได้ สมัยนี้การรับค่าปรับแก้ผ่านระบบวิทยุโมเด็มน่าจะลดลงน้อยมากๆแล้ว จากความไม่สะดวกในหลายๆประการ

การตั้งค่าอุปกรณ์ด้วย IP Address

เนื่องจากอุปกรณ์ของ Emlid จะติดต่อผ่านอุปกรณ์ผ่านทางแอพบนโทรศัพท์มือถือชื่อ Emlid Flow การตั้งค่าต่างๆจะผ่านทางแอพนี้ ผมตั้งให้ส่งข้อมูล Position ซึ่งเป็นข้อมูล NMEA ออกเป็น TCP แบบ server (local)

  • Emlid M2 เครื่องที่หนึ่งได้ ip address จาก hotspot 192.168.1.109 ตั้งให้เป็นตัวหน้า (Fore) ตัวนี้จะให้ตำแหน่งแก่ Hypack ถ้าเป็นเรือเล็กและมี RTK นิยมต่อให้ตรงกับทรานสดิวเซอร์ของ echo sounder
  • Emlid M2 เครื่องที่สอง ได้ ip address จาก hotspot 192.168.1.111 ตั้งเป็นตัวหลัง เมื่อ Hypack ได้ค่าพิกัดจากเครื่องนี้จะนำไปคำนวณหา Heading เทียบกับเครื่องที่หนึ่ง
รูปที่ 4 ไดอะแกรมอย่างง่ายในการต่อ RTK กับโปรแกรม Hypack

Hardware Setup

เมื่อเตรียมอุปกรณ์ RTK สองเครื่องพร้อมแล้ว ตอนนี้อุปกรณ์ได้กระจายข้อมูล NMEA ผ่านทางเน็ตเวิร์คผ่านโปรโตคอล TCP เป็นเรียบร้อย ขึ้นตอนต่อไปคือตั้งค่าในโปรแกรม Hypack เพื่อรับข้อมูลและคำนวณ heading ให้เรา

รูปที่ 6 เลือก Hardware setup

ตั้งค่า Offset บนรูปร่างเรือสำรวจ

รูปร่างเรือสำรวจสามารถป้อนในโปรแกรมได้ หรือสามารถเอารูปร่างของเรือจากในโปรแกรมที่มีมาให้เป็นต้นแบบหลายขนาดทั้งเล็ก กลาง ใหญ่ เมื่อป้อนรูปร่างไปแล้ว ขั้นต่อมาคือให้ตำแหน่งอุปกรณ์ RTK ทั้งหน้าและหลัง การป้อนระยะ offset ระหว่าง RTK สองเครื่องก็ไม่ได้ยากอะไร จะดึงเทปก็ได้หรือคำนวณจากค่าพิกัดก็ได้ แล้วเอาค่านี้มาป้อนเป็น Forward ให้กับ RTK ตัวหลัง ตัวอย่างคือ -4.24 เมตร เนื่องจากอยู่ด้านหลังเครื่องหมายจึงเป็นลบ

รูปที่ 7 การตั้งค่า offset สำหรับอุปกรณ์ RTK

ตั้งค่าอุปกรณ์ RTK ตัวหน้า (Position)

สำหรับ RTK ตัวหน้าเป็นตัวให้ตำแหน่งเรือสำรวจ เลือกจาก Dll Name เป็น gps.dll ที่แท๊ป “Survey Devices” ในกรอบฟังก์ชันจะติ๊กถูก Position, Speed โดยที่ต้องไม่ติ๊กที่ Heading

รูปที่ 8 ตั้งค่าฟังก์ชันสำหรับ RTK ตัวหน้า

จากนั้นคลิกที่ปุ่ม “Setup” เพื่อตั้งค่าที่ละเอียด ตรง “Use only for heading (OTFgyro)” ตัวนี้จะต้องไม่ติ๊กถูกเด็ดขาด ส่วนข้อมูลประโยค NMEA เลือก GGA, GLL, GGK, RMC ตามต้องการ แล้วแล้วต้องไม่ติ๊กถูกที่ HDT, VTG ที่จะแนะนำคือ Max baslie error ควรตั้งไว้ที่ 0.5 เมตรสำหรับ RTK ถ้าเสามีการขยับหรือ RTK Fixed หลุดกลายเป็น Standalone ตัวนี้จะฟ้องเพราะระยะ offset 4.24 เมตรที่ผมตั้งไว้ จะเกิน 0.5 เมตร

รูปที่ 9 ตั้งค่าประโยค NMEA
ตั้งค่า IP

เมื่อตั้งค่าต่างๆให้กับ RTK ตัวหน้า ต่อไปคือการตั้ง “Survey Connect” เพื่อเชื่อมต่ออุปกรณ์ ที่สามจุด คลิกเข้าไปตั้ง Connect Type เป็น Network แล้วตั้ง Protocol เป็น TCP ตั้ง Role เป็น Client เป็นตัวรับคอยอ่านข้อมูลอย่างเดียว (หมายเหตุที่อุปกรณ์ RTK ตั้งเป็น TCP Server เพื่อเป็นตัวจ่าย) ตั้ง Host เป็น 192.168.1.109 ที่โปรแกรม Emlid Flow แสดงผล และสำคัญคือ Port ต้องตรงกันคือ 9001

รูปที่ 10 ตั้งค่า IP Address

ตั้งค่าอุปกรณ์ RTK ตัวหลัง (Heading)

การตั้งค่าเช่นเดียวกับตัวหน้า เพียงแต่ค่า IP address จะต่างกัน และฟังก์ชั่น (Functions) ติ๊กถูกเป็น Heading แล้วปล่อยให้ Position ว่าง

รูปที่ 11 ตั้งค่าฟังก์ชันเป็น Heading สำหรับ RTK ตัวหลัง

การตั้งค่าที่ละเอียดลึกลงไปอีก ได้แต่การติ๊กเลือก “User only for heading (OTFGyro)” ที่อ่านคู่มือมาว่าสมัยก่อนมีอุปกรณ์ไจโรคอยให้ทิศทางและมีไฟล์ otfgyro.dll เป็นไดรเวอร์ ต่อมาทาง Hypack ได้ยกเลิกไดรเวอร์ตัวนี้แล้วหันมาตั้งค่าในไดรเวอร์ gps.dll แทน ในรูปแบบที่ผมกำลังทำอยู่ตอนนี้

รูปที่ 12 กำหนดใช้ OTFGyro เพื่อคำนวณ heading
ตั้งค่า IP

ต่อไปเป็นการตั้ง IP address สำหรับ RTK ตัวหลัง ตั้งค่าตามแอพ Emlid Flow เป็น 192.168.1.111

รูปที่ 13 ตั้งค่า IP Adress สำหรับ RTK ตัวหลัง

เมื่อเข้าไปในโปรแกรมย่อย “Survey” จะเห็นรูปเรือ ในขณะทดสอบ ผมได้มีการโยก RTK เครื่องหลังเพื่อจำลองว่าเรือเลี้ยวในรูป Map ก็มีการอัพเดทค่าได้ถูกต้อง

สำรวจหยั่งน้ำ (Bathymetric Survey)

เมื่อต่ออุปกรณ์และทดสอบในเบื้องต้นเรียบร้อย สุดท้ายต้องทดสอบที่โมดูลหรือโปรแกรมย่อย “Hypack Survey” ที่ไอคอนรูปปลาโลมา

รูปที่ 13 การเลือก Hypack survey

ที่น่าสังเกตคือโปรแกรม Hypack อ่านข้อมูล NMEA รูปประโยค ZDA เพื่อนำเวลามา sync กับคอมพิวเตอร์ โดยที่เราไม่ได้ตั้งไว้ให้รับประโยคนี้

การซิงโครไนซ์เรื่องเวลา

สำหรับอุปกรณ์สำรวจ เรื่องเวลานี้สำคัญมาก สำหรับ RTK ไม่มีปัญหาเพราะมีเวลามาให้ละเอียดอยู่แล้ว ส่วน Echo sounder อุปกรณ์พวกนี้จะส่งความลึกอย่างเดียวมาที่โปรแกรม โปรแกรมที่ดักจับค่าความลึก จะต้องมีการเอาค่าความลึกไปต่อกับประโยคที่เป็นค่าพิกัดที่ได้จาก RTK โดยที่เวลาต้องตรงกัน (latency น้อยมาก) โปรแกรมอาศัยเวลาจากเครื่องคอมพิวเตอร์ ดังนั้นเวลาของคอมพิวเตอร์จึงต้องละเอียด เลยมีกระบวนการ sync เวลานี้จากเครื่อง GNSS ให้ถูกต้องอยู่เสมอ

ถ้าเวลาไม่ตรงกันสมมติว่าต่างกันหนึ่งวินาที ตัวอย่างถ้าเรือวิ่งเร็วสัก 4 เมตรต่อวินาที เวลาหนึ่งวินาทีเรือเปลี่ยนตำแหน่งไป 4 เมตร ใน 4 เมตรนี้ถ้าความลึกมีการเปลี่ยนแปลงเช่นกำลังผ่าน side slope งานขุดลอกร่องน้ำที่มีความชัน อย่างนี้จะทำให้ข้อมูลไม่ถูกต้องในระดับที่ยอมรับกันไม่ได้

รูปที่ 14 แสดงเรือสำรวจและข้อมูลในโหมด Survey

ก็ขอจบบทความแต่เพียงเท่านี้ โปรดติดตามตอนต่อไป

Leave a Reply

Your email address will not be published. Required fields are marked *