12浏览
查看: 12|回复: 1

[项目] 【Arduino 动手做】用于递送小包裹智能送货机器人

[复制链接]
智能送货机器人
我制作了一个智能送货机器人作为 2023 年 OpenCV AI 竞赛的参赛作品。您可以在下面的视频或文本中获取简要信息。

我的项目视频
该项目是一辆六轮机器人车。它可以将小包裹运送到医院、餐馆、办公室或仓库等许多地方。运输包裹时,顶盖被锁定。到达目的地后,机器人等待在盖子上的键盘上输入 PIN 码,或者您可以向它出示一个特殊的二维码来接收包裹,如果验证成功,顶盖就会解锁。车辆行驶在绿色的引导线上,必须放置在机器人可以通过的地方,更多信息在名为“使用机器人”的章节中。

机器人的构建
3D 打印

首先,您必须 3D 打印所有机械部件。您可以在 CAD 文件列表中找到它们并下载它们,但必须重新排列。我用 PLA 3D 打印了它们,填充物为 15%,只有轮胎是用 FLEX 打印的,还有 15% 的填充物。

底座组件

下一步将介绍底座(带有 Raspberry Pi 4B 的板、电机等)的组装。取一个 3D 打印的 BasePlate,将 Raspberry Pi 4B 放在打印件上的四个棒上,然后用四个 3D 打印部件覆盖它们RPI_EndCap。然后,您需要将两个带有双面胶带的 L298N 电机控制器粘在它们的框架上(您必须调整它们的方向,使电源连接器彼此相对)。然后,取一个 3D 打印的CPU_Fan_Holder,用速溶胶将其粘在用于风扇的孔(细长矩形)上。现在放入 30x30x8 mm 风扇并将其放入(电缆必须穿过部件的侧孔。用 3D 打印 FanFrame 覆盖它。之后,按照下面的 Fritzing 图连接 L298N 模块。将 CPU 风扇的红线连接到树莓派的 5v 引脚,将黑线连接到 GND 引脚。

电机和底部组件

建造基地后,您必须建造车辆的底部。将所有六个电机放入名为 Motor_Case 的 3D 打印中。然后,取Bottom_Plate并用速溶胶将其粘在底座上(方向无关紧要。现在将所有带盖的电机放入圆形边的半圆柱体中。不要忘记将电缆穿过底部的小孔,这可能很棘手,但这是必要的。然后将Motor_EndCap胶在所有电机的外端。现在,把轮胎装上轮子。之后,在电机的轴上安装轮子。现在您已经安装了底部部件,让我们继续安装带有灯和电源管理的中型部件。通过小孔,您必须安装巡线传感器。将左侧传感器连接到 GPIO 6,右侧连接到 GPIO 5。

灯和电源管理组件

现在,取一个名为 LightsPowerMain 的 3D 打印件,并将其底部棒粘在先前组装的部件的顶部 - 三个大矩形(电池座位于 Raspberry Pi 4B 上方,位于机器人的前面)。如下图所示将电线焊接到电池座上,然后将它们放入前面提到的三个矩形中。现在拿一条双面胶带贴上一个 5v 继电器、电池保护模块、两个升压模块、一个 6-24v 转 USB 降压模块和一个 HX711 AD 转换器。将 DC 插孔连接器粘在侧面的小孔中,以便可触及。现在,按照电池的 Fritzing 图焊接电源管理电路的第一部分。接下来,将电池放入电池座中。之后,在前孔中放入第二个 30x30x8 毫米风扇,电线必须进入车辆内部。用 FanFrame 3d 打印部件覆盖它。现在组装四组 LED(五个白色(正面)或红色(背面)LED,两端一个黄色 LED)并将它们连接到 Raspberry Pi,如 Fritzing 图所示。之后,用胶带固定前置摄像头,镜头必须可见,如果不合适,则必须为网络摄像头重新设计文件。将该网络摄像头插入 Raspberry Pi 的 USB 端口。接下来,从内部安装两个 HC-SR 04 传感器。现在不要连接它们。然后,连接 USB A 转 USB C 线缆,将模块向下移动,并将线缆的第二端连接到树莓派上的电源插座。最后,再次将风扇的红色电缆连接到 Raspberry Pi 的 5 V 引脚,将黑色线连接到 GND 引脚。

传感器板组件

以名为 SensorPlate 的 3D 打印件为例。将其粘在灯和电源板上(方向 - 小孔朝后。将 RPi 相机 v 1.3 粘贴到该孔(镜头可见),将 CSI 电缆连接到 RPi。将 Arduino nano every、MPU 6050 陀螺仪加速度计和 HMC5883L 磁力计(指南针)放入此打印中。连接上一章中的两个 HC-SR04 传感器,如下面的第一个 Fritzing 图所示。然后连接 MPU 6050,并按照 Fritzing 图 2 和 3 中的 HMC5883L。然后,将称重传感器焊接到 HX711 上,并将 HX711 模块连接到 Arduino nano,如第四张 Fritzing 图所示。在将称重传感器放入 3D 打印中之前,您必须在称重传感器的一侧拧上两个 M4x16 螺钉,螺钉头朝下,在另一侧拧上螺钉头。用螺丝头粘在底部。将顶部螺钉头粘在称为 Loadcell_Top 的部件上。现在返回电池并将 10K NTC 热敏电阻粘在一个电池的顶部。通过第五张图中的 10K 电阻器将其连接到 Arduino(不要连接将在构建结束时连接的 LDR。此外,将继电器连接到 Nano 每个引脚的 D6,如图 6 所示。您是否在照片中发现了两个未使用的孔?它们用于可选安装 NEO 6M GPS 模块和天线,代码中未使用(用于将来的升级),如果您想放置它,请像上一个 Fritzing 图一样接线。最后,将 micro USB 电缆从 Arduino nano Every 连接到 Raspberry Pi 4B,并用 CompassCover 覆盖HMC5883L,用 GyroCover MPU6050,Arduino Nano Every 用 NanoEveryCover 覆盖

封装区域组件的底部

这部分组装将非常简单。只需取一个名为 BottomPackagePlate 的 3D 打印部件并将其粘在先前组装的部件上(方向 - 称重传感器的孔必须位于称重传感器上方)。

包装盒组装

下一个简单的部分是包装盒的组装。您只需将名为 PackageBox 的 3D 打印件放在组件上(方向 - 两件上的大电缆组织孔是合适的。最后,您将将它们粘合在一起。

顶部组件

在构建的其余部分之后,机器人构建的最后一个部分将非常困难 - 机器人车辆的顶部。进行名为 Top 的 3D 打印,将名为 lid 的打印件放在那里,将 LidRod 拉过并将 LidCaps 连接到杆的末端(如下图所示)。让我们继续讨论太阳能电池板。将其连接到开关以打开和关闭太阳能电池板,如下面的 Fritzing 图所示,然后将其连接到升压模块之一并将升压模块设置为 8.4v(在太阳能电池板上发光,连接万用表上的输出引脚,旋转升压模块上的微调器并达到 8.4v)。之后,将 12 V 电磁锁连接到继电器的 NO 和 COMs 引脚以及其他升压模块,如第二个 Fritzing 图所示。将锁粘成矩形,并在打印件底部写上“lock”字样,锁闩必须在移动部分的外部,安装时需要按下闩锁。在顶部的小孔中安装 LDR,如热敏电阻的 Fritzing 图所示。现在将 3 个带有 200 欧姆电阻器的绿色 3 毫米 LED 安装到带有三个小孔的隔间中,并将它们连接到 Arduino,作为第三个 Fritzing 图。现在将 6 个带有 200 欧姆电阻器的 3 mm LED 连接到 CD4017 中,并将 LED 放入一个带有六个小孔的小隔间中。之后,您需要将 CD4017 连接到 Arduino,就像第四个 Fritzing 图中所示。然后连接 12 按钮键盘,如第五张 Fritzing 图所示。下面。将所有电缆穿过背面的一个大细孔。接下来,将组装好的顶部粘在机器人上(圆角正方形位于机器人前面)。最后,在前面的圆角方块中,您可以粘贴 NFC 标签并在上面放置 3d 打印 NFCSign,或者不使用 NFC 并使用 NoNFCSign 打印。你做到了!

使用机器人
如果要使用机器人,则必须将 Python 脚本复制到 Raspberry Pi4 并使其以这种方式自动运行。

1) 首先,打开终端并运行要在登录时执行 python 脚本的用户的 crontab 脚本

$ crontab -e
2) 如果你是第一次使用 crontab,你可能需要在终端中选择文本编辑器,如果可能,请选择 nano。

3) 从我的 Hackster.io 项目中下载主程序

4) 运行这两个命令(您可能需要输入密码)

cd /home
sudo mkdir robot
5) 找到您的文件 - 如果您已将文件下载到默认文件夹,请运行此代码,但您需要更改用户名,或者如果您没有将其下载到默认文件夹,请输入 cd /,后跟您的文件位置(文件夹)。

