WO2017188014A1 - 姿勢制御システム及びプログラム - Google Patents

姿勢制御システム及びプログラム Download PDF

Info

Publication number
WO2017188014A1
WO2017188014A1 PCT/JP2017/015169 JP2017015169W WO2017188014A1 WO 2017188014 A1 WO2017188014 A1 WO 2017188014A1 JP 2017015169 W JP2017015169 W JP 2017015169W WO 2017188014 A1 WO2017188014 A1 WO 2017188014A1
Authority
WO
WIPO (PCT)
Prior art keywords
posture
value
data
unit
continuous
Prior art date
Application number
PCT/JP2017/015169
Other languages
English (en)
French (fr)
Inventor
辰徳 阿部
廉 直野
Original Assignee
ソフトバンク株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソフトバンク株式会社 filed Critical ソフトバンク株式会社
Publication of WO2017188014A1 publication Critical patent/WO2017188014A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine

Definitions

  • the present invention relates to an attitude control system and a program.
  • Patent Document 1 Japanese Patent Application Laid-Open No. 2010-253640
  • a program may cause the computer to function as a posture data acquisition unit that acquires posture data including a plurality of posture values respectively indicating a plurality of continuous postures of the target object.
  • the program causes the computer to execute a first predetermined first value. You may make it function as an attitude value conversion part which converts the attitude value more than a number into the attitude value defined beforehand between the 1st threshold and the 2nd threshold.
  • the program may cause the computer to function as a control data creation unit that creates control data for controlling a plurality of consecutive postures of the object based on the posture value converted by the posture value conversion unit.
  • the posture value conversion unit When the number of posture values continuous between the first threshold and the second threshold is less than the first number, the posture value conversion unit deletes the continuous posture values from the posture data. It's okay.
  • the posture value conversion unit has a number of posture values continuous between the first threshold and the second threshold greater than the first number, and is determined based on the first number. If the number is less than the second number greater than the first number, the continuous posture value may be converted into one predetermined posture value, and the number of the continuous posture values is the second number. If there are more, the consecutive posture values may be converted into two or more of the predetermined posture values.
  • the program causes the computer to calculate a difference between one attitude value included in the attitude data and the first attitude value after the one attitude value is greater than a predetermined value. The attitude value between them may be further functioned as an attitude value deletion unit that deletes the attitude value from the attitude data.
  • the posture data acquisition unit may acquire the posture data derived by analyzing the motion of the subject imaged by the imaging device.
  • the program further includes the computer as an audio information acquisition unit that acquires audio information indicating the audio content of the subject recorded by the imaging device while imaging the subject, and a time stamp indicating the timing of the audio.
  • the control data creating unit may synchronize with a plurality of consecutive postures of the target object based on the time stamp, and output the voice having the content represented by the voice information to the target object. Control data may be created.
  • the audio information acquisition unit may further acquire the audio height information and speed information of the subject, and the control data generation unit applies the object to the object based on the height information and the speed information. You may determine the height and speed which output the audio
  • the speech information acquisition unit may acquire text data representing the content of the subject's speech as the speech information, and the program uses the computer to represent the content represented by the text data using a plurality of speech parameters.
  • a sound output control unit that outputs the sound to the object a plurality of times, a sound recording data acquisition unit that acquires a plurality of sound recording data obtained by recording a plurality of sounds output by the object, and the sound data acquisition unit It may further function as a sound specifying unit that specifies a sound having the highest similarity to the sound of the subject among a plurality of recorded data sounds, and the control data creating unit is configured to cause the object to include the sound specifying unit.
  • the control data for outputting the sound specified by the above may be created.
  • the subject may be a human
  • the object may be a joint of a robot
  • the posture data acquisition unit may acquire the posture data for each of a plurality of joints of the robot, and the posture value
  • the conversion unit includes the first More posture values than the number may be converted into the predetermined posture values. Different values may be set for each of the plurality of joints as the first threshold value, the second threshold value, and the predetermined posture value.
  • the control data creating unit is configured to control a plurality of consecutive right and left joints of the robot based on control data for controlling a plurality of consecutive postures of the right and left joints of the robot. Control data for controlling the attitude of the camera may be created.
  • an attitude control system may include an imaging unit that images a subject.
  • the posture control system includes a posture data acquisition unit that acquires posture data including a plurality of posture values respectively indicating a plurality of continuous postures of the object by analyzing the movement of the subject imaged by the imaging unit. Good. If the posture data includes more posture values than the predetermined first number that is continuous between the first threshold value and the second threshold value, the posture control system is configured so that the predetermined first number is continuous.
  • a posture value conversion unit that converts a larger number of posture values into a predetermined posture value between the first threshold value and the second threshold value may be provided.
  • the posture control system may include a control data creation unit that creates control data for controlling a plurality of continuous postures of the object based on the posture value converted by the posture value conversion unit.
  • the posture control system may include a posture control unit that controls the posture of the object based on the control data created by the control data creation unit.
  • An example of posture control system 10 is shown roughly.
  • An example of posture data conversion by the posture control apparatus 100 is schematically shown.
  • An example of posture data conversion by the posture control apparatus 100 is schematically shown.
  • a setting example 500 is schematically shown.
  • An example of posture data conversion by the posture control apparatus 100 is schematically shown.
  • An example of posture data conversion by the posture control apparatus 100 is schematically shown.
  • An example of a functional composition of posture control device 100 is shown roughly.
  • position control apparatus 100 is shown schematically.
  • FIG. 1 schematically shows an example of an attitude control system 10.
  • the posture control system 10 analyzes the movement of the subject 30 to thereby analyze posture data including a plurality of posture values respectively indicating a plurality of continuous postures of the robot 20 (described as posture data of the robot 20).
  • Control data for appropriately converting a plurality of posture values included in the posture data and controlling a plurality of continuous postures of the robot 20 based on the converted posture values.
  • the created control data is transmitted to the robot 20.
  • the subject 30 is, for example, a human.
  • the attitude control system 10 includes an attitude control device 100 and an imaging device 200.
  • the imaging device 200 includes a camera 210 and a microphone 220.
  • the camera 210 captures a moving image of the subject 30.
  • the microphone 220 records the sound of the subject 30.
  • the imaging device 200 may record the sound of the subject 30 while imaging the subject 30.
  • the imaging device 200 transmits the derived posture data of the robot 20 to the posture control device 100.
  • the attitude control device 100 may execute the derivation of the attitude data of the robot 20. That is, the posture control device 100 may receive posture information of each joint of the subject 30 from the imaging device 200 and derive posture data of the robot 20 using the received posture information.
  • the imaging device 200 transmits the sound of the subject 30 recorded while imaging the subject 30 to the posture control device 100.
  • the imaging device 200 may transmit a time stamp indicating the timing of the sound to the posture control device 100 in addition to the sound of the subject 30 recorded while imaging the subject 30.
  • the time stamp indicating the audio timing indicates the audio timing in the captured image of the subject 30.
  • the attitude control device 100 may transmit the voice and time stamp received from the imaging device 200 to the voice recognition server 50 via the network 40.
  • the network 40 may include the Internet.
  • the speech recognition server 50 may generate text data representing the content of the speech by recognizing the received speech and transmit the text data in association with a time stamp to the attitude control device 100.
  • the attitude control device 100 stores the text data and time stamp received from the speech recognition server 50.
  • the posture control apparatus 100 may recognize the voice received from the imaging apparatus 200 by itself, generate text data representing the content of the voice, and store the text data in association with a time stamp.
  • the attitude control device 100 may receive text data and a time stamp representing the content of the sound recorded while imaging the subject 30 from the imaging device 200.
  • the imaging apparatus 200 generates text data representing the contents of the voice by recognizing the voice of the subject 30 recorded while imaging the subject 30, and associates the time stamp with the text data to match the posture control apparatus 100. May be sent to
  • the posture control apparatus 100 performs a conversion process on the posture data of the robot 20, and then uses the posture data, text data, and time stamp of the robot 20 to control a plurality of continuous postures of the robot 20, Control data for generating a voice output of the contents represented by the text data in synchronization with a plurality of continuous postures is created and transmitted to the robot 20.
  • the robot 20 can execute movement and sound corresponding to the movement and sound of the subject 30.
  • FIG. 2 schematically shows an example of posture data conversion by the posture control apparatus 100.
  • the posture data example 302 shows an example of posture data before conversion for one joint of the robot 20, and the posture data example 304 shows an example of posture data after conversion.
  • the posture value is an angle value is illustrated here, the posture value is not limited to this, and may be another value.
  • Posture data may include angle values for each frame. It has been experimentally proved that when the posture data includes an angle value for each frame, the robot 20 may not move smoothly when the robot 20 is driven using the posture data. In addition, when the posture data includes an angle value for each frame, the load on a driving unit such as a motor provided in the robot 20 may become excessively high. On the other hand, the posture control apparatus 100 according to the present embodiment converts posture data in order to smooth the movement of the robot 20 and reduce the load on the drive unit included in the robot 20.
  • the attitude control device 100 registers in advance a plurality of threshold values and a setting value that takes a value between adjacent threshold values, and converts attitude data according to these. For example, when the posture control device 100 includes a posture value greater than a predetermined first number between adjacent threshold values, the posture control device 100 sets the posture value to a value between the adjacent threshold values. Convert to value.
  • FIG. 2 illustrates the case where the first number is four.
  • the posture data example 302 since the posture data example 302 includes more than four consecutive posture values between the threshold value 314 and the threshold value 316, the posture value is set between the threshold value 314 and the threshold value 316. It has been converted to the value 325.
  • the posture control apparatus 100 has a second number of posture values that are consecutive between adjacent thresholds greater than the first number and greater than the first number determined based on the first number. If the number of consecutive posture values is less than the second number, the consecutive posture values are set values between the adjacent threshold values and converted into one set value.
  • the continuous posture values are set values between the adjacent threshold values, and are converted into two or more set values.
  • FIG. 2 illustrates a case where 9 is a value obtained by multiplying the first number by 2 and adding 1 to the second number. In FIG. 2, since the number of posture values continuous between the threshold 312 and the threshold 314 is greater than 9, the posture value is converted into two setting values 323 between the threshold 312 and the threshold 314. .
  • the operation of the robot 20 can be temporarily stopped at the angle indicated by the set value 323, and the intended pose can be made to the robot 20.
  • the second number is determined by multiplying the first number by 2 and adding 1
  • the method for determining the second number is not limited to this, and the first number is not limited to this.
  • Other determination methods may be used as long as the determination method is such that the second number is larger than the number of.
  • FIG. 3 schematically shows an example of attitude data conversion by the attitude control apparatus 100.
  • the posture data example 402 shows an example of posture data before conversion for one joint of the robot 20, and the posture data example 404 shows an example of posture data after conversion.
  • the posture control device 100 may delete the continuous posture value from the posture data when the number of posture values continuous between adjacent thresholds is smaller than the first number.
  • FIG. 3 illustrates the case where the first number is four.
  • the number of posture values continuous between the threshold value 416 and the threshold value 418 is smaller than 4 in the region 422
  • the number of posture values continuous between the threshold value 412 and the threshold value 414 is smaller than 4 in the region 424.
  • the number of posture values that are continuous between the threshold value 412 and the threshold value 414, between the threshold value 414 and the threshold value 416, and between the threshold value 416 and the threshold value 418 is less than four. Has been deleted.
  • FIG. 4 schematically shows a setting example 500 used for conversion of posture data.
  • the setting example 500 includes a threshold value area 510, a setting value area 520, and an invalid frame number area 530.
  • the threshold area 510 includes a plurality of input fields 512.
  • the set value area 520 includes a plurality of input fields 522.
  • the invalid frame number area 530 includes a plurality of input fields 532. Input to the input field 512, the input field 522, and the input field 532 is performed by the user of the attitude control device 100, for example.
  • the threshold region 510 between the lower limit of ⁇ 120 degrees and the upper limit of 120 degrees, ⁇ 70 degrees, ⁇ 55 degrees, ⁇ 30 degrees, ⁇ 15 degrees, 5 degrees, 15 degrees, 35 degrees, 70 Degrees and 90 degrees are set.
  • the number of threshold values is not limited to this.
  • ⁇ 60 degrees, ⁇ 40 degrees, ⁇ 20 degrees, 0 degrees, 10 degrees, 25 degrees, 50 degrees, and 80 degrees are set between adjacent threshold values.
  • 4 is set between adjacent threshold values. In the example illustrated in FIG. 4, the same 4 is set in all the input fields 532, but different values may be set.
  • the number of invalid frames is an example of the first number.
  • the robot 20 can be made to perform a precise operation.
  • the setting value between the adjacent threshold values is not set to the median value of the adjacent threshold values, but can be arbitrarily set, for example, an angle suitable for the target robot 20. Can be set to
  • Threshold value, setting value, and invalid number of frames may be set to different values for each posture data. That is, the threshold value, the set value, and the number of invalid frames may be set to different values for each of the plurality of joints of the robot 20.
  • FIG. 5 schematically shows an example of attitude data conversion by the attitude control apparatus 100.
  • the posture data example 602 shows an example of posture data before conversion for one joint of the robot 20, and the posture data example 604 shows an example of posture data after conversion.
  • the posture control apparatus 100 has a posture between one posture value included in the posture data and a first posture value in which a difference between the one posture value and the one posture value is greater than a predetermined value. The value may be deleted from the attitude data.
  • FIG. 5 illustrates a case where the predetermined value is 5 degrees.
  • the posture data example 604 shows the result of repeating the process of deleting the posture value until the difference from the one posture value becomes 5 degrees or more in the posture data example 602.
  • FIG. 6 schematically shows an example of attitude data conversion by the attitude control apparatus 100.
  • the posture data example 602 shows an example of posture data before conversion for one joint of the robot 20, and the posture data example 606 shows an example of posture data after conversion.
  • FIG. 6 illustrates a case where the predetermined value is 15 degrees.
  • the posture data example 606 shows the result of repeating the process of deleting posture values until the difference from one posture value becomes 15 degrees or more in the posture data example 602.
  • a different value may be set for each posture data. That is, the predetermined value may be set to a different value for each of the plurality of joints of the robot 20.
  • FIG. 7 schematically shows an example of the functional configuration of the attitude control device 100.
  • the attitude control device 100 includes an attitude data acquisition unit 102, an attitude data storage unit 104, an attitude value conversion unit 106, an attitude value deletion unit 110, a control data creation unit 114, an audio information acquisition unit 116, a control data transmission unit 118, and an audio output.
  • a control unit 120, a recording data acquisition unit 122, a voice identification unit 124, a setting unit 126, and a control data acquisition unit 128 are provided.
  • the posture data acquisition unit 102 acquires posture data of the robot 20.
  • the posture data acquisition unit 102 may receive posture data of the robot 20 from the imaging device 200. Further, the posture data acquisition unit 102 receives posture information including a plurality of posture values respectively indicating a plurality of continuous postures of the subject 30 from the imaging device 200, and obtains posture data of the robot 20 from the posture information. It may be derived.
  • the attitude data storage unit 104 stores the attitude data acquired by the attitude data acquisition unit 102.
  • the posture value conversion unit 106 performs conversion processing on a plurality of posture values included in the posture data stored in the posture data storage unit 104.
  • the posture value conversion unit 106 when the posture data includes more posture values than the predetermined first number between the first threshold value and the second threshold value, the posture value is converted into the first value. Conversion to a predetermined posture value between the threshold and the second threshold.
  • the predetermined posture value between the first threshold value and the second threshold value may be a set value between the first threshold value and the second threshold value.
  • the posture value conversion unit 106 may delete the continuous posture values from the posture data.
  • Deleting the posture value from the posture data may be deleting the posture value from the storage medium that stores the posture value. Further, deleting the posture value from the posture data may be to exclude the posture value from the posture data without deleting the posture value from the storage medium that stores the posture value.
  • the posture value conversion unit 106 has a number of posture values continuous between the first threshold value and the second threshold value that is greater than the first number and is determined based on the first number. When the number is smaller than the second number, the continuous posture value may be converted into one predetermined posture value. In addition, when the number of posture values continuous between the first threshold value and the second threshold value is larger than the second number, the posture value conversion unit 106 determines two or more predetermined posture values in advance. It may be converted into a given attitude value.
  • the posture value deletion unit 110 deletes a posture value corresponding to a predetermined condition from among a plurality of posture values included in the posture data stored in the posture data storage unit 104.
  • the posture value deletion unit 110 calculates a posture value between one posture value and the first posture value after which the difference between the one posture value is greater than a predetermined value. May be deleted from the data.
  • the control data creation unit 114 creates control data for controlling a plurality of continuous postures of the robot 20 based on a plurality of posture values included in the posture data stored in the posture data storage unit 104.
  • the control data creation unit 114 may create control data by performing smoothing processing on a plurality of posture values.
  • the control data creating unit 114 is configured to perform a continuous plurality of the other joints of the right and left sides of the robot 20.
  • Control data for controlling the attitude of the camera may be created.
  • the audio information acquisition unit 116 acquires audio information indicating the content of the audio of the subject 30 recorded while the imaging device 200 images the subject 30, and a time stamp indicating the timing of the audio.
  • the voice information may be text data representing the contents of the voice.
  • the voice information acquisition unit 116 first transmits the voice and time stamp received from the imaging device 200 to the voice recognition server 50. Then, the voice information acquisition unit 116 receives the text data generated by the voice recognition server 50 and associated with the time stamp from the voice recognition server 50.
  • the voice information acquisition unit 116 may recognize the voice received from the imaging device 200 by itself, generate text data representing the content of the voice, and store the text data in association with the time stamp. . Further, the voice information acquisition unit 116 may receive text data associated with a time stamp from the imaging device 200.
  • control data creation unit 114 Based on the time stamp acquired by the voice information acquisition unit 116, the control data creation unit 114 synchronizes with the plurality of continuous postures of the robot 20 so that the voice information acquired by the voice information acquisition unit 116 is received by the robot 20. Control data for outputting sound having the contents to be represented may be created.
  • the audio information acquisition unit 116 may further acquire audio height information and speed information of the subject 30.
  • the voice information acquisition unit 116 may receive height information and speed information from the voice recognition server 50 together.
  • the voice recognition server 50 recognizes the voice received from the attitude control device 100, the voice recognition server 50 may generate the voice height information and the speed information together and transmit the information to the attitude control device 100.
  • the voice information acquisition unit 116 may receive the height information and the speed information from the imaging device 200 together.
  • the imaging apparatus 200 recognizes voice recorded while imaging the subject 30, the imaging apparatus 200 may generate height information and speed information of the voice together and transmit them to the attitude control apparatus 100.
  • the voice information acquisition unit 116 may generate the height information and the speed information of the voice when the voice is recognized.
  • the control data creation unit 114 may determine the height and speed at which the robot 20 outputs the voice having the content represented by the voice information, based on the height information and the speed information acquired by the voice information acquisition unit 116.
  • the control data transmission unit 118 transmits the control data created by the control data creation unit 114 to the robot 20.
  • the audio output control unit 120 causes the robot 20 to output the content represented by the audio information acquired by the audio information acquisition unit 116 a plurality of times using a plurality of audio parameters.
  • the audio output control unit 120 includes a plurality of different at least one of values such as speaking speed, voice pitch, voice thickness, voice volume, intonation, accent, emotion type, and emotion level, for example.
  • the voice parameter may be output to the robot 20 a plurality of times.
  • the recording data acquisition unit 122 acquires recording data obtained by recording a plurality of sounds output by the robot 20 according to control by the sound output control unit 120.
  • the recorded data acquisition unit 122 acquires, for example, recorded data recorded by a microphone (not shown) included in the attitude control device 100.
  • the recording data acquisition unit 122 may receive recording data recorded by a microphone included in a device other than the posture control device 100 from the device.
  • the audio specifying unit 124 compares the plurality of recording data acquired by the recording data acquisition unit 122 with the audio of the subject 30 acquired by the audio information acquisition unit 116, and has the highest similarity with the audio of the subject 30. Is identified.
  • the control data creating unit 114 may create control data that causes the robot 20 to output the sound specified by the sound specifying unit 124.
  • the utterance by the robot 20 may not be understood unless it is uttered.
  • the robot 20 utters a plurality of times using a plurality of voice parameters.
  • the voice most similar to the voice of the subject 30 can be employed, the utterance content of the subject 30 can be faithfully reproduced by the robot 20.
  • the setting unit 126 executes various settings related to the change of posture data. For example, the setting unit 126 executes setting of a threshold in the threshold area 510, setting of a setting value in the setting value area 520, and setting of the number of frames in the invalid frame number area 530. In addition, the setting unit 126 performs setting of whether or not to change the posture data.
  • the setting unit 126 may accept a setting input by a user of the attitude control device 100.
  • the control data acquisition unit 128 acquires control data.
  • the control data acquisition unit 128 may acquire control data created by an arbitrary device.
  • the control data acquisition unit 128 acquires control data created by another attitude control device 100, for example.
  • the control data acquisition unit 128 acquires control data from, for example, a portable storage medium. Further, the control data acquisition unit 128 receives control data via the network 40.
  • the control data creation unit 114 may create control data by editing the control data acquired by the control data acquisition unit 128. Further, the control data creation unit 114 may cause the control data transmission unit 118 to transmit the control data received by the control data acquisition unit 128 without editing.
  • the posture control device 100 and the imaging device 200 are separate is described as an example, but the posture control device 100 and the imaging device 200 may be integrated. That is, the attitude control device 100 may have the function of the imaging device 200.
  • the robot 20 is exemplified as an object, but the present invention is not limited to this.
  • the target object may be a real object other than the robot 20.
  • the target object may be a virtual object.
  • the target object may be a virtual three-dimensional object such as a character in the game.
  • FIG. 8 schematically shows an example of a computer 1000 that functions as the attitude control device 100.
  • the computer 1000 includes a CPU peripheral unit including a CPU 1010, a RAM 1030, a graphic controller 1085, and a sound controller 1087 that are connected to each other by a host controller 1092, and communication that is connected to the host controller 1092 by an input / output controller 1094.
  • An input / output unit including an I / F 1040, a hard disk drive 1050, a DVD drive 1070, and a camera 1096; a ROM 1020 connected to an input / output controller 1094; an FD drive 1060; and a legacy input / output unit including an input / output chip 1080.
  • the CPU 1010 operates based on programs stored in the ROM 1020 and the RAM 1030 and controls each unit.
  • the graphic controller 1085 acquires image data generated on a frame buffer provided in the RAM 1030 by the CPU 1010 or the like and displays the image data on the display 1086.
  • the graphic controller 1085 may include a frame buffer that stores image data generated by the CPU 1010 or the like.
  • the sound controller 1087 acquires sound via the microphone 1088.
  • the communication I / F 1040 communicates with another device via a wired or wireless network.
  • the communication I / F 1040 functions as hardware that performs communication.
  • the camera 1096 captures a moving image.
  • the camera 1096 may be externally connected to the communication I / F 1040.
  • the hard disk drive 1050 stores programs and data used by the CPU 1010.
  • the DVD drive 1070 reads a program or data from the DVD-ROM 1072 and provides it to the hard disk drive 1050 via the RAM 1030.
  • the ROM 1020 stores a boot program executed when the computer 1000 is started up, a program depending on the hardware of the computer 1000, and the like.
  • the FD drive 1060 reads a program or data from the flexible disk 1062 and provides it to the hard disk drive 1050 via the RAM 1030.
  • the input / output chip 1080 connects the FD drive 1060 to the input / output controller 1094, and connects various input / output devices to the input / output controller 1094 via, for example, a parallel port, a serial port, a keyboard port, and a mouse port. Connect to.
  • the program provided to the hard disk drive 1050 via the RAM 1030 is stored in a recording medium such as the flexible disk 1062, the DVD-ROM 1072, or an IC card and provided by the user.
  • the program is read from the recording medium, installed in the hard disk drive 1050 via the RAM 1030, and executed by the CPU 1010.
  • posture control system 20 robot, 30 subject, 50 speech recognition server, 100 posture control device, 102 posture data acquisition unit, 104 posture data storage unit, 106 posture value conversion unit, 110 posture value deletion unit, 114 control data creation unit , 116 audio information acquisition unit, 118 control data transmission unit, 120 audio output control unit, 122 recording data acquisition unit, 124 audio identification unit, 126 setting unit, 128 control data acquisition unit, 200 imaging device, 210 camera, 220 microphone, 302 posture data example, 304 posture data example, 312 threshold, 314 threshold, 316 threshold, 323 set value, 325 set value, 402 posture data example, 404 posture data example, 412 threshold, 414 threshold, 416 threshold, 418 threshold, 422 Region 4, 4 area, 426 area, 500 setting example, 510 threshold area, 512 input field, 520 setting value area, 522 input field, 530 invalid frame number area, 532 input field, 602 attitude data example, 604 attitude data example, 606 Attitude data example, 1000 computer, 1010 CPU, 1020 ROM, 10

