Robot, control method of robot, and program

By introducing a rotating connection point and tilt detection system into the robot, dynamically adjusting the rotation angle of the head, solving the problem of unnatural movement of the robot when tilted or lifted, and achieving a more realistic biological posture simulation.

JP2025039639AActive Publication Date: 2025-03-21CASIO COMPUTER CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2025000074
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-01-06
Publication Date
2025-03-21
Estimated Expiration
2043-01-25

AI Technical Summary

Technical Problem

Existing robots find it difficult to truly simulate the pose of creatures when tilted or lifted, resulting in unnatural movements.

Method used

By introducing a rotational connection point between the head and the body in the robot and equipped with a tilt detection system, the rotation angle of the head is dynamically adjusted to maintain horizontal alignment with the ground.

Benefits of technology

It realizes that the head automatically adjusts to maintain level when the robot is tilted or lifted, enhancing the authenticity of the robot simulates biological posture.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025039639000001_ABST
    Figure 2025039639000001_ABST
Patent Text Reader

Abstract

To provide a robot capable of realistically simulating a creature, a control method of the robot, and a program.SOLUTION: A robot 200 includes a torso part and a head part rotatably connected to the torso part. An inclination determination unit 113 determines whether the torso part is inclined from a horizontal direction. When the inclination determination unit 113 determines that the torso part is inclined from the horizontal direction, an operation control unit 112 rotates the head part with respect to the torso part such that the head part faces in the horizontal direction.SELECTED DRAWING: Figure 8
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a robot, a control method for a robot, and a program. [Background technology]

[0002] There are known robots that imitate living creatures such as pets. For example, Patent Document 1 discloses a technique for controlling the posture stability of a pet-type robot that imitates the body and movements of an animal. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] JP 2003-71752 A Summary of the Invention [Problem to be solved by the invention]

[0004] In such robots, there is a demand for more realistic simulation of living creatures when the robot is placed at a non-horizontal angle or tilted from the horizontal, such as when the robot is lifted by a user.

[0005] The present invention has been made to solve the above-mentioned problems, and has an object to provide a robot, a robot control method, and a program that can realistically simulate living things. [Means for solving the problem]

[0006] In order to achieve the above object, one aspect of the robot according to the present invention is to A body portion and A head portion rotatably connected to the body portion; a tilt determination means for determining whether the body portion is tilted from a horizontal direction; a motion control means for rotating the head relative to the torso so that the head faces the horizontal direction when the tilt determination means determines that the torso is tilted from the horizontal direction; The present invention is characterized by comprising: Effect of the Invention

[0007] According to the present invention, it is possible to provide a robot capable of realistically simulating a living thing, and a method and program for controlling the robot. [Brief description of the drawings]

[0008] [Figure 1] FIG. 1 is a diagram showing an external appearance of a robot according to an embodiment. [Diagram 2] 1 is a cross-sectional side view of a robot according to an embodiment. [Diagram 3] FIG. 2 is a diagram showing a housing of the robot according to the embodiment. [Figure 4] FIG. 1 is a first diagram showing the movement of a twist motor of a robot according to an embodiment; [Diagram 5] FIG. 11 is a second diagram showing the movement of the twist motor of the robot according to the embodiment. [Figure 6] FIG. 2 is a first diagram showing the movement of an up and down motor of the robot according to the embodiment. [Figure 7] FIG. 11 is a second diagram showing the movement of the up and down motor of the robot according to the embodiment. [Figure 8] 1 is a block diagram showing a functional configuration of a robot according to an embodiment. [Figure 9] FIG. 1 is a diagram showing an example of an external stimulus according to an embodiment. [Figure 10] 1A and 1B are diagrams showing the housing of a robot according to an embodiment when the robot is in a normal posture, as viewed from the side and the front, respectively. [Figure 11] 1A and 1B are first diagrams showing the movement of the head when the robot according to the embodiment is tilted in the forward and backward directions. [Figure 12]13(a) and 13(b) are second diagrams showing the movement of the head when the robot according to the embodiment is tilted in the forward and backward directions. [Figure 13] 1A and 1B are first diagrams showing the movement of the head when the robot according to the embodiment is tilted left and right. [Figure 14] 13(a) and 13(b) are second diagrams showing the movement of the head when the robot according to the embodiment is tilted left and right. [Figure 15] 13A and 13B are diagrams illustrating an example in which the robot according to the embodiment executes an action of moving its head. [Figure 16] FIG. 2 is a diagram showing an example in which a robot according to an embodiment is charged at a charging station. [Figure 17] 10 is a flowchart showing a flow of a robot control process according to the embodiment. [Figure 18] 10 is a flowchart showing a flow of a head horizontal control process according to the embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0009] Hereinafter, an embodiment of the present invention will be described with reference to the drawings. In the drawings, the same or corresponding parts are denoted by the same reference numerals.

[0010] 1 to 3 show the external appearance of a robot 200 according to this embodiment. As shown in Fig. 1, the robot 200 is a pet robot that imitates a small animal. The robot 200 has an exterior 201 that includes decorative parts 202 that imitate eyes and fluffy fur 203.

[0011] 2 and 3, the robot 200 includes a housing 207. The housing 207 is covered by an exterior 201 and is stored inside the exterior 201. The housing 207 includes a head 204, a connecting portion 205, and a body portion 206. The connecting portion 205 connects the head 204 and the body portion 206 together.

[0012] Exterior 201 is an example of an exterior member, and is long in the front-rear direction, and has a bag-like shape capable of housing 207 therein. Exterior 201 is formed in a cylindrical shape from head 204 to body 206, and integrally covers body 206 and head 204. With exterior 201 of such a shape, robot 200 is formed in a crawling shape.

[0013] The outer surface of exterior 201 is made of artificial pile fabric that imitates fur 203 of a small animal in order to simulate the feel of the skin of a small animal. The lining of exterior 201 is made of synthetic fiber, natural fiber, natural leather, artificial leather, a synthetic resin sheet material, a rubber sheet material, or the like. Since exterior 201 is made of such a flexible material, it follows the movement of housing 207. Specifically, exterior 201 follows the rotation of head 204 relative to body 206.

