Lua 代码分析:判断位置并执行操作
这段代码主要是一个条件判断语句,判断了三个条件:
- "math.abs(position[1]-stop[1][1])<0.05":判断位置的第一个坐标与stop的第一个坐标之差的绝对值是否小于0.05。
- "math.abs(position[2]-stop[1][2])<0.05":判断位置的第二个坐标与stop的第二个坐标之差的绝对值是否小于0.05。
- "flag[1]==0":判断flag列表中的第一个元素是否为0。
如果三个条件都为真,则执行以下操作:
- "sim.setIntegerSignal('occupy1',1)":设置一个名为'occupy1'的整数信号为1。
- "sim.setJointTargetVelocity(leftmotor,0)":将leftmotor关节的目标速度设置为0。
- "sim.setJointTargetVelocity(rightmotor,0)":将rightmotor关节的目标速度设置为0。
- "sim.wait(0.8)":等待0.8秒。
- "sim.setIntegerSignal('arrive1',1)":设置一个名为'arrive1'的整数信号为1。
- "sim.waitForSignal('finish1')":等待一个名为'finish1'的信号。
- "sim.clearIntegerSignal('finish1')":清除名为'finish1'的整数信号。
- 进入一个无限循环,直到"sim.getIntegerSignal('occupy2')==nil",即名为'occupy2'的整数信号不存在。
- "sim.clearIntegerSignal('occupy1')":清除名为'occupy1'的整数信号。
- 将flag列表重新赋值为{1,0,0,0,0,0,0,0}。
原文地址: https://www.cveoy.top/t/topic/pAKo 著作权归作者所有。请勿转载和采集!