1) The document describes an experiment using LabVIEW to implement a 1D Kalman filter encoder and accelerometer on a robot. LabVIEW is a visual programming language that uses graphical programming techniques instead of text.
2) The experiment uses various LabVIEW VIs (virtual instruments) including ones for reading simulated LIDAR sensor data, applying a vector field histogram algorithm to identify obstacles, and applying velocity controls to move the robot.
3) Precautions are noted such as configuring all events in a single event structure to avoid locking up the user interface.
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
ย
Design the implementation of 1D Kalman Filter Encoder and Accelerometer.
1. EXPERIMENT NO. 4
AIM:
To study and design the implementation of 1D Kalman Filter Encoder and Accelerometer.
Apparatus Used:
Microsoft Windows XP, Professional Version 2002, Intelยฎ Pentiumยฎ Dual CPU. E2180 @2.00
GHz, 2.00 GHz, 199 GB of RAM, Lab VIEW Robotics 2011 SP1
Theory:
LabVIEW (short for The Laboratory Virtual Instrumentation Engineering Workbench) is a platform and
development environment for a visual programming language from National Instruments in which you
create programs using a graphical natation (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 (DSP), 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 interface (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 diagram 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 VI 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 font
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
representation of lab equipment with which they are already familiar.
5. Result:
This โSingle Control Loopโ example is useful for robots that do relatively simple repetitive algorithms.
This design uses simulated LIDAR data with the Vector Field Histogram obstacle avoidance algorithm
and steering API. Insert code for acquiring and processing sensor data and controlling the robot inside
the Timed Loop controls timing and is configured to run at 10 Hz. However, all processing must execute
fast enough to keep up with this loop rate.
Timed Loop:
Execute one or more sub diagram, or frames, sequentially each iteration of the loop at the period we
specify. Use the Timed loop when we want to develop the VIs with rate timing capabilities, precise
timing, feedback on loop execution, timing characteristics that change dynamically, or several levels of
execution priority.
Steering Frame:
To create the steering frame of robot there are steering VIs under Robotics VIs in which โAckermann
steering VIโ is used in this design. The center of the steering is at the midpoint of the wheel separation
width between the rare wheels. Figure 2 shows the VI of Ackermann Steering Frame. In this figure1 and
1.5 in Ackermann VIis wheel separation width and length respectively. In this VI there are two steering
front wheel and two fixed rear wheel is used. To create them we use separate VIs for โCreate Steering
Wheel.viโ and โCreate Fixed Wheel.VIโ. In both VIs wheel parameters and steering parameters is set
according to our design and movement of frame. Wheel object is created using controls which are in
pink boxes.
Using Read Saved LIDAR data VI:
This VI reads the saved data extracting from LIDAR sensor attached to robot. LIDAR Sensor sensors
scan a sector of angle and return the distances to nearest object in every direction. Thus this VI gives
two output data magnitude in mm and direction of that length.
Simple Vector Field Histogram VI:
Output from LIDAR sensor VI is input of this VI. Identifies obstacles and gaps or open areas, in the
robot environment, which we can use to implement reactionary motion in a robot vehicle. Panic range
defines the range at which this VI identifies an obstacle as an area of the environment to avoid. A
distance specifies the distances between the robot sensor and objects in the robot environment. A
direction angle specifies the angles at which objects are located with respect to the center of the sensor.
Positive values represent locations to the right of the center of the sensor, and negative values represent
positions to the left of the center of the sensor. Elements in direction angles correspond to elements in
distances. Distance threshold specifies the distance at which this VI does not consider objects to be
obstacles. This VI ignores any objects at distances greater than distance threshold. Largest gap describes
the largest open area in the robot environment. Histogram returns the histogram data that represents the
6. distances to objects in range of the sensor, arranged by angle and direction. Now output from VFH is
angle to gap which decide that how much robot rotate itโs steering to get the right direction for forward
movement.
Apply Velocity to wheels VI:
Now according to angle to gap this VI apply the right velocity to move the robot in maximum gap path.
Steering frame in is a reference to the steering frame on which to operate. Steering frame velocity
specifies the velocity of the steering frame, error in describes error conditions that occur before this node
runs.
Precautions:
๏ท 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.