[0014] In order for exterior 201 to follow the movement of housing 207, exterior 201 is attached to housing 207 with snap buttons (not shown). Specifically, at least one snap button is provided in the front of head 204, and at least one snap button is provided in the rear of body 206. Snap buttons that fit with the snap buttons provided on head 204 and body 206 are also provided in corresponding positions on exterior 201, and exterior 201 is fastened to housing 207 by the snap buttons and attached. Note that the number and positions of the snap buttons are merely examples and can be changed as desired.

[0015] The body 206 extends in the front-rear direction, and comes into contact with a support surface, such as a floor or a table, on which the robot 200 is placed, via the exterior 201. The body 206 is provided with a twist motor 221 at its front end. The head 204 is connected to the front end of the body 206 via a connecting part 205. The connecting part 205 is provided with an up-down motor 222. Note that, although the twist motor 221 is provided in the body 206 in FIG. 2, it may be provided in the connecting part 205. The twist motor 221 and the up-down motor 222 connect the head 204 to the body 206 so as to be rotatable about axes in the left-right and front-rear directions of the robot 200.

[0016] As the XYZ coordinate axes, the X-axis and Y-axis are set in a horizontal plane, and the Z-axis is set in the vertical direction. The positive direction of the Z-axis corresponds to the vertical upward direction. For ease of explanation, the following description will be given assuming that the robot 200 is placed on the placement surface with the left-right direction (width direction) of the robot 200 being the X-axis direction, and the front-rear direction of the robot 200 being the Y-axis direction.

[0017] The connecting part 205 connects the body part 206 and the head 204 to be rotatable about a first rotation axis that passes through the connecting part 205 and extends in the front-rear direction (Y direction) of the body part 206. The twist motor 221 rotates (forward rotation) the head 204 clockwise (right-handed) around the first rotation axis within a forward rotation angle range, and rotates (reverse rotation) the head 204 counterclockwise (left-handed) within a reverse rotation angle range, relative to the body part 206, as shown in Figs.

[0018] In this description, clockwise refers to the clockwise direction when looking from the body 206 toward the head 204. Clockwise rotation is also called "right-handed twist rotation" and counterclockwise rotation is also called "left-handed twist rotation". The maximum angle of right-handed or left-handed twist rotation is arbitrary. In Figs. 4 and 5, the angle of the head 204 when the head 204 is not twisted to the right or left (hereinafter "twist reference angle") is represented by 0. The angle when the head 204 is twisted to the left most (counterclockwise rotation) is represented by -100, and the angle when the head is twisted to the right most (clockwise rotation) is represented by +100.

[0019] Furthermore, the connecting part 205 connects the body part 206 and the head part 204 to be rotatable about a second rotation axis that passes through the connecting part 205 and extends in the left-right direction (width direction, X direction) of the body part 206. The up-down motor 222 rotates the head part 204 upward within a forward rotation angle range (forward rotation) and rotates the head part 204 downward within a reverse rotation angle range (reverse rotation) about the second rotation axis, as shown in Figs. 6 and 7 .

[0020] The maximum angle of upward or downward rotation is arbitrary, but in Figures 6 and 7, the angle of head 204 when head 204 is not rotated upward or downward (hereinafter referred to as the "vertical reference angle") is represented as 0, the angle when head 204 is rotated most downward is represented as -100, and the angle when head 204 is rotated most upward is represented as +100.

[0021] 2 and 3, the robot 200 is provided with touch sensors 211 on the head 204 and the body 206. The touch sensors 211 enable the robot 200 to detect when the user strokes or hits the head 204 or the body 206.

[0022] The robot 200 includes an acceleration sensor 212, a microphone 213, a gyro sensor 214, an illuminance sensor 215, a speaker 231, and a battery 250 on the torso 206. The robot 200 can detect a change in the posture of the robot 200 itself by the acceleration sensor 212 and the gyro sensor 214, and can also detect that the robot 200 has been lifted up, turned around, or thrown by a user. The robot 200 can detect the illuminance around the robot 200 by the illuminance sensor 215. The robot 200 can detect external sounds by the microphone 213. The robot 200 can emit cries by the speaker 231.

[0023] At least a portion of the acceleration sensor 212, microphone 213, gyro sensor 214, illuminance sensor 215 and speaker 231 may be provided in the head 204, not limited to the torso 206, or in both the torso 206 and the head 204.

[0024] Next, the functional configuration of the robot 200 will be described with reference to Fig. 8. As shown in Fig. 8, the robot 200 includes a control device 100, a sensor unit 210, a drive unit 220, an output unit 230, and an operation unit 240. These units are connected to each other via a bus line BL, for example. Note that instead of the bus line BL, a wired interface such as a USB (Universal Serial Bus) cable or a wireless interface such as Bluetooth (registered trademark) may be used.

[0025] The control device 100 includes a control unit 110 and a storage unit 120. The control device 100 controls the operation of the robot 200 by the control unit 110 and the storage unit 120.

[0026] The control unit 110 includes a CPU (Central Processing Unit). The CPU is, for example, a microprocessor, and is a central processing unit that executes various processes and calculations. In the control unit 110, the CPU reads out a control program stored in a ROM, and controls the operation of the entire device (robot 200) while using a RAM as a work memory. Although not shown, the control unit 110 also includes a clock function, a timer function, and the like, and can measure the date and time. The control unit 110 may also be called a "processor."

[0027] The storage unit 120 includes a ROM (Read Only Memory), a RAM (Random Access Memory), a flash memory, etc. The storage unit 120 stores programs and data, including an OS (Operating System) and application programs, that are used by the control unit 110 to perform various processes. The storage unit 120 also stores data that is generated or acquired by the control unit 110 performing various processes.

[0028] The sensor unit 210 includes the above-mentioned touch sensor 211, acceleration sensor 212, gyro sensor 214, and microphone 213. The control unit 110 acquires, as external stimuli, detection values ​​detected by the various sensors included in the sensor unit 210 via the bus line BL. Note that the sensor unit 210 may include sensors other than the touch sensor 211, acceleration sensor 212, gyro sensor 214, and microphone 213. By increasing the types of sensors included in the sensor unit 210, it is possible to increase the types of external stimuli that the control unit 110 can acquire.

[0029] The touch sensor 211 includes, for example, a pressure sensor or a capacitance sensor, and detects contact with some object. Based on the detection value of the touch sensor 211, the control unit 110 can detect whether the robot 200 is being stroked or hit by the user.

