Studio API

Studio接口概述:

  1. Studio通信协议:

  • websoket:ws://{ip}:18333/ws

  • http/1.1:http://{ip}:18333

  1. 通信流程图:

  • front_end:前端(用户操作界面)

  • Background:后端(封装xArm-Python-SDK)

  • Controller:控制器

  • Robot:机械臂

  • uxbus:UFACTORY自定义协议(控制器与电机通信)

  • u_modbus_tcp:UFACTORY自定义协议(PC与控制器通信)

  • Externals:外接设备,例如BIO机械爪、xArm真空吸头、xArm机械爪等

Studio_API 说明

Studio接口概述:

  1. Studio通信协议:

  • websoket:ws://{ip}:18333/ws

  • http/1.1:http://{ip}:18333

  1. 通信流程图:

  • front_end:前端(用户操作界面)

  • Background:后端(封装xArm-Python-SDK)

  • Controller:控制器

  • Robot:机械臂

  • uxbus:UFACTORY自定义协议(控制器与电机通信)

  • u_modbus_tcp:UFACTORY自定义协议(PC与控制器通信)

  • Externals:外接设备,例如BIO机械爪、xArm真空吸头、xArm机械爪等

  1. 上报数据说明:

  • 建立websocket连接后,后端会持续上报机械臂实时状态,以下是上报参数解析

{
    "type": "report",
    "cmd": "devices_status_keys_report",
    "data": [
        0. "xarm_connected",                 # 机械臂连接状态
        1. "xarm_version",                   # 机械臂类型和固件版本
        2. "xarm_port_name",                 # 控制器IP
        3. "xarm_printed",                   # studio是否停止输出数据(内部使用)
        4. "xarm_state",                     # 机械臂状态
        5. "xarm_version_number",            # 固件版本
        6. "xarm_mode",                      # 机械臂模式
        7. "xarm_collision_sensitivity",     # 碰撞灵敏度
        8. "xarm_teach_sensitivity",         # 示教灵敏度
        9. "xarm_tcp_load",                  # 负载
        10. "xarm_tcp_offset",                # 偏移
        11. "xarm_world_offset",              # 坐标系参数
        12. "xarm_gravity_direction",         # 重力方向
        13. "xarm_paused",                    # xarm是否是暂停状态
        14. "xarm_type",                      # 机械臂类型
        15. "xarm_error_code",                # 错误码
        16. "xarm_warn_code",                 # 警告码
        17. "xarm_tcp_pose",                  # TCP坐标
        18. "xarm_joint_pose",                # 关节角度
        19. "xarm_axis_angle",                # 机械臂轴角角度
        20. "xarm_limit_acc",                 # TCP加速度限制
        21. "xarm_limit_velo",                # TCP速度限制
        22. "xarm_current_velo",              # 当前TCP速度
        23. "xarm_current_acc",               # 当前TCP加速度
        24. "xarm_limit_angle_acc",           # 关节加速度限制
        25. "xarm_limit_angle_velo",          # 关节速度限制
        26. "xarm_current_angle_velo",        # 当前TCP速度
        27. "xarm_current_angle_acc",         # 当前关节加速度
        28. "xarm_tcp_jerk",                  # TCP加加速度
        29. "xarm_joint_jerk",                # 关节加加速度
        30. "xarm_mtbrake",                   # 机械臂关节抱闸状态
        31. "xarm_warn",                      # 警告信息
        32. "xarm_error",                     # 错误信息
        33. "xarm_servo_error",               # 伺服错误
        34. "xarm_is_ready",                  # 机械臂是否运动就绪状态
        35. "xarm_is_verified",               # studio密钥是否验证通过
        36. "xarm_axis",                      # 关节轴数
        37. "config",                         # 安全边界和缩减模式
        38. "xarm_python",                    # pythonIDE运行状态和连接状态
        39. "xarm_speed_percent",             # 实时控制界面速度百分比
        40. "xarm_acc_percent",               # 实时控制界面加速度百分比
        41. "xarm_initial_point",             # 初始点位置
        42. "xarm_position_step",             # 位置步长
        43. "xarm_attitude_step",             # 姿态步长
        44. "xarm_joint_step",                # 关节步长
        45. "xarm_end_tool_type",             # 机械臂末端类型
        46. "xarm_gripper_is_enable",         # bio机械爪是否已使能
        47. "gripper_error_code",             # xArm机械爪错误码
        48. "bio_gripper_error_code",         # bio机械爪错误码
        49. "robotiq_error_code",             # robotiq错误码
        50. "xarm_device_type",               # 机械臂固件类型
        51. "xarm_mount_degrees",             # 机械臂安装方向参数(倾斜角度和旋转角度)
        52. "current_clients_count",          # 当前连接的客户端
        53. "xarm_is_connecting",             # studio是否有连接机械臂(内部使用)
        54. "core_updated",                   # studio是否有更新
        55. "firmware_updated",               # 固件是否有更新
        56. "channel",                        # 是测试环境还是正式环境
        57. "xarm_counter_val",               # 计数器值
        58. "xarm_quick_access_switch",       # 快速访问开关
        59. "xarm_quick_access",              # 快速访问的选项
        60. "xarm_gpio_reset_config",         # gpio状态
        61. "xarm_default_tcp_acc",           # 默认TCP加速度
        62. "xarm_default_joint_acc",         # 默认关节加速度
        63. "xarm_cgpio_states",              # 控制器输入、输出和模拟量参数
        64. "xarm_voltages",                  # 机械臂电压信息
        65. "xarm_currents",                  # 机械臂电流信息
        66. "xarm_self_collision_params",     # 自碰撞模式已经参数
        67. "xarm_quick_copy_switch",         # 是否打开快速复制
        68. "xarm_run_package_blockly_switch",# 是否打包运行
        69. "xarm_is_simulation_robot",       # 是否是仿真机械臂模式
        70. "bio_gripper_is_enabled",         # bio机械爪是否已使能
        71. "robotiq_is_activated",           # robotiq机械爪是否已使能
        72. "xarm_is_velocity",               # 速度模式标志,根据此变量来设置速度模式(已不再使用)
        73. "xarm_is_axis_angle",             # 姿态控制方式(轴角/RPY)
        74. "xarm_is_robot_arm",              # 选择机械臂or控制盒
        75. "line_track_error_code",          # 直线滑轨错误码
        76. "xarm_other_tool_type",           # 末端工具类型(滑轨之类)
        77. "ft_sensor",                      # 六维力矩传感器参数和状态
        78. "lite6_record_mode",              # lite6手动模式是否打开
        79. "lite6_ti2_status",               # lite6末端示教按钮状态
        80. "reduced_states",                 # 缩减模式状态
        81. "safe_border_states",             # 安全边界状态
        82. "xarm_end_otherCuboid_param",     # 末端工具长方体参数
        83. "xarm_end_otherCylinder_param",   # 末端工具圆柱体参数
        84. "joint_exceed_axis",              # 关节超限时的轴数
        85. "xarm_is_show_axis_angle"        # 3D界面展示是否使用轴角模式
    ]
}

