中国大学生工程实践与创新能力竞赛(工程训练大赛)——智慧物流搬运小车 ① 前言

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

前言

小车的视频:工训赛国赛补赛出发前两天车车,看起来一切都好。。实则好像是0分哈哈哈哈哈~~弄错顺序了_哔哩哔哩_bilibiliicon-default.png?t=L9C2https://www.bilibili.com/video/BV1Tv411u7A1?spm_id_from=333.999.0.0

从2020年12月被同学拉去接盘一个工程训练大赛校赛的烂尾队伍工程开始入坑,到2021年10月24日在上海嘉定体育中心工程训练大赛全国总决赛(补赛)结束,断断续续持续了11个月。

当初在2020年最后一天到2021年第一天通宵写代码想获得省赛资格,后来意料之外的获得江苏省赛特等奖(第二名,确实离第一名南航的车有很大差距),之后准备国赛换了mcu,重新从0开始做车,陆陆续续做了大概十多天,任务逻辑上出了个bug,导致国赛初赛搬运颜色出错,丢了几乎丢了整个比赛一半的分数,不过还是很幸运的进入了社区赛。社区赛关小黑屋8小时,晚上又通宵写了一晚上的任务逻辑代码,第二天车摆烂意思意思抓了点放了点。截至2021/10/25虽然成绩还没出,不过保底银奖了也算满意。

比赛的东西还是很基础的,但往往把简单的东西发挥到极致就是很难得事了,因为主管这个比赛的单位是工程训练中心而不是学院,所以经费这块被拿捏死了,一直想买一些很贵的舵机没机会买,就用了一大堆辣鸡舵机在硬调。之前有学长说的话很有道理:控制就是把不好用的东西变好用,于此想把自己的竞赛经验和技术难点分享给大家,方案照抄的话可以很低成本(不到2k)的完成这个比赛。

我主要负责的小车的底盘机械硬件设计,电路板硬件设计 ,控制软件编写。所以本文章仅写这三个部分,视觉部分和机械臂动作组调试是队友完成的,我在后面会一笔带过。

我会说些什么

由于我使用的芯片是mm32f3277g9p和mm32spin27ps,是参加2021年全国大学生智能车竞赛的芯片,跟大家用的最多的stm32还是差一些的,所以一些底层的外设(pwm、串口等)需要自行配置,我这里也不放这些代码了,我会重点讲一些小车控制算法和电路硬件设计的实现。

哦对了,关于备赛使用的耗材我也可以给个参考,避免大家被tb的js坑。

我省赛和国赛的车还是差很多的,省赛使用的方案是两张arduino mega2560板子做小车主控和一张openmv做颜色识别,国赛用的是一张mm32f3277g9p做小车主控、一张mm32spin27ps做外部显示、wifi接收等,视觉识别薅了一个高大上的Jetson Nano用usb摄像头处理。

在这里我要跟大家说我做这个比赛遇到的第一个坑:别用arduino做这个比赛,因为arduino mega2560是一款8位mcu,性能极其拉垮,虽然上手简单、简单能用,但是代码量上来后会对后续加功能产生极大的制约。我现在已经不想看省赛的代码了,一个.ino里有4千多行代码,已经让我很头疼了。建议大家在这种复杂度极高的比赛,一开始一定要使用一款性能够用的芯片!!!建议大家用stm32f103、stm32f407这类学习资料极其丰富的mcu(虽然在2021年贵的离谱。。)。

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



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

相关文章

SpringBoot项目中Maven剔除无用Jar引用的最佳实践

《SpringBoot项目中Maven剔除无用Jar引用的最佳实践》在SpringBoot项目开发中,Maven是最常用的构建工具之一,通过Maven,我们可以轻松地管理项目所需的依赖,而,... 目录1、引言2、Maven 依赖管理的基础概念2.1 什么是 Maven 依赖2.2 Maven 的依赖传递机

Oracle查询优化之高效实现仅查询前10条记录的方法与实践

《Oracle查询优化之高效实现仅查询前10条记录的方法与实践》:本文主要介绍Oracle查询优化之高效实现仅查询前10条记录的相关资料,包括使用ROWNUM、ROW_NUMBER()函数、FET... 目录1. 使用 ROWNUM 查询2. 使用 ROW_NUMBER() 函数3. 使用 FETCH FI

在C#中获取端口号与系统信息的高效实践

《在C#中获取端口号与系统信息的高效实践》在现代软件开发中,尤其是系统管理、运维、监控和性能优化等场景中,了解计算机硬件和网络的状态至关重要,C#作为一种广泛应用的编程语言,提供了丰富的API来帮助开... 目录引言1. 获取端口号信息1.1 获取活动的 TCP 和 UDP 连接说明:应用场景:2. 获取硬

Java内存泄漏问题的排查、优化与最佳实践

《Java内存泄漏问题的排查、优化与最佳实践》在Java开发中,内存泄漏是一个常见且令人头疼的问题,内存泄漏指的是程序在运行过程中,已经不再使用的对象没有被及时释放,从而导致内存占用不断增加,最终... 目录引言1. 什么是内存泄漏?常见的内存泄漏情况2. 如何排查 Java 中的内存泄漏?2.1 使用 J

Linux中Curl参数详解实践应用

《Linux中Curl参数详解实践应用》在现代网络开发和运维工作中,curl命令是一个不可或缺的工具,它是一个利用URL语法在命令行下工作的文件传输工具,支持多种协议,如HTTP、HTTPS、FTP等... 目录引言一、基础请求参数1. -X 或 --request2. -d 或 --data3. -H 或

Docker集成CI/CD的项目实践

《Docker集成CI/CD的项目实践》本文主要介绍了Docker集成CI/CD的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录一、引言1.1 什么是 CI/CD?1.2 docker 在 CI/CD 中的作用二、Docke

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

跨国公司撤出在华研发中心的启示:中国IT产业的挑战与机遇

近日,IBM中国宣布撤出在华的两大研发中心,这一决定在IT行业引发了广泛的讨论和关注。跨国公司在华研发中心的撤出,不仅对众多IT从业者的职业发展带来了直接的冲击,也引发了人们对全球化背景下中国IT产业竞争力和未来发展方向的深思。面对这一突如其来的变化,我们应如何看待跨国公司的决策?中国IT人才又该如何应对?中国IT产业将何去何从?本文将围绕这些问题展开探讨。 跨国公司撤出的背景与

《纳瓦尔宝典》是纳瓦尔·拉维坎特(Naval Ravikant)的智慧箴言

《纳瓦尔宝典》是一本由埃里克·乔根森(Erik Jorgensen)编著的书籍,该书于2022年5月10日由中信出版社出版。这本书的核心内容围绕硅谷知名天使投资人纳瓦尔·拉维坎特(Naval Ravikant)的智慧箴言,特别是关于财富积累和幸福人生的原则与方法。 晓北斗推荐 《纳瓦尔宝典》 基本信息 书名:《纳瓦尔宝典》作者:[美] 埃里克·乔根森译者:赵灿出版时间:2022