【2023年电赛国一必备】E题报告模板--可直接使用

任务

b91e7642bc8e43d5b3b9e0e89db45e09.png

图1 任务内容

要求

12b68640f29542c8881bb19aae102d48.png

 图2 基本要求内容

3c966848db1640889edcff1725eafcc5.png

 图3 发挥部分内容 

说明

bf0e74ddef784c4ba1cf08a3e29af33f.png

  图4 说明内容

评分标准

e7d19a5428784efcb1dc7d14e55feaef.png

  图5 评分内容

正文 (部分)

 

        本文使用K210芯片设计了一个运动目标控制与自动追踪系统。系统包括使用深度学习进行识别激光位置,其中红色激光笔模拟运动目标、绿色激光笔指示自动追踪,并将识别到的位置信息取控制舵机移动。通过K210实现图像处理和舵机运动控制功能,实现了红色光斑的位置控制以及绿色光斑的自动追踪功能。实验结果表明,系统能够准确追踪红色光斑,在规定的时间内完成移动和复位功能。本设计可应用于各种需要目标追踪的场景,具有较高的实用性和可扩展性。

关键词:运动目标控制,自动追踪系统,光斑位置控制,K210

1. 系统方案

本设计以K210为主控,整体系统主要由主控和舵机模块组成。

1.1 主控模块的论证与选择

方案一:选用K210芯片。

优点:K210芯片搭载了双核64位RISC-V处理器和专门的AI加速器,具有高性能的计算能力;支持常见的图像处理任务,并且有多个GPIO接口、UART、I2C、SPI等常用接口,方便与其他外设进行连接和扩展,满足不同应用场景的需求。

缺点:作为较新的芯片型号,某些功能可能尚未得到广泛验证和使用,因此在使用过程中可能存在一些潜在的问题或缺陷。

    方案二:选用OpenMV芯片。

    优点:OpenMV芯片使用MicroPython作为开发语言,提供了简洁的API和丰富的示例代码;支持多种图像处理算法;采用了优质的图像传感器,可以在低光条件下工作,并能够实时采集高质量的图像数据。

缺点:OpenMV搭载的ARM Cortex-M7处理器相对于一些主流的AI芯片和处理器而言,计算能力较弱,OpenMV的硬件接口有限,仅有一些常见的扩展接口,对于一些特殊的需求可能无法满足。

方案三:选用树莓派。

优点:树莓派搭载了ARM架构的处理器,性能较强,能够处理多种复杂的算法和任务;具有多个GPIO接口、USB接口、HDMI接口等常见接口;拥有庞大的开源社区支持,有大量的资源、文档和示例代码可供参考和使用。

缺点:功耗较大,在长时间工作或需要低功耗的应用中不太适合;掌握起来比较困难。

方案四:OpenMV+STM32。

优点: OpenMV具有丰富的图像处理功能,STM32微控制器具有强大的计算能力,可以承担复杂的控制算法和决策逻辑;且STM32微控制器提供多个GPIO接口、UART、SPI、I2C等常见接口,可以方便地连接外部传感器、执行器等设备,并与OpenMV进行数据交互。

缺点:开发复杂度较高,对开发者而言具有一定的挑战性;同时使用OpenMV和STM32,增加了硬件的复杂性和成本。

方案五:选用K210 + STM32。

优点: K210芯片具有较强的计算能力和丰富的计算资源,且内置AI加速器,支持深度学习模型的高效推理计算,STM32微控制器具有强大的计算能力和丰富的接口,可以承担控制算法和系统管理任务。

缺点:使用K210 + STM32方案需要对图像处理、机器学习算法和嵌入式系统开发有一定的了解,对开发者而言具有一定的挑战性;采用这个方案需要同时使用K210和STM32,增加了硬件的复杂性和成本。

综合考虑采用方案一,因为K210芯片具备强大的图像处理和控制接口功能,可开发性强,成本低,适合该系统的需求。

2.2 舵机的计算

2.2.1舵机控制角度范围计算

舵机的角度范围为0°到180°,要根据激光笔的位置信息来计算舵机应该转动的角度,使其能够对准目标物体。由于舵机需要能够将光斑移动到屏幕的任意位置,因此机控制角度范围为2*arctan(0.6/2D),其中D为红外传感器到屏幕的距离。

2.2.2舵机转动精度计算

舵机的转动精度需要达到小于1°的误差,取决于控制信号的分辨率。舵机的控制信号是通过脉冲宽度调制(PWM)来实现的。

