The aim of this project was to develop a miniature amusement park ride, implementing an appropriate controls system to ensure smooth movement and rider comfort.
The airplane component was modified from publicly available CAD files on Grab CAD and serves as a visual aid. The three motors allow the airplane to follow a sinusoidal motion as it rotates around the center axis.
In our approach to developing a controller, both a centralized and decentralized controller were attempted. We applied inverse dynamics control (centralized) and position and velocity control with DFC (decentralized) to our system. We predicted inverse dynamics control to yield the best results, accounting for coupling between joints.
Inverse Dynamics Control
Account for coupling due to serial nature of manipulator
Assumption: our dynamics model will be accurate
Position and Velocity Control with DFC
Slow, gentle movements
Comparable to PID position control with regulators
Acceleration feedback not necessary
Assumption: no coupling between joints
Decentralized Controller
Four sets of gains were applied to tune the decentralized controller. Set #3 resulted in the most accurate trajectory with the least jerk.
Centralized Controller
We attempted to extract the necessary coefficients from the results of our Matlab calculations, but found deriving accurate matrices a challenge. When the controller was applied, the airplane ride moved erratically. Due to the limitations of our available tools, we decided not to proceed with the centralized controller.
Discussion of Results
Challenges included extracting dynamic parameters for the centralized control, working around Dynamixel encoder protocols, and limited initial testing capabilities (links break from continuous spin error). Modeling the controller was very difficult and error prone due to estimations of mass and the complex geometry of our system.
What I learned gain tuning
Centralized: difficult to separate gain issues from model issues
Decentralized: small difference in tuning gains when assembled versus disassembled