■ 实验背景说明
在 两轴机械臂+机械爪整体控制板设计与机械爪控制调试 中的机械臂安装有 舵机控制的机械爪 。在机械爪上安装有 FSR压力传感器 来感应机械爪在抓取试剂瓶时的压力。在 两轴机械臂+机械爪整体控制板设计与机械爪控制调试 中已经获取了 机械爪距离 与FSR压力之间的曲线关系。下面给出了其中一张典型的曲线关系图。
▲ 设置舵机的指令与读取FSR的AD值
可以看到通过FSR的反馈信号在一定程度上可以反映出机械爪对于夹持物品的压力。但由于机械爪(塑料制件)中存在着较大的摩擦和装配间隙,使得反馈的压力值具有很大的波动。
▲ 机械爪抓取试剂瓶的实验
本文通过进一步实验,目标获得:
- 稳定的机械爪抓持控制算法;
- 测试抓取同一物品的稳定性和精度问题。
01实验过程
1.抓取中型试管过程
(1) 圧力曲线
▲ 抓取中型试管过程FSR采集过程
(2) 抓取过程
▲ 抓取粗试管压力测试
2.抓取小型试管过程
(1) 圧力曲线
▲ 抓取小型试管的曲线
(2) 抓取小型试管过程
▲ 抓取小型试管过程
通过上面测试过程可以看到如果抓取过程压力低于850(经验结果),便可以终止抓取过程。
02抓取子程序
对于不同直径的试管,抓取压力的情况不同。
测试结果非常奇怪:
- 反而是直径小的试管在同样的舵机设置命令下所产生的压力更小。
这部与薄膜压力传感对于表面压力所感受的绝对压力、平均压强之间的关系并不是呈现线性。也就是在局部压强大了,反而会出现更大的相应。
※ 结论
- 采用压力反抗确定夹持力量不太稳定。还是采用最大舵机行进命令可以保证夹持的最终的效果;
- 采用压力传感器可以判断是否抓取了试管。
■ 相关文献链接:
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# TEST1.PY -- by Dr. ZhuoQing 2020-09-13
#
# Note:
#============================================================
from headm import *
from tsmodule.tsstm32 import *
gifid = 8
tspgiffirst(gifid)
pressdim = []
for i in range(100):
setservo = 1000 + i * 12
stm32cmd('servo %d'%setservo)
time.sleep(.5)
tspgifappend(gifid)
pressdim.append(stm32memo(1))
printff(i, setservo)
stm32cmd('servo 1000')
plt.plot(pressdim)
plt.xlabel("Sample")
plt.ylabel("Pressure")
plt.grid(True)
plt.tight_layout()
plt.show()
tspsave('pressdata', press=pressdim)
printf('\a')
#------------------------------------------------------------
# END OF FILE : TEST1.PY
#============================================================