Humanoid robot

Synchronous control of arm and waist axes in humanoid robots maintains arm tip positions, preventing collisions and eliminating re-teaching needs, thus improving operational efficiency and safety.

JP2026086280APending Publication Date: 2026-05-26SHIBAURA MASCH CO LTD

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
SHIBAURA MASCH CO LTD
Filing Date
2024-11-14
Publication Date
2026-05-26

AI Technical Summary

Technical Problem

Humanoid robots with waist axes face issues where the position of the arm tips shifts during manual operations, requiring re-teaching or risking contact with obstacles due to asynchronous control of arm and waist axes.

Method used

A humanoid robot with synchronous control of arm and waist axes, using a control device to maintain the position of the arm tips through self-motion, preventing contact with obstacles and eliminating the need for re-teaching.

Benefits of technology

The synchronous control allows the robot to maintain arm tip positions without re-teaching and avoids collisions, enhancing operational efficiency and safety.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026086280000001_ABST
    Figure 2026086280000001_ABST
Patent Text Reader

Abstract

The objective is to provide a humanoid robot that eliminates the need to re-teach the position of the arm tip when performing waist axis movements, and that can avoid contact with obstacles. [Solution] According to one embodiment, a humanoid robot comprises a robotic torso. The humanoid robot further comprises a first arm attached to a first side of the torso and including one or more arm axes. The humanoid robot further comprises a waist that supports the torso and includes one or more waist axes. Furthermore, the one or more arm axes in the first arm and the one or more waist axes in the waist operate by synchronous control.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] Embodiments of the present invention relate to humanoid robots. [Background technology]

[0002] In humanoid robots with a waist axis, users may want to maintain the position of the robot's arm tips while moving the waist axis when performing manual operations using a control panel or the like.

[0003] Furthermore, when manually operating a humanoid robot with a waist axis, users may want to set the tip of the arm as a target position outside the range of motion of the arm axis, and then move the waist axis, not just the arm, to reach this target position.

[0004] However, if the user moves the waist axis without synchronously controlling the arm axis and waist axis, problems arise such as the position of the arm's end being shifted compared to before the movement, requiring re-teaching of the end-effector's position, or the robot coming into contact with surrounding obstacles.

[0005] On the other hand, while methods for determining position from images captured by cameras mounted on robots and methods for enabling bipedal robots with parallel link mechanisms to perform stable bipedal locomotion are known, no technology is known for enabling humanoid robots to operate while maintaining the position of the armtips. [Prior art documents] [Patent Documents]

[0006] [Patent Document 1] Japanese Patent Publication No. 2005-28468 [Patent Document 2] Japanese Patent Publication No. 2006-82155 [Overview of the Initiative] [Problems that the invention aims to solve]

[0007] An object of the present invention is to provide a humanoid robot that does not require re-teaching of the position of the tip of an arm in a robot and can avoid contact of the robot with an obstacle when performing the operation of a waist axis.

Means for Solving the Problem

[0008] According to one embodiment, a humanoid robot includes a body of the robot. Further, the humanoid robot includes a first arm attached to a first side of the body and including one or more arm axes. Further, the humanoid robot includes a waist portion that supports the body and includes one or more waist axes. Further, the one or more arm axes in the first arm and the one or more waist axes in the waist portion operate by synchronous control.

Brief Description of the Drawings

[0009] [Figure 1A] It is a schematic configuration diagram of a humanoid robot in the first embodiment. [Figure 1B] It is a schematic configuration diagram of a humanoid robot in the first embodiment. [Figure 2] It is another example of a schematic configuration diagram of a humanoid robot in the first embodiment. [Figure 3] It is an operation explanatory diagram of a humanoid robot in a comparative example. [Figure 4] It is an operation explanatory diagram of a humanoid robot in the first embodiment. [Figure 5] It is a block diagram of an arm, a waist portion, and a control device in the first embodiment. [Figure 6] It is an example of a flowchart when an operation control unit in the first embodiment performs self-motion. [Figure 7] It is another operation explanatory diagram of a humanoid robot in a comparative example. [Figure 8] It is yet another operation explanatory diagram of a humanoid robot in a comparative example. [Figure 9] It is another operation explanatory diagram of a humanoid robot in the second embodiment. [Figure 10] This is yet another diagram illustrating the operation of the humanoid robot in the second embodiment. [Figure 11] This is an example of a flowchart for when the motion control unit in the second embodiment performs self-motion. [Figure 12] This is a hardware configuration diagram of the control device in the third embodiment. [Modes for carrying out the invention]

