Brian Bittner, Advised by Koushil Sreenath – SURF Proposal 2014
Controls systems are used to maintain desired motion for the moving parts of a mechanical system. In order to design these controls, the equations of motion for such a system must be determined. Generating the equations of motions is a complex task, and symbolic automation tools have surfaced to ease these computational tasks. Currently, all of these symbolic tools use scalar representation of variables in computation.
This representation provides equations of motion (EOMs) that are not compact, not valid globally, and contain singularities. The goal of this research is to provide symbolic automation tools that use vector and matrix based representations for symbolic quantities. The resulting representations allow for compact, global equations of motion that contain no singularitie s.
How does a cat rotate to land on its feet? How does a satellite rotate in three-dimensional space? How does a soccer player dribble with finesse through a defense. If the equations of motions for these systems are obtained, all of these questions can be perfectly answered.
Equations of motions provide the behavior of a mechanical system’s moving parts with respect to time.
For a simple mechanical configuration, one can write down the equations via hand computation. For more complex systems, the hand computation takes pages to complete, taking up hours of time.
Software packages have addressed this inefficiency, and offer automation for the generation of these equations of motion. However, these packages are not designed to work on systems whose dynamics evolve on manifolds, curved surfaces in three-dimensional space.
All software packages providing this automation are scalar based. Examples include Matlab Symbolic toolbox, Mathematica, and Sympy. The scalar representation is disadvantageous for a few reasons. The scalar equations generated are not compact, resulting in long, complex expressions. The representation also introduces singularities, which make it impossible to determine a unique solution. Additionally, the equations are only valid locally, and have no meaning in a global environment, which is required for more complex mechanical systems.
The Highly Dynamic Robotics (HDR) group is currently working on developing controls for the dynamics of autonomous systems. These systems include quadrotors, bipedal humanoids, and ball-bots
(omnidirectional robots that balance on an actuated spherical ball).
The topic of this research is to develop an automation tool that computes EOMs for vector-based and matrix-based mechanical systems. Vector based computation on these manifolds yields many advantages to the methods currently available. It introduces EOMs that are compact, contain no singularities, and are globally
Carnegie Mellon University SURF Proposal, 2014
valid. Observe the differences between scalar and vector representations for a spherical pendulum system as shown in Figures 1-2. In particular the EOMs with vectors are simpler, valid globally and singularity-free.
Equations of Motion: Equations of Motion: π πΜ + π sin(π) cos(π) = 0 π, π π π
2πΜ sin(π) cos(π) − π 3
+ π π cos(π) sin(π) + πΜsin 2 (π) = 0 π Μ = π × π π β π = 0
Figure 1: Scalar Representation of Spherical Pendulum Figure 2: Vector Representation of Spherical Pendulum
The change in representation will enable the computation of these EOMs for complex mechanical designs. Figures 3 and 4 are two autonomous systems in HDR where the technology would be ap plied.
Goal 1: Generate an automated EOM for the simplest mechanical system, a spherical pendulum. Components of this process will be selecting a suitable dynamics package to work with (Milestone 1) and extending the scalar representation to one which is vector based
(Milestone 2).
Figure 3: A humanoid positions itself to grab a car door and swing inside.
Figure 4: A quadrotor controls work to maintain the trajectory of hanging mass, such as a package.
Goal 2: Generalize the spherical pendulum to consider more moving parts. Initially the script will consider a system of two spherical pendulums (Milestone 3), and will be followed by a script which can determine the
EOMs for a system of n hanging pendulum, where n is a any positive integer (Milestone 4).
Goal 3: Extend the scalar representation to matrix representation. This will require a script that determines the
EOMs for the same configurations, but extended to matrix representation (Milestone 5). This will be used for analysis of the lab’s quadrotor.
Timeline for Project Milestones:
Week1 | Week 2 | Week 3 | Week 4 | Week 5 | Week 6 | Week 7| Week 8 | Week 9 | Week 10
Goal 1 Milestone 1 Milestone 2
Goal 2: Milestone 3 Milestone 4
Goal 3: Milestone 5
Carnegie Mellon University SURF Proposal, 2014
The scope of this project’s material lies at the intersection of mechanical engineering and computer science. The project requires mechanical intuition and understanding of the systems presented. Additionally, much scripting must be done to fully implement the tool.
My mechanical engineering experience includes design of a small mapping robotic platform used in underground mines and mechanical analysis of bulldozing actuation methods. This project was located at the
National Robotics Engineering Center and was sponsored by Anglo American. My computer science experience includes scripts for regression testing and visual simulators at Astrobotic. It also includes feature selection research for the vision system of an autonomous military vehicle.
Mechanical Engineering: Fundamentals of Mechanical Engineering (24-101), Statics (24-241), Engineering
Design I (24-370), Introduction to Robotics (16-311)
Computer Science: Fundamentals of Programming and Computer Science (15-112), Principals of Imperative
Computation (15-122), Introduction to Electrical and Computer Engineering (18-100)
I began working in the Highly Dynamic Robotics Lab in December 2013. Dr. Sreenath and I have been meeting on a weekly basis throughout the spring semester.
During our weekly meetings, progress on the milestones depicted in the timeline will be discussed.
Evaluation of my performance will be based off of execution of these milestones.
I plan to present at the Meeting of the Minds as the culmination of my SURF experience.
Additionally, the software will be available on the HDR group’s webpage. The software will be made open source for use in other labs.
We will submit a research paper to ICRA (International Conference on Robotics and Automation) in
September and present at the conference in June 2015.
Carnegie Mellon University SURF Proposal, 2014