Your browser is outdated!

To ensure you have the best experience and security possible, update your browser. Update now

×

Anantasak Tippayachai

Anantasak Tippayachai

CV Resume Anantasak

Business analysis ,Risk management ,Project management
IoT , Cloud , Blockchain
BigData , Smalldata , Spark
AI , Agile development
Current vs, best-in-class gap analysis
48 years old
Bangkok (10520) Thailand
Available soon Open to opportunities
I have working 20 years in IT professional service area at IBM Thailand. Broad skill on both technical and business. In-depth on system analyze and problem determine.
Most key skill is on delivery IT solution using IBM hardware, software and other 3rd parties’ product.

My focus industries for the past 5 years are on Banking and Government with experiences in many solution areas such as Core Bank system integration , Private and Public Cloud.
Resume created on DoYouBuzz
IoT กับ แนวทาง AI iotlover.blogspot.com
16 Mar 2024
เอดจ์คอมพิวเตอร์ + AI = เอดจ์เอไอ
19 Jan 2024

เอดจ์คอมพิวเตอร์ + AI = เอดจ์เอไอ ( Edge AI ) : ปัญญาประดิษฐ์ที่ชาญฉลาดกว่า เร็วกว่า และปลอดภัยกว่า

Edge AI รวมกับ Generative AI


  • Edge AI คือการนำเอาปัญญาประดิษฐ์ (AI) มาประยุกต์ใช้กับอุปกรณ์ปลายทาง (Edge device) เช่น อุปกรณ์ IoT (Internet of Things) อุปกรณ์เคลื่อนที่ อุปกรณ์อุตสาหกรรม หรืออุปกรณ์เครือข่าย หรือแม้กระทั่งมือถือ ยุคใหม่ เพื่อทำการวิเคราะห์ข้อมูลและประมวลผลข้อมูลแบบเรียลไทม์ (Real-time) โดยไม่ต้องส่งข้อมูลไปประมวลผลบนคลาวด์ (Cloud)

    ตัวอย่างของ Edge AI เช่น

    • กล้องวงจรปิดอัจฉริยะ (Smart camera) ที่สามารถใช้ AI เพื่อตรวจจับใบหน้า วัตถุ หรือการเคลื่อนไหว
    • อุปกรณ์ตรวจจับมลพิษทางอากาศ (Air quality sensor) ที่สามารถใช้ AI เพื่อตรวจสอบคุณภาพอากาศและแจ้งเตือนหากมีมลพิษเกินค่ามาตรฐาน
    • อุปกรณ์ทางการแพทย์ (Medical device) ที่สามารถใช้ AI เพื่อวินิจฉัยโรคหรือติดตามอาการของผู้ป่วย

    Edge AI มีข้อดีหลายประการ เช่น

    • ลดเวลาแฝง (Latency) ในการประมวลผลข้อมูล เนื่องจากข้อมูลไม่ต้องถูกส่งไปประมวลผลบนคลาวด์
    • เพิ่มความปลอดภัยของข้อมูล เนื่องจากข้อมูลไม่ถูกส่งไปเก็บบนคลาวด์
    • ปรับปรุงประสิทธิภาพการใช้พลังงาน เนื่องจากอุปกรณ์ปลายทางไม่จำเป็นต้องส่งข้อมูลจำนวนมากไปยังคลาวด์
    ความแตกต่างระหว่าง Edge AI และ Cloud AI สรุปได้ดังนี้


    Edge AI และ Cloud AI มีข้อดีและข้อเสียที่แตกต่างกัน ดังนั้นจึงควรเลือกเทคโนโลยีที่เหมาะสมกับการใช้งาน เช่น หากต้องการประมวลผลข้อมูลแบบเรียลไทม์และให้ความสำคัญกับความปลอดภัยของข้อมูล Edge AI จะเป็นตัวเลือกที่ดีกว่า แต่ถ้าต้องการประมวลผลข้อมูลที่มีปริมาณมากและต้องการเข้าถึงข้อมูลได้จากทุกที่ Cloud AI จะเป็นตัวเลือกที่ดีกว่า

ยกตัวอย่างจากมือถือรุ่นใหม่อย่าง Samsung S24 ที่สามารถประมวลผลเสียงและแปลได้ทันทีทันใด หรือ Seemless Translation นั้น เป็นตัวอย่างหนึ่งของการนำ Edge AI มาใช้ในชีวิตประจำวัน เทคโนโลยีนี้ช่วยให้ผู้ใช้สามารถแปลภาษาได้แบบเรียลไทม์โดยไม่ต้องเชื่อมต่ออินเทอร์เน็ต ซึ่งมีประโยชน์อย่างมากสำหรับการเดินทางท่องเที่ยวหรือติดต่อสื่อสารกับผู้คนจากต่างวัฒนธรรม

Live Translate Galaxy S24


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

  • การประมวลผลภาพและวิดีโอแบบเรียลไทม์ เช่น การตรวจจับใบหน้า วัตถุ หรือการเคลื่อนไหว
  • การประมวลผลเสียงและภาษาแบบเรียลไทม์ เช่น การแปลภาษา การจดจำเสียง หรือการสร้างข้อความ
  • การประมวลผลข้อมูลในอุปกรณ์ IoT เช่น การควบคุมอุปกรณ์อัจฉริยะ การติดตามข้อมูลสุขภาพ หรือการวิเคราะห์ข้อมูลการผลิต

นอกจากนี้ Edge AI ยังจะผสานรวมกับเทคโนโลยีอื่นๆ เช่น 5G, Blockchain และ Quantum Computing เพื่อเพิ่มประสิทธิภาพและขีดความสามารถในการใช้งานมากยิ่งขึ้น

ตัวอย่างการใช้งาน Edge AI ในอนาคตที่อาจเกิดขึ้น ได้แก่

  • รถยนต์ไร้คนขับ จะใช้ Edge AI เพื่อประมวลผลข้อมูลจากเซ็นเซอร์ต่างๆ เช่น กล้อง เรดาร์ และ LiDAR เพื่อควบคุมรถยนต์ให้เคลื่อนที่ได้อย่างปลอดภัย
  • หุ่นยนต์อุตสาหกรรม จะใช้ Edge AI เพื่อทำงานอัตโนมัติและตัดสินใจได้อย่างชาญฉลาด
  • เมืองอัจฉริยะ จะใช้ Edge AI เพื่อรวบรวมและวิเคราะห์ข้อมูลต่างๆ เช่น ข้อมูลจราจร ข้อมูลสิ่งแวดล้อม และข้อมูลความปลอดภัย เพื่อปรับปรุงคุณภาพชีวิตของประชาชน

จะเห็นได้ว่า Edge AI มีศักยภาพที่จะพลิกโฉมโลกของเราไปอย่างสิ้นเชิง โดยเทคโนโลยีนี้จะช่วยให้เราใช้ชีวิตได้อย่างสะดวกสบายและปลอดภัยมากขึ้น

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

อนาคตของ Edge AI ในรูปแบบ Generative AI มีโอกาสพัฒนาต่อเนื่องได้หลายทิศทาง ดังนี้

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

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

  • การผสานรวมกับเทคโนโลยีอื่น ๆ Generative AI ยังสามารถผสานรวมกับเทคโนโลยีอื่น ๆ เช่น 5G, Blockchain และ Quantum Computing เพื่อเพิ่มประสิทธิภาพและขีดความสามารถในการใช้งานมากยิ่งขึ้น เช่น การใช้ 5G เพื่อส่งข้อมูลภาพและวิดีโอแบบเรียลไทม์ไปยังอุปกรณ์ Edge AI หรือการใช้ Blockchain เพื่อปกป้องข้อมูลส่วนตัวและความปลอดภัยของข้อมูล

ตัวอย่างการใช้งาน Edge AI ในรูปแบบ Generative AI ในอนาคตที่อาจเกิดขึ้น ได้แก่

  • การสร้างภาพและวิดีโอแบบเรียลไทม์ อุปกรณ์ Edge AI สามารถใช้ Generative AI เพื่อสร้างภาพและวิดีโอแบบเรียลไทม์ เช่น การสร้างภาพเสมือนจริง (Virtual Reality) หรือการสร้างภาพเสริมความเป็นจริง (Augmented Reality) เพื่อช่วยให้ผู้ใช้งานสามารถมองเห็นโลกรอบตัวได้ในรูปแบบใหม่ ๆ

  • การแปลภาษาแบบเรียลไทม์ อุปกรณ์ Edge AI สามารถใช้ Generative AI เพื่อแปลภาษาแบบเรียลไทม์ เช่น การแปลภาษาแบบปากเปล่าหรือแบบข้อความ ซึ่งจะช่วยให้การสื่อสารระหว่างผู้คนจากต่างวัฒนธรรมเป็นไปได้อย่างราบรื่น

  • การสร้างเนื้อหาสร้างสรรค์ อุปกรณ์ Edge AI สามารถใช้ Generative AI เพื่อสร้างเนื้อหาสร้างสรรค์ เช่น การสร้างเพลง บทกวี หรือผลงานศิลปะ ซึ่งจะช่วยให้ผู้คนสามารถสร้างสรรค์ผลงานได้อย่างง่ายดายและรวดเร็ว

จะเห็นได้ว่า Edge AI ในรูปแบบ Generative AI มีศักยภาพที่จะพลิกโฉมโลกของเราไปอย่างสิ้นเชิง โดยเทคโนโลยีนี้จะช่วยให้เราใช้ชีวิตได้อย่างสะดวกสบายและสร้างสรรค์มากขึ้น ซึ่งการนำไปใช้เพื่อให้เกิดประโยชน์ นั้น เราควรมี AI Ethic เพื่อครอบคลุมการใช้งาน และ บทบาทที่จัดเจนมากยิ่งขึ้น หลายๆประเทศ ก็มีมาตรฐาน ของ AI โดยกำหนด ISO BS/IEC 42001:2023 ซึ่งหลายๆ บริษัทได้นำมาปรับใช้กันบ้างแล้ว อนาคตของ Edge AI ขึ้นอยู่กับ ท่านผู้อ่าน และ การนำไปใช้ให้เกิดประโยชน์ แก่ตัวเอง และ คนรอบข้าง


บทสรุป

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

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

  • รถยนต์ไร้คนขับ จะใช้ Edge AI เพื่อประมวลผลข้อมูลจากเซ็นเซอร์ต่างๆ เช่น กล้อง เรดาร์ และ LiDAR เพื่อควบคุมรถยนต์ให้เคลื่อนที่ได้อย่างปลอดภัย
  • หุ่นยนต์อุตสาหกรรม จะใช้ Edge AI เพื่อทำงานอัตโนมัติและตัดสินใจได้อย่างชาญฉลาด
  • เมืองอัจฉริยะ จะใช้ Edge AI เพื่อรวบรวมและวิเคราะห์ข้อมูลต่างๆ เช่น ข้อมูลจราจร ข้อมูลสิ่งแวดล้อม และข้อมูลความปลอดภัย เพื่อปรับปรุงคุณภาพชีวิตของประชาชน

จะเห็นได้ว่า Edge AI มีศักยภาพที่จะสร้างการเปลี่ยนแปลงครั้งใหญ่ให้กับโลกของเรา โดยเทคโนโลยีนี้จะช่วยให้เรามีชีวิตที่ดีขึ้นและยั่งยืนมากขึ้น


ข้อคิด

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






AI , HealthTech และ อุปกรณ์ IoT สู่ Smart Hospital
20 Jul 2020
ในยุคปัจจุบันการลงทุนด้านต่างๆ ไม่ว่าจะ การเงินการธนาคาร , การประกันภัย และ ด้านอาหาร อีก Sector ที่น่าสนใจที่ควรเข้าไปพิจารณากัน นั้นก็คือ HealtTech  ..  ด้วยสภาวะการระบาดของโควิด19 ข้อมูลจาก McKinsey ได้วิเคราะห์ว่า ธุรกิจทางด้าน สุขภาพ และ HealthTech มีการเติบโตสูงมาก

ROE ปีต่อปีของแต่ละอุตสาหกรรมเมื่อ 26 มิถุนายน 2020 (ที่มา : McKinsey)

ซึ่งในบ้านเรานั้นมีการตื่นตัวในภาคอุตสาหกรรมนี้อย่างมาก และ ด้วยการที่ผลักดันเป็น Smart Hospital และ Hub ของการรักษาโรค โควิด19 นั้นเอง และ กอรปกับการพัฒนาศักยภาพของ บุคคลากรให้ประเทศไทยมีงานขั้นสูงได้ทำ  ซึ่งส่วนใหญ่ ขั้นตอนในการพัฒนาอุปกรณ์ขึ้นมาสักชิ้น มีขั้นตอนและเวลาดังนี้

ขั้นตอนการพัฒนา HealthTech (ที่มา : Meticuly)

แต่ละขั้นกว่าจะ IPO ของ HealtTech (ที่มา : Meticuly)

และในสถานะการณ์ปัจจุบัน องค์ประกอบสำคัญในการพัฒนาส่วนใหญ่ คือ คนพัฒนา (Team Work) และความกระสัยอย่างไม่หยุดหย่อน (Passion) , องค์ความรู้ที่จดสิทธิบัตร ( Intellectual Property ) , ความรวดเร็วในการพัฒนา(Agile Team) , เป้าหมายและกำหนดขนาดตลาด 

เมื่อพิจารณาตลาดของ HealthTech โดยละเอียดแล้วจะพบว่าส่วนใหญ่ จะพัฒนา และ ขายกิจการ เพื่อ M&A (Merger and Acquisition) กันมาก

ข้อมูลการตลาดของอุตสาหกรรม HealthCare (ที่มา : Meticuly)
ตัวอย่างการวิจัยวัสดุที่ใช้ฝังในร่างกายมนุษย์ (ที่มา : Meticuly)












การใช้ 3D Printing เพื่อสร้างแบบจำลองเฉพาะบุคคล (ที่มา : Meticuly)

เพื่อจะผลักดันอุตสาหกรรมนี้ ให้ทัดเทียมกับมาตรฐาน ต่างประเทศ ทั้งด้านมาตรฐานข้อมูล (HIPAA) และ ISO ต่างๆ ที่เกี่ยวข้อง อาทิเช่น ISO13485,IEC60601-1 ควรได้รับการสนับสนุนจากทางภาครัฐเอง, การดำเนินการจดสิทธิบัตรได้ง่ายตั้งแต่สมัยเรียนรู้ในมหาวิทยาลัย, การเร่งพัฒนาวิจัยด้านการผลิตวัคซีนโดยได้การสนับสนุนเร่งรัดจากภาครัฐ, การทำศูนย์กลาง BigData ของคนไทยในฐานข้อมูลคนไทย และ การป้องกันสิทธิบัตรเพื่อทุกหน่วยงานสามารถทำงานควบคู่กันไปได้

ซึ่งโดยขั้นตอนทั่วไปทางมหาลัยสามารถพัฒนาองค์ความรู้ต่อยอดไปสู่ภาคการตลาดได้ และ ทางมหาลัยเองก็สามารถสร้าง EcoSystem ขึ้นมาเฉพาะสำหรับองค์กรต่าง ให้สอดคล้องกัน ตามความต้องการตลาด ซึ่งใช้ Deep Tech อย่างมากในการพัฒนาองค์ความรู้ต่าง

DeepTech ในแต่ละอุตสาหกรรม (ที่มา : Meticuly)


ตัวอย่าง อุปกรณ์ทางการแพทย์โดยคนไทยที่น่าสนใจ เช่นเครื่องปั้มเลือด , การวัดคลื่น ECG แบบพกพา , การปลูกถ่ายอวัยวะ และ การพิมพ์อวัยวะด้วยเครื่อง 3D ซึ่งแบ่งแยกได้ 2 ชนิด คืออุปกรณ์ที่ใช้ในร่างกายมนุษย์ และ นอกร่างกาย 
อุปกรณ์ทางการแพทย์ (ที่มา : มหาวิทยาลัยมหิดล)


การเคลื่อนย้ายอวัยวะ (ตย.หัวใจหมู) เพื่อปลูกถ่าย 
(ที่มา : มหาวิทยาลัยมหิดล)

Nano Medicine และ การปลูกถ่ายอวัยวะพิมพ์ด้วยเครื่อง 3d 
(ที่มา : มหาวิทยาลัยมหิดล)

Thai FDA ขั้นตอนการจดทะเบียน HealthTech 
(ที่มา : มหาวิทยาลัยมหิดล)


สำหรับการจดทะเบียนเพื่อประเมินประสิทธิภาพ และความปลอดภัยของเครื่องมือการแพทย์นั้น ต้องมีองค์ประกอบคร่าวๆดังนี้
  1. ลักษณะโดยทั่วไป : อธิบายลักษณะภายนอก หรือ ทางกายภาพของ Software ที่มองเห็น
  2. จุดประสงค์การใช้ : ระบุวัตถุประสงค์การใช้ และ ความสามารถในการทำงาน 
  3. ข้อบ่งใช้ : อธิบายถึงโรค และ สภาวะที่ Software สามารถวินิจฉัย รักษา ป้องกัน บำบัด หรือ บรรเทา รวมถึงกลุ่มเป้าหมายอย่างชัดเจน
  4. หลักการทำงาน/กลไกการทำงาน : อธิบายหลักการทำงานให้สอดคล้องกับวัตถุประสงค์การใช้งาน และข้อบ่งใช้ที่แสดง
