中国大学生工程实践与创新能力竞赛(工程训练大赛)——智慧物流搬运小车 ② 材料选型

本文主要是介绍中国大学生工程实践与创新能力竞赛(工程训练大赛)——智慧物流搬运小车 ② 材料选型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

机械结构的痛

我们队没人会机械结构,所以做的很烂,这里说一些麦轮车自己的心得


一、没有陀螺仪返回角度偏差的情况下,麦轮的车想走直线还是有点难度的。

第一个难点在于四个轮一般不能同时着地,导致向前直线运动的时候产生左或右的运动
第二个难点在于四个轮对地摩擦力不同,会导致走直线的时候走不直,这一点在左右平移的时候非常明显!!

在这里给出我解决这两个问题的方法:针对第一条,给小车做个悬挂就可以了,机械结构能力强的同学,安排一个独立悬挂,像我这种彩笔,就买一个前桥悬挂也能用。

 第二个问题也困扰了我很久,我经历了三个阶段,大家都可以参考:

  1. 首先尝试使用陀螺仪纠偏,当时买了维特智能jy901s这款九轴陀螺仪,售价94元,厂家宣传的精度确实可以,但是在小车上用起来就相当难受了。首先,它获得z轴角度是通过地磁传感器,室内地磁能不能用完全随缘,而且每换一个场景,都要抱着车转啊转,很不优雅。第二,他的动态精度很差,放着还行,车动起来后参数完全没法看。第三,最关键的一条,安培环路定理告诉我们:你的车会产生很大的磁场,这个磁场大到可以让你的陀螺仪没法工作!所以我当时测试的时候把陀螺仪安装到了距离电机差不多40cm的距离,才勉强能用,这显然是不可接受的。和南航的同学交流后发现他们用的是6轴陀螺仪,虽然零点漂移严重,但是在短暂的时间或者位移内的漂移是可以接收的,所以每次移动前通过摄像头对正小车,记录当前角度并以此为\theta _{0},车还是可以走的很直的。
  2. 由于我第一次尝试使用9轴陀螺仪失败后,我买了四个电子秤和一大堆的矫汽车车轮动平衡用的小铁皮,把车放到四个电子秤上,然后通过加减铁块让四个轮对地摩擦力一致,简单粗暴,效果非常好。我们的车在加装机械臂后整车中心超前,左右走歪的一批,用这个方法矫正后前后左右走的特别直。
  3. 工训省赛结束后用工训赛的技术遗产,带俩学弟参加了中国工程机器人大赛,u1s1,这两个比赛难度完全不可同日而语,不过学院对这些机器人比赛还是很支持的,所以借机买了很多很贵的传感器,其中有一款售价四百多的HWT101DT陀螺仪。这个陀螺仪也是我在水群的时候发现的,它用在工训赛这个比赛完全没有问题。这款陀螺仪仅有单轴,但是非常稳定,工训赛三分钟的比赛时间内可以说完全没有漂移。用它写Z轴角度闭环相当舒适。我当时没有得到这个陀螺仪为了解决车走直线花掉非常非常的时间精力,写了各种巡线算法试图跳过陀螺仪保持Z轴稳定,如果如果你的学校很支持做比赛的话,400多买个超高精度陀螺仪还是非常划算的。

二、机械臂选型

还是老问题,我们队没人会机械结构设计这回事,所以我可以说我们的机械臂在国赛上海11个队里应该是最垃圾的,使用的是一百来块的辣鸡舵机,虚位巨大,当然冲出省赛也是够用的,就是需要自己不断地调调调,挺烦的。舵机之间的连接件也是淘宝三四块钱一块的标准件,组一条机械臂还是很快的。

如果大家经费充足,并且队伍里有一位机械大佬,建议买几个贵的总线舵机,然后好好设计一条结实耐用的机械臂,大方向走对很重要,不然后期调试成本太高了!!

三、传感器、驱动、主控的经历

1.灰度传感器

我们一开始用的是淘宝上现成的五路灰度传感器,68块钱一个,价格感人,用着用着就发现问题还是很多的,比如说间距不合适导致车停不准,为了解决这个问题,就弄了俩更丑的灰度卡着线,卡线精度可以自己调整间距调整,这个方法除了丑也没别的问题。

 省赛和国赛中间差了好几个月,我参加了第十六届全国大学生智能车竞赛,这个比赛也是非常的锻炼人,一开始上手了一款冷门芯片,csdn上几乎没有任何资料,开始啃datasheet和usermanual,对单片机有了更深刻的理解。同时,自己编写了有差不多4k行的控制算法代码,c语言和微处理器编程能力得到了快速提高。另外,智能车硬件队友是个学弟,设计的pcb不太满足需求,就开始自己学着画板子,画更复杂的板子,主控、驱动、传感器等都是自己设计制作的,这锻炼了我制作PCB的能力。后来国赛的时候自己掌握了制作PCB的技能后,整车变得特别干净。

国赛的时候,我们的灰度传感器是自己制作的,好处就太明显了,自己做可以按自己需求来调整对管的间距,可以死死的卡着线。

 2.电机驱动

