https://pan.baidu.com/s/1l-Pvr1CMtAII-BNGZbdHXg?pwd=Bu5C
提取码:Bu5C
. 机器人正常轨迹为Target_1-->Target_2-->Target_3-->Target_4-->Target_1。
2. 机器人在运行Target_1-->Target_2路径时,收到外部信号,此时机器人停止运动,并去Target_7进行Home作业。
3. 机器人完成Home作业,延原路径返回到Target_1-->Target_2上的停止点。
4. 机器人继续运行剩余的轨迹。
1. 由于EC机器人没有中断和轨迹恢复功能,故使用lua编写该功能。
2. 该功能包括
1. lua后台监控信号,
2. 信号0变1时,触发机器人停止(由于在lua中发送json字符串,所以机器人需要处于remote模式)
3. lua 发送相关json,获取机器人当前停止程序行号(注 该行号包括jbi最上方的Cxxxxx点)
4. 由于sdk无法获得当前jbi程序名,通过在正常运行的jbi程序首行加入 SET B20 0来获取对应JBI程序名,例如B20 为0对应prg_0.jbi,B20为1,对应prg_1.jbi。 类似关系可以在lua中修改。机器人停止时,获取当前jbi名字
5. 将当前运行jbi程序复制一份为trap_restorepath.jbi,并且根据当前机器人停止行号,删除上方已经运行的指令(包括对应C点),升序Cxxxxx点名字重新排序(JBI中需要从0开始),不影响后续执行
6. lua控制机器人执行trap_home.jbi程序(该程序为机器人记录停止点,并移动到相关位置后再回到停止点,具体位置需要客户示教)
7. 待机器人回到停止点,lua启动运行trap_restorepath.jbi程序,机器人走完程序轨迹。
## 使用方法
1. 将文件夹中的trap_home.jbi,prg_0.jbi,luadir文件夹中的trap.lua拷贝到机器人,并且运行trap.lua
2. 可以再prg_0.jbi程序中编写程序。编写的程序都为prg_xx.jbi格式
3. 在prg_xx.jbi第一行插入SET B20 xx, lua通过B20获取当前jbi名字
4. 由于机器人需要处于remote模式,所以程序启动等通过sdk或者通过s变量
5. lua中例子为检测m550 从0变1,会触发机器人中断当前轨迹并移动到trap_home.jbi程序中。
6. 用户可以在trap_home.jbi中自由修改对应裸机
7. 机器人回到停止点,并且执行剩余轨迹后停止。 若需要继续,可以将lua中的 StartPath(curr_jbi) 代码注释打开,即会再运行一遍当前程序。
####LUA代码