top of page

Cart traveling 9 feet back and forth in 17.8 seconds with beam staying perfectly stable

Screenshot 2026-03-07 at 1.01.27 AM.png

The goal of this project was to design a cart capable of transporting a 1-foot vertical aluminum bar across a variable distance of 5 to 10 feet back and forth without it toppling. The bar was placed on a horizontal platform, supported at its bottom face only.

No glues, fasteners, or side supports were allowed - just physics.

The ultimate objective was to minimize the time required to transport the bar. To do so, we first simulated multiple design concepts in Solidworks.

Initially, we simulated the multibody system without wheels to get a sense of the maximum acceleration the cart could handle. Basic rectangular shapes were used for the track, cart, and prisms, assembled with one degree of freedom that dropped to zero once a motor was introduced.

​

Using the motion analysis feature in SolidWorks, we generated both an acceleration plot and a reaction force plot to analyze the system's behavior.

​

From the reaction force plot, the moment the reaction force dropped to zero marked exactly when the prism's tipping point lost contact with the cart. By analyzing the acceleration plot, at the exact time when the reaction force reached 0N, we found our value to be 0.8 m/s² at 0.75 seconds.

​

To make sure these results actually made sense, we compared them to the theoretical calculations that we got from a Free-Body Diagram. By solving for when the net moment about the tipping point equals zero, we got a tipping acceleration of 0.8175 m/s².

​

The simulated value of 0.8175 m/s² aligns within 2% of the theoretical 0.8 m/s², validating the accuracy of the model.

cart plot 1 acc.jpg
cart plot 2 force.jpg

The simulation was then repeated with the prism tilted at 45 degrees, which shifted the base distribution along the tilting axis and noticeably changed the results. The updated reaction force and acceleration plots gave a higher maximum acceleration of 1.152 m/s² at 0.96 seconds, confirming that the angled orientation allowed the cart to move faster before tipping became a concern.

 

We then introduced wheels into the simulation, with each group member modeling a different size ranging from 1 to 4 inches. The goal was to bring the reaction force of the bar as close to zero as possible, which larger wheels achieved well. However, we opted for a more conservative choice to avoid the jerk that comes with bigger wheels.

 

Taking everything into account, we went with the rotated prism and 3 inch wheels for our final design, giving us the best balance between speed and stability for transporting the bar.

Cart pic top.jpg
Cart pic bottom.jpg

The left figure shows the top of the cart and the right shows the underside.

 

 

Once we were happy with the simulation, we moved on to building the actual prototype. The wheels, adapters, and motor holder were all 3D printed, the wood body was laser cut to size, and everything was fastened together using screws, washers, and nuts, with the wheels glued directly to the axle for extra security.

 

Assembly came with a few unexpected challenges. One wheel wasn't making full contact with the ground due to a warped body, so we hot glued a flat strip around the short side of the wheel to slightly increase its diameter and level things out. We also noticed the axle not connected to the motor was shifting side to side during motion, which we fixed by wrapping electrical tape around it to the approximate width we needed. It was a simple fix that kept the axle stable while adding minimal friction.

 

For our trials, the prism was placed within the diamond of pencil marks visible in the photo on the left, and white tape was used to keep the wiring tidy and out of the way. As seen in the 9 foot trial video below, we added rubber bands to the front two wheels for better traction and powered the cart using a 12V external power supply.

Cart pic top.jpg

The Arduino code was built around a trapezoidal velocity profile, meaning the cart ramped up to speed, held it steady, then slowed back down in a controlled manner. We used buffer times of 0.75 seconds for both the ramp up and ramp down phases, and included a two second pause before reversing to give the prism time to stabilize. Shorter wait times technically worked, but our success rate was highest at two seconds so we prioritized keeping the prism upright over shaving off a few seconds.

 

The other key decision in our code was the PWM value, which controls motor speed by toggling the signal on and off. Although our theoretical tipping acceleration gave us an upper bound, real-world factors like mechanical constraints and environmental conditions meant we had to be more conservative. After testing, we landed on a PWM of 175, which turned out to be the sweet spot. Higher values kept the cart moving well but caused the prism to topple, highlighting the important distinction between what the cart can handle and what the prism can.

Check out the GitHub repository to see the full code.

Screenshot 2026-01-26 at 10.14.19 AM.png

+1 (617) 256-0166

Copyright © 2026 Mathis Seidl

bottom of page