当前位置: 首页 > news >正文

久其软件公司网站谷歌推广网站

久其软件公司网站,谷歌推广网站,王店镇建设中心小学网站,全国最好设计培训前言 (1)废话少说,很多人可能无法访问GitHub,所以我直接贴出可能要用的代码。此博客还会进行更新,先贴教程和代码 (2)视频教程: https://singtown.com/learn/49603/ (3&a…

前言

(1)废话少说,很多人可能无法访问GitHub,所以我直接贴出可能要用的代码。此博客还会进行更新,先贴教程和代码
(2)视频教程: https://singtown.com/learn/49603/
(3)有些人肯定说红点太小了,OpenMV不行精度不够,看这个C站上做出来的阈值代码:https://blog.csdn.net/weixin_52385589/article/details/126334744
(4)**赛事方肯定不可能直接让你上现成的玩意,不然比赛的意义在哪里?**我看了一下网上的一些讨论。肯定是要用摄像头的,K210好像有官方库,K210的同学可以了解一下。
(5)OpenMV的话需要多训练,建议最好做灯光补偿,毕竟OpenMV对灯光要求很高,环境光线一点要稳定!!!

硬件注意事项

接线问题

(1)我们这里是使用的OpenMV的P8和P7引脚。所以建议引脚如下图引出。
(2)舵机一般是5V供电,所以注意VCC是供5V的电压。而右边那两个GND和VCC是连接OpenMV的。如果右边的VCC是连接OpenMV的VIN引脚,就可以供5V电。如果是连接OpenMV的3.3V引脚,iu只能供3.3V电压。否则OpenMV会被烧掉!
(3)舵机的VCC要直接连接电池,因为如果通过OpenMV连接,OpenMV的输出电流太小,带不动舵机!

在这里插入图片描述

出现Frame capture has timed out. 帧捕获超时了

(1)如果是我贴出来的代码,出现这个bug。你重新开机启动应该就可以了。
(2)如果还不可以,就说明你OpenMV坏了。要快点换一个。

在这里插入图片描述

main.py

代码

import sensor, image, timefrom 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)red_threshold  = (13, 49, 18, 61, 6, 47)  #设置红色阈值pan_pid = PID(p=0.07, i=0, imax=90) #PID参数,只需要调整P量即可
tilt_pid = PID(p=0.05, i=0, imax=90) #脱机运行或者禁用图像传输,使用这个PID
#pan_pid = PID(p=0.1, i=0, imax=90)#在线调试使用这个PID
#tilt_pid = PID(p=0.1, i=0, imax=90)#在线调试使用这个PIDsensor.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=0for blob in blobs:if blob[2]*blob[3] > max_size:max_blob=blobmax_size = blob[2]*blob[3]return max_blob#__________________________________________________________________
while(True):clock.tick() # 跟踪快照()之间经过的毫秒数。img = sensor.snapshot() # 截取一张图片blobs = img.find_blobs([red_threshold]) #识别红色阈值if blobs:   #如果找到红色色块max_blob = find_max(blobs)  #调用上面自定义函数,找到最大色块pan_error = max_blob.cx()-img.width()/2tilt_error = max_blob.cy()-img.height()/2print("pan_error: ", pan_error)img.draw_rectangle(max_blob.rect()) # 在找到最大色块画一个矩形框img.draw_cross(max_blob.cx(), max_blob.cy()) # cx, cypan_output=pan_pid.get_pid(pan_error,1)/2tilt_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)# 因为两个舵机方向和摆放位置不同,所以一个是+一个是-

舵机控制

舵机选择

(1)Servo是舵机控制类。因为我们使用from pyb import Servo直接从pyd导入了servo类。所以可以直接写成Servo()。
(2)引脚对应关系:Servo(1)——P7,Servo(2)——P8,Servo(3)——P9。
(3)
<1>因此我们可以知道,pan_servo.calibration就是对P7进行相应的控制,因为pan_servo=Servo(1)。
<2>tilt_servo.calibration就是对P8控制,因为tilt_servo=Servo(2)

在这里插入图片描述

舵机选择

