状态数据

判断机器人是否可运动

根据给定的机器人状态判断机器人是否可运动。

  • 函数名:[Robot]下的方法can_move
  • 参数:
    1. robot_state: [RobotState] 机器人状态
  • 返回:[bool] 是否可运动。IDLEPAUSEDMOVING 状态下为 true,其余状态为 false

示例程序

state = lebai:get_robot_state()
if lebai:can_move(state) then
  print("可以运动")
end

获取机器人状态

获取机器人当前状态。

注意

手臂是空闲状态时,当有场景调用,场景内执行非运动类指令,手臂状态仍是空闲状态,手臂状态和场景的执行有相对独立性。

示例程序

state = lebai:get_robot_state()
print(state)
JSON-RPC
// 请求:
{ "jsonrpc": "2.0", "method": "get_robot_state", "params": [{}], "id": 1 }
// 响应:
{ "jsonrpc": "2.0", "result": {"state": "IDLE"}, "id": 1 }

获取急停原因

获取机器人当前急停原因。

  • 函数名:[Robot]下的方法get_estop_reason
  • 参数:无
  • 返回:[EstopReason] 急停原因

示例程序

reason = lebai:get_estop_reason()
print(reason)
JSON-RPC
// 请求:
{ "jsonrpc": "2.0", "method": "get_estop_reason", "params": [{}], "id": 1 }
// 响应:
{ "jsonrpc": "2.0", "result": {"state": "NONE"}, "id": 1 }

获取手臂运动数据

读取运动数据(关节/笛卡尔的位置、速度、加速度、力矩)。

  • 函数名:[Robot]下的方法get_kin_data
  • 参数:无
  • 返回:[KinData] 运动数据,包含以下字段

示例程序

data = lebai:get_kin_data()
print(data.actual_joint_pose)
print(data.actual_tcp_pose)
JSON-RPC
// 请求:
{ "jsonrpc": "2.0", "method": "get_kin_data", "params": [{}], "id": 1 }
// 响应:
{ "jsonrpc": "2.0", "result": {"actual_joint_pose": [], "actual_tcp_pose": {}}, "id": 1 }

获取手臂物理数据

读取物理数据(温度、电压)。

  • 函数名:[Robot]下的方法get_phy_data
  • 参数:无
  • 返回:[PhyData] 物理数据,包含以下字段

示例程序

data = lebai:get_phy_data()
print(data)
JSON-RPC
// 请求:
{ "jsonrpc": "2.0", "method": "get_phy_data", "params": [{}], "id": 1 }
// 响应:
{ "jsonrpc": "2.0", "result": {"joint_voltage": [48.0], "flange_voltage": 24.0}, "id": 1 }