Robot, control method, and program
The robot's design with sensors and a control system to detect and respond to impacts minimizes damage by stopping motor operation, addressing the vulnerability of movable parts to collisions and mimicking a stunned state for enhanced durability and realism.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- CASIO COMPUTER CO LTD
- Filing Date
- 2024-11-22
- Publication Date
- 2026-04-28
AI Technical Summary
Existing robots, particularly those with movable parts, are prone to damage from impacts such as collisions, which can lead to malfunction.
A robot design with a biological appearance and a connecting part between the head and torso, equipped with sensors to detect abnormal states like falling, rolling, or rotating, and a control system that stops the motor upon detection of these states, maintaining a motor-free state until a predetermined time has elapsed.
This approach effectively reduces damage to movable parts by preventing torque application during impacts, mimicking a stunned state, and allows the robot to recover naturally, enhancing durability and lifelike behavior.
Smart Images

Figure 0007852692000002 
Figure 0007852692000003 
Figure 0007852692000004
Abstract
Description
Technical Field
[0001] The present invention relates to Robots, control methods and a program.
Background Art
[0002] Techniques for controlling the operation of devices such as robots to make them approach friendly beings like friends or pets are known. For example, Patent Document 1 describes a dog-shaped robot device that behaves like an actual pet when external stimuli such as stroking, lifting, or talking to it are applied by a user. The robot device includes a movable part including a servo motor or the like (driving part), and can realize such behavior by driving the servo motor or the like and moving the head or the like connected by a gear member or the like.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] Such a robot device may be roughly handled by a user such as a child and thrown against a wall or accidentally dropped on the floor. In such a case, a strong impact is applied to the robot device due to the collision with the wall or the floor, so there is a risk that the movable part will be severely damaged and the robot device will malfunction.
[0005] The present invention has been made in view of the above circumstances, and an object thereof is to suppress damage to the movable part when it is subjected to an impact Robots, control methods and provide a program.
Means for Solving the Problems
[0006] To achieve the above objective, one form of robot according to the present invention has a biological appearance and a connecting part that connects the head to the torso. of Torque from the motor By making it move, it expresses a predetermined gesture. A robot capable of detecting when the robot enters a predetermined abnormal state such as falling, rolling, picking up, or rotating. During the execution of the aforementioned predetermined gesture If detected The motor is stopped until a predetermined time has elapsed. The system includes a control means for controlling the robot so that it appears to be temporarily unconscious. If the control means stops the motor upon detection of the abnormal condition, it controls the motor to be in a motor-free state until the motor is restored. It is characterized by the following: [Effects of the Invention]
[0007] According to the present invention, damage to the movable parts when subjected to impact can be suppressed. [Brief explanation of the drawing]
[0008] [Figure 1] This figure shows the external appearance of the robot according to the embodiment. [Figure 2] This is a cross-sectional view of the robot according to the embodiment, seen from the side. [Figure 3] This is a diagram illustrating the housing of a robot according to an embodiment. [Figure 4] This figure illustrates an example of the movement of a torsion motor in a robot according to an embodiment. [Figure 5] This is another figure illustrating an example of the movement of the torsion motor of the robot according to the embodiment. [Figure 6] This figure illustrates an example of the movement of the up and down motors of a robot according to this embodiment. [Figure 7] This is another diagram illustrating an example of the movement of the up and down motors of the robot according to the embodiment. [Figure 8] This is a block diagram showing the functional configuration of a robot according to an embodiment. [Figure 9] This is a diagram illustrating an example of a control content table according to the embodiment. [Figure 10] This is a flowchart of the robot control process according to the embodiment. [Figure 11]It is a flowchart of the fall detection process according to the embodiment. [Figure 12] It is a flowchart of the rolling detection process according to the embodiment. [Figure 13] It is a flowchart of the pick-up detection process according to the embodiment. [Figure 14] It is a flowchart of the rotation detection process according to the embodiment.
Mode for Carrying Out the Invention
[0009] Hereinafter, embodiments of the present invention will be described with reference to the drawings. In the figures, the same or corresponding parts are denoted by the same reference numerals.
[0010] (Embodiment) An embodiment in which the control device of the device in the present invention is applied to the robot 200 shown in FIG. 1 will be described with reference to the drawings. The robot 200 according to the embodiment is a pet robot imitating a small animal. For ease of understanding, FIG. 1 shows the front, rear, left, right, up, and down directions, and the description will be made with appropriate reference to these directions. As shown in FIG. 1, the robot 200 is covered with an exterior 201 having decorative parts 202 imitating eyes and fluffy hair 203. Further, inside the exterior 201, the housing 207 of the robot 200 is housed. As shown in FIG. 2, the housing 207 of the robot 200 is composed of a head 204, a connecting part 205, and a body part 206, and the head 204 and the body part 206 are connected by the connecting part 205. In FIG. 2, hatching is omitted for the sake of clarity of the drawing.
[0011] As shown in Figure 2, the torso 206 extends in the front-to-back direction. The torso 206 is placed on a mounting surface 101 such as a floor or table on which the robot 200 is placed, via the outer casing 201. Also, as shown in Figure 2, a twist motor 221 is provided at the front end of the torso 206, and the head 204 is connected to the front end of the torso 206 via a connecting part 205. The connecting part 205 is equipped with an up-and-down motor 222. Note that in Figure 2, the twist motor 221 is provided on the torso 206, but it may also be provided on the connecting part 205 or on the head 204.
[0012] The connecting section 205 connects the body section 206 and the head section 204 so that they can rotate freely (by the twist motor 221) around a first rotation axis that extends from the connecting section 205 to the front and rear of the body section 206. As shown in Figures 4 and 5, which are front views of the housing 207, the twist motor 221 rotates the head section 204 clockwise (rightward) around the first rotation axis within a forward rotation angle range (forward rotation) or counterclockwise (leftward) within a reverse rotation angle range (reverse rotation) relative to the body section 206. In this explanation, clockwise rotation refers to clockwise rotation when viewed from the head section 204 towards the body section 206. Clockwise rotation will also be called "twist rotation to the right," and counterclockwise rotation will be called "twist rotation to the left." The maximum value of the angle of twist rotation to the right or left is arbitrary, but in this embodiment, it is assumed that it can rotate up to 90 degrees to the left and right. As shown in Figure 3, the angle of the head 204 when it is not twisted to the right or left (hereinafter referred to as the "twist reference angle") is defined as 0 degrees. As shown in Figure 4, the angle of the head 204 when it is twisted and rotated as far to the left as possible (counterclockwise) is defined as -90 degrees. As shown in Figure 5, the angle of the head 204 when it is twisted and rotated as far to the right as possible (counterclockwise) is defined as +90 degrees.
[0013] Further, the connecting portion 205 connects the body portion 206 and the head portion 204 so as to be rotatable (by the up-and-down motor 222) about a second rotation axis that extends in the width direction (left-right direction) of the body portion 206 through the connecting portion 205. As shown in FIGS. 6 and 7 as side views of the housing 207, the up-and-down motor 222 rotates the head portion 204 forward (clockwise) within the forward rotation angle range upward about the second rotation axis or reversely (counterclockwise) within the reverse rotation angle range downward. The maximum value of the angle of rotation upward or downward is arbitrary, but in this embodiment, it is assumed that the rotation is possible up to 75 degrees both upward and downward. The angle of the head portion 204 (hereinafter referred to as the "up-and-down reference angle") in the state where the head portion 204 shown in FIG. 2 is not rotated upward or downward is set to 0 degrees. The angle of the head portion 204 when rotated to the uppermost position shown in FIG. 6 is set to +75 degrees. The angle of the head portion 204 when rotated to the lowermost position shown in FIG. 7 is set to -75 degrees. Note that when the head portion 204 rotates downward from the up-and-down reference angle or the up-and-down reference angle by the up-and-down rotation about the second rotation axis, the head portion 204 can contact the placement surface 101 such as the floor or table on which the robot 200 is placed via the exterior 201. In FIG. 2, an example in which the first rotation axis and the second rotation axis are orthogonal to each other is shown, but the first and second rotation axes may not be orthogonal to each other.
[0014] Also, as shown in FIG. 2, the robot 200 includes a touch sensor 211 in the head portion 204 and can detect when a user strokes or taps the head portion 204. The body portion 206 also includes a touch sensor 211 and can detect when a user strokes or taps the body portion 206.
[0015] Further, the robot 200 includes an acceleration sensor 212 in the body portion 206 and can detect the posture (orientation) of the robot 200, and can also detect when the robot 200 is lifted, its orientation is changed, or it is thrown by a user. The robot 200 also includes a gyro sensor 213 in the body portion 206 and can detect when the robot 200 is rolling or rotating.
[0016] Furthermore, the robot 200 is equipped with a microphone 214 on its body 206, which allows it to detect external sounds. In addition, the robot 200 is equipped with a speaker 215 on its body 206, which allows it to emit sounds (sound effects).
[0017] In this embodiment, the acceleration sensor 212, gyro sensor 213, microphone 214, and speaker 215 are provided on the torso 206, but all or some of these may be provided on the head 204. In addition, in addition to the acceleration sensor 212, gyro sensor 213, microphone 214, and speaker 215 provided on the torso 206, all or some of these may also be provided on the head 204. Furthermore, the touch sensor 211 is provided on both the head 204 and the torso 206, but it may be provided on only one of either the head 204 or the torso 206. In addition, multiple touch sensors may be provided.
[0018] Next, the functional configuration of the robot 200 will be described. As shown in Figure 8, the robot 200 comprises a device control unit 100, an external stimulus acquisition unit 210, a movable part 220, an audio output unit 230, an operation input unit 240, and a power control unit 250. The device control unit 100 comprises a control unit 110, a storage unit 120, and a communication unit 130. In Figure 8, the device control unit 100, the external stimulus acquisition unit 210, the movable part 220, the audio output unit 230, the operation input unit 240, and the power control unit 250 are connected via a bus line BL, but this is just one example. The device control unit 100, the external stimulus acquisition unit 210, the movable part 220, the audio output unit 230, the operation input unit 240, and the power control unit 250 may be connected via a wired interface such as a USB (Universal Serial Bus) cable or a wireless interface such as Bluetooth®. Furthermore, the control unit 110 and the storage unit 120 and the communication unit 130 may be connected via a bus line BL or the like.
[0019] The device control unit 100 controls the operation of the robot 200 using a control unit 110 and a storage unit 120.
[0020] The control unit 110 is composed of, for example, a CPU (Central Processing Unit) and executes various processes (robot control processing, fall detection processing, rolling detection processing, pick-up detection processing, rotation detection processing, etc.) described later, based on the program stored in the memory unit 120. The control unit 110 supports multithreading functionality, allowing it to execute multiple processes in parallel, thus enabling it to execute various processes (robot control processing, fall detection processing, rolling detection processing, pick-up detection processing, rotation detection processing, etc.) in parallel. Furthermore, the control unit 110 also includes clock and timer functions, enabling it to measure dates and times.
[0021] The memory unit 120 consists of ROM (Read Only Memory), flash memory, RAM (Random Access Memory), etc. The ROM stores the program executed by the CPU of the control unit 110 and the data necessary in advance for executing the program. The flash memory is a writable, non-volatile memory that stores data that should be preserved even after the power is turned off. The RAM stores data that is created or modified during program execution.
[0022] The communication unit 130 is equipped with a communication module compatible with wireless LAN (Local Area Network), Bluetooth (registered trademark), etc., and communicates data with external devices such as smartphones. The content of the data communication includes, for example, alarm setting data and sleep setting data used to set the alarm function and sleep function, which will be described later.
[0023] The external stimulus acquisition unit 210 includes the aforementioned touch sensor 211, acceleration sensor 212, gyro sensor 213, and microphone 214. The control unit 110 acquires the detected values from the various sensors in the external stimulus acquisition unit 210 via the bus line BL as external stimulus data representing external stimuli acting on the robot 200. The external stimulus acquisition unit 210 may also include sensors other than the touch sensor 211, acceleration sensor 212, gyro sensor 213, and microphone 214. By increasing the types of sensors in the external stimulus acquisition unit 210, the types of external stimuli that the control unit 110 can acquire can be increased.
[0024] The touch sensor 211 detects when an object makes contact with it. The touch sensor 211 is composed of, for example, a pressure sensor or a capacitance sensor. Based on the values detected from the touch sensor 211, the control unit 110 obtains the contact strength and contact time, and based on these values, can detect external stimuli such as when the robot 200 is being stroked or tapped by a user.
[0025] The acceleration sensor 212 detects acceleration in three axes: the front-to-back direction (X-axis direction), the width (left-to-right) direction (Y-axis direction), and the up-and-down direction (Z-axis direction) of the robot's torso 206. When the robot 200 is stationary, the acceleration sensor 212 detects gravitational acceleration, so the control unit 110 can detect the current posture of the robot 200 based on the gravitational acceleration detected by the acceleration sensor 212. Furthermore, if, for example, a user lifts or throws the robot 200, the acceleration sensor 212 detects acceleration associated with the movement of the robot 200 in addition to gravitational acceleration. Therefore, the control unit 110 can detect the movement of the robot 200 by removing the component of gravitational acceleration from the detected value obtained by the acceleration sensor 212.
[0026] The gyro sensor 213 detects the angular velocity when rotation is applied to the torso of the robot 200. Specifically, the gyro sensor 213 detects the angular velocity of three-axis rotations consisting of rotation around the front-to-back direction (X-axis direction), rotation around the width (left-to-right direction) (Y-axis direction), and rotation around the up-and-down direction (Z-axis direction) of the torso 206. The control unit 110 can detect the movement of the robot 200 with greater accuracy by combining the detected values from the acceleration sensor 212 and the detected values from the gyro sensor 213.
[0027] Furthermore, the touch sensor 211, acceleration sensor 212, and gyro sensor 213 are synchronized, detecting contact strength, acceleration, and angular velocity at the same time and outputting the detected values to the control unit 110. Specifically, the touch sensor 211, acceleration sensor 212, and gyro sensor 213 detect contact strength, acceleration, and angular velocity at the same time, for example, every 0.1 seconds.
[0028] The microphone 214 detects sounds around the robot 200. Based on the sound components detected by the microphone 214, the control unit 110 can detect, for example, that a user is calling out to the robot 200 or clapping their hands.
[0029] The movable part 220 is a mechanism that causes the robot 200 to perform physical movements, and includes drive units such as a twist motor 221 and an up / down motor 222, as well as connecting members and gear members for transmitting the force of the drive units to move the head 204 and other parts. The movable part 220 (twist motor 221 and up / down motor 222) is driven by the control unit 110. The twist motor 221 and up / down motor 222 are servo motors, and when the control unit 110 instructs them to rotate with a specified operating time and operating angle, they operate to rotate to a position with a specified operating angle within the specified operating time. As a result, the robot 200 can perform movements such as lifting the head 204 (rotating it upward around the second rotation axis) or twisting it to the side (twisting and rotating it to the right or left around the first rotation axis). Motion data for driving the movable part 220 to perform these movements is recorded in the control content table 123, which will be described later.
[0030] The audio output unit 230 is equipped with a speaker 215, and when the control unit 110 inputs sound data to the audio output unit 230, sound is output from the speaker 215. For example, when the control unit 110 inputs data of the robot 200's cry to the audio output unit 230, the robot 200 emits a simulated cry. This cry data is also recorded as sound effect data in the control content table 123.
[0031] The operation input section 240 consists of, for example, operation buttons, a volume knob, etc. The operation input section 240 is an interface for receiving operations by the user (owner or borrower), such as turning the power ON / OFF, adjusting the output volume, etc.
[0032] The power control unit 250 includes a sub-microcontroller, a charging IC (Integrated Circuit), a power control IC, a power receiving unit, etc., and performs tasks such as charging the robot 200's battery, obtaining the remaining charge, and controlling the power supply of the robot 200.
[0033] Next, we will describe, in order, the emotion data 121, emotion change data 122, and control content table 123, which are characteristic data of this embodiment among the data stored in the memory unit 120 of the device control device 100.
[0034] Emotional data 121 is data used to give robot 200 simulated emotions. For example, emotional data 121 is multidimensional data in which levels of security (anxiety), excitement (apathy), etc., are individually quantified.
[0035] Emotional change data 122 is data that shows the degree of simulated emotional change of robot 200 as indicated by emotional data 121. For example, emotional change data 122 is data that shows the individual changes in the values of security (anxiety) and excitement (apathy) as indicated by emotional data 121. Since emotional change data 122 reveals the trend of simulated emotional change of robot 200, it can also be said that emotional change data 122 represents the simulated personality of robot 200 (whether it is shy, cheerful, active, clingy, etc.).
[0036] Regarding the emotion data 121 and emotion change data 122, various data formats can be used. For example, the emotion data 121 and emotion change data 122 may be in the format described in Japanese Patent Application Publication No. 2021-69767.
[0037] As shown in Figure 9, the control content table 123 stores control conditions and control data in correspondence. When a control condition (for example, when some external stimulus is detected) is met, the control unit 110 controls the movable part 220 and the sound output unit 230 based on the corresponding control data (motion data for expressing movement in the movable part 220 and sound effect data for outputting sound effects from the sound output unit 230).
[0038] As shown in Figure 9, the motion data is a series of sequence data that controls the movable part 220 (in the order of "time (milliseconds): rotation angle of the up / down motor 222 (degrees): rotation angle of the twist motor 221 (degrees)"). For example, when the body is stroked, the control unit 110 controls the movable part 220 by setting the rotation angles of the up / down motor 222 and the twist motor 221 to 0 degrees (up / down reference angle and twist reference angle) at the beginning (0 seconds), raising the head 204 so that the rotation angle of the up / down motor 222 becomes 60 degrees at 0.5 seconds, and twisting the head 204 so that the rotation angle of the twist motor 221 becomes 60 degrees at 1 second.
[0039] Furthermore, although Figure 9 includes explanatory text for each sound effect data for clarity, the actual sound effect data itself (sampled sound data) described in these texts is stored as sound effect data in the control content table 123.
[0040] Note that the control table shown in Figure 9 does not include conditions related to emotions (represented by emotion data 121) in the control conditions. However, by including conditions related to emotions in the control conditions, the control data may be changed according to the emotion.
[0041] Next, the robot control process executed by the control unit 110 of the device's control device 100 will be explained with reference to the flowchart shown in Figure 10. The robot control process is the process by which the device's control device 100 controls the movements and sounds of the robot 200 based on detected values from the external stimulus acquisition unit 210. When the user turns on the power to the robot 200, the thread for this robot control process starts executing in parallel with various detection processes described later. The robot control process controls the movable parts 220 and the sound output unit 230 (sound output unit), resulting in the robot 200's movements and the output of sounds such as cries.
[0042] First, the control unit 110 initializes various data such as emotion data 121 and emotion change data 122 (step S101). Note that for the second and subsequent startups of the robot 200, step S101 may be configured to set the values at the time the robot 200 was last powered off. This can be achieved by the control unit 110 saving the values of each data in the non-volatile memory (flash memory, etc.) of the storage unit 120 when the power was last turned off, and then setting the values of each data to the saved values when the power is turned on.
[0043] Next, the control unit 110 initializes the values of various stop flags (fall stop flag, rolling stop flag, pick-up stop flag, rotation stop flag) and various counters (fall discrimination counter, rolling discrimination counter, pick-up detection counter, rotation detection counter, fall stop counter, rolling stop counter, pick-up stop counter, rotation stop counter) that are set and referenced in the various detection processes (fall detection process, rolling detection process, pick-up detection process) described later, to "0" (step S102).
[0044] Next, the control unit 110 determines whether the values of all the stop flags (fall stop flag, rolling stop flag, pick-up stop flag, and rotation stop flag) are all "0" (step S103).
[0045] If there is a stop flag whose value is not "0", i.e., a value of "1" (step S103; No), it means that an abnormal state of the robot 200 has been detected by one of the various detection processes described later. Therefore, the control unit 110 waits without executing the subsequent steps of the robot control process until the value of all stop flags becomes "0". As a result, the robot 200 stops performing actions in response to motion stimuli or spontaneous actions such as breathing, exhibiting a state similar to that of an animal that has fainted (fainting state).
[0046] On the other hand, if the values of all stop flags are "0" (step S103; Yes), the control unit 110 acquires the detected value detected by the external stimulus acquisition unit 210 (step S104). Then, based on the acquired detected value, the control unit 110 determines whether or not an external stimulus was present (step S105).
[0047] If an external stimulus is present (step S105; Yes), the control unit 110 acquires emotion change data 122 according to the detected value of the external stimulus acquired in step S104 (step S106). Specifically, for example, if the touch sensor 211 on the head 204 detects that the head 204 has been stroked as an external stimulus, the robot 200 will gain a pseudo-sense of security, so the control unit 110 acquires emotion change data 122 indicating the amount to be added to the security level value included in the emotion data 121.
[0048] Then, the control unit 110 sets the emotion data 121 according to the emotion change data 122 acquired in step S106 (step S107). Specifically, for example, if the amount added to the value of reassurance was acquired as the emotion change data 122 in step S106, the control unit 110 adds this amount to the value of reassurance included in the emotion data 121.
[0049] Next, the control unit 110 refers to the control content table 123 and obtains control data corresponding to the control conditions satisfied by the detected value of the acquired external stimulus (step S108).
[0050] Then, the control unit 110 plays back the control data acquired in step S108 (step S109) and returns to step S103. This allows the robot 200 to perform actions in response to external stimuli. The content of the control data to be played back may be adjusted (modified) based on the set emotion data 121.
[0051] On the other hand, if no external stimulus is present in step S105 (step S105; No), the control unit 110 determines whether or not to perform a spontaneous action (such as a breathing-mimicking action that mimics the respiration of an organism) (step S110). The method for determining whether or not to perform a spontaneous action is arbitrary, but in this embodiment, it is assumed that the determination in step S110 becomes Yes every respiratory cycle (for example, every 2 seconds), and a breathing-mimicking action is performed.
[0052] If no spontaneous action is performed (step S110; No), the control unit 110 returns to step S103. If a spontaneous action is performed (step S110; Yes), the control unit 110 performs a spontaneous action (for example, a breathing imitation action) (step S111) and returns to step S103.
[0053] The control data for this spontaneous action is also stored in the control content table 123 (for example, as shown in "Respiratory cycle has elapsed" under "Control Conditions" in Figure 9). In step S111, as in the case of an external stimulus, the control content for the spontaneous action may be adjusted (modified) based on the set emotion data 121.
[0054] Next, referring to the flowcharts shown in Figures 11-14, the detection processes (fall detection process, rolling detection process, pick-up detection process, and rotation detection process) performed by the control unit 110 of the device control device 100 to detect various abnormal conditions will be explained. Each of these detection processes is an interrupt process that is repeatedly executed every 0.1 seconds in parallel with the robot control process described above while the robot 200 is powered on. The fall detection process, rolling detection process, pick-up detection process, and rotation detection process are mutually exclusive, and it is assumed that two or more detection processes will not be executed simultaneously. Each of these detection processes detects abnormal conditions that may result in impact (falling, rolling, pick-up, and rotation), and when an abnormal condition is detected, the movable part 220 is controlled to suppress the impact.
[0055] First, the fall detection process will be explained in detail with reference to Figure 11.
[0056] First, the control unit 110 determines whether the value of the fall stop flag is "1" or not (step S201).
[0057] If the value of the fall stop flag is not "1" (step S201; No), i.e., "0", the control unit 110 determines whether the value of the fall counter is "2" or greater (step S202).
[0058] If the value of the fall counter is less than "2" (step S202; No), the control unit 110 reads out the acceleration aX in the forward / backward direction (X-axis direction), the acceleration aY in the left / right direction (Y-axis direction), and the acceleration aZ in the up / down direction (Z-axis direction) of the robot 200, as detected by the acceleration sensor 212 (step S203).
[0059] Then, the control unit 110 calculates the value V of the acceleration vector obtained by combining the read accelerations aX, aY, and aZ, as shown in equation (1) below (step S204).
[0060]
number
[0061] Then, the control unit 110 determines whether the robot 200 is in free fall by checking whether the calculated acceleration vector V is smaller than the acceleration threshold GT that is considered to be in free fall (step S205). In the case of complete free fall, the acceleration vector V is 0, but since rotational motion and other factors may be added during free fall, it is desirable to set the acceleration threshold GT to a value with some margin (for example, 1 / 5 of the gravitational acceleration).
[0062] If the acceleration vector V is less than the acceleration threshold GT (step S205; Yes), the control unit 110 adds 1 to the value of the fall counter (step S206). Then the fall detection process ends.
[0063] On the other hand, if the acceleration vector V is greater than or equal to the acceleration threshold GT (step S205; No), it means that the robot 200 is not currently in free fall, so the control unit 110 initializes the values of the fall counter and the fall stop flag to "0" (step S207). Then the fall detection process ends.
[0064] If the value of the fall counter is "2" or greater (step S202; Yes), it means that in the last two or more fall detection processes, which are repeatedly executed every 0.1 seconds, the acceleration vector V has been determined to be smaller than the acceleration threshold GT for several consecutive seconds, and it is determined that the robot 200 has been in a falling state for 0.2 seconds or more. Therefore, the control unit 110 sets the fall stop flag to "1" and initializes the fall counter and fall stop counter to "0" (step S208). By setting the fall stop flag to "1", the robot control process flow described above (Figure 10) is stopped, and the playback process of control data in response to external stimuli (step S109) and spontaneous actions such as breathing (step S110) are no longer executed, and the robot 200 enters a state as if it has fainted (fainted state).
[0065] Returning to Figure 11, the control unit 110 then controls the movable part 220 to a free state (step S209). Specifically, the control unit 110 sends a stop signal to the twist motor 221 and the up / down motor 222. Upon receiving the stop signal, the twist motor 221 and the up / down motor 222 stop driving and enter a free state where no torque is applied (for example, if they are coil motors, the coils are opened). This reduces the damage to the movable part 220 even if the robot 200 subsequently collides with the floor or a table due to a fall. For example, even if the head 204 collides with the floor or a table, the connecting members and gear members of the movable part 220 that move the head 204 move freely in the direction of the impact without resistance, so no excessive force is applied to these members, preventing them from being damaged or the motors from being damaged.
[0066] Next, the control unit 110 outputs a scream sound from the sound output unit that is assumed to be emitted by the creature that the robot 200 is imitating while falling (S210), and the fall detection process ends. The control unit 110 may also change the content of the non-sound output depending on the simulated emotions and personality of the robot 200. For example, if the robot 200 has a shy personality or apathetic emotions, the control unit 110 may reduce the volume of the non-sound or not output any non-sound at all.
[0067] On the other hand, if the value of the fall stop flag is "1" (step S201; Yes), then the robot 200 is currently in a stunned state. Therefore, the control unit 110 performs control to recover the robot 200 from this state. Specifically, in this case, the control unit 110 first adds "1" to the value of the fall stop counter (step S211).
[0068] Then, the control unit 110 determines whether the value of the fall stop counter is "50" or greater (step S212).
[0069] If the value of the fall stop counter is less than "50" (step S212; No), sufficient time (more than 5 seconds) has not elapsed since the fall stop flag was set to "1" and the robot control process was stopped (robot 200 was stunned). Since it would be unnatural for robot 200 to recover at this timing, the fall detection process is terminated without executing any recovery process.
[0070] On the other hand, if the value of the fall stop counter is "50" or more (step S212; Yes), it means that a sufficient amount of time (more than 5 seconds) has elapsed since the fall stop flag was set to "1" and the robot control process was stopped (the robot 200 was stunned). Therefore, the control unit 110 sets the fall stop flag and the fall stop counter to "0" (step S213). As a result, the robot control process (Figure 10) resumes, and control data in response to external stimuli is played back (step S109), and spontaneous actions such as breathing are performed (step S110), causing the robot 200 to behave as if it has recovered from the stunned state. In addition, the execution of steps S109 and S110 drives the twist motor 221 and the up / down motor 222 as appropriate, and the free state of the movable part 220 is released. This completes the fall detection process.
[0071] Next, we will explain the rolling detection process, referring to Figure 12, focusing on the differences from the fall detection process described above.
[0072] The rolling detection process is basically the same as the fall detection process. However, the rolling detection process differs in that it detects the rolling state of the robot 200 instead of the falling state. Therefore, in the rolling detection process, the angular velocity rX of the robot 200's rotation around the front-to-back direction (X-axis direction) is read from the gyro sensor 213 (step S303), and if the absolute value of the angular velocity rX is greater than the rolling threshold RXT (step S305; Yes), it is determined that the robot 200 is in a rotating state and the rolling counter is incremented (step S306). The other steps are essentially the same as the fall detection process, so their explanation is omitted.
[0073] Next, we will explain the pick-up detection process, referring to Figure 13, focusing on the differences from the drop detection process described above.
[0074] The pick-up detection process is basically the same as the fall detection process. However, the pick-up detection process differs in that it detects the pick-up state of the robot 200 instead of the fall state. Therefore, in the pick-up detection process, the acceleration aZ in the vertical direction (Z axis direction) of the robot 200 is read from the acceleration sensor (step S403), and if the value of acceleration aZ is greater than the pick-up threshold GZT (step S405; Yes), it is determined that the robot 200 is in the pick-up state and the pick-up counter is incremented (step S406). The other steps are substantially the same as the fall detection process, so their explanation is omitted.
[0075] Next, we will explain the rotation detection process, referring to Figure 14, focusing on the differences from the fall detection process described above.
[0076] The rotation detection process is basically the same as the fall detection process. However, the difference in the rotation detection process is that it detects the rotation state of the robot 200 instead of the fall state. Therefore, in the rotation detection process, the angular velocity rZ of the robot 200's rotation around the vertical direction (Z-axis direction) is read from the gyro sensor 213 (step S503), and if the absolute value of the angular velocity rZ is greater than the rotation threshold RZT (step S505; Yes), it is determined that the robot 200 is in a rotation state and the rotation counter is incremented (step S506). The other steps are substantially the same as the fall detection process, so their explanation is omitted.
[0077] Thus, according to the control device 100 of the device according to this embodiment, when it is determined that the robot 200 may be subjected to an impact (when it is determined to be in an abnormal state (falling, rolling, picking up, or rotating)), the movable part 220 transitions from an operable state (first state) to a free state (second state) that suppresses the impact applied to the movable part 220. This makes it possible to suppress damage to the movable part 220 when the robot 200 is subjected to an impact.
[0078] Furthermore, according to the control device 100 of the device in this embodiment, if it is determined that the robot 200 may be subjected to an impact (an abnormal condition is detected), the movable part 220 is moved to a free state, and an action that does not require the movable part 220, which mimics the reaction of a living organism when it is subjected to an impact (for example, the output of non-sound in step S210 in Figure 11, step S310 in Figure 12, step S410 in Figure 13, and step S510 in Figure 14, and the second action), is executed. This makes it possible to express a more lifelike appearance and to notify surrounding users of the occurrence of an abnormal condition.
[0079] Furthermore, according to the control device 100 of the device in this embodiment, when an abnormal condition is detected, the stop flag is set to "1" and the robot control process (Figure 10) stops. As a result, the robot 200 enters a stunned state (execution stopped state) in which the execution of all operations (first operations), including operations that do not use the movable parts 220 (for example, the operation of the sound output unit 230), is stopped. Therefore, it is possible to reproduce the behavior of a real living creature that has been struck and stunned.
[0080] Furthermore, according to the control device 100 of the device according to this embodiment, after a first time (5 seconds in this embodiment) has elapsed since the movable part 220 was moved to a free state (second state), the stop flag is reset to "0" and the robot control process resumes, the movable part 220 moves to an operable state (first state), and the robot 200 is released from its stunned state (execution stopped state). This makes it possible to reproduce behavior similar to that of a real living creature, such as recovering and becoming able to move again after some time has passed since it was stunned.
[0081] Furthermore, according to the control device 100 of the device in this embodiment, the number of times the conditions for detecting an abnormal state are met consecutively in each detection process is counted, and when this number is "2" or more, that is, when it is determined that the robot 200 may be subjected to an impact for a predetermined time (0.2 seconds), the movable part 220 is controlled to a free state. In this way, it is possible to improve the accuracy of abnormal state detection.
[0082] (modified version) It should be noted that the present invention is not limited to the embodiments described above, and various modifications and applications are possible. For example, in the above embodiments, the robot 200 was detected as falling, rolling, picking up, and rotating as abnormal states in which it may be subjected to impact. However, the abnormal states are not limited to these, and other states in which it may be subjected to impact immediately afterward may be detected as abnormal states.
[0083] In the above embodiment, when an abnormal condition is detected, the movable part 220 is controlled to a free state to reduce damage from impact. However, the movable part 220 may be controlled to other states. For example, the movable part 220 may be controlled to an energy-saving operation mode that reduces the output to a lower level than normal.
[0084] In the above embodiment, the robot 200 can recover immediately and resume all operations after a first time (5 seconds) has elapsed since the unconscious state. However, the robot 200 may be controlled to recover from the unconscious state in stages. Specifically, the control unit 110 may, 3 seconds after the movable part 220 has moved to a free state, release the unconscious state (execution stopped state) by setting the stop flag to "0" while maintaining the free state of the movable part 220, and enable operations other than those performed by the movable part 220 (for example, outputting sound from the sound output unit 230). Then, after 2 seconds (a second time) has elapsed, the movable part 220 may move from a free state to an operational state (first state) and enable all operations. By doing so, it becomes possible to reproduce behavior that is more like that of a real living creature.
[0085] In the above embodiment, even if the robot 200 was stunned due to any of the abnormal conditions—falling, rolling, picking up, or rotating—the robot control process was uniformly resumed after 5 seconds (after the first time period) and the robot 200's operation recovered. However, the length of the time (first time period) from stunned to recovery may be varied depending on the determined abnormal condition. This can be achieved by appropriately changing the value "50" compared with the stop counter in step S212 in Figure 11, step S312 in Figure 12, step S412 in Figure 13, and step S512 in Figure 14. Furthermore, the length of the second time period described above may also be varied depending on the determined abnormal condition. In this way, variations can be made in the timing of the robot 200's recovery from an abnormal condition, making it possible to make it behave more like a living creature.
[0086] Furthermore, the control unit 110 may be configured to estimate the intensity of the impact received by the robot 200 during detection processing (fall detection processing, rolling detection processing, pick-up detection processing, rotation detection processing). For example, the intensity of such an impact can be estimated from the degree of deviation between the detected value of the acceleration sensor 212 or gyro sensor 213 and a threshold. The control unit 110 may then control the robot 200 to vary the first time or the second time described above according to the estimated intensity of the impact. This allows, for example, if a very high-speed rotation state is detected, the first time to be increased, making the recovery time longer than when a low-speed rotation state is detected, thereby enabling the robot 200 to operate more like a real living creature.
[0087] Furthermore, the control unit 110 may control the robot 200 to vary the length of the first or second time described above based on the set emotion data 121. This allows, for example, if the set emotion data 121 indicates sadness, anxiety, or lethargy, the first time to be increased, making the time to recover from the abnormal state longer than for normal emotions, thereby enabling the robot 200 to operate more like a real living creature.
[0088] Furthermore, in the above-described embodiment, the device control unit 100 is built into the robot 200, but the device control unit 100 does not have to be built into the robot 200. For example, the device control unit 100 may be configured as a separate device (e.g., a server) instead of being built into the robot 200. In this case, the robot 200 also has a communication unit, and the communication unit 130 of the device control unit 100 and the communication unit of the robot 200 are configured to send and receive data to and from each other. The control unit 110 then acquires external stimuli detected by the external stimulus acquisition unit 210 via both communication units and controls the movable part 220 and the sound output unit 230.
[0089] This invention allows for various embodiments and modifications without departing from the broad spirit and scope of the invention. Furthermore, the embodiments described above are for illustrative purposes only and do not limit the scope of the invention. In other words, the scope of the invention is indicated not by the embodiments, but by the claims. Various modifications made within the scope of the claims and the equivalent scope of the meaning of the invention are considered to be within the scope of this invention. [Explanation of Symbols]
[0090] 100...Device control unit, 101...Mounting surface, 110...Control unit, 120...Memory unit, 121...Emotion data, 122...Emotion change data, 123...Control content table, 130...Communication unit, 200...Robot, 201...Exterior, 202...Decorative parts, 203...Hair, 204...Head, 205...Connecting unit, 206...Body unit, 207...Housing, 210...External stimulus acquisition unit, 211...Touch sensor, 212...Accelerometer, 213...Gyro sensor, 214...Microphone, 215...Speaker, 220...Movable part, 221...Twist motor, 222...Up / down motor, 230...Audio output unit, 240...Operation input unit, 250...Power control unit, BL...Bus line
Claims
1. A robot having a biological appearance, capable of expressing predetermined gestures by operating a connecting part that links the head to the torso using torque from a motor, The system includes a control means that, when it detects that the robot has entered a predetermined abnormal state such as falling, rolling, picking up, or rotating during the execution of a predetermined action, stops the motor until a predetermined time has elapsed, thereby controlling the robot to appear to be temporarily stunned. If the control means stops the motor upon detection of the abnormal condition, it controls the motor to remain in a motor-free state until the motor is restored. A robot characterized by the following features.
2. The control means causes the robot to output a predetermined sound from the sound output means when it detects the predetermined abnormal state. The robot according to feature 1.
3. The aforementioned sound is set as a scream. The robot according to feature 2.
4. The robot is equipped with setting means for setting simulated emotions or personality, The control means makes the scream sound different in accordance with the emotion or personality set by the setting means. The robot according to feature 3.
5. The predetermined elapsed time is set to an elapsed time corresponding to each type of abnormal condition. The robot according to any one of claims 1 to 4.
6. The predetermined gesture is an action in response to a predetermined external stimulus, or an action that mimics breathing. The robot according to any one of claims 1 to 4.
7. A control method for a robot having a biological appearance and capable of expressing predetermined gestures by operating a connecting part that connects the head to the torso using torque from a motor, The control process includes stopping the motor until a predetermined time has elapsed when the robot is detected to be in a predetermined abnormal state such as falling, rolling, picking up, or rotating during the execution of the predetermined action, thereby controlling the robot to appear to be temporarily stunned. If the control process stops the motor in response to the detection of the abnormal condition, it controls the motor to be in a motor-free state until the motor is restored. A control method characterized by the following:
8. A computer for a robot that has a biological appearance and can perform predetermined movements by operating the connecting part that links the head to the torso using torque from a motor, If the robot is detected to be in a predetermined abnormal state such as falling, rolling, picking up, or rotating during the execution of a predetermined action, the motor is stopped until a predetermined elapsed time has elapsed, thereby functioning as a control means to control the robot so that it appears to be temporarily stunned. If the control means stops the motor upon detection of the abnormal condition, it controls the motor to remain in a motor-free state until the motor is restored. A program characterized by the following features.
Citation Information
Patent Citations
Action control method of robot device, program, recording medium, and robot device
JP2002239960A
Power tool
JP2010137308A
Image stabilizing apparatus
JP2011128415A
Toy and method for manufacturing toy
JP2017153545A
Equipment control device, equipment, equipment control method, and program
JP2024047382A