基于ROS系统的EtherCAT主从站通信系统的制作方法

文档序号:11250079阅读:3446来源:国知局
基于ROS系统的EtherCAT主从站通信系统的制造方法与工艺

本发明涉及机器人分布式控制领域,特别涉及到一种基于ros系统的ethercat主从站通信系统。



背景技术:

机器人操作系统ros,即robotoperatingsystem,是一个开源操作系统,开源以及分布式运作的特点使ros得到了广泛的应用。ros系统提供硬件的抽象描述、底层驱动程序的管理、程序节点间消息传递的机制、程序软件发行包的管理等功能。ros通信是以节点为单位并且采用基于主题的异步数据流通信模式。机器人的应用已经从工业领域逐渐扩展到非工业领域,机器人的控制也逐渐向分布式架构发展,这就需要一个更快、更可靠稳定的网络架构。ethercat即ethernetcontrolautomationtechnology,以标准以太网技术为基础,采用主从模式介质访问控制通信方式,充分利用以太网全双工处理网络数据的特点,保证了系统的高速性和高度实时性。

现有的基于ros的网络化控制,存在高延时性的技术问题。因此,提供一种高速、实时性、低成本、拓扑灵活、配制简单、兼容性的ethercat主从站系统通信系统就很有必要。



技术实现要素:

本发明所要解决的技术问题是现有技术中存在的延时性高的问题。提供一种新的基于ros系统的ethercat主从站通信系统,该基于ros系统的ethercat主从站通信系统具有扩大了非ros传感器设备的需求、实时性及高效性的特点。

为解决上述技术问题,采用的技术方案如下:

一种基于ros系统的ethercat主从站通信系统,所述ethercat主从站通信系统包括ethercat主站系统及ethercat从站系统;所述ethercat主站系统包括集成以太网接口的pc机,所述pc机设有ros操作系统包括软主站soem,所述软主站soem支持ethercat协议函数接口;所述的ethercat从站系统包括控制器及微处理器,所述控制器及微处理器通过spi连接,所述控制器及微处理器外围均包括数据处理电路及传输电路;所述ethercat主从站通信系统还包括两台ros客户机,所述ros客户机包括ros操作系统。

本发明的工作原理:ethercat以标准以太网技术为基础,采用主从模式介质访问控制通信方式,充分利用以太网全双工处理网络数据的特点,保证了系统的高速性和高度实时性。ethercat主站系统在ros系统下,建立一个消息节点程序用于处理ethercat从站系统与ethercat主站系统交互的数据。将ros系统下的数据转换为通信时需要的数据类型。通过主站软件soem提供的接口函数将转换后的数据结构转换为ethercat通信时的数据,并进一步封装成数据帧发送到ethercat从站系统去提取。为实现网络分布式架构越来越大的需求,本发明通过路由器接入两台ros客户机。

上述技术方案中,为优化,进一步地,所述ethercat主站系统采用基于linux系统的开源soem作为软主站,所述软主站用于实现实时内核、调度管理及逻辑空间映射。

进一步地,所述软主站soem包含作为用户层的用户应用程序;作为内核层的主站soem模块,与主站soem模块连接的程序接口模块、与程序接口模块连接的网卡设备驱动模块;作为网卡硬件的受网卡设备驱动模块驱动的网卡芯片;所述内核层与所述ros操作系统连接;所述应用程序接口模块包括字符设备接口、网卡设备接口;所述字符设备接口与用户应用程序连接,所述网卡设备接口与网卡设备驱动模块连接。

进一步地,所述控制器为控制器et1100,所述控制器et1100包括i2c总线,所述控制器et1100具有eeprom访问功能;所述控制器et1100通过mii接口连接网卡芯片。

进一步地,所述控制器et1100通过ebus接口连接网卡芯片。

进一步地,所述微处理器为微处理器stm32。

进一步地,所述ros操作系统执行的步骤包括建立ros消息节点,用于处理ethercat主站系统与ethercat从站系统的交互数据,将ros操作系统数据类型转换成通信数据类型。

进一步地,所述消息节点将主题数据类型为std_msgs/uint8转换为uint8_t,所述主题数据类型std_msgs/uint8通过命令行工具查看。

进一步地,所述微处理器smt32扩展数据处理电路及传输电路包括usb转串口、数据传输接口功能以及外部功能设备。

本发明实现扩展网络分布式架构的需求,接入了两台ros客户机,ros客户机同样装有ros操作系统。ethercat主站系统不断给ethercat从站系统发送过程数据,保证ethercat从站系统始终处于运行的状态。输入输出数据放在过程数据对象,过程数据对象经过层层对象映射封装成数据报文插入到ethercat以太网帧内。ethercat以太网帧通过ethercat总线传输到ethercat从站系统。为实现ros客户机接入网络进行通信,需要对ros主机与客户机进行配置。通过roscore指令启动ros服务器,查看启动端口,ros客户机在~/.bashrc文件中找到ros_master_url项并赋值实现参数配置。微处理器stm32扩展了usb转串口、数据传输接口功能以及外部功能设备。esc与微处理器之间的过程数据接口pdi接口有两种,一种为简单的i/o接口,另外一种为dpram接口。dpram接口又分为串行方式和并行方式,本实例选择串行接口spi方式。