[0010] Embodiments of this disclosure will be described below with reference to the drawings. These embodiments are not intended to limit the present invention. The drawings are schematic or conceptual, and the proportions of each part may not necessarily be the same as those of actual objects. In the specification and drawings, elements similar to those described above with respect to previously shown drawings are denoted by the same reference numerals, and detailed descriptions are omitted as appropriate.

[0011] (First Embodiment) Figures 1A and 1B are schematic diagrams of the humanoid robot in the first embodiment.

[0012] Figures 1A and 1B show the X, Y, and Z axes perpendicular to each other. The X and Y directions correspond to the horizontal direction perpendicular to the direction of gravity, and the Z direction corresponds to the vertical direction parallel to the direction of gravity. The +Z direction corresponds to the upward direction, and the -Z direction corresponds to the downward direction. Furthermore, the X and Y directions do not need to coincide exactly with the horizontal direction, and the Z direction does not need to coincide exactly with the vertical direction.

[0013] Furthermore, in this embodiment, we will describe an example in which the humanoid robot 1 operates by synchronously controlling the arm axis and waist axis during manual operation by the user using a control panel or the like (hereinafter referred to as JOG operation). In this embodiment, the humanoid robot 1 has a torso 2, arms 3, and waist 4, and refers to a robot in which the arms 3 or torso 2 move by the arm axis or waist axis. Figure 1A is a view of the humanoid robot 1 from the +Y direction, and Figure 1B is a view of the humanoid robot 1 from the +Z direction. In Figures 1A and 1B, the humanoid robot 1 comprises a torso 2, arms 3, waist 4, head 5, and base 6. In addition, the humanoid robot 1 in this embodiment is a dual-arm robot and has two arms 3. In this example, the humanoid robot 1 has its TCP set to the upper part (+Z direction) of the workpiece 100 to be picked as its initial posture. This TCP can be taught to the humanoid robot 1 in advance by the user, for example. TCP is the position of the tip of the robot's end effector, which can move.

[0014] As shown in Figure 1A, the movement direction of the humanoid robot 1 will be described starting from an initial posture where the torso 2 is straight and facing the +X direction. The torso 2 is rotatable around axis JB1, which is a central axis parallel to the Z direction passing through its center. The torso 2 is also tiltable with respect to axis JB2, which is an axis parallel to the Y direction, i.e., in the front-to-back direction. Therefore, in this embodiment, the torso 2 has two degrees of freedom, consisting of axes JB1 and JB2. For explanatory purposes, the torso 2 is given as having two degrees of freedom, but the number of degrees of freedom is not limited to two. The torso 2 may have one or more degrees of freedom through one or more axes. Axis JB1 is an example of a first waist axis, and axis JB2 is an example of a second waist axis.

[0015] Furthermore, when the fuselage 2 rotates around axis JB1, it can tilt in the front-to-back direction from that position. In this case, axis JB2 rotates in conjunction with the rotation of the fuselage 2, so the fuselage 2 can tilt around an axis that is not parallel to the Y direction. Also, when the fuselage 2 tilts around axis JB2, it can rotate around axis JB1 from that position. In this case, axis JB1 tilts in conjunction with the tilt of the fuselage, so the fuselage 2 can rotate around an axis that is not parallel to the Z-axis direction.

[0016] Arm 3 has a shoulder portion 10, an upper arm portion 11, a forearm portion 12, and a wrist portion 13. Figure 1A shows the left arm, and the right arm is configured similarly. In this embodiment, the left arm is provided on the +Y direction side of the humanoid robot 1, and the right arm is provided on the -Y direction side. Thus, the left arm and the right arm are provided on different sides of the torso 2. Furthermore, the humanoid robot 1 does not necessarily have to be a dual-arm robot; it may be configured with only one arm on one side of the torso 2, or it may be configured with three or more arms.