Abstract

ロボット等の対象物の動きを適切に制御できるように姿勢データを変換する技術を提供できることが望ましい。コンピュータを、対象物の連続的な複数の姿勢をそれぞれ示す複数の姿勢値を含む姿勢データを取得する姿勢データ取得部、第1の閾値と第2の閾値との間で連続する予め定められた第1の数より多い姿勢値が姿勢データに含まれる場合、連続する予め定められた第1の数より多い姿勢値を、第1の閾値と第2の閾値との間の予め定められた姿勢値に変換する姿勢値変換部、及び姿勢値変換部によって変換された姿勢値に基づいて、対象物の連続的な複数の姿勢を制御するための制御データを作成する制御データ作成部として機能させるためのプログラムを提供する。

Description

姿勢制御システム及びプログラム
 本発明は、姿勢制御システム及びプログラムに関する。
 ロボットに連続的な複数の姿勢をとらせるべく、各関節部の角度データを姿勢データとして入力する装置が知られていた(例えば、特許文献1参照)。
 [先行技術文献]
 [特許文献]
 [特許文献1]特開2010-253640号公報
解決しようとする課題
 ロボット等の対象物の動きを適切に制御できるように姿勢データを変換する技術を提供できることが望ましい。
一般的開示
 本発明の第1の態様によれば、プログラムが提供される。プログラムは、コンピュータを、対象物の連続的な複数の姿勢をそれぞれ示す複数の姿勢値を含む姿勢データを取得する姿勢データ取得部として機能させてよい。プログラムは、コンピュータを、第1の閾値と第2の閾値との間で連続する予め定められた第1の数より多い姿勢値が姿勢データに含まれる場合、連続する予め定められた第1の数より多い姿勢値を、第1の閾値と第2の閾値との間の予め定められた姿勢値に変換する姿勢値変換部として機能させてよい。プログラムは、コンピュータを、姿勢値変換部によって変換された姿勢値に基づいて、対象物の連続的な複数の姿勢を制御するための制御データを作成する制御データ作成部として機能させてよい。
 上記姿勢値変換部は、上記第1の閾値と上記第2の閾値との間で連続する姿勢値の数が上記第1の数より少ない場合、当該連続する姿勢値を上記姿勢データから削除してよい。上記姿勢値変換部は、上記第1の閾値と上記第2の閾値との間で連続する姿勢値の数が上記第1の数より多く、かつ、上記第1の数に基づいて決定される上記第1の数より多い第2の数より少ない場合、当該連続する姿勢値を1つの上記予め定められた姿勢値に変換してよく、当該連続する姿勢値の数が、上記第2の数より多い場合、当該連続する姿勢値を2つ以上の上記予め定められた姿勢値に変換してよい。上記プログラムは、上記コンピュータを、上記姿勢データに含まれる一の姿勢値と、上記一の姿勢値以降で上記一の姿勢値との差分が予め定められた値よりも大きい最初の姿勢値との間の姿勢値を、上記姿勢データから削除する姿勢値削除部としてさらに機能させてよい。上記姿勢データ取得部は、撮像装置によって撮像された被写体の動きを解析することによって導出された上記姿勢データを取得してよい。
 上記プログラムは、上記コンピュータを、上記撮像装置が上記被写体を撮像しつつ録音した上記被写体の音声の内容を表す音声情報と、上記音声のタイミングを示すタイムスタンプとを取得する音声情報取得部としてさらに機能させてよく、上記制御データ作成部は、上記タイムスタンプに基づいて、上記対象物の連続的な複数の姿勢に同期させて、上記対象物に上記音声情報が表す内容の音声を出力させる上記制御データを作成してよい。上記音声情報取得部は、上記被写体の音声の高さ情報及び速さ情報をさらに取得してよく、上記制御データ作成部は、上記高さ情報及び速さ情報に基づいて、上記対象物に上記音声情報が表す内容の音声を出力させる高さ及び速さを決定してよい。
 上記音声情報取得部は、上記音声情報として、上記被写体の音声の内容を表すテキストデータを取得してよく、上記プログラムは、上記コンピュータを、上記テキストデータが表す内容を、複数の音声パラメータを用いて、上記対象物に複数回音声出力させる音声出力制御部、上記対象物によって出力された複数の音声を録音した複数の録音データを取得する録音データ取得部、上記録音データ取得部が取得した上記複数の録音データの音声のうち、上記被写体の音声との類似度が最も高い音声を特定する音声特定部としてさらに機能させてよく、上記制御データ作成部は、上記対象物に、上記音声特定部によって特定された音声を出力させる上記制御データを作成してよい。上記被写体は人間であってよく、上記対象物はロボットの関節であってよく、上記姿勢データ取得部は、上記ロボットの複数の関節のそれぞれについて、上記姿勢データを取得してよく、上記姿勢値変換部は、上記複数の関節のそれぞれについて、上記第1の閾値と上記第2の閾値との間で連続する上記第1の数より多い姿勢値が上記姿勢データに含まれる場合、上記第1の数より多い姿勢値を、上記予め定められた姿勢値に変換してよい。上記第1の閾値、上記第2の閾値、及び上記予め定められた姿勢値として、上記複数の関節のそれぞれで異なる値を設定可能であってよい。上記制御データ作成部は、上記ロボットの右側及び左側の一方の関節の連続的な複数の姿勢を制御するための制御データに基づいて、上記ロボットの右側及び左側の他方の関節の連続的な複数の姿勢を制御するための制御データを作成してよい。
 本発明の第2の態様によれば、姿勢制御システムが提供される。姿勢制御システムは、被写体を撮像する撮像部を備えてよい。姿勢制御システムは、撮像部によって撮像された被写体の動きを解析することによって、対象物の連続的な複数の姿勢をそれぞれ示す複数の姿勢値を含む姿勢データを取得する姿勢データ取得部を備えてよい。姿勢制御システムは、第1の閾値と第2の閾値との間で連続する予め定められた第1の数より多い姿勢値が姿勢データに含まれる場合、連続する予め定められた第1の数より多い姿勢値を、第1の閾値と第2の閾値との間の予め定められた姿勢値に変換する姿勢値変換部を備えてよい。姿勢制御システムは、姿勢値変換部によって変換された姿勢値に基づいて、対象物の連続的な複数の姿勢を制御するための制御データを作成する制御データ作成部を備えてよい。姿勢制御システムは、制御データ作成部によって作成された制御データに基づいて、対象物の姿勢を制御する姿勢制御部を備えてよい。
 なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
