Minos 2014 Building a competitive line follower

Similar documents
Stop Alert Flasher with G-Force sensor

Arduino Library for the Pololu QTR Reflectance Sensors

PID Control. Proportional Integral Derivative (PID) Control. Matrix Multimedia 2011 MX009 - PID Control. by Ben Rowland, April 2011

HITACHI INVERTER SJ/L100/300 SERIES PID CONTROL USERS GUIDE

LEGO NXT-based Robotic Arm

Hand Gestures Remote Controlled Robotic Arm

MSc in Autonomous Robotics Engineering University of York

Computer Integrated Manufacturing Course Description

Additional Guides. TETRIX Getting Started Guide NXT Brick Guide

XC series BD board for special functions. Operate Manual

Using Thermocouple Sensors Connecting Grounded and Floating Thermocouples

UPS PIco. to be used with. Raspberry Pi B+, A+, B, and A. HAT Compliant. Raspberry Pi is a trademark of the Raspberry Pi Foundation

Six-servo Robot Arm. DAGU Hi-Tech Electronic Co., LTD Six-servo Robot Arm

Microcontrollers and Sensors. Scott Gilliland - zeroping@gmail

Self-Balancing Robot Project Proposal Abstract. Strategy. Physical Construction. Spencer Burdette March 9, 2007

USER MANUAL V5.0 ST100

Your EdVenture into Robotics You re a Programmer

Lab 3 Microcontroller programming Interfacing to Sensors and Actuators with irobot

STEPPER MOTOR SPEED AND POSITION CONTROL

Programming Logic controllers

Prototyping Connected-Devices for the Internet of Things. Angus Wong

AVR Butterfly Training. Atmel Norway, AVR Applications Group

Tutorial for Programming the LEGO MINDSTORMS NXT

measurement, number & operations, reasoning & proof, and science & technology

Versions. Q.station Q.station T. Q.station D. Q.station DT x x

FFT Frequency Detection on the dspic

Microcontroller Programming Beginning with Arduino. Charlie Mooney

Temperature Control Loop Analyzer (TeCLA) Software

TEACHER S GUIDE. How can Ozobot help to teach students in your classroom? Thank you for inviting Ozobot into your classroom!

INSTRUMENTATION AND CONTROL TUTORIAL 3 SIGNAL PROCESSORS AND RECEIVERS

USER MANUAL. EZRUN Series Brushless Speed Controller EZRUN-150A-PRO

2.0 Command and Data Handling Subsystem

Android Controlled Based Interface

Chapter 13. PIC Family Microcontroller

Controller board and power supply for vivimat III systems

Robot Sensors. Outline. The Robot Structure. Robots and Sensors. Henrik I Christensen

Advanced Programming with LEGO NXT MindStorms

How To Play Botball

Soft processors for microcontroller programming education

Special Lecture. Basic Stamp 2 Programming. (Presented on popular demand)

Ingar Fredriksen AVR Applications Manager. Tromsø August 12, 2005

Downloading a Sample Program over USB

CB-OLP425 DEVELOPMENT KIT GETTING STARTED

Massachusetts Institute of Technology

Automation platform. Modicon M340 Simply the natural choice

USER MANUAL ESP. Enhanced Steering Performance. R-Net

B Robo Claw 2 Channel 5A Motor Controller Data Sheet

TEECES DOME LIGHTING SYSTEMS

Autonomous Advertising Mobile Robot for Exhibitions, Developed at BMF

System Modeling and Control for Mechanical Engineers

Qualcomm Atheros AR4100: Wi-Fi Solution for the Internet of Things

ROBOTICS AND AUTONOMOUS SYSTEMS

Analysis of Micromouse Maze Solving Algorithms

Benefits of a Colter OEM design / Embeded PLC

Robotics. Lecture 3: Sensors. See course website for up to date information.

Radio Control System

Cypress Semiconductor: Arduino Friendly PSoC Shield

ROC Protocol Specifications Manual

Radio Control System

How to Set Up a Wideband in HP Tuners

SD21-21 Channel Servo Driver Module Power Servo's

Controlling a Dot Matrix LED Display with a Microcontroller

Making Your Own Embedded Linux-Based Robot

Time Response Analysis of DC Motor using Armature Control Method and Its Performance Improvement using PID Controller

Electric Landing Gear controllers and sequencer LGC12 / LGC 13C

Computer and Set of Robots

Stabilizing a Gimbal Platform using Self-Tuning Fuzzy PID Controller

Palaparthi.Jagadeesh Chand. Associate Professor in ECE Department, Nimra Institute of Science & Technology, Vijayawada, A.P.

Your EdVenture into Robotics You re a Programmer

PID control - Simple tuning methods

The Basics of Robot Mazes Teacher Notes

C8051F020 Utilization in an Embedded Digital Design Project Course. Daren R. Wilcox Southern Polytechnic State University Marietta, Georgia

WISER 14. By the Robosses (Nila, Ishaa, Parvathi, Shivadharshne) National Public School, Bangalore, India And Vishnu Ram

STM32L. Ultra-low-power Cortex -M3 devices

Arduino Training - Basics of Micro-controllers Programming Basics

West Virginia University College of Engineering and Mineral Resources. Computer Engineering 313 Spring 2010

Performance Evaluation of Software Architectures

