Presentation on theme: "LTU Armadillo 2007 IGVC Jeremy Gray, BSEE; Shawn Ellison, MSCS; Phil Munie, MSCS; Brandon Bell, MSCS."— Presentation 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 LTUs previous IGVC entry Think Tank as development and testing platforms
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 Armadillos 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 Microsofts.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.
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.
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.
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