WO2016004587A1 - 一种基于多核处理器架构的机器人混合系统应用框架 - Google Patents

一种基于多核处理器架构的机器人混合系统应用框架 Download PDF

Info

Publication number
WO2016004587A1
WO2016004587A1 PCT/CN2014/081856 CN2014081856W WO2016004587A1 WO 2016004587 A1 WO2016004587 A1 WO 2016004587A1 CN 2014081856 W CN2014081856 W CN 2014081856W WO 2016004587 A1 WO2016004587 A1 WO 2016004587A1
Authority
WO
WIPO (PCT)
Prior art keywords
real
operating system
time
robot
time operating
Prior art date
Application number
PCT/CN2014/081856
Other languages
English (en)
French (fr)
Inventor
魏洪兴
邹莹
陈友东
刘淼
黄真
Original Assignee
北京航空航天大学
魏洪兴
邹莹
陈友东
刘淼
黄真
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 北京航空航天大学, 魏洪兴, 邹莹, 陈友东, 刘淼, 黄真 filed Critical 北京航空航天大学
Priority to PCT/CN2014/081856 priority Critical patent/WO2016004587A1/zh
Priority to US15/324,723 priority patent/US10265848B2/en
Publication of WO2016004587A1 publication Critical patent/WO2016004587A1/zh

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
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33216Operational, real time for system, and service for configuration is non real time
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34258Real time system, qnx, works together with non real time system, windows nt

