WO2023082404A1 - 机器人的控制方法、机器人、存储介质及抓取系统 - Google Patents

机器人的控制方法、机器人、存储介质及抓取系统 Download PDF

Info

Publication number
WO2023082404A1
WO2023082404A1 PCT/CN2021/137999 CN2021137999W WO2023082404A1 WO 2023082404 A1 WO2023082404 A1 WO 2023082404A1 CN 2021137999 W CN2021137999 W CN 2021137999W WO 2023082404 A1 WO2023082404 A1 WO 2023082404A1
Authority
WO
WIPO (PCT)
Prior art keywords
target
image
robot
target position
instruction
Prior art date
Application number
PCT/CN2021/137999
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 WO2023082404A1 publication Critical patent/WO2023082404A1/zh

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
    • 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
    • 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
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Definitions

  • the present application relates to the technical field of robots, in particular to a robot control method, a robot, a storage medium and a grabbing system.
  • BCI Brain Computer Interface
  • the main technical problem to be solved in this application is to provide a robot control method, robot, storage medium and grasping system, which can enable the robot based on the pulse neural network to have the function of image recognition and make the robot more intelligent.
  • a technical solution adopted by the present application is to provide a robot control method, which includes: acquiring an image of the target area; using the YOLO algorithm to identify the image to determine the target position of the target item in the image ;Generate the target command based on the target position, and calculate the running track in the pulse neural network based on the target command; control the robot to grab the target item according to the running track.
  • obtaining the image of the target area includes: obtaining the first image and the second image of the target area; using the YOLO algorithm to identify the image to determine the target position of the target item in the image, including: using the YOLO algorithm to identify the first image Recognition is performed to determine a first target location of the target item in the first image, and the second image is recognized to determine a second target location of the target item in the second image.
  • generating the target instruction based on the target position includes: generating a third target position of the target item in the world coordinate system based on the first target position and the second target position; and generating the target command based on the third target position.
  • generating the third target position of the target item in the world coordinate system based on the first target position and the second target position includes: determining the initial third target position; using the initial third target position to obtain a plurality of corresponding fourth target positions ; When any fourth target position and the first target position meet the preset condition, and any fourth target position and the second target position meet the preset condition, determine the initial third target position as the final third target position.
  • using the initial third target position to obtain the corresponding multiple fourth target positions includes: obtaining the parameter matrix of the image acquisition device corresponding to the first image or the second image; using the initial third target position and the parameter matrix to obtain multiple fourth target positions Four target locations.
  • using the YOLO algorithm to identify the image to determine the target position of the target item in the image includes: using a trained image recognition model to identify the image to determine the target position of the target item in the image, wherein the trained The image recognition model is obtained after training the sample images of the target items based on the YOLO algorithm.
  • controlling the robot to grab the target item according to the running track includes: generating a first instruction according to the running track, the first command is used to control the robot to move to the first position on the running track; obtaining feedback data of the robot moving to the first position; The trajectory correction data is calculated in the pulse neural network based on the first instruction and feedback data; the second instruction is generated according to the running trajectory, and the second instruction and trajectory correction data are used to control the movement of the robot from the first position to the second position on the running trajectory ; and then control the robotic arm of the robot to grab the target item.
  • a robot which includes a processor and a memory coupled to the processor; wherein, the memory is used to store computer programs, and the processor is used to execute computer programs, To realize the method provided by the above technical solution.
  • another technical solution adopted by the present application is to provide a computer-readable storage medium, which is used to store a computer program.
  • the computer program is executed by a processor, it is used to realize the above-mentioned The method provided by the technical solution.
  • a grabbing system which includes: an image acquisition device for acquiring images of the target area; a controller connected to the image acquisition device for Use the YOLO algorithm to identify the image to determine the target position of the target item in the image; and generate target instructions based on the target position, and calculate the running trajectory in the pulse neural network based on the target instruction; the robot, connected with the controller, uses It is used to grab the target item according to the running track.
  • the present application provides a robot control method, the method includes: acquiring an image of the target area; using the YOLO algorithm to identify the image to determine the target in the image The target position of the item; the target command is generated based on the target position, and the running trajectory is calculated in the pulse neural network based on the target command; the robot is controlled to grab the target item according to the running track.
  • the robot based on the spiking neural network can have the function of image recognition, making the robot more intelligent.
  • Fig. 1 is a schematic flow chart of the first embodiment of the robot control method provided by the present application
  • Fig. 2 is a schematic flow chart of the second embodiment of the robot control method provided by the present application.
  • FIG. 3 is a schematic flow diagram of an embodiment of step 24 provided by the present application.
  • FIG. 4 is a schematic flowchart of an embodiment of step 242 provided by the present application.
  • FIG. 5 is a schematic flow diagram of an embodiment of step 26 provided by the present application.
  • FIG. 6 is a schematic flowchart of an embodiment of step 263 provided by the present application.
  • FIG. 7 is a schematic flowchart of an embodiment of step 2631 provided by the present application.
  • FIG. 8 is a schematic flowchart of an embodiment of step 26312 provided by the present application.
  • Fig. 9 is a schematic structural diagram of an embodiment of the robot provided by the present application.
  • FIG. 10 is a schematic structural diagram of an embodiment of a computer-readable storage medium provided by the present application.
  • Fig. 11 is a schematic structural diagram of an embodiment of the grabbing system provided by the present application.
  • FIG. 1 is a schematic flowchart of a first embodiment of a robot control method provided in the present application. The method includes:
  • Step 11 Acquire an image of the target area.
  • acquiring an image of the target area may be acquired using an image acquisition component.
  • the image acquisition component is arranged on the head of the robot, which can acquire images of the entire target area.
  • the image acquisition component is arranged at the end of the robot's mechanical arm, and by controlling the mechanical arm, the image acquisition component at the end of the mechanical arm can acquire images of the entire target area.
  • the image collection component may be a camera capable of collecting depth-of-field images.
  • the image acquisition component and the robot are arranged separately, and it is only necessary to arrange the image acquisition component above the target area.
  • the image acquisition component may be a binocular camera.
  • the target area may be a tabletop, a cleaning or sorting surface, and the like.
  • Step 12 Use the YOLO algorithm to identify the image to determine the target position of the target item in the image.
  • the image recognition model can be constructed based on the YOLO algorithm, and the image recognition model can be trained. Then, the image is recognized by using the trained image recognition model to determine the target position of the target item in the image.
  • the trained image recognition model is obtained after training the sample images of the target items based on the YOLO algorithm.
  • the target item is grapes
  • multiple image data sets of grapes are made, and the image labeling tool LabelImg is used for image labeling, and YOLOv5 is used for training on a server with two 2080ti graphics cards, which can identify the captured images in real time.
  • the target item and transform the acquired image coordinates of the target object to obtain the world coordinates of the target item.
  • the YOLO algorithm may be YOLO algorithms of different versions such as YOLOv2, YOLOv3, YOLOv4 or YOLOv5.
  • Step 13 Generate a target command based on the target position, and calculate a running trajectory in the spiking neural network based on the target command.
  • the robot is controlled by a spiking neural network. After determining the target position, the spiking neural network will calculate the running trajectory from the current position of the robot to the target position according to the joint structure between the robots.
  • step 13 the most reasonable motion track can be established according to the target position and the starting position. If there is an obstacle between the target position and the starting position, the preset motion trajectory can be made to bypass the obstacle.
  • Step 14 Control the robot to grab the target item according to the running track.
  • the brain-computer interface is used to obtain the EEG signal of the animal under test, and the EEG signal is analyzed to obtain a corresponding analysis signal.
  • the brain-computer interface will correspondingly obtain the EEG signal of the animal under test, and analyze the EEG signal to obtain the corresponding analysis signal.
  • the robot acquires the image of the desktop, and uses the YOLO algorithm to identify the image to determine the target position of the grapes in the image.
  • the target command is generated based on the target position, and the running track is calculated in the pulse neural network based on the target command, and the robot is controlled to grab the target item according to the running track. After grabbing, move the grabbed grapes to the measured object.
  • the robot based on the pulse neural network can have the function of image recognition, making the robot more intelligent.
  • brain-computer interface is used to obtain EEG signals of special users such as paralyzed people and mentally handicapped people, and the EEG signals are analyzed to obtain corresponding analysis signals.
  • EEG signals of special users such as paralyzed people and mentally handicapped people
  • the brain-computer interface will correspondingly obtain the EEG signal of the special user, and analyze the EEG signal to obtain the corresponding analysis signal.
  • the image of the desktop is acquired by the image acquisition device, and the image is recognized by the YOLO algorithm to determine the target position of the grape in the image.
  • the target command is generated based on the target position, and the running track is calculated in the pulse neural network based on the target command, and the robot is controlled to grab the target item according to the running track. After fetching, move the fetched grapes to a particular user.
  • the advantages of robots can be better utilized, and robots with brain-computer interface and image recognition can be better used to improve the quality of life of special users and improve their ability to live independently.
  • FIG. 2 is a schematic flowchart of a second embodiment of a robot control method provided by the present application. The method includes:
  • Step 21 Acquire the first image and the second image of the target area.
  • each camera can acquire an image. That is, the first image and the second image of the target area are acquired.
  • Step 22 Using the YOLO algorithm to identify the first image to determine the first target position of the target item in the first image.
  • an image recognition model can be constructed based on the YOLO algorithm, and the image recognition model can be trained. Then, the trained image recognition model is used to recognize the image, and after the target item is recognized, the first target position of the target item in the first image can be determined.
  • Step 23 Using the YOLO algorithm to identify the second image to determine a second target position of the target item in the second image.
  • an image recognition model can be constructed based on the YOLO algorithm, and the image recognition model can be trained. Then, the trained image recognition model is used to recognize the image, and after the target item is recognized, the second target position of the target item in the second image can be determined.
  • Step 24 Generate a third target position of the target item in the world coordinate system based on the first target position and the second target position.
  • the binocular camera can be calibrated in advance to obtain the corresponding focal length, internal reference matrix and other camera parameters, and then use the focal length, internal reference matrix and other camera parameters to perform coordinate conversion to obtain the third target of the target object in the world coordinate system Location.
  • step 24 may be the following process:
  • Step 241 Determine an initial third target position.
  • the third target position is a three-dimensional coordinate in the world coordinate system.
  • Step 242 Use the initial third target position to obtain a plurality of corresponding fourth target positions.
  • the fourth target location is an image pixel coordinate.
  • coordinate transformation may be performed on the initial third target position to obtain the corresponding coordinates in the camera, coordinate transformation is performed on the coordinates in the camera to obtain the physical coordinates of the image, and then the physical coordinates of the image are transformed to obtain the image pixel coordinates.
  • step 242 may be the following process:
  • Step 2421 Obtain the parameter matrix of the image acquisition device corresponding to the first image or the second image.
  • the parameter matrix includes an internal parameter matrix and an external parameter matrix.
  • Step 2422 Use the initial third target position and the parameter matrix to obtain multiple fourth target positions.
  • Step 243 When any fourth target position and the first target position meet the preset conditions, and any fourth target position and the second target position meet the preset conditions, determine the initial third target position as the final third target Location.
  • the fourth target position can be determined in combination with the following formula:
  • s represents the scale factor, and s is not 0;
  • dX represents the physical size of the pixel in the X-axis direction,
  • dY represents the physical size of the pixel in the Y-axis direction;
  • (u 0 , v 0 ) represents the pixel coordinates of the main point, f Expressed as the effective focal length, that is, the distance from the optical center to the image plane, R represents the rotation matrix of 3*3;
  • t represents the translation vector of 3*1, Expressed as the homogeneous coordinates of the world coordinate system;
  • a x f/dX,
  • a fourth target position corresponding to the first target position and the second target position is obtained through conversion.
  • Newton's method may be used to determine the fourth target position.
  • Newton's method formula is as follows:
  • Ax represents the above-mentioned MX w .
  • b represents the first target position or the second target position.
  • Step 25 Generate a target command based on the third target position, and calculate a running trajectory in the spiking neural network based on the target command.
  • Step 26 Control the robot to grab the target item according to the running track.
  • step 26 may be the following process:
  • Step 261 Generate a first instruction according to the running trajectory, the first instruction is used to control the robot to move to a first position on the running trajectory.
  • the running track consists of a series of coordinate points.
  • the first command may be a control signal for each joint, and each joint is controlled to make the robot move to the first position on the running track.
  • the robot moves according to a given target position.
  • the robotic arm can be moved to the specified target position.
  • Step 262 Obtain feedback data of the robot moving to the first position.
  • position information of each joint is collected by a sensor of the robot.
  • the sensor can be an encoder at the robot joint or motor end to obtain the position information of the joint.
  • the speed and direction of the robot at the current moment can be obtained.
  • the actual trajectory data of the robot can be obtained. It is also possible to detect the current speed of the robot through these sensors.
  • the feedback data can be the current position of the robot.
  • Step 263 Calculate trajectory correction data in the spiking neural network based on the first instruction and the feedback data.
  • the spiking neural network may be constructed based on the Hodgkin-Huxley model, or may be constructed based on the Leaky Integrate and Fire model or the Izhikevich model.
  • the spiking neural network can be trained based on unsupervised learning algorithms and/or supervised learning algorithms.
  • Step 264 Generate a second command according to the running track, the second command and track correction data are used to control the robot to move from the first position to the second position on the running track, and then control the robotic arm of the robot to grab the target item.
  • the robot After the trajectory correction is obtained, the robot generates the best second instruction based on the combination of the trajectory correction data and the second instruction, so as to control the robot to move from the first position to the second position on the running trajectory.
  • the actual position of the robot moving from the first position to the second position on the running track can be closer to the second position.
  • step 263 may be the following process:
  • Step 2631 Utilize the first instruction and the feedback data to update the weights of the spiking neural network.
  • step 2631 may be as follows:
  • Step 26311 Encode the first instruction and the feedback data to obtain the activity of neurons in the spiking neural network.
  • the activity of a neuron can be represented by the following formula:
  • G[ ] is the nonlinear neural activation function
  • is the scaling factor (gain) associated with the neuron
  • e is the encoder of the neuron
  • x is the vector to be encoded, namely the first instruction and the feedback data.
  • Step 26312 Calculate the decoder using the activity of neurons.
  • step 26312 can use the following process to calculate the decoder:
  • Step 263121 Calculate the first parameter by using the first instruction, the feedback data and the activity of the neuron.
  • step 263121 the following formula can be used to obtain the first parameter:
  • a j is the activity of neuron j
  • x is the input first instruction and feedback data
  • r is the first parameter.
  • Step 263122 Use the activities of multiple neurons to find the second parameter.
  • step 263122 the following formula can be used to obtain the second parameter:
  • T ij ⁇ a i a j dx.
  • a j is the activity of neuron j
  • a i is the activity of neuron i
  • T ij is the second parameter between neuron j and neuron i.
  • Step 263123 Calculate the decoder by using the first parameter and the second parameter.
  • step 263123 can use the following formula to find the decoder:
  • Step 26313 Use the decoder and neuron activity calculations to obtain a decoding estimate.
  • the decoding estimates are obtained by dot producting the activities of the decoder and neurons. It can be expressed using the following formula:
  • Step 26314 Obtain the first difference by using the decoded estimation and feedback data.
  • the estimated result of decoding is the optimal motion data of the robot predicted by the pulse neural network, which can be compared with the actual motion data in the feedback data to obtain the optimal motion data and the actual motion data in the feedback data. first difference.
  • Step 26315 Obtain the weight correction value of the spiking neural network by using the first difference value and the activity of the neuron.
  • weight correction values may be determined using online supervised learning rules.
  • ⁇ ij ⁇ j e j Ea i ;
  • ⁇ ij represents the weight correction value of the connection weight between neuron j and neuron i
  • is the scalar learning rate
  • E represents the first difference, which is the decoding estimate The difference between x and x.
  • the decoder correction value ⁇ d i corresponding to the neuron can be obtained according to the first difference.
  • unsupervised learning rules may be used to determine weight correction values.
  • ⁇ ij represents the weight correction value of the connection weight between neuron j and neuron i
  • represents the modification threshold, which is used to limit the modification range of neuron j.
  • a combination of unsupervised learning rules and online supervised learning rules can be used to determine the weight correction value.
  • the weight correction value is calculated using the following formula:
  • ⁇ ij ⁇ j a i (Se j ⁇ E+(1-S)a j (a j - ⁇ )).
  • denotes the scalar learning rate
  • ⁇ j denotes the scaling factor of neuron j
  • a i denotes the activity of neuron i
  • S denotes the control parameter, which is used to denote the relative weighting of supervised learning items relative to unsupervised item learning
  • E denotes the first difference
  • denotes the modification threshold
  • Step 26316 Use the weight correction value to update the weight of the spiking neural network.
  • the weight of the spiking neural network is set between neurons, and the correction value can be used to update the weights between neurons. If the weight correction value is negative, it means that the original weight needs to be reduced, and if the weight correction value is positive, it means that the original weight needs to be increased.
  • Step 2632 Use the updated spiking neural network to calculate and obtain trajectory correction data.
  • Trajectory correction data is obtained using the updated weights, decoder and neuron activities.
  • the trajectory correction data can be calculated by multiplying the neuron activity by the weight, and then dot-multiplying the decoder.
  • represents the updated weights
  • d represents the decoder
  • ⁇ adapt represents the trajectory correction data
  • the above step 264 can calculate the torque required by each joint of the robot according to the second instruction and trajectory correction data.
  • the following formula can be used to calculate the torque for controlling the movement of the robot in the second instruction.
  • q represents the coordinates of each joint of the robot, Represents the angular velocity of each joint of the robot, M(q) represents the inertial force on each joint caused by the acceleration of each joint of the robot, Indicates the inertial force caused by the movement speed of each joint of the robot on other joints, that is, Coriolis force or centrifugal force, and G(q) indicates the gravity of the mechanical arm that each joint of the robot needs to overcome.
  • ⁇ adapt represents the trajectory correction data
  • represents the torque that each joint driver needs to apply to move the joints according to the established trajectory (position, velocity, acceleration) according to the robot dynamics model.
  • the trajectory correction of the robot is performed in real time by using the pulse neural network, so that the robot can move stably and accurately, and the stability and robustness of the robot control are improved.
  • the trajectory correction can be improved by using the pulse neural network.
  • the computing efficiency of the data can be improved to improve the motion efficiency of the robot.
  • FIG. 9 is a schematic structural diagram of an embodiment of a robot provided by the present application.
  • the robot 90 includes a processor 91 and a memory 92 coupled with the processor 91 .
  • the memory 92 is used to store computer programs
  • the processor 91 is used to execute the computer programs to realize the following methods:
  • processor 91 in this embodiment is also configured to execute a computer program to implement the method in any of the above-mentioned embodiments, and its specific implementation steps can refer to the above-mentioned embodiments, which will not be repeated here.
  • robot 90 is a robotic arm.
  • FIG. 10 is a schematic structural diagram of an embodiment of a computer-readable storage medium provided by the present application.
  • the computer-readable storage medium 100 is used to store a computer program 101, and the computer program 101 is used to implement the following methods when executed by a processor:
  • FIG. 11 is a schematic structural diagram of an embodiment of a grabbing system provided by the present application.
  • the grabbing system 110 includes: an image acquisition device 111 , a controller 112 and a robot 90 .
  • the image acquisition device 111 is used to acquire images of the target area.
  • the controller 112 is connected with the image acquisition device 111, and is used to identify the image using the YOLO algorithm to determine the target position of the target item in the image; and generate a target command based on the target position, and calculate the target command in the pulse neural network based on the target command run track.
  • the robot 90 is connected with the controller 112, and is used for grabbing the target item according to the running track.
  • the image acquisition device 111 can be a binocular camera, and the controller 112 is also used to acquire the first image and the second image of the target area; the YOLO algorithm is used to identify the first image to determine the target item in the first image and identifying the second image to determine a second target location of the target item in the second image.
  • the controller 112 is further configured to generate a third target position of the target item in the world coordinate system based on the first target position and the second target position; and generate a target instruction based on the third target position.
  • the controller 112 is also used to determine the initial third target position; use the initial third target position to obtain multiple corresponding fourth target positions; when any fourth target position and the first target position meet the preset conditions, and any fourth target position When the target position and the second target position meet the preset condition, the initial third target position is determined as the final third target position.
  • the controller 112 is also used to acquire the parameter matrix of the image acquisition device corresponding to the first image or the second image; use the initial third target position and the parameter matrix to obtain multiple fourth target positions.
  • the controller 112 is also used to identify the image by using the trained image recognition model to determine the target position of the target item in the image, wherein the trained image recognition model is based on the YOLO algorithm after training the sample image of the target item owned.
  • the controller 112 is also used to generate a first instruction according to the running trajectory, the first instruction is used to control the robot to move to a first position on the running trajectory; obtain feedback data that the robot moves to the first position;
  • the trajectory correction data is calculated in the pulse neural network;
  • the second instruction is generated according to the running trajectory, and the second instruction and trajectory correction data are used to control the movement of the robot from the first position to the second position on the running trajectory; and then control the robotic arm of the robot to grasp Take the target item.
  • the controller 112 is integrated with the robot 90 .
  • the capture system 110 in this embodiment is based on the target recognition module of the YOLO algorithm, which can achieve real-time recognition, and transfer the image coordinates of the target object identified in the left and right cameras to the coordinate conversion module;
  • the world coordinates are randomly initialized, and the Newton method is used to continuously approach the real world coordinates based on the coordinate transformation formula, and the world coordinates are passed to the manipulator control module;
  • the manipulator control module based on the pulse neural network acquires the world coordinates After the coordinates, it can move to the position of the target object for grabbing, and it has stronger and faster adaptive ability to the interference of the environment.
  • the disclosed methods and devices may be implemented in other ways.
  • the device implementation described above is only illustrative.
  • the division of the modules or units is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components can be Incorporation may either be integrated into another system, or some features may be omitted, or not implemented.
  • the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place, or may be distributed to multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, each unit may exist separately physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated units can be implemented in the form of hardware or in the form of software functional units.
  • the integrated units in the above other embodiments are realized in the form of software function units and sold or used as independent products, they can be stored in a computer-readable storage medium.
  • the technical solution of the present application is essentially or part of the contribution to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium , including several instructions to make a computer device (which may be a personal computer, a server, or a network device, etc.) or a processor (processor) execute all or part of the steps of the methods described in various embodiments of the present application.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), magnetic disk or optical disc, etc., which can store program codes. .

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)
  • Image Analysis (AREA)

