CN108025436A - 实时控制系统、实时控制装置及系统控制方法 - Google Patents

实时控制系统、实时控制装置及系统控制方法 Download PDF

Info

Publication number
CN108025436A
CN108025436A CN201680054794.7A CN201680054794A CN108025436A CN 108025436 A CN108025436 A CN 108025436A CN 201680054794 A CN201680054794 A CN 201680054794A CN 108025436 A CN108025436 A CN 108025436A
Authority
CN
China
Prior art keywords
agent
reference value
equipment
shared memory
hardware
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
Application number
CN201680054794.7A
Other languages
English (en)
Other versions
CN108025436B (zh
Inventor
李廷镐
林廷洙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rainbow Robotics Co Ltd
Original Assignee
Rainbow Robotics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Rainbow Robotics Co Ltd filed Critical Rainbow Robotics Co Ltd
Priority claimed from PCT/KR2016/008031 external-priority patent/WO2017052059A1/ko
Publication of CN108025436A publication Critical patent/CN108025436A/zh
Application granted granted Critical
Publication of CN108025436B publication Critical patent/CN108025436B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0084Programme-controlled manipulators comprising a plurality of manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/545Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/02Arm motion controller
    • Y10S901/06Communication with another machine
    • Y10S901/08Robot
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/46Sensing device

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Software Systems (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Fuzzy Systems (AREA)
  • Evolutionary Computation (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)
  • Feedback Control In General (AREA)
  • Stored Programmes (AREA)
  • Programmable Controllers (AREA)

Abstract

本发明实施例的系统控制方法包括如下步骤:使利用共享存储器且具有相互独立进程的多个代理程序进行工作;从通过所述多个代理程序生成并存储于所述共享存储器的各个参考值中获得用于控制一个以上的设备的硬件控制数据;以及,向根据所述硬件控制数据选择的所述一个以上的设备传递基于所述参考值的控制信号。

Description

实时控制系统、实时控制装置及系统控制方法
技术领域
本发明涉及实时控制系统、实时控制装置及系统控制方法。更加具体地,涉及可以准确地进行实时处理,易于开发及调试,且硬件方面稳定的实时控制系统、实时控制装置及系统控制方法。
背景技术
目前,韩国国内和国外很多机构正在积极开展对机器人的研究。机器人大致可分为硬件和软件,并由它们集成而形成一个系统。
构成机器人硬件的部件可包括用于移动机器人关节的驱动器和控制器、电池和电源控制器、通信模块、传感器、机器人的外骨骼、电路、电池等。根据各自所需的机器人的特性来组合这些部件,从而形成机器人硬件平台。
各个部件也根据设计目的在大小、外形、性能、制造商等方面均有所不同,最终被制成无数类型的机器人硬件平台。实际上,全世界存在很多种机器人。因此,调查通用机器人平台的性能和功能以及开发具有代表性的标准机器人平台的研究正在世界各地展开。
并且,如同存在开发如上所述的标准机器人平台的在硬件方面的研究,软件方面也进行着对可通用的标准机器人软件的研究。用于控制如属于机器人硬件的驱动控制器或传感器等机器人设备的软件、用于帮助轻松开发机器人动作的软件、通过确定任务之间的关系来帮助机器人操作的软件、用于提供导航或视觉解决方案的软件等存在多种软件种类,标准软件的开发也在与标准硬件的开发类似的目的下进行研究。
但是,在所述标准软件的开发过程中,实际情况为很难提供用于解决多名开发人员共同需求的事项的标准解决方案。
尤其,随着硬件方面变更事项的增多,不仅开发人员之间的协作变得困难,而且因由多人同时开发的功能或进程而可能发生重复处理的问题。由此,存在实时同步困难,硬件的稳定性或鲁棒性可能下降,开发时间也很长的问题。
并且,在硬件开发方面,为了维持与所述标准软件的兼容性,需要附加追加性的功能变更,因而存在驱动性能可能下降的问题。
发明内容
技术问题
本发明用于解决如上所述的问题,本发明的目的在于,提供如下的实时控制系统、实时控制装置及系统控制方法,即,在需要实时性的系统中,既可使与同一硬件的控制及处理有关的多个独立进程共存,又可使与此相关的机器人的动作稳定地得到控制,并且可提供鲁棒性及扩展性。
技术手段
用于解决如上所述问题的本发明实施例的系统控制方法包括如下步骤:使利用共享存储器且具有相互独立进程的多个代理程序进行工作;从通过所述多个代理程序生成并存储于所述共享存储器的各个参考值中获得用于控制一个以上的设备的硬件控制数据;以及向根据所述硬件控制数据来选择的所述一个以上的设备传递基于所述参考值的控制信号。
并且,在用于解决如上所述问题的本发明实施例的系统控制装置包括:多个代理程序,具有相互独立的进程;共享存储器,用于对通过所述多个代理程序的工作来生成的参考值进行存储;以及设备控制模块,从通过所述多个代理程序生成并存储于所述共享存储器的各个参考值中获得用于控制一个以上的设备的硬件控制数据,并向根据所述硬件控制数据选择的所述一个以上的设备传递基于所述参考值的控制信号。
并且,用于解决如上所述问题的本发明实施例的实时控制系统包括:一个以上的硬件设备,包括所述实时控制系统的关节或传感器设备;多个代理程序,具有与所述实时控制系统相关的相互独立的进程;共享存储器,用于对通过所述多个代理程序的工作生成的参考值进行存储;设备控制模块,从通过所述多个代理程序生成并存储于所述共享存储器的各个参考值中获得用于控制一个以上的设备的硬件控制数据,向根据所述硬件控制数据选择的所述一个以上的设备传递基于所述参考值的控制信号;以及用户系统,用于对所述设备控制模块和所述多个代理程序的实时工作周期及运行工作进行管理。
用于解决如上所述问题的本发明实施例的系统控制方法包括如下步骤:从控制对象设备获得当前步骤的状态信息;向利用所述当前步骤的状态信息来对参考值的计算进行处理的一个以上的代理程序传递所述状态信息;从所述代理程序获得以之前步骤的状态信息为基础来预先计算的参考值信息;以及,将所述参考值信息作为与所述当前步骤相对应的控制信号来向所述设备传递。
并且,用于解决如上所述问题的本发明实施例的系统控制装置包括:设备通信部,从控制对象设备获得当前步骤的状态信息,向利用所述当前步骤的状态信息来对参考值的计算进行处理的一个以上的代理程序传递所述状态信息;以及,参考值获得部,从所述代理程序获得以之前步骤的状态信息为基础来预先计算的参考值信息,所述设备通信部将所述参考值信息作为与所述当前步骤相对应的控制信号来向所述设备传递。
并且,用于解决如上所述问题的本发明实施例的设备控制系统包括:多个代理程序,具有相互独立的进程;共享存储器,用于对通过所述多个代理程序的工作来生成的参考值进行存储;以及,设备控制模块,从控制对象设备获得当前步骤的状态信息,向利用所述当前步骤的状态信息来对参考值的计算进行处理的所述多个代理程序传递所述状态信息,从所述代理程序获得以之前步骤的状态信息为基础来预先计算的参考值信息,并将所述参考值信息作为与所述当前步骤相对应的控制信号来向所述设备传递。
另一方面,用于解决如上所述问题的方法可通过用于在计算机中运行所述方法的程序及记录有所述程序的记录介质来实现。
技术效果
根据本发明的实施例,提供具有相互独立进程的多个代理程序和用于对通过所述多个代理程序的工作而生成的参考值进行存储的共享存储器,并提供利用所述参考值来控制所述硬件设备的额外的设备控制模块,从而在需要实时性的机器人系统中,不仅可使对于同一硬件进行控制的多个独立进程共存,而且可使与此相关的机器人的动作稳定地得到控制。
根据与此相关的本发明的实施例,即使独立开发各个代理程序,也可通过共享存储器来合成及筛选参考值,从而可减少相互冲突的可能性,并可确保稳定的实时性。并且,当发生错误时,可容易对代理程序进行更换及实时调试等,从而可赋予协作便利性及扩展性。
并且,根据本发明的实施例,在对多个进程之间的线程进行同步的过程中,提供利用共享存储器的一步延迟(One Step Delay)处理方法,从而使设备控制模块与代理程序及设备之间的处理延迟最小化,并优化与此相关的实时同步处理,从而可加强输出信号的质量及实时性,并且可提供更加精致且使错误及抖动(Jitter)最小化的控制系统。
附图说明
图1为简要示出本发明实施例的整体系统的概念图。
图2为用于说明本发明实施例的机器人系统的控制方法的流程图。
图3至图4为用于说明本发明实施例的共享存储器与系统之间的关系的图。
图5为用于说明本发明实施例的设备控制模块与代理程序之间的数据交换的图。
图6为用于说明本发明实施例的设备控制模块的框图。
图7为用于说明本发明另一实施例的机器人系统的控制工作的流程图。
图8为示出本发明实施例的设备控制模块的结构的图。
图9为用于说明本发明实施例的设备控制模块及多个代理程序的工作的流程图。
图10为用于表示本发明实施例的设备、设备控制模块及代理程序之间的工作时序的时序图。
图11至图14为示出用于验证本发明实施例的控制系统的性能的时间因素及测试结果值的图。
具体实施方式
以下内容仅例示本发明的原理。因此,本发明技术领域的普通技术人员可发明出虽未在本说明书中明确说明或示出但体现本发明的原理并包含于本发明的概念和范围内的多种装置。并且,应当明确理解,本说明书中列出的所有条件术语及实施例原则上以理解本发明概念作为目的,而且并不局限于以如上所述的方式专门列出的实施例及状态。
并且,应当理解,不仅本发明的原理、观点及实施例,列举特定实施例的所有详细说明包括这种事项的结构及功能性的等同技术方案。并且,这种等同技术方案除了包括当前所公知的等同技术方案之外,还包括将来开发的等同技术方案,即,包括与结构无关地执行相同功能的所有器件。
因此,应当理解,例如本说明书的框图表示对本发明的原理具体化的例示性电路的概念性观点。与此类似地,应当理解,所有流程图、状态转换图、伪代码等实际上可表示在可由计算机读取的介质上,并表示由计算机或处理器执行的多个进程,而不管计算机或处理器是否被明确示出。
包括处理器或以与此类似的概念来表示的功能块在内,在附图中示出的多个器件的功能可通过使用专用硬件以及针对适当的软件具有可运行软件的能力的硬件来提供。当通过使用处理器来提供时,所述功能可通过单个专用处理器、单个共享处理器或多个单独的处理器来提供,它们中的一部分可以共享。
并且,对处理器、控制器或以与此类似的概念来提出的术语的明确使用不应排他性地引用具有运行软件能力的硬件来进行解释,而应当理解为无限制且暗示性地包括数字信号处理器(DSP)硬件、用于存储软件的只读存储器(ROM)、随机存取存储器(RAM)及非易失性存储器。众所周知且惯用的其他硬件也可包括在内。
在本申请文件所请求的保护的范围中,表示为用于执行详细说明中所记载功能的实施方式的结构要素,包括例如执行所述功能的电路器件的组合,或执行包括固件/微代码等所有形式的软件功能的所有方法,并与用于运行所述软件的适当的电路相结合,以执行所述功能。应当理解,对于这种通过所请求的保护范围来定义的本发明而言,由于通过以各种方式列出的方案来提供的功能相结合且发明要求保护范围与所需方式相结合,因而可提供所述功能的任何方式也与从本说明书中掌握的方式等同。
可通过附图和相关的以下详细说明来进一步明确理解所述目的、特征及优点,由此,可使本发明所属技术领域的普通技术人员容易实施本发明的技术思想。并且,在说明本发明的过程中,在判断为对于与本发明相关的公知技术的具体说明有可能不必要地混淆本发明主旨的情况下,将省略对其的详细说明。
以下,参照附图来对本发明的优选一实施例进行详细说明。
图1为简要示出本发明实施例的整体系统的概念图。
参照图1,本发明实施例的整体系统包括一个以上的设备100、设备控制模块200、共享存储器300、一个以上的代理程序400及用户系统500。
设备100可包括最终执行机器人系统的工作的一个以上驱动装置。驱动装置可包括硬件装置或软件装置。驱动装置可包括例如用于对关节马达的驱动进行控制的关节设备、包括传感器板的传感器设备或多个模拟装置中的至少一个。
并且,设备100根据从设备控制模块200接收的控制信号来得到控制,并可向所述设备控制模块200输出传感器数据等多种数据。并且,其中,被称之为设备100的术语并不局限于硬件,而是可用作包含用于驱动实际硬件设备的软件驱动器的概念。因此,各个设备100也可在物理及软件上与设备控制模块200相连接。
并且,各个设备100可与设备控制模块200形成通信网络。为了系统的稳定性,通信网络可形成利用控制器局域网(CAN,Controller Area Network)方式协议的系统网络。
例如,各个设备100可通过一个以上的控制器局域网(CAN)通信通道与设备控制模块200相连接,通过所述控制器局域网通信通道按照预定的控制周期来接收由控制器局域网帧数据形成的信息,或可向所述设备控制模块200输出信息。其中,所述信息可包含马达控制参考值、编码器值、控制器状态值、脉宽调制(PWM,Pulse Width Modulation)指令,传感器值或其他多种设定或输出值。
并且,设备控制模块200从在从所述多个代理程序400生成并存储于所述共享存储器的各个参考值中获得用于控制一个以上设备100的硬件控制数据,并且向通过所述硬件控制数据选择的所述一个以上的设备100传递基于所述参考值的控制信号。
设备控制模块200可以始终驻留在用于机器人系统的控制的操作系统上,并可在后台运行。
设备控制模块200可参照所述共享存储器300来唯一地与设备100进行直接通信,并可通过所述通信通道传递控制信号或接收传感器信号。
例如,设备控制模块200可向所述关节设备100传递用于控制关节设备100的参考值,或从传感器设备100接收必要的传感器信息。
并且,所述设备控制模块200可包括生成在所述操作系统上的实时线程(thread)。并且,所述线程与系统的动作生成工作周期同步,从而可实现实时处理。并且,设备控制模块200还可包括用于数据读取及转换等处理的非实时线程。
并且,所述多个代理程序400可通过具有相互独立进程的独立的软件模块来实现。例如,多个代理程序400可分别处理互不相同的动作,并执行用于输出与此相对应的参考值的进程。例如,各个代理程序400可包括动作代理程序、控制器代理程序、通信代理程序或行走(walking)代理程序、阻尼(damping)代理程序及其他多种代理程序。
如上所述的多个代理程序400在功能上其进程相互分离,因而不共享堆(heap)存储器、数据(data)存储器及静态(static)存储器,而是可通过生成各个线程来进行工作,可通过共享存储器300来分别提供用于相互共享的必要数据,由此可在无相互冲突下进行有机处理,并且易于软件开发及处理。
尤其,根据本发明的实施例,所述多个代理程序400根据相互独立的进程的工作,从所述共享存储器300接收传感器数据,根据本发明的实施例,各个代理程序400根据分别定义的进程来参照共享存储器300的硬件抽象化数据及用户定义数据,并可将以此为基础来生成的参考数据存储于共享存储器300的硬件抽象化数据中。
其中,用户定义数据可包含用于代理程序400之间的信息共享的共享数据及可由用户定义的用于其他系统驱动的多种数据。
并且,硬件抽象化数据可包含为了控制设备100而被抽象化的参考值、传感器数据,动作所有者变量及指令数据。并且,设备控制模块200可利用所述硬件抽象化数据和预先存储于硬件数据库250的硬件信息来生成各个设备100的控制信号。
由此,设备控制模块200可利用从所述共享存储器300提取的硬件抽象化数据来识别控制对象设备100,并生成对于多个控制对象设备100的控制信号来向控制对象设备100输出基于所述参考值的控制信号。
并且,为了确保稳定的实时性,各个代理程序400的处理周期有必要短于处理系统的动作信息的工作周期。由此,所述多个代理程序400从传感器数据生成参考值,所述设备控制模块200通过共享存储器300从参考值生成及输出控制信号,并且更新传感器数据所需的时间可包含在所述具有分层架构的实时设备控制系统的第一工作周期内。因此,所述一系列工作均可在所述第一工作周期内处理。
另一方面,用户系统500可提供用于对代理程序400及设备控制模块200进行控制及监视的用户界面。并且,用户系统500也可包括用于控制代理程序400的中间设备,可提供可与其他外部系统相连接的多种界面。
图2为用于说明本发明实施例的机器人系统的控制方法的流程图。
并且,图3至图4为用于说明本发明实施例的共享存储器与系统之间的关系的图。
并且,图5为用于说明本发明实施例的设备控制模块与代理程序之间的数据交换的图。
以下,参照所述图2至图5来对本发明的机器人系统及其控制方法进行更加具体的说明。
参照图2,在本发明实施例的机器人系统的控制方法中,首先具有相互独立进程的多个代理程序400执行工作(步骤S101)。
并且,设备控制模块200从存储于共享存储器300的参考值获得硬件抽象化数据(步骤S103)。
并且,设备控制模块200通过硬件抽象化数据生成用于控制硬件的控制信号(步骤S107),并向一个以上的设备100传递所生成的控制信号(步骤S109)。
另一方面,设备控制模块200从与传感器相对应的多个设备100接收传感器数据(步骤S111),并将所述接收的传感器数据更新到共享存储器300(步骤S113)。
并且,所述一系列工作步骤在与机器人系统的实时工作周期相对应的第一周期内均可得到处理,从而可确保实时性。
为了如上所述的进程,图3所示,各个代理程序400和设备控制模块200可利用共享存储器300来执行数据交换及传递处理。
根据各个代理程序400的工作,共享存储器300中可存有与各个设备100相对应的多个参考值,设备控制模块200可通过获得参考值来用于输出控制信号。
如上所述的多个代理程序400和设备控制模块200能够以共享存储器300为中心来构成多代理程序系统。由此,在可由多名开发人员对执行独立行程的各个部分进行分离来开发,也可协作开发,因此对于机器人系统开发环境,可具有有利的结构。
若利用本发明实施例的代理程序400,则开发人员可从进程同时开发模型中确保独立的开发空间,并可通过利用共享存储器300来与其他代理程序400的计算结果物相互作用或收发数据。
另一方面,如图4所示,共享存储器300上可包含硬件抽象化数据及用户定义数据。
硬件抽象化数据可包含传感器数据、参考数据、动作所有者(motion owner)数据及指令数据,设备控制模块200可以仅接近共享存储器300的所述硬件抽象化数据区域。
由此,设备控制模块200可通过接近共享存储器300的硬件抽象化数据区域来对从设备100接收的传感器数据进行更新,或者通过获得被更新的参考数据来生成针对设备100的控制信号。
其中,硬件抽象化数据可具有通过对与机器人设备控制相关的详细数据进行抽象化来转换的数据格式,设备控制模块200可将所述数据格式转换为实际硬件控制信号来传递至适当的多个设备100。
由此,代理程序400开发人员或用户即使不具备对硬件的深度了解也可容易进行控制。开发人员或用户将通过共享存储器300实现抽象化的硬件输入信息作为参考值来传递,设备控制模块200可从所述硬件抽象化数据生成用于控制设备100的低级控制信号。
并且,由于可能存在硬件的扩展性和硬件的变更及修改,因而设备控制模块200可利用前述的硬件数据库250来对生成所述控制信号所需的硬件信息进行管理。硬件信息可包含例如多个设备100的列表、关节马达信息(减速比、编码器脉冲、驱动器通道数量等)或通信协议等。
设备控制模块200可通过加载所述硬件数据库250来掌握驱动对象设备100的硬件信息,由此,可生成用于控制所述驱动对象设备100的最佳控制信号。并且,即使变更硬件或使用新结构的硬件,也可以仅通过修改硬件数据库250来适用,从而可提供耐于硬件变化,且可使硬件扩展的特性。
并且,硬件抽象化数据可包含参考数据、传感器数据、动作所有者数据及指令数据。
其中,所述参考数据可在各个代理程序400中根据计算结果而得到更新,设备控制模块200可包含用于控制各个设备100的当前步骤中的目标值。例如,参考数据可包含关节动作参考值及关节控制器参考值。
并且,传感器数据可包含由设备控制模块200从各个设备100接收的测定数据。其中,测定数据可包含例如关节设备的编码器值、包含感测数据的当前步骤中的状态信息。
另一方面,指令数据可包含用于在上层系统级控制设备控制模块200及代理程序400的指令信息,可包含指令对象进程信息及参考值信息。
另一方面,不同共享存储器300的多个数据为由代理程序400读取的值,因而不存在混淆的可能性,但在参考数据的情况下,对于相同的关节设备100,由每个代理程序400所输出的多个值可能不同。为了消除与此相关的冲突可能性,共享存储器300可包含动作所有者(owner)信息。
并且,如图5所示,在图5中,对本发明实施例的设备控制模块200与代理程序400之间的数据交换过程中的动作所有者与参考数据之间的关系进行说明。
如图5所示,共享存储器300的硬件抽象化数据区域可包括可按每个代理程序400更新参考数据的不同代理程序400的存储器区域350。
由此,各个代理程序400可在自身的存储器空间区域更新由自身计算出的参考值。
这里,各个代理程序400可通过计算与各个设备100相对应的参考数据来进行更新。例如,在存在从J1~J31共31个关节设备100的情况下,每个代理程序400的存储器空间区域可包括与所述各个关节设备100相对应的参考数据区域。
与此同时,共享存储器300可包含与所述各个关节设备100相关的动作所有者变量。因此,各个动作所有者变量空间内可包含与关节设备100的数量相同数量的动作所有者变量。
并且,各个动作所有者变量可表示在预定的多个代理程序400中对所述关节设备100具有权限的一个代理程序。由此,设备控制模块200可对针对相应关节设备100的控制权从属于何种代理程序400进行判断。
并且,对于各个关节设备100的控制权根据动作所有者变量的变更而可以转移到其他代理程序400或设备控制模块200。
为此,设备控制模块200可从优先动作所有者变量中识别出具有对特定关节设备100的控制权的代理程序400。并且,设备控制模块200可通过收集识别出的代理程序400的参考数据,并结合所述收集到的参考数据来生成与综合构成的整体关节设备100有关的整体参考数据。
并且,设备控制模块200可利用整体参考数据来生成与各个设备100有关的控制信号,并适当地传递。
在观察是否存在错误之后,读取相应的关节参考值,由此综合形成仅一套的机器人所有关节的参考值,并向机器人设备传递所述参考值来进行驱动。
通过如上所述的数据交换方式,可由互不相同的代理程序400无冲突地控制机器人的各个关节。例如,在一个代理程序400通过与下身姿势稳定化有关的算法来控制多个下身关节,另一个代理程序400生成上身的特定任务动作,则两个代理程序400的结果被组合,从而可以执行机器人的全身任务。这使得可以根据机器人的多代理程序系统的特性进行有效控制。
图6为用于说明本发明实施例的设备控制模块的框图。
参照图6,设备控制模块200包括动作选择器210、控制器信号累积部220、信号结合部230及信息处理器240。
根据本发明的实施例,与关节有关的参考数据可包含用于关节动作控制及细节控制的2种以上的参考值信号。由此,与各个关节设备100相对应的代理程序400可作为参考数据来生成所述2种以上的参考值信号来存储于共享存储器300。
并且,如图6所示,参考值信号可以命名为动作参考值和控制器参考值。动作参考值可包含向各个关节提供主导值的参考数据,控制器参考值可包含微观地加到动作参考值或从动作参考值减去的细节参考数据。但是,在本发明的实施例中,所述参考值并不局限于所述名称。
由此,可从共享存储器300向设备控制模块200输入动作参考值输出数据M1~Mm和控制器参考值M1~Mm。
并且,动作参考值可按一个关节设备100选择一个,但控制器参考值可以均被累积后得到加减。
为此,动作选择器210以所述动作所有者的变量信息为基础来从所述动作参考数据中选择与各个关节设备100相对应的动作参考数据,并可将此数据向信号结合部230输出。因此,可以为一个关节设备100选择一个动作参考数据。
并且,控制器信号累积部220可与所述动作所有者变量无关地通过累积控制器参考数据来向信号结合部230输出结果值。
并且,信号结合部230可通过对所述动作参考数据和所述控制器参考数据的累积结果值进行合成来按最终关节设备100生成参考数据,并向适当的目标关节设备100输出。
这里,信号结合部230可识别参考值的类型,并区分基于参考值类型的处理空间。为此,信号结合部230可包括类型识别部及空间处理部。
例如,参考数据除了关节动作之外还可具有任务处理等其他类型,由此,类型识别部可识别是所述任务类型还是关节类型,空间处理部可根据所述类型来提供互不相同的数据空间的处理。
如此,通过分离动作参考值和控制器参考值,从而可在生成机器人动作的过程中可实现功能性分离。例如,若生成双足步行的动作,则在一个代理程序400通过生成基本步行模式来生成动作参考值,在另一个代理程序400设计阻尼控制器,并在又一个代理程序400通过设计防止振动的控制器来作为控制器参考值而输出,从而可非常容易地进行设计及开发。
另一方面,信息处理器240可执行通过综合从传感器设备100或其他测定对象设备收集到的传感器数据来向共享存储器300输出的功能。
图7为用于说明本发明另一实施例的机器人系统的控制工作的流程图。
一般情况下,若在使用机器人的实际实验中发生问题,通常则需要重新开始驱动机器人。对于移动平台,机器人初始化过程简单,而像人形机等,难以在多关节系统或地面执行初始化,在需要利用起重机等来在空中进行初始化的情况下,整体的初始化过程非常繁琐且消耗很长时间。
因此,如图7所示,本发明实施例的设备控制模块200可无需这种对机器人进行初始化的过程而进行调试并重新测试机器人。
为此,首先执行系统初始化(步骤S201),之后具有各个相互独立进程的多个代理程序400进行工作(步骤S202)。
之后,在存在发生错误的特定代理程序的情况下(步骤S203),所述发生错误的代理程序的工作被中断,设备控制模块200或其他代理程序400以其他代理程序来变更所述动作所有者变量(步骤S205)。
由此,若用户在通过代理程序400测试动作算法的过程中发生问题,则能够以仅通过将动作所有者转移给其他代理程序400或设备控制模块200的方式对与被中断的代理程序400有关的代码进行修改。
并且,在通过对所编写的代码进行编译来完成调试的情况下(步骤S207),可重新将动作所有者变量切换为原来的代理程序400(步骤S209)。
像这样,开发人员在获得动作所有者变量之后可继续进行实验。这最终具有如下效果:加速开发,且在用户的立场上,可进一步利用其来持续观察机器人在其他特殊组合语言中的关节参考值,从而检测出发生冲突的现象。进而当发生冲突时,可通过切换动作所有者来安全地进行机器人实验。
图8为示出本发明实施例的设备控制模块200的结构的图。
在实际的实时控制环境下,为了实现硬实时(Strict hard real-time)框架,可以对与各个代理程序400的进程有关的实时线程(thread)进行同步。
但是,在因各个步骤(或周期)而受限的时间内多个进程之间未正常发生同步的情况下,因快一个步骤的关节参考值的更新或慢一个步骤的关节参考值的更新而可能发生意想不到的抖动及冲击运动。若这种问题越频繁发生,则越使动作的质量下降或使机器人系统的所有任务变得危险。
例如,在设备控制模块200和所有代理程序400以具有与控制步骤的周期相同的周期的实时进程的线程来同步的情况下,存在被输出的动作的实际值的一部分发生误差的隐患,这引起无法维持强实时性的问题。
更加具体地,包含在各个进程的多个实时线程因各自进程的工作时间而受到抖动的影响,由此发生各个进程之间的时间轴错开的情况。这导致即使设备控制模块200同步最近的参考值及传感器值,也可根据算法执行时间而反映未被更新的参考值,并且因不准确的传感器数据而可能使动作生成的质量下降。由此可能无法在基于始终恒定的步骤周期的偏移时间段进行更新或更新得过快,从而可能引起诸多问题。
因此,为了多个进程之间的线程的同步,本发明实施例的设备控制模块200利用共享存储器300和一步延迟(One Step Delay)来获得数据以及执行代理程序400之间的同步处理,从而可解决如上所述的问题。
为此,设备控制模块200执行基于步骤的控制,从控制对象设备100获得当前步骤的状态信息来传递至一个以上的计算代理程序400,从所述计算代理程序获得在之前步骤中以所述之前步骤的状态信息为基础来预先计算的所述当前步骤的参考值信息,并将所述参考值信息作为与所述当前步骤相对应的控制信号来传递至所述设备100,从而使在之前步骤中计算的参考值动作在当前步骤的设备中实现,当前步骤的传感器信息向各个计算代理程序400传递并被处理,由此能够以一个步骤周期以内为基准,实现无时间延迟及抖动的动作。
由此,参照图8,本发明实施例的设备控制模块200包括参考值获得部250、传感器设备通信部260、同步信号处理部270及共享存储器接近部280。
这里,设备控制模块200的各个结构要素在与一个步骤相对应的控制周期内完成所有控制及工作处理,在下一步骤中可重新执行相同的处理。
并且,所述设备控制模块200的结构要素可通过利用前述的动作选择器210、控制器信号累积部220、信号结合部230、信息处理部240的全部或一部分功能来处理的硬件处理器或软件模块进程实现。
首先,传感器设备通信部260与各个设备100唯一相连接来收发设备控制模块200之间的控制信号及传感器数据。其中,传感器数据可以为包含各个设备100的状态信息的概念,状态信息除了包含由额外的传感器模块感测的信息之外,还可将设备100的工作环境信息等均包含在内。
并且,传感器设备通信部260从各个设备100接收在当前步骤中更新的多个传感器值,并通过共享存储器接近部280将所述多个传感器值更新到共享存储器300的传感器数据。
并且,各个代理程序400可根据由同步信号处理部270处理的同步信号接近到所述共享存储器300来获得被更新的当前步骤的多个传感器值。在一实施例中,当前步骤的传感器值可利用在与下一步骤的参考值有关的计算处理。
并且,参考值获得部250可从共享存储器300作为当前步骤的参考值来获得在所述当前步骤的之前步骤中各个代理程序400以所述之前步骤的状态信息(传感器数据等)为基础来预先计算的参考值数据。
并且,传感器设备通信部260也根据由同步信号处理部270从各个代理程序400接收的同步信号,利用所述获得的参考值数据来生成当前步骤的控制信号,并向各个设备100传递所生成的控制信号。
由此,设备控制模块200可通过将由共享存储器300根据之前步骤的状态信息更新的参考值转换为当前步骤的控制信号来对设备100的动作进行控制。这既使各个代理程序400按照规定的充足的控制时间单独进行工作,又可使与设备100有关的动作控制信号无需经过额外的复杂的计算而通过与当前步骤同步来直接输出,从而消除动作时间轴的误差、抖动或错误等,并基于稳定的工作来可提高动作的质量。
图9为用于说明本发明实施例的设备控制模块200及多个代理程序400的工作的流程图。
参照图9,首先,设备控制模块200通过传感器设备通信部260接收从各个设备100变更的传感器值来执行共享存储器300的更新(步骤S301)。
若完成更新,则设备控制模块200通过同步信号处理部270向各个代理程序400传输同步开始信号(SYNC SIGNAL)(步骤S303)。
若接收到同步开始信号,则各个代理程序400可从共享存储器300获得当前步骤的传感器数据,并能够以所获得的传感器数据为基础来计算下一步骤的参考值。
另一方面,根据同步开始信号,各个代理程序400在共享存储器300上更新在之前步骤中计算出的参考值(步骤S305)。
其中,所述之前步骤的参考值可包含从之前步骤的传感器数据生成并预先计算的值。由此,在当前步骤中仅更新结果值,因而可使输出时间最小化。
若完成更新,则设备控制模块200通过同步信号处理部270从各个代理程序400接收响应信号(ACK SIGNAL)(步骤S307)。
由此,设备控制模块200的同步信号处理部270对是否从所有代理程序400接收到响应信号进行判断(步骤S309),在均接收的情况下,设备控制模块200的参考值获得部250通过共享存储器接近部280获得在所述共享存储器300上更新的之前步骤参考值,并向各个设备100传递基于所述之前步骤的参考值的控制信号(步骤S311)。
并且,设备控制模块200通过传感器设备通信部260请求下一个传感器值(步骤S313)。
其中,步骤S301至步骤S311可在与机器人系统的工作周期时间相对应的第一步骤内均得到实现。并且,所述第一步骤可与设备控制模块200的工作周期同步。基于各个代理程序400的当前传感器数据的计算进程用于获得下一步骤的参考值,因而对于当前步骤的处理时间可以最小化,并可无误差地维持所述同步,由此,本发明实施例的系统可提供非常稳定的硬实时性。下表1公开与设备控制模块200的同步工作有关的伪代码(Pseudo Code)。
表1
表1示出用于生成关节设备100的实时动作的第一步骤周期的伪代码,设备控制模块200传递从传感器(Sensor)接收的传感器数据(S.data),可通过获得根据之前步骤的传感器数据计算的关节参考值(joint reference)来向各个关节设备(joint)传递。在表1中,设备控制模块200可作为对各个设备100进行整体控制的含义来以守护进程(Deamon)来表示,各个代理程序400具有葡萄粒一般的连接结构,从而能够以组合语言(AL)来表示。各个代理程序400的算法可通过用户及开发者来实现。
如表1所示,设备控制模块(Deamon)200使实时线程(Real Time Thread)进行工作,当在当前步骤中,i)若获得传感器数据,ii)则将同步(SYNC)信号与传感器数据一同向各个代理程序400传递,iii-A)各个代理程序(AL)400将在之前步骤中计算出的参考值更新到共享存储器300并输出响应(ACK)信号,iii-B)各个代理程序(AL)400计算与当前步骤的传感器数据相对应的下一步骤参考值,iv)设备控制模块(Deamon)200向关节设备100传递经过更新的参考值。并且,v)可向各个设备100请求下一步骤的传感器数据。
例如,如表1所示,各个代理程序400执行仅基于自身算法的任务线程(TaskThread),并基于当前步骤的传感器数据来处理用于下一个参考值(next refrence)的计算。并且,若完成处理,则可等到下一步骤。其中,在将下一步骤假设为当前步骤的情况下,用于所述参考值的计算可以为在之前步骤中被预先处理的计算。
并且,若通过同步监控线程(Sync Watching Thread)接收到同步开始信号(Sync_flag),则多个代理程序400根据各自所具有的所有者信息,将通过预先计算来生成的之前步骤的参考值(joint reference)更新到共享存储器,并可向设备控制模块200传递基于更新结果值的响应信号(ack_flag)。
根据如上所述的同步过程,为了使基于关节参考值的控制信号与传感器数据及进程之间的线程同步,设备控制模块200可利用一步延迟。由此可稳定且均匀地控制设备,最终可实现硬实时(Strict hard real-time)。并且,各个代理程序400也可充分利用相当于规定的控制步骤周期的时间。
图10为用于表示本发明实施例的设备100、设备控制模块200及代理程序400之间的工作时序的时序图。
如图10所示,首先,设备控制模块200在作为其控制步骤周期(Control Period)的5ms内获得传感器数据,可通过获得在之前步骤中由代理程序400计算出的参考值来向设备100传递。并且,设备控制模块200与代理程序400之间的数据共享可通过对共享存储器300进行的输入输出来实现。
如图10所示,之前步骤n-1中的传感器数据在代理程序400得到处理,进行处理的时间(Working Time)可短于控制步骤周期。由此,各个代理程序400可能存在等待时间(Suspend Time)。并且,若当前步骤的控制周期开始,则各个代理程序400根据从设备控制模块200接收的同步信号向设备控制模块200传递在之前步骤n-1中计算出的参考值,设备控制模块200向代理程序400传递当前步骤n的传感器数据。各个代理程序400通过基于当前步骤n的传感器数据来进行计算,从而生成用于下一步骤n+1的参考值数据。
并且,各个设备控制模块200和代理程序400可通过线程来实现,只有设备控制模块200可唯一包含具有与控制步骤周期相同的周期5ms的线程。其原因在于由设备控制模块200执行的功能恒定,且其为具有最高优先顺序的线程,因此进行规定动作所消耗的时间几乎恒定。由此,作为恒定的控制周期的5ms对于设备控制模块200而言可以是非常长的时间,可利用这种特性来实现硬实时(Strict hard real-time)。
由此,设备控制模块200的工作可以仅执行使时间偏移值从所有动作的线程起点的变动最小化的功能。由此,若仅确保因各个动作而产生的多个值的有效性,则可提高多种系统的硬实时控制的质量。
另一方面,图11至图14为示出用于验证本发明实施例的控制系统的性能的时间因素及测试结果值的图。
图11示出为了本发明实施例的系统性能的测试而测定出的3个时间因素。
首先,1)测定出设备控制模块200的实时线程的周期,由此可确认实时线程是否反复确保均匀的周期。其次,2)关节参考值传递到设备100的时间从线程开始的偏移。由此可确认是否实现几乎无动作延迟的硬实时(Strict hard real-time)。最后,3)测定在向设备控制模块200与代理程序400之间发送同步信号(Sync.Signal)之后直到接收信号(Signal)为止线程同步所需的时间。这表示系统的反映性,并且可掌握所述值对作为第二个测定值的动作的延迟程度产生的影响。在进行工作的代理程序400的数量分别在1个、3个、5个、10个时进行所述测试,并从各个实验中分别获得4000个样本。
图12示出所述1)情况下的柱状图。
参照图12,可确认出与进行工作的代理程序(AL)400的数量(count)无关地集中在5000us。最大抖动为10us程度,从而呈现出优秀的性能。即,可确认出设备控制模块200的实时线程在用户要求的周期内准确地开始并结束规定工作。
图13示出所述2)情况下的输出关节参考值所需时间的柱状图。
参照图13,可观察到参考值在设备控制模块200的实时线程开始之后的30us至100us之间作为控制信号来传递。并且,可确认出与进行工作的代理程序(AL)400的数量无关。变化的量为70us程度,其为控制周期的1.5%程度的时间,且为测定出的抖动的7倍程度,实验中的马达控制器以1kHz进行工作,因而其周期为1ms(1000us)。因此,这表示输出参考值所需时间的变量小于设备100的马达控制周期的10%,从而表示本发明的系统结构确保足够的性能来驱动设备与控制系统之间的工作频率互不相同的多速率系统(Multi-RateSystem)。
另一方面,图14示出发生设备控制模块200与多个代理程序(AL)400的线程之间的同步所需的时间的柱状图。
可确认到所述时间在从10us至70us内进行变化。与之前的实验结果值进行比较,在设备控制模块200直到输出参考值为止所需的时间中,所述3)情况下的同步所需的时间最长。这种现象表示设备控制模块200的线程具有最高优先顺序,若捕获同步信号的代理程序(AL)400的线程运行得过快,则相应地消耗计算机的中央处理器资源,因而造成同步的性能和所要投入到用于生成动作的计算的中央处理器资源相互冲突,因而可在适当范围内进行权衡(trade-off)。由此可确认到在确保用于使系统进行工作的足够性能的同时,可以最大限度地向用户分配足够量的中央处理器资源。
如此,根据本发明的实施例,提供具有相互独立进程的多个代理程序和用于对通过所述多个代理程序的工作而生成的参考值进行存储的共享存储器,并提供利用所述参考值来控制所述硬件设备的额外的设备控制模块,从而在需要实时性的机器人系统中,不仅可使对于同一硬件进行控制的多个独立进程共存,而且可使与此相关的机器人的动作稳定地得到控制。并且,即使独立开发各个代理程序,也可通过共享存储器来合成及筛选参考值,从而可减少相互冲突的可能性,并可确保稳定的实时性。并且,当发生错误时,可容易对代理程序进行更换及实时调试等,从而可赋予协作便利性及扩展性。
并且,根据本发明的实施例,在同步多个进程之间的线程的过程中,提供利用共享存储器的一步延迟处理方法,从而使设备控制模块与代理程序及设备之间的处理延迟最小化,并优化与此相关的实时同步处理,从而可加强输出信号的质量及实时性,并且可提供更加精致且使错误及抖动最小化的控制系统。
另一方面,所述本发明的方法可编写成用于在计算机中运行的程序并存储于计算机可读记录介质,计算机可读记录介质的例包括只读存储器(ROM)、随机存取存储器(RAM)、光盘只读存储器(CD-ROM)、磁带、软盘、光数据存储装置等,并且还包括以载波(例如,通过网络传输)形式实现的记录介质。
计算机可读记录介质可分散在通过网络来连接的计算机系统中,使得计算机可读代码以分散方式存储并运行。并且,用于实现所述方法的功能性(function)程序、代码和代码段可以由本发明所属技术领域的普通技术人员容易地推断。
并且,虽然以上示出并说明了本发明的优选实施例,但本发明并不局限于所述特定实施例,在不脱离发明要求保护范围中所要求的本发明主旨的范围内,本发明所属技术领域的普通技术人员可实施多种变形,并且这种所实施的变形不得从本发明的技术思想或前景中单独地进行理解。

