关节控制

对于串联式多关节机器人,关节空间的控制是针对机器人各个关节的变量进行的控制,目标是让机器人各个关节按照一定速度达到目标位置。

单关节控制

send_angle(id, joint, angle, speed)

向机械臂发送单关节角度。

  • 参数

    • id – 1/2/3 (左臂/右臂/腰部)

    • joint – 1 ~ 6

    • angle - 角度值

    • speed – 1 ~ 100

  • 返回

get_angle(id, joint_id)

获取单个关节的角度

  • 参数

    • id (int) – 1/2/3 (左臂/右臂/腰部)。

    • joint_id (int) – 1 - 7(7 是夹爪)

set_encoder(id,joint_id,encoder,speed)

发送单关节的encoder值

  • 参数

    • id – 1/2/3 (左臂/右臂/腰部)。

    • joint_id - 1 - 6。

    • encoder – 设置编码器的值。

多关节控制

get_angles(id)

获取指定臂所有关节的度数。

  • 参数

    id – 1/2(左/右)

  • 返回

    长度为6的列表。

  • 返回类型

    列表

send_angles(id,degrees,speed)

将所有角度发送到指定的机械臂

  • 参数

    • id – 1/2(左/右)。

    • degrees - [angle_list] len 6

    • speed - 1 - 100

set_encoders(id,encoder,speed)

设置指定机械臂的六个关节同步执行到指定encoder位置。

  • 参数

    • id – 1/2(左/右)。

    • encoders - 编码器列表,长度为 6。

    • speed – 速度 1 ~ 100

get_radians(id)

获取指定机械臂所有关节的弧度

  • 参数

    id – 1/2(左/右)

  • 返回

    浮动弧度列表 [radian1, ...]

  • 返回类型

    列表

send_radians(id, radians, speed)

将指定机械臂所有关节的弧度发送给机械臂

  • 参数

    • id – 1/2(左/右)。

    • radians – 弧度值列表(List[float]),长度为 6

    • speed - (int)0 ~ 100

示例

from pymycobot.mybuddy import MyBuddy
import time
mc = MyBuddy("/dev/ttyACM0", 115200)

# Send angles to the six joints of the left arm
mc.send_angles(1, [0, 0, 0, 0, 0, 0], 50)
time.sleep(3)

# Send the angle to the first joint of the left arm
mc.send_angle(1, 1, 90, 50)
time.sleep(2)

# Get the joint angle of the left arm
angles = mc.get_angles(1)
print("left angles: ",angles)

# Relax all joints of the left arm. Before running this command, please support the left arm with your hand to prevent it from falling suddenly
mc.release_all_servos(1)

results matching ""

    No results matching ""