28 กันยายน 2561

ติดตั้ง Ubuntu ลงบนเครื่อง Workstation


เตรียมคอมพิวเตอร์ สำหรับทำเป็นเครืองเวิร์คสเตชัน (Workstation Computer) สำหรับการพัฒนา ในการทำงานเขียนโปรแกรมต่างๆ เช่น PC/Notebook หรือ คอมพิวเตอร์ที่สามารถลงระบบปฏิบัติการ Ubuntu 16.04 Desktop ได้ ระบบที่จะติดตั้งลงไปต้องมีพื้นที่ว่างอย่างน้อยที่สุด 25 GB และ RAM 3 GB ขึ้นไป

ซึ่งในการใช้งาน ROS  หรือ Robot Operating System นั้นนิยมใช้กับ ระบบปฏิบัติการ Ubuntu เราจึงต้องเริ่มติดตั้ง ระบบปฏิบัติการ นี้ โดยมีขั้นตอนดังนี้

1. ดาวน์โหลด Ubuntu 16.04 desktop

ระบบปฏิบัติการ Ubuntu (อูบุนตู) ที่ได้รับการพัฒนาสนับสนุนโดยบริษัท Canonical Ltd. ซึ่งเป็นบริษัทของนายมาร์ก ชัทเทิลเวิร์ธ ชื่อของดิสทริบิวชันนั้นมาจากคำในภาษาซูลู และภาษาโคซา (ภาษาในแอฟริกาใต้) ว่า Ubuntu ซึ่งมีความหมายในภาษาอังกฤษคือ "humanity towards others" เป็นระบบปฏิบัติการที่มีรากฐานมาจากระบบปฏิบัติการ Debian (เดเบียน) ซึ่งแตกตัวออกมาจากระบบปฏิบัติการ Linux คำสั่งต่างๆ ของ Ubuntu จึงจะเหมือนกับคำสั่งที่มีใช้งานบนระบบปฏิบัติการ Linux เกือบทั้งหมด จะมีแตกต่างกันบ้างเล็กน้อยเท่านั้น


เริ่มที่ คอมพิวเตอร์ที่ใช้งานทั่วๆไป ที่ติดตั้งระบบปฏิบัติการ Windows  โดยให้ทำการดาวน์โหลด Ubuntu 16.04 desktop ที่เป็นไฟล์ iso image ได้จาก  http://releases.ubuntu.com/16.04.5/


เก็บไว้ที่โฟลเดอร์ที่ต้องการ



2. เขียนไฟล์ iso image ด้วยโปรแกรม Rufus

เตรียม แฟลชไดร์ฟ (Flash Drive) ขนาดความจุ 8 GB ขึ้นไป ในตัวอย่างใช้ 16 GB

ดาวน์โหลด Rufus ได้จาก https://rufus.akeo.ie/


เปิดโปรแกรม Rufus คลิก SELECT


เลือกไปยังที่เราเก็บไฟล์ ไฟล์ iso image (จากขั้นตอนที่ 1)


คลิกที่ START


เลือก Write in ISO Image mode แล้ว คลิก OK

คลิก OK


โปรแกรมเริ่มเขียน ISO Image ลงใน แฟลชไดร์ฟ


เมื่อเขียนเสร็จ ให้คลิก CLOSE ปิดโปรแกรมลงไป


3. ติดตั้ง Ubuntu 16.04 desktop

ที่ คอมพิวเตอร์ สำหรับทำเป็นเครืองเวิร์คสเตชัน (Workstation Computer) ให้ตั้งค่าไบออสให้บูท USB แฟลชไดร์ฟ เป็นไดรฟ์แรกสุด ซึ่งการตั้งค่าไบออสมีวิธีที่แตกต่างกัน ให้ศึกษาจากคู่มือของคอมพิวเตอร์ ที่เลือกใช้

นำ แฟลชไดร์ฟ ที่ได้จากขั้นตอนที่ 2 เสียบเข้าที่ USB ของ Workstation Computer เมื่อเริ่มเปิดเครื่องใหม๋ ถ้าทุกอย่างถูกต้อง

ให้ทำตามขั้นตอนต่อไปนี้:


ให้ทำการเลือกภาษาสำหรับการติดตั้งจากนั้นกดปุ่ม Install Ubuntu เพื่อเริ่มการติดตั้ง:


