Information processing apparatus, information processing method, and computer program product

CN116490251BActive Publication Date: 2026-10-27SONY INTERACTIVE ENTERTAINMENT LLC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202080107516.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-12-07
Publication Date
2026-10-27
Estimated Expiration
2040-12-07

AI Technical Summary

Benefits of technology

[0009]鉴于上述情况,本发明的目的是提供一种信息处理设备、信息处理方法和程序,其使得能够检测和利用机器人的非预期的运动。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116490251B_ABST
    Figure CN116490251B_ABST
Patent Text Reader

Abstract

Provided is an information processing apparatus including: a measurement value acquisition unit that acquires a measurement value indicating a change in an operating state of a portion of a housing; a contact event detection unit that detects a contact event that has occurred on the portion of the housing based on the measurement value; and an initiative determination unit that determines that the contact event is initiative when the contact event is detected in an operation-performing portion included in the portion of the housing.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to information processing equipment, information processing methods, and programs. Background Technology

[0002] Various types of robots are being researched and developed. PTL 1 discloses a robotic device including a module that generates motion synchronized with the user's motion based on a user image input via a camera image input device.

[0003] [List of Citations]

[0004] [Patent Literature]

[0005] [PTL 1]

[0006] Japanese Patent Publication No. 2005-342873 Summary of the Invention

[0007] [Technical Issues]

[0008] For example, while developing the aforementioned robots, research is also underway to detect unintended movements of the robots, such as those generated by physical interactions between them, and to use the detected movements for purposes such as entertainment. However, technologies for utilizing such movements have not yet been adequately proposed.

[0009] In view of the above, the object of the present invention is to provide an information processing device, information processing method and program that enables the detection and utilization of unintended movements of a robot.

[0010] [Problem Solution]

[0011] According to one aspect of the present invention, an information processing device is provided, comprising a measurement value acquisition unit, a contact event detection unit, and an initiative determination unit. The measurement value acquisition unit acquires measurement values ​​indicating changes in the motion state of a portion of a housing. The contact event detection unit detects a contact event that has occurred on the portion of the housing based on the measurement values. If the contact event is detected on a moving part included in the portion of the housing, the initiative determination unit determines that the contact event is active.

[0012] According to another aspect of the present invention, an information processing method is provided, comprising: a step of acquiring a measurement value indicating a change in the motion state of a portion of a housing; a step of detecting a contact event that has occurred on the portion of the housing based on the measurement value; and a step of identifying a moving portion included in the portion of the housing, and determining that the contact event is active if the contact event is detected on the moving portion.

[0013] According to another aspect of the invention, a program is provided for using a computer as an information processing device, the information processing device comprising a measurement value acquisition unit, a contact event detection unit, and an initiative determination unit. The measurement value acquisition unit acquires measurement values ​​indicating changes in the motion state of a portion of a housing. The contact event detection unit detects a contact event that has occurred on the portion of the housing based on the measurement values. The initiative determination unit identifies a moving portion included in the portion of the housing, and determines that the contact event is active if the contact event is detected on the moving portion. Attached Figure Description

[0014] Figure 1 This is a schematic diagram illustrating an example configuration of a system according to an embodiment of the present invention.

[0015] Figure 2 It is shown Figure 1 A schematic diagram of an example configuration of the robot in the system shown.

[0016] Figure 3 It is shown Figure 1 A schematic diagram of an example configuration of a specific device in the system shown.

[0017] Figure 4A This is a block diagram illustrating a first example of a functional configuration for contact event detection and determination.

[0018] Figure 4B This is a block diagram illustrating a second example of the functional configuration for contact event detection and determination.

[0019] Figure 5 This is a diagram illustrating a specific example of a functional configuration for contact event detection in an embodiment of the present invention.

[0020] Figure 6A This is a graph illustrating an example comparison between measured torque values ​​and threshold ranges.

[0021] Figure 6B This is a graph illustrating an example comparison between measured torque values ​​and threshold ranges.

[0022] Figure 7 This is a diagram illustrating an example of applying a low-pass filter to a measured torque value.

[0023] Figure 8 This is a diagram illustrating an example of the robot's structure.

[0024] Figure 9A This is a diagram illustrating an example of a detection method that combines the ratios of measured torque values ​​across multiple joints.

[0025] Figure 9BThis is a diagram illustrating an example of a detection method that combines the ratios of measured torque values ​​across multiple joints.

[0026] Figure 10A This is a diagram illustrating an example of a detection in which angular differences are combined.

