2023年电赛---运动目标控制与自动追踪系统(E题)关于网友的问题回复

这篇具有很好参考价值的文章主要介绍了2023年电赛---运动目标控制与自动追踪系统(E题)关于网友的问题回复。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

如果有嵌入式企业需要招聘校园大使,湖南区域的日常实习,任何区域的暑假Linux驱动实习岗位,可C站直接私聊,或者邮件:zhangyixu02@gmail.com,此消息至2025年1月1日前均有效

前言

(1)各位私信问问题之前,看看自己的问题是不是在这个里面再问!
(2)
<1>2023年8月3日,10点25分。增加第三问的细节回答。
<2>2023年8月3日,10点45分。更新关于舵机安装问题,细分路线的实现。
<3>2023年8月3日,13点50分。更新关于获得四个角度之后怎么处理,OpenMV输出PWM的问题。
<4>2023年8月3日,14点。更新系统接线的问题。

网友提问

OpenMV,舵机怎么接线

答:
<1>如果电池和舵机都是5V系统,那么接线如下。红色的表示VCC,黑色的表示GND。

2023年电赛---运动目标控制与自动追踪系统(E题)关于网友的问题回复,# OpenMV,单片机

OpenMV的PWM输出函数不能赋予浮点数据

答:
<1>对的,所以OpenMV输出的PWM的函数是不能赋予浮点数据的,这就导致了OpenMV的PWM输出高电平时间可调空间比较小。
<2>一般来说,这个可调空间虽然小,但是一般的舵机分辨率达不到这个程度。所以说影响不大。
<3>但是还有一些人硬要有足够的可调空间怎么办?那么就可以让其他主控来控制舵机,OpenMV输出位置信息给主控。
<4>相关教程 : OpenMV串口通讯详解;OpenMV图像处理之后给单片机通讯;
<5>加上了通讯协议的实操教程:2022年十月份电赛OpenMV巡线方案详细代码分析(1);2022年十月份电赛OpenMV巡线方案(2)—主控代码详细分析;

获得四个角度之后怎么处理

答:
<1>你获得四个边角之后,可以利用寻找一个线性关系。就是图像中的像素点和PWM的高电平应该是成一个线性关系的,如下图。具体线性关系需要你们自己测得
<2>关于OpenMV输出PWM的教程:OpenMV输出PWM,实现对舵机控制
<3>因为世界上不可能存在两个一模一样的东西,所以这两个舵机给他们同步输出一个PWM,也可能导致跑不出来一个直线。所以需要细分路线。具体实现思路看我下面的细分路线实现

2023年电赛---运动目标控制与自动追踪系统(E题)关于网友的问题回复,# OpenMV,单片机

细分路线的实现

答:
<1>一个PWM的周期是20ms对不对。假设我要从坐标点(5,9)到(7,9)。假设通过实际测试结果发现,P7的PWM的高电平时间从500ms到1000ms,P8的PWM的高电平时间从800us到1300us。(为了给哪些没有阅读能力的人强调一下,这里是假设!假设!假设!我没有实操!)
<2>因此,我们可以尝试,每20ms,让P7和P8 的PWM高电平时间同时增加10us。最终20ms * (1000-500) / 10=1S走完。
<3>但是有一些人反馈,他就是这样细分的,但是还是不能走直线。那么就可以尝试,P7和P8每20ms增加的PWM高电平时间不同。最终找到合适的点。
<4>注意,P7和P8没必要同时到达指定的PWM的高电平时间,一些小偏差,肉眼看不出来的!

关于舵机安装位置

这个我在交流群看到的两种安装方法

2023年电赛---运动目标控制与自动追踪系统(E题)关于网友的问题回复,# OpenMV,单片机
2023年电赛---运动目标控制与自动追踪系统(E题)关于网友的问题回复,# OpenMV,单片机

第三问是寻找整个矩形框,还是寻找红色巡线部分?

答:
寻找整个矩形框,找到矩形框之后。根据下面这个代码进行调整,获得矩形框的左上角xy坐标,然后自己找到合适的PWM值。可以写死,有人做到了。但是最好上PID

import sensor, image, time

sensor.reset() # 初始化摄像头传感器
sensor.set_pixformat(sensor.RGB565) # 使用 RGB565 彩图
sensor.set_framesize(sensor.QQVGA) # 使用 QQVGA 分辨率
sensor.skip_frames(10) #跳过几帧,让新的设置生效。
sensor.set_auto_whitebal(False) # 因为是颜色识别,所以需要把白平衡关闭
clock = time.clock() # 追踪帧率,影响不大
#__________________________________________________________________
#定义寻找最大色块的函数,因为图像中有多个色块,所以追踪最大的那个
def find_max(blobs):
    max_size=0
    for blob in blobs:
        if blob[2]*blob[3] > max_size:
            max_blob=blob
            max_size = blob[2]*blob[3]
    return max_blob
