UR5机械臂的TCP/IP控制

8 篇文章 2 订阅
1 篇文章 3 订阅

最近研究了一下UR5机械臂的控制,由于供应商提供的实物是用自带的示教器来编程控制,感觉很不方便。于是我研究了一下UR5机械臂的资料,决定用Qt写个控制软件,将示教器上面的控制界面移植过来,这样就可以用电脑通过无线网络远程控制机械臂了,下面介绍本人做的控制软件。文章最后附上软件下载地址。

B站演示视频:https://www.bilibili.com/video/BV1hv4y1N7pS?spm_id_from=333.999.0.0

此图是示教器屏幕上的控制界面

在这里插入图片描述

此图为本人用Qt写的UR5机械臂控制软件
在这里插入图片描述
从上面两图对比中可以看出,我写的控制软件进行了功能扩展,示教器上面的控制按钮此软件都包含。不仅如此该软件还具有调试功能,左边的输入输出对话框可以收发数据。输入对话框右边竖排按钮可以添加程序,通过任意组合可以编出简单的控制程序,按发送按钮就可以控制机械臂运动了。中间的控制区域额外添加了一些按钮,比如上电,断电,关机,解除制动,进入示教模式,解除保护停止等功能。右边的区域主要是机械臂的状态显示,比如
X,Y,Z,Rx,Ry,Rz,以及各关节角度信息,此区域中间位置还具有机械臂数据反馈信息,比如电压,电流,机器人模式,安全模式等,下面是细节介绍。
在这里插入图片描述
红框1:该区域是IP设置区域,输入机械臂IP联通后,“开始连接”按钮变为红色。
红框2:该区域竖排按钮可以组合使用编写简单程序,如输入对话框里面程序。

红框3:可以通过“打开文件”按钮找到需要打开的文件(.txt),并将内容显示在输入对话框。“写入文件”可以将写好的程序保存到指定的文件(.txt)。

在这里插入图片描述
此区域为控制按钮区域,带箭头的控制按钮和示教器的控制按钮一样,都是按压式的,只有按住不动的情况下机械臂才会运动,松开自动停止,每个按钮的控制方向完全和示教器上的一样。此外最底下还有进度条控制运动速度和加速度。点击“示教模式”可以手动推动机械臂到任意位置,点击任意其它按钮解除示教模式,如果出现机械臂保护停止状态,“解除保护停止”按钮变为红色,点击此按钮可解除报警继续控制。

在这里插入图片描述
此区域为机械臂状态信息显示,下方关节状态区域可以手动点击箭头按钮,对各关节进行控制。中间红色框区域也是机械臂的实时状态信息,如果机械臂出现断电,保护性停止等情况,都会有相应的报警提示,并且可以根据提示解除相关报警。如下图所示。

在这里插入图片描述
机器人出现保护性停止后,安全模式显示报警信息,“解除保护停止”按钮变为红色,点击此按钮,即可解除报警。

在这里插入图片描述
机械臂断电后机器模式显示报警,上电按钮变为红色,点击此按钮可以上电。

以上就是整个软件的介绍,此软件经过在实体UR机械臂上实测,稳定有效,也可以在URSim仿真器上测试运行。后续可以根据需要添加更多的功能。

  • 软件下载地址

链接:https://pan.baidu.com/s/1t3FZdgIA8ZDEsjyJAwM3Pg?pwd=1234
提取码:1234

没有机械臂实物的:下个虚拟机(vm15等),下载解压,然后用虚拟机打开URSim仿真器。获取虚拟机的IP信息,打开上面的测试软件,输入IP,即可打开测试。

URSim仿真软件下载地址(3.7和3.12版本)
链接:https://pan.baidu.com/s/1sAyssI_y-zlX744VrNMq6w?pwd=1234
提取码:1234

  • 28
    点赞
  • 129
    收藏
    觉得还不错? 一键收藏
  • 21
    评论