หน้าต่อไปเป็นหน้าความต้องการทรัพยากรพื้นฐานในการติดตั้ง Ubuntu 16.04 (ระบบที่จะติดตั้งลงไปต้องมีพื้นที่ว่างอย่างน้อยที่สุด 4.5 GB, และต้องตรวจสอบระบบไฟฟ้า,ปลั๊กไฟ เพื่อให้แน่ใจว่าไฟฟ้าจะไม่ดับหรือขัดข้องในช่วงที่กำลังติดตั้ง และเครื่องต้องต่ออินเตอร์เน็ตอยู่ขณะติดตั้งด้วยนะครับ ซึ่งตามรูปต้องมีเชคถูกทุกตัว. จากนั้นให้เชคถูกที่ Download updates while installing Ubuntu และ Install this third-party software for graphics and Wi-Fi hardware, Flash, MP3 and other media (ซึ่งจากการเชคถูกตรงนี้ระบบจะทำการติดตั้งโปรแกรมพื้นฐานจำพวก Flash, MP3, และไฟล์ media อื่นๆ) และกดปุ่ม Continue:


ต่อไปเป็นหน้าสำหรับการจัดสรรพื้นที่ของระบบ โดยจะมีให้เราเลือกหลายแบบในที่นี้เราจะทำการเลือกแบบ Erase disk and install Ubuntu และกดปุ่ม  Install Now:


กดปุ่ม Continue เพื่อยืนยันการติดตั้งโดยระบบจะทำการแบ่งพื้นที่อัตโนมัติ


จากนั้นเลือกโชนเวลาของเรา และกดปุ่ม  Continue:


เปลี่ยน keyboard layout ถ้าจำเป็น และกดปุ่ม  Continue:


พิมพ์ชื่อจริง, ชื่อคอมพิวเตอร์,ชื่อเข้าระบบและรหัสผ่านจากนั้นกดปุ่ม  Continue:


ระบบกำลังทำการติดตั้งซึ่งคงต้องรอให้ระบบติดตั้งเสร็จก่อน:


หลังจากเสร็จแล้ว,ระบบจะให้เราทำการ restart ให้คลิกที่ Restart Now:
หมายเหตุ:  ในขั้นตอนนี้ให้ทำการเอา แฟลชไดร์ฟ ออกจากเครื่อง Workstation Computer ก่อน


หลังจากนั้นระบบจะ restart ระบบ เมื่อ restart เสร็จแล้วก็จะมาหน้า login ให้ท่านทำการ login โดยใช้ username และ password ที่กรอกไปก่อนหน้านั้น.


หน้าจอที่ติดตั้งเสร็จแล้วจะเป็นดังรูป:


ถึงขั้นตอนนี้ เครืองเวิร์คสเตชัน (Workstation Computer) ของเราก็พร้อมในการที่จะติดตั้ง ROS ต่อไป


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

ROS คืออะไร



การพัฒนาหุ่นยนต์ขึ้นมาซักตัวนี้ ต้องใช้อะไรเยอะแยะมากเลย ตั้งแต่ การออกแบบ Hardware มานั่งดูเรื่องของ Static , Dynamics ของหุ่นยนต์ ยังไม่รวมถึงพวก Vision , Sensor , AI , Controlling ในส่วนของ Software . . . . .  การจัดการแต่ละส่วนมันไม่ง่ายเลย

ถ้าไม่ได้ออกแบบแยกแต่ละ Module ออกมาให้ดี แถมถ้างานยิ่งซับซ้อนขึ้นมามากๆ การจัดการจะยิ่งปวดหัวและลำบากใจเป็นอย่างยิ่ง

ผู้เขียนก็เป็นคนหนึ่งที่เขียนโปรแกรมหุ่นยนต์ในชนิดที่ทุกอย่างแทบจะอยู่ที่เดียว ไฟล์เดียว ตามบล็อก ด้านล่างที่ผู้เขียนเคยเขียนเอาไว้


การสร้างหุ่นยนต์ ด้วย Araduino
https://codeprojectarduino.blogspot.com/


การสร้างหุ่นยนต์ ด้วย ESP8266
https://nodemcurobot.blogspot.com/


การสร้างหุ่นยนต์ ด้วย ESP32
https://esp32robot.blogspot.com/


การสร้างหุ่นยนต์ ด้วย Raspberry Pi
https://raspberrypi3robot.blogspot.com/


ตัวอย่างเช่น Code ชุดเดิม เราเคยเขียนหุ่นยนต์วิ่งตามเส้นมาแล้ว พอจะต้องมาทำแบบเดิม กับหุ่นยนต์ตัวใหญ่กว่า หรือ ขับเคลื่อน 4 ล้อ

ต้องมานั่งเขียนโปรแกรมควบคุมใหม่อีก แถมไม่พอ ต้องมานั่งแก้ตัวแปรให้ตรงกับ ฐานหุ่นใหม่ที่ซื้อมา

และการที่จะทำให้หุ่นยนต์เรา มีความสามารถที่สูงขึ้น เพื่อที่นำไปใช้งานจริงๆ ได้ยากมาก


หลังจากเขียนการสร้างหุ่นยนต์มาซักสองปี ก็มาพบ Facebook Group หุ่นยนต์ไทยใช้ ROS - Robot Operating System Thailand  เห็นว่าน่าสนใจจึงลงมือเริ่มศึกษา ROS

ROS — Robot Operating System แปลเป็นภาษาไทยตรงๆ ก็คือ ระบบปฏิบัติการหุ่นยนต์นั่นเอง แต่จริงๆแล้ว มันไม่ใช่ระบบปฏิบัติการไปซะทีเดียว จริงๆแล้วมันเป็นเหมือน Framework ของ Software หุ่นยนต์ (Framework — ระเบียบวิธีการทำงานของโปรแกรมที่ เมื่อทำตามจะช่วยให้โปรแกรมเป็นระเบียบมากขึ้น ทำงานง่ายขึ้น)

ก่อนที่จะศึกษา ROS เรามาทำความเข้าใจก่อนว่า ROS คืออะไรและมีประโยชน์อย่างไร ทำไมถึงต้องใช้ ROSและทำไมเราถึงต้องศึกษาและเรียนรู้ ROS

ที่มาที่ไป => ROS คือ Framework ของการพัฒนาหุ่นยนต์ ที่ Willow Garage (บริษัทที่วิจัยหุ่นยนต์ ใน USA) คิดขึ้นมา เพื่อใช้กับเจ้า หุ่นยนต์ PR2



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


ลดความซับซ้อนและเพิ่มประสิทธิภาพในการทำงานกับแพลตฟอร์มที่หลากหลายของหุ่นยนต์ หรืออาจกล่าวได้ว่า ROS ได้รวบรวมไลบรารีและเครื่องมือไม่ว่าจะเป็น Hardware Abstraction, Device Drivers, Libraries, Visualizers, Message-passing, Package Management และอื่น ๆ อีกมากมาย เพื่อช่วยให้นักพัฒนาซอฟต์แวร์ในการสร้างแอพพลิเคชันทางด้านหุ่นยนต์ ที่สำคัญ ROS เป็นโอเพ่นซอร์ส


และเมื่อเราเปลี่ยนหุ่น (เช่น อยากใช้หุ่นยนต์เจ้าอื่น , อยากเปลี่ยนจาก 2 เป็น 4 ล้อ) เราก็ยังอยากให้ การทำงานเป็นแบบเดิม โดยที่แก้แค่ส่วนที่เป็นการคุมล้อหุ่นยนต์จริงๆ ไม่ต้องแก้ Logic อื่นๆ ให้เสียเวลา (การเขียนโปรแกรมหุ่นยนต์แบบเดิมๆ บางครั้งต้องรื้อทั้งระบบเลย)

แต่ ROS เราก็แค่เปลี่ยนแค่ Code ในส่วนฐานก็ได้แล้ว

เพราะ ROS จะใช้การติดต่อสื่อสารกับ Node อื่นๆ ด้วยการส่งข้อมูลผ่านส่วนกลางของระบบ ที่ตกลงรูปแบบกันไว้แล้ว (เหลือแค่มาพัฒนาส่วนการแปลข้อมูลให้เป็นไปตาม Hardware , Algorithm ที่ต้องการ)

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


ทำไมถึงต้องใช้ ROS เพราะการสร้างซอฟต์แวร์ที่รองรับงานทุก ๆ อย่างที่จำเป็นสำหรับหุ่นยนต์เป็นเรื่องที่ยาก จากมุมมองในการทำงานด้านหุ่นยนต์ ปัญหาในการทำงานในสภาพแวดล้อมต่าง ๆ อาจเป็นปัญหาเพียงเล็กน้อยสำหรับมนุษย์ แต่สำหรับหุ่นยนต์แล้วไม่ใช่ จึงเป็นเรื่องยากสำหรับคนเพียงคนเดียวที่ไม่มีห้องปฎิบัติการหรือสถาบันการศึกษา ที่จะทำงานทางด้านหุ่นยนต์ด้วยตนเองเพียงคนเดียว

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

จากที่กล่าวมาข้างต้น เราจึงเห็นประโยชน์ของ ROS ในการที่จะนำมาใช้ในการพัฒนาซอฟต์แวร์สำหรับหุ่นยนต์ โดยเฉพาะผู้ที่สนใจวิทยาการทางด้านหุ่นยนต์ ROS ได้เตรียมไลบรารีและวิธีการที่ใข้ในการเชื่อมต่อกับหุ่นยนต์ที่เราได้สร้างขึ้นมา ด้วยความที่ ROS เป็นโอเพ่นซอร์ส ทำให้เกิดการรวมตัวของนักพัฒนาทางด้านหุ่นยนต์จากทั่วทุกมุมโลก เพื่อสนับสนุนการใช้งาน ROS อย่างกว้างขวาง แกนนำหลักของ ROS คือ Willow Garage

ROS หลักๆตอนนี้ใช้ ภาษา C++ หรือ Python ในการพัฒนาเป็นหลัก และ ROS ต้องการ Computer ระบบ Linux ใดๆ เช่น Ubuntu , Lubuntu , Redhat  ซึ่งส่วนใหญ่ก็จะใช้ อูบุนตู (Ubuntu)

...

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

01 กันยายน 2561

ติดตั้ง Ubuntu ลงบน Orange Pi Win Plus


ซึ่งในการใช้งาน ROS  หรือ Robot Operating System นั้นนิยมใช้กับ ระบบปฏิบัติการ Ubuntu เราจึงต้องเริ่มติดตั้ง ระบบปฏิบัติการ นี้ โดยมีขั้นตอนดังนี้

1. ดาวน์โหลด Ubuntu 16.04 desktop




ระบบปฏิบัติการ Ubuntu (อูบุนตู) ที่ได้รับการพัฒนาสนับสนุนโดยบริษัท Canonical Ltd. ซึ่งเป็นบริษัทของนายมาร์ก ชัทเทิลเวิร์ธ ชื่อของดิสทริบิวชันนั้นมาจากคำในภาษาซูลู และภาษาโคซา (ภาษาในแอฟริกาใต้) ว่า Ubuntu ซึ่งมีความหมายในภาษาอังกฤษคือ "humanity towards others" เป็นระบบปฏิบัติการที่มีรากฐานมาจากระบบปฏิบัติการ Debian (เดเบียน) ซึ่งแตกตัวออกมาจากระบบปฏิบัติการ Linux คำสั่งต่างๆ ของ Ubuntu จึงจะเหมือนกับคำสั่งที่มีใช้งานบนระบบปฏิบัติการ Linux เกือบทั้งหมด จะมีแตกต่างกันบ้างเล็กน้อยเท่านั้น


อุปกรณ์ที่ใช้


1. Orange Pi Win Plus

2. Micro SD Card Class 10 16GB

3. Card Adapter

4. Orange Pi 5V/3A Europe Power Adapter

5. Orange Pi ABS Transparent Case

6. HDMI to VGA Adapter สำหรับต่อ Orange Pi กับ Monitor

7. จอ Monitor

8. USB Keyboard

9. USB Mouse

10. คอมพิวเตอร์ ระบบปฏิบัติการ Windows


เริ่มที่ คอมพิวเตอร์ที่ใช้งานทั่วๆไป ที่ติดตั้งระบบปฏิบัติการ Windows  โดยให้ทำการดาวน์โหลด Ubuntu 16.04 desktop ที่เป็นไฟล์ iso image ได้จาก


http://www.orangepi.org/downloadresources/orangepiwin/orangepiwin_e4e90e355caea583ddc1d955.html





เลือก Linux -> Ubuntu -> OrangePi_WinPlus_Ubuntu16.04_Desktop_Xfce4_v0_5.tar.gz


https://mega.nz/#F!NhUFAKoa!6THvzd_ggpLLrF1BtPhhKg!ptl3yA7K




คลิกขวาที่ OrangePi_WinPlus_Ubuntu16.04_Desktop_Xfce4_v0_5.tar.gz

เลือก Download.. -> Standard Download




หรือดาวน์โหลดโค้ดจากลิงค์ด้านล่าง

https://drive.google.com/open?id=12Q6abFfhtTfHB8MSCkNAxba96p_8btZL


คลายซิบ ให้เป็นไฟล์ Image (*.img) โดยโปรแกรม WinRar หรือ WinZip แล้ว Extract ไปยังโฟลเดอร์ที่ต้องการ



2. ฟอร์แมต Micro SD Card


ติดตั้งโปรแกรม SD Card Formatter 5.0 ใช้สำหรับ Format Disk สามารถดาวน์โหลดได้จากลิงก์


https://www.sdcard.org/downloads/formatter_4/eula_windows/


จากนั้นให้คลิกปุ่ม Accept โปรแกรม SD Formatter โปรแกรมจึงจะดาวน์โหลดสู่ คอมพิวเตอร์ของเรา



Micro SD Card , Class 10 ความจุ 16GB + Card Adapter




ให้เสียบ Micro SD Card เข้าไปใน Card Adapter



Card Adapter ที่มี Micro SD Card อยู่ด้านใน



แล้วจึงเสียบ Card Adapter ที่บรรจุ Micro SD Card ใส่ในช่องซ็อกเก็ตของคอมพิวเตอร์ PC (ดันจนกระทั่งมีเสียงคลิก)




แล้วทำการ Format , Micro SD Card โดยใช้โปรแกรม  SD Card Formatter


ถ้าเสียบ Card Adapter ที่บรรจุ Micro SD Card ได้ถูกต้อง ที่ Select card จะมี ไดรฟ์ ให้เลือก ในตัวอย่างจะเป็น ไดรฟ์  F:/


เลือก Quick format และที่ Volume label ในตัวอย่างตั้งชื่อเป็น ROS


คลิก Format


คลิก Yes



คลิก OK  ถึงขั้นตอนนี้การ Format SD Card ของเรานั้นเสร็จสมบูรณ์แล้ว ให้ปิดโปรแกรมลงไป




3. เขียนไฟล์ ubuntu-16.04 ลงใน SD Card


ติดตั้งโปรแกรม Win32 Disk Imager ใช้สำหรับเขียนไฟล์ระบบปฏิบัติการที่เป็นไฟล์ Image (*.img) ลงบน Micro SD Card สามารถดาวน์โหลดได้จากลิงก์




เมื่อติดตั้งโปรแกรมเสร็จแล้ว 


ให้เขียนไฟล์ image ระบบปฏิบัติการ Ubuntu ทีเราทำการคลายซิบ เป็นไฟล์ Image (*.img) แล้ว ลง ไปใน Micro SD Card


โดย Browse เลือกไปยัง โฟลเดอร์ที่เราเก็บไฟล์ Image (*.img)  ระบบปฏิบัติการ Ubuntu ไว้ (จากการทำงานในข้อที่ 1)




เลือก Device ที่จะเขียน ไฟล์ image ลงไป  ก็คือ Device ที่เสียบ Micro SD Card อยู่  ในตัวอย่างเป็นไดรฟ์  F:\



คลิกปุ่ม Write



จะปรากฏหน้าต่างยืนยัน ให้คลิกปุ่ม Yes



โปรแกรมจะเริ่มเขียนไฟล์ image ระบบปฏิบัติการ Ubuntu ลง ไปใน Micro SD Card



หน้าต่างแสดงเมื่อเขียนไฟล์ image ระบบปฏิบัติการ Ubuntu สำเร็จ คลิก OK แล้วปิดโปรแกรมลงไป



นำ Card Adapter ที่มี Micro SD Card อยู่ด้านใน ออกมาจากคอมพิวเตอร์ PC ของเรา


4. ติดตั้ง Ubuntu ลงบนบอร์ด Orange Pi

นำ Micro SD Card ออกจาก Card Adapter แล้วเสียบลงในช่องซ็อกเก็ต TF card slot ของบอร์ด Orange Pi โดยมีขั้นตอนดังนี้



Card Adapter ที่มี Micro SD Card อยู่ด้านใน



ถอด Micro SD Card ออกจาก Card Adapter



เสียบ Micro SD Card ลงในช่องซ็อกเก็ต TF card slot ที่อยู่ด้านล่างของบอร์ด Orange Pi


ดัน Micro SD Card เข้าในช่องซ็อกเก็ต TF card slot ของบอร์ด Orange Pi


แล้วต่อเมาส์ คีย์บอร์ด สายแลน และ จอ ผ่าน HDMI-to-VGA



เมื่อเปิดเครื่องขึ้นมาใหม่ Login ให้คีย์ root และ Password ให้คีย์ orangepi

Login: root


Password: orangepi



(ตอนคีย์ Password จะให้มี ปฏิกิริยาใดๆให้คีย์ orangepi จนครบแล้วกด Enter)

เข้าสู่หน้าจอเริ่มต้น



เปิด Terminal ของ Ubuntu


ใช้คำสั่ง

apt-get update


ใช้คำสั่ง

apt-get upgrade

ใช้คำสั่ง

apt-get dist-upgrade

มีให้เลือก 2 ขั้นตอน เลือกตามค่า Default ไปก่อน โดยการกด Enter


Upgrade สำเร็จ