[0030] The acceleration sensor 212 detects acceleration applied to the body 206 of the robot 200. The acceleration sensor 212 detects acceleration in each of the X-axis direction, the Y-axis direction, and the Z-axis direction, that is, acceleration in three axes.

[0031] For example, the acceleration sensor 212 detects gravitational acceleration when the robot 200 is stationary. The control unit 110 can detect the current posture of the robot 200 based on the gravitational acceleration detected by the acceleration sensor 212. In other words, the control unit 110 can detect whether the housing 207 of the robot 200 is tilted from the horizontal direction based on the gravitational acceleration detected by the acceleration sensor 212. In this way, the acceleration sensor 212 functions as a tilt detection means that detects the tilt of the robot 200.

[0032] Furthermore, when the user lifts or throws the robot 200, the acceleration sensor 212 detects the acceleration accompanying the movement of the robot 200 in addition to the gravitational acceleration. Therefore, the control unit 110 can detect the movement of the robot 200 by removing the gravitational acceleration component from the detection value detected by the acceleration sensor 212.

[0033] The gyro sensor 214 detects the angular velocity when rotation is applied to the body 206 of the robot 200. Specifically, the gyro sensor detects the angular velocity of three-axis rotation, namely, rotation about the X-axis direction, rotation about the Y-axis direction, and rotation about the Z-axis direction. By combining the detection values ​​detected by the acceleration sensor 212 and the detection values ​​detected by the gyro sensor 214, the movement of the robot 200 can be detected with higher accuracy.

[0034] The touch sensor 211, the acceleration sensor 212, and the gyro sensor 214 detect the strength of contact, the acceleration, and the angular velocity, respectively, at synchronized timing (for example, every 0.25 seconds), and output the detection values ​​to the control unit 110.

[0035] The microphone 213 detects sounds around the robot 200. Based on the components of the sound detected by the microphone 213, the control unit 110 can detect, for example, whether the user is calling out to the robot 200 or clapping his hands.

[0036] The illuminance sensor 215 detects the illuminance of the surroundings of the robot 200. Based on the illuminance detected by the illuminance sensor 215, the control unit 110 can detect whether the surroundings of the robot 200 have become brighter or darker.

[0037] The driving unit 220 includes a twist motor 221 and an up-down motor 222, and is driven by the control unit 110. The twist motor 221 is a servo motor for rotating the head 204 in the left-right direction (width direction) with respect to the torso unit 206, with the front-rear direction as an axis. The up-down motor 222 is a servo motor for rotating the head 204 in the up-down direction (height direction) with respect to the torso unit 206, with the left-right direction as an axis. The robot 200 can express the motion of twisting the head 204 sideways by the twist motor 221, and can express the motion of raising and lowering the head 204 by the up-down motor 222.

[0038] The output unit 230 includes a speaker 231, and when the control unit 110 inputs sound data to the output unit 230, sound is output from the speaker 231. For example, when the control unit 110 inputs data on the cry of the robot 200 to the output unit 230, the robot 200 emits a pseudo cry.

[0039] Incidentally, instead of or in addition to the speaker 231, the output unit 230 may be provided with a display such as a liquid crystal display or a light-emitting unit such as an LED (Light Emitting Diode), and emotions such as joy and sadness may be displayed on the display or expressed by the color and brightness of the emitted light.

[0040] The operation unit 240 includes operation buttons, a volume knob, etc. The operation unit 240 is an interface for accepting user operations such as turning the power on and off, adjusting the volume of the output sound, etc.

[0041] The battery 250 stores power used by the robot 200. When the robot 200 returns to the charging station, the battery 250 is charged by the charging station.

[0042] Next, a functional configuration of the control unit 110 will be described. As shown in Fig. 8, the control unit 110 functionally includes an external stimulus acquisition unit 111 which is an example of an external stimulus acquisition means, an operation control unit 112 which is an example of an operation control means, and an inclination determination unit 113 which is an example of an inclination determination means. In the control unit 110, the CPU reads a program stored in the ROM into the RAM, and executes and controls the program, thereby functioning as each of these units.

[0043] The external stimulus acquisition unit 111 acquires an external stimulus. The external stimulus is a stimulus that acts on the robot 200 from outside the robot 200. Examples of the external stimulus include "a loud noise was heard," "someone spoke to," "someone stroked," "someone lifted up," "someone turned upside down," "it became brighter," "it became darker," and the like. The external stimulus is also referred to as an "event" below.

[0044] The external stimulus acquisition unit 111 acquires an external stimulus based on a detection value by the sensor unit 210. More specifically, the external stimulus acquisition unit 111 acquires a plurality of external stimuli of different types from each other by a plurality of sensors (a touch sensor 211, an acceleration sensor 212, a microphone 213, a gyro sensor 214, and an illuminance sensor 215) provided in the sensor unit 210.

[0045] 9 shows an example of external stimuli (events) that can be acquired by the external stimulus acquisition unit 111. The external stimulus acquisition unit 111 acquires an external stimulus caused by "a loud noise being made" or "being spoken to" using the microphone 213. The external stimulus acquisition unit 111 acquires an external stimulus caused by "being stroked" using the touch sensor 211. The external stimulus acquisition unit 111 acquires an external stimulus caused by "being lifted" or "being turned upside down" using the acceleration sensor 212 and gyro sensor 214. The external stimulus acquisition unit 111 acquires an external stimulus caused by "it becoming brighter" or "it becoming darker" using the illuminance sensor 215.

[0046] When an external stimulus is acquired by the external stimulus acquisition unit 111, the movement control unit 112 causes the robot 200 to execute a corresponding movement that is a movement corresponding to the acquired external stimulus. For example, when "a loud noise is heard", the movement control unit 112 causes the robot 200 to execute a movement of surprise. When "someone speaks to" the movement control unit 112 causes the robot 200 to execute a movement that responds to the speech. When "the robot is turned upside down", the movement control unit 112 causes the robot 200 to execute a movement that shows an unpleasant reaction. When "the robot is petted", the movement control unit 112 causes the robot 200 to execute a movement of joy.

[0047] Here, the action that the action control unit 112 causes the robot 200 to execute is realized by one or both of the motion by the driving unit 220 and the output by the output unit 230. Specifically, the motion by the driving unit 220 corresponds to rotating the head 204 by driving the twist motor 221 or the up-down motor 222. Moreover, the output by the output unit 230 corresponds to outputting a cry from the speaker 231, displaying an image on a display, or illuminating an LED. The action of the robot 200 may be called the gesture, behavior, etc. of the robot 200.

