ltu armadillo 2007 igvc jeremy gray, bsee; shawn ellison, mscs; phil munie, mscs; brandon bell, mscs
TRANSCRIPT
LTU Armadillo
2007 IGVC
Jeremy Gray, BSEE; Shawn Ellison, MSCS; Phil Munie, MSCS; Brandon Bell, MSCS
Features and Innovations
• Low cost• Simple Design• Relies only on two cameras for sensor input• Written in C#/.NET
Development and Testing Methodology
• Final hardware platform was not ready until late in the development cycle
• Used a low cost L2Bot and LTU’s previous IGVC entry “Think Tank” as development and testing platforms
Hardware Overview
Hardware
• Roboteq AX3500 dual-channel digital motor controller
• Elexol I/O 24 relay output board • Dell Inspiron E1505, 2.0 GHz Duo-Core
processor• 2 Panasonic PV-GS320 digital camcorders• Logitech Cordless Rumblepad 2 wireless
controller
Motor Controller
• Roboteq AX3500 dual-channel digital motor controller
• One channel controls the overall speed for the two connected motors
• The other channel controls the difference in speed between the two connected motors, which is used for turning
Roboteq AX3500 Motor Controller
• Communicates via a RS-232 serial port using simple hexadecimal commands and responses
Power Relay Output Board
• Communicates with the laptop via a USB connection• Waits for simple hexadecimal commands that are encoded
in byte format• Upon completion of a command, turns on/off the
appropriate relay channel• Used for routing power to the JAUS warning signal
Elexol I/O 24 Relay Output Board
Remote Control Communication
• Wireless controller sends the controller state information to the wireless receiver
• Laptop interprets the controller state information and converts this information into motor controller commands
• Laptop sends motor controller command over the RS-232 serial communication connection
Sensors• Armadillo’s sensor design uses only two cameras connected
through a USB connection for visual interpretation. • The visual information gathered from these cameras is the only
data available for decision making.
• Advantages:– Low-cost decision making.
• Disadvantages:– No back-up method available.– Sometimes difficult to convert the 2D images into 3D
information.
Sensors – Camera Specs
• Armadillo utilizes two Panasonic PV-GS320 digital camcorders for its visual recognition
• The effective resolution of the cameras is 1.89 megapixels, with a video resolution of 320x240 @ 15 frames per second (fps).
Software Architecture
• Software written in C#, using Microsoft’s .Net 2.0 framework• The DirectX SDK is also used to interface with the camcorders and
wireless controller
Autonomous Challenge – Image Processing
• Each camera captures a 160x120 colored image.
• These colored images are then combined to create a single wide-view image, through the Image Fusion module.
• The wide-view image is then run through a color recognition module, which recreates the image using only a few basic colors that are in its palette.
160 x 120 Color
Raw Data Image
160 x 120 Color
Raw Data Image
Image Fusion Module
160 x 120 Color
Raw Data Image
Color Recognition
Module
Autonomous Challenge – Lane Following
• Divide the color recognized image into a 6x4 grid.
• Each grid section is analyzed for signs of a lane, and if discovered within the grid section, the whole grid section is activated.
• Once all grid sections have been initialized, a set of rules are used to determine which direction to turn so that the lane can be followed.
• Decision making is done by iterating through each row of the grid until a turn is requested for that row
• If all rows have been evaluated without a turn decision being made, Armadillo defaults to going straight ahead.
• Rules are applied to the rows closest to the robot first, because these rows represent the most immediate dangers.
160 x 120 Colored Raw Data Image
160 x 120 Colored
Recognized Image
6 x 4 Grid
Recognized Image
Autonomous Challenge – Obstacle Avoidance
• Obstacle avoidance is also handled by the lane following module.
• This is accomplished by having the objects internally seen as part of the lane.
• Thus, the objects are combined with the lane to make a larger, less elegant version of the lanes.
160 x 120 Colored Raw Data Image
160 x 120 Colored
Recognized Image
6 x 4 Grid
Recognized Image
JAUS Challenge
• JausCommunicator handles all communication with the OCU• JausCommunicator passes data to the JausHandler as a
JausMessage• JausHandler validates all messages and if valid, it fires the
appropriate event