机器人多总线实时控制系统的制作方法

文档序号:23390895发布日期:2020-12-22 13:57阅读:130来源:国知局
机器人多总线实时控制系统的制作方法

本发明涉及机器人控制领域,具体涉及一种基于多种现场总线接入、多路径数据实时解析和多路径数据命令下发的机器人控制系统。



背景技术:

当前机器人控制系统随着近几年各种设备完善、不同传感器设备使用不同总线,不同总线设备通信需要各种转换接口,造成设备维护麻烦。

且目前机器人集成多种不同总线模块,由电机、多种位移传感器、多种力传感器等模块组成,总线种类多、通信协复杂,在通信调试上会浪费很多精力和时间,导致目前机器人控制器多总线通信数据实时性差,以及数据采集困难。



技术实现要素:

本发明的目的是为了克服现有机器人控制系统使用不同总线,导致目前机器人控制器多总线通信数据实时性差,以及数据采集困难的问题,提供了一种机器人多总线实时控制系统。

本发明的机器人多总线实时控制系统,包括数据采集模块、数据处理模块和命令输出模块;

数据采集模块,与数据处理模块连接,用于通过多种总线实时采集机器人的运行数据,并将运行数据发送至数据处理模块;

数据处理模块,与命令输出模块连接,用于将运行数据处理生成执行命令,并将执行命令发送至命令输出模块;

命令输出模块,用于通过多种总线将执行命令发送至相应的执行机构,使相应的执行机构根据执行命令做出相应的动作。

本发明的有益效果是:本发明实现了多总线机器人控制系统,该系统基于多种现场总线接入、多路径数据实时解析和多路径数据命令下发。本发明在不改变现有机器人网络环境下,可以实时查询分析相关数据,进而提高机器人可靠性和稳定性。并且由于该系统集成多类型总线,所以能兼容多个总线设备,有很强的兼容性,设备维护简单。

附图说明

图1为本发明机器人多总线实时控制系统的框图。

具体实施方式

具体实施方式一,本实施方式的机器人多总线实时控制系统,包括数据采集模块1、数据处理模块2和命令输出模块3;

数据采集模块1,与数据处理模块2连接,用于通过多种总线实时采集机器人的运行数据,并将运行数据发送至数据处理模块2;

数据处理模块2,与命令输出模块3连接,用于将运行数据处理生成执行命令,并将执行命令发送至命令输出模块3;

命令输出模块3,用于通过多种总线将执行命令发送至相应的执行机构,使相应的执行机构根据执行命令做出相应的动作。

具体地,本实施方式的机器人多总线实时控制系统可以被配置为一个基于现场多总线实时数据处理的系统软件,能兼容多个总线设备,有很强的兼容性,实现了多总线实时采集,多总线数据实时处理,多总线数据实时输出的功能。不同的总线,采用模块化设计,每个模块可以单独提出来,作为独立应用模块使用;支持跨平台,支持window和linux等多种操作系统,还可以基于qnx6.5系统,微内核方式,方便移植、二次开发。不同操作系统都可以运行。

系统包括数据采集模块1、数据处理模块2和命令输出模块3。

数据采集模块1通过can总线、ecat总线、串口总线和ad总线可以实时接收外部通信数据;数据处理模块2根据核心算法,加工各个总线传输过来的通信数据,命令输出模块3实时把加工后的数据发送到各个总线上。

该系统实时处理数据延迟在1ms内,保证机器人运动流畅,动作迅速。在不改变现有机器人网络环境下,实现了多总线数据分析、处理及数据输出,可以实时分析相关数据,进而提高机器人控制的可靠性和稳定性。

本系统在使用时与各种外接设备相连接,外接设备包括液压伺服驱动模块(关节伺服驱动模块)、imu、遥控器、电机驱动器(平衡电机所配置的电机驱动器)、机器人电池和视觉设备等,外接设备将自身工作状态数据通过不同的工业总线发给本系统,本系统设计为通过不同工业总线获取工业设备工作状态信息,并对数据进行解析、分析、处理、打包,最后将打包后的数据通过输出接口模块(命令输出模块3)传递给各个总线设备。

多总线机器人控制器包括处理器板卡、can总线采集卡、ecat主站板卡、ad采集板卡、电源卡。控制器各种板卡通过pc104总线通信,控制器结构采用堆栈式结构设计,有很好扩展性、体积小、有丰富外设接口。处理器板卡对外接口有串口1、串口2、网口a、网口b,其中串口1连接到遥控器,遥控器通过串口通信控制机器人运动,网口a挂载无限路由器可以和pc机通信。can卡对外有can1、can2。ecat主站板卡控制电机驱动器从站。ad采集卡有20路ad采集通道,可以采集机器人油源电机温度、机器人油源高压、油源低压、机器人电池剩余电量。电源卡能提供24v、12v、5v电压,供各种板卡使用。

