libhans 0.1.11

Rust bindings for the Hans robot
Documentation
from libhans import HansRobot

robot = HansRobot()

# 连接机械臂,使用机械臂时应当连接
# 测试用的两台机械臂的 IP 地址分别为 `192.168.10.2` 和 `192。168.10.3`
# 测试用的机械臂开发控制端口为 `10003`
ROBOT_IP = "192.168.10.2"
ROBOT_PORT = 10003
robot.connect(ROBOT_IP, ROBOT_PORT)

# 可以使用 disconnect() 方法断开连接
# robot.disconnect()

# 连接机械臂之后还需要对机械臂使能才能进行操作
robot.enable()

# 可以使用 disable() 方法关闭机械臂使能
# robot.disable()

# 在运行时速度可能会比较慢,可以使用 set_speed() 方法设置机械臂的运行速度
robot.set_speed(0.3)

# 机械臂运动的方式有两种:关节空间运动和笛卡尔空间运动
# 请确保运行的目标点位是安全的!
# 该函数会使机械臂运动到指定的关节角度,此过程是阻塞的,直到机械臂到达目标点位
robot.move_joint([0, 0, 0, 0, 0, 0])

# 该函数会使机械臂运动到指定的关节角度,此过程是异步的,不会阻塞程序的运行,
# 但此时仍然操作机器人会导致报错,需要使用 is_moving() 方法检查机械臂是否在运动
# ! 不建议使用该函数
# robot.move_joint_async([0, 0, 0, 0, 0, 0])

# 该函数会使机械臂运动到相对的关节角度,此过程是阻塞的,直到机械臂到达目标点位
robot.move_joint_rel([0, 0, 0, 0, 0, 0])

# 输入连续的关节角度列表,机械臂会首先移动到初始点位,然后花一段时间计算轨迹,
# 最后开始运动,输入的轨迹点应该不少于四个(大族官方的奇怪要求)
# ! 该函数未经过测试,请确保给他的轨迹指令是安全且正确的
robot.move_joint_path([[0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0],[0, 0, 0, 0, 0, 0],[0, 0, 0, 0, 0, 0]])

# 该函数会从文件中读取关节角度路径并执行,文件中的每一行应该是一个关节角度列表
# ! 该函数内部实现依赖 `move_joint_path()` 方法,未经过测试
robot.move_joint_path_from_file("path.txt")

# 该函数会使机械臂运动到相对的关节角度,此过程是异步的,不会阻塞程序的运行,
# 但此时仍然操作机器人会导致报错,需要使用 is_moving() 方法检查机械臂是否在运动
# ! 不建议使用该函数
# robot.move_joint_rel_async([0, 0, 0, 0, 0, 0])

# 该函数会使机械臂运动到指定的笛卡尔坐标,此过程是阻塞的,直到机械臂到达目标点位
robot.move_linear_with_euler([0, 0, 0, 0, 0, 0])

# 该函数会使机械臂运动到指定的笛卡尔坐标,此过程是异步的,不会阻塞程序的运行,
# 但此时仍然操作机器人会导致报错,需要使用 is_moving() 方法检查机械臂是否在运动
# ! 不建议使用该函数
# robot.move_linear_with_euler_async([0, 0, 0, 0, 0, 0])

# 该函数会使机械臂运动到相对的笛卡尔坐标,此过程是阻塞的,直到机械臂到达目标点位
robot.move_linear_rel_with_euler([0, 0, 0, 0, 0, 0])