由于因时灵巧手长度过长,部分灵巧手存在拆除下半部分的情况,以下简称为“手腕”。未拆掉手腕的灵巧手线序与接口如图所示:
注意:- 通过手腕接口接入灵巧手的VCC输入为24V,经过一个降压板后转为7-9V,降压板如图所示:
拆掉手腕后,灵巧手的线序如下图和下表所示: 如图所示:
线路颜色 | 引脚定义 |
---|---|
黑 | GND |
红 | VCC(7-9V) |
黄 | RS485 A+ |
蓝 | RS485 B- |
部分灵巧手可能存在颜色不同的情况,可参考下表:
线路颜色 | 引脚定义 |
---|---|
黑 | GND |
红 | VCC(7-9V) |
白 | RS485 A+ |
灰 | RS485 B- |
上位机与上位机操作说明下载网址:https://www.inspire-robots.com/download/frwz/
注意:
- 在确保线路无问题的情况下,可能会出现无法连上的情况,此时可以尝试重新插拔灵巧手的电源和串口。
- 部分灵巧手可能存在修改波特率的情况,在连接时请尝试多种波特率。
使用以下命令克隆因时灵巧手的ros package并用你喜欢的编译命令对其进行编译:
# git clone
git clone https://github.com/MickyFlowers/inspire_hand.git
# build
catkin build
运行灵巧手的文件为hand_control.launch
,文件内容如下所示:
<?xml version="1.0" ?>
<launch>
<arg name="right_hand_id" default= "1" />
<arg name="right_hand_port" default= "/dev/ttyUSB1" />
<arg name="left_hand_id" default= "1" />
<arg name="left_hand_port" default= "/dev/ttyUSB0" />
<arg name="baud" default= "115200" />
<arg name="test_flag" default= "0" />
<node name="right_inspire_hand" pkg="inspire_hand" type="inspire_hand" output="screen" >
<param name = "hand_id" value="$(arg right_hand_id)" />
<param name = "portname" value="$(arg right_hand_port)" />
<param name = "baudrate" value="$(arg baud)" />
<param name = "test_flags" value="$(arg test_flag)" />
</node>
<node name="left_inspire_hand" pkg="inspire_hand" type="inspire_hand" output="screen" >
<param name = "hand_id" value="$(arg left_hand_id)" />
<param name = "portname" value="$(arg left_hand_port)" />
<param name = "baudrate" value="$(arg baud)" />
<param name = "test_flags" value="$(arg test_flag)" />
</node>
</launch>
该文件中运行了左手和右手的节点,在使用时候需要更改文件内容,将灵巧手id,灵巧手端口号和波特率进行对应,而后运行命令:
roslaunch inspire_hand hand_control.launch [args]
该节点以ROS Service Server的形式运行,可以在命令行中查看所有可调用的服务:
rosservice list
以读写右手灵巧手关节数据为例:
# 读取
rosservice call /right_inspire_hand/get_angle_act
# 写(angle1-6替换为0-1000的数即可改变灵巧手关节角度值)
rosservice call /right_inspire_hand/set_angle angle1 angle2 angle3 angle4 angle5 angle6