WO2023142724A1 - 机械臂、机械臂的控制方法、装置、机器人及存储介质 - Google Patents

机械臂、机械臂的控制方法、装置、机器人及存储介质 Download PDF

Info

Publication number
WO2023142724A1
WO2023142724A1 PCT/CN2022/138281 CN2022138281W WO2023142724A1 WO 2023142724 A1 WO2023142724 A1 WO 2023142724A1 CN 2022138281 W CN2022138281 W CN 2022138281W WO 2023142724 A1 WO2023142724 A1 WO 2023142724A1
Authority
WO
WIPO (PCT)
Prior art keywords
lifting
target object
target
sliding
component
Prior art date
Application number
PCT/CN2022/138281
Other languages
English (en)
French (fr)
Inventor
周诚
郑宇�
Original Assignee
腾讯科技(深圳)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 腾讯科技(深圳)有限公司 filed Critical 腾讯科技(深圳)有限公司
Publication of WO2023142724A1 publication Critical patent/WO2023142724A1/zh
Priority to US18/472,517 priority Critical patent/US20240009844A1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/10Programme-controlled manipulators characterised by positioning means for manipulator elements
    • B25J9/12Programme-controlled manipulators characterised by positioning means for manipulator elements electric
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning

Definitions

  • the embodiments of the present application relate to the field of robot control, and in particular to a robot arm, a method and device for controlling the robot arm, a robot, and a storage medium.
  • the robot grabs the target object through an end effector (such as a manipulator), it places the target object at a designated position.
  • the process of placing the target object by the robot is a quasi-static or static placing process. That is, the robotic arm brings the target object to the designated position through the end effector, the mechanical arm stops moving, the end effector opens, and the object is lowered.
  • the object placement process in the related art requires the end effector to be opened after the robotic arm hovers, and the process of moving and placing the object is incoherent, resulting in low efficiency of the robot to place the object.
  • Embodiments of the present application provide a robotic arm, a control method and device for the robotic arm, a robot, and a storage medium, which can dynamically place a target object through the robotic arm and improve the efficiency of placing objects. Described technical scheme is as follows:
  • a mechanical arm in one aspect, includes: a lifting component, a main body of the mechanical arm, a driving motor, and a controller;
  • the controller is connected to the driving motor; the lifting component is connected to the main body of the mechanical arm;
  • the controller is used to generate a control signal, and the control signal controls the driving motor to drive the lifting part to move, so that the target object placed on the lifting part moves with the lifting part , sliding on the upper surface of the lifting component under the action of friction and gravity, and sliding away from the lifting component at a target position at a target speed.
  • a method for controlling a mechanical arm executed by a controller, the mechanical arm includes a lifting component, a main body of the mechanical arm, and a driving motor, the lifting component is connected to the main body of the mechanical arm;
  • Methods include:
  • a sliding dynamics model is constructed; the sliding dynamics model is used to indicate that during the movement of the lifting part to lift the target object, the change of the generalized coordinates of the kinematic system is related to the impact of the kinematic system The relationship between the driving forces; the motion system includes the lifting component and the target object;
  • the target control information includes the motion trajectory of the lifting component and the driving force received by the motion system at various moments;
  • the driving motor drives the lifting part to move, so that the target object placed on the lifting part moves with the lifting part under the action of friction and gravity sliding on the upper surface of the lifting member, and sliding away from the lifting member at a target position and at a target speed.
  • a control device for a mechanical arm includes a lifting part, a main body of the mechanical arm, and a drive motor, the lifting part is connected to the main body of the mechanical arm; the device includes:
  • a coefficient acquisition module configured to acquire the coefficient of friction between the target object on the lifting component and the lifting component
  • a model construction module configured to construct a sliding dynamics model based on the friction coefficient;
  • the sliding dynamics model is used to indicate changes in the generalized coordinates of the motion system during the movement of the lifting component lifting the target object and the relationship between the driving force received by the motion system;
  • the motion system includes the lifting component and the target object;
  • a control information acquisition module configured to acquire target control information based on the sliding dynamics model;
  • the target control information includes the motion track of the lifting component and the driving force received by the motion system at various moments;
  • a drive control module configured to drive the lifting component to move through the drive motor based on the target control information, so that the target object placed on the lifting component will be frictionally Sliding on the upper surface of the lifting part under the action of force and gravity, and sliding away from the lifting part at a target position at a target speed.
  • a robot in another aspect, includes the above-mentioned mechanical arm;
  • the controller in the robotic arm is used to execute the control method of the robotic arm as described above.
  • a computer-readable storage medium wherein at least one instruction, at least one program, code set or instruction set are stored in the storage medium, the at least one instruction, the at least one program, the code
  • the set or instruction set is loaded and executed by one or more processors to implement the method for controlling the mechanical arm as described in any one of the above-mentioned embodiments of the present application.
  • a computer program product or computer program comprising computer readable instructions stored in a computer readable storage medium.
  • One or more processors of the computer device read the computer-readable instructions from the computer-readable storage medium, and one or more processors execute the computer-readable instructions, so that the computer device executes the computer-readable instructions described in any one of the above-mentioned embodiments.
  • the control method of the mechanical arm is provided.
  • Fig. 1 is a schematic structural diagram of a mechanical arm provided by an exemplary embodiment of the present application
  • Fig. 2 is a schematic structural diagram of a mechanical arm provided by an exemplary embodiment of the present application.
  • Fig. 3 is a flowchart of a control method of a robotic arm provided in an exemplary embodiment of the present application
  • Fig. 4 is a dynamic schematic diagram of object placement provided by an exemplary embodiment of the present application.
  • Fig. 5 is a dynamic schematic diagram of object placement provided by another exemplary embodiment of the present application.
  • Fig. 6 is the implementation process of the sliding placement operation provided by the present application.
  • FIG. 7 is a flowchart of a method for controlling a robotic arm provided in an exemplary embodiment of the present application.
  • Fig. 8 is a schematic diagram of a motion system provided by an exemplary embodiment of the present application.
  • Fig. 9 is a schematic diagram of position adjustment and placement provided by an exemplary embodiment of the present application.
  • Fig. 10 is a structural block diagram of a control device for a robotic arm provided in an exemplary embodiment of the present application.
  • Fig. 11 is a structural block diagram of a robot provided by an exemplary embodiment of the present application.
  • Robot It is an intelligent machine that can work semi-autonomously or fully autonomously. Optionally, this kind of machine has some intelligent abilities similar to humans or creatures, such as perception ability, planning ability, action ability and coordination ability, and is an automated machine with high flexibility.
  • a robot is a machine device that performs work automatically. It can accept human command, run pre-programmed programs, and act according to principles formulated with artificial intelligence technology. Robots are often tasked with assisting or replacing human work. Robots can be the product of advanced integration of cybernetics, mechatronics, computers, materials and bionics, and have important uses in industry, medicine, agriculture, service industry, construction industry and other fields.
  • robots can also be divided into two categories, namely industrial robots and special robots.
  • Industrial robots refer to multi-joint manipulators or multi-degree-of-freedom robots for the industrial field.
  • Special robots are all kinds of advanced robots that are used in non-manufacturing and serve human beings except industrial robots, including: bionic robots, service robots, underwater robots, entertainment robots, agricultural robots, etc.
  • some branches develop rapidly and tend to become independent systems, such as service robots, underwater robots, and micro-manipulation robots.
  • the arm of the rectangular coordinate type can move along three rectangular coordinates; the arm of the cylindrical coordinate type can be used for lifting, turning and telescopic movements; the arm of the spherical coordinate type can rotate, pitch and stretch; the arm of the joint type has multiple Turn the joint.
  • industrial robots can be divided into point-position type and continuous trajectory type.
  • the point-position type control actuator can be accurately positioned from one point to another point, and is suitable for machine tool loading and unloading, spot welding, and general handling, loading and unloading operations;
  • the continuous trajectory type can control the actuator to move according to a given trajectory, and is suitable for continuous welding and coating. Loading and other work.
  • industrial robots can be divided into two types: programming input type and teaching input type.
  • the programming input type is to transmit the operating program file compiled on the computer to the robot control cabinet through serial port or Ethernet communication.
  • teaching methods of the teaching input type one is that the operator uses a manual controller (teaching control box) to transmit the command signal to the drive system, so that the actuator can perform the operation according to the required action sequence and motion track. ;
  • the other is that the operator directly leads the actuator, and performs it again according to the required action sequence and motion track.
  • the information of the working program is automatically stored in the program memory.
  • the control system detects the corresponding information from the program memory, and sends the command signal to the drive mechanism to make the actuator reproduce the teaching.
  • the industrial robot that teaches the input program is called the teaching reproduction industrial robot.
  • AI Artificial Intelligence
  • artificial intelligence is a comprehensive technique of computer science that attempts to understand the nature of intelligence and produce a new kind of 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.
  • artificial intelligence technology has been researched 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, intelligent medical care, intelligent customer service, etc., I believe that with the development of technology, artificial intelligence technology will be applied in more fields and play an increasingly important value.
  • AI technology can be applied to robots, mainly involving robot control technology, machine learning technology, computer vision technology and so on.
  • the involved robot has a robotic arm, and the robotic arm can be used to perform an object placement task, that is, to place a target object to a certain target position.
  • FIG. 1 is a schematic structural diagram of a robotic arm provided in an exemplary embodiment of the present application, and the robotic arm can be installed in a robot.
  • the robotic arm includes a lifting component 110 , a robotic arm body 120 , a driving motor 130 and a controller 140 .
  • the above-mentioned lifting component 110 may be implemented as a plane or a plane-like component for supporting the target object 150 .
  • the above-mentioned mechanical arm main body 120 is used for connecting the lifting component 110 , and the lifting component 110 is connected with the mechanical arm main body 120 .
  • one end of the manipulator main body 120 is connected to the manipulator support part, and the other end is connected to the lifting part 110, wherein the manipulator support part may be the robot main body or other support parts in contact with the support surface.
  • the lifting part 110 is connected to the other end of the main body of the robotic arm 120 .
  • the lifting part 110 is used as an extension of the main body 120 of the robot arm to perform the task of supporting and placing objects.
  • the above-mentioned driving motor 130 can be arranged at each joint of the robot arm to control the rotation of each joint, so as to drive the components connected with the joint to rotate or move.
  • the above-mentioned controller 140 is connected with the driving motor 130 to generate a control signal, send the control signal to the driving motor 130, and control the operation of the driving motor 130 through the control signal.
  • the connection mode between the controller 140 and the drive motor 130 includes electrical connection, wireless connection or other connection modes capable of realizing signal transmission.
  • the above-mentioned controller 140 may be used to control the driving motor to drive the lifting component to move, so that the target object moves along with the lifting component.
  • driving the movement of the lifting component includes at least one of changing the posture of the lifting component or causing a displacement of the lifting component.
  • changing the posture of the lifting component includes making the lifting component rotate clockwise or counterclockwise.
  • Displacing the lifting component includes moving the lifting component in any direction to reach another position.
  • moving in any direction may specifically be moving along a straight line or along a curve.
  • the target object With the movement of the lifting part, the target object will slide on the surface of the lifting part under the action of friction and gravity, and slide away from the lifting part at the target position at the target speed, wherein the target speed is vector data, including Target speed direction and target speed magnitude.
  • the controller controls the driving motor and drives the lifting part to move, so that the target object As the lifting part moves, it slides on the upper surface of the lifting part under the action of friction and gravity and breaks away from the lifting part.
  • the target object is dynamically placed by the movement of the lifting component, there is no static process, and the action of placing the object can be executed coherently, thereby improving the efficiency of placing the object.
  • Fig. 2 is a schematic structural diagram of a robotic arm provided by an exemplary embodiment of the present application, and the robotic arm can be installed in a robot.
  • the robotic arm includes a lifting component 110 , a robotic arm body 120 , a driving motor 130 and a controller 140 .
  • the above-mentioned lifting component 110 may be implemented as a plane or a plane-like component for supporting the target object 150 .
  • the surface of the lifting component 110 for supporting the target object 150 may be a rough surface capable of generating friction, and different roughness of the surface of the lifting component supporting the target object corresponds to a different coefficient of friction.
  • the manipulator body 120 is used to connect the lifting part 110, and the lifting part 110 is connected to the manipulator body 120, and the lifting part 110 is used as an extension of the manipulator body 120 to perform the task of placing objects.
  • the above-mentioned driving motor 130 can be arranged at each joint of the robot arm to control the rotation of each joint, so as to drive the components connected with the joint to rotate or move.
  • the number of driving motors 130 may be the same as the number of joints to be controlled in the robotic arm, and the joints to be controlled in the robotic arm may be every joint in the robotic arm, or a part of the joints in the robotic arm.
  • the above-mentioned controller 140 is connected with the drive motor 130 to control the operation of the drive motor 130 .
  • controller 140 can be used to control the driving motor to drive the lifting part to move, so that the target object moves with the lifting part and moves on the upper surface of the lifting part under the action of friction and gravity. Slide, and slide off the lifting part at the target position and at the target speed.
  • the main body of the mechanical arm may be driven by the driving motor, and the main body of the mechanical arm drives the lifting component to move.
  • the lifting part 110 and the main body 120 of the mechanical arm may be connected through a first joint 160;
  • the drive motor 130 includes a first drive motor 130a;
  • the first driving motor 130a is used to drive the first joint 160, so that the lifting part 110 rotates relative to the main body 120 of the mechanical arm, so that the side of the lifting part 110 extending along the first direction is inclined upward or downward,
  • the target object supported on the lifting part 110 forms a certain angle with the horizontal direction, so that the target object slides along the inclined direction after the lifting part rotates under the action of friction and gravity.
  • the rotation direction of the first joint 160 driven by the first driving motor 130a may be related to the desired direction in which the target object slides away from the lifting component, for example, it may be the desired direction in which the target object slides away from the lifting component, or the target object slides away from the lifting component. The opposite direction of the expected direction of the lifting part, etc.
  • the rotation angle of the first joint 160 driven by the first drive motor 130a can be related to the roughness of the supporting surface of the lifting part and the weight of the target object, for example, the greater the roughness of the supporting surface of the lifting part, the greater the rotation angle The larger is, for example, the heavier the weight of the target object, the larger the rotation angle.
  • the lifting component 110 rotates relative to the main body 120 of the mechanical arm, and may rotate around the connecting joint, and the rotation method may be determined according to the connection mode between the connecting joint and the lifting component.
  • the lifting part can rotate around the connecting shaft; when the connecting joint and the lifting part are connected by a ball, the lifting part can be As the center, rotate around the connection point to improve the precise control of the rotation process.
  • the generation process of the control signal specifically includes: obtaining the friction coefficient between the target object on the lifting component and the lifting component, constructing a sliding dynamics model based on the friction coefficient, generating target control information based on the sliding dynamics model,
  • the target control information generates the control signal of the driving motor, so that the driving motor drives the lifting part to move, so that the target object moves with the lifting part, slides on the upper surface of the lifting part under the action of friction and gravity, and The target position slides off the lifting member at the target velocity.
  • the sliding dynamics model is used to indicate the relationship between the change of the generalized coordinates of the kinematic system and the driving force received by the kinematic system during the movement of the lifting component and the target object.
  • the kinematic system includes the lifting component and the target object.
  • the target control information includes the motion trajectory of the lifting part and the driving force received by the motion system at each moment.
  • the controller is used to generate a first movement control signal and a first rotation control signal, wherein the first movement control signal controls the driving motor to drive the lifting member to move to the first position along the first direction, and the first rotation The control signal controls the drive motor to drive the lifting part to rotate until one side of the lifting part extending in the first direction is inclined downward, so that the target object slides on the upper surface of the lifting part under the action of friction and gravity, and is placed on the target. The position slides off the lifting part at the target velocity.
  • the horizontal direction component of the target speed is in the same direction as the horizontal direction component of the first direction.
  • the controller is used to generate a second movement control signal and a second rotation control signal, wherein the second movement control signal controls the driving motor to drive the lifting member to move to the second position along the second direction; the second The rotation control signal controls the driving motor to drive the lifting part to rotate until the side of the lifting part extending in the second direction is inclined upwards, so that the target object slides on the upper surface of the lifting part under the action of friction and gravity, and moves on the target. The position slides off the lifting part at the target velocity.
  • the horizontal direction component of the target speed is in the opposite direction to the horizontal direction component of the second direction.
  • the aforementioned drive motor may include a second drive motor 130b;
  • the second driving motor 130b can be used to drive the lifting part 110 and the main body 120 of the mechanical arm to move. Wherein, the relative movement between the lifting part 110 and the main body 120 of the mechanical arm can drive the position of the target object supported by the lifting part 110 to change.
  • the above-mentioned second driving motor 130b may be arranged in the middle of the main body of the mechanical arm, or at the junction between the main body of the mechanical arm and the main body of the robot.
  • the robotic arm further includes: an image acquisition component 170;
  • the image acquisition component 170 is connected to the controller 140, wherein the connection mode between the controller 140 and the image acquisition component 170 includes electrical connection, wireless connection or other connection modes capable of realizing signal transmission, etc.;
  • the image capture component 170 can be used to capture images at the lifting member 110 .
  • the image acquisition component 170 can be set separately from the main body of the robot arm, for example, the image acquisition component 170 can be connected to the main body of the robot.
  • the above-mentioned image acquisition component 170 may also be arranged on the main body of the mechanical arm.
  • the image acquisition component By setting the image acquisition component on the mechanical arm, the image acquisition during the motion control process of the lifting part can be realized, so as to realize the position confirmation of the moving process of the lifting part.
  • the image data By comparing the actual position of the image data with the expected position, Realize the correction of the control signal to ensure that the target object moves with the lifting part, slides on the upper surface of the lifting part under the action of friction and gravity and slides away from the lifting part at the target position, by improving the process of placing the target object Control the accuracy of the signal, avoid the interference caused by the control error to the object placement process, and further improve the object placement efficiency.
  • the controller controls the driving motor and drives the lifting part to move, so that the target object As the lifting part moves, it slides on the upper surface of the lifting part under the action of friction and gravity, and slides away from the lifting part.
  • the target object is dynamically placed by the movement of the lifting component, there is no static process, and the action of placing the object can be executed coherently, thereby improving the efficiency of placing the object.
  • Fig. 3 is the control method of the mechanical arm provided by an exemplary embodiment of the present application, wherein the mechanical arm includes a lifting part, a main body of the mechanical arm, and a driving motor, and the lifting part is connected to the main body of the mechanical arm; optionally, the mechanical The arm may be the mechanical arm shown in FIG. 1 or FIG. 2 above.
  • the method can be executed by a controller, and the controller can be the controller in the mechanical arm shown in FIG. 1 or FIG. 2 , or can be other devices connected to the controller in the mechanical arm shown in FIG. Controller, the following embodiments are described by using the controller in the robotic arm to execute the control method of the robotic arm.
  • the control method of the mechanical arm includes:
  • Step 301 acquiring the coefficient of friction between the target object on the lifting component and the lifting component.
  • Step 302 constructing a sliding dynamics model based on the coefficient of friction; the sliding dynamics model is used to indicate the relationship between the change of the generalized coordinates of the kinematic system and the driving force received by the kinematic system during the movement of the lifting part to lift the target object;
  • the motion system includes lifting components as well as target objects.
  • Step 303 based on the sliding dynamics model, obtain target control information; the target control information includes the motion track of the lifting component and the driving force received by the motion system at each moment.
  • Step 304 based on the target control information, drive the lifting part to move by driving the motor, so that the target object moves with the lifting part, slides on the upper surface of the lifting part under the action of friction and gravity, and moves at the target position with the target The speed slide breaks away from the lifter.
  • the solution shown in the embodiment of the present application uses the coefficient of friction between the target object on the lifting component and the lifting component to construct an indication of the movement of the lifting component during the movement of the target object.
  • the sliding dynamics model of the relationship between the change of the generalized coordinates of the system and the driving force received by the motion system, and then based on the sliding dynamics model, the motion trajectory of the lifting part and the driving force received by the motion system at each moment are obtained, and then passed
  • the target control information controls the driving motor so that the target object moves with the lifting component, slides on the upper surface of the lifting component under the action of friction and gravity, and slides away from the lifting component, thereby completing the object placement.
  • the target object is dynamically placed by the movement of the lifting component, and there is no static process, so that the action of placing the object can be performed coherently, thereby improving the efficiency of placing the object.
  • the robot can drive the target object to slide on the lifting part in a dynamic way through the mechanical arm containing the lifting part, so that the target object can be in a suitable position under the action of inertia. Slide off the lifter.
  • the above-mentioned controller is configured to generate a first movement control signal, and the first movement control signal controls the drive motor to drive the lifting member to move to the first position along the first direction; the controller is also configured to In order to generate the first rotation control signal, the first rotation control signal controls the driving motor to drive the lifting part to rotate to a first target posture.
  • the first target posture is that the side of the lifting part extending along the first direction is inclined downward, so that the target The object slides on the upper surface of the lifting part under the action of friction and gravity, and slides away from the lifting part at the target position at a target speed; the horizontal component of the target speed is in the same direction as the horizontal component of the first direction.
  • the above-mentioned process of controlling the drive motor to drive the lifting part to rotate to the first target posture can be executed during the process of controlling the drive motor to drive the lifting part to move to the first position along the first direction; or, the above-mentioned control drive motor
  • the process of driving the lifting component to rotate to the first target posture can be executed when the driving motor is controlled to drive the lifting component to move to the first position along the first direction; or, the above-mentioned control drive motor drives the lifting component to rotate to the first position.
  • the process of the target posture may be executed after the driving motor is controlled to drive the lifting member to move to the first position along the first direction.
  • FIG. 4 shows a dynamic diagram of object placement provided by an exemplary embodiment of the present application.
  • the drive motor in the robot arm drives the robot arm forward, and the lifting part 41 in the robot arm moves horizontally to the middle position b, and control the counterclockwise rotation of the lifting part in the process of continuing horizontal movement, so that the lifting part reaches the state shown in the middle position c;
  • One end, the rear end is the end opposite to the direction of horizontal movement on the lifting part 41; then control the clockwise rotation of the lifting part in the process of continuing horizontal movement, and the angle of rotation is smaller than when the lifting part reaches the middle position c
  • the angle of rotation is to make the lifting part reach the state shown in the middle position d; the lifting part is controlled to continue to rotate clockwise during the process of continuing to move horizontally, so that the lifting part returns to the horizontal position, which is shown in the middle position
  • the state of e makes the
  • the lifting component can have different speeds and different deflection directions, so that the target object 42 placed on the lifting component 41 slides relative to the lifting component 41 while moving according to the lifting component, And break away from the lifting part 41 at the middle position e, and slide to the desktop.
  • control signal for control can be applied to the scene where the position of the lifting part after the target object is separated from the initial position needs to be located on the same side of the position after the target object is separated, and can effectively improve the placement of items in this scene efficiency.
  • the above-mentioned controller is configured to generate a second movement control signal, and the second movement control signal controls the driving motor to drive the lifting member to move to the second position along the second direction; the above-mentioned controller, It is also used to generate a second rotation control signal, the second rotation control signal controls the driving motor to drive the lifting part to rotate to a target posture, and the target posture is that the side of the lifting part extending along the second direction is inclined upward, so that the target object is rubbed Sliding on the upper surface of the lifting part under the action of force and gravity, and sliding away from the lifting part at the target position at a target speed; wherein the horizontal component of the target speed is opposite to the horizontal component of the second direction.
  • the above-mentioned process of controlling the drive motor to drive the lifting part to rotate to the target posture can be executed during the process of controlling the driving motor to drive the lifting part to move to the second position along the second direction; or, the above-mentioned control driving motor drives the lifting part to move to the second position
  • the process of lifting the part to rotate to the target posture can be executed when the driving motor is controlled to drive the lifting part to move to the second position along the second direction; or, the above-mentioned process of controlling the driving motor to drive the lifting part to rotate to the target posture can be performed at Controlling the driving motor to drive the lifting component to move to the second position along the second direction starts to execute.
  • FIG. 5 shows a dynamic schematic diagram of object placement provided by another exemplary embodiment of the present application.
  • the driving motor in the robotic arm drives the robotic arm forward, and the lifting part 51 in the robotic arm moves horizontally to the middle position b, and control the clockwise rotation of the lifting part in the process of continuing horizontal movement, so that the lifting part reaches the state shown in the middle position c; then control the counterclockwise rotation of the lifting part in the process of continuing horizontal movement Direction rotation, and the angle of rotation is smaller than the rotation angle when the lifting part reaches the middle position c, so that the lifting part reaches the state shown in the middle position d; the lifting part controls the counterclockwise direction to continue to rotate in the process of continuing to move horizontally , so that the lifting part returns to the horizontal position, that is, the state of reaching the middle position e, and at the same time, the target object slides from the lifting part to the desktop for placing the target object
  • the lifting component can have different speeds and different deflection directions, so that the target object 52 placed on the lifting component 51 slides relative to the lifting component 51 while moving according to the lifting component, And break away from the lifting part 51 at the middle position e, and slide to the desktop.
  • control signal for control can be applied to the scene where the lifting part is located after the target object is separated from the initial position, and needs to be located on different sides of the position after the target object is separated, which can effectively improve the placement of items in this scene efficiency.
  • the end of the robot can operate a large load object, and there is no grasping point on the object, so the robot can realize the placement operation of the object without grasping by fingers;
  • FIG. 6 shows the implementation flow of the sliding and placing operation provided by the present application.
  • FIG. 7 shows the implementation manner of the implementation process.
  • Fig. 7 is the control method of the mechanical arm provided by an exemplary embodiment of the present application, wherein the mechanical arm includes a lifting part, a main body of the mechanical arm, and a drive motor, and the lifting part is connected to the main body of the mechanical arm; optionally, the mechanical The arm may be the mechanical arm shown in FIG. 1 or FIG. 2 above.
  • the method can be executed by the controller in the robotic arm shown in FIG. 1 or FIG. 2 .
  • the control method of the mechanical arm includes:
  • Step 701 acquiring the coefficient of friction between the target object on the lifting component and the lifting component.
  • obtaining the coefficient of friction between the target object on the lifting component and the lifting component includes:
  • the sliding information of the target object is obtained;
  • the sliding information includes when the target object slides on the lifting part, the inclination angle of the lifting part, and the target object on the lifting part The acceleration of sliding up;
  • the coefficient of friction includes a static coefficient of friction and a kinetic coefficient of friction.
  • the picture when the target object slides on the lifting part includes the first picture when the target object slides at a constant speed on the lifting part and the second picture when the target object slides on the lifting part at an accelerated rate. Based on the first picture, it can be Determine the static friction coefficient between the target object and the lifting component, and determine the dynamic friction coefficient between the target object and the lifting component based on the second picture,
  • the shape of the above-mentioned lifting component is a flat plate.
  • the lifting component may be a flat-shaped robotic palm at the top of the mechanical arm, so that the target object can slide out of the flat-shaped robotic palm smoothly.
  • the target object slides on the lifting part of the robotic arm (such as the mechanical palm, hereinafter referred to as the palm), and the palm and the target object can be regarded as an integrated motion system.
  • the schematic diagram of the motion system can be shown in FIG. 8 .
  • ⁇ I ⁇ is the inertial coordinate system
  • ⁇ B ⁇ is the conjoined coordinate system on the palm.
  • the pose and motion of the palm can be determined according to the coordinate system ⁇ I ⁇
  • the pose and motion of the object can be determined according to the coordinate system ⁇ B ⁇ .
  • the friction between the object and the robot palm is mainly divided into static friction and dynamic friction, and the second type of friction can be determined by the coefficient of static friction ⁇ 0 and the coefficient of dynamic friction ⁇ respectively.
  • the acceleration of the object It can be obtained through visual information and motion capture system.
  • the visual information and the motion capture system can be realized through an AI model, which can be trained through machine learning.
  • Step 702 Construct a sliding dynamics model based on the friction coefficient; the sliding dynamics model is used to indicate the relationship between the change of the generalized coordinates of the kinematic system and the driving force received by the kinematic system during the movement of the lifting part to lift the target object .
  • the motion system includes a lifting component and a target object.
  • the coordinates of the control point C on the palm in the coordinate system ⁇ I ⁇ are C(x 0 , y 0 ).
  • the coordinates of the object in the palm-joined coordinate system are (x, y). From this, the coordinates of the object in the inertial coordinate system can be further obtained as:
  • [x I , y I ] is the coordinate value of the center of mass of the object in the world coordinate system, and R is the rotation matrix.
  • H(X), and G(X) are the inertia matrix, centrifugal force matrix and gravity vector of the sliding system, respectively, and F is the driving force vector.
  • F 1 and F 2 are the driving force of the robot in the X and Y directions,
  • F 3 is the driving torque of the robot in the direction of rotation,
  • F 4 is the friction force of the object on the palm, and
  • F 5 is the support between the object and the palm force.
  • H 33 m 2 x 2 +m 2 y 2 +I 1 +I 2
  • m 1 in the above formula represents the equivalent mass of the robotic arm and palm of the robot
  • m 2 represents the mass of the object
  • I 1 represents the moment of inertia of the robot's palm
  • I 2 represents the moment of inertia of the object.
  • Step 703 based on the sliding dynamics model, obtain target control information; the target control information includes the motion track of the lifting component and the driving force received by the motion system at each moment.
  • the above-mentioned target control information may also include a motion trajectory of the robotic arm.
  • the target control information is obtained based on the sliding dynamics model, including:
  • the target control information is obtained with the goal of minimizing the motion cost;
  • the control constraints include the sliding dynamics constraints represented by the sliding dynamics model;
  • the motion cost is to drive the lifting part to move by driving the motor, so that the target object follows the The lifting part moves, under the action of friction and gravity, slides on the upper surface of the lifting part, and slides away from the lifting part at the target position at the target speed.
  • the moving time of the lifting part is the time spent in the whole process of placing the object, and the time difference between the time when the lifting part starts to move and the time when the target part leaves the lifting part.
  • the movement distance is the distance corresponding to the movement track of the lifting component from the initial position to the target position where the target component breaks away from the lifting component.
  • the work is the product of the force and the moving distance of the lifting part from the initial position to the target position where the target part breaks away from the lifting part.
  • the above-mentioned motion cost minimization may include the execution time of the motion trajectory (that is, the time spent in the entire process of placing the object), the minimization of the distance of the motion trajectory, and the work of the motion trajectory (that is, the entire process of placing the object, At least one of the minimization of the work done by controlling the motor.
  • the goal of lifting the lifting part from the initial position to the target part breaking away from the lifting part can be determined.
  • the optimal movement mode of the position, and then the control signal when the efficiency of the item placement is optimal can be obtained to control the drive motor and improve the control effect.
  • a dynamic model during the sliding operation is given, and the dynamic model of the sliding operation can be used for optimal control calculation of the operation of the robot.
  • the dynamic sliding operation of the robot means that during the movement of the robot, by adjusting the inclination angle of the robot's palm, changing the acceleration and speed of the object's descent, and then sliding the object out at a certain speed, and dynamically placing the target by lifting the part There is no static process for the object, which can make the action of placing the object coherent, thereby improving the efficiency of placing the object.
  • the process of the target object sliding on the lifting component includes a first process of sliding away from the lifting component along a first direction relative to the lifting component;
  • Control constraints include:
  • the speed constraints that the target object needs to satisfy are:
  • the target object needs to satisfy the velocity constraints:
  • the supporting force of the lifting component on the target object is greater than or equal to 0: F 5 ⁇ 0.
  • 0 and T are respectively the moment when the target object starts to slide from the lifting part and the moment when the target object slides out from the lifting part; , and Respectively, the speeds that the target object needs to reach when it starts to slide and when it slides out.
  • the object needs to slide out from the edge at a certain moment and at a certain speed when the robot's palm moves from the initial position.
  • the optimal trajectory generation equation can be listed as follows:
  • X 0 and X T respectively give the position of the moment when the object starts to slide on the palm of the robot and the moment when it is finally released, and The velocities at the moment when the object starts to slide on the palm of the robot and at the moment when it is finally released are respectively given.
  • the F 5 ⁇ 0 constraint is mainly to ensure that the contact between the object and the palm always exists.
  • is the weight coefficient of robot acceleration optimization item.
  • the trajectory of the robot needs to ensure its own trajectory requirements, and it is also necessary to change the tilt angle to realize the sliding of objects on the palm.
  • the above-mentioned optimal driving force refers to the resultant force at the center of mass of the object, which can be calculated through the inertial force, centrifugal force and gravity of the object.
  • the process of the target object sliding on the lifting component includes:
  • Control constraints include:
  • the position constraint condition that the lifting component needs to satisfy at the beginning moment of the third process The position constraints that the lifting part needs to satisfy at the end of the third process:
  • the speed constraints that the target object needs to satisfy are:
  • the speed constraints that the target object needs to satisfy are:
  • the supporting force of the lifting component on the target object is greater than or equal to 0: F 5 ⁇ 0.
  • T 1 , T 2 are respectively the moment when the target object starts to slide from the lifting part, the moment when the target object slides to the first position of the lifting part, and the moment when the target object slides out from the lifting part;
  • X 0 are respectively the positions that need to be reached when the target object starts to slide from the lifting part, when it reaches the first position and when it slides out, as well as are respectively the speeds that need to be achieved when the target object starts to slide from the lifting component, when it reaches the first position, and when it slides out.
  • the process of the target object sliding on the lifting component includes: starting from the initial position relative to the lifting component, along the a second process of sliding in a second direction relative to the lifting member to a first position relative to the lifting member; and, from the first position relative to the lifting member, along a third direction relative to the lifting member The third process of sliding off the lifting part.
  • the foregoing adjustment conditions include: an initial position of the target object relative to the lifting component is located at an edge of the lifting component.
  • the initial position of the object is not suitable.
  • the object is at the edge at the initial moment.
  • the above scheme cannot provide the effective sliding distance to make the object draw the contact surface at a certain initial speed, so it is necessary to use the sliding method.
  • Re-grasp is performed so that the object can be properly positioned.
  • FIG. 9 a schematic diagram of position adjustment and placement may be shown in FIG. 9 .
  • the above-mentioned sliding operation shown in FIG. 9 includes two processes, one is the sliding operation to realize position adjustment, and the other is the sliding operation to realize the dynamic placement of objects.
  • the optimal trajectory generation equation can be listed as follows:
  • T 1 is the time for position adjustment based on sliding
  • T 2 -T 1 is the time for dynamic placement based on sliding. Indicates that the time for trajectory execution needs to be minimized.
  • the optimal trajectory X * and optimal driving force F * can be obtained for the optimal control stage of the above equation.
  • Step 704 based on the target control information, obtain the driving torque of the driving motor.
  • the controller obtains the target control information through impedance control based on the sliding dynamics model; wherein, in the process of the above impedance control, the grasping force on the target object is controlled by the lifting component against the target object.
  • the supporting force and friction force are determined.
  • the object impedance in the robot operation refers to the impedance relationship between the robot grabbing the target object and the target object interacting with the outside world.
  • the object does not interact with other external environments, but the object needs a specific contact with the palm here, and the dynamic equation of the object is:
  • M b , C b and N b are respectively the inertia matrix, centrifugal force term matrix and gravity term matrix of the object in the conjoined coordinate system.
  • F b is other external forces on the object, here mainly refers to the equivalent operating force.
  • V b Refers to the speed and acceleration of an object.
  • R s,b are the position and attitude of the object.
  • F c is the grasping force of the palm
  • G is the grasping matrix
  • F b* is the expected equivalent operating force.
  • the equivalent operating force of an object refers to the resultant force at the center of mass of the object, and the most direct factor affecting the equivalent operating force is the contact force between the palm and the object (ie, the above-mentioned grasping force of the palm).
  • the above-mentioned contact force is usually a 3-dimensional vector, which includes a force vector and does not include a moment vector;
  • the vector of an equivalent operating force of an object is usually a 6-dimensional vector, which includes both a force vector and a moment vector.
  • M r ( ⁇ ), and N r ( ⁇ ) are the robot-related inertia matrix, centrifugal force term matrix and gravity matrix, respectively. is the Jacobian matrix for the force map. ⁇ is the driving force vector of each joint.
  • control torque of the manipulator is:
  • u is the control correction item related to the acceleration of the robot joint
  • k p and k d are the control coefficients
  • J V is the mapping Jacobian matrix between the Cartesian velocity of the object and the joint motion of the robot.
  • the controller of the robot needs to control each joint of the robot, and the control of each joint requires joint drive torque to achieve. Therefore, in the embodiment of the present application, the controller of the robot needs to calculate the driving torque of the driving motor according to the above formula.
  • Step 705 based on the driving torque, drive the lifting part to move by driving the motor, so that the target object placed on the lifting part slides on the upper surface of the lifting part under the action of friction and gravity with the movement of the lifting part , and slide off the lifting part at the target position and at the target speed.
  • driving the movement of the lifting component includes at least one of changing the posture of the lifting component or causing a displacement of the lifting component.
  • changing the posture of the lifting component includes driving the lifting component to rotate clockwise or counterclockwise so that the lifting plane of the lifting component is inclined.
  • displacing the lifting component includes moving the lifting component in any direction to reach another position (for example, an edge position of a desktop for placing the target object).
  • moving in any direction may specifically be moving along a straight line or along a curve.
  • the acceleration of the target object on the upper surface of the lifting component is controlled by the offset angle of the upper surface of the lifting component relative to the horizontal plane, and
  • the resistance of the target object during the sliding process is the sliding friction force.
  • the acceleration of the target object on the upper surface of the lifting part is greater than 0.
  • the acceleration of the target object on the upper surface of the lifting part can continue to be greater than 0 (sliding friction force is less than the component of the gravity of the target object on the upper surface of the lifting part, and the target object continues to slide at an accelerated speed), or the target object is in the
  • the acceleration of the upper surface of the lifting part can be equal to 0 (the sliding friction force is smaller than the component of the gravity of the target object on the upper surface of the lifting part, and the sliding speed of the target object remains unchanged at this time), or the acceleration of the target object on the upper surface of the lifting part It can also be less than 0 (the sliding friction force is greater than the component of the gravity of the target object on the upper surface of the lifting part, and the target object starts to decelerate at this time).
  • the robot in the process of placing an object, first controls the palm to tilt at a large angle to accelerate the sliding of the object, and then reduces the tilt angle of the palm to slow down the object and leave the palm.
  • the robot during the process of placing the object, the robot first controls the palm to tilt at a large angle to accelerate the sliding of the object, then reduces the tilt angle of the palm to keep the object sliding at a constant speed, and then leaves the palm.
  • the robot can control the palm to tilt at a large angle to accelerate the sliding of the object and make the object leave the palm during the acceleration process.
  • the above-mentioned dynamic placement strategy of objects belongs to the dynamic operation of robots, and the main advantages are as follows:
  • Dynamic placement can effectively improve the efficiency of task completion, and can complete splicing actions with other dynamic tasks
  • the solution shown in the embodiment of the present application uses the coefficient of friction between the target object on the lifting component and the lifting component to construct an indication of the movement of the lifting component during the movement of the target object.
  • the sliding dynamics model of the relationship between the change of the generalized coordinates of the system and the driving force received by the motion system, and then based on the sliding dynamics model, the motion trajectory of the lifting part and the driving force received by the motion system at each moment are obtained, and then passed
  • the target control information controls the driving motor, so that the target object is at the target position and slides away from the lifting part at the target speed, thereby completing the object placement.
  • the target object is dynamically placed by the movement of the lifting parts, there is no static process, and the action of placing the object can be executed coherently, thereby improving the efficiency of placing the object.
  • Fig. 10 is a structural block diagram of a control device of a mechanical arm provided in an exemplary embodiment of the present application, the mechanical arm includes a lifting part, a main body of the mechanical arm, and a drive motor, and the lifting part is connected to the main body of the mechanical arm; the device include:
  • a coefficient acquiring module 1001 configured to acquire the coefficient of friction between the target object on the lifting component and the lifting component;
  • the model construction module 1002 is configured to construct a sliding dynamics model based on the friction coefficient; the sliding dynamics model is used to indicate the change of the generalized coordinates of the motion system during the movement of the lifting component lifting the target object The relationship between the situation and the driving force received by the motion system; the motion system includes the lifting part and the target object;
  • a control information acquisition module 1003 configured to acquire target control information based on the sliding dynamics model; the target control information includes the motion track of the lifting component and the driving force received by the motion system at various moments;
  • the driving control module 1004 is configured to drive the lifting part to move through the driving motor based on the target control information, so that the target object moves with the lifting part under the action of friction and gravity Sliding on the surface of the lifting member and sliding away from the lifting member at a target position and at a target speed.
  • the acceleration of the target object on the upper surface of the lifting component is determined by the upper surface of the lifting component relative to the horizontal plane
  • the offset angle of is controlled, and the resistance of the target object during the sliding process is the sliding friction force.
  • control information acquisition module 1003 is configured to acquire the target control information based on control constraints with the goal of minimizing the motion cost; the control constraints include the sliding dynamics model ; The movement cost is driven by the driving motor to move the lifting part, so that the target object moves with the lifting part, and under the action of friction and gravity, it will move on the upper surface of the lifting part slide, and slide off the lifting member at a target position at a target velocity.
  • the process of the target object sliding on the lifting component includes a first process of sliding away from the lifting component along a first direction relative to the lifting component;
  • control constraints include:
  • the supporting force of the lifting member on the target object is greater than or equal to zero.
  • the process of the target object sliding on the lifting component includes:
  • control constraints include:
  • the supporting force of the lifting member on the target object is greater than or equal to zero.
  • the process of the target object sliding on the lifting component includes: starting from the initial position of the lifting member, sliding along a second direction relative to the lifting member to a second process of sliding to a first position relative to the lifting member; and, from a position relative to the lifting member The first position begins with a third process of sliding off the lifting member in a third direction relative to the lifting member.
  • the adjustment condition includes: an initial position of the target object relative to the lifting component is located at an edge of the lifting component.
  • control information acquisition module 1003 is configured to acquire target control information through impedance control based on the sliding dynamics model
  • the grasping force on the target object is determined by the supporting force and friction force of the lifting member on the target object.
  • the coefficient obtaining module 1001 is configured to:
  • the sliding information of the target object is obtained;
  • the sliding information includes when the target object slides on the lifting part, the holding The inclination angle of the lifting part, and the acceleration of the sliding of the target object on the lifting part;
  • the friction coefficient is acquired according to the sliding information.
  • the solution shown in the embodiment of the present application uses the coefficient of friction between the target object on the lifting component and the lifting component to construct an indication of the movement of the lifting component during the movement of the target object.
  • the sliding dynamics model of the relationship between the change of the generalized coordinates of the system and the driving force received by the motion system, and then based on the sliding dynamics model, the motion trajectory of the lifting part and the driving force received by the motion system at each moment are obtained, and then passed
  • the target control information controls the driving motor, so that the target object is at the target position and slides away from the lifting part at the target speed, thereby completing the object placement.
  • the target object is dynamically placed by the movement of the lifting component, and there is no static process, so that the action of placing the object can be performed coherently, thereby improving the efficiency of placing the object.
  • the device provided by the above-mentioned embodiment is only illustrated by the division of the above-mentioned functional modules.
  • the above-mentioned function distribution can be completed by different functional modules according to the needs, that is, the internal structure of the device is divided into Different functional modules to complete all or part of the functions described above.
  • the device provided by the above embodiment belongs to the same idea as the method embodiment, and its specific implementation process is detailed in the method embodiment, and will not be repeated here.
  • Fig. 11 shows a structural block diagram of a robot 1100 provided by an exemplary embodiment of the present application.
  • the robot 1100 may include: a lifting component 1101 , a main body of a mechanical arm 1102 , a driving motor 1103 , a processor 1104 and a memory 1105 .
  • the processor 1104 may include one or more processing cores, such as a 4-core processor, an 8-core processor, and the like. Processor 1104 can adopt at least one hardware form in DSP (Digital Signal Processing, digital signal processing), FPGA (Field-Programmable Gate Array, field programmable gate array), PLA (Programmable Logic Array, programmable logic array) accomplish. In some embodiments, the processor 1104 may further include an AI (Artificial Intelligence, artificial intelligence) processor, where the AI processor is used to process computing operations related to machine learning.
  • AI Artificial Intelligence, artificial intelligence
  • Memory 1105 may include one or more computer-readable storage media, which may be non-transitory.
  • the memory 1105 may also include high-speed random access memory and non-volatile memory, such as one or more magnetic disk storage devices and flash memory storage devices.
  • the non-transitory computer-readable storage medium in the memory 1105 is used to store at least one instruction, and the at least one instruction is used to be executed by the processor 1104 to realize the robotic arm provided by the method embodiment in this application control method.
  • the robot 1100 may optionally further include: a peripheral device interface and at least one peripheral device.
  • the processor 1104, the memory 1105, and the peripheral device interface may be connected through a bus or a signal line.
  • Each peripheral device can be connected with the peripheral device interface through a bus, a signal line or a circuit board.
  • the peripheral device may include: at least one of a radio frequency circuit, a display screen, a camera component, an audio circuit, and a power supply.
  • the peripheral device interface may be used to connect at least one peripheral device related to I/O (Input/Output, input/output) to the processor 1104 and the memory 1105 .
  • I/O Input/Output, input/output
  • the camera component can be used to capture images or video.
  • the robot 1100 also includes one or more sensors.
  • the one or more sensors include, but are not limited to: acceleration sensors, gyroscope sensors, pressure sensors, optical sensors, proximity sensors, and the like.
  • FIG. 11 does not constitute a limitation to the robot 1100 , and may include more or less components than shown in the illustration, or combine certain components, or adopt different component arrangements.
  • the embodiment of the present application also provides a robot, the robot includes the mechanical arm shown in Figure 1 or Figure 2 above; the controller in the mechanical arm can be used to execute the mechanical Arm control method.
  • Embodiments of the present application also provide a computer-readable storage medium, at least one computer-readable instruction is stored on the computer-readable storage medium, and at least one computer-readable instruction is loaded and executed by one or more processors to Realize the control method of the mechanical arm provided by each method embodiment above.
  • Embodiments of the present application also provide a computer program product or computer program, where the computer program product or computer program includes computer-readable instructions, and the computer-readable instructions are stored in a computer-readable storage medium.
  • One or more processors of a computer device (such as a robot) read the computer-readable instructions from the computer-readable storage medium, and one or more processors execute the computer-readable instructions, so that the computer device performs any of the above-mentioned embodiments.
  • a method for controlling a mechanical arm such as a robot
  • the computer-readable storage medium may include: a read-only memory (ROM, Read Only Memory), a random access memory (RAM, Random Access Memory), a solid-state hard drive (SSD, Solid State Drives) or an optical disc, etc.
  • the random access memory may include resistive random access memory (ReRAM, Resistance Random Access Memory) and dynamic random access memory (DRAM, Dynamic Random Access Memory).
  • ReRAM resistive random access memory
  • DRAM Dynamic Random Access Memory
  • the program can be stored in a computer-readable storage medium.
  • the above-mentioned The storage medium mentioned may be a read-only memory, a magnetic disk or an optical disk, and the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Manipulator (AREA)

Abstract

一种机械臂,包括:托举部件(110)、机械臂主体(120)、驱动电机(130)以及控制器(140),控制器(140)与驱动电机(130)相连,托举部件(110)连接于机械臂主体(120),控制器(140)用于控制驱动电机(130)驱动托举部件(110)运动,以使得托举部件(110)上放置的目标物体(150)在目标位置,以目标速度脱离托举部件(110)。还提供一种机械臂的控制方法、装置、机器人及存储介质。

Description

机械臂、机械臂的控制方法、装置、机器人及存储介质
相关申请的交叉引用
本申请要求于2022年01月28日提交中国专利局,申请号为202210107236X,申请名称为“机械臂、机械臂的控制方法、装置、机器人及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请实施例涉及机器人控制领域,特别涉及一种机械臂、机械臂的控制方法、装置、机器人及存储介质。
背景技术
随着机器人控制技术的不断发展,越来越多的机器人具有通过机械臂放置物体的功能。
在相关技术中,机器人通过末端执行器(比如机械手)抓住目标物体后,将目标物体放置到指定位置。其中,机器人放置目标物体的过程为准静态或者静态的放置过程。也就是机械臂通过末端执行器将目标物体带到指定位置,机械臂停止运动,末端执行器打开,放下物体。
然而,相关技术中的物体放置过程需要机械臂悬停后打开末端执行器,移动和放置物体的过程不连贯,导致机器人放置物体的效率较低。
发明内容
本申请实施例提供了一种机械臂、机械臂的控制方法、装置、机器人及存储介质,能够通过机械臂动态放置目标物体,提高放置物体的效率。所述技术方案如下:
一方面,提供了一种机械臂,所述机械臂包括:托举部件、机械臂主体、驱动电机以及控制器;
所述控制器与所述驱动电机相连;所述托举部件连接于所述机械臂主体;
所述控制器,用于生成控制信号,所述控制信号控制所述驱动电机,驱动所述托举部件运动,以使得所述托举部件上放置的目标物体随着所述托举部件的运动,在摩擦力和重力的作用下在所述托举部件的上表面滑动,并在目标位置以目标速度滑动脱离所述托举部件。
一方面,提供了一种机械臂的控制方法,由控制器执行,所述机械臂包括托举部件、机械臂主体、以及驱动电机,所述托举部件连接于所述机械臂主体;所述方法包括:
获取所述托举部件上的目标物体与所述托举部件之间的摩擦力系数;
基于所述摩擦力系数,构建滑动力学模型;所述滑动力学模型用于指示所述托举部件托举所述目标物体运动的过程中,运动系统的广义坐标的变化情况与所述运动系统受到的 驱动力之间的关系;所述运动系统包括所述托举部件以及所述目标物体;
基于所述滑动力学模型,获取目标控制信息;所述目标控制信息包括所述托举部件的运动轨迹,以及所述运动系统在各个时刻受到的驱动力;
基于所述目标控制信息,通过所述驱动电机驱动所述托举部件运动,以使得所述托举部件上放置的目标物体随着所述托举部件的运动,在摩擦力和重力的作用下在所述托举部件的上表面滑动,并在目标位置以目标速度滑动脱离所述托举部件。
另一方面,提供了一种机械臂的控制装置,所述机械臂包括托举部件、机械臂主体、以及驱动电机,所述托举部件连接于所述机械臂主体;所述装置包括:
系数获取模块,用于获取所述托举部件上的目标物体与所述托举部件之间的摩擦力系数;
模型构建模块,用于基于所述摩擦力系数,构建滑动力学模型;所述滑动力学模型用于指示所述托举部件托举所述目标物体运动的过程中,运动系统的广义坐标的变化情况与所述运动系统受到的驱动力之间的关系;所述运动系统包括所述托举部件以及所述目标物体;
控制信息获取模块,用于基于所述滑动力学模型,获取目标控制信息;所述目标控制信息包括所述托举部件的运动轨迹,以及所述运动系统在各个时刻受到的驱动力;
驱动控制模块,用于基于所述目标控制信息,通过所述驱动电机驱动所述托举部件运动,以使得所述托举部件上放置的目标物体随着所述托举部件的运动,在摩擦力和重力的作用下在所述托举部件的上表面滑动,并在目标位置以目标速度滑动脱离所述托举部件。
另一方面,提供了一种机器人,所述机器人包含上所述的机械臂;
所述机械臂中的控制器用于执行如上所述的机械臂的控制方法。
另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由一个或多个处理器加载并执行以实现如上述本申请实施例中任一所述的机械臂的控制方法。
另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机可读指令,该计算机可读指令存储在计算机可读存储介质中。计算机设备的一个或多个处理器从计算机可读存储介质读取该计算机可读指令,一个或多个处理器执行该计算机可读指令,使得该计算机设备执行上述实施例中任一所述的机械臂的控制方法。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个示例性实施例提供的机械臂的结构示意图;
图2是本申请一个示例性实施例提供的机械臂的结构示意图;
图3是本申请一个示例性实施例提供的机械臂的控制方法的流程图;
图4是本申请一个示例性实施例提供的物体放置的动态示意图;
图5是本申请另一个示例性实施例提供的物体放置的动态示意图;
图6是本申请提供的滑动放置操作的实现流程;
图7是本申请一个示例性实施例提供的机械臂的控制方法的流程图;
图8是本申请一个示例性实施例提供的运动系统的示意图;
图9是本申请一个示例性实施例提供的位置调整和放置的示意图;
图10是本申请一个示例性实施例提供的机械臂的控制装置的结构框图;
图11是本申请一个示例性实施例提供的机器人的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。首先,对本申请实施例中所涉及的术语给出说明:
1)机器人(Robot):是一种能够半自主或全自主工作的智能机器。可选的,这种机器具备一些与人或生物相似的智能能力,如感知能力、规划能力、动作能力和协同能力,是一种具有高度灵活性的自动化机器。
随着人们对机器人技术智能化本质认识的加深,机器人技术开始源源不断地向人类活动的各个领域渗透。结合这些领域的应用特点,人们发展了各式各样的具有感知、决策、行动和交互能力的特种机器人和各种智能机器人。机器人是自动执行工作的机器装置。它既可以接受人类指挥,又可以运行预先编排的程序,也可以根据以人工智能技术制定的原则纲领行动。机器人的任务通常是协助或取代人类的工作。机器人可以是高级整合控制论、机械电子、计算机、材料和仿生学的产物,在工业、医学、农业、服务业、建筑业等领域中均有重要用途。
从应用环境出发,可以将机器人也分为两大类,即工业机器人和特种机器人。工业机器人是指面向工业领域的多关节机械手或多自由度机器人。特种机器人则是除工业机器人之外的、用于非制造业并服务于人类的各种先进机器人,包括:仿生机器人、服务机器人、水下机器人、娱乐机器人、农业机器人等。在特种机器人中,有些分支发展很快,有独立成体系的趋势,如服务机器人、水下机器人、微操作机器人等。
工业机器人按臂部的运动形式分为四种。直角坐标型的臂部可沿三个直角坐标移动;圆柱坐标型的臂部可作升降、回转和伸缩动作;球坐标型的臂部能回转、俯仰和伸缩;关节型的臂部有多个转动关节。
工业机器人按执行机构运动的控制机能,又可分点位型和连续轨迹型。点位型控制执行机构由一点到另一点的准确定位,适用于机床上下料、点焊和一般搬运、装卸等作业;连续轨迹型可控制执行机构按给定轨迹运动,适用于连续焊接和涂装等作业。
工业机器人按程序输入方式区分有编程输入型和示教输入型两类。编程输入型是将计 算机上已编好的作业程序文件,通过串口或者以太网等通信方式传送到机器人控制柜。示教输入型的示教方法有两种:一种是由操作者用手动控制器(示教操纵盒),将指令信号传给驱动系统,使执行机构按要求的动作顺序和运动轨迹操演一遍;另一种是由操作者直接领动执行机构,按要求的动作顺序和运动轨迹操演一遍。在示教过程的同时,工作程序的信息即自动存入程序存储器中在机器人自动工作时,控制系统从程序存储器中检出相应信息,将指令信号传给驱动机构,使执行机构再现示教的各种动作。示教输入程序的工业机器人称为示教再现型工业机器人。
2)人工智能(Artificial Intelligence,AI):是一种利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
在本申请实施例中,AI技术可以应用于机器人中,主要涉及机器人控制技术、机器学习技术以及计算机视觉技术等等。
在本申请的本实施例中,涉及的机器人具有机械臂,且该机械臂可以用于执行物体放置任务,即将目标物体放置到某一个目标位置。
示意性的,图1是本申请一个示例性实施例提供的机械臂的结构示意图,该机械臂可以安装在机器人中。如图1所示,该机械臂包括托举部件110、机械臂主体120、驱动电机130以及控制器140。
如图1所示,上述托举部件110可以实现为一个平面或者类平面的部件,用于承托目标物体150。
上述机械臂主体120用于连接托举部件110,并且,托举部件110与机械臂主体120连接。示例性的,机械臂主体120的一端连接于机械臂支撑部件,一端连接有托举部件110,其中,机械臂支撑部件可以是机器人主体或是其他与支撑面接触的支撑部件。可选的,当机械臂主体一端连接于机器人主体时,托举部件110连接于机械臂主体120的另一端。托举部件110作为机械臂主体120的延伸部分,用以执行物体的承托和放置的任务。
上述驱动电机130可以设置在机械臂中的各个关节处,用以控制各个关节旋转,以带动与关节连接的组件进行旋转或者移动。
上述控制器140与驱动电机130相连,用以生成控制信号,将控制信号发送至驱动电机130,通过控制信号控制驱动电机130运行。其中,控制器140与驱动电机130的连接 方式包括电性连接、无线连接或是其他能够实现信号传输的连接方式等。
在本申请实施例中,上述控制器140,可以用于控制驱动电机,驱动托举部件运动,以使得目标物体随着托举部件运动。其中,驱动托举部件的运动包括使得托举部件发生姿态变化或使得托举部件发生位移中的至少一种情况。示例性的,使得托举部件发生姿态变化包括使得托举部件顺时针转动或逆时针转动。使得托举部件发生位移包括使得托举部件沿任意方向移动以到达另一个位置,可选的,沿任意方向移动具体可以是沿直线移动或沿曲线移动等。
随着托举部件的运动,目标物体将会在摩擦力和重力的作用下在托举部件上表面滑动,并在目标位置以目标速度滑动脱离托举部件,其中,目标速度为矢量数据,包括目标速度方向和目标速度大小。
综上所述,本申请实施例涉及的机械臂,对于包含托举部件、机械臂主体、驱动电机以及控制器的机械臂,通过控制器控制驱动电机,驱动托举部件运动,以使得目标物体随着托举部件运动,在摩擦力和重力的作用下在托举部件上表面滑动并脱离托举部件。在上述控制过程中,通过托举部件的运动来动态的放置目标物体,不存在静态过程,可以使得物体放置的动作连贯执行,从而提高了放置物体的效率。
图2是本申请一个示例性实施例提供的机械臂的结构示意图,该机械臂可以安装在机器人中。如图2所示,该机械臂包括托举部件110、机械臂主体120、驱动电机130以及控制器140。
如图1所示,上述托举部件110可以实现为一个平面或者类平面的部件,用于承托目标物体150。托举部件110用于承托目标物体150的表面可以是能够产生摩擦力的粗糙面,托举部件上承托目标物体的表面的不同粗糙程度对应不同的摩擦系数。
上述机械臂主体120用于连接托举部件110,并且,托举部件110与机械臂主体120连接,托举部件110作为机械臂主体120的延伸部分,用以执行物体放置的任务。
上述驱动电机130可以设置在机械臂中的各个关节处,用以控制各个关节旋转,以带动与关节连接的组件进行旋转或者移动。驱动电机130的数量可以与机械臂中需要控制的关节数量相同,机械臂中需要控制的关节可以是机械臂中的每一个关节,也可以是机械臂中的一部分关节。
上述控制器140与驱动电机130相连,用以控制驱动电机130运行。
在本申请实施例中,上述控制器140,可以用于控制驱动电机,驱动托举部件运动,以使得目标物体随着托举部件运动,在摩擦力和重力的作用下在托举部件上表面滑动,并在目标位置以目标速度滑动脱离托举部件。
在一种可能的实现方式中,控制器在通过驱动电机驱动托举部件移动时,可以通过驱动电机驱动机械臂主体,通过机械臂主体带动托举部件移动。
在一种可能的实现方式中,上述托举部件110与机械臂主体120之间可以通过第一关节160相连;
驱动电机130包含第一驱动电机130a;
第一驱动电机130a用于驱动第一关节160,以使得托举部件110相对于机械臂主体120转动,以使托举部件110沿所述第一方向延伸的一侧向上倾斜或向下倾斜,托举部件110上承托的目标物体与水平方向形成一定的夹角,进而使得目标物体在摩擦力和重力的作用下,沿着托举部件转动后的倾斜方向滑动。其中,第一驱动电机130a驱动第一关节160的转动方向可以与目标物体滑动脱离托举部件的期望方向相关,例如可以是目标物体滑动脱离托举部件的期望方向、或是目标物体滑动脱离托举部件的期望方向的反方向等。第一驱动电机130a驱动第一关节160的转动角度可以与托举部件的承托表面的粗糙程度和目标物体的重量相关,例如托举部件的承托表面的粗糙程度越大,则转动角度可以越大,再例如目标物体的重量越重,则转动角度越大。
具体地,托举部件110相对于机械臂主体120转动,可以是围绕连接关节进行转动,转动方式可以根据连接关节与托举部件的连接方式确定。例如,当连接关节与托举部件的连接方式为轴连接时,托举部件可以以连接轴为转轴转动;当连接关节与托举部件的连接方式为球连接时,托举部件可以以连接点为中心,围绕连接点进行转动,以提高转动过程的精确控制。
其中,控制信号的生成过程具体包括:获取托举部件上的目标物体与托举部件之间的摩擦力系数,基于摩擦力系数,构建滑动力学模型,基于滑动力学模型,生成目标控制信息,基于目标控制信息生成驱动电机的控制信号,以使驱动电机驱动托举部件运动,以使得目标物体随着托举部件运动,在摩擦力和重力的作用下在托举部件的上表面滑动,并在目标位置以目标速度滑动脱离托举部件。
其中,滑动力学模型用于指示托举部件托举目标物体运动的过程中,运动系统的广义坐标的变化情况与运动系统受到的驱动力之间的关系,运动系统包括托举部件以及目标物体,目标控制信息包括托举部件的运动轨迹,以及运动系统在各个时刻受到的驱动力。在整个控制过程中,能够基于滑动力学模型实现控制信号的精确生成,进而提高控制过程中目标物体滑出速度、滑出位置的精确性,从整体上来看,能够提高物体放置的效率。
在一个实施例中,控制器用于生成第一移动控制信号和第一转动控制信号,其中,第一移动控制信号控制驱动电机驱动托举部件沿着第一方向移动至第一位置,第一转动控制信号控制驱动电机驱动托举部件转动至托举部件沿第一方向延伸的一侧向下倾斜,以使得目标物体在摩擦力和重力的作用下在托举部件的上表面滑动,并在目标位置以目标速度滑动脱离托举部件。
其中,目标速度的水平方向分量与第一方向的水平方向分量方向相同。通过控制驱动电机驱动托举部件转动至托举部件沿第一方向延伸的一侧向下倾斜,能够使得目标物体从沿第一方向延伸的一侧以目标速度滑动脱离托举部件,适用于目标物体脱离后的托举部件所在的位置与初始位置,需要位于目标物体脱离后所处位置的同一侧的场景,能够有效提高在该场景下的物品放置效率。
在另一个实施例中,控制器用于生成第二移动控制信号和第二转动控制信号,其中,第二移动控制信号控制驱动电机驱动托举部件沿着第二方向移动至第二位置;第二转动控制信号控制驱动电机驱动托举部件转动至托举部件沿第二方向延伸的一侧向上倾斜,以使得目标物体在摩擦力和重力的作用下在托举部件的上表面滑动,并在目标位置以目标速度滑动脱离托举部件。
其中,目标速度的水平方向分量与第二方向的水平方向分量方向相反,通过控制驱动电机驱动托举部件转动至托举部件沿第一方向延伸的一侧向上倾斜,能够使得目标物体从沿第二方向延伸的一侧以目标速度滑动脱离托举部件,适用于目标物体脱离后的托举部件所在的位置与初始位置,需要位于目标物体脱离后所处位置的不同侧的场景,能够有效提高在该场景下的物品放置效率。
在一种可能的实现方式中,上述驱动电机可以包含第二驱动电机130b;
第二驱动电机130b可以用于驱动托举部件110与机械臂主体120移动。其中,托举部件110与机械臂主体120的相对移动,可以带动托举部件110上承托的目标物体发生位置变化。
其中,上述第二驱动电机130b可以设置在机械臂主体中部,或者,设置在机械臂主体与机器人主体的结合部。在一种可能的实现方式中,机械臂还包括:图像采集组件170;
图像采集组件170与控制器140相连,其中,控制器140与图像采集组件170的连接方式包括电性连接、无线连接或是其他能够实现信号传输的连接方式等;
图像采集组件170可以用于采集托举部件110处的图像。
其中,该图像采集组件170可以与机械臂主体分开设置,比如,图像采集组件170可以被连接在机器人主体上。
或者,上述图像采集组件170也可以设置在机械臂主体上。
通过在机械臂上设置图像采集组件,能够实现对托举部件运动控制过程中的图像采集,以实现对托举部件的运动过程的位置确认,通过将图像数据的实际位置与期望位置的比较,实现控制信号的修正,以确保目标物体随着托举部件运动,在摩擦力和重力的作用下在托举部件上表面滑动并在目标位置滑动脱离托举部件,通过提高目标物体的放置过程的控制信号的准确性,避免控制误差对物体放置过程造成的干扰,进一步提高物体的放置效率。
综上所述,本申请实施例涉及的机械臂,对于包含托举部件、机械臂主体、驱动电机以及控制器的机械臂,通过控制器控制驱动电机,驱动托举部件运动,以使得目标物体随着托举部件运动,在摩擦力和重力的作用下在托举部件上表面滑动,并滑动脱离托举部件。在上述控制过程中,通过托举部件的运动来动态的放置目标物体,不存在静态过程,可以使得物体放置的动作连贯执行,从而提高了放置物体的效率。
图3是本申请一个示例性实施例提供的机械臂的控制方法,其中,机械臂包括托举部件、机械臂主体、以及驱动电机,托举部件连接于机械臂主体;可选的,该机械臂可以是上述图1或图2所示的机械臂。比如,该方法可以由控制器执行,控制器可以是图1或图 2所示的机械臂中的控制器,也可以是与图1或图2所示的机械臂中的控制器连接的其他控制器,以下实施例以机械臂中的控制器执行机械臂的控制方法进行说明。如图3所示,该机械臂的控制方法包括:
步骤301,获取托举部件上的目标物体与托举部件之间的摩擦力系数。
步骤302,基于摩擦力系数构建滑动力学模型;滑动力学模型用于指示托举部件托举目标物体运动的过程中,运动系统的广义坐标的变化情况与运动系统受到的驱动力之间的关系;运动系统包括托举部件以及目标物体。
步骤303,基于滑动力学模型,获取目标控制信息;目标控制信息包括托举部件的运动轨迹,以及运动系统在各个时刻受到的驱动力。
步骤304,基于目标控制信息,通过驱动电机驱动托举部件运动,以使得目标物体随着托举部件运动,在摩擦力和重力的作用下在托举部件上表面滑动,并在目标位置以目标速度滑动脱离托举部件。
综上所述,本申请实施例所示的方案,通过托举部件上的目标物体与托举部件之间的摩擦力系数,构建用于指示托举部件托举目标物体运动的过程中,运动系统的广义坐标的变化情况与运动系统受到的驱动力之间的关系的滑动力学模型,然后基于滑动力学模型,获取托举部件的运动轨迹,以及运动系统在各个时刻受到的驱动力,再通过目标控制信息控制驱动电机,使得目标物体随着托举部件运动,在摩擦力和重力的作用下在托举部件上表面滑动,并滑动脱离托举部件,从而完成物体放置。在上述过程中,通过托举部件的运动来动态的放置目标物体,不存在静态过程,可以使得物体放置的动作连贯执行,从而提高了放置物体的效率。
通过上述图3所示实施例提供的方案,机器人可以通过包含托举部件的机械臂,采用动态的方式带动目标物体在托举部件上滑动,使得目标物体在惯性的作用下,在合适的位置滑动脱离托举部件。
在一种可能的实现方式中,上述控制器,用于生成第一移动控制信号,第一移动控制信号控制驱动电机驱动托举部件沿着第一方向移动至第一位置;控制器,还用于生成第一转动控制信号,第一转动控制信号控制驱动电机驱动托举部件转动至第一目标姿态,第一目标姿态为托举部件沿第一方向延伸的一侧向下倾斜,以使得目标物体在摩擦力和重力的作用下在托举部件的上表面滑动,并在目标位置以目标速度滑动脱离托举部件;目标速度的水平方向分量与第一方向的水平方向分量方向相同。
其中,上述控制驱动电机驱动托举部件转动至第一目标姿态的过程,可以在控制驱动电机驱动托举部件沿着第一方向移动至第一位置的过程中开始执行;或者,上述控制驱动电机驱动托举部件转动至第一目标姿态的过程,可以在控制驱动电机驱动托举部件沿着第一方向移动至第一位置时开始执行;或者,上述控制驱动电机驱动托举部件转动至第一目标姿态的过程,可以在控制驱动电机驱动托举部件沿着第一方向移动至第一位置后开始执行。
比如,请参考图4,其示出了本申请一个示例性实施例提供的物体放置的动态示意图。以机械臂通过前送的方式放置目标物体为例,如图4所示,从初始位置a开始,机械臂中的驱动电机驱动机械臂前送,机械臂中的托举部件41水平移动至中间位置b、并在继续水平移动的过程中控制托举部件的逆时针方向转动,以使托举部件到达中间位置c所示的状态;其中,前端是托举部件41上与水平移动方向相同的一端,后端是托举部件41上与水平移动方向相反的一端;然后在继续水平移动的过程中控制托举部件的顺时针方向转动,且转动的角度小于托举部件到达中间位置c时的转动角度,以使托举部件达到中间位置d所示的状态;托举部件在继续水平移动的过程中控制顺时针方向继续转动,以使托举部件恢复至水平位置,即到达中间位置所示e的状态,同时使得目标物体从托举部件上滑至用于放置目标物体的桌面,机械臂中的驱动电机驱动机械臂后退达到最终位置f的状态。其中,在不同的位置,托举部件可以具有不同的速度和不同的偏转方向,使得放置在托举部件41上的目标物体42在根据托举部件移动的同时,相对于托举部件41滑动,并在中间位置e脱离托举部件41,滑动至桌面。
采用上述控制信号进行控制,能够适用于目标物体脱离后的托举部件所在的位置与初始位置,需要位于目标物体脱离后所处位置的同一侧的场景,能够有效提高在该场景下的物品放置效率。
在另一种可能的实现方式中,上述控制器,用于生成第二移动控制信号,第二移动控制信号控制驱动电机驱动托举部件沿着第二方向移动至第二位置;上述控制器,还用于生成第二转动控制信号,第二转动控制信号控制驱动电机驱动托举部件转动至目标姿态,目标姿态为托举部件沿第二方向延伸的一侧向上倾斜,以使得目标物体在摩擦力和重力的作用下在托举部件的上表面滑动,并在目标位置以目标速度滑动脱离托举部件;其中,目标速度的水平方向分量与第二方向的水平方向分量方向相反。
其中,上述控制驱动电机驱动托举部件转动至目标姿态的过程,可以在控制驱动电机驱动托举部件沿着第二方向移动至第二位置的过程中开始执行;或者,上述控制驱动电机驱动托举部件转动至目标姿态过程,可以在控制驱动电机驱动托举部件沿着第二方向移动至第二位置时开始执行;或者,上述控制驱动电机驱动托举部件转动至目标姿态的过程,可以在控制驱动电机驱动托举部件沿着第二方向移动至第二位置后开始执行。
请参考图5,其示出了本申请另一个示例性实施例提供的物体放置的动态示意图。以机械臂通过后缩的方式放置目标物体为例,如图5所示,从初始位置a开始,机械臂中的驱动电机驱动机械臂前送,机械臂中的托举部件51水平移动至中间位置b、并在继续水平移动的过程中控制托举部件的顺时针方向转动,以使托举部件到达中间位置c所示的状态;然后在继续水平移动的过程中控制托举部件的逆时针方向转动,且转动的角度小于托举部件到达中间位置c时的转动角度,以使托举部件达到中间位置d所示的状态;托举部件在继续水平移动的过程中控制逆时针方向继续转动,以使托举部件恢复至水平位置,即到达中间位置e的状态,同时使得目标物体从托举部件上滑至用于放置目标物体的桌面, 机械臂中的驱动电机驱动机械臂后退达到最终位置f。其中,在不同的位置,托举部件可以具有不同的速度和不同的偏转方向,使得放置在托举部件51上的目标物体52在根据托举部件移动的同时,相对于托举部件51滑动,并在中间位置e脱离托举部件51,滑动至桌面。采用上述控制信号进行控制,能够适用于目标物体脱离后的托举部件所在的位置与初始位置,需要位于目标物体脱离后所处位置的不同侧的场景,能够有效提高在该场景下的物品放置效率。
本申请上述实施例所示的放置方式可以有以下几个优点:
1)机器人末端可以操作大负载物体,且物体上没有抓取点,因而机器人可以在没有手指抓取的情况下实现物体的放置操作;
2)放置快速,便捷,整个过程可以动态流畅的完成;
3)可以与其它动态操作动作配合完成,如机器人的动态转移,动态抓取等操作形式;
4)不依赖于复杂昂贵的机器人灵巧手,机器人末端只需要安装简单的手掌即可以实现复杂的灵巧操作。
请参考图6,其示出了本申请提供的滑动放置操作的实现流程。该实现流程的执行方式可以参考图7。
图7是本申请一个示例性实施例提供的机械臂的控制方法,其中,机械臂包括托举部件、机械臂主体、以及驱动电机,托举部件连接于机械臂主体;可选的,该机械臂可以是上述图1或图2所示的机械臂。比如,该方法可以由图1或图2所示的机械臂中的控制器执行。如图7所示,该机械臂的控制方法包括:
步骤701,获取托举部件上的目标物体与托举部件之间的摩擦力系数。
在一种可能的实现方式中,获取托举部件上的目标物体与托举部件之间的摩擦力系数,包括:
获取目标物体在托举部件上发生滑动时的画面;
基于目标物体在托举部件上发生滑动时的画面,获取目标物体的滑动信息;滑动信息包括目标物体在托举部件上发生滑动时,托举部件的倾斜角度,以及,目标物体在托举部件上滑动的加速度;
根据滑动信息获取摩擦力系数。
在一些实施例中,摩擦力系数包括静摩擦系数和动摩擦系数。目标物体在托举部件上发生滑动时的画面包括目标物体在托举部件上发生匀速滑动时的第一画面和目标物体在托举部件上发生加速滑动时的第二画面,基于第一画面可以确定目标物体与托举部件之间的静摩擦系数,基于第二画面可以确定目标物体与托举部件之间的动摩擦系数,
在一种可能的实现方式中,上述托举部件的形状为平板。比如,上述托举部件可以是机械臂顶端的平板形状的机械手掌,以使目标物体能够从平板形状的机械手掌上顺利滑出。
目标物体在机械臂的托举部件(比如机械手掌,下文简称为手掌)上滑动,可以将手掌和目标物体视为一体的运动系统,该运动系统的示意图可以如图8所示。
上图中,{I}为惯性坐标系,{B}为手掌上的连体坐标系。根据坐标系{I}可以确定手掌的位姿和运动,根据坐标系{B}可以确定物体的位姿和运动。
物体与机器人手掌之间的摩擦主要分为静摩擦和动摩擦,二类摩擦分别可以通过静摩擦系数μ 0和动摩擦系数μ来确定。
静摩擦系数可以通过不断调整手掌倾斜角度q,并观察物体运动情况得到。如果q=q 0时,物体开始运动,则静摩擦系数可以表示如下所示:
μ 0=a tan(q 0)
当倾斜角度大于q 0,且固定不变,此时物体会以某一特定的加速度
Figure PCTCN2022138281-appb-000001
下滑,则此时的动摩擦力系数可以表示如下:
Figure PCTCN2022138281-appb-000002
上述公式中,物体的加速度
Figure PCTCN2022138281-appb-000003
可以通过视觉信息以及动捕系统获得。该视觉信息以及动捕系统可以通过AI模型实现,该AI模型可以通过机器学习的方式训练得到。
步骤702,基于摩擦力系数,构建滑动力学模型;滑动力学模型用于指示托举部件托举目标物体运动的过程中,运动系统的广义坐标的变化情况与运动系统受到的驱动力之间的关系。
其中,该运动系统包括托举部件以及目标物体。
手掌上的控制点C在坐标系{I}中的坐标为C(x 0,y 0)。物体在手掌连体坐标系中的坐标为(x,y)。由此可以进一步得到物体在惯性坐标系下的坐标为:
Figure PCTCN2022138281-appb-000004
式中,[x I,y I]为物体质心点在世界坐标系下的坐标值,R为旋转矩阵。
假设整个系统的广义坐标为X,且X=[x 0,y 0,q,x,y] Τ。整个系统的动力学模型如下所示:
Figure PCTCN2022138281-appb-000005
上述公式中,
Figure PCTCN2022138281-appb-000006
Figure PCTCN2022138281-appb-000007
Figure PCTCN2022138281-appb-000008
Figure PCTCN2022138281-appb-000009
G(X)=[G 1 G 2 G 3 G 4 G 5] Τ
F=[F 1 F 2 F 3 F 4 F 5] Τ
其中,H(X),
Figure PCTCN2022138281-appb-000010
和G(X)分别为滑动系统的惯性矩阵,离心力矩阵以及重力矢量,F为驱动力矢量。F 1和F 2为机器人在X和Y方向上的驱动力,F 3为机器人在旋转方向上的驱动力矩,F 4为物体在手掌上的摩擦力,F 5为物体与手掌之间的支持力。下面介绍H(X)和
Figure PCTCN2022138281-appb-000011
的组成元素:
H 11=H 22=m 1+m 2
H 12=H 21=0
H 13=H 31=m 2(y cos(q)-x sin(q))
H 14=H 41=m 2cos(q)
H 15=H 51=m 2sin(q)
H 23=H 32=-m 2(x cos(q)+y sin(q))
H 24=H 42=-m 2sin(q)
H 25=H 52=m 2cos(q)
H 33=m 2x 2+m 2y 2+I 1+I 2
H 34=H 43=m 2y
H 53=-m 2x
H 44=H 55=m 2
H 45=H 54=-m 2x
C 11=C 12=C 21=C 22=C 31=C 32=C 41=C 42=C 51=C 52
Figure PCTCN2022138281-appb-000012
Figure PCTCN2022138281-appb-000013
Figure PCTCN2022138281-appb-000014
Figure PCTCN2022138281-appb-000015
Figure PCTCN2022138281-appb-000016
Figure PCTCN2022138281-appb-000017
Figure PCTCN2022138281-appb-000018
Figure PCTCN2022138281-appb-000019
Figure PCTCN2022138281-appb-000020
Figure PCTCN2022138281-appb-000021
C 44=0
Figure PCTCN2022138281-appb-000022
Figure PCTCN2022138281-appb-000023
Figure PCTCN2022138281-appb-000024
C 55=0
其中,上述公式中的m 1表示机器人的机械臂和手掌的等效质量,m 2表示物体的质量,I 1表示机器人的手掌的转动惯量,I 2表示物体的转动惯量。
步骤703,基于滑动力学模型,获取目标控制信息;目标控制信息包括托举部件的运动轨迹,以及运动系统在各个时刻受到的驱动力。
可选的,上述目标控制信息还可以包括机械臂的运动轨迹。
在一种可能的实现方式中,基于滑动力学模型,获取目标控制信息,包括:
基于控制约束条件,以运动代价最小化为目标,获取目标控制信息;控制约束条件包括滑动力学模型所表征的滑动力学约束条件;运动代价是通过驱动电机驱动托举部件运动,以使得目标物体随着托举部件运动,在摩擦力和重力的作用下在托举部件上表面滑动,在目标位置以目标速度滑动脱离托举部件的过程中,托举部件的运动时间、运动距离或做功的至少一种。
其中,托举部件的运动时间即为放置物体的整个过程所耗费的时间,通过托举部件开始运动的时刻到目标部件脱离托举部件的时刻之间的时间差。运动距离即为托举部件从起始位置到目标部件脱离托举部件的目标位置的运动轨迹对应的路程。做功即为托举部件从起始位置到目标部件脱离托举部件的目标位置的过程中所作用的力与运动距离的乘积。
其中,上述运动代价最小化可以包括运动轨迹的执行时间(即放置物体的整个过程所耗费的时间)最小化、运动轨迹的距离最小化、以及运动轨迹的做功(即放置物体的整个过程中,控制电机的做功)最小化中的至少一种。
在本实施例中,通过将运动时间、运动距离或做功的至少一种作为运动代价,以运动代价最小化为目标,能够确定出托举部件从起始位置到目标部件脱离托举部件的目标位置 的最佳运动方式,进而能够得到物品放置效率最优时的控制信号,来对驱动电机进行控制,提高控制效果。
上述步骤702中,给出了滑动操作过程中的动力学模型,滑动操作的动力学模型可以用于机器人的操作的最优控制解算。机器人动态滑动操作是指在机器人运动过程中,通过调整机器人手掌的倾斜角度,改变物体的下滑加速度和速度,进而将物体以某一个特定速度滑出,通过托举部件的运动来动态的放置目标物体,不存在静态过程,可以使得物体放置的动作连贯执行,从而提高了放置物体的效率。
在一种可能的实现方式中,目标物体在托举部件上滑动的过程包括沿着相对于托举部件的第一方向滑动脱离托举部件的第一过程;
控制约束条件包括:
滑动力学约束条件:
Figure PCTCN2022138281-appb-000025
托举部件在第一过程的开始时刻需满足的位置约束条件:X(0)=X 0;托举部件在第一过程的结束时刻需满足的位置约束条件X(T)=X T
在第一过程的开始时刻,目标物体需满足的速度约束条件:
Figure PCTCN2022138281-appb-000026
在第一过程的结束时刻,目标物体需满足的速度约束条件:
Figure PCTCN2022138281-appb-000027
以及,托举部件对目标物体的支持力大于等于0:F 5≥0。
其中,0和T分别为目标物体从托举部件开始滑动的时刻和目标物体从托举部件滑出的时刻;X 0和X T分别为目标物体在开始滑动时刻和滑出时刻需要达到的位置,
Figure PCTCN2022138281-appb-000028
Figure PCTCN2022138281-appb-000029
分别为目标物体在开始滑动时刻和滑出时刻需要达到的速度。
根据机器人的滑动操作的要求,物体由初始位置,需要在机器人手掌运动的情况下,在某一个时刻以某一速度从边缘处滑出。以运动代价包括运动轨迹的执行时间为例,根据任务特征,可以列出如下所示的最优轨迹生成方程:
Figure PCTCN2022138281-appb-000030
Figure PCTCN2022138281-appb-000031
上述公式中,X 0和X T分别给出了物体在机器人手掌上开始滑动的时刻和最终脱手时刻的位置,
Figure PCTCN2022138281-appb-000032
Figure PCTCN2022138281-appb-000033
分别给出了物体在机器人手掌上开始滑动的时刻和最终脱手时刻的速度,F 5≥0约束主要是保证物体与手掌的接触始终存在。λ为机器人加速度优化项的权重 系数。
其中,上述最优轨迹生成方程中,
Figure PCTCN2022138281-appb-000034
表示轨迹执行的时间需要最小化;
Figure PCTCN2022138281-appb-000035
表示滑动系统的加速度。
根据上述公式,机器人的运动轨迹需要保证自身运动轨迹要求,还需要通过改变倾斜角度来实现物体在手掌上的滑动。
也就是说,在本申请实施例中,需要计算得到机器人的手掌的运动轨迹和/或倾斜角度(即各个时刻的手掌的位置和姿态),然后再根据手掌的位置和姿态,进行逆向运动学计算,得到机器人的关节轨迹。
上述的最优控制方程可以通过最优控制软件包进行解算,如PSOPT或者开放最优控制库(Open Optimal Control Library,OpenOCL)。
上述方程的最优控制阶段可以得到其最优轨迹X *和最优驱动力F *
其中,上述最优驱动力指的是物体质心处所受到的合力,可以通过物体的惯性力,离心力以及重力项计算得到。
在一种可能的实现方式中,目标物体在托举部件上滑动的过程包括:
从相对于托举部件的初始位置开始,沿着相对于托举部件的第二方向滑动至相对于托举部件的第一位置的第二过程;以及,从相对于托举部件的第一位置开始,沿着相对于托举部件的第三方向滑动脱离托举部件的第三过程;
控制约束条件包括:
滑动力学模型约束条件:
Figure PCTCN2022138281-appb-000036
托举部件在第二过程的开始时刻需满足的位置约束条件:X(0)=X 0;托举部件在第三过程的开始时刻需满足的位置约束条件:
Figure PCTCN2022138281-appb-000037
托举部件在第三过程的结束时刻需满足的位置约束条件:
Figure PCTCN2022138281-appb-000038
在第二过程的开始时刻,目标物体需满足的速度约束条件:
Figure PCTCN2022138281-appb-000039
在第三过程的开始时刻,目标物体需满足的速度约束条件:
Figure PCTCN2022138281-appb-000040
在第三过程的结束时刻,目标物体需满足的速度约束条件:
Figure PCTCN2022138281-appb-000041
以及,托举部件对目标物体的支持力大于等于0:F 5≥0。
其中,0、T 1、T 2分别为目标物体从托举部件开始滑动的时刻、目标物体滑动至托举部件的第一位置的时刻、以及目标物体从托举部件滑出的时刻;X 0
Figure PCTCN2022138281-appb-000042
以及
Figure PCTCN2022138281-appb-000043
分别为目标物体从托举部件开始滑动的时刻、到达第一位置的时刻和滑出时刻的分别需要达到的位置,
Figure PCTCN2022138281-appb-000044
以及
Figure PCTCN2022138281-appb-000045
分别为目标物体从托举部件开始滑动的时刻、到达第一位置的时刻和滑出时刻的分别需要达到的速度。
在一种可能的实现方式中,当目标物体相对于托举部件的初始位置满足调整条件时,目标物体在托举部件上滑动的过程包括:从相对于托举部件的初始位置开始,沿着相对于 托举部件的第二方向滑动至相对于托举部件的第一位置的第二过程;以及,从相对于托举部件的第一位置开始,沿着相对于托举部件的第三方向滑动脱离托举部件的第三过程。通过对不同的过程划分,分阶段对物体放置过程进行控制,能够有效提高各个过程的控制精度,进而提高物体放置过程中的准确性提高物体放置效率。
在一种可能的实现方式中,上述调整条件包括:目标物体相对于托举部件的初始位置位于托举部件的边缘。
在一些情况下,物块初始位置并不合适,如初始时刻物体就在边缘位置,此时上述方案无法提供给有效下滑距离使得物体以一定初速度划出接触面,因而有必要采用滑动的方式进行重新抓取,使得物体可以合适的位置。其中,位置调整和放置的示意图可以如图9所示。
上述图9所示的滑动操作包含了两个过程,一个过程是滑动操作实现位置调整,另一个过程是滑动操作实现物体的动态放置。
此时,以运动代价包括运动轨迹的执行时间为例,根据任务特征,可以列出如下所示的最优轨迹生成方程:
Figure PCTCN2022138281-appb-000046
Figure PCTCN2022138281-appb-000047
上述优化模型中,T 1为基于滑动的位置调整时间,T 2-T 1为基于滑动的动态放置的时间。
Figure PCTCN2022138281-appb-000048
表示轨迹执行的时间需要最小化。
同样的,针对多阶段的最优控制,上述方程的最优控制阶段可以得到其最优轨迹X *和最优驱动力F *
步骤704,基于目标控制信息,获取驱动电机的驱动力矩。
在一种可能的实现方式中,控制器基于滑动力学模型,通过阻抗控制的方式获取目标控制信息;其中,在上述阻抗控制的过程中,目标物体受到的抓取力由托举部件对目标物体的支撑力和摩擦力确定。
机器人操作中的物体阻抗是指机器人抓取目标物体后,目标物体对外交互,二者之间 的阻抗关系式。此处,物体并没有与其它外部环境进行交互,但是物体在此处需要与手掌之间存在一特定的接触,且物体的动力学方程有:
Figure PCTCN2022138281-appb-000049
式中,M b,C b和N b分别式物体在连体坐标系下的惯性矩阵,离心力项矩阵以及重力项矩阵。F b为物体受到其它外部作用力,此处主要是指等效操作力。V b
Figure PCTCN2022138281-appb-000050
是指物体的运动速度以及加速度。R s,b为物体的位置和姿态。
为了保证物体与手掌之间的有效接触以及滑动操作的顺利进行,物体的等效操作力与手掌抓取力需要满足如下关系:
min(||F b*-F b|| 2+||F c|| 2)
s.t.F b=GF c
上式中,F c为手掌抓取力,G为抓取矩阵,F b*为期望的等效操作力。其中,物体的等效操作力是指物体质心处受到的合力,而等效操作力最直接的影响因素是手掌和物体之间的接触力(即上述手掌抓取力)。其中,上述接触力通常是3维矢量,其包含力矢量,且不包含力矩矢量;物体的等效操作力的矢量通常是6维矢量,其既包含力矢量,也包含力矩矢量。
考虑到机械臂的动力学以及所受外力,则有:
Figure PCTCN2022138281-appb-000051
上式中,M r(θ),
Figure PCTCN2022138281-appb-000052
和N r(θ)分别是机器人相关的惯性矩阵,离心力项矩阵以及重力矩阵。
Figure PCTCN2022138281-appb-000053
为力映射雅可比矩阵。τ为各个关节驱动力矢量。
因而机械臂的控制力矩为:
Figure PCTCN2022138281-appb-000054
Figure PCTCN2022138281-appb-000055
式中,u为机器人关节加速度相关控制修正项,k p和k d为控制系数,J V为物体笛卡尔速度和机器人关节运动之间的映射雅可比矩阵。
在操作物体时,需要控制机器人的笛卡尔位置和姿态,而在实际控制中,机器人的底层控制器需要控制机器人的各个关节,而各个关节的控制需要关节驱动力矩来实现。因此,在本申请实施例中,机器人的控制器需要按照上述公式计算出驱动电机的驱动力矩。
步骤705,基于驱动力矩,通过驱动电机驱动托举部件运动,以使得托举部件上放置的目标物体随着托举部件的运动,在摩擦力和重力的作用下在托举部件的上表面滑动,并 在目标位置以目标速度滑动脱离托举部件。
其中,驱动托举部件的运动包括使得托举部件发生姿态变化或使得托举部件发生位移中的至少一种情况。示例性的,使得托举部件发生姿态变化包括驱动托举部件顺时针转动或逆时针转动以使托举部件的托举平面发生倾斜。示例性的,使得托举部件发生位移包括使得托举部件沿任意方向移动以到达另一个位置(例如用于放置该目标物体的桌面的边缘位置)。可选的,沿任意方向移动具体可以是沿直线移动或沿曲线移动等。
基于上述内容可见,在本申请实施例中,目标物体在托举部件上表面滑动时,目标物体在托举部件上表面的加速度由托举部件的上表面相对于水平面的偏移角度控制,且目标物体的在滑动过程中的阻力为滑动摩擦力。
具体的,目标物体在托举部件上表面滑动过程中,随着托举部件倾斜角度增加,目标物体在托举部件上表面的加速度大于0,之后,目标物体开始加速滑动,随着托举部件倾斜角度的变化,目标物体在托举部件上表面的加速度可以继续大于0(滑动摩擦力小于目标物体重力在托举部件上表面的分量,此时目标物体继续加速滑动),或者,目标物体在托举部件上表面的加速度可以等于0(滑动摩擦力小于目标物体重力在托举部件上表面的分量,此时目标物体的滑动速度不变),或者,目标物体在托举部件上表面的加速度也可以小于0(滑动摩擦力大于目标物体重力在托举部件上表面的分量,此时目标物体开始减速)。
在一个示例性的方案中,在放置物体的过程中,机器人首先控制手掌大角度倾斜,使物体加速滑动,然后再减小手掌的倾斜角度,使物体减速后脱离手掌。
在另一个示例性的方案中,在放置物体的过程中,机器人首先控制手掌大角度倾斜,使物体加速滑动,然后再减小手掌的倾斜角度,使物体保持匀速滑动,之后脱离手掌。
在另一个示例性的方案中,在放置物体的过程中,机器人可以控制手掌大角度倾斜,使物体加速滑动,并使物体在加速过程中脱离手掌。
通过本申请实施例所示的方案,上述物体动态放置策略属于机器人动态操作,主要优势有以下几点:
1)动态放置可以有效提升任务完成效率,且可以与其它动态任务完成拼接动作;
2)可以有效完成大质量大尺寸物体的快速放置;
3)可以不需要额外的负载的末端执行器,只需要利用机器人手掌或者托盘即可完成复杂的任务。
综上所述,本申请实施例所示的方案,通过托举部件上的目标物体与托举部件之间的摩擦力系数,构建用于指示托举部件托举目标物体运动的过程中,运动系统的广义坐标的变化情况与运动系统受到的驱动力之间的关系的滑动力学模型,然后基于滑动力学模型,获取托举部件的运动轨迹,以及运动系统在各个时刻受到的驱动力,再通过目标控制信息控制驱动电机,使得目标物体在目标位置,以目标速度滑动脱离托举部件,从而完成物体放置。在上述过程中,通过托举部件的运动来动态的放置目标物体,不存在静态过程,可 以使得物体放置的动作连贯执行,从而提高了放置物体的效率。
图10是本申请一个示例性实施例提供的机械臂的控制装置的结构框图,该机械臂包括托举部件、机械臂主体、以及驱动电机,该托举部件连接于机械臂主体;所述装置包括:
系数获取模块1001,用于获取所述托举部件上的目标物体与所述托举部件之间的摩擦力系数;
模型构建模块1002,用于基于所述摩擦力系数,构建滑动力学模型;所述滑动力学模型用于指示所述托举部件托举所述目标物体运动的过程中,运动系统的广义坐标的变化情况与所述运动系统受到的驱动力之间的关系;所述运动系统包括所述托举部件以及所述目标物体;
控制信息获取模块1003,用于基于所述滑动力学模型,获取目标控制信息;所述目标控制信息包括所述托举部件的运动轨迹,以及所述运动系统在各个时刻受到的驱动力;
驱动控制模块1004,用于基于所述目标控制信息,通过所述驱动电机驱动所述托举部件运动,以使得所述目标物体随着所述托举部件运动,在摩擦力和重力的作用下在所述托举部件上表面滑动,并在目标位置以目标速度滑动脱离所述托举部件。
在一种可能的实现方式中,所述目标物体在所述托举部件上表面滑动时,所述目标物体在所述托举部件上表面的加速度由所述托举部件的上表面相对于水平面的偏移角度控制,且所述目标物体的在滑动过程中的阻力为滑动摩擦力。
在一种可能的实现方式中,所述控制信息获取模块1003,用于基于控制约束条件,以运动代价最小化为目标,获取所述目标控制信息;所述控制约束条件包括所述滑动力学模型;所述运动代价是通过所述驱动电机驱动所述托举部件运动,以使得所述目标物体随着所述托举部件运动,在摩擦力和重力的作用下在所述托举部件上表面滑动,并在目标位置以目标速度滑动脱离所述托举部件的代价。
在一种可能的实现方式中,所述目标物体在所述托举部件上滑动的过程包括沿着相对于所述托举部件的第一方向滑动脱离所述托举部件的第一过程;
所述控制约束条件包括:
所述滑动力学约束条件;
所述托举部件在所述第一过程的开始时刻、所述第一过程的结束时刻分别需满足的位置约束条件;
在所述第一过程的开始时刻,所述目标物体需满足的速度约束条件;
在所述第一过程的结束时刻,所述目标物体需满足的速度约束条件;
以及,所述托举部件对所述目标物体的支持力大于等于0。
在一种可能的实现方式中,所述目标物体在所述托举部件上滑动的过程包括:
从相对于所述托举部件的初始位置开始,沿着相对于所述托举部件的第二方向滑动至相对于所述托举部件的第一位置的第二过程;以及,从相对于所述托举部件的第一位置开 始,沿着相对于所述托举部件的第三方向滑动脱离所述托举部件的第三过程;
所述控制约束条件包括:
所述滑动力学约束条件;
所述托举部件在所述第二过程的开始时刻、所述第三过程的开始时刻以及所述第三过程的结束时刻分别需满足的位置约束条件;
在所述第二过程的开始时刻,所述目标物体需满足的速度约束条件;
在所述第三过程的开始时刻,所述目标物体需满足的速度约束条件;
在所述第三过程的结束时刻,所述目标物体需满足的速度约束条件;
以及,所述托举部件对所述目标物体的支持力大于等于0。
在一种可能的实现方式中,当所述目标物体相对于所述托举部件的初始位置满足调整条件时,所述目标物体在所述托举部件上滑动的过程包括:从相对于所述托举部件的初始位置开始,沿着相对于所述托举部件的第二方向滑动至相对于所述托举部件的第一位置的第二过程;以及,从相对于所述托举部件的第一位置开始,沿着相对于所述托举部件的第三方向滑动脱离所述托举部件的第三过程。
在一种可能的实现方式中,所述调整条件包括:所述目标物体相对于所述托举部件的初始位置位于所述托举部件的边缘。
在一种可能的实现方式中,所述控制信息获取模块1003,用于基于所述滑动力学模型,通过阻抗控制的方式获取目标控制信息;
其中,所述阻抗控制的过程中,所述目标物体受到的抓取力由所述托举部件对所述目标物体的支撑力和摩擦力确定。
在一种可能的实现方式中,所述系数获取模块1001,用于,
获取所述目标物体在所述托举部件上发生滑动时的画面;
基于所述目标物体在所述托举部件上发生滑动时的画面,获取所述目标物体的滑动信息;所述滑动信息包括所述目标物体在所述托举部件上发生滑动时,所述托举部件的倾斜角度,以及,所述目标物体在所述托举部件上滑动的加速度;
根据所述滑动信息获取所述摩擦力系数。
综上所述,本申请实施例所示的方案,通过托举部件上的目标物体与托举部件之间的摩擦力系数,构建用于指示托举部件托举目标物体运动的过程中,运动系统的广义坐标的变化情况与运动系统受到的驱动力之间的关系的滑动力学模型,然后基于滑动力学模型,获取托举部件的运动轨迹,以及运动系统在各个时刻受到的驱动力,再通过目标控制信息控制驱动电机,使得目标物体在目标位置,以目标速度滑动脱离托举部件,从而完成物体放置。在上述过程中,通过托举部件的运动来动态的放置目标物体,不存在静态过程,可以使得物体放置的动作连贯执行,从而提高了放置物体的效率。
需要说明的是:上述实施例提供的装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结 构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置,与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图11示出了本申请一个示例性实施例提供的机器人1100的结构框图。该机器人1100可以包括有:托举部件1101、机械臂主体1102、驱动电机1103、处理器1104和存储器1105。
处理器1104可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1104可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。一些实施例中,处理器1104还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1105可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1105还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1105中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1104所执行以实现本申请中方法实施例提供的机械臂的控制方法。
在一些实施例中,机器人1100还可选包括有:外围设备接口和至少一个外围设备。处理器1104、存储器1105和外围设备接口之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口相连。具体地,外围设备可以包括:射频电路、显示屏、摄像头组件、音频电路、和电源中的至少一种。
外围设备接口可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1104和存储器1105。
摄像头组件可以用于采集图像或视频。
在一些实施例中,机器人1100还包括有一个或多个传感器。该一个或多个传感器包括但不限于:加速度传感器、陀螺仪传感器、压力传感器、光学传感器以及接近传感器等等。
本领域技术人员可以理解,图11中示出的结构并不构成对机器人1100的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本申请的实施例还提供了一种机器人,该机器人包含如上述图1或图2所示的机械臂;该机械臂中的控制器可以用于执行如上述图3或图7所示的机械臂的控制方法。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有至少一条计算机可读指令,至少一条计算机可读指令由一个或多个处理器加载并执行,以实现上述各方法实施例提供的机械臂的控制方法。
本申请的实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机可读指令,该计算机可读指令存储在计算机可读存储介质中。计算机 设备(比如机器人)的一个或多个处理器从计算机可读存储介质读取该计算机可读指令,一个或多个处理器执行该计算机可读指令,使得该计算机设备执行上述实施例中任一所述的机械臂的控制方法。
可选地,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、固态硬盘(SSD,Solid State Drives)或光盘等。其中,随机存取记忆体可以包括电阻式随机存取记忆体(ReRAM,Resistance Random Access Memory)和动态随机存取存储器(DRAM,Dynamic Random Access Memory)。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (20)

  1. 一种机械臂,其特征在于,所述机械臂包括:托举部件(110)、机械臂主体(120)、驱动电机(130)以及控制器(140);
    所述控制器(140)与所述驱动电机(130)相连;所述托举部件(110)连接于所述机械臂主体(120);
    所述控制器(140)用于生成控制信号,所述控制信号控制所述驱动电机(130)驱动所述托举部件(110)运动,以使得所述托举部件(110)上放置的目标物体(150)随着所述托举部件(110)的运动,在摩擦力和重力的作用下在所述托举部件(110)的上表面滑动,并在目标位置以目标速度滑动脱离所述托举部件(110)。
  2. 根据权利要求1所述的机械臂,其特征在于,所述控制器(140),用于生成第一移动控制信号和第一转动控制信号,
    所述第一移动控制信号控制所述驱动电机(130)驱动所述托举部件(110)沿着第一方向移动至第一位置;
    所述第一转动控制信号控制所述驱动电机(130)驱动所述托举部件(110)转动至第一目标姿态,所述第一目标姿态为所述托举部件(110)沿所述第一方向延伸的一侧向下倾斜,以使得所述目标物体(150)在摩擦力和重力的作用下在所述托举部件(110)的上表面滑动,并在目标位置以目标速度滑动脱离所述托举部件(110);所述目标速度的水平方向分量与所述第一方向的水平方向分量方向相同。
  3. 根据权利要求1所述的机械臂,其特征在于,所述控制器(140),用于生成第二移动控制信号和第二转动控制信号,
    所述第二移动控制信号控制所述驱动电机(130)驱动所述托举部件(110)沿着第二方向移动至第二位置;
    所述第二转动控制信号控制所述驱动电机(130)驱动所述托举部件(110)转动至第二目标姿态,所述第二目标姿态为所述托举部件(110)沿所述第二方向延伸的一侧向上倾斜,以使得所述目标物体(150)在摩擦力和重力的作用下在所述托举部件(110)的上表面滑动,并在目标位置以目标速度滑动脱离所述托举部件(110);其中,所述目标速度的水平方向分量与所述第二方向的水平方向分量方向相反。
  4. 根据权利要求1所述的机械臂,其特征在于,所述托举部件(110)与所述机械臂主体(120)通过第一关节(160)相连;
    所述驱动电机(130)包含第一驱动电机(130a);
    所述第一驱动电机(130a)用于驱动所述第一关节(160)转动,以使得所述托举部件(110)绕所述第一关节(160)转动。
  5. 根据权利要求1所述的机械臂,其特征在于,所述驱动电机(130)包含第二驱动电机(130b);
    所述第二驱动电机(130b)用于驱动所述托举部件(110)移动。
  6. 根据权利要求1所述的机械臂,其特征在于,所述托举部件(110)为与放置的目标物品之间产生摩擦力的部件,所述托举部件(110)的形状为平板或类平板。
  7. 根据权利要求1至6任一所述的机械臂,其特征在于,所述机械臂还包括:图像采集组件(170);
    所述图像采集组件(170)与所述控制器(140)相连;
    所述图像采集组件(170)用于采集所述托举部件(110)处的图像。
  8. 一种机械臂的控制方法,其特征在于,由控制器执行,所述机械臂包括托举部件、机械臂主体、以及驱动电机,所述托举部件连接于所述机械臂主体;所述方法包括:
    获取所述托举部件上的目标物体与所述托举部件之间的摩擦力系数;
    基于所述摩擦力系数,构建滑动力学模型;所述滑动力学模型用于指示所述托举部件托举所述目标物体运动的过程中,运动系统的广义坐标的变化情况与所述运动系统受到的驱动力之间的关系;所述运动系统包括所述托举部件以及所述目标物体;
    基于所述滑动力学模型,获取目标控制信息;所述目标控制信息包括所述托举部件的运动轨迹,以及所述运动系统在各个时刻受到的驱动力;及
    基于所述目标控制信息,通过所述驱动电机驱动所述托举部件运动,以使得所述目标物体随着所述托举部件运动,在摩擦力和重力的作用下在所述托举部件的上表面滑动,并在目标位置以目标速度滑动脱离所述托举部件。
  9. 根据权利要求8所述的方法,其特征在于,所述目标物体在所述托举部件上表面滑动时,所述目标物体在所述托举部件上表面的加速度由所述托举部件的上表面相对于水平面的偏移角度控制,且所述目标物体的在滑动过程中的阻力为滑动摩擦力。
  10. 根据权利要求8或9所述的方法,其特征在于,所述基于所述滑动力学模型,获取目标控制信息,包括:
    基于控制约束条件,以运动代价最小化为目标,获取所述目标控制信息;所述控制约束条件包括所述滑动力学模型所表征的滑动力学约束条件;
    所述运动代价是通过所述驱动电机驱动所述托举部件运动,以使得所述目标物体随着所述托举部件运动,在摩擦力和重力的作用下在所述托举部件上表面滑动,并在目标位置以目标速度滑动脱离所述托举部件的过程中,所述托举部件的运动时间、运动距离或做功的至少一种。
  11. 根据权利要求10所述的方法,其特征在于,所述目标物体在所述托举部件上滑动的过程包括沿着相对于所述托举部件的第一方向滑动脱离所述托举部件的第一过程;
    所述控制约束条件包括:
    所述滑动力学约束条件;
    所述托举部件在所述第一过程的开始时刻、所述第一过程的结束时刻分别需满足的位置约束条件;
    在所述第一过程的开始时刻,所述目标物体需满足的速度约束条件;
    在所述第一过程的结束时刻,所述目标物体需满足的速度约束条件;
    以及,所述托举部件对所述目标物体的支持力大于等于0。
  12. 根据权利要求10所述的方法,其特征在于,所述目标物体在所述托举部件上滑动的过程包括:
    从相对于所述托举部件的初始位置开始,沿着相对于所述托举部件的第二方向滑动至相对于所述托举部件的第一位置的第二过程;以及,从相对于所述托举部件的第一位置开始,沿着相对于所述托举部件的第三方向滑动脱离所述托举部件的第三过程;
    所述控制约束条件包括:
    所述滑动力学约束条件;
    所述托举部件在所述第二过程的开始时刻、所述第三过程的开始时刻以及所述第三过程的结束时刻分别需满足的位置约束条件;
    在所述第二过程的开始时刻,所述目标物体需满足的速度约束条件;
    在所述第三过程的开始时刻,所述目标物体需满足的速度约束条件;
    在所述第三过程的结束时刻,所述目标物体需满足的速度约束条件;
    以及,所述托举部件对所述目标物体的支持力大于等于0。
  13. 根据权利要求12所述的方法,其特征在于,当所述目标物体相对于所述托举部件的初始位置满足调整条件时,
    所述目标物体在所述托举部件上滑动的过程包括:从相对于所述托举部件的初始位置开始,沿着相对于所述托举部件的第二方向滑动至相对于所述托举部件的第一位置的第二过程;以及,从相对于所述托举部件的第一位置开始,沿着相对于所述托举部件的第三方向滑动脱离所述托举部件的第三过程。
  14. 根据权利要求13所述的方法,其特征在于,所述调整条件包括:所述目标物体相对于所述托举部件的初始位置位于所述托举部件的边缘。
  15. 根据权利要求8或9所述的方法,其特征在于,所述基于所述滑动力学模型,获取目标控制信息,包括:
    基于所述滑动力学模型,通过阻抗控制的方式获取目标控制信息;
    其中,所述阻抗控制的过程中,所述目标物体受到的抓取力由所述托举部件对所述目标物体的支撑力和摩擦力确定。
  16. 根据权利要求8或9所述的方法,其特征在于,所述获取所述托举部件上的目标物体与所述托举部件之间的摩擦力系数,包括:
    获取所述目标物体在所述托举部件上发生滑动时的画面;
    基于所述目标物体在所述托举部件上发生滑动时的画面,获取所述目标物体的滑动信息;所述滑动信息包括所述目标物体在所述托举部件上发生滑动时,所述托举部件的倾斜角度,以及,所述目标物体在所述托举部件上滑动的加速度;及
    根据所述滑动信息获取所述摩擦力系数。
  17. 一种机械臂的控制装置,其特征在于,所述机械臂包括托举部件、机械臂主体、以及驱动电机,所述托举部件连接于所述机械臂主体;所述装置包括:
    系数获取模块,用于获取所述托举部件上的目标物体与所述托举部件之间的摩擦力系数;
    模型构建模块,用于基于所述摩擦力系数,构建滑动力学模型;所述滑动力学模型用于指示所述托举部件托举所述目标物体运动的过程中,运动系统的广义坐标的变化情况与所述运动系统受到的驱动力之间的关系;所述运动系统包括所述托举部件以及所述目标物体;
    控制信息获取模块,用于基于所述滑动力学模型,获取目标控制信息;所述目标控制信息包括所述托举部件的运动轨迹,以及所述运动系统在各个时刻受到的驱动力;及
    驱动控制模块,用于基于所述目标控制信息,通过所述驱动电机驱动所述托举部件运动,以使得所述目标物体随着所述托举部件运动,在摩擦力和重力的作用下在所述托举部件上表面滑动,并在目标位置以目标速度滑动脱离所述托举部件。
  18. 一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条计算机可读指令,所述至少一条计算机可读指令由一个或多个处理器加载并执行以实现如权利要求8至16任一所述的机械臂的控制方法。
  19. 一种计算机程序产品,其特征在于,所述计算机程序产品中包含至少一条计算机可读指令,所述至少一条计算机可读指令由一个或多个处理器加载并执行以实现如权利要求8至16任一所述的机械臂的控制方法。
  20. 一种机器人,其特征在于,所述机器人包含如权利要求1至7任一所述的机械臂;
    所述机械臂中的控制器用于执行如权利要求8至16任一所述的机械臂的控制方法。
