机械臂控制——4

2023-11-15

Robot Drivers

机器人驱动程序可以控制连接到计算机的真实机器人。机器人驱动程序使用通用软件接口来控制和监视特定的机器人控制器,使计算机能够控制工业机器人。

机器人驱动程序提供了脱机编程的替代方案(程序被模拟,生成,然后传输到机器人并执行)。使用机器人驱动程序,您可以在模拟机器人时移动机器人(在线编程)。
以下文章显示了使用机器人驱动程序的在线编程项目示例:https://robodk.com/blog/online-programming/
可以使用机器人驱动程序在机器人上执行在RoboDK中编程的任何机器人模拟。然后,模拟器中的机器人运动与真实机器人同步,并且可以实时调试机器人程序。

注意:机器人驱动程序默认位于文件夹/ RoboDK / api / Robot /中。驱动程序可以是Python文件(PY格式)或EXE文件。
注意:机器人驱动程序不是后处理器。后处理器允许生成由机器人控制器执行的程序(离线编程)。后处理器部分中的更多信息。
以下列表提供了RoboDK中一些受支持的机器人驱动程序:

● ABB

● Fanuc

● 库卡

● 学术

● 三菱

● Motoman

● 通用机器人
重要:大多数机器人驱动程序使用TCP / IP套接字通信协议。可能需要为某些机器人控制器(来自机器人制造商)购买额外的软件选项,因为默认情况下可能不允许套接字通信。

注意:最终用户可以添加或修改现有机器人驱动程序,然后在“机器人连接”菜单中链接新驱动程序。

如何使用机器人驱动程序
按照以下步骤将机器人驱动程序与RoboDK配合使用:

  1. 右键单击机器人

  2. 选择连接到机器人…

  3. 输入机器人的IP

  4. 选择“ 连接”

如果连接成功,将显示显示Ready的绿色消息,如下图所示。
提示:使用ping按钮测试机器人是否已连接到计算机。
重要事项:某些机器人控制器需要特定设置或激活机器人控制器上的特定选项。按照机器人的说明进行操作。
在这里插入图片描述
提示:选择获取机器人关节以从机器人检索当前机器人位置并更新RoboDK中虚拟机器人的位置。

提示:双击“断开连接”两次以强制驱动程序停止。如果机器人意外停止(例如由于碰撞或轴限制),驱动程序可能会无响应,在这种情况下,可以通过双击Disconnect重新启动驱动程序,然后再次连接。

提示:如果机器人和计算机位于同一网络中,机器人程序也可以离线生成并通过FTP传输,如“ 传输程序”部分所示。在这种情况下不使用机器人驱动程序。通过在机械手连接窗口中选择更多选项,提供IP,FTP用户名和FTP密码。然后,在选择将程序发送到机器人选项(Ctrl + F6)时,可以传送程序。
注意:如果连接不起作用,“ 故障排除”部分将提供更多信息。

使用GUI
使用图形用户界面(GUI)创建的机器人程序可以按照以下步骤在机器人上执行:

  1. 右键单击一个 程序

  2. 选中Run on robot选项

  3. 双击程序启动它

程序应该从真实的机器人开始,模拟器将跟随机器人的运动。当机器人忙时,连接状态将显示工作…黄色。

注意:程序图标应如下图所示进行更新,以显示程序正在机器人上运行。
在这里插入图片描述
使用API
可以从RoboDK API控制机器人的移动,例如,从Python程序或C#应用程序编程机器人。

从RoboDK运行Python程序时,将自动管理Run on robot选项。按照以下步骤在机器人上运行Python程序:

  1. 右键单击Python程序

  2. 选择在机器人上运行

程序应该开始在机器人上运行,机器人连接状态将相应更新。

