Motion control method, device, robotic arm, interactive system and storage medium

By acquiring and utilizing external force loads to control the robotic arm to apply feedback force to the electronic device, the problem that electronic devices cannot provide force feedback is solved and the user experience is improved.

CN114179080BActive Publication Date: 2024-12-17SHANGHAI JINSHENG COMM TECH CO LTD +1
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202111454235.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-01
Publication Date
2024-12-17
Estimated Expiration
2041-12-01

AI Technical Summary

Technical Problem

Electronic devices cannot provide force feedback during use, resulting in poor user experience.

Method used

By obtaining the external force load when the robot arm is in the current posture, the feedback parameters are determined, and based on these parameters, the robot arm applies force feedback to the electronic device, providing an opposite direction or resistance applied to the electronic device by the user.

Benefits of technology

Improves the user experience and provides a more realistic feeling, allowing users to feel force feedback when using electronic devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114179080B_ABST
    Figure CN114179080B_ABST
Patent Text Reader

Abstract

The embodiments of the present application disclose a motion control method, device, robotic arm, interactive system and storage medium. The method includes: obtaining an external force load obtained when the robotic arm is in a current posture, the external force load being a load applied to the robotic arm by an electronic device connected to the robotic arm under the action of an external force; determining a feedback parameter based on the external force load; and controlling the robotic arm to apply force feedback to the electronic device based on the feedback parameter. In the above manner, after the electronic device is connected to the robotic arm, the electronic device will apply a load to the robotic arm in the presence of an external force, so that the robotic arm can give force feedback to the electronic device according to the external force load received, thereby providing the user with a more realistic feeling and improving the user experience during the use of the electronic device.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application belongs to the field of mechanical control technology, and specifically relates to a motion control method, device, robotic arm, interactive system and storage medium. Background Art

[0002] As applications in electronic devices become more abundant, users can use applications in electronic devices to achieve various functional requirements. However, related electronic devices (eg, mobile phones) are still unable to provide force feedback to users during use, resulting in a need to improve user experience. Summary of the invention

[0003] In view of the above problems, the present application proposes a motion control method, device, robotic arm, interactive system and storage medium to improve the above problems.

[0004] In a first aspect, an embodiment of the present application provides a motion control method applied to a robotic arm, the method comprising: obtaining an external force load obtained when the robotic arm is in a current posture, the external force load being a load applied to the robotic arm by an electronic device connected to the robotic arm under the action of an external force; determining a feedback parameter based on the external force load; and based on the feedback parameter, controlling the robotic arm to apply force feedback to the electronic device.

[0005] In a second aspect, an embodiment of the present application provides a motion control device that runs on a robotic arm, the device comprising: a load acquisition unit, used to acquire an external force load acquired when the robotic arm is in a current posture, the external force load being a load applied to the robotic arm by an electronic device connected to the robotic arm under the action of an external force; a parameter determination unit, used to determine feedback parameters based on the external force load; and a feedback unit, used to control the robotic arm to apply force feedback to the electronic device based on the feedback parameters.

[0006] In a third aspect, an embodiment of the present application provides a robotic arm, which includes rotating joints, connecting rods between the rotating joints, and motors for driving the rotating joints, and the robotic arm is used to execute the method described above.

[0007] In a fourth aspect, an embodiment of the present application provides an interactive system, which includes an electronic device and a robotic arm, and the electronic device and the robotic arm are connected.

[0008] In a fifth aspect, an embodiment of the present application provides a computer-readable storage medium, in which a program code is stored, wherein the above method is executed when the program code is run.

[0009] The embodiments of the present application provide a motion control method, device, apparatus, interactive system and storage medium. First, the external force load obtained when the robotic arm is in the current posture is obtained, and the external force load is the load applied to the robotic arm by the electronic device connected to the robotic arm under the action of the external force, and then the feedback parameter is determined based on the external force load, so as to control the robotic arm to apply force feedback to the electronic device according to the feedback parameter. In the above manner, after the electronic device is connected to the robotic arm, the electronic device will apply a load to the robotic arm when an external force is applied, so that the robotic arm can give force feedback to the electronic device according to the external force load, thereby providing the user with a more realistic feeling and improving the user experience in the process of using the electronic device. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For those skilled in the art, other drawings can be obtained based on these drawings without creative work.

[0011] Figure 1 A schematic diagram of an application scenario of a motion control method proposed in an embodiment of the present application is shown;

[0012] Figure 2 A schematic diagram of an application scenario of a motion control method proposed in an embodiment of the present application is shown;

[0013] Figure 3 A flow chart of a motion control method proposed in one embodiment of the present application is shown;

[0014] Figure 4 A flow chart of a motion control method proposed in another embodiment of the present application is shown;

[0015] Figure 5 A flow chart of a motion control method proposed in another embodiment of the present application is shown;

[0016] Figure 6 A flow chart of a motion control method proposed in another embodiment of the present application is shown;

[0017] Figure 7 A structural block diagram of a motion control device proposed in an embodiment of the present application is shown;

[0018] Figure 8 A structural diagram of a mechanical arm proposed in an embodiment of the present application is shown;

[0019] Fig. 9A structural block diagram of an electronic device used to execute a motion control method according to an embodiment of the present application is shown in real time of the present application;

[0020] Fig.10 A storage unit in real time of the present application for storing or carrying program codes for implementing the motion control method according to an embodiment of the present application is shown. DETAILED DESCRIPTION