[0017] Furthermore, as shown in Figure 1A, the initial posture of the humanoid robot 1 is one in which the torso 2 is straight and the arms 3 are pointed in the +X direction, and the direction of movement will be explained from this perspective. In this example, the shoulder portion 10 is rotatable around axis JL1, which is a central axis parallel to the Z-axis direction, and axis JL2, which is an axis parallel to the Y-direction. In addition, an elbow joint is provided between the upper arm portion 11 and the forearm portion 12, and the elbow joint is rotatable around axis JL3, which is a central axis parallel to the Z-axis direction, and axis JL4, which is an axis parallel to the Y-direction. In addition, the wrist portion 13 is rotatable around axis JL5, which is a central axis parallel to the Z-axis direction, and axis JL6, which is an axis parallel to the Y-direction. Therefore, in this embodiment, the arm 3 has 6 degrees of freedom consisting of axes JL1 to JL6. For explanatory purposes, the arm 3 has 6 degrees of freedom, but the number of degrees of freedom is not limited to 6. For example, the elbow angle may be given an additional degree of freedom, resulting in 7 degrees of freedom. Arm 3 may have one or more axes and one or more degrees of freedom. Axes JL1 to JL6 are examples of arm axes.

[0018] Furthermore, when the shoulder portion 10 rotates around axis JL1, axis JL2 rotates in conjunction with the rotation of JL1. Similarly, when the shoulder portion 10 rotates around axis JL2, axis JL1 rotates in conjunction with the rotation of JL2. Therefore, the shoulder portion 10 can rotate around axes that are not parallel to the Y direction and axes that are not parallel to the Z direction. The same applies to the upper arm portion 11 and the forearm portion 12.

[0019] The waist section 4 supports the torso 2 and is also mounted on the base 6. The waist section 4 itself does not move, but one or more waist axes (axles JB1 and JB2 in this example) provided on the waist section 4 make it possible to rotate or tilt the torso 2.

[0020] The head 5 is mounted on the upper part of the torso 2. The head 5 has a camera that takes pictures of the surroundings of the humanoid robot 1 and acquires images. The images acquired by the head 5 are displayed on a remote display device (not shown) via, for example, a network (not shown). This allows the user to remotely check the surroundings of the humanoid robot 1. For example, the head 5 could take pictures of the picking position with its camera, and the user could remotely check the transmitted images. The humanoid robot 1 does not necessarily have to have the head 5; for example, a camera could be installed in a location away from the humanoid robot 1, such as a ceiling-mounted camera.

[0021] Figure 2 is another example of a schematic configuration diagram of the humanoid robot in the first embodiment.

[0022] Figure 2 shows the humanoid robot 1 viewed from the +Z direction. Unlike Figure 1, this example shows the humanoid robot 1 using both its left and right arms to pick up the workpiece 100. In this case, separate TCPs are configured for the left and right arms.

[0023] Thus, one arm 3 is called the first arm, and the other arm 3 is called the second arm. The first arm is attached to the first side of the torso 2, and the second arm is attached to the second side of the torso 2. The first arm may be the left arm, and the second arm may be the right arm. Alternatively, the first arm may be the right arm, and the second arm may be the left arm.

[0024] This technology can also be applied to jog movements using both arms, but for the sake of simplicity, the following explanation will describe an example in which only one arm 3 is operated.

[0025] Figure 3 is an explanatory diagram of the operation of the humanoid robot in the comparative example.

[0026] This operation diagram explains the operation of the humanoid robot 1 when the arm axis and waist axis are not controlled synchronously. In Figure 3, as the initial posture, the TCP of the humanoid robot 1 is set to the upper part (+Z direction) of the workpiece 100 to be picked, with the arm 3 bent. In order to change the shooting range of the head camera 5 and point it in the -Z direction, the humanoid robot 1 moves its waist axis and tilts its torso 2. If the waist axis is moved alone without synchronous control of the arm axis and waist axis, and the robot assumes a forward-leaning posture, the TCP will shift in accordance with the movement of the waist, and the humanoid robot 1 will come into contact with an obstacle. Figure 3 shows an example in which the arm 3 comes into contact with the workpiece 100 because the humanoid robot 1 has assumed a forward-leaning posture.

