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



Similar documents
FRC WPI Robotics Library Overview

LEGO NXT-based Robotic Arm

Hand Gestures Remote Controlled Robotic Arm

Servo Info and Centering

Servo Motors (SensorDAQ only) Evaluation copy. Vernier Digital Control Unit (DCU) LabQuest or LabPro power supply

The NXT Generation. A complete learning solution

Force/position control of a robotic system for transcranial magnetic stimulation

Mobile Robotics I: Lab 2 Dead Reckoning: Autonomous Locomotion Using Odometry

Lab 3 Microcontroller programming Interfacing to Sensors and Actuators with irobot

Ocean Controls RC Servo Motor Controller

Degree programme in Automation Engineering

INTRODUCTION TO SERIAL ARM

Whitepaper. Image stabilization improving camera usability

How to program a Zumo Robot with Simulink

DITCH WITCH MT12 MICROTRENCHER. ditchwitch.com

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

EasyC. Programming Tips

understanding sensors

Tutorial for Programming the LEGO MINDSTORMS NXT

Microcontroller Programming Beginning with Arduino. Charlie Mooney

Information regarding the Lockheed F-104 Starfighter F-104 LN-3. An article published in the Zipper Magazine #48. December Theo N.M.M.

The Design of DSP controller based DC Servo Motor Control System

Series: IDAM Servo Drive E Digital Motor Drive - DMD

Basic Principles of Inertial Navigation. Seminar on inertial navigation systems Tampere University of Technology

Building Instructions: Maze Robot

Electrical Engineering Department College of Engineering California State University, Long Beach Long Beach, California, 90840

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

Eric Mitchell April 2, 2012 Application Note: Control of a 180 Servo Motor with Arduino UNO Development Board

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

Tamura Closed Loop Hall Effect Current Sensors

EE 472 Lab 2 (Group) Scheduling, Digital I/O, Analog Input, and Pulse Generation University of Washington - Department of Electrical Engineering

Constructing a precision SWR meter and antenna analyzer. Mike Brink HNF, Design Technologist.

Pulse Width Modulated (PWM) Drives. AC Drives Using PWM Techniques

KS3 Computing Group 1 Programme of Study hours per week

How to Turn an AC Induction Motor Into a DC Motor (A Matter of Perspective) Steve Bowling Application Segments Engineer Microchip Technology, Inc.

The Basics of Robot Mazes Teacher Notes

The self-starting solar-powered Stirling engine

A 5 Degree Feedback Control Robotic Arm (Haptic Arm)

Dr Robot C# Advance Sputnik Demo Program

Roll Handling By Jeff Damour CONVERTER ACCESSORY CORPORATION Wind Gap, PA USA

THE MECHANICS OF TENSION CONTROL By Jeff Damour CONVERTER ACCESSORY COPORATION Wind Gap, PA USA

Pulse Width Modulated (PWM)

Design of a six Degree-of-Freedom Articulated Robotic Arm for Manufacturing Electrochromic Nanofilms

Welcome to this presentation on LED System Design, part of OSRAM Opto Semiconductors LED 101 series.

Controlling a Dot Matrix LED Display with a Microcontroller

Applying Use Cases to Microcontroller Code Development. Chris Gilbert Cypress Semiconductor

Somero SiteShape System

Address for Correspondence

1115 4G SERIES GOVERNOR ma ANALOGUE DIGITAL SPEED SETTING

all VAC LIFT ALL-VAC-LIFT Phone Redstart Street Fax

Figure 1. The Ball and Beam System.

An internal gyroscope minimizes the influence of dynamic linear acceleration on slope sensor readings.

Active Vibration Isolation of an Unbalanced Machine Spindle

User manual DinaSys DTC/DTS and DTC/DTZ

By: M.Habibullah Pagarkar Kaushal Parekh Jogen Shah Jignasa Desai Prarthna Advani Siddhesh Sarvankar Nikhil Ghate

Vision Engravers and Routers PRE-Installation Guide Vision Engraving & Routing Systems

Surveillance System Using Wireless Sensor Networks

OPTICAL COMMUNICATION BASED STEPPER MOTOR CONTROL USING PULSE WIDTH MODULATION

PROJECT PRESENTATION ON CELLPHONE OPERATED ROBOTIC ASSISTANT

New High Current MOSFET Module Offers 177 µω R DS(on)

Lab Experiment 1: The LPC 2148 Education Board

Soft processors for microcontroller programming education

MECE 102 Mechatronics Engineering Orientation

Impact of Reflectors on Solar Energy Systems

Embedded Systems on ARM Cortex-M3 (4weeks/45hrs)

A Study of Speed Control of PMDC Motor Using Auto-tuning of PID Controller through LabVIEW

