Model-based multi-axis robot control apparatus and method

Through modular distributed control and graphical programming software, the problems of long development cycle and serious resource consumption of traditional robot control systems are solved, real-time status monitoring and rapid parameter adjustment of the robot system are realized, development efficiency and system compatibility are improved, and it is suitable for robot teaching and scientific research.

CN111730593BActive Publication Date: 2025-10-10NANJING INST OF TECH
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
CN202010460370.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-05-27
Publication Date
2025-10-10
Estimated Expiration
2040-05-27

AI Technical Summary

Technical Problem

Traditional robot control systems have a long development cycle and low efficiency. The integrated collaborative control of multi-joint robots lacks direct third-party testing and monitoring software. The main control chip has a heavy computing burden, the communication distance is short, and the resource usage is serious.

Method used

It adopts modular distributed control mode, combined with MATLAB/Simulink or LABVIEW graphical programming software, realizes modular development of robot control model through bus communication, integrates image acquisition, host computer and joint motor control modules, supports third-party software monitoring, and uses serial bus communication to reduce resource usage.

Benefits of technology

It shortens the development cycle, improves development efficiency, realizes real-time status monitoring and rapid parameter adjustment of the robot system, enhances system compatibility and the convenience of visual programming, and is suitable for robot teaching and scientific research.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN111730593B_ABST
    Figure CN111730593B_ABST
Patent Text Reader

Abstract

The application discloses a model-based multi-axis robot control device, which comprises an image acquisition device, a host computer, a bus control module and a joint motor control module; the image acquisition device is connected with the host computer, and the bus control module is connected with the host computer; the joint motor control module comprises a joint motor control unit and a joint motor driving unit, the joint motor control unit is connected with the joint motor driving unit, and the joint motor control module is several; the bus control module is connected with the joint motor control module through a control bus. The application adopts a modular distributed control mode, builds a control model of the whole robot, completes visual control, trajectory planning and joint driving of the robot, and adopts a modular device and a distributed control method, so that the system is compatible with drivers and robots of other manufacturers.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of robot control, and in particular to a model-based multi-axis robot control device and method. Background Art

[0002] As robotics applications continue to expand, people's demands for robots are also increasing. However, traditional robotic control systems are not open to users, which prevents the development of some personalized functions and even limits the research and development of some advanced algorithms. The development method adopted by this invention allows all control logic to be modeled in MATLAB or LABVIEW, which not only greatly shortens the development cycle but also makes the entire control algorithm easier to understand.

[0003] Traditional robot control system development typically involves requirements analysis, simulation verification, physical design, and verification testing. However, these development stages are conducted in isolation, using different development platforms and even different developers. This leads to long development cycles and low efficiency. Furthermore, traditional development methods typically rely on manual programming, which is difficult and prone to errors, and also creates significant challenges for subsequent testing and verification.

[0004] In the prior art, the multi-joint robot integrated collaborative control device disclosed in the integrated collaborative control device and method does not have direct third-party test monitoring software when conducting system testing and verification, which makes it inconvenient to collect robot experimental data. A multi-joint robot integrated collaborative control device places the robot trajectory planning algorithm and the control algorithm of each joint in the main control chip, which increases the computing burden of the main control chip. A multi-joint robot integrated collaborative control device uses parallel bus communication for communication between the main control and each joint, which has a short communication distance and will occupy a large amount of resources of the main control chip. Summary of the Invention

[0005] This application discloses a model-based multi-axis robot control device and method, which adopts a modular device and a distributed control method, and also makes this system compatible with drives and robots of other manufacturers.

[0006] The technical solution adopted in the present invention is:

[0007] A model-based multi-axis robot control device,

[0008] It includes an image acquisition device, a host computer, a bus control module and a joint motor control module; the image acquisition device is connected to the host computer, and the bus control module is connected to the host computer;

[0009] The joint motor control module includes a joint motor control unit and a joint motor drive unit, and the joint motor control unit is connected to the joint motor drive unit

[0010] There are several joint motor control modules;

[0011] The bus control module is connected to the joint motor control module via a control bus.

[0012] Preferably, it further includes a code generation module, which includes an emulator interface unit and a hardware code generator. The host computer, the emulator interface unit and the hardware code generator are connected in sequence, and the image acquisition device and the bus control module are both connected to the hardware code generation controller.

[0013] The PC uses the Windows operating system and installs graphical programming software to build the control model of the entire robot, making the robot control system a real-time control system; the C language code generated by the robot control model is downloaded to the hardware code generation controller through the simulator interface module; the hardware code generation controller controls the joint motor control module through the bus to drive the robot to complete the expected action.

[0014] The hardware code generation controller includes a first power supply module, a first processor module, a serial communication module and an image transmission module; the serial communication module and the image transmission module are both connected to the first processor module, and the image transmission module is connected to the image acquisition device; the host computer is connected to the serial communication module, and the first processor module is connected to the bus control module.

[0015] The first power supply module provides power to the hardware code generation controller. The first processor module performs image processing, robot trajectory planning, and the sending and receiving of control instructions. The serial communication module is used to communicate with the host computer. The image transmission module receives images from the image acquisition device and transmits them to the first processor module.

[0016] The hardware code generation controller receives the image from the image acquisition device through the image transmission module and transmits it to the first processor module for robot image control, communicates with the joint motor control module through the bus control module, and exchanges data with the host computer through the serial communication module.

