เปิดตัวหุ่นยนต์ Jimu AstroBot ครูผู้ช่วยสอนการเขียนโปรแกรมคอมพิวเตอร์【รีวิว แกะกล่อง】


ช่วงหลายเดือนที่ผ่านมา ผมตามหาหุ่นยนต์ที่จะเอามาเป็นสื่อกลางผู้เรียนกับระหว่างการเขียนโปรแกรมคอมพิวเตอร์โดยมีเกณฑ์ที่ผมตั้งไว้ในใจว่าหุ่นยนต์นั้นต้องสามารถให้ผู้ใช้ (1) สั่งงานผ่านอุปกรณ์มือถือได้ (2) สั่งงานด้วยการเขียนโค้ดหรือเป็น User Interface ที่ใกล้เคียงกับการเขียนโค้ดมากที่สุด หน้าตาคล้าย Scratch หรือใช้ Scratch เลยจะดีมาก เพราะ Scratch นี่ถือเป็นภาษาพื้นฐานแบบบล็อกคำสั่งสำหรับการเรียนเขียนโปรแกรมเลยก็ว่าได้ครับ และข้อสุดท้าย คือ (3) ต้องราคาไม่แพง หลักหมื่นไม่ไหว เพราะเป้าหมายคืออยากจะต่อยอดไปได้ในหลายระดับชั้นครับ 

ออกแบบวิชาไว้กว้างๆ ว่ายังมีการเรียนการสอนในห้องเหมือนเดิม ใช้ภาษา Python เป็นหลักเหมือนทุกเทอมที่ผ่านมา เพียงแต่เพิ่มส่วนที่เป็นกิจกรรมการสั่งงานหุ่นยนต์ อาจจะเป็นกิจกรรมช่วงเย็นสักสองสามหนระหว่างเทอม เพื่อเพิ่มความน่าสนใจ สร้างความเข้าใจในการเขียนโค้ดที่เห็นเป็นรูปธรรม พอดีผมไปเจอ Blockly ที่พัฒนาโดย Google ซึ่งต่อยอดมาจาก Scratch อีกที แต่มันเจ๋งตรงที่สามารถแปลงบล็อกคำสั่งให้เป็นภาษาคอมพิวเตอร์ได้ เช่น JavaScript, PHP และ Python 

เมื่อเริ่มสืบค้นทางอินเทอร์เน็ต หุ่นยนต์ตัวแรกที่ตกหลุมรักคือ Ollobot ของ Robotis เพราะดูไม่ยุ่งยาก มี sensor ที่สามารถอ่านเส้นทางและสั่งงานด้วยเสียงได้ และนอกจากจะสามารถสั่งงานด้วย icon-based programming ที่ผู้ผลิตหุ่นยนต์สำหรับการศึกษาส่วนใหญ่ใช้กัน ยังสามารถสั่งงานด้วย Scratch ได้ด้วย เรียกว่าตอบโจทย์สุดๆ แต่ความฝันก็พังทลายเพราะ Robotis ไม่มีตัวแทนจำหน่ายในไทย* ครั้นจะสั่งซื้อจากต่างประเทศก็ดูจะลงทุนเกินเหตุ ถึงแม้ราคาจะตกประมาณ 3,600 บาท (ตกเกณฑ์ข้อ 3 ครับ) 

ทีนี้เลยต้องเพิ่มเกณฑ์อีกข้อครับ คือต้องมีตัวแทนจำหน่ายในประเทศไทย ผ่านไปอีกหลายเดือนผมก็ได้ตารางเปรียบเทียบประมาณนี้ 

  เซนเซอร์ เซอร์โวมอเตอร์ คู่มือออนไลน์ สื่อการสอน การควบคุม ซอฟต์แวร์ ตัวแทนจำหน่าย
NEOBOT มี มี ? 4 ระดับ อายุ 4-12 ปี รีโมทคอนโทรล ซอฟต์แวร์กรรมสิทธิ์ https://www.thailand-education...
Jimu มี มี อยู่ในแอปพลิเคชัน ? ผ่านแอปพลิเคชัน ซอฟต์แวร์ Blockly http://www.systems2000.co.th/
Mindstorms มี มี ? ? ? ซอฟต์แวร์กรรมสิทธิ์ http://www.gammaco.com

