基于PID的树莓派控制二自由度舵机人脸追踪云台设计

这篇具有很好参考价值的文章主要介绍了基于PID的树莓派控制二自由度舵机人脸追踪云台设计。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

人脸追踪云台的设计

一、舵机控制概述

  1. 脉冲宽度与舵机转角:
    在脉冲信号频率50Hz的条件下输入的脉冲信号宽度和舵机转角的对应关系图以如图1.所示,该转角的计算公式如下。树莓派端通过占空比信号对舵机进行角度控制,将该占空比信号通过树莓派端传输给PCA9685芯片来控制舵机,实现追踪人脸的动作。
    基于PID的树莓派控制二自由度舵机人脸追踪云台设计,单片机,嵌入式硬件
图1. 脉冲宽度与舵机转角的关系

脉冲数与转动角度的计算公式为:
( ( A n g l e ∗ 11 ) + 500 ) / 20000 = P u l s e n / 4096 ((Angle*11) + 500)/20000{\rm{ }} = {\rm{ }}Puls{e_n}/4096 ((Angle11)+500)/20000=Pulsen/4096

  1. PID算法概述:
    本设计的舵机云台控制采用PID控制算法,其是自动控制原理中比较经典的控制算法,控制流程图如下:
    基于PID的树莓派控制二自由度舵机人脸追踪云台设计,单片机,嵌入式硬件
图2. PID控制算法流程图

本设计采用省去积分环节 K i K_i Ki(即令 K i K_i Ki=0) 的位置式PID来进行控制,其公式如下:
 Output  = K p ∗ e k + K i ∑ j = 0 k e j + K d ( e k − e k − 1 ) = K p ∗ e k + K d ( e k − e k − 1 ) \begin{aligned} \text { Output } &=K_{p} * e_{k}+K_{i} \sum_{j=0}^{k} e_{j}+K_{d}\left(e_{k}-e_{k-1}\right) \\ &=K_{p} * e_{k}+K_{d}\left(e_{k}-e_{k-1}\right) \end{aligned}  Output =Kpek+Kij=0kej+Kd(ekek1)=Kpek+Kd(ekek1)


二、人脸追踪控制方法

  1. 位置坐标更新:
    开机后,将摄像头捕捉的视频帧通过Haar级联分类器进行人脸定位,得到人脸左上角在整体图像中的位置坐标,再通过该坐标来计算出人脸中心点坐标并记录。
  2. PID计算程序:
    将程序上一循环记录的人脸中心点坐标与当前最新的坐标进行求差,分别得到x轴、y轴的坐标误差量thisError_x、thisError_y并记录,结束完本次运算(公式如下图)后再当作程序下轮循环的前次误差值lastError_x、lastError_y,最后将计算结果传给舵机执行,本设计中 K p K_p Kp K d K_d Kd的值均设置为7。
    基于PID的树莓派控制二自由度舵机人脸追踪云台设计,单片机,嵌入式硬件
图3. 舵机动作的PID计算程序
  1. 舵机的GPIO控制:
    PCA9685中A0-A5为片选地址端,当串联芯片时用来选择确定控制哪一片。将输出使能端OE接地,表示使能控制芯片;EXTCLK为外部时钟信号端口,可以连接树莓派芯片并保持与其时钟同步;将I2C总线的时钟信号线(SCL)和数据线(SDA)连接树莓派端的对应IO口,在PCA9685的控制寄存器06h~45h地址上写入低8位、高8位共16位的数据来控制输出16路PWM信号(LED0-LED15)开关。各个输出端口都配有一个精度为12位的计数器,可将每个计数周期划分为 2 12 2^{12} 212=4096份;最终再通过控制两个通、断寄存器获得想要的脉冲宽度从而控制舵机转动角度来追踪人脸。

基于PID的树莓派控制二自由度舵机人脸追踪云台设计,单片机,嵌入式硬件文章来源地址https://www.toymoban.com/news/detail-635692.html

图4. PCA9685舵机控制器电路

