Realistic sectional door animation I'm trying to animate a sectional door, but without success. 

I made a profile using a bezier spline and I want the sections to follow exactly the profile. 

If I use the Follow Path Constraint, the section does follow the profile but in an unrealistic way :



Adjusting the pivot does not allow a more realistic way. 

The main issue with follow path is that the orientation is made on only one point : the pivot but I want here is to have two "pivots" : one for each extremity of the section of the door.

I also try to use the Curve modifier with a whole door, but it doesn't solve all the issues : 



Here the extremums of the sections follow exactly the profile, but the placement is difficult (conter intuitive, I have to move the door down to get it up ...), and most important it introduces some deformations on the door extremums, and this is not realistic. Moreover it would be more realistic to have independent sections of the door instead of of full block (because the last section have different movement)

I also tried to use some empties to follow the profile (using drivers, I was able to move only one empty and move the others on the profile with good spacing between the empties), but I wasn't able to set the door sections follow exactly the empties. 

Anybody have a good suggestion ? 

Ideally I would like to have : 


Wheels that follow the profile (I can do that with some king of cylinders, it works well) ;
Sectional doors that are independents each others (they should be independent objects) ;
Sectional doors extremities are tied to the wheels ;
Sectional doors must be rigid (no deformation like in curve modifier) ;
Animation should be simple (a single empty that is moved on one axis can drive the full animation).
Model a single segment e.g.: 



Add an Array and Curve modifier



Now you should be able to animate open/close by translating the x-axis.





Method 2

To avoid that the Curve modifier distorts the segments, you could add another object say plane (Empties cannot have the array modifier) and parent the segment to the plane. Use face duplication on the plane to create the undistorted segements.

Note it is important to apply scale.