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 PDFInfo
- Publication number
- CN113064708B CN113064708B CN202110367859.6A CN202110367859A CN113064708B CN 113064708 B CN113064708 B CN 113064708B CN 202110367859 A CN202110367859 A CN 202110367859A CN 113064708 B CN113064708 B CN 113064708B
- Authority
- CN
- China
- Prior art keywords
- data
- mechanical arm
- value
- sensing data
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Numerical Control (AREA)
Abstract
The invention relates to a multi-task coordination and information synchronization method for a mechanical arm system in high-speed continuous motion, which comprises a mechanical arm hardware subsystem and a mechanical arm software subsystem; the mechanical arm software subsystem comprises a mechanical arm operating system, a mechanical arm application program set and a data storage center; and a sensor data reading module of the mechanical arm application program set reads sensing data from the communication data buffer area, and if effective data is obtained, the current moment is recorded as a sensing data obtaining time global value. The mechanical arm work data rapid acquisition module rapidly calculates and acquires mechanical arm work data directly related to the actual work task of the mechanical arm. And the data synchronous matching module processes the sensing data and synchronously matches the sensing data with the mechanical arm working data. 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.
Description
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 than nMOVEID + 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)
1. A multi-task cooperation and information synchronization method for a mechanical arm system in high-speed continuous motion is characterized by comprising the following steps:
the mechanical arm system comprises a mechanical arm hardware subsystem and a mechanical 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 and the mechanical arm controller are in communication connection through the communication bus interface, the external sensor device senses sampling and sends sensing data at a high speed in a periodic mode, 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 the mechanical arm operating system, and the mechanical arm operating system comprises a communication data buffer area which is used for storing 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 the sensor data sensorData from the communication data buffer area, if valid data is obtained, the current moment is recorded as a sensor data obtaining time global value nG _ ClockSync _ F, and the sensor data obtaining time global value nG _ ClockSync _ F is stored into a synchronous data buffer area, and the synchronous data buffer area comprises a mechanical arm working data sub-buffer area nG _ WorkDataBuf, a sensor 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.
2. The method for multi-task coordination and information synchronization of the mechanical arm system in the high-speed continuous motion according to claim 1, characterized in that:
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 a mechanical arm movement task with high-speed continuous characteristics is executed and monitored in real time; 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;
recording the system global time of the sensor data reading module which is called to be activated each time and starts to run as Tf_global(ii) a The single predicted execution time length of the sensor data reading module is recorded 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 periodic triggered conditions.
3. The method for multi-task coordination and information synchronization of the mechanical arm system in the high-speed continuous motion according to claim 1, characterized in that:
the data storage center stores data comprising:
the sensing data SensorData and the 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 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 the latest obtained mechanical arm working data WorkData to perform writing operation;
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.
4. The method for multitask coordination and information synchronization of the mechanical arm system in high-speed continuous motion according to claim 3, characterized in that:
the operation process of the data synchronization matching module comprises 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 obtained sensing data is new data, if so, continuing, and otherwise, returning;
s3-2: calculating a total write offset value nBiasN _ Vbuf of the sensing data according to the sensing data acquisition time ClockSync _ F;
s3-3: calculating and storing the value of a relevant section in the 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;
the data synchronization matching initialization sub-step S1 is performed only 1 time in the initial operation stage; the sub-step S2 of storing the mechanical arm working data and the sub-step S3 of processing the sensing data form a program group, are embedded in a loop body of a main task program of the mechanical arm to be continuously executed, and are positioned behind the quick acquisition module of the mechanical arm working data.
5. The method for multitask coordination and information synchronization of the mechanical arm system in high-speed continuous motion according to claim 4, characterized in that:
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 work data of the mechanical arm specifically comprises:
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.
6. The method for multi-task coordination and information synchronization of the mechanical arm system in the high-speed continuous motion as claimed in claim 5, wherein:
the mechanical arm working data WorkData comprises a tail end gesture of the mechanical arm body device and a local operation gesture corresponding to the tail end gesture;
the working mode of the mechanical arm working data rapid acquisition module is specifically 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 the nMOVEID is synchronously increased along with the number of the tracks, and the serial number of the nMOVEID is managed by the mechanical arm operating system and is responsible for generation; in the process that the mechanical arm body device runs according to the track, the mechanical arm operating system acquires the track execution data nMOVIID _ Now of the mechanical arm body device in real time, the execution proportion of the motion track is nMOVIID _ Now-nMOVIID, and the work data WorkData of the mechanical arm is calculated and obtained as follows:
working data corresponding to an nMOVEID starting position + (nMOVEID _ Now-nMOVEID) and 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 nMoviID is the numerical interval length of the local operation attitude corresponding to the track.
7. The method for multitask coordination and information synchronization of the mechanical arm system in high-speed continuous motion according to claim 4, characterized in that:
in the substep S3 for processing the sensing data, the specific method of the step S3-1 is:
firstly, making ClockSync _ F equal to nG _ ClockSync _ F, and then judging whether ClockSync _ F and ClockSync _ F _ old are equal, if not, the sensing data SensorData is new data, and if so, the sensing data SensorData is not new data;
the substep S3 of processing the sensing data includes the following steps of subdividing S3-2:
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 is more than or equal to nVClockBuf [ (nG _ BufsaveIdx + nBiasN _ Vbuf)% nG _ BufLength ], and nBiasN _ Vbuf < nVbuf;
the sub-step S3 of processing the sensing data includes the following specific 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, directly storing the value of the sensorData into nG _ SensorDataBuf [ nG _ BufSaveIdx ], and if nBiasN _ Vbuf is not equal to 1, calculating the value of index position nIdxA in the nG _ SensorDataBuf array according to the following interpolation mode for nBias _ Vbuf which belongs to [0, nBiasN _ Vbuf-1 ]:
nG _ SensorDataBuf [ nnidsxa ] ═ SensorData × nBias _ Vbuf/(nBiasN _ Vbuf-1), where the value of nnidxa 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 sub-step S3 of processing the sensing data includes the following specific steps S3-4:
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.
8. The method for multi-task coordination and information synchronization of the mechanical arm system in the high-speed continuous motion according to claim 1, characterized in that:
the sensing data sensorData is obtained by sensing of the external sensor device, and is sent to the communication data buffer area in the mechanical arm operating system through the 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; if the communication data buffer zone overflows, deleting the earliest data preferentially;
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 mutual exclusion protection is improved.
9. The method for multitask coordination and information synchronization of the mechanical arm system in high-speed continuous motion according to claim 3, characterized in that:
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 the information after information synchronization in the external monitoring system;
the values of the sensing data SensorData and the mechanical arm working data WorkData are used for displaying in the external monitoring system in real time at a high speed;
the external monitoring system and the mechanical arm controller are in communication connection through the 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.
10. The method for multitask coordination and information synchronization of a mechanical arm system in high-speed continuous motion according to claim 9, characterized in that:
the design mechanism of the mechanical arm working data rapid acquisition module enables the mechanical arm working data rapid acquisition module to acquire the mechanical arm working data WorkData in real time, namely, the acquisition of the related motion data under the high-speed continuous motion condition is preferentially carried out;
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 that the occupation amount of hardware resources and software resources of the mechanical arm system is less than the set occupation amount;
the calculation acquiring frequency of the mechanical arm working data WorkData is higher than the sampling acquiring frequency of the sensing data SensorData, and the data synchronization matching module is used for realizing synchronization between the two data;
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 types of tasks of the mechanical arm body device, external sensing, data synchronous matching and external monitoring under the condition of high-speed movement.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110367859.6A CN113064708B (en) | 2021-04-06 | 2021-04-06 | Multi-task cooperation and information synchronization method for mechanical arm system in high-speed continuous motion |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110367859.6A CN113064708B (en) | 2021-04-06 | 2021-04-06 | Multi-task cooperation and information synchronization method for mechanical arm system in high-speed continuous motion |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113064708A CN113064708A (en) | 2021-07-02 |
CN113064708B true CN113064708B (en) | 2022-03-18 |
Family
ID=76566029
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110367859.6A Active CN113064708B (en) | 2021-04-06 | 2021-04-06 | Multi-task cooperation and information synchronization method for mechanical arm system in high-speed continuous motion |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113064708B (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106737685A (en) * | 2017-01-16 | 2017-05-31 | 上海大界机器人科技有限公司 | Manipulator motion system based on computer vision with man-machine real-time, interactive |
CN111965439A (en) * | 2020-06-24 | 2020-11-20 | 中国电子科技集团公司第十四研究所 | Antenna testing system, method and device based on mechanical arm |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106445640B (en) * | 2016-10-20 | 2019-06-18 | 南京南瑞继保电气有限公司 | A kind of embedded type virtual device operation method and system |
-
2021
- 2021-04-06 CN CN202110367859.6A patent/CN113064708B/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106737685A (en) * | 2017-01-16 | 2017-05-31 | 上海大界机器人科技有限公司 | Manipulator motion system based on computer vision with man-machine real-time, interactive |
CN111965439A (en) * | 2020-06-24 | 2020-11-20 | 中国电子科技集团公司第十四研究所 | Antenna testing system, method and device based on mechanical arm |
Non-Patent Citations (2)
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 number | Publication date |
---|---|
CN113064708A (en) | 2021-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3561622B1 (en) | Integrated controller for motion control and motor control | |
KR101185144B1 (en) | Method and apparatus for estimating 2-dimension trajectory of a gesture | |
CN116604600A (en) | Driving apparatus, robot system, control method, component manufacturing method, and medium | |
CN112131741A (en) | Real-time double-kernel single-machine semi-physical simulation architecture and simulation method | |
US20230286167A1 (en) | Robot choreographer | |
CN113954104B (en) | Multi-thread controller of parallel robot | |
CN115946120B (en) | Mechanical arm control method, device, equipment and medium | |
CN113636348A (en) | Glass transfer system for building installation | |
CN114692425A (en) | Welding robot simulation method, system, equipment and medium of digital twinning technology | |
CN113064708B (en) | Multi-task cooperation and information synchronization method for mechanical arm system in high-speed continuous motion | |
CN113927603B (en) | Mechanical arm dragging control method and device, computer equipment and storage medium | |
CN109454641B (en) | Multi-task division and data interaction method for motion controller | |
US20170239814A1 (en) | Processing time prediction method | |
CN117047771A (en) | Flexible control method and device for robot and electronic equipment | |
CN112486326A (en) | Position coordinate prediction method for gesture control movement, intelligent terminal and medium | |
CN113065572A (en) | Multi-sensor fusion data processing method, positioning device and virtual reality equipment | |
US20230294278A1 (en) | Robot System and Picking Method | |
JP2522390B2 (en) | How to check the operating status in position control | |
Xi et al. | Design of a real-time robot control system oriented for human-robot cooperation | |
Apostoł et al. | SCARA robot control based on Raspberry Pi | |
CN114323010B (en) | Initial feature determination method, device, electronic equipment and storage medium | |
CN117226847B (en) | Control method and system of teleoperation equipment | |
CN213499219U (en) | Robot control system for SLAM and navigation field | |
JPH0656584B2 (en) | Operating state monitoring device in a split processing system using multiple computers | |
CN115958595A (en) | Mechanical arm guiding method and device, computer equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |