1 A Modular Mobile Robotic Platform As An Educational Tool In Computer Science And Engineering CCCT ‘03 Andrey Shvartsman, Maurice Tedder, and Chan-Jin Chung* Department of Math and Computer Science Lawrence Technological University Southfield, Michigan 48075, USA Copyright Chung 2 Andrey Shvartsman, Maurice Tedder, and Chan-Jin Chung* Dept. of Computer Science Lawrence Technological U. Southfield, Michigan 48075 USA Copyright Chung 3 ChanJin Chung, Ph.D. Changing for the Better Assistant Professor Founder and Organizer of Robofest Dept. of Math and Computer Science, Lawrence Tech University 21000 West 10 Mile Road, Southfield, MI 48075-1058 248-204-3504 248-204-3518 Fax chung@ltu.edu www3.ltu.edu/~chung www.robofest.net Copyright Chung 4 Introducing CogitoBot Copyright Chung 5 CogitoBot II Copyright Chung Why Robotics in Computer Science & Engineering Classes 6 • Encompass the rich nature of integrated systems that includes mechanical, electrical, and computational components • Putting theories into practice • Motivation • Fun Copyright Chung 7 ACM-IEEE 2001 CS Curricular • • • • • • • • • Fundamental issues in Intelligent Systems (1) Search and constraint satisfaction (5) Knowledge representation and reasoning (4) Advanced search Advanced knowledge representation and reasoning Multi-Agents Natural language processing Machine learning and neural networks AI planning systems Copyright Chung Potential Obstacles in introducing Robotics in CS Class 8 • Complex • Un-reliable • Expensive Copyright Chung 9 Our Basic Strategies • Use a laptop for the brain of the robot • Modular and Expandable • Exchangeable (New brain, if you buy a new laptop!) • Affordable; Cost effective (less than $1,000 w/o laptop) • Standard programming interface • Multiple programming language support: C++, Java, etc Copyright Chung Fundamental Components of Autonomous Robots 10 • A brain (or brains) • Body: physical chassis that holds other • • • • pieces Actuators: allows to move. Motors, hydraulic pistons, lamps, etc Sensors Power source Communication Copyright Chung 1st generation LTU laptop Robot in 2002! 11 Copyright Chung 12 The Brain • • • • On board CPU? Desktop? Palm Pilot? Our choice: Laptop & Handy Board Laptop: Pentium III 800Mhz, LTU Laptop Handy Board: 2 MHz Motorola 68HC11 microprocessor, 32K static RAM with Analog and Digital I/O - Interface between sensors and laptop • How to train/educate the brain? Copyright Chung 13 Robot Body • Designed and built from off-the-shelf components • The main body was constructed from MDF 0.75 inches in thickness • The upper body was constructed from particle board 0.25 inches in thickness Copyright Chung 14 Body: Drive Train and Gearing • • • • • Front-wheel drive 8-inch lawn mower wheels 51 Teeth on each wheel Stationary axle Pivoting: wheels rotate freely on the axis in both directions. Zero-turn radius steering • Coupled to 13 tooth gear • 4:1 gear ratio, higher torque • Gear mounted directly on motor shaft Copyright Chung 15 Actuators: Motors and Motor Control • 12V DC worm gear bi-directional high• • • • torque motors Motor Shaft Rotates at 120 RPMs Controlled by a dual channel 30 Amp driver board Commands sent through laptop parallel port A servo motor to rotate a sonar sensor (180 degrees) Copyright Chung 16 Copyright Chung 17 Sensors • 2 IR Distance sensors • 1 Sonar sensor Handy Board • Up to two LogiTech Web Cameras • WAAS (wide area augmentation system) enabled GPS Receiver Copyright Chung 18 Block Diagram Main Control Module (PC) USB Hub Microcontroller (68HC11-Based Handy Board) USB-to-Serial Interface Battery 12V 7ampH Fuse (500mA) Fuse (10A) Logitech Camera Remote E-Stop (RF Module) Vantec Motor Driver Board Left Motor GPS Navigation Module Sensors Manual E- Stop Infrared Distance Sensors Polaroid Sonar Servo Motor Right Motor Copyright Chung 19 Power Source • One 12V 7 Amp battery for motors, motor boards, and Handy Board • Can last for an hour • Manual and remote emergency stop switches are wired • Laptop and GPS unit both have their own rechargeable batteries Copyright Chung 20 Communication • Wireless card on the laptop • The laptop is connected to a virtual private network through a wireless LAN system • MS Speech SDK Copyright Chung Performance Spec. Length Width Height Weight (Without Payload) Weight Distribution (Left/Right/Rear) Motor RPM Motor Voltage Motor Stall Current Motor Stall Torque Motor Power Output Max. Speed Gear Ratio Wheel diameter Traversable Incline Battery Life Waypoint Accuracy Obstacle Detection Distance Maximum IR Sensors Distance Maximum Sonar Distance Reaction Time 3 ft 1.33 ft 2.5 ft 53 lbs 41% / 41% / 18% 188 RPM 24V 4.5Amps 11 ft-lbs 0.1 hp ~ 1 MPH 4:1 8 in. 18 deg 1 Hour < 10 ft 8 ft < 3 ft 7 ft 50 ms 21 Copyright Chung Applications of the robot platform • • • • 22 RoboWaiter RoboHelper RoboTennis … • IGVC competition • How to train the brain? • Software Control Architecture Copyright Chung 23 IGVC • International Intelligent Ground Vehicle Competition • Sponsored by DOD, TACOM, DARPA, GM, … • Obstacle avoidance while following lanes Copyright Chung 24 IGVC Courses Copyright Chung 25 Copyright Chung 26 Copyright Chung 27 Copyright Chung 28 CogitoBot Control Technologies • Vision processing for two cameras • Fuzzy Inference System using Sugeno model • Written in C++ Copyright Chung 29 CogitoBot Vision Processing • Image frame from 2 cameras are concatenated to • • • • form a single frame that is much wider This image frame is then formatted to a grid of 4X12 Each cell is processed to check for lane and obstacle presence Information from all the cells are combined to know the position of Left and Right lanes and the Obstacle Width and position. These information are used as inputs to the Fuzzy Inference System Copyright Chung Sample Image Frame without Obstacle 30 Copyright Chung Sample Image Frame without Obstacle 31 Copyright Chung Sample Image Frame with Obstacle 32 Copyright Chung 33 CogitoBot Vision Processing Left Lane Obstacle Position & Obstacle width Right Lane Copyright Chung 34 Fuzzy Inference System Speed for Motor R Lane center position Obstacle center position Fuzzy Inference System FIS Speed for Motor L Copyright Chung 35 FIS Rules Obstacle Center No obstacle Left Middle Right Far left Hard left Left Left Slight left Left Left Left Left Slight left Middle Straight Slight right Left/right Slight left Right Right Right Hard right Right Far right Hard right Slight right Right Slight right Lane Center Copyright Chung 36 Membership functions for lane center position Far left -6 middle left right Far right -2.5 3 6.5 10 14 7 6 5 6 7 18 Copyright Chung 37 Membership functions Obstacle Edge Position No obstacle -1 0 2 left 2.5 5 middle 6 4 right No obstacle 9.5 5 12 2 13 Copyright Chung 38 CogitoBot II Characteristics • One CCD camera • Gathering training data by teaching the robot • Training of Artificial Neural Network using Evolutionary Computation, ES(1+1) with modified 1/5 rule • Robot Behaves as if it has a Brain Copyright Chung 39 Robot Trainer Copyright Chung 40 Copyright Chung 41 Copyright Chung The Fuzzy Evolutionary Artificial Neural Network 42 Copyright Chung How we become a independent professional expert? 43 1. Supervised learning; learning from instruction 2. Study and memorization 3. Tests and exams, if fail, go to 2 4. On-the-job training (field test) until satisfied Copyright Chung ANN Training Paradigm for CogotoBot 44 // 1. supervised training Gather initial ‘basic’ training dataset labeled by only human trainer; (Use k-NN to verify, because the human trainer may make mistakes. Also redundancy is checked.) // 2. study and memorization Evolve an initial ANN using the training dataset; // 3. Exam and tests Repeat until satisfied { present a new pattern to the robot’s ANN; // note that the robot is not moving if (ANN’s label human trainer’s label) { add the pattern with human’s label to the training dataset after verifying using k-NN; Evolve ANN using previous weight values and the updated training dataset; } } // 4. On-the-job training: field trial. The robot is now moving Copyright Chung 45 Copyright Chung 46 Copyright Chung 47 11th IGVC Competition Results Team Distance Place Completed Awarded Virginia Tech - Optimus 500.0 ft 1st Virginia Tech - Zieg 291.0 ft 2nd University of Florida - TailGator 272.0 ft 3rd Lawrence Tech U – CogitoBot II U of Cincinnati - BearCat III 220.0 ft 4th 193.0 ft 5th Lawrence Tech U - CogitoBot 134.0 ft 6th U of Colorado Denver - CUGAR IV 106.42 ft 7th Copyright Chung Lawrence Tech IGVC’03 team 48 Copyright Chung Interested in getting a CogitoBot? 49 • Please contact Lawrence Tech Robotics Lab • Basic CogitoBot with one Web Camera • chung@ltu.edu Copyright Chung 50 Demo: Line Following Copyright Chung Demo: Obstacle Avoidance while following dashed lanes 51 Copyright Chung 52 Questions? Copyright Chung