[0021] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0022] As applications in electronic devices become more abundant, users can use applications in electronic devices to achieve various functional requirements. However, related electronic devices (eg, mobile phones) are still unable to provide force feedback to users during use, resulting in a need to improve user experience.

[0023] Therefore, the inventors proposed the motion control method, device, robotic arm, interactive system and storage medium in the present application. First, the external force load obtained when the robotic arm is in the current posture is obtained, and the external force load is the load applied to the robotic arm by the electronic device connected to the robotic arm under the action of the external force, and then the feedback parameters are determined based on the external force load, so as to control the robotic arm to apply force feedback to the electronic device according to the feedback parameters. Through the above method, the motion state of the robotic arm is changed to provide force feedback to the user through the external force load applied to the robotic arm by the electronic device connected to the robotic arm under the action of the external force, which provides the user with a more realistic feeling and improves the user experience.

[0024] See also Figure 1 , Figure 1 Schematic diagram of the application scenario of the motion control method in the embodiment of the present application. The motion control method can be applied to Figure 1In the interactive system 100 shown, the interactive system 100 may include an electronic device 110 and a mechanical arm 120. The electronic device 110 may be fixed to the end of the mechanical arm 120 by the mechanical arm 120 through a clamping tool. Then, when the user operates the electronic device 110, the mechanical arm 120 may sense the force applied by the user to the electronic device 110, and feedback the reaction force or resistance of the same magnitude and opposite direction as the force applied by the user to the electronic device 110 to the user, so as to provide the user with a more complete user experience. Among them, the mechanical arm 120 may include a revolving joint, a connecting rod between each revolving joint, and a motor driving the revolving joint. When the mechanical arm 120 feeds back the reaction force or resistance of the same magnitude and opposite direction as the force applied by the user to the electronic device 110 to the user, the force applied by the user to the electronic device 110 may be sensed by the motor driving the revolving joint in the mechanical arm 120. Then, the feedback parameter may be determined by the force applied by the user to the electronic device 110 sensed by the motor driving the revolving joint in the mechanical arm, so that the mechanical arm 120 may be controlled to apply force feedback to the electronic device 110 through the feedback parameter.

[0025] In the embodiment of the present application, Figure 1 The interactive system 100 shown is used to simulate force feedback in different interactive scenarios.

[0026] For example, in the application scenario of a racing game simulating a steering wheel, the electronic device 110 in the interactive system 100 can be used as a steering wheel. When the user's operation on the electronic device 110 (for example, the user's operation of rotating the electronic device 110) is detected, the force acting on the electronic device 110 when the user rotates the electronic device 110 can be obtained through the mechanical arm 120, and then the mechanical arm 120 can feedback to the user a reaction force or resistance with the same magnitude and opposite direction as the force acting on the electronic device 110 when the user rotates the electronic device 110. Among them, the reaction force can be a force with the same magnitude and opposite direction as the force acting on the electronic device when the user rotates the electronic device 110; the resistance can be the force fed back to the electronic device 110 by the wall when the simulated racing car hits the wall.

[0027] For another example, in an application scenario of a simulated shooting game, the electronic device 110 in the interactive system 100 can be used as a carrier of the simulated shooting game. When the user clicks the electronic device 110, it is determined that the user starts shooting at the target object, and then the force acting on the electronic device 110 when the user clicks the electronic device 110 can be obtained through the mechanical arm 120, so that the mechanical arm 120 can feed back to the user a reaction force with the same magnitude and opposite direction as the force acting on the electronic device 110 when the user clicks the electronic device 110.

[0028] Optional, such as Figure 2 As shown, a communication unit may be provided in the mechanical arm 120, so that the mechanical arm 120 may also be connected to the server 130. Then, when the force applied by the user to the electronic device 110 is obtained through the motor driving the rotating joint in the mechanical arm 120, the mechanical arm 120 may send the force applied by the user to the electronic device 110 to the server 130 through the communication unit, and the server 130 may determine the feedback parameter based on the force applied by the user to the electronic device 110, and send the feedback parameter to the mechanical arm 120, so that the mechanical arm 120 may control the motor to perform corresponding operations based on the feedback parameters to apply force feedback to the electronic device 110.

[0029] Optionally, the robotic arm 120 may also establish a wireless communication connection with the electronic device 110 through the communication unit, and then the robotic arm 120 may directly obtain interaction data from the electronic device 110 .

[0030] It should be noted that the electronic device 110 can Figure 1 and Figure 2 In addition to the smartphone shown in the figure, it can also be a car device, a wearable device, a tablet computer, a laptop computer, a smart speaker, etc. The server 120 can be an independent physical server, or a server cluster or a distributed system composed of multiple physical servers.

[0031] Optionally, the motor driving the rotating joint in the robot arm 120 may also be called a servo motor. A servo motor refers to an engine that controls the operation of mechanical components in a servo system and is an auxiliary motor indirect speed change device.

[0032] Servo motors can accurately control speed and position accuracy, and can convert voltage signals into torque and speed to drive the controlled object. The rotor speed of the servo motor is controlled by the input signal and can respond quickly. In the automatic control system, it is used as an actuator and has the characteristics of small electromechanical time constant and high linearity. It can convert the received electrical signal into angular displacement or angular velocity output on the motor shaft. Servo motors can be divided into two categories: DC and AC servo motors. Their main characteristics are that there is no self-rotation when the signal voltage is zero, and the speed decreases uniformly with the increase of torque.

[0033] The embodiments of the present application will be described in detail below with reference to the accompanying drawings.