### 回答1: 以下是一个MATLAB程序,可以通过TCP/IP控制UR机械臂沿路径点平滑运动: ```matlab % 设置路径点 waypoints = [0.1, -0.5, 0.2, -0.5, 0.2, 0; 0.3, -0.3, 0.2, -0.5, 0.2, 0; 0.3, 0.3, 0.2, -0.5, 0.2, 0; 0.1, 0.5, 0.2, -0.5, 0.2, 0; -0.1, 0.5, 0.2, -0.5, 0.2, 0; -0.3, 0.3, 0.2, -0.5, 0.2, 0; -0.3, -0.3, 0.2, -0.5, 0.2, 0; -0.1, -0.5, 0.2, -0.5, 0.2, 0]; % 创建socket连接 t = tcpip('192.168.1.100', 30002, 'NetworkRole', 'client'); fopen(t); % 设置速度和加速度 speed = 0.1; acceleration = 0.5; % 循环运动路径点 for i = 1:size(waypoints, 1) % 设置UR机械臂运动指令 command = ['movej([', num2str(waypoints(i, :)), '],', num2str(speed), ',', num2str(acceleration), ')\n']; fwrite(t, command); % 等待机械臂到达目标点 while true response = fgetl(t); if contains(response, 'reached') break; end end end % 关闭socket连接 fclose(t); ``` 以上是一个简单的程序,可以通过TCP/IP控制UR机械臂沿路径点平滑运动。程序中,首先设置了路径点,然后创建了一个TCP/IP连接。接着,设置了速度和加速度参数,并且循环运动路径点,发送UR机械臂运动指令。在每个路径点到达之后,程序会等待机械臂到达目标点,然后再运动到下一个路径点。最后,关闭TCP/IP连接。 ### 回答2: MATLAB通过TCP/IP控制UR机械臂沿路径点平滑运动的程序可以分为以下几个步骤: 首先,需要确保计算机与UR机械臂之间的网络连接正常并且已经建立TCP/IP连接。可以使用MATLAB中的相关函数如`tcpip`来创建TCP/IP对象,并使用`fopen`函数打开连接。 接下来,需要定义机械臂的路径点,并将这些点转换为UR机械臂可接受的格式。可以使用MATLAB中的向量或矩阵来表示路径点,每个点的坐标可以使用三维坐标系来描述。 然后,将路径点发送给UR机械臂。通过使用TCP/IP连接,可以将路径点作为字符串发送给机械臂控制器。可以使用`fprintf`函数将路径点字符串发送给机械臂。 接着,需要设置机械臂的运动模式和速度等参数。可以使用UR机械臂控制器提供的命令来设置这些参数。 最后,使用`fscanf`函数从机械臂控制器接收响应信息,以确保机械臂已经收到并开始执行运动。 需要注意的是,在发送路径点之前,可能需要添加某些指令来确保机械臂处于正确的初始状态。此外,还需要考虑机械臂运动期间的安全问题,例如避免碰撞或控制力度等。 总之,通过TCP/IP连接和MATLAB提供的网络编程功能,可以实现对UR机械臂沿路径点平滑运动的控制。具体实现的细节取决于机械臂的具体控制要求和网络通信协议。 ### 回答3: 要使用MATLAB通过TCP/IP控制UR机械臂沿路径点平滑运动,可以按照以下步骤进行操作。 首先,需要在UR机械臂上安装URCaps软件包,该软件包提供了与MATLAB通信所需的功能。然后,启动URCaps软件包并确保机械臂连接到网络中。 接下来,在MATLAB中使用TCP/IP协议建立与机械臂的通信。可以使用MATLAB的Instrument Control Toolbox中的TCP/IP功能来实现此功能。通过指定机械臂IP地址和端口号,MATLAB可以建立与机械臂的通信通道。 然后,编写MATLAB程序来发送运动指令给机械臂。可以使用MATLAB的TCP/IP功能向机械臂发送命令,控制机械臂沿路径点平滑运动。可以使用MATLAB中的矩阵运算和插补算法来生成平滑路径,并将路径点的坐标发送给机械臂。 在发送指令之前,需要确保机械臂处于安全模式下,并且电源已打开。可以使用MATLAB的TCP/IP功能向机械臂发送命令以解除安全模式,并将其置于远程模式。 最后,执行MATLAB程序,观察机械臂是否按照指定的路径点平滑运动。MATLAB会将路径点的坐标发送到机械臂机械臂会根据指定的路径点进行平滑运动。 需要注意的是,这只是一个简单的示例程序,真实的控制过程可能需要更复杂的算法和通信协议。在实际应用中,还需要考虑安全性、误差校正和实时性等因素。因此,在实际使用中,建议参考UR机械臂和MATLAB的相关文档和示例程序,以便更好地理解和应用MATLAB通过TCP/IP控制UR机械臂沿路径点平滑运动的方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值