[0027] Figure 4 is an explanatory diagram of the operation of the humanoid robot in the first embodiment.

[0028] On the other hand, Figure 4, an operation diagram, describes the operation of the humanoid robot 1 when the arm axis and waist axis are controlled synchronously. In Figure 4, as the initial posture, the TCP of the humanoid robot 1 is set to the upper part of the workpiece 100 to be picked, with the arm 3 bent. In order to photograph the workpiece 100, the humanoid robot 1 changes the shooting range of the camera on the head 5 and points it in the -Z direction, performing tilting of the torso 2 and rotation of the arm 3 while maintaining the TCP before and after the operation. By operating with synchronous control of the arm axis and waist axis, the humanoid robot 1 can avoid contact with obstacles. Hereinafter, the operation of the humanoid robot 1 while maintaining the TCP and controlling the arm axis and waist axis synchronously will be called self-motion. In self-motion, for example, when the operator controls only the waist axis or when the target position of the TCP is specified and controlled, the humanoid robot 1 automatically controls the waist axis and arm axis to maintain the TCP in the predetermined position and operate.

[0029] Figure 5 is a block diagram of the arm, waist, and control device in the first embodiment.

[0030] Each axis of the arm 3 and waist 4 is synchronously controlled based on the control device 20. The arm 3 includes one or more servo motors 22 and corresponding encoders 23. The number of these servo motors 22 and encoders 23 corresponds to the number of arm axes, and the rotational movement of each axis is realized by these servo motors. The rotational speed of each servo motor 22 is detected by each encoder 23 and transmitted to the control device 20.

[0031] Furthermore, similar to the arm 3, the waist 4 includes one or more servo motors 22 and corresponding encoders 23. The number of these servo motors 22 and encoders 23 corresponds to the number of waist axes, and the tilting and rotational movements of each axis are realized by these servo motors 22. The rotational speed of each servo motor 22 is detected by each encoder 23 and transmitted to the control device 20.

[0032] The control device 20 includes an motion control unit 21. The control device 20 can be implemented, for example, by installing its control program on a PC (Personal Computer). The control program stored on the control device 20's HDD (hard disk drive) is loaded into memory, and the processor executes it, thereby realizing the functions of the motion control unit 21. The control device 20 may be located inside or outside the humanoid robot 1.

[0033] The motion control unit 21 receives the motor rotation speed values ​​detected by each encoder 23, performs calculations based on these values, and controls the position of each servo motor 22. Details of the calculations performed by the motion control unit 21 will be described later. The result of the calculations is transmitted as a position command to the motor control unit (not shown), and the position of the servo motor 22 is controlled by current control by this motor control unit.

[0034] For the sake of explanation, let us consider a 4x4 homogeneous transformation matrix for a humanoid robot having arm 3 that includes only the first axis. Let x, y, and z be the absolute positions of arm 3 with respect to the origin before movement, and let θ be the rotation angle at that time. Also, let x', y', and z' be the amounts of translation during arm 3's movement, and let γ be the rotation angle. Then the position of arm 3 after movement is expressed by equation (1).

number

[0035] For example, if the position of arm 3 before movement is (x, y, z) = (0, 0, 0) and the rotation angle is 0 degrees, the position of arm 3 after moving it up 100 mm in the +Z direction is expressed by equation (2).

number

[0036] Thus, the position of the arm 3 after movement can be represented by a 4x4 homogeneous transformation matrix. Hereinafter, the calculation method when the motion control unit 21 performs self-motion will be described. The absolute position of the TCP with respect to the origin of the humanoid robot 1 at the start of self-motion is the 4x4 homogeneous transformation matrix T t 0 is represented as Equation (3). A i i-1 is the homogeneous transformation matrix of the i-th axis on the arm axis, and B j j-1 is the homogeneous transformation matrix of the j-th axis on the waist axis.

Equation

[0037] If the homogeneous transformation matrix after the operation of the waist axis is B j j-1 ’, then when self-motion is not performed, the homogeneous transformation matrix T t 0 ’ at the TCP changes and is represented as Equation (4). In Equation (4), B1 0 ’ to B n n-1 ’ are represented as, for example, the absolute positions of the respective waist axes with respect to the origin, and are also called the allocated positions of the respective waist axes.

