描述
                        
            
            
              <div>
<h3 style="line-height:1.8;">* 1、项目功能介绍</h3>
<hr>
<p><strong>1.</strong></p>
<p><strong>底盘驱动与运动控制 (MSPM0 核心)</strong></p>
<ol>
<li style="list-style-type:none;">
<ul>
<li>
<p><strong>功能:</strong> 接收来自上层(树莓派或遥控)的运动指令(速度、方向),控制两个直流驱动电机(通常为差速驱动)。</p>
</li>
<li>
<p><strong>技术亮点:</strong></p>
<ul>
<li>
<p><strong>MSPM0 优势:</strong> 充分利用 MSPM0 系列微控制器的高性能ARM Cortex-M0+内核、丰富PWM资源(用于电机调速)、高精度ADC(可选用于电流检测/电池监控)、通信接口(UART/SPI/I2C 与云台STM32和树莓派通信)以及低功耗特性。</p>
</li>
<li>
<p><strong>电机驱动:</strong> 通过H桥电机驱动芯片TB6612模块,实现电机的正反转、调速和制动控制。</p>
</li>
<li>
<p><strong>实时控制:</strong> MSPM0 提供稳定可靠的底层电机控制循环,确保小车运动的实时性和稳定性。</p>
</li>
<li>
<p><strong>基础传感器接口:</strong> 可能连接编码器(用于速度/里程反馈)或IMU(用于姿态稳定,可选)。</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p><strong>高精度十二路循迹 (MSPM0 核心)</strong></p>
<ul>
<li>
<p><strong>功能:</strong> 利用安装在小车底部的<strong>十二路红外光电传感器阵列</strong>,实时检测地面预设的轨迹线(通常是黑色胶带)。</p>
</li>
<li>
<p><strong>技术亮点:</strong></p>
<ul>
<li>
<p><strong>高分辨率检测:</strong> 十二路传感器提供远超普通3-5路循迹模块的检测精度和宽度,能更早识别弯道、十字路口、T字路口等复杂路径,并实现更平滑的轨迹跟踪。</p>
</li>
<li>
<p><strong>自适应算法:</strong> MSPM0 实时读取所有传感器状态,运行循迹算法PID控制,计算出所需的电机速度差修正量,发送给电机驱动模块,实现精准的沿线和过弯。</p>
</li>
<li>
<p><strong>强环境适应性:</strong> 多路传感器可有效抵抗部分传感器误检或光线干扰,提高系统鲁棒性。</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p><strong>步进电机云台控制 (STM32 核心)</strong></p>
<ul>
<li>
<p><strong>功能:</strong> 接收树莓派视觉系统计算出的目标位置信息,控制两轴(俯仰Pitch、偏航Yaw)步进电机,驱动摄像头(通常安装在云台上)快速、准确地指向并追踪目标。</p>
</li>
<li>
<p><strong>技术亮点:</strong></p>
<ul>
<li>
<p><strong>STM32 优势:</strong> 利用STM32(如STM32F4系列)的高主频、丰富定时器资源(精确步进电机脉冲生成)、浮点运算单元(复杂运动学计算)和高速通信接口(与树莓派通信)。</p>
</li>
<li>
<p><strong>高精度定位:</strong> 步进电机提供开环位置控制精度,结合细分驱动技术,实现云台平稳、精准的运动。</p>
</li>
<li>
<p><strong>闭环控制 (可选):</strong> 可加入编码器或电位器反馈,实现更精确的闭环位置控制。</p>
</li>
<li>
<p><strong>运动规划:</strong> STM32 执行平滑的运动轨迹规划算法,避免云台运动抖动。</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
<p><strong>视觉感知与决策 (树莓派 + OpenCV)</strong></p>
<ul>
<li>
<p><strong>功能:</strong> 通过云台上的摄像头捕获实时图像/视频流,运行基于<strong>OpenCV</strong>的计算机视觉算法。</p>
</li>
<li>
<p><strong>主要视觉任务:</strong></p>
<ul>
<li>
<p><strong>目标检测与追踪:</strong> 识别并持续跟踪特定的目标物体(如色块、人脸、ArUco标记、特定形状物体等)。</p>
</li>
<li>
<p><strong>环境感知 (可选):</strong> 识别障碍物、识别特定标志等。</p>
</li>
</ul>
</li>
<li>
<p><strong>决策与指令下发:</strong></p>
<ul>
<li>
<p>根据视觉识别结果,计算出云台需要转动的角度(发送给STM32云台控制器)。</p>
</li>
<li>
<p>根据高级任务需求(如追踪时需移动底盘),生成底盘运动指令(发送给MSPM0主控制器)。<strong>强大算力:</strong> 树莓派(如3B+/4B)提供运行复杂CV算法所需的计算能力。</p>
<ul>
<li>
<p><strong>OpenCV 生态:</strong> 利用成熟的OpenCV库实现高效的图像处理、特征提取、目标识别与追踪算法(如颜色过滤、模板匹配、Haar级联、深度学习模型等)。</p>
</li>
</ul>
<p> </p>
</li>
</ul>
</li>
</ul>
</li>
</ol>
<p style="line-height:1.8;"> </p>
<p style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">注:主题不限,可以是解决生活/工作中的某个问题、为某个人群/场景设计的方案、毕业设计/课程设计/DIY项目/纯属炫酷项目等。主要讲一下自己通过什么手段解决了什么问题。</span></p>
<p style="line-height:1.8;"> </p>
<h3 style="line-height:1.8;">*2、项目属性</h3>
<hr>
<ul>
<li>
<p><strong>首次公开</strong>:是</p>
</li>
<li>
<p><strong>原创性</strong>:是(结合了开源技术但整体架构为原创设计)</p>
</li>
<li>
<p><strong>获奖历史</strong>:无</p>
</li>
<li>
<p><strong>答辩经历</strong>:无</p>
</li>
</ul>
<h3 style="line-height:1.8;">* 3、开源协议</h3>
<hr>
<div>
<p>GPL-3.0 的核心在于<strong>开源</strong>,而非限制商业用途。用户可以自由地将软件用于商业目的,但必须遵守以下规则:</p>
</div>
<div>
<ol>
<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>
<h3 style="line-height:1.8;">*4、硬件部分</h3>
<hr>
<p>MSPM0开发板</p>
<p>STM32F407ZET6</p>
<p>2个370电机</p>
<p>万向轮</p>
<p>树莓派</p>
<p>12路循迹模块</p>
<h3 style="line-height:1.8;">*5、软件部分</h3>
<hr>
<div>主要代码</div>
<div>void TIMER_OTHER_INST_IRQHandler(void)//</div>
<div> {</div>
<p style="line-height:1.8;"> </p>
<div>    switch (DL_TimerA_getPendingInterrupt(TIMER_OTHER_INST))</div>
<div>    {</div>
<div>        case DL_TIMERA_IIDX_LOAD://1ms进入一次</div>
<div>        {</div>
<div>            static uint16_t key_scanf=0,key_fw=0;</div>
<div>            if(++key_scanf>=5)</div>
<div>            {</div>
<div>                key_scanf=0;</div>
<div>                KeyScan();</div>
<div>            }</div>
<p style="line-height:1.8;"> </p>
<div>            static uint16_t count=0;</div>
<div>            count++;</div>
<div>            if(count>=6)</div>
<div>            {</div>
<div>                count=0;</div>
<div>                speed_R=get_encoder_count_A();//A右 B左</div>
<div>                speed_L=get_encoder_count_B();</div>
<div>                speedr_ptd.Actual=get_encoder_count_A();</div>
<div>                speedl_ptd.Actual=get_encoder_count_B();</div>
<p style="line-height:1.8;"> </p>
<div>                if(start_motor_flag==1 && biaozhi==0)</div>
<div>                {</div>
<div>                    PID_Updata(&speedr_ptd);</div>
<div>                    PID_Updata(&speedl_ptd);</div>
<div>                    line.Actual=line_result();</div>
<div>                    PID_Updata(&line);</div>
<div>                    moto1=speedr_ptd.Out+240+line.Out;</div>
<div>                    moto2=speedl_ptd.Out+240-line.Out;</div>
<div>                    Load(moto1,moto2);</div>
<div>                }</div>
<div>                else if(start_motor_flag==1 && biaozhi==1)</div>
<div>                {</div>
<div>                    Load(195,-130);//moto1:200,moto2:-160</div>
<div>                    if(line_result()>=-1&&line_result()3,=3000)</div>
<div>            // {</div>
<div>            //     count1=0;</div>
<div>            //     flag_jishu=0;//可以消耗圈数</div>
<div>            // }</div>
<div>        }break;</div>
<div>        default:break;</div>
<div>    }</div>
<div>}</div>
<h3 style="line-height:1.8;">*6、BOM清单</h3>
<h3 style="line-height:1.8;"><img src="//image.lceda.cn/pullimage/epbASL13L4GcgxG8vZRadDI2vgLQxJa7KIHOzlQp.png" alt="epbASL13L4GcgxG8vZRadDI2vgLQxJa7KIHOzlQp.png"></h3>
<p> </p>
<hr>
<p style="line-height:1.8;"> </p>
<h3 style="line-height:1.8;">*7、大赛LOGO验证</h3>
<hr>
<p style="line-height:1.8;"><img src="//image.lceda.cn/pullimage/ZNfhBB5XvPTsWaDmBDo3DbLPJveOUwXEpuRncoO0.jpeg" alt="ZNfhBB5XvPTsWaDmBDo3DbLPJveOUwXEpuRncoO0.jpeg"></p>
<h3 style="line-height:1.8;">* 8、演示您的项目并录制成视频上传</h3>
<hr>
<p style="line-height:1.8;"> </p>
<p style="line-height:1.8;"> </p>
</div>
            
                                   
          
          
评论(0)