ในกรณีที่เป็น AI นั้นผู้พัฒนา ต้องแสดงข้อมูลถึงโครงข่ายประสาทเทียม (Neural Network) , การเรียนรู้ของเครืือง (Machine Learning) และ การเรียนรู้เชิงลึก (Deep Learning) ด้วย


ซึ่งโดยทั่วไปวงจรการพัฒนาอุปกรณ์ HealtTech จะเป็นลักษณะประมาณนี้

การพัฒนาอุปกรณ์ HealthTech

และมีมาตรฐาน ISO , IEC & MEDDEV ต่างๆที่เกี่ยวข้องด้วยกันทั้งด้านความปลอดภัย และ การใช้งาน
การพัฒนาอุปกรณ์ HealthTech

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

ขั้นตอนการกำกับดูแลเครื่องมือแพทย์ (ที่มา : มหาวิทยาลัยมหิดล)



และทั้งนี้ แบ่งขั้นตอนการพัฒนาเป็นขั้นๆดังนี้ ซึ่งสำหรับ VC (Venture Capital) แล้ว ขั้น ที่ 8-9 เป็นชั้นที่สามารถนำไปใช้ในการลงทุน




ตัวอย่างเครื่องมือ ECG แบบพกพา (ที่มา : มหาวิทยาลัยมหิดล)


เครื่องมือที่ประยุกต์ควบคู่กับ NBIoT สำหรับการตรวจฉี่คนไข้แบบ พกพา

ตัวอย่างเครื่องมือ Tele Medecine แบบพกพา (ที่มา : มหาวิทยาลัยมหิดล)



อุปกรณ์ HealthTech สำหรับแจ้งเตือนการขับรถ (ที่มา : มหาวิทยาลัยมหิดล)

การพัฒนาอุปกรณ์ สั่งงานผ่านคลื่นสมองสำหรับคนพิการ (ที่มา : มหาวิทยาลัยมหิดล)

รถเข็นควบคุมผ่าน ระบบ ROS (ที่มา : มหาวิทยาลัยมหิดล)

ควบคุมโดรนผ่านคลื่นสมองโดยคนไทย (ที่มา : มหาวิทยาลัยมหิดล)

ทั้งนี้การรวบรวมปัจจัยต่างๆ ทาง HealthTech เพื่อสร้าง Smart Hospital โดยอาศัยการเชื่อมต่อของอุปกรณ์ และ การวิเคราะห์ข้อมูล เพื่อสร้างเป็น "โรงพยาบาลอัจฉริยะ" ที่สามารถ ควบคุม ประมวลผล ได้อย่างเป็นระบบ

ระบบจัดการสขภาพด้วย Software AI (ที่มา : Stars Micro electronics)

ผังการทำงานของระบบ Monitor (ที่มา : Stars Micro electronics)

เพื่อตอบสนองความต้องการของคนไข้อย่างครบวงจร (ที่มา : Pinterest)

การประยุกต์ใช้ RFID ในระบบ โรงพยาบาล (ที่มา : Stars Micro electronics)

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



ที่มา และ ข้อมูลอ้างอิง :
อบรมสัมนา KX : https://www.facebook.com/kxinnovation
Cardiovascular Engineering and Artificial organs Labs : https://med.mahidol.ac.th/cardio_vascular_risk/th
Stars MicroElectronics : https://www.starsmicro.com/en/





IoT และ Drone กับการพัฒนาเทคโนโลยีการเกษตร
14 Jul 2020
ด้วยในสภาพปัจจุบันการที่สามารถควบคุมผลผลิตการเกษตร ให้ได้แม่นยำ และ มีประสิทธิภาพเพื่อความต้องการของตลาดนั้น จำเป็นต้องอาศัยเทคโนโลยีเพื่อให้เหมาะสมกับการปลูกนั้นๆ ซึ่งในปัจจุบันมีการปรับตัวของเกษตรกรเช่น  การหาพื้นที่ปลูกให้เหมาะสม  , การเกษตรในเมือง (Climate Control) , การเกษตรที่มีภูมิคุ้มกันต่อสภาพภูมิอากาศ (มีโรงเรือน) และ การดัดแปลงภูมิอากาศ (Geo Engineering,Space Farming) ,

พื้นที่ที่เหมาะสมกับการเกษตร : Smart Farm(Thailand)


ซึ่งในปัจจุบันมีหลายค่ายใช้เทคนิคต่างๆ เพื่อควบคุมฟาร์มผ่านระบบ IoT ไม่ว่าจะเป็น Outdoor , Green House / Plant Factory , AquaCulture , LiveStock

การใช้งาน IoT เพื่อภาคการเกษตร : Smart Farm(Thailand)


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



และการใช้ IoT เช่น ZigBee เพื่อนำมาใช้ในการเกษตร แบบ MicroClimate และ Sample ค่าจาก Sensor แต่ละจุด จะได้ประมาณการค่า อุณหภูมิ และ ความชื้นในแต่ละช่วงเวลา



และทำเฉลี่ยเป็นทั้งเดือนตามระยะความลึกของเซนเซอร์น้ำในแต่ละขั้น ทำให้เราให้น้ำให้เหมาะสมกับพืชแต่ละชนิด


















 
จากตย.ดังรูป การนำ IoT มาเพื่อใช้วิเคราะห์ ความสุกผลองุ่น , การ fementation , การหมักไวน์ ,
การวิเคราะห์ลมเพื่อได้ผลผลิตหรือ Yield ที่เหมาะสม ซึ่ง ถ้าเป็นแบบการเกษตร Out Door การเลือกช่วงเวลาระดับน้ำ ส่งผลให้การเติบโตของพืชพันธ์สูงสุด


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


หุ่นยนต์สำหรับแปรรูปฟางข้าวเป็นเส้นด้าย (ที่มา : Algaeba Company)
การปลูกผักในโรงเรือนแบบ Spiral (ที่มา : Algaeba Company)
เปลือกผลส้มนำมาใช้เป็นแก้ว Spiral (ที่มา : Tech that Matter) 
การให้อาหารปลาแบบแบบวงกลม (ที่มา : eFishery)


การวิเคราะห์จำนวนกุ้งด้วย machine vision (ที่มา : Algaeba Company)
           การวิเคราะห์การให้อาหารปลาในกระชังด้วย machine vision (ที่มา : Algaeba Company)
                 การจำแนกปลาในกระชังด้วย machine vision (ที่มา : Algaeba Company)

การนับจำนวนลูกกุ้ง (ที่มา : Algaeba Company)
และยังมีโดรนใช้เพื่อการเกษตรหลากหลายรูปแบบ แบ่งตามขนาด และ จุดประสงค์ในการใช้งาน





















ซึ่งเมื่อพิจารณาการใช้งานโดยแบ่งตามเวลาการใช้งาน และ การบินขึ้นลง




ซึ่งมีส่วนประกอบที่สำคัญๆ ในโดรนเพื่อใช้ในการเกษตรดังนี้  
  เซนเซอร์ ตรวจวัด(MultiSpectral Sensor) , Application สำหรับประมวลผลภาพ และวิเคราะห์ข้อมูลพื้นที่


ในการประมวลผลภาพด้วย NVDI Sensor เพื่อใช้วิเคราะห์แยกแยะชนิดพืช และ สภาพพื้นดิน



และใช้คอมพิวเตอร์ เพื่อช่วยแยกแยะ และ คำนวนค่า Yield ของพืชผลได้

และใช้วิธีการ Machine Learning (Deconvolution operation) เพื่อแยกแยะพื้นที่ได้อย่างแม่นยำ




การประยุกต์ใช้ โดรนเพื่อการเกษตร (ที่มา : AI for Agriculture)
Startup ที่ประยุกต์ใช้ โดรนเพื่อการเกษตร (ที่มา : AI for Agriculture)
       Automate Plant Factory และ AI สำหรับจำแนกโรคพืชพรรณ (ที่มา : AI for Agriculture)

ทั้งนี้ข้อมูลต่างๆ อ้างอิงจากแหล่งที่มาตามลิงค์ด้านล่างสามารถค้นคว้าเพิ่มเติมข้อมูลได้

ที่มา และ ข้อมูลอ้างอิง :
อบรมสัมนา KX : https://www.facebook.com/kxinnovation
Smart Farm Thailand : http://www.smartfarmthailand.com
DroneMaker101 by ACSE https://www.facebook.com/watch/?v=194564078353281










AI ในระบบ Insurance
13 Jul 2020
ในระบบประกันชีวิต ค่าปัจจัยต่างๆ เกื้อหนุนกันเพื่อใช้ในการวิเคราะห์ ศาสตร์ของระบบประกัน ด้วย R Studio กัน ซึ่งสามารถติดตั้งได้ https://rstudio.com/products/rstudio/download/ ซึ่งมาพิจารณาถึงข้อมูลทางสถิติ ซึ่งในตัวอย่างข้อมูลทางสถิติของสหรัฐ แสดงให้เห็นถึง ความสัมพันธ์ระหว่าง โรคCovid-19 กับการประกันภัย 

การเปลี่ยนแปลงข้อมูลผู้ประกันภัยสำหรับ คนทำงาน 1980-2020
(ที่มา:Nation Center for Coverage Innovation @ Families USA)

การวิเคราะห์ข้อมูลแสดงให้เห็นว่า แค่เพียงประกัน Covid อาจจะยังไม่เพียงพอในช่วงสถานการ์ณโรคระบาด และ ความล่มสลายทางเศรษฐกิจ โดยมีปัจจัยที่สำคัญ อาทิเช่น :
  • การที่ไม่ได้รับการประกันเพิ่มความเสี่ยงเมื่อเผชิญหน้ากัน
  • การประกันสุขภาพป้องกันการเจ็บป่วยนอกเหนือจาก Covid-19
จากข้อมูลแสดงให้เห็นว่าการที่ไม่มีประกันภัยในช่วง Covid-19 มีผลให้เกิดความเสี่ยงด้านประกันสุขภาพ และส่งผลต่อความมั่นคงทางเศรษฐกิจด้วย

ซึ่งเราสามารถใช้ AI จากการรวบรวมข้อมูลเพื่อวิเคราะห์ปัจจัยต่างๆ ให้เหมาะสม ซึ่งในระบบประกันชีวิตใหญ๋ๆ จะมีเครื่องมือที่ใช้ในการวิเคราะห์อย่างซับซ้อนมากขึ้น ด้วยปัจจัยต่างๆ ซึ่งจะขอแนะนำ และ วิธีการในการวิเคราะห์ข้อมูลด้วย R Studio 

1) รับข้อมูล


เริ่มด้วยการรับข้อมูล insurance.CSV ตัวอย่างกัน 

insurance <- read.csv("insurance.csv", stringsAsFactors = TRUE)
str(insurance)
## 'data.frame':    1338 obs. of  7 variables:
##  $ age     : int  19 18 28 33 32 31 46 37 37 60 ...
##  $ sex     : Factor w/ 2 levels "female","male": 1 2 2 2 2 1 1 1 2 1 ...
##  $ bmi     : num  27.9 33.8 33 22.7 28.9 25.7 33.4 27.7 29.8 25.8 ...
##  $ children: int  0 1 3 0 0 0 1 3 2 0 ...
##  $ smoker  : Factor w/ 2 levels "no","yes": 2 1 1 1 1 1 1 1 1 1 ...
##  $ region  : Factor w/ 4 levels "northeast","northwest",..: 4 3 3 2 2 3 3 2 1 2 ...
##  $ expenses: num  16885 1726 4449 21984 3867 ...

ซึ่งในตัวอย่าง ข้อมูลสำหรับลูกค้าประกันภัย ประกอบด้วย อายุ , เพศ , ค่า BMI , จำนวนลูก , สูบบุหรี่ , และ ค่าใช้จ่าย ซึ่ง ข้อมูล 1338 ตัวอย่าง จาก 7 ตัวแปรสำคัญ และ พิจารณา องค์ประกอบต่างๆ เพื่อตั้งเป้าหมายตัวแปรคือ ค่าใช้จ่าย (การเคลมประกัน)


2) เตรียมข้อมูล (Cleansing Data)


เมื่อพิจารณาถึงฐานรายได้ทั้งหมดจากตัวแปรสำคัญ 


# สรุปตัวเลขของ ค่าใช้จ่าย
summary(insurance$expenses)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    1122    4740    9382   13270   16640   63770
# แสดงเป็นค่า Histogram การกระจายการใช้จ่ายด้านประกัน
hist(insurance$expenses)

และเมื่อวิเคราะห์ตามภูมิภาค

## 
## northeast northwest southeast southwest 
##       324       325       364       325

จะเห็นว่าโดยส่วนใหญ่จะใช้จ่ายระหว่าง 1122 - 63,770$ ซึ่งค่่าเฉลี่ยอยู่ที่ 13270$ ซึ่งการเคลมกระจายในแต่ละพื้นที่ โดยมีพื้นที่ SouthEast ที่มีการเคลมสูงสุด ดังตัวอย่าง

พิจารณาถึงตัวแปรสำคัญที่เกี่ยวข้องกัน

การจะพิจารณาถึงความสัมพันธ์ของตัวแปลในกราฟด้านบนนั้น เราใช้ ฟังก์ชั่นของ R เพื่อแสดงถึงความสัมพันธ์ดังกล่าว

# แสดงถึงความสัมพันธ์ระหว่าตัวแปรแต่ละตัวด้วย matrix
cor(insurance[c("age", "bmi", "children", "expenses")])
##                age        bmi   children   expenses
## age      1.0000000 0.10934101 0.04246900 0.29900819
## bmi      0.1093410 1.00000000 0.01264471 0.19857626
## children 0.0424690 0.01264471 1.00000000 0.06799823
## expenses 0.2990082 0.19857626 0.06799823 1.00000000
# แสดงภาพความสัมพันธ์ขอตัวแปรทั้ง 4 อัน ในรูปแบบ Matrix
pairs(insurance[c("age", "bmi", "children", "expenses")])

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

# แสดงข้อมูลที่ได้จากกราฟ 
install.packages("psych")
library(psych)
pairs.panels(insurance[c("age", "bmi", "children", "expenses")])


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

3) การเทรนโมเดล

## ขั้นตอนที่ 3 : การเทรนโมเดลสำหรับข้อมูล 
ins_model <- lm(expenses ~ age + children + bmi + sex + smoker + region,
                data = insurance)
# หรือใช้คำสั่งนี้แทนโดย . แทนค่าตัวแปรทั้งหมด
# ins_model <- lm(expenses ~ .,data=insurance )
# แสดงให้เห็นค่าประมาณการของ beta coefficients
ins_model
## 
## Call:
## lm(formula = expenses ~ age + children + bmi + sex + smoker + 
##     region, data = insurance)
## 
## Coefficients:
##     (Intercept)              age         children              bmi  
##        -11941.6            256.8            475.7            339.3  
##         sexmale        smokeryes  regionnorthwest  regionsoutheast  
##          -131.4          23847.5           -352.8          -1035.6  
## regionsouthwest  
##          -959.3
เบื้องต้นสามารถคาดการณ์ค่าใช้จ่ายโดยใช้สูตรต่อไปนี้ : -$11,941.6 + $256.8(age) - $131.4(sex=male) + $339.3(bmi) + $475.7(children) + $23,847.5(smoker) - $352.8(region=NW) - $1,035.6(region=SE) - $959.3(region=SW)

ดังตัวอย่าง..เริ่มต้นด้วยพื้นฐานเงินเดือน - $ 11,941.6 ค่าใช้จ่ายเพิ่มขึ้น $ 257 สำหรับทุกอายุที่เพิ่มขึ้น $ 339 สำหรับทุกหน่วยที่เพิ่มขึ้นของค่าดัชนีมวลกาย(BMI) และเพิ่มรวมถึง $ 23,848 ถ้าผู้ประกันเป็นผู้สูบบุหรี่ อย่างไรก็ตามหากผู้ประกันตนอาศัยอยู่ในตะวันออกเฉียงใต้ ค่าใช้จ่ายของพวกเขาน่าจะลดลง $ 1,036 โดยตัวแปรอื่น ๆ ทั้งหมดคงที่

อย่างไรก็ตามเรายังไม่ได้ดูว่าตัวแปรใดมีนัยสำคัญ ทั้งนี้เราจะเข้าสูตรเพิ่มเติม

4) เพิ่มประสิทธิภาพการประมวลผล

