ROS[1] : สอนติดตั้ง ROS Kinetic

ROS[1] : สอนติดตั้ง ROS Kinetic

ในบทความนี้ผมจะสอนวิธีการติดตั้ง ROS Kinetic ตั้งแต่เริ่มต้นเลยนะครับ สิ่งที่จำเป็นต้องมีคือ Ubuntu Xenial (16.04 LTS) ของผมเป็น Version 16.04LTS amd64 นะครับ
ถ้ายังไม่มี ลองติดตั้ง Ubuntu ตามนี้นะครับ How to install Ubuntu

Ubuntu install of ROS Kinetic

ในตอนนี้ทีมงานของ ROS [Jochen Sprickerhof และ Leopold Avellaneda] เค้าได้สร้าง debian packages สำหรับติดตั้งลงใน Ubuntu เอาไว้แล้ว ซึ่ง packages ที่เค้าสร้างนี้มีประสิทธิภาพในการทำงานและติดตั้งง่ายมากกว่าการลงจาก source code เอง
ดังนั้นผมก็ขอแนะนำวิธีการนี้ในการติดตั้ง ROS ครั้งนี้
แต่ถ้าอยากลงเองผมก็ไม่ขัดนะ สามารถติดตั้งตามนี้ได้เลย source installation instructions

มาเริ่มกันเลย
ROS Kinetic ซัพพอร์ทแค่ Ubuntu 15.10 , Ubuntu 16.04 และ Debian 8 เท่านั้นน

  1. เพิ่ม package source ใน source.list ของ Ubuntu
    ในส่วนนี้เราเหมือนกับกำลังตั้งค่าให้ Ubuntu ให้สามารถโหลดซอฟแวร์จาก packages.ros.org ได้นั่นเอง

    เปิด Terminal ขึ้นมา ใช้คีย์ลัด [ alt + ctrl + t ]

    Screenshot from 2017-06-20 21-42-40
    เวลาจะเอาคำสั่งไปรัน ให้ก๊อปหลังจากเครื่องหมาย $ ไปใส่ใน terminal นะฮ่ะ

    $ sudo sh -c ‘echo “deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main” > /etc/apt/sources.list.d/ros-latest.list’

    Screenshot from 2017-06-20 21-45-06
    แล้วจะให้ใส่ password เราก็พิมพ์ใส่เข้าไปเลย

    $ sudo apt-key adv –keyserver hkp://ha.pool.sks-keyservers.net:80 –recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

    Screenshot from 2017-06-20 21-56-10

  2. Update Ubuntu
    หลังจากเราเพิ่ม package source และ key เข้าไปแล้ว เราก็ต้องทำการ update ubuntu ก่อน เพื่อให้ ubuntu ของเราไปดึงข้อมูลจาก source ต่างๆมาเก็บไว้ โดยการใช้คำสั่ง

    $ sudo apt update

    $ sudo apt upgrade

    Screenshot from 2017-06-20 22-11-48
    Screenshot from 2017-06-20 22-33-12

  3. Desktop-Full Install
    ติดตั้ง ROS แบบเดสท๊อปแบบลงทีเดียวครบทุกอย่างไปเลย เช่น ROS, rqt, rviz, robot-generic libraries, 2D/3D simulators, navigation and 2D/3D perception

    $ sudo apt install ros-kinetic-desktop-full

    Screenshot from 2017-06-20 23-12-34

    รอ รอ รอ แล้วก็รอ ตอนนี้อาจจะใช้เวลานานสักพักเลย โหลด 2กิ๊ก

    Screenshot from 2017-06-20 23-29-41

    หลังจากทำการติดตั้งเสร็จแล้ว เราสามารถดูได้ว่ามีแพคเกจอะไรที่สามารถใช้ได้บ้าง แต่ตอนนี้มันก็ยังไม่สำคัญเท่าไหร่ ผ่านไปก่อนได้ หรือจะลองเล่นๆก็ได้โดยใช้คำสั่ง

    $ apt-cache search ros-kinetic

  4. Initialize rosdep
    ตอนนี้เรามีไฟล์ ROS อยู่ในเครื่องของเราแล้ว ก่อนที่จะสามารถใช้ ROS ได้นั้น เราจำเป็นต้องทำการ initialize rosdep ก่อน เนื่องจากตัว rosdep นี้จะติดตั้งซอร์สโค้ดสำหรับแพคเกจต่างๆ และเพื่อ run ตัวส่วนประกอบหลักต่างๆ ใน ROS ด้วย

    $ sudo rosdep init

    $ rosdep update

    Screenshot from 2017-06-20 23-45-25

  5. Environment setup
    เพื่อความสะดวกในการใช้งาน ROS เราต้องเพิ่ม ROS environment variables ให้ Ubuntu รู้ว่าเราติดตั้ง ROS เอาไว้ตรงไหนของเครื่อง

    $ echo “source /opt/ros/kinetic/setup.bash” >> ~/.bashrc
    คำสั่งนี้จะเป็นการเพิ่ม env ไปต่อบรรทัดสุดท้ายของไฟล์ .bashrc

    $ source ~/.bashrc
    หลังจากที่เราแก้ไฟล์แล้วเราก็ควรจะรันมันใหม่อีกครั้งเพื่อให้มันทำงานบรรทัดที่เราเพิ่งเพิ่มเข้าไปด้วย หรือจะใช้การปิดเปิด terminal ใหม่ก็ได้เหมือนกัน

    Screenshot from 2017-06-21 00-01-00

  6. Install rosinstall
    rosinstall เป็นเครื่องมือนึงของ ROS ที่ใช้จะต้องใช้บ่อย เนื่องจากเป็นเครื่องมือที่ทำให้เราสามารถโหลด Source Code ต่างๆได้ ดังนั้น rosinstall จึงจำเป็นจะต้องลง ใช้คำสั่งนี้

    $ sudo apt install python-rosinstall

    Screenshot from 2017-06-21 00-09-14

  7. Finish
    หลังจากติดตั้งทุกอย่างทั้งหมดนี้โดยไม่มีปัญหาอะไรแล้ว เพื่อจะทดสอบว่าทุกอย่างถูกต้องทั้งหมดก็ให้ใช้คำสั่ง

    $ roscore

    Screenshot from 2017-06-21 00-10-31
    ถ้าได้หน้าตาแบบนี้ ผมขอแสดงความเสียใจด้วย เพราะจะมันเป็นจุดเริ่มต้นของความยากที่เหลืออยู่

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s