[0034] See also Figure 3 , a motion control method provided by an embodiment of the present application is applied to Figure 1 The robot arm in the interactive system shown, the method comprising:

[0035] Step S110: obtaining an external force load obtained when the robotic arm is in a current posture, wherein the external force load is a load applied to the robotic arm by an electronic device connected to the robotic arm under the action of an external force.

[0036] In an embodiment of the present application, the current posture of the robotic arm may be the posture of the robotic arm when the external force load is obtained; the external force load may be understood as the load applied to the robotic arm by the external force acting on the electronic device when the user operates the electronic device. For example, when the user operates the electronic device, the magnitude of the force acting on the electronic device is 10N, then when the user operates the electronic device, the load applied to the robotic arm by the external force acting on the electronic device is 10N.

[0037] As a method, the robotic arm can fix the electronic device through a clamping tool, and then when it detects that the user is operating the electronic device, the robotic arm can obtain the load applied to the robotic arm by the external force acting on the electronic device when the user operates the electronic device.

[0038] Optionally, during the interaction between the electronic device and the robotic arm, the external force load can be obtained in real time through the robotic arm.

[0039] Step S120: Determine feedback parameters based on the external force load.

[0040] In the embodiment of the present application, the feedback parameter may include a motion parameter or a feedback strength.

[0041] As a way, when determining the feedback parameter based on the external force load, the specific feedback parameter can be determined based on the size of the external force load. As one way, if the external force load is greater than the preset load threshold, the feedback parameter is determined to be a motion parameter; if the external force load is less than or equal to the load threshold, the feedback parameter is determined to be feedback intensity. As another way, if the external force load is less than or equal to the preset external force load, the feedback parameter is determined to be feedback intensity; if the external force load is greater than the preset external force load, the feedback parameter is determined to be a motion parameter, which is not specifically limited here.

[0042] Step S130: Based on the feedback parameters, controlling the robotic arm to apply force feedback to the electronic device.

[0043] In the embodiment of the present application, after the feedback parameters are determined based on the external force load, the motion state of the robotic arm can be changed based on the feedback parameters to control the robotic arm to apply force feedback to the electronic device.

[0044] The present application provides a motion control method, which first obtains the external force load obtained when the mechanical arm is in the current posture, wherein the external force load is the load applied to the mechanical arm by the electronic device connected to the mechanical arm under the action of the external force, and then determines the feedback parameter based on the external force load, thereby controlling the mechanical arm to apply force feedback to the electronic device according to the feedback parameter. Through the above method, after the electronic device is connected to the mechanical arm, the electronic device will apply a load to the mechanical arm when there is an external force, so that the mechanical arm can give force feedback to the electronic device according to the external force load received, thereby providing the user with a more realistic feeling in the process of using the electronic device, thereby improving the user experience.

[0045] See also Figure 4 , a motion control method provided by an embodiment of the present application is applied to Figure 1 The method comprises:

[0046] Step S210: Acquire a first load when the robotic arm is in a current posture, where the first load is a load detected by each motor of the robotic arm when an electronic device connected to the robotic arm is subjected to an external force.

[0047] In the embodiment of the present application, the current posture of the robot arm can be understood as the posture of the robot arm at the current moment. During the interaction between the robot arm and the electronic device, the current posture of the robot arm can be obtained in real time. The first load is all the loads of the robot arm and the electronic device during the interaction.

[0048] As a method, the current posture of the robotic arm can be determined based on the joint angles of the robotic arm obtained by the motors included in the robotic arm. According to the joint angles of the robotic arm obtained by the motors included in the robotic arm, the current posture of the robotic arm can be calculated through the forward kinematics algorithm.

[0049] Optionally, the joint angles of the robotic arm may also be directly acquired through a motor included in the robotic arm.

[0050] Step S220: Based on the first load and the second load, determine the external force load of each motor of the robotic arm, where the second load is the load detected by each motor of the robotic arm when there is no external force on the electronic device connected to the robotic arm and the robotic arm is in the current posture.

[0051] In the embodiment of the present application, the second load refers to the load detected by each motor of the robotic arm when the robotic arm is in the current posture and is only subject to its own gravity and the support force of the connection with the electronic device, and is not subject to other external forces.

[0052] As a method, after obtaining the first load and the second load, the difference between the first load and the second load may be calculated, and the difference between the first load and the second load may be determined as the external force load of each motor of the robot arm.

[0053] Step S230: Determine whether the external force load exceeds the load threshold, if so, execute step S240 and step S250; if not, execute step S260.

[0054] In the embodiment of the present application, the load threshold is the limit of the external force load of the robot arm in each posture set by the user before the interaction. As a method, the load threshold can be the maximum external force load that the robot arm can withstand when the robot arm is in the current posture. Among them, when the robot arm is in different postures, the corresponding maximum external force load that can be borne can be the same or different.

[0055] Optionally, the load threshold may be a fixed value or a dynamically adjustable value, which is not specifically limited here.

[0056] As a method, after obtaining the external force load when the robot arm is in the current posture, the load threshold corresponding to the current posture can be obtained, and then the external force load when the robot arm is in the current posture and the load threshold are compared.

[0057] Step S240: Determine a motion parameter that triggers the electronic device to move based on the external force load, wherein the load threshold is different when the robotic arm is in different postures.

[0058] In an embodiment of the present application, if the external force load of the robotic arm when it is in the current posture is greater than the load threshold, the motion parameters that trigger the electronic device to move are determined based on the external force load.