Definitions

  • the invention belongs to the field of robots and relates to a robot hybrid system application framework based on a multi-core processor architecture. Background technique
  • Robotic control is an important area of robotics research, and its demand for applications is becoming more complex, with system support using a variety of real-time and non-real-time operating systems.
  • Programmers need to write robot control programs using the rich programming resources provided by the operating system, as well as real-time support provided by the operating system.
  • the Linux-based Robotic Operating System (ROS) is an open source operating system created to improve the efficiency of robot development.
  • ROS Robotic Operating System
  • ROS Robotic Operating System
  • the non-real-time nature of Linux limits the application of robotic operating system ROS in real-time robot control.
  • the present invention provides a robot hybrid system application framework based on a multi-core processor architecture.
  • the framework can be applied to various robot controllers based on ARM/X86 multi-core architecture. While ensuring real-time requirements, it can greatly improve the development efficiency of robot control software and reduce the cost of integrated development.
  • This application framework consists of three main components, the robot operating system ROS, the real-time operating system, and the mixed operating system support framework RGMP (RTOS and GPOS on Multi-Processor).
  • ROS robot operating system
  • RGMP mixed operating system support framework
  • the robotic operating system ROS (including non-real-time operating systems that support the ROS of the robotic operating system, usually Linux), is used to provide basic robotic applications, corresponding services and system resources.
  • Hybrid operating system support framework RGMP used to support the operation and coordination of the robot operating system ROS and real-time operating systems.
  • RGMP is an open source support framework that supports real-time operating systems and non-real-time operating systems running in parallel on multi-core processors. It uses SMP (Symmetric Multi-Core Architecture) computer interrupt routers to independently allocate interrupt resources for real-time operating systems and non-real-time operating systems. These operating systems can be naturally run in parallel on each processor core, allocate processing resources reasonably, reduce system coupling, and avoid the resources of the traditional shared hybrid operating system due to the same processor core. Competition and switching issues. RGMP open source source code and documentation see [1], BP:
  • the hybrid operating system support framework RGMP includes the following four components: -- Users can quickly develop real-time robot control programs (optional) through the real-time application framework RTroscpp.
  • Non-real-time systems and real-time systems separately occupy different CPU cores of multi-core processors, which can maintain their respective application states without being optimized for the hybrid operating system architecture, and their operation and debugging are independent of each other.
  • a real-time system and a non-real-time system use a robot operating system to provide an inter-node communication protocol of ROS, and RGMP provides an upper-layer communication interface based on shared memory between the two systems, including:
  • Inter-system external device interrupts are independent of each other, no sharing, and interrupts are independently allocated through interrupt routers provided in ARM/X86 multicore.
  • Robot applications written by users using the ROS robotic operating system can run on real-time or non-real-time devices.
  • the application can directly utilize the relevant software resources of the ROS itself in the non-real-time operating system part, such as human-computer interaction, speech recognition, three-dimensional modeling, mapping navigation, etc., or can independently write programs;
  • the system part writes a real-time application, and connects the motor driver by using a real-time bus (such as CAN (Controller Area Network) bus, Beverly EtherCAT bus, etc.) to complete complex motor motion control and other tasks with high real-time requirements.
  • a robot hybrid system based on a multi-core processor architecture comprising:
  • a robotic operating system that includes a non-real-time operating system with a supporting robotic operating system for providing basic robotic applications, corresponding services, and system resources;
  • Real-time operating system which provides services and system resources for real-time tasks of the robot
  • the hybrid operating system support framework (RGMP) is used to support the operation and coordination of the robot operating system and the real-time operating system, and the non-real-time operating system and the real-time operating system run simultaneously on the multi-core processor platform.
  • RGMP The hybrid operating system support framework
  • a non-real time operating system and real time The operating system occupies an independent memory space
  • the multi-core processor platform is a control board, a controller, and/or a control computer based on an ARM/X86 architecture multi-core processor
  • the non-real-time operating system may be Linux.
  • the operating system can be Yuqix. DRAWINGS
  • Figure 1 is a diagram showing the overall composition of the present invention.
  • FIG. 2 is a connection diagram of an exemplary control application example of the present invention.
  • Fig. 3 is a flow chart showing a motion control portion in a typical application example of the present invention.
  • FIG. 4 is a diagram of an interrupt resource allocation based on a C 0 rtex-A9 dual-core processor platform according to the present invention. detailed description
  • FIG. 1 for an overall composition structure diagram of a multi-core processor architecture-based robot hybrid system application framework shown in FIG. 1.
  • the robot hybrid system application framework uses a hybrid operating system framework RGMP 19 to connect the Linux system 13 to the Yuqix real-time system. 17
  • the Linux system 13 is an embedded system, and includes necessary operating modules such as the operating system basic system library SYS LIB 131, C language library LIBC 132, network protocol NET 133, BOOST library 134, Linux kernel 135, and driver 136, and runs on RGMP (non- On the real-time part) above the framework 191, the upper layer of the Linux system 13 is running the robot operating system ROS 12. Above ROS 12 is a non-real-time ROS application node written using the ROS standard interface and ROS tools.
  • Yuqix real-time operating system 17 provides a large number of POSIX-compliant system call interfaces, which also include the operating system basic system library SYS LIB 171, C language library LIBC 172, network protocol NET 173, BOOST library 174, Yuqix The necessary modules such as the kernel 175 and the driver 176.
  • the user can directly write the real-time ROS application node 15, or rely on the RTroscpp software framework 16 to write the ROS real-time node program 15 using the standard ROS function interface, or it can be run on a non-real-time system.
  • the ROS program node 11 is placed on the Yuqix to run. Yuqix runs on top of the RGMP (Real Time Part) framework 192.
  • RGMP Real Time Part
  • Fig. 2 shows a connection diagram of an exemplary control application example of the robot hybrid system application framework according to the present invention.
  • the multi-core processor-based robot controller runs the application framework of the robot hybrid operating system of the present invention, and the non-real-time system Linux 13 and the real-time system Yuqix 17 respectively use the RGMP 19 to run on the different CPUs of the multi-core to form the robot. system.
  • the real-time system Yuqix 17 runs on the processor core 2 and is connected to the real-time device (drive unit 2407) via the CAN bus 23.
  • the Linux system 13 (including the robot operating system ROS) runs on the processor core 1 and runs ROS real-time nodes with different functions, including position closed-loop control 2408, current, depending on the requirements of the robot control application.
  • application nodes on the bot operating system ROS can run at various locations in the system network, so the hardware and software modules 24 are placed together for convenience).
  • the real-time system Yuqix 17 and the Linux system 13 are respectively connected to various cameras or sensors on the robot through various bus interfaces, wherein the real-time system is connected to the motor controller (drive unit 2407) through the CAN bus 23 to ensure motor motion control. Real-time and stability, the completed function is mainly for the motion control of the robot.
  • the real-time system Yuqix 17 can also drive other peripheral devices through the USB bus 22 or other buses to complete related tasks as needed.
  • the non-real-time system Linux 13 is connected to external devices via USB bus 22, Ethernet bus 25, etc., and is responsible for tasks such as vision, sound, human-machine processing, task decision-making, etc. for the entire robot.
  • the connected peripheral devices include voice sensor 2412, visual (camera) Sensor 2413 and so on.
  • the motion control of the present invention for the robot is implemented by transmitting a control command to the controller to the interface of the CAN bus 23.
  • the motion control in the real-time system Yuqix 17 is mainly distinguished by different threads.
  • the main thread 31 is a real-time ROS node thread, which is responsible for establishing a real-time node conforming to the ROS communication protocol, and is responsible for the initialization of the robot motor and the communication between the Yuqix kernel 175 and the ROS node running on the Linux kernel 135.
  • the main thread 31 is responsible for communication between the real-time and non-real-time nodes, and distributes the messages to the remaining threads.
  • the CAN bus transceiver thread 34 is for transmitting and reading data from the CAN bus 23 obtained from the CAN bus device descriptor, and is capable of publishing related data to other threads 36 in real time.
  • the motion control thread 32 is primarily responsible for setting the initial position and posture of the robot while achieving fine interpolation for motion of the motion unit.
  • the closed loop control thread 33 reads the state of each motion joint of the current robot in a period of 1 ms. When the motion unit section does not reach the position required by the control command, the closed loop control thread 33 corrects the current motion unit. Position gesture.
  • the monitoring thread 35 in the real-time system is responsible for reading the running posture of the robot when the CAN bus line 23 is idle, and simultaneously reading the sensor data information on each motion unit and the task status flag on the control board. For example, when the temperature of the motion unit is too high, the motion should be stopped.
  • the relevant error handling function needs to be used to perform the robot abnormal behavior processing according to the error.
  • Figure 4 shows the basic principle of the support framework RGMP of the robot hybrid system according to the present invention (see: Qiang Yu, Hongxing Wei, Miao Liu, Tianmiao Wang: A novel multi-OS architecture for robot application [C] . ROBIO 2011: 2301 -2306).
  • Robotic hybrid system support frame
  • RGMP utilizes the characteristics of the SMP processor to classify different types of (real-time, non-real-time) external devices into processor cores running on different operating systems (real-time system Yuqix 17, non-real-time system Linux 13), respectively taking over these
  • the device of the external device is interrupted, and a reasonable allocation of the processor resources of the hybrid system is realized by establishing coordinated communication between the cores.
  • the kernels of the two operating systems are the non-real-time system Linux kernel 135 (supporting the non-real-time ROS application node 11) and the real-time system Yuqix kernel 175 (supporting The real-time ROS application node 15) communicates using the shared memory 43, and obtains interrupts of the respective external devices 14 and 18 through the global interrupt routing module (GIC) 45, respectively, and the corresponding operating system completes an independent interrupt response to the respective control device.
  • GIC global interrupt routing module
  • the real-time system Yuqix kernel 175 is generally connected to the real-time device 18 (usually a plurality of independent devices), the non-real-time system Linux kernel 135 is connected to the non-real-time device 14 (generally a plurality of independent devices), devices 14 and 18
  • the interrupt number is controlled by the global interrupt router module (GIC) 45 to configure the fixed interrupt number to the corresponding CPU core (Processor Core 1 or Processor Core 2). Since the interrupt of the real-time device 46 is mapped to the real-time operating system Yuqix for processing, the present method can effectively ensure the real-time response of the interrupt.
  • GIC global interrupt router module
  • RGMP the underlying communication between the real-time system Yuqixl7 and the non-real-time system Linux 13 is realized by the shared memory between the processor cores, and the communication process is mapped to the virtual network VNET, in the real-time system Yuqixl7 and the non-real-time system Linuxl3.
  • Virtual network devices are created separately and managed by their respective device managers.
  • the communication between the non-real-time ROS application node 11 and the real-time ROS application node 15 can be accomplished by directly operating the corresponding virtual network device.
  • a dynamic loop queue is created in the shared memory pool of the real-time system Yuqixl7 and the non-real-time system Linuxl3 for each communication link. That is, an operating system allocates a block of memory from the memory pool, passes it to another operating system through a circular queue, and another operating system releases it back to the same memory pool after use.
  • the content communicated between the two operating systems includes data and status.
  • Yuqix is a common open source operating system in the industry (see [1]). It supports both C language and C++ programming languages. It also supports BOOST libraries and high-precision timers. Users can use related system resources. Real-time system tailoring according to different needs. Yuqix integrates mainstream software protocols such as floating-point arithmetic library, XML-RPC protocol, and UIP protocol stack. Users can use these system call functions by calling their own programming or by calling the standard interface of the robot operating system ROS.
  • mainstream software protocols such as floating-point arithmetic library, XML-RPC protocol, and UIP protocol stack. Users can use these system call functions by calling their own programming or by calling the standard interface of the robot operating system ROS.
  • RTroscpp is a common development platform in the industry that is independent of the operating system platform. Its role is to enable programmers to write operating system-independent but standard-compliant R0S node programs. Its role is to allow users to develop programs that are more Normal operation in real-time systems. The user's development efficiency is greatly improved, and the security of the system code is also increased. Programs written by programmers via RTroscpp can be run directly on standard R0S systems.
  • the invention fully utilizes the architecture of the multi-core processor and the characteristics of the robot system application, and provides a simple and flexible robot application framework, and the advantages thereof include:
  • the proposal of the present invention regulates the design of the real-time application of the robot, reduces the complexity of the system, and further improves the maintainability of the system.

