โปรเจกต์ MIA-1 Open Source Advanced Handmade Humanoid Robot!
หุ่นยนต์ Humanoid Robot ขั้นสูงแบบ Open Source ที่พัฒนาด้วย Arduino และ Python!
หุ่นยนต์ Humanoid Robot ขั้นสูงแบบ Open Source ที่พัฒนาด้วย Arduino และ Python!
▶ กดเพื่อดูวิดีโอสาธิตโปรเจกต์
สวัสดีครับทุกคน วันนี้ผมจะมาแสดงวิธีการสร้างหุ่นยนต์ MIA-1 ซึ่งไม่เพียงแต่ล้ำสมัยและมีเอกลักษณ์เท่านั้น แต่ยังเป็นแบบ open source และสามารถสร้างได้โดยไม่ต้องใช้เครื่องพิมพ์ 3D! ใช่ครับ คุณเข้าใจถูกต้องแล้ว หุ่นยนต์ตัวนี้ทำด้วยมือทั้งหมด และคำว่า open source หมายความว่า - คุณจะ ได้รับ codes และรายละเอียดทุกอย่างฟรี, คุณเองก็สามารถสร้างหุ่นยนต์ตัวนี้ได้หากคุณต้องการ
ในที่นี้เราเห็นเพียงการพูดของเธอ แต่ยังมีอีกหลายสิ่งที่เธอสามารถทำได้!
นี่คือสิ่งที่เธอสามารถทำได้:
ในการสร้างหุ่นยนต์ตัวนี้ ผมได้ใช้สิ่งของทั้งหมดที่หาซื้อได้จากร้านค้าในท้องถิ่น
Microcontrollers + Computers (The Brain):
Servo Motors:
MIA-1 มี 13 degrees of freedom
โปรดทราบว่าผมได้เพิ่ม robotic claw และมันใช้ MG996r servo motor อีกหนึ่งตัว
และสาย jumper wires และอื่นๆ
Vision:
สำหรับการประมวลผลภาพ เช่น การถ่ายภาพและการตรวจจับใบหน้า ฯลฯ ผมได้ใช้ USB camera
หมายเหตุ: บทช่วยสอนนี้เหมาะสำหรับผู้สร้างระดับกลางและระดับสูง ผมจะเน้นไปที่ codes เป็นหลัก เพราะ code คือสิ่งที่ทำให้ MIA-1 เป็น MIA-1 และถ้าคุณได้ code ทุกอย่างก็จะง่ายสำหรับคุณ




โครงสร้างตัวหุ่นทำจาก PVC sheet ชิ้นส่วนต่างๆ ถูกประกอบเข้าด้วยกันโดยใช้ Hot Glue และ screws (ดูรูปภาพ) ผมตัดแผ่น pvc โดยใช้ cutter knife (ระวังให้มาก!! อย่าตัดโดนนิ้วตัวเองแทนล่ะ!!) จากรูปที่หนึ่งและสอง คุณจะเห็นการวางตำแหน่งของ servo เนื่องจากผมสร้างหุ่นยนต์ผู้หญิง ผมจึงออกแบบรูปร่างและสัดส่วนให้เหมือนผู้หญิง
ตัวเชื่อมต่อ servo ทำจากแผ่น pvc แบบบางเพราะดัดโค้งได้ดี
ส่วนหัวทำจากลูกโป่ง โดยเป่าลมเข้าไปในลูกโป่ง (ดูรูปภาพ) แปะเศษกระดาษเปียกชิ้นเล็กๆ ลงไปแล้วทำให้แห้ง หลังจากแปะทับกัน 8 ชั้น มันจะมีความแข็งแรงและทนทาน
จากนั้นก็พ่นสีขาว (ทั้งตัว) โดยใช้สีสเปรย์
ผลปรากฏว่าการออกแบบมีความสมดุลอย่างน่าทึ่ง และเธอ (MIA-1) สามารถยืนบนเท้าทั้งสองข้างของเธอได้เลย!!
การติดตั้งหน้าจอ:
หลังจากนั้นก็ใช้ screws และ hot glues เพื่อติดตั้ง lcd บนหน้าอกของเธอ (รูปสุดท้าย)