## ขั้นที่ 4 : เพิ่มประสิทธิภาพการประมวลผล 
# แสดงให้เห็นรายละเอียดเกี่ยวกับข้อมูลbeta coefficients
summary(ins_model)
## 
## Call:
## lm(formula = expenses ~ age + children + bmi + sex + smoker + 
##     region, data = insurance)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -11302.7  -2850.9   -979.6   1383.9  29981.7 
## 
## Coefficients:
##                 Estimate Std. Error t value Pr(>|t|)    
## (Intercept)     -11941.6      987.8 -12.089  < 2e-16 ***
## age                256.8       11.9  21.586  < 2e-16 ***
## children           475.7      137.8   3.452 0.000574 ***
## bmi                339.3       28.6  11.864  < 2e-16 ***
## sexmale           -131.3      332.9  -0.395 0.693255    
## smokeryes        23847.5      413.1  57.723  < 2e-16 ***
## regionnorthwest   -352.8      476.3  -0.741 0.458976    
## regionsoutheast  -1035.6      478.7  -2.163 0.030685 *  
## regionsouthwest   -959.3      477.9  -2.007 0.044921 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 6062 on 1329 degrees of freedom
## Multiple R-squared:  0.7509, Adjusted R-squared:  0.7494 
## F-statistic: 500.9 on 8 and 1329 DF,  p-value: < 2.2e-16

ดอกจันท์ (*) ข้างหลังสุด ของแต่ละตัวแปร แสดงให้เห็นค่าความสัมพันธ์ที่เกี่ยวข้องกัน ยิ่งมากยิ่งมีผลมากขึ้น

โมเดลที่ได้จะมีค่า RSE(Residual Standard Error) เท่ากับ 6,062 ใน1,329 องศาระดับความอิสระ  (ซึ่งค่านี้ยังไม่ชัดเจนว่าสิ่งนี้ดีหรือไม่ดีเว้นแต่จะสามารถเปรียบเทียบค่ากับผลลัพธ์ของแบบจำลองอื่นก่อน)

ค่า R-squared แสดให้เห็นว่าประมาณ 75% ของความแปรปรวนของค่าใช้จ่ายอาจถูกนำมาใช้โดยแบบจำลอง LR นี้ซึ่งถือว่าดี มีตัวแปรทั้งหมดหกตัวที่ p-value ต่ำกว่า 0.05 โดยทั่วไปค่า alpha ถือว่าเป็นเกณฑ์นัยสำคัญ

ซึ่งค่าตัวแปรต่างๆดังนี้:

  • Age (p < 0.001)

  • BMI (p < 0.001)

  • Children (p < 0.001)

  • Smoker = yes (p < 0.001)

  • Region of residence = SE (p = 0.031)

  • Region of residence = SW (p = 0.045)


F-statistic คือ 500.9 บน 8 และ 1,329 องศาอิสระให้ค่า p-value โดยรวม <0.001 ดังนั้นเราจะปฏิเสธสมมติฐานว่าง (เช่นไม่มีความสัมพันธ์ระหว่างตัวแปรอธิบายและเป้าหมาย)

5) พัฒนารูปแบบเพิ่มประสิทธิภาพขึ้น

ขั้นแรกให้ลบตัวแปรที่ไม่มีนัยสำคัญ (p ใกล้กับ 0.05) ซึ่งเป็น เพศ และ ภูมิภาค แล้วรันโมเดลอีกครั้ง:

ins_model1.5 <- lm(expenses ~ age + children + bmi + smoker,
                data = insurance)

# see the estimated beta coefficients
ins_model1.5
## 
## Call:
## lm(formula = expenses ~ age + children + bmi + smoker, data = insurance)
## 
## Coefficients:
## (Intercept)          age     children          bmi    smokeryes  
##    -12105.5        257.8        473.7        321.9      23810.3
summary(ins_model1.5)
## 
## Call:
## lm(formula = expenses ~ age + children + bmi + smoker, data = insurance)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -11895  -2921   -985   1382  29499 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -12105.48     941.95 -12.851  < 2e-16 ***
## age            257.83      11.90  21.674  < 2e-16 ***
## children       473.69     137.79   3.438 0.000604 ***
## bmi            321.94      27.38  11.760  < 2e-16 ***
## smokeryes    23810.32     411.21  57.903  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 6068 on 1333 degrees of freedom
## Multiple R-squared:  0.7497, Adjusted R-squared:  0.749 
## F-statistic: 998.2 on 4 and 1333 DF,  p-value: < 2.2e-16
ซึ่งการปรับค่าดังกล่าวแสดงให้เห็นถึงค่า F-statistic ที่ 998.2 บน 4 จาก 1,333 องศาอิสระ ,ระบุว่าแบบจำลองนี้มีความแปรปรวนรวมมากกว่า นอกจากนี้เรายังเห็นความแตกต่างที่น้อยกว่าระหว่างค่าหลายค่าและปรับ R-squared ซึ่งบ่งชี้ว่าเราได้กำจัดตัวแปรการเพิ่มมูลค่าบางอย่าง ตัวแปรอธิบายที่เหลืออยู่ทั้งสี่ตัวมีค่า p-values อย่างมีนัยสำคัญ แต่ RSE เพิ่มขึ้นเป็น 6,068 (แม้ว่าการเพิ่มขึ้นหกจุดน่าจะไม่สำคัญเทียบกับช่วงของ RSE ที่ให้มา)

ตอนนี้เรากลับไปที่โมเดลดั้งเดิมและลองเปลี่ยนตัวแปรเพื่อให้ได้โมเดลที่แข็งแกร่งขึ้น

การเปลี่ยนแปลงที่ทำคือ:

   1. ยกกำลังสองค่า อายุ (age) : สำรวจความเป็นไปได้ที่อายุและค่าใช้จ่ายเกี่ยวข้อง แต่ในแบบที่ไม่เป็นเชิงเส้น (parabora) โดยคนที่อยู่ในวัยกลางคนมีค่าใช้จ่ายเยอะสุด

   2. แบ่งค่า BMI เป็นสองระดับ <30 และ >= 30: พิจารณาว่าโรคอ้วนโดยปกติ (BMI> 30) เป็นกลุ่มที่ก่อให้เกิดค่าใช้จ่ายที่สูงขึ้น

   3. สร้างตัวแปรรวมที่รวมค่าดัชนีมวลกาย> = 30 และการสูบบุหรี่: ดูที่ผลกระทบการมีปฏิสัมพันธ์ของสองลักษณะที่ไม่ดีต่อสุขภาพ (โรคอ้วนและการสูบบุหรี่) เพื่อดูว่าการปรากฏตัวของทั้งสองมีแนวโน้มที่จะมีส่วนร่วมมากขึ้น

ทำการเปลี่ยนแปลงเหล่านี้แล้วรันโมเดลอีกครั้ง:

## ขั้นตอนที่ 5 : เพิ่มปรับเปลี่ยนโมเดลให้ทันสมัยมากขึ้น ----

# เพิ่มตัวแปรจาก "age" โดยพิจารณาไม่ได้เป็นเชิงเส้น
insurance$age2 <- insurance$age^2

# เพิ่มตัวแปรสำหรับ  BMI >= 30
insurance$bmi30 <- ifelse(insurance$bmi >= 30, 1, 0)

# สร้างแบบจำลอง
ins_model2 <- lm(expenses ~ age + age2 + children + bmi + sex +
                   bmi30*smoker + region, data = insurance)

summary(ins_model2)
## 
## Call:
## lm(formula = expenses ~ age + age2 + children + bmi + sex + bmi30 * 
##     smoker + region, data = insurance)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -17297.1  -1656.0  -1262.7   -727.8  24161.6 
## 
## Coefficients:
##                   Estimate Std. Error t value Pr(>|t|)    
## (Intercept)       139.0053  1363.1359   0.102 0.918792    
## age               -32.6181    59.8250  -0.545 0.585690    
## age2                3.7307     0.7463   4.999 6.54e-07 ***
## children          678.6017   105.8855   6.409 2.03e-10 ***
## bmi               119.7715    34.2796   3.494 0.000492 ***
## sexmale          -496.7690   244.3713  -2.033 0.042267 *  
## bmi30            -997.9355   422.9607  -2.359 0.018449 *  
## smokeryes       13404.5952   439.9591  30.468  < 2e-16 ***
## regionnorthwest  -279.1661   349.2826  -0.799 0.424285    
## regionsoutheast  -828.0345   351.6484  -2.355 0.018682 *  
## regionsouthwest -1222.1619   350.5314  -3.487 0.000505 ***
## bmi30:smokeryes 19810.1534   604.6769  32.762  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 4445 on 1326 degrees of freedom
## Multiple R-squared:  0.8664, Adjusted R-squared:  0.8653 
## F-statistic: 781.7 on 11 and 1326 DF,  p-value: < 2.2e-16

แบบจำลองรุ่นนี้ดีกว่ามาก โดยที่ค่า RSE ได้ลดลงจากประมาณ 6,070 เป็น 4,445 บน 1,326 องศาอิสระ ค่า R-Squared ที่ปรับและเพิ่มขึ้นอย่างมีนัยสำคัญจนถึงประมาณ 0.866  F-statistic อยู่ที่ประมาณ 782 ซึ่งลดลงจากโมเดลก่อนหน้านี้ โมเดลนี้มีตัวแปรที่ไม่สำคัญหลายอย่าง (bmi, เพศ, ภูมิภาค) ดังนั้นเราจะลองอีกโมเดลที่จะลบตัวแปรเหล่านี้ออกออกและดูว่าจะได้ค่าอย่างไรบ้าง

# สร้างโมเดลอันสุดท้าย
ins_model2.5 <- lm(expenses ~ age + age2 + children + 
                   bmi30*smoker, data = insurance)

summary(ins_model2.5)
## 
## Call:
## lm(formula = expenses ~ age + age2 + children + bmi30 * smoker, 
##     data = insurance)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -18718.8  -1641.7  -1313.8   -846.4  23799.7 
## 
## Coefficients:
##                   Estimate Std. Error t value Pr(>|t|)    
## (Intercept)      2237.3824  1083.9103   2.064   0.0392 *  
## age               -24.5114    60.2871  -0.407   0.6844    
## age2                3.6643     0.7524   4.870 1.25e-06 ***
## children          669.3870   106.6878   6.274 4.74e-10 ***
## bmi30              42.3929   276.9065   0.153   0.8783    
## smokeryes       13389.6763   442.5871  30.253  < 2e-16 ***
## bmi30:smokeryes 19759.1124   608.6309  32.465  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 4483 on 1331 degrees of freedom
## Multiple R-squared:  0.8636, Adjusted R-squared:  0.8629 
## F-statistic:  1404 on 6 and 1331 DF,  p-value: < 2.2e-16
ผลลัพธ์สุดท้ายของเรามี RSE ที่ 4,483 จาก 1,331 องศาอิสระ ค่า R-squared ประมาณ 0.863 และค่า F-statistic  1,404 บน 6 และ 1,331 องศาอิสระ ตัวแปรทั้งหมดยกเว้นอายุ (เก็บไว้เป็นตัวแปร polynomial regression สำหรับตัวแปรที่อายุ ^ 2) และ bmi30 (คงไว้เพื่อสนับสนุนหลักการลำดับชั้น:hierarchical principle) โดยมีมีค่า p-values < 0.001

สรุปโดยรวม:

เมื่อพิจารณาถึงแบบจำลองที่เราคำนวนกันทั้ง 4 แบบแล้วตามลำดับ (ซึ่งโดยรวมแล้วมีค่า p-values <<<0.05):

ModelRSE (DF)R-sqAdj R-sqF-stat (DF)
16062 (1329).7509.7494501 ( 8/1329)
26068 (1333).7497.749998 ( 4/1333)
34445 (1326).8664.8653782 (11/1326)
44483 (1331).8636.86291404 (6/1331)

บนพื้นฐานของค่าสูงสุด R-squared และ ค่าต่ำสุด ของ RSE รุ่นที่สามทำงานได้ดีขึ้นในการกระจายข้อมูล และ ค่ากระจายความเสี่ยง อย่างไรก็ตามในแง่ของ parsimony (ความถี่ถ้วน) ขนาดของความแตกต่างระหว่างคะแนน R-sq และ Adj R-sq  เกี่ยวข้องกับ F-statistic ที่สูงขึ้นมาก   ในรุ่นสุดท้ายอาจจะแตกต่างกันเล็กน้อย ซึ่งความแตกต่างระหว่างทั้งสองอาจหรืออาจจะไม่สำคัญ

ซึ่งทั้งนี้การพิจารณาข้อมูลต่างๆ เราสามารถวิเคราะห์จากปัจจัยการเพิ่มตัวแปรต่างๆอันเป็นสิ่งสำคัญทำให้ให้เราเห็นถึงกลุ่มเฉพาะที่มีความต้องการใช้ประกันภัย มากขึ้น เช่น กลุ่ม LBGT , การประกันภัยเฉพาะส่วนบุคคล หรือ จากความต้องการเฉพาะ ในเรื่องค่าห้องที่หลากหลาย (flexible) และ การประกันภัยตามช่วงเวลา (pandamic , disaster) , กระแสประกันบำนาญที่ต้องการความหลากหลายขึ้น และนำเสนอประกันเพิ่มเติมเฉพาะกลุ่มได้มากขึ้น


ซึ่งการประยุกต์ใช้ R ในการวิเคราะห์ข้อมูลต่างๆ ยังมีอีกหลายตัวอย่างที่นำ AI มาคัดกรองด้านต่างๆ


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

ตัวอย่าง platform ประกันภัย (ที่มา : Swiss Re)

องค์ประกอบลักษณะการซื้อประกัน (ที่มา : Swiss Re)


ที่มา และ ข้อมูลอ้างอิง :
อบรมสัมนา Course RAI กับทาง สจล. : https://www.facebook.com/KMITL.RoboticsAI
KPFU : https://edu.kpfu.ru/pluginfile.php/278552/mod_resource/content/1/MachineLearningR__Brett_Lantz.pdf
Family USA : https://www.familiesusa.org/wp-content/uploads/2020/07/COV-254_Coverage-Loss_Report_7-13-20.pdf
ความหมายของ AI
29 Jun 2020
     เมื่อกล่าวถึง AI เราสามารถแจกแจงได้ในหลายบริบท ทั้งในรูปแบบการทำงานของโปรแกรม และ การเห็นถึงอุปกรณ์และ การเคลื่อนไหวเช่นหุ่นยนต์   เมื่อเรามองบริบทของ AI ที่ควรเป็นเช่น สามารถรับรู้ข้อเท็จจริงที่ผ่านมาและดำเนินการได้ , เรียนรู้และเข้าใจจากประสพการณ์ที่ผ่านมา , ยอมรับและจดจำความรู้ต่างๆ และตอบรับกับสิ่งต่างๆได้เร็ว สัมฤทธิ์ผลในสถานะการ์ณใหม่ๆ

อะไรคือ AI

     เมื่อค้นหาจากสื่อออนไลน์ และ บริษัทต่างๆ เราอาจจะได้ว่าเป็นการพัฒนาการของมนุษย์ , AI จากหนัง A Space Odyssey ระบบ HAL 9000 , หรือจะเป็น Deep Blue (แข่งหมากรุก), Sony Robot (AIBO) ,..
ที่มา : @csenn
AIBO (Pet Robotic) ที่มา : Sony

Deep Blue ที่มา : IBM
     สำหรับมุมมองสถาบันการศึกษา มองได้ว่าเป็น รูปแบบการจำลองการรับรู้เข้าใจ(Cognition) ของมนุษย์โดยใช้ Computer , การศึกษาของปัญหาที่ไม่สามารถแก้ไขได้ 

ถ้าเราพิจารณาถึงสิ่งแปลกใหม่ เช่น เกมส์การบันเทิง, machine learning, เหมืองข้อมูล, การจดจำคำพูด , ระบบการมองอัตโนมัติ, ระบบตอบข้อความอัตโนมัติ , หุ่นยนต์ , ...

หรือสิ่งที่นำไปใช้ประโยชน์กับมนุษย์ เช่น การวิเคราะห์รักษาโรค, การตรวจจับการโกง, การวิเคราะห์Genomeมนุษย์, การตรวจจับวัตถุ, ระบบแนะนำให้ความช่วยเหลือ , โครงการสำรวจอวกาศ

ซึ่ง AI มีผลกระทบอย่างมากในวงการวิทยาศาสตร์ และ วิศวกรรม

อะไรคือพื้นฐานของระบบอัจฉริยะ (Intelligence)


  • เป็นการผสมผสานระหว่างขั้นตอนวิธีการ (Algorithms) โดยทั่วไป (General-purpose) และ เฉพาะเจาะจง (Special-purpose) ซึ่งแจกแจงได้ดังนี้
  • ตัวอย่างของขั้นตอนวิธีการแบบโดยทั่วไป
    • การเรียนรู้สิ่งใหม่ๆ
    • การเก็บความจำ และ ปรับปรุงข้อมูลเดิม
    • การเรียกใช้ข้อมูลจากหน่วยความจำ
  • ตัวอย่างของขั้นตอนวิธีการแบบเฉพาะเจาะจง
    • การจดจำรูปแบบภาพเฉพาะ
    • การจดจำเสียง
    • การเรียนรู้และพูดภาษา

