[go: up one dir, main page]

CN113043250B - Robot control system and method - Google Patents

Robot control system and method Download PDF

Info

Publication number
CN113043250B
CN113043250B CN202110431428.1A CN202110431428A CN113043250B CN 113043250 B CN113043250 B CN 113043250B CN 202110431428 A CN202110431428 A CN 202110431428A CN 113043250 B CN113043250 B CN 113043250B
Authority
CN
China
Prior art keywords
robot
coordinate
server
information
coordinate information
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.)
Active
Application number
CN202110431428.1A
Other languages
Chinese (zh)
Other versions
CN113043250A (en
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.)
Shenzhen Institute of Advanced Technology of CAS
Original Assignee
Shenzhen Institute of Advanced Technology of CAS
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 Shenzhen Institute of Advanced Technology of CAS filed Critical Shenzhen Institute of Advanced Technology of CAS
Priority to CN202110431428.1A priority Critical patent/CN113043250B/en
Publication of CN113043250A publication Critical patent/CN113043250A/en
Application granted granted Critical
Publication of CN113043250B publication Critical patent/CN113043250B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0081Programme-controlled manipulators with leader teach-in means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

本文提供了一种机器人控制系统及方法,其中,机器人示教系统,包括:移动终端、服务器、数据库及多个机器人;移动终端连接服务器,用于接收操作人员通过前端界面输入的机器人操作指令、机器人到达操作位置途径的多处坐标信息,将机器人操作指令、坐标信息发送至服务器;服务器连接所述数据库,通过后端服务程序接收所述机器人操作指令、坐标信息,将机器人操作位置的坐标信息存储于数据库,将机器人操作指令转换成机器人识别的操作指令后发送至机器人;机器人用于根据接收到的控制指令进行动作。本文能够简化机器人的操作,提升机器人运用场景下编程的方便性,同时降低在硬件上所需要投入的成本。

Figure 202110431428

This paper provides a robot control system and method, wherein the robot teaching system includes: a mobile terminal, a server, a database and multiple robots; the mobile terminal is connected to the server for receiving robot operation instructions input by an operator through a front-end interface, The robot reaches multiple coordinate information of the operation position, and sends the robot operation instruction and coordinate information to the server; the server connects to the database, receives the robot operation instruction and coordinate information through the back-end service program, and transmits the coordinate information of the robot operation position. It is stored in the database, and the robot operation instructions are converted into operation instructions recognized by the robot and sent to the robot; the robot is used to perform actions according to the received control instructions. This paper can simplify the operation of the robot, improve the convenience of programming in the application scenario of the robot, and reduce the cost of hardware investment.

Figure 202110431428

Description

一种机器人控制系统及方法A robot control system and method

技术领域technical field

本文涉及机器人领域,尤其涉及一种机器人控制系统及方法。This paper relates to the field of robotics, in particular to a robotic control system and method.

背景技术Background technique

现有技术中,操作人员对于协作机器人的动作控制大多是通过示教器或者其他示教工具实现的,具体实施时,由专业工程师通过示教器等设备为单一任务目标编写固定的程序,并在程序中设定组成动作轨迹的坐标序列,程序与坐标都存储在协作机器人控制器的存储介质中。该种控制方式只能使协作机器人完成少量预设的动作路线,一旦需要改变动作路径或者所需执行的任务,就需要专业工程师重新编程,并且机器人的编程过程一般需要专业人员完成。此外,有些情况下需要多台协作机器人配和来完成复杂任务,则需要为每一台机器人编写单独的程序,同时每一台机器人都需要配备对应的示教器。以上因素都会造成造价提高与人力资源的浪费。In the prior art, the action control of the collaborative robot by the operator is mostly realized by the teach pendant or other teaching tools. During the specific implementation, the professional engineer writes a fixed program for a single task target through the teach pendant and other equipment, and The sequence of coordinates that make up the motion trajectory is set in the program, and the program and coordinates are stored in the storage medium of the collaborative robot controller. This control method can only enable the collaborative robot to complete a small number of preset action routes. Once the action route or the task to be performed needs to be changed, professional engineers are required to reprogram, and the programming process of the robot generally needs to be completed by professionals. In addition, in some cases, multiple collaborative robots are required to complete complex tasks, and a separate program needs to be written for each robot, and each robot needs to be equipped with a corresponding teach pendant. The above factors will lead to increased cost and waste of human resources.

发明内容SUMMARY OF THE INVENTION

本文用于解决现有技术中协作机器人的编程存在浪费人力、对编程人员专业素养要求高、对硬件投入较高、不便于更改协作机器人动作线路且不利于多个协作机器人配合完成复杂任务的问题。This paper is used to solve the problems of waste of manpower in the programming of collaborative robots in the existing technology, high requirements for the professional quality of programmers, high investment in hardware, inconvenient to change the action lines of collaborative robots, and unfavorable for multiple collaborative robots to cooperate to complete complex tasks. .

为了解决上述技术问题,本文的第一方面提供一种机器人示教系统,包括:移动终端、服务器、数据库及多个机器人,其中,所述移动终端中安装有所述服务器提供的前端界面,所述服务器中安装有后端服务程序;In order to solve the above technical problems, a first aspect of this paper provides a robot teaching system, including: a mobile terminal, a server, a database and multiple robots, wherein the mobile terminal is installed with a front-end interface provided by the server, so The back-end service program is installed in the server;

所述移动终端连接所述服务器,用于接收操作人员通过所述前端界面输入的机器人操作指令、机器人到达操作位置途径的多处坐标信息,将所述机器人操作指令、机器人到达操作位置途径的多处坐标信息发送至所述服务器;The mobile terminal is connected to the server, and is used to receive the robot operation instruction input by the operator through the front-end interface, and the coordinate information of the robot to reach the operation position. sending the location coordinate information to the server;

所述服务器连接所述数据库,通过后端服务程序接收所述机器人操作指令、机器人到达操作位置途径的多处坐标信息,将所述机器人到达操作位置途径的多处坐标信息存储于所述数据库,将所述机器人操作指令转换成机器人识别的操作指令后发送至所述机器人;The server is connected to the database, receives the robot operation instruction and the multiple coordinate information of the robot's path to the operation position through the back-end service program, and stores the multiple coordinate information of the robot's path to the operation position in the database, Convert the robot operation instruction into an operation instruction recognized by the robot and send it to the robot;

所述机器人用于根据接收到的操作指令进行动作。The robot is used to act according to the received operation instruction.

本文进一步实施例中,所述移动终端接收操作人员通过所述前端界面输入的机器人操作指令、机器人到达操作位置经历的多处坐标信息,将所述机器人操作指令、机器人到达操作位置经历的多处坐标信息发送至所述服务器,包括:In a further embodiment of this document, the mobile terminal receives the robot operation instruction input by the operator through the front-end interface, and the coordinate information of multiple locations that the robot has experienced to reach the operation position, and the robot operation instruction and the multiple locations experienced by the robot to reach the operation position are received. The coordinate information is sent to the server, including:

所述前端界面接收操作人员输入的机器人操作指令,将所述机器人操作指令发送至所述服务器;The front-end interface receives the robot operation instruction input by the operator, and sends the robot operation instruction to the server;

待所述机器人完成动作后,所述前端界面接收操作人员输入的机器人当前坐标信息,将机器人当前坐标信息作为机器人到达操作位置途径的一处坐标信息发送至所述服务器;重复上述两步操作,直至机器人到达操作位置。After the robot completes the action, the front-end interface receives the current coordinate information of the robot input by the operator, and sends the current coordinate information of the robot to the server as a coordinate information of the way the robot reaches the operating position; repeating the above two steps, until the robot reaches the operating position.

本文进一步实施例中,所述机器人操作指令包括:待示教的机器人信息、各自由度方向步进移动量、各关节步进移动量。In a further embodiment of this document, the robot operation instruction includes: robot information to be taught, the step movement amount in the direction of each degree of freedom, and the step movement amount of each joint.

本文进一步实施例中,所述数据库包括:机器人信息数据库、机器人位置数据库与机器人坐标数据库;In further embodiments herein, the database includes: a robot information database, a robot position database, and a robot coordinate database;

所述机器人信息数据库用于存储机器人标识、机器人IP地址及端口标识;The robot information database is used to store robot identification, robot IP address and port identification;

所述机器人位置数据库用于存储操作位置标识、所属机器人标识、末端姿态信息;The robot position database is used to store the operation position identification, the robot identification and the terminal attitude information;

所述机器人坐标数据库用于存储每一操作位置途径的每处坐标标识、坐标序号、各关节坐标信息。The robot coordinate database is used to store each coordinate identification, coordinate serial number, and coordinate information of each joint of each operation position path.

本文进一步实施例中,所述机器人动作完后,还将动作结果发送至所述服务器;In a further embodiment of this paper, after the robot completes the action, the action result is also sent to the server;

所述服务器将所述动作结果处理后发送至所述移动终端的前端界面展示。The server processes the action result and sends it to the front-end interface of the mobile terminal for display.

本文进一步实施例中,所述移动终端还接收操作人员通过所述前端界面输入的操作位置变更指令或操作位置途径坐标信息变更指令,将所述变更指令发送至服务器;In a further embodiment of this document, the mobile terminal also receives an operation position change instruction or an operation position route coordinate information change instruction input by the operator through the front-end interface, and sends the change instruction to the server;

所述服务器根据所述变更指令变更数据库中的信息。The server modifies the information in the database according to the modification instruction.

本文第二方面提供一种机器人控制系统,包括:上位机及前述任一实施例所述的机器人示教系统;A second aspect of this document provides a robot control system, including: a host computer and the robot teaching system described in any of the foregoing embodiments;

所述上位机连接所述服务器,用于发出操作任务至所述服务器,其中,所述操作任务中至少包括操作位置;The upper computer is connected to the server, and is used for sending an operation task to the server, wherein the operation task at least includes an operation position;

所述服务器根据所述操作任务,从所述数据库中查询操作位置对应的机器人信息及操作位置对应的多处坐标信息;根据查询出的信息,发出操作指令至相关的机器人;According to the operation task, the server inquires the robot information corresponding to the operation position and the coordinate information corresponding to the operation position from the database; and sends an operation instruction to the relevant robot according to the inquired information;

所述机器人响应所述操作指令,以完成操作任务。The robot responds to the operation instruction to complete the operation task.

本文进一步实施例中,服务器查询到操作位置对应的多处坐标信息之后,还包括:In a further embodiment of this document, after the server queries the coordinate information corresponding to the operation position, the server further includes:

