CN117944031A - Control method of flexible mechanical arm, equipment and medium - Google Patents

Control method of flexible mechanical arm, equipment and medium Download PDF

Info

Publication number
CN117944031A
CN117944031A CN202211296876.6A CN202211296876A CN117944031A CN 117944031 A CN117944031 A CN 117944031A CN 202211296876 A CN202211296876 A CN 202211296876A CN 117944031 A CN117944031 A CN 117944031A
Authority
CN
China
Prior art keywords
command
partition
mechanical arm
dimensional
target
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.)
Pending
Application number
CN202211296876.6A
Other languages
Chinese (zh)
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.)
Wanxun Technology Shenzhen Co ltd
Original Assignee
Wanxun Technology Shenzhen Co ltd
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 Wanxun Technology Shenzhen Co ltd filed Critical Wanxun Technology Shenzhen Co ltd
Priority to CN202211296876.6A priority Critical patent/CN117944031A/en
Publication of CN117944031A publication Critical patent/CN117944031A/en
Pending legal-status Critical Current

Links

Landscapes

  • User Interface Of Digital Computer (AREA)

Abstract

The application is suitable for the technical field of robot control, and provides a control method of a flexible mechanical arm, the flexible mechanical arm, equipment and a medium, wherein the method comprises the following steps: dividing a terminal movable space area of the flexible mechanical arm into a plurality of three-dimensional partitions; determining partition origin points of each three-dimensional partition, and establishing a partition three-dimensional coordinate system corresponding to each partition origin point; generating a pose control command of the flexible mechanical arm in a target three-dimensional partition based on pose control input information and the partition three-dimensional coordinate system; and based on the pose control command, carrying out pose control on the flexible mechanical arm. The scheme can improve the prejudgement of the control track, promote effective working space, promote the control effect and control the experience.

Description