ได้รายชื่อแล้วก็ลองติดต่อพูดคุยกับตัวแทนของ Neobot เป็นรายแรกครับ พบว่ามันยังราคาสูงเกินไปหน่อยเพราะว่ามีชุดหุ่นยนต์ทั้งหมด 4 ระดับ แต่ละระดับต่อเนื่องกันครับ ตัวผมเล็งระดับ 3 ไว้ ก็หมายความว่าต้องมีระดับ 1 และ 2 ด้วย ซึ่งก็เป็นงบประมาณที่เพิ่มขึ้นมา อีกปัจจัยสำคัญคือสามารถควบคุมหุ่นยนต์ผ่านซอฟต์แวร์กรรมสิทธิ์ แบบ icon-based programming ได้เพียงอย่างเดียวทำให้ตัวเลือกนี้ตกไปครับ

สำหรับ Mindstorms ไม่ได้โทรหาตัวแทน เพราะรู้ว่าไม่มีปัญญาควักกระเป๋าจ่ายเอง (ฮา!) การทำงานซับซ้อนและเท่าที่ผมเข้าใจคือไม่มีภาษาที่เหมือน Scratch เพราะทาง Lego พัฒนาภาษาของตัวเอง ซึ่งเป็น icon-based programming ที่ใช้กดปุ่มเลือกคำสั่งจากรูปไอคอน ไม่ตอบโจทย์ของวิชาเช่นกัน

สุดท้ายก็มาถึง Jimu หุ่นยนต์จาก tech startup ที่ชื่อว่า UBTECH ตัวแทนในประเทศไทยคือ System 2000 ครับ ดูแล้วราคารับได้ และสามารถควบคุมการทำงานได้จากอุปกรณ์มือถือ สามารถสั่งการได้หลายวิธี และที่สำคัญคือสามารถสั่งการด้วย Blockly ได้ครับ ก็เลยตกลงใจเอาตัวนี้ละครับ 

หุ่นยนต์ Jimu นี่สามารถสร้างเป็นหุ่นยนต์ได้ 3 แบบครับ คือ หุ่นตีนตะขาบ หุ่นรถสำรวจ และหุ่นยนต์แบบ humanoid (แบบเบสิกมากๆ) ซึ่งแบบที่ผมดูแล้วเหมาะสมที่สุดสำหรับการสอนโปรแกรมมิ่งคือหุ่นสำรวจล้อตีนตะขาบ ด้วยเหตุผลที่ว่าเราสามารถสร้างโจทย์ปัญหาอะไรได้แบบหลากหลาย เช่นให้เดินตามเส้นทาง ให้หลบหลีกสิ่งกีดขวาง ให้ย้ายของจากที่หนึ่งไปอีกที่ด้วยมือของหุ่นยนต์ ถ้ามีสองหรือสามตัวก็จัดแข่งความสามารถเหล่านี้ได้เลย

รีวิวประสบการณ์การประกอบร่าง Jimu Astrobot หุ่นสำรวจล้อตีนตะขาบ

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

หน้ากล่อง Jimu AstroBot 

ปกในของกล่อง บอกรายละเอียดความสามารถของหุ่นยนต์

ปกชั้นในสุดแจกแจงรายละเอียดชิ้นส่วนของหุ่นยนต์

ก่อนจะเริ่มประกอบเพื่อความชัดเจนและสะดวกในการทำงานผมแนะนำว่าเราควรนำชิ้นส่วนมาเรียงตามรหัสให้เหมือนฝาด้านใน เอาให้เหมือนที่สุดเท่าที่จะทำได้ครับ เพราะมันหลายชิ้น ที่คล้ายๆ กันก็มี