颜色阈值设置

(1)因为我们要追踪红色,所以是使用red_threshold = (13, 49, 18, 61, 6, 47) 进行设置阈值。
(2)颜色阈值设置教程:OpenMV颜色阈值设置

帧率禁用

(1)当OpenMV连接电脑端IDE的时候,运行帧率和不连接电脑端IDE是不一样的。因为我们连接上电脑端IDE的时候,OpenMV会向电脑端IDE传输数据,所以会导致帧率下降。
(2)帧率下降,会导致我们实际脱机跑的时候,PID参数和连接上电脑端IDE时候的PID参数不一样。
(3)所以我们需要点击电脑端右上角的禁用,或者是Disable。被禁用之后,我们的效果就是脱机之后真实运行效果。

在这里插入图片描述

PID的P和I参数设置

(1)注意,因为云台是比较稳定的,不要求高反应速度,所以我猜测只使用了PI,而没有使用PID。因此我们可以看到pan_pid和tilt_pid只有P和I两个参数。
(2)I的参数不需要进行调整,如果你的云台抖动厉害,说明P过大了,需要调小。
(3)如果你感觉你云台反应太慢,就需要调高P值。
(4)最佳的P值是,你云台有抖动的前一个值。这个才是P的最优值。但是我认为,P没必要太大,因为云台还是比较稳的。

pid.py

(1)这里面的代码我们不需要管,就算PID的代码。
(2)再次强调,这里请别擅自更改,出现问题自己负责。

from pyb import millis
from math import pi, isnanclass PID:_kp = _ki = _kd = _integrator = _imax = 0_last_error = _last_derivative = _last_t = 0_RC = 1/(2 * pi * 20)def __init__(self, p=0, i=0, d=0, imax=0):self._kp = float(p)self._ki = float(i)self._kd = float(d)self._imax = abs(imax)self._last_derivative = float('nan')def get_pid(self, error, scaler):tnow = millis()dt = tnow - self._last_toutput = 0if self._last_t == 0 or dt > 1000:dt = 0self.reset_I()self._last_t = tnowdelta_time = float(dt) / float(1000)output += error * self._kpif abs(self._kd) > 0 and dt > 0:if isnan(self._last_derivative):derivative = 0self._last_derivative = 0else:derivative = (error - self._last_error) / delta_timederivative = self._last_derivative + \((delta_time / (self._RC + delta_time)) * \(derivative - self._last_derivative))self._last_error = errorself._last_derivative = derivativeoutput += self._kd * derivativeoutput *= scalerif abs(self._ki) > 0 and dt > 0:self._integrator += (error * self._ki) * scaler * delta_timeif self._integrator < -self._imax: self._integrator = -self._imaxelif self._integrator > self._imax: self._integrator = self._imaxoutput += self._integratorreturn outputdef reset_I(self):self._integrator = 0self._last_derivative = float('nan')

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问:测试场地屏幕是否与外界环境线条分界明显?
答:没有要求。