[0048] Although not shown in the figure, the correspondence between the external stimuli and the corresponding actions is stored in advance as an action table in the storage unit 120. The action control unit 112 refers to the action table and causes the robot 200 to execute a corresponding action corresponding to the external stimulus acquired by the external stimulus acquisition unit 111.

[0049] When no external stimulus is acquired by the external stimulus acquisition unit 111, the motion control unit 112 causes the robot 200 to perform a spontaneous motion. Here, the spontaneous motion means a motion that does not depend on an external stimulus, such as a motion that simulates breathing.

[0050] Returning to FIG. 8, the inclination determination unit 113 determines whether or not the torso 206 has been inclined from the horizontal direction. For example, when the robot 200 is placed at an angle to the horizontal direction, such as when the robot 200 is placed on an inclined placement surface or an uneven placement surface, the torso 206 is in a state of being inclined from the horizontal direction. Alternatively, the torso 206 may be inclined from the horizontal direction due to an external stimulus such as "lifted" or "turned upside down" among the external stimuli acquired by the external stimulus acquisition unit 111. The inclination determination unit 113 determines whether or not the torso 206 has been inclined from the horizontal direction due to such a situation.

[0051] Specifically, tilt determination unit 113 determines the direction of gravitational acceleration acting on torso section 206 based on a detection value by acceleration sensor 212 provided in torso section 206. Then, tilt determination unit 113 determines whether torso section 206 has been tilted from the horizontal direction based on the relationship between the direction of gravitational acceleration and a reference plane that is preset on torso section 206.

[0052] Generally, when a living thing's torso is tilted from the horizontal direction, it exhibits a physiological reflex (righting reaction) that keeps its head horizontal to the ground. In other words, when a living thing's torso is tilted from the horizontal direction, it has a property of rotating its head relative to the torso so that the head is kept horizontal to the ground, rather than keeping the head tilted in the same manner as the torso.

[0053] Considering the nature of such living things, when the housing 207 of the robot 200 is tilted from the horizontal direction, if the head 204 is maintained straight relative to the body 206, the posture of the living thing will be unnatural. In consideration of this, and in order to mimic a natural posture of a living thing, when the tilt determination unit 113 determines that the body 206 has been tilted from the horizontal direction, the movement control unit 112 rotates the head 204 relative to the body 206 so that the head 204 faces the horizontal direction.

[0054] 10(a) and (b) show the robot 200 in a normal posture, not tilted from the horizontal direction. Here, the normal posture refers to a state in which the head 204 is not rotated in any direction relative to the body 206, and is an initial state that serves as a reference for the tilt of the robot 200.

[0055] For ease of understanding, in Figures 10(a) and (b), only the housing 207 of the robot 200 is shown, and the exterior 201, the sensor unit 210, etc. are omitted. The same applies to the following Figures 11 to 14.

[0056] A virtual first reference plane 310 is set on the torso 206 for determining the inclination of the torso 206. A virtual second reference plane 320 is set on the head 204 for determining the inclination of the head 204. In Figures 10(a) and (b), the first reference plane 310 and the second reference plane 320 are indicated by dashed lines, and the vertical direction is indicated by a dashed arrow. The first reference plane 310 and the second reference plane 320 are set to be parallel to each other when the robot 200 is in a normal posture.

[0057] 10(a) and 10(b), when the robot 200 is in a normal posture, an angle A between the first reference plane 310 and the vertical direction when the housing 207 is viewed from the side, and an angle B between the second reference plane 320 and the vertical direction are both right angles (90 degrees). In addition, an angle C between the first reference plane 310 and the vertical direction when the housing 207 is viewed from the front, and an angle D between the second reference plane 320 and the vertical direction are both right angles (90 degrees).

[0058] When both angles A and C between first reference plane 310 and the vertical direction are within a predetermined error range from 90 degrees, tilt determination unit 113 determines that body 206 is not tilted from the horizontal direction. In contrast, when at least one of angles A and C between first reference plane 310 and the vertical direction deviates from 90 degrees, tilt determination unit 113 determines that body 206 is tilted from the horizontal direction.

[0059] Hereinafter, the movement of head 204 when torso 206 is tilted from such a normal posture will be described with reference to Figs.

[0060] First, when the torso 206 is tilted from the horizontal direction toward the front-to-back direction of the robot 200, the motion control unit 112 rotates the head 204 about an axis in the left-right direction relative to the torso 206 so that the head 204 faces the horizontal direction.

[0061] 11(a), when the robot 200 is tilted so that the front of the robot 200 is lifted, the entire housing 207 is tilted in the front-to-rear direction, so that the first reference plane 310 and the second reference plane 320 are deviated from the horizontal. In this case, the angle A1 between the first reference plane 310 and the vertical direction is smaller than the angle A, which is 90 degrees. Therefore, the tilt determination unit 113 determines that the body 206 has been tilted from the horizontal direction.

[0062] In this case, as shown in Fig. 11(b), the movement control unit 112 drives the up-down motor 222 to rotate the head 204 relative to the body 206 so that the head 204 faces the horizontal direction. Specifically, the movement control unit 112 rotates the up-down motor 222 downward by an angle B1 around a second rotation axis extending in the left-right direction. As a result, the second reference plane 320 returns to the horizontal direction, so that the head 204 faces the horizontal direction. The angle B1 is calculated from the absolute value of the difference between the angle A (90 degrees) and the angle A1.

[0063] 12(a), when the robot 200 is tilted so that the rear of the robot 200 is lifted, the entire housing 207 is tilted in the front-to-rear direction, so that the first reference plane 310 and the second reference plane 320 are shifted from the horizontal. In this case, the angle A2 between the first reference plane 310 and the vertical direction becomes larger than the angle A, which is 90 degrees. Therefore, the tilt determination unit 113 determines that the body 206 has been tilted from the horizontal direction.

[0064] In this case, as shown in Fig. 12(b), the movement control unit 112 drives the up-down motor 222 to rotate the head 204 relative to the body 206 so that the head 204 faces the horizontal direction. Specifically, the movement control unit 112 rotates the up-down motor 222 upward by an angle B2 around a second rotation axis extending in the left-right direction. As a result, the second reference plane 320 returns to the horizontal direction, so that the head 204 faces the horizontal direction. The angle B2 is calculated from the absolute value of the difference between the angle A (90 degrees) and the angle A2.