数据采集模块1启动多线采集数据,can1、can2启动两个线程采集两路can总线数据。ecat总线启动一个线程采集ecat总线数据。ad总线启动一个线程机器人高低压和温度。串口总线启动一个线程采集遥控串口数据。线程间的数据访问通过线程锁和信号量,保证正确读写数据。

数据处理模块2启动一个线程处理各个数据采集模块1的数据。

命令输出模块3启动一个线程将加工好的数据下发到机器人各个运动关节。

最佳实施例,本实施例是对实施方式的进一步说明,数据采集模块1包括关节位移数据采集模块1-1、机器人姿态数据采集模块1-2、平衡电机数据采集模块1-3和控制命令采集模块1-4;

控制命令采集模块1-4,通过串口总线与控制命令生成模块连接,用于采集控制命令;

关节位移数据采集模块1-1,通过第一can总线与机器人关节伺服模块连接,用于采集机器人各关节的位移数据;

机器人姿态数据采集模块1-2,通过第二can总线与惯性测量单元imu连接,用于采集机器人的姿态数据;

平衡电机数据采集模块1-3,通过ecat总线与机器人平衡电机连接,用于采集机器人平衡电机的参数;

机器人的运行数据包括控制命令、机器人各关节的位移数据、机器人的姿态数据、机器人平衡电机的参数。

具体地,该系统的总线至少包括can总线、ecat总线、串口总线和ad总线,4种总线相互通信、相互融合,利用每种通信优点,实现了一个实时数据处理的系统软件。

数据采集模块1的具体工作流程如下:

关节位移数据采集模块1-1通过第一can总线实时采集动力单元、大腿、小腿、腰、大臂、小臂等关节当前的位移can数据(即,机器人各关节的位移数据),每个关节都有一个液压驱动器,液压驱动器5ms周期向控制系统上报各个关节当前实际位移,每个关节的位移数据长度为2个字节,通过系统中断保证数据完整性。

每个关节都作为第一can总线节点,通过第一can总线实时控制,关节到实时系统的数据延迟控制在1ms内,各个关节运动流畅,反应迅速。

机器人姿态数据采集模块1-2通过第二can总线实时采集机器人的姿态数据,该机器人的姿态数据由imu模块检测取得,以5ms周期上报三轴加速度、三轴角速度和三轴角速度3组can数据,这3组can数据保证机器人平衡,实时调整机器人的姿态。

平衡电机数据采集模块1-3通过ecat总线,采集电机驱动器(机器人平衡电机所配置的电机驱动器)反馈的当前机器人平衡电机的参数(参数包括平衡电机的实际速度、实际电流和实际位置数据)。

控制命令采集模块1-4通过串口总线,采集控制命令(来自于遥控器),控制命令为遥控器各个通道值,每个通过值范围为0-2000,不同的通道控制机器人各个关节运动。机器人遥控器数据量不大,所以采用串口总线减少总线成本。同时串口也是是比较常用总线接口,可以兼容多种遥控器设备。

由于大量数据通过can中心,两路can总线采用中断接收,保证数据不丢失。而通过串口总线和ecat总线的数据量不大,采用30ms周期轮询,既能保证数据不丢失也减少系统资源占用,各个总线采集都采用平均值滤波算法,排除异常数据,保证采集数据正确。

最佳实施例,本实施例是对实施方式的进一步说明,数据处理模块2包括关节位移数据处理模块2-1、机器人姿态数据处理模块2-2、平衡电机数据处理模块2-3和控制命令处理模块2-4;

控制命令处理模块2-4,同时控制命令采集模块1-4和与关节位移数据处理模块2-1连接,用于解析控制命令,并将解析后的控制命令发送至关节位移数据处理模块2-1;

关节位移数据处理模块2-1,同时与关节位移数据采集模块1-1连接,用于根据控制命令和机器人各关节的位移数据得到机器人各关节的位移期望值,并发送至命令输出模块3;

机器人姿态数据处理模块2-2,与机器人姿态数据采集模块1-2连接,用于根据姿态数据得到平衡调整命令,并发送至命令输出模块3;

平衡电机数据处理模块2-3,同时与机器人姿态数据处理模块2-2和平衡电机数据采集模块1-3连接,用于根据平衡调整命令和机器人平衡电机当前的参数得到平衡电机参数调节信号。

具体地,数据处理模块2的具体工作流程:

关节位移数据处理模块2-1解析各个关节的位移can数据(即,机器人各关节的位移数据)。例如通过大小腿实际位移,调整大小腿夹角角度使腿保持一定姿势和长度,通过大小臂实际位移,调整大小臂夹角角度使手臂保持一定姿势和长度,同时根据遥控器不同通道值变化,调整各个关节符合希望值的位移使机器人各个关节变化不同姿态。

机器人姿态数据处理模块2-2解析can数据(即,机器人的姿态数据),根据平衡算法处理采集到的数据。

平衡电机数据处理模块2-3解析以太帧数据(即,机器人平衡电机的参数),根据算法加工处理机器人平衡电机的参数。