舵机控制信号周期为20ms,占空比为0.5ms~2.5ms,其中0.5ms对应最小角度,2.5ms对应最大角度。因此,将舵机的角度范围等分为控制信号的脉冲宽度区间,通过调整脉冲宽度来控制舵机转动到特定角度,即每个脉冲宽度所对应的角度差。

(1)比例增益(Kp)的选择

将Kp设置为一个较小的值。然后,在实验中观察系统的响应。如果响应过度震荡并且不能稳定在目标位置,说明Kp过小。反之,如果响应过度缓慢并且稳定性差,说明Kp过大。逐步调整Kp的值,直到找到一个合适的值,使系统的响应快速而稳定。

52ffce4a0ea0454db92e4d6f393c7a3b.png                                                            (1-1)

(2)积分时间(Ti)的选择

将Ti设置为一个较大的值,然后观察系统的响应。如果系统存在静态误差,并且响应缓慢,说明Ti过大。反之,如果响应过度震荡并且不稳定,说明Ti过小。逐步调整Ti的值,直到找到一个合适的值,使系统的静态误差最小化并且响应稳定。

4cc1508a4592423e81beaf6b474cb41d.png                                       (1-2)

(3)微分时间(Td)的选择

将Td设置为一个较小的值,然后观察系统的响应。如果系统的响应过度震荡并且不稳定,说明Td过小。反之,如果响应过度缓慢,并且存在较大的超调现象,说明Td过大。逐步调整Td的值,直到找到一个合适的值,使系统的响应快速而稳定。

0f9afcd5dc9244678a346ddb82c530d6.png

得到最终的控制量为:4ec963f6df704797bd31e1dbafa589bd.png

通过适当选择和调整系数(K_p)、(K_i)和(K_d),可以实现舵机转动到目标位置的精确控制。

2.2.3 舵机转速计算

舵机的转速指的是舵机在单位时间内转动的角度,也取决于控制信号的频率和脉冲宽度。通过调整控制信号的频率和脉冲宽度,可以改变舵机的转速。

4.1测试方案

4.1.1 功能测试

eae82fa0d31c46b7a820886a1bcb67fb.png

4.3测试结果及分析

4.3.1测试结果

ba73669213b6450e84d2eee590fdee05.png

该文档是根据使用K210进行实现得到的,给出的是部分内容,想要完整文档的可以关注并私信。即可获取。

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/22323.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Emacs之将.el编译成bin(一百二十五)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

vscode如何退出/切换 github 账号

退出/切换 github 账号 左下角点击头像按钮,选择注销,然后再重新登录

JS进阶-Day3

🥔:永远做自己的聚光灯 JS进阶-Day1——点击此处(作用域、函数、解构赋值等) JS进阶-Day2——点击此处(深入对象之构造函数、实例成员、静态成员等;内置构造函数之引用类型、包装类型等) 更多JS…

boost beast http server 测试

boost beast http client boost http server boost beast 是一个非常好用的库&#xff0c;带上boost的协程&#xff0c;好很多东西是比较好用的&#xff0c;以下程序使用四个线程开启协程处理进入http协议处理。协议支持http get 和 http post #include <boost/beast/cor…

Java与Kotline Funcation函数与参数函数的详解

一.介绍 在现在以IDE为开发工具的时代&#xff0c;各种开发语言都有&#xff0c;kotlin的语法势头比较强&#xff0c;今天我们将介绍在项目中出现比较多的两种函数&#xff0c;一种是参数函数&#xff0c;还有一种就是Function函数 如果你不了匿名函数请阅读以下文档&#xff…

ISC 2023︱诚邀您参与赛宁“安全验证评估”论坛

​​8月9日-10日&#xff0c;第十一届互联网安全大会&#xff08;简称ISC 2023&#xff09;将在北京国家会议中心举办。本次大会以“安全即服务&#xff0c;开启人工智能时代数字安全新范式”为主题&#xff0c;打造全球首场AI数字安全峰会&#xff0c;赋予安全即服务新时代内涵…

常见的设计模式(超详细)

文章目录 单例模式饿汉式单例模式懒汉式单例模式双重检索单例模式 工厂模式简单工厂模式工厂&#xff08;方法&#xff09;模式抽象工厂模式 原型模式代理模式 单例模式 确保一个类只有一个实例&#xff0c;并且自行实例化并向整个系统提供这个实例。 饿汉式单例模式 饿汉式单…

关于win11 debian wsl 子系统安装启动docker一直starting,无法启动

