Movatterモバイル変換


[0]ホーム

URL:


CN113064708B - Multi-task cooperation and information synchronization method for mechanical arm system in high-speed continuous motion - Google Patents

Multi-task cooperation and information synchronization method for mechanical arm system in high-speed continuous motion
Download PDF

Info

Publication number
CN113064708B
CN113064708BCN202110367859.6ACN202110367859ACN113064708BCN 113064708 BCN113064708 BCN 113064708BCN 202110367859 ACN202110367859 ACN 202110367859ACN 113064708 BCN113064708 BCN 113064708B
Authority
CN
China
Prior art keywords
data
value
manipulator
robotic arm
clocksync
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110367859.6A
Other languages
Chinese (zh)
Other versions
CN113064708A (en
Inventor
贾文川
王钰
马书根
袁建军
孙翊
蒲华燕
鲍晟
张晓龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Shanghai for Science and Technology
Original Assignee
University of Shanghai for Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Shanghai for Science and TechnologyfiledCriticalUniversity of Shanghai for Science and Technology
Priority to CN202110367859.6ApriorityCriticalpatent/CN113064708B/en
Publication of CN113064708ApublicationCriticalpatent/CN113064708A/en
Application grantedgrantedCritical
Publication of CN113064708BpublicationCriticalpatent/CN113064708B/en
Activelegal-statusCriticalCurrent
Anticipated expirationlegal-statusCritical

Links

Images

Classifications

Landscapes

Abstract

Translated fromChinese

本发明涉及一种高速连续运动中的机械臂系统多任务协同与信息同步方法,包括机械臂硬件子系统和机械臂软件子系统;机械臂软件子系统包括机械臂操作系统、机械臂应用程序集,和数据存储中心;机械臂应用程序集的传感器数据读取模块从通信数据缓冲区中读取传感数据,若获取到有效数据则将当前时刻记为传感数据获取时间全局值。机械臂工作数据快速获取模块快速计算获取与机械臂实际工作任务直接关联的机械臂工作数据。数据同步匹配模块处理传感数据子步骤将传感数据和机械臂工作数据进行同步匹配。机械臂应用程序集和外部监控系统共同实现了机械臂本体装置在高速运动条件下的工作状态获取、外部感知、数据同步匹配、外部监控多种类型任务间的协同。

Figure 202110367859

The invention relates to a multi-task coordination and information synchronization method for a robotic arm system in high-speed continuous motion, comprising a robotic arm hardware subsystem and a robotic arm software subsystem; the robotic arm software subsystem includes a robotic arm operating system and a robotic arm application program set , and the data storage center; the sensor data reading module of the robotic arm application set reads the sensor data from the communication data buffer, and if valid data is obtained, the current moment is recorded as the global value of the sensor data acquisition time. The rapid acquisition module of the working data of the manipulator quickly calculates and obtains the working data of the manipulator directly related to the actual work task of the manipulator. The sub-step of processing the sensing data by the data synchronization matching module synchronizes the sensing data with the working data of the manipulator. The manipulator application program set and the external monitoring system jointly realize the cooperation among various types of tasks such as the acquisition of working status, external perception, data synchronization and matching, and external monitoring of the manipulator body device under high-speed motion conditions.

Figure 202110367859

Description

Multi-task cooperation and information synchronization method for mechanical arm system in high-speed continuous motion
Technical Field
The invention relates to a method for cooperation and information synchronization among multiple tasks of a mechanical arm. More specifically, the invention relates to a multi-task coordination and information synchronization method for a mechanical arm system in high-speed continuous motion.
Background
The mechanical arm, especially the industrial mechanical arm device, has been widely used in the manufacturing field, and the related technology has been developed and matured basically for tasks with low precision requirements such as carrying, stacking and the like. In recent years, attempts have been made to apply the robot arm to precision testing, precision assembly, and other tasks in the field of electronic manufacturing, which have high precision and high speed, and thus a series of new technical problems have arisen.
The precise operation task not only needs the mechanical arm to move continuously at a high speed so as to meet the requirement of severe task time, but also needs the mechanical arm to effectively sense the task scene in real time so as to realize 'hand-eye coordination' and 'quick blind operation' like production line workers. On the other hand, although the task difficulty and complexity are higher and higher, the commercial robot product still generally takes the reliability and cost thereof as main development targets at present, so that the resources such as the computing capacity, the storage space, the communication processing capacity and the like of the product are limited. Therefore, from the perspective of technical application and popularization, the technical solutions based on industrial robot products must fully consider practical technical limitations.
For the mechanical arm moving continuously at high speed, the motion state data of the mechanical arm, the execution state data of operation and the acquisition frequency of sensing data acquired by an external sensor need to be improved along with the motion state data, the execution state data of operation and the acquisition frequency of the sensing data acquired by the external sensor, so that the interval between data can meet the requirement of high precision. However, the increase in data density per unit time also increases the difficulty of matching between data. Under the background, how to effectively acquire and match the multiple data based on limited software and hardware resources becomes a technical problem to be solved urgently.
Disclosure of Invention
The invention aims to realize a task execution and information synchronization method of a mechanical arm system suitable for high-speed continuous motion by considering the technical restriction of the current mechanical arm product and aiming at the requirements of high-precision testing, high-speed assembly and the like with the characteristics of high precision and high speed.
In order to achieve the purpose, the invention adopts the following technical scheme:
the robot system includes a robot hardware subsystem and a robot software subsystem. The mechanical arm hardware subsystem comprises a mechanical arm body device, a mechanical arm controller and an external sensor device; the mechanical arm controller comprises a communication bus interface; the external sensor device and the mechanical arm controller are in communication connection through a communication bus interface, the external sensor device can periodically sense sampling at a high speed and send sensing data, and the sensing sampling and sensing data sending frequency is preset by a user; the specific form of the external sensor device comprises a spatial multi-dimensional force sensor which is arranged at the tail end of the mechanical arm body device.
The mechanical arm software subsystem runs on the mechanical arm controller; the mechanical arm software subsystem comprises a mechanical arm operating system, a mechanical arm application program set and a data storage center; the communication bus interface is managed by a mechanical arm operating system, and the mechanical arm operating system comprises a communication data buffer area which is used for storing the sensing data SensorData obtained from the communication bus interface at a high speed; the mechanical arm application program set comprises a sensor data reading module, a mechanical arm working data rapid acquisition module and a data synchronous matching module; the sensor data reading module periodically reads sensing data sensorData from the communication data buffer area, if valid data is obtained, the current moment is recorded as a sensing data obtaining time global value nG _ ClockSync _ F, and the sensing data obtaining time global value nG _ ClockSync _ F is stored into the synchronous data buffer area, and the synchronous data buffer area comprises a mechanical arm working data sub-buffer area nG _ WorkDataBuf, a sensing data sub-buffer area nG _ SensorDataBuf and a synchronous time sub-buffer area nVClockBuf; the mechanical arm working data rapid acquisition module is used for rapidly calculating and acquiring mechanical arm working data WorkData directly related to an actual working task of the mechanical arm, and recording the current moment as a working data acquisition time value ClockSync _ W if effective data is acquired; and the data synchronous matching module is used for synchronously matching the sensing data sensorData and the mechanical arm working data WorkData.
The modules in the mechanical arm application program set have different real-time requirements, and accordingly correspond to different program running modes;
the mechanical arm working data rapid acquisition module is embedded into a cycle body of a main task program of the mechanical arm to be continuously executed, so that the mechanical arm working data is acquired at a high speed, and the mechanical arm movement task with high-speed continuous characteristics can be accurately executed and monitored in real time; and after the loop body of the main task program follows the track motion instruction, the condition of ending the loop is that the actual action corresponding to the track motion instruction is executed completely.
Recording the global time of the system, which is activated each time the sensor data reading module is called and starts to run, as Tf_global(ii) a The single expected execution time of the sensor data reading module is marked as Tf_predictThe module is every time period TfIs activated to execute, and sets T according to requirementsfSo that Tf_predict<Tf(ii) a If the single actual execution time length T of the modulef_actualExceed TfWhen its running time is equal to TfIn this case, the module is activated and executed next time at time Tf_global+(n+1)*TfN is an integer and has n x Tf<Tf_actual<(n+1)*Tf
The sensor data reading module is arranged at intervals of time TfThe specific modes of execution activated include: the execution is activated by a clock cycle contained in the robotic arm operating system, and by other conditions triggered by the cycle.
A data storage center storing data including:
sensing data SensorData and mechanical arm working data WorkData;
the mechanical arm working data sub-buffer area nG _ WorkDataBuf, the sensing data sub-buffer area nG _ SensorDataBuf and the synchronous time sub-buffer area nVClockBuf, the capacity values of the three groups of sub-buffer areas are length values nG _ BufLength, the data structures are array types, and the array element indexes are all started from 0;
the sensing data synchronization completion position index value nG _ BufsaveIdx is used for identifying the tail end index position in the buffer section which completes the synchronization processing;
the sensing data writing position index value nVBufSaveIdx is used for identifying the buffer area index position for writing the latest obtained mechanical arm working data WorkData;
the length value nVbuf of the buffer section to be synchronized is used for identifying the actual length of the buffer section waiting for synchronous matching processing;
the old value of the sensor data SensorDataOld,
the sensing data acquisition time global value nG _ ClockSync _ F,
the sensing data acquisition time is local to a new value ClockSync _ F,
the sense data fetch time local old value ClockSync _ F _ old,
the sensing data acquisition time local initial value ClockSync _ F _ ini,
the sensing data write position offset value nBias _ Vbuf,
the sensing data is written to the total offset value nBiasN _ Vbuf,
the working data acquisition time value ClockSync _ W.
The data synchronization matching module runs the following steps:
s1: a data synchronization matching initialization sub-step;
s2: a mechanical arm working data storage sub-step;
s3: a sub-step of processing the sensing data, which is further divided into four sub-division steps of S3-1, S3-2, S3-3 and S3-4;
s3-1: judging whether the newly acquired sensing data is new data, if so, continuing, and otherwise, returning;
s3-2: calculating a total offset value nBiasN _ Vbuf of the writing position of the sensing data according to the sensing data acquisition time ClockSync _ F;
s3-3: calculating and storing the values of relevant sections in a sensing data sub-buffer nG _ SensorDataBuf according to the total value nBiasN _ Vbuf of the sensing data writing position offset;
s3-4: the data synchronization matches the update operation.
The data synchronization matching initialization sub-step S1 is performed only 1 time at the initial operation stage; the sub-step S2 of storing the robot arm work data and the sub-step S3 of processing the sensing data constitute a program group, which is embedded in a loop body of a main task program of the robot arm to be continuously executed, and is located behind the robot arm work data rapid acquisition module.
The data synchronization matching initialization substep S1 includes the following specific steps:
setting the values of the sensing data writing position index value nVBufSaveIdx, the sensing data synchronization completion position index value nG _ BufSaveIdx and the length value nVbuf of the buffer segment to be synchronized as 0,
assigning a value of a local initial value ClockSync _ F _ ini of the sensing data acquisition time to a local old value ClockSync _ F _ old of the sensing data acquisition time;
the substep S2 of storing the working data of the mechanical arm comprises the following specific steps:
writing the sensing data into a position index value nVBufSaveIdx, adding 1, performing remainder operation on the nG _ BufLength, assigning the obtained result to nVBufSaveIdx,
adding 1 to the value of the buffer segment length to be synchronized value nVbuf,
storing the mechanical arm working data WorkData to the NVBufSaveIdx item in the mechanical arm working data sub-buffer nG _ WorkDataBuf array,
and storing the working data acquisition time value ClockSync _ W to the NVBufSaveIdx item in the nVClockBuf array of the synchronization time sub-buffer.
The mechanical arm working data WorkData contains the tail end gesture of the mechanical arm body device and the local operation gesture corresponding to the tail end gesture.
The working mode of the mechanical arm working data rapid acquisition module is as follows:
setting a track number corresponding to the track motion instruction and recording the track number as nMOVEID when executing the local operation motion track of the mechanical arm body device each time; the value of nMOVEID is synchronously increased along with the number of the tracks, and the serial number of the nMOVEID is managed by a mechanical arm operating system and is responsible for generation; in the process that the mechanical arm body device runs according to the track, the track execution data nMOVIID _ Now of the mechanical arm body device is obtained in real time through a mechanical arm operation system, the execution proportion of the motion track is nMOVIID _ Now-nMOVIID, and the work data WorkData of the mechanical arm is obtained through calculation:
work data corresponding to the starting position of nMoveID + (nMoveID _ Now-nMoveID) × complete interval data corresponding to nMoveID.
The judgment condition whether the mechanical arm body device runs according to the track is as follows:
the track number nMOVEID is not a null value, and nMOVEID _ Now is not more than nMOVEID + 1;
and the complete interval data corresponding to the nMOVEID is the numerical interval length of the local operation posture corresponding to the track.
The substep of processing the sensing data S3, wherein the step of subdividing S3-1 comprises the following specific steps:
let ClockSync _ F be nG _ ClockSync _ F, judge whether ClockSync _ F and ClockSync _ F _ old are equal, if not, the sensing data SensorData is new data, if equal, it is not new data.
The sub-step S3 of processing the sensing data, the sub-step S3-2, comprises the following steps:
first, setting nBiasN _ Vbuf to 0, and then judging the following condition, if the condition is satisfied, adding 1 to the value of nBiasN _ Vbuf until the condition is not satisfied:
ClockSync _ F ≧ nVClockBuf [ (nG _ BufsaveIdx + nBiasN _ Vbuf)% nG _ BufLength ], and nBiasN _ Vbuf < nVbuf.
The sub-step S3 of processing the sensing data includes the following steps S3-3:
if ClockSync _ F _ old is equal to ClockSync _ F _ ini, the process is as follows: if nBiasN _ Vbuf is equal to 1, the value of the sensing data SensorData is directly stored into nG _ SensorDataBuf [ nG _ BufSaveIdx ], if nBiasN _ Vbuf is not equal to 1, for nBias _ Vbuf which belongs to [0, nBiasN _ Vbuf-1], the value of index position nIdxA in the nG _ SensorDataBuf array is obtained by calculation according to the following interpolation mode:
nG _ SensorDataBuf [ nditxa ] ═ SensorData × nBias _ Vbuf/(nBiasN _ Vbuf-1), where the value of nditxa is (nG _ BufSaveIdx + nBias _ Vbuf)% nG _ BufLength.
If ClockSync _ F _ old is not equal to ClockSync _ F _ ini, for nBias _ Vbuf e [0, nBiasN _ Vbuf-1], calculating a value with index position nIdxA in the nG _ SensorDataBuf array according to the following interpolation mode:
nG _ SensorDataBuf [ nIdxA ] ═ SensorDataOld + nCompA (ncvlockbuf [ nIdxA ] -ClockSync _ F _ old), where the value of nditxa is (nG _ BufSaveIdx + nBias _ Vbuf)% nG _ BufLength, nCompA ═ SensorData-SensorDataOld)/(ClockSync _ F-ClockSync _ F _ old);
the substep of processing the sensing data S3, wherein the specific method for subdividing the step S3-4 comprises the following steps: in turn order
Assigning a value of the sensory data SensorData to the old value of the sensory data SensorDataOld,
assigning a value of the sensing data fetch time local new value ClockSync _ F to the sensing data fetch time local old value,
and summing the position index value nG _ BufSaveIdx of the synchronous completion of the sensing data and the total value nBiasN _ Vbuf of the writing position offset of the sensing data, performing remainder calculation on the length value nG _ BufLength, and assigning the obtained result to the length value nVBuf of the buffer section to be synchronized.
The sensing data sensorData is obtained by sensing of an external sensor device and is sent to a communication data buffer area in a mechanical arm operating system through a communication bus interface after single sampling and conventional data processing; if the specific form of the external sensor device is a spatial multi-dimensional force sensor, and the measurement dimension of the external sensor device is n, the sensing data SensorData is a vector consisting of n values; and if the communication data buffer zone overflows, preferentially deleting the earliest data.
The write operation of the sensor data acquisition time global value nG _ ClockSync _ F is only executed 1 time in the sensor data reading module, and the read operation is only executed 1 time in the data synchronization matching module, so that the mutual exclusion protection is improved to the maximum extent.
And the data of the data storage center is used for storing, displaying and post-processing in an external monitoring system.
The mechanical arm working data sub-buffer area nG _ WorkDataBuf, the sensing data sub-buffer area nG _ SensorDataBuf, the sensing data synchronization completion position index value nG _ BufsaveIdx and the length value nG _ BufLength are used for displaying and post-processing information after information synchronization in an external monitoring system.
The values of the sensing data sensorData and the mechanical arm working data WorkData are used for displaying in an external monitoring system in real time at a high speed.
The external monitoring system and the mechanical arm controller are in communication connection through a communication bus interface to access relevant data, relevant communication tasks of the mechanical arm end are managed by the mechanical arm operating system, and communication data transmission is actively initiated by the external monitoring system.
The design mechanism of the mechanical arm working data rapid acquisition module enables the mechanical arm working data rapid acquisition module to acquire mechanical arm working data WorkData in real time, namely, the acquisition of the related motion data under the high-speed continuous motion condition is prioritized.
The design mechanism of the sensor data reading module enables the reading delay of the sensor data SensorData to be reduced to a set time range on the premise that the occupation amount of hardware resources and software resources of the mechanical arm system is smaller than the set occupation amount.
The calculation acquisition frequency of the mechanical arm working data WorkData is higher than the sampling acquisition frequency of the sensing data SensorData, and the data synchronization matching module is used for realizing synchronization between the two data.
And the task of the external monitoring system acquires the data in the synchronous data buffer area in a low-frequency and batch manner, so that the resource occupation amount of the mechanical arm system is smaller than a set value.
The mechanical arm application program set and the external monitoring system are jointly used for achieving the cooperation among the various tasks of obtaining the working state, sensing the outside, synchronously matching data and monitoring the outside of the mechanical arm body device under the condition of high-speed movement.
In summary, the invention has the following technical characteristics and beneficial effects:
(1) aiming at the characteristics of high-speed transmission of various types of data, the acquisition of the working data of the mechanical arm is taken as the most advanced task at the cost of slightly reducing the equidistance of a time reference, and the real-time precise monitoring of the motion track and the working track of the mechanical arm is ensured; furthermore, data synchronization matching is carried out by taking the actual acquisition time of the working data as a reference, a matching function with the working data as an independent variable and the sensing data as a dependent variable is obtained, and the method is suitable for motion-dominated tasks in precision testing and precision assembly.
(2) Various methods such as rapid acquisition of working data, mutual exclusion of acquisition time of sensing data and the like are provided, so that the aims of further reducing the calculated amount and reducing the occupation of system resources are fulfilled.
(3) The data synchronous matching operation is carried out in real time, the post-processing stage is not needed, and the method is suitable for being applied to mechanical arm application scenes with high speed, high precision and high performance.
(4) The invention occupies less resources, but does not depend on a mechanical arm operating system, a specific external sensor device and the like, so that the invention is suitable for popularization and application in a common commercial industrial robot system.
Drawings
FIG. 1 is a general diagram of the hardware and software components of a robotic arm system according to the present invention; fig. 1(a) is a schematic view showing an application of the robot hardware subsystem in a notebook computer spindle test scenario, and fig. 1(b) is a schematic view showing an application of the robot hardware subsystem in a precision assembly process scenario in an electronic manufacturing line.
Fig. 2 is a schematic diagram of the periodic operation of the sensor data reading module according to the present invention.
FIG. 3 is a diagram illustrating a synchronous data buffer and related parameters according to the present invention.
Fig. 4 is a flow chart of the operation of the data synchronization matching module according to the present invention.
FIG. 5 is a schematic diagram of the data WorkData and the local operation attitude of the robot arm according to the present invention.
FIG. 6 is a diagram illustrating a sub-division step S3-2 in the sub-step S3 of processing the sensing data according to the present invention.
Fig. 7 is a schematic diagram of an external monitoring system and a display function thereof according to the present invention.
Detailed Description
The following detailed description of the preferred embodiments of the present invention is provided in conjunction with the accompanying drawings, which are included for the purpose of illustration only, and are not intended to limit the scope of the invention.
As shown in fig. 1, the entire robot arm system includes two parts, a robot arm hardware subsystem and a robot arm software subsystem. The mechanical arm hardware subsystem comprises a mechanical arm body device, a mechanical arm controller and an external sensor device; the mechanical arm controller comprises a communication bus interface; the external sensor device is in communication connection with the mechanical arm controller through the communication bus interface, the external sensor device can periodically sense sampling at a high speed and send sensing data, the sensing sampling frequency and the sensing data sending frequency are preset by a user, for example, the sensing sampling frequency and the sensing data sending frequency are set to be 100 times of sampling per second, and 100 times of data are sent out through the communication bus interface per second; the specific form of the external sensor device comprises a space multi-dimensional force sensor which is arranged at the tail end of the mechanical arm body device. Fig. 1(a) is a schematic view showing an application of a mechanical arm hardware subsystem in a laptop spindle test scene, and fig. 1(b) is a schematic view showing an application of a mechanical arm hardware subsystem in a precision assembly process scene in an electronic manufacturing line, wherein specific forms of external sensor devices are all space 6-dimensional force sensors.
The mechanical arm software subsystem runs on a mechanical arm controller and comprises a mechanical arm operating system, a mechanical arm application program set and a data storage center. The communication bus interface is managed by a mechanical arm operating system, and the mechanical arm operating system comprises a communication data buffer area which is used for storing the sensing data SensorData obtained from the communication bus interface at a high speed, wherein the highest storage speed is not lower than 300 Hz; the mechanical arm application program set comprises a sensor data reading module, a mechanical arm working data rapid acquisition module and a data synchronous matching module; the sensor data reading module periodically reads sensing data sensorData from the communication data buffer area, if valid data is obtained, the current moment is recorded as a sensing data obtaining time global value nG _ ClockSync _ F, and the sensing data obtaining time global value nG _ ClockSync _ F is stored into the synchronous data buffer area, and the synchronous data buffer area comprises a mechanical arm working data sub-buffer area nG _ WorkDataBuf, a sensing data sub-buffer area nG _ SensorDataBuf and a synchronous time sub-buffer area nVClockBuf; the mechanical arm working data rapid acquisition module is used for rapidly calculating and acquiring mechanical arm working data WorkData directly related to an actual working task of the mechanical arm, wherein the single calculation acquisition time is not more than 1 millisecond, if valid data is acquired, the current time is recorded as a working data acquisition time value ClockSync _ W, and if valid data is acquired, the current time is recorded as a working data acquisition time value ClockSync _ W; and the data synchronous matching module is used for synchronously matching the sensing data sensorData and the mechanical arm working data WorkData.
Taking the notebook computer rotating shaft test application shown in fig. 1(a) as an example, the mechanical arm working data WorkData can be set as the rotating angle of the rotating shaft of the computer display screen in the application, that is, the rotating angle of the computer display screen along the axial direction, and the sensing data SensorData is the force and torque value obtained by the space 6-dimensional force sensor. Although the display screen is pushed by a mechanical tool located at the end of the robot body device and moves along with the movement of the end of the robot body device, for example, the display screen rotates at a reciprocating high speed at an angle of 300 degrees per second, the rotation angle of the display screen cannot be directly obtained from the posture of the robot body device under normal circumstances, but can be obtained only by additionally performing a series of matrix transformation calculations, for example, from the known posture of the end of the robot body device (usually, the posture of a tool reference coordinate system fixed at the center of a flange relative to a global coordinate system) cannot be directly read into the rotation angle information of the display screen. The rotation angle of the display screen can be obtained by simply converting the posture of the mechanical arm body device unless the rotating shaft of the computer display screen is superposed with a certain coordinate axis of the global coordinate system of the mechanical arm body device. Any matrix operation means that the computing resources of the system need to be occupied, and certain time needs to be spent, which is avoided as much as possible for the mechanical arm system in a high-speed motion state; in the scene, the rotation angle value of the computer display screen rotating shaft is stored in a mechanical arm working data sub-buffer nG _ WorkDataBuf, the working data acquisition time value corresponding to the rotation angle value is stored in a synchronous time sub-buffer nVClockBuf, and the force and torque value acquired by the 6-dimensional force sensor is stored in a sensing data sub-buffer nG _ SensorDataBuf; the data synchronous matching module is used for synchronously matching the reading of the space 6-dimensional force sensor with the rotation angle of the rotating shaft of the computer display screen so as to accurately obtain the relevant force data corresponding to a certain rotation angle value.
In the scene of the precision assembling process in the electronic manufacturing production line shown in fig. 1(b), because the precision assembling process is not always pressed and assembled in place by one step, but needs pre-tightening, pressing and adjusting, the working data WorkData of the mechanical arm can correspond to the completion proportion of the process, but not directly to the posture of the mechanical arm body device; in this scenario, the data synchronization matching module is used to synchronize match the readings of the spatial 6-dimensional force sensor with the real-time progress of the process to accurately obtain the assembly force curve during the entire process.
As shown in FIG. 2, the global system time for each time the sensor data reading module is called to activate and start running is denoted as Tf_global(ii) a The single expected execution time of the sensor data reading module is marked as Tf_predictThe module is every time period TfIs activated to execute and reasonably sets TfSo that Tf_predict<Tf(ii) a At diagram Tf_globalThe module started is activated again at the moment, and the time of single actual execution is Tf_actualExceed TfBut not more than 2 times TfWhen its running time is equal to TfIn this case, the module is activated and executed next time at time Tf_global+2*Tf
The sensor data reading module is arranged at intervals of time TfThe specific modes of execution activated include: the execution is activated by a clock cycle contained in the robotic arm operating system, and by other periodic triggered conditions. For example, in the application example of the rotating shaft test of the notebook computer shown in fig. 1(a), a gyroscope assembly capable of detecting a spatial attitude change may be fixedly installed on the back of the display screen, and the sensor data reading module is activated and executed with a change of a certain attitude angle of the gyroscope every 0.01 degrees as a trigger condition.
As shown in fig. 1(a), the data storage center stores data including:
sensing data SensorData and mechanical arm working data WorkData;
the mechanical arm working data sub-buffer area nG _ WorkDataBuf, the sensing data sub-buffer area nG _ SensorDataBuf and the synchronous time sub-buffer area nVClockBuf;
the method comprises the steps that a position index value nG _ BufsaveIdx is completed in sensing data synchronization, a sensing data writing position index value nVBufSaveIdx and a length value nVbuf of a buffer section to be synchronized are obtained;
the old value of the sensor data SensorDataOld,
the sensing data acquisition time global value nG _ ClockSync _ F,
the sensing data acquisition time is local to a new value ClockSync _ F,
the sense data fetch time local old value ClockSync _ F _ old,
the sensing data acquisition time local initial value ClockSync _ F _ ini,
the sensing data write position offset value nBias _ Vbuf,
the sensing data is written to the total offset value nBiasN _ Vbuf,
the working data acquisition time value ClockSync _ W.
As shown in fig. 1(a) and fig. 3, the sub-buffer nG _ WorkDataBuf for storing the working data WorkData, the sub-buffer nG _ SensorDataBuf for storing the sensor data SensorData, and the sub-buffer ndclockbuf for storing the working data acquisition time ClockSync _ W are provided, the capacity values of the three sub-buffers are length values nG _ BufLength, the data structures are all of the array type, and the array element indexes are all from 0.
The readable data position index value BufLoadIdx is used for indicating the starting index position of the readable data; the sensing data synchronization completion position index value nG _ BufsaveIdx is used for identifying the tail end index position in the buffer section which completes the synchronization processing; the sensing data writing position index value nVBufSaveIdx is used for identifying the buffer area index position for writing the latest obtained mechanical arm working data WorkData; and the length value nVbuf of the buffer section to be synchronized is used for identifying the actual length of the buffer section waiting for synchronous matching processing.
As shown in fig. 4, the mechanical arm working data rapid acquisition module is embedded in a loop body of a main task program of the mechanical arm to be continuously executed, so as to acquire the working data at a high speed, thereby ensuring accurate execution and real-time monitoring of a mechanical arm movement task with high-speed continuous characteristics; after the loop body of the main task program follows the track motion instruction, the condition of ending the loop is that the actual action corresponding to the track motion instruction is executed;
as shown in fig. 4, the data synchronization matching module operates as follows:
s1: a data synchronization matching initialization sub-step, which is executed only 1 time in the initial operation stage;
after the sub-step of initialization is completed, generating a track motion instruction, activating a mechanical arm working data rapid acquisition module, and transferring to the step S2 and the like;
s2: a mechanical arm working data storage sub-step;
s3: a sub-step of processing the sensing data, which is further divided into four sub-division steps of S3-1, S3-2, S3-3 and S3-4:
s3-1: judging whether the newly acquired sensing data is new data, if so, continuing, and otherwise, returning;
s3-2: calculating a total offset value nBiasN _ Vbuf of the writing position of the sensing data according to the sensing data acquisition time ClockSync _ F;
s3-3: calculating and storing the values of relevant sections in a sensing data sub-buffer nG _ SensorDataBuf according to the total value nBiasN _ Vbuf of the sensing data writing position offset;
s3-4: data synchronization matching updating operation;
and after the step S3-4 is finished, delaying to wait for other operations to be finished, and circulating the main task program again.
The data synchronization matching initialization sub-step S1 is performed only 1 time at the initial operation stage; the sub-step S2 of storing the robot arm work data and the sub-step S3 of processing the sensing data constitute a program group, which is embedded in a loop body of a main task program of the robot arm to be continuously executed, and is located behind the robot arm work data rapid acquisition module.
The data synchronization matching initialization substep S1 includes the following specific steps:
nVBufSaveIdx=nG_BufSaveIdx=0,
nVbuf=0,
ClockSync_F_old=ClockSync_F_ini;
the substep S2 of storing the working data of the mechanical arm comprises the following specific steps:
update sensing data write position index value nbufsaveidx:
nVBufSaveIdx=(nVBufSaveIdx+1)%nG_BufLength;
update nVbuf: nVbuf═ nVbuf + 1;
setting the value of the mechanical arm working data sub buffer area nG _ WorkDataBuf:
nG _ WorkDataBuf [ nbvufsaveidx ] ═ mechanical arm working data WorkData;
setting the value of the synchronized time sub-buffer nVClockBuf:
nvlockbuf [ nbvufsaveidx ] ═ working data acquisition time value ClockSync _ W.
The mechanical arm working data WorkData contains the tail end gesture of the mechanical arm body device and the local operation gesture corresponding to the tail end gesture.
As shown in fig. 5 and fig. 1(a), the robot arm working data WorkData includes the terminal attitude of the robot arm body device and the local operation attitude corresponding to the terminal attitude, that is, the robot arm working data WorkData may be used to store the terminal attitude of the robot arm body device and also may be used to store the rotation angle of the computer display screen rotating shaft corresponding to the terminal attitude. In this example, the rotation angle range of the computer display screen rotation shaft is 0 to 150 degrees, so that the local operation track of the robot body device is set, and the robot body device drives the computer display screen to move in the interval; at the initial position of the track, the computer display screen is attached to the keyboard component, namely the rotation angle of the rotating shaft of the computer display screen is 0 degree; at the end position of the track, the rotation angle of the rotating shaft of the computer display screen reaches the maximum value of 150 degrees, namely the position of the display screen indicated by a solid line in the figure; if the execution condition of the track is detected at a certain time in the track running process, the position corresponding to the track at the certain time is the current position of the track, namely the position of the display screen indicated by a dotted line in the figure. The information of the local operation track of the mechanical arm body device corresponds to a series of tail end postures of the mechanical arm body device; the rotation angle of the computer display screen rotating shaft corresponding to the tail end gesture is defined as a local operation gesture. In this example, the numerical range of the local operation gesture is 0 degree to 150 degrees, and the complete range data is the length value of the range of 150 degrees.
And (4) track motion instructions, namely commands for generating local operation tracks of the mechanical arm body device. And the track number corresponding to the track motion instruction is managed and generated by the mechanical arm operating system, and is recorded as nMOVEID, for example, the specific value is 15, and the track number corresponding to the next track motion instruction is 16. The overturning angle corresponding to the nMOVEID starting position is 0 degree, and the complete overturning angle interval corresponding to the nMOVEID is 150 degrees. The mechanical arm body device moves along the track and drives the computer display screen to turn over along the rotating shaft. In the process, the track execution data of the mechanical arm body device is acquired in real time by the mechanical arm operating system and is nMOVEID _ Now, for example, the value is 15.6, the execution proportion of the motion track is obtained and is nMOVEID _ Now-nMOVEID which is 15.3-15 which is 0.3 which is 30%, and then the current rotation angle WorkData of the rotating shaft of the computer display screen which is the mechanical arm working data is calculated and acquired and is WorkData which is 0+ (15.6-15) 150 which is 90 degrees.
The judgment condition whether the mechanical arm body device runs according to the track is as follows: the track number nMOVEID is not a null value, and nMOVEID _ Now is not more thannMOVEID + 1.
As shown in the substep S3 of processing the sensing data in fig. 4, the method for subdividing the step S3-1 includes:
let ClockSync _ F be nG _ ClockSync _ F, judge whether ClockSync _ F and ClockSync _ F _ old are equal, if not, the sensing data SensorData is new data, if equal, it is not new data.
The sub-step S3 of processing the sensing data as shown in fig. 4 is a detailed method of the sub-step S3-2 as shown in fig. 6:
first, setting nBiasN _ Vbuf to 0, and then judging the following condition, if the condition is satisfied, adding 1 to the value of nBiasN _ Vbuf until the condition is not satisfied:
ClockSync _ F ≧ nVClockBuf [ (nG _ BufsaveIdx + nBiasN _ Vbuf)% nG _ BufLength ], and nBiasN _ Vbuf < nVbuf.
As shown in FIG. 6, nBiasN _ Vbuf increases from 0 until the value e [ t ] of nVClockBuf [ (nG _ BufsaveIdx + nBiasN _ Vbuf)1,t2) Then the value of nBiasN _ Vbuf at this time is the final result.
As shown in the substep S3 of processing the sensing data in fig. 4, the method for subdividing the step S3-3 includes:
if ClockSync _ F _ old is equal to ClockSync _ F _ ini, the process is as follows: if nBiasN _ Vbuf equals 1, the value of the sensor data SensorData is stored directly to nG _ SensorDataBuf [ nG _ BufSaveIdx ], and if nBiasN _ Vbuf does not equal 1, for nBias _ Vbuf ∈ [0, nBiasN _ Vbuf-1], there is nG _ SensorDataBuf [ nG _ buf + nBias _ Vbuf ] ═ SensorData vbua × (nBias _ Vbuf-1).
If ClockSync _ F _ old is not equal to ClockSync _ F _ ini, then for nBias _ Vbuf e [0, nBiasN _ Vbuf-1], there is nG _ SensorDataBuf [ nIdxA ] ═ SensorDataOld + nCompA (ncvlockbuf [ nIdxA ] -ClockSync _ F _ old), where nsidx ═ nG _ bufeidx + nBias _ Vbuf)% nG _ BufLength, nCompA ═(SensorData-SensorDataOld)/(ClockSync _ F-ClockSync _ F _ old);
as shown in the substep S3 of processing the sensing data in fig. 4, the method for subdividing the step S3-4 includes: in turn order
SensorDataOld=SensorData,
ClockSync_F_old=ClockSync_F,
nG_BufSaveIdx=(nG_BufSaveIdx+nBiasN_Vbuf)%nG_BufLength,
nVbuf=nVbuf-nBiasN_Vbuf。
The sensing data sensorData is obtained by sensing of an external sensor device and is sent to a communication data buffer area in a mechanical arm operating system through a communication bus interface after single sampling and conventional data processing; if the external sensor device is in the form of a spatial multidimensional force sensor with a measurement dimension n, the sensory data SensorData is a vector consisting of n values, for example, a spatial 6-dimensional force sensor with a measurement dimension 6, the sensory data of which is [ Fx, Fy, Fz, Tx, Ty, Tz ]; and if the communication data buffer zone overflows, preferentially deleting the earliest data.
The write operation of the sensor data acquisition time global value nG _ ClockSync _ F is only executed 1 time in the sensor data reading module, and the read operation is only executed 1 time in the data synchronization matching module, so that the mutual exclusion protection is improved to the maximum extent.
As shown in fig. 7, the data in the data storage center is used for storage, display and post-processing in the external monitoring system, and fig. 7 is a software interface of the external monitoring system.
The mechanical arm working data sub-buffer area nG _ WorkDataBuf, the sensing data sub-buffer area nG _ SensorDataBuf, the sensing data synchronization completion position index value nG _ BufsaveIdx and the length value nG _ BufLength are used for displaying and post-processing information after information synchronization in an external monitoring system.
The values of the sensory data SensorData and the robot arm working data WorkData are used for high-speed real-time display in the external monitoring system, as shown in the SensorData and WorkData data boxes in fig. 7, that is, the value of the newly acquired sensory data SensorData and the value of the robot arm working data WorkData are displayed in real time.
The external monitoring system and the mechanical arm controller are in communication connection through a communication bus interface to access relevant data, relevant communication tasks of the mechanical arm end are managed by the mechanical arm operating system, and communication data transmission is actively initiated by the external monitoring system.
The design mechanism of the mechanical arm working data rapid acquisition module ensures that the mechanical arm working data WorkData is acquired at the fastest speed in real time, namely, the acquisition of the related motion data under the condition of high-speed continuous motion is preferentially ensured.
The design mechanism of the sensor data reading module reduces the reading delay of the sensor data SensorData to a set time range on the premise of occupying hardware resources and software resources of the mechanical arm system as little as possible.
The calculation acquiring frequency of the mechanical arm working data WorkData is higher than the sampling acquiring frequency of the sensing data SensorData, the data synchronization matching module realizes the synchronization between the two data, such as a curve displayed on the left side in FIG. 7, namely a SensorData-WorkData relation curve after the synchronization processing, on the other hand, because the data synchronization processing and the data batch transmission need a certain time, the display of the synchronous data may slightly lag the real-time display on the right side, for example, the maximum value 42 of the WorkData of the curve part in the figure is smaller than the data value 45 in the WorkData frame on the right side. As shown in fig. 3, the external monitoring system may read out the data in BufLoadIdx to nG _ BufSaveIdx in the buffer in bulk for display of the synchronization curve, and then update the value of BufLoadIdx to nG _ BufSaveIdx; and the WorkData data box in the external monitoring system can read the latest value from the nVBufSaveIdx position in the buffer.
And the task of the external monitoring system acquires the data in the synchronous data buffer area in a low-frequency and batch manner, so that the resource occupation of the mechanical arm system is further reduced. The upper limit of the occupation amount of the hardware resources and the software resources of the mechanical arm system is set according to the actual hardware configuration of the mechanical arm system on the principle that the normal operation of the mechanical arm system is not influenced.
The mechanical arm application program set and the external monitoring system jointly realize the cooperation among various tasks of the mechanical arm body device under the high-speed motion condition, external sensing, data synchronous matching and external monitoring.
The above description is only exemplary of the present invention, and is not intended to limit the present invention in any way as to its structure and control. Any simple modification, equivalent change and modification made to the above embodiments according to the technical spirit of the present invention still fall within the scope of the technical solution of the present invention.

