When calling objects in the visualisation module, one can use a register as the argument of the angle parameter to make objects rotate dynamically, thanks to the presence of the evaluate() function in line 146 of scene.py. However, when one wants to translate objects dynamically, doing the same with the shift parameter fails, because there is no evaluate() call in line 147. Perhaps this can be added?
I've uploaded a fix, seems I had forgotten to complete this. Three 'components' of the shift are now all evaluated, so allowed to be registers.
Of course there's still the problem of shifting before or after rotation. I think 'after' is the most logical choice, to prevent e.g. cars moving sideways.
I've thought a while about making all angles and positions variable, but I think that may be a bit overdone and confusing. I've also contemplated adding a pre-rotation shift, but the same can be achieved with some sin's and cos'es, which seems a nice exercise...
Kind regards Jacques
PS I've adapted the robot, introducing a manually adaptable forerarm shift as a demo: forShift.