Equation

[0038] When performing self-motion, the humanoid robot 1 needs to change the angle of the arm axis according to the position after the operation of the waist axis so that the TCP does not change before and after the operation. If the homogeneous transformation matrix A i i-1 ’ of the arm axis when the TCP does not change, then Equation (5) holds.

Equation

[0039] From Equation (5), the homogeneous transformation matrix A ii-1 ' is expressed as equation (6).

number

[0040] Here, in equation (6), A1 0 '~A m m-1 ' represents the absolute position of each arm axis relative to the origin, and is also called the distribution position of each arm axis. Homogeneous transformation matrix A m 0 Therefore, by solving the inverse kinematics, similar to that of a typical articulated robot, the joint angles of the arm axes can be determined when the TCP position is not changed. Furthermore, by calculating the distribution positions of each waist axis and each arm axis when the TCP position is not changed, not only for the first arm but also for the second arm, this technology can be applied to a bi-arm system. As a result, the arm axis of the first arm, the arm axis of the second arm, and the waist axis of the waist maintain TCP and are controlled synchronously before and after movement.

[0041] For example, if the user of the humanoid robot 1 chooses to perform self-motion when moving the waist axis of the humanoid robot 1 by a jog motion, the motion control unit 21 performs the above-mentioned calculations for the arm axis (corresponding to equations (5) to (6)) in addition to the normal calculations for the waist axis (corresponding to equation (4)), and updates the position commands for each servo motor 22. As a result, the humanoid robot 1 can perform a jog motion of the waist axis while maintaining TCP before and after the motion. Alternatively, when the user moves the waist of the humanoid robot 1, the motion control unit 21 may choose to automatically perform self-motion. For example, if the value of equation (4) exceeds a pre-set threshold, the motion control unit 21 may determine that the arm 3 is in contact with an obstacle and choose to perform self-motion.

[0042] Figure 6 is an example of a flowchart showing the self-motion of the motion control unit in the first embodiment.

[0043] This flowchart describes the control flow when the motion control unit 21 performs self-motion in a humanoid robot 1 having m axes for the arms and n axes for the waist. This flow is performed step by step.

[0044] The motion control unit 21, for example, when it receives input regarding the movement of the waist axis based on input from the user, such as from a control panel, calculates the distribution position of each waist axis when self-motion is not performed (S1). In this example, the user moves the waist axis so that the humanoid robot 1 assumes a forward-leaning posture, thereby tilting the torso 2 forward, in order to change the shooting range of the camera installed on the head 5 of the humanoid robot 1. The motion control unit 21 calculates the distribution position of each waist axis when the torso 2 is tilted forward using equation (4).

[0045] The motion control unit 21 calculates the distribution position of each arm axis from the distribution position of each waist axis calculated in S1 and the TCP before the change (S2). If the user does not choose to perform self-motion, S2 may be omitted. The motion control unit 21 operates each arm axis so that the TCP is maintained before and after the motion, and calculates the distribution position of each arm axis using equations (5) and (6).

[0046] The motion control unit 21 updates the position command according to the distribution position of each waist axis and each arm axis calculated in S1 and S2 and outputs it to the motor control unit (S3). The servo motor 22 operates under current control by the motor control unit, and the self-motion is completed.

[0047] According to this embodiment, the humanoid robot 1 having a waist axis can change its posture while maintaining TCP based on synchronous control of the arm axis and the waist axis, thereby achieving self-motion. Furthermore, even if the user only commands the humanoid robot 1 to move its waist axis, for example, the arms 3 and wrists can be automatically controlled so that the humanoid robot 1 maintains TCP.

[0048] Furthermore, according to this embodiment, the humanoid robot 1 does not require re-teaching of the TCP during waist axis jog movements due to self-motion, thus reducing the user's teaching effort. In addition, the humanoid robot 1 can prevent contact with surrounding obstacles through self-motion.

[0049] (Second Embodiment) Figure 7 is an explanatory diagram of another operation of the humanoid robot in the comparative example.

