基于二轴云台目标跟踪系统设计

文章目录

  • 前言
  • 机器学习之前的目标检测研究
  • 一、系统总览
    •  

      上位机及其功能

    • 下位机及其功能

  • 二、基本方案设计
    •  云台结构设计
    • 机器视觉运算需求分析
  • 三、目标识别算法与跟踪算法
    •  

      运用HOG特征结合SVM的目标识别和跟踪算法

    • 改进的HOG+CamShift跟踪算法

    • YOLOv3目标检测

  • 四、云台跟踪控制

    •  

      PID算法及改进

    • 串口通讯协议


前言

文本简述一个基于二轴云台的目标跟踪系统的设计思路,并在之后会实践记录。

机器学习之前的目标检测研究:

  • 模板匹配:计算目标图像部分区域与模板图像的相似度,存在检测阈值。

  • 全局特征:通过颜色、轮廓形状等方式识别

  • 局部特征:图像ROI(兴趣区域)的部分特诊

  • 图像帧差:对图像相邻帧做差分运算,来获得目标轮廓,适用于背景变化小的环境。

基于云台的目标识别算法的要求:

  • 准确性

  • 实时性

  • 正确性

一、系统总览

整个系统分为硬件层、驱动层、操作系统层。

·上位机及其功能:

STM32F427控制电路作为移动平台的主要硬件控制电路,主要功能:

  • 集成电压模块为系统提供电源

  • 与底盘电机电调通信控制电机

  • 与二轴云台通信控制云台

  • 位姿解算和位姿信息显示

  • 与上位机Jetson nano或PC串口通信

·下位机及其功能:

Jetson nano主控板或PC负责上层算法并进行信息传输,主要功能有:

  • 将接受的平台控制信息串口传输到STM32控制电路。

  • 驱动工业相机获取图像。

  • 解算跟踪目标所需的控制信息,串口发送给STM32控制电路,控制云台的目标跟踪运动。

二、基本方案设计

云台结构设计:

采用二轴云台,控制偏航角(Yaw)和俯仰角(Pitch)两个自由度。同时还需要姿态控制,IMU采用MPU6050,云台电机采用RM6020,CAN通信。

机器视觉运算需求分析:

摄像头要满足像素高、色彩还原度高、帧率高。嵌入式系统由于需要大量的系统资源,需要GPU加速,可以采用Nvidia的Jetson TX2,拥有256颗CUDA核心(Jetson nano只有128颗CUDA核心)。但总体来说需要对工业相机的选择,算法的优化,GPU加速均有关系。

三、目标识别算法与跟踪算法

  • 运用HOG特征结合SVM的目标识别和跟踪算法

    HOG(Histogram of Oriented Gradient,方向梯度直方图)特征,算法思想是通过提取图像中局部目标及轮廓的梯度方向来区分目标和背景。过程如下:

    • 灰度化,三通道转化为一通道

    • 高斯滤波,平滑图片

    • γ矫正处理,图片过暗,可以拉高图像整体亮度,调整图像亮度平均

    • 梯度运算,分别得到纵向和横向梯度,统计每个cell单元的梯度直方图。

    • 将图像划分为多个Block,提取到的目标HOG特征数据统计,具有易于向量分类的特征。

    SVM分类器(Support Vector Machine,支持向量机),属于有监督学习算法。

  • 改进的HOG+CamShift跟踪算法

    CamShift算法是一种视频图像序列算法,以颜色直方图为特征进行,对图像序列做MeanShift运算,选出初始目标的预测框尺寸和位置信息,作为后一帧图像搜索窗口的初始值,实现跟踪。

    CamShift算法流程

    • 颜色空间转换,RGB到HSV,只需要H分量。

    • 计算反向投影,算出对应概率

    • 计算搜索框质心

  • YOLOv3目标检测

    优势:准确率高,帧率高,性能好。

    • 推荐采用yolov3,在darknet框架下。

    • 自制数据集

    • 移植到linux系统或者ros系统

此方法详情可查看:

​​​​​​Darknet——yolo3训练自己的数据集+在ros环境下实现目标检测实战教程(二)——训练自己的权重文件

四、云台控制跟踪

 

  • PID算法及改进

    • 比例控制:考虑当前误差

    • 积分控制:消除稳态误差

    • 微分控制:考虑将来的误差,预测变化

      • 添加死区控制,即电机实际转速与目标转速在设定的死区范围,就无需PID控制,避免震荡情况。

      • 增量式PID算法由于积分项的截断效应大,容易产生静态误差,同时避免超调现象,偏差对积分项进行分段处理。

  • 串口通讯协议

    • 包含

      帧头8bit
      模块8bit
      数据识别位8bit
      数据字节数8bit
      数据段0-255bit
      丢包检测8bit
      校验位crc16
    • 发包:上层将目标检测之后的预测框,以图像中心为原点,将X,Y坐标,宽度,高度封装成数据包发送给下位机,以发出的包数与收到的包数计算丢包率。

    • 解包:先判断帧头数据识别位数据字节数,然后取出高低位进行CRC校验,帧结尾的CRC校验是对一帧数据进行冗余校验的结果,检测数据传输的正确性。

  • 7
    点赞
  • 93
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
本文介绍一种基于单片机的双轴云台控制系统设计,该系统主要用于控制云台的两个轴,实现云台的旋转和俯仰运动,以实现对相机或其他载荷的精确定位和跟踪。 系统硬件设计系统的主要硬件包括单片机、电机驱动模块、陀螺仪、加速度计和云台机械结构等。 单片机:本系统采用STM32F103C8T6单片机,其具有高性能、低功耗、易于编程等特点,可满足云台控制的要求。 电机驱动模块:本系统采用了两个L298N电机驱动模块,分别控制云台的两个电机。 陀螺仪和加速度计:本系统采用MPU6050六轴传感器模块,可实现对云台的姿态角度测量和控制。 云台机械结构:本系统采用铝合金材料制作云台机械结构,可支持相机或其他载荷的固定和旋转。 系统软件设计系统的软件设计主要包括姿态角度测量和控制、电机控制和通信等模块。其中,姿态角度测量和控制模块采用了卡尔曼滤波算法,可实现对云台的精确控制。电机控制模块采用PID控制算法,可实现对云台的平稳运动。 通信模块采用了串口通信协议,可实现与上位机的数据传输和控制。 系统性能测试 经过实际测试,本系统可以实现云台的平稳运动和精确控制,姿态角度测量误差小于1度,电机控制精度达到0.1度。 结论 本文介绍了一种基于单片机的双轴云台控制系统设计,该系统可实现云台的旋转和俯仰运动,具有精确控制和平稳运动的特点,可广泛应用于相机、激光测距仪、雷达等载荷的定位和跟踪。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值