Written by : Ataya P
Date : 1 Nov 2008
Language : Thai
REPOST : ห่างหายไปนานเลยสำหรับบทความด้านเทคโนโลยี่ ก็คงต้องอ้างว่าช่วงนี้ผมไม่ค่อยมีเวลาเท่าไร แต่เมื่อบทความด้านนี้สำหรับเมืองไทยแล้ว ยังไม่ค่อยมีคนมีกระจายความรู้ให้คนอื่นๆเท่าไรนัก ในฐานะของผู้มีโอกาสได้มาสัมผัสแง่มุมๆหนึ่งของเทคโนโลยี่ด้านระบบสมองกลฝั่งตัวในญี่ปุ่นแล้ว หากมีความรู้ใดที่ผมพอจะแบ่งปันให้คนอื่นๆในเมืองไทยได้เริ่มต้นเรียนรู้ได้บ้าง ผมก็จะทำอย่างเต็มกำลังที่มีอยู่นะครับ(อนี่ง สิ่งที่ผมจะเขียนต่อไปนี้ เขียนมาจากประสบการณ์ที่ได้จากการทำงานแค่ส่วนหนึ่งจึงไม่รับประกับความถูกต้องนะครับ ผู้สนใจสามารถศึกษาต่อเบื้องลึกได้จากเว็ปไซต์ที่แนะนำครับ)
รูปแสดงส่วนประกอบต่าง ๆ ของหุ่นยนต์ ซึ่งจะถูกประกอบขึ้นมาจากส่วนเล็กๆขึ้นมาเป็นส่วนที่ใหญ่ขึ้น
(Image from RT-Middleware website)
เพื่อจัดการกับปัญหาข้างต้น จึงได้มีการออกแบบชิ้นส่วนเพื่อใช้เป็นโครง(RT-Component Framework) สำหรับใส่ซอฟต์แวร์ที่ได้รับการพัฒนาต่างๆเหล่านั้นเข้าไป และมีพอร์ท(Port)เพื่อใช้เชื่อมต่อกับส่วนอื่นๆได้ ชิ้นส่วนย่อยเหล่านี้เรียกว่า RT-Component ซึ่งโครงสร้างระบบที่ประกอบขึ้นจากชิ้นส่วนย่อยๆเหล่านี้ก็คือ RT-middleware นั้นเอง (RT = Robot Technology) ซึ่งกลวิธีเบื่องลึกที่ใช้เชื่อมต่อนั่นก็คือการใช้โปรโตคอล CORBA ในการแลกเปลี่ยนฟังก์ชั้นและข้อมูลของแต่ละส่วน
รูปแสดงโครงที่ใช้หุ่มซอฟต์แวร์ที่พัฒนาขึ้นมาและเชื่อมต่อกับส่วนอื่นภายนอกผ่านพอร์ท ส่วนเหล่านี้เรียกว่า RT-Component
รูปแสดงการเชื่อมต่อชิ้นส่วนย่อยๆเข้าด้วยกัน
สำหรับข้อดีในการใช้โปรโตคอล CORBA ในการเชื่อมต่อส่วนต่างๆ เข้าด้วยกันนั้นก็คือ การที่ไม่ต้องคำถึงถึงข้อแตกต่างของภาษา หรือเครื่องมื่อที่ใช้ในการพัฒนา เช่น C ,Java ,Python โดยการใช้ CORBA นั้น การเรียกใช้ฟังก์ชันของส่วนอื่น จะเหมือนกับการเรียกใช้ฟังก์ชั้นธรรมดาโดย CORBA จะทำการจัดการส่งค่าตัวแปรไปยังส่วนอื่นที่มีการให้บริการฟังก์ชั้นตัวที่ถูกเรียก และรับผลการประมวลผลกลับมาให้ เช่น ส่วนของกล้องใช้ภาษาซีในการเขียนโปรแกรมควมคุม เมื่อส่วนประมวลผลกลางซึ่งใช้ภาษาJavaในการประมวลผล ก็สามารถเรียกฟังก์ชันของCORBAผ่านNetwork(อาจจะเป็นHTTP,FTP,FILEก็ได้) เพื่อไปเรียกฟังค์ชันที่ให้บริการของกล้องซึ่งเขียนเป็นภาษาซีได้โดยอัตโนมัตินั่นเอง
สำหรับรายละเอียดเพิ่มเติม สามารถศึกษาได้จากเว็ปไซต์ :
https://www.openrtm.org/openrtm/en/doc/aboutopenrtm/rtmiddleware
เกี่ยวกับCORBA :
https://en.wikipedia.org/wiki/Common_Object_Request_Broker_Architecture