[0027] Figure 10B This is a diagram illustrating an example of a detection in which angular differences are combined.

[0028] Figure 11A This is a diagram illustrating an example of determining the initiative of a contact event in an embodiment of the present invention.

[0029] Figure 11B This is a diagram illustrating an example of determining the initiative of a contact event in an embodiment of the present invention.

[0030] Figure 12 This is a schematic diagram illustrating the process of detecting active contact events in an embodiment.

[0031] Figure 13 This is a flowchart illustrating an example of the processing performed by the fraction calculation component in an embodiment of the present invention. Detailed Implementation

[0032] Preferred embodiments of the invention will now be described in detail with reference to the accompanying drawings. It should be noted that in this document and the drawings, components having substantially the same functional configuration are indicated by the same reference numerals and will not be described again.

[0033] (System Configuration)

[0034] Figure 1 This is a schematic diagram illustrating an example configuration of a system according to an embodiment of the present invention. In this embodiment, system 10 provides a fighting game played by robots 100A and 100B. System 10 also includes controllers 200A and 200B and a determining device 300.

[0035] Robots 100A and 100B (hereinafter collectively referred to as Robot 100) include heads 101A and 101B (hereinafter collectively referred to as Head 101), torsos 102A and 102B (hereinafter collectively referred to as Torso 102), arms 103A and 104A, arms 103B and 104B (hereinafter collectively referred to as Arms 103 and 104), and legs 105A and 106A, and legs 105B and 106B (hereinafter collectively referred to as Legs 105 and 106).

[0036] Controllers 200A and 200B generate operation signals based on user input (e.g., input to an undrawn button or lever). Alternatively, controllers 200A and 200B can generate operation signals based on user movement, which is identified through motion capture provided by, for example, a camera or sensor not shown. Operation signals are sent from controller 200A to robot 100A and from controller 200B to robot 100, respectively. Robots 100A and 100B move according to their respective operation signals.

[0037] A fighting game is provided by allowing robots 100A and 100B to move and drive their arms 103 and 104 and legs 105 and 106 to attack and defend against an opponent, respectively, based on operation signals from controllers 200A and 200B. The rules of the fighting game are not particularly limited to any particular type. However, for example, points can be awarded to robot 100A when an attack by either arm 103A or 104A of robot 100A hits the head 101B or torso 102B of robot 100B. The determining device 300 determines these points based on information sent from robots 100A and 100B, respectively.

[0038] Figure 2 It is shown Figure 1 The diagram illustrates an example configuration of a robot in the system shown. Robot 100 includes an information processing device 110, which is mounted, for example, in a torso 102. The information processing device 110 includes, for example, a CPU (Central Processing Unit) 111 for performing arithmetic operations, RAM (Random Access Memory) 112, ROM (Read-Only Memory) 113, and external memory 114. The information processing device 110 determines the movement of various parts of robot 100 based on operating or control signals received from a communication interface 121. The communication interface 121 is connected to the information processing device 110 via a bus interface 115.

[0039] Information processing device 110 controls motor 130 to rotatably drive the joints of arms 103 and 104, hands 103H and 104H, legs 105 and 106, and feet 105F and 106F, thereby performing the determined movement. Although not shown, head 101 and torso 102 may also be provided with joints driven by motor 130. For example, CPU 111 in information processing device 110 selects a movement mode corresponding to the determined movement from movement modes stored in ROM 113 or external memory 114, determines settings such as for leg movement, ZMP (zero torque point) trajectory, torso movement, and upper limb movement according to the selected movement mode, and controls motor 130 according to the setting values ​​of the determined settings.

[0040] In addition, an IMU (Inertial Measurement Unit) 122 and other sensors are installed on the robot 100. The sensors are connected to the information processing device 110 via a bus interface 115, allowing the information processing device 100 to reference sensor output values ​​and control various parts of the robot 100 as needed. Furthermore, the information processing device 110 can send the determined information regarding attack and defense acquired through processing described later to... Figure 1 The determination device 300 is shown. Optionally, the information processing device 110 may send at least some of, for example, sensor output values ​​and selected motion modes or setting values ​​for controlling the motor 130 to the determination device 300, which extracts determination information about attack and defense.

[0041] Figure 3 It is shown Figure 1 The diagram illustrates an example configuration of the determining device in the system. The determining device 300 includes an information processing device 310 and a communication interface 321. The information processing device 310 includes, for example, a CPU 311 for performing arithmetic processing, RAM 312, ROM 313, and external memory 314. The information processing device 310 determines the winner and loser of the fighting game based on determining information received from robots 100A and 100B respectively via the communication interface 321. For example, the determining results and game scores can be sent via the communication interface 321 to another device, such as a user terminal, and displayed on a display 322. The communication interface 321 and the display 322 are connected to the information processing device 310 via a bus interface 315.