#__________________________________________________________________
while(True):
	clock.tick() # 跟踪快照()之间经过的毫秒数。
	img = sensor.snapshot() # 截取一张图片
	blobs = img.find_blobs([black_threshold])  #识别黑色阈值
	max_blob = find_max(blobs)  #调用上面自定义函数,找到最大色块
	max_blob.x()  #返回识别区域左上角的x坐标
	max_blob.y()  #返回识别区域左上角的y坐标
	max_blob.w()  #返回识别区域的宽度
	max_blob.h()  #返回识别区域的长度

激光是不是安装在OpenMV上面?会不会有偏差?

答:
<1>肯定的,一开始我认为是只要一个OpenMV就可以了。后面发现发挥题和基础题的追踪激光颜色不一样。所以需要使用两个OpenMV,激光都固定在OpenMV上面。
<2>激光和摄像头的摆放位置肯定会产生造成偏差,所以这个要你自己调整好PWM

第一问和第二问舵机控制不稳定

答:
实在不行用PID,是伪代码,需要微调。

from pid import PID
from pyb import Servo  #从内置pyb导入servo类,也就是舵机控制类

pan_servo=Servo(1)  #定义两个舵机,对应P7引脚
tilt_servo=Servo(2) #定义两个舵机,对应P8引脚

pan_servo.calibration(500,2500,500)
tilt_servo.calibration(500,2500,500)
max_blob = find_max(blobs)  #调用上面自定义函数,找到最大色块
pan_error = max_blob.cx()-img.width()/2    #获取中心位置x坐标
tilt_error = max_blob.cy()-img.height()/2  #获取中心位置y坐标
pan_output=pan_pid.get_pid(pan_error,1)/2
tilt_output=tilt_pid.get_pid(tilt_error,1) #上面两个都是进行PID运算,
print("pan_output",pan_output)
pan_servo.angle(pan_servo.angle()+pan_output) #将最终值传入两个舵机中,追踪目标
tilt_servo.angle(tilt_servo.angle()-tilt_output)# 因为两个舵机方向和摆放位置不同,所以一个是+一个是-

OpenMV与主控通讯

答:
看我OpenMV专栏

舵机抽搐问题

答:
<1>先拿示波器测试OpenMV的PWM输出是否正常。
<2>那万用表测试接线是否正常,如果万用表显示没问题,再焊接一下。
<3>如果上面两个都测试通过,说明舵机坏了

关于K210,OpenART mini,OpenMV代码问题

答:
刚刚我尝试了一下,发现OpenART mini可以直接放在OpenMV上跑。所有建议各位,先拿着百度网盘现成的代码尝试跑一下。如果提示bug,就把有bug的部分注释了。应该是可行的。

有完整代码吗?

答:
<1>K210的资料没有!没有!没有!认真看字!
<2>OpenMV没有完整代码,所有代码都是在博客里面了!
<3>博客视频不算使用的OpenMV,是OpenART mini,认真看字!代码在我分享的百度网盘里面!

为什么要OpenMV控制舵机,主控控制舵机不行吗?

答:可以的,但是OpenMV控制的话,官方已经提供了PID控制代码。我们只需要调整P值就可以了。而我们用主控控制舵机的话,还需要自己调整PID,又现成的用现成的比较好。

舵机那个需要多少v还是12v直接给他,单片机那个是12v转5v对吧?

答:
<1>舵机看你选择的是多少V的,如果你的舵机VCC要求12V,那么就供12V的电压。但是我推荐常规的mg90s舵机,sg90舵机也可以。
<2>单片机的供电,要看你的单片机VDD要求多少,如果是MSP430,STM32这种,一般供电都是3.3V。如果你是使用的STC89系列单片机,就需要供5V电压。
<3>舵机,电池,OpenMV,单片机的GND都要连接在一起。这就是系统需要供电,提供基准电压。

只有一个OpenMV,引脚不够用吧?

答:
<1>我简单看了一下题目,个人认为如果只做基础题只要一个OpenMV就可以了。如果不行,可以通过OpenMV和主控进行通讯实现引脚扩展。
<2>相关教程:OpenMV串口通讯详解

pid.py和main.py是要写在一个py文件里面吗?

答:不是的一个是main.py,一个是pid.py。都放在OpenMV的根目录。(也就是插上OpenMV自动打开的那个目录)

2023年电赛---运动目标控制与自动追踪系统(E题)关于网友的问题回复,# OpenMV,单片机

