16 ตุลาคม 2561

ติดตั้ง ROS สร้าง Workspace ให้กับ Raspberry Pi



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


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


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

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

หน้าจอเริ่มต้นของ Ubuntu MATE


เริ่มต้นจากการเปิด Terminal  โดย คลิกขวา ที่ Home แล้ว เลือก Open in Terminal


Terminal ของ Ubuntu MATE


โดยสามารถ Copy และ Paste ใน Terminal ได้

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 ของเรานั้นพร้อมทำงานแล้วครับ



การสร้าง Catkin Workspace

เปิด Terminal  โดย คลิกขวา ที่ Home แล้ว เลือก Open in Terminal

1. สร้างโฟลเดอร์ที่จะเป็น Workspace ในที่นี้จะตั้งชื่อว่า catkin_ws ไว้ที่ home ของ Ubuntu

mkdir catkin_ws

2. สร้างโฟลเดอร์ ที่เก็บ Code ของเรา ชื่อ src (อยู่ใน catkin_ws อีกที)

mkdir catkin_ws/src

3. Initial Workspace (เตรียม Site ก่อสร้าง) เข้าไปที่โฟลเดอร์ src แล้วใช้คำสั่ง catkin_init_workspace

cd catkin_ws/src
catkin_init_workspace



4. ระบุว่านี่คือ Site ก่อสร้าง Code ของเรา
 ด้วยการ Build Workspace ที่เปล่าๆ 1 ครั้ง ให้เกิด Reference โดยไปที่ โฟลเดอร์ catkin_ws แล้วใช้คำสั่ง catkin_make

เปิด Terminal  ใหม่

cd catkin_ws
catkin_make


จะพบว่ามี โฟลเดอร์ เพิ่มเข้ามา ซึ่งเป็นของที่ประกอบขึ้นมาเป็น Workspace ของเรา



5. บอกกับ Ubuntu ว่า ROS Workspace ได้ปักหลักตรงนี้แล้ว

จะได้รวบรวมของที่เราเคย Install ไว้แล้ว (ROS ทั้งหมด รวมถึง Catkin) ให้สามารถมาใช้งานร่วมกับตรงนี้ได้

สั่งให้ Ubuntu รู้จัก ROS Workspace ของเรา ผ่านไฟล์ setup.bash  โดยเปิดไฟล์ชื่อ .bashrc ภายใต้โฟลเดอร์ home ขึ้นมาแก้ไข แล้วเพิ่มโค้ด "source ~/catkin_ws/devel/setup.bash" ที่บอกไฟล์กรรมสิทธิ์การก่อสร้างของเรา  เปิด Terminal  ใหม่ ต่อท้ายไฟล์เข้าไป ด้วยคำสั่ง

echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc

หลังจากนี้ “ต้องปิด Terminal และเปิดมันขึ้นมาใหม่” เพื่อให้ระบบโหลดไฟล์ที่เพิ่งแก้ใหม่ ซึ่งตอนเปิด Terminal มันจะทำให้ หรือใช้คำสั่ง source ~/.bashrc  ก็ได้เช่นกัน

source ~/.bashrc



หลังจากนี้ ระบบ ทั้ง Ubuntu และ Catkin ก็คือ ROS ก็จะรู้จักว่า Workspace เรา Code เราอยู่ตรงนี้แล้ว

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