[0050] This operation diagram explains the operation of the humanoid robot 1 when the arm axis and waist axis are not controlled synchronously. In Figure 3, as in Figure 1, the TCP of the humanoid robot 1 is set to the upper part (+Z direction) of the workpiece 100 to be picked as the initial posture. In order to move the TCP horizontally to a linear position even further away than when the arm 3 is fully extended, the humanoid robot 1 tilts its torso 2 forward to expand the range of motion and perform linear interpolation. If the humanoid robot 1 takes a forward-leaning posture by moving only the waist axis without synchronous control of the arm axis and waist axis, the TCP of the humanoid robot 1 will shift in accordance with the movement of the waist and come into contact with an obstacle. Figure 7 shows an example in which the arm 3 comes into contact with the workpiece 100 as the humanoid robot 1 takes a forward-leaning posture.

[0051] Figure 8 is another diagram illustrating the operation of the humanoid robot in the comparative example.

[0052] In this operation diagram, unlike the example in Figure 7, the humanoid robot 1 rotates its waist axis to twist its torso 2 and performs linear interpolation. If the humanoid robot 1 operates its waist axis without synchronous control of the arm axis and waist axis and twists its torso 2, the TCP will deviate from the target direction, requiring the user to re-teach the TCP. Figure 8 shows an example where the humanoid robot 1, by twisting its torso 2, deviates from the direction of the workpiece 100, requiring the TCP to be moved again and thus requiring re-teaching of the TCP.

[0053] Figure 9 is another diagram illustrating the operation of the humanoid robot in the second embodiment.

[0054] Figure 9 illustrates the operation of the humanoid robot 1 when the arm axis and waist axis are controlled synchronously. In Figure 9, the initial posture is the same as in Figure 1, with the TCP of the humanoid robot 1 set to the upper part of the workpiece 100 to be picked. In this embodiment, if the target position of the TCP is set to a position outside the range of motion of the arm 3, the humanoid robot 1 uses synchronous control of the arm axis and waist axis to reach it. In this example, the humanoid robot 1 tilts its torso 2 forward and performs linear interpolation to move the TCP horizontally to a linear position even further away than when the arm 3 is fully extended. In this embodiment, by controlling the arm axis and waist axis synchronously, the humanoid robot 1 can avoid contact with obstacles.

[0055] Figure 10 is another diagram illustrating the operation of the humanoid robot in the second embodiment.

[0056] Unlike the example in Figure 9, in this operation diagram, the humanoid robot 1 rotates its waist axis to twist its torso 2 and performs linear interpolation. In this embodiment, since the humanoid robot 1 operates by synchronously controlling its arm axis and waist axis, the TCP can move horizontally even when the torso 2 is twisted, and does not deviate from the target direction. Therefore, the user does not need to re-teach the TCP to the humanoid robot 1.

[0057] Here, we will explain the calculation method used by the motion control unit 21 when performing self-motion. First, the absolute position of TCP relative to the origin of the humanoid robot 1 at the start of self-motion is calculated using a 4x4 homogeneous transformation matrix T. t 0 Expressed as (3), the homogeneous transformation matrix after the movement of the arm axis when self-motion is not performed is A i i-1 Let '' be the homogeneous transformation matrix after the movement of the lumbar axis, and B j j-1 If we assume '', TCP changes, and the homogeneous transformation matrix T in the changed TCP t 0 '' is expressed as equation (7). Here, Ai i-1 '' represents the distribution position of each arm axis when arm 3 is fully extended. Also, B j j-1 '' represents the distribution position of each lumbar axis when each lumbar axis is operated only by the amount of movement relative to the PCT's target position, without synchronous control.

number

[0058] When performing self-motion, the humanoid robot 1 needs to change the angle of its arm axis according to the distribution position after the movement of the waist axis, so that the target position of TCP does not change before and after the movement. For example, TCP may be adjusted by changing only the angle of the shoulder axis. The simultaneous transformation matrix at the target position of TCP is T t 0 Let ''' be the homogeneous transformation matrix A of the arm axis when the TCP target position does not change before and after the operation. i i-1 If we assume ''', then equation (8) holds true.

number

