Our objective was to create a cart controlled by a servo motor and a proportional–integral–derivative (PID) controller that transports a cart a variable distance without tipping a vertical 8020 aluminum beam without supports in the shortest amount of time.
To figure out the max acceleration of the bar, I calculated it using both the tipping and sliding to see which occurs first, and as seen, the tipping condition is the minimum where 0.82 m/s^2 was our maximum acceleration calculated.
A solidworks stimulation was also created where the theoricatical acceleration was also verified based off our calculations. To do this, I first had to model a cart, a beam and the road. There had to be very specific mates to ensure that there are zero redunancies so a linear motor can be added. The mates I have used is face-face, edge - face, point-point, base-point which allowed for the zero redundanices based on the table for DOF on the types of mates. The platform is constrained onto a track such that the platform has 1 degree of freedom along the track. Then I was able to create a motion study modelling the linear motor attached to the front face and figured out the reaction forces and acceleration from results and plots. The reaction force FR2 is tracked in order to validate the maximum acceleration as previously calculated. When FR2=0 in the simulation, the maximum acceleration has been reached.
The plots don't give a definate answer but based off the exported data points to Excel, it was determined that 0.83 m/s^2 was when the reaction force was close to being zero.
The wheel size was selected so the cart could travel 10 ft (one direction) as quickly as possible while staying within the system’s maximum allowable acceleration a. To achieve the fastest motion under this constraint, a triangular velocity profile was used. This profile is optimal because the cart accelerates to a peak velocity and then symmetrically decelerates, and the total distance traveled is equal to the area under the velocity–time curve.
If t represents the time required to reach the peak velocity v, the distance traveled x can be expressed as:
v * t = x
The acceleration is related to velocity and time by:
a = v / t
Combining these relationships gives the maximum achievable velocity for the given acceleration and travel distance:
v = √(a * x) = 62.132 in/s
The motor’s maximum angular velocity w′w'w′ was measured using the motor encoders and a data collection script, resulting in w =250±3w = 250 ± 3w =250±3 rpm. The relationship between linear velocity, angular velocity, and wheel radius was then used to determine the appropriate wheel size:
r = (60 * v) / (2π * w) = 2.4 in
Based on this calculation, the wheels were designed with a radius of 2.4 inches to achieve the desired travel distance and performance.
3D-printed wheel brackets were used to connect the axle to the laser-cut wheels and the laser-cut vehicle platform. The wheels were mounted to the axles using an interference fit to ensure secure transmission of torque. A 12 V DC motor was mounted to the base using a custom 3D-printed bracket. An Arduino Uno controlled the system, including the amplifier and DC motor driver. One of the biggest challengees we ran into is the wooden wheels which had inconsistencies with warping so it made it harder for the cart to traverse smoothly but due to limitating with time in 3D printing, we decided to laser cut the wheels.
A velocity profile was generated using Equations (1) and (2). During testing, the allowable acceleration had to be reduced due to imperfections in the beam base and limitations of the proportional control approach. To further smooth motion, generative AI tools were used to modify the control code to reduce acceleration when changing direction. The full code is included below.
The final system was able to travel the required distances without tipping the beam.