ส่วนคู่มือการประกอบนั้น สามารถโหลดจาก App Store หรือ Google Play ได้ครับ เป็นคู่มือประกอบแบบสามมิติแอนิเมชัน สามารถดูขั้นตอนและหมุนดูชิ้นส่วนที่จะต่อเข้าหากันได้ สามารถดูได้ว่าชิ้นไหนจะต่อเข้าไปด้วยมุมไหน สะดวกมากครับ ถ้าสังเกตดีๆ จะเห็นว่าชิ้นส่วนจะมีสัญลักษณ์พิมพ์อยู่ ซึ่งสัญลักษณ์เหล่านี้ จะได้ใช้บ้างในการประกอบชิ้นส่วนสำคัญ เช่นการเข้าล็อกของชิ้นส่วนที่เชื่อมกับเซอร์โวมอเตอร์ในแต่ละจุด ประมาณว่าถ้าต่อผิดหุ่นอาจจะขยับไม่ได้ไปเลย

ผมใช้เวลาเรียงชิ้นส่วนตามฝาด้านใน เพราะความสะดวก และเพื่อตรวจสอบว่าชิ้นส่วนครบตามจำนวนที่ระบุไว้หรือไม่ ก็ผ่านไปเกือบชั่วโมงแล้วครับ เริ่มต่อจริงๆ ก็กินเวลาอีกสามชั่วโมง (แฮกๆ) ที่รู้สึกว่าใจร้ายไปหน่อยคือการต่อตีนตะขาบครับ คือให้ต่อที่ละเส้นเอง ข้างละ 41 เส้น พระเจ้า! เล่นเอาเหนื่อยครับ แต่พอประกอบร่างเรียบร้อย เปิดสวิตช์ เชื่อมต่อกับแอปพลิเคชันได้ ก็ใช้งานได้เลยครับ ขอย้ำนะครับ ว่าหุ่น Jimu นี่ เหมาะสำหรับเด็กอายุ 8 ขวบขึ้นไป เพราะมีชิ้นส่วนเล็กๆ อยู่เยอะเหมือนกัน

เปิดสวิตช์ด้านหลังตัวหุ่นก่อน

ไฟหน้าติดแล้วครับ

หน้าตา Jimu Mobile App ที่เราสามารถดาวน์โหลดโมเดล AstroBot ได้ครับ

เปิดเครื่องหุ่นยนต์ และเปิดสัญญาณ Bluetooth ของอุปกรณ์มือถือเพื่อเชื่อมต่อ

Jimu Mobile App ทำการเช็กอุปกรณ์ต่างๆ ของหุ่นยนต์


รีวิวประสบการณ์การสั่งการ Jimu Astrobot หุ่นสำรวจล้อตีนตะขาบ
เราสามารถสั่งการหุ่นยนต์ Jimu ได้สามวิธีครับ คือ (1) แบบชุดคำสั่งสำเร็จรูป เช่นสั่งให้เดินหน้า ถอยหลัง เลี้ยวซ้ายขวา หยิบของ ผ่านไอคอนคำสั่งเฉพาะ (2) แบบรีโมตคอนโทรลจากหน้าจอ (3) แบบชุดคำสั่งโปรแกรม ซึ่งวิธีสุดท้ายนี้คือวิธีที่ผมหวังว่าจะช่วยจุดประกายการเรียนรู้ให้กับผู้เรียน เพราะเราไม่ได้เรียนเขียนโปรแกรมแบบนามธรรมผ่านหน้าจอ ไม่ได้เขียนเพื่อคำนวณโจทย์ แต่เขียนเพื่อสั่งงานหุ่นยนต์ที่จับต้องได้ มีชิ้นส่วนควบคุมที่ไม่ซับซ้อน

Actions (คำสั่งสำเร็จรูป)

ชุดคำสั่งสำเร็จรูปคือการสั่งงานให้ Jimu ทำท่าทางที่มีการกำหนดไว้แล้ว ซึ่งมีท่าทางต่างๆ คือ Stand by (รอ), Cheer (เชียร์), Move forward (เดินหน้า), Move backward (ถอยหลัง), Turn Left (หันซ้าย), Turn Right (หันขวา), Pick up (หยิบของ), Place  (วางของ), Stretch (บิดขี้เกียจ), Angry (โกรธ), Boxing (ท่าชกมวย), Hug (กอด), Happy (ดีใจ), Clap (ตบมือ), Sleep (หลับ), Dance (เต้น), Pass (ท่าโบกรถ)

