版本协议

GPL 3.0

标签
标准版
#第十届立创电赛#智能目标随动系统

创建时间:2周前

18 0

描述

<div class="document"> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;">注:* 为必填项</p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"><strong><span style="color: #0093e6;">请在报名阶段填写 ↓</span></strong></p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"> </p> <h3 class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;">* 1、项目功能介绍</h3> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;">  项目名称:基于STM32F407VET6的智能目标随动系统</p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;">  项目背景:在安防监控、智能玩具、自动跟踪拍摄等领域,需要系统能够自动识别并跟踪移动目标。本项目设计一个低成本、高精度的目标随动系统,通过摄像头捕捉目标,控制云台实时跟踪目标移动。</p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;">  解决问题:传统手动跟踪耗时费力,且容易丢失目标。本系统通过图像识别算法自动识别目标,并通过双轴云台实现实时跟踪,解决人工跟踪的痛点。</p> <h3 class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;">*2、项目属性</h3> <ul> <li> <p class="ds-markdown-paragraph"><strong>首次公开</strong>:是</p> </li> <li> <p class="ds-markdown-paragraph"><strong>原创性</strong>:是(结合了开源技术但整体架构为原创设计)</p> </li> <li> <p class="ds-markdown-paragraph"><strong>获奖历史</strong>:无</p> </li> <li> <p class="ds-markdown-paragraph"><strong>答辩经历</strong>:无</p> </li> </ul> <h3 class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;">* 3、开源协议</h3> <div> <p>    GPL-3.0 的核心在于<strong>开源</strong>,而非限制商业用途。用户可以自由地将软件用于商业目的,但必须遵守以下规则:</p> </div> <div> <ol class="b_dList"> <li> <p><strong>源码开放</strong>:分发时必须提供源代码,确保接收者能够自由修改和使用。</p> </li> <li> <p><strong>许可证传递性</strong>:任何基于 GPL 软件的修改版本也必须遵守 GPL 协议,确保自由的延续。</p> </li> <li> <p><strong>专利保护</strong>:贡献者自动授予专利许可,防止专利诉讼破坏开源生态。</p> </li> <li> <p><strong>破解允许</strong>:用户可以自由破解软件的技术限制</p> </li> </ol> </div> <p> </p> <p style="line-height: 1.8;"> </p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"><strong><span style="color: #0093e6;">请在竞赛阶段填写 ↓</span></strong></p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"> </p> <h3 class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;">*4、硬件部分</h3> <hr class="horizontal-splitline normal-bold-2"> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"> </p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt pap-left-indent-1.6em" style="line-height: 1.8;"> </p> <h3 class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;">*5、软件部分</h3> <hr class="horizontal-splitline normal-bold-2"> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;">graph TD<br>A[图像采集] --> B[目标检测]<br>B --> C[位置计算]<br>C --> D[PID控制]<br>D --> E[串口通信]<br>E --> F[电机驱动]<br>F --> G[云台运动]<br>H[用户界面] --> A<br>H --> G</p> <ol> <li> <p class="ds-markdown-paragraph"><strong>OpenCV处理模块</strong>(Python)</p> <ul> <li> <p class="ds-markdown-paragraph">图像采集与预处理</p> </li> <li> <p class="ds-markdown-paragraph">目标检测算法(人脸识别+颜色识别)</p> </li> <li> <p class="ds-markdown-paragraph">目标位置计算</p> </li> </ul> </li> <li> <p class="ds-markdown-paragraph"><strong>通信模块</strong>(Python+C)</p> <ul> <li> <p class="ds-markdown-paragraph">自定义串口协议设计</p> </li> <li> <p class="ds-markdown-paragraph">数据打包/解包</p> </li> </ul> </li> <li> <p class="ds-markdown-paragraph"><strong>电机控制模块</strong>(C)</p> <ul> <li> <p class="ds-markdown-paragraph">步进电机驱动</p> </li> <li> <p class="ds-markdown-paragraph">PID位置控制</p> </li> <li> <p class="ds-markdown-paragraph">运动轨迹规划</p> </li> </ul> </li> <li> <p class="ds-markdown-paragraph"><strong>用户界面模块</strong>(Python)</p> <ul> <li> <p class="ds-markdown-paragraph">实时视频显示</p> </li> <li> <p class="ds-markdown-paragraph">目标跟踪状态</p> </li> <li> <p class="ds-markdown-paragraph">系统控制面板</p> </li> </ul> </li> <li> </li> </ol> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"> </p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;">def detect_target(frame):<br>    # 人脸检测<br>    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)<br>    faces = face_cascade.detectMultiScale(gray, 1.3, 5)<br>    <br>    if len(faces) > 0:<br>        # 返回最大的人脸<br>        (x, y, w, h) = max(faces, key=lambda f: f[2]*f[3])<br>        return (x + w//2, y + h//2), 'face'<br>    <br>    # 颜色检测(绿色物体)<br>    hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)<br>    mask = cv2.inRange(hsv, lower_green, upper_green)<br>    contours, _ = cv2.findContours(mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)<br>    <br>    if contours:<br>        c = max(contours, key=cv2.contourArea)<br>        ((x, y), radius) = cv2.minEnclosingCircle(c)<br>        if radius > 10:<br>            return (int(x), int(y)), 'color'<br>    <br>    return None, None</p> <h4>PID控制算法(STM32端)</h4> <p>typedef struct {<br>    float Kp, Ki, Kd;<br>    float integral;<br>    float prev_error;<br>} PIDController;</p> <p>float pid_update(PIDController* pid, float setpoint, float measurement) {<br>    float error = setpoint - measurement;<br>    <br>    // 比例项<br>    float P = pid->Kp * error;<br>    <br>    // 积分项(带抗饱和)<br>    pid->integral += error;<br>    if (pid->integral > INTEGRAL_LIMIT) pid->integral = INTEGRAL_LIMIT;<br>    else if (pid->integral integral = -INTEGRAL_LIMIT;<br>    float I = pid->Ki * pid->integral;<br>    <br>    // 微分项<br>    float D = pid->Kd * (error - pid->prev_error);<br>    pid->prev_error = error;<br>    <br>    return P + I + D;<br>}</p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt pap-left-indent-1.6em" style="line-height: 1.8;">源码结构</p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt pap-left-indent-1.6em" style="line-height: 1.8;">Smart-Tracking-System/<br>├── opencv_processing/       # OpenCV处理程序<br>│   ├── main.py              # 主程序<br>│   ├── target_detection.py  # 目标检测算法<br>│   ├── serial_comm.py       # 串口通信模块<br>│   └── ui.py                # 用户界面<br>│<br>├── stm32_firmware/          # STM32固件<br>│   ├── Core/                # 核心文件<br>│   ├── Drivers/             # HAL驱动<br>│   ├── Stepper/             # 步进电机驱动<br>│   │   ├── stepper.c<br>│   │   └── stepper.h<br>│   ├── PID/                 # PID算法<br>│   │   ├── pid.c<br>│   │   └── pid.h<br>│   └── main.c               # 主程序<br>│<br>└── 3d_models/               # 云台3D模型<br>    ├── base.stl<br>    ├── x_axis.stl<br>    └── y_axis.stl</p> <h3 class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;">*6、BOM清单</h3> <hr class="horizontal-splitline normal-bold-2"> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"><span style="color: #95a5a6; font-size: 14px;">请输入内容…</span></p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"> </p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"><span style="color: #95a5a6; font-size: 14px;">注:项目涉及的BOM清单。在<span style="text-decoration: underline;"><a href="https://lceda.cn/editor" target="_blank">嘉立创EDA</a> </span>生成/上传设计文件后,BOM将自动生成至项目详情;建议包括型号、品牌、名称、封装、采购渠道、用途等内容。具体内容和形式应以表达清楚项目构成为准。 </span></p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"> </p> <h3 class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;">*7、大赛LOGO验证</h3> <hr class="horizontal-splitline normal-bold-2"> <p style="line-height: 1.8;"> </p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"><span style="color: #95a5a6; font-size: 14px;">请上传包含大赛logo的项目图片,logo以丝印形式印刷在PCB上面。</span></p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"><span style="color: #95a5a6; font-size: 14px;">点击zip下载大赛logo标识! <span style="text-decoration: underline;"><a href="https://image.lceda.cn/easyedaResource/images/d1bbfd69f9404f56901a0e7b849b7245.rar" target="_blank">(大赛标识).zip</a></span></span></p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"> </p> <h3 class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;">* 8、演示您的项目并录制成视频上传</h3> <hr class="horizontal-splitline normal-bold-2"> <p style="line-height: 1.8;"> </p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"><span style="color: #95a5a6; font-size: 14px;">视频要求:请横屏拍摄,分辨率不低于1280×720,格式Mp4/Mov,单个视频大小限100M内;</span></p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"><span style="color: #95a5a6; font-size: 14px;">视频标题:立创电赛:{项目名称}-{视频模块名称};如立创电赛:《自动驾驶》-团队介绍。</span></p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"> </p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"><span style="font-size: 14px;"><a href="/posts/42551e8f2f2548cabc1c36626a42da94" target="_blank">前往查看更多详情 ></a></span></p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"> </p> </div>

文档

BOM

暂无

附件

暂无

评论(0)

  • 表情
    emoji
    小嘉工作篇
    小嘉日常篇
  • 图片
成功
工程所有者当前已关闭评论
goToTop
svg-battery svg-battery-wifi svg-books svg-more svg-paste svg-pencil svg-plant svg-ruler svg-share svg-user svg-logo-cn svg-double-arrow