[0042] In this embodiment, a contact event is defined as an element used to determine the winner and loser in a fighting game. For example, a contact event is generated when robot 100A collides with any part of the housing of robot 100B during a fighting game. In this case, two different torque changes occur in the motors driving the various parts of robots 100A and 100B. One torque change is caused by motion executed according to operating signals from controllers 200A and 200B. The other torque change is caused by the force exerted when the opponent's robot (an external object) contacts the housing. The magnitude and timing of the former torque change, including, for example, torque changes caused by contact with a floor surface, can be predicted from the motion pattern set for robot 100 and sensor output values. Meanwhile, the magnitude and timing of the latter torque change vary with the position and movement of robot 100B, making it difficult to predict in a similar manner to the former. Events involving torque changes caused by contact with such external objects are referred to herein as contact events.

[0043] Contact events, as defined above, are further categorized into active contact events and passive contact events. For example, if robot 100A collides with any part of the housing of robot 100B, a contact event occurs within the impacted robot 100B. In this case, robot 100B does not perform any attacking motion. Therefore, it is difficult to predict the event occurring within robot 100B itself. In this case, a passive contact event is considered to have occurred on robot 100B. Meanwhile, in the aforementioned case, robot 100A performs an attacking motion. Therefore, the contact event occurring on robot 100A is predictable. In this case, an active contact event is considered to have occurred on robot 100A. However, in cases where, for example, robot 100B performs an evasive motion, a predicted contact event may not occur. Furthermore, even in the case of a contact event, the magnitude and duration of the torque change depend on the position and motion of robot 100B. Therefore, even in the case of an active contact event, it is difficult to predict the magnitude and duration of the torque change.

[0044] In this embodiment, the aforementioned passive and active contact events are detected on both the robot 100A and robot 100B sides. The detection results are then integrated to determine the winner and loser of the fighting game. As functional components for achieving these objectives, system 10 includes a torque value acquisition unit 510, an angle difference acquisition unit 520, a contact event detection unit 530, an initiative determination unit 540, and a score increment unit 550. Figure 1 In the system 10 shown, these functional components are implemented in the information processing device 110 owned by the robot 100, or in the information processing device 310 owned by the determining device 300.

[0045] Specifically, such as Figure 4A As shown, the torque value acquisition unit 510, the angle difference acquisition unit 520, the contact event detection unit 530, and the initiative determination unit 540 can be implemented in the robot 100, and the fraction increment unit 550 can be implemented in the determination device 300. In this case, the determination device 300 includes a contact event detection result acquisition unit 551 and an initiative determination result acquisition unit 552. The contact event detection result acquisition unit 551 receives the detection results of contact events in robots 100A and 100B. The initiative determination result acquisition unit 552 receives the determination results of the initiative of the contact events in robots 100A and 100B.

[0046] Alternatively, such as Figure 4BAs shown, the torque value acquisition component 510 and the angle difference value acquisition component 520 can be implemented in the robot 100, and the contact event detection component 530, the initiative determination component 540, and the fraction increment component 550 can be implemented in the determination device 300. In this case, the functions of the contact event detection result acquisition component and the initiative determination result acquisition component are included in the contact event detection component 530 and the initiative determination component 540. Each functional component element will be further described below.

[0047] The measured torque value acquisition unit 510 acquires the measured torque values ​​measured by the motors driving the joints of the housing of the robot 100. As previously described, the housing of the robot 100 includes, for example, a head 101, a torso 102, and arms 103 and 104, and the joints for connecting them together are driven by motors 130. The measured torque values ​​are acquired, for example, by measuring the current flowing to the motors 130. Where the joints can be driven in multiple directions (e.g., roll, pitch, and yaw), the measured torque values ​​of the motors driving the joints in each direction can be acquired. The acquired measured torque values ​​can be processed in real time by the contact event detection unit 530. Alternatively, the measured torque values ​​acquired in a time series can be buffered for a predetermined time period to calculate, for example, time differences and moving averages.

[0048] Angle difference acquisition unit 520 acquires an angle difference value, which represents the difference between a measured angle value and an indicated angle value relative to the motors driving the joints of the housing of robot 100. The measured angle value is acquired, for example, as the output value of a potentiometer or encoder connected to the joint driven by the motor. The indicated angle value is, for example, a target value of the rotation angle of each motor 130 determined by information processing device 110.