[0059] Step S250: Based on the motion parameters, control the motors of the robotic arm to perform corresponding motions to apply force feedback to the electronic device.

[0060] In an embodiment of the present application, after determining the motion parameters that trigger the electronic device to move, the motors of the robotic arm are controlled to perform movements corresponding to the motion parameters to apply force feedback to the electronic device so that the user can experience the force feedback.

[0061] Step S260: Determine the feedback force that triggers the electronic device to move based on the external force load.

[0062] In the embodiment of the present application, the feedback force is a force with the same magnitude but opposite direction as the external force load. When the external force load of the robotic arm is in the current posture is less than or equal to the load threshold, the feedback force for triggering the electronic device to move is determined based on the external force load, and force feedback is applied to the electronic device based on the feedback force. At this time, force feedback can be provided by keeping the motors of the robotic arm from rotating.

[0063] The present application provides a motion control method, which first obtains the first load and the second load when the mechanical arm is in the current posture, and then determines the external force load of each motor of the mechanical arm based on the first load and the second load, and judges whether the external force load exceeds the load threshold. If it exceeds, the motion parameters for triggering the electronic device to move are determined based on the external force load, and the motors of the mechanical arm are controlled to perform corresponding movements based on the motion parameters to apply force feedback to the electronic device; if it does not exceed, the feedback force for triggering the electronic device to move is determined based on the external force load. Through the above method, after the electronic device is connected to the mechanical arm, the electronic device will apply a load to the mechanical arm in the presence of an external force, so that the mechanical arm can give force feedback to the electronic device according to the external force load it receives, thereby providing the user with a more realistic feeling and improving the user experience during the use of the electronic device.

[0064] See also Figure 5 , a motion control method provided by an embodiment of the present application is applied to Figure 1 The robot arm in the interactive system shown, the method comprising:

[0065] Step S310: receiving an external force load transmitted by the electronic device via wireless communication.

[0066] In an embodiment of the present application, a wireless communication module is provided in the robotic arm, so that the electronic device and the robotic arm can communicate wirelessly, the robotic arm can directly obtain corresponding data from the electronic device, and the electronic device can also directly transmit data to the robotic arm.

[0067] As a method, a data acquisition module is provided in the electronic device, which can directly acquire the external force load applied by the user to the electronic device. When the electronic device detects that a user is operating the electronic device, the external force load applied by the user to the electronic device is acquired through the data acquisition module provided in the electronic device. The external force load acquired by the electronic device is then sent to the robotic arm, and the robotic arm can calculate the motion parameters of each motor of the robotic arm based on the inverse kinematics algorithm and the external force load pre-stored in the robotic arm.

[0068] Optionally, when the electronic device detects that the user clicks on the display screen of the electronic device or rotates the electronic device, it is determined that the user is operating the electronic device.

[0069] As another way, after obtaining the external force load applied by the user to the electronic device, the electronic device can also obtain a pre-stored inverse kinematics algorithm from the robotic arm, and calculate the motion parameters of each motor of the robotic arm through the inverse kinematics algorithm and the external force load. Then, the electronic device can transmit the motion parameters of each motor of the robotic arm to the robotic arm, so that the robotic arm controls each motor of the robotic arm to perform corresponding motion based on the motion parameters.

[0070] Step S320: obtaining a preset corresponding relationship, where the preset corresponding relationship is a corresponding relationship between an external force load and a motion parameter, and different external force loads correspond to different motion parameters.

[0071] In the embodiment of the present application, during the interaction between the mechanical arm and the electronic device, due to the different ways in which the user operates the electronic device, the external force load applied by the user to the electronic device may be different, and the mechanical arm connected to the electronic device may be in different postures under the action of the user. For example, when the user is playing a shooting game through the electronic device, the user's operation on the electronic device is more about clicking the electronic device, while when the user is playing a racing game through the electronic device, the user's operation on the electronic device is more about rotating the electronic device, and the magnitude and direction of the force applied to the electronic device by clicking the electronic device and rotating the electronic device may be different. The force applied to the electronic device by clicking the electronic device is more of a downward force, while the force applied to the electronic device by rotating the electronic device is more of a leftward or rightward force.

[0072] Among them, a downward force may cause the end of the mechanical arm connected to the electronic device to move toward the ground, while a leftward or rightward force may cause the end of the mechanical arm connected to the electronic device to translate to the left or right. Since the end of the mechanical arm can move in different directions, the mechanical arm connected to the electronic device may be in different postures under the influence of the user.

[0073] Therefore, when establishing the correspondence between the external force load and the motion parameters, the correspondence between the external force load and the motion parameters can be established in different scenarios when the robot arm is in different postures. For example, in the application scenario of a racing game simulating a steering wheel, the robot arm corresponds to posture 1, posture 2, posture 3, and posture 4. Then, when establishing the correspondence between the external force load and the motion parameters, the correspondence between the external force load when the robot arm is in posture 1 and the corresponding motion parameters can be established, the correspondence between the external force load when the robot arm is in posture 2 and the corresponding motion parameters can be established, the correspondence between the external force load when the robot arm is in posture 3 and the corresponding motion parameters can be established, and the correspondence between the external force load when the robot arm is in posture 4 and the corresponding motion parameters can be established.

[0074] As a method, the preset corresponding relationship can be stored in a storage area of ​​the electronic device or in a storage area of ​​the robotic arm, and then when the preset corresponding relationship needs to be obtained, it can be obtained from the corresponding storage area.

[0075] Step S330: Based on the preset corresponding relationship, determine the motion parameter corresponding to the external force load that triggers the electronic device to move.

[0076] In the embodiment of the present application, after the preset corresponding relationship is obtained, the motion parameters corresponding to the external force load transmitted by the electronic device through wireless communication can be determined by searching the preset corresponding relationship.

[0077] Step S340: Based on the motion parameters, control the motors of the robotic arm to perform corresponding motions to apply force feedback to the electronic device.

[0078] In an embodiment of the present application, when the electronic device detects that a user is operating the electronic device, the external force load applied by the user to the electronic device is obtained through a data acquisition module provided in the electronic device. The external force load obtained by the electronic device is then sent to the mechanical arm, and the mechanical arm can calculate the motion parameters of each motor of the mechanical arm based on the inverse kinematics algorithm and the external force load pre-stored in the mechanical arm. In this embodiment, the mechanical arm can directly control each motor of the mechanical arm to perform corresponding motion based on the motion parameters to apply force feedback to the electronic device.

[0079] After obtaining the external force load applied by the user to the electronic device, the electronic device can also obtain a pre-stored inverse kinematics algorithm from the mechanical arm, and calculate the motion parameters of each motor of the mechanical arm through the inverse kinematics algorithm and the external force load. Then the electronic device can transmit the motion parameters of each motor of the mechanical arm to the mechanical arm, so that the mechanical arm controls each motor of the mechanical arm to perform corresponding motion based on the motion parameters. In this embodiment, after calculating the motion parameters of each motor of the mechanical arm, the electronic device can send a control instruction to the mechanical arm, and then the mechanical arm can control each motor of the mechanical arm to perform corresponding motion based on the control instruction sent by the electronic device, so as to apply force feedback to the electronic device.

[0080] The present application provides a motion control method, which first receives an external force load transmitted by an electronic device through wireless communication, then obtains a preset correspondence between the external force load and the motion parameter, determines the motion parameter corresponding to the external force load that triggers the electronic device to move based on the preset correspondence, and finally controls each motor of the mechanical arm to perform corresponding motion based on the motion parameter to apply force feedback to the electronic device. Through the above method, after the electronic device is connected to the mechanical arm, the electronic device will apply a load to the mechanical arm in the presence of an external force, so that the mechanical arm can give force feedback to the electronic device according to the external force load received, thereby providing the user with a more realistic feeling and improving the user experience during the use of the electronic device.

[0081] See also Figure 6 , a motion control method provided by an embodiment of the present application is applied to Figure 1 The robot arm in the interactive system shown, the method comprising:

[0082] Step S410: Acquire a first load when the robotic arm is in a current posture, where the first load is a load detected by each motor of the robotic arm when an electronic device connected to the robotic arm is subjected to an external force.

[0083] Step S420: Obtain the size and weight of each axis of the robotic arm.

[0084] In the embodiment of the present application, each axis of the mechanical arm can be understood as a connecting rod between each rotating joint of the mechanical arm. The size of each axis of the mechanical arm can include the length and center of gravity of each axis of the mechanical arm.

[0085] As a method, before using the robotic arm, the size and weight of each axis of the robotic arm can be obtained through measurement, weighing, calculation, etc., and the size and weight of each axis of the robotic arm can be stored as parameters. Then, when the size and weight of each axis of the robotic arm is needed, the size and weight of each axis of the robotic arm can be obtained from the storage area where the size and weight of each axis of the robotic arm are stored.

[0086] Optionally, when the robotic arm obtains the first load when the robotic arm is in the current posture, it can start to obtain the size and weight of each axis of the robotic arm from the storage area storing the size and weight of each axis of the robotic arm.

[0087] Optionally, the robotic arm can be controlled to be in a plurality of different spatial postures. In the absence of external force on the connected electronic device, the size and weight of each axis of the robotic arm are recorded when the robotic arm is in each spatial posture.

[0088] Step S430: Obtain the movement speed of the mechanical arm of the electronic device when the mechanical arm is in the current posture without the action of external force.

[0089] In the embodiment of the present application, when the robot arm holds the electronic device for interaction but no user operates the electronic device, the current posture of the robot arm, that is, the position of each axis of the robot arm in three-dimensional space, is determined according to the angle of each motor included in the robot arm. At the same time, the movement speed of the robot arm itself when the robot arm is in the current posture can be read.

[0090] Step S440: Based on the size and weight and the movement speed, calculate the second load of each motor when the robotic arm is in the current posture.

[0091] In the embodiment of the present application, after obtaining the size, weight and movement speed of each axis of the robotic arm, the load borne by each motor included in the robotic arm can be calculated by using the weight and size of each axis of the robotic arm in combination with the current posture of the robotic arm and the movement speed of the robotic arm through the torque calculation formula. The calculated load is the load generated by the mechanical arm due to its own gravity during the operation of the electronic device without the action of external force.

[0092] Among them, torque is the product (M) of force (F) and lever arm (L). That is: M = F·L. Torque is a physical quantity that describes the effect of the rotation of an object. The effect of torque is determined only when the rotation state of the object changes.

[0093] When an object rotates around a fixed axis, the torque has only two possible directions, so it can be represented by positive and negative signs. Generally speaking, the torque that rotates the object in the counterclockwise direction is positive; the torque that rotates the object in the clockwise direction is negative. Therefore, the resultant torque of several torques acting on a rotating object with a fixed axis is equal to their algebraic sum. This algebraic sum will determine whether the object is in equilibrium or non-equilibrium.

[0094] Optionally, step S430 and step S440 may be repeated to determine the second load of each motor of the mechanical arm when the electronic device is in different postures without the action of external force. After determining the second load of each motor of the mechanical arm when the electronic device is in different postures without the action of external force, a corresponding relationship between the posture of the mechanical arm and the second load of each motor of the mechanical arm may be established, so that after determining the current posture of the mechanical arm, the second load of each motor of the mechanical arm corresponding to the current posture of the mechanical arm may be directly found through the corresponding relationship.

[0095] Step S450: Based on the first load and the second load, determine the external force load of each motor of the robotic arm, where the second load is the load detected by each motor of the robotic arm when there is no external force on the electronic device connected to the robotic arm and the robotic arm is in the current posture.

[0096] Step S460: If the external force load exceeds the load threshold, determine the displacement direction and distance that triggers the electronic device to move based on the external force load.

[0097] In the embodiment of the present application, when it is determined that the external force load is less than or equal to the external force threshold, the displacement direction and distance of the electronic device to be triggered to move are determined by the external force load. The displacement direction and distance are pre-set parameters for the electronic device to move, and different external force loads correspond to different displacement directions and distances.

[0098] Step S470: Determine the rotation angle of each motor of the robotic arm based on the inverse kinematics algorithm of the robotic arm and the displacement direction and distance.

[0099] In the present application, inverse kinematics is the process of determining the parameters of the joint movable object to be set to achieve the desired posture. Applications of inverse kinematics algorithms include interactive manipulation, animation control and collision avoidance.

[0100] Optionally, the current posture of the robotic arm can be mapped to each axis of the robotic arm through the inverse kinematics algorithm of the robotic arm, so as to achieve the effect of controlling the movement of the robotic arm according to the external force applied to the robotic arm by the user. Optionally, different robotic arms correspond to different inverse kinematics algorithms.

[0101] As a method, the inverse kinematics algorithm corresponding to the robot arm can be pre-stored in the robot arm when the robot arm is produced. After obtaining the displacement direction and distance that triggers the electronic device to move, the corresponding inverse kinematics algorithm can be directly obtained, and the rotation angle of each motor of the robot arm can be calculated based on the inverse kinematics algorithm and the displacement direction and distance that triggers the electronic device to move.

[0102] Step S480: Based on the rotation angle, control each motor of the robotic arm to perform corresponding movement to move the electronic device in the displacement direction by the distance.

[0103] In the embodiment of the present application, after the rotation angle of each motor of the mechanical arm is calculated, each motor of the mechanical arm is controlled to rotate the corresponding rotation angle so that the electronic device moves the corresponding distance in the displacement direction. For example, if the magnitude of the external force load is determined to be 10N, the corresponding moving direction is directly downward, and the distance is 3mm, then the rotation angle of each motor of the corresponding mechanical arm can be calculated based on the inverse kinematics algorithm of the corresponding mechanical arm and the displacement direction and distance, and then each motor of the mechanical arm can be controlled to rotate the corresponding rotation angle so that the electronic device moves 3mm directly downward.

[0104] The present application provides a motion control method, firstly obtaining a first load of a mechanical arm when it is in a current posture, then obtaining the size and weight of each axis of the mechanical arm, obtaining the movement speed of the mechanical arm when the electronic device is in the current posture without the action of an external force, calculating the second load of each motor when the mechanical arm is in the current posture based on the size, weight and movement speed, and then determining the external force load of each motor of the mechanical arm based on the first load and the second load, if the external force load exceeds the load threshold, determining the displacement direction and distance that triggers the electronic device to move based on the external force load, determining the rotation angle of each motor of the mechanical arm based on the inverse kinematics algorithm of the mechanical arm and the displacement direction and distance, and controlling each motor of the mechanical arm to perform corresponding motion based on the rotation angle so that the electronic device moves a corresponding distance in the displacement direction. Through the above method, after the electronic device is connected to the mechanical arm, the electronic device will apply a load to the mechanical arm in the presence of an external force, so that the mechanical arm can give force feedback to the electronic device according to the external force load received, and then the user can be provided with a more realistic feeling in the process of using the electronic device, thereby improving the user experience.

[0105] See also Figure 7 , an embodiment of the present application provides a motion control device 500, the device 500 comprising:

[0106] The load acquisition unit 510 is used to acquire the external force load acquired when the robotic arm is in a current posture, where the external force load is the load applied to the robotic arm by an electronic device connected to the robotic arm under the action of an external force.

[0107] As a method, the load acquisition unit 510 is specifically used to obtain a first load when the robotic arm is in a current posture, the first load being the load detected by the motors of the robotic arm when an external force acts on an electronic device connected to the robotic arm; based on the first load and the second load, the external force load of each motor of the robotic arm is determined, the second load being the load detected by the motors of the robotic arm when there is no external force acting on the electronic device connected to the robotic arm and the robotic arm is in the current posture.

[0108] Optionally, the load acquisition unit 510 is also used to obtain the size and weight of each axis of the robotic arm; obtain the movement speed of the robotic arm when the electronic device is in the current posture without the action of external force; based on the size and weight and the movement speed, calculate the second load of each motor when the robotic arm is in the current posture.

[0109] As another embodiment, the load acquisition unit 510 is further configured to receive an external force load transmitted by the electronic device via wireless communication.

[0110] The parameter determination unit 520 is used to determine a feedback parameter based on the external force load.

