DIY避障机器人:从CAD到现实

2025年9月20日 阅读时间:9分钟
分享

本文旨在指导您完成一个简单的避障机器人的搭建步骤。这类机器人结构最简单,所需材料和成本都很低,是初学者的最佳选择。在详细介绍搭建步骤之前,我们先来快速了解一下机器人技术的定义。.

 

机器人学是工程学的一个分支,也是一个交叉学科领域,它研究机器人的设计、制造、操作和应用。这些机器人可以是可编程的,也可以是自主的(人工智能控制),能够执行各种原本由人类完成的任务。该工程分支融合了机械工程、电气工程和计算机工程。.

另一方面,避障机器人是一种自主机器人,它借助传感器高效工作,能够检测障碍物并绕过它们,同时还能执行其他任务。这种机器人可以被编程来避开障碍物,或根据超声波传感器的读数执行某些操作。下图就是一个避障机器人的示例。.

图1 避障机器人。.

本文面向那些想要首次搭建机器人的人,或者那些想要搭建一些非常简单的机器人(例如避障机器人)的人。无论您属于哪一类,本文都将详细介绍如何搭建您自己的自主轮式机器人。必要的步骤如下所示,并在后续内容中进行解释。.

  • 选择你所需的材料
  • 搭建框架或围栏
  • 组装你的机器人
  • 编写并上传您的程序

选择你所需的材料

和其他所有项目一样,在开始制作机器人之前,务必先确定并采购所需的材料。这能让你清楚地了解哪些材料可行,哪些不可行,从而最终实现你的机器人。就我这个简单的避障机器人而言,所需的材料涵盖机械材料和电子材料,以下是制作它所需的最基本材料。.

齿轮电机(机械式):

这些电机配有一系列与之相连的齿轮,目的是赋予电机更大的扭矩,从而实现更强劲的运动。在这种情况下,我不得不对SG90伺服电机进行改造,以满足我的自主机器人设计方案。.

图2.齿轮电机

伺服电机(机械式):

这些电机类似于齿轮电机,但它们带有电位器,有些还带有限位器,这意味着它们的旋转角度大多受限于180度,尽管有些可以360度不间断旋转。这里我使用的是像SG90伺服电机这样的限位型电机。SG90有三根线,分别是VCC(红色)、信号线(黄色或白色)和地线(黑色或棕色)。.

图3. 伺服电机SG90

开发板/控制器(电气):

这是一个包含微处理器或微控制器的电路板,它能够实现机械、电气和计算机语言之间的接口。对于工程师、业余爱好者和学生来说,这是一种快速学习和测试项目的有效方法。例如 Arduino、Raspberry Pi 和 ESP32。这里我使用的是 Arduino Uno。.

图 4. Arduino Uno

面包板(电气):

这是一块裸电路板,您可以自行连接各种电子元件,例如电阻器、电位器、LED 以及您可能需要的任何其他元件。不过,这并非必需,因为本项目也可以不使用电路板进行连接。.

图 5. 面包板

超声波传感器(电学):

超声波传感器是一种利用声波测量距离的组件,它将原始数据发送到开发板,开发板再通过 Arduino/计算机语言接口对数据进行解析,生成所需的输出。输出可以是启动或停止机器人,也可以是执行其他任何操作。在本例中,我使用的是 HC-SR04 超声波传感器。.

图6. 超声波传感器HC-SR04

电机驱动器(电气):

电机驱动器旨在借助跳线将电机与 Arduino 板连接起来,从而实现对电机的控制,例如方向、速度和任何其他动作。.

图7. 电机驱动器TB6612FNG

直流电池(电气):

这是整个装置的电源,主要由两节串联的锂离子电池组成,以获得更高的电压值。这里我使用了两节18650型、3.7V、3200mAh的锂离子电池串联而成。.

图 8. DC 18650,3.7V,3200mAh,锂离子电池

DC-DC降压转换器(电气):

这是一个降压模块,可以将较高的电压值降低到较低的电压值,以适用于 Arduino Uno、伺服电机、齿轮电机、超声波传感器和 LCD 等元件。两个串联的电池总电压为 7.4V,而大多数元件的工作电压在 5V 到 6V 之间。使用 DC-DC 降压转换器降低电压有助于防止前面提到的电压敏感元件损坏。.

图9. DC-DC降压转换器,降压模块LM2596

16*2 I2C LCD(电气):

这是您设置的显示单元,用于显示机器人在任何时刻的活动。在某些情况下,LCD 显示屏会配备一个扩展板,其目的是将 LCD 显示屏的引脚数(12 个引脚)减少到 4 个引脚,以便仅通过 4 个引脚连接到 Arduino Uno。.

