甄bro!
职业卖家
  • 城市
  • 概况
  • 加入于
    2016年07月14日
  • 个人简介
    还没有填写个人介绍!
  • ¥ 499

    2
    0

    2019年研究生电赛国奖作品基于GD32的视觉追随车

    随着科学技术的发展,我们所熟知的小车已经从简简单单的由齿轮、电池、马达、底盘等部件构成的玩具车慢慢的进化成了装备着当下科学技术产物的智能车。所谓智能车在满足了上电后可以移动的基础上,也对其运动的方向和方式提出了更高的要求。所谓对小车的控制归根结底就是对于电机的控制,通过对电机的转速、转向等参数进行控制,才能实现智能车有规律有目的的移动。本文设计了一款基于兆易创新GD32 MCU中国芯的机器视觉跟随麦克纳姆轮小车,因为其地盘选择的是麦克纳姆轮故而可以实现全方位移动零度转角,可以在狭小空间中对目标进行更好的跟随。为了避免由于跟随目标的运动方向的不确定性,特意设计了电机加减速算法,从而使小车更安全、更稳定的运行。小车通过安卓手机摄像头采集周围环境信息运用opencv开源视觉算法识别目标颜色或者目标形态,升级版本可以进行人脸识别检测和瞳距检测从而自动追随人脸或者瞳孔。在识别到目标后生成坐标数据并通过蓝牙、WiFi、串口等通讯方式传输数据给GD32 MCU,GD32 MCU通过智能算法或者机器学习解算出麦克纳姆小车的行进方向,若目标丢失则停止移动,GD32 MCU用解算的结果控制麦克纳姆小车从而完成追随任务。其中GD32 MCU作为主控部分起决定性作用。本小车还可进行远程视频传输监控,远程遥控。
  • ¥ 20

    22
    16

    电赛国家一等奖-滚球控制系统电路/代码分享,恩智浦智能车光电...

    本设计是获得2017电子设计大赛B题国家一等奖的滚球控制系统,该设计运用ov7725摄像头,oled显示图像,动态分段pid控制两个舵机,从而实现小球的运动。滚球控制系统是一个复杂的非线性动力学系统,是经典控制对象球杆系统的扩展,同时也可以作为一种具有典型非线性特征的试验平台,可以对非线性控制理论及控制算法进行检验。由于滚球控制系统中的多变量强耦合、参数不确定性、视觉反馈与传动机构滞后、小球与平板之间有摩擦以及外界随机干扰等一系列非线性因素的存在,给板球系统的分析与建模、控制系统设计与实现带来严峻挑战。本次设计的滚球系统以 K60 微控制器为核心控制单元,通过人眼摄像头采集小球的信息,使用动态 PID控制算法调节转向舵机的角度,实现了对小球运动速度和运动方向的双闭环控制,达到了小球的准确定位和轨迹控制。滚球控制系统视频演示:https://v.youku.com/v_show/id_XMzAxMDUyNzY2OA==.htm...滚球控制系统源码截图:部分源码展示:/********************************************************************/#include "common.h"#include "include.h"#include "OLED.h"/*********************************************************/uint8 imgbuff[CAMERA_SIZE]; //定义存储接收图像的数组uint8 img[CAMERA_W*CAMERA_H]; //摄像头解压数组/*坐标定位数据*/uint8 x1=21,x2=40,x3=58;uint8 x4=20,x5=40,x6=59;uint8 x7=22,x8=40,x9=58;uint8 y1=10,y2=10,y3=11;uint8 y4=29,y5=29,y6=29;uint8 y7=48,y8=48,y9=47;uint8 squ_x1=30,squ_x2=50;uint8 squ_x3=30,squ_x4=50;uint8 squ_y1=20,squ_y2=20;uint8 squ_y3=40,squ_y4=40;/*白板边界初始化*/uint8 img_init_flag=0; //初始化变量uint8 img_init_x_min=0; //横轴最小值uint8 img_init_x_max=79; //横轴最大值uint8 img_init_y_min=0; //纵轴最小值uint8 img_init_y_max=59; //纵轴最大值uint8 img_x=40; //扫描横坐标10uint8 img_y=30; //扫描纵坐标uint8 ball_x=40; //球心横坐标uint8 ball_y=30; //球心纵坐标uint8 ball_x_set=22; //目标球心横坐标uint8 ball_y_set=48; //目标球心纵坐标uint8 ball_loca=1; //路径变量uint8 mission_flag=0; //任务标志uint32 mission_clock=0; //任务时钟/**********************舵机******************************//*动态 D*/uint8 KD_zone=2;uint32 KD_max=500,KD_min=200; //动态 D/*PID*/uint32 KP_A=10,KP_B=140,KD_X,KD_Y;//舵机 PID/*死区控制*/uint32 DJ_zone=0; //死区控制/*摆幅限制*/uint32 DJ_min=700; //舵机最小摆幅uint32 DJ_max=3000; //舵机最大摆幅/*舵机中值*/uint32 DJ_midpoint_x=8200; //舵机中值 xuint32 DJ_midpoint_y=8374; //舵机中值 y/*舵机变量*/uint64 DJ_x_PWM=8300; //输出 PWMuint64 DJ_y_PWM=8374; //输出 PWMuint32 DJ_maxpoint_x=2000; //舵机限幅_xuint32 DJ_maxpoint_y=2000; //舵机限幅_y/*******************************************************/

    DIY创意产品 ??? 发布时间: ??? 电赛 k60 pid控制 ov7725 滚球控制

tracer ??