Abstract

本发明描述了一种基于多核处理器架构的机器人混合系统应用框架。在采用 ARM/X86多核处理器作为控制器的机器人系统中,利用ARM/X86多核处理器的多核并行处理结构,在整个机器人控制器同时运行由实时操作系统、非实时操作系统、系统支撑框架组成的机器人混合系统应用框架,来提供改进的操作系统服务。在该应用框架中,一个实时操作系统单独运行在其中一个ARM/X86核中,同时若干个非实时操作系统运行在其它ARM/X86核中,操作系统间彼此单独占用处理器资源与外设,分别运行不同实时性要求的机器人应用程序,应用程序可以以统一的机器人操作系统(ROS)应用节点形式使用。

Description

种基于多核处理器架构的机器人混合系统应用框架
技术领域
本发明属于机器人领域, 涉及一种基于多核处理器架构的机器人混合系统应 用框架。 背景技术
机器人控制是机器人研究的一个重要领域, 其对应用程序的需求日趋复杂, 并伴随着使用各种实时与非实时操作系统来提供系统支持。程序员需要使用操作 系统提供的丰富编程资源编写机器人控制程序,同时也需要操作系统提供的实时 性支持。 基于 Linux的机器人操作系统 (Robotic Operating System, ROS)就是为了 提高机器人开发效率所诞生的开源操作系统,但 Linux的非实时特性限制了机器 人操作系统 ROS在机器人实时控制领域的应用。 而目前市场上有众多的实时操 作系统, 由于相对通用操作系统来说,它们大多都是功能单一,系统应用资源少, 难以方便实现复杂的应用。机器人开发者需要在满足实时性的同时能够高效地开 发出机器人应用程序。 发明内容
为了解决现有的技术问题, 本发明提供一种基于多核处理器架构的机器人混 合系统应用框架。该框架可以应用于各种基于 ARM/X86多核架构的机器人控制 器中, 在保证实时性要求的同时, 能够大幅度提高机器人控制软件的开发效率, 并降低集成开发成本。
此应用框架主要由三个部分组成, 机器人操作系统 ROS, 实时操作系统, 混 合操作系统支撑框架 RGMP (RTOS and GPOS on Multi-Processor)。
--机器人操作系统 ROS (含支持机器人操作系统 ROS的非实时操作系统,通 常是 Linux), 用于提供基本的机器人应用、 相应服务和系统资源。
--实时操作系统, 用于提供机器人实时任务的服务和系统资源。
--混合操作系统支撑框架 RGMP,用于支撑机器人操作系统 ROS和实时操作 系统的运行和协调。
RGMP是一个在多核处理器上支持实时操作系统和非实时操作系统并行运 行的开源支撑框架, 它利用 SMP (对称多核体系结构) 计算机的中断路由器独 立分配实时操作系统和非实时操作系统的中断资源,可以自然地将这些操作系统 分别并行运行在各处理器核心上, 合理分配处理资源, 减小系统耦合, 并避免了 传统的共享式混合操作系统因同处一个处理器核心而带来的资源竞争和切换问 题。 RGMP开源源码及文档见【1】, BP:
http://rgm . sourceforge.net/wiki/index.php/Main_Page
混合操作系统支撑框架 RGMP包括以下四个 统布置内容部分: --用户通过实时应用框架 RTroscpp实现快速开发实时机器人控制程序 (可 选)。
---非实时系统与实时系统分别单独占用多核处理器的不同 CPU核心, 它们 可同时维持各自的应用状态而不必针对混合操作系统架构进行优化,其运行、调 试均相互独立。
---在混合系统运行时, 实时与非实时操作系统独立占有各自的硬件资源。 - -对于共享设备的调度通过它们之间的通信来实现。
本发明中, 实时系统与非实时系统之间使用机器人操作系统提供 ROS的节 点间通信协议, 由 RGMP为两个系统之间提供以共享内存为基础的上层通信接 口, 其中包括:
- --实时与非实时系统之间的标准 TCP/IP协议栈;
- --实时系统调试信息打印管道;
-3个用户自定义接口。
本发明中应用框架的几个特征包括:
---实时与非实时系统分别使用计算机内存中不同的内存地址段。
- -系统间外部设备中断相互独立, 无共享, 中断通过 ARM/X86多核中提供 的中断路由器进行独立分配。
- --实时系统与非实时系统均使用标准的 ROS编程与通信接口, 在整个机器 人系统中应用和控制程序都是以标准 ROS节点的形式运行,可以由 ROS统一管 理, 节点之间通过 ROS标准通信接口进行通信。
--用户可以将原来运行在 ROS上的不依赖第三方函数库的节点程序直接放 置到实时系统运行。 用户使用 ROS机器人操作系统编写的机器人应用程序可以 在实时或者非实时设备上运行。
--用户可以利用 ROS提供的应用资源, 使用本发明对 ROS应用进行的有效 扩展。 其中:
对于高复杂度的, 同时对实时性要求较低的功能节点, 通过以太网的方式将 其运行在装有 ROS标准机器人操作系统的服务器当中。
运行在非实时系统上的应用程序与运行在实时系统上的机器人控制程序使 用 ROS提供的标准通信接口进行信息交互。
在使用本发明时, 应用程序在非实时操作系统部分可直接利用 ROS本身的 相关软件资源, 如人机交互、 语音识别、 三维建模、 建图导航等任务, 也可以独 立编写程序; 在实时系统部分编写实时应用, 通过采用实时总线 (如 CAN (控 制器局域网 Controller Area Network) 总线、 倍孚公司 EtherCAT总线等)连接电 机驱动器, 完成复杂电机运动控制和其他实时性要求较高的任务。 根据本发明的一个方面, 提供了一种基于多核处理器架构的机器人混合系 统, 其特征在于包括:
机器人操作系统, 其包含含支持机器人操作系统的非实时操作系统, 用于提 供基本的机器人应用、 相应服务和系统资源;
实时操作系统, 用于提供机器人实时任务的服务和系统资源;
混合操作系统支撑框架 (RGMP), 用于支撑机器人操作系统和实时操作系 统的运行和协调,将非实时操作系统与实时操作系统同时运行在多核处理器平台 上。 根据一个进一步的方面,在上述机器人混合系统中, 非实时操作系统与实时 操作系统分别占用独立的内存空间, 所述多核处理器平台是基于 ARM/X86架构 多核处理器的控制板、控制器和 /或工控机等,所述非实时操作系统可以是 Linux, 所述实时操作系统可以是 Yuqix。 附图说明
图 1为本发明的总体组成结构图。
图 2为本发明的典型控制应用示例的连接图。
图 3 为本发明的典型应用示例中运动控制部分的流程图。
图 4为本发明基于 C0rtex-A9双核处理器平台的中断资源分配图。 具体实施方式
下面结合附图用示例详细说明本发明技术方案中所涉及的各个细节问题, 应 指出的是,所描述的实例仅旨在便于对本发明的理解,而对其不起任何限定作用。
虽然本申请对具体实施例的说明,主要是结合 Linux非实时操作系统和 Yuqix 实时操作系统进行描述的, 但可应用本发明的非实时操作系统与实时操作系统, 不仅限于 Linux非实时操作系统和 Yuqix实时操作系统, 而是可以适用于任何其 他的非实时操作系统和 /或实时操作系统。 请参阅图 1所示的本发明的一种基于多核处理器架构的机器人混合系统应用 框架的总体组成结构图, 该机器人混合系统应用框架通过混合操作系统框架 RGMP 19将 Linux系统 13与 Yuqix实时系统 17这两种不同系统同时运行在基于 ARM架构的、 包含非实时设备 14和实时设备 18的多核处理器平台上; Linux 系统 13与 Yuqix实时系统 17分别占用独立的内存空间。
Linux系统 13是嵌入式系统, 包含操作系统基本的系统库 SYS LIB 131、 C 语言库 LIBC 132、 网络协议 NET 133、 BOOST库 134、 Linux内核 135以及驱 动程序 136等必要模块, 运行在 RGMP (非实时部分) 框架 191之上, 在 Linux 系统 13上层运行的是机器人操作系统 ROS 12。在 ROS 12之上是使用 ROS标准 接口与 ROS工具编写的非实时 ROS应用程序节点 11。
另一方面, Yuqix实时操作系统 17中提供了大量符合 POSIX标准的系统调 用接口, 它也包含操作系统基本的系统库 SYS LIB 171、 C语言库 LIBC 172、 网 络协议 NET 173、 BOOST库 174、 Yuqix内核 175以及驱动程序 176等必要模块。 在 Yuqix实时系统 17之上,用户可以直接编写实时 ROS应用节点 15,也可以依 赖 RTroscpp软件框架 16使用标准的 ROS函数接口编写 ROS实时节点程序 15, 或者也可将原本运行在非实时系统上的 ROS程序节点 11放置到 Yuqix上运行。 Yuqix运行在 RGMP (实时部分)框架 192之上。
两个操作系统 17和 13之间通过 RGMP 19的 VNET虚拟网络机制进行通信。 图 2显示了根据本发明的机器人混合系统应用框架的典型控制应用示例的连 接图。 图 2的示例中,基于多核处理器的机器人控制器运行本发明的机器人混合 操作系统的应用框架,非实时系统 Linux 13与实时系统 Yuqix 17分别利用 RGMP 19运行在多核的不同 CPU上组成了机器人系统。其中实时系统 Yuqix 17运行在 处理器核 2上并通过 CAN总线 23与实时设备 (驱动单元 2407)相连接。 Linux 系统 13(包含机器人操作系统 ROS)运行在处理器核 1上, 并根据机器人控制应 用需求的不同, 运行不同功能的 ROS实时节点, 包括位置闭环控制 2408、 电流 控制 2410、 插补解算 2409、 位置控制 2411等等, 以及不同功能的 ROS非实时 节点, 包括语音处理单元 2401、 图像处理单元 2403、 语音识别 2402、 三维建模 2404、 物体识别 2405、 建图导航 2406等等 (机器人操作系统 ROS上的应用节 点可运行在系统网络中的各个位置, 因此图中所示为方便起见将软硬件模块 24 放置在一起)。实时系统 Yuqix 17与 Linux系统 13分别通过各种总线接口与机器 人上的各种摄像头或者传感器相连接, 其中实时系统通过 CAN总线 23与电机 控制器 (驱动单元 2407) 相连接, 以保证电机运动控制的实时性与稳定性, 完 成的功能主要是对于机器人的运动控制。同时实时系统 Yuqix 17也可以通过 USB 总线 22或其他总线去驱动其他外围设备, 以根据需要完成相关的任务。 非实时 系统 Linux 13通过 USB总线 22、 以太网总线 25等与外部的设备相连接, 负责 针对整个机器人在视觉、 声音、 人机处理、任务决策等任务, 连接的外围设备包 括语音传感器 2412, 视觉 (摄像头) 传感器 2413等等。
如图 3的运动控制流程图所显示的,本发明对机器人的运动控制通过向 CAN 总线 23的接口发送针对控制器的控制命令实现。 实时系统 Yuqix 17中的运动控 制主要以不同的线程进行功能区分。主线程 31为实时 ROS节点线程, 它负责建 立符合 ROS通信协议的实时节点,负责机器人电机的初始化以及 Yuqix内核 175 与 Linux内核 135上运行的 ROS节点之间的通信。由主线程 31负责实时与非实 时节点之间的通信, 并且把消息分发到其余的各个线程。 CAN总线收发线程 34 是为了发送和读取从 CAN总线设备描述符中获得的 CAN总线 23的数据, 并能 够把相关的数据实时发布到其它线程 36。
运动控制线程 32主要负责设置机器人的初始位置姿态, 同时实现针对运动 单元动作的精细插补。 在发送运动控制指令之后, 闭环控制线程 33以 lms为周 期读取目前机器人各个运动关节的状态,在运动单元节没有到达控制指令所要求 到达的位置时, 闭环控制线程 33会修正当前运动单元的位置姿态。
为了保证运动控制的正常运行,实时系统中具有监控线程 35负责在 CAN总 线 23空闲时读取机器人的运行姿态, 同时读取各个运动单元上的传感器数据信 息, 以及控制板上的任务状态标志。 例如, 当运动单元温度过高时应停止运动, 当包含错误信息时,需要根据错误的不同采用相关的错误处理函数进行机器人异 常行为处理。
图 4显示了根据本发明中机器人混合系统的支撑框架 RGMP的基本原理 (见: Qiang Yu, Hongxing Wei, Miao Liu, Tianmiao Wang: A novel multi-OS architecture for robot application[C] . ROBIO 2011: 2301-2306)。 机器人混合系统支撑框架
RGMP利用 SMP处理器的特点将不同类型的 (实时、 非实时) 外部设备, 分类 划归到不同的操作系统(实时系统 Yuqix 17、 非实时系统 Linux 13 )所运行的处 理器核心, 分别接管这些外部设备的设备中断, 并通过建立各核心之间的协调通 信, 实现混合系统处理器资源的合理分配。
在图 4的基于双核处理器平台的一个实施例的中断资源分配图中, 两个操作 系统的内核即非实时系统 Linux 内核 135 (支撑非实时 ROS应用节点 11 ) 与实 时系统 Yuqix内核 175 (支撑实时 ROS应用节点 15)利用共享内存 43通信, 并 分别通过全局中断路由模块(GIC) 45获得各自的外部设备 14和 18的中断, 相 应的操作系统完成对各自控制设备的独立中断响应。实时系统 Yuqix内核 175— 般连接的是实时设备 18 (—般是多个独立的设备), 非实时系统 Linux内核 135 连接非实时设备 14 (一般是多个独立的设备), 设备 14和 18的中断号分别通过 配置的方式控制全局中断路由器模块 (GIC) 45将固定的中断号路由到相应的 CPU核 (处理器核 1或处理器核 2) 中。 由于实时设备 46的中断都被映射至实 时操作系统 Yuqix进行处理, 因而采用本方法能有效地保证中断的响应的实时 性。
在 RGMP中, 实时系统 Yuqixl7和非实时系统 Linux 13之间的底层通信通 过处理器核心之间的共享内存来实现, 并且将该通信过程映射为虚拟网络 VNET, 在实时系统 Yuqixl7和非实时系统 Linuxl3中分别创建虚拟网络设备, 由他们各自的设备管理器统一管理。 而非实时 ROS应用节点 11与实时 ROS应 用节点 15之间的通信可以通过直接操作对应的虚拟网络设备来完成。 在这种 VNET机制中,每建立一条通信链路即在实时系统 Yuqixl7和非实时系统 Linuxl3 的共享内存池中创建一个动态循环队列。即由一个操作系统从内存池中分配一块 内存,通过循环队列传递给另一个操作系统, 而另一个操作系统在使用后释放回 同一个内存池。 两个操作系统之间通信的内容包括数据和状态。
在本发明示例中, Yuqix是业界常见的开源操作系统(见【1】), 支持 C语言 与 C++两种编程语言, 同时还支持 BOOST库与高精度定时器, 用户通过使用相 关系统资源, 可以根据不同的需求进行实时系统裁剪。 Yuqix上集成了浮点运算 库, XML-RPC协议, UIP协议栈等主流软件协议, 用户可以通过自己编程, 也 可以通过调用机器人操作系统 ROS的标准接口使用这些系统调用函数。
RTroscpp是业界常见的一个与操作系统平台无关的开发框架,它的作用是让 程序员能够编写与操作系统无关的但是符合标准接口的 R0S节点程序, 它的作 用是让用户开发的程序能够在多个实时系统中正常运行。大幅度提高了用户的开 发效率, 同时也增加了系统代码的安全性。 程序员通过 RTroscpp编写的程序可 以直接在标准的 R0S系统上运行。 本发明的优点及有益效果
本发明充分利用了多核处理器的架构与机器人系统应用的特点, 提供了简便 灵活的机器人应用框架, 其优点包括:
- -与机器人操作系统 R0S可以进行无缝配合使用, 完全符合 R0S的网络化 节点应用结构设计, 本发明的提出是对 R0S功能的良好补充;
--机器人操作系统 R0S的应用程序资源可以大量得到应用,加速了机器人的 整机设计速度;
- -对操作系统的选择没有耦合性, 可以适用于多种市面上广泛应用的实时操 作系统、 非实时操作系统 (需支持 R0S );
- -本发明中系统实时部分与系统的非实时部分之间没有耦合, 具有很好的模 块化可替换性, 因而提高了整个系统的可扩展性;
--本发明的提出, 规范了机器人实时应用程序的设计, 降低了系统复杂性, 进而提高系统的可维护性。
以上所述, 仅为本发明中的具体实施方式, 但本发明的保护范围并不局限于 此,任何熟悉该技术的人在本发明所揭露的技术范围内,可理解想到的变换或替 换, 都应涵盖在本发明的包含范围之内, 因此, 本发明的保护范围应该以权力要 求书的保护范围为准。 参考文献:
【1】 http://rgmp.sourceforge.nel/wiki/index.php/Main Page

