常用方法

打印输出 auto_sync

打印变量。

支持递归打印 table 类型的变量。打印后会自动换行。

  • 函数名:lua模块的函数print
  • 参数:
    1. params: [any] 要打印的内容,可传入多个
  • 返回:无

示例程序

print("hello", 1, {x=1, y=2})

同步

同步。等待机器人完成当前运动。

默认情况下,运行标有 auto_sync 的指令前会自动调用该同步指令。

注意

强烈推荐使用 disable_auto_sync() 禁用自动同步功能,并在需要等待运动完成的地方手动调用 sync()

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

示例程序

movej({j1=0, j2=1.57, j3=-1.57, j4=0, j5=3.14, j6=3.14}, 1.0, 0.2, 0, 0)
sync() -- 等待运动完成

禁用自动同步 3.1

调用本接口后,后续标有 auto_sync 的指令将不会再自动调用 sync() 等待运动完成。

注意

强烈推荐使用 disable_auto_sync() 禁用自动同步功能,并在需要等待运动完成的地方手动调用 sync()

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

示例程序

disable_auto_sync()
movej({j1=0, j2=1.57, j3=-1.57, j4=0, j5=3.14, j6=3.14}, 1.0, 0.2, 0, 0)
print("movej not finish") -- 运动未完成就立即打印
sync() -- 手动等待运动完成

启用自动同步 3.1

调用本接口后,后续标有 auto_sync 的指令将自动调用 sync() 等待运动完成。

注意

协作式多任务存在兼容性问题,不建议使用本接口。 强烈推荐使用 disable_auto_sync() 禁用自动同步功能,并在需要等待运动完成的地方手动调用 sync()

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

示例程序

enable_auto_sync()
movej({j1=0, j2=1.57, j3=-1.57, j4=0, j5=3.14, j6=3.14}, 1.0, 0.2, 0, 0)
print("movej had finish") -- 自动等待运动完成后再打印

同步运行 3.1.21

仅在函数内部设置 auto_sync,不影响函数外部的自动同步设置。

注意

协作式多任务存在兼容性问题,不建议使用本接口。 强烈推荐使用 disable_auto_sync() 禁用自动同步功能,并在需要等待运动完成的地方手动调用 sync()

  • 函数名:lua模块的函数sync_run
  • 参数:
    1. f: [function] 待运行的函数
    2. auto_sync: [bool] 是否在函数内部启用 auto_sync。可选,默认 true
    3. args: [any] 透传给函数 f 的参数,可省略
  • 返回:[any] 函数 f 的返回值

示例程序

ret = sync_run(function()
  ret = scene("10001")
  return ret
end, false)

获取时间戳

获取毫秒时间戳。

  • 函数名:lua模块的函数timestamp
  • 参数:无
  • 返回:[int] 毫秒时间戳

示例程序

print(timestamp())

等待 auto_sync

机器人将等待一段时间。

  • 函数名:lua模块的函数wait
  • 参数:
    1. time: [int] 休眠时间(毫秒)
  • 返回:无

示例程序

wait(1000) -- 等待1秒

实时等待

通过实时调度器休眠指定毫秒数,用于需要精确控制时间的场景。

  • 函数名:lua模块的函数rt_sleep
  • 参数:
    1. time: [int] 休眠时间(毫秒)
  • 返回:无

示例程序

rt_sleep(10)

休眠

阻塞当前任务指定毫秒数。

  • 函数名:lua模块的函数sleep
  • 参数:
    1. time: [int] 休眠时间(毫秒)
  • 返回:无

示例程序

sleep(1000) -- 休眠1秒

永久休眠

永久阻塞当前任务,直到任务被终止。

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

示例程序

sleep_forever()

等待条件 auto_sync

机器人将等待一段时间,直到满足指定条件。

  • 函数名:lua模块的函数wait_until
  • 参数:
    1. fn: [function] 等待条件,每个周期执行一次判断,直到该 fn() 返回 true
  • 返回:无

示例程序

wait_until(function()
  return get_di(0) == 1
end)