และถามต่ออีกว่า ... อะไรคือ Artificial Intelligence

  • การผสมผสานระหว่างขั้นตอนวิธีการ General-purpose และ Special-purpose 
  • ตัวอย่าง General-purpose
    • การเรียนรู้ขั้นตอนวิธีการ
    • การพิสูจน์ทฤษฎี
  • ตัวอย่างสำหรับ Special-purpose
    • การจดจำรูปแบบ
    • การจำโครงสร้างของภาษา

ตัวอย่างการใช้งานของ AI



สองมุมมองของ AI

  • AI อาจจะกล่าวได้ถึงการจำลองมันสมองของมนุษย์ เช่น 
    • Cognitive science (ประชานศาสตร์ : การศึกษาทางวิทยาศาสตร์ทั้งเรื่องของความคิดและความฉลาด
    • Turing test (การทดสอบของทัวริง : การทดสอบความสามารถของปัญญาประดิษฐ์ว่าทำได้ดีใกล้เคียงมนุษย์แล้วหรือยัง)

  • AI อาจจะเสมือนสิ่งที่สมองของมนุษย์ ควรจะทำ เช่น 
    • Rationality ความมีเหตุผล การพินิจพิเคราะห์ ความชอบธรรม
ที่มา : Advance AI https://j.mp/2YGXK6n

การพิเคราะห์เชิงเหตุผล (Acting Rationally)

  • Rational behavior = ทำสิ่งที่ถูกต้องเป็นเหตุเป็นผลกัน
  • The right thing = การคาดหวังที่จะเพิ่มให้ถึงเป้าหมาย จากสิ่งที่กำหนดให้ 
    • เช่นปรัชญาของ อริสโตเติ้ล "Every art and every inquiry, and similarly every action and pursuit, is thought to aim at some good" ซึ่งคนที่จะดี เพราะเขาชักนำไปในทางนึงทางใด
  • หมายเหตุ. การทำสิ่งที่ถูกต้อง อาจจะไม่ได้เข้าสู่กระบวนการทางความคิด
    • เช่น การกระพริบ และ การตอบสนองมากจาก Rational , ด้วยข้อกำหนดนี้การคิดที่เกิดขึ้นเพื่อสนองสำหรับบางสิ่ง => เป็นลักษณะ AI ที่เราพิจารณา

ส่วนประกอบของ ระบบ AI

ที่มา : CMU

     ถ้าเปรียบเสมือน ROS เราจะอนุมานได้ดังรูป
ที่มา : ROS (Robot Operating System)


Rational Agents

  • คือ Agent ที่ได้รับข้อมูล (perceives)  และ มีการกระทำ (action) ตามรูปด้านบน
  • Agents สามารถสร้างในรูปแบบเป็นฟังก์ชั่นจากความสัมพันธ์เป็นการกระทำ 


    สำหรับตัวอย่างที่กำหนดในสภาพแวดล้อม และ งานที่ทำ ซึ่งเราจะหาเอเจ้นท์ จากผลสำเร็จดีที่สุด

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

AI ในยุคแรก

  • ENIAC : ซูเปอร์คอมพิวเตอร์ ที่สร้างขึ้นในปี 1946

  • เริ่มใช้มากขึ้นในปี 1950 เกี่ยวกับ Artificial Intelligence
         - Rosenblatt's perceptron
         - Samuel's checkers player 

AI ในปัจจุบัน ที่มนุษย์ต้องการ

  • สร้างโปรแกรมที่มีความรู้สึกนึกคิดอย่างมนุษย์ : สามารถพิสูจน์ ทฤษฎี , เล่นหมากรุก , มีการพูดคุย
  • เรียนรู้จากประสพการ์ณ และตอบสนองสิ่งที่สำคัญ
  • การมีตรรกะ เหตุผลเป็นกุญแจสำคัญ
  • การวิจัยที่มีเป้าหมายในการพัฒนาหรือสรรค์สร้างเพื่อแก้ไขปัญหา
  • การพัฒนาภาษาธรรมชาติ (Natural Language) เพื่อให้เข้าใจง่ายและ ทำได้

AI ทดสอบการคิดและวิเคราะห์

 Quick! Draw!    https://quickdraw.withgoogle.com/
 AttnGAIN –
 Image Generation Machine 
 https://experiments.runwayml.com/generative_engine/
 Talk to Books https://books.google.com/talktobooks/


AI ในอนาคต : การใช้คณิตศาสตร์ช่วยการคำนวน

  • การคำนวนหาทฤษฏีความน่าจะเป็นที่ต้องใช้การคำนวนมากๆระดับ Quantum Computing , การตัดสินพิจารณาทฤษฎีสมมุติฐาน , ค่าสถิติชั้นสูง

  • มุ่งหวังการแก้ไขปัญหาที่เฉพาะเจาะจง มากกว่าการสร้าง เหตุ
  • AI ในปัจจุบันแฝงในแต่ละสาขา :
    • การเข้าใจ (Perception) โดยเฉพาะ Vision เป็นสาขาที่มีคนเรียนรู้มาก
    • หุ่นยนต์ (Robotics) เป็นแขนงที่ใหญ่และเรียนรู้กันเยอะ
    • การพิจารณาเหตุผล (Deliberative Reasoning) ซึ่งเรียกกันว่า "AI"
    • และอีกหลายๆสาขา พิจารณาการวิวัฒน์ ด้วยสไตล์ และคำศัพท์เฉพาะ
  • และอีกหลายๆโครงการเช่น Dynamic Robotics ที่ทำหุ่นยนต์ลักษณะเฉพาะ "AI Robot"


ที่มา และ ข้อมูลอ้างอิง :
อบรมสัมนา Course RAI กับทาง สจล. : https://www.facebook.com/KMITL.RoboticsAI
















Edge และ Cloud Computing ในระบบ Smart Factory
27 Jun 2020

      จากกระแสในยุค Internet of Thing จนเป็น Internet of Everything เป็น Mega Trend ที่ส่งผลต่อภาคอุตสาหกรรมโดยที่เราจากอุปกรณ์ติตตัว (Wearable Device) จนถึงอุปกรณ์ smart maintenance ในระบบโรงงานผ่านระบบ Cloud และปริมาณข้อมูลที่เพิ่มขึ้นอย่างมาก ทำให้ data center เพิ่มขึ้นตามปริมาณ cloud ที่ใช้งาน ซึ่งเมื่อพิจารณาของการมาถึงของ 5G แล้วจะทำให้การประมวลผลทีปลายขอบ หรือ Edge Computing ก็เป็นที่น่าสนใจเพื่อใช้ในระบบคลาวด์ โดยที่การประมวลผลในส่วนที่ใกล้ข้อมูลมากที่สุด

      สำหรับ Edge Computing เทคโนโลยี เข้ามาอยู่ในกระแสมากขึ้น ไม่ว่าจะเป็นค่าย IBM , Intel และอื่นๆ โดยที่หลายบริษัทได้พิจารณาว่า Edge Computing เป็นองค์ประกอบสำคัญขอบ Iot ที่จะช่วยเติมเต็มการทำงานของ ระบบ Cloud
ที่มา : faredge.eu

      การจะเปลี่ยนจาก Conventional Centralized Control มาเป็น IoT Cloud Base และ Edge Computing คงต้องเน้นการทำงานในแต่ละส่วน โดยที่ Edge Computing สามารถแทรกเข้าไปทำงานในทุกส่วน ไม่ว่าจะเป็น Server , Gateway และ Device

แนวคิด Edge Computing นั้นพัฒนามาก่อน IoT โดยเริ่มต้นจากระบบ LAN ที่เป็นการเดินสายอุปกรณ์เครือข่ายแบบ Star Topology และ พัฒนามาเป็น VLAN ตามการใช้งานของบุคคล หรือ CDN (Content Delivery Network) ที่ใช้การเข้าถึงข้อมูลจากตำแหน่งเรียกหาที่ใกล้ที่สุด ดังนั้น การประมวลผลแบบ Edge มีความหมายที่กว้าง และ สามารถนำไปใช้ได้ในหลากหลายรูปแบบ ซึ่งในระบบ Fog Computing หรือ Fogging เป็นระบบ Network เครือข่ายที่พัฒนามาสำหรับ IoT พัฒนาโดย Cisco โดยมี OpenFog Consortium เป็นส่วนในการสร้าง Fog Computing ให้เป็นมาตรฐานให้กับทางภาคธุรกิจ เพื่อสร้างเครือข่าย Edge Computing  ซึ่ง Fog จะกำหนดรายละเอียดทางเทคนิคต่างๆที่เกี่ยวข้อง ไม่ว่าจะเป็น รูปแบบเครือข่าย , การจัดเก็บข้อมูล , ความปลอดภัย , การประมวลผลแบบ Realtime โดยจากแอพในส่วน Cloud Computing   เปรียบเสมือน Edge เป็นแนวคิด ส่วน Fog Computing Layer เป็นกระบวนการ ที่ครอบ และ คั่นกลางระหว่าง Cloud Computing และ Edge Computing ตามรูป
ที่มา @mikequindazzi

ซึ่งในรายละเอียดนั้น Edge Computing จะครอบคลุมเฉพาะส่วนที่เกิดขึ้นใน device หรือ แหล่งกำเนิดข้อมูลนั้นเอง โดยใช้พวก Embed Device บางทีอาจจะหมายถึงโหนดที่ห่างจากแหล่งกำเนิดไม่เกิด 1 hop   ส่วน Fog Computing จะประมวลผลในระดับ LAN เช่น Gateway, Router , Access Point

บางนิยามอาจจะให้ความเห็นว่า Edge หมายถึงการคำนวณที่เกิดขึ้นในโหนดหนึ่งๆ ที่ภายใต้ Cloud Computing และ ใกล้แหล่งกำเนิดข้อมูล  และ Fog Computing นั้นเป็นการประมวลผล Edge หลายๆ อันทำเป็นระบบ Cluster ระหว่างอุปกรณ์ประมวลผล โดยประมวลผลที่ใกล้กับอุปกรณ์ปลายทางหรือแหล่งข้อมูล

What is Fog Computing, Fog Networking, Fogging
ที่มา : thecustomizewindows 

Cloud Computing กับ Edge Computing อย่างไหนดีกว่ากัน


       เมื่อพิจารณาถึงการนิยามแล้ว Cloud กับ Edge เป็นส่วนนึงกัน หรือเป็น subset ซึ่งเติมเต็มให้แก่กัน เพราะฉะนั้นการพิจารณาถึง IoT โครงการหนึ่งๆ นั้นใช้ Cloud และ Edge ไปควบคู่กัน ซึ่งบางระบบสามารถใช้ Cloud Computing ได้โดยตรง หรือ มี Edge Computing ด้วย โดยพิจารณาองค์ประกอบต่างๆดังนี้

1) Delay/Response Time 

       ระบบ IoT ที่เราคำนึงถึงนั้นถ้ามีข้อคำนึงเรื่อง "เวลา" เป็นสำคัญ ดังนั้นต้องเลือกการสร้าง IoT Edge เพื่อลดเวลาในการตอบสนอง  ตย. เช่น ระบบวิทยุดาวเทียมในรถ ที่สามารถเลือก เพลงเล่น และ ได้ในรถเองจากสภาพรถการขับรถขณะนั้น  หรือ ระบบรถยนต์ขับเคลื่อนอัตโนมัติที่ต้องการประมวลผลจากเซนเซอร์ อย่างมาก เพื่อควบคุมกลไกต่างๆ Machine Learning , Machine Vision แบบ Real Time ซึ่งการประมวลผลไปที่ Cloud Computing แล้วส่งกลับมานั้นอาจจะไม่ใช่วิธีการที่เหมาะสม ไม่ว่าจะเป็นการหลบหลีกสิ่งกีดขวางอัตโนมัติ ทั้งนี้การที่ 5G เข้ามาทำให้มีการผสมผสานระหว่าง Edge Computing และ Cloud Computing โดยกระบวนการบางอย่างที่ไม่ต้องการความเร่งด่วนในการตัดสินใจ ต้องรอเก็บข้อมูลเป็นเวลานานเพื่อพิจารณา Trend หรือ การทำ Predictive Maintenance จึงใช้ Cloud เพื่อความเหมาะสม

ที่มา : hazelcast / Application Intelligence / Sense Think Act
การควบคุม Taxi ผ่าน IoT - Edge Connect เพื่อควบคุมความเร็ว และการทำงานในส่วนของ Edge / Cloud
การประมวลผลด้วย Compuvision สำหรับรถยนต์ขับเคลื่อนอัตโนมัติ

2)  Resource/Computational power

       ในกระบวนการประมวลใน Embed Device , Mobile device หรือ PC ก็มีความสามารถเพิ่มขึ้นเรื่อยๆ แม้ยังห่างไกลจาก Super Computer จากหลายๆค่ายใน Data Center แต่อย่างไรก็ตาม Cloud ยังเป็นตัวเลือกที่เหมาะสมสำหรับกระบวนการที่พร้อมเสร็จและเริ่มใช้งาน เช่น Cloud สำหรับโรงงานที่มีระบบ ERP (Enterprise Resource Planning) , WMS (Warehouse Management System) ให้พร้อมเริ่มทำงานทันที หรือ ระบบ Deep Learning ที่มีการประมวลผลข้อมูล Big Data Analytics

       แต่มิได้หมายถึงว่า Edge ก็พัฒนาขีดความสามารถเพื่อใช้ในโรงงาน และ มีการประมวลผลข้อมูลแบบ Big Data และ Deep Learning/Machine Learning ในตัว เช่น PLC Siemen , NVIDIA Jetson, Intel Movidius, Google Coral Edge TPU ซึ่งกระบวนการเหล่านี้ยังไม่สามารถแทน Cloud ได้ทั้งหมด ซึ่งวิธีการที่นิยมสำหรับ Deep Learning / Machine Learning ใน IoT คือการใช้งั้น Cloud และ Edge ควบคู่กัน โดยข้อมูลที่ได้รับการ Train จะถูกบันทึกใน Cloud และ นำModel ที่ถอดแบบมาใช้ในส่วนของ Edge เพื่อทำ Interference ส่งผลลัพธ์ 0,1 กลับไปให้ได้เร็วขึ้น

3) Cost/Expense

       ขอยกตัวอย่างการใช้ Cloud / Edge ในบริบทข้อดีข้อเสียให้เห็นภาพ
New Computing Model :: MIST - computes
ที่มา : Computes
       ซึ่งถ้าพิจารณาเฉพาะ Cloud และ Edge แล้ว จะคำนึงถึงค่าใช้จ่ายในระบบ Cloud ที่ Pay as you Go และ ค่าใช้จ่ายอุปกรณ์เครือข่าย DSL , 3G/4G/5G , Lora, SigFog และ NBIoT ในส่วน Edge ต้องพิจารณาด้าน Edge platform , ค่าการพัฒนา และ การซ่อมบำรุงรักษา ควบคู่กัน

4) Geographical dispersion of device

       แหล่งข้อมูลที่มาใช้ในการประมวลผลอยู่ในตำแหน่งที่ห่างจากกันมาก เช่นสาขาในร้านค้า หรือ สมาร์ทฟาร์มที่ใช้ในทั่วประเทศ การติดตามระบบรถแท๊กซี่ หรือรถขนส่ง หรือการจอดรถในเมืองอัจฉริยะ เช่นนี้การใช้ Cloud เป็นองค์ประกอบสำคัญมากกว่า Edge และในโครงการใหญ่ๆ ที่ใช้ระบบ power grid ซึ่งใช้ Cloud และ ลดเวลาในการตอบสนอง โดยผนวกกับ On-Premise เพื่อใช้ในการวางระบบรถยนต์ไฟฟ้า แหล่งจ่ายไฟ และ การขับเคลื่อนรถยนต์อัตโนมัติ
CU Boulder CEAE on Twitter: "@kyrib has been selected to lead a ...
ที่มา : Electrical & Computing Engineering  CMU

5) Internet Connectivity

       การใช้ cloud หรือ อุปกรณ์ IoT ที่เชื่อมผ่าน Internet บางที่เรื่องยากและใช้ต้นทุนสูง และต้องการ Computation resource ขนาดใหญ่ ทั้งนี้การคำนวนแบบที่ไม่ต้องการประมวลผลมากนักเช่น Smart Farm ที่การสื่อสาร และ ความคุมกันในระบบปิด Edge ก็เป็นทางเลือกหนึ่งที่เหมาะสม
ที่มา : FarmD

6) Data Privacy/Security

       การเชื่อมต่อข้อมูลผ่านอินเตอร์เน็ต นั้นยังคงมีความเสี่ยง และแม้ว่าเพื่อมาตรการป้องกัน (Cyber Security) เพียงใด การเปิดให้ข้อมูลรับส่งได้ต้องเผชิญกับความเสี่ยงที่ข้อมูลออกไปข้างนอก แก่ผู้ไม่หวังดีบุกรุกเข้ามาได้ อุปกรณ์ IoT จะพบ Exploit หรือจุดอ่อนในด้านความปลอดภัยได้ ทั้งนี้ เราเองได้เจอกลุ่ม Hacker เข้ามามุ่งหวังอุปกรณ์ มือถือ อย่างแอพลิเคชั่น Line เป็นต้น ซึ่งในด้าน policy แล้วบางที่จะมีกฏและการป้องกันเพื่อไม่ให้ข้อมูลได้ถูกส่งออกไปนอกเครือข่ายภายในเด็ดขาด ดังนั้นการพิจารณาเพื่อให้เหมาะสมในเรื่องค่าใช้จ่าย,เวลาในการทำ และ ความซับซ้อนของระบบ ได้ดังนี้