Abstract

本申请公开了机器人的控制方法、机器人、存储介质及抓取系统。该方法包括:获取目标区域的图像;利用YOLO算法对图像进行识别,以确定图像中的目标物品的目标位置;基于目标位置生成目标指令,并基于目标指令在脉冲神经网络中计算出运行轨迹;按照运行轨迹控制机器人抓取目标物品。通过上述方式,使基于脉冲神经网络的机器人具有图像识别的功能,使机器人更加智能化。

Description

机器人的控制方法、机器人、存储介质及抓取系统 技术领域
本申请涉及机器人技术领域,特别是涉及机器人的控制方法、机器人、存储介质及抓取系统。
背景技术
世界上有许多严重瘫痪的病人,他们只能通过他人的帮助来完成一些日常生活所必需的活动,如喝水等。随着人工智能和机器人技术的不断发展,越来越多的研究成果被应用于辅助此类人群,以便改善他们的生活质量,其中,脑机接口(Brain Computer Interface,BCI)领域作为神经工程领域的一个分支,其发展迅速,前景广泛,激起了人们对脑机接口领域的研究热潮。
当前的机器人控制方面,只能完成些简单的甚至是预设的机械臂动作控制,没有充分地发挥出的优势。
发明内容
本申请主要解决的技术问题是提供机器人的控制方法、机器人、存储介质及抓取系统,能够使基于脉冲神经网络的机器人具有图像识别的功能,使机器人更加智能化。
为了解决上述问题,本申请采用的一种技术方案是提供一种机器人 的控制方法,该方法包括:获取目标区域的图像;利用YOLO算法对图像进行识别,以确定图像中的目标物品的目标位置;基于目标位置生成目标指令,并基于目标指令在脉冲神经网络中计算出运行轨迹;按照运行轨迹控制机器人抓取目标物品。
其中,获取目标区域的图像,包括:获取目标区域的第一图像和第二图像;利用YOLO算法对图像进行识别,以确定图像中的目标物品的目标位置,包括:利用YOLO算法对第一图像进行识别,以确定第一图像中的目标物品的第一目标位置,以及对第二图像进行识别,以确定第二图像中的目标物品的第二目标位置。
其中,基于目标位置生成目标指令,包括:基于第一目标位置和第二目标位置生成目标物品在世界坐标系下的第三目标位置;基于第三目标位置生成目标指令。
其中,基于第一目标位置和第二目标位置生成目标物品在世界坐标系下的第三目标位置,包括:确定初始第三目标位置;利用初始第三目标位置得到对应的多个第四目标位置;在任一第四目标位置与第一目标位置满足预设条件,以及任一第四目标位置与第二目标位置满足预设条件时,将初始第三目标位置确定为最终的第三目标位置。
其中,利用初始第三目标位置得到对应的多个第四目标位置,包括:获取第一图像或第二图像对应的图像采集设备的参数矩阵;利用初始第三目标位置、参数矩阵得到多个第四目标位置。
其中,利用YOLO算法对图像进行识别,以确定图像中的目标物品的目标位置,包括:利用已训练的图像识别模型对图像进行识别,以确 定图像中的目标物品的目标位置,其中,已训练的图像识别模型是基于YOLO算法对目标物品的样本图像进行训练后得到的。
其中,按照运行轨迹控制机器人抓取目标物品,包括:根据运行轨迹生成第一指令,第一指令用于控制机器人运动至运行轨迹上的第一位置;获取机器人移动至第一位置的反馈数据;基于第一指令和反馈数据在脉冲神经网络中计算出轨迹校正数据;根据运行轨迹生成第二指令,第二指令和轨迹校正数据用于控制机器人从第一位置运动至运行轨迹上的第二位置;进而控制机器人的机械臂抓取目标物品。
为了解决上述问题,本申请采用的另一种技术方案是提供一种机器人,该机器人包括处理器以及与处理器耦接的存储器;其中,存储器用于存储计算机程序,处理器用于执行计算机程序,以实现如上述技术方案提供的方法。
为了解决上述问题,本申请采用的另一种技术方案是提供一种计算机可读存储介质,该计算机可读存储介质用于存储计算机程序,计算机程序在被处理器执行时,用于实现如上述技术方案提供的方法。
为了解决上述问题,本申请采用的另一种技术方案是提供一种抓取系统,该抓取系统包括:图像采集装置,用于获取目标区域的图像;控制器,与图像采集装置连接,用于利用YOLO算法对图像进行识别,以确定图像中的目标物品的目标位置;以及基于目标位置生成目标指令,并基于目标指令在脉冲神经网络中计算出运行轨迹;机器人,与控制器连接,用于按照运行轨迹抓取目标物品。
本申请的有益效果是:区别于现有技术的情况,本申请提供的一种 机器人的控制方法,该方法包括:获取目标区域的图像;利用YOLO算法对图像进行识别,以确定图像中的目标物品的目标位置;基于目标位置生成目标指令,并基于目标指令在脉冲神经网络中计算出运行轨迹;按照运行轨迹控制机器人抓取目标物品。通过上述方式,能够使基于脉冲神经网络的机器人具有图像识别的功能,使机器人更加智能化。
附图说明
图1是本申请提供的机器人的控制方法第一实施例的流程示意图;
图2是本申请提供的机器人的控制方法第二实施例的流程示意图;
图3是本申请提供的步骤24一实施例的流程示意图;
图4是本申请提供的步骤242一实施例的流程示意图;
图5是本申请提供的步骤26一实施例的流程示意图;
图6是本申请提供的步骤263一实施例的流程示意图;
图7是本申请提供的步骤2631一实施例的流程示意图;
图8是本申请提供的步骤26312一实施例的流程示意图;
图9是本申请提供的机器人一实施例的结构示意图;
图10是本申请提供的计算机可读存储介质一实施例的结构示意图;
图11是本申请提供的抓取系统一实施例的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。可以理解的是,此处所描述的具体实施例仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于 描述,附图中仅示出了与本申请相关的部分而非全部结构。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
参阅图1,图1是本申请提供的机器人的控制方法第一实施例的流程示意图。该方法包括:
步骤11:获取目标区域的图像。
在一些实施例中,获取目标区域的图像可以是利用图像采集组件采集的。如,图像采集组件设置于机器人的头部,能够采集到整个目标区域的图像。又如,图像采集组件设置于机器人的机械臂的末端,通过控制机械臂,使机械臂末端的图像采集组件能够采集到整个目标区域的图像。其中,图像采集组件可以是能够采集景深图像的摄像头。
在其他实施例中,图像采集组件和机器人分离设置,只需要将图像采集组件设置于目标区域上方即可。
在其他实施例中,图像采集组件可以双目摄像头。
在一些实施例中,该目标区域可以是桌面、清理台面或分类台面等。
步骤12:利用YOLO算法对图像进行识别,以确定图像中的目标物品的目标位置。
其中,可以基于YOLO算法构建图像识别模型,并对图像识别模型进行训练。然后利用已训练的图像识别模型对图像进行识别,以确定图像中的目标物品的目标位置。
其中,已训练的图像识别模型是基于YOLO算法对目标物品的样本图像进行训练后得到的。
如,在目标物品为葡萄,则制作多张葡萄的图像数据集,使用图像标注工具LabelImg进行图像标注,使用YOLOv5在拥有两个2080ti显卡的服务器上进行训练,能够实时识别出采集的图像中的目标物品,以及将获取到的目标物体的图像坐标进行转换,得到目标物品的世界坐标。
其中,YOLO算法可以是YOLOv2、YOLOv3、YOLOv4或YOLOv5等不同版本的YOLO算法。
步骤13:基于目标位置生成目标指令,并基于目标指令在脉冲神经网络中计算出运行轨迹。
机器人由脉冲神经网络控制。在确定目标位置后,脉冲神经网络会根据机器人之间的关节结构,计算出从机器人当前位置移动至目标位置 的运行轨迹。
在步骤13中,可根据目标位置和起始位置建立最合理的运动轨迹。如在目标位置和起始位置之间存在阻挡物,则可使预设运动轨迹绕过阻挡物。
步骤14:按照运行轨迹控制机器人抓取目标物品。
在一应用场景中,利用脑机接口的方式,获取被测动物的脑电信号,并对该脑电信号进行解析,得到对应的解析信号。如,被测动物想抓取桌面上的物品,如,葡萄,则脑机接口会对应获取到被测动物的脑电信号,并对该脑电信号进行解析,得到对应的解析信号。此时,机器人获取桌面的图像,利用YOLO算法对图像进行识别,以确定图像中的葡萄的目标位置。基于目标位置生成目标指令,并基于目标指令在脉冲神经网络中计算出运行轨迹,按照运行轨迹控制机器人抓取目标物品。在抓取后,将抓取的葡萄移动至被测物体处。
在本实施例中,通过获取目标区域的图像;利用YOLO算法对图像进行识别,以确定图像中的目标物品的目标位置;基于目标位置生成目标指令,并基于目标指令在脉冲神经网络中计算出运行轨迹;按照运行轨迹控制机器人抓取目标物品的方式,能够使基于脉冲神经网络的机器人具有图像识别的功能,使机器人更加智能化。
在一应用场景中,利用脑机接口的方式,获取特殊用户如瘫痪者、智障者的脑电信号,并对该脑电信号进行解析,得到对应的解析信号。如,特殊用户想抓取桌面上的物品,如,苹果,则脑机接口会对应获取到特殊用户的脑电信号,并对该脑电信号进行解析,得到对应的解析信 号。此时,利用图像采集装置获取桌面的图像,利用YOLO算法对图像进行识别,以确定图像中的葡萄的目标位置。基于目标位置生成目标指令,并基于目标指令在脉冲神经网络中计算出运行轨迹,按照运行轨迹控制机器人抓取目标物品。在抓取后,将抓取的葡萄移动至特殊用户处。进而能够更好地发挥机器人的优势,更好的利用脑机接口以及图像识别的机器人来改善特殊用户的生活质量,提高他们自主生活的能力。
参阅图2,图2是本申请提供的机器人的控制方法第二实施例的流程示意图。该方法包括:
步骤21:获取目标区域的第一图像和第二图像。
在本实施例中,采用双目摄像头,则每一目摄像头可以获取到一图像。即获取得到目标区域的第一图像和第二图像。
步骤22:利用YOLO算法对第一图像进行识别,以确定第一图像中的目标物品的第一目标位置。
具体地,可以基于YOLO算法构建图像识别模型,并对图像识别模型进行训练。然后利用已训练的图像识别模型对图像进行识别,在识别出目标物品后,则可以确定出目标物品在第一图像中的第一目标位置。
步骤23:利用YOLO算法对第二图像进行识别,以确定第二图像中的目标物品的第二目标位置。
具体地,可以基于YOLO算法构建图像识别模型,并对图像识别模型进行训练。然后利用已训练的图像识别模型对图像进行识别,在识别出目标物品后,则可以确定出目标物品在第二图像中的第二目标位置。
步骤24:基于第一目标位置和第二目标位置生成目标物品在世界坐 标系下的第三目标位置。
在此过程中,可以预先对双目摄像头进行标定,得到对应的焦距、内参矩阵等摄像头参数,然后利用焦距、内参矩阵等摄像头参数进行坐标转换,得到目标物品在世界坐标系下的第三目标位置。
在一些实施例中,参阅图3,步骤24可以是以下流程:
步骤241:确定初始第三目标位置。
第三目标位置为世界坐标系下三维坐标。
步骤242:利用初始第三目标位置得到对应的多个第四目标位置。
第四目标位置为图像像素坐标。
在一些实施例中,可以对初始第三目标位置进行坐标转换,得到对应的在摄像头中的坐标,对摄像头中的坐标进行坐标转换,得到图像物理坐标,然后对图像物理坐标进行转换,得到图像像素坐标。
在一些实施例中,参阅图4,步骤242可以是以下流程:
步骤2421:获取第一图像或第二图像对应的图像采集设备的参数矩阵。
其中,参数矩阵包括内参矩阵和外参矩阵。
步骤2422:利用初始第三目标位置、参数矩阵得到多个第四目标位置。
步骤243:在任一第四目标位置与第一目标位置满足预设条件,以及任一第四目标位置与第二目标位置满足预设条件时,将初始第三目标位置确定为最终的第三目标位置。
在所有第四目标位置与第一目标位置不满足预设条件,以及所有第 四目标位置与第二目标位置不满足预设条件时,对初始第三目标位置的数值进行修改,然后再次执行步骤242-步骤243。直到在任一第四目标位置与第一目标位置满足预设条件,以及任一第四目标位置与第二目标位置满足预设条件时,将此时的初始第三目标位置确定为最终的第三目标位置。
在一些实施例中,可以结合以下公式确定第四目标位置:
Figure PCTCN2021137999-appb-000001
其中,s表示比例因子,s不为0;dX表示像素在X轴方向上的物理尺寸,dY表示像素在Y轴方向上的物理尺寸;(u 0,v 0)表示主点像素坐标,f表示为有效焦距,即光心到图像平面的距离,R表示3*3的旋转矩阵;t表示3*1的平移矢量,
Figure PCTCN2021137999-appb-000002
表示为世界坐标系的齐次坐标;a x=f/dX,a y=f/dY分别表示像素坐标中u、v轴的尺度因子,M1为相机的内部参数矩阵,M2为相机的外部参数矩阵,M为投影矩阵。
在此过程中,通过对初始第三目标位置的值进行迭代改变,转换得到对应的第一目标位置和第二目标位置的第四目标位置。
在此过程中,可以采用牛顿法进行第四目标位置的确定。其中,牛顿法公式如下:
Figure PCTCN2021137999-appb-000003
其中,Ax表示上述的MX w。b表示第一目标位置或第二目标位置。在f(x)收敛至预设要求时,则可以确定对应的世界坐标系中的第三目标位置。通过牛顿法能够使求得的最终的第三目标位置与第一目标位置或第二目标位置的误差控制在一厘米以内。
步骤25:基于第三目标位置生成目标指令,并基于目标指令在脉冲神经网络中计算出运行轨迹。
步骤26:按照运行轨迹控制机器人抓取目标物品。
在一些实施例中,参阅图5,步骤26可以是以下流程:
步骤261:根据运行轨迹生成第一指令,第一指令用于控制机器人运动至运行轨迹上的第一位置。
在一些实施例中,运行轨迹由一系列的坐标点组成。
因机器人存在很多关节,则第一指令可以是对每一关节的控制信号,通过对每一关节进行控制,以使机器人运动至运行轨迹上的第一位置。
在本实施例中,机器人是按照给定目标位置以进行移动。
如机器人为机械臂,可使机械臂移动至指定目标位置。
步骤262:获取机器人移动至第一位置的反馈数据。
在一些实施例中,在机器人基于第一指令移动至第一位置时,通过机器人的传感器采集每个关节的位置信息。传感器可以是机器人关节或电机端的编码器,以获取关节的位置信息。进一步通过对位置信息进行处理,可以获取到机器人当前时刻的速度、方向等。根据传感器采集的 这些数据可以获得机器人的实际轨迹数据。还可以通过这些传感器来检测机器人的当前时刻的速度。
可以理解,不同的机器人,传感器获取的数据信息不尽相同,根据机器人的特性,获取合理的数据信息。
在一些实施例中,机器人在移动至第一位置时,因机器人的本身结构的误差,会导致机器人在移动至第一位置时的实际位置并不是第一位置,则反馈数据可以是机器人当前的实际位置以及此时的实际速度、实际方向、实际关节力矩等。
步骤263:基于第一指令和反馈数据在脉冲神经网络中计算出轨迹校正数据。
在一些实施例中,脉冲神经网络可以是基于Hodgkin-Huxley模型构建而成,也可以是基于Leaky Integrate and Fire模型或Izhikevich模型构建而成。
脉冲神经网络可以是基于无监督学习算法和/或有监督学习算法进行训练。
步骤264:根据运行轨迹生成第二指令,第二指令和轨迹校正数据用于控制机器人从第一位置运动至运行轨迹上的第二位置,进而控制机器人的机械臂抓取目标物品。
在得到轨迹校正后,机器人根据轨迹校正数据和第二指令结合,生成最佳的第二指令,以控制机器人从第一位置运动至运行轨迹上的第二位置。
可以理解,通过将轨迹校正数据和第二指令结合的方式,能够使机 器人从第一位置运动至运行轨迹上的第二位置的实际位置更加接近第二位置。
通过这种方式,运行轨迹上的其他位置可按照上述方式进行,得到基于前一位置的轨迹校正数据,以对当前位置的实际位置进行补偿,使实际位置趋于运行轨迹中当前位置。
在一些实施例中,参阅图6,上述的步骤263可以是以下流程:
步骤2631:利用第一指令和反馈数据对脉冲神经网络的权重进行更新。
在一些实施例中,参阅图7,步骤2631可以是如下流程:
步骤26311:将第一指令和反馈数据进行编码,以得到脉冲神经网络中的神经元的活动。
具体地,可以用以下公式表示神经元的活动:
a=G[αe·x];
其中,G[·]是非线性神经激活函数,α是与神经元相关的标度因子(增益),e是神经元的编码器,x是要编码的向量,即第一指令和反馈数据。
步骤26312:利用神经元的活动计算得到解码器。
在一些实施例中,参阅图8,步骤26312可以利用以下流程来计算得到解码器:
步骤263121:利用第一指令和反馈数据和神经元的活动求出第一参数。
具体地,步骤263121可使用以下公式求出第一参数:
r=∫a jxdx。
其中,a j是神经元j的活动,x是输入的第一指令和反馈数据,r为第一参数。
步骤263122:利用多个神经元的活动求出第二参数。
具体地,步骤263122可使用以下公式求出第二参数:
T ij=∫a ia jdx。
其中,a j是神经元j的活动,a i是神经元i的活动,T ij为神经元j和神经元i之间的第二参数。
步骤263123:利用第一参数和第二参数计算得到解码器。
具体地,步骤263123可使用以下公式求出解码器:
d=r -1T。
步骤26313:利用解码器和神经元的活动计算得到解码估计。
具体地,利用解码器和神经元的活动进行点乘,得到解码估计。可使用如下公式进行表达:
Figure PCTCN2021137999-appb-000004
步骤26314:利用解码估计和反馈数据得到第一差值。
可以理解,解码估计出的结果为脉冲神经网络预测的机器人最佳运动数据,则可与反馈数据中实际的运动数据进行比较,以得到最佳运动数据与反馈数据中实际的运动数据之间的第一差值。
步骤26315:利用第一差值和神经元的活动得到脉冲神经网络的权重修正值。
在一些实施例中,可使用在线监督学习规则来确定权重修正值。
具体地,可使用以下公式来表达:
Δd i=κEa i
Δω ij=κα je j·Ea i
其中,Δω ij表示神经元j和神经元i之间连接权重的权重修正值,κ是标量学习速率,E表示第一差值,即解码估计
Figure PCTCN2021137999-appb-000005
与x之间的差值。
可以理解,不同的神经元具有不同的解码器,则可根据第一差值求得该神经元对应的解码器修正值Δd i
在一些实施例中,可使用无监督学习规则来确定权重修正值。
具体地,可使用以下公式来表达:
Δω ij=a ia j(a j-θ);
其中,Δω ij表示神经元j和神经元i之间连接权重的权重修正值,θ表示修改阈值,用于限制神经元j的修改范围。
在一些实施例中,可使用无监督学习规则和在线监督学习规则结合的方式来确定权重修正值。
具体地,利用以下公式计算权重修正值:
Δω ij=κα ja i(Se j·E+(1-S)a j(a j-θ))。
其中,κ表示标量学习速率,α j表示神经元j的标度因子,a i表示神经元i的活动,S表示控制参数,用于表示监督学习项相对于无监督项学习的相对加权,E表示第一差值,θ表示修改阈值。
步骤26316:利用权重修正值对脉冲神经网络的权重进行更新。
其中,脉冲神经网络的权重设置于神经元和神经元之间,则可利用修正值对神经元之间的权重进行更新。如权重修正值为负,则说明原权 重需减小,权重修正值为正,则说明原权重需增加。
步骤2632:利用更新后的脉冲神经网络计算得到轨迹校正数据。
利用更新后的权重、解码器和神经元的活动得到轨迹校正数据。
具体地,利用神经元的活动乘以权重,再点乘解码器,则可以计算出轨迹校正数据。
具体地,利用以下公式:
Figure PCTCN2021137999-appb-000006
其中,a表示神经元的活动,ω表示更新后的权重,d表示解码器,Γ adapt表示轨迹校正数据。
上述步骤264可根据第二指令和轨迹校正数据计算出机器人每个关节需要的力矩。
具体地,可以使用以下公式计算出第二指令中对机器人移动控制的力矩。
Figure PCTCN2021137999-appb-000007
其中,q表示机器人各个关节的坐标,
Figure PCTCN2021137999-appb-000008
表示机器人各个关节的角速度,M(q)表示机器人各个关节运动的加速度造成的每个关节所受的惯性力,
Figure PCTCN2021137999-appb-000009
表示机器人各个关节运动的速度对其他关节造成的惯性力,即科里奥利力或离心力,G(q)表示机器人各个关节需要克服的机械臂自身重力。Γ adapt表示轨迹校正数据,Γ表示根据机器人动力学模型,让关节按照既定轨迹(位置、速度、加速度)运动,每个关节驱动器需要施加的力矩。
通过上述方式,利用脉冲神经网络实时的对机器人进行轨迹校正,使机器人能够稳定并准确的移动,提高对机器人控制的稳定性和鲁棒性,另一方面,利用脉冲神经网络能够提高对轨迹校正数据的计算效率,进而提升机器人的运动效率。
参阅图9,图9是本申请提供的机器人一实施例结构示意图。机器人90包括处理器91以及与处理器91耦接的存储器92。
其中,存储器92用于存储计算机程序,处理器91用于执行计算机程序,以实现以下方法:
获取目标区域的图像;利用YOLO算法对图像进行识别,以确定图像中的目标物品的目标位置;基于目标位置生成目标指令,并基于目标指令在脉冲神经网络中计算出运行轨迹;按照运行轨迹控制机器人抓取目标物品。
可以理解的,本实施例中的处理器91还用于执行计算机程序,以实现上述任一实施例中的方法,其具体的实施步骤可以参考上述实施例,这里不再赘述。
在一些实施例中,机器人90为机械臂。
参阅图10,图10是本申请提供的计算机可读存储介质一实施例结构示意图。该计算机可读存储介质100用于存储计算机程序101,计算机程序101在被处理器执行时,用于实现以下方法:
获取目标区域的图像;利用YOLO算法对图像进行识别,以确定图像中的目标物品的目标位置;基于目标位置生成目标指令,并基于目标指令在脉冲神经网络中计算出运行轨迹;按照运行轨迹控制机器人抓取 目标物品。
可以理解的,本实施例中的计算机程序101在被处理器执行时,还用于实现上述任一实施例中的方法,其具体的实施步骤可以参考上述实施例,这里不再赘述。
参阅图11,图11是本申请提供的抓取系统一实施例结构示意图。该抓取系统110包括:图像采集装置111、控制器112和机器人90。
其中,图像采集装置111用于获取目标区域的图像。
控制器112与图像采集装置111连接,用于利用YOLO算法对图像进行识别,以确定图像中的目标物品的目标位置;以及基于目标位置生成目标指令,并基于目标指令在脉冲神经网络中计算出运行轨迹。
机器人90与控制器112连接,用于按照运行轨迹抓取目标物品。
其中,图像采集装置111可以是双目摄像头,则控制器112还用于获取目标区域的第一图像和第二图像;利用YOLO算法对第一图像进行识别,以确定第一图像中的目标物品的第一目标位置,以及对第二图像进行识别,以确定第二图像中的目标物品的第二目标位置。
控制器112还用于基于第一目标位置和第二目标位置生成目标物品在世界坐标系下的第三目标位置;基于第三目标位置生成目标指令。
控制器112还用于确定初始第三目标位置;利用初始第三目标位置得到对应的多个第四目标位置;在任一第四目标位置与第一目标位置满足预设条件,以及任一第四目标位置与第二目标位置满足预设条件时,将初始第三目标位置确定为最终的第三目标位置。
控制器112还用于获取第一图像或第二图像对应的图像采集设备的 参数矩阵;利用初始第三目标位置、参数矩阵得到多个第四目标位置。
控制器112还用于利用已训练的图像识别模型对图像进行识别,以确定图像中的目标物品的目标位置,其中,已训练的图像识别模型是基于YOLO算法对目标物品的样本图像进行训练后得到的。
控制器112还用于根据运行轨迹生成第一指令,第一指令用于控制机器人运动至运行轨迹上的第一位置;获取机器人移动至第一位置的反馈数据;基于第一指令和反馈数据在脉冲神经网络中计算出轨迹校正数据;根据运行轨迹生成第二指令,第二指令和轨迹校正数据用于控制机器人从第一位置运动至运行轨迹上的第二位置;进而控制机器人的机械臂抓取目标物品。
在一些实施例中,控制器112与机器人90一体设置。
本实施例中的抓取系统110基于YOLO算法的目标识别模块,可以做到实时识别,将左右相机中识别出来的目标物体的图像坐标传递给坐标转换模块;坐标转换模块在已知左右相机目标物体的图像坐标的情况下,随机初始化世界坐标,使用牛顿法基于坐标转换公式不断逼近真实的世界坐标,将世界坐标传递给机械臂控制模块;基于脉冲神经网络的机械臂控制模块在获取到世界坐标后可以移动到目标物体位置进行抓取,对环境的干扰有更强、更快的自适应能力。
在本申请所提供的几个实施方式中,应该理解到,所揭露的方法以及设备,可以通过其它的方式实现。例如,以上所描述的设备实施方式仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结 合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述其他实施方式中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的 专利保护范围内。

Claims (10)

  1. 一种机器人的控制方法,其特征在于,所述方法包括:
    获取目标区域的图像;
    利用YOLO算法对所述图像进行识别,以确定所述图像中的目标物品的目标位置;
    基于所述目标位置生成目标指令,并基于所述目标指令在脉冲神经网络中计算出运行轨迹;
    按照所述运行轨迹控制所述机器人抓取所述目标物品。
  2. 根据权利要求1所述的方法,其特征在于,所述获取目标区域的图像,包括:
    获取所述目标区域的第一图像和第二图像;
    所述利用YOLO算法对所述图像进行识别,以确定所述图像中的目标物品的目标位置,包括:
    利用YOLO算法对所述第一图像进行识别,以确定所述第一图像中的所述目标物品的第一目标位置,以及对所述第二图像进行识别,以确定所述第二图像中的所述目标物品的第二目标位置。
  3. 根据权利要求2所述的方法,其特征在于,所述基于所述目标位置生成目标指令,包括:
    基于所述第一目标位置和所述第二目标位置生成所述目标物品在世界坐标系下的第三目标位置;
    基于所述第三目标位置生成所述目标指令。
  4. 根据权利要求3所述的方法,其特征在于,所述基于所述第一目标位置和所述第二目标位置生成所述目标物品在世界坐标系下的第三目标位置,包括:
    确定初始第三目标位置;
    利用所述初始第三目标位置得到对应的多个第四目标位置;
    在任一所述第四目标位置与所述第一目标位置满足预设条件,以及任一所述第四目标位置与所述第二目标位置满足预设条件时,将所述初始第三目标位置确定为最终的所述第三目标位置。
  5. 根据权利要求4所述的方法,其特征在于,所述利用所述初始第三目标位置得到对应的多个第四目标位置,包括:
    获取所述第一图像或所述第二图像对应的图像采集设备的参数矩阵;
    利用所述初始第三目标位置、所述参数矩阵得到多个所述第四目标位置。
  6. 根据权利要求1所述的方法,其特征在于,所述利用YOLO算法对所述图像进行识别,以确定所述图像中的目标物品的目标位置,包括:
    利用已训练的图像识别模型对所述图像进行识别,以确定所述图像中的目标物品的目标位置,其中,所述已训练的图像识别模型是基于YOLO算法对目标物品的样本图像进行训练后得到的。
  7. 根据权利要求1所述的方法,其特征在于,所述按照所述运行轨迹控制所述机器人抓取所述目标物品,包括:
    根据运行轨迹生成第一指令,所述第一指令用于控制机器人运动至 所述运行轨迹上的第一位置;
    获取所述机器人移动至所述第一位置的反馈数据;
    基于所述第一指令和所述反馈数据在所述脉冲神经网络中计算出轨迹校正数据;
    根据所述运行轨迹生成第二指令,所述第二指令和所述轨迹校正数据用于控制所述机器人从所述第一位置运动至运行轨迹上的第二位置;进而控制所述机器人的机械臂抓取所述目标物品。
  8. 一种机器人,其特征在于,所述机器人包括处理器以及与处理器耦接的存储器;
    其中,所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序,以实现如权利要求1-7任一项所述的方法。
  9. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序在被处理器执行时,用于实现如权利要求1-7任一项所述的方法。
  10. 一种抓取系统,其特征在于,所述抓取系统包括:
    图像采集装置,用于获取目标区域的图像;
    控制器,与所述图像采集装置连接,用于利用YOLO算法对所述图像进行识别,以确定所述图像中的目标物品的目标位置;以及基于所述目标位置生成目标指令,并基于所述目标指令在脉冲神经网络中计算出运行轨迹;
    机器人,与所述控制器连接,用于按照所述运行轨迹抓取所述目标物品。
PCT/CN2021/137999 2021-11-11 2021-12-14 机器人的控制方法、机器人、存储介质及抓取系统 WO2023082404A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111335341.0A CN116100537A (zh) 2021-11-11 2021-11-11 机器人的控制方法、机器人、存储介质及抓取系统
CN202111335341.0 2021-11-11

Publications (1)

Publication Number Publication Date
WO2023082404A1 true WO2023082404A1 (zh) 2023-05-19

Family

ID=86258531

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/137999 WO2023082404A1 (zh) 2021-11-11 2021-12-14 机器人的控制方法、机器人、存储介质及抓取系统

Country Status (2)

Country Link
CN (1) CN116100537A (zh)
WO (1) WO2023082404A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117707181A (zh) * 2023-12-22 2024-03-15 中科南京智能技术研究院 机器人导航避障模型的训练方法、系统及相关设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111708366A (zh) * 2020-06-29 2020-09-25 济南浪潮高新科技投资发展有限公司 机器人及其行动控制方法、装置和计算机可读存储介质
CN111890350A (zh) * 2020-06-12 2020-11-06 深圳先进技术研究院 机器人及其控制方法、计算机可读存储介质
CN112171661A (zh) * 2020-08-25 2021-01-05 广西大学 一种基于视觉信息融合的机械臂抓取目标物体方法
US20210065384A1 (en) * 2019-08-29 2021-03-04 Boe Technology Group Co., Ltd. Target tracking method, device, system and non-transitory computer readable storage medium
CN113070878A (zh) * 2021-03-26 2021-07-06 中国科学院深圳先进技术研究院 基于脉冲神经网络的机器人控制方法、机器人及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210065384A1 (en) * 2019-08-29 2021-03-04 Boe Technology Group Co., Ltd. Target tracking method, device, system and non-transitory computer readable storage medium
CN111890350A (zh) * 2020-06-12 2020-11-06 深圳先进技术研究院 机器人及其控制方法、计算机可读存储介质
CN111708366A (zh) * 2020-06-29 2020-09-25 济南浪潮高新科技投资发展有限公司 机器人及其行动控制方法、装置和计算机可读存储介质
CN112171661A (zh) * 2020-08-25 2021-01-05 广西大学 一种基于视觉信息融合的机械臂抓取目标物体方法
CN113070878A (zh) * 2021-03-26 2021-07-06 中国科学院深圳先进技术研究院 基于脉冲神经网络的机器人控制方法、机器人及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117707181A (zh) * 2023-12-22 2024-03-15 中科南京智能技术研究院 机器人导航避障模型的训练方法、系统及相关设备

Also Published As

Publication number Publication date
CN116100537A (zh) 2023-05-12

Similar Documents

Publication Publication Date Title
Joshi et al. Robotic grasping using deep reinforcement learning
Yang et al. A learning framework of adaptive manipulative skills from human to robot
CN108247637B (zh) 一种工业机器人手臂视觉防撞操控方法
Levine et al. End-to-end training of deep visuomotor policies
CN110570455B (zh) 一种面向房间vr的全身三维姿态跟踪方法
CN108196453B (zh) 一种机械臂运动规划群体智能计算方法
Billard et al. Discriminative and adaptive imitation in uni-manual and bi-manual tasks
US11580724B2 (en) Virtual teach and repeat mobile manipulation system
Sommer et al. Bimanual compliant tactile exploration for grasping unknown objects
JPWO2003019475A1 (ja) ロボット装置、顔認識方法及び顔認識装置
Katyal et al. Leveraging deep reinforcement learning for reaching robotic tasks
Liu et al. Frame mining: a free lunch for learning robotic manipulation from 3d point clouds
CN109048918A (zh) 一种轮椅机械臂机器人的视觉引导方法
CN113232019A (zh) 机械臂控制方法、装置、电子设备及存储介质
JP2020093366A (ja) ロボット
WO2023082404A1 (zh) 机器人的控制方法、机器人、存储介质及抓取系统
Wang et al. A generative human-robot motion retargeting approach using a single depth sensor
Inoue et al. Transfer learning from synthetic to real images using variational autoencoders for robotic applications
Wang et al. Joining force of human muscular task planning with robot robust and delicate manipulation for programming by demonstration
CN116236328A (zh) 基于视觉的可实现自然抓取的智能假肢系统
CN114998573A (zh) 一种基于rgb-d特征深度融合的抓取位姿检测方法
Lou Crawling robot manipulator tracking based on gaussian mixture model of machine vision
Yang et al. Predict robot grasp outcomes based on multi-modal information
CN117798919A (zh) 一种基于动态交互表征的灵巧机械手抓取方法
CN111015676B (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: 21963842

Country of ref document: EP

Kind code of ref document: A1