Claims (20)

1.一种系统控制方法,其特征在于,包括如下步骤:
使利用共享存储器且具有相互独立进程的多个代理程序进行工作;
从通过所述多个代理程序生成并存储于所述共享存储器的各个参考值中获得用于控制一个以上的设备的硬件控制数据;以及
向根据所述硬件控制数据选择的所述一个以上的设备传递基于所述参考值的控制信号。
2.根据权利要求1所述的系统控制方法,其特征在于,还包括如下步骤:
从所述一个以上的设备接收传感器数据;
利用接收到的所述传感器数据来更新所述共享存储器;以及
所述多个代理程序向所述共享存储器输出根据所述传感器数据更新的所述参考值。
3.根据权利要求1所述的系统控制方法,其特征在于,所述共享存储器包含与关节设备相对应的动作所有者变量,
所述动作所有者变量表示在所述多个代理程序中对所述关节设备具有权限的一个代理程序,
在所述多个代理程序中存在发生错误的代理程序的情况下,所述系统控制方法包括:
中断所述发生错误的代理程序的工作;以及
将与所述发生错误的代理程序相对应的动作所有者变量变更为另一个代理程序。
4.根据权利要求1所述的系统控制方法,其特征在于,获得所述硬件控制数据包括:
基于所述各个参考值生成硬件抽象化数据;
利用包含与所述一个以上的设备有关的硬件信息的硬件数据库来生成与所述硬件抽象化数据相对应的控制信号;以及
向所述一个以上的设备传递所述控制信号。
5.根据权利要求1所述的系统控制方法,其特征在于,所述工作步骤、获得步骤、传递步骤、接收步骤及更新步骤在与所述系统的实时工作周期相对应的第一周期内均得到处理。
6.一种系统控制装置,其特征在于,包括:
多个代理程序,具有相互独立的进程;
共享存储器,用于对通过所述多个代理程序的工作生成的参考值进行存储;以及
设备控制模块,从通过所述多个代理程序生成并存储于所述共享存储器的各个参考值中获得用于控制一个以上的设备的硬件控制数据,并向根据所述硬件控制数据选择的所述一个以上的设备传递基于所述参考值的控制信号。
7.根据权利要求6所述的系统控制装置,其特征在于,所述设备控制模块从所述一个以上的设备接收传感器数据,并利用接收到的所述传感器数据来更新所述共享存储器,从而使所述多个代理程序向所述共享存储器输出根据所述传感器数据来更新的所述参考值。
8.根据权利要求6所述的系统控制装置,其特征在于,所述共享存储器包含与关节设备相对应的动作所有者变量,
所述动作所有者变量表示在所述多个代理程序中对所述关节设备具有权限的一个代理程序,
所述系统控制装置还包括用户系统,所述用户系统在所述多个代理程序中存在发生错误的代理程序的情况下,中断所述发生错误的代理程序的工作,并将与所述发生错误的代理程序相对应的动作所有者变量变更为另一个代理程序。
9.根据权利要求6所述的系统控制装置,其特征在于,还包括:包含与所述一个以上的设备有关的硬件信息的硬件数据库,
所述设备控制模块基于所述各个参考值来生成硬件抽象化数据,利用包含与所述一个以上的设备有关的硬件信息的硬件数据库来生成与所述硬件抽象化数据相对应的控制信号,并向所述一个以上的设备传递所述控制信号,
所述硬件信息包含所述设备的列表、减速比、编码器脉冲、驱动器通道数量、通信协议信息中的至少一种。
10.一种实时控制系统,其特征在于,包括:
一个以上的硬件设备,包括所述实时控制系统的关节或传感器设备;
多个代理程序,具有与所述实时控制系统相关的相互独立的进程;
共享存储器,用于对通过所述多个代理程序的工作生成的参考值进行存储;
设备控制模块,从通过所述多个代理程序生成并存储于所述共享存储器的各个参考值中获得用于控制一个以上的设备的硬件控制数据,向根据所述硬件控制数据选择的所述一个以上的设备传递基于所述参考值的控制信号,从控制对象设备获得当前步骤的状态信息,向利用所述当前步骤的状态信息对参考值的计算进行处理的所述多个代理程序传递所述状态信息,从所述代理程序获得以之前步骤的状态信息为基础来预先计算的参考值信息,并将所述参考值信息作为与所述当前步骤相对应的控制信号来向所述设备传递;以及
用户系统,用于对所述设备控制模块和所述多个代理程序的实时工作周期及运行工作进行管理。
11.一种系统控制方法,其特征在于,包括:
从控制对象设备获得当前步骤的状态信息;
向利用所述当前步骤的状态信息来对参考值的计算进行处理的一个以上的代理程序传递所述状态信息;
从所述代理程序获得以之前步骤的状态信息为基础来预先计算的参考值信息;以及
将所述参考值信息作为与所述当前步骤相对应的控制信号来向所述设备传递。
12.根据权利要求11所述的系统控制方法,其特征在于,传递所述状态信息的步骤包括:
将所述当前步骤的状态信息更新到共享存储器;以及
在所述状态信息得到更新的情况下向所述一个以上的代理程序传输同步信号,
所述一个以上的代理程序若接收到所述同步信号,则从所述共享存储器获得所述状态信息来对用于下一步骤的参考值进行计算。
13.根据权利要求11所述的系统控制方法,其特征在于,获得预先计算的参考值信息包括:
所述一个以上的代理程序将预先计算的参考值信息更新到共享存储器并接收被传输的响应信号;以及
从所述共享存储器获得接收到所述响应信号的代理程序的参考值信息。
14.根据权利要求11所述的系统控制方法,其特征在于,还包括:向所述控制对象设备传递与用于下一步骤的传感器数据有关的请求信息。
15.根据权利要求11所述的系统控制方法,其特征在于,所述步骤周期与所述设备系统的设备控制模块的线程唯一地同步。
16.一种系统控制装置,其特征在于,包括:
设备通信部,从控制对象设备获得当前步骤的状态信息,向利用所述当前步骤的状态信息来对参考值的计算进行处理的一个以上的代理程序传递所述状态信息;以及
参考值获得部,从所述代理程序获得以之前步骤的状态信息为基础来预先计算的参考值信息,
所述设备通信部将所述参考值信息作为与所述当前步骤相对应的控制信号来向所述设备传递。
17.根据权利要求16所述的系统控制装置,其特征在于,所述设备通信部通过共享存储器接近部将所述当前步骤的状态信息更新到共享存储器,
所述系统控制装置还包括同步信号处理部,所述同步信号处理部在所述状态信息得到更新的情况下,向所述一个以上的代理程序传输同步信号。
18.根据权利要求16所述的系统控制装置,其特征在于,所述一个以上的代理程序若接收到所述同步信号,则从所述共享存储器获得所述状态信息来对用于下一步骤的参考值进行计算,
在所述参考值获得部中,所述一个以上的代理程序将预先计算的参考值信息更新到共享存储器并接收被传输的响应信号,从所述共享存储器获得接收到所述响应信号的代理程序的参考值信息。
19.根据权利要求16所述的系统控制装置,其特征在于,所述设备通信部向所述控制对象设备传递与用于下一步骤的传感器数据有关的请求信息。
20.根据权利要求16所述的系统控制装置,其特征在于,所述步骤周期在所述设备系统中与设备控制模块的线程唯一地同步。
CN201680054794.7A 2015-09-21 2016-07-22 实时控制系统、实时控制装置及系统控制方法 Active CN108025436B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201562221215P 2015-09-21 2015-09-21
US62/221,215 2015-09-21
KR10-2016-0006426 2016-01-19
KR1020160006426A KR102235166B1 (ko) 2015-09-21 2016-01-19 실시간 로봇 시스템, 로봇 시스템 제어 장치 및 로봇 시스템 제어 방법
KR1020160020775A KR102235167B1 (ko) 2015-09-21 2016-02-22 스텝 기반 실시간 디바이스 시스템 제어 방법, 디바이스 시스템 제어 장치 및 스텝 기반 디바이스 제어 시스템
KR10-2016-0020775 2016-02-22
PCT/KR2016/008031 WO2017052059A1 (ko) 2015-09-21 2016-07-22 실시간 제어 시스템, 실시간 제어 장치 및 시스템 제어 방법

