睿尔曼超轻量仿人机械臂--二次开发调用机械臂存储程序

文章详细介绍了如何通过WEB示教器连接和控制RM65-BI机械臂,包括数据管理、点位存储、使用JSON指令执行机械臂程序,以及基于Python的示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、功能介绍

二、WEB示教器程序及点位存储

1.连接机械臂

2.数据管理界面

3.数据的保存

三、JSON指令控制机械臂执行机械臂内部程序

1.查询在线编程程序列表

2.开始运行指定编号轨迹


软硬件版本说明

软件版本:

        机械臂控制器:V1.2.12

        JSON协议:V3.5.6

硬件版本:

        机械臂型号:RM65-B I(本文中内容不适用与RM65-B系列机械臂)

由于机械臂相关软件版本不定期更新,如果你使用的软件接口或协议与本文有出入,请联系官方技术人员及时更新。


一、功能介绍

此功能可应用于机械臂简单运动或集成末端夹爪、灵巧手、升降机构等。通过此功能可大大降低使用人员动作调试时间。

此功能仅支持搭载有第三代控制器的机械臂使用,可用机械臂型号为RM65-B I等等。

二、WEB示教器程序及点位存储

WEB示教器支持多系统多环境运行,不受系统限制。

1.连接机械臂

通过网线连接上位机及机械臂之后,修改上位机IPV4网段为192.138.1.X,随后在浏览器网址输入192.168.1.18。此处用户名与密码分别为user、123,最后点击登录即可。进入示教器之后如下图2所示

2.数据管理界面

在示教器左侧菜单栏中点击在线编程->数据管理,在此界面可查看已保存的轨迹、点位、编程文件;

3.数据的保存

进入在线编程->图形化编程界面,在此界面可添加机械臂点位及示教器程序。

①点位的添加

在在线编程界面点击“新增路点”按钮,此时示教器会跳转至机械臂示教界面,在此界面可对机械臂动作进行示教,最终进行保存,保存与取消按钮如下图二所示;

 通过示教按钮及位姿编辑可控制机械臂运动,找到需要的机械臂点位。

在点位的保存时,需填写保存点位的名称,名称仅支持字母与数字的组合表示,最多为10个字母。

 在在线编程菜单栏中选择数据管理界面,在此界面打开“点位管理”可以找到上一步骤中保存完成的点位,且在此处也可编辑已经保存完成的轨迹,如下图所示

按照此步骤,可以根据机械臂运动实际场景进行添加点位,添加完成之后可以在图形化编程界面调用点位,控制机械臂运动。

根据机械臂使用手册中所提到的图形化编程方法,选择“运动”菜单栏中‘运动’图块,将图块最后方的路点更改为上一步骤中添加完成的点位。

按照上述方法,添加多个点位及多个运动指令形成固定的程序。

添加完成机械臂运动点位之后需要保存在线编程程序至机械臂控制器端,保存方法为在“在线编程”界面将保存编程文件选项选中,并点击“开始”按钮,

 点击“开始”按钮之后,界面会弹出保存程序窗口,在此处需填写程序名称及程序编号,之后点击“开始”按钮即可。

 WEB示教器添加在线编程文件到此结束,后续可以使用JSON指令或API调用此程序,控制机械臂。

三、JSON指令控制机械臂执行机械臂内部程序

        JSON指令执行机械臂程序,可使用网络调试助手或高级语言进行。这两种方法在往期文章中均有介绍,此处仅做功能实现讲解。

        在机械臂资料中找到《睿尔曼机械臂JSON协议文档V3.5.6》文档,找到‘在线编程存储列表(I系列)’部分内容,通过此部分指令可以查询机械臂内部存储的程序列表和执行指定编号轨迹。

1.查询在线编程程序列表

功能描述

查询轨迹列表

参数说明

get_program_trajectory_list:过Json协议可查询已存储的轨迹列表,支持可分页查询和模糊查询

命令格式

{s:s,s:i,s:i,s:s}

示例

{"command":"get_program_trajectory_list","page_num":1,"page_size":10,"vague_search":"traj1"}

说明:

page_num:页码(全部查询时不传此参数)

page_size:每页大小(全部查询时不传此参数)

vague_search:模糊搜索 (传递此参数可进行模糊查询)

返回值

{"command":"get_program_trajectory_list","page_num":1,"page_size":10,"vague_search":"traj1","list":[{"id":1,"file_name":"file1","file_size":123},{"id":2,"file_name":"file2","file_size":222}]}

返回查询符合的在线编程列表

2.开始运行指定编号轨迹

功能描述

开始运行编号轨迹

参数说明

set_program_id_start:运行指定编号在线编程

命令格式

{s:s,s:i,s:i}

示例

{"command":"set_program_id_start","id":2,"speed":50}

说明:

id:运行指定的ID,1-100,存在轨迹可运行

speed:1-100,需要运行轨迹的速度,可不提供速度比例,按照存储的速度运行

返回值

格式:{s:s,s:b}true-设置成功,false-设置失败

{"command":"set_program_id_run","start_state",true} 开始运行成功

{"command":"set_program_id_run","start_state",true} 开始运行失败

在线编程程序结束后,会主动上报结束结束的ID

{"state":"program_run_finish","finish_id":4}

  1. 使用TCP调试助手发送指令

①查询指令

通过对指令说明的阅读,可以通过查询所有程序指令读取

{"command":"get_program_trajectory_list"}

通过查询接口发送上述指令之后,会接收到如下指令:

{"command":"get_program_trajectory_list","list":[{"id":1,"size":10483,"speed":21,"trajectory_name":"1_chouti.txt"}],"page_num":0,"page_size":1,"total_size":1,"vague_search":""}

上述返回指令中,返回了1个id为1的机械臂程序,名称为1_chouti.txt。

②执行指令

{"command":"set_program_id_start","id":1,"speed":20}

通过上述指令可控制机械臂执行id为“1”的机械臂程序,运行速度设置为20。此时机械臂在接收到指令之后会以百分之20的速度执行程序。

四、基于Python发送JSON指令控制机械臂执行内部程序

首先使用Python语言中的Socket库创建TCP通信中的客户端,连接至机械臂的服务器,通过发送JSON指令的方式控制机械臂运动。

import socket
import time
import json
#读取全部保存列表
point1 = '{"command":"get_program_trajectory_list"}\r\n'
#执行程序
Gripping = '{"command":"set_program_id_start","id":1,"speed":20}\r\n'

client1 = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host1 = '192.168.1.18'
port1 = 8080
client1.connect((host1, port1))
client1.send(point1.encode('utf-8'))

data1 = client1.recv(1024).decode()

print(data1)

client1.send(Gripping.encode('utf-8'))
data1 = client1.recv(1024).decode()
time.sleep(0.5)
client1.close()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值