检测所述操作位置对应的多处坐标个数是否达到轨迹序列最小值;Detecting whether the number of coordinates corresponding to the operation position reaches the minimum value of the trajectory sequence;

若判断结果为否,则发出报警信息。If the judgment result is no, an alarm message will be issued.

本文进一步实施例中,所述服务器根据查询出的信息及操作任务,发出操作指令至相关的机器人,包括:In a further embodiment of this document, the server sends an operation instruction to the relevant robot according to the queried information and operation task, including:

所述服务器根据查询出的机器人信息,依次按照操作位置对应的多处坐标信息顺序,发出操作子指令至相关机器人;According to the queried robot information, the server sends out operation sub-commands to the relevant robot in sequence according to the order of the coordinate information corresponding to the operation position;

所述相关机器人根据操作子指令进行动作。The relevant robot moves according to the operation sub-command.

本文第三方面提供一种协作机器人示教方法,包括:The third aspect of this paper provides a teaching method for a collaborative robot, including:

移动终端接收操作人员通过前端界面输入的机器人操作指令,将所述机器人操作指令发送至服务器;The mobile terminal receives the robot operation instruction input by the operator through the front-end interface, and sends the robot operation instruction to the server;

所述服务器接收所述机器人操作指令,将所述机器人操作指令转换成机器人能识别的操作指令后发送至所述机器人;The server receives the robot operation instruction, converts the robot operation instruction into an operation instruction that the robot can recognize, and sends it to the robot;

所述机器人根据接收到的操作指令进行动作;The robot moves according to the received operation instruction;

所述机器人动作完后,移动终端通过所述前端界面接收操作人员输入的机器人当前坐标信息,将机器人当前坐标信息作为机器人到达操作位置途径的一处坐标信息发送至所述服务器;所述服务器将所述机器人到达操作位置途径的该处坐标信息存储于所述数据库。After the robot moves, the mobile terminal receives the current coordinate information of the robot input by the operator through the front-end interface, and sends the current coordinate information of the robot to the server as a coordinate information of the way the robot reaches the operating position; the server sends the information to the server. The coordinate information of the path of the robot to the operating position is stored in the database.

本文第四方面,提供一种机器人控制方法,包括:A fourth aspect of this paper provides a robot control method, including:

由上位机发出操作任务至所述服务器,其中,所述操作任务中至少包括操作位置;Sending an operation task to the server from the upper computer, wherein the operation task at least includes an operation position;

所述服务器根据所述操作任务,从所述数据库中查询操作位置对应的机器人信息及操作位置对应的多处坐标信息;根据查询出的信息,发出操作指令至相关的机器人;According to the operation task, the server inquires the robot information corresponding to the operation position and the coordinate information corresponding to the operation position from the database; and sends an operation instruction to the relevant robot according to the inquired information;

所述机器人响应所述操作指令,以完成操作任务。The robot responds to the operation instruction to complete the operation task.

本文提供机器人示教系统及方法、机器人控制系统及方法,针对现有机器人控制方法操作繁杂重复及可变性差的缺陷,采用前端界面+服务器+数据库的方式来代替示教器。前端界面提供友好的操作界面,服务器中安装有后端服务程序,能够提供对前端界面的支持和对机器人的控制,数据库提供存储操作位置和其坐标序列的容器。操作人员可随时随地通过移动终端(例如电脑/手机/平板)来打开前端界面,对机器人进行控制和示教,简化了机器人的操作,降低了多机器人系统管理的复杂性,提高机器人动作线路改变的效率,提升了机器人运用场景下的编程方便性。并且操作位置和其坐标序列的容器从机器人本体的存储介质变成了架设在网络中的数据库,极大地方便了这些信息的管理管理。同时不再需要配备专用的示教器,降低在硬件上所需要投入的成本。This paper provides a robot teaching system and method, and a robot control system and method. Aiming at the defects of complicated and repetitive operation and poor variability of the existing robot control method, the front-end interface + server + database is used to replace the teaching pendant. The front-end interface provides a friendly operation interface. The back-end service program is installed in the server, which can provide support for the front-end interface and control of the robot. The database provides a container for storing the operation position and its coordinate sequence. Operators can open the front-end interface through a mobile terminal (such as computer/mobile phone/tablet) anytime and anywhere to control and teach the robot, which simplifies the operation of the robot, reduces the complexity of multi-robot system management, and improves the change of robot action lines. The efficiency of the robot improves the programming convenience in the application scenario of the robot. And the container of the operation position and its coordinate sequence has changed from the storage medium of the robot body to the database set up in the network, which greatly facilitates the management of these information. At the same time, it no longer needs to be equipped with a dedicated teaching pendant, which reduces the cost of hardware investment.

为让本文的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。In order to make the above-mentioned and other objects, features and advantages of this paper more obvious and easy to understand, preferred embodiments are hereinafter described in detail in conjunction with the accompanying drawings.

附图说明Description of drawings

为了更清楚地说明本文实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本文的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the embodiments or the technical solutions in the prior art, the following briefly introduces the accompanying drawings that are used in the description of the embodiments or the prior art. Obviously, the drawings in the following description are only For some embodiments herein, for those of ordinary skill in the art, other drawings can also be obtained according to these drawings without creative effort.

图1示出了本文实施例机器人示教系统的结构图;Fig. 1 shows the structure diagram of the robot teaching system according to the embodiment of this paper;

图2A示出了本文实施例前端界面中操作指令按键界面的示意图;FIG. 2A shows a schematic diagram of the operation instruction button interface in the front-end interface of the embodiment of this document;

图2B示出了本文实施例前端界面中位置管理界面的示意图;FIG. 2B shows a schematic diagram of a location management interface in the front-end interface of the embodiment of this document;

图2C示出了本文实施例前端界面中坐标管理界面的示意图;2C shows a schematic diagram of the coordinate management interface in the front-end interface of the embodiment of this paper;

图2D示出了本文实施例前端界面中加坐标信息向导交互式界面的示意图;2D shows a schematic diagram of the interactive interface of adding coordinate information wizard in the front-end interface of the embodiment of this paper;

图3示出了本文实施例数据库中数据存储的结构图;Fig. 3 shows the structure diagram of data storage in the database of this embodiment;

图4示出了本文实施例前端界面与服务器交互的过程的流程图;Fig. 4 shows the flow chart of the process of interaction between the front-end interface and the server according to the embodiment of this paper;

图5A示出了本文实施例机器人信息数据库存储内容示意图;FIG. 5A shows a schematic diagram of the storage content of the robot information database according to the embodiment of this document;

图5B示出了本文实施例机器人位置数据库存储内容示意图;FIG. 5B shows a schematic diagram of the storage content of the robot position database according to the embodiment of this document;

图5C示出了本文实施例机器人坐标数据库存储内容示意图;FIG. 5C shows a schematic diagram of the storage content of the robot coordinate database according to the embodiment of this paper;

图6示出了本文实施例机器人控制系统的结构图;Fig. 6 shows the structure diagram of the robot control system of the embodiment of this paper;

图7示出了本文实施例机器人示教方法的流程图;Fig. 7 shows the flow chart of the teaching method of the robot according to the embodiment of this paper;

图8示出了本文具体实施例机器人示教方法的流程图;Fig. 8 shows the flow chart of the robot teaching method according to the specific embodiment of this document;

图9示出了本文实施例机器人控制方法的流程图;Fig. 9 shows the flow chart of the robot control method of the embodiment of this paper;

图10示出了本文具体实施例机器人控制方法的流程图;Fig. 10 shows the flow chart of the robot control method according to the specific embodiment of this document;

图11示出了本文实施例计算机设备的结构图。FIG. 11 shows a structural diagram of a computer device according to an embodiment of this document.

附图符号说明:Description of the symbols in the drawings:

110、移动终端;110. Mobile terminal;

120、服务器;120. server;

130、数据库;130. database;

140、机器人;140. Robot;

150、上位机;150. Host computer;

1102、计算机设备;1102. Computer equipment;

1104、处理器;1104. processor;

1106、存储器;1106. memory;

1108、驱动机构;1108. Drive mechanism;

1110、输入/输出模块;1110. Input/output module;

1112、输入设备;1112. Input device;

1114、输出设备;1114. Output device;

1116、呈现设备;1116. Presentation equipment;

1118、图形操作人员接口;1118. Graphical operator interface;

1120、网络接口;1120. network interface;

1122、通信链路;1122. Communication link;

1124、通信总线。1124. A communication bus.

具体实施方式Detailed ways

下面将结合本文实施例中的附图,对本文实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本文一部分实施例,而不是全部的实施例。基于本文中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本文保护的范围。The technical solutions in the embodiments herein will be clearly and completely described below with reference to the accompanying drawings in the embodiments herein. Obviously, the described embodiments are only a part of the embodiments herein, rather than all the embodiments. Based on the embodiments herein, all other embodiments obtained by persons of ordinary skill in the art without creative efforts shall fall within the scope of protection herein.

本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或装置产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行。This specification provides method operation steps as described in the embodiments or flow charts, but more or less operation steps may be included based on routine or non-creative work. The sequence of steps enumerated in the embodiments is only one of the execution sequences of many steps, and does not represent the only execution sequence. When an actual system or device product is executed, the methods shown in the embodiments or the accompanying drawings may be executed sequentially or in parallel.

本文所述的协作机器人示教系统及方法、机器人控制系统及方法适用于各种机器人的示教及控制,尤其适用于协作机器人,协作机器人包括多轴机械臂及末端执行器,协作机器人配合不同的末端执行器可以实现各领域(例如生物领域)数据采集、加工、搬运等流程。协作机器人例如为机械手臂,指的是与人一起协作,以完成不同任务的机器人,协作机器人无需人看守,是一种易于集成的机器人,具有如下特点:The collaborative robot teaching system and method, and the robot control system and method described in this paper are suitable for teaching and controlling various robots, especially for collaborative robots. Collaborative robots include multi-axis robotic arms and end effectors. The end effector can realize data collection, processing, handling and other processes in various fields (such as biological field). For example, a collaborative robot is a robotic arm, which refers to a robot that cooperates with people to complete different tasks. A collaborative robot does not require human guards. It is an easy-to-integrate robot and has the following characteristics:

1)轻量化:使协作机器人更易于控制,提高安全性;1) Lightweight: make collaborative robots easier to control and improve safety;

2)友好性:保证协作机器人的表面和关节是光滑且平整的,无尖锐的转角或者易夹伤操作人员的缝隙;2) Friendliness: ensure that the surface and joints of the collaborative robot are smooth and flat, without sharp corners or gaps that easily pinch the operator;

