กลับไปหน้ารวมไฟล์
an-autonomous-wheelchair-meets-the-prime-minister-of-china-f78182.md

เรื่องนี้เคยตีพิมพ์ครั้งแรกที่ platis.solutions/blog

ต้นแบบรถเข็นอัตโนมัติ

เมื่อ AVR จับมือกับ AR ก็ได้กำเนิดเจ้ารถเข็นอัตโนมัติตัวนี้ขึ้นมา จนได้ไปโชว์ตัวให้ท่านนายกรัฐมนตรีจีน หลี่ เค่อเฉียง ชมในงานสัปดาห์นวัตกรรมและธุรกิจเริ่มต้น 2016 ที่เซินเจิ้น!

ระหว่างวันที่ 8 ถึง 12 ตุลาคม พี่บินไปเซินเจิ้นเพื่อร่วมแฮกกาธอนที่จัดโดยเลอโนโว ซึ่งเน้นไปที่การใช้เทคโนโลยี AR (Augmented Reality) สุดล้ำของกูเกิลอย่าง Project Tango ที่ถูกนำมาใช้ในสมาร์ทโฟนรุ่นล่าสุดของยักษ์ใหญ่จีนอย่าง Phab 2 Pro โปรเจกต์ที่ทีมพี่กับเพื่อนพัฒนาขึ้นระหว่างอยู่ที่นั่น ก็คือเจ้า รถเข็นอัตโนมัติ นี่แหละ ซึ่งมันถูกเลือกให้ไปโชว์ให้รองผู้นำจีนอย่างหลี่ เค่อเฉียง ชมด้วย เอาล่ะ เริ่มเล่าให้ฟังตั้งแต่ต้นเลยดีกว่า

เกือบปีที่แล้ว หลังจากความสำเร็จของ World’s first Android Autonomous Vehicle พี่ก็ได้รับการติดต่อจากผู้จัดการโปรแกรมของกูเกิลที่ดูแล Project Tango ซาราห์ คอบบ์ ซึ่งเสนอให้ทีมพี่ยืมแท็บเล็ตที่รองรับ Tango มาสองเครื่อง เพื่อเพิ่มความสามารถให้รถอัตโนมัติของพวกเราด้วยฟีเจอร์ AR สุดเจ๋งที่เทคโนโลยีของกูเกิลมีให้

พูดให้ชัดคือ อุปกรณ์มือถือที่ใช้ Project Tango จะมาพร้อมกับฮาร์ดแวร์และซอฟต์แวร์ ซึ่งเปิดให้ใช้งานผ่าน API ที่ใช้ง่าย ทำให้อุปกรณ์สามารถรับรู้สภาพแวดล้อมรอบตัวและระบุตำแหน่งของตัวเองในพื้นที่สามมิติได้ ฟังก์ชันหลักของ Project Tango สามารถสรุปได้จากสาม แนวคิด:

  • Motion Tracking
  • Area Learning
  • Depth Perception.

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

สมาชิกบางคนในทีมที่อยู่เบื้องหลัง Android Autonomous Vehicle เห็นศักยภาพมหาศาลของเทคโนโลยีนี้ จึงร่วมกันก่อตั้งสตาร์ทอัพกับสมาชิกจากสวีเดนและจีน ชื่อว่า Golden Ridge, โดยมีเป้าหมายเพื่อมอบ หุ่นยนต์แห่งอนาคตให้ทุกคนเข้าถึงได้! Golden Ridge Robotics มุ่งหวังที่จะทำให้ AR เป็นที่นิยม และผ่านมันไปเปลี่ยนแปลงชีวิตของผู้คนทั่วไป โดยให้พวกเขาได้มีโอกาสเก็บเกี่ยวผลประโยชน์จากความก้าวหน้าทางเทคโนโลยีล่าสุด ด้วยต้นทุนที่จับต้องได้ ผ่านการนำอุปกรณ์มือถือที่มีอยู่แล้วกลับมาใช้ใหม่

โลโก้ Golden Ridge Robotics

