关于图像的奇偶行错位校正问题

泪点低笑点低 2020-06-19 10:37:38
最近碰到了一个问题,想请教一下各位大神们。
问题背景

位移台X-Y运动,编码器(100p/r)+数据采集卡,编码器装在位移台步进电机轴上。编码器A相输出作为数据采集卡的触发时钟(A相上升沿),以前仅仅在单程运动采集数据。现在改进一下,变成来回都采集数据。如下图所示,(一)1-2同步运动采集数据,向上位移后,3-4返回,重复循环。(二)1-2运动采集数据,向上位移后,3-4同步运动采集。具体路径如下

原因及实验结果

出现了图像错位现象,开始以为是上位机程序的原因,后来才发现是编码器的原因。编码器接在电机轴端,(一)未出现错位是因为电机1-2 和3-4刚好对称。3-4走完之后,电机回到了初始角度再走下一个1-2也就是5-6,也就是说1-2阶段和5-6阶段编码器发出的脉冲一致。 对于(二),电机走完了1-2采集数据,走3-4也采集数据。(这里简称奇数行偶数行)这时候电机带动编码器旋转,初始位置不相同,导致了奇数行与偶数行编码器输出的脉冲存在一个相位差,便造成了偶数行与奇数行采样点的整体错位。
实验结果如下,左边是改进得到的图,右边是应该得到的效果图

奇数行与偶数行存在一个错位,同时奇数行与奇数行对应,偶数行与偶数行对应。我拿了几行画了几个图看看,每两行的错位量存在差异。

硬件方面,开始想过整个电路,把秒冲相位调整一下的,感觉不好弄就没试。
软件方面,以奇数行为基准,求出每个偶数行的错位,再进行补偿。关于这个错位量,本来是想把奇偶数行的峰值相对应点的位置拿出来,在做差,得到错位量。但是发现有些奇偶数行相邻波峰没有其他波峰值大,如上图的17、18行。于是这个办法好像不行。
想问下铁汁们,这个错位量该怎么求,找了个文献,关于毫米波的,看起来好难...
...全文
535 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
schlafenhamster 2020-07-03
  • 打赏
  • 举报
回复
"正反转的误差" 应该不存在,否则 位置就会不对 !
上次 停止位置多走的 位置(相位),在 反转 时 先被 退了回去 ,然后再计数!
schlafenhamster 2020-07-02
  • 打赏
  • 举报
回复
搜索
ab相编码器4倍频
泪点低笑点低 2020-07-02
  • 打赏
  • 举报
回复
引用 11 楼 schlafenhamster 的回复:
搜索 ab相编码器4倍频
老哥,我看了下4倍频,这样可以让编码器的精度提高4倍。如果我采集卡接一个4倍的TTL波的话,确实是可以减少正反转的误差。就跟我以前跟老师说换一个精度高的编码器,我这编码器才100p/r。
泪点低笑点低 2020-07-01
  • 打赏
  • 举报
回复
引用 8 楼 zgl7903 的回复:
如果采集没有丢脉冲的话, 可以试试 正转上升沿触发, 反转下降沿触发
这个我之前试过了但是好像效果不怎么好,我就没往这方面想了。理论上看脉冲,去程的上升沿应该就是回程的下降沿。
schlafenhamster 2020-06-30
  • 打赏
  • 举报
回复
搜索
编码器正反转的识别
zgl7903 2020-06-30
  • 打赏
  • 举报
回复
如果采集没有丢脉冲的话, 可以试试 正转上升沿触发, 反转下降沿触发
泪点低笑点低 2020-06-30
  • 打赏
  • 举报
回复
引用 6 楼 schlafenhamster 的回复:
区分 正反 转 后 ,计脉冲 个数 与初相位 无关
可是采集卡触发脉冲用的都是A相上升沿触发,电机正转再反转的时候,这个电机的初始位置对脉冲的相位有一定角度影响吧.....学渣一枚,不懂就来这里问了
schlafenhamster 2020-06-30
  • 打赏
  • 举报
回复
区分 正反 转 后 ,计脉冲 个数
与初相位 无关
schlafenhamster 2020-06-29
  • 打赏
  • 举报
回复
编码器 是 用 差 90度 的 A B 两 相 脉冲 来 区分 正反 转的
泪点低笑点低 2020-06-29
  • 打赏
  • 举报
回复
弄了个算法,勉强能看吧
泪点低笑点低 2020-06-29
  • 打赏
  • 举报
回复
我知道呢,就是因为两个行程里,编码器正反转初始角度不一样,发出脉冲的初相位不一致,才造成了这个结果的。
泪点低笑点低 2020-06-28
  • 打赏
  • 举报
回复
每两行的错位量都不太一样。好像这个问题不太常见,我在这上面跟github里也没找到类似奇偶行错位校正的代码
bluesen 2020-06-22
  • 打赏
  • 举报
回复
感觉错位是不均衡的,中间的错位大,两边的错位少。据此进行修正应该可以

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