基于TensorFlow的工业机器人动力学控制系统及方法与流程

文档序号:14299672阅读:434来源:国知局
基于TensorFlow的工业机器人动力学控制系统及方法与流程

本发明涉及机器人技术领域,具体涉及一种基于tensorflow的工业机器人动力学控制系统及方法。



背景技术:

基于工业机器人动力学模型的控制器---动力学控制器,具体实现方式因系统结构不同而有所不同。传统应用、中小公司、国内公司、大牌公司老型号机器人产品都是位置控制;新兴应用、大牌公司的新型号产品都是力矩控制。四大家族:发那科(fanuc)、abb、安川电机(yaskawa)、库卡(kuka)的机器人伺服驱动器目前都只做纯力矩控制。图1是kuka公司典型的三闭环控制示意图。除三闭环控制方式外,目前常用的控制方法还有动力学模型的参数辨识法。

作为新兴的小型工业机器人公司要研发出一套能和四大家族机器人公司相媲美的机器人需要投入大量的时间和金钱成本。



技术实现要素:

针对现有技术的不足,本发明提供一种基于tensorflow的工业机器人动力学控制系统及方法,抛开以往的速度环、位置环、电流环的束缚,也刨去动力学模型参数识别的难点问题,引入机器学习工具---tensorflow,运用全新的思维设计可准确跟踪路径、性能稳定的动力学控制系统。

为实现上述目的,本发明的技术方案是:一种基于tensorflow的工业机器人动力学控制系统,包括:数据采集模块、控制器、pc服务器、显示器、电机驱动模块和伺服电机;

所述数据采集模块通过i2c与控制单元通信,用于为控制器提供数据来源;

所述显示器通过hdmi接口与控制器连接,用于查看控制系统的运行状态;

所述控制器通过电机驱动模块与伺服电机连接,通过有线网络与pc服务器连接;

所述控制器将数据采集模块采集到的工业机器人的关节位置、关节速度和关节力矩发送给pc服务器,由pc服务器进行数据处理并利用tensorflow构建卷积神经网络进行训练优化,根据实时的关节位置和关节速度输出工业机器人的关节力矩控制指令,控制器将关节力矩控制指令通过gpio接口发送至电机驱动模块,控制伺服电机实现工业机器人的关节控制。

进一步地,所述数据采集模块包括:位置传感器、陀螺仪传感器和力矩传感器。

进一步地,所述控制器包括安装有androidthings系统的raspberrypi3开发板。

进一步地,所述pc服务器安装有androidstudio开发平台。

基于上述的工业机器人动力学控制系统的控制方法,包括:

步骤s1:控制器将数据采集模块采集到的工业机器人的关节位置、关节速度和关节力矩发送给pc服务器;

步骤s2:pc服务器读入控制器传入的数据进行滤波处理,转换为tensorflow能识别的bin格式数据并保存;

步骤s3:将数据分为训练集和测试集,利用tensorflow搭建卷积神经网络,包括10层卷积计算层conv、1层激励层relu,5层池化层,1层fc全连接层,初始化参数为神经网络神经元间的连接权值、神经元的偏置和学习率,选择均方差函数作为损失函数;

步骤s4:通过训练集的关节位置、关节速度和期望输出的关节力矩数据来优化训练连接权值和偏置值,通过测试集的数据来验证训练好的连接权值和偏置值是否达到要求,如满足要求,则将训练好的卷积神经网络进行在线应用,实时根据输入的关节位置和关节速度,输出关节力矩控制指令;

步骤s5:控制器将关节力矩控制指令通过gpio接口发送至电机驱动模块,控制伺服电机实现工业机器人的关节控制。

与现有技术相比,本发明的有益效果是:

(1)本发明开发周期短、投入少;

(2)参数的调整不需要投入太多的精力,控制系统会自动寻优;

(3)系统模型架构调整方便,不需要很复杂的代码,后期维护和扩展方便。

附图说明

图1是kuka的速度、位置、电流三闭环控制器示意图;

图2是本发明基于tensorflow的工业机器人动力学控制系统结构图;

图3是本发明卷积神经网络训练流程图。

具体实施方式

下面结合说明书附图和实施例对本发明内容进行详细说明:

