MyBuddy Python API
base_to_single_coords(base_coords, arm)
将base坐标转换为坐标
参数
coords – 基坐标值 len 6 的列表
arm - 0 - 左。 1 - 对
返回
坐标
collision(left_angles,right_angles)
碰撞检测主程序
参数
left_angles - 左臂角度,长度为6的列表。
right_angles – 右臂角度,长度为6的列表。
返回
整数
collision_switch(state)
碰撞检测开关
参数
state (int) - 0 - 关闭 1 - 打开(默认关闭)
focus_servo(id,servo_id)
上电指定舵机
参数
id – 1/2/3 (左臂/右臂/腰部)
servo_id - 1 - 6
get_acceleration(id)
读取所有移动过程中加速度
参数
id – 1/2/3 (左臂/右臂/腰部)
get_angle(id,joint_id)
获取单个关节的角度
参数
id (int) – 1/2/3 (左臂/右臂/腰部)。
joint_id (int) – 1 - 7(7 是夹爪)
get_angles(id)
获取所有关节的度数。
参数
id – 1/2(左/右)
返回
长度为6的列表。
返回类型
列表
get_base_coord(id)
获取单臂的基坐标
参数
id – 1/2(左/右)
(*args)get_base_coords
将坐标转换为base坐标。可以传入参数或不传参数,传入参数时,是以参数为准进行转化;无参数则以当前所在坐标进行转化。
参数
coords – 坐标值列表(List[float]),长度 6 [x(mm), y, z, rx(angle), ry, rz]
arm - 0 - 左。 1 -
返回
基坐标
get_coord(id,joint_id)
读取单个坐标参数
参数
id (int) – 1/2/3 (左臂/右臂/腰部)。
joint_id (int) – 1 - 7(7 是夹爪)
get_coords(id)
获取机械臂坐标
参数
id – 1/2(左/右)。
get_digital_input(id, pin_no)
读取Atom IO输入电平
参数
id - 1/2(左/右)
pin_no (int) - 1 - 5
get_encoder(id,joint_id)
获取指定的关节电位值。
参数
id - 1/2/3(左臂/右臂/腰部)。
joint_id - (int) 1 ~ 6
返回
0 ~ 4096
get_encoders(id)
获取指定机械臂的六个关节电位值
参数
id – 1/2(左/右)。
返回
列表
get_end_type(id)
获取末端坐标系
参数
id – 0/1/2 (ALL/L/R)
返回
0 - 法兰 1 - 工具
get_gripper_value(id)
获取夹爪的值。
参数
id – 1/2(左/右)
返回
夹持器值 (int)
get_joint_current(id,joint_id)
获取碰撞电流
参数
id - 0/1/2 (ALL/L/R)
joint_id - 1 - 6
get_joint_max_angle(id,joint_id)
获取指定关节的最大运动角度
参数
id – 1/2/3 (左臂/右臂/腰部)
joint_id - (int) 1 - 6
返回
角度值(浮点数)
get_joint_min_angle(id,joint_id)
获取指定关节的最小移动角度
参数
id – 1/2/3 (左臂/右臂/腰部)
joint_id - (int) 1 - 6
返回
角度值(浮点数)
get_movement_type(id)
获取运动类型
参数
id – 0/1/2 (ALL/L/R)
返回
1 - 移动L 0 - 移动J
get_plan_acceleration(id=0)
获得规划加速度
参数
id – 0/1/2/3 (ALL/左臂/右臂/腰部)
返回
加速度
get_plan_speed(id=0)
获得规划速度
参数
id – 0/1/2/3 (ALL/左臂/右臂/腰部)
返回
规划速度。
get_reference_frame(id)
获取base坐标系
参数
id – 0/1/2 (ALL/L/R)
返回
0 - 基础 1 - 工具。
get_robot_id(id)
检测此机器人 ID
参数
id – 0/1/2/3 (ALL/左臂/右臂/腰部)
get_robot_version(id)
获取机器人版本
参数
id – 0/1/2/3 (ALL/左臂/右臂/腰部)
get_servo_currents(id)
获取关节电流
参数
id – 1/2/3 (左臂/右臂/腰部)
返回
毫安单位的值
get_servo_data(id,servo_no,data_id)
读取舵机指定地址的数据参数。
参数
id – 1/2/3 (左臂/右臂/腰部)
servo_no – 舵机的序列号,1 - 6。
data_id – 数据地址。
返回
值 (0 - 4096) 0 - 禁用 1 - 启用 -1 - 错误
get_servo_status(id)
获取关节状态
参数
id – 1/2/3 (左臂/右臂/腰部)
返回
【电压、传感器、温度、电流、角度、过载】,值为0表示无错误
get_servo_temps(id)
获取关节温度
参数
id – 1/2/3 (左臂/右臂/腰部)
get_servo_voltages(id)
获取关节电压
参数
id – 1/2/3 (左臂/右臂/腰部)
返回
电压值 < 24 V
get_speed(id)
获得速度
参数
id – 1/2/3(左臂/右臂/腰部)。
返回
速度
返回类型
整数
get_system_version(id)
获取软件版本
参数
id – 0/1/2/3 (ALL/左臂/右臂/腰部)
get_tool_reference(id)
获取工具坐标系
参数
id – 0/1/2 (ALL/L/R)
get_world_reference(id)
获取世界坐标系
参数
id – 0/1/2 (ALL/L/R)
is_all_servo_enable(id)
判断是否连接了指定舵机
参数
id – 1/2/3 (左臂/右臂/腰部)
返回
0 - 禁用 1 - 启用 -1 - 错误
is_collision_on()
获取碰撞检测状态
返回
0 - 禁用 1 - 启用
is_controller_connected(id=0)
是否与 Atom 连接。
参数
id – 0/1/2/3 (ALL/左臂/右臂/腰部)
返回
0 - 断开 1 - 连通
is_free_mode(id)
检查是否为自由模式
参数
id – 0/1/2/3 (ALL/左臂/右臂/腰部)
返回
0 - 否 1 - 是
is_gripper_moving(id)
判断夹爪是否在移动
参数
id – 1/2(左/右)
返回
0 - 不动 1 - 正在移动 -1 - 错误数据
is_in_position(id, data, mode)
判断是否到达位置。
参数
id – 0/1/2/3 (ALL/左臂/右臂/腰部)。
data – 数据列表、角度或坐标。如果 id 是 1/2。数据长度为 6. 如果 id 为 0. data len 13(data==[ [left_angles / left_coords],[right_angles / right_coords],[waist_angle /waist_coord]]). 如果 id 为 3. data len 1
mode - 1 - 坐标,0 - 角度
返回
1 - 已到达 0 - 未到达 -1 - 错误
is_moving(id)
检测机器人是否在移动
参数
id – 0/1/2/3 (ALL/左臂/右臂/腰部)。
返回
0 - 不动 1 - 正在移动 -1 - 错误数据
is_paused(id)
判断机械手是否暂停。
参数
id – 0/1/2/3 (ALL/左臂/右臂/腰部)。
返回
1 - 暂停 0 - 未暂停 -1 - 错误
is_power_on(id=0)
控制核心连接状态查询
参数
id – 0/1/2/3 (ALL/左臂/右臂/腰部)
返回
1 - 开机 0 - 关机 -1 - 错误数据
is_servo_enable(id,servo_id)
判断所有舵机是否连接
参数
id – 1/2/3 (左臂/右臂/腰部)
servo_id - (int) 1 ~ 6
返回
0 - 不连通 1 - 已连通 -1 - 错误
jog_absolute(id,joint_id,angle,speed)
绝对关节控制
参数
id – 1/2/3 (左臂/右臂/腰部)。
joint_id - 整数 1-6。
angle - int
speed - int (0 - 100)
jog_angle(id,joint_id,direction,speed)
关节控制。
参数
id – 1/2/3 (左臂/右臂/腰部)。
joint_id - 整数 1-6。
direction - 0 - 减少,1 - 增加
speed - int (0 - 100)
jog_coord(id, coord_id, direction, speed)
坐标控制。
参数
id – 1/2/3 (左臂/右臂/腰部)。
coord_id – int 1-6 (x/y/z/rx/ry/rz)。
direction - 0 - 减少,1 - 增加
speed - int (0 - 100)
jog_inc_coord(axis,increment,speed)
双臂协同坐标步进
参数
axis – 1 - 6 (x/y/z/rx/ry/rz)
increment -
speed - 1 - 100
jog_increment(id,joint_id,increment,speed)
步进模式
参数
id – 1/2/3 (左臂/右臂/腰部)。
joint_id - 整数 1-6。
increment -
speed - int (1 - 100)
jog_stop(id)
JOG停止
参数
id – 1/2/3(左臂/右臂/腰部)。
joint_brake(id, joint_id)
关节运动时使其停止,缓冲距离与现有速度正相关
参数
id – 1/2/3 (左臂/右臂/腰部)
joint_id - 1 - 6
power_off(id=0)
机械臂关闭电源
参数
id – 0/1/2/3 (ALL/左臂/右臂/腰部)
power_on(id=0)
机械臂打开电源
参数
id – 0/1/2/3 (ALL/左臂/右臂/腰部)
read_next_error(id=0)
机器人错误检测
参数
id – 0/1/2/3 (ALL/左臂/右臂/腰部)
release_all_servos(id=0)
放松舵机
参数
id – 0/1/2/3 (ALL/左臂/右臂/腰部)
release_servo(id,servo_id)
放松指定的单个舵机
参数
id – 1/2/3 (左臂/右臂/腰部)
servo_id - 1 - 6。
resume(id)
恢复运动
参数
id – 0/1/2/3 (ALL/左臂/右臂/腰部)。
send_angle(id, joint, angle, speed)
向机械臂发送单关节角度。
参数
id – 1/2/3 (左臂/右臂/腰部)
joint – 1 ~ 6
angle - 角度值
speed – 1 ~ 100
返回
- 无
send_angles(id,degrees,speed)
将所有角度发送到指定的机械臂
参数
id – 1/2(左/右)。
degrees - [angle_list] len 6
speed - 1 - 100
send_coord(id, coord, data, speed)
向机械臂发送单个坐标
参数
id – 1/2/3 (左臂/右臂/腰部)。
coord – 1 ~ 6 (x/y/z/rx/ry/rz)
data - 坐标值
speed - 0 ~ 100
send_coords(id, coords, speed, mode)
将所有坐标发送到机械臂。
参数
id – 1/2(左/右)。
coords – 坐标值列表(List[float]),长度 6,[x(mm), y, z, rx(angle), ry, rz]
speed - (int) 1 ~ 100
mode - (int) 0 - moveJ, 1 - moveL, 2 - moveC
set_acceleration(id, acc)
设置所有移动过程中加速度
参数
id – 1/2/3 (左臂/右臂/腰部)
acc - 1 - 100
set_color(id, r=0, g=0, b=0)
设置机器人手臂顶部Atom的灯光颜色。
参数
id - 1/2(左/右)
r (int) – 0 ~ 255
g (int) – 0 ~ 255
b (int) – 0 ~ 255
set_digital_output(id, pin_no, pin_signal)
设置 atom IO 输出电平
参数
id - 1/2(左/右)
pin_no (int) - 1 - 5
pin_signal (int) – 0 / 1
set_encoder(id,joint_id,encoder,speed)
发送单关节的encoder值
参数
id – 1/2/3 (左臂/右臂/腰部)。
joint_id - 1 - 6。
encoder – 设置编码器的值。
set_encoders(id,encoder,speed)
设置指定机械臂的六个关节同步执行到指定encoder位置。
参数
id – 1/2(左/右)。
encoders - 编码器列表,长度为 6。
speed – 速度 1 ~ 100
set_end_type(id, end)
设置末端坐标系
参数
id - 0/1/2 (ALL/L/R)
end - 0 - 法兰,1 - 工具
set_free_mode(id, value)
设置自由模式
参数
id – 0/1/2/3 (ALL/左臂/右臂/腰部)
value - 0 - 关闭 1 - 打开
set_fresh_mode(id, mode)
设置命令刷新模式
参数
id – 1/2(左/右)。
mode - int 1 - 总是先执行最新的命令。 0 - 以队列的形式顺序执行指令。
set_gripper_calibration(id)
设置夹爪当前位置为零位,设置当前位置值为 2048。
参数
id – 1/2(左/右)
set_gripper_state(id, flag)
设置夹爪开关状态
参数
id - 1/2(左/右)
flag (int) - 0 - 关闭,1 - 打开
set_gripper_value(id, value, speed)
设置夹爪的值
参数
id – 1/2 (L/R)
value (int) – 0 ~ 100
speed (int) – 0 ~ 100
set_joint_current(id,joint_id,current)
设置碰撞电流
参数
id - 0/1/2 (ALL/L/R)
joint_id - 1 - 6
current – 电流值
set_joint_max(id,joint_id,angle)
设置关节最大角度
参数
id – 1/2/3 (左臂/右臂/腰部)
joint_id - 整数 1-6。
角度 - 0 ~ 180
set_joint_min(id,joint_id,angle)
设置关节最小角度
参数
id – 1/2/3 (左臂/右臂/腰部)
joint_id - 整数 1-6。
角度 - 0 ~ 180
set_movement_type(id, move_type)
设置移动类型
参数
id - 0/1/2 (ALL/L/R)
move_type - 1 - movel,0 - moveJ
set_pin_mode(id, pin_no, pin_mode)
在 atom 中设置指定引脚的状态模式。
参数
id - 1/2(左/右)
pin_no (int) – 引脚编号 (1 - 5)。
pin_mode (int) - 0 - 输入,1 - 输出
set_plan_acceleration(id, acceleration)
设置规划加速度
参数
id – 0/1/2/3 (ALL/左臂/右臂/腰部)
加速度 (int) - (0 ~ 100)。
set_plan_speed(id,speed)
设定规划速度
参数
id – 0/1/2/3 (ALL/左臂/右臂/腰部)
speed (int) - (0 ~ 100)。
set_pwm_output(id, channel, frequency, pin_val)
脉宽调制控制
参数
id - 1/2(左/右)
channel (int) – IO 编号 (1 - 5)。
frequency (int) – 时钟频率 (0/1: 0 - 1Mhz 1 - 10Mhz)
pin_val (int) – 占空比 0 ~ 100: 0 ~ 100%
set_reference_frame(id, rftype)
设置基坐标系
参数
id - 0/1/2 (ALL/L/R)
rftype - 0 - base 1 - tool。
set_robot_id(id, new_id)
设置此机器人 ID
参数
id – 0/1/2/3 (ALL/左臂/右臂/腰部)
new_id - 1 - 253
set_servo_calibration(id,servo_no)
设置关节当前位置为角度零点,
对应的encoder为2048。
参数
id – 1/2/3 (左臂/右臂/腰部)
servo_no – 舵机的序列号,1 - 6。
set_servo_data(id,servo_no,data_id,值)
设置舵机指定地址的数据参数
参数
id – 1/2/3 (左臂/右臂/腰部)
servo_no – 舵机的序列号,1 - 6。
data_id – 数据地址。
value - 0 - 4096
set_speed(id,speed)
设定速度值
参数
id – 1/2/3 (左臂/右臂/腰部)
speed (int) - 0 - 100
set_tool_reference(id,coords)
设置工具坐标系
参数
id - 0/1/2 (ALL/L/R)
coords – 坐标值列表(List[float]),长度为 6。[x(mm), y, z, rx(angle), ry, rz]
set_world_reference(id,coords)
设置世界坐标系
参数
id - 0/1/2 (ALL/L/R)
coords – 坐标值列表(List[float]),长度 6 [x(mm), y, z, rx(angle), ry, rz]
stop(id)
停止移动
参数
id – 0/1/2/3 (ALL/左臂/右臂/腰部)。
write_base_coord(id,axis, coord, speed)
Base单坐标移动
参数
id - 1/2(左/右)
axis – 1 - 6 (x/y/z/rx/ry/rz)
coord - 坐标值
speed - 1 - 100
write_base_coords(id, coords, speed)
Base坐标移动
参数
id - 1/2(左/右)
coords - coords:坐标值列表(List[float]),长度 6,[x(mm), y, z, rx(angle), ry, rz]
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
Get_gpio_input(pin)
获取 GPIO 输入值。
参数
pin - (int)pin 号。
set_gpio_mode(pin_no, mode)
初始化 GPIO 模块,设置 BCM 模式。
参数
pin_no - (int) 引脚号。
mode - 0 - 输入 1 - 输出
set_gpio_output(pin, v)
设置 GPIO 输出值。
参数
pin - (int)pin 号。
v - (int) 0 / 1
set_gpio_pwm(pin, baud, dc)
设置 GPIO PWM 值。
参数
pin - (int)pin 号。
baud - (int) 10 - 1000000
dc - (int) 0 - 100