状态数据
判断机器人是否可运动
根据给定的机器人状态判断机器人是否可运动。
- 函数名:[Robot]下的方法
can_move - 参数:
- robot_state: [RobotState] 机器人状态
- 返回:[bool] 是否可运动。
IDLE、PAUSED、MOVING状态下为true,其余状态为false
示例程序
state = lebai:get_robot_state()
if lebai:can_move(state) then
print("可以运动")
end
state = lebai.get_robot_state()
if lebai.can_move(state):
print("可以运动")
获取机器人状态
获取机器人当前状态。
- 函数名:[Robot]下的方法
get_robot_state - 参数:无
- 返回:[RobotState] 当前机器人状态
注意
手臂是空闲状态时,当有场景调用,场景内执行非运动类指令,手臂状态仍是空闲状态,手臂状态和场景的执行有相对独立性。
示例程序
state = lebai:get_robot_state()
print(state)
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)
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 }
获取手臂运动数据
读取运动数据(关节/笛卡尔的位置、速度、加速度、力矩)。
示例程序
data = lebai:get_kin_data()
print(data.actual_joint_pose)
print(data.actual_tcp_pose)
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 }
获取手臂物理数据
读取物理数据(温度、电压)。
示例程序
data = lebai:get_phy_data()
print(data)
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 }
