Bechele animatronics software
bechele is a perl based animatronics software, that allows to record joystick- and play servo movements according to sound. For example it may be used, to animate moving and speaking robot puppets. The software is usually running on a Raspberry Pi like mini computer under Linux.
bechele,de is a Raspberry Pi project, that enables you to create movement models like hand puppets, dance puppets or animal robots with simultaneous output of audio data and servo movement to awake these models to life, without the need of programming.See also https://bechele.de
Instead of a Raspberry Pi a OrangePi PC or any other rasperry pi like linux based micro computer can be used - For Raspberry Pi and OrangePi PC separate SD card images exists. To move a movement robot syncronized to music or speech, it is required to add the movement in some way according to the tone. In this project this happens by moving a joystick by hand synchronous to the sound. At the same time the movements will be output to the servos to be able to check the results on the fly. The number of recording channels is not limited by software but by chip timing and hardware. There is a hardware limit of a maximum of 64 PCA9685 boards. Another limit is the chip timing for addressing all servos. Timing is depending on the refresh rate of the movements. Currently this is 50 ms or 20 Hz. With 20Hz refresh rate a maximum of approx. 120 Servos can be addressed. If you need to address more servos you need to change the refresh rate, otherwise there is not enough time to set all servos. In case of the example puppet, the number of Servos in use is only 8. This limitation is just coincidencial and not a limit for other projects. Because with a joystick only two channels can be recorded, the recording of all channels need to be done sequentially. In case of Mr. Bechele I recorded first the mouth movement according to the speech audio mp3 file. Because mouth movements are very quick they need full concentration to acieve a more or less accurate result. Therefore I just recorded one channel only, though I had two channels available. Then I recoreded the eye lid movement with also only one channel but with two servos activated at the same (x) direction. Finally I recorded the eye movement with two channels at the same time. The audio data was divided in single short sections, to allow the puppet player to respond in the speech pauses. After finishing recording, audio data and movement can be output step by step by pressing a button, so that the audience has the impression the puppet really talks to the puppet player.

Discussion (0 comments)