หน้าแรก ดูโปรเจกต์ทั้งหมด
Expert

โปรเจกต์ MIA-1 Open Source Advanced Handmade Humanoid Robot!

หุ่นยนต์ Humanoid Robot ขั้นสูงแบบ Open Source ที่พัฒนาด้วย Arduino และ Python!

โปรเจกต์ MIA-1 Open Source Advanced Handmade Humanoid Robot!

วิดีโอสาธิต

Video

▶ กดเพื่อดูวิดีโอสาธิตโปรเจกต์

รายการอุปกรณ์และเครื่องมือ

1x UTSOURCE Electronic Parts
-
8x LDX227 servo motor
🛒 สั่งซื้อ
1x Arduino Mega 2560
🛒 สั่งซื้อ

รายละเอียดและวิธีทำ

สวัสดีครับทุกคน วันนี้ผมจะมาแสดงวิธีการสร้างหุ่นยนต์ MIA-1 ซึ่งไม่เพียงแต่ล้ำสมัยและมีเอกลักษณ์เท่านั้น แต่ยังเป็นแบบ open source และสามารถสร้างได้โดยไม่ต้องใช้เครื่องพิมพ์ 3D! ใช่ครับ คุณเข้าใจถูกต้องแล้ว หุ่นยนต์ตัวนี้ทำด้วยมือทั้งหมด และคำว่า open source หมายความว่า - คุณจะ ได้รับ codes และรายละเอียดทุกอย่างฟรี, คุณเองก็สามารถสร้างหุ่นยนต์ตัวนี้ได้หากคุณต้องการ

ในที่นี้เราเห็นเพียงการพูดของเธอ แต่ยังมีอีกหลายสิ่งที่เธอสามารถทำได้!

นี่คือสิ่งที่เธอสามารถทำได้:

  • สามารถฟังและพูดโต้ตอบกับคุณได้
  • สามารถมองเห็นและจดจำคุณได้โดยใช้กล้องที่ตาซ้ายของเธอ
  • สามารถตรวจจับความเคลื่อนไหวและถ่ายภาพได้
  • มี GUI พร้อมหน้าจอ touch screen LCD เพื่อสั่งการเธอ
  • แสดงรูปภาพบน lcd ของเธอ
  • ดาวน์โหลดรูปภาพและแสดงบนหน้าจอของเธอ
  • สามารถเล็งเป้าหมายโดยใช้ laser pointer ที่มือขวาของเธอ
  • ขยับมือขณะพูด
  • ยืนด้วยเท้าของเธอเองโดยไม่ต้องมีใครช่วย
  • เธอยังสามารถคำนับได้ด้วย (ลองดูในวิดีโอ)
  • และอื่นๆ อีกมากมาย!

Supplies:

ในการสร้างหุ่นยนต์ตัวนี้ ผมได้ใช้สิ่งของทั้งหมดที่หาซื้อได้จากร้านค้าในท้องถิ่น

Microcontrollers + Computers (The Brain):

  • Arduino Mega (สำหรับควบคุม Servo motors)
  • คอมพิวเตอร์เต็มรูปแบบ (คุณสามารถใช้ Raspberry Pi ได้ แต่เริ่มแรกผมใช้แล็ปท็อปเป็นสมองของเธอ)

Servo Motors:

MIA-1 มี 13 degrees of freedom

  • LDX227 dual axis servo motors 8 ตัว
  • MG996r / MG996 servo motors 3 ตัว
  • สำหรับนิ้วมือผมใช้ micro servo sg90

โปรดทราบว่าผมได้เพิ่ม robotic claw และมันใช้ MG996r servo motor อีกหนึ่งตัว

และสาย jumper wires และอื่นๆ

Vision:

สำหรับการประมวลผลภาพ เช่น การถ่ายภาพและการตรวจจับใบหน้า ฯลฯ ผมได้ใช้ USB camera

หมายเหตุ: บทช่วยสอนนี้เหมาะสำหรับผู้สร้างระดับกลางและระดับสูง ผมจะเน้นไปที่ codes เป็นหลัก เพราะ code คือสิ่งที่ทำให้ MIA-1 เป็น MIA-1 และถ้าคุณได้ code ทุกอย่างก็จะง่ายสำหรับคุณ

Step 1: Body and Motor Layout

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

ตัวเชื่อมต่อ servo ทำจากแผ่น pvc แบบบางเพราะดัดโค้งได้ดี

ส่วนหัวทำจากลูกโป่ง โดยเป่าลมเข้าไปในลูกโป่ง (ดูรูปภาพ) แปะเศษกระดาษเปียกชิ้นเล็กๆ ลงไปแล้วทำให้แห้ง หลังจากแปะทับกัน 8 ชั้น มันจะมีความแข็งแรงและทนทาน

จากนั้นก็พ่นสีขาว (ทั้งตัว) โดยใช้สีสเปรย์

ผลปรากฏว่าการออกแบบมีความสมดุลอย่างน่าทึ่ง และเธอ (MIA-1) สามารถยืนบนเท้าทั้งสองข้างของเธอได้เลย!!

การติดตั้งหน้าจอ:

หลังจากนั้นก็ใช้ screws และ hot glues เพื่อติดตั้ง lcd บนหน้าอกของเธอ (รูปสุดท้าย)

Step 2: Circuit Diagram

แผนผังวงจรอาจดูซับซ้อนแต่จริงๆ แล้วไม่เลย ผมเขียนวงจรตามการวางตำแหน่งของ motor บนตัวหุ่นเพื่อให้คุณเข้าใจได้ง่ายขึ้น ตรวจสอบให้แน่ใจว่าได้เชื่อม ground เข้าด้วยกัน Arduino รับพลังงานจากคอมพิวเตอร์ผ่านสาย usb มีเลเซอร์ไดโอดที่ช่วยให้ mia เล็งเป้าหมายได้ โดยรับพลังงานจาก pin 13 (led pin) ของ Arduino

อย่างที่คุณเห็น motor ทั้งหมดและตัว Arduino เองจะอยู่ที่ด้านหลังของตัวหุ่น ผมยังเดินสาย cables ทั้งหมดไว้ที่ด้านหลังด้วย และได้ซื้อสาย USB แบบยาวพิเศษเพื่อให้สามารถเชื่อมต่อกับคอมพิวเตอร์ได้

Step 3: The CODE

อย่างที่ทราบกันว่าผมใช้ 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-python

GUI (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 ได้ที่นี่

Step 4: Power and Finishing

ผมจ่ายไฟให้หุ่นยนต์โดยใช้แบตเตอรี่ 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 เพื่อให้นักเรียนและผู้ที่สนใจคนอื่นๆ สามารถเรียนรู้ตรรกะของหุ่นยนต์ได้ หวังว่าในอนาคตจะไม่มีใครมองว่าวิทยาการหุ่นยนต์เป็นเพียงนิยายวิทยาศาสตร์อีกต่อไป สู่ยุคสมัยของหุ่นยนต์!!

Code

🔒 ปลดล็อก Code

สนับสนุนเพื่อรับ Source Code หรือแอปพลิเคชันสำหรับโปรเจกต์นี้

รหัสอ้างอิงโปรเจกต์: mia-1-open-source-advanced-handmade-humanoid-robot-36429e
2450 บาท
PromptPay QR Code