姿勢制御システム10の一例を概略的に示す。 姿勢制御装置100による姿勢データの変換例を概略的に示す。 姿勢制御装置100による姿勢データの変換例を概略的に示す。 設定例500を概略的に示す。 姿勢制御装置100による姿勢データの変換例を概略的に示す。 姿勢制御装置100による姿勢データの変換例を概略的に示す。 姿勢制御装置100の機能構成の一例を概略的に示す。 姿勢制御装置100として機能するコンピュータ1000の一例を概略的に示す。
 以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
 図1は、姿勢制御システム10の一例を概略的に示す。本実施形態に係る姿勢制御システム10は、被写体30の動きを解析することによって、ロボット20の連続的な複数の姿勢をそれぞれ示す複数の姿勢値を含む姿勢データ(ロボット20の姿勢データと記載する場合がある。)を取得し、当該姿勢データに含まれる複数の姿勢値を適切に変換し、変換後の姿勢値に基づいてロボット20の連続的な複数の姿勢を制御するための制御データを作成し、作成した制御データをロボット20に送信する。被写体30は、例えば、人間である。
 姿勢制御システム10は、姿勢制御装置100及び撮像装置200を備える。撮像装置200は、カメラ210及びマイク220を有する。カメラ210は、被写体30の動画像を撮像する。マイク220は、被写体30の音声を録音する。撮像装置200は、被写体30を撮像しつつ、被写体30の音声を録音してよい。
 撮像装置200は、撮像した被写体30の動きを解析することによって、ロボット20の姿勢データを導出してよい。例えば、撮像装置200は、いわゆるスケルトントラッキングを実行することによって被写体30の各関節の姿勢情報を取得し、当該姿勢情報をロボット20の各関節のオイラー角の角度値に変換することによって、ロボット20の姿勢データを導出する。撮像装置200は、例えば、Microsoft社のKinectである。撮像装置200は、ロボット20の姿勢データを導出することができれば、他の手法を用いてよく、また、Kinect以外の装置であってもよい。
 撮像装置200は、導出したロボット20の姿勢データを姿勢制御装置100に送信する。なお、ロボット20の姿勢データの導出は姿勢制御装置100が実行してもよい。すなわち、姿勢制御装置100は、被写体30の各関節の姿勢情報を撮像装置200から受信して、受信した姿勢情報を用いてロボット20の姿勢データを導出してもよい。
 また、撮像装置200は、被写体30を撮像しつつ録音した被写体30の音声を、姿勢制御装置100に送信する。撮像装置200は、被写体30を撮像しつつ録音した被写体30の音声に加えて、当該音声のタイミングを示すタイムスタンプを姿勢制御装置100に送信してもよい。音声のタイミングを示すタイムスタンプは、被写体30の撮像画像における音声のタイミングを示す。
 姿勢制御装置100は、撮像装置200から受信した音声及びタイムスタンプを、ネットワーク40を介して音声認識サーバ50に送信してよい。ネットワーク40は、インターネットを含んでよい。音声認識サーバ50は、受信した音声を音声認識することによって音声の内容を表すテキストデータを生成し、当該テキストデータにタイムスタンプを対応付けて姿勢制御装置100に送信してよい。姿勢制御装置100は、音声認識サーバ50から受信したテキストデータ及びタイムスタンプを格納する。姿勢制御装置100は、撮像装置200から受信した音声を自ら音声認識して、音声の内容を表すテキストデータを生成し、当該テキストデータにタイムスタンプを対応付けて格納してもよい。
 なお、姿勢制御装置100は、撮像装置200から、被写体30を撮像しつつ録音した音声の内容を表すテキストデータ及びタイムスタンプを受信してもよい。この場合、撮像装置200は、被写体30を撮像しつつ録音した被写体30の音声を音声認識することによって音声の内容を表すテキストデータを生成し、テキストデータにタイムスタンプを対応付けて姿勢制御装置100に送信してよい。
 姿勢制御装置100は、ロボット20の姿勢データに変換処理を施した後、ロボット20の姿勢データと、テキストデータ及びタイムスタンプとを用いて、ロボット20の連続的な複数の姿勢を制御し、当該連続的な複数の姿勢に同期させてテキストデータが表す内容を音声出力させるための制御データを作成して、ロボット20に送信する。以上の流れによって、被写体30の動き及び音声に対応する動き及び音声を、ロボット20に実行させることができる。
 図2は、姿勢制御装置100による姿勢データの変換例を概略的に示す。姿勢データ例302は、ロボット20の一の関節についての、変換前の姿勢データの一例を示し、姿勢データ例304は、変換後の姿勢データの一例を示す。ここでは姿勢値が角度値である場合を例示するが、姿勢値はこれに限らず、他の値であってもよい。
 変換前の姿勢データは、毎フレームの角度値を含む場合がある。姿勢データが毎フレームの角度値を含む場合、当該姿勢データを用いてロボット20を駆動させると、ロボット20の動きが滑らかにならない場合があることが実験的に証明されている。また、姿勢データが毎フレームの角度値を含む場合、ロボット20が備えるモーター等の駆動部への負荷が過度に高くなってしまう場合がある。これに対して、本実施形態に係る姿勢制御装置100は、ロボット20の動きを滑らかにし、ロボット20が備える駆動部の負荷を低減させるべく、姿勢データを変換する。
 姿勢制御装置100は、複数の閾値と、隣接する閾値の間の値をとる設定値とを予め登録し、これらに従って姿勢データを変換する。例えば、姿勢制御装置100は、隣接する閾値の間に、連続する予め定められた第1の数より多い姿勢値が含まれる場合、当該姿勢値を、当該隣接する閾値の間の値をとる設定値に変換する。図2は、第1の数が4である場合を例示している。図2において、姿勢データ例302に、閾値314と閾値316との間に、連続する4より多い数の姿勢値が含まれることから、当該姿勢値が、閾値314と閾値316との間の設定値325に変換されている。
 また、例えば、姿勢制御装置100は、隣接する閾値の間で連続する姿勢値の数が第1の数より多く、かつ、第1の数に基づいて決定される第1の数より多い第2の数より少ない場合、当該連続する姿勢値を、当該隣接する閾値の間の設定値であって、1つの設定値に変換し、当該連続する姿勢値の数が第2の数より多い場合、当該連続する姿勢値を、当該隣接する閾値の間の設定値であって、2つ以上の設定値に変換する。図2は、第1の数に2を乗じて1を加算した値である9を第2の数とした場合を例示している。図2において、閾値312と閾値314との間で連続する姿勢値の数が9より多いことから、当該姿勢値が、閾値312と閾値314との間の2つの設定値323に変換されている。これにより、ロボット20の動作を、設定値323が示す角度で一時停止させることができ、ロボット20に意図したポーズをとらせることができる。なお、ここでは、第1の数に2を乗じて1を加算することによって第2の数を決定する例を挙げて説明したが、第2の数の決定法はこれに限らず、第1の数よりも第2の数が大きくなる決定法であれば、他の決定法を用いてもよい。
 図3は、姿勢制御装置100による姿勢データの変換例を概略的に示す。姿勢データ例402は、ロボット20の一の関節についての、変換前の姿勢データの一例を示し、姿勢データ例404は、変換後の姿勢データの一例を示す。
 姿勢制御装置100は、隣接する閾値の間で連続する姿勢値の数が、上述の第1の数より少ない場合、当該連続する姿勢値を姿勢データから削除してよい。図3は、第1の数が4である場合を例示している。図3において、領域422において、閾値416と閾値418との間で連続する姿勢値の数が4より少なく、領域424において、閾値412と閾値414との間で連続する姿勢値の数が4より少なく、領域426において、閾値412と閾値414との間、閾値414と閾値416との間、閾値416と閾値418との間でそれぞれ連続する姿勢値の数が4より少ないことから、各姿勢値が削除されている。
 図4は、姿勢データの変換に用いる設定例500を概略的に示す。設定例500は、閾値領域510、設定値領域520、及び無効とするフレーム数領域530を含む。閾値領域510は複数の入力欄512を含む。設定値領域520は、複数の入力欄522を含む。無効とするフレーム数領域530は、複数の入力欄532を含む。入力欄512、入力欄522、及び入力欄532への入力は、例えば、姿勢制御装置100の使用者によって行われる。
 図4に示す例では、閾値領域510において、下限-120度、上限120度の間に、-70度、-55度、-30度、-15度、5度、15度、35度、70度、及び90度が設定されている。ここでは9個の閾値が設定されている場合を例示しているが、閾値の数はこれに限らない。また、設定値領域520において、隣接する閾値のそれぞれの間に、-60度、-40度、-20度、0度、10度、25度、50度、及び80度が設定されている。また、無効とするフレーム数領域530において、隣接する閾値のそれぞれの間に、4が設定されている。図4に示す例では、すべての入力欄532に同じ4が設定されているが、異なる値が設定されてもよい。無効とするフレーム数は、第1の数の一例である。
 上述したように、複数の閾値を、均等な間隔ではなく任意の間隔に設定可能にすることによって、例えば、一の角度範囲についてその他の角度範囲よりも多くの閾値を設定することにより、当該一の角度範囲について、ロボット20に精密な動作をさせることができる。また、上述したように、隣接する閾値の間の設定値を、隣接する閾値の中央値にするのではなく、任意に設定可能とすることによって、例えば、対象のロボット20の適正に適合する角度への設定を可能にすることができる。
 閾値、設定値、及び無効とするフレーム数は、姿勢データ毎に異なる値が設定可能であってよい。すなわち、閾値、設定値、及び無効とするフレーム数は、ロボット20の複数の関節のそれぞれで異なる値を設定可能であってよい。
 図5は、姿勢制御装置100による姿勢データの変換例を概略的に示す。姿勢データ例602は、ロボット20の一の関節についての、変換前の姿勢データの一例を示し、姿勢データ例604は、変換後の姿勢データの一例を示す。姿勢制御装置100は、姿勢データに含まれる一の姿勢値と、当該一の姿勢値以降で当該一の姿勢値との差分が予め定められた値よりも大きい最初の姿勢値との間の姿勢値を姿勢データから削除してよい。図5は、予め定められた値が5度である場合を例示している。姿勢データ例604は、姿勢データ例602において、一の姿勢値との差分が5度以上になるまでの間の姿勢値を削除する処理が繰り返された結果を示す。
 図6は、姿勢制御装置100による姿勢データの変換例を概略的に示す。姿勢データ例602は、ロボット20の一の関節についての、変換前の姿勢データの一例を示し、姿勢データ例606は、変換後の姿勢データの一例を示す。図6は、予め定められた値が15度である場合を例示している。姿勢データ例606は、姿勢データ例602において、一の姿勢値との差分が15度以上になるまでの間の姿勢値を削除する処理が繰り返された結果を示す。予め定められた値は、姿勢データ毎に異なる値が設定可能であってよい。すなわち、予め定められた値は、ロボット20の複数の関節のそれぞれで異なる値を設定可能であってよい。
 図7は、姿勢制御装置100の機能構成の一例を概略的に示す。姿勢制御装置100は、姿勢データ取得部102、姿勢データ格納部104、姿勢値変換部106、姿勢値削除部110、制御データ作成部114、音声情報取得部116、制御データ送信部118、音声出力制御部120、録音データ取得部122、音声特定部124、設定部126、及び制御データ取得部128を備える。なお、姿勢制御装置100がこれらのすべての構成を備えることは必須とは限らない。
 姿勢データ取得部102は、ロボット20の姿勢データを取得する。姿勢データ取得部102は、撮像装置200からロボット20の姿勢データを受信してよい。また、姿勢データ取得部102は、撮像装置200から、被写体30の連続的な複数の姿勢をそれぞれ示す複数の姿勢値を含む姿勢情報を受信して、当該姿勢情報から、ロボット20の姿勢データを導出してもよい。姿勢データ格納部104は、姿勢データ取得部102が取得した姿勢データを格納する。
 姿勢値変換部106は、姿勢データ格納部104に格納されている姿勢データに含まれる複数の姿勢値に変換処理を施す。姿勢値変換部106は、第1の閾値と第2の閾値との間で連続する予め定められた第1の数より多い姿勢値が姿勢データに含まれる場合、当該姿勢値を、第1の閾値と第2の閾値との間の予め定められた姿勢値に変換する。第1の閾値と第2の閾値との間の予め定められた姿勢値は、第1の閾値と第2の閾値との間の設定値であってよい。姿勢値変換部106は、第1の閾値と第2の閾値との間で連続する姿勢値の数が第1の数より少ない場合、当該連続する姿勢値を姿勢データから削除してよい。姿勢データから姿勢値を削除するとは、姿勢値を記憶する記憶媒体から姿勢値を消去することであってよい。また、姿勢データから姿勢値を削除するとは、姿勢値を記憶する記憶媒体から姿勢値を消去せずに、姿勢データから姿勢値を除外することであってもよい。
 姿勢値変換部106は、第1の閾値と第2の閾値との間で連続する姿勢値の数が第1の数より多く、かつ、第1の数に基づいて決定される第1の数より多い第2の数より少ない場合、当該連続する姿勢値を1つの予め定められた姿勢値に変換してよい。また、姿勢値変換部106は、第1の閾値と第2の閾値との間で連続する姿勢値の数が、第2の数より多い場合、当該連続する姿勢値を2つ以上の予め定められた姿勢値に変換してよい。
 姿勢値削除部110は、姿勢データ格納部104に格納されている姿勢データに含まれる複数の姿勢値のうち、予め定められた条件に該当する姿勢値を削除する。姿勢値削除部110は、一の姿勢値と、当該一の姿勢値以降で当該一の姿勢値との差分が予め定められた値よりも大きい最初の姿勢値との間の姿勢値を、姿勢データから削除してよい。
 制御データ作成部114は、姿勢データ格納部104に格納されている姿勢データに含まれる複数の姿勢値に基づいて、ロボット20の連続的な複数の姿勢を制御するための制御データを作成する。制御データ作成部114は、複数の姿勢値に対してスムージング処理を実行することによって、制御データを作成してよい。
 制御データ作成部114は、ロボット20の右側及び左側の一方の関節の連続的な複数の姿勢を制御するための制御データに基づいて、ロボット20の右側及び左側の他方の関節の連続的な複数の姿勢を制御するための制御データを作成してよい。ロボット20に左右対称の動きをさせたい場合、被写体30が撮像装置200の前で左右対称の動きをすることになるが、人間が左右対称の動きをすることは難しい場合がある。それに対して、本実施形態に係る姿勢制御装置100では、例えば、被写体30の右手の動きに基づいて作成したロボット20の右手用の制御データから、当該右手用の制御データに対応する左手用の制御データを作成することができ、ロボット20による左右対称の動きを容易に実現することができる。
 音声情報取得部116は、撮像装置200が被写体30を撮像しつつ録音した被写体30の音声の内容を表す音声情報と、当該音声のタイミングを示すタイムスタンプとを取得する。音声情報は、音声の内容を表すテキストデータであってよい。
 音声情報取得部116は、例えば、まず、撮像装置200から受信した音声及びタイムスタンプを音声認識サーバ50に送信する。そして、音声情報取得部116は、音声認識サーバ50によって生成された、タイムスタンプが対応付けられているテキストデータを音声認識サーバ50から受信する。
 また、音声情報取得部116は、撮像装置200から受信した音声を自らが音声認識して、音声の内容を表すテキストデータを生成し、当該テキストデータにタイムスタンプを対応付けて格納してもよい。また、音声情報取得部116は、撮像装置200から、タイムスタンプが対応付けられたテキストデータを受信してもよい。
 制御データ作成部114は、音声情報取得部116が取得したタイムスタンプに基づいて、ロボット20の連続的な複数の姿勢に同期させて、ロボット20に、音声情報取得部116が取得した音声情報が表す内容の音声を出力させる制御データを作成してよい。
 音声情報取得部116は、被写体30の音声の高さ情報及び速さ情報をさらに取得してもよい。音声情報取得部116は、テキストデータを音声認識サーバ50から受信する場合、高さ情報及び速さ情報も併せて音声認識サーバ50から受信してよい。音声認識サーバ50は、姿勢制御装置100から受信した音声を音声認識するときに、当該音声の高さ情報及び速さ情報を併せて生成し、姿勢制御装置100に送信してよい。
 音声情報取得部116は、撮像装置200からテキストデータを受信する場合、高さ情報及び速さ情報も併せて撮像装置200から受信してよい。撮像装置200は、被写体30を撮像しつつ録音した音声を音声認識するときに、当該音声の高さ情報及び速さ情報を併せて生成し、姿勢制御装置100に送信してよい。
 音声情報取得部116は、撮像装置200から受信した音声を自らが音声認識する場合、当該音声を音声認識するときに、当該音声の高さ情報及び速さ情報を併せて生成してよい。
 制御データ作成部114は、音声情報取得部116が取得した高さ情報及び速さ情報に基づいて、ロボット20に音声情報が表す内容の音声を出力させる高さ及び速さを決定してよい。
 制御データ送信部118は、制御データ作成部114によって作成された制御データをロボット20に送信する。
 音声出力制御部120は、音声情報取得部116が取得した音声情報が表す内容を、複数の音声パラメータを用いて、ロボット20に複数回音声出力させる。音声出力制御部120は、例えば、話す速さ、声の高さ、声の太さ、声の大きさ、イントネーション、アクセント、感情の種類、及び感情の度合い等の値の少なくともいずれかが異なる複数の音声パラメータを用いて、ロボット20に複数回音声出力させてよい。
 録音データ取得部122は、音声出力制御部120による制御に従ってロボット20によって出力された複数の音声を録音した録音データを取得する。録音データ取得部122は、例えば、姿勢制御装置100が備える不図示のマイクによって録音された録音データを取得する。録音データ取得部122は、姿勢制御装置100以外の装置が備えるマイクによって録音された録音データを、当該装置から受信してもよい。
 音声特定部124は、録音データ取得部122が取得した複数の録音データと、音声情報取得部116が取得した被写体30の音声とを比較して、被写体30の音声との類似度が最も高い音声を特定する。制御データ作成部114は、ロボット20に、音声特定部124によって特定された音声を出力させる制御データを作成してよい。ロボット20による発声は、発声させてみないとどのような発声になるかわからない場合があるが、本実施形態に係る姿勢制御装置100によれば、ロボット20に、複数の音声パラメータによって複数回発声させ、被写体30の音声と最も類似する音声を採用することができるので、被写体30の発声内容を、ロボット20に忠実に再現させることが可能となる。
 設定部126は、姿勢データの変更に関する各種設定を実行する。例えば、設定部126は、閾値領域510への閾値の設定、設定値領域520への設定値の設定、及び無効とするフレーム数領域530へのフレーム数の設定を実行する。また、設定部126は、姿勢データの変更の実行要否の設定を実行する。設定部126は、姿勢制御装置100の使用者による設定入力を受け付けてよい。
 制御データ取得部128は、制御データを取得する。制御データ取得部128は、任意の装置によって作成された制御データを取得してよい。制御データ取得部128は、例えば、他の姿勢制御装置100によって作成された制御データを取得する。制御データ取得部128は、例えば、可搬型の記憶媒体から制御データを取得する。また、制御データ取得部128は、ネットワーク40を介して制御データを受信する。制御データ作成部114は、制御データ取得部128が取得した制御データを編集することによって、制御データを作成してよい。また、制御データ作成部114は、制御データ取得部128が受信した制御データを編集することなく、制御データ送信部118に送信させてもよい。
 上記実施形態では、姿勢制御装置100と撮像装置200とが別体である場合を例に挙げて説明したが、姿勢制御装置100と撮像装置200とは一体であってもよい。すなわち、姿勢制御装置100が、撮像装置200の機能を備えてもよい。
 また、上記実施形態では、ロボット20を対象物の一例として挙げたが、これに限らない。対象物は、ロボット20以外の実物のオブジェクトであってもよい。また、対象物は、仮想のオブジェクトであってもよい。例えば、対象物は、ゲーム内のキャラクタ等の仮想3次元オブジェクトであってよい。
 図8は、姿勢制御装置100として機能するコンピュータ1000の一例を概略的に示す。本実施形態に係るコンピュータ1000は、ホストコントローラ1092により相互に接続されるCPU1010、RAM1030、グラフィックコントローラ1085、及びサウンドコントローラ1087を有するCPU周辺部と、入出力コントローラ1094によりホストコントローラ1092に接続される通信I/F1040、ハードディスクドライブ1050、DVDドライブ1070及びカメラ1096を有する入出力部と、入出力コントローラ1094に接続されるROM1020、FDドライブ1060、及び入出力チップ1080を有するレガシー入出力部とを備える。
 CPU1010は、ROM1020及びRAM1030に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィックコントローラ1085は、CPU1010などがRAM1030内に設けたフレーム・バッファ上に生成する画像データを取得し、ディスプレイ1086上に表示させる。これに代えて、グラフィックコントローラ1085は、CPU1010などが生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。サウンドコントローラ1087は、マイク1088を介して音声を取得する。
 通信I/F1040は、有線又は無線によりネットワークを介して他の装置と通信する。また、通信I/F1040は、通信を行うハードウエアとして機能する。カメラ1096は、動画像を撮像する。カメラ1096は、通信I/F1040に外部接続されてもよい。ハードディスクドライブ1050は、CPU1010が使用するプログラム及びデータを格納する。DVDドライブ1070は、DVD-ROM1072からプログラム又はデータを読み取り、RAM1030を介してハードディスクドライブ1050に提供する。
 ROM1020は、コンピュータ1000が起動時に実行するブート・プログラム、及びコンピュータ1000のハードウエアに依存するプログラムなどを格納する。FDドライブ1060は、フレキシブルディスク1062からプログラム又はデータを読み取り、RAM1030を介してハードディスクドライブ1050に提供する。入出力チップ1080は、FDドライブ1060を入出力コントローラ1094へと接続するとともに、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポートなどを介して各種の入出力装置を入出力コントローラ1094へと接続する。
 RAM1030を介してハードディスクドライブ1050に提供されるプログラムは、フレキシブルディスク1062、DVD-ROM1072、又はICカードなどの記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM1030を介してハードディスクドライブ1050にインストールされ、CPU1010において実行される。
 コンピュータ1000にインストールされ、コンピュータ1000を姿勢制御装置100として機能させるプログラムは、CPU1010などに働きかけて、コンピュータ1000を、姿勢制御装置100の各部としてそれぞれ機能させてよい。これらのプログラムに記述された情報処理は、コンピュータ1000に読込まれることにより、ソフトウエアと上述した各種のハードウエア資源とが協働した具体的手段である姿勢データ取得部102、姿勢データ格納部104、姿勢値変換部106、姿勢値削除部110、制御データ作成部114、音声情報取得部116、制御データ送信部118、音声出力制御部120、録音データ取得部122、音声特定部124、設定部126、及び制御データ取得部128として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ1000の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の姿勢制御装置100が構築される。
 以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、請求の範囲の記載から明らかである。
 請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階などの各処理の実行順序は、特段「より前に」、「先立って」などと明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」などを用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
