Symbolic_Computation_of_Dynamics_on_Manifolds

advertisement

Symbolic Computation of Dynamics on Manifolds

Brian Bittner, Advised by Koushil Sreenath – SURF Proposal 2014

Abstract:

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.

Research Questions and Significance:

Broad Overview:

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.

Prior Work:

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.

Current Focus of Highly Dynamic Robotics Group:

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).

Proposed Research:

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.

Project Design and Feasibility:

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

Background:

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.

Work Experience:

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.

Relevant Classwork:

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)

Relation to Lab:

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.

Feedback and Evaluation:

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.

Dissemination of Knowledge:

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

Download