แผนผังวงจรอาจดูซับซ้อนแต่จริงๆ แล้วไม่เลย ผมเขียนวงจรตามการวางตำแหน่งของ motor บนตัวหุ่นเพื่อให้คุณเข้าใจได้ง่ายขึ้น ตรวจสอบให้แน่ใจว่าได้เชื่อม ground เข้าด้วยกัน Arduino รับพลังงานจากคอมพิวเตอร์ผ่านสาย usb มีเลเซอร์ไดโอดที่ช่วยให้ mia เล็งเป้าหมายได้ โดยรับพลังงานจาก pin 13 (led pin) ของ Arduino
อย่างที่คุณเห็น motor ทั้งหมดและตัว Arduino เองจะอยู่ที่ด้านหลังของตัวหุ่น ผมยังเดินสาย cables ทั้งหมดไว้ที่ด้านหลังด้วย และได้ซื้อสาย USB แบบยาวพิเศษเพื่อให้สามารถเชื่อมต่อกับคอมพิวเตอร์ได้
อย่างที่ทราบกันว่าผมใช้ Arduino Mega ซึ่งจะทำหน้าที่ควบคุม Servo motors โดยตัว motors ถูกโปรแกรมไว้ล่วงหน้าแล้ว ดาวน์โหลด motors code ได้ที่นี่ โปรดสังเกตตำแหน่งเริ่มต้น (default) ของ servo และรักษาตำแหน่งนี้ไว้ขณะสร้างหุ่นยนต์ เพียงแค่จ่ายไฟให้ motors ด้วย Arduino โดยยังไม่ต้องประกอบเข้ากับโครงสร้าง แล้ว Servo motors จะหมุนไปยังตำแหน่ง default (ตำแหน่ง default อยู่ด้านล่าง)
/*default/standby position of servos*/<br> komor.write(4); #waist servo
left1.write(120);
rFinger.write(0);
servo1.write(55);
clawOpen();
rightStandBy();
leftStandBy();
headTilt.write(134);
headPan.write(90);code ควบคุม motor มีความยาวมากกว่า 750 บรรทัด (โปรดระวังขณะแก้ไข)
การประมวลผลหลักทำโดยใช้ script python3
Python มี library ชื่อ pySerial ที่ใช้สื่อสารกับ Arduino ผ่าน serial ตรวจสอบ 'COM PORT' ให้ถูกต้อง
#Connect with mia motor driver board over serial communication
try:
mia = serial.Serial("COM28", 9600)
except:
passคุณต้องใช้คำสั่ง pip install เพื่อติดตั้ง libraries เหล่านี้ด้วย
"""import necessary libraries"""<br>#import requests #for making post/get requests
import pyttsx3 #offline text to speech
import speech_recognition as sr #Speech to text (requires internet to function)
import time
from random import randint #random integer picking library
import tkinter #tkinter gui library
from tkinter import Tk, Button, Label, Tk #import necessary things
import serial #serial library for serial communication over USB
from PIL import Image #fro showing image
import cv2 #Computer Vision library
import wikipedia #to get data direcly from wikipediaทุกอย่างง่ายมากเมื่อใช้ pip install สำหรับ opencv ให้พิมพ์ใน command prompt ว่า:
pip install opencv-contrib-pythonGUI (Graphical User Interface) ที่คุณเห็น พัฒนาโดยใช้ tkinter สำหรับสิ่งนี้และทุกๆ library อื่นๆ คุณสามารถติดตั้งได้ด้วยคำสั่งนี้:
pip install library_nameแล้วมันจะถูกติดตั้ง
นอกจากนี้ ตรวจสอบด้วยว่าหากคุณใช้ webcam ส่วนใหญ่กล้องมักจะถูกระบุเป็นลำดับที่ 1
cap = cv2.VideoCapture(1) #cameraและถ้าคุณต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับวิธีที่หุ่นยนต์ตัวนี้พูดโต้ตอบจริงๆ โปรดอ่านบทช่วยสอนนี้
code ของ MIA-1 เป็นเพียงเวอร์ชันที่ต่อยอดมาจากอันนี้
ในการสั่งการ Arduino คอมพิวเตอร์จะส่ง bytes ไปให้ และ Arduino จะดำเนินการตาม bytes ที่ได้รับ ดังนั้นจะเห็นได้ว่าการเคลื่อนที่และการพูดของ Mia จะทำงานแบบ asynchronous
mia.write(b'p') #command to head up then down<br>count_down(3)
respond("Smile please", 100)หากต้องการรับ code ให้ไปที่ลิงก์ด้านล่าง
ดาวน์โหลด code ของ MIA-1 ได้ที่นี่
ผมจ่ายไฟให้หุ่นยนต์โดยใช้แบตเตอรี่ lipo ขนาด 7.4 v Servo รุ่น LDX227 กินไฟมาก (แต่มีคุณภาพดี) ดังนั้นควรตรวจสอบให้แน่ใจว่าได้รับไฟอย่างน้อย 7.3 v ตลอดเวลา ในทางกลับกัน MG996r servo motors ราคาถูกและอาจเสียหายได้ง่าย ตรวจสอบให้แน่ใจว่าได้รับไฟไม่เกิน 7.8V ดังนั้นแหล่งจ่ายไฟสูงสุดสำหรับหุ่นยนต์ตัวนี้ควรอยู่ระหว่าง 7.4 ถึง 7.8 volts
ขอให้สนุกกับการสร้าง! หากคุณชอบหุ่นยนต์ตัวนี้ อย่าลืมสนับสนุนโดยการกด subscribe ช่องเพื่อติดตามโปรเจกต์เจ๋งๆ เพิ่มเติม
หุ่นยนต์ตัวนี้เป็นหุ่นยนต์ humanoid แบบ open source ตัวแรกของบังคลาเทศ!! และมีราคาถูกที่สุดในประเภทเดียวกัน ผมสร้างหุ่นยนต์ตัวนี้เป็น open source เพื่อให้นักเรียนและผู้ที่สนใจคนอื่นๆ สามารถเรียนรู้ตรรกะของหุ่นยนต์ได้ หวังว่าในอนาคตจะไม่มีใครมองว่าวิทยาการหุ่นยนต์เป็นเพียงนิยายวิทยาศาสตร์อีกต่อไป สู่ยุคสมัยของหุ่นยนต์!!
สนับสนุนเพื่อรับ Source Code หรือแอปพลิเคชันสำหรับโปรเจกต์นี้