Digital Systems Based on Principles and Applications of Electrical Engineering/Rizzoni (McGraw Hill

Multi-Touch Control Wheel Software Development Kit User s Guide

ETEC Digital Controls PIC Lab 10 Pulse Width Modulation

Engineers at Liftech designed the structure of the first container crane and have designed and reviewed thousands of container cranes since.

MECHANICAL PRINCIPLES HNC/D MOMENTS OF AREA. Define and calculate 1st. moments of areas. Define and calculate 2nd moments of areas.

Frequently Asked Questions (FAQs)

Sensors and Cellphones

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

SUSPENSION AND STEERING OVERVIEW

CE801: Intelligent Systems and Robotics Lecture 3: Actuators and Localisation. Prof. Dr. Hani Hagras

Tutorial for MPLAB Starter Kit for PIC18F

The second goal is to provide a list of tips, tricks, and best known methods that have been discovered over the life span of the course.

STEPPER MOTOR SPEED AND POSITION CONTROL

Test Driven Development of Embedded Systems Using Existing Software Test Infrastructure

TELESCOPE Motorized Lighting Suspension

Computer and Set of Robots

An inertial haptic interface for robotic applications

UNIT 1 INTRODUCTION TO NC MACHINE TOOLS

FLYPORT Wi-Fi G

Next Gen Platform: Team & Mentor Guide

Interference to Hearing Aids by Digital Mobile Telephones Operating in the 1800 MHz Band.

MSc in Autonomous Robotics Engineering University of York

Using angular speed measurement with Hall effect sensors to observe grinding operation with flexible robot.

PIPELINE INSPECTION UTILIZING ULTRASOUND TECHNOLOGY: ON THE ISSUE OF RESOLUTION By, M. Beller, NDT Systems & Services AG, Stutensee, Germany

INDUCTION MOTOR PERFORMANCE TESTING WITH AN INVERTER POWER SUPPLY, PART 2

Multi-Touch Control Wheel Software Development Kit User s Guide

C.I. La chaîne d information LES CAPTEURS. Page 1 sur 5

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

Flight Controller. Mini Fun Fly

WIRELESS BLACK BOX USING MEMS ACCELEROMETER AND GPS TRACKING FOR ACCIDENTAL MONITORING OF VEHICLES

RPLIDAR. Low Cost 360 degree 2D Laser Scanner (LIDAR) System Development Kit User Manual Rev.1

PROGRAM CRITERIA FOR ELECTRICAL ENGINEERING TECHNOLOGY

Classroom Activities for the Busy Teacher: EV3

Transcription:

Spencer Burdette March 9, 2007 sburd@gwu.edu Self-Balancing Robot Project Proposal Abstract This project will undertake the construction and implementation of a two-wheeled robot that is capable of balancing itself. The structural, mechanical, and electronic components of the bot will be assembled in a manner that produces an inherently unstable platform that is highly susceptible to tipping in one axis. The wheels of the robot are capable of independent rotation in two directions, each driven by a servo motor. Information about the angle of the device relative to the ground (i.e. tilt) will be obtained from sensors on the device. The precise type of sensor that will be used is yet to be specified. The tilt sensor may be an accelerometer, gyroscopic sensor, or IR sensor (to measure distance to the ground). Information from the sensors will be fed back to the Z8, which will process the feedback using a crude proportional, integral, derivative (PID) algorithm to generate compensating position control signals to the servo motors in order to balance the device. Strategy The Zilog ZNEO Z16 development kit will serve as the microcontroller for the device. Specifically, timers on the board will be utilized to provide the pulse width modulated output necessary to control the servo motors. Feedback from the tilt sensor (or accelerometer, or gyroscope, or IR sensor) will be fed into an ADC converter on the board. The feedback and position control loop will be executed most likely at a time interval, driven by interrupts. In fact, the entire program will be interrupt driven if possible. External to the Z16, the bot will require two servo motors, a motor control board to source the current for the motors, a tilt sensor (or collection of sensors), a portable battery pack, and a platform upon which to mount the components that will ultimately require balancing. Physical Construction The most difficult portion of the design task has been identifying a suitable physical platform for the device. The instructor has indicated on numerous occasions that this project is intended to be an exercise in programming the device, not an electrical engineering endeavor. Likewise, I am attempting to select a platform that requires as little assembly or as few modifications as possible, so as to not turn this project into a mechanical engineering project. As expected, locating a prefabricated two wheeled platform that is inherently unstable has been a difficult task. Aside from balance-related research projects, a robot prone to tipping has little practical value. Spencer Burdette Self Balancing Robot Project Proposal Page 1 of 8

I have narrowed my choice of platforms down to the following three: A lego-based bot, the Nuts and Volts custom balancing bot, and budgetrobotics.com s scooter bot. I have provided reasons why I do not think that the first two platforms will be suitable, but have not yet ruled them out entirely. Lego-based bot RidgeSoft.com has a complete instruction kit on constructing a self-balancing robot from legos. The problem I see with this solution is the kit utilizes the IntelliBrain controller with an expansion board. The IntelliBrain controller is programmed with a true Java development environment, complete with tutorials, example programs, and a rich suite of libraries. Call me a Java critic, but I feel that programming an embedded system with an object-oriented programming language such as Java is being treated just a bit too much with kid gloves. (Although I m new to the embedded community, I imagine that there are developers who scoff at the fact that we re even able to use a cushy C-compiler rather than coding in assembly directly!). In addition, the ZNEO controller has a different footprint than the IntelliBrain controller, which would clearly change the dimensions of each of the lego blocks. Clearly, I could scale the assembly to the appropriate size if I had the selection of parts physically before me. However, I feel that choosing a collection of the correct size blocks from an online vendor would prove to be a difficult task. If necessary, I can visit a local retailer of Lego Mindstorm components (such as Toys R Us) to attempt to select the proper parts. A picture of the assembled bot with the Intellibrain controller is below: Lego BalanceBot. Photo from http://www.ridgesoft.com/buildingbots.htm. For an indication of scale, the topmost component is an enclosure for 6 AA batteries. Nuts and Volts Custom Balance Bot A two part article in the hobbyist magazine Nuts and Volts describes the construction and implementation of a self balancing robot. The local hobbyist book store (Reiters) did not carry back orders of the periodical; however I was able to identify the issues that contain the article on the Nuts and Volts website. I did not order the back issues, since I did not feel that the information warranted the shipping lead time. (Assuming I undertake solution 3). I was, however, able to obtain the following picture and description of the device: Spencer Burdette Self Balancing Robot Project Proposal Page 2 of 8

Custom self-balancing robot described in the December 2006 issue of Nuts and Volts. Photo from http://www.nutsvolts.com/toc_pages/dec06toc.htm. From the above diagram, the frame of the balance bot is clearly custom made. While admittedly it does not appear all that complicated to reproduce (and access to the magazine articles themselves would likely yield step-by-step instructions), I believe a more suitable, pre-fabricated platform exists. This alternative, however, remains attractive if the proposed solution below does not develop. Budget Robotics Scooterbot Platform Budgetrobotics.com offers a barebones, wheeled platform capable of supporting a reasonable sized controller and collection of sensors. The base device is shown below: ScooterBot. Photo from http://www.budgetrobotics.com/shop/?shop=1&cat=35&cart=403971. The diameter of the circular deck is 7, and the diameter of each wheel is 2. Spencer Burdette Self Balancing Robot Project Proposal Page 3 of 8

The platform can be extended vertically with riser hardware and an additional deck. One slight complication is that the scooterbot is intended to be a stable platform; whereas a selfbalancing robot requires a platform subject to tipping. I have developed a few potential solutions to this problem: Forward and aft stability of the device is provided by adjustable height-balancing skids. It appears that these skids can be adjusted so as to allow tipping of the device in either direction. In fact, these skids can hopefully be used as training wheels of sorts, and be shortened as the balance control of the device evolves. Ultimately, they can probably be removed from the base altogether. A better view of the skids can be seen in the bottom view of the Scooterbot below: Bottom view of the Scooterbot. Photo from http://www.budgetrobotics.com/shop/?shop=1&cat=35&cart=403971. Another possibility is to increase the ground clearance of the base itself. This can be achieved by fixing the servo mounts to the bottom of the base, rather than the top. The picture below illustrates the proper orientation of the mount. If the entire base were flipped, the base would ride nearer the top of the wheel, rather than the bottom, providing an extra centimeter or so of ground clearance for the base. Servo motor assembly. Photo from http://www.budgetrobotics.com/shop/?shop=1&cat=35&cart=403971. Spencer Burdette Self Balancing Robot Project Proposal Page 4 of 8

As a last resort, I can use a band saw to trim some of the area off of the base platform. The base platform can be trimmed to serve as nothing but a mounting point for the servo motors and for the higher level decks. Software Modules The following is a preliminary set of software modules: SENSOR MODULE Normalized sensor data (format useful to other modules) Accelerometer, gyroscope, or IR sensor input PID CONTROLLER Receive feedback from sensor module. Using PID algorithms and error history, generate suitable position control output to servo motors. TIMER MODULE Timed interrupt generator for sensor sampling, PID processing, and motor control Servo motor PWM output HARDWARE ABSTRACTION LAYER Preliminary Software Block Diagram The hardware abstraction layer provides a C-application-like interface to the other layers by handling all of the low level details of bit manipulations and register assignments that are particular to the hardware components. The sensor module gathers data from the tilt sensor (be it an accelerometer, gyroscope, etc.) and stores it in a device-neutral format that is available to other modules. The timer module maintains a timer that generates the servo motor control signals and a timer that generates the periodic interrupt at which sensor sampling and feedback processing occurs. The PID controller performs calculations on the current (and past) sensor input and generates position control signals for the servo motor. Hardware Components There are two distinct approaches that I have identified regarding the hardware configuration. The first is a design in which all components (controller, sensors, servo motors, and power) are mounted onboard the bot. The power supply (which will most likely be a bank of AA batteries) will reside on the top platform and will serve as the destabilizing load. The second approach mounts only the servo motors and sensors to the bot (in addition to a dummy load for mass). The Zilog controller and power source will be located external to the robot, and will connect to the device through a series of cables. The two physical design approaches are illustrated below. Spencer Burdette Self Balancing Robot Project Proposal Page 5 of 8

Self Contained Balancing Robot Design 6 AA Battery Power Source ZNEO Microcontroller Servo Motor Tilt Sensors Side view of the self-contained balancing robot design. Balancing Robot with External Controller Design Servo output and sensor input connections Dummy load Tilt Sensors Servo Motor Side view of the balancing robot with external controller design. Spencer Burdette Self Balancing Robot Project Proposal Page 6 of 8

Unknowns 1. Until further information about the scooter bot is obtained, it is not 100% clear whether it will be a suitable platform for a balancing project. For example, it may be determined that the scooter bot is intended to be a rock stable base, and modifications to inhibit stability will be difficult. This will hopefully be resolved by a phone conversation with a representative from budgetrobotics.com prior to initiating an order. 2. A portable power source for the Zneo board (such as a bank of AA batteries) needs to be identified and purchased. A more thorough internet search needs to be conducted, particularly on the Zilog manufacturer site itself. 3. The precise type of tilt sensor needs to be identified and purchased. The lego robot project mentioned above utilizes an IR sensor to measure the distance to the ground, as does another balancing robot project that was found on a university website. IR sensors need to be briefly researched and a suitable part purchased. 4. A suitable servo motor control board needs to be identified. The instructor has mentioned several in past conversations, and this can be resolved either by a quick email exchange with the instructor or via an internet search and inspection of the data sheets. 5. I was initially worried about the implementation of the proportional, integral, derivative (PID) controller, but after extensive research on the internet I have come across numerous examples and tutorials of embedded PID implementations. Implementation Plan The most critical part of the project has progressed from a software issue (i.e. concerns about programming the PID controller) to a mechanical issue obtaining a suitable balancing platform. The ZNEO controller board has been ordered and is scheduled to arrive on March 18 th. The platform itself needs to be ordered, and ideally a conversation with a representative from budgetrobotics.com will answer my questions about the stability of the scooterbot. The project can progress loosely as follows: 1. Obtain ZNEO microcontroller, scooterbot platform, tilt sensor, battery pack (or other mobile power source), and servo motor control board. 2. Construct scooterbot and ensure that it is susceptible to tipping when an appropriately weighted load is attached. Make any modifications to the base platform as necessary. 3. Experiment with tilt sensor to understand its behavioral characteristics and develop an API that will shape its outputs into usable data. 4. Experiment with the servo motors to understand their operating characteristics. Develop an API that will position the wheels in a simple and reliable manner. 5. Assemble the components in either the self-contained or external controller configuration as illustrated above. Spencer Burdette Self Balancing Robot Project Proposal Page 7 of 8

6. Protect the device from damage during tipping, either by extending the height-balancing skid plates, or affixing some type of temporary training wheels type supports. This protection will gradually be minimized (and hopefully altogether removed) as the control logic evolves. 7. Perform simple experiments of driving the servo motors based on input from the tilt sensors. Vary the sampling rate and develop a minimum and maximum interval at which the board can receive feedback, process the data, and send output to servos to compensate. 8. Enhance the feedback loop experiment from step 7 above to incorporate additional factors. Ideally, this step will iterate numerous times to evolve the controller to the point that the robot can balance itself. Resources The equipment for the project will be independently purchased. Zilog ZNEO Z16 microcontroller (mouser.com) Scooterbot wheeled platform with additional deck (budgetrobotics.com) Tilt sensor. Most likely an IR sensor (TBD) Servo motor control board (TBD) Portable battery pack (TBD) Spencer Burdette Self Balancing Robot Project Proposal Page 8 of 8