10 姿勢制御システム、20 ロボット、30 被写体、50 音声認識サーバ、100 姿勢制御装置、102 姿勢データ取得部、104 姿勢データ格納部、106 姿勢値変換部、110 姿勢値削除部、114 制御データ作成部、116 音声情報取得部、118 制御データ送信部、120 音声出力制御部、122 録音データ取得部、124 音声特定部、126 設定部、128 制御データ取得部、200 撮像装置、210 カメラ、220 マイク、302 姿勢データ例、304 姿勢データ例、312 閾値、314 閾値、316 閾値、323 設定値、325 設定値、402 姿勢データ例、404 姿勢データ例、412 閾値、414 閾値、416 閾値、418 閾値、422 領域、424 領域、426 領域、500 設定例、510 閾値領域、512 入力欄、520 設定値領域、522 入力欄、530 無効とするフレーム数領域、532 入力欄、602 姿勢データ例、604 姿勢データ例、606 姿勢データ例、1000 コンピュータ、1010 CPU、1020 ROM、1030 RAM、1040 通信I/F、1050 ハードディスクドライブ、1060 FDドライブ、1062 フレキシブルディスク、1070 DVDドライブ、1072 DVD-ROM、1080 入出力チップ、1085 グラフィックコントローラ、1086 ディスプレイ、1087 サウンドコントローラ、1088 マイク、1092 ホストコントローラ、1094 入出力コントローラ、1096 カメラ