Publications (2)

Publication Number Publication Date
CN108025436A true CN108025436A (zh) 2018-05-11
CN108025436B CN108025436B (zh) 2021-08-03

Family

ID=58498109

Family Applications (3)

Application Number Title Priority Date Filing Date
CN201680054794.7A Active CN108025436B (zh) 2015-09-21 2016-07-22 实时控制系统、实时控制装置及系统控制方法
CN201680054891.6A Active CN108136578B (zh) 2015-09-21 2016-07-22 具有分层架构的实时设备控制系统及利用其的实时机器人控制系统
CN201680054786.2A Active CN108136577B (zh) 2015-09-21 2016-07-22 通用操作系统联动式实时机器人控制系统及利用其的实时设备控制系统

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN201680054891.6A Active CN108136578B (zh) 2015-09-21 2016-07-22 具有分层架构的实时设备控制系统及利用其的实时机器人控制系统
CN201680054786.2A Active CN108136577B (zh) 2015-09-21 2016-07-22 通用操作系统联动式实时机器人控制系统及利用其的实时设备控制系统

Country Status (5)

Country Link
US (3) US11135719B2 (zh)
EP (3) EP3354416A4 (zh)
JP (3) JP6938473B2 (zh)
KR (4) KR102235166B1 (zh)
CN (3) CN108025436B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110297471A (zh) * 2019-06-24 2019-10-01 佛山智异科技开发有限公司 一种工业机器人实验数据的采集方法及其采集装置
CN111745636A (zh) * 2019-05-15 2020-10-09 北京京东尚科信息技术有限公司 机器人控制方法及控制系统、存储介质及电子设备
CN112423950A (zh) * 2018-08-10 2021-02-26 川崎重工业株式会社 中介装置以及中介方法
CN114932961A (zh) * 2022-06-15 2022-08-23 中电海康集团有限公司 一种四足机器人运动控制系统

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106737686A (zh) * 2017-01-18 2017-05-31 成都黑盒子电子技术有限公司 一种机器人互动内容扩展方法及系统
CN107584491B (zh) * 2017-09-29 2020-03-24 深圳市盛路物联通讯技术有限公司 一种基于测向天线的机器人移动控制方法及设备
KR102370493B1 (ko) 2017-10-30 2022-03-04 현대자동차주식회사 로봇을 이용한 공유 모빌리티 시스템 및 제어방법
JP6969447B2 (ja) 2018-03-05 2021-11-24 日本電産株式会社 ロボット制御装置、記録の作成方法およびプログラム
WO2019178144A1 (en) * 2018-03-12 2019-09-19 Creator, Inc. Control system architecture and distributed human-machine interface for robot control
US10678228B2 (en) * 2018-04-04 2020-06-09 Invia Robotics, Inc. Autonomous robots performing concerted operation based on shared sensory access and holistic flow of information
EP3812853B1 (en) 2018-06-22 2024-01-17 Soft Servo Systems, Inc. Motion control program, motion control method, and motion control device
SG11202010173TA (en) 2018-06-22 2020-11-27 Soft Servo Systems Inc Motion control program, motion control method, and motion control device
EP3812854B1 (en) * 2018-06-22 2023-09-06 Soft Servo Systems, Inc. Motion control program, motion control method, and motion control device
US11325263B2 (en) * 2018-06-29 2022-05-10 Teradyne, Inc. System and method for real-time robotic control
US10848160B2 (en) * 2018-07-10 2020-11-24 Aerotech, Inc. Devices, systems, and methods for reducing jitter in control systems
US10949800B2 (en) * 2018-12-21 2021-03-16 Invia Robotics, Inc. Partitioning and coalescing operation of robots for coordinated autonomous execution
JP7303061B2 (ja) * 2019-01-10 2023-07-04 モベンシス株式会社 モーション制御プログラム、モーション制御方法及びモーション制御装置
JP7303132B2 (ja) * 2019-01-10 2023-07-04 モベンシス株式会社 モーション制御プログラム、モーション制御方法及びモーション制御装置
JP7303131B2 (ja) * 2019-01-23 2023-07-04 モベンシス株式会社 モーション制御プログラム、モーション制御方法及びモーション制御装置
JP7417356B2 (ja) * 2019-01-25 2024-01-18 株式会社ソニー・インタラクティブエンタテインメント ロボット制御システム
JP7216357B2 (ja) * 2019-03-01 2023-02-01 日本電気株式会社 制御装置、制御システム、ネットワークシステム、制御方法、制御プログラムおよび光ネットワークシステム
CN110008267B (zh) * 2019-03-12 2022-06-14 北京国电智深控制技术有限公司 一种数据处理的系统及方法
CN110497410A (zh) * 2019-08-22 2019-11-26 苏州浪潮智能科技有限公司 一种机器人控制系统及方法
KR102216824B1 (ko) * 2019-11-04 2021-02-18 (주)로보티즈 로봇 시스템의 구동부 연동 모듈 및 방법
JP7444591B2 (ja) * 2019-12-04 2024-03-06 ファナック株式会社 制御装置
CN111085999B (zh) * 2019-12-18 2022-11-15 达闼机器人股份有限公司 机器人控制方法、装置、系统及机器人控制器
US11498211B2 (en) * 2019-12-30 2022-11-15 Intrinsic Innovation Llc Composability framework for robotic control system
CN111061203A (zh) * 2019-12-31 2020-04-24 深圳市优必选科技股份有限公司 机器人的实时控制系统及机器人
CN111745651B (zh) * 2020-06-15 2022-04-05 哈工大机器人(合肥)国际创新研究院 一种智能机器人操作系统结构及其运作方法
KR20230091111A (ko) * 2020-10-12 2023-06-22 더 존스 홉킨스 유니버시티 로봇 워치독
CN112757291A (zh) * 2020-12-24 2021-05-07 北方工业大学 一种水下设施表面攀爬机器人通信系统及其控制方法
CN112936276B (zh) * 2021-02-05 2023-07-18 华南理工大学 基于ros系统的类人机器人关节多级控制装置及方法
US20220347844A1 (en) * 2021-04-30 2022-11-03 Intrinsic Innovation Llc Real-time robotics control framework
US20220347846A1 (en) * 2021-04-30 2022-11-03 Intrinsic Innovation Llc Real-time robotics control framework
US20220347841A1 (en) * 2021-04-30 2022-11-03 Intrinsic Innovation Llc Real-time robotics control framework
KR20240011342A (ko) * 2022-07-19 2024-01-26 코가로보틱스 주식회사 로봇 제어를 위한 데이터 처리 장치 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1577278A (zh) * 2003-07-22 2005-02-09 株式会社东芝 执行实时操作的方法和系统
KR100520779B1 (ko) * 2003-01-09 2005-10-12 삼성중공업 주식회사 Fpga를 이용한 다 축 위치 제어장치
US20070168082A1 (en) * 2006-01-17 2007-07-19 Robostar Co., Ltd. Task-based robot control system for multi-tasking
KR20130110289A (ko) * 2012-03-29 2013-10-10 주식회사 엔티리서치 의료용 수술 로봇 장치

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61117605A (ja) * 1984-11-14 1986-06-05 Hitachi Ltd ロボツトの制御方法
JPS63289607A (ja) * 1987-05-21 1988-11-28 Toshiba Corp 知能ロボットのモジュ−ル間通信制御方式
US5047700A (en) * 1988-03-23 1991-09-10 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Universal computer control system for motors
US5038089A (en) * 1988-03-23 1991-08-06 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Synchronized computational architecture for generalized bilateral control of robot arms
JPH0538689A (ja) * 1991-07-29 1993-02-19 Toshiba Corp 多関節ロボツトの分散制御システム
JP3832517B2 (ja) * 1996-07-05 2006-10-11 セイコーエプソン株式会社 ロボット用コントローラ及びその制御方法
JP3269003B2 (ja) 1997-05-12 2002-03-25 川崎重工業株式会社 ロボット制御装置
US6418478B1 (en) * 1997-10-30 2002-07-09 Commvault Systems, Inc. Pipelined high speed data transfer mechanism
JP4402797B2 (ja) * 2000-03-02 2010-01-20 株式会社日立製作所 情報処理装置
JP3486774B2 (ja) 2000-03-13 2004-01-13 住友重機械工業株式会社 多軸制御システム
JP2002187082A (ja) * 2000-10-11 2002-07-02 Sony Corp ロボット制御システム及びロボット制御方法
US6442451B1 (en) * 2000-12-28 2002-08-27 Robotic Workspace Technologies, Inc. Versatile robot control system
JP3826004B2 (ja) 2001-10-04 2006-09-27 オークマ株式会社 数値制御装置及び制御方法
JP3577028B2 (ja) * 2001-11-07 2004-10-13 川崎重工業株式会社 ロボットの協調制御システム
KR100454714B1 (ko) 2002-02-16 2004-11-05 한국과학기술연구원 작업용 로봇, 작업용 로봇을 위한 액츄에이터 및 작업용 로봇의 제어방법
JP4661074B2 (ja) 2004-04-07 2011-03-30 ソニー株式会社 情報処理システム、情報処理方法、並びにロボット装置
US20060010446A1 (en) 2004-07-06 2006-01-12 Desai Rajiv S Method and system for concurrent execution of multiple kernels
JP2006146758A (ja) * 2004-11-24 2006-06-08 Matsushita Electric Ind Co Ltd コンピュータシステム
US7554560B2 (en) * 2004-12-24 2009-06-30 Donald Pieronek System for defining network behaviors within application programs
JP2006255797A (ja) 2005-03-15 2006-09-28 Sanyo Electric Co Ltd ロボット装置
JP2007011978A (ja) 2005-07-04 2007-01-18 Toyota Motor Corp ロボットの運動制御装置
US20080027580A1 (en) 2006-07-28 2008-01-31 Hui Zhang Robot programming method and apparatus with both vision and force
KR100896705B1 (ko) * 2007-02-06 2009-05-14 한국과학기술연구원 지능형 로봇의 지능적 작업 관리를 위한 컴포넌트 기반의 작업 관리 시스템
KR100906121B1 (ko) 2007-10-25 2009-07-07 강원대학교산학협력단 이종 인터페이스들로 구성된 모듈 기반의 지능형로봇시스템을 위한 계층 구조 및 이의 구조화 방법
WO2009089914A1 (en) * 2008-01-18 2009-07-23 Abb Technology Ab A control system for controlling an industrial robot
WO2009123650A1 (en) * 2008-04-02 2009-10-08 Irobot Corporation Robotics systems
CN101826032B (zh) * 2009-03-06 2013-07-31 盈威力新能源科技(上海)有限公司 一种高效实时多任务操作系统内核
IL203642A (en) * 2010-02-01 2014-01-30 Yesaiahu Redler A system and method for optimizing electric current utilization in the control of multiplex motors, and a projectile device containing it
US8364314B2 (en) 2009-04-30 2013-01-29 GM Global Technology Operations LLC Method and apparatus for automatic control of a humanoid robot
KR101234204B1 (ko) * 2010-08-11 2013-02-18 한국과학기술원 로봇의 고 신뢰도 분산 제어를 위한 실시간 감시 방법
JP5582992B2 (ja) 2010-12-13 2014-09-03 川崎重工業株式会社 ロボット教示データの算出方法およびロボットのコントローラ
KR101809973B1 (ko) * 2011-01-24 2017-12-19 삼성전자주식회사 로봇 제어 시스템 및 로봇 제어 방법
JP5613114B2 (ja) 2011-06-29 2014-10-22 本田技研工業株式会社 分散制御システム
DE102011107169A1 (de) * 2011-07-13 2013-01-17 Kuka Roboter Gmbh Steuerung eines Roboter
EP2575002B1 (de) 2011-09-28 2018-02-21 Siemens Aktiengesellschaft Verfahren und Virtualisierungssoftware für die Bereitstellung von unabhängigen Zeitquellen für virtuelle Laufzeitumgebungen
KR101337650B1 (ko) * 2011-11-02 2013-12-05 삼성중공업 주식회사 실시간 위빙 모션 제어 장치 및 그 방법
KR101275020B1 (ko) 2011-11-18 2013-06-17 한국생산기술연구원 통신망을 이용한 로봇 개발 플랫폼의 집단협업공간 제공시스템
JP5943676B2 (ja) * 2012-03-30 2016-07-05 株式会社デンソーウェーブ ロボットの制御システム及びエンコーダシステム
US9461471B2 (en) * 2012-06-20 2016-10-04 Causam Energy, Inc System and methods for actively managing electric power over an electric power grid and providing revenue grade date usable for settlement
JP2014027595A (ja) * 2012-07-30 2014-02-06 Yamaha Corp 音響信号処理方法および音声信号処理システム
EP2904492A1 (en) * 2012-10-01 2015-08-12 ABB Technology Ltd. Symmetric multi-processor arrangement, safety critical system, and method therefor
US9527211B2 (en) * 2013-05-10 2016-12-27 Cnh Industrial America Llc Control architecture for multi-robot system
KR101491622B1 (ko) 2014-02-17 2015-02-11 연세대학교 산학협력단 자율 주행형 차량의 주행 제어 장치 및 방법
US20160019105A1 (en) * 2014-07-16 2016-01-21 Machiko MIKAMI Computer embedded apparatus, recording medium and computer embedded apparatus test system
US11299161B2 (en) * 2016-12-21 2022-04-12 Honda Motor Co., Ltd. Vehicle control system, vehicle control method, and storage medium
WO2018132608A2 (en) * 2017-01-12 2018-07-19 Mobileye Vision Technologies Ltd. Navigation based on occlusion zones
WO2018162521A1 (en) * 2017-03-07 2018-09-13 Robert Bosch Gmbh Action planning system and method for autonomous vehicles
US10513268B2 (en) * 2017-04-07 2019-12-24 Steering Solutions Ip Holding Corporation Vehicle safety system
JP6704890B2 (ja) * 2017-11-08 2020-06-03 本田技研工業株式会社 車両制御装置、車両制御方法、およびプログラム
US10423558B1 (en) * 2018-08-08 2019-09-24 Apple Inc. Systems and methods for controlling data on a bus using latency

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100520779B1 (ko) * 2003-01-09 2005-10-12 삼성중공업 주식회사 Fpga를 이용한 다 축 위치 제어장치
CN1577278A (zh) * 2003-07-22 2005-02-09 株式会社东芝 执行实时操作的方法和系统
US20070168082A1 (en) * 2006-01-17 2007-07-19 Robostar Co., Ltd. Task-based robot control system for multi-tasking
KR20130110289A (ko) * 2012-03-29 2013-10-10 주식회사 엔티리서치 의료용 수술 로봇 장치

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112423950A (zh) * 2018-08-10 2021-02-26 川崎重工业株式会社 中介装置以及中介方法
CN111745636A (zh) * 2019-05-15 2020-10-09 北京京东尚科信息技术有限公司 机器人控制方法及控制系统、存储介质及电子设备
CN111745636B (zh) * 2019-05-15 2022-01-07 北京京东乾石科技有限公司 机器人控制方法及控制系统、存储介质及电子设备
CN110297471A (zh) * 2019-06-24 2019-10-01 佛山智异科技开发有限公司 一种工业机器人实验数据的采集方法及其采集装置
CN110297471B (zh) * 2019-06-24 2021-10-01 佛山智异科技开发有限公司 一种工业机器人实验数据的采集方法及其采集装置
CN114932961A (zh) * 2022-06-15 2022-08-23 中电海康集团有限公司 一种四足机器人运动控制系统
CN114932961B (zh) * 2022-06-15 2023-10-10 中电海康集团有限公司 一种四足机器人运动控制系统

