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
10 pts
1
1ft
ft
10 pts
10 pts
10 pts
10 pts
Additional points each round - 10 pts for
Crosswalk, 10 pts for Car, and 20 pts for
Defender (that stops wheelchair). Base Pts At
some point before competition day, each teams
robot must complete the entire course (high score
recorded)!
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.
15Robotics Project Schedule
Due Mon. Dec. 17 Robot Report (25) Reflection
Paper (10)
16Homework Assignments
- Go forward.
- Go backwards.
- Maneuver a 30 o turn.
- Avoid obstacles.
- Halt for 5 s after crossing dark line.
- Stop and go after receiving signal from Master
Controller.
17Presentation Outline
- I. Background Information
- II. Design Project
- III. Engineering (Robot Basics)
- IV. Programming the RCX
18Robot Basics - Sensors Motors
- Input/Output Ports
- Touch sensors
- Light sensors
- Motors
- RCX signals
Tips - Use view mode to check light sensor.
Battery power affects speed of motors. Batteries
run out fast! Dont block infrared sensor.
19Robot 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).
20Example of 4 wheel drive
4 wheel drive
21Robot Basics - Control Structures
- No matter what language you use, there are 3
basic control structures for organizing the
programming commands - Sequential
- Repetition (Loops)
- Conditional
22Sequential
- 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
23Repetition
- 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
24Conditional
- 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.
25Example 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
26Quiz
- 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.
27Presentation Outline
- I. Background Information
- II. Design Project
- III. Engineering (Programming and Gears)
- IV. Programming the RCX
28How To Write Programs
- Click on Program RCX.
- Stack puzzle pieces.
- Move unused pieces to the trash.
- Download program to the RCX.
29RCX 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!
30Demo 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.
31RCX Program Code
- Commands
- Sensor Watchers
- Stack Controllers
- My Commands
See Info on RCX Code link on web site.
32How To Download Firmware
- click on Getting Started and then Set Up
Options
33How To Download Firmware
34How To Download Programs
Select button to download
Select program number (1-5)
35How To Save Programs
36Features 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.
37NQC (Not Quite C) Programming