Claims (12)

  1.  コンピュータを、
     対象物の連続的な複数の姿勢をそれぞれ示す複数の姿勢値を含む姿勢データを取得する姿勢データ取得部、
     第1の閾値と第2の閾値との間で連続する予め定められた第1の数より多い姿勢値が前記姿勢データに含まれる場合、前記連続する予め定められた第1の数より多い姿勢値を、前記第1の閾値と前記第2の閾値との間の予め定められた姿勢値に変換する姿勢値変換部、及び
     前記姿勢値変換部によって変換された姿勢値に基づいて、前記対象物の連続的な複数の姿勢を制御するための制御データを作成する制御データ作成部
     として機能させるためのプログラム。
  2.  前記姿勢値変換部は、前記第1の閾値と前記第2の閾値との間で連続する姿勢値の数が前記第1の数より少ない場合、当該連続する姿勢値を前記姿勢データから削除する、請求項1に記載のプログラム。
  3.  前記姿勢値変換部は、前記第1の閾値と前記第2の閾値との間で連続する姿勢値の数が前記第1の数より多く、かつ、前記第1の数に基づいて決定される前記第1の数より多い第2の数より少ない場合、当該連続する姿勢値を1つの前記予め定められた姿勢値に変換し、当該連続する姿勢値の数が、前記第2の数より多い場合、当該連続する姿勢値を2つ以上の前記予め定められた姿勢値に変換する、請求項1又は2に記載のプログラム。
  4.  前記コンピュータを、
     前記姿勢データに含まれる一の姿勢値と、前記一の姿勢値以降で前記一の姿勢値との差分が予め定められた値よりも大きい最初の姿勢値との間の姿勢値を、前記姿勢データから削除する姿勢値削除部
     としてさらに機能させるための請求項1から3のいずれか一項に記載のプログラム。
  5.  前記姿勢データ取得部は、撮像装置によって撮像された被写体の動きを解析することによって導出された前記姿勢データを取得する、請求項1から4のいずれか一項に記載のプログラム。
  6.  前記コンピュータを、
     前記撮像装置が前記被写体を撮像しつつ録音した前記被写体の音声の内容を表す音声情報と、前記音声のタイミングを示すタイムスタンプとを取得する音声情報取得部
     としてさらに機能させ、
     前記制御データ作成部は、前記タイムスタンプに基づいて、前記対象物の連続的な複数の姿勢に同期させて、前記対象物に前記音声情報が表す内容の音声を出力させる前記制御データを作成する、請求項5に記載のプログラム。
  7.  前記音声情報取得部は、前記被写体の音声の高さ情報及び速さ情報をさらに取得し、
     前記制御データ作成部は、前記高さ情報及び速さ情報に基づいて、前記対象物に前記音声情報が表す内容の音声を出力させる高さ及び速さを決定する、請求項6に記載のプログラム。
  8.  前記音声情報取得部は、前記音声情報として、前記被写体の音声の内容を表すテキストデータを取得し、
     前記プログラムは、
     前記コンピュータを、
     前記テキストデータが表す内容を、複数の音声パラメータを用いて、前記対象物に複数回音声出力させる音声出力制御部、
     前記対象物によって出力された複数の音声を録音した複数の録音データを取得する録音データ取得部、
     前記録音データ取得部が取得した前記複数の録音データの音声のうち、前記被写体の音声との類似度が最も高い音声を特定する音声特定部
     としてさらに機能させ、
     前記制御データ作成部は、前記対象物に、前記音声特定部によって特定された音声を出力させる前記制御データを作成する、請求項6又は7に記載のプログラム。
  9.  前記被写体は人間であり、
     前記対象物はロボットの関節であり、
     前記姿勢データ取得部は、前記ロボットの複数の関節のそれぞれについて、前記姿勢データを取得し、
     前記姿勢値変換部は、前記複数の関節のそれぞれについて、前記第1の閾値と前記第2の閾値との間で連続する前記第1の数より多い姿勢値が前記姿勢データに含まれる場合、前記第1の数より多い姿勢値を、前記予め定められた姿勢値に変換する、請求項5から8のいずれか一項に記載のプログラム。
  10.  前記第1の閾値、前記第2の閾値、及び前記予め定められた姿勢値として、前記複数の関節のそれぞれで異なる値を設定可能である、請求項9に記載のプログラム。
  11.  前記制御データ作成部は、前記ロボットの右側及び左側の一方の関節の連続的な複数の姿勢を制御するための制御データに基づいて、前記ロボットの右側及び左側の他方の関節の連続的な複数の姿勢を制御するための制御データを作成する、請求項9又は10に記載のプログラム。
  12.  被写体を撮像する撮像部と、
     前記撮像部によって撮像された前記被写体の動きを解析することによって、対象物の連続的な複数の姿勢をそれぞれ示す複数の姿勢値を含む姿勢データを取得する姿勢データ取得部と、
     第1の閾値と第2の閾値との間で連続する予め定められた第1の数より多い姿勢値が前記姿勢データに含まれる場合、前記連続する予め定められた第1の数より多い姿勢値を、前記第1の閾値と前記第2の閾値との間の予め定められた姿勢値に変換する姿勢値変換部と、
     前記姿勢値変換部によって変換された姿勢値に基づいて、前記対象物の連続的な複数の姿勢を制御するための制御データを作成する制御データ作成部と
     を備える姿勢制御システム。
