机器人中的强力扭矩感知:应用,传感器和开始
机器人强力扭矩传感的实用指南: 5个关键应用,传感器选择指南,ROS2集成教程,入口控制的基本原理,以及F/T传感器如何实现接触丰富的操纵.
视觉告诉机器人东西在哪里. 扭矩感知告诉它它它在推力,拉力和挤压有多难. 对于接触丰富的操纵 - - 组装,插入,抛光,协作任务 - - F/T感知不是可选的.它是分离机器人能够处理微妙的组装的机器人, 这本指南涵盖了应用程序,硬件和集成步骤,
强力矩感测的措施
强力扭矩传感器 (F/T) 测量机器人的一个点上的机械负载的六个组件:沿每一个卡特西亚轴线的三种线性力 (Fx, Fy, Fz) 和周围每个轴的三种扭矩 (Tx, Ty, Tz).这些六种值一起形成一个
大多数F/T传感器安装在手腕上 - - 在最后的手臂链接和[终端效应器]
虽然一些现代武器 (Franka Emika, Kuka iiwa) 提供了粗
应用 1: 插入孔和精确插入
通过F/T传感器,机器人可以执行搜索模式:在监测侧面力量时,将
同样的原则适用于连接器配对,快速配合组装,螺丝插入以及机器人必须引导部件进入有限几何学的任何任务.F/T传感器将这些变化从"没有微米校准是不可能的"到"具有标准硬件的可靠性".
应用 2:表面后续和抛光
表面后面需要机器人在追踪路径时保持对表面的恒定接触力 - - 用于抛光,
通过F/T传感器,一个接入或阻力控制器不管表面几何学如何保持所需的正常力.控制器读取电流力,计算与所需的力设置点相比的错误,并调整机器人的位置以减少错误.在500-1000Hz的控制速度下,即使在曲线或不规则的表面上,也会产生平稳,一致的接触. 根据路径的设定点,可以适应不同的表面要求. 薄部分的力较轻,厚部分的力较重.
应用程序3:人与机器人合作
与人类共享工作空间的协作机器人 (共机器人) 必须检测到意外接触并安全响应. 电磁传感器可实现两项关键的安全功能:碰撞检测 (意外的力
手指导也用于动力学教学 - 操作员在系统记录运动时,物理地通过任务轨迹移动机器人.F/T传感器区分了故意指导力 (光滑,方向性) 和偶然接触力 (突然,随机),使系统能够过
应用 4: 电操作力反
在双边电操作系统中,跟踪机器人的手腕F/T传感器测量了与环境相互作用的力量,并将它们传输到领导设备,在那里它们作为触觉反
通过F/T启用的远程操作,为[模拟学习]
应用第5:把握质量监测和滑坡检测
手腕F/T传感器可以实时监测抓紧稳定性.抓紧器关闭对象后,F/T信号显示抓紧是否安全 (稳定力配置),滑动 (振荡或漂移的力量),或即将失败 (力接近摩擦
滑梯检测对于对不确定的摩擦特性 (湿,油性或滑滑表面) 的物体进行处理以及物体在运输过程中受到外部力量的操纵任务 (重量分布转移的堆叠物体,插入力在抓住部分作用的组件) 尤其有用.
传感器选择指南
选择合适的F/T传感器需要平衡四个因素:测量范围,分辨率,带宽和成本.
测量范围定义传感器可以测量最大的力和扭矩,而不会受到损害.一个具有太小的范围的传感器在正常运行过程中会
分辨率确定传感器可以检测到最小的变动力.对于精确的组装任务 (紧张的清除率) 需要0.1N或更好的分辨率.对于碰撞检测和粗
带宽决定传感器能够报告新读数的速度.对于接触检测和碰撞监测, 1 kHz或更高的带宽是理想的 - 接触事件发生在毫秒内,而100 Hz传感器可能会错过过过时冲击.对于被控制的表面跟踪和稳定状态任务,100-500 Hz通常是足够的.
成本很大.ATI Mini45和Mini85 (研究金标准) 价格取决于范围和界面为3000美元至7,000美元,但提供了极好的精度,7kHz带宽和广泛的文档.Robotiq FT 300-S价格为2000美元至3000美元,带宽较低,但更容易的USB/Ethernet集成和本土ROS支持. 对于预算有限的研究,来自博塔系统 (约合1500美元至3000美元) 和瓦科科技的新型传感器在成本较低的点提供了坚实的性能.
电磁传感器规格比较
| Sensor | Force Range | Resolution | Bandwidth | Noise (RMS) | Interface | Price |
|---|---|---|---|---|---|---|
| ATI Mini45 | +/-145 N (Fxy), +/-290 N (Fz) | 0.025 N | 7 kHz | 0.05 N | EtherCAT, Net F/T (Ethernet) | $4,000-5,500 |
| ATI Gamma | +/-65 N (Fxy), +/-200 N (Fz) | 0.0125 N | 7 kHz | 0.02 N | EtherCAT, Net F/T | $5,000-7,000 |
| Robotiq FT 300-S | +/-300 N | 0.2 N | 100 Hz | 0.5 N | USB, Ethernet, Modbus | $2,000-3,000 |
| OnRobot HEX-E | +/-200 N (Fxy), +/-500 N (Fz) | 0.2 N | 1 kHz | 0.3 N | Integrated (tool changer) | $2,500-4,000 |
| Bota Systems SensONE | +/-200 N | 0.1 N | 800 Hz | 0.15 N | EtherCAT, USB | $1,500-3,000 |
对于模仿学习数据收集的研究实验室,ATI Mini45是首选的默认设备:其7kHz带宽捕捉到较低带宽传感器缺少的接触过渡性,噪音水平足以进行精确组装注释. 博塔系统SensONE提供了ATI级性能和Robotiq级价格之间的良好中间路线.
校准程序
适当校准是提供可操作数据的F/T传感器和增加噪音的控制循环之间的区别.
1.零对冲校准: 没有任何东西连接到传感器 (或只使用已知的终端效应器),记录传感器输出.该基线读数应从所有随后的测量中减去.在每个会议开始时进行零对冲,因为传感器对冲波动温度 (通常每度C 0.01-0.1 N). 放电器在校准之前让传感器加热10分钟.
2.重力补偿: 抓紧器和任何附加的工具的重量会产生与臂的方向不同的重力
3.跨轴检测: 独立地在每个轴上应用已知力 (使用Fz的字符串上加利布重量,Fx/Fy的弹
输出数据的信号处理
原始F/T传感器数据包含机械振动,电动干扰和量化的噪音.对实时控制和离线数据分析来说,适当的过
低通行过
**移动平均:**对于相间延迟不可接受的应用 (碰撞检测),使用因果移动平均,而不是IIR过
**接触检测门
联系国家估计
超出了简单的接触检测,F/T数据可以估计接触状态 - - 无论接力器是否在空中,进行初始接触,在稳定的抓住,滑动或堵塞.
- 机器人可以以全速移动.
- 机器人应降低速度,转向合规控制.
- 稳定接触:****F 时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时时
- 滑动:** 侧力 (Fx, Fy) 振荡,正常力 (Fz) 降低. 表示抓住力失败.增加抓住力或中止和重新抓住.
:** 强力大小快速增加 (dF/dt >> 0) 没有相应的机器人运动.终端效应器卡住.沿着强力向量反转运动方向,以解 .
通过过
标签: 招生控制, 通过F/T反
# admittance_controller.py — ROS2 node for basic admittance control
import rclpy
from rclpy.node import Node
from geometry_msgs.msg import WrenchStamped, TwistStamped
import numpy as np
class AdmittanceController(Node):
def __init__(self):
super().__init__('admittance_controller')
# Admittance gains (compliance): higher = more compliant
self.M = np.diag([5.0, 5.0, 5.0, 1.0, 1.0, 1.0]) # virtual mass
self.D = np.diag([50.0, 50.0, 50.0, 10.0, 10.0, 10.0]) # damping
self.F_desired = np.array([0, 0, -5.0, 0, 0, 0]) # desired wrench (5N push in -z)
self.vel = np.zeros(6)
self.sub = self.create_subscription(
WrenchStamped, '/ft_sensor/wrench', self.wrench_cb, 10)
self.pub = self.create_publisher(
TwistStamped, '/servo_node/delta_twist_cmds', 10)
self.timer = self.create_timer(0.01, self.control_loop) # 100 Hz
self.current_wrench = np.zeros(6)
def wrench_cb(self, msg):
w = msg.wrench
self.current_wrench = np.array([
w.force.x, w.force.y, w.force.z,
w.torque.x, w.torque.y, w.torque.z])
def control_loop(self):
dt = 0.01
F_error = self.F_desired - self.current_wrench
# Admittance: M * a + D * v = F_error
acc = np.linalg.solve(self.M, F_error - self.D @ self.vel)
self.vel += acc * dt
# Publish velocity command
msg = TwistStamped()
msg.header.stamp = self.get_clock().now().to_msg()
msg.twist.linear.x = float(self.vel[0])
msg.twist.linear.y = float(self.vel[1])
msg.twist.linear.z = float(self.vel[2])
msg.twist.angular.x = float(self.vel[3])
msg.twist.angular.y = float(self.vel[4])
msg.twist.angular.z = float(self.vel[5])
self.pub.publish(msg)
这种基本接入控制器读取F/T钥匙,计算相对于所需的钥匙的力错误,并输出符合接触力的速度命令.
越来越多的考虑
传感器必须在手臂
传感器电缆是精度仪器,拉着它们或允许它们在臂部运动中
装配后,执行重力补偿校准:将臂移到几个方向并记录F/T读数来计算抓住器组件的重力关键.将此关键从所有随后的读数中减去以隔离相互作用力.大多数F/T ROS2驱动器都包括重力补偿作为标准特征.
合ROS2:开始
标准的ROS2接口用于F/T传感器使用了关于主题 (通常是T4
对于ATI传感器,
在ROS2中,一个基本的入口控制循环读取F/T钥匙,计算出与力错误 (所需力减量力) 相比例的速度纠正,并将纠正的速度命令发送给手臂控制器.控制法是:速度 =获取 * (F__所需 - F_测量). 增长矩阵 (所有轴的6x6) 决定了合规性--高增长意味着机器人以响应力而移动更多,低增长意味着更硬的行为.从低增长开始,逐渐增加,直到你达到无波动的所需的合规性.
对于学习操纵政策,包括F/T钥匙作为一个额外的观察
传感和数据收集
在收集接触丰富任务的示范数据时,记录F/T数据是必不可少的.在成功插入或组装期间的力配置包含摄像头图像无法捕获的信息 - - 接触力的进展,对齐的时刻,成功的快速适应的力签名. 基于F/T观察训练的政策在接触丰富的任务上,经常超过视觉单独的政策,任务成功率通常为30-50%.
据了解,RCSV的数据收集站包括 ATI Mini45 F/T传感器,在每个机器人手臂的手腕上,F/T数据与相机和联合状态同时记录在500Hz.这种记录速度捕获了接触过渡者,这些数据对于学习接触丰富的行为至关重要.F/T数据包括在所有支持格式的标准数据集出口中.
开始使用力扭矩感知
对于探索接触丰富的操纵的团队来说,F/T传感是一个高
通过我们的 [机器人租
相关: 机器人抓紧器指南 · 力矩感知 (词典) · 机器人摄像头设置 · 机器人学习与经典控制 · 硬件目录







