Appendix B: การติดตั้งและตั้งค่า Ubuntu 24.04 (Setup Environment)

ในบทเรียนนี้ เราจะใช้ระบบปฏิบัติการ Ubuntu 24.04 LTS (Noble Numbat) ซึ่งเป็นเวอร์ชันที่รองรับ ROS2 Jazzy อย่างเป็นทางการ

เนื่องจากผู้เรียนมีคอมพิวเตอร์ที่หลากหลาย การติดตั้งผ่าน VMware Workstation Pro จึงเป็นวิธีที่ปลอดภัยและจัดการง่ายที่สุด

การตรวจสอบสเปคคอมพิวเตอร์ (Check Host Specs)

ก่อนจะสร้างหุ่นยนต์จำลอง เราต้องรู้ขีดจำกัดของคอมพิวเตอร์เราก่อน เพื่อจะได้แบ่งทรัพยากร (RAM/CPU) ให้กับ VM ได้อย่างเหมาะสม

วิธีตรวจสอบ:

  1. บน Windows ให้คลิกขวาที่ Taskbar ด้านล่าง แล้วเลือก Task Manager

  2. คลิกที่แท็บ Performance

  3. จดค่าข้อมูลดังต่อไปนี้:

    • CPU: ดูจำนวน Cores และ Logical processors (Threads)

    • Memory (RAM): ดูขนาด Memory ทั้งหมด (เช่น 8GB, 16GB)

ตารางแนะนำสเปคสำหรับคอร์สนี้ (System Requirements)

Spec

Minimum (ขั้นต่ำ)

Recommended (แนะนำ)

หมายเหตุ

Host RAM

8 GB

16 GB ขึ้นไป

ถ้าน้อยกว่า 8GB จะรัน Simulation ไม่ไหว

Host CPU

4 Threads

8 Threads ขึ้นไป

i5 Gen 8 ขึ้นไป หรือ Ryzen 5

Free Disk

30 GB

50 GB

แนะนำ SSD เท่านั้น (HDD จะช้ามาก)

Note

หลักการแบ่งทรัพยากร: ห้ามแบ่ง RAM ให้ VM เกิน 50-60% ของเครื่องจริง ไม่อย่างนั้น Windows จะค้าง เช่น ถ้าเครื่องมี 8GB ให้แบ่งเข้า VM แค่ 4GB

การดาวน์โหลด Ubuntu ISO

  1. เข้าไปที่เว็บไซต์ทางการ: ubuntu.com/download/desktop

  2. เลือกเวอร์ชัน Ubuntu 24.04 LTS

  3. กดดาวน์โหลด ไฟล์จะมีขนาดประมาณ 4-5 GB (นามสกุล .iso)

การสร้าง Virtual Machine

เมื่อได้ไฟล์ ISO และโปรแกรม VMware (จาก Appendix A) แล้ว ให้เริ่มสร้างเครื่องจำลองดังนี้:

  1. เปิด VMware Workstation Pro คลิก Create a New Virtual Machine

  2. เลือก Typical (recommended) -> Next

  3. เลือก Installer disc image file (iso) -> กด Browse เลือกไฟล์ Ubuntu ที่โหลดมา -> Next

  4. Easy Install Information (ตั้งค่าบัญชี):

    • Full name: (ใส่ชื่อของคุณ)

    • User name: batly (หรือชื่อสั้นๆ พิมพ์เล็ก ห้ามมีช่องว่าง)

    • Password: 1234 (แนะนำให้ตั้งง่ายๆ ชั่วคราว เพื่อความสะดวกในการเรียน)

    • Confirm: 1234

  5. Name the Virtual Machine: ตั้งชื่อว่า Batly_ROS2_Lab -> Next

  6. Disk Capacity (ขนาดฮาร์ดดิสก์):

    • Maximum disk size: ใส่ 40 หรือ 50 GB (แนะนำเผื่อไว้)

    • เลือก Split virtual disk into multiple files (แนะนำ: ย้ายไฟล์ไปเครื่องอื่นง่ายกว่า)

    • หรือ เลือก Store virtual disk as a single file (ประสิทธิภาพดีกว่าเล็กน้อย แต่ย้ายยาก)

  7. Ready to Create: อย่าเพิ่งกด Finish! ให้กดปุ่ม Customize Hardware...

การปรับแต่งฮาร์ดแวร์ (Customize Hardware)

