构建一款农业蜘蛛机器人
大多数农场机器人使用轮子驱动,但轮子在地面行驶时往往难以应对最需要的地方。潮湿的稻田边缘和松软的土壤要么让它们陷下去,要么在通过时被搅动。轮胎还会留下连续的痕迹,导致任何生长在这些痕迹上的植物都会被压扁。
我们希望设计一款能“踏过”地面的机器人。步行式机器每次只在少数几个点接触土壤,可以越过小轮子无法通过的土块和山脊。正是这一点促使我们转向了西奥·詹森的连杆系统——也就是他那些在荷兰海滩上行走的“斯特兰德比斯特”雕塑所采用的机制。
它的功能
该机器人可按应用程序指令向前、向后移动并转弯。此外,它还配备了一些农民通常会用手完成的工具:
•一个安装在前部的电动除草机,用于清除行间杂草。
•一个装在电动臂上的水平仪传感器。当你需要测量时,臂将传感器放入土壤中,待机器人移动后再将其抬起,这样传感器就不会被拖入田间。
•可通过应用程序开启的防虫蜂鸣器。
•机盖上配有两块小型太阳能板,可为电池充电,另提供外部充电选项。
•机盖上设有电源开关和指示LED灯。
•机盖上设有一个着陆平台,用于小型侦察四轴飞行器。
传感器读数会实时显示在Blynk应用程序中,由于Blynk通过云端运行,因此只要有网络连接,您就可以从任何地方控制机器人。
腿部的工作原理
机器人的每侧均配备四个腿,采用Theo Jansen机构设计。每个腿由一个旋转曲柄驱动,而腿上的其他每一个连杆和关节均为被动式,仅在曲柄运动时才发生移动,从而将简单的旋转转化为步进运动。
四个NEMA 17步进电机驱动腿部,每边底盘各两个电机。每边的电机带动三个斜齿轮组成的链条,这些齿轮再驱动该侧的四个腿的曲柄。总共六个塑料齿轮同步驱动全部八个腿部。通过让两侧以不同的速度或方向运转,实现机器人的转向。
腿部的连杆采用铝复合板制成,因其轻便且易于加工。螺柱固定每条腿的中心,活动关节使用铝铆钉,使连接件可自由旋转。机身采用折叠金属板制成。
腿部轴和固定件
整个结构造价约为19,200卢比。零件来自亚马逊印度、Robu.in、Sharvi Electronics以及本地商店。
电源
12V电池直接为四个DRV8825驱动器供电。LM2596将相同电源降压至7V,供给L298N,该器件控制执行器和除草机电机;L298N内置的稳压器则为ESP32提供5V电压。当电池电量不足时,太阳能板会为电池充电,机器人在充电期间处于待机状态。连接方式
固件
代码。ino 是一个用于 ESP32 的 Arduino 脚本。它连接 Wi-Fi,登录 Blynk,并将三个虚拟引脚映射为输出。同时,它每 100 毫秒读取一次模拟传感器数据,并以 115200 波特率通过串口打印数值。
上传方法
•安装 Arduino IDE。
•在“文件”>“首选项”中,将以下内容添加到附加板管理器 URL 中:https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
•打开“工具”>“板”>“板管理器”,搜索 ESP32 并安装“esp32 by Espressif Systems”。
•从库管理器中安装 Blynk 库。
•在“工具”>“板”中选择 DOIT ESP32 DEVKIT V1。如果端口未显示,请安装 CP210x USB 到 UART 驱动程序。
•将你的 Wi-Fi 名称、密码和 Blynk 认证令牌填入代码 ino 文件顶部的三个变量中。
•在上传开始时,按住 ESP32 上的 BOOT 按钮。
在当前的 Blynk IoT 平台中,你还需要在 #include 行上方定义 BLYNK_TEMPLATE_ID 和 BLYNK_TEMPLATE_NAME。Blynk 会在设备信息页面上显示这两个值。
应用设置
在 Blynk 中创建一个设备,并添加绑定到 V1、V2 和 V3 的开关小部件。如果希望在应用中查看传感器读数,可添加一个数值显示组件。
仓库内容
•代码。ino 是 ESP32 固件。
•Agro spider bot .pdf 是完整的项目报告,包含方框图、接线图、腿部尺寸以及组装照片。
•IMG_20230505_111742.jpg 是 2023 年 5 月首次组装完成的版本。
•images/ 目录中存放当前版本的图片。
接下来的计划
侦察无人机是第一个要完成的任务。目前它安装在车顶上,计划待其起飞后从空中对田地进行勘测,以便探测器知道下一步该往何处移动。紧接着将在探测器上加装 ESP32-CAM,实现实时视频传输。之后将实现自主地形测绘功能,使探测器能够自行规划路径,而无需等待指令。我们还正在研究一种自平衡行走方式,这将允许我们将腿的数量减少到八条以下。
本文编译自hackster.io