ปลายเดือนกันยายน ซีอีโอของ Golden Ridge และเพื่อนร่วมชั้น Jiaxin Li, โทรมาหาพี่และพูดด้วยน้ำเสียงตื่นเต้นสุดๆ เกี่ยวกับโอกาสที่พลาดไม่ได้ เลอโนโวกำลังจะจัดแฮกกาธอนที่เซินเจิ้น และไอเดียที่เขาส่งไปไม่เพียงแต่ได้รับการอนุมัติ แต่ยังถูกเลือกให้ไปนำเสนอต่อท่านนายกรัฐมนตรีจีน หลี่ เค่อเฉียง ที่กำลังจะมาเยี่ยมชมนิทรรศการซึ่งแฮกกาธอนเป็นส่วนหนึ่งของงานนั้น แน่นอนว่านี่จะเกิดขึ้นได้ก็ต่อเมื่อเราสามารถส่งมอบต้นแบบที่พอใช้ได้ภายในวันที่ 12 ตุลาคม

ไอเดียสุดล้ำของ Jiaxin ก็คือ รถเข็นไฟฟ้าอัตโนมัติ ที่ใช้อุปกรณ์ Project Tango ในการเรียนรู้พื้นที่และนำทางผ่านมันได้ แถมยังใช้ Computer Vision และ Machine Learning ในการตีความวัตถุและผู้คนรอบข้าง เพื่อนำทางได้อย่างปลอดภัยและมีประสิทธิภาพมากขึ้นอีกด้วย ของแบบนี้มันช่วยยกระดับคุณภาพชีวิตของผู้คนได้อย่างมหาศาลเลยนะตัว!

โมเดล 3D ของรถเข็นไฟฟ้าอัตโนมัติ

เพราะมันใช้สมาร์ทโฟนราคาไม่แพงและแอปพลิเคชัน Android เป็นพื้นฐาน ราคาของมันจึงถูกกว่าวิธีการอื่นๆ ในตลาดอยู่หลายเท่าตัวเลยทีเดียว ลองจินตนาการดูสิว่า ถ้ามีรถเข็นที่เราสามารถ "สั่ง" ให้มันไปยังจุดต่างๆ ภายในบ้านได้ แค่ผ่านการแตะหน้าจอมือถือไม่กี่ครั้ง! Jiaxin เคยรวมทีมกับนักเรียนและนักวิจัยสุดเก่งจากจีนมาก่อนแล้ว (Yin Jiao, Sifan Lu, Dapeng Liu, Yifeng Huang, Dong Dong, Chen Liang, Junfeng Wu, Liu Yang) แต่ก็ยังอยากได้ความรู้ด้าน Embedded ของผมไปช่วยเสริม โอกาสที่จะได้สร้างอะไรที่เปลี่ยนโลกและได้พบกับนายกรัฐมนตรีจีนนี่มันดีเกินกว่าจะปล่อยผ่าน ผมเลยขอลางานไม่กี่วัน และก่อนจะรู้ตัว ผมก็ได้วีซ่า 5 วันชั่วคราวเพื่อไปเซินเจิ้นแล้ว ผ่านด่านลั่วฮูที่กั้นระหว่างฮ่องกงกับจีนแผ่นดินใหญ่!

เซินเจิ้น - หัวเฉียงเป้ย
ตึกระฟ้าในเซินเจิ้น

การลงมือทำจริง: SLAM และการนำทางที่แม่นยำ