3)感知能力:使协作机器人能够感知周围环境,并根据周围环境变化改变自身的动作行为;3) Perception ability: enable collaborative robots to perceive the surrounding environment and change their actions and behaviors according to changes in the surrounding environment;

4)人机协作:具有敏感的力反馈特性,当达到已设定的力时会立即停止,在风险评估后可不需要安装保护栏,使人和机器人能协同工作。4) Human-robot cooperation: It has sensitive force feedback characteristics, and it will stop immediately when the set force is reached. After the risk assessment, there is no need to install a protective fence, so that humans and robots can work together.

这些协作机器人通常执行重复或不安全的任务,而人力则在上下游执行更有价值的手动任务。就成本而言,大多数协作机器人比传统的工业机器人更便宜。现有技术中,协作机器人的动作控制与编程大多是通过示教器完成,为比较单一的任务目标编写固定的程序,并在程序中设定组成动作轨迹的坐标序列,程序与坐标都存储在协作机器人控制器的存储介质中。而上位机在需要控制协作机器人时,一般通过发送简单的报文,控制机器人调取预存的动作轨迹以完成工作目标。These cobots often perform repetitive or unsafe tasks, while humans perform more valuable manual tasks upstream and downstream. In terms of cost, most cobots are cheaper than traditional industrial robots. In the prior art, the motion control and programming of collaborative robots are mostly completed through a teach pendant, a fixed program is written for a relatively single task target, and the coordinate sequence that constitutes the motion trajectory is set in the program, and the program and coordinates are stored in the in the storage medium of the collaborative robot controller. When the host computer needs to control the collaborative robot, it generally sends a simple message to control the robot to call the pre-stored motion trajectory to complete the work goal.

基于现有协作机器人的上述控制及编程方法,现有协作机器人的控制及编程存在浪费人力、对编程人员专业素养要求高、不便于更改协作机器人动作线路且不利于多个协作机器人配合完成复杂任务的问题。Based on the above-mentioned control and programming methods of the existing collaborative robots, the control and programming of the existing collaborative robots wastes manpower, requires high professional quality of programmers, is inconvenient to change the action lines of the collaborative robots, and is not conducive to the cooperation of multiple collaborative robots to complete complex tasks. The problem.

为了解决现有协作机器人存在的上述技术问题,本文一实施例中,提供一种机器人示教系统,如图1所示,机器人示教系统,包括:移动终端110、服务器120、数据库130及多个机器人140,其中,移动终端110中安装有服务器120提供的前端界面,服务器120中安装有后端服务程序。In order to solve the above technical problems of existing collaborative robots, in an embodiment of this paper, a robot teaching system is provided. As shown in FIG. 1 , the robot teaching system includes: a mobile terminal 110 , a server 120 , a database 130 and more A robot 140 is installed, wherein the front-end interface provided by the server 120 is installed in the mobile terminal 110 , and the back-end service program is installed in the server 120 .

移动终端110连接服务器120,用于接收操作人员通过前端界面输入的机器人操作指令、机器人达到操作位置途径的多处坐标信息(也称之为坐标序列),将机器人操作指令、机器人到达操作位置途径的多处坐标信息发送至服务器120。The mobile terminal 110 is connected to the server 120 for receiving the robot operation instructions input by the operator through the front-end interface, and the multiple coordinate information (also referred to as the coordinate sequence) of the way the robot reaches the operation position. The coordinate information of the multiple locations is sent to the server 120 .

服务器120连接数据库130,用于通过后端服务程序接收机器人操作指令、机器人到达操作位置途径的多处坐标信息,将机器人到达操作位置途径的多处坐标信息存储于所述数据库130,将机器人操作指令转换成机器人识别的操作之后发送至生成并发送机器人控制指令至机器人140。The server 120 is connected to the database 130, and is used to receive the robot operation instruction and the coordinate information of the robot to reach the operation position through the back-end service program, store the coordinate information of the robot to the operation position in the database 130, and operate the robot. The instructions are converted into robot-recognized operations and then sent to generate and send robot control instructions to the robot 140 .

机器人140用于根据接收到的操作指令进行动作。The robot 140 is used to act according to the received operation instruction.

详细的说,一个前端界面及一个后端服务程序可对应多台机器人。Specifically, one front-end interface and one back-end service program can correspond to multiple robots.

本文所述的机器人指的是机器人本身或机器人控制柜(或控制器),可通过网络与服务器进行通讯。机器人动作通过机器人遵循内置控制协议发送并执行,机器人动作包括各自由度方向移动、各关节移动、移动到指定空间坐标、移动到指定关节坐标等。具体实施时,可在机器人上或其附近的位置上,粘贴对应示教机器人前端界面的网址,以便帮助操作人员快速定位机器人,上手示教。对机器人的控制不限于使用机器人厂商提供的控制接口,也可以采用自己编写的控制程序代替厂商提供的控制接口,该控制程序能够根据后端服务程序发送的报文,完成和本案中所述相同的动作。该控制程序编写的基本原则是:坐标全部从通信接口传入,不直接在机器人本地的存储介质中保存;能够不需要对程序做任何更改的情况下完成所有操作目标。The robot mentioned in this article refers to the robot itself or the robot control cabinet (or controller), which can communicate with the server through the network. The robot motion is sent and executed by the robot following the built-in control protocol. The robot motion includes the movement of each degree of freedom, the movement of each joint, the movement to the specified space coordinates, and the movement to the specified joint coordinates. In specific implementation, the URL corresponding to the front-end interface of the teaching robot can be pasted on or near the robot, so as to help the operator to quickly locate the robot and start teaching. The control of the robot is not limited to the use of the control interface provided by the robot manufacturer, and the control program written by oneself can also be used to replace the control interface provided by the manufacturer. Actions. The basic principle of the control program writing is: the coordinates are all imported from the communication interface and are not directly stored in the local storage medium of the robot; all operation objectives can be completed without any changes to the program.

移动终端通过前端界面与操作人员交互,包括但不限于笔记本电脑、智能手机、平板电脑等可以访问网页的终端。前端界面为基于网页的图形界面,能够与运行在服务器上的后端服务程序进行交互。实施时,前端界面可采用HTML(超文本标记语言)+Vue.js(一套用于构建操作人员界面的渐进式JavaScript框架)开发而成。前端界面通过HTTP协议(超文本传输协议)与后端服务程序进行数据交互。The mobile terminal interacts with the operator through the front-end interface, including but not limited to terminals that can access web pages, such as notebook computers, smart phones, and tablet computers. The front-end interface is a web-based graphical interface that can interact with the back-end service program running on the server. When implemented, the front-end interface can be developed using HTML (Hypertext Markup Language) + Vue.js (a progressive JavaScript framework for building operator interfaces). The front-end interface exchanges data with the back-end service program through the HTTP protocol (Hypertext Transfer Protocol).

本文所述的操作位置指的是需要机器人完成末端操作的位置,每一操作位置对应一坐标序列,每一坐标序列包含多处坐标信息,本文中每处指的是到达操作位置途径的位置,每处坐标信息指示机器人各关节的位置,需要待机器人根据机器人操作指令进行动作完后确定。每一机器人可对应多个操作位置。The operation position mentioned in this article refers to the position where the robot needs to complete the terminal operation. Each operation position corresponds to a coordinate sequence, and each coordinate sequence contains multiple coordinate information. Each coordinate information indicates the position of each joint of the robot, which needs to be determined after the robot completes the action according to the robot operation instruction. Each robot can correspond to multiple operating positions.

前端界面至少包括操作指令按键界面、位置管理界面及坐标管理界面。The front-end interface at least includes an operation command button interface, a position management interface and a coordinate management interface.

其中,操作指令按键界面如图2A所示,用于供操作人员通过点击相应操作指令的按键,完成机器人操作指令的输入,由前端界面将机器人操作指令发送给服务器中的后端服务程序,后端服务程序将机器人操作指令按照机器人通信协议处理后,发送给机器人,从而达到控制机器人的目的。一些具体实施方式中,操作指令按键包括用户选择的待示教的机器人信息(将机器人信息数据库中存储的机器人信息以列表的形式进行展示,以供用户选择待示教的机器人信息)、各自由度方向步进移动、各关节步进移动、各自由度方向基于按键时间加速移动、各关节基于按键时间加速移动、通过末端IO控制末端执行器状态等。具体实施时,操作位置途径的坐标信息可通过如下几种方式实现:操作人员遥控机器人运动后由操作人员通过前端界面获取机器人所处位置的坐标信息;操作人员还可手动拖拽机器人,将机器人拖拽至某个位置后,由操作人员通过前端界面输入机器人所处位置的坐标信息;操作人员还可将对机器人当前坐标信息微调整后的数据通过前端界面输入。Among them, the operation instruction button interface is shown in Figure 2A, which is used for the operator to complete the input of the robot operation instruction by clicking the button of the corresponding operation instruction, and the front-end interface sends the robot operation instruction to the back-end service program in the server, and then The terminal service program processes the robot operation instructions according to the robot communication protocol and sends them to the robot, so as to achieve the purpose of controlling the robot. In some specific embodiments, the operation instruction button includes the robot information to be taught selected by the user (the robot information stored in the robot information database is displayed in the form of a list, so that the user can select the robot information to be taught), each The step movement in the degree direction, the step movement of each joint, the accelerated movement of each degree of freedom direction based on the key time, the accelerated movement of each joint based on the key time, and the state of the end effector controlled by the terminal IO. In specific implementation, the coordinate information of the operation position path can be realized in the following ways: after the operator remotely controls the robot to move, the operator obtains the coordinate information of the robot's position through the front-end interface; the operator can also manually drag the robot to move the robot. After dragging to a certain position, the operator can input the coordinate information of the robot's position through the front-end interface; the operator can also input the data after the micro-adjustment of the robot's current coordinate information through the front-end interface.

位置管理界面用于通过操作人员点击新增按钮来实现操作位置信息的录入,录入的信息包括但不限于操作位置名称、机器人名称、使用姿态等。如图2B所示,位置管理界面除了供操作人员录入新的操作位置信息,还会供操作人员检索数据库中已有操作位置信息,操作人员可根据需求对检索出的操作位置信息进行变更处理(例如修改、删除等操作)。The location management interface is used for the operator to click the new button to realize the entry of the operation location information. The entered information includes but is not limited to the operation location name, robot name, usage attitude, etc. As shown in Fig. 2B, the location management interface is not only for the operator to input new operation location information, but also for the operator to retrieve the existing operation location information in the database, and the operator can change the retrieved operation location information according to the needs ( such as modify, delete, etc.).

