ECE597 Project Sumo Robot

From eLinux.org
Revision as of 02:19, 21 May 2010 by Batydm (Talk | contribs) (Links)

Jump to: navigation, search

The goal of this project is to create a BeagleBoard-powered robot capable of competing in an autonomous sumo competition in the 3.0 kg weight class (an example). This would have minor hardware and electronics elements, but would focus on communication with sensors using the BeagleBoard and the Linux kernel. At minimum, this involves sensors to detect the edge of the ring and the opposing robot.

Sumo Competition Rules

The goal of a sumo competition is to force an opposing robot out of a circular ring without being either being pushed out or running out of the ring accidentally. In the 3kg weight class, the two opposing robots begin approximately 20 cm from each other in the middle of a 154 cm diameter black dohyo (raised cylinder) with white lines painted along its edge to designate the boundary. The robots may not use any methods other than simple motive force to force their opponent out of the ring and must operate completely autonomously. The robot that forces its opponent off of the dohyo wins the match.

Hardware Details

Sensors

  • IR rangefinders -- Sharp GP2D12
    • Analog voltage output fed to ADC. - AD7991
    • Voltage output varies non-linearly with distance. See datasheet link above for details.
  • Sonic rangefinders (need a way to power-cycle these [1]) -- SRF08
    • Primary sensing: Distance in in cm/inches/μs up to 6 meters.
    • Secondary sensing: Light Amount [Not used in our application]
    • 5V required. 3mA standby, 11mA during ranging.
    • Communication via I2C bus.
  • Header for 3-axis accelerometer module - ADXL345
    • Auto-ranging from +-2/4/8/16 g in z,y,z
    • Vs = 2.0-3.3V and Vi/o 1.7V-Vs
    • Communication via I2C bus
  • Edge sensors (used to detect the white lines at the edge of the ring)
  • USB camera (eventually; low priority)

Other I/O

  • Motor control
    • Use four H-bridge motor drivers (one for each motor) - L298
    • Two PWM pins used for speed control
    • Two GPIO for direction selection
  • Input button to start 5-second match countdown
  • LEDs
    • "Ready" LED (blinks when counting down to match start)

Misc

  • Power requirements
    • Motors take 7.2 V, 2A (4A at stall)
    • BeagleBoard Requires 5V, 350mA
  • Power supply
    • 6AA battery holders (×2)
    • 1A Low Dropout 5 volt regulator - LM2940
    • Voltage divider into ADC (same AD7991 as IR sensors) for low-voltage shutdown

Interface Board

An interface board was designed that implements many of the core features listed above. The board was designed in OrCAD. The schematic, board, and artwork is available here: File:Sumo.zip. Please see the included readme. Ideally, the board would be enlarged or everything switched to surface mount components to allow for more features to be added. This design can easily be milled so long as the holes can be plated.

Here are the features that were implemented:

  • Power
    • 5V Low Dropout (LDO) Linear Regulator
    • 3.3V LDO Linear Regulator
    • Phoenix connector for power input
  • Beagleboard connector (ribbon cable to Beagleboard)
  • Motor drivers
    • 4x L298, one for each motor
    • Flyback diodes
    • Logic gates (74HC04 and 74HC08) to control high and low side drivers in L298
  • Connectors
    • 2x Phoenix connectors for motors
    • 2x headers for GP2D12
    • 2x headers for USF08
    • 2x headers for optical sensors
    • 2x headers for bump switches
  • Components
    • 2x MAX3378 level shifters
    • Analog to Digital Converter (for IR and optical sensors)
    • 2x 5v header
    • 5v I2C header

Power

The power input is used directly for the motors and regulated down to 5v and 3.3v. 7.2V rechargeable battery packs can be used.

Tasks

  • Build physical robot [On track]
    • Drivetrain [Mostly complete]
      • Water-cut plates [Done]
      • Cut corner fasteners [Done]
      • Assemble [Done]
    • Electronics box (to be done after electronics have been completed) [Not started]
  • Construct electronics [In Progress]
    • Acquire AA NiMH batteries (×12) [Done]
    • Acquire 6AA battery holders (×2) [Done]
    • Acquire Sensors [Done]
      • SRF08 sonic rangefinders (×2) [Done]
      • GP2D12 IR rangefinders (×2) [Done]
      • ADXL345 3-axis accelerometer [Done]
      • Edge sensors [Done]
    • Manufacture PCB [Not started]
      • Create PCB Schematic [Done]
      • Layout PCB [In progress]
      • Mill board [Not started]
      • Acquire Misc board components [In progress]
        • L298 H-bridges (×4) [Done]
        • Level shifter
        • ADC [Not started]
      • Place Components [Not started]
      • Test Board [Not started]
  • Interface Beagle with external components
    • I2C (sonic rangefinders, accelerometer) [Done]
    • PWM (motor control) [Done]
    • ADC (IR rangefinders, edge sensors) [Done]
    • GPIO (LED, buttons, motor control) [Done]
  • Write control software [Not started]
    • Low-level motor control [In progress]
    • Detect and prevent exit from arena [Not started]
    • Detect and ram competitor [Not started]
    • Recover from a competitor's attack [Not started]
  • Build or print sumo ring [Not started]

Team Members

Links