โปรเจกต์นี้เผยให้เห็นเลเยอร์ที่ซ่อนอยู่เบื้องหลังการทำงานง่ายๆ อย่างการเคลื่อนที่ไปยังตำแหน่งที่กำหนด หัวใจของระบบคือกระบวนการ Simultaneous Localization and Mapping (SLAM) ซึ่งถูกเปิดใช้งานโดยอุปกรณ์ Project Tango กระบวนการนี้เกี่ยวข้องกับเลเยอร์เชิงแนวคิดหลายชั้น:

  • เลเยอร์รับรู้และสร้างแผนที่: Lenovo Phab 2 Pro ที่มีเทคโนโลยี Project Tango ทำหน้าที่เป็นสมองประมวลผลและประสาทสัมผัสความละเอียดสูงของระบบ มันใช้การติดตามการเคลื่อนไหว การเรียนรู้พื้นที่ และการรับรู้ความลึกเพื่อวัดสภาพแวดล้อม 360 องศา และสร้างแผนที่ 3D ของพื้นที่นั้นๆ ขึ้นมา ซึ่งจะถูกบันทึกเป็น "Area Description File"
  • เลเยอร์แปลงสัญญาณและควบคุม: Arduino Mega 2560 ทำหน้าที่เป็นตัวควบคุมกลาง มันรับคำสั่งนำทางระดับสูง (ความเร็วและค่าผิดพลาดของทิศทาง) จากโทรศัพท์ผ่าน Bluetooth Low Energy (BLE) และแปลงเป็นสัญญาณที่แม่นยำสำหรับไดรเวอร์มอเตอร์
  • เลเยอร์ตรรกะการประมวลผล: โค้ดบน Arduino ใช้กลยุทธ์ "sequential decoding" โดยใช้ ไลบรารี Smartcar พร้อมกับคอนโทรลเลอร์ PID (Proportional-Integral-Derivative) สองตัวแยกกัน: ตัวหนึ่งสำหรับรักษาความเร็วเป้าหมาย และอีกตัวหนึ่ง ซึ่งพัฒนาขึ้นระหว่างฮาแคทอน เพื่อปรับมุมเลี้ยวแบบไดนามิกตามค่าผิดพลาดจากทิศทางเป้าหมายที่ได้รับจากโทรศัพท์
  • เลเยอร์ขับเคลื่อน: บอร์ดควบคุมมอเตอร์ที่ทำขึ้นเอง (แนวคิดคล้ายกับไดรเวอร์กระแสสูงอย่าง BTS7960) ให้พลังงานและการควบคุมที่จำเป็นสำหรับมอเตอร์ของรถเข็น แปลงสัญญาณจาก Arduino เป็นการเคลื่อนไหวทางกายภาพ

ระบบที่เราสร้างขึ้น ประกอบด้วย Lenovo Phab 2 Pro, ซึ่งเป็นสมองที่ควบคุม Arduino Mega ผ่านการเชื่อมต่อ BLE และส่งสัญญาณต่อไปยังบอร์ดควบคุมมอเตอร์ที่ทำขึ้นเองสองบอร์ด บนโทรศัพท์ มีแอปพลิเคชัน Android ที่สร้างจาก Unity ซึ่งให้ผู้ใช้สามารถสแกนและ "สอน" พื้นที่ให้กับโทรศัพท์ได้ จากนั้นพื้นที่นั้นจะถูกบันทึกเป็น "Area Description File" หลังจากนั้น ผ่านฟีดกล้องสดของโทรศัพท์ ผู้ใช้ก็แค่แตะจุดต่างๆ บนหน้าจอเพื่อกำหนด Waypoint ที่รถเข็นควรจะวิ่งตาม

ขอยกตัวอย่างให้เห็นภาพนะ ทุกอย่างเริ่มจากการสแกนห้องหรือบ้าน ซึ่งทำได้ง่ายๆ แค่เลือกฟังก์ชันที่เหมาะสมในแอปพลิเคชันแล้วถือโทรศัพท์เดินไปรอบๆ พอสแกนเสร็จแล้ว สมมติว่าอยากให้รถเข็นวิ่งผ่านประตู ก็แค่เล็งโทรศัพท์ไปที่ประตูนั้นแล้วผู้ใช้ก็แค่คลิกเพื่อสร้าง Waypoint ตอนนั้นซอฟต์แวร์ Project Tango จะสร้างโมเดลของพื้นที่ไว้แล้ว และจะรู้ว่าจุดที่เลือกอยู่อย่างไรในโมเดลนั้น สุดท้ายก็แค่เปรียบเทียบตำแหน่งและทิศทางปัจจุบันของโทรศัพท์กับตำแหน่งและทิศทางที่ต้องการ เพื่อคำนวณความเร็วและมุมที่รถเข็นควรจะเคลื่อนที่ จำไว้ว่า เพราะโทรศัพท์อยู่ในพื้นที่ที่สแกนไว้แล้ว มันจะ "รู้เองได้อย่างน่าอัศจรรย์" ว่าตัวมันอยู่ที่ไหน ขอบคุณเทคโนโลยีสุดเจ๋งจาก Google และ Lenovo นั่นแหละ!

ภาพตัวอย่างแอปพลิเคชัน