[0111] As a method, the parameter determination unit 520 is specifically used to determine the motion parameters that trigger the electronic device to move based on the external force load if the external force load exceeds a load threshold, wherein the load threshold is different when the robotic arm is in different postures.

[0112] Optionally, the parameter determination unit 520 is also used to obtain a preset correspondence relationship, which is a correspondence relationship between an external force load and a motion parameter, and different external force loads correspond to different motion parameters; based on the preset correspondence relationship, determine the motion parameter corresponding to the external force load that triggers the electronic device to move.

[0113] The feedback unit 530 is used to control the robotic arm to apply force feedback to the electronic device based on the feedback parameter.

[0114] As a method, the feedback unit 530 is specifically used to control each motor of the robotic arm to perform corresponding movement based on the movement parameters, so as to apply force feedback to the electronic device.

[0115] Optionally, the feedback unit 530 is specifically configured to determine a feedback force for triggering the electronic device to move based on the external force load if the external force load does not exceed the load threshold.

[0116] As another embodiment, the feedback unit 530 is specifically used to determine the rotation angle of each motor of the robotic arm based on the inverse kinematics algorithm of the robotic arm and the displacement direction and distance; based on the rotation angle, control each motor of the robotic arm to perform corresponding movement to make the electronic device move the distance in the displacement direction.

[0117] See also Figure 8 , an embodiment of the present application provides a mechanical arm 600, the mechanical arm 600 includes: a rotation joint 610, a connecting rod 620 between each rotation joint, and a motor 630 driving the rotation joint 610. The motor 630 is used to obtain the external force load obtained when the mechanical arm is in a current posture. The rotation joint 610 is used to determine a feedback parameter based on the external force load; based on the feedback parameter, the mechanical arm is controlled to apply force feedback to the electronic device.

[0118] It should be noted that the device embodiment in the present application corresponds to the aforementioned method embodiment. The specific principles in the device embodiment can be found in the contents of the aforementioned method embodiment and will not be repeated here.

[0119] The following will be combined Fig. 9An electronic device provided by the present application is described.

[0120] See also Fig. 9 Based on the above motion control method and device, the embodiment of the present application also provides another electronic device 800 connected to a robot arm that can execute the above motion control method. The electronic device 800 includes one or more (only one is shown in the figure) processors 802, a memory 804 and a network module 806 that are coupled to each other. The memory 804 stores a program that can execute the content of the above embodiment, and the processor 802 can execute the program stored in the memory 804.

[0121] Among them, the processor 802 may include one or more processing cores. The processor 802 uses various interfaces and lines to connect various parts of the entire electronic device 800, and executes various functions and processes data of the electronic device 800 by running or executing instructions, programs, code sets or instruction sets stored in the memory 804, and calling data stored in the memory 804. Optionally, the processor 802 can be implemented in at least one hardware form of digital signal processing (Digital Signal Processing, DSP), field programmable gate array (Field-Programmable Gate Array, FPGA), and programmable logic array (Programmable Logic Array, PLA). The processor 802 can integrate one or a combination of a central processing unit (Central Processing Unit, CPU), a graphics processing unit (Graphics Processing Unit, GPU) and a modem. Among them, the CPU mainly processes the operating system, user interface and application programs; the GPU is responsible for rendering and drawing display content; and the modem is used to process wireless communications. It can be understood that the above-mentioned modem may not be integrated into the processor 802, but may be implemented separately through a communication chip.

[0122] The memory 804 may include a random access memory (RAM) or a read-only memory (ROM). The memory 804 may be used to store instructions, programs, codes, code sets or instruction sets. The memory 804 may include a program storage area and a data storage area, wherein the program storage area may store instructions for implementing an operating system, instructions for implementing at least one function (such as a touch function, a sound playback function, an image playback function, etc.), instructions for implementing the following various method embodiments, etc. The data storage area may also store data (such as a phone book, audio and video data, chat record data) created by the electronic device 800 during use.

[0123] The network module 806 is used to receive and send electromagnetic waves, realize the mutual conversion between electromagnetic waves and electrical signals, so as to communicate with a communication network or other devices, such as communicating with an audio playback device. The network module 806 may include various existing circuit elements for performing these functions, such as antennas, radio frequency transceivers, digital signal processors, encryption / decryption chips, user identity modules (SIM) cards, memories, etc. The network module 806 may communicate with various networks such as the Internet, corporate intranets, wireless networks, or communicate with other devices via wireless networks. The above-mentioned wireless networks may include cellular telephone networks, wireless local area networks, or metropolitan area networks. For example, the network module 806 may exchange information with a base station.

[0124] Please refer to Fig.10 , which shows a structural block diagram of a computer-readable storage medium provided in an embodiment of the present application. The computer-readable storage medium 900 stores program codes, which can be called by a processor to execute the method described in the above method embodiment.

[0125] The computer-readable storage medium 900 may be an electronic memory such as a flash memory, an EEPROM (electrically erasable programmable read-only memory), an EPROM, a hard disk, or a ROM. Optionally, the computer-readable storage medium 900 includes a non-transitory computer-readable storage medium. The computer-readable storage medium 900 has storage space for program code 910 that performs any method step in the above method. These program codes can be read from or written to one or more computer program products. The program code 910 can be compressed, for example, in an appropriate form.