Claims

权力要求书
1、 一种基于多核处理器架构的机器人混合系统, 其特征在于包括: 机器人操作系统 (ROS ) ( 12), 其包含支持机器人操作系统的非实时操作系 统 (13 ), 用于提供基本的机器人应用、 相应服务和系统资源;
实时操作系统 (17), 用于提供机器人实时任务的服务和系统资源; 混合操作系统支撑框架 (RGMP) ( 19), 用于支撑机器人操作系统和实时操 作系统的运行和协调, 将非实时操作系统(13)与实时操作系统(17) 同时运行 在多核处理器平台上。
2、 根据权利要求 1的机器人混合系统, 其特征在于:
非实时操作系统 (13 ) 与实时操作系统 (17) 分别占用独立的内存空间, 所述多核处理器平台是基于 ARM/X86架构的开放式多核处理器控制板、 控 制器和 /或工控机,其连接的外设包含非实时硬件部分(14)和实时硬件部分(18), 所述非实时操作系统 (13 ) 是 Linux, 所述实时操作系统 (17) 是 Yuqix。
3、 根据权利要求 1的机器人混合系统, 其特征在于:
混合操作系统支撑框架(RGMP)包括 RGMP非实时部分框架( 191 )和 RGMP 实时部分框架 (192),
非实时操作系统(13 )是嵌入式系统, 运行在 RGMP非实时部分框架(191 ) 之上,
实时操作系统 (17) 运行在 RGMP实时部分框架 (192) 之上。
4、 根据权利要求 3的机器人混合系统, 其特征在于:
非实时操作系统 (13 ) 包含操作系统基本的系统库 SYS LIB ( 131 )、 C语言 库 LIBC ( 132)、 网络协议 NET ( 133)、 BOOST库 (134)、 非实时操作系统内 核 (135) 以及驱动程序 (136),
实时操作系统 (17)中提供有符合 POSIX标准的系统调用接口,
实时操作系统 (17)包含操作系统基本的系统库 SYS LIB ( 171 )、 C语言库 LIBC ( 172)、网络协议 NET ( 173)、 BOOST库(174)、实时操作系统内核(175) 以及驱动程序 (176),
实时操作系统 (17)和非实时操作系统(13)之间通过混合操作系统支撑框架 (RGMP) ( 19) 的 VNET虚拟网络机制进行通信。
5、 根据权利要求 4的机器人混合系统, 其特征在于:
在机器人操作系统(12)之上是使用机器人操作系统标准接口与机器人操作 系统工具编写的非实时机器人操作系统应用程序节点 (11 );
在实时操作系统 (17)之上是供用户直接编写或通过 RTroscpp软件框架(16) 编写的实时机器人操作系统应用节点 (15)。
6、 根据权利要求 4的机器人混合系统, 其特征在于: 在实时操作系统 (17)之上是供用户使用标准的机器人操作系统函数接口编 写机器人操作系统实时节点程序 (15) 的 RTroscpp软件框架 (16)。
7、 根据权利要求 4的机器人混合系统, 其特征在于:
实时操作系统 (17)和非实时操作系统 (13 ) 分别单独占用多核处理器的不 同处理器核心来运行,它们同时维持各自的应用状态而不必针对混合操作系统架 构进行优化, 其运行、 调试均相互独立,
在混合系统运行时, 实时操作系统 (17)和非实时操作系统 (13 ) 独立占有 各自的硬件资源;
对于共享设备的调度, 实时操作系统 (17) 和非实时操作系统 (13 ) 通过它 们之间的所述通信 (通过混合操作系统支撑框架 (RGMP) ( 19) 的 VNET虚拟 网络机制进行通信) 来实现。
8、 根据权利要求 7的机器人混合系统, 其特征在于:
实时操作系统 (17)和非实时操作系统 (13 ) 之间的所述通信通过混合操作 系统支撑框架 (RGMP) ( 19) 的 VNET虚拟网络机制进行, 并使用机器人操作 系统提供机器人操作系统的节点间通信协议,由混合操作系统支撑框架(RGMP) ( 19)为实时操作系统(17)和非实时操作系统(13 )之间提供以共享内存为基 础的上层通信接口, 其中包括:
- --实时与非实时系统之间的标准 TCP/IP协议栈;
- --实时系统调试信息打印管道;
-3个用户自定义接口,
实时操作系统 (17)和非实时操作系统 (13 ) 分别使用计算机内存中不同的 内存地址段,
实时操作系统 (17) 和非实时操作系统 (13 ) 之间外部设备中断相互独立, 无共享,中断通过所述 ARM/X86多核处理器中提供的中断路由器进行独立分配, 实时操作系统 (17)和非实时操作系统 (13 ) 均使用标准的机器人操作系统 编程与通信接口,在整个机器人系统中应用和控制程序都是以标准机器人操作系 统节点的形式运行,可以由机器人操作系统统一管理,节点之间通过机器人操作 系统标准通信接口进行通信,
原来运行在机器人操作系统(12)上的不依赖第三方函数库的节点程序可被 直接放置到实时操作系统 (17) 运行,
实时应用在实时操作系统 (17) 上被编写, 通过实时总线连接电机驱动器等 实时外设, 完成包括复杂电机运动控制在内的实时性要求高的任务。
9、 根据权利要求 7的机器人混合系统, 其特征在于进一步包括:
底层控制器部分, 包括: 语音传感器、 视觉传感器、 超声传感器、 温度传感 器、 绝对编码器、 相对编码器、 电机驱动器 (单元)、 实时以太网口、 无线网络 Wifi网口, 其中:
…绝对编码器与相对编码器存在于电机驱动器当中, 所有的电机驱动器通过 CAN接口的方式串联连接;
一语音传感器与视觉传感器通过 USB接口与所述 ARM/X86多核处理器 ( 21 ) 相连接, 其中视觉传感器由实时操作系统 (17) 控制;
一实时以太网口与无线网络 Wifi网口支持机器人的分布式运算与远程控制, 用于通过有线与无线的方式与远端计算机相连,从而实现局域网或者是广域网的 网络通信, 形成分布式控制系统。
10、 根据权利要求 3的机器人混合系统, 其特征在于:
非实时操作系统 (13 )根据不同的机器人控制应用需求, 运行不同功能的机 器人操作系统实时节点,包括:位置闭环控制单元(2408)、电流控制单元(2410)、 插补解算单元(2409)、 位置控制单元(2411 ), 以及不同功能的机器人操作系统 非实时节点, 包括: 语音处理单元(2401 )、 图像处理单元(2403 )、 语音识别单 元(2402)、三维建模单元(2404)、物体识别单元(2405)、建图导航单元(2406), 实时操作系统 (17)中的运动控制以不同的线程进行功能区分, 其中
主线程 (31 ) 为实时机器人操作系统节点线程, 负责建立符合机器人操 作系统通信协议的实时节点, 负责机器人电机的初始化以及实时操作系统 (17) 与非实时操作系统(13 )上运行的机器人操作系统节点之间的通信, 负责实时与 非实时节点之间的通信, 并把消息分发到其余的各个线程,
CAN总线收发线程(34)用于发送和读取从 CAN总线设备描述符中获 得的 CAN总线 (23 ) 的数据, 并把相关的数据实时发布到其它线程 (36), 一 运动控制线程 (32)用于设置机器人的初始位置姿态, 同时实现针对运 动单元动作的精细插补,
在发送运动控制指令之后, 闭环控制线程 (33)读取目前机器人各个运 动关节的状态,若运动单元节没有到达控制指令所要求到达的位置, 闭环控制线 程 (33 ) 会重发并修正当前运动单元的位置姿态,
实时系统中具有监控线程 (35) 负责在 CAN总线 (23 ) 空闲时读取机 器人的运行姿态, 以保证运动控制的正常运行, 同时读取各个运动单元上的传感 器数据信息, 以及控制板上的任务状态标志。
11、 根据权利要求 4的机器人混合系统, 其特征在于进一步包括: 全局中断路由模块 (45),
其中,
^撑非实时应用节点组 (41 ) 的非实时操作系统内核 (135) 与支撑实时应 用节点组 (42) 的实时操作系统内核 (175) 利用共享内存 (43 ) 通信, 并分别 通过全局中断路由模块 (45) 获得各自的外部设备 (44和 46) 的中断, 外部设备(44和 46)的中断号分别通过配置的方式控制全局中断路由模块(45) 将固定的中断号路由到相应的所述 ARM/X86多核处理器中, 从而有效地保证中 断的响应的实时性。
PCT/CN2014/081856 2014-07-08 2014-07-08 一种基于多核处理器架构的机器人混合系统应用框架 WO2016004587A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2014/081856 WO2016004587A1 (zh) 2014-07-08 2014-07-08 一种基于多核处理器架构的机器人混合系统应用框架
US15/324,723 US10265848B2 (en) 2014-07-08 2014-07-08 Robotic hybrid system application framework based on multi-core processor architecture

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/081856 WO2016004587A1 (zh) 2014-07-08 2014-07-08 一种基于多核处理器架构的机器人混合系统应用框架

