Title: ENGR 100 - Robotics Project
1ENGR 100 - Robotics Project
2Presentation Outline
- I. Background Information
- II. Design Project
- III. Engineering (Robot Basics)
- IV. Programming the RCX
3Presentation Outline
- I. Background Information
- II. Design Project
- III. Engineering (Robot Basics)
- IV. Programming the RCX
4Who Builds Robots?
- EE - designs the brain, sensors, actuators
wiring. - ME - designs body, gearing, actuators
- CSE - writes software
- CHEM E - designs (or selects) power supply.
- MATL SCI - materials
- All engineers listed above work together to
design/build robots.
5Robotics made easy?
- Design Problem -
- Design and build a robot to vacuum your house.
What are some of the challenges?
6Design Challenges for Mobile Robots
- Position -
- How does robot know where it is (or has been)?
- Power supply -
- How does it avoid running over cord?
- Navigation -
- How does it navigate around obstacles?
- Object Recognition -
- How does it recognize money, toys, even cats?
7Presentation Outline
- I. Background Information
- II. Design Project
- III. Engineering (Robot Basics)
- IV. Programming the RCX
8Project Objectives
- The goals of this project are for students to
- Build a programmable robot.
- Learn how robotics involves a multitude of skills
and knowledge from many subject areas. - Experience the design process.
- Be introduced to basic computer programming.
- Get excited about Science and Technology.
9Problem Definition
- The objective of this project is to build a
computer controlled robot that can safely deliver
an immobile person through an obstacle course in
the shortest amount of time. - To simulate real world situations, the robot
must be able to climb a small ramp, cross a
street without getting hit by a car, turn
corners, fight off aggressive animals, climb
stairs and free itself from a sandpit.
10Obstacle Course Layout
8 ft
8 1/3 ft
Defender Free Zone
11Programming Tasks
- The RCX can store 3 different programs
- Program 1 - Robotic Wheelchair (do first!)
- Program 2 - Car
- Program 3 - Defender (be creative!)
12Scoring
-Â Â Pts-25 pts for crosswalk, 25 pts for car and
25 pts for defender (that stops wheelchair), 10
pts for each obstacle     RANKING 1. The
competitor with the best score win the
competition and to be awarded the top prize of
100 in cash!!!!!!!!!!!. 2. The WINNER's score
will also get the maximum 20. 3. The scores of
all other teams will be calculated on the basis
of the winner's score. Â
13Rules (see handout for complete listing)
- Robotic wheelchairs cannot be touched once
competition has started. - Malfunctioning defenders and cars will be removed
from course. - Max robot dimensions at start of competition - 1
ft x 1 ft x 1 ft - Wheelchairs and cars sending messages will be
disqualified.
14Design Approaches
- "Top-down" design
- the process of starting with the goal of the
project and then developing a solution. - "Bottom-up" design
- the process of first learning about the available
materials and then determining what can be done
with them.
Add Project Planning and Testing phases to
design process.
15Robotics Project Schedule
16ENGR 100 - Robotics Project Deliverables
- HW
- Simple Pathfinder Test (20)
- Design Specification (10)
- performance test (10- extra credit)
- Final Robot - Score (30)
- Group Final Report (30)
- Team members evaluation (10)
17Homework Assignments
- Go forward for 2.5 second (set the power at 7).
- Go backwards for 3 seconds (set the power at 1)
- Can your robot move? - Maneuver a 30 o turn.
- Avoid obstacles to the left, right, and between
the two tactile sensors as the robot moves
forward. - Halt for 5 s when the light intensity reaches
50. - Stop after receiving Message 1 and move forward
after receiving Message 2 from the Master
Controller.
18Presentation Outline
- I. Background Information
- II. Design Project
- III. Engineering (Robot Basics)
- IV. Programming the RCX
19Robot Basics - Sensors Motors
- 3Input/3Output Ports
- 2Touch sensors
- 1Light sensors
- 3Motors
- RCX signals
Tips - Use view mode to check light sensor.
Battery power affects speed of motors. Batteries
run out fast! Dont block infrared sensor.
20Robot 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).
21Example of 4 Wheel Drive
4 wheel drive
22Robot Basics - Control Structures
- No matter what language you use, there are 3
basic control structures for organizing the
programming commands - Selection
- Repetition (Loops)
- Conditional
23Selection
- Selection statements are defined as a list of
commands that are executed in order. - For example
- Set Forward Direction
- Go forward for 3 s
- Stop
24Repetition
- 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
25Conditional
- 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.
26Example of Conditional Statements
- For example -
- If the light is lt50
- Set Direction Forward
- Move Forward for 3 s
- Stop
- Else If light is gt 50
- Stop
- End
27Quiz
- 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.
28Presentation Outline
- I. Background Information
- II. Design Project
- III. Engineering (Robot Basics)
- IV. Programming the RCX
29How To Write Programs
- Click on Program RCX.
- Stack puzzle pieces.
- Move unused pieces to the trash.
- Download program to the RCX.
30RCX 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!
31Demo Robot
Robot backs up for 1 s. Both motors stop in
preparation of power change. Power increases to
overcome wheel friction when turning. Wheel A
changes to forward, so robot turns to the right
for .1 s. Power decreases to protect sensors when
robot bumps objects. Wheel C changes to forward,
so robot moves forward.
32RCX Program Code
- Commands
- Sensor Watchers
- Stack Controllers
- My Commands
See Info on RCX Code link on web site.
33How To Download Firmware
- Click on getting started and then set up
options
34How To Download Firmware
35How To Download Programs
Select button to download
Select program number (1-5)
36How To Save Programs
37Features 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.
38NQC (Not Quite C) Programming
See Tutorial for Robots using NQC
39Additional information
- Links to homemade sensors and NCQ programming
- Tips on hardware and software
40references
- LEGO MINDSOTRMS Robot , Jonathan B. Kundsen ,
1st edition, 1999, OReilly - http//www.crynwr.com/lego-robotics/
- http//www.plazaearth.com/usr/gasperi/lego.htmbac
kground - http//www.oreilly.com/catalog/lmstorms/resources/
index.html - http//member.nifty.ne.jp/mindstorms/Gallery
- http//www.robotbooks.com/
41Interesting Lego related websites
- (many links) http//www.oreilly.com/catalog/lmstor
ms/resources/index.html - (interesting sites for ideas) http//member.nifty.
ne.jp/mindstorms/Gallery - http//www.mi-ra-i.com/JinSato/MindStorms/index-e.
html - http//staticip.cx/benw/lego/
- http//www.verinet.com/dlc/botlinks.htm
- http//www.medialab.nl/Company/Crew/daan/legodiff.
htm - http//www.mindspring.com/clagett/bill/lego/geome
try/index.html - http//www.robotbooks.com/
- (good introduction to gear and beam construction)
http//ldaps.ivv.nasa.gov/Curriculum/legoengineeri
ng.html - http//www.fischermellbin.com/Marcus/Lego/Gear_Mth
/gear_math.html - http//phred.org/alex/lego/
- (ideas for sensors)
- http//www.plazaearth.com/usr/gasperi/lego.htmbac
kground - http//www.umbra.demon.co.uk/legopages.html
- http//www.primenet.com/johnkit/Projects.html
- http//www.mnsinc.com/wesmat/TouchSensor.html
- http//www.daimi.au.dk/mic/speciale/RCX
- http//www.crynwr.com/lego/lego-robotics/extreme-r
otation-sensor.htm - http//www.csepainball.com/chris/radarbot.html