Method for robot to make object perform rotational motion and robot
Through virtual joint model and dynamic analysis, the robot realizes the rotational motion and motion trajectory determination of the object under non-fixed connections, solving the problem of difficulty in rotation in the prior art and improving motion flexibility and control accuracy.
Patent Information
- Application Number
- CN202111098774.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-09-18
- Publication Date
- 2024-12-20
- Estimated Expiration
- 2041-09-18
AI Technical Summary
In the prior art, it is difficult for a robot to rotate the object around the operation part when the operation part is not fixedly connected to the object, and it is difficult to determine the movement trajectory of the operation part and the object.
Through the non-fixed virtual joint model, dynamic analysis and flip instructions are used to determine the driving force and motion trajectory of the operating part to realize the rotational movement of the object. The virtual second-order inverted pendulum model is used to simulate the contact force between the operating part and the object and Support force ensures that the object remains in contact on the side of the operating part.
Under non-fixed connection conditions, the robot can rotate the object according to the flip command, and determine the movement trajectory of the operating part and the object, thereby improving the flexibility of the rotational movement and control accuracy.
Smart Images

Figure CN115837668B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of robots, and more particularly, to a method for a robot to make an object perform rotational motion and a robot capable of executing the method. Background Art
[0002] With the continuous development of technology in the field of robotics, various types of robots such as industrial robots and service robots have been increasingly used in various technical fields, such as smart agriculture, smart factories, and smart warehousing. In the above fields, with the help of appropriate operating parts of the robot (such as a robotic arm with a mechanical gripper at the end), it is possible to perform desired operations on various objects in the above fields (for example, workpieces to be transported in smart factories; goods in the fields of smart logistics and smart warehousing, etc.), such as obtaining, moving, and placing the operation objects, so as to significantly improve the degree of automation and reduce human resource costs.
[0003] Generally, the robot's operation on an object can be divided into fixed operation and non-fixed operation. Here, the expression "fixed" means that the robot's operating part has established a firm fixed connection with the object. An operation in which the operating part has established a firm fixed connection with the object is a fixed operation, and vice versa, such as pushing, pulling, dragging, sliding and hitting the object without establishing a fixed connection. For example, operations such as acquiring an object with the help of an operating part having an acquisition part such as a mechanical gripper, a controllable adsorption part, etc. that can establish a fixed connection with the object belong to fixed operations; and a humanoid robot that imitates human sports, such as basketball, does not use fingers to fix the basketball but only uses the support and friction between the hand and the basketball to place the basketball in the palm and perform corresponding rotational movements, such as rotating the ball from the palm to the back of the hand, which belongs to non-fixed operations.
[0004] In the prior art, there are methods for the robot to rotate an object when the operating part of the robot is in fixed contact with the object to be operated. However, for the case where the operating part of the robot is not in fixed contact with the object to be operated, that is, for example, for the case where the operating part of the robot is not fixedly connected or in contact with the object to be operated in a fixed connection manner such as grasping or sucking, no robot has been disclosed that can make the non-fixedly connected object to be operated move around its operating part while always keeping contact with its operating part, that is, for example, a method for supporting the non-fixedly connected object to be operated from one side of its operating part to the other side while always keeping contact with its operating part.
[0005] Therefore, there is a need for a method in which a robot causes an object to rotate when an operating part is not fixedly connected to the object, a method for determining the motion trajectory of the robot's operating part and the object when the operating part is not fixedly connected to the object, and a robot capable of executing the above method. Summary of the invention
[0006] Therefore, the present disclosure provides a method for a robot to make an object perform a rotational motion, wherein an operating part of the robot is in non-fixed contact with the object to be operated, and the method enables the robot to make the object perform a rotational motion in accordance with a flipping instruction according to the flipping instruction.
[0007] In addition, the present disclosure also provides a method for determining the motion trajectory of an operating part of a robot and an object, wherein the operating part of the robot is in non-fixed contact with the object to be operated, and the method enables the robot to determine the motion trajectory of the operating part and the object.
[0008] In addition, the present disclosure also provides a robot, wherein the operating part of the robot is in non-fixed contact with the object to be operated, and it is capable of executing the above method, so that it can make the object perform a rotational movement specified by the flipping instruction according to the flipping instruction, or it can determine the movement trajectory of the operating part and the object according to the driving force of the operating part.
[0009] The first aspect of the present disclosure relates to a method for a robot to make an object perform a rotational motion, the robot having an operating part, the operating part being in non-fixed contact with the object, the method comprising: receiving a flipping instruction; determining a driving force of the operating part based on the flipping instruction; and driving the operating part to move with the determined driving force, and causing the object to perform a rotational motion relative to the operating part through the motion. Here, the motion performed by the operating part may include a translational motion of the operating part in space, a rotational motion (e.g., a rotational motion around a joint connected thereto), or a combination of a translational motion and a rotational motion.
[0010] According to an embodiment of the present disclosure, the rotational motion that the robot causes the object to perform may include a variety of different rotational motions.
[0011] According to a more detailed embodiment of the method of causing an object to perform rotational motion by a robot disclosed in the present invention, the rotational motion performed by the robot may be a so-called "hand-flipping motion", that is, during the rotational motion of the object relative to the operating part, the operating part is driven to move with a determined driving force, so that the object non-fixedly supported on the first side surface of the operating part is supported on the second side surface of the operating part via the transition surface while maintaining contact with the transition surface between the first side surface of the operating part and the second side surface of the operating part.
[0012] According to a more detailed embodiment of the method for a robot to make an object perform rotational motion according to the present disclosure, the rotational motion performed by the robot can also be a so-called "flat plate grasping motion", that is, the operating part is driven to move with a determined driving force, so that the object in non-fixed contact with the end of the operating part maintains contact with the contact part of the object and the operating part, and performs a rotational motion toward the operating part around the contact part until the object is supported on the side of the operating part.
[0013] Therefore, in the case where the operating part is in non-fixed contact with the object, the contact part between the operating part and the object is regarded as a virtual connection point, and the robot determines the driving force of the operating part for realizing the rotational movement according to the received flipping instruction, so that when the operating part is in non-fixed contact with the object, the robot can make the object perform a rotational movement that complies with the flipping instruction, such as the so-called "flipping movement" or "tablet grasping movement" specified by the flipping instruction according to the flipping instruction.
[0014] According to a more detailed embodiment of the method for a robot to make an object perform rotational motion, the flip instruction includes motion trajectory information, spatial dimension information, and mass information, wherein the motion trajectory information indicates the desired motion trajectory of the operating part and the object during the rotational motion, the spatial dimension information indicates the spatial dimensions of the operating part and the object, and the mass information indicates the mass or moment of inertia of the operating part and the object. Thus, the robot can use dynamic analysis to determine the driving force of the operating part used to achieve the rotational motion with the help of the above-mentioned motion trajectory information, spatial dimension information, and mass information.
[0015] According to another optional design scheme of the method for the robot to make an object perform rotational motion in the present disclosure, instead of the robot itself performing dynamic analysis with the help of the above-mentioned motion trajectory information, spatial dimension information and mass information, a computing device arranged outside the robot can perform dynamic analysis, and send the result of the dynamic analysis, that is, the operating part driving force parameters corresponding to different moments in the rotational motion, as a flipping instruction to the robot. Thus, the flipping instruction directly includes the operating part driving force parameters corresponding to different moments in the rotational motion. The robot can make the object perform the desired rotational motion according to the operating part driving force parameters.
[0016] According to an embodiment of the present disclosure, in a method in which a robot causes an object to perform rotational motion, the driving force of the operating part is determined based on a dynamic model corresponding to a combination of the operating part and the object and a set of constraint equations, and the set of constraint equations is associated with an initial target state and a final target state of rotation of the operating part and the object.
[0017] Here, the dynamic model corresponding to the combination of the operating part and the object is a group of equations that characterizes the relationship between the driving force of the operating part used to realize the rotational motion and the rotational motion. Here, the dynamic equation corresponding to the combination of the operating part and the object can be determined by the Lagrangian functional balance method, that is, first, the total kinetic energy and total potential energy corresponding to the combination of the operating part and the object can be determined, and the total kinetic energy and total potential energy can be determined with the help of the above-mentioned motion trajectory information, spatial size information and mass information; then, the Lagrangian function corresponding to the combination of the operating part and the object can be established, and the above-mentioned Lagrangian function can be derived to obtain the group of dynamic equations corresponding to the combination of the operating part and the object. According to another optional design scheme of the method for the robot to make the object perform rotational motion disclosed in the present invention, the above-mentioned group of dynamic equations can also be determined using the Newton-Euler dynamic balance method, the Kane method, etc.
[0018] In addition, in order to determine the driving force of the operating part based on the flip instruction, that is, to solve the group of dynamic equations corresponding to the combination of the operating part and the object, a group of constraint equations must be determined. The group of constraint equations is associated with the initial target state of rotation and the final target state of rotation of the operating part and the object, that is, the initial and final positions and initial and final velocities of the operating part and the object. In addition, in order to constrain the position and velocity of the operating part and the object during the rotational motion, the group of constraint equations may also include boundary constraint equations, which are used to constrain the upper and lower limits of the position and velocity of the operating part and the object.
[0019] According to the embodiments of the present disclosure, since no fixed connection is established between the operating part and the object, relative movement may occur between the operating part and the object and the object may even fall off the operating part. Therefore, it is also necessary to constrain the friction between the operating part and the object and the supporting force of the operating part on the object so as to simulate the non-fixed connection between the operating part and the object as a "virtual joint" that will not experience relative movement or fall off.
[0020] Therefore, according to a more detailed embodiment of the method for a robot to make an object perform rotational motion according to the present disclosure, the set of constraint equations further includes a constraint equation for the contact force between the operating part and the object, which is configured to constrain the contact force within a friction cone range. Within the friction cone range, relative sliding does not occur between the operating part and the object, so that the non-fixed connection between the operating part and the object can be simulated as a so-called "virtual joint".
[0021] In addition, in the so-called "flat gripping motion", it is also necessary to ensure that the operating part always supports the object. Therefore, according to a more detailed implementation of the method of the robot causing the object to perform rotational motion, the constraint equation also needs to be configured to constrain the supporting force of the operating part on the object within a positive range. Thus, the operating part always provides an upward supporting force on the object, that is, always supports the object.
[0022] As described above, due to the constraints of the above-mentioned set of constraint equations regarding the contact force between the operating part and the object and the supporting force of the operating part on the object, the non-fixed connection between the operating part and the object can be simulated as a so-called "virtual joint". Therefore, further herein, according to an embodiment of the present disclosure, in a method in which a robot causes an object to perform rotational motion, the dynamic model corresponds to a virtual second-order inverted pendulum model, and the virtual second-order inverted pendulum model includes: a first virtual link, the first link being equivalent to the part of the operating part from its own rotation position to the non-fixed contact with the object; a second virtual link, the second virtual link being equivalent to the object; a virtual bottom, the virtual bottom being equivalent to the remaining part of the operating part that is not equivalent to the first virtual link; a first virtual joint, the first virtual joint being used to simulate the rotation of the first virtual link around its own rotation position, the first virtual joint connecting the first virtual link to the virtual bottom; and a second virtual joint, the second virtual joint being equivalent to the virtual connection between the operating part and the object by means of contact force, the second virtual joint virtually connecting the first virtual link to the second virtual link.
[0023] Thus, as described above, firstly, the kinetic energy and potential energy of the first virtual connecting rod, the second virtual connecting rod and the virtual bottom can be determined respectively by means of the above-mentioned motion trajectory information, spatial dimension information and mass information to determine the total kinetic energy and total potential energy; then, a Lagrangian function can be established, and by deriving the above-mentioned Lagrangian function, a set of equations for characterizing the relationship between the driving force and driving torque of the first virtual connecting rod, the second virtual connecting rod and the virtual bottom and their motion trajectory can be obtained, that is, the dynamic equations of the virtual second-order inverted pendulum model can be obtained. Based on the dynamic equations of the virtual second-order inverted pendulum model, for example, the subsequent control of the rotational motion by means of a PID control strategy can be conveniently realized.
[0024] As described above, if Lagrangian mechanics is used to analyze dynamic problems, the kinetic energy and potential energy of the first virtual link, the second virtual link and the virtual bottom need to be determined with the help of the above-mentioned motion trajectory information, spatial dimension information and mass information.
[0025] Therefore, further herein, according to an embodiment of the present disclosure, when using a virtual second-order inverted pendulum model, the motion trajectory information of the operating part includes: spatial position information of the first virtual link, translational motion speed information of the first virtual link, translational motion acceleration information of the first virtual link, rotational motion speed information of the first virtual link around the first virtual joint, and rotational motion acceleration information of the first virtual link around the first virtual joint; and the object motion trajectory information includes: spatial position information of the second virtual link, rotational motion speed information of the second virtual link around the second virtual joint, and rotational motion acceleration information of the second virtual link around the second virtual joint.
[0026] Furthermore, according to an embodiment of the present disclosure, when using a virtual second-order inverted pendulum model, the spatial dimension information includes: length information of the first virtual link, length information of the second virtual link, distance information from the center of the first virtual link to the virtual bottom, distance information from the center of mass of the second virtual link to the virtual bottom, distance information from the center of mass of the first virtual link to the first virtual joint, and distance from the center of mass of the second virtual link to the second virtual joint, and according to an embodiment of the present disclosure, when using a virtual second-order inverted pendulum model, the mass information includes: the mass of the virtual bottom, the mass of the first virtual link, the moment of inertia of the first virtual link, the mass of the second virtual link, and the moment of inertia of the second virtual link.
[0027] Therefore, with the aid of the above-mentioned motion trajectory information, spatial dimension information and mass information, the kinetic energy and potential energy of the first virtual connecting rod, the second virtual connecting rod and the virtual bottom can be determined, and the dynamic equation group of the virtual second-order inverted pendulum model can be established.
[0028] After establishing the dynamic equations of the virtual second-order inverted pendulum model, it is necessary to determine the driving force of the operating part based on the flipping instruction. Therefore, according to an embodiment of the present disclosure, the driving force and driving torque of the operating part required to achieve the desired rotational motion can be determined based on a continuous optimal control problem, or the dynamic model can be linearized based on linear quadratic programming to determine the driving force and driving torque of the operating part required to achieve the desired rotational motion. Thus, it is possible to more simply and conveniently perform dynamic analysis on the dynamic equations of the virtual second-order inverted pendulum model, so as to facilitate the subsequent control of the rotational motion, for example, by means of a PID control strategy.
[0029] Based on the dynamic equation group of the virtual second-order inverted pendulum model, on the one hand, as described above, the driving force of the operating part can be determined based on the flipping instruction, that is, the so-called inverse dynamic problem can be solved. On the other hand, it is also possible to determine the motion trajectory of the operating part and the object based on the input driving force of the operating part, that is, to solve the so-called direct dynamic problem.
[0030] Therefore, the second aspect of the present disclosure relates to a method for determining the motion trajectory of an operating part of a robot and an object, wherein the operating part is in non-fixed contact with the object, and the movement of the operating part causes the object to perform a rotational motion relative to the operating part. The method comprises: based on a dynamic model and a group of constraint equations corresponding to a combination of the object and the operating part, and according to the driving force of the operating part, a convex programming method is used to determine the motion trajectory of the operating part and the object, wherein the dynamic model is equivalent to a virtual second-order inverted pendulum model, and the group of constraint equations includes constraint equations regarding the contact force between the operating part and the object, which are configured to constrain the contact force within a friction cone range, or are also configured to constrain the supporting force of the operating part on the object within a positive value range.
[0031] Thus, by using the virtual second-order inverted pendulum model as described above and the constraint on the contact force between the operating part and the object, it is possible to determine the motion trajectory of the operating part and the object based on the input driving force of the operating part.
[0032] As described above, according to the embodiments of the present disclosure, the rotational motion that the robot causes the object to perform may also include a variety of different rotational motions.
[0033] According to a more detailed embodiment of the method for determining the motion trajectory of the robot's operating part and the object disclosed in the present invention, the rotational movement performed by the robot can be a so-called "hand-flipping movement", that is, during the rotational movement of the object relative to the operating part, the operating part is driven to move with a determined driving force, so that the object non-fixedly supported on the first side surface of the operating part is supported on the second side surface of the operating part via the transition surface between the first side surface of the operating part and the second side surface of the operating part.
[0034] According to a more detailed implementation of the method for determining the motion trajectory of the robot's operating part and the object disclosed in the present invention, the rotational motion performed by the robot can also be a so-called "flat gripping motion", that is, the operating part is driven to move with the determined driving force, so that the object in non-fixed contact with the end of the operating part makes a rotational motion toward the operating part around the contact part between the object and the operating part until the object is supported on the side of the operating part.
[0035] The third aspect of the present disclosure relates to a robot, comprising: an operating part, which applies a supporting force and a friction force to an object so that the object moves relative to the operating part; and a controller, which is used to control the movement of the operating part, the controller being disposed on the robot and configured to execute the method of causing the object to perform rotational motion by the robot as described in the first aspect of the present disclosure and the method of determining the motion trajectory of the robot's operating part and the object as described in the second aspect of the present disclosure.
[0036] In summary, the present disclosure provides a method for a robot to make an object perform a rotational motion, wherein the contact force between an operating part of the robot and the object to be operated is constrained, so that a dynamic model corresponding to a virtual second-order inverted pendulum model can be used to make the object perform a rotational motion in accordance with a flipping instruction when the operating part and the object are in non-fixed contact according to a flipping instruction.
[0037] In addition, the present disclosure provides a method for determining the motion trajectory of an operating part of a robot and an object. As described above, by constraining the contact force between the operating part of the robot and the object to be operated, a dynamic model corresponding to a virtual second-order inverted pendulum model can be used to determine the motion trajectory of the operating part and the object based on the input driving force of the operating part when the operating part and the object are in non-fixed contact.
[0038] In addition, the present disclosure provides a robot, as described above, by constraining the contact force between the robot's operating part and the object to be operated, so that the robot can make the object perform a rotational movement specified by the flipping instruction according to the flipping instruction when the operating part and the object are in non-fixed contact, and determine the movement trajectory of the operating part and the object based on the input driving force of the operating part. BRIEF DESCRIPTION OF THE DRAWINGS
[0039] In order to more clearly illustrate the technical solutions of the embodiments of the present disclosure, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some exemplary embodiments of the present disclosure, and a person of ordinary skill in the art can obtain other drawings based on these drawings without creative work.
[0040] Herein, in the accompanying drawings:
[0041] Figure 1 A schematic flow chart showing a method for a robot to make an object perform rotational motion according to the present disclosure is shown;
[0042] Figure 2 A schematic diagram showing a non-fixed contact between an operating part of a robot and an object;
[0043] Figure 3A A schematic diagram showing a rotational motion "hand flip motion" that can be achieved in the method according to the present disclosure is shown;
[0044] Figure 3B The various states of the rotational motion during the "hand flipping motion" are shown in FIG.
[0045] Figure 4A A schematic diagram showing another rotational motion "flat plate grabbing motion" that can be achieved in the method according to the present disclosure is shown;
[0046] Figure 4B The various states of rotational motion during the "flat plate grabbing motion" are shown;
[0047] Figure 5 shows a force analysis diagram of the operating part and the object during rotational motion;
[0048] Figure 6 A virtual second-order inverted pendulum model for describing an operating part and an object according to the present disclosure is shown;
[0049] Figure 7 A schematic diagram for describing various parameters of a virtual second-order inverted pendulum model is shown;
[0050] Figure 8 A schematic flow chart of a method for determining a motion trajectory of an operating part of a robot according to the present disclosure is shown;
[0051] Fig. 9 A schematic block diagram of a robot according to the present disclosure is shown. DETAILED DESCRIPTION
[0052] In order to make the purpose, technical solution and advantages of the present disclosure more obvious, the exemplary embodiments according to the present disclosure will be described in detail with reference to the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present disclosure, rather than all the embodiments of the present disclosure, and it should be understood that the present disclosure is not limited to the exemplary embodiments described here.
[0053] Furthermore, in the present specification and the drawings, steps and elements having substantially the same or similar features are denoted by the same or similar reference numerals, and repeated description of these steps and elements will be omitted.
[0054] In addition, in this specification and the accompanying drawings, elements are described in singular or plural form, depending on the embodiment. However, the singular and plural forms are appropriately selected for the proposed situation only for the convenience of explanation and are not intended to limit the present disclosure thereto. Therefore, the singular form may include the plural form, and the plural form may also include the singular form, unless the context clearly indicates otherwise.
[0055] In addition, in this specification and the drawings, the terms "first\second" involved are merely used to distinguish similar objects and do not represent a specific ordering of the objects. It is understandable that "first\second" can be interchanged with a specific order or sequence where permitted, so that the embodiments of the present invention described herein can be implemented in an order other than that illustrated or described herein.
[0056] In addition, in this specification and the drawings, the terms "upper", "lower", "vertical", "horizontal", etc., which are used to refer to orientation or positional relationships, are only used to facilitate description of the embodiments according to the present disclosure, and are not intended to limit the present disclosure thereto. Therefore, they should not be understood as limiting the present disclosure.
[0057] Furthermore, in this specification and the drawings, unless expressly stated otherwise, “connection” does not necessarily mean “direct connection” or “direct contact”; here, “connection” may refer to both a fixed function and electrical connectivity.
[0058] In addition, in this specification and the accompanying drawings, unless otherwise explicitly stated, "motion trajectory" is not just the displacement or trajectory of an object. Here, as commonly used in robot dynamics, "motion trajectory" not only refers to the displacement of an object or the angle in space, but also refers to the speed, acceleration, angular velocity, and angular acceleration of the object.
[0059] In addition, in this specification and the accompanying drawings, unless otherwise explicitly stated, "driving force" should be understood in a broad sense, that is, "driving force" does not necessarily mean "force". For the specific driving object of the "driving force", "driving force" can refer to force in a narrow sense, or "driving moment" or "driving torque" (for example, for joints).
[0060] As an example, the present disclosure can be applied to the field of intelligent sensors combined with artificial intelligence (AI). Among them, artificial intelligence is the theory, method, technology and application system that uses digital computers or machines controlled by digital computers to simulate, extend and expand human intelligence, perceive the environment, acquire knowledge and use knowledge to obtain the best results. In other words, artificial intelligence is a comprehensive technology in computer science that attempts to understand the essence of intelligence and produce a new intelligent machine that can respond in a similar way to human intelligence. Artificial intelligence is to study the design principles and implementation methods of various intelligent machines so that the machines have the functions of perception, reasoning and decision-making.
[0061] Artificial intelligence technology is a comprehensive discipline that covers a wide range of fields, including both hardware-level and software-level technologies. The basic technologies of artificial intelligence generally include sensors, dedicated artificial intelligence chips, cloud computing, distributed storage, big data processing technology, operation / interaction systems, mechatronics and other technologies. Artificial intelligence software technology mainly includes computer vision technology, speech processing technology, natural language processing technology, and machine learning / deep learning.
[0062] At present, with the research and progress of artificial intelligence technology, artificial intelligence technology has been studied and applied in many fields, such as common smart homes, smart wearable devices, virtual assistants, smart speakers, smart marketing, unmanned driving, automatic driving, drones, robots, smart medical care, smart customer service, etc. At present, using the perception, reasoning and decision-making functions of artificial intelligence, artificial intelligence has been combined with various types of robots and applied to various fields such as smart agriculture, smart factories and smart warehousing, so as to replace manual labor to perform the desired operations on various objects in the above fields (such as rotating the objects) and significantly improve the degree of automation in the above fields and reduce human resource costs.
[0063] For fixed operation, since there is no relative movement between the object and the operating part after the fixed connection is established, in the prior art, it is convenient to establish a dynamic model for the operating part and the object, and analyze the dynamic model using the Lagrange functional equilibrium method, etc., to facilitate the subsequent accurate control of the motion trajectory of the operating part and the object or determine the driving force or driving torque applied to the operating part required to achieve the desired movement, especially the rotational movement of the object relative to the operating part.
[0064] For non-fixed operation, since there is no fixed connection between the operating part and the object, relative movement may occur between the operating part and the object, and the object may even fall off the operating part. It is difficult to control the motion trajectory of the non-fixed operating part and the object, or to determine the driving force or driving torque applied to the operating part to achieve the desired motion, especially the rotational motion of the object relative to the operating part. Therefore, no method for determining the motion trajectory of the operating part and the object of the robot under the condition of ensuring that the operating part and the object always maintain contact when the operating part and the object are in non-fixed contact has been disclosed in the prior art.
[0065] Therefore, according to a first aspect of the present disclosure, a method 100 for a robot to make an object perform rotational motion is provided. Figure 1 A schematic flow chart of a method 100 for a robot to make an object perform rotational motion according to the present disclosure is shown. Figure 22 shows a schematic diagram of a non-fixed contact between the robot's operating part and an object. For the sake of clarity, only the robot's operating part 210 and the object 220 to be operated are shown here. Figure 1 and Figure 2 Discussed together.
[0066] According to an embodiment of the present disclosure, in a method for a robot to make an object perform a rotational motion, the robot has an operating part 210, and the operating part 210 is in non-fixed contact with the object 220, and the method includes: receiving a flip instruction S110; determining a driving force of the operating part based on the flip instruction S120; and driving the operating part 210 to move with the determined driving force, and through the movement, the object performs a rotational motion relative to the operating part S130. Here, the motion performed by the operating part 210 may include a translational motion of the operating part 210 in space, a rotational motion (such as a rotational motion around a joint connected thereto), or a combined motion of the translational motion and the rotational motion.
[0067] For example, see Figure 2 , the angular velocity of the rotational motion of the operating part is ω1, and the angular velocity of the rotational motion of the object relative to the operating part is ω2. In the sense of the present disclosure, the angular velocity is a vector, so the directions of the angular velocities ω1 and ω2 can be determined according to the right-hand screw rule. According to an embodiment of the present disclosure, during the rotation of the object 220, the rotational motion of the operating part 210 and the rotation axis around which the object 220 performs the rotational motion relative to the operating part 210 may be at a certain angle, and thus, the directions of the angular velocities of the two are different. Furthermore, the magnitudes of the angular velocities of the two may also be different. The present disclosure does not impose any restrictions on this. In addition, during the rotational motion of the object, the center of mass of the object may also move in a linear direction relative to the center of mass of the operating part as the rotational motion proceeds, and the present disclosure does not impose any restrictions on this.
[0068] Here, compared with the traditional robot that uses fixed contact, such as fixed contact established with the object by means of a mechanical gripper, a controllable adsorption component, etc. to make the object perform rotational motion, the method for the robot to perform rotational motion of the object according to the present disclosure causes the object 220 that is not in fixed contact with it to rotate through the rotational motion of the operating part 210 itself. Here, the angular velocity direction of the rotational motion of the operating part of the robot according to the present disclosure can be controlled to be different from the angular velocity direction of the rotational motion of the object relative to the operating part, thereby improving the flexibility of the rotational motion. As a result, it can be achieved that when the operating part of the robot is in non-fixed contact with the object, that is, for example, when the robot is applied to the field of sports, the robot can make the object perform a rotational motion that complies with the provisions of the flipping instruction according to the flipping instruction, such as a non-fixed contact rotational motion such as rotating the basketball from the palm to the back of the hand in basketball.
[0069] According to an embodiment of the present disclosure, with the aid of the above method, various rotational movements can be achieved when the operating portion 210 is in non-fixed contact with the object 220 .
[0070] Figure 3A A type of rotational motion that can be achieved in the method for a robot to make an object perform rotational motion according to the present disclosure is shown, namely, the so-called “hand-flipping motion”. Figure 3B In the figure, the various states of the rotational movement in the so-called "hand-flipping movement" are shown from left to right. For the sake of clarity, only some of the states are marked with corresponding reference numerals. Figure 3B As shown, during the rotational movement of the object 220 relative to the operating portion 210, the operating portion 220 is driven to move with the determined driving force, so that the object 220 (such as Figure 3B The first side surface 211 of the operating portion and the second side surface 212 of the operating portion are supported on the second side surface 212 of the operating portion 210 via the transition surface 213 (as shown in the leftmost position in FIG. 2 ) and are in contact with the transition surface 213 between the first side surface 211 of the operating portion and the second side surface 212 of the operating portion. Figure 3B Thus, the object 220 that is not in fixed contact with the operating portion 210 is rotated from the first side surface 211 of the operating portion 210 to the second side surface 212 of the operating portion 210 through the movement of the operating portion 210 itself.
[0071] Figure 4A Another rotational motion that can be achieved in the method for a robot to make an object perform rotational motion according to the present disclosure is shown, namely, the so-called “flat plate grasping motion”. Figure 4B Similarly, the various states of the rotational movement in the so-called "flat gripping movement" are shown from left to right. Similarly, for the sake of clarity, only the corresponding reference numerals are marked in some of the states. Figure 4A As shown in FIG. 2 , during the rotational movement of the object 220 relative to the operating unit 210, the operating unit (if the operating unit is a robot, the robot fingers are straight) is placed on one side of the object, and the object is transferred to the operating unit by using the operating unit without bending the operating unit (if the operating unit is a robot, the robot fingers are not bent) and in constant contact with the object. In other words, Figure 4B As shown, the operating part 210 is driven to move with a determined driving force, so that the object 220, which is in non-fixed contact with the end of the operating part 210, makes a rotational movement toward the operating part 210 around the contact part while maintaining contact with the contact part of the object 220 and the operating part 210 until the object 220 is supported on the side of the operating part 210.
[0072] According to a more detailed implementation of the method for a robot to cause an object to perform rotational motion according to the present disclosure, the flipping instruction includes motion trajectory information, spatial dimension information, and mass information, wherein the motion trajectory information indicates the desired motion trajectory of the operating part and the object during the rotational motion, the spatial dimension information indicates the spatial dimensions of the operating part and the object, and the mass information indicates the mass or moment of inertia of the operating part and the object.
[0073] Therefore, with the help of the above-mentioned motion trajectory information, spatial dimension information and mass information, the robot can use dynamic analysis, such as basic dynamics theory, Lagrangian mechanics, rotational dual number method, Kane's method and other methods to determine the driving force applied to the operating part to achieve the rotational motion specified by the flipping instruction.
[0074] According to another optional design scheme of the method for causing an object to perform rotational motion by a robot disclosed in the present invention, considering that the computing power of the robot itself may be limited, instead of the robot itself performing dynamic analysis with the help of the above-mentioned motion trajectory information, spatial dimension information, and mass information, another computing device arranged outside the robot can perform dynamic analysis, and send the result of the dynamic analysis, that is, the operating part driving force parameters corresponding to different moments in the rotational motion as a flipping instruction to the robot. Therefore, the flipping instruction referred to here no longer indicates the desired motion trajectory of the operating part and the object during the rotational motion, but directly includes the operating part driving force parameters corresponding to different moments in the rotational motion, and the operating part driving force parameters are determined by another computing device based on the above-mentioned desired motion trajectory of the operating part and the object. Thus, even a robot with limited computing power can also execute the method for causing an object to perform rotational motion by a robot disclosed in the present invention.
[0075] In order to determine the driving force of the operating part, it is first necessary to determine the relationship between the driving force of the operating part used to achieve the rotational motion and the rotational motion. Therefore, according to a more detailed embodiment of the present disclosure, a dynamic model can be used to characterize the above relationship, that is, in the method in which the robot causes the object to perform a rotational motion, the driving force of the operating part is determined according to the dynamic model corresponding to the combination of the operating part and the object and the constraint equation group, and the constraint equation group is associated with the rotation initial target state and the rotation final target state of the operating part and the object.
[0076] Here, the dynamic model corresponding to the combination of the operating part and the object is a set of equations that characterizes the relationship between the driving force of the operating part used to realize the rotational motion and the rotational motion. According to an embodiment of the present disclosure, the dynamic equation corresponding to the combination of the operating part and the object can be determined using the Lagrangian functional balance method, that is, first, the total kinetic energy T and the total potential energy P corresponding to the combination of the operating part and the object can be determined, and the total kinetic energy and the total potential energy can be determined with the help of the above-mentioned motion trajectory information, spatial size information and mass information; then, the Lagrangian function corresponding to the combination of the operating part and the object can be established
[0077] L = T – P (1) And, by taking the derivative of the above Lagrangian function
[0078]
[0079] To obtain a group of dynamic equations corresponding to the combination of the operating part and the object, wherein q is the generalized spatial position of the operating part and the object (including Cartesian coordinate position and angle), is the movement speed of the operating part and the object (including the translation speed and the angular velocity of rotation), and Q is the force spiral (including force and torque) acting on the system. According to another optional design scheme of the method for the robot to make the object perform rotational motion disclosed in the present invention, the Newton-Euler dynamic balance method, Kane's method, etc. can also be used to determine the above dynamic equations.
[0080] In addition, in order to determine the driving force of the operating part based on the flip instruction, that is, to solve the dynamic equation group corresponding to the combination of the operating part and the object, a constraint equation group needs to be determined. The constraint equation group is associated with the initial rotation target state and the final rotation target state of the operating part and the object, that is, the initial and final positions q0, q f and the initial and final velocities Therefore, the constraint equation group includes the following constraint equations:
[0081] q(0)=q0 (3)
[0082] q(f)=q f (4)
[0083]
[0084] In addition, in order to constrain the position and speed of the operating part and the object during the rotational motion, the constraint equation group may further include a boundary constraint equation, which is used to constrain the upper and lower limits of the position and speed of the operating part and the object. Therefore, the constraint equation group includes the following constraint equations:
[0085] ‖q‖2<ε q (7)
[0086]
[0087] In addition, if Figure 2 As shown, since there is no fixed connection between the operating part 210 and the object 220, relative movement may occur between the operating part 210 and the object 220, and the object 220 may even fall off the operating part 210. Therefore, it is necessary to constrain the friction between the operating part 210 and the object 220 and the supporting force of the operating part on the object, so as to simulate the non-fixed connection between the operating part and the object as a "virtual joint" that will not move relative to each other or fall off.
[0088] Therefore, according to a more detailed embodiment of the method of causing an object to perform rotational motion by a robot disclosed herein, the set of constraint equations also includes a constraint equation regarding the contact force between the operating part and the object, which is configured to constrain the contact force within a friction cone range. Figure 5 FIG. 2 shows a force analysis diagram of the operating part and the object during rotational motion. Here, the contact force f between the operating part 210 and the object 220 is c It is the vector sum of the positive pressure F2 and the friction force F1. C Within the range, the operating part 210 and the object 220 do not slide relative to each other, so that the non-fixed connection between the operating part 210 and the object 220 can be simulated as a so-called "virtual joint". Therefore, the constraint equation group includes the following constraint equations:
[0089] f c ∈F c (9)
[0090] In addition, in the so-called "flat gripping motion", it is also necessary to ensure that the operating part always supports the object. Therefore, according to a more detailed implementation of the method of the robot causing an object to perform rotational motion disclosed in the present invention, the constraint equation also needs to be configured to constrain the support force F2 of the operating part 210 on the object 220 to be within a positive value range. Thus, the operating part 210 always provides an upward support force F2 to the object 220, that is, always supports the object 220. Therefore, the constraint equation group includes the following constraint equations:
[0091] F2>0 (10)
[0092] Accordingly, by constraining the above-mentioned set of constraint equations regarding the contact force between the operating part 210 and the object 220 and the supporting force of the operating part on the object, the non-fixed connection between the operating part 210 and the object 220 can be simulated as a so-called "virtual joint".
[0093] Accordingly, based on the so-called "virtual joint", the connection relationship between the operating part and the object in non-fixed contact can be analogized to the fixed connection in the traditional dynamic model, for example, connecting the operating part and the object together in a hinged manner, that is, the operating part and the object including the "virtual joint" can be described with the same concept as the traditional second-order inverted pendulum model, that is, the operating part and the object can be described with the help of the so-called virtual second-order inverted pendulum model.
[0094] Therefore, according to a more detailed embodiment of the method for causing an object to perform rotational motion by a robot of the present disclosure, the dynamic model corresponds to a virtual second-order inverted pendulum model. Figure 6 A virtual second-order inverted pendulum model for describing an operating part and an object according to the present disclosure is shown. The virtual second-order inverted pendulum model includes:
[0095] A first virtual link L1, the first link being equivalent to a portion of the operating portion 210 extending from a position where the operating portion 210 rotates to a portion that is in non-fixed contact with the object;
[0096] A second virtual link L2, the second virtual link being equivalent to the object 220;
[0097] a virtual bottom L0, the virtual bottom L0 being equivalent to the remaining portion of the operating portion 210 that is not equivalent to the first virtual link L1;
[0098] a first virtual joint J1, the first virtual joint J1 being used to simulate the rotation of the first virtual link L1 around its own rotating position, the first virtual joint J1 connecting the first virtual link L1 with the virtual bottom L0; and
[0099] The second virtual joint J2 is equivalent to a virtual connection between the operating part 210 and the object 220 by means of a contact force, and the second virtual joint J2 virtually connects the first virtual link L1 and the second virtual link L2.
[0100] Thus, by using the motion trajectory information, spatial dimension information and mass information of each part of the virtual second-order inverted pendulum model in the flip instruction, the kinetic energy and potential energy of each of the first virtual link L1, the second virtual link L2 and the virtual bottom L0 can be determined to determine the total kinetic energy and total potential energy of the virtual second-order inverted pendulum model. Then, by establishing the Lagrangian function through formula (1), and taking the derivative thereof as shown in formula (2), a set of equations for characterizing the relationship between the driving force and driving torque applied to the first virtual link L1, the second virtual link L2 and the virtual bottom L0 and their motion trajectory can be obtained, that is, a set of dynamic equations of the virtual second-order inverted pendulum model can be obtained.
[0101] Figure 7 FIG. 4 shows a schematic diagram for describing the parameters of a virtual second-order inverted pendulum model. Figure 7 As shown, for example Figure 3A and Figure 4A The rotation between the operating part 210 and the object 220 shown in can be represented by the angle θ2 between the first virtual link L1 and the second virtual link L2, the rotation of the operating part 210 around itself can be represented by the angle θ1 between the first virtual link L1 and the vertical direction, and the translational movement of the operating part 210 can be represented by the horizontal position x and the vertical position y of the virtual bottom L0. Therefore, the generalized spatial position q of the operating part and the object in formula (2) can be expressed as:
[0102] q=[x,y,θ1,θ2] (11)
[0103] and the movement speed of the operating part and the object It can be expressed as:
[0104]
[0105] Furthermore, in the method for causing an object to rotate by a robot according to the present disclosure, only the operating part is driven (ie, a driving force F is applied thereto in the horizontal direction). x , apply a driving force F to it in the vertical direction y , and apply torque τ to it xto drive it to rotate around itself), and the object is not driven (that is, the torque input to the second virtual joint is zero), therefore, the force spiral Q acting on the system can be expressed as:
[0106] Q=[F x ,F y ,τ x ,0] T (13)
[0107] Therefore, after combining the above After substituting formulas (11), (12) and (13) of Q into formula (2), it can be seen that if it is necessary to obtain the group of dynamic equations corresponding to the combination of the operating part and the object as shown in formula (2), it is also necessary to use the above-mentioned motion trajectory information, spatial dimension information and mass information to determine the kinetic energy T and potential energy P of the first virtual link, the second virtual link and the virtual bottom to determine the Lagrangian equation L.
[0108] Therefore, further, according to the embodiment of the present disclosure, when using a virtual second-order inverted pendulum model, the motion trajectory information of the operating part needs to include: the spatial position information x, y, θ1 of the first virtual link; the translational motion speed information of the first virtual link Translational motion acceleration information of the first virtual link The rotation speed information of the first virtual link around the first virtual joint and the rotational motion acceleration information of the first virtual link around the first virtual joint The object motion trajectory information includes: spatial position information θ2 of the second virtual link, rotational motion speed information of the second virtual link around the second virtual joint and the rotational motion acceleration information of the second virtual link around the second virtual joint
[0109] Furthermore, according to an embodiment of the present disclosure, when a virtual second-order inverted pendulum model is used, the spatial dimension information needs to include: length information L1 of the first virtual link, length information L2 of the second virtual link, distance information l1 from the center of the first virtual link to the virtual bottom, distance information l2 from the center of the second virtual link to the virtual bottom, distance information l3 from the center of mass of the first virtual link to the first virtual joint, and distance information l4 from the center of mass of the second virtual link to the first virtual joint. c1 And the distance information l from the center of mass of the second virtual link to the second virtual joint c2 Therefore, the position of the middle of each connecting rod can be expressed as:
[0110]
[0111] In addition, according to an embodiment of the present disclosure, when using a virtual second-order inverted pendulum model, the mass information needs to include: the mass m0 of the virtual bottom, the mass m1 of the first virtual link, the moment of inertia I1 of the first virtual link, the mass m2 of the second virtual link, and the moment of inertia I2 of the second virtual link.
[0112] Therefore, with the aid of the above-mentioned motion trajectory information, spatial dimension information and mass information, the kinetic energy T0 and potential energy P0 of the virtual bottom can be determined in the following manner:
[0113]
[0114] P0=m0gy (17)
[0115] Similarly, the kinetic energy T1 and potential energy P1 of the first virtual connecting rod can be determined as follows:
[0116]
[0117] P1=m1gl1cosθ1 (19)
[0118] Similarly, the kinetic energy T2 and potential energy P2 of the second virtual link can be determined as follows:
[0119] P2=m2gL1cosθ1+m2gl2cosθ2 (21)
[0120] Here, the kinetic energy T0, T1, T2 and the potential energy P0, P1, P2 of the virtual bottom, the first virtual link and the second virtual link according to formulas (16), (18), (20) and formulas (17), (19), (21) are summed up respectively to determine the total kinetic energy T and total potential energy P of the entire virtual second-order inverted pendulum model:
[0121] T=T0+T1+T2 (22)
[0122] P=P0+P1+P2 (23)
[0123] In summary, by substituting the above formulas (22) and (23) about the total kinetic energy T and the total potential energy P into formula (1), the Lagrangian function L corresponding to the combination of the operating part and the object can be determined. Further, by substituting the formulas (22) and (23) about the total kinetic energy T and the total potential energy P, the generalized spatial position q and the motion speed of the operating part and the object Substituting formulas (11), (12) and formula (13) about the force spiral Q input to the operating part and the object into formula (2) for deriving the Lagrangian function, a virtual second-order inverted pendulum model corresponding to the combination of the operating part and the object is obtained:
[0124]
[0125] The virtual second-order inverted pendulum model can characterize the relationship between the driving force of the operating part for realizing the rotational motion and the rotational motion. Therefore, in the method for the robot to make an object perform a rotational motion according to the present disclosure, by means of the virtual second-order inverted pendulum model, it is possible to determine the driving force F required to drive the operating part to realize the above-mentioned motion trajectory based on the flipping instruction including the expected motion trajectory information. x 、F y , τ x Using the determined driving force F x 、F y , τ x By driving the operating portion, the object in non-fixed contact with the operating portion can be caused to perform a rotational movement in accordance with the flipping instruction.
[0126] In addition, the four equations of the virtual second-order inverted pendulum model obtained by derivation of the Lagrangian function can be further organized into a standard mode represented by a matrix:
[0127]
[0128] Wherein, H is the robot inertia matrix, C is the robot centrifugal force and Coriolis force matrix, G is the robot gravity matrix, S is the robot control quantity selection matrix, and u is the external input matrix. In the embodiment according to the present disclosure, the above matrices in the standard mode of the above virtual second-order inverted pendulum model can be specifically expressed as:
[0129]
[0130] u=[F x ,F y ,τ x ,0] T (33)
[0131] Among them, each element in the robot inertia matrix H can be expressed as:
[0132] H 11 =H 22 =m0+m1+m2(34)
[0133] H 12 =H 21 =0(35)
[0134]
[0135] H 14 =l2m2 cos(θ1+θ2)(37)
[0136]
[0137] H 24 =-l2m2 sin(θ1+θ2)(39)
[0138] H 31 =l1m1 cos(θ1)+l2m2 cos(θ1+θ2)+l1m2 cos(θ1)(40)
[0139] H 32 =-l1m1 sin(θ1)-l2m2 sin(θ1+θ2)-L1m2 sin(θ1)(41)
[0140]
[0141] H 41 =l2m2 cos(θ1+θ2) (44)
[0142] H 42 =-l2m2 sin(θ1+θ2) (45)
[0143]
[0144] Moreover, the elements of the centrifugal force and Coriolis force matrix C of the robot can be expressed as:
[0145] C 11 =C 12 =C 21 =C 22 =C 31 =C 32 =C 41 =C 42 =C 44 =0 (48)
[0146]
[0147] In summary, based on the virtual second-order inverted pendulum model and the constraint equations:
[0148] min u T u (56)
[0149]
[0150] f c ∈F c (58)
[0151] q(0)=q0 (59)
[0152] q(f)=q f (60)
[0153]
[0154] ‖q‖2<ε q (63)
[0155]
[0156] Based on the flip instruction, the motion trajectory information (such as q, ) is substituted into each dynamic equation of the virtual second-order inverted pendulum model described above to solve (i.e. determine) the driving force of the operating part, i.e. the driving force required to realize the motion trajectory specified by the motion trajectory information (F in the external input matrix u). x 、F y , τ x ). Then, the operating part is driven to move with the determined driving force, so that the object can be rotated relative to the operating part.
[0157] In addition, as described above, the virtual second-order inverted pendulum model is, for example, four partial differential equations. According to a more detailed embodiment of the present disclosure, the driving force and driving torque of the operating part required to achieve the desired rotational motion can be determined based on a continuous optimal control problem.
[0158] In addition, the partial differential equation in the virtual second-order inverted pendulum model is a nonlinear equation. To facilitate solving the nonlinear equation, according to another feasible embodiment of the present disclosure, the dynamic model can also be linearized based on linear quadratic programming (LQR) to determine the driving force and driving torque of the operating part required to achieve the desired rotational motion, that is, the partial differential equation in the virtual second-order inverted pendulum model is linearized near the fixed point using Taylor expansion. The linearized virtual second-order inverted pendulum model can be conveniently used in conjunction with a PID control strategy, etc., to advantageously achieve control of the rotational motion.
[0159] In addition, based on the virtual second-order inverted pendulum model and the constraint equation group, it is also possible to solve the so-called forward problem of dynamics, that is, when the operating part is in non-fixed contact with the object, the motion trajectory of the operating part and the object is determined by the driving force of the operating part.
[0160] Therefore, according to the second aspect of the present disclosure, a method 800 for determining a motion trajectory of an operating part of a robot is provided. Figure 8 A schematic flow chart of a method for determining the motion trajectory of an operating part of a robot according to the present disclosure is shown. The operating part is also in non-fixed contact with an object, and the object is caused to perform a rotational motion relative to the operating part through the movement of the operating part. The method includes: based on a dynamic model and a set of constraint equations corresponding to a combination of the object and the operating part, according to the driving force of the operating part, a convex programming method is used to determine the motion trajectory of the operating part and the object S810, wherein the dynamic model is equivalent to the virtual second-order inverted pendulum model described above, and the set of constraint equations includes a constraint equation about the contact force between the operating part and the object, which is configured to constrain the contact force within a friction cone range, or is also configured to constrain the support force of the operating part on the object within a positive value range.
[0161] Here, the constraint equations about the contact force between the operating part and the object are also used to construct the "virtual joint", and thus the virtual second-order inverted pendulum model is also used to represent the relationship between the driving force applied to the operating part and the motion trajectory of its rotational motion. Therefore, the virtual second-order inverted pendulum model and the constraint equation group used refer to the description thereof in the above text, and are not repeated here for the sake of brevity. Similarly, based on the virtual second-order inverted pendulum model and the constraint equation group described above, it is possible to obtain the virtual joint according to the driving force of the operating part, that is, F in the external input matrix u. x 、F y , τ x , determine the motion trajectory of the operating part and the object (such as q, ).
[0162] According to a more detailed embodiment of the present disclosure, the rotational movement of the object relative to the operating part in the method 800 for determining the motion trajectory of the operating part of the robot can also be a so-called "hand-flipping movement" (i.e., rotating the object from the first side of the operating part to the second side) and a so-called "flat-plate grasping movement" (i.e., transferring the object to the operating part without bending the operating part). For the specific processes of "hand-flipping movement" and "flat-plate grasping movement", please refer to the description of the method 800 for determining the motion trajectory of the operating part of the robot. Figure 3A , Figure 3B , Figure 4A , Figure 4B The description is omitted here for the sake of brevity.
[0163] In addition, according to a third aspect of the present disclosure, a robot is also provided. Fig. 9 : shows a schematic block diagram of a robot according to the present disclosure. Fig. 9As shown, the robot comprises: an operating part 210, which applies a supporting force and a friction force to an object so that the object moves relative to the operating part; and a controller 920, which is used to control the movement of the operating part. The controller is set on the robot and is configured to execute the method of causing the object to rotate by the robot as described in the first aspect of the present disclosure and the method of determining the movement trajectory of the robot's operating part and the object as described in the second aspect of the present disclosure.
[0164] According to a more detailed embodiment of the robot of the present disclosure, the operating part 210 can be implemented as any common operating part in the field of robots, such as a mechanical gripper, etc. And as mentioned above, the operating part in the sense of the present disclosure does not need to perform a fixed operation on the object, that is, when the operating part is a mechanical gripper, the fingers of the mechanical gripper do not need to be bent to establish a fixed connection with the object (i.e., for example, to grasp the object), so as to make the object perform a rotational motion according to the present disclosure or determine the motion trajectory of the object.
[0165] According to a more detailed embodiment of the robot of the present disclosure, the controller 920 can be implemented as any device that can execute the method described in the first aspect and the second aspect of the present disclosure, including but not limited to FPGA, DSP, ARM single-chip microcomputer, CPU, etc. For more details on the functions of the controller 920, reference can be made to the description of the method described in the first aspect and the second aspect of the present disclosure, which will not be repeated here.
[0166] According to a more detailed implementation of the robot disclosed in the present invention, the controller 920 obtains the motion trajectory of the object and the operating part by calling the GPOPS-II library (GPOPS-II is a MATLAB software for solving continuous optimal control problems, which adopts hp-adapted Gaussian orthogonal configuration and discrete nonlinear programming; GPOPS is the abbreviation of general purpose optimal control software).
[0167] In summary, the present disclosure provides a method for a robot to make an object perform a rotational motion. Among them, by constraining the contact force between the operating part of the robot and the object to be operated, when the operating part is in non-fixed contact with the object, the object can be made to perform a rotational motion in accordance with the flipping instruction by means of a dynamic model corresponding to a virtual second-order inverted pendulum model according to the flipping instruction. As a result, the robot can perform non-fixed operations in most sports seen in daily life, and the robot can obtain the object more efficiently and quickly.
[0168] In addition, the present disclosure provides a method for determining the motion trajectory of an operating part of a robot and an object. As described above, by constraining the contact force between the operating part of the robot and the object to be operated, a dynamic model corresponding to a virtual second-order inverted pendulum model can be used to determine the motion trajectory of the operating part and the object based on the input driving force of the operating part when the operating part and the object are in non-fixed contact.
[0169] In addition, the present disclosure provides a robot, which constrains the contact force between the robot's operating part and the object to be operated, so that the robot can make the object perform a rotational movement that complies with the flipping instruction according to the flipping instruction when the operating part and the object are in non-fixed contact, and determines the movement trajectory of the operating part and the object based on the input driving force of the operating part. Therefore, the robot according to the present disclosure can perform non-fixed operations in most sports seen in daily life, and can obtain the object to be operated more efficiently, quickly and in a more flexible way.
[0170] The exemplary embodiments of the present disclosure described in detail above are merely illustrative and not restrictive. It should be understood by those skilled in the art that various modifications and combinations may be made to these embodiments or their features without departing from the principles and spirit of the present disclosure, and such modifications should fall within the scope of the present disclosure.
Claims
1. A method for a robot to make an object perform rotational motion, the robot having an operating part, the operating part being in non-fixed contact with the object, the method comprising: Receive flip command; determining a driving force of the operating part based on the flipping instruction; as well as driving the operating portion to move with the determined driving force, and causing the object to perform a rotational motion relative to the operating portion through the movement; wherein the driving force of the operating part is determined according to a dynamics model and a set of constraint equations corresponding to a combination of the operating part and the object; Wherein, the dynamic model is equivalent to a virtual second-order inverted pendulum model, and the constraint equation group includes constraint equations about the contact force between the operating part and the object, which is configured to constrain the contact force within the friction cone range, or is also configured to constrain the supporting force of the operating part on the object within a positive value range.
2. The method according to claim 1, wherein: During the rotational movement of the object relative to the operating part: The operating part is driven to move with a determined driving force so that the object non-fixedly supported on the first side surface of the operating part is supported on the second side surface of the operating part via the transition surface while maintaining contact with a transition surface between the first side surface of the operating part and the second side surface of the operating part.
3. The method according to claim 1, wherein: During the rotational movement of the object relative to the operating part: The operating part is driven to move with the determined driving force, so that the object in non-fixed contact with the end of the operating part makes a rotational movement toward the operating part around the contact part while maintaining contact with the contact part of the object and the operating part until the object is supported on the side of the operating part.
4. The method according to claim 1, wherein: The flip instruction includes motion trajectory information, spatial size information, and mass information, wherein the motion trajectory information indicates a desired motion trajectory of the operating part and the object during the rotational motion, the spatial size information indicates the spatial size of the operating part and the object, and the mass information indicates the mass or rotational inertia of the operating part and the object, or The flipping instruction includes operating part driving force parameters corresponding to different moments in the rotational motion.
5. The method according to claim 4, wherein: The constraint equation group is associated with an initial rotation target state and a final rotation target state of the operating part and the object.
6. The method according to claim 5, wherein: The constraint equation group further includes a constraint equation regarding a contact force between the operating portion and the object, which is configured to constrain the contact force within a friction cone range.
7. The method according to claim 6, wherein: The constraint equation is further configured to constrain a supporting force of the operating portion on the object within a positive value range.
8. The method according to claim 5, wherein: The dynamic model corresponds to a virtual second-order inverted pendulum model, and the virtual second-order inverted pendulum model includes: a first virtual link, the first virtual link being equivalent to a portion of the operating portion extending from a position where the operating portion rotates itself to a portion that is in non-fixed contact with the object; a second virtual link, the second virtual link being equivalent to the object; a virtual bottom, the virtual bottom being equivalent to the remaining portion of the operating portion that is not equivalent to the first virtual connecting rod; a first virtual joint, the first virtual joint being used to simulate the rotation of the first virtual link around its own rotating position, the first virtual joint connecting the first virtual link with the virtual base; and The second virtual joint is equivalent to a virtual connection between the operating part and the object by means of contact force, and the second virtual joint virtually connects the first virtual link and the second virtual link.
9. The method according to claim 8, wherein: The motion track information includes the motion track information of the operation part and the motion track information of the object, wherein: The operation part motion trajectory information includes: spatial position information of the first virtual link, translational motion speed information of the first virtual link, translational motion acceleration information of the first virtual link, rotational motion speed information of the first virtual link around the first virtual joint, and rotational motion acceleration information of the first virtual link around the first virtual joint; and The object motion trajectory information includes: spatial position information of the second virtual link, rotational motion speed information of the second virtual link around the second virtual joint, and rotational motion acceleration information of the second virtual link around the second virtual joint.
10. The method according to claim 8, wherein: The spatial size information includes: length information of the first virtual link, length information of the second virtual link, distance information from the center of the first virtual link to the virtual bottom, distance information from the center of the second virtual link to the virtual bottom, distance information from the center of mass of the first virtual link to the first virtual joint, and distance from the center of mass of the second virtual link to the second virtual joint; The mass information includes: the mass of the virtual bottom, the mass of the first virtual link, the moment of inertia of the first virtual link, the mass of the second virtual link, and the moment of inertia of the second virtual link.
11. The method according to claim 8, wherein: The driving force and driving torque of the operating part required to achieve the desired rotational movement are determined based on a continuous optimal control problem, or The driving force and driving torque of the operating part required to achieve the desired rotational movement are determined by linearizing the dynamic model based on linear quadratic programming.
12. A method for determining a motion trajectory of an operating part of a robot and an object, wherein the operating part is in non-fixed contact with the object and the object is caused to perform a rotational motion relative to the operating part by the movement of the operating part, the method comprising: Based on the dynamic model and constraint equations corresponding to the combination of the object and the operating part, and according to the driving force of the operating part, a convex programming method is used to determine the motion trajectory of the operating part and the object. Wherein, the dynamic model is equivalent to a virtual second-order inverted pendulum model, and the constraint equation group includes constraint equations about the contact force between the operating part and the object, which is configured to constrain the contact force within the friction cone range, or is also configured to constrain the supporting force of the operating part on the object within a positive value range.
13. The method according to claim 12, wherein: During the rotational movement of the object relative to the operating portion: The operating portion is driven to move by a driving force of the operating portion so that the object non-fixedly supported on the first side surface of the operating portion is supported on the second side surface of the operating portion via a transition surface between the first side surface of the operating portion and the second side surface of the operating portion.
14. The method according to claim 12, wherein: During the rotational movement of the object relative to the operating portion: The operating part is driven to move by the driving force of the operating part, so that the object in non-fixed contact with the end of the operating part rotates toward the operating part around the contact portion between the object and the operating part until the object is supported on the side of the operating part.
15. A robot, comprising: an operating part, the operating part applying a supporting force and a friction force to an object so that the object performs a rotational motion relative to the operating part; A controller is used to control the movement of the operating part, the controller is provided on the robot and is configured to execute the method according to any one of claims 1 to 14.