Claims (10)

Translated fromChinese
1.一种高速连续运动中的机械臂系统多任务协同与信息同步方法,其特征在于:1. a mechanical arm system multitasking and information synchronization method in high-speed continuous motion, is characterized in that:所述机械臂系统包含机械臂硬件子系统和机械臂软件子系统;The robotic arm system includes a robotic arm hardware subsystem and a robotic arm software subsystem;所述机械臂硬件子系统包含机械臂本体装置、机械臂控制器和外部传感器装置;所述机械臂控制器包含通信总线接口;所述外部传感器装置与所述机械臂控制器间通过所述通信总线接口建立通信连接,所述外部传感器装置高速周期化地感知采样并发送传感数据,其感知采样与传感数据发送频率由用户预先设定;所述外部传感器装置的具体形式包括空间多维力传感器,所述空间多维力传感器安装于所述机械臂本体装置的末端;The robotic arm hardware subsystem includes a robotic arm body device, a robotic arm controller, and an external sensor device; the robotic arm controller includes a communication bus interface; the external sensor device and the robotic arm controller communicate through the communication The bus interface establishes a communication connection, the external sensor device periodically senses and samples at high speed and sends sensor data, and the frequency of sensing sampling and sensor data transmission is preset by the user; the specific form of the external sensor device includes spatial multi-dimensional force a sensor, the spatial multi-dimensional force sensor is installed at the end of the manipulator body device;所述机械臂软件子系统运行于所述机械臂控制器之上;所述机械臂软件子系统包含机械臂操作系统、机械臂应用程序集,和数据存储中心;所述通信总线接口由所述机械臂操作系统负责管理,所述机械臂操作系统包含通信数据缓冲区,该缓冲区用于高速地存储从所述通信总线接口中获得的传感数据SensorData;所述机械臂应用程序集包含传感器数据读取模块、机械臂工作数据快速获取模块、数据同步匹配模块;所述传感器数据读取模块周期化地从所述通信数据缓冲区中读取所述传感数据SensorData,若获取到有效数据则将当前时刻记为传感数据获取时间全局值nG_ClockSync_F,并将其存储至同步数据缓冲区,所述同步数据缓冲区包括机械臂工作数据子缓冲区nG_WorkDataBuf、传感数据子缓冲区nG_SensorDataBuf、同步时间子缓冲区nVClockBuf;所述机械臂工作数据快速获取模块用于快速计算获取与机械臂实际工作任务直接关联的机械臂工作数据WorkData,若获取到有效数据则将当前时刻记为工作数据获取时间值ClockSync_W;所述数据同步匹配模块用于将所述传感数据SensorData和所述机械臂工作数据WorkData进行同步匹配。The robotic arm software subsystem runs on the robotic arm controller; the robotic arm software subsystem includes a robotic arm operating system, a robotic arm application program set, and a data storage center; the communication bus interface is provided by the The manipulator operating system is responsible for management, and the manipulator operating system includes a communication data buffer, which is used to store the sensor data SensorData obtained from the communication bus interface at a high speed; the manipulator application set includes sensors A data reading module, a rapid acquisition module for working data of the robotic arm, and a data synchronization matching module; the sensor data reading module periodically reads the sensor data SensorData from the communication data buffer, and if valid data is obtained Then record the current moment as the sensor data acquisition time global value nG_ClockSync_F, and store it in the synchronization data buffer, which includes the manipulator working data sub-buffer nG_WorkDataBuf, the sensor data sub-buffer nG_SensorDataBuf, the synchronization Time sub-buffer nVClockBuf; the manipulator working data quick acquisition module is used to quickly calculate and obtain the manipulator work data WorkData directly related to the actual work task of the manipulator, and if valid data is obtained, the current moment is recorded as the work data acquisition time The value is ClockSync_W; the data synchronization matching module is used for synchronously matching the sensor data SensorData and the manipulator working data WorkData.2.根据权利要求1所述的一种高速连续运动中的机械臂系统多任务协同与信息同步方法,其特征在于:2. the multi-task coordination and information synchronization method of the robotic arm system in a kind of high-speed continuous motion according to claim 1, is characterized in that:所述机械臂应用程序集中的模块具有不同的实时性需求,随之对应于不同的程序运行方式;The modules in the robotic arm application program set have different real-time requirements, which correspond to different program operation modes accordingly;所述机械臂工作数据快速获取模块嵌入于机械臂的主任务程序的循环体中连续执行,从而高速地获取所述机械臂工作数据,使得具有高速连续特征的机械臂运动任务得以执行和实时监控;所述主任务程序的循环体紧随轨迹运动指令之后,其循环结束的条件为所述轨迹运动指令对应的实际动作执行完毕;The manipulator working data rapid acquisition module is embedded in the loop body of the manipulator's main task program and continuously executed, thereby acquiring the manipulator working data at a high speed, so that the manipulator motion task with high-speed and continuous characteristics can be executed and monitored in real time ; After the loop body of the main task program follows the trajectory motion instruction, the condition of its loop termination is that the actual action corresponding to the trajectory motion instruction is executed;将所述传感器数据读取模块每次被调用激活并开始运行时的系统全局时间记为Tf_global;所述传感器数据读取模块的单次预计执行时长记为Tf_predict,该模块每隔时长Tf被激活执行,按需设定Tf使得Tf_predict<Tf;若该模块的单次实际执行时长Tf_actual超过了Tf,则当其运行时长等于Tf时,该模块不会被重复激活执行,而是直至本次运行结束,在此情况下,该模块下次被激活执行的时刻为Tf_global+(n+1)*Tf,n为整数且有n*Tf<Tf_actual<(n+1)*TfThe system global time when the sensor data reading module is called and activated and starts to run each time is marked as Tf_global ; the single expected execution duration of the sensor data reading module is marked as Tf_predict , and the module is every time T f_predictf is activated and executed, set Tf as needed so that Tf_predict <Tf ; if the actual execution time Tf_actual of the module exceeds Tf , then when its running time is equal to Tf , the module will not be repeated Activate execution, but until the end of this run. In this case, the next time the module is activated and executed is Tf_global +(n+1)*Tf , where n is an integer and n*Tf <Tf_actual <(n+1)*Tf ;所述传感器数据读取模块每隔时长Tf被激活执行的具体方式包括:通过所述机械臂操作系统中包含的时钟周期化激活执行,和通过其它周期化触发的条件激活执行。The specific manner in which the sensor data reading module is activated and executed every time period Tf includes: activating and executing periodically through a clock included in the operating system of the manipulator, and activating and executing through other conditions triggered by periodicity.3.根据权利要求1所述的一种高速连续运动中的机械臂系统多任务协同与信息同步方法,其特征在于:3. the multi-task coordination and information synchronization method of the robotic arm system in a kind of high-speed continuous motion according to claim 1, is characterized in that:所述数据存储中心,存储的数据包括:In the data storage center, the stored data includes:所述传感数据SensorData、机械臂工作数据WorkData;the sensing data SensorData and the robotic arm working data WorkData;所述机械臂工作数据子缓冲区nG_WorkDataBuf、传感数据子缓冲区nG_SensorDataBuf、同步时间子缓冲区nVClockBuf,这三组子缓冲区的容量值均为长度值nG_BufLength,数据结构均为数组型,数组元素索引均从0开始;The manipulator working data sub-buffer nG_WorkDataBuf, the sensor data sub-buffer nG_SensorDataBuf, and the synchronization time sub-buffer nVClockBuf, the capacity values of these three groups of sub-buffers are the length value nG_BufLength, the data structures are all arrays, and the array elements Indices start from 0;传感数据同步完成位置索引值nG_BufsaveIdx,用于标识已完成同步处理的缓冲区段中的最末端索引位置;The index value of the sensor data synchronization completion position nG_BufsaveIdx is used to identify the last index position in the buffer segment that has completed synchronization processing;传感数据写入位置索引值nVBufSaveIdx,用于标识供最新获得的所述机械臂工作数据WorkData执行写入操作的缓冲区索引位置;The sensor data write position index value nVBufSaveIdx is used to identify the buffer index position for the newly obtained robotic arm work data WorkData to perform the write operation;待同步缓冲区段长度值nVbuf,用于标识等待进行同步匹配处理的缓冲区段实际长度;The length value of the buffer segment to be synchronized, nVbuf, is used to identify the actual length of the buffer segment waiting for synchronization matching processing;传感数据旧值SensorDataOld,SensorDataOld value SensorDataOld,传感数据获取时间全局值nG_ClockSync_F,Sensor data acquisition time global value nG_ClockSync_F,传感数据获取时间本地新值ClockSync_F,Sensor data acquisition time local new value ClockSync_F,传感数据获取时间本地旧值ClockSync_F_old,Sensing data acquisition time local old value ClockSync_F_old,传感数据获取时间本地初值ClockSync_F_ini,Sensing data acquisition time local initial value ClockSync_F_ini,传感数据写入位置偏移值nBias_Vbuf,Sensing data write position offset value nBias_Vbuf,传感数据写入位置偏移总量值nBiasN_Vbuf,Sensing data write position offset total value nBiasN_Vbuf,工作数据获取时间值ClockSync_W。Work data acquisition time value ClockSync_W.4.根据权利要求3所述的一种高速连续运动中的机械臂系统多任务协同与信息同步方法,其特征在于:4. the multi-task coordination and information synchronization method of the mechanical arm system in a kind of high-speed continuous motion according to claim 3, is characterized in that:所述数据同步匹配模块,其运行过程包括:The data synchronization matching module, its operation process includes:S1:数据同步匹配初始化子步骤;S1: Data synchronization matching initialization sub-step;S2:存储机械臂工作数据子步骤;S2: sub-step of storing the working data of the robotic arm;S3:处理传感数据子步骤,该子步骤进一步分为S3-1、S3-2、S3-3、S3-4四个细分步骤;S3: a sub-step of processing sensor data, which is further divided into four sub-steps of S3-1, S3-2, S3-3, and S3-4;S3-1:判断最新获得的所述传感数据是否是新数据,若是则继续,若非则返回;S3-1: Determine whether the newly acquired sensing data is new data, if so, continue, if not, return;S3-2:依据所述传感数据获取时间ClockSync_F计算所述传感数据写入位置偏移总量值nBiasN_Vbuf;S3-2: Calculate the total value nBiasN_Vbuf of the writing position offset of the sensing data according to the sensing data acquisition time ClockSync_F;S3-3:依据所述传感数据写入位置偏移总量值nBiasN_Vbuf,计算和存储所述传感数据子缓冲区nG_SensorDataBuf中相关区段的数值;S3-3: Calculate and store the value of the relevant section in the sensor data sub-buffer nG_SensorDataBuf according to the total value nBiasN_Vbuf of the sensor data writing position offset;S3-4:数据同步匹配更新操作;S3-4: Data synchronization matches the update operation;所述数据同步匹配初始化子步骤S1仅在初始运行阶段执行1次;所述存储机械臂工作数据子步骤S2和所述处理传感数据子步骤S3组成程序组,嵌入于机械臂的主任务程序的循环体中连续执行,并位于所述机械臂工作数据快速获取模块之后。The data synchronization matching initialization sub-step S1 is only executed once in the initial operation stage; the storing the robotic arm working data sub-step S2 and the processing sensor data sub-step S3 form a program group, which is embedded in the main task program of the robotic arm It is executed continuously in the loop body of the robot arm, and is located after the rapid acquisition module of the working data of the manipulator.5.根据权利要求4所述的一种高速连续运动中的机械臂系统多任务协同与信息同步方法,其特征在于:5. the multi-task coordination and information synchronization method of the robotic arm system in a kind of high-speed continuous motion according to claim 4, is characterized in that:所述数据同步匹配初始化子步骤S1,其具体方法为:The data synchronization matching initialization sub-step S1, the specific method is:将所述传感数据写入位置索引值nVBufSaveIdx、所述传感数据同步完成位置索引值nG_BufSaveIdx、所述待同步缓冲区段长度值nVbuf的值均置为0,The values of the sensor data write position index value nVBufSaveIdx, the sensor data synchronization completion position index value nG_BufSaveIdx, and the to-be-synchronized buffer segment length value nVbuf are all set to 0,将传感数据获取时间本地初值ClockSync_F_ini的值赋给所述传感数据获取时间本地旧值ClockSync_F_old;Assign the value of the local initial value ClockSync_F_ini of the sensing data acquisition time to the local old value ClockSync_F_old of the sensing data acquisition time;所述存储机械臂工作数据子步骤S2,其具体方法为:In the sub-step S2 of storing the working data of the robotic arm, the specific method is as follows:将所述传感数据写入位置索引值nVBufSaveIdx的值自加1后,再对所述nG_BufLength进行取余运算,将得到的结果赋值给nVBufSaveIdx,After the sensing data is written into the value of the position index value nVBufSaveIdx by 1, the remainder operation is performed on the nG_BufLength, and the obtained result is assigned to nVBufSaveIdx,将所述待同步缓冲区段长度值nVbuf的值自加1,The value of the buffer segment length value nVbuf to be synchronized is incremented by 1,将所述机械臂工作数据WorkData存储至所述机械臂工作数据子缓冲区nG_WorkDataBuf数组中的第nVBufSaveIdx项,Store the manipulator working data WorkData in the nVBufSaveIdx item in the manipulator work data sub-buffer nG_WorkDataBuf array,将所述工作数据获取时间值ClockSync_W存储至所述同步时间子缓冲区nVClockBuf数组中的第nVBufSaveIdx项。The working data acquisition time value ClockSync_W is stored in the nVBufSaveIdx item in the synchronization time sub-buffer nVClockBuf array.6.根据权利要求5所述的一种高速连续运动中的机械臂系统多任务协同与信息同步方法,其特征在于:6. the multi-task coordination and information synchronization method of the mechanical arm system in a kind of high-speed continuous motion according to claim 5, is characterized in that:所述机械臂工作数据WorkData包含所述机械臂本体装置的末端姿态,以及与该末端姿态相对应的局部操作姿态;The manipulator work data WorkData includes the terminal posture of the manipulator body device, and the local operation posture corresponding to the terminal posture;所述机械臂工作数据快速获取模块的工作方式具体为:The working mode of the rapid acquisition module of the working data of the robotic arm is as follows:每一次执行所述机械臂本体装置的局部操作运动轨迹时,设置与该轨迹运动指令相对应的轨迹编号,记录为nMoveID;所述nMoveID的值随轨迹的数量而同步递增,其编号由所述机械臂操作系统管理并负责生成;在所述机械臂本体装置按照该轨迹运行过程中,通过所述机械臂操作系统实时获取所述机械臂本体装置的轨迹执行数据nMoveID_Now,得到该运动轨迹的执行比例为nMoveID_Now-nMoveID,计算获得所述机械臂工作数据WorkData为:Each time the local operation motion trajectory of the robotic arm body device is executed, the trajectory number corresponding to the trajectory motion instruction is set and recorded as nMoveID; the value of nMoveID increases synchronously with the number of trajectories, and its number is determined by the The manipulator operating system manages and is responsible for generating; during the operation of the manipulator body device according to the trajectory, the trajectory execution data nMoveID_Now of the manipulator body device is obtained in real time through the manipulator operating system, and the execution of the motion trajectory is obtained. The ratio is nMoveID_Now-nMoveID, and the working data WorkData of the manipulator obtained by calculation is:WorkData=nMoveID起始位置对应的工作数据+(nMoveID_Now-nMoveID)*nMoveID对应的完整区间数据;WorkData=work data corresponding to the starting position of nMoveID+(nMoveID_Now-nMoveID)*complete interval data corresponding to nMoveID;所述机械臂本体装置是否正在按照该轨迹运行的判断条件为:The conditions for judging whether the manipulator body device is running according to the trajectory are:所述轨迹编号nMoveID不为空值,且有nMoveID_Now≤nMoveID+1;The track number nMoveID is not a null value, and there is nMoveID_Now≤nMoveID+1;所述nMoveID对应的完整区间数据,为与该轨迹所对应的所述局部操作姿态的数值区间长度。The complete interval data corresponding to the nMoveID is the numerical interval length of the local operation posture corresponding to the trajectory.7.根据权利要求4所述的一种高速连续运动中的机械臂系统多任务协同与信息同步方法,其特征在于:7. the multi-task coordination and information synchronization method of the mechanical arm system in a kind of high-speed continuous motion according to claim 4, is characterized in that:所述处理传感数据子步骤S3,其细分步骤S3-1的具体方法为:In the sub-step S3 of processing the sensory data, the specific method of the subdivision step S3-1 is as follows:先令ClockSync_F=nG_ClockSync_F,再判断ClockSync_F与ClockSync_F_old是否相等,若不相等,则所述传感数据SensorData是新数据,若相等则不是新数据;First let ClockSync_F=nG_ClockSync_F, and then judge whether ClockSync_F and ClockSync_F_old are equal, if not, then the sensor data SensorData is new data, if it is equal, it is not new data;所述处理传感数据子步骤S3,其细分步骤S3-2的具体方法为:In the sub-step S3 of processing the sensory data, the specific method of the subdivision step S3-2 is as follows:先令nBiasN_Vbuf=0,再对如下条件进行判断,若该条件满足,则nBiasN_Vbuf的值自加1,直至该条件不满足:First set nBiasN_Vbuf=0, and then judge the following conditions. If the conditions are satisfied, the value of nBiasN_Vbuf will increase by 1 until the conditions are not satisfied:ClockSync_F≥nVClockBuf[(nG_BufsaveIdx+nBiasN_Vbuf)%nG_BufLength]且nBiasN_Vbuf<nVbuf;ClockSync_F≥nVClockBuf[(nG_BufsaveIdx+nBiasN_Vbuf)%nG_BufLength] and nBiasN_Vbuf<nVbuf;所述处理传感数据子步骤S3,其细分步骤S3-3的具体方法为:In the sub-step S3 of processing the sensory data, the specific method of the subdivision step S3-3 is as follows:若有ClockSync_F_old等于ClockSync_F_ini,则处理如下:若nBiasN_Vbuf等于1,则将所述传感数据SensorData的值直接存储至nG_SensorDataBuf[nG_BufSaveIdx],若nBiasN_Vbuf不等于1,则对于nBias_Vbuf∈[0,nBiasN_Vbuf-1],按如下插值方式计算获得nG_SensorDataBuf数组中索引位置为nIdxA的值:If ClockSync_F_old is equal to ClockSync_F_ini, the process is as follows: if nBiasN_Vbuf is equal to 1, the value of the sensor data SensorData is directly stored in nG_SensorDataBuf[nG_BufSaveIdx], if nBiasN_Vbuf is not equal to 1, then for nBias_Vbuf∈[0,nBiasN_Vbuf-1] , calculate and obtain the value at the index position nIdxA in the nG_SensorDataBuf array by the following interpolation method:nG_SensorDataBuf[nIdxA]=SensorData*nBias_Vbuf/(nBiasN_Vbuf-1),其中,nIdxA的值为(nG_BufSaveIdx+nBias_Vbuf)%nG_BufLength;nG_SensorDataBuf[nIdxA]=SensorData*nBias_Vbuf/(nBiasN_Vbuf-1), where the value of nIdxA is (nG_BufSaveIdx+nBias_Vbuf)%nG_BufLength;若ClockSync_F_old不等于ClockSync_F_ini,则对nBias_Vbuf∈[0,nBiasN_Vbuf-1],按如下插值方式计算获得nG_SensorDataBuf数组中索引位置为nIdxA的值:If ClockSync_F_old is not equal to ClockSync_F_ini, then for nBias_Vbuf∈[0,nBiasN_Vbuf-1], the following interpolation method is used to obtain the value at the index position nIdxA in the nG_SensorDataBuf array:nG_SensorDataBuf[nIdxA]=SensorDataOld+nCompA*(nVClockBuf[nIdxA]-ClockSync_F_old),其中,nIdxA的值为(nG_BufSaveIdx+nBias_Vbuf)%nG_BufLength,nCompA=(SensorData-SensorDataOld)/(ClockSync_F-ClockSync_F_old);nG_SensorDataBuf[nIdxA]=SensorDataOld+nCompA*(nVClockBuf[nIdxA]-ClockSync_F_old), where the value of nIdxA is (nG_BufSaveIdx+nBias_Vbuf)%nG_BufLength, nCompA=(SensorData-SensorDataOld)/(ClockSync_F-ClockSync_F_old);所述处理传感数据子步骤S3,其细分步骤S3-4的具体方法为:In the sub-step S3 of processing the sensory data, the specific method of the subdivision step S3-4 is as follows:将所述传感数据SensorData的值赋给所述传感数据旧值SensorDataOld,assigning the value of the sensor data SensorData to the old value SensorDataOld of the sensor data,将所述传感数据获取时间本地新值ClockSync_F的值赋给所述传感数据获取时间本地旧值,assigning the value of the local new value ClockSync_F at the time of the sensing data acquisition to the old local value of the sensing data acquisition time,将所述传感数据同步完成位置索引值nG_BufSaveIdx与所述传感数据写入位置偏移总量值nBiasN_Vbuf进行求和,再对所述长度值nG_BufLength进行取余计算,将得到的结果赋值给所述待同步缓冲区段长度值nVBuf。Summing the sensor data synchronization completion position index value nG_BufSaveIdx and the sensor data write position offset total value nBiasN_Vbuf, and then calculating the remainder of the length value nG_BufLength, and assigning the obtained result to the Describe the buffer segment length value nVBuf to be synchronized.8.根据权利要求1所述的一种高速连续运动中的机械臂系统多任务协同与信息同步方法,其特征在于:8. a kind of high-speed continuous motion mechanical arm system multi-task coordination and information synchronization method according to claim 1, is characterized in that:所述传感数据SensorData由所述外部传感器装置感知获得,在单次采样及进行常规数据处理后,即通过所述通信总线接口发送至所述机械臂操作系统中的所述通信数据缓冲区;若所述外部传感器装置的具体形式为空间多维力传感器,其测量维数为n,则传感数据SensorData为由n个值组成的向量;若所述通信数据缓冲区发生数据溢出,则优先删除其中最早的数据;The sensing data SensorData is sensed and obtained by the external sensor device, and after a single sampling and routine data processing, is sent to the communication data buffer in the robotic arm operating system through the communication bus interface; If the specific form of the external sensor device is a spatial multi-dimensional force sensor, and its measurement dimension is n, the sensor data SensorData is a vector composed of n values; if the communication data buffer overflows, it will be deleted first. The earliest data among them;所述传感数据获取时间全局值nG_ClockSync_F的写入操作仅在所述传感器数据读取模块中被执行1次,其读取操作仅在所述数据同步匹配模块中被执行1次,以提升互斥保护。The write operation of the sensor data acquisition time global value nG_ClockSync_F is performed only once in the sensor data reading module, and the read operation is performed only once in the data synchronization matching module to improve mutual Repulsion protection.9.根据权利要求3所述的一种高速连续运动中的机械臂系统多任务协同与信息同步方法,其特征在于:9. the multi-task coordination and information synchronization method of the robotic arm system in a kind of high-speed continuous motion according to claim 3, is characterized in that:所述数据存储中心的数据用于在外部监控系统中进行保存、显示与后处理;The data of the data storage center is used for saving, displaying and post-processing in the external monitoring system;所述机械臂工作数据子缓冲区nG_WorkDataBuf、传感数据子缓冲区nG_SensorDataBuf、传感数据同步完成位置索引值nG_BufsaveIdx、长度值nG_BufLength,用于在所述外部监控系统中进行信息同步后的显示及后处理;The manipulator working data sub-buffer nG_WorkDataBuf, the sensor data sub-buffer nG_SensorDataBuf, the sensor data synchronization completion position index value nG_BufsaveIdx, and the length value nG_BufLength are used for displaying and post-synchronizing information in the external monitoring system. deal with;所述传感数据SensorData、机械臂工作数据WorkData的值,用于在所述外部监控系统中进行高速实时地显示;The values of the sensing data SensorData and the robotic arm working data WorkData are used for high-speed real-time display in the external monitoring system;所述外部监控系统与所述机械臂控制器间通过所述通信总线接口建立通信连接,以访问相关数据,机械臂端的相关通信任务由所述机械臂操作系统进行管理,通信数据传输由所述外部监控系统主动发起。A communication connection is established between the external monitoring system and the manipulator controller through the communication bus interface to access relevant data, the related communication tasks on the manipulator end are managed by the manipulator operating system, and the communication data transmission is managed by the manipulator operating system. The external monitoring system initiates actively.10.根据权利要求9所述的一种高速连续运动中的机械臂系统多任务协同与信息同步方法,其特征在于:10. a kind of high-speed continuous motion of the manipulator system multi-task coordination and information synchronization method according to claim 9, is characterized in that:所述机械臂工作数据快速获取模块的设计机制,使得其快速实时获取所述机械臂工作数据WorkData,即优先对高速连续运动条件下的相关运动数据进行获取;The design mechanism of the rapid acquisition module of the working data of the manipulator enables it to acquire the working data of the manipulator in real time quickly, that is, the relevant motion data under the condition of high-speed continuous motion is preferentially acquired;所述传感器数据读取模块的设计机制,使得在小于设定所述机械臂系统的硬件资源和软件资源占用量的前提下,将所述传感数据SensorData的读取延迟降低到设定的时间范围内;The design mechanism of the sensor data reading module is to reduce the read delay of the sensor data SensorData to a set time under the premise of less than the set hardware resources and software resource occupancy of the robotic arm system within the range;所述机械臂工作数据WorkData的计算获取频率,高于所述传感数据SensorData的采样获取频率,所述数据同步匹配模块用于实现这两种数据间的同步;The calculation and acquisition frequency of the robotic arm work data WorkData is higher than the sampling acquisition frequency of the sensor data SensorData, and the data synchronization matching module is used to realize the synchronization between the two kinds of data;所述外部监控系统的任务,低频率、批量化地获取所述同步数据缓冲区中的数据,从而使得对于所述机械臂系统的资源占用量小于设定值;The task of the external monitoring system is to acquire data in the synchronous data buffer at low frequency and in batches, so that the resource occupancy for the robotic arm system is less than a set value;所述机械臂应用程序集和所述外部监控系统共同用于实现所述机械臂本体装置在高速运动条件下的工作状态获取、外部感知、数据同步匹配、外部监控多种类型任务间的协同。The robotic arm application set and the external monitoring system are jointly used to realize the cooperation among various types of tasks of the robotic arm body device under the condition of high-speed movement, external perception, data synchronization and matching, and external monitoring.
CN202110367859.6A2021-04-062021-04-06Multi-task cooperation and information synchronization method for mechanical arm system in high-speed continuous motionActiveCN113064708B (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
CN202110367859.6ACN113064708B (en)2021-04-062021-04-06Multi-task cooperation and information synchronization method for mechanical arm system in high-speed continuous motion

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
CN202110367859.6ACN113064708B (en)2021-04-062021-04-06Multi-task cooperation and information synchronization method for mechanical arm system in high-speed continuous motion

Publications (2)

Publication NumberPublication Date
CN113064708A CN113064708A (en)2021-07-02
CN113064708Btrue CN113064708B (en)2022-03-18

Family

ID=76566029

Family Applications (1)

Application NumberTitlePriority DateFiling Date
CN202110367859.6AActiveCN113064708B (en)2021-04-062021-04-06Multi-task cooperation and information synchronization method for mechanical arm system in high-speed continuous motion

Country Status (1)

CountryLink
CN (1)CN113064708B (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN106737685A (en)*2017-01-162017-05-31上海大界机器人科技有限公司Manipulator motion system based on computer vision with man-machine real-time, interactive
CN111965439A (en)*2020-06-242020-11-20中国电子科技集团公司第十四研究所 Antenna testing system, method and device based on robotic arm

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN106445640B (en)*2016-10-202019-06-18南京南瑞继保电气有限公司 An embedded virtual device operating method and system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN106737685A (en)*2017-01-162017-05-31上海大界机器人科技有限公司Manipulator motion system based on computer vision with man-machine real-time, interactive
CN111965439A (en)*2020-06-242020-11-20中国电子科技集团公司第十四研究所 Antenna testing system, method and device based on robotic arm

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Design and Analysis of A Transformable Spherical Robot for Multi-mode Locomotion;Jia Wenchuan et al.;《IEEE International Conference on Mechatronics and Automation》;20170809;全文*
基于机械臂的计算机转轴力学性能检测系统研究;贾文川等;《计量与测试技术》;20190831;第46卷(第8期);全文*

Also Published As

Publication numberPublication date
CN113064708A (en)2021-07-02

Similar Documents

PublicationPublication DateTitle
EP3561622B1 (en)Integrated controller for motion control and motor control
US12134181B2 (en)Robot choreographer
EP3379358B1 (en)Control system, control device, control program, and control method
CN114692425B (en) Welding robot simulation method, system, equipment and medium based on digital twin technology
CN111168688B (en)Robot action playback method and device
WO2022227536A1 (en)Robot arm control method and apparatus, and robot arm and readable storage medium
CN117506913B (en) A visual servo control method based on event-triggered model prediction
JP2024503168A (en) Multi-threaded controller for parallel robots
CN115946120B (en)Mechanical arm control method, device, equipment and medium
CN113814951B (en)Control method, system and storage medium for master-slave robot
CN113927603B (en)Mechanical arm dragging control method and device, computer equipment and storage medium
US20030078762A1 (en)Simulation system, method, program and record medium
CN113064708B (en)Multi-task cooperation and information synchronization method for mechanical arm system in high-speed continuous motion
CN117653340A (en)Gravity compensation method for end tool of surgical robot and surgical robot
CN116952508A (en)Contact collision test method and contact collision test system
US20230294278A1 (en)Robot System and Picking Method
CN117047771A (en)Flexible control method and device for robot and electronic equipment
JP2522390B2 (en) How to check the operating status in position control
CN119141559B (en)Teaching method, device, equipment and storage medium for composite robot
Lv et al.Determination method of limit interpolation points in industrial robot control system
JP7629574B2 (en) ROBOT SYSTEM, ROBOT ADJUSTMENT DEVICE, PROGRAM, AND ROBOT MANUFACTURING METHOD
CN118700156A (en) A robotic arm control method for automatic docking of dynamic targets
CN120540249A (en) An intelligent agent decision-making system based on reinforcement learning
Su et al.Development and analysis of a bilateral control system for modular master-slave robots with PP tracking capability
Grisso et al.The CML Air Bearing Design Program (CMLAir), Version 7 User Manual

Legal Events

DateCodeTitleDescription
PB01Publication
PB01Publication
SE01Entry into force of request for substantive examination
SE01Entry into force of request for substantive examination
GR01Patent grant
GR01Patent grant

[8]ページ先頭

©2009-2025 Movatter.jp