Autonomous Robotics Project (Homer)

This Web page is based on the final report I wrote to complete my Electronic Engineering Technology program at N.A.I.T. (Northern Alberta Institute of Technology) I spent countless hours working on the mechanical and Firmware design and would like to share it with all Robotics Enthusiasts.


This Page Contains

  • Development History
  • Introduction
  • System Components
  • Stepper Motor Driver
  • Input / Output Buffer
  • DC Motor Driver
  • Power Management
  • Suppliers
  • Photo Gallery


  • Development History

    The initial concept was to create a robot with an actual purpose yet simple enough to contemplate building. I nic-named this first concept "Pack Rat". The thought was that the robot could explore it's environment looking for objects of a small enough size that it could take back to it's base, hence the claw. The concept was revised during development to a simpler "explore and then return home" concept. This is where it got the name "Homer", and with the reference to Homer Simpson the robot could seem comparatively more intelligent. In the end Homer never did learn to come home, He is really good at wandering around and not hitting anything but he never learned how to navigate.

    Introduction

    Contained in this report is a robot with all the minimum attributes needed to simulate some form of intelligence. Than is to say that in order to have intelligence a thing must have a away of sensing it environment and reacting to it in order to serve it's own needs. The robot consists of a sensor that is capable of detecting object at a particular distance and feeding the information back into a micro possessor. This information is then interpreted by the processor ant stimulates an action. in this project the objective of the robot is to avoid objects. This may seem trivial, however it represents one of the most basic skills a robot need before it can do anything else.

    System Components

    The robot sight system is based around an IR(Infrared) distance measuring device (GP2D12) and a stepper motor. With the sensor mounted on top of the stepper the robot is able to pan 360 degrees and "see" all around itself. This enables the robot to generate a two dimensional map of it's surrounding. It is this map that influences the robot as to the direction to travel and how far it can go in a particular direction. This locomotion is carried out through the use of a differential type drive system. A differential drive allows the robot to turn around a central axis and makes navigation less complicated. It dose however complicate driving in a straight line, that is because any differences in velocity from one side to the other results in a gradual turning of the robot. This problem was handled thought the of optical encoders that could supply feed back to the processor. Each encoder outputs a signal every 5mm. This signal is used in two way, it synchronizes the wheels and measures the distance the robot has traveled or turned.


    Here is the sight code and back up libraries SENCE.ASM, ANA_LIB.ASM, NUM_CAL.ASM I actually got the IR sensor to measure 1.8m, which isn't bad when you consider Sharp only specs the part to 0.8m.

    Sorry I don't have the code for the complete robot I had it on a hard drive and a floppy and they both failed! 6 months of programming gone! I'm not bitter though :) I still have the programmed eeprom, I guess i could somehow decompile the HEX code, If any one has some thoughts on the subject Email


    Stepper Motor Driver

    The circuit for the stepper motor has been constructed on a solderable vector board. The main components consist on a non-inverting latch (74HC573) and eight enhancement mosfets (VN 10KMA). The mosfet are connected to provide two H-bridge configuration needed to drive the bipolar stepper motor. The 74HC573 is connected to the data bus on the micro11 board and its input-enable pin is driven from the programmable logic device (PLD) (PAL16V8B). This allows the 68HC11 to address the latch and in turn sequence the stepper motor. The two H-bridges are connected to pins 16-19, D0 - D3 of the Latch.

    Input / Output Buffer

    This Circuit consists of two output latches (74HC573) and two input latches (74HC244). The circuit was designed with future development in mine and will allow for 16 inputs and 16 outputs. The four chips have been placed on the Micro11 boards prototype area and all routed through a forty pin ribbon cable that goes to the DC Motor Driver. Each buffer is addressable through the use of the PLD.

    DC Motor Driver

    The differential motors are driven through the use of a dual H-bridge driver (L293D). The use of this chip makes the drive circuitry very simple and reduces the area needed for construction. The four direction control lines are provided from one of the output buffer on the micro11 board. The pulse width modulation needed to control the motor speed is supplied directly from the 68HC11's PortA, output-compare Pins (OC2, OC3).

    Power Management

    The power management board is responsible for delivering power to various parts of the robot. The circuit is design to allow for charging of the batteries without having to remove them. The load is divided evenly between two 12 Gel Cells. One side powers the differential drive system while the other powers the logic and stepper motor.

    Suppliers

  • McMaster-CarrTiming-Belts
  • Digi-KeyElectronics
  • Princess AutoBatteries
  • AcronameGP2D12

  • Photo Gallery

  • Front View
  • Side View
  • Top View
  • Action View
  • Crushing I wish!
  • All Photos












  • www.digits.com