System Overview
ในการทำงานผู้ใช้งานจำเป็นจะตั้งอยู่ในการมองเห็นของหุ่นยนต์ FOBI และต้องพูดคุยหรือถามคำถามกับหุ่นยนต์ FOBI โดยต้องเริ่มจากคำสั่ง “เริ่มทำงาน” เพื่อที่จะให้หุ่นยนต์ FOBI ทำงานตามคำสั่งของผู้ใช้ เช่น เปิดไฟ ปิดไฟ ถ่ายรูป เป็นต้น แต่หากไม่มีคำสั่งใดๆ หุ่นยนต์ FOBI จะทำการถามคำถามกับผู้ใช้งาน หากเมื่อต้องการให้หุ่นยนต์ FOBI หยุดการถาม คำถามหรือการพูดคุยและการรับคำสั่ง ให้ใช้คำสั่ง “หยุดการทำงาน”
อุปกรณ
ระบบนี้เราจะใช้ Raspberry Pi จำนวน 2 ตัว แยกกันทำงานเป็นส่แยกกันทำงานเป็นส่วนๆ
ทำหน้าที่ Run Node-red และควบคุมอุปกรณ์ต่อไปนี้
- Microphone จะรับเสียงจากผู้ใช้งานแล้วแลงเป็นไฟล์นามสกุล .wav เพื่อส่งให้ Google Cloud Speech to Text
- Speaker รับคำสั่งจาก Node-RED เพื่อเล่นไฟล์เสียง
- Camera ส่งค่าไปยัง Node-RED เพื่อให้รู้ตำแหน่งผู้ใช้งาน
- servo รับค่าจาก Node-RED สำหรับทิศทางการหมุน
Raspberry Pi ตัวที่ 2
ทำหน้าที่ ควบคุม LED และ Printer
- LED ทำหน้าทีสองส่วน คือแสดงผลไฟที่ตาและแสดงผลแทนอุปกร์ IoT ในการแสดงผลคำสั่งของผู้ใช้
- Printer จะทำงานเมื่อมีการถ่ายรูปเสร็จและจำปริ้นรูปถ่ายทันที
และส่วนของ Status ทำหน้าที่เป็นส่วนย่อยในการเก็บค่าสถานะว่าเจอคนหรือไม่
Dynamixel AX-12A
- เป็น Digital Servo ที่มีความสามารถหมุนได้ 0-300 องศา เพื่อใช้ในการทำงานส่วนของการเคลื่อนไหวของ FOBI ในการหมุนแต่ละแกน
- ส่วนของแกนการทำงานก็จะมี 3 ส่วนที่ได้ออกแบบไว้คือ Roll, Pitch และ Yaw ดังนั้นจะใช้ Dynamixel 3 ตัว ในการควบคุมการเคลื่อนไหวของ FOBI
Wireless Microphone
- เพื่อใช้ในการรับเสียงจากผู้ใช้งานไปยังหุ่นยนต์ FOBI ใช้สำหรับเป็นส่วนในการฟังของ FOBI ทำงานเหมือนกับเป็นหูของ FOBI
Speaker
- ใช้ในการเล่นเสียงที่เป็นคำพูดต่างๆของ FOBI หรือการโต้ตอบทางเสียง ทำงานเหมือนกับเป็นปากของ FOBI
- จะทำงานทุกครั้งเมื่อได้รับคำสั่งถ่ายภาพและเมื่อถ่ายภาพเสร็จแล้วก็จะสั่งให้ Printer ทำงานเพื่อพิมพ์รูปถ่ายนั้น
- ใช้สำหรับเป็นส่วนจำลองในการใช้งานเพื่อรับคำสั่งการทำงานจากผู้ใช้มาทำการควบคุมอุปกรณ์ IoT (Internet of Things)
- ใช้แสดงไฟสถานะของตา FOBI ว่าอยู่ในสถานะไหนแล้ว สถานะของ FOBI จะมี 3 สถานะ ไฟที่ตาสีเขียวหมายถึงพร้อมรับคำสั่ง สีแดงหมายถึงมองไม่เห็นผู้ใช้งาน ไม่สามารถรับคำสั่งได้ สีน้ำเงินหมายถึงกำลังทำงานอยู่ไม่สามารถรับคำสั่งได้
- ใช้เป็นส่วนของการมองเห็นของ FOBI เพื่อรับภาพจากกล้องมาตัดสินใจเมื่อเห็นสิ่งต่างๆ ทำหน้าที่เหมือนตา
Node-RED
ประกอบไปด้วย Module ดังนี้
- Brain ทำหน้าที่ในการควบคุมสถานะต่างๆของ FOBI ให้เป็นลำดับขั้นตอน
- Motor ทำหน้าที่ในการควบคุมการหมุนของ Servo
- Listening ทำหน้าที่ในการฟังคำสั่งหรือคำพูดต่างๆของมนุษย์
- ALL_INIT ทำหน้าที่เก็บค่าเริ่มต้นต่างๆไว้
และส่วนของ Status ทำหน้าที่เป็นส่วนย่อยในการเก็บค่าสถานะว่าเจอคนหรือไม่