Presentation Outline I. Background Information II. Design Project III. Engineering (Robot Basics)
What is a Robot? • A machine • Have some IQs • Can do certain tasks
Robotics made easy? Design Problem - Design and build a robot to vacuum your house. What are some of the challenges?
Design Challenges for Mobile Robots • Position -How does robot know where it is (or has been to)? • Navigation -How does it navigate around obstacles? • Object recognition -How does it recognize money, toys, even cats? • Power supply -How does it avoid running over cord?
Who Builds Robots? • ME - designs body, gearing, actuators. • EE / CSE- software, sensor (designs the ” brain & feel”), actuators & wiring. • CHEM E / MAT’L SCI - designs (or selects) power supply, materials. All engineers listed above work together to design/build robots.
Project Objectives The goals of this project are to: • Get excited about Science and Technology. • Be introduced to basic computer programming. • Experience the design process. • Build a programmable robot. • Learn how robotics involves a multitude of skills and knowledge from many subject areas.
To build a computer controlled wheelchair robot that can safely deliver an immobile person through an obstacle course in the shortest amount of time. Also, you have to build two other robots to perform like a car, and an unfriendly cat/dog on the street (The defender). Problem Definition
Three different tasks: Robotic Wheelchair, Car, The defender. Three different programs: Program 1 - Robotic Wheelchair (do first!) Program 2 - Car Program 3 – Dog/Cat. The defender (be creative!) Tasks
8 ft 1 ft 1ft 4 ft 8 1/3 ft 68” 4 ft Defender Free Zone 2 ft Obstacle Course Layout
Scoring for performance grading 10 pts 10 pts 10 pts 10 pts 10 pts Base Pts – At some point before competition day, each team’s robot must complete the entire course. Additional points each round - 20 pts for Crosswalk, 20 pts for Car, and 20 pts for Defender.
Rules (see handout for complete listing) • Robotic wheelchairs cannot be touched once competition has started. • Malfunctioning defenders and cars will be removed from the course. • Max robot dimensions at start of competition - 1 ft x 1 ft x 1 ft • Wheelchairs and cars sending messages will be disqualified. Defenders not limited.
Project flow • Know the project goals/requirements. • Learn RCX programming/Gather ideas for robot design. • Build a pathfinder. • Test run. • Final competition.
Robot Basics - Sensors & Motors • Input/Output Ports • Touch sensors • Light sensor • Motors • RCX signals Tips - Use view mode to check light sensor. Battery power affects speed of motors. Batteries run out fast! Don’t block infrared sensor.
Robot Basics - Gears • Speed • Torque (climb over obstacles) • Turns Tips - Try different size gear combinations, different types of gears (worm), and different motor placement (rear wheel drive or 4 wheel drive).
Robot basics - Control Structures No matter what language you use, there are 3 basic control structures for organizing the programming commands: • Sequential • Repetition (Loops) • Conditional
Sequential • Sequential statements are defined as a list of commands that are executed in order. • For example: Set Forward Direction Go forward for 3 s Stop
Repetition • Repetition statements allow for a series of commands to be repeated for a set number times. • For example: Repeat 3 times Set forward direction Move forward for 3 s Stop End Repeat
Conditional • Conditional statements allow for two (or more) different sets of commands to be executed depending on a condition. • For example, • If certain conditions are true - one set of commands will be execute. • Else if any (or all) are false - another set of commands will be executed.
Example of Conditional Statements • For example - • If the light is <50% Set Direction Forward Move Forward for 3 s Stop • Else If light is >= 50% Stop • End
Quiz • What are the 3 types of control structures? • Which would work best for the following situations - • Robotic wheelchair executes a left turn. • Robot wheelchair backs up if it hits the wall. • Car moves back and forth across crosswalk.
RCX Programming Commands: Tell robot what to do (e.g. stop, go, turn, etc.). Sensor Watchers: Test conditions (e.g. light, touch, count) and determine actions based on conditions. Stack Controllers: Allows robot to repeat commands or wait until condition is true. My Commands: Makes several actions a “subroutine” which can be used as a single command. See handout for more information!
Before using- Download Firmware • click on “Getting Started” and then “Set Up Options”
Features of RCX software • Multi-threaded language • Different parts of the program execute at the same time. • Can cause unexpected results! • Loops in main program interfere with subprogram. • Variables limited to 1 or 0 • Use counter as variable. • Not Quite C (NQC) language allows for more variables.
That’s all ! Happy robot building and competition!
What are we going to do today? • Find your group. • Get your robot. • inventory • Plan your project. • Gantt chart • Share your work • Learn how to build a robot and communicate with it~