WO2018028361A1 - 机器人的充电方法、装置和设备 - Google Patents
机器人的充电方法、装置和设备 Download PDFInfo
- Publication number
- WO2018028361A1 WO2018028361A1 PCT/CN2017/091976 CN2017091976W WO2018028361A1 WO 2018028361 A1 WO2018028361 A1 WO 2018028361A1 CN 2017091976 W CN2017091976 W CN 2017091976W WO 2018028361 A1 WO2018028361 A1 WO 2018028361A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- robot
- charging socket
- plug
- charging
- socket
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 230000000007 visual effect Effects 0.000 claims abstract description 74
- 230000009471 action Effects 0.000 claims description 155
- 238000004422 calculation algorithm Methods 0.000 claims description 63
- 230000001276 controlling effect Effects 0.000 claims description 52
- 230000033001 locomotion Effects 0.000 claims description 47
- 230000000875 corresponding effect Effects 0.000 claims description 19
- 238000004364 calculation method Methods 0.000 claims description 11
- 230000001133 acceleration Effects 0.000 claims description 10
- 230000003287 optical effect Effects 0.000 claims description 6
- 238000011179 visual inspection Methods 0.000 claims description 4
- 238000003780 insertion Methods 0.000 claims description 3
- 230000037431 insertion Effects 0.000 claims description 3
- 238000009434 installation Methods 0.000 claims 1
- 210000002569 neuron Anatomy 0.000 description 18
- 238000012549 training Methods 0.000 description 18
- 238000005516 engineering process Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 11
- 238000013135 deep learning Methods 0.000 description 9
- 238000001514 detection method Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000007613 environmental effect Effects 0.000 description 7
- 238000013527 convolutional neural network Methods 0.000 description 6
- 238000005286 illumination Methods 0.000 description 6
- 230000011664 signaling Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 230000000717 retained effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000007635 classification algorithm Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 210000005036 nerve Anatomy 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000002787 reinforcement Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000013526 transfer learning Methods 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0225—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving docking at a fixed facility, e.g. base station or loading bay
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
- G05D1/0251—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting 3D information from a plurality of images taken from different locations, e.g. stereo vision
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60L—PROPULSION OF ELECTRICALLY-PROPELLED VEHICLES; SUPPLYING ELECTRIC POWER FOR AUXILIARY EQUIPMENT OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRODYNAMIC BRAKE SYSTEMS FOR VEHICLES IN GENERAL; MAGNETIC SUSPENSION OR LEVITATION FOR VEHICLES; MONITORING OPERATING VARIABLES OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRIC SAFETY DEVICES FOR ELECTRICALLY-PROPELLED VEHICLES
- B60L53/00—Methods of charging batteries, specially adapted for electric vehicles; Charging stations or on-board charging equipment therefor; Exchange of energy storage elements in electric vehicles
- B60L53/10—Methods of charging batteries, specially adapted for electric vehicles; Charging stations or on-board charging equipment therefor; Exchange of energy storage elements in electric vehicles characterised by the energy transfer between the charging station and the vehicle
- B60L53/14—Conductive energy transfer
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60L—PROPULSION OF ELECTRICALLY-PROPELLED VEHICLES; SUPPLYING ELECTRIC POWER FOR AUXILIARY EQUIPMENT OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRODYNAMIC BRAKE SYSTEMS FOR VEHICLES IN GENERAL; MAGNETIC SUSPENSION OR LEVITATION FOR VEHICLES; MONITORING OPERATING VARIABLES OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRIC SAFETY DEVICES FOR ELECTRICALLY-PROPELLED VEHICLES
- B60L53/00—Methods of charging batteries, specially adapted for electric vehicles; Charging stations or on-board charging equipment therefor; Exchange of energy storage elements in electric vehicles
- B60L53/30—Constructional details of charging stations
- B60L53/35—Means for automatic or assisted adjustment of the relative position of charging devices and vehicles
- B60L53/36—Means for automatic or assisted adjustment of the relative position of charging devices and vehicles by positioning the vehicle
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60L—PROPULSION OF ELECTRICALLY-PROPELLED VEHICLES; SUPPLYING ELECTRIC POWER FOR AUXILIARY EQUIPMENT OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRODYNAMIC BRAKE SYSTEMS FOR VEHICLES IN GENERAL; MAGNETIC SUSPENSION OR LEVITATION FOR VEHICLES; MONITORING OPERATING VARIABLES OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRIC SAFETY DEVICES FOR ELECTRICALLY-PROPELLED VEHICLES
- B60L53/00—Methods of charging batteries, specially adapted for electric vehicles; Charging stations or on-board charging equipment therefor; Exchange of energy storage elements in electric vehicles
- B60L53/30—Constructional details of charging stations
- B60L53/35—Means for automatic or assisted adjustment of the relative position of charging devices and vehicles
- B60L53/37—Means for automatic or assisted adjustment of the relative position of charging devices and vehicles using optical position determination, e.g. using cameras
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60L—PROPULSION OF ELECTRICALLY-PROPELLED VEHICLES; SUPPLYING ELECTRIC POWER FOR AUXILIARY EQUIPMENT OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRODYNAMIC BRAKE SYSTEMS FOR VEHICLES IN GENERAL; MAGNETIC SUSPENSION OR LEVITATION FOR VEHICLES; MONITORING OPERATING VARIABLES OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRIC SAFETY DEVICES FOR ELECTRICALLY-PROPELLED VEHICLES
- B60L53/00—Methods of charging batteries, specially adapted for electric vehicles; Charging stations or on-board charging equipment therefor; Exchange of energy storage elements in electric vehicles
- B60L53/60—Monitoring or controlling charging stations
- B60L53/66—Data transfer between charging stations and vehicles
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/12—Target-seeking control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60L—PROPULSION OF ELECTRICALLY-PROPELLED VEHICLES; SUPPLYING ELECTRIC POWER FOR AUXILIARY EQUIPMENT OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRODYNAMIC BRAKE SYSTEMS FOR VEHICLES IN GENERAL; MAGNETIC SUSPENSION OR LEVITATION FOR VEHICLES; MONITORING OPERATING VARIABLES OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRIC SAFETY DEVICES FOR ELECTRICALLY-PROPELLED VEHICLES
- B60L2200/00—Type of vehicles
- B60L2200/40—Working vehicles
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60L—PROPULSION OF ELECTRICALLY-PROPELLED VEHICLES; SUPPLYING ELECTRIC POWER FOR AUXILIARY EQUIPMENT OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRODYNAMIC BRAKE SYSTEMS FOR VEHICLES IN GENERAL; MAGNETIC SUSPENSION OR LEVITATION FOR VEHICLES; MONITORING OPERATING VARIABLES OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRIC SAFETY DEVICES FOR ELECTRICALLY-PROPELLED VEHICLES
- B60L2260/00—Operating Modes
- B60L2260/40—Control modes
- B60L2260/46—Control modes by self learning
Definitions
- the present invention relates to the field of robot control, and in particular to a method, device and device for charging a robot.
- the implementation efficiency of the above-mentioned non-contact charging method is not ideal under normal circumstances, and there are two disadvantages: First, the wireless charging signal may be absorbed by the outer casing and the outer skin of the robot, resulting in a decrease in charging efficiency or an increase in charging time; Second, this type of charging requires additional charging devices for complex navigation techniques (infrared or sonic) and communication technologies (Bluetooth or wireless) to help recall robots for charging, in remotely located rooms or in more complex home environments. In the case of a recall, the recall will be difficult to achieve.
- Embodiments of the present invention provide a charging method, apparatus, and device for a robot to solve at least the technical problem of low charging efficiency of the robot by using a non-contact charging method.
- a charging method of a robot includes: recognizing a charging socket in an environment in which the robot is located by a visual recognition device, wherein the visual recognition device is disposed on the robot; and controlling the robot Plug the plug into the charging socket.
- a charging device for a robot comprising: an identification unit for recognizing, by the visual recognition device, a charging socket in an environment in which the robot is located, wherein the visual recognition device is configured On the robot; the control unit is communicatively coupled to the identification unit for controlling the plug of the robot to be inserted into the charging socket.
- a charging system for a robot comprising: a charging socket for identifying an environment in which the robot is located; and a controller coupled to the visual recognition device for controlling the robot Plug the plug into the charging socket.
- the charging socket in the environment where the robot is located is recognized by the visual recognition device provided on the robot, and the plug of the robot can be controlled to be inserted into the charging socket by the controller on the robot.
- the charging socket is recognized by the visual recognition device, and the robot can find the charging socket that can be charged immediately without a large range of movement, and after identifying the charging socket,
- the wired connection between the plug of the robot and the charging socket is established, that is, during the charging process of the robot, the charging efficiency of the robot's own casing is not affected, so that the robot can realize instant charging and at the same time improve the charging of the robot.
- the efficiency solves the problem that the existing non-contact charging method achieves low efficiency for charging the robot.
- FIG. 1 is a flow chart of a charging method of a robot according to an embodiment of the present invention.
- FIG. 2 is a schematic diagram of an alternative method of detecting a first distance using a two-way vision detection method, in accordance with an embodiment of the present invention
- FIG. 3 is a flow chart of an optional charging method of a robot according to an embodiment of the present invention.
- FIG. 4 is a schematic diagram of a charging device of a robot according to an embodiment of the present invention.
- FIG. 5 is a schematic diagram of an optional charging device for a robot according to an embodiment of the present invention.
- FIG. 6 is a schematic diagram of an optional charging device for a robot according to an embodiment of the present invention.
- FIG. 7 is a schematic diagram of an optional charging device for a robot according to an embodiment of the present invention.
- FIG. 8 is a schematic diagram of an optional charging device for a robot according to an embodiment of the present invention.
- FIG. 9 is a schematic diagram of an optional charging device for a robot according to an embodiment of the present invention.
- FIG. 10 is a schematic diagram of a charging system of a robot according to an embodiment of the present invention.
- FIG. 11 is a schematic diagram of an optional charging system for a robot in accordance with an embodiment of the present invention.
- an embodiment of a charging method of a robot there is provided an embodiment of a charging method of a robot, and it is to be noted that the steps illustrated in the flowchart of the accompanying drawings may be executed in a computer system such as a set of computer executable instructions, and Although a logical order is shown in the flowcharts, in some cases the steps shown or described may be performed in a different order than the ones described herein.
- FIG. 1 is a flow chart of a charging method of a robot according to an embodiment of the present invention. As shown in FIG. 1, the method includes the following steps:
- Step S102 the charging socket in the environment where the robot is located is identified by the visual recognition device, wherein the visual recognition device is disposed on the robot.
- step S104 the plug of the control robot is inserted into the charging socket.
- the charging socket in the environment where the robot is located is recognized by the visual recognition device provided on the robot, and the plug of the robot can be controlled to be inserted into the charging socket by the controller on the robot.
- the charging socket is recognized by the visual recognition device, and the robot can find the charging socket that can be charged immediately without a large range of movement, and after identifying the charging socket,
- the wired connection between the plug of the robot and the charging socket is established, that is, during the charging process of the robot, the charging efficiency of the robot's own casing is not affected, so that the robot can realize instant charging and at the same time improve the charging of the robot.
- the efficiency solves the problem that the existing non-contact charging method achieves low efficiency for charging the robot.
- the object recognition technology in the visual recognition device is used to assist the robot to search for the charging socket on the wall and the ground, and after the charging socket is searched, and the front side is ensured that there is no major obstacle, the target tracking is performed and controlled by the controller.
- the robot travels to the approximate extent that the micro-mechanical arm can access the charging jack. Within this range, the controller controls the robot to extend the arm with the charging plug and continuously experiment with enhanced learning techniques.
- the resistance signal generated by the resistance sensor of the mechanical arm is used as a feedback signal to perform closed-loop training, so that the mechanical arm can successfully insert the plug into the socket in continuous trial and error.
- the plug of the control robot is inserted into the charging socket, including: controlling the robot to move to the charging socket; and controlling the robot to move to the target position, controlling the plug mounted on the robot arm of the robot to be inserted into the charging socket,
- the target position is within a range in which the robot arm of the robot can contact the charging socket.
- the controller controls the robot to move to the charging socket, and when the robot moves to a range in which the robot arm of the robot can contact the charging socket, the controller receives the resistance sensor on the robot arm.
- the generated resistance signal outputs a control signal for controlling the action of the robot arm based on the resistance signal, and the robot arm operates according to the control signal to control the plug on the robot arm to be inserted into the charging socket.
- controlling the plug mounted on the robot arm of the robot to be inserted into the charging socket includes: controlling the robot arm to perform an action in a preset first action sequence; and performing an action in the first action sequence in the robot arm After that, it is judged whether the plug is successfully connected to the charging socket; when it is determined that the plug is successfully inserted into the charging socket, the first action sequence is recorded, and in the scheme, the first record can be recorded in the case that the plug is successfully inserted into the charging socket If the number of recordings is greater than the predetermined number of times, the first action sequence need not be adjusted.
- the second action may be determined by the learning algorithm if it is determined that the plug is not successfully inserted into the charging socket.
- the sequence, the second sequence of actions is used to successfully insert the plug into the charging socket; the control robot performs an action in the second sequence of actions to insert the plug into the charging socket.
- the controller controls the robot to move to the charging socket, and when the robot moves to a range in which the robot arm of the robot can contact the charging socket, the controller outputs the first motion sequence. Controlling the signal and controlling the robot to perform an action in the first sequence of actions; after the robot performs the action in the first sequence of actions, the controller determines whether the plug is successfully inserted into the charging socket, and determines that the plug has not been successfully inserted into the charging socket.
- the controller receives the resistance signal generated by the resistance sensor on the robot arm, and uses the resistance signal as an input signal of the above learning algorithm (such as a Q-learning learning algorithm), and outputs a control signal including the second motion sequence, the robot arm Then, according to the control signal, the action in the second action sequence is performed, so that the plug on the robot arm is successfully inserted into the charging socket.
- the robot is first controlled to perform the action in the preset first action sequence, and in the case that it is determined that the plug is not successfully inserted into the charging socket, the robot arm is trained in real time, so that the plug can be minimized. Time to insert the charging jack for the purpose.
- determining the second sequence of actions by the learning algorithm comprises: using the resistance signal as a counter Feeding the signal, instructing the robot arm to perform the following learning operation of the preset number of times until the feedback signal reaches a preset threshold, wherein the resistance signal is used to indicate the resistance generated when the plug is connected to the charging socket; recording the learning operation each time the learning operation is performed a result, wherein the learning result includes all corner and angular acceleration values of each of the steering gears from the start of the mechanical arm to the end of the rotation; determining a second sequence of motions based on the learning result, wherein each of the second sequence of actions The information of the action includes the corner and angular acceleration values of each of the steering gears corresponding to the action.
- the controller controls the robot arm to perform a plurality of learning operations (ie, performs a plurality of trial and error actions), and the storage device of the robot records the learning result of each performing the learning operation, that is, the feedback signal of each mechanical arm reaches a certain level.
- the threshold value ie, the preset threshold value described above
- the threshold value is an end signal, and records all the corner and angular acceleration values of each steering gear from the start of the rotation of the robot arm to the end of each learning operation, and uses the Q-learning learning algorithm to plan the robot arm.
- the sequence of motions (a series of rotations of all the steering gears on the robot arm) results in a second sequence of motions from a plurality of motion sequences corresponding to the recorded multiple learning results.
- the using the resistance signal as the feedback signal includes: determining whether the robot arm moves the plug to a predetermined position by using the resistance signal and/or the visual recognition signal, wherein between the predetermined position and the position of the charging socket The distance is less than the preset distance; if it is determined that the robot arm moves the plug to the predetermined position, the resistance signal is used as a positive feedback signal; if it is determined that the robot arm does not move the plug to the predetermined position, the resistance signal is used as a negative feedback signal.
- determining whether the robot arm moves the plug to the predetermined position by using the resistance signal and/or the visual recognition signal comprises: determining whether the distance between the position of the plug and the charging socket in the visual identification signal is less than a preset distance, and/or determining Whether the resistance signal is greater than the preset resistance value; if it is determined that the distance between the position of the plug and the charging socket in the visual identification signal is less than the preset distance, and/or the resistance signal is determined to be greater than the preset resistance value, it is determined that the mechanical arm will The plug is moved to the predetermined position; otherwise, it is determined that the robot arm has not moved the plug to the predetermined position.
- the resistance signal and the visual identification signal collected by the resistance sensor of the robot arm will be used to determine whether the arm moves the plug to the position close to the socket (ie, The above predetermined position). In this way, a reward and punishment mechanism is established. If the distance between the position of the mechanical arm plug and the position of the charging socket in the visual recognition signal is less than the preset distance (which can be preset), it is determined that the plug moves to a position close to the socket, or if If the resistance signal collected by the resistance sensor is greater than the preset resistance value, it is determined that the plug moves to a position close to the socket.
- the preset distance which can be preset
- the corresponding resistance signal is used as a positive feedback signal of the learning algorithm; in other cases, it is a negative penalty, that is, in other cases
- the corresponding resistance signal acts as a negative feedback signal for the learning algorithm described above.
- the controller receives the resistance signal generated by the resistance sensor on the robot arm, and uses the resistance signal as an input parameter of the learning algorithm (such as the Q-learning learning algorithm).
- the controller determines a second sequence of actions for enabling the controller to control the plug of the robot arm to be successfully inserted into the charging socket based on the Q-learning learning algorithm, and the robot arm performs the action in the second action sequence according to the control signal to make the robot arm The plug is successfully inserted into the charging socket.
- the resistance signal collected by the resistance sensor on the robot arm is confirmed as a positive feedback signal or a negative feedback signal, and based on the difference between the two signals, the Q-learning learning algorithm can determine the first The second sequence of actions ensures that the plug can be successfully inserted into the charging socket more quickly.
- determining whether the plug successfully accesses the charging socket comprises: determining whether the power manager of the robot obtains a charging success signal, wherein the charging success signal is used to indicate that the plug successfully accesses the charging socket; If the manager does not get the charging success signal, it is judged that the plug is not successfully connected to the charging socket; if the power manager of the robot receives the charging success signal, it is determined that the plug is successfully connected to the charging socket.
- the controller controls the robot to move to the charging socket, and when the robot moves to a range in which the robot arm of the robot can contact the charging socket, the controller outputs the first motion sequence. Controlling the signal and controlling the robot to perform an action in the first sequence of motions; after the robot performs the action in the first sequence of motions, the controller determines whether the plug of the robotic arm is successfully inserted by determining whether the power manager has received a charging success signal Charging socket. When the power manager receives a successful charging signal, it indicates that the plug of the arm is successfully inserted into the charging socket. When the power manager does not get the charging success signal, it means that the plug of the arm is not successfully inserted into the charging socket.
- the controller receives the resistance signal generated by the resistance sensor on the arm and uses the resistance signal as the learning algorithm (such as The input signal of the Q-learning learning algorithm, and outputting a control signal including the second action sequence, the robot arm performs the action in the second action sequence according to the control signal, so that the plug on the arm is successfully inserted into the charging socket.
- the learning algorithm such as The input signal of the Q-learning learning algorithm
- the control robot After the control robot performs the action in the preset first action sequence, it is determined whether the plug is successfully inserted into the charging socket, and in the case that it is determined that the plug is not successfully inserted into the charging socket, the robot arm is trained in real time, Thereby, the purpose of enabling the plug to be inserted into the charging socket in the shortest time can be achieved.
- the preset first action sequence can be obtained by the following method: when the robot arm operates the charging by itself, the method of multiple learning operations, that is, the method of the robot arm performing multiple trial and error operations, each time The resistance feedback of the robot arm reaches a certain threshold value end signal, and the learning result of each robot arm motion (ie, the above-mentioned learning operation) is recorded, that is, all the corners and angular accelerations of each steering gear from the start of the rotation of the robot arm to the end are recorded. value.
- the Q-learning learning algorithm is used to plan the sequence of motion of the robotic arm (a series of rotations of all the steering gears on the manipulator), searching for a sequence of actions that can bring the plug to the maximum extent of the socket (ie, the first sequence of actions described above). After the enhanced learning model obtains the first sequence of actions, it is placed in the controller, and the robot is controlled to perform the action in the first sequence of actions. If the plug is close to the socket, but the socket is not successfully inserted, continue.
- the Q-learning learning algorithm is used to control the robot arm to perform multiple learning operations, and the mobile plug is fine-tuned in a small range until the power supply is successfully connected.
- the Q-learning learning algorithm can perform real-time closed-loop training on the robot arm, and can continuously use the trained connection power action to complete in different spaces and angles.
- the plug on the robot arm was successfully inserted into the socket.
- the above-mentioned well-trained actions can also be used as other actions, such as initial training settings for grasping objects, moving objects, etc., and using the transfer learning characteristics of robot learning to complete training and optimization of other actions.
- the wired connection between the robot and the power source is realized, so that the charging efficiency of the robot can be better ensured.
- the robot After the robot recognizes the charging socket and measures the first distance between the robot and the charging socket, the robot will use its own walking ability to calculate the distance that the plug can contact the charging socket, that is, the maximum elongation distance of the micro-mechanical arm. .
- the robot During the travel, the robot will track the plug on the micro-mechanical arm and the recognized charging socket in real time.
- the tracking method is to use the tracking algorithm such as Meanshift to track the position change and direction change of the socket in the image in real time. And with the visual recognition device for real-time identification of the socket and the robot arm.
- the controller obtains the moving distance of the robot in real time according to the above tracking algorithm, and controls the moving distance of the robot to be greater than or equal to the difference between the first distance and the maximum elongation distance of the robot arm, that is, the control robot moves to the plug to be in contact with the charging. Within the range of the socket.
- the moving distance of the robot can be tracked in real time, and the robot can be controlled in real time, so that the robot can reach the range where the plug can reach the socket more quickly, and the robot can be charged instantly.
- detecting the first distance between the robot and the charging socket comprises detecting the first distance using a two-way visual inspection method.
- detecting the first distance by using the two-way visual detection method includes: collecting a first image of the charging socket through the first camera, and collecting a second image of the charging socket through the second camera, wherein the first camera and the second camera are installed in In the robot, the first camera and the second camera are installed at the same horizontal position, and the lens parameters of the first camera and the second camera are the same; using the image parameters of the first image and the second image, the first distance D is determined according to the following formula, The formula is:
- b represents the distance between the center line of the first camera and the center line of the second camera
- x 1 represents the pixel difference between the charging socket in the first image and the center of the first image
- x 2 represents the charging in the second image a pixel difference between the socket and the center of the second image
- f represents a distance from a pixel plane of the first camera and the second camera to an optical center of the camera convex lens, wherein the image parameter includes a pixel difference value.
- the visual recognition device can detect the approximate distance of the recognized socket to the robot itself by stereoscopic vision based on the position of the socket and its position in the image.
- the two-way visual detection method is used to detect the recognized distance. The distance between the socket and the robot itself (ie the first distance described above).
- two identical cameras (a first camera and a second camera, corresponding to the left camera and the right camera in FIG. 2) are included. Both cameras have the same lens length f and the same viewing angle ⁇ 0 and are placed in the same horizontal position (including the same height).
- the projection distance of the target T (ie correspondingly recognized socket) in the left camera is x1
- the projection distance in the right camera is x2
- the center distance of the two cameras is the center distance is the lens center line of the two cameras
- the distance between b) and b2 is the distance from the center line of the lens of the two cameras in the horizontal direction to the target, and the diagonal is equal (the ⁇ 1 and ⁇ 2 for the left and right lenses respectively), that is, The principle of triangle similarity, you can construct the equation:
- x1 and x2 are the pixel difference values of the object in the image (ie, the target T in the image) to the image center of the two lenses
- f is the distance from the pixel plane of the camera to the optical center of the convex lens of the camera.
- the above pixel plane is the surface of the CCD sensor imaged by the camera.
- the size of the CCD sensor can be used to convert the pixel to f (or convert the pixel to the real distance).
- the size of the CCD sensor is 8mm*6mm
- the pixel of the camera is 800*600.
- the center point of the object in the image is recognized as a reference, and the correction method such as the mean value can be used to correct the small error generated in the middle, and the recognized object (such as the identified socket) is calculated between the robot itself and the robot itself.
- the distance ie the first distance mentioned above).
- the first distance between the identified socket and the robot can be detected by the two-way visual detection method in real time, so that the movement of the robot can be accurately controlled by the controller.
- controlling the movement of the robot to the charging socket includes: determining a moving path based on a position of the charging socket and a position of the robot, wherein the moving path is a path having the shortest distance among all paths of the robot reaching the position of the charging socket; The control robot moves along the movement path to the charging socket.
- the environment image between the robot and the charging socket is obtained by the visual recognition device, and the controller analyzes the environment image, and the plurality of forward paths of the robot can be determined from the environment image, and the plurality of paths are determined according to the shortest distance principle.
- the moving path of the shortest distance from the position where the robot reaches the charging socket is selected in the forward path, and the robot is controlled to move toward the charging socket along the moving path.
- controlling the robot to move along the moving path of the shortest distance to the charging socket, and effectively tracking the socket enables the robot to perform effective path planning, thereby being able to help
- the robot saves more power when it needs to be recharged and looking for power to ensure that the robot can reach the charging location where the charging jack is located.
- identifying, by the visual recognition device, the charging socket in the environment in which the robot is located includes: collecting an environment video of the environment in which the robot is located, wherein the environment video includes a multi-frame environment image; and identifying the socket in the environment image If it is detected that there is no obstacle between the robot and the identified socket, the identified socket is determined as a charging socket, and if an obstacle is detected between the robot and the identified socket, the collection continues. An environmental video of the environment in which the robot is located.
- identifying the socket in the environment image includes: sliding the image in the environment image by using the sliding frame; acquiring the image pixel located in the sliding frame when the environment image is sliding; and characterizing the image pixel by using a pre-configured socket classifier Identifying, identifying the socket in the image pixel.
- sliding the image in the environment image by using the sliding frame comprises: using a parallel computing method to slide the plurality of sliding frames in parallel in the same frame environment image.
- the multi-frame environment image of the environment in which the robot is located is collected by the two cameras of the robot, and the plug is detected and detected by using the sliding frame technology, wherein the sliding frame technology uses the frames of different sizes to slide in the image to obtain the framed
- the image pixels of the environmental image are characterized by a pre-built socket classifier (ie, a classifier pre-trained based on a convolutional neuron network) to identify the pixels in the image pixels.
- a pre-built socket classifier ie, a classifier pre-trained based on a convolutional neuron network
- the laser scanning method can be used, and the robot scans the object between the robot and the recognized socket by using the laser scanning device installed by itself.
- the object When the size of the scanned object is within the range of the preset size value, the object is considered to be negligible, and there is no obstacle between the robot and the identified socket. If it is detected that there is no obstacle between the robot and the identified socket, the identified socket is determined as a charging socket to further control the robot to approach the charging socket, and the socket on the robot arm is inserted into the charging socket. The function of charging the robot.
- the above sliding frame has multiple sizes (N*N square boxes), and multiple parallel sliding frames are used to calculate The lines slide in the same frame environment image.
- an object recognition algorithm such as a convolutional neuron network algorithm.
- a smaller size of the sliding frame recognition is further performed on the retained object image until the size of the framed object cannot be reduced (ie, the object cannot be recognized on the smaller size sliding frame, or the object is recognized)
- the error rate is significantly higher).
- the above method for object recognition using the sliding frame technique is similar to the Cascade sliding frame method in the Adaboost classification algorithm.
- the object recognition algorithm used above is a simple deep learning object recognizer, that is, a socket classifier constructed by a convolutional neuron network (i.e., the above-described pre-configured socket classifier).
- the convolutional neuron network used above extracts features from objects in the training image (ie, the above-mentioned environmental image) with fewer convolution kernels and downsampling layers, and retains edges. Characteristic information such as texture, contour, color, etc., wherein the feature information is represented by a simple fully connected layer structure, and the classification result is output.
- the two cameras of the robot are used to collect the power socket images of different angles, different types, and different illumination conditions (that is, the multi-frame environment image described above), and after obtaining the multi-frame power socket image, the convolutional nerve is used.
- the meta-network performs forward and reverse training (Backpropagation) to obtain a pre-built socket classifier.
- the output of the classifier is a two-class, that is, a socket (which can be represented by a high level 1) and a non-socket (which can be used low). Level 0 indicates).
- the trained pre-built socket classifier is used to identify whether the object in the image is a socket, that is, the input image is subjected to forward and backward calculations of the convolutional neuron network, and the classification result can be obtained.
- the sliding frame technology can be used to quickly find the identifiable power socket in the video image, and according to the ranking of the space position and the difficulty of reaching, it can be determined that the plug of the robot is to be connected.
- the charging socket allows for instant charging of the robot, eliminating the need to return to a fixed location or room.
- Step S301 Collect an environment video of an environment in which the robot is located, where the environment video includes a multi-frame environment image.
- the multi-frame environment image described above may be an RGB image.
- Step S303 performing a screen sliding search on the environment image by using the sliding frame Slider.
- the sliding frame has a plurality of sizes (N*N square frames), and the parallel computing method is used to slide the plurality of sliding frames in parallel in the same frame environment image.
- Step S305 using a pre-built socket classifier to identify the socket in the environment image.
- the convolutional neuron network is used for deep learning, that is, the forward and reverse training is performed using a convolutional neuron network, and a pre-built socket classifier is obtained.
- Step S307 the socket in the environment image is identified.
- the robot since the robot may search for the socket object from a variety of angles and under various light conditions, the conventional machine learning requires a large amount of socket feature extraction, and the feature information required for manual preprocessing is more.
- the above method of deep learning using a convolutional neuron network can extract the object features in the image, and the recognition effect is higher than the traditional machine learning method, and the requirements for angle and illumination conditions are not high.
- the environment image in the video can be abstracted and extracted using the method of the sliding frame slider and the deep learning convolutional neuron network CNN (short for Convolutional Neural Networks) to determine the socket in the environment image.
- the sliding frame slider and the deep learning convolutional neuron network CNN are both software implementation solutions, and are not affected by the external environment of the robot, the solution of the above embodiment can detect the robot under different orientations, different angles and illumination conditions.
- the socket in the environment using the trained socket classifier, directly added to the sliding frame technology, eliminating the training process, can greatly improve the speed of recognition of objects in the environment image.
- the robot can be searched in any room for a wall power socket or a ground-mounted wiring strip, using a micro-mechanical arm and enhanced learning technology (such as the above).
- the learning algorithm can help the robot to successfully plug the plug into the charging socket for charging, thereby controlling the problem that the robot can be charged instantly and efficiently in a complicated environment.
- FIG. 4 is a schematic diagram of a charging device for a robot according to an embodiment of the present invention. As shown in FIG. 4, the device includes an identification unit 41 and a control unit 43.
- the identification unit 41 is configured to identify, by the visual recognition device, a charging socket in an environment in which the robot is located, wherein the visual recognition device is disposed on the robot.
- the control unit 43 is communicatively coupled to the identification unit for controlling insertion of the plug of the robot into the charging socket.
- the charging socket in the environment where the robot is located is recognized by the visual recognition device provided on the robot, and the plug of the robot can be controlled to be inserted into the charging socket by the controller on the robot.
- the charging socket is recognized by the visual recognition device, and the robot can find the charging socket that can be charged immediately without a large range of movement, and after identifying the charging socket,
- the wired connection between the plug of the robot and the charging socket is established, that is, during the charging process of the robot, the charging efficiency of the robot's own casing is not affected, so that the robot can realize instant charging and at the same time improve the charging of the robot.
- the efficiency solves the problem that the existing non-contact charging method achieves low efficiency for charging the robot.
- the object recognition technology in the visual recognition device is used to assist the robot to search for the charging socket on the wall and the ground, and after the charging socket is searched, and the front side is ensured that there is no major obstacle, the target tracking is performed and controlled by the controller.
- the robot travels to the approximate extent that the micro-mechanical arm can access the charging jack.
- the controller controls the robot to extend the mechanical arm with the charging plug, and continuously tests with the reinforcement learning technique, and uses the resistance signal generated by the resistance sensor of the mechanical arm as a feedback signal to perform closed-loop training, so that the robot arm is continuously tried. Wrongly insert the plug into the socket.
- the control unit 43 includes: a first control module 431 for controlling the movement of the robot to the charging socket; and a second control module 433 for controlling the movement of the robot to In the case of the target position, the plug mounted on the robot arm of the robot is inserted into the charging socket, wherein the target position is within a range in which the robot arm of the robot can contact the charging socket.
- the controller controls the robot to move to the charging socket, and when the robot moves to a range in which the robot arm of the robot can contact the charging socket, the controller receives the resistance sensor on the robot arm.
- the generated resistance signal outputs a control signal for controlling the action of the robot arm based on the resistance signal, and the robot arm operates according to the control signal to control the plug on the robot arm to be inserted into the charging socket.
- the second control module 433 includes: a first control submodule 4331, configured to control the robot to perform an action in a preset first action sequence;
- the determining sub-module 4333 is configured to determine whether the plug successfully accesses the charging socket after the robot performs the action in the first action sequence; and the recording sub-module is configured to determine that the plug is successfully inserted into the charging socket Recording the first sequence of actions;
- the second sequence of action determining sub-module 4335 is configured to determine a second sequence of actions by a learning algorithm, in a case where it is determined that the plug is not successfully inserted into the charging socket, and the second sequence of actions is used to insert the plug The charging socket is successfully inserted;
- the second control sub-module 4337 is configured to control the robot to perform an action in the second sequence of actions to insert the plug into the charging socket.
- the controller controls the robot to move to the charging socket, and when the robot moves to a range in which the robot arm of the robot can contact the charging socket, the controller outputs the first motion sequence. Controlling the signal and controlling the robot to perform an action in the first sequence of actions; after the robot performs the action in the first sequence of actions, the controller determines whether the plug is successfully inserted into the charging socket, and determines that the plug has not been successfully inserted into the charging socket.
- the controller receives the resistance signal generated by the resistance sensor on the robot arm, and uses the resistance signal as an input signal of the above learning algorithm (such as a Q-learning learning algorithm), and outputs a control signal including the second motion sequence, the robot arm Then, according to the control signal, the action in the second action sequence is performed, so that the plug on the robot arm is successfully inserted into the charging socket.
- the robot is first controlled to perform the action in the preset first action sequence, and in the case that it is determined that the plug is not successfully inserted into the charging socket, the robot arm is trained in real time, so that the plug can be minimized. Time to insert the charging jack for the purpose.
- the determining sub-module includes: a processing sub-module, configured to use the resistance signal as a feedback signal, and instruct the robot arm to perform the following learning operation of the preset number of times until the feedback signal reaches a preset threshold, where The resistance signal is used to indicate the resistance generated when the plug is connected to the charging socket; the recording sub-module is used to record the learning result of each performing the learning operation, wherein the learning result includes from the start of the mechanical arm to the end of the rotation, each All corner and angular acceleration values of the steering gear; a second action sequence determining sub-module for determining a second sequence of actions based on the learning result, wherein each of the actions of the second sequence of actions includes each rudder of the corresponding action The corner and angular acceleration values of the machine.
- a processing sub-module configured to use the resistance signal as a feedback signal, and instruct the robot arm to perform the following learning operation of the preset number of times until the feedback signal reaches a preset threshold, where The resistance signal is used to indicate
- the controller controls the robot arm to perform a plurality of learning operations (ie, performs a plurality of trial and error actions), and the storage device of the robot records the learning result of each performing the learning operation, that is, the feedback signal of each mechanical arm reaches a certain level.
- the threshold value ie, the preset threshold value described above
- the threshold value is an end signal, and records all the corner and angular acceleration values of each steering gear from the start of the rotation of the robot arm to the end of each learning operation, and uses the Q-learning learning algorithm to plan the robot arm.
- the sequence of motions (a series of rotations of all the steering gears on the robot arm) results in a second sequence of motions from a plurality of motion sequences corresponding to the recorded multiple learning results.
- the processing sub-module includes: a second determining sub-module for determining whether the mechanical arm moves the plug to a predetermined position by using the resistance signal and/or the visual identification signal, wherein the predetermined position and the charging socket The distance between the positions is less than the preset distance; the positive feedback signal determining sub-module is configured to determine the sub-module as the positive feedback signal if the mechanical arm moves the plug to the predetermined position; the negative feedback signal determining sub-module is used for If it is determined that the robot arm has not moved the plug to the predetermined position, the resistance signal is taken as a negative feedback signal.
- the second determining sub-module includes: determining a weight sub-module, configured to determine whether a distance between the position of the plug and the charging socket in the visual identification signal is less than a preset distance, and/or determining whether the resistance signal is greater than a preset resistance value; Determining the weight module, if it is determined that the distance between the position of the plug and the charging socket in the visual recognition signal is less than the preset distance, and/or determining that the resistance signal is greater than the preset resistance value, determining that the robot arm moves the plug to The predetermined position; otherwise, it is determined that the robot arm has not moved the plug to the predetermined position.
- the resistance signal and the visual identification signal collected by the resistance sensor of the robot arm will be used to determine whether the arm moves the plug to the position close to the socket (ie, The above predetermined position). In this way, a reward and punishment mechanism is established. If the distance between the position of the mechanical arm plug and the position of the charging socket in the visual recognition signal is less than the preset distance (which can be preset), it is determined that the plug moves to Close to the position of the socket, or if the resistance signal collected by the resistance sensor is greater than the preset resistance value, it is determined that the plug moves to a position close to the socket. In the above case, the corresponding resistance signal is obtained when the plug of the mechanical arm reaches the socket position.
- the preset distance which can be preset
- the corresponding resistance signal is used as a forward reward of the robot arm control model based on the enhanced learning algorithm (ie, the learning algorithm described above), that is, the corresponding resistance signal is used as a positive feedback signal of the learning algorithm; in other cases, it is negative. To the penalty, the corresponding resistance signal in other cases is used as the negative feedback signal of the above learning algorithm.
- the enhanced learning algorithm ie, the learning algorithm described above
- the controller receives the resistance signal generated by the resistance sensor on the robot arm, and uses the resistance signal as an input parameter of the learning algorithm (such as the Q-learning learning algorithm).
- the controller determines a second sequence of actions for enabling the controller to control the plug of the robot arm to be successfully inserted into the charging socket based on the Q-learning learning algorithm, and the robot arm performs the action in the second action sequence according to the control signal to make the robot arm The plug is successfully inserted into the charging socket.
- the resistance signal collected by the resistance sensor on the robot arm is confirmed as a positive feedback signal or a negative feedback signal, and based on the difference between the two signals, the Q-learning learning algorithm can determine the first The second sequence of actions ensures that the plug can be successfully inserted into the charging socket more quickly.
- the first determining sub-module includes: a first signal determining sub-module, configured to determine whether the power manager of the robot obtains a charging success signal, wherein the charging success signal is used to indicate the plug Successfully accessing the charging socket; the second signal determining sub-module is configured to determine that the plug is not successfully connected to the charging socket if the power manager of the robot does not receive the charging success signal; and the third signal determining sub-module is used if When the robot's power manager receives a charging success signal, it determines that the plug is successfully connected to the charging socket.
- the controller controls the robot to move to the charging socket, and when the robot moves to a range in which the robot arm of the robot can contact the charging socket, the controller outputs the first motion sequence. Controlling the signal and controlling the robot to perform an action in the first sequence of motions; after the robot performs the action in the first sequence of motions, the controller determines whether the plug of the robotic arm is successfully inserted by determining whether the power manager has received a charging success signal Charging socket. When the power manager receives a successful charging signal, it indicates that the plug of the arm is successfully inserted into the charging socket. When the power manager does not get the charging success signal, it means that the plug of the arm is not successfully inserted into the charging socket.
- the controller receives the resistance signal generated by the resistance sensor on the arm and uses the resistance signal as the learning algorithm (such as The input signal of the Q-learning learning algorithm, and outputting a control signal including the second action sequence, the robot arm performs the action in the second action sequence according to the control signal, so that the plug on the arm is successfully inserted into the charging socket.
- the learning algorithm such as The input signal of the Q-learning learning algorithm
- the control robot After the control robot performs the action in the preset first action sequence, it is determined whether the plug is successfully inserted into the charging socket, and in the case that it is determined that the plug is not successfully inserted into the charging socket, the robot arm is trained in real time, Thereby, the purpose of enabling the plug to be inserted into the charging socket in the shortest time can be achieved.
- the preset first action sequence can be obtained by the following method: when the robot arm operates the charging by itself, the method of multiple learning operations, that is, the method of the robot arm performing multiple trial and error operations, each time The resistance feedback of the robot arm reaches a certain threshold value end signal, and the learning result of each robot arm motion (ie, the above-mentioned learning operation) is recorded, that is, all the corners and angular accelerations of each steering gear from the start of the rotation of the robot arm to the end are recorded. value.
- the Q-learning learning algorithm is used to plan the sequence of motion of the robotic arm (a series of rotations of all the steering gears on the manipulator), searching for a sequence of actions that can bring the plug to the maximum extent of the socket (ie, the first sequence of actions described above).
- the enhanced learning model obtains the first sequence of actions, it is placed in the controller, and the control arm performs the action in the first action sequence, and continues to adopt when the plug is close to the socket but is not successfully inserted into the socket.
- the Q-learning learning algorithm performs a plurality of learning operations by the controller controlling the robot arm, and fine-tunes the mobile plug in a small range until the power source is successfully connected.
- the Q-learning learning algorithm can perform real-time closed-loop training on the robot arm, and can continuously use the trained connection power action to complete in different spaces and angles.
- the plug on the robot arm was successfully inserted into the socket.
- the above-mentioned well-trained actions can also be used as other actions, such as initial training settings for grasping objects, moving objects, etc., and using the transfer learning characteristics of robot learning to complete training and optimization of other actions.
- the wired connection between the robot and the power source is realized, so that the charging efficiency of the robot can be better ensured.
- control unit 43 further includes: a detecting module 435, configured to detect a first distance between the robot and the charging socket during controlling the movement of the robot to the charging socket
- the calculation module 437 is configured to calculate a difference between the first distance and the maximum elongation distance of the robot arm; and the third control module 439 is configured to control the movement distance of the robot to be greater than or equal to the difference.
- the robot After the robot recognizes the charging socket and measures the first distance between the robot and the charging socket, the robot will use its own walking ability to calculate the distance that the plug can contact the charging socket, that is, the maximum elongation distance of the micro-mechanical arm. .
- the robot During the travel, the robot will track the plug on the micro-mechanical arm and the recognized charging socket in real time.
- the tracking method is to use the tracking algorithm such as Meanshift to track the position change and direction change of the socket in the image in real time. And with the visual recognition device for real-time identification of the socket and the robot arm.
- the controller obtains the moving distance of the robot in real time according to the above tracking algorithm, and controls the moving distance of the robot to be greater than or equal to the difference between the first distance and the maximum elongation distance of the robot arm, that is, the control robot moves to the plug to be in contact with the charging. Within the range of the socket.
- the moving distance of the robot can be tracked in real time, and the robot can be controlled in real time, so that the robot can reach the range where the plug can reach the socket more quickly, and the robot can be charged instantly.
- the detection module comprises: a detection sub-module for using bidirectional visual inspection The device detects the first distance.
- the detecting submodule includes: a collecting submodule, configured to collect a first image of the charging socket through the first camera, and collect a second image of the charging socket through the second camera, wherein the first camera and the second camera are installed at On the robot, the first camera and the second camera are installed at the same horizontal position, and the lens parameters of the first camera and the second camera are the same; the calculation sub-module is used to utilize the image parameters of the first image and the second image according to the following formula Determine the first distance D, the formula is:
- b represents the distance between the center line of the first camera and the center line of the second camera
- x 1 represents the pixel difference between the charging socket in the first image and the center of the first image
- x 2 represents the charging in the second image a pixel difference between the socket and the center of the second image
- f represents a distance from a pixel plane of the first camera and the second camera to an optical center of the camera convex lens, wherein the image parameter includes a pixel difference value.
- the visual recognition device can detect the approximate distance of the recognized socket to the robot itself by stereoscopic vision based on the position of the socket and its position in the image.
- the two-way visual detection method is used to detect the recognized distance. The distance between the socket and the robot itself (ie the first distance described above).
- two identical cameras (a first camera and a second camera, corresponding to the left camera and the right camera in FIG. 2) are included. Both cameras have the same lens length f and the same viewing angle ⁇ 0 and are placed in the same horizontal position (including the same height).
- the projection distance of the target T (ie correspondingly recognized socket) in the left camera is x1
- the projection distance in the right camera is x2
- the center distance of the two cameras is the center distance is the lens center line of the two cameras
- the distance between b) and b2 is the distance from the center line of the lens of the two cameras in the horizontal direction to the target, and the diagonal is equal (the ⁇ 1 and ⁇ 2 for the left and right lenses respectively), that is, The principle of triangle similarity, you can construct the equation:
- x1 and x2 are the pixel difference values of the object in the image (ie, the target T in the image) to the image center of the two lenses
- f is the distance from the pixel plane of the camera to the optical center of the convex lens of the camera.
- the above pixel plane is
- the CCD sensor surface imaged by the camera can be converted into pixels (or converted to real distance) using the size of the CCD sensor.
- the size of the CCD sensor is 8mm*6mm
- the pixel of the camera is 800*600
- the center point of the object in the image is recognized as a reference, and the correction method such as the mean value can be used to correct the small error generated in the middle, and the recognized object (such as the identified socket) is calculated between the robot itself and the robot itself.
- the distance ie the first distance mentioned above).
- the first distance between the identified socket and the robot can be detected by the two-way visual detection method in real time, so that the movement of the robot can be accurately controlled by the controller.
- the first control module 431 includes: a moving path determining sub-module 4311, configured to determine a moving path based on a position of the charging socket and a position of the robot, wherein the moving path is The robot can lead to the shortest path among all the paths of the charging socket position; the third control sub-module 4313 is for controlling the robot to move along the moving path to the charging socket.
- the environment image between the robot and the charging socket is obtained by the visual recognition device, and the controller analyzes the environment image, and the plurality of forward paths of the robot can be determined from the environment image, and the plurality of paths are determined according to the shortest distance principle.
- the moving path of the shortest distance from the position where the robot reaches the charging socket is selected in the forward path, and the robot is controlled to move toward the charging socket along the moving path.
- controlling the robot to move along the moving path of the shortest distance to the charging socket, and effectively tracking the socket enables the robot to perform effective path planning, thereby being able to help
- the robot saves more power when it needs to be recharged and looking for power to ensure that the robot can reach the charging location where the charging jack is located.
- the identification unit 41 includes: an acquisition module 411, configured to collect an environment video of an environment in which the robot is located, wherein the environment video includes a multi-frame environment image; and the recognition module 413, for identifying a socket in the environment image; determining module 415, if it is detected that there is no obstacle between the robot and the identified socket, determining the identified socket as a charging socket; if the robot is detected An obstacle exists between the identified socket and the environment video of the environment in which the robot is located.
- the identification module includes: a sliding sub-module for sliding in the environment image by using the sliding frame; and a sub-module for acquiring the image pixel located in the sliding frame when the environmental image is sliding; the sub-module is used
- the image pixels are characterized by using a pre-built socket classifier to identify the sockets in the image pixels.
- the sliding sub-module includes: a parallel sliding sub-module for making a plurality of slidings using a parallel computing device The moving frame slides in parallel in the same frame environment image.
- the multi-frame environment image of the environment in which the robot is located is collected by the two cameras of the robot, and the plug is detected and detected by using the sliding frame technology, wherein the sliding frame technology uses the frames of different sizes to slide in the image to obtain the framed
- the image pixels of the environmental image are characterized by a pre-built socket classifier (ie, a classifier pre-trained based on a convolutional neuron network) to identify the pixels in the image pixels.
- a pre-built socket classifier ie, a classifier pre-trained based on a convolutional neuron network
- the laser scanning method can be used, and the robot scans the object between the robot and the recognized socket by using the laser scanning device installed by itself.
- the object When the size of the scanned object is within the range of the preset size value, the object is considered to be negligible, and there is no obstacle between the robot and the identified socket. If it is detected that there is no obstacle between the robot and the identified socket, the identified socket is determined as a charging socket to further control the robot to approach the charging socket, and the socket on the robot arm is inserted into the charging socket. The function of charging the robot.
- the above sliding frame has a plurality of sizes (N*N square frames), and the parallel computing method is used to make the plurality of sliding frames slide in parallel in the same frame environment image.
- N*N square frames the number of sizes
- the matrix will be scaled down to a specific size and identified using an object recognition algorithm such as a convolutional neuron network algorithm.
- an object recognition algorithm such as a convolutional neuron network algorithm.
- a smaller size of the sliding frame recognition is further performed on the retained object image until the size of the framed object cannot be reduced (ie, the object cannot be recognized on the smaller size sliding frame, or the object is recognized)
- the error rate is significantly higher).
- the above method for object recognition using the sliding frame technique is similar to the Cascade sliding frame method in the Adaboost classification algorithm.
- the object recognition algorithm used above is a simple deep learning object recognizer, that is, a socket classifier constructed by a convolutional neuron network (i.e., the above-described pre-configured socket classifier).
- the convolutional neuron network used above extracts features from objects in the training image (ie, the above-mentioned environmental image) with fewer convolution kernels and downsampling layers, and retains edges. Characteristic information such as texture, contour, color, etc., wherein the feature information is represented by a simple fully connected layer structure, and the classification result is output.
- the two cameras of the robot are used to collect the power socket images of different angles, different types, and different illumination conditions (that is, the multi-frame environment image described above), and after obtaining the multi-frame power socket image, the convolutional nerve is used.
- the meta-network performs forward and reverse training (Backpropagation) to obtain a pre-built socket classifier.
- the output of the classifier is a two-class, that is, a socket (which can be represented by a high level 1) and a non-socket (which can be used low). Level 0 indicates).
- the trained pre-built socket classifier is used to identify whether the object in the image is a socket, that is, the input image is subjected to forward and backward calculations of the convolutional neuron network, and the classification result can be obtained.
- the sliding frame technology can be used to quickly find the identifiable power socket in the video image, and according to the ranking of the space position and the difficulty of reaching, it can be determined that the plug of the robot is to be connected.
- the charging socket allows for instant charging of the robot, eliminating the need to return to a fixed location or room.
- the robot since the robot may search for the socket object from a variety of angles and under various light conditions, the conventional machine learning requires a large amount of socket feature extraction, and the feature information required for manual preprocessing is more.
- the above method of deep learning using a convolutional neuron network can extract the object features in the image, and the recognition effect is higher than the traditional machine learning method, and the requirements for angle and illumination conditions are not high.
- the environment image in the video can be abstracted and extracted using the method of the sliding frame slider and the deep learning convolutional neuron network CNN (short for Convolutional Neural Networks) to determine the socket in the environment image.
- the sliding frame slider and the deep learning convolutional neuron network CNN are both software implementation solutions, and are not affected by the external environment of the robot, the solution of the above embodiment can detect the robot under different orientations, different angles and illumination conditions.
- the socket in the environment using the trained socket classifier, directly added to the sliding frame technology, eliminating the training process, can greatly improve the speed of recognition of objects in the environment image.
- the robot can be searched in any room for a wall power socket or a ground-mounted wiring strip, using a micro-mechanical arm and enhanced learning technology (such as the above).
- the learning algorithm can help the robot to successfully plug the plug into the charging socket for charging, thereby controlling the problem that the robot can be charged instantly and efficiently in a complicated environment.
- FIG. 10 is a schematic diagram of a charging system of a robot according to an embodiment of the present invention. As shown in FIG. 10, the system includes: a visual recognition device 1001 and a controller 1003.
- the visual recognition device 1001 is configured to identify a charging socket in an environment in which the robot is located.
- the controller 1003 is connected to the visual recognition device for controlling the plug 1005 of the robot to be inserted into the charging socket 1007.
- the charging socket in the environment where the robot is located is recognized by the visual recognition device provided on the robot, and the plug of the robot can be controlled to be inserted into the charging socket by the controller on the robot.
- the charging socket is recognized by the visual recognition device, and the robot can find the charging socket that can be charged immediately without a large range of movement, and after identifying the charging socket,
- the wired connection between the plug of the robot and the charging socket is established, that is, during the charging process of the robot, the charging efficiency of the robot's own casing is not affected, so that the robot can realize instant charging and at the same time improve the charging of the robot.
- the efficiency solves the problem that the existing non-contact charging method achieves low efficiency for charging the robot.
- the object recognition technology in the visual recognition device is used to assist the robot to search for the charging socket on the wall and the ground, and after the charging socket is searched, and the front side is ensured that there is no major obstacle, the target tracking is performed, and
- the controller controls the robot to travel to the micro-mechanical arm to be able to access the approximate range of the charging socket. Within this range, the controller controls the robot to extend the mechanical arm with the charging plug, and continuously tests with the reinforcement learning technique, and uses the resistance signal generated by the resistance sensor of the mechanical arm as a feedback signal to perform closed-loop training, so that the robot arm is continuously tried. Wrongly insert the plug into the socket.
- the controller 103 is specifically configured to control the movement of the robot to the charging socket; and in the case of controlling the movement of the robot to the target position, the plug installed on the robot arm of the robot is inserted into the charging socket.
- the target position is within a range in which the robot arm of the robot can contact the charging socket.
- the controller controls the robot to move to the charging socket, and when the robot moves to a range in which the robot arm of the robot can contact the charging socket, the controller receives the resistance sensor on the robot arm.
- the generated resistance signal outputs a control signal for controlling the action of the robot arm based on the resistance signal, and the robot arm operates according to the control signal to control the plug on the robot arm to be inserted into the charging socket.
- the controller 103 is specifically configured to: control the robot to perform an action in a preset first action sequence; and after the robot performs the action in the first action sequence, determine whether the plug is successful. Accessing the charging socket; recording the first action sequence when it is determined that the plug is successfully inserted into the charging socket; and determining the second action sequence by the learning algorithm when determining that the plug is not successfully inserted into the charging socket, the second action sequence is used The plug is successfully inserted into the charging socket; the control robot performs the action in the second sequence of actions.
- the controller controls the robot to move to the charging socket, and when the robot moves to a range in which the robot arm of the robot can contact the charging socket, the controller outputs the first motion sequence. Controlling the signal and controlling the robot to perform an action in the first sequence of actions; after the robot performs the action in the first sequence of actions, the controller determines whether the plug is successfully inserted into the charging socket, and determines that the plug has not been successfully inserted into the charging socket.
- the controller receives the resistance signal generated by the resistance sensor on the robot arm, and uses the resistance signal as an input signal of the above learning algorithm (such as a Q-learning learning algorithm), and outputs a control signal including the second motion sequence, the robot arm Then, according to the control signal, the action in the second action sequence is performed, so that the plug on the robot arm is successfully inserted into the charging socket.
- the robot is first controlled to perform the action in the preset first action sequence, and in the case that it is determined that the plug is not successfully inserted into the charging socket, the robot arm is trained in real time, so that the plug can be minimized. Time to insert the charging jack for the purpose.
- the apparatus further includes: a resistance sensor 1009 mounted on the robot arm 1011 of the robot and connected to the controller for collecting a resistance signal, wherein the resistance signal is used to indicate that the plug is generated when the charging socket is inserted
- the controller is further configured to determine a second sequence of actions based on the resistance signal.
- the device further includes: a power manager 1013, configured to acquire a charging success signal; and the controller is further configured to be connected to the power manager, configured to determine whether the plug is based on whether the power manager obtains a charging success signal Successfully access the charging jack.
- the foregoing embodiment further includes the following steps:
- step S11 a multi-frame environment image including a charging socket is acquired.
- step S12 the video data of the charging socket recognized by the visual recognition device is transmitted to the controller of the robot.
- the two cameras of the robot are used to collect the environment video of the environment in which the robot is located, and the environment video includes a multi-frame environment image.
- the sliding image is used to perform screen sliding search on the environment image, and the The built-in socket classifier recognizes the charging socket in the environment image.
- step S13 the controller outputs a control signal for controlling the action of the robot arm.
- the control signal output by the controller for controlling the motion of the robot arm is a control signal including a preset first action sequence; and the control robot performs a preset setting.
- the controller After the action in the first action sequence, and in the case that it is determined that the plug is not successfully inserted into the charging socket, the controller outputs a control signal including the second action sequence through the learning algorithm, and controls the robot to perform the action in the second action sequence. , so that the plug is successfully inserted into the charging socket.
- step S14 the resistance signal generated by the resistance sensor is fed back to the controller as a feedback signal.
- the resistance signal and the visual identification signal collected by the resistance sensor of the robot arm will be used to determine whether the robot arm moves the plug to a position close to the socket (ie, the predetermined position described above). In this way, a reward and punishment mechanism is established. If the distance between the position of the mechanical arm plug and the position of the charging socket in the visual recognition signal is less than the preset distance (which can be preset), it is determined that the plug moves to a position close to the socket, or if If the resistance signal collected by the resistance sensor is greater than the preset resistance value, it is determined that the plug moves to a position close to the socket.
- the preset distance which can be preset
- the corresponding resistance signal is used as a positive feedback signal of the learning algorithm; in other cases, it is a negative penalty, that is, in other cases
- the corresponding resistance signal acts as a negative feedback signal for the learning algorithm described above.
- a multi-frame environment image including a charging socket is acquired by using two cameras of the robot, and after obtaining a multi-frame environment image, a screen sliding search is performed on the environment image by using a sliding frame slider, and a pre-built socket classifier is used, The charging socket in the environmental image is identified.
- the controller controls the robot to move to the charging socket.
- the controller outputs a control signal including the first action sequence, and controls the machine.
- the arm performs an action in the first sequence of actions; after the robot performs an action in the first sequence of actions, determining whether the power manager is The charging success signal is obtained, and the charging success signal is used to indicate that the plug is successfully inserted into the charging socket.
- the power manager receives the charging success signal, it indicates that the plug of the robot arm is successfully inserted into the charging socket.
- the power manager does not get the charging success signal, it means that the plug of the arm is not successfully inserted into the charging socket.
- the controller receives the resistance signal generated by the resistance sensor on the arm and uses the resistance signal as a learning algorithm (such as Q). -learning the input signal of the algorithm) and outputting a control signal including the second sequence of motions, and the robot arm performs the action in the second sequence of actions according to the control signal, so that the plug on the arm is successfully inserted into the charging socket.
- the wired connection between the robot and the power source is realized, so that the charging efficiency of the robot can be better ensured.
- the disclosed technical contents may be implemented in other manners.
- the device embodiments described above are only schematic.
- the division of the unit may be a logical function division.
- there may be another division manner for example, multiple units or components may be combined or may be Integrate into another system, or some features can be ignored or not executed.
- the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, unit or module, and may be electrical or otherwise.
- the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
- each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
- the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
- the integrated unit if implemented in the form of a software functional unit and sold or used as a standalone product, may be stored in a computer readable storage medium.
- the technical solution of the present invention which is essential or contributes to the prior art, or all or part of the technical solution, may be embodied in the form of a software product stored in a storage medium.
- a number of instructions are included to cause a computer device (which may be a personal computer, server or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention.
- the foregoing storage medium includes: a U disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a removable hard disk, a magnetic disk, or an optical disk, and the like. .
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mechanical Engineering (AREA)
- Transportation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Power Engineering (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Multimedia (AREA)
- Electromagnetism (AREA)
- Manipulator (AREA)
Abstract
一种机器人的充电方法、装置和设备,该方法包括:S102:通过视觉识别装置(1001)识别机器人所处环境中的充电插口(1007),其中,视觉识别装置(1001)设置在机器人上;S104:控制机器人的插头(1005)***充电插口(1007)。解决了现有的采用非接触式的充电方式为机器人充电效率低的技术问题。
Description
本发明涉及机器人控制领域,具体而言,涉及一种机器人的充电方法、装置和设备。
当前市场上的机器人,大部分是依靠无线充电或者近场电磁充电等非接触式充电方式为机器人补充电能。通常情况下,无线充电效率在50%-64%之间,经过特殊优化后的充电电路和电池能够将充电效率提高到86%以上,接近直流电直接充电的效率。但是,上述的非接触式充电方式的实现效率在通常情况下并不理想,存在两方面的不足:其一,无线充电信号可能被机器人的外壳、外皮吸收,导致充电效率降低或充电时间延长;其二,这类充电方式需要额外的充电装置加以复杂的导航技术(红外或声波)和通信技术(蓝牙或无线),帮助召回机器人进行充电,在机器人距离较远的房间或较复杂家庭环境的情况下,召回将很难实现。
针对现有的采用非接触式的充电方式为机器人充电实现效率低的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种机器人的充电方法、装置和设备,以至少解决现有的采用非接触式的充电方式为机器人充电效率低的技术问题。
根据本发明实施例的一个方面,提供了一种机器人的充电方法,该充电方法包括:通过视觉识别装置识别机器人所处环境中的充电插口,其中,视觉识别装置设置在机器人上;控制机器人的插头***充电插口。
根据本发明实施例的另一方面,还提供了一种机器人的充电装置,该充电装置包括:识别单元,用于通过视觉识别装置识别机器人所处环境中的充电插口,其中,视觉识别装置设置在机器人上;控制单元,与识别单元通信连接,用于控制机器人的插头***充电插口。
根据本发明实施例的另一方面,还提供了一种机器人的充电***,该充电***包括:用于识别机器人所处环境中的充电插口;控制器,与视觉识别装置连接,用于控制机器人的插头***充电插口。
在本发明实施例中,通过设置在机器人上的视觉识别装置识别出机器人所处环境中的充电插口,并通过机器人上的控制器可以控制机器人的插头***充电插口。通过上述实施例,在机器人当前所处的环境中,通过视觉识别装置识别出充电插口,机器人无需经过大范围的移动,就能找到可以即时充电的充电插口,并在识别到充电插口之后,可以将机器人的插头与充电插口建立有线连接,也即,在机器人进行充电的过程中,不会受到机器人自身的外壳对充电效率的影响,从而可以使机器人能够实现即时充电,同时可以提高机器人的充电效率,解决了现有的采用非接触式的充电方式为机器人充电实现效率低的问题。
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种机器人的充电方法的流程图;
图2是根据本发明实施例的一种可选的使用双向视觉检测方法检测第一距离的示意图;
图3是根据本发明实施例的一种可选的机器人的充电方法的流程图;
图4是根据本发明实施例的一种机器人的充电装置的示意图;
图5是根据本发明实施例的一种可选的机器人的充电装置的示意图;
图6是根据本发明实施例的一种可选的机器人的充电装置的示意图;
图7是根据本发明实施例的一种可选的机器人的充电装置的示意图;
图8是根据本发明实施例的一种可选的机器人的充电装置的示意图;
图9是根据本发明实施例的一种可选的机器人的充电装置的示意图;
图10是根据本发明实施例的一种机器人的充电***的示意图;
图11是根据本发明实施例的一种可选的机器人的充电***的示意图。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例
仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种机器人的充电方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种机器人的充电方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,通过视觉识别装置识别机器人所处环境中的充电插口,其中,视觉识别装置设置在机器人上。
步骤S104,控制机器人的插头***充电插口。
采用本发明的实施例,通过设置在机器人上的视觉识别装置识别出机器人所处环境中的充电插口,并通过机器人上的控制器可以控制机器人的插头***充电插口。通过上述实施例,在机器人当前所处的环境中,通过视觉识别装置识别出充电插口,机器人无需经过大范围的移动,就能找到可以即时充电的充电插口,并在识别到充电插口之后,可以将机器人的插头与充电插口建立有线连接,也即,在机器人进行充电的过程中,不会受到机器人自身的外壳对充电效率的影响,从而可以使机器人能够实现即时充电,同时可以提高机器人的充电效率,解决了现有的采用非接触式的充电方式为机器人充电实现效率低的问题。
具体的,利用视觉识别装置中的物体识别技术协助机器人在墙面和地面搜索充电插口,在搜索到充电插口后,并确保前方没有较大障碍的情况下,进行目标跟踪,并通过控制器控制机器人行进到微型机械臂能够接触到充电插口的大致范围。在该范围内,控制器控制机器人伸出带有充电插头的机械臂,利用增强学习技术不断试验,使
用机械臂的阻力传感器产生的阻力信号作为反馈信号,进行闭环训练,使机械臂在不断试错中将插头成功***插口。
在本发明的上述实施例中,控制机器人的插头***充电插口包括:控制机器人向充电插口移动;在控制机器人移动至目标位置的情况下,控制安装在机器人的机械臂上的插头***充电插口,其中,目标位置位于机器人的机械臂能够接触充电插口的范围内。
具体地,在通过视觉识别装置识别出充电插口之后,控制器控制机器人向充电插口移动,当机器人移动至机器人的机械臂能够接触到充电插口的范围内时,控制器接收机械臂上的阻力传感器产生的阻力信号,并基于阻力信号输出控制机械臂动作的控制信号,机械臂按照该控制信号动作,以控制机械臂上的插头***充电插口。
通过上述实施例,可以控制机器人移动至机械臂能够接触充电插口的范围内,从而可以充分保证机器人与充电插口的接触式的连接。
在本发明的上述实施例中,控制安装在机器人的机械臂上的插头***充电插口包括:控制机械臂执行预先设置的第一动作序列中的动作;在机械臂执行第一动作序列中的动作后,判断插头是否成功接入充电插口;在判断出插头成功***充电插口的情况下,记录第一动作序列,在该方案中可以在判断出插头成功***充电插口的情况下,记录该第一动作序列,若记录的次数大于预定次数,则无需调整第一动作序列,若记录的次数不大于预定次数,则可以在判断出插头未成功***充电插口的情况下,通过学习算法确定第二动作序列,第二动作序列用于将插头成功***充电插口;控制机械臂执行第二动作序列中的动作,以将插头***充电插口。
具体地,在通过视觉识别装置识别出充电插口之后,控制器控制机器人向充电插口移动,当机器人移动至机器人的机械臂能够接触到充电插口的范围内时,控制器输出包含第一动作序列的控制信号,并控制机械臂执行第一动作序列中的动作;在机械臂执行第一动作序列中的动作之后,控制器判断插头是否成功***充电插口,并在判断出插头没有成功***充电插口的情况下,控制器接收机械臂上的阻力传感器产生的阻力信号,并将阻力信号作为上述学习算法(如Q-learning学习算法)的输入信号,并输出包含第二动作序列的控制信号,机械臂则按照该控制信号执行第二动作序列中的动作,使机械臂上的插头成功***充电插口。
通过上述实施例,首先控制机器人执行预先设置的第一动作序列中的动作,并在判断出插头未成功***充电插口的情况下,对机械臂进行实时的训练,从而可以达到使插头能够以最短时间***充电插口的目的。
在本发明的实施例中,通过学习算法确定第二动作序列包括:将阻力信号作为反
馈信号,命令机械臂自行执行预设次数的下述学习操作,直至反馈信号达到预设阈值,其中,阻力信号用于表示插头接入充电插口时产生的阻力;记录每次执行学习操作的学习结果,其中,学习结果包括从机械臂开始转动到结束转动的过程中,每一舵机的所有转角和角加速度值;基于学习结果确定第二动作序列,其中,第二动作序列中的每个动作的信息中包括对应动作的每个舵机的转角和角加速度值。
具体地,控制器控制机械臂执行多次学习操作(即执行多次试错动作),机器人的存储设备记录每次执行学习操作的学习结果,也即以每一次机械臂的阻力反馈信号达到一定阈值(即上述的预设阈值)为结束信号,记录每次学习操作中的从开始转动机械臂到结束时每一舵机的所有转角和角加速度值,使用Q-learning学习算法规划机械臂的动作序列(机械臂上所有舵机的一系列的转动),从记录的多次学习结果对应的多个动作学列中得到第二动作序列。
通过上述实施例,基于Q-learning学习算法,对机器人的机器臂进行实时训练,可以使插头能够以最短的时间、并准确地***充电插头。
在本发明的上述实施例中,将阻力信号作为反馈信号包括:利用阻力信号和/或视觉识别信号,判断机械臂是否将插头移动到预定位置,其中,预定位置与充电插口的位置之间的距离小于预设距离;若判断出机械臂将插头移动到预定位置,则将阻力信号作为正反馈信号;若判断出机械臂未将插头移动到预定位置,则将阻力信号作为负反馈信号。
进一步地,利用阻力信号和/或视觉识别信号,判断机械臂是否将插头移动到预定位置包括:判断视觉识别信号中插头的位置与充电插口之间的距离是否小于预设距离、和/或者判断阻力信号是否大于预设阻力值;若判断出视觉识别信号中插头的位置与充电插口之间的距离小于预设距离、和/或者判断出阻力信号大于预设阻力值,则判断出机械臂将插头移动到预定位置;否则,判断出机械臂未将插头移动到预定位置。
在一种可选的实施例中,当电源管理器没有得到充电成功信号时,机械臂的阻力传感器采集的阻力信号和视觉识别信号将用于判断机械臂是否将插头移动到接近插口位置(即上述的预定位置)。以此建立奖罚机制,如若视觉识别信号中机械臂插头的位置与充电插口的位置之间的距离小于预设距离(可以预先设定),则判断出插头移动到接近插口的位置,或者若阻力传感器采集的阻力信号大于预设阻力值,则判断出插头移动到接近插口的位置,在上述情况下,机械臂的插头到达插口位置时得到了相应的阻力信号,则将该相应的阻力信号作为基于增强学习算法(即上述的学习算法)的机械臂控制模型的正向奖励,即将该相应的阻力信号作为上述学习算法的正反馈信号;其它情况下则作为负向惩罚,即将其他情况下相应的阻力信号作为上述学习算法的负反馈信号。
进一步地,在判断出插头没有成功***充电插口的情况下,控制器接收机械臂上的阻力传感器产生的阻力信号,并将阻力信号作为上述学习算法(如Q-learning学习算法)的输入参数,控制器则基于Q-learning学习算法确定出能够使控制器控制机械臂的插头成功***充电插口的第二动作序列,机械臂则按照该控制信号执行第二动作序列中的动作,使机械臂上的插头成功***充电插口。
通过上述实施例,将机械臂上的阻力传感器采集到的阻力信号确认为正反馈信号或负反馈信号两种信号,并基于这两种信号的区别,通过Q-learning学习算法,可以确定出第二序列动作,从而可以保证插头能够更快的成功***充电插口。
在本发明的上述实施例中,判断插头是否成功接入充电插口包括:判断机器人的电源管理器是否得到充电成功信号,其中,充电成功信号用于表示插头成功接入充电插口;若机器人的电源管理器没有得到充电成功信号,则判断出插头未成功接入充电插口;若机器人的电源管理器得到充电成功信号,则判断出插头成功接入充电插口。
具体地,在通过视觉识别装置识别出充电插口之后,控制器控制机器人向充电插口移动,当机器人移动至机器人的机械臂能够接触到充电插口的范围内时,控制器输出包含第一动作序列的控制信号,并控制机械臂执行第一动作序列中的动作;在机械臂执行第一动作序列中的动作之后,控制器通过判断电源管理器是否得到充电成功信号,判断机械臂的插头是否成功***充电插口。当电源管理器得到充电成功信号时,则表示机械臂的插头成功***充电插口。当电源管理器没有得到充电成功信号时,则表示机械臂的插头未成功***充电插口,此时,控制器接收机械臂上的阻力传感器产生的阻力信号,并将阻力信号作为上述学习算法(如Q-learning学习算法)的输入信号,并输出包含第二动作序列的控制信号,机械臂则按照该控制信号执行第二动作序列中的动作,使械臂上的插头成功***充电插口。
通过上述实施例,在控制机器人执行预先设置的第一动作序列中的动作之后,判断插头是否成功***充电插口,在判断出插头未成功***充电插口的情况下,对机械臂进行实时的训练,从而可以达到使插头能够以最短时间***充电插口的目的。
在上述实施例中,预先设置的第一动作序列可以通过如下步骤得到:在机械臂自行操作充电时,通过多次学习操作的方法,即机械臂进行多次试错操作的方法,以每一次机械臂的阻力反馈达到一定阈值为结束信号,记录每次机械臂动作(即上述的学习操作)的学习结果,也即记录从开始转动机械臂到结束时每一舵机的所有转角和角加速度值。使用Q-learning学习算法规划机械臂的动作序列(机械臂上所有舵机的一系列的转动),搜索能够使插头最大限度接近插口的动作序列(即上述的第一动作序列)。当增强学习模型得到第一动作序列后,将其设置在控制器中,并控制机械臂实施该第一动作序列中的动作,在插头靠近插口,但并没有成功***插口的情况下,继续
采用Q-learning学习算法,通过控制器控制机械臂执行多次学习操作,在微小范围内微调移动插头,直到电源成功接入。
在上述实施例中,基于阻力传感器采集的反馈信号,通过Q-learning学习算法,可以对机械臂进行实时的闭环训练,并能够持续地利用训练好的连接电源动作在不同的空间、角度完成将机器人机械臂上的插头成功***插口这一任务。上述训练好的动作也可以作为其它动作,如抓取物体、移动物体等动作的初始训练设定,利用机器人学习的转移训练特性完成对其它动作的训练和优化。
通过上述实施例,实现了机器人与电源的有线连接,从而可以更好的保证机器人的充电效率。
在本发明的上述实施例中,在控制机器人向充电插口移动的过程中,检测机器人与充电插口之间的第一距离;计算第一距离与机械臂的最大伸长距离的差值;控制机器人的移动距离大于或等于差值。
具体地,在机器人识别到充电插口和测量得到了机器人与充电插口的第一距离之后,机器人将利用自身的行走能力,计算插头能够接触到充电插口的距离,即微型机械臂的最大伸长距离。机器人在行进过程中将对自己微机械臂上的插头和识别到的充电插口进行实时的跟踪,跟踪的方法是:使用Meanshift等跟踪算法对图像中的插口的位置变化和方向变化进行实时跟踪,并配合视觉识别装置对插口和机械臂的实时识别。控制器根据上述的跟踪算法,实时得到机器人的移动距离,并控制机器人的移动距离大于或等于第一距离与机械臂的最大伸长距离的差值,也即控制机器人移动至插头能够接触到充电插口的范围内。
通过上述实施例,可以实时跟踪机器人的移动距离,并对机器人进行实时的控制,能够保证机器人更快的到达插头能够接触到插口的范围,保证机器人即时充电。
在本发明的上述实施例中,检测机器人与充电插口之间的第一距离包括:使用双向视觉检测方法检测第一距离。
进一步地,使用双向视觉检测方法检测第一距离包括:通过第一摄像头采集充电插口的第一图像,并通过第二摄像头采集充电插口的第二图像,其中,第一摄像头和第二摄像头安装在机器人上,第一摄像头和第二摄像头安装在相同的水平位置,第一摄像头和第二摄像头的镜头参数相同;利用第一图像和第二图像的图像参数,按照如下公式确定第一距离D,公式为:
其中,b表示第一摄像头的中线与第二摄像头的中线之间的距离;x1表示第一图像中的充电插口与第一图像的中心的像素差值,x2表示第二图像中的充电插口与第二图像的中心的像素差值;f表示第一摄像头和第二摄像头的像素平面到摄像头凸透镜光心的距离,其中,图像参数包括像素差值。
具体地,视觉识别装置在能够识别到插口和其在图像中的位置基础上,可以利用立体视觉检测识别到的插口到机器人本身的大致距离,该实施例中采用双向视觉检测方法检测识别到的插口到机器人本身之间的距离(即上述的第一距离)。
下面结合图2详述本发明的上述实施例。如图2所示,包含两个相同的摄像头(第一摄像头和第二摄像头,对应图2中的左侧摄像头和右侧摄像头)。两个摄像头具有相同的镜头长度f和相同的视角角度θ0,并摆放在相同的水平位置(包括相同高度)。
目标T(即对应识别到的插口)在左侧摄像头中的投影距离是x1,在右侧摄像头中的投影距离是x2,两个摄像头的中心距离(中心距离即为两个摄像头的镜头中线线间的距离)为b,b1和b2分别为水平方向上两个摄像头的镜头中心线到目标的距离,则利用等比对角(对左右两个镜头分别为θ1和θ2),也即三角形相似原理,可以构建等式:
D为镜头到目标的直线距离,也即机器人到充电插口的第一距离。由于b1+b2=b,即b1与b2的和值为两个镜头中线线间的距离b,则可以推倒得到:
其中,x1和x2分别为图像中的物体(即图像中的目标T)对两个镜头的图像中心的像素差值,f为摄像头的像素平面到摄像头凸透镜光心的距离。上述的像素平面为摄像头成像的CCD传感器表面,可以使用CCD传感器的尺寸对f进行像素转化(或将像素转化到真实距离),例如CCD传感器的尺寸为8mm*6mm,相机的像素为800*600,f的距离为8mm,则转化为像素值得到f=800pixels。由此,可以得到真实的距离值。
在上述实施例中,以识别到图像中物体的中心点为基准,并可以采用取均值等矫正方法矫正中间产生的微小误差,计算识别到的物体(如识别到的插口)与机器人本身之间的距离(即上述的第一距离)。
在上述实施例中,可以通过双向视觉检测方法,实时的检测得到识别到的插口与机器人之间的第一距离,从而通过控制器对机器人的移动进行精确的控制。
在本发明的上述实施例中,控制机器人向充电插口移动包括:基于充电插口的位置和机器人的位置确定移动路径,其中,移动路径为机器人到达充电插口的位置的所有路径中距离最短的路径;控制机器人沿移动路径向充电插口移动。
具体地,通过视觉识别装置,得到机器人与充电插口之间的环境图像,控制器对环境图像进行解析处理,从环境图像中可以确定出机器人的多条前进路径,根据距离最短原则,从多条前进路径中选择机器人到达充电插口的位置的距离最短的移动路径,并控制机器人沿该移动路径向充电插口移动。
通过上述实施例,在确定出接近插口的最短路程的移动路径之后,控制机器人沿最短路程的移动路径向充电插口移动,并对插口进行有效追踪,能够使机器人进行有效的路径规划,因此能够帮助机器人在需要充电、寻找电源时节省更多的电力,以确保机器人能够到达充电插口所在的充电地点。
在本发明的上述实施例中,通过视觉识别装置识别机器人所处环境中的充电插口包括:采集机器人所处环境的环境视频,其中,环境视频中包括多帧环境图像;识别环境图像中的插口;若检测出机器人与识别出的插口之间不存在障碍物,则将识别出的插口确定为充电插口,若检测出所述机器人与识别出的插口之间存在障碍物,则继续采集所述机器人所处环境的环境视频。
进一步地,识别环境图像中的插口包括:利用滑动框在环境图像中滑动;滑动框在环境图像滑动时,获取位于滑动框内的图像像素;利用预先构建的插口分类器,对图像像素进行特征识别,识别出图像像素中的插口。
进一步地,利用滑动框在环境图像中滑动包括:使用并行计算方法使多个滑动框并行在同一帧环境图像中滑动。
具体地,通过机器人的两个摄像头采集机器人所处环境的多帧环境图像,利用滑动框技术对插头进行识别检测,其中,滑动框技术是使用不同尺寸的框在图像中滑动,获取框住的环境图像的图像像素,利用预先构建的插口分类器(即基于卷积神经元网络预先训练好的分类器),对图像像素进行特征识别,识别出图像像素中的插口。在识别出插口之后,需要检测机器人与识别出的插口之间是否存障碍物,如,可以激光扫描的方法,机器人利用自身安装的激光扫描装置,扫描到机器人与识别出的插口之间的物体,当扫描到的物体的尺寸在预设尺寸值的范围之内时,则认为该物体可以忽略,机器人与识别出的插口之间不存在障碍物。若检测出机器人与识别出的插口之间不存在障碍物,则将识别出的插口确定为充电插口,以进一步控制机器人靠近该充电插口,并使机器人机械臂上的插口***该充电插口,实现为机器人充电的功能。
上述的滑动框有多个尺寸(N*N正方形框),使用并行计算方法使多个滑动框并
行在同一帧环境图像中滑动,当滑动框在环境图像中滑动时,每次框住的像素矩阵将缩小到特定的尺寸,并使用物体识别算法(如卷积神经元网络算法)进行识别。对于识别出的物体进行保留,在保留的物体图像上进一步进行更小尺寸的滑框识别,直到框定物体的尺寸不能缩小为止(即在更小尺寸的滑动框上无法识别到物体,或识别物体的错误率明显升高)。上述的利用滑动框技术进行物体识别的方法类似Adaboost分类算法中的Cascade滑框方法。
上述使用的物体识别算法是简易的深度学习物体识别器,即通过卷积神经元网络构建的插口分类器(即上述预先构建的插口分类器)。其中,上述使用的卷积神经元网络,用较少的卷积核和下采样层对训练图像(即上述的环境图像)中的物体(如上述的识别出的插口)进行特征提取,保留边缘、纹理、轮廓、颜色等特征信息,其中,利用简单的全连接层结构表示特征信息,并输出分类结果。
在上述实施例中,利用机器人的两个摄像头收集不同角度、不同种类、不同光照条件下的电源插口图像(即上述的多帧环境图像),在得到多帧电源插口图像之后,采用卷积神经元网络进行前向和反向的训练(Backpropagation),得到预先构建的插口分类器,该分类器的输出为二分类,即是插口(可以用高电平1表示)和非插口(可以用低电平0表示)。训练后的预先构建的插口分类器用于识别图像中物体是否为插口,即输入图像经过卷积神经元网络的前向和后向计算,可以得到分类结果。
通过上述实施例,利用并行计算方法,利用滑动框技术能够达到快速搜索视频图像中可识别到的电源插口,并依据高低等空间位置和到达难易程度的排序,能够确定出机器人的插头将要连接的充电插口,可以实现机器人的即时充电,省去了返回固定位置或房间的麻烦。
下面结合图3详述本发明的上述实施例,如图3所示,包括如下步骤:
步骤S301,采集机器人所处环境的环境视频,其中,环境视频中包含多帧环境图像。
其中,上述的多帧环境图像可以为RGB图像。
步骤S303,利用滑动框Slider对环境图像进行屏幕滑动检索。
具体地,滑动框有多个尺寸(N*N正方形框),使用并行计算方法使多个滑动框并行在同一帧环境图像中滑动。
步骤S305,利用预先构建的插口分类器,识别环境图像中的插口。
其中,使用卷积神经元网络进行深度学习,也即使用卷积神经元网络进行前向和反向的训练,得到预先构建的插口分类器。
步骤S307,识别出环境图像中的插口。
在上述实施例中,由于机器人可能从多种角度、在多种光线条件下搜索插口物体,传统的机器学习对于插口特征提取要求较大,需要人工预处理得到的特征信息较多。相对地,采用上述的使用卷积神经元网络进行深度学习的方法能够对图像中的物体特征自行提取,识别的效果也要高于传统机器学习方法,对于角度和光照条件的要求不高。
通过上述实施例,使用滑动框Slider和深度学习卷积神经元网络CNN(Convolutional Neural Networks的缩写)的方法,可以对视频中的环境图像进行抽象提取,以确定环境图像中的插口。由于滑动框Slider和深度学习卷积神经元网络CNN都属于软件实现方案,不受机器人所处外界环境的影响,因此采用上述实施例的方案能够在不同方位、不同角度和光照条件下检测到机器人所处环境中的插口。此外,使用训练好的插口分类器,直接加入到滑动框技术中,省去了训练的过程,能够极大提高对环境图像中的物体进行识别的速度。
通过上述实施例,基于视觉识别技术(如上述的视觉识别装置),可以使机器人在任意房间内搜索墙壁电源插口或是地面放置的接线插排,利用微型机械臂和增强学习技术(如上述的学习算法)可以帮助机器人将插头成功接入充电插口进行充电,从而可以控制机器人在复杂环境中也可以即时有效地充电的问题。
实施例2
图4是根据本发明实施例的一种机器人的充电装置的示意图,如图4所示,该装置包括:识别单元41和控制单元43。
其中,识别单元41,用于通过视觉识别装置识别机器人所处环境中的充电插口,其中,视觉识别装置设置在机器人上。
控制单元43,与识别单元通信连接,用于控制机器人的插头***充电插口。
采用本发明的实施例,通过设置在机器人上的视觉识别装置识别出机器人所处环境中的充电插口,并通过机器人上的控制器可以控制机器人的插头***充电插口。通过上述实施例,在机器人当前所处的环境中,通过视觉识别装置识别出充电插口,机器人无需经过大范围的移动,就能找到可以即时充电的充电插口,并在识别到充电插口之后,可以将机器人的插头与充电插口建立有线连接,也即,在机器人进行充电的过程中,不会受到机器人自身的外壳对充电效率的影响,从而可以使机器人能够实现即时充电,同时可以提高机器人的充电效率,解决了现有的采用非接触式的充电方式为机器人充电实现效率低的问题。
具体的,利用视觉识别装置中的物体识别技术协助机器人在墙面和地面搜索充电插口,在搜索到充电插口后,并确保前方没有较大障碍的情况下,进行目标跟踪,并通过控制器控制机器人行进到微型机械臂能够接触到充电插口的大致范围。在该范围内,控制器控制机器人伸出带有充电插头的机械臂,利用增强学习技术不断试验,使用机械臂的阻力传感器产生的阻力信号作为反馈信号,进行闭环训练,使机械臂在不断试错中将插头成功***插口。
在本发明的上述实施例中,如图5所示,上述的控制单元43包括:第一控制模块431,用于控制机器人向充电插口移动;第二控制模块433,用于在控制机器人移动至目标位置的情况下,控制安装在机器人的机械臂上的插头***充电插口,其中,目标位置位于机器人的机械臂能够接触充电插口的范围内。
具体地,在通过视觉识别装置识别出充电插口之后,控制器控制机器人向充电插口移动,当机器人移动至机器人的机械臂能够接触到充电插口的范围内时,控制器接收机械臂上的阻力传感器产生的阻力信号,并基于阻力信号输出控制机械臂动作的控制信号,机械臂按照该控制信号动作,以控制机械臂上的插头***充电插口。
通过上述实施例,可以控制机器人移动至机械臂能够接触充电插口的范围内,从而可以充分保证机器人与充电插口的接触式的连接。
在本发明的上述实施例中,如图6所示,上述的第二控制模块433包括:第一控制子模块4331,用于控制机械臂执行预先设置的第一动作序列中的动作;第一判断子模块4333,用于在机械臂执行第一动作序列中的动作后,判断插头是否成功接入充电插口;记录子模块,用于在判断出所述插头成功***所述充电插口的情况下,记录所述第一动作序列;第二动作序列确定子模块4335,用于在判断出插头未成功***充电插口的情况下,通过学习算法确定第二动作序列,第二动作序列用于将插头成功***充电插口;第二控制子模块4337,用于控制机械臂执行第二动作序列中的动作,以将所述插头***所述充电插口。
具体地,在通过视觉识别装置识别出充电插口之后,控制器控制机器人向充电插口移动,当机器人移动至机器人的机械臂能够接触到充电插口的范围内时,控制器输出包含第一动作序列的控制信号,并控制机械臂执行第一动作序列中的动作;在机械臂执行第一动作序列中的动作之后,控制器判断插头是否成功***充电插口,并在判断出插头没有成功***充电插口的情况下,控制器接收机械臂上的阻力传感器产生的阻力信号,并将阻力信号作为上述学习算法(如Q-learning学习算法)的输入信号,并输出包含第二动作序列的控制信号,机械臂则按照该控制信号执行第二动作序列中的动作,使机械臂上的插头成功***充电插口。
通过上述实施例,首先控制机器人执行预先设置的第一动作序列中的动作,并在判断出插头未成功***充电插口的情况下,对机械臂进行实时的训练,从而可以达到使插头能够以最短时间***充电插口的目的。
在本发明的实施例中,确定子模块包括:处理子模块,用于将阻力信号作为反馈信号,命令机械臂自行执行预设次数的下述学习操作,直至反馈信号达到预设阈值,其中,阻力信号用于表示插头接入充电插口时产生的阻力;记录子模块,用于记录每次执行学习操作的学习结果,其中,学习结果包括从机械臂开始转动到结束转动的过程中,每一舵机的所有转角和角加速度值;第二动作序列确定子模块,用于基于学习结果确定第二动作序列,其中,第二动作序列中的每个动作的信息中包括对应动作的每个舵机的转角和角加速度值。
具体地,控制器控制机械臂执行多次学习操作(即执行多次试错动作),机器人的存储设备记录每次执行学习操作的学习结果,也即以每一次机械臂的阻力反馈信号达到一定阈值(即上述的预设阈值)为结束信号,记录每次学习操作中的从开始转动机械臂到结束时每一舵机的所有转角和角加速度值,使用Q-learning学习算法规划机械臂的动作序列(机械臂上所有舵机的一系列的转动),从记录的多次学习结果对应的多个动作学列中得到第二动作序列。
通过上述实施例,基于Q-learning学习算法,对机器人的机器臂进行实时训练,可以使插头能够以最短的时间、并准确地***充电插头。
在本发明的上述实施例中,处理子模块包括:第二判断子模块,用于利用阻力信号和/或视觉识别信号,判断机械臂是否将插头移动到预定位置,其中,预定位置与充电插口的位置之间的距离小于预设距离;正反馈信号确定子模块,用于若判断出机械臂将插头移动到预定位置,则将阻力信号作为正反馈信号;负反馈信号确定子模块,用于若判断出机械臂未将插头移动到预定位置,则将阻力信号作为负反馈信号。
进一步地,第二判断子模块包括:判断重子模块,用于判断视觉识别信号中插头的位置与充电插口之间的距离是否小于预设距离、和/或者判断阻力信号是否大于预设阻力值;确定重子模块,用于若判断出视觉识别信号中插头的位置与充电插口之间的距离小于预设距离、和/或者判断出阻力信号大于预设阻力值,则判断出机械臂将插头移动到预定位置;否则,判断出机械臂未将插头移动到预定位置。
在一种可选的实施例中,当电源管理器没有得到充电成功信号时,机械臂的阻力传感器采集的阻力信号和视觉识别信号将用于判断机械臂是否将插头移动到接近插口位置(即上述的预定位置)。以此建立奖罚机制,如若视觉识别信号中机械臂插头的位置与充电插口的位置之间的距离小于预设距离(可以预先设定),则判断出插头移动到
接近插口的位置,或者若阻力传感器采集的阻力信号大于预设阻力值,则判断出插头移动到接近插口的位置,在上述情况下,机械臂的插头到达插口位置时得到了相应的阻力信号,则将该相应的阻力信号作为基于增强学习算法(即上述的学习算法)的机械臂控制模型的正向奖励,即将该相应的阻力信号作为上述学习算法的正反馈信号;其它情况下则作为负向惩罚,即将其他情况下相应的阻力信号作为上述学习算法的负反馈信号。
进一步地,在判断出插头没有成功***充电插口的情况下,控制器接收机械臂上的阻力传感器产生的阻力信号,并将阻力信号作为上述学习算法(如Q-learning学习算法)的输入参数,控制器则基于Q-learning学习算法确定出能够使控制器控制机械臂的插头成功***充电插口的第二动作序列,机械臂则按照该控制信号执行第二动作序列中的动作,使机械臂上的插头成功***充电插口。
通过上述实施例,将机械臂上的阻力传感器采集到的阻力信号确认为正反馈信号或负反馈信号两种信号,并基于这两种信号的区别,通过Q-learning学习算法,可以确定出第二序列动作,从而可以保证插头能够更快的成功***充电插口。
在本发明的上述实施例中,第一判断子模块包括:第一信号判断子模块,用于判断机器人的电源管理器是否得到充电成功信号,其中,所述充电成功信号用于表示所述插头成功接入所述充电插口;第二信号判断子模块,用于若机器人的电源管理器没有得到充电成功信号,则判断出插头未成功接入充电插口;第三信号判断子模块,用于若机器人的电源管理器得到充电成功信号,则判断出插头成功接入充电插口。
具体地,在通过视觉识别装置识别出充电插口之后,控制器控制机器人向充电插口移动,当机器人移动至机器人的机械臂能够接触到充电插口的范围内时,控制器输出包含第一动作序列的控制信号,并控制机械臂执行第一动作序列中的动作;在机械臂执行第一动作序列中的动作之后,控制器通过判断电源管理器是否得到充电成功信号,判断机械臂的插头是否成功***充电插口。当电源管理器得到充电成功信号时,则表示机械臂的插头成功***充电插口。当电源管理器没有得到充电成功信号时,则表示机械臂的插头未成功***充电插口,此时,控制器接收机械臂上的阻力传感器产生的阻力信号,并将阻力信号作为上述学习算法(如Q-learning学习算法)的输入信号,并输出包含第二动作序列的控制信号,机械臂则按照该控制信号执行第二动作序列中的动作,使械臂上的插头成功***充电插口。
通过上述实施例,在控制机器人执行预先设置的第一动作序列中的动作之后,判断插头是否成功***充电插口,在判断出插头未成功***充电插口的情况下,对机械臂进行实时的训练,从而可以达到使插头能够以最短时间***充电插口的目的。
在上述实施例中,预先设置的第一动作序列可以通过如下步骤得到:在机械臂自行操作充电时,通过多次学习操作的方法,即机械臂进行多次试错操作的方法,以每一次机械臂的阻力反馈达到一定阈值为结束信号,记录每次机械臂动作(即上述的学习操作)的学习结果,也即记录从开始转动机械臂到结束时每一舵机的所有转角和角加速度值。使用Q-learning学习算法规划机械臂的动作序列(机械臂上所有舵机的一系列的转动),搜索能够使插头最大限度接近插口的动作序列(即上述的第一动作序列)。当增强学习模型得到第一动作序列后,将其设置在控制器中,并控制机械臂实施该第一动作序列中的动作,在插头靠近插口,但并没有成功***插口的情况下,继续采用Q-learning学习算法,通过控制器控制机械臂执行多次学习操作,在微小范围内微调移动插头,直到电源成功接入。
在上述实施例中,基于阻力传感器采集的反馈信号,通过Q-learning学习算法,可以对机械臂进行实时的闭环训练,并能够持续地利用训练好的连接电源动作在不同的空间、角度完成将机器人机械臂上的插头成功***插口这一任务。上述训练好的动作也可以作为其它动作,如抓取物体、移动物体等动作的初始训练设定,利用机器人学习的转移训练特性完成对其它动作的训练和优化。
通过上述实施例,实现了机器人与电源的有线连接,从而可以更好的保证机器人的充电效率。
在本发明的上述实施例中,如图7所示,上述控制单元43还包括:检测模块435,用于在控制机器人向充电插口移动的过程中,检测机器人与充电插口之间的第一距离;计算模块437,用于计算第一距离与机械臂的最大伸长距离的差值;第三控制模块439,用于控制机器人的移动距离大于或等于差值。
具体地,在机器人识别到充电插口和测量得到了机器人与充电插口的第一距离之后,机器人将利用自身的行走能力,计算插头能够接触到充电插口的距离,即微型机械臂的最大伸长距离。机器人在行进过程中将对自己微机械臂上的插头和识别到的充电插口进行实时的跟踪,跟踪的方法是:使用Meanshift等跟踪算法对图像中的插口的位置变化和方向变化进行实时跟踪,并配合视觉识别装置对插口和机械臂的实时识别。控制器根据上述的跟踪算法,实时得到机器人的移动距离,并控制机器人的移动距离大于或等于第一距离与机械臂的最大伸长距离的差值,也即控制机器人移动至插头能够接触到充电插口的范围内。
通过上述实施例,可以实时跟踪机器人的移动距离,并对机器人进行实时的控制,能够保证机器人更快的到达插头能够接触到插口的范围,保证机器人即时充电。
在本发明的上述实施例中,检测模块包括:检测子模块,用于使用双向视觉检测
装置检测第一距离。
进一步地,检测子模块包括:采集子模块,用于通过第一摄像头采集充电插口的第一图像,并通过第二摄像头采集充电插口的第二图像,其中,第一摄像头和第二摄像头安装在机器人上,第一摄像头和第二摄像头安装在相同的水平位置,第一摄像头和第二摄像头的镜头参数相同;计算子模块,用于利用第一图像和第二图像的图像参数,按照如下公式确定第一距离D,公式为:
其中,b表示第一摄像头的中线与第二摄像头的中线之间的距离;x1表示第一图像中的充电插口与第一图像的中心的像素差值,x2表示第二图像中的充电插口与第二图像的中心的像素差值;f表示第一摄像头和第二摄像头的像素平面到摄像头凸透镜光心的距离,其中,图像参数包括像素差值。
具体地,视觉识别装置在能够识别到插口和其在图像中的位置基础上,可以利用立体视觉检测识别到的插口到机器人本身的大致距离,该实施例中采用双向视觉检测方法检测识别到的插口到机器人本身之间的距离(即上述的第一距离)。
如图2所示,包含两个相同的摄像头(第一摄像头和第二摄像头,对应图2中的左侧摄像头和右侧摄像头)。两个摄像头具有相同的镜头长度f和相同的视角角度θ0,并摆放在相同的水平位置(包括相同高度)。
目标T(即对应识别到的插口)在左侧摄像头中的投影距离是x1,在右侧摄像头中的投影距离是x2,两个摄像头的中心距离(中心距离即为两个摄像头的镜头中线线间的距离)为b,b1和b2分别为水平方向上两个摄像头的镜头中心线到目标的距离,则利用等比对角(对左右两个镜头分别为θ1和θ2),也即三角形相似原理,可以构建等式:
D为镜头到目标的直线距离,也即机器人到充电插口的第一距离。由于b1+b2=b,即b1与b2的和值为两个镜头中线线间的距离b,则可以推倒得到:
其中,x1和x2分别为图像中的物体(即图像中的目标T)对两个镜头的图像中心的像素差值,f为摄像头的像素平面到摄像头凸透镜光心的距离。上述的像素平面为
摄像头成像的CCD传感器表面,可以使用CCD传感器的尺寸对f进行像素转化(或将像素转化到真实距离),例如CCD传感器的尺寸为8mm*6mm,相机的像素为800*600,f的距离为8mm,则转化为像素值得到f=800pixels。由此,可以得到真实的距离值。
在上述实施例中,以识别到图像中物体的中心点为基准,并可以采用取均值等矫正方法矫正中间产生的微小误差,计算识别到的物体(如识别到的插口)与机器人本身之间的距离(即上述的第一距离)。
在上述实施例中,可以通过双向视觉检测方法,实时的检测得到识别到的插口与机器人之间的第一距离,从而通过控制器对机器人的移动进行精确的控制。
在本发明的上述实施例中,如图8所示,上述第一控制模块431包括:移动路径确定子模块4311,用于基于充电插口的位置和机器人的位置确定移动路径,其中,移动路径为机器人可导到充电插口的位置的所有路径中距离最短的路径;第三控制子模块4313,用于控制机器人沿移动路径向充电插口移动。
具体地,通过视觉识别装置,得到机器人与充电插口之间的环境图像,控制器对环境图像进行解析处理,从环境图像中可以确定出机器人的多条前进路径,根据距离最短原则,从多条前进路径中选择机器人到达充电插口的位置的距离最短的移动路径,并控制机器人沿该移动路径向充电插口移动。
通过上述实施例,在确定出接近插口的最短路程的移动路径之后,控制机器人沿最短路程的移动路径向充电插口移动,并对插口进行有效追踪,能够使机器人进行有效的路径规划,因此能够帮助机器人在需要充电、寻找电源时节省更多的电力,以确保机器人能够到达充电插口所在的充电地点。
在本发明的上述实施例中,如图9所示,上述的识别单元41包括:采集模块411,用于采集机器人所处环境的环境视频,其中,环境视频中包括多帧环境图像;识别模块413,用于识别环境图像中的插口;确定模块415,用于若检测出机器人与识别出的插口之间不存在障碍物,则将识别出的插口确定为充电插口;若检测出所述机器人与识别出的插口之间存在障碍物,则继续采集所述机器人所处环境的环境视频。
进一步地,识别模块包括:滑动子模块,用于利用滑动框在环境图像中滑动;获取子模块,用于滑动框在环境图像滑动时,获取位于滑动框内的图像像素;识别子模块,用于利用预先构建的插口分类器,对图像像素进行特征识别,识别出图像像素中的插口。
进一步地,滑动子模块包括:并行滑动子模块,用于使用并行计算装置使多个滑
动框并行在同一帧环境图像中滑动。
具体地,通过机器人的两个摄像头采集机器人所处环境的多帧环境图像,利用滑动框技术对插头进行识别检测,其中,滑动框技术是使用不同尺寸的框在图像中滑动,获取框住的环境图像的图像像素,利用预先构建的插口分类器(即基于卷积神经元网络预先训练好的分类器),对图像像素进行特征识别,识别出图像像素中的插口。在识别出插口之后,需要检测机器人与识别出的插口之间是否存障碍物,如,可以激光扫描的方法,机器人利用自身安装的激光扫描装置,扫描到机器人与识别出的插口之间的物体,当扫描到的物体的尺寸在预设尺寸值的范围之内时,则认为该物体可以忽略,机器人与识别出的插口之间不存在障碍物。若检测出机器人与识别出的插口之间不存在障碍物,则将识别出的插口确定为充电插口,以进一步控制机器人靠近该充电插口,并使机器人机械臂上的插口***该充电插口,实现为机器人充电的功能。
上述的滑动框有多个尺寸(N*N正方形框),使用并行计算方法使多个滑动框并行在同一帧环境图像中滑动,当滑动框在环境图像中滑动时,每次框住的像素矩阵将缩小到特定的尺寸,并使用物体识别算法(如卷积神经元网络算法)进行识别。对于识别出的物体进行保留,在保留的物体图像上进一步进行更小尺寸的滑框识别,直到框定物体的尺寸不能缩小为止(即在更小尺寸的滑动框上无法识别到物体,或识别物体的错误率明显升高)。上述的利用滑动框技术进行物体识别的方法类似Adaboost分类算法中的Cascade滑框方法。
上述使用的物体识别算法是简易的深度学习物体识别器,即通过卷积神经元网络构建的插口分类器(即上述预先构建的插口分类器)。其中,上述使用的卷积神经元网络,用较少的卷积核和下采样层对训练图像(即上述的环境图像)中的物体(如上述的识别出的插口)进行特征提取,保留边缘、纹理、轮廓、颜色等特征信息,其中,利用简单的全连接层结构表示特征信息,并输出分类结果。
在上述实施例中,利用机器人的两个摄像头收集不同角度、不同种类、不同光照条件下的电源插口图像(即上述的多帧环境图像),在得到多帧电源插口图像之后,采用卷积神经元网络进行前向和反向的训练(Backpropagation),得到预先构建的插口分类器,该分类器的输出为二分类,即是插口(可以用高电平1表示)和非插口(可以用低电平0表示)。训练后的预先构建的插口分类器用于识别图像中物体是否为插口,即输入图像经过卷积神经元网络的前向和后向计算,可以得到分类结果。
通过上述实施例,利用并行计算方法,利用滑动框技术能够达到快速搜索视频图像中可识别到的电源插口,并依据高低等空间位置和到达难易程度的排序,能够确定出机器人的插头将要连接的充电插口,可以实现机器人的即时充电,省去了返回固定位置或房间的麻烦。
在上述实施例中,由于机器人可能从多种角度、在多种光线条件下搜索插口物体,传统的机器学习对于插口特征提取要求较大,需要人工预处理得到的特征信息较多。相对地,采用上述的使用卷积神经元网络进行深度学习的方法能够对图像中的物体特征自行提取,识别的效果也要高于传统机器学习方法,对于角度和光照条件的要求不高。
通过上述实施例,使用滑动框Slider和深度学习卷积神经元网络CNN(Convolutional Neural Networks的缩写)的方法,可以对视频中的环境图像进行抽象提取,以确定环境图像中的插口。由于滑动框Slider和深度学习卷积神经元网络CNN都属于软件实现方案,不受机器人所处外界环境的影响,因此采用上述实施例的方案能够在不同方位、不同角度和光照条件下检测到机器人所处环境中的插口。此外,使用训练好的插口分类器,直接加入到滑动框技术中,省去了训练的过程,能够极大提高对环境图像中的物体进行识别的速度。
通过上述实施例,基于视觉识别技术(如上述的视觉识别装置),可以使机器人在任意房间内搜索墙壁电源插口或是地面放置的接线插排,利用微型机械臂和增强学习技术(如上述的学习算法)可以帮助机器人将插头成功接入充电插口进行充电,从而可以控制机器人在复杂环境中也可以即时有效地充电的问题。
实施例3
图10是根据本发明实施例的一种机器人的充电***的示意图,如图10所示,该***包括:视觉识别装置1001和控制器1003。
其中,视觉识别装置1001,用于识别机器人所处环境中的充电插口。
控制器1003,与视觉识别装置连接,用于控制机器人的插头1005***充电插口1007。
采用本发明的实施例,通过设置在机器人上的视觉识别装置识别出机器人所处环境中的充电插口,并通过机器人上的控制器可以控制机器人的插头***充电插口。通过上述实施例,在机器人当前所处的环境中,通过视觉识别装置识别出充电插口,机器人无需经过大范围的移动,就能找到可以即时充电的充电插口,并在识别到充电插口之后,可以将机器人的插头与充电插口建立有线连接,也即,在机器人进行充电的过程中,不会受到机器人自身的外壳对充电效率的影响,从而可以使机器人能够实现即时充电,同时可以提高机器人的充电效率,解决了现有的采用非接触式的充电方式为机器人充电实现效率低的问题。
具体的,利用视觉识别装置中的物体识别技术协助机器人在墙面和地面搜索充电插口,在搜索到充电插口后,并确保前方没有较大障碍的情况下,进行目标跟踪,并
通过控制器控制机器人行进到微型机械臂能够接触到充电插口的大致范围。在该范围内,控制器控制机器人伸出带有充电插头的机械臂,利用增强学习技术不断试验,使用机械臂的阻力传感器产生的阻力信号作为反馈信号,进行闭环训练,使机械臂在不断试错中将插头成功***插口。
在本发明的上述实施例中,上述的控制器103具体用于,控制机器人向充电插口移动;并在控制机器人移动至目标位置的情况下,控制安装在机器人的机械臂上的插头***充电插口,其中,目标位置位于机器人的机械臂能够接触充电插口的范围内。
具体地,在通过视觉识别装置识别出充电插口之后,控制器控制机器人向充电插口移动,当机器人移动至机器人的机械臂能够接触到充电插口的范围内时,控制器接收机械臂上的阻力传感器产生的阻力信号,并基于阻力信号输出控制机械臂动作的控制信号,机械臂按照该控制信号动作,以控制机械臂上的插头***充电插口。
通过上述实施例,可以控制机器人移动至机械臂能够接触充电插口的范围内,从而可以充分保证机器人与充电插口的接触式的连接。
在本发明的上述实施例中,上述的控制器103具体用于,控制机械臂执行预先设置的第一动作序列中的动作;在机械臂执行第一动作序列中的动作后,判断插头是否成功接入充电插口;在判断出插头成功***充电插口的情况下,记录第一动作序列;在判断出插头未成功***充电插口的情况下,通过学习算法确定第二动作序列,第二动作序列用于将插头成功***充电插口;控制机械臂执行第二动作序列中的动作。
具体地,在通过视觉识别装置识别出充电插口之后,控制器控制机器人向充电插口移动,当机器人移动至机器人的机械臂能够接触到充电插口的范围内时,控制器输出包含第一动作序列的控制信号,并控制机械臂执行第一动作序列中的动作;在机械臂执行第一动作序列中的动作之后,控制器判断插头是否成功***充电插口,并在判断出插头没有成功***充电插口的情况下,控制器接收机械臂上的阻力传感器产生的阻力信号,并将阻力信号作为上述学习算法(如Q-learning学习算法)的输入信号,并输出包含第二动作序列的控制信号,机械臂则按照该控制信号执行第二动作序列中的动作,使机械臂上的插头成功***充电插口。
通过上述实施例,首先控制机器人执行预先设置的第一动作序列中的动作,并在判断出插头未成功***充电插口的情况下,对机械臂进行实时的训练,从而可以达到使插头能够以最短时间***充电插口的目的。
如图11所示,上述设备还包括:阻力传感器1009,安装在机器人的机械臂1011上,与控制器连接,用于采集阻力信号,其中,阻力信号用于表示插头接入充电插口时产生的阻力;控制器还用于,基于阻力信号确定第二动作序列。
如图11所示,上述设备还包括:电源管理器1013,用于获取充电成功信号;控制器还用于,与电源管理器连接,用于基于电源管理器是否获取到充电成功信号判断插头是否成功接入充电插口。
如图11所示,上述实施例还包括如下步骤:
步骤S11,采集包含充电插口的多帧环境图像。
步骤S12,将视觉识别装置识别出的充电插口的视频数据发送至机器人的控制器。
具体地,利用机器人的两个摄像头采集机器人所处环境的环境视频,环境视频中包括多帧环境图像,在获得多帧环境图像之后,利用滑动框Slider对环境图像进行屏幕滑动检索,并利用预先构建的插口分类器,识别出环境图像中的充电插口。
步骤S13,控制器输出控制机械臂动作的控制信号。
其中,在机器人移动至能够接触到充电插口的范围内的情况下,控制器输出的控制机械臂动作的控制信号为包含预先设置的第一动作序列的控制信号;在控制机械臂执行预先设置的第一动作序列中的动作之后,且在判断出插头没有成功***充电插口的情况下,控制器通过学习算法,输出包含第二动作序列的控制信号,控制机械臂执行第二动作序列中的动作,使插头成功***充电插口。
步骤S14,将阻力传感器产生的阻力信号作为反馈信号,反馈至控制器。
具体地,当电源管理器没有得到充电成功信号时,机械臂的阻力传感器采集的阻力信号和视觉识别信号将用于判断机械臂是否将插头移动到接近插口位置(即上述的预定位置)。以此建立奖罚机制,如若视觉识别信号中机械臂插头的位置与充电插口的位置之间的距离小于预设距离(可以预先设定),则判断出插头移动到接近插口的位置,或者若阻力传感器采集的阻力信号大于预设阻力值,则判断出插头移动到接近插口的位置,在上述情况下,机械臂的插头到达插口位置时得到了相应的阻力信号,则将该相应的阻力信号作为基于增强学习算法(即上述的学习算法)的机械臂控制模型的正向奖励,即将该相应的阻力信号作为上述学习算法的正反馈信号;其它情况下则作为负向惩罚,即将其他情况下相应的阻力信号作为上述学习算法的负反馈信号。
具体地,首先,利用机器人的两个摄像头采集包含充电插口的多帧环境图像,在获得多帧环境图像之后,利用滑动框Slider对环境图像进行屏幕滑动检索,并利用预先构建的插口分类器,识别出环境图像中的充电插口。其次,在识别充电插口之后,控制器控制机器人向充电插口移动,当机器人移动至机器人的机械臂能够接触到充电插口的范围内时,控制器输出包含第一动作序列的控制信号,并控制机械臂执行第一动作序列中的动作;在机械臂执行第一动作序列中的动作之后,判断电源管理器是否
获取到充电成功信号,该充电成功信号用于表示插头成功***充电插口,当电源管理器得到充电成功信号时,则表示机械臂的插头成功***充电插口。当电源管理器没有得到充电成功信号时,则表示机械臂的插头未成功***充电插口,此时,控制器接收机械臂上的阻力传感器产生的阻力信号,并将阻力信号作为学习算法(如Q-learning学习算法)的输入信号,并输出包含第二动作序列的控制信号,机械臂则按照该控制信号执行第二动作序列中的动作,使械臂上的插头成功***充电插口。
通过上述实施例,实现了机器人与电源的有线连接,从而可以更好的保证机器人的充电效率。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (25)
- 一种机器人的充电方法,其特征在于,包括:通过视觉识别装置识别机器人所处环境中的充电插口,其中,所述视觉识别装置设置在所述机器人上;控制所述机器人的插头***所述充电插口。
- 根据权利要求1所述的方法,其特征在于,控制所述机器人的插头***所述充电插口包括:控制所述机器人向所述充电插口移动;在控制所述机器人移动至目标位置的情况下,控制安装在所述机器人的机械臂上的所述插头***所述充电插口,其中,所述目标位置位于所述机器人的机械臂能够接触所述充电插口的范围内。
- 根据权利要求2所述的方法,其特征在于,控制安装在所述机器人的机械臂上的所述插头***所述充电插口包括:控制所述机械臂执行预先设置的第一动作序列中的动作;在所述机械臂执行所述第一动作序列中的动作后,判断所述插头是否成功接入所述充电插口;在判断出所述插头成功***所述充电插口的情况下,记录所述第一动作序列;在判断出所述插头未成功***所述充电插口的情况下,通过学习算法确定第二动作序列,所述第二动作序列用于将所述插头成功***所述充电插口;控制所述机械臂执行所述第二动作序列中的动作,以将所述插头***所述充电插口。
- 根据权利要求3所述的方法,其特征在于,通过学习算法确定第二动作序列包括:将阻力信号作为反馈信号,命令所述机械臂自行执行预设次数的学习操作,直至所述反馈信号达到预设阈值,其中,所述阻力信号用于表示所述插头接入所述充电插口时产生的阻力;记录每次执行所述学习操作的学习结果,其中,所述学习结果包括从所述机械臂开始转动到结束转动的过程中,每一舵机的所有转角和角加速度值;基于所述学习结果确定所述第二动作序列,其中,所述第二动作序列中的每个动作的信息中包括对应动作的每个舵机的转角和角加速度值。
- 根据权利要求4所述的方法,其特征在于,将阻力信号作为反馈信号包括:利用所述阻力信号和/或视觉识别信号,判断所述机械臂是否将所述插头移动到预定位置,其中,所述预定位置与所述充电插口的位置之间的距离小于预设距离;若判断出所述机械臂将所述插头移动到所述预定位置,则将所述阻力信号作为正反馈信号;若判断出所述机械臂未将所述插头移动到所述预定位置,则将所述阻力信号作为负反馈信号。
- 根据权利要求5所述的方法,其特征在于,利用所述阻力信号和/或视觉识别信号,判断所述机械臂是否将所述插头移动到预定位置包括:判断所述视觉识别信号中所述插头的位置与所述充电插口之间的距离是否小于所述预设距离、和/或者判断所述阻力信号是否大于预设阻力值;若判断出所述视觉识别信号中所述插头的位置与所述充电插口之间的距离小于所述预设距离、和/或者判断出所述阻力信号大于所述预设阻力值,则判断出所述机械臂将所述插头移动到所述预定位置;否则,判断出所述机械臂未将所述插头移动到所述预定位置。
- 根据权利要求3所述的方法,其特征在于,判断所述插头是否成功接入所述充电插口包括:判断所述机器人的电源管理器是否得到充电成功信号,其中,所述充电成功信号用于表示所述插头成功接入所述充电插口;若所述机器人的电源管理器没有得到所述充电成功信号,则判断出所述插头未成功接入所述充电插口;若所述机器人的电源管理器得到所述充电成功信号,则判断出所述插头成功接入所述充电插口。
- 根据权利要求2所述的方法,其特征在于,在控制所述机器人向所述充电插口移动的过程中,检测所述机器人与所述充电插口之间的第一距离;计算所述第一距离与所述机械臂的最大伸长距离的差值;控制所述机器人的移动距离大于或等于所述差值。
- 根据权利要求8所述的方法,其特征在于,检测所述机器人与所述充电插口之间的第一距离包括:使用双向视觉检测方法检测所述第一距离。
- 根据权利要求9所述的方法,其特征在于,使用双向视觉检测方法检测所述第一距离包括:通过第一摄像头采集所述充电插口的第一图像,并通过第二摄像头采集所述充电插口的第二图像,其中,所述第一摄像头和所述第二摄像头安装在所述机器人上,所述第一摄像头和所述第二摄像头安装在相同的水平位置,所述第一摄像头和所述第二摄像头的镜头参数相同;利用所述第一图像和所述第二图像的图像参数,按照如下公式确定所述第一距离D,所述公式为:
- 根据权利要求2所述的方法,其特征在于,控制所述机器人向所述充电插口移动包括:基于所述充电插口的位置和所述机器人的位置确定移动路径,其中,所述移动路径为所述机器人到达所述充电插口的位置的所有路径中距离最短的路径;控制所述机器人沿所述移动路径向所述充电插口移动。
- 根据权利要求1所述的方法,其特征在于,通过视觉识别装置识别机器人所处环境中的充电插口包括:采集所述机器人所处环境的环境视频,其中,所述环境视频中包括多帧环境图像;识别所述环境图像中的插口;若检测出所述机器人与识别出的插口之间不存在障碍物,则将所述识别出的插口确定为所述充电插口;若检测出所述机器人与识别出的插口之间存在障碍物,则继续采集所述机器人所处环境的环境视频。
- 根据权利要求12所述的方法,其特征在于,识别所述环境图像中的插口包括:利用滑动框在所述环境图像中滑动;滑动框在所述环境图像滑动时,获取位于所述滑动框内的图像像素;利用预先构建的插口分类器,对所述图像像素进行特征识别,识别出所述图像像素中的插口。
- 根据权利要求13所述的方法,其特征在于,利用滑动框在所述环境图像中滑动包括:使用并行计算方法使多个滑动框并行在同一帧环境图像中滑动。
- 一种机器人的充电装置,其特征在于,包括:识别单元,用于通过视觉识别装置识别机器人所处环境中的充电插口,其中,所述视觉识别装置设置在所述机器人上;控制单元,与所述识别单元通信连接,用于控制所述机器人的插头***所述充电插口。
- 根据权利要求15所述的装置,其特征在于,所述控制单元包括:第一控制模块,用于控制所述机器人向所述充电插口移动;第二控制模块,用于在控制所述机器人移动至目标位置的情况下,控制安装在所述机器人的机械臂上的所述插头***所述充电插口,其中,所述目标位置位于所述机器人的机械臂能够接触所述充电插口的范围内。
- 根据权利要求16所述的装置,其特征在于,所述第二控制模块包括:第一控制子模块,用于控制所述机械臂执行预先设置的第一动作序列中的动作;第一判断子模块,用于在所述机械臂执行所述第一动作序列中的动作后,判断所述插头是否成功接入所述充电插口;记录子模块,用于在判断出所述插头成功***所述充电插口的情况下,记录所述第一动作序列;第二动作序列确定子模块,用于在判断出所述插头未成功***所述充电插口 的情况下,通过学习算法确定第二动作序列,所述第二动作序列用于将所述插头成功***所述充电插口;第二控制子模块,用于控制所述机械臂执行所述第二动作序列中的动作,以将所述插头***所述充电插口。
- 根据权利要求16所述的装置,其特征在于,所述控制单元还包括:检测模块,用于在控制所述机器人向所述充电插口移动的过程中,检测所述机器人与所述充电插口之间的第一距离;计算模块,用于计算所述第一距离与所述机械臂的最大伸长距离的差值;第三控制模块,用于控制所述机器人的移动距离大于或等于所述差值。
- 根据权利要求16所述的装置,其特征在于,所述第一控制模块包括:移动路径确定子模块,用于基于所述充电插口的位置和所述机器人的位置确定移动路径,其中,所述移动路径为所述机器人可导到所述充电插口的位置的所有路径中距离最短的路径;第三控制子模块,用于控制所述机器人沿所述移动路径向所述充电插口移动。
- 根据权利要求15所述的装置,其特征在于,所述识别单元包括:采集模块,用于采集所述机器人所处环境的环境视频,其中,所述环境视频中包括多帧环境图像;识别模块,用于识别所述环境图像中的插口;确定模块,用于若检测出所述机器人与识别出的插口之间不存在障碍物,则将所述识别出的插口确定为所述充电插口。
- 一种机器人的充电设备,其特征在于,设置在机器人上,包括:视觉识别装置,用于识别所述机器人所处环境中的充电插口;控制器,与所述视觉识别装置连接,用于控制所述机器人的插头***所述充电插口。
- 根据权利要求21所述的设备,其特征在于,所述控制器具体用于,控制所述机器人向所述充电插口移动;并在控制所述机器人移动至目标位置的情况下,控制安装在所述机器人的机械臂上的所述插头***所述充电插口,其中,所述目标位置位于所述机器人的机械臂能够接触所述充电插口的范围内。
- 根据权利要求22所述的设备,其特征在于,所述控制器具体用于,控制所述机械臂执行预先设置的第一动作序列中的动作;在所述机械臂执行所述第一动作序列中的动作后,判断所述插头是否成功接入所述充电插口;在判断出所述插头成功***所述充电插口的情况下,记录所述第一动作序列;在判断出所述插头未成功***所述充电插口的情况下,通过学习算法确定第二动作序列,所述第二动作序列用于将所述插头成功***所述充电插口;控制所述机械臂执行所述第二动作序列中的动作。
- 根据权利要求23所述的设备,其特征在于,所述设备还包括:阻力传感器,安装在所述机器人的机械臂上,与所述控制器连接,用于采集阻力信号,其中,所述阻力信号用于表示所述插头接入所述充电插口时产生的阻力;所述控制器还用于,基于所述阻力信号确定所述第二动作序列。
- 根据权利要求23所述的设备,其特征在于,所述设备还包括:电源管理器,用于获取充电成功信号,其中,所述充电成功信号用于表示所述插头成功接入所述充电插口;所述控制器还用于,与所述电源管理器连接,用于基于所述电源管理器是否获取到所述充电成功信号判断所述插头是否成功接入所述充电插口。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610653899.6A CN107703933B (zh) | 2016-08-09 | 2016-08-09 | 机器人的充电方法、装置和设备 |
CN201610653899.6 | 2016-08-09 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018028361A1 true WO2018028361A1 (zh) | 2018-02-15 |
Family
ID=61162674
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2017/091976 WO2018028361A1 (zh) | 2016-08-09 | 2017-07-06 | 机器人的充电方法、装置和设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107703933B (zh) |
WO (1) | WO2018028361A1 (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109917665A (zh) * | 2019-03-28 | 2019-06-21 | 深圳慧安康科技有限公司 | 智慧家庭机器人 |
CN111290384A (zh) * | 2020-02-14 | 2020-06-16 | 弗徕威智能机器人科技(上海)有限公司 | 一种多传感器融合的充电座检测方法 |
CN112147994A (zh) * | 2019-06-28 | 2020-12-29 | 深圳市优必选科技股份有限公司 | 一种机器人及其回充控制方法和装置 |
CN112381048A (zh) * | 2020-11-30 | 2021-02-19 | 重庆优乃特医疗器械有限责任公司 | 基于多用户同步检测的3d体态检测分析***及方法 |
CN113110411A (zh) * | 2021-03-08 | 2021-07-13 | 深圳拓邦股份有限公司 | 视觉机器人回基站控制方法、装置及割草机器人 |
CN113358026A (zh) * | 2021-06-04 | 2021-09-07 | 南京视道信息技术有限公司 | 一种基于双线阵ccd相机的物***置和轮廓信息的检测方法 |
CN113413214A (zh) * | 2021-05-24 | 2021-09-21 | 上海交通大学 | 一种基于混合现实的引导的手术机器人力反馈方法和装置 |
CN113673276A (zh) * | 2020-05-13 | 2021-11-19 | 广东博智林机器人有限公司 | 目标物体识别对接方法、装置、电子设备及存储介质 |
EP4184278A4 (en) * | 2020-07-21 | 2023-11-29 | Dreame Innovation Technology (Suzhou) Co., Ltd. | AUTOMATIC RECHARGING METHOD AND APPARATUS, STORAGE MEDIUM, CHARGING BASE AND SYSTEM |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108508890A (zh) * | 2018-03-14 | 2018-09-07 | 湖南超能机器人技术有限公司 | 基于红外信号的机器人充电对准技术的信号处理方法 |
CN108646727A (zh) * | 2018-05-14 | 2018-10-12 | 珠海市微半导体有限公司 | 一种视觉充电座及其定位方法和回充方法 |
CN109612469B (zh) * | 2019-01-14 | 2020-05-22 | 深圳乐动机器人有限公司 | 一种机器人搜索充电基座位置的方法及机器人 |
CN110334648B (zh) * | 2019-07-02 | 2022-01-11 | 北京云迹科技有限公司 | 适用于机器人的充电桩识别***和方法 |
CN111211813A (zh) * | 2019-12-23 | 2020-05-29 | 塔普翊海(上海)智能科技有限公司 | 一种移动机器人、移动机器人的通信***及通信方法 |
CN111622167A (zh) * | 2020-07-09 | 2020-09-04 | 福建龙马环卫装备股份有限公司 | 无人驾驶环卫车自动加水***及加水方法 |
CN112306890B (zh) * | 2020-11-23 | 2024-01-23 | 国网北京市电力公司 | 人机交互测试***、控制方法、控制装置和处理器 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07325620A (ja) * | 1994-06-02 | 1995-12-12 | Hitachi Ltd | 知能ロボット装置及び知能ロボットシステム |
CN102545275A (zh) * | 2010-12-07 | 2012-07-04 | 上海新世纪机器人有限公司 | 机器人自动充电装置及其自动充电方法 |
JP2014206895A (ja) * | 2013-04-15 | 2014-10-30 | シャープ株式会社 | 自走式電子機器 |
CN104635728A (zh) * | 2013-11-14 | 2015-05-20 | 沈阳新松机器人自动化股份有限公司 | 机器人自主充电***和方法 |
CN105700522A (zh) * | 2014-11-11 | 2016-06-22 | 沈阳新松机器人自动化股份有限公司 | 一种机器人充电方法及其充电*** |
CN105751912A (zh) * | 2016-03-06 | 2016-07-13 | 张敏 | 自动充电式无人驾驶电动汽车 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07336600A (ja) * | 1994-06-10 | 1995-12-22 | Fujitsu Ltd | 固体撮像素子 |
KR20060110483A (ko) * | 2005-04-20 | 2006-10-25 | 엘지전자 주식회사 | 충전대 자동 복귀 기능을 가진 청소로봇 및 그 방법 |
EP2092378A2 (en) * | 2006-12-15 | 2009-08-26 | Hand Held Products, Inc. | Apparatus and method comprising deformable lens element |
CN102800941B (zh) * | 2011-05-31 | 2015-05-27 | 深圳光启合众科技有限公司 | 一种天线及具有该天线的mimo天线 |
CN102983454B (zh) * | 2012-09-29 | 2015-01-07 | 杭州扬果科技有限公司 | 人工智能充电*** |
CN103094813B (zh) * | 2013-01-29 | 2015-05-06 | 蒋健棠 | 一种通过机械臂实现电极全自动对接的***及方法 |
CN104180183B (zh) * | 2014-09-01 | 2022-10-11 | 武汉市金运科技开发有限公司 | 一种多功能led防爆工矿灯及其装配工艺 |
CN204650272U (zh) * | 2015-04-02 | 2015-09-16 | 杭州宾美科技有限公司 | 一种基于视觉引导的巡视监控机器人 |
CN105242670B (zh) * | 2015-10-26 | 2019-01-22 | 深圳拓邦股份有限公司 | 具有自动返回充电功能的机器人、***及对应方法 |
CN105538345B (zh) * | 2016-01-27 | 2017-09-26 | 华南理工大学 | 一种基于多镜头的智能机械手及定位装配方法 |
-
2016
- 2016-08-09 CN CN201610653899.6A patent/CN107703933B/zh active Active
-
2017
- 2017-07-06 WO PCT/CN2017/091976 patent/WO2018028361A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07325620A (ja) * | 1994-06-02 | 1995-12-12 | Hitachi Ltd | 知能ロボット装置及び知能ロボットシステム |
CN102545275A (zh) * | 2010-12-07 | 2012-07-04 | 上海新世纪机器人有限公司 | 机器人自动充电装置及其自动充电方法 |
JP2014206895A (ja) * | 2013-04-15 | 2014-10-30 | シャープ株式会社 | 自走式電子機器 |
CN104635728A (zh) * | 2013-11-14 | 2015-05-20 | 沈阳新松机器人自动化股份有限公司 | 机器人自主充电***和方法 |
CN105700522A (zh) * | 2014-11-11 | 2016-06-22 | 沈阳新松机器人自动化股份有限公司 | 一种机器人充电方法及其充电*** |
CN105751912A (zh) * | 2016-03-06 | 2016-07-13 | 张敏 | 自动充电式无人驾驶电动汽车 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109917665A (zh) * | 2019-03-28 | 2019-06-21 | 深圳慧安康科技有限公司 | 智慧家庭机器人 |
CN112147994A (zh) * | 2019-06-28 | 2020-12-29 | 深圳市优必选科技股份有限公司 | 一种机器人及其回充控制方法和装置 |
CN111290384A (zh) * | 2020-02-14 | 2020-06-16 | 弗徕威智能机器人科技(上海)有限公司 | 一种多传感器融合的充电座检测方法 |
CN111290384B (zh) * | 2020-02-14 | 2023-03-21 | 弗徕威智能机器人科技(上海)有限公司 | 一种多传感器融合的充电座检测方法 |
CN113673276A (zh) * | 2020-05-13 | 2021-11-19 | 广东博智林机器人有限公司 | 目标物体识别对接方法、装置、电子设备及存储介质 |
EP4184278A4 (en) * | 2020-07-21 | 2023-11-29 | Dreame Innovation Technology (Suzhou) Co., Ltd. | AUTOMATIC RECHARGING METHOD AND APPARATUS, STORAGE MEDIUM, CHARGING BASE AND SYSTEM |
CN112381048A (zh) * | 2020-11-30 | 2021-02-19 | 重庆优乃特医疗器械有限责任公司 | 基于多用户同步检测的3d体态检测分析***及方法 |
CN112381048B (zh) * | 2020-11-30 | 2024-05-10 | 重庆优乃特医疗器械有限责任公司 | 基于多用户同步检测的3d体态检测分析***及方法 |
CN113110411A (zh) * | 2021-03-08 | 2021-07-13 | 深圳拓邦股份有限公司 | 视觉机器人回基站控制方法、装置及割草机器人 |
CN113413214A (zh) * | 2021-05-24 | 2021-09-21 | 上海交通大学 | 一种基于混合现实的引导的手术机器人力反馈方法和装置 |
CN113358026A (zh) * | 2021-06-04 | 2021-09-07 | 南京视道信息技术有限公司 | 一种基于双线阵ccd相机的物***置和轮廓信息的检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107703933B (zh) | 2021-07-06 |
CN107703933A (zh) | 2018-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018028361A1 (zh) | 机器人的充电方法、装置和设备 | |
KR101645722B1 (ko) | 자동추적 기능을 갖는 무인항공기 및 그 제어방법 | |
CN109710071B (zh) | 一种屏幕控制方法和装置 | |
US11580724B2 (en) | Virtual teach and repeat mobile manipulation system | |
US7532743B2 (en) | Object detector, object detecting method and robot | |
US8578299B2 (en) | Method and computing device in a system for motion detection | |
JP5070213B2 (ja) | ネットワーク基盤知能型サービスロボットのビジョン処理装置及びその処理方法並びにこれを用いたシステム | |
WO2019179441A1 (zh) | 智能设备的焦点跟随方法、装置、智能设备及存储介质 | |
CN111566612A (zh) | 基于姿势和视线的视觉数据采集*** | |
KR101769601B1 (ko) | 자동추적 기능을 갖는 무인항공기 | |
US20180203448A1 (en) | Moving robot | |
JP5001930B2 (ja) | 動作認識装置及び方法 | |
CN106934402A (zh) | 室内移动视频跟踪定位辅助拍摄方法和装置 | |
US9036920B2 (en) | Method of detecting feature points of an object in a system for motion detection | |
WO2010042068A1 (en) | Method and system for object detection and tracking | |
CN113111715B (zh) | 一种无人机目标跟踪与信息采集***及方法 | |
CN206726243U (zh) | 室内移动视频跟踪定位辅助拍摄装置 | |
CN116363693A (zh) | 一种基于深度相机和视觉算法的自动跟随方法及装置 | |
Hu et al. | Posture recognition with a top-view camera | |
Liu et al. | A person-following method based on monocular camera for quadruped robots | |
CN112655021A (zh) | 图像处理方法、装置、电子设备和存储介质 | |
Perera et al. | Human motion analysis from UAV video | |
KR101656519B1 (ko) | 확장칼만필터를 이용하여 추적성능을 높인 자동추적 기능을 갖는 무인항공기 | |
CN113994382A (zh) | 深度图生成方法、电子设备、计算处理设备及存储介质 | |
JP4185433B2 (ja) | リアルタイムの物体検出及び認識システム並びにコンピュータで実行可能なプログラム |
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: 17838491 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 17838491 Country of ref document: EP Kind code of ref document: A1 |