EC机器人中断轨迹恢复功能

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代码

点击显示全文
赞同0
发表评论
分享

手机扫码分享
1
375
收藏
举报
收起
登录
  • 密码登录
  • 验证码登录
还没有账号,立即注册
还没有账号,立即注册
注册
已有账号,立即登录
选择发帖板块
举报
请选择举报理由
举报
举报说明