Skip to content

发送脚本到机器人执行

用户可以自行编写符合 BasScript 语法的脚本,通过本接口发送到机器人执行。建议使用代码生成相应的脚本,防止手动编写错误。

接口说明

功能描述发送脚本
接口名称gbt_interface/srv/SendScript
接口说明该接口用于发送脚本到机械臂。
启动服务ros2 launch gbt_driver gbt_service_server.launch.py robot_type:=<机器人型号>
接口使用示例ros2 service call /gbt_driver/service_server/send_script gbt_interface/srv/SendScript "{script_name: 'test', script_content: 'SUB main\n MOVEJ PR[1] 100 SD 200.5\n RETURN\nEND'}"

注意:

1. script_name: 脚本名称,字符串类型

2. script_content: 脚本内容,字符串类型

3. 确保 PR[1] 等参数在机器人中存在,否则脚本无法执行

  1. robot_type 默认值为 "C5A" 。 可选值: C7AC12AC16A

使用代码生成脚本(推荐)

使用案例如下:

python
bs = BasScript(name='bas_test')
ret = bs.move_joint(pose_type = MovePoseType.PR, pose_index = 1, speed_type = SpeedType.VALUE, speed_value = 100, smooth_type = SmoothType.SMOOTH_DISTANCE, smooth_distance = 200.5)
bs.content.extend(["  RETURN", "END"])
script="\n".join(bs.content[1:])

更详细的使用方法请参考 SDK 文档

直接编写脚本

bash
SUB main
  MOVEJ PR[1] 100 SD 200.5
  RETURN
END