BRACON:用于教育系统的6自由度的机器人臂的控制系统
摘要 -- 本文重点介绍在拉塔库加斯大学、拉斯维加斯大学通过使用Dynamixel伺服电机对一种机器人手臂的控制系统来进行设计和开发。 使用Python软件,具有作为自由编程语言的优点和特征,为项目提供了可靠性和计算机臂之间易于通信。这些技术的使用,通过使用开源软件来允许获得比当前技术便宜很多的解决方案。
关键字:组件; 机器人臂; Dynamixel; Python; 伺服电机; 免费软件; RS-48。
介绍
发展中国家技术层面教育的主要问题之一是自动化和机器人教学领域培训设备的高成本,但是这些系统是令人望而却步的,并且不受操纵。 在尼日利亚的奥巴费米洛沃大学开展的一项工作中,作者提出了非洲教学机器人导向的低成本系统,因此在使用“低成本”概念的情况下满足了技术领域培训的需要,因为在该地区有重要的技术限制 [1],从而响应使用概念“低成本”对技术领域进行培训的需要,因为在该地区面临重大技术限制; 其次,对用于教育目的的机器人的发展进行了研究,并且展示了在机器人臂“低成本”的开发中所获得的经验,并且将它们的能力与商业机器人臂进行比较[2],在设计机械方面获得良好结果但在控制系统方面却存在问题。
武装部队大学近年来一直致力于发展武器和以后的工业环境的教育环境。 在这些调查期间,提出了开发用于控制这些设备的基本软件的需要,其目的在于充当操作者和致动器之间的接口。
在Python平台开发的BRACON(“BRAzo CONtrolado”,臂控)应用程序允许网络控制执行器,使机器人手臂运动。该应用允许在正运动学和逆运动学的标准下基于每个发动机的角度控制定位的加工特征和码垛。
这个程序允许基于对机器人臂5自由度和6自由度的控制,给予武装部队大学实施用于教学机器人的低成本设备的可能性[3]。
本文将在下一部分继续展示机器人手臂的设计,在第三部分展示研究目的,在第四部分描述的项目基本软件结构的目的是显示控制伺服电机与RS-485通讯,第五部分的结果应用建立在模型上的测试用例,最后在最后一部分中显示了调查期间得出的结论。
机器人臂
工业机器人是可编程多功能机械设备,设计用于移动材料,零件,工具或专门通过多任务设备的可变编程运动。工业机器人系统不仅包括工业机器人,而且包括机器人执行其任务所需的所有设备和/或传感器,以及排序或监视通信接口。
机器人系统通常用于执行不安全,危险甚至重复的操作员的任务。它们具有许多不同的功能,例如材料处理,组装,焊接,机器或工具的装载和卸载,以及诸如喷漆,喷涂等的特征。大多数机器人被配置为用于教学技术和重复操作。
机器人通常是一种可编程的机械臂的类型,类似于人的臂的功能; 这可能是设备的总和或可能是更复杂的机器人的一部分[4,5]。 这些操纵器或臂的部分通过允许旋转运动(例如多关节机器人)和平移运动或线性运动的接头互连。
然后是机器人臂的致动器运动,以及用于所描述的元件之间的通信的编程语言。
- Dynamixel伺服电动机
Dynamixel系列机器人驱动器是一个很流行模块化的驱动器,其由齿轮减速器,精密直流电机和具有串联功能的电路板分别单一封装组成。尽管它体积小巧紧凑,但它可以产生很大扭矩,加上高品质材料制造并具有一定的强度,可具有检测内部温度功能,例如改变内部温度和供电电压。Dynamixel系列机器人驱动器具有许多优点,可以超过同类产品。Dynamixel系列中AX-12 专用机器人伺服电机与传统的伺服电机相比AX12 不具有反馈,而且还具有速度反馈与温度反馈功能,支持高速串行网络。
Dynamixel执行器已被大学、实验室、民用和军事研究所使用[6,7]。每个智能执行器都有一个内置的微处理器,以便于通信总线,位置反馈,温度和负载监控。每个伺服器的外壳专为机器人设计,提供了易于安装导轨和一个全面的支持系统的机械手肢体的建设。
串行通信TTL和RS-485连接允许以1-3 Mbps的总线传输链。
此外,Dynamixel伺服系统上的MCU(微控制器单元)具有一组用户可自定义的功能,允许用户针对所需的应用程序调整伺服系统的特定功能[8,9]。
- Python编程语言
Python是一种面向对象,解释型计算机程序设计语言, Python源代码遵循GPL GNU通用公共许可证)协议。Python语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C / C )很轻松地联结 在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形 渲染模块,性能要求特别高,就可以使用C / C 重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库可能需要考虑平台问题,某些可能不提 跨平台的实现。它的主要特点:简单、免费、易学、开源、可移植性、解释性、面向对象、可扩展性、可嵌入性、丰富的库、模范的代码。
Python是一种多范式编程语言,这意味着,不是强制程序员采用某一种特定的编程风格,它允许几种风格:面向对象编程,函数编程和命令式编程。使用扩展支持其他范例。
近年来,由于各种原因,Python编程语言变得非常受欢迎,这些原因例如:函数内置在语言本身中的库的数量,这有助于执行许多常见任务,而无需从头开始编程。
创建程序的简单性和速度。 一个Python程序可以有3-5行代码少于Java或C语言中的等效代码。可以开发的平台数量,例如Unix,Windows,OS / 2,Mac等。 此外,Python是免费的,即使是为了商业目的[10,11]。
目前,Python越来越多地用于这种类型的机器人手臂,因为它们的通用性和一系列工具,在开源环境中可用,这允许从基础和改进软件继续附加操作,单独或集体的输入[12,13]。
研究目的
在机器人领域可能注意到随着时间的巨大进步,看到机器人如何执行人类行为已经变成非常难做的任务,并需要这些进入危险或不可访问的环境,例如在医疗领域需要机器人为残疾患者假肢 [14]。这种类型的研究和开发需要巨大的努力和金融投资,是因为软件已经成为所有者并且难以获得,因为教育机构的成本非常高,正是由于这一点,决定调查基于免费软件的项目,降低成本,并开放访问这些程序[15,16]。
因此,本研究,在意识形态之后,旨在使用单元(编程语言Python平台)开发必要的库,用于机器人臂的网络伺服以执行加工和码垛的功能,是主要项目目标:减少软件采集成本。
为了实现这一目标,将描述如何执行机器人手臂组装和使用通信协议。
- 组装机器人手臂
Dynamixel伺服电机的特点使其成为各种机器人应用的理想选择。 通过免费软件应用程序对这些系统的控制来开发项目,使他们的控制知识更容易理解,并且不需要购买许可证以供未来研究。另外,这些致动器允许具有开放系统并且耦合到相同的要求。
具有致动器,是仅仅需要作为机器人臂的结构。为此,重要的是,形成用于所有机器人系统的联合和支撑的部件必须足够坚固以支撑致动器的重量和力,而且还应当是轻的,使得机器人臂的总重量是最佳的,而不是浪费力量试图移动自己的体重。
零件和接头是在武装部队大学ESPE(Latacunga)设计的,并在基多 - 厄瓜多尔市制造。 图1示出了具有由大学制造的部件的机器人臂的最终设计。
- 通信USB2Dynamixel
USB2Dynamixel接口是由购买用于操作Dynamixel设备的机器人臂套件的同一公司制造的设备。
USB2Dynamixel连接到电脑USB端口,并具有两个3P和4P连接器,可安装多个Dynamixel设备连接到这些端口。
由于机器人臂由设备组成,在这种情况下伺服电机Dynamixel DX / RX串行通信协议被建立,RS-485端口连接是需要图2所示的4P连接器。
必须为这种类型的通信配置USB2Dynamixel接口,因此只需使用位于东侧的选择开关选择模式即可。
计算机和执行器网络之间建立的通信是RS-485(标准EIA-485)是对RS-422的改进,因为它增加了可连接的设备数量(10到32)并定义了必要的特性 以确保在满载时的适当电压值。通过此功能,您可以创建连接到单个RS-485设备的网络。
这种能力和对噪声的高抗扰性使得这种类型的串行传输是许多工业应用的选择,其需要连接到电脑或用于数据收集的HMI或其它操作设备的其他控制器的分布式网络。 RS-485是一套覆盖RS-422的设备,所以使用RS-422通信的所有设备都可以通过RS-485控制。 硬件RS-485可用于高达4000英尺电缆的串行通信距离。连接器引脚排列与RS-232通信相同[17]。
- 通讯和网络设置伺服
一旦有了机器人手臂组件的模型,并受到一个强大和稳定的足够的基础,则需要为伺服网络供电,这些工作在14.8V和11,1V之间的电压,电流消耗为1.7A,5.2A和 6.3 A分别用于MX-28,MX-64和MX-106型号。
使用USB2Dynamixel接口连接到PC的连接模式网络伺服如图3所示。
编程接口和控制系统
在开发基于自由软件的控制系统时,首先通过制作一个基本和一般流程图来建立系统之间的通信,在这种情况下机器人手臂和控制器是台式计算机,这个过程可以从图 4看出来。
如在任何编程语言中开始导入库,如果他们需要,声明变量,调用函数包括; 因为这个程序没有遵循任何控制方法,据说是一个启发式编程,因为机器人手臂按照逐行程序的指令。
整个过程分两部分进行,其中之一是负责网络通信的程序的开发Servo,线性化来自电机旋转的数据的总数到一个范围的值可以由用户解释,并且它可以执行多重计算和处理; 也可以读取由执行器传送的数据,作为ID(每个伺服电机的标识符),值温度,扭矩,位置,速度和其他参数,取决于使用的伺服电机类型,可以读取。
所以在第一部分的读写功能中,可以直接操作和配置网络一个一个伺服。
开发的第二部分安排在Python扩展名为Vidle Python,您可以选择创建窗口,按钮,动画人物等。对于图形界面的需要是非常重要的,因为它需要用户友好的系统,对于没有编程技能的用户也要求系统是直观的,那么任何人都熟悉计算机可以容易地使用滑块处理机器人手臂,按钮,文本框等,并观察在界面(见图5,6)和在相同的物理机器人系统[18,19]中显示的模拟中的变化。
为了适应硬件和软件,它开始导入编程为调度文件GUI的所有功能,就像它是一个库。 然后,发送到致动器的信号被单独放置到零机器,发送其正确的功能和定位,然后继续加工过程或根据操作者的要求进行托盘化。 耦合系统和运行可以在图7中看到。
结果
所示的主要结果,使用软件描述的机器人臂的构造:
- 具有串行通信的伺服电机具有拥有监控和内部控制的巨大优势。
- 通过对功能和图形界面的编程,需要研究诸如逆运动学,数学向量,线性化范围,图像处理和压缩机械机器人等其他领域,将所有这些作为一个系统并一起工作。
- 在每个伺服电机中执行的功能:运动,设置扭矩,速度,数据的读取和记录,取决于所有这些参数可以读取伺服电机。
- 在操作之前观察机器人的行为需要模拟功能,因为这可以避免几个事故,因为如果用户输入以高速移动的值,当人接近机械臂的时候会增加碰到伤害你的风险。
- 它在坐标的参数下工作,因为机器人手臂只操纵每个伺服电机的顶部值,并一个接一个地操纵它们的自由度直到你到达空间中的期望位置; 但是它不是最佳的,因此将臂移动到期望的位置,它必须作为系统同步一起工作,并且使用矢量和的数学推理获得臂,仅通过输入笛卡尔坐标轴X, Y和Z就可以实现。
- 为了实现码垛功能,他还在极坐标中工作,其中机器人臂将数据发送到半径值,旋转和高度的坐标,期望的结果,以及获取位置并且放置在由用户指定的其他地方的对象。
- 要进行功能加工,必须进行逆运动学的研究和调查,为了理解这个主题的基本想法是读取图像,并将其转换为坐标数组,机器人手臂滚动浏览这些项目和跟踪数字充电到程序。 对于这一点,在Python图像处理和图像矩阵的缩放比例中所做的是在机器人手臂将在空间中行进的坐标矩阵中获得1和0。
- 测试表明预期的有利和令人满意的结果,每个被编程以完全履行其职责的功能,在编程旅行中的主要作用之一,这是一种技术,其中使编程的用户与机器人臂物理接触, 实际上获得控制并且使机器人的臂通过位置内的期望的工作空间,这在工业中广泛使用以使机器人常规工作。
因此,可以得出结论,由于建立的模型已经实现了初始目标,特别是在显着改进的机器人手臂的廉价伺服电机Dynamixel的控制,通过执行正确的位置预编程可以明显减少他们的错误。
结论
从研究成果中,得出以下结论:
- 可以使用在自由软件中设计的图形界面(在这种情况下为Python),对6个自由度的机器人手臂进行码垛和加工是可能实现的。
-
RS-485协议通信允许通信组成串行机器人臂的九个设备(致动器
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[140961],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。