This document provides a detailed overview of the Python API for the Linker Hand, including functions for controlling the hand's movements, retrieving sensor data, and setting operational parameters.
def set_speed(self,speed=[100,100,100,100,100]) # 设置速度,O6、L6长度为6,L7长度为7,L10长度为10,其他长度为5Description:
设置手部的运动速度。
Parameters:
speed: 一个包含速度数据的 list,长度为5个元素对应每个关节的速度值,如何是L7则为7个元素,对应每个电机速度。 每个元素值范围:0~255
def set_torque(self, torque=[180,100,80,99,255]) # 设置速度,O6、L6长度为6,L7长度为7,L10长度为10,其他长度为5Description:
设置手指的转矩限制或力度,用于控制抓取力度。
Parameters:
torque: 一个包含力度数据的 list,长度为5个元素对应每个手指的力度值,如何是L7则为7个元素,对应每个电机力度值。每个元素值范围:0~255
def finger_move(self,pose=[120,120,120,120,120,120,120,120,120,120]) # L10为例Description:
设置关节的目标位置,用于控制手指的运动。
Parameters:
pose: 一个包含目标位置数据的 float类型的list,O6、L6长度为6,L7长度为7个元素,L10长度为10个元素,L20长度为20个元素,L25长度为25个元素。每个元素值范围:0~255
def set_current(self, current=[99,72,80,66,20]) # L20为例Description:
设置电机的电流值。
Parameters:
current: 一个包含目标电流数据的 int类型list,长度为5个元素,当前只支持L20版本。每个元素值范围:0~255
def get_speed(self)
return [180, 200, 200, 200, 200]Description:
获取当前设置的速度值。提示:需设置关节位置后才能获取到速度值。
Returns:
- 返回一个 list,包含当前的手指速度设置值。每个元素值范围:0~255
def get_state(self)
return [81, 79, 79, 79, 79, 79, 83, 76, 80, 78]Description:
获取当前关节的状态float类型的list信息。提示:需要设置关节位置后才能获取到状态信息,O6、L6长度为6,L7长度为7个元素,L10长度为10个元素,L20长度为20个元素,L25长度为25个元素。每个元素值范围:0~255。
Returns:
- 返回一个 float类型的list,包含当前关节的状态数据。每个元素值范围:0~255
def get_force(self)
return [[255.0, 0.0, 0.0, 77.0, 192.0], [82.0, 0.0, 0.0, 230.0, 223.0], [107.0, 255.0, 255.0, 31.0, 110.0], [255.0, 0.0, 20.0, 255.0, 255.0]]Description:
获取手部传感器的综合数据,包括法向压力、切向压力、切向方向和接近感应。
Returns:
- 返回一个二维list,其中每个子list包含不同类别的list压力数据[[法向压力],[切向压力],[切向压力方向],[接近感应]]。类别每一个元素对应拇指、食指、中指、无名指、小拇指 每个元素值范围:0~255
def get_version(self)
return [10, 6, 22, 82, 20, 17, 0]Description:
获取当前软件或硬件的版本号。
Returns:
- 返回一个字符串,表示当前的版本号。list元素依次表示:自由度\版本号\序号\左手76右手82\内部序列号
def get_torque(self)
return [200, 200, 200, 200, 200]Description:
获取当前手指扭矩list信息。表示每根手指当前电机扭矩,支持L20、L25。
Returns:
- 返回一个 float类型的list。每个元素值范围:0~255
def get_temperature(self)
return [41, 71, 45, 40, 50, 47, 58, 50, 63, 70]Description:
获取当前关节的电机温度。
Returns:
- 返回一个 list数据,包含当前关节的电机温度。
def get_fault(self)
return [0, 4, 0, 0, 0, 0, 0, 0, 0, 0]Description:
获取当前关节电机故障,0表示正常 数字1电流过载 数字2温度过高 数字3编码错误 数字4过压/欠压。
Returns:
- 返回一个 float类型的list,包含当前关节电机故障。
def clear_faults(self)以下是一个完整的示例代码,展示如何使用上述 API:
from LinkerHand.linker_hand_api import LinkerHandApi
def main():
# 初始化API hand_type:left or right hand_joint:L7 or L10 or L20 or L25
linker_hand = LinkerHandApi(hand_type="left", hand_joint="L10")
# 设置手指速度
linker_hand.set_speed(speed=[120,200,200,200,200])
# 设置手扭矩
linker_hand.set_torque(torque=[200,200,200,200,200])
# 获取手当前状态
hand_state = linker_hand.get_state()
# 打印状态值
print(hand_state)- 在使用 API 之前,请确保手部设备已正确连接并初始化。
- 参数值(如速度、力度等)的具体范围和含义请参考设备的技术手册。
- 如果有任何问题或需要进一步支持,请联系 support@linkerhand.com。