Control method of flexible mechanical arm, equipment and medium
Technical Field
The application belongs to the technical field of robot control, and particularly relates to a control method of a flexible mechanical arm, the flexible mechanical arm, equipment and a medium.
Background
In recent years, flexible mechanical arms have been developed more and more rapidly. The flexible mechanical arm is a multi-section mechanical arm similar to a trunk. A flexible mechanical arm is provided with a plurality of single-section joints, and each single-section joint can rotate, bend and even stretch in a limited range, so that the flexible mechanical arm is provided with more degrees of freedom.
However, each single-segment joint of the flexible mechanical arm has a relatively small movement range, so that the actual working space of each joint of the flexible continuous mechanical arm is a spherical shell space with a certain thickness, which makes the redundant working space near the necessary operation of the flexible continuous mechanical arm very limited, and the following control problems are encountered when the flexible continuous mechanical arm is controlled by using coordinate input:
One is an easy wall touch stop. The working space of each joint of the flexible continuous mechanical arm is generally a space with a spherical shell with a certain thickness, and the thickness of the spherical shell is generally not large. When the coordinate position of the mechanical arm joint is controlled through three-dimensional input, the boundary (the inner wall of the spherical shell and the outer wall of the spherical shell) of the working space is easy to reach, and at the moment, the movement of the flexible continuous mechanical arm is limited in the control direction, so that the movement is stopped.
The other is that it is difficult to predict the feasible direction. At different boundary critical points, the limited movement directions of the flexible continuous mechanical arm joints are different, and the feasible movement directions are also different. The mechanical arm which tries to restore the touch wall through the control input does not have clear standard when continuously moving towards the feasible movement direction, the correct direction is difficult to predict, the mechanical arm needs to be tried to be separated from the touch wall to continuously run, the control effect of the mechanical arm is greatly influenced, and the control experience of a controller is reduced.
Disclosure of Invention
The embodiment of the application provides a control method of a flexible mechanical arm, the flexible mechanical arm, equipment and a medium, which are used for solving the problems that in the prior art, the effective working space of the tail end of the mechanical arm is narrow, the wall is easy to touch and stop, the track is not prejudgement, the control effect of the mechanical arm and the control experience of a controller are low.
A first aspect of an embodiment of the present application provides a method for controlling a flexible mechanical arm, including:
Dividing a terminal movable space area of the flexible mechanical arm into a plurality of three-dimensional partitions;
Determining partition origin points of each three-dimensional partition, and establishing a partition three-dimensional coordinate system corresponding to each partition origin point;
Generating a pose control command of the flexible mechanical arm in a target three-dimensional partition based on pose control input information and the partition three-dimensional coordinate system; the target three-dimensional partition is a first partition in which the flexible mechanical arm is currently located in the three-dimensional partitions or a second partition outside the first partition in the three-dimensional partitions, and the pose control command is used for indicating a target position and/or a target pose of the flexible mechanical arm in the target three-dimensional partition;
And based on the pose control command, carrying out pose control on the flexible mechanical arm.
A second aspect of an embodiment of the present application provides a flexible mechanical arm, which implements pose control by a method as described in the first aspect above.
A third aspect of an embodiment of the present application provides a computer device comprising a memory, a processor and a computer program stored in the memory and executable on the processor, the processor implementing the steps of the method according to the first aspect when executing the computer program.
A fourth aspect of the embodiments of the present application provides a computer-readable storage medium storing a computer program which, when executed by a processor, implements the steps of the method according to the first aspect.
A fifth aspect of the application provides a computer program product for causing a computer device to carry out the steps of the method of the first aspect described above when said computer program product is run on the computer device.
From the above, in the embodiment of the present application, by dividing the terminal active space area of the flexible mechanical arm into a plurality of three-dimensional partitions, and establishing respective corresponding partition three-dimensional coordinate systems according to partition origins, generating pose control commands for the flexible mechanical arm in the target three-dimensional partition based on pose control input information and the partition three-dimensional coordinate systems, and further performing pose control on the flexible mechanical arm based on the pose control commands, in this process, the terminal control of the mechanical arm is located in these cube subareas, and partition switching jump is allowed between these subareas, so that the control input has mutually independent upper and lower bounds, coupling between motion limits is eliminated, track prejudgement of control is improved, effective working space is promoted, control effects of the mechanical arm are improved, and control experience of a controller is improved.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are needed in the embodiments or the description of the prior art will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and that other drawings can be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a flow chart of a control method of a flexible mechanical arm according to an embodiment of the present application;
FIG. 2 is a flowchart I of generating a pose control command for a flexible mechanical arm in a target three-dimensional partition according to an embodiment of the present application;
FIG. 3 is a second flowchart for generating a gesture control command for a flexible mechanical arm in a target three-dimensional partition according to an embodiment of the present application;
FIG. 4 is a block diagram of a flexible mechanical arm according to an embodiment of the present application;
Fig. 5 is a block diagram of a computer device according to an embodiment of the present application.
Detailed Description
In the following description, for purposes of explanation and not limitation, specific details are set forth such as the particular system architecture, techniques, etc., in order to provide a thorough understanding of the embodiments of the present application. It will be apparent, however, to one skilled in the art that the present application may be practiced in other embodiments that depart from these specific details. In other instances, detailed descriptions of well-known systems, devices, circuits, and methods are omitted so as not to obscure the description of the present application with unnecessary detail.
It should be understood that the terms "comprises" and/or "comprising," when used in this specification and the appended claims, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
It is also to be understood that the terminology used in the description of the application herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. As used in this specification and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise.
It should be further understood that the term "and/or" as used in the present specification and the appended claims refers to any and all possible combinations of one or more of the associated listed items, and includes such combinations.
As used in this specification and the appended claims, the term "if" may be interpreted as "when..once" or "in response to a determination" or "in response to detection" depending on the context. Similarly, the phrase "if a determination" or "if a [ described condition or event ] is detected" may be interpreted in the context of meaning "upon determination" or "in response to determination" or "upon detection of a [ described condition or event ]" or "in response to detection of a [ described condition or event ]".
In particular implementations, the computer devices described in embodiments of the present application include, but are not limited to, other portable devices such as mobile phones, laptop computers, or tablet computers having a touch-sensitive surface (e.g., a touch screen display and/or a touch pad). It should also be appreciated that in some embodiments, the device is not a portable communication device, but a desktop computer having a touch-sensitive surface (e.g., a touch screen display and/or a touch pad).
In the following discussion, a computer device including a display and a touch-sensitive surface is described. However, it should be understood that a computer device may include one or more other physical user interface devices such as a physical keyboard, mouse, and/or joystick.
The computer device supports various applications, such as one or more of the following: drawing applications, presentation applications, word processing applications, website creation applications, disk burning applications, spreadsheet applications, gaming applications, telephony applications, video conferencing applications, email applications, instant messaging applications, workout support applications, photo management applications, digital camera applications, digital video camera applications, web browsing applications, digital music player applications, and/or digital video player applications.
Various applications that may be executed on the computer device may use at least one common physical user interface device such as a touch sensitive surface. One or more functions of the touch-sensitive surface and corresponding information displayed on the computer device may be adjusted and/or changed between applications and/or within corresponding applications. In this way, a common physical architecture (e.g., touch-sensitive surface) of the computer device may support various applications with user interfaces that are intuitive and transparent to the user.
It should be understood that, the sequence number of each step in this embodiment does not mean the execution sequence, and the execution sequence of each process should be determined by its function and internal logic, and should not limit the implementation process of the embodiment of the present application in any way.
In order to illustrate the technical scheme of the application, the following description is made by specific examples.
Referring to fig. 1, fig. 1 is a flowchart of a control method of a flexible mechanical arm according to an embodiment of the present application. As shown in fig. 1, a control method of a flexible mechanical arm includes the following steps:
and step 101, dividing the tail end active space area of the flexible mechanical arm into a plurality of three-dimensional partitions.
Step 102, determining a partition origin of each stereoscopic partition, and establishing a corresponding partition three-dimensional coordinate system according to the partition origin.
In this embodiment, in order to improve the end operability of the flexible mechanical arm, the end working space of the flexible mechanical arm is divided into a plurality of cube-shaped partitions, so as to form sub-regions embedded in the end working space, so that an input command is always located in the cube-shaped sub-regions through an algorithm in the subsequent mechanical arm end control process, and partition switching and skipping are allowed between the sub-regions.
Wherein, optionally, in the working space of the flexible mechanical arm, a plurality of cube-shaped subareas are divided, and gaps can be arranged between the subareas, so that all working spaces are not required to be exhausted. Within each partition, a Cartesian coordinate system of the respective partition may be established, specifically using spatial location points specified in the partition as partition origins, or the geometric center of the partition as partition origins.
In the process, the movable space area at the tail end of the mechanical arm is divided into a plurality of three-dimensional partitions, a space three-dimensional coordinate system is built in each three-dimensional partition by using the partition origin, and independent boundaries among the three-dimensional partitions are convenient for independent pre-judgment of pose adjustment in each partition. And the divided subareas are in a cube shape, so that the position input of the control input information has mutually independent upper and lower bounds, the coupling between motion limits is eliminated, the track prejudgement of control is improved, and the effective working space is improved.
Because the subareas are planned in advance, the proper working areas can be communicated, and because the proper working areas are communicated and more effective boundaries are established, the effective control space is enlarged in terms of operability.
Meanwhile, the control is simplified in the mode, and the partition space is regulated to be a plurality of standard spaces, so that the standardization enables a user to learn and adapt to the control capability of the flexible continuous mechanical arm more easily, and the requirements of different scenes are processed by adjusting different partitions.
And step 103, generating a pose control command for the flexible mechanical arm in the target three-dimensional partition based on pose control input information and the partition three-dimensional coordinate system.
The target three-dimensional partition is a first partition in which the flexible mechanical arm is currently located in the three-dimensional partitions or a second partition outside the first partition in the three-dimensional partitions, and the pose control command is used for indicating a target position and/or a target pose of the flexible mechanical arm in the target three-dimensional partition.
The pose control input information may be parameter information input through software or instruction information input through a manipulation device.
In one embodiment, the manipulation device may be a three-dimensional axis control device, such as a 3D mouse, a three-dimensional mechanical joystick, or the like.
Correspondingly, the pose control input information comprises: gesture control input information corresponding to angular displacement operations of the three-dimensional axis control device around the three coordinate axes, and/or position control input information corresponding to displacement operations of the three-dimensional axis control device in the axis directions of the three coordinate axes.
In a specific embodiment, the 3D mouse may be a 3D joystick with a 6-axis input. The displacement input of three mutually perpendicular directions of 3D rocker is used for directly corresponding to the position command of the control mechanical arm terminal, and the rotation input of 3D rocker around three mutually perpendicular axes is used for directly corresponding to the gesture command of the control mechanical arm terminal.
The pose control command may include a position command and/or a pose command.
In a specific embodiment, the pose control command includes a position command; correspondingly, the step of generating the pose control command for the flexible mechanical arm in the target three-dimensional partition based on the pose control input information and the partition three-dimensional coordinate system specifically includes, as shown in fig. 2:
Step 201, initializing a position command to be selected as a valid position command with the latest time;
Step 202, updating the position command to be selected from the valid position command based on the pose control input information under the condition that the pose control input information does not contain a region jump instruction, so as to obtain the updated position command to be selected;
Step 203, based on the partition three-dimensional coordinate system, judging whether the updated position indicated in the position command to be selected exceeds the first partition;
Step 204, if the effective position command exceeds the target three-dimensional partition, determining the effective position command as a pose control command of the flexible mechanical arm in the target three-dimensional partition;
and 205, if the position command does not exceed the position command, determining the updated position command to be selected as a pose control command of the flexible mechanical arm in the target three-dimensional partition.
In the implementation process, the end position of the mechanical arm can be initialized at a certain partition origin, and the initialization position command is a position command corresponding to the current position of the end of the mechanical arm. And recording the current partition of the tail end of the mechanical arm. The position command corresponding to the current position of the tail end of the mechanical arm can be an effective position command closest to the current time.
The initialization processing operation specifically comprises the following steps:
Xd=XdLast
Yd=YdLast
Zd=ZdLast
Wherein X d is the X-axis command of the candidate position command, Y d is the Y-axis command of the candidate position command, and Z d is the Z-axis command of the candidate position command. X dLast is an X-axis command corresponding to the effective position command, Y dLast is a Y-axis command corresponding to the effective position command, and Z dLast is a Z-axis command corresponding to the effective position command.
Here, the candidate position command is initialized to the most-time valid position command.
Further, after the pose control input information is acquired, different pose control processes are required to be respectively executed in the three-dimensional partition where the tail end of the mechanical arm is located based on different situations of whether the pose control input information contains the region jump instruction.
And under the condition that the pose control input information does not contain the region jump instruction, updating the position command to be selected from the effective position command based on the pose control input information to obtain the updated position command to be selected.
Specifically, in the implementation process, if the jump key is not detected to be pressed 1 time, the pose control input information does not include the region jump instruction, and the position indicated by the position command still needs to be kept in the current partition. At this time, it is detected whether the candidate position command exceeds the current partition, and if so, the candidate position command is not updated, i.e., the last position command (i.e., the latest valid position command) is maintained unchanged. If not, updating the position command of the tail end to be the position command to be selected.
In a specific optional implementation manner, the pose control input information includes position control input information; the updating the position command to be selected by the effective position command based on the pose control input information to obtain the updated position command to be selected comprises the following steps:
Determining a position coordinate increment based on the position control input information;
Based on the position coordinate increment, updating the position command to be selected by using the following formula:
Xd=XdLast+Jx*Cx
Yd=YdLast+Jy*Cy
Zd=ZdLast+Jz*Cz
Wherein X d is an X-axis command corresponding to the updated position command to be selected, Y d is a Y-axis command corresponding to the updated position command to be selected, and Z d is a Z-axis command corresponding to the updated position command to be selected; x dLast is an X-axis command corresponding to the effective position command, Y dLast is a Y-axis command corresponding to the effective position command, and Z dLast is a Z-axis command corresponding to the effective position command; j x is the x-axis increment in the position coordinate increment data, J y is the y-axis increment in the position coordinate increment data, and J z is the z-axis increment in the position coordinate increment data; c x is the x-axis command delta coefficient, C y is the y-axis command delta coefficient, and C z is the z-axis command delta coefficient.
In a specific implementation, the above procedure can be formed into position coordinate adjustment increment through three position component inputs (J x,Jy,Jz) of the 3D mouse, and the end position command to be selected is updated.
Differently, in another optional embodiment, the step of generating the pose control command for the flexible mechanical arm in the target stereo partition based on the pose control input information and the partition three-dimensional coordinate system, as shown in conjunction with fig. 3, includes:
step 301, in the case that the pose control input information contains a region jump instruction, determining a spatial displacement coordinate based on the pose control input information in response to the region jump instruction;
Step 302, determining the target three-dimensional partition based on a direction vector of the spatial displacement coordinate under an absolute world coordinate system of the flexible mechanical arm and a position vector of a current position coordinate of the flexible mechanical arm under each partition three-dimensional coordinate system;
Step 303, obtaining a target position command of the flexible mechanical arm in the target three-dimensional partition based on a target partition origin corresponding to the target three-dimensional partition, and determining a set gesture command corresponding to the target three-dimensional partition as a target gesture command;
step 304, obtaining the pose control command including the target position command and the target pose command.
In the case where the pose control input information includes a region jump instruction, it is necessary to determine the spatial displacement coordinates based on the pose control input information to determine which target jump region is.
In a specific implementation, if a jump key is detected to be pressed once, a target stereoscopic partition to be jumped needs to be determined.
Optionally, after the target three-dimensional partition is determined, the position coordinate indicated by the position command at the tail end of the mechanical arm is updated to the partition origin coordinate (X ci,Yci,Zci) of the target three-dimensional partition, so as to obtain a target position command, and the gesture indicated by the gesture command at the tail end of the mechanical arm is updated to a default gesture corresponding to the partition origin of the target three-dimensional partition, so as to obtain a target gesture command.
Further, in an optional embodiment, the determining the target stereoscopic partition based on the direction vector of the spatial displacement coordinate under the absolute world coordinate system of the flexible mechanical arm and the position vector of the current position coordinate of the flexible mechanical arm under each of the partitioned three-dimensional coordinate systems includes:
calculating the direction vector of the space displacement coordinate under the absolute world coordinate system of the flexible mechanical arm and the included angle between the current position vector of the flexible mechanical arm under each subarea three-dimensional coordinate system;
Determining a target position vector corresponding to the minimum included angle in the included angles based on the included angles;
and determining the stereoscopic partition corresponding to the target position vector as the target stereoscopic partition.
That is, according to the current input direction of the 3D mouse, the displacement analysis is performed, specifically, it is required to determine the direction vector V joy=[Jx,Jy,jz of the displacement input (J x,Jy,jz) of the three coordinate axes of the 3D mouse in the absolute world coordinate system of the flexible mechanical arm and the vector V i from the current end position of the mechanical arm to the partition origin of each three-dimensional partition, denoted as V i=(Xci-x,YCi-y,Zci -z), where X ci,Yci,Zci is the partition origin coordinate of the i-th three-dimensional partition, and (X, y, z) is the current end position coordinate of the mechanical arm, so as to calculate the included angle between the vector V joy and each vector V i, and finally, the target three-dimensional partition is selected to have the standard of minimizing α (X ci,Yci,Zci).
Correspondingly, the calculating the included angle between the direction vector of the spatial displacement coordinate under the absolute world coordinate system of the flexible mechanical arm and the position vector of the current position coordinate of the flexible mechanical arm under each subarea three-dimensional coordinate system comprises the following steps:
Calculating the included angle between the direction vector of the space displacement coordinate under the absolute world coordinate system of the flexible mechanical arm and the position vector of the current position coordinate of the flexible mechanical arm under each subarea three-dimensional coordinate system by using the following formula:
wherein alpha is the included angle; [ J x,Jy,jz ] is the direction vector, wherein J x is x-axis displacement information in the spatial displacement coordinate, J y is y-axis displacement information in the spatial displacement coordinate, and J z is z-axis displacement information in the spatial displacement coordinate; (X ci-x,YCi-y,Zci -z) is a position vector of the current position coordinate of the flexible mechanical arm under the ith partitioned three-dimensional coordinate system, wherein X ci,Yci,Zci is X, y and z axis coordinates of the partitioned origin in the ith partitioned three-dimensional coordinate system, and (X, y, z) is the current position coordinate of the flexible mechanical arm.
In the processing process, the tail end active space area of the flexible mechanical arm is divided into a plurality of three-dimensional partitions, so that the pose control command and the tail end pose of the mechanical arm corresponding to the pose control command are accurately positioned in the partitions, or jump is carried out among the partitions, and the mechanical arm is accurately controlled in an effective working space.
Further, differently, in an alternative embodiment, the pose control commands include pose commands; correspondingly, the generating the pose control command of the flexible mechanical arm in the target three-dimensional partition based on the pose control input information and the partition three-dimensional coordinate system comprises the following steps:
initializing a gesture command to be selected as a valid gesture command with the latest time;
Updating the gesture command to be selected by the valid gesture command based on the gesture control input information under the condition that the gesture control input information does not contain a region jump instruction, so as to obtain the updated gesture command to be selected;
Judging whether the updated gesture indicated in the gesture command to be selected is in the upper and lower limit parameter ranges of the gesture or not based on the partitioned three-dimensional coordinate system;
if the effective gesture command is not in the upper and lower limit parameter ranges, determining the effective gesture command as a gesture control command of the flexible mechanical arm in the target three-dimensional partition;
And if the gesture command is within the upper and lower limit parameter ranges, determining the updated gesture command to be selected as a gesture control command of the flexible mechanical arm in the target three-dimensional partition.
In this process, it is necessary whether the end gesture command is legal. First, for each three-dimensional partition, the upper and lower limit parameter ranges of the gesture are defined.
Optionally, the default initial gesture of each three-dimensional partition is taken as a reference zero point, and the upper limit and the lower limit of the gesture adjustment range are specified, wherein the selection criteria of the upper limit and the lower limit are that the gesture of the tail end of the mechanical arm in the three-dimensional partition can be achieved in the gesture interval.
In the implementation process, the gesture command of the tail end of the mechanical arm is updated through the input of the angular displacement of the 3D mouse around three axes. Specifically, the euler angle description of the end gesture in the absolute world coordinate system can be selected, and since the specific coordinates of the euler angles represent up to 24 methods, any one of the input methods can be applied, the method is not limited to a specific representation, and the three components of the euler angles are represented by using (ζ 123).
Correspondingly, the upper and lower limit parameters of the gesture, i.e. ζ 1_min1_max2_min2_max3_min3_max. And then determines whether the end gesture is legal by judging as follows.
ξ1_min<ξ1<ξ1_max
ξ2_min<ξ2<ξ2_max
ξ3_min<ξ3<ξ3_max
And if the gesture indicated in the updated gesture command to be selected meets the three formulas, updating the gesture command at the tail end of the mechanical arm into the gesture command to be selected. Otherwise, the gesture command to be selected is not in the specified working space, and the previous gesture command is kept unchanged.
In an optional implementation manner, the updating the gesture command to be selected by the valid gesture command based on the gesture control input information to obtain the updated gesture command to be selected includes:
Based on the pose control input information, determining input pose pivoting increment, wherein the pose pivoting increment comprises pivoting increment around X axis, pivoting increment around Y axis and/or pivoting increment around Z axis;
determining an increment of an euler angle pivot component corresponding to the flexible mechanical arm based on the gesture pivot rotation increment;
and updating the Euler angle axis component corresponding to the effective gesture command based on the increment of the Euler angle axis component to obtain the updated gesture command to be selected.
In a specific implementation, the euler angle component ζ 1, the euler angle component ζ 2, and the euler angle component ζ 3 are controlled correspondingly by the X-axis rotation amount R x, the Y-axis rotation input amount R y, and the Z-axis rotation input amount R z of the 3D mouse, respectively.
Based on the last valid euler angle component ζ 1 command, a new candidate euler angle component ζ 1 command is obtained, with the input R x around the X-axis as an increment coefficient. When R x is within the input dead zone, the candidate euler angle component ζ 1 command is unchanged. When R x is outside the input dead zone and positive, the alternative euler angle component ζ 1 command increases, and when R x is outside the input dead zone and negative, the alternative euler angle component ζ 1 command decreases.
Similarly, based on the last valid euler angle component ζ 2 command, a new candidate euler angle component ζ 2 command is obtained with the input R y around the Y-axis as an increment coefficient. When R x is within the input dead zone, the candidate euler angle component ζ 2 command is unchanged. When R x is outside the input dead zone and positive, the alternative euler angle component ζ 2 command increases, and when R x is outside the input dead zone and negative, the alternative euler angle component ζ 2 command decreases.
Based on the last valid euler angle component ζ 3 command, a new candidate euler angle component ζ 3 command is obtained with the Z-axis input R z as an increment coefficient. When R z is within the input dead zone, the candidate euler angle component ζ 3 command is unchanged. When R z is outside the input dead zone and positive, the alternative euler angle component ζ 3 command increases, and when R z is outside the input dead zone and negative, the alternative euler angle component ζ 3 command decreases.
The method comprises the steps of updating Euler angle around-axis components corresponding to effective gesture commands based on the increment of Euler angle around-axis components, and obtaining updated gesture commands to be selected.
And 104, performing pose control on the flexible mechanical arm based on the pose control command.
According to the embodiment of the application, the terminal active space area of the flexible mechanical arm is divided into a plurality of three-dimensional subareas, the corresponding subarea three-dimensional coordinate systems are established according to the subarea origin, the pose control command of the flexible mechanical arm in the target three-dimensional subarea is generated based on pose control input information and the subarea three-dimensional coordinate systems, and then the pose control command is based on the pose control command, so that the flexible mechanical arm is subjected to pose control.
Fig. 4 is a structural diagram of a flexible mechanical arm according to an embodiment of the present application.
The flexible mechanical arm in the embodiment of the application realizes pose control by the control method of the flexible mechanical arm. And the same technical effects can be achieved, and in order to avoid repetition, the description is omitted here.
Fig. 5 is a block diagram of a computer device according to an embodiment of the present application. As shown in the figure, the computer device 5 of this embodiment includes: at least one processor 50 (only one is shown in fig. 5), a memory 51 and a computer program 52 stored in the memory 51 and executable on the at least one processor 50, the processor 50 implementing the steps in any of the various method embodiments described above when executing the computer program 52.
The computer device 5 may be a desktop computer, a notebook computer, a palm computer, a cloud server, or the like. The computer device 5 may include, but is not limited to, a processor 50, a memory 51. It will be appreciated by those skilled in the art that fig. 5 is merely an example of the computer device 5 and is not meant to be limiting as the computer device 5 may include more or fewer components than shown, or may combine certain components, or different components, e.g., the computer device may also include input and output devices, network access devices, buses, etc.
The Processor 50 may be a central processing unit (Central Processing Unit, CPU), but may also be other general purpose processors, digital signal processors (DIGITAL SIGNAL Processor, DSP), application SPECIFIC INTEGRATED Circuit (ASIC), field-Programmable gate array (Field-Programmable GATE ARRAY, FPGA) or other Programmable logic device, discrete gate or transistor logic device, discrete hardware components, or the like. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
The storage 51 may be an internal storage unit of the computer device 5, such as a hard disk or a memory of the computer device 5. The memory 51 may also be an external storage device of the computer device 5, such as a plug-in hard disk, a smart memory card (SMART MEDIA CARD, SMC), a Secure Digital (SD) card, a flash memory card (FLASH CARD) or the like, which are provided on the computer device 5. Further, the memory 51 may also include both an internal storage unit and an external storage device of the computer device 5. The memory 51 is used for storing the computer program and other programs and data required by the computer device. The memory 51 may also be used to temporarily store data that has been output or is to be output.
It will be apparent to those skilled in the art that, for convenience and brevity of description, only the above-described division of the functional units and modules is illustrated, and in practical application, the above-described functional distribution may be performed by different functional units and modules according to needs, i.e. the internal structure of the apparatus is divided into different functional units or modules to perform all or part of the above-described functions. The functional units and modules in the embodiment may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit, where the integrated units may be implemented in a form of hardware or a form of a software functional unit. In addition, the specific names of the functional units and modules are only for distinguishing from each other, and are not used for limiting the protection scope of the present application. The specific working process of the units and modules in the above system may refer to the corresponding process in the foregoing method embodiment, which is not described herein again.
In the foregoing embodiments, the descriptions of the embodiments are emphasized, and in part, not described or illustrated in any particular embodiment, reference is made to the related descriptions of other embodiments.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
In the embodiments provided by the present application, it should be understood that the disclosed apparatus/computer device and method may be implemented in other manners. For example, the apparatus/computer device embodiments described above are merely illustrative, e.g., the division of the modules or units is merely a logical function division, and there may be additional divisions when actually implemented, e.g., multiple units or components may be combined or integrated into another system, or some features may be omitted or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection via interfaces, devices or units, which may be in electrical, mechanical or other forms.
The units described as separate units may or may not be physically separate, and units shown as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional unit in the embodiments of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in software functional units.
The integrated modules/units, if implemented in the form of software functional units and sold or used as stand-alone products, may be stored in a computer readable storage medium. Based on such understanding, the present application may implement all or part of the flow of the method of the above embodiment, or may be implemented by a computer program to instruct related hardware, where the computer program may be stored in a computer readable storage medium, and when the computer program is executed by a processor, the computer program may implement the steps of each of the method embodiments described above. Wherein the computer program comprises computer program code which may be in source code form, object code form, executable file or some intermediate form etc. The computer readable medium may include: any entity or device capable of carrying the computer program code, a recording medium, a U disk, a removable hard disk, a magnetic disk, an optical disk, a computer Memory, a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), an electrical carrier signal, a telecommunications signal, a software distribution medium, and so forth. It should be noted that the computer readable medium contains content that can be appropriately scaled according to the requirements of jurisdictions in which such content is subject to legislation and patent practice, such as in certain jurisdictions in which such content is subject to legislation and patent practice, the computer readable medium does not include electrical carrier signals and telecommunication signals.
The present application may also be implemented as a computer program product for implementing all or part of the procedures of the methods of the embodiments, which when run on a computer device causes the computer device to perform the steps of the method embodiments described above.
The above embodiments are only for illustrating the technical solution of the present application, and not for limiting the same; although the application has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical scheme described in the foregoing embodiments can be modified or some technical features thereof can be replaced by equivalents; such modifications and substitutions do not depart from the spirit and scope of the technical solutions of the embodiments of the present application, and are intended to be included in the scope of the present application.

