มาใช้หัดใช้ ROS กัน ตอนที่ 1 ติดตั้ง

บทความนี้จะเป็นชุดยาวหลายตอนเกี่ยวกับการใช้งาน ROS ที่เขียนจากประสบการณ์ต่างๆที่ได้จากงานวิจัย ป.เอก ที่ทำอยู่ ณ ขณะนี้ (2012)

ROS คืออะไร? ROS ย่อมาจาก Robot Operating System ตรงไปตรงมามากๆ ถ้าจะเปรียบเทียบง่ายๆ ก็เห็นเป็น OS (ถ้าในคอมพิวเตอร์ก็เป็น Windows, Linux, OSX) ที่ทำหน้าทีควบคุมและติดต่อกับฮาร์ดแวร์ต่างๆ ของหุ่นยต์ (ในคอมพิวเตอร์ก็เช่น CPU, hard disk, video card)ให้ทำงานได้อย่างมีประสิทธิภาพและมี Application programming interface (API) และไลบารีเสริมต่างๆ ให้ผู้ให้งานและนักพัฒนานำมาดัดแปลงต่อยอดและเสริมความสามารถของตัวหุ่นยนต์ในตามต้องการ (เหมือนเขียนโปรแกรมต่างๆให้คอมพิวเตอร์ที่เราใช้กันอยู่)

บทความช่วงแรกจะเป็นเรื่องเกี่ยวกับการติดตั้ง ROS บน Ubuntu หลังจากนั้น (อาจจะออกช้าบ้างเร็วบ้าง) จะเป็นบทความที่ว่าด้วยส่วนประกอบต่างๆ ใน ROS ที่จะช่วยให้เราสร้างหุ่นยนต์จำลอง (จะเริ่มจากแขนกลอุตสาหกรรม)  ขึ้นมาทดลองได้โดยไม่ต้องมีหุ่นยนต์จริง แล้วจากนั้นจะเป็นบทความว่าด้วยการเขียน Node (ไว้มาคุยกันว่าคืออะไรในตอนหน้า) เพื่อใช้ควบคุมหุ่นยนต์ที่สร้างเองกับมือแบบง่ายๆ หลังจากที่มีหุ่นยนต์เป็นของตัวเองแล้ว จะเป็นบทความที่เลือก Node ที่น่าสนใจในงานวิจัยที่ทำมาอยู่อธิบายและลองประยุกต์กับงานหุ่นยนต์จำลองที่สร้างขึ้นรวมถึง Node ที่ผู้อ่านร้องข้อหรือสนใจ (ถ้าโอกาสอำนวย)

เพื่อไม่ให้เป็นการเสียเวลา (หรือจะทำให้เวลาในชีวิตหายไป ???) เรามาเริ่มด้วยการติดตั้ง ROS กันก่อนเลยดีกว่า วิธีการที่ง่ายที่สุดคือ ส่งเมลไปสั่ง PR2 จาก WillowGarage มาใช้งาน ($400,000 เท่านั้น)

ล้อเล่นนะครับพี่น้อง

จริงๆแล้ววิธีการที่ตรงไปตรงมาและถูกกว่านั้นมากคือติดตั้งบน PC หรือ Notebook ที่ใช้ๆกันอยู่แล้วตามขั้นตอนในเว็บไซต์ www.ros.org  แต่มีเรื่องของสเปกเครื่องและวิธีการติดตั้ง Ubuntu ที่ต้องคำนึงถึงเล็กน้อยตามรายละเอียดด้านล่าง

คอมพิวเตอร์

  • เครื่องรุ่นใหม่ๆหน่อย (ซื้อหลังปี 2010 เป็นต้นมาน่าจะใช้ได้หมด)
  • มีแรมพอสมควร (>= 4G แต่ไม่ถึงก็ไม่ว่ากัน)
  • การ์ดจอ 3D ที่ใช้งาน OpenGL ได้ เช่น AMD NVIDIA หรือ ของ Intel  (ไม่แนะนำเพราะจะมีปัญหากับ rviz)
  • ฮาร์ดดิสก์พอสมควร (หลายๆ Gb หน่อย)

