RRoy | NPC | 创造力: | 帖子: | 发消息 | 串个门 | 加好友 | 打招呼
2021-5-13 14:16:13 [显示全部楼层]
查看: 1735|回复: 3

[ESP8266/ESP32] 一只基于ESP32的小型四足机器狗

[复制链接]
本帖最后由 RRoy 于 2021-5-13 16:13 编辑

一只基于ESP32的小型四足机器狗qw2.jpg

在波士顿动力的Spot之后,四足机器狗变得非常流行。

之前社区也分享过用树莓派做的四足机器人Pupper——《能跑能跳能遛弯儿,波士顿动力Spot的小跟班来了!项目开源!

Arduino Uno做的Pupper的小弟——《可扩展性高,四足机器人斯坦福Pupper的小弟来了!

今天分享的是利用ESP32制作的小型四足机器狗。

特点
  • 只需要ESP32(不需要额外的PWM I2C、蓝牙模块等)
  • Arduino IDE
  • 只需要手机或平板就能遥控
  • 具有CLI接口用于校准和调试
  • 逆向运动学代码
  • 可配置的步态序列


电子部分
  • 1个38针的ESP32
  • 1个50x70毫米的原型开发板
  • 12个TowerPro MG90D舵机(使用其他舵机可能比较麻烦,因为尺寸可能不同,请看一-下三个不同的类似mg90的舵机的图片)

一只基于ESP32的小型四足机器狗qw3.jpg

一只基于ESP32的小型四足机器狗qw4.jpg

一只基于ESP32的小型四足机器狗qw5.jpg

一只基于ESP32的小型四足机器狗qw6.jpg

  • 1 x INA219 (可选)
  • 1 x MPU9250 (可选)
  • 3个Mini360(DC-DC降压转换器降压模块)或类似产品,2个用于前/后腿(或更多),1个用于ESP32
  • 1个18650锂电池电池座,用于2个元件(尝试找"18650电池座smt")。
  • 2个18650锂电池
  • 一些电容器

其他
  • 8个8x12x2.5毫米轴承
  • 4条杜邦线扎带
  • 用502胶水(氰基丙烯酸酯)将所有部件粘在一起

打印部件
一只基于ESP32的小型四足机器狗qw7.jpg

一只基于ESP32的小型四足机器狗qw8.jpg

一只基于ESP32的小型四足机器狗qw9.jpg

一只基于ESP32的小型四足机器狗qw10.jpg

所有要打印的STL文件可以在文末下载。

有些部分是镜像的,为了保证能够正确打印。请注意观察图片。

我的打印机在第一层厚度上有问题,也就是象脚。齿轮应该被尽可能完美地打印出来,所以我添加了非常小的垫片来避免这个问题,你会看到一些部件 "飞 "过表面,记得启用对它的支持。

强烈建议大家用最好质量的打印零件,特别是齿轮部分。

要打印的零件的完整清单:
  • 1 x 身体部分
  • 2 x 腿部顶部
  • 2 x 腿顶(镜像)
  • 2 x 脚底板
  • 2 x 腿部底部(镜像)
  • 4 x 肩部1
  • 4 x 肩部部件2
  • 2 x 腿部支架部分1
  • 2 x 脚管固定器部件2
  • 4 x 伺服齿轮
  • 4 x 脚管鞋,用柔性长丝打印(非必须)
  • 1 x 盖子
  • 2 x 盖板夹子

我使用Ender 3 Pro,Cura,使用支持并选择动态质量。塑料是OPY的PLA。

可以在https://www.thingiverse.com/thing:4822059 或者在文末下载。


组装
一只基于ESP32的小型四足机器狗qw11.jpg

一只基于ESP32的小型四足机器狗qw12.jpg


准备工作
在开始之前,检查轴承是否可以很容易地安装在机体部件和肩部部件上。

一只基于ESP32的小型四足机器狗qw13.jpg

还要检查肩部和车身部件上的孔是否打印得很好,伺服杜邦线(临时拆卸的伺服连接器)是否可以装在里面。

一只基于ESP32的小型四足机器狗qw14.jpg


开始组装
我试图使机身尽可能的轻,因为小舵机不是很强大。

确保胶合面是平的,这边可以用一下锉刀。确保部件之间相互连接,没有空隙。

然后如上图所示把他们粘在一起。

一只基于ESP32的小型四足机器狗qw15.jpg


舵机齿轮
切断舵机角(见图),使它适合舵机齿轮的部分,并把它们粘到一起。


腿部
一只基于ESP32的小型四足机器狗qw16.jpg

将短的舵机角粘在 "腿顶 "部分。

将舵机插入 "腿部底部",如图所示插入杜邦线。

将另一条伺服电机的杜邦线穿过 "肩 "部的一个孔。

重复上述步骤。

把机身和腿组装在一起

一只基于ESP32的小型四足机器狗qw17.jpg

如之前的图片所示,将所有杜邦线穿过腿部和机身的孔。

用Arduino/ESP32或舵机测试仪将所有舵机调到中间位置。

将 "舵机齿轮 "安装在舵机上,并将舵机插入机身。想要拧紧它可能是个挑战。

挤压没有舵机的 "肩膀 "部分(但有杜邦线),将其插入轴承之间。

重复其他舵机和部件的操作。

这个时候,我们不需要用螺栓固定腿部,等会儿我们需要按照我的GitHub资源库中的说明校准腿部:

https://github.com/SovGVD/esp32-robot-dog-code


PCB部分
一只基于ESP32的小型四足机器狗qw18.jpg

一只基于ESP32的小型四足机器狗qw19.jpg

一只基于ESP32的小型四足机器狗qw20.jpg

一只基于ESP32的小型四足机器狗qw21.jpg

PCB的配置由你决定。下面只展示我的做法。

传感器连接到ESP32的默认I2C总线(GPIO 21和22)。

舵机连接到:
  • 左前方:25、26、27
  • 右前:16、18、17
  • 左后腿(后):13, 12, 14
  • 右后方(后):4、2、15

你可以在代码中重新配置,但要确保ESP32 ISR库支持。


代码

在Arduino IDE上安装额外的库:
  • ESP Async Web Server
  • ESP32 ISR Servo
  • MPU9250_WE
  • INA219_WE

设置WiFi接入点凭证。
  • 将config_wifi.example.h重命名为config_wifi.h
  • 将APssid改为你的机器人的任何名称,例如SmallRobotDog
  • 将APpass改为密码(8个或更多字符),如MySup3rPassw0rd
  • 代码上传到ESP32后,你应该能用你的手机或平板电脑找到SmallRobotDog的WiFi。

打开浏览器,输入网址http://192.168.4.1/,你会看到两个虚拟摇杆来控制机器狗。

希望大家能够喜欢。

项目作者: Gleb Devyatkin
该译文首发于DF创客社区
转载请务必注明项目出处与原作者信息

Robot.zip

8.15 MB, 下载次数: 92

ESP32_ISR_Servo-1.1.0.zip

55.41 KB, 下载次数: 40

esp32-robot-dog-code-master.zip

195.41 KB, 下载次数: 40

修远  见习技师

发表于 2021-5-14 23:14:30

太强了吧
回复

使用道具 举报

刘思宇hhhhhhhhh  学徒

发表于 2021-5-29 14:41:57

不粗不错,有点意思
回复

使用道具 举报

晨硕  见习技师

发表于 2021-6-2 12:21:58

太强了吧 不粗不错,有点意思
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2021 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail