WO2022205844A1 - 机器人正运动学求解方法、装置、可读存储介质及机器人 - Google Patents
机器人正运动学求解方法、装置、可读存储介质及机器人 Download PDFInfo
- Publication number
- WO2022205844A1 WO2022205844A1 PCT/CN2021/125045 CN2021125045W WO2022205844A1 WO 2022205844 A1 WO2022205844 A1 WO 2022205844A1 CN 2021125045 W CN2021125045 W CN 2021125045W WO 2022205844 A1 WO2022205844 A1 WO 2022205844A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- forward kinematics
- robot
- kinematics solution
- model
- driving mechanism
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 76
- 230000007246 mechanism Effects 0.000 claims abstract description 93
- 238000012549 training Methods 0.000 claims abstract description 83
- 238000012545 processing Methods 0.000 claims abstract description 44
- 230000008569 process Effects 0.000 claims abstract description 43
- 238000003062 neural network model Methods 0.000 claims abstract description 34
- 239000011159 matrix material Substances 0.000 claims description 39
- 238000005070 sampling Methods 0.000 claims description 37
- 230000006870 function Effects 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 24
- 230000005540 biological transmission Effects 0.000 claims description 17
- 239000013598 vector Substances 0.000 claims description 11
- 210000002569 neuron Anatomy 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000004044 response Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 238000002940 Newton-Raphson method Methods 0.000 description 1
- 210000000544 articulatio talocruralis Anatomy 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 239000003638 chemical reducing agent Substances 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000005021 gait Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- SBYHFKPVCBCYGV-UHFFFAOYSA-N quinuclidine Chemical compound C1CC2CCN1CC2 SBYHFKPVCBCYGV-UHFFFAOYSA-N 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/1605—Simulation of manipulator lay-out, design, modelling of manipulator
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/10—Programme-controlled manipulators characterised by positioning means for manipulator elements
- B25J9/106—Programme-controlled manipulators characterised by positioning means for manipulator elements with articulated links
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/1607—Calculation of inertia, jacobian matrixes and inverses
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62D—MOTOR VEHICLES; TRAILERS
- B62D57/00—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track
- B62D57/02—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members
- B62D57/032—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members with alternately or sequentially lifted supporting base and legs; with alternately or sequentially lifted feet or skid
Definitions
- the present application belongs to the field of robotics, and in particular, relates to a method, device, computer-readable storage medium, and robot for solving forward kinematics of a robot.
- the kinematics of the legs need to be solved, including forward kinematics and inverse kinematics.
- Forward kinematics refers to the process of calculating the end pose from the joint angle
- inverse kinematics refers to the process of inferring the joint angle from the micro-end pose.
- Positive kinematics is mainly used to estimate the current posture of the robot to perform necessary algorithm compensation to ensure the stability of the robot.
- Inverse kinematics is mainly used for joint angle calculation after motion trajectory planning to ensure that the robot moves according to the planned trajectory.
- the forward kinematics of the parallel configuration is generally calculated by a numerical method. Based on the Jacobian matrix, it is iteratively approximated by the Newton-Raphson method. However, this method is computationally complex and time-consuming, and it is difficult to meet the real-time requirements of the robot. control needs.
- the embodiments of the present application provide a method, device, computer-readable storage medium and robot for solving the forward kinematics of a robot, so as to solve the problem that the existing method for solving the forward kinematics of a robot has high computational complexity and takes a long time. , it is difficult to meet the demand for real-time control of robots.
- a first aspect of the embodiments of the present application provides a method for solving the forward kinematics of a robot, which may include:
- the motion parameters of the driving mechanism are processed according to a preset forward kinematics solution model to obtain the terminal pose of the target part;
- the forward kinematics solution model is a neural network model trained from a preset training sample set , and the training sample set is a set constructed according to a preset inverse kinematics function relationship.
- the training process of the forward kinematics solution model may include:
- the training sample set includes a first number of training samples, and each training sample includes a group of terminal pose sampling points and corresponding drive mechanism motion parameters;
- the initial state neural network model is trained using the training sample set, and the trained neural network model is used as the forward kinematics solution model.
- the processing of the motion parameters of the driving mechanism according to a preset forward kinematics solution model to obtain the terminal pose of the target part may include:
- the motion parameters of the driving mechanism are input into the forward kinematics solution model for processing, and the processed output of the forward kinematics solution model is used as the terminal pose of the target part.
- the processing of the motion parameters of the driving mechanism according to a preset forward kinematics solution model to obtain the terminal pose of the target part may include:
- the target part may be a link transmission mechanism
- the link transmission mechanism may include: a first rotating arm, a rocking member driven by the first driving mechanism, a first link assembly and a second rotating arm, all of which Both ends of the rocking member are rotatably connected to the first rotating arm and the first link assembly, one end of the first rotating arm is far away from the rocking member, and the first link assembly is far away from the swinging member.
- One end of the piece is movably connected to the second rotating arm;
- the motion parameter of the driving mechanism is the driving angle of the first driving mechanism
- the terminal posture is the posture angle of the second rotating arm.
- a second aspect of the embodiments of the present application provides a device for solving forward kinematics of a robot, which may include:
- the parameter acquisition module is used to acquire the motion parameters of the driving mechanism of the target part of the robot;
- the forward kinematics solution module is used to process the motion parameters of the driving mechanism according to the preset forward kinematics solution model to obtain the terminal pose of the target part;
- the forward kinematics solution model is a training
- the neural network model obtained by training the sample set, and the training sample set is a set constructed according to a preset inverse kinematics function relationship.
- the device for solving the forward kinematics of the robot may also include:
- an end pose range determination module used for determining the end pose range of the target part
- a sampling module used for sampling in the end pose range to obtain a first number of end pose sampling points
- an inverse kinematics calculation module used for calculating the motion parameters of the driving mechanism corresponding to each end pose sampling point according to the inverse kinematics function relationship
- a training sample set building module used to construct the training sample set;
- the training sample set includes a first number of training samples, and each training sample includes a set of terminal pose sampling points and corresponding drive mechanism motion parameters;
- a model training module configured to use the training sample set to train the neural network model in the initial state, and use the trained neural network model as the forward kinematics solution model.
- the forward kinematics solving module may include:
- the model processing unit is configured to input the motion parameters of the driving mechanism into the forward kinematics solution model for processing, and use the processed output of the forward kinematics solution model as the terminal pose of the target part.
- the forward kinematics solving module may include:
- the matrix operation unit is used for substituting the motion parameters of the driving mechanism into the matrix operation formula for operation, and using the operation result as the terminal pose of the target part.
- the target part may be a link transmission mechanism
- the link transmission mechanism may include: a first rotating arm, a rocking member driven by the first driving mechanism, a first link assembly and a second rotating arm, all of which Both ends of the rocking member are rotatably connected to the first rotating arm and the first link assembly, one end of the first rotating arm is far away from the rocking member, and the first link assembly is far away from the swinging member.
- One end of the piece is movably connected to the second rotating arm;
- the motion parameter of the driving mechanism is the driving angle of the first driving mechanism
- the terminal posture is the posture angle of the second rotating arm.
- a third aspect of the embodiments of the present application provides a computer-readable storage medium, where a computer program is stored in the computer-readable storage medium, and when the computer program is executed by a processor, any one of the above-mentioned methods for solving the forward kinematics of a robot is implemented A step of.
- a fourth aspect of the embodiments of the present application provides a robot, including a memory, a processor, and a computer program stored in the memory and executable on the processor, and the processor implements the computer program when the processor executes the computer program.
- the steps of any one of the above-mentioned robot forward kinematics solution methods.
- a fifth aspect of the embodiments of the present application provides a computer program product that, when the computer program product runs on a robot, causes the robot to execute the steps of any of the above-mentioned methods for solving the forward kinematics of a robot.
- the embodiments of the present application have the following beneficial effects: the embodiments of the present application obtain the motion parameters of the driving mechanism of the target part of the robot; The terminal pose of the target part; the forward kinematics solution model is a neural network model trained by a preset training sample set, and the training sample set is a set constructed according to a preset inverse kinematics function relationship .
- the complex forward kinematics solution process is transformed into a relatively simple inverse kinematics solution process and a neural network model processing process, the computational complexity is reduced, the time-consuming computation is shortened, and the requirements for real-time control of robots can be satisfied. need.
- Fig. 1 is the schematic flow chart of the training process of the forward kinematics solution model
- Fig. 2 is the schematic diagram of connecting rod transmission mechanism
- Fig. 3 is the simplified model schematic diagram of the connecting rod transmission mechanism
- FIG. 4 is a flowchart of an embodiment of a method for solving forward kinematics of a robot in an embodiment of the application;
- Fig. 5 is the schematic diagram of forward kinematics solution model
- FIG. 6 is a structural diagram of an embodiment of a device for solving forward kinematics of a robot in an embodiment of the application;
- FIG. 7 is a schematic block diagram of a robot in an embodiment of the present application.
- the term “if” may be contextually interpreted as “when” or “once” or “in response to determining” or “in response to detecting” .
- the phrases “if it is determined” or “if the [described condition or event] is detected” may be interpreted, depending on the context, to mean “once it is determined” or “in response to the determination” or “once the [described condition or event] is detected. ]” or “in response to detection of the [described condition or event]”.
- the core idea of this application is to transform the complex robot forward kinematics solution process into a relatively simple inverse kinematics solution process and neural network model processing process. That is, a sufficient number of training samples are generated through the inverse kinematics solution, and the output of the inverse kinematics is used as the input, and the input of the inverse kinematics is used as the expected output. Kinematic solution model.
- the training process of the forward kinematics solution model may specifically include the following steps:
- Step S101 determining the range of the terminal pose of the target part of the robot.
- the target part is the robot part to be solved by forward kinematics.
- different robot parts can be selected as the target part according to the actual situation. It is easy to understand that for different robot parts, the range of the end pose is also different, and it needs to be set according to the actual situation.
- Step S102 Sampling in the terminal pose range to obtain a first number of terminal pose sampling points.
- the specific value of the first number can be set according to the actual situation. Generally, in order to ensure the accuracy of the model obtained by training, it is necessary to collect as many sampling points as possible. For example, the first number can be set to 100,000 or 500,000. , 1 million and so on.
- sampling methods When performing sampling, different sampling methods may be adopted according to the actual situation, including but not limited to random sampling, uniform sampling, weighted sampling and so on.
- random sampling is to randomly select sampling points in the range of the end pose.
- Uniform sampling is to uniformly select sampling points in the range of the end pose. For example, if the end of the target part has two motion dimensions, which are rotation around a preset first coordinate axis (such as x-axis) and rotation around a preset second coordinate axis (such as y-axis), and rotation around the first coordinate axis
- the range of attitude angle of rotation is [ ⁇ ox-min , ⁇ ox-max ]
- the range of attitude angle of rotation around the second coordinate axis is [ ⁇ oy-min , ⁇ oy-max ]
- it can be in [ ⁇ ox-min
- M values are selected at equal intervals within the range of [ ⁇ ox-max ]
- M values are also selected at equal intervals within the range of [ ⁇ oy-min , ⁇ oy-max ].
- the combination of the two can form a total of M2 sampling points, among which , M2 is greater than or equal to the first number.
- Weight sampling is to divide the entire terminal pose range into several sub-ranges, and set different weights for each sub-range according to the actual situation. The larger the value, the smaller the weight, the smaller the sampling point density. For each sub-range, random sampling or uniform sampling can be selected according to the actual situation.
- Step S103 calculating the motion parameters of the driving mechanism corresponding to each end pose sampling point respectively according to the inverse kinematics function relationship.
- the inverse kinematics function relationship takes the terminal pose of the target part as the input, and takes the corresponding motion parameters of the drive mechanism as the output.
- the link transmission mechanism includes: a first rotating arm 4, a rocking member 1 driven by a first driving mechanism 84, a first link assembly 2 and a second rotating arm 3, and the two ends of the rocking member 1 are respectively rotatably connected to the first
- the rotating arm 4 and the first link assembly 2 , one end of the first rotating arm 4 away from the rocking member 1 , and one end of the first link assembly 2 away from the rocking member 1 are movably connected to the second rotating arm 3 .
- the first driving mechanism 84 includes: a first joint steering gear 841 , a transmission assembly 842 and a reducer 843 .
- the motion parameter of the driving mechanism is the driving angle of the first driving mechanism 84
- the terminal posture is the posture angle of the second rotating arm 3 .
- Figure 3 shows a simplified model of the link transmission mechanism, wherein A is the connection point between the first drive mechanism 84 and the rocking member 1, B is the connection point between the first link assembly 2 and the rocking member 1, and C is the first The connection point between the link assembly 2 and the second rotating arm 3, O is the connection point between the first rotating arm 4 and the second rotating arm 3, that is, the ankle joint of the robot.
- the rocking member 1 may be equivalent to a rod AB
- the first link assembly 2 may be equivalent to a rod BC.
- a Cartesian coordinate system is established with O as the coordinate origin, the x-axis points to the traveling direction of the robot, the y-axis points to the inside of the robot, and the z-axis is vertically upward.
- the two first driving mechanisms 84 control the rotation of the joint O around the x-axis and the y-axis through the same link mechanism ABCO, that is, control the rotation of the second rotating arm 3 around the x-axis and the y-axis.
- the position vectors of A, B, and C can be expressed as:
- xA is the coordinate component of point A on the x-axis
- zA is the coordinate component of point A on the z-axis
- xC is the coordinate component of point C on the x-axis
- zC is the coordinate component of point C on the z-axis
- xA0 is the coordinate component of point A on the x-axis in the initial state
- zA0 is the coordinate component of point A on the z-axis in the initial state
- xB0 is the coordinate component of point B on the x-axis in the initial state
- zB0 is the coordinate component of the initial state Coordinate component of point B on the z-axis.
- lAB is the length from point A to point B
- lBC is the length from point B to point C.
- the driving angle of the first driving mechanism 84 can be obtained by calculating the attitude angle of the joint O (that is, the attitude angle of the second rotating arm 3 ).
- the attitude angle of the joint O that is, the attitude angle of the second rotating arm 3 .
- the driving angles of the left and right first driving mechanisms 84 may be denoted as ⁇ 1 and ⁇ 2 , respectively.
- Step S104 constructing a training sample set.
- the training sample set includes a first number of training samples, and each training sample includes a set of end pose sampling points and corresponding drive mechanism motion parameters.
- Step S105 using the training sample set to train the neural network model in the initial state, and using the trained neural network model as a forward kinematics solution model.
- CNN Convolutional Neural Networks
- DCNN Deep Convolutional Neural Networks
- IGN Inverse Graphics Networks
- GAN Generative Adversarial Networks
- RNN Recurrent Neural Networks
- DNN Deep Residual Networks
- SVM Support Vector Machines
- the neural network model takes the output of inverse kinematics as the input, and the input of the inverse kinematics as the expected output.
- the neural network model can be used to process the motion parameters of the driving mechanism in the training sample to obtain the actual output terminal pose, and then according to the training sample
- the expected output end pose and the actual output end pose calculate the training loss value.
- the specific calculation method of the training loss value can be set according to the actual situation. For example, the squared error between the expected output terminal pose and the actual output terminal pose can be calculated, and the squared error can be determined as the training loss value.
- the model parameters of the neural network model can be adjusted according to the training loss value.
- the initial model parameter of the neural network model is W1
- the training loss value is back-propagated to modify the model parameter W1 of the neural network model to obtain the modified model parameter W2.
- the training loss value is recalculated, and the training loss value is back-propagated to modify the model parameter W2 of the neural network model, and the modified model parameter W3 is obtained.
- the above process is repeated continuously, and the model parameters can be modified in each training process until the preset training conditions are met. It can be set according to the actual situation.
- the training condition can be that the neural network model converges; because the number of training times may not reach the threshold of times, However, the neural network model has converged, which may lead to unnecessary repetition of work; or the neural network model still fails to converge, which may lead to an infinite loop and cannot end the training process.
- the training condition can also be that the number of training times reaches the threshold of the number of times. or neural network model convergence.
- the forward kinematics solution of the robot can be performed through the process shown in FIG. 4 .
- Step S401 acquiring the motion parameters of the driving mechanism of the target part of the robot.
- Step S402 Process the motion parameters of the driving mechanism according to the forward kinematics solution model to obtain the terminal pose of the target part.
- the motion parameters of the driving mechanism may be directly input into the forward kinematics solution model for processing, and the processed output of the forward kinematics solution model may be used as the terminal pose of the target part.
- the forward kinematics solution model can be converted into a matrix operation formula first, and then the motion parameters of the driving mechanism are substituted into the matrix operation formula for operation, and the operation result is used as the target part's calculation formula. end pose.
- the forward kinematics solution model includes an input layer, a hidden layer and an output layer.
- p is the serial number of the motion parameters of the drive mechanism, 1 ⁇ p ⁇ P, and P is the number of motion parameters of the drive mechanism, and its specific value can be set according to the actual situation.
- P The value of ⁇ p is 2
- ⁇ p is the motion parameter of the pth drive mechanism
- xp, gp, and yp are the input layer processing parameters corresponding to ⁇ p in the forward kinematics solution model.
- these parameters are Known quantities
- ap is the processing result of the input layer corresponding to ⁇ p
- AP ⁇ 1 is the processing result of the input layer
- N is the number of neurons in the hidden layer, and its specific value can be set according to the actual situation. For example, it can be set to 20 or other values, and WN ⁇ P is the first weight in the positive kinematics solution model.
- BN ⁇ 1 is the first bias matrix in the forward kinematics solution model, after the model training is completed, these parameters are all known quantities, and CN ⁇ 1 is the processing result from the input layer to the hidden layer;
- exp is the natural exponential function
- DN ⁇ 1 is the processing result of the hidden layer
- q is the parameter number of the terminal pose, 1 ⁇ q ⁇ Q
- Q is the number of parameters of the terminal pose, and its specific value can be set according to the actual situation.
- Q The value of is 2
- W′ Q ⁇ N is the second weight matrix in the forward kinematics solution model
- B′ Q ⁇ 1 is the second bias matrix in the forward kinematics solution model, after the model training is completed, these
- the parameters are all known quantities
- EQ ⁇ 1 is the processing result from the hidden layer to the output layer
- eq is the qth element in EQ ⁇ 1;
- ⁇ oq is the qth parameter of the terminal pose
- x′ q , g′ q , y′ q are the output layer processing parameters corresponding to ⁇ oq in the forward kinematics solution model, after the model training is completed, these The parameters are all known quantities
- FQ ⁇ 1 is the processing result of the output layer.
- the motion parameters of the driving mechanism of the target part of the robot are obtained; the motion parameters of the driving mechanism are processed according to the preset forward kinematics solution model to obtain the terminal pose of the target part; the The forward kinematics solution model is a neural network model trained by a preset training sample set, and the training sample set is a set constructed according to a preset inverse kinematic function relationship.
- the complex forward kinematics solution process is transformed into a relatively simple inverse kinematics solution process and a neural network model processing process, the computational complexity is reduced, the computational time consumption is shortened, and the requirements for real-time control of robots can be satisfied. need.
- FIG. 6 shows a structural diagram of an embodiment of a device for solving forward kinematics of a robot provided by an embodiment of the present application.
- a device for solving forward kinematics of a robot may include:
- a parameter acquisition module 601, configured to acquire the motion parameters of the driving mechanism of the target part of the robot
- the forward kinematics solution module 602 is configured to process the motion parameters of the driving mechanism according to a preset forward kinematics solution model to obtain the terminal pose of the target part; the forward kinematics solution model is preset by A neural network model obtained by training a set of training samples, and the set of training samples is a set constructed according to a preset inverse kinematics function relationship.
- the device for solving the forward kinematics of the robot may also include:
- an end pose range determination module used for determining the end pose range of the target part
- a sampling module used for sampling in the end pose range to obtain a first number of end pose sampling points
- an inverse kinematics calculation module used for calculating the motion parameters of the driving mechanism corresponding to each end pose sampling point according to the inverse kinematics function relationship
- a training sample set building module used to construct the training sample set;
- the training sample set includes a first number of training samples, and each training sample includes a set of terminal pose sampling points and corresponding drive mechanism motion parameters;
- a model training module configured to use the training sample set to train the neural network model in the initial state, and use the trained neural network model as the forward kinematics solution model.
- the forward kinematics solving module may include:
- the model processing unit is configured to input the motion parameters of the driving mechanism into the forward kinematics solution model for processing, and use the processed output of the forward kinematics solution model as the terminal pose of the target part.
- the forward kinematics solving module may include:
- the matrix operation unit is used for substituting the motion parameters of the driving mechanism into the matrix operation formula for operation, and using the operation result as the terminal pose of the target part.
- the target part may be a link transmission mechanism
- the link transmission mechanism may include: a first rotating arm, a rocking member driven by the first driving mechanism, a first link assembly and a second rotating arm, all of which Both ends of the rocking member are rotatably connected to the first rotating arm and the first link assembly, one end of the first rotating arm is far away from the rocking member, and the first link assembly is far away from the swinging member.
- One end of the piece is movably connected to the second rotating arm;
- the motion parameter of the driving mechanism is the driving angle of the first driving mechanism
- the terminal posture is the posture angle of the second rotating arm.
- FIG. 7 shows a schematic block diagram of a robot provided by an embodiment of the present application. For convenience of description, only parts related to the embodiment of the present application are shown.
- the robot 7 of this embodiment includes a processor 70, a memory 71, and a computer program 72 stored in the memory 71 and executable on the processor 70.
- the processor 70 executes the computer program 72
- the steps in each of the foregoing embodiments of the robot forward kinematics solution method are implemented, for example, steps S401 to S402 shown in FIG. 4 .
- the processor 70 executes the computer program 72
- the functions of the modules/units in the foregoing device embodiments are implemented, for example, the functions of the modules 601 to 602 shown in FIG. 6 .
- the computer program 72 may be divided into one or more modules/units, and the one or more modules/units are stored in the memory 71 and executed by the processor 70 to complete the this application.
- the one or more modules/units may be a series of computer program instruction segments capable of performing specific functions, and the instruction segments are used to describe the execution process of the computer program 72 in the robot 7 .
- FIG. 7 is only an example of the robot 7, and does not constitute a limitation to the robot 7. It may include more or less components than the one shown, or combine some components, or different components, such as
- the robot 7 may also include input and output devices, network access devices, buses, and the like.
- the processor 70 may be a central processing unit (Central Processing Unit, CPU), or other general-purpose processors, digital signal processors (Digital Signal Processor, DSP), application specific integrated circuit (Application Specific Integrated Circuit, ASIC), Field-Programmable Gate Array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
- a general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
- the memory 71 may be an internal storage unit of the robot 7 , such as a hard disk or a memory of the robot 7 .
- the memory 71 can also be an external storage device of the robot 7, such as a plug-in hard disk equipped on the robot 7, a smart memory card (Smart Media Card, SMC), a secure digital (Secure Digital, SD) card, Flash card (Flash Card) and so on.
- the memory 71 may also include both an internal storage unit of the robot 7 and an external storage device.
- the memory 71 is used to store the computer program and other programs and data required by the robot 7 .
- the memory 71 may also be used to temporarily store data that has been output or will be output.
- the disclosed apparatus/robot and method may be implemented in other ways.
- the device/robot embodiments described above are only illustrative.
- the division of the modules or units is only a logical function division.
- the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of devices or units, and may be in electrical, mechanical or other forms.
- the units described as separate components may or may not be physically separated, and components shown as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
- each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit.
- the above-mentioned integrated units may be implemented in the form of hardware, or may be implemented in the form of software functional units.
- the integrated modules/units if implemented in the form of software functional units and sold or used as independent products, may be stored in a computer-readable storage medium.
- the present application can implement all or part of the processes in the methods of the above embodiments, and can also be completed by instructing the relevant hardware through a computer program.
- the computer program can be stored in a computer-readable storage medium, and the computer When the program is executed by the processor, the steps of the foregoing method embodiments can be implemented.
- the computer program includes computer program code, and the computer program code may be in the form of source code, object code, executable file or some intermediate form, and the like.
- the computer-readable storage 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, Read-Only Memory) ), random access memory (RAM, Random Access Memory), electrical carrier signals, telecommunication signals, and software distribution media, etc. It should be noted that the content contained in the computer-readable storage medium may be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction, for example, in some jurisdictions, according to legislation and patent practice, computer-readable Storage media exclude electrical carrier signals and telecommunications signals.
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Chemical & Material Sciences (AREA)
- Transportation (AREA)
- Combustion & Propulsion (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Fuzzy Systems (AREA)
- Evolutionary Computation (AREA)
- Manipulator (AREA)
Abstract
一种机器人正运动学求解方法、装置、计算机可读存储介质及机器人,属于机器人技术领域。获取机器人目标部位的驱动机构运动参数;根据预设的正运动学求解模型对所述驱动机构运动参数进行处理,得到所述目标部位的末端位姿;所述正运动学求解模型为由预设的训练样本集合训练得到的神经网络模型,且所述训练样本集合为根据预设的逆运动学函数关系构建的集合,将复杂的正运动学求解过程转化为相对简单的逆运动学求解过程和神经网络模型处理过程,降低了计算复杂度,缩短了计算耗时,能够满足对机器人实时控制的需求。
Description
本申请要求于2021年03月29日在中国专利局提交的、申请号为202110334669.4的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请属于机器人技术领域,尤其涉及一种机器人正运动学求解方法、装置、计算机可读存储介质及机器人。
在双足机器人的步态控制中,需要对腿部进行运动学求解,包括正运动学和逆运动学。正运动学是指从关节角度计算末端位姿的过程,逆运动学是指从微末位姿反推关节角度的过程。正运动学主要用于估计机器人的当前姿态,以进行必要的算法补偿,保证机器人稳定性。逆运动学主要用于运动轨迹规划后的关节角度计算,以保证机器人按照规划的轨迹进行运动。对于并联机构,通过构型能够比较容易地直接推导逆运动学的解析解,但是对于正运动学,解析解推导将会得到高阶的方程组,求解难度大。因此,并联构型的正运动学一般会采用数值法计算,基于雅克比矩阵,通过牛顿-拉夫逊方法迭代逼近,但这种方式计算复杂度较高,耗时较长,难以满足对机器人实时控制的需求。
有鉴于此,本申请实施例提供了一种机器人正运动学求解方法、装置、计算机可读存储介质及机器人,以解决现有的机器人正运动学求解方法计算复杂度较高,耗时较长,难以满足对机器人实时控制的需求的问题。
本申请实施例的第一方面提供了一种机器人正运动学求解方法,可以包括:
获取机器人目标部位的驱动机构运动参数;
根据预设的正运动学求解模型对所述驱动机构运动参数进行处理,得到所述目标部位的末端位姿;所述正运动学求解模型为由预设的训练样本集合训练得到的神经网络模型,且所述训练样本集合为根据预设的逆运动学函数关系构建的集合。
进一步地,所述正运动学求解模型的训练过程,可以包括:
确定所述目标部位的末端位姿范围;
在所述末端位姿范围中进行采样,得到第一数目的末端位姿采样点;
根据所述逆运动学函数关系计算与每个末端位姿采样点分别对应的驱动机构运动参数;
构建所述训练样本集合;所述训练样本集合中包括第一数目的训练样本,每个训练样本均包括一组末端位姿采样点和对应的驱动机构运动参数;
使用所述训练样本集合对初始状态的神经网络模型进行训练,并将训练后的神经网络模型作为所述正运动学求解模型。
可选地,所述根据预设的正运动学求解模型对所述驱动机构运动参数进行处理,得到所述目标部位的末端位姿,可以包括:
将所述驱动机构运动参数输入至所述正运动学求解模型中进行处理,并将所述正运动学求解模型处理后的输出作为所述目标部位的末端位姿。
可选地,所述根据预设的正运动学求解模型对所述驱动机构运动参数进行处理,得到所述目标部位的末端位姿,可以包括:
将所述正运动学求解模型转化为矩阵运算式;
将所述驱动机构运动参数代入所述矩阵运算式中进行运算,并将运算结果作为所述目标部位的末端位姿。
进一步地,所述目标部位可以为连杆传动机构,所述连杆传动机构可以包括:第一转动臂、由第一驱动机构驱动的摇摆件、第一连杆组件及第二转动臂,所述摇摆件的两端分别转动连接于所述第一转动臂和所述第一连杆组件,所述第一转动臂远离所述摇摆件的一端、所述第一连杆组件远离所述摇摆件的一端均活动连接于所述第二转动臂;
所述驱动机构运动参数为所述第一驱动机构的驱动角度;
所述末端位姿为所述第二转动臂的姿态角。
本申请实施例的第二方面提供了一种机器人正运动学求解装置,可以包括:
参数获取模块,用于获取机器人目标部位的驱动机构运动参数;
正运动学求解模块,用于根据预设的正运动学求解模型对所述驱动机构运动参数进行处理,得到所述目标部位的末端位姿;所述正运动学求解模型为由预设的训练样本集合训练得到的神经网络模型,且所述训练样本集合为根据预设的逆运动学函数关系构建的集合。
进一步地,所述机器人正运动学求解装置还可以包括:
末端位姿范围确定模块,用于确定所述目标部位的末端位姿范围;
采样模块,用于在所述末端位姿范围中进行采样,得到第一数目的末端位姿采样点;
逆运动学计算模块,用于根据所述逆运动学函数关系计算与每个末端位姿采样点分别对应的驱动机构运动参数;
训练样本集合构建模块,用于构建所述训练样本集合;所述训练样本集合中包括第一数目的训练样本,每个训练样本均包括一组末端位姿采样点和对应的驱动机构运动参数;
模型训练模块,用于使用所述训练样本集合对初始状态的神经网络模型进行训练,并将训练后的神经网络模型作为所述正运动学求解模型。
可选地,所述正运动学求解模块可以包括:
模型处理单元,用于将所述驱动机构运动参数输入至所述正运动学求解模型中进行处理,并将所述正运动学求解模型处理后的输出作为所述目标部位的末端位姿。
可选地,所述正运动学求解模块可以包括:
模型转化单元,用于将所述正运动学求解模型转化为矩阵运算式;
矩阵运算单元,用于将所述驱动机构运动参数代入所述矩阵运算式中进行运算,并将运算结果作为所述目标部位的末端位姿。
进一步地,所述目标部位可以为连杆传动机构,所述连杆传动机构可以包括:第一转动臂、由第一驱动机构驱动的摇摆件、第一连杆组件及第二转动臂,所述摇摆件的两端分别转动连接于所述第一转动臂和所述第一连杆组件,所述第一转动臂远离所述摇摆件的一端、所述第一连杆组件远离所述摇摆件的一端均活动连接于所述第二转动臂;
所述驱动机构运动参数为所述第一驱动机构的驱动角度;
所述末端位姿为所述第二转动臂的姿态角。
本申请实施例的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种机器人正运动学求解方法的步骤。
本申请实施例的第四方面提供了一种机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一种机器人正运动学求解方法的步骤。
本申请实施例的第五方面提供了一种计算机程序产品,当计算机程序产品在机器人上运行时,使得机器人执行上述任一种机器人正运动学求解方法的步骤。
本申请实施例与现有技术相比存在的有益效果是:本申请实施例获取机器人目标部位的驱动机构运动参数;根据预设的正运动学求解模型对所述驱动机构运动参数进行处理,得到所述目标部位的末端位姿;所述正运动学求解模型为由预设的训练样本集合训练得到 的神经网络模型,且所述训练样本集合为根据预设的逆运动学函数关系构建的集合。通过本申请实施例,将复杂的正运动学求解过程转化为相对简单的逆运动学求解过程和神经网络模型处理过程,降低了计算复杂度,缩短了计算耗时,能够满足对机器人实时控制的需求。
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为正运动学求解模型的训练过程的示意流程图;
图2为连杆传动机构的示意图;
图3为连杆传动机构的简化模型示意图;
图4为本申请实施例中一种机器人正运动学求解方法的一个实施例流程图;
图5为正运动学求解模型的示意图;
图6为本申请实施例中一种机器人正运动学求解装置的一个实施例结构图;
图7为本申请实施例中一种机器人的示意框图。
为使得本申请的发明目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本申请一部分实施例,而非全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
本申请的核心思想在于将复杂的机器人正运动学求解过程转化为相对简单的逆运动学求解过程和神经网络模型处理过程。即通过逆运动学求解来生成足够数量的训练样本,以逆运动学的输出作为输入,以逆运动学的输入作为预期的输出,训练得到用于进行正运动学求解的神经网络模型,即正运动学求解模型。
如图1所示,正运动学求解模型的训练过程具体可以包括如下步骤:
步骤S101、确定机器人目标部位的末端位姿范围。
目标部位即为待进行正运动学求解的机器人部位,在具体应用中可以根据实际情况选取不同的机器人部位作为目标部位。容易理解地,对于不同的机器人部位,其末端位姿范 围也各有差异,需要根据实际情况对其进行设置。
步骤S102、在末端位姿范围中进行采样,得到第一数目的末端位姿采样点。
第一数目的具体取值可以根据实际情况进行设置,一般地,为了保证训练得到的模型的精准度,应尽量采集足够多的采样点,例如,可以将第一数目设置为10万、50万、100万等等。
在进行采样时,可以根据实际情况采取不同的采样方式,包括但不限于随机采样、均匀采样、以及权重采样等等。
其中,随机采样即为在末端位姿范围中随机地选取采样点。
均匀采样为在末端位姿范围中均匀地选取采样点。例如,若目标部位的末端共有两个运动维度,分别为绕预设的第一坐标轴转动(比如x轴)和绕预设的第二坐标轴转动(比如y轴),绕第一坐标轴转动的姿态角范围为[θ
ox-min,θ
ox-max],绕第二坐标轴转动的姿态角范围为[θ
oy-min,θ
oy-max],则可以在[θ
ox-min,θ
ox-max]范围内等间距地选取M个数值,在[θ
oy-min,θ
oy-max]范围内也等间距地选取M个数值,两者组合共可形成M2个采样点,其中,M2大于或等于第一数目。
权重采样是将整个末端位姿范围划分为若干个子范围,根据实际情况为每个子范围设置不同的权重,每个子范围内的采样点密度与其权重正相关,即权重越大,则采样点密度也越大,反之,权重越小,则采样点密度也越小。对于每个子范围而言,可以根据实际情况选择随机采样或者均匀采样的方式。
步骤S103、根据逆运动学函数关系计算与每个末端位姿采样点分别对应的驱动机构运动参数。
对于不同的目标部位,其逆运动学函数关系也各有差异,需要根据实际情况对其进行设置。该逆运动学函数关系以目标部位的末端位姿为输入,以对应的驱动机构运动参数为输出。
为了便于理解,此处以如图2所示的连杆传动机构作为目标部位为例对逆运动学分析过程进行详细说明。该连杆传动机构包括:第一转动臂4、由第一驱动机构84驱动的摇摆件1、第一连杆组件2及第二转动臂3,摇摆件1的两端分别转动连接于第一转动臂4和第一连杆组件2,第一转动臂4远离摇摆件1的一端、第一连杆组件2远离摇摆件1的一端均活动连接于第二转动臂3。优选地,第一驱动机构84包括:第一关节舵机841、传动组件842和减速器843。关于该连杆传动机构的其它具体内容可以参见申请号为202010876250.7的中国发明专利申请,此处不再赘述。对于该连杆传动机构而言,驱动机构运动参数即为第一驱动机构84的驱动角度,末端位姿即为第二转动臂3的姿态角。
图3所示为连杆传动机构的简化模型,其中,A为第一驱动机构84与摇摆件1的连接点,B为第一连杆组件2与摇摆件1的连接点,C为第一连杆组件2与第二转动臂3的连接点,O为第一转动臂4与第二转动臂3的连接点,也即机器人的踝关节。摇摆件1可以等效为杆AB,第一连杆组件2可以等效为杆BC。需要注意的是,本申请实施例中所说的连接点并非实际的物理连接点,而是模型中的虚拟连接点。
以O为坐标原点建立笛卡尔坐标系,x轴指向机器人的行进方向,y轴指向机器人内侧,z轴垂直向上。两个第一驱动机构84通过相同的连杆机构ABCO,控制关节O绕x轴和y轴的转动,也即控制第二转动臂3绕x轴和y轴的转动。在这一坐标系下,A、B、C的位置向量可以分别表示为:
其中,
为点A的位置向量,
为点B的位置向量,
为点C的位置向量,θ
ox为第二转动臂3绕x轴的姿态角,θ
oy为第二转动臂3绕y轴的姿态角,R
x(θ
ox)为绕x轴旋转θ
ox所对应的旋转矩阵,R
y(θ
oy)为绕y轴旋转θ
oy所对应的旋转矩阵,θ为第一驱动机构84的驱动角度,也即第一驱动机构84驱动摇摆件1旋转的角度,R
y(θ)为绕y轴旋转θ所对应的旋转矩阵,
为点A的初始位置向量,
为点B的初始位置向量,
为点C的初始位置向量,假设在初始状态下,摇摆件1与水平面的初始夹角为θ
0,则此时对应的A、B、C的位置向量即为初始位置向量,
基于上述表达式,可以计算得到:
其中,xA为点A在x轴上的坐标分量,zA为点A在z轴上的坐标分量,xC为点C在x轴上的坐标分量,zC为点C在z轴上的坐标分量,xA0为初始状态下点A在x轴上的坐标分量,zA0为初始状态下点A在z轴上的坐标分量,xB0为初始状态下点B在x轴上的坐标分量,zB0为初始状态下点B在z轴上的坐标分量。
由于杆AB和杆BC的长度固定,则有:
其中,lAB为点A到点B的长度,lBC为点B到点C的长度。
据此,可以推断得到其逆运动学函数关系为:
a=x
A-x
C
b=z
A-z
C
根据这一函数关系,即可以通过关节O的姿态角(也即第二转动臂3的姿态角)计算得到第一驱动机构84的驱动角度。需要注意的是,在连杆传动机构中共有两个第一驱动机构84,以上过程均已图2中左侧的第一驱动机构84为例进行说明,对于右侧的第一驱动机构84,其过程类似,此处不再赘述。为例便于区分,此处可以将左侧和右侧的第一驱动机构84的驱动角度分别记为θ
1和θ
2。
步骤S104、构建训练样本集合。
训练样本集合中包括第一数目的训练样本,每个训练样本均包括一组末端位姿采样点和对应的驱动机构运动参数。
步骤S105、使用训练样本集合对初始状态的神经网络模型进行训练,并将训练后的神经网络模型作为正运动学求解模型。
具体采用何种类型的神经网络模型可以根据实际情况进行设置,包括但不限于卷积神经网络(Convolutional Neural Networks,CNN)、深度卷积神经网络(Deep Convolutional Neural Networks,DCNN)、逆向图网络(Inverse Graphics Networks,IGN)、生成式对抗网络(Generative Adversarial Networks,GAN)、循环神经网络(Recurrent Neural Networks,RNN)、深度残差网络(Deep Residual Networks,DRN)、支持向量机(Support Vector Machines,SVM)以及其它的神经网络模型。
在本申请实施例中,神经网络模型以逆运动学的输出作为输入,以逆运动学的输入作为预期的输出。在训练的过程中,可以针对训练样本集合中的每个训练样本,使用神经网络模型对该训练样本中的驱动机构运动参数进行处理,得到实际输出的末端位姿,然后根据该训练样本中的预期输出的末端位姿和实际输出的末端位姿计算训练损失值。训练损失值的具体计算方式可以根据实际情况进行设置,例如,可以计算预期输出的末端位姿和实际输出的末端位姿之间的平方误差,并将该平方误差确定为训练损失值。
在计算得到训练损失值之后,则可以根据训练损失值对神经网络模型的模型参数进行调整。在本申请实施例中,假设神经网络模型初始的模型参数为W1,将训练损失值反向传播修改神经网络模型的模型参数W1,得到修改后的模型参数W2。修改参数之后再继续执行下一次的训练过程,在该次训练过程中,重新计算得到训练损失值,将该训练损失值反向传播修改神经网络模型的模型参数W2,得到修改后的模型参数W3,……,以此类推,不断重复以上过程,每次训练过程均可对模型参数进行修改,直至满足预设的训练条件,其中,训练条件可以是训练次数达到预设的次数阈值,次数阈值可以根据实际情况进行设置,例如,可以将其设置为数千、数万、数十万甚至更大的数值;训练条件也可以是神经网络模型收敛;由于可能出现训练次数还未达到次数阈值,但神经网络模型已经收敛,可能导致重复不必要的工作;或者神经网络模型始终无法收敛,可能导致无限循环,无法结束训练的过程,基于上述两种情况,训练条件还可以是训练次数达到次数阈值或神经网络模型收敛。当满足训练条件,即可得到已训练的正运动学求解模型。
在训练得到正运动学求解模型之后,则可以通过如图4所示的过程进行机器人正运动学求解。
步骤S401、获取机器人目标部位的驱动机构运动参数。
步骤S402、根据正运动学求解模型对驱动机构运动参数进行处理,得到目标部位的末端位姿。
在本申请实施例的一种具体实现中,可以直接将驱动机构运动参数输入至正运动学求解模型中进行处理,并将正运动学求解模型处理后的输出作为目标部位的末端位姿。
在本申请实施例的另一种具体实现中,则可以首先将正运动学求解模型转化为矩阵运算式,然后将驱动机构运动参数代入矩阵运算式中进行运算,并将运算结果作为目标部位的末端位姿。
为了便于理解,此处以如图5所示的正运动学求解模型为例对将正运动学求解模型转 化为矩阵运算式的过程进行详细说明。该正运动学求解模型包括输入层、隐含层和输出层。
将输入层的处理过程转换为如下所示的矩阵运算式:
A
P×1=[a
1a
2...a
p...a
P]
T,a
p=(θ
p+x
p)×g
p-y
p
其中,p为驱动机构运动参数的序号,1≤p≤P,P为驱动机构运动参数的个数,其具体取值可以根据实际情况进行设置,例如,在图2所对应的例子中,P的取值为2,θ
p为第p个驱动机构运动参数,xp、gp、yp分别为正运动学求解模型中与θ
p对应的输入层处理参数,在模型训练完成后,这些参数均为已知量,ap为与θ
p对应的输入层处理结果,AP×1为输入层的处理结果;
将由输入层到隐含层的处理过程转换为如下所示的矩阵运算式:
C
N×1=B
N×1+W
N×P·A
P×1
其中,N为隐含层的神经元数目,其具体取值可以根据实际情况进行设置,例如,可以将其设置为20或其它取值,WN×P为正运动学求解模型中的第一权重矩阵,BN×1为正运动学求解模型中的第一偏置矩阵,在模型训练完成后,这些参数均为已知量,CN×1为由输入层到隐含层的处理结果;
将隐含层的处理过程转换为如下所示的矩阵运算式:
其中,exp为自然指数函数,DN×1为隐含层的处理结果;
将由隐含层到输出层的处理过程转换为如下所示的矩阵运算式:
E
Q×1=B′
Q×1+W′
Q×N·D
N×1=[e
1e
2...e
q...e
Q]
T
其中,q为末端位姿的参数序号,1≤q≤Q,Q为末端位姿的参数个数,其具体取值可以根据实际情况进行设置,例如,在图2所对应的例子中,Q的取值为2,W′
Q×N为正运动学求解模型中的第二权重矩阵,B′
Q×1为正运动学求解模型中的第二偏置矩阵,在模型训练完成后,这些参数均为已知量,EQ×1为由隐含层到输出层的处理结果,eq为EQ×1中的第q个元素;
将输出层的处理过程转换为如下所示的矩阵运算式:
其中,θ
oq为末端位姿的第q个参数,x′
q、g′
q、y′
q分别为正运动学求解模型中与θ
oq对应的输出层处理参数,在模型训练完成后,这些参数均为已知量,FQ×1为输出层的处理结果。
需要注意的是,以上的转化过程仅为示例,针对不同的正运动学求解模型,可以根据 实际情况将其转化为相对应的矩阵运算式,本申请实施例对此不再赘述。
综上所述,本申请实施例获取机器人目标部位的驱动机构运动参数;根据预设的正运动学求解模型对所述驱动机构运动参数进行处理,得到所述目标部位的末端位姿;所述正运动学求解模型为由预设的训练样本集合训练得到的神经网络模型,且所述训练样本集合为根据预设的逆运动学函数关系构建的集合。通过本申请实施例,将复杂的正运动学求解过程转化为相对简单的逆运动学求解过程和神经网络模型处理过程,降低了计算复杂度,缩短了计算耗时,能够满足对机器人实时控制的需求。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述的一种机器人正运动学求解方法,图6示出了本申请实施例提供的一种机器人正运动学求解装置的一个实施例结构图。
本实施例中,一种机器人正运动学求解装置可以包括:
参数获取模块601,用于获取机器人目标部位的驱动机构运动参数;
正运动学求解模块602,用于根据预设的正运动学求解模型对所述驱动机构运动参数进行处理,得到所述目标部位的末端位姿;所述正运动学求解模型为由预设的训练样本集合训练得到的神经网络模型,且所述训练样本集合为根据预设的逆运动学函数关系构建的集合。
进一步地,所述机器人正运动学求解装置还可以包括:
末端位姿范围确定模块,用于确定所述目标部位的末端位姿范围;
采样模块,用于在所述末端位姿范围中进行采样,得到第一数目的末端位姿采样点;
逆运动学计算模块,用于根据所述逆运动学函数关系计算与每个末端位姿采样点分别对应的驱动机构运动参数;
训练样本集合构建模块,用于构建所述训练样本集合;所述训练样本集合中包括第一数目的训练样本,每个训练样本均包括一组末端位姿采样点和对应的驱动机构运动参数;
模型训练模块,用于使用所述训练样本集合对初始状态的神经网络模型进行训练,并将训练后的神经网络模型作为所述正运动学求解模型。
可选地,所述正运动学求解模块可以包括:
模型处理单元,用于将所述驱动机构运动参数输入至所述正运动学求解模型中进行处理,并将所述正运动学求解模型处理后的输出作为所述目标部位的末端位姿。
可选地,所述正运动学求解模块可以包括:
模型转化单元,用于将所述正运动学求解模型转化为矩阵运算式;
矩阵运算单元,用于将所述驱动机构运动参数代入所述矩阵运算式中进行运算,并将运算结果作为所述目标部位的末端位姿。
进一步地,所述目标部位可以为连杆传动机构,所述连杆传动机构可以包括:第一转动臂、由第一驱动机构驱动的摇摆件、第一连杆组件及第二转动臂,所述摇摆件的两端分别转动连接于所述第一转动臂和所述第一连杆组件,所述第一转动臂远离所述摇摆件的一端、所述第一连杆组件远离所述摇摆件的一端均活动连接于所述第二转动臂;
所述驱动机构运动参数为所述第一驱动机构的驱动角度;
所述末端位姿为所述第二转动臂的姿态角。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置,模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
图7示出了本申请实施例提供的一种机器人的示意框图,为了便于说明,仅示出了与本申请实施例相关的部分。
如图7所示,该实施例的机器人7包括:处理器70、存储器71以及存储在所述存储 器71中并可在所述处理器70上运行的计算机程序72。所述处理器70执行所述计算机程序72时实现上述各个机器人正运动学求解方法实施例中的步骤,例如图4所示的步骤S401至步骤S402。或者,所述处理器70执行所述计算机程序72时实现上述各装置实施例中各模块/单元的功能,例如图6所示模块601至模块602的功能。
示例性的,所述计算机程序72可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器71中,并由所述处理器70执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序72在所述机器人7中的执行过程。
本领域技术人员可以理解,图7仅仅是机器人7的示例,并不构成对机器人7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述机器人7还可以包括输入输出设备、网络接入设备、总线等。
所述处理器70可以是中央处理单元(Central Processing Unit,CPU),还可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器71可以是所述机器人7的内部存储单元,例如机器人7的硬盘或内存。所述存储器71也可以是所述机器人7的外部存储设备,例如所述机器人7上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器71还可以既包括所述机器人7的内部存储单元也包括外部存储设备。所述存储器71用于存储所述计算机程序以及所述机器人7所需的其它程序和数据。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/机器人和方法,可以通过其它的方式实现。例如,以上所描述的装置/机器人实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的 部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
- 一种机器人正运动学求解方法,其特征在于,包括:获取机器人目标部位的驱动机构运动参数;根据预设的正运动学求解模型对所述驱动机构运动参数进行处理,得到所述目标部位的末端位姿;所述正运动学求解模型为由预设的训练样本集合训练得到的神经网络模型,且所述训练样本集合为根据预设的逆运动学函数关系构建的集合。
- 根据权利要求1所述的机器人正运动学求解方法,其特征在于,所述正运动学求解模型的训练过程,包括:确定所述目标部位的末端位姿范围;在所述末端位姿范围中进行采样,得到第一数目的末端位姿采样点;根据所述逆运动学函数关系计算与每个末端位姿采样点分别对应的驱动机构运动参数;构建所述训练样本集合;所述训练样本集合中包括第一数目的训练样本,每个训练样本均包括一组末端位姿采样点和对应的驱动机构运动参数;使用所述训练样本集合对初始状态的神经网络模型进行训练,并将训练后的神经网络模型作为所述正运动学求解模型。
- 根据权利要求1所述的机器人正运动学求解方法,其特征在于,所述根据预设的正运动学求解模型对所述驱动机构运动参数进行处理,得到所述目标部位的末端位姿,包括:将所述驱动机构运动参数输入至所述正运动学求解模型中进行处理,并将所述正运动学求解模型处理后的输出作为所述目标部位的末端位姿。
- 根据权利要求1所述的机器人正运动学求解方法,其特征在于,所述根据预设的正运动学求解模型对所述驱动机构运动参数进行处理,得到所述目标部位的末端位姿,包括:将所述正运动学求解模型转化为矩阵运算式;将所述驱动机构运动参数代入所述矩阵运算式中进行运算,并将运算结果作为所述目标部位的末端位姿。
- 根据权利要求4所述的机器人正运动学求解方法,其特征在于,所述正运动学求解模型包括输入层、隐含层和输出层;所述将所述正运动学求解模型转化为矩阵运算式,包括:将所述输入层的处理过程转换为如下所示的矩阵运算式:A P×1=[a 1a 2...a p...a P] T,a p=(θ p+x p)×g p-y p其中,p为所述驱动机构运动参数的序号,1≤p≤P,P为所述驱动机构运动参数的个数,θ p为第p个驱动机构运动参数,xp、gp、yp分别为所述正运动学求解模型中与θ p对应的输入层处理参数,ap为与θ p对应的输入层处理结果,AP×1为所述输入层的处理结果;将由所述输入层到所述隐含层的处理过程转换为如下所示的矩阵运算式:C N×1=B N×1+W N×P·A P×1其中,N为所述隐含层的神经元数目,WN×P为所述正运动学求解模型中的第一权重矩阵,BN×1为所述正运动学求解模型中的第一偏置矩阵,CN×1为由所述输入层到所述隐含层的处理结果;将所述隐含层的处理过程转换为如下所示的矩阵运算式:其中,exp为自然指数函数,DN×1为所述隐含层的处理结果;将由所述隐含层到所述输出层的处理过程转换为如下所示的矩阵运算式:E Q×1=B′ Q×1+W′ Q×N·D N×1=[e 1e 2...e q...e Q] T其中,q为所述末端位姿的参数序号,1≤q≤Q,Q为所述末端位姿的参数个数,W′ Q×N为所述正运动学求解模型中的第二权重矩阵,B′ Q×1为所述正运动学求解模型中的第二偏置矩阵,EQ×1为由所述隐含层到所述输出层的处理结果,eq为EQ×1中的第q个元素;将所述输出层的处理过程转换为如下所示的矩阵运算式:其中,θ oq为所述末端位姿的第q个参数,x′ q、g′ q、y′ q分别为所述正运动学求解模型中与θ oq对应的输出层处理参数,FQ×1为所述输出层的处理结果。
- 根据权利要求1至5中任一项所述的机器人正运动学求解方法,所述目标部位为连杆传动机构,所述连杆传动机构包括:第一转动臂、由第一驱动机构驱动的摇摆件、第一连杆组件及第二转动臂,所述摇摆件的两端分别转动连接于所述第一转动臂和所述第一连杆组件,所述第一转动臂远离所述摇摆件的一端、所述第一连杆组件远离所述摇摆件的一端均活动连接于所述第二转动臂;所述驱动机构运动参数为所述第一驱动机构的驱动角度;所述末端位姿为所述第二转动臂的姿态角。
- 根据权利要求6所述的机器人正运动学求解方法,其特征在于,所述逆运动学函数关系为:a=x A-x Cb=z A-z C其中,θ ox为所述第二转动臂绕预设的x轴的姿态角,θ oy为所述第二转动臂绕预设的y 轴的姿态角,R x(θ ox)为绕所述x轴旋转θ ox所对应的旋转矩阵,R y(θ oy)为绕所述y轴旋转θ oy所对应的旋转矩阵,A为所述第一驱动机构与所述摇摆件的连接点,B为所述第一连杆组件与所述摇摆件的连接点,C为所述第一连杆组件与所述第二转动臂的连接点,xA为点A在所述x轴上的坐标分量,zA为点A在预设的z轴上的坐标分量,xC为点C在所述x轴上的坐标分量,zC为点C在所述z轴上的坐标分量,lAB为点A到点B的长度,lBC为点B到点C的长度,θ 0为所述摇摆件与水平面的初始夹角, 为点A的初始位置向量, 为点C的初始位置向量,θ为所述第一驱动机构的驱动角度。
- 一种机器人正运动学求解装置,其特征在于,包括:参数获取模块,用于获取机器人目标部位的驱动机构运动参数;正运动学求解模块,用于根据预设的正运动学求解模型对所述驱动机构运动参数进行处理,得到所述目标部位的末端位姿;所述正运动学求解模型为由预设的训练样本集合训练得到的神经网络模型,且所述训练样本集合为根据预设的逆运动学函数关系构建的集合。
- 一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的机器人正运动学求解方法的步骤。
- 一种机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的机器人正运动学求解方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18/373,991 US20240025038A1 (en) | 2021-03-29 | 2023-09-28 | Robot control method, legged robot using the same, and computer-readable storage medium |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110334669.4 | 2021-03-29 | ||
CN202110334669.4A CN112959326B (zh) | 2021-03-29 | 2021-03-29 | 机器人正运动学求解方法、装置、可读存储介质及机器人 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/373,991 Continuation US20240025038A1 (en) | 2021-03-29 | 2023-09-28 | Robot control method, legged robot using the same, and computer-readable storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022205844A1 true WO2022205844A1 (zh) | 2022-10-06 |
Family
ID=76278812
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2021/125045 WO2022205844A1 (zh) | 2021-03-29 | 2021-10-20 | 机器人正运动学求解方法、装置、可读存储介质及机器人 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240025038A1 (zh) |
CN (1) | CN112959326B (zh) |
WO (1) | WO2022205844A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112959326B (zh) * | 2021-03-29 | 2022-06-07 | 深圳市优必选科技股份有限公司 | 机器人正运动学求解方法、装置、可读存储介质及机器人 |
CN113618730B (zh) * | 2021-07-20 | 2022-09-16 | 深圳市优必选科技股份有限公司 | 一种机器人运动分析方法、装置、可读存储介质及机器人 |
CN116400813B (zh) * | 2023-06-08 | 2023-09-26 | 之江实验室 | 一种训练样本的生成方法、装置、存储介质及电子设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140188273A1 (en) * | 2012-12-31 | 2014-07-03 | King Fahd University Of Petroleum And Minerals | Control method for mobile parallel manipulators |
CN104965517A (zh) * | 2015-07-07 | 2015-10-07 | 张耀伦 | 一种机器人笛卡尔空间轨迹的规划方法 |
CN106914897A (zh) * | 2017-03-31 | 2017-07-04 | 长安大学 | 基于rbf神经网络的机械手运动学逆解方法 |
CN108115681A (zh) * | 2017-11-14 | 2018-06-05 | 深圳先进技术研究院 | 机器人的模仿学习方法、装置、机器人及存储介质 |
CN110000787A (zh) * | 2019-04-12 | 2019-07-12 | 清华大学深圳研究生院 | 一种超冗余机械臂的控制方法 |
CN111203890A (zh) * | 2020-02-28 | 2020-05-29 | 中国科学技术大学 | 一种机器人的位置误差补偿方法 |
CN112347409A (zh) * | 2020-09-30 | 2021-02-09 | 北京工业大学 | 一种基于遗传算法优化bp神经网络的冗余机械臂求逆解的方法 |
CN112428274A (zh) * | 2020-11-17 | 2021-03-02 | 张耀伦 | 一种多自由度机器人的空间运动规划方法 |
CN112959326A (zh) * | 2021-03-29 | 2021-06-15 | 深圳市优必选科技股份有限公司 | 机器人正运动学求解方法、装置、可读存储介质及机器人 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3523325B2 (ja) * | 1993-10-29 | 2004-04-26 | 株式会社リコー | ニューラルネットワーク及びこれを用いた信号処理装置、自律システム、自律型ロボット並びに移動システム |
US8014896B2 (en) * | 2004-12-14 | 2011-09-06 | Honda Motor Co., Ltd. | Legged mobile robot and control program |
US8864846B2 (en) * | 2005-03-31 | 2014-10-21 | Massachusetts Institute Of Technology | Model-based neuromechanical controller for a robotic leg |
CN101520857B (zh) * | 2009-03-31 | 2012-05-23 | 天津大学 | 一种基于神经网络的永磁球形电动机逆运动学求解方法 |
EP2705935A1 (en) * | 2012-09-11 | 2014-03-12 | Hexagon Technology Center GmbH | Coordinate measuring machine |
CN102968665B (zh) * | 2012-12-05 | 2015-11-25 | 苏州大学 | 并联机器人的正运动学求解方法 |
CN103538067B (zh) * | 2013-10-08 | 2015-08-19 | 南京航空航天大学 | 一种基于四元数的快速求解Stewart并联机构的运动学正解方法 |
CN104390612B (zh) * | 2014-07-08 | 2017-03-08 | 西安电子科技大学 | 用于Stewart平台构型的六自由度并联机器人基准位姿标定方法 |
CN106041895A (zh) * | 2016-07-25 | 2016-10-26 | 华南理工大学 | 一种三自由度平面柔性并联平台装置及控制方法 |
CN108334114A (zh) * | 2017-12-29 | 2018-07-27 | 舒天艺 | 基于运动学正解的三自由度并联机构的姿态角控制方法 |
CN109093626B (zh) * | 2018-09-28 | 2020-10-30 | 中科新松有限公司 | 四足机器人的机身姿态控制方法及装置 |
CN111367567B (zh) * | 2018-12-25 | 2023-03-07 | 上海寒武纪信息科技有限公司 | 一种神经网络计算装置和方法 |
CN110489707B (zh) * | 2019-08-22 | 2023-08-25 | 苏州科技大学 | 一种基于gan网络的机器人逆运动学求解方法 |
CN111256965B (zh) * | 2020-01-20 | 2022-03-11 | 郑州轻工业大学 | 多尺度信息融合的堆叠稀疏自编码旋转机械故障诊断方法 |
CN112208667B (zh) * | 2020-08-25 | 2022-04-15 | 深圳市优必选科技股份有限公司 | 连杆传动机构及机器人 |
CN112428267B (zh) * | 2020-11-09 | 2022-07-22 | 西安工程大学 | 一种快速求解冗余自由度机器人逆解的方法 |
-
2021
- 2021-03-29 CN CN202110334669.4A patent/CN112959326B/zh active Active
- 2021-10-20 WO PCT/CN2021/125045 patent/WO2022205844A1/zh active Application Filing
-
2023
- 2023-09-28 US US18/373,991 patent/US20240025038A1/en active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140188273A1 (en) * | 2012-12-31 | 2014-07-03 | King Fahd University Of Petroleum And Minerals | Control method for mobile parallel manipulators |
CN104965517A (zh) * | 2015-07-07 | 2015-10-07 | 张耀伦 | 一种机器人笛卡尔空间轨迹的规划方法 |
CN106914897A (zh) * | 2017-03-31 | 2017-07-04 | 长安大学 | 基于rbf神经网络的机械手运动学逆解方法 |
CN108115681A (zh) * | 2017-11-14 | 2018-06-05 | 深圳先进技术研究院 | 机器人的模仿学习方法、装置、机器人及存储介质 |
CN110000787A (zh) * | 2019-04-12 | 2019-07-12 | 清华大学深圳研究生院 | 一种超冗余机械臂的控制方法 |
CN111203890A (zh) * | 2020-02-28 | 2020-05-29 | 中国科学技术大学 | 一种机器人的位置误差补偿方法 |
CN112347409A (zh) * | 2020-09-30 | 2021-02-09 | 北京工业大学 | 一种基于遗传算法优化bp神经网络的冗余机械臂求逆解的方法 |
CN112428274A (zh) * | 2020-11-17 | 2021-03-02 | 张耀伦 | 一种多自由度机器人的空间运动规划方法 |
CN112959326A (zh) * | 2021-03-29 | 2021-06-15 | 深圳市优必选科技股份有限公司 | 机器人正运动学求解方法、装置、可读存储介质及机器人 |
Also Published As
Publication number | Publication date |
---|---|
CN112959326B (zh) | 2022-06-07 |
US20240025038A1 (en) | 2024-01-25 |
CN112959326A (zh) | 2021-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022205844A1 (zh) | 机器人正运动学求解方法、装置、可读存储介质及机器人 | |
WO2020168770A1 (zh) | 物体位姿估计方法及装置 | |
WO2018107851A1 (zh) | 冗余机械臂的控制方法及装置 | |
CN109676606B (zh) | 一种计算机械臂臂角范围的方法、机械臂及机器人 | |
CN109344477B (zh) | 一种6自由度机械臂逆运动学求解方法 | |
Liu et al. | A multitasking-oriented robot arm motion planning scheme based on deep reinforcement learning and twin synchro-control | |
CN108427282A (zh) | 一种基于示教学习的机器人逆运动学求解方法 | |
WO2020093253A1 (zh) | 机器人的运动控制方法、控制系统和存储装置 | |
CN113043278B (zh) | 一种基于改进型鲸鱼搜索方法的机械臂轨迹规划方法 | |
CN114523477A (zh) | 关节位姿的校准方法、系统及存储介质 | |
CN115446867A (zh) | 一种基于数字孪生技术的工业机械臂控制方法及系统 | |
Zhao et al. | A learning-based multiscale modelling approach to real-time serial manipulator kinematics simulation | |
CN113843802B (zh) | 一种基于深度强化学习td3算法的机械臂运动控制方法 | |
CN117428791B (zh) | 一种用于肩部四轴康复机器人的逆运动学求解方法及系统 | |
CN114943182A (zh) | 基于图神经网络的机器人线缆形状控制方法及设备 | |
CN118106970A (zh) | 一种基于神经网络的机械臂自主抓取方法及系统 | |
CN117601120A (zh) | 自适应变阻抗控制方法和装置、电子设备及存储介质 | |
Li et al. | Using goal-conditioned reinforcement learning with deep imitation to control robot arm in flexible flat cable assembly task | |
CN117503357A (zh) | 手术机器人的关节运动控制方法及系统 | |
CN111890364A (zh) | 机器人的运动控制方法、装置、电子设备及存储介质 | |
CN116909274A (zh) | 一种机器人自主人机避碰方法及系统 | |
CN113033065B (zh) | 一种两关节绳驱连续型机械臂逆运动学求解方法 | |
CN114536351A (zh) | 冗余双臂机器人示教方法、装置、电子设备及系统 | |
CN113910221A (zh) | 一种机械臂自主运动规划方法、装置、设备及存储介质 | |
CN112380655A (zh) | 一种基于rs-cmsa算法的机器人逆运动学求解方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21934480 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21934480 Country of ref document: EP Kind code of ref document: A1 |