Special effects with Thymio II

The films shown in cinemas today are now full of more or less sophisticated special effects. Although most of these effects involve complicated techniques, there are simple effects that can produce interesting results. One of the simplest special effects is to play the video backwards. This example with Thymio II uses this effect.

The short clip below is based on the contrast between a Thymio II which seems to behave normally, and the rest of the world which appears to go backwards.

The idea for this video comes from the excellent clip "forward":

Other robotic videos have been made using the same principle, such as the following for example:

# How is it done?

The effect is achieved by filming the robot as it reverses, leaving the rest of the world around it evolving normally. Thus one starts at the end and goes back to the initial situation.

Here is what this video gives at the "place" (note that the sounds are correct with the exception of a few sound effects added to the clip after reversal):

In order to do this in a credible manner and to control the robot properly, a special program was developed so as to be able to control the robot remotely while in the yellow (explorer) mode. One gets the impression that the robot is moving normally but in fact it can be remotely controlled while reversing. Here is the code to do this:

``````var temp
var rc5_speed_l
var rc5_speed_t
var vmin=-600
var vmax=600

var led_pulse

timer.period[0]=20

sub setmotor
call math.min(rc5_speed_t, rc5_speed_t, vmax)
call math.max(rc5_speed_t, rc5_speed_t, vmin)
call math.min(rc5_speed_l, rc5_speed_l, vmax)
call math.max(rc5_speed_l, rc5_speed_l, vmin)
motor.left.target  = rc5_speed_l + rc5_speed_t
motor.right.target  = rc5_speed_l - rc5_speed_t

onevent timer0
#Body color pulse
led_pulse = led_pulse + 1
if led_pulse > 0 then
call leds.top(led_pulse,led_pulse,0)
if led_pulse > 40 then
led_pulse = -64
end
else
temp=-led_pulse/2
call leds.top(temp, temp, 0)
end

onevent rc5
if rc5.command !=0 then
if rc5.command == 32 then
if rc5_speed_t!=0 then
rc5_speed_t = 0
else
rc5_speed_l = rc5_speed_l+50
end
elseif rc5.command == 17 then
rc5_speed_t = -50
elseif rc5.command == 33 then
if rc5_speed_t!=0 then
rc5_speed_t = 0
else
rc5_speed_l = rc5_speed_l-50
end
elseif rc5.command == 16 then
rc5_speed_t = 50
elseif rc5.command == 13 then
rc5_speed_t = 0
rc5_speed_l = 0
end
rc5.command = 0
callsub setmotor

end```
```

Once this film is completed it is played backwards. This is a simple option for the clip in video editing software such as iMovie. For the sound you can add effects or leave the reverse original sound, which works well enough, as in this clip.