Distributed robot control system and control method based on tango and ros
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-10-20
- Publication Date
- 2026-08-11
AI Technical Summary
[0006]本发明的目的是提供一种基于Tango和ROS的分布式机器人控制系统及控制方法,以解决现有的大型实验装置中,其控制系统仅使用Tango架构或ROS架构中的一种,导致无法同时满足大型激光聚变装置对远程控制的要求和机械臂类设备控制要求的分布式控制架构需求的技术问题
[0030]1、本发明提供了一种结合了Tango架构和ROS架构的分布式机器人控制系统。该控制系统以Tango架构作为总体框架,在远程集中控制的基础上再通过ROS架构实现对机械臂类设备的控制,既可满足大型激光聚变装置对远程控制的要求,又可满足机械臂类设备控制要求的分布式控制架构需求。
Smart Images

Figure CN117484490B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to distributed robots, and more specifically to a distributed robot control system and control method based on Tango and ROS. Background Technology
[0002] In large-scale laser fusion devices, various equipment needs to be controlled and monitored in real time to coordinate the entire experimental process. Therefore, centralized control of various devices is essential to ensure the safe and efficient conduct of large-scale ICF experiments. China's new generation of large-scale laser fusion devices uses Tango Control as the middleware of the control system. The experimental site is filled with a variety of equipment, including information acquisition devices and motion control devices. Motion control devices include robots or robotic arms used for media transfer or target adjustment; these devices generally use ROS as their control architecture.
[0003] Chinese patent "Embedded Motion Controller with Integrated Tango Device Services" (publication number CN112327740B) describes how the Tango device services on the motion controller establish a communication link with the control application service program of the remote control computer through the Tango software bus to exchange data. It provides an embedded motion controller with integrated Tango device services, in which the device services of motor objects are designed and deployed internally, realizing the integrated design, debugging and deployment of motor object control programs and device service programs.
[0004] Chinese patent CN114523469A, entitled "A ROS-based Robotic Arm Motion Planning and Simulation System," describes a system comprising a motion planning and simulation platform and a robotic arm control module. This system can be directly applied to various robotic arms, completing motion path planning and state simulation reproduction. Based on actual remote operation requirements, it obtains motion path point data for the robotic arm through intelligent path planning, enabling the reproduction of the real robotic arm's pose and the planned path on a virtual robotic arm, thereby assisting operators.
[0005] The aforementioned publicly available literature and existing technologies all use only one of the control architectures, Tango or ROS, which cannot meet the needs of a type of device that requires both of these control architectures. This results in poor uniformity and standardization. Therefore, there is an urgent need to combine the advantages of both to meet the needs of robotic arm devices in large-scale experimental devices. Summary of the Invention
[0006] The purpose of this invention is to provide a distributed robot control system and control method based on Tango and ROS, in order to solve the technical problem that the control system of existing large-scale experimental devices only uses one of the Tango architecture or ROS architecture, which makes it impossible to simultaneously meet the requirements of the distributed control architecture for remote control of large laser fusion devices and the control requirements of robotic arm devices.
[0007] To achieve the above objectives, this invention provides a distributed robot control system based on Tango and ROS, which is characterized by:
[0008] This includes the human-computer interaction interface, Tango architecture, and ROS architecture;
[0009] The Tango architecture includes a Tango client and a Tango server; the Tango client and the Tango server communicate with each other through synchronous, asynchronous, or event-driven methods; the Tango client communicates with the human-computer interaction interface;
[0010] The ROS architecture includes an architecture of ROS subscribers and ROS publishers, an architecture of ROS clients and ROS servers, and / or an architecture of ROS action clients and ROS action servers; the ROS publishers and ROS subscribers communicate through publish-subscribe communication; the ROS clients and ROS servers communicate through client-server communication; and the ROS action clients and ROS action servers communicate through action communication.
[0011] The Tango server communicates with ROS subscribers, ROS clients, and / or ROS action clients respectively.
[0012] The ROS publisher, ROS server, and / or ROS action server communicate with the target respectively.
[0013] Furthermore, the Tango client is deployed on machine A; the Tango server, as well as the ROS subscriber, ROS client, and / or ROS action client, are deployed on machine B; the ROS publisher, ROS server, and / or ROS action server are deployed on machine C; and the number of machines A, B, and C is greater than or equal to 1.
[0014] Alternatively, the Tango client is deployed on machine A; the Tango server is deployed on machine B; the ROS subscriber, ROS client, and / or ROS action client are deployed on machine C; the ROS publisher, ROS server, and / or ROS action server are deployed on machine D; and the number of machines A, B, C, and D is greater than or equal to 1.
[0015] Alternatively, the Tango client, Tango server, ROS subscriber, ROS client and / or ROS action client, ROS publisher, ROS server and / or ROS action server are all deployed on machine A; the number of machines A is greater than or equal to 1.
[0016] Furthermore, the human-computer interaction interface, Tango architecture, and ROS architecture all support C++, Java, Python, and LabVIEW; and Machine A, Machine B, Machine C, and Machine D all support PCs or embedded devices running Linux or Windows operating systems.
[0017] Furthermore, the targets include motor-type actuators, CCD-type data acquisition devices, and PLC-type control devices.
[0018] Meanwhile, the present invention also provides a distributed robot control method based on Tango and ROS for the aforementioned distributed robot control system based on Tango and ROS, which is characterized by including an uplink control method and a downlink control method.
[0019] The downlink control method includes the following steps:
[0020] In the client-server communication mode, the downlink of the command or data of the control system is as follows: the Tango client sends the command or data to the Tango server, the Tango server then sends the command or data to the ROS client, the ROS client then sends it to the ROS server, and the ROS server sends the command or data to the actuator or acquisition device via fieldbus or various protocols.
[0021] In the publish-subscribe communication mode, the downlink of commands or data of the control system is as follows: the Tango client sends commands or data to the Tango server, the Tango server then sends the commands or data to the ROS subscriber, the ROS subscriber then sends them to the ROS publisher, and the ROS publisher sends the commands or data to the actuator or acquisition device via fieldbus or various protocols.
[0022] In the action communication mode, the downlink of the command or data of the control system is as follows: the Tango client sends the command or data to the Tango server, the Tango server then sends the command or data to the ROS action client, the ROS action client then sends it to the ROS action server, and the ROS action server sends the command or data to the actuator or acquisition device via fieldbus or various protocols.
[0023] The uplink control method includes the following steps:
[0024] In the client-server communication mode, the data uplink of the control system is as follows: the actuator or acquisition device transmits data to the ROS server through fieldbus or various protocols, the ROS server then sends the data to the ROS client, the ROS client then sends the data to the Tango server, the Tango server sends the data to the Tango client, and then displays it through the human-machine interface.
[0025] In the publish-subscribe communication mode, the data uplink of the control system is as follows: the actuator or acquisition device transmits data to the ROS publisher through fieldbus or various protocols, the ROS publisher then sends the data to the ROS subscriber, the ROS subscriber then sends the data to the Tango server, the Tango server sends the data to the Tango client, and then displays it in the human-machine interface.
[0026] In the action communication mode, the data uplink of the control system is as follows: the actuator or acquisition device transmits data to the ROS action server through fieldbus or various protocols, the ROS action server then sends the data to the ROS action client, the ROS action client then sends the data to the Tango server, the Tango server sends the data to the Tango client, and then displays it on the human-machine interface.
[0027] Furthermore, the downlink and uplink support data types including unsigned data and signed data, including scalars, one-dimensional arrays, two-dimensional arrays, and structures.
[0028] Furthermore, the unsigned data, including scalars, one-dimensional arrays, two-dimensional arrays, and structures, and the signed data respectively include Boolean, character, integer, single-precision floating-point, double-precision floating-point, and string types.
[0029] The beneficial effects of this invention are:
[0030] 1. This invention provides a distributed robot control system that combines Tango and ROS architectures. The control system uses Tango architecture as its overall framework, and further utilizes ROS architecture for remote centralized control of robotic arm-like devices. This satisfies both the remote control requirements of large-scale laser fusion devices and the distributed control architecture requirements for robotic arm-like devices.
[0031] 2. This invention provides a new approach and method for the distributed control of robotic arm-type devices in the control system of large-scale laser devices, and offers valuable insights for the integration of numerous devices utilizing the ROS architecture in large-scale installations. Furthermore, it provides general-purpose functional component modules, improving the uniformity and standardization of the overall control system, reducing development cycles, and enhancing the flexibility, robustness, scalability, and maintainability of the centralized control software. Attached Figure Description
[0032] Figure 1 This is a schematic diagram of an embodiment of a distributed robot control system based on Tango and ROS according to the present invention;
[0033] Figure 2 This is a downlink transmission flowchart using a scalar type Boolean variable as an example in an embodiment of the present invention;
[0034] Figure 3 This is a transmission flowchart of the uplink using a scalar type Boolean variable as an example in an embodiment of the present invention. Detailed Implementation
[0035] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0036] Terminology Explanation:
[0037] Tango is short for Tango Controls, an object-oriented distributed control system used to control any type of hardware or software and build SCADA (Supervisory and Data Acquisition) systems. TangoControls provides transparent access to any software object (or microservice) connected to the bus and abstracts the concepts of programming languages (C++, Java, Python, etc.) and operating systems (Linux, Windows, etc.) through binary network protocols (based on CORBA and ZMQ). Tango Controls are widely used in European synchrotron light / accelerator facilities, such as Elettra in Italy, Soleil in France, Alba in Spain, and ESRF in France.
[0038] ROS stands for Robot Operating System, a system architecture specifically designed for robot software development. It provides services similar to an operating system, including hardware abstraction description, low-level driver management, execution of common functions, inter-program message passing, and program distribution package management. It also provides tools and libraries for acquiring, building, writing, and executing multi-machine fusion programs.
[0039] Distributed robot control architecture: "Robot control architecture" can be understood as a "motion control architecture" because it has joints or mechanisms driven by multiple motors or other drive devices. "Distributed" means, in contrast to centralized, that multiple computers can control multiple modules, each module acting as a separate control unit, achieving coordinated control of multiple actuators through a network. Simultaneously, it allows for centralized data acquisition, management, and control of the system.
[0040] This invention provides a distributed robot control system based on Tango and ROS, such as... Figure 1 As shown, the overall control architecture consists of a Tango architecture and a ROS architecture. The Tango architecture can be decomposed into a Tango Client and a Tango Server. The Tango Client and the Tango Server can communicate with each other synchronously, asynchronously, or through event-driven methods.
[0041] The ROS architecture employs at least one of three communication methods: Topic (publish-subscribe), Server (client-server), and Action. Topic includes ROS Publisher and ROS Subscriber. Server includes ROS Client and ROS Server. Action, based on Topic and Server, enables the sending of targets and real-time status feedback, and includes ROS Action Client and ROS Action Server.
[0042] The control system of this architecture allows for flexible deployment: Tango clients are deployed on machine A; Tango servers, along with ROS subscribers, ROS clients, and / or ROS action clients, are deployed on machine B; ROS publishers, ROS servers, and / or ROS action servers are deployed on machine C; or, Tango clients are deployed on machine A; Tango servers are deployed on machine B; ROS subscribers, ROS clients, and / or ROS action clients are deployed on machine C; and ROS publishers, ROS servers, and / or ROS action servers are deployed on machine D; or, Tango clients, Tango servers, ROS subscribers, ROS clients, and / or ROS action clients, ROS publishers, ROS servers, and / or ROS action servers are all deployed on machine A; furthermore, more deployment methods can be implemented as needed. The number of machines A, B, C, and D is not limited to one and can be increased according to the number of devices.
[0043] The control system of this architecture can support multiple programming languages and operating systems, including C++, Java, Python, LabVIEW, etc. Machine A, Machine B, or Machine C can support PCs or embedded devices running Linux or Windows operating systems.
[0044] This control system supports synchronous or asynchronous communication, and is compatible with programming languages such as C++, Java, Python, and LabVIEW, as well as Linux and Windows operating systems. The architecture uses a Tango client as a remote human-machine interface control terminal, communicating with the Tango server synchronously or asynchronously. Simultaneously, the Tango server and ROS client are combined and deployed on the same machine. The ROS client and ROS server can communicate via topics, services, or actions, ultimately achieving uplink and downlink transmission of commands and data from the Tango client to the ROS server. This meets the requirements for distributed control and communication of robots in large-scale laser fusion devices.
[0045] Commands or data can be sent from the human-machine interface to the terminal device and actuator, while the terminal device and actuator can generate data and transmit it to the human-machine interface, thus realizing data exchange between the two.
[0046] The downlink of commands or data is as follows (ROS takes Server communication as an example): Tango Client sends commands or data to Tango Server, then sends the commands or data to ROS Client, then to ROS Server, and finally sends the commands or data to actuators (such as motors) or acquisition devices (such as CCDs) via fieldbus or various protocols. Figure 2Using a scalar Boolean variable as an example, the data downlink transmission process is illustrated. The downlink in publish-subscribe and action-based communication methods is similar to that in client-server communication.
[0047] The data uplink is as follows (ROS uses Topic communication as an example): Field motion devices (such as motors) or acquisition devices (such as CCDs) transmit data to the ROS publisher via fieldbus or various protocols, then send the data to the ROS subscriber, then send the data to the Tango server, and finally send the data to the Tango client for display in the form of a human-machine interface. Figure 3 Using a scalar Boolean variable as an example, the data uplink transmission process is illustrated. The uplink in client-server communication and action-based communication methods is similar to that in publish-subscribe communication.
[0048] Both upstream and downstream data transmission support the following data types: unsigned and signed data, including scalars, one-dimensional arrays, two-dimensional arrays, and structures. These data types further include Boolean, character, integer, single-precision floating-point, double-precision floating-point, and string types. Accordingly, supported devices include, but are not limited to: motor-type actuators, CCD-type data acquisition devices, and PLC-type control devices. All three types of devices can be used in this invention.
[0049] Conventional control systems typically include only one of the Tango or ROS architectures, lacking a control architecture that combines both. This invention combines the two architectures and tests various data types to verify its effectiveness and real-time performance, providing a new method and approach for devices that need to simultaneously meet the requirements of both architectures.
[0050] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any changes or substitutions within the technical scope disclosed in the present invention should be covered within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.
Claims
1. A distributed robot control system based on Tango and ROS, wherein the control system uses the Tango architecture as the overall framework, and further utilizes the ROS architecture to control robotic arm-like devices on the basis of remote centralized control, thereby meeting the remote control requirements of large-scale laser fusion devices, characterized in that: This includes the human-computer interaction interface, Tango architecture, and ROS architecture; The Tango architecture includes a Tango client and a Tango server; the Tango client and the Tango server communicate with each other through synchronous, asynchronous, or event-driven methods. The Tango client communicates with the human-computer interaction interface; The ROS architecture includes an architecture of ROS subscribers and ROS publishers, an architecture of ROS clients and ROS servers, and / or an architecture of ROS action clients and ROS action servers; the ROS publishers and ROS subscribers communicate through publish-subscribe communication; the ROS clients and ROS servers communicate through client-server communication; and the ROS action clients and ROS action servers communicate through action communication. The Tango server communicates with ROS subscribers, ROS clients, and / or ROS action clients respectively. The ROS publisher, ROS server, and / or ROS action server communicate with the target respectively. The Tango client is deployed on machine A; the Tango server, as well as the ROS subscriber, ROS client, and / or ROS action client, are deployed on machine B; the ROS publisher, ROS server, and / or ROS action server are deployed on machine C; the number of machines A, B, and C is greater than or equal to 1. Alternatively, the Tango client is deployed on machine A; the Tango server is deployed on machine B; the ROS subscriber, ROS client, and / or ROS action client are deployed on machine C; the ROS publisher, ROS server, and / or ROS action server are deployed on machine D; and the number of machines A, B, C, and D is greater than or equal to 1. Alternatively, the Tango client, Tango server, ROS subscriber, ROS client and / or ROS action client, ROS publisher, ROS server and / or ROS action server are all deployed on machine A; the number of machines A is greater than or equal to 1.
2. The distributed robot control system based on Tango and ROS according to claim 1, characterized in that: The human-computer interaction interface, Tango architecture, and ROS architecture all support C++, Java, Python, and LabVIEW; Machine A, Machine B, Machine C, and Machine D all support PCs or embedded devices running Linux or Windows operating systems.
3. The distributed robot control system based on Tango and ROS according to claim 2, characterized in that: The targets include motor-driven actuators, CCD-based data acquisition devices, and PLC-based control devices.
4. A distributed robot control method based on Tango and ROS, based on the distributed robot control system based on Tango and ROS as described in any one of claims 1-3, characterized in that: This includes uplink control methods and downlink control methods; The downlink control method includes the following steps: In the client-server communication mode, the downlink of the command or data of the control system is as follows: the Tango client sends the command or data to the Tango server, the Tango server then sends the command or data to the ROS client, the ROS client then sends it to the ROS server, and the ROS server sends the command or data to the actuator or acquisition device via fieldbus or various protocols. In the publish-subscribe communication mode, the downlink of commands or data of the control system is as follows: the Tango client sends commands or data to the Tango server, the Tango server then sends the commands or data to the ROS subscriber, the ROS subscriber then sends them to the ROS publisher, and the ROS publisher sends the commands or data to the actuator or acquisition device via fieldbus or various protocols. In the action communication mode, the downlink of the command or data of the control system is as follows: the Tango client sends the command or data to the Tango server, the Tango server then sends the command or data to the ROS action client, the ROS action client then sends it to the ROS action server, and the ROS action server sends the command or data to the actuator or acquisition device via fieldbus or various protocols. The uplink control method includes the following steps: In the client-server communication mode, the data uplink of the control system is as follows: the actuator or acquisition device transmits data to the ROS server through fieldbus or various protocols, the ROS server then sends the data to the ROS client, the ROS client then sends the data to the Tango server, the Tango server sends the data to the Tango client, and then displays it through the human-machine interface. In the publish-subscribe communication mode, the data uplink of the control system is as follows: the actuator or acquisition device transmits data to the ROS publisher through fieldbus or various protocols, the ROS publisher then sends the data to the ROS subscriber, the ROS subscriber then sends the data to the Tango server, the Tango server sends the data to the Tango client, and then displays it in the human-machine interface. In the action communication mode, the data uplink of the control system is as follows: the actuator or acquisition device transmits data to the ROS action server through fieldbus or various protocols, the ROS action server then sends the data to the ROS action client, the ROS action client then sends the data to the Tango server, the Tango server sends the data to the Tango client, and then displays it on the human-machine interface.
5. The distributed robot control method based on Tango and ROS according to claim 4, characterized in that: The downlink and uplink support data types including unsigned data and signed data, including scalars, one-dimensional arrays, two-dimensional arrays, and structures.
6. The distributed robot control method based on Tango and ROS according to claim 5, characterized in that: The unsigned and signed data types, including scalars, one-dimensional arrays, two-dimensional arrays, and structures, respectively include Boolean, character, integer, single-precision floating-point, double-precision floating-point, and string types.
Citation Information
Patent Citations
Manipulator motion planning and simulation system based on ROS
CN114523469A
Distributed control system based on Tango and EPICS
CN119520575A