[0049] If the measured torque value acquired by the measured torque value acquisition unit 510, or a value based on the measured torque value, exceeds a threshold range, the contact event detection unit 530 detects a contact event that has occurred on a portion of the housing connected by a joint driven by a motor 130 associated with the measured torque value. More specifically, for example, if the measured torque value of the motor driving the joint connecting the head 101 and torso 102 of the robot 100, or a value based on the measured torque value, exceeds a threshold range, the contact event detection unit 530 detects a contact event that has occurred on the head 101 or torso 102.

[0050] In the above scenario, the threshold range for contact event detection by the contact event detection component 530 corresponds to the range of measured torque values ​​detected by each motor during normal operation, i.e., when the motors driving the joints of the robot 100 operate according to the motion pattern determined by the information processing device 110 and no unexpected external force is applied. For example, the threshold range is determined by actually measuring the torque values ​​when the robot 100 performs various movements. The threshold range can be set individually for each joint and motor drive direction (e.g., roll, pitch, and yaw directions). Alternatively, a common threshold range can be set for two or more joints and drive directions.

[0051] For example, the contact event detection unit 530 can detect a contact event if the measured torque value is simply outside the threshold range, i.e., if the measured torque value is greater than the maximum value of the threshold range or less than the minimum value of the threshold range. Alternatively, as described later with reference to the example, the contact event detection unit 530 can detect a contact event if a component of the measured torque value has a frequency equal to or lower than a predetermined frequency, or if the time difference of the measured torque values ​​exceeds the threshold range. Furthermore, as described later with reference to the example, the contact event detection unit 530 can detect a contact event based on the ratio of multiple measured torque values, and can also detect a contact event based on the angle difference value acquired by the angle difference acquisition unit 520.

[0052] The initiative determination component 540 determines whether a contact event detected by the contact event detection component 530 is active. Here, as previously described, the occurrence of an active contact event is predictable because the robot 100 has already performed a movement that invokes the active contact event. Specifically, the initiative determination component 540 determines that the contact event is active when a contact event is detected on a moving part included in the housing of the robot 100. For example, the initiative determination component 540 can identify the moving part of the robot 100 based on the joint movement pattern determined by the information processing device 110. Furthermore, as described later with reference to the example, the initiative determination component 540 can identify the arms 103 and 104 (including the hands 103H and 104H) as moving parts when the torso 102 of the robot 100 and the arms 103 and 104 supported by the torso 102 are in a predetermined positional relationship with the torso 102. In this embodiment, contact events that are not determined as active contact events by the initiative determination component 540 are processed as passive contact events.

[0053] For each of robots 100A and 100B, the score increment component 550 determines the winner and loser of the fighting game based on the contact event detection result of the contact event detection component 530 and the contact event initiative determination result of the initiative determination component 540. More specifically, if, for example, a first contact event detected on robot 100A is active and a second contact event detected on robot 100B simultaneously with the first contact event is inactive, the score increment component 550 determines that robot 100A has successfully attacked robot 100B, and then increments the score of robot 100A. A specific example of this processing by the score increment component 550 will be described later.

[0054] (Specific example of contact event detection)

[0055] Figure 5 This is a diagram illustrating a specific example of a functional configuration for contact event detection in an embodiment of the present invention. Figure 5 In the example shown, the measured torque value acquisition unit 510 acquires the measured torque values ​​(Head_Roll, Head_Pitch, Head_Yaw) in three directions of the motors driving the joints connecting the head 101 and the torso 102, the measured torque values ​​(Trunk_Roll, Trunk_Pitch, Trunk_Yaw) in three directions of the motors driving the joints connecting the two parts of the torso 102, and the measured torque values ​​(Left_Shoulder_Roll, Left_Shoulder_Pitch, Right_Shoulder_Roll, Right_Shoulder_Pitch) in two directions of the motors driving the shoulder joints connecting the torso 102 and the arms 103 and 104. Simultaneously, the angle difference acquisition unit 520 acquires the angle difference (Trunk_Yaw) of the motors driving the joints of the two parts connected in the torso 102, and the angle difference (Left_Shoulder_Roll, Left_Shoulder_Pitch, Right_Shoulder_Roll, Right_Shoulder_Pitch) of the motors driving the aforementioned shoulder joint. It should be noted that in... Figure 5 In some cases, roll, pitch, and yaw are abbreviated as R, P, and Y, respectively.