[0059] From equation (8), the homogeneous transformation matrix A of the arm axis when TCP is not changed is obtained. i i-1 ''' is expressed as equation (9).

number

[0060] Here, in equation (9), A1 0 '''~A m m-1 ''' represents the absolute position of each arm axis relative to the origin. Homogeneous transformation matrix A m 0From this, by solving the inverse kinematics as in a typical articulated robot, the joint angles of the arm axes can be determined when the TCP target position does not change. Furthermore, this technique can be applied to both arms by calculating the distribution positions of each waist axis and each arm axis when the TCP target position does not change, not only for the first arm but also for the second arm. As a result, the arm axis of the first arm, the arm axis of the second arm, and the waist axis of the waist maintain TCP and are controlled synchronously before and after movement.

[0061] Figure 11 is an example of a flowchart showing the self-motion of the motion control unit in the second embodiment.

[0062] This flowchart describes the control flow in a humanoid robot 1 having an m-axis for the arm axis and an n-axis for the waist axis, in which the motion control unit 21 moves the arm axis and waist axis by self-motion and performs linear interpolation. The block diagram is the same as in Figure 5, so its explanation is omitted. This flow is performed at each time step.

[0063] When the motion control unit 21 receives input regarding the horizontal movement of the TCP based on input from the user to the control panel, etc., it calculates the target position of the TCP after horizontal movement (S21). The motion control unit 21 determines whether the TCP calculated in S21 is within the range of motion of the arm 3 (S22). For example, the motion control unit 21 can determine whether the TCP is within the range of motion of the arm by comparing the TCP with the maximum value of the range of motion of the arm 3. If the TCP is not within the range of motion of the arm, the motion control unit 21 decides to perform self-motion. Whether or not to perform self-motion may be decided by the user. If the TCP is within the range of motion of the arm 3, the motion control unit 21 does not perform self-motion and only performs the normal movement of the arm 3.

[0064] If the motion control unit 21 determines that TCP is not within the range of motion of the arm (NO in S22), the motion control unit 21 calculates the distribution positions of each arm axis and waist axis in the case where self-motion is not performed (S23). In this example, as shown in Figure 7, the humanoid robot 1 moves the waist axis and performs linear interpolation to move TCP to a linear position further away than when the arm 3 is fully extended. Also, if TCP can be reached by either tilting the torso 2 forward (Figure 9) or twisting the torso 2 (Figure 10), the motion control unit 21 may select an action with a smaller total movement. By selecting an action with a smaller total movement, the motion control unit 21 can shorten the movement time of the arm 3 and torso 2, and can also achieve highly accurate movement by preventing errors in the amount of movement. The motion control unit 21 calculates the distribution positions of each arm axis and waist axis when moving the torso 2 using equation (7).

[0065] The motion control unit 21 calculates the distribution position of each arm axis from the distribution position of each waist axis calculated in S23 and the target position of the TCP calculated in S21. The motion control unit 21 calculates the distribution position of each arm axis using equations (8) and (9) in order to operate each arm axis so that the target position of the TCP is maintained before and after the operation (S24). The motion control unit 21 updates the position command according to the distribution position of each waist axis and each arm axis calculated in S23 and S24 and outputs it to the motor control unit (S25). The servo motor 22 operates under current control by the motor control unit, and the self-motion is completed. Also, through self-motion, the arm 3 and torso 2 move so that the arm 3 moves horizontally relative to the target position of the TCP.

[0066] On the other hand, if the motion control unit 21 determines that TCP is within the operating range of arm 3 (YES in S22), the motion control unit 21 calculates the distribution position of each arm axis when performing normal arm 3 operation (S26).

[0067] According to this embodiment, the humanoid robot 1 having a waist axis can perform linear interpolation based on synchronous control of the arm axis and the waist axis, allowing the TCP to reach a position that cannot be reached by the arm's range of motion alone. Furthermore, even if the user only commands the humanoid robot 1 to maintain the target position of the TCP, for example, the arms 3, torso 2, etc., can be automatically controlled by the humanoid robot 1 to maintain the target position of the TCP.

[0068] Furthermore, according to this embodiment, the humanoid robot 1 does not require re-teaching of the TCP during waist axis jog movements due to self-motion, thus reducing the user's teaching effort. In addition, the humanoid robot 1 can prevent contact with surrounding obstacles through self-motion.

[0069] (Third embodiment) Figure 12 is a hardware configuration diagram of the control device in the third embodiment.

[0070] The control device 20 in Figure 12 comprises a processor 52 such as a CPU, a main memory 53 such as RAM, an auxiliary storage device 54 such as an HDD, a network interface 55 such as a LAN (Local Area Network) board, a device interface 56 such as memory slots and memory ports, and a bus 57 that connects these devices to each other. The control device 20 is, for example, a computer such as a PC, and if it is installed outside the humanoid robot 1, it may also include input devices such as a keyboard and mouse, and output devices such as an LCD (Liquid Crystal Display) monitor.

[0071] In this embodiment, a control program for causing a computer to execute the operation control of the servo motor 22 by the control device 20 is installed in the auxiliary storage device 54. The control device 20 loads this program into the main storage device 53 and executes it using the processor 52. This enables the operation control unit functions shown in Figure 5 to be realized within the control device 20, and allows for the operation control of the servo motor 22 as described in the first and second embodiments. The data generated by this information processing may be temporarily held in the main storage device 53 or stored in the auxiliary storage device 54.

[0072] The control program can be installed, for example, by connecting an external device 58 containing the program to the device interface 56 and storing it from the external device 58 to the auxiliary storage device 54. An example of the external device 58 is a computer-readable recording medium or a recording device that incorporates such a recording medium. Examples of recording media include CD-ROM (Compact Disk Read Only Memory), CD-R (Compact Disk Recordable), flexible disk, DVD-ROM (Digital Versatile Disk Read Only Memory), and DVD-R (Digital Versatile Disk Recordable), while an example of a recording device is an HDD. Alternatively, the program may be installed by downloading it from the internet via the network interface 55.

[0073] According to this embodiment, the functions of the control device 20 in the first and second embodiments can be realized by software.

[0074] Although several embodiments have been described above, these embodiments are presented only as examples and are not intended to limit the scope of the invention. The novel humanoid robot 1 or control device 20 described herein can be implemented in a variety of other forms. Furthermore, various omissions, substitutions, and modifications can be made to the embodiments of the humanoid robot 1 or control device 20 described herein, without departing from the spirit of the invention. The appended claims and equivalents are intended to include such embodiments and modifications included in the scope and spirit of the invention. [Explanation of Symbols]

[0075] 1: Humanoid robot, 2: Torso, 3: Arms, 4: Waist, 5: Head 10: Shoulder, 11: Upper arm, 12: Forearm, 13: Wrist 20: Control device, 21: Motion control unit, 22: Servo motor, 23: Encoder, 52: Processor, 53: Main memory, 54. Auxiliary storage device, 55. Network interface, 56: Device interface, 57: Bus, 58: External device, 100: Work

Claims

1. The robot's torso and Attached to the first side of the torso, a first arm including one or more arm axes, The torso is supported and comprises a waist portion including one or more waist axes, The one or more arm axes in the first arm and the one or more waist axes in the waist operate by synchronous control. A humanoid robot.

2. The humanoid robot according to claim 1, wherein the aforementioned synchronous control is performed during a jog operation which is a manual operation by the user.

3. The synchronous control is performed by maintaining the TCP position, which is the position of the end of the hand, between the one or more arm axes in the first arm and the one or more waist axes in the waist before and after the movement, in the humanoid robot according to claim 1.

4. The humanoid robot according to claim 1, further comprising a control device for performing the synchronous control.

5. The aforementioned humanoid robot is Attached to the second side of the torso, further comprising a second arm including one or more arm axes, The one or more arm axes in the first arm, the one or more arm axes in the second arm, and the one or more waist axes in the waist maintain TCP before and after the movement so that the synchronous control is performed. The humanoid robot according to claim 1.

6. The aforementioned humanoid robot is It has a head that includes a camera that takes pictures of the surrounding environment and acquires images, The camera's shooting range is changed by the synchronous control of the one or more arm axes in the first arm and the one or more waist axes in the waist. The humanoid robot according to claim 1.

7. The humanoid robot according to claim 1, wherein the synchronous control is performed so that the first arm and the waist axis move to reach the target position of the TCP, which is the position of the end of the hand, when the target position of the TCP is not within the range of motion of the first arm.

8. The humanoid robot according to claim 7, wherein the synchronous control is performed so that the first arm moves horizontally with respect to the target position of the TCP.