Piercing the Veil: Demystifying Edge vs. Cloud Computing
ที่มา : Cygnet Infotech 

Edge ในภาคอุตสาหกรรม 

       การพัฒนาระบบ IoT ในภาคอุตสาหกรรม 4.0 ที่มีระบบการขับเคลื่อนแบบ Cyber-Physical ในเชิงกายภาพ จากระบบควบคุมหนึ่งไปสู่ระบบโรงงาน ซึ่งมีการพัฒนาในส่วนของอุปกรณ์ Device หรือ Edge ให้มีความเสถียร (Realiability) มาตรฐานการสื่อสารที่ใช้กันอยู่จึงมักเป็น แบบมีสาย เช่น ตระกูล Fieldbus, Modbus หรือ Ethernet อันดับถัดมา อุปกรณ์เครื่องจักรในโรงงานมักจะมาจากผู้ผลิต ที่หลากหลาย มีโพรโตคอลสื่อสารแตกต่างกัน หรือแม้กระทั่งเครื่องจักรเก่าๆ ที่ไม่สามารถสื่อสารใดๆ ได้เลย ทำอย่างไรจึงจะสามารถดึงข้อมูลจากอุปกรณ์เครื่องจักรเหล่านี้ออกมาประมวลผล แม้จะมีระบบที่ควบคุมการเชื่อมต่อทั้งหมด เช่น ROS ที่ใช้ควบคุม Mobile Robot หรือ HMI ที่ควบคุม PLC หลายตัว จากสองประเด็นนี้ Edge จะ สามารถก้าวเข้ามามีบทบาทที่สำคัญยิ่ง โดยในเบื้องต้นอุปกรณ์Edge ควรมีฟังก์ชันที่สามารถแปลงรูปแบบ ข้อมูลที่แตกต่างจากอุปกรณ์เครื่องจักรที่หลากหลายทั้งเก่าและใหม่ให้อยู่ในรูปแบบกลางเพื่อให้บูรณาการเข้า ด้วยกันได้และจากนั้นจะประมวลผลเลยหรือส่งขึ้นไปยัง Cloud ก็ตามแต่ความเหมาะสม ประการที่สาม การสังเคราะห์โมเดลจากข้อมูลที่เก็บมาได้เพื่อนำไปใช้ตัดสินในภาคอุตสาหกรรม จะต้องอาศัยองค์ความรู้จากทั้งฝั่ง OT และ IT มาผนวกกัน การซื้อระบบสำเร็จรูปหรือว่าจ้างผู้เชี่ยวชาญมา พัฒนาอาจให้ผลลัพธ์ที่เร็วแต่ไม่ยั่งยืน เปรียบเสมือนการเพาะชำ เพราะสภาวะในโรงงานหรือธุรกิจที่ เปลี่ยนแปลงได้ตลอดเวลาเช่น ความต้องการของตลาด สภาวะของอุปกรณ์ตามอายุการใช้งาน เครื่องจักร ใหม่ๆ ที่เพิ่มเข้ามาในระบบ หรือการปรับขั้นตอนการผลิต ทั้งหมดล้วนส่งผลให้โมเดลที่ใช้อยู่ใช้ไม่ได้อีกต่อไป ดังนั้นหากบุคลากรของโรงงานเองไม่มีส่วนร่วมกับการพัฒนาระบบตั้งแต่ต้น ก็เป็นการยากที่โรงงานจะ สามารถบำรุงรักษาและปรับแก้ระบบได้เองอย่างเหมาะสม ค าถามที่ตามมาคือ ใครควรรับผิดชอบหน้าที่นี้? IT หรือ OT? นำไปสู่บางเสียงที่ไม่เห็นด้วยกับการใช้ Edge ในอุตสาหกรรม และเสนอให้ใช้ Private Cloud แทน เพื่อให้ความรับผิดชอบนี้ตกอยู่กับฝ่าย IT อย่างชัดเจน เมื่อเรามองวัฒนธรรมในโรงงานส่วนใหญ่ จริงอยู่ที่ OT และ IT ทำงานเป็นเอกเทศจากกันมาก และการรวมกันไม่ใช่เรื่องง่ายด้วยพื้นฐาน องค์ความรู้ และโฟกัสที่ ต่างกัน แต่เราต้องไม่ลืมว่าการก้าวไปสู่อุตสาหกรรม 4.0 การบูรณาการ OT และ IT เข้าด้วยกันเป็นสิ่งที่ หลีกเลี่ยงไม่ได้ซึ่งไม่ใช่จะบูรณาการเพียงแค่ระบบ แต่ต้องรวมไปถึงคน ดังนั้นโรงงานต้องวางแนวทางปรับตัว หากต้องการพัฒนาไปสู่การเป็นโรงงานที่อัจฉริยะหรือฉลาดขึ้น โดยอาจเริ่มต้นจากตั้งโปรเจ็คพัฒนา Edge เพื่อ ติดตามหรือควบคุมกระบวนการใดกระบวนการหนึ่ง และผนึกกำลังคนจากทั้งสองฝั่งให้เข้ามามีส่วนร่วม โดย OT มีบทบาทในการถ่ายทอดองค์ความรู้เฉพาะด้าน หาวิธีการดึงข้อมูลที่เกี่ยวข้องจากเครื่องจักร และนำ ผลลัพธ์ไปปรับปรุงกระบวนการ ขณะที่ฝ่าย IT รับผิดชอบในการสร้างโมเดล พัฒนาโปรแกรม ออกแบบ ตำแหน่งที่ตั้งภายในเครือข่ายของโรงงาน และดูแลเครือข่ายและหน่วยเก็บข้อมูล และ เข้าสู่กระบวนการสลาย Silo เพื่อพัฒนาสู่ Digital Factory หรือ Industry 4.0 ที่ซึ่งสามารถบริหารโรงงานแบบ Real-Time และกำหนด Esset แต่ละแห่งให้ทำงานแบบ Mobility พร้อมกันได้ผ่านระบบ Digital Twin (ระบบควบคุมจากโลกเสมือนไปยังฝ่ายระบบปฏิบัติงาน)

ที่มา : https://j.mp/3i6zS3Q
ที่มา : https://j.mp/2VnrumK

การเชื่อมต่อภาค OT เพื่อเชื่อมสู่ระบบ Digital Twin


"ควรเริ่มต้นอย่างไร และ กระบวนการใด?"

       ปัจจัยหลักสำคัญในโรงงาน คือ Time , Cost และ Reliability  ซึ่งหากมองประสิทธิภาพ(Reliability) เป็นหลัก เราสามารถจำแนกได้ว่าแอปพลิเคชันใดเหมาะสมกับการใช้ Edge โดย ดูจากเวลาและกำลังประมวลผลและค่าใช้จ่าย แต่ภาคอุตสาหกรรมมีความได้เปรียบในแง่ที่ว่าอุปกรณ์ Edge สำหรับโรงงาน สามารถมีขนาดใหญ่และมีประสิทธิภาพสูงได้เพราะ 1) ไม่จำเป็นต้องเคลื่อนย้าย 2) ความต้องการด้านความ น่าเชื่อถือ (Reliability) ดังนั้นเกณฑ์ตัดสินจึงเหลือเพียงเวลาตอบสนองเป็นสำคัญ รูปข้างล่างแสดง ความสัมพันธ์ระหว่างเวลาตอบสนองกับประสิทธิภาพของแอปพลิเคชันต่างๆ ในโรงงานอุตสาหกรรม จะเห็นได้ว่าแอปพลิเคชันที่ควรเป็น Edge อย่างชัดเจนคือการตรวจวัดและแจ้งเตือนความล้มเหลวของอุปกรณ์หรือ เครื่องจักร (ควรจะรวมถึงความผิดปกติที่เกี่ยวข้องกับความปลอดภัยเช่น ไฟไหม้ ก๊าซรั่ว ฯลฯ) ซึ่งก็ไป สอดคล้องกับสิ่งที่โรงงานอุตสาหกรรมการผลิตส่วนใหญ่ให้ความส าคัญเป็นอันดับหนึ่งอยู่แล้ว นั่นคือการลด downtime เนื่องจากส่งผลเสียหายตีมูลค่าเป็นเม็ดเงินได้โดยตรง

ที่มา : Industrial Internet Consortium

       ในการวิเคราะห์ในอนาคตข้างหน้า 2025 เมื่อ Edge Computing มีการพัฒนาถึงสุดแล้วโดยมีการใช้งานทั้ง AR/VR , รถขับเคลื่อนอัตโนมัติ , next gen CDN และการพัฒนาด้านรถกับระบบคำนวน โดยสถาบัน AECC (Automotive Edge Computing Consortium) Cloud Computing  ก็ต้องพัฒนาควบคู่กันไปเพื่อประโยชน์สูงสุด

EDGE COMPUTING MARKET - GROWTH, TRENDS, FORECASTS ที่มา : https://j.mp/3i5IGa4

ตัวอย่างแนวทางการพัฒนาระบบ IoT Edge-Cloud ในภาคอุตสาหกรรม




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

1) Visualisation
รวบรวมพารามิเตอร์ต่างๆ จากเครื่องจักร Data ที่สำคัญในแต่ละหน่วยงาน เช่นการผลิดน้ำหวานใส่ขวดก็ต้องคำนึงส่วนผสมต่างๆ ไม่ว่าจะด้วยการดึงข้อมูลจากเซนเซอร์ที่อยู่ในเครื่องจักรหรือติดตั้งเซนเซอร์ภายนอกเพิ่มเติม จากนั้นส่งไปยังอุปกรณ์ Edge ซึ่งจะทำหน้าที่แสดงค่าให้ผู้ทำงานได้เห็นสถานะของเครื่องจักรแบบเวลาจริง พร้อมๆ กันกับส่งต่อข้อมูลไปเก็บที่คลาวด์
ที่มา : Machine Monitoring & Control (KX knowledge)

2) Fault Detection and Notification
เมื่อมีปริมาณข้อมูลเพียงพอ เราสามารถใช้วิธีการทางสถิติหรือ Unsupervised Machine Learning หรือ Machine Vision ในการวัด และ จำแนกสภาวะผิดปกติของเครื่องจักรเพื่อส่งสัญญาณแจ้งเตือน โดยการคำนวณสามารถทำได้ที่ Edge และแจ้งเตือนแบบ local เช่นไฟแจ้งเตือน หรือสัญญาณเสียง หรือประมวลผลที่คลาวด์เพื่อดูประสิทธิภาพการทำงาน และ การสึกหรอ และแจ้งเตือนผ่านเครือข่ายอินเทอร์เน็ต เช่น Line เป็นต้น โดยในขั้นนี้เราอาจเพิ่มอินพุตจากวิศวกรหรือช่างที่ดูแลเครื่องจักรเข้าสู่ระบบ เช่นให้ระบุชนิดหรือสาเหตุของความผิดปกติเมื่อเกิดการแจ้งเตือน เพื่อใช้เป็น Label ของข้อมูลเตรียมนำไปฝึกสอนโมเดลแบบ Supervised Machine Learning บนคลาวด์สำหรับการพัฒนาขั้นต่อไป
ที่มา : Software Development (KX Knowledge)

3) Fault Identification
ฝึกสอนโมเดลแบบ Supervised Learning โดยใช้ทรัพยากรบนคลาวด์ ระบบที่เป็นผลลัพธ์จะมีความสามารถแยกแยะชนิดของความผิดปกติได้ละเอียดขึ้นโดยเลียนแบบ domain expert ผู้ label ข้อมูล
ที่มา : Fault Detection (KX Knowledge)

4) Fault Prediction
ใช้ข้อมูลช่วงก่อนเกิดสภาวะผิดปกติในการฝึกสอนระบบให้ทำนายความผิดปกติชนิดต่างๆ ล่วงหน้า และแจ้งเตือน ควรให้วิศวกรหรือช่างสามารถอินพุตเฉลย (ผิด/ถูก) เข้าไปในระบบเพื่อให้เกิดการฝึกฝนต่อเนื่องและปรับปรุงความแม่นยำของการทำนาย
ที่มา : smart maintenance (http:gg.gg/fds5h)

5) Automatic Fault Prevention
กำหนด Action ของระบบสำหรับแต่ละสภาวะผิดปกติที่ทำนายเพื่อป้อนกลับไปจัดการเครื่องจักรโดยไม่ต้องรอให้เกิดความผิดปกติหรือรอให้คนมาแก้ไข ดังนั้นการคำนวณ (Inference) ในขั้นนี้จำเป็นที่จะต้องเกิดที่ Edge เพื่อการตอบสนองที่รวดเร็ว
ที่มา : Research Gate
การพัฒนาระบบ IIoT แบบขั้นบันได้ (ที่มา : Nectec)

ซึ่งเมื่อพิจารณาถึงตัวอย่างและแนวทางการพิจารณา ต้องคำนึง RoI เพื่อได้ประโยชน์จากการลงทุนที่ผู้ประกอบการเห็นว่าคุ้มค่า และ เหมาะสม โดยพิจารณา การเพิ่ม Value ให้กับโรงงาน การพัฒนาทักษะสกิลคนงาน และ กระบวนการปรับเปลี่ยนโรงงานเป็น Digital Factory เพื่อบูรณาการในทุกภาคส่วน แบบ End to End ซึ่งสามารถรับความต้องการของผู้บริโภค และ บูรณาการใช้เทคโนโลยีต่างๆอย่างเหมาะสม เพื่อ แก้ไข ปรับปรุง ตอบโจทย์ปัญหา สร้างรายได้ (Outcome) ที่เราไม่เคยสามารถทำได้มาก่อน ด้วยการผสานระว่าง Man , Machine , Material 

Smart Factory การขับเคลื่อน สู่ภาคธุรกิจ (ที่มา : @mikequndazz)
Industry 4.0 กับการขับเคลื่อนด้วยเทคโนโลยี (ที่มา : @Ranald_vanLoon)

 Digital Transformation pyramid (ที่มา : @Ranald_vanLoon)


ที่มา และ ข้อมูลอ้างอิง :
สัมนาของทาง KX : https://www.facebook.com/kxinnovation
ระบบขับเคลื่อนอัตโนมัติ AGV (Automate Guide Vehicle)
26 Jun 2020

ในวงการ Logistic บ้านเราคงทราบกันดีเกี่ยวกับการใช้ AGV หรือ Automatic Guided Vehicle ซึ่งวันนี้ขออธิบายคร่าวเกี่ยวกับ AGV แต่ละแบบ และ การใช้งาน


ตัวอย่างระบบรถที่ใช้การชาจแบบ Wireless ซึ่งต้องพิจารณาจากการออกแบบ และ ระยะห่างจากจุดชาร์จ





เมื่อประยุกต์ใช้งานกับระบบ Convenyer (สายพานลำเลียง) โดยใช้ Servo Motor เพื่อความแม่นยำ 


โดยลักษณะของ AGV จะมีทั้งแบบ Automated Carts, Unit Load AGV , Tugger AGV และ Automated ForkLift AGV รวมถึง Slam AGV


ในระบบตัวอย่าง AGV ที่มี Sensor Detect คนและสิ่งของรอบข้าง รวมทั้งระบบยก Pallet , Cage สั่งงานผ่าน iPAD และ คำนวนโหลดแต่ละจุดโดยอัตโนมัติ



ตัวอย่างงาน AGV ที่เป็น SLAM ราคาประมาณ 1.7 M , การใช้ Machine Vision เพื่อจับยึดกรงอัตโนมัติ หรือการ sorting บน SLAM ได้เลยและส่งไปยังสายพาน รวมทั้งระบบส่ง AGV ผ่านระบบ Lift โดยผ่านโปรแกรม บน projector เพื่อลดการผิดพลาด และ การตัดสินใจของคน




การผสมผสานระบบงาน AGV เข้ากับระบบการตรวจสอบการกระจายสินค้า โดยมีการแสดงวิธีการจำแนกสินค้าด้านบน

AGV แบบ FolkLift สามารถยกสินค้าได้สูงสุด 1 ตัน พื้นที่กระทัดรัด และ เลื่อนเข้าจุดชาร์จอัตโนมัติ


การเชื่อมต่อระบบ RFID ผสมผสานระบบ AGV ในโรงงาน BMW มีระบบ Kinexon เพื่อฝังไว้ในอุปกรณ์ AGV รวมทั้งใช้ในวงการกีฬา โดยฝังไว้ในเสื้อของนักกีฬา เพื่อได้ตำแหน่งค่า X,Y โดยการทำ ต้องพิจารณาจากการวางล้อ การตรวจสอบให้ได้ตามสเปคลูกค้า รวมถึง Safety ให้เหมาะสมกับงานลูกค้า โดยเผื่อค่า covalent แต่ละระบบให้เหมาะสมตามลักษณะการใช้งาน



