Robot, control method, and program
By detecting the impact that the robot may be subjected to and converting the movable part to a free state when it is detected, the damage problem of the robot equipment during collision is solved, increasing the durability of the equipment and simulating the reaction of the injured animal.
Patent Information
- Application Number
- JP2024203704
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-11-22
- Publication Date
- 2025-02-06
- Estimated Expiration
- 2042-09-26
AI Technical Summary
Existing robotic equipment is susceptible to severe damage when it is hit, resulting in equipment failure.
The damage to the robot's equipment is reduced by detecting the impact that the robot may be subjected and converting the movable part to a free state when the impact is detected.
It effectively reduces the damage of robot equipment during collision, simulates the reaction of injured animals, and increases the durability of robot equipment.
Smart Images

Figure 2025019205000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a device control apparatus, a device, a device control method, and a program. [Background technology]
[0002] There is known a technique for controlling the behavior of a device such as a robot so as to make it resemble a familiar presence such as a friend or a pet. For example, Patent Document 1 describes a dog-shaped robot device that behaves like an actual pet when a user applies external stimuli such as stroking, picking up, or talking to the robot. The robot device has a movable part including a servo motor or the like (drive part), and can achieve such behavior by driving the servo motor or the like to move a head part or the like connected by a gear member or the like. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2002-239960 A Summary of the Invention [Problem 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 dropped on the floor by mistake, and in such a case, the robot device may receive a strong impact from the collision with the wall or floor, causing serious damage to the moving parts and possibly causing the robot device to break down.
[0005] The present invention has been made in consideration of the above-mentioned situation, and aims to provide an equipment control device, an equipment, an equipment control method, and a program that can reduce damage to moving parts when subjected to impact. [Means for solving the problem]
[0006] In order to achieve the above object, one aspect of a device control device according to the present invention comprises: A control device for a biological device having a moving part that is a mechanism for performing physical operations, A process for determining whether the device is likely to be subjected to shock; a process of transitioning the movable part from the first state to a second state for suppressing an impact on the movable part when it is determined that the device is likely to be impacted while the movable part is in a first state in which the movable part can cause the device to perform a physical operation; The control unit executes the above. Effect of the Invention
[0007] According to the present invention, damage to the movable part when subjected to an impact can be suppressed. [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 view of a robot according to an embodiment, as viewed from the side. [Diagram 3] FIG. 2 is a diagram illustrating a housing of a robot according to an embodiment. [Figure 4] 10A to 10C are diagrams illustrating an example of the movement of a twist motor of the robot according to the embodiment. [Diagram 5] 13A to 13C are other diagrams illustrating an example of the movement of the twist motor of the robot according to the embodiment. [Figure 6] 10A to 10C are diagrams illustrating an example of the movement of an up and down motor of the robot according to the embodiment. [Figure 7] 13A to 13C are other diagrams illustrating an example of the movement of the up and down motors 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. 11 is a diagram for explaining an example of a control content table according to the embodiment. [Figure 10]11 is a flowchart of a robot control process according to the embodiment. [Figure 11] 11 is a flowchart of a drop detection process according to the embodiment. [Figure 12] 4 is a flowchart of a rolling detection process according to the embodiment. [Figure 13] 11 is a flowchart of a pinch-up detection process according to the embodiment. [Figure 14] 4 is a flowchart of a rotation detection 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] (Embodiment) An embodiment in which the device control device of the present invention is applied to a 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 front, back, left, right, and up and down directions, and the description will be made with reference to these directions as appropriate. As shown in FIG. 1, the robot 200 is covered with an exterior 201 equipped with decorative parts 202 imitating eyes and bushy fur 203. In addition, a housing 207 of the robot 200 is stored inside the exterior 201. 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 in consideration of ease of viewing the drawing.
[0011] As shown in Fig. 2, the body 206 extends in the front-rear direction. The body 206 is placed via the exterior 201 on a placement surface 101 such as a floor or a table on which the robot 200 is placed. As shown in Fig. 2, a twist motor 221 is provided at the front end of the body 206, and the head 204 is connected to the front end of the body 206 via a connection part 205. The connection 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 connection part 205 or in the head 204.
[0012] The connecting portion 205 connects the body portion 206 and the head portion 204 to be rotatable (by the twist motor 221) about a first rotation axis that passes through the connecting portion 205 and extends from the front to the rear of the body portion 206. As shown in Figs. 4 and 5 as front views of the housing 207, the twist motor 221 rotates the head portion 204 clockwise (rightward) around the first rotation axis within a forward rotation angle range, and rotates the head portion 204 counterclockwise (leftward) within a reverse rotation angle range, relative to the body portion 206. Note that the clockwise direction in this description refers to the clockwise direction when looking from the head portion 204 toward the body portion 206. Also, the clockwise rotation is also referred to as a "rightward twist rotation" and the counterclockwise rotation is also referred to as a "leftward twist rotation". The maximum angle of the rightward or leftward twist rotation is arbitrary, but in this embodiment, it is assumed that the head portion 204 can rotate up to 90 degrees both to the left and right. The angle of head 204 when head 204 is not twisted to the right or left as shown in Fig. 3 (hereinafter referred to as "twist reference angle") is set to 0 degrees. The angle of head 204 when twisted and rotated to the leftmost (counterclockwise) as shown in Fig. 4 is set to -90 degrees. The angle of head 204 when twisted and rotated to the rightmost (counterclockwise) as shown in Fig. 5 is set to +90 degrees.
[0013] The connecting part 205 connects the body part 206 and the head part 204 so as to be rotatable (by the vertical motor 222) around a second rotation axis that passes through the connecting part 205 and extends in the width direction (left-right direction) of the body part 206. As shown in Figs. 6 and 7 as side views of the housing 207, the vertical motor 222 rotates the head part 204 upward within a forward rotation angle range around the second rotation axis (forward rotation) and rotates the head part 204 downward within a reverse rotation angle range (reverse rotation). The maximum angle of the upward or downward rotation is arbitrary, but in this embodiment, the head part 204 can be rotated up to 75 degrees both upward and downward. The angle of the head part 204 when it is not rotated upward or downward as shown in Fig. 2 (hereinafter referred to as "vertical reference angle") is 0 degrees. The angle of the head part 204 when it is rotated most upward as shown in Fig. 6 is +75 degrees. The angle of the head part 204 when it is rotated most downward as shown in Fig. 7 is -75 degrees. When the head 204 rotates vertically around the second rotation axis to the vertical reference angle or below the vertical reference angle, the head 204 can come into contact with the placement surface 101, such as a floor or a table, on which the robot 200 is placed, via the exterior 201. Although an example in which the first rotation axis and the second rotation axis are perpendicular to each other is shown in Fig. 2, the first and second rotation axes do not have to be perpendicular to each other.
[0014] 2, the robot 200 is provided with a touch sensor 211 on the head 204, and is capable of detecting that the user has stroked or hit the head 204. The body 206 is also provided with a touch sensor 211, and is capable of detecting that the user has stroked or hit the body 206.
[0015] The robot 200 also includes an acceleration sensor 212 on the torso 206, which can detect the posture (direction) of the robot 200 and detect whether the robot 200 has been lifted up, turned around, or thrown by a user. The robot 200 also includes a gyro sensor 213 on the torso 206, which can detect whether the robot 200 is rolling or rotating.
[0016] The robot 200 also includes a microphone 214 on the body 206 and can detect external sounds. The robot 200 also includes a speaker 215 on the body 206 and can emit sounds (sound effects) made by the robot 200.
[0017] In this embodiment, the acceleration sensor 212, the gyro sensor 213, the microphone 214, and the speaker 215 are provided in the body 206, but all or some of these may be provided in the head 204. In addition to the acceleration sensor 212, the gyro sensor 213, the microphone 214, and the speaker 215 provided in the body 206, all or some of these may also be provided in the head 204. In addition, the touch sensor 211 is provided in each of the head 204 and the body 206, but it may be provided in only one of the head 204 or the body 206. Furthermore, a plurality of each of these may be provided.
[0018] Next, the functional configuration of the robot 200 will be described. As shown in FIG. 8, the robot 200 includes an equipment control device 100, an external stimulus acquisition unit 210, a movable unit 220, a sound output unit 230, an operation input unit 240, and a power supply control unit 250. The equipment control device 100 includes a control unit 110, a storage unit 120, and a communication unit 130. In FIG. 8, the equipment control device 100, the external stimulus acquisition unit 210, the movable unit 220, the sound output unit 230, the operation input unit 240, and the power supply control unit 250 are connected via a bus line BL, but this is an example. The equipment control device 100, the external stimulus acquisition unit 210, the movable unit 220, the sound output unit 230, the operation input unit 240, and the power supply control unit 250 may be connected via a wired interface such as a Universal Serial Bus (USB) cable, or a wireless interface such as Bluetooth (registered trademark). Furthermore, the control unit 110 may be connected to the storage unit 120 and the communication unit 130 via a bus line BL or the like.
[0019] The device control device 100 controls the operation of the robot 200 via the control unit 110 and the storage unit 120 .
[0020] The control unit 110 is composed of, for example, a CPU (Central Processing Unit) and executes various processes (robot control process, drop detection process, rolling detection process, pick-up detection process, rotation detection process, etc.) described later using programs stored in the storage unit 120. Note that the control unit 110 supports a multi-thread function that executes multiple processes in parallel, and therefore can execute various processes (robot control process, drop detection process, rolling detection process, pick-up detection process, rotation detection process, etc.) described later in parallel. The control unit 110 also has a clock function and a timer function, and can measure the date and time, etc.
[0021] The storage unit 120 is composed of a ROM (Read Only Memory), a flash memory, a RAM (Random Access Memory), etc. The ROM stores programs executed by the CPU of the control unit 110 and data required in advance for executing the programs. The flash memory is a writable non-volatile memory, and stores data that should be retained even after the power is turned off. The RAM stores data that is created or changed during program execution.
[0022] The communication unit 130 includes a communication module compatible with wireless LAN (Local Area Network), Bluetooth (registered trademark), etc., and performs data communication with an external device such as a smartphone. The contents of the data communication include, for example, alarm setting data and sleep setting data used to set an alarm function and a sleep function, which will be described later.
[0023] The external stimulus acquisition unit 210 includes the above-mentioned touch sensor 211, acceleration sensor 212, gyro sensor 213, and microphone 214. The control unit 110 acquires, via the bus line BL, detection values detected by the various sensors included in the external stimulus acquisition unit 210 as external stimulus data representing the external stimulus acting on the robot 200. Note that the external stimulus acquisition unit 210 may include sensors other than the touch sensor 211, acceleration sensor 212, gyro sensor 213, and microphone 214. By increasing the types of sensors included in the external stimulus acquisition unit 210, it is possible to increase the types of external stimuli that the control unit 110 can acquire.
[0024] The touch sensor 211 detects contact with some object. The touch sensor 211 is composed of, for example, a pressure sensor or a capacitance sensor. The control unit 110 acquires the contact strength and contact time based on the detection value from the touch sensor 211, and based on these values, can detect an external stimulus such as the robot 200 being stroked or hit by a user.
[0025] The acceleration sensor 212 detects acceleration in three axial directions consisting of the front-back direction (X-axis direction), width (left-right) direction (Y-axis direction), and up-down direction (Z-axis direction) of the body 206 of the robot 200. The acceleration sensor 212 detects gravitational acceleration when the robot 200 is stationary, 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. Also, for example, when the user lifts or throws the robot 200, the acceleration sensor 212 detects 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.
[0026] The gyro sensor 213 detects the angular velocity when rotation is applied to the body of the robot 200. Specifically, the gyro sensor 213 detects the angular velocity of three-axis rotation consisting of rotation about the axis in the front-back direction (X-axis direction) of the body 206, rotation about the axis in the width (left-right) direction (Y-axis direction), and rotation about the axis in the up-down direction (Z-axis direction). The control unit 110 can detect the movement of the robot 200 with higher accuracy by combining the detection values detected by the acceleration sensor 212 and the detection values detected by the gyro sensor 213.
[0027] The touch sensor 211, acceleration sensor 212, and gyro sensor 213 are synchronized, detect the strength of contact, acceleration, and angular velocity at the same timing, and output the detection values to the control unit 110. Specifically, the touch sensor 211, acceleration sensor 212, and gyro sensor 213 detect the strength of contact, acceleration, and angular velocity at the same timing, for example, every 0.1 seconds.
[0028] The microphone 214 detects sounds around the robot 200. Based on the components of the sound detected by the microphone 214, the control unit 110 can detect, for example, whether the user is calling out to the robot 200 or clapping his hands.
[0029] The movable part 220 is a mechanism for making the robot 200 execute physical actions, and includes driving parts such as a twist motor 221 and an up-down motor 222, and connecting members and gear members for transmitting the force of the driving parts to move the head 204 and the like. The movable part 220 (the twist motor 221 and the up-down motor 222) is driven by the control unit 110. The twist motor 221 and the up-down motor 222 are servo motors, and when the control unit 110 designates an action time and an action angle and instructs rotation, they operate to rotate to a position of the designated action angle within the designated action time. As a result, the robot 200 can express actions such as lifting the head 204 (rotating it upward around the second rotation axis) or twisting it sideways (twisting and rotating it to the right or left around the first rotation axis). Motion data for driving the movable part 220 to express these actions is recorded in a control content table 123 described later.
[0030] The sound output unit 230 includes a speaker 215, and when the control unit 110 inputs sound data to the sound output unit 230, sound is output from the speaker 215. For example, when the control unit 110 inputs data of the cry of the robot 200 to the sound output unit 230, the robot 200 emits a pseudo cry. This cry data is also recorded in the control content table 123 as sound effect data.
[0031] The operation input unit 240 is composed of, for example, an operation button, a volume knob, etc. The operation input unit 240 is an interface for accepting operations by a user (owner or recipient), such as turning the power on / off, adjusting the volume of the output sound, etc.
[0032] The power supply control unit 250 includes a sub-microcomputer, a charging IC (Integrated Circuit), a power supply control IC, a power receiving unit, etc., and performs charging of the battery of the robot 200, acquisition of the remaining charge, power supply control of the robot 200, etc.
[0033] Next, among the data stored in the storage unit 120 of the device control device 100, emotion data 121, emotion change data 122, and control content table 123, which are characteristic data of this embodiment, will be described in order.
[0034] The emotion data 121 is data for imparting pseudo-emotions to the robot 200. For example, the emotion data 121 is multi-dimensional data in which a degree of relief (level of anxiety), a level of excitement (level of lethargy), etc. are individually quantified.
[0035] The emotion change data 122 is data indicating the degree of change in the simulated emotion of the robot 200 indicated by the emotion data 121. For example, the emotion change data 122 is data indicating the amount of change in each value of the relief level (anxiety level) or excitement level (apathy level) indicated by the emotion data 121. Since the emotion change data 122 indicates the tendency of changes in the simulated emotion of the robot 200, the emotion change data 122 can also be said to be data indicating the simulated personality of the robot 200 (whether it is shy, cheerful, active, clingy, etc.).
[0036] In addition, various formats of data can be adopted for the emotion data 121 and the emotion change data 122. For example, the emotion data 121 and the emotion change data 122 may be data in the format described in JP 2021-69767 A.
[0037] 9, the control content table 123 stores control conditions and control data in correspondence with each other. When a control condition (e.g., some external stimulus is detected) is satisfied, 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 an action by the movable part 220 and sound effect data for outputting sound effects from the sound output unit 230).
[0038] 9, the motion data is a series of sequence data (in the order of "time (milliseconds): rotation angle (degrees) of up / down motor 222: rotation angle (degrees) of twist motor 221") for controlling movable part 220. For example, when the body is stroked, control unit 110 controls movable part 220 in such a way that the rotation angles of up / down motor 222 and twist motor 221 are initially set to 0 degrees (up / down reference angle and twist reference angle) (up / down reference angle and twist reference angle) at the beginning (0 seconds), head 204 is raised so that the rotation angle of up / down motor 222 becomes 60 degrees at 0.5 seconds, and head 204 is twisted so that the rotation angle of twist motor 221 becomes 60 degrees at 1 second.
[0039] In addition, in FIG. 9, for the sake of clarity, sentences are written to explain each sound effect data, but in reality, the sound effect data itself (sampled sound data) explained in these sentences is stored as the sound effect data in the control content table 123.
[0040] In the control content table shown in FIG. 9, the control conditions do not include conditions related to emotions (represented by emotion data 121). However, by including conditions related to emotions in the control conditions, the control data may be changed according to emotions.
[0041] Next, the robot control process executed by the control unit 110 of the device control device 100 will be described with reference to the flowchart shown in Fig. 10. The robot control process is a process in which the device control device 100 controls the movement and cry of the robot 200 based on detection values from the external stimulus acquisition unit 210 and the like. When the user turns on the power of the robot 200, a thread of this robot control process starts to be executed in parallel with various detection processes and the like described below. The robot control process controls the movable unit 220 and the audio output unit 230 (sound output unit) to express the movement of the robot 200 and output sounds such as a cry.
[0042] First, the control unit 110 initializes various data such as the emotion data 121, emotion change data 122, etc. (step S101). Note that, from the second time onwards when the robot 200 is started up, each value at the time when the power of the robot 200 was last turned off may be set in step S101. This can be realized by the control unit 110 saving the value 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 saved value as the value of each data 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 described below (fall detection process, rolling detection process, pick-up detection process, rotation detection process) to "0" (step S102).
[0044] Next, the control unit 110 determines whether or not the values of the various stop flags (the drop stop flag, the rolling stop flag, the pick-up stop flag, and the rotation stop flag) are all "0" (step S103).
[0045] If there is a stop flag whose value is not "0", i.e. whose value is "1" (step S103; No), this means that an abnormal state of the robot 200 has been detected in one of the various detection processes described below. Therefore, the control unit 110 waits without executing the subsequent steps of the robot control process until the values of all the stop flags become "0". As a result, the robot 200 will no longer perform movements in response to motion stimuli or spontaneous movements such as breathing, and will show a state similar to that of an animal fainting (fainting state).
[0046] On the other hand, if all of the stop flags are "0" (step S103; Yes), the control unit 110 acquires a detection value detected by the external stimulus acquisition unit 210 (step S104). Then, the control unit 110 determines whether or not an external stimulus has been present based on the acquired detection value (step S105).
[0047] If an external stimulus is present (step S105; Yes), the control unit 110 acquires emotion change data 122 according to the detection value of the external stimulus acquired in step S104 (step S106). Specifically, for example, when the touch sensor 211 of the head 204 detects that the head 204 has been stroked as an external stimulus, the robot 200 feels a pseudo sense of security, so the control unit 110 acquires emotion change data 122 indicating an amount to be added to the value of the degree of security included in the emotion data 121.
[0048] Then, control unit 110 sets emotion data 121 according to emotion change data 122 acquired in step S106 (step S107). Specifically, for example, if an addition amount to the comfort level value has been acquired as emotion change data 122 in step S106, control unit 110 adds this addition amount to the comfort level value included in emotion data 121.
[0049] Next, the control unit 110 refers to the control content table 123 and acquires control data corresponding to the control condition that is satisfied by the acquired detection value of the external stimulus (step S108).
[0050] Then, the control unit 110 reproduces the control data acquired in step S108 (step S109), and returns to step S103. This enables the robot 200 to execute an action according to an external stimulus. Note that the content of the control data to be reproduced may be adjusted (changed) based on the set emotion data 121.
[0051] On the other hand, if there is no external stimulus in step S105 (step S105; No), the control unit 110 judges whether or not to perform a spontaneous movement (such as a breathing mimicking movement that mimics the breathing of a living organism) (step S110). While any method can be used to judge whether or not to perform a spontaneous movement, in this embodiment, the judgment in step S110 becomes Yes every breathing cycle (for example, every 2 seconds) and a breathing mimicking movement is performed.
[0052] If the spontaneous movement is not to be performed (step S110; No), the control unit 110 returns to step S103. If the spontaneous movement is to be performed (step S110; Yes), the control unit 110 executes the spontaneous movement (for example, breathing mimicking movement) (step S111) and returns to step S103.
[0053] The control data for this spontaneous movement is also stored in the control content table 123 (for example, as shown in "a respiratory cycle has elapsed" in "control condition" in Fig. 9). In step S111, the control content for the spontaneous movement may be adjusted (changed) based on the set emotion data 121, as in the case where an external stimulus is present.
[0054] Next, with reference to the flowcharts shown in Figs. 11 to 14, the detection processes (drop detection process, rolling detection process, pick-up detection process, rotation detection process) executed by the control unit 110 of the device control device 100 to detect various abnormal states will be described. Each of these detection processes is an interrupt process that is repeatedly executed every 0.1 seconds in parallel with the above-mentioned robot control process while the robot 200 is powered on. The drop detection process, rolling detection process, pick-up detection process, and rotation detection process are exclusively controlled, and two or more detection processes are not executed simultaneously. Each of these detection processes detects an abnormal state that may cause an impact (drop state, rolling state, pick-up state, rotation state), and when an abnormal state is detected, the movable part 220 is controlled to a state that suppresses the impact.
[0055] First, the drop detection process will be described in detail with reference to FIG.
[0056] First, the control unit 110 determines whether or not the value of the drop stop flag is "1" (step S201).
[0057] If the value of the drop stop flag is not "1" (step S201; No), that is, is "0", the control unit 110 determines whether the value of the drop counter is equal to or greater than "2" (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 detected by the acceleration sensor 212 (step S203).
[0059] Then, the control unit 110 calculates the value V of an acceleration vector obtained by combining the read accelerations aX, aY, and aZ as shown in the following formula (1) (step S204).
[0060]
number
[0061] Then, in order to determine whether the robot 200 is in free fall, the control unit 110 determines whether the calculated acceleration vector V is smaller than an acceleration threshold value GT for determining free fall (step S205). In the case of a completely free fall, the acceleration vector V is 0, but since rotational motion may also occur during a free fall, it is desirable to set the acceleration threshold value GT to a value with some margin (for example, 1 / 5 of the acceleration of gravity).
[0062] If the acceleration vector V is smaller than the acceleration threshold value GT (step S205; Yes), the control unit 110 adds 1 to the value of the fall counter (step S206), and the fall detection process ends.
[0063] On the other hand, if the acceleration vector V is equal to or greater than the acceleration threshold value GT (step S205; No), 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), and the fall detection process ends.
[0064] If the value of the fall counter is "2" or more (step S202; Yes), it means that the acceleration vector V has been continuously determined to be smaller than the acceleration threshold value GT in the most recent two or more fall detection processes repeatedly executed every 0.1 seconds, and it is found 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 the fall stop counter to "0" (step S208). By setting the fall stop flag to "1", the flow of the robot control process described above (FIG. 10) stops, and the reproduction process of the control data in response to an external stimulus (step S109) and spontaneous actions such as breathing (step S110) are no longer executed, and the robot 200 becomes in a state as if it had fainted (fainted state).
[0065] Returning to FIG. 11, the control unit 110 subsequently controls the movable unit 220 to a free state (step S209). Specifically, the control unit 110 transmits a stop signal to the twist motor 221 and the up-down motor 222. The twist motor 221 and the up-down motor 222 that have received the stop signal stop driving and are in a free state in which no torque is applied (for example, in the case of a coil motor, the coil is in an open state). This makes it possible to reduce damage to the movable unit 220 even if the robot 200 subsequently collides with a floor, a table, or the like due to a fall. For example, even if the head 204 collides with a floor, a table, or the like, the connecting members and gear members of the movable unit 220 for moving the head 204 move freely without resistance in the direction of the impact, so that excessive force is not applied to these members, and it is possible to prevent these members from being broken and the motor from being damaged.
[0066] Next, the control unit 110 causes the sound output unit to output a scream sound that is assumed to be emitted by a living thing that the robot 200 imitates while falling (S210), and the fall detection process ends. The control unit 110 may vary the content of the non-sounds to be output according to the simulated emotion or personality of the robot 200. For example, if the robot 200 has a shy personality or a listless emotion, the control unit 110 may reduce the volume of the non-sounds or may not output the non-sounds.
[0067] On the other hand, if the value of the drop stop flag is "1" (step S201; Yes), the robot 200 is currently in an unconscious state. Therefore, the control unit 110 performs control to recover the robot 200 from such a state. That is, in this case, the control unit 110 first adds "1" to the value of the drop stop counter (step S211).
[0068] Then, the control unit 110 determines whether the value of the drop stop counter is equal to or greater than "50" (step S212).
[0069] If the value of the fall stop counter is less than "50" (step S212; No), a sufficient amount of time (5 seconds or more) has not passed since the fall stop flag was set to "1" and the robot control process was stopped (the robot 200 was stunned), and if the robot 200 were to recover at this timing, it would seem strange for a living thing, so the fall detection process ends without executing any process for recovery.
[0070] On the other hand, if the value of the drop stop counter is "50" or more (step S212; Yes), it means that a sufficient time (5 seconds or more) has passed since the drop stop flag was set to "1" and the robot control process was stopped (the robot 200 was fainted). Therefore, the control unit 110 sets the drop stop flag and the drop stop counter to "0" (step S213). As a result, the robot control process (FIG. 10) is resumed, and the robot 200 behaves as if it has recovered from the fainted state by playing back control data in response to an external stimulus (step S109) and performing spontaneous movements such as breathing (step S110). In addition, the twist motor 221 and the up-down motor 222 are appropriately driven by the execution of steps S109 and S110, and the free state of the movable part 220 is released. This ends the drop detection process.
[0071] Next, the rolling detection process will be described with reference to FIG. 12, focusing on the differences from the above-described drop detection process.
[0072] The rolling detection process is basically the same as the drop detection process. However, the rolling detection process is different in that the rolling state of the robot 200 is detected instead of the falling state of the robot 200. Therefore, in the rolling detection process, the angular velocity rX of the rotation about the axis in the front-back direction (X-axis direction) of the robot 200 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 value 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 substantially the same as the drop detection process, so a description thereof will be omitted.
[0073] Next, the pick-up detection process will be described with reference to FIG. 13, focusing on the differences from the drop detection process described above.
[0074] The pinch-up detection process is basically the same as the drop detection process. However, the pinch-up detection process is different in that the pinch-up state is detected instead of the drop state of the robot 200. Therefore, in the pinch-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 the acceleration aZ is greater than the pinch-up threshold GZT (step S405; Yes), it is determined that the robot 200 is in a pinch-up state, and the pinch-up counter is incremented (step S406). The other steps are substantially the same as the drop detection process, so a description thereof will be omitted.
[0075] Next, the rotation detection process will be described with reference to FIG. 14, focusing on the differences from the above-described drop detection process.
[0076] The rotation detection process is basically the same as the drop detection process. However, the difference is that the rotation detection process detects the rotation state instead of the drop state of the robot 200. Therefore, in the rotation detection process, the angular velocity rZ of the rotation about the axis of the vertical direction (Z-axis direction) of the robot 200 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 value 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 drop detection process, so a description thereof will be omitted.
[0077] Thus, according to the device control device 100 of this embodiment, when it is determined that the robot 200 may receive an impact (when it is determined that the robot 200 is in an abnormal state (any of a falling state, a rolling state, a picked-up state, or a rotating state)), the movable part 220 is shifted from an operable state (first state) to a free state (second state) for suppressing the impact applied to the movable part 220. This makes it possible to suppress damage to the movable part 220 when the robot 200 receives an impact.
[0078] Furthermore, according to the device control device 100 of this embodiment, when it is determined that the robot 200 may receive an impact (when an abnormal state is detected), the movable part 220 is shifted to a free state, and an operation that does not require the movable part 220 and imitates the reaction of a living thing when it receives an impact (for example, output of non-sounds, second operation in step S210 of FIG. 11, step S310 of FIG. 12, step S410 of FIG. 13, and step S510 of FIG. 14) is executed. This makes it possible to express more living-likeness and to notify surrounding users of the occurrence of an abnormal state.
[0079] Furthermore, according to the device control device 100 of this embodiment, when an abnormal state is detected, the stop flag is set to "1" and the robot control process (FIG. 10) is stopped. This causes the robot 200 to enter an unconscious state (execution stopped state) in which the execution of all operations (first operations) including operations that do not use the movable part 220 (for example, operations of the audio output part 230) is stopped. This makes it possible to reproduce the behavior of a real living creature that has been shocked and fainted.
[0080] Furthermore, according to the device control device 100 of this embodiment, after a first time (five seconds in this embodiment) has elapsed since the movable part 220 was made to transition to the free state (second state), the stop flag is reset to "0" and the robot control process is resumed, the movable part 220 transitions to an operable state (first state), and the stunned state (execution suspended state) of the robot 200 is released. This makes it possible to reproduce the behavior of a real living thing, such as recovering and becoming able to move after a period of time has passed since being stunned.
[0081] Furthermore, according to the device control device 100 of this embodiment, the number of times that the condition for detecting an abnormal state is continuously satisfied in each detection process is counted, and when the number of times 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 be in a free state. In this way, it is possible to improve the accuracy of detecting an abnormal state.
[0082] (Modification) The present invention is not limited to the above-described embodiment, and various modifications and applications are possible. For example, in the above-described embodiment, the falling state, rolling state, pick-up state, and rotating state of the robot 200 are detected as abnormal states that may cause an impact, but the abnormal states are not limited to these, and other states that may cause an impact immediately thereafter may be detected as abnormal states.
[0083] In the above embodiment, when an abnormal state is detected, the movable part 220 is controlled to the free state as a state for reducing damage from an impact, but the movable part 220 may be controlled to another state. For example, the movable part 220 may be controlled to an energy saving operation mode in which the output is made smaller than normal.
[0084] In the above embodiment, after the first time (5 seconds) has elapsed from the fainted state, the robot 200 can immediately recover and resume all of its movements, but the robot 200 may be controlled to recover from the fainted state in stages. Specifically, the control unit 110 may set the stop flag to "0" while maintaining the free state of the movable part 220, cancel the fainted state (execution stopped state), and enable the execution of movements other than the movements of the movable part 220 (for example, output of sound from the sound output unit 230), three seconds after the movable part 220 has been shifted to the free state, and then, after two seconds (second time), shift the movable part 220 from the free state to an operable state (first state) to enable the execution of all of its movements. In this way, it is possible to reproduce the behavior of a real living thing more accurately.
[0085] In the above embodiment, even if the robot 200 faints due to any of the abnormal states of the falling state, rolling state, picking up state, and rotating state, the robot control process is resumed after 5 seconds (after the first time has elapsed) and the robot 200 recovers its movement. However, the length of the time (first time) until the robot 200 recovers from fainting may be varied depending on the determined abnormal state. This can be realized by appropriately changing the value "50" compared with the stop counter in step S212 of FIG. 11, step S312 of FIG. 12, step S412 of FIG. 13, and step S512 of FIG. 14. In addition, the length of the second time may be varied depending on the determined abnormal state. In this way, the timing until the robot 200 recovers from the abnormal state can be varied, and the robot 200 can be made to move more like a living thing.
[0086] Furthermore, the control unit 110 may estimate the strength of the impact that the robot 200 receives in the detection processes (drop detection process, roll detection process, pick-up detection process, and rotation detection process). For example, the strength of such an impact may be estimated from the degree of deviation between the detection value of the acceleration sensor 212 or the gyro sensor 213 and a threshold value. Then, the control unit 110 may control the robot 200 to make the above-mentioned first time or second time different depending on the estimated strength of the impact. This enables control such that, for example, when a very high-speed rotation state is detected, the first time is increased to make the time until recovery longer than when a low-speed rotation state is detected, and the robot 200 can be operated more like a real living thing.
[0087] Furthermore, the control unit 110 may control the robot 200 to vary the length of the above-mentioned first time period or the second time period based on the set emotion data 121. This allows control such that, for example, when the set emotion data 121 indicates an emotion such as sadness, anxiety, or lethargy, the first time period is increased to make the time required to recover from an abnormal state longer than that required for normal emotions, thereby allowing the robot 200 to operate more like a real living creature.
[0088] In the above embodiment, the robot 200 is configured to have the device control device 100 built in, but the device control device 100 does not have to be built in the robot 200. For example, the device control device 100 may be configured as a separate device (e.g., a server) without being built in the robot 200. In this case, the robot 200 also includes a communication unit, and the communication unit 130 of the device control device 100 and the communication unit of the robot 200 are configured to be able to transmit and receive data to and from each other. The control unit 110 then acquires the external stimulus detected by the external stimulus acquisition unit 210 via both communication units, and controls the movable unit 220 and the audio output unit 230.
[0089] The present invention allows various embodiments and modifications without departing from the broad spirit and scope of the present invention. The above-described embodiments are for the purpose of explaining the present invention and do not limit the scope of the present invention. That is, the scope of the present invention is indicated by the claims, not the embodiments. Various modifications made within the scope of the claims and the scope of the invention equivalent thereto are considered to be within the scope of the present invention. [Explanation of symbols]
[0090] 100...Device control device, 101...Placement 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 part, 203...Hur, 204...Head, 205...Connecting unit, 206...Torso, 207...Housing, 210...External stimulus acquisition unit, 211...Touch sensor, 212...Acceleration sensor, 213...Gyro sensor, 214...Microphone, 215...Speaker, 220...Moving part, 221...Twisting motor, 222...Up and down motor, 230...Audio output unit, 240...Operation input unit, 250...Power supply control unit, BL...Bus line
Claims
1. A control device for a biological device having a moving part that is a mechanism for performing physical operations, A process for determining whether the device is likely to be subjected to shock; a process of transitioning the movable part from the first state to a second state for suppressing an impact on the movable part when it is determined that the device is likely to be impacted while the movable part is in a first state in which the movable part can cause the device to perform a physical operation; A control unit that executes Equipment control device.
2. the second state is a state in which the movable part cannot cause the device to perform a physical operation, The control unit is When the movable part is in the first state, the device is caused to perform a first operation including an operation not using the movable part that mimics the living organism; when it is determined that the device is likely to receive an impact, the movable part is transitioned from the first state to the second state, and the device is put into an execution stop state in which execution of the first operation is stopped. A control device for an appliance according to claim 1.
3. The control unit is transitioning the movable unit from the second state to the first state and releasing the execution suspension state of the device after a first time has elapsed since transitioning the movable unit from the first state to the second state. A device control apparatus according to claim 2.
4. The control unit is returning the movable part to the first state after a second time has elapsed since the execution suspension state of the device is released. The device control device according to claim 3.
5. The control unit is When it is determined that the device may be subjected to an impact, the movable part is transitioned from the first state to the second state, and the device is caused to execute a second action that imitates a reaction of the living thing when the device is subjected to the impact and does not require a physical action of the movable part. A device control apparatus according to any one of claims 1 to 4.
6. The control unit is determining whether the device is in any one of a plurality of different states as a state in which the device may be subjected to a shock, and varying the length of the first time period depending on the determined state; The device control device according to claim 3.
7. The control unit is determining whether the device is in any one of a plurality of different states as a state in which the device may be subjected to a shock, and varying the length of the second time period depending on the determined state; The device control device according to claim 4.
8. The control unit is estimating the strength of an impact that the device may receive, and varying the length of the first time period or the second time period depending on the estimated strength of the impact; The device control device according to claim 4.
9. the device includes a sensor including at least one of an acceleration sensor and a gyro sensor; The control unit is Estimating the strength of an impact that the device may receive according to the detection value of the sensor; The device control device according to claim 8.
10. The control unit is Set emotion data that represents pseudo-emotions, varying a length of the first time period or a length of the second time period based on the set emotion data; The device control device according to claim 4.
11. The control unit controls the movable unit to the second state when it is determined that the device is likely to receive an impact for a predetermined continuous period of time. A device control apparatus according to any one of claims 1 to 4.
12. The control unit is capable of detecting at least any one of a dropped state, a rolling state, a picked-up state, and a rotating state of the device as a state in which the device may be subjected to an impact. A device control apparatus according to any one of claims 1 to 4.
13. The movable part includes a motor. The control unit controls the motor to a free state as the second state. A device control apparatus according to any one of claims 1 to 4.
14. An appliance comprising the appliance control device according to any one of claims 1 to 4.
15. A method for controlling a biological device having a moving part that is a mechanism for performing physical operations, comprising the steps of: determining whether the device is subject to shock; when it is determined that the device is likely to receive an impact while the movable part is in a first state in which the movable part can cause the device to perform a physical operation, the movable part is transitioned from the first state to a second state for suppressing the impact applied to the movable part. How to control the device.
16. A control unit of a control device of a device that mimics a living organism and has a moving part that is a mechanism for performing physical operations, A process for determining whether the device is likely to be subjected to shock; a process of transitioning the movable part from the first state to a second state for suppressing an impact on the movable part when it is determined that the device is likely to be impacted while the movable part is in a first state in which the movable part can cause the device to perform a physical operation; A program that executes the following.
Citation Information
Patent Citations
Power tool
JP2010137308A
Image stabilizing apparatus
JP2011128415A
Toy and method for manufacturing toy
JP2017153545A
Equipment control device, equipment, equipment control method, and program
JP2024047382A
Robot housing movement mechanism
WO2019131696A1