如何将PID控制器应用于我的问题?Pantilt摄像机跟踪

2024-05-14 15:37:46 发布

您现在位置:Python中文网/ 问答频道 /正文

背景

我最近设计了云台相机模块,该模块利用步进电机控制相机运动,Jetson Xavier NX用于物体识别

工作流程很简单:

  1. 用Python编写的程序正在分析视频输入并查找对象
  2. 当找到对象时,它计算图像中心和对象位置之间的差异(在X轴和Y轴上),并启用电机
  3. 当物体远离中心时,它会为马达设定更大的速度。当它关闭时,它以最低速度运行电机

重要提示:该程序不知道屏幕上的距离与步进电机到中心的步数之间的关系。它只需启动步进电机并不断检查,直到中心和对象之间的差异非常小。也许这个方法是错误的

问题

我读过关于应用PID控制器解决这类问题以最小化偏差的文章,但我不明白如何在我的情况下应用。当有一个我们想要达到的绝对值(比如伺服电机的角度)时,这似乎更简单。PyImageSearch.com提供了一个很好的例子,说明如何使用PID控制器来最小化基于云台模块的伺服电机的偏差。PID控制器根据当前误差(对象位置和相机帧中心之间的差异)不断计算角度值,并调整角度

问题

我想问一下,当我只有速度变量来控制电机,而不是像伺服系统那样的角度时,我如何考虑PID控制器(如果可能的话)

也许我必须改变它的工作方式,并实施的功能,这将给我有关当前步进电机位置的信息(如伺服角度)


Tags: 模块对象程序利用控制器差异中心pid

热门问题