提示:从C:/ RoboDK / Library / Macros /文件夹中选择宏SampleOfflineProgramming.py,以围绕机器人当前位置的六边形路径对其进行测试。
在这里插入图片描述
如果程序在RoboDK的GUI之外执行(出于调试目的,或者我们使用RoboDK API作为C#),我们可以使用RDK.setRunMode将RunMode设置为RUNMODE_RUN_ROBOT。这将强制程序在机器人上运行。也可以使用robot.Connect()建立连接。

注意:除非使用GUI在机器人上生成或设置为运行Python程序,否则RoboDK会自动将RunType设置为RUNMODE_SIMULATE,默认情况下启动RoboDK API。

# Start the RoboDK API
RDK = Robolink()
robot = RDK.Item('',ITEM_TYPE_ROBOT)

# Connect to the robot using default connetion parameters
success = robot.Connect()
status, status_msg = robot.ConnectedState()
if status != ROBOTCOM_READY:
# Stop if the connection did not succeed
raise Exception("Failed to connect: " + status_msg)

# Set to run the robot commands on the robot
RDK.setRunMode(RUNMODE_RUN_ROBOT)
# Note: This is set automatically if we use
# robot.Connect() through the API

# Move the robot:
robot.MoveJ([10,20,30,40,50,60])

提示:从C:/ RoboDK / Library / Macros /文件夹中选择宏SampleOnlineProgramming.py以获得更完整的示例。此外,RoboDK API部分提供了使用Python API和C#API进行在线编程的更多示例。

注意:也可以从RoboDK API触发使用GUI创建的程序,就像使用GUI手动触发一样,如上一节所示。以下示例显示了如何:

prog = RDK.Item('MainProgram', ITEM_TYPE_PROGRAM)
prog.setRunType(PROGRAM_RUN_ON_ROBOT) # Set the run on robot option
# Set to PROGRAM_RUN_ON_SIMULATOR to run on the simulator only
prog.RunProgram()
while prog.Busy() == 1:
pause(0.1)
print("Program done")

自定义机器人驱动程序

机器人驱动程序默认位于文件夹/ RoboDK / api / Robot /中。RoboDK链接到机器人连接设置中的特定驱动程序:

  1. 右键单击机器人
  2. 选择 连接到机器人…
  3. 选择更多选项…
  4. 在“ 驱动程序路径”部分中找到或输入驱动程序路径的路径

一个机器人驱动程序是独立控制台应用程序。可以使用任何编程平台开发机器人驱动程序,例如,它们可以是Python模块(PY格式)或在任何开发环境下构建的任何可执行程序。
在这里插入图片描述
机器人驱动程序允许通过命令行与机器人通信。RoboDK也使用可手动执行的相同命令从PC驱动机器人。每个机器人驱动程序都可以在控制台模式下运行以进行测试
C:/ RoboDK / bin / robot /中提供了一个示例Python驱动程序(apimecademic.py)及其控制Mecademic机器人的源代码。

双击apimecademic.py文件以在控制台模式下运行模块(必须安装Python)。驱动程序将等待任何新命令。例如,我们可以输入以下命令来连接到提供IP和通信端口的机器人:

CONNECT 192.168.100.1 10000

如果连接成功,我们应该看到SMS:Ready消息。然后,我们可以输入以下命令来检索当前的机器人关节:

CJNT

我们还可以输入其他命令,如MOVJ,MOVL或SETTOOL来移动机器人或更新TCP:

MOVJ 10 20 30 40 50 60

在这里插入图片描述
一些机器人支持实时监控关节位置。在这种情况下,当机器人通过发送JNTS_MOVING命令移动时,可以提供关节位置反馈。当从RoboDK运行驱动程序时,虚拟机器人将实时跟踪真实机器人的移动。在发送就绪消息之前,不会处理新命令。

注意:当从RoboDK运行驱动程序时,任何使用前缀SMS:发送的消息都将显示在连接状态栏中。特定消息以特定颜色显示,例如就绪(绿色),工作(黄色)或等待(蓝色)。任何其他消息将以红色显示。
与控制台的交互和与机器人的连接由Mecademic驱动程序的一个Python模块管理。对于所有机器人,与控制台的交互应该相同,如本节所述。但是,与每个机器人的交互取决于机器人制造商,在这种情况下,我们参考Meca 500编程手册来发送适当的命令。这些命令允许移动和监控Meca 500机器人。

疑难解答
设置机器人驱动程序可能不像离线生成程序那样简单(离线编程)。如果连接不起作用,以下步骤提供了一些查找问题根源的提示:

  1. 确保机器人的IP正确且可访问:从机器人连接菜单中选择ping按钮(或通过命令行ping机器人)以确保机器人和计算机位于同一网络中。

  2. 如果机器人和计算机不在同一网络中,请为计算机 设置静态IP。

  3. 如果您使用的是Windows:确保已关闭Windows防火墙以防止阻止任何连接。

  4. 确保机器人侧的通信端口合适且可用。

  5. 确保机器人控制器上遵循适当的说明,具体取决于控制器型号。

  6. 双击机器人连接窗口上的断开连接以强制驱动程序停止,然后再次选择连接以尝试新连接。

注意:您可能需要Windows上的管理员权限才能执行其中一些操作。

Ping测试
ping测试将测试机器人在Internet协议(IP)网络上的可达性。
在这里插入图片描述
在这里插入图片描述
如果没有通信,我们应该验证机器人的IP和PC是否在同一局域网(LAN)中。可能需要关闭Windows防火墙或添加规则以允许通信。

准确性

1、机器人校准(激光跟踪仪)
工业机器人具有高度可重复性但不准确,因此通过机器人校准可以提高工业机器人的精度。机器人的标称精度取决于机器人的品牌和型号。通过机器人校准,您可以将机器人精度提高2到10倍。
可选地,可以执行球杆仪测试(圆形测试)或ISO9283路径精度测试以快速验证机器人的准确性。
在这里插入图片描述
需要测量系统来校准机器人。RoboDK可用于校准机器人以及生成精确的机器人程序(包括过滤程序和使用RoboDK的离线编程引擎)。通过球杆仪测试或机器人铣削,RoboDK还可用于在校准之前和之后测试机器人的精度
机器人校准可显着提高离线编程机器人的精度,也称为离线编程(OLP)。校准机器人具有比未校准机器人更高的绝对和相对定位精度。

安装RoboDK并正确执行机器人校准需要以下项目:

  1. 一个或多个工业机器人手臂
  2. 测量系统:任何激光跟踪仪,如Leica,API或Faro,或光学CMM,如Creaform的C-Track立体相机都应该工作
  3. 必须安装RoboDK软件,并且需要适当的机器人校准测试许可证。对于网络许可证,需要Internet连接才能检查许可证。要安装或更新RoboDK以进行机器人校准:

从下载部分https://robodk.com/download下载RoboDK
湾设置测量系统的驱动程序(Creaform Optical CMM不需要)。 解压缩并复制相应的文件夹:
API激光跟踪器: https://robodk.com/downloads/private/API.zip (OTII and Radian trackers)
Faro激光跟踪 器: https://robodk.com/downloads/private/Faro.zip (all Faro Trackers)
Leica激光跟踪器: https://robodk.com/downloads/private/Leica.zip (all Leica Trackers)
到文件夹:C:/ RoboDK / api /

离线设置
建议在开始进行测量之前,在RoboDK(离线设置)中创建机器人设置的虚拟环境。本节介绍如何脱机准备RoboDK站。这可以在拥有机器人和跟踪器之前完成,只能使用安装了RoboDK的计算机。

RoboDK校准设置示例可以从以下文件夹下载:https://www.robodk.com/downloads/calibration/

如果您已有离线单元,请跳过此部分。可以近似估计参考系和工具框架。样品站如下图所示。
在这里插入图片描述
RoboDK站是存储虚拟环境站和校准信息的地方。该站保存为RDK文件。按照以下步骤从头开始创建用于机器人校准的机器人工作站(视频预览:https://youtu.be/Nkb9uDamFb4):

  1. 选择机器人:
    a、选择文件 ➔ 打开在线库。在线图书馆将出现在RoboDK中。
    b、使用过滤器按品牌,有效载荷,…找到您的机器人
    C。选择下载,机器人应自动出现在工作站中。

d。 或者,从http://www.robodk.com/library单独下载机器人文件(.robot文件扩展名)并使用RoboDK打开它们。

机器人校准LaserTracker - 图3

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

机械臂控制——4 的相关文章

  • 【POJ 2406】 Strings

    Strings Time Limit 3000MS Memory Limit 65536K Total Submissions 35168 Accepted 14543 Description Given two strings a and
  • hosts文件为空白或删除情况修复

    直接输入修改即可 ip baiTab 空格 域名 回车 即可 du如果不放心 复制以下内容zhi修复hosts文件 再修dao改hosts文件 Copyright 1993 1999 Microsoft Corp This is a sam
  • 嵌入式面试题及答案

    我们在找嵌入式方面的工作时 最让我们头疼的恐怕就是技术类的面试题了 因为我们摸不到企业的命题规律 也不知道该怎样去准备 今天华清远见的高级嵌入式讲师将各大企业的面试题进行汇总 分享给大家 希望可以帮到各位小伙伴 下方附有答案哦 一 选择题
  • 深度学习基础模型算法原理及编程实现--10.优化方法:从梯度下降到NAdam

    文章列表 1 深度学习基础模型算法原理及编程实现 01 感知机 2 深度学习基础模型算法原理及编程实现 02 线性单元 3 深度学习基础模型算法原理及编程实现 03 全链接 4 深度学习基础模型算法原理及编程实现 04 改进神经网络的方法
  • C/C++趣味编程经典100例详解

    更新记录 2019 08 27 28题 重写 C C 语言经典 实用 趣味程序设计编程百例精解 1 绘制余弦曲线 在屏幕上用 显示0 360度的余弦函数cos x 曲线 问题分析与算法设计 如果在程序中使用数组的话 这个问题十分简单 但若规
  • 阿辉闯Java(Java基本语法)

    hallo 大家好 接下来和阿辉一起了解一下Java的基本语法吧 1 Java程序的基本格式 Java程序代码必须放在一个类中 初学者可以简单地把一个类理解为一个Java程序 类使用class关键字定义 在class前面可以有类的修饰符 类
  • 二十、转置矩阵

    1 定义 假设 交换A的所有行和列后 形成的新矩阵 即为矩阵A的转置矩阵 对一个矩阵进行转置的转置 结果是原矩阵 2 下面为转置矩阵的性质 分析矩阵时 我们主要从加法 乘法 零空间 列空间 秩 行列式等角度进行分析 矩阵又分为原始矩阵 逆矩
  • Uncaught ReferenceError: xxx is not defined 解决办法

    VM11371 1 Uncaught ReferenceError inputSize is not defined at
  • JSP&EL表达式&MVC&三层结构综合案例

    文章目录 JSP 1 JSP 概述 2 JSP 快速入门 2 1 搭建环境 2 2 导入 JSP 依赖 2 3 创建 jsp 页面 2 4 编写代码 2 5 测试 3 JSP 原理 4 JSP 脚本 4 1 JSP 脚本分类 4 2 案例
  • YOLOv7原文翻译

    前言 这个本来是我的毕业论文文献翻译 但是老师给打回来了 原因是网上的重合率太高 所以我又重新找了一篇 大家 文献翻译千万不要找大热门 太痛苦了 但是翻都翻完了所以就扔上来 除了一些名词不知道怎么翻译之外也还好 按理这些名词应该不翻译直接用
  • CentOS7下解决ifconfig command not found的办法

    注 本办法仅限于可联网的机器 即在安装时设置了IP地址和DNS可正常上网 解决办法如下 1 输入ip addr 确认IP地址是否设置正常 设置好如下所示 如果没有获取到IP地址则设置一个即可 2 确认sbin目录是否存在 cd sbin 3
  • Makefile学习(二)

    Makefile 1 ifeq DEBUG true 2 CC gcc g 生成debug版本 才可以生成调试信息 对程序进行调试 3 else 4 CC gcc 5 endif 6 all hello 7 hello lcd o play
  • 使用 Docker Desktop 安装 Centos 系统

    一 前言 由于 Docker 是一个容器 它支持在一个服务器进行多服务部署 并且还能保持服务的独立性 那么 在Docker 上的运用时 我们也是可以 独立部署多个系统来做不同是其他 这样环境独立的情况下 也就不会造成一下不必要的问题 二 使
  • 后端开发通用

    1 前后端开发 项目基于前后端分离的架构进行开发 前后端分离架构总体上包括前端和服务端 通常是多人协作开发 对于后端java工程师 把精力放在设计模式 spring springmvc linux mysql事务隔离与锁机制 mongodb
  • WB_BF项目问题说明以及探究

    我就现在WB BF项目群里面提到的 根据测试脚本运行日志来看 bf运行了约31小时后又开始出现了api调用返回nginx的错误信息 之后 bf客户端也无法打开 问题做一下说明 今天早上我在机器上复现了这一问题 针对于api调用会返回ngin
  • 遗传算法整理

    1 基本概念 使用群体搜索技术 将种群代表一组问题解 通过对当前种群施加选择 交叉和变异等一系列遗传操作来产生新一代种群 并逐步使种群进化到包含近似最优解的状态 2 遗传算法流程 3 标准遗传算法 标准遗传算法又称为经典遗传算法 它的优化变
  • 百度搭台,千家打擂,文心杯创业大赛成投资人新宠?

    百模大战 打响 掀起大模型领域 创业热潮 今年5月31日 百度启动 文心杯 创业大赛 后简称 大赛 不到1个月报名时间 吸引近1000个项目激烈角逐 在知名投资人和AI专家的权威评审和层层筛选后 40个潜力项目闯入 决赛圈 进行最终较量 大
  • Python数据可视化的例子——热力图(heatmap)

    关系型数据的可视化 热力图体现了两个离散变量之间的组合关系 热力图 有时也称之为交叉填充表 该图形最典型的用法就是实现列联表的可视化 即通过图形的方式展现两个离散变量之间的组合关系 读者可以借助于seaborn模块中的heatmap函数 完

随机推荐

  • skopt下载

    在pycharm中直接下载skopt时失败 网上有如下解决办法 在python当前位置执行下载 1 先安装scikit optimize pip install scikit optimize 后直接在pycharm中安装skopt成功 若
  • fastJson注解@JSONField指定字段的顺序

    使 ordinal指定字段的顺序 public class BasePackage JSONField ordinal 1 private int id JSONField ordinal 2 private int direction J
  • mysql数据库管理-FEDERATED存储引擎远程链接MYSQL+ORACLE

    一 FEDERATED存储引擎 01 从5 1 26开始 默认MySQL不启用federated存储引擎 所以需要在my cnf中加入federated选项 02 或是在命令行用 federated选项启动mysqld 1 1 说明 mys
  • ubuntu下修改用户的默认目录

    linux系统下 不同的用户有对应的默认目录设置 这些设置都被保存在配置文件 etc passwd中 由上我们可以看出 对于用户名为JACK的用户 其系统默认目录为 home JACK 那么有时候我们可能在JACK目录下新建了一个目录 co
  • 大模型:如何利用旧的tokenizer训练出一个新的来?

    背景 我们在用chatGPT或者SD的时候 发现如果使用英语写提示词得到的结果比我们使用中文得到的结果要好很多 为什么呢 这其中就有一个叫做tokenizer的东西在作怪 训练一个合适的tokenizer是训练大模型的基础 我们既可以从头开
  • actuator--基础--6.3--端点解析--loggers端点

    actuator 基础 6 3 端点解析 loggers端点 代码位置 https gitee com DanShenGuiZu learnDemo tree master actuator learn actuator01 1 介绍 用于
  • 使用Selenium自动化测试web程序

    Selenium 是目前用的最广泛的Web UI 自动化测试框架 核心功能就是可以在多个浏览器上进行自动化测试 支持多平台 windows linux MAC 支持多浏览器 ie ff safari opera chrome 多语言C ja
  • GB28181设备接入侧如何支持H.265?

    技术背景 一直以来 GB28181 2022之前的规范版本让人诟病的一点 没有明确针对H 265的说明 特别是监控摄像机 H 265已然成为标配 GB T28181 2022规范 终于针对H 265做了明确的说明 让我们来一起解读下规范 基
  • differential privacy 差分隐私入门 (二)

    书接上回 对差分隐私比较感兴趣 看了几篇文章 了解一下大概的思想 现在决定重新看一下 发现有些文章内容不是很懂 干脆就一边翻译一边看了 不懂的地方我会加下划线 如果有人看到了 还请不吝指教 注 文章是Cynthia Dwork的 Di er
  • JavaSE复习:数组

    数组 Array 是多个相同类型数据按一定顺序排列 的集合 并使用一个名字命名 并通过编号的方式 对这些数据进行统一管理 数组的常见概念 数组名 下标 或索引 元素 数组的长度 1 数组本身是引用数据类型 而数组中的元素可以是任何数据类型
  • curl访问https报错:Cert verify failed: BADCERT_NOT_TRUSTED

    这个错跟https blog csdn net lixuande19871015 article details 88788699里面的错误看上去有些不太一样 curl v https www baidu com Cert verify f
  • 神经网络记忆_带记忆的神经网络

    神经网络记忆 深度学习 DEEP LEARNING We always heard that Neural Networks NNs are inspired by biological neural networks This huge
  • 初探TVM--TVM优化resnet50

    测试用TVM编译出的resnet50在CPU上的效果 测试resnet50在CPU上的效果 编译后的resnet50模型 图像预处理 运行编译后的模型 查看输出结果 resnet50自动调优 模型调优 auto tune 编译调优过的模型
  • Java: Observer Patterns

    版权所有 2022 涂聚文有限公司 许可信息查看 描述 观察者模式 Observer Patterns 也叫做发布 订阅模式 Publist Subscribe 模型 视图模式 Model View 源 监听器 Source Listene
  • [毕业设计]最新通信工程专业毕设选题题目推荐汇总

    文章目录 1前言 2 如何选题 3 通信工程选题方向 3 1 移动通信方向 3 2 嵌入式开发方向 3 3 人工智能方向 3 4 物联网方向 3 5 算法研究方向 3 6 移动应用开发方向 3 7 网络通信方向 3 8 学长作品展示 4 最
  • DevOps到底是什么意思?

    提到DevOps这个词 我相信很多人一定不会陌生 作为一个热门的概念 DevOps近年来频频出现在各大技术社区和媒体的文章中 备受行业大咖的追捧 也吸引了很多吃瓜群众的围观 那么 DevOps是什么呢 有人说它是一种方法 也有人说它是一种工
  • 为什么要在测试集中不需要使用fit_transform的原因?

    假设我们有一组数据 10 20 30 则标准化之后的数据为 array 1 22474487 0 1 22474487 这组数据的均值为 20 0 标准差为 8 16496580927726 标准化之后的这组数据 其标准差为1 均值为0 假
  • 张钜楷:1.22黄金原油下周实时行情趋势分析及黄金独家操作建议指导

    黄金行情走势分析 周五 1月21日 国际金价进一步走低 远离隔夜创下的11月22日以来高位1847 87美元 盎司 金价对美国升息很敏感 利率上升会降低持有无孳息黄金的吸引力 但金价周线有望连续第二周收阳 本周到目前为止累计涨幅逾0 8 因
  • sql查找一列中某一数值出现次数大于2的记录

    sql查找一列中某一数值出现次数大于2的记录 百度知道
  • 机械臂控制——4

    Robot Drivers 机器人驱动程序可以控制连接到计算机的真实机器人 机器人驱动程序使用通用软件接口来控制和监视特定的机器人控制器 使计算机能够控制工业机器人 机器人驱动程序提供了脱机编程的替代方案 程序被模拟 生成 然后传输到机器人