[0056] In the depicted example, the contact event detection component 530 includes contact event detection components 530A to 530D and contact event detection component 530E. Contact event detection components 530A to 530D detect contact events by comparing measured torque values ​​with a threshold range in different ways. Contact event detection component 530E integrates the results of the contact event detection. Each of these components will be further described below.

[0057] (Detection using measured torque values)

[0058] The contact event detection unit 530A determines whether the measured torque values ​​(Head_Roll, Head Pitch, Head_Yaw) of the head 101 and the measured torque value (Trunk_Roll) of the torso 102 exceed threshold ranges, respectively. Figure 6A and 6B An example comparing the measured torque value with the threshold range is shown. Figure 6A As shown, the torque values ​​measured during normal operation of the motors driving the various parts of robot 100 do not exceed a threshold range R. As previously stated, the threshold range R is determined, for example, by collecting the torque values ​​actually measured during normal operation of robot 100. It should be noted that although the illustrated example indicates that the positive and negative sides of the threshold range R are set equally near zero (0), the threshold range R can be biased towards either the positive or negative side.

[0059] Simultaneously, when a contact event occurs, the measured torque value of the motor exceeds the threshold range R, such as... Figure 6B As shown. Therefore, if the measured torque values ​​(Head_Roll, Head_Pitch, Head_Yaw, Trunk_Roll) exceed the respective set threshold range R, the contact event detection unit 530A detects a contact event on at least one of the head 101 or torso 102. In this case, as Figure 7 As shown, the contact event detection unit 530A (and other event detection units) can apply a low-pass filter to the measured torque value and detect a contact event when a component of the measured torque value exceeds a threshold range R, the component having a frequency equal to or lower than a predetermined frequency. The measured torque value may include high-frequency components generated due to noise or measurement errors. Therefore, by removing components with frequencies higher than the fluctuation frequency of the measured torque value caused by the contact event, detection errors can be reduced to improve the accuracy of contact event detection.

[0060] (Detection of the ratio of torque values ​​measured in the joint when combined)

[0061] Refer again Figure 5If the measured torque value (Trunk_Pitch) of the torso 102 exceeds a threshold range, and the ratio (Head_Pitch / Trunk_Pitch) of the measured torque value (Head_Pitch) of the head 101 to the measured torque value (Trunk_Pitch) of the torso 102 exceeds the threshold, then the contact event detection unit 530B detects a contact event that has occurred on the head 101. If the ratio does not exceed the threshold, then a contact event that has occurred on the torso 102 is detected. Because of this determination, it is possible to correctly identify whether a contact event occurred in the head 101 or the torso 102.

[0062] like Figure 8 As shown, the legs 105 and 106 at the bottom of robot 100 are constrained ends in contact with the floor surface, while the head 101 at the top of robot 100 is a free end. That is, the shell of robot 100 includes the legs 105 and 106 forming a first part, the lower part of the torso 102 supported by the first part as a second part, and the head 101 supported by the second part to form a free end as a third part. In this case, when a force F is applied by a contact event that has already occurred on the third part forming the free end, fluctuations in the measured torque value tend to be observed more noticeably at the joint between the second and first parts than at the joint between the third and second parts. More specifically, when a contact event has already occurred on the head 101, fluctuations in the measured torque value (Trunk_Pitch) of the joint connecting the head 101 and the torso 102 will be observed more noticeably than the measured torque value (Head_Pitch) of the joint connecting the two parts of the torso 102. Therefore, it is not easy to distinguish the above situation from the situation where the measured torque value (Trunk_Pitch) of the torso 102 fluctuates due to contact events occurring on the torso 102.

[0063] Figure 9A and 9B The measured torque values ​​(Head_Pitch, Trunk_Pitch) and the ratio between these measured torque values ​​(Head_Pitch / Trunk_Pitch) are shown for two different scenarios. In one scenario, it is assumed that a contact event occurred on the torso 102 due to an external attack. In the other scenario, it is assumed that a contact event occurred on the head 101 due to an external attack. Figure 9A and 9BAs shown in the two examples, the measured torque value (Trunk_Pitch) of torso 102 similarly exhibits large positive fluctuations and exceeds the threshold (the maximum value of the threshold range R), while the measured torque value (Head_Pitch) of head 101 similarly exhibits small fluctuations and does not exceed the threshold. Meanwhile, in Figure 9A In the example, the ratio between the measured torque values ​​(Head_Pitch / Trunk_Pitch) is almost zero (0), but... Figure 9B In the example, the ratio is equal to or greater than 0.25. This indicates a difference between the two cases. The reason is that in Figure 9A In the case where a contact event has occurred on the torso 102, the measured torque value of the head 101 remains almost unchanged, while... Figure 9B In the case where a contact event has occurred on the head 101, the measured torque value of the head 101 has also changed, although the change is not as large as the change observed in the case of the torso 102.