我们测评的时候不能改代码,那么每一问应该怎么搞?

答:
这个肯定就需要你们自己处理好了,肯定不能一个题目一个代码。我只是提供思路,所以这些你需要自己整合好。

大佬,有代码吗?

答:
我没有实物,只是这个之前刚刚做过,就提供出来思路。没有代码!!!

步进电机和舵机的区别

答:
本人已和百度,bing达成高度合作,有些问题可以直接百度或者bing上搜索!
个人建议使用舵机

知道黑框位置之后,怎么追踪?

答:
希望各位仔细看博客,都说了,看OpenMV控制舵机的教程:OpenMV输出PWM,实现对舵机控制这篇博客。别再问这种问题了!!!

为什么我复制了博客中的代码会报错?

答:
我提供的都是伪代码,需要自己进行相应的调整。不能直接跑!!!

我要用几个摄像头,几个主控?材料推荐

答:
<1>个人认为只需要一个OpenMV即可,因为OpenMV上有图像处理单元,有RGB灯,有两路舵机控制。至于最终结果是不是这样,还不清晰。因为我没有实操。但是我还是认为一个OpenMV就可以做完这道题目。
<2>除了一个OpenMV以外,我个人建议最好用上无畸变镜头。购买链接:
https://item.taobao.com/item.htm?spm=a1z10.1-c-s.w5003-18207055866.1.6b0b1dc1nPB6IZ&id=601956249175&scene=taobao_shop

我想使用stm32来控制舵机,OpenMV用来识别,可行吗?工作量会不会大一点?

答:
<1>可行,但是和上面一样,我还是建议只用一个OpenMV。如果你硬要用stm32控制,我也不拦着,这个是OpenMV串口通讯教程:OpenMV串口通讯详解
<2>工作量是会大一些,毕竟一个主控就行的事情,你硬要搞两个。

E题官方解释

1问:E题可以使用openmv吗?
答:E题只禁止笔记本和台式机。其他任意
2问:E题目标运动追踪系统能用树莓派不?
答:同上。
3问:E题,云台和屏幕的高度关系是怎么样的?
答:自定。
4问:请问e题基本要求(1)进行自动复位时屏幕的位置是一直固定吗?
答:当然,只有绿色激光笔可以移动。
5问:E题中主板能用stm32的战舰精英mini版吗?E题中基本要求一测试完之后是否可以复位?
6问:请问E题运动目标控制与自动追踪系统中的屏幕,对材质有什么特殊要求吗?
答:白色。
7问:E题 1. 摄像头模块的摆放位置是否有要求,题目中未提及;2. 现场测试的屏幕材料是否确定,可否提供材料名称?
答:屏幕可自带。其他自定。
8问:E题:封装时屏幕和靶纸要一起封入带去吗?还是测试时由组委会提供所有队伍统一使用的?
答:封箱后自己带。赛区不提供屏幕和靶纸。
9问:E题中的两种激光笔测试开始后是一直要亮着吗?
答:自定。
10问:E题的基础部分第一问里边的“在任意位置按下按键可以复位”任意位置需要我们自己能达到还是说只需要把重点放在能复位?
答:题目已经说的很清楚,光斑处在任意位置都可通过复位功能回到原点
11问:E题屏幕高度有要求么?
答:自定。
12问:E题基础部分第一问的“任意位置都可以复位”我们需要自己写程序让激光笔达到人意位置然后再按下按键复位还是说到哪个位置不需要管只要能做到复位就可以了?
答:题目已经说的很清楚,光斑处在任意位置都可通过复位功能回到原点。
13问:测试场地屏幕是否与外界环境线条分界明显?
答:没有要求。文章来源地址https://www.toymoban.com/news/detail-623344.html