省赛时期用的电机驱动感觉多少交了点智商税,用的机器人比赛很火的一款单路驱动,号称500w功率,但是实际电机工作起来就10w的样子,压根用不着,还卖得贵,一路电机就得一张,一张就是100块。而且价格问题还是小问题,大问题是四张pcb在车上就很尴尬了,没地方放,而且线路混乱,导致我初赛用的车极其的丑陋。。。。。

现在看来,我的车确实做的够丑的。。。 

 国赛时候用了智能车时期做的BTN驱动,只是把双路驱动改成了四路,就能用了,我的整车重量6kg,四个电机加起来的功率应该还算不小,反正是没有出过任何问题,一张四路驱动自制的成本大概四十块钱,打个黑色的板子看起来还漂亮。

基于BTN7971b自制的四路电机驱动,黑色看着就高级 

 3.主控板设计制作

如果之前没有经验的话,建议mcu使用核心板,然后画一个座,把板子插上去用,这样一来是简单,而来就是一般不会坏,制作难度也低。当然dalao请直接画mcu上去,板子会变得很干净,看着很舒服。 

 

这篇关于中国大学生工程实践与创新能力竞赛(工程训练大赛)——智慧物流搬运小车 ② 材料选型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/188991

相关文章

Nginx实现高并发的项目实践

《Nginx实现高并发的项目实践》本文主要介绍了Nginx实现高并发的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录使用最新稳定版本的Nginx合理配置工作进程(workers)配置工作进程连接数(worker_co

Spring Retry 实现乐观锁重试实践记录

《SpringRetry实现乐观锁重试实践记录》本文介绍了在秒杀商品SKU表中使用乐观锁和MybatisPlus配置乐观锁的方法,并分析了测试环境和生产环境的隔离级别对乐观锁的影响,通过简单验证,... 目录一、场景分析 二、简单验证 2.1、可重复读 2.2、读已提交 三、最佳实践 3.1、配置重试模板

mac安装nvm(node.js)多版本管理实践步骤

《mac安装nvm(node.js)多版本管理实践步骤》:本文主要介绍mac安装nvm(node.js)多版本管理的相关资料,NVM是一个用于管理多个Node.js版本的命令行工具,它允许开发者在... 目录NVM功能简介MAC安装实践一、下载nvm二、安装nvm三、安装node.js总结NVM功能简介N

Spring Boot 3 整合 Spring Cloud Gateway实践过程

《SpringBoot3整合SpringCloudGateway实践过程》本文介绍了如何使用SpringCloudAlibaba2023.0.0.0版本构建一个微服务网关,包括统一路由、限... 目录引子为什么需要微服务网关实践1.统一路由2.限流防刷3.登录鉴权小结引子当前微服务架构已成为中大型系统的标

Java调用DeepSeek API的最佳实践及详细代码示例

《Java调用DeepSeekAPI的最佳实践及详细代码示例》:本文主要介绍如何使用Java调用DeepSeekAPI,包括获取API密钥、添加HTTP客户端依赖、创建HTTP请求、处理响应、... 目录1. 获取API密钥2. 添加HTTP客户端依赖3. 创建HTTP请求4. 处理响应5. 错误处理6.

golang内存对齐的项目实践

《golang内存对齐的项目实践》本文主要介绍了golang内存对齐的项目实践,内存对齐不仅有助于提高内存访问效率,还确保了与硬件接口的兼容性,是Go语言编程中不可忽视的重要优化手段,下面就来介绍一下... 目录一、结构体中的字段顺序与内存对齐二、内存对齐的原理与规则三、调整结构体字段顺序优化内存对齐四、内

C++实现封装的顺序表的操作与实践

《C++实现封装的顺序表的操作与实践》在程序设计中,顺序表是一种常见的线性数据结构,通常用于存储具有固定顺序的元素,与链表不同,顺序表中的元素是连续存储的,因此访问速度较快,但插入和删除操作的效率可能... 目录一、顺序表的基本概念二、顺序表类的设计1. 顺序表类的成员变量2. 构造函数和析构函数三、顺序表

python实现简易SSL的项目实践

《python实现简易SSL的项目实践》本文主要介绍了python实现简易SSL的项目实践,包括CA.py、server.py和client.py三个模块,文中通过示例代码介绍的非常详细,对大家的学习... 目录运行环境运行前准备程序实现与流程说明运行截图代码CA.pyclient.pyserver.py参

使用C++实现单链表的操作与实践

《使用C++实现单链表的操作与实践》在程序设计中,链表是一种常见的数据结构,特别是在动态数据管理、频繁插入和删除元素的场景中,链表相比于数组,具有更高的灵活性和高效性,尤其是在需要频繁修改数据结构的应... 目录一、单链表的基本概念二、单链表类的设计1. 节点的定义2. 链表的类定义三、单链表的操作实现四、

Spring Boot统一异常拦截实践指南(最新推荐)

《SpringBoot统一异常拦截实践指南(最新推荐)》本文介绍了SpringBoot中统一异常处理的重要性及实现方案,包括使用`@ControllerAdvice`和`@ExceptionHand... 目录Spring Boot统一异常拦截实践指南一、为什么需要统一异常处理二、核心实现方案1. 基础组件