ในขณะที่ทางญี่ปุ่นเองก็พัฒนาระบบ AGV แบบ Following object  เพื่องานที่ตามใจคนทำหน้างาน

ใช้ระบบ Laser Sensor ในการติดตามคน และใช้ในภาคการเกษตร และ การก่อสร้าง ในบ้านเรามีใช้ในโรงงานรถยนต์ โดยใส่เสื้อสีที่ต้องการ และใช้ AGV ที่มีความสามารถจำแนกสีได้ราคาในญี่ปุ่นประมาณ 300,000 บาท


การประยุกต์ใช้ AGV Follow Object ในโรงงาน ซึ่งราคาต่อค่าแรงเขายังคุ้มค่าที่จะใช้งานอยู่ โดยระบบมีดีไซน์ให้วางล้อให้กรณีแบตหมดเพื่อในการเปลี่ยน และ เข็นได้ง่ายขึ้น


ทั้งนี้ในอนาคตอันใกล้เราคงได้เห็นระบบ AGV ที่บูรณาการและสั่งงานได้ทั้งแนวระนาบ และ แนวดิ่ง และมีระบบหยิบจับเองอัตโนมัติได้อันใกล้ และ สั่งพิมพ์แบบ 3D ได้ ทั้งนี้ต้องพิจารณาเรื่อง จุดคุ้มทุน โดยพิจารณาจากราคาสินค้า และ ค่าแรง





ที่มา และ ข้อมูลอ้างอิง :
อบรมสัมนา Course RAI กับทาง สจล. : https://www.facebook.com/KMITL.RoboticsAI
Synergy Asia Solution Co.,ltd. 
Drone กับการควบคุมโดย Python
24 Jun 2020



ขอแนะนำขั้นตอนการเชื่อมต่อเพื่อสั่งงานระบบ Drone ของ DJI รุ่น Tello Edu ซึ่งผลิตโดย Ryze Robotics มีขีดความสามารถในการสั่งงาน และ เชื่อมต่อมากกว่า 1 ตัว จาก PC เราได้




ซึ่งเราสามารถ Emulate Drone รุ่นอื่นๆ และ ลอง ชุดคำสั่ง script สั่ง โดรนผ่านระบบ Simulation ด้วย Rosbot ในบทความครั้งก่อน ดังนี้




ด้วยการที่โดรนDJI Tello รุ่นนี้ เปิดความสามารถให้นักพัฒนาเข้าไปเขียนชุดคำสั่งต่างๆ ผ่านระบบเน็ตเวิร์คเครื่อข่าย Wifi สำหรับ SDK สามารถอ่านรายละเอียด ได้จาก

(https://dl-cdn.ryzerobotics.com/downloads/Tello/Tello%20SDK%202.0%20User%20Guide.pdf)

นอกเหนือจากนั้น DJI เปิดให้นักพัฒนาเขียนระบบเพื่อควบคุมโดรนที่มีศักยภาพสูง และมีความซับซ้อนมากขึ้นซึ่งศึกษาได้จาก https://developer.dji.com/

การเรียนโดรนตัวนี้ เพียงเพื่อการศึกษา การทำงานแบบ drone sync  (swarm)

โดยเตรียมอุปกรณ์ และ ระบบที่ใช้งานมีดังนี้


1) Drone Tello รุ่น EDU ราคาประมาณ 4,000 - 4,900 บาท
2) Software Packet Sender https://packetsender.com/download
3) ระบบปฏิบัติการ Ubuntu 18.04 LTS เพื่อเขียน python script สำหรับควบคุมสั่งงาน Drone https://releases.ubuntu.com/18.04/ โดยสามารถสร้างผ่าน ระบบ WSL2 บน windows 10 ขึ้นไปอ่านเพิ่มเติมได้จาก ติดตั้ง Linux 18.04

ในส่วนประกอบของโดรนมีส่วนต่างๆ ที่สำคัญได้แก่

Rotors, Motors , Camera , Accelerometer , Connectivity และมีส่วนของใบพัดทั้งหมดเป็นคู่ 4 แกน หรือ 6-8 แกน โดยความสามารถของโดรนสามารถเคลื่อนที่ได้ ด้วยการ Yaw , Pitch, Roll สำหรับการหมุนทั้ง 3 ระนาบดังรูป

Yaw, pitch and roll rotations of a Quadcopter. | Download ...



ในส่วนของ Telloสามารถเขียน ชุดคำสั่งด้วย GUI เราเอง เพื่อสั่งงานให้ โดรนเคลื่อนที่ ไปยังทิศทางต่างๆได้ และ ยังทั้งสามารถเขียน code python ให้ติดตามใบหน้าของคนที่ตรวจจับได้ด้วย OpenCV และ เชื่อมต่อด้วย video stream 720p ซึ่งสามารถประมวลผลด้วย embed system อย่าง Raspberry Pi โดยติดตั้งบนตัวโดรนเอง



Tello Drone Face Follower - Patrick Ryan - Medium



ในส่วนของ API ที่ใช้เชื่อมต่อ กับ Tello นั้นรับคำสั่งจาก UDP โปรโตคอล สำหรับส่งชุดคำสั่งไปยังโดรน ซึ่งทดสอบโดรนด้วยคำสั่งง่ายๆจาก packet sender



โดยกำหนด IP และ TCPIP port เป็น 192.168.10.1 port 8889 ตั้งค่าที่ เมนู File Setting UDP server 8889
สำหรับชุดคำสั่ง ของโดรน เริ่มต้นด้วย command และ เมื่อโดรนรับคำสั่งแล้วจะส่ง packet UDP ตอบกลับมา (Receive Tello State) ซึ่งบางคำสั่งจะต้องใช้เวลาในการทำงานให้เสร็จ เช่น คำสั่ง take off , land โดยจะส่งมาจาก IP 0.0.0.0 ที่ UDP port 8890

สำหรับการรับ Video จาก Tello จะส่งมาจาก UDP server : 0.0.0.0 Port : 11111 และถ้าจะเปิดรับ Video Stream ด้วยการสร้าง UDP server รับ message จาก IP 0.0.0.0  และสั่งให้ส่งภาพวิดีโอ ด้วย "streamon" ไปยัง Tello (IP 192.168.10.1) ที่ พอร์ต 8889

สำหรับค่าที่ ได้รับ จาก Tello จะมีค่า  "ok" และ "error"

โดยสามารถเขียน ชุดคำสั่งด้วย python เพื่อสร้าง controller ด้วย GUI บน python ดังนี้

Gui Not Responding · Issue #933 · fyne-io/fyne · GitHub


การเตรียมความพร้อมสำหรับ Ubuntu

- ติดตั้ง package ต่างๆ ในส่วน python
sudo apt-get update -y
sudo apt-get install python2.7 python-pip -y
sudo pip install --upgrade pip
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 150
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 100
sudo apt-get update -y
sudo pip install cmake

- ติดตั้ง Library
sudo apt-get install libboost-all-dev -y
sudo apt-get install libavcodec-dev -y
sudo apt-get install libswscale-dev -y
sudo apt-get install python-numpy -y
sudo apt-get install python-matplotlib -y
sudo pip install opencv-python
sudo apt-get install python-imaging-tk

- ติดตั้ง h264decoder
mkdir h264decoder
sudo git clone https://github.com/DaWelter/h264decoder.git
cd h264decoder
mkdir build
cd build
sudo cmake
sudo make

ทดสอบโปรแกรมง่ายๆเพื่อส่งคำสั่งให้โดรน Take off , Landing

# Import the built-in socket package
import socket
import time

# IP and port of sending computer
# In this case we're sending a UDP packet to PacketSender for
demonstration purposes
# Be sure to change this to the IP address of the computer running this Python script
simulated_tello_address = ('10.100.8.229', 8889)

# Create a UDP connection that we'll send the command to sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# Command variable that we'll send
# This "command" value is what lets Tello know that we want to enter command mode
message = "command"


# Local port for binding port from tello
sock.bind(('', 9000))

# Function to send messages to Tello
def send(message):
try:
 sock.sendto(message.encode(), tello_address)
 print("Sending message: " + message)
except Exception as e:

 print("Error sending: " + str(e))