本发明的有益效果:

效果一,本发明通过消息节点将非ros设备的数据转化为所需数据类型,扩大了非ros传感器设备的需求。

效果二,本发明可以实现将ros设备和非ros设备通过ethercat总线连接,扩大了系统接入设备的数量与范围。

效果三,本发明利用ethercat总线模式的特点提高了设备间通信的实时性与高效性。

附图说明

下面结合附图和实施例对本发明进一步说明。

图1,ethercat主站系统结构示意图;

图2,消息节点的程序流程图;

图3,ethercat从站系统结构示意图;

图4,系统通信过程架构示意图;

图5,系统拓扑结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

实施例1

本实施提供一种基于ros系统的ethercat主从站通信系统,所述ethercat主ethercat从站系统通信系统包括ethercat主站系统及ethercat从站系统;

所述ethercat主站系统如图1,包括集成以太网接口的pc机,所述pc机设有ros操作系统包括软主站soem,所述软主站soem支持ethercat协议函数接口;

所述的ethercat从站系统如图3,包括控制器及微处理器,所述控制器及微处理器通过spi连接,所述控制器及微处理器外围均包括数据处理电路及传输电路;

所述ethercat主从站通信系统还包括两台ros客户机,所述ros客户机包括ros操作系统。

具体地,所述ethercat主站系统采用基于linux系统的开源soem作为软主站,所述软主站用于实现实时内核、调度管理及逻辑空间映射。

具体地,如图1,所述软主站soem包含作为用户层的用户应用程序;作为内核层的主站soem模块,与主站soem模块连接的程序接口模块、与程序接口模块连接的网卡设备驱动模块;作为网卡硬件的受网卡设备驱动模块驱动的网卡芯片;所述内核层与所述ros操作系统连接;所述应用程序接口模块包括字符设备接口、网卡设备接口;所述字符设备接口与用户应用程序连接,所述网卡设备接口与网卡设备驱动模块连接。

ethercat主站系统软主站soem提供ethercat通信函数接口。ethercat通信函数接口应用程序定义一个缓冲区,通过ec_config_map函数对该缓冲区进行初始化,内部过程是将ethercat从站系统i/o的值实时映射到该缓冲区中。因此,应用程序通过修改缓冲区对应的变量即可改变ethercat从站系统i/o端口的值。

进一步地,所述控制器为控制器et1100,所述控制器et1100包括i2c总线,所述控制器et1100具有eeprom访问功能。i2c总线与eeprom连接。

控制器et1100两种接口方式:ebus和mii,通过mii接口或ebus接口与网卡芯片相连,提供et1100芯片与网卡芯片之间的数据转换。网卡芯片包括phy1及phyo。网卡芯片通过变压器与rj45口连接。

具体地,所述微处理器为stm32。微处理器stm32扩展了usb转串口、数据传输接口功能以及外部功能设备,外部功能设备包括晶振、传感器及i/o设备。控制器与微处理器之间的过程数据接口pdi接口有两种,一种为简单的i/o接口,另外一种为dpram接口。dpram接口又分为串行方式和并行方式,本实例选择串行接口spi方式。

具体地,所述ros操作系统执行的步骤包括建立ros消息节点,用于处理ethercat主站系统与ethercat从站系统的交互数据,将ros操作系统数据类型转换成通信数据类型。消息节点的程序流程如图2所示,包括初始化节点,通过发布主题进行数据格式转换,后将数据包封装到以太网帧,启动ethercat从站系统读取i/o数据。所述消息节点将主题数据类型为std_msgs/uint8转换为uint8_t,所述主题数据类型std_msgs/uint8通过命令行工具查看。同时,ethercat主站系统不断给ethercat从站系统发送过程数据,保证ethercat从站系统始终处于operational状态,即运行状态。输入输出数据放在过程数据对象pdo,过程数据对象pdo经过层层对象映射封装成数据报文插入到ethercat以太网帧内。ethercat以太网帧再通过ethercat总线传输到ethercat从站系统。

ethercat从站系统从接收到的帧结构中提取出与自己寻址相符的数据进行处理。ethercat从站系统到主站的通信过程顺序逆向。区别在于ethercat从站系统将自己的反馈数据插入到ethercat以太网帧数据帧结构中,通过ethercat总线发送回主站。ethercat主从站通信系统的通信过程架构如图4所示,包括ethercat主站系统接收到ros客户机的从ros服务器传来的信息后,通过消息节点程序将主题数据类型为std_msgs/uint8转换为uint8_t,通过soem软主站驱动ethercat从站系统,控制器将根据uint8_t格式的命令控制传感器或i/o设备。为实现ros客户机接入网络进行通信,需要对ros主机与客户机进行配置。通过roscore指令启动ros服务器,查看启动端口,ros客户机在~/.bashrc文件中找到ros_master_url项并赋值实现参数配置。整体网络系统拓扑结构图如图5所示,包括2个ros客户机,2个ros客户机通过路由器及交换机与ethercat主站系统,进而与ethercat从站系统连接。

尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员能够理解本发明,但是本发明不仅限于具体实施方式的范围,对本技术领域的普通技术人员而言,只要各种变化只要在所附的权利要求限定和确定的本发明精神和范围内,一切利用本发明构思的发明创造均在保护之列。

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