engr 100 - robotics project
DESCRIPTION
ENGR 100 - Robotics Project. Presentation Outline. I. Background Information II. Design Project III. Engineering (Robot Basics) IV. Programming the RCX. Presentation Outline. I. Background Information II. Design Project III. Engineering (Robot Basics) - PowerPoint PPT PresentationTRANSCRIPT
ENGR 100 - Robotics Project
Presentation Outline
I. Background InformationII. Design ProjectIII. Engineering (Robot Basics)
IV. Programming the RCX
Presentation Outline
I. Background InformationII. Design ProjectIII. Engineering (Robot Basics)
IV. Programming the RCX
Who Builds Robots?EE - designs “the brain”, sensors, actuators &
wiring. ME - designs body, gearing, actuators
CSE - writes software
CHEM E - designs (or selects) power supply.
MAT’L SCI - materials
All engineers listed above work together to design/build robots.
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)?
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?
Presentation Outline
I. Background InformationII. Design ProjectIII. Engineering (Robot Basics)
IV. Programming the RCX
Project 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.
Problem 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.
Obstacle Course Layout
4 ft
4 ft
1 ft 1ft
2 ft
68”
8 ft
8 1/3 ft
Defender Free Zone
Programming Tasks
The RCX can store 3 different programs:
Program 1 - Robotic Wheelchair (do first!)Program 2 - CarProgram 3 - Defender (be creative!)
Scoring
ExT
T
Pts
PtsScore )%(25)%(75 min
max
1ft
1ft10 pts
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 team’s robot must complete the entire course (high score recorded)!
Rules (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.
Design 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.
Robotics Project Schedule
Due Mon. Dec. 17: Robot Report (25%)& Reflection Paper (10%)
Nov. 19Gears/ Programming
Due: Programming Assignment (HW)
Nov. 21 Build a Simple Pathfinder
Due: Web Site Research (HW)
Nov. 23HOLIDAY!
Nov. 26
Program Simple Pathfinder
Nov. 28Program Pathfinder
Nov. 30RCX Code/NQC
Due: Simple Pathfinder (HW)
Dec. 3
Robot Construction
Dec. 5Robot Construction
Dec. 7Robot Testing
Due: Draft Report
Dec. 10Robot Testing
Dec. 12Robot CompetitionDue: Final Robot
Homework 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.
Simple Pathfinder Tasks
Presentation Outline
I. Background InformationII. Design ProjectIII. Engineering (Robot Basics)
IV. Programming the RCX
Robot Basics - Sensors & Motors
Input/Output PortsTouch sensorsLight sensorsMotorsRCX 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
SpeedTorque (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).
Example of 4 wheel drive
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
SequentialSequential statements are defined
as a list of commands that are executed in order.
For example:Set Forward DirectionGo forward for 3 sStop
RepetitionRepetition statements
allow for a series of commands to be repeated for a set number times.
For example:Repeat 3 times
Set forward directionMove forward for 3 sStop
End Repeat
ConditionalConditional 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 StatementsFor example -
If the light is <50% Set Direction ForwardMove Forward for 3 sStop
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.
Presentation Outline
I. Background InformationII. Design ProjectIII. Engineering (Programming and
Gears)
IV. Programming the RCX
How To: Write Programs
• Click on “Program RCX.”
• Stack puzzle pieces.
• Move unused pieces to the trash.
• Download program to the RCX.
RCX Programming
Sensor Watchers: Test conditions (e.g. light, touch, count) and determine actions based on conditions.
Commands: Tell robot what to do (e.g. stop, go, turn, etc.).
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!
Demo 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.
RCX Program Code
• Commands
• Sensor Watchers
• Stack Controllers
• “My Commands”
See “Info on RCX Code” link on web site.
NEW
How To: Download Firmware
click on “Getting Started” and then “Set Up Options”
How To: Download Firmware
How To: Download Programs
Select button to download
Select program number (1-5)
How To: Save Programs
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.
NQC (Not Quite C) Programming