控制命令处理模块2-4解析串口总线数据(即,控制命令),分析遥控器的遥控命令。处理遥控器下发的控制命令有:前后运动指令、左右扭转指令,蹲起指令、手臂前后左右运动等指令。

总之,根据上述不同数据处理模块,实时控制机器人各个关节位移、平衡状态。根据遥控器下发机器人运行指令,各个机器人关节、电机、电机驱动器等模块相互配合,保证机器人正常稳定运行。

数据处理模块2处理大量各个总线数据,对实时性要求都比较高,也验证系统实时处理能力。

最佳实施例,本实施例是对实施方式的进一步说明,命令输出模块3包括关节位移命令输出模块3-1和平衡电机参数命令输出模块3-2;

关节位移命令输出模块3-1,通过第一can总线与关节位移数据处理模块2-1连接,用于输出位移期望值至相应机器人关节的关节伺服模块,使得各机器人关节按照希望值的方向和大小进行移动;

平衡电机参数命令输出模块3-2,通过ecat总线与平衡电机数据处理模块2-3连接,用于输出平衡电机参数调节信号至平衡电机,从而调节平衡电机的转速,令机器人保持平衡。

具体地,命令输出模块3的工作流程如下:

关节位移命令输出模块3-1,通过第一can总线下发位移期望值至左右腿膝关节、左右腿髋关节、左右大小臂关节等关节,控制机器人各个关节向希望值方向运动。

平衡电机参数命令输出模块3-2,通过ecat总线可以实时控制机器人的平衡电机旋转。每个机器人平衡电机的电机驱动器通过网线连接,ecat总线可以挂载256个电机,通过网线主站下发平衡电机参数调节信号,控制机器人平衡。

ecat总线基于以太帧数据,基于百兆带宽,能及时迅速调整平衡电机转速。实时控制平衡电机的转速保证机器人平衡,当机器人运动时,根据机器人质心变化,平衡电机参数命令输出模块3-2提高或者降低平衡电机的转动速度保证机器人平衡。

最佳实施例,本实施例是对实施方式的进一步说明,数据采集模块1还包括电池参数采集模块1-5;

电池参数采集模块1-5,通过ad总线与电池连接,用于采集机器人的电池电压。

具体地,电池参数采集模块1-5,通过ad总线采集机器人的电池电压。

最佳实施例,本实施例是对实施方式的进一步说明,数据处理模块2还包括电池参数处理模块2-5;

电池参数处理模块2-5,与电池参数采集模块1-5连接,用于对电池电压进行滤波。

具体地,电池参数处理模块2-5,通过平均值滤波算法去掉电池电压的抖动数据,得到当前有效的机器人的电池电压。监控机器人是否运行在正常电压范围,如果采集的电池电压过低,停止机器人运动,保护机器人能运行在正常环境。

最佳实施例,本实施例是对实施方式的进一步说明,控制命令生成模块包括遥控模块4;

遥控模块4包括遥控信号发射器4-1和遥控信号接收器4-2;

遥控信号发射器4-1,用于发射控制命令至遥控信号接收器4-2;

遥控信号接收器4-2,通过串口总线与控制命令采集模块1-4连接,用于接收控制命令后通过串口总线发送至数据处理模块2。

具体地,遥控模块4配置为遥控器,操作人员通过遥控器上的按键,触发机器人控制命令。

最佳实施例,本实施例是对实施方式的进一步说明,控制命令生成模块包括人机交互模块5;

人机交互模块5,通过串口总线与控制命令采集模块1-4连接,用于发出控制命令。

具体地,人机交互模块5,用户可以通过人机交互模块5下发机器人的控制命令,常用命令有开始运行、启动运行、动力单元转速等,控制命令可以用户根据不同需求配置,方便用户操作。

并且,人机交互模块5可以直接与控制命令处理模块2-4连接,直接将控制命令发送至控制命令处理模块2-4而不用经过控制命令采集模块1-4。

最佳实施例,本实施例是对实施方式的进一步说明,ecat总线为主从模式,包括ecat主站和ecat从站;

ecat主站,与ecat从站和用于采集反馈的机器人平衡电机的参数,或发送平衡电机参数调节信号;

ecat从站,用于挂载机器人平衡电机。

具体地,本实施例的ecat总线有一个主站,而两个控制平衡电机转速的电机驱动器做为从站。

最佳实施例,本实施例是对实施方式的进一步说明,第一can总线和第二can总线通过中断接收的方式采集数据。

具体地,由于大量数据通过can中心,为了保证数据完整性,两路can总线采用中断接收,保证数据不丢失。

本系统还可以包括日志模块:用户可以配置记录相关数据,通过文件方式存储。日志文件内容大于配置文件大小后,打包压缩日志文件。日志模块可以记录1g或者60天数据,以日期方式存储,如果数据周期大于60天,采用先进先出方式替换旧日志文件。

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