WO2022222061A1 - 一种机器人示教系统及方法、机器人控制系统及方法 - Google Patents
一种机器人示教系统及方法、机器人控制系统及方法 Download PDFInfo
- Publication number
- WO2022222061A1 WO2022222061A1 PCT/CN2021/088689 CN2021088689W WO2022222061A1 WO 2022222061 A1 WO2022222061 A1 WO 2022222061A1 CN 2021088689 W CN2021088689 W CN 2021088689W WO 2022222061 A1 WO2022222061 A1 WO 2022222061A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- robot
- server
- database
- information
- coordinate information
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000009471 action Effects 0.000 claims abstract description 24
- 230000008859 change Effects 0.000 claims description 18
- 238000012986 modification Methods 0.000 claims description 3
- 230000004048 modification Effects 0.000 claims description 3
- 238000007726 management method Methods 0.000 description 20
- 230000008569 process Effects 0.000 description 17
- 238000004891 communication Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 11
- 230000015654 memory Effects 0.000 description 11
- 239000012636 effector Substances 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000003252 repetitive effect Effects 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 241000282412 Homo Species 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001681 protective effect Effects 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 238000012502 risk assessment Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
Definitions
- This paper relates to the field of robots, in particular to a robot teaching system and method, and a robot control system and method.
- the action control of the collaborative robot by the operator is mostly realized by the teach pendant or other teaching tools.
- 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.
- 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.
- 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. .
- 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.
- 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;
- 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.
- 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.
- the database includes: a robot information database, a robot position database, and a robot coordinate database;
- 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.
- 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.
- 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;
- 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.
- the server after the server queries the coordinate information corresponding to the operation position, the server further includes:
- the server sends an operation instruction to the relevant robot according to the queried information and operation task, including:
- 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
- the mobile terminal 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:
- 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.
- Fig. 1 shows the structure diagram of the robot teaching system according to the embodiment of this paper
- FIG. 2A shows a schematic diagram of the operation instruction button interface in the front-end interface of the embodiment of this document
- FIG. 2B shows a schematic diagram of a location management interface in the front-end interface of the embodiment of this document
- 2C shows a schematic diagram of the coordinate management interface in the front-end interface of the embodiment of this paper
- 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
- Fig. 3 shows the structure diagram of data storage in the database of this embodiment
- 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
- FIG. 5A shows a schematic diagram of the storage content of the robot information database according to the embodiment of this document.
- FIG. 5B shows a schematic diagram of the storage content of the robot position database according to the embodiment of this document.
- FIG. 5C shows a schematic diagram of the storage content of the robot coordinate database according to the embodiment of this paper
- Fig. 6 shows the structure diagram of the robot control system of the embodiment of this paper
- Fig. 7 shows the flow chart of the teaching method of the robot according to the embodiment of this paper
- Fig. 8 shows the flow chart of the robot teaching method according to the specific embodiment of this document.
- Fig. 9 shows the flow chart of the robot control method of the embodiment of this paper.
- Fig. 10 shows the flow chart of the robot control method according to the specific embodiment of this document.
- FIG. 11 shows a structural diagram of a computer device according to an embodiment of this document.
- 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).
- 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:
- Perception ability enable collaborative robots to perceive the surrounding environment and change their actions and behaviors according to changes in the surrounding environment;
- 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 is not conducive to the cooperation of multiple collaborative robots to complete complex tasks.
- 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 .
- 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 .
- 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 .
- the robot 140 is used to act according to the received operation instruction.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- the location management interface is used for the operator to click the new button to realize the entry of the operation location information, and the entered information includes but is not limited to the operation location name, the robot name, the use posture, etc.
- 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 as required (such as modify, delete, etc.).
- 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.
- FIG. 2C is a coordinate management interface
- 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.
- the back-end service program 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.
- 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.
- 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.
- 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.
- 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.
- the robot information database also stores information such as robot status (“arm_status” field).
- 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
- the "arm_port” field is the robot port number.
- other fields may also be set according to the application scenario of the robot, which is not limited in this article.
- 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.
- Figure 5B manages dozens of operation positions named “plateReader”, etc.
- the "id” field is the position number
- the "name” field is the position name
- the "usePosture” field is the operation parameter
- the "arm” field is the operation parameter.
- the position "plateReader” belongs to the position managed by the robot named "hansArmPrime”.
- other fields may also be set according to the application scenario of the robot, which is not limited in this article.
- 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, and 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.
- the coordinate number records the sequence from the waiting coordinate to the end coordinate
- 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).
- other fields may also be set according to the application scenario of the robot, which is not limited in this article.
- 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.
- 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
- the "p1-p6” field is the coordinate value of the six degrees of freedom.
- the "move_type” field is the path type.
- the robot usually has two operation modes, one is the linear operation mode, and the other is the joint 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).
- 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.
- 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 process of sending the coordinate information to the server includes:
- 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.
- 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.
- 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 operating position in the database. Return to step 401 and continue to execute until the robot reaches the operating position.
- each coordinate information includes: robot operation position name, coordinate name and coordinate information.
- 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.
- 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.
- 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.
- the server in addition to forwarding and storing information, 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.
- 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.
- a robot control system 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.
- 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.
- 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;
- the robot 140 responds to the operation instruction to complete the operation task.
- 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.
- the operation position it can also include the target operation to be performed.
- 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 moves 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.
- the robot can choose 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.
- the model of the robot is not specifically limited in this paper.
- the server 120 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:
- a robot teaching method is also provided. As shown in FIG. 7 , the robot teaching method includes:
- 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;
- 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;
- Step 703 the robot moves according to the received operation instruction
- 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;
- Step 705 the server stores the coordinate information of the path of the robot to the operation position in the database.
- step 701 the process for the operator to input the robot operation instruction through the front-end interface includes:
- the operator opens the front-end interface.
- 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;
- 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;
- 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.
- 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.
- 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.
- Each operation position includes at least one waiting coordinate and one end point coordinate.
- 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.
- 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.
- 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.
- 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.
- the upper computer can be used to control the robot.
- the robot control method includes:
- Step 901 the upper computer sends an operation task to the server, wherein the operation task at least includes an operation position;
- 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;
- Step 903 the robot responds to the operation instruction to complete the operation task.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- the robot 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.
- 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.
- the computer device 1102 may include one or more processors 1104 , such as one or more processors 1104 .
- the computer device 1102 may also include any memory 1106 for storing any kind of information such as code, settings, data, and the like.
- 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.
- any memory can provide volatile or non-volatile retention of information.
- any memory may represent a fixed or removable component of computer device 1102.
- 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.
- 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).
- GUI graphical operator interface
- 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.
- 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.
- the disclosed system, apparatus and method may be implemented in other manners.
- the apparatus embodiments described above are only illustrative.
- the division of the units is only a logical function division. In actual implementation, there may be other division methods.
- multiple units or components may be combined or Can be integrated into another system, or some features can be ignored, or not implemented.
- 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.
- 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.
- 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.
- 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, mobile 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 .
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
本文提供了一种机器人示教系统及方法、机器人控制系统及方法,其中,机器人示教系统,包括:移动终端、服务器、数据库及多个机器人;移动终端连接服务器,用于接收操作人员通过前端界面输入的机器人操作指令、机器人到达操作位置途径的多处坐标信息,将机器人操作指令、坐标信息发送至服务器;服务器连接所述数据库,通过后端服务程序接收所述机器人操作指令、坐标信息,将机器人操作位置的坐标信息存储于数据库,将机器人操作指令转换成机器人识别的操作指令后发送至机器人;机器人用于根据接收到的控制指令进行动作。本文能够简化机器人的操作,提升机器人运用场景下编程的方便性,同时降低在硬件上所需要投入的成本。
Description
本文涉及机器人领域,尤其涉及一种机器人示教系统及方法、机器人控制系统及方法。
现有技术中,操作人员对于协作机器人的动作控制大多是通过示教器或者其他示教工具实现的,具体实施时,由专业工程师通过示教器等设备为单一任务目标编写固定的程序,并在程序中设定组成动作轨迹的坐标序列,程序与坐标都存储在协作机器人控制器的存储介质中。该种控制方式只能使协作机器人完成少量预设的动作路线,一旦需要改变动作路径或者所需执行的任务,就需要专业工程师重新编程,并且机器人的编程过程一般需要专业人员完成。此外,有些情况下需要多台协作机器人配和来完成复杂任务,则需要为每一台机器人编写单独的程序,同时每一台机器人都需要配备对应的示教器。以上因素都会造成造价提高与人力资源的浪费。
发明内容
本文用于解决现有技术中协作机器人的编程存在浪费人力、对编程人员专业素养要求高、对硬件投入较高、不便于更改协作机器人动作线路且不利于多个协作机器人配合完成复杂任务的问题。
为了解决上述技术问题,本文的第一方面提供一种机器人示教系统,包括:移动终端、服务器、数据库及多个机器人,其中,所述移动终端中安装有所述服务器提供的前端界面,所述服务器中安装有后端服务程序;
所述移动终端连接所述服务器,用于接收操作人员通过所述前端界面输入的机器人操作指令、机器人到达操作位置途径的多处坐标信息,将所述机器人操作指令、机器人到达操作位置途径的多处坐标信息发送至所述服务器;
所述服务器连接所述数据库,通过后端服务程序接收所述机器人操作指令、机器人到达操作位置途径的多处坐标信息,将所述机器人到达操作位置途径的多处坐标信息存储于所述数据库,将所述机器人操作指令转换成机器人识别的操作指令后发送至所述机器人;
所述机器人用于根据接收到的操作指令进行动作。
本文进一步实施例中,所述移动终端接收操作人员通过所述前端界面输入的机器人操作指令、机器人到达操作位置经历的多处坐标信息,将所述机器人操作指令、机器人到达操作位置经历的多处坐标信息发送至所述服务器,包括:
所述前端界面接收操作人员输入的机器人操作指令,将所述机器人操作指令发送至所述服务器;
待所述机器人完成动作后,所述前端界面接收操作人员输入的机器人当前坐标信息,将机器人当前坐标信息作为机器人到达操作位置途径的一处坐标信息发送至所述服务器;重复上述两步操作,直至机器人到达操作位置。
本文进一步实施例中,所述机器人操作指令包括:待示教的机器人信息、各自由度方向步进移动量、各关节步进移动量。
本文进一步实施例中,所述数据库包括:机器人信息数据库、机器人位置数据库与机器人坐标数据库;
所述机器人信息数据库用于存储机器人标识、机器人IP地址及端口标识;
所述机器人位置数据库用于存储操作位置标识、所属机器人标识、末端姿态信息;
所述机器人坐标数据库用于存储每一操作位置途径的每处坐标标识、坐标序号、各关节坐标信息。
本文进一步实施例中,所述机器人动作完后,还将动作结果发送至所述服务器;
所述服务器将所述动作结果处理后发送至所述移动终端的前端界面展示。
本文进一步实施例中,所述移动终端还接收操作人员通过所述前端界面输入的操作位置变更指令或操作位置途径坐标信息变更指令,将所述变更指令发送至服务器;
所述服务器根据所述变更指令变更数据库中的信息。
本文第二方面提供一种机器人控制系统,包括:上位机及前述任一实施例所述的机器人示教系统;
所述上位机连接所述服务器,用于发出操作任务至所述服务器,其中,所述操作任务中至少包括操作位置;
所述服务器根据所述操作任务,从所述数据库中查询操作位置对应的机器人信息及操作位置对应的多处坐标信息;根据查询出的信息,发出操作指令至相关的机器人;
所述机器人响应所述操作指令,以完成操作任务。
本文进一步实施例中,服务器查询到操作位置对应的多处坐标信息之后,还包括:
检测所述操作位置对应的多处坐标个数是否达到轨迹序列最小值;
若判断结果为否,则发出报警信息。
本文进一步实施例中,所述服务器根据查询出的信息及操作任务,发出操作指令至相关的机器人,包括:
所述服务器根据查询出的机器人信息,依次按照操作位置对应的多处坐标信息顺序,发出操作子指令至相关机器人;
所述相关机器人根据操作子指令进行动作。
本文第三方面提供一种协作机器人示教方法,包括:
移动终端接收操作人员通过前端界面输入的机器人操作指令,将所述机器人操作指令发送至服务器;
所述服务器接收所述机器人操作指令,将所述机器人操作指令转换成机器人能识别的操作指令后发送至所述机器人;
所述机器人根据接收到的操作指令进行动作;
所述机器人动作完后,移动终端通过所述前端界面接收操作人员输入的机器人当前坐标信息,将机器人当前坐标信息作为机器人到达操作位置途径的一处坐标信息发送至所述服务器;所述服务器将所述机器人到达操作位置途径的该处坐标信息存储于所述数据库。
本文第四方面,提供一种机器人控制方法,包括:
由上位机发出操作任务至所述服务器,其中,所述操作任务中至少包括操作位置;
所述服务器根据所述操作任务,从所述数据库中查询操作位置对应的机器人信息及操作位置对应的多处坐标信息;根据查询出的信息,发出操作指令至相关的机器人;
所述机器人响应所述操作指令,以完成操作任务。
本文提供机器人示教系统及方法、机器人控制系统及方法,针对现有机器人控制方法操作繁杂重复及可变性差的缺陷,采用前端界面+服务器+数据库的方式来代替示教器。前端界面提供友好的操作界面,服务器中安装有后端服务程序,能够提供对前端界面的支持和对机器人的控制,数据库提供存储操作位置和其坐标序列的容器。操作人员可随时随地通过移动终端(例如电脑/手机/平板)来打开前端界面,对机器人进行控制和示教,简化了机器人的操作,降低了多机器人系统管理的复杂性,提高机器人动作线路改变的效率,提升了机器人运用场景下的编程方便性。并且操作位置和其坐标序列的 容器从机器人本体的存储介质变成了架设在网络中的数据库,极大地方便了这些信息的管理管理。同时不再需要配备专用的示教器,降低在硬件上所需要投入的成本。
为让本文的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
为了更清楚地说明本文实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本文的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本文实施例机器人示教系统的结构图;
图2A示出了本文实施例前端界面中操作指令按键界面的示意图;
图2B示出了本文实施例前端界面中位置管理界面的示意图;
图2C示出了本文实施例前端界面中坐标管理界面的示意图;
图2D示出了本文实施例前端界面中加坐标信息向导交互式界面的示意图;
图3示出了本文实施例数据库中数据存储的结构图;
图4示出了本文实施例前端界面与服务器交互的过程的流程图;
图5A示出了本文实施例机器人信息数据库存储内容示意图;
图5B示出了本文实施例机器人位置数据库存储内容示意图;
图5C示出了本文实施例机器人坐标数据库存储内容示意图;
图6示出了本文实施例机器人控制系统的结构图;
图7示出了本文实施例机器人示教方法的流程图;
图8示出了本文具体实施例机器人示教方法的流程图;
图9示出了本文实施例机器人控制方法的流程图;
图10示出了本文具体实施例机器人控制方法的流程图;
图11示出了本文实施例计算机设备的结构图。
附图符号说明:
110、移动终端;
120、服务器;
130、数据库;
140、机器人;
150、上位机;
1102、计算机设备;
1104、处理器;
1106、存储器;
1108、驱动机构;
1110、输入/输出模块;
1112、输入设备;
1114、输出设备;
1116、呈现设备;
1118、图形操作人员接口;
1120、网络接口;
1122、通信链路;
1124、通信总线。
下面将结合本文实施例中的附图,对本文实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本文一部分实施例,而不是全部的实施例。基于本文中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本文保护的范围。
本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或装置产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行。
本文所述的协作机器人示教系统及方法、机器人控制系统及方法适用于各种机器人的示教及控制,尤其适用于协作机器人,协作机器人包括多轴机械臂及末端执行器,协作机器人配合不同的末端执行器可以实现各领域(例如生物领域)数据采集、加工、搬运等流程。协作机器人例如为机械手臂,指的是与人一起协作,以完成不同任务的机器人,协作机器人无需人看守,是一种易于集成的机器人,具有如下特点:
1)轻量化:使协作机器人更易于控制,提高安全性;
2)友好性:保证协作机器人的表面和关节是光滑且平整的,无尖锐的转角或者易夹伤操作人员的缝隙;
3)感知能力:使协作机器人能够感知周围环境,并根据周围环境变化改变自身的动作行为;
4)人机协作:具有敏感的力反馈特性,当达到已设定的力时会立即停止,在风险评估后可不需要安装保护栏,使人和机器人能协同工作。
这些协作机器人通常执行重复或不安全的任务,而人力则在上下游执行更有价值的手动任务。就成本而言,大多数协作机器人比传统的工业机器人更便宜。现有技术中,协作机器人的动作控制与编程大多是通过示教器完成,为比较单一的任务目标编写固定的程序,并在程序中设定组成动作轨迹的坐标序列,程序与坐标都存储在协作机器人控制器的存储介质中。而上位机在需要控制协作机器人时,一般通过发送简单的报文,控制机器人调取预存的动作轨迹以完成工作目标。
基于现有协作机器人的上述控制及编程方法,现有协作机器人的控制及编程存在浪费人力、对编程人员专业素养要求高、不便于更改协作机器人动作线路且不利于多个协作机器人配合完成复杂任务的问题。
为了解决现有协作机器人存在的上述技术问题,本文一实施例中,提供一种机器人示教系统,如图1所示,机器人示教系统,包括:移动终端110、服务器120、数据库130及多个机器人140,其中,移动终端110中安装有服务器120提供的前端界面,服务器120中安装有后端服务程序。
移动终端110连接服务器120,用于接收操作人员通过前端界面输入的机器人操作指令、机器人达到操作位置途径的多处坐标信息(也称之为坐标序列),将机器人操作指令、机器人到达操作位置途径的多处坐标信息发送至服务器120。
服务器120连接数据库130,用于通过后端服务程序接收机器人操作指令、机器人到达操作位置途径的多处坐标信息,将机器人到达操作位置途径的多处坐标信息存储于所述数据库130,将机器人操作指令转换成机器人识别的操作之后发送至生成并发送机器人控制指令至机器人140。
机器人140用于根据接收到的操作指令进行动作。
详细的说,一个前端界面及一个后端服务程序可对应多台机器人。
本文所述的机器人指的是机器人本身或机器人控制柜(或控制器),可通过网络与服务器进行通讯。机器人动作通过机器人遵循内置控制协议发送并执行,机器人动作包括各自由度方向移动、各关节移动、移动到指定空间坐标、移动到指定关节坐标等。具体实施时,可在机器人上或其附近的位置上,粘贴对应示教机器人前端界面的网址,以便帮助操作人员快速定位机器人,上手示教。对机器人的控制不限于使用机器人厂商提供的控制接口,也可以采用自己编写的控制程序代替厂商提供的控制接口,该控制程序能够根据后端服务程序发送的报文,完成和本案中所述相同的动作。该控制程序编写的基本原则是:坐标全部从通信接口传入,不直接在机器人本地的存储介质中保存;能够不需要对程序做任何更改的情况下完成所有操作目标。
移动终端通过前端界面与操作人员交互,包括但不限于笔记本电脑、智能手机、平板电脑等可以访问网页的终端。前端界面为基于网页的图形界面,能够与运行在服务器上的后端服务程序进行交互。实施时,前端界面可采用HTML(超文本标记语言)+Vue.js(一套用于构建操作人员界面的渐进式JavaScript框架)开发而成。前端界面通过HTTP协议(超文本传输协议)与后端服务程序进行数据交互。
本文所述的操作位置指的是需要机器人完成末端操作的位置,每一操作位置对应一坐标序列,每一坐标序列包含多处坐标信息,本文中每处指的是到达操作位置途径的位置,每处坐标信息指示机器人各关节的位置,需要待机器人根据机器人操作指令进行动作完后确定。每一机器人可对应多个操作位置。
前端界面至少包括操作指令按键界面、位置管理界面及坐标管理界面。
其中,操作指令按键界面如图2A所示,用于供操作人员通过点击相应操作指令的按键,完成机器人操作指令的输入,由前端界面将机器人操作指令发送给服务器中的后端服务程序,后端服务程序将机器人操作指令按照机器人通信协议处理后,发送给机器人,从而达到控制机器人的目的。一些具体实施方式中,操作指令按键包括用户选择的待示教的机器人信息(将机器人信息数据库中存储的机器人信息以列表的形式进行展示,以供用户选择待示教的机器人信息)、各自由度方向步进移动、各关节步进移动、各自由度方向基于按键时间加速移动、各关节基于按键时间加速移动、通过末端IO控制末端执行器状态等。具体实施时,操作位置途径的坐标信息可通过如下几种方式实现:操作人员遥控机器人运动后由操作人员通过前端界面获取机器人所处位置的坐标信息;操作人员还可手动拖拽机器人,将机器人拖拽至某个位置后,由操作人员通过前端界面 输入机器人所处位置的坐标信息;操作人员还可将对机器人当前坐标信息微调整后的数据通过前端界面输入。
位置管理界面用于通过操作人员点击新增按钮来实现操作位置信息的录入,录入的信息包括但不限于操作位置名称、机器人名称、使用姿态等。如图2B所示,位置管理界面除了供操作人员录入新的操作位置信息,还会供操作人员检索数据库中已有操作位置信息,操作人员可根据需求对检索出的操作位置信息进行变更处理(例如修改、删除等操作)。
坐标管理界面可跳转至坐标录入向导界面,用于供操作人员录入坐标信息及管理已录入坐标信息。如图2C及图2D所示,图2C为坐标管理界面,图2D为坐标录入向导界面。坐标管理界面可供操作人员点击新增按钮来跳转至坐标录入向导界面,通过坐标录入向导界面完成数据录入,坐标管理界面除了供操作人员录入新的坐标信息外,还会供操作人员检索数据库中已有的操作位置相对应的坐标信息(即到达操作位置途径的多处坐标信息),操作人员可根据需求对检索出的坐标信息进行变更处理(例如修改、删除等操作)。坐标录入向导界面供操作人员输入坐标信息,包括但不限于操作位置名称、坐标序号、机器人各关节坐标等。
后端服务程序作为前端界面的服务端,部署于服务器中,采用Java(一门面向对象编程语言)编程的Socker开发而成,能够对数据库进行增加、删除、修改、查询操作。后端服务程序通过HTTP协议与前端界面进行数据交互,同时,又通过封装的TCP/IP通信协议与机器人进行数据交互。例如,操作人员在前端界面进行了机器人控制的操作,前端界面会将机器人操作指令发送给后端服务程序,后端服务程序接收机器人操作指令,并将机器人操作指令处理成能够直接控制机器人的指令后发送给机器人,机器人接收到操作指令,完成动作并回复数据给后端服务程序。机器人完成的动作包括但不限于各自由度方向步进移动、各关节步进移动、各自由度方向基于按键时间加速移动、各关节基于按键时间加速移动、通过末端IO控制末端执行器状态。
数据库可部署于服务器中,采用MySQL(一种开源的关系型数据库管理系统)数据库。数据库及后端服务程序可架设于不同服务器上。为了便于从数据库中调取信息,数据库对信息进行分类存储,一实施方式中,如图3所示,数据库包括:机器人信息数据库、机器人位置数据库及机器人坐标数据库。分别存储机器人信息表、机器人位置表及机器人坐标表。
其中,机器人信息数据库用于存储机器人相关信息,如图5A所示,包括但不限于机器人标识(“arm_id”及“arm_name”字段)、机器人IP地址(“arm_ip”字段)及端口标识(“arm_port”字段)等字段信息。通过机器人信息数据库能够查找并确定机器人示教系统中接入的机器人。具体实施时,机器人信息数据库还存储有机器人状态(“arm_status”字段)等信息。
图5A作为示例,仅管理了两台机器人,名称分别为主岛、副岛,具体实施时,可同时管理多台机器人。“arm_id”字段为机器人编号,“arm_name”字段为机器人名称,“arm_statue”字段为机器人状态,“arm_ip”字段为机器人IP地址,“arm_port”字段为机器人端口编号。具体实施时,还可根据机器人的应用场景设置其它字段,本文对此不作限定。
机器人位置表用于存储操作位置相关信息,如图5B所示,包括但不限于操作位置标识(“id”及“name”字段)、所属机器人标识(“arm”字段)、末端姿态信息等字段信息。一台机器人可对应多个操作位置,每一操作位置均对应一坐标序列。
图5B作为示例,管理了数十个操作位置,名称为“plateReader”等,图中“id”字段为位置编号,“name”字段为位置名称,“usePosture”字段为操作参数,“arm”字段为所属机器人,例如位置“plateReader”属于名称为“hansArmPrime”的机器人管理的位置。具体实施时,还可根据机器人的应用场景设置其它字段,本文对此不作限定。
机器人坐标表用于存储坐标相关信息,如图5C所示,包括但不限于每一操作位置对应的坐标标识(“point_id”、“point_name”“order_num”字段)、操作位置标识(“position_name”字段)、坐标序号(“order_num”字段)、各关节坐标信息(“p1-p6”字段)、路径类型(“move_type”字段)等字段信息。其中,坐标序号记录了从等待坐标到终点坐标的顺序,每一操作位置至少对应一个等待坐标(坐标序列中的第一个坐标)和一个终点坐标(即为完成操作的坐标)。具体实施时,还可根据机器人的应用场景设置其它字段,本文对此不作限定。
图5C中示出了数十个坐标,例如为“plateReader_M0”等,坐标“plateReader_M0”是名称为“plateReader”坐标的0号坐标,即等待坐标。图中“point_id”字段为坐标编号,“point_name”字段为坐标名称,“position_name”字段为坐标所属操作位置,“order_num”字段为坐标序号,“p1-p6”字段为六个自由度的坐标值,“move_type”字段为路径类型。
目前而言,机器人通常有两种运行模式,一种为线性运行模式,另外一种为关节运行模式,对应运行模式的不同,坐标有两种保存方式。对于线性运行模式而言,各关节坐标信息指的是末端坐标的X,Y,Z,θ
x,θ
y,θ
z,即三轴线性坐标与对应的旋转坐标(L类型)。对于关节动作模式而言,各关节坐标信息指的是六个机械轴的角度数据(J类型)。
本文提供机器人示教系统,针对现有机器人控制方法操作繁杂重复及可变性差的缺陷,采用前端界面+服务器+数据库的方式来代替示教器。前端界面提供友好的操作界面,服务器中安装有后端服务程序,能够提供对前端界面的支持和对机器人的控制,数据库提供存储操作位置和其坐标序列的容器。操作人员可随时随地通过移动终端来打开前端界面,对机器人进行控制和示教,简化了机器人的操作,提高了机器人动作线路改变的效率,提升了机器人运用场景下的编程方便性。并且操作位置和其坐标序列的容器从机器人本体的存储介质变成了架设在网络中的数据库,极大地方便了这些信息的管理管理。同时不再需要配备专用的示教器,降低在硬件上所需要投入的成本。
本文一实施例中,如图4所示,移动终端接收操作人员通过前端界面输入的机器人操作指令、机器人到达操作位置经历的多处坐标信息,将机器人操作指令、机器人到达操作位置经历的多处坐标信息发送至所述服务器过程包括:
步骤401,前端界面接收操作人员输入的机器人操作指令,将机器人操作指令发送至服务器。以使服务器将机器人操作指令转换成机器人识别的操作指令后发送至机器人,机器人根据接收到的操作指令进行动作。
详细的说,如图2A所示,通过前端界面可以实现如下信息的设定:待示教的机器人信息,步进模式,位置控制,姿态控制,关节控制,夹爪、转盘控制等。
步骤402,待所述机器人完成动作后,前端界面接收操作人员输入的机器人当前坐标信息,将机器人当前坐标信息作为机器人到达操作位置途径的一处坐标信息发送至服务器。以使服务器将机器人到达操作位置途径的该处坐标信息存储于数据库中。返回步骤401继续执行,直至机器人到达操作位置。
本步骤中,每处坐标信息包括:机器人操作位置名称、坐标名称及坐标信息。
待机器人完成动作之后,由操作人员决定是否需要输入机器人操作位置的坐标信息,若操作人员决定不输入机器人操作的坐标信息,则返回图2A所示界面继续输入机器人操作指令。若操作人员决定输入机器人操作位置的坐标信息,则操作人员可通过图2C坐标管理界面跳转至图2D坐标录入向导界面录入坐标信息,坐标信息中的操作位置 名称、坐标名称需人工录入,机器人的坐标数据可由操作人员通过触发机器人坐标获取按钮(getL,getJ按钮)获取,操作人员触发机器人坐标获取按钮后,前端界面会发出机器人坐标查询请求至服务器,服务器将该请求转发至机器人,从而获得机器人坐标信息,将获得的机器人坐标信息发送至前端界面显示。除了该种输入坐标信息方式外,还可以通过外接视觉系统或其他辅助示教工具,计算出机器人的坐标信息,直接导入坐标数据库中。
操作人员可通过图2B所示界面预先录入操作位置信息(包括操作位置名称、所属机器人名称),还可对已录入的操作位置信息进行修改、删除、导出等操作。
本文一实施例中,服务器除了转发及存储信息外,还根据数据库中存储的信息提供数据库服务,服务包括对数据库中的数据进行增加、删除、修改、查询。具体的,移动终端还接收操作人员通过所述前端界面输入的操作位置查询指令、变更指令(删除或修改)或操作位置途径坐标信息查询指令或变更指令,将查询指令、变更指令发送至服务器;服务器根据查询指令从数据库获取相应信息,服务器根据变更指令变更数据库中的信息。
本文一实施例中,如图6所示,还提供一种机器人控制系统,包括上位机150及图1所示的机器人示教系统。机器人示教系统完成机器人到达操作位置途径的多处坐标信息输入后,即可通过上位机对机器人进行控制。
上位机150连接服务器120,用于发出操作任务至服务器120,其中,操作任务中至少包括操作位置。
服务器120根据操作任务,从数据库130中查询操作位置对应的机器人信息及操作位置对应的多处坐标信息(即坐标序列);根据查询出的信息,发出操作指令至相关的机器人。
机器人140响应操作指令,以完成操作任务。
详细的说,本文所述的上位机包括但不限于计算机设备、服务器等。上位机及机器人示教系统可架设于同一局域网内,还可架设于云端(万维网)内,各个器件之间的通信不限于网线连接或者无线网络连接,也可以使用蜂窝网络。
操作任务可以概括为沿着某条轨迹动作到操作位置,完成某个末端动作,除了包括操作位置外,还可包括待执行目标操作。
服务器120根据操作位置从数据库中查询与操作位置相对应的机器人信息及坐标序列。根据机器人信息及待执行目标操作,依次按照坐标序列中坐标顺序,通过TCP/IP通 信协议向机器人发送操作子指令,以使机器人动作到所有坐标点。每一操作子指令中包含坐标序列中的一坐标信息及待执行目标操作。
机器人根据操作子指令中的坐标信息进行动作,待动作到最后一坐标信息时,根据待执行目标操作进行操作。机器人完成操作后,按照坐标序列倒序从终点坐标回到等待坐标,任务完成,回复上位机完成状态。
本文一具体实施例中,机器人可选用大族机器人Elfin E05型号协作机械臂,在使用过程中将与服务器局域网连接的网络电缆插入到控制柜中的以太网接口。实施时,还可选用其它类型的机器人,本文对机器人的型号不做具体限定。
本文一实施例中,为了保证坐标序列的准确性,服务器120查询到操作位置对应的多处坐标信息之后,还包括:
检测所述操作位置对应的多处坐标个数是否达到轨迹序列最小值;若判断结果为否,则发出报警信息,以提醒用户查询出的坐标不完整,需要重新录入操作位置对应的坐标信息。
本文一实施例中,还提供一种机器人示教方法,如图7所示,机器人示教方法包括:
步骤701,移动终端接收操作人员通过前端界面输入的机器人操作指令,将机器人操作指令发送至服务器;
步骤702,服务器接收机器人操作指令,将机器人操作指令转换成机器人能识别的操作指令后发送至机器人;
步骤703,机器人根据接收到的操作指令进行动作;
步骤704,机器人动作完后,移动终端通过前端界面接收操作人员输入的机器人当前坐标信息,将机器人当前坐标信息作为机器人到达操作位置途径的一处坐标信息发送至服务器;
步骤705,服务器将机器人到达操作位置途径的该处坐标信息存储于所述数据库。
详细的说,如图8所示,步骤701中操作人员通过前端界面输入机器人操作指令的过程包括:
首先,操作人员打开前端界面,此时前端界面会发出机器人查询请求至服务器的后端服务程序,后端服务程序将机器人查询请求转发至机器人信息数据库,以从机器人信息数据库中获取机器人信息,数据库将机器人信息发送至后端服务器程序,后端服务程 序将机器人信息以列表的形式发送至前端界面,前端界面将机器人列表以下拉框的形式展示于操作指令按键界面,如图2A所示,由操作人员选择想要示教的机器人;
其次,操作人员在操作指令按键界面进行机器人控制的操作,操作人员通过用鼠标或者触屏点击操作指令按键界面中的各个按钮输入机器人操作指令,包括各自由度方向步进移动、各关节步进移动、各自由度方向基于按键时间加速移动、各关节基于按键时间加速移动、通过末端IO控制末端执行器状态;
最后,操作人员通过点击操作指令按键界面中的遥控按钮,使得前端界面发出机器人操作指令至服务器的后端服务程序。
上述步骤702中,服务器后端服务程序接收机器人操作指令,将机器人操作指令处理成能够直接控制机器人的指令发送给机器人。
上述步骤703中,机器人根据指令完成动作后,还回复数据给后端服务程序,后端服务程序处理收到的数据并返回机器人完成状况给前端界面。
对于上述步骤704是否执行,由操作人员根据需求确定。若操作人员决定记录机器人的坐标,则操作人员可以先点击图2C所示坐标管理界面中的新增按钮,此时,管理界面会跳转至图2D所示的坐标录入向导界面,操作人员可以在图2D所示界面中录入操作位置的坐标信息,包括:坐标编号、操作位置名称、所属机器人、在轨迹中的序号、各关节坐标数据。其中各关节坐标数据可以通过点击getL及getJ按钮让后端服务程序向机器人查询各个关节的当前坐标录入前端,点击确认,完成当前坐标的录入。
每一操作位置均至少包括一个等待坐标和一个终点坐标。上述步骤705执行完后,由操作人员确定是否需要继续录入操作位置对应的坐标信息,若需要继续录入,需要操作人员继续输入机器人操作指令,重复执行上述步骤,直至操作位置中的坐标信息录入完整。
机器人示教过程中,操作人员还可通过调取图2B所示位置管理界面录入操作位置信息、查询或变更(删除、修改)操作位置信息。通过调取图2C所示坐标管理界面查询或变更已保存的坐标信息。后端服务程序响应前端所有的操作,完成数据库中数据的变更。
本实施例使得操作人员通过响应操作人员操作的web网页控制机器人,脱离传统的示教器,单个移动终端可以管理任意数量的机器人,操作人员可随时随地通过移动终端(例如电脑/手机/平板)来打开前端界面,对机器人进行控制和示教,简化了机器人的操作,提高了机器人动作线路改变的效率,提升了机器人运用场景下的编程方便性。并 且操作位置和其坐标序列的存储容器从机器人本体的存储介质变成了架设在网络中的数据库,极大地方便了这些信息的管理管理。同时不再需要配备专用的示教器,降低在硬件上所需要投入的成本。
当完成操作位置相关坐标的示教后,就可以利用上位机对机器人进行控制,本文一实施例中,如图9所示,机器人控制方法包括:
步骤901,由上位机发出操作任务至服务器,其中,所述操作任务中至少包括操作位置;
步骤902,服务器根据操作任务,从数据库中查询操作位置对应的机器人信息及操作位置对应的多处坐标信息(即坐标序列);根据查询出的信息,发出操作指令至相关的机器人;
步骤903,机器人响应操作指令,以完成操作任务。
详细的说,操作任务用于指示机器人去操作位置A去完成操作并返回,可由人工进行设定。
本实施例通过服务器发出操作指令至机器人,能够避免将这些数据写入机器人自身的程序或存储介质内。机器人、上位机、移动终端、服务器、数据库彼此之间通过网络进行连接,彼此之间可以独立工作互不干扰,例如移动终端不需要和某台机器人绑定,一套移动终端、上位机、服务器、数据库可以服务于多台机器人。
如图10所示,上述步骤902执行的具体过程包括:先接受上位机发送的操作任务,根据操作任务中的操作位置A从机器人位置数据库中查询相应机器人名称;然后,根据查询出的机器人名称从机器人信息数据库中查询机器人IP地址等参数信息,并根据操作任务中的操作位置A从坐标数据库中查询操作位置A相关的坐标序列;接着,根据机器人IP地址等参数信息及坐标序列,通过TCP/IP通信协议向机器人发送操作指令,控制机器人运动到坐标序列中的第一个坐标,在依据坐标序列中的坐标序号,控制机器人运动到所有坐标点。
上述步骤903中,机器人到达坐标序列中的最后一个坐标时完成操作,同时回复完成状态至后端服务程序。当后端服务程序判断出机器人已经达到最后坐标时,完成操作任务,发送完成信号至上位机。
具体实施时,机器人完成操作任务之后,还按照坐标序列的倒序次从终点回到初始点。
本文提供的机器人示教系统及方法、机器人控制系统及方法,采用前端界面+服务器+数据库的方式来代替示教器,能够使机器人的控制从示教器中脱离出来,可完全摒弃示教器,降低了机器人系统的成本。前端界面提供友好的操作界面,服务器中安装有后端服务程序,能够提供对前端界面的支持和对机器人的控制,数据库提供存储操作位置和其坐标序列的容器。操作人员可随时随地通过移动终端(例如电脑/手机/平板)来打开前端界面,对机器人进行控制和示教,简化了机器人的操作,提高机器人动作线路改变的效率,提升的是机器人运用场景下的编程方便性,无需操作人员花大量的时间去学习机器人复杂的编程系统,只需要专注于坐标的示教即可。本文降低了对操作人员门槛,只需简单培训便能掌握机器人示教及控制的本领。
本文一实施例中,移动终端、服务器还可以为计算机设备,计算机设备运行前端界面或后端服务程序,如图11所示,计算机设备1102可以包括一个或多个处理器1104,诸如一个或多个中央处理单元(CPU),每个处理单元可以实现一个或多个硬件线程。计算机设备1102还可以包括任何存储器1106,其用于存储诸如代码、设置、数据等之类的任何种类的信息。非限制性的,比如,存储器1106可以包括以下任一项或多种组合:任何类型的RAM,任何类型的ROM,闪存设备,硬盘,光盘等。更一般地,任何存储器都可以使用任何技术来存储信息。进一步地,任何存储器可以提供信息的易失性或非易失性保留。进一步地,任何存储器可以表示计算机设备1102的固定或可移除部件。在一种情况下,当处理器1104执行被存储在任何存储器或存储器的组合中的相关联的指令时,计算机设备1102可以执行相关联指令的任一操作。计算机设备1102还包括用于与任何存储器交互的一个或多个驱动机构1108,诸如硬盘驱动机构、光盘驱动机构等。
计算机设备1102还可以包括输入/输出模块1110(I/O),其用于接收各种输入(经由输入设备1112)和用于提供各种输出(经由输出设备1114))。一个具体输出机构可以包括呈现设备1116和相关联的图形操作人员接口1118(GUI)。在其他实施例中,还可以不包括输入/输出模块1110(I/O)、输入设备1112以及输出设备1114,仅作为网络中的一台计算机设备。计算机设备1102还可以包括一个或多个网络接口1120,其用于经由一个或多个通信链路1122与其他设备交换数据。一个或多个通信总线1124将上文所描述的部件耦合在一起。
通信链路1122可以以任何方式实现,例如,通过局域网、广域网(例如,因特网)、点对点连接等、或其任何组合。通信链路1122可以包括由任何协议或协议组合支配的硬连线链路、无线链路、路由器、网关功能、名称服务器等的任何组合。
本文实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行前端界面或后端服务器程序执行的步骤。
本文实施例还提供一种计算机可读指令,其中当处理器执行所述指令时,其中的程序使得处理器执行前端界面或后端服务器程序的步骤。
应理解,在本文的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本文实施例的实施过程构成任何限定。
还应理解,在本文实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本文的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本文所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本文实施例方案的目的。
另外,在本文各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本文的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本文各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本文中应用了具体实施例对本文的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本文的方法及其核心思想;同时,对于本领域的一般技术人员,依据本文的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本文的限制。
Claims (10)
- 一种机器人示教系统,其特征在于,包括:移动终端、服务器、数据库及多个机器人,其中,所述移动终端中安装有所述服务器提供的前端界面,所述服务器中安装有后端服务程序;所述移动终端连接所述服务器,用于接收操作人员通过所述前端界面输入的机器人操作指令、机器人到达操作位置途径的多处坐标信息,将所述机器人操作指令、机器人到达操作位置途径的多处坐标信息发送至所述服务器;所述服务器连接所述数据库,通过后端服务程序接收所述机器人操作指令、机器人到达操作位置途径的多处坐标信息,将所述机器人到达操作位置途径的多处坐标信息存储于所述数据库,将所述机器人操作指令转换成机器人识别的操作指令后发送至所述机器人;所述机器人用于根据接收到的操作指令进行动作。
- 如权利要求1所述的机器人示教系统,其特征在于,所述移动终端接收操作人员通过所述前端界面输入的机器人操作指令、机器人到达操作位置经历的多处坐标信息,将所述机器人操作指令、机器人到达操作位置经历的多处坐标信息发送至所述服务器,包括:所述前端界面接收操作人员输入的机器人操作指令,将所述机器人操作指令发送至所述服务器;待所述机器人完成动作后,所述前端界面接收操作人员输入的机器人当前坐标信息,将机器人当前坐标信息作为机器人到达操作位置途径的一处坐标信息发送至所述服务器;重复上述两步操作,直至机器人到达操作位置。
- 如权利要求1所述的机器人示教系统,其特征在于,所述机器人操作指令至少包括:待示教的机器人信息、各自由度方向步进移动量、各关节步进移动量。
- 如权利要求1所述的机器人示教系统,其特征在于,所述数据库包括:机器人信息数据库、机器人位置数据库与机器人坐标数据库;所述机器人信息数据库用于存储机器人标识、机器人IP地址及端口标识;所述机器人位置数据库用于存储操作位置标识、所属机器人标识、末端姿态信息;所述机器人坐标数据库用于存储每一操作位置途径的每处坐标标识、坐标序号、各关节坐标信息。
- 如权利要求4所述的机器人示教系统,其特征在于,所述移动终端还接收操作人员通过所述前端界面输入的操作位置变更指令或操作位置途径坐标信息变更指令,将所述变更指令发送至服务器;所述服务器根据所述变更指令变更数据库中的信息。
- 一种机器人控制系统,其特征在于,包括:上位机及权利要求1至5任一项所述的机器人示教系统;所述上位机连接所述服务器,用于发出操作任务至所述服务器,其中,所述操作任务中至少包括操作位置;所述服务器根据所述操作任务,从所述数据库中查询操作位置对应的机器人信息及操作位置对应的多处坐标信息;根据查询出的信息,发出操作指令至相关的机器人;所述机器人响应所述操作指令,以完成操作任务。
- 如权利要求6所述的机器人控制系统,其特征在于,所述服务器查询到操作位置对应的多处坐标信息之后,还包括:检测所述操作位置对应的多处坐标个数是否达到轨迹序列最小值;若判断结果为否,则发出报警信息。
- 如权利要求6所述的机器人控制系统,其特征在于,所述服务器根据查询出的信息,发出操作指令至相关的机器人,包括:所述服务器根据查询出的机器人信息,依次按照操作位置对应的多处坐标信息顺序,发出操作子指令至相关机器人;所述相关机器人根据操作子指令进行动作。
- 一种机器人示教方法,其特征在于,包括:移动终端接收操作人员通过前端界面输入的机器人操作指令,将所述机器人操作指令发送至服务器;所述服务器接收所述机器人操作指令,将所述机器人操作指令转换成机器人能识别的操作指令后发送至所述机器人;所述机器人根据接收到的操作指令进行动作;所述机器人动作完后,移动终端通过所述前端界面接收操作人员输入的机器人当前坐标信息,将机器人当前坐标信息作为机器人到达操作位置途径的一处坐标信息发送至所述服务器;所述服务器将所述机器人到达操作位置途径的该处坐标信息存储于数据库。
- 一种机器人控制方法,其特征在于,包括:由上位机发出操作任务至服务器,其中,所述操作任务中至少包括操作位置;所述服务器根据所述操作任务,从数据库中查询操作位置对应的机器人信息及操作位置对应的多处坐标信息;根据查询出的信息,发出操作指令至相关的机器人;所述机器人响应所述操作指令,以完成操作任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/088689 WO2022222061A1 (zh) | 2021-04-21 | 2021-04-21 | 一种机器人示教系统及方法、机器人控制系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/088689 WO2022222061A1 (zh) | 2021-04-21 | 2021-04-21 | 一种机器人示教系统及方法、机器人控制系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022222061A1 true WO2022222061A1 (zh) | 2022-10-27 |
Family
ID=83723693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2021/088689 WO2022222061A1 (zh) | 2021-04-21 | 2021-04-21 | 一种机器人示教系统及方法、机器人控制系统及方法 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2022222061A1 (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106597881A (zh) * | 2016-11-03 | 2017-04-26 | 深圳量旌科技有限公司 | 基于分布式决策算法的云服务机器人 |
CN107263449A (zh) * | 2017-07-05 | 2017-10-20 | 中国科学院自动化研究所 | 基于虚拟现实的机器人远程示教系统 |
US20200019249A1 (en) * | 2019-07-25 | 2020-01-16 | Lg Electronics Inc. | Robot system and control method thereof |
CN110977932A (zh) * | 2018-10-03 | 2020-04-10 | 发那科株式会社 | 机器人示教装置、机器人示教方法和存储动作命令的方法 |
CN212553853U (zh) * | 2020-07-13 | 2021-02-19 | 南京埃斯顿自动化股份有限公司 | 基于物联网技术的scara机械手远程控制系统 |
-
2021
- 2021-04-21 WO PCT/CN2021/088689 patent/WO2022222061A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106597881A (zh) * | 2016-11-03 | 2017-04-26 | 深圳量旌科技有限公司 | 基于分布式决策算法的云服务机器人 |
CN107263449A (zh) * | 2017-07-05 | 2017-10-20 | 中国科学院自动化研究所 | 基于虚拟现实的机器人远程示教系统 |
CN110977932A (zh) * | 2018-10-03 | 2020-04-10 | 发那科株式会社 | 机器人示教装置、机器人示教方法和存储动作命令的方法 |
US20200019249A1 (en) * | 2019-07-25 | 2020-01-16 | Lg Electronics Inc. | Robot system and control method thereof |
CN212553853U (zh) * | 2020-07-13 | 2021-02-19 | 南京埃斯顿自动化股份有限公司 | 基于物联网技术的scara机械手远程控制系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6343353B2 (ja) | ロボットの動作プログラム生成方法及びロボットの動作プログラム生成装置 | |
US7802193B1 (en) | Controlling motion using a human machine interface | |
US11518023B2 (en) | Control device, robot, and robot system | |
CN110293539B (zh) | 工业机器人示教器软件架构的实现方法、装置及示教器 | |
CN113043250B (zh) | 一种机器人控制系统及方法 | |
CN102622777A (zh) | 显示三维机器人工作单元数据的系统、方法以及设备 | |
US11854379B2 (en) | Method, device, and computer-readable medium for mobile device management of collaborative industrial robot | |
Wang et al. | Augmented reality enabled human–robot collaboration | |
CN114473324B (zh) | 基于示教学习的多机械臂协同拼接焊接控制方法及系统 | |
JP2018144228A (ja) | ロボット制御装置、ロボット、ロボットシステム、教示方法、及びプログラム | |
JP2019171498A (ja) | ロボットプログラム実行装置、ロボットプログラム実行方法、プログラム | |
WO2022222061A1 (zh) | 一种机器人示教系统及方法、机器人控制系统及方法 | |
JP2019177434A (ja) | 制御装置、ロボット、およびロボットシステム | |
CN113733107B (zh) | 机器人拖动示教的方法、机器人及计算机存储介质 | |
US20150328772A1 (en) | Method, apparatus, and medium for programming industrial robot | |
CN114683288A (zh) | 机器人展示和控制方法、装置及电子设备 | |
CN116940448A (zh) | 程序管理装置、机器人控制系统和用于管理程序的方法 | |
US20220374210A1 (en) | Graphical programming method, system and apparatus, medium, processor and terminal | |
JP7074057B2 (ja) | 産業用ロボットの作業記述作成装置および産業用ロボットの作業記述作成方法 | |
CN110632895B (zh) | 运动控制部件的管理方法、控制设备、运动控制系统 | |
US20150328769A1 (en) | Method, apparatus, and medium for teaching industrial robot | |
Makris et al. | Generating motion of cooperating robots—the dual arm case | |
Andrusyshyn et al. | Novel Gesture-Based Robot Programming Approach with the Ability of Code Reuse. Machines 2024, 12, 217 | |
Hsieh et al. | Effective manipulation for a multi-DOF robot manipulator in laboratory environments | |
Marín et al. | Multirobot Internet-based architecture for telemanipulation: experimental validation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21937304 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21937304 Country of ref document: EP Kind code of ref document: A1 |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21937304 Country of ref document: EP Kind code of ref document: A1 |