cd /home/your_rpi_username/Downloads
6) 将文件移动到正确的目录

sudo mv robotmainscript.py /home/robot
7) 将此代码添加到文件中。它使脚本在 Raspberry Pi 的引导上运行。

@reboot /home/robot/robotmainscript.py
8) 测试

sudo reboot
在视频中使用黑线而不是彩线。您可以从代码中获得很多信息(只有用于您自己目的创建代码的草稿,可能不适用于某些版本的 Raspbian)。可以使用 https://www.the-qrcode-generator.com/ 创建 QR 码。我在这个项目上工作了很长时间,感谢你的制作。

【Arduino 动手做】用于递送小包裹智能送货机器人图1

【Arduino 动手做】用于递送小包裹智能送货机器人图2

【Arduino 动手做】用于递送小包裹智能送货机器人图3

【Arduino 动手做】用于递送小包裹智能送货机器人图4

【Arduino 动手做】用于递送小包裹智能送货机器人图5

【Arduino 动手做】用于递送小包裹智能送货机器人图6

【Arduino 动手做】用于递送小包裹智能送货机器人图7

【Arduino 动手做】用于递送小包裹智能送货机器人图8

【Arduino 动手做】用于递送小包裹智能送货机器人图9

【Arduino 动手做】用于递送小包裹智能送货机器人图10

【Arduino 动手做】用于递送小包裹智能送货机器人图11

【Arduino 动手做】用于递送小包裹智能送货机器人图12

【Arduino 动手做】用于递送小包裹智能送货机器人图13

【Arduino 动手做】用于递送小包裹智能送货机器人图14

【Arduino 动手做】用于递送小包裹智能送货机器人图15

【Arduino 动手做】用于递送小包裹智能送货机器人图16

【Arduino 动手做】用于递送小包裹智能送货机器人图18

【Arduino 动手做】用于递送小包裹智能送货机器人图17

【Arduino 动手做】用于递送小包裹智能送货机器人图19

【Arduino 动手做】用于递送小包裹智能送货机器人图20


驴友花雕  中级技神
 楼主|

发表于 5 小时前

【Arduino 动手做】用于递送小包裹智能送货机器人

回复

使用道具 举报

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

本版积分规则

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

硬件清单

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

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

mail