CWRU Cutter 2010 NI Week Application
CWRU Cutter 2010 NI Week Application
CWRU Cutter 2010 NI Week Application
Contact Information:
Bradley Hughes
Glennan Building #321
Case Western Reserve University
10900 Euclid Avenue
Cleveland, OH 44106
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
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.
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.
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.
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.
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.
CWRU Cutter, using these reflexes, will navigate around obstacles as illustrated in Figure
4.
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.
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.
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.
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.