[0064] Therefore, in the case of Figure 9A and 9B As illustrated in the example above, when a threshold of 0.25 is set for the ratio (Head_Pitch / Trunk_Pitch) between measured torque values, it can be determined that a contact event occurred on the head 101 if the ratio exceeded the threshold, and on the torso 102 if the ratio did not exceed the threshold. It should be noted that the ratio threshold described above is merely an example. In some other cases, for example, an appropriate threshold can be set by collecting actual measurements of the ratio when a contact event occurs on the head 101 and actual measurements of the ratio when a contact event occurs on the torso 102.

[0065] (Detection of combined angle differences)

[0066] Refer again Figure 5 If the measured torque value (Trunk_Yaw) of the motor driving the joint connecting two parts of the torso 102 exceeds a threshold range, and the angle difference of the motor also exceeds a threshold range, the contact event detection unit 530C detects a contact event that has occurred on the torso 102. As described later, the measured torque value fluctuates relatively large depending on the posture of the robot 100, while the angle difference fluctuates slightly depending on the posture of the robot 100. Therefore, the accuracy of contact event detection can be improved by using the angle difference.

[0067] Figure 10A and 10BThe torque and angle difference values ​​measured under two different conditions are shown. In one condition, it is assumed that no contact event actually occurred on the torso 102. In the other condition, it is assumed that a contact event did occur on the torso 102. Figure 10A and 10B The two examples show that the measured torque values ​​exceeded the threshold range. Meanwhile, Figure 10A The angle difference shown in the example did not exceed the threshold, but Figure 10B The example shows an angle difference exceeding a threshold. Therefore, as long as a contact event is detected when the angle difference exceeds the threshold, fluctuations in the measured torque value (e.g., as...) Figure 10A As shown, false detection can be prevented even if no contact event occurs, due to the change in the posture of robot 100.

[0068] (Detection using time difference)

[0069] Refer again Figure 5 When the time difference between the measured torque values ​​(Left_Shoulder_Roll, Left_Shoulder_Pitch, Right_Shoulder_Roll, Right_Shoulder_Pitch) of the motors driving the shoulder joint exceeds a threshold range, and the angle difference of the motors also exceeds a threshold range, the contact event detection unit 530D detects a contact event that has occurred on the associated arms 103 and 104. More specifically, instead of using the torque value detected at a single time t, the contact event detection unit 530D compares the threshold range with the time difference (i.e., the difference between the torque measured at time t and at time t-1). For parts such as arms 103 and 104, the difference between the fluctuation of the torque value detected during normal operation and the fluctuation of the torque value detected at the time of the contact event is small. Therefore, by simply comparing the detected torque value with the threshold range, the detection accuracy is unlikely to increase. Furthermore, the fluctuation of the torque value detected each time in the event of a contact event is greater than the fluctuation of the torque value detected each time during normal operation. Therefore, contact event detection can be appropriately performed by using a time difference. It should be noted that, in addition to using the time difference between detected torque values, the contact event detection unit 530D can also achieve more accurate event detection by using the angle difference of the motor, as in the example of the contact event detection unit 530C described above. However, it is not necessarily necessary to combine the time difference between detected torque values ​​with the angle difference.

[0070] The above description Figure 5In the example, contact event detection unit 530E integrates the results of contact event detection performed by contact event detection units 530A to 520D. More specifically, if a contact event that has occurred on the head 101 is detected by both contact event detection units 530A and 530B, contact event detection unit 530E can determine that the contact event has occurred on the head 101. Furthermore, if all contact event detection units 530A, 530B, and 530C detect a contact event that has occurred on the torso 102, contact event detection unit 530E can determine that the contact event has occurred on the torso 102. Regarding arms 103 and 104, contact event detection unit 530E can use the determination result made by contact event detection unit 530D as is. Contact event detection unit 530E can determine the occurrence of a contact event based on the logical combination (logical AND) of the various detection results as described above. However, in some other examples, contact event detection unit 530E can determine the occurrence of a contact event based on the logical separation (logical OR) of the various detection results.

[0071] (Determining initiative)