[0065] Secondly, when the torso 206 is tilted from the horizontal direction to the left or right direction of the robot 200, the motion control unit 112 rotates the head 204 relative to the torso 206 about an axis in the front-to-back direction so that the head 204 faces the horizontal direction.

[0066] 13(a), when the robot 200 is tilted so as to twist clockwise, the entire housing 207 is tilted left and right, so that the first reference plane 310 and the second reference plane 320 are shifted from the horizontal. In this case, the angle C1 between the first reference plane 310 and the vertical direction becomes larger than the angle C of 90 degrees. Therefore, the tilt determination unit 113 determines that the torso 206 has been tilted from the horizontal direction.

[0067] In this case, as shown in Fig. 13(b), the movement control unit 112 drives the twist motor 221 to rotate the head 204 relative to the body 206 so that the head 204 faces the horizontal direction. Specifically, the movement control unit 112 rotates the twist motor 221 counterclockwise by an angle D1 around a first rotation axis extending in the front-rear direction. This returns the second reference plane 320 to the horizontal direction, so that the head 204 faces the horizontal direction. The angle D1 is calculated from the absolute value of the difference between the angle C (90 degrees) and the angle C1.

[0068] 14(a), when the robot 200 is tilted so as to twist counterclockwise, the entire housing 207 is tilted left and right, so that the first reference plane 310 and the second reference plane 320 are deviated from the horizontal. In this case, the angle C2 between the first reference plane 310 and the vertical direction is smaller than the angle C of 90 degrees. Therefore, the tilt determination unit 113 determines that the torso 206 has been tilted from the horizontal direction.

[0069] In this case, as shown in Fig. 14(b), the movement control unit 112 drives the twist motor 221 to rotate the head 204 relative to the body 206 so that the head 204 faces the horizontal direction. Specifically, the movement control unit 112 rotates the twist motor 221 clockwise by an angle D2 around a first rotation axis extending in the front-rear direction. This returns the second reference plane 320 to the horizontal direction, so that the head 204 faces the horizontal direction. The angle D2 is calculated from the absolute value of the difference between the angle C (90 degrees) and the angle C2.

[0070] More specifically, when tilt determination unit 113 determines that torso 206 has been tilted from the horizontal direction, movement control unit 112 determines whether the rotation angle of head 204 for facing head 204 to the horizontal direction is equal to or less than the limit angle. When the rotation angle of head 204 is equal to or less than the limit angle, movement control unit 112 rotates head 204 relative to torso 206 so that head 204 faces the horizontal direction.

[0071] Here, the limit angle corresponds to the limit angle of the twist motor 221 when the head 204 is rotated around the axis of the front-rear direction of the robot 200. When the head 204 is rotated clockwise as shown in FIG. 4, the limit angle corresponds to +100 which is the upper limit of the forward rotation angle range, and when the head 204 is rotated counterclockwise as shown in FIG. 5, the limit angle corresponds to -100 which is the upper limit of the reverse rotation angle range. Moreover, when the head 204 is rotated around the axis of the left-right direction of the robot 200, the limit angle corresponds to the limit angle of the up-down motor 222. When the head 204 is rotated upward as shown in FIG. 6, the limit angle corresponds to +100 which is the upper limit of the forward rotation angle range, and when the head 204 is rotated downward as shown in FIG. 7, the limit angle corresponds to -100 which is the upper limit of the reverse rotation angle range.

[0072] 11(b) to 14(b), the rotation angle of head 204 to orient head 204 in the horizontal direction corresponds to the angle when head 204 is rotated from the current angle in the opposite direction to the tilt direction of torso 206 by the amount of change in tilt of torso 206. If the rotation angle of head 204 to orient head 204 in the horizontal direction exceeds the limit angle, it exceeds the range of rotation possible by twist motor 221 or up-down motor 222. Therefore, in this case, operation control unit 112 does not rotate head 204 relative to torso 206.

[0073] Next, a case will be described in which, after the head horizontal control process as described above has been performed, the movement control unit 112 makes the robot 200 perform a corresponding movement corresponding to the external stimulus acquired by the external stimulus acquisition unit 111. Some of the corresponding movements performed by the robot 200 in response to the external stimulus include movements that rotate the head 204 relative to the torso 206, such as a nodding movement, a looking up movement, a shaking movement, a twisting movement, and the like. When the movement control unit 112 makes the robot 200 perform such a corresponding movement after the head horizontal control process has been performed, the movement control unit 112 rotates the head 204 relative to the torso 206 based on the angle of the head 204 after it has been rotated so that it faces the horizontal direction in the head horizontal control process.

[0074] A specific description will be given with reference to Figures 15(a) and (b). Figure 15(a) shows an example in which the movement control unit 112 causes the robot 200 to execute a movement of rotating the head 204 by an angle of ±θ with respect to the torso 206 using the up-down motor 222 as a corresponding movement in response to an external stimulus when the torso 206 is not tilted from the horizontal direction. In this case, the movement control unit 112 rotates the head 204 by an angle of ±θ with respect to the torso 206, using the up-down reference angle of the up-down motor 222 (0 in Figures 6 and 7) as a reference.

[0075] In contrast, Fig. 15(b) shows an example in which, when the torso 206 is tilted from the horizontal direction, the movement control unit 112 rotates the head 204 downward by angle B1 through head horizontal control processing, and then causes the robot 200 to execute the same corresponding movement as in Fig. 15(a). In this case, the movement control unit 112 rotates the head 204 by angle ±θ with respect to the torso 206, based on the angle obtained by rotating the head 204 by angle B1 from the vertical reference angle.

[0076] 15(a), the movement control unit 112 does not set an offset in the rotation range of the up-down motor 222, and rotates the head 204 in the range from angle θ to angle -θ. In contrast, in FIG. 15(b), the movement control unit 112 sets an offset of angle B1 downward in the rotation range of the up-down motor 222, and rotates the head 204 in the range from angle (-B1+θ) to angle (-B1-θ).

