
大三项目——真空管道机器人
项目简介(有细微调整):
我们团队基于STM32F407开发(之后为Arduino)和设计了一种适应型高效节能型溯源机器人(如图4),并且具体地研究和分析了该类机器人在管道中的各种运行状况。装置主控采用STM32单片机,根据CSDN上的原理图制作一个STM32f407的最小系统板(如图 5),用立创EDA或Altium Designer画原理图生成PCB之后布局、布线,扩展出引脚以便于后期测试。最终可选择集成在同一个板子上。装置推进方式为链式级联气压推动,单级推进装置由前气囊、辅助支撑机构、弹簧活塞、增压气泵和后气囊组成,前后气囊分别位于弹簧活塞的两端。



装置定位系统采用GPS(G28Z2FTTL)模组,模组采用中科微AT6558R定位芯片,是一款能够以99通道接收卫星信号低功耗;高灵敏度,G-MOUSE能够在城市、峡谷、高架下面等弱信号的地方,以及汽车内部任何位置可以快速、准确地进行定位。使得模块可广泛用于车载监控、公交车报站、车载导航、船载导航、笔记本导航等产品上。视觉监测板块使用openMV4 plus,通过计算机视觉辅助检测,通过micro python编程我们的机器人24小时长时间运行的设备,所以保持一个稳定的光源是至关重要的,尤其在颜色算法中。
使用北醒TF-mini-s激光雷达,使用激光雷达获取2D/3D数据,通过机器学习相关算法对数据进行预处理,从而对管道进行3D建模,连接上WIFI后,通过阿里云等的API接口将数据从物理层转变成网络层实现数字孪生。通过激光雷达采集到的数据,通过TCP技术传输到物联网,电脑从网上获取数据,并且通过对其数据处理,实现数据的可视化,生成3D模型。我们将ROI设置为整个图像,并且合理地设置LAB的阈值,最后利用霍夫变换进行圆识别,当设置好光源的角度时,中间的漏气点由于光线照不到,会出现黑色的圆形,通过micro python相应的库函数可以准确返回漏气点中心的坐标。从而实现对不同形状漏气点的检测、判断,还可以扩展wifi实时图传功能,便于使用者实时监测。
驱动板块使用A4988。A4988是一款带转换器和过流保护的DMOS微步驱动器,该产品可在全、半、1/4、1/8及1/16步进模式时操作双极(两相)步进电动机,输出驱动性能可达35V及±2,A4988包括一个固定关断时间电流稳压器,该稳压器可在慢或混合衰减模式下工作。





项目记录
我不是主要负责文本内容的,但是有关技术细节方面内容是我写的,一些背景相关调查我可以高质量完成,但是时间有限,我选择先搞定重要的内容,其他技术含量较低的,如文本,可以先让学弟等其他人做。
这是我大二阶段第一次做新苗项目,虽然我不是负责人,但是主要电子电气方面的技术主要是我负责的,而且也做关于技术细节的内容。
当时主要在学习英语和熟悉如何高效使用ChatGPT解决工程问题,所以重新开始搞项目还是不太熟悉,特别是这个新领域——嵌入式微控制器开发板(Arduino)作为下位机,运行系统的单板计算机(树莓派)作为上位机。我的设计想法:Arduino用于驱动直流减速电机(不能是步进电机,Arduino对于多通道频率输出功能不足)和采集传感器信号(噪声信号,压力信号,卫星数据信号,激光雷达检测信号等等)其中有数字信号,模拟信号,需要设置相应的树莓派引脚来获取信号。
因为树莓派没有可以用于模拟信号采集的板载模块,需要通过MCP3008 ADC等模拟信号转换芯片完成,所以我使用了Arduino来收集模拟信号,再进行AD转换,得到的数值通过USB转type B公,串口通信发送给树莓派。
长时间没有运行树莓派了,系统加载出了一些问题。入门学习树莓派硬件,linux命令,SSH远程登入(基本都使用VNC软件,连接到同一个WiFi就可以通过IP登入),系统管理和操作,文件调用等等。


当然在树莓派ubuntu 22.04上部署opencv并且调用摄像头也是一个有挑战的事情,因为是ubuntu系统,所以和官方的Raspbian系统给出的各种调用摄像头的快捷命令不同。需要自己不断试错,我之前还按照书本上的内容一步一步详细操作,虽然书本有明显的错误,但是改正后就是不可以,当时夏天我在家里吹着空调,心理很不爽和崩溃。
终于在暑期回校之后借助ChatGPT克服了这个挑战。有了一个感想:就是当遇到了很多问题时候,问题很难解决,可是尝试着重新开始解决这个问题。小小树莓派倾注了我很多的心血。
以下是成功的调用opencv的记录。


在寝室搞项目

我自己设计的流程图,花了一些精力。
电控部分最终测试环节。

噪声检测:使用一定频率的正弦波声音信号测试传感器的实际精度和量程,关键是分辨力。
测试压力传感器。
对于气压传感器的误差分析处理,使用均值和方差,根据均值为零,判断出了是程序的问题,具体就是是电压范围和测量范围的问题,而不是传感器本身的误差。





测试获取GPS数据,再通过LoRA传输到我的笔记本电脑。
通过树莓派获取GPS模块的数据,通过固定的格式转换,提取需要的经度和纬度信息。
定期开会和老师讨论项目进度。

借助ChatGPT最新的联网功能,搜索数字孪生的实现方法。

传感器和电控部分基本都完成了,但是他们机械部分没有成功解决真空蠕动爬行功能。