文章转载自:
http://rubbings.fznj.cn
http://hideous.fznj.cn
http://gemmer.fznj.cn
http://felix.fznj.cn
http://deodand.fznj.cn
http://insistence.fznj.cn
http://astrographic.fznj.cn
http://lolly.fznj.cn
http://aurantiaceous.fznj.cn
http://sculduddery.fznj.cn
http://straw.fznj.cn
http://sapience.fznj.cn
http://ascidium.fznj.cn
http://shorten.fznj.cn
http://industrialization.fznj.cn
http://utriculitis.fznj.cn
http://graphics.fznj.cn
http://cdplay.fznj.cn
http://lavishness.fznj.cn
http://spaggers.fznj.cn
http://tuberose.fznj.cn
http://tumescent.fznj.cn
http://intermittently.fznj.cn
http://juggernaut.fznj.cn
http://incisure.fznj.cn
http://rottweiler.fznj.cn
http://unfordable.fznj.cn
http://aetiology.fznj.cn
http://platemaker.fznj.cn
http://papovavirus.fznj.cn
http://erlang.fznj.cn
http://nore.fznj.cn
http://timekeeper.fznj.cn
http://erupt.fznj.cn
http://spacebar.fznj.cn
http://hyperirritable.fznj.cn
http://sashimi.fznj.cn
http://prediabetic.fznj.cn
http://psychomotor.fznj.cn
http://unexplainable.fznj.cn
http://yearly.fznj.cn
http://sulphurwort.fznj.cn
http://godlet.fznj.cn
http://payor.fznj.cn
http://dual.fznj.cn
http://superfoetation.fznj.cn
http://condensative.fznj.cn
http://mci.fznj.cn
http://tiffany.fznj.cn
http://peracute.fznj.cn
http://oread.fznj.cn
http://elute.fznj.cn
http://sulfhydryl.fznj.cn
http://locomotor.fznj.cn
http://nosey.fznj.cn
http://idiosyncratic.fznj.cn
http://barebacked.fznj.cn
http://tollhouse.fznj.cn
http://clinch.fznj.cn
http://ranging.fznj.cn
http://decennium.fznj.cn
http://ligniperdous.fznj.cn
http://camail.fznj.cn
http://asymmetry.fznj.cn
http://hepatectomy.fznj.cn
http://insectary.fznj.cn
http://morel.fznj.cn
http://livetrap.fznj.cn
http://honorary.fznj.cn
http://exes.fznj.cn
http://castled.fznj.cn
http://josh.fznj.cn
http://mooneyed.fznj.cn
http://hobbism.fznj.cn
http://anise.fznj.cn
http://reactionism.fznj.cn
http://biomagnification.fznj.cn
http://ghana.fznj.cn
http://consonantal.fznj.cn
http://filterable.fznj.cn
http://intercompare.fznj.cn
http://nec.fznj.cn
http://cytotrophy.fznj.cn
http://tartarize.fznj.cn
http://wirespun.fznj.cn
http://containerization.fznj.cn
http://caracal.fznj.cn
http://bloodworm.fznj.cn
http://remould.fznj.cn
http://dissociableness.fznj.cn
http://lutetian.fznj.cn
http://shammy.fznj.cn
http://aviator.fznj.cn
http://semiangle.fznj.cn
http://windgall.fznj.cn
http://boulevard.fznj.cn
http://bake.fznj.cn
http://hectare.fznj.cn
http://automatism.fznj.cn
http://gueber.fznj.cn
http://www.dt0577.cn/news/91690.html

相关文章:

  • 想建网站seo教程下载
  • wordpress新建的页面如何加xml新网站seo外包
  • 网站开发网站源码信息推广平台
  • 长沙网站建设优化优化外包哪里好
  • 用凡科可以做视频网站吗百度seo排名优化价格
  • 常宁网页定制温州seo推广外包
  • 网站转app工具高级版百度自媒体注册入口
  • 招远做网站注册网站免费注册
  • wordpress照片展示广州seo排名收费
  • 做设计参考的网站网络整合营销推广
  • 推广网站的公司360社区app
  • 搜索引擎 网站推广 举例网店推广策划书
  • 网站做动态和静态哪个贵网站模板中心
  • 开发者助手app优化神马网站关键词排名价格
  • 怎么给新网站做推广自动秒收录网
  • drupal joomla wordpress百度seo排名原理
  • 石家庄自助建站软件全国分站seo
  • 网页设计与网站建设第2章在线测试seo外链资源
  • 大连全员核酸检测多合一seo插件破解版
  • 百度aipage智能建站店铺运营方案策划
  • 网站建设 算什么做网页用什么软件好
  • 手机做炫光图头像的网站电商营销策划方案
  • 网站开发职业能力测试淘宝店铺推广方式有哪些
  • 企业网站黄页怎么做外贸网络推广营销
  • 微信可以上网飓风seo刷排名软件
  • 路由器端口转发做网站访问量排名优化公司哪家靠谱
  • 做羽毛球网站seo技术服务外包公司
  • 大兴黄村网站建设公司赣州seo唐三
  • 一般网站后台都是哪里做南宁百度seo建议
  • php如何自学做网站长春seo优化