坐标管理界面可跳转至坐标录入向导界面,用于供操作人员录入坐标信息及管理已录入坐标信息。如图2C及图2D所示,图2C为坐标管理界面,图2D为坐标录入向导界面。坐标管理界面可供操作人员点击新增按钮来跳转至坐标录入向导界面,通过坐标录入向导界面完成数据录入,坐标管理界面除了供操作人员录入新的坐标信息外,还会供操作人员检索数据库中已有的操作位置相对应的坐标信息(即到达操作位置途径的多处坐标信息),操作人员可根据需求对检索出的坐标信息进行变更处理(例如修改、删除等操作)。坐标录入向导界面供操作人员输入坐标信息,包括但不限于操作位置名称、坐标序号、机器人各关节坐标等。The coordinate management interface can jump to the coordinate entry wizard interface for the operator to enter coordinate information and manage the entered coordinate information. As shown in FIG. 2C and FIG. 2D , FIG. 2C is a coordinate management interface, and FIG. 2D is a coordinate input wizard interface. The coordinate management interface allows the operator to click the new button to jump to the coordinate entry wizard interface, and complete the data entry through the coordinate entry wizard interface. The coordinate management interface not only allows the operator to enter new coordinate information, but also allows the operator to retrieve the database. The existing coordinate information corresponding to the operation position in the operation position (that is, the coordinate information of multiple places on the way to the operation position), the operator can change the retrieved coordinate information (such as modify, delete, etc.) according to the needs. The coordinate entry wizard interface is for the operator to input coordinate information, including but not limited to the operation position name, coordinate serial number, and the coordinates of each joint of the robot.

后端服务程序作为前端界面的服务端,部署于服务器中,采用Java(一门面向对象编程语言)编程的Socker开发而成,能够对数据库进行增加、删除、修改、查询操作。后端服务程序通过HTTP协议与前端界面进行数据交互,同时,又通过封装的TCP/IP通信协议与机器人进行数据交互。例如,操作人员在前端界面进行了机器人控制的操作,前端界面会将机器人操作指令发送给后端服务程序,后端服务程序接收机器人操作指令,并将机器人操作指令处理成能够直接控制机器人的指令后发送给机器人,机器人接收到操作指令,完成动作并回复数据给后端服务程序。机器人完成的动作包括但不限于各自由度方向步进移动、各关节步进移动、各自由度方向基于按键时间加速移动、各关节基于按键时间加速移动、通过末端IO控制末端执行器状态。As the server of the front-end interface, the back-end service program is deployed in the server and is developed by Socker programmed in Java (an object-oriented programming language). It can add, delete, modify and query the database. The back-end service program exchanges data with the front-end interface through the HTTP protocol, and at the same time, it exchanges data with the robot through the encapsulated TCP/IP communication protocol. For example, if an operator performs a robot control operation on the front-end interface, the front-end interface will send the robot operation instructions to the back-end service program, and the back-end service program will receive the robot operation instructions and process the robot operation instructions into instructions that can directly control the robot. After sending it to the robot, the robot receives the operation command, completes the action and replies the data to the back-end service program. The actions performed by the robot include, but are not limited to, step movement in the direction of each degree of freedom, step movement of each joint, accelerated movement in each degree of freedom direction based on key time, accelerated movement of each joint based on key time, and control of the state of the end effector through the terminal IO.

数据库可部署于服务器中,采用MySQL(一种开源的关系型数据库管理系统)数据库。数据库及后端服务程序可架设于不同服务器上。为了便于从数据库中调取信息,数据库对信息进行分类存储,一实施方式中,如图3所示,数据库包括:机器人信息数据库、机器人位置数据库及机器人坐标数据库。分别存储机器人信息表、机器人位置表及机器人坐标表。The database can be deployed in the server, using MySQL (an open source relational database management system) database. Database and back-end service programs can be set up on different servers. In order to facilitate retrieval of information from the database, the database classifies and stores the information. In one embodiment, as shown in FIG. 3 , the database includes: a robot information database, a robot position database, and a robot coordinate database. Store the robot information table, the robot position table and the robot coordinate table respectively.

其中,机器人信息数据库用于存储机器人相关信息,如图5A所示,包括但不限于机器人标识(“arm_id”及“arm_name”字段)、机器人IP地址(“arm_ip”字段)及端口标识(“arm_port”字段)等字段信息。通过机器人信息数据库能够查找并确定机器人示教系统中接入的机器人。具体实施时,机器人信息数据库还存储有机器人状态(“arm_status”字段)等信息。The robot information database is used to store robot-related information, as shown in FIG. 5A, including but not limited to the robot identification (“arm_id” and “arm_name” fields), robot IP address (“arm_ip” field) and port identification (“arm_port” "field) and other field information. The robot connected to the robot teaching system can be searched and determined through the robot information database. During specific implementation, the robot information database also stores information such as robot status (“arm_status” field).

图5A作为示例,仅管理了两台机器人,名称分别为主岛、副岛,具体实施时,可同时管理多台机器人。“arm_id”字段为机器人编号,“arm_name”字段为机器人名称,“arm_statue”字段为机器人状态,“arm_ip”字段为机器人IP地址,“arm_port”字段为机器人端口编号。具体实施时,还可根据机器人的应用场景设置其它字段,本文对此不作限定。As an example in FIG. 5A , only two robots are managed, and the names are respectively the main island and the sub-island. In specific implementation, multiple robots can be managed at the same time. The "arm_id" field is the robot ID, the "arm_name" field is the robot name, the "arm_statue" field is the robot status, the "arm_ip" field is the robot IP address, and the "arm_port" field is the robot port number. During specific implementation, other fields may also be set according to the application scenario of the robot, which is not limited in this article.

机器人位置表用于存储操作位置相关信息,如图5B所示,包括但不限于操作位置标识(“id”及“name”字段)、所属机器人标识(“arm”字段)、末端姿态信息等字段信息。一台机器人可对应多个操作位置,每一操作位置均对应一坐标序列。The robot position table is used to store information related to the operation position, as shown in Figure 5B, including but not limited to the operation position identification ("id" and "name" fields), the robot identification ("arm" field), the terminal attitude information and other fields information. A robot can correspond to multiple operating positions, and each operating position corresponds to a coordinate sequence.

图5B作为示例,管理了数十个操作位置,名称为“plateReader”等,图中“id”字段为位置编号,“name”字段为位置名称,“usePosture”字段为操作参数,“arm”字段为所属机器人,例如位置“plateReader”属于名称为“hansArmPrime”的机器人管理的位置。具体实施时,还可根据机器人的应用场景设置其它字段,本文对此不作限定。Figure 5B, as an example, manages dozens of operation positions named "plateReader", etc. In the figure, the "id" field is the position number, the "name" field is the position name, the "usePosture" field is the operation parameter, and the "arm" field is the operation parameter. For the owning robot, eg the position "plateReader" belongs to the position managed by the robot named "hansArmPrime". During specific implementation, other fields may also be set according to the application scenario of the robot, which is not limited in this article.

机器人坐标表用于存储坐标相关信息,如图5C所示,包括但不限于每一操作位置对应的坐标标识(“point_id”、“point_name”、“order_num”字段)、操作位置标识(“position_name”字段)、坐标序号(“order_num”字段)、各关节坐标信息(“p1-p6”字段)、路径类型(“move_type”字段)等字段信息。其中,坐标序号记录了从等待坐标到终点坐标的顺序,每一操作位置至少对应一个等待坐标(坐标序列中的第一个坐标)和一个终点坐标(即为完成操作的坐标)。具体实施时,还可根据机器人的应用场景设置其它字段,本文对此不作限定。The robot coordinate table is used to store coordinate-related information, as shown in Figure 5C, including but not limited to the coordinate identifier ("point_id", "point_name", and "order_num" fields) corresponding to each operation position, the operation position identifier ("position_name") field), coordinate serial number ("order_num" field), each joint coordinate information ("p1-p6" field), path type ("move_type" field) and other field information. Among them, the coordinate number records the sequence from the waiting coordinate to the end coordinate, and each operation position corresponds to at least one waiting coordinate (the first coordinate in the coordinate sequence) and one end coordinate (that is, the coordinate for completing the operation). During specific implementation, other fields may also be set according to the application scenario of the robot, which is not limited in this article.

图5C中示出了数十个坐标,例如为“plateReader_M0”等,坐标“plateReader_M0”是名称为“plateReader”坐标的0号坐标,即等待坐标。图中“point_id”字段为坐标编号,“point_name”字段为坐标名称,“position_name”字段为坐标所属操作位置,“order_num”字段为坐标序号,“p1-p6”字段为六个自由度的坐标值,“move_type”字段为路径类型。FIG. 5C shows dozens of coordinates, for example, "plateReader_M0", etc. The coordinate "plateReader_M0" is the 0th coordinate named "plateReader" coordinate, that is, the waiting coordinate. In the figure, the "point_id" field is the coordinate number, the "point_name" field is the coordinate name, the "position_name" field is the operation position to which the coordinate belongs, the "order_num" field is the coordinate number, and the "p1-p6" field is the coordinate value of the six degrees of freedom. , the "move_type" field is the path type.

目前而言,机器人通常有两种运行模式,一种为线性运行模式,另外一种为关节运行模式,对应运行模式的不同,坐标有两种保存方式。对于线性运行模式而言,各关节坐标信息指的是末端坐标的X,Y,Z,θx,θy,θz,即三轴线性坐标与对应的旋转坐标(L类型)。对于关节动作模式而言,各关节坐标信息指的是六个机械轴的角度数据(J类型)。At present, the robot usually has two operation modes, one is the linear operation mode, and the other is the joint operation mode. There are two ways to save the coordinates according to the different operation modes. For the linear operation mode, the coordinate information of each joint refers to the X, Y, Z, θ x , θ y , and θ z of the end coordinates, that is, the three-axis linear coordinate and the corresponding rotation coordinate (L type). In the joint motion mode, each joint coordinate information refers to the angle data (J type) of the six mechanical axes.