Yun Shield User Manual VERSION: 1.0. Yun Shield User Manual 1 / 22.

DAKTON µ BOX MANUAL µbox User Manual 1

C# Implementation of SLAM Using the Microsoft Kinect

S4000TH HART. HART Communication Manual

An Experimental Study on Pixy CMUcam5 Vision Sensor

Using the VEX Cortex with ROBOTC

Automatic Wheel Profile Measuring Device for Tramway Vehicles

The self-starting solar-powered Stirling engine

CONTENTS. What is ROBOTC? Section I: The Basics

SERVICE BULLETIN No.1103

Classroom Activities for the Busy Teacher: EV3

DROFLY PRO V3 User Guide

Automation platform Modicon M340 Simply the natural choice

SENSORED BRUSHLESS MOTOR & SPEED CONTROLLER COMBOS

UPiS - Uninterruptible Power intelligent Supply

Complete Integrated Development Platform Copyright Atmel Corporation

Your EdVenture into Robotics You re a Controller

LOSB9595 1/36 th Brushless ESC and 10250Kv Motor Combination

2/26/2008. Sensors For Robotics. What is sensing? Why do robots need sensors? What is the angle of my arm? internal information

Hatton s MD4 Decoder. Thank you for purchasing Hatton s Decoders.


AMZ-FX Guitar effects. (2007) Mosfet Body Diodes. Accessed 22/12/09.

Be careful when designing robots with multiple motors under simultaneous or heavy loading. There are three main points to consider:

Transcription:

Minos 2014 Building a competitive line follower Mistakes made and lessons learned along the way

Background Bought Lego Mindstorms for my son ~ 12 years ago Retired Xmas 2012 and started playing with robots Attended Techfest July 2013 as a spectator Tried to build a line follower for Robofest Nov 2013 Many mistakes and blind alleys 2 weeks to go and no competitive robot After lots of internet searching bought Pololu 3pi After some re-programming ran 3pi in Robofest Nov 2013 Successful, but little satisfaction However lots of lessons learned! Entered IET Robot Triathlon March 2014 Applied lessons learned earlier Won competition, very satisfying!

Mistakes and blind alleys Picaxe 20X2 Microbot Picaxe base and robot shield

Picaxe 20X2 Microbot Good Points Low cost Complete beginner s solution Simple programming language Good range of sensors Great support Bad Points Poor drive train Slow and erratic Overall poor build quality

Picaxe 28X2 shield base and robot shield Good Points Provides sensor i/o Provides motor drive Provides robot library Same Picaxe BASIC Software debug Bad Points Not cheap! Picaxe BASIC limited No negative numbers No floating point Difficult to implement PID control No motor braking on Robot Shield

Not a blind alley! Pololu 3pi IET Robot Triathlon Winner

Pololu 3pi Good Points Off-the-shelf line follower Good sensor array Power supply step up Fantastic robot library Great PID control Bad Points Needed to learn C in a hurry!

IET Robot Triathlon Winner

IET Robot Triathlon Winner Features Motor and drive train supplied Pololu sensor array Power supply step up Pololu Baby Orangutan controller Laser cut acrylic chassis

Lessons Learned - General Robotics is a combination of mechanics, electronics and computing don t overlook any aspect Don t re-invent the wheel! Lots of information and help is available on the internet Micromouse Online Manufacturer sites Manufacturer libraries User forums

Lessons Learned - Mechanical Don t skimp on quality of chassis, motors and drive train Go for a rigid and stable chassis Custom laser-cut 3mm acrylic Build for minimum weight Fast turning requires a low moment of inertia, keep the weight near the COG Unexpected problems can have a mechanical cause!

Lessons Learned Electrical/Electronic Pololu have an excellent range of micro metal gearmotors Voltage step-up provides a high power stable motor voltage Pololu modules Cheap ebay modules LiPo batteries provide high current with low weight Monitor LiPo voltage!

Lessons Learned PID control The key to line following is good PID control Proportional Integral Derivative 1. Measure error e 2. Correction = KP*e + KI * (integral e) + KD * (derivative e) Can be greatly simplified in our case: Assume control loop time is roughly constant Integral e = previous integral + new e (cumulative error) Derivative e = new e previous e (change in error) Sign is very important! Error is 0 when on line, - at one side of line and + at the other

Lessons Learned PID control The hard part is choosing good values for KP, KI and KD! Pololu 3pi line follower program is a good starting point: If each motor speed is a value between 0 and 255 with an upper limit of MAX, then a correction is applied by setting one motor to MAX and the other to (MAX-power_difference) where power_difference = (KP*prop + KD*deriv + KI*integ) This works on my robot with KP=0.06, KD=2.2, KI=0.0001 Best values will depend on robot design Need to check bounds!

Lessons Learned Sensors Good PID control requires accurate error measurement I use an array of six ir sensors from Pololu Using Pololu library calibration routine gives error reading between -2500 and + 2500 Sensors should not be too close to surface

Lessons Learned Controller I use Pololu Baby Orangutan AVR 328P microcontroller plus 2 x motor control channels 1A continuous, 3A max Input voltage 5V 13.5V 18 user i/o channels 32KB flash memory, 2KB RAM Extensive robot library and support Program in C or C++

Still to do Proper debug system Data logging Use curvature markers Map track using accelerometer?