Also Published As

Publication number Publication date
JP6938473B2 (ja) 2021-09-22
EP3354416A4 (en) 2019-05-29
US20180229367A1 (en) 2018-08-16
JP2018527680A (ja) 2018-09-20
KR102235947B1 (ko) 2021-04-05
KR20170034752A (ko) 2017-03-29
EP3354415A4 (en) 2019-08-21
CN108136578B (zh) 2021-08-20
US20180281195A1 (en) 2018-10-04
US10864635B2 (en) 2020-12-15
EP3354416A1 (en) 2018-08-01
US10857672B2 (en) 2020-12-08
CN108136577B (zh) 2021-10-08
CN108025436B (zh) 2021-08-03
CN108136577A (zh) 2018-06-08
KR102235167B9 (ko) 2021-09-17
JP2018530443A (ja) 2018-10-18
JP6836585B2 (ja) 2021-03-03
JP6771027B2 (ja) 2020-10-21
EP3354415A1 (en) 2018-08-01
KR20170034753A (ko) 2017-03-29
KR102235166B1 (ko) 2021-04-02
KR102235167B1 (ko) 2021-04-02
EP3354417A1 (en) 2018-08-01
US11135719B2 (en) 2021-10-05
EP3354417A4 (en) 2019-07-10
KR20170034755A (ko) 2017-03-29
JP2018535468A (ja) 2018-11-29
KR102235168B1 (ko) 2021-04-02
KR20170034754A (ko) 2017-03-29
US20180281187A1 (en) 2018-10-04
CN108136578A (zh) 2018-06-08