[0126] The present application provides a motion control method, device, robotic arm, interactive system and storage medium, which first obtains the external force load obtained when the robotic arm is in the current posture, and the external force load is the load applied to the robotic arm by the electronic device connected to the robotic arm under the action of the external force, and then determines the feedback parameter based on the external force load, so as to control the robotic arm to apply force feedback to the electronic device according to the feedback parameter. Through the above method, after the electronic device is connected to the robotic arm, the electronic device will apply a load to the robotic arm when there is an external force, so that the robotic arm can give force feedback to the electronic device according to the external force load, so that the user can be provided with a more realistic feeling in the process of using the electronic device, and the user experience is improved.

[0127] The embodiments of the present invention are described above in conjunction with the accompanying drawings, but the present invention is not limited to the above-mentioned specific implementation modes, which are merely illustrative rather than restrictive. Under the guidance of the present invention, ordinary technicians in this field can also make many forms without departing from the scope of protection of the present invention and the claims, all of which are within the protection of the present invention.

Claims

1. A device control method, characterized in that: Applied to a robotic arm, the method comprises: Acquire an external force load acquired when the robotic arm is in a current posture, wherein the external force load is a load applied to the robotic arm by an electronic device connected to the robotic arm under the action of an external force; determining a feedback parameter based on the external force load; The step of determining a feedback parameter based on the external force load comprises: If the external force load does not exceed the load threshold, determining a feedback force for triggering the electronic device to move based on the external force load, wherein the feedback force is a force having the same magnitude as the external force load but opposite direction; Based on the feedback parameters, the robotic arm is controlled to apply force feedback to the electronic device, wherein the force feedback is provided by keeping each motor of the robotic arm from rotating.

2. The method according to claim 1, characterized in that: The obtaining of the external force load obtained when the robotic arm is in the current posture includes: Acquire a first load when the robotic arm is in a current posture, where the first load is a load detected by each motor of the robotic arm when an electronic device connected to the robotic arm is subjected to an external force; Based on the first load and the second load, the external force load of each motor of the robotic arm is determined, wherein the second load is the load detected by each motor of the robotic arm when there is no external force on the electronic device connected to the robotic arm and the robotic arm is in the current posture.

3. The method according to claim 2, characterized in that Before determining the external force load of each motor of the robotic arm based on the first load and the second load, the method further includes: Obtain the size and weight of each axis of the robotic arm; Acquire the movement speed of the mechanical arm when the electronic device is in the current posture without the action of external force; Based on the size and weight and the movement speed, a second load of each motor when the robot arm is in the current posture is calculated.

4. The method according to claim 1, characterized in that: The obtaining of the external force load obtained when the robotic arm is in the current posture includes: An external force load is received which is transmitted by the electronic device via wireless communication.

5. The method according to claim 1, characterized in that The step of determining a feedback parameter based on the external force load comprises: If the external force load exceeds a load threshold, determining a motion parameter that triggers the electronic device to move based on the external force load, wherein the load threshold is different when the robotic arm is in different postures; The controlling the mechanical arm to apply force feedback to the electronic device based on the feedback parameter comprises: Based on the motion parameters, each motor of the robotic arm is controlled to perform corresponding motion to apply force feedback to the electronic device.

6. The method according to claim 5, characterized in that If the external force load exceeds the load threshold, determining the motion parameter that triggers the electronic device to move based on the external force load includes: Acquire a preset corresponding relationship, where the preset corresponding relationship is a corresponding relationship between an external force load and a motion parameter, and different external force loads correspond to different motion parameters; Based on the preset corresponding relationship, a motion parameter corresponding to the external force load that triggers the electronic device to move is determined.

7. The method according to claim 5, characterized in that The motion parameters include displacement direction and distance; and based on the motion parameters, controlling each motor of the mechanical arm to perform corresponding motion to apply force feedback to the electronic device includes: Determine the rotation angle of each motor of the robotic arm based on the inverse kinematics algorithm of the robotic arm and the displacement direction and distance; Based on the rotation angle, each motor of the mechanical arm is controlled to perform corresponding movement so that the electronic device moves the distance in the displacement direction.

8. A motion control device, characterized in that: Running on a robotic arm, the device comprises: A load acquisition unit, used to acquire an external force load acquired when the mechanical arm is in a current posture, wherein the external force load is a load applied to the mechanical arm by an electronic device connected to the mechanical arm under the action of an external force; a parameter determination unit, configured to determine a feedback parameter based on the external force load; the step of determining the feedback parameter based on the external force load comprises: if the external force load does not exceed a load threshold, determining a feedback force for triggering the electronic device to move based on the external force load, wherein the feedback force is a force having the same magnitude as the external force load but opposite direction; A feedback unit is used to control the mechanical arm to apply force feedback to the electronic device based on the feedback parameters, wherein the force feedback is provided by keeping the motors of the mechanical arm from rotating.

9. A robotic arm, characterized in that: The robotic arm includes rotating joints, connecting rods between the rotating joints, and motors for driving the rotating joints. The robotic arm is used to execute any one of the methods described in claims 1-7.

10. An interactive system, characterized in that: The system comprises an electronic device and the robotic arm of claim 9, wherein the electronic device is connected to the robotic arm.

11. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores program code, wherein when the program code is executed by a processor, the method according to any one of claims 1 to 7 is executed.

Citation Information

Patent Citations

  • Spacecraft mechanical arm flexible follow-up control gravity compensation method

    CN103600354A

  • Non-structure freeform curved surface grinding device

    CN110695809A

  • Tactile feedback equipment, electronic equipment and robot system

    CN111475025A