[0017] The joint motor control unit comprises a second power module, a second processor module, a second bus control module, an encoder information reading module, a digital-analog conversion module and a PWM wave modulation module; the second power module provides power supply for the joint motor control unit, the second processor module runs motor drive algorithm and transmits and receives control instructions, the second bus control module is used for communication with the upper computer and the hardware code generation controller, the encoder module reads information of an encoder on the joint motor, the digital-analog conversion module converts an analog signal into a digital signal, and the PWM wave modulation module generates PWM or SVPWM wave;

[0018] The second bus control module, the encoder information reading module, the digital-analog conversion module and the PWM wave modulation module are connected with the second processor module, and the encoder information reading module is connected with the encoder of the multi-axis robot.

[0019] The joint motor control unit communicates with the upper computer and the hardware code generation controller through the bus control module, and transmits information to the second processor module for processing; the encoder information reading module reads current position information of the joint motor, the digital-analog conversion module converts the collected analog quantity into a digital quantity and then transmits to the second processor module, and the second processor module generates PWM data through algorithm calculation and transmits to the PWM wave modulation module to generate PWM wave.

[0020] The joint motor drive unit comprises a rectifier circuit, an inverter circuit, a sampling circuit, an isolation circuit and a protection circuit; the rectifier circuit converts external input alternating current into direct current, the inverter circuit converts the direct current into alternating current again, the sampling circuit collects voltage and current signals of the joint motor, the isolation circuit is used for electrical isolation, and the protection circuit is used for fault detection.

[0021] The rectifier circuit is connected with the protection circuit and the inverter circuit, the inverter circuit is connected with the rectifier circuit and the joint motor, and the sampling circuit is connected between the inverter circuit and the digital-analog conversion module; the isolation circuit is connected between the inverter circuit and the PWM wave modulation module.

[0022] The joint motor drive unit rectifies the power frequency alternating current into direct current through the rectifier circuit, and inversely converts the direct current into three-phase alternating current for driving the motor through the inverter circuit controlled by the PWM wave; the sampling circuit collects three-phase voltage and current of the joint motor and feeds back to the joint motor control unit, and the protection circuit monitors the state of the bus voltage and current.

[0023] A model-based multi-axis robot control method, comprising the following steps:

[0024] S1: reading position information of each joint of the multi-axis robot, and initializing the robot;

[0025] S2: performing robot hand-eye calibration;

[0026] S3: Acquire image information of the workpiece through an image acquisition device, and transmit the image information of the workpiece to a host computer or a hardware code generation controller;

[0027] S4: receiving the image information, performing image processing and analysis on the image information to obtain the position information of the workpiece;

[0028] S5: The robot performs trajectory planning based on the current workpiece position information and the target position, obtains the driving data of the position, speed, and acceleration of each joint, and the bus control module. The bus control module is connected to the shutdown motor control unit through the control bus and sends instructions to the motor control units of each joint through the control bus;

[0029] S6: Control the joint motor control unit to receive the joint drive data, read the position information of the robot's joint encoder, the current position information of the joint encoder read by the encoder information reading module, obtain the analog quantity collected by the digital-to-analog conversion module, convert it into a digital quantity, obtain the motor data signal, generate PWM or SVPWM wave, and control the joint motor drive unit;

[0030] S7: Position control is performed on the target joint. The given joint position is subtracted from the actual feedback joint position and the difference is used for control. The desired joint speed is obtained through the position control algorithm. The speed is controlled by subtracting the difference from the current joint speed. After amplification, the motor is controlled by the joint motor drive unit.

[0031] S8: Control the joint motor drive unit to rectify the input industrial frequency AC power into DC power through the rectifier circuit, and then invert it into three-phase AC power for the drive motor through the inverter circuit controlled by the PWM wave; control the motors of each joint to rotate to the corresponding angle, and the robot completes the specified action task.

[0032] Step S1 specifically includes the following steps:

[0033] S11: Control the joint motor control unit to read the joint position information of the robot;

[0034] S12: Waiting to receive joint position information;

[0035] S13: After successful reception, the joint position information data is saved;

[0036] S14: Determine whether the position information of all joints is received;

[0037] S15: If the position information of all joints has not been received, read the position information of the next joint; if the position information of all joints has been received, end the read position request;

[0038] S16: After obtaining all joint position information, the current position of the robot is obtained through kinematics;

[0039] S17: Setting the zero return path, trajectory planning, and sending the zero return instruction to the joint motor control unit.

[0040] The joint motor control unit reads the joint position information of the robot, which includes the following steps:

[0041] S21: When the joint motor control unit receives the message, mode judgment is performed first;

[0042] S22: If the joint motor control unit enters the read position mode, read the position information according to the current joint state;

[0043] S23: The joint motor control unit sends the joint position information through the bus;

[0044] The sending instruction is sent to each joint motor control unit, and the communication process of the joint motor control unit includes the following steps:

[0045] S31: When the joint motor control unit receives the message, mode judgment is performed first;

[0046] S32: When the joint motor control unit enters the normal mode, read the given joint position information;

[0047] S33: Determine whether all joints have received position information;

[0048] S34: When all joints have received position information, control the drivers of all joint motor drive units to drive the joint motors simultaneously, so that the robot moves in coordination.

[0049] The trajectory planning adopts Cartesian space trajectory planning, which includes the following steps:

[0050] S41, the position and attitude of the interpolation point on the given trajectory are given, and the Cartesian space trajectory planning is performed;

