CWRU Cutter 2010 NI Week Application

Download as pdf or txt
Download as pdf or txt
You are on page 1of 8

CWRU Cutter: A NI-powered Autonomous Lawnmower

Contact Information:
Bradley Hughes
Glennan Building #321
Case Western Reserve University
10900 Euclid Avenue
Cleveland, OH 44106

Cell Phone: (440) 941-1241


Email: cwrucutter@case.edu

University and Department:


Case Western Reserve University
Department of Mechanical & Aerospace Engineering
Department of Electrical Engineering & Computer Science

Team Members:
Bradley Hughes
Henry Snow
Andrew Smith
Daniel Bennett
Alexander Schepelmann
Kathryn Daltorio

Faculty Advisors:
Dr. Roger Quinn – Lead Advisor
Dr. Frank Merat – Advisor on Machine Vision

Primary Email Address:


cwrucutter@case.edu

Products Used:
Hardware
NI cRIO-9074
Qty. 2 – NI 9411 – Differential Digital Input
Qty. 1 – NI 9250 – Analog to Digital
Qty. 1 – NI 9401 – 10 MHz Digital I/O
Qty. 1 – NI 9422 – 12-60V Digital Input
Qty. 1 – NI 9870 – RS232 Serial I/O
Qty. 2 - NI 9481 – Relay
NI EVS-1464
Software
NI LabVIEW 2009 SP1
NI FPGA
NI RT (Real-Time)
NI PID Toolkit
NI Vision
NI IMAQdx
NI Vision Assistant
Pictures of the robot’s hardware are provided:

The Challenge:
Build a robust autonomous lawnmower to compete in the Institute of Navigation’s annual
autonomous robotic lawnmower competition. The challenge incorporates: network
communication and synchronization, data acquisition, sensor interfacing, vision processing,
signal processing, artificial intelligence, system control, and robotic actuation.

The Solution:
CWRU Cutter, pronounced “crew cutter,” is Case Western Reserve University’s NI-powered
response to the 2010 ION Autonomous Robotic Lawnmower Competition. The robot incorporates
a CompactRIO and Embedded Vision System in order to accomplish the aforementioned tasks.
CWRU Cutter placed 1st in the 2009 competition with a similar hardware platform.

Body Text:
In order to facilitate intelligent autonomous operation of any AGV (autonomous guided vehicle), a
series of sensors, actuators, and control algorithms are required. CWRU Cutter is pictured in
Figure 1.

Figure 1: CWRU Cutter.

CWRU Cutter’s sensory suite includes:


DGPS (Differential Global Positioning System) Receivers
Wheel Encoders
IMU (Inertial Measurement Unit)
Linear Potentiometers
Firewire Cameras
Safety Switches
Remote E-stop (Emergency Stop)

CWRU Cutter’s controls and actuators include:


Speed controller and wheelchair motors
Contactor and mower deck
Contactor and string trimmer

CWRU Cutter’s control algorithms have been split onto two of National Instruments’
computational platforms. A system diagram of CWRU Cutter is included as Figure 2.

Figure 2: CWRU Cutter's high-level system diagram.

The first system chosen for CWRU Cutter is a CompactRIO-9074. The FPGA interfaces with a
variety of hardware using C-series modules. The robot’s sensors stream data at various rates to
be received by custom written FPGA firmware. The RT processor in the cRIO is used for
Physical State Estimation, Path Commanding, Path Driving, Polar Freespace Observation, and
Local Reflexive Behavioral Control.

 Loop Synchronization
The RT control loop executes at a rate of 10 Hz due to the use of a FPGA-triggered
hardware interrupt. The hardware interrupt is generated based on the full receipt of
periodic GPS messages. This capability provided by NI RT and NI FPGA allows very
precise timing of the control loop.

 Physical State Estimation


The PSO (Physical State Observer) estimates the AGV’s Physical State – the robot’s
position, attitude, velocity, and angular rate in all three dimensions. Kalman filtering,
(Kalman, 1960), is employed to provide the best estimate of Physical State based on the
a priori variances of correlated sensor measurements. The statistics VI library has been
used extensively to measure these a priori variances. Matrix Math functions are also
used extensively in this filtering operation.

 Path Commanding
The path commander loads a path from file which has been written to the solid state disk
of the cRIO. This path includes path primitive elements such as:
o Line
o Arc
o Pivot
o (v,ω)
o Stop
The path commander uses the robot’s Physical State to determine which path element
the robot is currently seeking.

 Path Driving
