ทดสอบการทำงานของ ROS

        หลังจากที่เราติดตั้ง ROS เสร็จเรียบร้อยแล้ว ต่อไปเราก็จะมาทดสอบการทำงานของมันกัน ว่าสามารถใช้งานได้รึเปล่า ตัวอย่างนี้เราจะใช้แพ็กเกจ Turtlesim ซึ่งหากติดตั้ง ROS แบบ desktop-full ก็จะมีให้มาอยู่แล้ว หากไม่มีก็สามารถติดตั้งเองได้ โดยแพ็กเกจนี้จะเป็นการเปิดหน้าต่าง GUI ที่มีเต่าตรงกลางจอขึ้นมา แล้วจะให้เราควบคุมการเคลื่อนที่ของเต่าด้วยคีย์บอร์ด

        สำหรับมือใหม่ อาจจะงงหรือสับสนสักหน่อย เนื่องจาก จะมีคำแปลกๆที่ไม่เคยได้ยินโผล่ขึ้นมา เช่น Node (โหนด), Package (แพ็กเกจ), roscore (รอสคอร์), roslaunch (รอสลันช์), rosrun (รอสรัน) ซึ่งเดี๋ยวผมจะมาอธิบายคำศัพท์ต่างๆที่ใช้ใน ROS เหล่านี้ ให้ได้เข้าใจกันในตอนต่อไป ตอนนี้จะเป็นการทดสอบว่า ROS ที่เราเพิ่งติดตั้งเสร็จนั้นสามารถใช้งานได้โดยไม่มีปัญหา

เรามาเริ่มกันเลย

  1. เปิดใช้งาน roscore
    เปิด Terminal ขึ้นมาคีย์ลัด (ctrl + alt + t) และเราจะเปิด ROS System ขึ้นมา โดยให้พิมพ์คำสั่ง roscore เข้าไป

    $ roscore



  2. รัน Turtlesim Node ที่อยู่ใน Turtlesim Package
    เปิดอีก Terminal ขึ้นมาใหม่แล้วพิมพ์คำสั่งว่า

    $ rosrun turtlesim turtlesim_node

    คำสั่งนี้จะเป็นการรันโหนดที่ชื่อว่า turtlesim_node ในแพ็กเกจชื่อว่า turtlesim



    เมื่อรันแล้วเราจะเห็นหน้าต่าง GUI สีฟ้าที่มีรูปเต่าอยู่ตรงกลางโผล่ขึ้นมา ตามภาพด้านล่างนี้ (เต่าบางทีอาจจะไม่เหมือนกันในการรันแต่ละครั้ง มันจะสุ่มออกมา)


  3. รัน Teleop key Node ที่อยู่ใน Turtlesim Package 
    เปิดอีก Terminal ขึ้นมาใหม่แล้วพิมพ์คำสั่งว่า

    $ rosrun turtlesim turtle_teleop_key
    คำสั่งนี้จะเป็นการรันโหนดที่ชื่อว่า turtle_teleop_key ในแพ็กเกจชื่อว่า turtlesim

    เราสามารถใช้ปุ่ม [Tab] ใน Terminal ได้

    ใน  Linux จะใช้คำสั่งใน Terminal เป็นส่วนใหญ่ แล้วบางครั้งเราจำคำสั่งไม่ได้ การใช้ปุ่ม [Tab] เข้ามาช่วย Auto-complete จะทำให้สะดวกมากขึ้น ยกตัวอย่างการใช้งานเช่น

    $ rosrun turtlesim [Tab][Tab]

    ใน Terminal จะโชว์คำที่เราสามารถใช้งานได้มาให้

    $ rosrun turtlesim turtle_teleop[Tab]
    $ rosrun turtlesim turtle_teleop_key



    เราจะเห็นข้อความเขียนบอกว่า ให้เรากดลูกศรที่คีย์บอร์ด เพื่อที่จะสั่งให้เต่าเคลื่อนที่ (เวลากดปุ่ม ต้องมากดในหน้าต่าง Terminal อันนี้เท่านั้น) เมื่อเรากดปุ่มลูกศรแล้วเต่าที่อยู่ที่หน้าต่าง GUI ก็จะเคลื่อนทีไปตามที่เรากด




  4. รัน RQt graph Node ที่อยู่ใน RQt graph Package 
    เปิดอีก Terminal ขึ้นมาใหม่แล้วพิมพ์คำสั่งว่า

    $ rosrun rqt_graph rqt_graph
    หรือ
    $ rqt_graph

    rqt_graph เป็นหน้าต่าง GUI แสดงกราฟการเชื่อมต่อกันระหว่างโหนดต่างๆ ที่มีการส่งข้อมูลหากันใน ROS System



    โดยตัวที่อยู่ในวงกลม (วงรี) จะหมายถึง Node (โหนด) และตัวที่อยู่ในสี่เหลี่ยม จะหมายถึง Topic (ทอปปิก) ที่ส่งข้อมูลหากัน (**เดียวผมอธิบายในตอนถัดไป**)

    จากภาพ จะเห็นว่ามีลูกศรชี้จากโหนด /teleop_turtle ไปยังโหนด /turtlesim แล้วคั่นกลางด้วยทอปปิก /turtle1/cmd_vel ซึ่งรวมๆแล้วที่กราฟนี้แสดงการทำงาน คือ การที่เรากดคีย์บอร์ดจะเป็นการส่ง ความเร็วการเคลื่อนที่ของเต่าจากโหนด teleop_turtle ไปยังโหนด turtlesim ที่รอรับความเร็วอยู่ ซึ่งส่งผลให้เต่าสามารถเคลื่อนที่ไปมาได้

    ถ้าทำมาถึงขั้นนี้แล้วไม่มีปัญหาก็แสดงว่า ROS ของเราสามารถทำงานได้ปกติ

  5. การปิดทุกอย่าง
    การปิดนั้นให้เราเข้าไปที่หน้าต่าง Terminal ทั้งหลายที่เราเปิดอยู่แล้วกด (ctrl +c) ก็จะเป็นการปิดการทำงานของโปรแกรมที่เปิดเอาไว้อยู่

Views
162 Total Views
0 Members Views
162 Public Views
Actions
0 Likes
0 Dislikes
0 Comments
Share on Social Networks
Share Link
Use permanent link to share in social media
Share by mail

Please login to share this webpage by email.