หลังจากที่ SpaceX ได้ปล่อยเกมจำลองการ Docking หรือการเชื่อมยานอวกาศเข้ากับสถานีอวกาศนานาชาติน่าดีใจที่มีคนไทยเข้าไปเล่นเยอะมาก (และเราจะหาอะไรสนุก ๆ มาให้เล่นบ่อย ๆ) ซึ่งเรามองว่ามันเป็นเรื่องที่มากที่เราจะได้ใช้เกมนี้ในการทำความเข้าใจเรื่องของการเดินทางในอวกาศ เพราะจริง ๆ แล้วมันสอนให้เราคิดในมุมใหม่ ๆ จากการที่อวกาศนั้นสภาพแวดล้อมและแรงต่าง ๆ ไม่เหมือนกับบนโลก เราเติบโตมาบนโลก ร่างกายของเราถูกพัฒนามาให้รับรู้และ Sense กับสิ่งที่ผิดแปลกไป แต่พอในอวกาศ การรับรู้ของเราไม่เหมือนเดิม ทำให้เกิดอาการงง ๆ
ไปลองเล่นกันได้ที่ ISS Docking Simulator
มีบทความแนว ๆ เดียวกันที่อธิบายเรื่องนี้ไว้ สามารถเก็บไว้อ่านได้ เช่น เหตุผลทางฟิสิกส์ที่บอกว่ายังไงคุณก็แหกโค้งแน่ ๆ ในอวกาศ หรือการที่เราเคย ส่งปลาขึ้นไปว่ายน้ำในสภาวะไร้น้ำหนัก
บทความนี้เราจะมาค่อย ๆ ตอบคำถามกันว่าทำไม การเล่นเกมแนว ๆ อวกาศ หรือการควบคุมยานอวกาศที่ใช้หลักฟิสิกส์จริง ๆ ในการเขียนแล้วมันถึงได้ดูยาก
ว่าด้วยเรื่องของการ Docking ของเรากับเซเว่น
เวลาที่เราส่งยานอวกาศขึ้นไปเชื่อมต่อกับยานอวกาศ เราไม่ได้แค่ส่งขึ้นไปขับซ้ายขับขวาเหมือนขับรถไปซื้อของที่เซเว่น อะ ทีนี้ถามว่าเราขับรถไปซื้อของที่เซเว่นเราต้องรู้อะไรบ้าง ลองค่อย ๆ นึกไปพร้อมกัน ใครจะนึกมากกว่านี้ก็ได้
- รู้ว่าเซเว่นอยู่ตรงไหน และมันจะอยู่ตรงนั้นไม่ย้ายที่ ซึ่งการรู้ก็มี 2 แบบคือแบบ Absolute กับแบบ Relative ถ้ารู้แบบ Absolute ก็คือเซเว่นอยู่ที่ไหนบนแผนที่ ปากซอยอะไร ถนนอะไร ส่วนรู้แบบ Relative คือรู้ว่าเซเว่นอยู่ตรงไหนเมื่อเทียบกับเรา เช่น อยู่ทางทิศเหนือไปสองกิโลเมตร
- รู้ว่า เส้นทางที่จะพาเราไปเซเว่นคือทางไหน ซึ่งอันนี้จะเป็นคำถามต่อมาจากข้อแรก คือ Absolute กับ Relative ถ้าเรารู้ว่าเซเว่นอยู่ตรงไหนในแผนที่ แต่ไม่รู้ว่า “เราอยู่ที่ไหน” เราก็ไม่รู้ว่าจะออกแบบเส้นทางยังไง ในขณะเดียวกันถ้าเรารู้ว่าเราอยู่ที่ไหน แต่รู้ว่าเซเว่นอยู่ตรงไหนในทาง Relative ที่ตัวอ้างอิงหรือ Reference Point ไม่ใช่เรา เราก็ออกแบบเส้นทางไม่ได้ ลองนึกภาพเราโทรถามเพื่อนที่อยู่เชียงใหม่ว่า “ไปเซเว่นแถวบ้านเรายังไง” แล้วเพื่อนที่บ้านอยู่ข้าง ๆ เซเว่นตอบว่า “เดินออกจากบ้านเลี้ยวซ้ายถึงเลย” เราก็จะพบว่า เราทำตามวิธีของเพื่อนมันไม่เวิร์ค!
- รู้จัก “แรง” ที่จะพาเราไปยังเซเว่น จำกฎของนิวตันได้ใช่ไหม F = ma แรงเท่ากับมวลคูณด้วยความเร่ง ถ้าเราเอามาคิดร่วมกับ V = S/T คือ อัตราเร็วเท่ากับการกระจัดคูณด้วยระยะทาง จริง ๆ เท่านี้เพียงพอแล้วที่เราจะตอบคำถามแบบง่าย ๆ ว่าไปเซเว่นยังไง ใช้เวลาเท่าไหร่ สมมติแม่ถามว่า ไปเซเว่นหน้าปากซอยกี่นาที เราอาจะตอบว่าไป 5 นาที (รู้ระยะทาง รู้อัตราเร็ว รู้มวล ซึ่งจริง ๆ เราไม่รู้หรอกแต่เราประมาณจากประสบการณ์การอยู่บนโลกจนชิน) แต่กลับอาจจะนานกว่าหน่อยเป็น 7 นาทีเพราะถือของกลับมาหนัก หรือการขับรถที่มีทางเลี้ยวไปมามากกว่าจะใช้เวลานานกว่าเพราะเราต้องเบรกไม่ให้หลุดโค้ง แปลว่าด้านบนเรารู้คอนเซปของการคำนวณทางฟิสิกส์อย่างง่าย ๆ แล้ว
- รู้ความสัมพันธ์ของแรง การเคลื่อนที่ และเวลา ครั้งหน้าขับรถไปเซเว่นลองคิดเล่น ๆ ดูนะ ว่าเราเหยียบคันเร่งทั้งหมดกี่วินาที นานแค่ไหน เราหักเลี้ยวกี่ครั้ง เราเจอหมาตัดหน้ากี่ครั้ง ถนนวันนี้มีรถเยอะมากหรือน้อย เราจะสามารถสร้างสมการการไปเซเว่นของเราเองได้ และเราอาจจะสามารถหลับตาขับรถไปเซเว่นได้ (เพื่อไม่ให้เราโกงใช้การตัดสินใจแบบ Relative ณ แต่ละจุดของถนนที่เราอยู่)
เห็นไหมว่าจริง ๆ แล้วการไปเซเว่นหน้าปากซอยนั้นเต็มไปด้วยตัวแปรต่าง ๆ มากมาย แต่เพราะเราชิน เราก็เลยรู้สึกว่ามันไม่มีอะไร ทีนี้ลองนึกภาพว่าเราต้องเดินทางจากโลกไปยังสถานีอวกาศนานาชาติดู สถานีอวกาศนานาชาติ ไม่เหมือนกับเซเว่น เพราะมันโคจรอยู่รอบโลก ดังนั้นการคิดมันจึงมีตัวแปรเรื่องของ “เวลา” เข้ามาเกี่ยวข้องด้วย ตามแกน X แกน Y แกน Z และแกน T หมายความว่าในการปล่อยจรวดแต่ละครั้งเวลาคือสิ่งที่สำคัญมาก ๆ เราไปเซเว่นสายเซเว่นไม่หนีไปไหน แต่ถ้าเราไปสถานีอวกาศนานาชาติสาย คิดเวลาผิด เราก็ไม่เจอสถานีอวกาศ
ดังนั้นแรงที่ปล่อยจรวดแต่ละครั้ง การจุดเครื่องดับเครื่อง องศาการตีโค้ง ความเร็ว แรงโน้มถ่วง ทั้งในเชิง Absolute และ Relative คือทั้งหมดที่เราต้องใช้ ในการเดินทางไปยังสถานีอวกาศ ซึ่งเอาง่าย ๆ แค่การ Docking ซึ่งเป็นช่วงท้ายที่สุดของกระบวนการทั้งหมดนี้เรายังเล่นเกมกันผ่านบ้างไม่ผ่านบ้างเลย สมตติว่าเราต้องมาคิดทุกอย่างเหล่านี้มันจะยากขนาดไหน ดังนั้นเราขอมอบตำแหน่งให้กับทุกคนว่าเป็นผู้เชี่ยวชาญการไปเซเว่น เพราะพวกคุณทำได้ง่าย ๆ โดยการใช้ความเคยชิน!
ปัญหาของสามัญสำนึกฟิสิกส์ในอวกาศ จากเกม ISS Docking
สิ่งที่เราทำในเกมนั้นเรียกว่า Manoeuvering ซึ่งก็ไม่รู้เหมือนกันว่าภาษาไทยเรียกอะไร เอาเป็นว่ามันคือความพยายามในการควบคุมวัตถุ (คือเราหรือตัวยาน) ให้ไปอยู่ในจุดที่ตรงกับที่เชื่อมต่อกับสถานีอวกาศ โดย Refrence Point จริง ๆ ก็คือตัวสถานี (ถึงได้บอกว่าเกมนี้จริง ๆ ง่ายโคตร ๆ ๆ ๆ ๆ แล้ว) สถานีอวกาศเคลื่อนที่รอบโลกด้วยความเร็ว 7.66 km/s เทียบกับพื้นโลก แปลว่าตอนปล่อยยาน ตัวเรากับ ISS มีความเร็วต่างกับเรา 7.66 km/s เพราะเราหยุดนิ่งบนพื้นเป็น 0 และการปล่อยยานต้องคำนวณ แรง ระยะทาง เวลา ทุกสิ่งอย่างเพื่อให้ความเร็วของยานเมื่อเทียบกับ ISS เป็น 0 km/s และความเร็วของยานเมื่อเทียบกับพื้นโลกเป็น 7.66 km/s
ในเกมนั้นเรียกได้ว่าเป็นช่วง Final ของการ Docking แบบจริง ๆ เพราะความแตกต่างของความเร็วระหว่างยานกับสถานีมีน้อยมาก ๆ (เหมือนรถสองคันขับขนาบข้างกัน แต่กว่ามันจะมาขนาบข้างกันได้ วิ่งมาจากคนละเมือง) จนเหมือนอยู่เฉย ๆ ในขณะที่เราเองมีหน้าที่ควบคุมอะไรเล็ก ๆ น้อย ๆ อย่างแกน X แกน Y แกน Z และ Orientation ให้ถูกทางคือ Pitch, Yaw, Row เท่านั้น
แต่!! สิ่งที่ขัดต่อสามัญสำนึกของเราคือการออกแรงต่างหาก บนอวกาศมีแรงเสียดทานน้อยมาก ๆ (ขอตีเป็น 0 เพื่อคิดง่าย ๆ) ทำให้เวลาเราออกแรงไปทางใดทางหนึ่ง เราจะเคลื่อนที่ไปทางนั้นตลอดกาล สมมติว่าเรากับเพื่อนอยู่ในอวกาศ แล้วไม่มีแรงอื่น ๆ เลย เราผลักเพื่อนไปในทาง X=+ เพื่อนเราก็จะไปในทาง X=+ ตลอดกาลเมื่อเทียบกับเรา ซึ่งในมุมของเราเราก็จะเห็นเพื่อนลอยไปในทาง X=- ตลอดกาล
แต่บนโลกมันอาจจะไม่เป็นแบบนั้น สมมติเราลากเก้าอี้ออกมาจากโต๊ะเพื่อจะนั่ง เราไม่ต้องออกแรงเบรกเก้าอี้ เพราะแรงเสียดทานของเก้าอี้กับพื้นและแรงโน้มถ่วงที่โลกดูดเก้าอี้ ทำให้เก้าอี้ที่เราดึงออกมาหยุดเมื่อเราเลิกหยุดแรง ไม่ทำให้เก้าอี้หนีจากเราไปตลอดกาล
เวลาเราเล่นเกมนี้ก็เช่นกัน สมมติว่าเราออกแรงขับยานไปข้างหน้าอย่างเดียว เป็นการเพิ่มแรงไป 10 นิวตัน เรากดเดินหน้าไป 5 ครั้ง 10 x 5 = 50 นิวตัน แปลว่าความเร็วถ้าเอามาคิดกับมวลแล้วความเร็วเราจะเพิ่มขึ้นเรื่อย ๆ เลยนะ ถ้าไม่เบรกก็คือชนสถานีอวกาศแน่นอน เราก็เลยต้องมีตัวแปรบางอย่างอยู่ในหัวเราว่า เห้ยเร็วไปแล้ว กดออกแรงไปข้างหลังหน่อยให้ช้าลง สมมติกดถอยหลังสองครั้ง 2 x 10 = 20 นิวตัน แปลว่าแรงลัพธ์ของเราคือ 50-20=30 นิวตัน
แบบนี้คิดได้กับทุกอย่าง รวมถึงการ Pitch, Yaw, Row เช่นกัน สมมติเรา Pitch แหงนขึ้น แล้วไม่กดลงเลยเราก็จะเงยหน้าแล้วก็วนวนวนแบบนั้นไปเรื่อย ๆ ดังนั้นถ้าจะเล่นให้ชนะ วิธีการอย่างนึงคืออย่ากดค้าง! ให้กดแล้วปล่อย ๆ เราจะได้รู้ว่าเราออกแรงไปมากน้อยแค่ไหน
ตรงนี้หลายคนอาจจะมีเทคนิคต่างกัน หนึ่งในเทคนิคที่หลายคนอาจจะทำก็คือ ออกแรงและออกแรงต้าน (ทำแล้วหยุด ทำแล้วหยุด) เพื่อคิดต่อว่า เอ ต่อไปจะทำอะไรดี หรืออาจจะสร้างโมเดลขึ้นมาในหัวว่าความเร็วในแนว X, Y, Z เป็นอย่างไรบ้าง นี่เป็นเหตุผลว่าเราเรียนเรื่องการแตกแรงในฟิสิกส์ไปทำไมจ้า
ทีนี้ความเจ๋งของเกมก็อยู่ตรงนี้ว่า มันสอนให้เราคิดแบบนี้นี่แหละ ด้วยการแสดงแรงในแนวแกนต่าง ๆ ออกมาให้เราเห็น
เกมนี้บอกอะไรเราบ้าง แล้วเราต้องรู้อะไรถึงจะชนะ
ก่อนอื่นเข้าใจวัตถุประสงค์ของเกมนี้ก่อน จริง ๆ แล้วมันคือเกมบวกลบเลขเฉย ๆ วิธีการก็คือ เราต้องบวกหรือลบเลขอันได้แก่ X Y Z , P Y R ทั้ง 6 ตัวซึ่งเป็นอิสระต่อกันให้เหลือ 0 เพื่อเหลือ 0 แล้วทุกอย่างแล้วเราก็จะชนะเอง ง่ายไหม เนี่ยง่าย!!!!!!!!!! ประเด็นคือเราไม่มีสมาธิพอที่จะบวกลบเลข 6 ตัวพร้อมกันได้ เราเลยอาจจะใช้วิธีข้างบนแบบที่ว่า เช่น ก็ทำไปทีละตัว เอา P, Y, R ให้ เป็น 0 ทุกตัวก่อน แล้วค่อย ๆ ตามด้วย X กับ Y ส่วน Z เอาไว้หลังสุดเพราะไม่งั้นถ้า Z เราเปลี่ยนเร็วไป Velocity เยอะเราก็จะแพ้ เพราะชนสถานี
ทำยังไงก็ได้ให้ทุกอย่างเป็น 0 เมื่อเทียบกับตัวสถานีแล้วเราไปอยู่ตรงจุดที่มันกำหนดไว้พอดี แค่นี้ก็ชนะแล้ว
ถามว่าจริง ๆ แล้วมันมีอะไร มันก็มีเท่านี้แหละครับท่าน แต่ต้องใช้สมาธิ บวกลบเลขให้ถูก ดูเลขด้วยอย่าใช้ความรู้สึก
เหตุผลที่ AI และ Machine Learning คือเพื่อนแท้ในการสำรวจอวกาศ
อย่างที่บอก เกมนี้สามารถเขียนบอทมาเล่นให้ชนะได้ง่ายมาก ๆ เผลอ ๆ ง่ายกว่าเอาคนมานั่งเล่นอีก อัลกอริทึมก็คืออันข้างบน บวกลบเลขไปเรื่อย ๆ ให้ได้ค่าที่ต้องการ อันนี้มากเราลด อันนี้น้อยเราเพิ่ม ทำกันไปทีละหน่วย สุดท้ายก็ชนะเอง เล่นร้อยครั้งชนะร้อยครั้ง
มนุษย์นั้นเป็นสิ่งมีชีวิตที่ใช้ชีวิตตามสัญชาตญาณ เราทำหลาย ๆ สิ่งในชีวิตประจำวันของเราด้วยความเคยชิน คงไม่มีใครคิดว่า ฉันจะเดินไปเปิดตู้เย็นด้วยการเลี้ยวซ้าย 3 ครั้งเลี้ยวขวา 5 ครั้ง ออกแรง 10 นิวตันในการดึงตู้ ซึ่งการใช้ชีวิตแบบ Autopilot นี้เป็นความน่าทึ่งมาก ๆ ของเรา ในขณะที่คอมพิวเตอร์หรือโปรแกรม มันทำงานด้วย Logic เป็นหลัก มันทำงานด้วยการ Input, Process และ Output มีการเก็บค่าในตัวแปร มีการทำงานแบบ Loop ทำซ้ำไปเรื่อย ๆ จนกว่าจะได้สิ่งที่ต้องการ มีเงื่อนไข If และ Else มีการคิดแบบ Or หรือ And สิ่งนี้ทำให้มันสามารถแก้ปัญหายาก ๆ แต่มีกระบวนการการแก้ไขที่ชัดเจน ถูกนิยามไว้อย่างง่ายได้
ในโครงการ Apollo คอมพิวเตอร์จึงเป็นปัจจัยสำคัญและพิสูจน์ว่าคอมพิวเตอร์กับการสำรวจอวกาศนั้นเติบโตมาพร้อมกันและแยกออกจากกันไม่ได้ จากอัลกอริทึมใน Apollo ไปจนถึง Optimization Problem ในจรวด Falcon 9 ที่ทำให้มันสามารถลงจอดได้เอง นี่คือความน่าทึ่งของโลกแห่ง Software และ Logic, Algorithm
เทคโนโลยีปัจจุบันที่กำลังเป็นที่พูดถึงอย่าง AI หรือการเรียนรู้ของเครื่องจักร “Machine Learning” คือเพื่อนแท้ในอนาคตของเรา เพราะเราสามารถสอนให้คอมพิวเตอร์ออกแบบวิธีคิดของตัวเองได้ด้วย “ข้อมูล” ดังนั้น สมมติเราเอา ML มา Train ด้วยเกมข้างมัน เราก็บอกว่า ทำยังไงก็ได้ให้ทุกอย่างลดลงเหลือ 0 มันก็จะลองของมันเองไปเรื่อย ๆ เราไม่ต้องไปบอกว่า อันนี้ถ้ามากให้ลดนะ อันนี้ถ้าน้อยให้เพิ่ม ต้องทำแบบนี้ ๆ แต่มันจะรู้ของมันเอง มีวิธีแก้ไขปัญหาด้วยตัวเองเมื่อเวลาผ่านไป
ปัจจุบันนักบินอวกาศ กำลังจะเดินทางไปสถานีอวกาศไวกว่าคุณเดินทางไปทำงาน เพราะเรามีคอมพิวเตอร์มาช่วยในการแก้ปัญหานี่แหละ
เป็นเรื่องน่าตื่นเต้นที่เราจะได้เห็นอนาคตของการทำงานร่วมกับระหว่างมนุษย์กับหุ่นยนต์มากขึ้น และการที่ SpaceX ปล่อยเกมนี้ออกมา เราว่ามันก็เป็นประโยชน์มาก ๆ ในการสอนคนให้คิดแบบคอมพิวเตอร์ เพราะในความจริง ระบบ Docking แบบนี้คอมพิวเตอร์มันก็จัดการให้แหละไม่ได้เอานักบินอวกาศมาทำ แต่นักบินอวกาศก็ต้องรู้วิธีการทำงาน คิดแบบคอมพิวเตอร์ได้ เพราะถ้าเกิดระบบพังขึ้นมานักบินอวกาศก็ต้องทำ Manual Docking เช่นกัน
รู้เล่นนี้แล้ว เราก็มาลองเล่นเกมนี้ให้ชนะด้วยการค่อย ๆ คิดแบบคอมพิวเตอร์และนักฟิสิกส์และสมองของเราในการค่อย ๆ กดปุ่ม หรือถ้าใครจะเขียนโปรแกรมมาเล่นก็ไม่ว่ากัน
เรียบเรียงโดย ทีมงาน Spaceth.co