01 ตุลาคม 2561

ติดตั้ง ROS Kinetic และแนวคิดพื้นฐาน ของ ROS



สภาพแวดล้อมในการพัฒนาโปรแกรม (Developing Environment) ที่ใช้อยู่ตอนนี้เป็น Ubuntu Xenial (16.04) ซึ่งบังคับให้ ROS ต้องใช้เวอร์ชั่น  ROS Kinetic Kame มาเริ่มติดตั้งกันเลยนะครับ


การติดตั้ง ROS Kinetic Kame


โดยจะอ้างอิง การติดตั้ง จาก Official Website ของ ROS

http://wiki.ros.org/kinetic/Installation/Ubuntu


เริ่มต้นจากการเปิด Terminal ของ Ubuntu ก่อน โดย คลิกขวา ที่หน้าจอ แล้ว เลือก Open Terminal (หรือกด แป้นลัด Ctrl + Shift + T )


Terminal ของ Ubuntu



สามารถ Copy โดยใช้ Ctrl + C

และ Paste ใน Terminal ด้วย Ctrl + Shift + V


1. เริ่ม Add Repository ใส่ใน Ubuntu ก่อน

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


2. Setup Key ของการเข้าถึง Package

sudo apt-key adv --keyserver hkp://pgp.mit.edu:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

3. หลังจาก Add Key Add repository แล้ว ก็ Update (ดึงจากแหล่งข้อมูล)

sudo apt-get update

4. เริ่มติดตั้ง ROS Kinetic

sudo apt-get install ros-kinetic-desktop-full

5. ติดตั้ง Environment ของ ROS เพื่อให้ ROS  จัดการเรื่อง การอ้างอิงต่างๆ ที่จำเป็นกับ Framework

sudo rosdep init
rosdep update

6. ทำให้ Terminal รู้จักคำสั่งของ ROS ด้วย Code ชุดนี้

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

เป็นการเอาคำสั่งต่างๆที่ ROS มี ไปแจ้งให้กับ terminal (ในที่นี้ใช้ bash — config file จะอยู่ที่ home folder ชื่อไฟล์  “.bashrc” ) ซึ่ง source ก็คือ การสั่งใช้ config นั้น นั่นเอง

7 . ติดตั้งตัวช่วยในการสร้างแพ็คเกจ

sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential

8. ทดลองการทำงานของ Core ROS ด้วยการ พิมพ์ roscore (หน้าต่างที่ 1)

roscore

ถ้าไม่มี Error และแสดงภาพประมาณภาพด้านล่าง แสดงว่า ROS ของเรานั้นพร้อมทำงานแล้วครับ



แนวคิดพื้นฐานของ ROS

"ROS นั้นจะช่วยให้ผู้พัฒนาหุ่นยนต์ สามารถส่ง Message ระหว่าง Module ต่างๆในระบบได้ง่ายดาย"


สิ่งที่เราได้ทำมาแล้วคือการเริ่มต้น ROS Master  ขณะนี้เราสามารถทดลองกับคำสั่ง ROS บางคำสั่งได้


เปิด Terminal ใหม่ (หน้าต่างที่ 2) แล้วพิมพ์คำสั่ง

rostopic list

จะเป็นรายการของตัวเลือกทั้งหมดที่คำสั่ง rostopic สามารถทำได้ แสดงตามภาพด้านล่าง


2 รายการข้างต้นเป็น ROS ที่สร้างขึ้นเพื่อการรายงานและรวบรวมข้อความการแก้ปัญหาในระบบ 


เราจะทดลอง ส่ง Message ข้อความ ออกไป

เปิด Terminal ใหม่  (หน้าต่าง 3) ไม่สามารถใช้การ copy + วางได้  ต้องพิพ์คำสั่ง

rostopic pub /hello std_msgs/String “Hello Robot"



อธิบายแยกเป็นคำสั่งดังนี้

rostopic pub - คำสั่งนี้ ROS จะเผยแพร่ Topic หัวข้อใหม่

/hello - นี่คือชื่อของ Topic หัวข้อใหม่ (สามารถเป็นได้ทุกอย่างที่คุณต้องการ)

std_msgs/String - นี่คือประเภท ของหัวข้อ topic ที่ต้องการเผยแพร่คือข้อความ

"Hello Robot" - นี่คือข้อมูลจริงที่มีอยู่ใน Topic


กลับไปที่ Terminal (หน้าต่าง 2) ก่อนหน้านี้ ให้ใช้คำสั่ง rosnode list อีกครั้ง จะพบหัวข้อใหม่ hello เพิ่มเข้ามาแล้ว!

rostopic list



นอกจากนี้เรายังสามารถเข้าไปใน Topic เพื่อดูข้อมูลข้อความโดยใช้คำสั่ง

rostopic echo /hello


ขณะนี้เราได้เผยแพร่หัวข้อที่มีข้อความเรียบร้อยแล้วและได้รับข้อความดังกล่าวแล้ว พิมพ์ Ctrl + C เพื่อหยุดการการทำงาน Topic หัวข้อ /hello


นอกจากนี้เรายังสามารถดู Node ที่เผยแพร่ข้อความ พิมพ์คำสั่ง rosnode list อีกครั้ง คุณจะได้รับรายการที่คล้ายกับรายการด้านล่าง (ตัวเลขที่หลัง rostopic อาจแตกต่างกัน)

rosnode list



อ่าน.. แนวคิดพื้นฐานของ ROS  เพิ่มเติม เป็นบทความของ iTUTOR ตามลิงค์ด้านล่าง



หมายเหตุ : เรียบเรียงและแก้ไขดัดแปลงจากบทความต้นฉบับด้านล่าง