到了这里,关于基于PID的树莓派控制二自由度舵机人脸追踪云台设计的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 78、基于STM32单片机学习型搬运机器人四自由度机械臂机械手遥感控制设计

    毕设帮助、开题指导、技术解答(有偿)见文末。 目录 摘要 一、硬件方案 二、设计功能 三、实物图 四、原理图 五、PCB图  六、程序源码 七、资料包括  在当今大规模制造业中,企业为提高生产效率,保障产品质量,普遍重视生产过程的自动化程度,工业机器人作为自动

    2024年02月09日
    浏览(52)
  • Matlab/Simulink六自由度机器人运动学与控制系统仿真(一)【附源文件】

    本文章为系列文章,以IRB1600机器人为例,建立机器人正运动、逆运动学、控制系统模型,并在simulink中进行仿真,与理论计算结果进行对比验证 (一) irb1600机器人坐标系建立、正运动学计算与simulink验证 (二) 机器人逆运动学计算 (三) 机器人运动学控制系统仿真 本文以

    2024年01月16日
    浏览(63)
  • 88、基于STM32单片机学习型搬运机器人四自由度机械臂机械手遥感控制设计(程序+原理图+PCB源文件+参考论文+硬件设计资料+元器件清单等)

    单片机主芯片选择方案 方案一:AT89C51是美国ATMEL公司生产的低电压,高性能CMOS型8位单片机,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大。其片内的4K程序存储器是FLASH工艺的,这种单

    2024年02月13日
    浏览(62)
  • 【数学建模】基于matlab船舶三自由度MMG模型【含Matlab源码 1925期】

    获取代码方式1: 完整代码已上传我的资源:【数学建模】基于matlab船舶三自由度MMG模型【含Matlab源码 1925期】 点击上面蓝色字体,直接付费下载,即可。 获取代码方式2: 付费专栏数学建模(Matlab) 备注: 点击上面蓝色字体付费专栏数学建模(Matlab),扫描上面二维码,付

    2024年02月06日
    浏览(41)
  • 六自由度JAKA机器人基于视觉的多颜色方块抓取(色块颜色识别、坐标提取、旋转角度提取)

    目录 一、任务描述 二、视觉处理方案(重点) 2.1 图像标定与单应性矩阵计算 2.2 目标坐标与旋转角度提取 三、运动控制方案 四、结果讨论 五、完整代码(无控制底层)         基于JAKA ZU3机器人平台与固定位置的彩色相机(非垂直),完成不同颜色木块的识别与抓取

    2024年02月02日
    浏览(97)
  • 关于矩阵的自由度DOF的理解

    自由度,英语名Degrees of freedom,简写DOF。在学习SLAM的过程中多次看到自由度的概念,网上看有关于自由度的解释都过于抽象难以理解。先给出 自由度比较好理解的定义 : 自由度是n个变量在某个(些)约束下,能够自由变化的最多变量个数m为该约束下的自由度 自由度是用约

    2023年04月16日
    浏览(49)
  • 【自动驾驶】二自由度车辆动力学模型

    车辆数学模型 车辆模型-动力学模型(Dynamics Model) 我们作如下假设: 车辆所受的空气的力只会对车身坐标系x轴方向上的运动有影响,y轴方向和沿着z轴的旋转不会受到空气力的影响; 车辆运行在二维平面中,也就是z轴无速度。 车辆轮胎力运行在线性区间。 在运动学模型中,

    2023年04月12日
    浏览(56)
  • 【OpenMV+STM32】PID控制二维自由舵机色块追踪

    1、芯片:STM32F407ZGT6 2、CubeMX 3、KEIL5 4、OpenMV  5、舵机         利用由两个自由舵机组装而成的二维云台来控制OpenMV的位置,以实现追踪指定阈值色块的效果。 3.1 初始化配置 3.2 定时器配置(PWM波输出)         这里我使用TIM3的通道1和TIM4的通道1分别实现对两个舵机

    2024年03月19日
    浏览(49)
  • matlab 汽车动力学操控稳定性三自由度

    1、内容简介 略 34可以交流、咨询、答疑 2、内容说明 •1、汽车车速不变 。 •2、不考虑切向力对轮胎特性的影响。  •3、侧向加速度不大于0.3-0.4g 。 •4、前轮转角不大,不考虑前轮左右的区别。  •5、不考虑非悬架质量的倾角。 •6、不考虑空气动力作用。 •7、侧倾

    2024年01月18日
    浏览(39)
  • UnityVR--机械臂场景6-三自由度逆向解算1

    本文我们要做的是:给机器人一个末端坐标,使机器人自动调整姿态。为了使问题简单易懂,我们先以2自由度(XY平面中)的机器人为例,如下图为2自由度机器人的连杆机构模型。  其中P为末端点即手爪的位置,坐标为(x,y);L1、L2分别为两个手臂的长度,θ1、θ2分别为两

    2024年02月06日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包