图10. 16*2 I2C液晶显示器

图11. 16*2 I2C液晶显示屏和扩展坞

跨接线(电气):

这些是小型电线,两端分别连接公头-公头、母头-公头和母头-母头,方便不同组件之间的连接。在这个例子中,我使用了这三种类型的跳线来连接不同的组件。.

图12. 母对母跨接线

框架/外壳(机械部分):

这是一个底盘或结构,它将整个装置(包括机械和电子组件)固定在一起。在这个例子中,我用3D打印机打印了容纳所有组件的内部底盘,然后给整个装置加装了一个外壳,使其外观更加美观。.

图13. 轮式机器人框架

车轮:

这是一组用于机器人移动的小轮胎,可以根据需要选择两个(带万向轮)或四个。这里我使用了两个3D打印的轮子和一个万向轮作为支撑。.

图14. 机器人轮子

搭建你的框架或围栏

下一步是搭建机器人的框架,这取决于你想搭建的机器人类型。由于我们这里要搭建的是一款自主轮式机器人,所以我们在添加必要的组件后,先组装框架,再安装轮子。这些框架可以是商店里现成的,也可以是自己动手制作的。这次,我不仅搭建了一个定制框架,还使用3D建模工具(Fusion 360)和3D打印技术,为我的自主轮式机器人制作了一个外壳。以下是我制作的步骤。.

在三维软件中上传零部件的CAD文件:

第一步是启动你的3D CAD软件,例如 SolidWorksFusion 360Onshape,具体取决于你使用的软件。在这个例子中,我选择了 Autodesk Fusion 360,因为项目非常简单,而且我希望它能与简洁流畅的外壳设计相得益彰。我导入了所需组件(包括机械和电气组件)的CAD文件。

图15.伺服电机CAD文件

图 16. 其他 CAD 组件

围绕组件进行建模:

下一步是利用曲面建模和实体建模技术,围绕导入的组件CAD文件进行建模。这有助于我避免公差问题以及组件在装配过程中与外壳发生碰撞。.

图 17. 封闭空间的表面建模

图18. 外壳表面建模(续)

图19. 机器人头部外壳施工中

图 20. 机器人头部外壳制作中(续).

图21. 三维模型正面截面分析

图22. 3D模型背面截面分析

图23. 透明前视图

图24. 透明后视图

文件导出和3D打印:

3D建模完成后,我将框架和外壳的单个文件导出为STL格式,并准备进行3D打印。.

图25. STL文件导出进行中

图26. 用于3D打印的STL文件切片

组装你的机器人

完成3D打印后,下一步是将框架或底盘组装起来,并将所有机械和电子元件连接在一起。首先是框架模块组装,然后是电机、轮子等机械部件,最后是Arduino Uno、DC-DC降压转换器、电机驱动器、超声波传感器、LCD显示屏、电池和跳线等电子元件。以下是组装过程中机械和电气连接的完整步骤。.

机械和电气组装:

我做的第一件事就是组装3D打印的框架,然后再添加机械和电子元件。下图展示了最终成果。.

图 27. 组件装配

图 28. 外壳组件

电气连接:

接下来我完成了所有电气连接,用跳线将所有组件连接起来。下图是连接示意图。

图29. 自主轮式避障机器人示意图

要将电压从 7.4V 降至 5V,请调节 DC-DC 降压转换器上的电位器,直到万用表读数显示 5V。该电位器是降压转换器上蓝色长方体上的螺丝头结构。

外壳组装:

组装的最后阶段是用3D打印的外壳将整个装置罩起来。请参见下图。.

图 30. 装配体正视图及三维渲染图 图 31. 装配体后视图

 

编写并上传计算机语言程序

最后阶段是编写、运行并上传计算机语言程序。这里我使用了 Arduino IDE,它以 C++ 或 C# 编程语言为基础。代码通过连接到计算机特定端口的 USB 数据线上传。下图展示了自主轮式机器人的工作状态。.

图32. 计算机程序上传进行中

图33. 机器人已准备好启动

 

下面是一个典型的Arduino代码示例,您可以将其复制并粘贴到 Arduino IDE程序中:


// 带 I2C LCD 的自主轮式机器人代码 // 更新:添加了倒车模式和待机动画 #include<Servo.h> #包括<Wire.h>#包括<LiquidCrystal_I2C.h>// 电机驱动引脚 const int AIN1 = 7; const int AIN2 = 6; const int BIN1 = 4; const int BIN2 = 5; const int PWMA = 3;
  

Oluwatobi Adeoye
的最新帖子 Oluwatobi Adeoye 查看全部
订阅
通知
客人

0 评论
最老
最新 最受欢迎
0
欢迎留言分享您的想法