零、安全守则
在使用Robotiq F/T 300-S力矩传感器之前,首先需要阅读说明书了解一些守则,不然容易损坏机械臂。(下面的安全约束只针对 F/T 300-S力矩传感器,其他传感器请自行看说明书)
- 输入电压24V(最大不超过10%)
- 输入电流0.6A(最大不超过1A,否则保险丝会熔断)
- 力测量范围Fx,Fy,Fz在[-300N,300N]
- 扭矩测量范围Mx,My,Mz在[-30Nm,30Nm]
- 力矩和扭矩总和不能超过500%,即
注意!注意!注意!不是单独每一项不超过500%,而是总和,这意味着如果所有力矩和扭矩到达上限,也会永久损坏传感器。所以最安全的范围就是力Fx,Fy,Fz不超过200N,扭矩Mx,My,Mz不超过20Nm
robotiq F/T 300-S力矩传感器质量0.442kg
一、在Windows系统中
1.1 首先安装MinGW
具体教程参考MinGW安装教程
1.2 安装编译软件并测试源码
首先进入官网robotiq官网
http://support.robotiq.com/
找到“FT300-S Force Torque Sensor”->Universal Robots->Software->Sensor development package,就会下载得到一个名字为“robotiq_ft_sensor_dev_v1.0.1_20210317.zip”的压缩包,解压之后打开“driver”->Windows,找到compiler.bat文件,双击就能运行。
出现如下结果就是运行成功了
1.3 运行传感器驱动程序
在刚刚下载的文件robotiq_ft_sensor_dev_v1.0.1_20210317下进入driver->Windows->bin,找到bin文件下的driverSensor.exe程序
将力矩传感器的USB接口连接到电脑上,给传感器接入24V的电源。就可以得到传输的数据如下所示:
关于F/T300-S力矩传感器的供电模块提醒一下:官方推荐的电源是DPP15-24,传感器输入电压要求24V,并且电压不能超过10%(也就是说输入电压不能超过26.4V),输入电流不能超过1A,否则会损坏传感器。但是市面上大部分电源是不符合要求的,因此还是建议用官方推荐的电源。
如果要进行修改源码,可以找到robotiq_ft_sensor_dev_v1.0.1_20210317下进入driver->Windows->src,找到src文件下的main.c源码,修改相关源码可以自行定义数据输出形式。
1.3 安装可视化演示软件
首先进入官网robotiq官网, 找到“FT300-S Force Torque Sensor”->Universal Robots->Software->Visual demo software,就会下载得到一个名字为“SUI-1.2.5_20210303.zip”的压缩包
将力矩传感器的USB连接到电脑上。注意!注意!注意!此时力矩传感器不允许通电!不许通电!不许通电!
插上USB之后会自动安装驱动。但是我们在1.2节已经安装好了driver文件里面的compiler.bat文件,也就是已经安装好了驱动,所以这一步就没有响应。
安装好驱动后,给传感器接入24V的电源。
双击运行SUI-1.2.5_20210303\SUI-1.2.5->FT-150_sensor_demo-1.2.5文件夹下的robotiq_FT_sensor_demo.exe程序
会出现如下窗口,出现绿色的COM5表示连接成功,红色的COM5表示没有连接成功。
点击COM5,最下面会出现一行绿色的字,说明连接成功(底部出现一行黄色的字说明没有连接成功)。然后点击Sensor Data,就可以得到实时的力和力矩数据,以及变化曲线。
1.4 力矩传感器的校准
电脑连接上传感器之后,点击Tool calibration开始校准,矫正顺序分别为X,Y,Z轴。当最底下一行字从黄色变成绿色时,就表示某一轴已经校准好了。
1.移动机械臂将力矩传感器X轴朝下(30°以内精度都可),然后点击“黄色的锁”解锁,点击右侧的“sor X Pointing downwa”,等待即可辨识好X轴
2.移动机械臂使力矩传感器Y轴朝下,剩下步骤同上
3. 移动机械臂使力矩传感器Z轴朝下,剩下步骤同上
力矩传感器末端每次更换末端执行器时,都需要重新校准一遍
FT 300-S Sensor的本体坐标系如图所示
二、在Linux系统中
2.1 力矩传感器校准
cd driver
make linux
按照上面的方法在window下先进行校准
2.2 linux下传输数据
1. 解压“robotiq_ft_sensor_dev_v1.0.1_20210317.zip”压缩包,
2. 进入robotiq_ft_sensor_dev_v1.0.1_20210317文件,可以看到一个driver文件夹,在此处打开一个终端
3. 在终端输入以下代码,进入driver文件夹,并且编译linux
cd driver
make linux
4. 访问虚拟串行COM端口,将“username”改成你自己的用户名
sudo usermod -a -G dialout username
5. 重启电脑生效(如果不是第一次连传感器,只需要重开终端就行)
reboot
6. 将传感器传输数据的USB口连接到电脑上,并给传感器供电24V
7. 执行以下程序,可以看到/dev中存在一个名为ttyUSBx的新设备
ls -l /dev | grep ttyUSB
8. 进入Linux文件夹下的bin文件夹内
cd ./Linux/bin
9. 启动driverSensor程序,就会自动在终端以100Hz的速度读取数据(Fx,Fy,Fz,Mx,My,Mz)
./driverSensor
得到的效果如下图所示
3. Linux下读取力矩传感器数据
https://wiki.ros.org/robotiq_force_torque_sensor
关于力矩传感器的一些原理介绍可以参考力矩传感器介绍