Copyright Chung 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 USA
Copyright Chung 3 Assistant Professor Founder and Organizer of Robofest Dept. of Math and Computer Science, Lawrence Tech University West 10 Mile Road, Southfield, MI Fax www3.ltu.edu/~chung ChanJin Chung, Ph.D. Changing for the Better
Copyright Chung 4 Introducing CogitoBot
Copyright Chung 5 CogitoBot II
Copyright Chung 6 Why Robotics in Computer Science & Engineering Classes 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 8 Potential Obstacles in introducing Robotics in CS Class 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 10 Fundamental Components of Autonomous Robots 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 11 1 st generation LTU laptop Robot in 2002!
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 Up to two LogiTech Web Cameras WAAS (wide area augmentation system) enabled GPS Receiver Handy Board
Copyright Chung 18
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 21 Performance Spec.
Copyright Chung 22 Applications of the robot platform RoboWaiter RoboHelper RoboTennis … IGVC competition How to train the brain? Software Control Architecture
Copyright Chung 23 IGVC International I ntelligent G round V ehicle C ompetition 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 30 Sample Image Frame without Obstacle
Copyright Chung 31 Sample Image Frame without Obstacle
Copyright Chung 32 Sample Image Frame with Obstacle
Copyright Chung 33 CogitoBot Vision Processing Left Lane Right Lane Obstacle Position & Obstacle width
Copyright Chung 34 Fuzzy Inference System FIS Lane center position Obstacle center position Speed for Motor R Speed for Motor L
Copyright Chung 35 Obstacle Center Lane Center No obstacleLeftMiddleRight Far leftHard leftLeft Slight left Left Slight left MiddleStraightSlight rightLeft/rightSlight left Right Hard rightRight Far rightHard rightSlight rightRightSlight right FIS Rules
Copyright Chung Far left left middlerightFar right Membership functions for lane center position
Copyright Chung No obstacle left middlerightNo obstacle Membership functions Obstacle Edge Position
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 42 The Fuzzy Evolutionary Artificial Neural Network
Copyright Chung 43 How we become a independent professional expert? 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 44 ANN Training Paradigm for CogotoBot // 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 robots ANN; // note that the robot is not moving if (ANNs label human trainers label) { add the pattern with humans 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 th IGVC Competition Results TeamDistance Completed Place Awarded Virginia Tech - Optimus500.0 ft1st Virginia Tech - Zieg291.0 ft 2nd University of Florida - TailGator272.0 ft 3rd Lawrence Tech U – CogitoBot II ft 4th U of Cincinnati - BearCat III193.0 ft 5th Lawrence Tech U - CogitoBot134.0 ft 6th U of Colorado Denver - CUGAR IV ft 7th
Copyright Chung 48 Lawrence Tech IGVC03 team
Copyright Chung 49 Interested in getting a CogitoBot? Please contact Lawrence Tech Robotics Lab Basic CogitoBot with one Web Camera
Copyright Chung 50 Demo: Line Following
Copyright Chung 51 Demo: Obstacle Avoidance while following dashed lanes
Copyright Chung 52 Questions?