Websoket协议

实时控制_API:

  1. xarm_move_step

  2. xarm_move_step_over

  3. xarm_move_joint

  4. switch_mode_lite6

  5. xarm_urgent_stop

  6. xarm_set_simulation_robot

  7. xarm_set_lite6_gripper

  8. xarm_set_speed

  9. xarm_switch_mode

Blockly_API:

  1. xarm_set_blockly_init

  2. run_blockly

  3. xarm_move_arc_line

  4. xarm_move_circle

  5. app_create_file

  6. app_save_info

  7. get_app_info

  8. get_app_xml_data

Python IDE:

  1. ide_list_projects

  2. ide_get_project

  3. ide_create_project

  4. ide_delete_project

  5. ide_rename_project

  6. ide_save_project

  7. ide_create_file

  8. ide_to_python_allow

  9. ide_blockly_to_python

  10. ide_write_file

  11. ide_get_file

  12. ide_delete_file

  13. ide_rename_file

  14. ide_create_folder

  15. ide_delete_folder

  16. ide_rename_folder

  17. run_python_program

  18. stop_python_program

设置_API:

  1. xarm_set_cgpio_digital

  2. xarm_set_cgpio_analog

  3. xarm_set_gpio_digital

  4. xarm_set_suction_cup

  5. xarm_set_motion_config

  6. xarm_set_effector_modbus_rtu_cmd

  7. get_tcp_offset_load_config

  8. set_tcp_load_offset_configs

  9. remove_tcp_load_offset_configs

  10. associate_tcp_offset_load

  11. xarm_start_identification

  12. xarm_stop_identification

  13. xarm_get_reduced_states

  14. xarm_get_approx_motion(获取规避奇异点是否开启)

  15. xarm_config_gpio_reset_when_stop(当机械臂停止的时候重置控制器和末端io状态接口)

  16. xarm_set_collision_rebound(设置碰撞回弹参数接口)

  17. xarm_set_self_collision_detection(设置自碰撞检测开关)

  18. xarm_set_jerk(设置关节加加速度和Tcp加加速度接口)

  19. xarm_get_joint_pi(获取关节PID参数)

  20. xarm_factory_reset(恢复出厂设置)

  21. xarm_start_report_gpio_digital(获取末端数字、模拟量IO)

  22. xarm_stop_report_gpio_digital(停止获取末端数字、模拟量IO)

  23. get_gpio_config(获取控制器数字IO触发的相应操作)

  24. set_gpio_config(设置控制器数字IO触发的相应操作)

  25. xarm_set_stop_loop(停止modabus循环发送)

  26. xarm_set_modbus_baud_rate(设置modbus波特率)

  27. xarm_get_end_io_info(获取modbus配置信息)

  28. xarm_set_user_config(设置辅助功能信息)

  29. xarm_save_config(保存设置)

  30. xarm_get_ft_sensor_mode(查询力矩传感器手动模式)

  31. xarm_get_ft_sensor_info(获取力矩传感器信息)

  32. get_world_offset_config(获取坐标系数据)

  33. set_world_offset_configs(设置坐标系数据)

  34. xarm_set_mount_direction(设置安装方向)

  35. xarm_set_reduced_max_joint_speed(设置缩减模式的最大关节速度)

  36. xarm_set_reduced_max_tcp_speed(设置缩减模式的最大tcp速度)

  37. xarm_set_reduced_joint_range(设置缩减模式的关节运动范围)

  38. xarm_set_reduced_mode(开启/关闭缩减模式)

  39. xarm_set_reduced_tcp_boundary(设置缩减模式的安全边界)

  40. xarm_set_fense_mode(设置缩减模式安全边界开启)

通用:

  1. xarm_clear_error_warn

\

HTTP协议:

下载上传_API:

  1. 下载blockly文件

  2. 导入blockly文件

  3. 导出机械臂参数文件

通用:

  1. 加载机械臂参数文件

Last updated