One of the major problems that we had with TomFoolery last semester was that if he was stopped for some reason while an animation was running, he would snap to his centre idle position when the next animation started. This could occur if the staff controlling the touch screen were to press the button to play the next dialogue before Tom had stopped moving. We needed to fix this issue as it could cause increased wear and tear on Tom and potentially reduce the lifespan on his parts.

In the industry, they use something called as an Ease In, which will prevent this problem by essentially crossfading one animation into another animation. We started testing by using the ease in commands, “dei” provided in Weigl’s documentation but they didn’t seem to provide any effect on solving the snapping issue. While we were down for install, we were able to meet with Weigl at the IAAPA expo and get some help from them on how to approach this issue. We even got Manfred Weigl, the CEO to write down ASCII commands that were in beta for us on his business card.

We implemented the commands we got from Weigl and it was still not providing us the results we were looking for. We then went through the ASCII documentation again and found the device fade command, “dfl”. This command tells the Pro I/O analog to fade the selected channel to a given value in a set amount of time. This command started working and was fading Tom from his current position to his centre idle position in the given time but it was still not behaving perfectly all the time. In talking to Weigl, we discovered that to use this fade command we needed to provide a delay in the code of the amount of time it was taking for the animatronic to fade to its desired position before we can start a new show.

A big part of fixing the snapping issue also became reducing the idle animations that Tom had at the end of each dialogue as this would reduce the chances of him being out of position when the button to play the next dialogue is pressed. Niharika worked tirelessly to ensure that none of the dialogues had extra idle animations to prevent Tom from snapping.

In summary, the fix to the snapping issue was a combined effort of reducing the idle animations at the end of each dialogue and fading Tom to his centre idle position in 1.5 seconds on every button press before the next dialogue is played. This also prompted us to train the staff to press the button to play next dialogue about 1.5 seconds before the staff interacting with Tom has finished saying their dialogue to make the interaction look believable.

By Rajat Gupta

Categories: Weekly Blog