本文提供机器人示教系统,针对现有机器人控制方法操作繁杂重复及可变性差的缺陷,采用前端界面+服务器+数据库的方式来代替示教器。前端界面提供友好的操作界面,服务器中安装有后端服务程序,能够提供对前端界面的支持和对机器人的控制,数据库提供存储操作位置和其坐标序列的容器。操作人员可随时随地通过移动终端来打开前端界面,对机器人进行控制和示教,简化了机器人的操作,提高了机器人动作线路改变的效率,提升了机器人运用场景下的编程方便性。并且操作位置和其坐标序列的容器从机器人本体的存储介质变成了架设在网络中的数据库,极大地方便了这些信息的管理管理。同时不再需要配备专用的示教器,降低在硬件上所需要投入的成本。This paper provides a robot teaching system. Aiming at the defects of complicated and repetitive operation and poor variability of the existing robot control methods, the front-end interface + server + database is used to replace the teaching pendant. The front-end interface provides a friendly operation interface. The back-end service program is installed in the server, which can provide support for the front-end interface and control of the robot. The database provides a container for storing the operation position and its coordinate sequence. The operator can open the front-end interface through the mobile terminal anytime and anywhere to control and teach the robot, which simplifies the operation of the robot, improves the efficiency of changing the robot's action line, and improves the programming convenience in the application scenario of the robot. And the container of the operation position and its coordinate sequence has changed from the storage medium of the robot body to the database set up in the network, which greatly facilitates the management of these information. At the same time, it no longer needs to be equipped with a dedicated teaching pendant, which reduces the cost of hardware investment.

本文一实施例中,如图4所示,移动终端接收操作人员通过前端界面输入的机器人操作指令、机器人到达操作位置经历的多处坐标信息,将机器人操作指令、机器人到达操作位置经历的多处坐标信息发送至所述服务器过程包括:In an embodiment of this paper, as shown in FIG. 4 , the mobile terminal receives the robot operation instruction input by the operator through the front-end interface, and the coordinate information of the multiple locations that the robot has experienced to reach the operation position, and the robot operation instruction and the multiple locations experienced by the robot to reach the operation position are received. The process of sending the coordinate information to the server includes:

步骤401,前端界面接收操作人员输入的机器人操作指令,将机器人操作指令发送至服务器。以使服务器将机器人操作指令转换成机器人识别的操作指令后发送至机器人,机器人根据接收到的操作指令进行动作。Step 401, the front-end interface receives the robot operation instruction input by the operator, and sends the robot operation instruction to the server. So that the server converts the robot operation instruction into an operation instruction recognized by the robot and sends it to the robot, and the robot moves according to the received operation instruction.

详细的说,如图2A所示,通过前端界面可以实现如下信息的设定:待示教的机器人信息,步进模式,位置控制,姿态控制,关节控制,夹爪、转盘控制等。In detail, as shown in Figure 2A, the following information can be set through the front-end interface: robot information to be taught, stepping mode, position control, attitude control, joint control, gripper, turntable control, etc.

步骤402,待所述机器人完成动作后,前端界面接收操作人员输入的机器人当前坐标信息,将机器人当前坐标信息作为机器人到达操作位置途径的一处坐标信息发送至服务器。以使服务器将机器人到达操作位置途径的该处坐标信息存储于数据库中。返回步骤401继续执行,直至机器人到达操作位置。Step 402: After the robot completes the action, the front-end interface receives the current coordinate information of the robot input by the operator, and sends the current coordinate information of the robot to the server as a coordinate information of the way the robot reaches the operating position. So that the server stores the coordinate information of the way the robot reaches the operation position in the database. Return to step 401 and continue to execute until the robot reaches the operating position.

本步骤中,每处坐标信息包括:机器人操作位置名称、坐标名称及坐标信息。In this step, each coordinate information includes: robot operation position name, coordinate name and coordinate information.

待机器人完成动作之后,由操作人员决定是否需要输入机器人操作位置的坐标信息,若操作人员决定不输入机器人操作的坐标信息,则返回图2A所示界面继续输入机器人操作指令。若操作人员决定输入机器人操作位置的坐标信息,则操作人员可通过图2C坐标管理界面跳转至图2D坐标录入向导界面录入坐标信息,坐标信息中的操作位置名称、坐标名称需人工录入,机器人的坐标数据可由操作人员通过触发机器人坐标获取按钮(getL,getJ按钮)获取,操作人员触发机器人坐标获取按钮后,前端界面会发出机器人坐标查询请求至服务器,服务器将该请求转发至机器人,从而获得机器人坐标信息,将获得的机器人坐标信息发送至前端界面显示。除了该种输入坐标信息方式外,还可以通过外接视觉系统或其他辅助示教工具,计算出机器人的坐标信息,直接导入坐标数据库中。After the robot completes the action, the operator decides whether to input the coordinate information of the robot operation position. If the operator decides not to input the coordinate information of the robot operation, the operator returns to the interface shown in FIG. 2A and continues to input the robot operation command. If the operator decides to input the coordinate information of the robot operating position, the operator can jump to the coordinate input wizard interface in Figure 2D to enter the coordinate information through the coordinate management interface in Figure 2C. The operation position name and coordinate name in the coordinate information need to be entered manually. The coordinate data can be obtained by the operator by triggering the robot coordinate acquisition button (getL, getJ button). After the operator triggers the robot coordinate acquisition button, the front-end interface will send a robot coordinate query request to the server, and the server will forward the request to the robot. Robot coordinate information, send the obtained robot coordinate information to the front-end interface for display. In addition to this method of inputting coordinate information, the coordinate information of the robot can also be calculated through an external vision system or other auxiliary teaching tools and directly imported into the coordinate database.

操作人员可通过图2B所示界面预先录入操作位置信息(包括操作位置名称、所属机器人名称),还可对已录入的操作位置信息进行修改、删除、导出等操作。The operator can pre-enter the operation position information (including the name of the operation position and the name of the robot to which it belongs) through the interface shown in FIG. 2B , and can also modify, delete, and export the entered operation position information.

本文一实施例中,服务器除了转发及存储信息外,还根据数据库中存储的信息提供数据库服务,服务包括对数据库中的数据进行增加、删除、修改、查询。具体的,移动终端还接收操作人员通过所述前端界面输入的操作位置查询指令、变更指令(删除或修改)或操作位置途径坐标信息查询指令或变更指令,将查询指令、变更指令发送至服务器;服务器根据查询指令从数据库获取相应信息,服务器根据变更指令变更数据库中的信息。In an embodiment of this document, in addition to forwarding and storing information, the server also provides database services according to the information stored in the database, and the services include adding, deleting, modifying, and querying data in the database. Specifically, the mobile terminal also receives the operation position query instruction, the change instruction (deletion or modification) or the operation position route coordinate information query instruction or the change instruction input by the operator through the front-end interface, and sends the query instruction and the change instruction to the server; The server obtains the corresponding information from the database according to the query instruction, and the server changes the information in the database according to the change instruction.

本文一实施例中,如图6所示,还提供一种机器人控制系统,包括上位机150及图1所示的机器人示教系统。机器人示教系统完成机器人到达操作位置途径的多处坐标信息输入后,即可通过上位机对机器人进行控制。In an embodiment of this document, as shown in FIG. 6 , a robot control system is also provided, including the upper computer 150 and the robot teaching system shown in FIG. 1 . After the robot teaching system completes the input of multiple coordinate information on the way the robot reaches the operating position, the robot can be controlled by the host computer.

上位机150连接服务器120,用于发出操作任务至服务器120,其中,操作任务中至少包括操作位置。The upper computer 150 is connected to the server 120 for sending an operation task to the server 120, wherein the operation task at least includes an operation position.

服务器120根据操作任务,从数据库130中查询操作位置对应的机器人信息及操作位置对应的多处坐标信息(即坐标序列);根据查询出的信息,发出操作指令至相关的机器人。The server 120 searches the database 130 for the robot information corresponding to the operation position and the coordinate information (ie, coordinate sequence) corresponding to the operation position from the database 130 according to the operation task;

机器人140响应操作指令,以完成操作任务。The robot 140 responds to the operation instruction to complete the operation task.

详细的说,本文所述的上位机包括但不限于计算机设备、服务器等。上位机及机器人示教系统可架设于同一局域网内,还可架设于云端(万维网)内,各个器件之间的通信不限于网线连接或者无线网络连接,也可以使用蜂窝网络。In detail, the upper computer described herein includes but is not limited to computer equipment, servers, and the like. The host computer and the robot teaching system can be set up in the same local area network or in the cloud (World Wide Web). The communication between each device is not limited to network cable connection or wireless network connection, but also cellular network.

操作任务可以概括为沿着某条轨迹动作到操作位置,完成某个末端动作,除了包括操作位置外,还可包括待执行目标操作。The operation task can be summarized as moving along a certain trajectory to the operation position, and completing a certain terminal action. In addition to the operation position, it can also include the target operation to be performed.

服务器120根据操作位置从数据库中查询与操作位置相对应的机器人信息及坐标序列。根据机器人信息及待执行目标操作,依次按照坐标序列中坐标顺序,通过TCP/IP通信协议向机器人发送操作子指令,以使机器人动作到所有坐标点。每一操作子指令中包含坐标序列中的一坐标信息及待执行目标操作。The server 120 queries the database for robot information and a coordinate sequence corresponding to the operation position according to the operation position. According to the robot information and the target operation to be performed, the operation sub-commands are sent to the robot through the TCP/IP communication protocol according to the coordinate sequence in the coordinate sequence, so that the robot can move to all coordinate points. Each operation sub-command includes a coordinate information in the coordinate sequence and the target operation to be executed.

机器人根据操作子指令中的坐标信息进行动作,待动作到最后一坐标信息时,根据待执行目标操作进行操作。机器人完成操作后,按照坐标序列倒序从终点坐标回到等待坐标,任务完成,回复上位机完成状态。The robot moves according to the coordinate information in the operation sub-command, and when it reaches the last coordinate information, it operates according to the target operation to be executed. After the robot completes the operation, it will return from the end point coordinates to the waiting coordinates according to the reverse sequence of the coordinate sequence, the task is completed, and the completion status of the host computer will be returned.

本文一具体实施例中,机器人可选用大族机器人Elfin E05型号协作机械臂,在使用过程中将与服务器局域网连接的网络电缆插入到控制柜中的以太网接口。实施时,还可选用其它类型的机器人,本文对机器人的型号不做具体限定。In a specific embodiment of this article, the robot can select the Elfin E05 collaborative manipulator of Han's Robot, and insert the network cable connected with the server LAN into the Ethernet interface in the control cabinet during use. During implementation, other types of robots can also be selected, and the model of the robot is not specifically limited in this paper.

本文一实施例中,为了保证坐标序列的准确性,服务器120查询到操作位置对应的多处坐标信息之后,还包括:In an embodiment of this document, in order to ensure the accuracy of the coordinate sequence, after the server 120 inquires about the coordinate information corresponding to the operation position, it further includes:

检测所述操作位置对应的多处坐标个数是否达到轨迹序列最小值;若判断结果为否,则发出报警信息,以提醒用户查询出的坐标不完整,需要重新录入操作位置对应的坐标信息。Detect whether the number of coordinates corresponding to the operation position reaches the minimum value of the trajectory sequence; if the judgment result is no, an alarm message is issued to remind the user that the coordinates queried are incomplete and the coordinate information corresponding to the operation position needs to be re-entered.

本文一实施例中,还提供一种机器人示教方法,如图7所示,机器人示教方法包括:In an embodiment of this document, a robot teaching method is also provided. As shown in FIG. 7 , the robot teaching method includes:

步骤701,移动终端接收操作人员通过前端界面输入的机器人操作指令,将机器人操作指令发送至服务器;Step 701, the mobile terminal receives the robot operation instruction input by the operator through the front-end interface, and sends the robot operation instruction to the server;

步骤702,服务器接收机器人操作指令,将机器人操作指令转换成机器人能识别的操作指令后发送至机器人;Step 702, the server receives the robot operation instruction, converts the robot operation instruction into an operation instruction that the robot can recognize, and sends it to the robot;

步骤703,机器人根据接收到的操作指令进行动作;Step 703, the robot moves according to the received operation instruction;

步骤704,机器人动作完后,移动终端通过前端界面接收操作人员输入的机器人当前坐标信息,将机器人当前坐标信息作为机器人到达操作位置途径的一处坐标信息发送至服务器;Step 704, after the robot moves, the mobile terminal receives the current coordinate information of the robot input by the operator through the front-end interface, and sends the current coordinate information of the robot to the server as a coordinate information of the way the robot reaches the operating position;

步骤705,服务器将机器人到达操作位置途径的该处坐标信息存储于所述数据库。Step 705, the server stores the coordinate information of the path of the robot to the operation position in the database.

详细的说,如图8所示,步骤701中操作人员通过前端界面输入机器人操作指令的过程包括:In detail, as shown in FIG. 8 , in step 701, the process for the operator to input the robot operation instruction through the front-end interface includes:

首先,操作人员打开前端界面,此时前端界面会发出机器人查询请求至服务器的后端服务程序,后端服务程序将机器人查询请求转发至机器人信息数据库,以从机器人信息数据库中获取机器人信息,数据库将机器人信息发送至后端服务器程序,后端服务程序将机器人信息以列表的形式发送至前端界面,前端界面将机器人列表以下拉框的形式展示于操作指令按键界面,如图2A所示,由操作人员选择想要示教的机器人;First, the operator opens the front-end interface. At this time, the front-end interface will send a robot query request to the server's back-end service program. The back-end service program forwards the robot query request to the robot information database to obtain robot information from the robot information database. Send the robot information to the back-end server program, the back-end service program sends the robot information to the front-end interface in the form of a list, and the front-end interface displays the robot list in the form of a drop-down box on the operation command button interface, as shown in Figure 2A, by The operator selects the robot that he wants to teach;

其次,操作人员在操作指令按键界面进行机器人控制的操作,操作人员通过用鼠标或者触屏点击操作指令按键界面中的各个按钮输入机器人操作指令,包括各自由度方向步进移动、各关节步进移动、各自由度方向基于按键时间加速移动、各关节基于按键时间加速移动、通过末端IO控制末端执行器状态;Secondly, the operator performs the robot control operation on the operation instruction button interface. The operator inputs the robot operation instructions by clicking each button in the operation instruction button interface with the mouse or touch screen, including the step movement of each degree of freedom direction, the step movement of each joint Movement, the direction of each degree of freedom is accelerated based on the key time, each joint is accelerated based on the key time, and the state of the end effector is controlled through the terminal IO;

最后,操作人员通过点击操作指令按键界面中的遥控按钮,使得前端界面发出机器人操作指令至服务器的后端服务程序。Finally, the operator clicks the remote control button in the operation instruction button interface, so that the front-end interface sends out the robot operation instruction to the back-end service program of the server.

上述步骤702中,服务器后端服务程序接收机器人操作指令,将机器人操作指令处理成能够直接控制机器人的指令发送给机器人。In the above step 702, the server backend service program receives the robot operation instruction, processes the robot operation instruction into an instruction capable of directly controlling the robot, and sends it to the robot.

上述步骤703中,机器人根据指令完成动作后,还回复数据给后端服务程序,后端服务程序处理收到的数据并返回机器人完成状况给前端界面。In the above step 703, after the robot completes the action according to the instruction, it also returns data to the back-end service program, and the back-end service program processes the received data and returns the completion status of the robot to the front-end interface.

对于上述步骤704是否执行,由操作人员根据需求确定。若操作人员决定记录机器人的坐标,则操作人员可以先点击图2C所示坐标管理界面中的新增按钮,此时,管理界面会跳转至图2D所示的坐标录入向导界面,操作人员可以在图2D所示界面中录入操作位置的坐标信息,包括:坐标编号、操作位置名称、所属机器人、在轨迹中的序号、各关节坐标数据。其中各关节坐标数据可以通过点击getL及getJ按钮让后端服务程序向机器人查询各个关节的当前坐标录入前端,点击确认,完成当前坐标的录入。Whether the above step 704 is executed is determined by the operator according to requirements. If the operator decides to record the coordinates of the robot, the operator can first click the new button in the coordinate management interface shown in Figure 2C. At this time, the management interface will jump to the coordinate input wizard interface shown in Figure 2D, and the operator can In the interface shown in FIG. 2D , the coordinate information of the operation position is entered, including: coordinate number, name of the operation position, the robot to which it belongs, the serial number in the trajectory, and the coordinate data of each joint. Among them, the coordinate data of each joint can be entered into the front-end by clicking the getL and getJ buttons to let the back-end service program query the robot for the current coordinates of each joint, and click OK to complete the entry of the current coordinates.

每一操作位置均至少包括一个等待坐标和一个终点坐标。上述步骤705执行完后,由操作人员确定是否需要继续录入操作位置对应的坐标信息,若需要继续录入,需要操作人员继续输入机器人操作指令,重复执行上述步骤,直至操作位置中的坐标信息录入完整。Each operation position includes at least one waiting coordinate and one end point coordinate. After the above-mentioned step 705 is performed, the operator determines whether to continue to enter the coordinate information corresponding to the operation position. If it is necessary to continue to enter the coordinate information, the operator needs to continue to enter the robot operation instruction, and repeat the above steps until the coordinate information in the operation position is completely entered. .

机器人示教过程中,操作人员还可通过调取图2B所示位置管理界面录入操作位置信息、查询或变更(删除、修改)操作位置信息。通过调取图2C所示坐标管理界面查询或变更已保存的坐标信息。后端服务程序响应前端所有的操作,完成数据库中数据的变更。During the robot teaching process, the operator can also enter the operation position information, query or change (delete, modify) the operation position information by calling the position management interface shown in FIG. 2B . Query or change the saved coordinate information by calling the coordinate management interface shown in FIG. 2C . The back-end service program responds to all the operations of the front-end and completes the data changes in the database.

本实施例使得操作人员通过响应操作人员操作的web网页控制机器人,脱离传统的示教器,单个移动终端可以管理任意数量的机器人,操作人员可随时随地通过移动终端(例如电脑/手机/平板)来打开前端界面,对机器人进行控制和示教,简化了机器人的操作,提高了机器人动作线路改变的效率,提升了机器人运用场景下的编程方便性。并且操作位置和其坐标序列的存储容器从机器人本体的存储介质变成了架设在网络中的数据库,极大地方便了这些信息的管理管理。同时不再需要配备专用的示教器,降低在硬件上所需要投入的成本。This embodiment enables the operator to control the robot through the web page that responds to the operator's operation, without the traditional teaching pendant, a single mobile terminal can manage any number of robots, and the operator can use the mobile terminal (such as computer/mobile phone/tablet) anytime and anywhere. To open the front-end interface, control and teach the robot, simplify the operation of the robot, improve the efficiency of changing the robot's action line, and improve the programming convenience in the robot application scenario. And the storage container of the operation position and its coordinate sequence has changed from the storage medium of the robot body to the database set up in the network, which greatly facilitates the management of these information. At the same time, it no longer needs to be equipped with a dedicated teaching pendant, which reduces the cost of hardware investment.

当完成操作位置相关坐标的示教后,就可以利用上位机对机器人进行控制,本文一实施例中,如图9所示,机器人控制方法包括:After completing the teaching of the coordinates related to the operation position, the upper computer can be used to control the robot. In an embodiment of this paper, as shown in FIG. 9 , the robot control method includes:

步骤901,由上位机发出操作任务至服务器,其中,所述操作任务中至少包括操作位置;Step 901, the upper computer sends an operation task to the server, wherein the operation task at least includes an operation position;

步骤902,服务器根据操作任务,从数据库中查询操作位置对应的机器人信息及操作位置对应的多处坐标信息(即坐标序列);根据查询出的信息,发出操作指令至相关的机器人;Step 902, the server inquires the robot information corresponding to the operation position and the multiple coordinate information (i.e. the coordinate sequence) corresponding to the operation position from the database according to the operation task; according to the inquired information, sends an operation instruction to the relevant robot;

步骤903,机器人响应操作指令,以完成操作任务。Step 903, the robot responds to the operation instruction to complete the operation task.

详细的说,操作任务用于指示机器人去操作位置A去完成操作并返回,可由人工进行设定。Specifically, the operation task is used to instruct the robot to go to the operation position A to complete the operation and return, and can be set manually.

本实施例通过服务器发出操作指令至机器人,能够避免将这些数据写入机器人自身的程序或存储介质内。机器人、上位机、移动终端、服务器、数据库彼此之间通过网络进行连接,彼此之间可以独立工作互不干扰,例如移动终端不需要和某台机器人绑定,一套移动终端、上位机、服务器、数据库可以服务于多台机器人。In this embodiment, the server sends an operation instruction to the robot, which can avoid writing these data into the robot's own program or storage medium. The robot, host computer, mobile terminal, server, and database are connected to each other through the network, and can work independently of each other without interfering with each other. For example, the mobile terminal does not need to be bound to a robot, and a set of mobile terminal, host computer, server , The database can serve multiple robots.