[0077] Although not shown in the figure, when the head 204 is rotated upward by angle B2 by the head horizontal control process and then the robot 200 is caused to execute the same corresponding operation, the operation control unit 112 sets an offset of angle B2 upward with respect to the rotation range of the up / down motor 222, and rotates the head 204 within the range from angle (B2+θ) to angle (B2-θ).

[0078] 15(a) and 15(b), the case where the head 204 is rotated by the up-down motor 222 is described, but the same applies to the case where the head 204 is rotated by the twist motor 221. Specifically, when the movement control unit 112 rotates the head 204 counterclockwise by an angle D1 by the head horizontal control process and then causes the robot 200 to execute the same corresponding movement, the movement control unit 112 sets an offset of an angle D1 counterclockwise with respect to the rotation range of the twist motor 221 and rotates the head 204 in the range from angle (-D1+θ) to angle (-D1-θ). When the movement control unit 112 rotates the head 204 clockwise by an angle D2 by the head horizontal control process and then causes the robot 200 to execute the same corresponding movement, the movement control unit 112 sets an offset of an angle D2 clockwise with respect to the rotation range of the twist motor 221 and rotates the head 204 in the range from angle (D2+θ) to angle (D2-θ).

[0079] In this way, the movement control unit 112 sets an offset in the rotation range of the twist motor 221 or the up / down motor 222 so that the rotation angle of the head 204 after the head horizontal control becomes the reference when performing a corresponding movement in response to an external stimulus. By adjusting the movement angle of the head 204 by such offset control, the above-mentioned head horizontal control can be introduced into the normal movement of the robot 200 without any sense of incongruity. Also, since the corresponding movement differs depending on the inclination of the robot 200, the movement patterns of the robot 200 can be increased.

[0080] Next, a case where the robot 200 is charged will be described. An example of a charging station 400 for charging the battery 250 of the robot 200 is shown in Fig. 16. The charging station 400 is a facility for charging the robot 200.

[0081] The charging station 400 includes a base for placing the robot 200. A coil for power transmission is provided inside the base. When the robot 200 is placed on the base, the charging station 400 can wirelessly charge the battery 250 using a known method such as electromagnetic induction, magnetic field resonance, or electric field coupling.

[0082] The charging station 400 is installed at an appropriate location where the robot 200 can autonomously move (return) to the charging station 400. When the charge amount of the battery 250 falls below a lower limit or when a predetermined timing arrives, the robot 200 moves to the charging station 400 to charge the battery 250.

[0083] If the head 204 rotates relative to the torso 206 while the battery 250 is being charged in the charging station 400 in this manner, the posture of the robot 200 on the pedestal changes, which may hinder proper charging. For example, when the head 204 is rotated downward by the up-down motor 222, the torso 206 may rise up from the pedestal. Also, when the head 204 is rotated by the twist motor 221, the torso 206 may shift from the pedestal. In order to avoid such a situation in which charging is hindered, the operation control unit 112 does not rotate the head 204 relative to the torso 206 while the battery 250 is being charged, even if the tilt determination unit 113 determines that the torso 206 has been tilted from the horizontal direction.

[0084] The rotation speed at which the head 204 is rotated relative to the body 206 by the drive unit 220 (the twist motor 221 or the up-down motor 222) may be constant or may vary depending on conditions. For example, the operation control unit 112 may vary the rotation speed at which the head 204 is rotated relative to the body 206 depending on the age of the robot 200. In this case, in order to simulate an actual living creature, when the age of the robot 200 is less than a predetermined age, the rotation speed may be slower than when the age of the robot 200 is equal to or greater than the predetermined age. Here, the age of the robot 200 corresponds to, for example, the time since the robot 200 was manufactured or shipped.

[0085] Next, the flow of the robot control process according to this embodiment will be described with reference to Fig. 17. The robot control process shown in Fig. 17 is executed by the control unit 110 of the control device 100 when the robot 200 is powered on. The robot control process shown in Fig. 17 is an example of a robot control method.

[0086] When the robot control process is started, the control unit 110 executes an initialization process (step S1). In the initialization process, the control unit 110 sets, for example, the rotation angle of the twist motor 221 to 0 which is the twist reference angle, the rotation angle of the up-down motor 222 to 0 which is the up-down reference angle, and the system timer to 0.

[0087] After executing the initialization process, control unit 110 executes a head horizontal control process (step S2). Control unit 110 executes the head horizontal control process as an interrupt process at regular time intervals (for example, 100 ms intervals). Details of the head horizontal control process in step S2 will be described with reference to FIG. 18.

[0088] 18 starts, control unit 110 acquires the inclination of torso 206 (step S21). Specifically, control unit 110 acquires the direction of gravitational acceleration detected by acceleration sensor 212. Then, control unit 110 acquires the inclination of torso 206 by measuring the angle between the direction of gravitational acceleration and first reference plane 310 set on torso 206.

[0089] When the inclination of the torso 206 is acquired, the control unit 110 functions as an inclination determination unit 113 and determines whether or not the inclination of the torso 206 has changed around the axis of the left-right direction of the robot 200 (step S22). Specifically, as shown in Fig. 11(a) or Fig. 12(a), the control unit 110 determines whether or not the torso 206 has been inclined in the front-rear direction. Step S22 is an example of an inclination determination step.

[0090] If the inclination of the torso 206 changes around the left-right direction of the robot 200 as an axis (step S22; YES), the control unit 110 determines whether the rotation angle of the up-down motor 222 when the head 204 is directed horizontally is below the limit angle (step S23).

[0091] If the rotation angle of the up-down motor 222 is equal to or less than the limit angle (step S23; YES), the control unit 110 functions as the motion control unit 115 and rotates the head 204 by the up-down motor 222 (step S24). Specifically, as shown in FIG. 11(b) or FIG. 12(b), the control unit 110 rotates the head 204 in the opposite direction to the tilt direction of the torso 206 by the amount of the change in the tilt of the torso 206 acquired in step S1. This adjusts the direction of the head 204 to be horizontal even if the torso 206 is tilted. Step S24 is an example of a motion control step.

[0092] When the head 204 is rotated by the up-down motor 222, the control unit 110 updates the offset of the up-down motor 222 to the angle after the rotation in step S24 (step S25).

[0093] On the other hand, if the rotation angle of the up / down motor 222 exceeds the limit angle (step S23; NO), the control unit 110 skips steps S24 to S25. In this case, if the head 204 is rotated by an amount sufficient to cancel the change in the inclination of the torso 206, the rotation angle of the up / down motor 222 will exceed the limit angle, and therefore the control unit 110 does not rotate the up / down motor 222.

