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

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

机械结构的痛

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


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

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

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

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

  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

相关文章

Java 的ArrayList集合底层实现与最佳实践

《Java的ArrayList集合底层实现与最佳实践》本文主要介绍了Java的ArrayList集合类的核心概念、底层实现、关键成员变量、初始化机制、容量演变、扩容机制、性能分析、核心方法源码解析、... 目录1. 核心概念与底层实现1.1 ArrayList 的本质1.1.1 底层数据结构JDK 1.7

JDK21对虚拟线程的几种用法实践指南

《JDK21对虚拟线程的几种用法实践指南》虚拟线程是Java中的一种轻量级线程,由JVM管理,特别适合于I/O密集型任务,:本文主要介绍JDK21对虚拟线程的几种用法,文中通过代码介绍的非常详细,... 目录一、参考官方文档二、什么是虚拟线程三、几种用法1、Thread.ofVirtual().start(

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

springboot依靠security实现digest认证的实践

《springboot依靠security实现digest认证的实践》HTTP摘要认证通过加密参数(如nonce、response)验证身份,避免明文传输,但存在密码存储风险,相比基本认证更安全,却因... 目录概述参数Demopom.XML依赖Digest1Application.JavaMyPasswo

分析 Java Stream 的 peek使用实践与副作用处理方案

《分析JavaStream的peek使用实践与副作用处理方案》StreamAPI的peek操作是中间操作,用于观察元素但不终止流,其副作用风险包括线程安全、顺序混乱及性能问题,合理使用场景有限... 目录一、peek 操作的本质:有状态的中间操作二、副作用的定义与风险场景1. 并行流下的线程安全问题2. 顺

Java 结构化并发Structured Concurrency实践举例

《Java结构化并发StructuredConcurrency实践举例》Java21结构化并发通过作用域和任务句柄统一管理并发生命周期,解决线程泄漏与任务追踪问题,提升代码安全性和可观测性,其核心... 目录一、结构化并发的核心概念与设计目标二、结构化并发的核心组件(一)作用域(Scopes)(二)任务句柄

Java中的Schema校验技术与实践示例详解

《Java中的Schema校验技术与实践示例详解》本主题详细介绍了在Java环境下进行XMLSchema和JSONSchema校验的方法,包括使用JAXP、JAXB以及专门的JSON校验库等技术,本文... 目录1. XML和jsON的Schema校验概念1.1 XML和JSON校验的必要性1.2 Sche

SpringBoot集成WebService(wsdl)实践

《SpringBoot集成WebService(wsdl)实践》文章介绍了SpringBoot项目中通过缓存IWebService接口实现类的泛型入参类型,减少反射调用提升性能的实现方案,包含依赖配置... 目录pom.XML创建入口ApplicationContextUtils.JavaJacksonUt

MyCat分库分表的项目实践

《MyCat分库分表的项目实践》分库分表解决大数据量和高并发性能瓶颈,MyCat作为中间件支持分片、读写分离与事务处理,本文就来介绍一下MyCat分库分表的实践,感兴趣的可以了解一下... 目录一、为什么要分库分表?二、分库分表的常见方案三、MyCat简介四、MyCat分库分表深度解析1. 架构原理2. 分

Java 中的 equals 和 hashCode 方法关系与正确重写实践案例

《Java中的equals和hashCode方法关系与正确重写实践案例》在Java中,equals和hashCode方法是Object类的核心方法,广泛用于对象比较和哈希集合(如HashMa... 目录一、背景与需求分析1.1 equals 和 hashCode 的背景1.2 需求分析1.3 技术挑战1.4