# Function that listens for messages from Tello and prints them to the screen
def receive():
try:
 response, ip_address = sock.recvfrom(128)
 print("Received message: " + response.decode(encoding='utf-8') + "
    from Tello with IP: " + str(ip_address))

except Exception as e:

 print("Error receiving: " + str(e))

# Send Tello into command mode
send("command")
# Receive response from Tello
receive()
# Delay 3 seconds before we send the next command

time.sleep(3)

send("takeoff")
receive()
# Delay 5 seconds before we send the next command

time.sleep(5)

send("land")
receive()
# Delay 5 seconds before we send the next command

time.sleep(5)

# Print message to screen

print("Message sent!")

# Close the UDP socket
sock.close()


การควบคุมโดรนกรณีมากกว่า 2 ตัวขึ้นไป (Swarm)โดยควบคุมผ่าน Router โดยส่งคำสั่งให้โดรนเปลี่ยนการเชื่อมต่อไปยัง Router  โดยต้องทราบ SSID และ รหัสผ่าน




ตัวอย่างดังรูปเป็นการส่งคำสั่งไปยังโดรนเพื่อเปลี่ยน AP เป็น TP-LINK "ap TP-LINK_2ADE 12345678"


และใช้ชุดคำสั่งจาก python script เพื่อสั่งโดรนให้บินพร้อมๆกัน ยกตย. คำสั่งดังนี้

# Import modules
import subprocess
import ipaddress
from subprocess import Popen, PIPE

# Create the network
# The IP below is associated with the TP-Link wireless router
ip_net = ipaddress.ip_network(u'192.168.0.1/24', strict=False)

# Loop through the connected hosts
for ip in ip_net.hosts():
# Convert the ip to a string so it can be used in the ping method
ip = str(ip)

# Let's ping the IP to see if it's online
toping = Popen(['ping', '-c', '1', '-W', '50', ip], stdout=PIPE)
output = toping.communicate()[0]
hostalive = toping.returncode

# Print whether or not device is online
if hostalive ==0:
print(ip, "is online")
else:
print(ip, "is offline")
--------------------------------------------------------------------------
And here is your example Python code for Tello Drone Swarm, “Swarmpattern.py”
--------------------------------------------------------------------------
# Import the necessary modules

import socket
import threading
import time

# IP and port of Tello
tello1_address = ('192.168.0.100', 8889)
tello2_address = ('192.168.0.101', 8889)
# IP and port of local computer
local1_address = ('', 9010)
local2_address = ('', 9011)

# Create a UDP connection that we'll send the command to
sock1 = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock2 = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# Bind to the local address and port
sock1.bind(local1_address)
sock2.bind(local2_address)

# Send the message to Tello and allow for a delay in seconds
def send(message, delay):
 # Try to send the message otherwise print the exception
 try:
  sock1.sendto(message.encode(), tello1_address)
  sock2.sendto(message.encode(), tello2_address)
  print("Sending message: " + message)
 except Exception as e:
  print("Error sending: " + str(e))
 # Delay for a user-defined period of time
 time.sleep(delay)

# Receive the message from Tello
def receive():
 # Continuously loop and listen for incoming messages
 while True:
  # Try to receive the message otherwise print the exception

  try:
   response1, ip_address = sock1.recvfrom(128)
   response2, ip_address = sock2.recvfrom(128)
   print("Received message: from Tello EDU #1: " + response1.decode(encoding='utf-8'))

print("Received message: from Tello EDU #2: " + response2.decode(encoding='utf-8'))

 except Exception as e:
  # If there's an error close the socket and break out of the loop
  sock1.close()
  sock2.close()
  print("Error receiving: " + str(e))
  break

# Create and start a listening thread that runs in the background
# This utilizes our receive functions and will continuously monitor for incoming messages
receiveThread = threading.Thread(target=receive)
receiveThread.daemon = True

receiveThread.start()
# Each leg of the box will be 100 cm. Tello uses cm units by default.
box_leg_distance = 100

# Yaw 90 degrees
yaw_angle = 90
# Yaw clockwise (right)
yaw_direction = "cw"
# Put Tello into command mode
send("command", 3)
# Send the takeoff command
send("takeoff", 8)

# Loop and create each leg of the box
for i in range(4):
 # Fly forward
 send("forward " + str(box_leg_distance), 4)
 # Yaw right
 send("cw " + str(yaw_angle), 3)

# Land
send("land", 5)

# Print message
print("Mission completed successfully!")
# Close the socket
sock1.close()

sock2.close()


ทั้งนี้ต้องทดสอบในภาคสนามสำหรับการเชื่อมต่อโดรนที่มากขึ้นและมีความซับซ้อนดังตัวอย่างดังนี้










ที่มา และ ข้อมูลอ้างอิง :
อบรมสัมนา Course RAI กับทาง สจล. : https://www.facebook.com/KMITL.RoboticsAI


ROS เริ่มต้นสร้างหุ่นยนต์ขับเคลื่อนอัตโนมัติ
24 Jun 2020
เมื่อพูดถึงการขับเคลื่อนหุ่นยนต์ จะมีชุดระบบซอฟต์แวร์ที่ใช้ในการขับเคลื่อนหุ่นยนต์ ชื่อ ROS

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


อ้างอิงจาก เวบไซต์ของ ROS

https://www.theconstructsim.com/wp-content/uploads/2020/02/ros_developers_live_class_n80.pdf


เริ่มต้นด้วยสมัครสมาชิกROS https://rds.theconstructsim.com/ ใช้ google account หรือ facebook ขอแนะนำ ใช้ google chrome เพื่อความเสถียรของระบบ



หลังจากนั้นสร้าง New ROSject และเลือก parameter ดังนี้





เมื่อเลือก ROS configuration และ Robot ที่จะโปรแกรมได้แล้ว ให้กด Create จะขึ้นหน้าจอ ทำงานดังนี้





สร้าง Package และ config source สำหรับ environment


ในบางครั้งที่ระบบ ROS เราต้อง source environment ของระบบ ด้วย คำสั่งดังนี้ โดยคำสั่งจะ แสดงชุดคำสั่งใน .bashrc เพื่อเริ่มต้นระบบ สำหรับ environment ของ ROS

In [ ]: $ echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
In [ ]: $ echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc 

ในการที่เราจะสร้าง rosbot_patrol ในแฟ้ม catkin_ws/src ทำได้โดยใช้ชุดคำสั่งนี้

In [ ]: $ catkin_create_pkg rosbot_patrol roscpp

สำหรับการสร้างระบบ simulation ของ robot_patrol_simulation ซึ่งเราสร้างใน simulation_ws/src ด้วยคำสั่งจากเชลล์ดังนี้

In [ ]: $ catkin_create_pkg rosbot_patrol_simulation roscpp

ณ. ตอนนี้เราได้สร้าง package ของระบบเรียบร้อย ให้เรา catkin_make ใน folder ทั้งสองเพื่อตรวจสอบการทำงานของระบบ

In [ ]: user:~/catkin_ws$ catkin_make
In [ ]: user:~/simulation_ws$ catkin_make 
เมื่อเรียบร้อยระบบจะขึ้นข้อความสำเร็จดังรูป
Catkin_ws

Simulation_ws

ขั้นตอนส่วนของ Simulation

เข้าไปยัง Package และ เรียกใช้ command ดังนี้
In [ ]: $ cd simulation_ws/src/rosbot_patrol_simulation

หลังจากนั้นสร้าง folder ใหม่ชื่อ worlds ด้วยชุดคำสั่งดังนี้

In [ ]: $ mkdir worlds 

เข้าไปใน โฟลเดอร์ และสร้างไฟล์ ชื่อ model.world จะสร้างใน IDE เพื่อง่ายในการใช้งาน




หลังจากนั้นให้ copy code จาก ลิงค์นี้ ทั้งหมด 1678 บรรทัด ลงแฟ้ม และบันทึก

ซึ่ง จะเป็นข้อมูลของแผนที่ทั้งหมด ในส่วนของ หุ่นยนต์ที่ใช้งาน เช่น กำแพง , พระอาทิตย์

หลังจากสร้างไฟล์แล้วให้สร้างโฟลเดอร์ใหม่ใน src folder (simulation_ws/src/rosbot_patrol_simulation) เรียกว่า launch ซึ่งใช้ใน IDE จะง่ายกว่า สร้างไฟล์ชื่อว่า simulation_mapping.launch

และ copy code ข้างล่างใส่เข้าไป

In [ ]:
 

xml version="1.0" encoding="UTF-8"?>
<launch>
 <param name="use_sim_time" value="true"/>
 <arg name="world" default="empty"/>
 <arg name="paused" default="false"/>
 <arg name="use_sim_time" default="true"/>
 <arg name="gui" default="true"/>
 <arg name="headless" default="false"/>
 <arg name="debug" default="false"/>
 <include file="$(find gazebo_ros)/launch/empty_world.launch">
 <arg name="world_name" value="$(find rosbot_patrol_simulation)/worlds/model.world"/>
 include>
 <include file="$(find rosbot_description)/launch/rosbot_gazebo.launch"/>
 <node pkg="tf" type="static_transform_publisher" name="laser_broadcaster" args="0 0 0 3.14 0 0 base_link laser_frame 100" />
launch>

ขั้นตอนนี้เป็นการสร้า rosbot_description package ในส่วนของ rosbot เพื่อเชื่อมการทำงานในส่วนของ base_link และ ส่วนต่างๆของ rosbot

เริ่มต้นทดลอง Simulation กัน ไปที่ Simulations เมนู และเลือก Choose launch file..
จากตรงนี้จะมีส่วน package ที่ชื่อว่า rosbot_patrol_simulation launch และให้เริ่มต้น simulation_mapping.launch


หลังจากนั้น คุณจะเห็น simulation ดังรูป



Mapping code


Gmapping

หลังจาก simulation เรียบร้อยแล้ว ให้เข้าไปในส่วนของ catkin_ws/src/rosbot_patrol/src และสร้าง โฟลเดอร์ เรียกว่า launch และสร้างไฟล์ชื่อว่า gmapping_only.launch และ copy code เข้าไป

In [ ]:

<launch>
<node pkg="gmapping" type="slam_gmapping" name="slam_gmapping" output="screen">
 <remap from="/base_scan" to="/scan"/>
 <param name="base_frame" value="base_link"/>
 <param name="map_frame" value="map"/>
 <param name="odom_frame" value="odom"/>
 <param name="map_update_interval" value="5.0"/>
 <param name="maxUrange" value="16.0"/>
 <param name="sigma" value="0.05"/>
 <param name="kernelSize" value="1"/>
 <param name="lstep" value="0.05"/>
 <param name="astep" value="0.05"/>
 <param name="iterations" value="5"/>
 <param name="lsigma" value="0.075"/>
 <param name="ogain" value="3.0"/>
 <param name="lskip" value="0"/>
 <param name="srr" value="0.1"/>
 <param name="srt" value="0.2"/>
 <param name="str" value="0.1"/>
 <param name="stt" value="0.2"/>
 <param name="linearUpdate" value="0.05"/>
 <param name="angularUpdate" value="0.05"/>
 <param name="temporalUpdate" value="0.5"/>
 <param name="resampleThreshold" value="0.5"/>
 <param name="particles" value="30"/>
 <param name="xmin" value="-50.0"/>
 <param name="ymin" value="-50.0"/>
 <param name="xmax" value="50.0"/>
 <param name="ymax" value="50.0"/>
 <param name="delta" value="0.05"/>
 <param name="llsamplerange" value="0.01"/>
 <param name="llsamplestep" value="0.01"/>
 <param name="lasamplerange" value="0.005"/>
 <param name="lasamplestep" value="0.005"/>
node>
launch>


และในส่วนของค่าต่างๆที่เราสามารถสร้างวัตถุลงในโลกเสมือนได้โดยมีตัวอย่างของ Husarion ให้ศึกษาดังนี้ 
(https://husarion.com/tutorials/ros-projects/security-guard-robot/)

โดยสามารถกำหนดค่าต่างๆใน directory ในส่วนของ Scan , base_link , map และ odom

Move_base

หลังจากนั้น สร้างไฟล์อีกอันใน folder launch ชื่อ move_base_only.launch และ copy code ดังนี้

In [ ]:

<launch>
 <node pkg="move_base" type="move_base" name="move_base" output="log">
 <param name="controller_frequency" value="25.0"/>
 <rosparam file="$(find tutorial_pkg)/config/costmap_common_params.yaml" command="load" ns="global_costmap" />
 <rosparam file="$(find tutorial_pkg)/config/costmap_common_params.yaml" command="load" ns="local_costmap" />
 <rosparam file="$(find tutorial_pkg)/config/local_costmap_params.yaml" command="load" />
 <rosparam file="$(find tutorial_pkg)/config/trajectory_planner.yaml" command="load" />
 <rosparam file="$(find rosbot_patrol)/config/global_costmap_params.yaml" command="load" />
 node>
launch>

สังเกตุว่าให้สร้างไฟล์ทั้งหมดไว้ใน rosbot_patrol_simulation pkg เพราะค่า params ต่างๆ จะเรียกใช้จาก folder นี้

หลังจากนั้นสร้างโฟลเดอร์ catkin_ws/src/rosbot_patrol/src ชื่อว่า config และ สร้างไฟล์ในโฟลเดอร์ ชื่อว่า global_costmap_params.yaml และ copy code ดังนี้

In [ ]:

global_costmap:
 update_frequency0.5
 publish_frequency0.5
 transform_tolerance0.5
 width35
 height35
 static_mapfalse
 rolling_windowtrue
 inflation_radius2.5
 resolution0.01

ใน global cost map นี้จะมีส่วนสำคัญในการค้นหา และ สร้างแผนที่ การกำหนด parameter บางตัวเพื่อให้ ระบบ คนหาเส้นทางได้ง่ายขึ้น

Creating the launch file and save the map

คราวนี้เข้าไปใน launch folder อีกครั้ง สร้างไฟล์ชื่อ  running_gmapping.launch และ copy code ดังนี้

In [ ]:

xml version="1.0" encoding="UTF-8"?>
<launch>
 <include file="$(find rosbot_patrol)/launch/gmapping_only.launch" />
 <include file="$(find rosbot_patrol)/launch/move_base_only.launch" />

 <node name="teleop_twist_keyboard" pkg="teleop_twist_keyboard" type="teleop_twist_keyboard.py" output="screen"/>

launch>

ในการที่จะเริ่มต้นใช้งานชุดคำสั่งนี้ ให้เปิด Shell ใหม่ และ พิมพ์ command ดังนี้ซึ่งคุณจะเห็นภาพของ robot ใน graphical tools ใน Tools menu

In [ ]: $ roslaunch rosbot_patrol running_gmapping.launch
สร้าง rviz สำหรับ visualization ด้วยการเปิด shell ใหม่ และ พิมพ์คำสั่งดังนี้

In [ ]: $ rviz
เมื่อ Rviz เปิดขึ้นมาจะแสดงรายละเอียดเกี่ยวกับ โมเดลของ robot และ แผนที่  และ ให้เราทำการ สำรวจแผนที่ แก้ไขเฟรม และ เพิ่ม map, laser scan topic และ Robot model ต่างๆดังรูป



ทำโดยกดที่ปุ่ม Add และในส่วน Tab By display type  เพิ่ม LaserScan , RobotModel และ Map


จากนี้เป็นการเรียก teleop_twist_keybord เพื่อให้ rosbot แสกนพื้นที่แบบ manual ให้ทั่ว ในแผนที่ โดยใช้คำสั่งดังนี้

In [ ]: $ rosrun teleop_twist_keyboard teleop_twist_keyboard.py

ซึ่งสามารถควบคุม rosbot ใน simulation world ได้ด้วยตัวอักษรบน Keyboard ดังรูป




หลังจากที่สำรวจพื้นที่ทั้งหมดได้เรียบร้อยแล้ว ให้เข้าไปที่ directory ด้วยคำสั่งดังนี้

In [ ]: $ cd catkin_ws/src/rosbot_patrol/src

และสร้าง โฟลเดอร์ maps และ เรียกใช้คำสั่งนี้ใน โฟลเดอร์ดังกล่าว

In [ ]: $ rosrun map_server map_saver -f rosbot_map

จะได้ ไฟล์รูปภาพมาซึ่งสามารถ Download มาดูได้ นามสกุล pgm


Amcl to navigate

เมื่อสร้างแผนที่เรียบร้อยแล้วสร้าง launch ไฟล์อีกอันสำหรับ acml เพื่อให้ rosbot ค้นหาสถานที่ในแผนที่เอง โดยเข้าไปโฟลเดอร์ launch และ สร้างไฟล์ที่ชื่อว่า amcl_only.launch และ copy code ดังนี้

In [ ]:

<launch>
 <node pkg="amcl" type="amcl" name="amcl" output="screen">
 <remap from="scan" to="/scan"/>
 <param name="odom_frame_id" value="odom"/>
 <param name="odom_model_type" value="diff-corrected"/>
 <param name="base_frame_id" value="base_link"/>
 <param name="update_min_d" value="0.5"/>
 <param name="update_min_a" value="1.0"/>
 node>
launch>

Final launch file


เพื่อทดสอบโครงงาน rosject เราสร้าง launch ไฟล์ ตัวใหม่ชื่อว่า nav_rosbot.launch

In [ ]:

xml version="1.0" encoding="UTF-8"?>
<launch>
 <include file="$(find rosbot_patrol)/launch/move_base_only.launch" />
 <include file="$(find rosbot_patrol)/launch/amcl_only.launch"/>

 <node name="teleop_twist_keyboard" pkg="teleop_twist_keyboard" type="teleop_twist_keyboard.py" output="screen"/>

 
 <arg name="map_file" default="$(find rosbot_patrol)/maps/rosbot_map.yaml"/>
 <node name="map_server" pkg="map_server" type="map_server" args="$(arg map_file)" respawn="false" />

launch>

และเรียกใช้งานคำสั่งนี้ใน Shell

In [ ]: $ roslaunch rosbot_patrol nav_rosbot.launch
เมื่อเปิด Graphical Tools ขึ้นมาจะเห็นว่า Robot จะสำรวจพื้นที่ และ เราสามารถใช้ rosbot ไปยังตำแหน่งต่างๆได้ด้วยคำสั่ง 2D Nav Goal



Connect to the real robot


เมื่อ ติดตั้ง rosds_real_robot_connection ซึ่งสามารถอ่านเพิ่มเติมได้จากนี้
(https://www.theconstructsim.com/use-real-robot-connection-rosdevelopementstudio/)


Turn On the Real Robot Connection from the Robots side

คุณสามารถติดตั้งคำสั่งเหล่านี้เพื่อควบคุมติดตามการทำงานของ robot ได้

เปิดเวบเบราเซอร์ (แนะนำใช้ google chrome) และ ใส่ IP ของ deviceตามด้วย port 3000
และ user_name_in_device=panandtilt




ซึ่งในอนาคตจะได้เห็น Mobile Robotic ฝีมือคนไทยเพื่อใช้ใน อุตสาหกรรมต่างๆ ในเร็วๆนี้




ในส่วนของ ROS ได้มีการพัฒนา ROS2 โดยเปลี่ยนโครงสร้างระบบทั้งหมด ซึ่งสามารถหาอ่านได้จาก

ที่มา และ ข้อมูลอ้างอิง :
อบรมสัมนา Course RAI กับทาง สจล.https://www.facebook.com/KMITL.RoboticsAI
ROS กับการสร้างแขนกล : https://www.jesseweisberg.com/moveo-with-ros
หุ่นยนต์สุนัขสร้างด้วย ROS : http://zlethic.com/quadruped-tsuki/


Sun Moon Lake แหล่ง ฮิตฮันนีมูน
29 May 2019

แหล่งท่องเที่ยวเชิงวัฒนธรรมอีกแห่ง ใน Sun Moon Lake


เพลิดเพลินเดินทางสถานที่แปลกใหม่ Sun Moon Lake กับมุมมองในใจกลางเกาะไต้หวัน ด้วยวัฒนธรรมที่ไม่แตกต่างกัน

เริ่มเดินทางด้วยรถไฟ TRA หรือ THSR Station (High Speed Train) มุ่งหน้าไปสู่สถานี Taichung ซึ่งเป็นเมืองท่า เพื่อต่อรถบัสไปยัง Sun Moon Lake

Taipei Main Station (BL12/RL10) -> THSR Taipei Station -> THSR Taichung -> Nantou Bus -> Sun Moon Lake (Shuishe Pier)

รถไฟ THSR มุ่งหน้าไป Taichung
ป้ายโฆษณาที่สถานี Taichung เน้น Social media

ตั๋วรถไฟความเร็วสูง
เมื่อถึงสถานี Taichung แล้ว เลือกซื้อ ตั๋ว Sun Moon Lake เพื่อสะดวกในการเดินทาง ตั๋วมีหลายประเภท และ ราคา ตามเวลา และ สถานที่จะเดินทาง
ใบสี แดง จะรวม รถบัส , กระเช้า , เรือล่องไปยัง Sun Moon Lake , เช่าจักรยาน และ ส่วนลดซื้อของ


ราคาตั๋วแต่ละประเภท
ทริปสำหรับเดินทางใน Sun Moon Lake
ตั๋ว Sun Moon Lake
รอสักพัก ก็มีรถบัสเดินทางไป Sun Moon Lake มาถึง
HSR <-> Sun Moon Lake 



มีรถบางคันเดินทางไปเฉพาะ Puli ต้องสอบถาม




นั่งสักพักก็พบกับศูนย์นักท่องเที่ยว เดินต่อไปตามทาง ลงไปด้านล่างก็เจอท่าเรือ Shuishe
ศูนย์นักท่องเที่ยว Sun Moon Lake


ท่าเรือ Shuishe จุดเริ่มต้นเดินทาง Sun Moon Lake
คับคั่งไปด้วยเรือเดินทางมีทั้งไกด์ภาษาจีน และ อังกฤษ

เดินทางมาถึงท่าเรือที่ Xuanguang Temple ซึ่งบรรยากาศทัศนียภาพสวยงามสบายตา เหมาะเป็นแหล่งฮันนีมูน ซึ่งจะได้พบกับ เกาะลาหลู่ (Lalu)  แนะว่าให้ลองทานร้านไข่ต้มใบชาอาม่า ที่ขายมากว่า 50ปี
Sun Moon Lake (Shuishe Pier) -> (Xuanguang Temple Pier)
มีเก็บอัฐืพระถังซัมจั๋ง ณ.วัดเซวียนจ้าง
ภาพมุมสูงสมัยก่อนยุคเริ่มในปี 1955
นักร่อนเร่พเนจร ธุดงค์ สมัยก่อน



หลังจากนั้น นั่งโดยสารเรือเพื่อเดินทางไปยังท่าเรือ Ita Thao เพื่อไปนั่งกระเช้า ที่จุดนี้มีศูนย์สำหรับนักท่องเที่ยวเพื่อเลือกชม ซื้อ สินค้าพื้นเมือง และมีชาดำ ที่ขึ้นชื่อของที่นี้ด้วย

Sun Moon Lake (Xuanguang Temple Pier) -> (Ita Thao Pier)
แหล่งซื้อขายของพื้นเมือง
ร้านชาดำขึ้นชื่อของท่าเรือ Ita Thao


รอหลบฝนที่ร้านชานมไข่มุกสักพัก ก่อนเดินทางขึ้นกระเช้า

ร้านชานมไข่มุก TEA18


ระหว่างเส้นทางเดินไปยังกระเช้า มีรีสอร์ทที่พักมากมายเหมาะสำหรับผู้ที่ต้องการมาพักค้างคืน

รีสอร์ทภายในบริเวณท่าเรือ Ita Thao

และแล้ว ก็เดินทางมาถึงกระเช้าเพื่อเดินทางไปชมภาพโดยรวมของ Sun Moon Lake
กระเช้าลอยฟ้า

กระเช้าลอยฟ้าแบบ Crystal เห็นได้รอบทิศทาง

มุมมองจากด้านบนกระเช้าลงมา

ภายในสถานีกระเช้าจะรายงานสภาพอากาศโดยรวม
รายงานสภาพอากาศรอบๆ เพื่อตัดสินใจ พักหรือ เดินทางกลับ

เสร็จภาระกิจก็เดินทางกลับไปขึ้นรถบัสที่ ศูนย์นักท่องเที่ยว เพื่อขึ้นสถานี TRA เดินทางกลับ Taipei ภายในรถไฟ มีบริการอาหารกล่องรองท้องก่อนจัดหนัก

 Sun Moon Lake (ShuiShe Pier) -> Shuishe Visitor Center -> TRA Taichung -> TRA Taipei



เที่ยวหนักถึงคราวต้องเช็คกระเพาะหน่อยว่าจัดไหวไหม ร้านนี้ Buffet Mala ที่ ไทเป ร้านใหญ่เลื่องชื่อ

Taipei Main Station (BL12/R10) -> Ximen Station (BL11/G12) -> ร้านหม่าล่ายวนยาง (Yuanyang hotpot)



ท่องเมืองวัฒนธรรมกับ เมืองจิวเฟิ่น (Jiufen) ที่ สถานี RuiFung
21 May 2019

ท่องเมืองวัฒนธรรมกับ Jiufen ที่ Pinghsi/RuiFung


ปูมประวัติการเดินทางด้วยรถไฟ หลังจาก ถึงสถานที่หมายโดยเดินทางอย่างสะดวกสบายด้วยตั๋วโดยสารรถไฟ ซึ่งสามารถ ซื้อล่วงหน้า ผ่านเวบได้ http://twtraffic.tra.gov.tw/twrail/EN_QuickSearch.aspx

โดยเลือกเส้นทางต้นทาง จาก Taipei/Taipei Station ไปยังจุดหมายปลายทางภาคตะวันออก Pinghsi/Ruifang

ราคาปรับเปลี่ยนตามช่วงเวลาที่จอง และ  ระยะเวลาจองล่วงหน้า
เข้าถึงเวบไซต์ ที่ twtraffic.tra.gov.tw

สถานที่ท่องเที่ยวต่างๆ ด้วยรถไฟ TRA

ครอบคลุมพื้นที่ภายในเกาะไต้หวัน

สถานที่ต่างๆที่แวะระหว่างเดินทางไป Ruifang


สภาพบรรยากาศภายนอกระหว่างเดินทาง

มาเที่ยวครั้งนี้เหมือน ไอศครีม ไม่มาก็ละลาย

ตึกอาคาร สมัยเก่าเพื่อต้อนรับนักท่องเที่ยว

เมือง Ruifang เป็นเหมืองมาก่อน และเป็นแหล่งขุดแร่ธาตุ

ซึ่งนักขุดสมัยก่อน จะช่วยกันแบบครอบครัว

เทียบการขุดสมัยก่อนกับปัจจุบัน

สภาพบรรยากาศภายนอก

ทางเข้าไปในย่านตลาด Jeifhen

ร้านน้ำชาในตำนาน A-Mei ซึ่งใช้เล่นละครเรื่อง Spirit Away

ภาพบรรยากาศภายนอกเมื่อมองเข้ามาในร้าน A-Mei

ชากุหลาบสำหรับ สุภาพสตรี

ชาอูหลงเย็น

เครื่องประดับต่างๆ






เมืองเทคโนโลยี ที่ Taipei 101 & SynTrend
21 May 2019

ลัดเลาะสู่เมือง SynTrend แดนเทคโนโลยีย่าน ไทเป

 

ตึก SynTrend


ภายด้านนอกมีรถมาโปรโมทหนัง X-Men พอดิบพอดี โดยใช้เทคโนโลยี ถ่ายรูป 360 เพื่อแสดงภาพเปล่งแสง ด้วยเนื่องจาก ตัวตึก ติดกับโรงหนังพอดี


ผู้คนหลังไหลเข้ามาเป็นระยะๆ เป็นที่ๆหนึ่งที่คนหนาแน่นค่อนข้างมาก
รถ Trailer มาโปรโมทหนัง เพื่อสร้าง สีสรรค์ 

 


สำหรับผู้ชื่นชอบเสี่ยงโชคจากการเล่น slot machine และ ตู้คีบของ มีจุดบริการให้เล่นแบบ จอใหญ่ๆให้ ได้ ถ่ายรูป และ รับบัตรส่วนลด เพื่อใช้จับจ่ายภายในร้านอาหาร และ ภายในอาคาร


 

ตู้กดน้ำมากมาย มีทั้งแบบให้เลือกสินค้า และ บริการต่างๆ

 
ตู้น้ำกดใช้ QR Code และ Easy Card
Snack ให้เลือกตามความชอบ



เครื่องดื่มกระป๋องตามความชอบ
เกมส์การ์ดสำหรับผู้ชื่นชอบ




ตู้กดแบบเลือกสินค้าในท้องถิ่น
ตู้กดน้ำดื่ม ร้อน อุ่น เย็น ตามความต้องการ
ตู้สินค้า สารพัด เอนกประสงค์
ตู้กดน้ำดื่ม แบบมีแขน Robot
ตู้กดแบบกล่องพิศวง ให้เลือกว่าอยากได้โชคแบบไหน
สามารถเลือกสินค้า และ วิธีการรับผ่าน Line และ ช่องทางต่างๆ
 

ของช็อปปิ้งทางด้าน IT ให้เลือกมากมาย

 
คีย์บอร์ดแบบเครื่องพิมพ์ดีด
อุปกรณ์เครื่องออกกำลังกายเชื่อมต่อกับมือถือ
เครื่องเล่นแบบ 360 โดยมี Action Virtual Reality
สำหรับผู้ที่พัฒนา SynTrend มีชั้นสำรับผู้สร้าง & ต่อยอด
 
เครื่องจ่ายเงิน ตาม บัตรต่างๆ



แลกทอน ธนบัตรประเภทต่างๆ
ภายนอกรอบๆ บริเวณ เต็มไปด้วยร้านค้าขายของอุปกรณ์ด้าน IT มีให้เลือกมากมาย ตามความชอบ
 
สร้าง"ปลากัดไลฟ์" ด้วย Raspberry Pi อย่างง่ายๆ
24 Apr 2019
สร้าง"ปลากัดไลฟ์" ด้วย Raspberry Pi อย่างง่ายๆ

ขั้นตอนการสร้างสรรค์

※สิ่งที่ต้องเตรียม
- Raspberry Pi Voice Kit ( IoT Device สามารถเปิดเพลง และ ถ่ายวิดีโอพร้อมกันได้ )
- SenEye ( อุปกรณ์บันทึกอุณหภูมิน้ำเพื่อวัดความร้อน )
- IoT Switch Plug ( เพื่อเปิดปิดอุปกรณ์ ต่างๆ เช่น ไฟส่องตู้ปลา, พัดลม )

ระบบปฏิบัติการ
- Raspbian ( Linux System )
- Dropbox API เพื่ออัพโหลดประมวลผลข้อมูลขึ้น Cloud Storage
- Compu Vision & Darknet สำหรับประมวลผลภาพ และ วิดีโอ

ลำดับขั้นตอน
1) ใช้ Google Voice AIY เพื่อสร้างอุปกรณ์ และ ติดตั้งระบบกล้อง เพื่อประมวลผล ภาพบันทึก และ วิดีโอ
ศึกษาหาข้อมูลเพิ่มเติมได้ที่  https://aiyprojects.withgoogle.com/voice/
วิธีการประกอบได้ง่ายๆผ่านช่องทางไลฟ์สดที่ https://www.hackster.io/videos/77
Main Product

ซึ่งในตัวกล่องรองรับอุปกรณ์เพื่อเชื่อมต่อระบบกล้องได้
Push the LED into the cardboard Pick up the insert as shown above and set it in the box. Reconnect the microphone and button cables.

 ปล. ขอบคุณ เวบ Hackster.IO สำหรับข้อมูล
ทั้งนี้เราจะได้ อุปกรณ์พร้อมจะบันทึกภาพ

2) ใช้โปรแกรม RPi Cam เพื่อทำการบันทึกระบบวิดีโอไลฟ์สตรีม ให้เราเห็นได้ง่ายๆ เพียงแค่ติดตั้งระบบ Software จาก Link ข้างล่าง เพียง 5 ขั้นตอน
ขั้นที่ 1: ติดตั้งระบบ Raspbian บน RPi ดาวน์โหลดตัว OS ได้ที่ https://www.raspberrypi.org/downloads/
ขั้นที่ 2: ติดตั้งระบบกล้อง RPi(ทำไปแล้วในลำดับแรก
ขั้นที่ 3สำคัญมาก : เปิดใช้งานระบบกล้อง  http://www.raspberrypi.org/camera
ขั้นที่ 4: อัพเดต และ อัพเกรด RPi ด้วยชุดคำสั่งดังนี้:
sudo apt-get update
sudo apt-get dist-upgrade
สำหรับรุ่น Jessie Lite ให้เรียก sudo apt-get เพื่อติดตั้ง git clone ชุดโปรแกรมจาก github และเรียกคำสั่งสคริปต์:
git clone https://github.com/silvanmelchior/RPi_Cam_Web_Interface.git
cd RPi_Cam_Web_Interface
./install.sh
ขั้นที่ 5: เรียกใช้งาน
เมื่อติดตั้งครบทุกขั้นตอนแล้ว สามารถเรียกใช้งานติดตามเฝ้าดูผ่านตัวกล่อง Voice Kit ได้ทาง Web Browser ด้วย IP ของตัวกล่องเอง ซึ่งค่า Port เริ่มแรกเป็น 80 และ ใช้งาน forward port ผ่านทาง Router เพื่อเข้ามาดูกล้องได้

RpiCamMain1.png


3) ติดตั้ง ระบบ SenEye เพื่อต่อเชื่อมตัววัดอุณหภูมิน้ำ, pH , NH3 , ความไวแสง และค่าต่างๆ แล้วแต่ รุ่นของอุปกรณ์
seneye Home

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

ทั้งนี้บริษัท SenEye ได้อนุญาติให้นักพัฒนาเขียน Code ได้จาก Github







ซึ่งเมื่อต่อชุดเข้ากับช่อง USB ของ RPi เราสามารถอ่านค่า ของ Port USB ด้วยคำสั่ง
lsusb
Bus 001 Device 004: ID 24f7:2204


และเมื่อเช็ครายละเอียดใน Bus Device ดังกล่าวจะได้ข้อมูลดังนี้
pi@raspberrypi:~ $ udevadm info -a -p $(udevadm info -q path -n /dev/bus/usb/001/004) Udevadm info starts with the device specified by the devpath and then walks up the chain of parent devices. It prints for every device found, all possible attributes in the udev rules key format. A rule to match, can be composed by the attributes of the device and the attributes from one single parent device. looking at device '/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1-1.1.2': KERNEL=="1-1.1.2" SUBSYSTEM=="usb" DRIVER=="usb" ATTR{authorized}=="1" ATTR{avoid_reset_quirk}=="0" ATTR{bConfigurationValue}=="1" ATTR{bDeviceClass}=="00" ATTR{bDeviceProtocol}=="02" ATTR{bDeviceSubClass}=="00" ATTR{bMaxPacketSize0}=="64" ATTR{bMaxPower}=="250mA" ATTR{bNumConfigurations}=="1" ATTR{bNumInterfaces}==" 1" ATTR{bcdDevice}=="0125" ATTR{bmAttributes}=="80" ATTR{busnum}=="1" ATTR{configuration}=="" ATTR{devnum}=="4" ATTR{devpath}=="1.1.2" ATTR{devspec}==" (null)" ATTR{idProduct}=="2204" ATTR{idVendor}=="24f7" ATTR{ltm_capable}=="no" ATTR{manufacturer}=="Seneye ltd" ATTR{maxchild}=="0" ATTR{product}=="Seneye SUD v 2.0.16" ATTR{quirks}=="0x0" ATTR{removable}=="removable" ATTR{serial}=="XXXXXXXXXXXXXXXXXX" ATTR{speed}=="12" ATTR{urbnum}=="17" ATTR{version}==" 2.00"


สำหรับ Code Github สามารถดึงได้จาก https://github.com/dhallgb/Seneye-MQTT
ซึ่งสามารถส่งข้อมูลไปยังอุปกรณ์ปลายทางที่ต้องการได้

สามารถอ่านค่าข้อมูลจาก SenEye ด้วย RPi ได้ดังนี้

Device: XXXXXXXXXXXXXXXXX v.2.0.16  Type:  Home
Temperature (C)   │ 20.375                      Is Kelvin    │
pH                │ 7.94                        Kelvin       
NH3 (ppm)         │ 0.02                        PAR          │
In Water          │ True                        LUX          │ 
Slide NOT fitted  │ False                       PUR          │         
Slide Expired     │ False                                    
Press R for reading, 1-5 to change LED, Q to quit

เมื่อเราได้ประกอบส่วนต่างๆ แล้วถึงคราวที่จะให้ Compuvision เพื่อจับการเคลื่อนไหวของปลา เพื่อส่งรายละเอียดไปให้ บน Cloud Dropbox

4) ติดตั้ง Yolo Detector ติดตามการเคลื่อนไหวของตัวปลา
สามารถติดตั้งได้จาก ตัวอย่างเวบ http://funofdiy.blogspot.com/2018/08/deep-learning-with-raspberry-pi-real.html