首先我先说明&#xff0c;我的步骤都是按照官网步骤来的 通过官网的操作步骤 通过测试命令 sudo docker run hello-world得到下面的命令&#xff0c;我们通过启动命令 sudo service docker start 执行结果如下图 也就是说无法启动&#xff0c;一直显示在启动中 遇到这种情况…

js实现轮播图(手动+自动)

目录 设置大体样式 图片播放 完整代码 设置大体样式 <input type"button" value"<" id"pre" onclick"pre()" onmouseover"stop()" onmouseout"start()" class"left"> <img src"..…

大数据教材推荐|Python数据挖掘入门、进阶与案例分析

主 编&#xff1a; 卢滔&#xff0c;张良均&#xff0c;戴浩&#xff0c;李曼&#xff0c;陈四德 出版社&#xff1a; 机械工业出版社 内容提要 本书从实践出发&#xff0c;结合11个“泰迪杯”官方推出的赛题&#xff0c;按照赛题的难易程度进行排序&#xff0c;由浅入深…

Python(六十四)字典元素的遍历

❤️ 专栏简介&#xff1a;本专栏记录了我个人从零开始学习Python编程的过程。在这个专栏中&#xff0c;我将分享我在学习Python的过程中的学习笔记、学习路线以及各个知识点。 ☀️ 专栏适用人群 &#xff1a;本专栏适用于希望学习Python编程的初学者和有一定编程基础的人。无…

JMeter 的使用

文章目录 1. JMeter下载2. JMeter的使用2.1 JMeter中文设置2.2 JMeter的使用2.2.1 创建线程组2.2.2 HTTP请求2.2.3 监听器 1. JMeter下载 官网地址 https://jmeter.apache.org/download_jmeter.cgi https://dlcdn.apache.org//jmeter/binaries/apache-jmeter-5.6.2.zip 下载解…

Cesium 工程模板

1、vue2.x cli https://github.com/948033145/anov-gis-vue2 2、vue3.x vite https://github.com/948033145/anov-gis-vite 下载代码 anov-gis-vue2.x.zip 下载代码 anov-gis-vite.zip

一文学会git常用命令和使用指南

文章目录 0. 前言1.分支分类和管理1. 分支分类规范&#xff1a;2. 最佳实践3. 分支命名规范示例&#xff1a;4. 分支管理方法&#xff1a; 2. commit 注释规范1. 提交注释结构&#xff1a;2. 提交注释的准则&#xff1a; 3. git 常用命令1. git pull 核心用法2. git push 命令1…

SpringCloud《Eureka、Ribbon、Feign、Hystrix、Zuul》作用简单介绍

概述 SpringCloud是一个全家桶&#xff0c;包含多个组件。 本文主要介绍几个重要组件&#xff0c;也就是Eureka、Ribbon、Feign、Hystrix、Zuul这几个组件。 一、业务场景介绍 业务流程&#xff0c;支付订单功能 订单服务改变为已支付订单服务调用库存服务&#xff0c;扣减…

用于视觉跟踪的在线特征选择研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

Docker实战-关于Docker镜像的相关操作(二)

导语   之前的分享中&#xff0c;我们介绍了关于Docker镜像的查询操作相关的内容&#xff0c;下面我们继续来介绍删除清理、导入导出、创建镜像等操作。 如何删除和清理镜像&#xff1f; 使用标签删除镜像 可以使用docker rmi 或者是 docker image rm 命令来删除镜像&#x…

【phaser微信抖音小游戏开发005】画布上添加图片

特别注意&#xff1a;真机模拟的时候&#xff0c;尽量使用网络图片资源&#xff0c;不要在小程序源文件里面使用图片&#xff0c;会出现真机加载不成功&#xff0c;小程序包体积过大的问题。我们学习过程中&#xff0c;只是作为演示使用。 推荐使用场景&#xff1a; 背景图片…

Redis 和 Mysql 如何保证数据一致性

项目场景&#xff1a; 一般情况下&#xff0c;Redis 用来实现应用和数据库之间读操作的缓存层&#xff0c;主要目的是减少数据库 IO&#xff0c;还可以提升数据的 IO 性能。 如下图所示&#xff0c;这是它的整体架构。 当应用程序需要去读取某个数据的时候&#xff0c;首先会先…

时序数据库 TDengine 与 WhaleStudio 完成相互兼容性测试认证

近年来&#xff0c;开源及其价值获得社会各界的广泛认可&#xff0c;无论是国家政策导向还是企业数字化转型&#xff0c;都在加速拥抱开源。对于如操作系统、数据库等基础软件来说&#xff0c;开源更是成为驱动技术创新的有力途径。 在此背景下&#xff0c;近日&#xff0c;涛…