หน้าต่างนี้สำคัญที่สุด ให้ปรับตามสเปคเครื่องของคุณ (จากข้อ B.1):

  • Memory (RAM):

    • เครื่อง 8GB -> ปรับเป็น 4096 MB (4GB)

    • เครื่อง 16GB -> ปรับเป็น 8192 MB (8GB)

  • Processors (CPU):

    • Number of processors: 1

    • Number of cores per processor: 2 หรือ 4 (ตามความแรงเครื่อง อย่าให้เกินเครื่องจริง)

  • Display (กราฟิก):

    • ติ๊กถูกที่ Accelerate 3D graphics (สำคัญมากสำหรับโปรแกรม Rviz/Gazebo)

    • Graphics memory: แนะนำ 2GB หรือ 3GB

กด Close และ Finish เพื่อเริ่มติดตั้ง Ubuntu (ระบบจะติดตั้งให้อัตโนมัติ รอประมาณ 15-20 นาที)

การตั้งค่าเครือข่าย (Network Configuration)

ในการใช้งานหุ่นยนต์ เราจะมีการเชื่อมต่อ 2 รูปแบบ

NAT (ใช้งานทั่วไป)

ค่าเริ่มต้นจะเป็น NAT. VM จะใช้อินเทอร์เน็ตผ่าน Windows ได้เลย แต่คนภายนอกจะมองไม่เห็น VM

  • เหมาะสำหรับ: การโหลดโปรแกรม (sudo apt install), อัปเดตระบบ

Bridge Mode (ใช้งานกับหุ่นยนต์จริง)

เมื่อต้องการเชื่อมต่อกับบอร์ด Microcontroller หรือหุ่นยนต์ผ่าน WiFi เราต้องทำให้ VM เปรียบเสมือนคอมพิวเตอร์อีกเครื่องในวงแลนเดียวกัน

ขั้นตอนการทำ Bridge ไปที่ WiFi (ทำเมื่อจำเป็น):

  1. ใน VMware ไปที่เมนู Edit -> Virtual Network Editor... (ต้องใช้สิทธิ์ Admin)

  2. คลิก Change Settings (มุมขวาล่าง) อนุญาตสิทธิ์ Admin

  3. ดูที่รายการ VMnet0 (Type: Bridged)

  4. ตรง Bridged to: อย่าเลือก Automatic ให้เลือกชื่อ WiFi Adapter ของคุณโดยตรง

    • Keyword ที่ต้องหา: มองหาคำว่า Wireless, Wi-Fi, Intel, Realtek, หรือ Qualcomm

  5. กด OK

  6. กลับมาที่หน้าหลัก VMware คลิกขวาที่ชื่อ VM -> Settings

  7. ไปที่ Network Adapter

  8. เลือก Custom: Specific virtual network -> เลือก VMnet0 (Bridged)

การจัดการ Firewall และปัญหาการเชื่อมต่อ

ปัญหาที่พบบ่อยที่สุดเมื่อใช้งานโหมด Bridge คือคอมพิวเตอร์มองเห็นกัน (Ping เจอ) แต่ ROS2 มองไม่เห็นกัน (ros2 topic list ไม่ขึ้น) สาเหตุหลักมักเกิดจากระบบรักษาความปลอดภัยของ Windows

การตั้งค่า Windows Firewall (เครื่อง Host)

Windows Defender Firewall มักจะบล็อกข้อมูลที่ส่งมาจาก Ubuntu ใน VM เพราะมองว่าเป็น Traffic แปลกปลอม

วิธีแก้ปัญหาเบื้องต้น (เมื่อเชื่อมต่อไม่ได้):

  1. ที่ช่องค้นหาของ Windows พิมพ์ว่า "Windows Defender Firewall" แล้วกดเปิด

  2. เมนูด้านซ้าย เลือก "Turn Windows Defender Firewall on or off"

  3. เลือกติ๊ก Turn off Windows Defender Firewall ทั้งในส่วนของ Private network settings และ Public network settings

  4. กด OK

Warning

ข้อควรระวัง: การปิด Firewall จะทำให้เครื่องมีความเสี่ยง ควรทำเฉพาะตอนที่เชื่อมต่อกับหุ่นยนต์ในวงแลนที่เชื่อถือได้เท่านั้น และควร Turn On กลับคืนเมื่อใช้งานเสร็จ

การตั้งค่า Ubuntu Firewall (เครื่อง Guest)

ในบางกรณี Firewall ภายในตัว Ubuntu เอง (ufw) ก็อาจบล็อกการเชื่อมต่อได้เช่นกัน

คำสั่งตรวจสอบและปิด Firewall:

เปิด Terminal ใน Ubuntu แล้วพิมพ์:

# Check firewall status
sudo ufw status

# Disable firewall (Recommended for testing)
sudo ufw disable

เมื่อใช้งานเสร็จ สามารถเปิดคืนได้ด้วยคำสั่ง sudo ufw enable