CN117681229A - 机器人控制系统及机器人 - Google Patents
机器人控制系统及机器人 Download PDFInfo
- Publication number
- CN117681229A CN117681229A CN202311726724.XA CN202311726724A CN117681229A CN 117681229 A CN117681229 A CN 117681229A CN 202311726724 A CN202311726724 A CN 202311726724A CN 117681229 A CN117681229 A CN 117681229A
- Authority
- CN
- China
- Prior art keywords
- servo
- controller
- driving
- serial bus
- 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.)
- Pending
Links
- 230000001360 synchronised effect Effects 0.000 claims description 40
- 238000004891 communication Methods 0.000 claims description 34
- 238000000034 method Methods 0.000 claims description 16
- 230000003993 interaction Effects 0.000 claims description 15
- 239000000872 buffer Substances 0.000 claims description 13
- 230000005540 biological transmission Effects 0.000 claims description 12
- 238000004458 analytical method Methods 0.000 claims description 5
- 230000000737 periodic effect Effects 0.000 claims description 4
- 230000003139 buffering effect Effects 0.000 claims description 3
- 238000004519 manufacturing process Methods 0.000 abstract description 9
- 238000001514 detection method Methods 0.000 abstract description 3
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 13
- 230000008859 change Effects 0.000 description 7
- 238000013024 troubleshooting Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000001960 triggered effect Effects 0.000 description 5
- 238000011217 control strategy Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000011835 investigation Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
-
- 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
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- 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/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Numerical Control (AREA)
Abstract
本申请实施例提供一种机器人控制系统及机器人,机器人控制系统包括:控制器,所述控制器用于进行驱动规划,并根据驱动规划的结果下发驱动任务;伺服驱动器,所述伺服驱动器用于接收所述驱动任务,并根据所述驱动任务对伺服电机进行伺服调控;串行总线,所述串行总线用于连通所述控制器与所述伺服驱动器,使所述控制器与所述伺服驱动器能够通过所述串行总线进行通信交互。本申请实施例至少有利于提高机器人的控制精度和故障排查效率,拓展机器人系统在产线上的应用前景。
Description
技术领域
本申请实施例涉及自动控制领域,特别涉及一种机器人控制系统及机器人。
背景技术
随着控制技术的发展,工业机器人在生产制造过程中的作用日益增长,为了保证生产效率和质量,对机器人的控制算法要求也越来越高。基于提高产线的生产效率这一目的,通常可以将产线设置成一个机器人系统,机器人系统中包含至少一个机器人和至少两个变位机系统,机器人通过路径规划和协调控制各变位机系统的方式,在各变位机系统之间转移执行不同的作业任务。
然而,当前的机器人通常存在线路冗余较大的问题,并且在执行作业任务的过程中,机器人控制精度有限,在机器人出现伺服驱动故障的情况下,难以实现高效的故障排查,机器人系统在产线上的应用受限。
发明内容
本申请实施例提供一种机器人控制系统及机器人,至少有利于提高机器人的控制精度和故障排查效率,增大机器人系统在产线上的应用前景。
根据本申请一些实施例,本申请实施例一方面提供一种机器人控制系统,包括:控制器,所述控制器用于进行驱动规划,并根据驱动规划的结果下发驱动任务;伺服驱动器,所述伺服驱动器用于接收所述驱动任务,并根据所述驱动任务对伺服电机进行伺服调控;串行总线,所述串行总线用于连通所述控制器与所述伺服驱动器,使所述控制器与所述伺服驱动器能够通过所述串行总线进行通信交互。
在一些实施例中,所述伺服驱动器包括时钟模块;所述时钟模块的输出端与所述伺服驱动器的触发端口连接,并与所述控制器的硬件触发引脚连接,用于生成并输出同步时钟信号;所述同步时钟信号用于作为所述伺服驱动器的伺服调控的触发信号,并供所述控制器形成软中断作为所述控制器驱动规划的触发信号。
在一些实施例中,所述控制器还用于下发所述伺服驱动器的配置参数,所述串行总线包括第一串行总线和第二串行总线,所述第一串行总线的传输速度高于所述第二串行总线的传输速度;所述第一串行总线用于供所述控制器和所述伺服驱动器,根据所述同步时钟信号进行所述驱动任务在内的周期性数据交互;所述第二串行总线用于供所述控制器向所述伺服驱动器下发所述配置参数。
在一些实施例中,所述控制器包括驱动层和应用层;所述驱动层用于向所述应用层提供通讯接口,供所述应用层通过所述通讯接口进行通讯;所述应用层用于调用所述驱动层提供的所述通讯接口,通过所述串行总线与所述伺服驱动器进行数据交互,生成并下发所述驱动任务。
在一些实施例中,所述应用层包括一个主线程和若干个子线程,所述主线程与所述子线程分别绑定在不同的中央处理器中;所述主线程用于根据所述同步时钟信号的触发,计算出下一脉冲周期的所述驱动任务并通过所述驱动层提供的所述通讯接口,利用所述串行总线将所述驱动任务下发给所述伺服驱动器;所述子线程用于通过所述驱动层提供的所述通讯接口,利用所述串行总线向所述伺服驱动器下发所述配置参数。
在一些实施例中,所述伺服驱动器还用于在未接收到下一脉冲周期的所述驱动任务的情况下,根据最近的若干个历史脉冲周期的所述驱动任务进行下一脉冲周期的伺服规划,并根据伺服规划结果进行伺服控制。
在一些实施例中,所述子线程还用于通过所述驱动层提供的外联接口,与外部设备进行通讯交互,所述外联接口包括:工业以太网网口或者现场总线接口。
在一些实施例中,所述伺服控制器还用于根据所述同步时钟信号,通过所述串行总线周期性上报伺服电机的伺服控制结果,所述控制器还包括缓存模块;所述缓存模块用于缓存历史控制数据,所述历史控制数据包括所述伺服控制器上传的若干脉冲周期的历史伺服控制结果,以及所述控制器下发的若干个历史驱动任务,所述历史控制数据在伺服电机驱动故障的情况下用于驱动故障分析。
在一些实施例中,所述控制器还包括告警模块;所述告警模块用于比对所述控制器下发的所述驱动任务的目标伺服控制结果,与所述伺服控制器上传的实际伺服控制结果是否一致,在连续多个脉冲周期的所述目标伺服控制结果和所述实际伺服控制结果均不一致的情况下,上报驱动错误,供所述控制器根据所述驱动错误指令伺服电机停机。
根据本申请一些实施例,本申请实施例另一方面还提供一种机器人,包括用于执行前述任一项实施例所述的机器人控制方法的模块。
本申请实施例提供的技术方案至少具有以下优点:
本申请实施例提供的机器人控制系统,利用串行总线将控制器和伺服驱动器连通,供控制器和伺服驱动器可以通过串行总线进行通信交互,使得控制器和伺服驱动器能够集成到同一电路板上,便于减小机器人的线路冗余和大小,提高机器人控制系统的稳定性和实时性;控制器可以根据待执行的作业任务进行驱动规划,并根据驱动规划的结果下发驱动任务,由伺服驱动器根据接收到的驱动任务,对伺服电机进行伺服调控,使得机器人的伺服控制由控制器和伺服驱动器协同实现,有利于提高伺服控制准确性的同时,在机器人出现驱动故障的情况下,便于进行驱动故障的排查,提高故障排查效率。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,除非有特别申明,附图中的图不构成比例限制。
图1为本申请一实施例提供的一种机器人控制系统的结构示意图;
图2为本申请一实施例提供的另一种机器人控制系统的结构示意图;
图3为本申请一实施例提供又一种一种机器人控制系统的结构示意图;
图4为本申请一实施例提供的一种控制器的结构示意图。
具体实施方式
由背景技术可知,当前机器人的线路冗余较大,并且机器人的控制精度和故障排查等方面的效率有待提升。
本申请实施例提供一种机器人控制系统,利用串行总线将控制器和伺服驱动器连通,供控制器和伺服驱动器可以通过串行总线进行通信交互,使得控制器和伺服驱动器能够集成到同一电路板上,便于减小机器人的线路冗余和大小,提高机器人控制系统的稳定性和实时性;控制器可以根据待执行的作业任务进行驱动规划,并根据驱动规划的结果下发驱动任务,由伺服驱动器根据接收到的驱动任务,对伺服电机进行伺服调控,使得机器人的伺服控制由控制器和伺服驱动器协同实现,有利于提高伺服控制准确性的同时,在机器人出现驱动故障的情况下,便于进行驱动故障的排查,提高故障排查效率。
下面将结合附图对本申请的各实施例进行详细的阐述。然而,本领域的普通技术人员可以理解,在本申请各实施例中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施例的种种变化和修改,也可以实现本申请所要求保护的技术方案。
参考图1,图1为一种机器人控制系统的结构示意图,本申请一实施例提供了一种机器人控制系统,可以应用在机器人中,或者应用在能够与机器人进行通信的终端设备中,本申请实施例以应用在机器人中为例进行说明。
机器人控制系统包括:控制器101,伺服驱动器102和串行总线103。
控制器101用于进行机器人的驱动规划,并根据驱动规划的结果下发驱动任务。
伺服驱动器102用于接收驱动任务,并根据驱动任务对伺服电机进行伺服调控。
串行总线103用于连通控制器101和伺服驱动器102,使控制器101和伺服驱动器102能够通过串行总线103进行通信交互。
在进行机器人控制系统构建的过程中,可以将控制器和伺服驱动器集成在同一电路板上,然后利用串行总线将控制器和伺服驱动器连通,使得控制器和伺服驱动器可以通过串行总线进行通信交互,从而使得控制器和伺服驱动器无需分别独立设置,降低控制器和伺服驱动器分别独立设置带来的线路冗余,从而降低外部线路带来的不确定性和外部干扰,提高机器人控制系统的稳定性,并且由于控制器和伺服驱动器通过串行总线进行通讯交互,机器人控制系统的实时性也能够获得显著提升。
控制器在机器人接收到待执行的作业任务后,可以根据作业任务的内容对机器人的运动路径进行规划,然后根据运动路径规划结果,进行伺服电机的驱动规划,其中,伺服电机未在图1中示出,伺服电机和伺服驱动器之间通信连接,伺服电机可以根据伺服驱动器的控制策略准确运行。控制器完成驱动规划后,可以根据驱动规划的结果通过串行总线向伺服驱动器下发驱动任务,伺服驱动器在接收到驱动任务后,根据驱动任务的内容,确定伺服电机的控制策略并根据确定好的控制策略对伺服电机进行准确的伺服调控。控制器下发驱动任务,伺服驱动器根据接收到的驱动任务对伺服电机进行伺服调控,使得机器人伺服电机的控制由控制器和伺服驱动器协同实现,利用控制系统实现了驱控一体,有利于在机器人出现伺服驱动故障的情况下,进行高效的驱动故障排查,同时提高了机器人伺服控制的准确性。
参考图2,图2为一种机器人控制系统的结构示意图。在一些实施例中,伺服驱动器102包括时钟模块121,时钟模块121的输出端与伺服驱动器102的触发端口连接,并与控制器101的硬件触发引脚连接,用于生成并输出同步时钟信号;同步时钟信号用于作为伺服驱动器102的伺服调控的触发信号,并供控制器101形成软中断作为控制器101驱动规划的触发信号。
机器人控制系统中,为了提高机器人控制系统的伺服控制效果,需要重视的一个因素是控制器101和伺服驱动器102之间的同步性。在控制器101和伺服驱动器102之间的同步性较差的情况下,容易出现伺服控制响应不及时或者对伺服电机进行了错误的伺服控制,进而导致机器人出现故障。
因此,在进行机器人控制系统构建的过程中,可以在伺服驱动器102中设置一个时钟模块121,时钟模块121用于输出同步时钟信号,同步时钟信号用于使得控制器101和伺服驱动器102能够同步触发,进而构建出具有高同步性的驱控系统。由于伺服驱动器102可以直接通过触发端口输入的脉冲进行触发,而控制器101需要通过软中断的方式进行触发,因此,可以将时钟模块121的输出端,分别与伺服驱动器102的触发端口以及控制器101的硬件触发引脚连接,同步的将生成的同步时钟信号传输到伺服驱动器102的触发端口和控制器101的硬件触发引脚。
伺服驱动器102根据触发端口接收到的同步时钟信号周期性触发,接收驱动任务并根据接收到的驱动任务对伺服电机进行伺服控制,而控制器101通过硬件触发引脚将接收到的同步时钟信号转换为软中断形成的外部事件,根据同步时钟信号选择性触发驱动规划和驱动任务的生成和下发。
利用设置在伺服驱动器102中的时钟模块121提供的同步时钟信号,对伺服驱动器102和控制器101进行触发,使得机器人控制系统具有良好的同步性表现,进而使得机器人控制系统能够高效准确的对伺服电机进行伺服控制,从而提高机器人的作业效率。
此外,本申请实施例中以时钟模块121位于伺服驱动器102中为例进行的说明,在具体的应用中,还可以将时钟模块121单独设置或者作为控制器101的拓扑结构设置在控制器101的电路结构中。在将时钟模块121设置在其他位置的情况下,同样需要将时钟模块121的输出分别与伺服驱动器102的触发端口和控制器101的硬件触发引脚连通,而使得控制器101和伺服驱动器102具有高同步性的原理是一致的,因此,在此就不再赘述。
在一些实施例中,控制器101还用于下发伺服驱动器102的配置参数,串行总线103包括第一串行总线131和第二串行总线132,第一串行总线131的传输速度高于第二串行总线132的传输速度;第一串行总线131用于供控制器101和伺服驱动器102,根据同步时钟信号进行驱动任务在内的周期性数据交互;第二串行总线132用于供控制器101向伺服驱动器102下发配置参数。
在通过串行总线103连通控制器101和伺服驱动器102的过程中,控制器101和伺服驱动器102通过串行总线103的通讯交互包括控制器101下发伺服驱动器102的配置参数、控制器101下发驱动任务或者控制器101上传伺服控制结果等,也就是说串行总线103需要承担多个通讯任务。因此,为了避免通讯任务之间发生冲突或者多个通讯任务同步进行时的资源占用问题,可以将串行总线103设置成由第一串行总线131和第二串行总线132构成的形式。
第一串行总线131用于作为控制器101和伺服驱动器102之间根据同步时钟信号进行周期性通讯交互的总线,在控制器101和伺服驱动器102根据同步时钟信号触发的情况下,在同步时钟信号当前脉冲周期内,第一串行总线131可以将控制器101下发的驱动任务传输到伺服驱动器102,并将伺服驱动器102上报的上一脉冲周期的伺服驱动结果上传到控制器。其中,伺服驱动结果可以包括在伺服控制后伺服电机当前的位置或者速度等信息中的至少一个。
第二串行总线132用于作为控制器101和伺服驱动器102之间进行配置参数交互的总线,控制器101可以作为主站,伺服驱动器102作为从站,控制器101通过第二串行总线132向伺服驱动器102下发配置参数,供伺服驱动器102进行准确的配置参数设置。控制器101可以在进行伺服电机调控前进行配置参数下发,也可以在调控过程中通过下发新的配置参数实现伺服驱动器102配置参数的更新。伺服驱动器102在对伺服电机进行调控的过程中,也可以通过第二串行总线132上传自身的配置参数,供控制器101进行配置参数检测或者规划。
由于控制器101和伺服驱动器102之间周期性交互的数据量较大,且伺服驱动器102配置参数下发和更新的数据量较小,因此,为了降低机器人控制系统的成本,可以将第一串行总线131的传输速度设置的较大,将第二串行总线132的传输速度设置的较小,即,第一串行总线131的传输速度大于第二传输总线132的传输速度。
此外,在具体应用中,还可以将第一串行总线131的传输速度和第二串行总线132的传输速度设置成一致的大小,或者可以将串行总线103设置成由三路串行总线构成的形式,一路串行总线负责控制器101进行驱动任务的下发,一路串行总线用于负责伺服驱动器102进行伺服驱动结果的上报,另一路串行总线用于控制器101下发伺服驱动器102的配置参数。本申请实施例对串行总线103的具体结构和具体配置参数不做限制。
参考图3,图3为一种机器人控制系统的结构示意图。在一些实施例中,控制器101包括驱动层111和应用层112;驱动层111用于向应用层112提供通讯接口,供应用层112通过通讯接口进行通讯;应用层112用于调用驱动层111提供的通讯接口,通过串行总线103与伺服驱动器102进行数据交互,生成并下发驱动任务。
参考上述分析,控制器101无法直接将同步时钟信号作为触发信号进行触发,因此,可以将控制器101设置成包括驱动层111和应用层112的结构,其中,驱动层111用于为应用层112提供通讯接口在内的多种接口,使得应用层112能够有效控制硬件,而应用层112则用于调用驱动层111提供的通讯接口,通过串行总线103与伺服驱动器102进行数据交互,根据机器人待执行的作业任务进行运动规划,生成并下发伺服电机的驱动任务。以串行总线接口为例,串行总线103包括第一串行总线131和第二串行总线132,则驱动层111为应用层112提供第一串行总线接口和第二串行总线接口。
此外,驱动层111还用于将同步时钟信号转换为软中断,从而形成外部事件来触发应用层112根据同步时钟信号周期性的进行驱动规划和驱动任务下发,使得控制器101和伺服驱动器102之间能够具有良好的同步性。
结合参考图3和图4,其中,图4为一种控制器101的结构示意图。在一些实施例中,应用层112包括一个主线程1121和若干个子线程1122,主线程1121与子线程1122分别绑定在不同的中央处理器中;主线程1121用于根据同步时钟信号的触发,计算出下一脉冲周期的驱动任务,并通过驱动层111提供的通讯接口,利用串行总线103将驱动任务下发给伺服驱动器102;子线程1122用于通过驱动层111提供的通讯接口,利用串行总线103向伺服驱动器102下发配置参数。
在进行应用层112设置的过程中,可以基于处理业务的类型或者重要程度,在应用层112中设置至少一个主线程1121和至少一个子线程1122,为了便于理解和描述,本申请实施例以主线程1121和子线程1122的数量都为1为例进行的说明,在具体的应用中,主线程1121的数量可以是1个、2个或者多个,子线程1122的数量也可以是1个、2个或者多个。在完成主线程1121和子线程1122的设置后,将主线程1121与控制器101和伺服驱动器102之间的驱动任务和伺服控制结果交互相关联,将子线程1122与控制器101与伺服驱动器102之间的配置参数交互相关联。
在通过同步时钟信号对机器人控制系统进行触发的过程中,主线程1121通过驱动层111提供的接口获取与同步时钟信号对应的软中断,以同步时钟信号的脉冲周期为周期,周期性计算同步时钟信号下一脉冲周期中的驱动任务,然后通过驱动层111提供的通讯接口,利用串行总线103将驱动任务下发给伺服驱动器。
子线程1122则可以通过驱动层111提供的通讯接口,与伺服驱动器102建立通讯连接,然后在通过伺服驱动器102对伺服电机进行调控前,或者在机器人执行当前作业任务前,通过串行总线103向伺服驱动器102下发配置参数。
在进行主线程1121和子线程1122设置的过程中,还可以将主线程1121和子线程1122分别与不同中央处理器绑定,即,主线程1121与子线程1122占用的计算资源互相独立,从而最大程度上避免子线程1122资源占用对主线程1121运行效率的干扰。通过将主线程1121和子线程1122与不同的中央处理器绑定,利用分核机制保证主线程1121能够占用足够的运算资源,降低主线程1121由于资源开销过大导致无法及时确定出驱动任务的概率,提高机器人伺服控制的质量。
此外,在子线程1122为多个的情况下,可以将多个子线程1122根据需求绑定在一个或者多个不同的中央处理器中。在将子线程1122和主线程1121与中央处理器绑定的过程中,还可以将主线程1121和至少一个子线程1122绑定在同一中央处理器上,然后设置主线程1121的优先级高于子线程1122的优先级,使得主线程1121能够优先调用中央处理器大部分资源或者全部资源,从而减少需要设置的中央处理器的数量,进而降低机器人控制系统的成本和所需体积。
在一些实施例中,子线程1122还用于通过驱动层111提供的外联接口,与外部设备进行通讯交互,外联接口包括:工业以太网网口或者现场总线接口。
控制器101的驱动层111不仅可以提供通讯结构供应用层112根据同步时钟信号,通过串行总线103与伺服驱动器102进行周期性通信交互,驱动层111还可以提供与外部设备进行通讯交互的外联接口,其中,外联接口可以是EtherCat、ProfiNet、EtherNet IP或者TCP/IP等工业以太网网口,也可以是Modbus、Can或者SPI等现场总线串口。
子线程1122可以通过外联接口与外部设备进行通讯交互,并通过向外部设备发生控制指令的方式实现对外部设备的通讯控制,使得机器人控制系统对不同场景的调度以及外部设备协调都具有良好的兼容性,从而提高机器人控制系统对应用场景的适配程度和兼容程度。
在一些实施例中,伺服驱动器102还用于在未接收到下一脉冲周期的驱动任务的情况下,根据最近的若干个历史脉冲周期的驱动任务进行下一脉冲周期的伺服规划,并根据伺服规划结果进行伺服控制。
控制器101根据同步时钟信号生成的软中断周期性触发驱动规划的过程中,控制器101可能会由于资源开销过大或者算法运行异常等原因,出现驱动规划或者驱动任务生成的算法计算任务无法在同步时钟信号的一个脉冲周期内完成,即控制器101的主线程1121无法在一个脉冲周期内完成驱动任务计算的任务,进而导致控制器101无法在当前脉冲周期内通过串行总线103向伺服驱动器102下发下一脉冲周期待执行的驱动任务。
因此,可以预先在伺服驱动器102的中央处理器中设置预设程序,对伺服驱动器102在最接近当前时刻的若干个历史脉冲周期接收到的驱动任务和伺服电机伺服调控结果进行动态存储。伺服驱动器102在未接收到下一脉冲周期内待执行的驱动任务的情况下,自动触发伺服控制规划,根据最接近当前时刻的若干个历史脉冲周期接收到的驱动任务或者伺服电机调控结构,对伺服电机控制策略进行预测。例如,根据若干个历史脉冲周期中,各驱动任务对应的伺服电机调控结果,确定相邻脉冲周期之间伺服电机的点位变化,或者根据若干个历史脉冲周期中,伺服电机在调控后的实际点位,获取相邻周期之间伺服电机的点位变化。然后将各点位变化按照时间顺序排列,计算出伺服电机的点位变化趋势或者相邻点位之间差值的变化规律。其中,点位包括机器人控制系统伺服控制过程中,伺服电机的位置、速度或者朝向中的至少一者。
然后根据伺服电机的点位变化趋势或者调控后点位之间差值的变化规律,对下一脉冲周期内伺服电机的伺服调控进行预测,并根据预测结果进行下一脉冲周期对伺服电机的伺服规划,然后根据伺服规划结果在下一脉冲周期内进行伺服电机的调控。即,根据最接近当前时刻的几个历史脉冲周期中,伺服电机的点位和相邻脉冲周期之间伺服电机点位的变化,预测出下一脉冲周期后伺服电机的目标点位,并根据预测结果对伺服电机进行伺服电机下一脉冲周期的伺服调控。
其中,采用的历史脉冲周期的数量可以是3个、5个或者7个等,伺服驱动器102对历史脉冲周期的驱动任务和/或伺服调控结构进行动态缓存,在已缓存记录达到预设值的情况下,利用当前脉冲周期的记录覆盖掉与当前时刻时间间隔最大的脉冲周期的记录,降低缓存的数据量和需求。
在一些实施例中,控制器101还包括告警模块;告警模块用于比对控制器101下发的驱动任务的目标伺服控制结果,与伺服控制器102上传的实际伺服控制结果是否一致,在连续多个脉冲周期的目标伺服控制结果和实际伺服控制结果均不一致的情况下,上报驱动错误,供控制器根据驱动错误指令伺服电机停机。
参考上述描述,控制器101根据同步时钟信号生成的软中断周期性触发驱动规划的过程中,可能会出现驱动规划或者驱动任务生成的算法计算任务,无法在同步时钟信号的一个脉冲周期内完成。在发生这种问题的情况下,控制器101会摒弃当前脉冲周期的计算结果,并且不进行驱动任务的下发,伺服驱动器102根据自身缓存的历史脉冲周期的伺服电机调控结果,对伺服电机的调控进行预测,并根据预测结果进行伺服控制。
在当前脉冲周期结束后,控制器101会以自身缓存的伺服电机的伺服控制结果作为下一脉冲周期内进行驱动规划的基础,由于控制器101摒弃了一个脉冲周期的驱动任务,因此,自身缓存的伺服控制结果与伺服控制器102的实际伺服控制结果之间不再同步,即,控制器101伺服控制规划依据的伺服控制结果与伺服控制器102的实际伺服控制结果不一致。
若控制器101下一脉冲周期内能够完成驱动规划和驱动任务的下发,则伺服驱动器102会根据控制器101下发的驱动任务进行伺服控制,从而使得控制器101缓存的伺服控制结果与伺服驱动器102的实际伺服控制结果重新同步。
若控制器101下一脉冲周期内仍旧无法完成驱动规划和驱动任务的下发,则伺服驱动器102会继续根据自身缓存的历史脉冲周期的伺服电机调控结果,对伺服电机的调控进行预测,并根据预测结果进行伺服控制,使得控制器101缓存的伺服调控结果与伺服驱动器102的实际伺服调控结果之间的误差越来越多。在这种情况下,在控制器101未下发驱动任务的连续脉冲周期到达一定数量后,伺服电机的伺服控制可能会出现过大的偏差,进而引起伺服控制故障或者机器人作业故障等。
因此,控制器101的告警模块会比对控制器101下发的驱动任务的目标伺服控制结果,与伺服控制器102上传的实际伺服控制结果是否一致,其中,在控制器101未下发驱动任务的情况下,可以直接判定两者不一致,或者将上一次下发的驱动任务的目标伺服控制结果作为未下发驱动任务的脉冲周期的目标伺服控制结果。在连续多个脉冲周期中,目标伺服控制结果和实际伺服控制结果均不一致的情况下,判定伺服控制存在较大偏差,告警模块直接向控制器101上报伺服电机的驱动错误,控制器101通过下发控制指令的方式中止伺服电机的驱动,将伺服电机停机。
通过比对实际伺服控制结果和目标伺服控制结果,实现对控制器101缓存的伺服控制结果与伺服驱动器102的实际伺服控制结果的同步性检测,在连续多个脉冲周期中两者均不同步的情况下,判定伺服控制存在较大偏差,中止伺服电机的驱动,避免机器人出现伺服故障导致机器人受损,提高安全性。
其中,判定伺服控制存在较大偏差时,连续多个脉冲周期可以是连续3个脉冲周期、5个脉冲周期或者7个脉冲周期等,本申请实施例对所需连续脉冲周期的具体数量不做限制,可以根据应用场景进行调整。实际伺服控制结果和目标伺服控制结果一致指的是两者的偏差小于或等于5%,由于机械原因,伺服控制可能会出现一定的偏差,因此,在实际伺服控制结果和目标伺服控制结果偏差足够小的情况下,即可认定两者一致。
在一些实施例中,伺服控制器102还用于根据同步时钟信号,通过串行总线103周期性上报伺服电机的伺服控制结果,控制器101还包括缓存模块;缓存模块用于缓存历史控制数据,历史控制数据包括伺服控制器102上传的若干脉冲周期的历史伺服控制结果,以及控制器101下发的若干个历史驱动任务,历史控制数据用于在伺服电机驱动故障的情况下驱动故障分析。
由于伺服控制器102和控制器101之间的通信交互的数据透明化,因此,可以在控制器101中设置一个黑匣子机制的缓存模块,伺服控制器102在根据驱动任务对伺服电机进行伺服控制后,根据同步时钟信号,通过串行总线103周期性的上报当前脉冲周期的伺服控制结果,供控制器102进行存储。控制器101在下发驱动任务的时候,也会对下发的驱动任务进行缓存,并在接收到伺服控制器102反馈的伺服控制结果后,对两者进行关联性存储作为历史控制数据。
缓存模块进行历史控制数据缓存的时候,可以通过动态缓存的方式对与当前时刻时间间隔在一定范围内的几个历史脉冲周期的驱动任务和伺服控制结果进行缓存,在已缓存数据足够多的情况下,利用当前脉冲周期的驱动任务和伺服控制结果覆盖与当前时刻时间间隔最大的历史脉冲周期的驱动任务和伺服控制结果,从而降低缓存模块的数据量和所需存储空间。
在出现驱动故障的情况下,可以通过对缓存模块中的数据进行读取,根据缓存模块中存储的历史控制数据进行驱动故障分析,便于确定伺服电机驱动故障的原因。
需要理解的是,为了便于理解,上述部分实施例针对的是某一步骤或者某些步骤进行的详细说明,然后上述各实施例在不存在技术冲突的基础上,也可以相互配合实施,具体的结合方式在此就不再赘述。
综上,本申请实施例提供的机器人控制系统,利用串行总线将控制器和伺服驱动器连通,供控制器和伺服驱动器可以通过串行总线进行通信交互,使得控制器和伺服驱动器能够集成到同一电路板上,便于减小机器人的线路冗余和大小,从而降低外部线路的外部干扰,提高机器人控制系统的稳定性,利用串行总线进行通信交互,提高控制器和伺服驱动器的通信效率,进而增强机器人控制系统的实时性;控制器可以根据待执行的作业任务进行驱动规划,并根据驱动规划的结果下发驱动任务,由伺服驱动器根据接收到的驱动任务,对伺服电机进行伺服调控,使得机器人的伺服控制由控制器和伺服驱动器协同实现,有利于提高伺服控制准确性的同时,在机器人出现驱动故障的情况下,便于进行驱动故障的排查,提高故障排查效率。
相应的,本申请实施例还提供了一种机器人,包括用于执行上述实施例提及的机器人控制系统。
本领域的普通技术人员可以理解,上述各实施方式是实现本申请的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本申请的精神和范围。任何本领域技术人员,在不脱离本申请的精神和范围内,均可作各种改动与修改,因此本申请的保护范围应当以权利要求限定的范围为准。
Claims (10)
1.一种机器人控制系统,其特征在于,包括:
控制器,所述控制器用于进行驱动规划,并根据驱动规划的结果下发驱动任务;
伺服驱动器,所述伺服驱动器用于接收所述驱动任务,并根据所述驱动任务对伺服电机进行伺服调控;
串行总线,所述串行总线用于连通所述控制器与所述伺服驱动器,使所述控制器与所述伺服驱动器能够通过所述串行总线进行通信交互。
2.根据权利要求1所述的机器人控制系统,其特征在于,所述伺服驱动器包括时钟模块;所述时钟模块的输出端与所述伺服驱动器的触发端口连接,并与所述控制器的硬件触发引脚连接,用于生成并输出同步时钟信号;
所述同步时钟信号用于作为所述伺服驱动器的伺服调控的触发信号,并供所述控制器形成软中断作为所述控制器驱动规划的触发信号。
3.根据权利要求2所述的机器人控制系统,其特征在于,所述控制器还用于下发所述伺服驱动器的配置参数,所述串行总线包括第一串行总线和第二串行总线,所述第一串行总线的传输速度高于所述第二串行总线的传输速度;
所述第一串行总线用于供所述控制器和所述伺服驱动器,根据所述同步时钟信号进行所述驱动任务在内的周期性数据交互;
所述第二串行总线用于供所述控制器向所述伺服驱动器下发所述配置参数。
4.根据权利要求2所述的机器人控制系统,其特征在于,所述控制器包括驱动层和应用层;
所述驱动层用于向所述应用层提供通讯接口,供所述应用层通过所述通讯接口进行通讯;所述应用层用于调用所述驱动层提供的所述通讯接口,通过所述串行总线与所述伺服驱动器进行数据交互,生成并下发所述驱动任务。
5.根据权利要求4所述的机器人控制系统,其特征在于,所述应用层包括一个主线程和若干个子线程,所述主线程与所述子线程分别绑定在不同的中央处理器中;
所述主线程用于根据所述同步时钟信号的触发,计算出下一脉冲周期的所述驱动任务并通过所述驱动层提供的所述通讯接口,利用所述串行总线将所述驱动任务下发给所述伺服驱动器;
所述子线程用于通过所述驱动层提供的所述通讯接口,利用所述串行总线向所述伺服驱动器下发所述配置参数。
6.根据权利要求5所述的机器人控制系统,其特征在于,所述伺服驱动器还用于在未接收到下一脉冲周期的所述驱动任务的情况下,根据最近的若干个历史脉冲周期的所述驱动任务进行下一脉冲周期的伺服规划,并根据伺服规划结果进行伺服控制。
7.根据权利要求4所述的机器人控制系统,其特征在于,所述子线程还用于通过所述驱动层提供的外联接口,与外部设备进行通讯交互,所述外联接口包括:工业以太网网口或者现场总线接口。
8.根据权利要求2所述的机器人控制系统,其特征在于,所述伺服控制器还用于根据所述同步时钟信号,通过所述串行总线周期性上报伺服电机的伺服控制结果,所述控制器还包括缓存模块;
所述缓存模块用于缓存历史控制数据,所述历史控制数据包括所述伺服控制器上传的若干脉冲周期的历史伺服控制结果,以及所述控制器下发的若干个历史驱动任务,所述历史控制数据在伺服电机驱动故障的情况下用于驱动故障分析。
9.根据权利要求8所述的机器人控制系统,其特征在于,所述控制器还包括告警模块;
所述告警模块用于比对所述控制器下发的所述驱动任务的目标伺服控制结果,与所述伺服控制器上传的实际伺服控制结果是否一致,在连续多个脉冲周期的所述目标伺服控制结果和所述实际伺服控制结果均不一致的情况下,上报驱动错误,供所述控制器根据所述驱动错误指令伺服电机停机。
10.一种机器人,其特征在于,包括用于执行权利要求1至9任一项所述的机器人控制方法的模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311726724.XA CN117681229A (zh) | 2023-12-14 | 2023-12-14 | 机器人控制系统及机器人 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311726724.XA CN117681229A (zh) | 2023-12-14 | 2023-12-14 | 机器人控制系统及机器人 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117681229A true CN117681229A (zh) | 2024-03-12 |
Family
ID=90131621
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311726724.XA Pending CN117681229A (zh) | 2023-12-14 | 2023-12-14 | 机器人控制系统及机器人 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117681229A (zh) |
-
2023
- 2023-12-14 CN CN202311726724.XA patent/CN117681229A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2511780B1 (en) | Industrial control system with distributed motion planning | |
US7532637B2 (en) | Synchronous controller | |
US20080147206A1 (en) | Control system for Real Time Applications for Cooperative Industrial Robots | |
US12013769B2 (en) | Hot-standby redundancy control system, method, control apparatus, and computer readable storage medium | |
US10877803B2 (en) | Control apparatus, control method and non-transitory storage medium | |
US20220147022A1 (en) | Control system | |
US5268898A (en) | Information transmission system between machine master and servo mechanism | |
CN106959694B (zh) | 机器人直线运动控制方法和系统 | |
CN113385807B (zh) | 一种以太网网关的激光振镜控制系统和方法 | |
US7180261B1 (en) | Self-synchronous AC servo system for high-speed serial communication | |
CN117681229A (zh) | 机器人控制系统及机器人 | |
CN110855537B (zh) | 基于双MCU的EtherCAT主站实现方法及系统 | |
CN117499175A (zh) | 基于TSN与EtherCAT异构网络的多电机同步控制方法 | |
US20230236551A1 (en) | Method of controlling an automation system having control redundancy, and automation system | |
US20230131842A1 (en) | Multi-axis servo control system | |
US9003067B2 (en) | Network and method for operating the network | |
CN113119105A (zh) | 机器人多机联动控制方法、多机联动控制设备和控制系统 | |
EP1837727B1 (en) | Self-synchronous AC servo system for high-speed serial communication | |
CN112792812A (zh) | 机器人控制装置及机器人系统 | |
CN113031479A (zh) | 一种电机定位控制系统及方法 | |
WO2019176755A1 (ja) | ネットワークシステム | |
CN112684743B (zh) | 基于can总线结构的直升机串联舵机控制系统及控制方法 | |
US11524380B2 (en) | Motion control system and method | |
TWI834071B (zh) | 多軸伺服控制系統 | |
WO2023138536A1 (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 |