PCT/JP2017/015169 2016-04-27 2017-04-13 姿勢制御システム及びプログラム WO2017188014A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016-089632 2016-04-27
JP2016089632A JP6378716B2 (ja) 2016-04-27 2016-04-27 姿勢制御システム及びプログラム

Publications (1)

Publication Number Publication Date
WO2017188014A1 true WO2017188014A1 (ja) 2017-11-02

Family

ID=60161534

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/015169 WO2017188014A1 (ja) 2016-04-27 2017-04-13 姿勢制御システム及びプログラム

Country Status (3)

Country Link
JP (1) JP6378716B2 (ja)
TW (1) TW201738057A (ja)
WO (1) WO2017188014A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI664550B (zh) * 2018-07-26 2019-07-01 華夏學校財團法人華夏科技大學 高爾夫球運動員揮桿姿勢檢測系統

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01276310A (ja) * 1988-04-28 1989-11-06 Mitsubishi Heavy Ind Ltd ロボットの教示データの記録・再生方法
JPH0320805A (ja) * 1989-06-19 1991-01-29 Mitsubishi Heavy Ind Ltd ロボットの教示方法
JPH0944228A (ja) * 1995-08-02 1997-02-14 Meidensha Corp ロボットデータ削減方法
JP2007125645A (ja) * 2005-11-04 2007-05-24 Hitachi Ltd ロボット動作編集システム
WO2012093967A2 (en) * 2011-01-03 2012-07-12 Katotec Pte. Ltd. (Singapore) Robot controllers and content files therefor
JP2014102664A (ja) * 2012-11-20 2014-06-05 Talkie System Co Ltd コンテンツ作成・記録・再生システム
JP2014102578A (ja) * 2012-11-16 2014-06-05 Square Enix Co Ltd 情報処理装置、制御方法、プログラム、及び記録媒体
JP5892531B1 (ja) * 2015-11-16 2016-03-23 プレンプロジェクト・ホールディングス有限会社 リンク列マッピング装置、リンク列マッピング方法、及びプログラム
JP2017021799A (ja) * 2015-07-07 2017-01-26 学校法人幾徳学園 情報提示システム、情報提示装置及びプログラム

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01276310A (ja) * 1988-04-28 1989-11-06 Mitsubishi Heavy Ind Ltd ロボットの教示データの記録・再生方法
JPH0320805A (ja) * 1989-06-19 1991-01-29 Mitsubishi Heavy Ind Ltd ロボットの教示方法
JPH0944228A (ja) * 1995-08-02 1997-02-14 Meidensha Corp ロボットデータ削減方法
JP2007125645A (ja) * 2005-11-04 2007-05-24 Hitachi Ltd ロボット動作編集システム
WO2012093967A2 (en) * 2011-01-03 2012-07-12 Katotec Pte. Ltd. (Singapore) Robot controllers and content files therefor
JP2014102578A (ja) * 2012-11-16 2014-06-05 Square Enix Co Ltd 情報処理装置、制御方法、プログラム、及び記録媒体
JP2014102664A (ja) * 2012-11-20 2014-06-05 Talkie System Co Ltd コンテンツ作成・記録・再生システム
JP2017021799A (ja) * 2015-07-07 2017-01-26 学校法人幾徳学園 情報提示システム、情報提示装置及びプログラム
JP5892531B1 (ja) * 2015-11-16 2016-03-23 プレンプロジェクト・ホールディングス有限会社 リンク列マッピング装置、リンク列マッピング方法、及びプログラム