[0051] The robot end effector moves from the starting position P1 to the final position P3 through the intermediate point P2, and the center O and the radius of the circular arc are calculated according to the coordinates of P1, P2 and P3; A new coordinate system O-UWP is established in the plane of the circular arc, and the mapping relationship between the O-UWP coordinate system and the robot base coordinate system is calculated; The points O, P1, P2 and P3 are transformed into the new coordinate system O-UWP for circular arc interpolation, and the obtained interpolation points are converted back to the base coordinate system; The position and attitude of the interpolation points are obtained, and the inverse kinematics of the robot is performed to obtain the angles that the joints of the robot need to rotate;

[0052] S42, the host computer or hardware code generation controller sends the joint angle to each joint motor control unit, and the joint motor control unit controls the joint motor drive unit to drive the joint motor to rotate the corresponding angle, and the robot completes the action task.

[0053] Hand-eye calibration obtains the relationship between the camera coordinate system and the robot end coordinate system, which includes the following steps:

[0054] The matrix relationship between the camera coordinate system and the robot end coordinate system is: (The base coordinate system is the additional coordinate system of the robot base, and the end coordinate system is the additional coordinate system of the robot end effector.

[0055] Indicates the position relationship of the calibration plate in the camera coordinate system;

[0056] Indicates the positional relationship of the robot base coordinates in the camera coordinate system;

[0057] Indicates the positional relationship of the end effector coordinates in the robot base coordinate system;

[0058] Indicates the position relationship of the calibration plate in the end-effector coordinate system.

[0059] The present invention discloses a multi-axis robot control device that utilizes a modular, distributed control approach and a model-based development approach to build a control model for the entire robot, completing the robot's visual control, trajectory planning, and joint drive components. When a host computer is selected as the primary control device for the entire robot system, the control model runs on the host computer, which communicates directly with the joint motor control units via a bus. When a hardware code generation controller is selected as the primary control device for the entire robot system, the control model automatically generates C language code and downloads it to the hardware code generation controller, which then communicates with the joint motor control units via a bus.

[0060] This control system uses graphical programming software (MATLAB / Simulink or LABVIEW) as its development software. This allows for both early simulation of the control system and later functional testing and verification of the entire system within a single development software package. Simulink can be used for modeling and simulation in the early stages of product development. Once the solution is proven feasible, only minor modifications to the simulation model are required before it can be applied to the product. Later in product development, the real-time status of the slave computer can be fed back to the master computer via a bus to monitor the robot's operating status.

[0061] The application discloses a multi-axis robot control method, which can be on-line parameter-adjusted, real-time state trend displayed, debugged and verified conveniently, and can greatly accelerate the research and development period.

[0062] The robot control device and method comprise robot vision control, trajectory planning, joint driving multiple parts, and finally enable the robot to detect and grasp a workpiece to a specified position. An image acquisition device acquires a workpiece image and uploads the workpiece image to an upper computer and a hardware code generation controller, the upper computer and the hardware code generation controller perform image processing, then perform robot trajectory planning, and then transmit joint information of the trajectory planning to each joint motor control unit to realize control on each joint, and finally the robot can complete corresponding actions.

[0063] Meanwhile, the application adopts visual programming and code automatic generation, only needs to build a control model, so that the research and development personnel can mainly invest in algorithms. Because the application can more conveniently and quickly verify the correctness and feasibility of the algorithms, the application can also be used as a new open robot teaching platform for robot professional teaching and scientific research, and the application can also use third-party software for monitoring, adopts serial bus communication, occupies less resources, and has better compatibility. BRIEF DESCRIPTION OF DRAWINGS

[0064] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed to be used in the embodiments will be briefly introduced as follows. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative effort on the basis of these drawings.

[0065] Figure 1a It is a system structure diagram of a model-based multi-axis robot control device;

[0066] Figure 1b It is a model-based multi-axis robot control device comprising a hardware code generation controller;

[0067] Figure 2 It is a structure schematic diagram of the hardware code generation controller.

[0068] Figure 3 It is a hardware structure diagram of a joint motor control unit and a joint motor driving unit;

[0069] Figure 4 It is a flowchart of Cartesian space trajectory planning;

[0070] Figure 5 It is a flowchart of robot position control;

[0071] Figure 6Flowchart for robot vision control. DETAILED DESCRIPTION

[0072] The application will be further described below in conjunction with the drawings.

[0073] As Figure 1a shown, a model-based multi-axis robot control device includes an image acquisition device, a host computer, a bus control module, and a joint motor control module; the image acquisition device is connected to the host computer, and the bus control module is connected to the host computer;

[0074] The joint motor control module includes a joint motor control unit and a joint motor drive unit, and the joint motor control unit is connected to the joint motor drive unit

[0075] The joint motor control module is several;

[0076] The bus control module is connected to the joint motor control module through a control bus.

[0077] As Figure 1b , it also includes a code generation module, which includes an emulator interface unit and a hardware code generator, and the host computer, the emulator interface unit, and the hardware code generator are sequentially connected in order, and the image acquisition device and the bus control module are connected to the hardware code generation controller. The hardware code generation controller is connected to the joint motor control unit through a control bus, the host computer is connected to the first bus control module, the first bus control module is connected to the joint motor control module through a control bus, and the joint motor control unit is connected to the joint motor drive unit.

[0078] The PC uses a Windows operating system, installs graphical programming software to build the control model of the entire robot, and installs third-party software and hardware to make the entire robot control system a real-time control system. The C language code generated by the robot control model is downloaded to the hardware code generation controller through the emulator interface module; the hardware code generation controller drives the robot to complete the expected action by controlling the joint motor control module through the bus.

[0079] As Figure 1aAs shown, the host computer uses the Windows operating system and is installed with graphical programming software such as MATLAB / Simulink and LABVIEW to build the entire robot's control model. Furthermore, third-party software and hardware such as QUARC and dSPACE are installed to make the entire robot control system a real-time control system. The image acquisition device is connected to the host computer, which is connected to the first bus control module. The first bus control module is connected to the joint motor control module via a control bus, and the joint motor control unit is connected to the joint motor drive unit. The host computer controls the joint motor control module via the bus to drive the robot to complete the desired movement.

[0080] like Figure 1b As shown, when hardware code generation is used, the host computer is connected to the simulator interface module, which is then connected to the hardware code generation controller. The hardware code generation controller is then connected to the image acquisition device and the host computer, and then to the joint motor control module. The hardware code generation controller serves as the primary control device for the entire robot system. The host computer uses the Windows operating system and is installed with MATLAB / Simulink and LABVIEW graphical programming software to build the robot's control model. The C language code automatically generated by the robot control model is downloaded to the hardware code generation controller via the simulator interface module. The hardware code generation controller then controls the joint motor control module via a bus to drive the robot to complete the desired motion.

[0081] In this embodiment, the image acquisition device is mounted on the end effector of the multi-axis robot and moves with the robot, and the field of view of the image acquisition device faces the workbench of the workpiece.

[0082] The image acquisition device can also be installed on a fixed bracket, and the field of view of the image acquisition device faces the workbench of the workpiece and the field of view is unobstructed.

[0083] like Figure 2 As shown, the hardware code generation controller includes a first power supply module, a first processor module, a serial communication module and an image transmission module; the serial communication module and the image transmission module are both connected to the first processor module, and the image transmission module is connected to the image acquisition device; the first processor module is connected to the bus control module;

[0084] The first power supply module provides power to the hardware code generation controller. The first processor module performs image processing, robot trajectory planning, and the sending and receiving of control instructions. The serial communication module is used to communicate with the third-party monitoring software of the host computer. The image transmission module receives images from the image acquisition device and transmits them to the first processor module.

[0085] The hardware code generation controller receives the image from the image acquisition device through the image transmission module and transmits it to the first processor module for robot image control, communicates with the joint motor control module through the bus control module, and exchanges data with the third-party monitoring software of the host computer through the serial communication module. Figure 3 The figure shows the hardware structure of the joint motor control unit and joint motor drive unit. The joint motor control unit communicates with the host computer via the first bus control module and transmits information to the host computer for processing. Simultaneously, the encoder information reading module reads the current position of the joint motor. The digital-to-analog conversion module converts the acquired analog current and voltage values ​​into digital values, which are then transmitted to the second processor module. The corresponding algorithm generates PWM data, which is then transmitted to the PWM wave modulation module to generate the PWM wave. The joint motor drive unit first rectifies the input 220V AC power to DC through a rectifier circuit, and then inverts it into three-phase AC power to drive the motor through an inverter circuit controlled by a PWM wave. Simultaneously, the sampling circuit collects the three-phase voltage and current of the motor and feeds them back to the motor control unit. The protection circuit monitors the bus voltage and current to prevent overvoltage and overcurrent.

[0086] like Figure 3 As shown, the joint motor control unit includes a second power supply module, a second processor module, a second bus control module, an encoder information reading module, a digital-to-analog conversion module and a PWM wave modulation module; the second power supply module provides power to the joint motor control unit, the second processor module runs the motor drive algorithm and receives and transmits control instructions, the second bus control module is used to communicate with the host computer or the hardware code generation controller, the encoder module reads the information of the encoder on the joint motor, the digital-to-analog conversion module converts the analog signal into a digital signal, and the PWM wave modulation module generates PWM or SVPWM waves;

[0087] The second bus control module, the encoder information reading module, the digital-to-analog conversion module and the PWM wave modulation module are all connected to the second processor module, and the encoder information reading module is connected to the encoder of the multi-axis robot;

[0088] The joint motor control unit communicates with the host computer or hardware code generation controller through the bus control module, and transmits the information to the main control chip in the second processor module for processing; the encoder information reading module reads the current position information of the joint motor, and the digital-to-analog conversion module converts the collected analog quantity into a digital quantity and transmits it to the second processor module. The second processor module generates PWM data through algorithm calculation and transmits it to the PWM wave modulation module to generate PWM wave.

[0089] The joint motor drive unit includes a rectifier circuit, an inverter circuit, a sampling circuit, an isolation circuit, and a protection circuit; the rectifier circuit converts the external input AC power into DC power, the inverter circuit converts the DC power back into AC power, the sampling circuit collects the voltage and current signals of the joint motor, the isolation circuit is used for electrical isolation, and the protection circuit is used for fault detection;

[0090] The rectifier circuit is connected to the protection circuit and the inverter circuit, the inverter circuit is connected to the rectifier circuit and the joint motor, the sampling circuit is connected between the inverter circuit and the digital-to-analog conversion module; the isolation circuit is connected between the inverter circuit and the PWM wave modulation module;

[0091] The joint motor drive unit first rectifies the industrial frequency AC power into DC power through a rectifier circuit, and then inverts it into three-phase AC power for driving the motor through an inverter circuit controlled by a PWM wave; the sampling circuit collects the three-phase voltage and current of the joint motor and feeds them back to the joint motor control unit, and the protection circuit monitors the status of the bus voltage and current.

[0092] like Figure 4 As shown, a model-based multi-axis robot control method includes the following steps:

[0093] S1: Read the position information of each joint of the multi-axis robot and control the robot to initialize;

[0094] S2: perform robot hand-eye calibration;

[0095] S3: Acquire image information of the workpiece through an image acquisition device, and transmit the image information of the workpiece to a host computer or a hardware code generation controller;

[0096] S4: receiving the image information, performing image processing and analysis on the image information to obtain the position information of the workpiece;

[0097] S5: The robot performs trajectory planning based on the current workpiece position information and the target position, obtains the driving data of the position, speed, and acceleration of each joint, and the bus control module. The bus control module is connected to the shutdown motor control unit through the control bus and sends instructions to the motor control units of each joint through the control bus;

[0098] S6: Control the joint motor control unit to receive the joint drive data, read the position information of the robot's joint encoder, the current position information of the joint encoder read by the encoder information reading module, obtain the analog quantity collected by the digital-to-analog conversion module, convert it into a digital quantity, obtain the motor data signal, generate PWM or SVPWM wave, and control the joint motor drive unit;

[0099] S7: As Figure 5As shown, position control is performed on the target joint, the given joint position and the actual feedback joint position are subtracted, and the difference is used for control. The expected joint speed is obtained through the position control algorithm, and the speed control is performed after subtracting it from the current joint speed. After amplification, the motor is controlled by the joint motor drive unit; the position control algorithm adopts proportional control and feedforward control, and the speed control algorithm can adopt a proportional integral control algorithm.

[0100] S8: Control the joint motor drive unit to rectify the input industrial frequency AC power into DC power through the rectifier circuit, and then invert it into three-phase AC power for the drive motor through the inverter circuit controlled by the PWM wave; control the motors of each joint to rotate to the corresponding angle, and the robot completes the specified action task.

[0101] In the embodiment of the present application, after adding the visual algorithm, the following is formed: Figure 6 The visual closed loop shown in the figure. The inner loop still controls position and velocity, but a visual controller is added to the outermost part of the control process to complete the visual closed loop. In this example, the image captured by the camera is directly compared with the expected image. The error is then transformed into the robot's motion space using a corresponding control algorithm, driving the robot to complete the task.

[0102] Step S1 specifically includes the following steps:

[0103] S11: Control the joint motor control unit to read the joint position information of the robot;

[0104] S12: Waiting to receive joint position information;

[0105] S13: After successful reception, the joint position information data is saved;

[0106] S14: Determine whether the position information of all joints is received;

[0107] S15: If the position information of all joints has not been received, read the position information of the next joint; if the position information of all joints has been received, end the read position request;

[0108] S16: After obtaining the position information of all joints, the current position of the robot is obtained through kinematics;

[0109] S17: Set the return to zero path, perform trajectory planning, and send the return to zero instruction to the joint motor control unit.

[0110] The joint motor control unit reads the joint position information of the robot, which specifically includes the following steps:

[0111] S21: When the joint motor control unit receives the message, it first performs mode judgment;

[0112] S22: If the joint motor control unit enters the position reading mode, the position information is read according to the current joint state;

[0113] S23: The joint motor control unit sends the joint position information via the bus;

[0114] The sending of instructions to each joint motor control unit, the communication process of the joint motor control unit specifically includes the following steps:

[0115] S31: When the joint motor control unit receives the message, it first performs mode judgment;

[0116] S32: When the joint motor control unit enters the normal mode, read the given joint position information;

[0117] S33: Determine whether all joints have received position information;

[0118] S34: After all joints receive the position information, the drivers of all joint motor drive units are controlled to drive the joint motors simultaneously, so that the robot moves in a coordinated manner.

[0119] like Figure 4 As shown, trajectory planning adopts Cartesian space trajectory planning, which specifically includes the following steps:

[0120] S41, given the position and posture of the interpolation point on the trajectory, perform trajectory planning in Cartesian space;

[0121] The robot's end effector moves from the starting position P1 through the intermediate point P2 to the end point P3. The center O and radius of the arc are calculated based on the coordinates of points P1, P2, and P3. A new coordinate system O-UWP is established based on the plane where the arc is located, and the mapping relationship between the O-UWP coordinate system and the robot's base coordinate system is calculated. Points O, P1, P2, and P3 are transformed into the new coordinate system O-UWP and circular interpolation is performed. The obtained interpolation points are then converted back to the base coordinate system. The position and posture of the interpolation points are obtained, and the robot kinematics inverse solution is performed on the interpolation points to obtain the angles that each joint of the robot needs to rotate.

[0122] S42, the host computer or hardware code generation controller sends the joint angle to each joint motor control unit, and the joint motor control unit controls the joint motor drive unit to drive the joint motor to rotate the corresponding angle, and the robot completes the action task.

[0123] Hand-eye calibration obtains the relationship between the camera coordinate system and the robot end coordinate system, which includes the following steps:

[0124] The matrix relationship between the camera coordinate system and the robot end coordinate system is:

[0125] The base coordinate system is the additional coordinate system of the robot base, and the end coordinate system is the additional coordinate system of the robot end effector.

[0126] Indicates the position relationship of the calibration plate in the camera coordinate system;

[0127] Indicates the positional relationship of the robot base coordinates in the camera coordinate system;

[0128] Indicates the positional relationship of the end effector coordinates in the robot base coordinate system;

[0129] Indicates the position relationship of the calibration plate in the end-effector coordinate system.

[0130] T represents the transformation matrix, cam represents the camera coordinate system, obj represents the calibration plate coordinate system, base represents the robot base coordinate system, and tool represents the end effector coordinate system. By shooting the calibration plate several times, the position relationship of the calibration plate in the camera coordinate system is obtained. Based on the robot kinematics knowledge, obtain the positional relationship between the end effector and the base coordinate system Therefore, we only need to take a few more sets of photos to calculate the other two transformation matrices, and then we can calculate the relationship between the camera coordinate system and the robot end coordinate system.

[0131] The control modes of a multi-axis robot control device of the present invention mainly include three types: a simulation control mode, a rapid prototype control mode and a hardware code generation control mode.

[0132] Simulation control mode:

[0133] First, build a physical simulation model of the robot in MATLAB / Simulink or LABVIEW. For example, in Simulink, you can use the Simscape toolbox to build a physical simulation model of the robot. Draw a 3D diagram of the robot in a 3D drawing software. After importing the model, you can configure the physical properties of the robot's links, joint connections, and drive methods. Once the physical model is complete, build a robot control algorithm model to control the physical model to perform the desired movements. This control method is primarily suitable for simulation verification in the early stages of product development. All work can be completed on a single host computer, requiring no additional hardware. The simulation can also generate animated robot models to demonstrate the robot's movements.

[0134] Rapid prototyping control mode:

[0135] The host computer serves as the robot's main controller. Using the Windows operating system, you can install MATLAB / Simulink or LABVIEW graphical programming software to build the robot's control algorithm. Third-party software and hardware such as QUARC and dSPACE are also installed to make the entire robot control system a real-time system. The host computer sends control commands to the motor control module via a bus, controlling the robot's motion. This control method allows the control system to simultaneously control both a simulated robot and a real-world robot, allowing the simulated robot to move in the same manner as the real robot.

[0136] Control method of hardware code generation:

[0137] First, build a robot control model in MATLAB / Simulink or LABVIEW, use code generation to download the code to the hardware code generation controller, and use the hardware code generation controller as the main control device of the robot to realize the control of the robot.

[0138] Because this control method cannot directly display real-time robot data, the robot data must first be collected by the main control module and then transmitted to the host computer via serial communication for display. The host computer software receives and displays the robot data from the hardware code generation controller, communicating with the host computer via serial communication. This software collects and displays the position and speed information of each joint, as well as the current of the joint motor. The collected joint position information is then used to generate animated images of the robot's movements.

[0139] In the embodiment of the present application, after adding the visual algorithm, the following is formed: Figure 5 The visual closed loop shown in the figure. The inner loop still controls position and velocity, but a visual controller is added to the outermost part of the control process to form a visual closed loop. In this example, the image captured by the camera is compared with the expected image, and the error is transformed into the robot's motion space, thereby driving the robot to complete the task.

[0140] In the description provided herein, a large number of specific details are described. However, it is understood that embodiments of the present invention can be practiced without these specific details. In some instances, well-known methods, structures, and techniques are not shown in detail so as not to obscure the understanding of this description.

[0141] Similarly, it should be understood that in order to streamline the present disclosure and aid understanding of one or more of the various inventive aspects, in the above description of exemplary embodiments of the invention, various features of the invention are sometimes grouped together into a single embodiment, figure, or description thereof. However, this disclosed method should not be interpreted as reflecting an intention that the claimed invention requires more features than are expressly recited in each claim. Rather, as reflected in the claims, inventive aspects lie in less than all the features of the individual embodiments disclosed above. Accordingly, the claims that follow the detailed description are hereby expressly incorporated into this detailed description, with each claim standing on its own as a separate embodiment of the invention.

[0142] Those skilled in the art will appreciate that the modules, units, or groups of devices in the examples disclosed herein may be arranged in the device described in the embodiment, or alternatively may be located in one or more devices different from the devices in the examples. The modules in the aforementioned examples may be combined into one module or further divided into multiple submodules.

[0143] It will be appreciated by those skilled in the art that the modules in the devices of the embodiments may be adaptively changed and arranged in one or more devices different from the embodiments. The modules or units or groups in the embodiments may be combined into one module or unit or group, and further may be divided into a plurality of submodules or subunits or subgroups. All features disclosed in this specification (including the accompanying claims, abstract and drawings) and all processes or units of any method or device so disclosed may be combined in any combination, except that at least some of such features and / or processes or units are mutually exclusive. Unless expressly stated otherwise, each feature disclosed in this specification (including the accompanying claims, abstract and drawings) may be replaced by an alternative feature providing the same, equivalent or similar purpose.

[0144] Furthermore, those skilled in the art will appreciate that although some embodiments described herein include certain features included in other embodiments but not other features, combinations of features from different embodiments are intended to be within the scope of the present invention and to form different embodiments. For example, in the claims below, any of the claimed embodiments may be used in any combination.

[0145] Furthermore, some of the embodiments described herein are described as methods or method elements that can be implemented by a processor of a computer system or by other devices executing operations or elements of operations. Thus, a processor with the necessary instructions for carrying out such a method or element of a method forms a means for carrying out the method or element of a method. Furthermore, an element described herein of a means for carrying out a method or element of a method is a means for carrying out the function performed by the element of the method for which that element is described.

[0146] The various techniques described herein can be implemented in connection with hardware or software or, where appropriate, with a combination of both. Thus, the methods and apparatus of the present application, or certain aspects or portions thereof, can take the form of program code (i.e., instructions) embodied in tangible media, such as floppy diskettes, CD-ROMs, hard drives, or any other machine-readable storage medium wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the subject application.

[0147] Where the program code is executed by a programmable computer, the computer generally includes a processor, a storage medium readable by the processor (including volatile and non-volatile memory and / or storage elements), at least one input device, and at least one output device. The storage medium is configured to store program code whose execution implements the methods of the application. Thus, a computer program product of the application can include a computer readable medium having stored therein code whose execution implements the methods of the application.

[0148] Computer readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A storage media can be any available media that can be accessed by a computer. By way of example, and not limitation, such computer readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. Also, any connection is properly termed a computer readable medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, or twisted pair, then the coaxial cable, fiber optic cable, or twisted pair are included in the definition of medium. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), and Blu-Ray® disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer readable media.

