Software and Systems Engineering Standards: Verification and Validation of Sy...
Design the implementation of Forward Dynamic for PUMA560.
1. EXPERIMENT 12
AIM:
To study and design the implementation of Forward Dynamic for PUMA560.
Apparatus Used:s
Microsoft Windows XP Professional Version 2002, Intel(R) Pentium(R) Dual CPU, E2180
@2.00 GHz, 2.00 GHz, 1.99 GB of RAM, LabVIEW Robotics 2011 SPI.
Theory:
LabVIEW (short for Laboratory Virtual Instrumentation Engineering Workbench) is a
platform and development environment for a visual programming language from National
Instruments. Short for Laboratory Virtual Instrument Engineering Work bench is a programming
environment in which you create programs using a graphical notation (connecting functional nodes
via wires through which data flows); in this regard, it differs from traditional programming
languages like C, C++, or Java, in which you program with text. However, LabVIEW is much
more than a programming language. It is an interactive program development and execution
system designed for people, like scientists and engineers, who need to program as part of their jobs.
The LabVIEW development environment works on computers running Windows, Mac OS X, or
Linux. LabVIEW can create programs that run on those platforms, as well as Microsoft Pocket PC,
Microsoft Windows CE, Palm OS, and a variety of embedded platforms, including Field
Programmable Gate Arrays (FPGAs), Digital Signal Processors (DSPs), and microprocessors.
Procedure:
Execution is determined by the structure of a graphical block diagram on which the
programmer connects different function nodes by drawing wires. These wires propagate variables
and any node can execute as soon as all its input data become available. LabVIEW ties the
creation of user interfaces (called front panels) into the development cycle. LabVIEW
programs/subroutines are called virtual instruments (VIs). Each VI has three components: a block
diagram, a front panel, and a connector panel. The last is used to represent the VI in the block
diagrams of other, calling VI. Controls and indicators on the front panel allow an operator to
input data into or extract data from a running virtual instrument. However, the front panel can
also serve as a programmatic interface. Thus a virtual instrument can either be run as a program,
with the front panel serving as a user interface, or when dropped as a node onto the block
diagram, the front panel defines the inputs and outputs for the given node through the connector
pane. This implies each VI can be easily tested before being embedded as a subroutine into a larger
program. The graphical approach also allows non-programmers to build programs simply by
dragging and dropping virtual representations of lab equipment with which they are
already familiar.
6. Block Diagram:
Results:
Wait (ms) Function:
Waits the specified number of milliseconds and returns the value of the millisecond timer. Wiring a
value of 0 to the milliseconds to wait input forces the current thread to yield control of the CPU. This
function makes asynchronous system calls, but the nodes themselves function synchronously.
Therefore, it does not complete execution until the specified time has elapsed. When LabVIEW calls a
VI for example, if millisecond timer value is 112 ms and milliseconds to wait is 10 ms, the VI finishes
when millisecond timer value equals 122 ms. Use the Wait For Front Panel Activity function to
eliminate the need for continually polling the front panel to determine if the value of a front panel
object changes. Timer resolution is system dependent and might be less accurate than one millisecond,
depending on your platform. Use the Wait until Next ms Multiple function to improve resolution.
Flat Sequence Structure:
Consists of one or more sub-diagrams, or frames, that execute sequentially. Use the Flat Sequence
structure to ensure that a sub-diagram executes before or after another sub-diagram. Data flow for the
Flat Sequence structure differs from data flow for other structures. Frames in a Flat Sequence structure
execute from left to right and when all data values wired to a frame are available. The data leaves each
frame as the frame finishes executing. This means the input of one frame can depend on the output of
another frame. Unlike in the Stacked Sequence structure, you do not need to use sequence locals to
pass data from frame to frame in the Flat Sequence structure. Since the Flat Sequence structure
displays each frame on the block diagram, you can wire from frame to frame without using sequence
locals and without hiding code. When you add or delete frames in a Flat Sequence structure, the
structure resizes automatically.
To convert a Flat Sequence structure to a Stacked Sequence structure, right-click the Flat Sequence
structure and select Replace with Stacked Sequence from the shortcut menu. (ETS, VxWorks,
Windows) To convert a Flat Sequence structure to a Timed Sequence structure, right-click the Flat
7. Sequence structure and select replace with Timed Sequence from the shortcut menu. You cannot
drag tunnels across the frames of a Flat Sequence structure.
Precaution:
To avoid overusing Flat Sequence structures, attempt to control the data flow of your VI by
establishing data dependency or using flow-through parameters.
To avoid hanging the user interface with front panel locking, configure all events you want a VI
to handle in a single Event structure or always make sure there is only one Event structure in a
loop.
Additionally, make sure there is always an Event structure available to handle events as they
occur.