[0072] In the event that a contact event is detected on a moving part of robot 100 as described above, the initiative determination component 540 can determine that the contact event is active. The moving part can be identified based on the joint motion pattern determined by information processing device 110 or based on fluctuations in the torque values ​​of the joints measured before and after the contact event detection. For example, if the measured torque value is within a threshold range but fluctuates more than other joints before and after the contact event detection, the initiative determination component 540 can identify the part connected by the relevant joint as a moving part. Furthermore, as described below, the initiative determination component 540 can identify a moving part based on the positional relationship between relevant parts of the housing at the time of contact event detection.

[0073] Figure 11A and 11B This is a diagram illustrating an example of determining the initiative of a contact event in an embodiment of the invention. In this example, the initiative determination component 540 identifies the moving part based on the positional relationship between the hands 103H and 104H, which are the ends of arms 103 and 104, and the torso 102 at the time the contact event occurs. In the depicted example, as... Figure 11A As shown, when hand 103H or hand 104H is located in front of torso 102 and within a predetermined height range (±d1) based on the shoulder joint connecting torso 102 and arms 103 and 104, the anterior-posterior distance to torso 102 is equal to the threshold d2, as... Figure 11BAs shown, and when the straight-line distance to the shoulder joint is equal to or greater than the threshold r, the arm 103 or 104 / arm 103 and 104 that meets the condition will be identified as the moving part. It should be noted that... Figure 11A and Figure 11B The dimensions shown are applicable when the robot 100 used is small. The dimensions and ratios between them are appropriately set based on the size and shape of the robot 100.

[0074] Figure 12 This is a schematic diagram illustrating the processing of detecting active contact events in this embodiment. Figure 12 In the example shown, a contact event is first detected based on the measured torque values ​​(Left_Shoulder_Yaw, Left_Elbow_Pitch, Right_Shoulder_Yaw, Right_Elbow_Pitch) of the motors driving the shoulder and elbow joints of the drive arms 103 and 104. In this case, the contact event can be detected simply by comparing the measured torque values ​​to a threshold range, as previously referenced. Figure 5 The example described indicates that contact events are detected by comparing a component of the measured torque value and its time difference with a threshold range, where the frequency of the component is equal to or less than a predetermined frequency, as previously referenced, for example. Figure 5 As indicated in the described example. Furthermore, contact events can also be detected based on the ratio and angle difference between multiple measured torque values.

[0075] If a contact event is detected in any of the torque values ​​measured above (logical OR), the initiative of the contact event is determined. More specifically, for example, the positions of hands 103H and 104H are calculated from the measured angle values ​​of the relevant joints to determine whether a previous reference was obtained between the torso 102 and hands 103H and 104H. Figure 11A and 11B The described positional relationship. Furthermore, to prevent multiple detections of a single contact event, a predetermined invalidation period is set when an active contact event is detected individually, to avoid detecting subsequent active contact events before the invalidation period expires. If a contact event is detected, hands 103H and 104H are positioned to meet the conditions, and the invalidation period has expired, the activity determination component 540 determines that the contact event is active.

[0076] Figure 13This is a flowchart illustrating an example of the processing performed by the score calculation unit in an embodiment of the present invention. In the depicted example, the score increment unit 550 acquires the detection results of contact events occurring on robots 100A and 100B respectively (step S101), and acquires the determination result of the initiative of each contact event (step S102). If contact events are detected simultaneously on robots 100A and 100B ("Yes" in step S103), and one of the simultaneously detected contact events is initiative ("Yes" in step S104), and the other contact event is non-initiative ("Yes" in step S105), the score increment unit 550 increments the score of robot 100A or robot 100B, regardless of which involves the detection of an initiative contact event (step S106).

[0077] In cases other than those described above, namely, when no contact events are detected synchronously on robots 100A and 100B ("No" in step S103), when all synchronously detected contact events are non-active ("No" in step S104), and when all synchronously detected contact events are active, the score increasing component 550 neither increases the score of robot 100A nor the score of robot 100B.

[0078] It should be noted that in the above example, the synchronously detected contact events do not necessarily have to be detected simultaneously. Synchronously detected contact events can include, for example, contact events acquired with a predetermined time difference or less from the time of acquisition of the detection result of a synchronously detected contact event. The acceptable time difference is determined taking into account, for example, processing delays and communication delays. The score-increasing component 550 increases the scores of robots 100A and 100B in the manner described above and determines the winner and loser of the fighting game based on the scores achieved within a predetermined game time. Alternatively, the score-increasing component 550 can decrease the score of the side that did not detect an active contact event through the above processing and end the game when the score of robot 100A or robot 100B reaches an upper or lower threshold.