โดยมีขั้นตอนต่างๆ ง่ายๆดังนี้
ขั้นที่ 1: ติดตั้ง NNPACK
ขั้นที่ 2: ติดตั้ง Ninja
ขั้นที่ 3: ติดตั้ง darknet-nnpack
ขั้นที่ 4: ทดสอบ ด้วย YoloV3-tiny
เมื่อติดตั้งเรียบร้อยแล้วเราจะได้ตัวอย่างดังนี้


5) ตั้งค่าเพื่ออัพโหลดข้อมูลขึ้น Cloud Dropbox เพื่อดูผลในมือถือ
การนำผลที่ได้จากค่าบันทึก และ รูปภาพเพื่อส่งขึ้นไปยัง Dropbox Storage ได้จาก API ref ดังนี้

สร้างแอพพลิเคชั่น และ Token key จากเวบเพื่ออัพโหลดค่าต่างๆ ขึ้น Cloud Storage



ทั้งนี้เราสามารถสร้าง Aquarium Automation ได้ตามแบบฉบับที่เราต้องการ

สามารถแนะนำเสนอติชมได้ที่ https://www.youtube.com/channel/UCWxexWFNbo_Jh1n4EgdtsTg?view_as=subscriber


เทคโนโลยี Wearable กับฝันร้ายของนักพัฒนาความปลอดภัย
31 Mar 2017
คงหลีกกันไม่ได้สำหรับยุคดีต่อใจ  สิ่งต่างๆ Gadget ที่เราใช้นำมาเพื่อประโยชน์ด้านสุขภาพ , การดูแลตัวเอง และ สร้างโซเชียลของผู้ดูแลสุขภาพ ไม่ว่าจะเป็นการปั่นจักรยาน , ทานอาหารคลีนฟู้ด , ท่องเที่ยวด้วยตัวเอง ทั้งนี้ต้องอาศัยเครื่องมือ พกพาต่างๆ ไม่ว่าจะเป็น Smart Watch , Smart Phone หรือ อุปกรณ์นำทาง

ซึ่งนักพัฒนาเวบ และ ผู้เชี่ยวชาญด้าน IT ต่างเห็นพ้องกันว่าเรื่องความปลอดภัยของข้อมูลส่วนบุคคลเป็นเรื่องสำคัญ

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

หนึ่งในการขู่กรรโชกความปลอดภัยข้อมูลที่พบมากคือ อุปกรณ์ IoT และการเติบโตของเทคโนโลยีอุปกรณ์สวมใส่ อย่างเช่น FitBit , Google developingglass , fitness trackers และ นาฬิกาที่ทำให้ใช้ชีวิตได้ง่ายขึ้น ซึ่งไม่ได้เกินไปกว่าความสนุก และการใช้เทคโนโลยีกับไลฟ์สไตล์ของแต่ละบุคคล

จากการประมาณคาดการเบื้องต้นของข้อมูล PWC (Pricewaterhouse Cooper’s Report) ภายในปี 2020 จะมีอุปกรณ์สวมใส่ที่เข้ามาสู่โลก IoT ถึง 50 ล้านชิ้นที่เข้ามาเชื่อมต่อโลกอินเตอร์เน็ต และนอกจากนั้น ในปี 2016, มูลค่าการตลาด embeded technology market สูงถึง 9 พันล้านดอลล่าร์ และมีคาดการ์ณว่า จะสูงถึง  9หมื่นล้านในปี 2021 ข้อมูลสนับสนุนจาก ReportLinker ด้วยจำนวนตัวเลขของอุปกรณ์สวมใส่หลักล้าน ซึ่งส่งผลให้ต้องเพิ่มเรื่องความปลอดภัยด้วยเช่นกัน



ในปี 2015 สิ่งที่กังวลเกี่ยวกับการท่องเที่ยวคือเรื่องความปลอดภัยในโลกอินเตอร์เน็ต  และ ในความเป็นจริงไวรัส mirai malware เจาะเข้าไปยัง kreb on security และ DNS service provide Dyn  นั้นคือทุกๆอุปกรณ์สวมใส่ที่เชื่อมต่อ หรือ IoT ผ่านระบบ Cloud เปิดโอกาสให้ หนอนเจาะระบบเข้าถึงง่ายเช่นกัน
ถึงเวลาแล้วที่เราควรจะพูดถึงเรื่องความปลอดภัย ของข้อมูล

ในขณะเดียวกันที่เราใช้ OpenShift in google cloud, ข้อมูลใน SSD ของคุณ จะถูกเชื่อมต่อไปยัง Cloud ถ้าไม่จัดการอย่างถูกต้อง และ ถ้าไม่ได้ใช้ควบคู่กับ LUKS by Red Hat Enterprise Linux หรือ FDE (Full Disk Encryption) และ การเชื่อมต่อระหว่าง มือถือ กับ คลาวด์ และ bluetooth ที่เชื่อมต่ออุปกรณ์สวมใส่กับมือถือ ซึ่งเป็นการสร้างการเชื่อมต่อระหว่างอุปกรณ์ และ เปิดโอกาสให้ Hacker เข้ามาเจาะข้อมูลได้

แล้วนักพัฒนาจะสามารถป้องกันข้อมูลรั่วไหลจากอุปกรณ์สวมใส่ได้อย่างไร

ซึ่งสามารถทำได้หลายวิธีเช่น การควบคุมUsernameผู้ใช้ , สร้างคลาวด์ที่ปลอดภัย , เข้าระหัสข้อมูลBluetooth , สร้างระบบตรวจสอบ Biometric , สร้างระบบ สถานที่  และควบคุม ล็อคทางไกลได้ , การเข้าระหัสข้อมูลไฟล์ และ การใช้ FDE

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