KINEMATIC JOINT BLOCK, ROBOT CAPABLE OF EXPRESSING EMOTIONS, AND METHOD FOR CONTROLLING SAME
BACKGROUND OF THE INVENTION
Field of the Invention
The present invention relates to robot technology, and in particular, to a kinematic joint block for constructing a robot, a robot that uses the kinematic joint block and is capable of expressing emotions, and a method for controlling the robot.
Related Arts
A robot that can imitate postures and movement of a human body to express emotions similar to those of a human has not been disclosed in the prior art.
SUMMARY OF THE INVENTION
A main objective of the present invention is to overcome the deficiency in the prior art and provide a kinematic joint block for constructing a robot, a robot that uses the kinematic joint block and is capable of expressing emotions, and a method for controlling the robot.
To achieve the foregoing objective, the following technical solutions are used in the present invention:
A kinematic joint block for constructing a robot includes a base and a ball joint. The ball joint includes first to third joint units. The first joint unit is mounted on the base in a manner of having a degree of freedom of rotation in a first direction. The second joint unit is mounted on the first joint unit in a manner of having a degree of freedom of rotation in a second direction. The third joint unit is mounted on the second joint unit in a manner of having a degree of freedom of rotation in a third direction. Rotation axes in the first direction, the second direction, and the third direction are perpendicular to each other and intersect at a same central point.
Further, the first joint unit and the third joint unit separately include a semicircular connecting rod. The second joint unit includes a circular frame. A middle portion of the semicircular connecting rod of the first joint unit is pivotally mounted at the center of the base. Two ends of the semicircular connecting rod of the first joint unit are pivotally mounted on the circular frame along a first diameter direction of the circular frame. Two ends of the semicircular connecting rod of the third joint unit are pivotally mounted on the circular frame along a second diameter direction of the circular frame. The first diameter direction and the second diameter direction of the circular frame are perpendicular to each other.
Further, the base is circular.
Further, the first to third joint units are respectively driven by motors.
A robot includes a plurality of kinematic joint blocks connected together. A third joint unit of a previous kinematic joint block is connected to a base of a next kinematic joint block, to implement functions of joints of a human or an animal. Movement and gestures of the kinematic joint blocks are controlled to simulate movement and gestures of the body of the human or animal.
Further, the joints of the human or animal include joints of a neck, a torso, a buttock, a shoulder, an elbow, a wrist, a hip, a knee, and an ankle.
A method for controlling the robot includes the following steps:
a. defining a basic model of the robot and reference coordinate systems of kinematic joint blocks;
b. establishing a relationship between coordinate systems of joint units of the kinematic joint blocks of the robot by using a D-H model, so as to calculate transformation matrices between postures of end effectors of the kinematic joint blocks and other joint units, where the end effectors are third joint units of the kinematic joint blocks;
c. determining a target gesture of the robot according to an emotion to be expressed by the robot, where a database of a series of target gestures is planned in advance for expression of different emotions;
d. planning end gestures of the kinematic joint blocks according to the target gesture of the robot;
e. resolving an angle of each joint unit in the kinematic joint blocks according to the end gestures of the kinematic joint blocks and according to the D-H model; and
f. controlling the joint units of the kinematic joint blocks according to the resolved angles to perform corresponding movement, so as to control a posture of the robot to present the emotion to be expressed by the robot.
Further, the planning end gestures of the kinematic joint blocks in the step d includes: planning a rotation Euler angle of each kinematic joint block relative to a previous kinematic joint block, and representing the rotation Euler angle by using a rotation matrix form.
Further, in the step e, parameters of the D-H model for each kinematic joint block are configured according to different mechanical structures of the robot, so as to solve an inverse kinematics result for the corresponding kinematic joint block, to obtain angles of joints in the kinematic joint block, where
a planning algorithm is represented by using the following formula:
R
i=
b, iR
st·R
i. des·
stR
e, i,
where R
i is a rotation matrix of an i
th kinematic joint block;
b, iR
st is a rotation matrix between a base coordinate system of the i
th kinematic joint block and a standard reference coordinate system, R
i. des is a rotation matrix of a target posture of the i
th kinematic joint block relative to a reference coordinate system in the basic model of the robot, and
stR
e, i is a rotation matrix between the standard reference coordinate system in the basic model and an end coordinate system of the i
th kinematic joint block, and is also a rotation matrix between a base coordinate system of an (i+1)
th kinematic joint block and the standard reference coordinate system; and an end gesture of each kinematic joint block is determined by using the foregoing formula, and is represented as a rotation matrix of an end of each kinematic joint block relative to a base of the kinematic joint block.
Further, the standard reference coordinate system is defined as: a positive direction of the X axis is a walking direction of the robot, the Z axis is perpendicular to the X axis, and the origin coincides with a buttock center of the robot.
Further, a reference coordinate system of a kinematic joint block used as a buttock joint is the defined standard reference coordinate system, a reference coordinate system of a kinematic joint block used as a torso joint is a base coordinate system of the kinematic joint block used as a buttock joint, and a reference coordinate system of the i
th kinematic joint block on an arm is a base coordinate system of the previous kinematic joint block.
Further, a series of gesture points are planned on an expected movement trajectory of the robot, so that the robot moves to corresponding gesture points one by one, so as to implement movement along a predetermined trajectory.
Beneficial effects of the present invention are as follows: By means of the robot and the method for controlling the robot according to the present invention, the robot can simulate an action and a gesture of the body of a human, a database of a series of target gestures is planned in advance for expression of different emotions, and a gesture of the robot is controlled according to an emotion to be expressed by the robot, so as to express the emotion similar to that of the human.
The features and technical advantages of the present invention have been described above quite widely for better understanding of detailed description of the present invention. Other features and advantages of the present invention are described below.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention will become more fully understood from the detailed description given herein below for illustration only, and thus are not limitative of the present invention, and wherein:
FIG. 1 is a schematic structural diagram of an embodiment of a kinematic joint block according to the present invention;
FIG. 2 is a schematic structural diagram of an embodiment of a ball joint according to the present invention;
FIG. 3 is a schematic structural diagram of an embodiment of two kinematic joint blocks being assembled (a base of a second kinematic joint block is not shown) according to the present invention;
FIG. 4 is a schematic structural diagram of an embodiment of a robot according to the present invention; and
FIG. 5 is a schematic diagram illustrating a process of establishing a DH model by using a connecting rod as an example.
DETAILED DESCRIPTION OF THE INVENTION
The present invention is described in further detail below with reference to embodiments and the accompanying drawings.
The present invention is further described below in detail with reference to the embodiments and accompanying drawings. It should be noted that the following description is merely exemplary rather than to limit the scope and application of the present invention. A person skilled in the art should understand that the disclosed concepts and specific embodiments may be used very easily as a basis to modify or design another structure to accomplish the same objective of the present invention. A person skilled in the art should also be aware that such an equivalent structure does not depart from the spirit and scope of the present invention. Novel features that are considered characteristics of the present invention, structures and operation methods of the novel features, and further objectives and advantages will be better understood by using the following description and with reference to the accompanying drawings. However, it should be deeply understood that the provided features are only for the purpose of description but are not intended to limit the definitions of the present invention.
Referring to FIG. 1, in an embodiment, a kinematic joint block for constructing a robot includes a base 201 and a ball joint. The ball joint includes first to third joint units 202, 203, and 204. The first joint unit 202 is mounted on the base 201 in a manner of having a degree of freedom of rotation in a first direction. The second joint unit 203 is mounted on the first joint unit 202 in a manner of having a degree of freedom of rotation in a second direction. The third joint unit 204 is mounted on the second joint unit 203 in a manner of having a degree of freedom of rotation in a third direction. Rotation axes in the first direction, the second direction, and the third direction are perpendicular to each other and intersect at a same central point.
Referring to FIG. 2, in a preferred embodiment, the first joint unit 202 and the third joint unit 204 separately include a semicircular connecting rod. The second joint unit 203 includes a circular frame. A middle portion of the semicircular connecting rod of the first joint unit 202 is mounted at the center of the base 201 about a first rotation axis. Two ends of the semicircular connecting rod of the first joint unit 202 are mounted on the circular frame about a second rotation axis along a first diameter direction of the circular frame. Two ends of the semicircular connecting rod of the second joint unit 203 are mounted on the circular frame about a third rotation axis along a second diameter direction of the circular frame. The first diameter direction and the second diameter direction of the circular frame are perpendicular to each other.
In a preferred embodiment, the base 201 is circular.
In a preferred embodiment, the first to third joint units 202, 203, and 204 are respectively driven by motors.
Referring to FIG. 1, FIG. 2, FIG. 3, and FIG. 4, a robot includes a plurality of kinematic joint blocks connected together. A third joint unit 204 of a previous kinematic joint block may be connected to a base 201 of a next kinematic joint block, and may be connected to a first joint unit of the next kinematic joint block through the base 201 of the next kinematic joint block, to implement functions of joints of a human or an animal. Movement and gestures of the kinematic joint blocks are controlled to simulate movement and gestures of the body of the human or animal.
Referring to FIG. 4, in a preferred embodiment, the joints of the human or animal include joints of a neck 401, a torso 402, a buttock 406, a shoulder 403, an elbow 404, a wrist 405, a hip 407, a knee 408, and an ankle 409.
In the present invention, all joint units forming the robot may be grouped into different kinematic joint blocks. That is, each kinematic joint block includes a plurality of joint units. These kinematic joint blocks may further be grouped into various parts of the body, for example, a head, a torso, a left arm, and a right arm. In this manner, one basic android model may be defined.
In another embodiment, a method for controlling the robot includes the following steps:
a. defining a basic model of the robot and reference coordinate systems of kinematic joint blocks;
b. establishing a relationship between coordinate systems of joint units of the kinematic joint blocks of the robot by using a D-H model, so as to calculate transformation matrices between postures of end effectors of the kinematic joint blocks and other joint units, where the end effectors are third joint units of the kinematic joint blocks;
c. determining a target gesture of the robot according to an emotion to be expressed by the robot, where a database of a series of target gestures is planned in advance for expression of different emotions;
d. planning end gestures of the kinematic joint blocks according to the target gesture of the robot;
e. resolving an angle of each joint unit in the kinematic joint blocks according to the end gestures of the kinematic joint blocks and according to the D-H model; and
f. controlling the joint units of the kinematic joint blocks according to the resolved angles to perform corresponding movement, so as to control a posture of the robot to present the emotion to be expressed by the robot.
In a preferred embodiment, the planning end gestures of the kinematic joint blocks in the step d includes: planning a rotation Euler angle of each kinematic joint block relative to a previous kinematic joint block, and representing the rotation Euler angle by using a rotation matrix form.
In a preferred embodiment, in the step e, parameters of the D-H model for each kinematic joint block are configured according to different mechanical structures of the robot, so as to solve an inverse kinematics result for the corresponding kinematic joint block, to obtain angles of joints in the kinematic joint block, where
a planning algorithm is represented by using the following formula:
R
i=
b, iR
st·R
i. des·
stR
e, i,
where R
i is a rotation matrix of an i
th kinematic joint block;
b, iR
st is a rotation matrix between a base coordinate system of the i
th kinematic joint block and a standard reference coordinate system, R
i. des is a rotation matrix of a target posture of the i
th kinematic joint block relative to a reference coordinate system in the basic model of the robot, and
stR
e, i is a rotation matrix between the standard reference coordinate system in the basic model and an end coordinate system of the i
th kinematic joint block, and is also a rotation matrix between a base coordinate system of an (i+1)
th kinematic joint block and the standard reference coordinate system; and an end gesture of each kinematic joint block is determined by using the foregoing formula, and is represented as a rotation matrix of an end of each kinematic joint block relative to a base of the kinematic joint block.
In a preferred embodiment, the standard reference coordinate system is defined as: a positive direction of the X axis is a walking direction of the robot, the Z axis is perpendicular to the X axis, and the origin coincides with a buttock center of the robot.
In a preferred embodiment, a reference coordinate system of a kinematic joint block used as a buttock joint is the defined standard reference coordinate system, a reference coordinate system of a kinematic joint block used as a torso joint is a base coordinate system of the kinematic joint block used as a buttock joint, and a reference coordinate system of the i
th kinematic joint block on an arm is a base coordinate system of the previous kinematic joint block.
In a preferred embodiment, a series of gesture points are planned on an expected movement trajectory of the robot, so that the robot moves to corresponding gesture points one by one, so as to implement movement along a predetermined trajectory.
About Denavit-Hartenberg (DH) modeling:
DH modeling is a common method for solving a kinematic relationship of a serial robot. A DH model is used to establish relationships between coordinate systems of joints of the robot, so as to calculate transformation matrices between postures of end effectors and the joints. A connecting rod shown in FIG. 5 is used as an example below to describe a process of establishing a DH model:
I. Establish a coordinate system of the connecting rod
Step 1: Determine the Z axis of the coordinate system.
A joint axis is used as the Z axis, and the pointing direction is not fixed.
Step 2: Determine the origin of the coordinate system.
The foot of a common vertical line of the Z
i-1 axis and Z
i at the Z
i-1 axis is used as the origin O
i-1 of {i-1} .
Step 3: Determine the X axis of the coordinate system.
The common vertical line of the Z
i-1 axis and Z
i is used as the X
i axis, and the direction of the X
i axis is from the Z
i-1 axis to Z
i.
II. Definitions of parameters of the connecting rod
1. Rod length a
i-1
The rod length a
i-1 is the distance from the Z
i-1 axis to the Z
i axis, and the direction along X
i-1 is the positive direction.
2. Torsion angle
The torsion angle is an angle by which the Z
i-1 axis rotates about X
i-1 in a counterclockwise direction to be parallel to the Z
i axis, and it is specified that the range of the torsion angle is (-180°, +180°] .
3. Offset distance d
i
The offset distance d
i is the distance from the X
i-1 axis to the X
i axis, and the direction along Z
i is the positive direction.
4. Rotational angle
The rotational angle is an angle by which the X
i-1 axis rotates about Z
i in a counterclockwise direction to be parallel to the X
i axis, and it is specified that the range of the rotational angle is (-180°, +180°] .
III. Establishment of the coordinate system of the connecting rod
IV. Transformation of the connecting rod
The transformation
i-1
iT of the coordinate system {i} of the connecting rod relative to {i-1} is referred to as the transformation of the connecting rod.
The transformation
i-1
iT of the connecting rod may be considered as the following four sub-transformations of the coordinate system {i} . Because these sub-transformations may all be considered as being described relative to a moving coordinate system, and the following formula is obtained according to a "from-left-to-right" principle:
V. Establishment of a kinematic equation
Multiply transformations
of the connecting rod, to obtain:
Values of variables q
i (i=1, 2, ..., n) of the joints are obtained according to outputs of sensors at the positions of the joints, and
may be calculated.
The foregoing formula is referred to as a kinematic equation, which represents relationships between postures (n, o, a, p) of the connecting rods at the ends andjoint variables q
1, q
2, ...q
n.
As shown in FIG. 2, the kinematic joint block, that is, ball joints, in this embodiment of the present invention are used to implement functions of joints of a human body. Each ball joint and a base form one kinematic joint block. During planning, a gesture of the robot may be jointly represented by the kinematic joint blocks.
FIG. 2 shows a kinematic joint block, including degrees of freedom of rotation in three directions. The kinematic joint block is defined as follows:
Base of a joint block: As shown in FIG. 2, one surface of the base 201 is connected to an end of a previous joint block. The other surface of the base 201 is connected to the first joint unit 202. The base of a first joint block is a pedestal.
End of the kinematic joint block: As shown in FIG. 2, the end is the third joint unit 204, and is connected to a base of a next kinematic joint block.
Base coordinate system of the kinematic joint block: The base coordinate system is a coordinate system planned on a base of the kinematic joint block, and is an end coordinate system of a previous kinematic joint block.
End coordinate system of the kinematic joint block: The end coordinate system is a coordinate system at an end of the kinematic joint block, and is a pedestal coordinate system of a next kinematic joint block.
Standard reference coordinate system: A positive direction of the X axis is a walking direction of the robot, the Z axis is perpendicular to the X axis, and the origin coincides with a buttock center of the robot.
In this way, one reference coordinate system may be allocated to each kinematic joint block. For example, a reference coordinate system of a hip spherical joint is the defined standard reference coordinate system. A reference coordinate system of a torso spherical joint is a base coordinate system of the hip spherical joint. A reference coordinate system of an i
th kinematic joint block on an arm is a base coordinate system of a previous kinematic joint block.
The direction of an (i+1)
th kinematic joint block is defined as a rotation Euler angle of a base coordinate system of the (i+1)
th kinematic joint block relative to each coordinate axis of a base coordinate system of the i
th kinematic joint block, and is stored in a database in a rotation matrix form.
A basic model of the robot and the reference coordinate systems of kinematic joint blocks are defined. Subsequently, the representation of a gesture of the robot is obtained through rotational transformation of reference coordinate systems in the basic model.
An end gesture of each kinematic joint block is determined according to a target gesture of a robot. An angle of each joint unit in the kinematic joint block is then resolved according to a D-H model. A process is substantially as follows:
1. Determine a target gesture of the robot according to an emotion to be expressed by the robot.
2. Plan the end gesture of each kinematic joint block according to the determined target gesture.
3. Resolve an angle of each joint unit in the kinematic joint blocks according to the end gestures of the kinematic joint blocks and with reference to the D-H model.
In the step 2 of planning a gesture of the kinematic joint block, an end gesture of the kinematic joint block is planned. That is, the direction of each kinematic joint block, that is, a rotation Euler angle relative to a previous kinematic joint block, is planned, and the rotation Euler angle is represented by using a rotation matrix form. Parameters of the D-H model for the kinematic joint block are then adjusted and configured according to different mechanical structures, so as to solve an inverse kinematics result for a mechanism of the kinematic joint block, to obtain angles of joint units in the kinematic joint block. If different mechanical structures are used, only parameters of the D-H model need to be changed, but a gesture sequence of each kinematic joint block does not need to be planned again. A planning algorithm of this type may be universally used for androids that are similar and not identical. The planning algorithm is represented by using the following formula:
R
i=
b, iR
st·R
i. des·
stR
e, i,
where R
i is a rotation matrix of an i
th kinematic joint block;
b, iR
st is a rotation matrix between a base coordinate system of the i
th kinematic joint block and a standard reference coordinate system in a basic model, R
i. des is a rotation matrix of a target posture of the i
th kinematic joint block relative to a reference coordinate system in the basic model of the robot, and
stR
e, i is a rotation matrix between a standard reference coordinate system and an end coordinate system of the i
th kinematic joint block in the basic model, and is also a rotation matrix between a base coordinate system of an (i+1)
th kinematic joint block and the standard reference coordinate system.
In a specific embodiment, standardized algorithms may be used to simultaneously control different motors to implement the simulation of body movement. The algorithms may map required commands to the motors to implement any customized movement. The algorithm may be used to design any shape by using a group of kinematic joint blocks, and map required commands to the motors to implement any customized movement. Therefore, by means of the movement of mechanical components in the structure of the robot, a result formed by using this type of structure may manifest moods, imitate a posture of a human body, imitate the posture, and imitate the movement of the human body (a head/buttock/torso may roll/pitch/yaw) according to a shape similarity and an execution time.
Each kinematic joint block may be equipped with three step motors (or servo motors) , where each joint unit has one step motor.
A mechanical arm may simulate an action of the body by simultaneously controlling different motors.
A standardized algorithm may map required commands to the motors to implement any customized movement.
A standardized program may be used to design a robot having any shape by using the group of spherical joints, and map the required commands to the motors to implement any customized movement.
By means of the movement of mechanical components in the structure of the robot, the obtained robot made of the structure may:
express moods;
imitate a posture of the human body;
imitate the posture; and
simulate the movement of the human body (a head/buttock/torso may roll/pitch/yaw) according to shape similarity and an execution time.
Other embodiments
One intermediate kinematic joint block is connected to a projector. The direction of a projected picture may be changed through the movement of joints.
One intermediate kinematic joint block is connected to a display screen. The direction of display may be changed through the movement of joints.
One intermediate kinematic joint block is connected to a camera. The direction of the camera may be changed through the movement of joints.
One intermediate kinematic joint block is connected to a microphone array. The direction of the microphone array may be changed through the movement of joints.
One intermediate kinematic joint block is connected to an antenna. The direction of the antenna may be changed through the movement of connectors.
One intermediate kinematic joint block is connected to a light emitter. The direction of transmitted light may be changed through the movement of joints.
The simulation of the rotation of a head and a torso/hip joint of a human body by a rotation angle may be implemented as follows:
Roll (tilt to the left or right) by 45 degrees in a perpendicular direction (left, right) .
Pitch (tilt forward or backward) down by 50 degrees or up by 57.5 degrees.
Yaw (rotate to the left or right) by 70 degrees from left to right to the position facing front.
The maximum speeds of the degrees of freedom are: 360 degrees/second of rolling, 430 degrees/second of pitching, and a yaw speed being 467 degrees/second.
The foregoing content is merely further detailed descriptions made on the present invention with reference to specific/preferred implementations, and it should not be considered that specific embodiments of the present invention are limited to the descriptions. A person of ordinary skill in the art of the present invention may further make several replacements or variations to these described implementations without departing from the concept of the present invention. These replacements or variations should all be considered falling within the protection scope of the present invention. In the description of this specification, the description of reference terms such as "an embodiment" , "some embodiments" , "preferred embodiments" , "examples" , "specific examples" , or "some examples" means that specific features, structures, materials or characteristics that are described with reference to the embodiments or examples are included in at least one embodiment or example of the present invention. In this specification, the schematic description of the foregoing terms does not necessarily refer to involve a same embodiment or example. Moreover, the described specific features, structures, materials or characteristics may be combined in an appropriate manner in any one or more embodiments or examples. In addition, without causing any contradiction, a person skilled in the art may combine different embodiments or examples and features in different embodiments or examples described in this specification. Although the embodiments and advantages of the embodiments of the present invention have been described in detail, it should be understood that various changes, replacements and variations may be made herein without departing from the spirit and scope of the embodiments as defined in the claims. In addition, the scope of the present invention is not limited to specific embodiments of the processes, machines, manufacturing, substance composition, measures, methods, and steps in the specification. A person of ordinary skill in the art will easily understand that disclosure, processes, machines, manufacturing, substance composition, measures, methods or steps that currently exist or will be developed later, perform functions basically the same as those in the corresponding embodiments herein or obtain results basically the same as those in the embodiments herein may be used. Therefore, the appended claims are intended to cover these processes, machines, manufacturing, substance composition, measures, methods or steps.
Although the present invention is described above in further detail through specific embodiments, the present invention is not limited to the specific embodiments. It should be understood by a person of ordinary skill in the art that any simple deduction or replacement made without departing from the spirit of the present invention shall fall within the protection scope of the present invention.