[0079] Based on measurements indicating changes in the motion states of various parts of the housings of robots 100A and 100B, the above embodiments of the present invention detect contact events occurring on parts of the housings. Furthermore, the above embodiments of the present invention determine the initiative of the detected contact event based on its relationship with the moving parts. Additionally, the above embodiments of the present invention increase the scores of robots 100A and 100B based on the synchronicity and initiative of the contact events detected on robots 100A and 100B respectively, and determine the winner of the fighting game based on the obtained scores. It should be noted that in the above example, the torque value measured by the motor driving the joints of the housing is used as a measurement indicating the motion states of various parts of the housing. However, alternatively, some other measurements obtained by using, for example, an accelerometer can be used as measurements indicating the motion states of various parts of the housing. Furthermore, contact events do not necessarily need to be detected on the robot's housing. Alternatively, contact events can be detected on different devices capable of active movement.

[0080] While preferred embodiments of the invention have been described in detail with reference to the accompanying drawings, the invention is not limited to the preferred embodiments described above. Those skilled in the art will understand that various modifications and variations can be made within the scope of the technical concept described in the appended claims, and such modifications and variations are clearly within the technical scope of the invention.

[0081] [List of Reference Markers]

[0082] 10: System

[0083] 100, 100A, 100B: Robots

[0084] 101, 101A, 101B: Head

[0085] 102, 102A, 102B: Trunk

[0086] 103, 103A, 103B, 104, 104A, 104B: Arm

[0087] 103H, 104H: Hand

[0088] 105, 105A, 105B, 106, 106A, 106B: Legs

[0089] 105F, 106F: Feet

[0090] 110: Information processing equipment

[0091] 111: CPU

[0092] 113: ROM

[0093] 114: External memory

[0094] 115: Bus Interface

[0095] 121: Communication Interface

[0096] 130: Electric motor

[0097] 200A, 200B: Controller

[0098] 300: Determine the equipment

[0099] 310: Information processing equipment

[0100] 311: CPU

[0101] 312: RAM

[0102] 313: ROM

[0103] 314: External memory

[0104] 315: Bus Interface

[0105] 321: Communication Interface

[0106] 322: Monitor

[0107] 510: Component for acquiring measured torque values

[0108] 520: Angle Difference Acquisition Component

[0109] 530, 530A, 530B, 530C, 530D, 530E: Contact event detection components

[0110] 540: Active Determination Component

[0111] 550: Score increases component

[0112] 551: Contact event detection result acquisition component

[0113] 552: Proactive determination of result acquisition component

Claims

1. An information processing device, comprising: The measurement acquisition component acquires measurement values ​​that indicate changes in the motion state of parts of the housing; A contact event detection component that detects a contact event that has occurred on the portion of the housing based on the measured value; as well as An active determination component, upon detecting the contact event on a moving portion included in the portion of the housing, determines that the contact event is active. The housing comprises a first part and a second part supported by the first part, and If the end of the second part is in a predetermined positional relationship with the first part when the contact event occurs, the initiative determination component identifies the second part as the moving part.

2. The information processing device according to claim 1, in, When the joint is driven according to the motion pattern, the housing moves, and The active determination component identifies the moving part based on the motion pattern.

3. The information processing device according to claim 1 or 2, The measured values ​​include measured torque values, which are measured by a motor that drives the joints of the housing. The contact event detection component detects the contact event if the measured torque value or a value based on the measured torque value exceeds a threshold range.

4. An information processing method, comprising: The steps for obtaining measurements of changes in the motion state of a portion of the housing; The step of detecting a contact event that has occurred on the portion of the housing based on the measured values; as well as The step of identifying a movable portion included in the portion of the housing, and determining that the contact event is active if the contact event is detected on the movable portion. The housing comprises a first part and a second part supported by the first part, and If the end of the second part is in a predetermined positional relationship with the first part when the contact event occurs, the initiative determination component identifies the second part as the moving part.

5. The information processing method according to claim 4, in, When the joint is driven according to the motion pattern, the housing moves, and The moving part is identified based on the motion pattern.

6. The information processing method according to claim 4 or 5, The measured values ​​include measured torque values, which are measured by a motor that drives the joints of the housing. The contact event is detected when the measured torque value or a value based on the measured torque value exceeds a threshold range.

7. A computer program product comprising a program that, when executed by a processor, causes the processor to perform the information processing method according to any one of claims 4 to 6.

Citation Information

Patent Citations

  • Robot device and its operation controlling method

    JP2005342873A

  • Control device, battling robot system, and robot device

    JP2007301004A

  • Battle tank

    JP2015043946A