PCT/CN2022/138281 2022-01-28 2022-12-12 机械臂、机械臂的控制方法、装置、机器人及存储介质 WO2023142724A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/472,517 US20240009844A1 (en) 2022-01-28 2023-09-22 Robotic arm, method and apparatus for controlling robotic arm, robot, and storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210107236.X 2022-01-28
CN202210107236.XA CN116551654A (zh) 2022-01-28 2022-01-28 机械臂、机械臂的控制方法、装置、机器人及存储介质

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/472,517 Continuation US20240009844A1 (en) 2022-01-28 2023-09-22 Robotic arm, method and apparatus for controlling robotic arm, robot, and storage medium

Publications (1)

Publication Number Publication Date
WO2023142724A1 true WO2023142724A1 (zh) 2023-08-03

Family

ID=87470353

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/138281 WO2023142724A1 (zh) 2022-01-28 2022-12-12 机械臂、机械臂的控制方法、装置、机器人及存储介质

Country Status (3)

Country Link
US (1) US20240009844A1 (zh)
CN (1) CN116551654A (zh)
WO (1) WO2023142724A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015044257A (ja) * 2013-08-27 2015-03-12 株式会社デンソーアイティーラボラトリ ロボット、ロボット制御方法、及びロボット制御プログラム
CN205660724U (zh) * 2016-05-05 2016-10-26 佛山市新鹏机器人技术有限公司 一种用于机器人末端的恒力装置
CN109424719A (zh) * 2017-08-23 2019-03-05 拓诺麦公司 零件放置系统、零件放置设备和用于放置零件的方法
CN111618852A (zh) * 2019-05-09 2020-09-04 牧今科技 具有协调转移机构的机器人系统
CN112978346A (zh) * 2019-12-16 2021-06-18 发那科株式会社 物品搬运系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015044257A (ja) * 2013-08-27 2015-03-12 株式会社デンソーアイティーラボラトリ ロボット、ロボット制御方法、及びロボット制御プログラム
CN205660724U (zh) * 2016-05-05 2016-10-26 佛山市新鹏机器人技术有限公司 一种用于机器人末端的恒力装置
CN109424719A (zh) * 2017-08-23 2019-03-05 拓诺麦公司 零件放置系统、零件放置设备和用于放置零件的方法
CN111618852A (zh) * 2019-05-09 2020-09-04 牧今科技 具有协调转移机构的机器人系统
CN112978346A (zh) * 2019-12-16 2021-06-18 发那科株式会社 物品搬运系统

Also Published As

Publication number Publication date
US20240009844A1 (en) 2024-01-11
CN116551654A (zh) 2023-08-08

Similar Documents

Publication Publication Date Title
Safeea et al. Kuka sunrise toolbox: Interfacing collaborative robots with matlab
US11738456B2 (en) Palletizing boxes
Namiki et al. Development of a high-speed multifingered hand system and its application to catching
US9981381B1 (en) Real time generation of phase synchronized trajectories
Mason Progress in nonprehensile manipulation
Paul et al. A multirotor platform employing a three-axis vertical articulated robotic arm for aerial manipulation tasks
US20150273689A1 (en) Robot control device, robot, robotic system, teaching method, and program
Staub et al. The tele-magmas: An aerial-ground comanipulator system
US11839979B2 (en) Dual mode free-drive of robot arm
JP7381595B2 (ja) マルチボディコントローラおよびロボット
US11945106B2 (en) Shared dense network with robot task-specific heads
US20240042613A1 (en) Robotic system to control multiple robots to perform a task cooperatively
CA3214609A1 (en) Dynamic mass estimation methods for an integrated mobile manipulator robot
CN117355392A (zh) 集成移动机械手机器人
TW202333919A (zh) 控制多個機器人以協同地拾取及放置物品
WO2023142724A1 (zh) 机械臂、机械臂的控制方法、装置、机器人及存储介质
Kebritchi et al. Design and Development of an Omnidirectional Mobile Manipulator for Indoor Environment
US20230286161A1 (en) Systems and Methods for Robotic Manipulation Using Extended Reality
US11731278B1 (en) Robot teleoperation using mobile device motion sensors and web standards
CN112135718B (zh) 机器人的控制
Chen et al. Robotic pick-and-handover maneuvers with camera-based intelligent object detection and impedance control
Patil et al. A review paper on introduction of parallel manipulator and control system
CN115837668A (zh) 机器人使对象进行旋转运动的方法以及机器人
Rosen et al. A Virtual Reality Teleoperation Interface for Industrial Robot Manipulators
CN116945153A (zh) 机械臂的控制方法、装置、设备及存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22923513

Country of ref document: EP

Kind code of ref document: A1