A system or method for generating gestures in a robot during generation of a speech output by the robot by analyzing a speech text and selecting appropriate gestures from a plurality of candidate gestures. The speech text is analyzed and tagged with information relevant to generating of the gestures. Based on the speech text, the tagged information and other relevant information, a gesture identifier is selected. A gesture template corresponding to the gesture identifier is retrieved and then processed by adding relevant parameter to generate a gesture descriptor representing a gesture to be taken by the robot. A gesture motion is planned based on the gesture descriptor and analysis of timing associated with the speech, wherein the amplitude, frequency or speed of the selected gesture is modified based on random numbers of specific range depending on the status of the robot. Actuator signals for controlling the actuators such as arms and hands are generated based on the planned gesture motion.
Synchronized gesture and speech production for humanoid robots using random numbers