Claims (12)

1. The control method of the flexible mechanical arm is characterized by comprising the following steps of:
Dividing a terminal movable space area of the flexible mechanical arm into a plurality of three-dimensional partitions;
Determining partition origin points of each three-dimensional partition, and establishing a partition three-dimensional coordinate system corresponding to each partition origin point;
Generating a pose control command of the flexible mechanical arm in a target three-dimensional partition based on pose control input information and the partition three-dimensional coordinate system; the target three-dimensional partition is a first partition in which the flexible mechanical arm is currently located in the three-dimensional partitions or a second partition outside the first partition in the three-dimensional partitions, and the pose control command is used for indicating a target position and/or a target pose of the flexible mechanical arm in the target three-dimensional partition;
And based on the pose control command, carrying out pose control on the flexible mechanical arm.
2. The method according to claim 1, wherein the pose control command includes a position command;
The generating a pose control command for the flexible mechanical arm in a target three-dimensional partition based on pose control input information and the partition three-dimensional coordinate system comprises the following steps:
Initializing a position command to be selected as a valid position command with the latest time;
Updating the position command to be selected by the effective position command based on the pose control input information under the condition that the pose control input information does not contain the region jump instruction, so as to obtain the updated position command to be selected;
Judging whether the position indicated in the updated position command to be selected exceeds the first partition or not based on the partition three-dimensional coordinate system;
If the position command exceeds the target three-dimensional partition, determining the effective position command as a pose control command of the flexible mechanical arm in the target three-dimensional partition;
And if the position command does not exceed the target three-dimensional partition, determining the updated position command to be selected as a pose control command of the flexible mechanical arm in the target three-dimensional partition.
3. The method of claim 2, wherein the pose control input information comprises position control input information;
The updating the position command to be selected by the effective position command based on the pose control input information to obtain the updated position command to be selected comprises the following steps:
Determining a position coordinate increment based on the position control input information;
Based on the position coordinate increment, updating the position command to be selected by using the following formula:
Xd=XdLast+Jx*Cx
Yd=YdLast+Jy*Cy
Zd=ZdLast+Jz*Cz
Wherein X d is an X-axis command corresponding to the updated position command to be selected, Y d is a Y-axis command corresponding to the updated position command to be selected, and Z d is a Z-axis command corresponding to the updated position command to be selected; x dLast is an X-axis command corresponding to the effective position command, Y dLast is a Y-axis command corresponding to the effective position command, and Z dLast is a Z-axis command corresponding to the effective position command; j x is the x-axis increment in the position coordinate increment data, J y is the y-axis increment in the position coordinate increment data, and J z is the z-axis increment in the position coordinate increment data; c x is the x-axis command delta coefficient, C y is the y-axis command delta coefficient, and C z is the z-axis command delta coefficient.
4. The method of claim 1, wherein generating pose control commands for the flexible robotic arm in a target volumetric partition based on pose control input information and the partitioned three-dimensional coordinate system comprises: determining spatial displacement coordinates based on the pose control input information in response to an area jump instruction when the pose control input information includes the area jump instruction;
Determining the target three-dimensional partition based on a direction vector of the space displacement coordinate under an absolute world coordinate system of the flexible mechanical arm and a position vector of a current position coordinate of the flexible mechanical arm under each partition three-dimensional coordinate system;
Obtaining a target position command of the flexible mechanical arm in the target three-dimensional partition based on a target partition origin corresponding to the target three-dimensional partition, and determining a set gesture command corresponding to the target three-dimensional partition as a target gesture command;
and obtaining the pose control command comprising the target position command and the target pose command.
5. The method of claim 4, wherein the determining the target volumetric partition based on the direction vector of the spatial displacement coordinates in the absolute world coordinate system of the flexible robotic arm and the position vector of the current position coordinates of the flexible robotic arm in each of the partitioned three-dimensional coordinate systems comprises:
calculating the direction vector of the space displacement coordinate under the absolute world coordinate system of the flexible mechanical arm and the included angle between the current position vector of the flexible mechanical arm under each subarea three-dimensional coordinate system;
Determining a target position vector corresponding to the minimum included angle in the included angles based on the included angles;
and determining the stereoscopic partition corresponding to the target position vector as the target stereoscopic partition.
6. The method of claim 5, wherein calculating the angle between the direction vector of the spatial displacement coordinate in the absolute world coordinate system of the flexible manipulator and the position vector of the current position coordinate of the flexible manipulator in each of the partitioned three-dimensional coordinate systems comprises:
Calculating the included angle between the direction vector of the space displacement coordinate under the absolute world coordinate system of the flexible mechanical arm and the position vector of the current position coordinate of the flexible mechanical arm under each subarea three-dimensional coordinate system by using the following formula:
Wherein alpha is the included angle; [ J x,Jy,Jz ] is the direction vector, wherein J x is x-axis displacement information in the spatial displacement coordinate, J y is y-axis displacement information in the spatial displacement coordinate, and J z is z-axis displacement information in the spatial displacement coordinate; (X ci-x,YCi-y,Zci -z) is a position vector of the current position coordinate of the flexible mechanical arm under the ith partitioned three-dimensional coordinate system, wherein X ci,Yci,Zci is X, y and z axis coordinates of the partitioned origin in the ith partitioned three-dimensional coordinate system, and (X, y, z) is the current position coordinate of the flexible mechanical arm.
7. The method according to claim 1, wherein the pose control commands include pose commands;
The generating a pose control command for the flexible mechanical arm in a target three-dimensional partition based on pose control input information and the partition three-dimensional coordinate system comprises the following steps:
initializing a gesture command to be selected as a valid gesture command with the latest time;
Updating the gesture command to be selected by the valid gesture command based on the gesture control input information under the condition that the gesture control input information does not contain a region jump instruction, so as to obtain the updated gesture command to be selected;
Judging whether the updated gesture indicated in the gesture command to be selected is in the upper and lower limit parameter ranges of the gesture or not based on the partitioned three-dimensional coordinate system;
if the effective gesture command is not in the upper and lower limit parameter ranges, determining the effective gesture command as a gesture control command of the flexible mechanical arm in the target three-dimensional partition;
And if the gesture command is within the upper and lower limit parameter ranges, determining the updated gesture command to be selected as a gesture control command of the flexible mechanical arm in the target three-dimensional partition.
8. The method of claim 7, wherein updating the candidate pose command from the valid pose command based on the pose control input information, resulting in the updated candidate pose command, comprises:
Based on the pose control input information, determining input pose pivoting increment, wherein the pose pivoting increment comprises pivoting increment around X axis, pivoting increment around Y axis and/or pivoting increment around Z axis;
determining an increment of an euler angle pivot component corresponding to the flexible mechanical arm based on the gesture pivot rotation increment;
and updating the Euler angle axis component corresponding to the effective gesture command based on the increment of the Euler angle axis component to obtain the updated gesture command to be selected.
9. The method according to any one of claims 1 to 8, wherein the pose control input information includes:
Gesture control input information corresponding to angular displacement operations of the three-dimensional axis control device around the three coordinate axes, and/or position control input information corresponding to displacement operations of the three-dimensional axis control device in the axis directions of the three coordinate axes.
10. A flexible robotic arm, characterized in that it achieves pose control by a method according to any of claims 1 to 9.
11. A computer device comprising a memory, a processor and a computer program stored in the memory and executable on the processor, characterized in that the processor implements the steps of the method according to any of claims 1 to 9 when the computer program is executed.
12. A computer readable storage medium storing a computer program, characterized in that the computer program when executed by a processor implements the steps of the method according to any one of claims 1 to 9.
CN202211296876.6A 2022-10-21 2022-10-21 Control method of flexible mechanical arm, equipment and medium Pending CN117944031A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211296876.6A CN117944031A (en) 2022-10-21 2022-10-21 Control method of flexible mechanical arm, equipment and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211296876.6A CN117944031A (en) 2022-10-21 2022-10-21 Control method of flexible mechanical arm, equipment and medium