Also Published As

Publication number Publication date
JP6378716B2 (ja) 2018-08-22
JP2017196699A (ja) 2017-11-02
TW201738057A (zh) 2017-11-01

Similar Documents

Publication Publication Date Title
US9431027B2 (en) Synchronized gesture and speech production for humanoid robots using random numbers
KR20200032055A (ko) 반응형 영상 생성방법 및 생성프로그램
JP2004237022A (ja) 情報処理装置および方法、プログラム、並びに記録媒体
CN112667068A (zh) 虚拟人物的驱动方法、装置、设备及存储介质
CN111383307A (zh) 基于人像的视频生成方法及设备、存储介质
KR20170086317A (ko) 타이밍 변환을 이용한 3차원 캐릭터 동작 생성 장치 및 방법
CN102903362A (zh) 集成的本地和基于云的语音识别
CN107066081B (zh) 一种虚拟现实系统的交互控制方法和装置及虚拟现实设备
CN110573992B (zh) 使用增强现实和虚拟现实编辑增强现实体验
KR102222911B1 (ko) 로봇 상호작용 시스템 및 그를 위한 프로그램
US7257538B2 (en) Generating animation from visual and audio input
CN111009028A (zh) 虚拟脸部模型的表情拟真系统及方法
CN111383642B (zh) 基于神经网络的语音应答方法、存储介质以终端设备
RU2721180C1 (ru) Способ генерации анимационной модели головы по речевому сигналу и электронное вычислительное устройство, реализующее его
CN110910479B (zh) 视频处理方法、装置、电子设备及可读存储介质
Kowalski et al. Holoface: Augmenting human-to-human interactions on hololens
CN113223125B (zh) 一种虚拟形象的面部驱动方法、装置、设备和介质
JP6378716B2 (ja) 姿勢制御システム及びプログラム
JP4379616B2 (ja) モーションキャプチャデータ補正装置、マルチモーダルコーパス作成システム、画像合成装置、及びコンピュータプログラム
US20180126561A1 (en) Generation device, control method, robot device, call system, and computer-readable recording medium
CN111797897A (zh) 一种基于深度学习的音频生成人脸图像方法
JP6886663B2 (ja) 動作指示生成システム、方法およびプログラム
JP4525712B2 (ja) 情報処理装置および方法、プログラム、並びに記録媒体
CN112597912A (zh) 一种会议内容的记录方法、装置、设备及存储介质
KR102116673B1 (ko) 마커리스 이미지를 이용한 블랜드쉐입 웨이트 결정 시스템 및 방법, 및 컴퓨터 판독 가능한 저장매체

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17789300

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 17789300

Country of ref document: EP

Kind code of ref document: A1