2023电赛E题:运动目标控制和自动追踪系统 比赛经验分享(主控:武汉芯源公司CW32F030C8T6)

声明:

本文仅记录和分享本次电赛4天3夜的比赛过程,仅供参考,错误之处,欢迎指正。

赛题(PDF):

文件分享

思路分析:

基础部分:

 本人初次看这个赛题,第一印象是认为是较为简单的,硬件没有问题绝对能做出来,

我的思路如下:

如果开环写:首先将激光笔放在舵机云台上,红色激光中心点对准纸张中心点,所有参数矫正好,这样,基础1第一的问题就完成了,执行复位程序,让舵机指定该角度即可;其次,第二问第三问,相当于一个问题,指定矩形位置和长度,进行控制,先小小建个模型(过于抽象,请见谅),

 假设从上往下看,板子位于底板上,舵机云台在上方,他们(x,y)坐标均为(0,0),如果红色激光想达到A点,空间线反推一下分别投影到yoz平面上,xoz平面上,即可用反正切函数算出舵机云台x,y轴转动角度,用cw32030c8t6控制舵机精确转动即可让激光打到A点,另外发现红色激光沿着边长移动时,总会一个角不变,所以就可以简单点,不必离散点计算,让程序递进控制一个轴即可。按照这个思路,第(2)(3)要求就完成了,前提参数调好。第(4)个要求就必须要用到摄像头给出矩形的信息,我们组电赛前练习准备使用的是K210,不曾想是本次电赛最大的遗憾,稍后再说。用摄像头模组实现开环控制不易之处主要在于摄像头识别到黑色矩形的像素坐标与实际坐标的不统一,为解决这个问题,我想到的办法是,将摄像头像素识别框设置到120*120(实测),再把摄像头识别框中心即(60,60)与铅笔画的正方形中心尽量重合,这样像素点的坐标和实际坐标就有一定的比例相关性,举个例子,如果矩形顶点像素坐标为(120,120),那么实际坐标就是(50,50),这样,就可以按照(2)(3)思路,坐标量化成角度。还有一个问题是如何找到倾斜角并走斜线,因为斜着走舵机云台x,y轴都要变化,解决这个问题首先要根据同边两个坐标算出倾斜角,然后利用倾斜角找到x,y控制的比例关系走斜线,形象一点,斜线可以离散成楼梯的一列边沿的点,按倾斜角度得出楼梯的长和宽,再控制舵机的x,y倾斜角,程序不断递进即可走一条斜线,解决以上问题,理论上能做到画随意角度,随意位置的矩形,不过实属不易,摄像头识别不出红色激光点或误差较大只好采用。

如果闭环写:摄像头识别正方形铅笔线,给出4个点像素坐标,人为再这几个点之间加坐标,以便走的丝滑,让这些坐标按顺序作为舵机x轴,y轴pid的目标值,红色激光位置实时反馈,调好参数,即可由点成线,完成走矩形,(2)(3)(4)均可如此。(理论构想)

 发挥部分:

 发挥部分绿色激光系统需要在0.4-1m之间随意移动,并官方后期调整,摄像头必须随舵机转动,这样就必须闭环控制,第(1)要求,先让摄像头转向左或向右转动18度保证正方形在摄像头识别框内,再实时获取红色,绿光坐标位置,设置红色坐标为目标值,绿色坐标为反馈值,设置一定接近间隔分好情况,再调好参数即可做到。第(2)(3)同一,只要跟随红光即可。

注:发挥部分仅是本人的设想,正确与否需要实践论证,我们组摄像头准备的k210,从负责视觉同学告诉我识别不了红色坐标,或者准确度很差,尤其当红点在黑线上时,红绿色同框更加识别不了,借的openmv 最后一天在调发挥第一问参数归还到实验室,自己的openmv没有到,本次比赛没有做发挥部分,甚是遗憾!

硬件部分:

整体电路图:

 CW32F030C8T6控制电路(之前准备画小车PCB板直接拿来用了):

介绍一下武汉芯源公司国产32位MCU:

     CW32F030C8T6 是由武汉芯源半导体有限公司推出的,一款基于 ARM 公司Cortex-M0+内核、64MHZ 主频、64K 字节 FLASH、8K 字节 RAM 的高性价比国产 MCU。它与 STM32F030C8T6、STM32F103C8T6 等同封装的 MCU 硬件完全兼容(Pin2Pin兼容),软件及固件库与 STM32 风格一致,可快速上手。并且具有比 STM32 及同类国产 MCU 更优异的性能:全系列支持 1.65~5.5V 供电,更低的功耗,且支持-40~105 摄氏度的工作温度范围。
CW32-48C-03C 核心板使用武汉芯源半导体有限公司的 LQFP48 封装的 MCU 芯片 CW32F030C8T6。所有 GPIO 都能过 2.54mm 标准间距通过双排针引出。核心板出厂配有指示灯闪烁用户程序。用户可以用 DAP、STLINK 等仿真器下载程序。
特点:
MCU: CW32F030C8T6(48 脚)
最大工作频率:64M
64KB Flash and 8KB RAM

F系列是标准版的,性能够用,该公司超低功耗L系列更为出色,大家有兴趣可以了解一下

此外,有针对电赛的扶持计划,奖励丰厚,链接如下:

        CW32开发者扶持计划

 软件部分:

1,系统时钟初始化(HSI)

 2,滴答定时器初始化

 3,通信串口初始化

 4.PWM初始化

 4,按键初始化

 5,舵机驱动函数

 6,基础功能(1)

 7,基础功能((2)

8, 基础功能(3)

9,基础功能(4)

(串口状态机法接收,自定数据包格式[0x11,......,0xFF],数据中python限制不出现0xFF)

FF

 (先取了四个点)

  • 9
    点赞
  • 103
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值