A robot control system and method
By using a microkernel-based embedded operating system, combined with EtherCat Ethernet bus and servo drivers, the real-time performance and reliability issues of the robotic arm control system were solved, achieving high-precision and fast-response robotic arm control.
Patent Information
- Application Number
- CN202511620823.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-11-07
- Publication Date
- 2026-02-13
- Estimated Expiration
- 2045-11-07
AI Technical Summary
Existing robotic arm control systems suffer from non-real-time task interference and high module coupling, making it difficult to meet the requirements for functional expansion and real-time performance in order to meet the high-precision control needs.
An embedded operating system with a microkernel architecture is used to form a master-slave closed-loop system through a microkernel controller and a servo driver. Combined with the EtherCat Ethernet bus, it achieves task scheduling determinism and system service isolation, thereby improving the accuracy and reliability of robotic arm control.
It achieves microsecond-level response and high reliability in robotic arm control, making it suitable for high-end equipment fields such as precision assembly and surgical robots.
Smart Images

Figure CN121061905B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The application belongs to the technical field of mechanical arm control, and particularly relates to a mechanical arm control system and a control method. BACKGROUND
[0002] Most of the existing mechanical arm control systems adopt general operating systems (GPOS) or real-time operating systems (RTOS). The GPOS system is large and is interfered by non-real-time tasks, and it is difficult to meet the high-precision control requirement. The RTOS has good real-time performance, but the module coupling degree is high, and the function extension is difficult. The micro-kernel architecture has high real-time performance and high reliability through minimization of core functions and service isolation, but the prior art does not combine it with mechanical arm control in depth. The application realizes the deterministic response and function safety of mechanical arm control by applying an improved embedded micro-kernel operating system controller. SUMMARY
[0003] The application aims to provide a mechanical arm control system and a control method, which realize task scheduling determinacy, system service isolation and fault self-recovery through the micro-kernel architecture, and improve the precision and reliability of mechanical arm control.
[0004] In order to achieve the above-mentioned purpose, the first technical solution adopted by the application is a mechanical arm control system, comprising:
[0005] A micro-kernel controller is loaded with an embedded micro-kernel operating system, and is responsible for calculating the joint angles of each joint module of the mechanical arm according to the difference between the current position and the target position of the end of the mechanical arm and sending the joint angles to the servo driver through an EtherCat Ethernet bus.
[0006] The servo driver is responsible for current loop and speed loop closed-loop control, accurately executes the position instruction issued by the micro-kernel controller, and feeds back the actual state of each joint to the micro-kernel controller in real time.
[0007] A multi-degree-of-freedom mechanical arm, as an actuator, receives the joint motion instruction from the servo driver, and drives the end effector to realize any specified pose and complex trajectory in three-dimensional space through the coordinated motion of multiple joints.
[0008] An instruction unit is used for communication with the micro-kernel controller and issues the target position information of the end effector of the multi-degree-of-freedom mechanical arm to the micro-kernel controller.
[0009] The microkernel operating system is divided from bottom to top into a microkernel layer, a system service layer and an application layer; the microkernel layer is used for task scheduling, memory management, interrupt processing and IPC communication; the system service layer includes EtherCAT drive services, file system services and safety monitoring services, the system service layer runs in the user state, communicates with the microkernel layer through IPC, and there is no direct interaction between services; the application layer runs in the form of an independent task, acquires resources through task scheduling of the microkernel layer, and includes kinematics modeling tasks, trajectory planning tasks, inverse kinematics analysis tasks and closed-loop correction tasks.
[0010] Further, the task scheduling of the microkernel layer adopts a priority preemption algorithm, and the task switching time is < 5μs.
[0011] Further, the memory management adopts a static memory allocation mechanism, and fixed memory space is allocated to the kernel state task and the user state service.
[0012] Further, the interrupt processing focuses on key interrupts to shorten the interrupt response delay, and the key interrupts include EtherCAT bus interrupts and joint position feedback interrupts.
[0013] Further, the IPC communication adopts a message passing mechanism to realize safe communication between the kernel state and the user state and between user state services.
[0014] Further, in the system service layer: (1) the EtherCAT drive service is responsible for EtherCAT bus protocol analysis and data transmission and reception, processes the communication logic between the microkernel controller and the servo driver, and does not participate in joint control; (2) the file system service manages D-H parameter files and trajectory data files in the form of providing read-write interfaces without participating in kinematics modeling or trajectory planning; (3) the safety monitoring service is used for real-time monitoring of processor temperature, memory usage and communication state, and triggers a protection mechanism when an abnormality is detected.
[0015] Further, in the application layer: (1) the kinematics modeling task establishes a forward kinematics model of the robot arm based on the D-H parameter method; (2) in the trajectory planning task, the end target pose issued by the command unit is received, a smooth path point sequence is generated using a quintic polynomial interpolation to ensure continuous end motion speed and acceleration, and collision detection and path optimization are performed; (3) the inverse kinematics analysis task uses an analytical method to solve candidate solutions of joint angles, and filters optimal joint angles in combination with the shortest path principle and joint limit constraints; (4) in the closed-loop correction task, actual joint position data uploaded by the servo driver is received, an error between the actual end pose and the target pose is calculated, joint angle commands are adjusted through an adaptive PID algorithm to ensure trajectory tracking accuracy.
[0016] The second technical solution provided by the application is a mechanical arm control method, which is performed by the mechanical arm control system of the first technical solution and includes the following steps:
[0017] (1) System initialization: load D-H parameters, establish forward kinematics model, and complete self-checking of hardware and microkernel layer services;
[0018] (2) Trajectory planning: the microkernel controller generates a smooth path of the end effector motion based on the target pose and the current pose of the multi-degree-of-freedom mechanical arm end effector using a quintic polynomial difference algorithm;
[0019] (3) Inverse kinematics analysis: in each cycle, the analytical method is used to calculate the candidate solutions of the joint angles of the multi-degree-of-freedom mechanical arm, and the optimal joint angle combination is selected according to the shortest path principle, joint limit and built-in real-time collision detection model;
[0020] (4) Joint space real-time control: the microkernel controller sends the optimal joint angle instructions obtained by the inverse kinematics analysis to the corresponding servo driver of each joint according to the cycle, and the servo driver controls the joint motor of the multi-degree-of-freedom mechanical arm through the position loop, speed loop and current loop, while the servo driver feeds back the actual angle, speed and current data of the joint to the microkernel controller, and the microkernel controller stores the feedback data in the closed-loop buffer area for subsequent correction;
[0021] (5) Closed-loop correction: the microkernel controller reads the actual angle of the joint from the closed-loop buffer area, calculates the end effector pose error, and adjusts the joint angle instructions of the next cycle online through the adaptive PID algorithm to ensure that the error of the next cycle is less than the threshold.
[0022] The beneficial effects of the application are that the microkernel operating system carried by the microkernel controller in the application adopts a layered architecture, the microkernel only provides task scheduling, memory management, interrupt handling and IPC communication, the system services run in the user state, and module isolation is achieved through message passing. Through the deterministic scheduling of the microkernel operating system and the isolation of the system services, the application realizes microsecond-level response and high reliability of mechanical arm control, and is suitable for high-end equipment fields such as precision assembly and surgical robots.
[0023] The real-time task response of the microkernel operating system is ≤3μs, the context switching is ≤0.7μs, the interrupt delay is ≤2μs, the timing accuracy is ≤0.04μs, and the minimum cycle delay is ≤4μs, which effectively improves the real-time performance, reliability and control accuracy of the mechanical arm control. BRIEF DESCRIPTION OF DRAWINGS
[0024] Figure 1 The figure is a general architecture diagram of the mechanical arm control system.
[0025] Figure 2 The function division architecture diagram of the embedded microkernel operating system.
[0026] Figure 3 The flow chart of the mechanical arm control method.
[0027] Figure 4 The inverse kinematics analysis schematic diagram in the embodiment of the application. DETAILED DESCRIPTION
[0028] The application will be further described in detail below in conjunction with the accompanying drawings and embodiments, but not as any limitation on the application.
[0029] The application provides a mechanical arm control system and a control method. The controller in the control system is equipped with a mechanical arm control scene customized microkernel operating system. The operating system takes "microsecond level real-time, high precision control adaptation, fault isolation" as the core, serves specific needs such as mechanical arm inverse kinematics calculation and servo drive communication, and can improve the control precision and real-time response speed of the mechanical arm. The control system and the control method will be described below.
[0030] Embodiment 1
[0031] The overall architecture of the mechanical arm control system is shown in Figure 1 The system comprises:
[0032] (1) Microkernel controller: equipped with an optimized microkernel operating system, used for kinematics modeling, trajectory planning and inverse kinematics analysis, calculating the joint angles of each joint module of the mechanical arm according to the difference between the current position and the target position of the end of the mechanical arm and sending them to the servo driver through the EtherCat Ethernet bus.
[0033] (2) Servo driver: as a bottom layer driving execution unit, responsible for current loop and speed loop closed loop control, accurately executing the position command issued by the controller, and feeding back the actual state of each joint in real time. The servo driver receives the joint angle command microkernel controller through the EtherCAT bus, and executes the position, speed and current three loop control
[0034] The microkernel controller and the servo driver constitute a master-slave closed loop system, which fully gives play to the intelligence of the microkernel controller in the whole machine planning level and the rapidity of the servo driver in the local control level, and jointly ensures the trajectory precision and dynamic response performance of the end of the mechanical arm.
[0035] (3) Multi-DOF robot arm: Multi-DOF robot arm as the core executive mechanism, adopts a series structure robot arm, its function is to receive high-precision joint motion instructions from the bottom servo driver, through the coordinated movement of multiple joints, drive the robot arm end effector to realize any specified pose and complex trajectory in three-dimensional space.
[0036] (4) Instruction unit: Instruction unit and microkernel controller communication, send the target position information of the robot arm end effector to the microkernel controller through Modbus / TCP.
[0037] The architecture of the optimized microkernel operating system in the microkernel control is as shown in Figure 2 The system includes a three-layer structure from bottom to top: microkernel layer (kernel mode), system service layer (user mode), and application layer (user mode).
[0038] (1) Microkernel layer: provides task scheduling, memory management, interrupt handling and IPC communication, code size is less than 10KB; specifically includes:
[0039] (1-1) Task scheduling: 5-level priority is designed for robot arm control task, strictly according to "control real-time" ranking - inverse kinematics analysis task (priority 5) > EtherCAT instruction issuing task (priority 4) > closed-loop correction task (priority 3) > trajectory planning task (priority 2) > non-real-time task (such as data log, priority 1), high-priority tasks can instantly preempt low-priority tasks, task switching time < 5μs, ensuring that joint instructions can be generated and issued on time within each control cycle.
[0040] (1-2) Memory management: adopts static memory allocation mechanism to avoid memory fragmentation and delay caused by dynamic allocation, memory allocation determinacy < 1μs, only kernel mode tasks and user mode services are allocated fixed memory space;
[0041] (1-3) Interrupt handling: focuses on key interrupts (EtherCAT bus interrupt, joint position feedback interrupt), interrupt response delay < 1μs, no redundant interrupt handling logic;
[0042] (1-4) IPC communication (inter-process communication): realizes safe communication between kernel mode and user mode and user mode services through message passing mechanism, only provides data transmission interface, does not participate in business logic processing;
[0043] (2) System service layer: encapsulates all non-core functions as independent processes running in user mode, communicates with the microkernel layer through IPC, and there is no direct interaction between services. Specifically includes:
[0044] (2-1) EtherCAT drive service: responsible for EtherCAT bus protocol analysis, data transceiver (support Coe protocol), only handle the communication logic of "controller-servo driver", not participate in joint control;
[0045] (2-2) File system service: manage D-H parameter file, trajectory data file, only provide "read / write" interface, not involved in kinematics modeling or trajectory planning;
[0046] (2-3) Safety monitoring service: real-time monitoring of processor temperature, memory usage, communication status, detecting abnormal trigger protection (such as emergency stop), not involved in normal control process;
[0047] (3) Application layer: bear the core business logic of mechanical arm control, run in the form of independent task, get resources through microkernel task scheduling, specifically contains 4 kinds of core tasks:
[0048] (3-1) Kinematics modeling task: establish the forward kinematics model of the mechanical arm based on D-H parameter method;
[0049] (3-2) Trajectory planning task: receive the target pose of the mechanical arm end effector issued by the instruction unit, generate a smooth path point sequence using quintic polynomial interpolation, ensure the continuous motion speed and acceleration of the mechanical arm end effector, and perform collision detection and path optimization;
[0050] (3-3) Inverse kinematics analysis task: solve the candidate solution of joint angle by analytical method, combine the shortest path principle, joint limit constraint and built-in real-time collision detection model to select the optimal joint angle combination;
[0051] (3-4) Closed loop correction task: receive the actual position data of the joint uploaded by the servo driver, calculate the error between the actual pose of the mechanical arm end effector and the target pose, adjust the joint angle command through adaptive PID algorithm, and ensure the trajectory tracking accuracy.
[0052] Embodiment 2
[0053] The mechanical arm control method proposed by the application adopts the control system of embodiment 1, and the method flow is as shown in Figure 3 , and the specific method is as follows:
[0054] 1. System initialization and modeling
[0055] (1) After the controller is powered on, initialize the processor, EtherCAT master station and Modbus / TCP interface, detect the connection state of the servo driver and the mechanical arm joint, automatically detect the connected mechanical arm configuration (such as six degrees of freedom, SCARA, etc.), and load the corresponding D-H parameters from the non-volatile memory;
[0056] (2) Establish the kinematic model of the robotic arm using the DH parameter method: assign a link coordinate system to each joint i and determine four parameters: link length (a i (along the X-axis), connecting rod torsion angle (α) i (around the X-axis), joint offset (d) i (along the Z-axis), joint angle (θ) i (around the Z-axis);
[0057] (3) Calculate the homogeneous transformation matrix A between the coordinate systems of adjacent links. i :
[0058] ;
[0059] (4) Obtain the pose matrix of the robotic arm end effector relative to the base coordinate system {0} through chain multiplication:
[0060] This matrix describes the position and orientation of the robotic arm's end effector.
[0061] 2. Task reception and trajectory planning
[0062] (1) The instruction unit will assign the target pose T of the end effector of the robotic arm specified by the user to the instruction unit. target The target pose is sent to the microkernel controller. The target pose is represented by coordinates and Euler angles in Cartesian space.
[0063] (2) Under the real-time task scheduling of the microkernel, the microkernel controller determines the position T of the current robotic arm end effector based on the current position T. current and target pose T target Trajectory planning is then performed. The planning algorithm uses fifth-order polynomial interpolation to generate a series of smooth intermediate path points in Cartesian space and calculates the desired pose T of the end effector for each control cycle (typically 100 μs - 1 ms). desired (k).
[0064] 3. Real-time analysis of inverse kinematics
[0065] For the calculated desired pose T of each control cycle desired (k) The microkernel controller executes the inverse kinematics analytical algorithm to calculate the candidate solutions for each joint angle of the multi-degree-of-freedom robotic arm, and selects the optimal joint angle combination according to the shortest path principle, joint constraints, and the built-in real-time collision detection model. , where θ i These are the joint angles of the robotic arm.
[0066] like Figure 4As shown, taking the common 6-DOF robotic arm PUMA configuration as an example: first, the base joint angle θ1 is solved by matrix operation, and then the shoulder joint angle θ2 and the elbow joint angle θ3 are solved in turn, and then the wrist joint angles θ4, θ5 and θ6 are solved by using the geometric relationship of the wrist joint. At this time, in the joint angle combination, n = 6.
[0067] Thanks to the deterministic task scheduling and computing optimization of the microkernel, the entire inverse solution process can be completed within microseconds.
[0068] 4. Real-time joint space control
[0069] (1) The microkernel controller sends the optimal joint angle command obtained by inverse kinematics analysis to the corresponding servo driver of each joint through the EtherCAT bus according to the cycle;
[0070] (2) Servo driver control
[0071] The servo driver controls the joint motor action of the multi-DOF robotic arm through the position loop, speed loop and current loop;
[0072] Position loop: receives the position command (joint angle) sent by the microkernel controller, compares it with the actual position feedback from the motor encoder, and generates a speed command;
[0073] Speed loop: receives the output of the position loop or the direct speed command of the microkernel controller, compares it with the actual speed feedback from the encoder, and generates a current (torque) command;
[0074] Current loop: receives the output of the speed loop, controls the motor torque through the IGBT inverter, and the current feedback comes from the Hall sensor. The current loop has the highest bandwidth (usually >1kHz), which is the key to achieving high dynamic response;
[0075] (3) Servo driver feedback
[0076] The servo driver feeds back the actual angle, speed, current, temperature and error code of the joint to the microkernel controller, and the microkernel controller stores the feedback data in the closed-loop buffer area for subsequent correction.
[0077] 5. Closed-loop feedback and online correction
[0078] (1) The microkernel controller receives the full closed-loop feedback information from the servo driver (including the actual joint angle and actual pose of the end effector);
[0079] (2) Compare the actual pose with the expected pose, and calculate the pose error E(k) according to the following formula:
[0080] ;
[0081] (3) The controller uses the error information to fine-tune the joint angle command issued next time through a PID adaptive control algorithm to compensate for model errors, friction, inertia and other disturbances, and finally realize high-precision trajectory tracking of the end effector of the mechanical arm.
[0082] The following will further illustrate the application by taking the control of a six-degree-of-freedom industrial robot arm as an example.
[0083] I. System hardware configuration
[0084] 1. Microkernel controller:
[0085] Processor: ARM Cortex-A53, 1.2GHz;
[0086] Memory: 32GB, LPDDR4;
[0087] Storage: 128GB, eMMC;
[0088] Interface: 2-way EtherCAT master interface (industrial Ethernet port), 1-way standard Ethernet interface, supporting Modbus / TCP protocol;
[0089] Operating system: embedded microkernel controller.
[0090] 2. Servo driver
[0091] Six servo drivers are set up, using hybrid force-position control mode, communicating with EtherCAT CoE protocol, and the position accuracy is ±0.001°.
[0092] 3. Mechanical arm
[0093] A six-joint series structure is adopted, joints 1-3 are shoulder-elbow, joints 4-6 are wrist, the repeatability accuracy is ±0.02mm, the working radius of the mechanical arm is 1.5m, and the load capacity is 10kg.
[0094] 4. Instruction unit
[0095] A 10-inch touch screen is used to interact with the microkernel controller through Modbus / TCP (100Mbps).
[0096] II. Control method
[0097] 1. System initialization and modeling
[0098] (1) Hardware initialization: the mechanical arm system is powered on, the microkernel controller, servo driver, touch screen, joint motor, etc. are powered on and self-checked. If they are all normal, the status display light is green.
[0099] (2) Software initialization: Load the microkernel operating system, start the microkernel layer core services (task scheduling, memory management), initialize the system service layer (EtherCAT driver, file system, security monitoring) and application layer tasks (kinematics modeling, etc.), and send a "ready signal" to the instruction unit after self-checking is normal.
[0100] (3) Kinematics modeling: Read the D-H parameter file from the eMMC flash memory, assign the link coordinate system to the six joints, calculate the adjacent link homogeneous transformation matrix A1~A6, establish the mapping relationship between the end pose and the joint angle through chain multiplication (T=A1x A2x…x A6), generate the forward kinematics model, and store it to the real-time memory area.
[0101] 2. Task receiving and trajectory planning
[0102] (1) Instruction receiving: The operator inputs the target pose of the manipulator end effector (X=800mm, Y=0mm, Z=500mm, attitude a=0°, b=0°, g=0°) through the touch screen. The touch screen sends the target pose to the microkernel controller through ModbusT / TCP.
[0103] (2) Trajectory generation: After the microkernel controller receives the target pose, it compares it with the current pose. The trajectory planning algorithm uses a quintic polynomial difference algorithm, sets the total motion time to 1s, the control period to 1ms, generates 1000 path points (each path point contains X t , Y t , Z t , a t , b t , g t ), and ensures the continuity of the speed and acceleration of adjacent path points. At the same time, collision detection is performed - the manipulator link model (simplified as a cuboid) is compared with the preset tooling table model to confirm that there is no collision risk.
[0104] 3. Real-time inverse kinematics analysis
[0105] (1) Path point traversal: The microkernel controller reads the path points from the trajectory cache area (a memory area in the manipulator controller used to temporarily store preprocessed motion trajectory points) at a 1ms period, triggering the inverse kinematics analysis task (priority 5, preempting other low-priority tasks).
[0106] (2) Analysis method solution:
[0107] 1) Extract the target position of the wrist center point W;
[0108] 2) The target position of W is given, and the closed solution of θ1~θ3 is derived by using "plane projection + cosine theorem" combined with the geometry of shoulder and elbow;
[0109] 3) The joint angles θ4~θ6 of the wrist are decoupled and derived by using "serial relationship of rotation matrix";
[0110] 4) The microkernel controller selects the optimal joint angle combination from all feasible solutions according to the "shortest path principle" (the solution with the minimum sum of absolute values of the difference between each group of solutions and the "current joint angle" of the robot arm), the joint limit of the robot arm, and the built-in real-time collision detection model.
[0111] 4, Real-time joint space control
[0112] (1) The microkernel controller sends the optimal joint angle command to the 6 servo drives through the EtherCAT bus every period. Each servo drive receives the target angle of the corresponding joint, and the bus transmission delay is < 50μs;
[0113] (2) Servo three-loop control: the joint motor of the robot arm is controlled through the position loop, speed loop, and current loop;
[0114] (3) State feedback: the servo drive feeds back the actual position, speed, current, temperature, and other data of the joint to the microkernel controller every 1ms. The microkernel controller stores the feedback data in the closed-loop buffer area for subsequent correction.
[0115] 5, Closed-loop feedback and online correction
[0116] (1) Error calculation: the microkernel controller reads the actual angles of the 6 joints from the closed-loop buffer area, and calculates the actual pose of the end effector by using the forward kinematics model. The pose error is obtained by comparing the actual pose with the target pose;
[0117] (2) Adaptive PID correction: if the position error is less than the threshold of 0.05mm and the attitude error is less than 0.05°, the current PID parameters remain unchanged. If the error of a certain period exceeds the threshold, the control algorithm will increase Kp and Ki to increase the correction strength, ensuring that the error of the next period is less than the threshold.
[0118] The above examples are only used to illustrate the technical solutions of the present application and not to limit them. Those skilled in the art should understand that the specific embodiments of the present application can be modified or replaced by equivalents according to the above examples, and any modification or equivalent replacement that does not deviate from the spirit and scope of the present application is within the protection scope of the claims.
Claims
1. A robot control system, characterized by, The application relates to a multi-joint robot control system, which comprises the following parts: a microkernel controller, which is equipped with an embedded microkernel operating system and is responsible for calculating joint angles of each joint module of a robot arm according to a difference between a current position and a target position of a robot arm end and sending the joint angles to a servo driver through an EtherCat Ethernet bus; a servo driver, which is responsible for current loop and speed loop closed loop control, accurately executes a position instruction sent by the microkernel controller and feeds back actual states of each joint to the microkernel controller in real time; a multi-joint robot, which is an execution mechanism, receives joint motion instructions from the servo driver, drives an end effector to realize any specified pose and complex trajectory in a three-dimensional space through cooperative motion of multiple joints; an instruction unit, which is used for communicating with the microkernel controller and issuing target position information of an end effector of the multi-joint robot to the microkernel controller; the microkernel operating system is divided into a microkernel layer, a system service layer and an application layer from bottom to top; the microkernel layer is used for task scheduling, memory management, interrupt processing and IPC communication; the system service layer comprises EtherCAT drive services, file system services and safety monitoring services, the system service layer runs in a user state, communicates with the microkernel layer through IPC and does not directly interact among services; the application layer runs in an independent task mode, acquires resources through task scheduling of the microkernel layer and comprises a kinematics modeling task, a trajectory planning task, an inverse kinematics analysis task and a closed loop correction task; the task scheduling of the microkernel layer adopts a priority preemption algorithm, five levels of priorities are designed for robot control tasks, from high to low, the five levels of priorities are an inverse kinematics analysis task, an EtherCAT instruction issuing task, a closed loop correction task, a trajectory planning task and a non-real-time task, a high-priority task can preoccupy a low-priority task at any time, and task switching time is less than 5 mu s, so that joint instructions can be generated and issued on time in each control cycle; the memory management adopts a static memory allocation mechanism, and fixed memory spaces are allocated to kernel state tasks and user state services; the interrupt processing focuses on key interrupts, so as to shorten interrupt response delay, and the key interrupts comprise EtherCAT bus interrupts and joint position feedback interrupts; the IPC communication adopts a message passing mechanism to realize safe communication between a kernel state and a user state and between user state services; in the system service layer, (1) the EtherCAT drive service is responsible for EtherCAT bus protocol analysis and data transceiving, processes communication logic between the microkernel controller and the servo driver and does not participate in joint control; (2) the file system service manages D-H parameter files and trajectory data files in the form of providing read-write interfaces and not participating in kinematics modeling or trajectory planning; and (3) the safety monitoring service is used for monitoring processor temperature, memory usage and communication state in real time and triggering a protection mechanism when detecting an exception.
2. The robotic arm control system of claim 1, wherein, In the application layer: (1) the kinematics modeling task is based on D-H parameter method to establish the forward kinematics model of the robot arm; (2) in the trajectory planning task, the end target pose issued by the receiving instruction unit is adopted to generate a smooth path point sequence by using quintic polynomial interpolation, to ensure the continuity of the end motion velocity and acceleration, and to perform collision detection and path optimization; (3) the inverse kinematics analysis task adopts an analytical method to solve the joint angle candidate solution, and combines the shortest path principle and joint limit constraint to screen the optimal joint angle; (4) in the closed-loop correction task, the actual joint position data uploaded by the servo driver is received, the error between the actual end pose and the target pose is calculated, the joint angle command is adjusted through the adaptive PID algorithm, and the trajectory tracking accuracy is ensured.
3. A robot arm control method, which is performed by the robot arm control system according to claim 1 or 2, characterized by, The method comprises the following steps: (1) system initialization: loading D-H parameters, establishing a forward kinematics model, and completing self-checking of hardware and microkernel layer services; (2) trajectory planning: the microkernel controller generates a smooth path of the end effector motion based on the target pose and the current pose of the end effector of the multi-degree-of-freedom robot arm by using a quintic polynomial interpolation algorithm; (3) inverse kinematics analysis: in each cycle, the analytical method is used to solve the joint angle candidate solution of the multi-degree-of-freedom robot arm, and the optimal joint angle combination is screened according to the shortest path principle, joint limit and built-in real-time collision detection model; (4) joint space real-time control: the microkernel controller issues the optimal joint angle command obtained by the inverse kinematics analysis to the servo driver corresponding to each joint according to the cycle, the servo driver controls the joint motor of the multi-degree-of-freedom robot arm through the position loop, the speed loop and the current loop, and simultaneously feeds back the actual angle, speed and current data of the joint to the microkernel controller, and the microkernel controller stores the feedback data in the closed-loop buffer area for subsequent correction; (5) closed-loop correction: the microkernel controller reads the actual angle of the joint from the closed-loop buffer area, calculates the end effector pose error, and adjusts the joint angle command of the next cycle online through the adaptive PID algorithm, so as to ensure that the error of the next cycle is less than the threshold.
Citation Information
Patent Citations
Body-fitting intelligent motion control system and controller using same
CN119910644A