[0094] If the inclination of the torso 206 has not changed around the axis of the left-right direction of the robot 200 (step S22; NO), the control unit 110 skips the processes of steps S23 to S25.

[0095] Next, the control unit 110 functions as the tilt determination unit 113 and determines whether or not the tilt of the torso 206 has changed around the axis of the front-rear direction of the robot 200 (step S26). Specifically, as shown in Fig. 13(a) or Fig. 14(a), the control unit 110 determines whether or not the torso 206 has been tilted in the left-right direction. Step S26 is an example of a tilt determination step.

[0096] If the inclination of the torso 206 has changed around the axis of the front-to-rear direction of the robot 200 (step S26; YES), the control unit 110 determines whether the rotation angle of the twist motor 221 when the head 204 is directed horizontally is equal to or less than the limit angle (step S27).

[0097] If the rotation angle of twist motor 221 is equal to or less than the limit angle (step S27; YES), control unit 110 functions as motion control unit 115 and rotates head 204 by twist motor 221 (step S28). Specifically, as shown in FIG. 13(b) or FIG. 14(b), control unit 110 rotates head 204 in the opposite direction to the tilt direction of torso 206 by the amount of change in tilt of torso 206 acquired in step S1. This adjusts the direction of head 204 to be horizontal even if torso 206 is tilted. Step S28 is an example of a motion control step.

[0098] When the head 204 is rotated by the twist motor 221, the control unit 110 updates the offset of the twist motor 221 to the angle after the rotation in step S28 (step S29).

[0099] On the other hand, if the rotation angle of the twist motor 221 exceeds the limit angle (step S27; NO), the control unit 110 skips steps S28 to S29. In this case, if the control unit 110 rotates the head 204 by an amount sufficient to cancel out the change in the inclination of the torso 206, the rotation angle of the twist motor 221 will exceed the limit angle, and therefore the control unit 110 does not rotate the twist motor 221.

[0100] If the inclination of the torso 206 has not changed around the axis of the front-rear direction of the robot 200 (step S26; NO), the control unit 110 skips the processes of steps S27 to S29. With the above, the head horizontal control process shown in FIG. 18 ends.

[0101] Although not shown, when battery 250 is being charged in charging station 400, control unit 110 skips the head horizontal control process shown in FIG.

[0102] Returning to Fig. 17, after controlling the posture of the robot 200 in step S2, the control unit 110 functions as the external stimulus acquisition unit 111 and determines whether or not an external stimulus has been acquired (step S3). Specifically, the control unit 110 determines whether or not an external stimulus such as "a loud noise was made," "someone spoke to," "someone stroked," "someone lifted up," "someone turned upside down," "it became brighter," "it became darker," etc. has occurred based on the detection value by the sensor unit 210. Step S3 is an example of an external stimulus acquisition step.

[0103] When an external stimulus is acquired (step S3; YES), the control unit 110 functions as the motion control unit 115 and causes the robot 200 to execute a motion corresponding to the external stimulus acquired in step S3 (step S4). For example, when "a loud noise was heard", the control unit 110 causes the robot 200 to execute a motion that responds to the loud noise. When "the robot is turned upside down", the control unit 110 causes the robot 200 to execute a motion that responds to being turned upside down. When "someone speaks to" the control unit 110 causes the robot 200 to execute a motion that responds to being spoken to. When "someone petted" the control unit 110 causes the robot 200 to execute a motion that responds to being petted.

[0104] At this time, if the action corresponding to the external stimulus includes an action of rotating the head 204 relative to the torso 206, and if an offset is set in the head horizontal control processing of step S2, the control unit 110 rotates the head 204 relative to the torso 206 based on an angle obtained by adding an offset to the up-down reference angle or the twist reference angle.

[0105] On the other hand, if no external stimulus has been acquired in step S3 (step S3; NO), the control unit 110 causes the robot 200 to perform a spontaneous movement as necessary (step S5). Specifically, the control unit 110 causes the robot 200 to perform a movement that does not depend on an external stimulus, such as a movement that simulates breathing.

[0106] After operating the robot 200 in step S4 or S5, the control unit 110 returns the process to step S2 and executes the processes of steps S2 to S5 again. In this manner, the control unit 110 repeatedly executes the processes of steps S2 to S5 as long as the robot 200 is powered on and can operate normally.

[0107] As described above, the robot 200 according to this embodiment determines whether the torso 206 has been tilted from the horizontal direction, and when the torso 206 has been tilted from the horizontal direction, rotates the head 204 relative to the torso 206 so that the head 204 faces the horizontal direction. This head horizontal control makes it possible to simulate the movement of a living thing that tries to keep its head horizontal when its body is tilted. As a result, the robot 200 according to this embodiment can realistically simulate a living thing, enhancing the sense of it being alive.

[0108] For example, when the user tilts the robot 200 while holding it with both hands, the robot 200 adjusts the direction of the head 204 horizontally by the head horizontal control. With such an operation, particularly when the user is facing the robot 200, the user feels that the robot 200 is always trying to turn the head 204 toward the user, and therefore feels that the robot 200 is trying to communicate with the user. As a result, the familiarity with the robot 200 can be enhanced.

[0109] (Modification) Although the embodiment of the present invention has been described above, the above embodiment is merely an example, and the scope of application of the present invention is not limited to this. In other words, the embodiment of the present invention can be applied in various ways, and all embodiments are included in the scope of the present invention.

[0110] For example, in the above embodiment, the head 204 is rotatably connected to the body 206 around the left-right and front-rear directions by the twist motor 221 and the up-down motor 222. However, the head 204 is not limited to being connected to the body 206 in two directions, the left-right and front-rear directions, and may be rotatably connected around only one of these directions or around an axis in another direction.

[0111] In the above embodiment, the exterior 201 is formed in a cylindrical shape from the head 204 to the torso 206, and the robot 200 has a crawling shape. However, the robot 200 is not limited to being modeled after a crawling creature. For example, the robot 200 may have a shape with arms and legs and may be modeled after a four-legged or two-legged creature. Even if the creature walks on four legs or two legs, it has a tendency to try to keep the head horizontal when the torso is tilted from the horizontal direction. Therefore, by executing the head horizontal control described in the above embodiment, it is possible to realistically model a creature.