到了这里,关于2023年电赛---运动目标控制与自动追踪系统(E题)关于网友的问题回复的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 基于PID算法下STM32控制的坡道行驶电动小车(2020年电赛)

    基于PID算法下STM32控制的坡道行驶电动小车(2020年电赛)

    本题源于2020年TI杯大学生电子设计竞赛C题-----坡道行驶电动小车 由于手上没有MSP430/MSP432 板子,所以本篇采用stm32实现 任务 利用 TI 的 MSP430/MSP432 平台,设计制作一个四轮电动小车。要求小车能沿着指定路线在坡道上自动循迹骑线行驶。小车必须独立运行,车外不能使用任何

    2024年02月16日
    浏览(32)
  • 22年电赛B题——具有自动泊车功能的电动车——做题记录以及经验分享

    22年电赛B题——具有自动泊车功能的电动车——做题记录以及经验分享

    这道题目也是小车类电赛题目,十月份的电赛题,由于之前积累了一些经验,这道题目在做下来的感觉还行,但是我们看题目没有仔细审题,和题目要求有一些些偏差,但是基础大功能还是做出来辽,大家还是可以参考的 这道题目,就是我们日常生活中的科目二,倒车入库和

    2024年02月12日
    浏览(35)
  • 【2022研电赛】商业计划书赛道上海市一等奖:基于多目标排序预测控制的SL-qZSI光伏储能系统

    【2022研电赛】商业计划书赛道上海市一等奖:基于多目标排序预测控制的SL-qZSI光伏储能系统

    本文为2022年第十七届中国研究生电子设计竞赛商业计划赛道上海赛区一等奖作品兼全国三等奖分享,参加极术社区的【有奖活动】分享2022研电赛作品扩大影响力,更有丰富电子礼品等你来领! 参赛单位:上海理工大学 参赛队伍:科研创新队 指导老师:罗韡 参赛队员:吕哲

    2024年02月09日
    浏览(8)
  • 【电赛训练】非接触物体尺寸形态测量 2020年电赛G题

    【电赛训练】非接触物体尺寸形态测量 2020年电赛G题

    一、题目要求 具体内容详见非接触物体尺寸形态测量(G 题)——行走的皮卡丘 设计并制作一个非接触式物体形状和尺寸自动测量装置,装置的布置图如图 1所示,测量装置放置在图中所示的测量装置区内,被测目标放置在图中被测目标放置区内,装置能测量被测目标的形状

    2024年02月16日
    浏览(9)
  • 21年电赛无人机G题思路

    21年电赛无人机G题思路

    21年电赛结束了,我们选择的题目是无人机G题。通过题目也能感受到今年的难度,在这里旨在为大家提供一个G题的解题思路和方案。 读完题目,可以发现主要有两个难题需要解决 1.飞行路径问题(如何确保飞行能覆盖全部播撒区域) 2.视觉识别问题(如何识别到条形码和入

    2024年02月15日
    浏览(11)
  • 2019年电赛D题《简易电路特性测试仪》全过程

    2019年电赛D题《简易电路特性测试仪》全过程

    本人为团队中负责硬件部分,为了准备2022年电赛,本队伍已经制作2019年和2021年电赛信号题,本次主要讲解为2019年电赛D题硬件部分,少部分为软件需要做的部分。后续会对整个硬件进行优化和整理。   题目的硬件所确定的部分为一个分压式放大电路,其中利用的9013 npn来进

    2023年04月08日
    浏览(13)
  • K210实现单目测算距离—以21年电赛F题为例

    K210实现单目测算距离—以21年电赛F题为例

    单目测距在无人驾驶,路径规划中的地位越来越重要,比激光雷达和深度相机的成本更低,更适合于项目的开发。 单目测算距离的原理就是初中物理上学的小孔成像原理,但是由于我们不知道高度,所以会造成深度丢失。所以我们第一步就是测量我们要测量物体的真实宽度和

    2024年02月14日
    浏览(10)
  • 基于MSP432P401R爬坡小车【2020年电赛C题】

    基于MSP432P401R爬坡小车【2020年电赛C题】

    主控板: MSP432P401R 数据显示: OLED 电机: 霍尔编码器电机 电池: 7.3V航模电池 巡线: OpenMV H7 Plus 警报: 蜂鸣器 电机驱动: TB6612 仪器: 3D打印机 视觉云台: 3D建模打印 转向: 数字舵机 其他: 铜柱、螺丝螺母、开关、面包板等。 编译器: Keil、OpenMV IDE 建模软件: Sketc

    2024年02月15日
    浏览(9)
  • 分享21年电赛F题-智能送药小车-做题记录以及经验分享

    分享21年电赛F题-智能送药小车-做题记录以及经验分享

    自己是今年准备电赛的同学一名,电赛结束了,想把自己之前刷过的题目,通过这篇文章,来分享一波做这道题的思路和调试方法 自己在做之前的电赛题目时,也苦苦没有思路,不知道该怎么去下手,面对题目的要求和限制,应该如何去分析和实现 由于我们主要是准备小车

    2024年02月13日
    浏览(14)
  • 21年电赛F 题jetson nano+32F4识别数字(附源码和数据集)

    21年电赛F 题jetson nano+32F4识别数字(附源码和数据集)

    目录 前言 一、Opencv采集数字图像 二、标记图像数字位置 三、yolov4-tiny机器学习训练 四、jetson nano识别数字 五、识别效果 单个数字识别  ​​​ 两个数字识别  四个数字识别 命令行结果显示 小车OLED屏幕显示 总结+数据集权重文件+小车程序 前言 啊!四天三夜的电赛终于结

    2024年02月14日
    浏览(7)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包