ในการสั่งงาน Actions นี้ ท่าทางที่ปรากฏในหน้าจอ และตัวหุ่นยนต์จะขยับไปด้วยกันเลยครับ ลองดูภาพประกอบได้เลยครับ 

นอกจากนี้ เรายังสามารถบันทึกท่าทางใหม่ๆ ให้หุ่นยนต์ของเราได้ด้วยคำสั่ง New Action (บันทึก action ใหม่) ด้วยการขยับเซอร์โวมอเตอร์แล้วให้หุ่นยนต์จดจำท่า เรียกว่า Pose, Record, Playback (PRP) 

Codings (เขียนโปรแกรมสั่ง)

การสั่งงานแบบเขียนโปรแกรมน่าจะเป็นไฮไลต์ของหุ่นยนต์ Jimu เลยก็ว่าได้ เพราะเป็นการสั่งงานด้วยภาษา ซึ่งพัฒนามาจากบล็อกคำสั่ง Blockly แต่มีข้อแตกต่างกันอยู่บ้างครับ ในหน้าของ Blockly นั้น มีการแบ่งประเภทชุดคำสั่งไว้คือการทำงานแบบตรรกะ (Logic) การทำงานวนลูป (Loops) งานทางคณิตศาสตร์ (Math) ตัวหนังสือ (Text) ลิสต์ (List) สี (Color) ตัวแปร (Variables) และ ชุดคำสั่ง (Functions) แต่สำหรับ Codings ของ Jimu ได้เพิ่มการสั่งงานเฉพาะของหุ่นยนต์เข้ามา นั้นคือ Event (เหตุการณ์) Move (การเคลื่อนที่) Show (การแสดงผลของหุ่นยนต์) และ Sensors (การควบคุมเซนเซอร์อินฟราเรด) 

นอกจากนี้ ยังมีการแบ่งประเภทคำสั่งใหม่ด้วยคือเอา Logic กับ Loops มารวมกับเป็น Control ซึ่งจริงๆ ก็ถือเป็นชุดคำสั่งโครงสร้างควบคุมที่เราเรียนกับในวิชาโปรแกรมคอมพิวเตอร์ ได้แค่ (a) selection หรือ logic และ (b) loop 

ด้วยชุดบล็อกคำสั่งเหล่านี้ เราสามารถสั่งให้หุ่นยนต์ Jimu ของเราแสดงท่าทางอารมณ์ต่างๆ ได้มากมายครับ ถ้าไม่รู้จะเริ่มยังไง ตัว Coding ยังมีตัวอย่างมาให้ดูเพียบเลย ลองดูตัวอย่าง Coding การสั่งให้ AstroBot “อยากกอด” ตามภาพนี้ได้ครับ

จากบล็อกคำสั่ง เรายังสามารถแสดงผลเป็นภาษา Swift ได้ด้วย

จากหน้าจอ Coding สามารถเลือกดู Sample Coding หรือ Swift code ได้

ลองเลือกดู Sample Coding ให้ Jimu แสดงถ้าอยากกอด (wants a hug)

นี่คือตัวอย่างบล็อกคำสั่ง จะเห็นว่าสีของบล็อกช่วยจำแนกประเภทคำสั่งอย่างชัดเจน 

ลองดู Swift Code บ้างครับ (ผมดูไม่รู้เรื่องนะครับ ภาษานี้คืออะไร?)

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

ไว้ถ้าเริ่มใช้จริงๆ แล้ว ผลเป็นอย่างไรจะมาอัปเดตกันอีกครั้งนะครับ


อัปเดต 14 ตุลาคม 2561 หลังการทำกิจกรรมหุ่นยนต์ครับ

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

