Connaitre les dimensions serait une bonne chose.
Si c'était pour quelques millimètres, un éléctroaimant serait satisfaisant.
Pour quelques centimètres, il existe des actuateurs linéaires (
http://www.robotshop.com/eu/actuateurs.html), mais ils sont chers.
Pour quelques dizaines de centimètres, il faudrait envisager un mouvement rotatif qui se transforme en mouvement linéaire.
Pour cela, je vois trois solutions :
1. Une tige filetée qui tourne par un servo à rotation continue ou un moteur pas à pas, et qui fait avancer et reculer un piston, comme un étau.
L'ennui, c'est que c'est que le mouvement est lent. Et dans le cas d'un servo, ça manque de précision.
Il faut un peu de place aussi pour des tiges sur les côtés qui guident le piston.
2. Un moteur pas à pas avec un pignon qui entraine une courroie, laquelle fait bouger le piston.
L'ennui, c'est que la courroie prend de la place, ainsi que la poulie à l'extremité.
3. Une sorte de petite voiture qui roule sur des rails de haut en bas et qui entraine un piston.
L'ennui, c'est qu'il faut de la place pour la voiture. Et peut-être qu'il faut deux voitures, une de chaque côté, lattéralement.