Integrated Tool Suite

UC Berkeley, National Instruments & Autodesk Collaborative Open Source Research Project

Introduction

The goal of this project is to introduce simulation earlier in the design process by automating the workflow associated with the design and control of complex mechanical systems.

Workflow Overview

In the workflow, we start with a CAD model of our complex system then transfer the model into a simulation environment, where control software can be designed to control both the model in a simulation and the physical system. We can repeat this process until we get satisfactory behavior from our system before manufacturing the physical system.

Step 1: Computer Aided Design – Autodesk Inventor

We model our mechanical system in Autodesk Inventor. The CAD environment allows us to add constraints and specify material and mass properties. This information is crucial for modeling the dynamics of a mechanical system.

Step 2: System Modeling – Modelica

We use the Modelica modeling language as an intermediate step to convert the Inventor model into a LabVIEW block for control and simulation. We take advantage of the Modelica Standard Library for ready-to-use components to add multimedia components: motors, sensors, input and output blocks, and more.

Step 3: Simulation and Control System Design – LabVIEW

LabVIEW is a convenient tool for simulating dynamic systems, testing controller designs, and deploying control systems to real-time hardware in an integrated environment. Given a complex mechanical system as a FMU from Modelica, we convert the system into a plant model, tune system parameters, and design multilayer control systems for the mechanical system.

Step 4: Dynamic Visualization – Autodesk Inventor

LabVIEW simulation provides useful data about the position, velocity, and acceleration of all components using the original Modelica model. This information is used to visualize the dynamic behavior of the complex system by exporting the data to Inventor and using Inventor Dynamic Simulation.

Test Bed Overview

The test beds illustrate a variety of properties found in real mechanical systems. Aside from the slider crank, we reverse engineer these physical systems to avoid bias from designing mechanisms that would adhere to the workflow. For each test bed, we run through our prospective workflow and document challenges unique to each system.

Inverted Pendulum Test Bed

The inverted pendulum is an inherently unstable system and a classic problem in dynamics and control theory. In the workflow, we start with a model of our system and bring it into a simulation environment to design a control system and verify the dyanmics of the system before manufacturing.

Inverted Pendulum Workflow Overview

We start with a physical model of the inverted pendulum system, reverse engineer the process of designing it using Inventor, and export details of the system to LabVIEW. Then we compare results of simulations of the system in LabVIEW with the results of connecting the same control schema to the physical system.

Step 1: Computer Aided Design

A model of the inverted pendulum is created in Inventor using dimensions from the fixture. The inverted pendulum system consists of three main parts: the pendulum, the stage, and the base. The stage slides along the base and the pendulum rotates about a point on the stage.

Step 2: Modelica-to-Inventor Translator

A Modelica model of the inverted pendulum is created using the Inventor-to-Modelica translation software. The translator is able to convert the constraints from the CAD model correctly but did not include multimedia elements needed in our model.

Step 3: Adding Multimedia Components

We can add the multimedia elements and relationships not captured by the translator by taking advantage of the Modelica Standard Library. For the inverted pendulum, we add components such as friction blocks, sensor blocks, and input/output terminals.

Step 4: Functional Mock-up Interface (FMI)

To convert our inverted pendulum model from Modelica to LabVIEW, we use JModelica and the Functional Mock-up Interface, a tool independent standard that supports model exchange and co-simulation.

Step 5: Tuning Model Specifications

In LabVIEW, we calibrate our model specifications by performing experiments comparing the simulation and the real time system to get accurate models of each component. For the inverted pendulum system, we tune the linear motor gains and friction coefficients.

Step 6: Control System Design

We implement a simple PD control system for the position of the stage in simulation and compare the results from the simulation with the results from the real time system using the same control system. In this example, we approximate friction with damping since the Modelica static friction blocks had trouble exporting to LabVIEW.

Step 7: Dynamic Visualization

LabVIEW simulation provides useful data about the position, velocity, and acceleration of all components using the original Modelica model. This information is used to visualize the dynamic behavior of the complex system by exporting the data to Inventor and using the Dynamic Simulation tools available.

Learn More

GitHub.com/JonathanShum/Integrated-Tool-Suite