CN110412921A - 基于EtherCAT的机器人单腿高实时性控制系统 - Google Patents
基于EtherCAT的机器人单腿高实时性控制系统 Download PDFInfo
- Publication number
- CN110412921A CN110412921A CN201910734157.XA CN201910734157A CN110412921A CN 110412921 A CN110412921 A CN 110412921A CN 201910734157 A CN201910734157 A CN 201910734157A CN 110412921 A CN110412921 A CN 110412921A
- Authority
- CN
- China
- Prior art keywords
- driver
- ethercat
- leg
- main website
- robot
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62D—MOTOR VEHICLES; TRAILERS
- B62D57/00—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track
- B62D57/02—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members
- B62D57/032—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members with alternately or sequentially lifted supporting base and legs; with alternately or sequentially lifted feet or skid
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25257—Microcontroller
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40403—Master for walk through, slave uses data for motion control and simulation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
一种基于EtherCAT的机器人单腿高实时性控制系统,包括上位机、工控机、驱动器和编码器,工控机与上位机通过网络通信进行传输数据,工控机作为主站通过EtherCAT总线与驱动器连接,驱动器作为从站与编码器相连接,工控机运行控制算法,得出需要腿足式机器人各关节的输出力矩,转换成电流值,通过EtherCAT通信传递给驱动器,驱动器通过内置的电流环实现电机输出给定的力矩,实现单腿的运动。本发明在通信架构的同步模式中,运行单腿的向前跳跃算法,单腿机器人具有良好的实时性和柔顺性能,通过在单腿机器人中采用线型拓扑、环形结构,减少了硬件的复杂接线,保证了电驱动单腿机器人控制系统的实时性和可靠性,同时提高了控制的稳定性和高精度。
Description
技术领域
本发明涉及一种用于电驱动腿足式机器人的基于EtherCAT的单腿高实时性控制系统,属于工业以太网的应用领域和四足机器人的控制技术领域。
背景技术
EtherCAT是一种实时工业以太网技术,近年来,已在多个领域得到了广泛应用。
在腿足式机器人领域,实时性的控制系统搭建一直是该领域比较核心的问题。当前有很多实时性系统方案,如美国麻省理工学院的Cheetah2用的是NI公司提供的控制器以RS-422通信为基础搭建的实时系统,瑞士苏黎世联邦理工学院的StarlETH采用的是基于ROS机器人系统的实时性系统等,或是采用公司的成熟方案,或是基于机器人系统搭建。但是由于采用的都不是专业的实时性系统,当前的电动腿足式机器人的实时性系统性能表现一般,仍然有提升的方面。
腿足机器人当完成各种复杂的任务时,需要配置更多的传感器和关节执行器。这时便需要同步的获取机器人上的多传感器信息,同步的发送控制信息给机器人的各个执行器。以波士顿动力公司的“BigDog”机器人为例,其传感器便有69个之多。多自由度的腿足式机器人控制系统想要达到的理想的运动性能,需要具备实时的控制能力。
针对目前腿足式机器人的通讯非实时的问题,把EtherCAT的通讯技术应用于控制系统中是腿足式机器人发展的趋势。目前的腿足式机器人控制系统大都采用CAN总线或者RS485总线,虽然它们通信稳定,具有很好的抗干扰能力,但其无法满足控制系统对实时性和可靠性的要求。CAN总线或者RS485总线可拓展差,接线复杂。EtherCAT相对于传统的以太网数据包传输方式,无需接受以太网数据包,直接通过解码,复制到各个设备,使得设备之间仅有微妙级的延迟,极大地提高了传输的效率。在多个设备数据使用一个以太网帧,压缩了大量的设备数据。相对与普通以太网100MBit/s,EtherCAT具有全双工的特性,可获得大于2x100MBit/s x 90%有效数据率。在其从站内采用从站控制器可完成所有通讯。相对于传统的现场总线系统,EtherCAT通讯速度快,底层响应时间短,打破了传统现场总线的通讯瓶颈,从而能够大大提高系统性能。在拓扑结构、时钟同步、数据传输速度和构建成本方面有很大的优势,同时它支持线性节点和冗余电缆。EtherCAT几乎支持任何拓扑结构,其中包括树形、星状和线型,EtherCAT总线协议可以减少电缆的数量,提高抗干扰能力。
目前,一些基于EtherCAT的机器人控制系统相继涌现,如在中国专利文献CN108942932A中公开了“基于EtherCAT总线的工业机器人控制系统及方法”,它以一体化控制器作为主站,包括CoDeSys控制模块和动态链接库。运动模块和总线IO模块共享EtherCAT总线,降低了控制成本。在中国专利文献CN108687776A中公开了“一种机器人控制系统”,通过采用EtherCAT总线进行通信,主站根据反馈信息通过EtherCAT总线向从站发送控制命令,从站接受命令并根据所述控制命令控制机器轴模组工作,减少了硬件的接线,提高了其发明中的控制系统实时性。
对于目前的电驱动腿足式机器人的研究中,目前还存在着以下核心问题:对控制系统实时性、响应速度、通信带宽的更高要求;实时性的控制系统搭建,缺少真正的实时性系统;当受到外部干扰时,抗干扰能力略差。
发明内容
本发明针对现有的电驱动腿足式机器人控制系统在实时性和高效性方面存在的问题,提供一种实时稳定的基于EtherCAT的机器人单腿高实时性控制系统
本发明的基于EtherCAT的机器人单腿高实时性控制系统,采用以下方案:
该控制系统,包括上位机、工控机、驱动器和编码器,工控机与上位机通过网络通信进行传输数据,工控机作为主站通过EtherCAT总线与驱动器连接,驱动器作为从站与编码器相连接,驱动器包括大腿驱动器和小腿驱动器,大腿驱动器和小腿驱动器分别作为第一从站和第二从站,机器人的大腿关节电机和小腿关节电机分别与大腿驱动器和小腿驱动器连接,大腿关节电机处和小腿关节电机处均安装有编码器,编码器通过信号线与驱动器连接;工控机运行控制算法,得出需要腿足式机器人各关节的输出力矩,转换成电流值,通过EtherCAT通信传递给驱动器,驱动器通过内置的电流环实现电机输出给定的力矩,实现单腿的运动。
所述工控机作为主站向从站(驱动器)发送控制信息,信息通过以太网帧的形式传递到第一从站,第一从站(大腿驱动器)从数据帧中抽取数据或将数据插入数据帧,然后将该帧传输到第二从站(小腿驱动器),第二从站发回经过处理的数据帧,并由第一从站作为响应传递给主站(工控机)。为搭建电驱动四足机器人的网络拓扑结构提供方案,可将从站拓展到多个,并采用线型拓扑和环形结构。
所述驱动器用于将控制信息转换为电机的驱动命令控制电机的位置和转矩,并将电机的关节角转换为位置信息,将转矩的模拟量转变成数字量发送给主站。
所述主站采用QNX实时操作系统,在实时操作系统下完成主站协议栈,从站采用力矩伺服控制,通过内置电流环实现单腿的柔顺控制和向前跳跃算法。
所述编码器用于关节电机角位移的检测,通过编码器测得的脉冲数和关节减速器的减速比,得到关节的旋转角度,驱动器得到编码器上传的脉冲数,再将经过滤波的脉冲值上传至工控机。在控制算法中,根据正运动学计算出足端相对于基坐标系的位置,并通过已知的控制频率来计算出瞬时速度。
所述工控机与上位机通过TCP/IP协议进行传输数据。上位机实现人与机器人的交互界面。在机器人运动过程中,可以通过上位机给机器人发控制指令,例如,前进、跳跃等。
所述EtherCAT通信的系统架构为:通过绑定实时核,工控机主站周期线程实现外部硬定时器的级别;使用同步模式,过程镜像传递周期性数据,控制算法在主站周期循环内调用;开Log日志线程,用于存储实验数据到磁盘中;使用模板元编程的方式,添加、保存和输出机器人的错误信息;使用邮箱COE,访问对象字典及其对象,实现初始化;所述控制算法包括单腿的柔顺控制和向前跳跃算法。
所述同步模式,是在过程映像周期更新线程中,所有需要硬实时的任务需要在其中完成,优先级最高,在主站周期线程中完成过程映像的更新;在过程映像周期更新线程中,跳跃控制算法是通过在每个主站周期中调用过程任务(回调函数)去实现;过程映像数据的写入和读取方式,通过两个缓冲区:活动缓冲区和阴影缓冲区,避免主程序和控制算法的冲突;通过网卡驱动和帧调度,主站与EtherCAT总线进行数据的读写,当主站要读写数据时,过程任务调用开始读写函数,把阴影缓冲区内容复制到活动缓冲区,在主站周期循环更新节点之前,缓冲区保持原来的内容,当调用读写完毕函数时,活动缓冲区内容做好发送到总线的准备,当达到主站周期循环更新节点时,更新的活动缓冲区内容复制到阴影缓冲区,阴影缓冲区完成主站与EtherCAT总线的数据交互,每次到循环更新时间时则更新。
所述邮箱更新线程,和主站周期线程比,也是用基于定时器的信号量原子操作来实现。此线程优先级低于PI更新的优先级。本发明中用邮箱COE来访问对象字典及其对象,实现初始化。执行COE的读写操作,设置力矩操作模式0x04,依次设置0x0006、0x0007、0x000F的控制字,完成电机的使能。
所述log日志线程,用于记录实验的数据,并把数据存放在磁盘文件中,然后通过模板(template)元编程开发,根据先入先出的原则,用队列存数据类型,把机器人在实验过程中的错误信息依次添加存储到磁盘文件中。
所述控制算法是基于虚拟模型及关节力控制的柔顺算法,实现单腿的向前跳跃和柔性控制;使用构建虚拟模型的方法,将机器人的足端虚拟成沿躯干坐标系方向的刚度-阻尼系统,得到足端力的计算公式:
上式中,通过单腿的正运动学从关节角得到足端的位置,Pr为真实位置,Pd为期望位置,ks为刚度,kd为阻尼;
由下式得到各关节的期望力矩:
τ=[J]Tf,
其中f为足端力,[J]T为雅克比矩阵的转置。
将期望力矩转换成电流值,通过EtherCAT通信传递给驱动器,驱动器通过内置的电流环实现电机输出给定的力矩;如果监测到落地之后,开始转变控制模型,由弹簧阻尼模型变为纯弹簧上加一个质量块,腿部落地下降和上升阶段足端力分别如下:
f(z)=ks(Pd-Pr)
f(z)=ks(Pd-Pr)-Mg,
上式为添加质量块后的计算公式,Mg为质量块的重力,f(z)为在垂直方向的足端力;
为使腿向前跳跃,在腿部上升阶段给定向前的位置,在向前跳跃的过程中,通过身体的速度来判断落地弹跳过程中的状态,并且改变相应阶段的刚度和阻尼。
本发明中使主站周期达到了外部硬定时器的级别,实现了控制系统的高实时性。在通信架构的同步模式中,运行单腿的向前跳跃算法,实验结果表明单腿机器人具有良好的实时性和柔顺性能。本发明中的控制系统具有灵活高效的网络拓扑结构,通过在单腿机器人中采用了线型拓扑、环形结构,减少了硬件的复杂接线,保证了电驱动单腿机器人控制系统的实时性和可靠性,同时提高了控制的稳定性和高精度。
附图说明
图1是本发明中电驱动腿足式机器人系统的网络拓扑图。
图2是本发明中的电驱动单腿控制系统框图。
图3是EtherCAT主站框架结构图。
图4是EtherCAT主站的操作模式示意图
图5是主站输入过程映射图。
图6是主站的初始化流程图。
图7是电驱动腿足式机器人的单腿结构运动学建模示意图。
具体实施方式
本发明中基于EtherCAT的电驱动单腿机器人具有两个从站,为搭建四足机器人的网络拓扑结构提供方案,从站可拓展到多个,如图1所示。EtherCAT网络是线形拓扑,环形结构,一条线缆带两个通道,实现全双工模式。每一个设备都带有两个通讯通道,实现线缆冗余,只需要另一个以太网接口。通过在线的热插拔就可以实现通道的切换。采用QNX实时操作系统的工控机作为主站,以及使用Elmo直流伺服驱动器为从站,Elmo驱动器从站通过环形结构与工控机连接。
本发明的电驱动腿足式机器人的单腿实时性控制系统,基于EtherCAT通信。如图2,该控制系统包括上位机、EtherCAT主站、EtherCAT从站、编码器和电机。工控机与上位机通过TCP/IP协议进行传输数据。工控机和驱动器分别作为EtherCAT主站和EtherCAT从站通过EtherCAT总线连接(工控机与驱动器通过EtherCAT总线连接),实现信息的传递。编码器通过信号线与驱动器连接,编码器固定在机器人大小腿的关节电机处。上位机实现人与机器人的交互界面,在机器人运动过程中,可以通过上位机给机器人发控制指令,例如,前进、跳跃等。
驱动器包括大腿驱动器和小腿驱动器,大腿驱动器和小腿驱动器分别作为第一从站和第二从站,机器人的大腿关节电机和小腿关节电机分别与大腿驱动器和小腿驱动器连接,大腿关节电机处和小腿关节电机处均安装有编码器。
编码器采用雷尼绍的相对式编码器,精度为8192,即电机每转一圈,编码器采集到8192个脉冲。该编码器具有精度高和体积小的优点,非常适合电机角度的检测。通过编码器检测到的脉冲数,根据公式:可以得到关节的旋转角度θ1,θ2,Ni为编码器检测到的脉冲数,De为减速器的减速比。在控制算法中,根据正运动学计算出足端相对于基坐标系的位置,并通过已知的控制频率来计算出瞬时速度。
通过C++编程语言进行开发,完成基于EtherCAT通信的系统架构。主站工控机采用QNX微内核实时操作系统,在实时操作系统下完成主站协议栈。从站驱动器采用力矩伺服控制,通过内置电流环实现力矩控制,实现了单腿的柔顺控制和向前跳跃算法。通过绑定实时核,主站(工控机)周期线程达到外部硬定时器的级别。使用同步模式,过程镜像传递周期性数据,控制算法在主站周期循环内调用;开Log日志线程,用于存储实验数据到磁盘中。使用模板元编程的方式,添加、保存和输出机器人的错误信息。使用邮箱COE,访问对象字典及其对象,实现初始化。所述控制算法,包括单腿的柔顺控制和向前跳跃算法。
驱动器作为从站,采用现有技术的力矩伺服控制,通过内置电流环实现力矩控制,实现了单腿的柔顺控制和向前跳跃算法。工控机运行本发明中的控制算法,得出需要腿足式机器人各关节的输出力矩,转换成电流值,通过EtherCAT通信传递给驱动器,驱动器通过内置的电流环实现电机输出给定的力矩。
工控机作为主站,采用QNX6.5微内核实时操作系统,具有硬实时、高优先、线程抢占的优势和极短的中断响应时间和上下文切换时间,可从嵌入式硬件中取得最短的可能响应时间。采用德国控创公司的嵌入式四核工控机,主频可达2.90GHz,采用Core处理器,通过绑定实时核,实现了四核四线程,防止了进程抢断和外部中断的干扰发生。工控机支持DDR3L内存,具有3xGb/s Ethernet接口,两个Intel I210-AT以太网控制器,可以快速实现EtherCAT通讯,另具有Intel I218-LM千兆网卡。图3给出了主站框架结构,在QNX实时操作系统下完成主站协议栈。工控机作为主站向驱动器发送控制信息,信息以太网帧的形式给第一个从站,从站从数据帧中抽取数据或将数据插入数据帧,然后将该帧传输到下一个从站,依次传递直到最后一个从站,最后一个从站发回经过处理的数据帧,并由第一个从站作为响应传递给主站。为搭建电驱动四足机器人的网络拓扑结构提供方案,可将从站拓展到多个,并采用线型拓扑和环形结构。
对于主站周期线程,为了满足实验定时器稳定性的要求,用QNX实现定时器的稳定性。QNX系统定时器可达到ns级,本发明中为达到实验需求,实际用信号量的原子操作把定时器设置为1ms作为主站周期。后为了做优化,把主站周期线程绑定到了CPU3,最终达到了外部硬定时器级别。
所述同步模式,如图4所示,即在过程映像周期更新线程中,所有需要硬实时的任务需要在其中完成,优先级最高,在主站周期线程中完成过程映像的更新。在过程映像周期更新线程中,跳跃控制算法是通过在每个主站周期中调用过程任务(回调函数)去实现。过程映像数据的写入和读取方式,通过两个缓冲区:活动缓冲区和阴影缓冲区,避免了主程序和控制算法的冲突。通过网卡驱动和帧调度,主站与EtherCAT总线进行数据的读写。当主站要读写数据时,过程任务调用开始读写函数,把阴影缓冲区内容复制到活动缓冲区,在主站周期循环更新节点之前,缓冲区保持原来的内容。当调用读写完毕函数时,活动缓冲区内容做好发送到总线的准备。当达到主站周期循环更新节点时,更新的活动缓冲区内容复制到阴影缓冲区。阴影缓冲区完成主站与EtherCAT总线的数据交互,每次到循环更新时间时则更新。图6为在上位机中修改的主站输入过程数据映射。
所述邮箱更新线程,和主站周期线程比,也是用基于定时器的信号量原子操作来实现。此线程优先级低于PI更新的优先级。本发明中用邮箱COE来访问对象字典及其对象,实现初始化。执行COE的读写操作,设置力矩操作模式0x04,依次设置0x0006、0x0007、0x000F的控制字,完成电机的使能。
所述log日志线程,绑定到了CPU0且单独封装为一个类,用于记录实验的数据,并把数据存放在磁盘文件中。后通过模板(template)元编程开发,根据先入先出的原则,用队列存数据类型,把机器人在实验过程中的错误信息依次添加存储到磁盘文件中。
所述工控机与上位机通过TCP/IP协议进行传输数据。用上位机软件对主从站进行配置。首先加载从站ESL文件,修改PDO映射、主从站参数,如主站周期时间、邮箱更新周期时间等,然后导出xml文件,该xml文件包含整个EtherCAT网络的配置信息,用于主站协议栈运行时加载。再导出.h文件,该头文件包含已经配置的所有过程数据的宏定义,可用于主站协议栈编程用。主站的初始化流程如图6。
上述系统通过基于C++的主站开发,完成了基于EtherCAT通信的系统架构。以嵌入式四核工控机作为主站,采用QNX微内核系统,通过绑定实时核,实现了四核四线程。主站使用同步操作模式,使电驱动单腿机器人完成复杂的硬实时任务,实现了单腿的柔顺控制和向前跳跃算法。在电驱动单腿机器人实验平台下成功地完成了实验,实验表明本控制系统具有高效实时的通信方式且易于进行的网络结构拓扑,减少了硬件布线,大大提高了系统性能。
本发明中的控制算法在同步模式中调用,是基于虚拟模型及关节力控制的柔顺算法,算法实现了单腿的向前跳跃,电驱动四足机器人单腿结构如图7所示。本发明中使用构建虚拟模型的方法,将机器人的足端虚拟成沿躯干坐标系方向的刚度-阻尼系统,得到单腿足端力f的计算公式:
上式中,通过单腿的正运动学从关节角得到足端的位置,Pr为真实位置,Pd为期望位置,ks为刚度,kd为阻尼;
由下式得到各关节的期望力矩:
τ=[J]Tf
其中f为足端力,[J]T为雅克比矩阵的转置。
将期望力矩转换成电流值,通过EtherCAT通信传递给驱动器,驱动器通过内置的电流环实现电机输出给定的力矩;如果监测到落地之后,开始转变控制模型,由弹簧阻尼模型变为纯弹簧上加一个质量块,腿部落地下降和上升阶段足端力分别如下:
f(z)=ks(Pd-Pr)
f(z)=ks(Pd-Pr)-Mg
上式为添加质量块后的计算公式。Mg为质量块的重力,f(z)为在基坐标系中z轴的足端力。
为使腿向前跳跃,在腿部上升阶段给定向前的位置,在向前跳跃的过程中,通过身体的速度来判断落地弹跳过程中的状态,并且改变相应阶段的刚度和阻尼。
以上便是具体的控制算法。这个算法主要实现电驱动单腿机器人的向前跳跃的柔顺控制。实验平台上的结果表明,使用上述算法,单腿机器人具有良好的柔顺性能,并且提高了控制系统的实时性和可靠性。
Claims (9)
1.一种基于EtherCAT的机器人单腿高实时性控制系统,其特征在于:包括上位机、工控机、驱动器和编码器,工控机与上位机通过网络通信进行传输数据,工控机作为主站通过EtherCAT总线与驱动器连接,驱动器作为从站与编码器相连接,驱动器包括大腿驱动器和小腿驱动器,大腿驱动器和小腿驱动器分别作为第一从站和第二从站,机器人的大腿关节电机和小腿关节电机分别与大腿驱动器和小腿驱动器连接,大腿关节电机处和小腿关节电机处均安装有编码器,编码器通过信号线与驱动器连接;工控机运行控制算法,得出需要腿足式机器人各关节的输出力矩,转换成电流值,通过EtherCAT通信传递给驱动器,驱动器通过内置的电流环实现电机输出给定的力矩,实现单腿的运动。
2.根据权利要求1所述的基于EtherCAT的机器人单腿高实时性控制系统,其特征在于:所述所述工控机作为主站向从站发送控制信息,信息通过以太网帧的形式传递到第一从站,第一从站从数据帧中抽取数据或将数据插入数据帧,然后将该帧传输到第二从站,第二从站发回经过处理的数据帧,并由第一从站作为响应传递给主站。
3.根据权利要求1所述的基于EtherCAT的机器人单腿高实时性控制系统,其特征在于:所述驱动器用于将控制信息转换为电机的驱动命令控制电机的位置和转矩,并将电机的关节角转换为位置信息,将转矩的模拟量转变成数字量发送给主站。
4.根据权利要求1所述的基于EtherCAT的机器人单腿高实时性控制系统,其特征在于:所述主站采用QNX实时操作系统,在实时操作系统下完成主站协议栈,从站采用力矩伺服控制,通过内置电流环实现单腿的柔顺控制和向前跳跃算法。
5.根据权利要求1所述的基于EtherCAT的机器人单腿高实时性控制系统,其特征在于:所述编码器用于关节电机角位移的检测,通过编码器测得的脉冲数和关节减速器的减速比,得到关节的旋转角度,驱动器得到编码器上传的脉冲数,再将经过滤波的脉冲值上传至工控机。
6.根据权利要求1所述的基于EtherCAT的机器人单腿高实时性控制系统,其特征在于:所述EtherCAT通信的系统架构为:通过绑定实时核,工控机主站周期线程实现外部硬定时器的级别;使用同步模式,过程镜像传递周期性数据,控制算法在主站周期循环内调用;开Log日志线程,用于存储实验数据到磁盘中;使用模板元编程的方式,添加、保存和输出机器人的错误信息;使用邮箱COE,访问对象字典及其对象,实现初始化;所述控制算法包括单腿的柔顺控制和向前跳跃算法。
7.根据权利要求6所述的基于EtherCAT的机器人单腿高实时性控制系统,其特征在于:所述同步模式,是在过程映像周期更新线程中,所有需要硬实时的任务需要在其中完成,优先级最高,在主站周期线程中完成过程映像的更新;在过程映像周期更新线程中,跳跃控制算法是通过在每个主站周期中调用过程任务去实现;过程映像数据的写入和读取方式,通过两个缓冲区:活动缓冲区和阴影缓冲区,避免主程序和控制算法的冲突;通过网卡驱动和帧调度,主站与EtherCAT总线进行数据的读写,当主站要读写数据时,过程任务调用开始读写函数,把阴影缓冲区内容复制到活动缓冲区,在主站周期循环更新节点之前,缓冲区保持原来的内容,当调用读写完毕函数时,活动缓冲区内容做好发送到总线的准备,当达到主站周期循环更新节点时,更新的活动缓冲区内容复制到阴影缓冲区,阴影缓冲区完成主站与EtherCAT总线的数据交互,每次到循环更新时间时则更新。
8.根据权利要求1所述的基于EtherCAT的机器人单腿高实时性控制系统,其特征在于:所述log日志线程,用于记录实验的数据,并把数据存放在磁盘文件中,然后通过模板元编程开发,根据先入先出的原则,用队列存数据类型,把机器人在实验过程中的错误信息依次添加存储到磁盘文件中。
9.根据权利要求1所述的基于EtherCAT的机器人单腿高实时性控制系统,其特征在于:所述控制算法是基于虚拟模型及关节力控制的柔顺算法,实现单腿的向前跳跃和柔性控制;使用构建虚拟模型的方法,将机器人的足端虚拟成沿躯干坐标系方向的刚度-阻尼系统,得到足端力的计算公式:
上式中,通过单腿的正运动学从关节角得到足端的位置,Pr为真实位置,Pd为期望位置,ks为刚度,kd为阻尼;
由下式得到各关节的期望力矩:
τ=[J]Tf,
其中f为足端力,[J]T为雅克比矩阵的转置,
将期望力矩转换成电流值,通过EtherCAT通信传递给驱动器,驱动器通过内置的电流环实现电机输出给定的力矩;如果监测到落地之后,开始转变控制模型,由弹簧阻尼模型变为纯弹簧上加一个质量块,腿部落地下降和上升阶段足端力分别如下:
f(z)=ks(Pd-Pr)
f(z)=ks(Pd-Pr)-Mg,
上式为添加质量块后的计算公式,Mg为质量块的重力,f(z)为在垂直方向的足端力;为使腿向前跳跃,在腿部上升阶段给定向前的位置,在向前跳跃的过程中,通过身体的速度来判断落地弹跳过程中的状态,并且改变相应阶段的刚度和阻尼。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910734157.XA CN110412921B (zh) | 2019-08-09 | 2019-08-09 | 基于EtherCAT的机器人单腿高实时性控制系统 |
NL2026115A NL2026115B1 (en) | 2019-08-09 | 2020-07-22 | Ethercat-based control system for high efficiency and real-time performance of single leg of robot |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910734157.XA CN110412921B (zh) | 2019-08-09 | 2019-08-09 | 基于EtherCAT的机器人单腿高实时性控制系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110412921A true CN110412921A (zh) | 2019-11-05 |
CN110412921B CN110412921B (zh) | 2021-07-27 |
Family
ID=68366969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910734157.XA Active CN110412921B (zh) | 2019-08-09 | 2019-08-09 | 基于EtherCAT的机器人单腿高实时性控制系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110412921B (zh) |
NL (1) | NL2026115B1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111267098A (zh) * | 2020-02-19 | 2020-06-12 | 清华大学 | 机器人关节层控制方法及系统 |
CN111497964A (zh) * | 2020-04-27 | 2020-08-07 | 山东大学 | 一种电驱动四足机器人分布式控制系统 |
CN111687846A (zh) * | 2020-06-24 | 2020-09-22 | 山东大学 | 一种四足机器人分布式高实时性控制系统及方法 |
CN112235172A (zh) * | 2020-09-27 | 2021-01-15 | 深圳市微秒控制技术有限公司 | 一种EtherCAT总线位置补偿方法 |
CN112527708A (zh) * | 2020-12-07 | 2021-03-19 | 上海智能制造功能平台有限公司 | 一种通用伺服驱动总线接口的实现装置及方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010054518A1 (en) * | 2000-03-16 | 2001-12-27 | Martin Buehler | Single actuator per leg robotic hexapod |
CN103425106A (zh) * | 2013-08-08 | 2013-12-04 | 华南理工大学 | 一种基于Linux的EtherCAT主/从站控制系统及方法 |
CN105242677A (zh) * | 2015-07-31 | 2016-01-13 | 中国人民解放军国防科学技术大学 | 四足机器人双足支撑相位力位混合控制方法 |
CN105700465A (zh) * | 2014-11-26 | 2016-06-22 | 中国科学院沈阳自动化研究所 | 基于EtherCAT总线的机器人柔顺控制系统和方法 |
CN106406227A (zh) * | 2016-09-19 | 2017-02-15 | 中电和瑞科技有限公司 | 一种数控系统插补算法和数控系统 |
CN107168351A (zh) * | 2017-05-26 | 2017-09-15 | 中国北方车辆研究所 | 一种足式机器人的柔顺控制方法及装置 |
CN207216330U (zh) * | 2017-06-13 | 2018-04-10 | 华南理工大学 | 一种基于EtherCAT的多轴同步控制装置 |
CN108621161A (zh) * | 2018-05-08 | 2018-10-09 | 中国人民解放军国防科技大学 | 基于多传感器信息融合的足式机器人本体状态估计方法 |
CN109946974A (zh) * | 2019-04-12 | 2019-06-28 | 山东大学 | 一种电驱动四足机器人的控制系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106730629B (zh) * | 2016-12-15 | 2019-03-26 | 中国科学院自动化研究所 | 下肢机器人及利用该机器人进行主动运动的控制方法 |
CN108687776A (zh) | 2017-04-05 | 2018-10-23 | 大族激光科技产业集团股份有限公司 | 一种机器人控制系统 |
CN208276909U (zh) * | 2018-04-17 | 2018-12-25 | 中国科学院宁波材料技术与工程研究所 | 一种中空走线的多关节机器人 |
CN108942932B (zh) | 2018-07-19 | 2021-10-08 | 深圳市智能机器人研究院 | 基于EtherCAT总线的工业机器人控制系统及方法 |
-
2019
- 2019-08-09 CN CN201910734157.XA patent/CN110412921B/zh active Active
-
2020
- 2020-07-22 NL NL2026115A patent/NL2026115B1/en not_active IP Right Cessation
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010054518A1 (en) * | 2000-03-16 | 2001-12-27 | Martin Buehler | Single actuator per leg robotic hexapod |
CN103425106A (zh) * | 2013-08-08 | 2013-12-04 | 华南理工大学 | 一种基于Linux的EtherCAT主/从站控制系统及方法 |
CN105700465A (zh) * | 2014-11-26 | 2016-06-22 | 中国科学院沈阳自动化研究所 | 基于EtherCAT总线的机器人柔顺控制系统和方法 |
CN105242677A (zh) * | 2015-07-31 | 2016-01-13 | 中国人民解放军国防科学技术大学 | 四足机器人双足支撑相位力位混合控制方法 |
CN106406227A (zh) * | 2016-09-19 | 2017-02-15 | 中电和瑞科技有限公司 | 一种数控系统插补算法和数控系统 |
CN107168351A (zh) * | 2017-05-26 | 2017-09-15 | 中国北方车辆研究所 | 一种足式机器人的柔顺控制方法及装置 |
CN207216330U (zh) * | 2017-06-13 | 2018-04-10 | 华南理工大学 | 一种基于EtherCAT的多轴同步控制装置 |
CN108621161A (zh) * | 2018-05-08 | 2018-10-09 | 中国人民解放军国防科技大学 | 基于多传感器信息融合的足式机器人本体状态估计方法 |
CN109946974A (zh) * | 2019-04-12 | 2019-06-28 | 山东大学 | 一种电驱动四足机器人的控制系统 |
Non-Patent Citations (1)
Title |
---|
王延涛: "《三自由度液压驱动单腿控制系统设计与实现》", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111267098A (zh) * | 2020-02-19 | 2020-06-12 | 清华大学 | 机器人关节层控制方法及系统 |
CN111267098B (zh) * | 2020-02-19 | 2021-05-28 | 清华大学 | 机器人关节层控制方法及系统 |
CN111497964A (zh) * | 2020-04-27 | 2020-08-07 | 山东大学 | 一种电驱动四足机器人分布式控制系统 |
CN111497964B (zh) * | 2020-04-27 | 2021-11-02 | 山东大学 | 一种电驱动四足机器人分布式控制系统 |
CN111687846A (zh) * | 2020-06-24 | 2020-09-22 | 山东大学 | 一种四足机器人分布式高实时性控制系统及方法 |
CN111687846B (zh) * | 2020-06-24 | 2021-09-24 | 山东大学 | 一种四足机器人分布式高实时性控制系统及方法 |
CN112235172A (zh) * | 2020-09-27 | 2021-01-15 | 深圳市微秒控制技术有限公司 | 一种EtherCAT总线位置补偿方法 |
CN112527708A (zh) * | 2020-12-07 | 2021-03-19 | 上海智能制造功能平台有限公司 | 一种通用伺服驱动总线接口的实现装置及方法 |
CN112527708B (zh) * | 2020-12-07 | 2023-03-31 | 上海智能制造功能平台有限公司 | 一种通用伺服驱动总线接口的实现装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
NL2026115A (en) | 2021-02-16 |
NL2026115B1 (en) | 2022-01-11 |
CN110412921B (zh) | 2021-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110412921A (zh) | 基于EtherCAT的机器人单腿高实时性控制系统 | |
CN105573253B (zh) | 一种工业机器人群控系统及方法 | |
CN103425106B (zh) | 一种基于Linux的EtherCAT主/从站控制系统及方法 | |
CN104339354B (zh) | 一种用于6自由度并联机器人的专用运动控制器硬件平台 | |
CN101592951B (zh) | 分布式仿人机器人通用控制系统 | |
CN100401218C (zh) | 基于两级dsp的并联装备开放式运动控制卡及控制方法 | |
CN112091978A (zh) | 机械臂实时控制系统 | |
JPH10326107A (ja) | サーボ制御方法およびサーボ制御システム | |
CN105700465A (zh) | 基于EtherCAT总线的机器人柔顺控制系统和方法 | |
CN100504688C (zh) | 在环形总线数控系统中实现总线控制器功能的专用芯片 | |
CN106003034A (zh) | 一种主从式机器人控制系统及控制方法 | |
CN107942797A (zh) | 基于sopc的嵌入式双核伺服控制器及其设计方法 | |
CN103358309A (zh) | 一种基于以太网的机械手运动控制系统 | |
CN107783501A (zh) | 一种PCIe控制的数控插补系统 | |
WO2016145603A1 (zh) | 激光扫描装置及激光扫描系统 | |
CN107491042A (zh) | 一种6轴嵌入式数控系统 | |
CN101913149A (zh) | 嵌入式轻型机械臂控制器及其控制方法 | |
CN106888141A (zh) | 一种高效can总线通信方法 | |
WO2013013523A1 (zh) | 一种运动控制接口及接口控制器 | |
CN209289290U (zh) | 基于CANopen的轻型机械臂控制系统 | |
Hayward et al. | An overview of KALI: A system to program and control cooperative manipulators | |
CN107478222A (zh) | 一种基于mems技术的无线穿戴式人体姿态监测系统 | |
CN201728656U (zh) | 嵌入式轻型机械臂控制器 | |
JP2001147706A (ja) | アクチュエータ駆動制御方式、多軸機械装置、及びアクチュエータのための駆動制御装置 | |
CN113385807A (zh) | 一种以太网网关的激光振镜控制系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |