Background
When humans are not suitable for the robot site, it is necessary to manipulate a remote robot with an operator in an unstructured dynamic environment.
Mechanical and other contact interfaces used for teleoperation require unnatural human motion to achieve the target operational task, which often interferes with human body motion.
The existing vision-based man-machine exchange mode only uses a few degrees of freedom of hands, or needs an operator to do large-scale movement, and the operation is very laborious.
Commonly used teleoperational mechanical human-machine interfaces include a variety of operator worn devices such as skeletal mechanical devices, tool gloves, electromagnetic or inertial motion tracking sensors, or myoelectric sensitivity sensors. However, these worn devices, sensors and also their wiring may hinder flexible operator action. Other contact interfaces such as robotic manipulators, dials, joysticks, computer mice and computer graphics interfaces require unnatural actions by the operator or require the operator to learn how to operate. The vision-based interaction technique uses a control mode combining gesture recognition and voice recognition, which allows an operator to give commands more naturally and intuitively without physical limitations. However, under such control, the movements of the robot being controlled are all composed of simple commands, such as determining the position and orientation of the end effector, grasping and also a series of smaller tasks such as moving up and down, rotating, pausing, and continuing and also changing the mode of operation. This technique can be difficult to operate when the complexity of the required robotic manipulator action is high. Single-camera hand motion tracking has been applied to robotic teleoperation and simulation of teleoperation. However, motion commands are limited to only a subset of the true end effector degrees of freedom. Furthermore, gestures that are not related to a specific operation task are used to change the operation mode of the robot, so these all cause an unnatural communication of operation tasks. Ideally, a natural approach is needed that does not break down complex tasks into limited instructions and no limitations of the contact physical device.
Disclosure of Invention
The invention aims to provide a Kinect-based man-machine interaction method for a double-arm robot, aiming at the technical defects of the existing man-machine interaction method.
In order to achieve the purpose, the invention adopts the technical scheme that:
the man-machine interaction method of the double-arm robot based on the Kinect is provided, wherein the Kinect is a 3D somatosensory camera; the method comprises the following steps:
s1, establishing a coordinate system for the arm of the operator through the 3D motion sensing camera;
s2, extracting the skeleton of the arm image of the operator through a computer;
s3, determining the positions of the index finger and the thumb through image analysis including the arm;
s4, solving the mutation problem by using a critical damping vibration model;
and S5, performing shaking processing by using the over-damped vibration model.
Preferably, the step S1 includes:
s11, firstly establishing a basic coordinate system, and calibrating index finger tip, thumb tip, and the position between index finger tip and thumb tip is the upper arm.
Preferably, the step S2 includes the steps of:
and S21, acquiring the depth image by using the Kinect, and performing skeleton extraction on the depth image.
Preferably, the step S3 includes the steps of:
s31, setting the arm mapping point of an operator as P, wherein different parts are marked as P1-PN; firstly, establishing a palm bounding box: firstly connecting P4 with P5 to obtain a connecting line P45; then taking P5 as the center point of the bottom surface and the connecting line P45 as the central axis; establishing a palm bounding box B with the length L, the width W and the height H; statistically finding that the palm surrounding box B is to surround the palm; l, W and H only take the following values:
(1) (ii) a Wherein,
is the length of segment P45;
s32, calculating the distance between the palm bounding box B and P5 for all points B' in the bounding box B, the point B2 is the farthest point from P5 in the bounding box B:
s33, connecting P5 and B2 to obtain a connecting line PB, and calculating the distance from all points B' in the bounding box B to the connecting line PB, so that the point B1 is the farthest point from the connecting line PB in the bounding box B:
s34, selecting arm human arm joint points as reference points, and establishing a left reference system on the left arm points
,
,
Establishing a right reference frame at the right arm point
,
,
;
Then P8 is relative to the left reference frame
,
,
The coordinates of (a) are:
(4);
p5 relative to the right frame of reference
,
,
The coordinates of (a) are:
(5);
s35, calculating mapping points of the left-hand-left robot motion space; calculating mapping points from the right hand to the motion space of the right robot;
wherein, the motion space of the left hand relative to the left shoulder is:
,
,
(ii) a The motion space of the left robot is:
,
,
(ii) a The mapping point from the left hand to the left robot motion space is:
wherein, the motion space of the right hand relative to the right shoulder is:
,
,
and the motion space of the right robot is as follows:
,
,
(ii) a Then the mapping points of the right hand to the right robot motion space are:
preferably, the step S4 includes the steps of:
s41, simulating an elastic force F between the arm mapping point P and the tail end E of the robot, and simulating the tail end mass of the manipulator to be M; the position of the arm mapping point P is not directly equal to the tail end E of the manipulator, but is drawn up by an elastic force F; wherein, the arm mapping point P is used as a driving source, the tail end E of the mechanical hand is used as a driven object, and the elastic force F acts on the tail end E of the mechanical hand to enable the tail end E of the mechanical hand to approach the arm mapping point P; the elastic force F satisfies the following relationship:
wherein K is the hooke coefficient,
the radius of the action range of the elastic force F is shown, and D is the distance between the arm mapping point and the tail end E of the robot; when the distance between the arm mapping point and the tail end of the robot exceeds
When the robot is in use, the tail end of the manipulator is not pulled by the elastic force F any more; therefore, when the extraction of the human arm joint points fails or is wrong, the front and back positions of the human arm joint points are mutated, so that the arm mapping point P is also mutated; at this time, the distance between the arm mapping point P and the end E of the manipulator must be larger than
If the elastic force F is 0, the tail end E of the manipulator is not pulled by the arm mapping point P any more, so that the sudden change influence caused by the extraction failure or error of the human arm joint point is filtered;
s42, if the elastic force F is 0, the tail end E of the manipulator continues to move, and the system is uncontrollable; to prevent this, the resistance μ is assumed to satisfy the following relationship at the manipulator end E:
(9) (ii) a Wherein,
in order to be a damping coefficient of the damping,
;
when the distance between the tail end E of the manipulator and the arm mapping point PIs less than
The resistance μ is proportional to the relative velocity v of the two points; when v is 0, the tail end E of the manipulator stops approaching the arm mapping point P; when the distance between the tail end E of the manipulator and the arm mapping point P is larger than
When the resistance is infinite, the tail end of the manipulator stops moving immediately; the kinetic equation at this time is:
s43, setting
At a sampling time of
(ii) a In order to make the end E of the manipulator reach the arm mapping point P in each sampling time, let
The distance function is then:
wherein,
,
the integration constant is the time when the end E of the robot does not move periodically and returns to the equilibrium position, i.e. the arm mapping point, within a sampling time.
Preferably, in the step S4, when
When the extraction of the human arm joint points fails, the positions of the human arm joint points are subjected to mutation, the traction force borne by the tail end E of the manipulator is 0, and the tail end E of the manipulator stops moving immediately due to infinite resistance; when in use
At this time, the robot control system is a critical damping vibration.
Preferably, the step S5 uses an over-damped vibration model; the over-damped vibration model is as follows: when the arm mapping point P vibrates at the tail end E of the manipulator, the attraction force generated by the arm mapping point P to the tail end E of the manipulator is not enough to counteract the resistance force applied to the tail end E of the manipulator, so that the tail end E of the manipulator cannot be driven to move,
is provided withAt this time, the distance function is:
wherein,
,
is an integration constant, determined by initial conditions; this condition is over-damped vibration, no vibration occurs; thereby eliminating the jitter phenomenon.
Compared with the prior art, the invention has the following beneficial effects: the Kinect is a 3D motion-sensing camera (development code "Project natural"), and introduces functions such as real-time motion capture, image recognition, microphone input, voice recognition, community interaction, and the like. The invention provides a Kinect-based man-machine interaction method for a non-contact double-arm robot, which allows an operator to control a six-degree-of-freedom virtual robot to complete an operation task through natural three-dimensional actions of hands; the paradigm is based on visual human-computer interaction to help the operator control the robot, understand the robot actions and the surrounding environment. The invention realizes semi-autonomous sharing control based on visual guidance, and the semi-autonomous sharing control based on visual guidance enables the end effector with the target grabbing task to obtain more accurate position and range, so that grabbing is more accurate.
Detailed Description
The following describes the object of the present invention in further detail with reference to the drawings and specific examples, which are not repeated herein, but the embodiments of the present invention are not limited to the following examples. The materials and processing methods employed in the present invention are those conventional in the art, unless otherwise specified.
The invention provides a man-machine interaction method of a double-arm robot based on Kinect, wherein the Kinect is a 3D motion sensing camera; the method comprises the following steps:
s1, establishing a coordinate system for the arm of the operator through the 3D motion sensing camera;
s2, extracting the skeleton of the arm image of the operator through a computer;
s3, determining the positions of the index finger and the thumb through image analysis including the arm;
s4, solving the mutation problem by using a critical damping vibration model;
and S5, performing shaking processing by using the over-damped vibration model.
In step S1, a basic Kinect coordinate system is first established, and the goal is to calibrate the index fingertip (S) ((S))I) Tip of thumb: (T) The part between the index finger tip and the thumb tip: (B) Also the upper arm (U) The position of (a).
Step S2 performs skeleton extraction using the depth image acquired by the Kinect, as in fig. 1.
The step S3 includes the steps of:
s31, it is the palm bounding box that needs to be established first: connecting P4 with P5 to obtain a connecting line P45, and establishing a palm bounding box B with the length L, the width W and the height H by taking P5 as a bottom center point and the connecting line P45 as a central axis; as shown in fig. 2 and 3; this palm bounding box B can enclose the palm wherein, finds through statistics, L, W and H only need take the following value just can make the palm bounding box enclose the palm:
(1) (ii) a Wherein,
is the length of the line segment P45.
S32, calculating the distance from all points B' in the bounding box B to P5, the point B2 is the farthest point from P5 in the bounding box B:
s33, connecting P5 and B2 to obtain a connecting line PB, and calculating the distance from all points B' in the bounding box B to the connecting line PB, so that the point B1 is the farthest point from the connecting line PB in the bounding box B:
s34, selecting arm human arm joint points as reference points, and establishing a left reference system on the left arm points
,
,
Establishing a right reference frame at the right arm point
,
,
,。
Then P8 is relative to the left reference frame
,
,
The coordinates of (a) are:
(4);
then P5 is relative to the right frame of reference
,
,
The coordinates of (a) are:
(5)。
s35, setting the motion space of the left hand relative to the left shoulder as follows:
,
,
(ii) a The motion space of the right hand relative to the right shoulder is:
,
,
the motion space of the left robot is as follows:
,
,
the motion space of the right robot is as follows:
,
,
;
the mapping point from the left hand to the left robot motion space is:
then the mapping points of the right hand to the right robot motion space are:
the step S4 includes the steps of:
s41, simulating an elastic force F between the arm mapping point P and the tail end E of the robot, and simulating that the tail end mass of the manipulator is M, wherein the position of the hand mapping point P is not directly equal to that of the tail end E of the manipulator but is drawn up by the elastic force F; the hand projection point P is used as a driving source, the hand end E is used as a driven object, and the elastic force F acts on the hand end E to make the hand end E approach the hand projection point P. The elastic force F satisfies the following relationship:
(8);
wherein K is the hooke coefficient,
the radius of the acting force range is D, the distance between the mapping point of the human hand and the tail end of the robot is D, and when the distance between the mapping point of the human hand and the tail end of the robot exceeds
When the mechanical arm is in use, the tail end of the mechanical arm is not pulled by the elastic force any more, and the mechanical arm is disconnected like a spring with the stretching length exceeding the limit. Therefore, when the extraction of the arm joint point of the human body fails or is wrong, the front and back positions of the arm joint point of the human body are mutated, so that the arm mapping point P is also mutated, and the distance between the arm mapping point P and the tail end E of the manipulator is certainly larger than that between the arm mapping point P and the tail end E of the manipulator
And if the elastic force is 0, the tail end of the manipulator is not pulled by the arm mapping point any more, so that the sudden change influence caused by the extraction failure or error of the human arm joint point is filtered.
S42, when the tail end E of the mechanical hand is very close to the arm mapping point or the distance between the tail end of the mechanical hand and the arm mapping point is larger thanWhen the elastic force is basically 0, the tail end of the manipulator has a certain speed, and if the tail end of the manipulator is not influenced by other forces, the tail end of the manipulator can continuously move towards a certain direction, so that the system is uncontrollable.
To solve this problem, a virtual resistance μ is applied to the manipulator tip while moving, which satisfies the following condition:
(9) (ii) a Wherein
In order to be a damping coefficient of the damping,
. When the mechanical armThe distance between the tail end E and the arm mapping point P is less than
When the resistance is in direct proportion to the relative speed v of the two points, the tail end E of the manipulator stops approaching after approaching the arm mapping point to a certain degree; when the distance between the tail end E of the manipulator and the arm mapping point P is larger than
When the resistance is infinite, the tail end of the manipulator stops moving immediately; the kinetic equation at this time is:
(10) (ii) a Wherein,
。
s43, order
In order to make the end E of the manipulator reach the arm mapping point P within each sampling time, let
The distance function is then:
(10)
wherein
,
The integration constant is the time when the end of the robot does not move periodically and returns to the equilibrium position (arm mapping point) within a sampling time.
S44, assuming that the sampling time of the algorithm is
When the distance between the end E of the manipulator and the arm mapping point P is D, the distance between the end E of the manipulator and the arm mapping point P is D
When the extraction of the human arm joint point fails, the position of the human arm joint point is subjected to mutation, the traction force applied to the tail end E of the manipulator is 0, and the tail end E of the manipulator stops moving immediately due to infinite resistance. When in use
At this time, the system is critically damped to vibrate.
The step S5 uses an over-damped vibration model. When the arm mapping point P vibrates in a small range of the robot end E, the attraction force generated by the arm mapping point P on the robot end E is not enough to counteract the resistance force applied to the robot end E, so that the robot end E cannot be driven to move, which is an over-damped vibration model. Order to
At this time, the algorithm model is an over-damped vibration model, and the distance function is:
wherein
,
Is an integration constant, determined by initial conditions. This condition is over-damped vibration, no vibration occurs; thereby eliminating the jitter phenomenon.
The above embodiments are merely preferred embodiments of the present invention, and are not intended to limit the scope of the present invention. All equivalent changes and modifications made according to the present disclosure are intended to be covered by the scope of the claims of the present invention.