[0149] As used herein, unless otherwise indicated, the use of the ordinal adjectives "first", "second", "third", etc., merely to distinguish different instances of an object to which the adjective refers, and are not intended to denote a given sequence or order of such objects. Thus, a first object discussed below could be termed a second object, and similarly, a second object could be termed a first object without changing the meaning of the description.

[0150] While the application has been described in accordance with the various embodiments shown and described, it is to be understood that the application is not limited to those precise embodiments, and that various modifications and changes can be made by those skilled in the art without departing from the scope of the present application. Furthermore, the language used in this specification has been principally selected for readability and instructional purposes and can not have been selected to delineate or circumscribe the patent rights to which it refers. Accordingly, the present application is intended to be illustrative, but not limiting, of the scope of the application, which is set forth with particularity in the claims that follow.

Claims

1. A model-based multi-axis robot control device, characterized in that: It includes an image acquisition device, a host computer, a bus control module and a joint motor control module; the image acquisition device is connected to the host computer, and the bus control module is connected to the host computer; When a host computer is selected as the main control device of the entire robot system, the control model runs in the host computer, and the host computer communicates directly with the joint motor control unit through the bus; the host computer uses the Windows operating system, installs graphical programming software to build the control model of the entire robot, and installs third-party software and hardware to make the entire robot control system a real-time control system; the image acquisition device is connected to the host computer, the host computer is connected to the first bus control module, the first bus control module is connected to the joint motor control module through the control bus, and the joint motor control unit is connected to the joint motor drive unit; the host computer controls the joint motor control module through the bus to drive the robot to complete the expected action; When the hardware code generation controller is selected as the main control device of the entire robot system, the code automatically generated by the control model is downloaded to the hardware code generation controller, and the hardware code generation controller communicates with the joint motor control unit through the bus; The joint motor control module includes a joint motor control unit and a joint motor drive unit, and the joint motor control unit is connected to the joint motor drive unit; There are several joint motor control modules; The bus control module is connected to the joint motor control module via a control bus; Among them, the joint motor control unit includes a second power supply module, a second processor module, a second bus control module, an encoder information reading module, a digital-to-analog conversion module and a PWM wave modulation module; the second power supply module provides power to the joint motor control unit, the second processor module runs the motor drive algorithm and receives and sends control instructions, the second bus control module is used to communicate with the host computer and the hardware code generation controller, the encoder module reads the information of the encoder on the joint motor, the digital-to-analog conversion module converts the analog signal into a digital signal, and the PWM wave modulation module generates PWM or SVPWM wave; The second bus control module, the encoder information reading module, the digital-to-analog conversion module and the PWM wave modulation module are all connected to the second processor module, and the encoder information reading module is connected to the encoder of the multi-axis robot; The joint motor control unit communicates with the host computer and the hardware code generation controller through the bus control module, and transmits the information to the main control chip in the second processor module for processing; the encoder information reading module reads the current position information of the joint motor, and the digital-to-analog conversion module converts the collected analog quantity into a digital quantity and transmits it to the second processor module. The second processor module generates PWM data through algorithm calculation and transmits it to the PWM wave modulation module to generate PWM wave; The joint motor drive unit includes a rectifier circuit, an inverter circuit, a sampling circuit, an isolation circuit, and a protection circuit; the rectifier circuit converts the external input AC power into DC power, the inverter circuit converts the DC power into AC power, the sampling circuit collects the voltage and current signals of the joint motor, the isolation circuit is used for electrical isolation, and the protection circuit is used for fault detection; The rectifier circuit is connected to the protection circuit and the inverter circuit, the inverter circuit is connected to the rectifier circuit and the joint motor, the sampling circuit is connected between the inverter circuit and the digital-to-analog conversion module; the isolation circuit is connected between the inverter circuit and the PWM wave modulation module; The joint motor drive unit first rectifies the industrial frequency AC power into DC power through a rectifier circuit, and then inverts it into three-phase AC power for driving the motor through an inverter circuit controlled by a PWM wave; the sampling circuit collects the three-phase voltage and current of the joint motor and feeds them back to the joint motor control unit, and the protection circuit monitors the status of the bus voltage and current; The system further comprises a code generation module, wherein the code generation module comprises an emulator interface unit and a hardware code generation controller, wherein the host computer, the emulator interface unit and the hardware code generation controller are connected in sequence, and the image acquisition device and the bus control module are both connected to the hardware code generation controller; The hardware code generation controller includes a first power supply module, a first processor module, a serial communication module and an image transmission module; the serial communication module and the image transmission module are both connected to the first processor module, and the image transmission module is connected to the image acquisition device; the host computer is connected to the serial communication module, and the first processor module is connected to the bus control module; The first power supply module provides power to the hardware code generation controller. The first processor module performs image processing, robot trajectory planning, and the sending and receiving of control instructions. The serial communication module is used to communicate with the host computer. The image transmission module receives images from the image acquisition device and transmits them to the first processor module. The hardware code generation controller receives the image from the image acquisition device through the image transmission module and transmits it to the first processor module for robot image control, communicates with the joint motor control module through the bus control module, and exchanges data with the host computer through the serial communication module.