如图10所示,上述步骤902执行的具体过程包括:先接受上位机发送的操作任务,根据操作任务中的操作位置A从机器人位置数据库中查询相应机器人名称;然后,根据查询出的机器人名称从机器人信息数据库中查询机器人IP地址等参数信息,并根据操作任务中的操作位置A从坐标数据库中查询操作位置A相关的坐标序列;接着,根据机器人IP地址等参数信息及坐标序列,通过TCP/IP通信协议向机器人发送操作指令,控制机器人运动到坐标序列中的第一个坐标,在依据坐标序列中的坐标序号,控制机器人运动到所有坐标点。As shown in FIG. 10 , the specific process performed in the above step 902 includes: firstly accepting the operation task sent by the host computer, querying the corresponding robot name from the robot position database according to the operation position A in the operation task; then, according to the queried robot name Query parameter information such as the robot IP address from the robot information database, and query the coordinate sequence related to the operation position A from the coordinate database according to the operation position A in the operation task; then, according to the parameter information such as the robot IP address and the coordinate sequence, through TCP The /IP communication protocol sends operation instructions to the robot, controls the robot to move to the first coordinate in the coordinate sequence, and controls the robot to move to all coordinate points according to the coordinate number in the coordinate sequence.

上述步骤903中,机器人到达坐标序列中的最后一个坐标时完成操作,同时回复完成状态至后端服务程序。当后端服务程序判断出机器人已经达到最后坐标时,完成操作任务,发送完成信号至上位机。In the above step 903, the robot completes the operation when it reaches the last coordinate in the coordinate sequence, and at the same time returns the completion status to the back-end service program. When the back-end service program determines that the robot has reached the final coordinate, it completes the operation task and sends a completion signal to the host computer.

具体实施时,机器人完成操作任务之后,还按照坐标序列的倒序次从终点回到初始点。In specific implementation, after the robot completes the operation task, it also returns from the end point to the initial point according to the reverse order of the coordinate sequence.

本文提供的机器人示教系统及方法、机器人控制系统及方法,采用前端界面+服务器+数据库的方式来代替示教器,能够使机器人的控制从示教器中脱离出来,可完全摒弃示教器,降低了机器人系统的成本。前端界面提供友好的操作界面,服务器中安装有后端服务程序,能够提供对前端界面的支持和对机器人的控制,数据库提供存储操作位置和其坐标序列的容器。操作人员可随时随地通过移动终端(例如电脑/手机/平板)来打开前端界面,对机器人进行控制和示教,简化了机器人的操作,提高机器人动作线路改变的效率,提升的是机器人运用场景下的编程方便性,无需操作人员花大量的时间去学习机器人复杂的编程系统,只需要专注于坐标的示教即可。本文降低了对操作人员门槛,只需简单培训便能掌握机器人示教及控制的本领。The robot teaching system and method, and the robot control system and method provided in this paper use the front-end interface + server + database to replace the teaching pendant, which can separate the control of the robot from the teaching pendant and completely abandon the teaching pendant. , reducing the cost of robotic systems. The front-end interface provides a friendly operation interface. The back-end service program is installed in the server, which can provide support for the front-end interface and control of the robot. The database provides a container for storing the operation position and its coordinate sequence. The operator can open the front-end interface through a mobile terminal (such as computer/mobile phone/tablet) anytime and anywhere to control and teach the robot, which simplifies the operation of the robot and improves the efficiency of changing the action line of the robot. The convenience of programming, the operator does not need to spend a lot of time to learn the complex programming system of the robot, and only needs to focus on the teaching of coordinates. This paper lowers the threshold for operators, and only needs simple training to master the skills of robot teaching and control.

本文一实施例中,移动终端、服务器还可以为计算机设备,计算机设备运行前端界面或后端服务程序,如图11所示,计算机设备1102可以包括一个或多个处理器1104,诸如一个或多个中央处理单元(CPU),每个处理单元可以实现一个或多个硬件线程。计算机设备1102还可以包括任何存储器1106,其用于存储诸如代码、设置、数据等之类的任何种类的信息。非限制性的,比如,存储器1106可以包括以下任一项或多种组合:任何类型的RAM,任何类型的ROM,闪存设备,硬盘,光盘等。更一般地,任何存储器都可以使用任何技术来存储信息。进一步地,任何存储器可以提供信息的易失性或非易失性保留。进一步地,任何存储器可以表示计算机设备1102的固定或可移除部件。在一种情况下,当处理器1104执行被存储在任何存储器或存储器的组合中的相关联的指令时,计算机设备1102可以执行相关联指令的任一操作。计算机设备1102还包括用于与任何存储器交互的一个或多个驱动机构1108,诸如硬盘驱动机构、光盘驱动机构等。In an embodiment of this document, the mobile terminal and server may also be a computer device, and the computer device runs a front-end interface or a back-end service program. As shown in FIG. 11 , the computer device 1102 may include one or more processors 1104 , such as one or more processors 1104 . A central processing unit (CPU), each of which can implement one or more hardware threads. The computer device 1102 may also include any memory 1106 for storing any kind of information such as code, settings, data, and the like. By way of non-limiting example, memory 1106 may include any one or a combination of the following: any type of RAM, any type of ROM, flash memory devices, hard disks, optical disks, and the like. More generally, any memory can use any technology to store information. Further, any memory can provide volatile or non-volatile retention of information. Further, any memory may represent a fixed or removable component of computer device 1102. In one instance, when the processor 1104 executes the associated instructions stored in any memory or combination of memories, the computer device 1102 may perform any operation of the associated instructions. The computer device 1102 also includes one or more drive mechanisms 1108 for interacting with any memory, such as a hard disk drive mechanism, an optical disk drive mechanism, and the like.

计算机设备1102还可以包括输入/输出模块1110(I/O),其用于接收各种输入(经由输入设备1112)和用于提供各种输出(经由输出设备1114))。一个具体输出机构可以包括呈现设备1116和相关联的图形操作人员接口1118(GUI)。在其他实施例中,还可以不包括输入/输出模块1110(I/O)、输入设备1112以及输出设备1114,仅作为网络中的一台计算机设备。计算机设备1102还可以包括一个或多个网络接口1120,其用于经由一个或多个通信链路1122与其他设备交换数据。一个或多个通信总线1124将上文所描述的部件耦合在一起。Computer device 1102 may also include an input/output module 1110 (I/O) for receiving various inputs (via input device 1112 ) and for providing various outputs (via output device 1114 ). A specific output mechanism may include presentation device 1116 and associated graphical operator interface 1118 (GUI). In other embodiments, the input/output module 1110 (I/O), the input device 1112 and the output device 1114 may not be included, and only serve as a computer device in the network. Computer device 1102 may also include one or more network interfaces 1120 for exchanging data with other devices via one or more communication links 1122 . One or more communication buses 1124 couple together the components described above.

通信链路1122可以以任何方式实现,例如,通过局域网、广域网(例如,因特网)、点对点连接等、或其任何组合。通信链路1122可以包括由任何协议或协议组合支配的硬连线链路、无线链路、路由器、网关功能、名称服务器等的任何组合。Communication link 1122 may be implemented in any manner, eg, through a local area network, a wide area network (eg, the Internet), a point-to-point connection, etc., or any combination thereof. Communication links 1122 may include any combination of hardwired links, wireless links, routers, gateway functions, name servers, etc. governed by any protocol or combination of protocols.

本文实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行前端界面或后端服务器程序执行的步骤。The embodiments herein also provide a computer-readable storage medium, where a computer program is stored on the computer-readable storage medium, and when the computer program is executed by the processor, the steps performed by the front-end interface or the back-end server program are executed.

本文实施例还提供一种计算机可读指令,其中当处理器执行所述指令时,其中的程序使得处理器执行前端界面或后端服务器程序的步骤。Embodiments herein also provide computer-readable instructions, wherein when a processor executes the instructions, the program therein causes the processor to perform steps of a front-end interface or a back-end server program.

应理解,在本文的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本文实施例的实施过程构成任何限定。It should be understood that, in the various embodiments herein, the size of the sequence numbers of the above-mentioned processes does not mean the sequence of execution, and the execution sequence of each process should be determined by its functions and internal logic, rather than the implementation of the embodiments herein. The process constitutes any qualification.

还应理解,在本文实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。It should also be understood that, in the embodiments herein, the term "and/or" is only an association relationship for describing associated objects, indicating that there may be three kinds of relationships. For example, A and/or B can mean that A exists alone, A and B exist at the same time, and B exists alone. In addition, the character "/" in this document generally indicates that the related objects are an "or" relationship.

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本文的范围。Those of ordinary skill in the art can realize that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. Interchangeability, the above description has generally described the components and steps of each example in terms of function. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Skilled artisans may implement the described functionality using different methods for each particular application, but such implementations should not be considered beyond the scope of this document.

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working process of the system, device and unit described above may refer to the corresponding process in the foregoing method embodiments, which will not be repeated here.

在本文所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。In the several embodiments provided herein, it should be understood that the disclosed system, apparatus and method may be implemented in other manners. For example, the apparatus embodiments described above are only illustrative. For example, the division of the units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored, or not implemented. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may also be electrical, mechanical or other forms of connection.

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本文实施例方案的目的。The units described as separate components may or may not be physically separated, and components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solutions in the embodiments herein.

另外,在本文各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。In addition, each functional unit in each of the embodiments herein may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit. The above-mentioned integrated units may be implemented in the form of hardware, or may be implemented in the form of software functional units.

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本文的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本文各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。The integrated unit, if implemented in the form of a software functional unit and sold or used as an independent product, may be stored in a computer-readable storage medium. Based on this understanding, the technical solutions in this article are essentially or make contributions to the prior art, or all or part of the technical solutions can be embodied in the form of software products, and the computer software products are stored in a storage medium , including several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments herein. The aforementioned storage medium includes: U disk, removable hard disk, Read-Only Memory (ROM, Read-Only Memory), Random Access Memory (RAM, Random Access Memory), magnetic disk or optical disk and other media that can store program codes .

本文中应用了具体实施例对本文的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本文的方法及其核心思想;同时,对于本领域的一般技术人员,依据本文的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本文的限制。The principles and implementations of this paper are described by using specific examples in this paper. The descriptions of the above examples are only used to help understand the methods and core ideas of this paper; , there will be changes in the specific implementation manner and application scope. In summary, the content of this specification should not be construed as a limitation to this article.

Claims (7)

