发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种自动化控制***及方法、机械设备,通过嵌入式编程、驱控一体的方式实现安全、高速的自动化控制,其成本低、运算精度高、可扩展性高,便于***升级和扩展。
为实现上述目的及其他相关目的,本发明提供一种自动化控制***,用于实现对机械本体的自动化控制,包括运动控制器和伺服驱动器;所述运动控制器用于接收客户端发送来的控制指令并根据所述控制指令生成机械本体各个关节的位置数据并发送至所述伺服驱动器,以及接收由所述伺服驱动器发送来的机械本体的运动信息;所述伺服驱动器用于根据机械本体各个关节的位置数据生成机械本体上各个电机的控制参数,以及获取机械本体的运动信息并发送至所述运动控制器。
于本发明一实施例中,还包括客户端,所述客户端用于发送控制指令至所述运动控制器,以及接收由所述运动控制器发送来的机械本体的运动信息。
于本发明一实施例中,所述运动控制器包括路径规划单元、逆运动学单元、插补平滑单元、网络通信单元和SPI通信单元;
所述网络通信单元用于通过以太网实现与客户端之间的通信;
所述路径规划单元用于根据所述控制指令规划机械本体的路径;
所述插补平滑单元用于平滑所规划的机械本体路径;
所述逆运动学单元用于将平滑后的机械本体路径的位置信息转换为机械本体各关节的位置数据;
所述SPI通信单元用于通过SPI总线实现与伺服驱动器之间的通信。
于本发明一实施例中,还包括图像获取装置,所述图像获取装置用于获取机械本体所处的实时环境图像,并发送至所述运动控制器;
所述运动控制器包括环境检测单元、路径规划单元、逆运动学单元、插补平滑单元、网络通信单元和SPI通信单元;
所述环境检测单元用于根据机械本体所处的实时环境图像,获取机械本体所处的实时环境信息;
所述路径规划单元用于根据所述控制指令和机械本体所处的实时环境信息为机械本体规划路径;
所述插补平滑单元用于平滑所规划的机械本体路径;
所述逆运动学单元用于将平滑后的机械本体路径的位置信息转换为机械本体各关节的位置数据;
所述网络通信单元用于通过以太网实现与客户端之间的通信;
所述SPI通信单元用于通过SPI总线实现与伺服驱动器之间的通信。
于本发明一实施例中,所述伺服驱动器包括电机位置和速度控制单元和SPI通信单元;
所述电机位置和速度控制单元用于根据机械本体上各个电机的控制参数控制各个电机的运动,以及获取机械本体的运动信息;
所述SPI通信单元用于实现与运动控制器之间的通信。
于本发明一实施例中,所述伺服驱动器和所述机械本体上的电机通过RS485总线连接。
于本发明一实施例中,所述运动控制器和所述伺服驱动器集成于同一片上***。
同时,本发明还提供一种机械设备,包括机械本体、与机械本体相连的上述任一所述的自动化控制***,以通过所述自动化控制***对所述机械本体进行控制。
于本发明一实施例中,所述机械本体为机器人本体。
相应地,本发明还提供一种自动化控制方法,用于实现对机械本体的自动化控制,包括以下步骤:
通过运动控制器接收客户端发送来的控制指令并根据控制指令生成机械本体各个关节的位置数据并发送至伺服驱动器,同时接收由伺服驱动器发送来的机械本体的运动信息;
通过伺服驱动器根据机械本体各个关节的位置数据生成机械本体上各个电机的控制参数,同时获取机械本体的运动信息并发送至运动控制器。
于本发明一实施例中,还包括:通过客户端发送控制指令至所述运动控制器,以及接收由所述运动控制器发送来的机械本体的运动信息。
于本发明一实施例中,所述运动控制器执行以下操作:
通过网络实现与客户端之间的通信;
根据控制指令规划机械本体的路径;
平滑所规划的机械本体路径;
将平滑后的机械本体路径的位置信息转换为机械本体各关节的位置数据;
通过SPI总线实现与伺服驱动器之间的通信。
于本发明一实施例中,还包括通过图像获取装置获取机械本体所处的实时环境图像,并发送至所述运动控制器;
所述运动控制器执行以下操作;
根据机械本体所处的实时环境图像,获取机械本体所处的实时环境信息;
根据控制指令和机械本体所处的实时环境信息为机械本体规划路径;
平滑所规划的机械本体路径;
将平滑后的机械本体路径的位置信息转换为机械本体各关节的位置数据;
通过网络实现与客户端之间的通信;
通过SPI总线实现与伺服驱动器之间的通信。
于本发明一实施例中,所述伺服驱动器执行以下操作:
根据机械本体上各个电机的控制参数控制各个电机的运动,以及获取机械本体的运动信息;
通过SPI总线实现与伺服驱动器之间的通信。
于本发明一实施例中,所述伺服驱动器和所述机械本体上的电机通过RS485总线连接。
于本发明一实施例中,所述运动控制器和所述伺服驱动器集成于同一片上***。
如上所述,本发明的自动化控制***及方法、机械设备,具有以下有益效果:
(1)通过嵌入式编程实现安全、高速的自动化控制,其成本低、运算精度高;
(2)将自动化控制***分成了用户层、运动控制层和伺服驱动层,各层之间分工明确且紧密衔接;运动控制层和伺服驱动层之间的协议内容能够自定义,能够以最小的数据量传输最大的信息量以实现最大的响应时间和更快的运行速度;
(3)将运动控制器和伺服驱动器集成在一起,实现驱控一体,便于进行软硬件升级,易于快速适应于不同的机械本体;
(4)克服现有示教编程的弊端,能够智能地实时结合外部环境进行自动化控制,保证以最优且最安全的方式运行;
(5)能够同时支持六轴同步运动,八轴独立控制,具有极大的灵活性与较广的适用范围。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
本发明的自动化控制***用于实现对机械本体的自动化控制,包括运动控制器和伺服驱动器;所述运动控制器用于接收客户端发送来的控制指令并根据所述控制指令生成机械本体各个关节的位置数据并发送至所述伺服驱动器,以及接收由所述伺服驱动器发送来的机械本体的运动信息;所述伺服驱动器用于根据机械本体各个关节的位置数据生成机械本体上各个电机的控制参数,以及获取机械本体的运动信息并发送至所述运动控制器
参照图1,本发明的自动化控制***1用于实现对机械本体的自动化控制,包括客户端11、运动控制器12和伺服驱动器13。
客户端11用于发送控制指令至运动控制器,以及接收由运动控制器发送来的机械本体的运动信息。
具体地,客户端11可以发送单一控制指令,也可以发送系列控制指令。其中,单一控制指令用于控制机械本体执行单一的动作,如启动、停止、暂停、恢复、左转、右转、前移、后移等等。系列控制指令用于控制机械本体执行一系列操作,如拾取操作、旋转操作等等。
机械本体的运动信息包括运动状态信息以及各个关节的位置数据。其中,运动状态信息包括正常运动、异常运动等等。
客户端11可以采用触摸屏、按钮等发送控制指令,通过显示屏显示接收到的机械本体反馈的运动信息,以及显示机械本体的仿真运动。
优选地,客户端11采用上位机,即可以直接发出操控命令的计算机。上位机可以是示教器或者工控机。其中,示教器又叫示教编程器,是由电子***或计算机***执行的。工控机(Industrial Personal Computer,IPC)即工业控制计算机,是一种采用总线结构,对生产过程及机电设备、工艺装备进行检测与控制的工具总称。工控机具有重要的计算机属性和特征,如具有计算机CPU、硬盘、内存、外设及接口,并有操作***、控制网络和协议、计算能力、友好的人机界面。工控行业的产品和技术非常特殊,属于中间产品,是为其他各行业提供可靠、嵌入式、智能化的工业计算机。
在本发明一实施例中,客户端11可通过离线编程来生成控制指令。其中,客户端可使用的语言包括G代码、PYTHON语言和C/C++语言。客户端还包括仿真环境,能够根据要求离线仿真出机械本体的运动轨迹并且评估运动的可行性,同时能够根据反馈回来的机械本体的每个关节的位置数据实时模拟机械本体的最新运动情况。
运动控制器12用于根据控制指令生成机械本体各个关节的位置数据并发送至伺服驱动器13,以及接收由伺服驱动器13发送来的机械本体的运动信息并发送至客户端。
其中,运动控制器12集成于一片上***,用于运行一运动控制程序,以根据控制指令生成机械本体各个关节的位置数据并发送至伺服驱动器13,以及接收由伺服驱动器13发送来的机械本体的运动信息并发送至客户端。
运动控制器12与客户端之间通过网络实现通信;运动控制器12与伺服控制器13之间通过SPI总线连接,采用全双工数据传输。
运动控制器12由嵌入式***来实现。具体地,运动控制器采用四核ARM构架,cortex A8处理器,主频为900M Hz,运行Linux操作***,能够接收客户端发送来的控制指令、数据等,且针对不同的控制指令,生成对应的各关节的位置数据。对于本领域技术人员人员,根据控制指令和机械本体所处的环境信息来生成对应的各个关节的位置数据是已经比较成熟的算法,是能够实现的。该算法的具体实现不是本发明的重点所在,故在此不再赘述。
如图2所示,在本发明一优选实施例中,运动控制器12包括路径规划单元121、插补平滑单元122、逆运动学单元123、网络通信单元124和SPI通信单元125。
网络通信单元124用于通过以太网实现与客户端之间的通信。具体地,网络通信单元124接收客户端发送来的控制指令,及发送机械本体的运动信息至客户端。
路径规划单元121用于规划机械本体的路径。其中,路径规划单元121可根据不同的标准规划不同的路径,如最短路径、最平缓路径、最远路径等等。
插补平滑单元122用于平滑所规划的机械本体路径。平滑处理后的路径避免了机械本体不必要的剧烈转动。对于本领域技术人员而言,平滑路径已经是非常成熟的现有技术,包括多种算法,在此不再赘述。
逆运动学单元123用于将平滑后的机械本体路径的位置信息转换为机械本体各关节的位置数据。逆运动学是决定要达成所需要的姿势所要设置的关节可活动对象的参数的过程。
SPI通信单元125用于通过SPI总线实现与伺服驱动器之间的通信。具体地,SPI通信单元125通过SPI总线发送机械本体的控制数据至伺服驱动器,及接收伺服控制器发送来的机械本体的运动信息。
优选地,运动控制器12还包括IO控制单元、错误处理单元和测试单元。IO控制单元用于负责接收IO状态,并将IO进行清零或置位。错误处理单元用于接收并上报伺服驱动器发送来的错误信息。测试单元用于对运动控制器进行***测试和调试。
伺服驱动器13用于根据机械本体各个关节的位置数据生成机械本体上各个电机的控制参数,以及获取机械本体的运动信息并发送至运动控制器12。
其中,伺服驱动器13集成于一片上***,用于运行一伺服驱动程序,以根据机械本体各个关节的位置数据生成机械本体上各个电机的控制参数,以及获取机械本体的运动信息并发送至运动控制器12。
具体地,伺服驱动器13由嵌入式***来实现。在本发明的一个优选实施例中,采用FPGA运行NIOS和VERILOG,以SPI NIOS核接收各个关节的位置数据并转换成每个电机的控制参数,然后通过Mailbox将每个电机的控制参数分发到六个电机控制NIOS核中,达到六轴同步控制的目的。
其中,伺服驱动器13和机械本体上的电机通过RS485总线连接。
如图3所示,在本发明一优选实施例中,伺服驱动器13包括SPI通信单元131和电机位置和速度控制单元132。
SPI通信单元131用于通过SPI总线实现与运动控制器之间的通信。具体地,SPI通信单元通过SPI总线接收机械本体上各个电机的控制参数,并将机械本体的运动信息发送至运动控制器。
电机位置和速度控制单元132用于根据机械本体上各个电机的控制参数控制各个电机的运动,以及获取机械本体的运动信息。具体地,电机位置和速度控制单元通过ENDAT2.2协议根据机械本体上各个电机的控制参数控制各个电机的运动,以及获取机械本体的运动信息。
优选地,伺服驱动器13还包括节能单元、错误检测单元和硬件测试单元。节能单元用于根据检测到的机械本体的电机驱动板的各个状态,调节功率输出。错误检测单元用于检测伺服驱动器的错误信息。硬件测试单元用于对伺服驱动器的硬件进行测试和调试。
优选地,如图4所示,本发明的自动化控制***还包括图像获取装置14,该图像获取装置14用于获取机械本体所处的实时环境图像,并发送至运动控制器。其中,图像获取装置采用摄像头。
图像获取装置14可以设置在机械本体上,也可以设置在能够获取机械本体所处的环境图像的任意位置处。图像获取装置14可以与运动控制器12直接相连,也可以通过无线通信的方式进行连接。
相应地,运动控制器12还包括环境检测单元,该环境检测单元用于根据机械本体所处的实时环境图像,获取机械本体所处的实时环境信息。
路径规划单元用于根据机械本体所处的实时环境信息为机械本体规划路径。例如,路径规划单元规划路径时,若实时环境信息表明路径前方有障碍物,则重新规划路径。
优选地,本发明的自动化控制***中,运动控制器12和伺服驱动器13集成于同一片上***。
参照图5,本发明的机械设备包括机械本体2,与机械本体相连的上述自动化控制***1,以通过自动化控制***实现对机械本体的自动化控制。
参照图6,本发明的自动化控制方法用于实现对机械本体的自动化控制,包括以下步骤:
步骤S1、通过客户端发送控制指令至运动控制器,同时接收由运动控制器发送来的机械本体的运动信息。
具体地,客户端可以发送单一控制指令,也可以发送系列控制指令。其中,单一控制指令用于控制机械本体执行单一的动作,如启动、停止、暂停、恢复、左转、右转、前移、后移等等。系列控制指令用于控制机械本体执行一系列操作,如拾取操作、旋转操作等等。
机械本体的运动信息包括运动状态信息以及各个关节的位置数据。其中,运动状态信息包括正常运动、异常运动等等。
客户端可以采用触摸屏、按钮等发送控制指令,通过显示屏显示接收到的机械本体反馈的运动信息,以及显示机械本体的仿真运动。
优选地,客户端采用上位机,即可以直接发出操控命令的计算机。上位机可以是示教器或者工控机。其中,示教器又叫示教编程器,是由电子***或计算机***执行的。工控机(Industrial Personal Computer,IPC)即工业控制计算机,是一种采用总线结构,对生产过程及机电设备、工艺装备进行检测与控制的工具总称。工控机具有重要的计算机属性和特征,如具有计算机CPU、硬盘、内存、外设及接口,并有操作***、控制网络和协议、计算能力、友好的人机界面。工控行业的产品和技术非常特殊,属于中间产品,是为其他各行业提供可靠、嵌入式、智能化的工业计算机。
在本发明一实施例中,客户端可通过离线编程来生成控制指令。其中,客户端可使用的语言包括G代码、PYTHON语言和C/C++语言。客户端还包括仿真环境,能够根据要求离线仿真出机械本体的运动轨迹并且评估运动的可行性,同时能够根据反馈回来的机械本体的每个关节的位置数据实时模拟机械本体的最新运动情况。
步骤S2、通过运动控制器根据控制指令生成机械本体各个关节的位置数据并发送至伺服驱动器,同时接收由伺服驱动器发送来的机械本体的运动信息并发送至客户端。
其中,运动控制器集成于一片上***,用于运行一运动控制程序,以根据控制指令生成机械本体各个关节的位置数据并发送至伺服驱动器,以及接收由伺服驱动器发送来的机械本体的运动信息并发送至客户端。
运动控制器与客户端之间通过网络实现通信;运动控制器与伺服控制器之间通过SPI总线连接,采用全双工数据传输。
运动控制器由嵌入式***来实现。具体地,运动控制器采用四核ARM构架,cortexA8处理器,主频为900MHz,运行Linux操作***,能够接收客户端发送来的控制指令、数据等,且针对不同的控制指令,生成对应的各关节的位置数据。对于本领域技术人员人员,根据控制指令和机械本体所处的环境信息来生成对应的各个关节的位置数据是已经比较成熟的算法,是能够实现的。该算法的具体实现不是本发明的重点所在,故在此不再赘述。
在本发明一优选实施例中,运动控制器执行以下操作:
1)通过网络实现与客户端之间的通信。
具体地,通过网络接收客户端发送来的控制指令,及发送机械本体的运动信息至客户端。
2)规划机械本体的路径。
其中,路径规划单元可根据不同的标准规划不同的路径,如最短路径、最平缓路径、最远路径等等。
3)平滑所规划的机械本体路径。
平滑处理后的路径避免了机械本体不必要的剧烈转动。对于本领域技术人员而言,平滑路径已经是非常成熟的现有技术,包括多种算法,在此不再赘述。
4)将平滑后的机械本体路径的位置信息转换为机械本体各关节的位置数据。
逆运动学是决定要达成所需要的姿势所要设置的关节可活动对象的参数的过程。
5)通过SPI总线实现与伺服驱动器之间的通信。
具体地,通过SPI总线发送机械本体的控制数据至伺服驱动器,及接收伺服控制器发送来的机械本体的运动信息。
优选地,运动控制器还包括检测运动控制器的错误信息,对运动控制器进行***测试和调试,以及接收IO状态,并将IO进行清零或置位。
步骤S3、通过伺服驱动器根据机械本体各个关节的位置数据生成机械本体上各个电机的控制参数,同时获取机械本体的运动信息并发送至运动控制器。
其中,伺服驱动器集成于一片上***,用于运行一伺服驱动程序,以根据机械本体各个关节的位置数据生成机械本体上各个电机的控制参数,以及获取机械本体的运动信息并发送至运动控制器。
具体地,伺服驱动器由嵌入式***来实现。在本发明的一个优选实施例中,采用FPGA运行NIOS和VERILOG,以SPI NIOS核接收各个关节的位置数据并转换成每个电机的控制参数,然后通过Mailbox将每个电机的控制参数分发到六个电机控制NIOS核中,达到六轴同步控制的目的。
其中,伺服驱动器和机械本体上的电机通过RS485总线连接。
在本发明一优选实施例中,伺服驱动器执行以下操作:
1)根据机械本体上各个电机的控制参数控制各个电机的运动,以及获取机械本体的运动信息。
具体地,通过ENDAT2.2协议根据机械本体上各个电机的控制参数控制各个电机的运动,以及获取机械本体的运动信息。
2)通过SPI总线实现与运动控制器之间的通信。
具体地,通过SPI总线接收机械本体上各个电机的控制参数,并将机械本体的运动信息发送至运动控制器。
优选地,伺服驱动器还能够根据检测到的机械本体的电机驱动板的各个状态,调节功率输出的节能效果、检测伺服驱动器的错误信息,以及对伺服驱动器的硬件进行测试和调试。
优选地,本发明的自动化控制方法还包括通过图像获取装置获取机械本体所处的实时环境图像,并发送至运动控制器。其中,图像获取装置采用摄像头。
图像获取装置可以设置在机械本体上,也可以设置在能够获取机械本体所处的环境图像的任意位置处。图像获取装置可以与运动控制器直接相连,也可以通过无线通信的方式进行连接。
相应地,运动控制器还包括执行以下操作:根据机械本体所处的实时环境图像,获取机械本体所处的实时环境信息;根据机械本体所处的实时环境信息为机械本体规划路径。例如,路径规划单元规划路径时,若实时环境信息表明路径前方有障碍物,则重新规划路径。
优选地,本发明的自动化控制方法中,运动控制器和伺服驱动器集成于同一片上***。
综上所述,本发明的自动化控制***及方法、机械设备通过嵌入式编程实现安全、高速的自动化控制,其成本低、运算精度高;将自动化控制***分成了用户层、运动控制层和伺服驱动层,各层之间分工明确且紧密衔接;运动控制层和伺服驱动层之间的协议内容能够自定义,能够以最小的数据量传输最大的信息量以实现最大的响应时间和更快的运行速度;将运动控制器和伺服驱动器集成在一起,实现驱控一体,便于进行软硬件升级,易于快速适应于不同的机械本体;克服现有示教编程的弊端,能够智能地实时结合外部环境进行自动化控制,保证以最优且最安全的方式运行;能够同时支持六轴同步运动,八轴独立控制,具有极大的灵活性与较广的适用范围。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。