Publications (1)

Publication Number Publication Date
CN117944031A true CN117944031A (en) 2024-04-30

Family

ID=90793281

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211296876.6A Pending CN117944031A (en) 2022-10-21 2022-10-21 Control method of flexible mechanical arm, equipment and medium

Country Status (1)

Country Link
CN (1) CN117944031A (en)

Similar Documents

Publication Publication Date Title
EP3629129A1 (en) Method and apparatus of interactive display based on gesture recognition
US6981229B1 (en) System for dynamically mapping input device movement as a user's viewpoint changes
CN107562201B (en) Directional interaction method and device, electronic equipment and storage medium
JP6563596B2 (en) Image processing apparatus, image processing method, and program
CN113168281B (en) Computer readable medium, electronic device and method
JP6874149B2 (en) Image processing equipment, image processing methods and programs
JP6088787B2 (en) Program, information processing apparatus, information processing method, and information processing system
Jiang et al. A SLAM-based 6DoF controller with smooth auto-calibration for virtual reality
KR102282739B1 (en) Method and system for arranging and manipulating to augmented reality contemts in 3d space
EP3864494B1 (en) Locating spatialized sounds nodes for echolocation using unsupervised machine learning
CN110743161B (en) Virtual object control method, device, terminal and storage medium
CN117130518A (en) Control display method, head display device, electronic device and readable storage medium
JP6924799B2 (en) Programs, image processing methods and image processing systems
CN117944031A (en) Control method of flexible mechanical arm, equipment and medium
CN117944030A (en) Control method of flexible mechanical arm, equipment and medium
CN117850591A (en) Interaction control method and electronic equipment
US20220335676A1 (en) Interfacing method and apparatus for 3d sketch
US11688148B2 (en) Methods and systems for selection of objects
US11429247B1 (en) Interactions with slices of medical data in augmented reality
KR102448108B1 (en) Method, system and non-transitory computer-readable recording medium for supporting object control
CN113778242B (en) Control method, remote control equipment and storage medium
CN117944029A (en) Flexible joint control method, flexible joint, mechanical arm, equipment and medium
KR102318698B1 (en) Method and program for creating virtual space where virtual objects are arranged based on spherical coordinate system
WO2023207345A1 (en) Data interaction method, apparatus, computer device, and computer readable storage medium
CN116400798A (en) Keyboard display method and device, electronic equipment and 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