Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Introduction and Background

Our aim for this project was to create a hardware-based solution that utilizes two simple rotation inputs - one for the back wheels and the other for the linkage mechanism that successfully achieves a parallel parking motion. We intended to use a simple four-bar mechanism to create the approximate output function we desired and then shape it into a more ideal form using gears and dwell mechanisms. Our primary focus was on the synthesis of the output function using the simulation and machine learning models while keeping the hardware side low-cost, mostly using the materials and electronics provided initially. In the end, we were able to create the desired parallel parking motion with some minor caveats.


Design Process

The first step in our progress was determining the general shape of the output function. As our goal was to achieve a parallel parking motion, we wanted the output rocker to rotate sharply to its right extreme position, slowly return to the neutral position, dwell for some time, rotate sharply to the other extreme, and then return to the origin again. In essence, we would need to create a roughly sinusoidal motion with a dwell point in the middle. Additionally, we would need to add a gear train to amplify this output motion as it will most likely not be enough to fully rotate the wheels.


To design the four-bar mechanism to create a sinusoidal motion, we first worked on determining the linkage ratios with respect to the ground link to reduce the number of parameters. Next, we used a mix of gradient descent, genetic algorithm, and reverse Monte Carlo method to arrive at the ideal linkage length ratios. In that algorithm, we first generated a pool of Grashof linkages (the original parent genes) and then applied the gradient descent to each. For the reference output motion, we simply generated sinusoidal data with an amplitude of 1. Additionally, the output motions were normalized by their amplitudes and shifted with respect to the x-axis to enable a proper comparison with the datum. Along the process, any mechanism that was not Grashof or exhibited an increase in the residual was discarded. In the end, we further modified the linkage ratios manually for easier manufacturing. From this process, we acquire the linkage ratios of 0.5, 1.25, and 1.5 for a/d, b/d, and c/d, respectively.


Next, we determined the neutral position and the amplitude of the mechanism. It was determined that the neutral position of the linkage occurred when link 2's angular position was at -1 degrees (or when link 4's angular position was at 126 degrees). This data allowed us to precisely specify the attachment point for the output link and its gear. The amplitude of the mechanism was then determined to be about 17 degrees. Accounting for the dwell mechanism, which would reduce this amplitude, we needed a gear ratio between 4 and 5 to turn the wheel by about 45 degrees.


With these initial parameters set, we decided on the electronic systems we planned to use. For the back wheels, the two motors that were provided at the beginning of the course were used to save development time. As we already had the code for the joystick-controlled driving, this had an additional advantage in that one could drive the robot when it is not performing the parallel parking motion. For the input crank, a larger motor with a 12 V input voltage was used to sufficiently power the mechanism. Since there were hefty torque reductions from the four-bar mechanism and gear train, we added a torque multiplier at the start of the mechanism so that the motor wouldn't be overpowered by friction. Minus the voltage stepper and the power supply, all of the electronics were reused from the first assignment.


For the build materials, we opted to mainly use laser-cut woods and acrylics and utilize 3D printings for complex shapes to accelerate the manufacturing and assembling process. The links, gears, and front wheels were made from wood, while the wheel housings, brackets, and other miscellaneous supports were made by 3D printing. This choice allowed us to quickly recut the parts when we needed a replacement or a redesign.


Kinematic Analysis

All of the kinematic analysis of the mechanism was done via Python. The analysis of the four-bar mechanism was done concurrently with the linkage synthesis using the analytical solution for that linkage. The velocity analysis was done via numerical calculus to simplify the process. As the dwell introduces discontinuities in both the position and velocity profile of the output, only an approximate analysis was sufficient. As all generated linkages were assured to be Grashof, the crank was able to achieve a full rotation for its mobility condition.

(I will add the pictures later.)


Manufacturing and Assembly




  • No labels