Universal industrial robot control system
Through a multi-mode motion planning algorithm based on the URDF model, a general industrial robot control system was developed, which solved the problem of lack of universality and scalability of existing systems, and realized unified control and efficient task execution of multi-brand and multi-model robots.
Patent Information
- Application Number
- CN202510313663.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-17
- Publication Date
- 2025-06-27
AI Technical Summary
The existing industrial robot control systems lack versatility and scalability, making it difficult to achieve cross-brand and multi-model robot integration, and customized hardware and algorithms are required in multi-robot collaboration scenarios, which increases cost and maintenance difficulty.
It provides a general industrial robot control system based on multi-mode motion planning algorithm based on URDF model, integrating motion planning module, teaching module, communication data conversion module and motion instruction programming module, supporting unified control of multi-brand and multi-model industrial robots.
It realizes unified control of different brands and models of industrial robots, improves applicability and scalability, reduces hardware costs and maintenance difficulties, and meets the needs of modern manufacturing for flexibility and interoperability.
Smart Images

Figure CN120215342A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of industrial robots, and specifically, to a general industrial robot control system. Background Art
[0002] With the continuous improvement of the automation level in modern manufacturing, industrial robots are increasingly widely used in multiple fields, covering various manufacturing processes such as welding, handling, assembly, packaging, and testing. Robotics plays an important role in improving production efficiency, reducing labor costs, and enhancing product precision and stability. However, due to the technical barriers of robot manufacturers, different brands and models of robots usually adopt different hardware interfaces, communication protocols, and motion planning algorithms, which leads to difficulties in integrating cross-brand and multi-model robots. Traditional robot control systems are usually customized for a single brand or model, lacking generality and scalability, and unable to meet the requirements for flexibility and interoperability in modern manufacturing.
[0003] In existing solutions, some robot control systems use customized hardware modules and algorithms to implement various robot control tasks, but these solutions often have significant limitations in system compatibility and scalability. For example, in a production line with multi-robot collaboration, it is usually necessary to configure different control systems and operation interfaces for each type of robot, which not only increases the hardware cost but also requires additional manpower for debugging and maintenance.
[0004] Patent document CN116214495A (application number: 202210231758.0) discloses a method and system for motion planning of a robot with redundant degrees of freedom. This technology calculates the collision avoidance motion planning of a robot with redundant degrees of freedom without artificially restricting additional degrees of freedom. The motion planning is formulated as a quadratic programming optimization calculation with a multi-component objective function and a collision avoidance constraint function. This formulation is efficient enough to calculate the motion planning in real time for each robot control cycle. The collision avoidance constraint ensures the clearance of all parts of the robot from static and dynamic obstacles. The objective function terms include path deviation minimization, joint speed regularization, and robot configuration or pose regularization. The weighting factors for the terms of the objective function are variable for each control cycle and are calculated based on the obstacle approach conditions at that time.
[0005] To solve the above problems, the present invention provides a general industrial robot control system based on the URDF model and having a multi-mode motion planning algorithm, integrating a motion planning module, a teaching module, a communication data conversion module, and a motion instruction programming module, capable of supporting the unified control of multi-brand and multi-model industrial robots, and improving the applicability and scalability of industrial robots. Summary of the Invention
[0006] In view of the defects in the prior art, an object of the present invention is to provide a universal industrial robot control system.
[0007] A universal industrial robot control system provided according to the present invention includes: a hardware module and a software function module;
[0008] Wherein, the hardware module includes a communication submodule and a universal controller unit submodule;
[0009] The communication submodule is used to support the communication between the general industrial robot control system and the controller of the robot to be controlled;
[0010] The general controller unit submodule is used to receive the motion planning instructions called by the user and generate the motion control signals of the robot according to the calling sequence;
[0011] The software function modules include: motion planning submodule, teaching submodule, communication data conversion submodule and motion instruction programming submodule;
[0012] The motion planning submodule is used to set the target point, generate the path and verify the feasibility to ensure that the path meets the robot motion constraints;
[0013] The teaching submodule is used to expand the teaching function of the general industrial robot control system by interacting with the teaching pendant of the industrial robot, and realize the path point storage, workpiece coordinate system definition and confirmation of linear and circular motion through two or three points;
[0014] The communication data conversion submodule is used to realize real-time two-way communication;
[0015] The motion instruction programming submodule is used to provide a standardized instruction interface.
[0016] Preferably, the communication submodule includes:
[0017] The USB-CAN converter is used to realize CAN bus communication between the general industrial robot control system and the controller of the robot to be controlled;
[0018] TCP / IP communication between the general industrial robot control system and the controller of the robot to be controlled is realized through IP addresses.
[0019] Preferably, the universal controller unit submodule is a hardware processor configured with a path planning algorithm.
[0020] Preferably, the motion planning submodule includes: describing the robot kinematic parameters based on a unified URDF model, and generating a motion path by calling a path planning function of MoveIt.
[0021] Preferably, the teaching sub-module includes:
[0022] Read the joint state of the robot in real time from the teach pendant of the industrial robot through the interface, and save the teaching points specified by the user as path point data;
[0023] Teach three points through the teach pendant of the industrial robot, including specifying the position of the origin of the workpiece coordinate system and the directions of the x, y, and z axes; and synchronize the defined coordinate information to the general industrial robot control system through interaction with the general industrial robot control system for motion planning and task execution.
[0024] Preferably, the communication data conversion sub-module includes:
[0025] The instruction data is sent to the robot controller by the communication data conversion sub-module after passing through the data conversion layer. The instruction includes the state of each joint at each time step, and the sending frequency of the control instruction is an adjustable fixed frequency;
[0026] The feedback data is returned from the robot controller to the general controller unit sub-module. The feedback data includes the joint position and speed status information of the robot, and the receiving frequency of the feedback data is an adjustable fixed frequency.
[0027] Preferably, the data conversion layer stores the joint space trajectory generated by the motion planning module of MoveIt as a ROS message type; extracts the joint trajectory data from the ROS message and converts the trajectory data into a format supported by the controller protocol.
[0028] Preferably, the motion instruction programming sub-module includes:
[0029] PTP instruction: ptp_control(self,x,y,z,rx,ry,rz,rw,velocity_scaling,coordinate_mode);
[0030] Among them, x, y, and z are the Cartesian coordinates of the target point, specifying the target position of the end effector; rx, ry, rz, and rw are the postures of the target point, representing the target direction of the end effector with quaternions; velocity_scaling is the speed scaling ratio, ranging from 0 to 1, used to adjust the execution speed of the instruction, and 1 means using the maximum speed of the robot; coordinate_mode is the coordinate system mode, 0 represents the world coordinate system, and 1 represents the workpiece coordinate system, used to define the reference system of the target point;
[0031] LIN instruction: line_control(self,x,y,z,v,coordinate_mode);
[0032] Among them, x, y, and z are the Cartesian coordinates of the target point, specifying the target position of the end effector; v is the movement speed, used to define the moving speed of the end effector; coordinate_mode is the coordinate system mode, 0 represents the world coordinate system, and 1 represents the workpiece coordinate system;
[0033] CIRC instruction: circ_control(self, r, theta1, theta2, v, roll, pitch, yaw);
[0034] Among them, r is the radius of the arc, defining the curvature of the circular arc movement; theta1 and theta2 are the starting angle and ending angle respectively, used to define the movement range of the circular arc; v is the movement angular velocity, defining the moving speed of the end effector; roll, pitch, yaw: define the angle of the circular arc plane, representing the roll angle, pitch angle, and yaw angle respectively.
[0035] Preferably, the motion instruction programming sub-module also supports combining the three basic motion modes of point-to-point PTP, linear LIN, and circular arc CIRC into tasks, and decomposing and executing the tasks according to the user's call order.
[0036] Preferably, the instruction interface in the motion instruction programming sub-module supports parameter customization, and the user can set the target point position, speed, path mode, and coordinate system according to the task requirements.
[0037] Compared with the prior art, the present invention has the following beneficial effects:
[0038] 1. The industrial robot control system of the present invention provides a flexible, efficient, and unified platform through highly integrated hardware and software modules to meet the control requirements of different industrial robots.
[0039] 2. The present invention controls different models of industrial robots through standardized hardware modules and software algorithms, realizes motion planning, task execution, status feedback, and multi-robot cooperation, etc., enabling them to perform motion planning, task execution, status feedback, and multi-robot cooperation in a unified control system. BRIEF DESCRIPTION OF THE DRAWINGS
[0040] By reading the detailed description of the non-restrictive embodiments with reference to the following drawings, other features, purposes, and advantages of the present invention will become more obvious:
[0041] Figure 1 It is a schematic diagram of the system hardware module provided by the present invention.
[0042] Figure 2 It is a schematic diagram of the system hardware module provided by the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0043] The present invention is described in detail below in conjunction with specific embodiments. The following embodiments will help those skilled in the art to further understand the present invention, but are not intended to limit the present invention in any form. It should be noted that, for those of ordinary skill in the art, several changes and improvements can also be made without departing from the concept of the present invention. These all belong to the protection scope of the present invention.
[0044] Example 1
[0045] A universal industrial robot control system provided by the present invention includes: standardized hardware modules and software function modules, which are used to control industrial robots of different models so that they can perform motion planning, task execution, state feedback and multi-machine collaboration in a unified control system. The hardware modules and software algorithms specifically include:
[0046] The hardware module includes: a communication submodule and a general controller unit submodule;
[0047] The software function modules include: a motion planning submodule, a teaching submodule, a communication data conversion submodule and a motion instruction programming submodule.
[0048] The control object includes: the robot body to be controlled and its corresponding controller and teaching pendant.
[0049] Specifically, the communication submodule supports communication between the general industrial robot control system and the controller of the robot to be controlled. Specifically, CAN bus communication with the controller is achieved through a USB-CAN converter, and TCP / IP communication with the controller is achieved through an IP address.
[0050] Specifically, the general controller unit submodule includes a hardware processor configured with a path planning algorithm, which is used to receive motion planning instructions called by a user and generate motion control signals for the robot according to the calling sequence.
[0051] Specifically, the motion planning submodule describes the robot kinematic parameters based on a unified URDF model, and generates a motion path by calling the path planning function of MoveIt. The planning process includes target point setting, path generation and feasibility verification to ensure that the path meets the robot motion constraints.
[0052] Specifically, the teaching submodule interacts with the teaching pendant of the industrial robot to expand the teaching function of the general control system, thereby supporting the saving of path points, the definition of the workpiece coordinate system, and the confirmation of linear and circular motion through two or three points.
[0053] Waypoint Saving Function: The teaching module reads the joint states of the robot in real time from the teach pendant through the interface, and saves the specified teaching points by the user as waypoint data;
[0054] Workpiece Coordinate System Definition Function: The teaching module allows the user to manually teach three points through the teach pendant, including specifying the position of the origin of the workpiece coordinate system and the directions of the x, y, and z axes; the teaching module synchronizes the defined coordinate system information to the general control system through interaction with the control system for motion planning and task execution.
[0055] Specifically, the communication data exchange sub-module realizes real-time two-way communication, where:
[0056] The command data is sent to the robot controller by the communication module after passing through the data conversion layer. The commands include the states of each joint at each time step, and the sending frequency of the control commands is an adjustable fixed frequency;
[0057] The feedback data is returned from the robot controller to the general controller unit module. The feedback data includes the joint positions, speeds and other state information of the robot, and the receiving frequency of the feedback data is an adjustable fixed frequency;
[0058] The data conversion layer stores the joint space trajectory generated by the motion planning module of MoveIt as a ROS message type. Extract the joint trajectory data from the ROS message and convert the trajectory data into a format supported by the controller protocol.
[0059] Specifically, the motion instruction programming module provides the following standardized instruction interfaces:
[0060] PTP Instruction: ptp_control(self,x,y,z,rx,ry,rz,rw,velocity_scaling,coordinate_mode)
[0061] Among them, x, y, and z are the Cartesian coordinates of the target point, specifying the target position of the end effector; rx, ry, rz, and rw are the postures of the target point, representing the target direction of the end effector with quaternions; velocity_scaling is the velocity scaling ratio, ranging from 0 to 1, used to adjust the execution speed of the instruction, and 1 means using the maximum speed of the robot; coordinate_mode is the coordinate system mode, 0 represents the world coordinate system (default), and 1 represents the workpiece coordinate system, used to define the reference system of the target point.
[0062] LIN Instruction: line_control(self,x,y,z,v,coordinate_mode)
[0063] Among them, x, y, and z are the Cartesian coordinates of the target point, specifying the target position of the end effector; v is the movement speed, with the unit of meters per second (m / s), used to define the moving speed of the end effector; coordinate_mode is the coordinate system mode, where 0 represents the world coordinate system (default), and 1 represents the workpiece coordinate system.
[0064] CIRC instruction: circ_control(self, r, theta1, theta2, v, roll, pitch, yaw)
[0065] Among them, r is the radius of the circular arc, with the unit of meters (m), defining the curvature of the circular arc movement; theta1 and theta2 are the starting angle and the ending angle, with the unit of radians, used to define the movement range of the circular arc; v is the movement angular velocity, with the unit of radians per second (rad / s), defining the moving speed of the end effector; roll, pitch, and yaw are the angles defining the plane of the circular arc, representing the roll angle, pitch angle, and yaw angle respectively.
[0066] The motion instruction programming module also supports defining a task by combining three basic motion modes: point-to-point (PTP), linear (LIN), and circular arc (CIRC), and decomposing and executing the task according to the user's call order.
[0067] The instruction interface supports parameter customization, and the user can set the target point position, speed, path mode, and coordinate system according to the task requirements.
[0068] Embodiment 2
[0069] Embodiment 2 is a preferred example of Embodiment 1
[0070] According to the general industrial robot control system provided by the present invention, as Figure 1 , Figure 2 shown, it includes: a hardware module and a software function module;
[0071] Among them, the hardware module is composed of a communication module and a general controller unit module.
[0072] The software function module includes a motion planning module, a teaching module, a communication data conversion module, and a motion instruction programming module; this system can support the unified control of industrial robots of multiple brands and models, and achieve efficient task execution, path planning, and real-time status feedback.
[0073] The hardware module includes a communication module and a universal controller unit module; the communication module supports data exchange with the robot controller to be controlled through a USB-CAN converter and TCP / IP protocol. The universal controller unit module is equipped with a hardware processor, which runs the path planning algorithm, receives the motion planning instructions issued by the user, and generates specific motion control signals to control the robot to perform tasks.
[0074] The robot controller performs robot motion control tasks by interacting with the motion planning module. Through the collaborative work of hardware modules, the entire system can achieve efficient collaboration, ensuring that robots of different brands or models can perform tasks in a unified manner.
[0075] Motion planning module: The motion planning module is the core of the system and is responsible for generating paths that conform to the robot's kinematic constraints based on a unified URDF (Uniform Robot Description Format) model. The URDF model contains parameters such as joint type, link size, and shape. The motion planning module establishes the relationship between the various parts of the robot by parsing the URDF model. In addition, the motion planning module also needs to receive robot status feedback from the communication data conversion module in real time to obtain information such as the robot's current joint position, speed, and acceleration. Combined with these real-time status data, the motion planning module calls the MoveIt path planning tool, taking into account the range of motion, speed limit, and acceleration limit of the robot's joints, and generates a path that conforms to physical constraints in the joint space and Cartesian space, and ensures the accuracy of the path. For example, when performing a point-to-point (PTP) motion, the system ensures that the robot can move accurately from the starting position to the target position while satisfying motion constraints such as speed.
[0076] Teaching module: The teaching module interacts with the teach pendant of the industrial robot to realize the waypoint saving function and the workpiece coordinate system definition. The waypoint saving function allows the user to define the waypoint through the teach pendant and record the joint state of the robot at the waypoint as the waypoint data. The process of defining the workpiece coordinate system includes two main steps: defining the origin and defining the coordinate axis direction (X, Y, Z). This process ensures that the robot can move accurately based on the defined workpiece coordinate system when performing tasks. The specific steps are as follows:
[0077] Define the origin of the workpiece coordinate system: Use the teach pendant to control the robot and move the end effector (such as grippers, fixtures and other tools) to the predetermined origin position of the workpiece. This position will become the origin of the workpiece coordinate system, usually a key position of the workpiece, such as the center of the workpiece or a point on the surface. On the instruction programming interface, the user chooses to record the current origin of the workpiece coordinate system. At this time, the general industrial robot control system will record the current position of the end effector as the origin of the workpiece coordinate system, that is, (0,0,0).
[0078] Define the axis directions (X, Y, Z) of the workpiece coordinate system: The Z-axis is the direction perpendicular to the workpiece surface, which is determined by moving the robot end effector along the normal direction of the workpiece surface. The user can manually control the end effector to move along the normal direction of the workpiece surface to ensure that the Z-axis direction is perpendicular to the workpiece surface. The teach pendant will record this direction as the Z-axis direction of the workpiece coordinate system. The X-axis direction is along a certain edge of the workpiece, and the Y-axis is perpendicular to the X-axis and also perpendicular to the Z-axis, forming a right-hand coordinate system. The X-axis is defined by moving the end effector along the edge of the workpiece surface or by selecting a suitable direction. The Y-axis is automatically determined through the cross product operation (the result of the cross product is perpendicular to the X-axis and the Z-axis). The general industrial robot control system obtains this information through communication with the robot controller to complete the setting of the workpiece coordinate system.
[0079] Teach two points to confirm linear motion execute_linear_path(start_pose, end_pose): start_pose and end_pose represent the start and end points of the linear motion respectively. Move the robot end effector to the position of each point through the teach pendant, and the general industrial robot control system obtains this information through communication with the robot controller. Then, generate a linear motion by automatically interpolating the path between the start and end points.
[0080] Teach three points to confirm circular motion execute_circular_path(start_pose, mid_pose, end_pose): start_pose and end_pose represent the start and end points of the circular motion respectively, and mid_pose represents any point in the middle of the arc, which is used to confirm the radius and direction of the arc. Move the robot end effector to the position of each point through the teach pendant, and the general industrial robot control system obtains this information through communication with the robot controller. Then, generate a circular motion by interpolating the path between the start and end points.
[0081] Communication data conversion module: The communication data conversion module is responsible for converting the control instructions and feedback data generated by MoveIt into the protocol format supported by the target robot controller. Communicate with the target controller using the TCP / IP protocol. The functions of the module are mainly divided into two parts:
[0082] Sending of control instructions: Convert the control instructions generated by MoveIt (such as target position, pose, speed, etc.) into a format that the target controller can understand and send them through the TCP / IP protocol.
[0083] Receiving and parsing feedback data: Receive the feedback data after execution (such as the current position, speed, etc.) from the robot controller, and convert it into a format that MoveIt can handle for real-time status monitoring and adjustment.
[0084] Taking the JAKA model robot as an example, the data format will be specifically described below:
[0085] The instructions sent to the JAKA controller include information such as target joint angles, target speeds, and accelerations. The data is packed according to the custom protocol supported by the JAKA controller and sent through the TCP / IP protocol. Specifically, it includes the following content: Target joint angles: The joint position data is an array representing the target angles of each joint; Speed: The movement speed of each joint; Acceleration: The acceleration of each joint.
[0086] The feedback data received from the JAKA controller includes information such as the current joint positions and joint speeds. The data is returned in JSON format through the interface. Specifically, it includes the following content: Current position: The joint positions of the robot (in array form, the angles of each joint); Speed: The current speed information; Status: Information such as whether there is an error and whether the current instruction is completed.
[0087] Motion instruction programming module: The motion instruction programming module provides a standardized instruction interface. The specific instructions include PTP, LIN, and CIRC. Each instruction can generate complex motion trajectories through simple parameter settings. The specific introduction is as follows:
[0088] PTP instruction: ptp_control(x,y,z,rx,ry,rz,rw,velocity_scaling,coordinate_mode)
[0089] Among them, x, y, z represent the target positions of the robot's end effector in the specified coordinate system, with the unit of meter (m). For example, (1.0, 2.0, 3.0) means that the end effector needs to move to the position where x = 1.0m, y = 2.0m, and z = 3.0m; rx, ry, rz, rw represent the target posture of the robot's end effector (in quaternion form), without unit. For example, (0, 0, 0, 1) means no rotation; velocity_scaling represents the speed scaling factor, with a range of 0 to 1, used to adjust the ratio relative to the maximum movement speed supported by the robot (depending on the specific situation of the actual robot, predefined in the configuration file) (the default parameter is 0.3). For example, 0.5 means moving at 50% of the maximum speed; coordinate_mode is used to specify the reference coordinate system of the target position. 0 represents the world coordinate system (default parameter), and 1 represents the workpiece coordinate system. The selection of different coordinate systems will affect the calculation method of the target position.
[0090] For example: ptp_control(1.0, 2.0, 3.0, 0, 0, 0, 1, velocity_scaling = 0.5, coordinate_mode = 0). This instruction means that the robot moves from the current position to the target position (1.0, 2.0, 3.0) through PTP motion at 50% of the maximum speed without rotation in the world coordinate system.
[0091] LIN instruction: line_control(x, y, z, v, coordinate_mode)
[0092] Among them, x, y, and z represent the target position of the robot's end effector in the specified coordinate system, with the unit of meter (m). For example, (1.0, 2.0, 3.0) means that the end effector needs to move to the position where x = 1.0m, y = 2.0m, and z = 3.0m; v represents the motion speed, with the unit of meter per second (m / s), which is used to define the moving speed of the end effector; coordinate_mode is used to specify the reference coordinate system of the target position. 0 represents the world coordinate system (default parameter), and 1 represents the workpiece coordinate system. The selection of different coordinate systems will affect the calculation method of the target position.
[0093] For example: line_control(1.0, 2.0, 1.0, v = 0.2, coordinate_mode = 1). This instruction means that the robot moves from the current position along a straight-line trajectory at a speed of 0.2m / s in the workpiece coordinate system to the target position (1.0, 2.0, 1.0).
[0094] CIRC instruction: circ_control(r, theta1, theta2, v, roll, pitch, yaw)
[0095] Among them, the center of the circle is the current position of the end effector; r represents the radius of the arc, with the unit of meter (m). theta1 and theta2 represent the starting angle and ending angle relative to the positive direction of the x-axis in the world coordinate system. The counterclockwise direction is the positive direction, with the unit of radian (rad), which is used to define the motion range of the arc; v represents the motion angular velocity, with the unit of radian per second (rad / s), which defines the moving speed of the end effector; roll, pitch, and yaw represent the angles of the arc plane, corresponding to the roll angle, pitch angle, and yaw angle respectively.
[0096] For example: circ_control(0.3, 0, pi / 2, v = 0.2, roll = 0, pitch = 0, yaw = 0). This instruction means that the robot takes the current end - effector position as the center of a circle and moves on a horizontal plane with a radius of 0.3 meters and a speed of 0.2 radians per second, starting from the positive X - axis direction of the world coordinate system and moving 90° until it reaches the positive Y - axis direction.
[0097] At the same time, the user is allowed to define and execute tasks composed of three basic motion modes. For example, a complex task may require the robot to first perform a point - to - point motion, then execute a straight - line trajectory, and finally perform a circular - arc trajectory motion. The user can combine different basic motion modes through a simple interface to define a complete task:
[0098] First, perform a point - to - point (PTP) motion from the current position A to position B;
[0099] Then, move along a straight line (LIN) from position B to position C;
[0100] Finally, the robot moves along a circular arc (CIRC) with point C as the center of the circle to point D.
[0101] Once the task is defined and combined, the motion planning module will generate and plan the path for these basic motion modes in sequence.
[0102] Generally speaking, during the application process, the user first decomposes the task into basic motion modes according to requirements through the motion instruction programming module. The basic motion instructions are passed to the motion planning module, which generates a path suitable for the robot to execute through kinematic algorithms. After the path is generated, if it is necessary to specify the tool coordinate system, the teaching module will share the path points and workpiece coordinate system information with the system to ensure that the robot can accurately execute the task according to the set coordinate system. The control signals generated by the motion planning module are transmitted to the robot controller through the communication data conversion module, and the controller executes the specific motion task according to the instructions. During the motion process, the robot controller obtains the motion state data in real - time through sensors and returns the feedback information to the system. The communication data conversion module will further adjust the robot path and execution state according to the feedback information to ensure the completion of the task.
[0103] Those skilled in the art know that, in addition to implementing the systems, devices, and their respective modules provided by the present invention in the form of pure computer-readable program code, the method steps can be logically programmed to enable the systems, devices, and their respective modules provided by the present invention to be implemented in the form of logic gates, switches, application-specific integrated circuits, programmable logic controllers, and embedded microcontrollers, etc., to achieve the same program. Therefore, the systems, devices, and their respective modules provided by the present invention can be considered as a kind of hardware component, and the modules included therein for implementing various programs can also be regarded as the structures within the hardware component; the modules for implementing various functions can also be regarded as either software programs for implementing the method or the structures within the hardware component.
[0104] The specific embodiments of the present invention have been described above. It should be understood that the present invention is not limited to the above specific embodiments, and those skilled in the art can make various changes or modifications within the scope of the claims, which do not affect the essence of the present invention. Without conflict, the embodiments of the present application and the features in the embodiments can be combined with each other arbitrarily.
Claims
1. A general industrial robot control system, characterized in that: include: Hardware modules and software function modules: Control different types of industrial robots through hardware modules and software function modules to achieve motion planning, task execution, state feedback and multi-machine collaboration; Wherein, the hardware module includes a communication submodule and a universal controller unit submodule; The communication submodule is used to support the communication between the general industrial robot control system and the controller of the robot to be controlled; The general controller unit submodule is used to receive the motion planning instructions called by the user and generate the motion control signals of the robot according to the calling sequence; The software function modules include: motion planning submodule, teaching submodule, communication data conversion submodule and motion instruction programming submodule; The motion planning submodule is used to set the target point, generate the path and verify the feasibility to ensure that the path meets the robot motion constraints; The teaching submodule is used to expand the teaching function of the general industrial robot control system by interacting with the teaching pendant of the industrial robot, and realize the path point storage, workpiece coordinate system definition and confirmation of linear and circular motion through two or three points; The communication data conversion submodule is used to realize real-time two-way communication; The motion instruction programming submodule is used to provide a standardized instruction interface.
2. The universal industrial robot control system according to claim 1, characterized in that: The communication submodule comprises: The USB-CAN converter is used to realize CAN bus communication between the general industrial robot control system and the controller of the robot to be controlled; TCP / IP communication between the general industrial robot control system and the controller of the robot to be controlled is realized through IP addresses.
3. The universal industrial robot control system according to claim 1, characterized in that: The general controller unit submodule is a hardware processor configured with a path planning algorithm.
4. The universal industrial robot control system according to claim 1, characterized in that: The motion planning submodule includes: describing the robot kinematic parameters based on a unified URDF model, and generating a motion path by calling the path planning function of MoveIt.
5. The universal industrial robot control system according to claim 1, characterized in that: The teaching submodule comprises: The robot's joint status is read in real time from the teaching pendant of the industrial robot through the interface, and the teaching points specified by the user are saved as path point data; The industrial robot's built-in teach pendant teaches three points, including the position of the origin of the workpiece coordinate system and the direction of the xyz axis; and through interaction with the general industrial robot control system, the defined coordinate information is synchronized to the general industrial robot control system for motion planning and task execution.
6. The universal industrial robot control system according to claim 1, characterized in that: The communication data conversion submodule includes: After passing through the data conversion layer, the command data is sent to the robot controller by the communication data conversion submodule. The command includes the state of each joint at each time step, and the sending frequency of the control command is an adjustable fixed frequency; The feedback data is returned by the robot controller to the general controller unit submodule. The feedback data includes the joint position and speed status information of the robot. The receiving frequency of the feedback data is an adjustable fixed frequency.
7. The universal industrial robot control system according to claim 6, characterized in that: The data conversion layer stores the joint space trajectory generated by the motion planning module of MoveIt as a ROS message type; extracts the joint trajectory data from the ROS message, and converts the trajectory data into a format supported by the controller protocol.
8. The universal industrial robot control system according to claim 1, characterized in that: The motion instruction programming submodule includes: PTP command: ptp_control(self,x,y,z,rx,ry,rz,rw,velocity_scaling,coordinate_mode); Among them, x, y, z are the Cartesian coordinates of the target point, specifying the target position of the end effector; rx, ry, rz, rw are the postures of the target point, using quaternions to represent the target direction of the end effector; velocity_scaling is the speed scaling ratio, ranging from 0 to 1, used to adjust the speed of instruction execution, 1 means using the maximum speed of the robot; coordinate_mode is the coordinate system mode, 0 means the world coordinate system, 1 means the workpiece coordinate system, used to define the reference system of the target point; LIN instruction: line_control(self,x,y,z,v,coordinate_mode); Among them, x, y, z are the Cartesian coordinates of the target point, specifying the target position of the end effector; v is the motion speed, which is used to define the moving speed of the end effector; coordinate_mode is the coordinate system mode, 0 represents the world coordinate system, and 1 represents the workpiece coordinate system; CIRC instruction: circ_control(self,r,theta1,theta2,v,roll,pitch,yaw); Among them, r is the radius of the arc, which defines the curvature of the arc motion; theta1 and theta2 are the starting angle and the ending angle, respectively, which are used to define the motion range of the arc; v is the angular velocity of the motion, which defines the moving speed of the end effector; roll, pitch, yaw: define the angle of the arc plane, which represent the roll angle, pitch angle and yaw angle respectively.
9. The universal industrial robot control system according to claim 8, characterized in that: The motion instruction programming submodule also supports defining the combination of three basic motion modes, point-to-point PTP, linear LIN and circular CIRC, as tasks, and decomposing and executing tasks according to the user's calling order.
10. The universal industrial robot control system according to claim 1, characterized in that: The command interface in the motion command programming submodule supports parameter customization, and users can set the target point position, speed, path mode and coordinate system according to task requirements.
Citation Information
Patent Citations
Robot dynamic motion planning and control method
CN116214495A
Cited By
Lightweight embodied intelligent system based on big-small brain collaborative architecture and construction method thereof
CN122500743A