ข้อดีที่พบ

  • นักเรียนไม่พบปัญหาการติดตั้ง mobile application เลย ไม่ว่าจะระบบ android หรือ iOS
  • หุ่นยนต์สามารถสลับการเชื่อมต่อไปมาระหว่างเครื่องควบคุมหลายเครื่องได้ เมื่อจะเชื่อมต่อ แค่เปิด Bluetooth และค้นหา เมื่อจะยกเลิกการเชื่อมต่อก็ปิดสัญญาณ Bluetooth เสีย เครื่องอื่นก็สามารถเชื่อมต่อได้แล้วครับ

ข้อจำกัดที่พบ

  • เสียงมอเตอร์ดังมาก ดังจนน่าตกใจเลยครับ (ขนาดสุนัขที่บ้านวิ่งกันหางจุกก้นเลยฮะ ฮา)
  • การควบคุมอินฟาเรดเซ็นเซอร์ตรงท้องของ Jimu AstroBot ทำได้ยากครับ เพราะตัวเลขกำหนดระยะใกล้ไกลที่มีอยู่ใน coding ไม่ได้ระบุว่าเป็นระยะอะไร เช่นเซนติเมตรหรือนิ้ว ลองผิดลองถูกกันอยู่นาน
  • แม้ว่าจะสามารถบันทึก coding ที่เขียนไว้ได้ แต่ขั้นตอนการบันทึกและเรียกกลับมาใช้ไม่สะดวกนัก โอกาสที่ผู้เรียนจะลืมบันทึก coding ไว้ และต้องกลับมาเริ่มเขียนใหม่มีสูงมาก
  • ถ้าผู้เรียนใช้สมาร์ทโฟนในการเชื่อมต่อ จะพบว่าหน้าจอเล็กเกินไปที่จะเขียนภาษาพื้นฐานแบบบล็อกคำสั่ง
  • ข้อสุดท้ายนี่อาจจะเป็นข้อชำรุดของสินค้านะครับ แต่ผมสังเกตว่าน้อง Jimu เขาเดินไม่ตรง แถมน็อตสายพานล้อหลุดง่าย ต้องคอยสังเกตครับ


บันทึกเพิ่มเติม

ในช่วงที่ทำกิจกรรม ผมก็ไปเจออีกตัวเลือกนึงครับคือ micro:bit (https://makecode.microbit.org/) แผงวงจรสายพันธุ์ผู้ดีอังกฤษ ตัวนี้น่าสนใจครับ เพราะบริษัท inex ของคนไทยเอามาพัฒนาต่อยอดเป็นรถหุ่นยนต์วิ่งได้จริง ราคาไม่แพง




อ้างอิง
UBTECH Jimu Robot https://ubtrobot.com/collectio...

LEGO Mindstorms https://www.lego.com/en-us/min...

Neobot https://www.thailand-education...

รีวิว Jimu ภาษาไทย

เว็บแบไต๋ https://www.beartai.com/review... 

เว็บ mxphone (ละเอียดสุดๆ ครับ) https://www.mxphone.net/270917...

หมายเหตุ

* ถ้าผมเข้าใจไม่ผิด True Robotics นำเข้า Darwin Mini จาก Robotis นะครับ แต่โจทย์ของวิชาไม่ได้อยากได้ Humanoid ครับ https://www.macthai.com/2017/0...

หมายเลขบันทึก: 649310เขียนเมื่อ 3 สิงหาคม 2018 16:04 น. ()แก้ไขเมื่อ 14 ตุลาคม 2018 10:31 น. ()สัญญาอนุญาต: ครีเอทีฟคอมมอนส์แบบ แสดงที่มา-ไม่ใช้เพื่อการค้า-ไม่ดัดแปลงจำนวนที่อ่านจำนวนที่อ่าน:


ความเห็น (0)

ไม่มีความเห็น

พบปัญหาการใช้งานกรุณาแจ้ง LINE ID @gotoknow
ClassStart
ระบบจัดการการเรียนการสอนผ่านอินเทอร์เน็ต
ทั้งเว็บทั้งแอปใช้งานฟรี
ClassStart Books
โครงการหนังสือจากคลาสสตาร์ท