我的毕设题目初定为《基于机械臂触觉伺服的物体操控研究》,这个系列主要用于记录做毕设的过程。因为目前我还在华工本校,这个题目是哈工深导师给我定的,所以我没办法做实验,应该只能在仿真环境中进行算法验证,又或许时间足够的话,我也会考虑搭建一个简易版的实验环境。无论如何,希望能够做出一个满意的毕设作品!
触觉反馈:触觉传感器阵列提供的,在时间和空间维度都具有高分辨率和灵敏度的触觉数据信息
触觉伺服:基于触觉反馈的控制器
触觉伺服的应用任务:
正是因为相关的任务太多太杂,所以需要有一个通用的框架来统一控制,进行任务实现。
该论文基于已有的未知环境的探索方案 — Raibert’s hybrid position and force control 进行进一步的研究。
《 Tactile sensors and the gripping challenge》:定义了基于触觉的探索和识别的五个阶段:approach(接近), shape(形状), texture(质地), hardness(硬度) and thermal(热量)。
《Acquisition and interpretation of 3-D sensor data from touch》:通过操作物体去识别它,主要采用了多指机器人,先抓物体得到大致形态,再探索物体表面。突出点:跟踪线性特征,探索未知物体的表面,跟踪给点的接触位置。
《What can be inferred from a tactile arrayed sensor in autonomous in-hand manipulation?》:通过分析图像得到接触点坐标,物体姿态和接触力信息。
《 Using tactile data for real-time feedback》《Edge detection in tactile images》:通过霍夫变换拟合曲线,以此计算传感器坐标系下的受力方向。
《Efficient edge detection from tactile data》 In Proc. IROS, volume 3, 1995.:通过弹性理论获取接触的模型以及二维触觉传感器平面。
《Efficient edge detection from tactile data》 Trans. Robotics and Automation, 16(5), 2000.:提出了首个触觉伺服框架。
本论文就在上面的框架上做了两方面的改进:
- 制定了一个灵活的控制器原型,可以很好地结合不同的触觉伺服任务。
- 结合了传统的末端伺服和触觉伺服,可以提供便捷的接口来构成复杂的控制策略,以实现抓取,操作以及探测任务。
触觉传感器(tactile snesor):16 x 16的方块阵列,每个方块的边长为5mm。每个方块的测量值可以转换为12bit的数值信号(0.1 - 10 kPa)。为了得到一个粗略的力标定,可以在其线性范围内对每个方块的特征测量函数进行反演。
伺服控制任务(需要通过特征提取方法来得到以下的控制变量):
处理方式:
采用了两种方法:
基于霍夫变换的线性检测: 在灰度图像中拟合线段
图像矩分析: 提取接触区域中的主要成分
本论文提出的框架基于 《A hybrid architecture for adaptive robot control》中的control basis framework (CBF) 进一步拓展,实现了将控制任务的变量转换为机器人的关节角度
该框架的核心思想:通过定义逆雅可比矩阵
J
s
−
1
J_s^{-1}
Js−1,将触觉误差的特征向量映射至笛卡尔速度向量
V
s
V_s
Vs,然后通过CBF控制器,控制机器人的关节运动,使传感器运动到计算所得位姿。
控制目标:在接触点运动的同时,保持目标输出力。
V
s
tact
=
P
⋅
J
s
−
1
⋅
(
K
P
⋅
Δ
f
(
t
)
+
K
I
⋅
∫
Δ
f
(
t
)
d
t
+
K
D
⋅
(
Δ
f
(
t
)
−
Δ
f
(
t
−
1
)
)
)
V
s
t
a
c
t
=
J
s
−
1
⋅
Δ
f
=
(
1
1
1
0
1
1
0
1
)
⋅
(
Δ
x
s
Δ
y
s
Δ
f
Δ
α
)
\mathbf{V}_s^{\mathrm{tact}}=J_s^{-1} \cdot \Delta \mathbf{f}=\left(
P:0-1向量,用于筛选哪些控制成分需要考虑,如diag(1,1,0,0,0,0),就只考虑x,y平面的线性运动。
V
s
tact
=
[
v
s
,
ω
s
]
\mathbf{V}_s^{\text {tact }} = [\mathbf{v}_s, \mathbf{\omega}_s]
Vstact =[vs,ωs]:传感器坐标系下的运动表达。
J
s
−
1
J_s^{-1}
Js−1:将微分量映射为线性和旋转运动表达。
Δ x s , Δ y s = > v x , v y \Delta x_s,\Delta y_s => v_x,v_y Δxs,Δys=>vx,vy
Δ f = > v z \Delta f => v_z Δf=>vz
Δ y s , Δ x s = > ω x , ω y \Delta y_s,\Delta x_s => \omega_x,\omega_y Δys,Δxs=>ωx,ωy
Δ α = > ω z \Delta \alpha => \omega_z Δα=>ωz
A
d
T
g
s
=
(
R
g
s
p
^
g
s
R
g
s
0
R
g
s
)
A d_{T_{g s}}=\left(
A
d
T
g
s
A d_{T_{g s}}
AdTgs:坐标系变换矩阵,将传感器坐标系转换到世界坐标系。