Publications (1)

Publication Number Publication Date
WO2016004587A1 true WO2016004587A1 (zh) 2016-01-14

Family

ID=55063490

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/081856 WO2016004587A1 (zh) 2014-07-08 2014-07-08 一种基于多核处理器架构的机器人混合系统应用框架

Country Status (2)

Country Link
US (1) US10265848B2 (zh)
WO (1) WO2016004587A1 (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107127751A (zh) * 2017-03-21 2017-09-05 宁波韦尔德斯凯勒智能科技有限公司 关节型机械臂驱控一体化控制系统及控制方法
CN107272578A (zh) * 2017-07-01 2017-10-20 华中科技大学 一种基于多核处理器的视觉伺服控制系统
CN109283875A (zh) * 2018-11-07 2019-01-29 国网辽宁省电力有限公司经济技术研究院 基于arm9架构的高性能热电联产机组运行数据采集终端
CN110533991A (zh) * 2019-08-27 2019-12-03 南京蓝宙科技有限公司 一种基于双核mcu的图形化编程教育机器人
CN111066058A (zh) * 2018-06-29 2020-04-24 百度时代网络技术(北京)有限公司 用于低功率实时对象检测的系统和方法
CN111360813A (zh) * 2018-12-26 2020-07-03 中国科学院沈阳自动化研究所 一种基于边缘云服务的多机器人控制器
CN111679923A (zh) * 2020-06-11 2020-09-18 北京经纬恒润科技有限公司 实时通信方法和系统
CN111709036A (zh) * 2020-06-16 2020-09-25 全球能源互联网研究院有限公司 一种可信操作系统的跨平台应用兼容保障系统
CN112219173A (zh) * 2018-06-22 2021-01-12 软件伺服系统公司 运动控制程序、运动控制方法以及运动控制装置
US10894318B2 (en) 2016-02-23 2021-01-19 Abb Schweiz Ag Robot controller system and method therefor
CN112988144A (zh) * 2019-12-02 2021-06-18 北京华航无线电测量研究所 通用嵌入式事件驱动软件开发框架及使用方法
CN113127248A (zh) * 2021-04-02 2021-07-16 清华大学 面向机器人ros程序的自动崩溃恢复方法和系统
WO2023284693A1 (zh) * 2021-07-12 2023-01-19 北京字节跳动网络技术有限公司 定位信息的获取方法、装置、电子设备及存储介质

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10679456B2 (en) * 2016-03-27 2020-06-09 Gilbarco, Inc. Fuel dispenser having integrated control electronics
WO2018112862A1 (zh) * 2016-12-22 2018-06-28 深圳前海达闼云端智能科技有限公司 设备检测方法、系统、电子设备、云端机器人系统和计算机程序产品
CN106945045B (zh) * 2017-04-19 2019-12-17 广州视源电子科技股份有限公司 基于ros和orocos的机器人控制的通信方法和系统
CN110998529B (zh) * 2017-07-31 2021-08-20 三菱电机株式会社 信息处理装置以及信息处理方法
US11042394B2 (en) * 2017-10-13 2021-06-22 Electronics And Telecommunications Research Institute Method for processing input and output on multi kernel system and apparatus for the same
EP3704575A4 (en) * 2017-10-31 2021-08-25 Nokia Solutions and Networks Oy REAL-TIME VIRTUAL NETWORK FUNCTIONAL ORCHESTRATION METHOD, APPARATUS AND SYSTEM
CN108500978B (zh) * 2018-03-08 2021-04-30 歌尔股份有限公司 一种机器人控制装置、方法和机器人
CN108563224A (zh) * 2018-04-04 2018-09-21 河海大学常州校区 一种基于ros的餐饮机器人及其使用方法
JP6473917B1 (ja) * 2018-06-22 2019-02-27 ソフトサーボシステムズ株式会社 モーション制御プログラム、モーション制御方法及びモーション制御装置
SG11202010344QA (en) * 2018-06-22 2020-11-27 Soft Servo Systems Inc Motion control program, motion control method, and motion control device
CN108873911A (zh) * 2018-07-26 2018-11-23 河海大学常州校区 一种基于ros的自动跟随行李箱及其控制方法
EP3628453A1 (en) * 2018-09-28 2020-04-01 Siemens Aktiengesellschaft A control system and method for a robot
CN109558174A (zh) * 2018-11-28 2019-04-02 江苏艾萨克机器人股份有限公司 基于zynq双核处理器的rtos-gpos双操作系统机器人控制器
CN109676621A (zh) * 2019-01-04 2019-04-26 中船第九设计研究院工程有限公司 一种基于ros机器人操作系统的人机语音交互方法
JP7303132B2 (ja) * 2019-01-10 2023-07-04 モベンシス株式会社 モーション制御プログラム、モーション制御方法及びモーション制御装置
JP7303061B2 (ja) * 2019-01-10 2023-07-04 モベンシス株式会社 モーション制御プログラム、モーション制御方法及びモーション制御装置
JP7303131B2 (ja) * 2019-01-23 2023-07-04 モベンシス株式会社 モーション制御プログラム、モーション制御方法及びモーション制御装置
CN110842924A (zh) * 2019-11-24 2020-02-28 深圳华数机器人有限公司 一种用于协作化机器人的单芯异构控制系统
CN111474866B (zh) * 2020-04-07 2023-11-10 杭州迅蚁网络科技有限公司 基于ros的无人仓储站运动控制仿真方法及系统
CN111726201B (zh) * 2020-06-15 2023-09-12 合肥哈工轩辕智能科技有限公司 一种airt-ros虚拟网卡丢包解决方法
CN111745650B (zh) * 2020-06-15 2021-10-15 哈工大机器人(合肥)国际创新研究院 一种机器人操作系统的运行方法和机器人的控制方法
CN111745651B (zh) * 2020-06-15 2022-04-05 哈工大机器人(合肥)国际创新研究院 一种智能机器人操作系统结构及其运作方法
US11731271B2 (en) * 2020-06-30 2023-08-22 Microsoft Technology Licensing, Llc Verbal-based focus-of-attention task model encoder
CN114509993B (zh) * 2020-11-16 2023-06-20 沈阳中科数控技术股份有限公司 一种基于国产cpu的自主可控数控系统构建方法
CN112975969B (zh) * 2021-02-26 2022-02-08 清华大学 机器人控制和视觉感知一体化控制器系统和方法
CN112866304B (zh) * 2021-04-26 2021-08-17 知行汽车科技(苏州)有限公司 一种can报文与ros消息的互转设备及其互转方法
CN113609059B (zh) * 2021-08-12 2023-09-05 经纬恒润(天津)研究开发有限公司 一种通信系统及通信方法
CN114143136A (zh) * 2021-11-19 2022-03-04 山东新一代信息产业技术研究院有限公司 一种基于iros的can大消息通信方法、设备、存储介质
EP4290822A1 (en) 2022-06-10 2023-12-13 Sorin Mihai Grigorescu Method and ai operating system for robotics and complex automation

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101324852A (zh) * 2008-07-22 2008-12-17 北京航空航天大学 实时操作系统及其实时化方法
CN101894045A (zh) * 2010-06-18 2010-11-24 阳坚 一种实时Linux操作系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100348383C (zh) * 2002-12-12 2007-11-14 松下电器产业株式会社 机器人控制装置
WO2012153629A1 (ja) * 2011-05-12 2012-11-15 株式会社Ihi 運動予測制御装置と方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101324852A (zh) * 2008-07-22 2008-12-17 北京航空航天大学 实时操作系统及其实时化方法
CN101894045A (zh) * 2010-06-18 2010-11-24 阳坚 一种实时Linux操作系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
WEI, HONGXING ET AL.: "RGMP-ROS: a Real-time ROS Architecture of Hybrid RTOS and GPOS on Multi-core Processor", 2014 IEEE INTERNATIONAL CONFERENCE ON ROBOTICS & AUTOMATION (ICRA, 7 June 2014 (2014-06-07) *
YU , QIANGET ET AL.: "A Novel Multi-OS Architecture for Robot Application", PROCEEDINGS OF THE 2011 IEEE, 11 December 2011 (2011-12-11), pages 2302 *

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3419793B1 (en) * 2016-02-23 2021-06-30 ABB Schweiz AG Robot controller system, robot arrangement, computer program and method therefor
US10894318B2 (en) 2016-02-23 2021-01-19 Abb Schweiz Ag Robot controller system and method therefor
CN107127751B (zh) * 2017-03-21 2019-08-16 宁波韦尔德斯凯勒智能科技有限公司 关节型机械臂驱控一体化控制系统及控制方法
CN107127751A (zh) * 2017-03-21 2017-09-05 宁波韦尔德斯凯勒智能科技有限公司 关节型机械臂驱控一体化控制系统及控制方法
CN107272578A (zh) * 2017-07-01 2017-10-20 华中科技大学 一种基于多核处理器的视觉伺服控制系统
CN112219173A (zh) * 2018-06-22 2021-01-12 软件伺服系统公司 运动控制程序、运动控制方法以及运动控制装置
CN112219173B (zh) * 2018-06-22 2021-12-24 软件伺服系统公司 运动控制程序、运动控制方法以及运动控制装置
CN111066058A (zh) * 2018-06-29 2020-04-24 百度时代网络技术(北京)有限公司 用于低功率实时对象检测的系统和方法
CN111066058B (zh) * 2018-06-29 2024-04-16 百度时代网络技术(北京)有限公司 用于低功率实时对象检测的系统和方法
CN109283875A (zh) * 2018-11-07 2019-01-29 国网辽宁省电力有限公司经济技术研究院 基于arm9架构的高性能热电联产机组运行数据采集终端
CN109283875B (zh) * 2018-11-07 2023-11-21 国网辽宁省电力有限公司经济技术研究院 基于arm9架构的高性能热电联产机组运行数据采集终端
CN111360813A (zh) * 2018-12-26 2020-07-03 中国科学院沈阳自动化研究所 一种基于边缘云服务的多机器人控制器
CN111360813B (zh) * 2018-12-26 2022-10-25 中国科学院沈阳自动化研究所 一种基于边缘云服务的多机器人控制器
CN110533991A (zh) * 2019-08-27 2019-12-03 南京蓝宙科技有限公司 一种基于双核mcu的图形化编程教育机器人
CN112988144A (zh) * 2019-12-02 2021-06-18 北京华航无线电测量研究所 通用嵌入式事件驱动软件开发框架及使用方法
CN112988144B (zh) * 2019-12-02 2023-09-12 北京华航无线电测量研究所 通用嵌入式事件驱动软件开发框架及使用方法
CN111679923B (zh) * 2020-06-11 2023-08-08 北京经纬恒润科技股份有限公司 实时通信方法和系统
CN111679923A (zh) * 2020-06-11 2020-09-18 北京经纬恒润科技有限公司 实时通信方法和系统
CN111709036B (zh) * 2020-06-16 2023-05-30 全球能源互联网研究院有限公司 一种可信操作系统的跨平台应用兼容保障系统
CN111709036A (zh) * 2020-06-16 2020-09-25 全球能源互联网研究院有限公司 一种可信操作系统的跨平台应用兼容保障系统
CN113127248A (zh) * 2021-04-02 2021-07-16 清华大学 面向机器人ros程序的自动崩溃恢复方法和系统
WO2023284693A1 (zh) * 2021-07-12 2023-01-19 北京字节跳动网络技术有限公司 定位信息的获取方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
US20170203436A1 (en) 2017-07-20
US10265848B2 (en) 2019-04-23

Similar Documents

Publication Publication Date Title
WO2016004587A1 (zh) 一种基于多核处理器架构的机器人混合系统应用框架
CN105278940B (zh) 一种基于多核处理器架构的机器人混合系统应用框架
RU2597556C2 (ru) Структура компьютерного кластера для выполнения вычислительных задач и способ функционирования указанного кластера
US20160323427A1 (en) A dual-machine hot standby disaster tolerance system and method for network services in virtualilzed environment
WO2013131457A1 (zh) 双系统组件式的工业机器人控制器
NL2026115B1 (en) Ethercat-based control system for high efficiency and real-time performance of single leg of robot
US20090132057A1 (en) Control system for controlling the movements of a plurality of mechanical units
CN111427310A (zh) 一种工业机器人控制器运行系统
KR20130009658A (ko) 로봇의 제어
JP2019016340A (ja) インダストリアル・インターネットオペレーティングシステムに基づくマルチオペレーティングシステム運行方法および装置
US9875131B2 (en) Virtual PCI device based hypervisor bypass using a bridge virtual machine
KR20100048857A (ko) 지능형 로봇 시스템에서의 로봇 소프트웨어 컴포넌트 관리 장치 및 방법
US6052729A (en) Event-reaction communication protocol in an object oriented processor array
WO2021223744A1 (zh) 实现热迁移的方法、芯片、板卡和存储介质
CN111360813B (zh) 一种基于边缘云服务的多机器人控制器
Ahn et al. Dual channel ethercat control system for 33-dof humanoid robot tocabi
CN104516333A (zh) 多核cpu多操作系统的控制器
Takase et al. Work-in-Progress: Design Concept of a Lightweight Runtime Environment for Robot Software Components Onto Embedded Devices
US20150277978A1 (en) Network processor for managing a packet processing acceleration logic circuitry in a networking device
Ferraro et al. Time-sensitive autonomous architectures
WO2021170055A1 (zh) 一种虚拟化的方法、设备、板卡及计算机可读存储介质
CN117785387A (zh) 一种融合架构的构建方法、融合处理方法及系统
Schade et al. Modular Hardware/Software Architecture for Edge Units in Highly Flexible Manufacturing Systems
Amoretti et al. Designing telerobotic systems as distributed CORBA-based applications
Herkersdorf et al. Potentials and challenges for multi-core processors in robotic applications

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14897282

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15324723

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14897282

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 14897282

Country of ref document: EP

Kind code of ref document: A1