[0112] In the above embodiment, the control device 100 is built into the robot 200, but the control device 100 may be a separate device (e.g., a server) without being built into the robot 200. When the control device 100 exists outside the robot 200, the robot 200 communicates with the control device 100 via a communication unit to transmit and receive data to and from the control device 100. Through such communication with the robot 200, the external stimulus acquisition unit 111 acquires the external stimulus detected by the sensor unit 210, and the operation control unit 112 controls the drive unit 220 and the output unit 230.

[0113] In the above embodiment, the control unit 110 functions as each of the external stimulus acquisition unit 111, the operation control unit 112, and the tilt determination unit 113 by the CPU executing the program stored in the ROM. However, in the present invention, the control unit 110 may include dedicated hardware such as an ASIC (Application Specific Integrated Circuit), an FPGA (Field-Programmable Gate Array), or various control circuits instead of the CPU, and the dedicated hardware may function as each of the external stimulus acquisition unit 111, the operation control unit 112, and the tilt determination unit 113. In this case, the functions of each unit may be realized by individual hardware, or the functions of each unit may be realized by a single hardware. In addition, some of the functions of each unit may be realized by dedicated hardware, and the other parts may be realized by software or firmware.

[0114] It is possible to provide a robot that is equipped with the configuration for realizing the functions according to the present invention, and also to make an existing information processing device or the like function as a robot according to the present invention by applying a program. That is, by applying a program for realizing each functional configuration of the robot 200 exemplified in the above embodiment so that it can be executed by a CPU or the like that controls an existing information processing device, it can function as a robot according to the present invention.

[0115] Moreover, the method of applying such a program is arbitrary. For example, the program can be applied by storing it in a computer-readable storage medium such as a flexible disk, a CD (Compact Disc)-ROM, a DVD (Digital Versatile Disc)-ROM, or a memory card. Furthermore, the program can be superimposed on a carrier wave and applied via a communication medium such as the Internet. For example, the program can be posted and distributed on a bulletin board (BBS: Bulletin Board System) on a communication network. Then, the program can be started and executed under the control of an OS (Operating System) in the same way as other application programs, thereby enabling the above-mentioned processing to be executed.

[0116] The above describes preferred embodiments of the present invention. However, the present invention is not limited to the above-described embodiments, and various modifications and substitutions can be made to the above-described embodiments without departing from the scope of the claims. [Explanation of symbols]

[0117] 100...control device, 110...control unit, 111...external stimulus acquisition unit, 112...motion control unit, 113...tilt determination unit, 120...storage unit, 200...robot, 201...exterior, 202...decorative part, 203...fur, 204...head, 205...connection unit, 206...torso unit, 207...casing, 210...sensor unit, 211...touch sensor, 212...acceleration sensor, 213...microphone, 214...gyro sensor, 215...illuminance sensor, 220...drive unit, 221...twist motor, 222...up and down motor, 230...output unit, 231...speaker, 240...operation unit, 250...battery, 310, 320...reference surface, 400...charging station, BL...bus line

Claims

1. A body portion and A head portion rotatably connected to the body portion; a tilt determination means for determining whether the body portion is tilted from a horizontal direction; a motion control means for rotating the head relative to the torso so that the head faces the horizontal direction when the tilt determination means determines that the torso is tilted from the horizontal direction; A robot comprising:

2. The head is connected to the torso so as to be rotatable about an axis in the left-right direction of the robot, the motion control means rotates the head relative to the torso about an axis in the left-right direction so that the head faces the horizontal direction when the torso is tilted from the horizontal direction to a front-rear direction of the robot.

2. The robot according to claim 1 .

3. The head is connected to the torso so as to be rotatable about an axis in the front-rear direction of the robot, the motion control means rotates the head relative to the torso about an axis of the front-rear direction so that the head faces the horizontal direction when the torso is tilted from the horizontal direction to the left-right direction of the robot.

3. The robot according to claim 1 or 2.

4. The operation control means includes: when the inclination determination means determines that the torso has been inclined from the horizontal direction, determining whether or not a rotation angle of the head for directing the head to the horizontal direction is equal to or smaller than a limit angle; If the rotation angle is equal to or less than the limit angle, the head is rotated relative to the torso so that the head faces the horizontal direction; If the rotation angle exceeds the limit angle, the head is not rotated relative to the torso.

3. The robot according to claim 1 or 2.

5. Further comprising an external stimulus acquisition means for acquiring an external stimulus, When the motion control means causes the robot to execute a corresponding motion corresponding to the external stimulus acquired by the external stimulus acquisition means after rotating the head relative to the body so that the head faces the horizontal direction, the motion control means rotates the head relative to the body based on an angle of the head after the head is rotated so that the head faces the horizontal direction.

3. The robot according to claim 1 or 2.

6. A battery for storing power used in the robot, the motion control means, when the battery is being charged, does not rotate the head relative to the torso even if the tilt determination means determines that the torso has been tilted from the horizontal direction.

3. The robot according to claim 1 or 2.

7. The head is further provided with an exterior member that integrally covers the body and the head and follows the rotation of the head relative to the body, The exterior member is formed in a cylindrical shape from the head portion to the body portion.

3. The robot according to claim 1 or 2.

8. It is formed in a prone shape, 8. The robot according to claim 7 .

9. A method for controlling a robot including a body and a head rotatably connected to the body, comprising: a tilt determination step of determining whether or not the trunk portion is tilted from a horizontal direction; a motion control step of rotating the head relative to the torso so that the head faces the horizontal direction when it is determined in the tilt determination step that the torso is tilted from the horizontal direction; A robot control method comprising:

10. A computer for a robot including a torso and a head rotatably connected to the torso, a tilt determination means for determining whether the body portion is tilted from a horizontal direction; a motion control means for rotating the head relative to the torso so that the head faces the horizontal direction when the tilt determination means determines that the torso is tilted from the horizontal direction; A program to function as a

Citation Information

Patent Citations

  • Self-position identification device for movable body

    JP2004034272A

  • Robot, and method and program for recognizing state

    JP2013013946A

  • Robot

    JP2021069771A

  • Power supply control device of equipment, control method of equipment, and program

    JP2022142111A

  • Service robot and display control method thereof, controller and storage medium

    US20220402142A1