Similar Documents

Publication Publication Date Title
CN108025436A (zh) 实时控制系统、实时控制装置及系统控制方法
CN102804087B (zh) 控制器支持装置、控制程序的仿真方法
JP2003150217A (ja) 作業機械のシミュレーション装置
KR20120087990A (ko) 로보틱스 시스템
US20090204563A1 (en) Generic ai architecture for a multi-agent system
CN109605370A (zh) 机器人的控制方法及装置、机器人的控制系统
JP3785349B2 (ja) シミュレーション装置
CN105900025A (zh) 控制装置、开发装置、以及开发程序
EP1772793A1 (en) Simulation apparatus
CN106462139B (zh) 可编程显示器以及绘图方法
WO2019064919A1 (ja) ロボット教示装置
CN105786333B (zh) 移动终端的操作方法及装置
EP3457239B1 (en) Control device and control method
CN106426169B (zh) 用于多操作端远程操控单操作对象的方法和装置
CN100361074C (zh) 可视化三维图形控制编程方法
Souza et al. Choosing a selection technique for a virtual environment
WO2023276506A1 (ja) プランニングシステム、ロボットシステム、プランニング方法、およびプランニングプログラム
JP2008276530A (ja) 干渉計算装置およびその制御方法
EP3598284A1 (en) A method and a system for generating a multidimensional graphical user interface
JP2023062780A (ja) ロボットデータ処理サーバ及び軌跡データ算出方法
Cuevas-Rodriguez et al. Contributing to VRPN with a new server for haptic devices (ext. version)
CN114072739A (zh) 控制系统、支持装置以及设定程序
Boehm Feedback in the Spiral Model

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