พอสั่งให้รถเข็นเริ่มตามจุดที่กำหนด แอปก็จะส่งความเร็วที่รถควรวิ่งไป พร้อมกับค่าความเบี่ยงเบน (error) จากทิศทางที่ต้องการในตอนนั้น รถเข็นที่รันไลบรารี Smartcar อยู่ ก็จะใช้คอนโทรลเลอร์ PID สองตัวแยกกัน ตัวหนึ่งคุมความเร็ว อีกตัวคุมมุมเลี้ยวแบบปรับค่าตามความเบี่ยงเบนจากเป้าหมายในเวลาจริง คอนโทรลเลอร์คุมความเร็วนี่มีอยู่ในไลบรารีแล้ว งานของเราตอนแข่งเลยเน้นไปที่การพัฒนาและปรับแต่งอัลกอริทึมชดเชยมุมเลี้ยวแทน น้องๆ อยากดูโค้ด Arduino บนรถเข็นก็ได้นะ แต่ต้องบอกก่อนว่ามันใช้ไลบรารี Smartcar จาก branch hackathon ซึ่งตอนที่เขียนอยู่นี้ยังไม่ได้ merge เข้า master ส่วนโค้ดแอป Android ยังไม่ปล่อยออกมาให้ดูครับ

บอร์ด Arduino กับมอเตอร์คอนโทรลเลอร์
Jiaxin Li กำลังนำเสนอทีมของเรา

มีอีกฟีเจอร์เจ๋งๆ ที่เราทำ prototype ไว้แต่ยังไม่ทันเอามารวมกันตอนแข่ง คือระบบตรวจจับและระบุวัตถุแบบเรียลไทม์ ด้วย Computer Vision และ Machine Learning ฟีเจอร์นี้จะช่วยให้ระบบเข้าใจสภาพแวดล้อมรอบตัวได้ดีขึ้น และเปิดทางให้มีเคสใช้งานที่น่าสนใจมากๆ เช่น สั่งให้รถเข็นพาผู้ใช้ไปหาวัตถุที่ตำแหน่งเปลี่ยนไปได้ เช่น สั่งให้พาไปหาแก้วน้ำที่อยู่ใกล้ที่สุด เป็นต้น งานนี้จัดไปวัยรุ่น!

การตรวจจับวัตถุแบบเรียลไทม์ด้วย Machine Learning
การตรวจจับวัตถุแบบเรียลไทม์ด้วย Machine Learning

ระหว่างพัฒนาก็เจอปัญหามากมายครับ ตั้งแต่ระบบบังคับเลี้ยวของรถเข็นตอบสนองช้ากับการเปลี่ยนทิศทางแบบฉับพลัน ไปจนถึงการหาวิธีสร้าง Area Description File ให้ถูกต้อง แต่หลังจากการสู้งานแบบแทบไม่ได้นอน ทุกอย่างก็สำเร็จลุล่วง และให้ความรู้สึกพึงพอใจสุดๆ ไปเลย! ดูวิดีโอ prototype กันเลย:

ทีมงานจัดงานพอใจกับผลงานของเรามาก และให้สัญญาณไฟเขียวให้เราได้นำเสนอผลงานต่อหน้าท่านหลี่ เค่อเฉียงด้วยตัวเอง รู้สึกภูมิใจมากครับ ไม่ใช่แค่ท่านนายกฯ ได้เห็นงานของเรา แต่เรายังได้พูดคุยและจับมือท่านเป็นการส่วนตัวอีกด้วย สู้งานนะน้อง! ห้ามช็อตนะตัวนี้

ท่านนายกรัฐมนตรีหลี่ เค่อเฉียง ของจีนกำลังพบปะกับรถเข็นอัตโนมัติของเรา

สถานีโทรทัศน์ CCTV ซึ่งเป็นช่องที่ใหญ่และทรงอิทธิพลที่สุดของจีน รวมถึงช่องและสื่อข่าวอื่นๆ อีกมากมายได้รายงานข่าวงานนี้และโครงการของเราเป็นพิเศษ ส่วนรูปที่ท่านนายกฯ คุยกับเรานั้น ก็ปรากฏอยู่ในบทความบนเว็บไซต์ทางการของคณะรัฐมนตรีจีนด้วยนะ ไปดูกันในวิดีโอด้านล่าง หลังจากนาทีที่ 00:24 เลย

ต่อยอดในอนาคต