2. A model-based multi-axis robot control method based on the model-based multi-axis robot control device according to claim 1, characterized in that: The following steps are involved: S1: Read the position information of each joint of the multi-axis robot and control the robot to initialize; Step S1 specifically includes the following steps: S11: Control the joint motor control unit to read the joint position information of the robot; S12: Waiting to receive joint position information; S13: After successful reception, the joint position information data is saved; S14: Determine whether the position information of all joints is received; S15: If the position information of all joints has not been received, read the position information of the next joint; if the position information of all joints has been received, end the read position request; S16: After obtaining the position information of all joints, the current position of the robot is obtained through kinematics; S17: Set the return-to-zero path, perform trajectory planning, and send a return-to-zero instruction to the joint motor control unit; S2; perform robot hand-eye calibration; wherein the hand-eye calibration obtains the relationship between the camera coordinate system and the robot end coordinate system, specifically comprising the following steps: The matrix relationship between the camera coordinate system and the robot end coordinate system is: ; Indicates the position relationship of the calibration plate in the camera coordinate system; Indicates the positional relationship of the robot base coordinates in the camera coordinate system; Indicates the positional relationship of the end effector coordinates in the robot base coordinate system; Indicates the position relationship of the calibration plate in the end effector coordinate system; S3: Acquire image information of the workpiece through an image acquisition device, and transmit the image information of the workpiece to a host computer or a hardware code generation controller; S4: receiving the image information, performing image processing and analysis on the image information to obtain the position information of the workpiece; S5: The robot performs trajectory planning based on the current workpiece position information and the target position, obtains the driving data of the position, velocity, and acceleration of each joint, and transmits the driving data to the bus control module. The bus control module connects to the shutdown motor control unit through the control bus and sends instructions to the motor control units of each joint through the control bus. The trajectory planning adopts Cartesian space trajectory planning, which specifically includes the following steps: S51, given the position and posture of the interpolation point on the trajectory, perform trajectory planning in Cartesian space; The robot's end effector moves from the starting position P1 through the intermediate point P2 to the end point P3. The center O and radius of the arc are calculated based on the coordinates of points P1, P2, and P3. A new coordinate system O-UWP is established based on the plane where the arc is located, and the mapping relationship between the O-UWP coordinate system and the robot's base coordinate system is calculated. Points O, P1, P2, and P3 are transformed into the new coordinate system O-UWP and circular interpolation is performed. The obtained interpolation points are then converted back to the base coordinate system. The position and posture of the interpolation points are obtained, and the robot kinematics inverse solution is performed on the interpolation points to obtain the angles that each joint of the robot needs to rotate. S52, sending the joint angles to the joint motor control units, which control the joint motor drive units to drive the joint motors to rotate the corresponding angles, and the robot completes the action task; S6: Control the joint motor control unit to receive the joint drive data, read the position information of the robot's joint encoder, the current position information of the joint encoder read by the encoder information reading module, obtain the analog quantity collected by the digital-to-analog conversion module, convert it into a digital quantity, obtain the motor data signal, generate PWM or SVPWM wave, and control the joint motor drive unit; S7: Position control is performed on the target joint. The given joint position is subtracted from the actual feedback joint position and the difference is used for control. The desired joint speed is obtained through the position control algorithm. The speed is controlled by subtracting the difference from the current joint speed. After amplification, the motor is controlled by the joint motor drive unit. S8: Control the joint motor drive unit to rectify the input industrial frequency AC power into DC power through the rectifier circuit, and then invert it into three-phase AC power for the drive motor through the inverter circuit controlled by the PWM wave; control the motors of each joint to rotate to the corresponding angle, and the robot completes the specified action task.

3. The method according to claim 2, characterized in that The joint motor control unit reads the joint position information of the robot, which specifically includes the following steps: S21: When the joint motor control unit receives the message, it first performs mode judgment; S22: If the joint motor control unit enters the position reading mode, the position information is read according to the current joint state; S23: The joint motor control unit sends the joint position information via the bus; The sending of instructions to each joint motor control unit, the communication process of the joint motor control unit specifically includes the following steps: S31: When the joint motor control unit receives the message, it first performs mode judgment; S32: When the joint motor control unit enters the normal mode, read the given joint position information; S33: Determine whether all joints have received position information; S34: After all joints receive the position information, the drivers of all joint motor drive units are controlled to drive the joint motors simultaneously, so that the robot moves in a coordinated manner.

Citation Information

Patent Citations

  • Intelligent controller of inspection robot

    CN102114635A

  • Wireless transmission trinuclear rapid joint robot control system for teaching

    CN105922270A

  • Modular robot decentralized control method and system

    CN108312146A

  • Multi-joint series mobile robot control system, multi-joint series mobile robot remote control system and multi-joint series mobile robot control method

    CN110238853A

  • Speed-regulating control device of permanent-magnetic synchronous motor

    CN201479070U