事件通知

通过重定义事件函数,接收事件通知。

注意

3.1.52 及之后版本,所有事件内函数均以 disable_auto_sync 方式运行。

监听事件 3.1.35

注册事件回调函数,收到事件时执行 func

注意

部分事件存在默认行为,重定义事件后默认行为将不再执行,可能导致行为不一致。

示例程序

on_event("robot_stop", function(is_estop)
  -- 终止IO、电机等
  set_do(0, 0)
  -- 停止执行后续任务
  cancel_task(get_task_id())
end)

机器人状态变更 3.1.11

机器人状态变更时触发。

  • 函数名:lua模块的函数on_robot_state
  • 参数:
    1. state: [int] 变更后的机器人状态
  • 返回:无

示例程序

function on_robot_state(state)
  print("robot state: ", state)
end

机器人发生碰撞 3.1.52

机器人发生碰撞时触发。

  • 函数名:lua模块的函数on_robot_collide
  • 参数:无
  • 返回:无

示例程序

function on_robot_collide()
  set_voice(3, 2)
  set_led(6, 1, {0})
end

机器人停止 3.1

机器人停止时触发。

  • 函数名:lua模块的函数on_robot_stop
  • 参数:
    1. is_estop: [bool] 是否为急停停止
  • 返回:无

示例程序

function on_robot_stop(is_estop)
  cancel_task(get_task_id())
end

任务结束 3.1

任务运行结束后触发。

  • 函数名:lua模块的函数on_task_exit
  • 参数:
    1. is_success: [bool] 任务是否执行成功
  • 返回:无

示例程序

function on_task_exit(is_success)
  if not is_success then
    stop_move()
  end
end

任务暂停 3.1

任务暂停运行后触发。

  • 函数名:lua模块的函数on_task_pause
  • 参数:无
  • 返回:无

示例程序

function on_task_pause()
  pause_move()
end

任务恢复 3.1

任务恢复运行后触发。

  • 函数名:lua模块的函数on_task_resume
  • 参数:无
  • 返回:无

示例程序

function on_task_resume()
  resume_move()
end