亲,“电路城”已合并升级到更全、更大、更强的「新与非网」。点击查看「新与非网」

本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页

开源高级手工人形机器人—MIA-1

发布时间:2022-11-12
分享到:

开源高级手工人形机器人—MIA-1

发布时间:2022-11-12
分享到:

这个项目将展示我如何制作机器人 MIA-1,它不仅先进独特,而且开源,无需 3D 打印即可制作!是的,你明白了,这个机器人完全是手工制作的。开源意味着——你可以免费获得代码和每一个细节,如果你愿意,你也可以制作这个机器人。

以下是她可以做的事情:

  • 可以倾听并与您交谈
  • 可以用她左眼的摄像头看到并认出你
  • 可以检测运动并拍摄照片
  • 有一个带有触摸屏 LCD 的 GUI 来指挥她
  • 在她的液晶显示器上显示图像
  • 在她的屏幕上下载图像和节目
  • 可以用右手上的激光笔瞄准目标
  • 说话时移动手
  • 无需他人帮助即可站立
  • 她也可以鞠躬(观看视频)
  • 还有很多!

所需组件:
为了制作这个机器人,我使用了我们当地商店的所有东西。

微控制器 + 计算机(大脑)

  • Arduino Mega(用于控制伺服电机)
  • 一台完整的计算机(您可以使用 Raspberry Pi,但我最初将笔记本电脑用作她的大脑)

伺服电机:

MIA-1 有 13 个自由度。

  • LDX227 双轴伺服电机 8x
  • MG996r / MG996 伺服电机 3x
  • 对于figers,我使用了微型伺服SG90

请注意,我添加了一个机械爪,它使用另一个 MG996r 伺服电机。

以及跳线等

图像处理:

对于图像处理,例如拍照和检测面部等。我使用了USB 相机。

注意:本教程适用于中级和高级制作者,我将主要介绍代码部分,因为它是制作 MIA-1、MIA-1 的代码。如果你得到代码,一切对你来说都很容易。
第 1 步:机身和电机布局

机身由PVC 板制成,不同的部件使用热胶和螺丝固定(见图)。我用切刀切了 pvc 片材(要非常小心!!不要切手指!!)。从图一和图二你可以看到伺服布局。

伺服连接器采用薄 pvc 板制成,因为它们弯曲良好。

头部是用气球制成的,在气球中吹气,加入小湿纸片,然后将其干燥。添加8层后,它变得强大和可持续。

然后使用喷涂颜色将其涂成白色。

在设计完成后,我才发现她具有惊人的平衡。

添加显示:

之后,只需使用一些螺丝和热胶将液晶显示器安装在她的胸前。

第 2 步:电路图

电路图看起来很复杂,其实不然。我把电路画成车身上的电机布局,以便您更容易理解。确保共同接地。arduino 通过其 USB 电缆从计算机获取电源。有一个激光二极管可以让 mia 瞄准物体,从 arduino 的引脚 13(led 引脚)获取电源。

正如你所看到的,所有的电机和 arduino 本身都在身体的背面。我也把所有的电缆都从后面放好了。买了一根延长的USB线,这样就可以连接电脑了。

第 3 步:代码
如你所知,我使用了一个 arduino mega。arduino mega 控制伺服电机,电机是预编程的。请注意默认伺服位置,在构建机器人时请保持此位置。只需用 arduino 为电机供电,无需制作机身,伺服电机将到达默认位置(默认位置如下)

/*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);
电机控制代码超过 750 行(编辑时要小心)。

主要处理是使用 python3 脚本完成的。

Python 有 pySerial 库,可以通过串口与 arduino 通信。注意“COM PORT”。

#Connect with mia motor driver board over serial communication
try:
    mia = serial.Serial("COM28", 9600)
except:
  pass

您还需要 pip 安装这些库

"""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在命令提示符下输入:

pip install opencv-contrib-python
您看到的 GUI(图形用户界面)是使用 tkinter 开发的。对于这个和所有其他库,您可以通过以下命令安装:

pip install library_name

然后它将被安装。

如果您使用的是网络摄像头,还请查看它更有可能将摄像头表示为 1

cap = cv2.VideoCapture(1)   #camera

MIA-1 的代码只是这个的扩展版本。

在命令 arduino 时,计算机发送一口,arduino 根据接收到的口采取行动,因此看起来 Mia 的动作和说话是异步的。

mia.write(b'p')  #command to head up then down<br>count_down(3)
respond("Smile please", 100)

现在要获取代码,请访问下面的链接。

第 4 步:电源和整理
我使用 7.4 伏锂电池为机器人供电。LDX227 伺服系统非常耗电(但质量很好),因此请确保它们在任何时候都能获得至少 7.3 v 的电压。另一方面,MG996r 伺服电机价格便宜,很容易损坏,确保它们不会超过 7.8V。所以这个机器人的最高电源应该在 7.4 到 7.8 伏之间。

本文中所用到的一些代码

如果您对此项目有任何想法、意见或问题,请在下方留言。

以上内容翻译自网络,原作者:Ashraf_minhaj,如涉及侵权,可联系删除。

加入微信技术交流群

技术交流,职业进阶

关注与非网服务号

获取电子工程师福利

加入电路城 QQ 交流群

与技术大牛交朋友

讨论