1. A robot control system, comprising: an upper computer and a robot teaching system;
the robot teaching system comprises a mobile terminal, a server, a database and a plurality of robots, wherein a front-end interface provided by the server is installed in the mobile terminal, and a back-end service program is installed in the server;
the mobile terminal is connected with the server, positions the robot to be taught in a mode of accessing a website which is pasted on the robot and corresponds to a front-end interface of the robot to be taught, is used for receiving a robot operation instruction which is input by an operator through the front-end interface and multi-position coordinate information of an approach of the robot to an operation position, and sends the robot operation instruction and the multi-position coordinate information of the approach of the robot to the operation position to the server;
the server is connected with the database, receives the robot operation instruction and the coordinate information of a plurality of paths of the robot to the operation position through a back-end service program, stores the coordinate information of the plurality of paths of the robot to the operation position in the database, converts the robot operation instruction into an operation instruction recognized by the robot and then sends the operation instruction to the robot;
the robot is used for acting according to the received operation instruction;
the upper computer is connected with the server and used for sending an operation task to the server, wherein the operation task at least comprises an operation position;
the server inquires the robot information corresponding to the operation position and the coordinate information corresponding to the operation position in the operation task from the database according to the operation task; detecting whether the number of the coordinates at a plurality of positions corresponding to the inquired operation position reaches the minimum value of the track sequence; if the judgment result is negative, sending alarm information; if the judgment result is yes, sending an operation instruction to the relevant robot according to the inquired information; the coordinate information of the multiple positions is a coordinate sequence and comprises coordinate information from a waiting coordinate to an end point coordinate;
the robot responds to the operation instruction to complete an operation task; and after the robot finishes the operation task, returning to the waiting coordinate from the terminal coordinate in a reverse order according to the inquired coordinate information, and recovering the finishing state of the upper computer.
2. The robot control system according to claim 1, wherein the mobile terminal receives a robot operation command and a plurality of coordinate information of a robot arriving at an operation position, which are input by an operator through the front-end interface, and transmits the robot operation command and the plurality of coordinate information of the robot arriving at the operation position to the server, and the method comprises:
the front-end interface receives a robot operation instruction input by an operator and sends the robot operation instruction to the server;
after the robot finishes the action, the front-end interface receives the current coordinate information of the robot input by an operator, and the current coordinate information of the robot is used as coordinate information of a path of the robot to reach an operation position and is sent to the server;
and repeating the two steps until the robot reaches the operation position.
3. The robot control system of claim 1, wherein the robot operating instructions comprise at least: robot information to be taught, respective degrees of movement in the stepping direction, and respective joint stepping movement amounts.
4. The robot control system of claim 1, wherein the database comprises: a robot information database, a robot position database and a robot coordinate database;
the robot information database is used for storing a robot identifier, a robot IP address and a port identifier;
the robot position database is used for storing an operation position identifier, a robot identifier and terminal attitude information;
and the robot coordinate database is used for storing the coordinate identification, the coordinate serial number and the joint coordinate information of each operation position and path.
5. The robot control system according to claim 4, wherein the mobile terminal further receives an operation position change instruction or an operation position route coordinate information change instruction input by an operator through the front-end interface, and transmits the change instruction to a server;
and the server changes the information in the database according to the change instruction.
6. The robot control system according to claim 1, wherein the server issues an operation command to the relevant robot according to the inquired information, including:
the server sends out operation sub-instructions to the relevant robots according to the inquired robot information and the sequence of the coordinate information at a plurality of positions corresponding to the operation positions;
and the related robot acts according to the operation sub-instruction.
7. A robot control method, comprising:
the method comprises the steps that a mobile terminal positions a robot to be taught in a mode of accessing a website which is pasted on the robot and corresponds to a front-end interface of the teaching robot, receives a robot operation instruction input by an operator through the front-end interface, and sends the robot operation instruction to a server;
the server receives the robot operation instruction, converts the robot operation instruction into an operation instruction which can be identified by the robot and then sends the operation instruction to the robot;
the robot acts according to the received operation instruction;
after the robot acts, the mobile terminal receives the current coordinate information of the robot input by an operator through the front-end interface, and sends the current coordinate information of the robot to the server as coordinate information of a path where the robot reaches an operation position; the server stores the coordinate information of the path of the robot to the operation position in a database;
sending an operation task to a server by an upper computer, wherein the operation task at least comprises an operation position;
the server inquires the robot information corresponding to the operation position and the coordinate information corresponding to the operation position in the operation task from a database according to the operation task; detecting whether the number of the coordinates at a plurality of positions corresponding to the inquired operation position reaches the minimum value of the track sequence; if the judgment result is negative, sending alarm information; if the judgment result is yes, sending an operation instruction to the relevant robot according to the inquired information; the coordinate information of the multiple positions is a coordinate sequence and comprises coordinate information from a waiting coordinate to an end point coordinate;
the robot responds to the operation instruction to complete an operation task; and after the robot finishes the operation task, returning to the waiting coordinate from the terminal coordinate in a reverse order according to the inquired coordinate information, and recovering the finishing state of the upper computer.
CN202110431428.1A 2021-04-21 2021-04-21 Robot control system and method Active CN113043250B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110431428.1A CN113043250B (en) 2021-04-21 2021-04-21 Robot control system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110431428.1A CN113043250B (en) 2021-04-21 2021-04-21 Robot control system and method

Publications (2)

Publication Number Publication Date
CN113043250A CN113043250A (en) 2021-06-29
CN113043250B true CN113043250B (en) 2022-09-16

Family

ID=76519877

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110431428.1A Active CN113043250B (en) 2021-04-21 2021-04-21 Robot control system and method

Country Status (1)

Country Link
CN (1) CN113043250B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114747998A (en) * 2022-04-14 2022-07-15 上海景吾酷租科技发展有限公司 Method and system for remotely editing cleaning track of cleaning robot
CN115781635B (en) * 2022-11-04 2024-08-06 北京镁伽机器人科技有限公司 Robot teaching method and device, electronic device, and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006007341A (en) * 2004-06-23 2006-01-12 Mitsubishi Heavy Ind Ltd Communication method, robot task executing method and system
KR20110026559A (en) * 2009-09-08 2011-03-16 주식회사 유진로봇 Real-time network interworking system for educational robot service
WO2014000567A1 (en) * 2012-06-26 2014-01-03 腾讯科技(深圳)有限公司 Method, system and terminal for obtaining and delivering an instruction, server and storage medium
CN104417504A (en) * 2013-08-30 2015-03-18 国家电网公司 Security protection subsystem of battery replacing system of electric car
CN108908363A (en) * 2018-07-23 2018-11-30 合肥工业大学 Wireless dragging teaching machine system and its active teaching method for spray robot

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3651295B2 (en) * 1999-01-18 2005-05-25 日産自動車株式会社 Welding robot identification system
KR101096068B1 (en) * 2011-05-24 2011-12-20 주식회사 엔티리서치 Portable teaching terminal for robot vision inspection and inspection robot teaching method
WO2013150597A1 (en) * 2012-04-02 2013-10-10 株式会社安川電機 Robot system and robot control device
EP2749974A2 (en) * 2012-12-28 2014-07-02 Kabushiki Kaisha Yaskawa Denki Robot teaching system, robot teaching assistant device, and robot teaching method
CN103213126A (en) * 2013-03-27 2013-07-24 南通航运职业技术学院 Method and system for teaching complex curve of industrial robot
CN106378780A (en) * 2016-10-21 2017-02-08 遨博(北京)智能科技有限公司 Robot system and method and server for controlling robot
JP6841805B2 (en) * 2018-10-03 2021-03-10 ファナック株式会社 Robot teaching device, robot teaching method, and method of storing operation commands
CN110000753B (en) * 2019-02-28 2021-10-26 深圳镁伽科技有限公司 User interaction method, control device and storage medium
CN111203854B (en) * 2019-12-27 2021-05-25 深圳市越疆科技有限公司 Robot trajectory reproduction method, control device, device and readable storage medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006007341A (en) * 2004-06-23 2006-01-12 Mitsubishi Heavy Ind Ltd Communication method, robot task executing method and system
KR20110026559A (en) * 2009-09-08 2011-03-16 주식회사 유진로봇 Real-time network interworking system for educational robot service
WO2014000567A1 (en) * 2012-06-26 2014-01-03 腾讯科技(深圳)有限公司 Method, system and terminal for obtaining and delivering an instruction, server and storage medium
CN104417504A (en) * 2013-08-30 2015-03-18 国家电网公司 Security protection subsystem of battery replacing system of electric car
CN108908363A (en) * 2018-07-23 2018-11-30 合肥工业大学 Wireless dragging teaching machine system and its active teaching method for spray robot

Also Published As

Publication number Publication date
CN113043250A (en) 2021-06-29

Similar Documents

Publication Publication Date Title
Fang et al. A novel augmented reality-based interface for robot path planning
CN113043250B (en) Robot control system and method
EP2923806A1 (en) Robot control device, robot, robotic system, teaching method, and program
US12223829B2 (en) Method, device, and computer-readable medium for mobile device management of collaborative industrial robot
CN107363835B (en) Configuration method, device, medium and robot system of motion control components
CN114473324B (en) Multi-robot collaborative splicing and welding control method and system based on teaching and learning
Wang et al. Augmented reality enabled human–robot collaboration
JP2019177434A (en) Control device, robot and robot system
WO2022222061A1 (en) Robot teaching system and method and robot control system and method
JP2019111588A (en) Robot system, information processor, and program
JP7074057B2 (en) Work description creation device for industrial robots and work description creation method for industrial robots
CN107303672A (en) The method that common collaboration robot, robot system and common collaboration robot perform operation task
Su et al. Effective manipulation for industrial robot manipulators based on tablet PC
CN116940448A (en) Program management device, robot control system, and method for managing program
CN113733107A (en) Robot drag teaching method, robot and computer storage medium
Hübel et al. Codeless, Inclusive, and End-to-End Robotized Manipulations by Leveraging Extended Reality and Digital Twin Technologies
US20220374210A1 (en) Graphical programming method, system and apparatus, medium, processor and terminal
TW202218834A (en) Graphical robotic arm learning system and learning method thereof capable of reducing labor costs and setting learning time
CN111152230A (en) Robot teaching method, system, teaching robot and storage medium
CN111459574A (en) Data transmission method, device, equipment and storage medium
Ciudin et al. Implementation of Human Gestures in the Control of Collaborative Robots
CN110632895B (en) Management method of motion control component, control device and motion control system
Andrusyshyn et al. Novel Gesture-Based Robot Programming Approach with the Ability of Code Reuse. Machines 2024, 12, 217
CN117519469A (en) Space interaction device and method applied to man-machine interaction
Hsieh et al. Effective manipulation for a multi-DOF robot manipulator in laboratory environments

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