Classes - Beard

You are here: start » robot_soccer » 2015 » wall_e


|

Meta

Wall-e

Below we will post all information concerning our project. Our goal is to create a resource for us to refer back to and other to refer to for help on this project.

Competition Video

Code Repository

Mechanical System

Successes:

  • We had a large flat surface area to bounce ball. Because of this we almost always got the ball past our opponent!

Challenges:

  • Shorting VCC to Gnd fried our voltage regulator and USB controller.
  • Robot cracked from being dropped and stepped on.

Improvements:

  • Aluminum frame would be much stronger. (careful with shorting though!)
  • Triangular robot (three edges allows strategic maneuvering of ball. Also can scoop up ball from sides!)
  • Mount Odroid upside-down to easily access GPIO pins and SD card.
  • Solenoid with charging circuit would give a huge advantage.

Resources:

Motor Control

Successes:

  • Our robot was very accurate. We found a reason we thought it wasn't accurate, measured obstacle to prove it was a problem, and then designed a way to fix it.
  • We measured latency of camera.
  • We measured motor pulses and multiplied this by inverse of M-matrix to know how far robot moved.
  • We scaled M-matrix to improve accuracy. We calibrated the xy directions and omega values in the M-matrix separately.

Challenges:

  • To achieve good PID control we needed to set the PID constants every time roboclaws are powered.
  • The Roboclaw errs out at high acceleration so we smoothed the velocity with a max acceleration constant.

Improvements:

  • Timestamp from camera would improve accuracy even more, instead of simply measuring latency of camera a single time.
  • ROS serial library might be easier than learning and battling with C functions.

Vision

Successes:

  • Interactive GUI
    • Press Alt-C and click on image to center field
    • Press 1, 2, or 3 to see the different threshold results. The image is all grayed out except the active part of threshold.
    • Change the threshold values on the fly with with sliders.
    • Jersey colors can be changed to green, blue, red, or purple on the fly with the push of a button.
    • Direction (Home or away) can also be changed with the push of a button.

Challenges:

  • Delay in getting a camera
  • USB cameras fast but compressed and color problems.
  • Fisheye with IP webcam

Improvements:

  • ROS parameters for jersey colors so you don't have to hardcode defaults or change them every time you restart the program.

Resources:

System Integration and Artificial Intelligence

Successes:

  • Timers in code
  • Spiral towards ball strategy worked wonders!
  • State machines
  • Hot keys
  • Startup script with xdotool

Challenges:

  • Spent most of time getting motor control accurate so there wasn't much time to work on AI.
  • Need to be smooth. Matlab code when translated to C didn't really work without a lot of testing.

Improvements:

  • Simulator to improve algorithms and test more extensively
  • Store speed and calibration settings with ROS parameters.
  • Obstacle avoidance and path planning

Project Documentation