The PD (Path Driver) uses the robot’s Physical State, along with a three-component
controller for choosing a (v,ω) command for wheel actuation. The three components of
the controller, based on (Kanayama & Fahroo, 1997), are:
o Damping term on curvature
o Angle error based on deviation between actual heading and desired heading
o Positional error based on deviation between actual position and desired position
on path primitive
Further modifications have been made to allow for discontinuity of curvature in the case
of a pivot – where no linear velocity component exists.

 Polar Freespace Observation


The PFO (Polar Freespace Observer) filters the robot’s local polar freespace – an
egocentric polar representation of the obstacle field surrounding the robot.

The need for the PFO is two-fold:


o Remove noise from obstacle detection methods.
o Retain memory of areas recently navigated that are no longer observed by
sensors.

Matrix Math functions are used extensively in this filtering operation.

 Local Reflexive Behavioral Control


Reflexes provide RT obstacle avoidance given the Physical State, Path Driver Command,
and Polar Freespace.

The reflexes use pre-computed C-spaces (configuration spaces) of the robot’s body for a
series of predetermined (v,ω) commands. An example C-space of the robot, traveling at
.75 m/s linear velocity and .2 rad/s angular velocity is illustrated in Figure 3.
Figure 3: A C-space for CWRU Cutter at v=.75 m/s and .2 rad/s.

Two reflexes have been implemented:


o Veer Left Reflex
If the robot’s (v,ω) pair and associated C-space intersect the local polar
freespace, then a search is performed to increase the angular rate command
while decreasing the velocity command. This causes the robot to always turn to
the left of an obstacle while slowing down to avoid collisions.
o Stop Reflex
If the veer left reflex is unable to prevent collision, the stop reflex decelerates the
robot in both linear and angular velocity very aggressive rates. This ensures, at
a low-level, that no collisions will occur.

CWRU Cutter, using these reflexes, will navigate around obstacles as illustrated in Figure
4.

Figure 4: CWRU Cutter navigating around an obstacle using reflexive control.

The second computational platform chosen for CWRU Cutter is an Embedded Vision System
EVS-1464. The FPGA on the EVS interfaces with sensors via RS-232. The Intel Core 2 Duo
processor runs LabVIEW RT and IMAQdx in order to acquire and process images from two
Firewire cameras at 10 frames/second. Detected obstacles are communicated to the cRIO for
subsequent obstacle avoidance.
 Loop Synchronization
The RT vision processing loop executes at a rate of 10 Hz due to the use of a FPGA-
triggered hardware interrupt. The hardware interrupt is generated based on the full
receipt of a periodically timed GPS messages.
 Image Acquisition & Processing
IMAQdx is utilized in “grab” mode to provide images from both cameras for processing at
a rate of 10 Hz.

An image from one of the camera’s on CWRU Cutter is shown in Figure 5.

Figure 5: Initial image captured.

The corresponding hue and saturation planes are extracted and an empirical threshold is
applied with IMAQ Extract Color Planes and IMAQ Threshold. The resultant binary
images are combined using the IMAQ AND operator and is illustrated in Figure 6.

Figure 6: Processed image after threshold and AND-operation.

Next, the IMAQ Morphology operators of erode and dilate, are utilized, resulting in Figure
7.
Figure 7: Image after erosion and dilation operations.

The particles in the binary image are iterated and their corresponding coordinates are
transformed using the IMAQ Calibration VIs. This provides a real-world location for each
point detected in the obstacle which is represented in Figure 8.

Figure 8: The real-world calibrated results of obstacle detection.

Finally, the obstacle boundary points are converted to a local polar representation in
radius and angle. These values are coerced to the minimum radius for each three
degree segment and results in an R-theta plot as shown in
Figure 9: Final local polar representation of obstacle.

Conclusions
CWRU Cutter and Team CWRU Cut at Case Western Reserve University have successfully
designed and prototyped an autonomous lawnmower for use in the Institute of Navigation’s 2010
Autonomous Robotic Lawnmower Competition. Two National Instruments computational
platforms, along with LabVIEW 2009SP1, implement a series of data acquisition, signal
processing, and control algorithms in order to provide robust and reliable autonomy. The team
has been received excellent support by representatives at National Instruments throughout the
design and debugging phases of development. Furthermore, the ruggedized hardware has
proven successful in field application with respect to other team’s computational platforms at
previous year’s competitions.

References
Kalman, R. E. (1960). A New Approach to Linear Filtering and Prediction Problems. Transactions
of the ASME - Journal of Basic Engineering D ser. 82 , 35-45.
Kanayama, Y., & Fahroo, F. (1997, April). A New Line Tracking Method for Nonholonomic
Vehicles. Proceedings of the 1997 IEEE International Conference on Robotics and Automation ,
2910-2911.

You might also like