ระบบปฏิบัติการ (Operating System : OS)

  • ง่ายสุดคือ format เครื่องแล้วลง Ubuntu เลย ตัวใหม่ล่าสุด ณ ตอนนี้คือ 12.04 ลงแบบ 32 หรือ 64 bit ก็ได้
  • ถ้ามี Windows อยู่แล้วให้ลงด้วย Windows Ubuntu Installer ชีวิตจะง่ายและปลอดภัย
  • ถ้ามี Mac ให้ลง Bootcamp แล้วลง Ubuntu แทน Windows หรือลง Windows แล้วลง Windows Ubuntu Installer อีกทีนึง (อย่างกะ Inception)
  • สรุปคือทำอย่างไรก็ได้ให้มี Ubuntu ใช้โดยไม่ผ่าน Virtual Machine (เช่น VirtualBox) เพราะว่าจะช้าและไม่สะดวกในการทำงานเท่าไหร่ (จริงต้องบอกว่าทำอะไรแทบไม่ได้เลยมากกว่า)

หลังจากบูตเข้า Ubuntu ได้แล้วให้ติดตั้ง driver ของ 3D card ตามที่มีในเครื่องตัวเองแล้วทดสอบจนแน่ใจว่า 3D acceleration ทำงานได้ตามปรกติ แล้วจึงติดตั้ง ROS โดยทำตามสองขั้นตอนด้านล่าง แนะนำให้ติดตั้ง Fuerte ซึ่งเวอร์ชันใหม่ล่าสุดไปเลยนะครับเพราะหลังจากนี้จะอ้างอิงจากเวอร์ชั่นนี้เป็นหลัก

  1. ติดตั้ง ROS (ติดตั้ง Desktop-Full Installation)
  2. ปรับแต่งเพื่อใช้งาน ROS
ขั้นตอนการติดตั้งคร่าวๆ จากลิงค์ข้างต้นเป็นไปตามนี้นะครับ (ถือว่ามี Ubuntu ใช้งานได้แล้วนะครับ)
    • เพิ่ม package source ใน source.list ของ Ubuntu
      sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu precise main" > /etc/apt/sources.list.d/ros-latest.list'
    • เพิ่ม key สำหรับ download
      wget http://packages.ros.org/ros.key -O - | sudo apt-key add -
    • ติดตั้ง
      • เริ่มด้วยการ update ข้อมูลจาก ROS server
        sudo apt-get update
      • แล้วก็ติดตั้งแบบจัดเต็ม (desktop full)
        sudo apt-get install ros-fuerte-desktop-full

ต้องใช้เวลาสักพัก (หลายสิบนาทีด้วยอินเตอร์ระดับ “เร็วมากๆ” ในญี่ปุ่น) ในการติดตั้ง หลังจากติดตั้งเสร็จแล้วก็ต้องปรับแต่งกันนิดหน่อยโดยเพิ่ม path ของ ROS เข้าไปใน shell setting ของ Ubuntu โดยพิมพ์

echo "source /opt/ros/fuerte/setup.bash" >> ~/.bashrc
. ~/.bashrc

เนื่องจากเป็นการติดตั้งบนเครื่องส่วนตัว ปัญหาที่พบอาจจะไม่เหมือนกันถ้าติดขัดตรงไหนลองโพสต์ถามกันมาได้เลยนะครับ

หลังจากติดตั้งเสร็จแล้วถ้านึกอะไรไม่ออกก็ reboot เพื่อความเป็นสิริมงคลแล้วลองเปิด terminal มาพิมพ์ roscore ถ้าทุกอย่างถูกต้องควรจะเห็นหน้าจอคล้ายๆด้านล่างนี้

ถ้ามาถึงขั้นนี้ได้แล้วอยากให้ลองทำความคุ้นเคยด้วยการทำตาม Tutorial ของ ROS ไปพลางๆ (น่าจะเป็นวันอยู่เหมือนกัน) ก่อนเลยนะครับเพื่อความง่ายในการอ่านบทความต่อไป

LINE it!
The following two tabs change content below.
บ้าหุ่นยนต์ ชอบสร้างหุ่นยนต์ เชื่อว่าหุ่นยนต์จะช่วยให้ชีวิตของคนทุกระดับดีขึ้น และจะสร้างบริษัทหุ่นยนต์ระดับโลกที่ไทย!
Loading Facebook Comments ...
Loading Disqus Comments ...