如图2所示,一种基于tensorflow的工业机器人动力学控制系统,包括:数据采集模块、控制器、pc服务器、显示器、电机驱动模块和伺服电机;

所述数据采集模块通过i2c与控制单元通信,用于为控制器提供数据来源;

所述显示器通过hdmi接口与控制器连接,用于查看控制系统的运行状态;

所述控制器通过电机驱动模块与伺服电机连接,通过有线网络与pc服务器连接;

所述控制器将数据采集模块采集到的工业机器人的关节位置、关节速度和关节力矩发送给pc服务器,由pc服务器进行数据处理并利用tensorflow构建卷积神经网络进行训练优化,根据实时的关节位置和关节速度输出工业机器人的关节力矩控制指令,控制器将关节力矩控制指令通过gpio接口发送至电机驱动模块,控制伺服电机实现工业机器人的关节控制。

动力学模型的标准形式为:

要实现力矩模式控制,且实现精确控制,理论上需要最大可能地识别出惯性力、离心力、哥氏力、粘摩擦、静摩擦、重力及外力,但以上参数的识别一直是工业机器人控制器研究的难点,至今没有一套完全有效的辨识方法。

在本实施例中,所述数据采集模块包括:位置传感器、陀螺仪传感器和力矩传感器。仅检测工业机器人的关节位置、关节速度和关节力矩,而不需要额外去辨识惯性力、离心力、哥氏力、粘摩擦、静摩力等参数,就可以实现机器人的稳定的运动,如准确实现轨迹跟踪控制。

在本实施例中,所述控制器包括安装有androidthings系统的raspberrypi3开发板。raspberrypi3是androidthings目前支持的四大开发板之一,兼顾arm和x86架构,也兼顾32位和64位的系统,更支持支持wifi和蓝牙。使用该板设计可以缩短开发周期。androidthings不仅仅是一个物联网操作系统,还是一个可以快速做智能硬件开发的平台。它支持多种开发语言:c、c++、java;它支持通过googlecloud使用firebase,极大的加快了数据的处理速度;它集成weave协议,可以方便的实现各种无线协议的连接。

在本实施例中,所述pc服务器安装有androidstudio开发平台,它兼容raspberrypi3开发板上的androidthings系统,可以很方便地实现与raspberrypi3开发板硬件系统的通信。

基于上述工业机器人动力学控制系统的控制方法,包括:

步骤s1:控制器将数据采集模块采集到的工业机器人的关节位置、关节速度和关节力矩发送给pc服务器;

步骤s2:pc服务器读入控制器传入的数据进行滤波处理,转换为tensorflow能识别的bin格式数据并保存;

步骤s3:如图3所示,将数据分为训练集和测试集,利用tensorflow搭建卷积神经网络,包括10层卷积计算层conv、1层激励层relu,5层池化层,1层fc全连接层,初始化参数为神经网络神经元间的连接权值、神经元的偏置和学习率,选择均方差函数作为损失函数;

步骤s4:通过训练集的关节位置、关节速度和期望输出的关节力矩数据来优化训练连接权值和偏置值,通过测试集的数据来验证训练好的连接权值和偏置值是否达到要求,如满足要求,则将训练好的卷积神经网络进行在线应用,实时根据输入的关节位置和关节速度,输出关节力矩控制指令;

步骤s5:控制器将关节力矩控制指令通过gpio接口发送至电机驱动模块,控制伺服电机实现工业机器人的关节控制。

本发明控制系统在投入运行前,需进行离线操作;投入运行后再进行在线操作。

(1)离线操作

本系统在控制工业机器人之前,应事先采集一批所控制对象----工业机器人的位置数据、速度数据和力矩数据,同时将这些数据处理为本发明控制系统原始的训练集和测试集,并运用这些数据离线运行tensorflow,训练出合理的模型参数。

(2)在线操作

离线操作完成后,系统配置好相应的软、硬件,使用离线操作的数学模型投入运行。在系统运行过程中,pc服务器实时接收raspberrypi3开发板传入的位置数据、速度数据和力矩数据,这些数据实时更新tensorflow所使用的训练集和测试集,经过卷积神经网络的自学习,tensorflow输出的关节力矩可保证工业机器人的准确、稳定地运行。

以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明涵盖范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1