常用方法
打印输出 auto_sync
打印变量。
支持递归打印 table 类型的变量。打印后会自动换行。
- 函数名:lua模块的函数
print - 参数:
- 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 - 参数:
- f: [function] 待运行的函数
- auto_sync: [bool] 是否在函数内部启用 auto_sync。可选,默认
true - 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 - 参数:
- time: [int] 休眠时间(毫秒)
- 返回:无
示例程序
wait(1000) -- 等待1秒
实时等待
通过实时调度器休眠指定毫秒数,用于需要精确控制时间的场景。
- 函数名:lua模块的函数
rt_sleep - 参数:
- time: [int] 休眠时间(毫秒)
- 返回:无
示例程序
rt_sleep(10)
休眠
阻塞当前任务指定毫秒数。
- 函数名:lua模块的函数
sleep - 参数:
- time: [int] 休眠时间(毫秒)
- 返回:无
示例程序
sleep(1000) -- 休眠1秒
永久休眠
永久阻塞当前任务,直到任务被终止。
- 函数名:lua模块的函数
sleep_forever - 参数:无
- 返回:无
示例程序
sleep_forever()
等待条件 auto_sync
机器人将等待一段时间,直到满足指定条件。
- 函数名:lua模块的函数
wait_until - 参数:
- fn: [function] 等待条件,每个周期执行一次判断,直到该
fn()返回true
- fn: [function] 等待条件,每个周期执行一次判断,直到该
- 返回:无
示例程序
wait_until(function()
return get_di(0) == 1
end)