ตัวต้นแบบแสดงให้เห็นถึงการนำทางอัตโนมัติหลักๆ แล้ว แต่แพลตฟอร์มนี้ยังมีที่ให้พัฒนาได้อีกเพียบ:

  • อินเทอร์เฟซผู้ใช้ขั้นเทพ: เพิ่มจอ OLED เล็กๆ ที่สถานีควบคุมเพื่อแสดงข้อมูลแบบเรียลไทม์ เช่น "ระดับแบตเตอรี่ (%)" และ "ระยะทางถึงจุดหมาย (ม.)"
  • สั่งงานด้วยเสียง: ต่อโมดูลควบคุมด้วยเสียงเพื่อให้สั่งงานด้วยภาษาธรรมชาติได้ (เช่น "พาฉันไปที่ครัวที")
  • เชื่อมต่อคลาวด์และส่งข้อมูล: ทำแดชบอร์ดเว็บเพื่อตรวจสอบสถานะรถเข็นจากระยะไกล ติดตามประวัติการใช้งาน และรับอัปเดตผ่าน WiFi ได้
  • AI พิชิตงาน: บูรณาการแมชชีนเลิร์นนิงจากต้นแบบสำหรับโหมด "ตามคน" ซึ่งจะทำให้รถเข็นสามารถติดตามผู้ดูแลหรือเพื่อนได้อัตโนมัติโดยใช้การติดตามผ่านกล้องและ AI

สุดท้ายแต่ไม่ท้ายสุด ต้องให้เครดิตทีม Golden Ridge ทุกคนที่ผมอยากขอบคุณสำหรับความพยายามและการต้อนรับที่ยอดเยี่ยมในจีน: Jiaxin Li, Yin Jiao, Sifan Lu, Dapeng Liu, Yifeng Huang, Dong Dong, Chen Liang, Junfeng Wu, Liu Yang. เซินเจิ้นเป็นเมืองที่เจ๋งมาก และเพราะผมไม่มีเวลาไปสำรวจให้ทั่ว ผมเลยสัญญาว่าจะกลับไปอีกแน่นอน!

Decepticon ตัวเป็นๆ
ทีม Golden Ridge กับ CTO ของ Lenovo

ข้อมูล Frontmatter ดั้งเดิม

apps:
  - "1x Arduino IDE"
  - "1x ROS (Robot Operating System) - Optional"
author: "shassandanish1"
category: "Motors & Robotics"
components:
  - "1x Arduino MEGA 2560"
  - "1x RPLIDAR A1 (Laser Scanner)"
  - "1x NEO-6M GPS Module"
  - "2x High-Torque DC Hub Motors"
  - "1x BTS7960 Motor Driver (High Current)"
  - "1x Ultrasonic Sensor (HC-SR04 for backup)"
  - "1x 24V 20Ah LiFePO4 Battery"
  - "1x Custom Metal Wheelchair Frame"
  - "20x Jumper wires (generic)"
  - "1x Micro-USB Cable"
description: "เมื่อ AVR จับมือกับ AR แล้วเอา Arduino มาผสมกับ Google's Project Tango ตึงๆ! งานนี้ได้วีลแชร์ขับเคลื่อนอัตโนมัติเทพๆ เกิดขึ้นมา ช่วยยกระดับชีวิตคนนับล้านเลยนะเพื่อน! จัดไปแบบไม่ต้องคิดมาก"
difficulty: "Intermediate"
documentationLinks: []
downloadableFiles:
  - "https://github.com/platisd/tango-hackathon/tree/master/wheelchair-tango"
encryptedPayload: "U2FsdGVkX19ZwclRSnjPadqwtTfUXkRS4AWU97T/JQcsp/l9AuCZm/IB3aVQ7XCjgsE7Og8kjRX8Hm+y9DxL+MlgpdUqblqbKYyy9yhQH78="
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/an-autonomous-wheelchair-meets-the-prime-minister-of-china-f78182_cover.png"
lang: "en"
likes: 8
passwordHash: "bf149ddf9c4ab719a3e7eb0fedeb5d682a0990feb0d3e0ee8fdc0ceb742f7152"
price: 2450
seoDescription: "An advanced and playsomely interactive autonomous wheelchair for beginners interested in Arduino SLAM navigation and GPS-to-position projects."
tags:
  - "autonomous"
  - "wheelchair"
  - "lidar"
  - "gps"
  - "arduino"
  - "advanced"
title: "วีลแชร์อัจฉริยะเจอท่านนายกฯจีน! งานง่ายแต่หล่อ วัยรุ่นต้องลอง"
tools: []
videoLinks:
  - "https://www.youtube.com/embed/Z0ePACkgxk0"
  - "https://www.youtube.com/embed/2r7YIvmyMeY"
  - "https://www.youtube.com/embed/ITWDeryHaLQ"
views: 9472